Compare commits
127 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a0016f001c | ||
|
|
ca532f271f | ||
|
|
89402fd097 | ||
|
|
75451743aa | ||
|
|
b4d9a6a507 | ||
|
|
335afa56a1 | ||
|
|
485592bdac | ||
|
|
ee9289fc24 | ||
|
|
a0c281a0a9 | ||
|
|
ad0b0858f6 | ||
|
|
c2191872ac | ||
|
|
5f361413bb | ||
|
|
3414026828 | ||
|
|
7089fae0d5 | ||
|
|
80bdf1e19c | ||
|
|
e0c1f2a31a | ||
|
|
92cfa2b033 | ||
|
|
877cd5968c | ||
|
|
b39464a7d1 | ||
|
|
52332e5821 | ||
|
|
3b9d3fd233 | ||
|
|
6d9a59c60b | ||
|
|
39e0977231 | ||
|
|
f8f140090f | ||
|
|
f063f7b2d3 | ||
|
|
60306f146f | ||
|
|
3b873b7cb2 | ||
|
|
26d44ea030 | ||
|
|
b369751a75 | ||
|
|
6e2cd81c9f | ||
|
|
e953bd40eb | ||
|
|
233ae99d3f | ||
|
|
ddca5ef25a | ||
|
|
ae88f286a6 | ||
|
|
25af0c4302 | ||
|
|
96b398867b | ||
|
|
97d1c49a3c | ||
|
|
e83dfd3d5a | ||
|
|
1142af853d | ||
|
|
4d502fe073 | ||
|
|
b022333df1 | ||
|
|
725b2188aa | ||
|
|
1f20d19aea | ||
|
|
ec9f91519d | ||
|
|
ae4e3e2d33 | ||
|
|
b931493d2f | ||
|
|
7b0c07533b | ||
|
|
33f0d64971 | ||
|
|
d10592a397 | ||
|
|
641937f952 | ||
|
|
b5ed309405 | ||
|
|
9bfbd7c953 | ||
|
|
57924afa3f | ||
|
|
76f11099b7 | ||
|
|
efcf802682 | ||
|
|
b095840dc8 | ||
|
|
5f9370da9a | ||
|
|
7a6eb08e53 | ||
|
|
865c3f28d5 | ||
|
|
d5916f3bc3 | ||
|
|
3ce870fb19 | ||
|
|
a575284bfe | ||
|
|
89d79fdc65 | ||
|
|
05c0fd2f40 | ||
|
|
bc3c2c46a8 | ||
|
|
3d69e9c763 | ||
|
|
9f5a0ca4e9 | ||
|
|
43245681fe | ||
|
|
9d214a77d7 | ||
|
|
5134aca723 | ||
|
|
40405332ec | ||
|
|
8d61f3b479 | ||
|
|
bd15287420 | ||
|
|
5dfc3fd576 | ||
|
|
1e80bdf19f | ||
|
|
76cd7ba8d1 | ||
|
|
1dfa0d08de | ||
|
|
1fc9c82aaf | ||
|
|
600a2b5ad7 | ||
|
|
cb60556ac0 | ||
|
|
62f683b871 | ||
|
|
f22d32c15e | ||
|
|
a3d8586199 | ||
|
|
0a471441cc | ||
|
|
73149123b4 | ||
|
|
5c6f2171f4 | ||
|
|
fd973038bb | ||
|
|
b7dff91d01 | ||
|
|
e314d199f0 | ||
|
|
3938c199f6 | ||
|
|
962eef4a1d | ||
|
|
97443a86cb | ||
|
|
7137616224 | ||
|
|
444825a5c1 | ||
|
|
986deaa6c7 | ||
|
|
7b27903de2 | ||
|
|
8b9be6eafe | ||
|
|
da336ea412 | ||
|
|
f1cf95d412 | ||
|
|
6642a3e9ad | ||
|
|
49db7773e8 | ||
|
|
9372819fb8 | ||
|
|
9d07d81551 | ||
|
|
3c9bcf05e2 | ||
|
|
3338da2a91 | ||
|
|
b31858a64f | ||
|
|
8f2a8dc9ba | ||
|
|
44e54cd4df | ||
|
|
36c41557ea | ||
|
|
d0d72101ab | ||
|
|
7b41d65fa6 | ||
|
|
5f9000db92 | ||
|
|
de031b1ddb | ||
|
|
58f46bb75f | ||
|
|
d1e07ec0a2 | ||
|
|
0d4716f3b4 | ||
|
|
1880c32f90 | ||
|
|
6d72c08d63 | ||
|
|
95ac1b2c21 | ||
|
|
a33fd45136 | ||
|
|
a1ea393f35 | ||
|
|
14c943adfe | ||
|
|
fb84b4b7c1 | ||
|
|
4089ee424c | ||
|
|
9bf010e222 | ||
|
|
0553fb6b79 | ||
|
|
4bb6a25055 |
17
.github/workflows/gradle.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
name: Java CI
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v1
|
||||||
|
- name: Set up JDK 1.8
|
||||||
|
uses: actions/setup-java@v1
|
||||||
|
with:
|
||||||
|
java-version: 1.8
|
||||||
|
- name: Run unit tests with gradle
|
||||||
|
run: ./gradlew test
|
||||||
5
.gitignore
vendored
@@ -19,10 +19,9 @@ logs/
|
|||||||
/tools/build/
|
/tools/build/
|
||||||
/tests/build/
|
/tests/build/
|
||||||
/server/build/
|
/server/build/
|
||||||
|
changelog
|
||||||
/test_files/
|
/test_files/
|
||||||
/annotations/build/
|
/annotations/build/
|
||||||
/desktop-sdl/build/
|
|
||||||
desktop-sdl/build/
|
|
||||||
/android/assets/mindustry-maps/
|
/android/assets/mindustry-maps/
|
||||||
/android/assets/mindustry-saves/
|
/android/assets/mindustry-saves/
|
||||||
/core/assets/gifexport/
|
/core/assets/gifexport/
|
||||||
@@ -33,7 +32,9 @@ desktop-sdl/build/
|
|||||||
ios/robovm.properties
|
ios/robovm.properties
|
||||||
packr-out/
|
packr-out/
|
||||||
config/
|
config/
|
||||||
|
changelog
|
||||||
*.gif
|
*.gif
|
||||||
|
/core/assets/saves/
|
||||||
|
|
||||||
version.properties
|
version.properties
|
||||||
|
|
||||||
|
|||||||
25
.travis.yml
@@ -1,28 +1,43 @@
|
|||||||
jdk:
|
jdk:
|
||||||
- openjdk8
|
- openjdk8
|
||||||
|
dist: trusty
|
||||||
|
android:
|
||||||
|
components:
|
||||||
|
- android-29
|
||||||
|
- build-tools-29.0.2
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
|
||||||
|
- cd ../MindustryBuilds
|
||||||
|
- echo ${TRAVIS_BUILD_NUMBER} > version.txt
|
||||||
|
- git add .
|
||||||
|
- git commit -m "Updating to build ${TRAVIS_BUILD_NUMBER}"
|
||||||
|
- git tag ${TRAVIS_BUILD_NUMBER}
|
||||||
|
- git config --global user.name "Build Uploader"
|
||||||
|
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then git push https://Anuken:${GH_PUSH_TOKEN}@github.com/Anuken/MindustryBuilds ${TRAVIS_BUILD_NUMBER}; fi
|
||||||
|
- cd ../Mindustry
|
||||||
- git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
- git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
||||||
- "./gradlew test"
|
- "./gradlew test"
|
||||||
- "./gradlew desktop:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
- "./gradlew desktop:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
||||||
- "./gradlew server:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
- "./gradlew server:dist -Pbuildversion=${TRAVIS_TAG:1}"
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
- provider: releases
|
- provider: releases
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
draft: false
|
draft: false
|
||||||
api_key:
|
api_key:
|
||||||
secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg=
|
secure: Cv5wFtWt62/A24EvSEQvMow7gKPbZ3oATEFPuSghhB2TQz1dA40Zee3Qvk4LFlpLrhYo4K0ZSczCZRGpR+hCd8+Dpww52bheYEvWuh3ZQfvu/fXtEx2j5PwP1qMpmIgSxETV/gkD7l9FImdh0VzktYiAvQfmi0bEocG9/D4QwjFpNat7iwBdcMiw1MvAygpdIWRsjiw0RKlB2mWarmoHhQ7Gu7qlU3j50uaEvcrtmU0pBUPggNQwQRv32i9NPvNFxrqqlUjDLIS8JFea99zCkp8BwYqbEvBIMzd+Qip1/stLJJA3+cDUClbsDtg8rAVetzpOrdLEEBmqShFe5MDl2yEHcsgpN9CFsyTaUfvB3P3rVjizvycMm42IsUkXQiarm5xTQ/TIA8Rd8AHiSKuweNCg1Fd5SFaRtKy8JVLXuxyfUccmyje6hhz2L4lS2Wfj3mAG7sqZUCXhWP79EKdGkiPOjKv4CwXEKmuH3BMVqPlNUZJr9Eg3sV1FG0h2l+MVOOnR635qdUbb49sYojYxVruMLX0BH1c4ZCu230m8CUoWA1Em1QNI75ya7+9Y5T6AsgWDVpBvdUo9fWNbdp+VQ0GskFQsJD5wtnxbcbHeFiERAgGBm7z6qt9u9LrQpBH+dsW52ADvYsu3L4nQEa+sdMHwTTwmGY+iUvsxu0DqxGg=
|
||||||
file:
|
file:
|
||||||
- desktop/build/libs/desktop-release.jar
|
- desktop/build/libs/Mindustry.jar
|
||||||
- server/build/libs/server-release.jar
|
- server/build/libs/server-release.jar
|
||||||
on:
|
on:
|
||||||
repo: Anuken/Mindustry
|
repo: Anuken/Mindustry
|
||||||
tags: true
|
tags: true
|
||||||
- provider: script
|
- provider: script
|
||||||
script: bash update_wiki.sh
|
script: bash update_wiki.sh
|
||||||
on:
|
on:
|
||||||
repo: Anuken/Mindustry
|
repo: Anuken/Mindustry
|
||||||
tags: true
|
tags: true
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
secure: TqlUl/ojjkCMVOGbCTKz7Cnr4F08UyWzY/CiJ0vvUOGJGZ1qm7XavAlDf5XT0egU4mvr37THubFO8vojbqmrmy0oZnYh3njKFA8axgyZ8PyKkjGHOfd0i6qyEWsOr9H90/2X8r3LwEeLaDFyHpu3wljIGBjweg53g2qwmDwCFa9UR80FJZ+xDB+rD6B3cXT0DTEkCoLZXLqXm0Y3HvBdSuBL1LR/FNb2BSxNq+tNLGiz1kdQZV5erausbbZypBoGxzz63xAnyz2kkFz73A8xQYVTzGbFodTPz7HM13GVZ5s43I03Y+HYyHBgBaSLziO2hi2kzVJccOwzBp7wS4fs1MqsFY5+IeWJ9k+hm89NiYT7+6zlEgoUMlIniny1qLqWTzx7btUeuC/y/h5TVBNgaV+z0jmHycHfeSyq5I+vmX4J8qe3wmaN8TcdqYKU5nIznOTk3CM5Fzu0Bs9vkCkOxmormmcjMFW1RbdOLc/hpZWZggsBA88sNEAI8eq+r5QEeqzeCx8YKoZDjdrsqvgLMc3El3gS9oMGxkn0Y/TEcqs9Tc4BXtTkqIA68hD0DYzlAxYjVbbkAI9Hh9lHNvV3Dr/oCkGXQ/HflM143kj1L3tSBZpqeqQE2XhngB5nqpS3OZTmZbMTQ8qD2luU18yaTGMLF5tJS/fdKPRx0gQ1kL8=
|
- secure: TqlUl/ojjkCMVOGbCTKz7Cnr4F08UyWzY/CiJ0vvUOGJGZ1qm7XavAlDf5XT0egU4mvr37THubFO8vojbqmrmy0oZnYh3njKFA8axgyZ8PyKkjGHOfd0i6qyEWsOr9H90/2X8r3LwEeLaDFyHpu3wljIGBjweg53g2qwmDwCFa9UR80FJZ+xDB+rD6B3cXT0DTEkCoLZXLqXm0Y3HvBdSuBL1LR/FNb2BSxNq+tNLGiz1kdQZV5erausbbZypBoGxzz63xAnyz2kkFz73A8xQYVTzGbFodTPz7HM13GVZ5s43I03Y+HYyHBgBaSLziO2hi2kzVJccOwzBp7wS4fs1MqsFY5+IeWJ9k+hm89NiYT7+6zlEgoUMlIniny1qLqWTzx7btUeuC/y/h5TVBNgaV+z0jmHycHfeSyq5I+vmX4J8qe3wmaN8TcdqYKU5nIznOTk3CM5Fzu0Bs9vkCkOxmormmcjMFW1RbdOLc/hpZWZggsBA88sNEAI8eq+r5QEeqzeCx8YKoZDjdrsqvgLMc3El3gS9oMGxkn0Y/TEcqs9Tc4BXtTkqIA68hD0DYzlAxYjVbbkAI9Hh9lHNvV3Dr/oCkGXQ/HflM143kj1L3tSBZpqeqQE2XhngB5nqpS3OZTmZbMTQ8qD2luU18yaTGMLF5tJS/fdKPRx0gQ1kL8=
|
||||||
|
- secure: VEskj/0TVX2o7iUVXuVPysj/VSWmPhDl57SrT7/nBNN/P/8N5jFAvx8PMzG7qT0S5FzKxuV20psE4WylUGRKdeRtK7/QNBV7T3YqYYM6BUB1VeRpxe5hLxTeuBK3izglFO8DkdDqjUtzQSjzkoYT75ilROjhBrBUPhVek7UlbBHbaklPWYFXHnJmYS1FpZTdzqIj+Y0Gd1PSL2MzK4X74aAHl0qaDgsTwYwtKs7IAz+kFaTZBRpi9VjQHAFhDlkDR3jo9wQjH8/F6x0lCgV/FulSc37Okdb40sLFG98xcEA6gWh1NPMkz8CulUdVE7mj7SJNxLbNvoMNrWOVRjmEsn59p/9LiNC1F9ncFz9vjQjAmi7rMFFGHGxe5nn8cIAkpTvHQQkZoWHAA9SNJTDMMf09m2pRy/vvzx+a6NVxyC9iNrhLlnBg4gxAqRh0S6NU0uL+fuygKixn7rqlnb7KMT7bAbfcuV+dng6c8V7hYKDCh7sJbH8iJump1xkwoM7ecnU8fxJF/oKOr/fbk0Bfxu+Q9qYLrV1+DEdm93Vl2Thq+DBKmI66jRGSva6HeCLFo81PEiEjP1nLv75+kvVfOqVqJrZD1BrvoG2eWT/3hVLrN2kEIWWlpvQVC7FL11yWmYtAuOBh/vfhI76zKr+YTS6ccG9rqW4XeYjJytshe8M=
|
||||||
|
|||||||
14
README.md
@@ -36,10 +36,18 @@ If the terminal returns `Permission denied` or `Command not found` on Mac/Linux,
|
|||||||
---
|
---
|
||||||
|
|
||||||
Gradle may take up to several minutes to download files. Be patient. <br>
|
Gradle may take up to several minutes to download files. Be patient. <br>
|
||||||
After building, the output .JAR file should be in `/desktop/build/libs/desktop-release.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds.
|
After building, the output .JAR file should be in `/desktop/build/libs/Mindustry.jar` for desktop builds, and in `/server/build/libs/server-release.jar` for server builds.
|
||||||
|
|
||||||
### Downloads
|
### Downloads
|
||||||
|
|
||||||
<a href="https://anuke.itch.io/mindustry"><img src="https://static.itch.io/images/badge.svg" width="auto" height="75"></a>
|
[<img src="https://static.itch.io/images/badge.svg"
|
||||||
|
alt="Get it on Itch.io"
|
||||||
|
height="60">](https://anuke.itch.io/mindustry)
|
||||||
|
|
||||||
<a href="https://play.google.com/store/apps/details?id=io.anuke.mindustry&hl=en"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Get_it_on_Google_play.svg/1280px-Get_it_on_Google_play.svg.png" width="auto" height="75"></a>
|
[<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png"
|
||||||
|
alt="Get it on Google Play"
|
||||||
|
height="80">](https://play.google.com/store/apps/details?id=io.anuke.mindustry)
|
||||||
|
|
||||||
|
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
|
||||||
|
alt="Get it on F-Droid"
|
||||||
|
height="80">](https://f-droid.org/packages/io.anuke.mindustry/)
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ buildscript{
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
classpath 'com.android.tools.build:gradle:3.4.2'
|
classpath 'com.android.tools.build:gradle:3.4.1'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,8 +50,8 @@ task deploy(type: Copy){
|
|||||||
}
|
}
|
||||||
|
|
||||||
android{
|
android{
|
||||||
buildToolsVersion '28.0.3'
|
buildToolsVersion '29.0.2'
|
||||||
compileSdkVersion 28
|
compileSdkVersion 29
|
||||||
sourceSets{
|
sourceSets{
|
||||||
main{
|
main{
|
||||||
manifest.srcFile 'AndroidManifest.xml'
|
manifest.srcFile 'AndroidManifest.xml'
|
||||||
@@ -70,27 +70,15 @@ android{
|
|||||||
}
|
}
|
||||||
|
|
||||||
defaultConfig{
|
defaultConfig{
|
||||||
def vfile = file('../core/assets/version.properties')
|
Integer vcode = new Properties().with{p -> p.load(new FileInputStream(file('../core/assets/version.properties'))); return p }['androidBuildCode']?.toInteger() ?: 1
|
||||||
|
def versionNameResult = "$versionNumber-$versionType-${getBuildVersion().replace(" ", "-")}"
|
||||||
def code = 0
|
|
||||||
def versionNameResult = "unknown"
|
|
||||||
|
|
||||||
if(vfile.exists()){
|
|
||||||
def props = new Properties()
|
|
||||||
props.load(new FileInputStream(vfile))
|
|
||||||
|
|
||||||
code = (props['androidBuildCode'] == null ? 0 : props['androidBuildCode']).toInteger() + 1
|
|
||||||
|
|
||||||
props['androidBuildCode'] = code.toString()
|
|
||||||
props.store(vfile.newWriter(), "Autogenerated file. Do not modify.")
|
|
||||||
versionNameResult = "$versionNumber-$versionType-${props['build'].replace(" ", "-")}"
|
|
||||||
}
|
|
||||||
|
|
||||||
applicationId "io.anuke.mindustry"
|
applicationId "io.anuke.mindustry"
|
||||||
minSdkVersion 14
|
minSdkVersion 14
|
||||||
targetSdkVersion 28
|
targetSdkVersion 29
|
||||||
versionCode code
|
|
||||||
versionName versionNameResult
|
versionName versionNameResult
|
||||||
|
versionCode vcode
|
||||||
}
|
}
|
||||||
|
|
||||||
compileOptions{
|
compileOptions{
|
||||||
|
|||||||
@@ -1,32 +1,28 @@
|
|||||||
package io.anuke.mindustry;
|
package io.anuke.mindustry;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.*;
|
||||||
import android.content.Context;
|
import android.content.*;
|
||||||
import android.content.Intent;
|
import android.content.pm.*;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.net.*;
|
||||||
import android.content.pm.PackageManager;
|
import android.os.*;
|
||||||
import android.net.Uri;
|
import android.provider.Settings.*;
|
||||||
import android.os.Build;
|
import android.telephony.*;
|
||||||
import android.os.Bundle;
|
import io.anuke.arc.*;
|
||||||
import android.provider.Settings.Secure;
|
import io.anuke.arc.backends.android.surfaceview.*;
|
||||||
import android.telephony.TelephonyManager;
|
import io.anuke.arc.files.*;
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.backends.android.surfaceview.AndroidApplication;
|
import io.anuke.arc.scene.ui.layout.*;
|
||||||
import io.anuke.arc.backends.android.surfaceview.AndroidApplicationConfiguration;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.files.FileHandle;
|
import io.anuke.arc.util.serialization.*;
|
||||||
import io.anuke.arc.function.Consumer;
|
import io.anuke.mindustry.game.Saves.*;
|
||||||
import io.anuke.arc.function.Predicate;
|
import io.anuke.mindustry.io.*;
|
||||||
import io.anuke.arc.scene.ui.layout.UnitScl;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.arc.util.Strings;
|
|
||||||
import io.anuke.arc.util.serialization.Base64Coder;
|
|
||||||
import io.anuke.mindustry.core.Platform;
|
|
||||||
import io.anuke.mindustry.game.Saves.SaveSlot;
|
|
||||||
import io.anuke.mindustry.io.SaveIO;
|
|
||||||
import io.anuke.mindustry.net.*;
|
import io.anuke.mindustry.net.*;
|
||||||
import io.anuke.mindustry.ui.dialogs.FileChooser;
|
import io.anuke.mindustry.ui.dialogs.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.util.ArrayList;
|
import java.lang.System;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
@@ -42,7 +38,14 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
|
AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
|
||||||
config.useImmersiveMode = true;
|
config.useImmersiveMode = true;
|
||||||
config.depth = 0;
|
config.depth = 0;
|
||||||
Platform.instance = new Platform(){
|
if(doubleScaleTablets && isTablet(this.getContext())){
|
||||||
|
UnitScl.dp.addition = 0.5f;
|
||||||
|
}
|
||||||
|
|
||||||
|
config.hideStatusBar = true;
|
||||||
|
Net.setClientProvider(new ArcNetClient());
|
||||||
|
Net.setServerProvider(new ArcNetServer());
|
||||||
|
initialize(new ClientLauncher(){
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void hide(){
|
public void hide(){
|
||||||
@@ -122,16 +125,7 @@ public class AndroidLauncher extends AndroidApplication{
|
|||||||
public boolean canDonate(){
|
public boolean canDonate(){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
}, config);
|
||||||
|
|
||||||
if(doubleScaleTablets && isTablet(this.getContext())){
|
|
||||||
UnitScl.dp.addition = 0.5f;
|
|
||||||
}
|
|
||||||
|
|
||||||
config.hideStatusBar = true;
|
|
||||||
Net.setClientProvider(new ArcNetClient());
|
|
||||||
Net.setServerProvider(new ArcNetServer());
|
|
||||||
initialize(new Mindustry(), config);
|
|
||||||
checkFiles(getIntent());
|
checkFiles(getIntent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -60,9 +60,12 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||||||
|
|
||||||
void process(String classname, String path, String rtype, String loadMethod) throws Exception{
|
void process(String classname, String path, String rtype, String loadMethod) throws Exception{
|
||||||
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
|
TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC);
|
||||||
MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
//MethodSpec.Builder load = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
|
MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC);
|
||||||
|
|
||||||
|
|
||||||
HashSet<String> names = new HashSet<>();
|
HashSet<String> names = new HashSet<>();
|
||||||
Files.list(Paths.get(path)).forEach(p -> {
|
Files.list(Paths.get(path)).forEach(p -> {
|
||||||
String fname = p.getFileName().toString();
|
String fname = p.getFileName().toString();
|
||||||
@@ -79,8 +82,16 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||||||
name = name + "s";
|
name = name + "s";
|
||||||
}
|
}
|
||||||
|
|
||||||
load.addStatement(name + " = io.anuke.arc.Core.audio."+loadMethod+"(io.anuke.arc.Core.files.internal(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S))",
|
String filepath = path.substring(path.lastIndexOf("/") + 1) + "/" + fname;
|
||||||
path.substring(path.lastIndexOf("/") + 1) + "/" + fname, (path.substring(path.lastIndexOf("/") + 1) + "/" + fname).replace(".ogg", ".mp3"));
|
|
||||||
|
//load.addStatement(name + " = io.anuke.arc.Core.audio."+loadMethod+"(io.anuke.arc.Core.files.internal(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S))",
|
||||||
|
//filepath, filepath.replace(".ogg", ".mp3"));
|
||||||
|
|
||||||
|
loadBegin.addStatement("io.anuke.arc.Core.assets.load(io.anuke.arc.Core.app.getType() != io.anuke.arc.Application.ApplicationType.iOS ? $S : $S, "+rtype+".class, " +
|
||||||
|
"new io.anuke.arc.assets.loaders."+classname.substring(0, classname.length()-1)+"Loader."+classname.substring(0, classname.length()-1)+"Parameter((m, name, type) -> " + name + " = m.get(\"" + filepath + "\")))",
|
||||||
|
filepath, filepath.replace(".ogg", ".mp3"));
|
||||||
|
|
||||||
|
|
||||||
dispose.addStatement(name + ".dispose()");
|
dispose.addStatement(name + ".dispose()");
|
||||||
dispose.addStatement(name + " = null");
|
dispose.addStatement(name + " = null");
|
||||||
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
|
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
|
||||||
@@ -91,7 +102,8 @@ public class AssetsAnnotationProcessor extends AbstractProcessor{
|
|||||||
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
|
type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new io.anuke.arc.audio.mock.Mock" + rtype.substring(rtype.lastIndexOf(".") + 1)+ "()").build());
|
||||||
}
|
}
|
||||||
|
|
||||||
type.addMethod(load.build());
|
//type.addMethod(load.build());
|
||||||
|
type.addMethod(loadBegin.build());
|
||||||
type.addMethod(dispose.build());
|
type.addMethod(dispose.build());
|
||||||
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
|
JavaFile.builder(packageName, type.build()).build().writeTo(Utils.filer);
|
||||||
}
|
}
|
||||||
|
|||||||
44
build.gradle
@@ -16,6 +16,8 @@ buildscript{
|
|||||||
|
|
||||||
allprojects{
|
allprojects{
|
||||||
version = 'release'
|
version = 'release'
|
||||||
|
apply plugin: 'maven'
|
||||||
|
group = 'com.github.Anuken'
|
||||||
|
|
||||||
ext{
|
ext{
|
||||||
versionNumber = '4'
|
versionNumber = '4'
|
||||||
@@ -119,6 +121,7 @@ allprojects{
|
|||||||
props.load(new FileInputStream(pfile))
|
props.load(new FileInputStream(pfile))
|
||||||
|
|
||||||
String buildid = getBuildVersion()
|
String buildid = getBuildVersion()
|
||||||
|
println("Compiling with build: '$buildid'")
|
||||||
|
|
||||||
props["type"] = versionType
|
props["type"] = versionType
|
||||||
props["number"] = versionNumber
|
props["number"] = versionNumber
|
||||||
@@ -145,23 +148,6 @@ allprojects{
|
|||||||
project(":desktop"){
|
project(":desktop"){
|
||||||
apply plugin: "java"
|
apply plugin: "java"
|
||||||
|
|
||||||
dependencies{
|
|
||||||
compile project(":core")
|
|
||||||
compile project(":net")
|
|
||||||
|
|
||||||
if(debugged()) compile project(":debug")
|
|
||||||
|
|
||||||
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
|
|
||||||
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop"
|
|
||||||
|
|
||||||
compile arcModule("backends:backend-lwjgl3")
|
|
||||||
compile 'com.github.MinnDevelopment:java-discord-rpc:v2.0.2'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
project(":desktop-sdl"){
|
|
||||||
apply plugin: "java"
|
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
compile project(":core")
|
compile project(":core")
|
||||||
compile project(":net")
|
compile project(":net")
|
||||||
@@ -216,6 +202,7 @@ project(":core"){
|
|||||||
|
|
||||||
task preGen{
|
task preGen{
|
||||||
generateLocales()
|
generateLocales()
|
||||||
|
writeVersion()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
@@ -246,6 +233,7 @@ project(":core"){
|
|||||||
|
|
||||||
compileJava.dependsOn(preGen)
|
compileJava.dependsOn(preGen)
|
||||||
|
|
||||||
|
compile "org.lz4:lz4-java:1.4.1"
|
||||||
compile arcModule("arc-core")
|
compile arcModule("arc-core")
|
||||||
compile arcModule("extensions:freetype")
|
compile arcModule("extensions:freetype")
|
||||||
compile arcModule("extensions:arcnet")
|
compile arcModule("extensions:arcnet")
|
||||||
@@ -311,6 +299,26 @@ project(":net"){
|
|||||||
|
|
||||||
dependencies{
|
dependencies{
|
||||||
compile project(":core")
|
compile project(":core")
|
||||||
compile "org.lz4:lz4-java:1.4.1"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task deployAll{
|
||||||
|
task cleanDeployOutput{
|
||||||
|
doFirst{
|
||||||
|
if("${getBuildVersion()}" == "custom build" || "${getBuildVersion()}" == "") throw new IllegalArgumentException("----\n\nSET A BUILD NUMBER FIRST!\n\n----")
|
||||||
|
if(!project.hasProperty("release")) throw new IllegalArgumentException("----\n\nSET THE RELEASE PROJECT PROPERTY FIRST!\n\n----")
|
||||||
|
|
||||||
|
delete{
|
||||||
|
delete "deploy/"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependsOn cleanDeployOutput
|
||||||
|
dependsOn "desktop:packrLinux64"
|
||||||
|
dependsOn "desktop:packrWindows64"
|
||||||
|
dependsOn "desktop:packrWindows32"
|
||||||
|
dependsOn "desktop:packrMacOS"
|
||||||
|
dependsOn "server:deploy"
|
||||||
|
dependsOn "android:deploy"
|
||||||
|
}
|
||||||
BIN
core/assets-raw/sprites/blocks/units/command-center.png
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
core/assets-raw/sprites/ui/icons/icon-command-attack.png
Normal file
|
After Width: | Height: | Size: 109 B |
BIN
core/assets-raw/sprites/ui/icons/icon-command-idle.png
Normal file
|
After Width: | Height: | Size: 95 B |
BIN
core/assets-raw/sprites/ui/icons/icon-command-patrol.png
Normal file
|
After Width: | Height: | Size: 104 B |
BIN
core/assets-raw/sprites/ui/icons/icon-command-retreat.png
Normal file
|
After Width: | Height: | Size: 94 B |
BIN
core/assets-raw/sprites/ui/nomap.png
Normal file
|
After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 297 B After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 8.8 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 33 KiB |
8
core/assets-raw/sprites/zones/pack.json
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
duplicatePadding: true,
|
||||||
|
combineSubdirectories: true,
|
||||||
|
flattenPaths: true,
|
||||||
|
maxWidth: 2048,
|
||||||
|
maxHeight: 2048,
|
||||||
|
fast: true
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -17,6 +17,12 @@ gameover = Game Over
|
|||||||
gameover.pvp = The[accent] {0}[] team is victorious!
|
gameover.pvp = The[accent] {0}[] team is victorious!
|
||||||
highscore = [accent]New highscore!
|
highscore = [accent]New highscore!
|
||||||
|
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
|
|
||||||
stat.wave = Waves Defeated:[accent] {0}
|
stat.wave = Waves Defeated:[accent] {0}
|
||||||
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
||||||
stat.built = Buildings Built:[accent] {0}
|
stat.built = Buildings Built:[accent] {0}
|
||||||
@@ -25,9 +31,6 @@ stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
|||||||
stat.delivered = Resources Launched:
|
stat.delivered = Resources Launched:
|
||||||
stat.rank = Final Rank: [accent]{0}
|
stat.rank = Final Rank: [accent]{0}
|
||||||
|
|
||||||
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\n\n[scarlet]DO IT.
|
|
||||||
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\n\n[scarlet]DO IT.
|
|
||||||
|
|
||||||
launcheditems = [accent]Launched Items
|
launcheditems = [accent]Launched Items
|
||||||
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
||||||
level.highscore = High Score: [accent]{0}
|
level.highscore = High Score: [accent]{0}
|
||||||
@@ -66,9 +69,11 @@ players.single = {0} player online
|
|||||||
server.closing = [accent]Closing server...
|
server.closing = [accent]Closing server...
|
||||||
server.kicked.kick = You have been kicked from the server!
|
server.kicked.kick = You have been kicked from the server!
|
||||||
server.kicked.serverClose = Server closed.
|
server.kicked.serverClose = Server closed.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Outdated client! Update your game!
|
server.kicked.clientOutdated = Outdated client! Update your game!
|
||||||
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
||||||
server.kicked.banned = You are banned on this server.
|
server.kicked.banned = You are banned on this server.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
|
server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
|
||||||
server.kicked.nameInUse = There is someone with that name\nalready on this server.
|
server.kicked.nameInUse = There is someone with that name\nalready on this server.
|
||||||
server.kicked.nameEmpty = Your chosen name is invalid.
|
server.kicked.nameEmpty = Your chosen name is invalid.
|
||||||
@@ -159,6 +164,11 @@ cancel = Cancel
|
|||||||
openlink = Open Link
|
openlink = Open Link
|
||||||
copylink = Copy Link
|
copylink = Copy Link
|
||||||
back = Back
|
back = Back
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
classic.export = Export Classic Data
|
classic.export = Export Classic Data
|
||||||
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Are you sure you want to quit?
|
quit.confirm = Are you sure you want to quit?
|
||||||
@@ -387,6 +397,7 @@ zone.impact0078.description = <insert description here>
|
|||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
|
|
||||||
settings.language = Language
|
settings.language = Language
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Reset to Defaults
|
settings.reset = Reset to Defaults
|
||||||
settings.rebind = Rebind
|
settings.rebind = Rebind
|
||||||
settings.controls = Controls
|
settings.controls = Controls
|
||||||
@@ -521,6 +532,7 @@ setting.mutemusic.name = Mute Music
|
|||||||
setting.sfxvol.name = SFX Volume
|
setting.sfxvol.name = SFX Volume
|
||||||
setting.mutesound.name = Mute Sound
|
setting.mutesound.name = Mute Sound
|
||||||
setting.crashreport.name = Send Anonymous Crash Reports
|
setting.crashreport.name = Send Anonymous Crash Reports
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
||||||
@@ -541,6 +553,7 @@ keybind.press.axis = Press an axis or key...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Move x
|
keybind.move_x.name = Move x
|
||||||
keybind.move_y.name = Move y
|
keybind.move_y.name = Move y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Select/Shoot
|
keybind.select.name = Select/Shoot
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -807,6 +820,7 @@ block.blast-mixer.name = Blast Mixer
|
|||||||
block.solar-panel.name = Solar Panel
|
block.solar-panel.name = Solar Panel
|
||||||
block.solar-panel-large.name = Large Solar Panel
|
block.solar-panel-large.name = Large Solar Panel
|
||||||
block.oil-extractor.name = Oil Extractor
|
block.oil-extractor.name = Oil Extractor
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Repair Drone Factory
|
block.spirit-factory.name = Spirit Repair Drone Factory
|
||||||
block.phantom-factory.name = Phantom Builder Drone Factory
|
block.phantom-factory.name = Phantom Builder Drone Factory
|
||||||
@@ -1031,6 +1045,7 @@ block.ripple.description = An extremely powerful artillery turret. Shoots cluste
|
|||||||
block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units.
|
block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units.
|
||||||
block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
|
block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
|
||||||
block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
|
block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces Spirit structural repair drones.
|
block.spirit-factory.description = Produces Spirit structural repair drones.
|
||||||
block.phantom-factory.description = Produces advanced construction drones.
|
block.phantom-factory.description = Produces advanced construction drones.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Map too large, potentially not enough memory for screenshot
|
|||||||
gameover = Konec hry
|
gameover = Konec hry
|
||||||
gameover.pvp = [accent] {0}[] Tým Vyhrál!
|
gameover.pvp = [accent] {0}[] Tým Vyhrál!
|
||||||
highscore = [accent]Nový Rekord!
|
highscore = [accent]Nový Rekord!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Waves Defeated:[accent] {0}
|
stat.wave = Waves Defeated:[accent] {0}
|
||||||
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
||||||
stat.built = Buildings Built:[accent] {0}
|
stat.built = Buildings Built:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Buildings Destroyed:[accent] {0}
|
|||||||
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
||||||
stat.delivered = Resources Launched:
|
stat.delivered = Resources Launched:
|
||||||
stat.rank = Final Rank: [accent]{0}
|
stat.rank = Final Rank: [accent]{0}
|
||||||
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
|
|
||||||
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
|
|
||||||
launcheditems = [accent]Launched Items
|
launcheditems = [accent]Launched Items
|
||||||
map.delete = Jsi si jistý že chceš smazat mapu "[accent]{0}[]"?
|
map.delete = Jsi si jistý že chceš smazat mapu "[accent]{0}[]"?
|
||||||
level.highscore = Nejvyšší skóre: [accent]{0}
|
level.highscore = Nejvyšší skóre: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = New Game
|
|||||||
none = <none>
|
none = <none>
|
||||||
minimap = Minimap
|
minimap = Minimap
|
||||||
close = Zavřít
|
close = Zavřít
|
||||||
|
website = Website
|
||||||
quit = Ukončit
|
quit = Ukončit
|
||||||
maps = Mapy
|
maps = Mapy
|
||||||
continue = Pokračovat
|
continue = Pokračovat
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} hráč online
|
|||||||
server.closing = [accent]Zavírám server...
|
server.closing = [accent]Zavírám server...
|
||||||
server.kicked.kick = Byl jsi vykopnut ze serveru!
|
server.kicked.kick = Byl jsi vykopnut ze serveru!
|
||||||
server.kicked.serverClose = Server je zavřený.
|
server.kicked.serverClose = Server je zavřený.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Zastaralý klient hry! Aktualizuj si hru!
|
server.kicked.clientOutdated = Zastaralý klient hry! Aktualizuj si hru!
|
||||||
server.kicked.serverOutdated = Zastaralý server! Řekni hostiteli o aktualizaci!
|
server.kicked.serverOutdated = Zastaralý server! Řekni hostiteli o aktualizaci!
|
||||||
server.kicked.banned = Jsi zabanován na tomto serveru.
|
server.kicked.banned = Jsi zabanován na tomto serveru.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Před nedávnem jsi byl vykopnut.\nPočkej než se znovu připojíš.
|
server.kicked.recentKick = Před nedávnem jsi byl vykopnut.\nPočkej než se znovu připojíš.
|
||||||
server.kicked.nameInUse = Někdo se stejným jménem\nje aktuálně na serveru.
|
server.kicked.nameInUse = Někdo se stejným jménem\nje aktuálně na serveru.
|
||||||
server.kicked.nameEmpty = Tvé jméno je neplatné.
|
server.kicked.nameEmpty = Tvé jméno je neplatné.
|
||||||
server.kicked.idInUse = Již jsi na tomhle serveru připojen! Připojování se dvěma účty není povoleno.
|
server.kicked.idInUse = Již jsi na tomhle serveru připojen! Připojování se dvěma účty není povoleno.
|
||||||
server.kicked.customClient = Tento server nepodporuje vlastní verze hry. Stáhni si oficiální verzi.
|
server.kicked.customClient = Tento server nepodporuje vlastní verze hry. Stáhni si oficiální verzi.
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = [accent]hostitel[] hostuje server na portu [scarlet]6567[]. \nKdokoliv na stejné [LIGHT_GRAY]wifi nebo místní síti[] by měl vidět server ve svém listu serverů.\n\nJestli chcete aby se uživatelé připojovali odkudkoliv pomocí IP, [accent]přesměrování portů[] je nutné.\n\n[LIGHT_GRAY]Poznámka: Jestli někdo má problém s připojením ke své LAN hře, ujistěte se že má Mindustry povolený přístup k místní síti v nastavení Firewallu.
|
host.info = [accent]hostitel[] hostuje server na portu [scarlet]6567[]. \nKdokoliv na stejné [LIGHT_GRAY]wifi nebo místní síti[] by měl vidět server ve svém listu serverů.\n\nJestli chcete aby se uživatelé připojovali odkudkoliv pomocí IP, [accent]přesměrování portů[] je nutné.\n\n[LIGHT_GRAY]Poznámka: Jestli někdo má problém s připojením ke své LAN hře, ujistěte se že má Mindustry povolený přístup k místní síti v nastavení Firewallu.
|
||||||
join.info = Tady můžeš vložit [accent]IP serveru[] ke kterému se chceš připojit, nebo objevit [accent]Servery Místní sítě[] ke kterým se chceš připojit.\nLAN i Multiplayer jsou podporovány.\n\n[LIGHT_GRAY]Poznámka: Není žádný globální seznam serverů; Pokud se budeš chtít připojit k někomu pomocí IP, budeš jí muset znát od hostitele.
|
join.info = Tady můžeš vložit [accent]IP serveru[] ke kterému se chceš připojit, nebo objevit [accent]Servery Místní sítě[] ke kterým se chceš připojit.\nLAN i Multiplayer jsou podporovány.\n\n[LIGHT_GRAY]Poznámka: Není žádný globální seznam serverů; Pokud se budeš chtít připojit k někomu pomocí IP, budeš jí muset znát od hostitele.
|
||||||
hostserver = Hostovat hru
|
hostserver = Hostovat hru
|
||||||
@@ -154,7 +161,15 @@ cancel = Zrušit
|
|||||||
openlink = Otevřít Odkaz
|
openlink = Otevřít Odkaz
|
||||||
copylink = Zkopírovat Odkaz
|
copylink = Zkopírovat Odkaz
|
||||||
back = Zpět
|
back = Zpět
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Jsi si jistý že chceš ukončit ?
|
quit.confirm = Jsi si jistý že chceš ukončit ?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Načítám...
|
loading = [accent]Načítám...
|
||||||
saving = [accent]Ukládám...
|
saving = [accent]Ukládám...
|
||||||
wave = [accent]Vlna {0}
|
wave = [accent]Vlna {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
|||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Noise
|
filter.noise = Noise
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Ore
|
filter.ore = Ore
|
||||||
@@ -302,6 +318,7 @@ ping = Odezva: {0}ms
|
|||||||
language.restart = Prosím restartuj hru aby se provedla změna jazyka!
|
language.restart = Prosím restartuj hru aby se provedla změna jazyka!
|
||||||
settings = Nastavení
|
settings = Nastavení
|
||||||
tutorial = Tutoriál
|
tutorial = Tutoriál
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Editor map
|
mapeditor = Editor map
|
||||||
donate = Darovat
|
donate = Darovat
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Best: {0}
|
|||||||
launch = Launch
|
launch = Launch
|
||||||
launch.title = Launch Successful
|
launch.title = Launch Successful
|
||||||
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
||||||
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Uncover
|
uncover = Uncover
|
||||||
configure = Configure Loadout
|
configure = Configure Loadout
|
||||||
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
|
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Tar Fields
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Jazyk
|
settings.language = Jazyk
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = nastavit výchozí
|
settings.reset = nastavit výchozí
|
||||||
settings.rebind = Přenastavit
|
settings.rebind = Přenastavit
|
||||||
settings.controls = Ovládání
|
settings.controls = Ovládání
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Nepřesnost/výchylka
|
|||||||
blocks.shots = Střely
|
blocks.shots = Střely
|
||||||
blocks.reload = Střely za sekundu
|
blocks.reload = Střely za sekundu
|
||||||
blocks.ammo = Ammo
|
blocks.ammo = Ammo
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.powerbalance = Power: {0}
|
bar.powerbalance = Power: {0}
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Ukázat laser energie
|
|||||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
||||||
setting.minimap.name = Ukázat minimapu
|
setting.minimap.name = Ukázat minimapu
|
||||||
setting.musicvol.name = Hlasitost hudby
|
setting.musicvol.name = Hlasitost hudby
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Ztišit hudbu
|
setting.mutemusic.name = Ztišit hudbu
|
||||||
setting.sfxvol.name = SFX hlasitost
|
setting.sfxvol.name = SFX hlasitost
|
||||||
setting.mutesound.name = Ztišit zvuky
|
setting.mutesound.name = Ztišit zvuky
|
||||||
setting.crashreport.name = Poslat anonymní spis o zhroucení hry
|
setting.crashreport.name = Poslat anonymní spis o zhroucení hry
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Stiskni osu nebo klávesu...
|
|||||||
keybind.screenshot.name = Sníměk mapy
|
keybind.screenshot.name = Sníměk mapy
|
||||||
keybind.move_x.name = Pohyb na X
|
keybind.move_x.name = Pohyb na X
|
||||||
keybind.move_y.name = Pohyb na Y
|
keybind.move_y.name = Pohyb na Y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Vybrat/Střílet
|
keybind.select.name = Vybrat/Střílet
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Výbušninový mixér
|
|||||||
block.solar-panel.name = Solární panel
|
block.solar-panel.name = Solární panel
|
||||||
block.solar-panel-large.name = Velký solární panel
|
block.solar-panel-large.name = Velký solární panel
|
||||||
block.oil-extractor.name = Ropný Extraktor
|
block.oil-extractor.name = Ropný Extraktor
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Továrna na Spirit Drony
|
block.spirit-factory.name = Továrna na Spirit Drony
|
||||||
block.phantom-factory.name = Továrna na Fantom Drony
|
block.phantom-factory.name = Továrna na Fantom Drony
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Kontejnér
|
|||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
team.blue.name = modrá
|
team.blue.name = modrá
|
||||||
team.red.name = červená
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = oranžová
|
team.orange.name = oranžová
|
||||||
team.none.name = šedá
|
team.derelict.name = derelict
|
||||||
team.green.name = zelená
|
team.green.name = zelená
|
||||||
team.purple.name = fialová
|
team.purple.name = fialová
|
||||||
unit.spirit.name = Spirit Dron
|
unit.spirit.name = Spirit Dron
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Chaos Array
|
|||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Tvá mise tady je vyhladit [LIGHT_GRAY] nepřítele[].\n\nZačneš tím že[accent] budeš těžit měd[]. Klikni na měděnou rudu poblíž tvého jádra pro těžbu.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Manuální zěžba je neefektivní.\n[accent]Vrty []budou těžit automaticky.\npolož jeden na měděnou rudu.
|
tutorial.drill = Manuální zěžba je neefektivní.\n[accent]Vrty []budou těžit automaticky.\npolož jeden na měděnou rudu.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Dopravníky[] jsou zapotřebí k dopravě materiálu k jádru.\nVytvoř řadu dopravníku od vrtu až k jádru.
|
tutorial.conveyor = [accent]Dopravníky[] jsou zapotřebí k dopravě materiálu k jádru.\nVytvoř řadu dopravníku od vrtu až k jádru.
|
||||||
tutorial.morecopper = Je za potřebí více mědi.\n\nBuď ho můžeš natěžit manuáně nebo polož více vrtů.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Defenzivní stavby musí být postaveny za účelem obrany vůči[LIGHT_GRAY] nepříteli[].\nPostav střílnu Duo blízko svého jádra.
|
tutorial.turret = Defenzivní stavby musí být postaveny za účelem obrany vůči[LIGHT_GRAY] nepříteli[].\nPostav střílnu Duo blízko svého jádra.
|
||||||
tutorial.drillturret = Duo střílny požadují[accent] měd jako střelivo []ke střelbě.\nPolož vrt blízko střílny pro zásobování mědí.
|
tutorial.drillturret = Duo střílny požadují[accent] měd jako střelivo []ke střelbě.\nPolož vrt blízko střílny pro zásobování mědí.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = [LIGHT_GRAY] nepřítel[] je přibližuje.\n\nBraň své jádro po dobu dvou vln, postav více střílen.
|
tutorial.waves = [LIGHT_GRAY] nepřítel[] je přibližuje.\n\nBraň své jádro po dobu dvou vln, postav více střílen.
|
||||||
tutorial.lead = Více rud je zde dostupných. Najdi a těž[accent] Olovo[].\n\nPřetáhni od tvojí jednotky k jádru pro přesun materiálu.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Měd a olovo jsou slabé materiály.\nLepší[accent] hustá slitina[] může být vytvořena v peci.\n\npostav si jednu pec.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = Pec teď bude produkovat slitinu.\nVyráběj si ji.\nZvyš počet produkce pokud je nutno.
|
|
||||||
tutorial.siliconsmelter = Jádro teď vytvoří[accent] spirit drona[] pro těžení a opravu bloků.\n\nTovárny pro ostatní jednotky mohou být vytvořeny za pomocí [accent] Křemíku.\nPostav Křemíkovou pec.
|
|
||||||
tutorial.silicondrill = Křemík vyžaduje[accent] uhlí[] a[accent] písek[].\nZačni tím že položíš pár vrtů.
|
|
||||||
tutorial.generator = Tato technologie vyžaduje energii k provozu.\nVytvoř[accent] spalovací generátor[]k produkci energie.
|
|
||||||
tutorial.generatordrill = Spalovací generátory vyžadujou palivo.\nZásobuj ho uhlím z vrtu.
|
|
||||||
tutorial.node = Energie vyžaduje přenos.\nVytvoř[accent] energetický uzel[] vedle svého generátoru pro přenos energie.
|
|
||||||
tutorial.nodelink = Energie může být přenášena zkrz kontakt s energetickými bloky a generátory, nebo propojením zkrze energetické uzly.\n\nPropoj energii kliknutím na uzel a následným výběrem generátoru a křemíkovou pecí.
|
|
||||||
tutorial.silicon = Křemík se teď produkuje. Vyráběj si.\n\nJe doporučeno zvýšit produkci.
|
|
||||||
tutorial.daggerfactory = Postav[accent] Továrnu na Dagger mechy.[]\n\nToto bude využito pro konstrukci útočné síly.
|
|
||||||
tutorial.router = Továrny potřebujou k provozu materiál.\nPolož na dopravník směrovač pro oddělení části nákladu k továrně.
|
|
||||||
tutorial.dagger = Propoj energetické uzly s továrnou.\nJakmile jsou požadavky splněny, Mechy se začnou stavět.\n\nPokládej vrty, generátory a dopravníky dle libosti.
|
|
||||||
tutorial.battle = [LIGHT_GRAY] Nepřítel[] prozradil lokaci svého jádra.\nZnič ho svými bojovými jednotkami.
|
|
||||||
item.copper.description = Užitečný strukturální materiál. Používá se rozsáhle v ostatních typech bloků.
|
item.copper.description = Užitečný strukturální materiál. Používá se rozsáhle v ostatních typech bloků.
|
||||||
item.lead.description = Základní počáteční materiál. Požívá se rozsáhle v elektronice a v blocích pro transport tekutin.
|
item.lead.description = Základní počáteční materiál. Požívá se rozsáhle v elektronice a v blocích pro transport tekutin.
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = Pokročilá, obrněná pozemní jednotka. Útočí jak na pozemní tak vzdušné nepřátelské jednotky.
|
unit.titan.description = Pokročilá, obrněná pozemní jednotka. Útočí jak na pozemní tak vzdušné nepřátelské jednotky.
|
||||||
unit.fortress.description = Težká, pozemní artilérní jednotka.
|
unit.fortress.description = Težká, pozemní artilérní jednotka.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = Rychlý, udeř a uteč stíhací letoun.
|
unit.wraith.description = Rychlý, udeř a uteč stíhací letoun.
|
||||||
unit.ghoul.description = Těžký, kobercový bombardér.
|
unit.ghoul.description = Těžký, kobercový bombardér.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Redukuje písek s vysoce čistým koksem za účelem výroby křemíku.
|
block.silicon-smelter.description = Redukuje písek s vysoce čistým koksem za účelem výroby křemíku.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = Velká artilérní střílna, která vystřelí něko
|
|||||||
block.cyclone.description = Velká rychle pálící střílna.
|
block.cyclone.description = Velká rychle pálící střílna.
|
||||||
block.spectre.description = Velká střílna, která vystřelí dva mocné projektily naráz.
|
block.spectre.description = Velká střílna, která vystřelí dva mocné projektily naráz.
|
||||||
block.meltdown.description = Velká střílna, která vystřelí mocný paprsek dalekého dosahu.
|
block.meltdown.description = Velká střílna, která vystřelí mocný paprsek dalekého dosahu.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produkuje lehké drony, kteří teží minerály a opravují budovy
|
block.spirit-factory.description = Produkuje lehké drony, kteří teží minerály a opravují budovy
|
||||||
block.phantom-factory.description = Produkuje pokročilé drony kteří jsou podstatně efektivnější jak spirit droni.
|
block.phantom-factory.description = Produkuje pokročilé drony kteří jsou podstatně efektivnější jak spirit droni.
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ contributors = Tõlkijad ja panustajad
|
|||||||
discord = Liituge Mindustry Discordi serveriga!
|
discord = Liituge Mindustry Discordi serveriga!
|
||||||
link.discord.description = Mindustry ametlik Discordi server
|
link.discord.description = Mindustry ametlik Discordi server
|
||||||
link.github.description = Github mängu koodiga
|
link.github.description = Github mängu koodiga
|
||||||
|
link.changelog.description = List of update changes
|
||||||
link.dev-builds.description = Selle mängu pooleli olevad versioonid
|
link.dev-builds.description = Selle mängu pooleli olevad versioonid
|
||||||
link.trello.description = Ametlik Trello leht plaanitud funktsioonide listiga
|
link.trello.description = Ametlik Trello leht plaanitud funktsioonide listiga
|
||||||
link.itch.io.description = itch.io leht selle mängu arvuti versioonidega
|
link.itch.io.description = itch.io leht selle mängu arvuti versioonidega
|
||||||
@@ -15,7 +16,11 @@ screenshot.invalid = Maailm liiga suur, tõenäoliselt pole piisavalt mälu salv
|
|||||||
gameover = Mäng Läbi
|
gameover = Mäng Läbi
|
||||||
gameover.pvp = [accent] {0}[] tiim võitis!
|
gameover.pvp = [accent] {0}[] tiim võitis!
|
||||||
highscore = [accent]Uus rekord!
|
highscore = [accent]Uus rekord!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Raund:[accent] {0}
|
stat.wave = Raund:[accent] {0}
|
||||||
stat.enemiesDestroyed = Vaenlasi hävitatud:[accent] {0}
|
stat.enemiesDestroyed = Vaenlasi hävitatud:[accent] {0}
|
||||||
stat.built = Ehitisi ehitatud:[accent] {0}
|
stat.built = Ehitisi ehitatud:[accent] {0}
|
||||||
@@ -23,10 +28,6 @@ stat.destroyed = Ehitisi hävitatud:[accent] {0}
|
|||||||
stat.deconstructed = Ehitisi lahtivõetud:[accent] {0}
|
stat.deconstructed = Ehitisi lahtivõetud:[accent] {0}
|
||||||
stat.delivered = Materjale kaasa võetud:
|
stat.delivered = Materjale kaasa võetud:
|
||||||
stat.rank = Lõplik Hinne: [accent]{0}
|
stat.rank = Lõplik Hinne: [accent]{0}
|
||||||
|
|
||||||
placeline = Sa valisid ehitise\nSa saad[accent] panna neid sirges reas[] hoides näpuga all ja, siis viibates mõnes suunas.\n\n[scarlet] TEE SEDA
|
|
||||||
removearea = Sa valisid hävitamise funktsiooni.\nsa saad[accent] hävitada[]hoides oma sõrme all mõne sekundi ja, siis viibates mõnele poole.\n\n[scarlet]TEE SEDA
|
|
||||||
|
|
||||||
launcheditems = [accent]Kaasa võetud materjalid
|
launcheditems = [accent]Kaasa võetud materjalid
|
||||||
map.delete = Kas oled kindel, et soovid kustutada "[accent]{0}[]".
|
map.delete = Kas oled kindel, et soovid kustutada "[accent]{0}[]".
|
||||||
level.highscore = Rekord: [accent]{0}
|
level.highscore = Rekord: [accent]{0}
|
||||||
@@ -35,7 +36,6 @@ level.mode = Mänguviisi valik:
|
|||||||
showagain = Ära näita järgmine kord
|
showagain = Ära näita järgmine kord
|
||||||
coreattack = < TUUMA RÜNNATAKSE! >\nMAYDAY MAYDAY
|
coreattack = < TUUMA RÜNNATAKSE! >\nMAYDAY MAYDAY
|
||||||
nearpoint = [[ [scarlet]LAHKU VAENLASTE LANGEMISE ALALT VIIVITAMATA[] ]\npeatselt hävinemine
|
nearpoint = [[ [scarlet]LAHKU VAENLASTE LANGEMISE ALALT VIIVITAMATA[] ]\npeatselt hävinemine
|
||||||
outofbounds = [[ PIIRIDEST VÄLJAS ]\n[]enese hävitamine {0}
|
|
||||||
database = Tuuma Andmebaas
|
database = Tuuma Andmebaas
|
||||||
savegame = Salvesta
|
savegame = Salvesta
|
||||||
loadgame = Lae Mäng
|
loadgame = Lae Mäng
|
||||||
@@ -46,6 +46,7 @@ newgame = Uus Mäng
|
|||||||
none = <puudub>
|
none = <puudub>
|
||||||
minimap = Kaart
|
minimap = Kaart
|
||||||
close = Sule
|
close = Sule
|
||||||
|
website = Website
|
||||||
quit = Lahku
|
quit = Lahku
|
||||||
maps = Maailmad
|
maps = Maailmad
|
||||||
continue = Jätka
|
continue = Jätka
|
||||||
@@ -65,15 +66,18 @@ players.single = {0} mängija mängus
|
|||||||
server.closing = [accent]Serveri sulgemine...
|
server.closing = [accent]Serveri sulgemine...
|
||||||
server.kicked.kick = Sind visati serverist välja!
|
server.kicked.kick = Sind visati serverist välja!
|
||||||
server.kicked.serverClose = Server suletud.
|
server.kicked.serverClose = Server suletud.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Aegunud versioon! Uuenda oma mängu!
|
server.kicked.clientOutdated = Aegunud versioon! Uuenda oma mängu!
|
||||||
server.kicked.serverOutdated = Aegunud server! Palu omanikul serverit uuendada!
|
server.kicked.serverOutdated = Aegunud server! Palu omanikul serverit uuendada!
|
||||||
server.kicked.banned = Sul on keeld seal mängida.
|
server.kicked.banned = Sul on keeld seal mängida.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Sind visati hiljuti välja.\nOota natuke enne uuesti proovimist.
|
server.kicked.recentKick = Sind visati hiljuti välja.\nOota natuke enne uuesti proovimist.
|
||||||
server.kicked.nameInUse = Keegi sellise nimega\non juba seal serveris.
|
server.kicked.nameInUse = Keegi sellise nimega\non juba seal serveris.
|
||||||
server.kicked.nameEmpty = Sinu valitud nimi ei sobi.
|
server.kicked.nameEmpty = Sinu valitud nimi ei sobi.
|
||||||
server.kicked.idInUse = Sa juba oled selles serveris! Kahe kasutajaga liitumine on keelatud.
|
server.kicked.idInUse = Sa juba oled selles serveris! Kahe kasutajaga liitumine on keelatud.
|
||||||
server.kicked.customClient = See server ei luba modifitseeritud mängu versioone. Lae alla ametlik versioon.
|
server.kicked.customClient = See server ei luba modifitseeritud mängu versioone. Lae alla ametlik versioon.
|
||||||
server.kicked.gameover = Mäng läbi!
|
server.kicked.gameover = Mäng läbi!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = [accent]Hosti[] nupp avab serveri pordil [scarlet]6567[]. \nIgaüks samas [LIGHT_GRAY]wifis või kohtvõrgus[] peaks nägema sinu serverit enda serverite nimekirjas.\n\nKui sa tahad, et inimesed saaksid kõikjalt IP aadressi abil liituda, [accent]portide edasisuunamine[] on vajalik.\n\n[LIGHT_GRAY]Märkus: Kui kellelgi on probleeme sinu LAN-mänguga liitumisel, siis tee kindlaks, et sul on Mindustry lubatud oma kohtvõrgus tulemüüri seadetes.
|
host.info = [accent]Hosti[] nupp avab serveri pordil [scarlet]6567[]. \nIgaüks samas [LIGHT_GRAY]wifis või kohtvõrgus[] peaks nägema sinu serverit enda serverite nimekirjas.\n\nKui sa tahad, et inimesed saaksid kõikjalt IP aadressi abil liituda, [accent]portide edasisuunamine[] on vajalik.\n\n[LIGHT_GRAY]Märkus: Kui kellelgi on probleeme sinu LAN-mänguga liitumisel, siis tee kindlaks, et sul on Mindustry lubatud oma kohtvõrgus tulemüüri seadetes.
|
||||||
join.info = Siin saad lisada [accent]serveri IP aadressi[] millega liituda, või leida [accent]kohtvõrgu[] servereid millega liituda.\nNii LAN kui ka WAN mitmikmängu toetatakse.\n\n[LIGHT_GRAY]Märkus: Ei ole olemas automaatset üldist serverite listi; kui sa tahad kellegagi liituda IP-aadressiga on sul vaja omaniku IP-aadressi.
|
join.info = Siin saad lisada [accent]serveri IP aadressi[] millega liituda, või leida [accent]kohtvõrgu[] servereid millega liituda.\nNii LAN kui ka WAN mitmikmängu toetatakse.\n\n[LIGHT_GRAY]Märkus: Ei ole olemas automaatset üldist serverite listi; kui sa tahad kellegagi liituda IP-aadressiga on sul vaja omaniku IP-aadressi.
|
||||||
hostserver = Hosti Mäng
|
hostserver = Hosti Mäng
|
||||||
@@ -98,7 +102,6 @@ server.admins = Administraatorid
|
|||||||
server.admins.none = Administraatoreid ei leitud!
|
server.admins.none = Administraatoreid ei leitud!
|
||||||
server.add = Lisa Server
|
server.add = Lisa Server
|
||||||
server.delete = Oled kindel, et soovid serveri kustutada?
|
server.delete = Oled kindel, et soovid serveri kustutada?
|
||||||
server.hostname = Omanik: {0}
|
|
||||||
server.edit = Kohanda Serverit
|
server.edit = Kohanda Serverit
|
||||||
server.outdated = [crimson]Aegunud Server![]
|
server.outdated = [crimson]Aegunud Server![]
|
||||||
server.outdated.client = [crimson]Aegunud Versioon[]
|
server.outdated.client = [crimson]Aegunud Versioon[]
|
||||||
@@ -158,14 +161,15 @@ cancel = Tühista
|
|||||||
openlink = Ava Link
|
openlink = Ava Link
|
||||||
copylink = Kopeeri Link
|
copylink = Kopeeri Link
|
||||||
back = Tagasi
|
back = Tagasi
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Oled kindel, et soovid lahkuda?
|
quit.confirm = Oled kindel, et soovid lahkuda?
|
||||||
changelog.title = Muudatused
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
changelog.loading = Getting changelog...
|
|
||||||
changelog.error.android = [accent]Note that the changelog sometimes does not work on Android 4.4 and below!\nThis is due to an internal Android bug.
|
|
||||||
changelog.error.ios = [accent]The changelog is currently not supported in iOS.
|
|
||||||
changelog.error = [scarlet]Error getting changelog!\nCheck your internet connection.
|
|
||||||
changelog.current = [yellow][[Current version]
|
|
||||||
changelog.latest = [accent][[Latest version]
|
|
||||||
loading = [accent]Laadimine...
|
loading = [accent]Laadimine...
|
||||||
saving = [accent]Salvestamine...
|
saving = [accent]Salvestamine...
|
||||||
wave = [accent]Raund {0}
|
wave = [accent]Raund {0}
|
||||||
@@ -195,7 +199,9 @@ editor.author = Autor:
|
|||||||
editor.description = Kirjeldus:
|
editor.description = Kirjeldus:
|
||||||
editor.waves = Raundid:
|
editor.waves = Raundid:
|
||||||
editor.rules = Rules:
|
editor.rules = Rules:
|
||||||
|
editor.generation = Generation:
|
||||||
editor.ingame = Edit In-Game
|
editor.ingame = Edit In-Game
|
||||||
|
editor.newmap = New Map
|
||||||
waves.title = Raundid
|
waves.title = Raundid
|
||||||
waves.remove = Eemalda
|
waves.remove = Eemalda
|
||||||
waves.never = <never>
|
waves.never = <never>
|
||||||
@@ -210,13 +216,13 @@ waves.copy = Copy to Clipboard
|
|||||||
waves.load = Load from Clipboard
|
waves.load = Load from Clipboard
|
||||||
waves.invalid = Invalid waves in clipboard.
|
waves.invalid = Invalid waves in clipboard.
|
||||||
waves.copied = Raundid kopeeritud.
|
waves.copied = Raundid kopeeritud.
|
||||||
|
waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
|
||||||
editor.default = [LIGHT_GRAY]<Default>
|
editor.default = [LIGHT_GRAY]<Default>
|
||||||
edit = Muuda...
|
edit = Muuda...
|
||||||
editor.name = Nimi:
|
editor.name = Nimi:
|
||||||
editor.spawn = Spawn Unit
|
editor.spawn = Spawn Unit
|
||||||
editor.removeunit = Remove Unit
|
editor.removeunit = Remove Unit
|
||||||
editor.teams = Tiimid
|
editor.teams = Tiimid
|
||||||
editor.elevation = Elevation
|
|
||||||
editor.errorload = Error loading file:\n[accent]{0}
|
editor.errorload = Error loading file:\n[accent]{0}
|
||||||
editor.errorsave = Error saving file:\n[accent]{0}
|
editor.errorsave = Error saving file:\n[accent]{0}
|
||||||
editor.errorimage = That's an image, not a map. Don't go around changing extensions expecting it to work.\n\nIf you want to import a legacy map, use the 'import legacy map' button in the editor.
|
editor.errorimage = That's an image, not a map. Don't go around changing extensions expecting it to work.\n\nIf you want to import a legacy map, use the 'import legacy map' button in the editor.
|
||||||
@@ -254,11 +260,32 @@ editor.mapname = Map Name:
|
|||||||
editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
||||||
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||||
editor.selectmap = Select a map to load:
|
editor.selectmap = Select a map to load:
|
||||||
|
toolmode.replace = Replace
|
||||||
|
toolmode.replace.description = Draws only on solid blocks.
|
||||||
|
toolmode.replaceall = Replace All
|
||||||
|
toolmode.replaceall.description = Replace all blocks in map.
|
||||||
|
toolmode.orthogonal = Orthogonal
|
||||||
|
toolmode.orthogonal.description = Draws only orthogonal lines.
|
||||||
|
toolmode.square = Square
|
||||||
|
toolmode.square.description = Square brush.
|
||||||
|
toolmode.eraseores = Erase Ores
|
||||||
|
toolmode.eraseores.description = Erase only ores.
|
||||||
|
toolmode.fillteams = Fill Teams
|
||||||
|
toolmode.fillteams.description = Fill teams instead of blocks.
|
||||||
|
toolmode.drawteams = Draw Teams
|
||||||
|
toolmode.drawteams.description = Draw teams instead of blocks.
|
||||||
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Noise
|
filter.noise = Noise
|
||||||
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
|
filter.blend = Blend
|
||||||
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Maak
|
filter.ore = Maak
|
||||||
filter.rivernoise = River Noise
|
filter.rivernoise = River Noise
|
||||||
|
filter.mirror = Mirror
|
||||||
|
filter.clear = Clear
|
||||||
|
filter.option.ignore = Ignore
|
||||||
filter.scatter = Scatter
|
filter.scatter = Scatter
|
||||||
filter.terrain = Terrain
|
filter.terrain = Terrain
|
||||||
filter.option.scale = Scale
|
filter.option.scale = Scale
|
||||||
@@ -268,16 +295,21 @@ filter.option.threshold = Threshold
|
|||||||
filter.option.circle-scale = Circle Scale
|
filter.option.circle-scale = Circle Scale
|
||||||
filter.option.octaves = Octaves
|
filter.option.octaves = Octaves
|
||||||
filter.option.falloff = Falloff
|
filter.option.falloff = Falloff
|
||||||
|
filter.option.angle = Angle
|
||||||
filter.option.block = Plokk
|
filter.option.block = Plokk
|
||||||
filter.option.floor = Põrand
|
filter.option.floor = Põrand
|
||||||
|
filter.option.flooronto = Target Floor
|
||||||
filter.option.wall = Sein
|
filter.option.wall = Sein
|
||||||
filter.option.ore = Maak
|
filter.option.ore = Maak
|
||||||
filter.option.floor2 = Teine Korrus
|
filter.option.floor2 = Teine Korrus
|
||||||
filter.option.threshold2 = Secondary Threshold
|
filter.option.threshold2 = Secondary Threshold
|
||||||
|
filter.option.radius = Radius
|
||||||
|
filter.option.percentile = Percentile
|
||||||
width = Laius:
|
width = Laius:
|
||||||
height = Kõrgus:
|
height = Kõrgus:
|
||||||
menu = Menüü
|
menu = Menüü
|
||||||
play = Mängi
|
play = Mängi
|
||||||
|
campaign = Campaign
|
||||||
load = Lae
|
load = Lae
|
||||||
save = Salvesta
|
save = Salvesta
|
||||||
fps = FPS: {0}
|
fps = FPS: {0}
|
||||||
@@ -286,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Please restart your game for the language settings to take effect.
|
language.restart = Please restart your game for the language settings to take effect.
|
||||||
settings = Sätted
|
settings = Sätted
|
||||||
tutorial = Õpetus
|
tutorial = Õpetus
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Map Editor
|
mapeditor = Map Editor
|
||||||
donate = Anneta
|
donate = Anneta
|
||||||
@@ -299,8 +332,9 @@ bestwave = [LIGHT_GRAY]Best Wave: {0}
|
|||||||
launch = < LAUNCH >
|
launch = < LAUNCH >
|
||||||
launch.title = Launch Successful
|
launch.title = Launch Successful
|
||||||
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
||||||
launch.unable = [scarlet]Unable to LAUNCH.[] {0} Enemies.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Uncover
|
uncover = Uncover
|
||||||
configure = Configure Loadout
|
configure = Configure Loadout
|
||||||
configure.locked = [LIGHT_GRAY]Unlock configuring loadout: Wave {0}.
|
configure.locked = [LIGHT_GRAY]Unlock configuring loadout: Wave {0}.
|
||||||
@@ -308,6 +342,9 @@ zone.unlocked = [LIGHT_GRAY]{0} unlocked.
|
|||||||
zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met.
|
zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met.
|
||||||
zone.config.complete = Wave {0} reached:\nLoadout config unlocked.
|
zone.config.complete = Wave {0} reached:\nLoadout config unlocked.
|
||||||
zone.resources = Resources Detected:
|
zone.resources = Resources Detected:
|
||||||
|
zone.objective = [lightgray]Objective: [accent]{0}
|
||||||
|
zone.objective.survival = Survive
|
||||||
|
zone.objective.attack = Destroy Enemy Core
|
||||||
add = Lisa...
|
add = Lisa...
|
||||||
boss.health = Bossi Elud
|
boss.health = Bossi Elud
|
||||||
connectfail = [crimson]Failed to connect to server:\n\n[accent]{0}
|
connectfail = [crimson]Failed to connect to server:\n\n[accent]{0}
|
||||||
@@ -319,6 +356,7 @@ error.alreadyconnected = Already connected.
|
|||||||
error.mapnotfound = Map file not found!
|
error.mapnotfound = Map file not found!
|
||||||
error.io = Network I/O error.
|
error.io = Network I/O error.
|
||||||
error.any = Unknown network error.
|
error.any = Unknown network error.
|
||||||
|
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
||||||
zone.groundZero.name = Ground Zero
|
zone.groundZero.name = Ground Zero
|
||||||
zone.desertWastes.name = Desert Wastes
|
zone.desertWastes.name = Desert Wastes
|
||||||
zone.craters.name = The Craters
|
zone.craters.name = The Craters
|
||||||
@@ -329,8 +367,26 @@ zone.desolateRift.name = Desolate Rift
|
|||||||
zone.nuclearComplex.name = Nuclear Production Complex
|
zone.nuclearComplex.name = Nuclear Production Complex
|
||||||
zone.overgrowth.name = Overgrowth
|
zone.overgrowth.name = Overgrowth
|
||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = Tar Fields
|
||||||
|
zone.saltFlats.name = Salt Flats
|
||||||
|
zone.impact0078.name = Impact 0078
|
||||||
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
|
zone.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing.
|
||||||
|
zone.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills.
|
||||||
|
zone.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology.
|
||||||
|
zone.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units.
|
||||||
|
zone.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost.
|
||||||
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
|
zone.impact0078.description = <insert description here>
|
||||||
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Keel
|
settings.language = Keel
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Reset to Defaults
|
settings.reset = Reset to Defaults
|
||||||
settings.rebind = Rebind
|
settings.rebind = Rebind
|
||||||
settings.controls = Controls
|
settings.controls = Controls
|
||||||
@@ -343,17 +399,19 @@ settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, inclu
|
|||||||
settings.clearunlocks = Clear Unlocks
|
settings.clearunlocks = Clear Unlocks
|
||||||
settings.clearall = Clear All
|
settings.clearall = Clear All
|
||||||
paused = [accent]< Paused >
|
paused = [accent]< Paused >
|
||||||
yes =Jah
|
yes = Jah
|
||||||
no = Ei
|
no = Ei
|
||||||
info.title = Info
|
info.title = Info
|
||||||
error.title = [crimson]An error has occured
|
error.title = [crimson]An error has occured
|
||||||
error.crashtitle = An error has occured
|
error.crashtitle = An error has occured
|
||||||
|
attackpvponly = [scarlet]Only available in Attack/PvP modes
|
||||||
blocks.input = Sisend
|
blocks.input = Sisend
|
||||||
blocks.output = Väljund
|
blocks.output = Väljund
|
||||||
blocks.booster = Booster
|
blocks.booster = Booster
|
||||||
block.unknown = [LIGHT_GRAY]???
|
block.unknown = [LIGHT_GRAY]???
|
||||||
blocks.powercapacity = Power Capacity
|
blocks.powercapacity = Power Capacity
|
||||||
blocks.powershot = Power/Shot
|
blocks.powershot = Power/Shot
|
||||||
|
blocks.damage = Damage
|
||||||
blocks.targetsair = Targets Air
|
blocks.targetsair = Targets Air
|
||||||
blocks.targetsground = Targets Ground
|
blocks.targetsground = Targets Ground
|
||||||
blocks.itemsmoved = Move Speed
|
blocks.itemsmoved = Move Speed
|
||||||
@@ -380,7 +438,7 @@ blocks.inaccuracy = Inaccuracy
|
|||||||
blocks.shots = Shots
|
blocks.shots = Shots
|
||||||
blocks.reload = Shots/Second
|
blocks.reload = Shots/Second
|
||||||
blocks.ammo = Laskemoon
|
blocks.ammo = Laskemoon
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.powerbalance = Power: {0}/s
|
bar.powerbalance = Power: {0}/s
|
||||||
@@ -393,7 +451,6 @@ bar.power = Energia
|
|||||||
bar.progress = Build Progress
|
bar.progress = Build Progress
|
||||||
bar.spawned = Units: {0}/{1}
|
bar.spawned = Units: {0}/{1}
|
||||||
bullet.damage = [stat]{0}[lightgray] damage
|
bullet.damage = [stat]{0}[lightgray] damage
|
||||||
|
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
||||||
bullet.incendiary = [stat]incendiary
|
bullet.incendiary = [stat]incendiary
|
||||||
bullet.homing = [stat]homing
|
bullet.homing = [stat]homing
|
||||||
@@ -404,7 +461,6 @@ bullet.freezing = [stat]freezing
|
|||||||
bullet.tarred = [stat]tarred
|
bullet.tarred = [stat]tarred
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||||
bullet.reload = [stat]{0}[lightgray]x fire rate
|
bullet.reload = [stat]{0}[lightgray]x fire rate
|
||||||
|
|
||||||
unit.blocks = blocks
|
unit.blocks = blocks
|
||||||
unit.powersecond = power units/second
|
unit.powersecond = power units/second
|
||||||
unit.liquidsecond = liquid units/second
|
unit.liquidsecond = liquid units/second
|
||||||
@@ -426,14 +482,17 @@ category.shooting = Tulistamine
|
|||||||
category.optional = Optional Enhancements
|
category.optional = Optional Enhancements
|
||||||
setting.landscape.name = Lock Landscape
|
setting.landscape.name = Lock Landscape
|
||||||
setting.shadows.name = Varjud
|
setting.shadows.name = Varjud
|
||||||
|
setting.linear.name = Linear Filtering
|
||||||
setting.animatedwater.name = Animeeritud Vesi
|
setting.animatedwater.name = Animeeritud Vesi
|
||||||
setting.animatedshields.name = Animeeritud Kilbid
|
setting.animatedshields.name = Animeeritud Kilbid
|
||||||
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
|
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
|
||||||
setting.indicators.name = Enemy/Ally Indicators
|
setting.indicators.name = Enemy/Ally Indicators
|
||||||
setting.autotarget.name = Auto-Target
|
setting.autotarget.name = Auto-Target
|
||||||
|
setting.keyboard.name = Mouse+Keyboard Controls
|
||||||
setting.fpscap.name = Max FPS
|
setting.fpscap.name = Max FPS
|
||||||
setting.fpscap.none = None
|
setting.fpscap.none = None
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
|
setting.uiscale.name = UI Scaling[lightgray] (require restart)[]
|
||||||
setting.swapdiagonal.name = Always Diagonal Placement
|
setting.swapdiagonal.name = Always Diagonal Placement
|
||||||
setting.difficulty.training = Treening
|
setting.difficulty.training = Treening
|
||||||
setting.difficulty.easy = Lihtne
|
setting.difficulty.easy = Lihtne
|
||||||
@@ -454,13 +513,19 @@ setting.lasers.name = Näita Energia Lasereid
|
|||||||
setting.pixelate.name = Pixelate[LIGHT_GRAY] (disables animations)
|
setting.pixelate.name = Pixelate[LIGHT_GRAY] (disables animations)
|
||||||
setting.minimap.name = Näita Kaarti
|
setting.minimap.name = Näita Kaarti
|
||||||
setting.musicvol.name = Heli tase
|
setting.musicvol.name = Heli tase
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Vaigista muusika
|
setting.mutemusic.name = Vaigista muusika
|
||||||
setting.sfxvol.name = SFX Volume
|
setting.sfxvol.name = SFX Volume
|
||||||
setting.mutesound.name = Mute Sound
|
setting.mutesound.name = Mute Sound
|
||||||
setting.crashreport.name = Send Anonymous Crash Reports
|
setting.crashreport.name = Send Anonymous Crash Reports
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds...
|
||||||
|
uiscale.cancel = Cancel & Exit
|
||||||
|
setting.bloom.name = Bloom
|
||||||
keybind.title = Rebind Keys
|
keybind.title = Rebind Keys
|
||||||
|
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
|
||||||
category.general.name = General
|
category.general.name = General
|
||||||
category.view.name = View
|
category.view.name = View
|
||||||
category.multiplayer.name = Multiplayer
|
category.multiplayer.name = Multiplayer
|
||||||
@@ -474,6 +539,7 @@ keybind.press.axis = Press an axis or key...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Move x
|
keybind.move_x.name = Move x
|
||||||
keybind.move_y.name = Move y
|
keybind.move_y.name = Move y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Select/Shoot
|
keybind.select.name = Select/Shoot
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -506,10 +572,10 @@ mode.pvp.description = Fight against other players locally.
|
|||||||
mode.attack.name = Attack
|
mode.attack.name = Attack
|
||||||
mode.attack.description = Destroy the enemy's base. No waves.
|
mode.attack.description = Destroy the enemy's base. No waves.
|
||||||
mode.custom = Kohandatud Reeglid
|
mode.custom = Kohandatud Reeglid
|
||||||
|
|
||||||
rules.infiniteresources = Infinite Resources
|
rules.infiniteresources = Infinite Resources
|
||||||
rules.wavetimer = Wave Timer
|
rules.wavetimer = Wave Timer
|
||||||
rules.waves = Raundi
|
rules.waves = Raundi
|
||||||
|
rules.attack = Attack Mode
|
||||||
rules.enemyCheat = Infinite AI (Red Team) Resources
|
rules.enemyCheat = Infinite AI (Red Team) Resources
|
||||||
rules.unitdrops = Unit Drops
|
rules.unitdrops = Unit Drops
|
||||||
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
||||||
@@ -532,43 +598,27 @@ rules.title.resourcesbuilding = Resources & Building
|
|||||||
rules.title.player = Mängijad
|
rules.title.player = Mängijad
|
||||||
rules.title.enemy = Vastased
|
rules.title.enemy = Vastased
|
||||||
rules.title.unit = Units
|
rules.title.unit = Units
|
||||||
|
|
||||||
content.item.name = Asjad
|
content.item.name = Asjad
|
||||||
content.liquid.name = Vedelikud
|
content.liquid.name = Vedelikud
|
||||||
content.unit.name = Units
|
content.unit.name = Units
|
||||||
content.block.name = Plokid
|
content.block.name = Plokid
|
||||||
content.mech.name = Mechs
|
content.mech.name = Mechs
|
||||||
item.copper.name = Vask
|
item.copper.name = Vask
|
||||||
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
|
||||||
item.lead.name = Plii
|
item.lead.name = Plii
|
||||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
|
||||||
item.coal.name = Süsi
|
item.coal.name = Süsi
|
||||||
item.coal.description = A common and readily available fuel.
|
|
||||||
item.graphite.name = Grafiit
|
item.graphite.name = Grafiit
|
||||||
item.titanium.name = Titaanium
|
item.titanium.name = Titaanium
|
||||||
item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft.
|
|
||||||
item.thorium.name = Toorium
|
item.thorium.name = Toorium
|
||||||
item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel.
|
|
||||||
item.silicon.name = Silikoon
|
item.silicon.name = Silikoon
|
||||||
item.silicon.description = An extremely useful semiconductor, with applications in solar panels and many complex electronics.
|
|
||||||
item.plastanium.name = Plastaanium
|
item.plastanium.name = Plastaanium
|
||||||
item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition.
|
|
||||||
item.phase-fabric.name = Faasriie
|
item.phase-fabric.name = Faasriie
|
||||||
item.phase-fabric.description = A near-weightless substance used in advanced electronics and self-repairing technology.
|
|
||||||
item.surge-alloy.name = Surge Alloy
|
item.surge-alloy.name = Surge Alloy
|
||||||
item.surge-alloy.description = An advanced alloy with unique electrical properties.
|
|
||||||
item.spore-pod.name = Spore Pod
|
item.spore-pod.name = Spore Pod
|
||||||
item.spore-pod.description = Used for conversion into oil, explosives and fuel.
|
|
||||||
item.sand.name = Liiv
|
item.sand.name = Liiv
|
||||||
item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux.
|
|
||||||
item.blast-compound.name = Blast Compound
|
item.blast-compound.name = Blast Compound
|
||||||
item.blast-compound.description = A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
|
|
||||||
item.pyratite.name = Pyratite
|
item.pyratite.name = Pyratite
|
||||||
item.pyratite.description = An extremely flammable substance used in incendiary weapons.
|
|
||||||
item.metaglass.name = Metaglass
|
item.metaglass.name = Metaglass
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
|
||||||
item.scrap.name = Scrap
|
item.scrap.name = Scrap
|
||||||
item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals.
|
|
||||||
liquid.water.name = Vesi
|
liquid.water.name = Vesi
|
||||||
liquid.slag.name = Slag
|
liquid.slag.name = Slag
|
||||||
liquid.oil.name = Nafta
|
liquid.oil.name = Nafta
|
||||||
@@ -576,31 +626,23 @@ liquid.cryofluid.name = Cryofluid
|
|||||||
mech.alpha-mech.name = Alpha
|
mech.alpha-mech.name = Alpha
|
||||||
mech.alpha-mech.weapon = Heavy Repeater
|
mech.alpha-mech.weapon = Heavy Repeater
|
||||||
mech.alpha-mech.ability = Regeneration
|
mech.alpha-mech.ability = Regeneration
|
||||||
mech.alpha-mech.description = The standard mech. Has decent speed and damage output.
|
|
||||||
mech.delta-mech.name = Delta
|
mech.delta-mech.name = Delta
|
||||||
mech.delta-mech.weapon = Arc Generator
|
mech.delta-mech.weapon = Arc Generator
|
||||||
mech.delta-mech.ability = Discharge
|
mech.delta-mech.ability = Discharge
|
||||||
mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
|
|
||||||
mech.tau-mech.name = Tau
|
mech.tau-mech.name = Tau
|
||||||
mech.tau-mech.weapon = Restruct Laser
|
mech.tau-mech.weapon = Restruct Laser
|
||||||
mech.tau-mech.ability = Repair Burst
|
mech.tau-mech.ability = Repair Burst
|
||||||
mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability.
|
|
||||||
mech.omega-mech.name = Omega
|
mech.omega-mech.name = Omega
|
||||||
mech.omega-mech.weapon = Swarm Missiles
|
mech.omega-mech.weapon = Swarm Missiles
|
||||||
mech.omega-mech.ability = Armored Configuration
|
mech.omega-mech.ability = Armored Configuration
|
||||||
mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor ability can block up to 90% of incoming damage.
|
|
||||||
mech.dart-ship.name = Dart
|
mech.dart-ship.name = Dart
|
||||||
mech.dart-ship.weapon = Repeater
|
mech.dart-ship.weapon = Repeater
|
||||||
mech.dart-ship.description = The standard ship. Reasonably fast and light, but has little offensive capability and low mining speed.
|
|
||||||
mech.javelin-ship.name = Javelin
|
mech.javelin-ship.name = Javelin
|
||||||
mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning ability and missiles.
|
|
||||||
mech.javelin-ship.weapon = Burst Missiles
|
mech.javelin-ship.weapon = Burst Missiles
|
||||||
mech.javelin-ship.ability = Discharge Booster
|
mech.javelin-ship.ability = Discharge Booster
|
||||||
mech.trident-ship.name = Trident
|
mech.trident-ship.name = Trident
|
||||||
mech.trident-ship.description = A heavy bomber. Reasonably well armored.
|
|
||||||
mech.trident-ship.weapon = Bomb Bay
|
mech.trident-ship.weapon = Bomb Bay
|
||||||
mech.glaive-ship.name = Glaive
|
mech.glaive-ship.name = Glaive
|
||||||
mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Good acceleration and maximum speed.
|
|
||||||
mech.glaive-ship.weapon = Flame Repeater
|
mech.glaive-ship.weapon = Flame Repeater
|
||||||
item.explosiveness = [LIGHT_GRAY]Explosiveness: {0}%
|
item.explosiveness = [LIGHT_GRAY]Explosiveness: {0}%
|
||||||
item.flammability = [LIGHT_GRAY]Flammability: {0}%
|
item.flammability = [LIGHT_GRAY]Flammability: {0}%
|
||||||
@@ -617,7 +659,7 @@ mech.buildspeed = [LIGHT_GRAY]Building Speed: {0}%
|
|||||||
liquid.heatcapacity = [LIGHT_GRAY]Heat Capacity: {0}
|
liquid.heatcapacity = [LIGHT_GRAY]Heat Capacity: {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]Viscosity: {0}
|
liquid.viscosity = [LIGHT_GRAY]Viscosity: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]Temperature: {0}
|
liquid.temperature = [LIGHT_GRAY]Temperature: {0}
|
||||||
|
block.sand-boulder.name = Sand Boulder
|
||||||
block.grass.name = Grass
|
block.grass.name = Grass
|
||||||
block.salt.name = Salt
|
block.salt.name = Salt
|
||||||
block.saltrocks.name = Salt Rocks
|
block.saltrocks.name = Salt Rocks
|
||||||
@@ -628,6 +670,7 @@ block.spore-pine.name = Spore Pine
|
|||||||
block.sporerocks.name = Spore Rocks
|
block.sporerocks.name = Spore Rocks
|
||||||
block.rock.name = Kivi
|
block.rock.name = Kivi
|
||||||
block.snowrock.name = Lumekivi
|
block.snowrock.name = Lumekivi
|
||||||
|
block.snow-pine.name = Snow Pine
|
||||||
block.shale.name = Shale
|
block.shale.name = Shale
|
||||||
block.shale-boulder.name = Shale Boulder
|
block.shale-boulder.name = Shale Boulder
|
||||||
block.moss.name = Moss
|
block.moss.name = Moss
|
||||||
@@ -640,7 +683,6 @@ block.scrap-wall-huge.name = Huge Scrap Wall
|
|||||||
block.scrap-wall-gigantic.name = Gigantic Scrap Wall
|
block.scrap-wall-gigantic.name = Gigantic Scrap Wall
|
||||||
block.thruster.name = Thruster
|
block.thruster.name = Thruster
|
||||||
block.kiln.name = Kiln
|
block.kiln.name = Kiln
|
||||||
block.kiln.description = Smelts sand and lead into metaglass. Requires small amounts of power.
|
|
||||||
block.graphite-press.name = Graphite Press
|
block.graphite-press.name = Graphite Press
|
||||||
block.multi-press.name = Multi-Press
|
block.multi-press.name = Multi-Press
|
||||||
block.constructing = {0} [LIGHT_GRAY](Constructing)
|
block.constructing = {0} [LIGHT_GRAY](Constructing)
|
||||||
@@ -709,9 +751,7 @@ block.junction.name = Junction
|
|||||||
block.router.name = Router
|
block.router.name = Router
|
||||||
block.distributor.name = Distributor
|
block.distributor.name = Distributor
|
||||||
block.sorter.name = Sorter
|
block.sorter.name = Sorter
|
||||||
block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
|
|
||||||
block.overflow-gate.name = Overflow Gate
|
block.overflow-gate.name = Overflow Gate
|
||||||
block.overflow-gate.description = A combination splitter and router that only outputs to the left and right if the front path is blocked.
|
|
||||||
block.silicon-smelter.name = Silicon Smelter
|
block.silicon-smelter.name = Silicon Smelter
|
||||||
block.phase-weaver.name = Phase Weaver
|
block.phase-weaver.name = Phase Weaver
|
||||||
block.pulverizer.name = Pulverizer
|
block.pulverizer.name = Pulverizer
|
||||||
@@ -763,6 +803,8 @@ block.blast-mixer.name = Blast Mixer
|
|||||||
block.solar-panel.name = Solar Panel
|
block.solar-panel.name = Solar Panel
|
||||||
block.solar-panel-large.name = Large Solar Panel
|
block.solar-panel-large.name = Large Solar Panel
|
||||||
block.oil-extractor.name = Oil Extractor
|
block.oil-extractor.name = Oil Extractor
|
||||||
|
block.command-center.name = Command Center
|
||||||
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Drone Factory
|
block.spirit-factory.name = Spirit Drone Factory
|
||||||
block.phantom-factory.name = Phantom Drone Factory
|
block.phantom-factory.name = Phantom Drone Factory
|
||||||
block.wraith-factory.name = Wraith Fighter Factory
|
block.wraith-factory.name = Wraith Fighter Factory
|
||||||
@@ -801,58 +843,113 @@ block.spectre.name = Spectre
|
|||||||
block.meltdown.name = Meltdown
|
block.meltdown.name = Meltdown
|
||||||
block.container.name = Container
|
block.container.name = Container
|
||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished.
|
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
team.blue.name = sinine
|
team.blue.name = sinine
|
||||||
team.red.name = punane
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = oranž
|
team.orange.name = oranž
|
||||||
team.none.name = hall
|
team.derelict.name = derelict
|
||||||
team.green.name = roheline
|
team.green.name = roheline
|
||||||
team.purple.name = lilla
|
team.purple.name = lilla
|
||||||
unit.spirit.name = Spirit Drone
|
unit.spirit.name = Spirit Drone
|
||||||
unit.spirit.description = The starter drone unit. Spawns in the core by default. Automatically mines ores and repairs blocks.
|
unit.draug.name = Draug Miner Drone
|
||||||
unit.phantom.name = Phantom Drone
|
unit.phantom.name = Phantom Drone
|
||||||
unit.phantom.description = An advanced drone unit. Automatically mines ores and repairs blocks. Significantly more effective than a spirit drone.
|
|
||||||
unit.dagger.name = Dagger
|
unit.dagger.name = Dagger
|
||||||
unit.dagger.description = A basic ground unit. Useful in swarms.
|
|
||||||
unit.crawler.name = Crawler
|
unit.crawler.name = Crawler
|
||||||
unit.titan.name = Titan
|
unit.titan.name = Titan
|
||||||
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets.
|
|
||||||
unit.ghoul.name = Ghoul Bomber
|
unit.ghoul.name = Ghoul Bomber
|
||||||
unit.ghoul.description = A heavy carpet bomber.
|
|
||||||
unit.wraith.name = Wraith Fighter
|
unit.wraith.name = Wraith Fighter
|
||||||
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
|
||||||
unit.fortress.name = Fortress
|
unit.fortress.name = Fortress
|
||||||
unit.fortress.description = A heavy artillery ground unit.
|
|
||||||
unit.revenant.name = Revenant
|
unit.revenant.name = Revenant
|
||||||
unit.eruptor.name = Eruptor
|
unit.eruptor.name = Eruptor
|
||||||
unit.chaos-array.name = Chaos Array
|
unit.chaos-array.name = Chaos Array
|
||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Your mission here is to eradicate the[LIGHT_GRAY] enemy[].\n\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
||||||
tutorial.morecopper = More copper is required.\n\nEither mine it manually, or place more drills.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
||||||
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
||||||
tutorial.lead = More ores are available. Explore and mine[accent] lead[].\n\nDrag from your unit to the core to transfer resources.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Copper and lead are weak metals.\nSuperior[accent] Dense Alloy[] can be created in a smelter.\n\nBuild one.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = The smelter will now produce alloy.\nGet some.\nImprove the production if necessary.
|
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
||||||
tutorial.siliconsmelter = The core will now create a[accent] spirit drone[] for mining and repairing blocks.\n\nFactories for other units can be created with [accent] silicon.\nMake a silicon smelter.
|
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||||
tutorial.silicondrill = Silicon requires[accent] coal[] and[accent] sand[].\nStart by making drills.
|
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||||
tutorial.generator = This technology requires power.\nCreate a[accent] combustion generator[] for it.
|
item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation.
|
||||||
tutorial.generatordrill = Combustion generators need fuel.\nFuel it with coal from a drill.
|
item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux.
|
||||||
tutorial.node = Power requires transport.\nCreate a[accent] power node[] next to your combustion generator to transfer its power.
|
item.coal.description = A common and readily available fuel.
|
||||||
tutorial.nodelink = Power can be transferred through contacting power blocks and generators, or by linked power nodes.\n\nLink power by tapping the node and selecting the generator and silicon smelter.
|
item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft.
|
||||||
tutorial.silicon = Silicon is being produced. Get some.\n\nImproving the production system is advised.
|
item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel.
|
||||||
tutorial.daggerfactory = Construct a[accent] dagger mech factory.[]\n\nThis will be used to create attack mechs.
|
item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals.
|
||||||
tutorial.router = Factories need resources to function.\nCreate a router to split conveyor resources.
|
item.silicon.description = An extremely useful semiconductor, with applications in solar panels and many complex electronics.
|
||||||
tutorial.dagger = Link power nodes to the factory.\nOnce requirements are met, a mech will be created.\n\nCreate more drills, generators and conveyors as necessary.
|
item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition.
|
||||||
tutorial.battle = The[LIGHT_GRAY] enemy[] has revealed their core.\nDestroy it with your unit and dagger mechs.
|
item.phase-fabric.description = A near-weightless substance used in advanced electronics and self-repairing technology.
|
||||||
|
item.surge-alloy.description = An advanced alloy with unique electrical properties.
|
||||||
|
item.spore-pod.description = Used for conversion into oil, explosives and fuel.
|
||||||
|
item.blast-compound.description = A volatile compound used in bombs and explosives. While it can burned as fuel, this is not advised.
|
||||||
|
item.pyratite.description = An extremely flammable substance used in incendiary weapons.
|
||||||
|
liquid.water.description = Sageli kasutatud jahutamiseks ja jäätme töötluseks.
|
||||||
|
liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon.
|
||||||
|
liquid.oil.description = Seda saab põleteda, õhku lasta või kasutada jahutamiseks.
|
||||||
|
liquid.cryofluid.description = Kõige efektiivsem vedelik asjade maha jahutamiseks.
|
||||||
|
mech.alpha-mech.description = The standard mech. Has decent speed and damage output.
|
||||||
|
mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons.
|
||||||
|
mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability.
|
||||||
|
mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor ability can block up to 90% of incoming damage.
|
||||||
|
mech.dart-ship.description = The standard ship. Reasonably fast and light, but has little offensive capability and low mining speed.
|
||||||
|
mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning ability and missiles.
|
||||||
|
mech.trident-ship.description = A heavy bomber. Reasonably well armored.
|
||||||
|
mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Good acceleration and maximum speed.
|
||||||
|
unit.draug.description = A primitive mining drone. Cheap to produce. Expendable. Automatically mines copper and lead in the vicinity. Delivers mined resources to the closest core.
|
||||||
|
unit.spirit.description = The starter drone unit. Spawns in the core by default. Automatically mines ores and repairs blocks.
|
||||||
|
unit.phantom.description = An advanced drone unit. Automatically mines ores and repairs blocks. Significantly more effective than a spirit drone.
|
||||||
|
unit.dagger.description = A basic ground unit. Useful in swarms.
|
||||||
|
unit.crawler.description = A ground unit consisting of a stripped-down frame with high explosives strapped on top. Not particular durable. Explodes on contact with enemies.
|
||||||
|
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets.
|
||||||
|
unit.fortress.description = A heavy artillery ground unit.
|
||||||
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
|
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
||||||
|
unit.ghoul.description = A heavy carpet bomber.
|
||||||
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
|
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
||||||
|
block.kiln.description = Smelts sand and lead into metaglass. Requires small amounts of power.
|
||||||
|
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
||||||
|
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
||||||
|
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
||||||
|
block.cryofluidmixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
||||||
|
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
||||||
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
|
block.melter.description = Melts down scrap into slag for further processing or usage in turrets.
|
||||||
|
block.separator.description = Extracts useful minerals from slag.
|
||||||
|
block.spore-press.description = Compresses spore pods into oil.
|
||||||
|
block.pulverizer.description = Crushes scrap into sand. Useful when there is a lack of natural sand.
|
||||||
|
block.coal-centrifuge.description = Solidifes oil into chunks of coal.
|
||||||
|
block.incinerator.description = Gets rid of any excess item or liquid.
|
||||||
|
block.power-void.description = Hävitab kõik materjalid, mis sinna lähevad. Ainult liivakastis.
|
||||||
|
block.power-source.description = Annab välja lõpmatult elektrit. Ainult liivakastis.
|
||||||
|
block.item-source.description = Annab välja lõpmatult materjale. Ainult liivakastis.
|
||||||
|
block.item-void.description = Hävitab kõik materjalid, mis sinna lähevad elektrit kasutamata. Ainult liivakastis.
|
||||||
|
block.liquid-source.description = Annab välja lõpmatult vedelikke. Ainult liivakastis.
|
||||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
||||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
||||||
|
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
||||||
|
block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles.
|
||||||
block.thorium-wall.description = A strong defensive block.\nGood protection from enemies.
|
block.thorium-wall.description = A strong defensive block.\nGood protection from enemies.
|
||||||
block.thorium-wall-large.description = A strong defensive block.\nGood protection from enemies.\nSpans multiple tiles.
|
block.thorium-wall-large.description = A strong defensive block.\nGood protection from enemies.\nSpans multiple tiles.
|
||||||
block.phase-wall.description = Not as strong as a thorium wall but will deflect bullets unless they are too powerful.
|
block.phase-wall.description = Not as strong as a thorium wall but will deflect bullets unless they are too powerful.
|
||||||
@@ -861,54 +958,45 @@ block.surge-wall.description = The strongest defensive block.\nHas a small chanc
|
|||||||
block.surge-wall-large.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.\nSpans multiple tiles.
|
block.surge-wall-large.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.\nSpans multiple tiles.
|
||||||
block.door.description = A small door that can be opened and closed by tapping on it.\nIf opened, enemies can shoot and move through.
|
block.door.description = A small door that can be opened and closed by tapping on it.\nIf opened, enemies can shoot and move through.
|
||||||
block.door-large.description = A large door that can be opened and closed by tapping on it.\nIf opened, enemies can shoot and move through.\nSpans multiple tiles.
|
block.door-large.description = A large door that can be opened and closed by tapping on it.\nIf opened, enemies can shoot and move through.\nSpans multiple tiles.
|
||||||
|
block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency.
|
||||||
block.mend-projector.description = Periodically heals blocks in its vicinity.
|
block.mend-projector.description = Periodically heals blocks in its vicinity.
|
||||||
block.overdrive-projector.description = Increases the speed of nearby buildings like drills and conveyors.
|
block.overdrive-projector.description = Increases the speed of nearby buildings like drills and conveyors.
|
||||||
block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage through bullets.
|
block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage through bullets.
|
||||||
block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy.
|
block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy.
|
||||||
block.duo.description = A small, cheap turret. Useful against ground units.
|
|
||||||
block.scatter.description = A medium-sized anti-air turret. Sprays clumps of lead or scrap flak at enemy units.
|
|
||||||
block.arc.description = A small close-range turret which shoots electricity in a random arc towards the enemy.
|
|
||||||
block.hail.description = A small artillery turret.
|
|
||||||
block.lancer.description = A medium-sized turret which shoots charged electricity beams.
|
|
||||||
block.wave.description = A medium-sized rapid-fire turret which shoots liquid bubbles.
|
|
||||||
block.salvo.description = A medium-sized turret which fires shots in salvos.
|
|
||||||
block.swarmer.description = A medium-sized turret which shoots burst missiles.
|
|
||||||
block.ripple.description = A large artillery turret which fires several shots simultaneously.
|
|
||||||
block.cyclone.description = A large rapid fire turret.
|
|
||||||
block.fuse.description = A large turret which shoots powerful short-range beams.
|
|
||||||
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
|
||||||
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
|
||||||
block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into turrets or crafters. Rotatable.
|
block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into turrets or crafters. Rotatable.
|
||||||
block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors.
|
block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors.
|
||||||
block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles.
|
|
||||||
block.junction.description = Acts as a bridge for two crossing conveyor belts. Useful in situations with two different conveyors carrying different materials to different locations.
|
block.junction.description = Acts as a bridge for two crossing conveyor belts. Useful in situations with two different conveyors carrying different materials to different locations.
|
||||||
|
block.bridge-conveyor.description = Arenenud transpordi ehitis. Lubab transportida materjale üle iga pinnase ja ehitise 3 ruudu kaugusele.
|
||||||
|
block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles.
|
||||||
|
block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
|
||||||
|
block.router.description = Võtab vastu materjale ühest suunast ja annab neid võrdselt välja kolmes suunas. Kasulik ühest allikast tulevate materjalide jagamisel mitmeks.
|
||||||
|
block.distributor.description = Arenenud jagaja, mis jagab materjale kuni 7 suunas.
|
||||||
|
block.overflow-gate.description = A combination splitter and router that only outputs to the left and right if the front path is blocked.
|
||||||
block.mass-driver.description = Ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range.
|
block.mass-driver.description = Ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range.
|
||||||
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
block.mechanical-pump.description = Odav ja aeglane pump, mis ei vaja elektrit.
|
||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.rotary-pump.description = Kahekordistab kiiruse kasutades elektrit.
|
||||||
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
block.thermal-pump.description = Ülim pump.
|
||||||
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits.
|
||||||
block.pulverizer.description = Crushes scrap into sand. Useful when there is a lack of natural sand.
|
block.pulse-conduit.description = Advanced liquid transport block. Transports liquids faster and stores more than standard conduits.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid. Useful for splitting the liquids from one source to multiple targets.
|
||||||
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
block.liquid-tank.description = Hoiustab suure hulga vedelikke. Use it for creating buffers when there is a non-constant demand of materials or as a safeguard for cooling vital blocks.
|
||||||
block.cryofluidmixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
block.liquid-junction.description = Töötab kui sild kahele ristuvale torule. Kasulik situatsioonides kui kaks erinevat toru viivad kahte erinevat vedelikku eri kohtadesse.
|
||||||
block.melter.description = Melts down scrap into slag for further processing or usage in turrets.
|
block.bridge-conduit.description = Arenenud vedeliku transport. Lubab transportida vedelikke üle iga pinnase ja ehitise 3 ruudu kaugusele.
|
||||||
block.incinerator.description = Gets rid of any excess item or liquid.
|
block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles.
|
||||||
block.spore-press.description = Compresses spore pods into oil.
|
|
||||||
block.separator.description = Extracts useful minerals from slag.
|
|
||||||
block.power-node.description = Transmits power to connected nodes. Up to four power sources, sinks or nodes can be connected. The node will receive power from or supply power to any adjacent blocks.
|
block.power-node.description = Transmits power to connected nodes. Up to four power sources, sinks or nodes can be connected. The node will receive power from or supply power to any adjacent blocks.
|
||||||
block.power-node-large.description = Has a larger radius than the power node and connects to up to six power sources, sinks or nodes.
|
block.power-node-large.description = Has a larger radius than the power node and connects to up to six power sources, sinks or nodes.
|
||||||
|
block.surge-tower.description = An extremely long-range power node with fewer available connections.
|
||||||
block.battery.description = Stores power whenever there is an abundance and provides power whenever there is a shortage, as long as there is capacity left.
|
block.battery.description = Stores power whenever there is an abundance and provides power whenever there is a shortage, as long as there is capacity left.
|
||||||
block.battery-large.description = Stores much more power than a regular battery.
|
block.battery-large.description = Stores much more power than a regular battery.
|
||||||
block.combustion-generator.description = Generates power by burning oil or flammable materials.
|
block.combustion-generator.description = Generates power by burning oil or flammable materials.
|
||||||
block.turbine-generator.description = More efficient than a combustion generator, but requires additional water.
|
|
||||||
block.thermal-generator.description = Generates power when placed in hot locations.
|
block.thermal-generator.description = Generates power when placed in hot locations.
|
||||||
|
block.turbine-generator.description = More efficient than a combustion generator, but requires additional water.
|
||||||
|
block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite.
|
||||||
|
block.rtg-generator.description = A radioisotope thermoelectric generator which does not require cooling but provides less power than a thorium reactor.
|
||||||
block.solar-panel.description = Provides a small amount of power from the sun.
|
block.solar-panel.description = Provides a small amount of power from the sun.
|
||||||
block.solar-panel-large.description = Provides much better power supply than a standard solar panel, but is also much more expensive to build.
|
block.solar-panel-large.description = Provides much better power supply than a standard solar panel, but is also much more expensive to build.
|
||||||
block.thorium-reactor.description = Generates huge amounts of power from highly radioactive thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity.
|
block.thorium-reactor.description = Generates huge amounts of power from highly radioactive thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity.
|
||||||
block.rtg-generator.description = A radioisotope thermoelectric generator which does not require cooling but provides less power than a thorium reactor.
|
block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process.
|
||||||
block.unloader.description = Unloads items from a container, vault or core onto a conveyor or directly into an adjacent block. The type of item to be unloaded can be changed by tapping on the unloader.
|
|
||||||
block.container.description = Stores a small amount of items of each type. An[LIGHT_GRAY] unloader[] can be used to retrieve items from the container.
|
|
||||||
block.vault.description = Stores a large amount of items of each type. An[LIGHT_GRAY] unloader[] can be used to retrieve items from the vault.
|
|
||||||
block.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely.
|
block.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely.
|
||||||
block.pneumatic-drill.description = An improved drill which is faster and able to process harder materials by making use of air pressure.
|
block.pneumatic-drill.description = An improved drill which is faster and able to process harder materials by making use of air pressure.
|
||||||
block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Additionally, radioactive thorium can be retrieved with this drill.
|
block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Additionally, radioactive thorium can be retrieved with this drill.
|
||||||
@@ -916,40 +1004,44 @@ block.blast-drill.description = The ultimate drill. Requires large amounts of po
|
|||||||
block.water-extractor.description = Extracts water from the ground. Use it when there is no lake nearby.
|
block.water-extractor.description = Extracts water from the ground. Use it when there is no lake nearby.
|
||||||
block.cultivator.description = Cultivates tiny concentrations of spores into industry-ready pods.
|
block.cultivator.description = Cultivates tiny concentrations of spores into industry-ready pods.
|
||||||
block.oil-extractor.description = Uses large amounts of power in order to extract oil from sand. Use it when there is no direct source of oil nearby.
|
block.oil-extractor.description = Uses large amounts of power in order to extract oil from sand. Use it when there is no direct source of oil nearby.
|
||||||
block.trident-ship-pad.description = Leave your current vessel and change into a reasonably well armored heavy bomber.\nUse the pad by double tapping while standing on it.
|
block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen.
|
||||||
block.javelin-ship-pad.description = Leave your current vessel and change into a strong and fast interceptor with lightning weapons.\nUse the pad by double tapping while standing on it.
|
block.core-foundation.description = The second version of the core. Better armored. Stores more resources.
|
||||||
block.glaive-ship-pad.description = Leave your current vessel and change into a large, well-armored gunship.\nUse the pad by double tapping while standing on it.
|
block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources.
|
||||||
block.tau-mech-pad.description = Leave your current vessel and change into a support mech which can heal friendly buildings and units.\nUse the pad by double tapping while standing on it.
|
block.vault.description = Stores a large amount of items of each type. An[LIGHT_GRAY] unloader[] can be used to retrieve items from the vault.
|
||||||
block.delta-mech-pad.description = Leave your current vessel and change into a fast, lightly-armored mech made for hit-and-run attacks.\nUse the pad by double tapping while standing on it.
|
block.container.description = Stores a small amount of items of each type. An[LIGHT_GRAY] unloader[] can be used to retrieve items from the container.
|
||||||
block.omega-mech-pad.description = Leave your current vessel and change into a bulky and well-armored mech, made for front-line assaults.\nUse the pad by double tapping while standing on it.
|
block.unloader.description = Unloads items from a container, vault or core onto a conveyor or directly into an adjacent block. The type of item to be unloaded can be changed by tapping on the unloader.
|
||||||
|
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished.
|
||||||
|
block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently.
|
||||||
|
block.duo.description = A small, cheap turret. Useful against ground units.
|
||||||
|
block.scatter.description = A medium-sized anti-air turret. Sprays clumps of lead or scrap flak at enemy units.
|
||||||
|
block.scorch.description = Burns any ground enemies close to it. Highly effective at close range.
|
||||||
|
block.hail.description = A small artillery turret.
|
||||||
|
block.wave.description = A medium-sized rapid-fire turret which shoots liquid bubbles.
|
||||||
|
block.lancer.description = A medium-sized turret which shoots charged electricity beams.
|
||||||
|
block.arc.description = A small close-range turret which shoots electricity in a random arc towards the enemy.
|
||||||
|
block.swarmer.description = A medium-sized turret which shoots burst missiles.
|
||||||
|
block.salvo.description = A medium-sized turret which fires shots in salvos.
|
||||||
|
block.fuse.description = A large turret which shoots powerful short-range beams.
|
||||||
|
block.ripple.description = A large artillery turret which fires several shots simultaneously.
|
||||||
|
block.cyclone.description = A large rapid fire turret.
|
||||||
|
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
||||||
|
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
||||||
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
||||||
block.wraith-factory.description = Produces fast, hit-and-run interceptor units.
|
block.wraith-factory.description = Produces fast, hit-and-run interceptor units.
|
||||||
block.ghoul-factory.description = Produces heavy carpet bombers.
|
block.ghoul-factory.description = Produces heavy carpet bombers.
|
||||||
block.dagger-factory.description = Produces basic ground units.
|
|
||||||
block.titan-factory.description = Produces advanced, armored ground units.
|
|
||||||
|
|
||||||
block.fortress-factory.description = Produces heavy artillery ground units.
|
|
||||||
block.revenant-factory.description = Produces heavy laser air units.
|
block.revenant-factory.description = Produces heavy laser air units.
|
||||||
|
block.dagger-factory.description = Produces basic ground units.
|
||||||
|
block.crawler-factory.description = Produces fast self-destructing swarm units.
|
||||||
|
block.titan-factory.description = Produces advanced, armored ground units.
|
||||||
|
block.fortress-factory.description = Produces heavy artillery ground units.
|
||||||
block.repair-point.description = Continuously heals the closest damaged unit in its vicinity.
|
block.repair-point.description = Continuously heals the closest damaged unit in its vicinity.
|
||||||
block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits.
|
block.dart-mech-pad.description = Provides transformation into a basic attack mech.\nUse by tapping while standing on it.
|
||||||
block.pulse-conduit.description = Advanced liquid transport block. Transports liquids faster and stores more than standard conduits.
|
block.delta-mech-pad.description = Leave your current vessel and change into a fast, lightly-armored mech made for hit-and-run attacks.\nUse the pad by double tapping while standing on it.
|
||||||
block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles.
|
block.tau-mech-pad.description = Leave your current vessel and change into a support mech which can heal friendly buildings and units.\nUse the pad by double tapping while standing on it.
|
||||||
block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid. Useful for splitting the liquids from one source to multiple targets.
|
block.omega-mech-pad.description = Leave your current vessel and change into a bulky and well-armored mech, made for front-line assaults.\nUse the pad by double tapping while standing on it.
|
||||||
block.liquid-tank.description = Hoiustab suure hulga vedelikke. Use it for creating buffers when there is a non-constant demand of materials or as a safeguard for cooling vital blocks.
|
block.javelin-ship-pad.description = Leave your current vessel and change into a strong and fast interceptor with lightning weapons.\nUse the pad by double tapping while standing on it.
|
||||||
block.liquid-junction.description = Töötab kui sild kahele ristuvale torule. Kasulik situatsioonides kui kaks erinevat toru viivad kahte erinevat vedelikku eri kohtadesse.
|
block.trident-ship-pad.description = Leave your current vessel and change into a reasonably well armored heavy bomber.\nUse the pad by double tapping while standing on it.
|
||||||
block.bridge-conduit.description = Arenenud vedeliku transport. Lubab transportida vedelikke üle iga pinnase ja ehitise 3 ruudu kaugusele.
|
block.glaive-ship-pad.description = Leave your current vessel and change into a large, well-armored gunship.\nUse the pad by double tapping while standing on it.
|
||||||
block.mechanical-pump.description = Odav ja aeglane pump, mis ei vaja elektrit.
|
|
||||||
block.rotary-pump.description = Kahekordistab kiiruse kasutades elektrit.
|
|
||||||
block.thermal-pump.description = Ülim pump.
|
|
||||||
block.router.description = Võtab vastu materjale ühest suunast ja annab neid võrdselt välja kolmes suunas. Kasulik ühest allikast tulevate materjalide jagamisel mitmeks.
|
|
||||||
block.distributor.description = Arenenud jagaja, mis jagab materjale kuni 7 suunas.
|
|
||||||
block.bridge-conveyor.description = Arenenud transpordi ehitis. Lubab transportida materjale üle iga pinnase ja ehitise 3 ruudu kaugusele.
|
|
||||||
block.item-source.description = Annab välja lõpmatult materjale. Ainult liivakastis.
|
|
||||||
block.liquid-source.description = Annab välja lõpmatult vedelikke. Ainult liivakastis.
|
|
||||||
block.item-void.description = Hävitab kõik materjalid, mis sinna lähevad elektrit kasutamata. Ainult liivakastis.
|
|
||||||
block.power-source.description = Annab välja lõpmatult elektrit. Ainult liivakastis.
|
|
||||||
block.power-void.description = Hävitab kõik materjalid, mis sinna lähevad. Ainult liivakastis.
|
|
||||||
liquid.water.description = Sageli kasutatud jahutamiseks ja jäätme töötluseks.
|
|
||||||
liquid.oil.description = Seda saab põleteda, õhku lasta või kasutada jahutamiseks.
|
|
||||||
liquid.cryofluid.description = Kõige efektiivsem vedelik asjade maha jahutamiseks.
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ contributors = Traducteurs et contributeurs
|
|||||||
discord = Rejoignez le discord de Mindustry !
|
discord = Rejoignez le discord de Mindustry !
|
||||||
link.discord.description = Le discord officiel de Mindustry
|
link.discord.description = Le discord officiel de Mindustry
|
||||||
link.github.description = Code source du jeu
|
link.github.description = Code source du jeu
|
||||||
link.changelog.description = List of update changes
|
link.changelog.description = Liste des modifications de mise à jour
|
||||||
link.dev-builds.description = Versions instables de développement
|
link.dev-builds.description = Versions instables de développement
|
||||||
link.trello.description = Planning Trello officiel pour les fonctionnalités planifiées.
|
link.trello.description = Planning Trello officiel pour les fonctionnalités planifiées.
|
||||||
link.itch.io.description = Page web itch.io avec les versions ordinateurs téléchargeables et la version web
|
link.itch.io.description = Page web itch.io avec les versions ordinateurs téléchargeables et la version web
|
||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Carte trop grande, potentiellement pas assez de mémoire po
|
|||||||
gameover = Le base a été détruite.
|
gameover = Le base a été détruite.
|
||||||
gameover.pvp = L'équipe[accent] {0}[] a gagnée !
|
gameover.pvp = L'équipe[accent] {0}[] a gagnée !
|
||||||
highscore = [accent]Nouveau meilleur score !
|
highscore = [accent]Nouveau meilleur score !
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Vagues vaincues:[accent] {0}
|
stat.wave = Vagues vaincues:[accent] {0}
|
||||||
stat.enemiesDestroyed = Ennemies détruits:[accent] {0}
|
stat.enemiesDestroyed = Ennemies détruits:[accent] {0}
|
||||||
stat.built = Bâtiments construits:[accent] {0}
|
stat.built = Bâtiments construits:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Bâtiments détruits:[accent] {0}
|
|||||||
stat.deconstructed = Bâtiments déconstruits:[accent] {0}
|
stat.deconstructed = Bâtiments déconstruits:[accent] {0}
|
||||||
stat.delivered = Ressources transférées:
|
stat.delivered = Ressources transférées:
|
||||||
stat.rank = FRang Final: [accent]{0}
|
stat.rank = FRang Final: [accent]{0}
|
||||||
placeline = Tu as sélectionné un bloc.\nTu peux les[accent] placer en rangée[] en[accent] maintenant ton doigt sur l'écran pendant quelque secondes[] et en le glissant vers n'importe qu'elle direction.\nEssaye!
|
|
||||||
removearea = Tu as sélectionné le mode de suppression.\nTu peux[accent] supprimer les blocs en rectangle[] en[accent] maintenant ton doigt sur l'écran pendant quelques secondes[] et en le glissant.\nEssaye!
|
|
||||||
launcheditems = [accent]Ressources transférées
|
launcheditems = [accent]Ressources transférées
|
||||||
map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"?
|
map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"?
|
||||||
level.highscore = Meilleur score: [accent]{0}
|
level.highscore = Meilleur score: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = Nouvelle partie
|
|||||||
none = <Vide>
|
none = <Vide>
|
||||||
minimap = Minimap
|
minimap = Minimap
|
||||||
close = Fermer
|
close = Fermer
|
||||||
|
website = Website
|
||||||
quit = Quitter
|
quit = Quitter
|
||||||
maps = Cartes
|
maps = Cartes
|
||||||
continue = Continue
|
continue = Continue
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} joueur en ligne
|
|||||||
server.closing = [accent]Fermeture du serveur ...
|
server.closing = [accent]Fermeture du serveur ...
|
||||||
server.kicked.kick = Vous avez été expulsé du serveur !
|
server.kicked.kick = Vous avez été expulsé du serveur !
|
||||||
server.kicked.serverClose = Serveur fermé.
|
server.kicked.serverClose = Serveur fermé.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Client dépassé! Mettez à jour votre jeu !
|
server.kicked.clientOutdated = Client dépassé! Mettez à jour votre jeu !
|
||||||
server.kicked.serverOutdated = Serveur dépassé! Demandez à l'hôte de le mettre à jour !
|
server.kicked.serverOutdated = Serveur dépassé! Demandez à l'hôte de le mettre à jour !
|
||||||
server.kicked.banned = Vous êtes banni de ce serveur.
|
server.kicked.banned = Vous êtes banni de ce serveur.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Vous avez été expulsé récemment.\nAttendez avant de vous connecter à nouveau.
|
server.kicked.recentKick = Vous avez été expulsé récemment.\nAttendez avant de vous connecter à nouveau.
|
||||||
server.kicked.nameInUse = Il y a déjà quelqu'un avec ce nom\nsur ce serveur.
|
server.kicked.nameInUse = Il y a déjà quelqu'un avec ce nom\nsur ce serveur.
|
||||||
server.kicked.nameEmpty = Votre nom doit contenir au moins une lettre ou un chiffre.
|
server.kicked.nameEmpty = Votre nom doit contenir au moins une lettre ou un chiffre.
|
||||||
server.kicked.idInUse = Vous êtes déjà sur ce serveur ! Se connecter avec deux comptes n'est pas permis !
|
server.kicked.idInUse = Vous êtes déjà sur ce serveur ! Se connecter avec deux comptes n'est pas permis !
|
||||||
server.kicked.customClient = Ce serveur ne supporte pas les versions personnalisées (Custom builds). Télécharger une version officielle.
|
server.kicked.customClient = Ce serveur ne supporte pas les versions personnalisées (Custom builds). Télécharger une version officielle.
|
||||||
server.kicked.gameover = Vous avez perdu !
|
server.kicked.gameover = Vous avez perdu !
|
||||||
|
server.versions = Votre version:[accent] {0}[]\nVersion du serveur:[accent] {1}[]
|
||||||
host.info = Le bouton [accent]héberger[] héberge un serveur sur les ports [scarlet]6567[] et [scarlet]6568.[]\nN'importe qui sur le même [LIGHT_GRAY]réseau wifi ou local[] devrait pouvoir voir votre serveur dans sa liste de serveurs.\n\nSi vous voulez que les gens puissent se connecter de n'importe où grâce à l'IP, [accent]rediriger les ports[] est requis.\n\n[LIGHT_GRAY]Note:Si quelqu'un éprouve des difficultés à se connecter à votre partie LAN, assurez-vous que vous avez autorisé Mindustry à accéder à votre réseau local dans les paramètres de votre pare-feu.
|
host.info = Le bouton [accent]héberger[] héberge un serveur sur les ports [scarlet]6567[] et [scarlet]6568.[]\nN'importe qui sur le même [LIGHT_GRAY]réseau wifi ou local[] devrait pouvoir voir votre serveur dans sa liste de serveurs.\n\nSi vous voulez que les gens puissent se connecter de n'importe où grâce à l'IP, [accent]rediriger les ports[] est requis.\n\n[LIGHT_GRAY]Note:Si quelqu'un éprouve des difficultés à se connecter à votre partie LAN, assurez-vous que vous avez autorisé Mindustry à accéder à votre réseau local dans les paramètres de votre pare-feu.
|
||||||
join.info = Ici, vous pouvez entrer l' [accent]IP d'un serveur[] pour s'y connecter, ou découvrir les serveurs[accent]sur votre réseau local[] pour s'y connecter.\nLes parties multijoueur LAN et WAN sont toutes deux supportées.\n\n[LIGHT_GRAY]Note: Aucune liste globale des serveurs n'est génerée automatiquement: si vous voulez vous connecter à un serveur par IP, vous devrez demander l'IP à l'hébergeur.
|
join.info = Ici, vous pouvez entrer l' [accent]IP d'un serveur[] pour s'y connecter, ou découvrir les serveurs[accent]sur votre réseau local[] pour s'y connecter.\nLes parties multijoueur LAN et WAN sont toutes deux supportées.\n\n[LIGHT_GRAY]Note: Aucune liste globale des serveurs n'est génerée automatiquement: si vous voulez vous connecter à un serveur par IP, vous devrez demander l'IP à l'hébergeur.
|
||||||
hostserver = Héberger un serveur
|
hostserver = Héberger un serveur
|
||||||
@@ -154,7 +161,15 @@ cancel = Annuler
|
|||||||
openlink = Ouvrir le lien
|
openlink = Ouvrir le lien
|
||||||
copylink = Copier le lien
|
copylink = Copier le lien
|
||||||
back = Retour
|
back = Retour
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Êtes-vous sûr de vouloir quitter?
|
quit.confirm = Êtes-vous sûr de vouloir quitter?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Chargement...
|
loading = [accent]Chargement...
|
||||||
saving = [accent]Sauvegarde...
|
saving = [accent]Sauvegarde...
|
||||||
wave = [accent]Vague {0}
|
wave = [accent]Vague {0}
|
||||||
@@ -186,7 +201,7 @@ editor.waves = Vagues:
|
|||||||
editor.rules = Règles:
|
editor.rules = Règles:
|
||||||
editor.generation = Generation:
|
editor.generation = Generation:
|
||||||
editor.ingame = Modifier en jeu
|
editor.ingame = Modifier en jeu
|
||||||
editor.newmap = New Map
|
editor.newmap = Nouvelle carte
|
||||||
waves.title = Vagues
|
waves.title = Vagues
|
||||||
waves.remove = Retirer
|
waves.remove = Retirer
|
||||||
waves.never = <jamais>
|
waves.never = <jamais>
|
||||||
@@ -201,7 +216,7 @@ waves.copy = Copier dans le Presse-papiers
|
|||||||
waves.load = Coller depuis le Presse-papiers
|
waves.load = Coller depuis le Presse-papiers
|
||||||
waves.invalid = Vagues invalides dans le Presse-papiers.
|
waves.invalid = Vagues invalides dans le Presse-papiers.
|
||||||
waves.copied = Vagues copiées.
|
waves.copied = Vagues copiées.
|
||||||
waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout.
|
waves.none = Aucun ennemi défini.\nNotez que les dispositions vides seront automatiquement remplacées par la dispositions par défaut.
|
||||||
editor.default = [LIGHT_GRAY]<Par défaut>
|
editor.default = [LIGHT_GRAY]<Par défaut>
|
||||||
edit = Modifier...
|
edit = Modifier...
|
||||||
editor.name = Nom:
|
editor.name = Nom:
|
||||||
@@ -245,31 +260,32 @@ editor.mapname = Nom de la carte:
|
|||||||
editor.overwrite = [accent]Attention!\nCela écrasera une carte existante.
|
editor.overwrite = [accent]Attention!\nCela écrasera une carte existante.
|
||||||
editor.overwrite.confirm = [scarlet]Attention ![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir la réécrire?
|
editor.overwrite.confirm = [scarlet]Attention ![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir la réécrire?
|
||||||
editor.selectmap = Sélectionnez une carte à charger:
|
editor.selectmap = Sélectionnez une carte à charger:
|
||||||
toolmode.replace = Replace
|
toolmode.replace = Remplacer
|
||||||
toolmode.replace.description = Draws only on solid blocks.
|
toolmode.replace.description = Dessine uniquement sur des blocs pleins.
|
||||||
toolmode.replaceall = Replace All
|
toolmode.replaceall = Remplacer tout
|
||||||
toolmode.replaceall.description = Replace all blocks in map.
|
toolmode.replaceall.description = Remplacez tous les blocs de la carte.
|
||||||
toolmode.orthogonal = Orthogonal
|
toolmode.orthogonal = Orthogonale
|
||||||
toolmode.orthogonal.description = Draws only orthogonal lines.
|
toolmode.orthogonal.description = Dessine uniquement des lignes orthogonales.
|
||||||
toolmode.square = Square
|
toolmode.square = Carré
|
||||||
toolmode.square.description = Square brush.
|
toolmode.square.description = Pinceau carré.
|
||||||
toolmode.eraseores = Erase Ores
|
toolmode.eraseores = Effacer les minerais
|
||||||
toolmode.eraseores.description = Erase only ores.
|
toolmode.eraseores.description = N'effacez que les minerais.
|
||||||
toolmode.fillteams = Fill Teams
|
toolmode.fillteams = Remplir les équipes
|
||||||
toolmode.fillteams.description = Fill teams instead of blocks.
|
toolmode.fillteams.description = Remplissez les équipes au lieu de blocs.
|
||||||
toolmode.drawteams = Draw Teams
|
toolmode.drawteams = Tirage au sort des équipes
|
||||||
toolmode.drawteams.description = Draw teams instead of blocks.
|
toolmode.drawteams.description = Dessinez des équipes au lieu de blocs.
|
||||||
filters.empty = [LIGHT_GRAY]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous.
|
filters.empty = [LIGHT_GRAY]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous.
|
||||||
filter.distort = Déformation
|
filter.distort = Déformation
|
||||||
filter.noise = Bruit
|
filter.noise = Bruit
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
filter.blend = Blend
|
filter.oremedian = Ore Median
|
||||||
filter.defaultores = Default Ores
|
filter.blend = Mélange
|
||||||
|
filter.defaultores = Minerais par défaut
|
||||||
filter.ore = Minerai
|
filter.ore = Minerai
|
||||||
filter.rivernoise = Bruit des rivières
|
filter.rivernoise = Bruit des rivières
|
||||||
filter.mirror = Mirror
|
filter.mirror = Miroir
|
||||||
filter.clear = Clear
|
filter.clear = Nettoyer
|
||||||
filter.option.ignore = Ignore
|
filter.option.ignore = Ignorer
|
||||||
filter.scatter = Dispersement
|
filter.scatter = Dispersement
|
||||||
filter.terrain = Terrain
|
filter.terrain = Terrain
|
||||||
filter.option.scale = Échelle
|
filter.option.scale = Échelle
|
||||||
@@ -282,7 +298,7 @@ filter.option.falloff = Diminution
|
|||||||
filter.option.angle = Angle
|
filter.option.angle = Angle
|
||||||
filter.option.block = Bloc
|
filter.option.block = Bloc
|
||||||
filter.option.floor = Sol
|
filter.option.floor = Sol
|
||||||
filter.option.flooronto = Target Floor
|
filter.option.flooronto = Sible au sol
|
||||||
filter.option.wall = Mur
|
filter.option.wall = Mur
|
||||||
filter.option.ore = Minerai
|
filter.option.ore = Minerai
|
||||||
filter.option.floor2 = Sol secondaire
|
filter.option.floor2 = Sol secondaire
|
||||||
@@ -293,7 +309,7 @@ width = Largeur:
|
|||||||
height = Hauteur:
|
height = Hauteur:
|
||||||
menu = Menu
|
menu = Menu
|
||||||
play = Jouer
|
play = Jouer
|
||||||
campaign = Campaign
|
campaign = Campagne
|
||||||
load = Charger
|
load = Charger
|
||||||
save = Sauvegarder
|
save = Sauvegarder
|
||||||
fps = FPS: {0}
|
fps = FPS: {0}
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Veuillez redémarrez votre jeu pour le changement de langage prenne effet.
|
language.restart = Veuillez redémarrez votre jeu pour le changement de langage prenne effet.
|
||||||
settings = Paramètres
|
settings = Paramètres
|
||||||
tutorial = Tutoriel
|
tutorial = Tutoriel
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Éditeur
|
editor = Éditeur
|
||||||
mapeditor = Éditeur de carte
|
mapeditor = Éditeur de carte
|
||||||
donate = Faire un\ndon
|
donate = Faire un\ndon
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Meilleur: {0}
|
|||||||
launch = Lancement
|
launch = Lancement
|
||||||
launch.title = Lancement réussi
|
launch.title = Lancement réussi
|
||||||
launch.next = [LIGHT_GRAY]Prochaine opportunité à la vague {0}
|
launch.next = [LIGHT_GRAY]Prochaine opportunité à la vague {0}
|
||||||
launch.unable = [scarlet]Impossible d'effectuer le lancement.[] Ennemis.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = Cela lancera toutes les ressources dans votre noyau.\nVous ne pourrez pas revenir à cette base.
|
launch.confirm = Cela lancera toutes les ressources dans votre noyau.\nVous ne pourrez pas revenir à cette base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Découvrir
|
uncover = Découvrir
|
||||||
configure = Configurer le transfert des ressources.
|
configure = Configurer le transfert des ressources.
|
||||||
configure.locked = [LIGHT_GRAY]Atteigner la vague {0}\npour configurer le transfert des ressources.
|
configure.locked = [LIGHT_GRAY]Atteigner la vague {0}\npour configurer le transfert des ressources.
|
||||||
@@ -326,7 +344,7 @@ zone.config.complete = Vague {0} atteinte:\nConfiguration du transfert débloqu
|
|||||||
zone.resources = Ressources détectées:
|
zone.resources = Ressources détectées:
|
||||||
zone.objective = [lightgray]Objective: [accent]{0}
|
zone.objective = [lightgray]Objective: [accent]{0}
|
||||||
zone.objective.survival = Survive
|
zone.objective.survival = Survive
|
||||||
zone.objective.attack = Destroy Enemy Core
|
zone.objective.attack = Détruire la base ennemi
|
||||||
add = Ajouter...
|
add = Ajouter...
|
||||||
boss.health = Vie du BOSS
|
boss.health = Vie du BOSS
|
||||||
connectfail = [crimson]Échec de la connexion au serveur: [accent]{0}
|
connectfail = [crimson]Échec de la connexion au serveur: [accent]{0}
|
||||||
@@ -338,7 +356,7 @@ error.alreadyconnected = Déjà connecté.
|
|||||||
error.mapnotfound = Fichier de carte introuvable !
|
error.mapnotfound = Fichier de carte introuvable !
|
||||||
error.io = Network I/O error.
|
error.io = Network I/O error.
|
||||||
error.any = Erreur réseau inconnue.
|
error.any = Erreur réseau inconnue.
|
||||||
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
error.bloom = Échec d'initialisation du flou lumineux.\nVotre appareil peut ne pas le supporter.
|
||||||
zone.groundZero.name = Première Bataille
|
zone.groundZero.name = Première Bataille
|
||||||
zone.desertWastes.name = Déchets du désert
|
zone.desertWastes.name = Déchets du désert
|
||||||
zone.craters.name = Les Cratères
|
zone.craters.name = Les Cratères
|
||||||
@@ -349,23 +367,26 @@ zone.desolateRift.name = Fissure abandonnée
|
|||||||
zone.nuclearComplex.name = Complexe nucléaire
|
zone.nuclearComplex.name = Complexe nucléaire
|
||||||
zone.overgrowth.name = Surcroissance
|
zone.overgrowth.name = Surcroissance
|
||||||
zone.tarFields.name = Champs de goudron
|
zone.tarFields.name = Champs de goudron
|
||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salière
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.groundZero.description = L'emplacement optimal pour recommencer. Faible menace ennemie. Peu de ressources.\nRassemblez autant de plomb et de cuivre que possible.\nAllons-y
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.frozenForest.description = Même ici, plus près des montagnes, les spores se sont propagées. Les températures glaciales ne peuvent pas les contenir pour toujours.\n\nCommencez l'aventure au pouvoir. Construire des générateurs de combustion. Apprenez à utiliser les réparations.
|
||||||
zone.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing.
|
zone.desertWastes.description = Ces déchets sont vastes, imprévisibles, et sillonné de structures du secteur désaffectés.\nLe charbon est présent dans la région. Brulez-le pour obtenir de l'énergie ou synthétisez du graphite.\n\n[lightgray]Ce lieu d'atterrissage ne peut être garanti.
|
||||||
zone.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills.
|
zone.saltFlats.description = Aux abords du désert se trouvent les marais salants. Peu de ressources peuvent être trouvées à cet endroit.\n\nL'ennemi a érigé un complexe de stockage de ressources ici. Éradiquer leur base. Ne laisser rien debout.
|
||||||
zone.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology.
|
zone.craters.description = L'eau s'est accumulée dans ce cratère, vestige des guerres anciennes. Récupérer la zone. Recueillir du sable. Créé du Métaverre. Pomper de l'eau pour refroidir les tourelles et les perceuses.
|
||||||
zone.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units.
|
zone.ruinousShores.description = Passé les déchets, c'est le rivage. Une fois, cet endroit a abrité un réseau de défense côtière. Il n'en reste pas beaucoup. Seules les structures de défense les plus élémentaires restent indemnes, tout le reste étant réduit à néant.\nContinuer l'expansion vers l'extérieur. Redécouvrez la technologie.
|
||||||
zone.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build dagger units. Destroy it. Reclaim that which was lost.
|
zone.stainedMountains.description = Plus à l'intérieur des terres se trouvent les montagnes, non polluées par les spores.\nExtraire le titane abondant dans cette zone. Et apprennez comment l'utiliser.\n\nLa présence de l'ennemi est plus grande ici. Ne leur donnez pas le temps d'envoyer leurs unités les plus fortes.
|
||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.overgrowth.description = Cette zone est envahie par la végétation, plus proche de la source des spores.\nL'ennemi a établi un avant-poste ici. Construire des unités de poignard. Detruis-le. Et repprennez ce qui a été perdu !
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.tarFields.description = La périphérie d'une zone de production de pétrole, entre les montagnes et le désert. Une des rares zones avec des réserves de goudron utilisables.\nBien qu'abandonnée, cette zone a des forces ennemies dangereuses à proximité. Ne les sous-estimez pas.\n\n[lightgray]Rechercher la technologie de traitement de pétrole si possible.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.desolateRift.description = Une zone extrêmement dangereuse. Ressources abondantes, mais peu d'espace. Risque élevé de destruction. Pars le plus vite possible.\nNe vous laissez pas berner par le long espacement entre les attaques ennemies.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.nuclearComplex.description = Une ancienne installation de production et de traitement de thorium, réduite à néant.\n[lightgray]Recherche sur le thorium et ses nombreuses utilisations.\n\nL'ennemi est présent ici en grand nombre, recherchant constamment des assaillants.
|
||||||
zone.crags.description = <insert description here>
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
|
zone.impact0078.description = <insérer la description ici>
|
||||||
|
zone.crags.description = <insérer la description ici>
|
||||||
settings.language = Langage
|
settings.language = Langage
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Valeur par défaut.
|
settings.reset = Valeur par défaut.
|
||||||
settings.rebind = Réatttribuer
|
settings.rebind = Réatttribuer
|
||||||
settings.controls = Contrôles
|
settings.controls = Contrôles
|
||||||
@@ -383,7 +404,7 @@ no = Non
|
|||||||
info.title = Info
|
info.title = Info
|
||||||
error.title = [crimson]Une erreur s'est produite
|
error.title = [crimson]Une erreur s'est produite
|
||||||
error.crashtitle = Une erreur s'est produite
|
error.crashtitle = Une erreur s'est produite
|
||||||
attackpvponly = [scarlet]Only available in Attack/PvP modes
|
attackpvponly = [scarlet]Uniquement disponible dans les modes Attaque/PvP
|
||||||
blocks.input = Ressource(s) requise(s)
|
blocks.input = Ressource(s) requise(s)
|
||||||
blocks.output = Ressource(s) produite(s)
|
blocks.output = Ressource(s) produite(s)
|
||||||
blocks.booster = Booster
|
blocks.booster = Booster
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Précision
|
|||||||
blocks.shots = Tirs
|
blocks.shots = Tirs
|
||||||
blocks.reload = Tirs/Seconde
|
blocks.reload = Tirs/Seconde
|
||||||
blocks.ammo = Munition
|
blocks.ammo = Munition
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Vitesse de forage: {0}/s
|
bar.drillspeed = Vitesse de forage: {0}/s
|
||||||
bar.efficiency = Efficacité: {0}%
|
bar.efficiency = Efficacité: {0}%
|
||||||
bar.powerbalance = Énergie: {0}
|
bar.powerbalance = Énergie: {0}
|
||||||
@@ -436,7 +458,7 @@ bullet.shock = [stat]choc
|
|||||||
bullet.frag = [stat]frag
|
bullet.frag = [stat]frag
|
||||||
bullet.knockback = [stat]{0}[lightgray]recul
|
bullet.knockback = [stat]{0}[lightgray]recul
|
||||||
bullet.freezing = [stat]gel
|
bullet.freezing = [stat]gel
|
||||||
bullet.tarred = [stat]tarred
|
bullet.tarred = [stat]goudronné
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions
|
bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions
|
||||||
bullet.reload = [stat]{0}[lightgray]x vitesse de rechargement
|
bullet.reload = [stat]{0}[lightgray]x vitesse de rechargement
|
||||||
unit.blocks = Blocs
|
unit.blocks = Blocs
|
||||||
@@ -466,11 +488,11 @@ setting.animatedshields.name = Boucliers Animés
|
|||||||
setting.antialias.name = Antialias[LIGHT_GRAY] (demande le redémarrage de l'appareil)[]
|
setting.antialias.name = Antialias[LIGHT_GRAY] (demande le redémarrage de l'appareil)[]
|
||||||
setting.indicators.name = Indicateurs d'alliés
|
setting.indicators.name = Indicateurs d'alliés
|
||||||
setting.autotarget.name = Visée automatique
|
setting.autotarget.name = Visée automatique
|
||||||
setting.keyboard.name = Mouse+Keyboard Controls
|
setting.keyboard.name = Contrôles Souris + Clavier
|
||||||
setting.fpscap.name = Max FPS
|
setting.fpscap.name = Max FPS
|
||||||
setting.fpscap.none = Vide
|
setting.fpscap.none = Vide
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.uiscale.name = UI Scaling[lightgray] (require restart)[]
|
setting.uiscale.name = Mise à l'échelle de l'interface[lightgray] (nécessite un redémarrage)[]
|
||||||
setting.swapdiagonal.name = Autoriser le placement des blocs en diagonal
|
setting.swapdiagonal.name = Autoriser le placement des blocs en diagonal
|
||||||
setting.difficulty.training = Entraînement
|
setting.difficulty.training = Entraînement
|
||||||
setting.difficulty.easy = Facile
|
setting.difficulty.easy = Facile
|
||||||
@@ -491,17 +513,19 @@ setting.lasers.name = Afficher les rayons des lasers
|
|||||||
setting.pixelate.name = Pixélisé [LIGHT_GRAY](peut diminuer les performances)[]
|
setting.pixelate.name = Pixélisé [LIGHT_GRAY](peut diminuer les performances)[]
|
||||||
setting.minimap.name = Montrer la minimap
|
setting.minimap.name = Montrer la minimap
|
||||||
setting.musicvol.name = Volume de la musique
|
setting.musicvol.name = Volume de la musique
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Couper la musique
|
setting.mutemusic.name = Couper la musique
|
||||||
setting.sfxvol.name = Volume des SFX
|
setting.sfxvol.name = Volume des SFX
|
||||||
setting.mutesound.name = Couper les SFX
|
setting.mutesound.name = Couper les SFX
|
||||||
setting.crashreport.name = Envoyer des rapports d'incident anonymement.
|
setting.crashreport.name = Envoyer des rapports d'incident anonymement.
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Opacité du tchat
|
setting.chatopacity.name = Opacité du tchat
|
||||||
setting.playerchat.name = Afficher le tchat en jeu
|
setting.playerchat.name = Afficher le tchat en jeu
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = L'échelle de l'interface a été modifiée.\nAppuyez sur "OK" pour confirmer cette échelle.\n[scarlet]Revenir et sortir en[accent] {0}[] réglages...
|
||||||
uiscale.cancel = Cancel & Exit
|
uiscale.cancel = Annuler et quitter
|
||||||
setting.bloom.name = Bloom
|
setting.bloom.name = Flou lumineux
|
||||||
keybind.title = Paramétrer les touches
|
keybind.title = Paramétrer les touches
|
||||||
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
|
keybinds.mobile = [scarlet]La plupart des raccourcis clavier ne sont pas fonctionnelles sur les appareils mobiles. Seul le mouvement de base est pris en charge.
|
||||||
category.general.name = Général
|
category.general.name = Général
|
||||||
category.view.name = Voir
|
category.view.name = Voir
|
||||||
category.multiplayer.name = Multijoueur
|
category.multiplayer.name = Multijoueur
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Appuyez sur un axe ou une touche...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Mouvement X
|
keybind.move_x.name = Mouvement X
|
||||||
keybind.move_y.name = Mouvement Y
|
keybind.move_y.name = Mouvement Y
|
||||||
|
keybind.fullscreen.name = Basculer en plein écran
|
||||||
keybind.select.name = Sélectionner/Tirer
|
keybind.select.name = Sélectionner/Tirer
|
||||||
keybind.diagonal_placement.name = Placement en diagonal
|
keybind.diagonal_placement.name = Placement en diagonal
|
||||||
keybind.pick.name = Choisir un bloc
|
keybind.pick.name = Choisir un bloc
|
||||||
@@ -550,7 +575,7 @@ mode.custom = Règles personnalisées
|
|||||||
rules.infiniteresources = Ressources infinies
|
rules.infiniteresources = Ressources infinies
|
||||||
rules.wavetimer = Temps de vague
|
rules.wavetimer = Temps de vague
|
||||||
rules.waves = Vague
|
rules.waves = Vague
|
||||||
rules.attack = Attack Mode
|
rules.attack = Mode attaque
|
||||||
rules.enemyCheat = Ressources infinies pour l'IA
|
rules.enemyCheat = Ressources infinies pour l'IA
|
||||||
rules.unitdrops = Uniter Drops
|
rules.unitdrops = Uniter Drops
|
||||||
rules.unitbuildspeedmultiplier = Multiplicateur de vitesse de création d'unités
|
rules.unitbuildspeedmultiplier = Multiplicateur de vitesse de création d'unités
|
||||||
@@ -634,7 +659,7 @@ mech.buildspeed = [LIGHT_GRAY]Building Speed: {0}%
|
|||||||
liquid.heatcapacity = [LIGHT_GRAY]Capacité Thermique {0}
|
liquid.heatcapacity = [LIGHT_GRAY]Capacité Thermique {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]Viscosité: {0}
|
liquid.viscosity = [LIGHT_GRAY]Viscosité: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]Température: {0}
|
liquid.temperature = [LIGHT_GRAY]Température: {0}
|
||||||
block.sand-boulder.name = Sand Boulder
|
block.sand-boulder.name = Sable rocheux
|
||||||
block.grass.name = Herbe
|
block.grass.name = Herbe
|
||||||
block.salt.name = Sel
|
block.salt.name = Sel
|
||||||
block.saltrocks.name = Roches de sel
|
block.saltrocks.name = Roches de sel
|
||||||
@@ -663,7 +688,7 @@ block.multi-press.name = Multi-Presse
|
|||||||
block.constructing = {0}\n[LIGHT_GRAY](En construction)
|
block.constructing = {0}\n[LIGHT_GRAY](En construction)
|
||||||
block.spawn.name = Générateur d'ennemi
|
block.spawn.name = Générateur d'ennemi
|
||||||
block.core-shard.name = Core: Shard
|
block.core-shard.name = Core: Shard
|
||||||
block.core-foundation.name = Core: Foundation
|
block.core-foundation.name = Core: Fondation
|
||||||
block.core-nucleus.name = Core: Nucleus
|
block.core-nucleus.name = Core: Nucleus
|
||||||
block.deepwater.name = Eau profonde
|
block.deepwater.name = Eau profonde
|
||||||
block.water.name = Eau
|
block.water.name = Eau
|
||||||
@@ -744,7 +769,7 @@ block.battery-large.name = Batterie large
|
|||||||
block.combustion-generator.name = Générateur à combustion
|
block.combustion-generator.name = Générateur à combustion
|
||||||
block.turbine-generator.name = Générateur à turbine
|
block.turbine-generator.name = Générateur à turbine
|
||||||
block.differential-generator.name = Générateur différentiel
|
block.differential-generator.name = Générateur différentiel
|
||||||
block.impact-reactor.name = Impact Reactor
|
block.impact-reactor.name = Réacteur à impact
|
||||||
block.mechanical-drill.name = Foreuse mécanique
|
block.mechanical-drill.name = Foreuse mécanique
|
||||||
block.pneumatic-drill.name = Foreuse à vérin
|
block.pneumatic-drill.name = Foreuse à vérin
|
||||||
block.laser-drill.name = Foreuse Laser
|
block.laser-drill.name = Foreuse Laser
|
||||||
@@ -778,7 +803,8 @@ block.blast-mixer.name = Mixeur à explosion
|
|||||||
block.solar-panel.name = Panneau solaire
|
block.solar-panel.name = Panneau solaire
|
||||||
block.solar-panel-large.name = Grand panneau solaire
|
block.solar-panel-large.name = Grand panneau solaire
|
||||||
block.oil-extractor.name = Extracteur de pétrol
|
block.oil-extractor.name = Extracteur de pétrol
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.command-center.name = Centre de commandement
|
||||||
|
block.draug-factory.name = Usine de "Drones draug miner"
|
||||||
block.spirit-factory.name = Usine de "Drones spirituels"
|
block.spirit-factory.name = Usine de "Drones spirituels"
|
||||||
block.phantom-factory.name = Usine de "Drones fantômes"
|
block.phantom-factory.name = Usine de "Drones fantômes"
|
||||||
block.wraith-factory.name = Usine de "Combattants spectraux"
|
block.wraith-factory.name = Usine de "Combattants spectraux"
|
||||||
@@ -819,13 +845,14 @@ block.container.name = Conteneur
|
|||||||
block.launch-pad.name = Rampe de lancement
|
block.launch-pad.name = Rampe de lancement
|
||||||
block.launch-pad-large.name = Grande rampe de lancement
|
block.launch-pad-large.name = Grande rampe de lancement
|
||||||
team.blue.name = Bleu
|
team.blue.name = Bleu
|
||||||
team.red.name = Rouge
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = Orange
|
team.orange.name = Orange
|
||||||
team.none.name = Gris
|
team.derelict.name = derelict
|
||||||
team.green.name = Vert
|
team.green.name = Vert
|
||||||
team.purple.name = Violet
|
team.purple.name = Violet
|
||||||
unit.spirit.name = Drone spirituel
|
unit.spirit.name = Drone spirituel
|
||||||
unit.draug.name = Draug Miner Drone
|
unit.draug.name = Drone draug miner
|
||||||
unit.phantom.name = Drone Fantôme
|
unit.phantom.name = Drone Fantôme
|
||||||
unit.dagger.name = Poignard
|
unit.dagger.name = Poignard
|
||||||
unit.crawler.name = Chenille
|
unit.crawler.name = Chenille
|
||||||
@@ -839,31 +866,30 @@ unit.chaos-array.name = Chaos Array
|
|||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Votre mission, si vous l'acceptez est de détruire [LIGHT_GRAY]l'ennemi[].\n\nCommencez par [accent] miner du cuivre[]. Appuyer sur un filon de cuivre proche de votre base pour faire ceci.
|
tutorial.next = [lightgray]<Appuyez pour continuer>
|
||||||
|
tutorial.intro = Vous êtes entré dans le[scarlet] Tutoriel de Mindustry.[]\nCommencez par[accent] miner du cuivre[]. Appuyez ou cliquez sur une veine de minerai de cuivre près de votre base pour commencer à miner.\n\n[accent]{0}/{1} cuivre
|
||||||
tutorial.drill = Le minage manuel est inefficace.\n[accent]Des foreuses[]peuvent miner automatiquement.\nPlacez-en une sur un filon de cuivre.
|
tutorial.drill = Le minage manuel est inefficace.\n[accent]Des foreuses[]peuvent miner automatiquement.\nPlacez-en une sur un filon de cuivre.
|
||||||
tutorial.conveyor = [accent]Les Tapis roulants[] sont utilisés pour transporter des objets jusqu'à la base.\nFaites une ligne de tapis roulants de la foreuse à la base .
|
tutorial.drill.mobile = Le minage manuel est inefficace.\n[accent]Des foreuses[]peuvent miner automatiquement.\nAppuyez sur l'onglet de forage en bas à droite.\nSélectionnez la[accent] perceuse mécanique[].\nPlacez-la sur une veine de cuivre, puis appuyez sur la[accent] coche(V)[] ci-dessous pour confirmer votre sélection.\nAppuyez sur le [accent] bouton X[]pour annuler le placement.
|
||||||
tutorial.morecopper = Plus de cuivre est demandé .\n\nRécupérez le soit manuellement soit construisez plus de foreuses.
|
tutorial.blockinfo = Chaque bloc a des statistiques différentes. Chaque foreuse ne peut extraire que certains minerais.\nPour vérifier les informations et les statistiques d'un bloc,[accent] tapez sur le "?" tout en le sélectionnant dans le menu de compilation.[]\n\n[accent]Accédez aux statistiques de la foreuse mécanique maintenant.[]
|
||||||
|
tutorial.conveyor = [accent]Les tapis roulants[] sont utilisés pour transporter des objets jusqu'à la base.\nFaites une ligne de tapis roulants de la foreuse à la base.
|
||||||
|
tutorial.conveyor.mobile = [accent]Les tapis roulants[] sont utilisés pour transporter des objets jusqu'à la base.\nFaites une ligne de tapis roulants de la foreuse à la base.\n[accent]Placez en ligne en maintenant votre doigt enfoncé pendant quelques secondes[] et glisser dans une direction.\n\n[accent]{0}/{1} convoyeurs placés en ligne\n[accent]0/1 articles livrés
|
||||||
tutorial.turret = Des constructions défensives doivent être construites pour repousser [LIGHT_GRAY]les ennemis[].Construisez une tourelle "duo" près de votre base.
|
tutorial.turret = Des constructions défensives doivent être construites pour repousser [LIGHT_GRAY]les ennemis[].Construisez une tourelle "duo" près de votre base.
|
||||||
tutorial.drillturret = Les tourelles "Duo" ont besoin de [accent]munitions en cuivre[] pour tirer.\nPlacez une foreuse à côté de la tourelle pour l'approvisionner avec du cuivre.
|
tutorial.drillturret = Les tourelles "Duo" ont besoin de [accent]munitions en cuivre[] pour tirer.\nPlacez une foreuse à côté de la tourelle pour l'approvisionner avec du cuivre.
|
||||||
tutorial.waves = Les [LIGHT_GRAY]ennemies[] approchent.\n\nDéfendez votre base pour 2 vagues. Construisez plus de tourelles.
|
tutorial.pause = Pendant le combat, vous pouvez[accent] mettre le jeu en pause.[]\nVous pouvez construire des bâtiments pendant que le jeu est en pause.\n\n[accent]Appuyez sur espace pour mettre le jeu en pause.
|
||||||
tutorial.lead = Plus de minerais sont forables. Explorez et minez du[accent] Plomb[].\n\nRamenez votre unité à la base pour transférer les ressources.
|
tutorial.pause.mobile = Pendant le combat, vous pouvez[accent] mettre le jeu en pause.[]\nVous pouvez construire des bâtiments pendant que le jeu est en pause.\n\n[accent]Appuyez sur le bouton en haut à gauche pour mettre le jeu en pause.
|
||||||
tutorial.smelter = Le cuivre et le plomb sont des métaux fragiles.\nUn alliage de qualité supérieure peut être créé dans une fonderie, l'[accent] alliage lourd [].\n\n Construisez-en un.
|
tutorial.unpause = Appuyez de nouveau sur espace pour reprendre le cour du jeu
|
||||||
tutorial.densealloy = La fonderie va maintenant produire de l'alliage lourd.\nObtenez-en .\nVous pouvez aussi améliorer la production si nécessaire .
|
tutorial.unpause.mobile = Appuyez de nouveau sur cette touche pour reprendre le cour du jeu
|
||||||
tutorial.siliconsmelter = La base va maintenant créer un[accent] drone spirituel[] pour miner et réparer les blocs.\n\nDes usines pour faire d'autres unités peuvent être faites avec du [accent] silicone.\nFaites une fonderie de silicone .
|
tutorial.breaking = Les blocs doivent souvent être détruits.\n[accent]Maintenez le bouton droit de la souris enfoncé.[] pour détruire tous les blocs sélectionnés.[]\n\n[accent]Détruisez tous les blocs de ferraille à gauche de votre base à l'aide de la sélection de zone.
|
||||||
tutorial.silicondrill = Faire du silicone demande [accent] du charbon[] et[accent] du sable [].\nCommencez par construire des foreuses .
|
tutorial.breaking.mobile = Les blocs doivent souvent être détruits.\n[accent]Sélectionnez le mode de déconstruction[], puis appuyez sur un bloc pour commencer à le casser.\nDétruisez une zone en maintenant votre doigt enfoncé pendant quelques secondes[] et glisser dans une direction.\nAppuyez sur la coche(V) pour confirmer.\n\n[accent]Détruisez tous les blocs de ferraille à gauche de votre base à l'aide de la sélection de zone.
|
||||||
tutorial.generator = Cette technologie requiert de l'énergie pour fonctionner.\nFaites un [accent]générateur à combustion[] pour en produire.
|
tutorial.withdraw = Dans certaines situations, il est nécessaire de prendre des articles directement des blocs..\nPour faire ça, [accent]tapez sur un bloc[] avec des articles à l'intérieur, alors [accent]appuyez sur l'élément[] dans l'inventaire.\nPlusieurs éléments peuvent être retirés en [accent]tapotant et en maintenant enfoncée la touche[].\n\n[accent]Retirez un peu de cuivre de votre base.[]
|
||||||
tutorial.generatordrill = Les générateurs à combustion ont besoin de carburant.\n Donnez-lui du charbon comme carburant avec une foreuse.
|
tutorial.deposit = Déposez les éléments dans des blocs en les faisant glisser de votre vaisseau vers un module de stockage.\n\n[accent]Déposez votre cuivre dans la base.[]
|
||||||
tutorial.node = L'énergie doit être transportée .\nCréez un [accent] Transmetteur energétique[] à côté de votre générateur à combustion pour transférer son énergie.
|
tutorial.waves = Les [LIGHT_GRAY]ennemies[] approchent.\n\nDéfendez votre base durant 2 vagues.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
||||||
tutorial.nodelink = L'énergie peut être transféré à l'aide de blocs utilisant de l'énergie ou des générateurs, ou encore par des Transmetteurs énergétiques reliés.\n\nReliez des transmetteurs en appuyant dessus puis en sélectionnant le générateur et la fonderie de silicone.
|
tutorial.waves.mobile = [lightgray]Les ennemies approchent[].\n\nDéfendez votre base durant 2 vagues. Votre vaisseau tirera automatiquement sur les ennemis.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
||||||
tutorial.silicon = Du silicone est maintenant produit. Obtenez-en.\n\nAugmenter la production est recommandé.
|
tutorial.launch = Une fois que vous atteignez une vague spécifique, vous êtes en mesure de[accent] lancer votre base[], laissant vos défenses derrière vous et[accent] en obtenant toutes les ressources de votre base.[]\nCes ressources peuvent ensuite servir à la recherche de nouvelles technologies.\n\n[accent]Appuyez sur le bouton de lancement.
|
||||||
tutorial.daggerfactory = Construire [accent]une usine de "Poignards" []est recommandé .\n\nElle sera utilisée pour produire des unités d'attaque.
|
|
||||||
tutorial.router = Les usines ont besoin de ressources pour fonctionner.\nCréez un routeur pour séparer les objets.
|
|
||||||
tutorial.dagger = Reliez des transmetteurs énergétiques à l'usine.\nUne fois que les conditions seront remplies , un mécha sera créé.\nConstruisez autant de foreuses, de générateurs et de tapis roulants que nécessaire.
|
|
||||||
tutorial.battle = [LIGHT_GRAY]L'Ennemi[] a révélé sa base.\nDétruisez la avec votre unité et des méchas "Poignard".
|
|
||||||
item.copper.description = Un matériau de construction utile. Utilisé intensivement dans tout les blocs.
|
item.copper.description = Un matériau de construction utile. Utilisé intensivement dans tout les blocs.
|
||||||
item.lead.description = Un matériau de départ. Utilisé intensivement en électronique et pour le transport de blocs.
|
item.lead.description = Un matériau de départ. Utilisé intensivement en électronique et pour le transport de blocs.
|
||||||
item.metaglass.description = Un composé de verre très résistant. Utilisation intensive pour la distribution et le stockage de liquides.
|
item.metaglass.description = Un composé de verre très résistant. Utilisation intensive pour la distribution et le stockage de liquides.
|
||||||
item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation.
|
item.graphite.description = Carbone minéralisé, utilisé pour les munitions et l’isolation électrique.
|
||||||
item.sand.description = Un matériau commun utilisé largement dans la fonte, à la fois dans l'alliage et comme un flux.
|
item.sand.description = Un matériau commun utilisé largement dans la fonte, à la fois dans l'alliage et comme un flux.
|
||||||
item.coal.description = Un carburant commun et facile à obtenir.
|
item.coal.description = Un carburant commun et facile à obtenir.
|
||||||
item.titanium.description = Un métal rare super-léger largement utilisé dans le transport de liquides et d'objets ainsi que dans les foreuses de haut-niveau et l'aviation
|
item.titanium.description = Un métal rare super-léger largement utilisé dans le transport de liquides et d'objets ainsi que dans les foreuses de haut-niveau et l'aviation
|
||||||
@@ -877,7 +903,7 @@ item.spore-pod.description = Utilisé pour l'obtention d'huile, d'explosifs et d
|
|||||||
item.blast-compound.description = Un composé volatile utilisé dans les bombes et les explosifs. Bien qu'il puisse être utilisé comme carburant, ce n'est pas conseillé.
|
item.blast-compound.description = Un composé volatile utilisé dans les bombes et les explosifs. Bien qu'il puisse être utilisé comme carburant, ce n'est pas conseillé.
|
||||||
item.pyratite.description = Une substance extrêmement inflammable utilisée dans les armes incendiaires.
|
item.pyratite.description = Une substance extrêmement inflammable utilisée dans les armes incendiaires.
|
||||||
liquid.water.description = Couramment utilisé pour les machines de refroidissement et le traitement des déchets.
|
liquid.water.description = Couramment utilisé pour les machines de refroidissement et le traitement des déchets.
|
||||||
liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon.
|
liquid.slag.description = Différents types de métaux en fusion mélangés. Peut être séparé en ses minéraux constitutifs ou pulvérisé sur les unités ennemies comme une arme.
|
||||||
liquid.oil.description = Peut être brûlé, explosé ou utilisé comme liquide de refroidissement.
|
liquid.oil.description = Peut être brûlé, explosé ou utilisé comme liquide de refroidissement.
|
||||||
liquid.cryofluid.description = Le liquide de refroidissement le plus efficace.
|
liquid.cryofluid.description = Le liquide de refroidissement le plus efficace.
|
||||||
mech.alpha-mech.description = Le mécha standard. A une vitesse et des dégâts décents; Il peut aussi créer jusqu'à 3 drones pour des faire des dégâts supplémentaires.
|
mech.alpha-mech.description = Le mécha standard. A une vitesse et des dégâts décents; Il peut aussi créer jusqu'à 3 drones pour des faire des dégâts supplémentaires.
|
||||||
@@ -888,23 +914,19 @@ mech.dart-ship.description = Le vaisseau standard. Raisonnablement rapide et lé
|
|||||||
mech.javelin-ship.description = Un vaisseau qui bien que lent au départ peut accélerer pour atteindre de très grandes vitesses et voler jusqu'au avant-postes ennemis, faisant d'énormes dégâts avec ses arc électriques obtenus à vitesse maximum et ses missiles.
|
mech.javelin-ship.description = Un vaisseau qui bien que lent au départ peut accélerer pour atteindre de très grandes vitesses et voler jusqu'au avant-postes ennemis, faisant d'énormes dégâts avec ses arc électriques obtenus à vitesse maximum et ses missiles.
|
||||||
mech.trident-ship.description = Un bombardier lourd raisonnablement cuirassé
|
mech.trident-ship.description = Un bombardier lourd raisonnablement cuirassé
|
||||||
mech.glaive-ship.description = Un grand vaisseau de combat cuirassé. Equipé avec un fusil automatique à munitions incendiaires. Il a aussi une bonne accéleration ainsi qu'une bonne vitesse maximale.
|
mech.glaive-ship.description = Un grand vaisseau de combat cuirassé. Equipé avec un fusil automatique à munitions incendiaires. Il a aussi une bonne accéleration ainsi qu'une bonne vitesse maximale.
|
||||||
unit.draug.description = A primitive mining drone. Cheap to produce. Expendable. Automatically mines copper and lead in the vicinity. Delivers mined resources to the closest core.
|
unit.draug.description = Un drone minier primitif. Pas cher à produire. Consommable. Extraction automatique de cuivre et de plomb dans les environs. Fournit les ressources minées à la base la plus proche.
|
||||||
unit.spirit.description = L'unité de soutien de départ. Apparaît dans la base par défaut. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs.
|
unit.spirit.description = L'unité de soutien de départ. Apparaît dans la base par défaut. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs.
|
||||||
unit.phantom.description = Une unité de soutien avancée. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs. Bien plus efficace qu'un drone spirituel.
|
unit.phantom.description = Une unité de soutien avancée. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs. Bien plus efficace qu'un drone spirituel.
|
||||||
unit.dagger.description = Une unité terrestre de base. Utile en essaims.
|
unit.dagger.description = Une unité terrestre de base. Utile en essaims.
|
||||||
unit.crawler.description = A ground unit consisting of a stripped-down frame with high explosives strapped on top. Not particular durable. Explodes on contact with enemies.
|
unit.crawler.description = Unité au sol composée d’un cadre dépouillé sur lequel sont fixés des explosifs puissants. Pas particulièrement durable. Explose au contact des ennemis.
|
||||||
unit.titan.description = Une unité terrestre cuirassée avancée. Utilise de l'alliage lourd pour munition. Attaque les unités aérinnes comme terrestres.
|
unit.titan.description = Une unité terrestre cuirassée avancée. Utilise de l'alliage lourd pour munition. Attaque les unités aérinnes comme terrestres.
|
||||||
unit.fortress.description = Une unité terrestre d'artillerie lourde.
|
unit.fortress.description = Une unité terrestre d'artillerie lourde.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = Un mech lourd conçu pour abattre des structures. Tire un flot de scories sur les fortifications ennemies, les fait fondre et met en feu les volatiles.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = Une unité volante rapide harcelant les ennemis. Utilise du plomb comme munitions.
|
unit.wraith.description = Une unité volante rapide harcelant les ennemis. Utilise du plomb comme munitions.
|
||||||
unit.ghoul.description = Un bombardier lourd. Utilise de la pyratite ou des explosifs comme munitions.
|
unit.ghoul.description = Un bombardier lourd. Utilise de la pyratite ou des explosifs comme munitions.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = Un arsenal de missiles lourd et planant.
|
||||||
unit.lich.description =
|
block.graphite-press.description = Compresse des morceaux de charbon en feuilles de graphite.
|
||||||
unit.reaper.description =
|
block.multi-press.description = Une version améliorée de la presse à graphite. Utilise de l'eau et de l'électricité pour traiter le charbon rapidement et efficacement.
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
|
||||||
block.silicon-smelter.description = Réduit le sable avec du coke* très pur afin de produire du silicium. (*Coke produit à partir de charbon:REF)
|
block.silicon-smelter.description = Réduit le sable avec du coke* très pur afin de produire du silicium. (*Coke produit à partir de charbon:REF)
|
||||||
block.kiln.description = Fait fondre le sable et le plomb en métaverre. Nécessite de petites quantités d'énergie.
|
block.kiln.description = Fait fondre le sable et le plomb en métaverre. Nécessite de petites quantités d'énergie.
|
||||||
block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane.
|
block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane.
|
||||||
@@ -917,7 +939,7 @@ block.melter.description = Chauffe la pierre à des températures très élevée
|
|||||||
block.separator.description = Exposer la pierre à la pression de l'eau afin d'obtenir différents minéraux contenus dans la pierre.
|
block.separator.description = Exposer la pierre à la pression de l'eau afin d'obtenir différents minéraux contenus dans la pierre.
|
||||||
block.spore-press.description = Comprime les gousses de spores en huile.
|
block.spore-press.description = Comprime les gousses de spores en huile.
|
||||||
block.pulverizer.description = Brise la pierre en sable. Utile en cas de manque de sable naturel.
|
block.pulverizer.description = Brise la pierre en sable. Utile en cas de manque de sable naturel.
|
||||||
block.coal-centrifuge.description = Solidifes oil into chunks of coal.
|
block.coal-centrifuge.description = Solidifie le pétrole en morceaux de charbon.
|
||||||
block.incinerator.description = Se débarrasse de tout article ou liquide en excès.
|
block.incinerator.description = Se débarrasse de tout article ou liquide en excès.
|
||||||
block.power-void.description = Annule toute l'énergie qui y est introduite. Bac à sable seulement.
|
block.power-void.description = Annule toute l'énergie qui y est introduite. Bac à sable seulement.
|
||||||
block.power-source.description = Débit infini d'énergie. Bac à sable seulement.
|
block.power-source.description = Débit infini d'énergie. Bac à sable seulement.
|
||||||
@@ -926,17 +948,17 @@ block.item-void.description = Détruit tous les objets qui y entrent sans utilis
|
|||||||
block.liquid-source.description = Débit infini de liquides. Bac à sable seulement.
|
block.liquid-source.description = Débit infini de liquides. Bac à sable seulement.
|
||||||
block.copper-wall.description = Un bloc défensif bon marché.\nUtile pour protéger le noyau et les tourelles lors des premières vagues.
|
block.copper-wall.description = Un bloc défensif bon marché.\nUtile pour protéger le noyau et les tourelles lors des premières vagues.
|
||||||
block.copper-wall-large.description = Un bloc défensif bon marché.\nUtile pour protéger le noyau et les tourelles lors des premières vagues.\nS'étend sur plusieurs tuiles.
|
block.copper-wall-large.description = Un bloc défensif bon marché.\nUtile pour protéger le noyau et les tourelles lors des premières vagues.\nS'étend sur plusieurs tuiles.
|
||||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
block.titanium-wall.description = Un bloc défensif modérément fort.\nFournit une protection modérée contre les ennemis.
|
||||||
block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles.
|
block.titanium-wall-large.description = Un bloc défensif modérément fort.\nFournit une protection modérée contre les ennemis.\nS'étend sur plusieurs tuiles.
|
||||||
block.thorium-wall.description = Un puissant bloc défensif.\nBonne protection contre les ennemis.
|
block.thorium-wall.description = Un puissant bloc défensif.\nBonne protection contre les ennemis.
|
||||||
block.thorium-wall-large.description = Un puissant bloc défensif.\nBonne protection contre les ennemis.\nS'étend sur plusieurs tuiles.
|
block.thorium-wall-large.description = Un puissant bloc défensif.\nBonne protection contre les ennemis.\nS'étend sur plusieurs tuiles.
|
||||||
block.phase-wall.description = Pas aussi fort qu'un mur de thorium, mais détournera les balles à moins qu'elles ne soient trop puissantes.
|
block.phase-wall.description = Pas aussi fort qu'un mur de thorium, mais détournera les balles à moins qu'elles ne soient trop puissantes.
|
||||||
block.phase-wall-large.description = Pas aussi fort qu'un mur de thorium, mais détournera les balles à moins qu'elles ne soient trop puissantes.\nS'étend sur plusieurs tuiles.
|
block.phase-wall-large.description = Pas aussi fort qu'un mur de thorium, mais détournera les balles à moins qu'elles ne soient trop puissantes.\nS'étend sur plusieurs tuiles.
|
||||||
block.surge-wall.description = Le bloc défensif le plus puissant.\nPeu de chances de déclencher des éclairs en direction de l'attaquant.
|
block.surge-wall.description = Le bloc défensif le plus puissant.\nPeu de chances de déclencher des éclairs en direction de l'attaquant.
|
||||||
block.surge-wall-large.description = Le bloc défensif le plus puissant.\nPeu de chances de déclencher des éclairs en direction de l'attaquant.\nS'étend sur plusieurs tuiles.
|
block.surge-wall-large.description = Le bloc défensif le plus puissant.\nPeu de chances de déclencher des éclairs en direction de l'attaquant.\nS'étend sur plusieurs tuiles.
|
||||||
block.door.description = Une petite porte qui peut être ouverte et fermée en tapotant dessus.\nSi elle est ouverte, les ennemis peuvent tirer et se déplacer.
|
block.door.description = Une petite porte qui peut être ouverte et fermée en cliquant dessus.\nSi elle est ouverte, les ennemis peuvent tirer et se déplacer.
|
||||||
block.door-large.description = Une grande porte qui peut être ouverte et fermée en tapotant dessus.\nSi elle est ouverte, les ennemis peuvent tirer et se déplacer.\nS'étend sur plusieurs tuiles.
|
block.door-large.description = Une grande porte qui peut être ouverte et fermée en cliquant dessus.\nSi elle est ouverte, les ennemis peuvent tirer et se déplacer.\nS'étend sur plusieurs tuiles.
|
||||||
block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency.
|
block.mender.description = Répare périodiquement des blocs à proximité. Garder les défenses réparées entre les vagues.\nUtilise éventuellement du silicium pour augmenter la portée et l'efficacité.
|
||||||
block.mend-projector.description = Guérit périodiquement les bâtiments situés à proximité.
|
block.mend-projector.description = Guérit périodiquement les bâtiments situés à proximité.
|
||||||
block.overdrive-projector.description = Augmente la vitesse des bâtiments à proximité, comme les foreuses et les convoyeurs.
|
block.overdrive-projector.description = Augmente la vitesse des bâtiments à proximité, comme les foreuses et les convoyeurs.
|
||||||
block.force-projector.description = Crée un champ de force hexagonal autour de lui-même, protégeant les bâtiments et les unités internes des dommages causés par les balles.
|
block.force-projector.description = Crée un champ de force hexagonal autour de lui-même, protégeant les bâtiments et les unités internes des dommages causés par les balles.
|
||||||
@@ -963,18 +985,18 @@ block.bridge-conduit.description = Bloc de transport de liquide avancé. Permet
|
|||||||
block.phase-conduit.description = Bloc de transport de liquide avancé. Utilise le pouvoir de téléporter des liquides vers un conduit de phase connecté sur plusieurs carreaux.
|
block.phase-conduit.description = Bloc de transport de liquide avancé. Utilise le pouvoir de téléporter des liquides vers un conduit de phase connecté sur plusieurs carreaux.
|
||||||
block.power-node.description = Transmet la puissance à des noeuds connectés. Il est possible de connecter jusqu'à quatre sources d'alimentation, puits ou nœuds.\nLe nœud recevra de l’alimentation ou fournira l’alimentation à tous les blocs adjacents.
|
block.power-node.description = Transmet la puissance à des noeuds connectés. Il est possible de connecter jusqu'à quatre sources d'alimentation, puits ou nœuds.\nLe nœud recevra de l’alimentation ou fournira l’alimentation à tous les blocs adjacents.
|
||||||
block.power-node-large.description = Son rayon d'action est supérieur à celui du nœud d'alimentation et peut être connecté à six sources d'alimentation, puits ou nœuds au maximum.
|
block.power-node-large.description = Son rayon d'action est supérieur à celui du nœud d'alimentation et peut être connecté à six sources d'alimentation, puits ou nœuds au maximum.
|
||||||
block.surge-tower.description = An extremely long-range power node with fewer available connections.
|
block.surge-tower.description = Un nœud d'alimentation extrêmement longue portée avec moins de connexions disponibles.
|
||||||
block.battery.description = Stocke l’énergie chaque fois qu’il ya abondance et en cas de pénurie, tant qu’il reste de la capacité.
|
block.battery.description = Stocke l’énergie chaque fois qu’il ya abondance et en cas de pénurie, tant qu’il reste de la capacité.
|
||||||
block.battery-large.description = Stocke beaucoup plus d'énergie qu'une batterie ordinaire.
|
block.battery-large.description = Stocke beaucoup plus d'énergie qu'une batterie ordinaire.
|
||||||
block.combustion-generator.description = Génère de l'énergie en brûlant du pétrole ou des matériaux inflammables.
|
block.combustion-generator.description = Génère de l'énergie en brûlant du pétrole ou des matériaux inflammables.
|
||||||
block.thermal-generator.description = Génère une grande quantité d'énergie grâce à la lave.
|
block.thermal-generator.description = Génère une grande quantité d'énergie grâce à la lave.
|
||||||
block.turbine-generator.description = Plus efficace qu'un générateur de combustion, mais nécessite de l'eau supplémentaire.
|
block.turbine-generator.description = Plus efficace qu'un générateur de combustion, mais nécessite de l'eau supplémentaire.
|
||||||
block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite.
|
block.differential-generator.description = Génère de grandes quantités d'énergie. Utilise la différence de température entre le cryofluide et la pyratite en combustion.
|
||||||
block.rtg-generator.description = Générateur thermoélectrique à radio-isotopes ne nécessitant pas de refroidissement mais fournissant moins d'énergie qu'un réacteur à thorium.
|
block.rtg-generator.description = Générateur thermoélectrique à radio-isotopes ne nécessitant pas de refroidissement mais fournissant moins d'énergie qu'un réacteur à thorium.
|
||||||
block.solar-panel.description = Fournit une petite quantité d'énergie grâce au soleil.
|
block.solar-panel.description = Fournit une petite quantité d'énergie grâce au soleil.
|
||||||
block.solar-panel-large.description = Fournit une bien meilleure alimentation qu'un panneau solaire standard, mais coûte également beaucoup plus cher à construire.
|
block.solar-panel-large.description = Fournit une bien meilleure alimentation qu'un panneau solaire standard, mais coûte également beaucoup plus cher à construire.
|
||||||
block.thorium-reactor.description = Génère d'énormes quantités d'énergie à partir de thorium hautement radioactif. Nécessite un refroidissement constant.\nExplose violemment si des quantités insuffisantes de liquide de refroidissement ne sont pas fournies.
|
block.thorium-reactor.description = Génère d'énormes quantités d'énergie à partir de thorium hautement radioactif. Nécessite un refroidissement constant.\nExplose violemment si des quantités insuffisantes de liquide de refroidissement ne sont pas fournies.
|
||||||
block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process.
|
block.impact-reactor.description = Un groupe électrogène avancé, capable de générer d’énormes quantités d’énergie avec une efficacité maximale.\nNécessite une entrée de puissance significative pour relancer le processus.
|
||||||
block.mechanical-drill.description = Un extracteur bon marché. Lorsqu'il est placé sur des carreaux appropriés, les objets sortent à un rythme lent et indéfiniment.
|
block.mechanical-drill.description = Un extracteur bon marché. Lorsqu'il est placé sur des carreaux appropriés, les objets sortent à un rythme lent et indéfiniment.
|
||||||
block.pneumatic-drill.description = Un extracteur améliorée, plus rapide et capable de traiter des matériaux plus durs en utilisant la pression atmosphérique.
|
block.pneumatic-drill.description = Un extracteur améliorée, plus rapide et capable de traiter des matériaux plus durs en utilisant la pression atmosphérique.
|
||||||
block.laser-drill.description = Permet de forer encore plus rapidement grâce à la technologie laser, mais nécessite de l'énergie. De plus, le thorium radioactif peut être récupéré avec cet extracteur.
|
block.laser-drill.description = Permet de forer encore plus rapidement grâce à la technologie laser, mais nécessite de l'énergie. De plus, le thorium radioactif peut être récupéré avec cet extracteur.
|
||||||
@@ -982,17 +1004,17 @@ block.blast-drill.description = L'extracteur ultime. Nécessite de grandes quant
|
|||||||
block.water-extractor.description = Extrait l'eau du sol. Utilisez-le quand il n'y a pas de lac à proximité.
|
block.water-extractor.description = Extrait l'eau du sol. Utilisez-le quand il n'y a pas de lac à proximité.
|
||||||
block.cultivator.description = Cultiver le sol avec de l'eau afin d'obtenir du biomatter.
|
block.cultivator.description = Cultiver le sol avec de l'eau afin d'obtenir du biomatter.
|
||||||
block.oil-extractor.description = Utilise de grandes quantités d'énergie pour extraire le pétrole du sable. Utilisez-le lorsqu'il n'y a pas de source directe de pétrole à proximité.
|
block.oil-extractor.description = Utilise de grandes quantités d'énergie pour extraire le pétrole du sable. Utilisez-le lorsqu'il n'y a pas de source directe de pétrole à proximité.
|
||||||
block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen.
|
block.core-shard.description = La première version de la base centrale. Une fois détruit, tout contact avec la région est perdu. Ne laissez pas cela arriver.
|
||||||
block.core-foundation.description = The second version of the core. Better armored. Stores more resources.
|
block.core-foundation.description = La deuxième version de la base centrale. Mieux blindé. Stocke plus de ressources.
|
||||||
block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources.
|
block.core-nucleus.description = La troisième et dernière version de la base centrale. Extrêmement bien blindé. Stocke des quantités massives de ressources.
|
||||||
block.vault.description = Stocke une grande quantité d'objets. Utilisez-le pour créer des tampons lorsqu'il existe une demande non constante de matériaux. [LIGHT_GRAY]Un déchargeur[] peut être utilisé pour récupérer des éléments du coffre-fort.
|
block.vault.description = Stocke une grande quantité d'objets. Utilisez-le pour créer des tampons lorsqu'il existe une demande non constante de matériaux. [LIGHT_GRAY]Un déchargeur[] peut être utilisé pour récupérer des éléments du coffre-fort.
|
||||||
block.container.description = Stocke une petite quantité d'objets. Utilisez-le pour créer des tampons lorsqu'il existe une demande non constante de matériaux. [LIGHT_GRAY]Un déchargeur[] peut être utilisé pour récupérer des éléments du conteneur.
|
block.container.description = Stocke une petite quantité d'objets. Utilisez-le pour créer des tampons lorsqu'il existe une demande non constante de matériaux. [LIGHT_GRAY]Un déchargeur[] peut être utilisé pour récupérer des éléments du conteneur.
|
||||||
block.unloader.description = Décharge des articles d'un conteneur, d'une chambre forte ou d'un noyau sur un convoyeur ou directement dans un bloc adjacent.\nLe type d'élément à décharger peut être modifié en tapotant sur le déchargeur.
|
block.unloader.description = Décharge des articles d'un conteneur, d'une chambre forte ou d'un noyau sur un convoyeur ou directement dans un bloc adjacent.\nLe type d'élément à décharger peut être modifié en tapotant sur le déchargeur.
|
||||||
block.launch-pad.description = Lance des lots d'articles sans qu'il soit nécessaire de procéder à un lancement de base. Inachevé.
|
block.launch-pad.description = Lance des lots d'articles sans qu'il soit nécessaire de procéder à un lancement de base. Inachevé.
|
||||||
block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently.
|
block.launch-pad-large.description = Une version améliorée de la rampe de lancement. Stocke plus d'articles. Lancements plus fréquemment.
|
||||||
block.duo.description = Une petite tourelle pas chère.
|
block.duo.description = Une petite tourelle pas chère.
|
||||||
block.scatter.description = Une tourelle anti-air de taille moyenne. Pulvérise des amas de plomb ou de ferraille sur les unités ennemies.
|
block.scatter.description = Une tourelle anti-air de taille moyenne. Pulvérise des amas de plomb ou de ferraille sur les unités ennemies.
|
||||||
block.scorch.description = Burns any ground enemies close to it. Highly effective at close range.
|
block.scorch.description = Brûle les ennemis au sol les plus proches. Très efficace à courte portée.
|
||||||
block.hail.description = Une petite tourelle d'artillerie.
|
block.hail.description = Une petite tourelle d'artillerie.
|
||||||
block.wave.description = Une tourelle de taille moyenne à tir rapide qui tire des bulles de liquide.
|
block.wave.description = Une tourelle de taille moyenne à tir rapide qui tire des bulles de liquide.
|
||||||
block.lancer.description = Une tourelle de taille moyenne qui tire des faisceaux d’électricité chargés.
|
block.lancer.description = Une tourelle de taille moyenne qui tire des faisceaux d’électricité chargés.
|
||||||
@@ -1004,21 +1026,22 @@ block.ripple.description = Une grande tourelle d'artillerie qui tire plusieurs c
|
|||||||
block.cyclone.description = Une grande tourelle à tir rapide.
|
block.cyclone.description = Une grande tourelle à tir rapide.
|
||||||
block.spectre.description = Une grande tourelle qui tire deux balles puissantes à la fois.
|
block.spectre.description = Une grande tourelle qui tire deux balles puissantes à la fois.
|
||||||
block.meltdown.description = Une grande tourelle qui tire de puissants faisceaux à longue portée.
|
block.meltdown.description = Une grande tourelle qui tire de puissants faisceaux à longue portée.
|
||||||
|
block.command-center.description = Donne des ordres aux unités alliées sur la carte.\nPermet aux unités de patrouiller, d’attaquer un noyau ennemi ou de se retirer dans le noyau/l’usine. En l'absence de base ennemi, les unités patrouillent par défaut autour du centre de commandement.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produit des drones légers qui extraient du minerai et réparent des blocs.
|
block.spirit-factory.description = Produit des drones légers qui extraient du minerai et réparent des blocs.
|
||||||
block.phantom-factory.description = Produit des unités de drones avancées qui sont nettement plus efficaces qu'un drone spirituel.
|
block.phantom-factory.description = Produit des drones avancés qui sont bien plus efficaces que les drones spirituels.
|
||||||
block.wraith-factory.description = Produit des intercepteurs rapides qui harcèlent l'ennemi.
|
block.wraith-factory.description = Produit des intercepteurs rapides qui harcèlent l'ennemi.
|
||||||
block.ghoul-factory.description = Produit des tapis de bombardiers lourds.
|
block.ghoul-factory.description = Produit des bombardiers lourds.
|
||||||
block.revenant-factory.description = Produit des unités terrestres laser lourdes.
|
block.revenant-factory.description = Produit des unités terrestres lourdes avec des lasers.
|
||||||
block.dagger-factory.description = Produit des unités terrestres de base.
|
block.dagger-factory.description = Produit des unités terrestres basiques.
|
||||||
block.crawler-factory.description = Produces fast self-destructing swarm units.
|
block.crawler-factory.description = Produit des unités autodestructrices rapides.
|
||||||
block.titan-factory.description = Produit des unités terrestres avancées et blindées.
|
block.titan-factory.description = Produit des unités terrestres avancées et blindées.
|
||||||
block.fortress-factory.description = Produit des unités terrestres d'artillerie lourde.
|
block.fortress-factory.description = Produit des unités terrestres d'artillerie lourde.
|
||||||
block.repair-point.description = Soigne en permanence l'unité endommagée la plus proche à proximité.
|
block.repair-point.description = Soigne en permanence l'unité endommagée la plus proche à proximité.
|
||||||
block.dart-mech-pad.description = Provides transformation into a basic attack mech.\nUse by tapping while standing on it.
|
block.dart-mech-pad.description = Fournit la transformation en un mech d'attaque de base.\nUtilisez en cliquant deux fois dessus.
|
||||||
block.delta-mech-pad.description = Quittez votre vaisseau actuel et changez-vous en un méchant rapide, légèrement blindé, conçu pour les attaques à la volée.\nUtilisez la plate-forme en tapotant deux fois dessus.
|
block.delta-mech-pad.description = Quittez votre vaisseau actuel et changez-vous en un méchant rapide, légèrement blindé, conçu pour les attaques à la volée.\nUtilisez la plate-forme en cliquant deux fois dessus.
|
||||||
block.tau-mech-pad.description = Quittez votre vaisseau actuel et changez-vous en un centre de support capable de soigner les bâtiments et unités amis.\nUtilisez la plate-forme en tapotant deux fois dessus.
|
block.tau-mech-pad.description = Quittez votre vaisseau actuel et changez-vous en un centre de support capable de soigner les bâtiments et unités amis.\nUtilisez la plate-forme en cliquant deux fois dessus.
|
||||||
block.omega-mech-pad.description = Quittez votre vaisseau actuel et changez-vous en un mech encombrant et bien blindé, conçu pour les assauts de première ligne.\nUtilisez la plate-forme en tapotant deux fois dessus.
|
block.omega-mech-pad.description = Quittez votre vaisseau actuel et changez-vous en un mech encombrant et bien blindé, conçu pour les assauts de première ligne.\nUtilisez la plate-forme en cliquant deux fois dessus.
|
||||||
block.javelin-ship-pad.description = Quittez votre vaisseau actuel et changez-vous en un intercepteur puissant et rapide doté d’armes légères.\nUtilisez la plate-forme en tapotant deux fois dessus.
|
block.javelin-ship-pad.description = Quittez votre vaisseau actuel et changez-vous en un intercepteur puissant et rapide doté d’armes légères.\nUtilisez la plate-forme en cliquant deux fois dessus.
|
||||||
block.trident-ship-pad.description = Quittez votre vaisseau actuel et changez-vous en un bombardier lourd raisonnablement bien blindé.\nUtilisez la plate-forme en tapotant deux fois dessus.
|
block.trident-ship-pad.description = Quittez votre vaisseau actuel et changez-vous en un bombardier lourd raisonnablement bien blindé.\nUtilisez la plate-forme en cliquant deux fois dessus.
|
||||||
block.glaive-ship-pad.description = Quittez votre vaisseau actuel et changez-vous en un grand vaisseau de combat bien blindé.\nUtilisez la plate-forme en tapotant deux fois dessus.
|
block.glaive-ship-pad.description = Quittez votre vaisseau actuel et changez-vous en un grand vaisseau de combat bien blindé.\nUtilisez la plate-forme en cliquant deux fois dessus.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Peta terlalu besar, tidak cukp memori untuk menangkap layar
|
|||||||
gameover = Permainan Habis
|
gameover = Permainan Habis
|
||||||
gameover.pvp = Tim[accent] {0}[] menang!
|
gameover.pvp = Tim[accent] {0}[] menang!
|
||||||
highscore = [accent]Rekor Baru!
|
highscore = [accent]Rekor Baru!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Gelombang Terkalahkan:[accent] {0}
|
stat.wave = Gelombang Terkalahkan:[accent] {0}
|
||||||
stat.enemiesDestroyed = Musuh Terhancurkan:[accent] {0}
|
stat.enemiesDestroyed = Musuh Terhancurkan:[accent] {0}
|
||||||
stat.built = Jumlah Blok yang Dibangun:[accent] {0}
|
stat.built = Jumlah Blok yang Dibangun:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Jumlah Blok Dihancurkan Musuh:[accent] {0}
|
|||||||
stat.deconstructed = Jumlah Blok Dihancurkan Pemain:[accent] {0}
|
stat.deconstructed = Jumlah Blok Dihancurkan Pemain:[accent] {0}
|
||||||
stat.delivered = Sumber Daya yang Diluncurkan:
|
stat.delivered = Sumber Daya yang Diluncurkan:
|
||||||
stat.rank = Nilai Akhir: [accent]{0}
|
stat.rank = Nilai Akhir: [accent]{0}
|
||||||
placeline = Anda telah memilih sebuah blok.\nAnda bisa[accent] menaruhnya berjejeran[] dengan[accent] menekan layar beberapa saat[] dan menarik jarimu ke arah yang dituju.\n\n[scarlet]Cobalah.
|
|
||||||
removearea = Anda telah memilih mode penghancuran.\nAnda bisa[accent] menghancurkan blok dalam sebuah kotak[] dengan[accent] menekan layar beberapa saat[] dan menarik jarimu sampai membentuk sebuah area.\n\n[scarlet]Cobalah.
|
|
||||||
launcheditems = [accent]Sumber Daya
|
launcheditems = [accent]Sumber Daya
|
||||||
map.delete = Apakah Anda yakin ingin menghapus peta "[accent]{0}[]"?
|
map.delete = Apakah Anda yakin ingin menghapus peta "[accent]{0}[]"?
|
||||||
level.highscore = Nilai Tertinggi: [accent]{0}
|
level.highscore = Nilai Tertinggi: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = Permainan Baru
|
|||||||
none = <kosong>
|
none = <kosong>
|
||||||
minimap = Peta Kecil
|
minimap = Peta Kecil
|
||||||
close = Tutup
|
close = Tutup
|
||||||
|
website = Website
|
||||||
quit = Keluar
|
quit = Keluar
|
||||||
maps = Maps
|
maps = Maps
|
||||||
continue = Lanjutkan
|
continue = Lanjutkan
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} pemain aktif
|
|||||||
server.closing = [accent]Menutup server...
|
server.closing = [accent]Menutup server...
|
||||||
server.kicked.kick = Anda telah dikeluarkan dari server!
|
server.kicked.kick = Anda telah dikeluarkan dari server!
|
||||||
server.kicked.serverClose = Server ditutup.
|
server.kicked.serverClose = Server ditutup.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Client kadaluarsa! perbarui permainan Anda!
|
server.kicked.clientOutdated = Client kadaluarsa! perbarui permainan Anda!
|
||||||
server.kicked.serverOutdated = Server kadaluarsa! Tanya host untuk diperbarui!
|
server.kicked.serverOutdated = Server kadaluarsa! Tanya host untuk diperbarui!
|
||||||
server.kicked.banned = Anda telah dilarang untuk memasuki server ini.
|
server.kicked.banned = Anda telah dilarang untuk memasuki server ini.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sebelum masuk lagi.
|
server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sebelum masuk lagi.
|
||||||
server.kicked.nameInUse = Sudah ada pemain dengan nama itu \ndi server ini.
|
server.kicked.nameInUse = Sudah ada pemain dengan nama itu \ndi server ini.
|
||||||
server.kicked.nameEmpty = Nama yang dipilih tidak valid.
|
server.kicked.nameEmpty = Nama yang dipilih tidak valid.
|
||||||
server.kicked.idInUse = Anda telah berada di server ini! Memasuki dengan dua akun tidak diizinkan.
|
server.kicked.idInUse = Anda telah berada di server ini! Memasuki dengan dua akun tidak diizinkan.
|
||||||
server.kicked.customClient = Server ini tidak mendukung versi modifikasi. Download versi resmi.
|
server.kicked.customClient = Server ini tidak mendukung versi modifikasi. Download versi resmi.
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang yang memiliki [LIGHT_GRAY]Wi-Fi atau jaringan lokal[] akan bisa melihat server anda di daftar server mereka.\n\nJika Anda ingin pemain dari mana saja memasuki servermu dengan IP, [accent]port forwarding[] dibutuhkan.\n\n[LIGHT_GRAY]Diingat: Jika seseorang mengalami masalah memasuki permainan LAN mu, pastikan Anda telah mengizinkan Mindustry akses ke jaringan lokalmu di pengaturan firewall.
|
host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang yang memiliki [LIGHT_GRAY]Wi-Fi atau jaringan lokal[] akan bisa melihat server anda di daftar server mereka.\n\nJika Anda ingin pemain dari mana saja memasuki servermu dengan IP, [accent]port forwarding[] dibutuhkan.\n\n[LIGHT_GRAY]Diingat: Jika seseorang mengalami masalah memasuki permainan LAN mu, pastikan Anda telah mengizinkan Mindustry akses ke jaringan lokalmu di pengaturan firewall.
|
||||||
join.info = Disini, Anda bisa memasuki [accent]server IP[], atau menemukan [accent]server lokal[] untuk bermain bersama.\nLAN dan WAN mendukung permainan bersama.\n\n[LIGHT_GRAY]Diingat: Tidak ada daftar server global; jika anda ingin bergabung dengan seseorang memakai IP, Anda perlu menanyakan host tentang IP mereka.
|
join.info = Disini, Anda bisa memasuki [accent]server IP[], atau menemukan [accent]server lokal[] untuk bermain bersama.\nLAN dan WAN mendukung permainan bersama.\n\n[LIGHT_GRAY]Diingat: Tidak ada daftar server global; jika anda ingin bergabung dengan seseorang memakai IP, Anda perlu menanyakan host tentang IP mereka.
|
||||||
hostserver = Host Permainan
|
hostserver = Host Permainan
|
||||||
@@ -154,7 +161,15 @@ cancel = Batal
|
|||||||
openlink = Buka Tautan
|
openlink = Buka Tautan
|
||||||
copylink = Salin Tautan
|
copylink = Salin Tautan
|
||||||
back = Kembali
|
back = Kembali
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Apakah Anda yakin ingin keluar?
|
quit.confirm = Apakah Anda yakin ingin keluar?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Memuat...
|
loading = [accent]Memuat...
|
||||||
saving = [accent]Menyimpan...
|
saving = [accent]Menyimpan...
|
||||||
wave = [accent]Gelombang {0}
|
wave = [accent]Gelombang {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]Tidak ada filter! Tambahkan dengan tombol dibawah.
|
|||||||
filter.distort = Rusakkan
|
filter.distort = Rusakkan
|
||||||
filter.noise = Kebisingan
|
filter.noise = Kebisingan
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Sumber Daya
|
filter.ore = Sumber Daya
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Silahkan mengulang kembali permainan agar pengaturan bahasa berpengaruh.
|
language.restart = Silahkan mengulang kembali permainan agar pengaturan bahasa berpengaruh.
|
||||||
settings = Pengaturan
|
settings = Pengaturan
|
||||||
tutorial = Tutorial
|
tutorial = Tutorial
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Penyunting
|
editor = Penyunting
|
||||||
mapeditor = Penyunting Peta
|
mapeditor = Penyunting Peta
|
||||||
donate = Donasi
|
donate = Donasi
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Gelombang Terbaik: {0}
|
|||||||
launch = < MELUNCUR >
|
launch = < MELUNCUR >
|
||||||
launch.title = Berhasil Meluncur
|
launch.title = Berhasil Meluncur
|
||||||
launch.next = [LIGHT_GRAY]kesempatan berikutnya di gelombang {0}
|
launch.next = [LIGHT_GRAY]kesempatan berikutnya di gelombang {0}
|
||||||
launch.unable = [scarlet]Tidak bisa MELUNCUR.[] {0} Musuh.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = Ini akan meluncurkan semua sumber daya di inti.\nAnta tidak bisa kembali lagi ke base ini.
|
launch.confirm = Ini akan meluncurkan semua sumber daya di inti.\nAnta tidak bisa kembali lagi ke base ini.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Buka
|
uncover = Buka
|
||||||
configure = Konfigurasi Muatan
|
configure = Konfigurasi Muatan
|
||||||
configure.locked = [LIGHT_GRAY]Buka konfigurasi muatan: Gelombang {0}.
|
configure.locked = [LIGHT_GRAY]Buka konfigurasi muatan: Gelombang {0}.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Lahan Ter
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Bahasa
|
settings.language = Bahasa
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Atur ulang ke Default (standar)
|
settings.reset = Atur ulang ke Default (standar)
|
||||||
settings.rebind = Rebind
|
settings.rebind = Rebind
|
||||||
settings.controls = Kontrol
|
settings.controls = Kontrol
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Jarak Melenceng
|
|||||||
blocks.shots = Tembakan
|
blocks.shots = Tembakan
|
||||||
blocks.reload = Tembakan/Detik
|
blocks.reload = Tembakan/Detik
|
||||||
blocks.ammo = Amunisi
|
blocks.ammo = Amunisi
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Kecepatan Bor: {0}/s
|
bar.drillspeed = Kecepatan Bor: {0}/s
|
||||||
bar.efficiency = Daya Guna: {0}%
|
bar.efficiency = Daya Guna: {0}%
|
||||||
bar.powerbalance = Tenaga: {0}/s
|
bar.powerbalance = Tenaga: {0}/s
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Tunjukkan Laser
|
|||||||
setting.pixelate.name = Mode Pixel[LIGHT_GRAY] (menonaktifkan animasi)
|
setting.pixelate.name = Mode Pixel[LIGHT_GRAY] (menonaktifkan animasi)
|
||||||
setting.minimap.name = Tunjukkan Peta kecil
|
setting.minimap.name = Tunjukkan Peta kecil
|
||||||
setting.musicvol.name = Volume Musik
|
setting.musicvol.name = Volume Musik
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Diamkan Musik
|
setting.mutemusic.name = Diamkan Musik
|
||||||
setting.sfxvol.name = Volume SFX
|
setting.sfxvol.name = Volume SFX
|
||||||
setting.mutesound.name = Diamkan Suara
|
setting.mutesound.name = Diamkan Suara
|
||||||
setting.crashreport.name = Laporkan Masalah
|
setting.crashreport.name = Laporkan Masalah
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Jelas-Beningnya Chat
|
setting.chatopacity.name = Jelas-Beningnya Chat
|
||||||
setting.playerchat.name = Tunjukkan Chat dalam Permainan
|
setting.playerchat.name = Tunjukkan Chat dalam Permainan
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Tekan sumbu atau kunci...
|
|||||||
keybind.screenshot.name = Tangkapan Layar Peta
|
keybind.screenshot.name = Tangkapan Layar Peta
|
||||||
keybind.move_x.name = Pindah x
|
keybind.move_x.name = Pindah x
|
||||||
keybind.move_y.name = Pindah y
|
keybind.move_y.name = Pindah y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Pilih/Tembak
|
keybind.select.name = Pilih/Tembak
|
||||||
keybind.diagonal_placement.name = Penaruhan Diagonal
|
keybind.diagonal_placement.name = Penaruhan Diagonal
|
||||||
keybind.pick.name = Memilih Blok
|
keybind.pick.name = Memilih Blok
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Mixer Peledak
|
|||||||
block.solar-panel.name = Panel Surya
|
block.solar-panel.name = Panel Surya
|
||||||
block.solar-panel-large.name = Panel Surya Besar
|
block.solar-panel-large.name = Panel Surya Besar
|
||||||
block.oil-extractor.name = Pegekstrak Oli
|
block.oil-extractor.name = Pegekstrak Oli
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Pabrik Drone Spirit
|
block.spirit-factory.name = Pabrik Drone Spirit
|
||||||
block.phantom-factory.name = Pabrik Drone Phantom
|
block.phantom-factory.name = Pabrik Drone Phantom
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Kontainer
|
|||||||
block.launch-pad.name = Pad Peluncur
|
block.launch-pad.name = Pad Peluncur
|
||||||
block.launch-pad-large.name = Pad Peluncur Besar
|
block.launch-pad-large.name = Pad Peluncur Besar
|
||||||
team.blue.name = biru
|
team.blue.name = biru
|
||||||
team.red.name = merah
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = jingga
|
team.orange.name = jingga
|
||||||
team.none.name = abu-abu
|
team.derelict.name = derelict
|
||||||
team.green.name = hijau
|
team.green.name = hijau
|
||||||
team.purple.name = ungu
|
team.purple.name = ungu
|
||||||
unit.spirit.name = Drone Spirit
|
unit.spirit.name = Drone Spirit
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Satuan Kekacauan
|
|||||||
unit.eradicator.name = Pemusnah
|
unit.eradicator.name = Pemusnah
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Maut
|
unit.reaper.name = Maut
|
||||||
tutorial.begin = Misi Anda untuk memusnahkan[LIGHT_GRAY] musuh[].\n\nMulai dengan[accent] menambang tembaga[]. Ketuk sekumpulan tembaga didekat inti untuk melakukannya.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Menambang manual tidak efisien.\n[accent]Bor []bisa menambang otomatis.\nTaruh satu di sekumpulan tembaga.
|
tutorial.drill = Menambang manual tidak efisien.\n[accent]Bor []bisa menambang otomatis.\nTaruh satu di sekumpulan tembaga.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Pengantar[] digunakan untuk transportasi item ke inti.\nJejerlah pengantar dari bor ke inti.
|
tutorial.conveyor = [accent]Pengantar[] digunakan untuk transportasi item ke inti.\nJejerlah pengantar dari bor ke inti.
|
||||||
tutorial.morecopper = Butuh lebih banyak tembaga.\n\nBisa menambang dengan manual, atau menambah banyaknya bor.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Struktur Pertahanan harus dibuat untuk menangkal [LIGHT_GRAY] musuh[].\nBangun menara "duo" dekat basemu.
|
tutorial.turret = Struktur Pertahanan harus dibuat untuk menangkal [LIGHT_GRAY] musuh[].\nBangun menara "duo" dekat basemu.
|
||||||
tutorial.drillturret = Menara "duo" membutuhkan[accent] amunisi tembaga []untuk menembak.\nTaruh bor didekat menara untuk mengisinya dengan tembaga.
|
tutorial.drillturret = Menara "duo" membutuhkan[accent] amunisi tembaga []untuk menembak.\nTaruh bor didekat menara untuk mengisinya dengan tembaga.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = [LIGHT_GRAY] Musuh[] mendatang.\n\nLindungi intimu selama 2 gelombang. Bangun lebih banyak menara.
|
tutorial.waves = [LIGHT_GRAY] Musuh[] mendatang.\n\nLindungi intimu selama 2 gelombang. Bangun lebih banyak menara.
|
||||||
tutorial.lead = Banyak Sumber daya yang telah terbuka. Jelajah dan tambang[accent] timah[].\n\nTarik dari unitmu ke inti untuk mengirim sumber daya.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Tambang dan timah adalah logam lemah.\n[accent] Paduan padat[] yang lebih unggul dibuat di peleburan.\n\nBangun satu.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = Peleburan sekarang akan menghasilkan paduan.\nTingkatkan Produktivitas jika dibutuhkan.
|
|
||||||
tutorial.siliconsmelter = inti sekarang akan membuat[accent] drone spirit[] untuk menambang dan memperbaiki blok.\n\nPabrik untuk unit lain bisa dibuat dengan [accent] silikon.\nbuatlah pelebur silikon.
|
|
||||||
tutorial.silicondrill = Silikon membutuhkan[accent] batu bara[] dan[accent] pasir[].\nMulai dengan membuat bor.
|
|
||||||
tutorial.generator = Teknologi ini membutuhkan tenaga (listrik).\nBuatlah [accent] generator pembakar[] untuk itu.
|
|
||||||
tutorial.generatordrill = Generator pembahan membutuhkan bahan bakar.\nIsi dengan batu bara dari bor.
|
|
||||||
tutorial.node = listrik membutuhkan transportasi.\nBuatlah[accent] tiang listrik[] disebelah generator pembakarmu untuk mentransfer listrik.
|
|
||||||
tutorial.nodelink = Listrik bisa ditransfer melewati blok kondusif dan generators, atau disambungkan dengan tiang listrik.\n\nSambung listrik dengan menekan salah satu tiang listrik dan menekan generator serta pelebur silikon.
|
|
||||||
tutorial.silicon = Silikon diproduksi.\n\nDisarankan Meningkatkan produktivitas.
|
|
||||||
tutorial.daggerfactory = Bangun[accent] pabrik robot "dagger".[]\n\nIni akan berguna untuk membuat robot penyerang.
|
|
||||||
tutorial.router = Pabrik butuh sumber daya untuk berfungsi.\nBuatlah pengalih untuk mengalihkan pengantar sumber daya.
|
|
||||||
tutorial.dagger = Sambungkan tiang listrik ke pabrik.\nSaat kebutuhan dicapai, robot akan diciptakan.\n\nBuatlah bor, generator dan pengantar secukupnya.
|
|
||||||
tutorial.battle = [LIGHT_GRAY] musuh[] telah mengungkapkan inti mereka.\nHancurkan dengan unitmu dan robot dagger.
|
|
||||||
item.copper.description = Bahan struktur yang berguna. Digunakan di semua tipe blok.
|
item.copper.description = Bahan struktur yang berguna. Digunakan di semua tipe blok.
|
||||||
item.lead.description = Bahan dasar di awal permainan. Digunakan di elektronik dan blok transportasi zat cair.
|
item.lead.description = Bahan dasar di awal permainan. Digunakan di elektronik dan blok transportasi zat cair.
|
||||||
item.metaglass.description = Kaca yang super-kuat. Digunakan untuk distribusi zar cair dan penyimpanan.
|
item.metaglass.description = Kaca yang super-kuat. Digunakan untuk distribusi zar cair dan penyimpanan.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = Unit darat berbaja yang canggih ini menyerang target darat dan udara.
|
unit.titan.description = Unit darat berbaja yang canggih ini menyerang target darat dan udara.
|
||||||
unit.fortress.description = Unit meriam darat kelas berat.
|
unit.fortress.description = Unit meriam darat kelas berat.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = Unit tabrak-lari yang cepat.
|
unit.wraith.description = Unit tabrak-lari yang cepat.
|
||||||
unit.ghoul.description = Pengebom kelas berat.
|
unit.ghoul.description = Pengebom kelas berat.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Mengubah pasir dengan batu bara untuk memproduksi silikon.
|
block.silicon-smelter.description = Mengubah pasir dengan batu bara untuk memproduksi silikon.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = Menara meriam besar yang menembak beberapa peluru sek
|
|||||||
block.cyclone.description = Menara Penembak Beruntun Besar.
|
block.cyclone.description = Menara Penembak Beruntun Besar.
|
||||||
block.spectre.description = Menara besar yang menembak dua peluru kuat sekaligus.
|
block.spectre.description = Menara besar yang menembak dua peluru kuat sekaligus.
|
||||||
block.meltdown.description = Menara besar ini menembak sinar panjang yang kuat.
|
block.meltdown.description = Menara besar ini menembak sinar panjang yang kuat.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Memproduksi drone ringan yang menambang sumber daya dan memulih blok.
|
block.spirit-factory.description = Memproduksi drone ringan yang menambang sumber daya dan memulih blok.
|
||||||
block.phantom-factory.description = Memproduksi drone canggih yang lebih efektif dibandingkan drone spirit.
|
block.phantom-factory.description = Memproduksi drone canggih yang lebih efektif dibandingkan drone spirit.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Mappa troppo grossa, probabilmente non c'è abbastanza memo
|
|||||||
gameover = Il nucleo è stato distrutto.
|
gameover = Il nucleo è stato distrutto.
|
||||||
gameover.pvp = La squadra [accent] {0}[] ha vinto!
|
gameover.pvp = La squadra [accent] {0}[] ha vinto!
|
||||||
highscore = [YELLOW]Nuovo record!
|
highscore = [YELLOW]Nuovo record!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Ondate sconfitte:[accent] {0}
|
stat.wave = Ondate sconfitte:[accent] {0}
|
||||||
stat.enemiesDestroyed = Nemici distrutti:[accent] {0}
|
stat.enemiesDestroyed = Nemici distrutti:[accent] {0}
|
||||||
stat.built = Costruzioni erette:[accent] {0}
|
stat.built = Costruzioni erette:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Costruzioni distrutte:[accent] {0}
|
|||||||
stat.deconstructed = Costruzioni smontate:[accent] {0}
|
stat.deconstructed = Costruzioni smontate:[accent] {0}
|
||||||
stat.delivered = Riorse lanciate:
|
stat.delivered = Riorse lanciate:
|
||||||
stat.rank = Livello finale: [accent]{0}
|
stat.rank = Livello finale: [accent]{0}
|
||||||
placeline = Hai appena selezionato un blocco.\nOra puoi[accent] piazzarne una linea[] eseguendo[accent] una lunga pressione[] e poi trascinando in ogni direzione.\nProva!
|
|
||||||
removearea = Hai appena selezionato la modalità distruzione.\nOra puoi[accent] rimuovere blocchi in una certa zona [] eseguendo[accent] una lunga pressione[] e poi trascinando in ogni direzione.\nProva!
|
|
||||||
launcheditems = [accent]Oggetti lanciati
|
launcheditems = [accent]Oggetti lanciati
|
||||||
map.delete = Sei sicuro di voler eliminare questa mappa"[accent]{0}[]"?
|
map.delete = Sei sicuro di voler eliminare questa mappa"[accent]{0}[]"?
|
||||||
level.highscore = Miglior punteggio: [accent]{0}
|
level.highscore = Miglior punteggio: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = Nuova partita
|
|||||||
none = <Niente . . . >
|
none = <Niente . . . >
|
||||||
minimap = Minimapa
|
minimap = Minimapa
|
||||||
close = Chiuso
|
close = Chiuso
|
||||||
|
website = Website
|
||||||
quit = Esci
|
quit = Esci
|
||||||
maps = Mappe
|
maps = Mappe
|
||||||
continue = Continua
|
continue = Continua
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} giocatori online
|
|||||||
server.closing = [accent]Chiusura server ...
|
server.closing = [accent]Chiusura server ...
|
||||||
server.kicked.kick = Sei stato cacciato dal server!
|
server.kicked.kick = Sei stato cacciato dal server!
|
||||||
server.kicked.serverClose = Server chiuso.
|
server.kicked.serverClose = Server chiuso.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Versione del client obsoleta! Aggiorna il tuo gioco!
|
server.kicked.clientOutdated = Versione del client obsoleta! Aggiorna il tuo gioco!
|
||||||
server.kicked.serverOutdated = Server obsoleto! Chiedi all'host di aggiornare!
|
server.kicked.serverOutdated = Server obsoleto! Chiedi all'host di aggiornare!
|
||||||
server.kicked.banned = Sei bannato da questo server.
|
server.kicked.banned = Sei bannato da questo server.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Sei stato cacciato di recente.\nAspetta prima di riconnetterti.
|
server.kicked.recentKick = Sei stato cacciato di recente.\nAspetta prima di riconnetterti.
|
||||||
server.kicked.nameInUse = C'è già qualcuno con il tuo nome\nsu questo server.
|
server.kicked.nameInUse = C'è già qualcuno con il tuo nome\nsu questo server.
|
||||||
server.kicked.nameEmpty = Il tuo nome deve contenere almeno un carattere.
|
server.kicked.nameEmpty = Il tuo nome deve contenere almeno un carattere.
|
||||||
server.kicked.idInUse = Sei già su questo server! Non è permesso connettersi con due account.
|
server.kicked.idInUse = Sei già su questo server! Non è permesso connettersi con due account.
|
||||||
server.kicked.customClient = Questo server non supporta le build personalizzate. Scarica la versione ufficiale dal sito.
|
server.kicked.customClient = Questo server non supporta le build personalizzate. Scarica la versione ufficiale dal sito.
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = Il pulsante [accent]hos [] ospita un server sulle porte [scarlet]6567[] e [scarlet]656.[] Chiunque sulla stessa [LIGHT_GRAY]connessione wifi o rete locale[] dovrebbe essere in grado di vedere il proprio server nel proprio elenco server.\n\n Se vuoi che le persone siano in grado di connettersi ovunque tramite IP, è richiesto il [accent]port forwarding[]. \n\n[LIGHT_GRAY]Nota: se qualcuno sta riscontrando problemi durante la connessione al gioco LAN, assicurati di aver consentito a Mindustry di accedere alla rete locale nelle impostazioni del firewall.
|
host.info = Il pulsante [accent]hos [] ospita un server sulle porte [scarlet]6567[] e [scarlet]656.[] Chiunque sulla stessa [LIGHT_GRAY]connessione wifi o rete locale[] dovrebbe essere in grado di vedere il proprio server nel proprio elenco server.\n\n Se vuoi che le persone siano in grado di connettersi ovunque tramite IP, è richiesto il [accent]port forwarding[]. \n\n[LIGHT_GRAY]Nota: se qualcuno sta riscontrando problemi durante la connessione al gioco LAN, assicurati di aver consentito a Mindustry di accedere alla rete locale nelle impostazioni del firewall.
|
||||||
join.info = Qui è possibile inserire un [accent]IP del server[] a cui connettersi, o scoprire [accento]un server sulla rete locale[] disponibile.\n Sono supportati sia il multiplayer LAN che WAN. \n\n[LIGHT_GRAY]Nota: non esiste un elenco di server globali automatici; se si desidera connettersi a qualcuno tramite IP, è necessario chiedere all'host il proprio IP.
|
join.info = Qui è possibile inserire un [accent]IP del server[] a cui connettersi, o scoprire [accento]un server sulla rete locale[] disponibile.\n Sono supportati sia il multiplayer LAN che WAN. \n\n[LIGHT_GRAY]Nota: non esiste un elenco di server globali automatici; se si desidera connettersi a qualcuno tramite IP, è necessario chiedere all'host il proprio IP.
|
||||||
hostserver = Host Server
|
hostserver = Host Server
|
||||||
@@ -154,7 +161,15 @@ cancel = Annulla
|
|||||||
openlink = Apri Link
|
openlink = Apri Link
|
||||||
copylink = Copia link
|
copylink = Copia link
|
||||||
back = Indietro
|
back = Indietro
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Sei sicuro di voler uscire?
|
quit.confirm = Sei sicuro di voler uscire?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Caricamento in corso ...
|
loading = [accent]Caricamento in corso ...
|
||||||
saving = [accent]Salvando . . .
|
saving = [accent]Salvando . . .
|
||||||
wave = [accent]Ondata {0}
|
wave = [accent]Ondata {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
|||||||
filter.distort = Modifica
|
filter.distort = Modifica
|
||||||
filter.noise = Interferenza
|
filter.noise = Interferenza
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Minerali
|
filter.ore = Minerali
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Riavvia il gioco affinché il cambiamento della lingua abbia effetto.
|
language.restart = Riavvia il gioco affinché il cambiamento della lingua abbia effetto.
|
||||||
settings = Impostazioni
|
settings = Impostazioni
|
||||||
tutorial = Tutorial
|
tutorial = Tutorial
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Editor Mappe
|
mapeditor = Editor Mappe
|
||||||
donate = Dona
|
donate = Dona
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Best: {0}
|
|||||||
launch = Launch
|
launch = Launch
|
||||||
launch.title = Launch Successful
|
launch.title = Launch Successful
|
||||||
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
||||||
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Uncover
|
uncover = Uncover
|
||||||
configure = Configure Loadout
|
configure = Configure Loadout
|
||||||
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
|
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Tar Fields
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Lingua
|
settings.language = Lingua
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Resetta Alle Impostazioni Predefinite
|
settings.reset = Resetta Alle Impostazioni Predefinite
|
||||||
settings.rebind = Reimposta
|
settings.rebind = Reimposta
|
||||||
settings.controls = Controlli
|
settings.controls = Controlli
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Inaccuratezza
|
|||||||
blocks.shots = Colpi
|
blocks.shots = Colpi
|
||||||
blocks.reload = Ricarica
|
blocks.reload = Ricarica
|
||||||
blocks.ammo = Ammo
|
blocks.ammo = Ammo
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.powerbalance = Power: {0}
|
bar.powerbalance = Power: {0}
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Mostra Laser Energetici
|
|||||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
||||||
setting.minimap.name = Mostra minimappa
|
setting.minimap.name = Mostra minimappa
|
||||||
setting.musicvol.name = Volume Musica
|
setting.musicvol.name = Volume Musica
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Silenzia musica
|
setting.mutemusic.name = Silenzia musica
|
||||||
setting.sfxvol.name = Volume SFX
|
setting.sfxvol.name = Volume SFX
|
||||||
setting.mutesound.name = Togli suoni
|
setting.mutesound.name = Togli suoni
|
||||||
setting.crashreport.name = Send Anonymous Crash Reports
|
setting.crashreport.name = Send Anonymous Crash Reports
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Press an axis or key...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Sposta_x
|
keybind.move_x.name = Sposta_x
|
||||||
keybind.move_y.name = Sposta_y
|
keybind.move_y.name = Sposta_y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = seleziona
|
keybind.select.name = seleziona
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Mixer poleri
|
|||||||
block.solar-panel.name = Pannello solare
|
block.solar-panel.name = Pannello solare
|
||||||
block.solar-panel-large.name = Pannrllo solare 3x3
|
block.solar-panel-large.name = Pannrllo solare 3x3
|
||||||
block.oil-extractor.name = Estrattore petrolio
|
block.oil-extractor.name = Estrattore petrolio
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Drone Factory
|
block.spirit-factory.name = Spirit Drone Factory
|
||||||
block.phantom-factory.name = Phantom Drone Factory
|
block.phantom-factory.name = Phantom Drone Factory
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Container
|
|||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
team.blue.name = blue
|
team.blue.name = blue
|
||||||
team.red.name = red
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = orange
|
team.orange.name = orange
|
||||||
team.none.name = gray
|
team.derelict.name = derelict
|
||||||
team.green.name = green
|
team.green.name = green
|
||||||
team.purple.name = purple
|
team.purple.name = purple
|
||||||
unit.spirit.name = Spirit Drone
|
unit.spirit.name = Spirit Drone
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Chaos Array
|
|||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Your mission here is to eradicate the[LIGHT_GRAY] enemy[].\n\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
||||||
tutorial.morecopper = More copper is required.\n\nEither mine it manually, or place more drills.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
||||||
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
||||||
tutorial.lead = More ores are available. Explore and mine[accent] lead[].\n\nDrag from your unit to the core to transfer resources.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Copper and lead are weak metals.\nSuperior[accent] Dense Alloy[] can be created in a smelter.\n\nBuild one.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = The smelter will now produce alloy.\nGet some.\nImprove the production if necessary.
|
|
||||||
tutorial.siliconsmelter = The core will now create a[accent] spirit drone[] for mining and repairing blocks.\n\nFactories for other units can be created with [accent] silicon.\nMake a silicon smelter.
|
|
||||||
tutorial.silicondrill = Silicon requires[accent] coal[] and[accent] sand[].\nStart by making drills.
|
|
||||||
tutorial.generator = This technology requires power.\nCreate a[accent] combustion generator[] for it.
|
|
||||||
tutorial.generatordrill = Combustion generators need fuel.\nFuel it with coal from a drill.
|
|
||||||
tutorial.node = Power requires transport.\nCreate a[accent] power node[] next to your combustion generator to transfer its power.
|
|
||||||
tutorial.nodelink = Power can be transferred through contacting power blocks and generators, or by linked power nodes.\n\nLink power by tapping the node and selecting the generator and silicon smelter.
|
|
||||||
tutorial.silicon = Silicon is being produced. Get some.\n\nImproving the production system is advised.
|
|
||||||
tutorial.daggerfactory = Construct a[accent] dagger mech factory.[]\n\nThis will be used to create attack mechs.
|
|
||||||
tutorial.router = Factories need resources to function.\nCreate a router to split conveyor resources.
|
|
||||||
tutorial.dagger = Link power nodes to the factory.\nOnce requirements are met, a mech will be created.\n\nCreate more drills, generators and conveyors as necessary.
|
|
||||||
tutorial.battle = The[LIGHT_GRAY] enemy[] has revealed their core.\nDestroy it with your unit and dagger mechs.
|
|
||||||
item.copper.description = Una utile materiale styrutturale. Molto usato in tutti i blocchi.
|
item.copper.description = Una utile materiale styrutturale. Molto usato in tutti i blocchi.
|
||||||
item.lead.description = Un materiale base, molto usato nei blocchi di trasporto.
|
item.lead.description = Un materiale base, molto usato nei blocchi di trasporto.
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = Un'unità di terra corazzata avanzata. Utilizza carburo come munizione. Attacca sia bersagli terrestri che aerei.
|
unit.titan.description = Un'unità di terra corazzata avanzata. Utilizza carburo come munizione. Attacca sia bersagli terrestri che aerei.
|
||||||
unit.fortress.description = A heavy artillery ground unit.
|
unit.fortress.description = A heavy artillery ground unit.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
||||||
unit.ghoul.description = A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
unit.ghoul.description = A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduces sand with highly pure coke in order to produce silicon.
|
block.silicon-smelter.description = Reduces sand with highly pure coke in order to produce silicon.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = A large artillery turret which fires several shots si
|
|||||||
block.cyclone.description = A large rapid fire turret.
|
block.cyclone.description = A large rapid fire turret.
|
||||||
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
||||||
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
||||||
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = マップが広すぎます。スクリーンショット
|
|||||||
gameover = ゲームオーバー
|
gameover = ゲームオーバー
|
||||||
gameover.pvp = [accent] {0}[] チームの勝利!
|
gameover.pvp = [accent] {0}[] チームの勝利!
|
||||||
highscore = [accent]ハイスコアを記録!
|
highscore = [accent]ハイスコアを記録!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = 防衛したウェーブ:[accent] {0}
|
stat.wave = 防衛したウェーブ:[accent] {0}
|
||||||
stat.enemiesDestroyed = 敵による破壊数:[accent] {0}
|
stat.enemiesDestroyed = 敵による破壊数:[accent] {0}
|
||||||
stat.built = 建設した建造物数:[accent] {0}
|
stat.built = 建設した建造物数:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = 破壊した建造物数:[accent] {0}
|
|||||||
stat.deconstructed = 解体した建造物数:[accent] {0}
|
stat.deconstructed = 解体した建造物数:[accent] {0}
|
||||||
stat.delivered = 獲得した資源:
|
stat.delivered = 獲得した資源:
|
||||||
stat.rank = 最終ランク: [accent]{0}
|
stat.rank = 最終ランク: [accent]{0}
|
||||||
placeline = ブロックを選択しました。\n[accent]少し長押し[]して、好きな方向にドラッグすると[accent]一直線上にブロックを設置[]することができます。\nやってみよう。
|
|
||||||
removearea = 撤去モードが選択されました。\n[accent]少し長押し[]して、ドラッグすると[accent]範囲内のブロックを撤去[]することができます。\nやってみよう。
|
|
||||||
launcheditems = [accent]回収したアイテム
|
launcheditems = [accent]回収したアイテム
|
||||||
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
|
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
|
||||||
level.highscore = ハイスコア: [accent]{0}
|
level.highscore = ハイスコア: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = 新しく始める
|
|||||||
none = <なし>
|
none = <なし>
|
||||||
minimap = ミニマップ
|
minimap = ミニマップ
|
||||||
close = 閉じる
|
close = 閉じる
|
||||||
|
website = Website
|
||||||
quit = 終了
|
quit = 終了
|
||||||
maps = マップ
|
maps = マップ
|
||||||
continue = 続ける
|
continue = 続ける
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} 人がオンライン
|
|||||||
server.closing = [accent]サーバーを閉じています...
|
server.closing = [accent]サーバーを閉じています...
|
||||||
server.kicked.kick = サーバからキックされました!
|
server.kicked.kick = サーバからキックされました!
|
||||||
server.kicked.serverClose = サーバーが閉じられました。
|
server.kicked.serverClose = サーバーが閉じられました。
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = 古いクライアントです! ゲームをアップデートしてください!
|
server.kicked.clientOutdated = 古いクライアントです! ゲームをアップデートしてください!
|
||||||
server.kicked.serverOutdated = 古いサーバーです! ホストに更新してもらってください!
|
server.kicked.serverOutdated = 古いサーバーです! ホストに更新してもらってください!
|
||||||
server.kicked.banned = サーバーからブロックされています。
|
server.kicked.banned = サーバーからブロックされています。
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = 直前にキックされています。\nもう一度接続できるまでお待ちください。
|
server.kicked.recentKick = 直前にキックされています。\nもう一度接続できるまでお待ちください。
|
||||||
server.kicked.nameInUse = このサーバーでは、\nすでに同じ名前が使用されています。
|
server.kicked.nameInUse = このサーバーでは、\nすでに同じ名前が使用されています。
|
||||||
server.kicked.nameEmpty = 無効な名前です。
|
server.kicked.nameEmpty = 無効な名前です。
|
||||||
server.kicked.idInUse = すでにサーバーに参加しています! 二つのアカウントでの同時接続は許可されていません。
|
server.kicked.idInUse = すでにサーバーに参加しています! 二つのアカウントでの同時接続は許可されていません。
|
||||||
server.kicked.customClient = このサーバーはカスタムビルドをサポートしていません。公式版をダウンロードしてください。
|
server.kicked.customClient = このサーバーはカスタムビルドをサポートしていません。公式版をダウンロードしてください。
|
||||||
server.kicked.gameover = ゲームオーバー!
|
server.kicked.gameover = ゲームオーバー!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = [accent]ホスト[]をすると、ポート[scarlet]6567[]でサーバーが開かれまます。\n同じ[LIGHT_GRAY]WiFiやローカル上のネットワークなど[]ではサーバーリストに表示されるようになります。\n\nIPアドレスで他のところからも接続できるようにするには、[accent]ポート開放[]が必要です。\n\n注意: もしLAN上のゲームに参加できない場合、Mindustryがファイアーウォールの設定でローカルネットワークへの接続が許可されているかを確認してください。
|
host.info = [accent]ホスト[]をすると、ポート[scarlet]6567[]でサーバーが開かれまます。\n同じ[LIGHT_GRAY]WiFiやローカル上のネットワークなど[]ではサーバーリストに表示されるようになります。\n\nIPアドレスで他のところからも接続できるようにするには、[accent]ポート開放[]が必要です。\n\n注意: もしLAN上のゲームに参加できない場合、Mindustryがファイアーウォールの設定でローカルネットワークへの接続が許可されているかを確認してください。
|
||||||
join.info = ここでは、[accent]サーバーのIPアドレス[]から接続したり、[accent]ローカル上[]のサーバーを探したりすることができます。\nLANやWAN上の両方のマルチプレイに対応しています。\n\n[LIGHT_GRAY]注意: 世界中のサーバーの一覧ではありません。他人のサーバーにIPアドレスで接続したい場合は、あらかじめホスト側にIPアドレスをお尋ねください。
|
join.info = ここでは、[accent]サーバーのIPアドレス[]から接続したり、[accent]ローカル上[]のサーバーを探したりすることができます。\nLANやWAN上の両方のマルチプレイに対応しています。\n\n[LIGHT_GRAY]注意: 世界中のサーバーの一覧ではありません。他人のサーバーにIPアドレスで接続したい場合は、あらかじめホスト側にIPアドレスをお尋ねください。
|
||||||
hostserver = ホスト
|
hostserver = ホスト
|
||||||
@@ -154,7 +161,15 @@ cancel = キャンセル
|
|||||||
openlink = リンクを開く
|
openlink = リンクを開く
|
||||||
copylink = リンクをコピー
|
copylink = リンクをコピー
|
||||||
back = 戻る
|
back = 戻る
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = 終了してもよろしいですか?
|
quit.confirm = 終了してもよろしいですか?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]読み込み中...
|
loading = [accent]読み込み中...
|
||||||
saving = [accent]保存中...
|
saving = [accent]保存中...
|
||||||
wave = [accent]ウェーブ {0}
|
wave = [accent]ウェーブ {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]フィルターが設定されていません! 下
|
|||||||
filter.distort = ゆがみ
|
filter.distort = ゆがみ
|
||||||
filter.noise = ノイズ
|
filter.noise = ノイズ
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = 鉱石
|
filter.ore = 鉱石
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = ゲームを再起動後、言語設定が有効になります。
|
language.restart = ゲームを再起動後、言語設定が有効になります。
|
||||||
settings = 設定
|
settings = 設定
|
||||||
tutorial = チュートリアル
|
tutorial = チュートリアル
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = エディター
|
editor = エディター
|
||||||
mapeditor = マップエディター
|
mapeditor = マップエディター
|
||||||
donate = 寄附
|
donate = 寄附
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]最高ウェーブ: {0}
|
|||||||
launch = 発射
|
launch = 発射
|
||||||
launch.title = 発射成功
|
launch.title = 発射成功
|
||||||
launch.next = [LIGHT_GRAY]次の発射は ウェーブ {0}
|
launch.next = [LIGHT_GRAY]次の発射は ウェーブ {0}
|
||||||
launch.unable = [scarlet]発射できません[] 敵によって妨害されています。
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = すべての資源がコアに搬入されます。\nもうこの基地には戻ってくることはできません。
|
launch.confirm = すべての資源がコアに搬入されます。\nもうこの基地には戻ってくることはできません。
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = 開放
|
uncover = 開放
|
||||||
configure = 積荷の設定
|
configure = 積荷の設定
|
||||||
configure.locked = [LIGHT_GRAY]ウェーブ {0} を達成すると積荷を設定できるようになります。
|
configure.locked = [LIGHT_GRAY]ウェーブ {0} を達成すると積荷を設定できるようになります。
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = ター · フィールズ
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = 言語
|
settings.language = 言語
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = デフォルトにリセット
|
settings.reset = デフォルトにリセット
|
||||||
settings.rebind = 再設定
|
settings.rebind = 再設定
|
||||||
settings.controls = コントロール
|
settings.controls = コントロール
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = 精度のずれ
|
|||||||
blocks.shots = ショット
|
blocks.shots = ショット
|
||||||
blocks.reload = ショット/秒
|
blocks.reload = ショット/秒
|
||||||
blocks.ammo = 弾薬
|
blocks.ammo = 弾薬
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = 採掘速度: {0}/秒
|
bar.drillspeed = 採掘速度: {0}/秒
|
||||||
bar.efficiency = 効率: {0}%
|
bar.efficiency = 効率: {0}%
|
||||||
bar.powerbalance = 電力: {0}/秒
|
bar.powerbalance = 電力: {0}/秒
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = 電力線を表示
|
|||||||
setting.pixelate.name = ピクセル化 [LIGHT_GRAY](パフォーマンスが低下する可能性があります)
|
setting.pixelate.name = ピクセル化 [LIGHT_GRAY](パフォーマンスが低下する可能性があります)
|
||||||
setting.minimap.name = ミニマップを表示
|
setting.minimap.name = ミニマップを表示
|
||||||
setting.musicvol.name = 音楽 音量
|
setting.musicvol.name = 音楽 音量
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = 音楽をミュート
|
setting.mutemusic.name = 音楽をミュート
|
||||||
setting.sfxvol.name = 効果音 音量
|
setting.sfxvol.name = 効果音 音量
|
||||||
setting.mutesound.name = 効果音をミュート
|
setting.mutesound.name = 効果音をミュート
|
||||||
setting.crashreport.name = 匿名でクラッシュレポートを送信する
|
setting.crashreport.name = 匿名でクラッシュレポートを送信する
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = チャットの透明度
|
setting.chatopacity.name = チャットの透明度
|
||||||
setting.playerchat.name = ゲーム内にチャットを表示
|
setting.playerchat.name = ゲーム内にチャットを表示
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = 軸またはキーを押してください...
|
|||||||
keybind.screenshot.name = スクリーンショット
|
keybind.screenshot.name = スクリーンショット
|
||||||
keybind.move_x.name = 左右移動
|
keybind.move_x.name = 左右移動
|
||||||
keybind.move_y.name = 上下移動
|
keybind.move_y.name = 上下移動
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = 選択/ショット
|
keybind.select.name = 選択/ショット
|
||||||
keybind.diagonal_placement.name = 斜め設置
|
keybind.diagonal_placement.name = 斜め設置
|
||||||
keybind.pick.name = ブロックの選択
|
keybind.pick.name = ブロックの選択
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = 化合物ミキサー
|
|||||||
block.solar-panel.name = ソーラーパネル
|
block.solar-panel.name = ソーラーパネル
|
||||||
block.solar-panel-large.name = 大型ソーラーパネル
|
block.solar-panel-large.name = 大型ソーラーパネル
|
||||||
block.oil-extractor.name = 石油抽出機
|
block.oil-extractor.name = 石油抽出機
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = スピリットドローン製造機
|
block.spirit-factory.name = スピリットドローン製造機
|
||||||
block.phantom-factory.name = ファントムドローン製造機
|
block.phantom-factory.name = ファントムドローン製造機
|
||||||
@@ -819,9 +845,10 @@ block.container.name = コンテナー
|
|||||||
block.launch-pad.name = 発射台
|
block.launch-pad.name = 発射台
|
||||||
block.launch-pad-large.name = 大型発射台
|
block.launch-pad-large.name = 大型発射台
|
||||||
team.blue.name = ブルー
|
team.blue.name = ブルー
|
||||||
team.red.name = レッド
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = オレンジ
|
team.orange.name = オレンジ
|
||||||
team.none.name = グレー
|
team.derelict.name = derelict
|
||||||
team.green.name = グリーン
|
team.green.name = グリーン
|
||||||
team.purple.name = パープル
|
team.purple.name = パープル
|
||||||
unit.spirit.name = スピリットドローン
|
unit.spirit.name = スピリットドローン
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = ケアスアレー
|
|||||||
unit.eradicator.name = エラディケーター
|
unit.eradicator.name = エラディケーター
|
||||||
unit.lich.name = リッチ
|
unit.lich.name = リッチ
|
||||||
unit.reaper.name = リーパー
|
unit.reaper.name = リーパー
|
||||||
tutorial.begin = ここでのミッションは[LIGHT_GRAY]敵[]を倒すことです。\n\nまずは、[accent]銅の採掘[]から始めましょう。コアの近くの銅鉱石の鉱脈をタップしましょう。
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = 手動で採掘するのは非効率的です。\n[accent]ドリル[]を使えば自動で採掘できます。\n銅鉱石の鉱脈の上に1つ置いてみましょう。
|
tutorial.drill = 手動で採掘するのは非効率的です。\n[accent]ドリル[]を使えば自動で採掘できます。\n銅鉱石の鉱脈の上に1つ置いてみましょう。
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]コンベアー[]はコアにアイテムを輸送することができます。\nドリルからコアまでコンベアー作りましょう。
|
tutorial.conveyor = [accent]コンベアー[]はコアにアイテムを輸送することができます。\nドリルからコアまでコンベアー作りましょう。
|
||||||
tutorial.morecopper = まだまだ銅が必要です。\n\n手動で採掘するか、ドリルをもっと設置しましょう。
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = [LIGHT_GRAY]敵[]を撃退するために防衛体制を作らなければなりません。\n基地の近くにターレットのデュオを設置しましょう。
|
tutorial.turret = [LIGHT_GRAY]敵[]を撃退するために防衛体制を作らなければなりません。\n基地の近くにターレットのデュオを設置しましょう。
|
||||||
tutorial.drillturret = デュオには弾として[accent]銅の弾薬[]が必要です。\nデュオの横にドリルを置き、採掘した銅を供給しましょう。
|
tutorial.drillturret = デュオには弾として[accent]銅の弾薬[]が必要です。\nデュオの横にドリルを置き、採掘した銅を供給しましょう。
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = [LIGHT_GRAY]敵[]が近づいてきます。\n\n2ウェーブの間、コアを守ってください。ターレットをもっと設置しましょう。
|
tutorial.waves = [LIGHT_GRAY]敵[]が近づいてきます。\n\n2ウェーブの間、コアを守ってください。ターレットをもっと設置しましょう。
|
||||||
tutorial.lead = 他の鉱石も使ってみましょう。[accent]鉛[]を見つけて、採掘しましょう。\n\nユニットからコアにドラッグして、資源を転送できます。
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = 銅を鉛はやわらかい金属です。\nより硬い[accent]高密度合金[]を溶鉱炉で作りましょう。
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = 溶鉱炉で作った合金を回収しましょう。\n\nまた、必要に応じて効率化しましょう。
|
|
||||||
tutorial.siliconsmelter = コアは、採掘やブロックの修復のために[accent]スピリットドローン[]を作成しています。\n\n他のユニットを作るには[accent]シリコン[]が必要です。\nシリコン溶鉱炉を作りましょう。
|
|
||||||
tutorial.silicondrill = シリコンには[accent]石炭[]と[accent]砂[]が必要です。\nまず、ドリルを作りましょう。
|
|
||||||
tutorial.generator = この技術には電力が必要です。\n[accent]火力発電機[]を作りましょう。
|
|
||||||
tutorial.generatordrill = 火力発電機には燃料が必要です。\nドリルから石炭を補給しましょう。
|
|
||||||
tutorial.node = 電力を送電する必要があります。\n火力発電機の隣に[accent]電源ノード[]を作って、電力を供給しましょう。
|
|
||||||
tutorial.nodelink = 電力は隣接している電力ブロックや発電機、接続された状態の電源ノードを使って送電することができます。\n\nノードをタップしてから、発電機とシリコン溶鉱炉を選択して電力を繋げましょう。
|
|
||||||
tutorial.silicon = シリコン溶鉱炉で製造したシリコンを回収しましょう。\n\nまた、効率化をすることをお勧めします。
|
|
||||||
tutorial.daggerfactory = [accent]ダガーユニット製造機[]を作りましょう。\n\nこれを使うと攻撃ユニットを作ってくれます。
|
|
||||||
tutorial.router = 生産機には電力が必要です。\nコンベアーから資源を分けるためにルーターを作りましょう。
|
|
||||||
tutorial.dagger = 電源ノードを生産機に接続しましょう。\n要件が揃うと、ユニットを作り始めます。\n\n必要に応じて、ドリルや発電機、コンベアーを増やしましょう。
|
|
||||||
tutorial.battle = [LIGHT_GRAY]敵[]のコアが見つかりました。\nユニットやダガー機で敵の基地を破壊しましょう。
|
|
||||||
item.copper.description = 便利な鉱石です。様々なブロックの材料として幅広く使われています。
|
item.copper.description = 便利な鉱石です。様々なブロックの材料として幅広く使われています。
|
||||||
item.lead.description = 一般的で手軽な鉱石です。機械や液体輸送ブロックなどに使われます。
|
item.lead.description = 一般的で手軽な鉱石です。機械や液体輸送ブロックなどに使われます。
|
||||||
item.metaglass.description = とても頑丈な強化ガラスです。液体の輸送やタンクとして幅広く使われています。
|
item.metaglass.description = とても頑丈な強化ガラスです。液体の輸送やタンクとして幅広く使われています。
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = 高度な武装地上ユニットです。空と地上の両方の敵に攻撃を行います。
|
unit.titan.description = 高度な武装地上ユニットです。空と地上の両方の敵に攻撃を行います。
|
||||||
unit.fortress.description = 砲撃型の地上ユニットです。
|
unit.fortress.description = 砲撃型の地上ユニットです。
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = 高速で突撃攻撃が可能な迎撃ユニットです。
|
unit.wraith.description = 高速で突撃攻撃が可能な迎撃ユニットです。
|
||||||
unit.ghoul.description = 重爆撃機です。
|
unit.ghoul.description = 重爆撃機です。
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = 石炭と砂からシリコンを製造します。
|
block.silicon-smelter.description = 石炭と砂からシリコンを製造します。
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = 同時に複数ショットを発射する大型タ
|
|||||||
block.cyclone.description = 大型の連射型ターレットです。
|
block.cyclone.description = 大型の連射型ターレットです。
|
||||||
block.spectre.description = 一度に2発の強力な弾を放つ大型のターレットです。
|
block.spectre.description = 一度に2発の強力な弾を放つ大型のターレットです。
|
||||||
block.meltdown.description = 強力な長距離攻撃が可能な大型のターレットです。
|
block.meltdown.description = 強力な長距離攻撃が可能な大型のターレットです。
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = 鉱石の採掘やブロックの修復を行う小型のドローンユニットのスピリットを製造します。
|
block.spirit-factory.description = 鉱石の採掘やブロックの修復を行う小型のドローンユニットのスピリットを製造します。
|
||||||
block.phantom-factory.description = スピリットドローンの性能を遥かに凌ぐ上位のドローンユニットのファントムドローンを製造します。
|
block.phantom-factory.description = スピリットドローンの性能を遥かに凌ぐ上位のドローンユニットのファントムドローンを製造します。
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ screenshot.invalid = 맵이 너무 커서 스크린샷을 찍을 메모리가
|
|||||||
gameover = 게임 오버
|
gameover = 게임 오버
|
||||||
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
|
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
|
||||||
highscore = [accent]최고점수 달성!
|
highscore = [accent]최고점수 달성!
|
||||||
|
load.sound = 소리
|
||||||
|
load.map = 맵
|
||||||
|
load.image = 사진
|
||||||
|
load.content = Content
|
||||||
|
load.system = 시스템
|
||||||
stat.wave = 웨이브 성공:[accent]{0}
|
stat.wave = 웨이브 성공:[accent]{0}
|
||||||
stat.enemiesDestroyed = 파괴한 적 수:[accent]{0}
|
stat.enemiesDestroyed = 파괴한 적 수:[accent]{0}
|
||||||
stat.built = 건설한 건물 수:[accent]{0}
|
stat.built = 건설한 건물 수:[accent]{0}
|
||||||
@@ -24,12 +28,8 @@ stat.destroyed = 파괴된 건물 수:[accent]{0}
|
|||||||
stat.deconstructed = 파괴한 건물 수:[accent]{0}
|
stat.deconstructed = 파괴한 건물 수:[accent]{0}
|
||||||
stat.delivered = 획득한 자원:
|
stat.delivered = 획득한 자원:
|
||||||
stat.rank = 최종 기록: [accent]{0}
|
stat.rank = 최종 기록: [accent]{0}
|
||||||
|
|
||||||
placeline = 블록을 선택하셨습니다.\n][accent]몇초간 설치 시작지점을 누르고[] 원하는 방향을 향해 드래그 하면 [accent]일렬로[] 설치할 수 있습니다.\n한번 해 보세요.
|
|
||||||
removearea = 블록 제거모드를 선택하셨습니다.\n[accent]몇초간 제거 시작지점을 누르고[] 원하는 구역 끝을 향해 드래그 하면 [accent]직사각형[] 안에 있는 모든 건물을 제거할 수 있습니다.\n한번 해 보세요.
|
|
||||||
|
|
||||||
launcheditems = [accent]창고
|
launcheditems = [accent]창고
|
||||||
map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?\n
|
map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?
|
||||||
level.highscore = 최고 점수: [accent]{0}
|
level.highscore = 최고 점수: [accent]{0}
|
||||||
level.select = 맵 선택
|
level.select = 맵 선택
|
||||||
level.mode = 게임 모드 :
|
level.mode = 게임 모드 :
|
||||||
@@ -66,17 +66,20 @@ players.single = 현재 {0}명만 있음.
|
|||||||
server.closing = [accent]서버 닫는중...
|
server.closing = [accent]서버 닫는중...
|
||||||
server.kicked.kick = 서버에서 추방되었습니다!
|
server.kicked.kick = 서버에서 추방되었습니다!
|
||||||
server.kicked.serverClose = 서버 종료됨.
|
server.kicked.serverClose = 서버 종료됨.
|
||||||
|
server.kicked.vote = 당신은 투표로 추방되었습니다. 그러니 좀 적당히 하지 그랬어요?
|
||||||
server.kicked.clientOutdated = 오래된 버전의 게임입니다! 게임을 업데이트 하세요!
|
server.kicked.clientOutdated = 오래된 버전의 게임입니다! 게임을 업데이트 하세요!
|
||||||
server.kicked.serverOutdated = 오래된 버전의 서버입니다! 서버 호스트 관리자에게 문의하세요!
|
server.kicked.serverOutdated = 오래된 버전의 서버입니다! 서버 호스트 관리자에게 문의하세요!
|
||||||
server.kicked.banned = 서버 규칙 위반으로 인해, 이제 당신은 영원히 이 서버를 플레이 하실 수 없습니다.
|
server.kicked.banned = 서버 규칙 위반으로 인해, 이제 당신은 영원히 이 서버를 플레이 하실 수 없습니다.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = 방금 추방처리 되었습니다.\n잠시 기다린 후에 접속 해 주세요.
|
server.kicked.recentKick = 방금 추방처리 되었습니다.\n잠시 기다린 후에 접속 해 주세요.
|
||||||
server.kicked.nameInUse = 이 닉네임이 이미 서버에서 사용중입니다.
|
server.kicked.nameInUse = 이 닉네임이 이미 서버에서 사용중입니다.
|
||||||
server.kicked.nameEmpty = 닉네임에는 반드시 알파벳 또는 숫자가 있어야 합니다.
|
server.kicked.nameEmpty = 당신의 닉네임이 비어있습니다.
|
||||||
server.kicked.idInUse = 이미 서버에 접속중입니다! 다중 계정은 허용되지 않습니다.
|
server.kicked.idInUse = 이미 서버에 접속중입니다! 다중 계정은 허용되지 않습니다.
|
||||||
server.kicked.customClient = 이 서버는 직접 빌드한 버전을 지원하지 않습니다. 공식 버전을 사용하세요.
|
server.kicked.customClient = 이 서버는 직접 빌드한 버전을 지원하지 않습니다. 공식 버전을 사용하세요.
|
||||||
server.kicked.gameover = 코어가 파괴되었습니다...
|
server.kicked.gameover = 코어가 파괴되었습니다...
|
||||||
|
server.versions = 클라이언트 버전 : [accent] {0}[]\n서버 버전 : [accent] {1}[]
|
||||||
host.info = [accent]호스트[] 버튼은 현재 네트워크의 [scarlet]6567[] 포트를 사용합니다.\n[LIGHT_GRAY]같은 Wi-Fi 또는 로컬 네트워크[] 에서 서버 목록을 볼 수 있습니다.\n\n만약 플레이어들이 이 IP를 통해 어디에서나 연결할 수 있게 하고 싶다면, 공유기 설정에서 [accent]포트 포워딩[]을 하시거나 Vpn을 사용하셔야 합니다.\n\n[LIGHT_GRAY]참고: LAN 게임 연결에 문제가 있는 사람이 있다면, 방화벽 설정에서 Mindustry 가 로컬 네트워크에 액세스하도록 허용했는지 확인 해 주세요.
|
host.info = [accent]호스트[] 버튼은 현재 네트워크의 [scarlet]6567[] 포트를 사용합니다.\n[LIGHT_GRAY]같은 Wi-Fi 또는 로컬 네트워크[] 에서 서버 목록을 볼 수 있습니다.\n\n만약 플레이어들이 이 IP를 통해 어디에서나 연결할 수 있게 하고 싶다면, 공유기 설정에서 [accent]포트 포워딩[]을 하시거나 Vpn을 사용하셔야 합니다.\n\n[LIGHT_GRAY]참고: LAN 게임 연결에 문제가 있는 사람이 있다면, 방화벽 설정에서 Mindustry 가 로컬 네트워크에 액세스하도록 허용했는지 확인 해 주세요.
|
||||||
join.info = 여기서 [accent]서버 IP[]를 입력하여 다른 서버에 접속할 수 있습니다.\n또는 [accent]로컬 네트워크(LAN)[] 서버를 검색하여 접속할 수 있습니다.\nLAN 및 WAN 멀티 플레이어 모두 지원됩니다.\n\n[LIGHT_GRAY]참고:여기에서는 자동으로 글로벌 서버를 추가하지 않습니다. IP로 다른 사람의 서버에 접속할려면 서버장에게 IP를 요청해야 합니다.[]\n\n[ROYAL]한국의 공식 서버로는 mindustry.kr의 7000,7001,7002포트와 server1.mindustry.r-e.kr의 8000,8001,8002,8004포트가 있습니다.\n서버 주소 입력방법은 < 주소:포트 >의 형식입니다.
|
join.info = 여기서 [accent]서버 IP[]를 입력하여 다른 서버에 접속할 수 있습니다.\n또는 [accent]로컬 네트워크(LAN)[] 서버를 검색하여 접속할 수 있습니다.\nLAN 및 WAN 멀티 플레이어 모두 지원됩니다.\n\n[LIGHT_GRAY]참고:여기에서는 자동으로 글로벌 서버를 추가하지 않습니다. IP로 다른 사람의 서버에 접속할려면 직접 서버 주소를 찾아서 적으셔야합니다.[]\n\n[ROYAL]한국의 서버로는 mindustry.kr[accent](포트없음)[],6568과 server1.mindustry.r-e.kr의 8000,8001,8002,8004포트가 있습니다.\n서버 주소 입력방법은 < 주소:포트 >의 형식입니다.
|
||||||
hostserver = 서버 열기
|
hostserver = 서버 열기
|
||||||
hostserver.mobile = 서버\n열기
|
hostserver.mobile = 서버\n열기
|
||||||
host = 서버 열기
|
host = 서버 열기
|
||||||
@@ -158,6 +161,11 @@ cancel = 취소
|
|||||||
openlink = 링크 열기
|
openlink = 링크 열기
|
||||||
copylink = 링크 복사
|
copylink = 링크 복사
|
||||||
back = 뒤로가기
|
back = 뒤로가기
|
||||||
|
data.export = 데이터 내보내기
|
||||||
|
data.import = 데이터 불러오기
|
||||||
|
data.exported = 데이터를 내보냈습니다.
|
||||||
|
data.invalid = 유효한 게임 데이터가 아닙니다.
|
||||||
|
data.import.confirm = 외부 게임 데이터를 불러옵니다...\n[accent]이 작업시 현재 게임 데이터는 삭제되고, 외부의 게임 데이터를 불러오니 주의하세요. 실행 취소가 불가능하며, 작업 후 게임이 바로 꺼집니다.
|
||||||
classic.export = 클래식 데이터 추출
|
classic.export = 클래식 데이터 추출
|
||||||
classic.export.text = Mindustry 클래식 (v3.5 build 40)의 세이브파일 또는 맵 데이터가 발견되었습니다. 이 것들을 Mindustry 클래식 앱에서 사용하기 위해 홈 폴더로 추출할까요?
|
classic.export.text = Mindustry 클래식 (v3.5 build 40)의 세이브파일 또는 맵 데이터가 발견되었습니다. 이 것들을 Mindustry 클래식 앱에서 사용하기 위해 홈 폴더로 추출할까요?
|
||||||
quit.confirm = 정말로 종료하시겠습니까?
|
quit.confirm = 정말로 종료하시겠습니까?
|
||||||
@@ -179,7 +187,7 @@ builtin = 기본맵
|
|||||||
map.delete.confirm = 이 맵을 삭제하시겠습니까? 이 명령은 취소할 수 없습니다!
|
map.delete.confirm = 이 맵을 삭제하시겠습니까? 이 명령은 취소할 수 없습니다!
|
||||||
map.random = [accent]랜덤 맵
|
map.random = [accent]랜덤 맵
|
||||||
map.nospawn = 이 맵에 플레이어가 생성될 코어가 없습니다! 맵 편집기에서 [ROYAL]노랑색 팀[]코어를 맵에 추가하세요.
|
map.nospawn = 이 맵에 플레이어가 생성될 코어가 없습니다! 맵 편집기에서 [ROYAL]노랑색 팀[]코어를 맵에 추가하세요.
|
||||||
map.nospawn.pvp = 이 맵에는 적팀 코어가 없습니다! 에디터에서 [ROYAL]파란색 팀이 아닌[] 코어를 추가하세요.
|
map.nospawn.pvp = 이 맵에는 적팀 코어가 없습니다! 에디터에서 [ROYAL]노랑색 팀이 아닌[] 코어를 추가하세요.
|
||||||
map.nospawn.attack = 이 맵에는 플레이어가 공격할 수 있는 적의 코어가 없습니다! 에디터에서 [ROYAL] 빨강색 팀[] 코어를 맵에 추가하세요.
|
map.nospawn.attack = 이 맵에는 플레이어가 공격할 수 있는 적의 코어가 없습니다! 에디터에서 [ROYAL] 빨강색 팀[] 코어를 맵에 추가하세요.
|
||||||
map.invalid = 파일이 잘못되었거나 손상되어 맵을 열 수 없습니다.
|
map.invalid = 파일이 잘못되었거나 손상되어 맵을 열 수 없습니다.
|
||||||
editor.brush = 브러쉬
|
editor.brush = 브러쉬
|
||||||
@@ -208,7 +216,7 @@ waves.copy = 클립보드로 복사
|
|||||||
waves.load = 클립보드에서 불러오기
|
waves.load = 클립보드에서 불러오기
|
||||||
waves.invalid = 클립보드의 잘못된 웨이브 데이터
|
waves.invalid = 클립보드의 잘못된 웨이브 데이터
|
||||||
waves.copied = 웨이브 복사됨
|
waves.copied = 웨이브 복사됨
|
||||||
wave.none = 적이 설정되지 않음.\n빈 웨이브 설정값은 자동으로 기본 웨이브 설정값으로 바뀝니다.
|
waves.none = 적 웨이브가 설정되지 않았습니다.\n비어있을 시 자동으로 기본 적 웨이브로 설정됩니다.
|
||||||
editor.default = [LIGHT_GRAY]<기본값>
|
editor.default = [LIGHT_GRAY]<기본값>
|
||||||
edit = 편집
|
edit = 편집
|
||||||
editor.name = 이름:
|
editor.name = 이름:
|
||||||
@@ -252,7 +260,6 @@ editor.mapname = 맵 이름:
|
|||||||
editor.overwrite = [accept]경고!이 명령은 기존 맵을 덮어씌우게 됩니다.
|
editor.overwrite = [accept]경고!이 명령은 기존 맵을 덮어씌우게 됩니다.
|
||||||
editor.overwrite.confirm = [scarlet]경고![] 이 이름을 가진 맵이 이미 있습니다. 덮어 쓰시겠습니까?
|
editor.overwrite.confirm = [scarlet]경고![] 이 이름을 가진 맵이 이미 있습니다. 덮어 쓰시겠습니까?
|
||||||
editor.selectmap = 불러올 맵 선택:
|
editor.selectmap = 불러올 맵 선택:
|
||||||
|
|
||||||
toolmode.replace = 재배치
|
toolmode.replace = 재배치
|
||||||
toolmode.replace.description = 블록을 배치합니다.
|
toolmode.replace.description = 블록을 배치합니다.
|
||||||
toolmode.replaceall = 모두 재배치
|
toolmode.replaceall = 모두 재배치
|
||||||
@@ -267,7 +274,6 @@ toolmode.fillteams = 팀 채우기
|
|||||||
toolmode.fillteams.description = 블록 대신 팀 건물로 채웁니다.
|
toolmode.fillteams.description = 블록 대신 팀 건물로 채웁니다.
|
||||||
toolmode.drawteams = 팀 그리기
|
toolmode.drawteams = 팀 그리기
|
||||||
toolmode.drawteams.description = 블록 대신 팀 건물을 배치합니다.
|
toolmode.drawteams.description = 블록 대신 팀 건물을 배치합니다.
|
||||||
|
|
||||||
filters.empty = [LIGHT_GRAY]필터가 없습니다!! 아래 버튼을 눌러 추가하세요.
|
filters.empty = [LIGHT_GRAY]필터가 없습니다!! 아래 버튼을 눌러 추가하세요.
|
||||||
filter.distort = 왜곡
|
filter.distort = 왜곡
|
||||||
filter.noise = 맵 전체에 타일 혹은 블럭 뿌리기
|
filter.noise = 맵 전체에 타일 혹은 블럭 뿌리기
|
||||||
@@ -299,7 +305,6 @@ filter.option.floor2 = 2번째 바닥
|
|||||||
filter.option.threshold2 = 2번째 한계점
|
filter.option.threshold2 = 2번째 한계점
|
||||||
filter.option.radius = 반경
|
filter.option.radius = 반경
|
||||||
filter.option.percentile = 백분위수
|
filter.option.percentile = 백분위수
|
||||||
|
|
||||||
width = 넓이:
|
width = 넓이:
|
||||||
height = 높이:
|
height = 높이:
|
||||||
menu = 메뉴
|
menu = 메뉴
|
||||||
@@ -317,7 +322,6 @@ tutorial.retake = 튜토리얼
|
|||||||
editor = 편집기
|
editor = 편집기
|
||||||
mapeditor = 맵 편집기
|
mapeditor = 맵 편집기
|
||||||
donate = 기부
|
donate = 기부
|
||||||
|
|
||||||
abandon = 포기
|
abandon = 포기
|
||||||
abandon.text = 이 구역의 모든 자원이 적에게 빼앗길 것입니다.
|
abandon.text = 이 구역의 모든 자원이 적에게 빼앗길 것입니다.
|
||||||
locked = 잠김
|
locked = 잠김
|
||||||
@@ -328,7 +332,7 @@ bestwave = [LIGHT_GRAY]최고 점수: {0}
|
|||||||
launch = < 출격 >
|
launch = < 출격 >
|
||||||
launch.title = 출격 성공
|
launch.title = 출격 성공
|
||||||
launch.next = [LIGHT_GRAY]다음 출격기회는 {0} 단계에서 나타납니다.
|
launch.next = [LIGHT_GRAY]다음 출격기회는 {0} 단계에서 나타납니다.
|
||||||
launch.unable2 = [scarlet]출격할 수 없습니다.[] {0}마리 남음.
|
launch.unable2 = [scarlet]출격할 수 없습니다.[]
|
||||||
launch.confirm = 출격하게 되면 모든 자원이 코어로 들어갑니다.\n또한 성공하기 전까지 기지로 돌아갈 수 없습니다.
|
launch.confirm = 출격하게 되면 모든 자원이 코어로 들어갑니다.\n또한 성공하기 전까지 기지로 돌아갈 수 없습니다.
|
||||||
launch.skip.confirm = 만약 지금 출격하시지 않고 스킵하신다면, 다음 출격 웨이브까지 기다려야 합니다.
|
launch.skip.confirm = 만약 지금 출격하시지 않고 스킵하신다면, 다음 출격 웨이브까지 기다려야 합니다.
|
||||||
uncover = 구역 개방
|
uncover = 구역 개방
|
||||||
@@ -343,7 +347,6 @@ zone.objective.survival = 생존
|
|||||||
zone.objective.attack = 적 코어 파괴
|
zone.objective.attack = 적 코어 파괴
|
||||||
add = 추가...
|
add = 추가...
|
||||||
boss.health = 보스 체력
|
boss.health = 보스 체력
|
||||||
|
|
||||||
connectfail = [crimson]{0}[accent] 서버에 연결하지 못했습니다.[]
|
connectfail = [crimson]{0}[accent] 서버에 연결하지 못했습니다.[]
|
||||||
error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요?
|
error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요?
|
||||||
error.invalidaddress = 잘못된 주소입니다.
|
error.invalidaddress = 잘못된 주소입니다.
|
||||||
@@ -354,7 +357,6 @@ error.mapnotfound = 맵 파일을 찾을 수 없습니다!
|
|||||||
error.io = 네트워크 I/O 오류.
|
error.io = 네트워크 I/O 오류.
|
||||||
error.any = 알 수 없는 네트워크 오류.
|
error.any = 알 수 없는 네트워크 오류.
|
||||||
error.bloom = 블룸 그래픽 효과를 적용하지 못했습니다.\n당신의 기기가 이 기능을 지원하지 않는 것일 수도 있습니다.
|
error.bloom = 블룸 그래픽 효과를 적용하지 못했습니다.\n당신의 기기가 이 기능을 지원하지 않는 것일 수도 있습니다.
|
||||||
|
|
||||||
zone.groundZero.name = 전초기지
|
zone.groundZero.name = 전초기지
|
||||||
zone.desertWastes.name = 쓰레기 사막
|
zone.desertWastes.name = 쓰레기 사막
|
||||||
zone.craters.name = 크레이터
|
zone.craters.name = 크레이터
|
||||||
@@ -369,7 +371,6 @@ zone.saltFlats.name = 소금 사막
|
|||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = 협곡
|
zone.crags.name = 협곡
|
||||||
zone.fungalPass.name = 포자 지대
|
zone.fungalPass.name = 포자 지대
|
||||||
|
|
||||||
zone.groundZero.description = 이 장소는 다시 시작하기에 최적의 환경을 지닌 장소입니다. 적은 수준의 위협이 있으며 자원의 양은 적습니다.\n가능한 한 많은 양의 구리와 납을 수집하십시오.\n출격합시다!
|
zone.groundZero.description = 이 장소는 다시 시작하기에 최적의 환경을 지닌 장소입니다. 적은 수준의 위협이 있으며 자원의 양은 적습니다.\n가능한 한 많은 양의 구리와 납을 수집하십시오.\n출격합시다!
|
||||||
zone.frozenForest.description = 이 지역도 산과 가까운 지역입니다 포자들이 흩뿌려져 있으며 극한의 추위도 포자룰 막을 수 있을거 같지 않습니다.\n전력을 통해서 모험을 시작하십시오 화력 발전소를 짓고 수리드론을 사용하는 법을 배우십시오.
|
zone.frozenForest.description = 이 지역도 산과 가까운 지역입니다 포자들이 흩뿌려져 있으며 극한의 추위도 포자룰 막을 수 있을거 같지 않습니다.\n전력을 통해서 모험을 시작하십시오 화력 발전소를 짓고 수리드론을 사용하는 법을 배우십시오.
|
||||||
zone.desertWastes.description = 이 황무지는 끝을 알수 없을 정도로 광활합니다 그리고 십자가 형태의 버려진 구조물이 존재합니다.\n석탄이 존재하며 이를 화력발전에 쓰거나 흑연정제에 쓰십시오.\n\n[lightgray]이 지역에서의 착륙장소는 확실하지 않습니다.
|
zone.desertWastes.description = 이 황무지는 끝을 알수 없을 정도로 광활합니다 그리고 십자가 형태의 버려진 구조물이 존재합니다.\n석탄이 존재하며 이를 화력발전에 쓰거나 흑연정제에 쓰십시오.\n\n[lightgray]이 지역에서의 착륙장소는 확실하지 않습니다.
|
||||||
@@ -384,8 +385,8 @@ zone.nuclearComplex.description = 과거 토륨의 생산, 연구와 처리를
|
|||||||
zone.fungalPass.description = 고산지대과 포자지대 사이의 지역입니다. 소규모의 적 정찰기지가 있으니 디거와 크롤러를 이용해 적의 코어를 파괴하십시오.
|
zone.fungalPass.description = 고산지대과 포자지대 사이의 지역입니다. 소규모의 적 정찰기지가 있으니 디거와 크롤러를 이용해 적의 코어를 파괴하십시오.
|
||||||
zone.impact0078.description = [ROYAL]죄송합니다. 아직 설명이 준비되지 않았습니다.
|
zone.impact0078.description = [ROYAL]죄송합니다. 아직 설명이 준비되지 않았습니다.
|
||||||
zone.crags.description = [ROYAL]죄송합니다. 아직 설명이 준비되지 않았습니다.
|
zone.crags.description = [ROYAL]죄송합니다. 아직 설명이 준비되지 않았습니다.
|
||||||
|
|
||||||
settings.language = 언어
|
settings.language = 언어
|
||||||
|
settings.data = 게임 데이터
|
||||||
settings.reset = 설정 초기화
|
settings.reset = 설정 초기화
|
||||||
settings.rebind = 키 재설정
|
settings.rebind = 키 재설정
|
||||||
settings.controls = 조작
|
settings.controls = 조작
|
||||||
@@ -437,7 +438,6 @@ blocks.inaccuracy = 오차각
|
|||||||
blocks.shots = 발포 횟수
|
blocks.shots = 발포 횟수
|
||||||
blocks.reload = 재장전
|
blocks.reload = 재장전
|
||||||
blocks.ammo = 탄약
|
blocks.ammo = 탄약
|
||||||
|
|
||||||
bar.drilltierreq = 드릴이 요구됨
|
bar.drilltierreq = 드릴이 요구됨
|
||||||
bar.drillspeed = 채광 속도 : {0}/s
|
bar.drillspeed = 채광 속도 : {0}/s
|
||||||
bar.efficiency = 효율성 : {0}%
|
bar.efficiency = 효율성 : {0}%
|
||||||
@@ -450,7 +450,6 @@ bar.heat = 발열
|
|||||||
bar.power = 전력
|
bar.power = 전력
|
||||||
bar.progress = 건설 진행
|
bar.progress = 건설 진행
|
||||||
bar.spawned = 유닛: {0}/{1}
|
bar.spawned = 유닛: {0}/{1}
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] 데미지
|
bullet.damage = [stat]{0}[lightgray] 데미지
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] 범위 데미지 ~[stat] {1}[lightgray] 타일
|
bullet.splashdamage = [stat]{0}[lightgray] 범위 데미지 ~[stat] {1}[lightgray] 타일
|
||||||
bullet.incendiary = [stat]방화
|
bullet.incendiary = [stat]방화
|
||||||
@@ -462,7 +461,6 @@ bullet.freezing = [stat]동결
|
|||||||
bullet.tarred = [stat]타르
|
bullet.tarred = [stat]타르
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x 탄약 소모율
|
bullet.multiplier = [stat]{0}[lightgray]x 탄약 소모율
|
||||||
bullet.reload = [stat]{0}[lightgray]x 사격 속도
|
bullet.reload = [stat]{0}[lightgray]x 사격 속도
|
||||||
|
|
||||||
unit.blocks = 블록
|
unit.blocks = 블록
|
||||||
unit.powersecond = 전력/초
|
unit.powersecond = 전력/초
|
||||||
unit.liquidsecond = 액체/초
|
unit.liquidsecond = 액체/초
|
||||||
@@ -520,11 +518,12 @@ setting.mutemusic.name = 음소거
|
|||||||
setting.sfxvol.name = 효과음 크기
|
setting.sfxvol.name = 효과음 크기
|
||||||
setting.mutesound.name = 소리 끄기
|
setting.mutesound.name = 소리 끄기
|
||||||
setting.crashreport.name = 오류 보고서 보내기
|
setting.crashreport.name = 오류 보고서 보내기
|
||||||
|
setting.savecreate.name = 자동 저장 활성화
|
||||||
setting.chatopacity.name = 채팅 투명도
|
setting.chatopacity.name = 채팅 투명도
|
||||||
setting.playerchat.name = 인게임 채팅 표시
|
setting.playerchat.name = 인게임 채팅 표시
|
||||||
uiscale.reset = UI 스케일이 변경되었습니다.\n"확인"버튼을 눌러 스케일을 확인하세요.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI 스케일이 변경되었습니다.\n"확인"버튼을 눌러 스케일을 확인하세요.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
uiscale.cancel = Cancel & Exit
|
uiscale.cancel = 취소 & 나가기
|
||||||
setting.bloom.name = Bloom
|
setting.bloom.name = 발광 효과
|
||||||
keybind.title = 조작키 설정
|
keybind.title = 조작키 설정
|
||||||
keybinds.mobile = [scarlet]여기 대부분의 키들은 모바일에서 작동하지 않습니다. 기본적인 것들만 지원됩니다.
|
keybinds.mobile = [scarlet]여기 대부분의 키들은 모바일에서 작동하지 않습니다. 기본적인 것들만 지원됩니다.
|
||||||
category.general.name = 일반
|
category.general.name = 일반
|
||||||
@@ -540,6 +539,7 @@ keybind.press.axis = 축 또는 키를 누르세요.
|
|||||||
keybind.screenshot.name = 맵 스크린샷
|
keybind.screenshot.name = 맵 스크린샷
|
||||||
keybind.move_x.name = 오른쪽/왼쪽 이동
|
keybind.move_x.name = 오른쪽/왼쪽 이동
|
||||||
keybind.move_y.name = 위 / 아래 중간
|
keybind.move_y.name = 위 / 아래 중간
|
||||||
|
keybind.fullscreen.name = 전체 화면
|
||||||
keybind.select.name = 선택
|
keybind.select.name = 선택
|
||||||
keybind.diagonal_placement.name = 대각선 설치
|
keybind.diagonal_placement.name = 대각선 설치
|
||||||
keybind.pick.name = 블록 선택
|
keybind.pick.name = 블록 선택
|
||||||
@@ -572,7 +572,6 @@ mode.pvp.description = 실제 플레이어와 PvP를 합니다. 맵에 적어도
|
|||||||
mode.attack.name = 공격
|
mode.attack.name = 공격
|
||||||
mode.attack.description = 적 기지를 파괴하세요. 맵에 빨간팀 코어가 있어야 플레이 가능합니다.
|
mode.attack.description = 적 기지를 파괴하세요. 맵에 빨간팀 코어가 있어야 플레이 가능합니다.
|
||||||
mode.custom = 사용자 정의 규칙
|
mode.custom = 사용자 정의 규칙
|
||||||
|
|
||||||
rules.infiniteresources = 무한 자원
|
rules.infiniteresources = 무한 자원
|
||||||
rules.wavetimer = 웨이브 타이머
|
rules.wavetimer = 웨이브 타이머
|
||||||
rules.waves = 웨이브
|
rules.waves = 웨이브
|
||||||
@@ -599,7 +598,6 @@ rules.title.resourcesbuilding = 자원 & 건축
|
|||||||
rules.title.player = 플레이어들
|
rules.title.player = 플레이어들
|
||||||
rules.title.enemy = 적
|
rules.title.enemy = 적
|
||||||
rules.title.unit = 유닛
|
rules.title.unit = 유닛
|
||||||
|
|
||||||
content.item.name = 아이템
|
content.item.name = 아이템
|
||||||
content.liquid.name = 액체
|
content.liquid.name = 액체
|
||||||
content.unit.name = 유닛
|
content.unit.name = 유닛
|
||||||
@@ -613,7 +611,7 @@ item.titanium.name = 티타늄
|
|||||||
item.thorium.name = 토륨
|
item.thorium.name = 토륨
|
||||||
item.silicon.name = 실리콘
|
item.silicon.name = 실리콘
|
||||||
item.plastanium.name = 플라스터늄
|
item.plastanium.name = 플라스터늄
|
||||||
item.phase-fabric.name = 현상 구조체
|
item.phase-fabric.name = 메타
|
||||||
item.surge-alloy.name = 서지 합금
|
item.surge-alloy.name = 서지 합금
|
||||||
item.spore-pod.name = 포자 포드
|
item.spore-pod.name = 포자 포드
|
||||||
item.sand.name = 모래
|
item.sand.name = 모래
|
||||||
@@ -661,7 +659,6 @@ mech.buildspeed = [LIGHT_GRAY]건설 속도: {0}%
|
|||||||
liquid.heatcapacity = [LIGHT_GRAY]발열 용량: {0}
|
liquid.heatcapacity = [LIGHT_GRAY]발열 용량: {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]점도: {0}
|
liquid.viscosity = [LIGHT_GRAY]점도: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]온도: {0}
|
liquid.temperature = [LIGHT_GRAY]온도: {0}
|
||||||
|
|
||||||
block.sand-boulder.name = 사암
|
block.sand-boulder.name = 사암
|
||||||
block.grass.name = 잔디
|
block.grass.name = 잔디
|
||||||
block.salt.name = 소금
|
block.salt.name = 소금
|
||||||
@@ -737,8 +734,8 @@ block.copper-wall.name = 구리 벽
|
|||||||
block.copper-wall-large.name = 대형 구리 벽
|
block.copper-wall-large.name = 대형 구리 벽
|
||||||
block.titanium-wall.name = 티타늄 벽
|
block.titanium-wall.name = 티타늄 벽
|
||||||
block.titanium-wall-large.name = 대형 티타늄 벽
|
block.titanium-wall-large.name = 대형 티타늄 벽
|
||||||
block.phase-wall.name = 위상 벽
|
block.phase-wall.name = 메타 벽
|
||||||
block.phase-wall-large.name = 대형 위상 벽
|
block.phase-wall-large.name = 대형 메타 벽
|
||||||
block.thorium-wall.name = 토륨 벽
|
block.thorium-wall.name = 토륨 벽
|
||||||
block.thorium-wall-large.name = 대형 토륨 벽
|
block.thorium-wall-large.name = 대형 토륨 벽
|
||||||
block.door.name = 문
|
block.door.name = 문
|
||||||
@@ -756,7 +753,7 @@ block.distributor.name = 대형 분배기
|
|||||||
block.sorter.name = 필터
|
block.sorter.name = 필터
|
||||||
block.overflow-gate.name = 오버플로 게이트
|
block.overflow-gate.name = 오버플로 게이트
|
||||||
block.silicon-smelter.name = 실리콘 제련소
|
block.silicon-smelter.name = 실리콘 제련소
|
||||||
block.phase-weaver.name = 현상구조체 합성기
|
block.phase-weaver.name = 메타 합성기
|
||||||
block.pulverizer.name = 분쇄기
|
block.pulverizer.name = 분쇄기
|
||||||
block.cryofluidmixer.name = 냉각수 제조기
|
block.cryofluidmixer.name = 냉각수 제조기
|
||||||
block.melter.name = 융해기
|
block.melter.name = 융해기
|
||||||
@@ -798,14 +795,15 @@ block.wave.name = 파도
|
|||||||
block.swarmer.name = 스웜
|
block.swarmer.name = 스웜
|
||||||
block.salvo.name = 살보
|
block.salvo.name = 살보
|
||||||
block.ripple.name = 립플
|
block.ripple.name = 립플
|
||||||
block.phase-conveyor.name = 위상 컨베이어
|
block.phase-conveyor.name = 메타 컨베이어
|
||||||
block.bridge-conveyor.name = 터널 컨베이어
|
block.bridge-conveyor.name = 터널 컨베이어
|
||||||
block.plastanium-compressor.name = 플라스 압축기
|
block.plastanium-compressor.name = 플라스터늄 압축기
|
||||||
block.pyratite-mixer.name = 파이라타이트 혼합기
|
block.pyratite-mixer.name = 파이라타이트 혼합기
|
||||||
block.blast-mixer.name = 폭발물 혼합기
|
block.blast-mixer.name = 폭발물 혼합기
|
||||||
block.solar-panel.name = 태양 전지판
|
block.solar-panel.name = 태양 전지판
|
||||||
block.solar-panel-large.name = 대형 태양 전지판
|
block.solar-panel-large.name = 대형 태양 전지판
|
||||||
block.oil-extractor.name = 석유 추출기
|
block.oil-extractor.name = 석유 추출기
|
||||||
|
block.command-center.name = 유닛 명령
|
||||||
block.draug-factory.name = 광부 드론 공장
|
block.draug-factory.name = 광부 드론 공장
|
||||||
block.spirit-factory.name = 수리 드론 공장
|
block.spirit-factory.name = 수리 드론 공장
|
||||||
block.phantom-factory.name = 건설 드론 공장
|
block.phantom-factory.name = 건설 드론 공장
|
||||||
@@ -818,7 +816,7 @@ block.fortress-factory.name = 포트리스 기체 공장
|
|||||||
block.revenant-factory.name = 망령 전함 공장
|
block.revenant-factory.name = 망령 전함 공장
|
||||||
block.repair-point.name = 수리 지점
|
block.repair-point.name = 수리 지점
|
||||||
block.pulse-conduit.name = 퓨즈 파이프
|
block.pulse-conduit.name = 퓨즈 파이프
|
||||||
block.phase-conduit.name = 위상 파이프
|
block.phase-conduit.name = 메타 파이프
|
||||||
block.liquid-router.name = 액체 분배기
|
block.liquid-router.name = 액체 분배기
|
||||||
block.liquid-tank.name = 물탱크
|
block.liquid-tank.name = 물탱크
|
||||||
block.liquid-junction.name = 액체 교차기
|
block.liquid-junction.name = 액체 교차기
|
||||||
@@ -888,20 +886,18 @@ tutorial.deposit = 자원을 다시 블록에 넣을수도 있습니다.\n\n[acc
|
|||||||
tutorial.waves = [LIGHT_GRAY]적[]이 접근합니다.\n당신의 기체는 적을 향해 클릭하여 공격할 수 있습니다. 또한, 구리를 더 캐내고 포탑을 더 지어서 방어를 강화하세요.\n\n[accent]2단계 동안 코어를 보호하세요.[]
|
tutorial.waves = [LIGHT_GRAY]적[]이 접근합니다.\n당신의 기체는 적을 향해 클릭하여 공격할 수 있습니다. 또한, 구리를 더 캐내고 포탑을 더 지어서 방어를 강화하세요.\n\n[accent]2단계 동안 코어를 보호하세요.[]
|
||||||
tutorial.waves.mobile = [LIGHT_GRAY]적[]이 접근합니다.\n당신의 기체는 적을 자동조준하지만, 원하는 적을 클릭하여 공격하고 싶은 대상을 바꿀 수 있습니다.\n구리를 더 캐내고 포탑을 더 지어서 방어를 강화하세요.\n\n[accent]2단계동안 코어를 방어하세요.[]
|
tutorial.waves.mobile = [LIGHT_GRAY]적[]이 접근합니다.\n당신의 기체는 적을 자동조준하지만, 원하는 적을 클릭하여 공격하고 싶은 대상을 바꿀 수 있습니다.\n구리를 더 캐내고 포탑을 더 지어서 방어를 강화하세요.\n\n[accent]2단계동안 코어를 방어하세요.[]
|
||||||
tutorial.launch = 특정 단계에 도달하면 [accent]출격[]이 가능합니다.\n[accent]출격[]을 하게되면 해당 지역의 코어에 들어있는 자원들을 캠페인의 자원 창고로 보내지만, 해당 지역의 [accent]모든 것들[]은 날라가게 되니 주의하세요.
|
tutorial.launch = 특정 단계에 도달하면 [accent]출격[]이 가능합니다.\n[accent]출격[]을 하게되면 해당 지역의 코어에 들어있는 자원들을 캠페인의 자원 창고로 보내지만, 해당 지역의 [accent]모든 것들[]은 날라가게 되니 주의하세요.
|
||||||
|
|
||||||
|
|
||||||
item.copper.description = 모든 종류의 블록에서 광범위하게 사용되는 자원입니다.
|
item.copper.description = 모든 종류의 블록에서 광범위하게 사용되는 자원입니다.
|
||||||
item.lead.description = 쉽게 구할 수 있으며, 전자 및 액체 수송 블록에서 광범위하게 사용되는 자원입니다.
|
item.lead.description = 쉽게 구할 수 있으며, 전자 및 액체 수송 블록에서 광범위하게 사용되는 자원입니다.
|
||||||
item.metaglass.description = 초강력 유리 화합물. 액체 분배 및 저장에 광범위하게 사용됩니다.
|
item.metaglass.description = 초강력 유리 화합물. 액체 분배 및 저장에 광범위하게 사용됩니다.\n\n[royal]빨리 생산할수록 게임이 편해집니다.
|
||||||
item.graphite.description = 탄약 및 전기 절연에 사용되는 광물질화 탄소.
|
item.graphite.description = 탄약 및 전기 절연에 사용되는 광물질화 탄소.
|
||||||
item.sand.description = 고밀도 합금을 제작할 때 사용되는 일반적인 재료입니다.
|
item.sand.description = 고티어 합금을 제작할 때 사용되는 일반적인 재료입니다.
|
||||||
item.coal.description = 흔하고 쉽게 구할 수 있는 연료.
|
item.coal.description = 흔하고 쉽게 구할 수 있는 연료.
|
||||||
item.titanium.description = 파이프 재료나 고급 드릴, 비행기/기체 등에서 재료로 사용되는 자원입니다.
|
item.titanium.description = 파이프 재료나 고급 드릴, 비행기/기체 등에서 재료로 사용되는 자원입니다.
|
||||||
item.thorium.description = 건물의 재료, 터렛의 탄약 또는 핵연료로 사용되는 방사성 금속입니다.
|
item.thorium.description = 건물의 재료, 터렛의 탄약 또는 핵연료로 사용되는 방사성 금속입니다.
|
||||||
item.scrap.description = 오래된 건물과 유닛의 남은 잔해. 미량의 많은 금속이 포함되어 있습니다.
|
item.scrap.description = 오래된 건물과 유닛의 남은 잔해. 미량의 다양한 금속들이 포함되어 있습니다.
|
||||||
item.silicon.description = 매우 유용한 반도체로, 기체를 만들거나 태양 전지판 등 전자 건물에 사용할 수 있습니다.
|
item.silicon.description = 매우 유용한 물질로, 기체를 만들거나 태양 전지판 등 전자 건물에 사용할 수 있습니다.\n\n[royal]이 것이 생산되면 발전속도가 급속도로 빨라집니다.
|
||||||
item.plastanium.description = 고급 항공기 및 분열 탄약에 사용되는 가벼운 연성 재료.
|
item.plastanium.description = 고급 항공기 및 분열 탄약에 사용되는 가벼운 연성 재료.
|
||||||
item.phase-fabric.description = 최첨단 전자 제품과 자기수리 기술에 사용되는 거의 무중력에 가까운 물질입니다.
|
item.phase-fabric.description = 최첨단 전자 제품과 자기수리 기술에 사용되는 거의 무중력에 가까운 물질입니다.\n\n[royal]발전기 근처에 있는 오버드라이브에 함부로 이 것을 넣지마세요.
|
||||||
item.surge-alloy.description = 순간적으로 전압이 증가하는 전기 특성을 가진 고급 합금입니다.
|
item.surge-alloy.description = 순간적으로 전압이 증가하는 전기 특성을 가진 고급 합금입니다.
|
||||||
item.spore-pod.description = 석유를 만들거나 탄약과 합성해 연료로 전환하는데 사용됩니다.
|
item.spore-pod.description = 석유를 만들거나 탄약과 합성해 연료로 전환하는데 사용됩니다.
|
||||||
item.blast-compound.description = 터렛 및 건설의 재료로 사용되는 휘발성 폭발물.\n연료로도 사용할 수 있지만, 별로 추천하지는 않습니다.
|
item.blast-compound.description = 터렛 및 건설의 재료로 사용되는 휘발성 폭발물.\n연료로도 사용할 수 있지만, 별로 추천하지는 않습니다.
|
||||||
@@ -915,7 +911,7 @@ mech.delta-mech.description = 빠르게 이동하는 적을 처치하기 위한
|
|||||||
mech.tau-mech.description = 지원형 기체.\n총을 발사하여 건물을 치료하고 회복 능력 사용으로 화재를 진압하거나, 반경 내 아군을 치유시킵니다.
|
mech.tau-mech.description = 지원형 기체.\n총을 발사하여 건물을 치료하고 회복 능력 사용으로 화재를 진압하거나, 반경 내 아군을 치유시킵니다.
|
||||||
mech.omega-mech.description = 지상 기체 최종판이자 건물 파괴용으로 적합한 부피가 크고 튼튼한 기체.\n방어 모드는 최대 90% 의 피해를 줄일 수 있습니다.
|
mech.omega-mech.description = 지상 기체 최종판이자 건물 파괴용으로 적합한 부피가 크고 튼튼한 기체.\n방어 모드는 최대 90% 의 피해를 줄일 수 있습니다.
|
||||||
mech.dart-ship.description = 표준 비행선.\n빠르고 가볍지만 공격력이 거의 없고 채광 속도가 느립니다.
|
mech.dart-ship.description = 표준 비행선.\n빠르고 가볍지만 공격력이 거의 없고 채광 속도가 느립니다.
|
||||||
mech.javelin-ship.description = 치고 빠지는 공격을 위한 비행선.\n처음에는 느리지만, 가속도가 붙어 엄청난 속도로 미사일 피해를 입힐 수 있으며, 전격 능력을 사용할 수 있습니다.
|
mech.javelin-ship.description = 치고 빠지는 공격을 위한 비행선.\n처음에는 느리지만, 가속도가 붙어 엄청난 속도로 미사일 피해를 입힐 수 있으며, 전격 능력을 사용할 수 있습니다.\n\n[royal]보호막을 제거하기에 가장 좋습니다.
|
||||||
mech.trident-ship.description = 대형 공중 폭격능력과 빠른 건설능력을 가진 폭격기.\n당연하게도 엄청 단단합니다.
|
mech.trident-ship.description = 대형 공중 폭격능력과 빠른 건설능력을 가진 폭격기.\n당연하게도 엄청 단단합니다.
|
||||||
mech.glaive-ship.description = 크고 잘 무장된 총을 가진 비행선.\n방화용 리피터가 장착되어 있으며, 가속도와 최대속도가 높습니다.
|
mech.glaive-ship.description = 크고 잘 무장된 총을 가진 비행선.\n방화용 리피터가 장착되어 있으며, 가속도와 최대속도가 높습니다.
|
||||||
unit.draug.description = 가장 기본적인 채굴 드론입니다 저렴하게 생산 가능하며 자동으로 구리와 납을 캐내 가까운 코어에 저장합니다.
|
unit.draug.description = 가장 기본적인 채굴 드론입니다 저렴하게 생산 가능하며 자동으로 구리와 납을 캐내 가까운 코어에 저장합니다.
|
||||||
@@ -929,16 +925,12 @@ unit.eruptor.description = 지상 유닛. 광재를 넣은 파도와 같은 무
|
|||||||
unit.wraith.description = 적 핵심 건물 및 유닛을 집중적으로 공격하는 방식을 사용하는 전투기 입니다.
|
unit.wraith.description = 적 핵심 건물 및 유닛을 집중적으로 공격하는 방식을 사용하는 전투기 입니다.
|
||||||
unit.ghoul.description = 무겁고 튼튼한 지상 폭격기 입니다.\n주로 적 건물로 이동하여 엄청난 폭격을 가합니다.
|
unit.ghoul.description = 무겁고 튼튼한 지상 폭격기 입니다.\n주로 적 건물로 이동하여 엄청난 폭격을 가합니다.
|
||||||
unit.revenant.description = 플래이어가 생산가능한 최종 공중 전투기. 폭발물을 쓰는 스웜 포탑과 같은 무기를 사용합니다.
|
unit.revenant.description = 플래이어가 생산가능한 최종 공중 전투기. 폭발물을 쓰는 스웜 포탑과 같은 무기를 사용합니다.
|
||||||
unit.chaos-array.description = 지상 중간보스 유닛. 설금을 넣은 사이클론과 같은 무기를 장착했습니다.
|
|
||||||
unit.eradicator.description = 지상 최종보스 유닛. 토륨을 넣은 스펙터와 같은 무기를 장착했습니다.
|
|
||||||
unit.lich.description = 공중 중간보스 유닛. 리치와 같은 무기를 장착했으나 공격속도가 좀 더 빠릅니다.
|
|
||||||
unit.reaper.description = 최종보스 유닛. 박멸과 같은 무기를 장착했고, 공격속도가 좀 더 빠르며, 매우 단단합니다.
|
|
||||||
block.graphite-press.description = 석탄 덩어리를 흑연으로 압축합니다.
|
block.graphite-press.description = 석탄 덩어리를 흑연으로 압축합니다.
|
||||||
block.multi-press.description = 흑연 압축기의 상향 버전입니다. 물과 전력을 이용해 석탄을 빠르고 효율적으로 압축합니다.
|
block.multi-press.description = 흑연 압축기의 상향 버전입니다. 물과 전력을 이용해 석탄을 빠르고 효율적으로 압축합니다.
|
||||||
block.silicon-smelter.description = 고순도 석탄으로 모래를 줄여 실리콘을 생산합니다.
|
block.silicon-smelter.description = 석탄과 모래를 사용해 실리콘을 생산합니다.
|
||||||
block.kiln.description = 모래와 납을 사용해 강화유리를 만듭니다. 소량의 전력이 필요합니다.
|
block.kiln.description = 모래와 납을 사용해 강화유리를 만듭니다. 소량의 전력이 필요합니다.
|
||||||
block.plastanium-compressor.description = 석유와 티타늄으로 플라스틱을 생산합니다.
|
block.plastanium-compressor.description = 석유와 티타늄으로 플라스터늄을 생산합니다.
|
||||||
block.phase-weaver.description = 방사능 토륨과 많은 량의 모래에서 상직물을 생산합니다.
|
block.phase-weaver.description = 토륨과 많은 량의 모래로 메타를 합성합니다.
|
||||||
block.alloy-smelter.description = 티타늄, 납, 실리콘, 구리로부터 서지 합금을 생산합니다.
|
block.alloy-smelter.description = 티타늄, 납, 실리콘, 구리로부터 서지 합금을 생산합니다.
|
||||||
block.cryofluidmixer.description = 물과 티타늄을 냉각에 훨씬 더 효과적인 냉동액으로 결합시킵니다.
|
block.cryofluidmixer.description = 물과 티타늄을 냉각에 훨씬 더 효과적인 냉동액으로 결합시킵니다.
|
||||||
block.blast-mixer.description = 포자를 사용하여 파이라타이트를 폭발성 화합물로 변환시킵니다.
|
block.blast-mixer.description = 포자를 사용하여 파이라타이트를 폭발성 화합물로 변환시킵니다.
|
||||||
@@ -961,7 +953,7 @@ block.titanium-wall-large.description = 티타늄 벽 4개를 뭉친 블럭입
|
|||||||
block.thorium-wall.description = 쉬운 생산이 가능한 마지막 방어벽입니다.
|
block.thorium-wall.description = 쉬운 생산이 가능한 마지막 방어벽입니다.
|
||||||
block.thorium-wall-large.description = 토륨 벽 4개를 뭉친 블럭입니다.
|
block.thorium-wall-large.description = 토륨 벽 4개를 뭉친 블럭입니다.
|
||||||
block.phase-wall.description = 토륨 벽만큼 강하지 않지만 벽을 향해 날아오는 총알이 너무 강력하지 않으면 총알을 튕겨냅니다.
|
block.phase-wall.description = 토륨 벽만큼 강하지 않지만 벽을 향해 날아오는 총알이 너무 강력하지 않으면 총알을 튕겨냅니다.
|
||||||
block.phase-wall-large.description = 위상 벽 4개를 뭉친 블럭입니다.
|
block.phase-wall-large.description = 메타 벽 4개를 뭉친 블럭입니다.
|
||||||
block.surge-wall.description = 공격을 받으면 낮은 확률로 공격자에게 전격 공격을 합니다.
|
block.surge-wall.description = 공격을 받으면 낮은 확률로 공격자에게 전격 공격을 합니다.
|
||||||
block.surge-wall-large.description = 설금 벽 4개를 뭉친 블럭입니다.
|
block.surge-wall-large.description = 설금 벽 4개를 뭉친 블럭입니다.
|
||||||
block.door.description = 눌러서 열고 닫을 수 있는 문.\n만약 문이 열리면, 적들은 총을 쏘며 문을 통과할 수 있습니다.
|
block.door.description = 눌러서 열고 닫을 수 있는 문.\n만약 문이 열리면, 적들은 총을 쏘며 문을 통과할 수 있습니다.
|
||||||
@@ -998,50 +990,51 @@ block.battery.description = 전력 생산량에 여유가 있을경우, 생산
|
|||||||
block.battery-large.description = 일반 배터리보다 훨씬 많은 량의 전력을 저장합니다.\n\n[ROYAL]임시 전력을 만들어서 냉각기에 전기가 부족해 원자로 폭발이 일어나는 것을 막아보는 것은 어떨까요?
|
block.battery-large.description = 일반 배터리보다 훨씬 많은 량의 전력을 저장합니다.\n\n[ROYAL]임시 전력을 만들어서 냉각기에 전기가 부족해 원자로 폭발이 일어나는 것을 막아보는 것은 어떨까요?
|
||||||
block.combustion-generator.description = 인화성 물질을 태워 소량의 전력을 생산합니다.
|
block.combustion-generator.description = 인화성 물질을 태워 소량의 전력을 생산합니다.
|
||||||
block.thermal-generator.description = 건설가능한 열이 있는 타일 위에 건설하면 전력을 생산합니다.\n\n[ROYAL]용암 웅덩이 혹은 열기지대에서 무한정 열을 발산합니다.
|
block.thermal-generator.description = 건설가능한 열이 있는 타일 위에 건설하면 전력을 생산합니다.\n\n[ROYAL]용암 웅덩이 혹은 열기지대에서 무한정 열을 발산합니다.
|
||||||
block.turbine-generator.description = 화력 발전기보다 효율적이지만, 액체가 추가적으로 필요합니다.\n\n[ROYAL]3*2<7.8
|
block.turbine-generator.description = 화력 발전기보다 효율적이지만, 액체가 추가적으로 필요합니다.\n\n[ROYAL]일반 타일에서 물추출기 1개로 2개가 가동가능합니다.
|
||||||
block.differential-generator.description = 냉각수와 파이라타이트의 온도 차를 이용해 안정적으로 원자로에 버금가는 양의 전기를 생산합니다.
|
block.differential-generator.description = 냉각수와 파이라타이트의 온도 차를 이용해 안정적으로 원자로에 버금가는 양의 전기를 생산합니다.
|
||||||
block.rtg-generator.description = 방사성동위원소 열전기 발전기\n토륨또는 현상 구조체를 사용하며, 냉각이 필요없는 발전을 하지만 토륨 원자로에 비해 발전량이 매우 적습니다.
|
block.rtg-generator.description = 방사성동위원소 열전기 발전기\n토륨또는 현상 구조체를 사용하며, 냉각이 필요없는 발전을 하지만 토륨 원자로에 비해 발전량이 매우 적습니다.
|
||||||
block.solar-panel.description = 태양광으로 극소량의 전기을 생산합니다.
|
block.solar-panel.description = 태양광으로 극소량의 전기을 생산합니다.
|
||||||
block.solar-panel-large.description = 일반 태양 전지판보다 훨씬 나은 발전량이 많지만, 건축비도 훨씬 비쌉니다.
|
block.solar-panel-large.description = 일반 태양 전지판보다 훨씬 발전량이 많지만, 건축비도 훨씬 비쌉니다.
|
||||||
block.thorium-reactor.description = 토륨을 이용해 막대한 양의 전기를 생산합니다. 지속적인 냉각이 필요하며 냉각제의 양이 부족하면 크게 폭발합니다.\n\n[royal]폭발로 인한 피해를 버틸 수 있는 건물은 없습니다.
|
block.thorium-reactor.description = 토륨을 이용해 막대한 양의 전기를 생산합니다. 지속적인 냉각이 필요하며 냉각제의 양이 부족하면 크게 폭발합니다.\n\n[royal]폭발로 인한 피해를 버틸 수 있는 건물은 없습니다.
|
||||||
block.impact-reactor.description = 최첨단 발전기\n폭발물과 냉각수를 이용해 최고의 효율로 매우 많은 양의 전기를 생산할 수 있습니다. 발전을 시작하는데 전기가 필요하며 발전기를 가동하는데 시간이 많이 걸립니다.\n[royal]오버드라이브 프로젝터로 10000이상의 전기를 생산할 수 있으며, 가동중에 전기가 끊기면 가동을 다시 해야되기 때문에 창고,물탱크,배터리 등을 주위에 설치하고 나서 가동하는 것을 추천합니다.
|
block.impact-reactor.description = 최첨단 발전기\n폭발물과 냉각수를 이용해 최고의 효율로 매우 많은 양의 전기를 생산할 수 있습니다. 발전을 시작하는데 전기가 필요하며 발전기를 가동하는데 시간이 많이 걸립니다.\n[royal]오버드라이브 프로젝터로 10000이상의 전기를 생산할 수 있으며, 가동중에 전기가 끊기면 가동을 다시 해야되기 때문에 창고,물탱크,배터리 등을 주위에 설치하고 나서 가동하는 것을 추천합니다.
|
||||||
block.mechanical-drill.description = 싸구려 드릴. 적절한 타일 위에 놓였을때 매우 느린 속도로 계속 채광합니다.\n\n[ROYAL]구리와 납은 광부 드론으로 대체가 가능합니다.
|
block.mechanical-drill.description = 싸구려 드릴. 적절한 타일 위에 놓였을때 매우 느린 속도로 채광합니다.\n\n[ROYAL]구리와 납은 광부 드론으로 대체가 가능합니다.
|
||||||
block.pneumatic-drill.description = 기압을 이용하여 보다 빠르게 단단한 물질을 채광할 수 있는 향상된 드릴.\n\n[ROYAL]전기를 사용하지 않는 드릴이라도 물과 오버드라이브를 이용하여 가속할 수 있습니다.
|
block.pneumatic-drill.description = 기압을 이용하여 보다 빠르게 단단한 물질을 채광할 수 있는 향상된 드릴.\n\n[ROYAL]전기를 사용하지 않는 드릴이라도 물과 오버드라이브를 이용하여 가속할 수 있습니다.
|
||||||
block.laser-drill.description = 토륨을 채광할 수 있는 고급 드릴입니다. 전력과 물을 공급하여 빠른 속도로 채광할 수 있습니다.\n\n[ROYAL]드릴아래에 배치된 광물타일의 비율에 따라 채광량이 달라집니다.
|
block.laser-drill.description = 토륨을 채광할 수 있는 고급 드릴입니다. 전력과 물을 공급하여 빠른 속도로 채광할 수 있습니다.\n\n[ROYAL]드릴아래에 배치된 광물타일의 비율에 따라 채광량이 달라집니다.
|
||||||
block.blast-drill.description = 최상위 드릴입니다. 많은량의 전력이 필요합니다.\n\n[ROYAL]물추출기 하나면 충분합니다.
|
block.blast-drill.description = 최상위 드릴입니다. 많은량의 전력이 필요합니다.\n\n[ROYAL]물추출기 하나면 충분합니다.
|
||||||
block.water-extractor.description = 땅에서 물을 추출합니다. 근처에 호수가 없을 때 사용하세요.\n\n[ROYAL]물추출기의 효율이 달라지는 타일이 있습니다.
|
block.water-extractor.description = 땅에서 물을 추출합니다. 근처에 호수가 없을 때 사용하세요.\n\n[ROYAL]물추출기의 효율이 달라지는 타일이 있습니다.
|
||||||
block.cultivator.description = 소량의 포자를 산업용으로 사용가능한 포자로 배양하는 건물입니다.
|
block.cultivator.description = 소량의 포자를 산업용으로 사용가능한 포자로 배양하는 건물입니다.
|
||||||
block.oil-extractor.description = 대량의 전력과 물을 사용하여 모래에서 기름을 추출합니다. 근처에 직접적인 석유 공급원이 없을때 사용하세요.\n\n[royal]모래 또는 고철을 이용하여
|
block.oil-extractor.description = 대량의 전력과 물을 사용하여 모래에서 기름을 추출합니다. 근처에 직접적인 석유 공급원이 없을때 사용하세요.\n\n[royal]모래 또는 고철을 이용하여 창조경제가 가능합니다.
|
||||||
block.core-shard.description = 코어의 1단계 형태입니다.\n이것이 파괴되면 플레이하고 있는 지역과의 연결이 끊어지니 적의 공격에 파괴되지 않도록 주의하세요.\n[ROYAL]연결이 끊긴다는 말은 게임오버와 일맥상통합니다.
|
block.core-shard.description = 코어의 1단계 형태입니다.\n이것이 파괴되면 플레이하고 있는 지역과의 연결이 끊어지니 적의 공격에 파괴되지 않도록 주의하세요.\n[ROYAL]연결이 끊긴다는 말은 게임오버와 일맥상통합니다.
|
||||||
block.core-foundation.description = 코어의 2단계 형태입니다.\n첫 번째 코어보다 더 튼튼하고 더 많은 자원을 저장할 수 있습니다.\n\n[ROYAL]크기도 좀 더 큽니다.
|
block.core-foundation.description = 코어의 2단계 형태입니다.\n첫 번째 코어보다 더 튼튼하고 더 많은 자원을 저장할 수 있습니다.\n\n[ROYAL]크기도 좀 더 큽니다.
|
||||||
block.core-nucleus.description = 코어의 3단계이자 마지막 형태입니다.\n최고로 튼튼하며 막대한 양의 자원들을 저장할 수 있습니다.
|
block.core-nucleus.description = 코어의 3단계이자 마지막 형태입니다.\n최고로 튼튼하며 막대한 양의 자원들을 저장할 수 있습니다.
|
||||||
block.vault.description = 각종 대량의 자원을 저장할 수 있습니다.[LIGHT_GRAY]언로더[]를 사용하여 금고에서 물건을 회수할 수 있습니다.
|
block.vault.description = 각종 대량의 자원을 저장할 수 있습니다.[LIGHT_GRAY]언로더[]를 사용하여 창고에서 물건을 회수할 수 있습니다.\n\n[royal]포탑의 탄약, ☆핵융합로의 폭발물☆, 원자로 냉각수의 티타늄등 여러 자원들의 여분을 미리 저장하여 혹시모를 사태를 예방하세요.
|
||||||
block.container.description = 각종 소량의 자원을 저장할 수 있습니다.[LIGHT_GRAY]언로더[]를 사용하여 컨테이너에서 자원을 회수할 수 있습니다.
|
block.container.description = 각종 소량의 자원을 저장할 수 있습니다.[LIGHT_GRAY]언로더[]를 사용하여 컨테이너에서 자원을 회수할 수 있습니다.\n\n[royal]또는 컨테이너를 클릭하고 자원을 눌러 자원을 강탈해갈수도 있습니다.
|
||||||
block.unloader.description = 컨테이너, 창고 또는 코어에서 인접한 블록으로 자원을 출하합니다. 출하시킬 자원의 종류는 언로더를 눌러 지정할 수 있습니다.
|
block.unloader.description = 컨테이너, 창고 또는 코어에서 인접한 블록으로 자원을 출하합니다. 출하시킬 자원의 종류는 언로더를 눌러 지정할 수 있습니다.
|
||||||
block.launch-pad.description = 출격할 필요 없이 자원을 수송시킵시다.
|
block.launch-pad.description = 출격할 필요 없이 자원을 수송시킵시다.\n\n[royal]제발 멀티에서 이거 설치하고 잠수좀 타지마세요. 하는 것도 없이 자원만 빼가는 건 너무 민폐입니다.
|
||||||
block.launch-pad-large.description = 출격 패드의 강화버전\n더 많은 자원을 더 자주 출격시킵니다.\n\n[ROYAL]크기도 더 크다죠
|
block.launch-pad-large.description = 출격 패드의 강화버전\n더 많은 자원을 더 자주 출격시킵니다.\n\n[ROYAL]크기도 더 크다죠
|
||||||
block.duo.description = 소형 포탑입니다.\n가장 기본적인 포탑으로 약한 탄환을 발사합니다.
|
block.duo.description = 소형 포탑입니다.\n가장 기본적인 포탑으로 약한 탄환을 발사합니다.
|
||||||
block.scatter.description = 중형 대공 포탑입니다. 납이나 고철 덩어리를 적에게 쏩니다.
|
block.scatter.description = 중형 대공 포탑입니다.\n납이나 고철 덩어리를 적에게 쏩니다.
|
||||||
block.scorch.description = 화염방사포탑. 사거리가 짧기 때문인지 지상유닛 상대로는 최고의 공격력을 보여줍니다.
|
block.scorch.description = 소형 포탑입니다.\n지상의 적을 매우 강력한 화염으로 지져버립니다. 사거리가 짧고 지상만 공격 가능한 것 때문인지 지상유닛 상대로는 최고의 공격력을 보여줍니다.\n\n[royal]너무 빨리 모든 것을 태우다보니 건물에는 불이 안 붙더군요.
|
||||||
block.hail.description = 소형 포탑입니다.\n장거리로 포탄을 발사합니다.
|
block.hail.description = 소형 포탑입니다.\n장거리로 포탄을 발사합니다.
|
||||||
block.wave.description = 중형 포탑입니다. 대상에게 포탑에 공급된 액체를 발사합니다. 물또는 냉각수가 공급되면 자동으로 불을 끕니다.
|
block.wave.description = 중형 포탑입니다. 대상에게 포탑에 공급된 액체를 발사합니다. 물또는 냉각수가 공급되면 자동으로 불을 끕니다.
|
||||||
block.lancer.description = 중형 포탑입니다.\n적을 레이저로 관통합니다.
|
block.lancer.description = 중형 포탑입니다.\n적을 레이저로 관통합니다.
|
||||||
block.arc.description = 소형 포탑입니다.\n적을 전기로 지집니다.
|
block.arc.description = 소형 포탑입니다.\n적을 전기로 지집니다.
|
||||||
block.swarmer.description = 중형 포탑입니다.\n지상과 공중 적 모두를 공격하는 유도 미사일 포탑입니다.
|
block.swarmer.description = 중형 포탑입니다.\n지상과 공중 적 모두를 공격하는 유도 미사일 포탑입니다.
|
||||||
block.salvo.description = 중형 포탑입니다.\n3연발 탄환을 발사합니다.
|
block.salvo.description = 중형 포탑입니다.\n3연발 탄환을 발사합니다.
|
||||||
|
block.fuse.description = 대형 포탑입니다.\n강력한 단거리 빔을 쏩니다.
|
||||||
block.ripple.description = 대형 포탑입니다.\n여러 발의 사격을 동시에 합니다.
|
block.ripple.description = 대형 포탑입니다.\n여러 발의 사격을 동시에 합니다.
|
||||||
block.cyclone.description = 대형 포탑입니다.\n초고속으로 사격합니다.
|
block.cyclone.description = 대형 포탑입니다.\n초고속으로 사격합니다.
|
||||||
block.fuse.description = 대형 포탑입니다.\n강력한 단거리 빔을 쏩니다.
|
|
||||||
block.spectre.description = 초대형 포탑입니다.\n한 번에 두 발의 강력한 총알을 쏩니다.
|
block.spectre.description = 초대형 포탑입니다.\n한 번에 두 발의 강력한 총알을 쏩니다.
|
||||||
block.meltdown.description = 초대형 포탑.\n장거리의 강력한 열광선을 발사합니다.
|
block.meltdown.description = 초대형 포탑.\n장거리의 강력한 열광선을 발사합니다.
|
||||||
|
block.command-center.description = 아군 유닛에게 이동 명령을 내릴 수 있는 건물입니다.\n명령의 종류는 순찰/공격/후퇴가 있으며, 순찰은 유닛이 맵 주위를 돌아다니게, 공격은 유닛들을 적 코어를 향해 공격하도록, 후퇴는 유닛들을 아군 코어 또는 공장으로 돌아오게 합니다.\n\n[royal]이제 공중유닛도 모아서 보낼 수 있습니다!
|
||||||
block.draug-factory.description = 구리와 납을 캐는 채광 드론을 생산합니다.\n\n[ROYAL]이 드론은 영혼을 가지고 있습니다.
|
block.draug-factory.description = 구리와 납을 캐는 채광 드론을 생산합니다.\n\n[ROYAL]이 드론은 영혼을 가지고 있습니다.
|
||||||
block.spirit-factory.description = 블록을 수리하는 수리 드론을 생산합니다.\n\n[ROYAL]드론에도 정령이 있다죠.
|
block.spirit-factory.description = 블록을 수리하는 수리 드론을 생산합니다.\n\n[ROYAL]드론에도 정령이 있다죠.
|
||||||
block.phantom-factory.description = 건설을 도와주는 빌더 드론을 생산합니다.\n\n[ROYAL]당신의 환영입니다.
|
block.phantom-factory.description = 건설을 도와주는 빌더 드론을 생산합니다.\n\n[ROYAL]당신의 환영입니다.
|
||||||
block.wraith-factory.description = 빠른 뺑소니 요격기 유닛을 생산합니다.\n\n[ROYAL]?:저거 안죽어요??\n??:님 인터넷을 확인해보셈\n?:아 왠지 기체가 이상한 곳을 조준하더라..
|
block.wraith-factory.description = 빠른 뺑소니 요격기 유닛을 생산합니다.\n\n[ROYAL]?:저거 안죽어요??\n??:님 인터넷을 확인해보셈\n?:아 왠지 기체가 이상한 곳을 조준하더라..
|
||||||
block.ghoul-factory.description = 중탄두 폭격기를 생산합니다.\n\n[ROYAL]적 위를 유령처럼 맴돕니다.
|
block.ghoul-factory.description = 중탄두 폭격기를 생산합니다.\n\n[ROYAL]적 위를 유령처럼 맴돕니다.
|
||||||
block.revenant-factory.description = 중량의 폭발물 스웜 포대를 가진 전함을 생산합니다.\n\n[ROYAL]캠페인과 사용자 정의 게임에서 ai가 다른 대표적인 유닛이라죠.
|
block.revenant-factory.description = 중량의 폭발물 스웜 포대를 가진 전함을 생산합니다.\n\n[ROYAL]캠페인과 사용자 정의 게임에서 ai가 다른 대표적인 유닛이라죠.
|
||||||
block.crawler-factory.description = 자폭하는 지상 유닛을 생산합니다.\n\n[ROYAL]
|
|
||||||
block.dagger-factory.description = 기본 지상 유닛을 생산합니다.\n\n[ROYAL]원래대로라면 대거라 읽어야 되지만 총을 쏜다는 것이 이상하기도 해서 한국 커뮤니티에서는 그냥 디거라 부른다죠. 그게 좀 더 입에 붙잖아요?
|
block.dagger-factory.description = 기본 지상 유닛을 생산합니다.\n\n[ROYAL]원래대로라면 대거라 읽어야 되지만 총을 쏜다는 것이 이상하기도 해서 한국 커뮤니티에서는 그냥 디거라 부른다죠. 그게 좀 더 입에 붙잖아요?
|
||||||
|
block.crawler-factory.description = 자폭하는 지상 유닛을 생산합니다.\n\n[ROYAL]가까이 가기만 해도 죽는 섬세한 친구랍니다.
|
||||||
block.titan-factory.description = 화염방사기를 장착한 지상유닛를 생산합니다.\n\n[ROYAL]최강이 될 수도, 최약이 될 수도 있습니다.
|
block.titan-factory.description = 화염방사기를 장착한 지상유닛를 생산합니다.\n\n[ROYAL]최강이 될 수도, 최약이 될 수도 있습니다.
|
||||||
block.fortress-factory.description = 중대포 지상유닛를 생산합니다.
|
block.fortress-factory.description = 중대포 지상유닛를 생산합니다.
|
||||||
block.repair-point.description = 주변에서 가장 가까운 손상된 유닛을 지속적으로 치료합니다.\n\n[ROYAL]이 것으로 플래이어는 지속적인 교전이 가능해집니다.
|
block.repair-point.description = 주변에서 가장 가까운 손상된 유닛을 지속적으로 치료합니다.\n\n[ROYAL]이 것으로 플래이어는 지속적인 교전이 가능해집니다.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Map too large, potentially not enough memory for screenshot
|
|||||||
gameover = Game Over
|
gameover = Game Over
|
||||||
gameover.pvp = het[accent] {0}[] team heeft gewonnen!
|
gameover.pvp = het[accent] {0}[] team heeft gewonnen!
|
||||||
highscore = [accent]Nieuw topscore!
|
highscore = [accent]Nieuw topscore!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Waves Verslagen:[accent] {0}
|
stat.wave = Waves Verslagen:[accent] {0}
|
||||||
stat.enemiesDestroyed = Vijanden Vernietigd:[accent] {0}
|
stat.enemiesDestroyed = Vijanden Vernietigd:[accent] {0}
|
||||||
stat.built = Gebouwen Gebouwd:[accent] {0}
|
stat.built = Gebouwen Gebouwd:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Gebouwen Vernietigd:[accent] {0}
|
|||||||
stat.deconstructed = Gebouwen Gesloopt:[accent] {0}
|
stat.deconstructed = Gebouwen Gesloopt:[accent] {0}
|
||||||
stat.delivered = Middelen Gelanceerd:
|
stat.delivered = Middelen Gelanceerd:
|
||||||
stat.rank = Eindrang: [accent]{0}
|
stat.rank = Eindrang: [accent]{0}
|
||||||
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
|
|
||||||
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
|
|
||||||
launcheditems = [accent]Launched Items
|
launcheditems = [accent]Launched Items
|
||||||
map.delete = Weet je zeker dat je de map wilt verwijderen? "[accent]{0}[]"?
|
map.delete = Weet je zeker dat je de map wilt verwijderen? "[accent]{0}[]"?
|
||||||
level.highscore = Topscore: [accent]{0}
|
level.highscore = Topscore: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = New Game
|
|||||||
none = <none>
|
none = <none>
|
||||||
minimap = Minimap
|
minimap = Minimap
|
||||||
close = Close
|
close = Close
|
||||||
|
website = Website
|
||||||
quit = Quit
|
quit = Quit
|
||||||
maps = Maps
|
maps = Maps
|
||||||
continue = Continue
|
continue = Continue
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} player online
|
|||||||
server.closing = [accent]Closing server...
|
server.closing = [accent]Closing server...
|
||||||
server.kicked.kick = You have been kicked from the server!
|
server.kicked.kick = You have been kicked from the server!
|
||||||
server.kicked.serverClose = Server closed.
|
server.kicked.serverClose = Server closed.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Outdated client! Update your game!
|
server.kicked.clientOutdated = Outdated client! Update your game!
|
||||||
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
||||||
server.kicked.banned = You are banned on this server.
|
server.kicked.banned = You are banned on this server.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
|
server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
|
||||||
server.kicked.nameInUse = There is someone with that name\nalready on this server.
|
server.kicked.nameInUse = There is someone with that name\nalready on this server.
|
||||||
server.kicked.nameEmpty = Your chosen name is invalid.
|
server.kicked.nameEmpty = Your chosen name is invalid.
|
||||||
server.kicked.idInUse = You are already on this server! Connecting with two accounts is not permitted.
|
server.kicked.idInUse = You are already on this server! Connecting with two accounts is not permitted.
|
||||||
server.kicked.customClient = This server does not support custom builds. Download an official version.
|
server.kicked.customClient = This server does not support custom builds. Download an official version.
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
|
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [LIGHT_GRAY]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[LIGHT_GRAY]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings.
|
||||||
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[LIGHT_GRAY]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||||
hostserver = Host Game
|
hostserver = Host Game
|
||||||
@@ -154,7 +161,15 @@ cancel = Cancel
|
|||||||
openlink = Open Link
|
openlink = Open Link
|
||||||
copylink = Copy Link
|
copylink = Copy Link
|
||||||
back = Back
|
back = Back
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Are you sure you want to quit?
|
quit.confirm = Are you sure you want to quit?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Loading...
|
loading = [accent]Loading...
|
||||||
saving = [accent]Saving...
|
saving = [accent]Saving...
|
||||||
wave = [accent]Wave {0}
|
wave = [accent]Wave {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
|||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Noise
|
filter.noise = Noise
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Ore
|
filter.ore = Ore
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Please restart your game for the language settings to take effect.
|
language.restart = Please restart your game for the language settings to take effect.
|
||||||
settings = Settings
|
settings = Settings
|
||||||
tutorial = Tutorial
|
tutorial = Tutorial
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Map Editor
|
mapeditor = Map Editor
|
||||||
donate = Donate
|
donate = Donate
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Best Wave: {0}
|
|||||||
launch = < LAUNCH >
|
launch = < LAUNCH >
|
||||||
launch.title = Launch Successful
|
launch.title = Launch Successful
|
||||||
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
||||||
launch.unable = [scarlet]Unable to LAUNCH.[] {0} Enemies.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Uncover
|
uncover = Uncover
|
||||||
configure = Configure Loadout
|
configure = Configure Loadout
|
||||||
configure.locked = [LIGHT_GRAY]Unlock configuring loadout:\nWave {0}.
|
configure.locked = [LIGHT_GRAY]Unlock configuring loadout:\nWave {0}.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Tar Fields
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Language
|
settings.language = Language
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Reset to Defaults
|
settings.reset = Reset to Defaults
|
||||||
settings.rebind = Rebind
|
settings.rebind = Rebind
|
||||||
settings.controls = Controls
|
settings.controls = Controls
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Inaccuracy
|
|||||||
blocks.shots = Shots
|
blocks.shots = Shots
|
||||||
blocks.reload = Shots/Second
|
blocks.reload = Shots/Second
|
||||||
blocks.ammo = Ammo
|
blocks.ammo = Ammo
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.powerbalance = Power: {0}
|
bar.powerbalance = Power: {0}
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Show Power Lasers
|
|||||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
||||||
setting.minimap.name = Show Minimap
|
setting.minimap.name = Show Minimap
|
||||||
setting.musicvol.name = Music Volume
|
setting.musicvol.name = Music Volume
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Mute Music
|
setting.mutemusic.name = Mute Music
|
||||||
setting.sfxvol.name = SFX Volume
|
setting.sfxvol.name = SFX Volume
|
||||||
setting.mutesound.name = Mute Sound
|
setting.mutesound.name = Mute Sound
|
||||||
setting.crashreport.name = Send Anonymous Crash Reports
|
setting.crashreport.name = Send Anonymous Crash Reports
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Press an axis or key...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Move x
|
keybind.move_x.name = Move x
|
||||||
keybind.move_y.name = Move y
|
keybind.move_y.name = Move y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Select/Shoot
|
keybind.select.name = Select/Shoot
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Blast Mixer
|
|||||||
block.solar-panel.name = Solar Panel
|
block.solar-panel.name = Solar Panel
|
||||||
block.solar-panel-large.name = Large Solar Panel
|
block.solar-panel-large.name = Large Solar Panel
|
||||||
block.oil-extractor.name = Oil Extractor
|
block.oil-extractor.name = Oil Extractor
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Drone Factory
|
block.spirit-factory.name = Spirit Drone Factory
|
||||||
block.phantom-factory.name = Phantom Drone Factory
|
block.phantom-factory.name = Phantom Drone Factory
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Container
|
|||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
team.blue.name = blue
|
team.blue.name = blue
|
||||||
team.red.name = red
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = orange
|
team.orange.name = orange
|
||||||
team.none.name = gray
|
team.derelict.name = derelict
|
||||||
team.green.name = green
|
team.green.name = green
|
||||||
team.purple.name = purple
|
team.purple.name = purple
|
||||||
unit.spirit.name = Spirit Drone
|
unit.spirit.name = Spirit Drone
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Chaos Array
|
|||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Your mission here is to eradicate the[LIGHT_GRAY] enemy[].\n\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
||||||
tutorial.morecopper = More copper is required.\n\nEither mine it manually, or place more drills.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
||||||
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
||||||
tutorial.lead = More ores are available. Explore and mine[accent] lead[].\n\nDrag from your unit to the core to transfer resources.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Copper and lead are weak metals.\nSuperior[accent] Dense Alloy[] can be created in a smelter.\n\nBuild one.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = The smelter will now produce alloy.\nGet some.\nImprove the production if necessary.
|
|
||||||
tutorial.siliconsmelter = The core will now create a[accent] spirit drone[] for mining and repairing blocks.\n\nFactories for other units can be created with [accent] silicon.\nMake a silicon smelter.
|
|
||||||
tutorial.silicondrill = Silicon requires[accent] coal[] and[accent] sand[].\nStart by making drills.
|
|
||||||
tutorial.generator = This technology requires power.\nCreate a[accent] combustion generator[] for it.
|
|
||||||
tutorial.generatordrill = Combustion generators need fuel.\nFuel it with coal from a drill.
|
|
||||||
tutorial.node = Power requires transport.\nCreate a[accent] power node[] next to your combustion generator to transfer its power.
|
|
||||||
tutorial.nodelink = Power can be transferred through contacting power blocks and generators, or by linked power nodes.\n\nLink power by tapping the node and selecting the generator and silicon smelter.
|
|
||||||
tutorial.silicon = Silicon is being produced. Get some.\n\nImproving the production system is advised.
|
|
||||||
tutorial.daggerfactory = Construct a[accent] dagger mech factory.[]\n\nThis will be used to create attack mechs.
|
|
||||||
tutorial.router = Factories need resources to function.\nCreate a router to split conveyor resources.
|
|
||||||
tutorial.dagger = Link power nodes to the factory.\nOnce requirements are met, a mech will be created.\n\nCreate more drills, generators and conveyors as necessary.
|
|
||||||
tutorial.battle = The[LIGHT_GRAY] enemy[] has revealed their core.\nDestroy it with your unit and dagger mechs.
|
|
||||||
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
||||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets.
|
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets.
|
||||||
unit.fortress.description = A heavy artillery ground unit.
|
unit.fortress.description = A heavy artillery ground unit.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
||||||
unit.ghoul.description = A heavy carpet bomber.
|
unit.ghoul.description = A heavy carpet bomber.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = A large artillery turret which fires several shots si
|
|||||||
block.cyclone.description = A large rapid fire turret.
|
block.cyclone.description = A large rapid fire turret.
|
||||||
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
||||||
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
||||||
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ contributors = Vertalers en medewerkers
|
|||||||
discord = Sluit je aan bij de Mindustry discord server!
|
discord = Sluit je aan bij de Mindustry discord server!
|
||||||
link.discord.description = De officiële Mindustry discord chatroom
|
link.discord.description = De officiële Mindustry discord chatroom
|
||||||
link.github.description = Broncode
|
link.github.description = Broncode
|
||||||
link.changelog.description = List of update changes
|
link.changelog.description = Lijst met updatewijzigingen
|
||||||
link.dev-builds.description = Onstabiele versies
|
link.dev-builds.description = Onstabiele versies
|
||||||
link.trello.description = Officiële Trello voor geplande toevoegingen.
|
link.trello.description = Officiële Trello voor geplande toevoegingen.
|
||||||
link.itch.io.description = Itch.io pagina met de PC downloads en online versie
|
link.itch.io.description = Itch.io pagina met de PC downloads en online versie
|
||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Kaart te groot, mogelijks te weinig geheugen voor een scree
|
|||||||
gameover = Game Over
|
gameover = Game Over
|
||||||
gameover.pvp = Het[accent] {0}[] team heeft gewonnen!
|
gameover.pvp = Het[accent] {0}[] team heeft gewonnen!
|
||||||
highscore = [accent]Nieuw record!
|
highscore = [accent]Nieuw record!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Je overleefde tot aanvalsgolf: [accent]{0}[].
|
stat.wave = Je overleefde tot aanvalsgolf: [accent]{0}[].
|
||||||
stat.enemiesDestroyed = Vijanden vernietigd:[accent] {0}
|
stat.enemiesDestroyed = Vijanden vernietigd:[accent] {0}
|
||||||
stat.built = Gebouwen gebouwd:[accent] {0}
|
stat.built = Gebouwen gebouwd:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Gebouwen vernietigd:[accent] {0}
|
|||||||
stat.deconstructed = Gebouwen afgebroken:[accent] {0}
|
stat.deconstructed = Gebouwen afgebroken:[accent] {0}
|
||||||
stat.delivered = Gronstoffen meegenomen:
|
stat.delivered = Gronstoffen meegenomen:
|
||||||
stat.rank = Eindresultaat: [accent]{0}
|
stat.rank = Eindresultaat: [accent]{0}
|
||||||
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\n\n[scarlet]DO IT.
|
|
||||||
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\n\n[scarlet]DO IT.
|
|
||||||
launcheditems = [accent]Meegenomen grondstoffen
|
launcheditems = [accent]Meegenomen grondstoffen
|
||||||
map.delete = Ben je zeker dat je de kaart "[accent]{0}[]" wilt verwijderen?
|
map.delete = Ben je zeker dat je de kaart "[accent]{0}[]" wilt verwijderen?
|
||||||
level.highscore = Beste score: [accent]{0}
|
level.highscore = Beste score: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = Nieuw spel
|
|||||||
none = <geen>
|
none = <geen>
|
||||||
minimap = Kaartje
|
minimap = Kaartje
|
||||||
close = Sluit
|
close = Sluit
|
||||||
|
website = Website
|
||||||
quit = Verlaat
|
quit = Verlaat
|
||||||
maps = Kaarten
|
maps = Kaarten
|
||||||
continue = Ga verder
|
continue = Ga verder
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} speler online
|
|||||||
server.closing = [accent]Server wordt gesloten...
|
server.closing = [accent]Server wordt gesloten...
|
||||||
server.kicked.kick = Je bent uit de server gegooid!
|
server.kicked.kick = Je bent uit de server gegooid!
|
||||||
server.kicked.serverClose = Server gesloten.
|
server.kicked.serverClose = Server gesloten.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Verouderde versie! Update Mindustry!
|
server.kicked.clientOutdated = Verouderde versie! Update Mindustry!
|
||||||
server.kicked.serverOutdated = Verouderde server! Vraag de eigenaar van de server om de server te updaten!
|
server.kicked.serverOutdated = Verouderde server! Vraag de eigenaar van de server om de server te updaten!
|
||||||
server.kicked.banned = Je bent verbannen van deze server.
|
server.kicked.banned = Je bent verbannen van deze server.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Je bent daarnet van de server gegooid.\nWacht even voor je weer verbindt
|
server.kicked.recentKick = Je bent daarnet van de server gegooid.\nWacht even voor je weer verbindt
|
||||||
server.kicked.nameInUse = Er is al iemand met dezelfde naam op de server.
|
server.kicked.nameInUse = Er is al iemand met dezelfde naam op de server.
|
||||||
server.kicked.nameEmpty = Je gekozen naam is ongeldig.
|
server.kicked.nameEmpty = Je gekozen naam is ongeldig.
|
||||||
server.kicked.idInUse = Je bent al verbonden met de server! Verbinden met 2 clients tegelijk is verboden.
|
server.kicked.idInUse = Je bent al verbonden met de server! Verbinden met 2 clients tegelijk is verboden.
|
||||||
server.kicked.customClient = Deze server ondersteunt geen aangepaste versies (mods). Download een officiële versie.
|
server.kicked.customClient = Deze server ondersteunt geen aangepaste versies (mods). Download een officiële versie.
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = Ook De [accent]host[] knop hosts een server op poort [scarlet]6567[]. \nIedereen die verbonden is met dezelfde [LIGHT_GRAY]wifi of lokaal netwerk[] zou je server moeten zien in zijn server lijst.\n\nAls je wil dat personen kunnen verbinden met je server van ergens anders via IP. Dan is [accent]port forwarding[] is nodig.\n\n[LIGHT_GRAY]Nota: Als iemand problemen heeft met het verbinden tot je LAN spel, zorg dan dat mindustry toestemming heeft tot je lokale netwerk in de Firewall instellingen.
|
host.info = Ook De [accent]host[] knop hosts een server op poort [scarlet]6567[]. \nIedereen die verbonden is met dezelfde [LIGHT_GRAY]wifi of lokaal netwerk[] zou je server moeten zien in zijn server lijst.\n\nAls je wil dat personen kunnen verbinden met je server van ergens anders via IP. Dan is [accent]port forwarding[] is nodig.\n\n[LIGHT_GRAY]Nota: Als iemand problemen heeft met het verbinden tot je LAN spel, zorg dan dat mindustry toestemming heeft tot je lokale netwerk in de Firewall instellingen.
|
||||||
join.info = Hier kan je een [accent]server IP[] invullen waarmee je wil verbinden. Je kan hier ook verbinden met servers op je [accent]lokale netwerk[]. LAN en WAN multiplayer wordt ondersteund.\n\n[LIGHT_GRAY]Belangrijk: er is geen automatische globale server lijst; als je met iemand wil verbinden via een IP adres moet je zijn/haar IP adres vragen.
|
join.info = Hier kan je een [accent]server IP[] invullen waarmee je wil verbinden. Je kan hier ook verbinden met servers op je [accent]lokale netwerk[]. LAN en WAN multiplayer wordt ondersteund.\n\n[LIGHT_GRAY]Belangrijk: er is geen automatische globale server lijst; als je met iemand wil verbinden via een IP adres moet je zijn/haar IP adres vragen.
|
||||||
hostserver = Host Game
|
hostserver = Host Game
|
||||||
@@ -136,40 +143,48 @@ selectslot = Selecteer een save.
|
|||||||
slot = [accent]Slot {0}
|
slot = [accent]Slot {0}
|
||||||
save.corrupted = [accent]Save file corrupted or invalid!\nIf you have just updated your game, this is probably a change in the save format and [scarlet]not[] a bug.
|
save.corrupted = [accent]Save file corrupted or invalid!\nIf you have just updated your game, this is probably a change in the save format and [scarlet]not[] a bug.
|
||||||
empty = <empty>
|
empty = <empty>
|
||||||
on = On
|
on = Aan
|
||||||
off = Off
|
off = Uit
|
||||||
save.autosave = Autosave: {0}
|
save.autosave = Autosave: {0}
|
||||||
save.map = Map: {0}
|
save.map = Map: {0}
|
||||||
save.wave = Wave {0}
|
save.wave = Golf {0}
|
||||||
save.difficulty = Difficulty: {0}
|
save.difficulty = Moeilijkheid: {0}
|
||||||
save.date = Last Saved: {0}
|
save.date = Last Saved: {0}
|
||||||
save.playtime = Playtime: {0}
|
save.playtime = Playtime: {0}
|
||||||
warning = Warning.
|
warning = Waarschuwing.
|
||||||
confirm = Confirm
|
confirm = Bevestig
|
||||||
delete = Delete
|
delete = Verwijder
|
||||||
ok = OK
|
ok = OK
|
||||||
open = Open
|
open = Open
|
||||||
customize = Customize
|
customize = Pas aan
|
||||||
cancel = Cancel
|
cancel = Annuleer
|
||||||
openlink = Open Link
|
openlink = Open Link
|
||||||
copylink = Copy Link
|
copylink = Kopiëer Link
|
||||||
back = Back
|
back = Terug
|
||||||
quit.confirm = Are you sure you want to quit?
|
data.export = Export Data
|
||||||
loading = [accent]Loading...
|
data.import = Import Data
|
||||||
saving = [accent]Saving...
|
data.exported = Data exported.
|
||||||
wave = [accent]Wave {0}
|
data.invalid = This isn't valid game data.
|
||||||
wave.waiting = [LIGHT_GRAY]Wave in {0}
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
|
quit.confirm = Weet je zeker dat je wilt stoppen?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
|
loading = [accent]Aan het laden...
|
||||||
|
saving = [accent]Aan het opslaan...
|
||||||
|
wave = [accent]Golf {0}
|
||||||
|
wave.waiting = [LIGHT_GRAY]Golf in {0}
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
||||||
waiting = [LIGHT_GRAY]Waiting...
|
waiting = [LIGHT_GRAY]Waiting...
|
||||||
waiting.players = Waiting for players...
|
waiting.players = Aan het wachten voor spelers...
|
||||||
wave.enemies = [LIGHT_GRAY]{0} Enemies Remaining
|
wave.enemies = [LIGHT_GRAY]{0} Vijanden Over
|
||||||
wave.enemy = [LIGHT_GRAY]{0} Enemy Remaining
|
wave.enemy = [LIGHT_GRAY]{0} Vijand Over
|
||||||
loadimage = Load Image
|
loadimage = Laad Afbeelding
|
||||||
saveimage = Save Image
|
saveimage = Sla Afbeelding Op
|
||||||
unknown = Unknown
|
unknown = Onbekend
|
||||||
custom = Custom
|
custom = Custom
|
||||||
builtin = Built-In
|
builtin = Built-In
|
||||||
map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone!
|
map.delete.confirm = Weet je zeker dat je deze kaart wilt verwijderen? Deze actie kan niet ongedaan gemaakt worden!
|
||||||
map.random = [accent]Random Map
|
map.random = [accent]Random Map
|
||||||
map.nospawn = This map does not have any cores for the player to spawn in! Add a[ROYAL] blue[] core to this map in the editor.
|
map.nospawn = This map does not have any cores for the player to spawn in! Add a[ROYAL] blue[] core to this map in the editor.
|
||||||
map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[SCARLET] non-blue[] cores to this map in the editor.
|
map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[SCARLET] non-blue[] cores to this map in the editor.
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
|||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Noise
|
filter.noise = Noise
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Ore
|
filter.ore = Ore
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Please restart your game for the language settings to take effect.
|
language.restart = Please restart your game for the language settings to take effect.
|
||||||
settings = Settings
|
settings = Settings
|
||||||
tutorial = Tutorial
|
tutorial = Tutorial
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Map Editor
|
mapeditor = Map Editor
|
||||||
donate = Donate
|
donate = Donate
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Best Wave: {0}
|
|||||||
launch = < LAUNCH >
|
launch = < LAUNCH >
|
||||||
launch.title = Launch Successful
|
launch.title = Launch Successful
|
||||||
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
||||||
launch.unable = [scarlet]Unable to LAUNCH.[] {0} Enemies.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Uncover
|
uncover = Uncover
|
||||||
configure = Configure Loadout
|
configure = Configure Loadout
|
||||||
configure.locked = [LIGHT_GRAY]Unlock configuring loadout:\nWave {0}.
|
configure.locked = [LIGHT_GRAY]Unlock configuring loadout:\nWave {0}.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Tar Fields
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Language
|
settings.language = Language
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Reset to Defaults
|
settings.reset = Reset to Defaults
|
||||||
settings.rebind = Rebind
|
settings.rebind = Rebind
|
||||||
settings.controls = Controls
|
settings.controls = Controls
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Inaccuracy
|
|||||||
blocks.shots = Shots
|
blocks.shots = Shots
|
||||||
blocks.reload = Shots/Second
|
blocks.reload = Shots/Second
|
||||||
blocks.ammo = Ammo
|
blocks.ammo = Ammo
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.powerbalance = Power: {0}/s
|
bar.powerbalance = Power: {0}/s
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Show Power Lasers
|
|||||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance, disables animations)
|
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance, disables animations)
|
||||||
setting.minimap.name = Show Minimap
|
setting.minimap.name = Show Minimap
|
||||||
setting.musicvol.name = Music Volume
|
setting.musicvol.name = Music Volume
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Mute Music
|
setting.mutemusic.name = Mute Music
|
||||||
setting.sfxvol.name = SFX Volume
|
setting.sfxvol.name = SFX Volume
|
||||||
setting.mutesound.name = Mute Sound
|
setting.mutesound.name = Mute Sound
|
||||||
setting.crashreport.name = Send Anonymous Crash Reports
|
setting.crashreport.name = Send Anonymous Crash Reports
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Press an axis or key...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Move x
|
keybind.move_x.name = Move x
|
||||||
keybind.move_y.name = Move y
|
keybind.move_y.name = Move y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Select/Shoot
|
keybind.select.name = Select/Shoot
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Blast Mixer
|
|||||||
block.solar-panel.name = Solar Panel
|
block.solar-panel.name = Solar Panel
|
||||||
block.solar-panel-large.name = Large Solar Panel
|
block.solar-panel-large.name = Large Solar Panel
|
||||||
block.oil-extractor.name = Oil Extractor
|
block.oil-extractor.name = Oil Extractor
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Drone Factory
|
block.spirit-factory.name = Spirit Drone Factory
|
||||||
block.phantom-factory.name = Phantom Drone Factory
|
block.phantom-factory.name = Phantom Drone Factory
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Container
|
|||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
team.blue.name = blue
|
team.blue.name = blue
|
||||||
team.red.name = red
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = orange
|
team.orange.name = orange
|
||||||
team.none.name = gray
|
team.derelict.name = derelict
|
||||||
team.green.name = green
|
team.green.name = green
|
||||||
team.purple.name = purple
|
team.purple.name = purple
|
||||||
unit.spirit.name = Spirit Drone
|
unit.spirit.name = Spirit Drone
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Chaos Array
|
|||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Your mission here is to eradicate the[LIGHT_GRAY] enemy[].\n\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
tutorial.drill = Handmatig delven is inefficiënt.\n[accent]Boren []kunnen automatisch delven.\nPlaats er een op een koperader.
|
||||||
tutorial.morecopper = More copper is required.\n\nEither mine it manually, or place more drills.
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
tutorial.conveyor = [accent]Transportbanden[] worden gebruikt om artikelen naar de kern te transporteren.\nMaak een lijn van transportbanden van de boor tot de kern.
|
||||||
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.lead = More ores are available. Explore and mine[accent] lead[].\n\nDrag from your unit to the core to transfer resources.
|
tutorial.turret = Er moeten verdedigingsstructuren worden gebouwd om de[LIGHT_GRAY] vijand[]af te weren.\nBouw een duo geschutstoren in de buurt van je basis.
|
||||||
tutorial.smelter = Copper and lead are weak metals.\nSuperior[accent] Dense Alloy[] can be created in a smelter.\n\nBuild one.
|
tutorial.drillturret = Duo geschutstorens hebben[accent] koper ammunitie []nodig om te schieten.\nPlaats een boor naast de geschutstoren om het van gedolven koper te voorzien.
|
||||||
tutorial.densealloy = The smelter will now produce alloy.\nGet some.\nImprove the production if necessary.
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
tutorial.siliconsmelter = The core will now create a[accent] spirit drone[] for mining and repairing blocks.\n\nFactories for other units can be created with [accent] silicon.\nMake a silicon smelter.
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
tutorial.silicondrill = Silicon requires[accent] coal[] and[accent] sand[].\nStart by making drills.
|
tutorial.unpause = Now press space again to unpause.
|
||||||
tutorial.generator = This technology requires power.\nCreate a[accent] combustion generator[] for it.
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
tutorial.generatordrill = Combustion generators need fuel.\nFuel it with coal from a drill.
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
tutorial.node = Power requires transport.\nCreate a[accent] power node[] next to your combustion generator to transfer its power.
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
tutorial.nodelink = Power can be transferred through contacting power blocks and generators, or by linked power nodes.\n\nLink power by tapping the node and selecting the generator and silicon smelter.
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
tutorial.silicon = Silicon is being produced. Get some.\n\nImproving the production system is advised.
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.daggerfactory = Construct a[accent] dagger mech factory.[]\n\nThis will be used to create attack mechs.
|
tutorial.waves = De [LIGHT_GRAY] vijand[] nadert.\n\nVerdedig jouw kern voor 2 golven. Bouw meer geschutstorens.
|
||||||
tutorial.router = Factories need resources to function.\nCreate a router to split conveyor resources.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.dagger = Link power nodes to the factory.\nOnce requirements are met, a mech will be created.\n\nCreate more drills, generators and conveyors as necessary.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.battle = The[LIGHT_GRAY] enemy[] has revealed their core.\nDestroy it with your unit and dagger mechs.
|
|
||||||
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
item.copper.description = A useful structure material. Used extensively in all types of blocks.
|
||||||
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks.
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets.
|
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets.
|
||||||
unit.fortress.description = A heavy artillery ground unit.
|
unit.fortress.description = A heavy artillery ground unit.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
||||||
unit.ghoul.description = A heavy carpet bomber.
|
unit.ghoul.description = A heavy carpet bomber.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = A large artillery turret which fires several shots si
|
|||||||
block.cyclone.description = A large rapid fire turret.
|
block.cyclone.description = A large rapid fire turret.
|
||||||
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
||||||
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
||||||
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ screenshot.invalid = Zrzut ekranu jest zbyt duży. Najprawdopodobniej brakuje mi
|
|||||||
gameover = Rdzeń został zniszczony.
|
gameover = Rdzeń został zniszczony.
|
||||||
gameover.pvp = Zwyciężyła drużyna [accent]{0}[]!
|
gameover.pvp = Zwyciężyła drużyna [accent]{0}[]!
|
||||||
highscore = [YELLOW] Nowy rekord!
|
highscore = [YELLOW] Nowy rekord!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Fale powstrzymane:[accent] {0}
|
stat.wave = Fale powstrzymane:[accent] {0}
|
||||||
stat.enemiesDestroyed = Przeciwnicy zniszczeni:[accent] {0}
|
stat.enemiesDestroyed = Przeciwnicy zniszczeni:[accent] {0}
|
||||||
stat.built = Budynki zbudowane:[accent] {0}
|
stat.built = Budynki zbudowane:[accent] {0}
|
||||||
@@ -24,10 +28,6 @@ stat.destroyed = Budynki zniszczone:[accent] {0}
|
|||||||
stat.deconstructed = Budynki zrekonstruowane:[accent] {0}
|
stat.deconstructed = Budynki zrekonstruowane:[accent] {0}
|
||||||
stat.delivered = Surowce wystrzelone:
|
stat.delivered = Surowce wystrzelone:
|
||||||
stat.rank = Ocena: [accent]{0}
|
stat.rank = Ocena: [accent]{0}
|
||||||
|
|
||||||
placeline = Wybrałeś blok.\nMożesz umieścić[accent] w linii,[] [accent]przytrzymując palec przez kilka sekund[] i przeciągając.\nSpróbuj.
|
|
||||||
removearea = Wybrałeś tryb usuwania.\nMożesz[accent] usunąć bloki w prostokoncie,[] [accent]przytrzymując palec przez kilka sekund i przeciągając[] and dragging.\nTry it.
|
|
||||||
|
|
||||||
launcheditems = [accent]Wystrzelone przedmioty
|
launcheditems = [accent]Wystrzelone przedmioty
|
||||||
map.delete = Jesteś pewny, że chcesz usunąć "[accent]{0}[]"?
|
map.delete = Jesteś pewny, że chcesz usunąć "[accent]{0}[]"?
|
||||||
level.highscore = Rekord: [accent]{0}
|
level.highscore = Rekord: [accent]{0}
|
||||||
@@ -46,6 +46,7 @@ newgame = Nowa Gra
|
|||||||
none = <none>
|
none = <none>
|
||||||
minimap = Minimapa
|
minimap = Minimapa
|
||||||
close = Zamknij
|
close = Zamknij
|
||||||
|
website = Website
|
||||||
quit = Wyjdź
|
quit = Wyjdź
|
||||||
maps = Mapy
|
maps = Mapy
|
||||||
continue = Kontynuuj
|
continue = Kontynuuj
|
||||||
@@ -65,15 +66,18 @@ players.single = {0} gracz online
|
|||||||
server.closing = [accent] Zamykanie serwera...
|
server.closing = [accent] Zamykanie serwera...
|
||||||
server.kicked.kick = Zostałeś wyrzucony z serwera!
|
server.kicked.kick = Zostałeś wyrzucony z serwera!
|
||||||
server.kicked.serverClose = Serwer został zamknięty.
|
server.kicked.serverClose = Serwer został zamknięty.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Nieaktualna gra! Zaktualizują ją!
|
server.kicked.clientOutdated = Nieaktualna gra! Zaktualizują ją!
|
||||||
server.kicked.serverOutdated = Nieaktualny serwer! Poproś hosta o jego aktualizację.
|
server.kicked.serverOutdated = Nieaktualny serwer! Poproś hosta o jego aktualizację.
|
||||||
server.kicked.banned = Zostałeś zbanowany na tym serwerze.
|
server.kicked.banned = Zostałeś zbanowany na tym serwerze.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Zostałeś niedawno wyrzucony.\nPoczekaj chwilę przed ponownym połączniem.
|
server.kicked.recentKick = Zostałeś niedawno wyrzucony.\nPoczekaj chwilę przed ponownym połączniem.
|
||||||
server.kicked.nameInUse = Ta nazwa jest już zajęta na tym serwerze.
|
server.kicked.nameInUse = Ta nazwa jest już zajęta na tym serwerze.
|
||||||
server.kicked.nameEmpty = Wybrana przez Ciebie nazwa jest nieprawidłowa.
|
server.kicked.nameEmpty = Wybrana przez Ciebie nazwa jest nieprawidłowa.
|
||||||
server.kicked.idInUse = Jesteś już na serwerze! Używanie tego samego konta na 2 urządzeniach jest zabronione.
|
server.kicked.idInUse = Jesteś już na serwerze! Używanie tego samego konta na 2 urządzeniach jest zabronione.
|
||||||
server.kicked.customClient = Ten serwer nie wspomaga wersji deweloperskich. Pobierz oficjalną wersję.
|
server.kicked.customClient = Ten serwer nie wspomaga wersji deweloperskich. Pobierz oficjalną wersję.
|
||||||
server.kicked.gameover = Koniec gry!
|
server.kicked.gameover = Koniec gry!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = Przycisk [accent]host[] hostuje serwer na porcie [scarlet]6567[] i [scarlet]6568.[]\nKtokolwiek z tym samym [LIGHT_GRAY]wifi lub hotspotem[] powinien zobaczyć twój serwer.\n\nJeśli chcesz, aby każdy z twoim IP mógł dołączyć, [accent]przekierowywanie portów[] jest potrzebne.\n\n[LIGHT_GRAY]Notka:Jeśli ktokolwiek ma problem z dołączeniem do gry, upewnij się, że udostępniłeś Mindustry dostęp do sieci.
|
host.info = Przycisk [accent]host[] hostuje serwer na porcie [scarlet]6567[] i [scarlet]6568.[]\nKtokolwiek z tym samym [LIGHT_GRAY]wifi lub hotspotem[] powinien zobaczyć twój serwer.\n\nJeśli chcesz, aby każdy z twoim IP mógł dołączyć, [accent]przekierowywanie portów[] jest potrzebne.\n\n[LIGHT_GRAY]Notka:Jeśli ktokolwiek ma problem z dołączeniem do gry, upewnij się, że udostępniłeś Mindustry dostęp do sieci.
|
||||||
join.info = Tutaj możesz wpisać [accent]IP serwera[], aby dołączyć lub wyszukaj [accent]serwery w lokalnej sieci[], do których chcesz dołączyć .\nGra wieloosobowa na LAN i WAN jest wspomagana.\n\n[LIGHT_GRAY]Notka: Nie ma automatycznej listy wszystkich serwerów; jeśli chcesz dołączyć przez IP, musisz zapytać się hosta o IP.
|
join.info = Tutaj możesz wpisać [accent]IP serwera[], aby dołączyć lub wyszukaj [accent]serwery w lokalnej sieci[], do których chcesz dołączyć .\nGra wieloosobowa na LAN i WAN jest wspomagana.\n\n[LIGHT_GRAY]Notka: Nie ma automatycznej listy wszystkich serwerów; jeśli chcesz dołączyć przez IP, musisz zapytać się hosta o IP.
|
||||||
hostserver = Stwórz Serwer
|
hostserver = Stwórz Serwer
|
||||||
@@ -157,7 +161,15 @@ cancel = Anuluj
|
|||||||
openlink = Otwórz link
|
openlink = Otwórz link
|
||||||
copylink = Kopiuj link
|
copylink = Kopiuj link
|
||||||
back = Wróć
|
back = Wróć
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Czy na pewno chcesz wyjść?
|
quit.confirm = Czy na pewno chcesz wyjść?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Ładowanie...
|
loading = [accent]Ładowanie...
|
||||||
saving = [accent]Zapisywanie...
|
saving = [accent]Zapisywanie...
|
||||||
wave = [accent]Fala {0}
|
wave = [accent]Fala {0}
|
||||||
@@ -262,11 +274,11 @@ toolmode.fillteams = Wypełń Drużyny
|
|||||||
toolmode.fillteams.description = Wypełniaj drużyny zamiast bloków.
|
toolmode.fillteams.description = Wypełniaj drużyny zamiast bloków.
|
||||||
toolmode.drawteams = Rysuj Drużyny
|
toolmode.drawteams = Rysuj Drużyny
|
||||||
toolmode.drawteams.description = Rysuj drużyny zamiast bloków.
|
toolmode.drawteams.description = Rysuj drużyny zamiast bloków.
|
||||||
|
|
||||||
filters.empty = [LIGHT_GRAY]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej.
|
filters.empty = [LIGHT_GRAY]Brak filtrów! Dodaj jeden za pomocą przycisku poniżej.
|
||||||
filter.distort = Zniekształcanie
|
filter.distort = Zniekształcanie
|
||||||
filter.noise = Szum
|
filter.noise = Szum
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Domyślne rudy
|
filter.defaultores = Domyślne rudy
|
||||||
filter.ore = Ruda
|
filter.ore = Ruda
|
||||||
@@ -306,10 +318,10 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Uruchom grę ponownie, aby ustawiony język zaczął funkcjonować.
|
language.restart = Uruchom grę ponownie, aby ustawiony język zaczął funkcjonować.
|
||||||
settings = Ustawienia
|
settings = Ustawienia
|
||||||
tutorial = Poradnik
|
tutorial = Poradnik
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Edytor
|
editor = Edytor
|
||||||
mapeditor = Edytor map
|
mapeditor = Edytor map
|
||||||
donate = Wspomóż nas
|
donate = Wspomóż nas
|
||||||
|
|
||||||
abandon = Opuść
|
abandon = Opuść
|
||||||
abandon.text = Ta strefa i wszystkie jej surowce będą przejęte przez przeciwników.
|
abandon.text = Ta strefa i wszystkie jej surowce będą przejęte przez przeciwników.
|
||||||
locked = Zablokowane
|
locked = Zablokowane
|
||||||
@@ -320,8 +332,9 @@ bestwave = [LIGHT_GRAY]Najwyższa fala: {0}
|
|||||||
launch = < WYSTRZEL >
|
launch = < WYSTRZEL >
|
||||||
launch.title = Wystrzelenie Udane
|
launch.title = Wystrzelenie Udane
|
||||||
launch.next = [LIGHT_GRAY]Następna okazja przy fali {0}
|
launch.next = [LIGHT_GRAY]Następna okazja przy fali {0}
|
||||||
launch.unable = [scarlet]Nie można wystrzelić![] Wykryto {0} przeciwników.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = Spowoduje to wystrzelenie wszystkich surowców w rdzeniu.\nNie będziesz mógł wrócić do tej bazy.
|
launch.confirm = Spowoduje to wystrzelenie wszystkich surowców w rdzeniu.\nNie będziesz mógł wrócić do tej bazy.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Odkryj
|
uncover = Odkryj
|
||||||
configure = Skonfiguruj ładunek
|
configure = Skonfiguruj ładunek
|
||||||
configure.locked = [LIGHT_GRAY]Dotrzyj do fali {0}\nAby skonfigurować ładunek.
|
configure.locked = [LIGHT_GRAY]Dotrzyj do fali {0}\nAby skonfigurować ładunek.
|
||||||
@@ -334,7 +347,6 @@ zone.objective.survival = Przeżyj
|
|||||||
zone.objective.attack = Zniszcz Rdzeń Wroga
|
zone.objective.attack = Zniszcz Rdzeń Wroga
|
||||||
add = Dodaj...
|
add = Dodaj...
|
||||||
boss.health = Boss Health
|
boss.health = Boss Health
|
||||||
|
|
||||||
connectfail = [crimson]Nie można połączyć się z serwerem:\n\n[accent]{0}
|
connectfail = [crimson]Nie można połączyć się z serwerem:\n\n[accent]{0}
|
||||||
error.unreachable = Serwer niedostępny.\nCzy adres jest wpisany poprawnie?
|
error.unreachable = Serwer niedostępny.\nCzy adres jest wpisany poprawnie?
|
||||||
error.invalidaddress = Niepoprawny adres.
|
error.invalidaddress = Niepoprawny adres.
|
||||||
@@ -358,7 +370,7 @@ zone.tarFields.name = Pola Smołowe
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Uderzenie 0078
|
zone.impact0078.name = Uderzenie 0078
|
||||||
zone.crags.name = Urwisko
|
zone.crags.name = Urwisko
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej.
|
zone.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej.
|
||||||
zone.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przedsięwzięcie od władzy. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
|
zone.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przedsięwzięcie od władzy. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -373,8 +385,8 @@ zone.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru,
|
|||||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
|
|
||||||
settings.language = Język
|
settings.language = Język
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Przywróć domyślne
|
settings.reset = Przywróć domyślne
|
||||||
settings.rebind = Zmień
|
settings.rebind = Zmień
|
||||||
settings.controls = Sterowanie
|
settings.controls = Sterowanie
|
||||||
@@ -426,7 +438,7 @@ blocks.inaccuracy = Niedokładność
|
|||||||
blocks.shots = Strzały
|
blocks.shots = Strzały
|
||||||
blocks.reload = Strzałów/sekundę
|
blocks.reload = Strzałów/sekundę
|
||||||
blocks.ammo = Amunicja
|
blocks.ammo = Amunicja
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Prędkość wiertła: {0}/s
|
bar.drillspeed = Prędkość wiertła: {0}/s
|
||||||
bar.efficiency = Efektywność: {0}%
|
bar.efficiency = Efektywność: {0}%
|
||||||
bar.powerbalance = Moc: {0}
|
bar.powerbalance = Moc: {0}
|
||||||
@@ -438,7 +450,6 @@ bar.heat = Ciepło
|
|||||||
bar.power = Prąd
|
bar.power = Prąd
|
||||||
bar.progress = Postęp Budowy
|
bar.progress = Postęp Budowy
|
||||||
bar.spawned = Jednostki: {0}/{1}
|
bar.spawned = Jednostki: {0}/{1}
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] Obrażenia
|
bullet.damage = [stat]{0}[lightgray] Obrażenia
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki
|
bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki
|
||||||
bullet.incendiary = [stat]zapalający
|
bullet.incendiary = [stat]zapalający
|
||||||
@@ -450,7 +461,6 @@ bullet.freezing = [stat]zamrażający
|
|||||||
bullet.tarred = [stat]smolny
|
bullet.tarred = [stat]smolny
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x mnożnik amunicji
|
bullet.multiplier = [stat]{0}[lightgray]x mnożnik amunicji
|
||||||
bullet.reload = [stat]{0}[lightgray]x szybkość ataku
|
bullet.reload = [stat]{0}[lightgray]x szybkość ataku
|
||||||
|
|
||||||
unit.blocks = Klocki
|
unit.blocks = Klocki
|
||||||
unit.powersecond = jednostek prądu na sekundę
|
unit.powersecond = jednostek prądu na sekundę
|
||||||
unit.liquidsecond = jednostek płynów na sekundę
|
unit.liquidsecond = jednostek płynów na sekundę
|
||||||
@@ -503,10 +513,12 @@ setting.lasers.name = Pokaż lasery zasilające
|
|||||||
setting.pixelate.name = Pikselacja [LIGHT_GRAY](wyłącza animacje)
|
setting.pixelate.name = Pikselacja [LIGHT_GRAY](wyłącza animacje)
|
||||||
setting.minimap.name = Pokaż Minimapę
|
setting.minimap.name = Pokaż Minimapę
|
||||||
setting.musicvol.name = Głośność muzyki
|
setting.musicvol.name = Głośność muzyki
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Wycisz muzykę
|
setting.mutemusic.name = Wycisz muzykę
|
||||||
setting.sfxvol.name = Głośność dźwięków
|
setting.sfxvol.name = Głośność dźwięków
|
||||||
setting.mutesound.name = Wycisz dźwięki
|
setting.mutesound.name = Wycisz dźwięki
|
||||||
setting.crashreport.name = Wysyłaj anonimowo dane o crashu gry
|
setting.crashreport.name = Wysyłaj anonimowo dane o crashu gry
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Przezroczystość czatu
|
setting.chatopacity.name = Przezroczystość czatu
|
||||||
setting.playerchat.name = Wyświetlaj czat w grze
|
setting.playerchat.name = Wyświetlaj czat w grze
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -527,6 +539,7 @@ keybind.press.axis = Naciśnij oś lub klawisz...
|
|||||||
keybind.screenshot.name = Zrzut ekranu mapy
|
keybind.screenshot.name = Zrzut ekranu mapy
|
||||||
keybind.move_x.name = Poruszanie w poziomie
|
keybind.move_x.name = Poruszanie w poziomie
|
||||||
keybind.move_y.name = Poruszanie w pionie
|
keybind.move_y.name = Poruszanie w pionie
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Zaznacz
|
keybind.select.name = Zaznacz
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Wybierz Blok
|
keybind.pick.name = Wybierz Blok
|
||||||
@@ -559,7 +572,6 @@ mode.pvp.description = Walcz przeciwko innym graczom.
|
|||||||
mode.attack.name = Atak
|
mode.attack.name = Atak
|
||||||
mode.attack.description = Brak fal, celem jest zniszczenie bazy przeciwnika.
|
mode.attack.description = Brak fal, celem jest zniszczenie bazy przeciwnika.
|
||||||
mode.custom = Własny tryb
|
mode.custom = Własny tryb
|
||||||
|
|
||||||
rules.infiniteresources = Nieskończone zasoby
|
rules.infiniteresources = Nieskończone zasoby
|
||||||
rules.wavetimer = Zegar fal
|
rules.wavetimer = Zegar fal
|
||||||
rules.waves = Fale
|
rules.waves = Fale
|
||||||
@@ -586,7 +598,6 @@ rules.title.resourcesbuilding = Zasoby i Budowanie
|
|||||||
rules.title.player = Gracze
|
rules.title.player = Gracze
|
||||||
rules.title.enemy = Przeciwnicy
|
rules.title.enemy = Przeciwnicy
|
||||||
rules.title.unit = Jednostki
|
rules.title.unit = Jednostki
|
||||||
|
|
||||||
content.item.name = Przedmioty
|
content.item.name = Przedmioty
|
||||||
content.liquid.name = Płyny
|
content.liquid.name = Płyny
|
||||||
content.unit.name = Jednostki
|
content.unit.name = Jednostki
|
||||||
@@ -597,12 +608,12 @@ item.lead.name = Ołów
|
|||||||
item.coal.name = Węgiel
|
item.coal.name = Węgiel
|
||||||
item.graphite.name = Grafit
|
item.graphite.name = Grafit
|
||||||
item.titanium.name = Tytan
|
item.titanium.name = Tytan
|
||||||
item.thorium.name = Uran
|
item.thorium.name = Tor
|
||||||
item.silicon.name = Krzem
|
item.silicon.name = Krzem
|
||||||
item.plastanium.name = Plastan
|
item.plastanium.name = Plastan
|
||||||
item.phase-fabric.name = Włókno Fazowe
|
item.phase-fabric.name = Włókno Fazowe
|
||||||
item.surge-alloy.name = Energetyczny Stop
|
item.surge-alloy.name = Elektrum
|
||||||
item.spore-pod.name = Kapsułka Zarodników
|
item.spore-pod.name = Zarodnia
|
||||||
item.sand.name = Piasek
|
item.sand.name = Piasek
|
||||||
item.blast-compound.name = Wybuchowy związek
|
item.blast-compound.name = Wybuchowy związek
|
||||||
item.pyratite.name = Piratian
|
item.pyratite.name = Piratian
|
||||||
@@ -734,13 +745,6 @@ block.scorch.name = Płomień
|
|||||||
block.scatter.name = Flak
|
block.scatter.name = Flak
|
||||||
block.hail.name = Hail
|
block.hail.name = Hail
|
||||||
block.lancer.name = Lancer
|
block.lancer.name = Lancer
|
||||||
block.wave.name = Wave
|
|
||||||
block.swarmer.name = Działo Rojowe
|
|
||||||
block.salvo.name = Działo Salwowe
|
|
||||||
block.ripple.name = Działo falowe
|
|
||||||
block.cyclone.name = Cyklon
|
|
||||||
block.fuse.name = Lont
|
|
||||||
block.shock-mine.name = Mina
|
|
||||||
block.conveyor.name = Przenośnik
|
block.conveyor.name = Przenośnik
|
||||||
block.titanium-conveyor.name = Tytanowy przenośnik
|
block.titanium-conveyor.name = Tytanowy przenośnik
|
||||||
block.junction.name = Węzeł
|
block.junction.name = Węzeł
|
||||||
@@ -754,7 +758,7 @@ block.pulverizer.name = Rozkruszacz
|
|||||||
block.cryofluidmixer.name = Mieszacz Lodocieczy
|
block.cryofluidmixer.name = Mieszacz Lodocieczy
|
||||||
block.melter.name = Przetapiacz
|
block.melter.name = Przetapiacz
|
||||||
block.incinerator.name = Spalacz
|
block.incinerator.name = Spalacz
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Prasa Zarodni
|
||||||
block.separator.name = Rozdzielacz
|
block.separator.name = Rozdzielacz
|
||||||
block.coal-centrifuge.name = Coal Centrifuge
|
block.coal-centrifuge.name = Coal Centrifuge
|
||||||
block.power-node.name = Węzeł Prądu
|
block.power-node.name = Węzeł Prądu
|
||||||
@@ -785,8 +789,12 @@ block.item-void.name = Próżnia przedmiotów
|
|||||||
block.liquid-source.name = Źródło płynów
|
block.liquid-source.name = Źródło płynów
|
||||||
block.power-void.name = Próżnia prądu
|
block.power-void.name = Próżnia prądu
|
||||||
block.power-source.name = Nieskończony Prąd
|
block.power-source.name = Nieskończony Prąd
|
||||||
block.unloader.name = Wyciągacz
|
block.unloader.name = Ekstraktor
|
||||||
block.vault.name = Magazyn
|
block.vault.name = Magazyn
|
||||||
|
block.wave.name = Wave
|
||||||
|
block.swarmer.name = Działo Rojowe
|
||||||
|
block.salvo.name = Działo Salwowe
|
||||||
|
block.ripple.name = Działo falowe
|
||||||
block.phase-conveyor.name = Fazowy Transporter
|
block.phase-conveyor.name = Fazowy Transporter
|
||||||
block.bridge-conveyor.name = Most Transportowy
|
block.bridge-conveyor.name = Most Transportowy
|
||||||
block.plastanium-compressor.name = Kompresor Plastanu
|
block.plastanium-compressor.name = Kompresor Plastanu
|
||||||
@@ -795,16 +803,17 @@ block.blast-mixer.name = Wybuchowy Mieszacz
|
|||||||
block.solar-panel.name = Panel Słoneczny
|
block.solar-panel.name = Panel Słoneczny
|
||||||
block.solar-panel-large.name = Duży Panel Słoneczny
|
block.solar-panel-large.name = Duży Panel Słoneczny
|
||||||
block.oil-extractor.name = Ekstraktor Ropy
|
block.oil-extractor.name = Ekstraktor Ropy
|
||||||
|
block.command-center.name = Centrum Dowodzenia
|
||||||
block.draug-factory.name = Fabryka Dronów Draug
|
block.draug-factory.name = Fabryka Dronów Draug
|
||||||
block.spirit-factory.name = Fabryka Dronów Duch
|
block.spirit-factory.name = Fabryka Dronów Duch
|
||||||
block.phantom-factory.name = Fabryka Dronów Widmo
|
block.phantom-factory.name = Fabryka Dronów Widmo
|
||||||
block.wraith-factory.name = Fabryka Wojowników Zjawa
|
block.wraith-factory.name = Fabryka Wojowników Widmo
|
||||||
block.ghoul-factory.name = Fabryka Bombowców Upiór
|
block.ghoul-factory.name = Fabryka Bombowców Upiór
|
||||||
block.dagger-factory.name = Fabryka Mechów Nóż
|
block.dagger-factory.name = Fabryka Mechów Nóż
|
||||||
block.crawler-factory.name = Fabryka Mechów Crawler
|
block.crawler-factory.name = Fabryka Mechów Pełzacz
|
||||||
block.titan-factory.name = Fabryka Mechów Tytan
|
block.titan-factory.name = Fabryka Mechów Tytan
|
||||||
block.fortress-factory.name = Fabryka Mechów Fortreca
|
block.fortress-factory.name = Fabryka Mechów Fortreca
|
||||||
block.revenant-factory.name = Fabryka Wojowników Potwór
|
block.revenant-factory.name = Fabryka Wojowników Zjawa
|
||||||
block.repair-point.name = Punkt Napraw
|
block.repair-point.name = Punkt Napraw
|
||||||
block.pulse-conduit.name = Rura Pulsacyjna
|
block.pulse-conduit.name = Rura Pulsacyjna
|
||||||
block.phase-conduit.name = Rura Fazowa
|
block.phase-conduit.name = Rura Fazowa
|
||||||
@@ -821,31 +830,35 @@ block.thermal-generator.name = Generator Termalny
|
|||||||
block.alloy-smelter.name = Piec Mieszający
|
block.alloy-smelter.name = Piec Mieszający
|
||||||
block.mender.name = Naprawiacz
|
block.mender.name = Naprawiacz
|
||||||
block.mend-projector.name = Projektor Napraw
|
block.mend-projector.name = Projektor Napraw
|
||||||
block.surge-wall.name = Ściana Stopu Energetycznego
|
block.surge-wall.name = Ściana Elektronu
|
||||||
block.surge-wall-large.name = Duża Ściana Stopu Energetycznego
|
block.surge-wall-large.name = Duża Ściana Elektronu
|
||||||
|
block.cyclone.name = Cyklon
|
||||||
|
block.fuse.name = Lont
|
||||||
|
block.shock-mine.name = Mina
|
||||||
block.overdrive-projector.name = Projektor Nad-prędkości
|
block.overdrive-projector.name = Projektor Nad-prędkości
|
||||||
block.force-projector.name = Projektor Pola Siłowego
|
block.force-projector.name = Projektor Pola Siłowego
|
||||||
block.arc.name = Piorun
|
block.arc.name = Piorun
|
||||||
block.rtg-generator.name = Generator RTG
|
block.rtg-generator.name = Generator RTG
|
||||||
block.spectre.name = Huragan
|
block.spectre.name = Huragan
|
||||||
block.meltdown.name = Meltdown
|
block.meltdown.name = Rozpad
|
||||||
block.container.name = Kontener
|
block.container.name = Kontener
|
||||||
block.launch-pad.name = Skocznia
|
block.launch-pad.name = Wyrzutnia
|
||||||
block.launch-pad-large.name = Duża skocznia
|
block.launch-pad-large.name = Duża Wyrzutnia
|
||||||
team.blue.name = niebieski
|
team.blue.name = niebieski
|
||||||
team.crux.name = czerwony
|
team.crux.name = czerwony
|
||||||
team.sharded.name = pomarańczowy
|
team.sharded.name = pomarańczowy
|
||||||
|
team.orange.name = orange
|
||||||
team.derelict.name = szary
|
team.derelict.name = szary
|
||||||
team.green.name = zielony
|
team.green.name = zielony
|
||||||
team.purple.name = fioletowy
|
team.purple.name = fioletowy
|
||||||
unit.spirit.name = Duch
|
unit.spirit.name = Duch
|
||||||
unit.draug.name = Draug Miner Drone
|
unit.draug.name = Draug
|
||||||
unit.phantom.name = Widmo
|
unit.phantom.name = Widmo
|
||||||
unit.dagger.name = Nóż
|
unit.dagger.name = Nóż
|
||||||
unit.crawler.name = Pełzak
|
unit.crawler.name = Pełzak
|
||||||
unit.titan.name = Tytan
|
unit.titan.name = Tytan
|
||||||
unit.ghoul.name = Upiór
|
unit.ghoul.name = Upiór
|
||||||
unit.wraith.name = Zjawa
|
unit.wraith.name = Widmo
|
||||||
unit.fortress.name = Forteca
|
unit.fortress.name = Forteca
|
||||||
unit.revenant.name = Zjawa
|
unit.revenant.name = Zjawa
|
||||||
unit.eruptor.name = Roztapiacz
|
unit.eruptor.name = Roztapiacz
|
||||||
@@ -853,32 +866,30 @@ unit.chaos-array.name = Kolejka Chaosu
|
|||||||
unit.eradicator.name = Niszczyciel
|
unit.eradicator.name = Niszczyciel
|
||||||
unit.lich.name = Obudzony
|
unit.lich.name = Obudzony
|
||||||
unit.reaper.name = Żeniec
|
unit.reaper.name = Żeniec
|
||||||
tutorial.begin = Twoją misją jest zniszczenie[LIGHT_GRAY] wrogów[].\n\nZacznij od[accent] wydobycia miedzi[]. Kliknij na rudę miedzi w pobliżu swojego rdzenia, aby to zrobić.
|
tutorial.next = [lightgray]<Kliknij, aby kontynuować>
|
||||||
tutorial.drill = Kopanie ręcznie nie jest efektywne.\n[accent]Wiertła []mogą kopać automatycznie.\nPostaw je na rudzie miedzi.
|
tutorial.intro = Wszedłeś do[scarlet] Samouczka Mindustry.[]\nZacznij od[accent] wydobycia miedzi[]. Aby to zrobić, dotknij żyły rudy miedzi w pobliżu rdzenia.\n\n[accent]{0}/{1} miedź
|
||||||
tutorial.conveyor = [accent]Transportery[] są używane do przenoszenia przedmiotów do rdzenia.\nZrób linię z transporterów z wiertła do rdzenia.
|
tutorial.drill = Wydobywanie ręczne jest nieefektywne.\n[accent]Wiertła []mogą kopać automatycznie.\nKliknij zakładkę wiertła w prawym dolnym rogu.\nWybierz[accent] wiertło mechaniczne[]. Umieść go na złożu miedzi, klikając.\n[accent]Kliknij prawym przyciskiem myszy[], aby przestać budować.
|
||||||
tutorial.morecopper = Potrzebne jest więcej miedzi!\nKop ręcznie, albo postaw więcej wierteł.
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
tutorial.turret = Struktury obronne muszą być wybudowane, aby odpychać [LIGHT_GRAY] wrogów[].\nZbuduj podwójne działko niedaleko swojej bazy.
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.drillturret = Podwójne działko wymaga[accent] miedzi []jako amunicji, aby strzelać.\nPostaw wiertło obok działka, aby zaopatrzyć je w miedź.
|
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.waves = The[LIGHT_GRAY] Wrogowie[] nadciągają.\n\nObroń swój rdzeń przez dwie fale. Wybuduj więcej działek.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.lead = Dostępne jest więcej rud - eksploruj i wydobądź[accent] ołów[].\n\nPrzeciągnij ze swojej jednostki do rdzenia, aby przenieść zasoby.
|
tutorial.turret = Once an item enters your core, it can be used for building.\nKeep in mind that not all items can be used for building.\nItems that are not used for building, such as[accent] coal[] or[accent] scrap[], cannot be put into the core.\nDefensive structures must be built to repel the[lightgray] enemy[].\nBuild a[accent] duo turret[] near your base.
|
||||||
tutorial.smelter = Copper and lead are weak metals.\nSuperior[accent] Dense Alloy[] can be created in a smelter.\n\nBuild one.
|
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill near the turret.\nLead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1
|
||||||
tutorial.densealloy = The smelter will now produce alloy.\nGet some.\nImprove the production if necessary.
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
tutorial.siliconsmelter = The core will now create a[accent] spirit drone[] for mining and repairing blocks.\n\nFactories for other units can be created with [accent] silicon.\nMake a silicon smelter.
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
tutorial.silicondrill = Silicon requires[accent] coal[] and[accent] sand[].\nStart by making drills.
|
tutorial.unpause = Now press space again to unpause.
|
||||||
tutorial.generator = This technology requires power.\nCreate a[accent] combustion generator[] for it.
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
tutorial.generatordrill = Combustion generators need fuel.\nFuel it with coal from a drill.
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
tutorial.node = Power requires transport.\nCreate a[accent] power node[] next to your combustion generator to transfer its power.
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
tutorial.nodelink = Power can be transferred through contacting power blocks and generators, or by linked power nodes.\n\nLink power by tapping the node and selecting the generator and silicon smelter.
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
tutorial.silicon = Silicon is being produced. Get some.\n\nImproving the production system is advised.
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.daggerfactory = Construct a[accent] dagger mech factory.[]\n\nThis will be used to create attack mechs.
|
tutorial.waves = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.router = Factories need resources to function.\nCreate a router to split conveyor resources.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.dagger = Link power nodes to the factory.\nOnce requirements are met, a mech will be created.\n\nCreate more drills, generators and conveyors as necessary.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.battle = The[LIGHT_GRAY] enemy[] has revealed their core.\nDestroy it with your unit and dagger mechs.
|
|
||||||
|
|
||||||
item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji.
|
item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji.
|
||||||
item.lead.description = Podstawowy matriał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
|
item.lead.description = Podstawowy matriał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
|
||||||
item.metaglass.description = Niesamowite silne szkło. Szeroko używane w transporcie i przechowywaniu płynów.
|
item.metaglass.description = Niesamowite silne szkło. Szeroko używane w transporcie i przechowywaniu płynów.
|
||||||
item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation.
|
item.graphite.description = Zmineralizowany węgiel, wykorzystywany do amunicji i izolacji elektrycznej.
|
||||||
item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne.
|
item.sand.description = Zwykły materiał używany pospolicie w przepalaniu, stopach i jako topnik. Dostanie piaskiem po oczach nie jest przyjemne.
|
||||||
item.coal.description = Zwykły i łatwo dostępny materiał energetyczny.
|
item.coal.description = Zwykły i łatwo dostępny materiał energetyczny.
|
||||||
item.titanium.description = Rzadki i bardzo lekki materiał. Używany w bardzo zaawansowanym przewodnictwie, wiertłach i samolotach. Poczuj się jak Tytan!
|
item.titanium.description = Rzadki i bardzo lekki materiał. Używany w bardzo zaawansowanym przewodnictwie, wiertłach i samolotach. Poczuj się jak Tytan!
|
||||||
@@ -888,69 +899,65 @@ item.silicon.description = Niesamowicie przydatny półprzewodnk uźywany w pane
|
|||||||
item.plastanium.description = Lekki i plastyczny materiał używany w amunicji odłamkowej i samolotach. Używany też w klockach LEGO (dlatego są niezniszczalne)!
|
item.plastanium.description = Lekki i plastyczny materiał używany w amunicji odłamkowej i samolotach. Używany też w klockach LEGO (dlatego są niezniszczalne)!
|
||||||
item.phase-fabric.description = Niewiarygodnie lekkie włókno używane w zaawansowanej elektronice i technologii samo-naprawiającej się.
|
item.phase-fabric.description = Niewiarygodnie lekkie włókno używane w zaawansowanej elektronice i technologii samo-naprawiającej się.
|
||||||
item.surge-alloy.description = Zaawansowany materiał z niesłychanymi wartościami energetycznymi.
|
item.surge-alloy.description = Zaawansowany materiał z niesłychanymi wartościami energetycznymi.
|
||||||
item.spore-pod.description = Used for conversion into oil, explosives and fuel.
|
item.spore-pod.description = Używany do wyrobu oleju, materiałów wybuchowych i paliwa.
|
||||||
item.blast-compound.description = Lotny związek używany w pirotechnice. Może być używany jako materiał energetyczny, ale nie polecam. BOOOM!
|
item.blast-compound.description = Lotny związek używany w pirotechnice. Może być używany jako materiał energetyczny, ale nie polecam, ale i tak warto spróbować.
|
||||||
item.pyratite.description = Niesamowicie palny związek używany w zbrojeniu. Nielegalny w 9 państwach.
|
item.pyratite.description = Niesamowicie palny związek używany w zbrojeniu. Nielegalny w 9 państwach.
|
||||||
liquid.water.description = Powszechnie używana do schładzania budowli i przetwarzania odpadów.
|
liquid.water.description = Powszechnie używana do schładzania budowli i przetwarzania odpadów.
|
||||||
liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon.
|
liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon.
|
||||||
liquid.oil.description = Może się palić, eksplodować lub być używana do schładzania.
|
liquid.oil.description = Może się palić, eksplodować lub być używana do schładzania.
|
||||||
liquid.cryofluid.description = Najefektywniejsza ciecz do schładzania budowli.
|
liquid.cryofluid.description = Najefektywniejsza ciecz do schładzania budowli.
|
||||||
mech.alpha-mech.description = Standardowy mech. Średnia broń i prędkość, leć potrafi stworzyć trzy małe drony do walki.
|
mech.alpha-mech.description = Standardowy mech. Średnia broń i prędkość, leć potrafi stworzyć trzy małe drony do walki.
|
||||||
mech.delta-mech.description = Szybki i wrażliwy mech stworzony do szybkih ataków i ucieczki. Budynką robi prawie nic, leć jest wstanie szybko rozwalić grupę wrogich jednostek piorunami.
|
mech.delta-mech.description = Szybki i wrażliwy mech stworzony do szybkih ataków i ucieczki. Budynką robi prawie nic, lec jest wstanie szybko rozwalić grupę wrogich jednostek piorunami.
|
||||||
mech.tau-mech.description = Mech pomocny. Naprawia budynki drużyny, strzelając w nie. Potrafi wygasić niedalekie pożary i uleczyć bliskich przyjaciół.
|
mech.tau-mech.description = Mech pomocny. Naprawia budynki drużyny, strzelając w nie. Potrafi wygasić niedalekie pożary i uleczyć bliskich przyjaciół.
|
||||||
mech.omega-mech.description = Duży i silny mech, zaprojektowany na ataki. Jego zdolność pozwala mu na zablokowanie do 90% obrażeń.
|
mech.omega-mech.description = Duży i silny mech, zaprojektowany na ataki. Jego zdolność pozwala mu na zablokowanie do 90% obrażeń.
|
||||||
mech.dart-ship.description = Standardowy statek. Lekki i szybki, ale jest kiepski jak chodzi o walkę i kopanie.
|
mech.dart-ship.description = Standardowy statek. Lekki i szybki, ale jest kiepski jak chodzi o walkę i kopanie.
|
||||||
mech.javelin-ship.description = Statek do ataku i szybkiej ucieczki. Zaczyna powoli, ale przyspiesza do wielkiej prędkości. Przy tej prędkości, może przelecieć koło wrogiej bazy i atakować piorunami czy rakietami.
|
mech.javelin-ship.description = Statek do ataku i szybkiej ucieczki. Zaczyna powoli, ale przyspiesza do wielkiej prędkości. Przy tej prędkości, może przelecieć koło wrogiej bazy i atakować piorunami czy rakietami.
|
||||||
mech.trident-ship.description = Ciężki bombowiec. Dobrze uzbrojony.
|
mech.trident-ship.description = Ciężki bombowiec, zbudowany do budowy i niszczenia fortyfikacji wroga. Dość dobrze opancerzony.
|
||||||
mech.glaive-ship.description = Duży, uzbrojony statek. Dobra prędkość i przyspieszenie. Ma ognisty karabin.
|
mech.glaive-ship.description = Duży, uzbrojony statek. Dobra prędkość i przyspieszenie. Wyposażony w karabin zapalający.
|
||||||
unit.draug.description = A primitive mining drone. Cheap to produce. Expendable. Automatically mines copper and lead in the vicinity. Delivers mined resources to the closest core.
|
unit.draug.description = Prymitywny dron górniczy. Tani w produkcji. Przeznaczony na stracenie. Automatycznie wydobywa miedź i ołów w pobliżu. Dostarcza wydobyte zasoby do najbliższego rdzenia.
|
||||||
unit.spirit.description = Początkowy dron. Rdzeń zawsze tworzy jeden. Wydobywa surowce, naprawia budynki oraz pomaga przy budowie.
|
unit.spirit.description = Zmodyfikowany dron draug, zaprojektowany do naprawy zamiast do wydobywania. Automatycznie naprawia wszelkie uszkodzone bloki w obszarze.
|
||||||
unit.phantom.description = Zaawansowany dron. Wydobywa surowce, naprawia budynki oraz pomaga przy budowie szybciej niż dron Duch.
|
unit.phantom.description = Zaawansowana jednostka dronów. Podąża za użytkownikiem. Pomaga w budowie bloków.
|
||||||
unit.dagger.description = Podstawowy mech lądowy. Sam jest słaby, lecz przydatny w dużych ilościach.
|
unit.dagger.description = Podstawowy mech lądowy. Sam jest słaby, lecz przydatny w dużych ilościach.
|
||||||
unit.crawler.description = A ground unit consisting of a stripped-down frame with high explosives strapped on top. Not particular durable. Explodes on contact with enemies.
|
unit.crawler.description = Jednostka naziemna składająca się z rozebranej ramy z przypiętymi na górze materiałami wybuchowymi. Niezbyt trwały. Wybucha przy kontakcie z wrogami. Chodzi na czterech nogach jak pies.
|
||||||
unit.titan.description = Bardziej zaawansowany mech lądowy. Atakuje cele lądowe i powietrzne.
|
unit.titan.description = Zaawansowana, opancerzona jednostka naziemna. Atakuje zarówno cele naziemne, jak i powietrzne. Wyposażony w dwa miniaturowe miotacze ognia typu Płomień.
|
||||||
unit.fortress.description = Wielka jednostka artyleryjna lądowa.
|
unit.fortress.description = Ciężki mech artyleryjski. Wyposażony w dwa zmodyfikowane działa typu gradowego do ataku na dalekie odległości na konstrukcje i jednostki wroga.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
unit.wraith.description = Szybka jednostka, stosuje taktyke uderz-uciekaj Namierza jakiekolwiek źródło prądu.
|
||||||
unit.eradicator.description =
|
unit.ghoul.description = Ciężki bombowiec dywanowy. Rozdziera struktury wroga, atakując krytyczną infrastrukturę.
|
||||||
unit.wraith.description = Szybka jednostka, stosuje taktyke uderz-uciekaj.
|
unit.revenant.description = Ciężka, unosząca sie platforma z rakietami.
|
||||||
unit.ghoul.description = Ciężki bombowiec.
|
block.graphite-press.description = Kompresuje kawałki węgla w czyste blaszki grafitu.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduces sand with highly pure coal in order to produce silicon.
|
block.silicon-smelter.description = Redukuje piasek za pomocą wysoce czystego węgla w celu wytworzenia krzemu.
|
||||||
block.kiln.description = Stapia ołów i piasek na metaszkło. Wymaga małej ilości energii.
|
block.kiln.description = Stapia ołów i piasek na metaszkło. Wymaga małej ilości energii.
|
||||||
block.plastanium-compressor.description = Produces plastanium from oil and titanium.
|
block.plastanium-compressor.description = Wytwarza plastan z oleju i tytanu.
|
||||||
block.phase-weaver.description = Produces phase fabric from radioactive thorium and high amounts of sand.
|
block.phase-weaver.description = Produkuje Włókna Fazowe z radioaktywnego toru i dużych ilości piasku.
|
||||||
block.alloy-smelter.description = Produces surge alloy from titanium, lead, silicon and copper.
|
block.alloy-smelter.description = Produkuje stop Elektrum z tytanu, ołowiu, krzemu i miedzi.
|
||||||
block.cryofluidmixer.description = Combines water and titanium into cryofluid which is much more efficient for cooling.
|
block.cryofluidmixer.description = Łączy wodę i tytan w lodociecz, który jest znacznie bardziej wydajny w chłodzeniu niż woda.
|
||||||
block.blast-mixer.description = Uses oil for transforming pyratite into the less flammable but more explosive blast compound.
|
block.blast-mixer.description = Kruszy i miesza skupiska zarodników z piratytem, tworząc związek wybuchowy.
|
||||||
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite.
|
||||||
block.melter.description = Przetapia złom na żużel do dalszego przetwarzania lub użycia w wieżyczkach
|
block.melter.description = Przetapia złom na żużel do dalszego przetwarzania lub użycia w wieżyczkach
|
||||||
block.separator.description = Oddziel użyteczne materiały z mieszaniny jaką jest żużel.
|
block.separator.description = Oddziel użyteczne materiały z mieszaniny jaką jest żużel.
|
||||||
block.spore-press.description = Compresses spore pods into oil.
|
block.spore-press.description = Kompresuje kapsułki zarodników w olej.
|
||||||
block.pulverizer.description = Mieli złom w drobny piaske. Przydatne, gdy brakuje naturalnego piasku.
|
block.pulverizer.description = Mieli złom w drobny piasek. Przydatne, gdy brakuje naturalnego piasku.
|
||||||
block.coal-centrifuge.description = Solidifes oil into chunks of coal.
|
block.coal-centrifuge.description = Zestala olej w kawałki węgla.
|
||||||
block.incinerator.description = Gets rid of any excess item or liquid.
|
block.incinerator.description = Pozbywa się nadmiaru przedmiotów lub płynu
|
||||||
block.power-void.description = Niszczy całą energię wprowadzoną do tego bloku. Dostępny tylko w trybie sandbox.
|
block.power-void.description = Niszczy całą energię wprowadzoną do tego bloku. Dostępny tylko w trybie sandbox.
|
||||||
block.power-source.description = Wydziela prąd w nieskończoność. Dostępny tylko w trybie sandbox.
|
block.power-source.description = Wydziela prąd w nieskończoność. Dostępny tylko w trybie sandbox.
|
||||||
block.item-source.description = Wydziela przedmioty w nieskończoność. Dostępny tylko w trybie sandbox.
|
block.item-source.description = Wydziela przedmioty w nieskończoność. Dostępny tylko w trybie sandbox.
|
||||||
block.item-void.description = Niszczy wszystkie przedmioty, które idą do tego bloku, który nie wymaga prądu. Dostępny tylko w trybie sandbox.
|
block.item-void.description = Niszczy wszystkie przedmioty, które idą do tego bloku, który nie wymaga prądu. Dostępny tylko w trybie sandbox.
|
||||||
block.liquid-source.description = Wydziela ciecz w nieskończoność. Dostępny tylko w trybie sandbox.
|
block.liquid-source.description = Wydziela ciecz w nieskończoność. Dostępny tylko w trybie sandbox.
|
||||||
block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.
|
block.copper-wall.description = Tani blok obronny.\nPrzydatny do ochrony rdzenia i wieżyczek w pierwszych kilku falach.
|
||||||
block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles.
|
block.copper-wall-large.description = Tani blok obronny.\nPrzydatny do ochrony rdzenia i wieżyczek w pierwszych kilku falach.\nObejmuje wiele kratek.
|
||||||
block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies.
|
block.titanium-wall.description = Umiarkowanie silny blok obronny.\nZapewnia umiarkowaną ochronę przed wrogami.
|
||||||
block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles.
|
block.titanium-wall-large.description = Umiarkowanie silny blok obronny.\nZapewnia umiarkowaną ochronę przed wrogami.\nObejmuje wiele kratek.
|
||||||
block.thorium-wall.description = A strong defensive block.\nGood protection from enemies.
|
block.thorium-wall.description = Silny blok obronny.\nDobra ochrona przed wrogami.
|
||||||
block.thorium-wall-large.description = A strong defensive block.\nGood protection from enemies.\nSpans multiple tiles.
|
block.thorium-wall-large.description = Silny blok obronny.\nDobra ochrona przed wrogami.\nObejmuje wiele kratek.
|
||||||
block.phase-wall.description = Not as strong as a thorium wall but will deflect bullets unless they are too powerful.
|
block.phase-wall.description = Nie tak silny jak ściana toru, ale odbije pociski, chyba że będą zbyt potężne.
|
||||||
block.phase-wall-large.description = Not as strong as a thorium wall but will deflect bullets unless they are too powerful.\nSpans multiple tiles.
|
block.phase-wall-large.description = Nie tak silny jak ściana toru, ale odbije pociski, chyba że będą zbyt potężne.\nObejmuje wiele kratek.
|
||||||
block.surge-wall.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.
|
block.surge-wall.description = Najsilniejszy blok obronny.\nMa niewielką szansę na wywołanie błyskawicy w kierunku atakującego.
|
||||||
block.surge-wall-large.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.\nSpans multiple tiles.
|
block.surge-wall-large.description = Najsilniejszy blok obronny.\nMa niewielką szansę na wywołanie błyskawicy w kierunku atakującego.\nObejmuje wiele kratek.
|
||||||
block.door.description = A small door that can be opened and closed by tapping on it.\nIf opened, enemies can shoot and move through.
|
block.door.description = Małe drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą strzelać i się przemieszczać przez nie.
|
||||||
block.door-large.description = A large door that can be opened and closed by tapping on it.\nIf opened, enemies can shoot and move through.\nSpans multiple tiles.
|
block.door-large.description = Duże drzwi, które można otwierać i zamykać, klikając na nie.\nJeśli są otwarte, wrogowie mogą strzelać i się przemieszczać przez nie.\nObejmuje wiele kratek.
|
||||||
block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency.
|
block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency.
|
||||||
block.mend-projector.description = Periodically heals blocks in its vicinity.
|
block.mend-projector.description = Periodically heals blocks in its vicinity.
|
||||||
block.overdrive-projector.description = Increases the speed of nearby buildings like drills and conveyors.
|
block.overdrive-projector.description = Increases the speed of nearby buildings like drills and conveyors.
|
||||||
@@ -983,19 +990,19 @@ block.battery.description = Stores power whenever there is an abundance and prov
|
|||||||
block.battery-large.description = Stores much more power than a regular battery.
|
block.battery-large.description = Stores much more power than a regular battery.
|
||||||
block.combustion-generator.description = Wytwarza energię poprzez spalanie łatwopalnych materiałów.
|
block.combustion-generator.description = Wytwarza energię poprzez spalanie łatwopalnych materiałów.
|
||||||
block.thermal-generator.description = Generates power when placed in hot locations.
|
block.thermal-generator.description = Generates power when placed in hot locations.
|
||||||
block.turbine-generator.description = More efficient than a combustion generator, but requires additional water.
|
block.turbine-generator.description = Bardziej wydajny niż generator spalania, ale wymaga dodatkowej wody.
|
||||||
block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite.
|
block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite.
|
||||||
block.rtg-generator.description = A radioisotope thermoelectric generator which does not require cooling but provides less power than a thorium reactor.
|
block.rtg-generator.description = A radioisotope thermoelectric generator which does not require cooling but provides less power than a thorium reactor.
|
||||||
block.solar-panel.description = Provides a small amount of power from the sun.
|
block.solar-panel.description = Provides a small amount of power from the sun.
|
||||||
block.solar-panel-large.description = Provides much better power supply than a standard solar panel, but is also much more expensive to build.
|
block.solar-panel-large.description = Provides much better power supply than a standard solar panel, but is also much more expensive to build.
|
||||||
block.thorium-reactor.description = Generates huge amounts of power from highly radioactive thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity.
|
block.thorium-reactor.description = Generates huge amounts of power from highly radioactive thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity.
|
||||||
block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process.
|
block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process.
|
||||||
block.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely.
|
block.mechanical-drill.description = Tanie wiertło. Kiedy położnone na odpowiednich polach, wysyła przedmioty w wolnym tempie.
|
||||||
block.pneumatic-drill.description = An improved drill which is faster and able to process harder materials by making use of air pressure.
|
block.pneumatic-drill.description = An improved drill which is faster and able to process harder materials by making use of air pressure.
|
||||||
block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Additionally, radioactive thorium can be retrieved with this drill.
|
block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Additionally, radioactive thorium can be retrieved with this drill.
|
||||||
block.blast-drill.description = The ultimate drill. Requires large amounts of power.
|
block.blast-drill.description = The ultimate drill. Requires large amounts of power.
|
||||||
block.water-extractor.description = Extracts water from the ground. Use it when there is no lake nearby.
|
block.water-extractor.description = Wydobywa wodę z ziemi. Użyj go, gdy w pobliżu nie ma jeziora.
|
||||||
block.cultivator.description = Cultivates tiny concentrations of spores into industry-ready pods.
|
block.cultivator.description = Uprawia małe skupiska zarodników w gotowe do użytku kapsułki.
|
||||||
block.oil-extractor.description = Uses large amounts of power in order to extract oil from sand. Use it when there is no direct source of oil nearby.
|
block.oil-extractor.description = Uses large amounts of power in order to extract oil from sand. Use it when there is no direct source of oil nearby.
|
||||||
block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen.
|
block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen.
|
||||||
block.core-foundation.description = The second version of the core. Better armored. Stores more resources.
|
block.core-foundation.description = The second version of the core. Better armored. Stores more resources.
|
||||||
@@ -1005,23 +1012,24 @@ block.container.description = Stores a small amount of items of each type. An[LI
|
|||||||
block.unloader.description = Unloads items from a container, vault or core onto a conveyor or directly into an adjacent block. The type of item to be unloaded can be changed by tapping on the unloader.
|
block.unloader.description = Unloads items from a container, vault or core onto a conveyor or directly into an adjacent block. The type of item to be unloaded can be changed by tapping on the unloader.
|
||||||
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished.
|
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished.
|
||||||
block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently.
|
block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently.
|
||||||
block.duo.description = A small, cheap turret. Useful against ground units.
|
block.duo.description = Mała, tania wieża. Przydatny przeciwko jednostkom naziemnym.
|
||||||
block.scatter.description = A medium-sized anti-air turret. Sprays clumps of lead or scrap flak at enemy units.
|
block.scatter.description = Średniej wielkości wieża przeciwlotnicza. Rozsiewa śruty z ołowiu lub strzępy złomu na jednostki wroga.
|
||||||
block.scorch.description = Burns any ground enemies close to it. Highly effective at close range.
|
block.scorch.description = Spala wszystkich wrogów naziemnych w pobliżu. Bardzo skuteczny z bliskiej odległości.
|
||||||
block.hail.description = A small artillery turret.
|
block.hail.description = Mała wieża artyleryjska, bardzo przydatna, atakuje tylko jednostki naziemne.
|
||||||
block.wave.description = A medium-sized rapid-fire turret which shoots liquid bubbles.
|
block.wave.description = Średniej wielkości szybkostrzelna wieżyczka, która wystrzeliwuje płynne bąbelki. Gasi ogień jeżeli jest w niej woda lub lodociecz
|
||||||
block.lancer.description = A medium-sized turret which shoots charged electricity beams.
|
block.lancer.description = Średniej wielkości wieżyczka, która strzela naładowanymi wiązkami elektryczności.
|
||||||
block.arc.description = A small close-range turret which shoots electricity in a random arc towards the enemy.
|
block.arc.description = Mała wieża bliskiego zasięgu, która wystrzeliwuje elektryczność losowym łukiem w kierunku wroga.
|
||||||
block.swarmer.description = A medium-sized turret which shoots burst missiles.
|
block.swarmer.description = Średniej wielkości wieżyczka, która strzela rakietami wybuchowymi.
|
||||||
block.salvo.description = A medium-sized turret which fires shots in salvos.
|
block.salvo.description = Średniej wielkości wieża strzelająca salwami.
|
||||||
block.fuse.description = A large turret which shoots powerful short-range beams.
|
block.fuse.description = Duża wieża, która strzela potężnymi wiązkami krótkiego zasięgu.
|
||||||
block.ripple.description = A large artillery turret which fires several shots simultaneously.
|
block.ripple.description = Duża wieża artyleryjska, która strzela jednocześnie kilkoma strzałami.
|
||||||
block.cyclone.description = A large rapid fire turret.
|
block.cyclone.description = Duża szybkostrzelna wieża.
|
||||||
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
block.spectre.description = Duża wieża, która strzela dwoma potężnymi pociskami jednocześnie.
|
||||||
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
block.meltdown.description = Duża wieża, która strzela potężnymi wiązkami dalekiego zasięgu.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.command-center.description = Wydaje polecenia ruchu sojuszniczym jednostkom na całej mapie.\nPowoduje patrolowanie jednostek, atakowanie wrogiego rdzenia lub wycofanie się do rdzenia / fabryki. Gdy nie ma rdzenia wroga, jednostki będą domyślnie patrolować pod dowództwem ataku.
|
||||||
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
block.draug-factory.description = Produkuje drony wydobywcze Draug.
|
||||||
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
block.spirit-factory.description = Produkuje lekkie drony, które naprawiają bloki.
|
||||||
|
block.phantom-factory.description = Produkuje zaawansowane drony które pomgają przy budowie.
|
||||||
block.wraith-factory.description = Produces fast, hit-and-run interceptor units.
|
block.wraith-factory.description = Produces fast, hit-and-run interceptor units.
|
||||||
block.ghoul-factory.description = Produces heavy carpet bombers.
|
block.ghoul-factory.description = Produces heavy carpet bombers.
|
||||||
block.revenant-factory.description = Produces heavy laser air units.
|
block.revenant-factory.description = Produces heavy laser air units.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Mapa grande demais, Potencialmente sem memoria suficiente p
|
|||||||
gameover = O núcleo foi destruído.
|
gameover = O núcleo foi destruído.
|
||||||
gameover.pvp = O time[accent] {0}[] É vitorioso!
|
gameover.pvp = O time[accent] {0}[] É vitorioso!
|
||||||
highscore = [YELLOW]Novo recorde!
|
highscore = [YELLOW]Novo recorde!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Hordas derrotadas:[accent] {0}
|
stat.wave = Hordas derrotadas:[accent] {0}
|
||||||
stat.enemiesDestroyed = Enimigos Destruídos:[accent] {0}
|
stat.enemiesDestroyed = Enimigos Destruídos:[accent] {0}
|
||||||
stat.built = Construções construídas:[accent] {0}
|
stat.built = Construções construídas:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Construções destruídas:[accent] {0}
|
|||||||
stat.deconstructed = Construções desconstruídas:[accent] {0}
|
stat.deconstructed = Construções desconstruídas:[accent] {0}
|
||||||
stat.delivered = Recursos lançados:
|
stat.delivered = Recursos lançados:
|
||||||
stat.rank = Rank Final: [accent]{0}
|
stat.rank = Rank Final: [accent]{0}
|
||||||
placeline = Você selecionou um bloco.\nVocê pode[accent] colocar uma linha[] por[accent] carregar o seu dedo por alguns segundos[] e arrastar em uma direção.\nTente.
|
|
||||||
removearea = Você selecionou o modo de remoção.\nVocê pode[accent] remover blocos dentro de um retângulo[] por[accent] carregar o seu dedo por alguns segundos[] e arrastar.\nTente.
|
|
||||||
launcheditems = [accent]Itens lançados
|
launcheditems = [accent]Itens lançados
|
||||||
map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"?
|
map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"?
|
||||||
level.highscore = Melhor\npontuação: [accent] {0}
|
level.highscore = Melhor\npontuação: [accent] {0}
|
||||||
@@ -43,6 +46,7 @@ newgame = Novo Jogo
|
|||||||
none = <nenhum>
|
none = <nenhum>
|
||||||
minimap = Mini-Mapa
|
minimap = Mini-Mapa
|
||||||
close = Fechar
|
close = Fechar
|
||||||
|
website = Website
|
||||||
quit = Sair
|
quit = Sair
|
||||||
maps = Mapas
|
maps = Mapas
|
||||||
continue = Continuar
|
continue = Continuar
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} Jogador Ativo
|
|||||||
server.closing = [accent]Fechando servidor...
|
server.closing = [accent]Fechando servidor...
|
||||||
server.kicked.kick = Voce foi expulso do servidor!
|
server.kicked.kick = Voce foi expulso do servidor!
|
||||||
server.kicked.serverClose = Servidor Fechado.
|
server.kicked.serverClose = Servidor Fechado.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Cliente desatualizado! Atualize seu jogo!
|
server.kicked.clientOutdated = Cliente desatualizado! Atualize seu jogo!
|
||||||
server.kicked.serverOutdated = Servidor desatualiado! Peca ao dono para atualizar!
|
server.kicked.serverOutdated = Servidor desatualiado! Peca ao dono para atualizar!
|
||||||
server.kicked.banned = Voce foi banido do servidor.
|
server.kicked.banned = Voce foi banido do servidor.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Voce foi banido recentemente.\nEspere para conectar de novo.
|
server.kicked.recentKick = Voce foi banido recentemente.\nEspere para conectar de novo.
|
||||||
server.kicked.nameInUse = Este nome ja esta sendo usado\nneste servidor.
|
server.kicked.nameInUse = Este nome ja esta sendo usado\nneste servidor.
|
||||||
server.kicked.nameEmpty = Voce deve ter pelo menos uma letra ou numero.
|
server.kicked.nameEmpty = Voce deve ter pelo menos uma letra ou numero.
|
||||||
server.kicked.idInUse = Voce ja esta neste servidor! Conectar com duas contas não é permitido.
|
server.kicked.idInUse = Voce ja esta neste servidor! Conectar com duas contas não é permitido.
|
||||||
server.kicked.customClient = Este servidor não suporta construções customizadas. Baixe a versão original.
|
server.kicked.customClient = Este servidor não suporta construções customizadas. Baixe a versão original.
|
||||||
server.kicked.gameover = Fim de jogo!
|
server.kicked.gameover = Fim de jogo!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = The [accent]Hospedar[]Botão Hopeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguem esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall
|
host.info = The [accent]Hospedar[]Botão Hopeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [LIGHT_GRAY]Wi-fi Ou Internet local[] Pode ver este servidor na lista de servidores.\n\nSe voce quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[LIGHT_GRAY]Note: Se alguem esta com problemas em conectar no seu servidor lan, Tenha certeza que deixou mindustry Acessar sua internet local nas configurações de firewall
|
||||||
join.info = Aqui, Você pode entar em um [accent]IP De servidor[] Para conectar, Ou descobrir [accent]Servidores[] Da rede local.\nAmbos os servidores LAN e WAN São suportados.\n\n[LIGHT_GRAY]Note: Não tem uma lista de servidores automaticos; Se você quer conectar ao IP de alguem, Você precisa pedir o IP Ao Rosteador.
|
join.info = Aqui, Você pode entar em um [accent]IP De servidor[] Para conectar, Ou descobrir [accent]Servidores[] Da rede local.\nAmbos os servidores LAN e WAN São suportados.\n\n[LIGHT_GRAY]Note: Não tem uma lista de servidores automaticos; Se você quer conectar ao IP de alguem, Você precisa pedir o IP Ao Rosteador.
|
||||||
hostserver = Hospedar servidor
|
hostserver = Hospedar servidor
|
||||||
@@ -154,7 +161,15 @@ cancel = Cancelar
|
|||||||
openlink = Abrir Link
|
openlink = Abrir Link
|
||||||
copylink = Copiar link
|
copylink = Copiar link
|
||||||
back = Voltar
|
back = Voltar
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Você tem certeza que quer sair?
|
quit.confirm = Você tem certeza que quer sair?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Carregando...
|
loading = [accent]Carregando...
|
||||||
saving = [accent]Salvando...
|
saving = [accent]Salvando...
|
||||||
wave = [accent]Horda {0}
|
wave = [accent]Horda {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]Sem filtro! Adicione um usando o botão abaixo.
|
|||||||
filter.distort = Distorcedor
|
filter.distort = Distorcedor
|
||||||
filter.noise = Ruído
|
filter.noise = Ruído
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Minério
|
filter.ore = Minério
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Por favor Reinicie seu jogo para a tradução tomar efeito.
|
language.restart = Por favor Reinicie seu jogo para a tradução tomar efeito.
|
||||||
settings = Configurações
|
settings = Configurações
|
||||||
tutorial = Tutorial
|
tutorial = Tutorial
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Editor de mapa
|
mapeditor = Editor de mapa
|
||||||
donate = Doar
|
donate = Doar
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Melhor: {0}
|
|||||||
launch = Lançar
|
launch = Lançar
|
||||||
launch.title = Lançamento feito com sucesso
|
launch.title = Lançamento feito com sucesso
|
||||||
launch.next = [LIGHT_GRAY]próxima oportunidade na onda {0}
|
launch.next = [LIGHT_GRAY]próxima oportunidade na onda {0}
|
||||||
launch.unable = [scarlet]Incapaz de LANÇAR.[] Enimigos.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = Isto vai lançar todos os seus recursos no seu núcleo.\nVoce não será capaz de retornar para esta base.
|
launch.confirm = Isto vai lançar todos os seus recursos no seu núcleo.\nVoce não será capaz de retornar para esta base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Descobrir
|
uncover = Descobrir
|
||||||
configure = Configurar carregamento
|
configure = Configurar carregamento
|
||||||
configure.locked = [LIGHT_GRAY]Alcançe a onda {0}\npara Configurar o Loadout.
|
configure.locked = [LIGHT_GRAY]Alcançe a onda {0}\npara Configurar o Loadout.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Campos de Tar
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Linguagem
|
settings.language = Linguagem
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Restaurar Padrões
|
settings.reset = Restaurar Padrões
|
||||||
settings.rebind = Religar
|
settings.rebind = Religar
|
||||||
settings.controls = Controles
|
settings.controls = Controles
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = Imprecisão
|
|||||||
blocks.shots = Tiros
|
blocks.shots = Tiros
|
||||||
blocks.reload = Recarregar
|
blocks.reload = Recarregar
|
||||||
blocks.ammo = Munição
|
blocks.ammo = Munição
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Velocidade da furadeira: {0}/s
|
bar.drillspeed = Velocidade da furadeira: {0}/s
|
||||||
bar.efficiency = Eficiencia: {0}%
|
bar.efficiency = Eficiencia: {0}%
|
||||||
bar.powerbalance = Energia: {0}
|
bar.powerbalance = Energia: {0}
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Mostrar lasers
|
|||||||
setting.pixelate.name = Pixelizado [LIGHT_GRAY](Pode diminuir a performace)
|
setting.pixelate.name = Pixelizado [LIGHT_GRAY](Pode diminuir a performace)
|
||||||
setting.minimap.name = Mostrar minimapa
|
setting.minimap.name = Mostrar minimapa
|
||||||
setting.musicvol.name = Volume da Música
|
setting.musicvol.name = Volume da Música
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Desligar Música
|
setting.mutemusic.name = Desligar Música
|
||||||
setting.sfxvol.name = Volume de Efeitos
|
setting.sfxvol.name = Volume de Efeitos
|
||||||
setting.mutesound.name = Desligar Som
|
setting.mutesound.name = Desligar Som
|
||||||
setting.crashreport.name = Enviar denuncias de crash anonimas
|
setting.crashreport.name = Enviar denuncias de crash anonimas
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Opacidade do chat
|
setting.chatopacity.name = Opacidade do chat
|
||||||
setting.playerchat.name = Mostrar chat em-jogo
|
setting.playerchat.name = Mostrar chat em-jogo
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Pressione uma Axis ou tecla...
|
|||||||
keybind.screenshot.name = Captura do mapa
|
keybind.screenshot.name = Captura do mapa
|
||||||
keybind.move_x.name = mover_x
|
keybind.move_x.name = mover_x
|
||||||
keybind.move_y.name = mover_y
|
keybind.move_y.name = mover_y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = selecionar
|
keybind.select.name = selecionar
|
||||||
keybind.diagonal_placement.name = Colocação diagonal
|
keybind.diagonal_placement.name = Colocação diagonal
|
||||||
keybind.pick.name = Pegar bloco
|
keybind.pick.name = Pegar bloco
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Misturador de Explosão
|
|||||||
block.solar-panel.name = Painel Solar
|
block.solar-panel.name = Painel Solar
|
||||||
block.solar-panel-large.name = Painel Solar Grande
|
block.solar-panel-large.name = Painel Solar Grande
|
||||||
block.oil-extractor.name = Extrator de Óleo
|
block.oil-extractor.name = Extrator de Óleo
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Fabrica de Drone Spirit
|
block.spirit-factory.name = Fabrica de Drone Spirit
|
||||||
block.phantom-factory.name = Fabrica de Drone Phantom
|
block.phantom-factory.name = Fabrica de Drone Phantom
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Container
|
|||||||
block.launch-pad.name = Plataforma de lançamento
|
block.launch-pad.name = Plataforma de lançamento
|
||||||
block.launch-pad-large.name = Plataforma de lançamento grande
|
block.launch-pad-large.name = Plataforma de lançamento grande
|
||||||
team.blue.name = Azul
|
team.blue.name = Azul
|
||||||
team.red.name = Vermelho
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = Laranja
|
team.orange.name = Laranja
|
||||||
team.none.name = Cinza
|
team.derelict.name = derelict
|
||||||
team.green.name = Verde
|
team.green.name = Verde
|
||||||
team.purple.name = Roxo
|
team.purple.name = Roxo
|
||||||
unit.spirit.name = Drone Spirit
|
unit.spirit.name = Drone Spirit
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Arraia do caos
|
|||||||
unit.eradicator.name = Erradicador
|
unit.eradicator.name = Erradicador
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Ceifador
|
unit.reaper.name = Ceifador
|
||||||
tutorial.begin = Sua missão aqui é de erradicar[LIGHT_GRAY] Inimigo[].\n\nComeçe por[accent] Minerar cobre[]. Clique numa veia de cobre perto de seu core para fazer isso.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Minerar manualmente é ineficiente.\n[accent]Mineradoras []podem minerar automaticamente.\nColoque uma numa veia de cobre.
|
tutorial.drill = Minerar manualmente é ineficiente.\n[accent]Mineradoras []podem minerar automaticamente.\nColoque uma numa veia de cobre.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Esteiras[] São usadas para transportar itens até o core.\nFaça uma linha de Esteiras da mineradora até o core.
|
tutorial.conveyor = [accent]Esteiras[] São usadas para transportar itens até o core.\nFaça uma linha de Esteiras da mineradora até o core.
|
||||||
tutorial.morecopper = Mais cobre é preciso.\n\nTanto minere manualmente, Ou coloque mais mineradoras.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Estruturas defensivas devem ser construidas para repelir[LIGHT_GRAY] O inimigo[].\nConstrua uma torre dupla perto de sua base.
|
tutorial.turret = Estruturas defensivas devem ser construidas para repelir[LIGHT_GRAY] O inimigo[].\nConstrua uma torre dupla perto de sua base.
|
||||||
tutorial.drillturret = Torres duplas precisam de[accent] Cobre como munição []Para atirar.\nColoque uma mineradoura Proxima a torre Para carregar ela com cobre minerado.
|
tutorial.drillturret = Torres duplas precisam de[accent] Cobre como munição []Para atirar.\nColoque uma mineradoura Proxima a torre Para carregar ela com cobre minerado.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = O[LIGHT_GRAY] Inimigo[] se aproxima.\n\nDefenda seu core por 2 ondas. Construa mais torres.
|
tutorial.waves = O[LIGHT_GRAY] Inimigo[] se aproxima.\n\nDefenda seu core por 2 ondas. Construa mais torres.
|
||||||
tutorial.lead = Mais minerios estão disponiveis. Explore e minere[accent] Cobre[].\n\nArraste Da sua unidade até o core para transferir recursos.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Cobre e chumbo são materiais fracos.\nLiga densa[accent] Superior[] Pode ser feito num fundidor.\n\nConstrua um.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = O fundidor agora vai fazer a liga.\nPegue.\nMelhore a produção se necessario.
|
|
||||||
tutorial.siliconsmelter = O core agora vai criar[accent] O drone Spirit[] Para minerar e consertar blocos.\n\nFabricas para outras unidades podem ser criadas usando [accent] silicio.\nFaça um fundidor de Silicio.
|
|
||||||
tutorial.silicondrill = Silicio requer[accent] carvão[] e[accent] areia[].\nComeçe a fazer mineradouras.
|
|
||||||
tutorial.generator = Essa tecnologia requer energia.\nCrie[accent] um gerador a combustão[] para isso.
|
|
||||||
tutorial.generatordrill = Gerador de combustão requer combustivel.\nCarregue com carvão minerado.
|
|
||||||
tutorial.node = Energia requer transporte.\nCrie um[accent] Nodo de energia[] Proximo do gerador de combustão.
|
|
||||||
tutorial.nodelink = Poder pode ser transportado construindo blocos de energia e geradores, Apenas construindo nodos de Energia.\n\nLigue a energia clicando no nodo e selecionando o gerador e o fundidor de silicio.
|
|
||||||
tutorial.silicon = Silicio esta sendo feito. Pegue.\n\nMelhorar a produção é recomendado.
|
|
||||||
tutorial.daggerfactory = Construa uma[accent] Fabrica do meca Dagger.[]\n\nIsso vai ser feito para construi mecas de ataque.
|
|
||||||
tutorial.router = Fabricas precisam de recursos pra construir\nCrie um roteador para espalhadar recursos da esteira.
|
|
||||||
tutorial.dagger = Ligue os nodos de energia a fabrica.\nQuando os requerimentos forem alcançados, Um meca vai ser criado.\n\nCrie mais mineradoras, geradoras e esteiras se necessario.
|
|
||||||
tutorial.battle = O[LIGHT_GRAY] Inimigo[] revelou seu core.\nDestrua com sua unidade e Dagger's.
|
|
||||||
item.copper.description = Um material de estrutura util. Usado extensivamente em Maioria dos blocos.
|
item.copper.description = Um material de estrutura util. Usado extensivamente em Maioria dos blocos.
|
||||||
item.lead.description = Material de começo basico. usado intensivamente em Blocos de transporte de liquidos e eletronicos.
|
item.lead.description = Material de começo basico. usado intensivamente em Blocos de transporte de liquidos e eletronicos.
|
||||||
item.metaglass.description = Composto de vidro super-Resistente. Extensivamente usado Para distribuição de líquido e armazem.
|
item.metaglass.description = Composto de vidro super-Resistente. Extensivamente usado Para distribuição de líquido e armazem.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = Uma unidade armadurada terreste avancada. Usa carbide como munição. Ataca ambas as unidades de Aereas e terrestres.
|
unit.titan.description = Uma unidade armadurada terreste avancada. Usa carbide como munição. Ataca ambas as unidades de Aereas e terrestres.
|
||||||
unit.fortress.description = Uma unidade pesada de artilharia terrestre.
|
unit.fortress.description = Uma unidade pesada de artilharia terrestre.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = Uma unidade rapida, Interceptadora de bater e correr.
|
unit.wraith.description = Uma unidade rapida, Interceptadora de bater e correr.
|
||||||
unit.ghoul.description = Um bombardeiro pesado. Usa composto de explosão Ou piratite como munição.
|
unit.ghoul.description = Um bombardeiro pesado. Usa composto de explosão Ou piratite como munição.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduz areia a coque altamente puro Para fazer silicio.
|
block.silicon-smelter.description = Reduz areia a coque altamente puro Para fazer silicio.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = Uma grande torre que atira simultaneamente.
|
|||||||
block.cyclone.description = Uma grande torre de tiro rapido.
|
block.cyclone.description = Uma grande torre de tiro rapido.
|
||||||
block.spectre.description = Uma grande torre que da dois tiros poderosos ao mesmo tempo.
|
block.spectre.description = Uma grande torre que da dois tiros poderosos ao mesmo tempo.
|
||||||
block.meltdown.description = Uma grande torre que atira dois raios poderosos ao mesmo tempo.
|
block.meltdown.description = Uma grande torre que atira dois raios poderosos ao mesmo tempo.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produz drones leves que mineram e reparam blocos.
|
block.spirit-factory.description = Produz drones leves que mineram e reparam blocos.
|
||||||
block.phantom-factory.description = Produz unidades de drone avancadas Que são significativamente mais efetivos que um drone spirit.
|
block.phantom-factory.description = Produz unidades de drone avancadas Que são significativamente mais efetivos que um drone spirit.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
credits.text = Создатель [ROYAL] Anuken — [SKY]anukendev@gmail.com[][]\n\nЕсть недоработки в переводе или хотите найти союзников для совместной игры?\nПишите в офф. discord-сервер Mindustry в канал #русский.\n\nПереводчики на русский язык:\n[YELLOW]Prosta4ok_ua\n[BLACK]XZimur\n[BLUE]Beryllium
|
credits.text = Создатель [ROYAL]Anuken[] — [SKY]anukendev@gmail.com[]\n\nЕсть недоработки в переводе или хотите найти союзников для совместной игры?\nПишите в оф. discord-сервер Mindustry в канал #русский.\n\nПереводчики на русский язык:\n[YELLOW]Prosta4ok_ua\n[BLACK]XZimur\n[BLUE]Beryllium\nРедактор:\n[SLATE]Felix Corvus
|
||||||
credits = Авторы
|
credits = Авторы
|
||||||
contributors = Переводчики и помощники
|
contributors = Переводчики и помощники
|
||||||
discord = Присоединяйтесь к нашему Discord!
|
discord = Присоединяйтесь к нашему Discord!
|
||||||
@@ -7,33 +7,35 @@ link.github.description = Исходный код игры
|
|||||||
link.changelog.description = Список изменений
|
link.changelog.description = Список изменений
|
||||||
link.dev-builds.description = Нестабильные версии
|
link.dev-builds.description = Нестабильные версии
|
||||||
link.trello.description = Официальная доска Trello для запланированных функций
|
link.trello.description = Официальная доска Trello для запланированных функций
|
||||||
link.itch.io.description = Itch.io страница с веб-версией игры и скачиваниями
|
link.itch.io.description = Itch.io страница с загрузками игры
|
||||||
link.google-play.description = Скачать для Android с Google play
|
link.google-play.description = Скачать для Android с Google play
|
||||||
link.wiki.description = Официальная вики
|
link.wiki.description = Официальная вики
|
||||||
linkfail = Не удалось открыть ссылку!\nURL-адрес была скопирована в буфер обмена.
|
linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
||||||
screenshot = Cкриншот сохранён в {0}
|
screenshot = Cкриншот сохранён в {0}
|
||||||
screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота.
|
screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота.
|
||||||
gameover = Игра окончена
|
gameover = Игра окончена
|
||||||
gameover.pvp = [accent] {0}[] команда победила!
|
gameover.pvp = [accent] {0}[] команда победила!
|
||||||
highscore = [YELLOW]Новый рекорд!
|
highscore = [accent]Новый рекорд!
|
||||||
|
load.sound = Звуки
|
||||||
|
load.map = Карт
|
||||||
|
load.image = Изображения
|
||||||
|
load.content = Содержание
|
||||||
|
load.system = Система
|
||||||
stat.wave = Волн отражено:[accent] {0}
|
stat.wave = Волн отражено:[accent] {0}
|
||||||
stat.enemiesDestroyed = Врагов уничтожено:[accent] {0}
|
stat.enemiesDestroyed = Врагов уничтожено:[accent] {0}
|
||||||
stat.built = Строений построено:[accent] {0}
|
stat.built = Строений построено:[accent] {0}
|
||||||
stat.destroyed = Строений уничтожено:[accent] {0}
|
stat.destroyed = Строений уничтожено:[accent] {0}
|
||||||
stat.deconstructed = Строений деконструировано:[accent] {0}
|
stat.deconstructed = Строений деконструировано:[accent] {0}
|
||||||
stat.delivered = Ресурсов добыто:
|
stat.delivered = Ресурсов запущено:
|
||||||
stat.rank = Финальный счёт: [accent]{0}
|
stat.rank = Финальный счёт: [accent]{0}
|
||||||
placeline = Вы выбрали блок.\nВы можете [accent]строить в линию[], [accent]удерживая палец в течение нескольких секунд[] и потом перетаскивая его.\n\n[scarlet]СДЕЛАЙ ЭТО.
|
launcheditems = [accent]Запущенные Предметы
|
||||||
removearea = Вы выбрали режим удаления.\nВы можете [accent]удалять блоки в выбранной области[], [accent]удерживая палец несколько секунд[] и потом перетаскивая его.\n\n[scarlet]СДЕЛАЙ ЭТО.
|
|
||||||
launcheditems = [accent]Запущенные предметы
|
|
||||||
map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»?
|
map.delete = Вы действительно хотите удалить карту «[accent]{0}[]»?
|
||||||
level.highscore = Рекорд: [accent]{0}
|
level.highscore = Рекорд: [accent]{0}
|
||||||
level.select = Выбор карты
|
level.select = Выбор карты
|
||||||
level.mode = Режим игры:
|
level.mode = Режим игры:
|
||||||
showagain = Не показывать снова до следующей сессии
|
showagain = Не показывать снова до следующей сессии
|
||||||
coreattack = < Ядро находится под атакой! >
|
coreattack = < Ядро находится под атакой! >
|
||||||
nearpoint = [[ [scarlet]ПОКИНЬТЕ ЗОНУ НЕМЕДЛЕННО[] ]\nАннигиляция неизбежна.
|
nearpoint = [[ [scarlet]ПОКИНЬТЕ ТОЧКУ ВЫСАДКИ НЕМЕДЛЕННО[] ]\nАннигиляция неизбежна.
|
||||||
outofbounds = [[ ЗА ГРАНИЦАМИ ]]\n[]самоуничтожение через{0}
|
|
||||||
database = База данных ядра
|
database = База данных ядра
|
||||||
savegame = Сохранить игру
|
savegame = Сохранить игру
|
||||||
loadgame = Загрузить игру
|
loadgame = Загрузить игру
|
||||||
@@ -48,43 +50,46 @@ website = Веб-сайт
|
|||||||
quit = Выход
|
quit = Выход
|
||||||
maps = Карты
|
maps = Карты
|
||||||
continue = Продолжить
|
continue = Продолжить
|
||||||
maps.none = [LIGHT_GRAY]Карты не найдены!
|
maps.none = [lightgray]Карты не найдены!
|
||||||
about.button = Об игре
|
about.button = Об игре
|
||||||
name = Имя:
|
name = Имя:
|
||||||
noname = Для начала, придумайте[accent] себе имя[].
|
noname = Для начала, придумайте[accent] себе имя[].
|
||||||
filename = Имя файла:
|
filename = Имя файла:
|
||||||
unlocked = Новый контент разблокирован!
|
unlocked = Новый контент разблокирован!
|
||||||
completed = [accent]Завершено
|
completed = [accent]Завершено
|
||||||
techtree = Технологическое дерево
|
techtree = Дерево технологий
|
||||||
research.list = [LIGHT_GRAY]Исследование:
|
research.list = [lightgray]Исследование:
|
||||||
research = Исследование
|
research = Исследование
|
||||||
researched = [LIGHT_GRAY]{0} исследовано.
|
researched = [lightgray]{0} исследовано.
|
||||||
players = Игроков на сервере: {0}
|
players = Игроков на сервере: {0}
|
||||||
players.single = {0} игрок на сервере
|
players.single = {0} игрок на сервере
|
||||||
server.closing = [accent]Закрытие сервера...
|
server.closing = [accent]Закрытие сервера…
|
||||||
server.kicked.kick = Вас выгнали с сервера!
|
server.kicked.kick = Вас выгнали с сервера!
|
||||||
server.kicked.serverClose = Сервер закрыт.
|
server.kicked.serverClose = Сервер закрыт.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Устаревший клиент! Обновите игру!
|
server.kicked.clientOutdated = Устаревший клиент! Обновите игру!
|
||||||
server.kicked.serverOutdated = Устаревший сервер! Попросите администратора сервера обновить сервер/игру!
|
server.kicked.serverOutdated = Устаревший сервер! Попросите администратора сервера обновить сервер/игру!
|
||||||
server.kicked.banned = Вы заблокированы на этом сервере.
|
server.kicked.banned = Вы заблокированы на этом сервере.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Вы недавно были кикнуты.\nПодождите немного перед следующим подключением.
|
server.kicked.recentKick = Вы недавно были кикнуты.\nПодождите немного перед следующим подключением.
|
||||||
server.kicked.nameInUse = На этом сервере есть кто-то с этим именем.
|
server.kicked.nameInUse = На этом сервере есть кто-то с этим именем.
|
||||||
server.kicked.nameEmpty = Ваше имя должно содержать хотя бы один символ или цифру.
|
server.kicked.nameEmpty = Ваше имя должно содержать хотя бы один символ или цифру.
|
||||||
server.kicked.idInUse = Вы уже на этом сервере! Соединение с двумя учетными записями не разрешено.
|
server.kicked.idInUse = Вы уже на этом сервере! Соединение с двумя учетными записями не разрешено.
|
||||||
server.kicked.customClient = Этот сервер не поддерживает пользовательские сборки. Загрузите официальную версию.
|
server.kicked.customClient = Этот сервер не поддерживает пользовательские сборки. Загрузите официальную версию.
|
||||||
server.kicked.gameover = Игра окончена!
|
server.kicked.gameover = Игра окончена!
|
||||||
host.info = Кнопка [accent]Сервер[] размещает сервер на порте [accent]6567[].[]\nЛюбой пользователь в той же [LIGHT_GRAY]сети[] получет возможность видеть ваш сервер в своём списке серверов.\n\nЕсли вы хотите, чтобы люди могли подключаться из любого места по IP, то требуется переадресация(проброс) портов.[].\n\n[LIGHT_GRAY] Примечание. Если у кого-то возникают проблемы с подключением к вашей локальной сети, убедитесь, что вы разрешили доступ Mindustry к вашей локальной сети в настройках брандмауэра. Обратите внимание, что публичные сети иногда не позволяют обнаружение сервера.
|
server.versions = Ваша версия:[accent] {0}[]\nВерсия сервера:[accent] {1}[]
|
||||||
join.info = Здесь вы можете ввести IP-адрес [accent]сервера[] для подключения или открыть [accent]локальную сеть [] для подключения к другим серверам.\nПоддерживается многопользовательский режим LAN и WAN.\n\n[LIGHT_GRAY] Примечание: это не является автоматическим глобальным списком серверов; если вы хотите подключиться к кому-то по IP, вам нужно будет спросить у хоста его IP-адрес.
|
host.info = Кнопка [accent]Сервер[] запускает сервер на порте [accent]6567[]. \nЛюбой пользователь в той же [lightgray]локальной сети или WiFi[] должен увидеть ваш сервер в своём списке серверов.\n\nЕсли Вы хотите, чтобы люди могли подключаться откуда угодно по IP, то требуется [accent]переадресация (проброс) портов[].\n\n[lightgray]Примечание: Если у кого-то возникают проблемы с подключением к вашей игре по локальной сети, убедитесь, что Вы разрешили доступ Mindustry к вашей локальной сети в настройках брандмауэра. Обратите внимание, что публичные сети иногда не позволяют обнаружение сервера.
|
||||||
hostserver = Запустить многопользовательский сервер
|
join.info = Здесь Вы можете ввести [accent]IP-адрес сервера[] для подключения или открыть [accent]локальную сеть[] для подключения к другим серверам.\nПоддерживаются оба многопользовательских режима: LAN и WAN.\n\n[lightgray]Примечание: это НЕ автоматический глобальный список серверов; если Вы хотите подключиться к кому-то по IP, вам нужно спросить у хоста его IP-адрес.
|
||||||
hostserver.mobile = Запустить\nсервер
|
hostserver = Запустить многопользовательский cервер
|
||||||
|
hostserver.mobile = Запустить\ncервер
|
||||||
host = Сервер
|
host = Сервер
|
||||||
hosting = [accent]Открытие сервера...
|
hosting = [accent]Открытие сервера…
|
||||||
hosts.refresh = Обновить
|
hosts.refresh = Обновить
|
||||||
hosts.discovering = Поиск локальных игр
|
hosts.discovering = Поиск локальных игр
|
||||||
server.refreshing = Обновление сервера
|
server.refreshing = Обновление сервера
|
||||||
hosts.none = [lightgray]Локальных игр не обнаружено!
|
hosts.none = [lightgray]Локальных игр не обнаружено!
|
||||||
host.invalid = [scarlet]Не удаётся подключиться к хосту.
|
host.invalid = [scarlet]Не удаётся подключиться к хосту.
|
||||||
trace = Слежка за игроком
|
trace = Отслеживать игрока
|
||||||
trace.playername = Имя игрока: [accent]{0}
|
trace.playername = Имя игрока: [accent]{0}
|
||||||
trace.ip = IP: [accent]{0}
|
trace.ip = IP: [accent]{0}
|
||||||
trace.id = ID: [accent]{0}
|
trace.id = ID: [accent]{0}
|
||||||
@@ -105,26 +110,26 @@ server.custombuild = [yellow]Пользовательская сборка
|
|||||||
confirmban = Вы действительно хотите заблокировать этого игрока?
|
confirmban = Вы действительно хотите заблокировать этого игрока?
|
||||||
confirmkick = Вы действительно хотите выгнать этого игрока?
|
confirmkick = Вы действительно хотите выгнать этого игрока?
|
||||||
confirmunban = Вы действительно хотите разблокировать этого игрока?
|
confirmunban = Вы действительно хотите разблокировать этого игрока?
|
||||||
confirmadmin = Вы уверены, что хотите сделать этого игрока администратором?
|
confirmadmin = Вы действительно хотите сделать этого игрока администратором?
|
||||||
confirmunadmin = Вы действительно хотите убрать этого игрока из администраторов?
|
confirmunadmin = Вы действительно хотите убрать этого игрока из администраторов?
|
||||||
joingame.title = Присоединиться к игре
|
joingame.title = Присоединиться к игре
|
||||||
joingame.ip = IP:
|
joingame.ip = IP:
|
||||||
disconnect = Отключено.
|
disconnect = Отключено.
|
||||||
disconnect.data = Не удалось загрузить данные мира!
|
disconnect.data = Ошибка при загрузке данных мира!
|
||||||
connecting = [accent]Подключение...
|
connecting = [accent]Подключение…
|
||||||
connecting.data = [accent]Загрузка данных мира...
|
connecting.data = [accent]Загрузка данных мира…
|
||||||
server.port = Порт:
|
server.port = Порт:
|
||||||
server.addressinuse = Данный адрес уже используется!
|
server.addressinuse = Данный адрес уже используется!
|
||||||
server.invalidport = Неверный номер порта!
|
server.invalidport = Неверный номер порта!
|
||||||
server.error = [crimson]Ошибка создания сервера: [accent] {0}
|
server.error = [crimson]Ошибка создания сервера: [accent]{0}
|
||||||
save.old = Это сохранение для более старой версии игры и больше не может использоваться.\n\n[LIGHT_GRAY]Совместимость сохранений будет реализована в финальной версии 4.0.
|
save.old = Это сохранение для старой версии игры и больше не может использоваться.\n\n[lightgray]Совместимость сохранений будет реализована в финальной версии 4.0.
|
||||||
save.new = Новое сохранение
|
save.new = Новое сохранение
|
||||||
save.overwrite = Вы уверены,что хотите перезаписать этот слот для сохранения?
|
save.overwrite = Вы уверены, что хотите перезаписать\nэтот слот для сохранения?
|
||||||
overwrite = Перезаписать
|
overwrite = Перезаписать
|
||||||
save.none = Сохранения не найдены!
|
save.none = Сохранения не найдены!
|
||||||
saveload = [accent]Сохранение...
|
saveload = Сохранение…
|
||||||
savefail = Не удалось сохранить игру!
|
savefail = Не удалось сохранить игру!
|
||||||
save.delete.confirm = Вы уверены,что хотите удалить это сохранение?
|
save.delete.confirm = Вы уверены, что хотите удалить это сохранение?
|
||||||
save.delete = Удалить
|
save.delete = Удалить
|
||||||
save.export = Экспортировать сохранение
|
save.export = Экспортировать сохранение
|
||||||
save.import.invalid = [accent]Это сохранение недействительно!
|
save.import.invalid = [accent]Это сохранение недействительно!
|
||||||
@@ -136,17 +141,17 @@ save.rename = Переименовать
|
|||||||
save.rename.text = Новое название:
|
save.rename.text = Новое название:
|
||||||
selectslot = Выберите сохранение.
|
selectslot = Выберите сохранение.
|
||||||
slot = [accent]Слот {0}
|
slot = [accent]Слот {0}
|
||||||
save.corrupted = [accent]Сохранённый файл повреждён или имеет недействительный формат!\nЕсли вы только что обновили свою игру, это, вероятно, из-за изменения формата сохранения, [scarlet]и не является[] ошибкой.
|
save.corrupted = [accent]Сохранённый файл повреждён или имеет недопустимый формат!\nЕсли Вы только что обновили свою игру, это, вероятно, из-за изменения формата сохранения, и [scarlet]не является[] ошибкой.
|
||||||
empty = <Пусто>
|
empty = <Пусто>
|
||||||
on = Вкл
|
on = Вкл
|
||||||
off = Выкл
|
off = Выкл
|
||||||
save.autosave = Автосохранение: {0}
|
save.autosave = Автосохранение: {0}
|
||||||
save.map = Карта: {0}
|
save.map = Карта: {0}
|
||||||
save.wave = Волна: {0}
|
save.wave = Волна {0}
|
||||||
save.difficulty = Сложность: {0}
|
save.difficulty = Сложность: {0}
|
||||||
save.date = Последнее сохранение: {0}
|
save.date = Последнее сохранение: {0}
|
||||||
save.playtime = Время в игре: {0}
|
save.playtime = Время в игре: {0}
|
||||||
warning = Предупреждение
|
warning = Предупреждение.
|
||||||
confirm = Подтверждение
|
confirm = Подтверждение
|
||||||
delete = Удалить
|
delete = Удалить
|
||||||
ok = ОК
|
ok = ОК
|
||||||
@@ -156,19 +161,24 @@ cancel = Отмена
|
|||||||
openlink = Открыть ссылку
|
openlink = Открыть ссылку
|
||||||
copylink = Скопировать ссылку
|
copylink = Скопировать ссылку
|
||||||
back = Назад
|
back = Назад
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
classic.export = Экспортировать данные с классической версии?
|
classic.export = Экспортировать данные с классической версии?
|
||||||
classic.export.text = Классическое (версия 3.5 сборка 40) сохранение или карта были обнаруженыd. Вы хотите экспортировать эти данные в домашнюю папку вашего телефона, для использования в приложении Mindustry Classic?
|
classic.export.text = [accent]Mindustry[] получил глобальное обновление.\nБыло обнаружено Классическое (версия 3.5 сборка 40) сохранение или карта. Вы хотите экспортировать эти сохранения в домашнюю папку вашего телефона, для использования в приложении Mindustry Classic?
|
||||||
quit.confirm = Вы уверены, что хотите выйти?
|
quit.confirm = Вы уверены, что хотите выйти?
|
||||||
quit.confirm.tutorial = Вы уверены, что хотите выйти из обучения?
|
quit.confirm.tutorial = Вы уверены, что знаете Что делаете?\nОбучение может быть повторно запущено через[accent] Настройки->Игра->Открыть обучение.[]
|
||||||
loading = [accent]Загрузка...
|
loading = [accent]Загрузка…
|
||||||
saving = [accent]Сохранение...
|
saving = [accent]Сохранение…
|
||||||
wave = [accent]Волна {0}
|
wave = [accent]Волна {0}
|
||||||
wave.waiting = [LIGHT_GRAY]Волна через {0}
|
wave.waiting = [lightgray]Волна через {0}
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Волна продолжается
|
wave.waveInProgress = [lightgray]Волна продолжается
|
||||||
waiting = Ожидание...
|
waiting = [lightgray]Ожидание…
|
||||||
waiting.players = Ожидание игроков ...
|
waiting.players = Ожидание игроков…
|
||||||
wave.enemies = [LIGHT_GRAY]{0} противник. остался
|
wave.enemies = [lightgray]{0} противник. осталось
|
||||||
wave.enemy = [LIGHT_GRAY]{0} противник остался
|
wave.enemy = [lightgray]{0} противник остался
|
||||||
loadimage = Загрузить изображение
|
loadimage = Загрузить изображение
|
||||||
saveimage = Сохранить изображение
|
saveimage = Сохранить изображение
|
||||||
unknown = Неизвестно
|
unknown = Неизвестно
|
||||||
@@ -176,15 +186,15 @@ custom = Пользовательская
|
|||||||
builtin = Встроенная
|
builtin = Встроенная
|
||||||
map.delete.confirm = Вы действительно хотите удалить эту карту? Это действие не может быть отменено!
|
map.delete.confirm = Вы действительно хотите удалить эту карту? Это действие не может быть отменено!
|
||||||
map.random = [accent]Случайная карта
|
map.random = [accent]Случайная карта
|
||||||
map.nospawn = Эта карта не имеет ни одного ядра, в котором игрок может появиться! Добавьте [ROYAL]оранжевое[] ядро на эту карту в редакторе карт.
|
map.nospawn = Эта карта не имеет ни одного ядра, в котором игрок может появиться! Добавьте[accent] оранжевое[] ядро на эту карту в редакторе.
|
||||||
map.nospawn.pvp = У этой карты нет вражеских ядер, в которых игрок может появиться! Добавьте [SCARLET]не оранжевое[] ядро на эту карту в редакторе.
|
map.nospawn.pvp = У этой карты нет вражеских ядер, в которых игрок может появиться! Добавьте[SCARLET] не оранжевое[] ядро на эту карту в редакторе.
|
||||||
map.nospawn.attack = У этой карты нет вражеских ядер! Добавьте [scarlet]не синее[] ядро на эту карту в редакторе.
|
map.nospawn.attack = У этой карты нет вражеских ядер для атаки игроком! Добавьте[SCARLET] красное[] ядро на эту карту в редакторе.
|
||||||
map.invalid = Ошибка загрузки карты: повреждённый или недопустимый файл карты.
|
map.invalid = Ошибка загрузки карты: повреждённый или недопустимый файл карты.
|
||||||
editor.brush = Кисть
|
editor.brush = Кисть
|
||||||
editor.openin = Открыть в редакторе
|
editor.openin = Открыть в редакторе
|
||||||
editor.oregen = Генерация руд
|
editor.oregen = Генерация руд
|
||||||
editor.oregen.info = Генерация Руд:
|
editor.oregen.info = Генерация руд:
|
||||||
editor.mapinfo = Информация о карте
|
editor.mapinfo = Параметры карты
|
||||||
editor.author = Автор:
|
editor.author = Автор:
|
||||||
editor.description = Описание:
|
editor.description = Описание:
|
||||||
editor.waves = Волны:
|
editor.waves = Волны:
|
||||||
@@ -195,26 +205,26 @@ editor.newmap = Новая карта
|
|||||||
waves.title = Волны
|
waves.title = Волны
|
||||||
waves.remove = Удалить
|
waves.remove = Удалить
|
||||||
waves.never = <никогда>
|
waves.never = <никогда>
|
||||||
waves.every = Каждый
|
waves.every = каждый
|
||||||
waves.waves = волна(ы)
|
waves.waves = волна(ы)
|
||||||
waves.perspawn = за появление
|
waves.perspawn = за появление
|
||||||
waves.to = к
|
waves.to = к
|
||||||
waves.boss = Босс
|
waves.boss = Босс
|
||||||
waves.preview = Предварительный просмотр
|
waves.preview = Предварительный просмотр
|
||||||
waves.edit = Редактировать ...
|
waves.edit = Редактировать …
|
||||||
waves.copy = Копировать в буфер обмена
|
waves.copy = Копировать в буфер обмена
|
||||||
waves.load = Загрузить из буфера обмена
|
waves.load = Загрузить из буфера обмена
|
||||||
waves.invalid = Неверные волны в буфере обмена.
|
waves.invalid = Неверные волны в буфере обмена.
|
||||||
waves.copied = Волны скопированы.
|
waves.copied = Волны скопированы.
|
||||||
waves.none = Враги не были установлены.\nОбратите внимание, что пустая волна будет автоматически заменена обычной волной.
|
waves.none = Враги не были определены.\nОбратите внимание, что пустые волны будут автоматически заменены обычной волной.
|
||||||
editor.default = [LIGHT_GRAY]<По умолчанию>
|
editor.default = [lightgray]<По умолчанию>
|
||||||
edit = Редактировать...
|
edit = Редактировать…
|
||||||
editor.name = Название:
|
editor.name = Название:
|
||||||
editor.spawn = Создать боевую единицу
|
editor.spawn = Создать боевую единицу
|
||||||
editor.removeunit = Удалить боевую единицу
|
editor.removeunit = Удалить боевую единицу
|
||||||
editor.teams = Команды
|
editor.teams = Команды
|
||||||
editor.errorload = Ошибка загрузки изображения: [accent] {0}
|
editor.errorload = Ошибка загрузки файла:\n[accent]{0}
|
||||||
editor.errorsave = Ошибка сохранения изображения: [accent] {0}
|
editor.errorsave = Ошибка сохранения файла:\n[accent]{0}
|
||||||
editor.errorimage = Это изображение, а не карта. Не нужно менять расширение, ожидая, что это сработает.\n\nЕсли Вы хотите импортировать устаревшую карту, то используйте кнопку «Импортировать устаревшее изображение» в редакторе.
|
editor.errorimage = Это изображение, а не карта. Не нужно менять расширение, ожидая, что это сработает.\n\nЕсли Вы хотите импортировать устаревшую карту, то используйте кнопку «Импортировать устаревшее изображение» в редакторе.
|
||||||
editor.errorlegacy = Эта карта слишком старая и использует устаревший формат карты, который больше не поддерживается.
|
editor.errorlegacy = Эта карта слишком старая и использует устаревший формат карты, который больше не поддерживается.
|
||||||
editor.errorheader = Этот файл карты недействителен или повреждён.
|
editor.errorheader = Этот файл карты недействителен или повреждён.
|
||||||
@@ -227,23 +237,23 @@ editor.resize = Изменить\nразмер
|
|||||||
editor.loadmap = Загрузить\nкарту
|
editor.loadmap = Загрузить\nкарту
|
||||||
editor.savemap = Сохранить\nкарту
|
editor.savemap = Сохранить\nкарту
|
||||||
editor.saved = Сохранено!
|
editor.saved = Сохранено!
|
||||||
editor.save.noname = У Вашей карты нет имени! Назовите её в «Информация о карте».
|
editor.save.noname = У Вашей карты нет имени! Назовите её в меню «Информация о карте».
|
||||||
editor.save.overwrite = Ваша карта не может быть записана поверх встроенной карты! Введите другое название в меню «Информация о карте»
|
editor.save.overwrite = Ваша карта не может быть записана поверх встроенной карты! Введите другое название в меню «Информация о карте»
|
||||||
editor.import.exists = [scarlet]Не удалось импортировать: []карта с данным именем уже существует '{0}'!
|
editor.import.exists = [scarlet]Не удалось импортировать:[] карта с именем «{0}» уже существует!
|
||||||
editor.import = Импорт...
|
editor.import = Импорт…
|
||||||
editor.importmap = Импортировать карту
|
editor.importmap = Импортировать карту
|
||||||
editor.importmap.description = Импортировать уже существующую карту
|
editor.importmap.description = Импортировать уже существующую карту
|
||||||
editor.importfile = Импортировать файл
|
editor.importfile = Импортировать файл
|
||||||
editor.importfile.description = Импортировать файл карты из вне
|
editor.importfile.description = Импортировать файл карты извне
|
||||||
editor.importimage = Импортировать устаревшее изображение
|
editor.importimage = Импортировать устаревшее изображение
|
||||||
editor.importimage.description = Импортировать файл с изображением ландшафта
|
editor.importimage.description = Импортировать изображение карты извне
|
||||||
editor.export = Экспорт...
|
editor.export = Экспорт…
|
||||||
editor.exportfile = Экспортировать файл
|
editor.exportfile = Экспортировать файл
|
||||||
editor.exportfile.description = Экспорт файла карты
|
editor.exportfile.description = Экспорт файла карты
|
||||||
editor.exportimage = Экспортировать изображение ландшафта
|
editor.exportimage = Экспортировать изображение ландшафта
|
||||||
editor.exportimage.description = Экспортировать файл с изображением карты
|
editor.exportimage.description = Экспортировать файл с изображением карты
|
||||||
editor.loadimage = Загрузить\nизображение
|
editor.loadimage = Импортировать\nизображение
|
||||||
editor.saveimage = Сохранить\nизображение
|
editor.saveimage = Экспортировать\nизображение
|
||||||
editor.unsaved = [scarlet]У вас есть несохранённые изменения![]\nВы уверены, что хотите выйти?
|
editor.unsaved = [scarlet]У вас есть несохранённые изменения![]\nВы уверены, что хотите выйти?
|
||||||
editor.resizemap = Изменить размер карты
|
editor.resizemap = Изменить размер карты
|
||||||
editor.mapname = Название карты:
|
editor.mapname = Название карты:
|
||||||
@@ -251,20 +261,20 @@ editor.overwrite = [accent]Внимание! \nЭто перезапишет у
|
|||||||
editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?
|
editor.overwrite.confirm = [scarlet]Осторожно![] Карта с таким названием уже существует. Вы действительно хотите её перезаписать?
|
||||||
editor.selectmap = Выберите карту для загрузки:
|
editor.selectmap = Выберите карту для загрузки:
|
||||||
toolmode.replace = Заменить
|
toolmode.replace = Заменить
|
||||||
toolmode.replace.description = Рисует только на сплошных блоках.
|
toolmode.replace.description = Рисует только\nна сплошных блоках.
|
||||||
toolmode.replaceall = Заменить всё
|
toolmode.replaceall = Заменить всё
|
||||||
toolmode.replaceall.description = Заменяет все блоки на карте.
|
toolmode.replaceall.description = Заменяет все\nблоки на карте.
|
||||||
toolmode.orthogonal = Ортогональная
|
toolmode.orthogonal = Ортогональная
|
||||||
toolmode.orthogonal.description = Рисует только ортогональные линии.
|
toolmode.orthogonal.description = Рисует только\nортогональные линии.
|
||||||
toolmode.square = Прямоугольник
|
toolmode.square = Квадрат
|
||||||
toolmode.square.description = Прямоугольная кисть.
|
toolmode.square.description = Квадратная кисть.
|
||||||
toolmode.eraseores = Стереть руды
|
toolmode.eraseores = Стереть руды
|
||||||
toolmode.eraseores.description = Стереть только руды.
|
toolmode.eraseores.description = Стереть только руды.
|
||||||
toolmode.fillteams = Изменить команду блоков
|
toolmode.fillteams = Изменить команду блоков
|
||||||
toolmode.fillteams.description = Изменяет блоки команды.
|
toolmode.fillteams.description = Изменяет принадлежность\nблоков к команде.
|
||||||
toolmode.drawteams = Изменить команду блока
|
toolmode.drawteams = Изменить команду блока
|
||||||
toolmode.drawteams.description = Изменяет блок команды.
|
toolmode.drawteams.description = Изменяет принадлежность\nблока к команде.
|
||||||
filters.empty = [LIGHT_GRAY]Нет фильтров. Добавьте один при помощи кнопки ниже.
|
filters.empty = [lightgray]Нет фильтров! Добавьте один при помощи кнопки ниже.
|
||||||
filter.distort = Искажение
|
filter.distort = Искажение
|
||||||
filter.noise = Шум
|
filter.noise = Шум
|
||||||
filter.median = Медиана
|
filter.median = Медиана
|
||||||
@@ -273,18 +283,18 @@ filter.blend = Смешивание
|
|||||||
filter.defaultores = Руды по умолчанию
|
filter.defaultores = Руды по умолчанию
|
||||||
filter.ore = Руда
|
filter.ore = Руда
|
||||||
filter.rivernoise = Речной шум
|
filter.rivernoise = Речной шум
|
||||||
filter.mirror = Зеркало
|
filter.mirror = Отражение
|
||||||
filter.clear = Очистить
|
filter.clear = Очистить
|
||||||
filter.option.ignore = Игнорировать
|
filter.option.ignore = Игнорировать
|
||||||
filter.scatter = Распылитель
|
filter.scatter = Сеятель
|
||||||
filter.terrain = Ландшафт
|
filter.terrain = Ландшафт
|
||||||
filter.option.scale = Масштаб
|
filter.option.scale = Масштаб фильтра
|
||||||
filter.option.chance = Шанс
|
filter.option.chance = Шанс
|
||||||
filter.option.mag = Величина
|
filter.option.mag = Сила применения
|
||||||
filter.option.threshold = Спад
|
filter.option.threshold = Предельный порог
|
||||||
filter.option.circle-scale = Круговая шкала
|
filter.option.circle-scale = Масштаб круга
|
||||||
filter.option.octaves = Октавы
|
filter.option.octaves = Цикличность применения
|
||||||
filter.option.falloff = Спад
|
filter.option.falloff = Спад цикличности
|
||||||
filter.option.angle = Угол
|
filter.option.angle = Угол
|
||||||
filter.option.block = Блок
|
filter.option.block = Блок
|
||||||
filter.option.floor = Поверхность
|
filter.option.floor = Поверхность
|
||||||
@@ -292,9 +302,9 @@ filter.option.flooronto = Целевая поверхность
|
|||||||
filter.option.wall = Стена
|
filter.option.wall = Стена
|
||||||
filter.option.ore = Руда
|
filter.option.ore = Руда
|
||||||
filter.option.floor2 = Вторая поверхность
|
filter.option.floor2 = Вторая поверхность
|
||||||
filter.option.threshold2 = Вторичный спад
|
filter.option.threshold2 = Вторичный предельный порог
|
||||||
filter.option.radius = Радиус
|
filter.option.radius = Радиус
|
||||||
filter.option.percentile = Спад
|
filter.option.percentile = Процентиль
|
||||||
width = Ширина:
|
width = Ширина:
|
||||||
height = Высота:
|
height = Высота:
|
||||||
menu = Меню
|
menu = Меню
|
||||||
@@ -304,51 +314,51 @@ load = Загрузить
|
|||||||
save = Сохранить
|
save = Сохранить
|
||||||
fps = FPS: {0}
|
fps = FPS: {0}
|
||||||
tps = TPS: {0}
|
tps = TPS: {0}
|
||||||
ping = Пинг: {0} мс
|
ping = Пинг: {0}мс
|
||||||
language.restart = Перезагрузите игру, чтобы языковые настройки вступили в силу.
|
language.restart = Перезагрузите игру, чтобы языковые настройки вступили в силу.
|
||||||
settings = Настройки
|
settings = Настройки
|
||||||
tutorial = Обучение
|
tutorial = Обучение
|
||||||
tutorial.retake = Открыть обучение
|
tutorial.retake = Перепройти обучение
|
||||||
editor = Редактор
|
editor = Редактор
|
||||||
mapeditor = Редактор карт
|
mapeditor = Редактор карт
|
||||||
donate = Пожертво\nвать
|
donate = Пожертво\nвать
|
||||||
abandon = Покинуть
|
abandon = Покинуть
|
||||||
abandon.text = Эта зона и все ресурсы будут потеряны.
|
abandon.text = Эта зона и все её ресурсы будут отданы противнику.
|
||||||
locked = Заблокировано
|
locked = Заблокировано
|
||||||
complete = [LIGHT_GRAY]Достигнута:
|
complete = [lightgray]Достигнута:
|
||||||
zone.requirement = Волна {0} в зоне {1}
|
zone.requirement = Волна {0} в зоне {1}
|
||||||
resume = Возобновить зону:\n[LIGHT_GRAY]{0}
|
resume = Возобновить зону:\n[lightgray]{0}
|
||||||
bestwave = [LIGHT_GRAY]Наилучшая волна: {0}
|
bestwave = [lightgray]Наилучшая волна: {0}
|
||||||
launch = < ЗАПУСК >
|
launch = < ЗАПУСК >
|
||||||
launch.title = Запуск успешен
|
launch.title = Запуск успешен
|
||||||
launch.next = [LIGHT_GRAY]Cледующая возможность на {0}-той волне
|
launch.next = [lightgray]Cледующая возможность на {0}-той волне
|
||||||
launch.unable2 = [scarlet]ЗАПУСК невозможен.[]
|
launch.unable2 = [scarlet]ЗАПУСК невозможен.[]
|
||||||
launch.confirm = Это удалит все ресурсы в Вашем ядре.\nВы не сможете вернуться на эту базу.
|
launch.confirm = Это [accent]запустит[] все ресурсы в Вашем ядре.\nВы не сможете вернуться на эту базу.
|
||||||
launch.skip.confirm = Если вы пропустите сейчас, вы не сможете запустить до более поздних волн.
|
launch.skip.confirm = Если Вы пропустите сейчас, то Вы не сможете произвести [accent]запуск[] до более поздних волн.
|
||||||
uncover = Раскрыть
|
uncover = Раскрыть
|
||||||
configure = Выгрузить конфигурацию
|
configure = Выгрузить конфигурацию
|
||||||
configure.locked = [LIGHT_GRAY]Возможность разблокировки выгрузки ресурсов будет доступна на {0}-ой волне.
|
configure.locked = [lightgray]Возможность разблокировки выгрузки ресурсов будет доступна на {0}-ой волне.
|
||||||
zone.unlocked = Зона «[LIGHT_GRAY]{0}» теперь разблокирована.
|
zone.unlocked = Зона «[lightgray]{0}» теперь разблокирована.
|
||||||
zone.requirement.complete = Вы достигли {0}-ой волны,\nУсловия для зоны «{1}» выполнены.
|
zone.requirement.complete = Вы достигли {0}-ой волны,\nУсловия для зоны «{1}» выполнены.
|
||||||
zone.config.complete = Вы достигли {0}-ой волны,\Возможность выгрузки ресурсов теперь разблокирована.
|
zone.config.complete = Вы достигли {0}-ой волны,Возможность выгрузки ресурсов теперь разблокирована.
|
||||||
zone.resources = Обнаруженные ресурсы:
|
zone.resources = [lightgray]Обнаруженные ресурсы:
|
||||||
zone.objective = [lightgray]Цель: [accent]{0}
|
zone.objective = [lightgray]Цель: [accent]{0}
|
||||||
zone.objective.survival = Выжить
|
zone.objective.survival = Выжить
|
||||||
zone.objective.attack = Уничтожить вражеское ядро
|
zone.objective.attack = Уничтожить вражеское ядро
|
||||||
add = Добавить...
|
add = Добавить…
|
||||||
boss.health = Здоровье босса
|
boss.health = Здоровье босса
|
||||||
connectfail = [crimson]Ошибка подключения: [accent] {0}
|
connectfail = [crimson]Ошибка подключения:\n\n[accent]{0}
|
||||||
error.unreachable = Сервер недоступен.
|
error.unreachable = Сервер недоступен.\nВы уверены, что адрес введён корректно?
|
||||||
error.invalidaddress = Некорректный адрес.
|
error.invalidaddress = Некорректный адрес.
|
||||||
error.timedout = Время ожидания истекло!\nУбедитесь, что владелец сервера настроен для перенаправления портов и адрес корректный!
|
error.timedout = Время ожидания истекло!\nУбедитесь, что владелец сервера настроил перенаправление (проброс) портов и адрес корректный!
|
||||||
error.mismatch = Ошибка пакета:\nвозможное несоответствие версии клиента/сервера. \nУбедитесь, что у Вас и у создателя сервера установлена последняя версия Mindustry!
|
error.mismatch = Ошибка пакета:\nвозможное несоответствие версии клиента/сервера.\nУбедитесь, что у Вас и создателя сервера установлена последняя версия Mindustry!
|
||||||
error.alreadyconnected = Вы уже подключены.
|
error.alreadyconnected = Вы уже подключены.
|
||||||
error.mapnotfound = Файл карты не найден!
|
error.mapnotfound = Файл карты не найден!
|
||||||
error.io = Сетевая ошибка ввода-вывода.
|
error.io = Сетевая ошибка ввода-Вывода.
|
||||||
error.any = Неизвестная сетевая ошибка.
|
error.any = Неизвестная сетевая ошибка.
|
||||||
error.bloom = Не удалось инициализировать цветение.\nВозможно, ваше устройство не поддерживает это.
|
error.bloom = Не удалось инициализировать свечение (Bloom).\nВозможно, ваше устройство не поддерживает его.
|
||||||
zone.groundZero.name = Нулевая земля
|
zone.groundZero.name = Отправная точка
|
||||||
zone.desertWastes.name = Пустынный мусор
|
zone.desertWastes.name = Покинутые пустоши
|
||||||
zone.craters.name = Кратеры
|
zone.craters.name = Кратеры
|
||||||
zone.frozenForest.name = Ледяной Лес
|
zone.frozenForest.name = Ледяной Лес
|
||||||
zone.ruinousShores.name = Разрушенные берега
|
zone.ruinousShores.name = Разрушенные берега
|
||||||
@@ -356,34 +366,36 @@ zone.stainedMountains.name = Окрашенные горы
|
|||||||
zone.desolateRift.name = Пустынный разлом
|
zone.desolateRift.name = Пустынный разлом
|
||||||
zone.nuclearComplex.name = Ядерный производственный комплекс
|
zone.nuclearComplex.name = Ядерный производственный комплекс
|
||||||
zone.overgrowth.name = Заросли
|
zone.overgrowth.name = Заросли
|
||||||
zone.tarFields.name = Дёгтяные поля
|
zone.tarFields.name = Дёгтярные поля
|
||||||
zone.saltFlats.name = Соляные равнины
|
zone.saltFlats.name = Соляные равнины
|
||||||
zone.impact0078.name = Импульс 0078
|
zone.impact0078.name = Воздействие 0078
|
||||||
zone.crags.name = Скалы
|
zone.crags.name = Скалы
|
||||||
zone.groundZero.description = Оптимальная локация для повторных игр. Низкая вражеская угроза. Мало ресурсов.\nПолучите как можно больше меди и свинца.\nДвигайтесь дальше.
|
zone.fungalPass.name = Грибной перевал
|
||||||
zone.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Холодные температуры не могут сдерживать их вечно. \nОтважтесь создать энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором.
|
zone.groundZero.description = Оптимальная локация для повторных игр. Низкая вражеская угроза. Немного ресурсов.\nСоберите как можно больше свинца и меди.\nДвигайтесь дальше.
|
||||||
zone.desertWastes.description = Эти отходы огромны, непредсказуемы и перекрещены с заброшенными секторальными структурами.\nУголь присутствует в регионе. Сожгите его для энергии, или синтезируйте в графит.\n\n[lightgray]Это место посадки не может быть гарантировано.
|
zone.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Холодные температуры не могут сдерживать их вечно.\n\nНачните вкладываться в энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором.
|
||||||
zone.saltFlats.description = На окраине пустыни лежат соляные равнины. В этом месте можно найти немного ресурсов.\n\nВраги построили здесь ресурсный комплекс. Искорените их ядро. Оставьте ничего стоящего.
|
zone.desertWastes.description = Эти пустоши огромны, непредсказуемы и пронизаны заброшенными секторальными структурами.\nВ регионе представлен уголь. Сожгите его для энергии, или синтезируйте в графит.\n\n[lightgray]Место посадки здесь может не быть гарантировано.
|
||||||
zone.craters.description = В этом кратере скопилась вода, пережиток старых войн. Восстановите область. Соберите песок. Выплавите метастекло. Закачивайте воду для охлаждения турелей и дрелей.
|
zone.saltFlats.description = На окраине пустыни лежат соляные равнины. В этой местности можно найти немного ресурсов.\n\nВраги возвели здесь комплекс хранения ресурсов. Искорените их ядро. Не оставьте камня на камне.
|
||||||
zone.ruinousShores.description = Мимо отходов, это береговая линия. Когда-то здесь находился массив береговой обороны. Не так много осталось. Только самые основные оборонительные сооружения остались невредимыми, все остальное раздроблено на металлолом.\nПродолжайте экспансию наружу. Откройте для себя технологию.
|
zone.craters.description = В этом кратере скопилась вода, реликвия времён старых войн. Восстановите область. Соберите песок. Выплавите метастекло. Выкачайте воду для охлаждения турелей и буров.
|
||||||
zone.stainedMountains.description = Дальше вглубь материка лежат горы, но не заражённые спорами.\nИзвлеките изобилие титана в этой области. Узнайте, как его использовать.\n\nВражеское присутствие здесь больше. Не дайте им время, чтобы отправлять свои сильнейшие боевые единицы.
|
zone.ruinousShores.description = Мимо пустошей проходит береговая линия. Когда-то здесь располагался массив береговой обороны. Не так много от него осталось. Только самые базовые оборонительные сооружения остались невредимыми, всё остальное превратилось в металлолом.\nПродолжайте экспансию во вне. Переоткройте для себя технологии.
|
||||||
zone.overgrowth.description = Эта область заросла и находится ближе к источнику спор.\nВраг создал здесь форпост. Постройте боевые единицы Кинжал. Уничтожьте его. Восстановите то, что было потеряно.
|
zone.stainedMountains.description = Дальше вглубь местности лежат горы, еще не запятнанные спорами.\nИзвлеките изобилие титана в этой области. Узнайте, как его использовать.\n\nВражеское присутствие здесь сильнее. Не дайте им времени для отправки своих сильнейших боевых единиц.
|
||||||
zone.tarFields.description = Окраина зоны нефтедобычи, между горами и пустыней. Один из немногих районов с доступными запасами смолы.\nХотя область заброшенна, у неё есть некоторые опасные вражеские силы поблизости. Не стоит их недооценивать.\n\n[lightgray]Исследуйте технологию переработки нефти, если это возможно.
|
zone.overgrowth.description = Эта заросшая область находится ближе к источнику спор.\nВраг организовал здесь форпост. Постройте боевые единицы «Титан». Уничтожьте его. Верните то, что было потеряно.
|
||||||
zone.desolateRift.description = Чрезвычайно опасная зона. Много ресурсов, но мало места. Эвакуироваться нужно как можно скорее. Не расслабляйтесь между вражескими атаками
|
zone.tarFields.description = Окраина зоны нефтедобычи, между горами и пустыней. Один из немногих районов с полезными запасами дёгтя.\nХотя область заброшенна, в этой области присутствуют поблизости некоторые опасные вражеские силы. Не стоит их недооценивать.\n\n[lightgray]Исследуйте технологию переработки нефти, если возможно.
|
||||||
zone.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и его многократное использование.\n\nВраг здесь присутствует в большом количестве, постоянно разыскивая нападавших.
|
zone.desolateRift.description = Чрезвычайно опасная зона. Обилие ресурсов, но мало места. Высокий риск разрушения. Эвакуироваться нужно как можно скорее. Не расслабляйтесь во время больших перерывов между вражескими атаками.
|
||||||
zone.fungalPass.description = Переходная зона между высокими и низкими горами, покрытыми спорами землями. Здесь находится небольшая разведывательная база противника. \nУничтожьте ее. \nИспользуйте подразделения Кинжала и Камикадзе.
|
zone.nuclearComplex.description = Бывший завод по производству и переработке тория, превращенный в руины.\n[lightgray]Исследуйте торий и варианты его многочисленного применения.\n\nВраг присутствует здесь в большом числе, постоянно разведывая нападающих.
|
||||||
|
zone.fungalPass.description = Переходная область между высокими горами и более низкими, покрытыми спорами землями. Здесь расположена небольшая разведывательная база противника.\nУничтожьте ее.\nИспользуйте единицы «Кинжал» и «Камикадзе». Достаньте до обоих ядер.
|
||||||
zone.impact0078.description = <вставить описание здесь>
|
zone.impact0078.description = <вставить описание здесь>
|
||||||
zone.crags.description = <вставить описание здесь>
|
zone.crags.description = <вставить описание здесь>
|
||||||
settings.language = Язык
|
settings.language = Язык
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Сбросить по умолчанию
|
settings.reset = Сбросить по умолчанию
|
||||||
settings.rebind = Смена
|
settings.rebind = Смена
|
||||||
settings.controls = Управление
|
settings.controls = Управление
|
||||||
settings.game = Игра
|
settings.game = Игра
|
||||||
settings.sound = Звук
|
settings.sound = Звук
|
||||||
settings.graphics = Графика
|
settings.graphics = Графика
|
||||||
settings.cleardata = Очистить данные ...
|
settings.cleardata = Очистить данные…
|
||||||
settings.clear.confirm = Вы действительно хотите очистить свои данные?\nЭто нельзя отменить!
|
settings.clear.confirm = Вы действительно хотите очистить свои данные?\nЭто нельзя отменить!
|
||||||
settings.clearall.confirm = [scarlet]ОСТОРОЖНО![]\nЭто уничтожит все данные, включая сохранения, карты, разблокированное и настройки управления.\nПосле того как вы нажмете ОК, игра уничтожит все данные и автоматически закроется.
|
settings.clearall.confirm = [scarlet]ОСТОРОЖНО![]\nЭто уничтожит все данные, включая сохранения, карты, разблокированное и настройки управления.\nПосле того как Вы нажмете ОК, игра уничтожит все данные и автоматически закроется.
|
||||||
settings.clearunlocks = Очистить разблокированное
|
settings.clearunlocks = Очистить разблокированное
|
||||||
settings.clearall = Очистить всё
|
settings.clearall = Очистить всё
|
||||||
paused = Пауза
|
paused = Пауза
|
||||||
@@ -398,7 +410,7 @@ blocks.output = Выход
|
|||||||
blocks.booster = Ускоритель
|
blocks.booster = Ускоритель
|
||||||
block.unknown = [LIGHT_GRAY]???
|
block.unknown = [LIGHT_GRAY]???
|
||||||
blocks.powercapacity = Вместимость энергии
|
blocks.powercapacity = Вместимость энергии
|
||||||
blocks.powershot = Энергия/выстрел
|
blocks.powershot = Энергия/Выстрел
|
||||||
blocks.damage = Урон
|
blocks.damage = Урон
|
||||||
blocks.targetsair = Воздушные цели
|
blocks.targetsair = Воздушные цели
|
||||||
blocks.targetsground = Наземные цели
|
blocks.targetsground = Наземные цели
|
||||||
@@ -418,7 +430,6 @@ blocks.speedincrease = Увеличение скорости
|
|||||||
blocks.range = Радиус действия
|
blocks.range = Радиус действия
|
||||||
blocks.drilltier = Добывает
|
blocks.drilltier = Добывает
|
||||||
blocks.drillspeed = Базовая скорость бурения
|
blocks.drillspeed = Базовая скорость бурения
|
||||||
blocks.drilltierreq = Требуется лучший бур
|
|
||||||
blocks.boosteffect = Ускоряющий эффект
|
blocks.boosteffect = Ускоряющий эффект
|
||||||
blocks.maxunits = Максимальное количество активных единиц
|
blocks.maxunits = Максимальное количество активных единиц
|
||||||
blocks.health = Здоровье
|
blocks.health = Здоровье
|
||||||
@@ -466,7 +477,7 @@ category.general = Основные
|
|||||||
category.power = Энергия
|
category.power = Энергия
|
||||||
category.liquids = Жидкости
|
category.liquids = Жидкости
|
||||||
category.items = Предметы
|
category.items = Предметы
|
||||||
category.crafting = Ввод/вывод
|
category.crafting = Ввод/Вывод
|
||||||
category.shooting = Стрельба
|
category.shooting = Стрельба
|
||||||
category.optional = Дополнительные улучшения
|
category.optional = Дополнительные улучшения
|
||||||
setting.landscape.name = Только альбомный(горизонтальный) режим
|
setting.landscape.name = Только альбомный(горизонтальный) режим
|
||||||
@@ -475,7 +486,7 @@ setting.linear.name = Линейная фильтрация
|
|||||||
setting.animatedwater.name = Анимированная вода
|
setting.animatedwater.name = Анимированная вода
|
||||||
setting.animatedshields.name = Анимированные щиты
|
setting.animatedshields.name = Анимированные щиты
|
||||||
setting.antialias.name = Сглаживание[LIGHT_GRAY] (требует перезапуска)[]
|
setting.antialias.name = Сглаживание[LIGHT_GRAY] (требует перезапуска)[]
|
||||||
setting.indicators.name = Показывать в сторону союзников и врагов
|
setting.indicators.name = Отображать индикаторы расположения союзников и врагов
|
||||||
setting.autotarget.name = Авто-стрельба
|
setting.autotarget.name = Авто-стрельба
|
||||||
setting.keyboard.name = Мышь+Управление с клавиатуры
|
setting.keyboard.name = Мышь+Управление с клавиатуры
|
||||||
setting.fpscap.name = Максимальный FPS
|
setting.fpscap.name = Максимальный FPS
|
||||||
@@ -488,10 +499,10 @@ setting.difficulty.easy = Лёгкая
|
|||||||
setting.difficulty.normal = Нормальная
|
setting.difficulty.normal = Нормальная
|
||||||
setting.difficulty.hard = Сложная
|
setting.difficulty.hard = Сложная
|
||||||
setting.difficulty.insane = Зачистка
|
setting.difficulty.insane = Зачистка
|
||||||
setting.difficulty.name = Складність:
|
setting.difficulty.name = Сложность:
|
||||||
setting.screenshake.name = Тряска экрана
|
setting.screenshake.name = Тряска экрана
|
||||||
setting.effects.name = Эффекты
|
setting.effects.name = Эффекты
|
||||||
setting.sensitivity.name = Чувствительность контроллера
|
setting.sensitivity.name = Чувствительность контроллёра
|
||||||
setting.saveinterval.name = Интервал сохранения
|
setting.saveinterval.name = Интервал сохранения
|
||||||
setting.seconds = {0} сек.
|
setting.seconds = {0} сек.
|
||||||
setting.fullscreen.name = Полноэкранный режим
|
setting.fullscreen.name = Полноэкранный режим
|
||||||
@@ -504,12 +515,13 @@ setting.minimap.name = Показать миникарту
|
|||||||
setting.musicvol.name = Громкость музыки
|
setting.musicvol.name = Громкость музыки
|
||||||
setting.ambientvol.name = Звуки окружающей среды
|
setting.ambientvol.name = Звуки окружающей среды
|
||||||
setting.mutemusic.name = Заглушить музыку
|
setting.mutemusic.name = Заглушить музыку
|
||||||
setting.sfxvol.name = Громкость звуковых эффектов
|
setting.sfxvol.name = Громкость звукоВых эффектов
|
||||||
setting.mutesound.name = Заглушить звук
|
setting.mutesound.name = Заглушить звук
|
||||||
setting.crashreport.name = Отправлять анонимные отчёты о вылетах
|
setting.crashreport.name = Отправлять анонимные отчёты о Вылетах
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Непрозрачность чата
|
setting.chatopacity.name = Непрозрачность чата
|
||||||
setting.playerchat.name = Отображать чат в игре
|
setting.playerchat.name = Отображать чат в игре
|
||||||
uiscale.reset = Масштаб пользовательского интерфейса был изменён.\nНажмите «ОК» для подтверждения этого масштаба.\n[scarlet]Возврат настроек и выход через[accent] {0}[] ...
|
uiscale.reset = Масштаб пользовательского интерфейса был изменён.\nНажмите «ОК» для подтверждения этого масштаба.\n[scarlet]Возврат настроек и выход через[accent] {0}[]…
|
||||||
uiscale.cancel = Отменить & Выйти
|
uiscale.cancel = Отменить & Выйти
|
||||||
setting.bloom.name = Свечение
|
setting.bloom.name = Свечение
|
||||||
keybind.title = Настройка управления
|
keybind.title = Настройка управления
|
||||||
@@ -522,11 +534,12 @@ command.retreat = Отступить
|
|||||||
command.patrol = Патрулирование
|
command.patrol = Патрулирование
|
||||||
keybind.gridMode.name = Выбрать блок
|
keybind.gridMode.name = Выбрать блок
|
||||||
keybind.gridModeShift.name = Выбрать категорию
|
keybind.gridModeShift.name = Выбрать категорию
|
||||||
keybind.press = Нажмите клавишу...
|
keybind.press = Нажмите клавишу…
|
||||||
keybind.press.axis = Нажмите клавишу...
|
keybind.press.axis = Нажмите клавишу…
|
||||||
keybind.screenshot.name = Скриншот карты
|
keybind.screenshot.name = Скриншот карты
|
||||||
keybind.move_x.name = Движение по оси x
|
keybind.move_x.name = Движение по оси x
|
||||||
keybind.move_y.name = Движение по оси y
|
keybind.move_y.name = Движение по оси y
|
||||||
|
keybind.fullscreen.name = Полноэкранний режим
|
||||||
keybind.select.name = Выбор/Выстрел
|
keybind.select.name = Выбор/Выстрел
|
||||||
keybind.diagonal_placement.name = Диагональное размещение
|
keybind.diagonal_placement.name = Диагональное размещение
|
||||||
keybind.pick.name = Выбрать блок
|
keybind.pick.name = Выбрать блок
|
||||||
@@ -553,18 +566,18 @@ mode.help.title = Описание режимов
|
|||||||
mode.survival.name = Выживание
|
mode.survival.name = Выживание
|
||||||
mode.survival.description = Обычный режим. В этом режиме надо самим добывать ресурсы и сами волны идут автоматически. \n[gray]Требуются точки появления врагов для игры.
|
mode.survival.description = Обычный режим. В этом режиме надо самим добывать ресурсы и сами волны идут автоматически. \n[gray]Требуются точки появления врагов для игры.
|
||||||
mode.sandbox.name = Песочница
|
mode.sandbox.name = Песочница
|
||||||
mode.sandbox.description = Бесконечные ресурсы и нет таймера для волн, но можно самим вызвать волну.
|
mode.sandbox.description = Бесконечные ресурсы и нет таймера для волн, но можно самим Вызвать волну.
|
||||||
mode.pvp.name = PvP
|
mode.pvp.name = PvP
|
||||||
mode.pvp.description = Боритесь против других игроков.\n[gray]Для игры требуется как минимум 2 ядра разного цвета на карте.
|
mode.pvp.description = Боритесь против других игроков.\n[gray]Для игры требуется как минимум 2 ядра разного цвета на карте.
|
||||||
mode.attack.name = Атака
|
mode.attack.name = Атака
|
||||||
mode.attack.description = Уничтожь вражескую базу.\n[gray]Для игры требуется красное ядро на карте.
|
mode.attack.description = Уничтожь вражескую базу.\n[gray]Для игры требуется красное ядро на карте.
|
||||||
mode.custom = Настройки правил
|
mode.custom = Настройки правил
|
||||||
rules.infiniteresources = Бескон. Ресурсы (Игрок)
|
rules.infiniteresources = Бескон. ресурсы (Игрок)
|
||||||
rules.wavetimer = Интервал волн
|
rules.wavetimer = Интервал волн
|
||||||
rules.waves = Волны
|
rules.waves = Волны
|
||||||
rules.attack = Режим атаки
|
rules.attack = Режим атаки
|
||||||
rules.enemyCheat = Бескон. ресурсы (ИИ)
|
rules.enemyCheat = Бескон. ресурсы (ИИ)
|
||||||
rules.unitdrops = Ресурсы боевых единиц
|
rules.unitdrops = Ресурсы боеВых единиц
|
||||||
rules.unitbuildspeedmultiplier = Множитель скорости производства боев. ед.
|
rules.unitbuildspeedmultiplier = Множитель скорости производства боев. ед.
|
||||||
rules.unithealthmultiplier = Множитель здоровья боев. ед.
|
rules.unithealthmultiplier = Множитель здоровья боев. ед.
|
||||||
rules.playerhealthmultiplier = Множитель здоровья игрока
|
rules.playerhealthmultiplier = Множитель здоровья игрока
|
||||||
@@ -576,7 +589,7 @@ rules.wavespacing = Интервал волн: [LIGHT_GRAY] (сек)
|
|||||||
rules.buildcostmultiplier = Множитель затрат на строительство
|
rules.buildcostmultiplier = Множитель затрат на строительство
|
||||||
rules.buildspeedmultiplier = Множитель скорости строительства
|
rules.buildspeedmultiplier = Множитель скорости строительства
|
||||||
rules.waitForWaveToEnd = Волны ожидают врагов
|
rules.waitForWaveToEnd = Волны ожидают врагов
|
||||||
rules.dropzoneradius = Радиус зоны высадки врагов:[LIGHT_GRAY] (блоков)
|
rules.dropzoneradius = Радиус зоны Высадки врагов:[LIGHT_GRAY] (блоков)
|
||||||
rules.respawns = Макс. кол-во возрождений за волну
|
rules.respawns = Макс. кол-во возрождений за волну
|
||||||
rules.limitedRespawns = Ограничение возрождений
|
rules.limitedRespawns = Ограничение возрождений
|
||||||
rules.title.waves = Волны
|
rules.title.waves = Волны
|
||||||
@@ -587,7 +600,7 @@ rules.title.enemy = Враги
|
|||||||
rules.title.unit = Бой. ед.
|
rules.title.unit = Бой. ед.
|
||||||
content.item.name = Предметы
|
content.item.name = Предметы
|
||||||
content.liquid.name = Жидкости
|
content.liquid.name = Жидкости
|
||||||
content.unit.name = Боевые единицы
|
content.unit.name = БоеВые единицы
|
||||||
content.block.name = Блоки
|
content.block.name = Блоки
|
||||||
content.mech.name = Мехи
|
content.mech.name = Мехи
|
||||||
item.copper.name = Медь
|
item.copper.name = Медь
|
||||||
@@ -606,7 +619,7 @@ item.blast-compound.name = Взрывная смесь
|
|||||||
item.pyratite.name = Пиротит
|
item.pyratite.name = Пиротит
|
||||||
item.metaglass.name = Метастекло
|
item.metaglass.name = Метастекло
|
||||||
item.scrap.name = Металлолом
|
item.scrap.name = Металлолом
|
||||||
iquid.water.name = Вода
|
liquid.water.name = Вода
|
||||||
liquid.slag.name = Шлак
|
liquid.slag.name = Шлак
|
||||||
liquid.oil.name = Нефть
|
liquid.oil.name = Нефть
|
||||||
liquid.cryofluid.name = Криогенная жидкость
|
liquid.cryofluid.name = Криогенная жидкость
|
||||||
@@ -646,25 +659,24 @@ mech.buildspeed = [LIGHT_GRAY]Скорость строительства: {0}%
|
|||||||
liquid.heatcapacity = [LIGHT_GRAY]Теплоёмкость: {0}
|
liquid.heatcapacity = [LIGHT_GRAY]Теплоёмкость: {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]Вязкость: {0}
|
liquid.viscosity = [LIGHT_GRAY]Вязкость: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]Температура: {0}
|
liquid.temperature = [LIGHT_GRAY]Температура: {0}
|
||||||
block.sand-boulder.name = Sand Boulder
|
|
||||||
block.grass.name = Трава
|
|
||||||
block.sand-boulder.name = Песочный валун
|
block.sand-boulder.name = Песочный валун
|
||||||
|
block.grass.name = Трава
|
||||||
block.salt.name = Соль
|
block.salt.name = Соль
|
||||||
block.saltrocks.name = Соляные Камни
|
block.saltrocks.name = Соляные Камни
|
||||||
block.pebbles.name = Галька
|
block.pebbles.name = Галька
|
||||||
block.tendrils.name = Щупальца
|
block.tendrils.name = Щупальца
|
||||||
block.sandrocks.name = Песчаные Скалы
|
block.sandrocks.name = Песчаные Скалы
|
||||||
block.spore-pine.name = Споровая сосна
|
block.spore-pine.name = Споровая сосна
|
||||||
block.sporerocks.name = Споровые камни
|
block.sporerocks.name = СпороВые камни
|
||||||
block.rock.name = Камень
|
block.rock.name = Камень
|
||||||
block.snowrock.name = Снежный камень
|
block.snowrock.name = Снежный камень
|
||||||
block.snow-pine.name = Снежные сосны
|
block.snow-pine.name = Снежные сосны
|
||||||
block.shale.name = Сланец
|
block.shale.name = Сланец
|
||||||
block.shale-boulder.name = Сланцевый валун
|
block.shale-boulder.name = СланцеВый валун
|
||||||
block.moss.name = Мох
|
block.moss.name = Мох
|
||||||
block.shrubs.name = Кусты
|
block.shrubs.name = Кусты
|
||||||
block.spore-moss.name = Споровый Мох
|
block.spore-moss.name = СпороВый Мох
|
||||||
block.shalerocks.name = Сланцевые Породы
|
block.shalerocks.name = СланцеВые Породы
|
||||||
block.scrap-wall.name = Стена из металлолома
|
block.scrap-wall.name = Стена из металлолома
|
||||||
block.scrap-wall-large.name = Великая стена из металлолома
|
block.scrap-wall-large.name = Великая стена из металлолома
|
||||||
block.scrap-wall-huge.name = Огромная стена из металлолома
|
block.scrap-wall-huge.name = Огромная стена из металлолома
|
||||||
@@ -681,7 +693,7 @@ block.core-nucleus.name = Ядро «Атом»
|
|||||||
block.deepwater.name = Глубоководье
|
block.deepwater.name = Глубоководье
|
||||||
block.water.name = Вода
|
block.water.name = Вода
|
||||||
block.tainted-water.name = Загрязнённая вода
|
block.tainted-water.name = Загрязнённая вода
|
||||||
block.darksand-tainted-water.name = Тёмный песок с загрязнённой вода
|
block.darksand-tainted-water.name = Тёмный песок с загрязнённой водой
|
||||||
block.tar.name = Дёготь
|
block.tar.name = Дёготь
|
||||||
block.stone.name = Камень
|
block.stone.name = Камень
|
||||||
block.sand.name = Песок
|
block.sand.name = Песок
|
||||||
@@ -716,7 +728,7 @@ block.dark-panel-6.name = Тёмная панель 6
|
|||||||
block.dark-metal.name = Тёмный металл
|
block.dark-metal.name = Тёмный металл
|
||||||
block.ignarock.name = Магматические горные породы
|
block.ignarock.name = Магматические горные породы
|
||||||
block.hotrock.name = Горячий камень
|
block.hotrock.name = Горячий камень
|
||||||
block.magmarock.name = Магмовый камень
|
block.magmarock.name = МагмоВый камень
|
||||||
block.cliffs.name = Скалы
|
block.cliffs.name = Скалы
|
||||||
block.copper-wall.name = Медная стена
|
block.copper-wall.name = Медная стена
|
||||||
block.copper-wall-large.name = Большая медная стена
|
block.copper-wall-large.name = Большая медная стена
|
||||||
@@ -734,14 +746,14 @@ block.scatter.name = Рассеиватель
|
|||||||
block.hail.name = Град
|
block.hail.name = Град
|
||||||
block.lancer.name = Копейщик
|
block.lancer.name = Копейщик
|
||||||
block.conveyor.name = Конвейер
|
block.conveyor.name = Конвейер
|
||||||
block.titanium-conveyor.name = Титановый конвейер
|
block.titanium-conveyor.name = ТитаноВый конвейер
|
||||||
block.junction.name = Перекрёсток
|
block.junction.name = Перекрёсток
|
||||||
block.router.name = Маршрутизатор
|
block.router.name = Маршрутизатор
|
||||||
block.distributor.name = Разветвитель
|
block.distributor.name = Разветвитель
|
||||||
block.sorter.name = Сортировщик
|
block.sorter.name = Сортировщик
|
||||||
block.overflow-gate.name = Избыточный затвор
|
block.overflow-gate.name = Избыточный затвор
|
||||||
block.silicon-smelter.name = Кремниевый плавильный завод
|
block.silicon-smelter.name = КремниеВый плавильный завод
|
||||||
block.phase-weaver.name = Фазовый ткач
|
block.phase-weaver.name = ФазоВый ткач
|
||||||
block.pulverizer.name = Измельчитель
|
block.pulverizer.name = Измельчитель
|
||||||
block.cryofluidmixer.name = Мешалка криогенной жидкости
|
block.cryofluidmixer.name = Мешалка криогенной жидкости
|
||||||
block.melter.name = Плавильня
|
block.melter.name = Плавильня
|
||||||
@@ -783,14 +795,15 @@ block.wave.name = Волна
|
|||||||
block.swarmer.name = Роевик
|
block.swarmer.name = Роевик
|
||||||
block.salvo.name = Залп
|
block.salvo.name = Залп
|
||||||
block.ripple.name = Рябь
|
block.ripple.name = Рябь
|
||||||
block.phase-conveyor.name = Фазовый конвейер
|
block.phase-conveyor.name = ФазоВый конвейер
|
||||||
block.bridge-conveyor.name = Мостовой конвейер
|
block.bridge-conveyor.name = Мостовой конвейер
|
||||||
block.plastanium-compressor.name = Пластиниевый компрессор
|
block.plastanium-compressor.name = ПластиниеВый компрессор
|
||||||
block.pyratite-mixer.name = Мешалка пиротита
|
block.pyratite-mixer.name = Мешалка пиротита
|
||||||
block.blast-mixer.name = Мешалка взрывоопасного соединения
|
block.blast-mixer.name = Мешалка взрывоопасного соединения
|
||||||
block.solar-panel.name = Солнечная панель
|
block.solar-panel.name = Солнечная панель
|
||||||
block.solar-panel-large.name = Большая солнечная панель
|
block.solar-panel-large.name = Большая солнечная панель
|
||||||
block.oil-extractor.name = Нефтяная вышка
|
block.oil-extractor.name = Нефтяная вышка
|
||||||
|
block.command-center.name = Командный центр
|
||||||
block.draug-factory.name = Завод дронов «Драугр»
|
block.draug-factory.name = Завод дронов «Драугр»
|
||||||
block.spirit-factory.name = Завод ремонтных дронов «Призрак»
|
block.spirit-factory.name = Завод ремонтных дронов «Призрак»
|
||||||
block.phantom-factory.name = Завод строительных дронов «Фантом»
|
block.phantom-factory.name = Завод строительных дронов «Фантом»
|
||||||
@@ -803,13 +816,13 @@ block.fortress-factory.name = Завод мехов «Крепость»
|
|||||||
block.revenant-factory.name = Завод бомбардировщиков «Потусторонний убийца»
|
block.revenant-factory.name = Завод бомбардировщиков «Потусторонний убийца»
|
||||||
block.repair-point.name = Ремонтный пункт
|
block.repair-point.name = Ремонтный пункт
|
||||||
block.pulse-conduit.name = Импульсный трубопровод
|
block.pulse-conduit.name = Импульсный трубопровод
|
||||||
block.phase-conduit.name = Фазовый трубопровод
|
block.phase-conduit.name = ФазоВый трубопровод
|
||||||
block.liquid-router.name = Жидкостный маршрутизатор
|
block.liquid-router.name = Жидкостный маршрутизатор
|
||||||
block.liquid-tank.name = Жидкостный резервуар
|
block.liquid-tank.name = Жидкостный резервуар
|
||||||
block.liquid-junction.name = Жидкостный перекрёсток
|
block.liquid-junction.name = Жидкостный перекрёсток
|
||||||
block.bridge-conduit.name = Мостовой трубопровод
|
block.bridge-conduit.name = Мостовой трубопровод
|
||||||
block.rotary-pump.name = Роторный насос
|
block.rotary-pump.name = Роторный насос
|
||||||
block.thorium-reactor.name = Ториевый реактор
|
block.thorium-reactor.name = ТориеВый реактор
|
||||||
block.mass-driver.name = Электромагнитная катапульта
|
block.mass-driver.name = Электромагнитная катапульта
|
||||||
block.blast-drill.name = Воздушная буровая установка
|
block.blast-drill.name = Воздушная буровая установка
|
||||||
block.thermal-pump.name = Термальный насос
|
block.thermal-pump.name = Термальный насос
|
||||||
@@ -827,7 +840,7 @@ block.force-projector.name = Силовой проектор
|
|||||||
block.arc.name = Дуга
|
block.arc.name = Дуга
|
||||||
block.rtg-generator.name = Радиоизотопный термоэлектрический генератор
|
block.rtg-generator.name = Радиоизотопный термоэлектрический генератор
|
||||||
block.spectre.name = Призрак
|
block.spectre.name = Призрак
|
||||||
block.meltdown.name = Катастрофа
|
block.meltdown.name = Плазмотрон
|
||||||
block.container.name = Склад
|
block.container.name = Склад
|
||||||
block.launch-pad.name = Стартовая площадка
|
block.launch-pad.name = Стартовая площадка
|
||||||
block.launch-pad-large.name = Большая стартовая площадка
|
block.launch-pad-large.name = Большая стартовая площадка
|
||||||
@@ -856,47 +869,47 @@ unit.reaper.name = Жнец
|
|||||||
tutorial.next = [lightgray]<Нажмите для продолжения>
|
tutorial.next = [lightgray]<Нажмите для продолжения>
|
||||||
tutorial.intro = Вы начали[scarlet] обучение по Mindustry.[]\nНачните с [accent]добычи меди[]. Нажмите на медную жилу возле вашего ядра, чтобы сделать это.\n\n[accent]{0}/{1} меди
|
tutorial.intro = Вы начали[scarlet] обучение по Mindustry.[]\nНачните с [accent]добычи меди[]. Нажмите на медную жилу возле вашего ядра, чтобы сделать это.\n\n[accent]{0}/{1} меди
|
||||||
tutorial.drill = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. Разместите его на медной жиле нажатием.\n[accent]Нажатие по правой кнопке[] прервёт строительство.
|
tutorial.drill = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. Разместите его на медной жиле нажатием.\n[accent]Нажатие по правой кнопке[] прервёт строительство.
|
||||||
tutorial.drill.mobile = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. \nРазместите его на медной жиле нажатием, затемм нажмите [accent] белую галку[] ниже, чтобы подтвердить построение выделенного.\nНажмите [accent] кнопку X[], чтобы отменить размещение.
|
tutorial.drill.mobile = Ручная добыча не является эффективной.\n[accent]Буры []могут добывать автоматически.\nНажмите на вкладку с изображением сверла снизу справа.\nВыберите[accent] механический бур[]. \nРазместите его на медной жиле нажатием, затемм нажмите [accent] белую галку[] ниже, чтобы подтвердить построение Выделенного.\nНажмите [accent] кнопку X[], чтобы отменить размещение.
|
||||||
tutorial.blockinfo = Каждый блок имеет разные характеричстики.\nЧтобы узнать информацию о блоке и о его характеристиках,[accent] нажмите на «?», когда он выбран в меню строительства.[]\n\n[accent]Сейчас, узнайте характеристики механического бура.[]
|
tutorial.blockinfo = Каждый блок имеет разные характеристики.\nЧтобы узнать информацию о блоке и о его характеристиках,[accent] нажмите на «?», когда он Выбран в меню строительства.[]\n\n[accent]Сейчас, узнайте характеристики механического бура.[]
|
||||||
tutorial.conveyor = [accent]Конвейера[] используются для транспортировки ресуров в ядро.\nСделайте линию конвейеров от бура к ядру\n[accent]Удерживайте левую кнопку мыши, чтобы разместить конвейерную линию.[]\nУдерживайте[accent] CTRL[] при постройке линии блоков, чтобы сделать её диагональной\n\n[accent]{0}/{1} конвейеров размещённых в линию\n[accent]0/1 предмет доставлен.
|
tutorial.conveyor = [accent]Конвейера[] используются для транспортировки ресуров в ядро.\nСделайте линию конвейеров от бура к ядру\n[accent]Удерживайте левую кнопку мыши, чтобы разместить конвейерную линию.[]\nУдерживайте[accent] CTRL[] при постройке линии блоков, чтобы сделать её диагональной\n\n[accent]{0}/{1} конвейеров размещённых в линию\n[accent]0/1 предмет доставлен.
|
||||||
tutorial.conveyor.mobile = [accent]Конвейера[] используются для транспортировки ресурсов в ядро\nСделайте линию конвейеров от бура к ядру\n[accent]Сделайте линию, удерживая палец несколько секунд в том месте, в котором Вы хотите начать линию,[] и перетяните его в нужном направлении.\n\n[accent]{0}/{1} конвейеров размещённых в линию\n[accent]0/1 предмет доставлен.
|
tutorial.conveyor.mobile = [accent]Конвейера[] используются для транспортировки ресурсов в ядро\nСделайте линию конвейеров от бура к ядру\n[accent]Сделайте линию, удерживая палец несколько секунд в том месте, в котором Вы хотите начать линию,[] и перетяните его в нужном направлении.\n\n[accent]{0}/{1} конвейеров размещённых в линию\n[accent]0/1 предмет доставлен.
|
||||||
tutorial.turret = Защитные структуры нужно строить для отражения[lightgray] противников[].\nПостройте[accent] двойную турель[] возле своего ядра.
|
tutorial.turret = Защитные структуры нужно строить для отражения[lightgray] противников[].\nПостройте[accent] двойную турель[] возле своего ядра.
|
||||||
tutorial.drillturret = Двойным турелям нужна [accent]медь []в качестве боеприпасов.\nРазместите бур рядом с турелью.\nПроведите конвейеры к турели, чтобы снабдить её боеприпасами.\n\n[accent]Боеприпасов доставлено: 0/1
|
tutorial.drillturret = Двойным турелям нужна [accent]медь []в качестве боеприпасов.\nРазместите бур рядом с турелью.\nПроведите конвейеры к турели, чтобы снабдить её боеприпасами.\n\n[accent]Боеприпасов доставлено: 0/1
|
||||||
tutorial.pause = Во время битвы Вы можете[accent] приостановить игру.[]\nВы можете планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите ПРОБЕЛ для приостановки игры.
|
tutorial.pause = Во время битВы Вы можете[accent] приостановить игру.[]\nВы можете планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите ПРОБЕЛ для приостановки игры.
|
||||||
tutorial.pause.mobile = Во время битвы, Вы можете[accent] приостановить игру.[]\nВы можеть планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите кнопку сверху слева, чтобы поставить игру на паузу.
|
tutorial.pause.mobile = Во время битВы, Вы можете[accent] приостановить игру.[]\nВы можеть планировать строительство, когда игра стоит на паузе.\n\n[accent]Нажмите кнопку сверху слева, чтобы поставить игру на паузу.
|
||||||
tutorial.unpause = Теперь нажмите пробел снова для снятия паузы.
|
tutorial.unpause = Теперь нажмите пробел снова для снятия паузы.
|
||||||
tutorial.unpause.mobile = Теперь нажмите снова туда для снятия паузы.
|
tutorial.unpause.mobile = Теперь нажмите снова туда для снятия паузы.
|
||||||
tutorial.breaking = Часто блоки нужно разрушать\n[accent]Зажмите ПКМ[], чтобы разрушить блоки в выбранной зоне.[]\n\n[accent]Разрушьте все стены из металлолома слева от вашего ядра.
|
tutorial.breaking = Часто блоки нужно разрушать\n[accent]Зажмите ПКМ[], чтобы разрушить блоки в Выбранной зоне.[]\n\n[accent]Разрушьте все стены из металлолома слева от вашего ядра.
|
||||||
tutorial.breaking.mobile = Часто блоки нужно разрушить.\n[accent]Выберите режим деконструкции[], после чего нажмите на нужный блок, чтобы его разрушить.\nРазрушьте блоки в выбранной зоне, зажав палец на несколько секунд[], и проводя его в нужном направлении.\nНажмите на галочку, чтобы подтвердить разрушение.\n\n[accent]Разрушьте все стены из металлолома слева от вашего ядра.
|
tutorial.breaking.mobile = Часто блоки нужно разрушить.\n[accent]Выберите режим деконструкции[], после чего нажмите на нужный блок, чтобы его разрушить.\nРазрушьте блоки в Выбранной зоне, зажав палец на несколько секунд[], и проводя его в нужном направлении.\nНажмите на галочку, чтобы подтвердить разрушение.\n\n[accent]Разрушьте все стены из металлолома слева от вашего ядра.
|
||||||
tutorial.withdraw = В некоторых ситуациях, необходимо забрать предметы из блоков вручную.\nЧтобы сделать это, [accent]нажмите на блок[], когда в нём находятся предметы, затем [accent]нажмите на предмет[] в инвентаре.\nМожно забрать несколько предметов [accent]нажатием с зажимом[].\n\n[accent]Заберите немного меди из ядра[]
|
tutorial.withdraw = В некоторых ситуациях, необходимо забрать предметы из блоков вручную.\nЧтобы сделать это, [accent]нажмите на блок[], когда в нём находятся предметы, затем [accent]нажмите на предмет[] в инвентаре.\nМожно забрать несколько предметов [accent]нажатием с зажимом[].\n\n[accent]Заберите немного меди из ядра[]
|
||||||
tutorial.deposit = Сложить предметы в блоки можно протянув от своего корабля к нужному блоку.\n\n[accent]Перенесите медь обратно в ядро[]
|
tutorial.deposit = Положить предметы в блоки можно перетащив от своего корабля к нужному блоку.\n\n[accent]Перенесите медь обратно в ядро[]
|
||||||
tutorial.waves = [lightgray]Противники[] приближаются.\n\nЗащитите ядро от двух волн.[accent] Нажмите левую кнопку мыши[], чтобы выстрелить.\nПостройте больше турелей и буров. Добудьте больше меди.
|
tutorial.waves = [lightgray]Противники[] приближаются.\n\nЗащитите ядро от двух волн.[accent] Нажмите левую кнопку мыши[], чтобы Выстрелить.\nПостройте больше турелей и буров. Добудьте больше меди.
|
||||||
tutorial.waves.mobile = [lightgray]Противники[] приближаются.\n\nЗащитите ядро от двух волн. Ваш мех будет автоматически атаковать противника.\nПостройте больше турелей и буров. Добудьте больше меди.
|
tutorial.waves.mobile = [lightgray]Противники[] приближаются.\n\nЗащитите ядро от двух волн. Ваш мех будет автоматически атаковать противника.\nПостройте больше турелей и буров. Добудьте больше меди.
|
||||||
tutorial.launch = Когда Вы достигаете некоторых волн, Вы можете осуществить[accent] запуск ядра[], оставив базу и[accent] перенести ресурсы из ядра.[]\nЭти ресурсы могут быть использованы для изучения новых технологий.\n\n[accent]Нажмите кнопку запуска.
|
tutorial.launch = Когда Вы достигаете некоторых волн, Вы можете осуществить[accent] запуск ядра[], оставив базу и[accent] перенести ресурсы из ядра.[]\nЭти ресурсы могут быть использованы для изучения ноВых технологий.\n\n[accent]Нажмите кнопку запуска.
|
||||||
item.copper.description = Самый основной строительный материал. Широко используется во всех типах блоков.
|
item.copper.description = Самый основной строительный материал. Широко используется во всех типах блоков.
|
||||||
item.lead.description = Основной стартовый материал. Широко используется в электронике и блоках для транспортировки жидкостей.
|
item.lead.description = Основной стартоВый материал. Широко используется в электронике и блоках для транспортировки жидкостей.
|
||||||
item.metaglass.description = Сверхпрочный сплав стекла. Широко используется для распределения и хранения жидкости.
|
item.metaglass.description = Сверхпрочный сплав стекла. Широко используется для распределения и хранения жидкости.
|
||||||
item.graphite.description = Минерализованный углерод, используемый для боеприпасов и электроизоляции.
|
item.graphite.description = Минерализованный углерод, используемый для боеприпасов и электроизоляции.
|
||||||
item.sand.description = Обычный материал, который широко используется при выплавке, как при легировании, так и в качестве отходов.
|
item.sand.description = Обычный материал, который широко используется при Выплавке, как при легировании, так и в качестве отходов.
|
||||||
item.coal.description = Окаменелое растительное вещество, образовавшееся задолго до посева. Широко используется для производства топлива и ресурсов.
|
item.coal.description = Окаменелое растительное вещество, образовавшееся задолго до посева. Широко используется для производства топлива и ресурсов.
|
||||||
item.titanium.description = Редкий сверхлёгкий металл, широко используемый для транспортировки жидкостей, буров и авиации.
|
item.titanium.description = Редкий сверхлёгкий металл, широко используемый для транспортировки жидкостей, буров и авиации.
|
||||||
item.thorium.description = Плотный радиоактивный металл, используемый в качестве структурной опоры и ядерного топлива.
|
item.thorium.description = Плотный радиоактивный металл, используемый в качестве структурной опоры и ядерного топлива.
|
||||||
item.scrap.description = Остатки старых сооружений и подразделений. Содержит небольшие количества многих различных металлов.
|
item.scrap.description = Остатки старых сооружений и подразделений. Содержит небольшие количества многих различных металлов.
|
||||||
item.silicon.description = Чрезвычайно полезный полупроводник. Применяется в солнечных панелях, сложной электронике и самонаводящихся боеприпасах.
|
item.silicon.description = ЧрезВычайно полезный полупроводник. Применяется в солнечных панелях, сложной электронике и самонаводящихся боеприпасах.
|
||||||
item.plastanium.description = Лёгкий, пластичный материал, используемый в современных авиационных и осколочных боеприпасах.
|
item.plastanium.description = Лёгкий, пластичный материал, используемый в современных авиационных и осколочных боеприпасах.
|
||||||
item.phase-fabric.description = Практически невесомое вещество, используемое в передовой электронике и технологиях самовосстановления.
|
item.phase-fabric.description = Практически невесомое вещество, используемое в передовой электронике и технологиях самовосстановления.
|
||||||
item.surge-alloy.description = Современный сплав с уникальными электрическими свойствами.
|
item.surge-alloy.description = Современный сплав с уникальными электрическими свойствами.
|
||||||
item.spore-pod.description = Стручок синтетических спор, синтезированных из атмосферных концентраций для промышленных целей. Используется для превращения в нефть, взрывчатые вещества и топливо.
|
item.spore-pod.description = Стручок синтетических спор, синтезированных из атмосферных концентраций для промышленных целей. Используется для превращения в нефть, взрывчатые вещества и топливо.
|
||||||
item.blast-compound.description = Нестабильный соединение, используемый в бомбах и взрывчатых веществах. Синтезируется из стручков спор и других летучих веществ. Использовать в качестве топлива не рекомендуется.
|
item.blast-compound.description = Нестабильный соединение, используемый в бомбах и взрывчатых веществах. Синтезируется из стручков спор и других летучих веществ. Использовать в качестве топлива не рекомендуется.
|
||||||
item.pyratite.description = Чрезвычайно огнеопасное вещество, используемое в зажигательном оружии.
|
item.pyratite.description = ЧрезВычайно огнеопасное вещество, используемое в зажигательном оружии.
|
||||||
liquid.water.description = Самая полезная жидкость. Обычно используется для охлаждения машин и переработки отходов.
|
liquid.water.description = Самая полезная жидкость. Обычно используется для охлаждения машин и переработки отходов.
|
||||||
liquid.slag.description = Всевозможно различные типы расплавленного металла, смешанные вместе. Может быть разделен на составляющие его минералы или распылён на вражеских боевые единицы в качестве оружия.
|
liquid.slag.description = Всевозможно различные типы расплавленного металла, смешанные вместе. Может быть разделен на составляющие его минералы или распылён на вражеских боеВые единицы в качестве оружия.
|
||||||
liquid.oil.description = Жидкость, используемая в производстве современных материалов. Может быть превращена в уголь в качестве топлива или распылён и подожжён как оружие.
|
liquid.oil.description = Жидкость, используемая в производстве современных материалов. Может быть превращена в уголь в качестве топлива или распылён и подожжён как оружие.
|
||||||
liquid.cryofluid.description = Инертная, неедкая жидкость, созданная из воды и титана. Обладает чрезвычайно высокой пропускной способностью. Широко используется в качестве охлаждающей жидкости.
|
liquid.cryofluid.description = Инертная, неедкая жидкость, созданная из воды и титана. Обладает чрезВычайно Высокой пропускной способностью. Широко используется в качестве охлаждающей жидкости.
|
||||||
mech.alpha-mech.description = Стандартный управляемый мех. Основан на «Кинжале», с улучшенной броней и строительными возможностями. Имеет больший урон, чем «Дротик».
|
mech.alpha-mech.description = Стандартный управляемый мех. Основан на «Кинжале», с улучшенной броней и строительными возможностями. Имеет больший урон, чем «Дротик».
|
||||||
mech.delta-mech.description = Быстрый, легко бронированный мех, созданный для ударов «атакуй и беги». Наносит мало урона по строениям, но может очень быстро убить большие группы вражеских орудий с помощью дуговых молний.
|
mech.delta-mech.description = Быстрый, легко бронированный мех, созданный для ударов «атакуй и беги». Наносит мало урона по строениям, но может очень быстро убить большие группы вражеских орудий с помощью дугоВых молний.
|
||||||
mech.tau-mech.description = Мех поддержки. Ремонтирует союзные блоки просто стреляя в них. Может лечить союзников в радиусе его ремонтирующей способности.
|
mech.tau-mech.description = Мех поддержки. Ремонтирует союзные блоки просто стреляя в них. Может лечить союзников в радиусе его ремонтирующей способности.
|
||||||
mech.omega-mech.description = Громоздкий и хорошо бронированный мех, созданный для передовых атак. Его броня может блокировать до 90% входящего урона.
|
mech.omega-mech.description = Громоздкий и хорошо бронированный мех, созданный для передоВых атак. Его броня может блокировать до 90% входящего урона.
|
||||||
mech.dart-ship.description = Стандартный управляемый корабль. Достаточно быстрый и легкий, но мало атакующий и обладает низкой скоростью добычи.
|
mech.dart-ship.description = Стандартный управляемый корабль. Достаточно быстрый и легкий, но мало атакующий и обладает низкой скоростью добычи.
|
||||||
mech.javelin-ship.description = Корабль для тактики «атакуй и беги». Сначала он медленный, но позже может разгоняться до огромных скоростей и летать над аванпостами противника, нанося большой урон молниями и ракетами.
|
mech.javelin-ship.description = Корабль для тактики «атакуй и беги». Сначала он медленный, но позже может разгоняться до огромных скоростей и летать над аванпостами противника, нанося большой урон молниями и ракетами.
|
||||||
mech.trident-ship.description = Тяжёлый бомбардировщик, построенный для строительства и уничтожения вражеских укреплений. Достаточно хорошо бронированный.
|
mech.trident-ship.description = Тяжёлый бомбардировщик, построенный для строительства и уничтожения вражеских укреплений. Достаточно хорошо бронированный.
|
||||||
@@ -904,12 +917,12 @@ mech.glaive-ship.description = Большой хорошо бронирован
|
|||||||
unit.draug.description = Примитивный добывающий дрон. Дёшево производить. Расходуемый. Автоматически добывает медь и свинец в непосредственной близости. Поставляет добытые ресурсы в ближайшее ядро.
|
unit.draug.description = Примитивный добывающий дрон. Дёшево производить. Расходуемый. Автоматически добывает медь и свинец в непосредственной близости. Поставляет добытые ресурсы в ближайшее ядро.
|
||||||
unit.spirit.description = Модифицированный «Драугр», предназначенный для ремонта вместо добычи ресурсов. Автоматически ремонтирует любые поврежденные блоки в области.
|
unit.spirit.description = Модифицированный «Драугр», предназначенный для ремонта вместо добычи ресурсов. Автоматически ремонтирует любые поврежденные блоки в области.
|
||||||
unit.phantom.description = Продвинутый дрон. Следует за пользователями. Помогает в строительстве блоков.
|
unit.phantom.description = Продвинутый дрон. Следует за пользователями. Помогает в строительстве блоков.
|
||||||
unit.dagger.description = Самый основной наземный мех. Дешёвый в производстве. Очень сильный при использовании толпами.
|
unit.dagger.description = Самый основной наземный мех. ДешёВый в производстве. Очень сильный при использовании толпами.
|
||||||
unit.crawler.description = Наземный блок, состоящий из урезанной рамы с высоким взрывчатым веществом, прикрепленным сверху. Не особо прочный. Взрывается при контакте с врагами.
|
unit.crawler.description = Наземный блок, состоящий из урезанной рамы с Высоким взрывчатым веществом, прикрепленным сверху. Не особо прочный. Взрывается при контакте с врагами.
|
||||||
unit.titan.description = Продвинутый, бронированный наземный юнит. Атакует как наземные, так и воздушные цели. Оборудован двумя миниатюрными огнеметами класса «Обжигатель».
|
unit.titan.description = Продвинутый, бронированный наземный юнит. Атакует как наземные, так и воздушные цели. Оборудован двумя миниатюрными огнеметами класса «Обжигатель».
|
||||||
unit.fortress.description = Тяжёлый артиллерийский мех. Оснащен двумя модифицированными пушками типа «Град» для штурма дальних объектов и подразделений противника.
|
unit.fortress.description = Тяжёлый артиллерийский мех. Оснащен двумя модифицированными пушками типа «Град» для штурма дальних объектов и подразделений противника.
|
||||||
unit.eruptor.description = Тяжёлый мех, предназначенный для разрушения строений. Выстреливает поток шлака по вражеским укреплениям, плавит их и поджигает летучие вещества.
|
unit.eruptor.description = Тяжёлый мех, предназначенный для разрушения строений. Выстреливает поток шлака по вражеским укреплениям, плавит их и поджигает летучие вещества.
|
||||||
unit.wraith.description = Быстрый перехватчик. Целевые генераторы энергии.
|
unit.wraith.description = Быстрый перехватчик. ЦелеВые генераторы энергии.
|
||||||
unit.ghoul.description = Тяжёлый ковровой бомбардировщик. Проникает через вражеские структуры, нацеливаясь на критическую инфраструктуру.
|
unit.ghoul.description = Тяжёлый ковровой бомбардировщик. Проникает через вражеские структуры, нацеливаясь на критическую инфраструктуру.
|
||||||
unit.revenant.description = Тяжёлый, парящий массив, который вооружён ракетами.
|
unit.revenant.description = Тяжёлый, парящий массив, который вооружён ракетами.
|
||||||
block.graphite-press.description = Сжимает куски угля в чистые листы графита.
|
block.graphite-press.description = Сжимает куски угля в чистые листы графита.
|
||||||
@@ -920,8 +933,8 @@ block.plastanium-compressor.description = Производит пластини
|
|||||||
block.phase-weaver.description = Синтезирует фазовую ткань из радиоактивного тория и песка. Требуется огромное количество энергии.
|
block.phase-weaver.description = Синтезирует фазовую ткань из радиоактивного тория и песка. Требуется огромное количество энергии.
|
||||||
block.alloy-smelter.description = Объединяет титан, свинец, кремний и медь для производства кинетического сплава.
|
block.alloy-smelter.description = Объединяет титан, свинец, кремний и медь для производства кинетического сплава.
|
||||||
block.cryofluidmixer.description = Смешивает воду и мелкий титановый порошок титана в криогеннную жидкость. Необходим для использования в ториевом реакторе.
|
block.cryofluidmixer.description = Смешивает воду и мелкий титановый порошок титана в криогеннную жидкость. Необходим для использования в ториевом реакторе.
|
||||||
block.blast-mixer.description = Раздавливает и смешивает скопления спор с пиратитом для получения взрывчатого вещества.
|
block.blast-mixer.description = Раздавливает и смешивает скопления спор с пиротитом для получения взрывчатого вещества.
|
||||||
block.pyratite-mixer.description = Смешивает уголь, свинец и песок в легковоспламеняющийся пиратит.
|
block.pyratite-mixer.description = Смешивает уголь, свинец и песок в легковоспламеняющийся пиротит.
|
||||||
block.melter.description = Расплавляет металлолом в шлак для дальнейшей обработки или использования в башнях «Волна».
|
block.melter.description = Расплавляет металлолом в шлак для дальнейшей обработки или использования в башнях «Волна».
|
||||||
block.separator.description = Разделяет шлак на его минеральные компоненты. Выводит охлажденный результат.
|
block.separator.description = Разделяет шлак на его минеральные компоненты. Выводит охлажденный результат.
|
||||||
block.spore-press.description = Сжимает капсулы спор под сильным давлением для синтеза масла.
|
block.spore-press.description = Сжимает капсулы спор под сильным давлением для синтеза масла.
|
||||||
@@ -929,47 +942,47 @@ block.pulverizer.description = Измельчает металлолом в ме
|
|||||||
block.coal-centrifuge.description = Нефть превращается в куски угля.
|
block.coal-centrifuge.description = Нефть превращается в куски угля.
|
||||||
block.incinerator.description = Выпаривает любой лишний предмет или жидкость, которую он получает.
|
block.incinerator.description = Выпаривает любой лишний предмет или жидкость, которую он получает.
|
||||||
block.power-void.description = Аннулирует всю энергию, введенную в него. Только песочница.
|
block.power-void.description = Аннулирует всю энергию, введенную в него. Только песочница.
|
||||||
block.power-source.description = Бесконечно выводит энергию. Только песочница.
|
block.power-source.description = Бесконечно Выводит энергию. Только песочница.
|
||||||
block.item-source.description = Бесконечно выводит элементы. Только песочница.
|
block.item-source.description = Бесконечно Выводит элементы. Только песочница.
|
||||||
block.item-void.description = Уничтожает любые предметы. Только песочница.
|
block.item-void.description = Уничтожает любые предметы. Только песочница.
|
||||||
block.liquid-source.description = Бесконечно выводит жидкости. Только песочница.
|
block.liquid-source.description = Бесконечно выводит жидкости. Только песочница.
|
||||||
block.copper-wall.description = Дешёвый защитный блок.\nПолезно для защиты ядра и турелей в первые несколько волн.
|
block.copper-wall.description = Дешёвый защитный блок.\nПолезно для защиты ядра и турелей в первые несколько волн.
|
||||||
block.copper-wall-large.description = Дешёвый защитный блок.\nПолезно для защиты ядра и турелей в первые несколько волн.\nРазмещается на нескольких плиток.
|
block.copper-wall-large.description = Дешёвый защитный блок.\nПолезно для защиты ядра и турелей в первые несколько волн.\nРазмещается на нескольких плитках.
|
||||||
block.titanium-wall.description = Умеренно сильный защитный блок.\nОбеспечивает умеренную защиту от врагов.
|
block.titanium-wall.description = Умеренно сильный защитный блок.\nОбеспечивает умеренную защиту от врагов.
|
||||||
block.titanium-wall-large.description = Умеренно сильный защитный блок.\nОбеспечивает умеренную защиту от врагов.\nРазмещается на нескольких плиток.
|
block.titanium-wall-large.description = Умеренно сильный защитный блок.\nОбеспечивает умеренную защиту от врагов.\nРазмещается на нескольких плитках.
|
||||||
block.thorium-wall.description = Сильный защитный блок.\nХорошая защита от врагов.
|
block.thorium-wall.description = Сильный защитный блок.\nХорошая защита от врагов.
|
||||||
block.thorium-wall-large.description = Сильный защитный блок.\nХорошая защита от врагов.\nРазмещается на нескольких плиток.
|
block.thorium-wall-large.description = Сильный защитный блок.\nХорошая защита от врагов.\nРазмещается на нескольких плитках.
|
||||||
block.phase-wall.description = Стена, покрытая специальным фазовым отражающим составом. Отражает большинство пуль при ударе.
|
block.phase-wall.description = Стена, покрытая специальным фазовым отражающим составом. Отражает большинство пуль при ударе.
|
||||||
block.phase-wall-large.description = Стена, покрытая специальным фазовым отражающим составом. Отражает большинство пуль при ударе.\nРазмещается на нескольких плиток.
|
block.phase-wall-large.description = Стена, покрытая специальным фазовым отражающим составом. Отражает большинство пуль при ударе.\nРазмещается на нескольких плитках.
|
||||||
block.surge-wall.description = Очень прочный защитный блок.\nНакапливает заряд при контакте с пулей, выпуская его случайным образом.
|
block.surge-wall.description = Очень прочный защитный блок.\nНакапливает заряд при контакте с пулей, выпуская его случайным образом.
|
||||||
block.surge-wall-large.description = Очень прочный защитный блок.\nНакапливает заряд при контакте с пулей, выпуская его случайным образом.\nРазмещается на нескольких плиток.
|
block.surge-wall-large.description = Очень прочный защитный блок.\nНакапливает заряд при контакте с пулей, выпуская его случайным образом.\nРазмещается на нескольких плитках.
|
||||||
block.door.description = Маленькая дверь. Можно открыть или закрыть, нажав.
|
block.door.description = Маленькая дверь. Можно открыть или закрыть, нажав.
|
||||||
block.door-large.description = Большая дверь. Можно открыть и закрыть, коснувшись.\nОткрывает несколько плиток.
|
block.door-large.description = Большая дверь. Можно открыть и закрыть, коснувшись.\nОткрывает несколько плитках.
|
||||||
block.mender.description = Периодически ремонтирует блоки в непосредственной близости. Сохраняет средства защиты, восстановленные между волнами.\nОпционально использует кремний для увеличения дальности и эффективности.
|
block.mender.description = Периодически ремонтирует блоки в непосредственной близости. Сохраняет средства защиты, восстановленные между волнами.\nОпционально использует кремний для увеличения дальности и эффективности.
|
||||||
block.mend-projector.description = Обновлённая версия Регенератора. Ремонт блоков в непосредственной близости.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
|
block.mend-projector.description = Обновлённая версия Регенератора. Ремонт блоков в непосредственной близости.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
|
||||||
block.overdrive-projector.description = Увеличивает скорость близлежащих зданий.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
|
block.overdrive-projector.description = Увеличивает скорость близлежащих зданий.\nОпционально использует фазовую ткань для увеличения дальности и эффективности.
|
||||||
block.force-projector.description = Создает вокруг себя шестиугольное силовое поле, защищая здания и подразделения внутри от повреждений.\nПерегревается, если слишком много повреждений нанесено. Опционально требуется охлаждающая жидкость для предотвращения перегрева. Фазовая ткань может быть использована для увеличения размера щита.
|
block.force-projector.description = Создает вокруг себя шестиугольное силовое поле, защищая здания и подразделения внутри от повреждений.\nПерегревается, если слишком много повреждений нанесено. Опционально требуется охлаждающая жидкость для предотвращения перегрева. Фазовая ткань может быть использована для увеличения размера щита.
|
||||||
block.shock-mine.description = Наносит урон врагам, наступающим на мину. Почти невидим для врага.
|
block.shock-mine.description = Наносит урон врагам, наступающим на мину. Почти невидим для врага.
|
||||||
block.conveyor.description = Базовый элемент транспортного блока. Перемещает предметы вперед и автоматически складывает их в блоки. Вращающийся.
|
block.conveyor.description = БазоВый элемент транспортного блока. Перемещает предметы вперед и автоматически складывает их в блоки. Вращающийся.
|
||||||
block.titanium-conveyor.description = Расширенный транспортный блок элемента. Перемещает предметы быстрее, чем стандартные конвейеры.
|
block.titanium-conveyor.description = Расширенный транспортный блок элемента. Перемещает предметы быстрее, чем стандартные конвейеры.
|
||||||
block.junction.description = Действует как мост для двух пересекающихся конвейерных лент. Полезно в ситуациях, когда два разных конвейера перевозят разные материалы в разные места.
|
block.junction.description = Действует как мост для двух пересекающихся конвейерных лент. Полезно в ситуациях, когда два разных конвейера перевозят разные материалы в разные места.
|
||||||
block.bridge-transpor.description = Улучшенный транспортный блок элемента. Позволяет транспортировать предметы по 3 плиткам любой местности или здания.
|
block.bridge-conveyor.description = Улучшенный транспортный блок элемента. Позволяет транспортировать предметы по 3 плиткам любой местности или здания.
|
||||||
block.phase-conveyor.description = Улучшенный транспортный блок элемента. Использует энергию для телепортации предметов на подключенный фазовый конвейер по нескольким плиткам.
|
block.phase-conveyor.description = Улучшенный транспортный блок элемента. Использует энергию для телепортации предметов на подключенный фазовый конвейер по нескольким плиткам.
|
||||||
block.sorter.description = Сортировка элементов. Если элемент соответствует выбору, он может пройти. В противном случае элемент выводится слева и справа.
|
block.sorter.description = Сортировка элементов. Если элемент соответствует выбору, он может пройти. В противном случае элемент выводится слева и справа.
|
||||||
block.router.description = Принимает элементы в одном направлении и выводит их до 3 других направлений в равной степени. Полезно для разделения материалов из одного источника на несколько целей.\n\n[scarlet]Никогда не используйте рядом с заводами и т.п., так как маршрутизатор будет забит выходными предметами.[]
|
block.router.description = Принимает элементы в одном направлении и выводит их до 3 других направлений в равной степени. Полезно для разделения материалов из одного источника на несколько целей.\n\n[scarlet]Никогда не используйте рядом с заводами и т.п., так как маршрутизатор будет забит выходными предметами.[]
|
||||||
block.distributor.description = Расширенный маршрутизатор. Разделение элементов до 7 других направлений в равной степени.
|
block.distributor.description = Расширенный маршрутизатор. Разделение элементов до 7 других направлений в равной степени.
|
||||||
block.overflow-gate.description = Комбинированный разделитель и маршрутизатор. Выводится только влево и вправо, если передний путь заблокирован.
|
block.overflow-gate.description = Комбинированный разделитель и маршрутизатор. выводится только влево и вправо, если передний путь заблокирован.
|
||||||
block.mass-driver.description = Конечный транспортный блок элемента. Собирает несколько предметов и затем стреляет в них другому массовому водителю на большом расстоянии. Требуется сила для работы.
|
block.mass-driver.description = Конечный транспортный блок элемента. Собирает несколько предметов и затем стреляет в них другому массовому водителю на большом расстоянии. Требуется сила для работы.
|
||||||
block.mechanical-pump.description = Дешёвый насос с низкой производительностью, но без энергопотребления.
|
block.mechanical-pump.description = Дешёвый насос с низкой производительностью, но без энергопотребления.
|
||||||
block.rotary-pump.description = Продвинутый насос. Насосы более жидкие, но требуют энергию.
|
block.rotary-pump.description = Продвинутый насос. Лучше чем обычный насос, но требуют энергию.
|
||||||
block.thermal-pump.description = Наилучший насос.
|
block.thermal-pump.description = Наилучший насос.
|
||||||
block.conduit.description = Основной блок транспортировки жидкости. Перемещает жидкости вперед. Используется совместно с насосами и другими трубопроводами.
|
block.conduit.description = Основной блок транспортировки жидкости. Перемещает жидкости вперед. Используется совместно с насосами и другими трубопроводами.
|
||||||
block.pulse-conduit.description = Расширенный блок транспортировки жидкости. Транспортирует жидкости быстрее и хранит больше, чем стандартные трубопроводы.
|
block.pulse-conduit.description = Расширенный блок транспортировки жидкости. Транспортирует жидкости быстрее и хранит больше, чем стандартные трубопроводы.
|
||||||
block.liquid-router.description = Принимает жидкости из одного направления и выводит их до 3 других направлений в равной степени. Можно также хранить определенное количество жидкости. Полезно для разделения жидкостей из одного источника на несколько целей.
|
block.liquid-router.description = Принимает жидкости из одного направления и Выводит их до 3 других направлений в равной степени. Можно также хранить определенное количество жидкости. Полезно для разделения жидкостей из одного источника на несколько целей.
|
||||||
block.liquid-tank.description = Хранит большое количество жидкости. Используется для создания буферов в ситуациях с непостоянной потребностью в материалах или в качестве защиты для охлаждения жизненно важных блоков.
|
block.liquid-tank.description = Хранит большое количество жидкости. Используется для создания буферов в ситуациях с непостоянной потребностью в материалах или в качестве защиты для охлаждения жизненно важных блоков.
|
||||||
block.liquid-junction.description = Действует как мост для двух пересекающихся каналов. Полезно в ситуациях, когда два разных трубопровода переносят разные жидкости в разные места.
|
block.liquid-junction.description = Действует как мост для двух пересекающихся каналов. Полезно в ситуациях, когда два разных трубопровода переносят разные жидкости в разные места.
|
||||||
block.bridge-conduit.description = Расширенный блок транспортировки жидкости. Позволяет транспортировать жидкости до 3 плиток любой местности или здания.
|
block.bridge-conduit.description = Расширенный блок транспортировки жидкости. Позволяет транспортировать жидкости до 3 плиток любой местности или здания.
|
||||||
block.phase-conduit.description = Расширенный блок транспортировки жидкости. Использует энергию для телепортации жидкостей в подключенный фазовый канал по нескольким плиткам.
|
block.phase-conduit.description = Расширенный блок транспортировки жидкости. Использует энергию для телепортации жидкостей в подключенный фазоВый канал по нескольким плиткам.
|
||||||
block.power-node.description = Передает питание на подключенные узлы. Узел будет получать питание или поставлять питание на любые соседние блоки.
|
block.power-node.description = Передает питание на подключенные узлы. Узел будет получать питание или поставлять питание на любые соседние блоки.
|
||||||
block.power-node-large.description = Усовершенствованный силовой узел с большей дальностью и большим количеством соединений.
|
block.power-node-large.description = Усовершенствованный силовой узел с большей дальностью и большим количеством соединений.
|
||||||
block.surge-tower.description = Очень дальний узел питания с меньшим количеством доступных соединений.
|
block.surge-tower.description = Очень дальний узел питания с меньшим количеством доступных соединений.
|
||||||
@@ -978,29 +991,29 @@ block.battery-large.description = Хранит гораздо больше эн
|
|||||||
block.combustion-generator.description = Вырабатывает энергию путём сжигания легковоспламеняющихся материалов, таких как уголь.
|
block.combustion-generator.description = Вырабатывает энергию путём сжигания легковоспламеняющихся материалов, таких как уголь.
|
||||||
block.thermal-generator.description = Генерирует энергию, когда находится в горячих местах.
|
block.thermal-generator.description = Генерирует энергию, когда находится в горячих местах.
|
||||||
block.turbine-generator.description = Усовершенствованный генератор сгорания. Более эффективен, но требует дополнительной воды для выработки пара.
|
block.turbine-generator.description = Усовершенствованный генератор сгорания. Более эффективен, но требует дополнительной воды для выработки пара.
|
||||||
block.differential-generator.description = Генерирует большое количество энергии. Использует разницу температур между криогенной жидкостью и горящим пиратитом.
|
block.differential-generator.description = Генерирует большое количество энергии. Использует разницу температур между криогенной жидкостью и горящим пиротитом.
|
||||||
block.rtg-generator.description = Простой, надежный генератор. Использует тепло распадающихся радиоактивных соединений для производства энергии с низкой скоростью.
|
block.rtg-generator.description = Простой, надежный генератор. Использует тепло распадающихся радиоактивных соединений для производства энергии с низкой скоростью.
|
||||||
block.solar-panel.description = Обеспечивает небольшое количество энергии от солнца.
|
block.solar-panel.description = Обеспечивает небольшое количество энергии от солнца.
|
||||||
block.solar-panel-large.description = Значительно более эффективный вариант стандартной солнечной панели.
|
block.solar-panel-large.description = Значительно более эффективный вариант стандартной солнечной панели.
|
||||||
block.thorium-reactor.description = Генерирует значительное количество энергии из тория. Требует постоянного охлаждения. Сильно взорвётся при недостаточном количестве охлаждающей жидкости. Выходная энергия зависит от наполненности, при этом базовая энергия генерируется на полную мощность.
|
block.thorium-reactor.description = Генерирует значительное количество энергии из тория. Требует постоянного охлаждения. Сильно взорвётся при недостаточном количестве охлаждающей жидкости. Выходная энергия зависит от наполненности, при этом базовая энергия генерируется на полную мощность.
|
||||||
block.impact-reactor.description = Усовершенствованный генератор, способный создавать огромное количество энергии с максимальной эффективностью. Требуется значительное количество энергии для запуска процесса.
|
block.impact-reactor.description = Усовершенствованный генератор, способный создавать огромное количество энергии с максимальной эффективностью. Требуется значительное количество энергии для запуска процесса.
|
||||||
block.mechanical-drill.description = Дешёвый бур. При размещении на соответствующих плитках медленные предметы выводятся бесконечно. Способен добывать только медь, свинец и уголь.
|
block.mechanical-drill.description = ДешёВый бур. При размещении на соответствующих плитках медленные предметы Выводятся бесконечно. Способен добывать только медь, свинец и уголь.
|
||||||
block.pneumatic-drill.description = Улучшенный бур, способная добывать титан. Добывает в более быстром темпе, чем механический бур.
|
block.pneumatic-drill.description = Улучшенный бур, способная добывать титан. Добывает в более быстром темпе, чем механический бур.
|
||||||
block.laser-drill.description = Позволяет сверлить еще быстрее с помощью лазерной технологии, но требует энергии. Способен добывать торий.
|
block.laser-drill.description = Позволяет сверлить еще быстрее с помощью лазерной технологии, но требует энергии. Способен добывать торий.
|
||||||
block.blast-drill.description = Конечный бур. Требует большого количества энергии.
|
block.blast-drill.description = Конечный бур. Требует большого количества энергии.
|
||||||
block.water-extractor.description = Выкачивает подземные воды. Используется в местах, где нет поверхностных вод.
|
block.water-extractor.description = Выкачивает подземные воды. Используется в местах, где нет поверхностных вод.
|
||||||
block.cultivator.description = Выращивает крошечные концентрации спор в атмосфере в готовые к употреблению споры.
|
block.cultivator.description = Выращивает крошечные концентрации спор в атмосфере в готоВые к употреблению споры.
|
||||||
block.oil-extractor.description = Использует большое количество энергии, песка и воды для бурения на нефть.
|
block.oil-extractor.description = Использует большое количество энергии, песка и воды для бурения на нефть.
|
||||||
block.core-shard.description = Первая итерация капсулы ядра. После уничтожения весь контакт с регионом теряется. Не позволяйте этому случиться.
|
block.core-shard.description = Первая итерация капсулы ядра. После уничтожения весь контакт с регионом теряется. Не позволяйте этому случиться.
|
||||||
block.core-foundation.description = Вторая версия ядра. Лучше бронированное. Хранит больше ресурсов.
|
block.core-foundation.description = Вторая версия ядра. Лучше бронированное. Хранит больше ресурсов.
|
||||||
block.core-nucleus.description = Третья и последняя итерация капсулы ядра. Очень хорошо бронированный. Хранит огромное количество ресурсов.
|
block.core-nucleus.description = Третья и последняя итерация капсулы ядра. Очень хорошо бронированный. Хранит огромное количество ресурсов.
|
||||||
block.vault.description = Хранит большое количество предметов каждого типа. Блок разгрузчика может быть использован для извлечения предметов из хранилища.
|
block.vault.description = Хранит большое количество предметов каждого типа. Блок разгрузчика может быть использован для извлечения предметов из хранилища.
|
||||||
block.container.description = Хранит небольшое количество предметов каждого типа. Блок разгрузчика может быть использован для извлечения элементов из контейнера.
|
block.container.description = Хранит небольшое количество предметов каждого типа. Блок разгрузчика может быть использован для извлечения элементов из контейнера.
|
||||||
block.unloader.description = Выгружает предметы из контейнера, хранилища или ядра на конвейер или непосредственно в соседний блок. Тип элемента, который необходимо выгрузить, можно изменить, коснувшись.
|
block.unloader.description = Выгружает предметы из контейнера, хранилища или ядра на конвейер или непосредственно в соседний блок. Тип элемента, который необходимо Выгрузить, можно изменить, коснувшись.
|
||||||
block.launch-pad.description = Запускает партии предметов без необходимости запуска ядра.
|
block.launch-pad.description = Запускает партии предметов без необходимости запуска ядра.
|
||||||
block.launch-pad-large.description = Улучшенная версия стартовой площадки. Хранит больше предметов. Запускается чаще.
|
block.launch-pad-large.description = Улучшенная версия стартовой площадки. Хранит больше предметов. Запускается чаще.
|
||||||
block.duo.description = Маленькая, дешёвая башня. Полезна против наземных юнитов.
|
block.duo.description = Маленькая, дешёвая башня. Полезна против наземных юнитов.
|
||||||
block.scatter.description = Важная противовоздушная башня. Распыляет комки свинца или металлолома вражеских подразделений.
|
block.scatter.description = Важная противовоздушная башня. Распыляет комки свинца или металлолома на вражеские подразделения.
|
||||||
block.scorch.description = Сжигает любых наземных врагов рядом с ним. Высокоэффективен на близком расстоянии.
|
block.scorch.description = Сжигает любых наземных врагов рядом с ним. Высокоэффективен на близком расстоянии.
|
||||||
block.hail.description = Маленькая дальнобойная артиллерийская башня.
|
block.hail.description = Маленькая дальнобойная артиллерийская башня.
|
||||||
block.wave.description = Башня среднего размера. Стреляет потоками жидкости по врагам. Автоматически тушит пожары при подаче воды.
|
block.wave.description = Башня среднего размера. Стреляет потоками жидкости по врагам. Автоматически тушит пожары при подаче воды.
|
||||||
@@ -1013,18 +1026,19 @@ block.ripple.description = Очень мощная артиллерийская
|
|||||||
block.cyclone.description = Большая противовоздушная и наземная башня. Выстреливает взрывными глыбами зенитных орудий в ближайшие подразделения.
|
block.cyclone.description = Большая противовоздушная и наземная башня. Выстреливает взрывными глыбами зенитных орудий в ближайшие подразделения.
|
||||||
block.spectre.description = Массивная двуствольная пушка. Стреляет крупными бронебойными пулями по воздушным и наземным целям.
|
block.spectre.description = Массивная двуствольная пушка. Стреляет крупными бронебойными пулями по воздушным и наземным целям.
|
||||||
block.meltdown.description = Массивная лазерная пушка. Заряжает и стреляет постоянным лазерным лучом в ближайших врагов. Требуется охлаждающая жидкость для работы.
|
block.meltdown.description = Массивная лазерная пушка. Заряжает и стреляет постоянным лазерным лучом в ближайших врагов. Требуется охлаждающая жидкость для работы.
|
||||||
block.draug-factory.description = Производит добывающих дронов.
|
block.command-center.description = Командует перемещениями боевых единиц по всей карте.\nУказывает подразделениям [accent]патрулировать[] территорию, [accent]атаковать[] вражеское ядро или [accent]отступать[] к ядру/фабрике. Когда вражеское ядро не представлено, единицы будут патрулировать при команде [accent]атаки[].
|
||||||
|
block.draug-factory.description = Производит добывающих дронов
|
||||||
block.spirit-factory.description = Производит дронов, которые помогают в строительстве.
|
block.spirit-factory.description = Производит дронов, которые помогают в строительстве.
|
||||||
block.phantom-factory.description = Производит улучшенных дронов, которые помогают в строительстве.
|
block.phantom-factory.description = Производит улучшенных дронов, которые помогают в строительстве.
|
||||||
block.wraith-factory.description = Производит быстрые и летающие боевые единицы.
|
block.wraith-factory.description = Производит быстрые и летающие боевые единицы.
|
||||||
block.ghoul-factory.description = Производит тяжёлых ковровых бомбардировщиков.
|
block.ghoul-factory.description = Производит тяжёлых ковровых бомбардировщиков.
|
||||||
block.revenant-factory.description = Производит тяжёлые летающие боевые единицы.
|
block.revenant-factory.description = Производит тяжёлые летающие боевые единицы.
|
||||||
block.dagger-factory.description = Производит основных наземных боевых единиц.
|
block.dagger-factory.description = Производит основных наземных боевые единиц.
|
||||||
block.crawler-factory.description = Производит быстрых саморозрушающихся боевых единиц.
|
block.crawler-factory.description = Производит быстрых саморозрушающихся боевые единиц.
|
||||||
block.titan-factory.description = Производит продвинутые бронированне боевые единицы.
|
block.titan-factory.description = Производит продвинутые бронированне боевые единицы.
|
||||||
block.fortress-factory.description = Производит тяжёлые артиллерийские боевые единицы.
|
block.fortress-factory.description = Производит тяжёлые артиллерийские боевые единицы.
|
||||||
block.repair-point.description = Непрерывно лечит ближайший поврежденную боевую единицу или мех, находящийся рядом.
|
block.repair-point.description = Непрерывно лечит ближайший поврежденную боевую единицу или мех, находящийся рядом.
|
||||||
block.dart-mech-pad.description = Обеспечивает превращение в базовый атакующий мех. \nИспользуйте, нажав, стоя на нём.
|
block.dart-mech-pad.description = Обеспечивает превращение в базоВый атакующий мех. \nИспользуйте, нажав, стоя на нём.
|
||||||
block.delta-mech-pad.description = Обеспечивает превращение в легкобронированный атакующий мех.\nИспользуйте, нажав, стоя на нём.
|
block.delta-mech-pad.description = Обеспечивает превращение в легкобронированный атакующий мех.\nИспользуйте, нажав, стоя на нём.
|
||||||
block.tau-mech-pad.description = Обеспечивает превращение в улучшенный мех поддержки.\nИспользуйте, нажав, стоя на нём.
|
block.tau-mech-pad.description = Обеспечивает превращение в улучшенный мех поддержки.\nИспользуйте, нажав, стоя на нём.
|
||||||
block.omega-mech-pad.description = Обеспечивает превращение в тяжелобронированный ракетный мех.\nИспользуйте, нажав, стоя на нём.
|
block.omega-mech-pad.description = Обеспечивает превращение в тяжелобронированный ракетный мех.\nИспользуйте, нажав, стоя на нём.
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ screenshot.invalid = Map too large, potentially not enough memory for screenshot
|
|||||||
gameover = Game Over
|
gameover = Game Over
|
||||||
gameover.pvp = The[accent] {0}[] team is victorious!
|
gameover.pvp = The[accent] {0}[] team is victorious!
|
||||||
highscore = [accent]Nytt rekord!
|
highscore = [accent]Nytt rekord!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Waves Defeated:[accent] {0}
|
stat.wave = Waves Defeated:[accent] {0}
|
||||||
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
||||||
stat.built = Buildings Built:[accent] {0}
|
stat.built = Buildings Built:[accent] {0}
|
||||||
@@ -24,10 +28,6 @@ stat.destroyed = Buildings Destroyed:[accent] {0}
|
|||||||
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
||||||
stat.delivered = Resources Launched:
|
stat.delivered = Resources Launched:
|
||||||
stat.rank = Final Rank: [accent]{0}
|
stat.rank = Final Rank: [accent]{0}
|
||||||
|
|
||||||
placeline = Du har valt ett block.\nDu kan[accent] placera i en linje[] genom att[accent] hålla ner ett finger i några sekunder[] och sedan dra åt ett håll.\n\n[scarlet]GÖR DET.
|
|
||||||
removearea = Du har valt borttagningsläget.\nDu kan[accent] ta bort block inom en rektangel[] genom att[accent] hålla ner ett finger i några sekunder[] och dra.\n\n[scarlet]GÖR DET.
|
|
||||||
|
|
||||||
launcheditems = [accent]Launched Items
|
launcheditems = [accent]Launched Items
|
||||||
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
map.delete = Are you sure you want to delete the map "[accent]{0}[]"?
|
||||||
level.highscore = High Score: [accent]{0}
|
level.highscore = High Score: [accent]{0}
|
||||||
@@ -40,11 +40,13 @@ database = Core Database
|
|||||||
savegame = Spara Spel
|
savegame = Spara Spel
|
||||||
loadgame = Importera Spel
|
loadgame = Importera Spel
|
||||||
joingame = Join Game
|
joingame = Join Game
|
||||||
|
addplayers = Add/Remove Players
|
||||||
customgame = Anpassat Spel
|
customgame = Anpassat Spel
|
||||||
newgame = Nytt Spel
|
newgame = Nytt Spel
|
||||||
none = <ingen>
|
none = <ingen>
|
||||||
minimap = Minikarta
|
minimap = Minikarta
|
||||||
close = Stäng
|
close = Stäng
|
||||||
|
website = Website
|
||||||
quit = Avsulta
|
quit = Avsulta
|
||||||
maps = Kartor
|
maps = Kartor
|
||||||
continue = Fortsätt
|
continue = Fortsätt
|
||||||
@@ -64,15 +66,18 @@ players.single = {0} spelare online
|
|||||||
server.closing = [accent]Stänger server...
|
server.closing = [accent]Stänger server...
|
||||||
server.kicked.kick = You have been kicked from the server!
|
server.kicked.kick = You have been kicked from the server!
|
||||||
server.kicked.serverClose = Server stängd.
|
server.kicked.serverClose = Server stängd.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Outdated client! Uppdatera ditt spel!
|
server.kicked.clientOutdated = Outdated client! Uppdatera ditt spel!
|
||||||
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
server.kicked.serverOutdated = Outdated server! Ask the host to update!
|
||||||
server.kicked.banned = Du är bannad från servern.
|
server.kicked.banned = Du är bannad från servern.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
|
server.kicked.recentKick = You have been kicked recently.\nWait before connecting again.
|
||||||
server.kicked.nameInUse = Någon med det namnet finns redan\npå servern.
|
server.kicked.nameInUse = Någon med det namnet finns redan\npå servern.
|
||||||
server.kicked.nameEmpty = Ditt namn är ogiltigt.
|
server.kicked.nameEmpty = Ditt namn är ogiltigt.
|
||||||
server.kicked.idInUse = You are already on this server! Connecting with two accounts is not permitted.
|
server.kicked.idInUse = You are already on this server! Connecting with two accounts is not permitted.
|
||||||
server.kicked.customClient = This server does not support custom builds. Ladda ned en officiell verision.
|
server.kicked.customClient = This server does not support custom builds. Ladda ned en officiell verision.
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery.
|
host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery.
|
||||||
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Note: There is no automatic global server list; if you want to connect to someone by IP, you would need to ask the host for their IP.
|
||||||
hostserver = Host Multiplayer Game
|
hostserver = Host Multiplayer Game
|
||||||
@@ -156,6 +161,11 @@ cancel = Avbryt
|
|||||||
openlink = Öppna Länk
|
openlink = Öppna Länk
|
||||||
copylink = Kopiera Länk
|
copylink = Kopiera Länk
|
||||||
back = Tillbaka
|
back = Tillbaka
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
classic.export = Exportera Classic-Data
|
classic.export = Exportera Classic-Data
|
||||||
classic.export.text = Sparad data från Classic (v3.5 build 40) har hittats. Vill du exportera den här datan till telefonens hem-mapp för att använda i Mindustry Classic-appen?
|
classic.export.text = Sparad data från Classic (v3.5 build 40) har hittats. Vill du exportera den här datan till telefonens hem-mapp för att använda i Mindustry Classic-appen?
|
||||||
quit.confirm = Är du säker på att du vill avsluta?
|
quit.confirm = Är du säker på att du vill avsluta?
|
||||||
@@ -250,7 +260,6 @@ editor.mapname = Kartnamn:
|
|||||||
editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
editor.overwrite = [accent]Warning!\nThis overwrites an existing map.
|
||||||
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it?
|
||||||
editor.selectmap = Select a map to load:
|
editor.selectmap = Select a map to load:
|
||||||
|
|
||||||
toolmode.replace = Byt ut
|
toolmode.replace = Byt ut
|
||||||
toolmode.replace.description = Draws only on solid blocks.
|
toolmode.replace.description = Draws only on solid blocks.
|
||||||
toolmode.replaceall = Byt ut alla
|
toolmode.replaceall = Byt ut alla
|
||||||
@@ -265,7 +274,6 @@ toolmode.fillteams = Fyll Lag
|
|||||||
toolmode.fillteams.description = Fill teams instead of blocks.
|
toolmode.fillteams.description = Fill teams instead of blocks.
|
||||||
toolmode.drawteams = Rita Lag
|
toolmode.drawteams = Rita Lag
|
||||||
toolmode.drawteams.description = Draw teams instead of blocks.
|
toolmode.drawteams.description = Draw teams instead of blocks.
|
||||||
|
|
||||||
filters.empty = [lightgray]No filters! Add one with the button below.
|
filters.empty = [lightgray]No filters! Add one with the button below.
|
||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Brus
|
filter.noise = Brus
|
||||||
@@ -297,7 +305,6 @@ filter.option.floor2 = Secondary Floor
|
|||||||
filter.option.threshold2 = Secondary Threshold
|
filter.option.threshold2 = Secondary Threshold
|
||||||
filter.option.radius = Radie
|
filter.option.radius = Radie
|
||||||
filter.option.percentile = Percentile
|
filter.option.percentile = Percentile
|
||||||
|
|
||||||
width = Bredd:
|
width = Bredd:
|
||||||
height = Höjd:
|
height = Höjd:
|
||||||
menu = Meny
|
menu = Meny
|
||||||
@@ -315,7 +322,6 @@ tutorial.retake = Ta Om Tutorial
|
|||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Map Editor
|
mapeditor = Map Editor
|
||||||
donate = Donera
|
donate = Donera
|
||||||
|
|
||||||
abandon = Ge upp
|
abandon = Ge upp
|
||||||
abandon.text = Zonen och alla dess resurser förloras till fienden.
|
abandon.text = Zonen och alla dess resurser förloras till fienden.
|
||||||
locked = Låst
|
locked = Låst
|
||||||
@@ -341,7 +347,6 @@ zone.objective.survival = Survive
|
|||||||
zone.objective.attack = Destroy Enemy Core
|
zone.objective.attack = Destroy Enemy Core
|
||||||
add = Lägg till...
|
add = Lägg till...
|
||||||
boss.health = Boss Health
|
boss.health = Boss Health
|
||||||
|
|
||||||
connectfail = [crimson]Connection error:\n\n[accent]{0}
|
connectfail = [crimson]Connection error:\n\n[accent]{0}
|
||||||
error.unreachable = Server unreachable.\nIs the address spelled correctly?
|
error.unreachable = Server unreachable.\nIs the address spelled correctly?
|
||||||
error.invalidaddress = Ogiltig adress.
|
error.invalidaddress = Ogiltig adress.
|
||||||
@@ -352,7 +357,6 @@ error.mapnotfound = Map file not found!
|
|||||||
error.io = Network I/O error.
|
error.io = Network I/O error.
|
||||||
error.any = Okänt nätverksfel.
|
error.any = Okänt nätverksfel.
|
||||||
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
error.bloom = Failed to initialize bloom.\nYour device may not support it.
|
||||||
|
|
||||||
zone.groundZero.name = Ground Zero
|
zone.groundZero.name = Ground Zero
|
||||||
zone.desertWastes.name = Desert Wastes
|
zone.desertWastes.name = Desert Wastes
|
||||||
zone.craters.name = Kratrar
|
zone.craters.name = Kratrar
|
||||||
@@ -367,7 +371,6 @@ zone.saltFlats.name = Salt Flats
|
|||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
zone.fungalPass.name = Fungal Pass
|
zone.fungalPass.name = Fungal Pass
|
||||||
|
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -382,8 +385,8 @@ zone.nuclearComplex.description = A former facility for the production and proce
|
|||||||
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
|
|
||||||
settings.language = Språk
|
settings.language = Språk
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Återställ till Standardvärden
|
settings.reset = Återställ till Standardvärden
|
||||||
settings.rebind = Byt
|
settings.rebind = Byt
|
||||||
settings.controls = Kontroller
|
settings.controls = Kontroller
|
||||||
@@ -435,7 +438,6 @@ blocks.inaccuracy = Inaccuracy
|
|||||||
blocks.shots = Skott
|
blocks.shots = Skott
|
||||||
blocks.reload = Shots/Second
|
blocks.reload = Shots/Second
|
||||||
blocks.ammo = Ammunition
|
blocks.ammo = Ammunition
|
||||||
|
|
||||||
bar.drilltierreq = Bättre Borr Krävs
|
bar.drilltierreq = Bättre Borr Krävs
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Effektivitet: {0}%
|
bar.efficiency = Effektivitet: {0}%
|
||||||
@@ -448,7 +450,6 @@ bar.heat = Hetta
|
|||||||
bar.power = Power
|
bar.power = Power
|
||||||
bar.progress = Build Progress
|
bar.progress = Build Progress
|
||||||
bar.spawned = Units: {0}/{1}
|
bar.spawned = Units: {0}/{1}
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] skada
|
bullet.damage = [stat]{0}[lightgray] skada
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
||||||
bullet.incendiary = [stat]incendiary
|
bullet.incendiary = [stat]incendiary
|
||||||
@@ -460,7 +461,6 @@ bullet.freezing = [stat]freezing
|
|||||||
bullet.tarred = [stat]tarred
|
bullet.tarred = [stat]tarred
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
||||||
bullet.reload = [stat]{0}[lightgray]x fire rate
|
bullet.reload = [stat]{0}[lightgray]x fire rate
|
||||||
|
|
||||||
unit.blocks = block
|
unit.blocks = block
|
||||||
unit.powersecond = power units/second
|
unit.powersecond = power units/second
|
||||||
unit.liquidsecond = liquid units/second
|
unit.liquidsecond = liquid units/second
|
||||||
@@ -513,10 +513,12 @@ setting.lasers.name = Show Power Lasers
|
|||||||
setting.pixelate.name = Pixellera[lightgray] (disables animations)
|
setting.pixelate.name = Pixellera[lightgray] (disables animations)
|
||||||
setting.minimap.name = Visa Minikarta
|
setting.minimap.name = Visa Minikarta
|
||||||
setting.musicvol.name = Musikvolym
|
setting.musicvol.name = Musikvolym
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Stäng Av Musik
|
setting.mutemusic.name = Stäng Av Musik
|
||||||
setting.sfxvol.name = Ljudeffektvolym
|
setting.sfxvol.name = Ljudeffektvolym
|
||||||
setting.mutesound.name = Stäng Av Ljudeffekter
|
setting.mutesound.name = Stäng Av Ljudeffekter
|
||||||
setting.crashreport.name = Skicka Anonyma Krashrapporter
|
setting.crashreport.name = Skicka Anonyma Krashrapporter
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chattgenomskinlighet
|
setting.chatopacity.name = Chattgenomskinlighet
|
||||||
setting.playerchat.name = Visa Chatt
|
setting.playerchat.name = Visa Chatt
|
||||||
uiscale.reset = UI-skalan har ändrats.\nTryck "OK" för att använda den här skalan.\n[scarlet]Avslutar och återställer om[accent] {0}[] sekunder...
|
uiscale.reset = UI-skalan har ändrats.\nTryck "OK" för att använda den här skalan.\n[scarlet]Avslutar och återställer om[accent] {0}[] sekunder...
|
||||||
@@ -537,6 +539,7 @@ keybind.press.axis = Press an axis or key...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Move x
|
keybind.move_x.name = Move x
|
||||||
keybind.move_y.name = Move y
|
keybind.move_y.name = Move y
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Select/Shoot
|
keybind.select.name = Select/Shoot
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -800,6 +803,7 @@ block.blast-mixer.name = Blast Mixer
|
|||||||
block.solar-panel.name = Solpanel
|
block.solar-panel.name = Solpanel
|
||||||
block.solar-panel-large.name = Stor Solpanel
|
block.solar-panel-large.name = Stor Solpanel
|
||||||
block.oil-extractor.name = Oljeextraktor
|
block.oil-extractor.name = Oljeextraktor
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Repair Drone Factory
|
block.spirit-factory.name = Spirit Repair Drone Factory
|
||||||
block.phantom-factory.name = Phantom Builder Drone Factory
|
block.phantom-factory.name = Phantom Builder Drone Factory
|
||||||
@@ -918,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets. Equipped with two miniature Scorch-class flamethrowers.
|
unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets. Equipped with two miniature Scorch-class flamethrowers.
|
||||||
unit.fortress.description = A heavy artillery mech. Equipped with two modified Hail-type cannons for long-range assault on enemy structures and units.
|
unit.fortress.description = A heavy artillery mech. Equipped with two modified Hail-type cannons for long-range assault on enemy structures and units.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = A fast, hit-and-run interceptor unit. Targets power generators.
|
unit.wraith.description = A fast, hit-and-run interceptor unit. Targets power generators.
|
||||||
unit.ghoul.description = A heavy carpet bomber. Rips through enemy structures, targeting critital infrastructure.
|
unit.ghoul.description = A heavy carpet bomber. Rips through enemy structures, targeting critital infrastructure.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduces sand with pure coal. Produces silicon.
|
block.silicon-smelter.description = Reduces sand with pure coal. Produces silicon.
|
||||||
@@ -1026,6 +1026,7 @@ block.ripple.description = An extremely poweful artillery turret. Shoots cluster
|
|||||||
block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units.
|
block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units.
|
||||||
block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
|
block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets.
|
||||||
block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
|
block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces Spirit structural repair drones.
|
block.spirit-factory.description = Produces Spirit structural repair drones.
|
||||||
block.phantom-factory.description = Produces advanced construction drones.
|
block.phantom-factory.description = Produces advanced construction drones.
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Map too large, potentially not enough memory for screenshot
|
|||||||
gameover = Cekirdegin yok edildi.
|
gameover = Cekirdegin yok edildi.
|
||||||
gameover.pvp = The[accent] {0}[] team is victorious!
|
gameover.pvp = The[accent] {0}[] team is victorious!
|
||||||
highscore = [accent]Yeni Yuksek skor!
|
highscore = [accent]Yeni Yuksek skor!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = Waves Defeated:[accent] {0}
|
stat.wave = Waves Defeated:[accent] {0}
|
||||||
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
stat.enemiesDestroyed = Enemies Destroyed:[accent] {0}
|
||||||
stat.built = Buildings Built:[accent] {0}
|
stat.built = Buildings Built:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Buildings Destroyed:[accent] {0}
|
|||||||
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
stat.deconstructed = Buildings Deconstructed:[accent] {0}
|
||||||
stat.delivered = Resources Launched:
|
stat.delivered = Resources Launched:
|
||||||
stat.rank = Final Rank: [accent]{0}
|
stat.rank = Final Rank: [accent]{0}
|
||||||
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
|
|
||||||
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
|
|
||||||
launcheditems = [accent]Launched Items
|
launcheditems = [accent]Launched Items
|
||||||
map.delete = Su haritayi silmek istediginden emin misin? "[accent]{0}[]"?
|
map.delete = Su haritayi silmek istediginden emin misin? "[accent]{0}[]"?
|
||||||
level.highscore = Yuksek Skor: [accent]{0}
|
level.highscore = Yuksek Skor: [accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = New Game
|
|||||||
none = <none>
|
none = <none>
|
||||||
minimap = Minimap
|
minimap = Minimap
|
||||||
close = Kapat
|
close = Kapat
|
||||||
|
website = Website
|
||||||
quit = Cik
|
quit = Cik
|
||||||
maps = Haritalar
|
maps = Haritalar
|
||||||
continue = Devam et
|
continue = Devam et
|
||||||
@@ -62,15 +66,18 @@ players.single = {0} oyuncu cevrimici
|
|||||||
server.closing = [accent]Oyun kapaniyor.
|
server.closing = [accent]Oyun kapaniyor.
|
||||||
server.kicked.kick = Oyundan cikarildin
|
server.kicked.kick = Oyundan cikarildin
|
||||||
server.kicked.serverClose = Oyun kapandi
|
server.kicked.serverClose = Oyun kapandi
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Yeni bir versiyon mevcut! Hemen indir!
|
server.kicked.clientOutdated = Yeni bir versiyon mevcut! Hemen indir!
|
||||||
server.kicked.serverOutdated = Eski oyun! Yapimciya guncellemesini soyle!
|
server.kicked.serverOutdated = Eski oyun! Yapimciya guncellemesini soyle!
|
||||||
server.kicked.banned = Oyundan kalici olarak cikarildin.
|
server.kicked.banned = Oyundan kalici olarak cikarildin.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Oyundan cikarilmistin.\nBaglanmadn once biraz bekle.
|
server.kicked.recentKick = Oyundan cikarilmistin.\nBaglanmadn once biraz bekle.
|
||||||
server.kicked.nameInUse = Oyunda bu isimde bir\nkisi zaten var.
|
server.kicked.nameInUse = Oyunda bu isimde bir\nkisi zaten var.
|
||||||
server.kicked.nameEmpty = ismin gecerli degil.
|
server.kicked.nameEmpty = ismin gecerli degil.
|
||||||
server.kicked.idInUse = Zaten oyundasin! iki ayri hesapla oyuna katilamazsin!
|
server.kicked.idInUse = Zaten oyundasin! iki ayri hesapla oyuna katilamazsin!
|
||||||
server.kicked.customClient = Bu oyun ayarlanmis vesiyonlara izin vermiyor. Orijinal bir versiyon dene!
|
server.kicked.customClient = Bu oyun ayarlanmis vesiyonlara izin vermiyor. Orijinal bir versiyon dene!
|
||||||
server.kicked.gameover = Game over!
|
server.kicked.gameover = Game over!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = [accent]host[] su linkte bir oyun acti! [scarlet]6567[]. \nSeninle [LIGHT_GRAY]ayni internete[] sahip olan kisiler oyunu gorebilir.\n\neger baska yerlerden kisilerind de gelmesini istiyorsan, [accent]oyun acmak[]zorunludur.\n\n[LIGHT_GRAY]Not: eger baglanmakta gucluk cekiliyorsa, antivirusunun internetine baglanmasini izin vermesini sagla.
|
host.info = [accent]host[] su linkte bir oyun acti! [scarlet]6567[]. \nSeninle [LIGHT_GRAY]ayni internete[] sahip olan kisiler oyunu gorebilir.\n\neger baska yerlerden kisilerind de gelmesini istiyorsan, [accent]oyun acmak[]zorunludur.\n\n[LIGHT_GRAY]Not: eger baglanmakta gucluk cekiliyorsa, antivirusunun internetine baglanmasini izin vermesini sagla.
|
||||||
join.info = Buradan,[accent]Oyunun linkini[] kullanarak katilabilir, yada, [accent]internetinle[] baglanacak oyun bulabilirsin\ninternetli ve Linkli oyunlar desteklenir.\n\n[LIGHT_GRAY]Not: Otomatik bir oyun listesi goruntulenemez. Yapimcidan linkini iste.
|
join.info = Buradan,[accent]Oyunun linkini[] kullanarak katilabilir, yada, [accent]internetinle[] baglanacak oyun bulabilirsin\ninternetli ve Linkli oyunlar desteklenir.\n\n[LIGHT_GRAY]Not: Otomatik bir oyun listesi goruntulenemez. Yapimcidan linkini iste.
|
||||||
hostserver = Oyun ac
|
hostserver = Oyun ac
|
||||||
@@ -154,7 +161,15 @@ cancel = iptal
|
|||||||
openlink = Linki ac
|
openlink = Linki ac
|
||||||
copylink = Linki kopyala
|
copylink = Linki kopyala
|
||||||
back = Geri don
|
back = Geri don
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = Cikmak istedigine emin misin?
|
quit.confirm = Cikmak istedigine emin misin?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]Yukleniyor...
|
loading = [accent]Yukleniyor...
|
||||||
saving = [accent]Kaydediliyor...
|
saving = [accent]Kaydediliyor...
|
||||||
wave = [accent]Dalga {0}
|
wave = [accent]Dalga {0}
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
|||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Noise
|
filter.noise = Noise
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Ore
|
filter.ore = Ore
|
||||||
@@ -302,6 +318,7 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Lutfen dil degisiminin etkin olmasi icin oyunu yeniden baslatin
|
language.restart = Lutfen dil degisiminin etkin olmasi icin oyunu yeniden baslatin
|
||||||
settings = ayarlar
|
settings = ayarlar
|
||||||
tutorial = Tutorial
|
tutorial = Tutorial
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = Editor
|
editor = Editor
|
||||||
mapeditor = Harita yaraticisi
|
mapeditor = Harita yaraticisi
|
||||||
donate = Bagis yap
|
donate = Bagis yap
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]Best: {0}
|
|||||||
launch = Launch
|
launch = Launch
|
||||||
launch.title = Launch Successful
|
launch.title = Launch Successful
|
||||||
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
launch.next = [LIGHT_GRAY]next opportunity at wave {0}
|
||||||
launch.unable = [scarlet]Unable to LAUNCH.[] Enemies.
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base.
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = Uncover
|
uncover = Uncover
|
||||||
configure = Configure Loadout
|
configure = Configure Loadout
|
||||||
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
|
configure.locked = [LIGHT_GRAY]Reach wave {0}\nto configure loadout.
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = Tar Fields
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = Dil
|
settings.language = Dil
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = ilk ayarlara geri al
|
settings.reset = ilk ayarlara geri al
|
||||||
settings.rebind = Geri al
|
settings.rebind = Geri al
|
||||||
settings.controls = Kontroller
|
settings.controls = Kontroller
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = sekme
|
|||||||
blocks.shots = vuruslar
|
blocks.shots = vuruslar
|
||||||
blocks.reload = Yeniden doldurma
|
blocks.reload = Yeniden doldurma
|
||||||
blocks.ammo = Ammo
|
blocks.ammo = Ammo
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = Drill Speed: {0}/s
|
bar.drillspeed = Drill Speed: {0}/s
|
||||||
bar.efficiency = Efficiency: {0}%
|
bar.efficiency = Efficiency: {0}%
|
||||||
bar.powerbalance = Power: {0}
|
bar.powerbalance = Power: {0}
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = Guc lazerlerini goster
|
|||||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
||||||
setting.minimap.name = Haritayi goster
|
setting.minimap.name = Haritayi goster
|
||||||
setting.musicvol.name = Ses yuksekligi
|
setting.musicvol.name = Ses yuksekligi
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = Sesi kapat
|
setting.mutemusic.name = Sesi kapat
|
||||||
setting.sfxvol.name = Ses seviyesi
|
setting.sfxvol.name = Ses seviyesi
|
||||||
setting.mutesound.name = Sesi kapat
|
setting.mutesound.name = Sesi kapat
|
||||||
setting.crashreport.name = Send Anonymous Crash Reports
|
setting.crashreport.name = Send Anonymous Crash Reports
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Chat Opacity
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = Bir yone cevir yada tusa bas...
|
|||||||
keybind.screenshot.name = Map Screenshot
|
keybind.screenshot.name = Map Screenshot
|
||||||
keybind.move_x.name = Sol/Sag hareket
|
keybind.move_x.name = Sol/Sag hareket
|
||||||
keybind.move_y.name = Yukari/asagi hareket
|
keybind.move_y.name = Yukari/asagi hareket
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = Sec/silahi sik
|
keybind.select.name = Sec/silahi sik
|
||||||
keybind.diagonal_placement.name = Diagonal Placement
|
keybind.diagonal_placement.name = Diagonal Placement
|
||||||
keybind.pick.name = Pick Block
|
keybind.pick.name = Pick Block
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = Patlayici karistiricisi
|
|||||||
block.solar-panel.name = gunes paneli
|
block.solar-panel.name = gunes paneli
|
||||||
block.solar-panel-large.name = genis gunes paneli
|
block.solar-panel-large.name = genis gunes paneli
|
||||||
block.oil-extractor.name = benzin ayirici
|
block.oil-extractor.name = benzin ayirici
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = Spirit Drone Factory
|
block.spirit-factory.name = Spirit Drone Factory
|
||||||
block.phantom-factory.name = Phantom Drone Factory
|
block.phantom-factory.name = Phantom Drone Factory
|
||||||
@@ -819,9 +845,10 @@ block.container.name = Container
|
|||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Launch Pad
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Large Launch Pad
|
||||||
team.blue.name = blue
|
team.blue.name = blue
|
||||||
team.red.name = red
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = orange
|
team.orange.name = orange
|
||||||
team.none.name = gray
|
team.derelict.name = derelict
|
||||||
team.green.name = green
|
team.green.name = green
|
||||||
team.purple.name = purple
|
team.purple.name = purple
|
||||||
unit.spirit.name = Spirit Drone
|
unit.spirit.name = Spirit Drone
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = Chaos Array
|
|||||||
unit.eradicator.name = Eradicator
|
unit.eradicator.name = Eradicator
|
||||||
unit.lich.name = Lich
|
unit.lich.name = Lich
|
||||||
unit.reaper.name = Reaper
|
unit.reaper.name = Reaper
|
||||||
tutorial.begin = Your mission here is to eradicate the[LIGHT_GRAY] enemy[].\n\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
tutorial.drill = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nPlace one on a copper vein.
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.
|
||||||
tutorial.morecopper = More copper is required.\n\nEither mine it manually, or place more drills.
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
tutorial.turret = Defensive structures must be built to repel the[LIGHT_GRAY] enemy[].\nBuild a duo turret near your base.
|
||||||
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill next to the turret to supply it with mined copper.
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
tutorial.waves = The[LIGHT_GRAY] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets.
|
||||||
tutorial.lead = More ores are available. Explore and mine[accent] lead[].\n\nDrag from your unit to the core to transfer resources.
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = Copper and lead are weak metals.\nSuperior[accent] Dense Alloy[] can be created in a smelter.\n\nBuild one.
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = The smelter will now produce alloy.\nGet some.\nImprove the production if necessary.
|
|
||||||
tutorial.siliconsmelter = The core will now create a[accent] spirit drone[] for mining and repairing blocks.\n\nFactories for other units can be created with [accent] silicon.\nMake a silicon smelter.
|
|
||||||
tutorial.silicondrill = Silicon requires[accent] coal[] and[accent] sand[].\nStart by making drills.
|
|
||||||
tutorial.generator = This technology requires power.\nCreate a[accent] combustion generator[] for it.
|
|
||||||
tutorial.generatordrill = Combustion generators need fuel.\nFuel it with coal from a drill.
|
|
||||||
tutorial.node = Power requires transport.\nCreate a[accent] power node[] next to your combustion generator to transfer its power.
|
|
||||||
tutorial.nodelink = Power can be transferred through contacting power blocks and generators, or by linked power nodes.\n\nLink power by tapping the node and selecting the generator and silicon smelter.
|
|
||||||
tutorial.silicon = Silicon is being produced. Get some.\n\nImproving the production system is advised.
|
|
||||||
tutorial.daggerfactory = Construct a[accent] dagger mech factory.[]\n\nThis will be used to create attack mechs.
|
|
||||||
tutorial.router = Factories need resources to function.\nCreate a router to split conveyor resources.
|
|
||||||
tutorial.dagger = Link power nodes to the factory.\nOnce requirements are met, a mech will be created.\n\nCreate more drills, generators and conveyors as necessary.
|
|
||||||
tutorial.battle = The[LIGHT_GRAY] enemy[] has revealed their core.\nDestroy it with your unit and dagger mechs.
|
|
||||||
item.copper.description = ise yayar bir materyal. Kazma makineleriyle yada tasimayla alinabilir.
|
item.copper.description = ise yayar bir materyal. Kazma makineleriyle yada tasimayla alinabilir.
|
||||||
item.lead.description = Basit bir baslangic materyali. sivi tasimada kullanilabilir.
|
item.lead.description = Basit bir baslangic materyali. sivi tasimada kullanilabilir.
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = havaya sikabilen, gelismis bir unit
|
unit.titan.description = havaya sikabilen, gelismis bir unit
|
||||||
unit.fortress.description = A heavy artillery ground unit.
|
unit.fortress.description = A heavy artillery ground unit.
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
unit.wraith.description = A fast, hit-and-run interceptor unit.
|
||||||
unit.ghoul.description = A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
unit.ghoul.description = A heavy carpet bomber. Uses blast compound or pyratite as ammo.
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = Reduces sand with highly pure coke in order to produce silicon.
|
block.silicon-smelter.description = Reduces sand with highly pure coke in order to produce silicon.
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = A large artillery turret which fires several shots si
|
|||||||
block.cyclone.description = A large rapid fire turret.
|
block.cyclone.description = A large rapid fire turret.
|
||||||
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
block.spectre.description = A large turret which shoots two powerful bullets at once.
|
||||||
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
block.meltdown.description = A large turret which shoots powerful long-range beams.
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
block.spirit-factory.description = Produces light drones which mine ore and repair blocks.
|
||||||
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
block.phantom-factory.description = Produces advanced drone units which are significantly more effective than a spirit drone.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
credits.text = Створив [ROYAL]Anuken[] — [SKY]anukendev@gmail.com[]\n\nЄ питання по грі або проблеми з перекладом?\nЙдіть в офіційний сервер discord Mindustry у канал #український.\nПерекладач: [blue]Prosta4ok_ua[green]#[yellow]6336
|
credits.text = Створив [ROYAL]Anuken[] — [SKY]anukendev@gmail.com[]\n\nЄ питання по грі або проблеми з перекладом?\nЙдіть в офіційний сервер discord Mindustry у канал #український.\nПерекладач: [blue]Prosta4ok_ua[green]#[yellow]6336
|
||||||
credits = Автори
|
credits = Творці
|
||||||
contributors = Перекладачі та помічники
|
contributors = Перекладачі та помічники
|
||||||
discord = Приєднуйтесь до нашого Discord!
|
discord = Приєднуйтесь до нашого Discord!
|
||||||
link.discord.description = Офіційний Discord-сервер Mindustry
|
link.discord.description = Офіційний Discord-сервер Mindustry
|
||||||
@@ -7,7 +7,7 @@ link.github.description = Вихідний код гри
|
|||||||
link.changelog.description = Список змін
|
link.changelog.description = Список змін
|
||||||
link.dev-builds.description = Нестабільні версії
|
link.dev-builds.description = Нестабільні версії
|
||||||
link.trello.description = Офіційна дошка Trello для запланованих функцій
|
link.trello.description = Офіційна дошка Trello для запланованих функцій
|
||||||
link.itch.io.description = Itch.io сторінка з веб-версією і завантаженнями
|
link.itch.io.description = Завантаж гру на Itch.io
|
||||||
link.google-play.description = Скачати для Android з Google Play
|
link.google-play.description = Скачати для Android з Google Play
|
||||||
link.wiki.description = Офіційна вікі
|
link.wiki.description = Офіційна вікі
|
||||||
linkfail = Не вдалося відкрити посилання!\nURL-адреса була скопійована у буфер обміну.
|
linkfail = Не вдалося відкрити посилання!\nURL-адреса була скопійована у буфер обміну.
|
||||||
@@ -16,6 +16,11 @@ screenshot.invalid = Мапа занадто велика, тому, мабут
|
|||||||
gameover = Гру закінчено
|
gameover = Гру закінчено
|
||||||
gameover.pvp = [accent] {0}[] команда перемогла!
|
gameover.pvp = [accent] {0}[] команда перемогла!
|
||||||
highscore = [YELLOW]Новий рекорд!
|
highscore = [YELLOW]Новий рекорд!
|
||||||
|
load.sound = Звуки
|
||||||
|
load.map = Мапи
|
||||||
|
load.image = Зображення
|
||||||
|
load.content = Зміст
|
||||||
|
load.system = Система
|
||||||
stat.wave = Хвиль відбито:[accent] {0}
|
stat.wave = Хвиль відбито:[accent] {0}
|
||||||
stat.enemiesDestroyed = Ворогів вбито:[accent] {0}
|
stat.enemiesDestroyed = Ворогів вбито:[accent] {0}
|
||||||
stat.built = Будівель збудувано:[accent] {0}
|
stat.built = Будівель збудувано:[accent] {0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = Будівель знищено:[accent] {0}
|
|||||||
stat.deconstructed = Будівель декоструйовано[accent] {0}
|
stat.deconstructed = Будівель декоструйовано[accent] {0}
|
||||||
stat.delivered = Ресурсів видобуто:
|
stat.delivered = Ресурсів видобуто:
|
||||||
stat.rank = Фінальний рахунок: [accent]{0}
|
stat.rank = Фінальний рахунок: [accent]{0}
|
||||||
placeline = Ви вибрали блок.\nВи можете [accent]будувати в лінію[] [accent]утримуючи палець протягом декількох секунд[] і потім перетягуючи його.\n\n[scarlet]ЗРОБИ ЦЕ.
|
|
||||||
removearea = Ви вибрали режим видалення.\nВи можете [accent]видаляти блоки в обраній області[],[accent]утримуючи палець кілька секунд[] і потім перетягуючи його.\n\n[scarlet]ЗРОБИ ЦЕ.
|
|
||||||
launcheditems = [accent]Запущені предмети
|
launcheditems = [accent]Запущені предмети
|
||||||
map.delete = Ви впевнені, що хочете видалити мапу «[accent]{0}[]»?
|
map.delete = Ви впевнені, що хочете видалити мапу «[accent]{0}[]»?
|
||||||
level.highscore = Рекорд: [accent]{0}
|
level.highscore = Рекорд: [accent]{0}
|
||||||
@@ -33,7 +36,6 @@ level.mode = Режим гри:
|
|||||||
showagain = Не показувати знову до наступного сеансу
|
showagain = Не показувати знову до наступного сеансу
|
||||||
coreattack = < Ядро знаходиться під атакою! >
|
coreattack = < Ядро знаходиться під атакою! >
|
||||||
nearpoint = [[ [scarlet]ЗАЛИШТЕ ЦЮ ЗОНУ НЕГАЙНО[] ]\nАннігіляція неминуча.
|
nearpoint = [[ [scarlet]ЗАЛИШТЕ ЦЮ ЗОНУ НЕГАЙНО[] ]\nАннігіляція неминуча.
|
||||||
outofbounds = [ ПОЗА МЕЖАМИ ]\nСаморуйнування через{0}
|
|
||||||
database = База даних ядра
|
database = База даних ядра
|
||||||
savegame = Зберегти гру
|
savegame = Зберегти гру
|
||||||
loadgame = Завантажити гру
|
loadgame = Завантажити гру
|
||||||
@@ -44,41 +46,44 @@ newgame = Нова гра
|
|||||||
none = <нічого>
|
none = <нічого>
|
||||||
minimap = Міні-мапа
|
minimap = Міні-мапа
|
||||||
close = Закрити
|
close = Закрити
|
||||||
quit = Вихід
|
|
||||||
website = Веб-сайт
|
website = Веб-сайт
|
||||||
|
quit = Вихід
|
||||||
maps = Мапи
|
maps = Мапи
|
||||||
continue = Продовжити
|
continue = Продовжити
|
||||||
maps.none = [LIGHT_GRAY]Мап не знайдено!
|
maps.none = [lightgray]Мап не знайдено!
|
||||||
about.button = Про гру
|
about.button = Про гру
|
||||||
name = Ім’я:
|
name = Ім’я:
|
||||||
noname = Спочатку придумайте[accent] собі ім’я[].
|
noname = Спочатку придумайте[accent] собі ім’я[].
|
||||||
filename = Ім’я файлу:
|
filename = Ім’я файлу:
|
||||||
unlocked = Новий контент розблоковано!
|
unlocked = Новий контент розблоковано!
|
||||||
completed = [accent]Завершено
|
completed = [accent]Завершено
|
||||||
techtree = Технологічне дерево
|
techtree = Дерево технологій
|
||||||
research.list = [LIGHT_GRAY]Дослідження:
|
research.list = [lightgray]Дослідження:
|
||||||
research = Дослідження
|
research = Дослідження
|
||||||
researched = [LIGHT_GRAY]{0} досліджено.
|
researched = [lightgray]{0} досліджено.
|
||||||
players = Гравців на сервері: {0}
|
players = Гравців на сервері: {0}
|
||||||
players.single = {0} гравець на сервері
|
players.single = {0} гравець на сервері
|
||||||
server.closing = [accent]Закриття серверу...
|
server.closing = [accent]Закриття серверу…
|
||||||
server.kicked.kick = Ви були вигнані з сервера!
|
server.kicked.kick = Ви були вигнані з сервера!
|
||||||
server.kicked.serverClose = Сервер закрито.
|
server.kicked.serverClose = Сервер закрито.
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = Застарілий клієнт! Оновіть свою гру!
|
server.kicked.clientOutdated = Застарілий клієнт! Оновіть свою гру!
|
||||||
server.kicked.serverOutdated = Застарілий сервер! Попросіть адміністратора серверу оновити сервер/гру!
|
server.kicked.serverOutdated = Застарілий сервер! Попросіть адміністратора серверу оновити сервер/гру!
|
||||||
server.kicked.banned = Ви заблоковані на цьому сервері.
|
server.kicked.banned = Ви заблоковані на цьому сервері.
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = Нещодавно Вас вигнали. \nПочекайте трохи перед наступним підключенням.
|
server.kicked.recentKick = Нещодавно Вас вигнали. \nПочекайте трохи перед наступним підключенням.
|
||||||
server.kicked.nameInUse = На цьому сервері є хтось з таким ім’ям.
|
server.kicked.nameInUse = На цьому сервері є хтось з таким ім’ям.
|
||||||
server.kicked.nameEmpty = Ваше ім’я має містити принаймні один символ або цифру.
|
server.kicked.nameEmpty = Ваше ім’я має містити принаймні один символ або цифру.
|
||||||
server.kicked.idInUse = Ви вже на цьому сервері! Підключення двох облікових записів не допускається.
|
server.kicked.idInUse = Ви вже на цьому сервері! Підключення двох облікових записів не допускається.
|
||||||
server.kicked.customClient = Цей сервер не підтримує користувальницькі збірки. Завантажте офіційну версію.
|
server.kicked.customClient = Цей сервер не підтримує користувальницькі збірки. Завантажте офіційну версію.
|
||||||
server.kicked.gameover = Гра завершена!
|
server.kicked.gameover = Гра завершена!
|
||||||
host.info = Кнопка [accent]Сервер[] розміщує сервер на порті [scarlet]6567[]. \nКористувачі, які знаходяться у тій же [LIGHT_GRAY]WiFi або локальній мережі[] повинні бачити ваш сервер у своєму списку серверів.\n\nЯкщо ви хочете, щоб люди могли приєднуватися з будь-якої точки через IP, то [accent] переадресація порту [] обов’язкова.\n\n[LIGHT_GRAY] Примітка. Якщо у вас виникли проблеми з підключенням до вашої локальної гри, переконайтеся, що ви дозволили Mindustry доступ до вашої локальної мережі в налаштуваннях брандмауера. Зауважте, що публічні мережі іноді не дозволяють виявити сервер.
|
server.versions = Ваша версія:[accent] {0}[]\nВерсія на сервері:[accent] {1}[]
|
||||||
join.info = Тут Ви можете ввести [accent]IP серверу[] для підключення або знайти сервери у [accent]локальній мережі[] для підключення до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[LIGHT_GRAY] Примітка. Тут немає автоматичного глобального списку серверів; якщо ви хочете підключитися до когось через IP, вам доведеться попросити створювача серверу дати свій ip.
|
host.info = Кнопка [accent]Сервер[] розміщує сервер на порті [scarlet]6567[]. \nКористувачі, які знаходяться у тій же [lightgray]WiFi або локальній мережі[], повинні бачити ваш сервер у своєму списку серверів.\n\nЯкщо ви хочете, щоб люди могли приєднуватися з будь-якої точки через IP, то [accent] переадресація порту [] обов’язкова.\n\n[lightgray] Примітка. Якщо у вас виникли проблеми з підключенням до вашої локальної гри, переконайтеся, що ви дозволили Mindustry доступ до вашої локальної мережі в налаштуваннях брандмауера. Зауважте, що публічні мережі іноді не дозволяють виявити сервер.
|
||||||
|
join.info = Тут Ви можете ввести [accent]IP серверу[] для підключення або знайти сервери у [accent]локальній мережі[] для підключення до них.\nПідтримується локальна мережа(LAN) і широкосмугова мережа(WAN).\n\n[lightgray] Примітка. Тут немає автоматичного глобального списку серверів; якщо ви хочете підключитися до когось через IP, вам доведеться попросити створювача серверу дати свій ip.
|
||||||
hostserver = Запустити багатокористувальницький сервер
|
hostserver = Запустити багатокористувальницький сервер
|
||||||
hostserver.mobile = Запустити\nсервер
|
hostserver.mobile = Запустити\nсервер
|
||||||
host = Сервер
|
host = Сервер
|
||||||
hosting = [accent]Відкриття серверу...
|
hosting = [accent]Відкриття серверу…
|
||||||
hosts.refresh = Оновити
|
hosts.refresh = Оновити
|
||||||
hosts.discovering = Пошук локальних ігор
|
hosts.discovering = Пошук локальних ігор
|
||||||
server.refreshing = Оновлення серверу
|
server.refreshing = Оновлення серверу
|
||||||
@@ -92,37 +97,37 @@ trace.mobile = Мобільний клієнт: [accent]{0}
|
|||||||
trace.modclient = Користувацький клієнт: [accent]{0}
|
trace.modclient = Користувацький клієнт: [accent]{0}
|
||||||
invalidid = Невірний ідентифікатор клієнта! Надішліть звіт про помилку.
|
invalidid = Невірний ідентифікатор клієнта! Надішліть звіт про помилку.
|
||||||
server.bans = Блокування
|
server.bans = Блокування
|
||||||
server.bans.none = Заблокованих гравців нема!
|
server.bans.none = Заблокованих гравців немає!
|
||||||
server.admins = Адміністратори
|
server.admins = Адміністратори
|
||||||
server.admins.none = Адміністраторів нема!
|
server.admins.none = Адміністраторів немає!
|
||||||
server.add = Додати сервер
|
server.add = Додати сервер
|
||||||
server.delete = Ви впевнені, що хочете видалити цей сервер?
|
server.delete = Ви впевнені, що хочете видалити цей сервер?
|
||||||
server.edit = Редагувати сервер
|
server.edit = Редагувати сервер
|
||||||
server.outdated = [crimson]Застарілий сервер![]
|
server.outdated = [crimson]Застарілий сервер![]
|
||||||
server.outdated.client = [crimson]Застарілий клієнт![]
|
server.outdated.client = [crimson]Застарілий клієнт![]
|
||||||
server.version = [lightgray]Версія: {0}
|
server.version = [lightgray]Версія: {0}
|
||||||
server.custombuild = [yellow]Користувальницька збірка
|
server.custombuild = [yellow]Користувацька збірка
|
||||||
confirmban = Ви впевнені, що хочете заблокувати цього гравця?
|
confirmban = Ви дійсно хочете заблокувати цього гравця?
|
||||||
confirmkick = Ви впевнені, що хочете викинути цього гравця?
|
confirmkick = Ви дійсно хочете викинути цього гравця?
|
||||||
confirmunban = Ви впевнені, що хочете розблокувати цього гравця?
|
confirmunban = Ви дійсно хочете розблокувати цього гравця?
|
||||||
confirmadmin = Ви впевнені, що хочете зробити цього гравця адміністратором?
|
confirmadmin = Ви дійсно хочете зробити цього гравця адміністратором?
|
||||||
confirmunadmin = Ви впевнені, що хочете видалити статус адміністратора з цього гравця?
|
confirmunadmin = Ви дійсно хочете видалити статус адміністратора з цього гравця?
|
||||||
joingame.title = Приєднатися до гри
|
joingame.title = Приєднатися до гри
|
||||||
joingame.ip = IP:
|
joingame.ip = IP:
|
||||||
disconnect = Відключено.
|
disconnect = Відключено.
|
||||||
disconnect.data = Не вдалося завантажити дані світу!
|
disconnect.data = Не вдалося завантажити дані світу!
|
||||||
connecting = [accent]Підключення...
|
connecting = [accent]Підключення…
|
||||||
connecting.data = [accent]Завантаження даних світу...
|
connecting.data = [accent]Завантаження даних світу…
|
||||||
server.port = Порт:
|
server.port = Порт:
|
||||||
server.addressinuse = Ця адреса вже використовується!
|
server.addressinuse = Ця адреса вже використовується!
|
||||||
server.invalidport = Недійсний номер порту!
|
server.invalidport = Недійсний номер порту!
|
||||||
server.error = [crimson]Помилка створення серверу: [accent]{0}
|
server.error = [crimson]Помилка створення серверу: [accent]{0}
|
||||||
save.old = Це збереження для старої версії гри, і його більше не можна використовувати.\n\n [LIGHT_GRAY]Зворотна сумісність буде реалізована у фінальній версії 4.0.
|
save.old = Це збереження для старої версії гри, і його більше не можна використовувати.\n\n [lightgray]Зворотна сумісність буде реалізована у фінальній версії 4.0.
|
||||||
save.new = Нове збереження
|
save.new = Нове збереження
|
||||||
save.overwrite = Ви впевнені, що хочете перезаписати цей слот для збереження?
|
save.overwrite = Ви впевнені, що хочете перезаписати цей слот для збереження?
|
||||||
overwrite = Перезаписати
|
overwrite = Перезаписати
|
||||||
save.none = Збережень не знайдено!
|
save.none = Збережень не знайдено!
|
||||||
saveload = [accent]Збереження...
|
saveload = [accent]Збереження…
|
||||||
savefail = Не вдалося зберегти гру!
|
savefail = Не вдалося зберегти гру!
|
||||||
save.delete.confirm = Ви впевнені, що хочете видалити це збереження?
|
save.delete.confirm = Ви впевнені, що хочете видалити це збереження?
|
||||||
save.delete = Видалити
|
save.delete = Видалити
|
||||||
@@ -156,23 +161,28 @@ cancel = Скасувати
|
|||||||
openlink = Відкрити посилання
|
openlink = Відкрити посилання
|
||||||
copylink = Скопіювати посилання
|
copylink = Скопіювати посилання
|
||||||
back = Назад
|
back = Назад
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
classic.export = Експортувати класичні дані
|
classic.export = Експортувати класичні дані
|
||||||
classic.export.text = Класичне (версія 3.5 збірка 40) збереження або мапа були знайдені. Ви хочете експортувати ці дані в домашню папку телефону, для використання у додатку Mindustry Classic?
|
classic.export.text = Класичне (версія 3.5 збірка 40) збереження або мапа були знайдені. Ви хочете експортувати ці дані в домашню теку телефону, для використання у додатку Mindustry Classic?
|
||||||
quit.confirm = Ви впевнені, що хочете вийти?
|
quit.confirm = Ви впевнені, що хочете вийти?
|
||||||
quit.confirm.tutorial = Ви впевнені, що хочете вийти з навчання?
|
quit.confirm.tutorial = Ви впевнені, що хочете вийти з навчання?
|
||||||
loading = [accent]Завантаження...
|
loading = [accent]Завантаження…
|
||||||
saving = [accent]Збереження...
|
saving = [accent]Збереження…
|
||||||
wave = [accent]Хвиля {0}
|
wave = [accent]Хвиля {0}
|
||||||
wave.waiting = Хвиля через {0}
|
wave.waiting = Хвиля через {0}
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Хвиля триває
|
wave.waveInProgress = [lightgray]Хвиля триває
|
||||||
waiting = Очікування...
|
waiting = Очікування…
|
||||||
waiting.players = Очікування гравців...
|
waiting.players = Очікування гравців…
|
||||||
wave.enemies = [LIGHT_GRAY]{0} ворог. залишилося
|
wave.enemies = [lightgray]{0} ворог. залишилося
|
||||||
wave.enemy = [LIGHT_GRAY]{0} ворог залишився
|
wave.enemy = [lightgray]{0} ворог залишився
|
||||||
loadimage = Завантажити зображення
|
loadimage = Завантажити зображення
|
||||||
saveimage = Зберегти зображення
|
saveimage = Зберегти зображення
|
||||||
unknown = Невідомо
|
unknown = Невідомо
|
||||||
custom = Користувальницька
|
custom = Користувацька
|
||||||
builtin = Вбудована
|
builtin = Вбудована
|
||||||
map.delete.confirm = Ви впевнені, що хочете видалити цю мапу? Цю дію неможливо скасувати!
|
map.delete.confirm = Ви впевнені, що хочете видалити цю мапу? Цю дію неможливо скасувати!
|
||||||
map.random = [accent]Випадкова мапа
|
map.random = [accent]Випадкова мапа
|
||||||
@@ -195,25 +205,25 @@ editor.newmap = Нова мапа
|
|||||||
waves.title = Хвилі
|
waves.title = Хвилі
|
||||||
waves.remove = Видалити
|
waves.remove = Видалити
|
||||||
waves.never = <ніколи>
|
waves.never = <ніколи>
|
||||||
waves.every = Кожен
|
waves.every = кожен
|
||||||
waves.waves = хвиля(і)
|
waves.waves = хвиля(і)
|
||||||
waves.perspawn = за появу
|
waves.perspawn = за появу
|
||||||
waves.to = до
|
waves.to = до
|
||||||
waves.boss = Бос
|
waves.boss = Бос
|
||||||
waves.preview = Попередній перегляд
|
waves.preview = Попередній перегляд
|
||||||
waves.edit = Редагувати ...
|
waves.edit = Редагувати …
|
||||||
waves.copy = Копіювати у буфер обміну
|
waves.copy = Копіювати у буфер обміну
|
||||||
waves.load = Завантажити з буфера обміну
|
waves.load = Завантажити з буфера обміну
|
||||||
waves.invalid = Недійсні хвилі у буфері обміну.
|
waves.invalid = Недійсні хвилі у буфері обміну.
|
||||||
waves.copied = Хвилі скопійовані.
|
waves.copied = Хвилі скопійовані.
|
||||||
waves.none = Вороги не були встановлені.\nЗазначимо, що пуста хвиля буде автоматично замінена звичайною хвилею.
|
waves.none = Вороги не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею.
|
||||||
editor.default = [LIGHT_GRAY]<За замовчуванням>
|
editor.default = [lightgray]<За замовчуванням>
|
||||||
edit = Редагувати...
|
edit = Редагувати…
|
||||||
editor.name = Назва:
|
editor.name = Назва:
|
||||||
editor.spawn = Створити бойову одиницю
|
editor.spawn = Створити бойову одиницю
|
||||||
editor.removeunit = Видалити бойову одиницю
|
editor.removeunit = Видалити бойову одиницю
|
||||||
editor.teams = Команди
|
editor.teams = Команди
|
||||||
editor.errorload = Помилка завантаження зображення:[accent] {0}
|
editor.errorload = Помилка завантаження зображення:\n[accent] {0}
|
||||||
editor.errorsave = Помилка збереження зображення:\n[accent]{0}
|
editor.errorsave = Помилка збереження зображення:\n[accent]{0}
|
||||||
editor.errorimage = Це зображення, а не мапа. Не змінюйте розширення, очікуючи, що це запрацює.\n\nЯкщо Ви хочете імпортувати застарілку мапу, то використовуйте кнопку «Імпортувати застаріле зображення» у редакторі.
|
editor.errorimage = Це зображення, а не мапа. Не змінюйте розширення, очікуючи, що це запрацює.\n\nЯкщо Ви хочете імпортувати застарілку мапу, то використовуйте кнопку «Імпортувати застаріле зображення» у редакторі.
|
||||||
editor.errorlegacy = Ця мапа занадто стара і використовує попередній формат мапи, який більше не підтримується.
|
editor.errorlegacy = Ця мапа занадто стара і використовує попередній формат мапи, який більше не підтримується.
|
||||||
@@ -230,14 +240,14 @@ editor.saved = Збережено!
|
|||||||
editor.save.noname = Ваша мапа не має імені! Встановіть його в «Інформація про мапу».
|
editor.save.noname = Ваша мапа не має імені! Встановіть його в «Інформація про мапу».
|
||||||
editor.save.overwrite = Ваша мапа перезаписує вбудовану мапу! Виберіть інше ім’я в «Інформація про мапу».
|
editor.save.overwrite = Ваша мапа перезаписує вбудовану мапу! Виберіть інше ім’я в «Інформація про мапу».
|
||||||
editor.import.exists = [scarlet]Неможливо імпортувати:[] вбудована мапа з назвою «{0}» вже існує!
|
editor.import.exists = [scarlet]Неможливо імпортувати:[] вбудована мапа з назвою «{0}» вже існує!
|
||||||
editor.import = Імпорт...
|
editor.import = Імпорт…
|
||||||
editor.importmap = Імпортувати мапу
|
editor.importmap = Імпортувати мапу
|
||||||
editor.importmap.description = Імпортувати вже існуючу мапу
|
editor.importmap.description = Імпортувати вже існуючу мапу
|
||||||
editor.importfile = Імпортувати файл
|
editor.importfile = Імпортувати файл
|
||||||
editor.importfile.description = Імпортувати зовнішній файл мапи
|
editor.importfile.description = Імпортувати зовнішній файл мапи
|
||||||
editor.importimage = Імпортувати застаріле зображення
|
editor.importimage = Імпортувати застаріле зображення
|
||||||
editor.importimage.description = Імпорт із зображенням місцевості
|
editor.importimage.description = Імпорт із зображенням місцевості
|
||||||
editor.export = Експорт...
|
editor.export = Експорт…
|
||||||
editor.exportfile = Експорт файлу
|
editor.exportfile = Експорт файлу
|
||||||
editor.exportfile.description = Експортувати файл мапи
|
editor.exportfile.description = Експортувати файл мапи
|
||||||
editor.exportimage = Експорт зображення місцевості
|
editor.exportimage = Експорт зображення місцевості
|
||||||
@@ -251,20 +261,20 @@ editor.overwrite = [accent]Попередження!\nЦе перезапису
|
|||||||
editor.overwrite.confirm = [scarlet]Попередження![] Мапа з такою назвою вже існує. Ви впевнені, що хочете переписати її?
|
editor.overwrite.confirm = [scarlet]Попередження![] Мапа з такою назвою вже існує. Ви впевнені, що хочете переписати її?
|
||||||
editor.selectmap = Виберіть мапу для завантаження:
|
editor.selectmap = Виберіть мапу для завантаження:
|
||||||
toolmode.replace = Замінити
|
toolmode.replace = Замінити
|
||||||
toolmode.replace.description = Малює тільки на суцільних блоках.
|
toolmode.replace.description = Малює тільки\nна суцільних блоках.
|
||||||
toolmode.replaceall = Замінити все
|
toolmode.replaceall = Замінити все
|
||||||
toolmode.replaceall.description = Замінює усі блоки на мапі.
|
toolmode.replaceall.description = Замінює усі блоки на мапі.
|
||||||
toolmode.orthogonal = Ортогональна
|
toolmode.orthogonal = Ортогональна
|
||||||
toolmode.orthogonal.description = Малює лише ортогональні лінії.
|
toolmode.orthogonal.description = Малює лише\nортогональні лінії.
|
||||||
toolmode.square = Прямокутник
|
toolmode.square = Прямокутник
|
||||||
toolmode.square.description = Прямокутна кисть.
|
toolmode.square.description = Прямокутна кисть.
|
||||||
toolmode.eraseores = Видалення руд
|
toolmode.eraseores = Видалення руд
|
||||||
toolmode.eraseores.description = Видалити тільки руди.
|
toolmode.eraseores.description = Видалити тільки руди.
|
||||||
toolmode.fillteams = Змінити блок в команді
|
toolmode.fillteams = Змінити блок в команді
|
||||||
toolmode.fillteams.description = Змінити блок в команді.
|
toolmode.fillteams.description = Змінює належність\nблоків до команди.
|
||||||
toolmode.drawteams = Змінити команду блока
|
toolmode.drawteams = Змінити команду блока
|
||||||
toolmode.drawteams.description = Змінює блок команди.
|
toolmode.drawteams.description = Змінює належність\nблока до команди.
|
||||||
filters.empty = [LIGHT_GRAY]Немає фільтрів! Додайте хоча б один за допомогою кнопки нижче.
|
filters.empty = [lightgray]Немає фільтрів! Додайте хоча б один за допомогою кнопки нижче.
|
||||||
filter.distort = Спотворення
|
filter.distort = Спотворення
|
||||||
filter.noise = Шум
|
filter.noise = Шум
|
||||||
filter.median = Медіана
|
filter.median = Медіана
|
||||||
@@ -273,18 +283,18 @@ filter.blend = Змішування
|
|||||||
filter.defaultores = Руди за замовчуванням
|
filter.defaultores = Руди за замовчуванням
|
||||||
filter.ore = Руда
|
filter.ore = Руда
|
||||||
filter.rivernoise = Річковий шум
|
filter.rivernoise = Річковий шум
|
||||||
filter.mirror = Дзеркало
|
filter.mirror = Відображення
|
||||||
filter.clear = Очистити
|
filter.clear = Очистити
|
||||||
filter.option.ignore = Ігнорувати
|
filter.option.ignore = Ігнорувати
|
||||||
filter.scatter = Розпилювач
|
filter.scatter = Сіяч
|
||||||
filter.terrain = Ландшафт
|
filter.terrain = Ландшафт
|
||||||
filter.option.scale = Масштаб
|
filter.option.scale = Масштаб фільтра
|
||||||
filter.option.chance = Шанс
|
filter.option.chance = Шанс
|
||||||
filter.option.mag = Величина
|
filter.option.mag = Сила застосування
|
||||||
filter.option.threshold = Спад
|
filter.option.threshold = Граничний порог
|
||||||
filter.option.circle-scale = Кругова шкала
|
filter.option.circle-scale = Масштаб круга
|
||||||
filter.option.octaves = Октави
|
filter.option.octaves = Циклічність застосування
|
||||||
filter.option.falloff = Спад
|
filter.option.falloff = Спад цикличности
|
||||||
filter.option.angle = Вугол
|
filter.option.angle = Вугол
|
||||||
filter.option.block = Блок
|
filter.option.block = Блок
|
||||||
filter.option.floor = Поверхня
|
filter.option.floor = Поверхня
|
||||||
@@ -292,7 +302,7 @@ filter.option.flooronto = Цільова поверхня
|
|||||||
filter.option.wall = Стіна
|
filter.option.wall = Стіна
|
||||||
filter.option.ore = Руда
|
filter.option.ore = Руда
|
||||||
filter.option.floor2 = Друга поверхня
|
filter.option.floor2 = Друга поверхня
|
||||||
filter.option.threshold2 = Вторинний спад
|
filter.option.threshold2 = Вторинний граничний порог
|
||||||
filter.option.radius = Радіус
|
filter.option.radius = Радіус
|
||||||
filter.option.percentile = Спад
|
filter.option.percentile = Спад
|
||||||
width = Ширина:
|
width = Ширина:
|
||||||
@@ -315,27 +325,27 @@ donate = Пожертву\nвання
|
|||||||
abandon = Покинути
|
abandon = Покинути
|
||||||
abandon.text = Ця зона і всі її ресурси будуть втрачені.
|
abandon.text = Ця зона і всі її ресурси будуть втрачені.
|
||||||
locked = Заблоковано
|
locked = Заблоковано
|
||||||
complete = [LIGHT_GRAY]Досягнута:
|
complete = [lightgray]Досягнута:
|
||||||
zone.requirement = Хвиля {0} у зоні {1}
|
zone.requirement = Хвиля {0} у зоні {1}
|
||||||
resume = Відновити зону:\n[LIGHT_GRAY]{0}
|
resume = Відновити зону:\n[lightgray]{0}
|
||||||
bestwave = [LIGHT_GRAY]Найкраща хвиля: {0}
|
bestwave = [lightgray]Найкраща хвиля: {0}
|
||||||
launch = < ЗАПУСК >
|
launch = < ЗАПУСК >
|
||||||
launch.title = Запуск вдалий
|
launch.title = Запуск вдалий
|
||||||
launch.next = [LIGHT_GRAY]наступна можливість на {0}-тій хвилі
|
launch.next = [lightgray]наступна можливість на {0}-тій хвилі
|
||||||
launch.unable2 = [scarlet]ЗАПУСК неможливий.[]
|
launch.unable2 = [scarlet]ЗАПУСК неможливий.[]
|
||||||
launch.confirm = Це видалить всі ресурси у Вашому ядрі.\nВи не зможете повернутися до цієї бази.
|
launch.confirm = Це видалить всі ресурси у Вашому ядрі.\nВи не зможете повернутися до цієї бази.
|
||||||
launch.skip.confirm = Якщо Ви пропустите зараз, Ви не зможете не запускати до більш пізніх хвиль.
|
launch.skip.confirm = Якщо Ви пропустите зараз, Ви не зможете не запускати до більш пізніх хвиль.
|
||||||
uncover = Розкрити
|
uncover = Розкрити
|
||||||
configure = Вивантажити конфігурацію
|
configure = Вивантажити конфігурацію
|
||||||
configure.locked = [LIGHT_GRAY]Можливість розблокувати вивантаження ресурсів буде доступна на {0}-тій хвилі.
|
configure.locked = [lightgray]Можливість розблокувати вивантаження ресурсів буде доступна на {0}-тій хвилі.
|
||||||
zone.unlocked = Зона «[LIGHT_GRAY]{0}» тепер розблокована.
|
zone.unlocked = Зона «[lightgray]{0}» тепер розблокована.
|
||||||
zone.requirement.complete = Ви досягли {0}-тої хвилі,\nВимоги до зони «{1}» виконані.
|
zone.requirement.complete = Ви досягли {0}-тої хвилі,\nВимоги до зони «{1}» виконані.
|
||||||
zone.config.complete = Ви досягли {0}-тої хвилі.\nМожливість вивантаження ресурсів тепер розблокована.
|
zone.config.complete = Ви досягли {0}-тої хвилі.\nМожливість вивантаження ресурсів тепер розблокована.
|
||||||
zone.resources = Виявлені ресурси:
|
zone.resources = Виявлені ресурси:
|
||||||
zone.objective = [lightgray]Мета: [accent]{0}
|
zone.objective = [lightgray]Мета: [accent]{0}
|
||||||
zone.objective.survival = Вижити
|
zone.objective.survival = Вижити
|
||||||
zone.objective.attack = Знищити вороже ядро
|
zone.objective.attack = Знищити вороже ядро
|
||||||
add = Додати...
|
add = Додати…
|
||||||
boss.health = Здоров’я босу
|
boss.health = Здоров’я босу
|
||||||
connectfail = [crimson]Помилка підключення: [accent]{0}
|
connectfail = [crimson]Помилка підключення: [accent]{0}
|
||||||
error.unreachable = Сервер не доступний.
|
error.unreachable = Сервер не доступний.
|
||||||
@@ -346,7 +356,7 @@ error.alreadyconnected = Ви вже підключилися.
|
|||||||
error.mapnotfound = Файл мапи не знайдено
|
error.mapnotfound = Файл мапи не знайдено
|
||||||
error.io = Мережева помилка введення-виведення
|
error.io = Мережева помилка введення-виведення
|
||||||
error.any = Невідома мережева помилка
|
error.any = Невідома мережева помилка
|
||||||
error.bloom = Не вдалося ініціалізувати світіння.\nВаш пристрій, мабуть, не підтримує це.
|
error.bloom = Не вдалося ініціалізувати цвітіння.\nВаш пристрій, мабуть, не підтримує це.
|
||||||
zone.groundZero.name = Нульова земля
|
zone.groundZero.name = Нульова земля
|
||||||
zone.desertWastes.name = Пустельні відходи
|
zone.desertWastes.name = Пустельні відходи
|
||||||
zone.craters.name = Кратери
|
zone.craters.name = Кратери
|
||||||
@@ -360,13 +370,14 @@ zone.tarFields.name = Дьогтьові поля
|
|||||||
zone.saltFlats.name = Соляні рівнини
|
zone.saltFlats.name = Соляні рівнини
|
||||||
zone.impact0078.name = Імпульс 0078
|
zone.impact0078.name = Імпульс 0078
|
||||||
zone.crags.name = Скелі
|
zone.crags.name = Скелі
|
||||||
|
zone.fungalPass.name = Грибний перевал
|
||||||
zone.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів. \nЗбирайте якомога більше свинцю та міді. \nЙдіть далі.
|
zone.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів. \nЗбирайте якомога більше свинцю та міді. \nЙдіть далі.
|
||||||
zone.frozenForest.description = Навіть тут, ближче до гір, спори поширилися. Холодна температура не може їх утримувати тут завжди.\n\Зважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами.
|
zone.frozenForest.description = Навіть тут, ближче до гір, спори поширилися. Холодна температура не може їх утримувати тут завжди.\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами.
|
||||||
zone.desertWastes.description = Ці відходи є величезними, непередбачуваними і перетинаються з занедбаними секторальними структурами.\nВугілля присутнє в регіоні. Спаліть його для енергії або синтезуйте у графіт.\n\n[lightgray]Це місце посадки не можна гарантувати.
|
zone.desertWastes.description = Ці відходи є величезними, непередбачуваними і перетинаються з занедбаними секторальними структурами.\nВугілля присутнє в регіоні. Спаліть його для енергії або синтезуйте у графіт.\n\n[lightgray]Це місце посадки не можна гарантувати.
|
||||||
zone.saltFlats.description = На околиці пустелі лежать соляні рівнини. У цьому місці можна знайти небагато ресурсів.\n\nТут вороги спорудили комплекс сховищ ресурсів. Викорініть їх ядро. Не залишайте нічого цінного.
|
zone.saltFlats.description = На околиці пустелі лежать соляні рівнини. У цьому місці можна знайти небагато ресурсів.\n\nТут вороги спорудили комплекс сховищ ресурсів. Викорініть їх ядро. Не залишайте нічого цінного.
|
||||||
zone.craters.description = У цьому кратері накопичилася вода, пережиток старих воєн. Відновіть місцевість. Зберіть пісок. Виплавіть метакскло. Накачайте воду, щоб охолодити турелі і бури.
|
zone.craters.description = У цьому кратері накопичилася вода, пережиток старих воєн. Відновіть місцевість. Зберіть пісок. Виплавіть метакскло. Накачайте воду, щоб охолодити турелі і бури.
|
||||||
zone.ruinousShores.description = Минулі відходи - це берегова лінія. Колись у цьому місці розташувався береговий оборонний масив. Залишилося не так багато чого. Тільки найосновніші оборонні споруди залишилися непошкодженими, все інше зводиться до брухту.\nПродовжуйте експансію назовні. Повторно розкрийте технологію.
|
zone.ruinousShores.description = Минулі відходи - це берегова лінія. Колись у цьому місці розташувався береговий оборонний масив. Залишилося не так багато чого. Тільки найосновніші оборонні споруди залишилися непошкодженими, все інше зводиться до брухту.\nПродовжуйте експансію назовні. Повторно розкрийте технологію.
|
||||||
zone.stainedMountains.description =Далі у вглиб материка лежать гори, ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості. Дізнайтеся, як використовувати його.\n\nТут ворожа присутність більша. Не дайте їм часу відправити свої найсильніші одиниці.
|
zone.stainedMountains.description = Далі у вглиб материка лежать гори, ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості. Дізнайтеся, як використовувати його.\n\nТут ворожа присутність більша. Не дайте їм часу відправити свої найсильніші одиниці.
|
||||||
zone.overgrowth.description = Ця територія заросла, ближче до джерела спор.\nВорог тут встановив форпост. Побудуйте бойові одиниці Кинджал. Знищте його. Поверніть те, що було втрачено.
|
zone.overgrowth.description = Ця територія заросла, ближче до джерела спор.\nВорог тут встановив форпост. Побудуйте бойові одиниці Кинджал. Знищте його. Поверніть те, що було втрачено.
|
||||||
zone.tarFields.description = Окраїна зони видобутку нафти, між горами та пустелею. Один з небагатьох районів із корисними запасами смоли.\nНезважаючи на те, що покинута, ця територія має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію переробки нафти.
|
zone.tarFields.description = Окраїна зони видобутку нафти, між горами та пустелею. Один з небагатьох районів із корисними запасами смоли.\nНезважаючи на те, що покинута, ця територія має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію переробки нафти.
|
||||||
zone.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками.
|
zone.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками.
|
||||||
@@ -375,13 +386,14 @@ zone.fungalPass.description = Перехідна зона між високим
|
|||||||
zone.impact0078.description = <вставити опис тут>
|
zone.impact0078.description = <вставити опис тут>
|
||||||
zone.crags.description = <вставити опис тут>
|
zone.crags.description = <вставити опис тут>
|
||||||
settings.language = Мова
|
settings.language = Мова
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = Скинути за замовчуванням
|
settings.reset = Скинути за замовчуванням
|
||||||
settings.rebind = Зміна
|
settings.rebind = Зміна
|
||||||
settings.controls = Керування
|
settings.controls = Керування
|
||||||
settings.game = Гра
|
settings.game = Гра
|
||||||
settings.sound = Звук
|
settings.sound = Звук
|
||||||
settings.graphics = Графіка
|
settings.graphics = Графіка
|
||||||
settings.cleardata = Очистити дані...
|
settings.cleardata = Очистити дані…
|
||||||
settings.clear.confirm = Ви впевнені, що хочете очистити ці дані?\nЦя дія не може бути скасовано!
|
settings.clear.confirm = Ви впевнені, що хочете очистити ці дані?\nЦя дія не може бути скасовано!
|
||||||
settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, мапи, розблоковане та налаштування керування.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично закриється.
|
settings.clearall.confirm = [scarlet]УВАГА![]\nЦе очистить всі дані, включаючи збереження, мапи, розблоковане та налаштування керування.\nПісля того, як ви натиснете ОК, гра видалить усі дані та автоматично закриється.
|
||||||
settings.clearunlocks = Очистити розблоковане
|
settings.clearunlocks = Очистити розблоковане
|
||||||
@@ -396,7 +408,7 @@ attackpvponly = [scarlet]Наявне тільки у режимах атаки/
|
|||||||
blocks.input = Вхід
|
blocks.input = Вхід
|
||||||
blocks.output = Вихід
|
blocks.output = Вихід
|
||||||
blocks.booster = Прискорювач
|
blocks.booster = Прискорювач
|
||||||
block.unknown = [LIGHT_GRAY]???
|
block.unknown = [lightgray]???
|
||||||
blocks.powercapacity = Місткість енергії
|
blocks.powercapacity = Місткість енергії
|
||||||
blocks.powershot = Енергія/постріл
|
blocks.powershot = Енергія/постріл
|
||||||
blocks.damage = Шкода
|
blocks.damage = Шкода
|
||||||
@@ -418,7 +430,6 @@ blocks.speedincrease = Збільшення швидкості
|
|||||||
blocks.range = Радіус дії
|
blocks.range = Радіус дії
|
||||||
blocks.drilltier = Видобуває
|
blocks.drilltier = Видобуває
|
||||||
blocks.drillspeed = Базова швидкість буріння
|
blocks.drillspeed = Базова швидкість буріння
|
||||||
blocks.drilltierreq = Потребується кращий бур
|
|
||||||
blocks.boosteffect = Прискорювальний ефект
|
blocks.boosteffect = Прискорювальний ефект
|
||||||
blocks.maxunits = Максимальна кількість активних одиниць
|
blocks.maxunits = Максимальна кількість активних одиниць
|
||||||
blocks.health = Здоров’я
|
blocks.health = Здоров’я
|
||||||
@@ -474,7 +485,7 @@ setting.shadows.name = Тіні
|
|||||||
setting.linear.name = Лінійна фільтрація
|
setting.linear.name = Лінійна фільтрація
|
||||||
setting.animatedwater.name = Анімована вода
|
setting.animatedwater.name = Анімована вода
|
||||||
setting.animatedshields.name = Анімовані щити
|
setting.animatedshields.name = Анімовані щити
|
||||||
setting.antialias.name = Згладжування[LIGHT_GRAY] (потребує перезапуску)[]
|
setting.antialias.name = Згладжування[lightgray] (потребує перезапуску)[]
|
||||||
setting.indicators.name = Показувати у сторону ворогів та союзників
|
setting.indicators.name = Показувати у сторону ворогів та союзників
|
||||||
setting.autotarget.name = Авто-стрільба
|
setting.autotarget.name = Авто-стрільба
|
||||||
setting.keyboard.name = Миш+Керування з клавіатури
|
setting.keyboard.name = Миш+Керування з клавіатури
|
||||||
@@ -495,11 +506,11 @@ setting.sensitivity.name = Чутливість контролера
|
|||||||
setting.saveinterval.name = Інтервал збереження
|
setting.saveinterval.name = Інтервал збереження
|
||||||
setting.seconds = {0} сек.
|
setting.seconds = {0} сек.
|
||||||
setting.fullscreen.name = Повноекранний режим
|
setting.fullscreen.name = Повноекранний режим
|
||||||
setting.borderlesswindow.name = Вікно без полів[LIGHT_GRAY] (може потребувати перезапуску)
|
setting.borderlesswindow.name = Вікно без полів[lightgray] (може потребувати перезапуску)
|
||||||
setting.fps.name = Показувати FPS
|
setting.fps.name = Показувати FPS
|
||||||
setting.vsync.name = Вертикальна синхронізація
|
setting.vsync.name = Вертикальна синхронізація
|
||||||
setting.lasers.name = Показувати енергію лазерів
|
setting.lasers.name = Показувати енергію лазерів
|
||||||
setting.pixelate.name = Пікселізація[LIGHT_GRAY] (вимикає анімації)
|
setting.pixelate.name = Пікселізація[lightgray] (вимикає анімації)
|
||||||
setting.minimap.name = Показувати міні-мапу
|
setting.minimap.name = Показувати міні-мапу
|
||||||
setting.musicvol.name = Гучність музики
|
setting.musicvol.name = Гучність музики
|
||||||
setting.ambientvol.name = Звуки навколишнього середовища
|
setting.ambientvol.name = Звуки навколишнього середовища
|
||||||
@@ -507,9 +518,10 @@ setting.mutemusic.name = Заглушити музику
|
|||||||
setting.sfxvol.name = Гучність звукових ефектів
|
setting.sfxvol.name = Гучність звукових ефектів
|
||||||
setting.mutesound.name = Заглушити звук
|
setting.mutesound.name = Заглушити звук
|
||||||
setting.crashreport.name = Відсилати анонімні звіти про аварійне завершення гри
|
setting.crashreport.name = Відсилати анонімні звіти про аварійне завершення гри
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = Непрозорість чату
|
setting.chatopacity.name = Непрозорість чату
|
||||||
setting.playerchat.name = Відображати чат у грі
|
setting.playerchat.name = Відображати чат у грі
|
||||||
uiscale.reset = Масштаб користувальницького інтерфейсу було змінено.\nНатисніть «ОК» для підтверждення цього масшатабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] ...
|
uiscale.reset = Масштаб користувальницького інтерфейсу було змінено.\nНатисніть «ОК» для підтверждення цього масшатабу.\n[scarlet]Повернення налаштувань і вихід через[accent] {0}[] …
|
||||||
uiscale.cancel = Скасувати & Вийти
|
uiscale.cancel = Скасувати & Вийти
|
||||||
setting.bloom.name = Світіння
|
setting.bloom.name = Світіння
|
||||||
keybind.title = Налаштування керування
|
keybind.title = Налаштування керування
|
||||||
@@ -522,11 +534,12 @@ command.retreat = Відступити
|
|||||||
command.patrol = Патрулювати
|
command.patrol = Патрулювати
|
||||||
keybind.gridMode.name = Вибрати блок
|
keybind.gridMode.name = Вибрати блок
|
||||||
keybind.gridModeShift.name = Вибрати категорію
|
keybind.gridModeShift.name = Вибрати категорію
|
||||||
keybind.press = Натисніть клавішу...
|
keybind.press = Натисніть клавішу…
|
||||||
keybind.press.axis = Натисніть клавішу...
|
keybind.press.axis = Натисніть клавішу…
|
||||||
keybind.screenshot.name = Зняток мапи
|
keybind.screenshot.name = Зняток мапи
|
||||||
keybind.move_x.name = Рух по осі x
|
keybind.move_x.name = Рух по осі x
|
||||||
keybind.move_y.name = Рух по осі x
|
keybind.move_y.name = Рух по осі y
|
||||||
|
keybind.fullscreen.name = Повноекранний
|
||||||
keybind.select.name = Вибір/Постріл
|
keybind.select.name = Вибір/Постріл
|
||||||
keybind.diagonal_placement.name = Діагональне розміщення
|
keybind.diagonal_placement.name = Діагональне розміщення
|
||||||
keybind.pick.name = Вибрати блок
|
keybind.pick.name = Вибрати блок
|
||||||
@@ -570,13 +583,13 @@ rules.unithealthmultiplier = Множник здоров’я бойов. од.
|
|||||||
rules.playerhealthmultiplier = Множник здоров’я гравця
|
rules.playerhealthmultiplier = Множник здоров’я гравця
|
||||||
rules.playerdamagemultiplier = Множник шкоди гравця
|
rules.playerdamagemultiplier = Множник шкоди гравця
|
||||||
rules.unitdamagemultiplier = Множник шкоди бойових одиниць
|
rules.unitdamagemultiplier = Множник шкоди бойових одиниць
|
||||||
rules.enemycorebuildradius = Радіус захисту для ворожого ядра:[LIGHT_GRAY] (блоків)
|
rules.enemycorebuildradius = Радіус захисту для ворожого ядра:[lightgray] (блоків)
|
||||||
rules.respawntime = Час відродження:[LIGHT_GRAY] (sec)
|
rules.respawntime = Час відродження:[lightgray] (sec)
|
||||||
rules.wavespacing = Інтервал хвиль:[LIGHT_GRAY] (sec)
|
rules.wavespacing = Інтервал хвиль:[lightgray] (sec)
|
||||||
rules.buildcostmultiplier = Множник затрат на будівництво
|
rules.buildcostmultiplier = Множник затрат на будівництво
|
||||||
rules.buildspeedmultiplier = Множник швидкості будування
|
rules.buildspeedmultiplier = Множник швидкості будування
|
||||||
rules.waitForWaveToEnd = Хвилі чекають на ворогів
|
rules.waitForWaveToEnd = Хвилі чекають на ворогів
|
||||||
rules.dropzoneradius = Радіус зони висадки:[LIGHT_GRAY] (блоків)
|
rules.dropzoneradius = Радіус зони висадки:[lightgray] (блоків)
|
||||||
rules.respawns = Максимальна кількість відроджень за хвилю
|
rules.respawns = Максимальна кількість відроджень за хвилю
|
||||||
rules.limitedRespawns = Обмеження відроджень
|
rules.limitedRespawns = Обмеження відроджень
|
||||||
rules.title.waves = Хвилі
|
rules.title.waves = Хвилі
|
||||||
@@ -631,24 +644,23 @@ mech.trident-ship.name = Тризубець
|
|||||||
mech.trident-ship.weapon = Бомби
|
mech.trident-ship.weapon = Бомби
|
||||||
mech.glaive-ship.name = Спис
|
mech.glaive-ship.name = Спис
|
||||||
mech.glaive-ship.weapon = Вогняний кулемет
|
mech.glaive-ship.weapon = Вогняний кулемет
|
||||||
item.explosiveness = [LIGHT_GRAY]Вибухонебезпечність: {0}%
|
item.explosiveness = [lightgray]Вибухонебезпечність: {0}%
|
||||||
item.flammability = [LIGHT_GRAY]Вогненебезпечність: {0}%
|
item.flammability = [lightgray]Вогненебезпечність: {0}%
|
||||||
item.radioactivity = [LIGHT_GRAY]Радіоактивність: {0}%
|
item.radioactivity = [lightgray]Радіоактивність: {0}%
|
||||||
unit.health = [LIGHT_GRAY]Здоров’я: {0}
|
unit.health = [lightgray]Здоров’я: {0}
|
||||||
unit.speed = [LIGHT_GRAY]Швидкість: {0}
|
unit.speed = [lightgray]Швидкість: {0}
|
||||||
mech.weapon = [LIGHT_GRAY]Зброя: {0}
|
mech.weapon = [lightgray]Зброя: {0}
|
||||||
mech.health = [LIGHT_GRAY]Здоров’я: {0}
|
mech.health = [lightgray]Здоров’я: {0}
|
||||||
mech.itemcapacity = [LIGHT_GRAY]Місткість елементів: {0}
|
mech.itemcapacity = [lightgray]Місткість елементів: {0}
|
||||||
mech.minespeed = [LIGHT_GRAY]Швидкість видобутку: {0}%
|
mech.minespeed = [lightgray]Швидкість видобутку: {0}%
|
||||||
mech.minepower = [LIGHT_GRAY]Потужність видобутку: {0}
|
mech.minepower = [lightgray]Потужність видобутку: {0}
|
||||||
mech.ability = [LIGHT_GRAY]Здібність: {0}
|
mech.ability = [lightgray]Здібність: {0}
|
||||||
mech.buildspeed = [LIGHT_GRAY]Швидкість будування: {0}%
|
mech.buildspeed = [lightgray]Швидкість будування: {0}%
|
||||||
liquid.heatcapacity = [LIGHT_GRAY]Теплоємність: {0}
|
liquid.heatcapacity = [lightgray]Теплоємність: {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]В’язкість: {0}
|
liquid.viscosity = [lightgray]В’язкість: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]Температура: {0}
|
liquid.temperature = [lightgray]Температура: {0}
|
||||||
block.sand-boulder.name = Sand Boulder
|
|
||||||
block.grass.name = Трава
|
|
||||||
block.sand-boulder.name = Пісочний валун
|
block.sand-boulder.name = Пісочний валун
|
||||||
|
block.grass.name = Трава
|
||||||
block.salt.name = Сіль
|
block.salt.name = Сіль
|
||||||
block.saltrocks.name = Сіляні камні
|
block.saltrocks.name = Сіляні камні
|
||||||
block.pebbles.name = Галька
|
block.pebbles.name = Галька
|
||||||
@@ -673,7 +685,7 @@ block.thruster.name = Штовхач
|
|||||||
block.kiln.name = Піч
|
block.kiln.name = Піч
|
||||||
block.graphite-press.name = Графітний прес
|
block.graphite-press.name = Графітний прес
|
||||||
block.multi-press.name = Мульти-прес
|
block.multi-press.name = Мульти-прес
|
||||||
block.constructing = {0}\n[LIGHT_GRAY](В процесі)
|
block.constructing = {0}\n[lightgray](В процесі)
|
||||||
block.spawn.name = Місце появи ворога
|
block.spawn.name = Місце появи ворога
|
||||||
block.core-shard.name = Ядро «Осколок»
|
block.core-shard.name = Ядро «Осколок»
|
||||||
block.core-foundation.name = Ядро «Штаб»
|
block.core-foundation.name = Ядро «Штаб»
|
||||||
@@ -791,6 +803,7 @@ block.blast-mixer.name = Мішалка вибухонебезпечного з
|
|||||||
block.solar-panel.name = Сонячна панель
|
block.solar-panel.name = Сонячна панель
|
||||||
block.solar-panel-large.name = Велика сонячна панель
|
block.solar-panel-large.name = Велика сонячна панель
|
||||||
block.oil-extractor.name = Нафтова вежа
|
block.oil-extractor.name = Нафтова вежа
|
||||||
|
block.command-center.name = Командний центр
|
||||||
block.draug-factory.name = Завод дронів «Драугр»
|
block.draug-factory.name = Завод дронів «Драугр»
|
||||||
block.spirit-factory.name = Завод дронів-ремонтників «Привид»
|
block.spirit-factory.name = Завод дронів-ремонтників «Привид»
|
||||||
block.phantom-factory.name = Завод дронів-будівників «Фантом»
|
block.phantom-factory.name = Завод дронів-будівників «Фантом»
|
||||||
@@ -839,6 +852,7 @@ team.derelict.name = Залишена
|
|||||||
team.green.name = Зелена
|
team.green.name = Зелена
|
||||||
team.purple.name = Фіолетова
|
team.purple.name = Фіолетова
|
||||||
unit.spirit.name = Ремонтувальний дрон «Привид»
|
unit.spirit.name = Ремонтувальний дрон «Привид»
|
||||||
|
unit.draug.name = Draug Miner Drone
|
||||||
unit.phantom.name = Будівельний дрон «Фантом»
|
unit.phantom.name = Будівельний дрон «Фантом»
|
||||||
unit.dagger.name = Кинджал
|
unit.dagger.name = Кинджал
|
||||||
unit.crawler.name = Камікадзе
|
unit.crawler.name = Камікадзе
|
||||||
@@ -961,7 +975,7 @@ block.overflow-gate.description = Комбінований розгалужув
|
|||||||
block.mass-driver.description = Кінцевий елемент транспортного блоку. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнитної катапульти на великій відстані. Для роботи потрібна енергія.
|
block.mass-driver.description = Кінцевий елемент транспортного блоку. Збирає кілька предметів, а потім вистрілює їх до іншої електромагнитної катапульти на великій відстані. Для роботи потрібна енергія.
|
||||||
block.mechanical-pump.description = Недорогий насос з повільним виходом, але без енергоспоживання.
|
block.mechanical-pump.description = Недорогий насос з повільним виходом, але без енергоспоживання.
|
||||||
block.rotary-pump.description = Удосконалений насос. Насоси більше викачують, але потребують енергію.
|
block.rotary-pump.description = Удосконалений насос. Насоси більше викачують, але потребують енергію.
|
||||||
block.thermal-pump.description = Кінцевий насос.
|
block.thermal-pump.description = Найкращий насос.
|
||||||
block.conduit.description = Основний блок транспортування рідини. Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами.
|
block.conduit.description = Основний блок транспортування рідини. Пересуває рідини вперед. Застосовується спільно з насосами та іншими трубопроводами.
|
||||||
block.pulse-conduit.description = Вдосконалений блок транспортування рідини. Транспортує рідини швидше і зберігає більше, ніж стандартні трубопроводи.
|
block.pulse-conduit.description = Вдосконалений блок транспортування рідини. Транспортує рідини швидше і зберігає більше, ніж стандартні трубопроводи.
|
||||||
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також можна зберігати певну кількість рідини. Корисно для розщеплення рідин від одного джерела до кількох мішеней.
|
block.liquid-router.description = Приймає рідини з одного напрямку та виводить їх до трьох інших напрямків порівну. Також можна зберігати певну кількість рідини. Корисно для розщеплення рідин від одного джерела до кількох мішеней.
|
||||||
@@ -971,7 +985,7 @@ block.bridge-conduit.description = Розширений блок транспо
|
|||||||
block.phase-conduit.description = Розширений блок транспортування рідини. Використовує енергію для транспортування рідин до підключеного фазового каналу через декілька плиток.
|
block.phase-conduit.description = Розширений блок транспортування рідини. Використовує енергію для транспортування рідин до підключеного фазового каналу через декілька плиток.
|
||||||
block.power-node.description = Передає живлення на підключені вузли. Вузол буде отримувати живлення від будь-яких сусідніх блоків або подавати живлення до них.
|
block.power-node.description = Передає живлення на підключені вузли. Вузол буде отримувати живлення від будь-яких сусідніх блоків або подавати живлення до них.
|
||||||
block.power-node-large.description = Удосконалений вузол живлення з більшим діапазоном і більшою кількістю підключень.
|
block.power-node-large.description = Удосконалений вузол живлення з більшим діапазоном і більшою кількістю підключень.
|
||||||
block.surge-tower.description =Надзвичайно дальний вузол живлення з меншою кількістю доступних з’єднань.
|
block.surge-tower.description = Надзвичайно дальний вузол живлення з меншою кількістю доступних з’єднань.
|
||||||
block.battery.description = Зберігає енергію як буфер в часи надлишкової енергії. Виводить енергію у періоди дефіциту.
|
block.battery.description = Зберігає енергію як буфер в часи надлишкової енергії. Виводить енергію у періоди дефіциту.
|
||||||
block.battery-large.description = Зберігає набагато більше енергії, ніж звичайний акумулятор.
|
block.battery-large.description = Зберігає набагато більше енергії, ніж звичайний акумулятор.
|
||||||
block.combustion-generator.description = Виробляє енергію, спалюючи легкозаймисті матеріали, такі як вугілля.
|
block.combustion-generator.description = Виробляє енергію, спалюючи легкозаймисті матеріали, такі як вугілля.
|
||||||
@@ -995,7 +1009,7 @@ block.core-foundation.description = Друга версія ядра. Краще
|
|||||||
block.core-nucleus.description = Третя і остання ітерація капсули ядра. Надзвичайно добре броньований. Зберігає величезні обсяги ресурсів.
|
block.core-nucleus.description = Третя і остання ітерація капсули ядра. Надзвичайно добре броньований. Зберігає величезні обсяги ресурсів.
|
||||||
block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів із сховища.
|
block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів із сховища.
|
||||||
block.container.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів із сховища.
|
block.container.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів із сховища.
|
||||||
block.unloader.description =Вивантажує предмети з контейнера, склепіння або серцевини на конвеєр або безпосередньо в сусідній блок. Тип предмета для завантаження можна змінити, натиснувши на блок.
|
block.unloader.description = Вивантажує предмети з контейнера, склепіння або серцевини на конвеєр або безпосередньо в сусідній блок. Тип предмета для завантаження можна змінити, натиснувши на блок.
|
||||||
block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра.
|
block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра.
|
||||||
block.launch-pad-large.description = Покращена версія стартового майданчика. Зберігає більше предметів. Запускається частіше.
|
block.launch-pad-large.description = Покращена версія стартового майданчика. Зберігає більше предметів. Запускається частіше.
|
||||||
block.duo.description = Невелика дешева башта. Корисна проти наземних одиниць.
|
block.duo.description = Невелика дешева башта. Корисна проти наземних одиниць.
|
||||||
@@ -1012,6 +1026,7 @@ block.ripple.description = Надзвичайно потужна артилер
|
|||||||
block.cyclone.description = Велика протиповітряна та протиземна башта. Підпалює вибухонебезпечними грудками скупчення ворогів.
|
block.cyclone.description = Велика протиповітряна та протиземна башта. Підпалює вибухонебезпечними грудками скупчення ворогів.
|
||||||
block.spectre.description = Масивна двоствольна гармата. Стріляє великими бронебійними кулями в повітряні та наземні цілі.
|
block.spectre.description = Масивна двоствольна гармата. Стріляє великими бронебійними кулями в повітряні та наземні цілі.
|
||||||
block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє стійким лазерним променем у сусідніх ворогів. Для роботи потрібен теплоносій.
|
block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє стійким лазерним променем у сусідніх ворогів. Для роботи потрібен теплоносій.
|
||||||
|
block.command-center.description = Наказує бойовим одиницям пересуватися по всій мапі.\nНаявні команди: патрулювання, атакувати вороже ядро, відступити до ядра/заводу. Якщо ворожого ядра немає, то бойові одиниці будуть патрулювати за замовчуванням, коли була застосована команда атакувати.
|
||||||
block.draug-factory.description = Виробляє дронів, які видобувають ресурси.
|
block.draug-factory.description = Виробляє дронів, які видобувають ресурси.
|
||||||
block.spirit-factory.description = Виробляє дронів, які ремонтують блоки.
|
block.spirit-factory.description = Виробляє дронів, які ремонтують блоки.
|
||||||
block.phantom-factory.description = Виробляє дронів, які допомогають у будівництві.
|
block.phantom-factory.description = Виробляє дронів, які допомогають у будівництві.
|
||||||
|
|||||||
@@ -16,7 +16,11 @@ screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
|
|||||||
gameover = 你的核心被摧毁了!
|
gameover = 你的核心被摧毁了!
|
||||||
gameover.pvp = [accent] {0}[] 队获胜!
|
gameover.pvp = [accent] {0}[] 队获胜!
|
||||||
highscore = [accent]新纪录!
|
highscore = [accent]新纪录!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = 战胜的波数:[accent]{0}
|
stat.wave = 战胜的波数:[accent]{0}
|
||||||
stat.enemiesDestroyed = 消灭的敌人:[accent]{0}
|
stat.enemiesDestroyed = 消灭的敌人:[accent]{0}
|
||||||
stat.built = 建造的建筑:[accent]{0}
|
stat.built = 建造的建筑:[accent]{0}
|
||||||
@@ -24,10 +28,6 @@ stat.destroyed = 摧毁的建筑:[accent]{0}
|
|||||||
stat.deconstructed = 拆除的建筑:[accent]{0}
|
stat.deconstructed = 拆除的建筑:[accent]{0}
|
||||||
stat.delivered = 发射的资源:
|
stat.delivered = 发射的资源:
|
||||||
stat.rank = 最终等级:[accent]{0}
|
stat.rank = 最终等级:[accent]{0}
|
||||||
|
|
||||||
placeline = 你选择了一个方块。\n你可以[accent]长按几秒钟[]并向一个方向拖动来[accent]直线放置方块[]。\n试试看吧。
|
|
||||||
removearea = 你选择了拆除模式。\n你可以[accent]长按几秒钟[]并拖动来[accent]删除矩形内的方块[]。\n试试看吧。
|
|
||||||
|
|
||||||
launcheditems = [accent]发射的资源
|
launcheditems = [accent]发射的资源
|
||||||
map.delete = 确定要删除 "[accent]{0}[]" 地图吗?
|
map.delete = 确定要删除 "[accent]{0}[]" 地图吗?
|
||||||
level.highscore = 最高分:[accent]{0}
|
level.highscore = 最高分:[accent]{0}
|
||||||
@@ -46,6 +46,7 @@ newgame = 新游戏
|
|||||||
none = <无>
|
none = <无>
|
||||||
minimap = 小地图
|
minimap = 小地图
|
||||||
close = 关闭
|
close = 关闭
|
||||||
|
website = 官网
|
||||||
quit = 退出
|
quit = 退出
|
||||||
maps = 地图
|
maps = 地图
|
||||||
continue = 继续
|
continue = 继续
|
||||||
@@ -65,15 +66,18 @@ players.single = {0}玩家在线
|
|||||||
server.closing = [accent]正在关闭服务器……
|
server.closing = [accent]正在关闭服务器……
|
||||||
server.kicked.kick = 你被踢出服务器了!
|
server.kicked.kick = 你被踢出服务器了!
|
||||||
server.kicked.serverClose = 服务器已关闭。
|
server.kicked.serverClose = 服务器已关闭。
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = 客户端过旧,请更新你的游戏。
|
server.kicked.clientOutdated = 客户端过旧,请更新你的游戏。
|
||||||
server.kicked.serverOutdated = 服务器过旧,请联系房主升级服务器。
|
server.kicked.serverOutdated = 服务器过旧,请联系房主升级服务器。
|
||||||
server.kicked.banned = 你在这个服务器上被拉入黑名单了。
|
server.kicked.banned = 你在这个服务器上被拉入黑名单了。
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = 你刚刚被踢出服务器。\n请稍后重新连接!
|
server.kicked.recentKick = 你刚刚被踢出服务器。\n请稍后重新连接!
|
||||||
server.kicked.nameInUse = 你的名字与服务器中的一个人重复了。
|
server.kicked.nameInUse = 你的名字与服务器中的一个人重复了。
|
||||||
server.kicked.nameEmpty = 无效的名字!
|
server.kicked.nameEmpty = 无效的名字!
|
||||||
server.kicked.idInUse = 你已在这个服务器上!不允许用两个账号连接。
|
server.kicked.idInUse = 你已在这个服务器上!不允许用两个账号连接。
|
||||||
server.kicked.customClient = 这个服务器不支持定制版本。下载官方版本。
|
server.kicked.customClient = 这个服务器不支持定制版本。下载官方版本。
|
||||||
server.kicked.gameover = 游戏结束!
|
server.kicked.gameover = 游戏结束!
|
||||||
|
server.versions = 客户端版本:[accent] {0}[]\n服务器版本:[accent] {1}[]
|
||||||
host.info = [accent]创建局域网游戏[]按钮会在[scarlet]6567[]端口运行一个服务器。[]\n任何在同一个[LIGHT_GRAY]wifi或本地网络[]下的人都应该可以在服务器列表中看到你的服务器。\n\n如果你想让别人在任何地方都能通过IP地址连接,你需要设定[accent]端口转发[]。\n\n[LIGHT_GRAY]注意:如果某人无法连接到你的局域网游戏,请确保你在防火墙设置里允许了Mindustry访问本地网络。
|
host.info = [accent]创建局域网游戏[]按钮会在[scarlet]6567[]端口运行一个服务器。[]\n任何在同一个[LIGHT_GRAY]wifi或本地网络[]下的人都应该可以在服务器列表中看到你的服务器。\n\n如果你想让别人在任何地方都能通过IP地址连接,你需要设定[accent]端口转发[]。\n\n[LIGHT_GRAY]注意:如果某人无法连接到你的局域网游戏,请确保你在防火墙设置里允许了Mindustry访问本地网络。
|
||||||
join.info = 此时,可以输入[accent]服务器的IP地址[]来连接,或寻找[accent]本地网络[]中的服务器来连接。\n局域网或广域网多人游戏都被支持。\n\n[LIGHT_GRAY]注意:没有全球服务器列表;如果你想通过IP地址连接某个服务器,你需要向房主询问IP地址。
|
join.info = 此时,可以输入[accent]服务器的IP地址[]来连接,或寻找[accent]本地网络[]中的服务器来连接。\n局域网或广域网多人游戏都被支持。\n\n[LIGHT_GRAY]注意:没有全球服务器列表;如果你想通过IP地址连接某个服务器,你需要向房主询问IP地址。
|
||||||
hostserver = 创建服务器
|
hostserver = 创建服务器
|
||||||
@@ -89,18 +93,18 @@ trace = 跟踪玩家
|
|||||||
trace.playername = 玩家名称:[accent]{0}
|
trace.playername = 玩家名称:[accent]{0}
|
||||||
trace.ip = IP地址:[accent]{0}
|
trace.ip = IP地址:[accent]{0}
|
||||||
trace.id = 唯一的ID:[accent]{0}
|
trace.id = 唯一的ID:[accent]{0}
|
||||||
trace.mobile = Mobile Client: [accent]{0}
|
trace.mobile = 移动客户端:[accent]{0}
|
||||||
trace.modclient = 定制版客户端:[accent]{0}
|
trace.modclient = 定制版客户端:[accent]{0}
|
||||||
invalidid = 无效的客户端ID!提交一个错误报告。
|
invalidid = 无效的客户端ID!提交一个错误报告。
|
||||||
server.bans = 黑名单
|
server.bans = 黑名单
|
||||||
server.bans.none = 没有找到被拉黑的玩家!
|
server.bans.none = 没有被拉黑的玩家!
|
||||||
server.admins = 管理员
|
server.admins = 管理员
|
||||||
server.admins.none = 没有找到管理员!
|
server.admins.none = 没有管理员!
|
||||||
server.add = 添加服务器
|
server.add = 添加服务器
|
||||||
server.delete = 你确定要删除这个服务器吗?
|
server.delete = 你确定要删除这个服务器吗?
|
||||||
server.edit = 编辑服务器
|
server.edit = 编辑服务器
|
||||||
server.outdated = [crimson]过旧的服务器![]
|
server.outdated = [crimson]服务器过旧![]
|
||||||
server.outdated.client = [crimson]过旧的客户端![]
|
server.outdated.client = [crimson]客户端过旧![]
|
||||||
server.version = [lightgray]版本:{0} {1}
|
server.version = [lightgray]版本:{0} {1}
|
||||||
server.custombuild = [yellow]定制版
|
server.custombuild = [yellow]定制版
|
||||||
confirmban = 确认拉黑这名玩家?
|
confirmban = 确认拉黑这名玩家?
|
||||||
@@ -118,7 +122,7 @@ server.port = 端口:
|
|||||||
server.addressinuse = 地址已经在使用中!
|
server.addressinuse = 地址已经在使用中!
|
||||||
server.invalidport = 无效的端口号!
|
server.invalidport = 无效的端口号!
|
||||||
server.error = [crimson]创建服务器错误:[accent]{0}
|
server.error = [crimson]创建服务器错误:[accent]{0}
|
||||||
save.old = 这个存档属于旧版本游戏,不再被使用。\n\n[LIGHT_GRAY]存档向下兼容将在完整的 4.0 版本中实现。
|
save.old = 这个存档属于旧版本游戏,不再被使用。\n\n[LIGHT_GRAY]存档向下兼容将在完整的4.0版本中实现。
|
||||||
save.new = 新存档
|
save.new = 新存档
|
||||||
save.overwrite = 你确定你要覆盖这个存档位吗?
|
save.overwrite = 你确定你要覆盖这个存档位吗?
|
||||||
overwrite = 覆盖
|
overwrite = 覆盖
|
||||||
@@ -157,7 +161,15 @@ cancel = 取消
|
|||||||
openlink = 打开链接
|
openlink = 打开链接
|
||||||
copylink = 复制链接
|
copylink = 复制链接
|
||||||
back = 返回
|
back = 返回
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = 导出老版本数据
|
||||||
|
classic.export.text = [accent]Mindustry []刚刚有了一个重要的更新。\n检测到此为老版本(v3.5 build 40)的存档或地图。是否要将这些保存导出到手机的主文件夹中,以便在 Mindustry 老版本应用程序中使用?
|
||||||
quit.confirm = 确定退出?
|
quit.confirm = 确定退出?
|
||||||
|
quit.confirm.tutorial = 你确定不玩教程就开始游戏?\n教程可以通过[accent]设置->游戏->重新游玩教程[]来再次游玩。
|
||||||
loading = [accent]加载中……
|
loading = [accent]加载中……
|
||||||
saving = [accent]保存中……
|
saving = [accent]保存中……
|
||||||
wave = [accent]波次 {0}
|
wave = [accent]波次 {0}
|
||||||
@@ -172,7 +184,7 @@ saveimage = 保存图片
|
|||||||
unknown = 未知
|
unknown = 未知
|
||||||
custom = 自定义
|
custom = 自定义
|
||||||
builtin = 内建的
|
builtin = 内建的
|
||||||
map.delete.confirm = 你确定你想要删除这张地图吗?这个操作无法取消!
|
map.delete.confirm = 你确定你想要删除这张地图吗?这个操作无法撤销!
|
||||||
map.random = [accent]随机地图
|
map.random = [accent]随机地图
|
||||||
map.nospawn = 这个地图没有核心!请在编辑器中添加一个[ROYAL]蓝色[]的核心。
|
map.nospawn = 这个地图没有核心!请在编辑器中添加一个[ROYAL]蓝色[]的核心。
|
||||||
map.nospawn.pvp = 这个地图没有敌人的核心!请在编辑器中添加一个[ROYAL]红色[]的核心。
|
map.nospawn.pvp = 这个地图没有敌人的核心!请在编辑器中添加一个[ROYAL]红色[]的核心。
|
||||||
@@ -227,7 +239,7 @@ editor.savemap = 保存地图
|
|||||||
editor.saved = 已保存!
|
editor.saved = 已保存!
|
||||||
editor.save.noname = 你的地图没有名字!在“地图信息”菜单里设置一个。
|
editor.save.noname = 你的地图没有名字!在“地图信息”菜单里设置一个。
|
||||||
editor.save.overwrite = 你的地图覆盖了一个内建的地图!在“地图信息”菜单里重新设置一个不同的名称。
|
editor.save.overwrite = 你的地图覆盖了一个内建的地图!在“地图信息”菜单里重新设置一个不同的名称。
|
||||||
editor.import.exists = [scarlet]无法导入:[]名为‘{0}’的内建地图已存在!
|
editor.import.exists = [scarlet]无法导入:[]名为‘{0}’的内建地图已存在!
|
||||||
editor.import = 导入……
|
editor.import = 导入……
|
||||||
editor.importmap = 导入地图
|
editor.importmap = 导入地图
|
||||||
editor.importmap.description = 导入一个已经存在的地图
|
editor.importmap.description = 导入一个已经存在的地图
|
||||||
@@ -248,7 +260,6 @@ editor.mapname = 地图名称:
|
|||||||
editor.overwrite = [accent]警告!\n这将会覆盖一个已经存在的地图。
|
editor.overwrite = [accent]警告!\n这将会覆盖一个已经存在的地图。
|
||||||
editor.overwrite.confirm = [scarlet]警告![]存在同名地图。你确定你想要覆盖?
|
editor.overwrite.confirm = [scarlet]警告![]存在同名地图。你确定你想要覆盖?
|
||||||
editor.selectmap = 选择一个地图加载:
|
editor.selectmap = 选择一个地图加载:
|
||||||
|
|
||||||
toolmode.replace = 替换
|
toolmode.replace = 替换
|
||||||
toolmode.replace.description = 仅在实心块上绘制。
|
toolmode.replace.description = 仅在实心块上绘制。
|
||||||
toolmode.replaceall = 全部替换
|
toolmode.replaceall = 全部替换
|
||||||
@@ -263,11 +274,11 @@ toolmode.fillteams = 填充团队
|
|||||||
toolmode.fillteams.description = 填充团队而不是方块。
|
toolmode.fillteams.description = 填充团队而不是方块。
|
||||||
toolmode.drawteams = 绘制团队
|
toolmode.drawteams = 绘制团队
|
||||||
toolmode.drawteams.description = 绘制团队而不是方块。
|
toolmode.drawteams.description = 绘制团队而不是方块。
|
||||||
|
|
||||||
filters.empty = [LIGHT_GRAY]没有筛选器!用下方的按钮添加一个。
|
filters.empty = [LIGHT_GRAY]没有筛选器!用下方的按钮添加一个。
|
||||||
filter.distort = Distort
|
filter.distort = Distort
|
||||||
filter.noise = Noise
|
filter.noise = Noise
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = Ore
|
filter.ore = Ore
|
||||||
@@ -294,13 +305,12 @@ filter.option.floor2 = Secondary Floor
|
|||||||
filter.option.threshold2 = Secondary Threshold
|
filter.option.threshold2 = Secondary Threshold
|
||||||
filter.option.radius = Radius
|
filter.option.radius = Radius
|
||||||
filter.option.percentile = Percentile
|
filter.option.percentile = Percentile
|
||||||
|
|
||||||
width = 宽度:
|
width = 宽度:
|
||||||
height = 高度:
|
height = 高度:
|
||||||
menu = 菜单
|
menu = 菜单
|
||||||
play = 开始游戏
|
play = 开始游戏
|
||||||
load = 载入游戏
|
|
||||||
campaign = 战役模式
|
campaign = 战役模式
|
||||||
|
load = 载入游戏
|
||||||
save = 保存
|
save = 保存
|
||||||
fps = FPS:{0}
|
fps = FPS:{0}
|
||||||
tps = TPS:{0}
|
tps = TPS:{0}
|
||||||
@@ -308,10 +318,10 @@ ping = 延迟:{0}毫秒
|
|||||||
language.restart = 为了使语言设置生效请重启游戏。
|
language.restart = 为了使语言设置生效请重启游戏。
|
||||||
settings = 设置
|
settings = 设置
|
||||||
tutorial = 教程
|
tutorial = 教程
|
||||||
|
tutorial.retake = 重新游玩教程
|
||||||
editor = 编辑器
|
editor = 编辑器
|
||||||
mapeditor = 地图编辑器
|
mapeditor = 地图编辑器
|
||||||
donate = 打赏
|
donate = 打赏
|
||||||
|
|
||||||
abandon = 放弃
|
abandon = 放弃
|
||||||
abandon.text = 这个区域和它的所有资源会被敌人重置。
|
abandon.text = 这个区域和它的所有资源会被敌人重置。
|
||||||
locked = 已被锁定
|
locked = 已被锁定
|
||||||
@@ -322,11 +332,12 @@ bestwave = [LIGHT_GRAY]最高波次:{0}
|
|||||||
launch = < 发射 >
|
launch = < 发射 >
|
||||||
launch.title = 发射成功
|
launch.title = 发射成功
|
||||||
launch.next = [LIGHT_GRAY]下一个发射机会在第 {0} 波
|
launch.next = [LIGHT_GRAY]下一个发射机会在第 {0} 波
|
||||||
launch.unable = [scarlet]发射失败。[]敌人未被全部消灭。
|
launch.unable2 = [scarlet]无法发射[]
|
||||||
launch.confirm = 您将发射核心中所有资源。\n此地图将被重置。
|
launch.confirm = 您将发射核心中所有资源。\n此地图将重置。
|
||||||
|
launch.skip.confirm = 如果你现在跳过,在后来的波次前你将无法发射。
|
||||||
uncover = 解锁
|
uncover = 解锁
|
||||||
configure = 设定发射资源数量
|
configure = 设定发射资源数量
|
||||||
configure.locked = [LIGHT_GRAY]到达第 {0} 波\n才设定发射资源。
|
configure.locked = [LIGHT_GRAY]到达第 {0} 波\n才能设定发射资源。
|
||||||
zone.unlocked = [LIGHT_GRAY]{0} 已解锁。
|
zone.unlocked = [LIGHT_GRAY]{0} 已解锁。
|
||||||
zone.requirement.complete = 已达到第{0}波。\n达到解锁{1}的需求。
|
zone.requirement.complete = 已达到第{0}波。\n达到解锁{1}的需求。
|
||||||
zone.config.complete = 已达到第{0}波。\n允许携带发射的资源进入此地区。
|
zone.config.complete = 已达到第{0}波。\n允许携带发射的资源进入此地区。
|
||||||
@@ -336,7 +347,6 @@ zone.objective.survival = 生存
|
|||||||
zone.objective.attack = 摧毁敌方核心
|
zone.objective.attack = 摧毁敌方核心
|
||||||
add = 添加……
|
add = 添加……
|
||||||
boss.health = BOSS 生命值
|
boss.health = BOSS 生命值
|
||||||
|
|
||||||
connectfail = [crimson]服务器连接失败:[accent]{0}
|
connectfail = [crimson]服务器连接失败:[accent]{0}
|
||||||
error.unreachable = 服务器无法访问。
|
error.unreachable = 服务器无法访问。
|
||||||
error.invalidaddress = 地址无效。
|
error.invalidaddress = 地址无效。
|
||||||
@@ -347,21 +357,20 @@ error.mapnotfound = 找不到地图文件!
|
|||||||
error.io = 网络 I/O 错误。
|
error.io = 网络 I/O 错误。
|
||||||
error.any = 未知网络错误。
|
error.any = 未知网络错误。
|
||||||
error.bloom = 未能初始化特效。\n您的设备可能不支持它。
|
error.bloom = 未能初始化特效。\n您的设备可能不支持它。
|
||||||
|
|
||||||
zone.groundZero.name = 零号地区
|
zone.groundZero.name = 零号地区
|
||||||
zone.desertWastes.name = 沙漠废物
|
zone.desertWastes.name = 荒芜沙漠
|
||||||
zone.craters.name = 陨石带
|
zone.craters.name = 陨石带
|
||||||
zone.frozenForest.name = 冰冻森林
|
zone.frozenForest.name = 冰冻森林
|
||||||
zone.ruinousShores.name = 毁灭海岸
|
zone.ruinousShores.name = 遗迹海岸
|
||||||
zone.stainedMountains.name = 绵延群山
|
zone.stainedMountains.name = 绵延群山
|
||||||
zone.desolateRift.name = 荒芜裂谷
|
zone.desolateRift.name = 荒芜裂谷
|
||||||
zone.nuclearComplex.name = 核裂变
|
zone.nuclearComplex.name = 核裂阵
|
||||||
zone.overgrowth.name = 增生区
|
zone.overgrowth.name = 增生区
|
||||||
zone.tarFields.name = 石油田
|
zone.tarFields.name = 石油田
|
||||||
zone.saltFlats.name = 盐碱荒滩
|
zone.saltFlats.name = 盐碱荒滩
|
||||||
zone.impact0078.name = 0078号冲击
|
zone.impact0078.name = 0078号冲击
|
||||||
zone.crags.name = 悬崖
|
zone.crags.name = 悬崖
|
||||||
|
zone.fungalPass.name = 真菌通道
|
||||||
zone.groundZero.description = 重新开始的最佳位置。敌人威胁很小,资源少。\n尽可能收集多的铅和铜。\n行动。
|
zone.groundZero.description = 重新开始的最佳位置。敌人威胁很小,资源少。\n尽可能收集多的铅和铜。\n行动。
|
||||||
zone.frozenForest.description = 即使在这里,靠近山脉的地方,孢子也已经扩散。寒冷的温度不可能永远容纳它们。\n\n此行动须投入电力。建造燃烧发电机并学会使用修理者。
|
zone.frozenForest.description = 即使在这里,靠近山脉的地方,孢子也已经扩散。寒冷的温度不可能永远容纳它们。\n\n此行动须投入电力。建造燃烧发电机并学会使用修理者。
|
||||||
zone.desertWastes.description = 这些废物是巨大的,不可预测的,并且与废弃的结构交错在一起。燃烧它以获取动力或合成石墨。\n\n[lightgray]无法保证此着陆位置。
|
zone.desertWastes.description = 这些废物是巨大的,不可预测的,并且与废弃的结构交错在一起。燃烧它以获取动力或合成石墨。\n\n[lightgray]无法保证此着陆位置。
|
||||||
@@ -369,14 +378,15 @@ zone.saltFlats.description = 在沙漠的郊区有盐滩。在这个地方几乎
|
|||||||
zone.craters.description = 水在这个火山口积聚,这是旧战争的遗迹。夺下该区域。收集沙子来冶炼玻璃。用水泵抽水冷却炮塔和钻头。
|
zone.craters.description = 水在这个火山口积聚,这是旧战争的遗迹。夺下该区域。收集沙子来冶炼玻璃。用水泵抽水冷却炮塔和钻头。
|
||||||
zone.ruinousShores.description = 穿过荒地,就是海岸线。曾经这个地方安置了一个海岸防御阵列。现在剩下的不多了,只有最基本的防御结构仍然毫发无损,其他一切都被销毁了。\n继续向外扩展。继续研究科技。
|
zone.ruinousShores.description = 穿过荒地,就是海岸线。曾经这个地方安置了一个海岸防御阵列。现在剩下的不多了,只有最基本的防御结构仍然毫发无损,其他一切都被销毁了。\n继续向外扩展。继续研究科技。
|
||||||
zone.stainedMountains.description = 在更远的内陆地区是山脉,但没有被孢子污染。\n在这一地区分布着丰富的钛。学习如何使用它。\n\n这里敌人的存在更大。不要给他们时间派出最强的部队。
|
zone.stainedMountains.description = 在更远的内陆地区是山脉,但没有被孢子污染。\n在这一地区分布着丰富的钛。学习如何使用它。\n\n这里敌人的存在更大。不要给他们时间派出最强的部队。
|
||||||
zone.overgrowth.description = 这个地区生长过度,靠近孢子的来源。\n敌人在这里建立了一个前哨站。建造尖刀单位来摧毁它并找回丢失的东西。
|
zone.overgrowth.description = 这个地区靠近孢子的来源,生长过度。\n敌人在这里建立了一个前哨站。建造尖刀单位来摧毁它并找回丢失的东西。
|
||||||
zone.tarFields.description = 位于山脉和沙漠之间的产油区的郊区是少数几个有可用焦油储量的地区之一。\n尽管被废弃,但附近仍有一些危险的敌军。不要低估它们。\n\n[lightgray]如果可能,研究石油加工技术。
|
zone.tarFields.description = 位于山脉和沙漠之间的产油区的郊区是少数几个有可用焦油储量的地区之一。\n尽管被废弃,但附近仍有一些危险的敌军。不要低估它们。\n\n[lightgray]如果可能,研究石油加工技术。
|
||||||
zone.desolateRift.description = 非常危险的区域。资源丰富但空间小。破坏风险高。尽快离开,不要被敌人的攻击间隔太长所愚弄。
|
zone.desolateRift.description = 非常危险的区域。资源丰富但空间小。破坏风险高。尽快离开,不要被敌人的攻击间隔太长所愚弄。
|
||||||
zone.nuclearComplex.description = 以前生产和加工钍的设施已变成废墟。\n[浅灰色]研究钍及其多种用途。\n\n敌人在这里大量存在,不断侦察入侵者。
|
zone.nuclearComplex.description = 以前生产和加工钍的设施已变成废墟。\n[lightgray]研究钍及其多种用途。\n\n敌人在这里大量存在,不断侦察入侵者。
|
||||||
|
zone.fungalPass.description = 介于高山和低矮孢子丛生的土地之间的过渡地带。这里有一个小型的敌方侦察基地。\n侦察它。\n使用尖刀和爬行者单位来消灭两个核心。
|
||||||
zone.impact0078.description = <在此处插入说明>
|
zone.impact0078.description = <在此处插入说明>
|
||||||
zone.crags.description = <在此处插入说明>
|
zone.crags.description = <在此处插入说明>
|
||||||
|
|
||||||
settings.language = 语言
|
settings.language = 语言
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = 恢复默认
|
settings.reset = 恢复默认
|
||||||
settings.rebind = 重新绑定
|
settings.rebind = 重新绑定
|
||||||
settings.controls = 控制
|
settings.controls = 控制
|
||||||
@@ -425,10 +435,10 @@ blocks.maxunits = 最大单位数量
|
|||||||
blocks.health = 生命值
|
blocks.health = 生命值
|
||||||
blocks.buildtime = 建造时间
|
blocks.buildtime = 建造时间
|
||||||
blocks.inaccuracy = 误差
|
blocks.inaccuracy = 误差
|
||||||
blocks.shots = 发射数
|
blocks.shots = 每秒发射数
|
||||||
blocks.reload = 重新装弹
|
blocks.reload = 重新装弹
|
||||||
blocks.ammo = 子弹
|
blocks.ammo = 子弹
|
||||||
|
bar.drilltierreq = 需要更好的钻头
|
||||||
bar.drillspeed = 挖掘速度:{0}/s
|
bar.drillspeed = 挖掘速度:{0}/s
|
||||||
bar.efficiency = 效率:{0}%
|
bar.efficiency = 效率:{0}%
|
||||||
bar.powerbalance = 能量:{0}
|
bar.powerbalance = 能量:{0}
|
||||||
@@ -440,7 +450,6 @@ bar.heat = 热量
|
|||||||
bar.power = 电力
|
bar.power = 电力
|
||||||
bar.progress = 制造进度
|
bar.progress = 制造进度
|
||||||
bar.spawned = 单位数量:{0}/{1}
|
bar.spawned = 单位数量:{0}/{1}
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] 伤害
|
bullet.damage = [stat]{0}[lightgray] 伤害
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] 范围伤害 ~[stat] {1}[lightgray] 格
|
bullet.splashdamage = [stat]{0}[lightgray] 范围伤害 ~[stat] {1}[lightgray] 格
|
||||||
bullet.incendiary = [stat] 燃烧
|
bullet.incendiary = [stat] 燃烧
|
||||||
@@ -452,7 +461,6 @@ bullet.freezing = [stat] 冰冻
|
|||||||
bullet.tarred = [stat] 减速
|
bullet.tarred = [stat] 减速
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x 子弹数量
|
bullet.multiplier = [stat]{0}[lightgray]x 子弹数量
|
||||||
bullet.reload = [stat]{0}[lightgray]x 装弹
|
bullet.reload = [stat]{0}[lightgray]x 装弹
|
||||||
|
|
||||||
unit.blocks = 方块
|
unit.blocks = 方块
|
||||||
unit.powersecond = 能量单位/秒
|
unit.powersecond = 能量单位/秒
|
||||||
unit.liquidsecond = 液体单位/秒
|
unit.liquidsecond = 液体单位/秒
|
||||||
@@ -474,17 +482,17 @@ category.shooting = 发射
|
|||||||
category.optional = 可选的增强物品
|
category.optional = 可选的增强物品
|
||||||
setting.landscape.name = 锁定横屏
|
setting.landscape.name = 锁定横屏
|
||||||
setting.shadows.name = 影子
|
setting.shadows.name = 影子
|
||||||
setting.linear.name = 线性滤波
|
setting.linear.name = 光滑贴图
|
||||||
setting.animatedwater.name = 流动的水
|
setting.animatedwater.name = 流动的水
|
||||||
setting.animatedshields.name = 动态画面
|
setting.animatedshields.name = 动态画面
|
||||||
setting.antialias.name = 抗锯齿[LIGHT_GRAY] (需要重新启动)[]
|
setting.antialias.name = 抗锯齿[LIGHT_GRAY](需要重新启动)[]
|
||||||
setting.indicators.name = 队友指示器
|
setting.indicators.name = 队友指示器
|
||||||
setting.autotarget.name = 自动射击
|
setting.autotarget.name = 自动射击
|
||||||
setting.keyboard.name = 鼠标+键盘操控
|
setting.keyboard.name = 鼠标+键盘操控
|
||||||
setting.fpscap.name = 最大FPS
|
setting.fpscap.name = 最大FPS
|
||||||
setting.fpscap.none = 无
|
setting.fpscap.none = 无
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.uiscale.name = UI缩放比例[lightgray] (需要重新启动)[]
|
setting.uiscale.name = UI缩放比例[lightgray](需要重新启动)[]
|
||||||
setting.swapdiagonal.name = 自动铺设
|
setting.swapdiagonal.name = 自动铺设
|
||||||
setting.difficulty.training = 训练
|
setting.difficulty.training = 训练
|
||||||
setting.difficulty.easy = 简单
|
setting.difficulty.easy = 简单
|
||||||
@@ -498,17 +506,19 @@ setting.sensitivity.name = 控制器灵敏度
|
|||||||
setting.saveinterval.name = 自动保存间隔
|
setting.saveinterval.name = 自动保存间隔
|
||||||
setting.seconds = {0} 秒
|
setting.seconds = {0} 秒
|
||||||
setting.fullscreen.name = 全屏
|
setting.fullscreen.name = 全屏
|
||||||
setting.borderlesswindow.name = 全屏化[LIGHT_GRAY] (可能需要重启)
|
setting.borderlesswindow.name = 无边框窗口[LIGHT_GRAY] (可能需要重启)
|
||||||
setting.fps.name = 显示 FPS
|
setting.fps.name = 显示 FPS
|
||||||
setting.vsync.name = 帧同步
|
setting.vsync.name = 垂直同步
|
||||||
setting.lasers.name = 显示能量射线
|
setting.lasers.name = 显示能量射线
|
||||||
setting.pixelate.name = 像素画面 [LIGHT_GRAY](可能会降低性能)
|
setting.pixelate.name = 像素画面 [LIGHT_GRAY](禁用动画)
|
||||||
setting.minimap.name = 显示小地图
|
setting.minimap.name = 显示小地图
|
||||||
setting.musicvol.name = 音乐音量
|
setting.musicvol.name = 音乐音量
|
||||||
|
setting.ambientvol.name = 环境体积
|
||||||
setting.mutemusic.name = 静音
|
setting.mutemusic.name = 静音
|
||||||
setting.sfxvol.name = 音效音量
|
setting.sfxvol.name = 音效音量
|
||||||
setting.mutesound.name = 静音
|
setting.mutesound.name = 静音
|
||||||
setting.crashreport.name = 发送匿名崩溃报告
|
setting.crashreport.name = 发送匿名崩溃报告
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = 聊天界面透明度
|
setting.chatopacity.name = 聊天界面透明度
|
||||||
setting.playerchat.name = 显示游戏内聊天界面
|
setting.playerchat.name = 显示游戏内聊天界面
|
||||||
uiscale.reset = UI缩放比例已经改变。\n按下“确定”来确定缩放比例\n[accent]{0}[]秒后[scarlet]退出并恢复设定。
|
uiscale.reset = UI缩放比例已经改变。\n按下“确定”来确定缩放比例\n[accent]{0}[]秒后[scarlet]退出并恢复设定。
|
||||||
@@ -529,7 +539,8 @@ keybind.press.axis = 按一下轴或键……
|
|||||||
keybind.screenshot.name = 地图截图
|
keybind.screenshot.name = 地图截图
|
||||||
keybind.move_x.name = 水平移动
|
keybind.move_x.name = 水平移动
|
||||||
keybind.move_y.name = 垂直移动
|
keybind.move_y.name = 垂直移动
|
||||||
keybind.select.name = 选择
|
keybind.fullscreen.name = 切换全屏
|
||||||
|
keybind.select.name = 选择/射击
|
||||||
keybind.diagonal_placement.name = 自动铺设
|
keybind.diagonal_placement.name = 自动铺设
|
||||||
keybind.pick.name = 选择方块
|
keybind.pick.name = 选择方块
|
||||||
keybind.break_block.name = 破坏方块
|
keybind.break_block.name = 破坏方块
|
||||||
@@ -561,7 +572,6 @@ mode.pvp.description = 和本地玩家对战。
|
|||||||
mode.attack.name = 攻击
|
mode.attack.name = 攻击
|
||||||
mode.attack.description = 没有波数,但是有摧毁敌人基地的任务。
|
mode.attack.description = 没有波数,但是有摧毁敌人基地的任务。
|
||||||
mode.custom = 自定义模式
|
mode.custom = 自定义模式
|
||||||
|
|
||||||
rules.infiniteresources = 无限资源
|
rules.infiniteresources = 无限资源
|
||||||
rules.wavetimer = 波次计时器
|
rules.wavetimer = 波次计时器
|
||||||
rules.waves = 波次
|
rules.waves = 波次
|
||||||
@@ -579,7 +589,7 @@ rules.wavespacing = 波次间隔时间:[LIGHT_GRAY](秒)
|
|||||||
rules.buildcostmultiplier = 建设花费倍数
|
rules.buildcostmultiplier = 建设花费倍数
|
||||||
rules.buildspeedmultiplier = 建设时间倍数
|
rules.buildspeedmultiplier = 建设时间倍数
|
||||||
rules.waitForWaveToEnd = 等待敌人时间
|
rules.waitForWaveToEnd = 等待敌人时间
|
||||||
rules.dropzoneradius = 敌人出生点毁灭大小:[LIGHT_GRAY] (格)
|
rules.dropzoneradius = 敌人出生点毁灭大小:[LIGHT_GRAY](格)
|
||||||
rules.respawns = 每波最大重生次数
|
rules.respawns = 每波最大重生次数
|
||||||
rules.limitedRespawns = 重生限制次数
|
rules.limitedRespawns = 重生限制次数
|
||||||
rules.title.waves = 波次
|
rules.title.waves = 波次
|
||||||
@@ -588,7 +598,6 @@ rules.title.resourcesbuilding = 资源和建造
|
|||||||
rules.title.player = 玩家
|
rules.title.player = 玩家
|
||||||
rules.title.enemy = 敌人
|
rules.title.enemy = 敌人
|
||||||
rules.title.unit = 单位
|
rules.title.unit = 单位
|
||||||
|
|
||||||
content.item.name = 物品
|
content.item.name = 物品
|
||||||
content.liquid.name = 液体
|
content.liquid.name = 液体
|
||||||
content.unit.name = 部队
|
content.unit.name = 部队
|
||||||
@@ -639,7 +648,7 @@ item.explosiveness = [LIGHT_GRAY]爆炸性:{0}
|
|||||||
item.flammability = [LIGHT_GRAY]易燃性:{0}
|
item.flammability = [LIGHT_GRAY]易燃性:{0}
|
||||||
item.radioactivity = [LIGHT_GRAY]放射性:{0}
|
item.radioactivity = [LIGHT_GRAY]放射性:{0}
|
||||||
unit.health = [LIGHT_GRAY]生命值:{0}
|
unit.health = [LIGHT_GRAY]生命值:{0}
|
||||||
unit.speed = [LIGHT_GRAY]速度:{0}有
|
unit.speed = [LIGHT_GRAY]速度:{0}
|
||||||
mech.weapon = [LIGHT_GRAY]武器:{0}
|
mech.weapon = [LIGHT_GRAY]武器:{0}
|
||||||
mech.health = [LIGHT_GRAY]生命值: {0}
|
mech.health = [LIGHT_GRAY]生命值: {0}
|
||||||
mech.itemcapacity = [LIGHT_GRAY]物品容量:{0}
|
mech.itemcapacity = [LIGHT_GRAY]物品容量:{0}
|
||||||
@@ -650,7 +659,6 @@ mech.buildspeed = [LIGHT_GRAY]建造速度:{0}%
|
|||||||
liquid.heatcapacity = [LIGHT_GRAY]热容量:{0}
|
liquid.heatcapacity = [LIGHT_GRAY]热容量:{0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]粘度:{0}
|
liquid.viscosity = [LIGHT_GRAY]粘度:{0}
|
||||||
liquid.temperature = [LIGHT_GRAY]温度:{0}
|
liquid.temperature = [LIGHT_GRAY]温度:{0}
|
||||||
|
|
||||||
block.sand-boulder.name = 沙砂巨石
|
block.sand-boulder.name = 沙砂巨石
|
||||||
block.grass.name = 草地
|
block.grass.name = 草地
|
||||||
block.salt.name = 盐碱地
|
block.salt.name = 盐碱地
|
||||||
@@ -795,6 +803,7 @@ block.blast-mixer.name = 爆炸混合器
|
|||||||
block.solar-panel.name = 太阳能电池
|
block.solar-panel.name = 太阳能电池
|
||||||
block.solar-panel-large.name = 大型太阳能电池
|
block.solar-panel-large.name = 大型太阳能电池
|
||||||
block.oil-extractor.name = 石油钻井
|
block.oil-extractor.name = 石油钻井
|
||||||
|
block.command-center.name = 指挥中心
|
||||||
block.draug-factory.name = 德鲁格采矿机工厂
|
block.draug-factory.name = 德鲁格采矿机工厂
|
||||||
block.spirit-factory.name = 幽灵修理机工厂
|
block.spirit-factory.name = 幽灵修理机工厂
|
||||||
block.phantom-factory.name = 鬼怪建造机工厂
|
block.phantom-factory.name = 鬼怪建造机工厂
|
||||||
@@ -825,7 +834,7 @@ block.surge-wall.name = 波动墙
|
|||||||
block.surge-wall-large.name = 大型波动墙
|
block.surge-wall-large.name = 大型波动墙
|
||||||
block.cyclone.name = 气旋炮
|
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 = 电弧
|
||||||
@@ -836,13 +845,14 @@ block.container.name = 容器
|
|||||||
block.launch-pad.name = 发射台
|
block.launch-pad.name = 发射台
|
||||||
block.launch-pad-large.name = 大型发射台
|
block.launch-pad-large.name = 大型发射台
|
||||||
team.blue.name = 蓝
|
team.blue.name = 蓝
|
||||||
team.red.name = 红
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = 橙
|
team.orange.name = 橙
|
||||||
team.none.name = 灰
|
team.derelict.name = derelict
|
||||||
team.green.name = 绿
|
team.green.name = 绿
|
||||||
team.purple.name = 紫
|
team.purple.name = 紫
|
||||||
unit.draug.name = 德鲁格采矿机
|
|
||||||
unit.spirit.name = 幽灵修理机
|
unit.spirit.name = 幽灵修理机
|
||||||
|
unit.draug.name = 德鲁格采矿机
|
||||||
unit.phantom.name = 鬼怪建造机
|
unit.phantom.name = 鬼怪建造机
|
||||||
unit.dagger.name = 尖刀
|
unit.dagger.name = 尖刀
|
||||||
unit.crawler.name = 爬行者
|
unit.crawler.name = 爬行者
|
||||||
@@ -856,28 +866,26 @@ unit.chaos-array.name = 混沌者
|
|||||||
unit.eradicator.name = 根除者
|
unit.eradicator.name = 根除者
|
||||||
unit.lich.name = 尸鬼
|
unit.lich.name = 尸鬼
|
||||||
unit.reaper.name = 死神
|
unit.reaper.name = 死神
|
||||||
tutorial.begin = 你的任务是消灭[LIGHT_GRAY] 敌人 [].\n\n首先开始[accent] 采集铜矿 []。点击核心附近的铜矿开始。
|
tutorial.next = [lightgray]<点击以继续>
|
||||||
tutorial.drill = 手动采矿效率低.\n[accent] 钻头 []可以自动采矿.\n放一个在铜矿上吧.
|
tutorial.intro = 你进入了[scarlet] Mindustry 教程[]。\n[accent]采集铜矿[]以开始。点击附近的一处铜矿。\n\n[accent]{0}/{1} 铜
|
||||||
tutorial.conveyor = [accent]传送带[] 可以把物资传送到核心.\n请造一个传送线,从钻头到核心.
|
tutorial.drill = 手动采矿效率低。\n[accent]钻头[]可以自动采矿。\n放一个在铜矿上吧。\n点击右下角的钻头菜单。\n选择[accent]机械钻头[]。\n单击将其放置在铜矿上。\n[accent]右键单击[]来停止。
|
||||||
tutorial.morecopper = 需要更多的铜.\n\n手动采矿或者放更多的钻头吧.
|
tutorial.drill.mobile = 手动采矿效率低。\n[accent]钻头[]可以自动采矿。\n点击右下角的钻头菜单。\n选择[accent]机械钻头[]。\n点击将其放在铜矿上,点击[accent]对号[]来确定。\n点击[accent]叉号[]来取消。
|
||||||
tutorial.turret = 必须建造防御建筑来击退[LIGHT_GRAY] 敌人[].\n请在你核心附近造一个双人炮塔.
|
tutorial.blockinfo = 每个方块具有不同的数据。每个钻头只能开采某些矿石。\n要检查块的信息和统计信息,[accent]在菜单中点击问号。[]\n\n[accent]现在查看机械钻头的数据吧。[]
|
||||||
tutorial.drillturret = 双人炮塔需要[accent] 铜质弹药 []来射击.\n可以放一个钻头在炮塔附近供应铜.
|
tutorial.conveyor = [accent]传送带[]可以把物资传送到核心。\n请从钻头到核心间造一条传送带。
|
||||||
tutorial.waves = [LIGHT_GRAY]敌人[] 来了.\n\n保护基地,防御2波攻击. 造更多的炮塔.
|
tutorial.conveyor.mobile = [accent]传送带[]可以把物资传送到核心。\n请从钻头到核心间造一条传送带。\n[accent]长按数秒[]并向一个方向拖动来直线放置。\n\n[accent]{0}/{1} 条传送带\n[accent]0/1 物品
|
||||||
tutorial.lead = 有更多的矿可用. 探索和采集[accent] 铅[].\n\n按住你的采矿单位拖放到核心来传送资源.
|
tutorial.turret = 必须建造防御建筑来击退[LIGHT_GRAY]敌人[]。\n请在你核心附近造一个双管炮。
|
||||||
tutorial.smelter = 铜和铅是弱金属.\n超级[accent] 致密合金[] 可以从冶炼厂生产.\n\n造一个吧.
|
tutorial.drillturret = 双管炮需要[accent]铜[]作弹药来射击。\n可以放一个钻头在炮塔附近供应铜。
|
||||||
tutorial.densealloy = 冶炼厂将生产合金.\n生产一些.\n有必要可以改进一下生产.
|
tutorial.pause = 在战斗中,您可以[accent]暂停游戏[]。\n暂停时您可以规划建筑物。\n\n按[accent]空格[]暂停。
|
||||||
tutorial.siliconsmelter = 基地现在将制作一个[accent] 无人机[] 来采矿和维修方块.\n\n其他单位的工程可以用[accent] 硅 []来建造.\n造一个硅冶炼厂.
|
tutorial.pause.mobile = 在战斗中,您可以[accent]暂停游戏[]。\n暂停时您可以规划建筑物。\n\n[accent]点击左上角的按钮以暂停。
|
||||||
tutorial.silicondrill = 硅需要[accent] 煤[] 和[accent] 沙[].\n开始制作钻头吧.
|
tutorial.unpause = 现在再次按空格以继续。
|
||||||
tutorial.generator = 这项技术需要能源.\n造一个[accent] 燃烧发电机[] 来发电.
|
tutorial.unpause.mobile = 现在再次点击以继续。
|
||||||
tutorial.generatordrill = 燃烧发电机需要燃料.\n用钻头采集煤来供给燃料.
|
tutorial.breaking = 方块经常需要拆除。\n[accent]按住鼠标右键[]来拆除选中的方块。[]\n\n[accent]使用范围拆除来拆除核心左侧的废墙。
|
||||||
tutorial.node = 能源需要传输.\n造一个[accent] 能量节点[] 靠近火力发电机来传输它的能源.
|
tutorial.breaking.mobile = 方块经常需要拆除。\n[accent]选择拆除模式[],点击方块以拆除。\n[accent]长按几秒[]并拖动来范围拆除。\n点击对号来确定。\n\n[accent]使用范围拆除来拆除核心左侧的废墙。
|
||||||
tutorial.nodelink = 使耗能方块紧靠发电机或者用能源节点连接来传输电力.\n\n点击能源节点并选择发电机和硅冶炼厂来链接能源.
|
tutorial.withdraw = 有时,从方块中取出物品是必要的。\n[accent]点击有物品的方块[],然后[accent]点击在方框中的物品[]。\n可以通过[accent]点击或长按[]来取出物品。\n\n[accent]从核心中取出一些铜[]。
|
||||||
tutorial.silicon = 正在生产硅. 多生产点.\n\n建议优化一下生产系统.
|
tutorial.deposit = 将物品从机甲拖向方块来放下物品。\n\n[accent]将铜放回核心[]。
|
||||||
tutorial.daggerfactory = 建造一个[accent] 尖刀机甲工厂.[]\n\n它可以用来生产机甲
|
tutorial.waves = [lightgray]敌人[]来了。\n\n保护核心,防御2波攻击。造更多的炮塔。[accent]点击[]以射击。\n建造更多的炮塔和钻头,并采更多的矿。
|
||||||
tutorial.router = 工厂需要资源来运作.\n造一个路由器来分发传送资源.
|
tutorial.waves.mobile = [lightgray]敌人[]来了。\n\n保护核心,防御2波攻击。造更多的炮塔。你的机甲将对敌人自动开火。\n建造更多的炮塔和钻头,并采更多的矿。
|
||||||
tutorial.dagger = 链接能源节点到工厂.\n一旦需求满足, 将会制作一个机甲.\n\n根据需要制作更多的钻头,发电机,传送带.
|
tutorial.launch = 特定波次中,你可以[accent]发射核心[],[accent]携带核心中所有资源[]离开所有的建筑。\n资源可用来研究科技。\n\n[accent]点击发射按钮。
|
||||||
tutorial.battle = [LIGHT_GRAY] 敌人[] 的核心已经暴露。\n用你的尖刀机甲摧毁它。
|
|
||||||
|
|
||||||
item.copper.description = 一种有用的结构材料。在各种类型的方块中广泛使用。
|
item.copper.description = 一种有用的结构材料。在各种类型的方块中广泛使用。
|
||||||
item.lead.description = 一种基本的起始材料。被广泛用于电子设备和液体运输方块。
|
item.lead.description = 一种基本的起始材料。被广泛用于电子设备和液体运输方块。
|
||||||
item.metaglass.description = 一种超级强硬的复合玻璃。通常用来传送和收藏液体。
|
item.metaglass.description = 一种超级强硬的复合玻璃。通常用来传送和收藏液体。
|
||||||
@@ -899,7 +907,7 @@ liquid.slag.description = 各种不同类型的熔融金属混合在一起的液
|
|||||||
liquid.oil.description = 用于先进材料生产的液体。可以转换成煤作为燃料,或作为武器喷射和放火。
|
liquid.oil.description = 用于先进材料生产的液体。可以转换成煤作为燃料,或作为武器喷射和放火。
|
||||||
liquid.cryofluid.description = 一种由水和钛制成的惰性、无腐蚀性的液体。具有极高的热容量。广泛用作冷却剂。
|
liquid.cryofluid.description = 一种由水和钛制成的惰性、无腐蚀性的液体。具有极高的热容量。广泛用作冷却剂。
|
||||||
mech.alpha-mech.description = 标准控制机甲。基于尖刀单位,具有升级的装甲和建筑能力。比Dart有更多的伤害输出。
|
mech.alpha-mech.description = 标准控制机甲。基于尖刀单位,具有升级的装甲和建筑能力。比Dart有更多的伤害输出。
|
||||||
mech.delta-mech.description = 一种快速,轻便的机甲,一击即退。对结构造成的伤害很小,但可以用弧形闪电武器很快杀死大量敌方单位。
|
mech.delta-mech.description = 一种快速,轻便的机甲,一击即退。对结构造成的伤害很小,但可以用弧形闪电武器快速杀死大量敌方单位。
|
||||||
mech.tau-mech.description = 后勤机甲。治疗友军。可以熄灭火焰并治疗一定范围内的友军。
|
mech.tau-mech.description = 后勤机甲。治疗友军。可以熄灭火焰并治疗一定范围内的友军。
|
||||||
mech.omega-mech.description = 一种装甲厚重的机甲,用于在前线攻击。它的护甲可以阻挡高达90%的伤害。
|
mech.omega-mech.description = 一种装甲厚重的机甲,用于在前线攻击。它的护甲可以阻挡高达90%的伤害。
|
||||||
mech.dart-ship.description = 标准飞船。快速轻便,但攻击能力低,采矿速度慢。
|
mech.dart-ship.description = 标准飞船。快速轻便,但攻击能力低,采矿速度慢。
|
||||||
@@ -913,14 +921,10 @@ unit.dagger.description = 一种最基本的地面机甲。生产成本低。在
|
|||||||
unit.crawler.description = 一种地面装置,由一个框架和绑在上面的烈性炸药组成。不是特别耐用。与敌人接触后爆炸。
|
unit.crawler.description = 一种地面装置,由一个框架和绑在上面的烈性炸药组成。不是特别耐用。与敌人接触后爆炸。
|
||||||
unit.titan.description = 一种先进的装甲地面部队。攻击地面和空中目标。配备两个微型灼烧级火焰喷射器。
|
unit.titan.description = 一种先进的装甲地面部队。攻击地面和空中目标。配备两个微型灼烧级火焰喷射器。
|
||||||
unit.fortress.description = 一种重型炮兵机甲。装备两门改进型冰雹炮,用于对敌军建筑物和部队进行远程攻击。
|
unit.fortress.description = 一种重型炮兵机甲。装备两门改进型冰雹炮,用于对敌军建筑物和部队进行远程攻击。
|
||||||
unit.eruptor.description = 一种用来拆除建筑物的重型机甲。在敌人的防御工事上发射一股熔渣,将它们熔化并点燃挥发物。
|
unit.eruptor.description = 一种用来拆除建筑物的重型机甲。在敌人的防御工事上发射矿渣,将它们熔化并点燃挥发物。
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = 一种快速、一击即退的拦截器机甲。目标是发电机。
|
unit.wraith.description = 一种快速、一击即退的拦截器机甲。目标是发电机。
|
||||||
unit.ghoul.description = 一种地毯式轰炸机。通过敌人的结构进行攻击,并瞄准关键的基础设施。
|
unit.ghoul.description = 一种地毯式轰炸机。通过敌人的结构进行攻击,并瞄准关键的基础设施。
|
||||||
unit.revenant.description = 一种发射导弹的重型飞行机甲
|
unit.revenant.description = 一种发射导弹的重型飞行机甲。
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = 把大块的煤压缩成纯石墨片。
|
block.graphite-press.description = 把大块的煤压缩成纯石墨片。
|
||||||
block.multi-press.description = 石墨压缩机的升级版。利用水和电力快速高效地处理煤炭。
|
block.multi-press.description = 石墨压缩机的升级版。利用水和电力快速高效地处理煤炭。
|
||||||
block.silicon-smelter.description = 用高纯度的焦炭来加工沙子以生产硅。
|
block.silicon-smelter.description = 用高纯度的焦炭来加工沙子以生产硅。
|
||||||
@@ -928,20 +932,20 @@ block.kiln.description = 将铅和沙子熔炼成钢化玻璃,需要少量电
|
|||||||
block.plastanium-compressor.description = 用石油和钛生产塑钢。
|
block.plastanium-compressor.description = 用石油和钛生产塑钢。
|
||||||
block.phase-weaver.description = 用放射性钍和大量沙子生产相织物。
|
block.phase-weaver.description = 用放射性钍和大量沙子生产相织物。
|
||||||
block.alloy-smelter.description = 用钛,铅,硅和铜生产浪涌合金。
|
block.alloy-smelter.description = 用钛,铅,硅和铜生产浪涌合金。
|
||||||
block.pulverizer.description = 将废料压碎成沙子。当缺少天然沙子时很有用。
|
|
||||||
block.pyratite-mixer.description = 用煤,铅和沙子混合成高度易燃的硫。
|
|
||||||
block.blast-mixer.description = 用油将硫转化为不易燃但更具爆炸性的爆炸化合物。
|
|
||||||
block.cryofluidmixer.description = 水和钛结合到低温流体中,冷却效率更高。
|
block.cryofluidmixer.description = 水和钛结合到低温流体中,冷却效率更高。
|
||||||
|
block.blast-mixer.description = 用油将硫转化为不易燃但更具爆炸性的爆炸化合物。
|
||||||
|
block.pyratite-mixer.description = 将煤,铅和沙子混合成高度易燃的硫。
|
||||||
block.melter.description = 将废料熔化成矿渣,以便进一步加工或用于炮塔子弹。
|
block.melter.description = 将废料熔化成矿渣,以便进一步加工或用于炮塔子弹。
|
||||||
block.incinerator.description = 用于除掉任何多余的物品或液体。
|
|
||||||
block.spore-press.description = 压缩孢子荚得到石油。
|
|
||||||
block.separator.description = 从矿渣中提取有用的矿物。
|
block.separator.description = 从矿渣中提取有用的矿物。
|
||||||
|
block.spore-press.description = 压缩孢子荚得到石油。
|
||||||
|
block.pulverizer.description = 将废料压碎成沙子。当缺少天然沙子时很有用。
|
||||||
block.coal-centrifuge.description = 使石油凝固成煤块。
|
block.coal-centrifuge.description = 使石油凝固成煤块。
|
||||||
block.item-source.description = 无限输出物品。仅限沙盒。
|
block.incinerator.description = 用于除掉任何多余的物品或液体。
|
||||||
block.liquid-source.description = 无限输出液体。仅限沙盒。
|
|
||||||
block.item-void.description = 在不使用电源的情况下销毁任何进入它的物品。仅限沙盒。
|
|
||||||
block.power-source.description = 无限输出功率。仅限沙盒。
|
|
||||||
block.power-void.description = 消耗输入的所有功率。仅限沙盒。
|
block.power-void.description = 消耗输入的所有功率。仅限沙盒。
|
||||||
|
block.power-source.description = 无限输出功率。仅限沙盒。
|
||||||
|
block.item-source.description = 无限输出物品。仅限沙盒。
|
||||||
|
block.item-void.description = 在不使用电源的情况下销毁任何进入它的物品。仅限沙盒。
|
||||||
|
block.liquid-source.description = 无限输出液体。仅限沙盒。
|
||||||
block.copper-wall.description = 廉价的防守区块。\n用于保护前几波中的核心和炮塔。
|
block.copper-wall.description = 廉价的防守区块。\n用于保护前几波中的核心和炮塔。
|
||||||
block.copper-wall-large.description = 廉价的防御块。\n用于保护前几个波浪中的核心和炮塔。\n跨越多个区块。
|
block.copper-wall-large.description = 廉价的防御块。\n用于保护前几个波浪中的核心和炮塔。\n跨越多个区块。
|
||||||
block.titanium-wall.description = 中等强度的防御挡块。\n提供中等强度的防御以抵御敌人。
|
block.titanium-wall.description = 中等强度的防御挡块。\n提供中等强度的防御以抵御敌人。
|
||||||
@@ -955,88 +959,89 @@ block.surge-wall-large.description = 强大的防御区块。\n有很小的机
|
|||||||
block.door.description = 一扇小门,可以通过点击打开和关闭。\n如果打开,敌人可以射击并穿过。
|
block.door.description = 一扇小门,可以通过点击打开和关闭。\n如果打开,敌人可以射击并穿过。
|
||||||
block.door-large.description = 一扇大门,可以通过点击打开和关闭。\n如果打开,敌人可以射击并穿过。\n跨越多个区块。
|
block.door-large.description = 一扇大门,可以通过点击打开和关闭。\n如果打开,敌人可以射击并穿过。\n跨越多个区块。
|
||||||
block.mender.description = 定期修理附近的方块,使防御系统在波与波之间得到修复。\n通常使用硅来提高范围和效率。
|
block.mender.description = 定期修理附近的方块,使防御系统在波与波之间得到修复。\n通常使用硅来提高范围和效率。
|
||||||
block.mend-projector.description = 定期修复附近的建筑物。
|
block.mend-projector.description = 修理者的升级。定期修复附近的建筑物。
|
||||||
block.overdrive-projector.description = 提高附近建筑物的速度,如钻头和传送带。
|
block.overdrive-projector.description = 提高附近建筑物的速度,如钻头和传送带。
|
||||||
block.force-projector.description = 自身周围创建一个六边形力场,使建筑物和内部单位免受子弹的伤害。
|
block.force-projector.description = 自身周围创建一个六边形力场,使建筑物和内部单位免受子弹的伤害。
|
||||||
block.shock-mine.description = 伤害踩到它的敌人。敌人几乎看不到它。
|
block.shock-mine.description = 伤害踩到它的敌人。敌人几乎看不到它。
|
||||||
block.conveyor.description = 初级传送带。将物品向前移动并自动将它们放入炮塔或工厂中。可旋转方向。
|
block.conveyor.description = 初级传送带。将物品向前移动并自动将它们放入炮塔或工厂中。可旋转方向。
|
||||||
block.titanium-conveyor.description = 高级传送带。能比初级传送带更快地移动物品。
|
block.titanium-conveyor.description = 高级传送带。能比初级传送带更快地移动物品。
|
||||||
block.router.description = 从一个方向接受物品,并将它们平均输出到最多3个其他方向。用于将材料从一个源分割为多个目标。
|
block.junction.description = 两条交叉传送带的桥梁。适用于两条不同传送带将不同材料运送到不同位置的情况。
|
||||||
block.distributor.description = 一个高级路由器,可以将物品分成最多7个方向。
|
|
||||||
block.bridge-conveyor.description = 高级项目传输块。允许在跨越任何地形或建筑物上运输物品,最多跨越3个块。
|
block.bridge-conveyor.description = 高级项目传输块。允许在跨越任何地形或建筑物上运输物品,最多跨越3个块。
|
||||||
block.phase-conveyor.description = 高级传送带。使用电力将物品传送到距离几个块的相位传送带上。
|
block.phase-conveyor.description = 高级传送带。使用电力将物品传送到距离几个块的相位传送带上。
|
||||||
block.sorter.description = 对物品进行分类。如果物品与所选种类,则允许其通过。否则,物品将从左边和右边输出。
|
block.sorter.description = 对物品进行分类。如果物品与所选种类,则允许其通过。否则,物品将从左边和右边输出。
|
||||||
|
block.router.description = 从一个方向接受物品,并将它们平均输出到最多3个其他方向。用于将材料分成多份。
|
||||||
|
block.distributor.description = 一个高级路由器,可以将物品向最多7个方向输出。
|
||||||
block.overflow-gate.description = 分离器和路由器的组合,如果前面被挡住,则向从左和右输出。
|
block.overflow-gate.description = 分离器和路由器的组合,如果前面被挡住,则向从左和右输出。
|
||||||
block.junction.description = 两条交叉传送带的桥梁。适用于两条不同传送带将不同材料运送到不同位置的情况。
|
block.mass-driver.description = 终极传送带。收集物品后将它们射向远处的另一个质量驱动器。
|
||||||
block.mass-driver.description = 终极传送带。收集几件物品,然后将它们射向长距离外的另一个批量传送带。
|
block.mechanical-pump.description = 一种输出速度慢但没有功耗的廉价泵。
|
||||||
block.conduit.description = 基本液体传输块。像输送机一样工作,但用于液体。最适用于提取器,泵或其他导管。
|
block.rotary-pump.description = 先进的水泵。泵送更多液体,但需要动力。
|
||||||
|
block.thermal-pump.description = 终级水泵。
|
||||||
|
block.conduit.description = 基本液体传输块。像传送带一样工作,但用于液体。最适用于提取器,泵或其他导管。
|
||||||
block.pulse-conduit.description = 高级液体传输块。比标准导管更快地输送液体并储存更多液体。
|
block.pulse-conduit.description = 高级液体传输块。比标准导管更快地输送液体并储存更多液体。
|
||||||
block.phase-conduit.description = 高级液体传输块。使用电力将液体传送到多个块上的连接相管道。
|
|
||||||
block.liquid-router.description = 接受来自一个方向的液体并将它们平均输出到最多3个其他方向。也可以储存一定量的液体。用于将液体从一个源分成多个目标。
|
block.liquid-router.description = 接受来自一个方向的液体并将它们平均输出到最多3个其他方向。也可以储存一定量的液体。用于将液体从一个源分成多个目标。
|
||||||
block.liquid-tank.description = 存储大量液体。当存在对材料的非恒定需求或作为冷却重要块的安全措施时,将其用于创建缓冲区。
|
block.liquid-tank.description = 存储大量液体。当存在对材料的非恒定需求或作为冷却重要块的安全措施时,将其用于创建缓冲区。
|
||||||
block.liquid-junction.description = 作为两个交叉管道的桥梁。适用于两种不同导管将不同液体输送到不同位置的情况。
|
block.liquid-junction.description = 作为两个交叉管道的桥梁。适用于两种不同导管将不同液体输送到不同位置的情况。
|
||||||
block.bridge-conduit.description = 高级液体传输块。允许在任何地形或建筑物的最多3个块上运输液体。
|
block.bridge-conduit.description = 高级液体传输块。允许在任何地形或建筑物的最多3个块上运输液体。
|
||||||
block.mechanical-pump.description = 一种输出速度慢但没有功耗的廉价泵。
|
block.phase-conduit.description = 高级液体传输块。使用电力将液体传送到多个块上的连接相管道。
|
||||||
block.rotary-pump.description = 一种先进的泵,通过使用动力使速度加倍。
|
block.power-node.description = 将电源传输到连接的节点。节点将接收来自或向任何相邻块供电。
|
||||||
block.thermal-pump.description = 终级水泵。
|
block.power-node-large.description = 具有更大范围和更多连接点的高级能量节点。
|
||||||
block.power-node.description = 连接节点传输电源。最多可连接四个电源,用电器或节点。节点将从任何相邻块接收电力或向其供电。
|
|
||||||
block.power-node-large.description = 传输径大于电源节点,最多可连接六个电源,接收器或节点。
|
|
||||||
block.surge-tower.description = 具有较少可用连接的远程电源节点。
|
block.surge-tower.description = 具有较少可用连接的远程电源节点。
|
||||||
block.battery.description = 储存电力,当储存有能量时,可在电力短缺时提供电力。
|
block.battery.description = 储存电力,当储存有能量时,可在电力短缺时提供电力。
|
||||||
block.battery-large.description = 比普通电池容量更大。
|
block.battery-large.description = 比普通电池容量更大。
|
||||||
block.combustion-generator.description = 通过燃烧油或易燃材料产生电力。
|
block.combustion-generator.description = 燃烧煤等易燃材料发电。
|
||||||
block.thermal-generator.description = 当放置在热的地方时发电。
|
block.thermal-generator.description = 当放置在热的地方时发电。
|
||||||
block.turbine-generator.description = 比燃烧发电机更有效,但需要额外的水。
|
block.turbine-generator.description = 先进的燃烧发电机,效率更高,但需要额外的水来产生蒸汽。
|
||||||
block.rtg-generator.description = 一种放射性同位素热电发电机,它不需要冷却,但功率低于钍反应堆。
|
block.differential-generator.description = 利用低温流体和燃烧的硫之间的温差产生大量的能量。
|
||||||
|
block.rtg-generator.description = 简单可靠的发电机。利用衰变放射性化合物的热量以缓慢的速度产生能量。
|
||||||
block.solar-panel.description = 标准太阳能面板,提供少量电力。
|
block.solar-panel.description = 标准太阳能面板,提供少量电力。
|
||||||
block.solar-panel-large.description = 比标准太阳能电池板提供更好的电源,但构建起来要贵得多。
|
block.solar-panel-large.description = 比标准太阳能电池板提供更好的电源,但构建起来要贵得多。
|
||||||
block.thorium-reactor.description = 高放射性钍产生大量电力。需要持续冷却。如果供应的冷却剂量不足,会剧烈爆炸。
|
block.thorium-reactor.description = 高放射性钍产生大量电力。需要持续冷却。如果供应的冷却剂量不足,会剧烈爆炸。
|
||||||
block.differential-generator.description = 产生大量的能量。利用低温流体和燃烧的硫之间的温差。
|
block.impact-reactor.description = 一种先进的发电机,能够以最高效率产生大量的电力。需要大量的电源输入才能启动。
|
||||||
block.impact-reactor.description = 一种先进的发电机,能够以最高效率产生大量的电力。需要大量的电源输入才能启动进程。
|
block.mechanical-drill.description = 一种便宜的钻头。放置在适当的块上时,以缓慢的速度无限期地输出物品。只能开采基本资源。
|
||||||
block.mechanical-drill.description = 便宜的钻头。放置在适当的块上时,无限期地以缓慢的速度输出物品。
|
block.pneumatic-drill.description = 一种改进的钻头,能开采钛。采矿速度比机械钻快。
|
||||||
block.pneumatic-drill.description = 一种改进的钻头,它更快,能够利用气压处理更硬的材料。
|
block.laser-drill.description = 通过激光技术更快开采,但需要电力。这种钻头可以回收放射性钍。
|
||||||
block.laser-drill.description = 通过激光技术更快地钻孔,但需要电源。此外,这种钻头可以回收放射性钍。
|
|
||||||
block.blast-drill.description = 终极钻头,需要大量电力。
|
block.blast-drill.description = 终极钻头,需要大量电力。
|
||||||
block.water-extractor.description = 从地下提取水。当附近没有湖泊时使用它。
|
block.water-extractor.description = 从地下提取水。当附近没有直接的水来源时使用它。
|
||||||
block.cultivator.description = 将微小浓度的孢子培养成工业用的孢子荚。
|
block.cultivator.description = 将微小浓度的孢子培养成工业用的孢子荚。
|
||||||
block.oil-extractor.description = 使用大量的电力从沙子中提取石油。当附近没有直接的石油来源时使用它。
|
block.oil-extractor.description = 使用大量的电力从沙子中提取石油。当附近没有直接的石油来源时使用它。
|
||||||
block.core-shard.description = 核心第一代。一旦被摧毁,与该地区的所有联系都将失去。不要让这种情况发生。
|
block.core-shard.description = 核心第一代。一旦被摧毁,与该地区的所有联系都将失去。不要让这种情况发生。
|
||||||
block.core-foundation.description = 核心第二代。有更好的装甲。可以存储更多资源。
|
block.core-foundation.description = 核心第二代。有更好的装甲。可以存储更多资源。
|
||||||
block.core-nucleus.description = 核心第三代,也是最后一代。装甲非常好。存储大量资源。
|
block.core-nucleus.description = 核心第三代,也是最后一代。装甲非常好。存储大量资源。
|
||||||
|
block.vault.description = 存储大量物品。当存在非恒定的材料需求时,使用它来创建缓冲区。[LIGHT_GRAY]卸载器[]可用于从仓库中获取物品。
|
||||||
|
block.container.description = 存储少量物品。当存在非恒定的材料需求时,使用它来创建缓冲区。[LIGHT_GRAY]卸载器[]可用于从容器中获取物品。
|
||||||
block.unloader.description = 物品从容器,仓库或核心卸载到传送带上或直接卸载到相邻的块中。可以通过点击卸载器来更改要卸载的项目类型。
|
block.unloader.description = 物品从容器,仓库或核心卸载到传送带上或直接卸载到相邻的块中。可以通过点击卸载器来更改要卸载的项目类型。
|
||||||
block.container.description = 存储少量物品。当存在非恒定的材料需求时,使用它来创建缓冲区。 [LIGHT_GRAY]卸载器[]可用于从容器中获取物品。
|
|
||||||
block.vault.description = 存储大量物品。当存在非恒定的材料需求时,使用它来创建缓冲区。 [LIGHT_GRAY]卸载器[]可用于从仓库中获取物品。
|
|
||||||
block.launch-pad.description = 不通过核心发射物体。
|
block.launch-pad.description = 不通过核心发射物体。
|
||||||
block.launch-pad-large.description = 发射台的改进版。存储更多物体。启动频率更高。
|
block.launch-pad-large.description = 发射台的改进版。存储更多物体。启动频率更高。
|
||||||
block.duo.description = 小而便宜的炮塔。
|
block.duo.description = 小而便宜的炮塔。对地高效。
|
||||||
block.scatter.description = 中型防空炮塔,向空中单位发射铅或废料。
|
block.scatter.description = 不可或缺的防空炮塔,向空中单位发射铅或废料。
|
||||||
block.scorch.description = 小型炮塔,燃烧任何靠近它的地面敌人。近距离高效。
|
block.scorch.description = 小型炮塔,燃烧任何靠近它的地面敌人。近距离非常有效。
|
||||||
|
block.hail.description = 小型远程炮台。
|
||||||
|
block.wave.description = 中型快速炮塔,射出液体泡泡。有液体输入时自动灭火。
|
||||||
|
block.lancer.description = 中型对地炮塔。遇敌时会充能并发射强有力的的能量束。
|
||||||
block.arc.description = 小型炮塔,发射电弧。
|
block.arc.description = 小型炮塔,发射电弧。
|
||||||
block.hail.description = 小型炮兵炮台。
|
block.swarmer.description = 中型炮塔,对空对地,发射跟踪爆炸导弹。
|
||||||
block.lancer.description = 中型炮塔,发射带电的电子束。
|
block.salvo.description = 双管炮的升级版。中型,齐射射击。
|
||||||
block.wave.description = 中型快速炮塔,射出液体泡泡。
|
block.fuse.description = 大型炮塔,发射三道刺穿敌人的短程光束。
|
||||||
block.salvo.description = 中型炮塔,齐射射击。
|
block.ripple.description = 大型远程炮台,非常强力,向远处的敌人投射一簇弹药。
|
||||||
block.swarmer.description = 中型炮塔,发射爆炸导弹。
|
block.cyclone.description = 大型快速炮塔,对空对地,向周围敌人发射爆炸弹。
|
||||||
block.ripple.description = 大型炮兵炮塔,可同时向多个目标开火。
|
block.spectre.description = 超大型炮塔,对空对地,一次射出两颗强大的穿甲子弹。
|
||||||
block.cyclone.description = 大型快速炮塔。
|
block.meltdown.description = 超大型激光炮塔,充能之后持续发射光束,需要冷却剂。
|
||||||
block.fuse.description = 大型炮塔,发射强大的短程光束。
|
block.command-center.description = 在地图上向盟军发出移动命令。\n使用部队巡逻、攻击敌军核心或撤退到核心/工厂。当没有敌人核心时,部队默认在攻击命令下巡逻。
|
||||||
block.spectre.description = 大型炮塔,一次射出两颗强大的子弹。
|
|
||||||
block.meltdown.description = 发射强大的远程光束的大型炮塔。
|
|
||||||
block.crawler-factory.description = 生产快速自毁单元。
|
|
||||||
block.draug-factory.description = 生产德鲁格釆矿机。
|
block.draug-factory.description = 生产德鲁格釆矿机。
|
||||||
block.spirit-factory.description = 生产幽灵修理机。
|
block.spirit-factory.description = 生产幽灵修理机。
|
||||||
block.phantom-factory.description = 生产鬼怪建造机。
|
block.phantom-factory.description = 生产鬼怪建造机。
|
||||||
block.wraith-factory.description = 生产快速截击机。
|
block.wraith-factory.description = 生产快速截击机。
|
||||||
block.ghoul-factory.description = 生产重型地毯轰炸机。
|
block.ghoul-factory.description = 生产重型地毯轰炸机。
|
||||||
|
block.revenant-factory.description = 生产重型导弹部队。
|
||||||
block.dagger-factory.description = 生产基本地面单位。
|
block.dagger-factory.description = 生产基本地面单位。
|
||||||
|
block.crawler-factory.description = 生产快速自毁单元。
|
||||||
block.titan-factory.description = 生产先进的装甲地面单位。
|
block.titan-factory.description = 生产先进的装甲地面单位。
|
||||||
block.fortress-factory.description = 生产重型地面火炮部队。
|
block.fortress-factory.description = 生产重型地面火炮部队。
|
||||||
block.revenant-factory.description = 生产重型导弹部队。
|
|
||||||
block.repair-point.description = 连续治疗附近最近的受损单位。
|
block.repair-point.description = 连续治疗附近最近的受损单位。
|
||||||
block.dart-mech-pad.description = 离开你当前的装置,换成一个基本攻击机甲。\n站在上面时双击切换。
|
block.dart-mech-pad.description = 离开你当前的装置,换成一个基本攻击机甲。\n站在上面时点击切换。
|
||||||
block.trident-ship-pad.description = 离开你当前的装置,换成一个装甲合理的重型轰炸机。\n站在上面时双击切换。
|
block.delta-mech-pad.description = 离开你当前的装置并换成一个快速,轻装甲的机械装置,用于快速攻击。\n站在上面时点击切换。
|
||||||
block.javelin-ship-pad.description = 离开你当前的装置,换成一个强大而快速的截击机,用闪电武器。\n站在上面时双击切换。
|
block.tau-mech-pad.description = 离开你当前的装置并换成一个可以治愈友方建筑物和单位的后勤机甲。\n站在上面时点击切换。
|
||||||
block.glaive-ship-pad.description = 离开现有的装置,换成装甲良好的大型武装直升机。\n站在上面时双击切换。
|
block.omega-mech-pad.description = 离开你当前的装置并换成一个笨重且装甲良好的机甲,用于前线攻击。\n站在上面时点击切换。
|
||||||
block.tau-mech-pad.description = 离开你当前的装置并换成一个可以治愈友方建筑物和单位的支撑机械。\n站在上面时双击切换。
|
block.javelin-ship-pad.description = 离开你当前的装置,换成一个强大而快速的截击机,用闪电武器。\n站在上面时点击切换。
|
||||||
block.delta-mech-pad.description = 离开你当前的装置并换成一个快速,轻装甲的机械装置,用于快速攻击。\n站在上面时双击切换。
|
block.trident-ship-pad.description = 离开你当前的装置,换成一个装甲合理的重型轰炸机。\n站在上面时点击切换。
|
||||||
block.omega-mech-pad.description = 离开你当前的装置并换成一个笨重且装甲良好的机甲,用于前线攻击。\n站在上面时双击切换。
|
block.glaive-ship-pad.description = 离开现有的装置,换成装甲良好的大型武装直升机。\n站在上面时点击切换。
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ screenshot.invalid = 地圖太大了,可能沒有足夠的內存用於截圖
|
|||||||
gameover = 遊戲結束
|
gameover = 遊戲結束
|
||||||
gameover.pvp = [accent]{0}[]隊獲勝!
|
gameover.pvp = [accent]{0}[]隊獲勝!
|
||||||
highscore = [accent]新的高分紀錄!
|
highscore = [accent]新的高分紀錄!
|
||||||
|
load.sound = Sounds
|
||||||
|
load.map = Maps
|
||||||
|
load.image = Images
|
||||||
|
load.content = Content
|
||||||
|
load.system = System
|
||||||
stat.wave = 打敗的波次:[accent]{0}
|
stat.wave = 打敗的波次:[accent]{0}
|
||||||
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
|
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
|
||||||
stat.built = 建設的建築:[accent]{0}
|
stat.built = 建設的建築:[accent]{0}
|
||||||
@@ -23,8 +28,6 @@ stat.destroyed = 摧毀的建築:[accent]{0}
|
|||||||
stat.deconstructed = 移除的建築:[accent]{0}
|
stat.deconstructed = 移除的建築:[accent]{0}
|
||||||
stat.delivered = 發射的資源:
|
stat.delivered = 發射的資源:
|
||||||
stat.rank = 最終排名:[accent]{0}
|
stat.rank = 最終排名:[accent]{0}
|
||||||
placeline = 你選擇了一個方塊。\n[accent]按住你的手指幾秒鐘[]並拖動以[accent]直線放置方塊[]。\n試試吧。
|
|
||||||
removearea = 你選擇了移除模式。\n[accent]按住你的手指幾秒鐘[]並拖動以[accent]移除矩形中的方塊[]。\n試試吧。
|
|
||||||
launcheditems = [accent]發射了的物品
|
launcheditems = [accent]發射了的物品
|
||||||
map.delete = 確認要刪除「[accent]{0}[]」地圖嗎?
|
map.delete = 確認要刪除「[accent]{0}[]」地圖嗎?
|
||||||
level.highscore = 最高分:[accent]{0}
|
level.highscore = 最高分:[accent]{0}
|
||||||
@@ -43,6 +46,7 @@ newgame = 新遊戲
|
|||||||
none = 〈沒有〉
|
none = 〈沒有〉
|
||||||
minimap = 小地圖
|
minimap = 小地圖
|
||||||
close = 關閉
|
close = 關閉
|
||||||
|
website = Website
|
||||||
quit = 退出
|
quit = 退出
|
||||||
maps = 地圖
|
maps = 地圖
|
||||||
continue = 繼續
|
continue = 繼續
|
||||||
@@ -62,15 +66,18 @@ players.single = {0}個線上玩家
|
|||||||
server.closing = [accent]正在關閉伺服器……
|
server.closing = [accent]正在關閉伺服器……
|
||||||
server.kicked.kick = 您已被踢出伺服器!
|
server.kicked.kick = 您已被踢出伺服器!
|
||||||
server.kicked.serverClose = 伺服器已關閉。
|
server.kicked.serverClose = 伺服器已關閉。
|
||||||
|
server.kicked.vote = You have been vote-kicked. Goodbye.
|
||||||
server.kicked.clientOutdated = 客戶端版本過舊!請更新遊戲!
|
server.kicked.clientOutdated = 客戶端版本過舊!請更新遊戲!
|
||||||
server.kicked.serverOutdated = 伺服器版本過舊!請聯絡伺服主更新伺服器!
|
server.kicked.serverOutdated = 伺服器版本過舊!請聯絡伺服主更新伺服器!
|
||||||
server.kicked.banned = 您已經從這個伺服器被封禁。
|
server.kicked.banned = 您已經從這個伺服器被封禁。
|
||||||
|
server.kicked.typeMismatch = This server is not compatible with your build type.
|
||||||
server.kicked.recentKick = 您已經從伺服器被踢除。\n請稍後再進行連線。
|
server.kicked.recentKick = 您已經從伺服器被踢除。\n請稍後再進行連線。
|
||||||
server.kicked.nameInUse = 伺服器中已經\n有人有相同的名稱了。
|
server.kicked.nameInUse = 伺服器中已經\n有人有相同的名稱了。
|
||||||
server.kicked.nameEmpty = 你的名稱必須至少包含一個字母或數字。
|
server.kicked.nameEmpty = 你的名稱必須至少包含一個字母或數字。
|
||||||
server.kicked.idInUse = 你已經在伺服器中!不允許用兩個賬號。
|
server.kicked.idInUse = 你已經在伺服器中!不允許用兩個賬號。
|
||||||
server.kicked.customClient = 這個伺服器不支持自訂客戶端,請下載官方版本。
|
server.kicked.customClient = 這個伺服器不支持自訂客戶端,請下載官方版本。
|
||||||
server.kicked.gameover = 遊戲結束!
|
server.kicked.gameover = 遊戲結束!
|
||||||
|
server.versions = Your version:[accent] {0}[]\nServer version:[accent] {1}[]
|
||||||
host.info = 目前伺服器監聽於連接埠[scarlet]6567[]。\n所有跟您在同一個[LIGHT_GRAY]網路或區域網路[]環境的玩家應該能在他們的伺服器清單中找到您的伺服器。\n\n如果您希望網際網路上的玩家透過IP 位址連線到您的伺服器,您必須設定[accent]連接埠轉發[]。\n\n[LIGHT_GRAY]注意:如果區域網路內有玩家無法連線至您的伺服器,請務必確認您已於防火牆設定中開放Mindustry存取您的區域網路。
|
host.info = 目前伺服器監聽於連接埠[scarlet]6567[]。\n所有跟您在同一個[LIGHT_GRAY]網路或區域網路[]環境的玩家應該能在他們的伺服器清單中找到您的伺服器。\n\n如果您希望網際網路上的玩家透過IP 位址連線到您的伺服器,您必須設定[accent]連接埠轉發[]。\n\n[LIGHT_GRAY]注意:如果區域網路內有玩家無法連線至您的伺服器,請務必確認您已於防火牆設定中開放Mindustry存取您的區域網路。
|
||||||
join.info = 您可以在此輸入欲連線的[accent]伺服器的IP位址[],或尋找[accent]區域網路[]內的伺服器。目前支援區域網路與網際網路連線。\n\n[LIGHT_GRAY]注意:這裡沒有網際網路伺服器清單,如果您想透過IP位址連線到某人的伺服器,您必須向他們詢問IP位址。
|
join.info = 您可以在此輸入欲連線的[accent]伺服器的IP位址[],或尋找[accent]區域網路[]內的伺服器。目前支援區域網路與網際網路連線。\n\n[LIGHT_GRAY]注意:這裡沒有網際網路伺服器清單,如果您想透過IP位址連線到某人的伺服器,您必須向他們詢問IP位址。
|
||||||
hostserver = 建立伺服器
|
hostserver = 建立伺服器
|
||||||
@@ -154,7 +161,15 @@ cancel = 取消
|
|||||||
openlink = 開啟連結
|
openlink = 開啟連結
|
||||||
copylink = 複製連結
|
copylink = 複製連結
|
||||||
back = 返回
|
back = 返回
|
||||||
|
data.export = Export Data
|
||||||
|
data.import = Import Data
|
||||||
|
data.exported = Data exported.
|
||||||
|
data.invalid = This isn't valid game data.
|
||||||
|
data.import.confirm = Importing external data will erase[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately.
|
||||||
|
classic.export = Export Classic Data
|
||||||
|
classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app?
|
||||||
quit.confirm = 您確定要退出嗎?
|
quit.confirm = 您確定要退出嗎?
|
||||||
|
quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[]
|
||||||
loading = [accent]載入中……
|
loading = [accent]載入中……
|
||||||
saving = [accent]儲存中……
|
saving = [accent]儲存中……
|
||||||
wave = [accent]第{0}波
|
wave = [accent]第{0}波
|
||||||
@@ -263,6 +278,7 @@ filters.empty = [LIGHT_GRAY]沒有過濾器!使用下面的按鈕添加一個
|
|||||||
filter.distort = 歪曲
|
filter.distort = 歪曲
|
||||||
filter.noise = 噪聲
|
filter.noise = 噪聲
|
||||||
filter.median = Median
|
filter.median = Median
|
||||||
|
filter.oremedian = Ore Median
|
||||||
filter.blend = Blend
|
filter.blend = Blend
|
||||||
filter.defaultores = Default Ores
|
filter.defaultores = Default Ores
|
||||||
filter.ore = 礦石
|
filter.ore = 礦石
|
||||||
@@ -302,6 +318,7 @@ ping = 延遲:{0}ms
|
|||||||
language.restart = 請重新啟動遊戲以使選取的語言生效。
|
language.restart = 請重新啟動遊戲以使選取的語言生效。
|
||||||
settings = 設定
|
settings = 設定
|
||||||
tutorial = 教學
|
tutorial = 教學
|
||||||
|
tutorial.retake = Re-Take Tutorial
|
||||||
editor = 地圖編輯器
|
editor = 地圖編輯器
|
||||||
mapeditor = 地圖編輯器
|
mapeditor = 地圖編輯器
|
||||||
donate = 贊助
|
donate = 贊助
|
||||||
@@ -315,8 +332,9 @@ bestwave = [LIGHT_GRAY]高分:{0}
|
|||||||
launch = 發射
|
launch = 發射
|
||||||
launch.title = 發射成功
|
launch.title = 發射成功
|
||||||
launch.next = [LIGHT_GRAY]下次的機會於波次{0}
|
launch.next = [LIGHT_GRAY]下次的機會於波次{0}
|
||||||
launch.unable = [scarlet]無法發射。[]有敵人。
|
launch.unable2 = [scarlet]Unable to LAUNCH.[]
|
||||||
launch.confirm = 這將發射核心中的所有資源。\n你將無法返回這個基地。
|
launch.confirm = 這將發射核心中的所有資源。\n你將無法返回這個基地。
|
||||||
|
launch.skip.confirm = If you skip now, you will not be able to launch until later waves.
|
||||||
uncover = 揭露
|
uncover = 揭露
|
||||||
configure = 配置裝載
|
configure = 配置裝載
|
||||||
configure.locked = [LIGHT_GRAY]到達波次{0}\n以配置裝載。
|
configure.locked = [LIGHT_GRAY]到達波次{0}\n以配置裝載。
|
||||||
@@ -352,6 +370,7 @@ zone.tarFields.name = 焦油田
|
|||||||
zone.saltFlats.name = Salt Flats
|
zone.saltFlats.name = Salt Flats
|
||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Crags
|
zone.crags.name = Crags
|
||||||
|
zone.fungalPass.name = Fungal Pass
|
||||||
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on.
|
||||||
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The fridgid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders.
|
||||||
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed.
|
||||||
@@ -363,9 +382,11 @@ zone.overgrowth.description = This area is overgrown, closer to the source of th
|
|||||||
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible.
|
||||||
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
|
zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
zone.impact0078.description = <insert description here>
|
zone.impact0078.description = <insert description here>
|
||||||
zone.crags.description = <insert description here>
|
zone.crags.description = <insert description here>
|
||||||
settings.language = 語言
|
settings.language = 語言
|
||||||
|
settings.data = Game Data
|
||||||
settings.reset = 重設為預設設定
|
settings.reset = 重設為預設設定
|
||||||
settings.rebind = 重新綁定
|
settings.rebind = 重新綁定
|
||||||
settings.controls = 操作
|
settings.controls = 操作
|
||||||
@@ -417,6 +438,7 @@ blocks.inaccuracy = 誤差
|
|||||||
blocks.shots = 射擊數
|
blocks.shots = 射擊數
|
||||||
blocks.reload = 重裝彈藥
|
blocks.reload = 重裝彈藥
|
||||||
blocks.ammo = 彈藥
|
blocks.ammo = 彈藥
|
||||||
|
bar.drilltierreq = Better Drill Required
|
||||||
bar.drillspeed = 鑽頭速度:{0}/秒
|
bar.drillspeed = 鑽頭速度:{0}/秒
|
||||||
bar.efficiency = 效率:{0}%
|
bar.efficiency = 效率:{0}%
|
||||||
bar.powerbalance = 能量變化:{0}
|
bar.powerbalance = 能量變化:{0}
|
||||||
@@ -491,10 +513,12 @@ setting.lasers.name = 顯示雷射光束
|
|||||||
setting.pixelate.name = 像素化[LIGHT_GRAY](可能降低性能)
|
setting.pixelate.name = 像素化[LIGHT_GRAY](可能降低性能)
|
||||||
setting.minimap.name = 顯示小地圖
|
setting.minimap.name = 顯示小地圖
|
||||||
setting.musicvol.name = 音樂音量
|
setting.musicvol.name = 音樂音量
|
||||||
|
setting.ambientvol.name = Ambient Volume
|
||||||
setting.mutemusic.name = 靜音
|
setting.mutemusic.name = 靜音
|
||||||
setting.sfxvol.name = 音效音量
|
setting.sfxvol.name = 音效音量
|
||||||
setting.mutesound.name = 靜音
|
setting.mutesound.name = 靜音
|
||||||
setting.crashreport.name = 發送匿名崩潰報告
|
setting.crashreport.name = 發送匿名崩潰報告
|
||||||
|
setting.savecreate.name = Auto-Create Saves
|
||||||
setting.chatopacity.name = 聊天框不透明度
|
setting.chatopacity.name = 聊天框不透明度
|
||||||
setting.playerchat.name = 在遊戲中顯示聊天框
|
setting.playerchat.name = 在遊戲中顯示聊天框
|
||||||
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
|
||||||
@@ -515,6 +539,7 @@ keybind.press.axis = 按一下軸心或鍵……
|
|||||||
keybind.screenshot.name = 地圖截圖
|
keybind.screenshot.name = 地圖截圖
|
||||||
keybind.move_x.name = 水平移動
|
keybind.move_x.name = 水平移動
|
||||||
keybind.move_y.name = 垂直移動
|
keybind.move_y.name = 垂直移動
|
||||||
|
keybind.fullscreen.name = Toggle Fullscreen
|
||||||
keybind.select.name = 選取
|
keybind.select.name = 選取
|
||||||
keybind.diagonal_placement.name = 對角線放置
|
keybind.diagonal_placement.name = 對角線放置
|
||||||
keybind.pick.name = 選擇方塊
|
keybind.pick.name = 選擇方塊
|
||||||
@@ -778,6 +803,7 @@ block.blast-mixer.name = 爆炸混合器
|
|||||||
block.solar-panel.name = 太陽能板
|
block.solar-panel.name = 太陽能板
|
||||||
block.solar-panel-large.name = 大型太陽能板
|
block.solar-panel-large.name = 大型太陽能板
|
||||||
block.oil-extractor.name = 石油鑽井
|
block.oil-extractor.name = 石油鑽井
|
||||||
|
block.command-center.name = Command Center
|
||||||
block.draug-factory.name = Draug Miner Drone Factory
|
block.draug-factory.name = Draug Miner Drone Factory
|
||||||
block.spirit-factory.name = 輕型無人機工廠
|
block.spirit-factory.name = 輕型無人機工廠
|
||||||
block.phantom-factory.name = 幻影無人機工廠
|
block.phantom-factory.name = 幻影無人機工廠
|
||||||
@@ -819,9 +845,10 @@ block.container.name = 容器
|
|||||||
block.launch-pad.name = 發射台
|
block.launch-pad.name = 發射台
|
||||||
block.launch-pad-large.name = 大型發射台
|
block.launch-pad-large.name = 大型發射台
|
||||||
team.blue.name = 藍
|
team.blue.name = 藍
|
||||||
team.red.name = 紅
|
team.crux.name = red
|
||||||
|
team.sharded.name = orange
|
||||||
team.orange.name = 橙
|
team.orange.name = 橙
|
||||||
team.none.name = 灰
|
team.derelict.name = derelict
|
||||||
team.green.name = 綠
|
team.green.name = 綠
|
||||||
team.purple.name = 紫
|
team.purple.name = 紫
|
||||||
unit.spirit.name = 輕型無人機
|
unit.spirit.name = 輕型無人機
|
||||||
@@ -839,27 +866,26 @@ unit.chaos-array.name = 混沌陣
|
|||||||
unit.eradicator.name = 消除者
|
unit.eradicator.name = 消除者
|
||||||
unit.lich.name = 巫妖
|
unit.lich.name = 巫妖
|
||||||
unit.reaper.name = 收割者
|
unit.reaper.name = 收割者
|
||||||
tutorial.begin = 你的任務是毀滅[LIGHT_GRAY]敵人[]。\n\n首先[accent]挖掘銅礦[]。點擊核心附近的銅脈以開始。
|
tutorial.next = [lightgray]<Tap to continue>
|
||||||
|
tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nBegin by[accent] mining copper[]. Tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper
|
||||||
tutorial.drill = 手動挖掘礦石是低效率的。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。
|
tutorial.drill = 手動挖掘礦石是低效率的。\n[accent]鑽頭[]能夠自動挖掘礦石。\n在銅脈上放置一個鑽頭。
|
||||||
|
tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills []can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement.
|
||||||
|
tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[]
|
||||||
tutorial.conveyor = [accent]輸送帶[]能夠將物品運輸到核心。\n製作一條從鑽頭開始到核心的輸送帶。
|
tutorial.conveyor = [accent]輸送帶[]能夠將物品運輸到核心。\n製作一條從鑽頭開始到核心的輸送帶。
|
||||||
tutorial.morecopper = 需要更多銅。\n\n請手動挖掘銅礦或放置更多鑽頭。
|
tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]{0}/{1} conveyors placed in line\n[accent]0/1 items delivered
|
||||||
tutorial.turret = 防禦建築是必須的以擊退[LIGHT_GRAY]敵人[]。\n於核心附近建造一個雙炮。
|
tutorial.turret = 防禦建築是必須的以擊退[LIGHT_GRAY]敵人[]。\n於核心附近建造一個雙炮。
|
||||||
tutorial.drillturret = 雙炮需要[accent]銅彈[]以射擊。\n在雙炮旁邊放置一個鑽頭以供應銅。
|
tutorial.drillturret = 雙炮需要[accent]銅彈[]以射擊。\n在雙炮旁邊放置一個鑽頭以供應銅。
|
||||||
|
tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause.
|
||||||
|
tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause.
|
||||||
|
tutorial.unpause = Now press space again to unpause.
|
||||||
|
tutorial.unpause.mobile = Now press it again to unpause.
|
||||||
|
tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection.
|
||||||
|
tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[]
|
||||||
|
tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[]
|
||||||
tutorial.waves = [LIGHT_GRAY]敵人[]來臨。\n\n防衛核心2波。建造更多的砲塔以防衛。
|
tutorial.waves = [LIGHT_GRAY]敵人[]來臨。\n\n防衛核心2波。建造更多的砲塔以防衛。
|
||||||
tutorial.lead = 有更多的礦石可用。探索和挖掘[accent]鉛[]。\n\n點擊您的單位拖動到核心以傳輸資源。
|
tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper.
|
||||||
tutorial.smelter = 銅和鉛是柔軟的金屬。\n優良的[accent]稠密合金[]可以在冶煉廠中生產。\n\n建造一個冶煉廠。
|
tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese resources can then be used to research new technology.\n\n[accent]Press the launch button.
|
||||||
tutorial.densealloy = 冶煉廠現在將生產稠密合金。\n請獲取更多的稠密合金。\n必要時改善生產系統。
|
|
||||||
tutorial.siliconsmelter = 核心現在將製作一個[accent]輕型無人機[]以挖掘礦石和修理方塊。\n\n製作其他單位的工廠可以使用[accent]矽[]以建造。\n建造一個冶矽廠。
|
|
||||||
tutorial.silicondrill = 矽需要[accent]煤[]和[accent]沙[]以製作。\n放置鑽頭以開始。
|
|
||||||
tutorial.generator = 這項技術需要能量。\n建造一個[accent]燃燒發電機[]。
|
|
||||||
tutorial.generatordrill = 燃燒發電機需要燃料。\n用鑽頭挖的煤為它加燃料。
|
|
||||||
tutorial.node = 電源需要運輸。\n在燃燒發電機旁邊建造一個[accent]能量節點[]以傳遞其能量。
|
|
||||||
tutorial.nodelink = 能量可透過接觸的能量方塊和發電機,或者通過連接的能量節點傳遞。\n\n點擊能量節點並選擇發電機和冶矽廠以連接能量。
|
|
||||||
tutorial.silicon = 正在製作矽。請獲取更多的矽。\n\n建議改善生產系統。
|
|
||||||
tutorial.daggerfactory = 建造一個[accent]匕首機甲工廠[]。\n\n這將製作攻擊機甲。
|
|
||||||
tutorial.router = 工廠需要資源以運作。\n建造一個分配器以均分輸送帶的資源。
|
|
||||||
tutorial.dagger = 連接能量節點至工廠。\n一旦要求滿足,將製作一個機甲。\n\n根據需要建造更多鑽頭、發電機和輸送帶。發電機和輸送帶。
|
|
||||||
tutorial.battle = [LIGHT_GRAY]敵人[]透露了他們的核心。\n用你的單位和匕首機甲以摧毀它。
|
|
||||||
item.copper.description = 一種有用的結構材料。在各種類型的方塊中廣泛使用。
|
item.copper.description = 一種有用的結構材料。在各種類型的方塊中廣泛使用。
|
||||||
item.lead.description = 一種基本的起始材料。被廣泛用於電子設備和運輸液體方塊。
|
item.lead.description = 一種基本的起始材料。被廣泛用於電子設備和運輸液體方塊。
|
||||||
item.metaglass.description = 一種超級強硬玻璃混合物。廣泛用於液體分配和存儲。
|
item.metaglass.description = 一種超級強硬玻璃混合物。廣泛用於液體分配和存儲。
|
||||||
@@ -896,13 +922,9 @@ unit.crawler.description = A ground unit consisting of a stripped-down frame wit
|
|||||||
unit.titan.description = 一種高級的具有裝甲的地面單位。使用碳化物作為彈藥。攻擊地面單位和空中單位。
|
unit.titan.description = 一種高級的具有裝甲的地面單位。使用碳化物作為彈藥。攻擊地面單位和空中單位。
|
||||||
unit.fortress.description = 一種具有重型大砲的地面單位。
|
unit.fortress.description = 一種具有重型大砲的地面單位。
|
||||||
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire.
|
||||||
unit.chaos-array.description =
|
|
||||||
unit.eradicator.description =
|
|
||||||
unit.wraith.description = 一種快速、打了就跑的攔截機。
|
unit.wraith.description = 一種快速、打了就跑的攔截機。
|
||||||
unit.ghoul.description = 一種重型的鋪蓋性的轟炸機。使用爆炸化合物或黃鐵礦作為彈藥。
|
unit.ghoul.description = 一種重型的鋪蓋性的轟炸機。使用爆炸化合物或黃鐵礦作為彈藥。
|
||||||
unit.revenant.description = A heavy, hovering missile array.
|
unit.revenant.description = A heavy, hovering missile array.
|
||||||
unit.lich.description =
|
|
||||||
unit.reaper.description =
|
|
||||||
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite.
|
||||||
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently.
|
||||||
block.silicon-smelter.description = 使用高純度焦炭還原沙子以生產矽。
|
block.silicon-smelter.description = 使用高純度焦炭還原沙子以生產矽。
|
||||||
@@ -1004,6 +1026,7 @@ block.ripple.description = 一種一次射出幾發子彈的大型火砲。
|
|||||||
block.cyclone.description = 一種快速射擊的大型砲塔。
|
block.cyclone.description = 一種快速射擊的大型砲塔。
|
||||||
block.spectre.description = 一種一次射出兩顆強大的子彈的大型砲塔。
|
block.spectre.description = 一種一次射出兩顆強大的子彈的大型砲塔。
|
||||||
block.meltdown.description = 一種射出強大的遠程光束的大型砲塔。
|
block.meltdown.description = 一種射出強大的遠程光束的大型砲塔。
|
||||||
|
block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to patrol, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command.
|
||||||
block.draug-factory.description = Produces Draug mining drones.
|
block.draug-factory.description = Produces Draug mining drones.
|
||||||
block.spirit-factory.description = 生產輕型無人機,用於開採礦石和修復方塊。
|
block.spirit-factory.description = 生產輕型無人機,用於開採礦石和修復方塊。
|
||||||
block.phantom-factory.description = 生產高級的無人機,比輕型無人機明顯更有效。
|
block.phantom-factory.description = 生產高級的無人機,比輕型無人機明顯更有效。
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ beito
|
|||||||
BeefEX
|
BeefEX
|
||||||
Lorex
|
Lorex
|
||||||
laohuaji233
|
laohuaji233
|
||||||
CrazyBearTR
|
Spico The Spirit Guy
|
||||||
Zachary
|
Zachary
|
||||||
Fenr1r
|
Fenr1r
|
||||||
Jaiun Lee
|
Jaiun Lee
|
||||||
@@ -71,3 +71,7 @@ Paul T
|
|||||||
Dominik
|
Dominik
|
||||||
Arkanic
|
Arkanic
|
||||||
Potion
|
Potion
|
||||||
|
Markus G
|
||||||
|
itskatt
|
||||||
|
Agent-Laevain
|
||||||
|
AzariasB
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 717 B After Width: | Height: | Size: 719 B |
BIN
core/assets/sprites/error.png
Normal file
|
After Width: | Height: | Size: 276 B |
|
Before Width: | Height: | Size: 676 KiB After Width: | Height: | Size: 682 KiB |
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 274 KiB |
|
Before Width: | Height: | Size: 278 KiB After Width: | Height: | Size: 134 KiB |
|
Before Width: | Height: | Size: 575 KiB After Width: | Height: | Size: 278 KiB |
BIN
core/assets/sprites/sprites5.png
Normal file
|
After Width: | Height: | Size: 579 KiB |
|
Before Width: | Height: | Size: 7.7 KiB |
183
core/src/io/anuke/mindustry/ClientLauncher.java
Normal file
@@ -0,0 +1,183 @@
|
|||||||
|
package io.anuke.mindustry;
|
||||||
|
|
||||||
|
import io.anuke.arc.*;
|
||||||
|
import io.anuke.arc.assets.*;
|
||||||
|
import io.anuke.arc.graphics.*;
|
||||||
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
|
import io.anuke.arc.math.*;
|
||||||
|
import io.anuke.arc.scene.ui.layout.*;
|
||||||
|
import io.anuke.arc.util.*;
|
||||||
|
import io.anuke.mindustry.core.*;
|
||||||
|
import io.anuke.mindustry.game.*;
|
||||||
|
import io.anuke.mindustry.game.EventType.*;
|
||||||
|
import io.anuke.mindustry.gen.*;
|
||||||
|
import io.anuke.mindustry.graphics.*;
|
||||||
|
import io.anuke.mindustry.maps.*;
|
||||||
|
|
||||||
|
import static io.anuke.arc.Core.*;
|
||||||
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
|
public abstract class ClientLauncher extends ApplicationCore implements Platform{
|
||||||
|
private static final int loadingFPS = 20;
|
||||||
|
|
||||||
|
private float smoothProgress;
|
||||||
|
private long lastTime;
|
||||||
|
private long beginTime;
|
||||||
|
private boolean finished = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setup(){
|
||||||
|
Vars.platform = this;
|
||||||
|
Log.setUseColors(false);
|
||||||
|
beginTime = Time.millis();
|
||||||
|
|
||||||
|
Time.setDeltaProvider(() -> {
|
||||||
|
float result = Core.graphics.getDeltaTime() * 60f;
|
||||||
|
return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, 60f / 10f);
|
||||||
|
});
|
||||||
|
|
||||||
|
batch = new SpriteBatch();
|
||||||
|
assets = new AssetManager();
|
||||||
|
assets.setLoader(Texture.class, "." + mapExtension, new MapPreviewLoader());
|
||||||
|
atlas = TextureAtlas.blankAtlas();
|
||||||
|
|
||||||
|
UI.loadSystemCursors();
|
||||||
|
|
||||||
|
assets.load(new Vars());
|
||||||
|
|
||||||
|
UI.loadDefaultFont();
|
||||||
|
|
||||||
|
assets.load(new AssetDescriptor<>("sprites/sprites.atlas", TextureAtlas.class)).loaded = t -> atlas = (TextureAtlas)t;
|
||||||
|
|
||||||
|
assets.loadRun("maps", Map.class, () -> maps.loadPreviews());
|
||||||
|
|
||||||
|
Musics.load();
|
||||||
|
Sounds.load();
|
||||||
|
|
||||||
|
assets.loadRun("contentcreate", Content.class, () -> {
|
||||||
|
content.createContent();
|
||||||
|
content.loadColors();
|
||||||
|
});
|
||||||
|
|
||||||
|
add(logic = new Logic());
|
||||||
|
add(control = new Control());
|
||||||
|
add(renderer = new Renderer());
|
||||||
|
add(ui = new UI());
|
||||||
|
add(netServer = new NetServer());
|
||||||
|
add(netClient = new NetClient());
|
||||||
|
|
||||||
|
assets.loadRun("contentinit", ContentLoader.class, () -> {
|
||||||
|
content.init();
|
||||||
|
content.load();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(ApplicationListener module){
|
||||||
|
super.add(module);
|
||||||
|
|
||||||
|
//autoload modules when necessary
|
||||||
|
if(module instanceof Loadable){
|
||||||
|
assets.load((Loadable)module);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resize(int width, int height){
|
||||||
|
super.resize(width, height);
|
||||||
|
|
||||||
|
if(!assets.isFinished()){
|
||||||
|
Draw.proj().setOrtho(0, 0, width, height);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update(){
|
||||||
|
if(!finished){
|
||||||
|
drawLoading();
|
||||||
|
if(assets.update(1000 / loadingFPS)){
|
||||||
|
Log.info("Total time to load: {0}", Time.timeSinceMillis(beginTime));
|
||||||
|
for(ApplicationListener listener : modules){
|
||||||
|
listener.init();
|
||||||
|
}
|
||||||
|
finished = true;
|
||||||
|
Events.fire(new ClientLoadEvent());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
super.update();
|
||||||
|
}
|
||||||
|
|
||||||
|
int targetfps = Core.settings.getInt("fpscap", 120);
|
||||||
|
|
||||||
|
if(targetfps > 0 && targetfps <= 240){
|
||||||
|
long target = (1000 * 1000000) / targetfps; //target in nanos
|
||||||
|
long elapsed = Time.timeSinceNanos(lastTime);
|
||||||
|
if(elapsed < target){
|
||||||
|
try{
|
||||||
|
Thread.sleep((target - elapsed) / 1000000, (int)((target - elapsed) % 1000000));
|
||||||
|
}catch(InterruptedException ignored){
|
||||||
|
//ignore
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lastTime = Time.nanos();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(){
|
||||||
|
setup();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resume(){
|
||||||
|
if(finished){
|
||||||
|
super.resume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pause(){
|
||||||
|
if(finished){
|
||||||
|
super.pause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawLoading(){
|
||||||
|
smoothProgress = Mathf.lerpDelta(smoothProgress, assets.getProgress(), 0.1f);
|
||||||
|
|
||||||
|
Core.graphics.clear(Pal.darkerGray);
|
||||||
|
Draw.proj().setOrtho(0, 0, Core.graphics.getWidth(), Core.graphics.getHeight());
|
||||||
|
|
||||||
|
float height = UnitScl.dp.scl(50f);
|
||||||
|
|
||||||
|
Draw.color(Color.BLACK);
|
||||||
|
Fill.poly(graphics.getWidth()/2f, graphics.getHeight()/2f, 6, Mathf.dst(graphics.getWidth()/2f, graphics.getHeight()/2f) * smoothProgress);
|
||||||
|
Draw.reset();
|
||||||
|
|
||||||
|
float w = graphics.getWidth()*0.6f;
|
||||||
|
|
||||||
|
Draw.color(Color.BLACK);
|
||||||
|
Fill.rect(graphics.getWidth()/2f, graphics.getHeight()/2f, w, height);
|
||||||
|
|
||||||
|
Draw.color(Pal.accent);
|
||||||
|
Fill.crect(graphics.getWidth()/2f-w/2f, graphics.getHeight()/2f - height/2f, w * smoothProgress, height);
|
||||||
|
|
||||||
|
for(int i : Mathf.signs){
|
||||||
|
Fill.tri(graphics.getWidth()/2f + w/2f*i, graphics.getHeight()/2f + height/2f, graphics.getWidth()/2f + w/2f*i, graphics.getHeight()/2f - height/2f, graphics.getWidth()/2f + w/2f*i + height/2f*i, graphics.getHeight()/2f);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(assets.isLoaded("outline")){
|
||||||
|
BitmapFont font = assets.get("outline");
|
||||||
|
font.draw((int)(assets.getProgress() * 100) + "%", graphics.getWidth() / 2f, graphics.getHeight() / 2f + UnitScl.dp.scl(10f), Align.center);
|
||||||
|
font.draw(bundle.get("loading", "").replace("[accent]", ""), graphics.getWidth() / 2f, graphics.getHeight() / 2f + height / 2f + UnitScl.dp.scl(20), Align.center);
|
||||||
|
|
||||||
|
if(assets.getCurrentLoading() != null){
|
||||||
|
String name = assets.getCurrentLoading().fileName.toLowerCase();
|
||||||
|
String key = name.contains("content") ? "content" : name.contains("msav") || name.contains("maps") ? "map" : name.contains("ogg") || name.contains("mp3") ? "sound" : name.contains("png") ? "image" : "system";
|
||||||
|
font.draw(bundle.get("load." + key, ""), graphics.getWidth() / 2f, graphics.getHeight() / 2f - height / 2f - UnitScl.dp.scl(10f), Align.center);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Draw.flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
package io.anuke.mindustry;
|
|
||||||
|
|
||||||
import io.anuke.arc.*;
|
|
||||||
import io.anuke.arc.math.*;
|
|
||||||
import io.anuke.arc.util.*;
|
|
||||||
import io.anuke.mindustry.core.*;
|
|
||||||
import io.anuke.mindustry.game.EventType.*;
|
|
||||||
import io.anuke.mindustry.gen.*;
|
|
||||||
import io.anuke.mindustry.io.*;
|
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
|
||||||
|
|
||||||
public class Mindustry extends ApplicationCore{
|
|
||||||
private long lastTime;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setup(){
|
|
||||||
Time.setDeltaProvider(() -> {
|
|
||||||
float result = Core.graphics.getDeltaTime() * 60f;
|
|
||||||
return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, 60f / 10f);
|
|
||||||
});
|
|
||||||
|
|
||||||
Time.mark();
|
|
||||||
UI.loadSystemCursors();
|
|
||||||
|
|
||||||
Vars.init();
|
|
||||||
Log.setUseColors(false);
|
|
||||||
BundleLoader.load();
|
|
||||||
Musics.load();
|
|
||||||
Sounds.load();
|
|
||||||
|
|
||||||
content.load();
|
|
||||||
content.loadColors();
|
|
||||||
|
|
||||||
add(logic = new Logic());
|
|
||||||
add(world = new World());
|
|
||||||
add(control = new Control());
|
|
||||||
add(renderer = new Renderer());
|
|
||||||
add(ui = new UI());
|
|
||||||
add(netServer = new NetServer());
|
|
||||||
add(netClient = new NetClient());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update(){
|
|
||||||
super.update();
|
|
||||||
|
|
||||||
int targetfps = Core.settings.getInt("fpscap", 120);
|
|
||||||
|
|
||||||
if(targetfps > 0 && targetfps <= 240){
|
|
||||||
long target = (1000 * 1000000) / targetfps; //target in nanos
|
|
||||||
long elapsed = Time.timeSinceNanos(lastTime);
|
|
||||||
if(elapsed < target){
|
|
||||||
try{
|
|
||||||
Thread.sleep((target - elapsed) / 1000000, (int)((target - elapsed) % 1000000));
|
|
||||||
}catch(InterruptedException ignored){
|
|
||||||
//ignore
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
lastTime = Time.nanos();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init(){
|
|
||||||
super.init();
|
|
||||||
|
|
||||||
Log.info("Time to load [total]: {0}", Time.elapsed());
|
|
||||||
Events.fire(new GameLoadEvent());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +1,39 @@
|
|||||||
package io.anuke.mindustry;
|
package io.anuke.mindustry;
|
||||||
|
|
||||||
import io.anuke.arc.Application.ApplicationType;
|
import io.anuke.arc.Application.*;
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.*;
|
||||||
import io.anuke.arc.files.FileHandle;
|
import io.anuke.arc.assets.*;
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.files.*;
|
||||||
import io.anuke.arc.util.Structs;
|
import io.anuke.arc.graphics.*;
|
||||||
|
import io.anuke.arc.scene.ui.layout.*;
|
||||||
|
import io.anuke.arc.util.*;
|
||||||
|
import io.anuke.mindustry.ai.*;
|
||||||
import io.anuke.mindustry.core.*;
|
import io.anuke.mindustry.core.*;
|
||||||
import io.anuke.mindustry.entities.*;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.bullet.Bullet;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.mindustry.entities.effect.Fire;
|
import io.anuke.mindustry.entities.effect.*;
|
||||||
import io.anuke.mindustry.entities.effect.Puddle;
|
import io.anuke.mindustry.entities.impl.*;
|
||||||
import io.anuke.mindustry.entities.impl.EffectEntity;
|
import io.anuke.mindustry.entities.traits.*;
|
||||||
import io.anuke.mindustry.entities.traits.DrawTrait;
|
|
||||||
import io.anuke.mindustry.entities.traits.SyncTrait;
|
|
||||||
import io.anuke.mindustry.entities.type.*;
|
import io.anuke.mindustry.entities.type.*;
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.gen.Serialization;
|
import io.anuke.mindustry.gen.*;
|
||||||
|
import io.anuke.mindustry.input.*;
|
||||||
|
import io.anuke.mindustry.maps.*;
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.world.blocks.defense.ForceProjector.ShieldEntity;
|
import io.anuke.mindustry.world.blocks.defense.ForceProjector.*;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.*;
|
||||||
import java.util.Arrays;
|
import java.util.*;
|
||||||
import java.util.Locale;
|
|
||||||
|
import static io.anuke.arc.Core.settings;
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public class Vars{
|
public class Vars implements Loadable{
|
||||||
/** Whether to load locales.*/
|
/** Whether to load locales.*/
|
||||||
public static boolean loadLocales = true;
|
public static boolean loadLocales = true;
|
||||||
/** IO buffer size. */
|
/** IO buffer size. */
|
||||||
public static final int bufferSize = 8192;
|
public static final int bufferSize = 8192;
|
||||||
/** global charset */
|
/** global charset, since Android doesn't support the Charsets class */
|
||||||
public static final Charset charset = Charset.forName("UTF-8");
|
public static final Charset charset = Charset.forName("UTF-8");
|
||||||
/** main application name, capitalized */
|
/** main application name, capitalized */
|
||||||
public static final String appName = "Mindustry";
|
public static final String appName = "Mindustry";
|
||||||
@@ -114,10 +118,14 @@ public class Vars{
|
|||||||
public static FileHandle screenshotDirectory;
|
public static FileHandle screenshotDirectory;
|
||||||
/** data subdirectory used for custom mmaps */
|
/** data subdirectory used for custom mmaps */
|
||||||
public static FileHandle customMapDirectory;
|
public static FileHandle customMapDirectory;
|
||||||
|
/** data subdirectory used for custom mmaps */
|
||||||
|
public static FileHandle mapPreviewDirectory;
|
||||||
/** tmp subdirectory for map conversion */
|
/** tmp subdirectory for map conversion */
|
||||||
public static FileHandle tmpDirectory;
|
public static FileHandle tmpDirectory;
|
||||||
/** data subdirectory used for saves */
|
/** data subdirectory used for saves */
|
||||||
public static FileHandle saveDirectory;
|
public static FileHandle saveDirectory;
|
||||||
|
/** data subdirectory used for plugins */
|
||||||
|
public static FileHandle pluginDirectory;
|
||||||
/** old map file extension, for conversion */
|
/** old map file extension, for conversion */
|
||||||
public static final String oldMapExtension = "mmap";
|
public static final String oldMapExtension = "mmap";
|
||||||
/** map file extension */
|
/** map file extension */
|
||||||
@@ -134,15 +142,22 @@ public class Vars{
|
|||||||
public static EntityCollisions collisions;
|
public static EntityCollisions collisions;
|
||||||
public static DefaultWaves defaultWaves;
|
public static DefaultWaves defaultWaves;
|
||||||
public static LoopControl loops;
|
public static LoopControl loops;
|
||||||
|
public static Platform platform;
|
||||||
|
|
||||||
|
public static World world;
|
||||||
|
public static Maps maps;
|
||||||
|
public static WaveSpawner spawner;
|
||||||
|
public static BlockIndexer indexer;
|
||||||
|
public static Pathfinder pathfinder;
|
||||||
|
|
||||||
public static Control control;
|
public static Control control;
|
||||||
public static Logic logic;
|
public static Logic logic;
|
||||||
public static Renderer renderer;
|
public static Renderer renderer;
|
||||||
public static UI ui;
|
public static UI ui;
|
||||||
public static World world;
|
|
||||||
public static NetServer netServer;
|
public static NetServer netServer;
|
||||||
public static NetClient netClient;
|
public static NetClient netClient;
|
||||||
|
|
||||||
|
public static Entities entities;
|
||||||
public static EntityGroup<Player> playerGroup;
|
public static EntityGroup<Player> playerGroup;
|
||||||
public static EntityGroup<TileEntity> tileGroup;
|
public static EntityGroup<TileEntity> tileGroup;
|
||||||
public static EntityGroup<Bullet> bulletGroup;
|
public static EntityGroup<Bullet> bulletGroup;
|
||||||
@@ -156,6 +171,12 @@ public class Vars{
|
|||||||
/** all local players, currently only has one player. may be used for local co-op in the future */
|
/** all local players, currently only has one player. may be used for local co-op in the future */
|
||||||
public static Player player;
|
public static Player player;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadAsync(){
|
||||||
|
loadSettings();
|
||||||
|
init();
|
||||||
|
}
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
Serialization.init();
|
Serialization.init();
|
||||||
|
|
||||||
@@ -178,29 +199,32 @@ public class Vars{
|
|||||||
Version.init();
|
Version.init();
|
||||||
|
|
||||||
content = new ContentLoader();
|
content = new ContentLoader();
|
||||||
if(!headless){
|
|
||||||
content.setVerbose();
|
|
||||||
}
|
|
||||||
|
|
||||||
loops = new LoopControl();
|
loops = new LoopControl();
|
||||||
defaultWaves = new DefaultWaves();
|
defaultWaves = new DefaultWaves();
|
||||||
collisions = new EntityCollisions();
|
collisions = new EntityCollisions();
|
||||||
|
world = new World();
|
||||||
|
|
||||||
playerGroup = Entities.addGroup(Player.class).enableMapping();
|
maps = new Maps();
|
||||||
tileGroup = Entities.addGroup(TileEntity.class, false);
|
spawner = new WaveSpawner();
|
||||||
bulletGroup = Entities.addGroup(Bullet.class).enableMapping();
|
indexer = new BlockIndexer();
|
||||||
effectGroup = Entities.addGroup(EffectEntity.class, false);
|
pathfinder = new Pathfinder();
|
||||||
groundEffectGroup = Entities.addGroup(DrawTrait.class, false);
|
|
||||||
puddleGroup = Entities.addGroup(Puddle.class).enableMapping();
|
entities = new Entities();
|
||||||
shieldGroup = Entities.addGroup(ShieldEntity.class, false);
|
playerGroup = entities.add(Player.class).enableMapping();
|
||||||
fireGroup = Entities.addGroup(Fire.class).enableMapping();
|
tileGroup = entities.add(TileEntity.class, false);
|
||||||
|
bulletGroup = entities.add(Bullet.class).enableMapping();
|
||||||
|
effectGroup = entities.add(EffectEntity.class, false);
|
||||||
|
groundEffectGroup = entities.add(DrawTrait.class, false);
|
||||||
|
puddleGroup = entities.add(Puddle.class).enableMapping();
|
||||||
|
shieldGroup = entities.add(ShieldEntity.class, false);
|
||||||
|
fireGroup = entities.add(Fire.class).enableMapping();
|
||||||
unitGroups = new EntityGroup[Team.all.length];
|
unitGroups = new EntityGroup[Team.all.length];
|
||||||
|
|
||||||
for(Team team : Team.all){
|
for(Team team : Team.all){
|
||||||
unitGroups[team.ordinal()] = Entities.addGroup(BaseUnit.class).enableMapping();
|
unitGroups[team.ordinal()] = entities.add(BaseUnit.class).enableMapping();
|
||||||
}
|
}
|
||||||
|
|
||||||
for(EntityGroup<?> group : Entities.getAllGroups()){
|
for(EntityGroup<?> group : entities.all()){
|
||||||
group.setRemoveListener(entity -> {
|
group.setRemoveListener(entity -> {
|
||||||
if(entity instanceof SyncTrait && Net.client()){
|
if(entity instanceof SyncTrait && Net.client()){
|
||||||
netClient.addRemovedEntity((entity).getID());
|
netClient.addRemovedEntity((entity).getID());
|
||||||
@@ -215,12 +239,61 @@ public class Vars{
|
|||||||
ios = Core.app.getType() == ApplicationType.iOS;
|
ios = Core.app.getType() == ApplicationType.iOS;
|
||||||
android = Core.app.getType() == ApplicationType.Android;
|
android = Core.app.getType() == ApplicationType.Android;
|
||||||
|
|
||||||
Core.settings.setAppName(appName);
|
|
||||||
|
|
||||||
dataDirectory = Core.settings.getDataDirectory();
|
dataDirectory = Core.settings.getDataDirectory();
|
||||||
screenshotDirectory = dataDirectory.child("screenshots/");
|
screenshotDirectory = dataDirectory.child("screenshots/");
|
||||||
customMapDirectory = dataDirectory.child("maps/");
|
customMapDirectory = dataDirectory.child("maps/");
|
||||||
|
mapPreviewDirectory = dataDirectory.child("previews/");
|
||||||
saveDirectory = dataDirectory.child("saves/");
|
saveDirectory = dataDirectory.child("saves/");
|
||||||
tmpDirectory = dataDirectory.child("tmp/");
|
tmpDirectory = dataDirectory.child("tmp/");
|
||||||
|
pluginDirectory = dataDirectory.child("plugins/");
|
||||||
|
|
||||||
|
maps.load();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void loadSettings(){
|
||||||
|
Core.settings.setAppName(appName);
|
||||||
|
Core.settings.defaults("locale", "default");
|
||||||
|
Core.keybinds.setDefaults(Binding.values());
|
||||||
|
Core.settings.load();
|
||||||
|
|
||||||
|
UnitScl.dp.setProduct(settings.getInt("uiscale", 100) / 100f);
|
||||||
|
|
||||||
|
if(!loadLocales) return;
|
||||||
|
|
||||||
|
try{
|
||||||
|
//try loading external bundle
|
||||||
|
FileHandle handle = Core.files.local("bundle");
|
||||||
|
|
||||||
|
Locale locale = Locale.ENGLISH;
|
||||||
|
Core.bundle = I18NBundle.createBundle(handle, locale);
|
||||||
|
|
||||||
|
Log.info("NOTE: external translation bundle has been loaded.");
|
||||||
|
if(!headless){
|
||||||
|
Time.run(10f, () -> ui.showInfo("Note: You have successfully loaded an external translation bundle."));
|
||||||
|
}
|
||||||
|
}catch(Throwable e){
|
||||||
|
//no external bundle found
|
||||||
|
|
||||||
|
FileHandle handle = Core.files.internal("bundles/bundle");
|
||||||
|
|
||||||
|
Locale locale;
|
||||||
|
String loc = Core.settings.getString("locale");
|
||||||
|
if(loc.equals("default")){
|
||||||
|
locale = Locale.getDefault();
|
||||||
|
}else{
|
||||||
|
Locale lastLocale;
|
||||||
|
if(loc.contains("_")){
|
||||||
|
String[] split = loc.split("_");
|
||||||
|
lastLocale = new Locale(split[0], split[1]);
|
||||||
|
}else{
|
||||||
|
lastLocale = new Locale(loc);
|
||||||
|
}
|
||||||
|
|
||||||
|
locale = lastLocale;
|
||||||
|
}
|
||||||
|
|
||||||
|
Locale.setDefault(locale);
|
||||||
|
Core.bundle = I18NBundle.createBundle(handle, locale);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ public class BlockIndexer{
|
|||||||
private final static int quadrantSize = 16;
|
private final static int quadrantSize = 16;
|
||||||
|
|
||||||
/** Set of all ores that are being scanned. */
|
/** Set of all ores that are being scanned. */
|
||||||
private final ObjectSet<Item> scanOres = ObjectSet.with(Item.getAllOres().toArray(Item.class));
|
private final ObjectSet<Item> scanOres = new ObjectSet<>();
|
||||||
private final ObjectSet<Item> itemSet = new ObjectSet<>();
|
private final ObjectSet<Item> itemSet = new ObjectSet<>();
|
||||||
/** Stores all ore quadtrants on the map. */
|
/** Stores all ore quadtrants on the map. */
|
||||||
private ObjectMap<Item, ObjectSet<Tile>> ores;
|
private ObjectMap<Item, ObjectSet<Tile>> ores;
|
||||||
@@ -57,6 +57,8 @@ public class BlockIndexer{
|
|||||||
});
|
});
|
||||||
|
|
||||||
Events.on(WorldLoadEvent.class, event -> {
|
Events.on(WorldLoadEvent.class, event -> {
|
||||||
|
scanOres.clear();
|
||||||
|
scanOres.addAll(Item.getAllOres());
|
||||||
damagedTiles = new ObjectSet[Team.all.length];
|
damagedTiles = new ObjectSet[Team.all.length];
|
||||||
flagMap = new ObjectSet[Team.all.length][BlockFlag.all.length];
|
flagMap = new ObjectSet[Team.all.length][BlockFlag.all.length];
|
||||||
|
|
||||||
|
|||||||
@@ -16,8 +16,7 @@ import io.anuke.mindustry.world.Pos;
|
|||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
import io.anuke.mindustry.world.meta.BlockFlag;
|
import io.anuke.mindustry.world.meta.BlockFlag;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.state;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import static io.anuke.mindustry.Vars.world;
|
|
||||||
|
|
||||||
public class Pathfinder{
|
public class Pathfinder{
|
||||||
private static final long maxUpdate = Time.millisToNanos(4);
|
private static final long maxUpdate = Time.millisToNanos(4);
|
||||||
@@ -117,7 +116,7 @@ public class Pathfinder{
|
|||||||
path.lastSearchTime = Time.millis();
|
path.lastSearchTime = Time.millis();
|
||||||
|
|
||||||
//add all targets to the frontier
|
//add all targets to the frontier
|
||||||
for(Tile other : world.indexer.getEnemy(team, BlockFlag.target)){
|
for(Tile other : indexer.getEnemy(team, BlockFlag.target)){
|
||||||
path.weights[other.x][other.y] = 0;
|
path.weights[other.x][other.y] = 0;
|
||||||
path.searches[other.x][other.y] = (short)path.search;
|
path.searches[other.x][other.y] = (short)path.search;
|
||||||
path.frontier.addFirst(other.pos());
|
path.frontier.addFirst(other.pos());
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
package io.anuke.mindustry.content;
|
package io.anuke.mindustry.content;
|
||||||
|
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.*;
|
||||||
import io.anuke.arc.function.BooleanProvider;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.graphics.Color;
|
|
||||||
import io.anuke.arc.graphics.g2d.*;
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.*;
|
||||||
import io.anuke.arc.util.Tmp;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.entities.Damage;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.bullet.Bullet;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.game.ContentList;
|
|
||||||
import io.anuke.mindustry.gen.*;
|
import io.anuke.mindustry.gen.*;
|
||||||
import io.anuke.mindustry.graphics.*;
|
import io.anuke.mindustry.graphics.*;
|
||||||
import io.anuke.mindustry.type.*;
|
import io.anuke.mindustry.type.*;
|
||||||
@@ -24,16 +22,13 @@ import io.anuke.mindustry.world.blocks.production.*;
|
|||||||
import io.anuke.mindustry.world.blocks.sandbox.*;
|
import io.anuke.mindustry.world.blocks.sandbox.*;
|
||||||
import io.anuke.mindustry.world.blocks.storage.*;
|
import io.anuke.mindustry.world.blocks.storage.*;
|
||||||
import io.anuke.mindustry.world.blocks.units.*;
|
import io.anuke.mindustry.world.blocks.units.*;
|
||||||
import io.anuke.mindustry.world.consumers.ConsumeLiquidFilter;
|
import io.anuke.mindustry.world.consumers.*;
|
||||||
import io.anuke.mindustry.world.meta.Attribute;
|
import io.anuke.mindustry.world.meta.*;
|
||||||
import io.anuke.mindustry.world.modules.LiquidModule;
|
import io.anuke.mindustry.world.modules.*;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.state;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import static io.anuke.mindustry.Vars.world;
|
|
||||||
|
|
||||||
public class Blocks implements ContentList{
|
public class Blocks implements ContentList{
|
||||||
public static final BooleanProvider padVisible = () -> state.rules.attackMode || state.rules.pvp || state.isEditor();
|
|
||||||
|
|
||||||
public static Block
|
public static Block
|
||||||
|
|
||||||
//environment
|
//environment
|
||||||
@@ -79,7 +74,7 @@ public class Blocks implements ContentList{
|
|||||||
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown,
|
duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, spectre, meltdown,
|
||||||
|
|
||||||
//units
|
//units
|
||||||
draugFactory, spiritFactory, phantomFactory, wraithFactory, ghoulFactory, revenantFactory, daggerFactory, crawlerFactory, titanFactory,
|
commandCenter, draugFactory, spiritFactory, phantomFactory, wraithFactory, ghoulFactory, revenantFactory, daggerFactory, crawlerFactory, titanFactory,
|
||||||
fortressFactory, repairPoint,
|
fortressFactory, repairPoint,
|
||||||
|
|
||||||
//upgrades
|
//upgrades
|
||||||
@@ -1648,17 +1643,23 @@ public class Blocks implements ContentList{
|
|||||||
consumes.items(new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 20), new ItemStack(Items.titanium, 10));
|
consumes.items(new ItemStack(Items.silicon, 30), new ItemStack(Items.lead, 20), new ItemStack(Items.titanium, 10));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
wraithFactory = new UnitFactory("wraith-factory"){{
|
commandCenter = new CommandCenter("command-center"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 30, Items.lead, 40, Items.silicon, 45));
|
requirements(Category.units, ItemStack.with(Items.copper, 200, Items.lead, 250, Items.silicon, 250, Items.graphite, 100));
|
||||||
type = UnitTypes.wraith;
|
|
||||||
produceTime = 750;
|
|
||||||
size = 2;
|
size = 2;
|
||||||
consumes.power(0.6f);
|
health = size * size * 55;
|
||||||
|
}};
|
||||||
|
|
||||||
|
wraithFactory = new UnitFactory("wraith-factory"){{
|
||||||
|
requirements(Category.units, ItemStack.with(Items.titanium, 30, Items.lead, 40, Items.silicon, 45));
|
||||||
|
type = UnitTypes.wraith;
|
||||||
|
produceTime = 700;
|
||||||
|
size = 2;
|
||||||
|
consumes.power(0.5f);
|
||||||
consumes.items(new ItemStack(Items.silicon, 10), new ItemStack(Items.titanium, 5));
|
consumes.items(new ItemStack(Items.silicon, 10), new ItemStack(Items.titanium, 5));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
ghoulFactory = new UnitFactory("ghoul-factory"){{
|
ghoulFactory = new UnitFactory("ghoul-factory"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.titanium, 75, Items.lead, 65, Items.silicon, 110));
|
requirements(Category.units, ItemStack.with(Items.titanium, 75, Items.lead, 65, Items.silicon, 110));
|
||||||
type = UnitTypes.ghoul;
|
type = UnitTypes.ghoul;
|
||||||
produceTime = 1150;
|
produceTime = 1150;
|
||||||
size = 3;
|
size = 3;
|
||||||
@@ -1667,7 +1668,7 @@ public class Blocks implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
revenantFactory = new UnitFactory("revenant-factory"){{
|
revenantFactory = new UnitFactory("revenant-factory"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.plastanium, 50, Items.titanium, 150, Items.lead, 150, Items.silicon, 200));
|
requirements(Category.units, ItemStack.with(Items.plastanium, 50, Items.titanium, 150, Items.lead, 150, Items.silicon, 200));
|
||||||
type = UnitTypes.revenant;
|
type = UnitTypes.revenant;
|
||||||
produceTime = 2000;
|
produceTime = 2000;
|
||||||
size = 4;
|
size = 4;
|
||||||
@@ -1676,7 +1677,7 @@ public class Blocks implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
daggerFactory = new UnitFactory("dagger-factory"){{
|
daggerFactory = new UnitFactory("dagger-factory"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 55, Items.silicon, 35));
|
requirements(Category.units, ItemStack.with(Items.lead, 55, Items.silicon, 35));
|
||||||
type = UnitTypes.dagger;
|
type = UnitTypes.dagger;
|
||||||
produceTime = 850;
|
produceTime = 850;
|
||||||
size = 2;
|
size = 2;
|
||||||
@@ -1685,17 +1686,17 @@ public class Blocks implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
crawlerFactory = new UnitFactory("crawler-factory"){{
|
crawlerFactory = new UnitFactory("crawler-factory"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.lead, 25, Items.silicon, 30));
|
requirements(Category.units, ItemStack.with(Items.lead, 45, Items.silicon, 30));
|
||||||
type = UnitTypes.crawler;
|
type = UnitTypes.crawler;
|
||||||
produceTime = 250;
|
produceTime = 300;
|
||||||
size = 2;
|
size = 2;
|
||||||
maxSpawn = 8;
|
maxSpawn = 6;
|
||||||
consumes.power(0.4f);
|
consumes.power(0.5f);
|
||||||
consumes.items(new ItemStack(Items.coal, 5));
|
consumes.items(new ItemStack(Items.coal, 10));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
titanFactory = new UnitFactory("titan-factory"){{
|
titanFactory = new UnitFactory("titan-factory"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.graphite, 50, Items.lead, 50, Items.silicon, 45));
|
requirements(Category.units, ItemStack.with(Items.graphite, 50, Items.lead, 50, Items.silicon, 45));
|
||||||
type = UnitTypes.titan;
|
type = UnitTypes.titan;
|
||||||
produceTime = 1050;
|
produceTime = 1050;
|
||||||
size = 3;
|
size = 3;
|
||||||
@@ -1704,7 +1705,7 @@ public class Blocks implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
fortressFactory = new UnitFactory("fortress-factory"){{
|
fortressFactory = new UnitFactory("fortress-factory"){{
|
||||||
requirements(Category.units, padVisible, ItemStack.with(Items.thorium, 40, Items.lead, 110, Items.silicon, 75));
|
requirements(Category.units, ItemStack.with(Items.thorium, 40, Items.lead, 110, Items.silicon, 75));
|
||||||
type = UnitTypes.fortress;
|
type = UnitTypes.fortress;
|
||||||
produceTime = 2000;
|
produceTime = 2000;
|
||||||
size = 3;
|
size = 3;
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ public class Fx implements ContentList{
|
|||||||
bigShockwave, nuclearShockwave, explosion, blockExplosion, blockExplosionSmoke, shootSmall, shootHeal, shootSmallSmoke, shootBig, shootBig2, shootBigSmoke,
|
bigShockwave, nuclearShockwave, explosion, blockExplosion, blockExplosionSmoke, shootSmall, shootHeal, shootSmallSmoke, shootBig, shootBig2, shootBigSmoke,
|
||||||
shootBigSmoke2, shootSmallFlame, shootPyraFlame, shootLiquid, shellEjectSmall, shellEjectMedium,
|
shootBigSmoke2, shootSmallFlame, shootPyraFlame, shootLiquid, shellEjectSmall, shellEjectMedium,
|
||||||
shellEjectBig, lancerLaserShoot, lancerLaserShootSmoke, lancerLaserCharge, lancerLaserChargeBegin, lightningCharge, lightningShoot,
|
shellEjectBig, lancerLaserShoot, lancerLaserShootSmoke, lancerLaserCharge, lancerLaserChargeBegin, lightningCharge, lightningShoot,
|
||||||
unitSpawn, spawnShockwave, magmasmoke, impactShockwave, impactcloud, impactsmoke, dynamicExplosion, padlaunch;
|
unitSpawn, spawnShockwave, magmasmoke, impactShockwave, impactcloud, impactsmoke, dynamicExplosion, padlaunch, commandSend;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
@@ -53,6 +53,13 @@ public class Fx implements ContentList{
|
|||||||
Draw.reset();
|
Draw.reset();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
commandSend = new Effect(28, e -> {
|
||||||
|
Draw.color(Pal.command);
|
||||||
|
Lines.stroke(e.fout() * 2f);
|
||||||
|
Lines.circle(e.x, e.y, 4f + e.finpow() * 120f);
|
||||||
|
Draw.color();
|
||||||
|
});
|
||||||
|
|
||||||
placeBlock = new Effect(16, e -> {
|
placeBlock = new Effect(16, e -> {
|
||||||
Draw.color(Pal.accent);
|
Draw.color(Pal.accent);
|
||||||
Lines.stroke(3f - e.fin() * 2f);
|
Lines.stroke(3f - e.fin() * 2f);
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import io.anuke.arc.graphics.*;
|
|||||||
import io.anuke.arc.graphics.g2d.*;
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
import io.anuke.arc.math.*;
|
import io.anuke.arc.math.*;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.entities.*;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.bullet.*;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.mindustry.entities.effect.*;
|
import io.anuke.mindustry.entities.effect.*;
|
||||||
@@ -85,7 +86,7 @@ public class Mechs implements ContentList{
|
|||||||
Effects.shake(1f, 1f, player);
|
Effects.shake(1f, 1f, player);
|
||||||
Effects.effect(Fx.landShock, player);
|
Effects.effect(Fx.landShock, player);
|
||||||
for(int i = 0; i < 8; i++){
|
for(int i = 0; i < 8; i++){
|
||||||
Time.run(Mathf.random(8f), () -> Lightning.create(player.getTeam(), Pal.lancerLaser, 17f, player.x, player.y, Mathf.random(360f), 14));
|
Time.run(Mathf.random(8f), () -> Lightning.create(player.getTeam(), Pal.lancerLaser, 17f * Vars.state.rules.playerDamageMultiplier, player.x, player.y, Mathf.random(360f), 14));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -286,7 +287,7 @@ public class Mechs implements ContentList{
|
|||||||
float scl = scld(player);
|
float scl = scld(player);
|
||||||
if(Mathf.chance(Time.delta() * (0.15 * scl))){
|
if(Mathf.chance(Time.delta() * (0.15 * scl))){
|
||||||
Effects.effect(Fx.hitLancer, Pal.lancerLaser, player.x, player.y);
|
Effects.effect(Fx.hitLancer, Pal.lancerLaser, player.x, player.y);
|
||||||
Lightning.create(player.getTeam(), Pal.lancerLaser, 10f,
|
Lightning.create(player.getTeam(), Pal.lancerLaser, 10f * Vars.state.rules.playerDamageMultiplier,
|
||||||
player.x + player.velocity().x, player.y + player.velocity().y, player.rotation, 14);
|
player.x + player.velocity().x, player.y + player.velocity().y, player.rotation, 14);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -227,12 +227,14 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
node(turbineGenerator, () -> {
|
node(turbineGenerator, () -> {
|
||||||
node(thermalGenerator, () -> {
|
node(thermalGenerator, () -> {
|
||||||
node(rtgGenerator, () -> {
|
|
||||||
node(differentialGenerator, () -> {
|
node(differentialGenerator, () -> {
|
||||||
node(thoriumReactor, () -> {
|
node(thoriumReactor, () -> {
|
||||||
node(impactReactor, () -> {
|
node(impactReactor, () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
node(rtgGenerator, () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -252,6 +254,7 @@ public class TechTree implements ContentList{
|
|||||||
});
|
});
|
||||||
|
|
||||||
node(daggerFactory, () -> {
|
node(daggerFactory, () -> {
|
||||||
|
node(commandCenter, () -> {});
|
||||||
node(crawlerFactory, () -> {
|
node(crawlerFactory, () -> {
|
||||||
node(titanFactory, () -> {
|
node(titanFactory, () -> {
|
||||||
node(fortressFactory, () -> {
|
node(fortressFactory, () -> {
|
||||||
@@ -294,7 +297,7 @@ public class TechTree implements ContentList{
|
|||||||
private TechNode node(Block block, Runnable children){
|
private TechNode node(Block block, Runnable children){
|
||||||
ItemStack[] requirements = new ItemStack[block.buildRequirements.length];
|
ItemStack[] requirements = new ItemStack[block.buildRequirements.length];
|
||||||
for(int i = 0; i < requirements.length; i++){
|
for(int i = 0; i < requirements.length; i++){
|
||||||
requirements[i] = new ItemStack(block.buildRequirements[i].item, 30 + block.buildRequirements[i].amount * 5);
|
requirements[i] = new ItemStack(block.buildRequirements[i].item, 30 + block.buildRequirements[i].amount * 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new TechNode(block, requirements, children);
|
return new TechNode(block, requirements, children);
|
||||||
|
|||||||
@@ -1,16 +1,14 @@
|
|||||||
package io.anuke.mindustry.core;
|
package io.anuke.mindustry.core;
|
||||||
|
|
||||||
import io.anuke.arc.collection.*;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.function.Consumer;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.graphics.Pixmap;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.util.Log;
|
|
||||||
import io.anuke.mindustry.content.*;
|
import io.anuke.mindustry.content.*;
|
||||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.type.*;
|
import io.anuke.mindustry.type.*;
|
||||||
import io.anuke.mindustry.world.Block;
|
import io.anuke.mindustry.world.*;
|
||||||
import io.anuke.mindustry.world.LegacyColorMapper;
|
|
||||||
|
|
||||||
import static io.anuke.arc.Core.files;
|
import static io.anuke.arc.Core.files;
|
||||||
|
|
||||||
@@ -21,8 +19,6 @@ import static io.anuke.arc.Core.files;
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public class ContentLoader{
|
public class ContentLoader{
|
||||||
private boolean loaded = false;
|
private boolean loaded = false;
|
||||||
private boolean verbose = false;
|
|
||||||
|
|
||||||
private ObjectMap<String, MappableContent>[] contentNameMap = new ObjectMap[ContentType.values().length];
|
private ObjectMap<String, MappableContent>[] contentNameMap = new ObjectMap[ContentType.values().length];
|
||||||
private Array<Content>[] contentMap = new Array[ContentType.values().length];
|
private Array<Content>[] contentMap = new Array[ContentType.values().length];
|
||||||
private MappableContent[][] temporaryMapper;
|
private MappableContent[][] temporaryMapper;
|
||||||
@@ -45,12 +41,8 @@ public class ContentLoader{
|
|||||||
new LegacyColorMapper(),
|
new LegacyColorMapper(),
|
||||||
};
|
};
|
||||||
|
|
||||||
public void setVerbose(){
|
|
||||||
verbose = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Creates all content types. */
|
/** Creates all content types. */
|
||||||
public void load(){
|
public void createContent(){
|
||||||
if(loaded){
|
if(loaded){
|
||||||
Log.info("Content already loaded, skipping.");
|
Log.info("Content already loaded, skipping.");
|
||||||
return;
|
return;
|
||||||
@@ -65,8 +57,6 @@ public class ContentLoader{
|
|||||||
list.load();
|
list.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
int total = 0;
|
|
||||||
|
|
||||||
for(ContentType type : ContentType.values()){
|
for(ContentType type : ContentType.values()){
|
||||||
|
|
||||||
for(Content c : contentMap[type.ordinal()]){
|
for(Content c : contentMap[type.ordinal()]){
|
||||||
@@ -77,7 +67,6 @@ public class ContentLoader{
|
|||||||
}
|
}
|
||||||
contentNameMap[type.ordinal()].put(name, (MappableContent)c);
|
contentNameMap[type.ordinal()].put(name, (MappableContent)c);
|
||||||
}
|
}
|
||||||
total++;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,25 +80,32 @@ public class ContentLoader{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(verbose){
|
loaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Logs content statistics.*/
|
||||||
|
public void logContent(){
|
||||||
Log.info("--- CONTENT INFO ---");
|
Log.info("--- CONTENT INFO ---");
|
||||||
for(int k = 0; k < contentMap.length; k++){
|
for(int k = 0; k < contentMap.length; k++){
|
||||||
Log.info("[{0}]: loaded {1}", ContentType.values()[k].name(), contentMap[k].size);
|
Log.info("[{0}]: loaded {1}", ContentType.values()[k].name(), contentMap[k].size);
|
||||||
}
|
}
|
||||||
Log.info("Total content loaded: {0}", total);
|
Log.info("Total content loaded: {0}", Array.with(ContentType.values()).mapInt(c -> contentMap[c.ordinal()].size).sum());
|
||||||
Log.info("-------------------");
|
Log.info("-------------------");
|
||||||
}
|
}
|
||||||
|
|
||||||
loaded = true;
|
/** Calls Content#init() on everything. Use only after all modules have been created.*/
|
||||||
|
public void init(){
|
||||||
|
initialize(Content::init);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initialize(Consumer<Content> callable){
|
/** Calls Content#load() on everything. Use only after all modules have been created on the client.*/
|
||||||
initialize(callable, false);
|
public void load(){
|
||||||
|
initialize(Content::load);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Initializes all content with the specified function. */
|
/** Initializes all content with the specified function. */
|
||||||
public void initialize(Consumer<Content> callable, boolean override){
|
private void initialize(Consumer<Content> callable){
|
||||||
if(initialization.contains(callable) && !override) return;
|
if(initialization.contains(callable)) return;
|
||||||
|
|
||||||
for(ContentType type : ContentType.values()){
|
for(ContentType type : ContentType.values()){
|
||||||
for(Content content : contentMap[type.ordinal()]){
|
for(Content content : contentMap[type.ordinal()]){
|
||||||
@@ -136,12 +132,8 @@ public class ContentLoader{
|
|||||||
pixmap.dispose();
|
pixmap.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void verbose(boolean verbose){
|
|
||||||
this.verbose = verbose;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void dispose(){
|
public void dispose(){
|
||||||
//clear all content, currently not needed
|
//clear all content, currently not used
|
||||||
}
|
}
|
||||||
|
|
||||||
public void handleContent(Content content){
|
public void handleContent(Content content){
|
||||||
@@ -171,7 +163,7 @@ public class ContentLoader{
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
if(temporaryMapper[type.ordinal()].length <= id || temporaryMapper[type.ordinal()][id] == null){
|
if(temporaryMapper[type.ordinal()].length <= id || temporaryMapper[type.ordinal()][id] == null){
|
||||||
return getByID(type, 0); //default value is always ID 0
|
return (T)contentMap[type.ordinal()].get(0); //default value is always ID 0
|
||||||
}
|
}
|
||||||
return (T)temporaryMapper[type.ordinal()][id];
|
return (T)temporaryMapper[type.ordinal()][id];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
package io.anuke.mindustry.core;
|
package io.anuke.mindustry.core;
|
||||||
|
|
||||||
import io.anuke.arc.*;
|
import io.anuke.arc.*;
|
||||||
|
import io.anuke.arc.assets.*;
|
||||||
import io.anuke.arc.files.*;
|
import io.anuke.arc.files.*;
|
||||||
import io.anuke.arc.graphics.*;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.graphics.g2d.*;
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
import io.anuke.arc.input.*;
|
import io.anuke.arc.input.*;
|
||||||
import io.anuke.arc.math.geom.*;
|
import io.anuke.arc.math.geom.*;
|
||||||
import io.anuke.arc.scene.ui.*;
|
import io.anuke.arc.scene.ui.*;
|
||||||
import io.anuke.arc.scene.ui.layout.*;
|
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.content.*;
|
import io.anuke.mindustry.content.*;
|
||||||
import io.anuke.mindustry.core.GameState.*;
|
import io.anuke.mindustry.core.GameState.*;
|
||||||
import io.anuke.mindustry.entities.*;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.type.*;
|
import io.anuke.mindustry.entities.type.*;
|
||||||
import io.anuke.mindustry.game.*;
|
|
||||||
import io.anuke.mindustry.game.EventType.*;
|
import io.anuke.mindustry.game.EventType.*;
|
||||||
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.gen.*;
|
import io.anuke.mindustry.gen.*;
|
||||||
import io.anuke.mindustry.input.*;
|
import io.anuke.mindustry.input.*;
|
||||||
import io.anuke.mindustry.maps.*;
|
import io.anuke.mindustry.maps.Map;
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.type.*;
|
import io.anuke.mindustry.type.*;
|
||||||
import io.anuke.mindustry.ui.dialogs.*;
|
import io.anuke.mindustry.ui.dialogs.*;
|
||||||
@@ -25,6 +25,8 @@ import io.anuke.mindustry.world.*;
|
|||||||
import io.anuke.mindustry.world.blocks.storage.*;
|
import io.anuke.mindustry.world.blocks.storage.*;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
import java.text.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
import static io.anuke.arc.Core.*;
|
import static io.anuke.arc.Core.*;
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
@@ -35,10 +37,10 @@ import static io.anuke.mindustry.Vars.*;
|
|||||||
* Should <i>not</i> handle any logic-critical state.
|
* Should <i>not</i> handle any logic-critical state.
|
||||||
* This class is not created in the headless server.
|
* This class is not created in the headless server.
|
||||||
*/
|
*/
|
||||||
public class Control implements ApplicationListener{
|
public class Control implements ApplicationListener, Loadable{
|
||||||
public final Saves saves;
|
public Saves saves;
|
||||||
public final MusicControl music;
|
public MusicControl music;
|
||||||
public final Tutorial tutorial;
|
public Tutorial tutorial;
|
||||||
public InputHandler input;
|
public InputHandler input;
|
||||||
|
|
||||||
private Interval timer = new Interval(2);
|
private Interval timer = new Interval(2);
|
||||||
@@ -46,40 +48,9 @@ public class Control implements ApplicationListener{
|
|||||||
private boolean wasPaused = false;
|
private boolean wasPaused = false;
|
||||||
|
|
||||||
public Control(){
|
public Control(){
|
||||||
batch = new SpriteBatch();
|
|
||||||
saves = new Saves();
|
|
||||||
tutorial = new Tutorial();
|
|
||||||
music = new MusicControl();
|
|
||||||
|
|
||||||
UnitScl.dp.setProduct(settings.getInt("uiscale", 100) / 100f);
|
|
||||||
|
|
||||||
Core.input.setCatch(KeyCode.BACK, true);
|
|
||||||
|
|
||||||
content.initialize(Content::init);
|
|
||||||
Core.atlas = new TextureAtlas("sprites/sprites.atlas");
|
|
||||||
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
|
|
||||||
content.initialize(Content::load, true);
|
|
||||||
|
|
||||||
data.load();
|
|
||||||
|
|
||||||
Core.settings.setAppName(appName);
|
|
||||||
Core.settings.defaults(
|
|
||||||
"ip", "localhost",
|
|
||||||
"color-0", Color.rgba8888(playerColors[8]),
|
|
||||||
"color-1", Color.rgba8888(playerColors[11]),
|
|
||||||
"color-2", Color.rgba8888(playerColors[13]),
|
|
||||||
"color-3", Color.rgba8888(playerColors[9]),
|
|
||||||
"name", "",
|
|
||||||
"lastBuild", 0
|
|
||||||
);
|
|
||||||
|
|
||||||
createPlayer();
|
|
||||||
|
|
||||||
saves.load();
|
|
||||||
|
|
||||||
Events.on(StateChangeEvent.class, event -> {
|
Events.on(StateChangeEvent.class, event -> {
|
||||||
if((event.from == State.playing && event.to == State.menu) || (event.from == State.menu && event.to != State.menu)){
|
if((event.from == State.playing && event.to == State.menu) || (event.from == State.menu && event.to != State.menu)){
|
||||||
Time.runTask(5f, Platform.instance::updateRPC);
|
Time.runTask(5f, platform::updateRPC);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -95,7 +66,7 @@ public class Control implements ApplicationListener{
|
|||||||
Core.app.post(() -> Core.app.post(() -> {
|
Core.app.post(() -> Core.app.post(() -> {
|
||||||
if(Net.active() && player.getClosestCore() != null){
|
if(Net.active() && player.getClosestCore() != null){
|
||||||
//set to closest core since that's where the player will probably respawn; prevents camera jumps
|
//set to closest core since that's where the player will probably respawn; prevents camera jumps
|
||||||
Core.camera.position.set(player.getClosestCore());
|
Core.camera.position.set(player.isDead() ? player.getClosestCore() : player);
|
||||||
}else{
|
}else{
|
||||||
//locally, set to player position since respawning occurs immediately
|
//locally, set to player position since respawning occurs immediately
|
||||||
Core.camera.position.set(player);
|
Core.camera.position.set(player);
|
||||||
@@ -177,12 +148,30 @@ public class Control implements ApplicationListener{
|
|||||||
Events.on(ZoneConfigureCompleteEvent.class, e -> {
|
Events.on(ZoneConfigureCompleteEvent.class, e -> {
|
||||||
ui.hudfrag.showToast(Core.bundle.format("zone.config.complete", e.zone.configureWave));
|
ui.hudfrag.showToast(Core.bundle.format("zone.config.complete", e.zone.configureWave));
|
||||||
});
|
});
|
||||||
|
|
||||||
if(android){
|
|
||||||
Sounds.empty.loop(0f, 1f, 0f);
|
|
||||||
|
|
||||||
checkClassicData();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadAsync(){
|
||||||
|
saves = new Saves();
|
||||||
|
tutorial = new Tutorial();
|
||||||
|
music = new MusicControl();
|
||||||
|
|
||||||
|
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
|
||||||
|
|
||||||
|
Core.input.setCatch(KeyCode.BACK, true);
|
||||||
|
|
||||||
|
data.load();
|
||||||
|
|
||||||
|
Core.settings.defaults(
|
||||||
|
"ip", "localhost",
|
||||||
|
"color-0", Color.rgba8888(playerColors[8]),
|
||||||
|
"name", "",
|
||||||
|
"lastBuild", 0
|
||||||
|
);
|
||||||
|
|
||||||
|
createPlayer();
|
||||||
|
|
||||||
|
saves.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
//checks for existing 3.5 app data, android only
|
//checks for existing 3.5 app data, android only
|
||||||
@@ -192,7 +181,7 @@ public class Control implements ApplicationListener{
|
|||||||
settings.getBoolOnce("classic-backup-check", () -> {
|
settings.getBoolOnce("classic-backup-check", () -> {
|
||||||
app.post(() -> app.post(() -> ui.showConfirm("$classic.export", "$classic.export.text", () -> {
|
app.post(() -> app.post(() -> ui.showConfirm("$classic.export", "$classic.export.text", () -> {
|
||||||
try{
|
try{
|
||||||
Platform.instance.requestExternalPerms(() -> {
|
platform.requestExternalPerms(() -> {
|
||||||
FileHandle external = files.external("MindustryClassic");
|
FileHandle external = files.external("MindustryClassic");
|
||||||
if(files.local("mindustry-maps").exists()){
|
if(files.local("mindustry-maps").exists()){
|
||||||
files.local("mindustry-maps").copyTo(external);
|
files.local("mindustry-maps").copyTo(external);
|
||||||
@@ -231,7 +220,9 @@ public class Control implements ApplicationListener{
|
|||||||
player.add();
|
player.add();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Events.on(ClientLoadEvent.class, e -> {
|
||||||
Core.input.addProcessor(input);
|
Core.input.addProcessor(input);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public void playMap(Map map, Rules rules){
|
public void playMap(Map map, Rules rules){
|
||||||
@@ -240,6 +231,9 @@ public class Control implements ApplicationListener{
|
|||||||
world.loadMap(map, rules);
|
world.loadMap(map, rules);
|
||||||
state.rules = rules;
|
state.rules = rules;
|
||||||
logic.play();
|
logic.play();
|
||||||
|
if(settings.getBool("savecreate") && !world.isInvalidMap()){
|
||||||
|
control.saves.addSave(map.name() + " " + new SimpleDateFormat("MMM dd h:mm", Locale.getDefault()).format(new Date()));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -341,7 +335,7 @@ public class Control implements ApplicationListener{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(){
|
public void init(){
|
||||||
Platform.instance.updateRPC();
|
platform.updateRPC();
|
||||||
|
|
||||||
//play tutorial on stop
|
//play tutorial on stop
|
||||||
if(!settings.getBool("playedtutorial", false)){
|
if(!settings.getBool("playedtutorial", false)){
|
||||||
@@ -382,11 +376,18 @@ public class Control implements ApplicationListener{
|
|||||||
dialog.show();
|
dialog.show();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(android){
|
||||||
|
Sounds.empty.loop(0f, 1f, 0f);
|
||||||
|
checkClassicData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
saves.update();
|
saves.update();
|
||||||
|
//update and load any requested assets
|
||||||
|
assets.update();
|
||||||
|
|
||||||
input.updateController();
|
input.updateController();
|
||||||
|
|
||||||
@@ -396,6 +397,17 @@ public class Control implements ApplicationListener{
|
|||||||
music.update();
|
music.update();
|
||||||
loops.update();
|
loops.update();
|
||||||
|
|
||||||
|
if(Core.input.keyTap(Binding.fullscreen)){
|
||||||
|
boolean full = settings.getBool("fullscreen");
|
||||||
|
if(full){
|
||||||
|
graphics.setWindowedMode(graphics.getWidth(), graphics.getHeight());
|
||||||
|
}else{
|
||||||
|
graphics.setFullscreenMode(graphics.getDisplayMode());
|
||||||
|
}
|
||||||
|
settings.put("fullscreen", !full);
|
||||||
|
settings.save();
|
||||||
|
}
|
||||||
|
|
||||||
if(!state.is(State.menu)){
|
if(!state.is(State.menu)){
|
||||||
input.update();
|
input.update();
|
||||||
|
|
||||||
@@ -415,7 +427,7 @@ public class Control implements ApplicationListener{
|
|||||||
|
|
||||||
//auto-update rpc every 5 seconds
|
//auto-update rpc every 5 seconds
|
||||||
if(timer.get(0, 60 * 5)){
|
if(timer.get(0, 60 * 5)){
|
||||||
Platform.instance.updateRPC();
|
platform.updateRPC();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Core.input.keyTap(Binding.pause) && !scene.hasDialog() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){
|
if(Core.input.keyTap(Binding.pause) && !scene.hasDialog() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){
|
||||||
@@ -441,7 +453,7 @@ public class Control implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!scene.hasDialog() && !scene.root.getChildren().isEmpty() && !(scene.root.getChildren().peek() instanceof Dialog) && Core.input.keyTap(KeyCode.BACK)){
|
if(!scene.hasDialog() && !scene.root.getChildren().isEmpty() && !(scene.root.getChildren().peek() instanceof Dialog) && Core.input.keyTap(KeyCode.BACK)){
|
||||||
Platform.instance.hide();
|
platform.hide();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,15 +101,15 @@ public class Logic implements ApplicationListener{
|
|||||||
state.rules = new Rules();
|
state.rules = new Rules();
|
||||||
state.stats = new Stats();
|
state.stats = new Stats();
|
||||||
|
|
||||||
|
entities.clear();
|
||||||
Time.clear();
|
Time.clear();
|
||||||
Entities.clear();
|
|
||||||
TileEntity.sleepingEntities = 0;
|
TileEntity.sleepingEntities = 0;
|
||||||
|
|
||||||
Events.fire(new ResetEvent());
|
Events.fire(new ResetEvent());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void runWave(){
|
public void runWave(){
|
||||||
world.spawner.spawnEnemies();
|
spawner.spawnEnemies();
|
||||||
state.wave++;
|
state.wave++;
|
||||||
state.wavetime = world.isZone() && world.getZone().isBossWave(state.wave) ? state.rules.waveSpacing * state.rules.bossWaveMultiplier :
|
state.wavetime = world.isZone() && world.getZone().isBossWave(state.wave) ? state.rules.waveSpacing * state.rules.bossWaveMultiplier :
|
||||||
world.isZone() && world.getZone().isLaunchWave(state.wave) ? state.rules.waveSpacing * state.rules.launchWaveMultiplier : state.rules.waveSpacing;
|
world.isZone() && world.getZone().isLaunchWave(state.wave) ? state.rules.waveSpacing * state.rules.launchWaveMultiplier : state.rules.waveSpacing;
|
||||||
@@ -195,20 +195,20 @@ public class Logic implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!headless){
|
if(!headless){
|
||||||
Entities.update(effectGroup);
|
effectGroup.update();
|
||||||
Entities.update(groundEffectGroup);
|
groundEffectGroup.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!state.isEditor()){
|
if(!state.isEditor()){
|
||||||
for(EntityGroup group : unitGroups){
|
for(EntityGroup group : unitGroups){
|
||||||
Entities.update(group);
|
group.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
Entities.update(puddleGroup);
|
puddleGroup.update();
|
||||||
Entities.update(shieldGroup);
|
shieldGroup.update();
|
||||||
Entities.update(bulletGroup);
|
bulletGroup.update();
|
||||||
Entities.update(tileGroup);
|
tileGroup.update();
|
||||||
Entities.update(fireGroup);
|
fireGroup.update();
|
||||||
}else{
|
}else{
|
||||||
for(EntityGroup<?> group : unitGroups){
|
for(EntityGroup<?> group : unitGroups){
|
||||||
group.updateEvents();
|
group.updateEvents();
|
||||||
@@ -217,11 +217,11 @@ public class Logic implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Entities.update(playerGroup);
|
playerGroup.update();
|
||||||
|
|
||||||
//effect group only contains item transfers in the headless version, update it!
|
//effect group only contains item transfers in the headless version, update it!
|
||||||
if(headless){
|
if(headless){
|
||||||
Entities.update(effectGroup);
|
effectGroup.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!state.isEditor()){
|
if(!state.isEditor()){
|
||||||
@@ -234,7 +234,7 @@ public class Logic implements ApplicationListener{
|
|||||||
collisions.collideGroups(bulletGroup, playerGroup);
|
collisions.collideGroups(bulletGroup, playerGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
world.pathfinder.update();
|
pathfinder.update();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!Net.client() && !world.isInvalidMap() && !state.isEditor()){
|
if(!Net.client() && !world.isInvalidMap() && !state.isEditor()){
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ import io.anuke.arc.collection.IntSet;
|
|||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.Color;
|
||||||
import io.anuke.arc.math.RandomXS128;
|
import io.anuke.arc.math.RandomXS128;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
|
import io.anuke.arc.util.CommandHandler.*;
|
||||||
import io.anuke.arc.util.io.ReusableByteInStream;
|
import io.anuke.arc.util.io.ReusableByteInStream;
|
||||||
import io.anuke.arc.util.serialization.Base64Coder;
|
import io.anuke.arc.util.serialization.Base64Coder;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.Vars;
|
||||||
import io.anuke.mindustry.core.GameState.State;
|
import io.anuke.mindustry.core.GameState.State;
|
||||||
import io.anuke.mindustry.entities.Entities;
|
|
||||||
import io.anuke.mindustry.entities.EntityGroup;
|
import io.anuke.mindustry.entities.EntityGroup;
|
||||||
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest;
|
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest;
|
||||||
import io.anuke.mindustry.entities.traits.SyncTrait;
|
import io.anuke.mindustry.entities.traits.SyncTrait;
|
||||||
@@ -83,7 +83,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
c.versionType = Version.type;
|
c.versionType = Version.type;
|
||||||
c.color = Color.rgba8888(player.color);
|
c.color = Color.rgba8888(player.color);
|
||||||
c.usid = getUsid(packet.addressTCP);
|
c.usid = getUsid(packet.addressTCP);
|
||||||
c.uuid = Platform.instance.getUUID();
|
c.uuid = platform.getUUID();
|
||||||
|
|
||||||
if(c.uuid == null){
|
if(c.uuid == null){
|
||||||
ui.showError("$invalidid");
|
ui.showError("$invalidid");
|
||||||
@@ -101,7 +101,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
connecting = false;
|
connecting = false;
|
||||||
state.set(State.menu);
|
state.set(State.menu);
|
||||||
logic.reset();
|
logic.reset();
|
||||||
Platform.instance.updateRPC();
|
platform.updateRPC();
|
||||||
|
|
||||||
if(quiet) return;
|
if(quiet) return;
|
||||||
|
|
||||||
@@ -151,15 +151,38 @@ public class NetClient implements ApplicationListener{
|
|||||||
throw new ValidateException(player, "Player has sent a message above the text limit.");
|
throw new ValidateException(player, "Player has sent a message above the text limit.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check if it's a command
|
||||||
|
CommandResponse response = netServer.clientCommands.handleMessage(message, player);
|
||||||
|
if(response.type == ResponseType.noCommand){ //no command to handle
|
||||||
//server console logging
|
//server console logging
|
||||||
Log.info("&y{0}: &lb{1}", player.name, message);
|
Log.info("&y{0}: &lb{1}", player.name, message);
|
||||||
|
|
||||||
//invoke event for all clients but also locally
|
//invoke event for all clients but also locally
|
||||||
//this is required so other clients get the correct name even if they don't know who's sending it yet
|
//this is required so other clients get the correct name even if they don't know who's sending it yet
|
||||||
Call.sendMessage(message, colorizeName(player.id, player.name), player);
|
Call.sendMessage(message, colorizeName(player.id, player.name), player);
|
||||||
|
}else{
|
||||||
|
//log command to console but with brackets
|
||||||
|
Log.info("<&y{0}: &lm{1}&lg>", player.name, message);
|
||||||
|
|
||||||
|
//a command was sent, now get the output
|
||||||
|
if(response.type != ResponseType.valid){
|
||||||
|
String text;
|
||||||
|
|
||||||
|
//send usage
|
||||||
|
if(response.type == ResponseType.manyArguments){
|
||||||
|
text = "[scarlet]Too many arguments. Usage:[lightgray] " + response.command.text + "[gray] " + response.command.paramText;
|
||||||
|
}else if(response.type == ResponseType.fewArguments){
|
||||||
|
text = "[scarlet]Too few arguments. Usage:[lightgray] " + response.command.text + "[gray] " + response.command.paramText;
|
||||||
|
}else{ //unknown command
|
||||||
|
text = "[scarlet]Unknown command. Check [lightgray]/help[scarlet].";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String colorizeName(int id, String name){
|
player.sendMessage(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String colorizeName(int id, String name){
|
||||||
Player player = playerGroup.getByID(id);
|
Player player = playerGroup.getByID(id);
|
||||||
if(name == null || player == null) return null;
|
if(name == null || player == null) return null;
|
||||||
return "[#" + player.color.toString().toUpperCase() + "]" + name;
|
return "[#" + player.color.toString().toUpperCase() + "]" + name;
|
||||||
@@ -195,7 +218,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
|
|
||||||
@Remote(variants = Variant.both)
|
@Remote(variants = Variant.both)
|
||||||
public static void onWorldDataBegin(){
|
public static void onWorldDataBegin(){
|
||||||
Entities.clear();
|
entities.clear();
|
||||||
netClient.removed.clear();
|
netClient.removed.clear();
|
||||||
logic.reset();
|
logic.reset();
|
||||||
|
|
||||||
@@ -229,7 +252,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
netClient.byteStream.setBytes(Net.decompressSnapshot(data, dataLen));
|
netClient.byteStream.setBytes(Net.decompressSnapshot(data, dataLen));
|
||||||
DataInputStream input = netClient.dataStream;
|
DataInputStream input = netClient.dataStream;
|
||||||
|
|
||||||
EntityGroup group = Entities.getGroup(groupID);
|
EntityGroup group = entities.get(groupID);
|
||||||
|
|
||||||
//go through each entity
|
//go through each entity
|
||||||
for(int j = 0; j < amount; j++){
|
for(int j = 0; j < amount; j++){
|
||||||
@@ -333,7 +356,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
ui.join.hide();
|
ui.join.hide();
|
||||||
Net.setClientLoaded(true);
|
Net.setClientLoaded(true);
|
||||||
Core.app.post(Call::connectConfirm);
|
Core.app.post(Call::connectConfirm);
|
||||||
Time.runTask(40f, Platform.instance::updateRPC);
|
Time.runTask(40f, platform::updateRPC);
|
||||||
Core.app.post(() -> ui.loadfrag.hide());
|
Core.app.post(() -> ui.loadfrag.hide());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -346,7 +369,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
quiet = false;
|
quiet = false;
|
||||||
lastSent = 0;
|
lastSent = 0;
|
||||||
|
|
||||||
Entities.clear();
|
entities.clear();
|
||||||
ui.chatfrag.clearMessages();
|
ui.chatfrag.clearMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,18 +4,17 @@ import io.anuke.annotations.Annotations.Loc;
|
|||||||
import io.anuke.annotations.Annotations.Remote;
|
import io.anuke.annotations.Annotations.Remote;
|
||||||
import io.anuke.arc.ApplicationListener;
|
import io.anuke.arc.ApplicationListener;
|
||||||
import io.anuke.arc.Events;
|
import io.anuke.arc.Events;
|
||||||
import io.anuke.arc.collection.IntMap;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.collection.ObjectSet;
|
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.Color;
|
||||||
import io.anuke.arc.graphics.Colors;
|
import io.anuke.arc.graphics.Colors;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.Mathf;
|
||||||
import io.anuke.arc.math.geom.Rectangle;
|
import io.anuke.arc.math.geom.Rectangle;
|
||||||
import io.anuke.arc.math.geom.Vector2;
|
import io.anuke.arc.math.geom.Vector2;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
|
import io.anuke.arc.util.CommandHandler.*;
|
||||||
import io.anuke.arc.util.io.*;
|
import io.anuke.arc.util.io.*;
|
||||||
import io.anuke.mindustry.content.Blocks;
|
import io.anuke.mindustry.content.Blocks;
|
||||||
import io.anuke.mindustry.core.GameState.State;
|
import io.anuke.mindustry.core.GameState.State;
|
||||||
import io.anuke.mindustry.entities.Entities;
|
|
||||||
import io.anuke.mindustry.entities.EntityGroup;
|
import io.anuke.mindustry.entities.EntityGroup;
|
||||||
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest;
|
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest;
|
||||||
import io.anuke.mindustry.entities.traits.Entity;
|
import io.anuke.mindustry.entities.traits.Entity;
|
||||||
@@ -47,6 +46,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
private final static float correctDist = 16f;
|
private final static float correctDist = 16f;
|
||||||
|
|
||||||
public final Administration admins = new Administration();
|
public final Administration admins = new Administration();
|
||||||
|
public final CommandHandler clientCommands = new CommandHandler("/");
|
||||||
|
|
||||||
/** Maps connection IDs to players. */
|
/** Maps connection IDs to players. */
|
||||||
private IntMap<Player> connections = new IntMap<>();
|
private IntMap<Player> connections = new IntMap<>();
|
||||||
@@ -111,7 +111,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(packet.versionType == null || ((packet.version == -1 || !packet.versionType.equals(Version.type)) && Version.build != -1 && !admins.allowsCustomClients())){
|
if(packet.versionType == null || ((packet.version == -1 || !packet.versionType.equals(Version.type)) && Version.build != -1 && !admins.allowsCustomClients())){
|
||||||
kick(id, KickReason.customClient);
|
kick(id, !Version.type.equals(packet.versionType) ? KickReason.typeMismatch : KickReason.customClient);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -184,7 +184,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
|
|
||||||
sendWorldData(player, id);
|
sendWorldData(player, id);
|
||||||
|
|
||||||
Platform.instance.updateRPC();
|
platform.updateRPC();
|
||||||
});
|
});
|
||||||
|
|
||||||
Net.handleServer(InvokePacket.class, (id, packet) -> {
|
Net.handleServer(InvokePacket.class, (id, packet) -> {
|
||||||
@@ -192,6 +192,147 @@ public class NetServer implements ApplicationListener{
|
|||||||
if(player == null) return;
|
if(player == null) return;
|
||||||
RemoteReadServer.readPacket(packet.writeBuffer, packet.type, player);
|
RemoteReadServer.readPacket(packet.writeBuffer, packet.type, player);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerCommands();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registerCommands(){
|
||||||
|
clientCommands.<Player>register("help", "[page]", "Lists all commands.", (args, player) -> {
|
||||||
|
if(args.length > 0 && !Strings.canParseInt(args[0])){
|
||||||
|
player.sendMessage("[scarlet]'page' must be a number.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int commandsPerPage = 6;
|
||||||
|
int page = args.length > 0 ? Strings.parseInt(args[0]) : 1;
|
||||||
|
int pages = Mathf.ceil((float)clientCommands.getCommandList().size / commandsPerPage);
|
||||||
|
|
||||||
|
page --;
|
||||||
|
|
||||||
|
if(page > pages || page < 0){
|
||||||
|
player.sendMessage("[scarlet]'page' must be a number between[orange] 1[] and[orange] " + pages + "[scarlet].");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
result.append(Strings.format("[orange]-- Commands Page[lightgray] {0}[gray]/[lightgray]{1}[orange] --\n\n", (page+1), pages));
|
||||||
|
|
||||||
|
for(int i = commandsPerPage * page; i < Math.min(commandsPerPage * (page + 1), clientCommands.getCommandList().size); i++){
|
||||||
|
Command command = clientCommands.getCommandList().get(i);
|
||||||
|
result.append("[orange] /").append(command.text).append("[white] ").append(command.paramText).append("[lightgray] - ").append(command.description).append("\n");
|
||||||
|
}
|
||||||
|
player.sendMessage(result.toString());
|
||||||
|
});
|
||||||
|
|
||||||
|
clientCommands.<Player>register("t", "<message...>", "Send a message only to your teammates.", (args, player) -> {
|
||||||
|
playerGroup.all().each(p -> p.getTeam() == player.getTeam(), o -> o.sendMessage(args[0], player, "[#" + player.getTeam().color.toString() + "]<T>" + NetClient.colorizeName(player.id, player.name)));
|
||||||
|
});
|
||||||
|
|
||||||
|
//duration of a a kick in seconds
|
||||||
|
int kickDuration = 10 * 60;
|
||||||
|
|
||||||
|
class VoteSession{
|
||||||
|
Player target;
|
||||||
|
ObjectSet<String> voted = new ObjectSet<>();
|
||||||
|
ObjectMap<Player, VoteSession> map;
|
||||||
|
Timer.Task task;
|
||||||
|
int votes;
|
||||||
|
|
||||||
|
public VoteSession(ObjectMap<Player, VoteSession> map, Player target){
|
||||||
|
this.target = target;
|
||||||
|
this.map = map;
|
||||||
|
this.task = Timer.schedule(() -> {
|
||||||
|
if(!checkPass()){
|
||||||
|
Call.sendMessage(Strings.format("[lightgray]Vote failed. Not enough votes to kick[orange] {0}[lightgray].", target.name));
|
||||||
|
}
|
||||||
|
map.remove(target);
|
||||||
|
task.cancel();
|
||||||
|
}, 60 * 1.5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean checkPass(){
|
||||||
|
if(votes >= votesRequired() && target.isAdded() && target.con.isConnected()){
|
||||||
|
Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] {0}[orange] will be kicked from the server.", target.name));
|
||||||
|
admins.getInfo(target.uuid).lastKicked = Time.millis() + kickDuration*1000;
|
||||||
|
kick(target.con.id, KickReason.vote);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//cooldown between votes
|
||||||
|
int voteTime = 60 * 10;
|
||||||
|
Timekeeper vtime = new Timekeeper(voteTime);
|
||||||
|
//current kick sessions
|
||||||
|
ObjectMap<Player, VoteSession> currentlyKicking = new ObjectMap<>();
|
||||||
|
|
||||||
|
clientCommands.<Player>register("votekick", "[player...]", "Vote to kick a player, with a cooldown.", (args, player) -> {
|
||||||
|
if(playerGroup.size() < 3){
|
||||||
|
player.sendMessage("[scarlet]At least 3 players are needed to start a votekick.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(currentlyKicking.values().toArray().contains(v -> v.voted.contains(player.uuid) || v.voted.contains(admins.getInfo(player.uuid).lastIP))){
|
||||||
|
player.sendMessage("[scarlet]You've already voted. Sit down.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(args.length == 0){
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
builder.append("[orange]Players to kick: \n");
|
||||||
|
for(Player p : playerGroup.all()){
|
||||||
|
if(p.isAdmin || p.con == null || p == player) continue;
|
||||||
|
|
||||||
|
builder.append("[lightgray] ").append(p.name).append("[accent] (#").append(p.con.id).append(")\n");
|
||||||
|
}
|
||||||
|
player.sendMessage(builder.toString());
|
||||||
|
}else{
|
||||||
|
Player found;
|
||||||
|
if(args[0].length() > 1 && args[0].startsWith("#") && Strings.canParseInt(args[0].substring(1))){
|
||||||
|
int id = Strings.parseInt(args[0].substring(1));
|
||||||
|
found = playerGroup.find(p -> p.con != null && p.con.id == id);
|
||||||
|
}else{
|
||||||
|
found = playerGroup.find(p -> p.name.equalsIgnoreCase(args[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(found != null){
|
||||||
|
if(player == found){
|
||||||
|
player.sendMessage("[scarlet]If you're interested in kicking yourself, just leave.");
|
||||||
|
}else if(found.isAdmin){
|
||||||
|
player.sendMessage("[scarlet]Did you really expect to be able to kick an admin?");
|
||||||
|
}else{
|
||||||
|
if(!currentlyKicking.containsKey(found) && !vtime.get()){
|
||||||
|
player.sendMessage("[scarlet]You must wait " + voteTime/60 + " minutes between votekicks.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
VoteSession session = currentlyKicking.getOr(found, () -> new VoteSession(currentlyKicking, found));
|
||||||
|
session.votes ++;
|
||||||
|
session.voted.addAll(player.uuid, admins.getInfo(player.uuid).lastIP);
|
||||||
|
|
||||||
|
Call.sendMessage(Strings.format("[orange]{0}[lightgray] has voted to kick[orange] {1}[].[accent] ({2}/{3})\n[lightgray]Type[orange] /votekick #{4}[] to agree.",
|
||||||
|
player.name, found.name, session.votes, votesRequired(), found.con.id));
|
||||||
|
session.checkPass();
|
||||||
|
vtime.reset();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
player.sendMessage("[scarlet]No player[orange]'" + args[0] + "'[scarlet] found.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
clientCommands.<Player>register("sync", "Re-synchronize world state.", (args, player) -> {
|
||||||
|
if(player.isLocal){
|
||||||
|
player.sendMessage("[scarlet]Re-synchronizing as the host is pointless.");
|
||||||
|
}else{
|
||||||
|
Call.onWorldDataBegin(player.con.id);
|
||||||
|
netServer.sendWorldData(player, player.con.id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public int votesRequired(){
|
||||||
|
return playerGroup.size() * 2 / 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Team assignTeam(Player current, Iterable<Player> players){
|
public Team assignTeam(Player current, Iterable<Player> players){
|
||||||
@@ -423,10 +564,10 @@ public class NetServer implements ApplicationListener{
|
|||||||
|
|
||||||
Player player = connections.get(con.id);
|
Player player = connections.get(con.id);
|
||||||
|
|
||||||
if(player != null && (reason == KickReason.kick || reason == KickReason.banned) && player.uuid != null){
|
if(player != null && (reason == KickReason.kick || reason == KickReason.banned || reason == KickReason.vote) && player.uuid != null){
|
||||||
PlayerInfo info = admins.getInfo(player.uuid);
|
PlayerInfo info = admins.getInfo(player.uuid);
|
||||||
info.timesKicked++;
|
info.timesKicked++;
|
||||||
info.lastKicked = Time.millis();
|
info.lastKicked = Math.max(Time.millis(), info.lastKicked);
|
||||||
}
|
}
|
||||||
|
|
||||||
Call.onKick(connection, reason);
|
Call.onKick(connection, reason);
|
||||||
@@ -456,7 +597,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
viewport.setSize(player.con.viewWidth, player.con.viewHeight).setCenter(player.con.viewX, player.con.viewY);
|
viewport.setSize(player.con.viewWidth, player.con.viewHeight).setCenter(player.con.viewX, player.con.viewY);
|
||||||
|
|
||||||
//check for syncable groups
|
//check for syncable groups
|
||||||
for(EntityGroup<?> group : Entities.getAllGroups()){
|
for(EntityGroup<?> group : entities.all()){
|
||||||
if(group.isEmpty() || !(group.all().get(0) instanceof SyncTrait)) continue;
|
if(group.isEmpty() || !(group.all().get(0) instanceof SyncTrait)) continue;
|
||||||
|
|
||||||
//make sure mapping is enabled for this group
|
//make sure mapping is enabled for this group
|
||||||
|
|||||||
@@ -11,18 +11,15 @@ import io.anuke.arc.util.serialization.Base64Coder;
|
|||||||
|
|
||||||
import static io.anuke.mindustry.Vars.mobile;
|
import static io.anuke.mindustry.Vars.mobile;
|
||||||
|
|
||||||
public abstract class Platform{
|
public interface Platform{
|
||||||
/** Each separate game platform should set this instance to their own implementation. */
|
|
||||||
public static Platform instance = new Platform(){
|
|
||||||
};
|
|
||||||
|
|
||||||
/** Add a text input dialog that should show up after the field is tapped. */
|
/** Add a text input dialog that should show up after the field is tapped. */
|
||||||
public void addDialog(TextField field){
|
default void addDialog(TextField field){
|
||||||
addDialog(field, 16);
|
addDialog(field, 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** See addDialog(). */
|
/** See addDialog(). */
|
||||||
public void addDialog(TextField field, int maxLength){
|
default void addDialog(TextField field, int maxLength){
|
||||||
if(!mobile) return; //this is mobile only, desktop doesn't need dialogs
|
if(!mobile) return; //this is mobile only, desktop doesn't need dialogs
|
||||||
|
|
||||||
field.tapped(() -> {
|
field.tapped(() -> {
|
||||||
@@ -40,21 +37,21 @@ public abstract class Platform{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Request external read/write perms. Run callback when complete.*/
|
/** Request external read/write perms. Run callback when complete.*/
|
||||||
public void requestExternalPerms(Runnable callback){
|
default void requestExternalPerms(Runnable callback){
|
||||||
callback.run();
|
callback.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Update discord RPC. */
|
/** Update discord RPC. */
|
||||||
public void updateRPC(){
|
default void updateRPC(){
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Whether donating is supported. */
|
/** Whether donating is supported. */
|
||||||
public boolean canDonate(){
|
default boolean canDonate(){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Must be a base64 string 8 bytes in length. */
|
/** Must be a base64 string 8 bytes in length. */
|
||||||
public String getUUID(){
|
default String getUUID(){
|
||||||
String uuid = Core.settings.getString("uuid", "");
|
String uuid = Core.settings.getString("uuid", "");
|
||||||
if(uuid.isEmpty()){
|
if(uuid.isEmpty()){
|
||||||
byte[] result = new byte[8];
|
byte[] result = new byte[8];
|
||||||
@@ -68,7 +65,7 @@ public abstract class Platform{
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Only used for iOS or android: open the share menu for a map or save. */
|
/** Only used for iOS or android: open the share menu for a map or save. */
|
||||||
public void shareFile(FileHandle file){
|
default void shareFile(FileHandle file){
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -79,18 +76,18 @@ public abstract class Platform{
|
|||||||
* @param open Whether to open or save files
|
* @param open Whether to open or save files
|
||||||
* @param filetype File extension to filter
|
* @param filetype File extension to filter
|
||||||
*/
|
*/
|
||||||
public void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, Predicate<String> filetype){
|
default void showFileChooser(String text, String content, Consumer<FileHandle> cons, boolean open, Predicate<String> filetype){
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Hide the app. Android only. */
|
/** Hide the app. Android only. */
|
||||||
public void hide(){
|
default void hide(){
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Forces the app into landscape mode. Currently Android only. */
|
/** Forces the app into landscape mode. Currently Android only. */
|
||||||
public void beginForceLandscape(){
|
default void beginForceLandscape(){
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Stops forcing the app into landscape orientation. Currently Android only. */
|
/** Stops forcing the app into landscape orientation. Currently Android only. */
|
||||||
public void endForceLandscape(){
|
default void endForceLandscape(){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,9 +43,6 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
public Renderer(){
|
public Renderer(){
|
||||||
camera = new Camera();
|
camera = new Camera();
|
||||||
if(settings.getBool("bloom")){
|
|
||||||
setupBloom();
|
|
||||||
}
|
|
||||||
Shaders.init();
|
Shaders.init();
|
||||||
|
|
||||||
Effects.setScreenShakeProvider((intensity, duration) -> {
|
Effects.setScreenShakeProvider((intensity, duration) -> {
|
||||||
@@ -93,6 +90,13 @@ public class Renderer implements ApplicationListener{
|
|||||||
clearColor = new Color(0f, 0f, 0f, 1f);
|
clearColor = new Color(0f, 0f, 0f, 1f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init(){
|
||||||
|
if(settings.getBool("bloom")){
|
||||||
|
setupBloom();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
//TODO hack, find source of this bug
|
//TODO hack, find source of this bug
|
||||||
@@ -205,9 +209,9 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
blocks.floor.drawFloor();
|
blocks.floor.drawFloor();
|
||||||
|
|
||||||
draw(groundEffectGroup, e -> e instanceof BelowLiquidTrait);
|
groundEffectGroup.draw(e -> e instanceof BelowLiquidTrait);
|
||||||
draw(puddleGroup);
|
puddleGroup.draw();
|
||||||
draw(groundEffectGroup, e -> !(e instanceof BelowLiquidTrait));
|
groundEffectGroup.draw(e -> !(e instanceof BelowLiquidTrait));
|
||||||
|
|
||||||
blocks.processBlocks();
|
blocks.processBlocks();
|
||||||
|
|
||||||
@@ -244,8 +248,8 @@ public class Renderer implements ApplicationListener{
|
|||||||
bloom.capture();
|
bloom.capture();
|
||||||
}
|
}
|
||||||
|
|
||||||
draw(bulletGroup);
|
bulletGroup.draw();
|
||||||
draw(effectGroup);
|
effectGroup.draw();
|
||||||
|
|
||||||
Draw.flush();
|
Draw.flush();
|
||||||
if(bloom != null && !pixelator.enabled()){
|
if(bloom != null && !pixelator.enabled()){
|
||||||
@@ -253,15 +257,15 @@ public class Renderer implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
|
|
||||||
overlays.drawBottom();
|
overlays.drawBottom();
|
||||||
draw(playerGroup, p -> true, Player::drawBuildRequests);
|
playerGroup.draw(p -> true, Player::drawBuildRequests);
|
||||||
|
|
||||||
if(Entities.countInBounds(shieldGroup) > 0){
|
if(shieldGroup.countInBounds() > 0){
|
||||||
if(settings.getBool("animatedshields")){
|
if(settings.getBool("animatedshields") && Shaders.shield != null){
|
||||||
Draw.flush();
|
Draw.flush();
|
||||||
shieldBuffer.begin();
|
shieldBuffer.begin();
|
||||||
graphics.clear(Color.CLEAR);
|
graphics.clear(Color.CLEAR);
|
||||||
Entities.draw(shieldGroup);
|
shieldGroup.draw();
|
||||||
Entities.draw(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawOver());
|
shieldGroup.draw(shield -> true, ShieldEntity::drawOver);
|
||||||
Draw.flush();
|
Draw.flush();
|
||||||
shieldBuffer.end();
|
shieldBuffer.end();
|
||||||
Draw.shader(Shaders.shield);
|
Draw.shader(Shaders.shield);
|
||||||
@@ -270,13 +274,13 @@ public class Renderer implements ApplicationListener{
|
|||||||
Draw.color();
|
Draw.color();
|
||||||
Draw.shader();
|
Draw.shader();
|
||||||
}else{
|
}else{
|
||||||
Entities.draw(shieldGroup, shield -> true, shield -> ((ShieldEntity)shield).drawSimple());
|
shieldGroup.draw(shield -> true, ShieldEntity::drawSimple);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
overlays.drawTop();
|
overlays.drawTop();
|
||||||
|
|
||||||
draw(playerGroup, p -> !p.isDead() && !p.isLocal, Player::drawName);
|
playerGroup.draw(p -> !p.isDead() && !p.isLocal, Player::drawName);
|
||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
Draw.flush();
|
Draw.flush();
|
||||||
@@ -293,12 +297,12 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
for(EntityGroup<? extends BaseUnit> group : unitGroups){
|
for(EntityGroup<? extends BaseUnit> group : unitGroups){
|
||||||
if(!group.isEmpty()){
|
if(!group.isEmpty()){
|
||||||
draw(group, unit -> !unit.isDead(), draw::accept);
|
group.draw(unit -> !unit.isDead(), draw::accept);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!playerGroup.isEmpty()){
|
if(!playerGroup.isEmpty()){
|
||||||
draw(playerGroup, unit -> !unit.isDead(), draw::accept);
|
playerGroup.draw(unit -> !unit.isDead(), draw::accept);
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
@@ -310,12 +314,12 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
for(EntityGroup<? extends BaseUnit> group : unitGroups){
|
for(EntityGroup<? extends BaseUnit> group : unitGroups){
|
||||||
if(!group.isEmpty()){
|
if(!group.isEmpty()){
|
||||||
draw(group, unit -> unit.isFlying() && !unit.isDead(), baseUnit -> baseUnit.drawShadow(trnsX, trnsY));
|
group.draw(unit -> unit.isFlying() && !unit.isDead(), baseUnit -> baseUnit.drawShadow(trnsX, trnsY));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!playerGroup.isEmpty()){
|
if(!playerGroup.isEmpty()){
|
||||||
draw(playerGroup, unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY));
|
playerGroup.draw(unit -> unit.isFlying() && !unit.isDead(), player -> player.drawShadow(trnsX, trnsY));
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
@@ -327,29 +331,17 @@ public class Renderer implements ApplicationListener{
|
|||||||
|
|
||||||
if(group.count(p -> p.isFlying() == flying) + playerGroup.count(p -> p.isFlying() == flying && p.getTeam() == team) == 0 && flying) continue;
|
if(group.count(p -> p.isFlying() == flying) + playerGroup.count(p -> p.isFlying() == flying && p.getTeam() == team) == 0 && flying) continue;
|
||||||
|
|
||||||
draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder);
|
unitGroups[team.ordinal()].draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawUnder);
|
||||||
draw(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team && !p.isDead(), Unit::drawUnder);
|
playerGroup.draw(p -> p.isFlying() == flying && p.getTeam() == team && !p.isDead(), Unit::drawUnder);
|
||||||
|
|
||||||
draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll);
|
unitGroups[team.ordinal()].draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawAll);
|
||||||
draw(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll);
|
playerGroup.draw(p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawAll);
|
||||||
|
|
||||||
draw(unitGroups[team.ordinal()], u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver);
|
unitGroups[team.ordinal()].draw(u -> u.isFlying() == flying && !u.isDead(), Unit::drawOver);
|
||||||
draw(playerGroup, p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver);
|
playerGroup.draw(p -> p.isFlying() == flying && p.getTeam() == team, Unit::drawOver);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T extends DrawTrait> void draw(EntityGroup<T> group){
|
|
||||||
draw(group, t -> true, DrawTrait::draw);
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T extends DrawTrait> void draw(EntityGroup<T> group, Predicate<T> toDraw){
|
|
||||||
draw(group, toDraw, DrawTrait::draw);
|
|
||||||
}
|
|
||||||
|
|
||||||
public <T extends DrawTrait> void draw(EntityGroup<T> group, Predicate<T> toDraw, Consumer<T> drawer){
|
|
||||||
Entities.draw(group, toDraw, drawer);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void scaleCamera(float amount){
|
public void scaleCamera(float amount){
|
||||||
targetscale += amount;
|
targetscale += amount;
|
||||||
clampScale();
|
clampScale();
|
||||||
|
|||||||
@@ -3,8 +3,14 @@ package io.anuke.mindustry.core;
|
|||||||
import io.anuke.arc.*;
|
import io.anuke.arc.*;
|
||||||
import io.anuke.arc.Graphics.*;
|
import io.anuke.arc.Graphics.*;
|
||||||
import io.anuke.arc.Graphics.Cursor.*;
|
import io.anuke.arc.Graphics.Cursor.*;
|
||||||
|
import io.anuke.arc.assets.*;
|
||||||
|
import io.anuke.arc.assets.loaders.*;
|
||||||
|
import io.anuke.arc.assets.loaders.resolvers.*;
|
||||||
|
import io.anuke.arc.collection.*;
|
||||||
|
import io.anuke.arc.files.*;
|
||||||
import io.anuke.arc.freetype.*;
|
import io.anuke.arc.freetype.*;
|
||||||
import io.anuke.arc.freetype.FreeTypeFontGenerator.*;
|
import io.anuke.arc.freetype.FreeTypeFontGenerator.*;
|
||||||
|
import io.anuke.arc.freetype.FreetypeFontLoader.*;
|
||||||
import io.anuke.arc.function.*;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.graphics.*;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.graphics.g2d.*;
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
@@ -31,8 +37,8 @@ import io.anuke.mindustry.ui.fragments.*;
|
|||||||
import static io.anuke.arc.scene.actions.Actions.*;
|
import static io.anuke.arc.scene.actions.Actions.*;
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
public class UI implements ApplicationListener{
|
public class UI implements ApplicationListener, Loadable{
|
||||||
private FreeTypeFontGenerator generator;
|
private Skin skin;
|
||||||
|
|
||||||
public MenuFragment menufrag;
|
public MenuFragment menufrag;
|
||||||
public HudFragment hudfrag;
|
public HudFragment hudfrag;
|
||||||
@@ -67,9 +73,24 @@ public class UI implements ApplicationListener{
|
|||||||
public Cursor drillCursor, unloadCursor;
|
public Cursor drillCursor, unloadCursor;
|
||||||
|
|
||||||
public UI(){
|
public UI(){
|
||||||
Skin skin = new Skin(Core.atlas);
|
skin = new Skin();
|
||||||
generateFonts(skin);
|
setupFonts();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadAsync(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadSync(){
|
||||||
|
//TODO type-safe skin files
|
||||||
|
skin.addRegions(Core.atlas);
|
||||||
loadExtraStyle(skin);
|
loadExtraStyle(skin);
|
||||||
|
skin.add("outline", Core.assets.get("outline"));
|
||||||
|
skin.getFont("outline").getData().markupEnabled = true;
|
||||||
|
skin.getFont("default").getData().markupEnabled = true;
|
||||||
|
skin.getFont("default").setOwnsTexture(false);
|
||||||
skin.load(Core.files.internal("sprites/uiskin.json"));
|
skin.load(Core.files.internal("sprites/uiskin.json"));
|
||||||
|
|
||||||
for(BitmapFont font : skin.getAll(BitmapFont.class).values()){
|
for(BitmapFont font : skin.getAll(BitmapFont.class).values()){
|
||||||
@@ -97,6 +118,11 @@ public class UI implements ApplicationListener{
|
|||||||
loadExtraCursors();
|
loadExtraCursors();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Array<AssetDescriptor> getDependencies(){
|
||||||
|
return Array.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", BitmapFont.class), new AssetDescriptor<>("default", BitmapFont.class), new AssetDescriptor<>("chat", BitmapFont.class));
|
||||||
|
}
|
||||||
|
|
||||||
/** Called from a static context to make the cursor appear immediately upon startup.*/
|
/** Called from a static context to make the cursor appear immediately upon startup.*/
|
||||||
public static void loadSystemCursors(){
|
public static void loadSystemCursors(){
|
||||||
SystemCursor.arrow.set(Core.graphics.newCursor("cursor"));
|
SystemCursor.arrow.set(Core.graphics.newCursor("cursor"));
|
||||||
@@ -106,6 +132,30 @@ public class UI implements ApplicationListener{
|
|||||||
Core.graphics.restoreCursor();
|
Core.graphics.restoreCursor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Called from a static context for use in the loading screen.*/
|
||||||
|
public static void loadDefaultFont(){
|
||||||
|
FileHandleResolver resolver = new InternalFileHandleResolver();
|
||||||
|
Core.assets.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
|
||||||
|
Core.assets.setLoader(BitmapFont.class, null, new FreetypeFontLoader(resolver){
|
||||||
|
@Override
|
||||||
|
public BitmapFont loadSync(AssetManager manager, String fileName, FileHandle file, FreeTypeFontLoaderParameter parameter){
|
||||||
|
if(fileName.equals("outline")){
|
||||||
|
parameter.fontParameters.borderWidth = UnitScl.dp.scl(2f);
|
||||||
|
parameter.fontParameters.spaceX -= parameter.fontParameters.borderWidth;
|
||||||
|
}
|
||||||
|
parameter.fontParameters.size = fontParameter().size;
|
||||||
|
return super.loadSync(manager, fileName, file, parameter);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
FreeTypeFontParameter param = new FreeTypeFontParameter(){{
|
||||||
|
borderColor = Color.DARK_GRAY;
|
||||||
|
incremental = true;
|
||||||
|
}};
|
||||||
|
|
||||||
|
Core.assets.load("outline", BitmapFont.class, new FreeTypeFontLoaderParameter("fonts/font.ttf", param));
|
||||||
|
}
|
||||||
|
|
||||||
void loadExtraStyle(Skin skin){
|
void loadExtraStyle(Skin skin){
|
||||||
AtlasRegion region = Core.atlas.find("flat-down-base");
|
AtlasRegion region = Core.atlas.find("flat-down-base");
|
||||||
int[] splits = region.splits;
|
int[] splits = region.splits;
|
||||||
@@ -130,29 +180,22 @@ public class UI implements ApplicationListener{
|
|||||||
unloadCursor = Core.graphics.newCursor("unload");
|
unloadCursor = Core.graphics.newCursor("unload");
|
||||||
}
|
}
|
||||||
|
|
||||||
void generateFonts(Skin skin){
|
public void setupFonts(){
|
||||||
generator = new FreeTypeFontGenerator(Core.files.internal("fonts/font.ttf"));
|
String fontName = "fonts/font.ttf";
|
||||||
|
|
||||||
FreeTypeFontParameter param = new FreeTypeFontParameter(){{
|
FreeTypeFontParameter param = fontParameter();
|
||||||
|
|
||||||
|
Core.assets.load("default", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, param)).loaded = f -> skin.add("default", f);
|
||||||
|
Core.assets.load("chat", BitmapFont.class, new FreeTypeFontLoaderParameter(fontName, param)).loaded = f -> skin.add("chat", f);
|
||||||
|
}
|
||||||
|
|
||||||
|
static FreeTypeFontParameter fontParameter(){
|
||||||
|
return new FreeTypeFontParameter(){{
|
||||||
size = (int)(UnitScl.dp.scl(18f));
|
size = (int)(UnitScl.dp.scl(18f));
|
||||||
shadowColor = Color.DARK_GRAY;
|
shadowColor = Color.DARK_GRAY;
|
||||||
shadowOffsetY = 2;
|
shadowOffsetY = 2;
|
||||||
incremental = true;
|
incremental = true;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
FreeTypeFontParameter outlined = new FreeTypeFontParameter(){{
|
|
||||||
size = param.size;
|
|
||||||
borderColor = Color.DARK_GRAY;
|
|
||||||
borderWidth = UnitScl.dp.scl(2f);
|
|
||||||
spaceX -= borderWidth;
|
|
||||||
incremental = true;
|
|
||||||
}};
|
|
||||||
|
|
||||||
skin.add("outline", generator.generateFont(outlined));
|
|
||||||
skin.add("default", generator.generateFont(param));
|
|
||||||
skin.add("chat", generator.generateFont(param));
|
|
||||||
skin.getFont("default").getData().markupEnabled = true;
|
|
||||||
skin.getFont("default").setOwnsTexture(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -225,13 +268,14 @@ public class UI implements ApplicationListener{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resize(int width, int height){
|
public void resize(int width, int height){
|
||||||
|
if(Core.scene == null) return;
|
||||||
Core.scene.resize(width, height);
|
Core.scene.resize(width, height);
|
||||||
Events.fire(new ResizeEvent());
|
Events.fire(new ResizeEvent());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dispose(){
|
public void dispose(){
|
||||||
generator.dispose();
|
//generator.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadAnd(Runnable call){
|
public void loadAnd(Runnable call){
|
||||||
@@ -252,7 +296,7 @@ public class UI implements ApplicationListener{
|
|||||||
TextField field = cont.addField(def, t -> {
|
TextField field = cont.addField(def, t -> {
|
||||||
}).size(170f, 50f).get();
|
}).size(170f, 50f).get();
|
||||||
field.setFilter((f, c) -> field.getText().length() < textLength && filter.acceptChar(f, c));
|
field.setFilter((f, c) -> field.getText().length() < textLength && filter.acceptChar(f, c));
|
||||||
Platform.instance.addDialog(field);
|
platform.addDialog(field);
|
||||||
buttons.defaults().size(120, 54).pad(4);
|
buttons.defaults().size(120, 54).pad(4);
|
||||||
buttons.addButton("$ok", () -> {
|
buttons.addButton("$ok", () -> {
|
||||||
confirmed.accept(field.getText());
|
confirmed.accept(field.getText());
|
||||||
|
|||||||
@@ -6,10 +6,8 @@ import io.anuke.arc.collection.*;
|
|||||||
import io.anuke.arc.math.*;
|
import io.anuke.arc.math.*;
|
||||||
import io.anuke.arc.math.geom.*;
|
import io.anuke.arc.math.geom.*;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.ai.*;
|
|
||||||
import io.anuke.mindustry.content.*;
|
import io.anuke.mindustry.content.*;
|
||||||
import io.anuke.mindustry.core.GameState.*;
|
import io.anuke.mindustry.core.GameState.*;
|
||||||
import io.anuke.mindustry.entities.*;
|
|
||||||
import io.anuke.mindustry.game.EventType.*;
|
import io.anuke.mindustry.game.EventType.*;
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.io.*;
|
import io.anuke.mindustry.io.*;
|
||||||
@@ -23,11 +21,7 @@ import io.anuke.mindustry.world.blocks.*;
|
|||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
public class World implements ApplicationListener{
|
public class World{
|
||||||
public final Maps maps = new Maps();
|
|
||||||
public final BlockIndexer indexer = new BlockIndexer();
|
|
||||||
public final WaveSpawner spawner = new WaveSpawner();
|
|
||||||
public final Pathfinder pathfinder = new Pathfinder();
|
|
||||||
public final Context context = new Context();
|
public final Context context = new Context();
|
||||||
|
|
||||||
private Map currentMap;
|
private Map currentMap;
|
||||||
@@ -36,17 +30,7 @@ public class World implements ApplicationListener{
|
|||||||
private boolean generating, invalidMap;
|
private boolean generating, invalidMap;
|
||||||
|
|
||||||
public World(){
|
public World(){
|
||||||
maps.load();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void init(){
|
|
||||||
maps.loadLegacyMaps();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void dispose(){
|
|
||||||
maps.dispose();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isInvalidMap(){
|
public boolean isInvalidMap(){
|
||||||
@@ -190,9 +174,11 @@ public class World implements ApplicationListener{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!headless){
|
||||||
addDarkness(tiles);
|
addDarkness(tiles);
|
||||||
|
}
|
||||||
|
|
||||||
Entities.getAllGroups().each(group -> group.resize(-finalWorldBounds, -finalWorldBounds, tiles.length * tilesize + finalWorldBounds * 2, tiles[0].length * tilesize + finalWorldBounds * 2));
|
entities.all().each(group -> group.resize(-finalWorldBounds, -finalWorldBounds, tiles.length * tilesize + finalWorldBounds * 2, tiles[0].length * tilesize + finalWorldBounds * 2));
|
||||||
|
|
||||||
generating = false;
|
generating = false;
|
||||||
Events.fire(new WorldLoadEvent());
|
Events.fire(new WorldLoadEvent());
|
||||||
@@ -354,7 +340,7 @@ public class World implements ApplicationListener{
|
|||||||
for(int x = 0; x < tiles.length; x++){
|
for(int x = 0; x < tiles.length; x++){
|
||||||
for(int y = 0; y < tiles[0].length; y++){
|
for(int y = 0; y < tiles[0].length; y++){
|
||||||
Tile tile = tiles[x][y];
|
Tile tile = tiles[x][y];
|
||||||
if(tile.block().solid && !tile.block().synthetic() && tile.block().fillsTile){
|
if(tile.isDarkened()){
|
||||||
dark[x][y] = darkIterations;
|
dark[x][y] = darkIterations;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -383,9 +369,21 @@ public class World implements ApplicationListener{
|
|||||||
for(int x = 0; x < tiles.length; x++){
|
for(int x = 0; x < tiles.length; x++){
|
||||||
for(int y = 0; y < tiles[0].length; y++){
|
for(int y = 0; y < tiles[0].length; y++){
|
||||||
Tile tile = tiles[x][y];
|
Tile tile = tiles[x][y];
|
||||||
if(tile.block().solid && !tile.block().synthetic()){
|
if(tile.isDarkened()){
|
||||||
tiles[x][y].rotation(dark[x][y]);
|
tiles[x][y].rotation(dark[x][y]);
|
||||||
}
|
}
|
||||||
|
if(dark[x][y] == 4){
|
||||||
|
boolean full = true;
|
||||||
|
for(Point2 p : Geometry.d4){
|
||||||
|
int px = p.x + x, py = p.y + y;
|
||||||
|
if(Structs.inBounds(px, py, tiles) && !(tiles[px][py].isDarkened() && dark[px][py] == 4)){
|
||||||
|
full = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(full) tiles[x][y].rotation(5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ import io.anuke.arc.util.*;
|
|||||||
import io.anuke.mindustry.*;
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.content.*;
|
import io.anuke.mindustry.content.*;
|
||||||
import io.anuke.mindustry.core.GameState.*;
|
import io.anuke.mindustry.core.GameState.*;
|
||||||
import io.anuke.mindustry.core.*;
|
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.graphics.*;
|
import io.anuke.mindustry.graphics.*;
|
||||||
import io.anuke.mindustry.io.*;
|
import io.anuke.mindustry.io.*;
|
||||||
@@ -92,12 +91,12 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
createDialog("$editor.import",
|
createDialog("$editor.import",
|
||||||
"$editor.importmap", "$editor.importmap.description", "icon-load-map", (Runnable)loadDialog::show,
|
"$editor.importmap", "$editor.importmap.description", "icon-load-map", (Runnable)loadDialog::show,
|
||||||
"$editor.importfile", "$editor.importfile.description", "icon-file", (Runnable)() ->
|
"$editor.importfile", "$editor.importfile.description", "icon-file", (Runnable)() ->
|
||||||
Platform.instance.showFileChooser("$editor.loadmap", "Map Files", file -> ui.loadAnd(() -> {
|
platform.showFileChooser("$editor.loadmap", "Map Files", file -> ui.loadAnd(() -> {
|
||||||
world.maps.tryCatchMapError(() -> {
|
maps.tryCatchMapError(() -> {
|
||||||
if(MapIO.isImage(file)){
|
if(MapIO.isImage(file)){
|
||||||
ui.showInfo("$editor.errorimage");
|
ui.showInfo("$editor.errorimage");
|
||||||
}else if(file.extension().equalsIgnoreCase(oldMapExtension)){
|
}else if(file.extension().equalsIgnoreCase(oldMapExtension)){
|
||||||
editor.beginEdit(world.maps.makeLegacyMap(file));
|
editor.beginEdit(maps.makeLegacyMap(file));
|
||||||
}else{
|
}else{
|
||||||
editor.beginEdit(MapIO.createMap(file, true));
|
editor.beginEdit(MapIO.createMap(file, true));
|
||||||
}
|
}
|
||||||
@@ -105,7 +104,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
}), true, FileChooser.anyMapFiles),
|
}), true, FileChooser.anyMapFiles),
|
||||||
|
|
||||||
"$editor.importimage", "$editor.importimage.description", "icon-file-image", (Runnable)() ->
|
"$editor.importimage", "$editor.importimage.description", "icon-file-image", (Runnable)() ->
|
||||||
Platform.instance.showFileChooser("$loadimage", "Image Files", file ->
|
platform.showFileChooser("$loadimage", "Image Files", file ->
|
||||||
ui.loadAnd(() -> {
|
ui.loadAnd(() -> {
|
||||||
try{
|
try{
|
||||||
Pixmap pixmap = new Pixmap(file);
|
Pixmap pixmap = new Pixmap(file);
|
||||||
@@ -121,7 +120,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
|
|
||||||
Cell cell = t.addImageTextButton("$editor.export", "icon-save-map", isize, () -> {
|
Cell cell = t.addImageTextButton("$editor.export", "icon-save-map", isize, () -> {
|
||||||
if(!ios){
|
if(!ios){
|
||||||
Platform.instance.showFileChooser("$editor.savemap", "Map Files", file -> {
|
platform.showFileChooser("$editor.savemap", "Map Files", file -> {
|
||||||
file = file.parent().child(file.nameWithoutExtension() + "." + mapExtension);
|
file = file.parent().child(file.nameWithoutExtension() + "." + mapExtension);
|
||||||
FileHandle result = file;
|
FileHandle result = file;
|
||||||
ui.loadAnd(() -> {
|
ui.loadAnd(() -> {
|
||||||
@@ -141,7 +140,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
try{
|
try{
|
||||||
FileHandle result = Core.files.local(editor.getTags().get("name", "unknown") + "." + mapExtension);
|
FileHandle result = Core.files.local(editor.getTags().get("name", "unknown") + "." + mapExtension);
|
||||||
MapIO.writeMap(result, editor.createMap(result));
|
MapIO.writeMap(result, editor.createMap(result));
|
||||||
Platform.instance.shareFile(result);
|
platform.shareFile(result);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
ui.showError(Core.bundle.format("editor.errorsave", Strings.parseException(e, true)));
|
ui.showError(Core.bundle.format("editor.errorsave", Strings.parseException(e, true)));
|
||||||
Log.err(e);
|
Log.err(e);
|
||||||
@@ -210,7 +209,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
shown(() -> {
|
shown(() -> {
|
||||||
|
|
||||||
saved = true;
|
saved = true;
|
||||||
if(!Core.settings.getBool("landscape")) Platform.instance.beginForceLandscape();
|
if(!Core.settings.getBool("landscape")) platform.beginForceLandscape();
|
||||||
editor.clearOp();
|
editor.clearOp();
|
||||||
Core.scene.setScrollFocus(view);
|
Core.scene.setScrollFocus(view);
|
||||||
if(!shownWithMap){
|
if(!shownWithMap){
|
||||||
@@ -221,13 +220,13 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
}
|
}
|
||||||
shownWithMap = false;
|
shownWithMap = false;
|
||||||
|
|
||||||
Time.runTask(10f, Platform.instance::updateRPC);
|
Time.runTask(10f, platform::updateRPC);
|
||||||
});
|
});
|
||||||
|
|
||||||
hidden(() -> {
|
hidden(() -> {
|
||||||
editor.clearOp();
|
editor.clearOp();
|
||||||
Platform.instance.updateRPC();
|
platform.updateRPC();
|
||||||
if(!Core.settings.getBool("landscape")) Platform.instance.endForceLandscape();
|
if(!Core.settings.getBool("landscape")) platform.endForceLandscape();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,11 +285,11 @@ public class MapEditorDialog extends Dialog implements Disposable{
|
|||||||
infoDialog.show();
|
infoDialog.show();
|
||||||
Core.app.post(() -> ui.showError("$editor.save.noname"));
|
Core.app.post(() -> ui.showError("$editor.save.noname"));
|
||||||
}else{
|
}else{
|
||||||
Map map = world.maps.all().find(m -> m.name().equals(name));
|
Map map = maps.all().find(m -> m.name().equals(name));
|
||||||
if(map != null && !map.custom){
|
if(map != null && !map.custom){
|
||||||
handleSaveBuiltin(map);
|
handleSaveBuiltin(map);
|
||||||
}else{
|
}else{
|
||||||
world.maps.saveMap(editor.getTags());
|
maps.saveMap(editor.getTags());
|
||||||
ui.showInfoFade("$editor.saved");
|
ui.showInfoFade("$editor.saved");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
|||||||
}).size(160f, 64f);
|
}).size(160f, 64f);
|
||||||
}else{
|
}else{
|
||||||
buttons.addButton("$settings.reset", () -> {
|
buttons.addButton("$settings.reset", () -> {
|
||||||
filters.set(world.maps.readFilters(""));
|
filters.set(maps.readFilters(""));
|
||||||
rebuildFilters();
|
rebuildFilters();
|
||||||
update();
|
update();
|
||||||
}).size(160f, 64f);
|
}).size(160f, 64f);
|
||||||
@@ -304,7 +304,7 @@ public class MapGenerateDialog extends FloatingDialog{
|
|||||||
}
|
}
|
||||||
|
|
||||||
selection.cont.addButton("$filter.defaultores", () -> {
|
selection.cont.addButton("$filter.defaultores", () -> {
|
||||||
world.maps.addDefaultOres(filters);
|
maps.addDefaultOres(filters);
|
||||||
rebuildFilters();
|
rebuildFilters();
|
||||||
update();
|
update();
|
||||||
selection.hide();
|
selection.hide();
|
||||||
|
|||||||
@@ -4,13 +4,10 @@ import io.anuke.arc.*;
|
|||||||
import io.anuke.arc.collection.*;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.scene.ui.*;
|
import io.anuke.arc.scene.ui.*;
|
||||||
import io.anuke.mindustry.*;
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.core.*;
|
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.io.*;
|
import io.anuke.mindustry.io.*;
|
||||||
import io.anuke.mindustry.ui.dialogs.*;
|
import io.anuke.mindustry.ui.dialogs.*;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.world;
|
|
||||||
|
|
||||||
public class MapInfoDialog extends FloatingDialog{
|
public class MapInfoDialog extends FloatingDialog{
|
||||||
private final MapEditor editor;
|
private final MapEditor editor;
|
||||||
private final WaveInfoDialog waveInfo;
|
private final WaveInfoDialog waveInfo;
|
||||||
@@ -70,7 +67,7 @@ public class MapInfoDialog extends FloatingDialog{
|
|||||||
t.row();
|
t.row();
|
||||||
t.add("$editor.generation").padRight(8).left();
|
t.add("$editor.generation").padRight(8).left();
|
||||||
t.addButton("$edit",
|
t.addButton("$edit",
|
||||||
() -> generate.show(world.maps.readFilters(editor.getTags().get("genfilters", "")),
|
() -> generate.show(Vars.maps.readFilters(editor.getTags().get("genfilters", "")),
|
||||||
filters -> editor.getTags().put("genfilters", JsonIO.write(filters)))
|
filters -> editor.getTags().put("genfilters", JsonIO.write(filters)))
|
||||||
).left().width(200f);
|
).left().width(200f);
|
||||||
|
|
||||||
@@ -78,9 +75,9 @@ public class MapInfoDialog extends FloatingDialog{
|
|||||||
description.change();
|
description.change();
|
||||||
author.change();
|
author.change();
|
||||||
|
|
||||||
Platform.instance.addDialog(name, 50);
|
Vars.platform.addDialog(name, 50);
|
||||||
Platform.instance.addDialog(author, 50);
|
Vars.platform.addDialog(author, 50);
|
||||||
Platform.instance.addDialog(description, 1000);
|
Vars.platform.addDialog(description, 1000);
|
||||||
t.margin(16f);
|
t.margin(16f);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
package io.anuke.mindustry.editor;
|
package io.anuke.mindustry.editor;
|
||||||
|
|
||||||
import io.anuke.arc.function.Consumer;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.scene.ui.*;
|
import io.anuke.arc.scene.ui.*;
|
||||||
import io.anuke.arc.scene.ui.layout.Table;
|
import io.anuke.arc.scene.ui.layout.*;
|
||||||
import io.anuke.arc.util.Scaling;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.maps.Map;
|
import io.anuke.mindustry.maps.*;
|
||||||
import io.anuke.mindustry.ui.BorderImage;
|
import io.anuke.mindustry.ui.*;
|
||||||
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
|
import io.anuke.mindustry.ui.dialogs.*;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.world;
|
import static io.anuke.mindustry.Vars.maps;
|
||||||
|
|
||||||
public class MapLoadDialog extends FloatingDialog{
|
public class MapLoadDialog extends FloatingDialog{
|
||||||
private Map selected = null;
|
private Map selected = null;
|
||||||
@@ -17,7 +17,6 @@ public class MapLoadDialog extends FloatingDialog{
|
|||||||
super("$editor.loadmap");
|
super("$editor.loadmap");
|
||||||
|
|
||||||
shown(this::rebuild);
|
shown(this::rebuild);
|
||||||
rebuild();
|
|
||||||
|
|
||||||
TextButton button = new TextButton("$load");
|
TextButton button = new TextButton("$load");
|
||||||
button.setDisabled(() -> selected == null);
|
button.setDisabled(() -> selected == null);
|
||||||
@@ -35,8 +34,8 @@ public class MapLoadDialog extends FloatingDialog{
|
|||||||
|
|
||||||
public void rebuild(){
|
public void rebuild(){
|
||||||
cont.clear();
|
cont.clear();
|
||||||
if(world.maps.all().size > 0){
|
if(maps.all().size > 0){
|
||||||
selected = world.maps.all().first();
|
selected = maps.all().first();
|
||||||
}
|
}
|
||||||
|
|
||||||
ButtonGroup<TextButton> group = new ButtonGroup<>();
|
ButtonGroup<TextButton> group = new ButtonGroup<>();
|
||||||
@@ -52,7 +51,7 @@ public class MapLoadDialog extends FloatingDialog{
|
|||||||
ScrollPane pane = new ScrollPane(table, "horizontal");
|
ScrollPane pane = new ScrollPane(table, "horizontal");
|
||||||
pane.setFadeScrollBars(false);
|
pane.setFadeScrollBars(false);
|
||||||
|
|
||||||
for(Map map : world.maps.all()){
|
for(Map map : maps.all()){
|
||||||
|
|
||||||
TextButton button = new TextButton(map.name(), "toggle");
|
TextButton button = new TextButton(map.name(), "toggle");
|
||||||
button.add(new BorderImage(map.texture, 2f).setScaling(Scaling.fit)).size(16 * 4f);
|
button.add(new BorderImage(map.texture, 2f).setScaling(Scaling.fit)).size(16 * 4f);
|
||||||
@@ -64,7 +63,7 @@ public class MapLoadDialog extends FloatingDialog{
|
|||||||
if(++i % maxcol == 0) table.row();
|
if(++i % maxcol == 0) table.row();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(world.maps.all().size == 0){
|
if(maps.all().size == 0){
|
||||||
table.add("$maps.none").center();
|
table.add("$maps.none").center();
|
||||||
}else{
|
}else{
|
||||||
cont.add("$editor.loadmap");
|
cont.add("$editor.loadmap");
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import io.anuke.arc.graphics.Texture;
|
|||||||
import io.anuke.arc.graphics.g2d.Draw;
|
import io.anuke.arc.graphics.g2d.Draw;
|
||||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.Mathf;
|
||||||
import io.anuke.arc.util.Disposable;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.content.Blocks;
|
import io.anuke.mindustry.content.Blocks;
|
||||||
import io.anuke.mindustry.game.Team;
|
import io.anuke.mindustry.game.Team;
|
||||||
import io.anuke.mindustry.graphics.IndexedRenderer;
|
import io.anuke.mindustry.graphics.IndexedRenderer;
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
package io.anuke.mindustry.editor;
|
package io.anuke.mindustry.editor;
|
||||||
|
|
||||||
import io.anuke.arc.function.Consumer;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.scene.ui.TextButton;
|
import io.anuke.arc.scene.ui.*;
|
||||||
import io.anuke.arc.scene.ui.TextField;
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.core.Platform;
|
import io.anuke.mindustry.maps.*;
|
||||||
import io.anuke.mindustry.maps.Map;
|
import io.anuke.mindustry.ui.dialogs.*;
|
||||||
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
|
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.ui;
|
import static io.anuke.mindustry.Vars.ui;
|
||||||
import static io.anuke.mindustry.Vars.world;
|
|
||||||
|
|
||||||
public class MapSaveDialog extends FloatingDialog{
|
public class MapSaveDialog extends FloatingDialog{
|
||||||
private TextField field;
|
private TextField field;
|
||||||
@@ -19,12 +17,12 @@ public class MapSaveDialog extends FloatingDialog{
|
|||||||
field = new TextField();
|
field = new TextField();
|
||||||
listener = cons;
|
listener = cons;
|
||||||
|
|
||||||
Platform.instance.addDialog(field);
|
Vars.platform.addDialog(field);
|
||||||
|
|
||||||
shown(() -> {
|
shown(() -> {
|
||||||
cont.clear();
|
cont.clear();
|
||||||
cont.label(() -> {
|
cont.label(() -> {
|
||||||
Map map = world.maps.byName(field.getText());
|
Map map = Vars.maps.byName(field.getText());
|
||||||
if(map != null){
|
if(map != null){
|
||||||
if(map.custom){
|
if(map.custom){
|
||||||
return "$editor.overwrite";
|
return "$editor.overwrite";
|
||||||
@@ -69,7 +67,7 @@ public class MapSaveDialog extends FloatingDialog{
|
|||||||
if(field.getText().isEmpty()){
|
if(field.getText().isEmpty()){
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
Map map = world.maps.byName(field.getText());
|
Map map = Vars.maps.byName(field.getText());
|
||||||
return map != null && !map.custom;
|
return map != null && !map.custom;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,13 +52,13 @@ public class WaveInfoDialog extends FloatingDialog{
|
|||||||
dialog.cont.defaults().size(210f, 64f);
|
dialog.cont.defaults().size(210f, 64f);
|
||||||
dialog.cont.addButton("$waves.copy", () -> {
|
dialog.cont.addButton("$waves.copy", () -> {
|
||||||
ui.showInfoFade("$waves.copied");
|
ui.showInfoFade("$waves.copied");
|
||||||
Core.app.setClipboardText(world.maps.writeWaves(groups));
|
Core.app.setClipboardText(maps.writeWaves(groups));
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
}).disabled(b -> groups == null);
|
}).disabled(b -> groups == null);
|
||||||
dialog.cont.row();
|
dialog.cont.row();
|
||||||
dialog.cont.addButton("$waves.load", () -> {
|
dialog.cont.addButton("$waves.load", () -> {
|
||||||
try{
|
try{
|
||||||
groups = world.maps.readWaves(Core.app.getClipboardText());
|
groups = maps.readWaves(Core.app.getClipboardText());
|
||||||
buildGroups();
|
buildGroups();
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
ui.showError("$waves.invalid");
|
ui.showError("$waves.invalid");
|
||||||
|
|||||||
@@ -1,89 +1,33 @@
|
|||||||
package io.anuke.mindustry.entities;
|
package io.anuke.mindustry.entities;
|
||||||
|
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.collection.Array;
|
import io.anuke.mindustry.entities.traits.*;
|
||||||
import io.anuke.arc.collection.IntMap;
|
|
||||||
import io.anuke.arc.function.Consumer;
|
|
||||||
import io.anuke.arc.function.Predicate;
|
|
||||||
import io.anuke.arc.graphics.Camera;
|
|
||||||
import io.anuke.arc.math.geom.Rectangle;
|
|
||||||
import io.anuke.mindustry.entities.traits.DrawTrait;
|
|
||||||
import io.anuke.mindustry.entities.traits.Entity;
|
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.collisions;
|
|
||||||
|
|
||||||
|
/** Simple container for managing entity groups.*/
|
||||||
public class Entities{
|
public class Entities{
|
||||||
private static final Array<EntityGroup<?>> groupArray = new Array<>();
|
private final Array<EntityGroup<?>> groupArray = new Array<>();
|
||||||
private static final IntMap<EntityGroup<?>> groups = new IntMap<>();
|
|
||||||
private static final Rectangle viewport = new Rectangle();
|
|
||||||
private static final boolean clip = true;
|
|
||||||
private static int count = 0;
|
|
||||||
|
|
||||||
public static void clear(){
|
public void clear(){
|
||||||
for(EntityGroup group : groupArray){
|
for(EntityGroup group : groupArray){
|
||||||
group.clear();
|
group.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static EntityGroup<?> getGroup(int id){
|
public EntityGroup<?> get(int id){
|
||||||
return groups.get(id);
|
return groupArray.get(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Array<EntityGroup<?>> getAllGroups(){
|
public Array<EntityGroup<?>> all(){
|
||||||
return groupArray;
|
return groupArray;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends Entity> EntityGroup<T> addGroup(Class<T> type){
|
public <T extends Entity> EntityGroup<T> add(Class<T> type){
|
||||||
return addGroup(type, true);
|
return add(type, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static <T extends Entity> EntityGroup<T> addGroup(Class<T> type, boolean useTree){
|
public <T extends Entity> EntityGroup<T> add(Class<T> type, boolean useTree){
|
||||||
EntityGroup<T> group = new EntityGroup<>(type, useTree);
|
EntityGroup<T> group = new EntityGroup<>(groupArray.size, type, useTree);
|
||||||
groups.put(group.getID(), group);
|
|
||||||
groupArray.add(group);
|
groupArray.add(group);
|
||||||
return group;
|
return group;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void update(EntityGroup<?> group){
|
|
||||||
group.updateEvents();
|
|
||||||
|
|
||||||
if(group.useTree()){
|
|
||||||
collisions.updatePhysics(group);
|
|
||||||
}
|
|
||||||
|
|
||||||
for(Entity e : group.all()){
|
|
||||||
e.update();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static int countInBounds(EntityGroup<?> group){
|
|
||||||
count = 0;
|
|
||||||
draw(group, e -> true, e -> count++);
|
|
||||||
return count;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void draw(EntityGroup<?> group){
|
|
||||||
draw(group, e -> true);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static <T extends DrawTrait> void draw(EntityGroup<?> group, Predicate<T> toDraw){
|
|
||||||
draw(group, toDraw, DrawTrait::draw);
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public static <T extends DrawTrait> void draw(EntityGroup<?> group, Predicate<T> toDraw, Consumer<T> cons){
|
|
||||||
if(clip){
|
|
||||||
Camera cam = Core.camera;
|
|
||||||
viewport.set(cam.position.x - cam.width / 2, cam.position.y - cam.height / 2, cam.width, cam.height);
|
|
||||||
}
|
|
||||||
|
|
||||||
for(Entity e : group.all()){
|
|
||||||
if(!(e instanceof DrawTrait) || !toDraw.test((T)e) || !e.isAdded()) continue;
|
|
||||||
DrawTrait draw = (DrawTrait)e;
|
|
||||||
|
|
||||||
if(!clip || viewport.overlaps(draw.getX() - draw.drawSize()/2f, draw.getY() - draw.drawSize()/2f, draw.drawSize(), draw.drawSize())){
|
|
||||||
cons.accept((T)e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,30 +1,34 @@
|
|||||||
package io.anuke.mindustry.entities;
|
package io.anuke.mindustry.entities;
|
||||||
|
|
||||||
import io.anuke.arc.collection.Array;
|
import io.anuke.arc.*;
|
||||||
import io.anuke.arc.collection.IntMap;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.function.Consumer;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.function.Predicate;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.math.geom.QuadTree;
|
import io.anuke.arc.math.geom.*;
|
||||||
import io.anuke.arc.math.geom.Rectangle;
|
import io.anuke.mindustry.entities.traits.*;
|
||||||
import io.anuke.arc.util.*;
|
|
||||||
import io.anuke.mindustry.entities.traits.Entity;
|
|
||||||
|
|
||||||
|
import static io.anuke.mindustry.Vars.collisions;
|
||||||
|
|
||||||
|
/** Represents a group of a certain type of entity.*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
public class EntityGroup<T extends Entity>{
|
public class EntityGroup<T extends Entity>{
|
||||||
private static int lastid;
|
|
||||||
private final boolean useTree;
|
private final boolean useTree;
|
||||||
private final int id;
|
private final int id;
|
||||||
private final Class<T> type;
|
private final Class<T> type;
|
||||||
private final Array<T> entityArray = new Array<>(false, 16);
|
private final Array<T> entityArray = new Array<>(false, 32);
|
||||||
private final Array<T> entitiesToRemove = new Array<>(false, 16);
|
private final Array<T> entitiesToRemove = new Array<>(false, 32);
|
||||||
private final Array<T> entitiesToAdd = new Array<>(false, 16);
|
private final Array<T> entitiesToAdd = new Array<>(false, 32);
|
||||||
private IntMap<T> map;
|
private IntMap<T> map;
|
||||||
private QuadTree tree;
|
private QuadTree tree;
|
||||||
private Consumer<T> removeListener;
|
private Consumer<T> removeListener;
|
||||||
private Consumer<T> addListener;
|
private Consumer<T> addListener;
|
||||||
|
|
||||||
public EntityGroup(Class<T> type, boolean useTree){
|
private final Rectangle viewport = new Rectangle();
|
||||||
|
private int count = 0;
|
||||||
|
|
||||||
|
public EntityGroup(int id, Class<T> type, boolean useTree){
|
||||||
this.useTree = useTree;
|
this.useTree = useTree;
|
||||||
this.id = lastid++;
|
this.id = id;
|
||||||
this.type = type;
|
this.type = type;
|
||||||
|
|
||||||
if(useTree){
|
if(useTree){
|
||||||
@@ -32,6 +36,46 @@ public class EntityGroup<T extends Entity>{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void update(){
|
||||||
|
updateEvents();
|
||||||
|
|
||||||
|
if(useTree()){
|
||||||
|
collisions.updatePhysics(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(Entity e : all()){
|
||||||
|
e.update();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public int countInBounds(){
|
||||||
|
count = 0;
|
||||||
|
draw(e -> true, e -> count++);
|
||||||
|
return count;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void draw(){
|
||||||
|
draw(e -> true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void draw(Predicate<T> toDraw){
|
||||||
|
draw(toDraw, t -> ((DrawTrait)t).draw());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void draw(Predicate<T> toDraw, Consumer<T> cons){
|
||||||
|
Camera cam = Core.camera;
|
||||||
|
viewport.set(cam.position.x - cam.width / 2, cam.position.y - cam.height / 2, cam.width, cam.height);
|
||||||
|
|
||||||
|
for(Entity e : all()){
|
||||||
|
if(!(e instanceof DrawTrait) || !toDraw.test((T)e) || !e.isAdded()) continue;
|
||||||
|
DrawTrait draw = (DrawTrait)e;
|
||||||
|
|
||||||
|
if(viewport.overlaps(draw.getX() - draw.drawSize()/2f, draw.getY() - draw.drawSize()/2f, draw.drawSize(), draw.drawSize())){
|
||||||
|
cons.accept((T)e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean useTree(){
|
public boolean useTree(){
|
||||||
return useTree;
|
return useTree;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,13 +68,13 @@ public class Units{
|
|||||||
|
|
||||||
/** Returns the neareset damaged tile. */
|
/** Returns the neareset damaged tile. */
|
||||||
public static TileEntity findDamagedTile(Team team, float x, float y){
|
public static TileEntity findDamagedTile(Team team, float x, float y){
|
||||||
Tile tile = Geometry.findClosest(x, y, world.indexer.getDamaged(team));
|
Tile tile = Geometry.findClosest(x, y, indexer.getDamaged(team));
|
||||||
return tile == null ? null : tile.entity;
|
return tile == null ? null : tile.entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the neareset ally tile in a range. */
|
/** Returns the neareset ally tile in a range. */
|
||||||
public static TileEntity findAllyTile(Team team, float x, float y, float range, Predicate<Tile> pred){
|
public static TileEntity findAllyTile(Team team, float x, float y, float range, Predicate<Tile> pred){
|
||||||
return world.indexer.findTile(team, x, y, range, pred);
|
return indexer.findTile(team, x, y, range, pred);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Returns the neareset enemy tile in a range. */
|
/** Returns the neareset enemy tile in a range. */
|
||||||
@@ -82,7 +82,7 @@ public class Units{
|
|||||||
if(team == Team.derelict) return null;
|
if(team == Team.derelict) return null;
|
||||||
|
|
||||||
for(Team enemy : state.teams.enemiesOf(team)){
|
for(Team enemy : state.teams.enemiesOf(team)){
|
||||||
TileEntity entity = world.indexer.findTile(enemy, x, y, range, pred);
|
TileEntity entity = indexer.findTile(enemy, x, y, range, pred);
|
||||||
if(entity != null){
|
if(entity != null){
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,9 +101,8 @@ public interface BuilderTrait extends Entity, TeamTrait{
|
|||||||
unit.rotation = Mathf.slerpDelta(unit.rotation, unit.angleTo(entity), 0.4f);
|
unit.rotation = Mathf.slerpDelta(unit.rotation, unit.angleTo(entity), 0.4f);
|
||||||
}
|
}
|
||||||
|
|
||||||
//deconstructing is 2x as fast
|
|
||||||
if(current.breaking){
|
if(current.breaking){
|
||||||
entity.deconstruct(unit, core, 2f / entity.buildCost * Time.delta() * getBuildPower(tile) * state.rules.buildSpeedMultiplier);
|
entity.deconstruct(unit, core, 1f / entity.buildCost * Time.delta() * getBuildPower(tile) * state.rules.buildSpeedMultiplier);
|
||||||
}else{
|
}else{
|
||||||
entity.construct(unit, core, 1f / entity.buildCost * Time.delta() * getBuildPower(tile) * state.rules.buildSpeedMultiplier);
|
entity.construct(unit, core, 1f / entity.buildCost * Time.delta() * getBuildPower(tile) * state.rules.buildSpeedMultiplier);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,10 @@ public interface HealthTrait{
|
|||||||
default void onDeath(){
|
default void onDeath(){
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default boolean damaged(){
|
||||||
|
return health() < maxHealth() - 0.0001f;
|
||||||
|
}
|
||||||
|
|
||||||
default void damage(float amount){
|
default void damage(float amount){
|
||||||
health(health() - amount);
|
health(health() - amount);
|
||||||
if(health() <= 0 && !isDead()){
|
if(health() <= 0 && !isDead()){
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import io.anuke.mindustry.gen.*;
|
|||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.type.*;
|
import io.anuke.mindustry.type.*;
|
||||||
import io.anuke.mindustry.world.*;
|
import io.anuke.mindustry.world.*;
|
||||||
|
import io.anuke.mindustry.world.blocks.units.CommandCenter.*;
|
||||||
import io.anuke.mindustry.world.blocks.units.UnitFactory.*;
|
import io.anuke.mindustry.world.blocks.units.UnitFactory.*;
|
||||||
import io.anuke.mindustry.world.meta.*;
|
import io.anuke.mindustry.world.meta.*;
|
||||||
|
|
||||||
@@ -25,7 +26,6 @@ import static io.anuke.mindustry.Vars.*;
|
|||||||
|
|
||||||
/** Base class for AI units. */
|
/** Base class for AI units. */
|
||||||
public abstract class BaseUnit extends Unit implements ShooterTrait{
|
public abstract class BaseUnit extends Unit implements ShooterTrait{
|
||||||
|
|
||||||
protected static int timerIndex = 0;
|
protected static int timerIndex = 0;
|
||||||
|
|
||||||
protected static final int timerTarget = timerIndex++;
|
protected static final int timerTarget = timerIndex++;
|
||||||
@@ -83,6 +83,22 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{
|
|||||||
return world.tile(spawner);
|
return world.tile(spawner);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isCommanded(){
|
||||||
|
return indexer.getAllied(team, BlockFlag.comandCenter).size != 0 && indexer.getAllied(team, BlockFlag.comandCenter).first().entity instanceof CommandCenterEntity;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UnitCommand getCommand(){
|
||||||
|
if(isCommanded()){
|
||||||
|
return indexer.getAllied(team, BlockFlag.comandCenter).first().<CommandCenterEntity>entity().command;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**Called when a command is recieved from the command center.*/
|
||||||
|
public void onCommand(UnitCommand command){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/** Initialize the type and team of this unit. Only call once! */
|
/** Initialize the type and team of this unit. Only call once! */
|
||||||
public void init(UnitType type, Team team){
|
public void init(UnitType type, Team team){
|
||||||
if(this.type != null) throw new RuntimeException("This unit is already initialized!");
|
if(this.type != null) throw new RuntimeException("This unit is already initialized!");
|
||||||
@@ -129,12 +145,12 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void targetClosestAllyFlag(BlockFlag flag){
|
public void targetClosestAllyFlag(BlockFlag flag){
|
||||||
Tile target = Geometry.findClosest(x, y, world.indexer.getAllied(team, flag));
|
Tile target = Geometry.findClosest(x, y, indexer.getAllied(team, flag));
|
||||||
if(target != null) this.target = target.entity;
|
if(target != null) this.target = target.entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void targetClosestEnemyFlag(BlockFlag flag){
|
public void targetClosestEnemyFlag(BlockFlag flag){
|
||||||
Tile target = Geometry.findClosest(x, y, world.indexer.getEnemy(team, flag));
|
Tile target = Geometry.findClosest(x, y, indexer.getEnemy(team, flag));
|
||||||
if(target != null) this.target = target.entity;
|
if(target != null) this.target = target.entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -303,6 +319,10 @@ public abstract class BaseUnit extends Unit implements ShooterTrait{
|
|||||||
state.set(getStartState());
|
state.set(getStartState());
|
||||||
|
|
||||||
health(maxHealth());
|
health(maxHealth());
|
||||||
|
|
||||||
|
if(isCommanded()){
|
||||||
|
onCommand(getCommand());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,20 +1,19 @@
|
|||||||
package io.anuke.mindustry.entities.type;
|
package io.anuke.mindustry.entities.type;
|
||||||
|
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.graphics.g2d.Draw;
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
import io.anuke.arc.graphics.g2d.Fill;
|
import io.anuke.arc.math.*;
|
||||||
import io.anuke.arc.math.Angles;
|
import io.anuke.arc.math.geom.*;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.math.geom.Vector2;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.arc.util.Time;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.arc.util.Tmp;
|
import io.anuke.mindustry.entities.units.*;
|
||||||
import io.anuke.mindustry.entities.Predict;
|
import io.anuke.mindustry.graphics.*;
|
||||||
import io.anuke.mindustry.entities.Units;
|
import io.anuke.mindustry.net.*;
|
||||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
import io.anuke.mindustry.world.*;
|
||||||
import io.anuke.mindustry.entities.units.UnitState;
|
import io.anuke.mindustry.world.meta.*;
|
||||||
import io.anuke.mindustry.graphics.Pal;
|
|
||||||
import io.anuke.mindustry.net.Net;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import io.anuke.mindustry.world.meta.BlockFlag;
|
|
||||||
|
|
||||||
public abstract class FlyingUnit extends BaseUnit{
|
public abstract class FlyingUnit extends BaseUnit{
|
||||||
protected float[] weaponAngles = {0, 0};
|
protected float[] weaponAngles = {0, 0};
|
||||||
@@ -80,14 +79,40 @@ public abstract class FlyingUnit extends BaseUnit{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
target = getClosestCore();
|
target = getSpawner();
|
||||||
};
|
if(target == null) target = getClosestCore();
|
||||||
|
}
|
||||||
|
|
||||||
if(target != null){
|
if(target != null){
|
||||||
circle(60f + Mathf.absin(Time.time() + Mathf.randomSeed(id) * 1200f, 70f, 1200f));
|
circle(80f + Mathf.randomSeed(id) * 120);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
},
|
||||||
|
retreat = new UnitState(){
|
||||||
|
public void entered(){
|
||||||
|
target = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update(){
|
||||||
|
if(retarget()){
|
||||||
|
target = getSpawner();
|
||||||
|
|
||||||
|
Tile repair = Geometry.findClosest(x, y, indexer.getAllied(team, BlockFlag.repair));
|
||||||
|
if(repair != null && damaged()) FlyingUnit.this.target = repair.entity;
|
||||||
|
if(target == null) target = getClosestCore();
|
||||||
|
}
|
||||||
|
|
||||||
|
circle(targetHasFlag(BlockFlag.repair) ? 20f : 60f + Mathf.randomSeed(id) * 50, 0.65f * type.speed);
|
||||||
|
}
|
||||||
|
};;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(UnitCommand command){
|
||||||
|
state.set(command == UnitCommand.retreat ? retreat :
|
||||||
|
command == UnitCommand.attack ? attack :
|
||||||
|
command == UnitCommand.patrol ? patrol :
|
||||||
|
null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void move(float x, float y){
|
public void move(float x, float y){
|
||||||
|
|||||||
@@ -1,22 +1,20 @@
|
|||||||
package io.anuke.mindustry.entities.type;
|
package io.anuke.mindustry.entities.type;
|
||||||
|
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.*;
|
||||||
import io.anuke.arc.graphics.g2d.Draw;
|
import io.anuke.arc.graphics.g2d.*;
|
||||||
import io.anuke.arc.math.Angles;
|
import io.anuke.arc.math.*;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.geom.*;
|
||||||
import io.anuke.arc.math.geom.Vector2;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.util.Time;
|
import io.anuke.mindustry.*;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.Predict;
|
import io.anuke.mindustry.entities.bullet.*;
|
||||||
import io.anuke.mindustry.entities.Units;
|
import io.anuke.mindustry.entities.units.*;
|
||||||
import io.anuke.mindustry.entities.bullet.BulletType;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.entities.units.UnitState;
|
import io.anuke.mindustry.type.*;
|
||||||
import io.anuke.mindustry.game.Team;
|
import io.anuke.mindustry.world.*;
|
||||||
import io.anuke.mindustry.type.Weapon;
|
import io.anuke.mindustry.world.blocks.*;
|
||||||
import io.anuke.mindustry.world.Tile;
|
|
||||||
import io.anuke.mindustry.world.blocks.Floor;
|
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.world;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
public abstract class GroundUnit extends BaseUnit{
|
public abstract class GroundUnit extends BaseUnit{
|
||||||
protected static Vector2 vec = new Vector2();
|
protected static Vector2 vec = new Vector2();
|
||||||
@@ -63,8 +61,25 @@ public abstract class GroundUnit extends BaseUnit{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
retreat = new UnitState(){
|
||||||
|
public void entered(){
|
||||||
|
target = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void update(){
|
||||||
|
moveAwayFromCore();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCommand(UnitCommand command){
|
||||||
|
state.set(command == UnitCommand.retreat ? retreat :
|
||||||
|
command == UnitCommand.attack ? attack :
|
||||||
|
command == UnitCommand.patrol ? patrol :
|
||||||
|
null);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void interpolate(){
|
public void interpolate(){
|
||||||
super.interpolate();
|
super.interpolate();
|
||||||
@@ -182,9 +197,9 @@ public abstract class GroundUnit extends BaseUnit{
|
|||||||
protected void patrol(){
|
protected void patrol(){
|
||||||
vec.trns(baseRotation, type.speed * Time.delta());
|
vec.trns(baseRotation, type.speed * Time.delta());
|
||||||
velocity.add(vec.x, vec.y);
|
velocity.add(vec.x, vec.y);
|
||||||
vec.trns(baseRotation, type.hitsizeTile * 3);
|
vec.trns(baseRotation, type.hitsizeTile * 5);
|
||||||
Tile tile = world.tileWorld(x + vec.x, y + vec.y);
|
Tile tile = world.tileWorld(x + vec.x, y + vec.y);
|
||||||
if((tile == null || tile.solid() || tile.floor().drownTime > 0) || stuckTime > 10f){
|
if((tile == null || tile.solid() || tile.floor().drownTime > 0 || tile.floor().isLiquid) || stuckTime > 10f){
|
||||||
baseRotation += Mathf.sign(id % 2 - 0.5f) * Time.delta() * 3f;
|
baseRotation += Mathf.sign(id % 2 - 0.5f) * Time.delta() * 3f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,7 +223,7 @@ public abstract class GroundUnit extends BaseUnit{
|
|||||||
protected void moveToCore(){
|
protected void moveToCore(){
|
||||||
Tile tile = world.tileWorld(x, y);
|
Tile tile = world.tileWorld(x, y);
|
||||||
if(tile == null) return;
|
if(tile == null) return;
|
||||||
Tile targetTile = world.pathfinder.getTargetTile(team, tile);
|
Tile targetTile = pathfinder.getTargetTile(team, tile);
|
||||||
|
|
||||||
if(tile == targetTile) return;
|
if(tile == targetTile) return;
|
||||||
|
|
||||||
@@ -231,10 +246,10 @@ public abstract class GroundUnit extends BaseUnit{
|
|||||||
|
|
||||||
Tile tile = world.tileWorld(x, y);
|
Tile tile = world.tileWorld(x, y);
|
||||||
if(tile == null) return;
|
if(tile == null) return;
|
||||||
Tile targetTile = world.pathfinder.getTargetTile(enemy, tile);
|
Tile targetTile = pathfinder.getTargetTile(enemy, tile);
|
||||||
TileEntity core = getClosestCore();
|
TileEntity core = getClosestCore();
|
||||||
|
|
||||||
if(tile == targetTile || core == null || dst(core) < 90f) return;
|
if(tile == targetTile || core == null || dst(core) < 120f) return;
|
||||||
|
|
||||||
velocity.add(vec.trns(angleTo(targetTile), type.speed * Time.delta()));
|
velocity.add(vec.trns(angleTo(targetTile), type.speed * Time.delta()));
|
||||||
rotation = Mathf.slerpDelta(rotation, baseRotation, type.rotatespeed);
|
rotation = Mathf.slerpDelta(rotation, baseRotation, type.rotatespeed);
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import io.anuke.arc.util.*;
|
|||||||
import io.anuke.arc.util.pooling.Pools;
|
import io.anuke.arc.util.pooling.Pools;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.Vars;
|
||||||
import io.anuke.mindustry.content.*;
|
import io.anuke.mindustry.content.*;
|
||||||
|
import io.anuke.mindustry.core.*;
|
||||||
import io.anuke.mindustry.entities.*;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.traits.*;
|
import io.anuke.mindustry.entities.traits.*;
|
||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
@@ -731,7 +732,7 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
|
|||||||
target = Units.closestTarget(team, x, y, getWeapon().bullet.range(), u -> u.getTeam() != Team.derelict, u -> u.getTeam() != Team.derelict);
|
target = Units.closestTarget(team, x, y, getWeapon().bullet.range(), u -> u.getTeam() != Team.derelict, u -> u.getTeam() != Team.derelict);
|
||||||
|
|
||||||
if(mech.canHeal && target == null){
|
if(mech.canHeal && target == null){
|
||||||
target = Geometry.findClosest(x, y, world.indexer.getDamaged(Team.sharded));
|
target = Geometry.findClosest(x, y, indexer.getDamaged(Team.sharded));
|
||||||
if(target != null && dst(target) > getWeapon().bullet.range()){
|
if(target != null && dst(target) > getWeapon().bullet.range()){
|
||||||
target = null;
|
target = null;
|
||||||
}else if(target != null){
|
}else if(target != null){
|
||||||
@@ -774,6 +775,31 @@ public class Player extends Unit implements BuilderMinerTrait, ShooterTrait{
|
|||||||
|
|
||||||
//region utility methods
|
//region utility methods
|
||||||
|
|
||||||
|
public void sendMessage(String text){
|
||||||
|
if(isLocal){
|
||||||
|
if(Vars.ui != null){
|
||||||
|
Log.info("add " + text);
|
||||||
|
Vars.ui.chatfrag.addMessage(text, null);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
Call.sendMessage(con.id, text, null, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendMessage(String text, Player from){
|
||||||
|
sendMessage(text, from, NetClient.colorizeName(from.id, from.name));
|
||||||
|
}
|
||||||
|
|
||||||
|
public void sendMessage(String text, Player from, String fromName){
|
||||||
|
if(isLocal){
|
||||||
|
if(Vars.ui != null){
|
||||||
|
Vars.ui.chatfrag.addMessage(text, fromName);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
Call.sendMessage(con.id, text, fromName, from);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Resets all values of the player. */
|
/** Resets all values of the player. */
|
||||||
public void reset(){
|
public void reset(){
|
||||||
resetNoAdd();
|
resetNoAdd();
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{
|
|||||||
tile.entity.health = health;
|
tile.entity.health = health;
|
||||||
|
|
||||||
if(tile.entity.damaged()){
|
if(tile.entity.damaged()){
|
||||||
world.indexer.notifyTileDamaged(tile.entity);
|
indexer.notifyTileDamaged(tile.entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -171,14 +171,10 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(preHealth >= maxHealth() - 0.00001f && health < maxHealth() && world != null){ //when just damaged
|
if(preHealth >= maxHealth() - 0.00001f && health < maxHealth() && world != null){ //when just damaged
|
||||||
world.indexer.notifyTileDamaged(this);
|
indexer.notifyTileDamaged(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean damaged(){
|
|
||||||
return health < maxHealth() - 0.00001f;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Tile getTile(){
|
public Tile getTile(){
|
||||||
return tile;
|
return tile;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
|
|||||||
//apply knockback based on spawns
|
//apply knockback based on spawns
|
||||||
if(getTeam() != waveTeam){
|
if(getTeam() != waveTeam){
|
||||||
float relativeSize = state.rules.dropZoneRadius + getSize()/2f + 1f;
|
float relativeSize = state.rules.dropZoneRadius + getSize()/2f + 1f;
|
||||||
for(Tile spawn : world.spawner.getGroundSpawns()){
|
for(Tile spawn : spawner.getGroundSpawns()){
|
||||||
if(withinDst(spawn.worldx(), spawn.worldy(), relativeSize)){
|
if(withinDst(spawn.worldx(), spawn.worldy(), relativeSize)){
|
||||||
velocity.add(Tmp.v1.set(this).sub(spawn.worldx(), spawn.worldy()).setLength(0.1f + 1f - dst(spawn) / relativeSize).scl(0.45f * Time.delta()));
|
velocity.add(Tmp.v1.set(this).sub(spawn.worldx(), spawn.worldy()).setLength(0.1f + 1f - dst(spawn) / relativeSize).scl(0.45f * Time.delta()));
|
||||||
}
|
}
|
||||||
|
|||||||