diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index bd5e582e33..0000000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -name: Bug report -about: Create a report to help fix an issue. -title: '' -labels: bug -assignees: '' - ---- - -**Platform**: *Android/iOS/Mac/Windows/Linux* - -**Build**: *The build number under the title in the main menu. Required. "LATEST" IS NOT A VERSION, I NEED THE EXACT BUILD NUMBER OF YOUR GAME.* - -**Issue**: *Explain your issue in detail.* - -**Steps to reproduce**: *How you happened across the issue, and what exactly you did to make the bug happen.* - -**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.* - -**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME.* - -If you remove the line above without reading it properly and understanding what it means, I will reap your soul. Even if you're playing on someone's server, you can still save the game to a slot. - -**(Crash) logs**: *Either crash reports from the crash folder, or the file you get when you go into Settings -> Game Data -> Export Crash logs. REQUIRED if you are reporting a crash.* - ---- - -*Place an X (no spaces) between the brackets to confirm that you have read the line below.* -- [ ] **I have updated to the latest release (https://github.com/Anuken/Mindustry/releases) to make sure my issue has not been fixed.** -- [ ] **I have searched the closed and open issues to make sure that this problem has not already been reported.** diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000..53c3710077 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,76 @@ +name: Bug report +description: The type of device you were playing on +labels: ["bug"] + +body: + - type: dropdown + id: platform + attributes: + label: Platforms + description: On what platforms do you know the bug happens? + multiple: false + options: + - Android + - iOS + - Mac + - Windows + - Linux + validations: + required: true + - type: input + id: build + attributes: + label: Build + description: The build number under the title in the main menu. + placeholder: LATEST IS NOT A VERSION, I NEED THE EXACT BUILD NUMBER OF YOUR GAME. + validations: + required: true + - type: textarea + id: issue + attributes: + label: Issue + description: Explain your issue in detail. + validations: + required: true + - type: textarea + id: reproduction + attributes: + label: Steps to reproduce + description: How you happened across the issue, and what exactly you did to make the bug happen. + validations: + required: true + - type: textarea + id: mods + attributes: + label: Mods used + description: The mod repositories or zip files that are related to the issue, if applicable. + validations: + required: false + - type: textarea + id: save-file + attributes: + label: Save file + description: The (zipped) save file you were playing on when the bug happened. If this happened in the campaign, specify the sector, and attach the file you get from Settings -> Game Data -> Export Data. For custom games, attach the .msav file exported from the save dialog, zipped. + placeholder: THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME. IF YOU DO NOT HAVE A SAVE, DON'T WASTE TIME OPENING THIS ISSUE. + validations: + required: false + - type: textarea + id: logs + attributes: + label: (Crash) logs + description: Either crash reports from the crash folder, or the file you get when you go into Settings -> Game Data -> Export Crash logs. + placeholder: REQUIRED if you are reporting a crash. + validations: + required: false + - type: checkboxes + id: agreement + attributes: + label: Submission + description: Check the boxes to confirm that you have read the lines below. + options: + - label: I have updated to the latest release (https://github.com/Anuken/Mindustry/releases) to make sure my issue has not been fixed. + required: true + - label: I have searched the closed and open issues to make sure that this problem has not already been reported. + required: true + - label: "I am not using Foo's Client, and have made sure the bug is not caused by mods I have installed." + required: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..81d2a8c472 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,5 @@ +If your pull request is **not** translation or serverlist-related, read the list of requirements below and check each box: + +- [ ] I have read the [contribution guidelines](https://github.com/Anuken/Mindustry/blob/master/CONTRIBUTING.md). +- [ ] I have ensured that my code compiles, if applicable. +- [ ] I have ensured that any new features in this PR function correctly in-game, if applicable. diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index e98615e268..224a753d65 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -5,48 +5,78 @@ on: tags: - 'v*' +permissions: {} jobs: - buildJava14: + deploy: + permissions: + contents: write # for release creation (svenstaro/upload-release-action) + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Set up JDK 14 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 14 + java-version: 17 - name: Set env run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Add Arc release + run: | + git config --global user.email "actions@github.com" + git config --global user.name "Github Actions" + git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc + cd ../Arc + git tag ${RELEASE_VERSION} + git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION}; + cd ../Mindustry + - name: Update JITpack repo + run: | + cd ../ + cp -r ./Mindustry ./MindustryJitpack + cd MindustryJitpack + git config --global user.name "Github Actions" + git config --global user.email "actions@github.com" + git clone --depth 1 https://github.com/Anuken/MindustryJitpack.git + rm -rf .git + cp -r ./MindustryJitpack/.git ./.git + rm -rf MindustryJitpack + rm -rf .github + rm README.md + git add . + git commit --allow-empty -m "Updating" + git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack + git tag ${RELEASE_VERSION} + git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack + cd ../Mindustry - name: Create artifacts run: | - ./gradlew desktop:dist server:dist core:javadoc -Pbuildversion=${RELEASE_VERSION:1} + ./gradlew desktop:dist server:dist core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1} - name: Update docs run: | cd ../ git config --global user.email "cli@github.com" git config --global user.name "Github Actions" git clone --depth=1 https://github.com/MindustryGame/docs.git - cp -a Mindustry/core/build/docs/javadoc/. docs/ + cd docs + find . -maxdepth 1 ! -name ".git" ! -name . -exec rm -r {} \; + cd ../ + cp -a Mindustry/core/build/javadoc/. docs/ cd docs git add . - git commit -m "Update ${RELEASE_VERSION:1}" + git commit --allow-empty -m "Update ${RELEASE_VERSION:1}" git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs cd ../Mindustry - - name: Add Arc release - run: | - git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc - cd ../Arc - git tag ${RELEASE_VERSION} - git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION}; - cd ../Mindustry - name: Update F-Droid build string run: | git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds cd ../MindustryBuilds echo "Updating version to ${RELEASE_VERSION:1}" - echo versionName=6-fdroid-${RELEASE_VERSION:1}$'\n'versionCode=${RELEASE_VERSION:1} > version_fdroid.txt + BNUM=$(($GITHUB_RUN_NUMBER + 1000)) + echo versionName=7-fdroid-${RELEASE_VERSION:1}$'\n'versionCode=${BNUM} > version_fdroid.txt git add . git commit -m "Updating to build ${RELEASE_VERSION:1}" + git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds cd ../Mindustry - name: Upload client artifacts uses: svenstaro/upload-release-action@v2 diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml new file mode 100644 index 0000000000..95cce8bab6 --- /dev/null +++ b/.github/workflows/gradle-wrapper-validation.yml @@ -0,0 +1,10 @@ +name: "Validate Gradle Wrapper" +on: [push, pull_request] + +jobs: + validation: + name: "Validation" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: gradle/wrapper-validation-action@v2 diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 81cf1ff4e9..71185f740f 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -1,21 +1,28 @@ name: Pull Request Tests -on: [pull_request] +on: [pull_request, workflow_dispatch] + +permissions: + contents: read # to fetch code (actions/checkout) jobs: - buildJava14: + testPR: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Set up JDK 14 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 14 + java-version: 17 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Run unit tests + run: ./gradlew tests:test --stacktrace --rerun - name: Run unit tests and build JAR - run: ./gradlew test desktop:dist + run: ./gradlew desktop:dist - name: Upload desktop JAR for testing - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: Desktop JAR (zipped) path: desktop/build/libs/Mindustry.jar diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index 07ae6b09ab..cd593a6dfd 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -2,18 +2,16 @@ name: Tests on: [push, workflow_dispatch] +permissions: {} jobs: - buildJava14: + runPush: + permissions: + contents: write # for Update bundles + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - name: Set up JDK 14 - uses: actions/setup-java@v1 - with: - java-version: 14 - - name: Run unit tests - run: ./gradlew clean cleanTest test - name: Trigger BE build if: ${{ github.repository == 'Anuken/Mindustry' }} run: | @@ -21,5 +19,43 @@ jobs: cd ../MindustryBuilds BNUM=$(($GITHUB_RUN_NUMBER + 20000)) git tag ${BNUM} - git config --global user.name "Build Uploader" + git config --global user.name "Github Actions" git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryBuilds ${BNUM} + - name: Set up JDK 17 + uses: actions/setup-java@v1 + with: + java-version: 17 + - name: Setup Gradle + uses: gradle/gradle-build-action@v2 + - name: Update bundles + if: ${{ github.repository == 'Anuken/Mindustry' }} + run: | + ./gradlew updateBundles + + if [ -n "$(git status --porcelain)" ]; then + git config --global user.name "Github Actions" + git config --global user.email "actions@github.com" + git add core/assets/bundles/* + git commit -m "Automatic bundle update" + git push + fi + - name: Update JITpack repo + if: ${{ github.repository == 'Anuken/Mindustry' }} + run: | + git config --global user.name "Github Actions" + git config --global user.email "actions@github.com" + cd ../ + cp -r ./Mindustry ./MindustryJitpack + cd MindustryJitpack + git clone --depth 1 https://github.com/Anuken/MindustryJitpack.git + rm -rf .git + cp -r ./MindustryJitpack/.git ./.git + rm -rf MindustryJitpack + rm -rf .github + rm README.md + git add . + git commit --allow-empty -m "Updating" + git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack + cd ../Mindustry + - name: Run unit tests + run: ./gradlew tests:test --rerun --stacktrace diff --git a/.gitignore b/.gitignore index 471b909106..dd3f2a0f06 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ logs/ +/fastlane/metadata/android/en-US/changelogs/ /core/assets/mindustry-saves/ /core/assets/mindustry-maps/ /core/assets/bundles/output/ /core/assets/.gifimages/ /deploy/ /out/ +ios/libs/ /desktop/packr-out/ /desktop/packr-export/ /desktop/mindustry-saves/ @@ -42,7 +44,9 @@ steam_appid.txt ios/robovm.properties packr-out/ config/ +buildSrc/ *.gif +/tests/out /core/assets/basepartnames version.properties @@ -101,6 +105,10 @@ com_crashlytics_export_strings.xml .externalToolBuilders/ *.launch +## VSCode + +.vscode/ + ## NetBeans /nbproject/private/ @@ -156,3 +164,6 @@ gradle-app.setting .DS_Store Thumbs.db android/libs/ + +# ignored due to frequent branch conflicts. +core/assets/logicids.dat diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 64bd54bd56..99086e0da2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,9 +12,11 @@ Do not submit something without at least running the game to see if it compiles. If you are submitting a new block, make sure it has a name and description, and that it works correctly in-game. If you are changing existing block mechanics, test them out first. ### Do not make large changes before discussing them first. -If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) (preferred method) or via e-mail (*anukendev@gmail.com*). +If you are interested in adding a large mechanic/feature or changing large amounts of code, first contact me (Anuken) via [Discord](https://discord.gg/mindustry) - either via PM or by posting in the `#pulls` channel. For most changes, this should not be necessary. I just want to know if you're doing something big so I can offer advice and/or make sure you're not wasting your time on it. +### Do not make formatting PRs. +Yes, there are occurrences of trailing spaces, extra newlines, empty indents, and other tiny errors. No, I don't want to merge, view, or get notified by your 1-line PR fixing it. If you're implementing a PR with modification of *actual code*, feel free to fix formatting in the general vicinity of your changes, but please don't waste everyone's time with pointless changes. ## Style Guidelines @@ -26,7 +28,7 @@ This means: - `camelCase`, **even for constants or enums**. Why? Because `SCREAMING_CASE` is ugly, annoying to type and does not achieve anything useful. Constants are *less* dangerous than variables, not more. Any reasonable IDE should highlight them for you anyway. - No underscores for anything. (Yes, I know `Bindings` violates this principle, but that's for legacy reasons and really should be cleaned up some day) - Do not use braceless `if/else` statements. `if(x) statement else statement2` should **never** be done. In very specific situations, having braceless if-statements on one line is allowed: `if(cond) return;` would be valid. -- Prefer single-line javadoc `/** @return for example */` instead of multiline javadoc whenver possible +- Prefer single-line javadoc `/** @return for example */` instead of multiline javadoc whenever possible - Short method/variable names (multipleLongWords should be avoided if it's possible to do so reasonably, especially for variables) - Use wildcard imports - `import some.package.*` - for everything. This makes incorrect class usage more obvious (*e.g. arc.util.Timer vs java.util.Timer*) and leads to cleaner-looking code. diff --git a/LICENSE b/LICENSE index 94a9ed024d..bc08fe2e41 100644 --- a/LICENSE +++ b/LICENSE @@ -617,58 +617,3 @@ reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/README.md b/README.md index 97aece9742..30e864545c 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ ![Logo](core/assets-raw/sprites/ui/logo.png) -[![Build Status](https://travis-ci.org/Anuken/Mindustry.svg?branch=master)](https://travis-ci.org/Anuken/Mindustry) -[![Discord](https://img.shields.io/discord/391020510269669376.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=Discord)](https://discord.gg/mindustry) +[![Build Status](https://github.com/Anuken/Mindustry/workflows/Tests/badge.svg?event=push)](https://github.com/Anuken/Mindustry/actions) +[![Discord](https://img.shields.io/discord/391020510269669376.svg?logo=discord&logoColor=white&logoWidth=20&labelColor=7289DA&label=Discord&color=17cf48)](https://discord.gg/mindustry) -A sandbox tower defense game written in Java. +The automation tower defense RTS, written in Java. _[Trello Board](https://trello.com/b/aE2tcUwF/mindustry-40-plans)_ _[Wiki](https://mindustrygame.github.io/wiki)_ @@ -18,7 +18,7 @@ See [CONTRIBUTING](CONTRIBUTING.md). Bleeding-edge builds are generated automatically for every commit. You can see them [here](https://github.com/Anuken/MindustryBuilds/releases). If you'd rather compile on your own, follow these instructions. -First, make sure you have [JDK 14](https://adoptopenjdk.net/) installed. Open a terminal in the root directory, `cd` to the Mindustry folder and run the following commands: +First, make sure you have [JDK 17](https://adoptium.net/archive.html?variant=openjdk17&jvmVariant=hotspot) installed. **Other JDK versions will not work.** Open a terminal in the Mindustry directory and run the following commands: ### Windows @@ -38,11 +38,14 @@ Server builds are bundled with each released build (in Releases). If you'd rathe ### Android -1. Install the Android SDK [here.](https://developer.android.com/studio#downloads) Make sure you're downloading the "Command line tools only", as Android Studio is not required. -2. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory. -3. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`. +1. Install the Android SDK [here.](https://developer.android.com/studio#command-tools) Make sure you're downloading the "Command line tools only", as Android Studio is not required. +2. In the unzipped Android SDK folder, find the cmdline-tools directory. Then create a folder inside of it called `latest` and put all of its contents into the newly created folder. +3. In the same directory run the command `sdkmanager --licenses` (or `./sdkmanager --licenses` if on linux/mac) +4. Set the `ANDROID_HOME` environment variable to point to your unzipped Android SDK directory. +5. Enable developer mode on your device/emulator. If you are on testing on a phone you can follow [these instructions](https://developer.android.com/studio/command-line/adb#Enabling), otherwise you need to google how to enable your emulator's developer mode specifically. +6. Run `gradlew android:assembleDebug` (or `./gradlew` if on linux/mac). This will create an unsigned APK in `android/build/outputs/apk`. -To debug the application on a connected phone, run `gradlew android:installDebug android:run`. +To debug the application on a connected device/emulator, run `gradlew android:installDebug android:run`. ### Troubleshooting @@ -50,6 +53,16 @@ To debug the application on a connected phone, run `gradlew android:installDebug If the terminal returns `Permission denied` or `Command not found` on Mac/Linux, run `chmod +x ./gradlew` before running `./gradlew`. *This is a one-time procedure.* +#### Where is the `mindustry.gen` package? + +As the name implies, `mindustry.gen` is generated *at build time* based on other code. You will not find source code for this package in the repository, and it should not be edited by hand. + +The following is a non-exhaustive list of the "source" of generated code in `mindustry.gen`: + +- `Call`, `*Packet` classes: Generated from methods marked with `@Remote`. +- All entity classes (`Unit`, `EffectState`, `Posc`, etc): Generated from component classes in the `mindustry.entities.comp` package, and combined using definitions in `mindustry.content.UnitTypes`. +- `Sounds`, `Musics`, `Tex`, `Icon`, etc: Generated based on files in the respective asset folders. + --- Gradle may take up to several minutes to download files. Be patient.
diff --git a/SERVERLIST.md b/SERVERLIST.md index 83aa15a3d7..bdc199602b 100644 --- a/SERVERLIST.md +++ b/SERVERLIST.md @@ -1,26 +1,37 @@ +# Note: Server list review is currently on pause. No new servers will be merged until v8 is released! + +*PRs to edit addresses of existing servers will still be accepted, although very infrequently.* + ### Adding a server to the list Mindustry now has a public list of servers that everyone can see and connect to. -This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json) in this repository. +This is done by letting clients `GET` a [JSON list of servers](https://github.com/Anuken/Mindustry/blob/master/servers_v7.json) in this repository. You may want to add your server to this list. The steps for getting this done are as follows: +0. **Take note of the fact that modded servers are not allowed on this list.** Such servers confuse users, and there's currently no easy way to fix mod incompatibilities after a failed connection. 1. **Ensure your server is properly moderated.** For the most part, this applies to survival servers, but PvP servers can be affected as well. -You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins. +You'll need to either hire some moderators, or make use of (currently non-existent) anti-grief and anti-curse plugins. *Consider enabling a rate limit:* `config messageRateLimit 2` will make it so that players can only send messages every 2 seconds, for example. -2. **Set an appropriate MOTD, name and description.** This is set with `config `. "Appropriate" means that: - - Your name or description must reflect the type of server you're hosting. - Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt. - - Make sure players know where to refer to for server support. It should be fairly clear that the server owner is not me, but you. - - Try to be professional in your text; use common sense. -3. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option. -4. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`). -5. Finally, **submit a pull request** to add your server's IP to the list. -This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v6.json), then add a JSON object with a single key, indicating your server address. -For example, if your server address is `google.com`, you would add a comma after the last entry and insert: -```json - { - "address": "google.com" - } -``` -Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments. +2. Make sure that your server is able to handle inappropriate content - this includes NSFW display/sorter art and abusive messages. **Servers that allow such content will be removed immediately.** Consider banning display blocks if it is a problem for your server: `rules add bannedBlocks ["canvas", "logic-display", "large-logic-display"]`. +3. **Set an appropriate MOTD, name and description.** This is set with `config `. "Appropriate" means that: + - Your name or description must reflect the type of server you're hosting. + Since new players may be exposed to the server list early on, put in a phrase like "Co-op survival" or "PvP" so players know what they're getting into. Yes, this is also displayed in the server mode info text, but having extra info in the name doesn't hurt. + - Make sure players know where to refer to for server support. It should be fairly clear that the server owner is not me, but you. + - Try to be professional in your text; use common sense. +4. **Get some good maps.** *(optional, but highly recommended)*. Add some maps to your server and set the map rotation to custom-only. You can get maps from the Steam workshop by subscribing and exporting them; using the `#maps` channel on Discord is also an option. +5. **Check your server configuration.** *(optional)* I would recommend adding a message rate limit of 1 second (`config messageRateLimit 1`), and disabling connect/disconnect messages to reduce spam (`config showConnectMessages false`). +6. Finally, **submit a pull request** to add your server's IP to the list. +This should be fairly straightforward: Press the edit button on the [server file](https://github.com/Anuken/Mindustry/blob/master/servers_v7.json), then add a JSON object with the following format: + ```json + { + "name": "Your Server Group Name", + "address": ["your.server.address"] + } + ``` + + If your group has multiple servers, simply add extra addresses inside the square brackets, separated by commas. For example: `["address1", "address2"]` + + > Note that Mindustry also support SRV records. This allows you to use a subdomain for your server address instead of specifying the port. For example, if you want to use `play.example.com` instead of `example.com:6000`, in the dns settings of your domain, add an SRV record with `_mindustry` as the service, `tcp` as the protocol, `play` as the target and `6000` as the port. You can also setup fallback servers by modifying the weight or priority of the record. Although SRV records are very convenient, keep in mind they are slower than regular addresses. Avoid using them in the server list, but rather as an easy way to share your server address. + + Then, press the *'submit pull request'* button and I'll take a look at your server. If I have any issues with it, I'll let you know in the PR comments. diff --git a/TRANSLATING.md b/TRANSLATING.md index 0514018541..8e61559964 100644 --- a/TRANSLATING.md +++ b/TRANSLATING.md @@ -31,9 +31,11 @@ There are two ways to test the translation bundle: 1) Assuming you have the PC version downloaded, download your bundle file, name it `bundle.properties`, then place it in the same folder as the Mindustry desktop executable and run it. *You should get a popup message in-game confirming that you have loaded an external translation.* 2) For advanced users: simply download your fork of mindustry and compile/run the game. -#### Translating for stores (Steam, Google Play) +#### Translating for stores (Steam, ~~Google Play~~) -If you would like to translate the descriptions for Google Play or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does. +NOTE: The Google Play description is in the process of being re-written, please do not translate it. + +If you would like to translate the descriptions for ~~Google Play~~ or Steam, see the [Fastlane Metadata folder](https://github.com/Anuken/Mindustry/tree/master/fastlane/metadata) and submit a pull request for files there. On Google Play, you would create or edit the folder with the correct local code; for Steam, I have to update the translations manually, so just name the folder with the language name, and include the same files as the English folder does. **And that's it.** diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index 7d4d731df1..25602c4ab4 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -1,6 +1,5 @@ - + @@ -9,20 +8,22 @@ + android:fullBackupContent="@xml/backup_rules"> diff --git a/android/build.gradle b/android/build.gradle index cf60a2f945..f1dc45aa74 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -4,13 +4,10 @@ buildscript{ mavenCentral() google() maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" } - jcenter() } dependencies{ - //IMPORTANT NOTICE: any version of the plugin after 3.4.1 will break builds - //it appears abstract methods don't get desugared properly (if at all) - classpath 'com.android.tools.build:gradle:3.4.1' + classpath 'com.android.tools.build:gradle:8.2.2' } } @@ -20,25 +17,9 @@ configurations{ natives } repositories{ mavenCentral() - jcenter() maven{ url "https://maven.google.com" } } -dependencies{ - implementation project(":core") - - implementation arcModule("backends:backend-android") - implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3' - - natives "com.github.Anuken.Arc:natives-android:${getArcHash()}" - natives "com.github.Anuken.Arc:natives-freetype-android:${getArcHash()}" - natives "com.github.Anuken.Arc:natives-box2d-android:${getArcHash()}" - - //android dependencies magically disappear during compilation, thanks gradle! - def sdkFile = new File((String)findSdkDir(), "/platforms/android-29/android.jar") - if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath) -} - task deploy(type: Copy){ dependsOn "assembleRelease" @@ -48,8 +29,9 @@ task deploy(type: Copy){ } android{ - buildToolsVersion '29.0.3' - compileSdkVersion 29 + namespace = "io.anuke.mindustry" + buildToolsVersion = '34.0.0' + compileSdk = 34 sourceSets{ main{ manifest.srcFile 'AndroidManifest.xml' @@ -63,6 +45,7 @@ android{ androidTest.setRoot('tests') } + packagingOptions{ exclude 'META-INF/robovm/ios/robovm.xml' } @@ -74,15 +57,17 @@ android{ applicationId "io.anuke.mindustry" minSdkVersion 14 - targetSdkVersion 29 + targetSdkVersion 34 versionName versionNameResult - versionCode = (System.getenv("TRAVIS_BUILD_ID") != null ? System.getenv("TRAVIS_BUILD_ID").toInteger() : vcode) + versionCode = vcode if(project.hasProperty("release")){ props['androidBuildCode'] = (vcode + 1).toString() } props.store(file('../core/assets/version.properties').newWriter(), null) + + multiDexEnabled true } compileOptions{ @@ -90,7 +75,7 @@ android{ targetCompatibility JavaVersion.VERSION_1_8 } - flavorDimensions "google" + flavorDimensions = ["google"] signingConfigs{ release{ @@ -110,6 +95,18 @@ android{ } } + buildTypes{ + all{ + //TODO without these lines (r8 enabled), Mindustry crashes with missing default interface method errors. + //WHY THE HELL ARE DEFAULT INTERFACES NOT BEING DESUGARED? WHY DID UPDATING AGP MAKE THIS HAPPEN? + //When I ENABLE shrinking, r8 goes and REMOVES ALL DEFAULT INTERFACE CLASSES, which breaks mods. Why? + //-keep class mindustry.** { *; } should *keep the classes* - WHY IS R8 REMOVING THEM? + minifyEnabled = true + shrinkResources = true + proguardFiles("proguard-rules.pro") + } + } + if(project.hasProperty("RELEASE_STORE_FILE") || System.getenv("CI") == "true"){ buildTypes{ release{ @@ -118,9 +115,27 @@ android{ } } } -// called every time gradle gets executed, takes the native dependencies of -// the natives configuration, and extracts them to the proper libs/ folders -// so they get packed with the APK. + +dependencies{ + implementation project(":core") + + implementation arcModule("backends:backend-android") + implementation 'com.jakewharton.android.repackaged:dalvik-dx:9.0.0_r3' + + natives "com.github.Anuken.Arc:natives-android:$arcHash" + natives "com.github.Anuken.Arc:natives-freetype-android:$arcHash" + + def version; + def highestVersion; + new File((String)findSdkDir(), "/platforms").eachFileMatch ~/android-\d+/, { + version = it.name.find(/\d+/).toInteger(); + highestVersion = version > highestVersion ? version : highestVersion; + } + + def sdkFile = new File((String)findSdkDir(), "/platforms/android-${highestVersion}/android.jar") + if(sdkFile.exists()) compileOnly files(sdkFile.absolutePath) +} + task copyAndroidNatives(){ configurations.natives.files.each{ jar -> copy{ @@ -132,29 +147,13 @@ task copyAndroidNatives(){ } task run(type: Exec){ - def path - def localProperties = project.file("../local.properties") - if(localProperties.exists()){ - Properties properties = new Properties() - localProperties.withInputStream{ instr -> - properties.load(instr) - } - def sdkDir = properties.getProperty('sdk.dir') - if(sdkDir){ - path = sdkDir - }else{ - path = "$System.env.ANDROID_HOME" - } - }else{ - path = "$System.env.ANDROID_HOME" - } - - def adb = path + "/platform-tools/adb" - commandLine "$adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher' + commandLine "${findSdkDir()}/platform-tools/adb", 'shell', 'am', 'start', '-n', 'io.anuke.mindustry/mindustry.android.AndroidLauncher' } if(!project.ext.hasSprites()){ - println "Scheduling sprite pack." - run.dependsOn ":tools:pack" - deploy.dependsOn ":tools:pack" -} \ No newline at end of file + tasks.whenTaskAdded{ task -> + if(task.name == 'assembleDebug' || task.name == 'assembleRelease'){ + task.dependsOn ":tools:pack" + } + } +} diff --git a/android/proguard-rules.pro b/android/proguard-rules.pro new file mode 100644 index 0000000000..ebda968ae6 --- /dev/null +++ b/android/proguard-rules.pro @@ -0,0 +1,12 @@ +-dontobfuscate + +-keep class mindustry.** { *; } +-keep class arc.** { *; } +-keep class net.jpountz.** { *; } +-keep class rhino.** { *; } +-keep class com.android.dex.** { *; } +-keepattributes Signature,*Annotation*,InnerClasses,EnclosingMethod + +-dontwarn javax.naming.** + +#-printusage out.txt \ No newline at end of file diff --git a/android/res/values-v21/styles.xml b/android/res/values-v21/styles.xml index 3076a158ed..9ddd5ffb6c 100644 --- a/android/res/values-v21/styles.xml +++ b/android/res/values-v21/styles.xml @@ -8,4 +8,4 @@ @null true - + \ No newline at end of file diff --git a/android/res/values/strings.xml b/android/res/values/strings.xml index d40cf3accd..d42ffe6d4a 100644 --- a/android/res/values/strings.xml +++ b/android/res/values/strings.xml @@ -1,6 +1,4 @@ - Mindustry - diff --git a/android/res/values/styles.xml b/android/res/values/styles.xml index 3fe4d7f6a8..ac57c806dd 100644 --- a/android/res/values/styles.xml +++ b/android/res/values/styles.xml @@ -1,5 +1,4 @@ - - - + \ No newline at end of file diff --git a/android/src/mindustry/android/AndroidLauncher.java b/android/src/mindustry/android/AndroidLauncher.java index 1c9ee8f144..548f1b6078 100644 --- a/android/src/mindustry/android/AndroidLauncher.java +++ b/android/src/mindustry/android/AndroidLauncher.java @@ -38,20 +38,19 @@ public class AndroidLauncher extends AndroidApplication{ UncaughtExceptionHandler handler = Thread.getDefaultUncaughtExceptionHandler(); Thread.setDefaultUncaughtExceptionHandler((thread, error) -> { - CrashSender.log(error); + CrashHandler.log(error); //try to forward exception to system handler if(handler != null){ handler.uncaughtException(thread, error); }else{ - error.printStackTrace(); Log.err(error); System.exit(1); } }); super.onCreate(savedInstanceState); - if(doubleScaleTablets && isTablet(this.getContext())){ + if(doubleScaleTablets && isTablet(this)){ Scl.setAddition(0.5f); } @@ -64,7 +63,7 @@ public class AndroidLauncher extends AndroidApplication{ @Override public rhino.Context getScriptContext(){ - return AndroidRhinoContext.enter(getContext().getCacheDir()); + return AndroidRhinoContext.enter(getCacheDir()); } @Override @@ -72,9 +71,30 @@ public class AndroidLauncher extends AndroidApplication{ } @Override - public Class loadJar(Fi jar, String mainClass) throws Exception{ - DexClassLoader loader = new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, getClassLoader()); - return Class.forName(mainClass, true, loader); + public ClassLoader loadJar(Fi jar, ClassLoader parent) throws Exception{ + //Required to load jar files in Android 14: https://developer.android.com/about/versions/14/behavior-changes-14#safer-dynamic-code-loading + jar.file().setReadOnly(); + return new DexClassLoader(jar.file().getPath(), getFilesDir().getPath(), null, parent){ + @Override + protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException{ + //check for loaded state + Class loadedClass = findLoadedClass(name); + if(loadedClass == null){ + try{ + //try to load own class first + loadedClass = findClass(name); + }catch(ClassNotFoundException | NoClassDefFoundError e){ + //use parent if not found + return parent.loadClass(name); + } + } + + if(resolve){ + resolveClass(loadedClass); + } + return loadedClass; + } + }; } @Override @@ -83,64 +103,69 @@ public class AndroidLauncher extends AndroidApplication{ } void showFileChooser(boolean open, String title, Cons cons, String... extensions){ - String extension = extensions[0]; + try{ + String extension = extensions[0]; - if(VERSION.SDK_INT >= VERSION_CODES.Q){ - Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT); - intent.addCategory(Intent.CATEGORY_OPENABLE); - intent.setType(extension.equals("zip") && !open && extensions.length == 1 ? "application/zip" : "*/*"); + if(VERSION.SDK_INT >= VERSION_CODES.Q){ + Intent intent = new Intent(open ? Intent.ACTION_OPEN_DOCUMENT : Intent.ACTION_CREATE_DOCUMENT); + intent.addCategory(Intent.CATEGORY_OPENABLE); + intent.setType(extension.equals("zip") && !open && extensions.length == 1 ? "application/zip" : "*/*"); + intent.putExtra(Intent.EXTRA_TITLE, "export." + extension); - addResultListener(i -> startActivityForResult(intent, i), (code, in) -> { - if(code == Activity.RESULT_OK && in != null && in.getData() != null){ - Uri uri = in.getData(); + addResultListener(i -> startActivityForResult(intent, i), (code, in) -> { + if(code == Activity.RESULT_OK && in != null && in.getData() != null){ + Uri uri = in.getData(); - if(uri.getPath().contains("(invalid)")) return; + if(uri.getPath().contains("(invalid)")) return; - Core.app.post(() -> Core.app.post(() -> cons.get(new Fi(uri.getPath()){ - @Override - public InputStream read(){ - try{ - return getContentResolver().openInputStream(uri); - }catch(IOException e){ - throw new ArcRuntimeException(e); + Core.app.post(() -> Core.app.post(() -> cons.get(new Fi(uri.getPath()){ + @Override + public InputStream read(){ + try{ + return getContentResolver().openInputStream(uri); + }catch(IOException e){ + throw new ArcRuntimeException(e); + } } - } - @Override - public OutputStream write(boolean append){ - try{ - return getContentResolver().openOutputStream(uri); - }catch(IOException e){ - throw new ArcRuntimeException(e); + @Override + public OutputStream write(boolean append){ + try{ + return getContentResolver().openOutputStream(uri); + }catch(IOException e){ + throw new ArcRuntimeException(e); + } } - } - }))); - } - }); - }else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && + }))); + } + }); + }else if(VERSION.SDK_INT >= VERSION_CODES.M && !(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)){ - chooser = new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> { - if(!open){ - cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); - }else{ - cons.get(file); - } - }); + chooser = new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), open, file -> { + if(!open){ + cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); + }else{ + cons.get(file); + } + }); - ArrayList perms = new ArrayList<>(); - if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ - perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); - } - if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ - perms.add(Manifest.permission.READ_EXTERNAL_STORAGE); - } - requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE); - }else{ - if(open){ - new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + ArrayList perms = new ArrayList<>(); + if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ + perms.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); + } + if(checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){ + perms.add(Manifest.permission.READ_EXTERNAL_STORAGE); + } + requestPermissions(perms.toArray(new String[0]), PERMISSION_REQUEST_CODE); }else{ - super.showFileChooser(open, "@open", extension, cons); + if(open){ + new FileChooser(title, file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + }else{ + super.showFileChooser(open, "@open", extension, cons); + } } + }catch(Throwable error){ + Core.app.post(() -> Vars.ui.showException(error)); } } @@ -162,15 +187,26 @@ public class AndroidLauncher extends AndroidApplication{ }, new AndroidApplicationConfiguration(){{ useImmersiveMode = true; hideStatusBar = true; - stencil = 8; + useGL30 = true; }}); checkFiles(getIntent()); try{ //new external folder - Fi data = Core.files.absolute(getContext().getExternalFilesDir(null).getAbsolutePath()); + Fi data = Core.files.absolute(((Context)this).getExternalFilesDir(null).getAbsolutePath()); Core.settings.setDataDirectory(data); + //delete unused cache folder to free up space + try{ + Fi cache = Core.settings.getDataDirectory().child("cache"); + if(cache.exists()){ + cache.deleteDirectory(); + } + }catch(Throwable t){ + Log.err("Failed to delete cached folder", t); + } + + //move to internal storage if there's no file indicating that it moved if(!Core.files.local("files_moved").exists()){ Log.info("Moving files to external storage..."); diff --git a/android/src/mindustry/android/AndroidRhinoContext.java b/android/src/mindustry/android/AndroidRhinoContext.java index d3e80c7427..ab28532941 100644 --- a/android/src/mindustry/android/AndroidRhinoContext.java +++ b/android/src/mindustry/android/AndroidRhinoContext.java @@ -13,6 +13,7 @@ import com.android.dx.dex.cf.*; import com.android.dx.dex.file.DexFile; import com.android.dx.merge.*; import dalvik.system.*; +import mindustry.mod.*; import rhino.*; import java.io.*; @@ -30,23 +31,6 @@ public class AndroidRhinoContext{ * @return a context prepared for android */ public static Context enter(File cacheDirectory){ - if(!SecurityController.hasGlobal()) - SecurityController.initGlobal(new SecurityController(){ - @Override - public GeneratedClassLoader createClassLoader(ClassLoader classLoader, Object o){ - return Context.getCurrentContext().createClassLoader(classLoader); - } - - @Override - public Object getDynamicSecurityDomain(Object o){ - return null; - } - - @Override - public Object callWithDomain(Object o, Context context, Callable callable, Scriptable scriptable, Scriptable scriptable1, Object[] objects){ - return null; - } - }); AndroidContextFactory factory; if(!ContextFactory.hasExplicitGlobal()){ @@ -175,7 +159,7 @@ public class AndroidRhinoContext{ }catch(IOException e){ e.printStackTrace(); } - android.content.Context context = ((AndroidApplication) Core.app).getContext(); + android.content.Context context = (android.content.Context)((AndroidApplication)Core.app); return new DexClassLoader(dexFile.getPath(), VERSION.SDK_INT >= 21 ? context.getCodeCacheDir().getPath() : context.getCacheDir().getAbsolutePath(), null, getParent()).loadClass(name); } diff --git a/annotations/src/main/java/mindustry/annotations/Annotations.java b/annotations/src/main/java/mindustry/annotations/Annotations.java index 88bd457e05..6aa8d5b9d9 100644 --- a/annotations/src/main/java/mindustry/annotations/Annotations.java +++ b/annotations/src/main/java/mindustry/annotations/Annotations.java @@ -8,14 +8,12 @@ public class Annotations{ /** Indicates that a method overrides other methods. */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.SOURCE) - public @interface Replace{ - } + public @interface Replace{} /** Indicates that a method should be final in all implementing classes. */ @Target({ElementType.METHOD}) @Retention(RetentionPolicy.SOURCE) - public @interface Final{ - } + public @interface Final{} /** Indicates that a field will be interpolated when synced. */ @Target({ElementType.FIELD}) @@ -30,15 +28,18 @@ public class Annotations{ /** Indicates that a field will not be read from the server when syncing the local player state. */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.SOURCE) - public @interface SyncLocal{ + public @interface SyncLocal{} + + /** Indicates that a field should not be synced to clients (but may still be non-transient) */ + @Target({ElementType.FIELD}) + @Retention(RetentionPolicy.SOURCE) + public @interface NoSync{} - } /** Indicates that a component field is imported from other components. This means it doesn't actually exist. */ @Target({ElementType.FIELD}) @Retention(RetentionPolicy.SOURCE) - public @interface Import{ - } + public @interface Import{} /** Indicates that a component field is read-only. */ @Target({ElementType.FIELD, ElementType.METHOD}) @@ -105,8 +106,7 @@ public class Annotations{ /** Indicates an internal interface for entity components. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.SOURCE) - public @interface EntityInterface{ - } + public @interface EntityInterface{} //endregion //region misc. utility @@ -118,7 +118,7 @@ public class Annotations{ /** * The region name to load. Variables can be used: * "@" -> block name - * "$size" -> block size + * "@size" -> block size * "#" "#1" "#2" -> index number, for arrays * */ String value(); @@ -145,15 +145,12 @@ public class Annotations{ /** Indicates that a method should always call its super version. */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) - public @interface CallSuper{ - - } + public @interface CallSuper{} /** Annotation that allows overriding CallSuper annotation. To be used on method that overrides method with CallSuper annotation from parent class. */ @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) - public @interface OverrideCallSuper{ - } + public @interface OverrideCallSuper{} //endregion //region struct @@ -161,9 +158,7 @@ public class Annotations{ /** Marks a class as a special value type struct. Class name must end in 'Struct'. */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.SOURCE) - public @interface Struct{ - - } + public @interface Struct{} /** Marks a field of a struct. Optional. */ @Target(ElementType.FIELD) @@ -177,28 +172,26 @@ public class Annotations{ //region remote public enum PacketPriority{ + /** Does not get handled unless client is connected. */ + low, /** Gets put in a queue and processed if not connected. */ normal, /** Gets handled immediately, regardless of connection status. */ high, - /** Does not get handled unless client is connected. */ - low } /** A set of two booleans, one specifying server and one specifying client. */ public enum Loc{ - /** Method can only be invoked on the client from the server. */ + /** Server only. */ server(true, false), - /** Method can only be invoked on the server from the client. */ + /** Client only. */ client(false, true), - /** Method can be invoked from anywhere */ + /** Both server and client. */ both(true, true), /** Neither server nor client. */ none(false, false); - /** If true, this method can be invoked ON clients FROM servers. */ public final boolean isServer; - /** If true, this method can be invoked ON servers FROM clients. */ public final boolean isClient; Loc(boolean server, boolean client){ @@ -227,16 +220,16 @@ public class Annotations{ @Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE) public @interface Remote{ - /** Specifies the locations from which this method can be invoked. */ + /** Specifies the locations from which this method can cause remote invocations (This -> Remote) [Default: Server -> Client]. */ Loc targets() default Loc.server; - /** Specifies which methods are generated. Only affects server-to-client methods. */ + /** Specifies which methods are generated. Only affects server-to-client methods (Server -> Client(s)) [Default: Server -> Client & Server -> All Clients]. */ Variant variants() default Variant.all; - /** The local locations where this method is called locally, when invoked. */ + /** The locations where this method is called locally, when invoked locally (This -> This) [Default: No local invocations]. */ Loc called() default Loc.none; - /** Whether to forward this packet to all other clients upon receival. Client only. */ + /** Whether the server should forward this packet to all other clients upon receival from a client (Client -> Server -> Other Clients). [Default: Don't Forward Client Invocations] */ boolean forward() default false; /** @@ -251,8 +244,7 @@ public class Annotations{ @Target(ElementType.TYPE) @Retention(RetentionPolicy.SOURCE) - public @interface TypeIOHandler{ - } + public @interface TypeIOHandler{ } //endregion } diff --git a/annotations/src/main/java/mindustry/annotations/BaseProcessor.java b/annotations/src/main/java/mindustry/annotations/BaseProcessor.java index fd2c05dca2..d4a057b368 100644 --- a/annotations/src/main/java/mindustry/annotations/BaseProcessor.java +++ b/annotations/src/main/java/mindustry/annotations/BaseProcessor.java @@ -2,15 +2,10 @@ package mindustry.annotations; import arc.files.*; import arc.struct.*; -import arc.util.Log; -import arc.util.Log.*; import arc.util.*; +import arc.util.Log.*; import com.squareup.javapoet.*; import com.sun.source.util.*; -import com.sun.tools.javac.model.*; -import com.sun.tools.javac.processing.*; -import com.sun.tools.javac.tree.*; -import com.sun.tools.javac.util.*; import mindustry.annotations.util.*; import javax.annotation.processing.*; @@ -22,7 +17,6 @@ import javax.tools.Diagnostic.*; import javax.tools.*; import java.io.*; import java.lang.annotation.*; -import java.util.List; import java.util.*; @SupportedSourceVersion(SourceVersion.RELEASE_8) @@ -31,19 +25,16 @@ public abstract class BaseProcessor extends AbstractProcessor{ public static final String packageName = "mindustry.gen"; public static Types typeu; - public static JavacElements elementu; + public static Elements elementu; public static Filer filer; public static Messager messager; public static Trees trees; - public static TreeMaker maker; protected int round; protected int rounds = 1; protected RoundEnvironment env; protected Fi rootDirectory; - protected Context context; - public static String getMethodName(Element element){ return ((TypeElement)element.getEnclosingElement()).getQualifiedName().toString() + "." + element.getSimpleName(); } @@ -100,7 +91,7 @@ public abstract class BaseProcessor extends AbstractProcessor{ } public static TypeName tname(String pack, String simple){ - return ClassName.get(pack, simple ); + return ClassName.get(pack, simple); } public static TypeName tname(String name){ @@ -132,14 +123,21 @@ public abstract class BaseProcessor extends AbstractProcessor{ } public static void write(TypeSpec.Builder builder, Seq imports) throws Exception{ + builder.superinterfaces.sort(Structs.comparing(t -> t.toString())); + builder.methodSpecs.sort(Structs.comparing(m -> m.toString())); + builder.fieldSpecs.sort(Structs.comparing(f -> f.name)); + JavaFile file = JavaFile.builder(packageName, builder.build()).skipJavaLangImports(true).build(); + String writeString; if(imports != null){ + imports = imports.map(m -> Seq.with(m.split("\n")).sort().toString("\n")); + imports.sort(); String rawSource = file.toString(); Seq result = new Seq<>(); for(String s : rawSource.split("\n", -1)){ result.add(s); - if (s.startsWith("package ")){ + if(s.startsWith("package ")){ result.add(""); for (String i : imports){ result.add(i); @@ -147,14 +145,15 @@ public abstract class BaseProcessor extends AbstractProcessor{ } } - String out = result.toString("\n"); - JavaFileObject object = filer.createSourceFile(file.packageName + "." + file.typeSpec.name, file.typeSpec.originatingElements.toArray(new Element[0])); - OutputStream stream = object.openOutputStream(); - stream.write(out.getBytes()); - stream.close(); + writeString = result.toString("\n"); }else{ - file.writeTo(filer); + writeString = file.toString(); } + + JavaFileObject object = filer.createSourceFile(file.packageName + "." + file.typeSpec.name, file.typeSpec.originatingElements.toArray(new Element[0])); + Writer stream = object.openWriter(); + stream.write(writeString); + stream.close(); } public Seq elements(Class type){ @@ -186,7 +185,7 @@ public abstract class BaseProcessor extends AbstractProcessor{ Log.err("[CODEGEN ERROR] " + message + ": " + elem); } - public void err(String message, Selement elem){ + public static void err(String message, Selement elem){ err(message, elem.e); } @@ -194,15 +193,11 @@ public abstract class BaseProcessor extends AbstractProcessor{ public synchronized void init(ProcessingEnvironment env){ super.init(env); - JavacProcessingEnvironment javacProcessingEnv = (JavacProcessingEnvironment)env; - trees = Trees.instance(env); typeu = env.getTypeUtils(); - elementu = javacProcessingEnv.getElementUtils(); + elementu = env.getElementUtils(); filer = env.getFiler(); messager = env.getMessager(); - context = ((JavacProcessingEnvironment)env).getContext(); - maker = TreeMaker.instance(javacProcessingEnv.getContext()); Log.level = LogLevel.info; @@ -219,7 +214,7 @@ public abstract class BaseProcessor extends AbstractProcessor{ String path = Fi.get(filer.getResource(StandardLocation.CLASS_OUTPUT, "no", "no") .toUri().toURL().toString().substring(OS.isWindows ? 6 : "file:".length())) .parent().parent().parent().parent().parent().parent().parent().toString().replace("%20", " "); - rootDirectory = Fi.get(path); + rootDirectory = Fi.get(path).parent(); }catch(IOException e){ throw new RuntimeException(e); } diff --git a/annotations/src/main/java/mindustry/annotations/entity/EntityIO.java b/annotations/src/main/java/mindustry/annotations/entity/EntityIO.java index 0bd3aa6b32..4d9ce94869 100644 --- a/annotations/src/main/java/mindustry/annotations/entity/EntityIO.java +++ b/annotations/src/main/java/mindustry/annotations/entity/EntityIO.java @@ -89,7 +89,7 @@ public class EntityIO{ st("write.s($L)", revisions.peek().version); //write uses most recent revision for(RevisionField field : revisions.peek().fields){ - io(field.type, "this." + field.name); + io(field.type, "this." + field.name, false); } }else{ //read revision @@ -107,7 +107,7 @@ public class EntityIO{ //add code for reading revision for(RevisionField field : rev.fields){ //if the field doesn't exist, the result will be an empty string, it won't get assigned - io(field.type, presentFields.contains(field.name) ? "this." + field.name + " = " : ""); + io(field.type, presentFields.contains(field.name) ? "this." + field.name + " = " : "", false); } } @@ -118,14 +118,17 @@ public class EntityIO{ } } - void writeSync(MethodSpec.Builder method, boolean write, Seq syncFields, Seq allFields) throws Exception{ + void writeSync(MethodSpec.Builder method, boolean write, Seq allFields) throws Exception{ this.method = method; this.write = write; if(write){ //write uses most recent revision for(RevisionField field : revisions.peek().fields){ - io(field.type, "this." + field.name); + Svar var = allFields.find(s -> s.name().equals(field.name)); + if(var == null || var.has(NoSync.class)) continue; + + io(field.type, "this." + field.name, true); } }else{ Revision rev = revisions.peek(); @@ -138,20 +141,22 @@ public class EntityIO{ //add code for reading revision for(RevisionField field : rev.fields){ Svar var = allFields.find(s -> s.name().equals(field.name)); + if(var == null || var.has(NoSync.class)) continue; boolean sf = var.has(SyncField.class), sl = var.has(SyncLocal.class); if(sl) cont("if(!islocal)"); if(sf){ + //TODO adding + targetSuf to the assignment fixes units being interpolated incorrectly during physics, but makes interpolation snap instead. st(field.name + lastSuf + " = this." + field.name); } - io(field.type, "this." + (sf ? field.name + targetSuf : field.name) + " = "); + io(field.type, "this." + (sf ? field.name + targetSuf : field.name) + " = ", true); if(sl){ ncont("else" ); - io(field.type, ""); + io(field.type, "", true); //just assign the two values so jumping does not occur on de-possession if(sf){ @@ -216,20 +221,20 @@ public class EntityIO{ econt(); } - private void io(String type, String field) throws Exception{ + private void io(String type, String field, boolean network) throws Exception{ type = type.replace("mindustry.gen.", ""); type = replacements.get(type, type); if(BaseProcessor.isPrimitive(type)){ s(type.equals("boolean") ? "bool" : type.charAt(0) + "", field); - }else if(instanceOf(type, "mindustry.ctype.Content")){ + }else if(instanceOf(type, "mindustry.ctype.Content") && !type.equals("mindustry.ai.UnitStance") && !type.equals("mindustry.ai.UnitCommand")){ if(write){ s("s", field + ".id"); }else{ st(field + "mindustry.Vars.content.getByID(mindustry.ctype.ContentType.$L, read.s())", BaseProcessor.simpleName(type).toLowerCase().replace("type", "")); } - }else if(serializer.writers.containsKey(type) && write){ - st("$L(write, $L)", serializer.writers.get(type), field); + }else if((serializer.writers.containsKey(type) || (network && serializer.netWriters.containsKey(type))) && write){ + st("$L(write, $L)", network ? serializer.getNetWriter(type, null) : serializer.writers.get(type), field); }else if(serializer.mutatorReaders.containsKey(type) && !write && !field.replace(" = ", "").contains(" ") && !field.isEmpty()){ st("$L$L(read, $L)", field, serializer.mutatorReaders.get(type), field.replace(" = ", "")); }else if(serializer.readers.containsKey(type) && !write){ @@ -240,7 +245,7 @@ public class EntityIO{ if(write){ s("i", field + ".length"); cont("for(int INDEX = 0; INDEX < $L.length; INDEX ++)", field); - io(rawType, field + "[INDEX]"); + io(rawType, field + "[INDEX]", network); }else{ String fieldName = field.replace(" = ", "").replace("this.", ""); String lenf = fieldName + "_LENGTH"; @@ -249,7 +254,7 @@ public class EntityIO{ st("$Lnew $L[$L]", field, type.replace("[]", ""), lenf); } cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf); - io(rawType, field.replace(" = ", "[INDEX] = ")); + io(rawType, field.replace(" = ", "[INDEX] = "), network); } econt(); @@ -261,7 +266,7 @@ public class EntityIO{ if(write){ s("i", field + ".size"); cont("for(int INDEX = 0; INDEX < $L.size; INDEX ++)", field); - io(generic, field + ".get(INDEX)"); + io(generic, field + ".get(INDEX)", network); }else{ String fieldName = field.replace(" = ", "").replace("this.", ""); String lenf = fieldName + "_LENGTH"; @@ -270,7 +275,7 @@ public class EntityIO{ st("$L.clear()", field.replace(" = ", "")); } cont("for(int INDEX = 0; INDEX < $L; INDEX ++)", lenf); - io(generic, field.replace(" = ", "_ITEM = ").replace("this.", generic + " ")); + io(generic, field.replace(" = ", "_ITEM = ").replace("this.", generic + " "), network); if(!field.isEmpty()){ String temp = field.replace(" = ", "_ITEM").replace("this.", ""); st("if($L != null) $L.add($L)", temp, field.replace(" = ", ""), temp); diff --git a/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java b/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java index 8eba0ec683..a6b1d95d67 100644 --- a/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java +++ b/annotations/src/main/java/mindustry/annotations/entity/EntityProcess.java @@ -42,6 +42,7 @@ public class EntityProcess extends BaseProcessor{ Seq allDefs = new Seq<>(); Seq allInterfaces = new Seq<>(); Seq baseClasses = new Seq<>(); + ObjectSet baseClassIndexers = new ObjectSet<>(); ClassSerializer serializer; { @@ -101,6 +102,8 @@ public class EntityProcess extends BaseProcessor{ inter.addJavadoc("Interface for {@link $L}", component.fullName()); + skipDeprecated(inter); + //implement extra interfaces these components may have, e.g. position for(Stype extraInterface : component.interfaces().select(i -> !isCompInterface(i))){ //javapoet completely chokes on this if I add `addSuperInterface` or create the type name with TypeName.get @@ -132,13 +135,14 @@ public class EntityProcess extends BaseProcessor{ .build())).addModifiers(Modifier.PUBLIC, Modifier.ABSTRACT).build()); } + //generate interface getters and setters for all "standard" fields for(Svar field : component.fields().select(e -> !e.is(Modifier.STATIC) && !e.is(Modifier.PRIVATE) && !e.has(Import.class))){ String cname = field.name(); //getter if(!signatures.contains(cname + "()")){ inter.addMethod(MethodSpec.methodBuilder(cname).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC) - .addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null")).map(AnnotationSpec::get)) + .addAnnotations(Seq.with(field.annotations()).select(a -> a.toString().contains("Null") || a.toString().contains("Deprecated")).map(AnnotationSpec::get)) .addJavadoc(field.doc() == null ? "" : field.doc()) .returns(field.tname()).build()); } @@ -150,7 +154,7 @@ public class EntityProcess extends BaseProcessor{ .addJavadoc(field.doc() == null ? "" : field.doc()) .addParameter(ParameterSpec.builder(field.tname(), field.name()) .addAnnotations(Seq.with(field.annotations()) - .select(a -> a.toString().contains("Null")).map(AnnotationSpec::get)).build()).build()); + .select(a -> a.toString().contains("Null") || a.toString().contains("Deprecated")).map(AnnotationSpec::get)).build()).build()); } } @@ -160,7 +164,7 @@ public class EntityProcess extends BaseProcessor{ //SPECIAL CASE: components with EntityDefs don't get a base class! the generated class becomes the base class itself if(component.annotation(Component.class).base()){ - Seq deps = depends.copy().and(component); + Seq deps = depends.copy().add(component); baseClassDeps.get(component, ObjectSet::new).addAll(deps); //do not generate base classes when the component will generate one itself @@ -229,9 +233,15 @@ public class EntityProcess extends BaseProcessor{ Stype repr = types.first(); String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr); + String name = group.name().startsWith("g") ? group.name().substring(1) : group.name(); + boolean collides = an.collide(); - groupDefs.add(new GroupDefinition(group.name().startsWith("g") ? group.name().substring(1) : group.name(), + groupDefs.add(new GroupDefinition(name, ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides)); + + TypeSpec.Builder accessor = TypeSpec.interfaceBuilder("IndexableEntity__" + name); + accessor.addMethod(MethodSpec.methodBuilder("setIndex__" + name).addModifiers(Modifier.ABSTRACT, Modifier.PUBLIC).addParameter(int.class, "index").returns(void.class).build()); + write(accessor); } ObjectMap usedNames = new ObjectMap<>(); @@ -257,6 +267,8 @@ public class EntityProcess extends BaseProcessor{ //get base class type name for extension Stype baseClassType = baseClasses.any() ? baseClasses.first() : null; @Nullable TypeName baseClass = baseClasses.any() ? tname(packageName + "." + baseName(baseClassType)) : null; + @Nullable TypeSpec.Builder baseClassBuilder = baseClassType == null ? null : this.baseClasses.find(b -> Reflect.get(b, "name").equals(baseName(baseClassType))); + boolean addIndexToBase = baseClassBuilder != null && baseClassIndexers.add(baseClassBuilder); //whether the main class is the base itself boolean typeIsBase = baseClassType != null && type.has(Component.class) && type.annotation(Component.class).base(); @@ -273,7 +285,10 @@ public class EntityProcess extends BaseProcessor{ name += "Entity"; } - if(ann.legacy()){ + boolean legacy = ann.legacy(); + + if(legacy){ + baseClass = tname(packageName + "." + name); name += "Legacy" + Strings.capitalize(type.name()); } @@ -330,7 +345,7 @@ public class EntityProcess extends BaseProcessor{ fbuilder.initializer(varInitializers.get(f.descString())); } - fbuilder.addModifiers(f.has(ReadOnly.class) ? Modifier.PROTECTED : Modifier.PUBLIC); + fbuilder.addModifiers(f.has(ReadOnly.class) || f.is(Modifier.PRIVATE) ? Modifier.PROTECTED : Modifier.PUBLIC); fbuilder.addAnnotations(f.annotations().map(AnnotationSpec::get)); FieldSpec spec = fbuilder.build(); @@ -338,7 +353,8 @@ public class EntityProcess extends BaseProcessor{ boolean isVisible = !f.is(Modifier.STATIC) && !f.is(Modifier.PRIVATE) && !f.has(ReadOnly.class); //add the field only if it isn't visible or it wasn't implemented by the base class - if(!isShadowed || !isVisible){ + //legacy classes have no extra fields + if((!isShadowed || !isVisible) && !legacy){ builder.addField(spec); } @@ -348,7 +364,7 @@ public class EntityProcess extends BaseProcessor{ allFields.add(f); //add extra sync fields - if(f.has(SyncField.class) && isSync){ + if(f.has(SyncField.class) && isSync && !legacy){ if(!f.tname().toString().equals("float")) err("All SyncFields must be of type float", f); syncedFields.add(f); @@ -374,17 +390,30 @@ public class EntityProcess extends BaseProcessor{ syncedFields.sortComparing(Selement::name); - //override toString method - builder.addMethod(MethodSpec.methodBuilder("toString") + if(!methods.containsKey("toString()")){ + //override toString method + builder.addMethod(MethodSpec.methodBuilder("toString") .addAnnotation(Override.class) .returns(String.class) .addModifiers(Modifier.PUBLIC) .addStatement("return $S + $L", name + "#", "id").build()); + } EntityIO io = new EntityIO(type.name(), builder, allFieldSpecs, serializer, rootDirectory.child("annotations/src/main/resources/revisions").child(type.name())); //entities with no sync comp and no serialization gen no code boolean hasIO = ann.genio() && (components.contains(s -> s.name().contains("Sync")) || ann.serialize()); + TypeSpec.Builder indexBuilder = baseClassBuilder == null ? builder : baseClassBuilder; + + if(baseClassBuilder == null || addIndexToBase){ + //implement indexable interfaces. + for(GroupDefinition def : groups){ + indexBuilder.addSuperinterface(tname(packageName + ".IndexableEntity__" + def.name)); + indexBuilder.addMethod(MethodSpec.methodBuilder("setIndex__" + def.name).addParameter(int.class, "index").addModifiers(Modifier.PUBLIC).addAnnotation(Override.class) + .addCode("index__$L = index;", def.name).build()); + } + } + //add all methods from components for(ObjectMap.Entry> entry : methods){ if(entry.value.contains(m -> m.has(Replace.class))){ @@ -402,7 +431,7 @@ public class EntityProcess extends BaseProcessor{ err("Type " + type + " has multiple components implementing non-void method " + entry.key + "."); } - entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(Selement::name))); + entry.value.sort(Structs.comps(Structs.comparingFloat(m -> m.has(MethodPriority.class) ? m.annotation(MethodPriority.class).value() : 0), Structs.comparing(s -> s.up().getSimpleName().toString()))); //representative method Smethod first = entry.value.first(); @@ -416,6 +445,7 @@ public class EntityProcess extends BaseProcessor{ MethodSpec.Builder mbuilder = MethodSpec.methodBuilder(first.name()).addModifiers(first.is(Modifier.PRIVATE) ? Modifier.PRIVATE : Modifier.PUBLIC); //if(isFinal || entry.value.contains(s -> s.has(Final.class))) mbuilder.addModifiers(Modifier.FINAL); if(entry.value.contains(s -> s.has(CallSuper.class))) mbuilder.addAnnotation(CallSuper.class); //add callSuper here if necessary + if(first.has(Nullable.class)) mbuilder.addAnnotation(Nullable.class); if(first.is(Modifier.STATIC)) mbuilder.addModifiers(Modifier.STATIC); mbuilder.addTypeVariables(first.typeVariables().map(TypeVariableName::get)); mbuilder.returns(first.retn()); @@ -437,21 +467,31 @@ public class EntityProcess extends BaseProcessor{ mbuilder.addStatement("if(added == $L) return", first.name().equals("add")); for(GroupDefinition def : groups){ - //remove/add from each group, assume imported - mbuilder.addStatement("Groups.$L.$L(this)", def.name, first.name()); + if(first.name().equals("add")){ + //remove/add from each group, assume imported + mbuilder.addStatement("index__$L = Groups.$L.addIndex(this)", def.name, def.name); + }else{ + //remove/add from each group, assume imported + mbuilder.addStatement("Groups.$L.removeIndex(this, index__$L);", def.name, def.name); + + mbuilder.addStatement("index__$L = -1", def.name); + } } } + boolean specialIO = false; + if(hasIO){ //SPECIAL CASE: I/O code //note that serialization is generated even for non-serializing entities for manual usage if((first.name().equals("read") || first.name().equals("write"))){ io.write(mbuilder, first.name().equals("write")); + specialIO = true; } //SPECIAL CASE: sync I/O code if((first.name().equals("readSync") || first.name().equals("writeSync"))){ - io.writeSync(mbuilder, first.name().equals("writeSync"), syncedFields, allFields); + io.writeSync(mbuilder, first.name().equals("writeSync"), allFields); } //SPECIAL CASE: sync I/O code for writing to/from a manual buffer @@ -525,7 +565,9 @@ public class EntityProcess extends BaseProcessor{ mbuilder.addStatement("mindustry.gen.Groups.queueFree(($T)this)", Poolable.class); } - builder.addMethod(mbuilder.build()); + if(!legacy || specialIO){ + builder.addMethod(mbuilder.build()); + } } //add pool reset method and implement Poolable @@ -533,6 +575,7 @@ public class EntityProcess extends BaseProcessor{ builder.addSuperinterface(Poolable.class); //implement reset() MethodSpec.Builder resetBuilder = MethodSpec.methodBuilder("reset").addModifiers(Modifier.PUBLIC); + allFieldSpecs.sortComparing(s -> s.name); for(FieldSpec spec : allFieldSpecs){ @Nullable Svar variable = specVariables.get(spec); if(variable != null && variable.isAny(Modifier.STATIC, Modifier.FINAL)) continue; @@ -560,7 +603,19 @@ public class EntityProcess extends BaseProcessor{ .returns(tname(packageName + "." + name)) .addStatement(ann.pooled() ? "return Pools.obtain($L.class, " +name +"::new)" : "return new $L()", name).build()); - definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs)); + skipDeprecated(builder); + + if(!legacy){ + TypeSpec.Builder fieldBuilder = baseClassBuilder != null ? baseClassBuilder : builder; + if(addIndexToBase || baseClassBuilder == null){ + //add group index int variables + for(GroupDefinition def : groups){ + fieldBuilder.addField(FieldSpec.builder(int.class, "index__" + def.name, Modifier.PROTECTED, Modifier.TRANSIENT).initializer("-1").build()); + } + } + } + + definitions.add(new EntityDefinition(packageName + "." + name, builder, type, typeIsBase ? null : baseClass, components, groups, allFieldSpecs, legacy)); } //generate groups @@ -575,16 +630,20 @@ public class EntityProcess extends BaseProcessor{ groupsBuilder.addField(ParameterizedTypeName.get( ClassName.bestGuess("mindustry.entities.EntityGroup"), itype), group.name, Modifier.PUBLIC, Modifier.STATIC); - groupInit.addStatement("$L = new $T<>($L.class, $L, $L)", group.name, groupc, itype, group.spatial, group.mapping); + groupInit.addStatement("$L = new $T<>($L.class, $L, $L, (e, pos) -> { if(e instanceof $L.IndexableEntity__$L ix) ix.setIndex__$L(pos); })", group.name, groupc, itype, group.spatial, group.mapping, packageName, group.name, group.name); } //write the groups groupsBuilder.addMethod(groupInit.build()); + groupsBuilder.addField(boolean.class, "isClearing", Modifier.PUBLIC, Modifier.STATIC); + MethodSpec.Builder groupClear = MethodSpec.methodBuilder("clear").addModifiers(Modifier.PUBLIC, Modifier.STATIC); + groupClear.addStatement("isClearing = true"); for(GroupDefinition group : groupDefs){ groupClear.addStatement("$L.clear()", group.name); } + groupClear.addStatement("isClearing = false"); //write clear groupsBuilder.addMethod(groupClear.build()); @@ -665,11 +724,28 @@ public class EntityProcess extends BaseProcessor{ //build mapping class for sync IDs TypeSpec.Builder idBuilder = TypeSpec.classBuilder("EntityMapping").addModifiers(Modifier.PUBLIC) .addField(FieldSpec.builder(TypeName.get(Prov[].class), "idMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new Prov[256]").build()) + .addField(FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(ObjectMap.class), tname(String.class), tname(Prov.class)), "nameMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new ObjectMap<>()").build()) + + .addField(FieldSpec.builder(ParameterizedTypeName.get(ClassName.get(IntMap.class), tname(String.class)), + "customIdMap", Modifier.PUBLIC, Modifier.STATIC).initializer("new IntMap<>()").build()) + + .addMethod(MethodSpec.methodBuilder("register").addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .returns(TypeName.get(int.class)) + .addParameter(String.class, "name").addParameter(Prov.class, "constructor") + .addStatement("int next = arc.util.Structs.indexOf(idMap, v -> v == null)") + .addStatement("idMap[next] = constructor") + .addStatement("nameMap.put(name, constructor)") + .addStatement("customIdMap.put(next, name)") + .addStatement("return next") + .addJavadoc("Use this method for obtaining a classId for custom modded unit types. Only call this once for each type. Modded types should return this id in their overridden classId method.") + .build()) + .addMethod(MethodSpec.methodBuilder("map").addModifiers(Modifier.PUBLIC, Modifier.STATIC) .returns(TypeName.get(Prov.class)).addParameter(int.class, "id").addStatement("return idMap[id]").build()) + .addMethod(MethodSpec.methodBuilder("map").addModifiers(Modifier.PUBLIC, Modifier.STATIC) .returns(TypeName.get(Prov.class)).addParameter(String.class, "name").addStatement("return nameMap.get(name)").build()); @@ -698,11 +774,6 @@ public class EntityProcess extends BaseProcessor{ }else{ //round 3: generate actual classes and implement interfaces - //write base classes - for(TypeSpec.Builder b : baseClasses){ - write(b, imports.asArray()); - } - //implement each definition for(EntityDefinition def : definitions){ @@ -725,6 +796,14 @@ public class EntityProcess extends BaseProcessor{ def.builder.addSuperinterface(inter.tname()); + if(def.legacy) continue; + + @Nullable TypeSpec.Builder superclass = null; + + if(def.extend != null){ + superclass = baseClasses.find(b -> (packageName + "." + Reflect.get(b, "name")).equals(def.extend.toString())); + } + //generate getter/setter for each method for(Smethod method : inter.methods()){ String var = method.name(); @@ -732,84 +811,47 @@ public class EntityProcess extends BaseProcessor{ //make sure it's a real variable AND that the component doesn't already implement it somewhere with custom logic if(field == null || methodNames.contains(method.simpleString())) continue; + MethodSpec result = null; + //getter if(!method.isVoid()){ - def.builder.addMethod(MethodSpec.overriding(method.e).addStatement("return " + var).build()); + result = MethodSpec.overriding(method.e).addStatement("return " + var).build(); } //setter if(method.isVoid() && !Seq.with(field.annotations).contains(f -> f.type.toString().equals("@mindustry.annotations.Annotations.ReadOnly"))){ - def.builder.addMethod(MethodSpec.overriding(method.e).addStatement("this." + var + " = " + var).build()); + result = MethodSpec.overriding(method.e).addStatement("this." + var + " = " + var).build(); } - } - } - write(def.builder, imports.asArray()); - } + //add getter/setter to parent class, if possible. when this happens, skip adding getters setters *here* because they are defined in the superclass. + if(result != null && superclass != null){ + FieldSpec superField = Seq.with(superclass.fieldSpecs).find(f -> f.name.equals(var)); - //store nulls - TypeSpec.Builder nullsBuilder = TypeSpec.classBuilder("Nulls").addModifiers(Modifier.PUBLIC).addModifiers(Modifier.FINAL); - - //create mock types of all components - for(Stype interf : allInterfaces){ - //indirect interfaces to implement methods for - Seq dependencies = interf.allInterfaces().and(interf); - Seq methods = dependencies.flatMap(Stype::methods); - methods.sortComparing(Object::toString); - - //optionally add superclass - Stype superclass = dependencies.map(this::interfaceToComp).find(s -> s != null && s.annotation(Component.class).base()); - //use the base type when the interface being emulated has a base - TypeName type = superclass != null && interfaceToComp(interf).annotation(Component.class).base() ? tname(baseName(superclass)) : interf.tname(); - - //used method signatures - ObjectSet signatures = new ObjectSet<>(); - - //create null builder - String baseName = interf.name().substring(0, interf.name().length() - 1); - String className = "Null" + baseName; - TypeSpec.Builder nullBuilder = TypeSpec.classBuilder(className) - .addModifiers(Modifier.FINAL); - - nullBuilder.addSuperinterface(interf.tname()); - if(superclass != null) nullBuilder.superclass(tname(baseName(superclass))); - - for(Smethod method : methods){ - String signature = method.toString(); - if(signatures.contains(signature)) continue; - - Stype compType = interfaceToComp(method.type()); - MethodSpec.Builder builder = MethodSpec.overriding(method.e).addModifiers(Modifier.PUBLIC, Modifier.FINAL); - builder.addAnnotation(OverrideCallSuper.class); //just in case - - if(!method.isVoid()){ - if(method.name().equals("isNull")){ - builder.addStatement("return true"); - }else if(method.name().equals("id")){ - builder.addStatement("return -1"); - }else{ - Svar variable = compType == null || method.params().size > 0 ? null : compType.fields().find(v -> v.name().equals(method.name())); - String desc = variable == null ? null : variable.descString(); - if(variable == null || !varInitializers.containsKey(desc)){ - builder.addStatement("return " + getDefault(method.ret().toString())); - }else{ - String init = varInitializers.get(desc); - builder.addStatement("return " + (init.equals("{}") ? "new " + variable.mirror().toString() : "") + init); + //found the right field, try to check for the method already existing now + if(superField != null){ + MethodSpec fr = result; + MethodSpec targetMethod = Seq.with(superclass.methodSpecs).find(m -> m.name.equals(var) && m.returnType.equals(fr.returnType)); + //if the method isn't added yet, add it. in any case, skip. + if(targetMethod == null){ + superclass.addMethod(result); + } + continue; } } + + if(result != null){ + def.builder.addMethod(result); + } } - - nullBuilder.addMethod(builder.build()); - - signatures.add(signature); } - nullsBuilder.addField(FieldSpec.builder(type, Strings.camelize(baseName)).initializer("new " + className + "()").addModifiers(Modifier.FINAL, Modifier.STATIC, Modifier.PUBLIC).build()); - - write(nullBuilder); + write(def.builder, imports.toSeq()); } - write(nullsBuilder); + //write base classes last + for(TypeSpec.Builder b : baseClasses){ + write(b, imports.toSeq()); + } } } @@ -862,7 +904,7 @@ public class EntityProcess extends BaseProcessor{ out.addAll(getDependencies(comp)); } - defComponents.put(type, out.asArray()); + defComponents.put(type, out.toSeq()); } return defComponents.get(type); @@ -889,7 +931,7 @@ public class EntityProcess extends BaseProcessor{ //remove it again just in case out.remove(component); - componentDependencies.put(component, result.asArray()); + componentDependencies.put(component, result.toSeq()); } return componentDependencies.get(component); @@ -900,7 +942,7 @@ public class EntityProcess extends BaseProcessor{ } String createName(Selement elem){ - Seq comps = types(elem.annotation(EntityDef.class), EntityDef::value).map(this::interfaceToComp);; + Seq comps = types(elem.annotation(EntityDef.class), EntityDef::value).map(this::interfaceToComp); comps.sortComparing(Selement::name); return comps.toString("", s -> s.name().replace("Comp", "")); } @@ -914,6 +956,11 @@ public class EntityProcess extends BaseProcessor{ throw new IllegalArgumentException("Missing types."); } + void skipDeprecated(TypeSpec.Builder builder){ + //deprecations are irrelevant in generated code + builder.addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"deprecation\"").build()); + } + class GroupDefinition{ final String name; final ClassName baseType; @@ -944,9 +991,10 @@ public class EntityProcess extends BaseProcessor{ final Selement naming; final String name; final @Nullable TypeName extend; + final boolean legacy; int classID; - public EntityDefinition(String name, Builder builder, Selement naming, TypeName extend, Seq components, Seq groups, Seq fieldSpec){ + public EntityDefinition(String name, Builder builder, Selement naming, TypeName extend, Seq components, Seq groups, Seq fieldSpec, boolean legacy){ this.builder = builder; this.name = name; this.naming = naming; @@ -954,6 +1002,7 @@ public class EntityProcess extends BaseProcessor{ this.components = components; this.extend = extend; this.fieldSpecs = fieldSpec; + this.legacy = legacy; } @Override diff --git a/annotations/src/main/java/mindustry/annotations/impl/AssetsProcess.java b/annotations/src/main/java/mindustry/annotations/impl/AssetsProcess.java index c38570a4d4..64b12ca33d 100644 --- a/annotations/src/main/java/mindustry/annotations/impl/AssetsProcess.java +++ b/annotations/src/main/java/mindustry/annotations/impl/AssetsProcess.java @@ -1,5 +1,7 @@ package mindustry.annotations.impl; +import arc.*; +import arc.audio.*; import arc.files.*; import arc.scene.style.*; import arc.struct.*; @@ -20,8 +22,8 @@ public class AssetsProcess extends BaseProcessor{ @Override public void process(RoundEnvironment env) throws Exception{ - processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound"); - processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music"); + processSounds("Sounds", rootDirectory + "/core/assets/sounds", "arc.audio.Sound", true); + processSounds("Musics", rootDirectory + "/core/assets/music", "arc.audio.Music", false); processUI(env.getElementsAnnotatedWith(StyleDefaults.class)); } @@ -43,7 +45,7 @@ public class AssetsProcess extends BaseProcessor{ texIcons.each((key, val) -> { String[] split = val.split("\\|"); - String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", ""); + String name = Strings.kebabToCamel(split[1]).replace("Medium", "").replace("Icon", "").replace("Ui", ""); if(SourceVersion.isKeyword(name) || name.equals("char")) name += "i"; ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).addJavadoc(String.format("\\u%04x", Integer.parseInt(key))).initializer("'" + ((char)Integer.parseInt(key)) + "'").build()); @@ -55,6 +57,9 @@ public class AssetsProcess extends BaseProcessor{ ichtype.addField(FieldSpec.builder(ParameterizedTypeName.get(ObjectIntMap.class, String.class), "codes", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new ObjectIntMap<>()").build()); + ichtype.addField(FieldSpec.builder(ParameterizedTypeName.get(IntMap.class, String.class), + "codeToName", Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).initializer("new IntMap<>()").build()); + ObjectSet used = new ObjectSet<>(); for(Jval val : icons.get("glyphs").asArray()){ @@ -65,7 +70,9 @@ public class AssetsProcess extends BaseProcessor{ int code = val.getInt("code", 0); iconcAll.append((char)code); ichtype.addField(FieldSpec.builder(char.class, name, Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL).addJavadoc(String.format("\\u%04x", code)).initializer("'" + ((char)code) + "'").build()); + ichinit.addStatement("codes.put($S, $L)", name, code); + ichinit.addStatement("codeToName.put($L, $S)", code, name); ictype.addField(TextureRegionDrawable.class, name + "Small", Modifier.PUBLIC, Modifier.STATIC); icload.addStatement(name + "Small = mindustry.ui.Fonts.getGlyph(mindustry.ui.Fonts.def, (char)" + code + ")"); @@ -87,18 +94,18 @@ public class AssetsProcess extends BaseProcessor{ filename = filename.substring(0, filename.indexOf(".")); String sfilen = filename; - String dtype = p.name().endsWith(".9.png") ? "arc.scene.style.NinePatchDrawable" : "arc.scene.style.TextureRegionDrawable"; + String dtype = "arc.scene.style.Drawable"; String varname = capitalize(sfilen); if(SourceVersion.isKeyword(varname)) varname += "s"; type.addField(ClassName.bestGuess(dtype), varname, Modifier.STATIC, Modifier.PUBLIC); - load.addStatement(varname + " = (" + dtype + ")arc.Core.atlas.drawable($S)", sfilen); + load.addStatement(varname + " = arc.Core.atlas.drawable($S)", sfilen); }); for(Element elem : elements){ - Seq.with(((TypeElement)elem).getEnclosedElements()).each(e -> e.getKind() == ElementKind.FIELD, field -> { + Seq.with(elem.getEnclosedElements()).each(e -> e.getKind() == ElementKind.FIELD, field -> { String fname = field.getSimpleName().toString(); if(fname.startsWith("default")){ loadStyles.addStatement("arc.Core.scene.addStyle(" + field.asType().toString() + ".class, mindustry.ui.Styles." + fname + ")"); @@ -115,17 +122,40 @@ public class AssetsProcess extends BaseProcessor{ JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.filer); } - void processSounds(String classname, String path, String rtype) throws Exception{ + void processSounds(String classname, String path, String rtype, boolean genid) throws Exception{ TypeSpec.Builder type = TypeSpec.classBuilder(classname).addModifiers(Modifier.PUBLIC); - MethodSpec.Builder dispose = MethodSpec.methodBuilder("dispose").addModifiers(Modifier.PUBLIC, Modifier.STATIC); MethodSpec.Builder loadBegin = MethodSpec.methodBuilder("load").addModifiers(Modifier.PUBLIC, Modifier.STATIC); + CodeBlock.Builder staticb = CodeBlock.builder(); + + if(genid){ + type.addField(FieldSpec.builder(IntMap.class, "idToSound", Modifier.STATIC, Modifier.PRIVATE).initializer("new IntMap()").build()); + type.addField(FieldSpec.builder(ObjectIntMap.class, "soundToId", Modifier.STATIC, Modifier.PRIVATE).initializer("new ObjectIntMap()").build()); + + type.addMethod(MethodSpec.methodBuilder("getSoundId") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .addParameter(Sound.class, "sound") + .returns(int.class) + .addStatement("return soundToId.get(sound, -1)").build()); + + type.addMethod(MethodSpec.methodBuilder("getSound") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC) + .addParameter(int.class, "id") + .returns(Sound.class) + .addStatement("return (Sound)idToSound.get(id, () -> Sounds.none)").build()); + } HashSet names = new HashSet<>(); - Fi.get(path).walk(p -> { + Seq files = new Seq<>(); + Fi.get(path).walk(files::add); + + files.sortComparing(Fi::name); + int id = 0; + + for(Fi p : files){ String name = p.nameWithoutExtension(); if(names.contains(name)){ - BaseProcessor.err("Duplicate file name: " + p.toString() + "!"); + BaseProcessor.err("Duplicate file name: " + p + "!"); }else{ names.add(name); } @@ -134,20 +164,29 @@ public class AssetsProcess extends BaseProcessor{ String filepath = path.substring(path.lastIndexOf("/") + 1) + p.path().substring(p.path().lastIndexOf(path) + path.length()); - String filename = "\"" + filepath + "\""; - loadBegin.addStatement("arc.Core.assets.load(" + filename + ", " + rtype + ".class).loaded = a -> " + name + " = (" + rtype + ")a", filepath, filepath.replace(".ogg", ".mp3")); + if(genid){ + staticb.addStatement("soundToId.put($L, $L)", name, id); - dispose.addStatement("arc.Core.assets.unload(" + filename + ")"); - dispose.addStatement(name + " = null"); - type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build()); - }); + loadBegin.addStatement("$T.assets.load($S, $L.class).loaded = a -> { $L = ($L)a; soundToId.put(a, $L); idToSound.put($L, a); }", + Core.class, filepath, rtype, name, rtype, id, id); + }else{ + loadBegin.addStatement("$T.assets.load($S, $L.class).loaded = a -> { $L = ($L)a; }", Core.class, filepath, rtype, name, rtype); + } + + type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), name, Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build()); + + id ++; + } + + if(genid){ + type.addStaticBlock(staticb.build()); + } if(classname.equals("Sounds")){ - type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new arc.audio." + rtype.substring(rtype.lastIndexOf(".") + 1) + "()").build()); + type.addField(FieldSpec.builder(ClassName.bestGuess(rtype), "none", Modifier.STATIC, Modifier.PUBLIC).initializer("new " + rtype + "()").build()); } type.addMethod(loadBegin.build()); - type.addMethod(dispose.build()); JavaFile.builder(packageName, type.build()).build().writeTo(BaseProcessor.filer); } diff --git a/annotations/src/main/java/mindustry/annotations/impl/CallSuperProcess.java b/annotations/src/main/java/mindustry/annotations/impl/CallSuperProcess.java deleted file mode 100644 index e28ecf13a0..0000000000 --- a/annotations/src/main/java/mindustry/annotations/impl/CallSuperProcess.java +++ /dev/null @@ -1,154 +0,0 @@ -package mindustry.annotations.impl; - -import com.sun.source.tree.*; -import com.sun.source.util.*; -import com.sun.tools.javac.code.Scope; -import com.sun.tools.javac.code.*; -import com.sun.tools.javac.code.Symbol.*; -import com.sun.tools.javac.code.Type.*; -import com.sun.tools.javac.tree.*; -import com.sun.tools.javac.tree.JCTree.*; -import mindustry.annotations.Annotations.*; - -import javax.annotation.processing.*; -import javax.lang.model.*; -import javax.lang.model.element.*; -import javax.tools.Diagnostic.*; -import java.lang.annotation.*; -import java.util.*; - -@SupportedAnnotationTypes({"java.lang.Override"}) -public class CallSuperProcess extends AbstractProcessor{ - private Trees trees; - - @Override - public void init(ProcessingEnvironment pe){ - super.init(pe); - trees = Trees.instance(pe); - } - - @Override - public boolean process(Set annotations, RoundEnvironment roundEnv){ - for(Element e : roundEnv.getElementsAnnotatedWith(Override.class)){ - if(e.getAnnotation(OverrideCallSuper.class) != null) return false; - - CodeAnalyzerTreeScanner codeScanner = new CodeAnalyzerTreeScanner(); - codeScanner.methodName = e.getSimpleName().toString(); - - TreePath tp = trees.getPath(e.getEnclosingElement()); - codeScanner.scan(tp, trees); - - if(codeScanner.callSuperUsed){ - List list = codeScanner.method.getBody().getStatements(); - - if(!doesCallSuper(list, codeScanner.methodName)){ - processingEnv.getMessager().printMessage(Kind.ERROR, "Overriding method '" + codeScanner.methodName + "' must explicitly call super method from its parent class.", e); - } - } - } - - return false; - } - - private boolean doesCallSuper(List list, String methodName){ - for(Object object : list){ - if(object instanceof JCTree.JCExpressionStatement){ - JCTree.JCExpressionStatement expr = (JCExpressionStatement)object; - String exprString = expr.toString(); - if(exprString.startsWith("super." + methodName) && exprString.endsWith(");")) return true; - } - } - - return false; - } - - @Override - public SourceVersion getSupportedSourceVersion(){ - return SourceVersion.RELEASE_8; - } - - static class CodeAnalyzerTreeScanner extends TreePathScanner{ - String methodName; - MethodTree method; - boolean callSuperUsed; - - @Override - public Object visitClass(ClassTree classTree, Trees trees){ - Tree extendTree = classTree.getExtendsClause(); - - if(extendTree instanceof JCTypeApply){ //generic classes case - JCTypeApply generic = (JCTypeApply)extendTree; - extendTree = generic.clazz; - } - - if(extendTree instanceof JCIdent){ - JCIdent tree = (JCIdent)extendTree; - - if(tree == null || tree.sym == null) return super.visitClass(classTree, trees); - - com.sun.tools.javac.code.Scope members = tree.sym.members(); - - if(checkScope(members)) - return super.visitClass(classTree, trees); - - if(checkSuperTypes((ClassType)tree.type)) - return super.visitClass(classTree, trees); - - } - callSuperUsed = false; - - return super.visitClass(classTree, trees); - } - - public boolean checkSuperTypes(ClassType type){ - if(type.supertype_field != null && type.supertype_field.tsym != null){ - if(checkScope(type.supertype_field.tsym.members())) - return true; - else - return checkSuperTypes((ClassType)type.supertype_field); - } - - return false; - } - - @SuppressWarnings("unchecked") - public boolean checkScope(Scope members){ - Iterable it; - try{ - it = (Iterable)members.getClass().getMethod("getElements").invoke(members); - }catch(Throwable t){ - try{ - it = (Iterable)members.getClass().getMethod("getSymbols").invoke(members); - }catch(Exception e){ - throw new RuntimeException(e); - } - } - - for(Symbol s : it){ - - if(s instanceof MethodSymbol){ - MethodSymbol ms = (MethodSymbol)s; - - if(ms.getSimpleName().toString().equals(methodName)){ - Annotation annotation = ms.getAnnotation(CallSuper.class); - if(annotation != null){ - callSuperUsed = true; - return true; - } - } - } - } - - return false; - } - - @Override - public Object visitMethod(MethodTree methodTree, Trees trees){ - if(methodTree.getName().toString().equals(methodName)) - method = methodTree; - - return super.visitMethod(methodTree, trees); - } - - } -} diff --git a/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java b/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java index 975e1dceee..955587301d 100644 --- a/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java +++ b/annotations/src/main/java/mindustry/annotations/impl/StructProcess.java @@ -1,6 +1,7 @@ package mindustry.annotations.impl; import arc.struct.*; +import arc.util.*; import com.squareup.javapoet.*; import mindustry.annotations.Annotations.*; import mindustry.annotations.*; @@ -63,23 +64,28 @@ public class StructProcess extends BaseProcessor{ int size = varSize(var); TypeName varType = var.tname(); String varName = var.name(); + boolean isBool = varType == TypeName.BOOLEAN; //add val param to constructor constructor.addParameter(varType, varName); //[get] field(structType) : fieldType - MethodSpec.Builder getter = MethodSpec.methodBuilder(var.name().toString()) + MethodSpec.Builder getter = MethodSpec.methodBuilder(var.name()) .addModifiers(Modifier.STATIC, Modifier.PUBLIC) .returns(varType) .addParameter(structType, structParam); //[set] field(structType, fieldType) : structType - MethodSpec.Builder setter = MethodSpec.methodBuilder(var.name().toString()) + MethodSpec.Builder setter = MethodSpec.methodBuilder(var.name()) .addModifiers(Modifier.STATIC, Modifier.PUBLIC) .returns(structType) .addParameter(structType, structParam).addParameter(varType, "value"); + //field for offset + classBuilder.addField(FieldSpec.builder(structType, "bitMask" + Strings.capitalize(varName), Modifier.PUBLIC, Modifier.STATIC, Modifier.FINAL) + .initializer(!isBool ? "($T)($L)" : "($T)(1L << $L)", structType, isBool ? offset : bitString(offset, size, structTotalSize)).build()); + //[getter] - if(varType == TypeName.BOOLEAN){ + if(isBool){ //bools: single bit, is simplified getter.addStatement("return ($L & (1L << $L)) != 0", structParam, offset); }else if(varType == TypeName.FLOAT){ @@ -91,25 +97,25 @@ public class StructProcess extends BaseProcessor{ } //[setter] + [constructor building] - if(varType == TypeName.BOOLEAN){ + if(isBool){ cons.append(" | (").append(varName).append(" ? ").append("1L << ").append(offset).append("L : 0)"); //bools: single bit, needs special case to clear things setter.beginControlFlow("if(value)"); - setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset); + setter.addStatement("return ($T)($L | (1L << $LL))", structType, structParam, offset); setter.nextControlFlow("else"); - setter.addStatement("return ($T)(($L & ~(1L << $LL)) | (1L << $LL))", structType, structParam, offset, offset); + setter.addStatement("return ($T)(($L & ~(1L << $LL)))", structType, structParam, offset); setter.endControlFlow(); }else if(varType == TypeName.FLOAT){ cons.append(" | (").append("(").append(structType).append(")").append("Float.floatToIntBits(").append(varName).append(") << ").append(offset).append("L)"); //floats: need conversion - setter.addStatement("return ($T)(($L & $L) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset); + setter.addStatement("return ($T)(($L & (~$L)) | (($T)Float.floatToIntBits(value) << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset); }else{ cons.append(" | (((").append(structType).append(")").append(varName).append(" << ").append(offset).append("L)").append(" & ").append(bitString(offset, size, structTotalSize)).append(")"); //bytes, shorts, chars, ints - setter.addStatement("return ($T)(($L & $L) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset); + setter.addStatement("return ($T)(($L & (~$L)) | (($T)value << $LL))", structType, structParam, bitString(offset, size, structTotalSize), structType, offset); } doc.append("
").append(varName).append(" [").append(offset).append("..").append(size + offset).append("]\n"); @@ -124,7 +130,7 @@ public class StructProcess extends BaseProcessor{ classBuilder.addJavadoc(doc.toString()); //add constructor final statement + add to class and build - constructor.addStatement("return ($T)($L)", structType, cons.toString().substring(3)); + constructor.addStatement("return ($T)($L)", structType, cons.substring(3)); classBuilder.addMethod(constructor.build()); JavaFile.builder(packageName, classBuilder.build()).build().writeTo(BaseProcessor.filer); diff --git a/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java b/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java index d2e3e99c17..b9b2bc9dad 100644 --- a/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java +++ b/annotations/src/main/java/mindustry/annotations/misc/LoadRegionProcessor.java @@ -3,7 +3,6 @@ package mindustry.annotations.misc; import arc.*; import arc.graphics.g2d.*; import arc.struct.*; -import arc.struct.ObjectMap.*; import com.squareup.javapoet.*; import mindustry.annotations.Annotations.*; import mindustry.annotations.*; @@ -18,6 +17,7 @@ public class LoadRegionProcessor extends BaseProcessor{ @Override public void process(RoundEnvironment env) throws Exception{ TypeSpec.Builder regionClass = TypeSpec.classBuilder("ContentRegions") + .addAnnotation(AnnotationSpec.builder(SuppressWarnings.class).addMember("value", "\"deprecation\"").build()) .addModifiers(Modifier.PUBLIC); MethodSpec.Builder method = MethodSpec.methodBuilder("loadRegions") .addParameter(tname("mindustry.ctype.MappableContent"), "content") @@ -33,10 +33,15 @@ public class LoadRegionProcessor extends BaseProcessor{ fieldMap.get(field.enclosingType(), Seq::new).add(field); } - for(Entry> entry : fieldMap){ - method.beginControlFlow("if(content instanceof $T)", entry.key.tname()); + Seq entries = Seq.with(fieldMap.keys()); + entries.sortComparing(e -> e.name()); - for(Svar field : entry.value){ + for(Stype type : entries){ + Seq fields = fieldMap.get(type); + fields.sortComparing(s -> s.name()); + method.beginControlFlow("if(content instanceof $L)", type.fullName()); + + for(Svar field : fields){ Load an = field.annotation(Load.class); //get # of array dimensions int dims = count(field.mirror().toString(), "[]"); @@ -45,7 +50,7 @@ public class LoadRegionProcessor extends BaseProcessor{ //not an array if(dims == 0){ - method.addStatement("(($T)content).$L = $T.atlas.find($L$L)", entry.key.tname(), field.name(), Core.class, parse(an.value()), fallbackString); + method.addStatement("(($L)content).$L = $T.atlas.find($L$L)", type.fullName(), field.name(), Core.class, parse(an.value()), fallbackString); }else{ //is an array, create length string int[] lengths = an.lengths(); @@ -58,7 +63,7 @@ public class LoadRegionProcessor extends BaseProcessor{ StringBuilder lengthString = new StringBuilder(); for(int value : lengths) lengthString.append("[").append(value).append("]"); - method.addStatement("(($T)content).$L = new $T$L", entry.key.tname(), field.name(), TextureRegion.class, lengthString.toString()); + method.addStatement("(($T)content).$L = new $T$L", type.tname(), field.name(), TextureRegion.class, lengthString.toString()); for(int i = 0; i < dims; i++){ method.beginControlFlow("for(int INDEX$L = 0; INDEX$L < $L; INDEX$L ++)", i, i, lengths[i], i); @@ -69,7 +74,7 @@ public class LoadRegionProcessor extends BaseProcessor{ indexString.append("[INDEX").append(i).append("]"); } - method.addStatement("(($T)content).$L$L = $T.atlas.find($L$L)", entry.key.tname(), field.name(), indexString.toString(), Core.class, parse(an.value()), fallbackString); + method.addStatement("(($T)content).$L$L = $T.atlas.find($L$L)", type.tname(), field.name(), indexString.toString(), Core.class, parse(an.value()), fallbackString); for(int i = 0; i < dims; i++){ method.endControlFlow(); diff --git a/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java b/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java index 6e597bd002..a6b2643c61 100644 --- a/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java +++ b/annotations/src/main/java/mindustry/annotations/misc/LogicStatementProcessor.java @@ -26,7 +26,8 @@ public class LogicStatementProcessor extends BaseProcessor{ MethodSpec.Builder reader = MethodSpec.methodBuilder("read") .addModifiers(Modifier.PUBLIC, Modifier.STATIC) .returns(tname("mindustry.logic.LStatement")) - .addParameter(String[].class, "tokens"); + .addParameter(String[].class, "tokens") + .addParameter(int.class, "length"); Seq types = types(RegisterStatement.class); @@ -76,7 +77,7 @@ public class LogicStatementProcessor extends BaseProcessor{ ""); //reading primitives, strings and enums is supported; nothing else is - reader.addStatement("if(tokens.length > $L) result.$L = $L(tokens[$L])", + reader.addStatement("if(length > $L) result.$L = $L(tokens[$L])", index + 1, field.name(), field.mirror().toString().equals("java.lang.String") ? diff --git a/annotations/src/main/java/mindustry/annotations/remote/CallGenerator.java b/annotations/src/main/java/mindustry/annotations/remote/CallGenerator.java new file mode 100644 index 0000000000..d13d4bae3c --- /dev/null +++ b/annotations/src/main/java/mindustry/annotations/remote/CallGenerator.java @@ -0,0 +1,386 @@ +package mindustry.annotations.remote; + +import arc.struct.*; +import arc.util.io.*; +import com.squareup.javapoet.*; +import mindustry.annotations.Annotations.*; +import mindustry.annotations.*; +import mindustry.annotations.util.*; +import mindustry.annotations.util.TypeIOResolver.*; + +import javax.lang.model.element.*; +import java.io.*; + +import static mindustry.annotations.BaseProcessor.*; + +/** Generates code for writing remote invoke packets on the client and server. */ +public class CallGenerator{ + + /** Generates all classes in this list. */ + public static void generate(ClassSerializer serializer, Seq methods) throws IOException{ + //create builder + TypeSpec.Builder callBuilder = TypeSpec.classBuilder(RemoteProcess.callLocation).addModifiers(Modifier.PUBLIC); + + MethodSpec.Builder register = MethodSpec.methodBuilder("registerPackets") + .addModifiers(Modifier.PUBLIC, Modifier.STATIC); + + //go through each method entry in this class + for(MethodEntry ent : methods){ + //builder for the packet type + TypeSpec.Builder packet = TypeSpec.classBuilder(ent.packetClassName) + .addModifiers(Modifier.PUBLIC); + + //temporary data to deserialize later + packet.addField(FieldSpec.builder(byte[].class, "DATA", Modifier.PRIVATE).initializer("NODATA").build()); + + packet.superclass(tname("mindustry.net.Packet")); + + //return the correct priority + if(ent.priority != PacketPriority.normal){ + packet.addMethod(MethodSpec.methodBuilder("getPriority") + .addModifiers(Modifier.PUBLIC) + .addAnnotation(Override.class).returns(int.class).addStatement("return $L", ent.priority.ordinal()) + .build()); + } + + //implement read & write methods + makeWriter(packet, ent, serializer); + makeReader(packet, ent, serializer); + + //generate handlers + if(ent.where.isClient){ + packet.addMethod(writeHandleMethod(ent, false)); + } + + if(ent.where.isServer){ + packet.addMethod(writeHandleMethod(ent, true)); + } + + //register packet + register.addStatement("mindustry.net.Net.registerPacket($L.$L::new)", packageName, ent.packetClassName); + + //add fields to the type + Seq params = ent.element.params(); + for(int i = 0; i < params.size; i++){ + if(!ent.where.isServer && i == 0){ + continue; + } + + Svar param = params.get(i); + packet.addField(param.tname(), param.name(), Modifier.PUBLIC); + } + + //write the 'send event to all players' variant: always happens for clients, but only happens if 'all' is enabled on the server method + if(ent.where.isClient || ent.target.isAll){ + writeCallMethod(callBuilder, ent, true, false); + } + + //write the 'send event to one player' variant, which is only applicable on the server + if(ent.where.isServer && ent.target.isOne){ + writeCallMethod(callBuilder, ent, false, false); + } + + //write the forwarded method version + if(ent.where.isServer && ent.forward){ + writeCallMethod(callBuilder, ent, true, true); + } + + //write the completed packet class + JavaFile.builder(packageName, packet.build()).build().writeTo(BaseProcessor.filer); + } + + callBuilder.addMethod(register.build()); + + //build and write resulting class + TypeSpec spec = callBuilder.build(); + JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer); + } + + private static void makeWriter(TypeSpec.Builder typespec, MethodEntry ent, ClassSerializer serializer){ + MethodSpec.Builder builder = MethodSpec.methodBuilder("write") + .addParameter(Writes.class, "WRITE") + .addModifiers(Modifier.PUBLIC).addAnnotation(Override.class); + Seq params = ent.element.params(); + + for(int i = 0; i < params.size; i++){ + //first argument is skipped as it is always the player caller + if(!ent.where.isServer && i == 0){ + continue; + } + + Svar var = params.get(i); + + //name of parameter + String varName = var.name(); + //name of parameter type + String typeName = var.mirror().toString(); + //special case: method can be called from anywhere to anywhere + //thus, only write the player when the SERVER is writing data, since the client is the only one who reads the player anyway + boolean writePlayerSkipCheck = ent.where == Loc.both && i == 0; + + if(writePlayerSkipCheck){ //write begin check + builder.beginControlFlow("if(mindustry.Vars.net.server())"); + } + + if(BaseProcessor.isPrimitive(typeName)){ //check if it's a primitive, and if so write it + builder.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName); + }else{ + //else, try and find a serializer + String ser = serializer.getNetWriter(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), true)); + + if(ser == null){ //make sure a serializer exists! + BaseProcessor.err("No method to write class type: '" + typeName + "'", var); + } + + //add statement for writing it + builder.addStatement(ser + "(WRITE, " + varName + ")"); + } + + if(writePlayerSkipCheck){ //write end check + builder.endControlFlow(); + } + } + + typespec.addMethod(builder.build()); + } + + private static void makeReader(TypeSpec.Builder typespec, MethodEntry ent, ClassSerializer serializer){ + MethodSpec.Builder readbuilder = MethodSpec.methodBuilder("read") + .addParameter(Reads.class, "READ") + .addParameter(int.class, "LENGTH") + .addModifiers(Modifier.PUBLIC).addAnnotation(Override.class); + + //read only into temporary data buffer + readbuilder.addStatement("DATA = READ.b(LENGTH)"); + + typespec.addMethod(readbuilder.build()); + + MethodSpec.Builder builder = MethodSpec.methodBuilder("handled") + .addModifiers(Modifier.PUBLIC) + .addAnnotation(Override.class); + + //make sure data is present, begin reading it if so + builder.addStatement("BAIS.setBytes(DATA)"); + + Seq params = ent.element.params(); + + //go through each parameter + for(int i = 0; i < params.size; i++){ + Svar var = params.get(i); + + //first argument is skipped as it is always the player caller + if(!ent.where.isServer && i == 0){ + continue; + } + + //special case: method can be called from anywhere to anywhere + //thus, only read the player when the CLIENT is receiving data, since the client is the only one who cares about the player anyway + boolean writePlayerSkipCheck = ent.where == Loc.both && i == 0; + + if(writePlayerSkipCheck){ //write begin check + builder.beginControlFlow("if(mindustry.Vars.net.client())"); + } + + //full type name of parameter + String typeName = var.mirror().toString(); + //name of parameter + String varName = var.name(); + //capitalized version of type name for reading primitives + String pname = typeName.equals("boolean") ? "bool" : typeName.charAt(0) + ""; + + //write primitives automatically + if(BaseProcessor.isPrimitive(typeName)){ + builder.addStatement("$L = READ.$L()", varName, pname); + }else{ + //else, try and find a serializer + String ser = serializer.readers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(ent.element.e, var.mirror(), false)); + + if(ser == null){ //make sure a serializer exists! + BaseProcessor.err("No read method to read class type '" + typeName + "' in method " + ent.targetMethod + "; " + serializer.readers, var); + } + + //add statement for reading it + builder.addStatement("$L = $L(READ)", varName, ser); + } + + if(writePlayerSkipCheck){ //write end check + builder.endControlFlow(); + } + } + + typespec.addMethod(builder.build()); + } + + /** Creates a specific variant for a method entry. */ + private static void writeCallMethod(TypeSpec.Builder classBuilder, MethodEntry ent, boolean toAll, boolean forwarded){ + Smethod elem = ent.element; + Seq params = elem.params(); + + //create builder + MethodSpec.Builder method = MethodSpec.methodBuilder(elem.name() + (forwarded ? "__forward" : "")) //add except suffix when forwarding + .addModifiers(Modifier.STATIC) + .returns(void.class); + + //forwarded methods aren't intended for use, and are not public + if(!forwarded){ + method.addModifiers(Modifier.PUBLIC); + } + + //validate client methods to make sure + if(ent.where.isClient){ + if(params.isEmpty()){ + BaseProcessor.err("Client invoke methods must have a first parameter of type Player", elem); + return; + } + + if(!params.get(0).mirror().toString().contains("Player")){ + BaseProcessor.err("Client invoke methods should have a first parameter of type Player", elem); + return; + } + } + + //if toAll is false, it's a 'send to one player' variant, so add the player as a parameter + if(!toAll){ + method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "playerConnection"); + } + + //add sender to ignore + if(forwarded){ + method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "exceptConnection"); + } + + //call local method if applicable, shouldn't happen when forwarding method as that already happens by default + if(!forwarded && ent.local != Loc.none){ + //add in local checks + if(ent.local != Loc.both){ + method.beginControlFlow("if(" + getCheckString(ent.local) + " || !mindustry.Vars.net.active())"); + } + + //concatenate parameters + int index = 0; + StringBuilder results = new StringBuilder(); + for(Svar var : params){ + //special case: calling local-only methods uses the local player + if(index == 0 && ent.where == Loc.client){ + results.append("mindustry.Vars.player"); + }else{ + results.append(var.name()); + } + if(index != params.size - 1) results.append(", "); + index++; + } + + //add the statement to call it + method.addStatement("$N." + elem.name() + "(" + results + ")", + ((TypeElement)elem.up()).getQualifiedName().toString()); + + if(ent.local != Loc.both){ + method.endControlFlow(); + } + } + + //start control flow to check if it's actually client/server so no netcode is called + method.beginControlFlow("if(" + getCheckString(ent.where) + ")"); + + //add statement to create packet from pool + method.addStatement("$1T packet = new $1T()", tname("mindustry.gen." + ent.packetClassName)); + + method.addTypeVariables(Seq.with(elem.e.getTypeParameters()).map(BaseProcessor::getTVN)); + + for(int i = 0; i < params.size; i++){ + //first argument is skipped as it is always the player caller + if((!ent.where.isServer) && i == 0){ + continue; + } + + Svar var = params.get(i); + + method.addParameter(var.tname(), var.name()); + + //name of parameter + String varName = var.name(); + //special case: method can be called from anywhere to anywhere + //thus, only write the player when the SERVER is writing data, since the client is the only one who reads it + boolean writePlayerSkipCheck = ent.where == Loc.both && i == 0; + + if(writePlayerSkipCheck){ //write begin check + method.beginControlFlow("if(mindustry.Vars.net.server())"); + } + + method.addStatement("packet.$L = $L", varName, varName); + + if(writePlayerSkipCheck){ //write end check + method.endControlFlow(); + } + } + + String sendString; + + if(forwarded){ //forward packet + if(!ent.local.isClient){ //if the client doesn't get it called locally, forward it back after validation + sendString = "mindustry.Vars.net.send("; + }else{ + sendString = "mindustry.Vars.net.sendExcept(exceptConnection, "; + } + }else if(toAll){ //send to all players / to server + sendString = "mindustry.Vars.net.send("; + }else{ //send to specific client from server + sendString = "playerConnection.send("; + } + + //send the actual packet + method.addStatement(sendString + "packet, " + (!ent.unreliable) + ")"); + + + //end check for server/client + method.endControlFlow(); + + //add method to class, finally + classBuilder.addMethod(method.build()); + } + + private static String getCheckString(Loc loc){ + return + loc.isClient && loc.isServer ? "mindustry.Vars.net.server() || mindustry.Vars.net.client()" : + loc.isClient ? "mindustry.Vars.net.client()" : + loc.isServer ? "mindustry.Vars.net.server()" : "false"; + } + + /** Generates handleServer / handleClient methods. */ + public static MethodSpec writeHandleMethod(MethodEntry ent, boolean isClient){ + + //create main method builder + MethodSpec.Builder builder = MethodSpec.methodBuilder(isClient ? "handleClient" : "handleServer") + .addModifiers(Modifier.PUBLIC) + .addAnnotation(Override.class) + .returns(void.class); + + Smethod elem = ent.element; + Seq params = elem.params(); + + if(!isClient){ + //add player parameter + builder.addParameter(ClassName.get("mindustry.net", "NetConnection"), "con"); + + //skip if player is invalid + builder.beginControlFlow("if(con.player == null || con.kicked)"); + builder.addStatement("return"); + builder.endControlFlow(); + + //make sure to use the actual player who sent the packet + builder.addStatement("mindustry.gen.Player player = con.player"); + } + + //execute the relevant method before the forward + //if it throws a ValidateException, the method won't be forwarded + builder.addStatement("$N." + elem.name() + "(" + params.toString(", ", s -> s.name()) + ")", ((TypeElement)elem.up()).getQualifiedName().toString()); + + //call forwarded method, don't forward on the client reader + if(ent.forward && ent.where.isServer && !isClient){ + //call forwarded method + builder.addStatement("$L.$L.$L__forward(con, $L)", packageName, ent.className, elem.name(), params.toString(", ", s -> s.name())); + } + + return builder.build(); + } +} diff --git a/annotations/src/main/java/mindustry/annotations/remote/ClassEntry.java b/annotations/src/main/java/mindustry/annotations/remote/ClassEntry.java deleted file mode 100644 index 3474eff468..0000000000 --- a/annotations/src/main/java/mindustry/annotations/remote/ClassEntry.java +++ /dev/null @@ -1,15 +0,0 @@ -package mindustry.annotations.remote; - -import java.util.ArrayList; - -/** Represents a class witha list method entries to include in it. */ -public class ClassEntry{ - /** All methods in this generated class. */ - public final ArrayList methods = new ArrayList<>(); - /** Simple class name. */ - public final String name; - - public ClassEntry(String name){ - this.name = name; - } -} diff --git a/annotations/src/main/java/mindustry/annotations/remote/MethodEntry.java b/annotations/src/main/java/mindustry/annotations/remote/MethodEntry.java index 68ea81dec0..768b373387 100644 --- a/annotations/src/main/java/mindustry/annotations/remote/MethodEntry.java +++ b/annotations/src/main/java/mindustry/annotations/remote/MethodEntry.java @@ -1,8 +1,7 @@ package mindustry.annotations.remote; import mindustry.annotations.Annotations.*; - -import javax.lang.model.element.ExecutableElement; +import mindustry.annotations.util.*; /** Class that repesents a remote method to be constructed and put into a class. */ public class MethodEntry{ @@ -10,6 +9,8 @@ public class MethodEntry{ public final String className; /** Fully qualified target method to call. */ public final String targetMethod; + /** Simple name of the generated packet class. */ + public final String packetClassName; /** Whether this method can be called on a client/server. */ public final Loc where; /** @@ -26,12 +27,13 @@ public class MethodEntry{ /** Unique method ID. */ public final int id; /** The element method associated with this entry. */ - public final ExecutableElement element; + public final Smethod element; /** The assigned packet priority. Only used in clients. */ public final PacketPriority priority; - public MethodEntry(String className, String targetMethod, Loc where, Variant target, - Loc local, boolean unreliable, boolean forward, int id, ExecutableElement element, PacketPriority priority){ + public MethodEntry(String className, String targetMethod, String packetClassName, Loc where, Variant target, + Loc local, boolean unreliable, boolean forward, int id, Smethod element, PacketPriority priority){ + this.packetClassName = packetClassName; this.className = className; this.forward = forward; this.targetMethod = targetMethod; diff --git a/annotations/src/main/java/mindustry/annotations/remote/RemoteProcess.java b/annotations/src/main/java/mindustry/annotations/remote/RemoteProcess.java index b3a473795a..ceceddb8a8 100644 --- a/annotations/src/main/java/mindustry/annotations/remote/RemoteProcess.java +++ b/annotations/src/main/java/mindustry/annotations/remote/RemoteProcess.java @@ -1,7 +1,7 @@ package mindustry.annotations.remote; import arc.struct.*; -import com.squareup.javapoet.*; +import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.annotations.*; import mindustry.annotations.util.*; @@ -9,7 +9,6 @@ import mindustry.annotations.util.TypeIOResolver.*; import javax.annotation.processing.*; import javax.lang.model.element.*; -import java.util.*; /** The annotation processor for generating remote method call code. */ @@ -18,106 +17,58 @@ import java.util.*; "mindustry.annotations.Annotations.TypeIOHandler" }) public class RemoteProcess extends BaseProcessor{ - /** Maximum size of each event packet. */ - public static final int maxPacketSize = 8192; - /** Warning on top of each autogenerated file. */ - public static final String autogenWarning = "Autogenerated file. Do not modify!\n"; - - /** Name of class that handles reading and invoking packets on the server. */ - private static final String readServerName = "RemoteReadServer"; - /** Name of class that handles reading and invoking packets on the client. */ - private static final String readClientName = "RemoteReadClient"; /** Simple class name of generated class name. */ - private static final String callLocation = "Call"; - - //class serializers - private ClassSerializer serializer; - //all elements with the Remote annotation - private Seq elements; - //map of all classes to generate by name - private HashMap classMap; - //list of all method entries - private Seq methods; - //list of all method entries - private Seq classes; - - { - rounds = 2; - } + public static final String callLocation = "Call"; @Override public void process(RoundEnvironment roundEnv) throws Exception{ - //round 1: find all annotations, generate *writers* - if(round == 1){ - //get serializers - serializer = TypeIOResolver.resolve(this); - //last method ID used - int lastMethodID = 0; - //find all elements with the Remote annotation - elements = methods(Remote.class); - //map of all classes to generate by name - classMap = new HashMap<>(); - //list of all method entries - methods = new Seq<>(); - //list of all method entries - classes = new Seq<>(); + //get serializers + //class serializers + ClassSerializer serializer = TypeIOResolver.resolve(this); + //last method ID used + int lastMethodID = 0; + //find all elements with the Remote annotation + //all elements with the Remote annotation + Seq elements = methods(Remote.class); + //list of all method entries + Seq methods = new Seq<>(); - Seq orderedElements = elements.copy(); - orderedElements.sortComparing(Object::toString); + Seq orderedElements = elements.copy(); + orderedElements.sortComparing(Selement::toString); - //create methods - for(Smethod element : orderedElements){ - Remote annotation = element.annotation(Remote.class); + //create methods + for(Smethod element : orderedElements){ + Remote annotation = element.annotation(Remote.class); - //check for static - if(!element.is(Modifier.STATIC) || !element.is(Modifier.PUBLIC)){ - err("All @Remote methods must be public and static: ", element); - } - - //can't generate none methods - if(annotation.targets() == Loc.none){ - err("A @Remote method's targets() cannot be equal to 'none':", element); - } - - //get and create class entry if needed - if(!classMap.containsKey(callLocation)){ - ClassEntry clas = new ClassEntry(callLocation); - classMap.put(callLocation, clas); - classes.add(clas); - } - - ClassEntry entry = classMap.get(callLocation); - - //create and add entry - MethodEntry method = new MethodEntry(entry.name, BaseProcessor.getMethodName(element.e), annotation.targets(), annotation.variants(), - annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, element.e, annotation.priority()); - - entry.methods.add(method); - methods.add(method); + //check for static + if(!element.is(Modifier.STATIC) || !element.is(Modifier.PUBLIC)){ + err("All @Remote methods must be public and static", element); } - //create read/write generators - RemoteWriteGenerator writegen = new RemoteWriteGenerator(serializer); + //can't generate none methods + if(annotation.targets() == Loc.none){ + err("A @Remote method's targets() cannot be equal to 'none'", element); + } - //generate the methods to invoke (write) - writegen.generateFor(classes, packageName); - }else if(round == 2){ //round 2: generate all *readers* - RemoteReadGenerator readgen = new RemoteReadGenerator(serializer); + String packetName = Strings.capitalize(element.name()) + "CallPacket"; + int[] index = {1}; - //generate server readers - readgen.generateFor(methods.select(method -> method.where.isClient), readServerName, packageName, true); - //generate client readers - readgen.generateFor(methods.select(method -> method.where.isServer), readClientName, packageName, false); + while(methods.contains(m -> m.packetClassName.equals(packetName + (index[0] == 1 ? "" : index[0])))){ + index[0] ++; + } - //create class for storing unique method hash - TypeSpec.Builder hashBuilder = TypeSpec.classBuilder("MethodHash").addModifiers(Modifier.PUBLIC); - hashBuilder.addJavadoc(autogenWarning); - hashBuilder.addField(FieldSpec.builder(int.class, "HASH", Modifier.STATIC, Modifier.PUBLIC, Modifier.FINAL) - .initializer("$1L", Arrays.hashCode(methods.map(m -> m.element).toArray())).build()); + //create and add entry + MethodEntry method = new MethodEntry( + callLocation, BaseProcessor.getMethodName(element.e), packetName + (index[0] == 1 ? "" : index[0]), + annotation.targets(), annotation.variants(), + annotation.called(), annotation.unreliable(), annotation.forward(), lastMethodID++, + element, annotation.priority() + ); - //build and write resulting hash class - TypeSpec spec = hashBuilder.build(); - JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer); + methods.add(method); } + + //generate the methods to invoke, as well as the packet classes + CallGenerator.generate(serializer, methods); } } diff --git a/annotations/src/main/java/mindustry/annotations/remote/RemoteReadGenerator.java b/annotations/src/main/java/mindustry/annotations/remote/RemoteReadGenerator.java deleted file mode 100644 index 3442843669..0000000000 --- a/annotations/src/main/java/mindustry/annotations/remote/RemoteReadGenerator.java +++ /dev/null @@ -1,129 +0,0 @@ -package mindustry.annotations.remote; - -import arc.struct.*; -import arc.util.io.*; -import com.squareup.javapoet.*; -import mindustry.annotations.*; -import mindustry.annotations.util.TypeIOResolver.*; - -import javax.lang.model.element.*; - -/** Generates code for reading remote invoke packets on the client and server. */ -public class RemoteReadGenerator{ - private final ClassSerializer serializers; - - /** Creates a read generator that uses the supplied serializer setup. */ - public RemoteReadGenerator(ClassSerializer serializers){ - this.serializers = serializers; - } - - /** - * Generates a class for reading remote invoke packets. - * @param entries List of methods to use. - * @param className Simple target class name. - * @param packageName Full target package name. - * @param needsPlayer Whether this read method requires a reference to the player sender. - */ - public void generateFor(Seq entries, String className, String packageName, boolean needsPlayer) throws Exception{ - - TypeSpec.Builder classBuilder = TypeSpec.classBuilder(className).addModifiers(Modifier.PUBLIC); - classBuilder.addJavadoc(RemoteProcess.autogenWarning); - - //create main method builder - MethodSpec.Builder readMethod = MethodSpec.methodBuilder("readPacket") - .addModifiers(Modifier.PUBLIC, Modifier.STATIC) - .addParameter(Reads.class, "read") //buffer to read form - .addParameter(int.class, "id") //ID of method type to read - .returns(void.class); - - if(needsPlayer){ - //add player parameter - readMethod.addParameter(ClassName.get(packageName, "Player"), "player"); - } - - CodeBlock.Builder readBlock = CodeBlock.builder(); //start building block of code inside read method - boolean started = false; //whether an if() statement has been written yet - - for(MethodEntry entry : entries){ - //write if check for this entry ID - if(!started){ - started = true; - readBlock.beginControlFlow("if(id == " + entry.id + ")"); - }else{ - readBlock.nextControlFlow("else if(id == " + entry.id + ")"); - } - - readBlock.beginControlFlow("try"); - - //concatenated list of variable names for method invocation - StringBuilder varResult = new StringBuilder(); - - //go through each parameter - for(int i = 0; i < entry.element.getParameters().size(); i++){ - VariableElement var = entry.element.getParameters().get(i); - - if(!needsPlayer || i != 0){ //if client, skip first parameter since it's always of type player and doesn't need to be read - //full type name of parameter - String typeName = var.asType().toString(); - //name of parameter - String varName = var.getSimpleName().toString(); - //captialized version of type name for reading primitives - String pname = typeName.equals("boolean") ? "bool" : typeName.charAt(0) + ""; - - //write primitives automatically - if(BaseProcessor.isPrimitive(typeName)){ - readBlock.addStatement("$L $L = read.$L()", typeName, varName, pname); - }else{ - //else, try and find a serializer - String ser = serializers.readers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(entry.element, var.asType(), false)); - - if(ser == null){ //make sure a serializer exists! - BaseProcessor.err("No read method to read class type '" + typeName + "' in method " + entry.targetMethod + "; " + serializers.readers, var); - return; - } - - //add statement for reading it - readBlock.addStatement(typeName + " " + varName + " = " + ser + "(read)"); - } - - //append variable name to string builder - varResult.append(var.getSimpleName()); - if(i != entry.element.getParameters().size() - 1) varResult.append(", "); - }else{ - varResult.append("player"); - if(i != entry.element.getParameters().size() - 1) varResult.append(", "); - } - } - - //execute the relevant method before the forward - //if it throws a ValidateException, the method won't be forwarded - readBlock.addStatement("$N." + entry.element.getSimpleName() + "(" + varResult.toString() + ")", ((TypeElement)entry.element.getEnclosingElement()).getQualifiedName().toString()); - - //call forwarded method, don't forward on the client reader - if(entry.forward && entry.where.isServer && needsPlayer){ - //call forwarded method - readBlock.addStatement(packageName + "." + entry.className + "." + entry.element.getSimpleName() + - "__forward(player.con" + (varResult.length() == 0 ? "" : ", ") + varResult.toString() + ")"); - } - - readBlock.nextControlFlow("catch (java.lang.Exception e)"); - readBlock.addStatement("throw new java.lang.RuntimeException(\"Failed to read remote method '" + entry.element.getSimpleName() + "'!\", e)"); - readBlock.endControlFlow(); - } - - //end control flow if necessary - if(started){ - readBlock.nextControlFlow("else"); - readBlock.addStatement("throw new $1N(\"Invalid read method ID: \" + id + \"\")", RuntimeException.class.getName()); //handle invalid method IDs - readBlock.endControlFlow(); - } - - //add block and method to class - readMethod.addCode(readBlock.build()); - classBuilder.addMethod(readMethod.build()); - - //build and write resulting class - TypeSpec spec = classBuilder.build(); - JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer); - } -} diff --git a/annotations/src/main/java/mindustry/annotations/remote/RemoteWriteGenerator.java b/annotations/src/main/java/mindustry/annotations/remote/RemoteWriteGenerator.java deleted file mode 100644 index 606fe513bd..0000000000 --- a/annotations/src/main/java/mindustry/annotations/remote/RemoteWriteGenerator.java +++ /dev/null @@ -1,228 +0,0 @@ -package mindustry.annotations.remote; - -import arc.struct.*; -import arc.util.io.*; -import com.squareup.javapoet.*; -import mindustry.annotations.Annotations.*; -import mindustry.annotations.*; -import mindustry.annotations.util.TypeIOResolver.*; - -import javax.lang.model.element.*; -import java.io.*; - -/** Generates code for writing remote invoke packets on the client and server. */ -public class RemoteWriteGenerator{ - private final ClassSerializer serializers; - - /** Creates a write generator that uses the supplied serializer setup. */ - public RemoteWriteGenerator(ClassSerializer serializers){ - this.serializers = serializers; - } - - /** Generates all classes in this list. */ - public void generateFor(Seq entries, String packageName) throws IOException{ - - for(ClassEntry entry : entries){ - //create builder - TypeSpec.Builder classBuilder = TypeSpec.classBuilder(entry.name).addModifiers(Modifier.PUBLIC); - classBuilder.addJavadoc(RemoteProcess.autogenWarning); - - //add temporary write buffer - classBuilder.addField(FieldSpec.builder(ReusableByteOutStream.class, "OUT", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL) - .initializer("new ReusableByteOutStream($L)", RemoteProcess.maxPacketSize).build()); - - //add writer for that buffer - classBuilder.addField(FieldSpec.builder(Writes.class, "WRITE", Modifier.STATIC, Modifier.PRIVATE, Modifier.FINAL) - .initializer("new Writes(new $T(OUT))", DataOutputStream.class).build()); - - //go through each method entry in this class - for(MethodEntry methodEntry : entry.methods){ - //write the 'send event to all players' variant: always happens for clients, but only happens if 'all' is enabled on the server method - if(methodEntry.where.isClient || methodEntry.target.isAll){ - writeMethodVariant(classBuilder, methodEntry, true, false); - } - - //write the 'send event to one player' variant, which is only applicable on the server - if(methodEntry.where.isServer && methodEntry.target.isOne){ - writeMethodVariant(classBuilder, methodEntry, false, false); - } - - //write the forwarded method version - if(methodEntry.where.isServer && methodEntry.forward){ - writeMethodVariant(classBuilder, methodEntry, true, true); - } - } - - //build and write resulting class - TypeSpec spec = classBuilder.build(); - JavaFile.builder(packageName, spec).build().writeTo(BaseProcessor.filer); - } - } - - /** Creates a specific variant for a method entry. */ - private void writeMethodVariant(TypeSpec.Builder classBuilder, MethodEntry methodEntry, boolean toAll, boolean forwarded){ - ExecutableElement elem = methodEntry.element; - - //create builder - MethodSpec.Builder method = MethodSpec.methodBuilder(elem.getSimpleName().toString() + (forwarded ? "__forward" : "")) //add except suffix when forwarding - .addModifiers(Modifier.STATIC) - .returns(void.class); - - //forwarded methods aren't intended for use, and are not public - if(!forwarded){ - method.addModifiers(Modifier.PUBLIC); - } - - //validate client methods to make sure - if(methodEntry.where.isClient){ - if(elem.getParameters().isEmpty()){ - BaseProcessor.err("Client invoke methods must have a first parameter of type Player", elem); - return; - } - - if(!elem.getParameters().get(0).asType().toString().contains("Player")){ - BaseProcessor.err("Client invoke methods should have a first parameter of type Player", elem); - return; - } - } - - //if toAll is false, it's a 'send to one player' variant, so add the player as a parameter - if(!toAll){ - method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "playerConnection"); - } - - //add sender to ignore - if(forwarded){ - method.addParameter(ClassName.bestGuess("mindustry.net.NetConnection"), "exceptConnection"); - } - - //call local method if applicable, shouldn't happen when forwarding method as that already happens by default - if(!forwarded && methodEntry.local != Loc.none){ - //add in local checks - if(methodEntry.local != Loc.both){ - method.beginControlFlow("if(" + getCheckString(methodEntry.local) + " || !mindustry.Vars.net.active())"); - } - - //concatenate parameters - int index = 0; - StringBuilder results = new StringBuilder(); - for(VariableElement var : elem.getParameters()){ - //special case: calling local-only methods uses the local player - if(index == 0 && methodEntry.where == Loc.client){ - results.append("mindustry.Vars.player"); - }else{ - results.append(var.getSimpleName()); - } - if(index != elem.getParameters().size() - 1) results.append(", "); - index++; - } - - //add the statement to call it - method.addStatement("$N." + elem.getSimpleName() + "(" + results.toString() + ")", - ((TypeElement)elem.getEnclosingElement()).getQualifiedName().toString()); - - if(methodEntry.local != Loc.both){ - method.endControlFlow(); - } - } - - //start control flow to check if it's actually client/server so no netcode is called - method.beginControlFlow("if(" + getCheckString(methodEntry.where) + ")"); - - //add statement to create packet from pool - method.addStatement("$1N packet = $2N.obtain($1N.class, $1N::new)", "mindustry.net.Packets.InvokePacket", "arc.util.pooling.Pools"); - //assign priority - method.addStatement("packet.priority = (byte)" + methodEntry.priority.ordinal()); - //assign method ID - method.addStatement("packet.type = (byte)" + methodEntry.id); - //reset stream - method.addStatement("OUT.reset()"); - - method.addTypeVariables(Seq.with(elem.getTypeParameters()).map(BaseProcessor::getTVN)); - - for(int i = 0; i < elem.getParameters().size(); i++){ - //first argument is skipped as it is always the player caller - if((!methodEntry.where.isServer/* || methodEntry.mode == Loc.both*/) && i == 0){ - continue; - } - - VariableElement var = elem.getParameters().get(i); - - try{ - //add parameter to method - method.addParameter(TypeName.get(var.asType()), var.getSimpleName().toString()); - }catch(Throwable t){ - throw new RuntimeException("Error parsing method " + methodEntry.targetMethod); - } - - //name of parameter - String varName = var.getSimpleName().toString(); - //name of parameter type - String typeName = var.asType().toString(); - //captialized version of type name for writing primitives - String capName = typeName.equals("byte") ? "" : Character.toUpperCase(typeName.charAt(0)) + typeName.substring(1); - //special case: method can be called from anywhere to anywhere - //thus, only write the player when the SERVER is writing data, since the client is the only one who reads it - boolean writePlayerSkipCheck = methodEntry.where == Loc.both && i == 0; - - if(writePlayerSkipCheck){ //write begin check - method.beginControlFlow("if(mindustry.Vars.net.server())"); - } - - if(BaseProcessor.isPrimitive(typeName)){ //check if it's a primitive, and if so write it - method.addStatement("WRITE.$L($L)", typeName.equals("boolean") ? "bool" : typeName.charAt(0) + "", varName); - }else{ - //else, try and find a serializer - String ser = serializers.writers.get(typeName.replace("mindustry.gen.", ""), SerializerResolver.locate(elem, var.asType(), true)); - - if(ser == null){ //make sure a serializer exists! - BaseProcessor.err("No @WriteClass method to write class type: '" + typeName + "'", var); - return; - } - - //add statement for writing it - method.addStatement(ser + "(WRITE, " + varName + ")"); - } - - if(writePlayerSkipCheck){ //write end check - method.endControlFlow(); - } - } - - //assign packet bytes - method.addStatement("packet.bytes = OUT.getBytes()"); - //assign packet length - method.addStatement("packet.length = OUT.size()"); - - String sendString; - - if(forwarded){ //forward packet - if(!methodEntry.local.isClient){ //if the client doesn't get it called locally, forward it back after validation - sendString = "mindustry.Vars.net.send("; - }else{ - sendString = "mindustry.Vars.net.sendExcept(exceptConnection, "; - } - }else if(toAll){ //send to all players / to server - sendString = "mindustry.Vars.net.send("; - }else{ //send to specific client from server - sendString = "playerConnection.send("; - } - - //send the actual packet - method.addStatement(sendString + "packet, " + - (methodEntry.unreliable ? "mindustry.net.Net.SendMode.udp" : "mindustry.net.Net.SendMode.tcp") + ")"); - - - //end check for server/client - method.endControlFlow(); - - //add method to class, finally - classBuilder.addMethod(method.build()); - } - - private String getCheckString(Loc loc){ - return loc.isClient && loc.isServer ? "mindustry.Vars.net.server() || mindustry.Vars.net.client()" : - loc.isClient ? "mindustry.Vars.net.client()" : - loc.isServer ? "mindustry.Vars.net.server()" : "false"; - } -} diff --git a/annotations/src/main/java/mindustry/annotations/util/AnnotationProxyMaker.java b/annotations/src/main/java/mindustry/annotations/util/AnnotationProxyMaker.java index c3398f3ae8..64d86a4346 100644 --- a/annotations/src/main/java/mindustry/annotations/util/AnnotationProxyMaker.java +++ b/annotations/src/main/java/mindustry/annotations/util/AnnotationProxyMaker.java @@ -7,6 +7,7 @@ import com.sun.tools.javac.code.Attribute.Enum; import com.sun.tools.javac.code.Attribute.Error; import com.sun.tools.javac.code.Attribute.Visitor; import com.sun.tools.javac.code.Attribute.*; +import com.sun.tools.javac.code.Scope.*; import com.sun.tools.javac.code.Type; import com.sun.tools.javac.code.Symbol.*; import com.sun.tools.javac.code.Type.ArrayType; @@ -64,36 +65,13 @@ public class AnnotationProxyMaker{ LinkedHashMap map = new LinkedHashMap(); ClassSymbol cl = (ClassSymbol)this.anno.type.tsym; - //try to use Java 8 API for this if possible - try{ - Class entryClass = Class.forName("com.sun.tools.javac.code.Scope$Entry"); - Object members = cl.members(); - Field field = members.getClass().getField("elems"); - Object elems = field.get(members); - Field siblingField = entryClass.getField("sibling"); - Field symField = entryClass.getField("sym"); - for(Object currEntry = elems; currEntry != null; currEntry = siblingField.get(currEntry)){ - handleSymbol((Symbol)symField.get(currEntry), map); - } - - }catch(Throwable e){ - //otherwise try other API - - try{ - Class lookupClass = Class.forName("com.sun.tools.javac.code.Scope$LookupKind"); - Field nonRecField = lookupClass.getField("NON_RECURSIVE"); - Object nonRec = nonRecField.get(null); - Scope scope = cl.members(); - Method getSyms = scope.getClass().getMethod("getSymbols", lookupClass); - Iterable it = (Iterable)getSyms.invoke(scope, nonRec); - Iterator i = it.iterator(); - while(i.hasNext()){ - handleSymbol(i.next(), map); + for(Symbol s : cl.members().getSymbols(LookupKind.NON_RECURSIVE)){ + if(s.getKind() == ElementKind.METHOD){ + MethodSymbol var4 = (MethodSymbol)s; + Attribute var5 = var4.getDefaultValue(); + if(var5 != null){ + map.put(var4, var5); } - - }catch(Throwable death){ - //I tried - throw new RuntimeException(death); } } @@ -104,17 +82,6 @@ public class AnnotationProxyMaker{ return map; } - private void handleSymbol(Symbol sym, LinkedHashMap map){ - - if(sym.getKind() == ElementKind.METHOD){ - MethodSymbol var4 = (MethodSymbol)sym; - Attribute var5 = var4.getDefaultValue(); - if(var5 != null){ - map.put(var4, var5); - } - } - } - private Object generateValue(MethodSymbol var1, Attribute var2){ AnnotationProxyMaker.ValueVisitor var3 = new AnnotationProxyMaker.ValueVisitor(var1); return var3.getValue(var2); diff --git a/annotations/src/main/java/mindustry/annotations/util/Selement.java b/annotations/src/main/java/mindustry/annotations/util/Selement.java index ca7a9ce5ad..c416f83b0a 100644 --- a/annotations/src/main/java/mindustry/annotations/util/Selement.java +++ b/annotations/src/main/java/mindustry/annotations/util/Selement.java @@ -12,6 +12,10 @@ import java.lang.Class; import java.lang.annotation.*; import java.lang.reflect.*; +/** + * Wrapper over Element with added utility functions. + * I would have preferred to use extension methods for this, but Java doesn't have any. + * */ public class Selement{ public final T e; diff --git a/annotations/src/main/java/mindustry/annotations/util/Stype.java b/annotations/src/main/java/mindustry/annotations/util/Stype.java index 58d08631dd..1b53213733 100644 --- a/annotations/src/main/java/mindustry/annotations/util/Stype.java +++ b/annotations/src/main/java/mindustry/annotations/util/Stype.java @@ -25,7 +25,7 @@ public class Stype extends Selement{ } public Seq allInterfaces(){ - return interfaces().flatMap(s -> s.allInterfaces().and(s)).distinct(); + return interfaces().flatMap(s -> s.allInterfaces().add(s)).distinct(); } public Seq superclasses(){ @@ -33,7 +33,7 @@ public class Stype extends Selement{ } public Seq allSuperclasses(){ - return superclasses().flatMap(s -> s.allSuperclasses().and(s)).distinct(); + return superclasses().flatMap(s -> s.allSuperclasses().add(s)).distinct(); } public Stype superclass(){ diff --git a/annotations/src/main/java/mindustry/annotations/util/Svar.java b/annotations/src/main/java/mindustry/annotations/util/Svar.java index 2b74ced930..b160ec6ca0 100644 --- a/annotations/src/main/java/mindustry/annotations/util/Svar.java +++ b/annotations/src/main/java/mindustry/annotations/util/Svar.java @@ -1,7 +1,6 @@ package mindustry.annotations.util; import com.sun.source.tree.*; -import com.sun.tools.javac.tree.JCTree.*; import mindustry.annotations.*; import javax.lang.model.element.*; @@ -16,10 +15,6 @@ public class Svar extends Selement{ return up().asType().toString() + "#" + super.toString().replace("mindustry.gen.", ""); } - public JCVariableDecl jtree(){ - return (JCVariableDecl)BaseProcessor.elementu.getTree(e); - } - public Stype enclosingType(){ return new Stype((TypeElement)up()); } diff --git a/annotations/src/main/java/mindustry/annotations/util/TypeIOResolver.java b/annotations/src/main/java/mindustry/annotations/util/TypeIOResolver.java index 4f2b315bf7..2545f6f41e 100644 --- a/annotations/src/main/java/mindustry/annotations/util/TypeIOResolver.java +++ b/annotations/src/main/java/mindustry/annotations/util/TypeIOResolver.java @@ -16,7 +16,7 @@ public class TypeIOResolver{ * Maps fully qualified class names to their serializers. */ public static ClassSerializer resolve(BaseProcessor processor){ - ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>()); + ClassSerializer out = new ClassSerializer(new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>(), new ObjectMap<>()); for(Stype type : processor.types(TypeIOHandler.class)){ //look at all TypeIOHandler methods Seq methods = type.methods(); @@ -25,7 +25,10 @@ public class TypeIOResolver{ Seq params = meth.params(); //2 params, second one is type, first is writer if(params.size == 2 && params.first().tname().toString().equals("arc.util.io.Writes")){ - out.writers.put(fix(params.get(1).tname().toString()), type.fullName() + "." + meth.name()); + //Net suffix indicates that this should only be used for sync operations + ObjectMap targetMap = meth.name().endsWith("Net") ? out.netWriters : out.writers; + + targetMap.put(fix(params.get(1).tname().toString()), type.fullName() + "." + meth.name()); }else if(params.size == 1 && params.first().tname().toString().equals("arc.util.io.Reads") && !meth.isVoid()){ //1 param, one is reader, returns type out.readers.put(fix(meth.retn().toString()), type.fullName() + "." + meth.name()); @@ -47,12 +50,17 @@ public class TypeIOResolver{ /** Information about read/write methods for class types. */ public static class ClassSerializer{ - public final ObjectMap writers, readers, mutatorReaders; + public final ObjectMap writers, readers, mutatorReaders, netWriters; - public ClassSerializer(ObjectMap writers, ObjectMap readers, ObjectMap mutatorReaders){ + public ClassSerializer(ObjectMap writers, ObjectMap readers, ObjectMap mutatorReaders, ObjectMap netWriters){ this.writers = writers; this.readers = readers; this.mutatorReaders = mutatorReaders; + this.netWriters = netWriters; + } + + public String getNetWriter(String type, String fallback){ + return netWriters.get(type, writers.get(type, fallback)); } } } diff --git a/annotations/src/main/resources/classids.properties b/annotations/src/main/resources/classids.properties index 293373a9df..0c04c4de0b 100644 --- a/annotations/src/main/resources/classids.properties +++ b/annotations/src/main/resources/classids.properties @@ -6,9 +6,12 @@ atrax=1 beta=30 block=2 corvus=24 +elude=45 flare=3 gamma=31 +latum=46 mace=4 +manifold=36 mega=5 mindustry.entities.comp.BuildingComp=6 mindustry.entities.comp.BulletComp=7 @@ -19,18 +22,29 @@ mindustry.entities.comp.LaunchCoreComp=11 mindustry.entities.comp.PlayerComp=12 mindustry.entities.comp.PosTeam=27 mindustry.entities.comp.PosTeamDef=28 +mindustry.entities.comp.PowerGraphComp=41 +mindustry.entities.comp.PowerGraphUpdaterComp=42 mindustry.entities.comp.PuddleComp=13 +mindustry.entities.comp.WorldLabelComp=35 mindustry.type.Weather.WeatherStateComp=14 mindustry.world.blocks.campaign.LaunchPad.LaunchPayloadComp=15 +mindustry.world.blocks.campaign.PayloadLaunchPad.LargeLaunchPayloadComp=34 mindustry.world.blocks.defense.ForceProjector.ForceDrawComp=22 +missile=39 mono=16 nova=17 oct=26 +osc=44 poly=18 pulsar=19 quad=23 quasar=32 +renale=47 risso=20 spiroct=21 +stell=43 +timed=38 +timedDef=37 toxopid=33 +vanquish=40 vela=25 \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BuildingComp/1.json b/annotations/src/main/resources/revisions/BuildingComp/1.json new file mode 100644 index 0000000000..2cf0bf73fc --- /dev/null +++ b/annotations/src/main/resources/revisions/BuildingComp/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:health,type:float},{name:items,type:mindustry.world.modules.ItemModule},{name:liquids,type:mindustry.world.modules.LiquidModule},{name:power,type:mindustry.world.modules.PowerModule},{name:team,type:mindustry.game.Team},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BulletComp/1.json b/annotations/src/main/resources/revisions/BulletComp/1.json new file mode 100644 index 0000000000..59ace7faf8 --- /dev/null +++ b/annotations/src/main/resources/revisions/BulletComp/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:collided,type:arc.struct.IntSeq},{name:damage,type:float},{name:data,type:java.lang.Object},{name:fdata,type:float},{name:lifetime,type:float},{name:owner,type:mindustry.gen.Entityc},{name:rotation,type:float},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.entities.bullet.BulletType},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/BulletComp/2.json b/annotations/src/main/resources/revisions/BulletComp/2.json new file mode 100644 index 0000000000..3a075d3fbf --- /dev/null +++ b/annotations/src/main/resources/revisions/BulletComp/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:collided,type:arc.struct.IntSeq},{name:damage,type:float},{name:data,type:java.lang.Object},{name:fdata,type:float},{name:lifetime,type:float},{name:owner,type:mindustry.gen.Entityc},{name:rotation,type:float},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.entities.bullet.BulletType},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/EffectStateComp/6.json b/annotations/src/main/resources/revisions/EffectStateComp/6.json new file mode 100644 index 0000000000..fbac2089b0 --- /dev/null +++ b/annotations/src/main/resources/revisions/EffectStateComp/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:color,type:arc.graphics.Color},{name:data,type:java.lang.Object},{name:effect,type:mindustry.entities.Effect},{name:lifetime,type:float},{name:offsetPos,type:float},{name:offsetRot,type:float},{name:offsetX,type:float},{name:offsetY,type:float},{name:parent,type:mindustry.gen.Posc},{name:rotWithParent,type:boolean},{name:rotation,type:float},{name:time,type:float},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/LargeLaunchPayloadComp/0.json b/annotations/src/main/resources/revisions/LargeLaunchPayloadComp/0.json new file mode 100644 index 0000000000..677d3f93da --- /dev/null +++ b/annotations/src/main/resources/revisions/LargeLaunchPayloadComp/0.json @@ -0,0 +1 @@ +{fields:[{name:lifetime,type:float},{name:payload,type:mindustry.world.blocks.payloads.Payload},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/PlayerComp/1.json b/annotations/src/main/resources/revisions/PlayerComp/1.json new file mode 100644 index 0000000000..52d4a67cae --- /dev/null +++ b/annotations/src/main/resources/revisions/PlayerComp/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:admin,type:boolean},{name:boosting,type:boolean},{name:color,type:arc.graphics.Color},{name:lastCommand,type:mindustry.ai.UnitCommand},{name:mouseX,type:float},{name:mouseY,type:float},{name:name,type:java.lang.String},{name:shooting,type:boolean},{name:team,type:mindustry.game.Team},{name:typing,type:boolean},{name:unit,type:Unit},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/PowerGraphUpdaterComp/0.json b/annotations/src/main/resources/revisions/PowerGraphUpdaterComp/0.json new file mode 100644 index 0000000000..eaaaeead96 --- /dev/null +++ b/annotations/src/main/resources/revisions/PowerGraphUpdaterComp/0.json @@ -0,0 +1 @@ +{fields:[]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/PuddleComp/1.json b/annotations/src/main/resources/revisions/PuddleComp/1.json new file mode 100644 index 0000000000..2e4c653aed --- /dev/null +++ b/annotations/src/main/resources/revisions/PuddleComp/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:amount,type:float},{name:liquid,type:mindustry.type.Liquid},{name:tile,type:mindustry.world.Tile},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/WorldLabelComp/0.json b/annotations/src/main/resources/revisions/WorldLabelComp/0.json new file mode 100644 index 0000000000..e3d056549b --- /dev/null +++ b/annotations/src/main/resources/revisions/WorldLabelComp/0.json @@ -0,0 +1 @@ +{fields:[{name:flags,type:byte},{name:fontSize,type:float},{name:text,type:java.lang.String},{name:x,type:float},{name:y,type:float},{name:z,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/alpha/2.json b/annotations/src/main/resources/revisions/alpha/2.json new file mode 100644 index 0000000000..5bf10ed861 --- /dev/null +++ b/annotations/src/main/resources/revisions/alpha/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/alpha/3.json b/annotations/src/main/resources/revisions/alpha/3.json new file mode 100644 index 0000000000..08d96484d6 --- /dev/null +++ b/annotations/src/main/resources/revisions/alpha/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/arkyid/2.json b/annotations/src/main/resources/revisions/arkyid/2.json new file mode 100644 index 0000000000..5bf10ed861 --- /dev/null +++ b/annotations/src/main/resources/revisions/arkyid/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/arkyid/3.json b/annotations/src/main/resources/revisions/arkyid/3.json new file mode 100644 index 0000000000..08d96484d6 --- /dev/null +++ b/annotations/src/main/resources/revisions/arkyid/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/beta/2.json b/annotations/src/main/resources/revisions/beta/2.json new file mode 100644 index 0000000000..5bf10ed861 --- /dev/null +++ b/annotations/src/main/resources/revisions/beta/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/beta/3.json b/annotations/src/main/resources/revisions/beta/3.json new file mode 100644 index 0000000000..08d96484d6 --- /dev/null +++ b/annotations/src/main/resources/revisions/beta/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/block/6.json b/annotations/src/main/resources/revisions/block/6.json new file mode 100644 index 0000000000..2fa2662e57 --- /dev/null +++ b/annotations/src/main/resources/revisions/block/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/block/7.json b/annotations/src/main/resources/revisions/block/7.json new file mode 100644 index 0000000000..b4cd846ead --- /dev/null +++ b/annotations/src/main/resources/revisions/block/7.json @@ -0,0 +1 @@ +{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/corvus/6.json b/annotations/src/main/resources/revisions/corvus/6.json new file mode 100644 index 0000000000..2fa2662e57 --- /dev/null +++ b/annotations/src/main/resources/revisions/corvus/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/corvus/7.json b/annotations/src/main/resources/revisions/corvus/7.json new file mode 100644 index 0000000000..b4cd846ead --- /dev/null +++ b/annotations/src/main/resources/revisions/corvus/7.json @@ -0,0 +1 @@ +{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/elude/0.json b/annotations/src/main/resources/revisions/elude/0.json new file mode 100644 index 0000000000..545bb6c8ae --- /dev/null +++ b/annotations/src/main/resources/revisions/elude/0.json @@ -0,0 +1 @@ +{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/flare/6.json b/annotations/src/main/resources/revisions/flare/6.json new file mode 100644 index 0000000000..2fa2662e57 --- /dev/null +++ b/annotations/src/main/resources/revisions/flare/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/flare/7.json b/annotations/src/main/resources/revisions/flare/7.json new file mode 100644 index 0000000000..b4cd846ead --- /dev/null +++ b/annotations/src/main/resources/revisions/flare/7.json @@ -0,0 +1 @@ +{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/gamma/2.json b/annotations/src/main/resources/revisions/gamma/2.json new file mode 100644 index 0000000000..5bf10ed861 --- /dev/null +++ b/annotations/src/main/resources/revisions/gamma/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/gamma/3.json b/annotations/src/main/resources/revisions/gamma/3.json new file mode 100644 index 0000000000..08d96484d6 --- /dev/null +++ b/annotations/src/main/resources/revisions/gamma/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/latum/0.json b/annotations/src/main/resources/revisions/latum/0.json new file mode 100644 index 0000000000..545bb6c8ae --- /dev/null +++ b/annotations/src/main/resources/revisions/latum/0.json @@ -0,0 +1 @@ +{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/mace/6.json b/annotations/src/main/resources/revisions/mace/6.json new file mode 100644 index 0000000000..625b446d65 --- /dev/null +++ b/annotations/src/main/resources/revisions/mace/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/mace/7.json b/annotations/src/main/resources/revisions/mace/7.json new file mode 100644 index 0000000000..e8abc2e3be --- /dev/null +++ b/annotations/src/main/resources/revisions/mace/7.json @@ -0,0 +1 @@ +{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/manifold/0.json b/annotations/src/main/resources/revisions/manifold/0.json new file mode 100644 index 0000000000..b478f74a95 --- /dev/null +++ b/annotations/src/main/resources/revisions/manifold/0.json @@ -0,0 +1 @@ +{fields:[{name:ammo,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/manifold/1.json b/annotations/src/main/resources/revisions/manifold/1.json new file mode 100644 index 0000000000..eefe4cfceb --- /dev/null +++ b/annotations/src/main/resources/revisions/manifold/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:building,type:Building},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/mega/4.json b/annotations/src/main/resources/revisions/mega/4.json new file mode 100644 index 0000000000..647e3ce02a --- /dev/null +++ b/annotations/src/main/resources/revisions/mega/4.json @@ -0,0 +1 @@ +{version:4,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/mega/5.json b/annotations/src/main/resources/revisions/mega/5.json new file mode 100644 index 0000000000..e5d22a0653 --- /dev/null +++ b/annotations/src/main/resources/revisions/mega/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/missile/0.json b/annotations/src/main/resources/revisions/missile/0.json new file mode 100644 index 0000000000..f73794e092 --- /dev/null +++ b/annotations/src/main/resources/revisions/missile/0.json @@ -0,0 +1 @@ +{fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/missile/1.json b/annotations/src/main/resources/revisions/missile/1.json new file mode 100644 index 0000000000..689e36ee9f --- /dev/null +++ b/annotations/src/main/resources/revisions/missile/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:lifetime,type:float},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:time,type:float},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/mono/5.json b/annotations/src/main/resources/revisions/mono/5.json new file mode 100644 index 0000000000..a914b97628 --- /dev/null +++ b/annotations/src/main/resources/revisions/mono/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/mono/6.json b/annotations/src/main/resources/revisions/mono/6.json new file mode 100644 index 0000000000..5ddc80cf2d --- /dev/null +++ b/annotations/src/main/resources/revisions/mono/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/nova/4.json b/annotations/src/main/resources/revisions/nova/4.json new file mode 100644 index 0000000000..2562a5f0c5 --- /dev/null +++ b/annotations/src/main/resources/revisions/nova/4.json @@ -0,0 +1 @@ +{version:4,fields:[{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/nova/5.json b/annotations/src/main/resources/revisions/nova/5.json new file mode 100644 index 0000000000..63fac31e77 --- /dev/null +++ b/annotations/src/main/resources/revisions/nova/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/oct/4.json b/annotations/src/main/resources/revisions/oct/4.json new file mode 100644 index 0000000000..647e3ce02a --- /dev/null +++ b/annotations/src/main/resources/revisions/oct/4.json @@ -0,0 +1 @@ +{version:4,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/oct/5.json b/annotations/src/main/resources/revisions/oct/5.json new file mode 100644 index 0000000000..e5d22a0653 --- /dev/null +++ b/annotations/src/main/resources/revisions/oct/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/osc/0.json b/annotations/src/main/resources/revisions/osc/0.json new file mode 100644 index 0000000000..545bb6c8ae --- /dev/null +++ b/annotations/src/main/resources/revisions/osc/0.json @@ -0,0 +1 @@ +{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/poly/4.json b/annotations/src/main/resources/revisions/poly/4.json new file mode 100644 index 0000000000..7d090769e7 --- /dev/null +++ b/annotations/src/main/resources/revisions/poly/4.json @@ -0,0 +1 @@ +{version:4,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/poly/5.json b/annotations/src/main/resources/revisions/poly/5.json new file mode 100644 index 0000000000..9a3af67f08 --- /dev/null +++ b/annotations/src/main/resources/revisions/poly/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/pulsar/2.json b/annotations/src/main/resources/revisions/pulsar/2.json new file mode 100644 index 0000000000..a3a3b83466 --- /dev/null +++ b/annotations/src/main/resources/revisions/pulsar/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/pulsar/3.json b/annotations/src/main/resources/revisions/pulsar/3.json new file mode 100644 index 0000000000..c0289fcd5b --- /dev/null +++ b/annotations/src/main/resources/revisions/pulsar/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/quad/5.json b/annotations/src/main/resources/revisions/quad/5.json new file mode 100644 index 0000000000..b8e94f88a9 --- /dev/null +++ b/annotations/src/main/resources/revisions/quad/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/quad/6.json b/annotations/src/main/resources/revisions/quad/6.json new file mode 100644 index 0000000000..68d261dd6c --- /dev/null +++ b/annotations/src/main/resources/revisions/quad/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:payloads,type:arc.struct.Seq},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/quasar/2.json b/annotations/src/main/resources/revisions/quasar/2.json new file mode 100644 index 0000000000..a3a3b83466 --- /dev/null +++ b/annotations/src/main/resources/revisions/quasar/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/quasar/3.json b/annotations/src/main/resources/revisions/quasar/3.json new file mode 100644 index 0000000000..c0289fcd5b --- /dev/null +++ b/annotations/src/main/resources/revisions/quasar/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:baseRotation,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/risso/6.json b/annotations/src/main/resources/revisions/risso/6.json new file mode 100644 index 0000000000..2fa2662e57 --- /dev/null +++ b/annotations/src/main/resources/revisions/risso/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/risso/7.json b/annotations/src/main/resources/revisions/risso/7.json new file mode 100644 index 0000000000..b4cd846ead --- /dev/null +++ b/annotations/src/main/resources/revisions/risso/7.json @@ -0,0 +1 @@ +{version:7,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/scuttler/0.json b/annotations/src/main/resources/revisions/scuttler/0.json new file mode 100644 index 0000000000..7f2885cdcf --- /dev/null +++ b/annotations/src/main/resources/revisions/scuttler/0.json @@ -0,0 +1 @@ +{fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/scuttler/1.json b/annotations/src/main/resources/revisions/scuttler/1.json new file mode 100644 index 0000000000..f9d944421e --- /dev/null +++ b/annotations/src/main/resources/revisions/scuttler/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/spiroct/5.json b/annotations/src/main/resources/revisions/spiroct/5.json new file mode 100644 index 0000000000..a914b97628 --- /dev/null +++ b/annotations/src/main/resources/revisions/spiroct/5.json @@ -0,0 +1 @@ +{version:5,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/spiroct/6.json b/annotations/src/main/resources/revisions/spiroct/6.json new file mode 100644 index 0000000000..5ddc80cf2d --- /dev/null +++ b/annotations/src/main/resources/revisions/spiroct/6.json @@ -0,0 +1 @@ +{version:6,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/stell/0.json b/annotations/src/main/resources/revisions/stell/0.json new file mode 100644 index 0000000000..545bb6c8ae --- /dev/null +++ b/annotations/src/main/resources/revisions/stell/0.json @@ -0,0 +1 @@ +{fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/toxopid/2.json b/annotations/src/main/resources/revisions/toxopid/2.json new file mode 100644 index 0000000000..5bf10ed861 --- /dev/null +++ b/annotations/src/main/resources/revisions/toxopid/2.json @@ -0,0 +1 @@ +{version:2,fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/toxopid/3.json b/annotations/src/main/resources/revisions/toxopid/3.json new file mode 100644 index 0000000000..08d96484d6 --- /dev/null +++ b/annotations/src/main/resources/revisions/toxopid/3.json @@ -0,0 +1 @@ +{version:3,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/vanquish/0.json b/annotations/src/main/resources/revisions/vanquish/0.json new file mode 100644 index 0000000000..7f2885cdcf --- /dev/null +++ b/annotations/src/main/resources/revisions/vanquish/0.json @@ -0,0 +1 @@ +{fields:[{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/annotations/src/main/resources/revisions/vanquish/1.json b/annotations/src/main/resources/revisions/vanquish/1.json new file mode 100644 index 0000000000..f9d944421e --- /dev/null +++ b/annotations/src/main/resources/revisions/vanquish/1.json @@ -0,0 +1 @@ +{version:1,fields:[{name:abilities,type:"mindustry.entities.abilities.Ability[]"},{name:ammo,type:float},{name:controller,type:mindustry.entities.units.UnitController},{name:elevation,type:float},{name:flag,type:double},{name:health,type:float},{name:isShooting,type:boolean},{name:mineTile,type:mindustry.world.Tile},{name:mounts,type:"mindustry.entities.units.WeaponMount[]"},{name:plans,type:arc.struct.Queue},{name:rotation,type:float},{name:shield,type:float},{name:spawnedByCore,type:boolean},{name:stack,type:mindustry.type.ItemStack},{name:statuses,type:arc.struct.Seq},{name:team,type:mindustry.game.Team},{name:type,type:mindustry.type.UnitType},{name:updateBuilding,type:boolean},{name:vel,type:arc.math.geom.Vec2},{name:x,type:float},{name:y,type:float}]} \ No newline at end of file diff --git a/build.gradle b/build.gradle index 98744b1358..90e98a89dc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,42 +1,48 @@ buildscript{ ext{ - getArcHash = { - return new Properties().with{ p -> p.load(file('gradle.properties').newReader()); return p }["archash"] - } + arcHash = property("archash") - arcHash = getArcHash() + localArc = !project.hasProperty("release") && new File(rootDir.parent, 'Arc').exists() && !project.hasProperty("noLocalArc") + + arcModule = { String name -> + //skip to last submodule + name = name.substring(name.lastIndexOf(':') + 1) + return "com.github.Anuken${localArc ? "" : ".Arc"}:$name:$arcHash" + } } - + repositories{ mavenLocal() mavenCentral() google() maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" } - jcenter() maven{ url 'https://jitpack.io' } } dependencies{ - classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.11' - classpath "com.github.anuken:packr:-SNAPSHOT" - classpath "com.github.Anuken.Arc:packer:$arcHash" - classpath "com.github.Anuken.Arc:arc-core:$arcHash" + classpath arcModule(":extensions:packer") + classpath arcModule(":arc-core") } } +plugins{ + id "org.jetbrains.kotlin.jvm" version "1.6.0" + id "org.jetbrains.kotlin.kapt" version "1.6.0" +} + allprojects{ - apply plugin: 'maven' - - version = 'release' + apply plugin: 'maven-publish' + + version = project.hasProperty("packageVersion") ? project.getProperty("packageVersion") : 'release' group = 'com.github.Anuken' ext{ - versionNumber = '6' + versionNumber = '7' if(!project.hasProperty("versionModifier")) versionModifier = 'release' if(!project.hasProperty("versionType")) versionType = 'official' appName = 'Mindustry' - steamworksVersion = '891ed912791e01fe9ee6237a6497e5212b85c256' - rhinoVersion = '2617981f706e50b8753155d8e15e326308be3b22' + steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94' + rhinoVersion = '73a812444ac388ac2d94013b5cadc8f70b7ea027' loadVersionProps = { return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p } @@ -46,20 +52,6 @@ allprojects{ return new File(projectDir.parent, '../Mindustry-Debug').exists() && !project.hasProperty("release") && project.hasProperty("args") } - localArc = { - return !project.hasProperty("release") && new File(projectDir.parent, '../Arc').exists() - } - - arcModule = { String name -> - if(localArc()){ - return project(":Arc:$name") - }else{ - //skip to last submodule - if(name.contains(':')) name = name.split(':').last() - return "com.github.Anuken.Arc:$name:${getArcHash()}" - } - } - generateDeployName = { String platform -> if(platform == "windows"){ platform += "64" @@ -84,13 +76,11 @@ allprojects{ } hasSprites = { - return new File(rootDir, "core/assets/sprites/sprites.atlas").exists() + return new File(rootDir, "core/assets/sprites/sprites.aatls").exists() } getModifierString = { - if(versionModifier != "release"){ - return "[${versionModifier.toUpperCase()}]" - } + if(versionModifier != "release") return "[${versionModifier.toUpperCase()}]" return "" } @@ -99,6 +89,10 @@ allprojects{ return project.getProperties()["buildversion"] } + getCommitHash = { + return 'git rev-parse --verify --short HEAD'.execute().text.trim() + } + getPackage = { return project.ext.mainClassName.substring(0, project.ext.mainClassName.indexOf("desktop") - 1) } @@ -108,8 +102,7 @@ allprojects{ def v = System.getenv("ANDROID_HOME") if(v != null) return v //rootDir is null here, amazing. brilliant. - def file = new File("local.properties") - if(!file.exists()) file = new File("../local.properties") + def file = new File(rootDir, "local.properties") def props = new Properties().with{p -> p.load(file.newReader()); return p } return props.get("sdk.dir") } @@ -117,12 +110,12 @@ allprojects{ generateLocales = { def output = 'en\n' def bundles = new File(project(':core').projectDir, 'assets/bundles/') - bundles.listFiles().each{ other -> - if(other.name == "bundle.properties") return - output += other.name.substring("bundle".length() + 1, other.name.lastIndexOf('.')) + "\n" + bundles.list().sort().each{ name -> + if(name == "bundle.properties") return + output += name.substring("bundle".length() + 1, name.lastIndexOf('.')) + "\n" } new File(project(':core').projectDir, 'assets/locales').text = output - new File(project(':core').projectDir, 'assets/basepartnames').text = new File(project(':core').projectDir, 'assets/baseparts/').list().join("\n") + new File(project(':core').projectDir, 'assets/basepartnames').text = new File(project(':core').projectDir, 'assets/baseparts/').list().sort().join("\n") } writeVersion = { @@ -144,6 +137,10 @@ allprojects{ props["number"] = versionNumber props["modifier"] = versionModifier props["build"] = buildid + props["commitHash"] = "unknown" + if(project.hasProperty("showCommitHash")){ + props["commitHash"] = getCommitHash() + } props.store(pfile.newWriter(), "Autogenerated file. Do not modify.") } @@ -184,7 +181,6 @@ allprojects{ maven{ url "https://oss.sonatype.org/content/repositories/snapshots/" } maven{ url "https://oss.sonatype.org/content/repositories/releases/" } maven{ url 'https://jitpack.io' } - jcenter() } task clearCache{ @@ -197,10 +193,21 @@ allprojects{ tasks.withType(JavaCompile){ targetCompatibility = 8 - sourceCompatibility = 14 + sourceCompatibility = JavaVersion.VERSION_17 options.encoding = "UTF-8" options.compilerArgs += ["-Xlint:deprecation"] dependsOn clearCache + + options.forkOptions.jvmArgs += [ + '--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED', + '--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED', + '--add-opens=java.base/sun.reflect.annotation=ALL-UNNAMED' + ] } } @@ -208,26 +215,21 @@ configure(project(":annotations")){ tasks.withType(JavaCompile){ targetCompatibility = 8 sourceCompatibility = 8 + options.fork = true } } //compile with java 8 compatibility for everything except the annotation project configure(subprojects - project(":annotations")){ tasks.withType(JavaCompile){ - if(JavaVersion.current() != JavaVersion.VERSION_1_8){ - options.compilerArgs.addAll(['--release', '8', '--enable-preview']) - } - - doFirst{ - options.compilerArgs = options.compilerArgs.findAll{it != '--enable-preview' } - } + options.compilerArgs.addAll(['--release', '8']) } tasks.withType(Javadoc){ options{ addStringOption('Xdoclint:none', '-quiet') - addBooleanOption('-enable-preview', true) - addStringOption('-release', '14') + addStringOption('-release', '17') + encoding('UTF-8') } } } @@ -239,56 +241,31 @@ project(":desktop"){ dependencies{ implementation project(":core") + implementation arcModule("extensions:discord") + implementation arcModule("natives:natives-filedialogs") implementation arcModule("natives:natives-desktop") implementation arcModule("natives:natives-freetype-desktop") - implementation 'com.github.MinnDevelopment:java-discord-rpc:v2.0.1' if(debugged()) implementation project(":debug") implementation "com.github.Anuken:steamworks4j:$steamworksVersion" implementation arcModule("backends:backend-sdl") - } -} - -project(":ios"){ - apply plugin: "java" - apply plugin: "robovm" - - task incrementConfig{ - def vfile = file('robovm.properties') - def bversion = getBuildVersion() - def props = new Properties() - if(vfile.exists()){ - props.load(new FileInputStream(vfile)) - }else{ - props['app.id'] = 'io.anuke.mindustry' - props['app.version'] = '6.0' - props['app.mainclass'] = 'mindustry.IOSLauncher' - props['app.executable'] = 'IOSLauncher' - props['app.name'] = 'Mindustry' - } - - props['app.build'] = (!props.containsKey("app.build") ? 40 : props['app.build'].toInteger() + 1) + "" - if(bversion != "custom build"){ - props['app.version'] = versionNumber + "." + bversion + (bversion.contains(".") ? "" : ".0") - } - props.store(vfile.newWriter(), null) - } - - dependencies{ - implementation project(":core") - - implementation arcModule("natives:natives-ios") - implementation arcModule("natives:natives-freetype-ios") - implementation arcModule("backends:backend-robovm") - - compileOnly project(":annotations") + annotationProcessor 'com.github.Anuken:jabel:0.9.0' } } project(":core"){ apply plugin: "java-library" + apply plugin: "kotlin" + apply plugin: "kotlin-kapt" + + kapt{ + javacOptions{ + option("-source", "17") + option("-target", "1.8") + } + } compileJava.options.fork = true @@ -316,26 +293,85 @@ project(":core"){ } } def changelogs = file("../fastlane/metadata/android/en-US/changelogs/") - new File(changelogs, androidVersion + ".txt").text = (result) + changelogs.mkdirs() + try{ + new File(changelogs, androidVersion + ".txt").text = (result) + }catch(Exception ignored){ + } + } + } + + task sourcesJar(type: Jar, dependsOn: classes){ + archiveClassifier = 'sources' + from sourceSets.main.allSource + } + + task assetsJar(type: Jar, dependsOn: ":tools:pack"){ + archiveClassifier = 'assets' + from files("assets"){ + exclude "config", "cache", "music", "sounds", "sprites/fallback" + } + } + + task musicJar(type: Jar){ + archiveClassifier = 'music' + from files("assets"){ + include "music/*", "sounds/*" } } dependencies{ compileJava.dependsOn(preGen) - api "org.lz4:lz4-java:1.4.1" + api "org.lz4:lz4-java:1.8.0" api arcModule("arc-core") + api arcModule("extensions:flabel") api arcModule("extensions:freetype") api arcModule("extensions:g3d") api arcModule("extensions:fx") api arcModule("extensions:arcnet") + implementation arcModule("extensions:filedialogs") api "com.github.Anuken:rhino:$rhinoVersion" - if(localArc() && debugged()) api arcModule("extensions:recorder") + if(localArc && debugged()) api arcModule("extensions:recorder") + if(localArc) api arcModule(":extensions:packer") + annotationProcessor 'com.github.Anuken:jabel:0.9.0' compileOnly project(":annotations") - annotationProcessor project(":annotations") - annotationProcessor 'com.github.Anuken:jabel:34e4c172e65b3928cd9eabe1993654ea79c409cd' + if(!project.hasProperty("noKapt")) kapt project(":annotations") + } + afterEvaluate{ + task mergedJavadoc(type: Javadoc){ + def blacklist = [project(":ios"), project(":desktop"), project(":server"), project(":annotations")] + if(findProject(":android") != null){ + blacklist += project(":android") + } + + source rootProject.subprojects.collect{ project -> + if(!blacklist.contains(project) && project.hasProperty("sourceSets")){ + return project.sourceSets.main.allJava + } + } + + classpath = files(rootProject.subprojects.collect { project -> + if(!blacklist.contains(project) && project.hasProperty("sourceSets")){ + return project.sourceSets.main.compileClasspath + } + }) + destinationDir = new File(buildDir, 'javadoc') + } + } + + gradle.taskGraph.whenReady{ + //these are completely unnecessary + tasks.kaptGenerateStubsKotlin.onlyIf{ false } + tasks.compileKotlin.onlyIf{ false } + tasks.inspectClassesForKotlinIC.onlyIf{ false } + } + + //comp** classes are only used for code generation + jar{ + exclude("mindustry/entities/comp/**") } } @@ -345,6 +381,7 @@ project(":server"){ dependencies{ implementation project(":core") implementation arcModule("backends:backend-headless") + annotationProcessor 'com.github.Anuken:jabel:0.9.0' } } @@ -353,16 +390,19 @@ project(":tests"){ dependencies{ testImplementation project(":core") - testImplementation "org.junit.jupiter:junit-jupiter-params:5.3.1" - testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.1" + testImplementation "org.junit.jupiter:junit-jupiter-params:5.7.1" + testImplementation "org.junit.jupiter:junit-jupiter-api:5.7.1" testImplementation arcModule("backends:backend-headless") - testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.3.1" + testImplementation "org.json:json:20230618" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.7.1" } test{ + //fork every test so mods don't interact with each other + forkEvery = 1 useJUnitPlatform() workingDir = new File("../core/assets") - testLogging { + testLogging{ exceptionFormat = 'full' showStandardStreams = true } @@ -378,6 +418,9 @@ project(":tools"){ implementation arcModule("natives:natives-desktop") implementation arcModule("natives:natives-freetype-desktop") implementation arcModule("backends:backend-headless") + + implementation("com.google.guava:guava:33.3.1-jre") + annotationProcessor 'com.github.Anuken:jabel:0.9.0' } } @@ -386,7 +429,25 @@ project(":annotations"){ dependencies{ implementation 'com.squareup:javapoet:1.12.1' - implementation "com.github.Anuken.Arc:arc-core:$arcHash" + implementation arcModule("arc-core") + } +} + +configure([":core", ":server"].collect{project(it)}){ + java{ + withJavadocJar() + withSourcesJar() + } + + publishing{ + publications{ + maven(MavenPublication){ + from components.java + if(project.name == "core"){ + artifact(tasks.named("assetsJar")) + } + } + } } } @@ -407,6 +468,17 @@ task deployAll{ dependsOn "desktop:packrWindows64" dependsOn "desktop:packrWindows32" dependsOn "desktop:packrMacOS" - dependsOn "server:deploy" - dependsOn "android:deploy" + if(versionModifier != "steam"){ + dependsOn "server:deploy" + dependsOn "android:deploy" + } +} + +task resolveDependencies{ + doLast{ + rootProject.allprojects{ project -> + Set configurations = project.buildscript.configurations + project.configurations + configurations.findAll{c -> c.canBeResolved}.forEach{c -> c.resolve()} + } + } } diff --git a/core/assets-raw/fontgen/config.json b/core/assets-raw/fontgen/config.json index 0a31462a8d..dffb86e36f 100644 --- a/core/assets-raw/fontgen/config.json +++ b/core/assets-raw/fontgen/config.json @@ -1055,6 +1055,20 @@ "search": [ "defense" ] + }, + { + "uid": "99aa5c8f6bbe4d96a3f422a60ff065a9", + "css": "planet", + "code": 59443, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M343.8 0L312.5 31.3 281.3 62.5 218.8 62.5 187.5 93.8 156.3 125 125 156.3 93.8 187.5 62.5 218.8 62.5 281.3 31.3 312.5 0 343.8 0 406.3 0 468.8 0 531.3 0 593.8 0 656.3 31.3 687.5 62.5 718.8 62.5 781.3 93.8 812.5 125 843.8 156.3 875 187.5 906.3 218.8 937.5 281.3 937.5 312.5 968.8 343.8 1000 406.3 1000 468.8 1000 531.3 1000 593.8 1000 656.3 1000 687.5 968.8 718.8 937.5 781.3 937.5 812.5 906.3 843.8 875 875 843.8 906.3 812.5 937.5 781.3 937.5 718.8 968.8 687.5 1000 656.3 1000 593.8 1000 531.3 1000 468.8 1000 406.3 1000 343.8 968.8 312.5 937.5 281.3 937.5 218.8 906.3 187.5 875 156.3 843.8 125 812.5 93.8 781.3 62.5 718.8 62.5 687.5 31.3 656.3 0 593.8 0 531.3 0 468.8 0 406.3 0 343.8 0ZM406.3 62.5L437.5 93.8 468.8 125 531.3 125 562.5 156.3 562.5 218.8 593.8 250 625 281.3 656.3 312.5 687.5 343.8 718.8 375 781.3 375 843.8 375 906.3 375 937.5 406.3 937.5 468.8 937.5 531.3 937.5 593.8 906.3 625 875 656.3 875 718.8 843.8 750 812.5 781.3 781.3 812.5 750 843.8 718.8 875 656.3 875 625 906.3 593.8 937.5 531.3 937.5 500 906.3 468.8 875 437.5 843.8 437.5 781.3 468.8 750 500 718.8 531.3 687.5 562.5 656.3 562.5 593.8 562.5 531.3 531.3 500 500 468.8 468.8 437.5 406.3 437.5 343.8 437.5 281.3 437.5 250 468.8 218.8 500 187.5 531.3 156.3 562.5 125 593.8 93.8 625 62.5 593.8 62.5 531.3 62.5 468.8 62.5 406.3 93.8 375 125 343.8 125 281.3 156.3 250 187.5 218.8 218.8 187.5 250 156.3 281.3 125 343.8 125 375 93.8 406.3 62.5ZM718.8 562.5L687.5 593.8 687.5 656.3 718.8 687.5 781.3 687.5 812.5 656.3 812.5 593.8 781.3 562.5 718.8 562.5Z", + "width": 1000 + }, + "search": [ + "planet" + ] } ] } \ No newline at end of file diff --git a/core/assets-raw/fontgen/extra/admin.svg b/core/assets-raw/fontgen/extra/admin.svg index 03b33386b8..998fabfb62 100644 --- a/core/assets-raw/fontgen/extra/admin.svg +++ b/core/assets-raw/fontgen/extra/admin.svg @@ -1,18 +1,17 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="12" + height="12" + version="1.1" + id="svg380" + sodipodi:docname="admin.svg" + inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"> diff --git a/core/assets-raw/fontgen/extra/distribution.svg b/core/assets-raw/fontgen/extra/distribution.svg index 63d50541d0..79610d87e9 100644 --- a/core/assets-raw/fontgen/extra/distribution.svg +++ b/core/assets-raw/fontgen/extra/distribution.svg @@ -1,18 +1,17 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="10" + height="10" + version="1.1" + id="svg192" + sodipodi:docname="distribution.svg" + inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"> diff --git a/core/assets-raw/fontgen/extra/effect.svg b/core/assets-raw/fontgen/extra/effect.svg index 2194e8953e..1bf4efdb86 100644 --- a/core/assets-raw/fontgen/extra/effect.svg +++ b/core/assets-raw/fontgen/extra/effect.svg @@ -1,18 +1,17 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="10" + height="10" + version="1.1" + id="svg252" + sodipodi:docname="effect.svg" + inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"> diff --git a/core/assets-raw/fontgen/extra/file-image.svg b/core/assets-raw/fontgen/extra/file-image.svg index 37d149a2e4..a0f2775d19 100644 --- a/core/assets-raw/fontgen/extra/file-image.svg +++ b/core/assets-raw/fontgen/extra/file-image.svg @@ -1,18 +1,17 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="10" + height="13" + version="1.1" + id="svg310" + sodipodi:docname="file-image.svg" + inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"> diff --git a/core/assets-raw/fontgen/extra/info.svg b/core/assets-raw/fontgen/extra/info.svg index d7ec5d243f..b4a8d54a45 100644 --- a/core/assets-raw/fontgen/extra/info.svg +++ b/core/assets-raw/fontgen/extra/info.svg @@ -1,18 +1,17 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="12" + height="12" + version="1.1" + id="svg300" + sodipodi:docname="info.svg" + inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"> diff --git a/core/assets-raw/fontgen/extra/logic.svg b/core/assets-raw/fontgen/extra/logic.svg index 431ce25d42..93fc13edd0 100644 --- a/core/assets-raw/fontgen/extra/logic.svg +++ b/core/assets-raw/fontgen/extra/logic.svg @@ -1,17 +1,16 @@ + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + sodipodi:docname="logic.svg" + inkscape:version="1.0 (9f2f71dc58, 2020-08-02)" + id="svg8" + version="1.1" + viewBox="0 0 128 128"> + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="16" + height="16" + version="1.1" + id="svg542" + sodipodi:docname="planet.svg" + inkscape:version="1.0.1 (0767f8302a, 2020-10-17)"> diff --git a/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad-light.png b/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad-light.png new file mode 100644 index 0000000000..039c97f909 Binary files /dev/null and b/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad-light.png differ diff --git a/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad-pod.png b/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad-pod.png new file mode 100644 index 0000000000..93675a3d28 Binary files /dev/null and b/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad-pod.png differ diff --git a/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad.png b/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad.png new file mode 100644 index 0000000000..de14b807f8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/campaign/advanced-launch-pad.png differ diff --git a/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator-team.png b/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator-team.png deleted file mode 100644 index e141d97940..0000000000 Binary files a/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator-team.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator.png b/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator.png index 41019a2c7d..9993af8ff7 100644 Binary files a/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator.png and b/core/assets-raw/sprites/blocks/campaign/interplanetary-accelerator.png differ diff --git a/core/assets-raw/sprites/blocks/campaign/landing-pad.png b/core/assets-raw/sprites/blocks/campaign/landing-pad.png new file mode 100644 index 0000000000..e4c98a3db5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/campaign/landing-pad.png differ diff --git a/core/assets-raw/sprites/blocks/campaign/launch-pad-large.png b/core/assets-raw/sprites/blocks/campaign/launch-pad-large.png deleted file mode 100644 index ac77dbe43c..0000000000 Binary files a/core/assets-raw/sprites/blocks/campaign/launch-pad-large.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/defense/barrier-projector-team.png b/core/assets-raw/sprites/blocks/defense/barrier-projector-team.png new file mode 100644 index 0000000000..4eba1ac6a8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/barrier-projector-team.png differ diff --git a/core/assets-raw/sprites/blocks/defense/barrier-projector.png b/core/assets-raw/sprites/blocks/defense/barrier-projector.png new file mode 100644 index 0000000000..edac72c033 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/barrier-projector.png differ diff --git a/core/assets-raw/sprites/blocks/defense/build-tower-base.png b/core/assets-raw/sprites/blocks/defense/build-tower-base.png new file mode 100644 index 0000000000..1c3bf95ff3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/build-tower-base.png differ diff --git a/core/assets-raw/sprites/blocks/defense/build-tower-glow.png b/core/assets-raw/sprites/blocks/defense/build-tower-glow.png new file mode 100644 index 0000000000..757d26de8e Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/build-tower-glow.png differ diff --git a/core/assets-raw/sprites/blocks/defense/build-tower.png b/core/assets-raw/sprites/blocks/defense/build-tower.png new file mode 100644 index 0000000000..b78d473bfc Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/build-tower.png differ diff --git a/core/assets-raw/sprites/blocks/defense/force-projector-team.png b/core/assets-raw/sprites/blocks/defense/force-projector-team.png new file mode 100644 index 0000000000..4eba1ac6a8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/force-projector-team.png differ diff --git a/core/assets-raw/sprites/blocks/defense/force-projector.png b/core/assets-raw/sprites/blocks/defense/force-projector.png index c69e9869b5..e8dfb1677e 100644 Binary files a/core/assets-raw/sprites/blocks/defense/force-projector.png and b/core/assets-raw/sprites/blocks/defense/force-projector.png differ diff --git a/core/assets-raw/sprites/blocks/defense/large-shield-projector-team.png b/core/assets-raw/sprites/blocks/defense/large-shield-projector-team.png new file mode 100644 index 0000000000..6cd40f07fc Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/large-shield-projector-team.png differ diff --git a/core/assets-raw/sprites/blocks/defense/large-shield-projector.png b/core/assets-raw/sprites/blocks/defense/large-shield-projector.png new file mode 100644 index 0000000000..8a971abc45 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/large-shield-projector.png differ diff --git a/core/assets-raw/sprites/blocks/defense/radar-base.png b/core/assets-raw/sprites/blocks/defense/radar-base.png new file mode 100644 index 0000000000..e26ef488f0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/radar-base.png differ diff --git a/core/assets-raw/sprites/blocks/defense/radar-glow.png b/core/assets-raw/sprites/blocks/defense/radar-glow.png new file mode 100644 index 0000000000..866ec4f44f Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/radar-glow.png differ diff --git a/core/assets-raw/sprites/blocks/defense/radar.png b/core/assets-raw/sprites/blocks/defense/radar.png new file mode 100644 index 0000000000..b4880bf7b1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/radar.png differ diff --git a/core/assets-raw/sprites/blocks/defense/regen-projector-bottom.png b/core/assets-raw/sprites/blocks/defense/regen-projector-bottom.png new file mode 100644 index 0000000000..71e64780bf Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/regen-projector-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/defense/regen-projector-glow.png b/core/assets-raw/sprites/blocks/defense/regen-projector-glow.png new file mode 100644 index 0000000000..4aa39ca852 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/regen-projector-glow.png differ diff --git a/core/assets-raw/sprites/blocks/defense/regen-projector-mid.png b/core/assets-raw/sprites/blocks/defense/regen-projector-mid.png new file mode 100644 index 0000000000..d5f5c37581 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/regen-projector-mid.png differ diff --git a/core/assets-raw/sprites/blocks/defense/regen-projector.png b/core/assets-raw/sprites/blocks/defense/regen-projector.png new file mode 100644 index 0000000000..f18e5bb857 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/regen-projector.png differ diff --git a/core/assets-raw/sprites/blocks/defense/shield-projector-team.png b/core/assets-raw/sprites/blocks/defense/shield-projector-team.png new file mode 100644 index 0000000000..4eba1ac6a8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/shield-projector-team.png differ diff --git a/core/assets-raw/sprites/blocks/defense/shield-projector.png b/core/assets-raw/sprites/blocks/defense/shield-projector.png new file mode 100644 index 0000000000..281848306e Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/shield-projector.png differ diff --git a/core/assets-raw/sprites/blocks/defense/shock-mine-team-top.png b/core/assets-raw/sprites/blocks/defense/shock-mine-team-top.png new file mode 100644 index 0000000000..e215e1a1ea Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/shock-mine-team-top.png differ diff --git a/core/assets-raw/sprites/blocks/defense/shockwave-tower-heat.png b/core/assets-raw/sprites/blocks/defense/shockwave-tower-heat.png new file mode 100644 index 0000000000..f949af1f2d Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/shockwave-tower-heat.png differ diff --git a/core/assets-raw/sprites/blocks/defense/shockwave-tower.png b/core/assets-raw/sprites/blocks/defense/shockwave-tower.png new file mode 100644 index 0000000000..dff1d43118 Binary files /dev/null and b/core/assets-raw/sprites/blocks/defense/shockwave-tower.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/block-loader.png b/core/assets-raw/sprites/blocks/distribution/block-loader.png deleted file mode 100644 index 08c851a0cd..0000000000 Binary files a/core/assets-raw/sprites/blocks/distribution/block-loader.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/distribution/block-unloader.png b/core/assets-raw/sprites/blocks/distribution/block-unloader.png deleted file mode 100644 index 2ee0b89d9b..0000000000 Binary files a/core/assets-raw/sprites/blocks/distribution/block-unloader.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/distribution/cross-full.png b/core/assets-raw/sprites/blocks/distribution/cross-full.png new file mode 100644 index 0000000000..916e18cfd2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/cross-full.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-0.png b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-0.png new file mode 100644 index 0000000000..2de29f2ee5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-1.png b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-1.png new file mode 100644 index 0000000000..24700e6f14 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-2.png b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-2.png new file mode 100644 index 0000000000..a28ab6d617 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-3.png b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-3.png new file mode 100644 index 0000000000..52f1b8b392 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-3.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-4.png b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-4.png new file mode 100644 index 0000000000..6d529f2a4b Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/armored-duct-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/arrow-glow.png b/core/assets-raw/sprites/blocks/distribution/ducts/arrow-glow.png new file mode 100644 index 0000000000..469de30742 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/arrow-glow.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-0.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-0.png new file mode 100644 index 0000000000..329fc2f756 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-1.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-1.png new file mode 100644 index 0000000000..6e793c7cac Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-2.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-2.png new file mode 100644 index 0000000000..a2dd7b5e0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-3.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-3.png new file mode 100644 index 0000000000..a2dd7b5e0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-3.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-4.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-4.png new file mode 100644 index 0000000000..a2dd7b5e0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom-4.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom.png new file mode 100644 index 0000000000..04cecf2c96 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-arrow.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-arrow.png new file mode 100644 index 0000000000..f47060e98c Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-arrow.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.png new file mode 100644 index 0000000000..16256794a0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-bridge-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-bridge.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-bridge.png new file mode 100644 index 0000000000..ff853cecf6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-bridge.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-dir.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-dir.png new file mode 100644 index 0000000000..8349ac6837 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge-dir.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge.png new file mode 100644 index 0000000000..428785c66c Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-bridge.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-router-top.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-router-top.png new file mode 100644 index 0000000000..f93d8639c9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-router-top.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-router.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-router.png new file mode 100644 index 0000000000..428785c66c Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-router.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-0.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-0.png new file mode 100644 index 0000000000..eae68cbeaf Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-1.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-1.png new file mode 100644 index 0000000000..2e1b8c091e Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-2.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-2.png new file mode 100644 index 0000000000..10fde0b35b Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-3.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-3.png new file mode 100644 index 0000000000..491efae7c9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-3.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-4.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-4.png new file mode 100644 index 0000000000..adad9a7fc6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-arrow.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-arrow.png new file mode 100644 index 0000000000..1ece44e2f0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-arrow.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-center.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-center.png new file mode 100644 index 0000000000..19def6bcc8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-center.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-top.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-top.png new file mode 100644 index 0000000000..5f2cff7a9b Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader-top.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader.png b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader.png new file mode 100644 index 0000000000..5791261174 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/duct-unloader.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/overflow-duct-top.png b/core/assets-raw/sprites/blocks/distribution/ducts/overflow-duct-top.png new file mode 100644 index 0000000000..7a6637d7a9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/overflow-duct-top.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/overflow-duct.png b/core/assets-raw/sprites/blocks/distribution/ducts/overflow-duct.png new file mode 100644 index 0000000000..0f647a8ae4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/overflow-duct.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/surge-router-top.png b/core/assets-raw/sprites/blocks/distribution/ducts/surge-router-top.png new file mode 100644 index 0000000000..f93d8639c9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/surge-router-top.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/surge-router.png b/core/assets-raw/sprites/blocks/distribution/ducts/surge-router.png new file mode 100644 index 0000000000..99a48d8c88 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/surge-router.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/underflow-duct-top.png b/core/assets-raw/sprites/blocks/distribution/ducts/underflow-duct-top.png new file mode 100644 index 0000000000..b986bc356d Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/underflow-duct-top.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/ducts/underflow-duct.png b/core/assets-raw/sprites/blocks/distribution/ducts/underflow-duct.png new file mode 100644 index 0000000000..0f647a8ae4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/ducts/underflow-duct.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/inverted-sorter.png b/core/assets-raw/sprites/blocks/distribution/inverted-sorter.png index e023e20061..47e4ed20c9 100644 Binary files a/core/assets-raw/sprites/blocks/distribution/inverted-sorter.png and b/core/assets-raw/sprites/blocks/distribution/inverted-sorter.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/payload-conveyor-top.png b/core/assets-raw/sprites/blocks/distribution/payload-conveyor-top.png deleted file mode 100644 index 8ecc636e9e..0000000000 Binary files a/core/assets-raw/sprites/blocks/distribution/payload-conveyor-top.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/distribution/sorter.png b/core/assets-raw/sprites/blocks/distribution/sorter.png index a4c8b37e59..8bbe0fb50a 100644 Binary files a/core/assets-raw/sprites/blocks/distribution/sorter.png and b/core/assets-raw/sprites/blocks/distribution/sorter.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-0.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-0.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-0.png rename to core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-0.png diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-1.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-1.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-1.png rename to core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-1.png diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-2.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-2.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-2.png rename to core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-2.png diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-edge.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-edge.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-edge.png rename to core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-edge.png diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-stack.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-stack.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor-stack.png rename to core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor-stack.png diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/conveyors/plastanium-conveyor.png rename to core/assets-raw/sprites/blocks/distribution/stack-conveyors/plastanium-conveyor.png diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-0.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-0.png new file mode 100644 index 0000000000..7217e22c18 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-1.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-1.png new file mode 100644 index 0000000000..ef69e2600b Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-2.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-2.png new file mode 100644 index 0000000000..3c1afe07dc Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-edge-glow.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-edge-glow.png new file mode 100644 index 0000000000..379eb10394 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-edge-glow.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-edge.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-edge.png new file mode 100644 index 0000000000..8144b95cbe Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-edge.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-glow.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-glow.png new file mode 100644 index 0000000000..469de30742 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-glow.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-stack.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-stack.png new file mode 100644 index 0000000000..d953c790a4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor-stack.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor.png b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor.png new file mode 100644 index 0000000000..10a38a7a83 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/stack-conveyors/surge-conveyor.png differ diff --git a/core/assets-raw/sprites/blocks/drills/blast-drill-rotator.png b/core/assets-raw/sprites/blocks/drills/blast-drill-rotator.png index 4f17e71eee..f781765591 100644 Binary files a/core/assets-raw/sprites/blocks/drills/blast-drill-rotator.png and b/core/assets-raw/sprites/blocks/drills/blast-drill-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/drills/cliff-crusher-rotator-bottom.png b/core/assets-raw/sprites/blocks/drills/cliff-crusher-rotator-bottom.png new file mode 100644 index 0000000000..6799ee0e87 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/cliff-crusher-rotator-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/drills/cliff-crusher-rotator.png b/core/assets-raw/sprites/blocks/drills/cliff-crusher-rotator.png new file mode 100644 index 0000000000..a63c5c351a Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/cliff-crusher-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/drills/cliff-crusher-top.png b/core/assets-raw/sprites/blocks/drills/cliff-crusher-top.png new file mode 100644 index 0000000000..11b6823dcd Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/cliff-crusher-top.png differ diff --git a/core/assets-raw/sprites/blocks/drills/cliff-crusher.png b/core/assets-raw/sprites/blocks/drills/cliff-crusher.png new file mode 100644 index 0000000000..6429f1c9bc Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/cliff-crusher.png differ diff --git a/core/assets-raw/sprites/blocks/drills/eruption-drill-arrow-blur.png b/core/assets-raw/sprites/blocks/drills/eruption-drill-arrow-blur.png new file mode 100644 index 0000000000..e5c6e0e2eb Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/eruption-drill-arrow-blur.png differ diff --git a/core/assets-raw/sprites/blocks/drills/eruption-drill-arrow.png b/core/assets-raw/sprites/blocks/drills/eruption-drill-arrow.png new file mode 100644 index 0000000000..88b8b3e65e Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/eruption-drill-arrow.png differ diff --git a/core/assets-raw/sprites/blocks/drills/eruption-drill-glow.png b/core/assets-raw/sprites/blocks/drills/eruption-drill-glow.png new file mode 100644 index 0000000000..d8f35a144f Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/eruption-drill-glow.png differ diff --git a/core/assets-raw/sprites/blocks/drills/eruption-drill-item.png b/core/assets-raw/sprites/blocks/drills/eruption-drill-item.png new file mode 100644 index 0000000000..73a5e7624e Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/eruption-drill-item.png differ diff --git a/core/assets-raw/sprites/blocks/drills/eruption-drill-top.png b/core/assets-raw/sprites/blocks/drills/eruption-drill-top.png new file mode 100644 index 0000000000..69b4faaa8e Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/eruption-drill-top.png differ diff --git a/core/assets-raw/sprites/blocks/drills/eruption-drill.png b/core/assets-raw/sprites/blocks/drills/eruption-drill.png new file mode 100644 index 0000000000..f4b809a51e Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/eruption-drill.png differ diff --git a/core/assets-raw/sprites/blocks/drills/impact-drill-arrow-blur.png b/core/assets-raw/sprites/blocks/drills/impact-drill-arrow-blur.png new file mode 100644 index 0000000000..49913d21d4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/impact-drill-arrow-blur.png differ diff --git a/core/assets-raw/sprites/blocks/drills/impact-drill-arrow.png b/core/assets-raw/sprites/blocks/drills/impact-drill-arrow.png new file mode 100644 index 0000000000..9277d3930b Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/impact-drill-arrow.png differ diff --git a/core/assets-raw/sprites/blocks/drills/impact-drill-item.png b/core/assets-raw/sprites/blocks/drills/impact-drill-item.png new file mode 100644 index 0000000000..a9ab1b2740 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/impact-drill-item.png differ diff --git a/core/assets-raw/sprites/blocks/drills/impact-drill-top-invert.png b/core/assets-raw/sprites/blocks/drills/impact-drill-top-invert.png new file mode 100644 index 0000000000..792c61fa07 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/impact-drill-top-invert.png differ diff --git a/core/assets-raw/sprites/blocks/drills/impact-drill-top.png b/core/assets-raw/sprites/blocks/drills/impact-drill-top.png new file mode 100644 index 0000000000..76d645c278 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/impact-drill-top.png differ diff --git a/core/assets-raw/sprites/blocks/drills/impact-drill.png b/core/assets-raw/sprites/blocks/drills/impact-drill.png new file mode 100644 index 0000000000..b982da64a0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/impact-drill.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-rotator-bottom.png b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-rotator-bottom.png new file mode 100644 index 0000000000..6799ee0e87 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-rotator-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-rotator.png b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-rotator.png new file mode 100644 index 0000000000..a63c5c351a Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-top.png b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-top.png new file mode 100644 index 0000000000..1a9526ac5d Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher-top.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-cliff-crusher.png b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher.png new file mode 100644 index 0000000000..508f4e7f22 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-cliff-crusher.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-plasma-bore-glow.png b/core/assets-raw/sprites/blocks/drills/large-plasma-bore-glow.png new file mode 100644 index 0000000000..b17b63b0e1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-plasma-bore-glow.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-plasma-bore-top.png b/core/assets-raw/sprites/blocks/drills/large-plasma-bore-top.png new file mode 100644 index 0000000000..787040b968 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-plasma-bore-top.png differ diff --git a/core/assets-raw/sprites/blocks/drills/large-plasma-bore.png b/core/assets-raw/sprites/blocks/drills/large-plasma-bore.png new file mode 100644 index 0000000000..9221578a2d Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/large-plasma-bore.png differ diff --git a/core/assets-raw/sprites/blocks/drills/laser-drill-rim.png b/core/assets-raw/sprites/blocks/drills/laser-drill-rim.png deleted file mode 100644 index 80a830e1c7..0000000000 Binary files a/core/assets-raw/sprites/blocks/drills/laser-drill-rim.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/drills/laser-drill-rotator.png b/core/assets-raw/sprites/blocks/drills/laser-drill-rotator.png index a6d5ad350b..f9301d4e73 100644 Binary files a/core/assets-raw/sprites/blocks/drills/laser-drill-rotator.png and b/core/assets-raw/sprites/blocks/drills/laser-drill-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/drills/oil-extractor-liquid.png b/core/assets-raw/sprites/blocks/drills/oil-extractor-liquid.png index 9a058e3fc9..6639f0889b 100644 Binary files a/core/assets-raw/sprites/blocks/drills/oil-extractor-liquid.png and b/core/assets-raw/sprites/blocks/drills/oil-extractor-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/drills/plasma-bore-glow.png b/core/assets-raw/sprites/blocks/drills/plasma-bore-glow.png new file mode 100644 index 0000000000..fbfe8c4a7a Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/plasma-bore-glow.png differ diff --git a/core/assets-raw/sprites/blocks/drills/plasma-bore-top.png b/core/assets-raw/sprites/blocks/drills/plasma-bore-top.png new file mode 100644 index 0000000000..4d8673451e Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/plasma-bore-top.png differ diff --git a/core/assets-raw/sprites/blocks/drills/plasma-bore.png b/core/assets-raw/sprites/blocks/drills/plasma-bore.png new file mode 100644 index 0000000000..f9d5379973 Binary files /dev/null and b/core/assets-raw/sprites/blocks/drills/plasma-bore.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkycite-floor.png b/core/assets-raw/sprites/blocks/environment/arkycite-floor.png new file mode 100644 index 0000000000..fc0cbb677d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkycite-floor.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-stone1.png b/core/assets-raw/sprites/blocks/environment/arkyic-stone1.png new file mode 100644 index 0000000000..3e8d77902d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-stone2.png b/core/assets-raw/sprites/blocks/environment/arkyic-stone2.png new file mode 100644 index 0000000000..83afe7df88 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-stone3.png b/core/assets-raw/sprites/blocks/environment/arkyic-stone3.png new file mode 100644 index 0000000000..f8772bcc95 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-vent1.png b/core/assets-raw/sprites/blocks/environment/arkyic-vent1.png new file mode 100644 index 0000000000..cb2a687612 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-vent1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-vent2.png b/core/assets-raw/sprites/blocks/environment/arkyic-vent2.png new file mode 100644 index 0000000000..7c689388ac Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-vent2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-wall-large.png b/core/assets-raw/sprites/blocks/environment/arkyic-wall-large.png new file mode 100644 index 0000000000..a972142d22 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-wall1.png b/core/assets-raw/sprites/blocks/environment/arkyic-wall1.png new file mode 100644 index 0000000000..0df834af2e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-wall2.png b/core/assets-raw/sprites/blocks/environment/arkyic-wall2.png new file mode 100644 index 0000000000..45b1197fc4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/arkyic-wall3.png b/core/assets-raw/sprites/blocks/environment/arkyic-wall3.png new file mode 100644 index 0000000000..e289f569a4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/arkyic-wall3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall-large.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall-large.png new file mode 100644 index 0000000000..19be0be158 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall1.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall1.png new file mode 100644 index 0000000000..896f35d529 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall2.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall2.png new file mode 100644 index 0000000000..5e37ccc777 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone1.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone1.png new file mode 100644 index 0000000000..1f1ca159b3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone2.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone2.png new file mode 100644 index 0000000000..a63c393730 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone3.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone3.png new file mode 100644 index 0000000000..bfcda666b0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/beryllic-stone4.png b/core/assets-raw/sprites/blocks/environment/beryllic-stone4.png new file mode 100644 index 0000000000..298d4b1b8a Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/beryllic-stone4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/bluemat1.png b/core/assets-raw/sprites/blocks/environment/bluemat1.png new file mode 100644 index 0000000000..958ddac3eb Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/bluemat1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/bluemat2.png b/core/assets-raw/sprites/blocks/environment/bluemat2.png new file mode 100644 index 0000000000..13d68ac5f0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/bluemat2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/bluemat3.png b/core/assets-raw/sprites/blocks/environment/bluemat3.png new file mode 100644 index 0000000000..b10b1b18bd Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/bluemat3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-stone1.png b/core/assets-raw/sprites/blocks/environment/carbon-stone1.png new file mode 100644 index 0000000000..2f2fceed17 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-stone2.png b/core/assets-raw/sprites/blocks/environment/carbon-stone2.png new file mode 100644 index 0000000000..6feafe5ef0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-stone3.png b/core/assets-raw/sprites/blocks/environment/carbon-stone3.png new file mode 100644 index 0000000000..3a17479674 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-stone4.png b/core/assets-raw/sprites/blocks/environment/carbon-stone4.png new file mode 100644 index 0000000000..fdf9a8981e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-stone4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-vent1.png b/core/assets-raw/sprites/blocks/environment/carbon-vent1.png new file mode 100644 index 0000000000..4429e8168d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-vent1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-vent2.png b/core/assets-raw/sprites/blocks/environment/carbon-vent2.png new file mode 100644 index 0000000000..755e7d608e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-vent2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-wall-large.png b/core/assets-raw/sprites/blocks/environment/carbon-wall-large.png new file mode 100644 index 0000000000..68d0826a9a Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-wall1.png b/core/assets-raw/sprites/blocks/environment/carbon-wall1.png new file mode 100644 index 0000000000..d1f7818d17 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/carbon-wall2.png b/core/assets-raw/sprites/blocks/environment/carbon-wall2.png new file mode 100644 index 0000000000..984fb02202 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/carbon-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/char1.png b/core/assets-raw/sprites/blocks/environment/char1.png index d8a1dae14f..e7e7f42580 100644 Binary files a/core/assets-raw/sprites/blocks/environment/char1.png and b/core/assets-raw/sprites/blocks/environment/char1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/char2.png b/core/assets-raw/sprites/blocks/environment/char2.png index c37787ba4f..c418289e48 100644 Binary files a/core/assets-raw/sprites/blocks/environment/char2.png and b/core/assets-raw/sprites/blocks/environment/char2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/char3.png b/core/assets-raw/sprites/blocks/environment/char3.png index c45e69823a..cfb54e0ea0 100644 Binary files a/core/assets-raw/sprites/blocks/environment/char3.png and b/core/assets-raw/sprites/blocks/environment/char3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/core-zone.png b/core/assets-raw/sprites/blocks/environment/core-zone.png new file mode 100644 index 0000000000..ba2a9d5db5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/core-zone.png differ diff --git a/core/assets-raw/sprites/blocks/environment/craters1.png b/core/assets-raw/sprites/blocks/environment/crater-stone1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/craters1.png rename to core/assets-raw/sprites/blocks/environment/crater-stone1.png diff --git a/core/assets-raw/sprites/blocks/environment/craters2.png b/core/assets-raw/sprites/blocks/environment/crater-stone2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/craters2.png rename to core/assets-raw/sprites/blocks/environment/crater-stone2.png diff --git a/core/assets-raw/sprites/blocks/environment/craters3.png b/core/assets-raw/sprites/blocks/environment/crater-stone3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/craters3.png rename to core/assets-raw/sprites/blocks/environment/crater-stone3.png diff --git a/core/assets-raw/sprites/blocks/environment/craters4.png b/core/assets-raw/sprites/blocks/environment/crater-stone4.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/craters4.png rename to core/assets-raw/sprites/blocks/environment/crater-stone4.png diff --git a/core/assets-raw/sprites/blocks/environment/craters5.png b/core/assets-raw/sprites/blocks/environment/crater-stone5.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/craters5.png rename to core/assets-raw/sprites/blocks/environment/crater-stone5.png diff --git a/core/assets-raw/sprites/blocks/environment/craters6.png b/core/assets-raw/sprites/blocks/environment/crater-stone6.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/craters6.png rename to core/assets-raw/sprites/blocks/environment/crater-stone6.png diff --git a/core/assets-raw/sprites/blocks/environment/crystal-floor1.png b/core/assets-raw/sprites/blocks/environment/crystal-floor1.png new file mode 100644 index 0000000000..d2cbb258d5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystal-floor1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystal-floor2.png b/core/assets-raw/sprites/blocks/environment/crystal-floor2.png new file mode 100644 index 0000000000..1be27393ab Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystal-floor2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystal-floor3.png b/core/assets-raw/sprites/blocks/environment/crystal-floor3.png new file mode 100644 index 0000000000..f677063068 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystal-floor3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystal-floor4.png b/core/assets-raw/sprites/blocks/environment/crystal-floor4.png new file mode 100644 index 0000000000..da653b15ce Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystal-floor4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall-large.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall-large.png new file mode 100644 index 0000000000..9d2bfdbb64 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall1.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall1.png new file mode 100644 index 0000000000..85d020c779 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall2.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall2.png new file mode 100644 index 0000000000..6464cddee8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall3.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall3.png new file mode 100644 index 0000000000..019e90032c Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall4.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall4.png new file mode 100644 index 0000000000..60e70ffee6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone-wall4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone1.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone1.png new file mode 100644 index 0000000000..25549cfbaf Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone2.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone2.png new file mode 100644 index 0000000000..7855ea476b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone3.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone3.png new file mode 100644 index 0000000000..63d6d7be2d Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone4.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone4.png new file mode 100644 index 0000000000..d9a441075f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-stone5.png b/core/assets-raw/sprites/blocks/environment/crystalline-stone5.png new file mode 100644 index 0000000000..e040f73d67 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-stone5.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-vent1.png b/core/assets-raw/sprites/blocks/environment/crystalline-vent1.png new file mode 100644 index 0000000000..e52120a822 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-vent1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/crystalline-vent2.png b/core/assets-raw/sprites/blocks/environment/crystalline-vent2.png new file mode 100644 index 0000000000..72ddb58237 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/crystalline-vent2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dark-metal-large.png b/core/assets-raw/sprites/blocks/environment/dark-metal-large.png index 42a53db08b..6152bd059b 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dark-metal-large.png and b/core/assets-raw/sprites/blocks/environment/dark-metal-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dark-metal2.png b/core/assets-raw/sprites/blocks/environment/dark-metal2.png index 42f7238425..3cf75bb998 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dark-metal2.png and b/core/assets-raw/sprites/blocks/environment/dark-metal2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dark-panel-1.png b/core/assets-raw/sprites/blocks/environment/dark-panel-1.png index ea2d25e43f..4eebdd9f44 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dark-panel-1.png and b/core/assets-raw/sprites/blocks/environment/dark-panel-1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dark-panel-2.png b/core/assets-raw/sprites/blocks/environment/dark-panel-2.png index 117c0fddf7..adbc44fdf5 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dark-panel-2.png and b/core/assets-raw/sprites/blocks/environment/dark-panel-2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dark-panel-4.png b/core/assets-raw/sprites/blocks/environment/dark-panel-4.png index a69c9c2da5..9c92f09ef3 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dark-panel-4.png and b/core/assets-raw/sprites/blocks/environment/dark-panel-4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dark-panel-5.png b/core/assets-raw/sprites/blocks/environment/dark-panel-5.png index b7d3e69c20..2e990695ed 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dark-panel-5.png and b/core/assets-raw/sprites/blocks/environment/dark-panel-5.png differ diff --git a/core/assets-raw/sprites/blocks/environment/deep-tainted-water.png b/core/assets-raw/sprites/blocks/environment/deep-tainted-water.png new file mode 100644 index 0000000000..c072c0ebea Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/deep-tainted-water.png differ diff --git a/core/assets-raw/sprites/blocks/environment/deepwater.png b/core/assets-raw/sprites/blocks/environment/deep-water.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/deepwater.png rename to core/assets-raw/sprites/blocks/environment/deep-water.png diff --git a/core/assets-raw/sprites/blocks/environment/dense-red-stone1.png b/core/assets-raw/sprites/blocks/environment/dense-red-stone1.png new file mode 100644 index 0000000000..d45750c6a4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/dense-red-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dense-red-stone2.png b/core/assets-raw/sprites/blocks/environment/dense-red-stone2.png new file mode 100644 index 0000000000..acb47bc1fc Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/dense-red-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dense-red-stone3.png b/core/assets-raw/sprites/blocks/environment/dense-red-stone3.png new file mode 100644 index 0000000000..1bbaab57e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/dense-red-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dense-red-stone4.png b/core/assets-raw/sprites/blocks/environment/dense-red-stone4.png new file mode 100644 index 0000000000..4297994f0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/dense-red-stone4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dune-wall-large.png b/core/assets-raw/sprites/blocks/environment/dune-wall-large.png index 23082592c7..9966c564e9 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dune-wall-large.png and b/core/assets-raw/sprites/blocks/environment/dune-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/dune-wall1.png b/core/assets-raw/sprites/blocks/environment/dune-wall1.png index 64d13b3f24..fbd9cb8090 100644 Binary files a/core/assets-raw/sprites/blocks/environment/dune-wall1.png and b/core/assets-raw/sprites/blocks/environment/dune-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/edgier.png b/core/assets-raw/sprites/blocks/environment/edgier.png deleted file mode 100644 index 0e4e66c84c..0000000000 Binary files a/core/assets-raw/sprites/blocks/environment/edgier.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/environment/empty.png b/core/assets-raw/sprites/blocks/environment/empty.png new file mode 100644 index 0000000000..b76b9c46a9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/empty.png differ diff --git a/core/assets-raw/sprites/blocks/environment/env-error.png b/core/assets-raw/sprites/blocks/environment/env-error.png new file mode 100644 index 0000000000..b72971ab8a Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/env-error.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-craters1.png b/core/assets-raw/sprites/blocks/environment/ferric-craters1.png new file mode 100644 index 0000000000..4fdccda562 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-craters1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-craters2.png b/core/assets-raw/sprites/blocks/environment/ferric-craters2.png new file mode 100644 index 0000000000..ad54fb651f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-craters2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-craters3.png b/core/assets-raw/sprites/blocks/environment/ferric-craters3.png new file mode 100644 index 0000000000..b7c0ba0a49 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-craters3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone-wall-large.png b/core/assets-raw/sprites/blocks/environment/ferric-stone-wall-large.png new file mode 100644 index 0000000000..a1a16a11e3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone-wall1.png b/core/assets-raw/sprites/blocks/environment/ferric-stone-wall1.png new file mode 100644 index 0000000000..bd72860661 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone-wall2.png b/core/assets-raw/sprites/blocks/environment/ferric-stone-wall2.png new file mode 100644 index 0000000000..8fb0c13179 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone1.png b/core/assets-raw/sprites/blocks/environment/ferric-stone1.png new file mode 100644 index 0000000000..898da4de92 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone2.png b/core/assets-raw/sprites/blocks/environment/ferric-stone2.png new file mode 100644 index 0000000000..60a5384168 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone3.png b/core/assets-raw/sprites/blocks/environment/ferric-stone3.png new file mode 100644 index 0000000000..6622c35e38 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ferric-stone4.png b/core/assets-raw/sprites/blocks/environment/ferric-stone4.png new file mode 100644 index 0000000000..c0b84af752 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ferric-stone4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/glowblob1.png b/core/assets-raw/sprites/blocks/environment/glowblob1.png new file mode 100644 index 0000000000..4d72f6092e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/glowblob1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall-large.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall-large.png new file mode 100644 index 0000000000..9e64bad6aa Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/graphitic-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall1.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall1.png new file mode 100644 index 0000000000..ddaf262296 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/graphitic-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall2.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall2.png new file mode 100644 index 0000000000..8303b5dcb9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/graphitic-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/graphitic-wall3.png b/core/assets-raw/sprites/blocks/environment/graphitic-wall3.png new file mode 100644 index 0000000000..9fa475dece Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/graphitic-wall3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ice-snow1.png b/core/assets-raw/sprites/blocks/environment/ice-snow1.png index ee593e9f64..d2010a0106 100644 Binary files a/core/assets-raw/sprites/blocks/environment/ice-snow1.png and b/core/assets-raw/sprites/blocks/environment/ice-snow1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ice-snow2.png b/core/assets-raw/sprites/blocks/environment/ice-snow2.png index a9ffcf1088..5a0d5458d4 100644 Binary files a/core/assets-raw/sprites/blocks/environment/ice-snow2.png and b/core/assets-raw/sprites/blocks/environment/ice-snow2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ice-snow3.png b/core/assets-raw/sprites/blocks/environment/ice-snow3.png index f38d778b29..4375ee7139 100644 Binary files a/core/assets-raw/sprites/blocks/environment/ice-snow3.png and b/core/assets-raw/sprites/blocks/environment/ice-snow3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/metal-floor-4.png b/core/assets-raw/sprites/blocks/environment/metal-floor-4.png new file mode 100644 index 0000000000..da7ee79f48 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/metal-floor-4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/metal-floor-damaged1.png b/core/assets-raw/sprites/blocks/environment/metal-floor-damaged1.png index 1cfce7fe86..c7914a00c3 100644 Binary files a/core/assets-raw/sprites/blocks/environment/metal-floor-damaged1.png and b/core/assets-raw/sprites/blocks/environment/metal-floor-damaged1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/metal-floor-damaged2.png b/core/assets-raw/sprites/blocks/environment/metal-floor-damaged2.png index 078e5e7252..8333961067 100644 Binary files a/core/assets-raw/sprites/blocks/environment/metal-floor-damaged2.png and b/core/assets-raw/sprites/blocks/environment/metal-floor-damaged2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/metal-floor-damaged3.png b/core/assets-raw/sprites/blocks/environment/metal-floor-damaged3.png index fbc921711d..01b0616d3e 100644 Binary files a/core/assets-raw/sprites/blocks/environment/metal-floor-damaged3.png and b/core/assets-raw/sprites/blocks/environment/metal-floor-damaged3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/metal-floor.png b/core/assets-raw/sprites/blocks/environment/metal-floor.png index f60eff075e..a4fe16e944 100644 Binary files a/core/assets-raw/sprites/blocks/environment/metal-floor.png and b/core/assets-raw/sprites/blocks/environment/metal-floor.png differ diff --git a/core/assets-raw/sprites/blocks/environment/slag.png b/core/assets-raw/sprites/blocks/environment/molten-slag.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/slag.png rename to core/assets-raw/sprites/blocks/environment/molten-slag.png diff --git a/core/assets-raw/sprites/blocks/environment/ore-beryllium1.png b/core/assets-raw/sprites/blocks/environment/ore-beryllium1.png new file mode 100644 index 0000000000..2cadc169ad Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-beryllium1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-beryllium2.png b/core/assets-raw/sprites/blocks/environment/ore-beryllium2.png new file mode 100644 index 0000000000..8f1d546d2c Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-beryllium2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-beryllium3.png b/core/assets-raw/sprites/blocks/environment/ore-beryllium3.png new file mode 100644 index 0000000000..a037c879de Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-beryllium3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/coal1.png b/core/assets-raw/sprites/blocks/environment/ore-coal1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/coal1.png rename to core/assets-raw/sprites/blocks/environment/ore-coal1.png diff --git a/core/assets-raw/sprites/blocks/environment/coal2.png b/core/assets-raw/sprites/blocks/environment/ore-coal2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/coal2.png rename to core/assets-raw/sprites/blocks/environment/ore-coal2.png diff --git a/core/assets-raw/sprites/blocks/environment/coal3.png b/core/assets-raw/sprites/blocks/environment/ore-coal3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/coal3.png rename to core/assets-raw/sprites/blocks/environment/ore-coal3.png diff --git a/core/assets-raw/sprites/blocks/environment/copper1.png b/core/assets-raw/sprites/blocks/environment/ore-copper1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/copper1.png rename to core/assets-raw/sprites/blocks/environment/ore-copper1.png diff --git a/core/assets-raw/sprites/blocks/environment/copper2.png b/core/assets-raw/sprites/blocks/environment/ore-copper2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/copper2.png rename to core/assets-raw/sprites/blocks/environment/ore-copper2.png diff --git a/core/assets-raw/sprites/blocks/environment/copper3.png b/core/assets-raw/sprites/blocks/environment/ore-copper3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/copper3.png rename to core/assets-raw/sprites/blocks/environment/ore-copper3.png diff --git a/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium1.png b/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium1.png new file mode 100644 index 0000000000..3f0625749b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium2.png b/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium2.png new file mode 100644 index 0000000000..d71ae77293 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium3.png b/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium3.png new file mode 100644 index 0000000000..5790f50c77 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-crystal-thorium3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/lead1.png b/core/assets-raw/sprites/blocks/environment/ore-lead1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/lead1.png rename to core/assets-raw/sprites/blocks/environment/ore-lead1.png diff --git a/core/assets-raw/sprites/blocks/environment/lead2.png b/core/assets-raw/sprites/blocks/environment/ore-lead2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/lead2.png rename to core/assets-raw/sprites/blocks/environment/ore-lead2.png diff --git a/core/assets-raw/sprites/blocks/environment/lead3.png b/core/assets-raw/sprites/blocks/environment/ore-lead3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/lead3.png rename to core/assets-raw/sprites/blocks/environment/ore-lead3.png diff --git a/core/assets-raw/sprites/blocks/environment/scrap1.png b/core/assets-raw/sprites/blocks/environment/ore-scrap1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/scrap1.png rename to core/assets-raw/sprites/blocks/environment/ore-scrap1.png diff --git a/core/assets-raw/sprites/blocks/environment/scrap2.png b/core/assets-raw/sprites/blocks/environment/ore-scrap2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/scrap2.png rename to core/assets-raw/sprites/blocks/environment/ore-scrap2.png diff --git a/core/assets-raw/sprites/blocks/environment/scrap3.png b/core/assets-raw/sprites/blocks/environment/ore-scrap3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/scrap3.png rename to core/assets-raw/sprites/blocks/environment/ore-scrap3.png diff --git a/core/assets-raw/sprites/blocks/environment/thorium1.png b/core/assets-raw/sprites/blocks/environment/ore-thorium1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/thorium1.png rename to core/assets-raw/sprites/blocks/environment/ore-thorium1.png diff --git a/core/assets-raw/sprites/blocks/environment/thorium2.png b/core/assets-raw/sprites/blocks/environment/ore-thorium2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/thorium2.png rename to core/assets-raw/sprites/blocks/environment/ore-thorium2.png diff --git a/core/assets-raw/sprites/blocks/environment/thorium3.png b/core/assets-raw/sprites/blocks/environment/ore-thorium3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/thorium3.png rename to core/assets-raw/sprites/blocks/environment/ore-thorium3.png diff --git a/core/assets-raw/sprites/blocks/environment/titanium1.png b/core/assets-raw/sprites/blocks/environment/ore-titanium1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/titanium1.png rename to core/assets-raw/sprites/blocks/environment/ore-titanium1.png diff --git a/core/assets-raw/sprites/blocks/environment/titanium2.png b/core/assets-raw/sprites/blocks/environment/ore-titanium2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/titanium2.png rename to core/assets-raw/sprites/blocks/environment/ore-titanium2.png diff --git a/core/assets-raw/sprites/blocks/environment/titanium3.png b/core/assets-raw/sprites/blocks/environment/ore-titanium3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/titanium3.png rename to core/assets-raw/sprites/blocks/environment/ore-titanium3.png diff --git a/core/assets-raw/sprites/blocks/environment/ore-tungsten1.png b/core/assets-raw/sprites/blocks/environment/ore-tungsten1.png new file mode 100644 index 0000000000..b923450eff Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-tungsten1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-tungsten2.png b/core/assets-raw/sprites/blocks/environment/ore-tungsten2.png new file mode 100644 index 0000000000..07624893a3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-tungsten2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-tungsten3.png b/core/assets-raw/sprites/blocks/environment/ore-tungsten3.png new file mode 100644 index 0000000000..3cfa8d1aa4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-tungsten3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium1.png b/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium1.png new file mode 100644 index 0000000000..a1dcfcf4e2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium2.png b/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium2.png new file mode 100644 index 0000000000..851a6b5b06 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium3.png b/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium3.png new file mode 100644 index 0000000000..b87cd5a088 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-beryllium3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-thorium1.png b/core/assets-raw/sprites/blocks/environment/ore-wall-thorium1.png new file mode 100644 index 0000000000..a01a034745 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-thorium1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-thorium2.png b/core/assets-raw/sprites/blocks/environment/ore-wall-thorium2.png new file mode 100644 index 0000000000..4ea1ec3065 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-thorium2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-thorium3.png b/core/assets-raw/sprites/blocks/environment/ore-wall-thorium3.png new file mode 100644 index 0000000000..266b53f814 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-thorium3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten1.png b/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten1.png new file mode 100644 index 0000000000..faa96fc02e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten2.png b/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten2.png new file mode 100644 index 0000000000..e8d939d7b2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten3.png b/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten3.png new file mode 100644 index 0000000000..da8b232117 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/ore-wall-tungsten3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/pack.json b/core/assets-raw/sprites/blocks/environment/pack.json index fcd452dd9f..8a0d47c2b6 100644 --- a/core/assets-raw/sprites/blocks/environment/pack.json +++ b/core/assets-raw/sprites/blocks/environment/pack.json @@ -2,7 +2,8 @@ duplicatePadding: true, combineSubdirectories: true, flattenPaths: true, - maxWidth: 4096, - maxHeight: 4096, - fast: true + maxWidth: 2048, + maxHeight: 2048, + fast: true, + stripWhitespaceCenter: false } diff --git a/core/assets-raw/sprites/blocks/environment/pooled-cryofluid.png b/core/assets-raw/sprites/blocks/environment/pooled-cryofluid.png new file mode 100644 index 0000000000..9d50189fd9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/pooled-cryofluid.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-diamond-wall1.png b/core/assets-raw/sprites/blocks/environment/red-diamond-wall1.png new file mode 100644 index 0000000000..cc4225fb76 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-diamond-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-diamond-wall2.png b/core/assets-raw/sprites/blocks/environment/red-diamond-wall2.png new file mode 100644 index 0000000000..f9020a83c5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-diamond-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-diamond-wall3.png b/core/assets-raw/sprites/blocks/environment/red-diamond-wall3.png new file mode 100644 index 0000000000..e6f4523e0a Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-diamond-wall3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-ice-wall-large.png b/core/assets-raw/sprites/blocks/environment/red-ice-wall-large.png new file mode 100644 index 0000000000..5e246e3e1f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-ice-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-ice-wall1.png b/core/assets-raw/sprites/blocks/environment/red-ice-wall1.png new file mode 100644 index 0000000000..5ac6959bc8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-ice-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-ice-wall2.png b/core/assets-raw/sprites/blocks/environment/red-ice-wall2.png new file mode 100644 index 0000000000..f9b64df1d6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-ice-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-ice1.png b/core/assets-raw/sprites/blocks/environment/red-ice1.png new file mode 100644 index 0000000000..99bf330e22 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-ice1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-ice2.png b/core/assets-raw/sprites/blocks/environment/red-ice2.png new file mode 100644 index 0000000000..69186658ba Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-ice2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-ice3.png b/core/assets-raw/sprites/blocks/environment/red-ice3.png new file mode 100644 index 0000000000..d751de5382 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-ice3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone-vent1.png b/core/assets-raw/sprites/blocks/environment/red-stone-vent1.png new file mode 100644 index 0000000000..be730b3c3f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone-vent1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone-vent2.png b/core/assets-raw/sprites/blocks/environment/red-stone-vent2.png new file mode 100644 index 0000000000..09e1ca9994 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone-vent2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone-wall-large.png b/core/assets-raw/sprites/blocks/environment/red-stone-wall-large.png new file mode 100644 index 0000000000..9afd5b1afb Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone-wall1.png b/core/assets-raw/sprites/blocks/environment/red-stone-wall1.png new file mode 100644 index 0000000000..a64e9f29b4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone-wall2.png b/core/assets-raw/sprites/blocks/environment/red-stone-wall2.png new file mode 100644 index 0000000000..8b1befd21e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone-wall3.png b/core/assets-raw/sprites/blocks/environment/red-stone-wall3.png new file mode 100644 index 0000000000..b573bd36ac Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone-wall3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone1.png b/core/assets-raw/sprites/blocks/environment/red-stone1.png new file mode 100644 index 0000000000..3af3ec80b3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone2.png b/core/assets-raw/sprites/blocks/environment/red-stone2.png new file mode 100644 index 0000000000..25137c4a0b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone3.png b/core/assets-raw/sprites/blocks/environment/red-stone3.png new file mode 100644 index 0000000000..0be130de13 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/red-stone4.png b/core/assets-raw/sprites/blocks/environment/red-stone4.png new file mode 100644 index 0000000000..ed4401a87e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/red-stone4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/redmat1.png b/core/assets-raw/sprites/blocks/environment/redmat1.png new file mode 100644 index 0000000000..dc1db300f7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/redmat1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/redmat2.png b/core/assets-raw/sprites/blocks/environment/redmat2.png new file mode 100644 index 0000000000..e803431ea7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/redmat2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/redmat3.png b/core/assets-raw/sprites/blocks/environment/redmat3.png new file mode 100644 index 0000000000..19670af4d3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/redmat3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/regolith-wall-large.png b/core/assets-raw/sprites/blocks/environment/regolith-wall-large.png new file mode 100644 index 0000000000..08d0acbef8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/regolith-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/regolith-wall1.png b/core/assets-raw/sprites/blocks/environment/regolith-wall1.png new file mode 100644 index 0000000000..97df020844 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/regolith-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/regolith-wall2.png b/core/assets-raw/sprites/blocks/environment/regolith-wall2.png new file mode 100644 index 0000000000..55991d3c7e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/regolith-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/regolith1.png b/core/assets-raw/sprites/blocks/environment/regolith1.png new file mode 100644 index 0000000000..fda0ac0bec Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/regolith1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/regolith2.png b/core/assets-raw/sprites/blocks/environment/regolith2.png new file mode 100644 index 0000000000..b0ec788c70 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/regolith2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/regolith3.png b/core/assets-raw/sprites/blocks/environment/regolith3.png new file mode 100644 index 0000000000..51ca3625be Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/regolith3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/remove-ore.png b/core/assets-raw/sprites/blocks/environment/remove-ore.png new file mode 100644 index 0000000000..7b9a0a91bf Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/remove-ore.png differ diff --git a/core/assets-raw/sprites/blocks/environment/remove-wall.png b/core/assets-raw/sprites/blocks/environment/remove-wall.png new file mode 100644 index 0000000000..be52153748 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/remove-wall.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-crater1.png b/core/assets-raw/sprites/blocks/environment/rhyolite-crater1.png new file mode 100644 index 0000000000..74be6964eb Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-crater1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-crater2.png b/core/assets-raw/sprites/blocks/environment/rhyolite-crater2.png new file mode 100644 index 0000000000..de82ae3394 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-crater2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-crater3.png b/core/assets-raw/sprites/blocks/environment/rhyolite-crater3.png new file mode 100644 index 0000000000..f7b2b466b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-crater3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-vent1.png b/core/assets-raw/sprites/blocks/environment/rhyolite-vent1.png new file mode 100644 index 0000000000..7d61092f44 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-vent1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-vent2.png b/core/assets-raw/sprites/blocks/environment/rhyolite-vent2.png new file mode 100644 index 0000000000..de205d6443 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-vent2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-wall-large.png b/core/assets-raw/sprites/blocks/environment/rhyolite-wall-large.png new file mode 100644 index 0000000000..fe798710d3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-wall1.png b/core/assets-raw/sprites/blocks/environment/rhyolite-wall1.png new file mode 100644 index 0000000000..e49b98179f Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite-wall2.png b/core/assets-raw/sprites/blocks/environment/rhyolite-wall2.png new file mode 100644 index 0000000000..f0a9abf12b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite1.png b/core/assets-raw/sprites/blocks/environment/rhyolite1.png new file mode 100644 index 0000000000..c4a96a0596 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite2.png b/core/assets-raw/sprites/blocks/environment/rhyolite2.png new file mode 100644 index 0000000000..63bb9820f5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rhyolite3.png b/core/assets-raw/sprites/blocks/environment/rhyolite3.png new file mode 100644 index 0000000000..d5ef114004 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rhyolite3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rough-rhyolite1.png b/core/assets-raw/sprites/blocks/environment/rough-rhyolite1.png new file mode 100644 index 0000000000..3f8f555456 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rough-rhyolite1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rough-rhyolite2.png b/core/assets-raw/sprites/blocks/environment/rough-rhyolite2.png new file mode 100644 index 0000000000..a011218c3e Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rough-rhyolite2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rough-rhyolite3.png b/core/assets-raw/sprites/blocks/environment/rough-rhyolite3.png new file mode 100644 index 0000000000..9fc10ed086 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rough-rhyolite3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/rough-rhyolite4.png b/core/assets-raw/sprites/blocks/environment/rough-rhyolite4.png new file mode 100644 index 0000000000..4a73e0ce76 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/rough-rhyolite4.png differ diff --git a/core/assets-raw/sprites/blocks/environment/sand1.png b/core/assets-raw/sprites/blocks/environment/sand-floor1.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/sand1.png rename to core/assets-raw/sprites/blocks/environment/sand-floor1.png diff --git a/core/assets-raw/sprites/blocks/environment/sand2.png b/core/assets-raw/sprites/blocks/environment/sand-floor2.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/sand2.png rename to core/assets-raw/sprites/blocks/environment/sand-floor2.png diff --git a/core/assets-raw/sprites/blocks/environment/sand3.png b/core/assets-raw/sprites/blocks/environment/sand-floor3.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/sand3.png rename to core/assets-raw/sprites/blocks/environment/sand-floor3.png diff --git a/core/assets-raw/sprites/blocks/environment/water.png b/core/assets-raw/sprites/blocks/environment/shallow-water.png similarity index 100% rename from core/assets-raw/sprites/blocks/environment/water.png rename to core/assets-raw/sprites/blocks/environment/shallow-water.png diff --git a/core/assets-raw/sprites/blocks/environment/spawn.png b/core/assets-raw/sprites/blocks/environment/spawn.png index dc1a4c30a7..2267baba5e 100644 Binary files a/core/assets-raw/sprites/blocks/environment/spawn.png and b/core/assets-raw/sprites/blocks/environment/spawn.png differ diff --git a/core/assets-raw/sprites/blocks/environment/tainted-water.png b/core/assets-raw/sprites/blocks/environment/tainted-water.png index 330aca5f14..d2686d28b8 100644 Binary files a/core/assets-raw/sprites/blocks/environment/tainted-water.png and b/core/assets-raw/sprites/blocks/environment/tainted-water.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-plates1.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-plates1.png new file mode 100644 index 0000000000..068eaa8e24 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-plates1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-plates2.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-plates2.png new file mode 100644 index 0000000000..3fce392289 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-plates2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-plates3.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-plates3.png new file mode 100644 index 0000000000..a058c3a8b3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-plates3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-vent1.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-vent1.png new file mode 100644 index 0000000000..dc62a2b238 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-vent1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-vent2.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-vent2.png new file mode 100644 index 0000000000..a4821a5770 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-vent2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-wall-large.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-wall-large.png new file mode 100644 index 0000000000..63a94043ef Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-wall1.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-wall1.png new file mode 100644 index 0000000000..3d4582935b Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-wall1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone-wall2.png b/core/assets-raw/sprites/blocks/environment/yellow-stone-wall2.png new file mode 100644 index 0000000000..9da1956f94 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone-wall2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone1.png b/core/assets-raw/sprites/blocks/environment/yellow-stone1.png new file mode 100644 index 0000000000..3b32cf651a Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone1.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone2.png b/core/assets-raw/sprites/blocks/environment/yellow-stone2.png new file mode 100644 index 0000000000..6d91ac5632 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone2.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellow-stone3.png b/core/assets-raw/sprites/blocks/environment/yellow-stone3.png new file mode 100644 index 0000000000..819599a6ce Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellow-stone3.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellowcoral-center.png b/core/assets-raw/sprites/blocks/environment/yellowcoral-center.png new file mode 100644 index 0000000000..7ca539b2a9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellowcoral-center.png differ diff --git a/core/assets-raw/sprites/blocks/environment/yellowcoral.png b/core/assets-raw/sprites/blocks/environment/yellowcoral.png new file mode 100644 index 0000000000..2fa56e35b4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/environment/yellowcoral.png differ diff --git a/core/assets-raw/sprites/blocks/extra/block-select.png b/core/assets-raw/sprites/blocks/extra/block-select.png index e9d19b9e7e..62f6a9576f 100644 Binary files a/core/assets-raw/sprites/blocks/extra/block-select.png and b/core/assets-raw/sprites/blocks/extra/block-select.png differ diff --git a/core/assets-raw/sprites/blocks/extra/conduit-liquid.png b/core/assets-raw/sprites/blocks/extra/conduit-liquid.png deleted file mode 100644 index 24d37b73c8..0000000000 Binary files a/core/assets-raw/sprites/blocks/extra/conduit-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/fire/fire0.png b/core/assets-raw/sprites/blocks/fire/fire0.png new file mode 100644 index 0000000000..d9e1db18e6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire0.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire1.png b/core/assets-raw/sprites/blocks/fire/fire1.png new file mode 100644 index 0000000000..d3026cedd2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire1.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire10.png b/core/assets-raw/sprites/blocks/fire/fire10.png new file mode 100644 index 0000000000..b55606ede5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire10.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire11.png b/core/assets-raw/sprites/blocks/fire/fire11.png new file mode 100644 index 0000000000..4602c384ed Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire11.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire12.png b/core/assets-raw/sprites/blocks/fire/fire12.png new file mode 100644 index 0000000000..3860c2ce1d Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire12.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire13.png b/core/assets-raw/sprites/blocks/fire/fire13.png new file mode 100644 index 0000000000..27e48033ad Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire13.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire14.png b/core/assets-raw/sprites/blocks/fire/fire14.png new file mode 100644 index 0000000000..0cc1071961 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire14.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire15.png b/core/assets-raw/sprites/blocks/fire/fire15.png new file mode 100644 index 0000000000..717130d434 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire15.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire16.png b/core/assets-raw/sprites/blocks/fire/fire16.png new file mode 100644 index 0000000000..7e61b28a69 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire16.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire17.png b/core/assets-raw/sprites/blocks/fire/fire17.png new file mode 100644 index 0000000000..5de74405a2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire17.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire18.png b/core/assets-raw/sprites/blocks/fire/fire18.png new file mode 100644 index 0000000000..cdf83dfab6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire18.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire19.png b/core/assets-raw/sprites/blocks/fire/fire19.png new file mode 100644 index 0000000000..e79a1538e9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire19.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire2.png b/core/assets-raw/sprites/blocks/fire/fire2.png new file mode 100644 index 0000000000..0b6ffb4c50 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire2.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire20.png b/core/assets-raw/sprites/blocks/fire/fire20.png new file mode 100644 index 0000000000..5d974a427b Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire20.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire21.png b/core/assets-raw/sprites/blocks/fire/fire21.png new file mode 100644 index 0000000000..409d597aa7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire21.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire22.png b/core/assets-raw/sprites/blocks/fire/fire22.png new file mode 100644 index 0000000000..5bbd4b93d7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire22.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire23.png b/core/assets-raw/sprites/blocks/fire/fire23.png new file mode 100644 index 0000000000..85ede17d2f Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire23.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire24.png b/core/assets-raw/sprites/blocks/fire/fire24.png new file mode 100644 index 0000000000..5544ee65e8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire24.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire25.png b/core/assets-raw/sprites/blocks/fire/fire25.png new file mode 100644 index 0000000000..989beef8e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire25.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire26.png b/core/assets-raw/sprites/blocks/fire/fire26.png new file mode 100644 index 0000000000..b0eb8eff34 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire26.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire27.png b/core/assets-raw/sprites/blocks/fire/fire27.png new file mode 100644 index 0000000000..e76de8c346 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire27.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire28.png b/core/assets-raw/sprites/blocks/fire/fire28.png new file mode 100644 index 0000000000..464e0c3797 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire28.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire29.png b/core/assets-raw/sprites/blocks/fire/fire29.png new file mode 100644 index 0000000000..2342d9a35a Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire29.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire3.png b/core/assets-raw/sprites/blocks/fire/fire3.png new file mode 100644 index 0000000000..0d99250e41 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire3.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire30.png b/core/assets-raw/sprites/blocks/fire/fire30.png new file mode 100644 index 0000000000..88cb4a0bc2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire30.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire31.png b/core/assets-raw/sprites/blocks/fire/fire31.png new file mode 100644 index 0000000000..ea83d1566b Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire31.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire32.png b/core/assets-raw/sprites/blocks/fire/fire32.png new file mode 100644 index 0000000000..e69ca2dd68 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire32.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire33.png b/core/assets-raw/sprites/blocks/fire/fire33.png new file mode 100644 index 0000000000..a76b48aed2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire33.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire34.png b/core/assets-raw/sprites/blocks/fire/fire34.png new file mode 100644 index 0000000000..57544d4292 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire34.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire35.png b/core/assets-raw/sprites/blocks/fire/fire35.png new file mode 100644 index 0000000000..4a9f15335d Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire35.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire36.png b/core/assets-raw/sprites/blocks/fire/fire36.png new file mode 100644 index 0000000000..bec029e19a Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire36.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire37.png b/core/assets-raw/sprites/blocks/fire/fire37.png new file mode 100644 index 0000000000..c94dd0d01e Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire37.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire38.png b/core/assets-raw/sprites/blocks/fire/fire38.png new file mode 100644 index 0000000000..c9f23580f9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire38.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire39.png b/core/assets-raw/sprites/blocks/fire/fire39.png new file mode 100644 index 0000000000..fe133c0794 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire39.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire4.png b/core/assets-raw/sprites/blocks/fire/fire4.png new file mode 100644 index 0000000000..f0b83d2d55 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire4.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire5.png b/core/assets-raw/sprites/blocks/fire/fire5.png new file mode 100644 index 0000000000..fe58e31e52 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire5.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire6.png b/core/assets-raw/sprites/blocks/fire/fire6.png new file mode 100644 index 0000000000..0e2a45ff80 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire6.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire7.png b/core/assets-raw/sprites/blocks/fire/fire7.png new file mode 100644 index 0000000000..b74acf05a5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire7.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire8.png b/core/assets-raw/sprites/blocks/fire/fire8.png new file mode 100644 index 0000000000..461e0cbc76 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire8.png differ diff --git a/core/assets-raw/sprites/blocks/fire/fire9.png b/core/assets-raw/sprites/blocks/fire/fire9.png new file mode 100644 index 0000000000..f306ed27e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/fire/fire9.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-bottom.png b/core/assets-raw/sprites/blocks/liquid/conduit-bottom.png deleted file mode 100644 index f2f7dfdd99..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/conduit-bottom.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-bottom-0.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-0.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-bottom-0.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-0.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-bottom-1.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-1.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-bottom-1.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-1.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-bottom-2.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-2.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-bottom-2.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-2.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-bottom-3.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-bottom-3.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-3.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-bottom-4.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-4.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-bottom-4.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom-4.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom.png new file mode 100644 index 0000000000..04cecf2c96 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-top-0.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-0.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-top-0.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-0.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-top-1.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-1.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-top-1.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-1.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-top-2.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-2.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-top-2.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-2.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-top-3.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-top-3.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-3.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-4.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/conduit-top-4.png rename to core/assets-raw/sprites/blocks/liquid/conduits/conduit-top-4.png diff --git a/core/assets-raw/sprites/blocks/liquid/phase-conduit-end.png b/core/assets-raw/sprites/blocks/liquid/conduits/phase-conduit-end.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/phase-conduit-end.png rename to core/assets-raw/sprites/blocks/liquid/conduits/phase-conduit-end.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-cap.png b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-cap.png new file mode 100644 index 0000000000..d19202db4e Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-cap.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-0.png b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-0.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/plated-conduit-top-0.png rename to core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-0.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-1.png b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-1.png new file mode 100644 index 0000000000..c231c324b1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-1.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-2.png b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-2.png new file mode 100644 index 0000000000..233badb748 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-2.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-3.png b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/plated-conduit-top-3.png rename to core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-3.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-4.png new file mode 100644 index 0000000000..a131889d9f Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/plated-conduit-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-0.png b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-0.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-0.png rename to core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-0.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-1.png b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-1.png new file mode 100644 index 0000000000..dbbd8d9242 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-1.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-2.png b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-2.png new file mode 100644 index 0000000000..9fd3100e44 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-2.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-3.png b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-3.png rename to core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-3.png diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-4.png new file mode 100644 index 0000000000..3cc7dbc525 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/pulse-conduit-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-cap.png b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-cap.png new file mode 100644 index 0000000000..c416e449d7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-cap.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-0.png b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-0.png new file mode 100644 index 0000000000..a340e4c59a Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-0.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-1.png b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-1.png new file mode 100644 index 0000000000..ebdfd62c44 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-1.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-2.png b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-2.png new file mode 100644 index 0000000000..bab3db3a41 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-2.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-3.png b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-3.png new file mode 100644 index 0000000000..539aa3f057 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-3.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-4.png new file mode 100644 index 0000000000..391ac88373 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/conduits/reinforced-conduit-top-4.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/fluid.png b/core/assets-raw/sprites/blocks/liquid/fluid.png new file mode 100644 index 0000000000..d2896d5c7b Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/fluid.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/thermal-pump-liquid.png b/core/assets-raw/sprites/blocks/liquid/impulse-pump-liquid.png similarity index 100% rename from core/assets-raw/sprites/blocks/liquid/thermal-pump-liquid.png rename to core/assets-raw/sprites/blocks/liquid/impulse-pump-liquid.png diff --git a/core/assets-raw/sprites/blocks/liquid/impulse-pump.png b/core/assets-raw/sprites/blocks/liquid/impulse-pump.png new file mode 100644 index 0000000000..b0434345bb Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/impulse-pump.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-container-bottom.png b/core/assets-raw/sprites/blocks/liquid/liquid-container-bottom.png new file mode 100644 index 0000000000..a100086fe3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/liquid-container-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-container.png b/core/assets-raw/sprites/blocks/liquid/liquid-container.png new file mode 100644 index 0000000000..9b02d641ff Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/liquid-container.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-router-bottom.png b/core/assets-raw/sprites/blocks/liquid/liquid-router-bottom.png index 4f33525764..d3747e323c 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-router-bottom.png and b/core/assets-raw/sprites/blocks/liquid/liquid-router-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-router-liquid.png b/core/assets-raw/sprites/blocks/liquid/liquid-router-liquid.png deleted file mode 100644 index 00dfc92f87..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-router-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-router-top.png b/core/assets-raw/sprites/blocks/liquid/liquid-router-top.png deleted file mode 100644 index 4e45a7094b..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-router-top.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-router.png b/core/assets-raw/sprites/blocks/liquid/liquid-router.png new file mode 100644 index 0000000000..9a357e43da Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/liquid-router.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-tank-bottom.png b/core/assets-raw/sprites/blocks/liquid/liquid-tank-bottom.png index 4e33a6bfba..7337b1d716 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-tank-bottom.png and b/core/assets-raw/sprites/blocks/liquid/liquid-tank-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png b/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png deleted file mode 100644 index 961a9f82c7..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-tank-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-tank-top.png b/core/assets-raw/sprites/blocks/liquid/liquid-tank-top.png deleted file mode 100644 index c1c36e33be..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/liquid-tank-top.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/liquid-tank.png b/core/assets-raw/sprites/blocks/liquid/liquid-tank.png new file mode 100644 index 0000000000..a5dd0d618e Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/liquid-tank.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/phase-conduit.png b/core/assets-raw/sprites/blocks/liquid/phase-conduit.png index ec2633c5cc..402c082bc3 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/phase-conduit.png and b/core/assets-raw/sprites/blocks/liquid/phase-conduit.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-cap.png b/core/assets-raw/sprites/blocks/liquid/plated-conduit-cap.png deleted file mode 100644 index 4d6438c432..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/plated-conduit-cap.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-1.png b/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-1.png deleted file mode 100644 index 40189f33c0..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-2.png b/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-2.png deleted file mode 100644 index bb72269c7c..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png deleted file mode 100644 index be533536a7..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/plated-conduit-top-4.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-1.png b/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-1.png deleted file mode 100644 index 4db953390c..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-2.png b/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-2.png deleted file mode 100644 index 78a57e8f64..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png b/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png deleted file mode 100644 index f4e6379a31..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/pulse-conduit-top-4.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-arrow.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-arrow.png new file mode 100644 index 0000000000..aeeca0acda Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-arrow.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bottom.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bottom.png new file mode 100644 index 0000000000..d621cd520b Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bridge-liquid.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bridge-liquid.png new file mode 100644 index 0000000000..afef676ff0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bridge-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bridge.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bridge.png new file mode 100644 index 0000000000..b078e3e17b Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-bridge.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-dir.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-dir.png new file mode 100644 index 0000000000..153772f943 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-dir.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-liquid.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-liquid.png new file mode 100644 index 0000000000..2dfd181a22 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit.png b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit.png new file mode 100644 index 0000000000..88b34c2f6e Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-bridge-conduit.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-container-bottom.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-container-bottom.png new file mode 100644 index 0000000000..93f71bd324 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-container-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-container.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-container.png new file mode 100644 index 0000000000..8cb802bc37 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-container.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-junction.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-junction.png new file mode 100644 index 0000000000..14e9390a78 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-junction.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-router-bottom.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-router-bottom.png new file mode 100644 index 0000000000..b112128bfa Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-router-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-router.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-router.png new file mode 100644 index 0000000000..00ed5aff84 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-router.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-tank-bottom.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-tank-bottom.png new file mode 100644 index 0000000000..5fb4e36d85 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-tank-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-tank.png b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-tank.png new file mode 100644 index 0000000000..69573873b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-liquid-tank.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-pump-liquid.png b/core/assets-raw/sprites/blocks/liquid/reinforced-pump-liquid.png new file mode 100644 index 0000000000..63d230191d Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-pump-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/reinforced-pump.png b/core/assets-raw/sprites/blocks/liquid/reinforced-pump.png new file mode 100644 index 0000000000..1f1884f6bb Binary files /dev/null and b/core/assets-raw/sprites/blocks/liquid/reinforced-pump.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/rotary-pump.png b/core/assets-raw/sprites/blocks/liquid/rotary-pump.png index 29a234b331..ad88b06753 100644 Binary files a/core/assets-raw/sprites/blocks/liquid/rotary-pump.png and b/core/assets-raw/sprites/blocks/liquid/rotary-pump.png differ diff --git a/core/assets-raw/sprites/blocks/liquid/thermal-pump.png b/core/assets-raw/sprites/blocks/liquid/thermal-pump.png deleted file mode 100644 index 5f8f061bfc..0000000000 Binary files a/core/assets-raw/sprites/blocks/liquid/thermal-pump.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/logic/canvas-corner1.png b/core/assets-raw/sprites/blocks/logic/canvas-corner1.png new file mode 100644 index 0000000000..8c02a574b9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/canvas-corner1.png differ diff --git a/core/assets-raw/sprites/blocks/logic/canvas-corner2.png b/core/assets-raw/sprites/blocks/logic/canvas-corner2.png new file mode 100644 index 0000000000..351ae9dd57 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/canvas-corner2.png differ diff --git a/core/assets-raw/sprites/blocks/logic/canvas-side1.png b/core/assets-raw/sprites/blocks/logic/canvas-side1.png new file mode 100644 index 0000000000..cb99ffcea0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/canvas-side1.png differ diff --git a/core/assets-raw/sprites/blocks/logic/canvas-side2.png b/core/assets-raw/sprites/blocks/logic/canvas-side2.png new file mode 100644 index 0000000000..dff99143b8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/canvas-side2.png differ diff --git a/core/assets-raw/sprites/blocks/logic/canvas.png b/core/assets-raw/sprites/blocks/logic/canvas.png new file mode 100644 index 0000000000..b6fddec703 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/canvas.png differ diff --git a/core/assets-raw/sprites/blocks/logic/reinforced-message.png b/core/assets-raw/sprites/blocks/logic/reinforced-message.png new file mode 100644 index 0000000000..8721982e3a Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/reinforced-message.png differ diff --git a/core/assets-raw/sprites/blocks/logic/world-cell.png b/core/assets-raw/sprites/blocks/logic/world-cell.png new file mode 100644 index 0000000000..67aba657a7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/world-cell.png differ diff --git a/core/assets-raw/sprites/blocks/logic/world-message.png b/core/assets-raw/sprites/blocks/logic/world-message.png new file mode 100644 index 0000000000..66e4bd3d64 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/world-message.png differ diff --git a/core/assets-raw/sprites/blocks/logic/world-processor.png b/core/assets-raw/sprites/blocks/logic/world-processor.png new file mode 100644 index 0000000000..8b98451cab Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/world-processor.png differ diff --git a/core/assets-raw/sprites/blocks/logic/world-switch-on.png b/core/assets-raw/sprites/blocks/logic/world-switch-on.png new file mode 100644 index 0000000000..54f03c820c Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/world-switch-on.png differ diff --git a/core/assets-raw/sprites/blocks/logic/world-switch.png b/core/assets-raw/sprites/blocks/logic/world-switch.png new file mode 100644 index 0000000000..b7c65601a9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/logic/world-switch.png differ diff --git a/core/assets-raw/sprites/blocks/payload/constructor-top.png b/core/assets-raw/sprites/blocks/payload/constructor-top.png new file mode 100644 index 0000000000..bf852e5635 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/constructor-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/constructor.png b/core/assets-raw/sprites/blocks/payload/constructor.png new file mode 100644 index 0000000000..3a72e1e649 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/constructor.png differ diff --git a/core/assets-raw/sprites/blocks/payload/deconstructor-top.png b/core/assets-raw/sprites/blocks/payload/deconstructor-top.png new file mode 100644 index 0000000000..ced9f4de1e Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/deconstructor-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/deconstructor.png b/core/assets-raw/sprites/blocks/payload/deconstructor.png new file mode 100644 index 0000000000..f0dfc652f0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/deconstructor.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-in-3-dark.png b/core/assets-raw/sprites/blocks/payload/factory-in-3-dark.png new file mode 100644 index 0000000000..d626287db6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-in-3-dark.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-in-3.png b/core/assets-raw/sprites/blocks/payload/factory-in-3.png new file mode 100644 index 0000000000..9ea0ed0f19 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-in-3.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-in-5-dark.png b/core/assets-raw/sprites/blocks/payload/factory-in-5-dark.png new file mode 100644 index 0000000000..7514a32f0f Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-in-5-dark.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-in-5.png b/core/assets-raw/sprites/blocks/payload/factory-in-5.png new file mode 100644 index 0000000000..df9e5a45b3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-in-5.png differ diff --git a/core/assets-raw/sprites/blocks/units/factory-in-7.png b/core/assets-raw/sprites/blocks/payload/factory-in-7.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-in-7.png rename to core/assets-raw/sprites/blocks/payload/factory-in-7.png diff --git a/core/assets-raw/sprites/blocks/units/factory-in-9.png b/core/assets-raw/sprites/blocks/payload/factory-in-9.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-in-9.png rename to core/assets-raw/sprites/blocks/payload/factory-in-9.png diff --git a/core/assets-raw/sprites/blocks/payload/factory-out-3-dark.png b/core/assets-raw/sprites/blocks/payload/factory-out-3-dark.png new file mode 100644 index 0000000000..8291470ae0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-out-3-dark.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-out-3.png b/core/assets-raw/sprites/blocks/payload/factory-out-3.png new file mode 100644 index 0000000000..84caaa1c31 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-out-3.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-out-5-dark.png b/core/assets-raw/sprites/blocks/payload/factory-out-5-dark.png new file mode 100644 index 0000000000..8c6647da56 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-out-5-dark.png differ diff --git a/core/assets-raw/sprites/blocks/payload/factory-out-5.png b/core/assets-raw/sprites/blocks/payload/factory-out-5.png new file mode 100644 index 0000000000..b82842d043 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-out-5.png differ diff --git a/core/assets-raw/sprites/blocks/units/factory-out-7.png b/core/assets-raw/sprites/blocks/payload/factory-out-7.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-out-7.png rename to core/assets-raw/sprites/blocks/payload/factory-out-7.png diff --git a/core/assets-raw/sprites/blocks/units/factory-out-9.png b/core/assets-raw/sprites/blocks/payload/factory-out-9.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-out-9.png rename to core/assets-raw/sprites/blocks/payload/factory-out-9.png diff --git a/core/assets-raw/sprites/blocks/units/factory-top-3.png b/core/assets-raw/sprites/blocks/payload/factory-top-3.png similarity index 100% rename from core/assets-raw/sprites/blocks/units/factory-top-3.png rename to core/assets-raw/sprites/blocks/payload/factory-top-3.png diff --git a/core/assets-raw/sprites/blocks/payload/factory-top-5.png b/core/assets-raw/sprites/blocks/payload/factory-top-5.png new file mode 100644 index 0000000000..d48314ce89 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/factory-top-5.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-constructor-top.png b/core/assets-raw/sprites/blocks/payload/large-constructor-top.png new file mode 100644 index 0000000000..6f20681c20 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-constructor-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-constructor.png b/core/assets-raw/sprites/blocks/payload/large-constructor.png new file mode 100644 index 0000000000..7436b040cc Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-constructor.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-base.png b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-base.png new file mode 100644 index 0000000000..71926c7682 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-base.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-cap.png b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-cap.png new file mode 100644 index 0000000000..5b50a925a3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-cap.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-left.png b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-left.png new file mode 100644 index 0000000000..66f72a57d1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-left.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-right.png b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-right.png new file mode 100644 index 0000000000..6169ea0ff9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-right.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-top.png b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-top.png new file mode 100644 index 0000000000..651424a4b3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver.png b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver.png new file mode 100644 index 0000000000..61004049b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/large-payload-mass-driver.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/payload-conveyor-edge.png b/core/assets-raw/sprites/blocks/payload/payload-conveyor-edge.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-conveyor-edge.png rename to core/assets-raw/sprites/blocks/payload/payload-conveyor-edge.png diff --git a/core/assets-raw/sprites/blocks/distribution/payload-conveyor-icon.png b/core/assets-raw/sprites/blocks/payload/payload-conveyor-icon.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-conveyor-icon.png rename to core/assets-raw/sprites/blocks/payload/payload-conveyor-icon.png diff --git a/core/assets-raw/sprites/blocks/payload/payload-conveyor-top.png b/core/assets-raw/sprites/blocks/payload/payload-conveyor-top.png new file mode 100644 index 0000000000..1ca1586c59 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-conveyor-top.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/payload-conveyor.png b/core/assets-raw/sprites/blocks/payload/payload-conveyor.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-conveyor.png rename to core/assets-raw/sprites/blocks/payload/payload-conveyor.png diff --git a/core/assets-raw/sprites/blocks/payload/payload-loader-top.png b/core/assets-raw/sprites/blocks/payload/payload-loader-top.png new file mode 100644 index 0000000000..4c737ab093 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-loader-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-loader.png b/core/assets-raw/sprites/blocks/payload/payload-loader.png new file mode 100644 index 0000000000..0262be6c74 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-loader.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-base.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-base.png new file mode 100644 index 0000000000..373f195e1e Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-base.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-cap.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-cap.png new file mode 100644 index 0000000000..7e23e7b922 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-cap.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-left.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-left.png new file mode 100644 index 0000000000..e0f0b836fa Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-left.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-right.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-right.png new file mode 100644 index 0000000000..868968adef Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-right.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver-top.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-top.png new file mode 100644 index 0000000000..0707b165ad Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-mass-driver-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-mass-driver.png b/core/assets-raw/sprites/blocks/payload/payload-mass-driver.png new file mode 100644 index 0000000000..542b543fa1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-mass-driver.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/payload-router-icon.png b/core/assets-raw/sprites/blocks/payload/payload-router-icon.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-router-icon.png rename to core/assets-raw/sprites/blocks/payload/payload-router-icon.png diff --git a/core/assets-raw/sprites/blocks/distribution/payload-router-over.png b/core/assets-raw/sprites/blocks/payload/payload-router-over.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-router-over.png rename to core/assets-raw/sprites/blocks/payload/payload-router-over.png diff --git a/core/assets-raw/sprites/blocks/distribution/payload-router-top.png b/core/assets-raw/sprites/blocks/payload/payload-router-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-router-top.png rename to core/assets-raw/sprites/blocks/payload/payload-router-top.png diff --git a/core/assets-raw/sprites/blocks/distribution/payload-router.png b/core/assets-raw/sprites/blocks/payload/payload-router.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-router.png rename to core/assets-raw/sprites/blocks/payload/payload-router.png diff --git a/core/assets-raw/sprites/blocks/payload/payload-source-top.png b/core/assets-raw/sprites/blocks/payload/payload-source-top.png new file mode 100644 index 0000000000..2de4c170be Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-source-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-source.png b/core/assets-raw/sprites/blocks/payload/payload-source.png new file mode 100644 index 0000000000..a103553b71 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-source.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-unloader-top.png b/core/assets-raw/sprites/blocks/payload/payload-unloader-top.png new file mode 100644 index 0000000000..1590a12792 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-unloader-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-unloader.png b/core/assets-raw/sprites/blocks/payload/payload-unloader.png new file mode 100644 index 0000000000..fb55b6eb6f Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-unloader.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-void-top.png b/core/assets-raw/sprites/blocks/payload/payload-void-top.png new file mode 100644 index 0000000000..f334d23032 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-void-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/payload-void.png b/core/assets-raw/sprites/blocks/payload/payload-void.png new file mode 100644 index 0000000000..4c6b7b2070 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/payload-void.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-edge.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-edge.png new file mode 100644 index 0000000000..13b2c8ee49 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-edge.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-icon.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-icon.png new file mode 100644 index 0000000000..c2ba97a8ec Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-icon.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-top.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-top.png new file mode 100644 index 0000000000..fe7a84ecb4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor.png new file mode 100644 index 0000000000..9bced72851 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-conveyor.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-icon.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-icon.png new file mode 100644 index 0000000000..f2bc5e234a Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-icon.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-over.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-over.png new file mode 100644 index 0000000000..e7b14a86bc Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-over.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-top.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-top.png new file mode 100644 index 0000000000..c4c3376f1c Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/reinforced-payload-router.png b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router.png new file mode 100644 index 0000000000..cc9cacb3f8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/reinforced-payload-router.png differ diff --git a/core/assets-raw/sprites/blocks/payload/small-deconstructor-top.png b/core/assets-raw/sprites/blocks/payload/small-deconstructor-top.png new file mode 100644 index 0000000000..4e5aa251ee Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/small-deconstructor-top.png differ diff --git a/core/assets-raw/sprites/blocks/payload/small-deconstructor.png b/core/assets-raw/sprites/blocks/payload/small-deconstructor.png new file mode 100644 index 0000000000..a35d68ca80 Binary files /dev/null and b/core/assets-raw/sprites/blocks/payload/small-deconstructor.png differ diff --git a/core/assets-raw/sprites/blocks/power/beam-link-glow.png b/core/assets-raw/sprites/blocks/power/beam-link-glow.png new file mode 100644 index 0000000000..6777c9a222 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/beam-link-glow.png differ diff --git a/core/assets-raw/sprites/blocks/power/beam-link.png b/core/assets-raw/sprites/blocks/power/beam-link.png new file mode 100644 index 0000000000..7311804768 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/beam-link.png differ diff --git a/core/assets-raw/sprites/blocks/power/beam-node.png b/core/assets-raw/sprites/blocks/power/beam-node.png new file mode 100644 index 0000000000..f8de5c55ed Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/beam-node.png differ diff --git a/core/assets-raw/sprites/blocks/power/beam-tower.png b/core/assets-raw/sprites/blocks/power/beam-tower.png new file mode 100644 index 0000000000..74ade38fcd Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/beam-tower.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-bottom.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-glow.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-glow.png new file mode 100644 index 0000000000..dc693222b2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-glow.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-mid.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-mid.png new file mode 100644 index 0000000000..b731775514 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-mid.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston-icon.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston-icon.png new file mode 100644 index 0000000000..72343d5294 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston-icon.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston0.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston0.png new file mode 100644 index 0000000000..c34d9e07b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston0.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston1.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston1.png new file mode 100644 index 0000000000..a1903efcdb Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber-piston1.png differ diff --git a/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber.png b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber.png new file mode 100644 index 0000000000..c3fcc8ae3a Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/chemical-combustion-chamber.png differ diff --git a/core/assets-raw/sprites/blocks/power/flux-reactor-bottom.png b/core/assets-raw/sprites/blocks/power/flux-reactor-bottom.png new file mode 100644 index 0000000000..45a8dc8331 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/flux-reactor-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/power/flux-reactor-heat.png b/core/assets-raw/sprites/blocks/power/flux-reactor-heat.png new file mode 100644 index 0000000000..2f5ad4f7fa Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/flux-reactor-heat.png differ diff --git a/core/assets-raw/sprites/blocks/power/flux-reactor-lights.png b/core/assets-raw/sprites/blocks/power/flux-reactor-lights.png new file mode 100644 index 0000000000..871351735b Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/flux-reactor-lights.png differ diff --git a/core/assets-raw/sprites/blocks/power/flux-reactor-mid.png b/core/assets-raw/sprites/blocks/power/flux-reactor-mid.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/flux-reactor-mid.png differ diff --git a/core/assets-raw/sprites/blocks/power/flux-reactor-ventglow.png b/core/assets-raw/sprites/blocks/power/flux-reactor-ventglow.png new file mode 100644 index 0000000000..491e57cb20 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/flux-reactor-ventglow.png differ diff --git a/core/assets-raw/sprites/blocks/power/flux-reactor.png b/core/assets-raw/sprites/blocks/power/flux-reactor.png new file mode 100644 index 0000000000..0758766a4c Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/flux-reactor.png differ diff --git a/core/assets-raw/sprites/blocks/power/impact-reactor.png b/core/assets-raw/sprites/blocks/power/impact-reactor.png index d56bd5d6a5..7f9363494d 100644 Binary files a/core/assets-raw/sprites/blocks/power/impact-reactor.png and b/core/assets-raw/sprites/blocks/power/impact-reactor.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-bottom.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-bottom.png new file mode 100644 index 0000000000..c3eeda8e4c Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-center.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-center.png new file mode 100644 index 0000000000..e26c3c877d Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-center.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-glow.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-glow.png new file mode 100644 index 0000000000..88336542e8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-glow.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-heat.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-heat.png new file mode 100644 index 0000000000..a5da4dbe49 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-heat.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-middle.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-middle.png new file mode 100644 index 0000000000..3b1e8154c6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-middle.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-top1.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-top1.png new file mode 100644 index 0000000000..3d713dd948 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-top1.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor-top2.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-top2.png new file mode 100644 index 0000000000..fe644e7923 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor-top2.png differ diff --git a/core/assets-raw/sprites/blocks/power/neoplasia-reactor.png b/core/assets-raw/sprites/blocks/power/neoplasia-reactor.png new file mode 100644 index 0000000000..d13908e222 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/neoplasia-reactor.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-bottom.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-glow.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-glow.png new file mode 100644 index 0000000000..f49f17b58e Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-glow.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-mid.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-mid.png new file mode 100644 index 0000000000..828dec466d Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-mid.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-icon.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-icon.png new file mode 100644 index 0000000000..b3ae59668c Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-icon.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-t.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-t.png new file mode 100644 index 0000000000..ec2c057559 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston-t.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston.png new file mode 100644 index 0000000000..79f0f31908 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston1.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston1.png new file mode 100644 index 0000000000..f1b62ced4a Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator-piston1.png differ diff --git a/core/assets-raw/sprites/blocks/power/pyrolysis-generator.png b/core/assets-raw/sprites/blocks/power/pyrolysis-generator.png new file mode 100644 index 0000000000..356a2f0fb6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/pyrolysis-generator.png differ diff --git a/core/assets-raw/sprites/blocks/power/rtg-generator.png b/core/assets-raw/sprites/blocks/power/rtg-generator.png index 0a6766ab69..1dd27d69c9 100644 Binary files a/core/assets-raw/sprites/blocks/power/rtg-generator.png and b/core/assets-raw/sprites/blocks/power/rtg-generator.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar-panel-large.png b/core/assets-raw/sprites/blocks/power/solar-panel-large.png index 60526693a6..9777853a2b 100644 Binary files a/core/assets-raw/sprites/blocks/power/solar-panel-large.png and b/core/assets-raw/sprites/blocks/power/solar-panel-large.png differ diff --git a/core/assets-raw/sprites/blocks/power/steam-generator-turbine1.png b/core/assets-raw/sprites/blocks/power/steam-generator-turbine.png similarity index 100% rename from core/assets-raw/sprites/blocks/power/steam-generator-turbine1.png rename to core/assets-raw/sprites/blocks/power/steam-generator-turbine.png diff --git a/core/assets-raw/sprites/blocks/power/steam-generator-turbine0.png b/core/assets-raw/sprites/blocks/power/steam-generator-turbine0.png deleted file mode 100644 index 27d0b9354c..0000000000 Binary files a/core/assets-raw/sprites/blocks/power/steam-generator-turbine0.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/power/turbine-condenser-rotator-blur.png b/core/assets-raw/sprites/blocks/power/turbine-condenser-rotator-blur.png new file mode 100644 index 0000000000..adea1029af Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/turbine-condenser-rotator-blur.png differ diff --git a/core/assets-raw/sprites/blocks/power/turbine-condenser-rotator.png b/core/assets-raw/sprites/blocks/power/turbine-condenser-rotator.png new file mode 100644 index 0000000000..76e45e9297 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/turbine-condenser-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/power/turbine-condenser.png b/core/assets-raw/sprites/blocks/power/turbine-condenser.png new file mode 100644 index 0000000000..7322043c40 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/turbine-condenser.png differ diff --git a/core/assets-raw/sprites/blocks/production/alloy-smelter.png b/core/assets-raw/sprites/blocks/production/alloy-smelter.png deleted file mode 100644 index f9a0a1fc17..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/alloy-smelter.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/atmospheric-concentrator-bottom.png b/core/assets-raw/sprites/blocks/production/atmospheric-concentrator-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/atmospheric-concentrator-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/atmospheric-concentrator-heat.png b/core/assets-raw/sprites/blocks/production/atmospheric-concentrator-heat.png new file mode 100644 index 0000000000..aa49eeb57d Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/atmospheric-concentrator-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/atmospheric-concentrator.png b/core/assets-raw/sprites/blocks/production/atmospheric-concentrator.png new file mode 100644 index 0000000000..031e3873ed Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/atmospheric-concentrator.png differ diff --git a/core/assets-raw/sprites/blocks/production/block-forge.png b/core/assets-raw/sprites/blocks/production/block-forge.png deleted file mode 100644 index 6d37c59675..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/block-forge.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/carbide-crucible-bottom.png b/core/assets-raw/sprites/blocks/production/carbide-crucible-bottom.png new file mode 100644 index 0000000000..cc9cacb3f8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/carbide-crucible-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/carbide-crucible-heat.png b/core/assets-raw/sprites/blocks/production/carbide-crucible-heat.png new file mode 100644 index 0000000000..59a1fd5c36 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/carbide-crucible-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/carbide-crucible.png b/core/assets-raw/sprites/blocks/production/carbide-crucible.png new file mode 100644 index 0000000000..dc23c2a8fe Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/carbide-crucible.png differ diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png index b9bc65af45..e05f72e92c 100644 Binary files a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png and b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-liquid.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-liquid.png deleted file mode 100644 index 26d446e761..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-top.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer-top.png deleted file mode 100644 index 3bb5abe3cb..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/cryofluid-mixer-top.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/cryofluid-mixer.png b/core/assets-raw/sprites/blocks/production/cryofluid-mixer.png new file mode 100644 index 0000000000..563dd8f2fd Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/cryofluid-mixer.png differ diff --git a/core/assets-raw/sprites/blocks/production/cultivator-bottom.png b/core/assets-raw/sprites/blocks/production/cultivator-bottom.png new file mode 100644 index 0000000000..e05f72e92c Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/cultivator-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/cultivator.png b/core/assets-raw/sprites/blocks/production/cultivator.png index e1ff7aa692..0532d0e1db 100644 Binary files a/core/assets-raw/sprites/blocks/production/cultivator.png and b/core/assets-raw/sprites/blocks/production/cultivator.png differ diff --git a/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-bottom.png b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-heat-top.png b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-heat-top.png new file mode 100644 index 0000000000..96f1322152 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-heat-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-heat.png b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-heat.png new file mode 100644 index 0000000000..38598c0d6d Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer.png b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer.png new file mode 100644 index 0000000000..52c25ba6c4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/cyanogen-synthesizer.png differ diff --git a/core/assets-raw/sprites/blocks/production/disassembler-bottom.png b/core/assets-raw/sprites/blocks/production/disassembler-bottom.png new file mode 100644 index 0000000000..7337b1d716 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/disassembler-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/disassembler-liquid.png b/core/assets-raw/sprites/blocks/production/disassembler-liquid.png deleted file mode 100644 index 88006fc498..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/disassembler-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/disassembler-spinner.png b/core/assets-raw/sprites/blocks/production/disassembler-spinner.png index 8a7c2bd606..8fe3e32526 100644 Binary files a/core/assets-raw/sprites/blocks/production/disassembler-spinner.png and b/core/assets-raw/sprites/blocks/production/disassembler-spinner.png differ diff --git a/core/assets-raw/sprites/blocks/production/disassembler.png b/core/assets-raw/sprites/blocks/production/disassembler.png index 7dbfcb1474..ce6ded3a03 100644 Binary files a/core/assets-raw/sprites/blocks/production/disassembler.png and b/core/assets-raw/sprites/blocks/production/disassembler.png differ diff --git a/core/assets-raw/sprites/blocks/production/electric-heater-heat.png b/core/assets-raw/sprites/blocks/production/electric-heater-heat.png new file mode 100644 index 0000000000..1b293c32c8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electric-heater-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/electric-heater-top1.png b/core/assets-raw/sprites/blocks/production/electric-heater-top1.png new file mode 100644 index 0000000000..7a563faa78 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electric-heater-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/electric-heater-top2.png b/core/assets-raw/sprites/blocks/production/electric-heater-top2.png new file mode 100644 index 0000000000..6e8ffe98cd Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electric-heater-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/electric-heater.png b/core/assets-raw/sprites/blocks/production/electric-heater.png new file mode 100644 index 0000000000..e90c2b62a8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electric-heater.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer-bottom.png b/core/assets-raw/sprites/blocks/production/electrolyzer-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer-glow.png b/core/assets-raw/sprites/blocks/production/electrolyzer-glow.png new file mode 100644 index 0000000000..7d88560571 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer-hydrogen-output1.png b/core/assets-raw/sprites/blocks/production/electrolyzer-hydrogen-output1.png new file mode 100644 index 0000000000..f5cae9dcf9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer-hydrogen-output1.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer-hydrogen-output2.png b/core/assets-raw/sprites/blocks/production/electrolyzer-hydrogen-output2.png new file mode 100644 index 0000000000..0ba6370856 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer-hydrogen-output2.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer-ozone-output1.png b/core/assets-raw/sprites/blocks/production/electrolyzer-ozone-output1.png new file mode 100644 index 0000000000..f81b37607e Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer-ozone-output1.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer-ozone-output2.png b/core/assets-raw/sprites/blocks/production/electrolyzer-ozone-output2.png new file mode 100644 index 0000000000..805af9c900 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer-ozone-output2.png differ diff --git a/core/assets-raw/sprites/blocks/production/electrolyzer.png b/core/assets-raw/sprites/blocks/production/electrolyzer.png new file mode 100644 index 0000000000..ee3954fb7e Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/electrolyzer.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-reactor-glow.png b/core/assets-raw/sprites/blocks/production/heat-reactor-glow.png new file mode 100644 index 0000000000..236059e1c8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-reactor-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-reactor-heat.png b/core/assets-raw/sprites/blocks/production/heat-reactor-heat.png new file mode 100644 index 0000000000..63eda92a37 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-reactor-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-reactor-top1.png b/core/assets-raw/sprites/blocks/production/heat-reactor-top1.png new file mode 100644 index 0000000000..68454936da Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-reactor-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-reactor-top2.png b/core/assets-raw/sprites/blocks/production/heat-reactor-top2.png new file mode 100644 index 0000000000..b5861e05da Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-reactor-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-reactor.png b/core/assets-raw/sprites/blocks/production/heat-reactor.png new file mode 100644 index 0000000000..a23dffaddb Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-reactor.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-redirector-glow.png b/core/assets-raw/sprites/blocks/production/heat-redirector-glow.png new file mode 100644 index 0000000000..87109515fc Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-redirector-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-redirector-heat.png b/core/assets-raw/sprites/blocks/production/heat-redirector-heat.png new file mode 100644 index 0000000000..0115ebd9c5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-redirector-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-redirector-top1.png b/core/assets-raw/sprites/blocks/production/heat-redirector-top1.png new file mode 100644 index 0000000000..ae2463b4b3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-redirector-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-redirector-top2.png b/core/assets-raw/sprites/blocks/production/heat-redirector-top2.png new file mode 100644 index 0000000000..1cafe50705 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-redirector-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-redirector.png b/core/assets-raw/sprites/blocks/production/heat-redirector.png new file mode 100644 index 0000000000..d664306eaa Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-redirector.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-router-glow.png b/core/assets-raw/sprites/blocks/production/heat-router-glow.png new file mode 100644 index 0000000000..234616dd67 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-router-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-router-heat.png b/core/assets-raw/sprites/blocks/production/heat-router-heat.png new file mode 100644 index 0000000000..dd574df57d Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-router-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-router-top1.png b/core/assets-raw/sprites/blocks/production/heat-router-top1.png new file mode 100644 index 0000000000..b9cba509e5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-router-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-router-top2.png b/core/assets-raw/sprites/blocks/production/heat-router-top2.png new file mode 100644 index 0000000000..0d59002b17 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-router-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/heat-router.png b/core/assets-raw/sprites/blocks/production/heat-router.png new file mode 100644 index 0000000000..0120bf6b0b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/heat-router.png differ diff --git a/core/assets-raw/sprites/blocks/production/item-source.png b/core/assets-raw/sprites/blocks/production/item-source.png deleted file mode 100644 index 98dc16ac3c..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/item-source.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/liquid-source.png b/core/assets-raw/sprites/blocks/production/liquid-source.png deleted file mode 100644 index 0ae3a70f6f..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/liquid-source.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/melter-bottom.png b/core/assets-raw/sprites/blocks/production/melter-bottom.png new file mode 100644 index 0000000000..a2dd7b5e0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/melter-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/melter.png b/core/assets-raw/sprites/blocks/production/melter.png index f499dd9893..90e833e2f5 100644 Binary files a/core/assets-raw/sprites/blocks/production/melter.png and b/core/assets-raw/sprites/blocks/production/melter.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber-bottom.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber-glow.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber-glow.png new file mode 100644 index 0000000000..f1a3713cb8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber-heat.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber-heat.png new file mode 100644 index 0000000000..1fbb3a69f3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber-liquid.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber-liquid.png new file mode 100644 index 0000000000..6cad59a0bd Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber-top1.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber-top1.png new file mode 100644 index 0000000000..6d4fb92302 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber-top2.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber-top2.png new file mode 100644 index 0000000000..c946c052c8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/oxidation-chamber.png b/core/assets-raw/sprites/blocks/production/oxidation-chamber.png new file mode 100644 index 0000000000..ebee304b7b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/oxidation-chamber.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-heater-heat.png b/core/assets-raw/sprites/blocks/production/phase-heater-heat.png new file mode 100644 index 0000000000..21a8096ff6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-heater-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-heater-side2.png b/core/assets-raw/sprites/blocks/production/phase-heater-side2.png new file mode 100644 index 0000000000..e3d0222dae Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-heater-side2.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-heater-top1.png b/core/assets-raw/sprites/blocks/production/phase-heater-top1.png new file mode 100644 index 0000000000..75c0a1a1e3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-heater-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-heater-top2.png b/core/assets-raw/sprites/blocks/production/phase-heater-top2.png new file mode 100644 index 0000000000..293114bdc7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-heater-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-heater.png b/core/assets-raw/sprites/blocks/production/phase-heater.png new file mode 100644 index 0000000000..3563a591b4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-heater.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-synthesizer-bottom.png b/core/assets-raw/sprites/blocks/production/phase-synthesizer-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-synthesizer-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-synthesizer-heat.png b/core/assets-raw/sprites/blocks/production/phase-synthesizer-heat.png new file mode 100644 index 0000000000..0b92689db7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-synthesizer-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-synthesizer-vents.png b/core/assets-raw/sprites/blocks/production/phase-synthesizer-vents.png new file mode 100644 index 0000000000..fc374249d2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-synthesizer-vents.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-synthesizer-weave-glow.png b/core/assets-raw/sprites/blocks/production/phase-synthesizer-weave-glow.png new file mode 100644 index 0000000000..6766157c72 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-synthesizer-weave-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-synthesizer-weave.png b/core/assets-raw/sprites/blocks/production/phase-synthesizer-weave.png new file mode 100644 index 0000000000..0c82c7a802 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-synthesizer-weave.png differ diff --git a/core/assets-raw/sprites/blocks/production/phase-synthesizer.png b/core/assets-raw/sprites/blocks/production/phase-synthesizer.png new file mode 100644 index 0000000000..04a97dad35 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/phase-synthesizer.png differ diff --git a/core/assets-raw/sprites/blocks/production/plastanium-compressor-top.png b/core/assets-raw/sprites/blocks/production/plastanium-compressor-top.png index ceb6a9b646..52892006b4 100644 Binary files a/core/assets-raw/sprites/blocks/production/plastanium-compressor-top.png and b/core/assets-raw/sprites/blocks/production/plastanium-compressor-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/pulverizer-rotator.png b/core/assets-raw/sprites/blocks/production/pulverizer-rotator.png index 72cd249d26..e89e5ed5e7 100644 Binary files a/core/assets-raw/sprites/blocks/production/pulverizer-rotator.png and b/core/assets-raw/sprites/blocks/production/pulverizer-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/production/pulverizer-top.png b/core/assets-raw/sprites/blocks/production/pulverizer-top.png new file mode 100644 index 0000000000..6c2aa6d653 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/pulverizer-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/pulverizer.png b/core/assets-raw/sprites/blocks/production/pulverizer.png index d10680f33c..bd07997cdf 100644 Binary files a/core/assets-raw/sprites/blocks/production/pulverizer.png and b/core/assets-raw/sprites/blocks/production/pulverizer.png differ diff --git a/core/assets-raw/sprites/blocks/production/separator-bottom.png b/core/assets-raw/sprites/blocks/production/separator-bottom.png new file mode 100644 index 0000000000..a100086fe3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/separator-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/separator-liquid.png b/core/assets-raw/sprites/blocks/production/separator-liquid.png deleted file mode 100644 index 0f81574062..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/separator-liquid.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/separator-spinner.png b/core/assets-raw/sprites/blocks/production/separator-spinner.png index e09e119c3d..0ab52e41dc 100644 Binary files a/core/assets-raw/sprites/blocks/production/separator-spinner.png and b/core/assets-raw/sprites/blocks/production/separator-spinner.png differ diff --git a/core/assets-raw/sprites/blocks/production/separator.png b/core/assets-raw/sprites/blocks/production/separator.png index cefbb02633..20c9e6b72f 100644 Binary files a/core/assets-raw/sprites/blocks/production/separator.png and b/core/assets-raw/sprites/blocks/production/separator.png differ diff --git a/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-bottom.png b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/silicon-arc-furnace.png b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace.png new file mode 100644 index 0000000000..0c7055569b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/silicon-arc-furnace.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-centrifuge-bottom.png b/core/assets-raw/sprites/blocks/production/slag-centrifuge-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-centrifuge-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-centrifuge-glow.png b/core/assets-raw/sprites/blocks/production/slag-centrifuge-glow.png new file mode 100644 index 0000000000..f85f42d1a7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-centrifuge-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-centrifuge-liquid.png b/core/assets-raw/sprites/blocks/production/slag-centrifuge-liquid.png new file mode 100644 index 0000000000..a8fb90921f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-centrifuge-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-centrifuge.png b/core/assets-raw/sprites/blocks/production/slag-centrifuge.png new file mode 100644 index 0000000000..087cb47e60 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-centrifuge.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-heater-bottom.png b/core/assets-raw/sprites/blocks/production/slag-heater-bottom.png new file mode 100644 index 0000000000..1500ec39a0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-heater-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-heater-heat.png b/core/assets-raw/sprites/blocks/production/slag-heater-heat.png new file mode 100644 index 0000000000..e6b68412df Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-heater-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-heater-top1.png b/core/assets-raw/sprites/blocks/production/slag-heater-top1.png new file mode 100644 index 0000000000..25c3155f75 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-heater-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-heater-top2.png b/core/assets-raw/sprites/blocks/production/slag-heater-top2.png new file mode 100644 index 0000000000..a0ba5f8446 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-heater-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-heater.png b/core/assets-raw/sprites/blocks/production/slag-heater.png new file mode 100644 index 0000000000..1dbf8eb644 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-heater.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-incinerator-liquid.png b/core/assets-raw/sprites/blocks/production/slag-incinerator-liquid.png new file mode 100644 index 0000000000..4759ece2ce Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-incinerator-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-incinerator-top.png b/core/assets-raw/sprites/blocks/production/slag-incinerator-top.png new file mode 100644 index 0000000000..5fd4aef511 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-incinerator-top.png differ diff --git a/core/assets-raw/sprites/blocks/production/slag-incinerator.png b/core/assets-raw/sprites/blocks/production/slag-incinerator.png new file mode 100644 index 0000000000..2ad32b475b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/slag-incinerator.png differ diff --git a/core/assets-raw/sprites/blocks/production/small-heat-redirector-glow.png b/core/assets-raw/sprites/blocks/production/small-heat-redirector-glow.png new file mode 100644 index 0000000000..c2888ca8d9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/small-heat-redirector-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/small-heat-redirector-heat.png b/core/assets-raw/sprites/blocks/production/small-heat-redirector-heat.png new file mode 100644 index 0000000000..4b75fbf11a Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/small-heat-redirector-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/small-heat-redirector-top1.png b/core/assets-raw/sprites/blocks/production/small-heat-redirector-top1.png new file mode 100644 index 0000000000..fe05c81d2b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/small-heat-redirector-top1.png differ diff --git a/core/assets-raw/sprites/blocks/production/small-heat-redirector-top2.png b/core/assets-raw/sprites/blocks/production/small-heat-redirector-top2.png new file mode 100644 index 0000000000..4af1a77431 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/small-heat-redirector-top2.png differ diff --git a/core/assets-raw/sprites/blocks/production/small-heat-redirector.png b/core/assets-raw/sprites/blocks/production/small-heat-redirector.png new file mode 100644 index 0000000000..3b51f89bbc Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/small-heat-redirector.png differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-bottom.png b/core/assets-raw/sprites/blocks/production/spore-press-bottom.png new file mode 100644 index 0000000000..a100086fe3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/spore-press-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-frame0.png b/core/assets-raw/sprites/blocks/production/spore-press-frame0.png deleted file mode 100644 index a8b86d93bd..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/spore-press-frame0.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-frame1.png b/core/assets-raw/sprites/blocks/production/spore-press-frame1.png deleted file mode 100644 index 9b403cb9ce..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/spore-press-frame1.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-frame2.png b/core/assets-raw/sprites/blocks/production/spore-press-frame2.png deleted file mode 100644 index 34f8aad11b..0000000000 Binary files a/core/assets-raw/sprites/blocks/production/spore-press-frame2.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-piston-icon.png b/core/assets-raw/sprites/blocks/production/spore-press-piston-icon.png new file mode 100644 index 0000000000..921a96ef36 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/spore-press-piston-icon.png differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-piston0.png b/core/assets-raw/sprites/blocks/production/spore-press-piston0.png new file mode 100644 index 0000000000..80dec747a0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/spore-press-piston0.png differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press-piston1.png b/core/assets-raw/sprites/blocks/production/spore-press-piston1.png new file mode 100644 index 0000000000..e1b46944ab Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/spore-press-piston1.png differ diff --git a/core/assets-raw/sprites/blocks/production/spore-press.png b/core/assets-raw/sprites/blocks/production/spore-press.png index ae5aee87b3..f1a2f020a8 100644 Binary files a/core/assets-raw/sprites/blocks/production/spore-press.png and b/core/assets-raw/sprites/blocks/production/spore-press.png differ diff --git a/core/assets-raw/sprites/blocks/production/surge-crucible-bottom.png b/core/assets-raw/sprites/blocks/production/surge-crucible-bottom.png new file mode 100644 index 0000000000..4f4b6a2b8f Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-crucible-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/surge-crucible-glow.png b/core/assets-raw/sprites/blocks/production/surge-crucible-glow.png new file mode 100644 index 0000000000..9cbb441b7e Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-crucible-glow.png differ diff --git a/core/assets-raw/sprites/blocks/production/surge-crucible-heat.png b/core/assets-raw/sprites/blocks/production/surge-crucible-heat.png new file mode 100644 index 0000000000..92151659ec Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-crucible-heat.png differ diff --git a/core/assets-raw/sprites/blocks/production/surge-crucible-liquid.png b/core/assets-raw/sprites/blocks/production/surge-crucible-liquid.png new file mode 100644 index 0000000000..e2e3a85b82 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-crucible-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/production/surge-crucible-vents.png b/core/assets-raw/sprites/blocks/production/surge-crucible-vents.png new file mode 100644 index 0000000000..0386580503 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-crucible-vents.png differ diff --git a/core/assets-raw/sprites/blocks/production/surge-crucible.png b/core/assets-raw/sprites/blocks/production/surge-crucible.png new file mode 100644 index 0000000000..8380ad3d4b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-crucible.png differ diff --git a/core/assets-raw/sprites/blocks/production/alloy-smelter-top.png b/core/assets-raw/sprites/blocks/production/surge-smelter-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/production/alloy-smelter-top.png rename to core/assets-raw/sprites/blocks/production/surge-smelter-top.png diff --git a/core/assets-raw/sprites/blocks/production/surge-smelter.png b/core/assets-raw/sprites/blocks/production/surge-smelter.png new file mode 100644 index 0000000000..0d8a3b5475 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/surge-smelter.png differ diff --git a/core/assets-raw/sprites/blocks/production/vent-condenser-bottom.png b/core/assets-raw/sprites/blocks/production/vent-condenser-bottom.png new file mode 100644 index 0000000000..07cfe1dc61 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/vent-condenser-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/production/vent-condenser-mid.png b/core/assets-raw/sprites/blocks/production/vent-condenser-mid.png new file mode 100644 index 0000000000..b70942ba6b Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/vent-condenser-mid.png differ diff --git a/core/assets-raw/sprites/blocks/production/vent-condenser-rotator-blur.png b/core/assets-raw/sprites/blocks/production/vent-condenser-rotator-blur.png new file mode 100644 index 0000000000..c0121f90bf Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/vent-condenser-rotator-blur.png differ diff --git a/core/assets-raw/sprites/blocks/production/vent-condenser-rotator.png b/core/assets-raw/sprites/blocks/production/vent-condenser-rotator.png new file mode 100644 index 0000000000..09acceb3e5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/vent-condenser-rotator.png differ diff --git a/core/assets-raw/sprites/blocks/production/vent-condenser.png b/core/assets-raw/sprites/blocks/production/vent-condenser.png new file mode 100644 index 0000000000..c2eb1105c9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/production/vent-condenser.png differ diff --git a/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow1.png b/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow1.png new file mode 100644 index 0000000000..48dd992631 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow1.png differ diff --git a/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow2.png b/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow2.png new file mode 100644 index 0000000000..70157136b7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow2.png differ diff --git a/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow3.png b/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow3.png new file mode 100644 index 0000000000..e509e055c2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/arkyic-boulder-shadow3.png differ diff --git a/core/assets-raw/sprites/blocks/props/arkyic-boulder1.png b/core/assets-raw/sprites/blocks/props/arkyic-boulder1.png new file mode 100644 index 0000000000..bec5753b6a Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/arkyic-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/arkyic-boulder2.png b/core/assets-raw/sprites/blocks/props/arkyic-boulder2.png new file mode 100644 index 0000000000..a9ecf43cdd Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/arkyic-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/arkyic-boulder3.png b/core/assets-raw/sprites/blocks/props/arkyic-boulder3.png new file mode 100644 index 0000000000..9e9f5ccafc Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/arkyic-boulder3.png differ diff --git a/core/assets-raw/sprites/blocks/props/beryllic-boulder1.png b/core/assets-raw/sprites/blocks/props/beryllic-boulder1.png new file mode 100644 index 0000000000..275c90b4f6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/beryllic-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/beryllic-boulder2.png b/core/assets-raw/sprites/blocks/props/beryllic-boulder2.png new file mode 100644 index 0000000000..f5d2444503 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/beryllic-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/carbon-boulder1.png b/core/assets-raw/sprites/blocks/props/carbon-boulder1.png new file mode 100644 index 0000000000..6efee1fd57 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/carbon-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/carbon-boulder2.png b/core/assets-raw/sprites/blocks/props/carbon-boulder2.png new file mode 100644 index 0000000000..f717be1958 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/carbon-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow1.png b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow1.png new file mode 100644 index 0000000000..0d9145b6b1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow2.png b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow2.png new file mode 100644 index 0000000000..4e39edb9fd Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow3.png b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow3.png new file mode 100644 index 0000000000..75b6d51de5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks-shadow3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks1.png b/core/assets-raw/sprites/blocks/props/crystal-blocks1.png new file mode 100644 index 0000000000..f49567c892 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks2.png b/core/assets-raw/sprites/blocks/props/crystal-blocks2.png new file mode 100644 index 0000000000..3a6dea79bd Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-blocks3.png b/core/assets-raw/sprites/blocks/props/crystal-blocks3.png new file mode 100644 index 0000000000..95b2e66086 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-blocks3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow1.png b/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow1.png new file mode 100644 index 0000000000..d24059e180 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow2.png b/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow2.png new file mode 100644 index 0000000000..7c3a8a3f9b Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow3.png b/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow3.png new file mode 100644 index 0000000000..575e8c390b Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-cluster-shadow3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-cluster1.png b/core/assets-raw/sprites/blocks/props/crystal-cluster1.png new file mode 100644 index 0000000000..5adf9a96e0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-cluster1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-cluster2.png b/core/assets-raw/sprites/blocks/props/crystal-cluster2.png new file mode 100644 index 0000000000..40a03531c3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-cluster2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-cluster3.png b/core/assets-raw/sprites/blocks/props/crystal-cluster3.png new file mode 100644 index 0000000000..d9ba7e96e0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-cluster3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow1.png b/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow1.png new file mode 100644 index 0000000000..dda2465db7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow2.png b/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow2.png new file mode 100644 index 0000000000..b741caed9d Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow3.png b/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow3.png new file mode 100644 index 0000000000..e3fe7e1d8c Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-orbs-shadow3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-orbs1.png b/core/assets-raw/sprites/blocks/props/crystal-orbs1.png new file mode 100644 index 0000000000..21bd356715 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-orbs1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-orbs2.png b/core/assets-raw/sprites/blocks/props/crystal-orbs2.png new file mode 100644 index 0000000000..04a98d7e5a Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-orbs2.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystal-orbs3.png b/core/assets-raw/sprites/blocks/props/crystal-orbs3.png new file mode 100644 index 0000000000..bad75c084f Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystal-orbs3.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystalline-boulder1.png b/core/assets-raw/sprites/blocks/props/crystalline-boulder1.png new file mode 100644 index 0000000000..95d583a192 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystalline-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/crystalline-boulder2.png b/core/assets-raw/sprites/blocks/props/crystalline-boulder2.png new file mode 100644 index 0000000000..d94d92be6b Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/crystalline-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/ferric-boulder1.png b/core/assets-raw/sprites/blocks/props/ferric-boulder1.png new file mode 100644 index 0000000000..63685cbad5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/ferric-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/ferric-boulder2.png b/core/assets-raw/sprites/blocks/props/ferric-boulder2.png new file mode 100644 index 0000000000..93e19a3a7c Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/ferric-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/pur-bush-bot.png b/core/assets-raw/sprites/blocks/props/pur-bush-bot.png new file mode 100644 index 0000000000..5704eb7e9d Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/pur-bush-bot.png differ diff --git a/core/assets-raw/sprites/blocks/props/pur-bush.png b/core/assets-raw/sprites/blocks/props/pur-bush.png new file mode 100644 index 0000000000..98b5fafb4b Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/pur-bush.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-ice-boulder1.png b/core/assets-raw/sprites/blocks/props/red-ice-boulder1.png new file mode 100644 index 0000000000..6a3719383e Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-ice-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-ice-boulder2.png b/core/assets-raw/sprites/blocks/props/red-ice-boulder2.png new file mode 100644 index 0000000000..64913660e4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-ice-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-ice-boulder3.png b/core/assets-raw/sprites/blocks/props/red-ice-boulder3.png new file mode 100644 index 0000000000..ebb2cb653f Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-ice-boulder3.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-stone-boulder1.png b/core/assets-raw/sprites/blocks/props/red-stone-boulder1.png new file mode 100644 index 0000000000..27fdd14a35 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-stone-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-stone-boulder2.png b/core/assets-raw/sprites/blocks/props/red-stone-boulder2.png new file mode 100644 index 0000000000..40d7a7be5f Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-stone-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-stone-boulder3.png b/core/assets-raw/sprites/blocks/props/red-stone-boulder3.png new file mode 100644 index 0000000000..e85c09ee17 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-stone-boulder3.png differ diff --git a/core/assets-raw/sprites/blocks/props/red-stone-boulder4.png b/core/assets-raw/sprites/blocks/props/red-stone-boulder4.png new file mode 100644 index 0000000000..9cf450c2eb Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/red-stone-boulder4.png differ diff --git a/core/assets-raw/sprites/blocks/props/redweed1.png b/core/assets-raw/sprites/blocks/props/redweed1.png new file mode 100644 index 0000000000..2953862477 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/redweed1.png differ diff --git a/core/assets-raw/sprites/blocks/props/redweed2.png b/core/assets-raw/sprites/blocks/props/redweed2.png new file mode 100644 index 0000000000..30243ffacd Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/redweed2.png differ diff --git a/core/assets-raw/sprites/blocks/props/redweed3.png b/core/assets-raw/sprites/blocks/props/redweed3.png new file mode 100644 index 0000000000..a8bec509ee Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/redweed3.png differ diff --git a/core/assets-raw/sprites/blocks/props/rhyolite-boulder1.png b/core/assets-raw/sprites/blocks/props/rhyolite-boulder1.png new file mode 100644 index 0000000000..888aeed2eb Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/rhyolite-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/rhyolite-boulder2.png b/core/assets-raw/sprites/blocks/props/rhyolite-boulder2.png new file mode 100644 index 0000000000..7b6f910a8a Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/rhyolite-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/props/rhyolite-boulder3.png b/core/assets-raw/sprites/blocks/props/rhyolite-boulder3.png new file mode 100644 index 0000000000..25059fd947 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/rhyolite-boulder3.png differ diff --git a/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow1.png b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow1.png new file mode 100644 index 0000000000..5d68525e05 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow1.png differ diff --git a/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow2.png b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow2.png new file mode 100644 index 0000000000..5c055e1b17 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow2.png differ diff --git a/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow3.png b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow3.png new file mode 100644 index 0000000000..0f65c304a4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster-shadow3.png differ diff --git a/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster1.png b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster1.png new file mode 100644 index 0000000000..33cad73f65 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster1.png differ diff --git a/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster2.png b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster2.png new file mode 100644 index 0000000000..441acd6621 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster2.png differ diff --git a/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster3.png b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster3.png new file mode 100644 index 0000000000..c259fa954d Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/vibrant-crystal-cluster3.png differ diff --git a/core/assets-raw/sprites/blocks/props/yellow-stone-boulder1.png b/core/assets-raw/sprites/blocks/props/yellow-stone-boulder1.png new file mode 100644 index 0000000000..3f7bc8955e Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/yellow-stone-boulder1.png differ diff --git a/core/assets-raw/sprites/blocks/props/yellow-stone-boulder2.png b/core/assets-raw/sprites/blocks/props/yellow-stone-boulder2.png new file mode 100644 index 0000000000..c0758368e3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/props/yellow-stone-boulder2.png differ diff --git a/core/assets-raw/sprites/blocks/sandbox/heat-source-heat.png b/core/assets-raw/sprites/blocks/sandbox/heat-source-heat.png new file mode 100644 index 0000000000..92ae12d42d Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/heat-source-heat.png differ diff --git a/core/assets-raw/sprites/blocks/sandbox/heat-source-top1.png b/core/assets-raw/sprites/blocks/sandbox/heat-source-top1.png new file mode 100644 index 0000000000..c90316d1df Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/heat-source-top1.png differ diff --git a/core/assets-raw/sprites/blocks/sandbox/heat-source-top2.png b/core/assets-raw/sprites/blocks/sandbox/heat-source-top2.png new file mode 100644 index 0000000000..a8ae03228c Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/heat-source-top2.png differ diff --git a/core/assets-raw/sprites/blocks/sandbox/heat-source.png b/core/assets-raw/sprites/blocks/sandbox/heat-source.png new file mode 100644 index 0000000000..e2818047b1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/heat-source.png differ diff --git a/core/assets-raw/sprites/blocks/sandbox/item-source.png b/core/assets-raw/sprites/blocks/sandbox/item-source.png new file mode 100644 index 0000000000..21c254cba5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/item-source.png differ diff --git a/core/assets-raw/sprites/blocks/production/item-void.png b/core/assets-raw/sprites/blocks/sandbox/item-void.png similarity index 100% rename from core/assets-raw/sprites/blocks/production/item-void.png rename to core/assets-raw/sprites/blocks/sandbox/item-void.png diff --git a/core/assets-raw/sprites/blocks/sandbox/liquid-source.png b/core/assets-raw/sprites/blocks/sandbox/liquid-source.png new file mode 100644 index 0000000000..92693f9200 Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/liquid-source.png differ diff --git a/core/assets-raw/sprites/blocks/production/liquid-void.png b/core/assets-raw/sprites/blocks/sandbox/liquid-void.png similarity index 100% rename from core/assets-raw/sprites/blocks/production/liquid-void.png rename to core/assets-raw/sprites/blocks/sandbox/liquid-void.png diff --git a/core/assets-raw/sprites/blocks/sandbox/source-bottom.png b/core/assets-raw/sprites/blocks/sandbox/source-bottom.png new file mode 100644 index 0000000000..a2dd7b5e0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/sandbox/source-bottom.png differ diff --git a/core/assets-raw/sprites/blocks/storage/container.png b/core/assets-raw/sprites/blocks/storage/container.png index 959e2b6edf..038adbcd82 100644 Binary files a/core/assets-raw/sprites/blocks/storage/container.png and b/core/assets-raw/sprites/blocks/storage/container.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-acropolis-team.png b/core/assets-raw/sprites/blocks/storage/core-acropolis-team.png new file mode 100644 index 0000000000..4099c3aa09 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-acropolis-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-acropolis-thruster1.png b/core/assets-raw/sprites/blocks/storage/core-acropolis-thruster1.png new file mode 100644 index 0000000000..0e7dad8704 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-acropolis-thruster1.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-acropolis-thruster2.png b/core/assets-raw/sprites/blocks/storage/core-acropolis-thruster2.png new file mode 100644 index 0000000000..b9dbaf0e3a Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-acropolis-thruster2.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-acropolis.png b/core/assets-raw/sprites/blocks/storage/core-acropolis.png new file mode 100644 index 0000000000..c325150e8c Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-acropolis.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-bastion-team.png b/core/assets-raw/sprites/blocks/storage/core-bastion-team.png new file mode 100644 index 0000000000..6a34bde394 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-bastion-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-bastion-thruster1.png b/core/assets-raw/sprites/blocks/storage/core-bastion-thruster1.png new file mode 100644 index 0000000000..aaf48c0a64 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-bastion-thruster1.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-bastion-thruster2.png b/core/assets-raw/sprites/blocks/storage/core-bastion-thruster2.png new file mode 100644 index 0000000000..23cee644e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-bastion-thruster2.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-bastion.png b/core/assets-raw/sprites/blocks/storage/core-bastion.png new file mode 100644 index 0000000000..d1fe947bab Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-bastion.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-citadel-team.png b/core/assets-raw/sprites/blocks/storage/core-citadel-team.png new file mode 100644 index 0000000000..c4412053d9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-citadel-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-citadel-thruster1.png b/core/assets-raw/sprites/blocks/storage/core-citadel-thruster1.png new file mode 100644 index 0000000000..a637342ac9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-citadel-thruster1.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-citadel-thruster2.png b/core/assets-raw/sprites/blocks/storage/core-citadel-thruster2.png new file mode 100644 index 0000000000..e09884a489 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-citadel-thruster2.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-citadel.png b/core/assets-raw/sprites/blocks/storage/core-citadel.png new file mode 100644 index 0000000000..795eb990b2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-citadel.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-foundation-team.png b/core/assets-raw/sprites/blocks/storage/core-foundation-team.png index ba7a7045a8..afb444176c 100644 Binary files a/core/assets-raw/sprites/blocks/storage/core-foundation-team.png and b/core/assets-raw/sprites/blocks/storage/core-foundation-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-foundation-thruster1.png b/core/assets-raw/sprites/blocks/storage/core-foundation-thruster1.png new file mode 100644 index 0000000000..f40a7eb905 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-foundation-thruster1.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-foundation-thruster2.png b/core/assets-raw/sprites/blocks/storage/core-foundation-thruster2.png new file mode 100644 index 0000000000..21bb44abc9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-foundation-thruster2.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-nucleus-team.png b/core/assets-raw/sprites/blocks/storage/core-nucleus-team.png index 53b494bb6a..b63e860085 100644 Binary files a/core/assets-raw/sprites/blocks/storage/core-nucleus-team.png and b/core/assets-raw/sprites/blocks/storage/core-nucleus-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-nucleus-thruster1.png b/core/assets-raw/sprites/blocks/storage/core-nucleus-thruster1.png new file mode 100644 index 0000000000..112429f26a Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-nucleus-thruster1.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-nucleus-thruster2.png b/core/assets-raw/sprites/blocks/storage/core-nucleus-thruster2.png new file mode 100644 index 0000000000..83897e87d7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-nucleus-thruster2.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-shard-team.png b/core/assets-raw/sprites/blocks/storage/core-shard-team.png index f319ebbe2c..1b0ef1a79c 100644 Binary files a/core/assets-raw/sprites/blocks/storage/core-shard-team.png and b/core/assets-raw/sprites/blocks/storage/core-shard-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-shard-thruster1.png b/core/assets-raw/sprites/blocks/storage/core-shard-thruster1.png new file mode 100644 index 0000000000..7d6fd61604 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-shard-thruster1.png differ diff --git a/core/assets-raw/sprites/blocks/storage/core-shard-thruster2.png b/core/assets-raw/sprites/blocks/storage/core-shard-thruster2.png new file mode 100644 index 0000000000..2a15417fbe Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/core-shard-thruster2.png differ diff --git a/core/assets-raw/sprites/blocks/storage/reinforced-container-team.png b/core/assets-raw/sprites/blocks/storage/reinforced-container-team.png new file mode 100644 index 0000000000..dae1a854c0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/reinforced-container-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/reinforced-container.png b/core/assets-raw/sprites/blocks/storage/reinforced-container.png new file mode 100644 index 0000000000..e38892cc05 Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/reinforced-container.png differ diff --git a/core/assets-raw/sprites/blocks/storage/reinforced-vault-team.png b/core/assets-raw/sprites/blocks/storage/reinforced-vault-team.png new file mode 100644 index 0000000000..5fc137c8af Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/reinforced-vault-team.png differ diff --git a/core/assets-raw/sprites/blocks/storage/reinforced-vault.png b/core/assets-raw/sprites/blocks/storage/reinforced-vault.png new file mode 100644 index 0000000000..383e61661d Binary files /dev/null and b/core/assets-raw/sprites/blocks/storage/reinforced-vault.png differ diff --git a/core/assets-raw/sprites/blocks/storage/vault.png b/core/assets-raw/sprites/blocks/storage/vault.png index 36a4ee5ea5..150f9acf24 100644 Binary files a/core/assets-raw/sprites/blocks/storage/vault.png and b/core/assets-raw/sprites/blocks/storage/vault.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-glow-heat.png b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-glow-heat.png new file mode 100644 index 0000000000..a29c4daf46 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-glow-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-heat.png b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-heat.png new file mode 100644 index 0000000000..7e7f994e5a Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-l.png b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-l.png new file mode 100644 index 0000000000..bc41ab4f10 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-r.png b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-r.png new file mode 100644 index 0000000000..d79cd376da Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-blade-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/afflict/afflict-preview.png b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-preview.png new file mode 100644 index 0000000000..8bb86e37f4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/afflict/afflict-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/afflict/afflict.png b/core/assets-raw/sprites/blocks/turrets/afflict/afflict.png new file mode 100644 index 0000000000..b0abd5b710 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/afflict/afflict.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/arc-heat.png b/core/assets-raw/sprites/blocks/turrets/arc-heat.png index de36f57ce4..5b981cd6bb 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/arc-heat.png and b/core/assets-raw/sprites/blocks/turrets/arc-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-2.png b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-2.png new file mode 100644 index 0000000000..8abd51e2a1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-2.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-3.png b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-3.png new file mode 100644 index 0000000000..29f2caeabd Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-3.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-4.png b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-4.png new file mode 100644 index 0000000000..e356019ce1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-4.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-5.png b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-5.png new file mode 100644 index 0000000000..39103b790f Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/bases/reinforced-block-5.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/breach-heat.png b/core/assets-raw/sprites/blocks/turrets/breach-heat.png new file mode 100644 index 0000000000..43e9a698d8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/breach-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/breach.png b/core/assets-raw/sprites/blocks/turrets/breach.png new file mode 100644 index 0000000000..c3d6e83a44 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/breach.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/cyclone.png b/core/assets-raw/sprites/blocks/turrets/cyclone.png deleted file mode 100644 index a0e34e20e7..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/cyclone.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-1.png b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-1.png new file mode 100644 index 0000000000..d0a09b148d Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-1.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-2.png b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-2.png new file mode 100644 index 0000000000..df9abb659d Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-2.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-3.png b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-3.png new file mode 100644 index 0000000000..c6ed1cb0d3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-barrel-3.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-preview.png b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-preview.png new file mode 100644 index 0000000000..7e60d91dbd Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone.png b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone.png new file mode 100644 index 0000000000..ef96418107 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/cyclone/cyclone.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-heat.png b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-heat.png new file mode 100644 index 0000000000..f975b3babf Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-l.png b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-l.png new file mode 100644 index 0000000000..ef3373a188 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-r.png b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-r.png new file mode 100644 index 0000000000..c555d0858c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-front-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-preview.png b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-preview.png new file mode 100644 index 0000000000..3ff2f1dfe5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse.png b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse.png new file mode 100644 index 0000000000..8171681a58 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/diffuse/diffuse.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-heat.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-heat.png new file mode 100644 index 0000000000..da0a55f816 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-l.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-l.png new file mode 100644 index 0000000000..78a096b948 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-r.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-r.png new file mode 100644 index 0000000000..0ca5e511d1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-blade-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-mid-heat.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-mid-heat.png new file mode 100644 index 0000000000..be012916f3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-mid-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-mid.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-mid.png new file mode 100644 index 0000000000..edfd63a69e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-mid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-preview.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-preview.png new file mode 100644 index 0000000000..39edc8651c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-side-l.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-side-l.png new file mode 100644 index 0000000000..c08e60f14a Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-side-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/disperse/disperse-side-r.png b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-side-r.png new file mode 100644 index 0000000000..861b981046 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/disperse/disperse-side-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-l.png b/core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-l.png new file mode 100644 index 0000000000..4e2cd467d2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-r.png b/core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-r.png new file mode 100644 index 0000000000..ca9582932c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/duo/duo-barrel-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/duo.png b/core/assets-raw/sprites/blocks/turrets/duo/duo-preview.png similarity index 100% rename from core/assets-raw/sprites/blocks/turrets/duo.png rename to core/assets-raw/sprites/blocks/turrets/duo/duo-preview.png diff --git a/core/assets-raw/sprites/blocks/turrets/duo/duo.png b/core/assets-raw/sprites/blocks/turrets/duo/duo.png new file mode 100644 index 0000000000..033099c10e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/duo/duo.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/fuse-heat.png b/core/assets-raw/sprites/blocks/turrets/fuse-heat.png new file mode 100644 index 0000000000..b8c070840b Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/fuse-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/fuse.png b/core/assets-raw/sprites/blocks/turrets/fuse.png index 61ff3c7b2d..8c3b6434d7 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/fuse.png and b/core/assets-raw/sprites/blocks/turrets/fuse.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/hail-heat.png b/core/assets-raw/sprites/blocks/turrets/hail-heat.png index daad1ac936..84f197b52b 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/hail-heat.png and b/core/assets-raw/sprites/blocks/turrets/hail-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/hail.png b/core/assets-raw/sprites/blocks/turrets/hail.png index 10001df6ed..604fb5d5de 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/hail.png and b/core/assets-raw/sprites/blocks/turrets/hail.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lancer-heat.png b/core/assets-raw/sprites/blocks/turrets/lancer-heat.png index 1327410b66..1159816138 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/lancer-heat.png and b/core/assets-raw/sprites/blocks/turrets/lancer-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lancer.png b/core/assets-raw/sprites/blocks/turrets/lancer.png index 08f1ea9e30..5c9cf079f5 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/lancer.png and b/core/assets-raw/sprites/blocks/turrets/lancer.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-heat.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-heat.png new file mode 100644 index 0000000000..f37c68ff10 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-l.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-l.png new file mode 100644 index 0000000000..216d93f107 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-r.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-r.png new file mode 100644 index 0000000000..2714d0f4c2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-blade-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-heat.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-heat.png new file mode 100644 index 0000000000..a11bc46adf Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-l.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-l.png new file mode 100644 index 0000000000..6054d7c393 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-r.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-r.png new file mode 100644 index 0000000000..30d9fd1c86 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-inner-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-mid-heat.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-mid-heat.png new file mode 100644 index 0000000000..af7a440e82 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-mid-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-mid.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-mid.png new file mode 100644 index 0000000000..aa246f41cf Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-mid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/lustre/lustre-preview.png b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-preview.png new file mode 100644 index 0000000000..4ac64cc157 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/lustre/lustre-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-back-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-heat.png new file mode 100644 index 0000000000..8ecca1720d Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-back-l.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-l.png new file mode 100644 index 0000000000..f211c20d8c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-back-r.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-r.png new file mode 100644 index 0000000000..431edae31b Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-back-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-end.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-end.png new file mode 100644 index 0000000000..1424d302e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-end.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-front-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-heat.png new file mode 100644 index 0000000000..0edde283f4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-front-l.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-l.png new file mode 100644 index 0000000000..bb11c63592 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-front-r.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-r.png new file mode 100644 index 0000000000..f316b39ab5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-front-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-main.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-main.png new file mode 100644 index 0000000000..1deb5458de Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-main.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-mid-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-mid-heat.png new file mode 100644 index 0000000000..026ec951a1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-mid-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-mid.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-mid.png new file mode 100644 index 0000000000..95c99e66e6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-mid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth-heat.png new file mode 100644 index 0000000000..aa7b11d00c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth.png new file mode 100644 index 0000000000..914f81d81e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-mouth.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-preview.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-preview.png new file mode 100644 index 0000000000..865f7d8653 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-heat.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-heat.png new file mode 100644 index 0000000000..e10bf85567 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-l.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-l.png new file mode 100644 index 0000000000..226f75928c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-r.png b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-r.png new file mode 100644 index 0000000000..226f75928c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/malign/malign-spine-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/meltdown-heat.png b/core/assets-raw/sprites/blocks/turrets/meltdown-heat.png index e9b1fc0ed3..3c58dffce0 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/meltdown-heat.png and b/core/assets-raw/sprites/blocks/turrets/meltdown-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/ripple-heat.png b/core/assets-raw/sprites/blocks/turrets/ripple-heat.png index 6b88b97cb3..a2aa7bc521 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/ripple-heat.png and b/core/assets-raw/sprites/blocks/turrets/ripple-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/ripple.png b/core/assets-raw/sprites/blocks/turrets/ripple.png index 92bd3db328..4660117fd8 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/ripple.png and b/core/assets-raw/sprites/blocks/turrets/ripple.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo-heat.png b/core/assets-raw/sprites/blocks/turrets/salvo-heat.png deleted file mode 100644 index 5022fafc1d..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/salvo-heat.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo.png b/core/assets-raw/sprites/blocks/turrets/salvo.png deleted file mode 100644 index 4904a913a5..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/salvo.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel-heat.png b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel-heat.png new file mode 100644 index 0000000000..274053f819 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel.png b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel.png new file mode 100644 index 0000000000..1ac7d8ff1f Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-barrel.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo/salvo-preview.png b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-preview.png new file mode 100644 index 0000000000..936f708770 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-l.png b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-l.png new file mode 100644 index 0000000000..4ef9628282 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-r.png b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-r.png new file mode 100644 index 0000000000..21cda3b07b Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/salvo/salvo-side-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-heat.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-heat.png new file mode 100644 index 0000000000..2e17525b3c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-l.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-l.png new file mode 100644 index 0000000000..473e136ddc Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-r.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-r.png new file mode 100644 index 0000000000..7547140cde Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-blade-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-mid-heat.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-mid-heat.png new file mode 100644 index 0000000000..487d1d8136 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-mid-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-mid.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-mid.png new file mode 100644 index 0000000000..c703ef84ca Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-mid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-preview.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-preview.png new file mode 100644 index 0000000000..458cd8b143 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-heat.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-heat.png new file mode 100644 index 0000000000..ab062426df Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-l.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-l.png new file mode 100644 index 0000000000..134fff35e7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-r.png b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-r.png new file mode 100644 index 0000000000..37fd18e6e3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scathe/scathe-side-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scatter.png b/core/assets-raw/sprites/blocks/turrets/scatter.png deleted file mode 100644 index f4f0d73954..0000000000 Binary files a/core/assets-raw/sprites/blocks/turrets/scatter.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/turrets/scatter/scatter-mid.png b/core/assets-raw/sprites/blocks/turrets/scatter/scatter-mid.png new file mode 100644 index 0000000000..1dc01391fe Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scatter/scatter-mid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scatter/scatter-preview.png b/core/assets-raw/sprites/blocks/turrets/scatter/scatter-preview.png new file mode 100644 index 0000000000..14930eb725 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scatter/scatter-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scatter/scatter.png b/core/assets-raw/sprites/blocks/turrets/scatter/scatter.png new file mode 100644 index 0000000000..83613f9364 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/scatter/scatter.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scorch-heat.png b/core/assets-raw/sprites/blocks/turrets/scorch-heat.png index 84863ae266..82ac4b138f 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/scorch-heat.png and b/core/assets-raw/sprites/blocks/turrets/scorch-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/scorch.png b/core/assets-raw/sprites/blocks/turrets/scorch.png index abbd3b5188..ad77c9feda 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/scorch.png and b/core/assets-raw/sprites/blocks/turrets/scorch.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-back-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-back-l.png new file mode 100644 index 0000000000..6720b81b0e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-back-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-back-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-back-r.png new file mode 100644 index 0000000000..a47de1ea83 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-back-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-heat.png new file mode 100644 index 0000000000..265087d5cb Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-l.png new file mode 100644 index 0000000000..b473cc82f9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-r.png new file mode 100644 index 0000000000..b473cc82f9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-bar-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-heat.png new file mode 100644 index 0000000000..061ddf73f2 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-l.png new file mode 100644 index 0000000000..1c162cf90f Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-r.png new file mode 100644 index 0000000000..1d7d25028e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-blade-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-front-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-front-l.png new file mode 100644 index 0000000000..af7ec24e79 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-front-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-front-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-front-r.png new file mode 100644 index 0000000000..58db672295 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-front-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-mid-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-mid-heat.png new file mode 100644 index 0000000000..9e564bd546 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-mid-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-mid.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-mid.png new file mode 100644 index 0000000000..bc77fb7697 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-mid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-preview.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-preview.png new file mode 100644 index 0000000000..ff9c02f448 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-heat.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-heat.png new file mode 100644 index 0000000000..6c9cd0ed3e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-l.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-l.png new file mode 100644 index 0000000000..5277c648e5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-r.png b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-r.png new file mode 100644 index 0000000000..c9112d61d8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/smite/smite-spine-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/spectre-heat.png b/core/assets-raw/sprites/blocks/turrets/spectre-heat.png new file mode 100644 index 0000000000..2054d87448 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/spectre-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-heat.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-heat.png new file mode 100644 index 0000000000..b1b9981be3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-l.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-l.png new file mode 100644 index 0000000000..6310ed5bef Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-r.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-r.png new file mode 100644 index 0000000000..3649e6b388 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-back-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-heat.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-heat.png new file mode 100644 index 0000000000..6bdb42bc14 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-l.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-l.png new file mode 100644 index 0000000000..9dc19c54d0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-r.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-r.png new file mode 100644 index 0000000000..93762fca98 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-front-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-heat.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-heat.png new file mode 100644 index 0000000000..b6dcfe6425 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-liquid.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-liquid.png new file mode 100644 index 0000000000..0315dae8fb Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-liquid.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-heat.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-heat.png new file mode 100644 index 0000000000..3d0339a8e1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-l.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-l.png new file mode 100644 index 0000000000..ff0d1859b1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-r.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-r.png new file mode 100644 index 0000000000..fb3dd30a00 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-nozzle-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-preview.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-preview.png new file mode 100644 index 0000000000..b91e9ba13b Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-top.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-top.png new file mode 100644 index 0000000000..cab9eac8a0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate-top.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate.png b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate.png new file mode 100644 index 0000000000..7ece32712c Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/sublimate/sublimate.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/swarmer.png b/core/assets-raw/sprites/blocks/turrets/swarmer.png index 6f98a1ba7a..508e74f861 100644 Binary files a/core/assets-raw/sprites/blocks/turrets/swarmer.png and b/core/assets-raw/sprites/blocks/turrets/swarmer.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel-heat.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel-heat.png new file mode 100644 index 0000000000..01e7d763e0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel-heat_full.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel-heat_full.png new file mode 100644 index 0000000000..bfaf389728 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel-heat_full.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel.png new file mode 100644 index 0000000000..633870819d Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-barrel.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-preview.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-preview.png new file mode 100644 index 0000000000..6f02447fc8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-preview.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-side-heat.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-side-heat.png new file mode 100644 index 0000000000..d9607a2e1e Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-side-heat.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-side-l.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-side-l.png new file mode 100644 index 0000000000..b76cc39f30 Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-side-l.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan-side-r.png b/core/assets-raw/sprites/blocks/turrets/titan/titan-side-r.png new file mode 100644 index 0000000000..80d2539b5d Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan-side-r.png differ diff --git a/core/assets-raw/sprites/blocks/turrets/titan/titan.png b/core/assets-raw/sprites/blocks/turrets/titan/titan.png new file mode 100644 index 0000000000..da8aa59a6f Binary files /dev/null and b/core/assets-raw/sprites/blocks/turrets/titan/titan.png differ diff --git a/core/assets-raw/sprites/blocks/units/additive-reconstructor.png b/core/assets-raw/sprites/blocks/units/additive-reconstructor.png index 7534cc4f15..40ea654c1d 100644 Binary files a/core/assets-raw/sprites/blocks/units/additive-reconstructor.png and b/core/assets-raw/sprites/blocks/units/additive-reconstructor.png differ diff --git a/core/assets-raw/sprites/blocks/units/basic-assembler-module-side1.png b/core/assets-raw/sprites/blocks/units/basic-assembler-module-side1.png new file mode 100644 index 0000000000..2bc2f85465 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/basic-assembler-module-side1.png differ diff --git a/core/assets-raw/sprites/blocks/units/basic-assembler-module-side2.png b/core/assets-raw/sprites/blocks/units/basic-assembler-module-side2.png new file mode 100644 index 0000000000..6ac72798d9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/basic-assembler-module-side2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/payload-router-edge.png b/core/assets-raw/sprites/blocks/units/basic-assembler-module-top.png similarity index 100% rename from core/assets-raw/sprites/blocks/distribution/payload-router-edge.png rename to core/assets-raw/sprites/blocks/units/basic-assembler-module-top.png diff --git a/core/assets-raw/sprites/blocks/units/basic-assembler-module.png b/core/assets-raw/sprites/blocks/units/basic-assembler-module.png new file mode 100644 index 0000000000..1518919cfb Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/basic-assembler-module.png differ diff --git a/core/assets-raw/sprites/blocks/units/command-center-team.png b/core/assets-raw/sprites/blocks/units/command-center-team.png deleted file mode 100644 index b9d27f73c9..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/command-center-team.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/command-center.png b/core/assets-raw/sprites/blocks/units/command-center.png deleted file mode 100644 index a0de4888a9..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/command-center.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/factory-in-3.png b/core/assets-raw/sprites/blocks/units/factory-in-3.png deleted file mode 100644 index 7944814739..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/factory-in-3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/factory-in-5.png b/core/assets-raw/sprites/blocks/units/factory-in-5.png deleted file mode 100644 index ccb7fbc5a3..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/factory-in-5.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/factory-out-3.png b/core/assets-raw/sprites/blocks/units/factory-out-3.png deleted file mode 100644 index 4553a690dd..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/factory-out-3.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/factory-out-5.png b/core/assets-raw/sprites/blocks/units/factory-out-5.png deleted file mode 100644 index 801f1ce6f9..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/factory-out-5.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png b/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png new file mode 100644 index 0000000000..bfa591c50a Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-assembler-side1.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-side2.png b/core/assets-raw/sprites/blocks/units/mech-assembler-side2.png new file mode 100644 index 0000000000..9cd4cdeaa0 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-assembler-side2.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler-top.png b/core/assets-raw/sprites/blocks/units/mech-assembler-top.png new file mode 100644 index 0000000000..40f43fdd24 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-assembler-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-assembler.png b/core/assets-raw/sprites/blocks/units/mech-assembler.png new file mode 100644 index 0000000000..bf54cf6950 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-assembler.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-fabricator-top.png b/core/assets-raw/sprites/blocks/units/mech-fabricator-top.png new file mode 100644 index 0000000000..18525479c8 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-fabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-fabricator.png b/core/assets-raw/sprites/blocks/units/mech-fabricator.png new file mode 100644 index 0000000000..96592251ae Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-fabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-refabricator-top.png b/core/assets-raw/sprites/blocks/units/mech-refabricator-top.png new file mode 100644 index 0000000000..28e1927ffa Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-refabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/mech-refabricator.png b/core/assets-raw/sprites/blocks/units/mech-refabricator.png new file mode 100644 index 0000000000..63f3cb6fa9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/mech-refabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/prime-refabricator-top.png b/core/assets-raw/sprites/blocks/units/prime-refabricator-top.png new file mode 100644 index 0000000000..24cc4cd5a5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/prime-refabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/prime-refabricator.png b/core/assets-raw/sprites/blocks/units/prime-refabricator.png new file mode 100644 index 0000000000..6709222b7b Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/prime-refabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/rally-point.png b/core/assets-raw/sprites/blocks/units/rally-point.png deleted file mode 100644 index 493d90df1d..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/rally-point.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/repair-point.png b/core/assets-raw/sprites/blocks/units/repair-point.png index 2cadeae5cb..f3c0a07472 100644 Binary files a/core/assets-raw/sprites/blocks/units/repair-point.png and b/core/assets-raw/sprites/blocks/units/repair-point.png differ diff --git a/core/assets-raw/sprites/blocks/units/repair-turret.png b/core/assets-raw/sprites/blocks/units/repair-turret.png new file mode 100644 index 0000000000..4cc4ffc5bd Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/repair-turret.png differ diff --git a/core/assets-raw/sprites/blocks/units/resupply-point.png b/core/assets-raw/sprites/blocks/units/resupply-point.png deleted file mode 100644 index d6d9d52572..0000000000 Binary files a/core/assets-raw/sprites/blocks/units/resupply-point.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/units/ship-assembler-side1.png b/core/assets-raw/sprites/blocks/units/ship-assembler-side1.png new file mode 100644 index 0000000000..ec57520298 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-assembler-side1.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-assembler-side2.png b/core/assets-raw/sprites/blocks/units/ship-assembler-side2.png new file mode 100644 index 0000000000..5bac81cd38 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-assembler-side2.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-assembler-top.png b/core/assets-raw/sprites/blocks/units/ship-assembler-top.png new file mode 100644 index 0000000000..a80bf2b8f7 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-assembler-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-assembler.png b/core/assets-raw/sprites/blocks/units/ship-assembler.png new file mode 100644 index 0000000000..bf54cf6950 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-assembler.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-fabricator-top.png b/core/assets-raw/sprites/blocks/units/ship-fabricator-top.png new file mode 100644 index 0000000000..708e361314 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-fabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-fabricator.png b/core/assets-raw/sprites/blocks/units/ship-fabricator.png new file mode 100644 index 0000000000..c48284e98b Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-fabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-refabricator-top.png b/core/assets-raw/sprites/blocks/units/ship-refabricator-top.png new file mode 100644 index 0000000000..7c91e756cd Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-refabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/ship-refabricator.png b/core/assets-raw/sprites/blocks/units/ship-refabricator.png new file mode 100644 index 0000000000..bc9ddfe97f Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/ship-refabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-assembler-side1.png b/core/assets-raw/sprites/blocks/units/tank-assembler-side1.png new file mode 100644 index 0000000000..6ea08597e9 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-assembler-side1.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-assembler-side2.png b/core/assets-raw/sprites/blocks/units/tank-assembler-side2.png new file mode 100644 index 0000000000..c549831fd5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-assembler-side2.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-assembler-top.png b/core/assets-raw/sprites/blocks/units/tank-assembler-top.png new file mode 100644 index 0000000000..006c35f38a Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-assembler-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-assembler.png b/core/assets-raw/sprites/blocks/units/tank-assembler.png new file mode 100644 index 0000000000..bf54cf6950 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-assembler.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-fabricator-top.png b/core/assets-raw/sprites/blocks/units/tank-fabricator-top.png new file mode 100644 index 0000000000..4e5ee09f66 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-fabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-fabricator.png b/core/assets-raw/sprites/blocks/units/tank-fabricator.png new file mode 100644 index 0000000000..c056220c41 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-fabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-refabricator-top.png b/core/assets-raw/sprites/blocks/units/tank-refabricator-top.png new file mode 100644 index 0000000000..144c7ed37d Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-refabricator-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/tank-refabricator.png b/core/assets-raw/sprites/blocks/units/tank-refabricator.png new file mode 100644 index 0000000000..3152db780a Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/tank-refabricator.png differ diff --git a/core/assets-raw/sprites/blocks/units/tetrative-reconstructor.png b/core/assets-raw/sprites/blocks/units/tetrative-reconstructor.png index deba4e9988..67f7ed806b 100644 Binary files a/core/assets-raw/sprites/blocks/units/tetrative-reconstructor.png and b/core/assets-raw/sprites/blocks/units/tetrative-reconstructor.png differ diff --git a/core/assets-raw/sprites/blocks/units/unit-cargo-loader.png b/core/assets-raw/sprites/blocks/units/unit-cargo-loader.png new file mode 100644 index 0000000000..69024f4877 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/unit-cargo-loader.png differ diff --git a/core/assets-raw/sprites/blocks/units/unit-cargo-unload-point-top.png b/core/assets-raw/sprites/blocks/units/unit-cargo-unload-point-top.png new file mode 100644 index 0000000000..025178c24d Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/unit-cargo-unload-point-top.png differ diff --git a/core/assets-raw/sprites/blocks/units/unit-cargo-unload-point.png b/core/assets-raw/sprites/blocks/units/unit-cargo-unload-point.png new file mode 100644 index 0000000000..29d5c9a883 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/unit-cargo-unload-point.png differ diff --git a/core/assets-raw/sprites/blocks/units/unit-repair-tower-glow.png b/core/assets-raw/sprites/blocks/units/unit-repair-tower-glow.png new file mode 100644 index 0000000000..7db58e5944 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/unit-repair-tower-glow.png differ diff --git a/core/assets-raw/sprites/blocks/units/unit-repair-tower.png b/core/assets-raw/sprites/blocks/units/unit-repair-tower.png new file mode 100644 index 0000000000..fca0c991d3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/units/unit-repair-tower.png differ diff --git a/core/assets-raw/sprites/blocks/walls/beryllium-wall-large.png b/core/assets-raw/sprites/blocks/walls/beryllium-wall-large.png new file mode 100644 index 0000000000..0278823e03 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/beryllium-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/beryllium-wall.png b/core/assets-raw/sprites/blocks/walls/beryllium-wall.png new file mode 100644 index 0000000000..d4ffa38dda Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/beryllium-wall.png differ diff --git a/core/assets-raw/sprites/blocks/walls/blast-door-open.png b/core/assets-raw/sprites/blocks/walls/blast-door-open.png new file mode 100644 index 0000000000..afe9aa0f1f Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/blast-door-open.png differ diff --git a/core/assets-raw/sprites/blocks/walls/blast-door.png b/core/assets-raw/sprites/blocks/walls/blast-door.png new file mode 100644 index 0000000000..bc4710e43d Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/blast-door.png differ diff --git a/core/assets-raw/sprites/blocks/walls/carbide-wall-large.png b/core/assets-raw/sprites/blocks/walls/carbide-wall-large.png new file mode 100644 index 0000000000..35c0d1fd41 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/carbide-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/carbide-wall.png b/core/assets-raw/sprites/blocks/walls/carbide-wall.png new file mode 100644 index 0000000000..4e2f36b4c5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/carbide-wall.png differ diff --git a/core/assets-raw/sprites/blocks/walls/reinforced-surge-wall-large.png b/core/assets-raw/sprites/blocks/walls/reinforced-surge-wall-large.png new file mode 100644 index 0000000000..9fe2c736ca Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/reinforced-surge-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/reinforced-surge-wall.png b/core/assets-raw/sprites/blocks/walls/reinforced-surge-wall.png new file mode 100644 index 0000000000..c10d2afdde Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/reinforced-surge-wall.png differ diff --git a/core/assets-raw/sprites/blocks/walls/shielded-wall-glow.png b/core/assets-raw/sprites/blocks/walls/shielded-wall-glow.png new file mode 100644 index 0000000000..7eac1db515 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/shielded-wall-glow.png differ diff --git a/core/assets-raw/sprites/blocks/walls/shielded-wall.png b/core/assets-raw/sprites/blocks/walls/shielded-wall.png new file mode 100644 index 0000000000..293839126b Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/shielded-wall.png differ diff --git a/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png b/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png index ef8f313f09..20c23043ac 100644 Binary files a/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png and b/core/assets-raw/sprites/blocks/walls/thorium-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/tungsten-wall-large.png b/core/assets-raw/sprites/blocks/walls/tungsten-wall-large.png new file mode 100644 index 0000000000..92c9c839a5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/tungsten-wall-large.png differ diff --git a/core/assets-raw/sprites/blocks/walls/tungsten-wall.png b/core/assets-raw/sprites/blocks/walls/tungsten-wall.png new file mode 100644 index 0000000000..1e57bcea46 Binary files /dev/null and b/core/assets-raw/sprites/blocks/walls/tungsten-wall.png differ diff --git a/core/assets-raw/sprites/editor/pack.json b/core/assets-raw/sprites/editor/pack.json index fcd452dd9f..775c36ebdd 100644 --- a/core/assets-raw/sprites/editor/pack.json +++ b/core/assets-raw/sprites/editor/pack.json @@ -2,7 +2,8 @@ duplicatePadding: true, combineSubdirectories: true, flattenPaths: true, - maxWidth: 4096, - maxHeight: 4096, - fast: true + maxWidth: 2048, + maxHeight: 2048, + fast: true, + stripWhitespaceCenter: true } diff --git a/core/assets-raw/sprites/effects/circle-bullet-back.png b/core/assets-raw/sprites/effects/circle-bullet-back.png new file mode 100644 index 0000000000..e08bfeae85 Binary files /dev/null and b/core/assets-raw/sprites/effects/circle-bullet-back.png differ diff --git a/core/assets-raw/sprites/effects/circle-bullet.png b/core/assets-raw/sprites/effects/circle-bullet.png new file mode 100644 index 0000000000..3039f67c85 Binary files /dev/null and b/core/assets-raw/sprites/effects/circle-bullet.png differ diff --git a/core/assets-raw/sprites/effects/clear-effect.png b/core/assets-raw/sprites/effects/clear-effect.png new file mode 100644 index 0000000000..92e99b0ef3 Binary files /dev/null and b/core/assets-raw/sprites/effects/clear-effect.png differ diff --git a/core/assets-raw/sprites/effects/drill-laser-boost-center.png b/core/assets-raw/sprites/effects/drill-laser-boost-center.png new file mode 100644 index 0000000000..e8ed8c4a68 Binary files /dev/null and b/core/assets-raw/sprites/effects/drill-laser-boost-center.png differ diff --git a/core/assets-raw/sprites/effects/drill-laser-boost-end.png b/core/assets-raw/sprites/effects/drill-laser-boost-end.png new file mode 100644 index 0000000000..417d6eb411 Binary files /dev/null and b/core/assets-raw/sprites/effects/drill-laser-boost-end.png differ diff --git a/core/assets-raw/sprites/effects/drill-laser-boost.png b/core/assets-raw/sprites/effects/drill-laser-boost.png new file mode 100644 index 0000000000..f2ae1a24f2 Binary files /dev/null and b/core/assets-raw/sprites/effects/drill-laser-boost.png differ diff --git a/core/assets-raw/sprites/effects/drill-laser-center.png b/core/assets-raw/sprites/effects/drill-laser-center.png new file mode 100644 index 0000000000..381b329920 Binary files /dev/null and b/core/assets-raw/sprites/effects/drill-laser-center.png differ diff --git a/core/assets-raw/sprites/effects/drill-laser-end.png b/core/assets-raw/sprites/effects/drill-laser-end.png new file mode 100644 index 0000000000..cb80e5478e Binary files /dev/null and b/core/assets-raw/sprites/effects/drill-laser-end.png differ diff --git a/core/assets-raw/sprites/effects/drill-laser.png b/core/assets-raw/sprites/effects/drill-laser.png new file mode 100644 index 0000000000..026737d529 Binary files /dev/null and b/core/assets-raw/sprites/effects/drill-laser.png differ diff --git a/core/assets-raw/sprites/effects/large-orb-back.png b/core/assets-raw/sprites/effects/large-orb-back.png new file mode 100644 index 0000000000..261446c517 Binary files /dev/null and b/core/assets-raw/sprites/effects/large-orb-back.png differ diff --git a/core/assets-raw/sprites/effects/large-orb.png b/core/assets-raw/sprites/effects/large-orb.png new file mode 100644 index 0000000000..414d8d2ab4 Binary files /dev/null and b/core/assets-raw/sprites/effects/large-orb.png differ diff --git a/core/assets-raw/sprites/effects/laser-top-end.png b/core/assets-raw/sprites/effects/laser-top-end.png new file mode 100644 index 0000000000..5f4b05e6a9 Binary files /dev/null and b/core/assets-raw/sprites/effects/laser-top-end.png differ diff --git a/core/assets-raw/sprites/effects/laser-top.png b/core/assets-raw/sprites/effects/laser-top.png new file mode 100644 index 0000000000..c50f6d69a6 Binary files /dev/null and b/core/assets-raw/sprites/effects/laser-top.png differ diff --git a/core/assets-raw/sprites/effects/laser-white-end.png b/core/assets-raw/sprites/effects/laser-white-end.png new file mode 100644 index 0000000000..1e6aeffcc5 Binary files /dev/null and b/core/assets-raw/sprites/effects/laser-white-end.png differ diff --git a/core/assets-raw/sprites/effects/laser-white.png b/core/assets-raw/sprites/effects/laser-white.png new file mode 100644 index 0000000000..13ac448bbe Binary files /dev/null and b/core/assets-raw/sprites/effects/laser-white.png differ diff --git a/core/assets-raw/sprites/effects/mine-bullet-back.png b/core/assets-raw/sprites/effects/mine-bullet-back.png new file mode 100644 index 0000000000..33738a0c4d Binary files /dev/null and b/core/assets-raw/sprites/effects/mine-bullet-back.png differ diff --git a/core/assets-raw/sprites/effects/mine-bullet.png b/core/assets-raw/sprites/effects/mine-bullet.png new file mode 100644 index 0000000000..9525c22bfc Binary files /dev/null and b/core/assets-raw/sprites/effects/mine-bullet.png differ diff --git a/core/assets-raw/sprites/effects/missile-large-back.png b/core/assets-raw/sprites/effects/missile-large-back.png new file mode 100644 index 0000000000..bc3d3c2ef4 Binary files /dev/null and b/core/assets-raw/sprites/effects/missile-large-back.png differ diff --git a/core/assets-raw/sprites/effects/missile-large.png b/core/assets-raw/sprites/effects/missile-large.png new file mode 100644 index 0000000000..f1353b6b2e Binary files /dev/null and b/core/assets-raw/sprites/effects/missile-large.png differ diff --git a/core/assets-raw/sprites/effects/point-laser-center.png b/core/assets-raw/sprites/effects/point-laser-center.png new file mode 100644 index 0000000000..31aa55c040 Binary files /dev/null and b/core/assets-raw/sprites/effects/point-laser-center.png differ diff --git a/core/assets-raw/sprites/effects/point-laser-end.png b/core/assets-raw/sprites/effects/point-laser-end.png new file mode 100644 index 0000000000..2369095417 Binary files /dev/null and b/core/assets-raw/sprites/effects/point-laser-end.png differ diff --git a/core/assets-raw/sprites/effects/point-laser.png b/core/assets-raw/sprites/effects/point-laser.png new file mode 100644 index 0000000000..1ac2ffc640 Binary files /dev/null and b/core/assets-raw/sprites/effects/point-laser.png differ diff --git a/core/assets-raw/sprites/effects/power-beam-end.png b/core/assets-raw/sprites/effects/power-beam-end.png new file mode 100644 index 0000000000..c112dad634 Binary files /dev/null and b/core/assets-raw/sprites/effects/power-beam-end.png differ diff --git a/core/assets-raw/sprites/effects/power-beam.png b/core/assets-raw/sprites/effects/power-beam.png new file mode 100644 index 0000000000..c797f3fad6 Binary files /dev/null and b/core/assets-raw/sprites/effects/power-beam.png differ diff --git a/core/assets-raw/sprites/effects/select-arrow-small.png b/core/assets-raw/sprites/effects/select-arrow-small.png new file mode 100644 index 0000000000..6d021c0ddb Binary files /dev/null and b/core/assets-raw/sprites/effects/select-arrow-small.png differ diff --git a/core/assets-raw/sprites/effects/select-arrow.png b/core/assets-raw/sprites/effects/select-arrow.png new file mode 100644 index 0000000000..41c2608d8b Binary files /dev/null and b/core/assets-raw/sprites/effects/select-arrow.png differ diff --git a/core/assets-raw/sprites/effects/square-shadow.png b/core/assets-raw/sprites/effects/square-shadow.png new file mode 100644 index 0000000000..035ab4abae Binary files /dev/null and b/core/assets-raw/sprites/effects/square-shadow.png differ diff --git a/core/assets-raw/sprites/effects/white.png b/core/assets-raw/sprites/effects/white.png index ba9bf827c1..e8b825eae0 100644 Binary files a/core/assets-raw/sprites/effects/white.png and b/core/assets-raw/sprites/effects/white.png differ diff --git a/core/assets-raw/sprites/items/item-beryllium.png b/core/assets-raw/sprites/items/item-beryllium.png new file mode 100644 index 0000000000..b16182be76 Binary files /dev/null and b/core/assets-raw/sprites/items/item-beryllium.png differ diff --git a/core/assets-raw/sprites/items/item-carbide.png b/core/assets-raw/sprites/items/item-carbide.png new file mode 100644 index 0000000000..20d65e08bd Binary files /dev/null and b/core/assets-raw/sprites/items/item-carbide.png differ diff --git a/core/assets-raw/sprites/items/item-dormant-cyst.png b/core/assets-raw/sprites/items/item-dormant-cyst.png new file mode 100644 index 0000000000..263f7ea57f Binary files /dev/null and b/core/assets-raw/sprites/items/item-dormant-cyst.png differ diff --git a/core/assets-raw/sprites/items/item-fissile-matter.png b/core/assets-raw/sprites/items/item-fissile-matter.png new file mode 100644 index 0000000000..119c92732d Binary files /dev/null and b/core/assets-raw/sprites/items/item-fissile-matter.png differ diff --git a/core/assets-raw/sprites/items/item-graphite.png b/core/assets-raw/sprites/items/item-graphite.png index 3d802be63f..a6cbb3454a 100644 Binary files a/core/assets-raw/sprites/items/item-graphite.png and b/core/assets-raw/sprites/items/item-graphite.png differ diff --git a/core/assets-raw/sprites/items/item-oxide.png b/core/assets-raw/sprites/items/item-oxide.png new file mode 100644 index 0000000000..fa3dab9a96 Binary files /dev/null and b/core/assets-raw/sprites/items/item-oxide.png differ diff --git a/core/assets-raw/sprites/items/item-plastanium.png b/core/assets-raw/sprites/items/item-plastanium.png index f6ddf438fc..eb5b69d374 100644 Binary files a/core/assets-raw/sprites/items/item-plastanium.png and b/core/assets-raw/sprites/items/item-plastanium.png differ diff --git a/core/assets-raw/sprites/items/item-surge-alloy.png b/core/assets-raw/sprites/items/item-surge-alloy.png index 4cac00c5e4..07d73c762e 100644 Binary files a/core/assets-raw/sprites/items/item-surge-alloy.png and b/core/assets-raw/sprites/items/item-surge-alloy.png differ diff --git a/core/assets-raw/sprites/items/item-titanium.png b/core/assets-raw/sprites/items/item-titanium.png index 69368ab751..8f9214a89c 100644 Binary files a/core/assets-raw/sprites/items/item-titanium.png and b/core/assets-raw/sprites/items/item-titanium.png differ diff --git a/core/assets-raw/sprites/items/item-tungsten.png b/core/assets-raw/sprites/items/item-tungsten.png new file mode 100644 index 0000000000..da25267a56 Binary files /dev/null and b/core/assets-raw/sprites/items/item-tungsten.png differ diff --git a/core/assets-raw/sprites/items/liquid-arkycite.png b/core/assets-raw/sprites/items/liquid-arkycite.png new file mode 100644 index 0000000000..0ecdd7cc73 Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-arkycite.png differ diff --git a/core/assets-raw/sprites/items/liquid-cryofluid.png b/core/assets-raw/sprites/items/liquid-cryofluid.png index b438a5ed37..760127f369 100644 Binary files a/core/assets-raw/sprites/items/liquid-cryofluid.png and b/core/assets-raw/sprites/items/liquid-cryofluid.png differ diff --git a/core/assets-raw/sprites/items/liquid-cyanogen.png b/core/assets-raw/sprites/items/liquid-cyanogen.png new file mode 100644 index 0000000000..29c204c89d Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-cyanogen.png differ diff --git a/core/assets-raw/sprites/items/liquid-gallium.png b/core/assets-raw/sprites/items/liquid-gallium.png new file mode 100644 index 0000000000..7f1d7f8a24 Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-gallium.png differ diff --git a/core/assets-raw/sprites/items/liquid-hydrogen.png b/core/assets-raw/sprites/items/liquid-hydrogen.png new file mode 100644 index 0000000000..cf55930c42 Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-hydrogen.png differ diff --git a/core/assets-raw/sprites/items/liquid-neoplasm.png b/core/assets-raw/sprites/items/liquid-neoplasm.png new file mode 100644 index 0000000000..0f5f15e267 Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-neoplasm.png differ diff --git a/core/assets-raw/sprites/items/liquid-nitrogen.png b/core/assets-raw/sprites/items/liquid-nitrogen.png new file mode 100644 index 0000000000..7f0d913212 Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-nitrogen.png differ diff --git a/core/assets-raw/sprites/items/liquid-oil.png b/core/assets-raw/sprites/items/liquid-oil.png index 51c7a8db47..5af0c2531a 100644 Binary files a/core/assets-raw/sprites/items/liquid-oil.png and b/core/assets-raw/sprites/items/liquid-oil.png differ diff --git a/core/assets-raw/sprites/items/liquid-ozone.png b/core/assets-raw/sprites/items/liquid-ozone.png new file mode 100644 index 0000000000..34607d5802 Binary files /dev/null and b/core/assets-raw/sprites/items/liquid-ozone.png differ diff --git a/core/assets-raw/sprites/items/liquid-slag.png b/core/assets-raw/sprites/items/liquid-slag.png index 2d51d55a8c..1b17f29e50 100644 Binary files a/core/assets-raw/sprites/items/liquid-slag.png and b/core/assets-raw/sprites/items/liquid-slag.png differ diff --git a/core/assets-raw/sprites/items/liquid-water.png b/core/assets-raw/sprites/items/liquid-water.png index 602eee79a9..4fd8b92f74 100644 Binary files a/core/assets-raw/sprites/items/liquid-water.png and b/core/assets-raw/sprites/items/liquid-water.png differ diff --git a/core/assets-raw/sprites/pack.json b/core/assets-raw/sprites/pack.json index fcd452dd9f..1c74544445 100644 --- a/core/assets-raw/sprites/pack.json +++ b/core/assets-raw/sprites/pack.json @@ -4,5 +4,7 @@ flattenPaths: true, maxWidth: 4096, maxHeight: 4096, - fast: true + fast: true, + stripWhitespaceCenter: true, + ignoredWhitespaceStrings: ["effects/"] } diff --git a/core/assets-raw/sprites/rubble/pack.json b/core/assets-raw/sprites/rubble/pack.json index fcd452dd9f..252a508081 100644 --- a/core/assets-raw/sprites/rubble/pack.json +++ b/core/assets-raw/sprites/rubble/pack.json @@ -4,5 +4,6 @@ flattenPaths: true, maxWidth: 4096, maxHeight: 4096, - fast: true + fast: true, + stripWhitespaceCenter: true } diff --git a/core/assets-raw/sprites/shapes/hcircle.png b/core/assets-raw/sprites/shapes/hcircle.png new file mode 100644 index 0000000000..5eb12e968f Binary files /dev/null and b/core/assets-raw/sprites/shapes/hcircle.png differ diff --git a/core/assets-raw/sprites/shapes/ring-item.png b/core/assets-raw/sprites/shapes/ring-item.png new file mode 100644 index 0000000000..e895ebef89 Binary files /dev/null and b/core/assets-raw/sprites/shapes/ring-item.png differ diff --git a/core/assets-raw/sprites/shapes/shape-3.png b/core/assets-raw/sprites/shapes/shape-3.png deleted file mode 100644 index d8dfb1f9cf..0000000000 Binary files a/core/assets-raw/sprites/shapes/shape-3.png and /dev/null differ diff --git a/core/assets-raw/sprites/statuses/status-blasted.png b/core/assets-raw/sprites/statuses/status-blasted.png new file mode 100644 index 0000000000..79f635ffb7 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-blasted.png differ diff --git a/core/assets-raw/sprites/statuses/status-boss.png b/core/assets-raw/sprites/statuses/status-boss.png new file mode 100644 index 0000000000..4497e73f17 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-boss.png differ diff --git a/core/assets-raw/sprites/statuses/status-burning.png b/core/assets-raw/sprites/statuses/status-burning.png new file mode 100644 index 0000000000..7e82dd4482 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-burning.png differ diff --git a/core/assets-raw/sprites/statuses/status-corroded.png b/core/assets-raw/sprites/statuses/status-corroded.png new file mode 100644 index 0000000000..908a522381 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-corroded.png differ diff --git a/core/assets-raw/sprites/statuses/status-disarmed.png b/core/assets-raw/sprites/statuses/status-disarmed.png new file mode 100644 index 0000000000..c1cfb764ba Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-disarmed.png differ diff --git a/core/assets-raw/sprites/statuses/status-electrified.png b/core/assets-raw/sprites/statuses/status-electrified.png new file mode 100644 index 0000000000..2a08b271b8 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-electrified.png differ diff --git a/core/assets-raw/sprites/statuses/status-fast.png b/core/assets-raw/sprites/statuses/status-fast.png new file mode 100644 index 0000000000..0de6eda95b Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-fast.png differ diff --git a/core/assets-raw/sprites/statuses/status-freezing.png b/core/assets-raw/sprites/statuses/status-freezing.png new file mode 100644 index 0000000000..5be529ab12 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-freezing.png differ diff --git a/core/assets-raw/sprites/statuses/status-melting.png b/core/assets-raw/sprites/statuses/status-melting.png new file mode 100644 index 0000000000..e3b4e54b54 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-melting.png differ diff --git a/core/assets-raw/sprites/statuses/status-muddy.png b/core/assets-raw/sprites/statuses/status-muddy.png new file mode 100644 index 0000000000..41946e670d Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-muddy.png differ diff --git a/core/assets-raw/sprites/statuses/status-overclock.png b/core/assets-raw/sprites/statuses/status-overclock.png new file mode 100644 index 0000000000..ede85bb8e9 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-overclock.png differ diff --git a/core/assets-raw/sprites/statuses/status-overdrive.png b/core/assets-raw/sprites/statuses/status-overdrive.png new file mode 100644 index 0000000000..79a4d561c3 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-overdrive.png differ diff --git a/core/assets-raw/sprites/statuses/status-sapped.png b/core/assets-raw/sprites/statuses/status-sapped.png new file mode 100644 index 0000000000..123686d595 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-sapped.png differ diff --git a/core/assets-raw/sprites/statuses/status-shielded.png b/core/assets-raw/sprites/statuses/status-shielded.png new file mode 100644 index 0000000000..b079c1bfef Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-shielded.png differ diff --git a/core/assets-raw/sprites/statuses/status-shocked.png b/core/assets-raw/sprites/statuses/status-shocked.png new file mode 100644 index 0000000000..2a08b271b8 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-shocked.png differ diff --git a/core/assets-raw/sprites/statuses/status-slow.png b/core/assets-raw/sprites/statuses/status-slow.png new file mode 100644 index 0000000000..123686d595 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-slow.png differ diff --git a/core/assets-raw/sprites/statuses/status-spore-slowed.png b/core/assets-raw/sprites/statuses/status-spore-slowed.png new file mode 100644 index 0000000000..939584437d Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-spore-slowed.png differ diff --git a/core/assets-raw/sprites/statuses/status-tarred.png b/core/assets-raw/sprites/statuses/status-tarred.png new file mode 100644 index 0000000000..41946e670d Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-tarred.png differ diff --git a/core/assets-raw/sprites/statuses/status-unmoving.png b/core/assets-raw/sprites/statuses/status-unmoving.png new file mode 100644 index 0000000000..a8c8743382 Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-unmoving.png differ diff --git a/core/assets-raw/sprites/statuses/status-wet.png b/core/assets-raw/sprites/statuses/status-wet.png new file mode 100644 index 0000000000..3a26c4974a Binary files /dev/null and b/core/assets-raw/sprites/statuses/status-wet.png differ diff --git a/core/assets-raw/sprites/teams/team-crux.png b/core/assets-raw/sprites/teams/team-crux.png new file mode 100644 index 0000000000..bd945aba7b Binary files /dev/null and b/core/assets-raw/sprites/teams/team-crux.png differ diff --git a/core/assets-raw/sprites/teams/team-derelict.png b/core/assets-raw/sprites/teams/team-derelict.png new file mode 100644 index 0000000000..7123f12eae Binary files /dev/null and b/core/assets-raw/sprites/teams/team-derelict.png differ diff --git a/core/assets-raw/sprites/teams/team-malis.png b/core/assets-raw/sprites/teams/team-malis.png new file mode 100644 index 0000000000..48c853183b Binary files /dev/null and b/core/assets-raw/sprites/teams/team-malis.png differ diff --git a/core/assets-raw/sprites/teams/team-sharded.png b/core/assets-raw/sprites/teams/team-sharded.png new file mode 100644 index 0000000000..a3643d4bba Binary files /dev/null and b/core/assets-raw/sprites/teams/team-sharded.png differ diff --git a/core/assets-raw/sprites/ui/alpha-bg-line.png b/core/assets-raw/sprites/ui/alpha-bg-line.png new file mode 100644 index 0000000000..02becdcf15 Binary files /dev/null and b/core/assets-raw/sprites/ui/alpha-bg-line.png differ diff --git a/core/assets-raw/sprites/ui/alphaaaa.png b/core/assets-raw/sprites/ui/alphaaaa.png new file mode 100644 index 0000000000..36c7491b11 Binary files /dev/null and b/core/assets-raw/sprites/ui/alphaaaa.png differ diff --git a/core/assets-raw/sprites/ui/button-down.9.png b/core/assets-raw/sprites/ui/button-down.9.png index 2e4808729f..f566ef9534 100644 Binary files a/core/assets-raw/sprites/ui/button-down.9.png and b/core/assets-raw/sprites/ui/button-down.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-down-1.9.png b/core/assets-raw/sprites/ui/button-edge-down-1.9.png new file mode 100644 index 0000000000..14811612f7 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-edge-down-1.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-down-3.9.png b/core/assets-raw/sprites/ui/button-edge-down-3.9.png new file mode 100644 index 0000000000..0bdf193a97 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-edge-down-3.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-over-1.9.png b/core/assets-raw/sprites/ui/button-edge-over-1.9.png new file mode 100644 index 0000000000..11e9d35f69 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-edge-over-1.9.png differ diff --git a/core/assets-raw/sprites/ui/button-edge-over-3.9.png b/core/assets-raw/sprites/ui/button-edge-over-3.9.png new file mode 100644 index 0000000000..5137b12671 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-edge-over-3.9.png differ diff --git a/core/assets-raw/sprites/ui/button-over.9.png b/core/assets-raw/sprites/ui/button-over.9.png index 7e2213087d..c88fe60f90 100644 Binary files a/core/assets-raw/sprites/ui/button-over.9.png and b/core/assets-raw/sprites/ui/button-over.9.png differ diff --git a/core/assets-raw/sprites/ui/button-select-trans.9.png b/core/assets-raw/sprites/ui/button-select-trans.9.png new file mode 100644 index 0000000000..65c60f4aff Binary files /dev/null and b/core/assets-raw/sprites/ui/button-select-trans.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-left-down.9.png b/core/assets-raw/sprites/ui/button-side-left-down.9.png new file mode 100644 index 0000000000..77135c13a7 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-left-down.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-left-over.9.png b/core/assets-raw/sprites/ui/button-side-left-over.9.png new file mode 100644 index 0000000000..344289a29f Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-left-over.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-left.9.png b/core/assets-raw/sprites/ui/button-side-left.9.png new file mode 100644 index 0000000000..7b59f1d3b2 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-left.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-right-down.9.png b/core/assets-raw/sprites/ui/button-side-right-down.9.png new file mode 100644 index 0000000000..aa34b5e53f Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-right-down.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-right-over.9.png b/core/assets-raw/sprites/ui/button-side-right-over.9.png new file mode 100644 index 0000000000..dad0de712e Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-right-over.9.png differ diff --git a/core/assets-raw/sprites/ui/button-side-right.9.png b/core/assets-raw/sprites/ui/button-side-right.9.png new file mode 100644 index 0000000000..32123ba7d9 Binary files /dev/null and b/core/assets-raw/sprites/ui/button-side-right.9.png differ diff --git a/core/assets-raw/sprites/ui/button-square-down.9.png b/core/assets-raw/sprites/ui/button-square-down.9.png deleted file mode 100644 index 4c81be0884..0000000000 Binary files a/core/assets-raw/sprites/ui/button-square-down.9.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/button-square-over.9.png b/core/assets-raw/sprites/ui/button-square-over.9.png deleted file mode 100644 index 9d197296b3..0000000000 Binary files a/core/assets-raw/sprites/ui/button-square-over.9.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/button-square.9.png b/core/assets-raw/sprites/ui/button-square.9.png deleted file mode 100644 index 8c79235588..0000000000 Binary files a/core/assets-raw/sprites/ui/button-square.9.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/cat.png b/core/assets-raw/sprites/ui/cat.png new file mode 100755 index 0000000000..cdc94db9f9 Binary files /dev/null and b/core/assets-raw/sprites/ui/cat.png differ diff --git a/core/assets-raw/sprites/ui/discord-banner.png b/core/assets-raw/sprites/ui/discord-banner.png index 165705e368..49efc82711 100644 Binary files a/core/assets-raw/sprites/ui/discord-banner.png and b/core/assets-raw/sprites/ui/discord-banner.png differ diff --git a/core/assets-raw/sprites/ui/pack.json b/core/assets-raw/sprites/ui/pack.json index fcd452dd9f..775c36ebdd 100644 --- a/core/assets-raw/sprites/ui/pack.json +++ b/core/assets-raw/sprites/ui/pack.json @@ -2,7 +2,8 @@ duplicatePadding: true, combineSubdirectories: true, flattenPaths: true, - maxWidth: 4096, - maxHeight: 4096, - fast: true + maxWidth: 2048, + maxHeight: 2048, + fast: true, + stripWhitespaceCenter: true } diff --git a/core/assets-raw/sprites/ui/pane-left.9.png b/core/assets-raw/sprites/ui/pane-left.9.png new file mode 100644 index 0000000000..8019c41497 Binary files /dev/null and b/core/assets-raw/sprites/ui/pane-left.9.png differ diff --git a/core/assets-raw/sprites/ui/pane-right.9.png b/core/assets-raw/sprites/ui/pane-right.9.png new file mode 100644 index 0000000000..62f65042dd Binary files /dev/null and b/core/assets-raw/sprites/ui/pane-right.9.png differ diff --git a/core/assets-raw/sprites/ui/pane-solid.9.png b/core/assets-raw/sprites/ui/pane-solid.9.png new file mode 100644 index 0000000000..f7a6a53b36 Binary files /dev/null and b/core/assets-raw/sprites/ui/pane-solid.9.png differ diff --git a/core/assets-raw/sprites/ui/pane-top.9.png b/core/assets-raw/sprites/ui/pane-top.9.png new file mode 100644 index 0000000000..9a8931d2e8 Binary files /dev/null and b/core/assets-raw/sprites/ui/pane-top.9.png differ diff --git a/core/assets-raw/sprites/ui/ranai.png b/core/assets-raw/sprites/ui/ranai.png new file mode 100644 index 0000000000..e6fc9b930c Binary files /dev/null and b/core/assets-raw/sprites/ui/ranai.png differ diff --git a/core/assets-raw/sprites/ui/sideline-over.9.png b/core/assets-raw/sprites/ui/sideline-over.9.png new file mode 100644 index 0000000000..fec86b6d35 Binary files /dev/null and b/core/assets-raw/sprites/ui/sideline-over.9.png differ diff --git a/core/assets-raw/sprites/ui/sideline.9.png b/core/assets-raw/sprites/ui/sideline.9.png new file mode 100644 index 0000000000..4a5413a685 Binary files /dev/null and b/core/assets-raw/sprites/ui/sideline.9.png differ diff --git a/core/assets-raw/sprites/ui/slider-back.9.png b/core/assets-raw/sprites/ui/slider-back.9.png new file mode 100644 index 0000000000..013c6cc7bd Binary files /dev/null and b/core/assets-raw/sprites/ui/slider-back.9.png differ diff --git a/core/assets-raw/sprites/ui/slider-knob-down.png b/core/assets-raw/sprites/ui/slider-knob-down.png index 7eac1c0f51..72ff323d0b 100644 Binary files a/core/assets-raw/sprites/ui/slider-knob-down.png and b/core/assets-raw/sprites/ui/slider-knob-down.png differ diff --git a/core/assets-raw/sprites/ui/slider-knob-over.png b/core/assets-raw/sprites/ui/slider-knob-over.png index a4bb61170b..d7ca8fb4ea 100644 Binary files a/core/assets-raw/sprites/ui/slider-knob-over.png and b/core/assets-raw/sprites/ui/slider-knob-over.png differ diff --git a/core/assets-raw/sprites/ui/slider-knob.png b/core/assets-raw/sprites/ui/slider-knob.png index 6e643e0dc6..7c4e35233e 100644 Binary files a/core/assets-raw/sprites/ui/slider-knob.png and b/core/assets-raw/sprites/ui/slider-knob.png differ diff --git a/core/assets-raw/sprites/ui/slider-vertical.png b/core/assets-raw/sprites/ui/slider-vertical.png deleted file mode 100644 index 91d7c16e1f..0000000000 Binary files a/core/assets-raw/sprites/ui/slider-vertical.png and /dev/null differ diff --git a/core/assets-raw/sprites/ui/underline-over.9.png b/core/assets-raw/sprites/ui/underline-over.9.png new file mode 100644 index 0000000000..d138927c1a Binary files /dev/null and b/core/assets-raw/sprites/ui/underline-over.9.png differ diff --git a/core/assets-raw/sprites/units/aegires-cell.png b/core/assets-raw/sprites/units/aegires-cell.png new file mode 100644 index 0000000000..f85cfc8e17 Binary files /dev/null and b/core/assets-raw/sprites/units/aegires-cell.png differ diff --git a/core/assets-raw/sprites/units/aegires.png b/core/assets-raw/sprites/units/aegires.png new file mode 100644 index 0000000000..4514fb2035 Binary files /dev/null and b/core/assets-raw/sprites/units/aegires.png differ diff --git a/core/assets-raw/sprites/units/anthicus-blade-heat.png b/core/assets-raw/sprites/units/anthicus-blade-heat.png new file mode 100644 index 0000000000..1587cc4658 Binary files /dev/null and b/core/assets-raw/sprites/units/anthicus-blade-heat.png differ diff --git a/core/assets-raw/sprites/units/anthicus-blade.png b/core/assets-raw/sprites/units/anthicus-blade.png new file mode 100644 index 0000000000..7dcd5ea482 Binary files /dev/null and b/core/assets-raw/sprites/units/anthicus-blade.png differ diff --git a/core/assets-raw/sprites/units/anthicus-cell.png b/core/assets-raw/sprites/units/anthicus-cell.png new file mode 100644 index 0000000000..e0d1d80716 Binary files /dev/null and b/core/assets-raw/sprites/units/anthicus-cell.png differ diff --git a/core/assets-raw/sprites/units/anthicus-leg-base.png b/core/assets-raw/sprites/units/anthicus-leg-base.png new file mode 100644 index 0000000000..0b92243f30 Binary files /dev/null and b/core/assets-raw/sprites/units/anthicus-leg-base.png differ diff --git a/core/assets-raw/sprites/units/anthicus-leg.png b/core/assets-raw/sprites/units/anthicus-leg.png new file mode 100644 index 0000000000..229f6d6330 Binary files /dev/null and b/core/assets-raw/sprites/units/anthicus-leg.png differ diff --git a/core/assets-raw/sprites/units/anthicus.png b/core/assets-raw/sprites/units/anthicus.png new file mode 100644 index 0000000000..a764180aab Binary files /dev/null and b/core/assets-raw/sprites/units/anthicus.png differ diff --git a/core/assets-raw/sprites/units/antumbra.png b/core/assets-raw/sprites/units/antumbra.png index 10af20cfb9..bbbcb480fe 100644 Binary files a/core/assets-raw/sprites/units/antumbra.png and b/core/assets-raw/sprites/units/antumbra.png differ diff --git a/core/assets-raw/sprites/units/arkyid-leg-base.png b/core/assets-raw/sprites/units/arkyid-leg-base.png index 114665d7a1..bbc5c171d8 100644 Binary files a/core/assets-raw/sprites/units/arkyid-leg-base.png and b/core/assets-raw/sprites/units/arkyid-leg-base.png differ diff --git a/core/assets-raw/sprites/units/assembly-drone-cell.png b/core/assets-raw/sprites/units/assembly-drone-cell.png new file mode 100644 index 0000000000..8312d7a6e7 Binary files /dev/null and b/core/assets-raw/sprites/units/assembly-drone-cell.png differ diff --git a/core/assets-raw/sprites/units/assembly-drone.png b/core/assets-raw/sprites/units/assembly-drone.png new file mode 100644 index 0000000000..fa6c784b16 Binary files /dev/null and b/core/assets-raw/sprites/units/assembly-drone.png differ diff --git a/core/assets-raw/sprites/units/avert-cell.png b/core/assets-raw/sprites/units/avert-cell.png new file mode 100644 index 0000000000..2eecb72f3f Binary files /dev/null and b/core/assets-raw/sprites/units/avert-cell.png differ diff --git a/core/assets-raw/sprites/units/avert.png b/core/assets-raw/sprites/units/avert.png new file mode 100644 index 0000000000..ab1344a971 Binary files /dev/null and b/core/assets-raw/sprites/units/avert.png differ diff --git a/core/assets-raw/sprites/units/bryde.png b/core/assets-raw/sprites/units/bryde.png index 5191b39b4a..97990553b7 100644 Binary files a/core/assets-raw/sprites/units/bryde.png and b/core/assets-raw/sprites/units/bryde.png differ diff --git a/core/assets-raw/sprites/units/cleroi-cell.png b/core/assets-raw/sprites/units/cleroi-cell.png new file mode 100644 index 0000000000..ab1922cf29 Binary files /dev/null and b/core/assets-raw/sprites/units/cleroi-cell.png differ diff --git a/core/assets-raw/sprites/units/cleroi-leg-base.png b/core/assets-raw/sprites/units/cleroi-leg-base.png new file mode 100644 index 0000000000..1ff53aaf78 Binary files /dev/null and b/core/assets-raw/sprites/units/cleroi-leg-base.png differ diff --git a/core/assets-raw/sprites/units/cleroi-leg.png b/core/assets-raw/sprites/units/cleroi-leg.png new file mode 100644 index 0000000000..cab7379bd2 Binary files /dev/null and b/core/assets-raw/sprites/units/cleroi-leg.png differ diff --git a/core/assets-raw/sprites/units/cleroi-spine.png b/core/assets-raw/sprites/units/cleroi-spine.png new file mode 100644 index 0000000000..6a42960bf9 Binary files /dev/null and b/core/assets-raw/sprites/units/cleroi-spine.png differ diff --git a/core/assets-raw/sprites/units/cleroi.png b/core/assets-raw/sprites/units/cleroi.png new file mode 100644 index 0000000000..c48211473d Binary files /dev/null and b/core/assets-raw/sprites/units/cleroi.png differ diff --git a/core/assets-raw/sprites/units/collaris-cell.png b/core/assets-raw/sprites/units/collaris-cell.png new file mode 100644 index 0000000000..2e87344fb5 Binary files /dev/null and b/core/assets-raw/sprites/units/collaris-cell.png differ diff --git a/core/assets-raw/sprites/units/collaris-joint-base.png b/core/assets-raw/sprites/units/collaris-joint-base.png new file mode 100644 index 0000000000..3e6bf26d16 Binary files /dev/null and b/core/assets-raw/sprites/units/collaris-joint-base.png differ diff --git a/core/assets-raw/sprites/units/collaris-leg-base.png b/core/assets-raw/sprites/units/collaris-leg-base.png new file mode 100644 index 0000000000..841e11dab3 Binary files /dev/null and b/core/assets-raw/sprites/units/collaris-leg-base.png differ diff --git a/core/assets-raw/sprites/units/collaris-leg.png b/core/assets-raw/sprites/units/collaris-leg.png new file mode 100644 index 0000000000..ff3330fe9a Binary files /dev/null and b/core/assets-raw/sprites/units/collaris-leg.png differ diff --git a/core/assets-raw/sprites/units/collaris.png b/core/assets-raw/sprites/units/collaris.png new file mode 100644 index 0000000000..bc741fdb39 Binary files /dev/null and b/core/assets-raw/sprites/units/collaris.png differ diff --git a/core/assets-raw/sprites/units/conquer-cell.png b/core/assets-raw/sprites/units/conquer-cell.png new file mode 100644 index 0000000000..07d08e545f Binary files /dev/null and b/core/assets-raw/sprites/units/conquer-cell.png differ diff --git a/core/assets-raw/sprites/units/conquer-glow.png b/core/assets-raw/sprites/units/conquer-glow.png new file mode 100644 index 0000000000..b1374eb85a Binary files /dev/null and b/core/assets-raw/sprites/units/conquer-glow.png differ diff --git a/core/assets-raw/sprites/units/conquer-treads.png b/core/assets-raw/sprites/units/conquer-treads.png new file mode 100644 index 0000000000..3bc6677188 Binary files /dev/null and b/core/assets-raw/sprites/units/conquer-treads.png differ diff --git a/core/assets-raw/sprites/units/conquer.png b/core/assets-raw/sprites/units/conquer.png new file mode 100644 index 0000000000..6d2d669ec1 Binary files /dev/null and b/core/assets-raw/sprites/units/conquer.png differ diff --git a/core/assets-raw/sprites/units/corvus.png b/core/assets-raw/sprites/units/corvus.png index 59c20e2566..87d309348f 100644 Binary files a/core/assets-raw/sprites/units/corvus.png and b/core/assets-raw/sprites/units/corvus.png differ diff --git a/core/assets-raw/sprites/units/cyerce-cell.png b/core/assets-raw/sprites/units/cyerce-cell.png new file mode 100644 index 0000000000..6dba8c9285 Binary files /dev/null and b/core/assets-raw/sprites/units/cyerce-cell.png differ diff --git a/core/assets-raw/sprites/units/cyerce.png b/core/assets-raw/sprites/units/cyerce.png new file mode 100644 index 0000000000..75a4908109 Binary files /dev/null and b/core/assets-raw/sprites/units/cyerce.png differ diff --git a/core/assets-raw/sprites/units/dagger.png b/core/assets-raw/sprites/units/dagger.png index 2fa4b1464d..784c3c49e1 100644 Binary files a/core/assets-raw/sprites/units/dagger.png and b/core/assets-raw/sprites/units/dagger.png differ diff --git a/core/assets-raw/sprites/units/disrupt-cell.png b/core/assets-raw/sprites/units/disrupt-cell.png new file mode 100644 index 0000000000..4c6beb6e2d Binary files /dev/null and b/core/assets-raw/sprites/units/disrupt-cell.png differ diff --git a/core/assets-raw/sprites/units/disrupt.png b/core/assets-raw/sprites/units/disrupt.png new file mode 100644 index 0000000000..660ffb4767 Binary files /dev/null and b/core/assets-raw/sprites/units/disrupt.png differ diff --git a/core/assets-raw/sprites/units/eclipse.aseprite b/core/assets-raw/sprites/units/eclipse.aseprite deleted file mode 100644 index 51eb8f345b..0000000000 Binary files a/core/assets-raw/sprites/units/eclipse.aseprite and /dev/null differ diff --git a/core/assets-raw/sprites/units/eclipse.png b/core/assets-raw/sprites/units/eclipse.png index d53b0da185..5d49e2132e 100644 Binary files a/core/assets-raw/sprites/units/eclipse.png and b/core/assets-raw/sprites/units/eclipse.png differ diff --git a/core/assets-raw/sprites/units/elude-cell.png b/core/assets-raw/sprites/units/elude-cell.png new file mode 100644 index 0000000000..af424fb76a Binary files /dev/null and b/core/assets-raw/sprites/units/elude-cell.png differ diff --git a/core/assets-raw/sprites/units/elude.png b/core/assets-raw/sprites/units/elude.png new file mode 100644 index 0000000000..173a779327 Binary files /dev/null and b/core/assets-raw/sprites/units/elude.png differ diff --git a/core/assets-raw/sprites/units/emanate-cell.png b/core/assets-raw/sprites/units/emanate-cell.png new file mode 100644 index 0000000000..101a01b9ec Binary files /dev/null and b/core/assets-raw/sprites/units/emanate-cell.png differ diff --git a/core/assets-raw/sprites/units/emanate.png b/core/assets-raw/sprites/units/emanate.png new file mode 100644 index 0000000000..a6bfa45261 Binary files /dev/null and b/core/assets-raw/sprites/units/emanate.png differ diff --git a/core/assets-raw/sprites/units/evoke-cell.png b/core/assets-raw/sprites/units/evoke-cell.png new file mode 100644 index 0000000000..fd59b26b4a Binary files /dev/null and b/core/assets-raw/sprites/units/evoke-cell.png differ diff --git a/core/assets-raw/sprites/units/evoke.png b/core/assets-raw/sprites/units/evoke.png new file mode 100644 index 0000000000..11e8f689fa Binary files /dev/null and b/core/assets-raw/sprites/units/evoke.png differ diff --git a/core/assets-raw/sprites/units/flare.png b/core/assets-raw/sprites/units/flare.png index 435c9d24cf..fe81ef23df 100644 Binary files a/core/assets-raw/sprites/units/flare.png and b/core/assets-raw/sprites/units/flare.png differ diff --git a/core/assets-raw/sprites/units/incite-cell.png b/core/assets-raw/sprites/units/incite-cell.png new file mode 100644 index 0000000000..5fecb45a29 Binary files /dev/null and b/core/assets-raw/sprites/units/incite-cell.png differ diff --git a/core/assets-raw/sprites/units/incite.png b/core/assets-raw/sprites/units/incite.png new file mode 100644 index 0000000000..84da4c8278 Binary files /dev/null and b/core/assets-raw/sprites/units/incite.png differ diff --git a/core/assets-raw/sprites/units/locus-cell.png b/core/assets-raw/sprites/units/locus-cell.png new file mode 100644 index 0000000000..673f589670 Binary files /dev/null and b/core/assets-raw/sprites/units/locus-cell.png differ diff --git a/core/assets-raw/sprites/units/locus-treads.png b/core/assets-raw/sprites/units/locus-treads.png new file mode 100644 index 0000000000..e39c164a76 Binary files /dev/null and b/core/assets-raw/sprites/units/locus-treads.png differ diff --git a/core/assets-raw/sprites/units/locus.png b/core/assets-raw/sprites/units/locus.png new file mode 100644 index 0000000000..7d69b23f04 Binary files /dev/null and b/core/assets-raw/sprites/units/locus.png differ diff --git a/core/assets-raw/sprites/units/manifold-cell.png b/core/assets-raw/sprites/units/manifold-cell.png new file mode 100644 index 0000000000..d921e81cb1 Binary files /dev/null and b/core/assets-raw/sprites/units/manifold-cell.png differ diff --git a/core/assets-raw/sprites/units/manifold.png b/core/assets-raw/sprites/units/manifold.png new file mode 100644 index 0000000000..d9276a4c9f Binary files /dev/null and b/core/assets-raw/sprites/units/manifold.png differ diff --git a/core/assets-raw/sprites/units/mega.png b/core/assets-raw/sprites/units/mega.png index 3cbd6cc822..0c3ff432a0 100644 Binary files a/core/assets-raw/sprites/units/mega.png and b/core/assets-raw/sprites/units/mega.png differ diff --git a/core/assets-raw/sprites/units/merui-cell.png b/core/assets-raw/sprites/units/merui-cell.png new file mode 100644 index 0000000000..9548b30a9a Binary files /dev/null and b/core/assets-raw/sprites/units/merui-cell.png differ diff --git a/core/assets-raw/sprites/units/merui-leg-base.png b/core/assets-raw/sprites/units/merui-leg-base.png new file mode 100644 index 0000000000..efcda87291 Binary files /dev/null and b/core/assets-raw/sprites/units/merui-leg-base.png differ diff --git a/core/assets-raw/sprites/units/merui-leg.png b/core/assets-raw/sprites/units/merui-leg.png new file mode 100644 index 0000000000..aad88b1de6 Binary files /dev/null and b/core/assets-raw/sprites/units/merui-leg.png differ diff --git a/core/assets-raw/sprites/units/merui.png b/core/assets-raw/sprites/units/merui.png new file mode 100644 index 0000000000..270c8efc53 Binary files /dev/null and b/core/assets-raw/sprites/units/merui.png differ diff --git a/core/assets-raw/sprites/units/minke.png b/core/assets-raw/sprites/units/minke.png index 32ec1fadfe..597550df3a 100644 Binary files a/core/assets-raw/sprites/units/minke.png and b/core/assets-raw/sprites/units/minke.png differ diff --git a/core/assets-raw/sprites/units/navanax-cell.png b/core/assets-raw/sprites/units/navanax-cell.png new file mode 100644 index 0000000000..79e2b847b7 Binary files /dev/null and b/core/assets-raw/sprites/units/navanax-cell.png differ diff --git a/core/assets-raw/sprites/units/navanax.png b/core/assets-raw/sprites/units/navanax.png new file mode 100644 index 0000000000..17cf6bb068 Binary files /dev/null and b/core/assets-raw/sprites/units/navanax.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/latum-segment0.png b/core/assets-raw/sprites/units/neoplasm/latum-segment0.png new file mode 100644 index 0000000000..694b491924 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/latum-segment0.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/latum-segment1.png b/core/assets-raw/sprites/units/neoplasm/latum-segment1.png new file mode 100644 index 0000000000..9764ace4f0 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/latum-segment1.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/latum-segment2.png b/core/assets-raw/sprites/units/neoplasm/latum-segment2.png new file mode 100644 index 0000000000..cca25fc655 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/latum-segment2.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/latum-segment3.png b/core/assets-raw/sprites/units/neoplasm/latum-segment3.png new file mode 100644 index 0000000000..ffad71d540 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/latum-segment3.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/renale-segment0.png b/core/assets-raw/sprites/units/neoplasm/renale-segment0.png new file mode 100644 index 0000000000..9823064418 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/renale-segment0.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/renale-segment1.png b/core/assets-raw/sprites/units/neoplasm/renale-segment1.png new file mode 100644 index 0000000000..36729c3e93 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/renale-segment1.png differ diff --git a/core/assets-raw/sprites/units/neoplasm/renale-segment2.png b/core/assets-raw/sprites/units/neoplasm/renale-segment2.png new file mode 100644 index 0000000000..067b851519 Binary files /dev/null and b/core/assets-raw/sprites/units/neoplasm/renale-segment2.png differ diff --git a/core/assets-raw/sprites/units/obviate-blade-heat.png b/core/assets-raw/sprites/units/obviate-blade-heat.png new file mode 100644 index 0000000000..b6d8f68a40 Binary files /dev/null and b/core/assets-raw/sprites/units/obviate-blade-heat.png differ diff --git a/core/assets-raw/sprites/units/obviate-blade.png b/core/assets-raw/sprites/units/obviate-blade.png new file mode 100644 index 0000000000..e1528e1bbc Binary files /dev/null and b/core/assets-raw/sprites/units/obviate-blade.png differ diff --git a/core/assets-raw/sprites/units/obviate-cell.png b/core/assets-raw/sprites/units/obviate-cell.png new file mode 100644 index 0000000000..9c807c22dc Binary files /dev/null and b/core/assets-raw/sprites/units/obviate-cell.png differ diff --git a/core/assets-raw/sprites/units/obviate-heat.png b/core/assets-raw/sprites/units/obviate-heat.png new file mode 100644 index 0000000000..410a97bd0d Binary files /dev/null and b/core/assets-raw/sprites/units/obviate-heat.png differ diff --git a/core/assets-raw/sprites/units/obviate-preview.png b/core/assets-raw/sprites/units/obviate-preview.png new file mode 100644 index 0000000000..4a7553fffd Binary files /dev/null and b/core/assets-raw/sprites/units/obviate-preview.png differ diff --git a/core/assets-raw/sprites/units/obviate-side.png b/core/assets-raw/sprites/units/obviate-side.png new file mode 100644 index 0000000000..ebba8b2e87 Binary files /dev/null and b/core/assets-raw/sprites/units/obviate-side.png differ diff --git a/core/assets-raw/sprites/units/obviate.png b/core/assets-raw/sprites/units/obviate.png new file mode 100644 index 0000000000..a952fabb87 Binary files /dev/null and b/core/assets-raw/sprites/units/obviate.png differ diff --git a/core/assets-raw/sprites/units/oct-cell.png b/core/assets-raw/sprites/units/oct-cell.png index 436242ed95..b27f93adb4 100644 Binary files a/core/assets-raw/sprites/units/oct-cell.png and b/core/assets-raw/sprites/units/oct-cell.png differ diff --git a/core/assets-raw/sprites/units/oct.png b/core/assets-raw/sprites/units/oct.png index 067ebb857b..d61cf5c2f5 100644 Binary files a/core/assets-raw/sprites/units/oct.png and b/core/assets-raw/sprites/units/oct.png differ diff --git a/core/assets-raw/sprites/units/omura.png b/core/assets-raw/sprites/units/omura.png index 02befddd78..d29aff7739 100644 Binary files a/core/assets-raw/sprites/units/omura.png and b/core/assets-raw/sprites/units/omura.png differ diff --git a/core/assets-raw/sprites/units/oxynoe-cell.png b/core/assets-raw/sprites/units/oxynoe-cell.png new file mode 100644 index 0000000000..92120a6bd4 Binary files /dev/null and b/core/assets-raw/sprites/units/oxynoe-cell.png differ diff --git a/core/assets-raw/sprites/units/oxynoe.png b/core/assets-raw/sprites/units/oxynoe.png new file mode 100644 index 0000000000..35a4d45cbc Binary files /dev/null and b/core/assets-raw/sprites/units/oxynoe.png differ diff --git a/core/assets-raw/sprites/units/poly.png b/core/assets-raw/sprites/units/poly.png index b6c57ac149..dd3c76e96f 100644 Binary files a/core/assets-raw/sprites/units/poly.png and b/core/assets-raw/sprites/units/poly.png differ diff --git a/core/assets-raw/sprites/units/precept-cell.png b/core/assets-raw/sprites/units/precept-cell.png new file mode 100644 index 0000000000..8f4a9ecdaf Binary files /dev/null and b/core/assets-raw/sprites/units/precept-cell.png differ diff --git a/core/assets-raw/sprites/units/precept-treads.png b/core/assets-raw/sprites/units/precept-treads.png new file mode 100644 index 0000000000..916cd739e5 Binary files /dev/null and b/core/assets-raw/sprites/units/precept-treads.png differ diff --git a/core/assets-raw/sprites/units/precept.png b/core/assets-raw/sprites/units/precept.png new file mode 100644 index 0000000000..58f5f586e7 Binary files /dev/null and b/core/assets-raw/sprites/units/precept.png differ diff --git a/core/assets-raw/sprites/units/pulsar.png b/core/assets-raw/sprites/units/pulsar.png index af014df891..b16864d31c 100644 Binary files a/core/assets-raw/sprites/units/pulsar.png and b/core/assets-raw/sprites/units/pulsar.png differ diff --git a/core/assets-raw/sprites/units/quad.png b/core/assets-raw/sprites/units/quad.png index 95435c1f38..51b20f747d 100644 Binary files a/core/assets-raw/sprites/units/quad.png and b/core/assets-raw/sprites/units/quad.png differ diff --git a/core/assets-raw/sprites/units/quasar.png b/core/assets-raw/sprites/units/quasar.png index d68ed772a3..dfbf982581 100644 Binary files a/core/assets-raw/sprites/units/quasar.png and b/core/assets-raw/sprites/units/quasar.png differ diff --git a/core/assets-raw/sprites/units/quell-cell.png b/core/assets-raw/sprites/units/quell-cell.png new file mode 100644 index 0000000000..9c381e0415 Binary files /dev/null and b/core/assets-raw/sprites/units/quell-cell.png differ diff --git a/core/assets-raw/sprites/units/quell.png b/core/assets-raw/sprites/units/quell.png new file mode 100644 index 0000000000..8f337b129e Binary files /dev/null and b/core/assets-raw/sprites/units/quell.png differ diff --git a/core/assets-raw/sprites/units/reign-cell.png b/core/assets-raw/sprites/units/reign-cell.png index 28aea20f24..c6983917f5 100644 Binary files a/core/assets-raw/sprites/units/reign-cell.png and b/core/assets-raw/sprites/units/reign-cell.png differ diff --git a/core/assets-raw/sprites/units/reign.png b/core/assets-raw/sprites/units/reign.png index 6a3d838582..6e7b81c146 100644 Binary files a/core/assets-raw/sprites/units/reign.png and b/core/assets-raw/sprites/units/reign.png differ diff --git a/core/assets-raw/sprites/units/retusa-cell.png b/core/assets-raw/sprites/units/retusa-cell.png new file mode 100644 index 0000000000..bb044aa5a3 Binary files /dev/null and b/core/assets-raw/sprites/units/retusa-cell.png differ diff --git a/core/assets-raw/sprites/units/retusa.png b/core/assets-raw/sprites/units/retusa.png new file mode 100644 index 0000000000..367e0d5921 Binary files /dev/null and b/core/assets-raw/sprites/units/retusa.png differ diff --git a/core/assets-raw/sprites/units/risso.png b/core/assets-raw/sprites/units/risso.png index 6cee60313b..bcfa3c29ad 100644 Binary files a/core/assets-raw/sprites/units/risso.png and b/core/assets-raw/sprites/units/risso.png differ diff --git a/core/assets-raw/sprites/units/scepter.png b/core/assets-raw/sprites/units/scepter.png index 5d1ae6f59b..1cfaaa2a87 100644 Binary files a/core/assets-raw/sprites/units/scepter.png and b/core/assets-raw/sprites/units/scepter.png differ diff --git a/core/assets-raw/sprites/units/sei.png b/core/assets-raw/sprites/units/sei.png index 724fe9559b..122cd107ab 100644 Binary files a/core/assets-raw/sprites/units/sei.png and b/core/assets-raw/sprites/units/sei.png differ diff --git a/core/assets-raw/sprites/units/spiroct.png b/core/assets-raw/sprites/units/spiroct.png index a69a0b2657..36df70869a 100644 Binary files a/core/assets-raw/sprites/units/spiroct.png and b/core/assets-raw/sprites/units/spiroct.png differ diff --git a/core/assets-raw/sprites/units/stell-cell.png b/core/assets-raw/sprites/units/stell-cell.png new file mode 100644 index 0000000000..c0909f4df5 Binary files /dev/null and b/core/assets-raw/sprites/units/stell-cell.png differ diff --git a/core/assets-raw/sprites/units/stell-treads.png b/core/assets-raw/sprites/units/stell-treads.png new file mode 100644 index 0000000000..703ea03dd0 Binary files /dev/null and b/core/assets-raw/sprites/units/stell-treads.png differ diff --git a/core/assets-raw/sprites/units/stell.png b/core/assets-raw/sprites/units/stell.png new file mode 100644 index 0000000000..e2eb8ec5ac Binary files /dev/null and b/core/assets-raw/sprites/units/stell.png differ diff --git a/core/assets-raw/sprites/units/tecta-cell.png b/core/assets-raw/sprites/units/tecta-cell.png new file mode 100644 index 0000000000..0fea687a7e Binary files /dev/null and b/core/assets-raw/sprites/units/tecta-cell.png differ diff --git a/core/assets-raw/sprites/units/tecta-foot.png b/core/assets-raw/sprites/units/tecta-foot.png new file mode 100644 index 0000000000..f035f791d4 Binary files /dev/null and b/core/assets-raw/sprites/units/tecta-foot.png differ diff --git a/core/assets-raw/sprites/units/tecta-leg-base.png b/core/assets-raw/sprites/units/tecta-leg-base.png new file mode 100644 index 0000000000..6091d58469 Binary files /dev/null and b/core/assets-raw/sprites/units/tecta-leg-base.png differ diff --git a/core/assets-raw/sprites/units/tecta-leg.png b/core/assets-raw/sprites/units/tecta-leg.png new file mode 100644 index 0000000000..fc8fba6a7f Binary files /dev/null and b/core/assets-raw/sprites/units/tecta-leg.png differ diff --git a/core/assets-raw/sprites/units/tecta-shield.png b/core/assets-raw/sprites/units/tecta-shield.png new file mode 100644 index 0000000000..6ef60f4ac9 Binary files /dev/null and b/core/assets-raw/sprites/units/tecta-shield.png differ diff --git a/core/assets-raw/sprites/units/tecta.png b/core/assets-raw/sprites/units/tecta.png new file mode 100644 index 0000000000..828e169320 Binary files /dev/null and b/core/assets-raw/sprites/units/tecta.png differ diff --git a/core/assets-raw/sprites/units/toxopid.png b/core/assets-raw/sprites/units/toxopid.png index a84e453f40..3f4037e94b 100644 Binary files a/core/assets-raw/sprites/units/toxopid.png and b/core/assets-raw/sprites/units/toxopid.png differ diff --git a/core/assets-raw/sprites/units/vanguard.png b/core/assets-raw/sprites/units/vanguard.png deleted file mode 100644 index feacbacc6e..0000000000 Binary files a/core/assets-raw/sprites/units/vanguard.png and /dev/null differ diff --git a/core/assets-raw/sprites/units/vanquish-cell.png b/core/assets-raw/sprites/units/vanquish-cell.png new file mode 100644 index 0000000000..46c91ead15 Binary files /dev/null and b/core/assets-raw/sprites/units/vanquish-cell.png differ diff --git a/core/assets-raw/sprites/units/vanquish-treads.png b/core/assets-raw/sprites/units/vanquish-treads.png new file mode 100644 index 0000000000..e878c59a7d Binary files /dev/null and b/core/assets-raw/sprites/units/vanquish-treads.png differ diff --git a/core/assets-raw/sprites/units/vanquish.png b/core/assets-raw/sprites/units/vanquish.png new file mode 100644 index 0000000000..c867e2f81d Binary files /dev/null and b/core/assets-raw/sprites/units/vanquish.png differ diff --git a/core/assets-raw/sprites/units/vela.png b/core/assets-raw/sprites/units/vela.png index db1fdbb9c7..b1c734abd4 100644 Binary files a/core/assets-raw/sprites/units/vela.png and b/core/assets-raw/sprites/units/vela.png differ diff --git a/core/assets-raw/sprites/units/weapons/anthicus-missile-cell.png b/core/assets-raw/sprites/units/weapons/anthicus-missile-cell.png new file mode 100644 index 0000000000..4299db9770 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/anthicus-missile-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/anthicus-missile.png b/core/assets-raw/sprites/units/weapons/anthicus-missile.png new file mode 100644 index 0000000000..5bb8d3b91e Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/anthicus-missile.png differ diff --git a/core/assets-raw/sprites/units/weapons/anthicus-weapon-blade-heat.png b/core/assets-raw/sprites/units/weapons/anthicus-weapon-blade-heat.png new file mode 100644 index 0000000000..851b98682a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/anthicus-weapon-blade-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/anthicus-weapon-blade.png b/core/assets-raw/sprites/units/weapons/anthicus-weapon-blade.png new file mode 100644 index 0000000000..047772b92a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/anthicus-weapon-blade.png differ diff --git a/core/assets-raw/sprites/units/weapons/anthicus-weapon-heat.png b/core/assets-raw/sprites/units/weapons/anthicus-weapon-heat.png new file mode 100644 index 0000000000..8bdd66749b Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/anthicus-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/anthicus-weapon.png b/core/assets-raw/sprites/units/weapons/anthicus-weapon.png new file mode 100644 index 0000000000..cf327299c6 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/anthicus-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/atrax-weapon.png b/core/assets-raw/sprites/units/weapons/atrax-weapon.png new file mode 100644 index 0000000000..e0a6b3f1ff Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/atrax-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/avert-weapon.png b/core/assets-raw/sprites/units/weapons/avert-weapon.png new file mode 100644 index 0000000000..75d41b24ee Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/avert-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/build-weapon.png b/core/assets-raw/sprites/units/weapons/build-weapon.png new file mode 100644 index 0000000000..30591fa51f Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/build-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/cleroi-point-defense.png b/core/assets-raw/sprites/units/weapons/cleroi-point-defense.png new file mode 100644 index 0000000000..96a02463d4 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/cleroi-point-defense.png differ diff --git a/core/assets-raw/sprites/units/weapons/cleroi-weapon-heat.png b/core/assets-raw/sprites/units/weapons/cleroi-weapon-heat.png new file mode 100644 index 0000000000..b33112bbe6 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/cleroi-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/cleroi-weapon.png b/core/assets-raw/sprites/units/weapons/cleroi-weapon.png new file mode 100644 index 0000000000..7133cb1d87 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/cleroi-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/collaris-weapon-blade-heat.png b/core/assets-raw/sprites/units/weapons/collaris-weapon-blade-heat.png new file mode 100644 index 0000000000..6e0ef1fcb2 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/collaris-weapon-blade-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/collaris-weapon-blade.png b/core/assets-raw/sprites/units/weapons/collaris-weapon-blade.png new file mode 100644 index 0000000000..8b7303d2a5 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/collaris-weapon-blade.png differ diff --git a/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png b/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png new file mode 100644 index 0000000000..20e4e5165a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/collaris-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/collaris-weapon.png b/core/assets-raw/sprites/units/weapons/collaris-weapon.png new file mode 100644 index 0000000000..56d66f2431 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/collaris-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-blade-heat.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-blade-heat.png new file mode 100644 index 0000000000..d3847c82db Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-blade-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-blade.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-blade.png new file mode 100644 index 0000000000..4d4181e035 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-blade.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-glow.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-glow.png new file mode 100644 index 0000000000..0d00463db2 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-glow.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-heat.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-heat.png new file mode 100644 index 0000000000..ee963032bc Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-sides.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-sides.png new file mode 100644 index 0000000000..81a6757cd9 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-sides.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-sinks-heat.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-sinks-heat.png new file mode 100644 index 0000000000..4eeeb3a158 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-sinks-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon-sinks.png b/core/assets-raw/sprites/units/weapons/conquer-weapon-sinks.png new file mode 100644 index 0000000000..a41a37c05a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon-sinks.png differ diff --git a/core/assets-raw/sprites/units/weapons/conquer-weapon.png b/core/assets-raw/sprites/units/weapons/conquer-weapon.png new file mode 100644 index 0000000000..79cc1bdcec Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/conquer-weapon.png differ diff --git a/core/assets-raw/sprites/units/corvus-weapon-heat.png b/core/assets-raw/sprites/units/weapons/corvus-weapon-heat.png similarity index 100% rename from core/assets-raw/sprites/units/corvus-weapon-heat.png rename to core/assets-raw/sprites/units/weapons/corvus-weapon-heat.png diff --git a/core/assets-raw/sprites/units/weapons/disrupt-missile-fin.png b/core/assets-raw/sprites/units/weapons/disrupt-missile-fin.png new file mode 100644 index 0000000000..9b5173fb28 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/disrupt-missile-fin.png differ diff --git a/core/assets-raw/sprites/units/weapons/disrupt-missile.png b/core/assets-raw/sprites/units/weapons/disrupt-missile.png new file mode 100644 index 0000000000..d2a9ff6e3a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/disrupt-missile.png differ diff --git a/core/assets-raw/sprites/units/weapons/disrupt-weapon-blade.png b/core/assets-raw/sprites/units/weapons/disrupt-weapon-blade.png new file mode 100644 index 0000000000..3cc4e4aaae Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/disrupt-weapon-blade.png differ diff --git a/core/assets-raw/sprites/units/weapons/disrupt-weapon-preview.png b/core/assets-raw/sprites/units/weapons/disrupt-weapon-preview.png new file mode 100644 index 0000000000..39bd8016e1 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/disrupt-weapon-preview.png differ diff --git a/core/assets-raw/sprites/units/weapons/disrupt-weapon.png b/core/assets-raw/sprites/units/weapons/disrupt-weapon.png new file mode 100644 index 0000000000..8dabc8df95 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/disrupt-weapon.png differ diff --git a/core/assets-raw/sprites/units/vanguard-cell.png b/core/assets-raw/sprites/units/weapons/elude-weapon.png similarity index 52% rename from core/assets-raw/sprites/units/vanguard-cell.png rename to core/assets-raw/sprites/units/weapons/elude-weapon.png index 4366b2167b..b3c65bcfed 100644 Binary files a/core/assets-raw/sprites/units/vanguard-cell.png and b/core/assets-raw/sprites/units/weapons/elude-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/emp-cannon-mount-heat.png b/core/assets-raw/sprites/units/weapons/emp-cannon-mount-heat.png new file mode 100644 index 0000000000..b23f9257be Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/emp-cannon-mount-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/emp-cannon-mount.png b/core/assets-raw/sprites/units/weapons/emp-cannon-mount.png new file mode 100644 index 0000000000..1fcaf470b1 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/emp-cannon-mount.png differ diff --git a/core/assets-raw/sprites/units/weapons/eruption.png b/core/assets-raw/sprites/units/weapons/eruption.png deleted file mode 100644 index 172e9835e6..0000000000 Binary files a/core/assets-raw/sprites/units/weapons/eruption.png and /dev/null differ diff --git a/core/assets-raw/sprites/units/weapons/flakgun.png b/core/assets-raw/sprites/units/weapons/flakgun.png deleted file mode 100644 index 12ee89862f..0000000000 Binary files a/core/assets-raw/sprites/units/weapons/flakgun.png and /dev/null differ diff --git a/core/assets-raw/sprites/units/weapons/incite-weapon.png b/core/assets-raw/sprites/units/weapons/incite-weapon.png new file mode 100644 index 0000000000..26d09e9784 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/incite-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/locus-weapon-cell.png b/core/assets-raw/sprites/units/weapons/locus-weapon-cell.png new file mode 100644 index 0000000000..3ba48d74e2 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/locus-weapon-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/locus-weapon.png b/core/assets-raw/sprites/units/weapons/locus-weapon.png new file mode 100644 index 0000000000..bb426746dd Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/locus-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/merui-weapon-heat.png b/core/assets-raw/sprites/units/weapons/merui-weapon-heat.png new file mode 100644 index 0000000000..764158d51b Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/merui-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/merui-weapon.png b/core/assets-raw/sprites/units/weapons/merui-weapon.png new file mode 100644 index 0000000000..84eee1be40 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/merui-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/missiles.png b/core/assets-raw/sprites/units/weapons/missiles.png deleted file mode 100644 index 38c0548ca6..0000000000 Binary files a/core/assets-raw/sprites/units/weapons/missiles.png and /dev/null differ diff --git a/core/assets-raw/sprites/units/weapons/plasma-laser-mount-heat.png b/core/assets-raw/sprites/units/weapons/plasma-laser-mount-heat.png new file mode 100644 index 0000000000..63e3eafc53 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/plasma-laser-mount-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/plasma-laser-mount.png b/core/assets-raw/sprites/units/weapons/plasma-laser-mount.png new file mode 100644 index 0000000000..8a7ac5a27b Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/plasma-laser-mount.png differ diff --git a/core/assets-raw/sprites/units/weapons/plasma-missile-mount.png b/core/assets-raw/sprites/units/weapons/plasma-missile-mount.png new file mode 100644 index 0000000000..f8c5476bdc Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/plasma-missile-mount.png differ diff --git a/core/assets-raw/sprites/units/weapons/plasma-mount-weapon.png b/core/assets-raw/sprites/units/weapons/plasma-mount-weapon.png new file mode 100644 index 0000000000..57dad881de Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/plasma-mount-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/point-defense-mount.png b/core/assets-raw/sprites/units/weapons/point-defense-mount.png new file mode 100644 index 0000000000..b14acbc73b Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/point-defense-mount.png differ diff --git a/core/assets-raw/sprites/units/weapons/poly-weapon.png b/core/assets-raw/sprites/units/weapons/poly-weapon.png new file mode 100644 index 0000000000..2ff4d59c4a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/poly-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/precept-weapon-cell.png b/core/assets-raw/sprites/units/weapons/precept-weapon-cell.png new file mode 100644 index 0000000000..e3cad4156d Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/precept-weapon-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/precept-weapon-heat.png b/core/assets-raw/sprites/units/weapons/precept-weapon-heat.png new file mode 100644 index 0000000000..07c80972db Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/precept-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/precept-weapon.png b/core/assets-raw/sprites/units/weapons/precept-weapon.png new file mode 100644 index 0000000000..a90cf9ad73 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/precept-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/quell-missile.png b/core/assets-raw/sprites/units/weapons/quell-missile.png new file mode 100644 index 0000000000..6aadf02c8a Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/quell-missile.png differ diff --git a/core/assets-raw/sprites/units/weapons/quell-weapon.png b/core/assets-raw/sprites/units/weapons/quell-weapon.png new file mode 100644 index 0000000000..44f39f794f Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/quell-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/repair-beam-weapon-center-large.png b/core/assets-raw/sprites/units/weapons/repair-beam-weapon-center-large.png new file mode 100644 index 0000000000..2053dbbe2c Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/repair-beam-weapon-center-large.png differ diff --git a/core/assets-raw/sprites/units/weapons/repair-beam-weapon-center.png b/core/assets-raw/sprites/units/weapons/repair-beam-weapon-center.png new file mode 100644 index 0000000000..4f38701c30 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/repair-beam-weapon-center.png differ diff --git a/core/assets-raw/sprites/units/weapons/repair-beam-weapon.png b/core/assets-raw/sprites/units/weapons/repair-beam-weapon.png new file mode 100644 index 0000000000..373cf433ba Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/repair-beam-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/retusa-weapon.png b/core/assets-raw/sprites/units/weapons/retusa-weapon.png new file mode 100644 index 0000000000..183907169c Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/retusa-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-cell.png b/core/assets-raw/sprites/units/weapons/scathe-missile-cell.png new file mode 100644 index 0000000000..7854083dfd Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-phase-cell.png b/core/assets-raw/sprites/units/weapons/scathe-missile-phase-cell.png new file mode 100644 index 0000000000..7f4d7e4c93 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-phase-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-phase.png b/core/assets-raw/sprites/units/weapons/scathe-missile-phase.png new file mode 100644 index 0000000000..0065be21ab Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-phase.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-surge-cell.png b/core/assets-raw/sprites/units/weapons/scathe-missile-surge-cell.png new file mode 100644 index 0000000000..7854083dfd Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-surge-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-surge-split-cell.png b/core/assets-raw/sprites/units/weapons/scathe-missile-surge-split-cell.png new file mode 100644 index 0000000000..7854083dfd Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-surge-split-cell.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-surge-split.png b/core/assets-raw/sprites/units/weapons/scathe-missile-surge-split.png new file mode 100644 index 0000000000..22d7b4a9a6 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-surge-split.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile-surge.png b/core/assets-raw/sprites/units/weapons/scathe-missile-surge.png new file mode 100644 index 0000000000..fd05b27d08 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile-surge.png differ diff --git a/core/assets-raw/sprites/units/weapons/scathe-missile.png b/core/assets-raw/sprites/units/weapons/scathe-missile.png new file mode 100644 index 0000000000..e2a25eaeda Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/scathe-missile.png differ diff --git a/core/assets-raw/sprites/units/weapons/stell-weapon.png b/core/assets-raw/sprites/units/weapons/stell-weapon.png new file mode 100644 index 0000000000..6cf23e2105 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/stell-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/tecta-weapon-heat.png b/core/assets-raw/sprites/units/weapons/tecta-weapon-heat.png new file mode 100644 index 0000000000..11826e1305 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/tecta-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/tecta-weapon.png b/core/assets-raw/sprites/units/weapons/tecta-weapon.png new file mode 100644 index 0000000000..85ab504421 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/tecta-weapon.png differ diff --git a/core/assets-raw/sprites/units/toxopid-cannon.png b/core/assets-raw/sprites/units/weapons/toxopid-cannon.png similarity index 100% rename from core/assets-raw/sprites/units/toxopid-cannon.png rename to core/assets-raw/sprites/units/weapons/toxopid-cannon.png diff --git a/core/assets-raw/sprites/units/weapons/vanquish-point-weapon.png b/core/assets-raw/sprites/units/weapons/vanquish-point-weapon.png new file mode 100644 index 0000000000..f3b3434c71 Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/vanquish-point-weapon.png differ diff --git a/core/assets-raw/sprites/units/weapons/vanquish-weapon-heat.png b/core/assets-raw/sprites/units/weapons/vanquish-weapon-heat.png new file mode 100644 index 0000000000..7dc109fcec Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/vanquish-weapon-heat.png differ diff --git a/core/assets-raw/sprites/units/weapons/vanquish-weapon.png b/core/assets-raw/sprites/units/weapons/vanquish-weapon.png new file mode 100644 index 0000000000..d58bf6e54f Binary files /dev/null and b/core/assets-raw/sprites/units/weapons/vanquish-weapon.png differ diff --git a/core/assets-raw/sprites/units/vela-weapon-heat.png b/core/assets-raw/sprites/units/weapons/vela-weapon-heat.png similarity index 100% rename from core/assets-raw/sprites/units/vela-weapon-heat.png rename to core/assets-raw/sprites/units/weapons/vela-weapon-heat.png diff --git a/core/assets-raw/sprites/units/zenith.png b/core/assets-raw/sprites/units/zenith.png index 469d949c41..a41ac04898 100644 Binary files a/core/assets-raw/sprites/units/zenith.png and b/core/assets-raw/sprites/units/zenith.png differ diff --git a/core/assets/baseparts/000.msch b/core/assets/baseparts/000.msch deleted file mode 100644 index 35d2df8e14..0000000000 Binary files a/core/assets/baseparts/000.msch and /dev/null differ diff --git a/core/assets/baseparts/1591381320600.msch b/core/assets/baseparts/1591381320600.msch index 9ec53eaf98..cec83fb258 100644 --- a/core/assets/baseparts/1591381320600.msch +++ b/core/assets/baseparts/1591381320600.msch @@ -1,2 +1,3 @@ -mschxœE -ƒ0 „¯¦þÀ`{Ž>T¦A µ–*Œ½ûÀõg°@øÂå.Æ  =o‚n)Õãv쎣 ìÅA¯lºMü,ý“ÏSâã&ÓÊÞNìÌ­s¸/‘ÃjO1!Êq` ûK¢ñû,&[ÀÿR Œ¤(O€®»6 EÖ * ?»Ê».¡šëº>hRSÉ–-êTQBTP5PýAÙù–Ø(¢ \ No newline at end of file +mschxœEÁ +ƒ0DÇ$FA(úù¢Òê‹ +1Jb)ý÷R›J÷ò–™a–…B- - =žm©c n÷MX-y³‘c 5Ñl¡v{Tí;ûÚ…û‰ÜÜ“5ƒŸ­Åeô´MóÎfóÚm}²7nØÄº‘ÑDs1a}øž\ñŸ"CäMžTË$œQ$¡H‘”žŽÐñ!q¼ãøDGüÊJ䲌"ã¼!ó ™oÈ”¬"ª2µ1‘0[ \ No newline at end of file diff --git a/core/assets/baseparts/1591389341902.msch b/core/assets/baseparts/1591389341902.msch deleted file mode 100644 index de7b07b8bf..0000000000 Binary files a/core/assets/baseparts/1591389341902.msch and /dev/null differ diff --git a/core/assets/baseparts/1591389353247.msch b/core/assets/baseparts/1591389353247.msch deleted file mode 100644 index 35d2df8e14..0000000000 Binary files a/core/assets/baseparts/1591389353247.msch and /dev/null differ diff --git a/core/assets/baseparts/1591389457130.msch b/core/assets/baseparts/1591389457130.msch deleted file mode 100644 index cba53a4737..0000000000 --- a/core/assets/baseparts/1591389457130.msch +++ /dev/null @@ -1 +0,0 @@ -mschxœ%ŠQƒ0 C]RÐÄ>v>9Ê"µˆ¶S(HÜ~)X±_dƒƒÏKŒa•YëD­Ý¹(¼¸äS®¢øü²i©‘§¯ÆmÃ;VIÓ^e0â–s-@ ÝuV™É½­Úƒx›z¸?Œk¤ \ No newline at end of file diff --git a/core/assets/baseparts/1603214918168.msch b/core/assets/baseparts/1603214918168.msch deleted file mode 100644 index 6d69a2c362..0000000000 --- a/core/assets/baseparts/1603214918168.msch +++ /dev/null @@ -1,2 +0,0 @@ -mschxœ5Ë -! E¯Ïy-J·ý‡ù(q¤£Gú÷„ââä&'›„Î.Å}SÆm‹tWØÏKæuÅXGÅq¤ àY¬z\P?E½:ÅYŽ ªÍΤÅÔ¢h)(¦%UDK½”½(¶.©%Ð#èV0F¨­N#Ô \ No newline at end of file diff --git a/core/assets/baseparts/1603219428262.msch b/core/assets/baseparts/1603219428262.msch deleted file mode 100644 index 6d5b519036..0000000000 Binary files a/core/assets/baseparts/1603219428262.msch and /dev/null differ diff --git a/core/assets/baseparts/752919619894902997.msch b/core/assets/baseparts/752919619894902997.msch deleted file mode 100644 index c8c143ca23..0000000000 Binary files a/core/assets/baseparts/752919619894902997.msch and /dev/null differ diff --git a/core/assets/baseparts/752926963076694047.msch b/core/assets/baseparts/752926963076694047.msch deleted file mode 100644 index 6e26296729..0000000000 Binary files a/core/assets/baseparts/752926963076694047.msch and /dev/null differ diff --git a/core/assets/baseparts/752961607314702336.msch b/core/assets/baseparts/752961607314702336.msch deleted file mode 100644 index f7ea7664db..0000000000 Binary files a/core/assets/baseparts/752961607314702336.msch and /dev/null differ diff --git a/core/assets/baseparts/752980871690059906.msch b/core/assets/baseparts/752980871690059906.msch deleted file mode 100644 index 360d04733b..0000000000 Binary files a/core/assets/baseparts/752980871690059906.msch and /dev/null differ diff --git a/core/assets/baseparts/752982341865046126.msch b/core/assets/baseparts/752982341865046126.msch deleted file mode 100644 index 360d04733b..0000000000 Binary files a/core/assets/baseparts/752982341865046126.msch and /dev/null differ diff --git a/core/assets/baseparts/753043453876895784.msch b/core/assets/baseparts/753043453876895784.msch deleted file mode 100644 index 013e2b4e23..0000000000 Binary files a/core/assets/baseparts/753043453876895784.msch and /dev/null differ diff --git a/core/assets/baseparts/772860344174772254.msch b/core/assets/baseparts/772860344174772254.msch deleted file mode 100644 index 781cd94d46..0000000000 Binary files a/core/assets/baseparts/772860344174772254.msch and /dev/null differ diff --git a/core/assets/baseparts/772861253630165084.msch b/core/assets/baseparts/772861253630165084.msch deleted file mode 100644 index e73ded4e03..0000000000 --- a/core/assets/baseparts/772861253630165084.msch +++ /dev/null @@ -1,3 +0,0 @@ -mschxœ%Žknà „ÇØIü¨äV9×È ú;¢xS!a@€“úîMÝ%F¬¾Ñ>fzÆ©™p¾~:“¯¥}ŽëõbU$ %MÈÆ;à ãCeŠ’~rT:ûˆ^/6›»*ú#y’A9²’Õ7ϧà#É)%ŒÚ++5¹Ímáꘌ5Ú;™f²ì‹18Zf•–S4Öb0™f™ü5áô¥2w­èƒðÎO„÷ VëÕ$ÙçN+Ÿ1(åíuÞ -àŒýU¢ü -‡mIŠR«uâ80ŽGF‹úÄ©2ш–U…º€›;FÝÖÛßöÜ~·'§ÇbØ3xb`´ÕË_ Û ݾ¼+Ëÿ©•UÊ \ No newline at end of file diff --git a/core/assets/baseparts/a single large power node.msch b/core/assets/baseparts/a single large power node.msch new file mode 100644 index 0000000000..aed75d366c --- /dev/null +++ b/core/assets/baseparts/a single large power node.msch @@ -0,0 +1,2 @@ +mschxœËA +€ Fá_‹Ú´m7ðDÑÂraRÑ ë—¾õ÷ ¡ŒÑÞŒÍR Ñ “Øâ™rz¹PLޱ8®W ù )˜Äž,z?ÖîLs¦?PhÍÀp; \ No newline at end of file diff --git a/core/assets/baseparts/a single surge tower.msch b/core/assets/baseparts/a single surge tower.msch new file mode 100644 index 0000000000..9a59795fc4 --- /dev/null +++ b/core/assets/baseparts/a single surge tower.msch @@ -0,0 +1,2 @@ +mschxœ%ÊA +€ @Á§Em;€èDÑÂê#‚i¨Ñõ£šõ Ñ m´‡0ZS|tAL¹²SÓ-™a—²eVŸ"лJ(èyQ _œþŠWù Ö \ No newline at end of file diff --git a/core/assets/baseparts/actuallyokrtg.msch b/core/assets/baseparts/actuallyokrtg.msch new file mode 100644 index 0000000000..904f16fda5 --- /dev/null +++ b/core/assets/baseparts/actuallyokrtg.msch @@ -0,0 +1,4 @@ +mschxœManÂ0 …MK[HÚ"Ä9rŠcÚ <Ô-4(MaÜ~ÏñŸ)RŸíú{vB':Ô´ýiðç¼ú^ñ'å+Ù /ç4Ýóg"jƒÿä°PõþaÉ~¿dwIStxúÌÉñoNpˆ‰ŽK >¹»Ÿ98DW&û¯DÇYZ {ëºñP¥Ö´jMSÝÈz°î޶½ÕÒUGi”®µŠâÆZGëΜ”TSõà(E"ã +éÊÝh{®Z9(µó)b4ÚJ\R¼—¦ô ˜Jëk×5­ªþ×g$ºJ}œ—AÅÑžq`lƒz·£©½µôòrÖ×rà`sPõ^š®–ºj\;¥}‚†®,ãü¤ª£³·Ê—.û¦ª ²Ô†FW+tî >š‘ÿE!J¤DsÂ_F–>œGWÌ™15¤‡ `Ÿ#qÎÿ * +@LCBQH=« ®C%`N~òKœ5ÈZb ò +‰xzÀQÂ7Óýô)ÌÙ4M›izøAkls¢  ðOpzɶbÖ»õRé «!ºB%áYO!x†¥DÏÙ¸oÁ‘OH9¸Ê(Y¶&D0!‚ ñ¿‰¶™H¦?ÐVL÷8ÝN¿Ù…§zåÅÄÅA‚ﱩܺ(ø¦æ¡©yhj~iêœ5<¬¸ ŒûÁÒYà,€ŸtÆWøñaºÁuÉþÿÁâŸÂ \ No newline at end of file diff --git a/core/assets/baseparts/daggersBunkerThree.msch b/core/assets/baseparts/daggersBunkerThree.msch new file mode 100644 index 0000000000..c430d2d430 Binary files /dev/null and b/core/assets/baseparts/daggersBunkerThree.msch differ diff --git a/core/assets/baseparts/daggersBunkerTwo.msch b/core/assets/baseparts/daggersBunkerTwo.msch new file mode 100644 index 0000000000..c377b09aa1 Binary files /dev/null and b/core/assets/baseparts/daggersBunkerTwo.msch differ diff --git a/core/assets/baseparts/diffGen.msch b/core/assets/baseparts/diffGen.msch new file mode 100644 index 0000000000..526ac5a8a3 Binary files /dev/null and b/core/assets/baseparts/diffGen.msch differ diff --git a/core/assets/baseparts/flar.msch b/core/assets/baseparts/flar.msch new file mode 100644 index 0000000000..9ff1e0057f --- /dev/null +++ b/core/assets/baseparts/flar.msch @@ -0,0 +1 @@ +mschxœMŽÍNÃ0„'‰›æ¯^»Ÿq0‰‹,9vd»”¼{ ¬»*KÞogV‹'´„S³†¸XÐO:ŽÁ,Éx ¶êCÛˆòí}@oUÔANÁX‹—d’ræ:ËÑ»/½ú€“7VêïÔ˜Hžo*‘ýDc ¹eœµ¥ΣWVŽÚ¥`.×OÞ$=Ëè¯a$¡L—{tE·ø-s~¢Aôtª\”ÓtǃÔÑ–çE­Ö«éÿ2à(ò+¨¯¸%¡ +úî¼B ¨†d©©o4,Yæ<ÐdS#ößýg߀}£nCU¶ÄБ³Zúhc."«#«cV=é"Æaù–s-Ös«Žsçz†=çÎ ÎX²ú18[Ó \ No newline at end of file diff --git a/core/assets/baseparts/flareBaseOne.msch b/core/assets/baseparts/flareBaseOne.msch new file mode 100644 index 0000000000..42d7616993 Binary files /dev/null and b/core/assets/baseparts/flareBaseOne.msch differ diff --git a/core/assets/baseparts/fortress.msch b/core/assets/baseparts/fortress.msch new file mode 100644 index 0000000000..59cf5648e2 Binary files /dev/null and b/core/assets/baseparts/fortress.msch differ diff --git a/core/assets/baseparts/glassCannons.msch b/core/assets/baseparts/glassCannons.msch new file mode 100644 index 0000000000..fb402271bc Binary files /dev/null and b/core/assets/baseparts/glassCannons.msch differ diff --git a/core/assets/baseparts/horizonBaseOne.msch b/core/assets/baseparts/horizonBaseOne.msch new file mode 100644 index 0000000000..1963ba1d83 Binary files /dev/null and b/core/assets/baseparts/horizonBaseOne.msch differ diff --git a/core/assets/baseparts/impact.msch b/core/assets/baseparts/impact.msch new file mode 100644 index 0000000000..bb82ff444a Binary files /dev/null and b/core/assets/baseparts/impact.msch differ diff --git a/core/assets/baseparts/impactMultiOutput.msch b/core/assets/baseparts/impactMultiOutput.msch new file mode 100644 index 0000000000..7081a81237 Binary files /dev/null and b/core/assets/baseparts/impactMultiOutput.msch differ diff --git a/core/assets/baseparts/impactSmall.msch b/core/assets/baseparts/impactSmall.msch new file mode 100644 index 0000000000..3c5581102a Binary files /dev/null and b/core/assets/baseparts/impactSmall.msch differ diff --git a/core/assets/baseparts/impending-doom.msch b/core/assets/baseparts/impending-doom.msch new file mode 100644 index 0000000000..ca2462b1ae Binary files /dev/null and b/core/assets/baseparts/impending-doom.msch differ diff --git a/core/assets/baseparts/pyraTurretsOne.msch b/core/assets/baseparts/pyraTurretsOne.msch new file mode 100644 index 0000000000..47f97ce687 Binary files /dev/null and b/core/assets/baseparts/pyraTurretsOne.msch differ diff --git a/core/assets/baseparts/rtgbrick1.msch b/core/assets/baseparts/rtgbrick1.msch new file mode 100644 index 0000000000..f894bcdd1b --- /dev/null +++ b/core/assets/baseparts/rtgbrick1.msch @@ -0,0 +1,2 @@ +mschxœŒKà CͯE= +‹ž§Ê‚B% D½~ya?Ù2œ­á Q%£ñ|Ô”’lÐʈYܵ”Í4 õÀ€$˜ \ No newline at end of file diff --git a/core/assets/baseparts/rtgbrick2.msch b/core/assets/baseparts/rtgbrick2.msch new file mode 100644 index 0000000000..f6898651e9 --- /dev/null +++ b/core/assets/baseparts/rtgbrick2.msch @@ -0,0 +1,5 @@ +mschxœ ŒK +Ã0CåOÒ–ÐEâM¯ºpœÁ˜Nì0vèõ; ñ$!„ ³ƒ¯ñ ­ `ù®™TŸªõŒTôº»j=Ëë>rÅw“A`€Öè%²IÏQ V*Ž6ÐË€—Ïf¥'Æ0Ð6LZ^Âs0™3ée®™y1 b$=HzØ Ê ÊAž2ðo°–6´†‰ <©þ/_&‘ \ No newline at end of file diff --git a/core/assets/baseparts/simplemeltdown.msch b/core/assets/baseparts/simplemeltdown.msch new file mode 100644 index 0000000000..3cb3fc34df --- /dev/null +++ b/core/assets/baseparts/simplemeltdown.msch @@ -0,0 +1,2 @@ +mschxœ=‘벓0… å(=¾à³8þà@t¢jöôÉqjqmÂq(|Ù—µ’â|˜ºQ㼘ñjõ¨­æÛ5è¥wæêÍ<8ÙîUÛñç/5òÿ]õkç½v÷Öv²Ý¢];8c-š[ÇR«ß¼ëz?;(ãõØ.óêz¬Ÿ§a5jY)mý|Ó/Þøn2ëØ²üKß©º\¥ÒNó ]šÞÝç¯v5C;š7ª”5?%¢ôš#ø¾Ný~øË‘ £ïÌÄ~à¡A!á"މ üð6À_•ræ$åªF”2U#>çœyò’‹ÃIÄR. `2'ʼD´=¶çö)¿ÏíùجeÛ“ï×Åö›[¤â]Ðâ„D#C&ÓÝ4”HJVx˜ˆÒHj²ÓŽLZr>;XUD"%(BgÁ$QJ”'™X\åÈïµZæS2ÇÎx¯ª` B“zo:M—½© +¾Uð­p$wI%àÌ“G2ïñ¨Þ¹ A#× Èò€"  PHþŸLo´ \ No newline at end of file diff --git a/core/assets/baseparts/sixDaggers.msch b/core/assets/baseparts/sixDaggers.msch new file mode 100644 index 0000000000..0175e599cf --- /dev/null +++ b/core/assets/baseparts/sixDaggers.msch @@ -0,0 +1,2 @@ +mschxœ-PKNÃ0}ù§N¡Bp€.Xâ-'`ɉ%báÆ& +ríÈqZzÎÀá8*3Ie93~óÞ›™`M†Ü©½ÁݳrºwÝöEéíãöIu h´Ûб÷@iÕÎØWo¿ß?¯& “õïkÔ“³^i\wÁONËÕFNØU4Aš¯fÕNEBN¸½UAÊ+)ë ªÖ;=õbðGR9¯ šUc”:ôÖ¢±Ë”$Ó¸õ?9ÿifÿfœÈJF6@ÓG³—£ŸBkhü{ºH„Nž\´ÕW@F¡rª_1-E²Ð8­–4#œ8!+¦l‘!«³óÊó™ôé,¦ËÄŒ‰9ò¬èM>5…ªàž)á‚“‚É‚œDÍìŠÙԔфÊË T®/æ%ˆQÎåe82©Ù3¥ X'.{RaÅî5ûŠe]Á«ðÎéJþ4¨ gsŽ%]XA \ No newline at end of file diff --git a/core/assets/baseparts/sixDaggersSmall.msch b/core/assets/baseparts/sixDaggersSmall.msch new file mode 100644 index 0000000000..b357823c3b Binary files /dev/null and b/core/assets/baseparts/sixDaggersSmall.msch differ diff --git a/core/assets/baseparts/sixDaggersSmallTwo.msch b/core/assets/baseparts/sixDaggersSmallTwo.msch new file mode 100644 index 0000000000..249fdeae71 --- /dev/null +++ b/core/assets/baseparts/sixDaggersSmallTwo.msch @@ -0,0 +1,2 @@ +mschxœ-P;RÃ0}þÅŽ  g\Q¡†‚ @IÁ %C¡XÂcF‘<²œ£pÇ ˜°kedkßî{ûÑbƒ‹ ¹•;›giÕ`ûöEªö¡}’}¯}ûèv£ìB{Fé©óÃg¬ŒÜj3áâí÷ûçîUûq6î}ƒj¶ÆI¥=.{ïf«Äå;ÄÕAí…þ +~‰ ™fßkÜÔe笚‡€r+鎨G&„uJ£Ù9¡ü` '£TTÄé ZmpíöÚ“h¯ÅèݧŽm† wbr³ï4 ~K?R ¡“'g‡ÞíÈÈ4 R$QÀ°Œ0'¸fmŠ(Èl89CVe§?¬N'°„3h³ /c}A†„%ªS‘) î–’ f3]S?žø5ó]K—:î ^v@›ˆëixA ;Á?·1Y„ \ No newline at end of file diff --git a/core/assets/baseparts/solarbrick1.msch b/core/assets/baseparts/solarbrick1.msch new file mode 100644 index 0000000000..730215bf91 Binary files /dev/null and b/core/assets/baseparts/solarbrick1.msch differ diff --git a/core/assets/baseparts/solarbrick2.msch b/core/assets/baseparts/solarbrick2.msch new file mode 100644 index 0000000000..3909b5f00f Binary files /dev/null and b/core/assets/baseparts/solarbrick2.msch differ diff --git a/core/assets/baseparts/solarbrick4.msch b/core/assets/baseparts/solarbrick4.msch new file mode 100644 index 0000000000..d740903d5e Binary files /dev/null and b/core/assets/baseparts/solarbrick4.msch differ diff --git a/core/assets/baseparts/steamgobrr.msch b/core/assets/baseparts/steamgobrr.msch new file mode 100644 index 0000000000..99af5789df --- /dev/null +++ b/core/assets/baseparts/steamgobrr.msch @@ -0,0 +1,2 @@ +mschxœ%ÐÝrƒ àãJÔ˜fúÜõm:½@³uÌ d“æí»¸^øÁ¸ËYÄÊÕ.„f‹d—É! ½Ñ6†ùg¿¨œÈmÈ¿\^6R0ôƒ£çâm™è_p9N1­ìñupv‹æfçÐïë¯ó/3ñ)¸Æ9ÚuÞ3úõIo®ÿôO +\ý$óþNGD=ØÈ¡o\7ïl0»’3¼šíi1›ßÃH<ëާH¯\(…Fè„E† •5›s„\(…Fèîä†YÉdÈà ¥¥/Jh%Ziè Óî,»:çº#VI¬’X%±JbUЇBÈ®¬˜*ݨ†æi˜F¾u÷Õ8¥IJ¨„ZÐÂIh„Vèi^óUZhQ¤ºžWÙ?âJ- \ No newline at end of file diff --git a/core/assets/baseparts/strong_duos.msch b/core/assets/baseparts/strong_duos.msch new file mode 100644 index 0000000000..32027b2c7e Binary files /dev/null and b/core/assets/baseparts/strong_duos.msch differ diff --git a/core/assets/baseparts/surgeTurretsOne.msch b/core/assets/baseparts/surgeTurretsOne.msch new file mode 100644 index 0000000000..563818a965 Binary files /dev/null and b/core/assets/baseparts/surgeTurretsOne.msch differ diff --git a/core/assets/baseparts/thoriumReactorBaseOne.msch b/core/assets/baseparts/thoriumReactorBaseOne.msch new file mode 100644 index 0000000000..12943a3996 Binary files /dev/null and b/core/assets/baseparts/thoriumReactorBaseOne.msch differ diff --git a/core/assets/baseparts/thoriumReactorFort.msch b/core/assets/baseparts/thoriumReactorFort.msch new file mode 100644 index 0000000000..39e115aee4 Binary files /dev/null and b/core/assets/baseparts/thoriumReactorFort.msch differ diff --git a/core/assets/bloomshaders/alpha_bloom.frag b/core/assets/bloomshaders/alpha_bloom.frag index b3475ff259..b027f94649 100644 --- a/core/assets/bloomshaders/alpha_bloom.frag +++ b/core/assets/bloomshaders/alpha_bloom.frag @@ -6,8 +6,10 @@ uniform lowp float OriginalIntensity; varying vec2 v_texCoords; void main(){ - vec4 original = texture2D(u_texture0, v_texCoords) * OriginalIntensity; - vec4 bloom = texture2D(u_texture1, v_texCoords) * BloomIntensity; - original = original * (vec4(1.0) - bloom); - gl_FragColor = original + bloom; + vec4 original = texture2D(u_texture0, v_texCoords) * OriginalIntensity; + vec4 bloom = texture2D(u_texture1, v_texCoords) * BloomIntensity; + original = original * (vec4(1.0) - bloom); + vec4 combined = original + bloom; + float mx = min(max(combined.r, max(combined.g, combined.b)), 1.0); + gl_FragColor = vec4(combined.rgb / max(mx, 0.0001), mx); } diff --git a/core/assets/bloomshaders/alpha_gaussian.frag b/core/assets/bloomshaders/alpha_gaussian.frag index 4d762bd5b4..8f52c951a5 100644 --- a/core/assets/bloomshaders/alpha_gaussian.frag +++ b/core/assets/bloomshaders/alpha_gaussian.frag @@ -10,9 +10,9 @@ const float close = 0.3162162162; const float far = 0.0702702703; void main(){ - gl_FragColor = far * texture2D(u_texture, v_texCoords0) + gl_FragColor = far * texture2D(u_texture, v_texCoords0) + close * texture2D(u_texture, v_texCoords1) - + center * texture2D(u_texture, v_texCoords2) + + center * texture2D(u_texture, v_texCoords2) + close * texture2D(u_texture, v_texCoords3) - + far * texture2D(u_texture, v_texCoords4); + + far * texture2D(u_texture, v_texCoords4); } diff --git a/core/assets/bloomshaders/maskedtreshold.frag b/core/assets/bloomshaders/maskedtreshold.frag deleted file mode 100644 index ec2634ef3f..0000000000 --- a/core/assets/bloomshaders/maskedtreshold.frag +++ /dev/null @@ -1,9 +0,0 @@ -uniform lowp sampler2D u_texture0; -uniform lowp vec2 threshold; -varying vec2 v_texCoords; - -void main(){ - vec4 tex = texture2D(u_texture0, v_texCoords); - vec3 colors = (tex.rgb - threshold.r) * threshold.g * tex.a; - gl_FragColor = vec4(colors, tex.a); -} diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index 4e9923983b..21bd9a8d3a 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -14,6 +14,7 @@ link.f-droid.description = F-Droid listing link.wiki.description = Official Mindustry wiki link.suggestions.description = Suggest new features link.bug.description = Found one? Report it here +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Failed to open link!\nThe URL has been copied to your clipboard. screenshot = Screenshot saved to {0} screenshot.invalid = Map too large, potentially not enough memory for screenshot. @@ -24,7 +25,6 @@ gameover.waiting = [accent]Waiting for next map... highscore = [accent]New highscore! copied = Copied. indev.notready = This part of the game isn't ready yet -indev.campaign = [accent]Congratulations! You've reached the end of the campaign![]\n\nThis is as far as the content goes right now. Interplanetary travel will be added in future updates. load.sound = Sounds load.map = Maps @@ -41,14 +41,23 @@ be.ignore = Ignore be.noupdates = No updates found. be.check = Check for updates -mod.featured.dialog.title = Mod Browser (WIP) +mods.browser = Mod Browser mods.browser.selected = Selected mod mods.browser.add = Install -mods.github.open = View +mods.browser.reinstall = Reinstall +mods.browser.view-releases = View Releases +mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published. +mods.browser.latest = [lightgray][Latest] +mods.browser.releases = Releases +mods.github.open = Repo +mods.github.open-release = Release Page +mods.browser.sortdate = Sort by recent +mods.browser.sortstars = Sort by stars schematic = Schematic schematic.add = Save Schematic... schematics = Schematics +schematic.search = Search schematics... schematic.replace = A schematic by that name already exists. Replace it? schematic.exists = A schematic by that name already exists. schematic.import = Import Schematic... @@ -61,21 +70,29 @@ schematic.shareworkshop = Share on Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic schematic.saved = Schematic saved. schematic.delete.confirm = This schematic will be utterly eradicated. -schematic.rename = Rename Schematic +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blocks schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.tags = Tags: +schematic.edittags = Edit Tags +schematic.addtag = Add Tag +schematic.texttag = Text Tag +schematic.icontag = Icon Tag +schematic.renametag = Rename Tag +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Delete this tag completely? +schematic.tagexists = That tag already exists. stats = Stats -stat.wave = Waves Defeated:[accent] {0} -stat.enemiesDestroyed = Enemies Destroyed:[accent] {0} -stat.built = Buildings Built:[accent] {0} -stat.destroyed = Buildings Destroyed:[accent] {0} -stat.deconstructed = Buildings Deconstructed:[accent] {0} -stat.delivered = Resources Launched: -stat.playtime = Time Played:[accent] {0} -stat.rank = Final Rank: [accent]{0} +stats.wave = Waves Defeated +stats.unitsCreated = Units Created +stats.enemiesDestroyed = Enemies Destroyed +stats.built = Buildings Built +stats.destroyed = Buildings Destroyed +stats.deconstructed = Buildings Deconstructed +stats.playtime = Time Played -globalitems = [accent]Total Items +globalitems = [accent]Planet Items map.delete = Are you sure you want to delete the map "[accent]{0}[]"? level.highscore = High Score: [accent]{0} level.select = Level Select @@ -83,6 +100,7 @@ level.mode = Gamemode: coreattack = < Core is under attack! > nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent database = Core Database +database.button = Database savegame = Save Game loadgame = Load Game joingame = Join Game @@ -90,6 +108,7 @@ customgame = Custom Game newgame = New Game none = none.found = [lightgray] +none.inmap = [lightgray] minimap = Minimap position = Position close = Close @@ -110,30 +129,49 @@ committingchanges = Committing Changes done = Done feature.unsupported = Your device does not support this feature. -mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub. +mods.initfailed = [red]\u26A0[] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[] mods = Mods mods.none = [lightgray]No mods found! mods.guide = Modding Guide mods.report = Report Bug mods.openfolder = Open Folder +mods.viewcontent = View Content mods.reload = Reload mods.reloadexit = The game will now exit, to reload mods. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Enabled -mod.disabled = [scarlet]Disabled +mod.disabled = [red]Disabled +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = Disable +mod.version = Version: mod.content = Content: mod.delete.error = Unable to delete mod. File may be in use. -mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missing dependencies: {0} -mod.erroredcontent = [scarlet]Content Errors + +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies +mod.erroredcontent = [red]Content Errors +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies + +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. + +mod.requiresversion = Requires game version: [red]{0} + mod.errors = Errors have occurred loading content. -mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. -mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. +mod.noerrorplay = [red]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. +mod.nowdisabled = [red]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. mod.enable = Enable mod.requiresrestart = The game will now close to apply the mod changes. -mod.reloadrequired = [scarlet]Restart Required +mod.reloadrequired = [red]Restart Required mod.import = Import Mod mod.import.file = Import File mod.import.github = Import From GitHub @@ -149,14 +187,23 @@ mod.scripts.disable = Your device does not support mods with scripts. You must d about.button = About name = Name: noname = Pick a[accent] player name[] first. +search = Search: planetmap = Planet Map launchcore = Launch Core filename = File Name: unlocked = New content unlocked! available = New research available! -completed = [accent]Completed +unlock.incampaign = < Unlock in campaign for details > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nMore difficult. Higher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended, more content.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty +completed = [accent]Researched techtree = Tech Tree -research.legacy = [accent]5.0[] research data found.\nDo you want to [accent]load this data[], or [accent]discard it[] and restart research in the new campaign (recommended)? +techtree.select = Tech Tree Selection +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = Load research.discard = Discard research.list = [lightgray]Research: @@ -200,6 +247,7 @@ hosts.none = [lightgray]No local games found! host.invalid = [scarlet]Can't connect to host. servers.local = Local Servers +servers.local.steam = Open Games & Local Servers servers.remote = Remote Servers servers.global = Community Servers @@ -208,13 +256,26 @@ servers.showhidden = Show Hidden Servers server.shown = Shown server.hidden = Hidden +viewplayer = Viewing Player: [accent]{0} trace = Trace Player trace.playername = Player name: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = Unique ID: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobile Client: [accent]{0} trace.modclient = Custom Client: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Invalid client ID! Submit a bug report. + +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team + server.bans = Bans server.bans.none = No banned players found! server.admins = Admins @@ -228,10 +289,11 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]Custom Build confirmban = Are you sure you want to ban "{0}[white]"? confirmkick = Are you sure you want to kick "{0}[white]"? -confirmvotekick = Are you sure you want to vote-kick "{0}[white]"? confirmunban = Are you sure you want to unban this player? confirmadmin = Are you sure you want to make "{0}[white]" an admin? confirmunadmin = Are you sure you want to remove admin status from "{0}[white]"? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Join Game joingame.ip = Address: disconnect = Disconnected. @@ -239,16 +301,18 @@ disconnect.error = Connection error. disconnect.closed = Connection closed. disconnect.timeout = Timed out. disconnect.data = Failed to load world data! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Unable to join game ([accent]{0}[]). connecting = [accent]Connecting... reconnecting = [accent]Reconnecting... connecting.data = [accent]Loading world data... server.port = Port: -server.addressinuse = Address already in use! server.invalidport = Invalid port number! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [scarlet]Error hosting server. save.new = New Save save.overwrite = Are you sure you want to overwrite\nthis save slot? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Overwrite save.none = No saves found! savefail = Failed to save game! @@ -269,6 +333,7 @@ save.corrupted = Save file corrupted or invalid! empty = on = On off = Off +save.search = Search saved games... save.autosave = Autosave: {0} save.map = Map: {0} save.wave = Wave {0} @@ -284,9 +349,30 @@ ok = OK open = Open customize = Customize Rules cancel = Cancel +command = Command +command.queue = Queue +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Open Link copylink = Copy Link back = Back +max = Max +objective = Map Objective crash.export = Export Crash Logs crash.none = No crash logs found. crash.exported = Crash logs exported. @@ -297,16 +383,18 @@ data.exported = Data exported. data.invalid = This isn't valid game data. data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately. 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... -reloading = [accent]Reloading Mods... +downloading = [accent]Downloading... saving = [accent]Saving... -respawn = [accent][[{0}][] to respawn in core +respawn = [accent][[{0}][] to respawn cancelbuilding = [accent][[{0}][] to clear plan selectschematic = [accent][[{0}][] to select+copy pausebuilding = [accent][[{0}][] to pause building resumebuilding = [scarlet][[{0}][] to resume building +enablebuilding = [scarlet][[{0}][] to enable building showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Wave {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]Wave in {0} @@ -326,9 +414,9 @@ custom = Custom builtin = Built-In map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! map.random = [accent]Random Map -map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] core to this map in the editor. +map.nospawn = This map does not have any cores for the player to spawn in! Add a {0} 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-orange[] cores to this map in the editor. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor. +map.nospawn.attack = This map does not have any enemy cores for player to attack! Add {0} cores to this map in the editor. map.invalid = Error loading map: corrupted or invalid map file. workshop.update = Update Item workshop.error = Error fetching workshop details: {0} @@ -336,6 +424,7 @@ map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]M workshop.menu = Select what you would like to do with this item. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = Steam EULA missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. publishing = [accent]Publishing... @@ -343,6 +432,10 @@ publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure publish.error = Error publishing item: {0} steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Brush editor.openin = Open In Editor editor.oregen = Ore Generation @@ -351,57 +444,100 @@ editor.mapinfo = Map Info editor.author = Author: editor.description = Description: editor.nodescription = A map must have a description of at least 4 characters before being published. -editor.waves = Waves: -editor.rules = Rules: -editor.generation = Generation: +editor.waves = Waves +editor.rules = Rules +editor.generation = Generation +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Edit In-Game +editor.playtest = Playtest editor.publish.workshop = Publish On Workshop editor.newmap = New Map editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Waves waves.remove = Remove -waves.never = waves.every = every waves.waves = wave(s) +waves.health = health: {0}% waves.perspawn = per spawn waves.shields = shields/wave waves.to = to +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Preview waves.edit = Edit... +waves.random = Random waves.copy = Copy to Clipboard waves.load = Load from Clipboard waves.invalid = Invalid waves in clipboard. waves.copied = Waves copied. waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All #these are intentionally in lower case wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Details... -edit = Edit... +edit = Edit +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables + editor.name = Name: editor.spawn = Spawn Unit editor.removeunit = Remove Unit editor.teams = Teams editor.errorload = Error loading file. editor.errorsave = Error saving file. -editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. +editor.errorimage = That's an image, not a map. editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. editor.errornot = This is not a map file. editor.errorheader = This map file is either not valid or corrupt. editor.errorname = Map has no name defined. Are you trying to load a save file? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Update editor.randomize = Randomize +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Apply editor.generate = Generate +editor.sectorgenerate = Sector Generate editor.resize = Resize editor.loadmap = Load Map editor.savemap = Save Map +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Saved! editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. @@ -440,10 +576,16 @@ toolmode.eraseores = Erase Ores toolmode.eraseores.description = Erase only ores. toolmode.fillteams = Fill Teams toolmode.fillteams.description = Fill teams instead of blocks. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Draw Teams toolmode.drawteams.description = Draw teams instead of blocks. +#unused +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]No filters! Add one with the button below. + filter.distort = Distort filter.noise = Noise filter.enemyspawn = Enemy Spawn Select @@ -460,6 +602,8 @@ filter.clear = Clear filter.option.ignore = Ignore filter.scatter = Scatter filter.terrain = Terrain +filter.logic = Logic + filter.option.scale = Scale filter.option.chance = Chance filter.option.mag = Magnitude @@ -468,17 +612,40 @@ filter.option.circle-scale = Circle Scale filter.option.octaves = Octaves filter.option.falloff = Falloff filter.option.angle = Angle +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Block filter.option.floor = Floor filter.option.flooronto = Target Floor filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Wall filter.option.ore = Ore filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile +filter.option.code = Code +filter.option.loop = Loop + +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Width: height = Height: @@ -489,6 +656,7 @@ load = Load save = Save fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} memory = Mem: {0}mb memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Restart your game for the language settings to take effect. @@ -507,21 +675,75 @@ requirement.core = Destroy Enemy Core in {0} requirement.research = Research {0} requirement.produce = Produce {0} requirement.capture = Capture {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. map.multiplayer = Only the host can view sectors. uncover = Uncover configure = Configure Loadout +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag + +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture + +marker.background = Background +marker.outline = Outline + +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]\u26A0 Missile launch detected: [lightgray]{0} + +announce.nuclearstrike = [red]\u26A0 MISSILE STRIKE INBOUND \u26A0\n[lightgray]construct backup cores immediately + loadout = Loadout resources = Resources +resources.max = Max bannedblocks = Banned Blocks +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Add All launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Amount must be a number between 0 and {0}. add = Add... -boss.health = Guardian Health +guardian = Guardian connectfail = [scarlet]Connection error:\n\n[accent]{0} error.unreachable = Server unreachable.\nIs the address spelled correctly? @@ -533,17 +755,24 @@ error.mapnotfound = Map file not found! error.io = Network I/O error. error.any = Unknown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThis will not be fixed. There is no known workaround for this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uF129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. + +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: sectors.production = Production: sectors.export = Export: +sectors.import = Import: sectors.time = Time: sectors.threat = Threat: sectors.wave = Wave: @@ -551,20 +780,29 @@ sectors.stored = Stored: sectors.resume = Resume sectors.launch = Launch sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Rename Sector sectors.enemybase = [scarlet]Enemy Base sectors.vulnerable = [scarlet]Vulnerable sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured sectors.survives = [accent]Survives {0} waves sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? sector.curcapture = Sector Captured sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources sector.attacked = Sector [accent]{0}[white] under attack! sector.lost = Sector [accent]{0}[white] lost! -#note: the missing space in the line below is intentional -sector.captured = Sector [accent]{0}[white]captured! +sector.capture = Sector [accent]{0}[white] Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector threat.low = Low threat.medium = Medium @@ -572,9 +810,16 @@ threat.high = High threat.extreme = Extreme threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun sector.impact0078.name = Impact 0078 @@ -592,7 +837,19 @@ sector.fungalPass.name = Fungal Pass sector.biomassFacility.name = Biomass Synthesis Facility sector.windsweptIslands.name = Windswept Islands sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -602,7 +859,7 @@ sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this sector.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. sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Mace units. Destroy it. sector.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. -sector.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. +sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Build air and ground defenses as soon as possible. Do not be fooled by the long spacing between enemy attacks. sector.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. sector.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. sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. @@ -610,6 +867,74 @@ sector.windsweptIslands.description = Further past the shoreline is this remote sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold + +#do not translate +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past certain enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = An important transportation route for the enemy. No cores detected in the sector, but expect a variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. + +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = Language settings.data = Game Data @@ -632,6 +957,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = [accent]< Paused > clear = Clear banned = [scarlet]Banned +unsupported.environment = [scarlet]Unsupported Environment yes = Yes no = No info.title = Info @@ -639,14 +965,18 @@ error.title = [scarlet]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = stat.description = Purpose stat.input = Input stat.output = Output +stat.maxefficiency = Max Efficiency stat.booster = Booster stat.tiles = Required Tiles stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Power Capacity stat.powershot = Power/Shot stat.damage = Damage @@ -669,8 +999,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Base Power Generation stat.productiontime = Production Time stat.repairtime = Block Full Repair Time +stat.repairspeed = Repair Speed stat.weapons = Weapons stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = Speed Increase stat.range = Range stat.drilltier = Drillables @@ -678,12 +1011,13 @@ stat.drillspeed = Base Drill Speed stat.boosteffect = Boost Effect stat.maxunits = Max Active Units stat.health = Health +stat.armor = Armor stat.buildtime = Build Time stat.maxconsecutive = Max Consecutive stat.buildcost = Build Cost stat.inaccuracy = Inaccuracy stat.shots = Shots -stat.reload = Shots/Second +stat.reload = Firing Rate stat.ammo = Ammo stat.shieldhealth = Shield Health stat.cooldowntime = Cooldown Time @@ -693,6 +1027,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = Heat Capacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -701,25 +1036,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities stat.canboost = Can Boost stat.flying = Flying stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Repair Suppression +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Self Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] max shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required +bar.nobatterypower = Insufficient Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Batteries: {0}/{1} bar.powerbalance = Power: {0}/s bar.powerstored = Stored: {0}/{1} bar.poweramount = Power: {0} @@ -730,49 +1117,66 @@ bar.capacity = Capacity: {0} bar.unitcap = {0} {1}/{2} bar.liquid = Liquid bar.heat = Heat +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = Power bar.progress = Build Progress +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled 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.sapping = [stat]sapping bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0}[lightgray] seconds of repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}x[lightgray] frag bullets: +bullet.lightning = [stat]{0}x[lightgray] lightning ~ [stat]{1}[lightgray] damage bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] knockback -bullet.pierce = [stat]{0}[lightgray]x pierce +bullet.pierce = [stat]{0}x[lightgray] pierce bullet.infinitepierce = [stat]pierce -bullet.healpercent = [stat]{0}[lightgray]% healing -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred -bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier -bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.healpercent = [stat]{0}%[lightgray] repair +bullet.healamount = [stat]{0}[lightgray] direct repair +bullet.multiplier = [stat]{0}[lightgray] ammo/item +bullet.reload = [stat]{0}%[lightgray] fire rate +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores missiles +bullet.notargetsbuildings = [stat] ignores buildings unit.blocks = blocks -unit.blockssquared = blocks² +unit.blockssquared = blocks\u00B2 unit.powersecond = power units/second +unit.tilessecond = tiles/second unit.liquidsecond = liquid units/second unit.itemssecond = items/second unit.liquidunits = liquid units unit.powerunits = power units +unit.heatunits = heat units unit.degrees = degrees unit.seconds = seconds unit.minutes = mins unit.persecond = /sec unit.perminute = /min unit.timesspeed = x speed +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = items unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots unit.pershot = /shot category.purpose = Purpose category.general = General @@ -782,17 +1186,23 @@ category.items = Items category.crafting = Input/Output category.function = Function category.optional = Optional Enhancements +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Lock Landscape setting.shadows.name = Shadows setting.blockreplace.name = Automatic Block Suggestions setting.linear.name = Linear Filtering setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate +setting.logichints.name = Logic Hints setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animated Surfaces setting.animatedshields.name = Animated Shields -setting.antialias.name = Antialias[lightgray] (requires restart)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Enemy Indicators setting.autotarget.name = Auto-Target @@ -801,15 +1211,12 @@ setting.touchscreen.name = Touchscreen Controls setting.fpscap.name = Max FPS setting.fpscap.none = None setting.fpscap.text = {0} FPS -setting.uiscale.name = UI Scaling[lightgray] (restart required)[] +setting.uiscale.name = UI Scaling +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = Training -setting.difficulty.easy = Easy -setting.difficulty.normal = Normal -setting.difficulty.hard = Hard -setting.difficulty.insane = Insane -setting.difficulty.name = Difficulty: setting.screenshake.name = Screen Shake +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Display Effects setting.destroyedblocks.name = Display Destroyed Blocks setting.blockstatus.name = Display Block Status @@ -819,31 +1226,41 @@ setting.saveinterval.name = Save Interval setting.seconds = {0} seconds setting.milliseconds = {0} milliseconds setting.fullscreen.name = Fullscreen -setting.borderlesswindow.name = Borderless Window[lightgray] (restart may be required) +setting.borderlesswindow.name = Borderless Window +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = Show FPS & Ping +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pixelate setting.minimap.name = Show Minimap setting.coreitems.name = Display Core Items setting.position.name = Show Player Position +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Music Volume setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient Volume setting.mutemusic.name = Mute Music setting.sfxvol.name = SFX Volume setting.mutesound.name = Mute Sound setting.crashreport.name = Send Anonymous Crash Reports +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Chat Opacity setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity setting.playerchat.name = Display Player Bubble Chat setting.showweather.name = Show Weather Graphics -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.confirm.really = If you want to play with friends, use [green]Invite Friend[] instead of a [scarlet]Public server[]!\nAre you sure you want to make your game [scarlet]public[]? +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Adapt interface to display notch +setting.macnotch.description = Restart required to apply changes +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Note that beta versions of the game cannot make public lobbies. uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds... uiscale.cancel = Cancel & Exit @@ -852,12 +1269,9 @@ keybind.title = Rebind Keys keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. category.general.name = General category.view.name = View +category.command.name = Unit Command category.multiplayer.name = Multiplayer category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -872,6 +1286,30 @@ keybind.move_y.name = Move Y keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Queue Unit Command +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders + +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram + +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer + +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu keybind.schematic_flip_x.name = Flip Schematic X @@ -897,10 +1335,11 @@ keybind.select.name = Select/Shoot keybind.diagonal_placement.name = Diagonal Placement keybind.pick.name = Pick Block keybind.break_block.name = Break Block +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deselect keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Shoot keybind.zoom.name = Zoom keybind.menu.name = Menu @@ -909,6 +1348,7 @@ keybind.pause_building.name = Pause/Resume Building keybind.minimap.name = Minimap keybind.planet_map.name = Planet Map keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Chat keybind.player_list.name = Player List keybind.console.name = Console @@ -933,36 +1373,81 @@ mode.attack.name = Attack mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. mode.custom = Custom Rules +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Infinite Resources +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Waves +rules.airUseSpawns = Air Units Use Spawn Points rules.attack = Attack Mode -rules.buildai = AI Building -rules.enemyCheat = Infinite AI (Red Team) Resources +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI [red](WIP) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check +rules.enemyCheat = Infinite Enemy Team Resources rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Unit Health Multiplier rules.unitdamagemultiplier = Unit Damage Multiplier +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Build Cost Multiplier rules.buildspeedmultiplier = Build Speed Multiplier rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Waves Wait for Enemies +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) -rules.unitammo = Units Require Ammo +rules.unitammo = Units Require Ammo [red](may be removed) +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = Waves rules.title.resourcesbuilding = Resources & Building rules.title.enemy = Enemies rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light rules.weather = Weather @@ -970,11 +1455,19 @@ rules.weather.frequency = Frequency: rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. + content.item.name = Items -content.liquid.name = Liquids +content.liquid.name = Fluids content.unit.name = Units content.block.name = Blocks +content.status.name = Status Effects content.sector.name = Sectors +content.team.name = Factions + +wallore = (Wall) item.copper.name = Copper item.lead.name = Lead @@ -992,10 +1485,24 @@ item.blast-compound.name = Blast Compound item.pyratite.name = Pyratite item.metaglass.name = Metaglass item.scrap.name = Scrap +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst + liquid.water.name = Water liquid.slag.name = Slag liquid.oil.name = Oil liquid.cryofluid.name = Cryofluid +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -1023,6 +1530,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -1031,13 +1543,36 @@ unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale + block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = Sand Boulder block.basalt-boulder.name = Basalt Boulder block.grass.name = Grass -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Salt block.salt-wall.name = Salt Wall @@ -1065,24 +1600,28 @@ block.graphite-press.name = Graphite Press block.multi-press.name = Multi-Press block.constructing = {0} [lightgray](Constructing) block.spawn.name = Enemy Spawn +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Core: Shard block.core-foundation.name = Core: Foundation block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Deep Water -block.water.name = Water +block.deep-water.name = Deep Water +block.shallow-water.name = Water block.tainted-water.name = Tainted Water +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water block.tar.name = Tar block.stone.name = Stone -block.sand.name = Sand +block.sand-floor.name = Sand block.darksand.name = Dark Sand block.ice.name = Ice block.snow.name = Snow -block.craters.name = Craters -block.sand-water.name = Sand water +block.crater-stone.name = Craters +block.sand-water.name = Sand Water block.darksand-water.name = Dark Sand Water block.char.name = Char block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Ice Snow @@ -1100,8 +1639,9 @@ block.spore-cluster.name = Spore Cluster block.metal-floor.name = Metal Floor 1 block.metal-floor-2.name = Metal Floor 2 block.metal-floor-3.name = Metal Floor 3 -block.metal-floor-5.name = Metal Floor 4 -block.metal-floor-damaged.name = Metal Floor Damaged +block.metal-floor-4.name = Metal Floor 4 +block.metal-floor-5.name = Metal Floor 5 +block.metal-floor-damaged.name = Damaged Metal Floor block.dark-panel-1.name = Dark Panel 1 block.dark-panel-2.name = Dark Panel 2 block.dark-panel-3.name = Dark Panel 3 @@ -1139,6 +1679,9 @@ block.distributor.name = Distributor block.sorter.name = Sorter block.inverted-sorter.name = Inverted Sorter block.message.name = Message +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Illuminator block.overflow-gate.name = Overflow Gate block.underflow-gate.name = Underflow Gate @@ -1190,20 +1733,22 @@ block.solar-panel.name = Solar Panel block.solar-panel-large.name = Large Solar Panel block.oil-extractor.name = Oil Extractor block.repair-point.name = Repair Point +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Pulse Conduit block.plated-conduit.name = Plated Conduit block.phase-conduit.name = Phase Conduit block.liquid-router.name = Liquid Router block.liquid-tank.name = Liquid Tank +block.liquid-container.name = Liquid Container block.liquid-junction.name = Liquid Junction block.bridge-conduit.name = Bridge Conduit block.rotary-pump.name = Rotary Pump block.thorium-reactor.name = Thorium Reactor block.mass-driver.name = Mass Driver block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump +block.impulse-pump.name = Impulse Pump block.thermal-generator.name = Thermal Generator -block.alloy-smelter.name = Alloy Smelter +block.surge-smelter.name = Surge Smelter block.mender.name = Mender block.mend-projector.name = Mend Projector block.surge-wall.name = Surge Wall @@ -1219,10 +1764,11 @@ block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Container -block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.launch-pad.name = Launch Pad [lightgray](Legacy) +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad + block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1232,14 +1778,181 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Payload Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome -#experimental, may be removed -block.block-forge.name = Block Forge -block.block-loader.name = Block Loader -block.block-unloader.name = Block Unloader block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Large Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = Outputs large amounts of heat. Sandbox only. + +#Erekir +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Advanced Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core: Bastion +block.core-citadel.name = Core: Citadel +block.core-acropolis.name = Core: Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1250,64 +1963,116 @@ block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank -team.blue.name = blue -team.crux.name = red -team.sharded.name = orange -team.orange.name = orange -team.derelict.name = derelict -team.green.name = green -team.purple.name = purple +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Derelict +team.green.name = Green +team.blue.name = Blue hint.skip = Skip hint.desktopMove = Use [accent][[WASD][] to move. hint.zoom = [accent]Scroll[] to zoom in or out. -hint.mine = Move near the \uf8c4 copper ore and [accent]tap[] it to mine manually. hint.desktopShoot = [accent][[Left-click][] to shoot. hint.depositItems = To transfer items, drag from your ship to the core. hint.respawn = To respawn as a ship, press [accent][[V][]. hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. -hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it. -hint.placeDrill.mobile = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. -hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. -hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors. -hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uf838copper.\nUse conveyors and drills to supply them. hint.breaking = [accent]Right-click[] and drag to break blocks. -hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. -hint.research = Use the \ue875 [accent]Research[] button to research new technology. -hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. -hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. -hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. -hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. -hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.breaking.mobile = Activate the \uE817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources, or repaired. +hint.research = Use the \uE875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \uE875 [accent]Research[] button in the \uE88C [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to manually control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to manually control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] to the next sector by opening the \uE827 [accent]Map[] in the bottom right, and panning over to the new location. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \uE827 [accent]Map[] in the \uE88C [accent]Menu[]. hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \uE874 copy button, then tap the \uE80F rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. -hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \uE844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. -hint.command = Press [accent][[G][] to command nearby units of [accent]similar type[] into formation.\n\nTo command ground units, you must first control another ground unit. -hint.command.mobile = [accent][[Double-tap][] your unit to command nearby units into formation. hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. hint.payloadDrop = Press [accent]][] to drop a payload. hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. -hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. -hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. -hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a  [accent]Foundation[] core over the ï¡© [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.generator = \uF879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uF87F [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uF835 [accent]Graphite[] \uF861Duo/\uF859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uF868 [accent]Foundation[] core over the \uF869 [accent]Shard[] core. Make sure it is free from nearby obstructions. hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. -hint.coopCampaign = When playing the [accent]co-op campaign[], items that are produced in the current map will also be sent [accent]to your local sectors[].\n\nAny new research done by the host also carries over. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. + +gz.mine = Move near the \uF8C4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uF8C4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \uE875 tech tree.\nResearch the \uF870 [accent]Mechanical Drill[], then select it from the \ue85e menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \uE875 tech tree.\nResearch the \uF870 [accent]Mechanical Drill[], then select it from the \ue85e menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \uE800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uF896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uF896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uF837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \uE804 Move up for further objectives. +gz.turrets = Research and place 2 \uF861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uF838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uF8AE [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uF860 [accent]Scatter[] turrets provide excellent anti-air, but require \uF837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with \uF837 [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. + +onset.mine = Click to mine \uF748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uF748 [accent]beryllium[] from walls. +onset.research = Open the \uE875 tech tree.\nResearch, then place a \uF73E [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uF741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uF73D [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uF799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uF799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uF835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uF74D [accent]cliff crusher[] and \uF779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uF834 [accent]sand[] and \uF835 [accent]graphite[] to create \uF82F [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uF74D [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uF6A2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uF6EB [accent]Breach[] turret.\nTurrets require \uF748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium[] as ammo, using ducts. +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uF6EE [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uF725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. + +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [[ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Used in all types of construction and ammunition. item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = Used in liquid transportation and electrical structures. -item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms; not that there are many left here. item.metaglass.description = Used in liquid distribution/storage structures. item.graphite.description = Used in electrical components and turret ammunition. item.sand.description = Used for production of other refined materials. item.coal.description = Used for fuel and refined material production. item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. -item.titanium.description = Used in liquid transportation structures, drills and aircraft. +item.titanium.description = Used in liquid transportation structures, drills and factories. item.thorium.description = Used in durable structures and as nuclear fuel. item.scrap.description = Used in Melters and Pulverizers for refining into other materials. item.scrap.details = Leftover remnants of old structures and units. @@ -1320,22 +2085,39 @@ item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic item.blast-compound.description = Used in bombs and explosive ammunition. item.pyratite.description = Used in incendiary weapons and combustion-fueled generators. +#Erekir +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. + liquid.water.description = Used for cooling machines and waste processing. -liquid.slag.description = Refined in separators into constituent metals, or sprayed at enemies as a weapon. +liquid.slag.description = Refined in separators into constituent metals. Consumed in liquid turrets as ammunition. liquid.oil.description = Used in advanced material production and as incendiary ammunition. liquid.cryofluid.description = Used as coolant in reactors, turrets and factories. -block.resupply-point.description = Resupplies nearby units with copper ammunition. Not compatible with units that require battery power. -block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides. +#Erekir +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as fuel and an oxidizing agent in material production. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. + +block.derelict = \uF77E [lightgray]Derelict +block.armored-conveyor.description = Moves items forward. Does not accept non-conveyor inputs from the sides. block.illuminator.description = Emits light. block.message.description = Stores a message for communication between allies. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Compresses coal into graphite. block.multi-press.description = Compresses coal into graphite. Requires water as coolant. block.silicon-smelter.description = Refines silicon from sand and coal. block.kiln.description = Smelts sand and lead into metaglass. block.plastanium-compressor.description = Produces plastanium from oil and titanium. block.phase-weaver.description = Synthesizes phase fabric from thorium and sand. -block.alloy-smelter.description = Fuses titanium, lead, silicon and copper into surge alloy. +block.surge-smelter.description = Fuses titanium, lead, silicon and copper into surge alloy. block.cryofluid-mixer.description = Mixes water and fine titanium powder to produce cryofluid. block.blast-mixer.description = Produces blast compound from pyratite and spore pods. block.pyratite-mixer.description = Mixes coal, lead and sand into pyratite. @@ -1348,9 +2130,11 @@ block.incinerator.description = Vaporizes any item or liquid it receives. block.power-void.description = Voids all power inputted. Sandbox only. block.power-source.description = Infinitely outputs power. Sandbox only. block.item-source.description = Infinitely outputs items. Sandbox only. -block.item-void.description = Destroys any items. Sandbox only. +block.item-void.description = Destroys inputted items. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only. -block.liquid-void.description = Removes any liquids. Sandbox only. +block.liquid-void.description = Destroys inputted liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. block.copper-wall.description = Protects structures from enemy projectiles. block.copper-wall-large.description = Protects structures from enemy projectiles. block.titanium-wall.description = Protects structures from enemy projectiles. @@ -1363,16 +2147,20 @@ block.phase-wall.description = Protects structures from enemy projectiles, refle block.phase-wall-large.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. block.surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. block.surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = A wall that can be opened and closed. block.door-large.description = A wall that can be opened and closed. block.mender.description = Periodically repairs blocks in its vicinity.\nOptionally uses silicon to boost range and efficiency. block.mend-projector.description = Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. -block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. +block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. Does not stack. block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric increases shield size. block.shock-mine.description = Releases electric arcs upon enemy unit contact. block.conveyor.description = Transports items forward. block.titanium-conveyor.description = Transports items forward. Faster than a standard conveyor. -block.plastanium-conveyor.description = Transports items forward in batches. Accepts items at the back, and unloads them in three directions at the front. Requires multiple loading and unloading points for peak throughput. +block.plastanium-conveyor.description = Transports items forward in batches. Accepts items at the back, and unloads them in three directions at the front. Requires multiple loading and unloading points for peak throughput. block.junction.description = Acts as a bridge for two crossing conveyor belts. block.bridge-conveyor.description = Transports items over terrain or buildings. block.phase-conveyor.description = Instantly transports items over terrain or buildings. Longer range than the item bridge, but requires power. @@ -1381,18 +2169,19 @@ block.inverted-sorter.description = Similar to a standard sorter, but outputs se block.router.description = Distributes input items to 3 output directions equally. block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = Distributes input items to 7 output directions equally. -block.overflow-gate.description = Only outputs items to the left and right if the front path is blocked. Cannot be used next to other gates. -block.underflow-gate.description = Opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. Cannot be used next to other gates. +block.overflow-gate.description = Only outputs items to the left and right if the front path is blocked. +block.underflow-gate.description = Opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. block.mass-driver.description = Long-range item transport structure. Collects batches of items and shoots them to other mass drivers. block.mechanical-pump.description = Pumps and outputs liquids. Does not require power. block.rotary-pump.description = Pumps and outputs liquids. Requires power. -block.thermal-pump.description = Pumps and outputs liquids. +block.impulse-pump.description = Pumps and outputs liquids. block.conduit.description = Moves liquids forward. Used in conjunction with pumps and other conduits. block.pulse-conduit.description = Moves liquids forward. Transports faster and stores more than standard conduits. block.plated-conduit.description = Moves liquids forward. Does not accept input from the sides. Does not leak. 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. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stores a large amount of liquid. Outputs to all sides, similarly to a liquid router. -block.liquid-junction.description = Acts as a bridge for two crossing conduits. +block.liquid-junction.description = Acts as a bridge between two crossing conduits. block.bridge-conduit.description = Transports liquids over terrain or buildings. block.phase-conduit.description = Transports liquids over terrain or buildings. Longer range than the bridge conduit, but requires power. block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. @@ -1400,7 +2189,7 @@ block.power-node-large.description = An advanced power node with greater range. block.surge-tower.description = A long-range power node with fewer available connections. block.diode.description = Moves battery power in one direction, but only if the other side has less power stored. block.battery.description = Stores power in times of surplus energy. Outputs power in times of deficit. -block.battery-large.description = Stores power in times of surplus energy. Outputs power in times of deficit. Higher capacity than a regular battery. +block.battery-large.description = Stores power in times of surplus energy. Outputs power in times of deficit. Higher capacity than a regular battery. block.combustion-generator.description = Generates power by burning flammable materials, such as coal. block.thermal-generator.description = Generates power when placed in hot locations. block.steam-generator.description = Generates power by burning flammable materials and converting water to steam. @@ -1424,10 +2213,13 @@ block.core-foundation.description = Core of the base. Well armored. Stores more block.core-foundation.details = The second iteration. block.core-nucleus.description = Core of the base. Extremely well armored. Stores massive amounts of resources. block.core-nucleus.details = The third and final iteration. -block.vault.description = Stores a large amount of items of each type. Contents can be retrieved with an unloader. -block.container.description = Stores a small amount of items of each type. Contents can be retrieved with an unloader. +block.vault.description = Stores a large amount of items of each type. Expands storage when placed next to a core. Contents can be retrieved with an unloader. +block.container.description = Stores a small amount of items of each type. Expands storage when placed next to a core. Contents can be retrieved with an unloader. block.unloader.description = Unloads the selected item from nearby blocks. block.launch-pad.description = Launches batches of items to selected sectors. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Fires alternating bullets at enemies. block.scatter.description = Fires clumps of lead, scrap or metaglass flak at enemy aircraft. block.scorch.description = Burns any ground enemies close to it. Highly effective at close range. @@ -1440,19 +2232,18 @@ block.salvo.description = Fires quick salvos of bullets at enemies. block.fuse.description = Fires three close-range piercing blasts at nearby enemies. block.ripple.description = Shoots clusters of shells at ground enemies over long distances. block.cyclone.description = Fires explosive clumps of flak at nearby enemies. -block.spectre.description = Fires large armor-piercing bullets at air and ground targets. +block.spectre.description = Fires large bullets at air and ground targets. block.meltdown.description = Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. -block.foreshadow.description = Fires a large single-target bolt over long distances. +block.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Continuously repairs the closest damaged unit in its vicinity. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. -block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. -block.payload-conveyor.description = Moves large payloads, such as units from factories. -block.payload-router.description = Splits input payloads into 3 output directions. -block.command-center.description = Controls unit behavior with several different commands. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. Does not stack. +block.payload-conveyor.description = Moves large payloads, such as units from factories. Magnetic. Usable in zero-G environments. +block.payload-router.description = Splits input payloads into 3 output directions. Functions as a sorter when a filter is set. Magnetic. Usable in zero-G environments. block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. @@ -1469,37 +2260,439 @@ block.memory-bank.description = Stores information for a logic processor. High c block.logic-display.description = Displays arbitrary graphics from a logic processor. block.large-logic-display.description = Displays arbitrary graphics from a logic processor. block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. -unit.dagger.description = Fires standard bullets at all nearby enemies. -unit.mace.description = Fires streams of flame at all nearby enemies. -unit.fortress.description = Fires long-range artillery at ground targets. -unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. -unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. -unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. -unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. -unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. -unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. -unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. -unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +#Erekir +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing bullets at enemy targets. +block.diffuse.description = Fires bursts of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires massive explosive artillery shells at ground targets. Requires hydrogen. +block.afflict.description = Fires massive charged orbs of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a continuous slow-moving single-target laser at enemy targets. +block.scathe.description = Launches powerful missiles at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Applies heat to structures. Requires large amounts of power. +block.slag-heater.description = Applies heat to structures. Requires slag. +block.phase-heater.description = Applies heat to structures. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Splits water into hydrogen and ozone gas. Outputs resulting gases in two opposite directions, marked by corresponding colors. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Creates surge alloy from silicon and metals constituent in slag. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power.\nOptionally uses hydrogen to boost efficiency. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power.\nOptionally uses nitrogen to boost efficiency. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. +block.shielded-wall.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen.\nOptionally uses phase fabric to boost efficiency. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. + +unit.dagger.description = Fires standard bullets at enemy targets. +unit.mace.description = Fires streams of flame at enemy targets. +unit.fortress.description = Fires long-range artillery at enemy ground targets. +unit.scepter.description = Fires a barrage of charged bullets at enemy targets. +unit.reign.description = Fires a barrage of massive piercing bullets at enemy targets. +unit.nova.description = Fires laser bolts that damage enemy targets and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemy targets and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemy targets and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemy targets, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemy targets and repairs allied structures. Can step over most terrain. +unit.crawler.description = Moves toward enemy targets and self-destructs, causing a large explosion. unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. -unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. -unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. -unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. -unit.flare.description = Fires standard bullets at nearby ground targets. -unit.horizon.description = Drops clusters of bombs on ground targets. -unit.zenith.description = Fires salvos of missiles at all nearby enemies. -unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. -unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.spiroct.description = Fires sapping laser beams at enemy targets, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemy targets, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemy targets. Can step over most terrain. +unit.flare.description = Fires standard bullets at enemy ground targets. +unit.horizon.description = Drops clusters of bombs on enemy ground targets. +unit.zenith.description = Fires salvos of missiles at enemy targets. +unit.antumbra.description = Fires a barrage of bullets at enemy targets. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at enemy targets. unit.mono.description = Automatically mines copper and lead, depositing it into the core. unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. -unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. -unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. -unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. -unit.minke.description = Fires shells and standard bullets at nearby ground targets. -unit.bryde.description = Fires long-range artillery shells and missiles at enemies. -unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. -unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.quad.description = Drops plasma bombs on ground targets, repairing allied structures and damaging enemy ground targets. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with a regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at enemy targets. +unit.minke.description = Fires shells and standard bullets at enemy ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemy targets. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemy targets. +unit.omura.description = Fires a long-range piercing railgun bolt at enemy targets. Constructs flare units. unit.alpha.description = Defends the Shard core from enemies. Builds structures. unit.beta.description = Defends the Foundation core from enemies. Builds structures. unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at enemy targets. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at enemy targets. Targets enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemy targets. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts enemy targets with 4 autonomous laser turrets. + +#Erekir +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. Only attacks ground targets. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. Capable of carrying 2x2 structures. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. Capable of carrying 2x2 structures. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. Capable of carrying 2x2 structures. + +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nFor the inverse operation, sense [accent]@id[] of the object. +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a unit. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Spawn a wave. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nIf the success result variable is [accent]@wait[],\nwill wait until the previous message finishes.\nOtherwise, outputs whether displaying the message succeeded. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nLimited to 20 times a second per variable. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction.\n[accent]null []values are ignored. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. + +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees + +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles + +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup + +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) + +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction + +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server + +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True if the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Unit building logic is not allowed here. + +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. + +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlCommand[] if unit controller is a player command\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. + +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. + +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nOnly ASCII characters are allowed.\nClears the print buffer. + +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. + +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. + +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. + +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. + +#not a typo, look up 'range notation' +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. + +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. + +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. + +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. + +sensor.in = The building/unit to sense. + +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. + +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. + +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. + +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. + +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the specified position. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. + +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed color, used for line and quad markers with index zero being the first color. + +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. \ No newline at end of file diff --git a/core/assets/bundles/bundle_be.properties b/core/assets/bundles/bundle_be.properties index 59d125147c..19589067a6 100644 --- a/core/assets/bundles/bundle_be.properties +++ b/core/assets/bundles/bundle_be.properties @@ -1,4 +1,4 @@ -credits.text = Стваральнiк [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nÐÑць недапрацоўкі Ñž перакладзе або хочаце знайÑці Ñаюзнікаў Ð´Ð»Ñ ÑумеÑнай гульні?\nПішыце Ñž аф. [accent]discord-Ñервер Mindustry[] у канал [accent]#translations[].\n\nРÑдактар Ñ– перакладчык на беларуÑкую мову:\n[cyan]K[gray]evi[cyan]TV[gray]#9923\nVit_log выправіў памылкі Ñ– дапоўніў пераклад. +credits.text = Стваральнiк [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nÐÑць недапрацоўкі Ñž перакладзе або хочаце знайÑці Ñаюзнікаў Ð´Ð»Ñ ÑумеÑнай гульні?\nПішыце Ñž аф. [accent]discord-Ñервер Mindustry[] у канал [accent]#translations[].\n\nРÑдактар Ñ– перакладчык на беларуÑкую мову:\n[cyan]K[gray]evi[cyan]TV[gray]#9923\nVit_log выправіў памылкі Ñ– дапоўніў пераклад. \n[orange]monodx [gray]Ñ– Dima Pozniac дапрацавалі Ñ– паправілі памылкі Ñž перакладзе. credits = Ðўтары contributors = Перакладчык discord = ДалучайцеÑÑ Ð´Ð° нашага Discord! @@ -6,21 +6,24 @@ link.discord.description = Ðфіцыйны Discord-Ñервер Mindustry link.reddit.description = Сабреддзіт Mindustry link.github.description = Зыходны код гульні link.changelog.description = ЛіÑÑ‚ змен -link.dev-builds.description = ÐеÑÑ‚Ð°Ð±Ñ–Ð»ÑŒÐ½Ñ‹Ñ Ñ€Ð°Ð·Ð¿Ñ€Ð°Ñ†Ð¾ÑžÐ²Ð°ÐµÐ¼Ñ‹Ðµ верÑÑ–Ñ– +link.dev-builds.description = ÐеÑÑ‚Ð°Ð±Ñ–Ð»ÑŒÐ½Ñ‹Ñ Ð²ÐµÑ€ÑÑ–Ñ– Ñž раÑпрацоўцы link.trello.description = ÐÑ„Ñ–Ñ†Ñ‹Ð¹Ð½Ð°Ñ Ð´Ð¾ÑˆÐºÐ° Trello Ð´Ð»Ñ Ð·Ð°Ð¿Ð»Ð°Ð½Ð°Ð²Ð°Ð½Ñ‹Ñ… функцый link.itch.io.description = Старонка itch.io з загрузкамi гульні link.google-play.description = Спампаваць Ð´Ð»Ñ Android з Google Play link.f-droid.description = Спампаваць Ð´Ð»Ñ Android з F-Droid link.wiki.description = ÐÑ„Ñ–Ñ†Ñ‹Ð¹Ð½Ð°Ñ Ð²Ñ–ÐºÑ– link.suggestions.description = Прапанаваць Ð½Ð¾Ð²Ñ‹Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ‹Ñ– +link.bug.description = Знайшлі памылку? Паведаміць пра Ñе тут +linkopen = ГÑты Ñервер адправіў вам ÑпаÑылку. Ці жадаеце адкрыць Ñ?\n\n[sky]{0} linkfail = Ðе атрымалаÑÑ Ð°Ð´ÐºÑ€Ñ‹Ñ†ÑŒ ÑпаÑылку!\nURL-адрÑÑ Ð±Ñ‹Ñž ÑкапіÑваны Ñž буфер абмена. screenshot = Cкрыншот захаваны Ñž {0} screenshot.invalid = Карта занадта вÑлікаÑ, магчыма, не хапае памÑці Ð´Ð»Ñ Ñкрыншота. gameover = Ð“ÑƒÐ»ÑŒÐ½Ñ Ñкончана +gameover.disconnect = Ðдключаны gameover.pvp = [accent]{0}[] каманда перамагла! +gameover.waiting = [accent]Чаканне наÑтупнай карты... highscore = [accent]Ðовы Ñ€Ñкорд! copied = СкапіÑвана. -indev.popup = [accent]в6[] ÑÑˆÑ‡Ñ Ð² [accent]альфе[].\n[lightgray]ГÑта значыць:[]\n[scarlet]- ÐšÐ°Ð¼Ð¿Ð°Ð½Ñ–Ñ Ð½Ðµ завершана[]\n- ЧаÑткі гульні адÑутнічаюць\n - Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‡Ð°Ñтка [scarlet]ШІ юнітав[] можа працаваць не правільна\n- МноÑтва юнітав не дароблена\n- ÐŽÑÑ‘ што тут Ñ‘Ñць можа быць ізменена.\n\nÐб багах Ñ– крашах піÑаць на [accent]Github[]. indev.notready = ГÑта чаÑтка гульні ÑÑˆÑ‡Ñ Ð½Ðµ зроблена. load.sound = Звукі @@ -37,12 +40,25 @@ be.updating = ÐбнаулÑецца... be.ignore = Ігнараваць be.noupdates = Ðбнаўленні не знойдзены. be.check = Праверыць абнаўленні +mods.browser = Браўзер Мадыфікацый +mods.browser.selected = Ð’Ñ‹Ð±Ñ€Ð°Ð½Ð°Ñ ÐœÐ°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹ +mods.browser.add = УÑталÑваць +mods.browser.reinstall = ПерауÑталÑваць +mods.browser.view-releases = ПраглÑдзець РÑлізы +mods.browser.noreleases = [scarlet]РÑлізы Ðе ЗнойдзеныÑ\n[accent]Ðе магчыма знайÑці Ñ€Ñлізы Ð´Ð»Ñ Ð³Ñтай мадыфікацыі. Праверце ці гÑÑ‚Ð°Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ ÑƒÑ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°Ðµ Ð°Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ð²Ð°Ð½Ñ‹Ñ Ñ€Ñлізы. +mods.browser.latest = <ÐпошніÑ> +mods.browser.releases = РÑлізы +mods.github.open = РÑпазіторый +mods.github.open-release = Стпронка РÑлізаў +mods.browser.sortdate = Сартаваць па нÑдаўнÑму +mods.browser.sortstars = Сартаваць па зоркам schematic = Схема schematic.add = Захаваць Ñхему... schematics = Схемы -schematic.replace = Схема Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ імем ўжо Ñ–Ñнуе. ЗамÑніць Ñе? -schematic.exists = Схема Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼ імем ўжо Ñ–Ñнуе. +schematic.search = Пошук Ñхемы... +schematic.replace = Схема Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð¹ назвай ужо Ñ–Ñнуе. ЗамÑніць Ñе? +schematic.exists = Схема Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð¹ назвай ужо Ñ–Ñнуе. schematic.import = Імпартаваць Ñхему... schematic.exportfile = ЭкÑпартаваць файл schematic.importfile = Імпартаваць файл @@ -53,20 +69,28 @@ schematic.shareworkshop = ПадзÑліцца Ñž МайÑÑ‚Ñрні schematic.flip = [accent][[{0}][]/[accent][[{1}][]: ÐдлюÑтраваць Ñхему schematic.saved = Схема захавана. schematic.delete.confirm = ГÑÑ‚Ð°Ñ Ñхема будзе выдалена. -schematic.rename = Перайменаваць Ñхему +schematic.edit = РÑдагаваць Ñхему schematic.info = {0}x{1}, {2} блокаў schematic.disabled = [scarlet]Схемы забаронены[]\nВам нельга выкарыÑтоўваць Ñхемы на гÑтай [accent]карце[] альбо [accent]Ñерверы. +schematic.tags = ТÑгі: +schematic.edittags = Правіць ТÑг +schematic.addtag = Дадаць ТÑг +schematic.texttag = ТÑкÑтавы ТÑгу +schematic.icontag = Іконкавы ТÑгу +schematic.renametag = Пераназваць ТÑг +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Выдаліць гÑты Ñ‚Ñг цалкам? +schematic.tagexists = Такі Ñ‚Ñг ужо Ñ‘Ñць. +stats = Вынікі +stats.wave = ХвалÑÑž Пераможана +stats.unitsCreated = Ðдзінкаў Створана +stats.enemiesDestroyed = Ворагаў Знішчана +stats.built = Пабудавана Будынкаў +stats.destroyed = Знішчана Будынкаў +stats.deconstructed = ДÑкнÑтруÑвана Будынкаў +stats.playtime = Ð§Ð°Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ– -stat.wave = ХвалÑÑž адлюÑтравана:[accent] {0} -stat.enemiesDestroyed = Ворагаў знішчана:[accent] {0} -stat.built = Будынкаў пабудавана:[accent] {0} -stat.destroyed = Будынкаў знішчана:[accent] {0} -stat.deconstructed = Будынкаў дÑканÑтруÑвана:[accent] {0} -stat.delivered = РÑÑурÑаў запушчана: -stat.playtime = Ð§Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–:[accent] {0} -stat.rank = Фінальны ранг: [accent]{0} - -globalitems = [accent]Global Items +globalitems = [accent]УÑе Прадметы map.delete = Ð’Ñ‹ Ñапраўды хочаце выдаліць карту «[accent]{0}[]»? level.highscore = РÑкорд: [accent]{0} level.select = Выбар карты @@ -74,12 +98,15 @@ level.mode = РÑжым гульні: coreattack = < Ядро знаходзіцца пад атакай! > nearpoint = [[ [scarlet]ПÐКІÐЬЦЕ КРОПКУ ВЫСÐДКІ ÐЕÐДКЛÐДÐÐ[] ]\nанігілÑÑ†Ñ‹Ñ Ð½ÐµÐ¿Ð°Ð·Ð±ÐµÐ¶Ð½Ð° database = База дадзеных Ñдра -savegame = Захаваць гульню -loadgame = Спампаваць гульню -joingame = Ð¡ÐµÑ‚ÐºÐ°Ð²Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ -customgame = КарыÑÑ‚Ð°Ñ†ÐºÐ°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ -newgame = ÐÐ¾Ð²Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ -none = <ничога> +database.button = База Дадзеных +savegame = Захаваць Гульню +loadgame = Спампаваць Гульню +joingame = Ð¡ÐµÑ‚ÐºÐ°Ð²Ð°Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ +customgame = КарыÑÑ‚Ð°Ð»ÑŒÐ½Ñ–Ñ†ÐºÐ°Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ +newgame = ÐÐ¾Ð²Ð°Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ +none = <нічога> +none.found = [lightgray]<нічога не знойдзена> +none.inmap = [lightgray]<нічога не знойдзена на карце> minimap = Міні-карта position = Каардынаты close = Зачыніць @@ -99,33 +126,47 @@ uploadingpreviewfile = Выгрузка файла прадпраглÑду committingchanges = УнÑÑенне змÑненнÑÑž done = Гатова feature.unsupported = Ваша прылада не падтрымлівае гÑтую магчымаÑць. - -mods.alphainfo = Майце на ўвазе, што мадыфікацыі знаходзÑцца Ñž альфа-верÑÑ–Ñ– Ñ– [scarlet]могуць утрымліваць шмат памылак[]. Дакладвайце аб любых праблемах, ÑÐºÑ–Ñ Ð’Ñ‹ знойдзеце Ñž Mindustry Github або Discord. +mods.initfailed = [red]âš [] ПапÑÑ€Ñдні аÑобнік Mindustry не атрымалаÑÑ Ñ–Ð½Ñ–Ñ†Ñ‹Ñлізаваць. ГÑта напÑўна выклікана тым, што моды не працуюць належным чынам.\n\nКаб прадухіліць цыкл збоÑÑž, [red]уÑе моды былі адключаныÑ.[] mods = Мадыфікацыі mods.none = [lightgray]Мадыфікацыі не знойдзены! mods.guide = Кіраўніцтва па мадам mods.report = Паведаміць пра памылку mods.openfolder = Ðдкрыць Ñ‚Ñчку з мадыфікацыÑмі -mods.reload = Reload +mods.viewcontent = ПрашлÑдзець КантÑнт +mods.reload = ПеразапуÑк mods.reloadexit = Ð“ÑƒÐ»ÑŒÐ½Ñ Ð·Ð°Ñ€Ð°Ð· закроецца, каб ÑžÑталÑваць мады. +mod.installed = [[УÑталÑвана] mod.display = [gray]МадыфікацыÑ:[orange] {0} mod.enabled = [lightgray]Уключана mod.disabled = [scarlet]Выключана +mod.multiplayer.compatible = [gray]МногакарыÑтальніцка-СумÑшчальна mod.disable = Выкл. +mod.version = Version: mod.content = ЗмеÑÑ‚: mod.delete.error = Ðемагчыма выдаліць мадыфікацыю. Магчыма, файл выкарыÑтоўваецца. -mod.requiresversion = [scarlet]ÐœÑ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð¿Ð°Ñ‚Ñ€Ð°Ð±Ð°Ð²Ð°Ð½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–: [accent]{0} -mod.outdated = [scarlet]Ðе ÑумÑшчальна з в6 (нÑма minGameVersion: 105) -mod.missingdependencies = [scarlet]Ðе знойдзены бацькоўÑÐºÑ–Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ–: {0} -mod.erroredcontent = [scarlet]Памылкі змеÑціва +mod.incompatiblegame = [red]ЗаÑтарÑÐ»Ð°Ñ Ð’ÐµÑ€ÑÑ–Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ– +mod.incompatiblemod = [red]ÐеÑумÑшчальна +mod.blacklisted = [red]Ðе Падтрымліваецца +mod.unmetdependencies = [red]ЗалежнаÑці Ðе Вырашаны +mod.erroredcontent = [scarlet]Памылкі ЗмеÑціва +mod.circulardependencies = [red]ÐšÑ€ÑƒÐ³Ð°Ð²Ñ‹Ñ Ð—Ð°Ð»ÐµÐ¶Ð½Ð°Ñці +mod.incompletedependencies = [red]ÐÑÐ¿Ð¾ÑžÐ½Ñ‹Ñ Ð—Ð°Ð»ÐµÐ¶Ð½Ð°Ñці +mod.requiresversion.details = Патрабуецца верÑÑ–Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–: [accent]{0}[]\nВаша Ð³ÑƒÐ»ÑŒÐ½Ñ Ð·Ð°ÑтарÑлаÑ. ГÑÑŒÐ°Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð¿Ð°Ñ‚Ñ€Ð°Ð±ÑƒÐµ навейшую верÑÑ–ÑŽ гульні (магчыма beta/alpha Ñ€Ñлізы) как функцыÑнаваць. +mod.outdatedv7.details = ГÑта Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð½ÐµÑумÑÑˆÑ‡Ð°Ð»ÑŒÐ½Ð°Ñ Ð· гÑтай верÑÑ–Ñй гульні. Ðўтар павінен абнавіць гÑтую мадыфікацыю, Ñ– дабаўце [accent]minGameVersion: 136[] да гÑіага [accent]mod.json[] файлу. +mod.blacklisted.details = ГÑта Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð±Ñ‹Ð»Ð° ўручную дададзена Ñž чорны ÑÐ¿Ñ–Ñ Ð´Ð»Ñ Ð²Ñ‹ÐºÐ»Ñ–ÐºÐ°ÑŽÑ‡Ñ‹Ñ… Ð´Ñ€ÑƒÐ³Ñ–Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÑ– з гÑтай верÑÑ–Ñй гульні. Ðе выкарыÑтоўвайце гÑта. +mod.missingdependencies.details = ГÑта Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð¼Ð°Ðµ Ð¿Ñ€Ð°Ð¿ÑƒÑˆÑ‡Ð°Ð½Ñ‹Ñ Ð·Ð°Ð»ÐµÐ¶Ð½Ð°Ñці: {0} +mod.erroredcontent.details = ГÑта Ð³ÑƒÐ»ÑŒÐ½Ñ Ð²Ñ‹ÐºÐ»Ñ–ÐºÐ°Ð»Ð° памылкі калі запуÑкалаÑÑ. Спытайце аўтара мадыфікацыі Ñк гÑта папрвіць. +mod.circulardependencies.details = ГÑÑ‚Ð°Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð¼Ð°Ðµ залежнаÑці ÑÐºÑ–Ñ Ð·Ð°Ð»ÐµÐ¶Ð°Ñ†ÑŒ ад другіх. +mod.incompletedependencies.details = ГÑÑ‚Ð°Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð½Ðµ можа быць Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°Ð½Ð°Ñ Ð·-за неÑапраўдных або прапушчаных залежнаÑцей: {0}. +mod.requiresversion = Патрабуецца верÑÑ–Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–: [red]{0} mod.errors = Памылкі былі Ð²Ñ‹ÐºÐ»Ñ–ÐºÐ°Ð½Ñ‹Ñ Ð·Ð°Ð³Ñ€ÑƒÐ¶Ð°Ð½Ñ‹Ð¼ змеÑцівам. mod.noerrorplay = [scarlet]У Ð’Ð°Ñ Ñ‘Ñць мадыфікацыі з памылкамі.[] Выключыце Ð¿Ñ€Ð°Ð±Ð»ÐµÐ¼Ð½Ñ‹Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ– або выпраўце памылкі перад гульнёй. mod.nowdisabled = [scarlet]Мадыфікацыі '{0}' патрабуюцца бацькоўÑÐºÑ–Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ–:[accent] {1}\n[lightgray]Спачатку трÑба загрузіць Ñ–Ñ….\nГÑÑ‚Ð°Ñ Ð¼Ð°Ð´Ñ‹Ñ„Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ð±ÑƒÐ´Ð·Ðµ аўтаматычна адключанаÑ. mod.enable = Укл. mod.requiresrestart = ЦÑпер Ð³ÑƒÐ»ÑŒÐ½Ñ Ð·Ð°Ñ‡Ñ‹Ð½Ñ–Ñ†Ñ†Ð°, каб прымÑніць змены Ñž мадыфікацыÑÑ…. mod.reloadrequired = [scarlet]Ðеабходны перазапуÑк -mod.import = Імпартаваць мадыфікацыю -mod.import.file = Import File +mod.import = Імпартаваць Мадыфікацыю +mod.import.file = Імпартаваць Файл mod.import.github = Імпартаваць мод з GitHub mod.jarwarn = [scarlet]JAR-мады не бÑÑпечны па прынцыпу.[]\nПраверце, што імпартуеце гÑты мод Ñ Ð½Ð°Ð´Ð·ÐµÐ¹Ð½Ð°Ð¹ крыніцы! mod.item.remove = ГÑты прадмет з’ÑўлÑецца чаÑткай мадыфікацыі [accent]«{0}»[]. Каб выдаліць Ñго, выдаліце Ñаму мадыфікацыю. @@ -135,23 +176,35 @@ mod.missing = ГÑта захаванне ўтрымлівае мадыфіка mod.preview.missing = Перад публікацыÑй гÑтай мадыфікацыі Ñž майÑÑ‚Ñрні, вы павінны дадаць малюнак прадпраглÑду.\nРазмеÑціце малюнак з імем[accent] preview.png[] у Ñ‚Ñчцы мадыфікацыі Ñ– паÑпрабуйце зноў. mod.folder.missing = Мадыфікацыі могуць быць Ð°Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ð²Ð°Ð½Ñ‹Ñ Ñž майÑÑ‚Ñрні толькі Ñž выглÑдзе Ñ‚Ñчкі.\nКаб канвертаваць любы мод у Ñ‚Ñчку, проÑта выміце Ñго з архіва Ñ– выдаліце Ñтары архіў .zip, затым перазапуÑціце гульню ці перазагрузіце мадыфікацыі. mod.scripts.disable = Ваша прылада не падтрымлівае мадыфікацыі з Ñкріптамі. Выключайце такіе мады, как гулÑць. - about.button = Ðб гульні name = ІмÑ: noname = Ð”Ð»Ñ Ð¿Ð°Ñ‡Ð°Ñ‚ÐºÑƒ, прыдумайце[accent] Ñабе iмÑ[]. +search = Пошук: planetmap = Карта планеты launchcore = ЗапуÑціць Ñдро filename = IÐ¼Ñ Ñ„Ð°Ð¹Ð»Ð°: unlocked = Ðовы кантÑнт адмыкнуты! +available = Ðовае даÑледаванне адымкнута! +unlock.incampaign = < Ðдымкніце Ñž кампаніі каб атрымаць дÑталі > +campaign.select = Выбраць Пачатковую Кампанію +campaign.none = [lightgray]Выберыце з Ñкой планеты пачаць.\nГÑта можна змÑніць Ñž любы чаÑ. +campaign.erekir = Ðавей, больш удаÑканаленага кантÑнту. Больш лінейнае праходжанне кампаніі.\n\nБольш ÑкаÑÐ½Ñ‹Ñ ÐºÐ°Ñ€Ñ‚Ñ‹ Ñ– агульны вопыт. +campaign.serpulo = СтарÑйшы кантÑнт; клаÑічны вопыт. Больш адкрытаÑ.\n\nЗуÑім не збаланÑÐ°Ð²Ð°Ð½Ñ‹Ñ ÐºÐ°Ñ€Ñ‚Ñ‹ Ñ– механікі кампаніі. Менш удаÑканаленага. +campaign.difficulty = Difficulty completed = [accent]Завершаны -techtree = ДрÑва\n Ñ‚Ñхналогій +techtree = ДрÑва\n ТÑхналогій +techtree.select = Выбар ДрÑва ТÑхналогій +techtree.serpulo = Серпуло +techtree.erekir = ЭрÑкір +research.load = Загрузіць +research.discard = ÐдмÑніць research.list = [lightgray]ДаÑьледуйце: research = ДаÑледаваць researched = [lightgray] {0} даÑледавана. research.progress = {0}% завершана players = Гульцоў: {0} players.single = {0} гулец -players.search = search +players.search = пошук players.notfound = [gray]гульцоу не знойдзена server.closing = [accent]Закрыццё Ñервера… server.kicked.kick = Ð’Ð°Ñ Ð²Ñ‹Ð³Ð½Ð°Ð»Ñ– з Ñервера! @@ -163,7 +216,7 @@ server.kicked.serverOutdated = СаÑтарÑлы Ñервер! Папытаец server.kicked.banned = Ð’Ñ‹ Ð·Ð°Ð±Ð»Ð°ÐºÐ°Ð²Ð°Ð½Ñ‹Ñ Ð½Ð° гÑтым Ñерверы. server.kicked.typeMismatch = ГÑты Ñервер не ÑумÑшчальны з вашым тыпам зборкі. server.kicked.playerLimit = ГÑты Ñервер запоўнены. ДачакайцеÑÑ Ð²Ð¾Ð»ÑŒÐ½Ð°Ð³Ð° Ñлота. -server.kicked.recentKick = Ð’Ð°Ñ Ð½Ñдаўна выгналі. пПодождите трохі перад наÑтупным падключÑннем. +server.kicked.recentKick = Ð’Ð°Ñ Ð½Ñдаўна выгналі. пПодождте трохі перад наÑтупным падключÑннем. server.kicked.nameInUse = Ðа гÑтым Ñерверы Ñ‘Ñць хто-то з гÑтым імем. server.kicked.nameEmpty = Ðбранае Вамі Ñ–Ð¼Ñ Ð½ÐµÐ´Ð°Ð¿ÑƒÑˆÑ‡Ð°Ð»ÑŒÐ½Ð°. server.kicked.idInUse = Ð’Ñ‹ ўжо на гÑтым Ñерверы! ЗлучÑнне з двума ўліковымі запіÑамі не дазволена. @@ -171,11 +224,11 @@ server.kicked.customClient = ГÑты Ñервер не падтрымлівае server.kicked.gameover = Ð“ÑƒÐ»ÑŒÐ½Ñ Ñкончана! server.kicked.serverRestarting = Сервер перазапуÑкаецца. server.versions = Ваша верÑÑ–Ñ: [accent] {0}[]пВерÑiÑ Ñервера: [accent] {1}[] -host.info = Кнопка [accent] адкрыць Ñервер[] запуÑкае Ñервер на порце [scarlet] 6567[].\nлюбой карыÑтальнік Ñž той жа [lightgray] лакальнай Ñеткі або WiFi[] павінен убачыць ваш Ñервер у Ñваім ÑпіÑе Ñервераў.\n \nеÑлі вы хочаце, каб людзі маглі падлучацца адкуль заўгодна па IP, то патрабуецца [accent]пераадраÑÐ°Ñ†Ñ‹Ñ (проброÑ) партоў[] Ñ– наÑўнаÑць [red]знешнÑга[] WAN адраÑÑ‹ (WAN Ð°Ð´Ñ€Ð°Ñ [red]не павінен[] пачынацца з [red] 10[] [lightgray].X. X. x[], [red] 100.64[] [lightgray].X. x[], [red] 172.16[] [lightgray].X. x[], [red] 192.168[] [lightgray].X. x[], [red] 127[] [lightgray].x.x.x[])! пКлиентам мабільных аператараў трÑба ўдакладнÑць інфармацыю Ñž аÑабіÑтым кабінеце на Ñайце вашага аператара!\n \n [lightgray] Заўвага: калі Ñž каго-то ўзнікаюць праблемы з падключÑннем да вашай гульні па лакальнай Ñеткі, пераканайцеÑÑ, што вы дазволілі доÑтуп Mindustry да вашай лакальнай Ñеткі Ñž наладах брандмаўÑра. ЗвÑрніце ўвагу, што Ð¿ÑƒÐ±Ð»Ñ–Ñ‡Ð½Ñ‹Ñ Ñеткі чаÑам не дазвалÑюць выÑўленне Ñервера. -join.info = Тут вы можаце ўвеÑці [accent]IP-Ð°Ð´Ñ€Ð°Ñ Ñервера[] Ð´Ð»Ñ Ð¿Ð°Ð´Ð»ÑƒÑ‡ÑÐ½Ð½Ñ Ð°Ð±Ð¾ адкрыць [accent]лакальную Ñетку[] Ð´Ð»Ñ Ð¿Ð°Ð´Ð»ÑƒÑ‡ÑÐ½Ð½Ñ Ð´Ð° іншых Ñерверам.\nПоддерживаютÑÑ Ð°Ð±Ð¾Ð´Ð²Ð° шматкарыÑтальніцкіх Ñ€Ñжыму: LAN Ñ– WAN.\n \n [lightgray] Заўвага: ГÑта не аўтаматычны глабальны ÑÐ¿Ñ–Ñ Ñервераў; калі вы хочаце падлучыцца да каго-то па IP, вам трÑба Ñпытаць у хаÑта Ñго IP-адраÑ. +host.info = Кнопка [accent] адкрыць Ñервер[] запуÑкае Ñервер на порце [scarlet] 6567[].\nлюбой карыÑтальнік Ñž той жа [lightgray] лакальнай Ñеткі або WiFi[] павінен убачыць ваш Ñервер у Ñваім ÑпіÑе Ñервераў.\n \nеÑлі вы хочаце, каб людзі маглі падлучацца адкуль заўгодна па IP, то патрабуецца [accent]пераадраÑÐ°Ñ†Ñ‹Ñ (проброÑ) партоў[] Ñ– наÑўнаÑць [red]знешнÑга[] WAN адраÑÑ‹ (WAN Ð°Ð´Ñ€Ð°Ñ [red]не павінен[] пачынацца з [red] 10[] [lightgray].X. X. x[], [red] 100.64[] [lightgray].X. x[], [red] 172.16[] [lightgray].X. x[], [red] 192.168[] [lightgray].X. x[], [red] 127[] [lightgray].x.x.x[])! пКлентам мабільных аператараў трÑба ўдакладнÑць інфармацыю Ñž аÑабіÑтым кабінеце на Ñайце вашага аператара!\n \n [lightgray] Заўвага: калі Ñž каго-то ўзнікаюць праблемы з падключÑннем да вашай гульні па лакальнай Ñеткі, пераканайцеÑÑ, што вы дазволілі доÑтуп Mindustry да вашай лакальнай Ñеткі Ñž наладах брандмаўÑра. ЗвÑрніце ўвагу, што Ð¿ÑƒÐ±Ð»Ñ–Ñ‡Ð½Ñ‹Ñ Ñеткі чаÑам не дазвалÑюць выÑўленне Ñервера. +join.info = Тут вы можаце ўвеÑці [accent]IP-Ð°Ð´Ñ€Ð°Ñ Ñервера[] Ð´Ð»Ñ Ð¿Ð°Ð´Ð»ÑƒÑ‡ÑÐ½Ð½Ñ Ð°Ð±Ð¾ адкрыць [accent]лакальную Ñетку[] Ð´Ð»Ñ Ð¿Ð°Ð´Ð»ÑƒÑ‡ÑÐ½Ð½Ñ Ð´Ð° іншых Ñерверам.\nПоддержваютÑÑ Ð°Ð±Ð¾Ð´Ð²Ð° шматкарыÑтальніцкіх Ñ€Ñжыму: LAN Ñ– WAN.\n \n [lightgray] Заўвага: ГÑта не аўтаматычны глабальны ÑÐ¿Ñ–Ñ Ñервераў; калі вы хочаце падлучыцца да каго-то па IP, вам трÑба Ñпытаць у хаÑта Ñго IP-адраÑ. hostserver = ЗапуÑціць шматкарыÑтальніцкі Ñервер invitefriends = ЗапраÑіць ÑÑброў -hostserver.mobile = ЗапуÑціць пÑервер +hostserver.mobile = ЗапуÑціць Ñервер host = Ðдкрыць Ñервер hosting = [accent] Сервер адкрываецца… hosts.refresh = Ðбнавіць @@ -183,19 +236,35 @@ hosts.discovering = Пошук лакальных гульнÑÑž hosts.discovering.any = Пошук гульнÑÑž server.refreshing = Ðбнаўленне Ñервера hosts.none = [lightgray] Лакальных гульнÑÑž не выÑўлена! -host.invalid = [scarlet]Ðе атрымоўваецца падлучыцца да хаÑту. +host.invalid = [scarlet]Ðе атрымліваецца падлучыцца да хаÑту. servers.local = Ð›Ð°ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñерверы +servers.local.steam = ÐÐ´ÐºÑ€Ñ‹Ñ‚Ñ‹Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ– Ñ– Ð›Ð°ÐºÐ°Ð»ÑŒÐ½Ñ‹Ñ Ð¡ÐµÑ€Ð²ÐµÑ€Ñ‹ servers.remote = Ð’Ñ‹Ð´Ð°Ð»ÐµÐ½Ñ‹Ñ Ñерверы servers.global = Ð“Ð»Ð°Ð±Ð°Ð»ÑŒÐ½Ñ‹Ñ Ñерверы +servers.disclaimer = Ð¡ÑƒÐ¿Ð¾Ð»ÑŒÐ½Ñ‹Ñ Ð¡ÐµÑ€Ð²ÐµÑ€Ñ‹ [accent]не[] звÑзаны або не кантралююцца раÑпрацоўшчыкам.\n\nГÑÑ‚Ñ‹Ñ Ñерверы могуць утрымліваць згенераваны карыÑтальнікамі кантÑнт Ñкі можа падыйÑці не да уÑÑ–Ñ… узроÑтаў. +servers.showhidden = Паказаць Ð¡Ñ…Ð°Ð²Ð°Ð½Ñ‹Ñ Ð¡ÐµÑ€Ð²ÐµÑ€Ñ‹ +server.shown = Ð‘Ð°Ñ‡Ð½Ñ‹Ñ +server.hidden = Ð¡Ñ…Ð°Ð²Ð°Ð½Ñ‹Ñ +viewplayer = ПраглÑд Гульца: [accent]{0} trace = ÐдÑочваць гульца trace.playername = IÐ¼Ñ Ð³ÑƒÐ»ÑŒÑ†Ð°: [accent]{0} trace.ip = IP: [accent]{0} trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Мабільны кліент: [accent]{0} -trace.modclient = КарыÑтацкі кліент: [accent]{0} +trace.modclient = КарыÑтальніцкі кліент: [accent]{0} +trace.times.joined = Разоў Падлучана: [accent]{0} +trace.times.kicked = Разоў Выгнана: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Ðедапушчальны ID кліента! Ðдпраўце Ñправаздачу пра памылку. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Блакаваннi server.bans.none = Заблакаваных гульцоў нÑма! server.admins = ÐдмініÑтратары @@ -206,29 +275,33 @@ server.edit = РÑдагаваць Ñервер server.outdated = [crimson]СаÑтарÑлы Ñервер![] server.outdated.client = [crimson]СаÑтарÑлы кліент![] server.version = [gray]ВерÑÑ–Ñ: {0} {1} -server.custombuild = [accent]карыÑÑ‚Ð°Ñ†ÐºÐ°Ñ Ð·Ð±Ð¾Ñ€ÐºÐ° +server.custombuild = [accent]карыÑÑ‚Ð°Ð»ÑŒÐ½Ñ–Ñ†ÐºÐ°Ñ Ð·Ð±Ð¾Ñ€ÐºÐ° confirmban = Ð’Ñ‹ Ñапраўды хочаце заблакаваць гÑтага гульца? confirmkick = Ð’Ñ‹ Ñапраўды хочаце выгнаць гÑтага гульца? -confirmvotekick = Ð’Ñ‹ Ñапраўды хочаце галаÑаваннем выгнаць гÑтага гульца? confirmunban = Ð’Ñ‹ Ñапраўды хочаце разблакаваць гÑтага гульца? confirmadmin = Ð’Ñ‹ Ñапраўды хочаце зрабіць гÑтага гульца адмініÑтратарам? confirmunadmin = Ð’Ñ‹ Ñапраўды хочаце прыбраць гÑтага гульца з адмініÑтратараў? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Далучыцца да гульні joingame.ip = ÐдраÑ: disconnect = Ðдключана. -disconnect.error = Памылка злучÑннÑ. +disconnect.error = Памылка злучÑннÑ. disconnect.closed = ЗлучÑнне закрыта. disconnect.timeout = Ð§Ð°Ñ Ñ‡Ð°ÐºÐ°Ð½Ð½Ñ ÑкончыўÑÑ. disconnect.data = Памылка пры загрузцы дадзеных Ñвету! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Ðе ўдаецца далучыцца да гульні ([accent]{0}[]). connecting = [accent]ПадключÑнне… +reconnecting = [accent]ПерападключÑнне... connecting.data = [accent]Загрузка дадзеных Ñвету… server.port = Порт: -server.addressinuse = Дадзены Ð°Ð´Ñ€Ð°Ñ ÑƒÐ¶Ð¾ выкарыÑтоўваецца! server.invalidport = ÐÑправільны нумар порта! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [барвовы]Памылка ÑтварÑÐ½Ð½Ñ Ñервера. save.new = Ðовае захаванне save.overwrite = Ð’Ñ‹ ўпÑўненыÑ, што жадаеце перазапіÑаць\nгÑты Ñлот Ð´Ð»Ñ Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ? +save.nocampaign = Ð†Ð½Ð´Ñ‹Ð²Ñ–Ð´ÑƒÐ°Ð»ÑŒÐ½Ñ‹Ñ Ñ„Ð°Ð¹Ð»Ñ‹ Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½Ñ–Ñ– нельга імпартаваць. overwrite = ПеразапіÑаць save.none = Ð—Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ð½Ðµ знойдзены! savefail = Ðе атрымалаÑÑ Ð·Ð°Ñ…Ð°Ð²Ð°Ñ†ÑŒ гульню! @@ -239,7 +312,7 @@ save.import.invalid = [accent]ГÑта захаванне неÑапраўдна save.import.fail = [crimson]Ðемагчыма імпартаваць захаванне: [accent]{0} save.export.fail = [crimson]Ðе атрымалаÑÑ ÑкÑпартаваць захаванне: [accent]{0} save.import = Імпартаваць захаванне -save.newslot = Ð˜Ð¼Ñ ÑохранениÑ: +save.newslot = Ð¼Ñ ÑохраненÑ: save.rename = Перайменаваць save.rename.text = ÐÐ¾Ð²Ð°Ñ Ð½Ð°Ð·Ð²Ð°: selectslot = ВыбÑрыце захаванне. @@ -249,6 +322,7 @@ save.corrupted = [accent]Захаваны файл пашкоджаны або empty = <пуÑта> on = Вкл off = Выкл +save.search = Пошук захаваных гульнÑÑž... save.autosave = Ðўтазахаванне: {0} save.map = Карта: {0} save.wave = Ð¥Ð²Ð°Ð»Ñ {0} @@ -264,9 +338,33 @@ ok = ОК open = Ðдкрыць customize = наладзіць правілы cancel = адмена +command = Камандаваць +command.queue = [lightgray][Queuing] +command.mine = Дабываць +command.repair = Рамантаваць +command.rebuild = Перабудоўваць +command.assist = Следаваць За Гульцом +command.move = Рухацца +command.boost = УзлÑцець +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = адкрыць ÑпаÑылку copylink = ÑкапіÑваць ÑпаÑылку back = Ðазад +max = Max +objective = МÑты Мапы +crash.export = ЭкÑпартаваць Логі ЗбоÑÑž +crash.none = Ðе найдзена логаў збоÑÑž. +crash.exported = Логі збоÑÑž ÑкÑпартаваныÑ. data.export = ЭкÑпартаваць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ data.import = Імпартаваць Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ data.openfolder = Ðдкрыць Ñ‚Ñчку з дадзенымі @@ -274,23 +372,28 @@ data.exported = Ð”Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ ÑкÑпартаваныÑ. data.invalid = ГÑÑ‚Ñ‹Ñ Ð³ÑƒÐ»ÑŒÐ½ÑÐ²Ñ‹Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ð·â€™ÑўлÑюцца неÑапраўднымі. data.import.confirm = Імпарт знешніх дадзеных ÑатрÑ[scarlet] уÑе[] Вашы гульнÑÐ²Ñ‹Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ.\n[accent]ГÑта не можа быць адменена![]\n\nЯк толькі Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ñ–Ð¼Ð¿Ð°Ñ€Ñ‚Ð°Ð²Ð°Ð½Ñ‹Ñ, Ваша Ð³ÑƒÐ»ÑŒÐ½Ñ Ð½ÐµÐ°Ð´ÐºÐ»Ð°Ð´Ð½Ð° зачыніцца. quit.confirm = Ð’Ñ‹ ўпÑўненыÑ, што хочаце выйÑці? -quit.confirm.tutorial = Ð’Ñ‹ ўпÑўненыÑ, што ведаеце, што робіце?\nÐавучанне можа быць паўторна запушчана праз[accent] Ðаладжваньне->ГульнÑ->Ðдкрыць навучанне.[] loading = [accent]Загрузка… -reloading = [accent]Перазагрузка мадыфікацый... +downloading = [accent]УÑталёука... saving = [accent]Захаванне… respawn = [accent][[{0}][] да вазраджÑÐ½Ð½Ñ Ð· Ñдра cancelbuilding = [accent][[{0}][] Ð´Ð»Ñ Ð°Ñ‡Ñ‹Ñткі плана selectschematic = [accent][[{0}][] вылучыць Ñ– ÑкапіÑваць pausebuilding = [accent][[{0}][] Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð½Ñ Ð±ÑƒÐ´Ð°ÑžÐ½Ñ–Ñ†Ñ‚Ð²Ð° resumebuilding = [scarlet][[{0}][] Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñгу будаўніцтва +enablebuilding = [scarlet][[{0}][] to enable building +showui = КарыÑтальніцкі ІнтÑÑ€Ñ„ÐµÐ¹Ñ Ñхаванф.\nÐаціÑніце [accent][[{0}][] каб паказаць КарыÑтальніцкі ІнтÑрфейÑ. +commandmode.name = [accent]РÑжым Загадаў +commandmode.nounits = [нÑма адзінкаў] wave = [accent]Ð¥Ð²Ð°Ð»Ñ {0} -wave.cap = [accent]Wave {0}/{1} +wave.cap = [accent]Ð¥Ð°Ð²Ð»Ñ {0}/{1} wave.waiting = [lightgray]Ð¥Ð²Ð°Ð»Ñ Ð¿Ñ€Ð°Ð· {0} wave.waveInProgress = [lightgray]Ð¥Ð²Ð°Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñгваецца waiting = [lightgray]Чаканне… waiting.players = Чаканне гульцоў… wave.enemies = Ворагаў: [lightgray]{0} -wave.enemy = ЗаÑтаўÑÑ [lightgray]{0}[] ворагаў +wave.enemycores = [accent]{0}[lightgray] Варожых Ядзер +wave.enemycore = [accent]{0}[lightgray] Варожае Ядро +wave.enemy = ЗаÑтаўÑÑ [lightgray]{0}[] вораг wave.guardianwarn = Вартаўнік будзе паÑÐ»Ñ [accent]{0}[] хвалей. wave.guardianwarn.one = Вартаўнік будзе паÑÐ»Ñ [accent]{0}[] хвалі. loadimage = Загрузіць малюнак @@ -300,9 +403,9 @@ custom = КарыÑÑ‚Ð°Ñ†ÐºÐ°Ñ builtin = Ð£Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð°Ñ map.delete.confirm = Ð’Ñ‹ Ñапраўды жадаеце выдаліць гÑтую карту? ГÑта дзеÑнне не можа быць адменена! map.random = [accent]Ð’Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° -map.nospawn = ГÑÑ‚Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° не мае ні аднаго Ñдра, у Ñкім гулец можа з’Ñвіцца! Дадайце[accent] аранжавае[] Ñдро на гÑтую карту Ñž Ñ€Ñдактары. -map.nospawn.pvp = У гÑтай карты нÑма варожых Ñдраў, у Ñкіх гулец можа з’Ñвіцца! Дадайце[scarlet] не аранжавае[] Ñдро на гÑтую карту Ñž Ñ€Ñдактары. -map.nospawn.attack = У гÑтай карты нÑма варожых Ñдраў Ð´Ð»Ñ Ð½Ð°Ð¿Ð°Ð´Ñƒ гульцом! Дадайце[scarlet] ружовае[] Ñдро на гÑтую карту Ñž Ñ€Ñдактары. +map.nospawn = ГÑÑ‚Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° не мае ні аднаго Ñдра, у Ñкім гулец можа з’Ñвіцца! Дадайце {0} Ñдро на гÑтую карту Ñž Ñ€Ñдактары. +map.nospawn.pvp = У гÑтай карты нÑма варожых Ñдраў, у Ñкіх гулец можа з’Ñвіцца! Дадайце [scarlet]не аранжавае[] Ñдро на гÑтую карту Ñž Ñ€Ñдактары. +map.nospawn.attack = У гÑтай карты нÑма варожых Ñдраў Ð´Ð»Ñ Ð½Ð°Ð¿Ð°Ð´Ñƒ гульцом! Дадайце {0} Ñдро на гÑтую карту Ñž Ñ€Ñдактары. map.invalid = Памылка загрузкі карты: пашкоджаны або недапушчальны файл карты. workshop.update = Ðбнавіць змеÑціва workshop.error = Памылка загрузкі інфармацыі з МайÑÑ‚Ñрні: {0} @@ -310,12 +413,17 @@ map.publish.confirm = Ð’Ñ‹ ўпÑўненыÑ, што жадаеце апубл workshop.menu = Выберыце, што вы хочаце зрабіць з гÑтым прадметам. workshop.info = Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð°Ð± прадмеце changelog = Ð¡Ð¿Ñ–Ñ Ð·Ð¼ÐµÐ½ (неабавÑзкова): +updatedesc = ПеразапіÑаць Ðазву Ñ– ÐпіÑанне eula = ЛіцÑнзійнае пагадненне Steam з канчатковым карыÑтальнікам missing = ГÑты прадмет быў выдалены або перамешчаны.\n[lightgray]ÐŸÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ‹Ñ Ñž майÑÑ‚Ñрні была аўтаматычна выдаленаÑ. publishing = [accent]Ðдпраўка... publish.confirm = Ð’Ñ‹ ўпÑўненыÑ, што хочаце апублікаваць гÑты прадмет?\n\n[lightgray]ПераканайцеÑÑ, што вы Ð·Ð³Ð¾Ð´Ð½Ñ‹Ñ Ð· EULA МайÑÑ‚Ñрні, інакш Ð²Ð°ÑˆÑ‹Ñ Ð¿Ñ€Ð°Ð´Ð¼ÐµÑ‚Ñ‹ не будуць адлюÑтроўвацца! publish.error = Памылка адпраўкі прадмета: {0} steam.error = Ðемагчыма ініцыÑлізаваць паÑлугі Steam.\nПамылка: {0} +editor.planet = Планета: +editor.sector = Сектар: +editor.seed = Зерне: +editor.cliffs = Сцены К Скалам editor.brush = ПÑндаль editor.openin = Ðдкрыць у Ñ€Ñдактары @@ -328,35 +436,71 @@ editor.nodescription = Каб апублікаваць карту, Ñна пав editor.waves = Хвалі: editor.rules = Правілы: editor.generation = ГенерацыÑ: +editor.objectives = МÑты +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = РÑдагаваць Ñž гульні +editor.playtest = ТÑÑтаваць editor.publish.workshop = Ðпублікаваць у майÑÑ‚Ñрні editor.newmap = ÐÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° -editor.center = Center +editor.center = Цантраваць +editor.search = Пошук мапаў... +editor.filters = Фільтраваць Мапы +editor.filters.mode = ГульнÑÐ²Ñ‹Ñ Ð Ñжымы: +editor.filters.type = Тып Мапы: +editor.filters.search = Шукаць У: +editor.filters.author = Ðўтар +editor.filters.description = ÐпіÑанне +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = МайÑÑ‚ÑÑ€Ð½Ñ waves.title = Хвалі waves.remove = Выдаліць -waves.never = <ніколі> waves.every = кожны waves.waves = Ñ…Ð²Ð°Ð»Ñ (Ñ‹) +waves.health = Здароўе: {0}% waves.perspawn = за з’Ñўленне waves.shields = адзінак шчыта/хвалю waves.to = да +waves.spawn = зÑвілаÑÑ: +waves.spawn.all = <уÑе> +waves.spawn.select = Выбар Кропкі ЗÑÑžÐ»ÐµÐ½Ð½Ñ +waves.spawn.none = [scarlet]Ñпаўны на карце не знойдзены +waves.max = макÑімум адзінак waves.guardian = Вартаўнік waves.preview = ПапÑÑ€Ñдні праглÑд waves.edit = РÑдагавацью... +waves.random = Выпадкова waves.copy = КапіÑваць у буфер абмену waves.load = Загрузіць з буфера абмену waves.invalid = ÐÑÑÐ»ÑƒÑˆÐ½Ñ‹Ñ Ñ…Ð²Ð°Ð»Ñ– Ñž буферы абмену. waves.copied = Хвалі ÑкапіÑваныÑ. waves.none = Ворагі не былі вызначаныÑ. \nЗвÑрнiце ўвагу, што пуÑÑ‚Ñ‹Ñ Ñ…Ð²Ð°Ð»Ñ– будуць аўтаматычна Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ñ‹Ñ Ð·Ð²Ñ‹Ñ‡Ð°Ð¹Ð½Ð°Ð¹ хвалÑй. +waves.sort = Сартаваць Па +waves.sort.reverse = РÑверÑіўнае Сартаванне +waves.sort.begin = Пачатак +waves.sort.health = Здароўе +waves.sort.type = Тып +waves.search = Пошук хваль... +waves.filter = Фільтраваць Юнітав +waves.units.hide = Схаваць УÑÑ‘ +waves.units.show = Паказаць УÑÑ‘ wavemode.counts = колькацÑÑŒ адзінак wavemode.totals = уÑÑго Ð·Ð´Ð°Ñ€Ð¾ÑžÑ wavemode.health = здароўе +all = All editor.default = [lightgray]<Па змаўчанні> details = ПадрабÑзнаÑці... edit = РÑдагаваць... +variables = ÐŸÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ñ‹Ñ +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Ðазва: editor.spawn = Стварыць баÑвую адзінку editor.removeunit = Выдаліць баÑвую адзінку @@ -368,13 +512,19 @@ editor.errorlegacy = ГÑÑ‚Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° занадта ÑÑ‚Ð°Ñ€Ð°Ñ Ñ– вык editor.errornot = ГÑта не файл карты. editor.errorheader = ГÑты файл карты Ð½Ñ Ð´Ð·ÐµÐ¹Ð½Ñ–Ñ‡Ð°Ðµ або пашкоджаны. editor.errorname = Карта не мае імÑ. Можа быць, Ð’Ñ‹ Ñпрабуеце загрузіць захаванне? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Ðбнавіць editor.randomize = Выпадкова +editor.moveup = Рухацца Уверх +editor.movedown = Рухацца Уніз +editor.copy = КапіÑваць editor.apply = Ужыць editor.generate = Згене- \nраваць +editor.sectorgenerate = Згенераваць Сектар editor.resize = ЗмÑніць \nразмер editor.loadmap = Загрузіць \nкарту editor.savemap = Захаваць \nкарту +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Захавана! editor.save.noname = У Вашай карты нÑма імÑ! Ðазавіце Ñе Ñž меню Â«Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð°Ð± карце». editor.save.overwrite = Ваша карта не можа быць запіÑана па-над убудаванай карты! Калі лаÑка, увÑдзіце іншую назву Ñž меню Â«Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ Ð°Ð± карце» @@ -393,7 +543,7 @@ editor.exportimage = ЭкÑпартаваць малюнак ландшафту editor.exportimage.description = ЭкÑпартаваць файл з выÑвай карты editor.loadimage = Імпартаваць \nмалюнак editor.saveimage = ЭкÑпартаваць \nмалюнак -editor.unsaved = [scarlet]У Ð’Ð°Ñ Ñ‘Ñць неÑохранённые змены![]\nÐ’Ñ‹ ўпÑўненыÑ, што хочаце выйÑці? +editor.unsaved = [scarlet]У Ð’Ð°Ñ Ñ‘Ñць Ð½ÐµÐ·Ð°Ñ…Ð°Ð²Ð°Ð½Ñ‹Ñ Ð·Ð¼ÐµÐ½Ñ‹![]\nÐ’Ñ‹ ўпÑўненыÑ, што хочаце выйÑці? editor.resizemap = ЗмÑніць памер карты editor.mapname = Ðазва карты: editor.overwrite = [accent]Увага!\nГÑта перазапіша ўжо Ñ–Ñнуючую карту. @@ -406,22 +556,26 @@ toolmode.replace.description = Малюе толькі \nна ÑуцÑльных toolmode.replaceall = ЗамÑніць уÑÑ‘ toolmode.replaceall.description = ЗамÑніць ÑžÑе \nблокi на карце. toolmode.orthogonal = ÐÑ€Ñ‚Ð°Ð³Ð°Ð½Ð°Ð»ÑŒÐ½Ð°Ñ -toolmode.orthogonal.description = Малюе толькі \nÐ°Ñ€Ñ‚Ð¾Ð³Ð°Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð»Ñ–Ð½Ñ–Ñ–. +toolmode.orthogonal.description = Малюе толькі \nÐ°Ñ€Ñ‚Ð°Ð³Ð°Ð½Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð»Ñ–Ð½Ñ–Ñ–. toolmode.square = Квадрат -toolmode.square.description = ÐšÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð¿Ñндзаль. +toolmode.square.description = Квадратны пÑндзлік. toolmode.eraseores = Сцерці руды toolmode.eraseores.description = Сцерці толькі руды. toolmode.fillteams = ЗмÑніць каманду блокаў toolmode.fillteams.description = ЗмÑнÑе прыналежнаÑць \nблокаў да каманды. +toolmode.fillerase = Сцерці заліўку +toolmode.fillerase.description = Сцерці ÑžÑе блокі аднаго тыпу. toolmode.drawteams = ЗмÑніць каманду блока toolmode.drawteams.description = ЗмÑнÑе прыналежнаÑць \nблокаў да каманды. +toolmode.underliquid = Пад вадкаÑцÑмі +toolmode.underliquid.description = Малюе паверхні пад вадзÑÐ½Ñ‹Ñ Ð±Ð»Ð¾ÐºÑ–. filters.empty = [lightgray]ÐÑма фільтраў! Дадайце адзін пры дапамозе кнопкі ніжÑй. filter.distort = СкажÑнне filter.noise = Шум -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select +filter.enemyspawn = Выбар Варожай Кропкі ЗÑÑžÐ»ÐµÐ½Ð½Ñ +filter.spawnpath = ШлÑÑ… Да Кропкі ЗÑÑžÐ»ÐµÐ½Ð½Ñ +filter.corespawn = Выбар Ядра filter.median = МедыÑна filter.oremedian = Ð ÑƒÐ´Ð½Ñ Ð¼ÐµÐ´Ñ‹Ñна filter.blend = Змешванне @@ -433,6 +587,7 @@ filter.clear = ÐчыÑціць filter.option.ignore = Ігнараваць filter.scatter = СеÑцель filter.terrain = Ландшафт +filter.logic = Logic filter.option.scale = Маштаб фільтра filter.option.chance = Шанец filter.option.mag = Сіла прымÑÐ½ÐµÐ½Ð½Ñ @@ -441,17 +596,39 @@ filter.option.circle-scale = Маштаб круга filter.option.octaves = ЦыклічнаÑць прымÑÐ½ÐµÐ½Ð½Ñ filter.option.falloff = Спад цыклічнаÑці filter.option.angle = Кут -filter.option.amount = Amount +filter.option.tilt = Ðахіліць +filter.option.rotate = Паварочваць +filter.option.amount = КолькаÑць filter.option.block = Блок filter.option.floor = ÐŸÐ°Ð²ÐµÑ€Ñ…Ð½Ñ filter.option.flooronto = МÑÑ‚Ð°Ð²Ð°Ñ Ð¿Ð°Ð²ÐµÑ€Ñ…Ð½ÑŽ -filter.option.target = Target +filter.option.target = ЦÑль +filter.option.replacement = Замена filter.option.wall = СцÑна filter.option.ore = Руда filter.option.floor2 = Ð”Ñ€ÑƒÐ³Ð°Ñ Ð¿Ð°Ð²ÐµÑ€Ñ…Ð½ÑŽ filter.option.threshold2 = ДругаÑны гранічны парог filter.option.radius = Ð Ð°Ð´Ñ‹ÑƒÑ -filter.option.percentile = Процентиль +filter.option.percentile = Процентль +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = ШырынÑ: height = ВышынÑ: @@ -462,40 +639,88 @@ load = Загрузіць save = Захаваць fps = FPS: {0} ping = Пінг: {0} Ð¼Ñ +tps = TPS: {0} +memory = Пам: {0}mb +memory2 = Пам:\n {0}mb +\n {1}mb language.restart = Перазагрузіце гульню, каб Ð¼Ð¾ÑžÐ½Ñ‹Ñ Ð½Ð°Ð»Ð°Ð´Ñ‹ ÑžÑтупілі Ñž Ñілу. settings = Ðалады tutorial = Ðавучанне -tutorial.retake = Перепройти навучанне +tutorial.retake = Перепройт навучанне editor = РÑдактар mapeditor = РÑдактар карт abandon = Пакінуць abandon.text = ГÑÑ‚Ð°Ñ Ð·Ð¾Ð½Ð° Ñ– ÑžÑе Ñе Ñ€ÑÑурÑÑ‹ будуць аддадзены Ñуперніку. -locked = БлÑкаваны +locked = Заблкаваны complete = [lightgray]Выканаць: requirement.wave = даÑÑгнем {0} хвалі Ñž зоне {1} requirement.core = Знішчыце варожае Ñдро ​​ў зоне {0} -requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Ð›ÐµÐ¿ÑˆÐ°Ñ Ñ…Ð²Ð°Ð»Ñ: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. +requirement.research = ДаÑледаваць {0} +requirement.produce = Вырабіць {0} +requirement.capture = Захапіць {0} +requirement.onplanet = КантралÑваць Сектар Ðа {0} +requirement.onsector = ПрызÑмліцца Ðа Сектар: {0} +launch.text = ЗапуÑк +map.multiplayer = Толькі хаÑты могуць праглÑдаць Ñектары. uncover = РаÑкрыць configure = ÐšÐ°Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ‹Ñ Ð²Ñ‹Ð³Ñ€ÑƒÐ·ÐºÑ– -loadout = Loadout -resources = Resources +objective.research.name = ДаÑледаваць +objective.produce.name = Ðтрымаць +objective.item.name = Ðтрымаць Прадмет +objective.coreitem.name = Прадмет Ядра +objective.buildcount.name = КолькаÑць Будынкаў +objective.unitcount.name = КолькаÑць Ðдзінкаў +objective.destroyunits.name = Ðдзінкаў Знішчыць +objective.timer.name = Таймер +objective.destroyblock.name = Знішчыць Блок +objective.destroyblocks.name = Знішчыць Блокі +objective.destroycore.name = Знішчыць Ядро +objective.commandmode.name = РÑжым Загадаў +objective.flag.name = СцÑг +marker.shapetext.name = Форма ТÑкÑту +marker.point.name = Point +marker.shape.name = Форма +marker.text.name = ТÑкÑÑ‚ +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Задні Фон +marker.outline = Контур +objective.research = [accent]ДаÑледаваць:\n[]{0}[lightgray]{1} +objective.produce = [accent]Ðтрымаць:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Знішчыць:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Знішчыць: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Ðтрымаць: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Рухаць да Ядра:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Будаваць: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Будаваць Ðдзінку: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Знішчыць: [][lightgray]{0}[]x Ðдзінкаў +objective.enemiesapproaching = [accent]Ворагі зÑвÑцца праз [lightgray]{0}[] +objective.enemyescelating = [accent]ПавышÑнне ÑкораÑці варожай вытворчаÑці праз [lightgray]{0}[] +objective.enemyairunits = [accent]ВытворчаÑць варожых паветранных адзінкаў пачынаецца праз [lightgray]{0}[] +objective.destroycore = [accent]Знішчыць Варожае Ядро +objective.command = [accent]КантралÑваць Ðдзінкі +objective.nuclearlaunch = [accent]âš  Ядзерны запуÑк выÑўлены: [lightgray]{0} +announce.nuclearstrike = [red]âš  ЯДЗЕРÐЫ УДÐР ÐЕПÐЗБЕЖÐЫ âš  +loadout = Выгрузіць +resources = РÑÑурÑÑ‹ +resources.max = МакÑімум РÑÑурÑаў bannedblocks = Ð—Ð°Ð±Ð°Ñ€Ð¾Ð½ÐµÐ½Ñ‹Ñ Ð±Ð»Ð¾ÐºÑ– +unbannedblocks = Unbanned Blocks +objectives = МÑты +bannedunits = Ð—Ð°Ð±Ð°Ñ€Ð¾Ð½ÐµÐ½Ñ‹Ñ Ðдзінкі +unbannedunits = Unbanned Units +bannedunits.whitelist = Ð—Ð°Ð±Ð°Ñ€Ð¾Ð½ÐµÐ½Ñ‹Ñ Ðдзінкі ÐŽ Белым СпіÑе +bannedblocks.whitelist = Ð—Ð°Ð±Ð°Ñ€Ð¾Ð½ÐµÐ½Ñ‹Ñ Ð‘Ð»Ð¾ÐºÑ– ÐŽ Белым СпіÑе addall = Дадаць вÑÑ‘ -launch.destination = Destination: {0} +launch.from = ЗапуÑк Ðд: [accent]{0} +launch.capacity = ÐміÑтаÑць Прадметаў Да ЗапуÑку: [accent]{0} +launch.destination = Кропка ПрызначÑннÑ: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = КолькаÑць павінна быць лікам паміж 0 Ñ– {0}. -zone.unlocked = Зона «[lightgray] {0}» зараз адмыкнутаÑ. -zone.requirement.complete = Умовы Ð´Ð»Ñ Ð·Ð¾Ð½Ñ‹ «{0}» выкананы: [lightgray] \n {1} -zone.resources = [lightgray] Ð’Ñ‹ÑÑžÐ»ÐµÐ½Ñ‹Ñ Ñ€ÑÑурÑÑ‹: -zone.objective = [lightgray] МÑта: [accent] {0} -zone.objective.survival = Выжыць -zone.objective.attack = Знішчыць варожае Ñдро add = Дадаць... -boss.health = Здароўе боÑа +guardian = Вартаўнік connectfail = [crimson]Памылка падлучÑннÑ: \n\n[accent] {0} error.unreachable = Сервер недаÑтупны. \nÐ’Ñ‹ ўпÑўненыÑ, што Ð°Ð´Ñ€Ð°Ñ ÑƒÐ²ÐµÐ´Ð·ÐµÐ½Ñ‹ карÑктна? @@ -507,87 +732,220 @@ error.mapnotfound = Файл карты не знойдзены! error.io = Ð¡ÐµÑ‚ÐºÐ°Ð²Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° ўводу-выÑновы. error.any = ÐевÑÐ´Ð¾Ð¼Ð°Ñ ÑÐµÑ‚ÐºÐ°Ð²Ð°Ñ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ°. error.bloom = Ðе атрымалаÑÑ Ñ–Ð½Ñ–Ñ†Ñ‹Ñлізаваць ÑвÑчÑнне (Bloom). \nМагчыма, зараз Ð’Ð°ÑˆÐ°Ñ Ð¿Ñ€Ñ‹Ð»Ð°Ð´Ð° не падтрымлівае Ñго. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Дождж -weather.snow.name = Снег -weather.sandstorm.name = ПÑÑÐ¾Ñ‡Ð½Ñ‹Ñ Ð±ÑƒÑ€Ñ– -weather.sporestorm.name = Ð¡Ð¿Ð¾Ñ€Ð°Ð²Ñ‹Ñ Ð±ÑƒÑ€Ñ– +weather.snowing.name = Снег +weather.sandstorm.name = ПÑÑÑ‡Ð°Ð½Ð°Ñ Ð±ÑƒÑ€Ð° +weather.sporestorm.name = Ð¡Ð¿Ð°Ñ€Ð°Ð²Ð°Ñ Ð±ÑƒÑ€Ð° weather.fog.name = Туман +campaign.playtime = \uf129 [lightgray]Ð§Ð°Ñ Ð“ÑƒÐ»ÑŒÐ½Ñ– Ðа Сектары: {0} +campaign.complete = [accent]Віншую.\n\nВорагі Ñž {0} былі пераможаны.\n[lightgray]Фінальны Ñектар захоплены. +sectorlist = Сектары +sectorlist.attacked = {0} пад атакай -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector +sectors.unexplored = [lightgray]Ðе Разведана +sectors.resources = РÑÑурÑÑ‹: +sectors.production = ВытворчаÑць: +sectors.export = ЭкÑпартавана: +sectors.import = Імпартавана: +sectors.time = ЧаÑ: +sectors.threat = Пагроза: +sectors.wave = ХвалÑ: +sectors.stored = Захавана: +sectors.resume = ПрацÑгнуць +sectors.launch = ЗапуÑціць +sectors.select = Выбраць +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]нічога (sun) +sectors.redirect = Redirect Launch Pads +sectors.rename = Пераназваць Сектар +sectors.enemybase = [scarlet]Ð’Ð°Ñ€Ð¾Ð¶Ð°Ñ Ð‘Ð°Ð·Ð° +sectors.vulnerable = [scarlet]Уразлівы +sectors.underattack = [scarlet]Ðтакуецца! [accent]{0}% пашкоджаннÑÑž +sectors.underattack.nodamage = [scarlet]Ðезахоплены +sectors.survives = [accent]Перажыта {0} хвалÑÑž +sectors.go = ЗайÑці +sector.abandon = Пакінуць Сектар +sector.abandon.confirm = Ядро(а) будуць Ñамазнішчаны Ñž гÑтым Ñектары.\n,ПрацÑгнуць? +sector.curcapture = Сектар Захоплены +sector.curlost = Сектар Згублены sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Сектар [accent]{0}[white] атакуецца! +sector.lost = Сектар [accent]{0}[white] згублены! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = ЗмÑніць Іконку +sector.noswitch.title = Ðемагчыма Пераключыцца на Сектар +sector.noswitch = Ð’Ñ‹ не можаце пераключацца на Ñектары калі гÑты Ñектар атакуецца.\n\nСектар: [accent]{0}[] у [accent]{1}[] +sector.view = ПраглÑдзець Сектар +threat.low = ÐÑ–Ð·ÐºÐ°Ñ +threat.medium = СÑÑ€ÑднÑÑ +threat.high = Ð’Ñ‹ÑÐ¾ÐºÐ°Ñ +threat.extreme = ЭкÑÑ‚Ñ€Ñ‹Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ +threat.eradication = ВынішчÑнне +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Планеты -planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.serpulo.name = Серпуло +planet.erekir.name = ЭрÑкір +planet.sun.name = Сонца +sector.impact0078.name = ÐÐ²Ð°Ñ€Ñ‹Ñ 0078 -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass +sector.groundZero.name = ÐŸÐ°Ñ‡Ð°Ñ‚ÐºÐ¾Ð²Ð°Ñ ÐšÑ€Ð¾Ð¿ÐºÐ° +sector.craters.name = Кратары +sector.frozenForest.name = ЛедзÑны Ð›ÐµÑ +sector.ruinousShores.name = Ð‘ÐµÑ€Ð°Ð³Ð°Ð²Ñ‹Ñ Ð ÑƒÑ–Ð½Ñ‹ +sector.stainedMountains.name = ÐÑ„Ð°Ñ€Ð±Ð°Ð²Ð°Ð½Ñ‹Ñ Ð“Ð¾Ñ€Ñ‹ +sector.desolateRift.name = ЗнÑдбаны Разлом +sector.nuclearComplex.name = Ядзерны Вытворчы ÐšÐ¾Ð¼Ð¿Ð»ÐµÐºÑ +sector.overgrowth.name = ЗараÑнікі +sector.tarFields.name = Смалакурні +sector.saltFlats.name = Саланчакі +sector.fungalPass.name = Глыбковы Праход +sector.biomassFacility.name = Ðб'ект СінтÑзу БіÑмаÑÑ‹ +sector.windsweptIslands.name = ÐÐ±Ð²ÐµÑ‚Ñ€Ð°Ð½Ñ‹Ñ ÐÑтравы +sector.extractionOutpost.name = Здабвываючы ФарпоÑÑ‚ +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Планетарны ПуÑкавы ТÑрмінал +sector.coastline.name = Ð‘ÐµÑ€Ð°Ð³Ð°Ð²Ð°Ñ Ð›Ñ–Ð½Ñ–Ñ +sector.navalFortress.name = МарÑÐºÐ°Ñ ÐšÑ€ÑпаÑць +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = Ðптымальнае меÑца каб пачаць. ÐÑ–Ð·ÐºÐ°Ñ Ð²Ð°Ñ€Ð¾Ð¶Ð°Ñ Ð¿Ð°Ð³Ñ€Ð¾Ð·Ð°. Мала Ñ€ÑÑурÑаў.\nВазімце Ñк мага болей Ñвінца Ñ– медзі.\nІ рухайцеÑÑ Ð´Ð°Ð»ÐµÐ¹. +sector.frozenForest.description = Ðават тут, бліжÑй да гор, раÑпаўÑюдзіліÑÑ Ñпоры. ЛедзÑÐ½Ñ‹Ñ Ñ‚Ñмпературы не могуць утрымліваць Ñ–Ñ… заўÑёды.\n\nПачніце выкарыÑтоўваць Ñнергію. Пабудуйце генератары на цвёрдым паліве. ДаведайцеÑÑ Ñк выкарыÑтоуваць Ñ€Ñгенератары. +sector.saltFlats.description = Ðа ÑžÑкраінах пуÑтыні лÑжаць Саланчакі. Мала Ñ€ÑÑурÑаў знаходзіцца Ñž гÑтым меÑцы.\n\nВораг Ñтварыў тут ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ Ñ€ÑÑурÑаў. Знішчыце Ñ–Ñ… Ñдро. Ðічога не заÑтаўце на меÑцы. +sector.craters.description = Вада ÑабралаÑÑ Ñž гÑтым кратары, Ñ€Ñліквіі Ñтарых войн. Захапіце воблаÑць. ЗбÑрыце пÑÑок. Выплаўце меташкло. ВадзÑÐ½Ñ‹Ñ Ð¿Ð¾Ð¼Ð¿Ñ‹ каб ахладжваць турÑлі буры. +sector.ruinousShores.description = ПератварыўшаÑÑÑ Ñž муÑар, Ð±ÐµÑ€Ð°Ð³Ð°Ð²Ð°Ñ Ð»Ñ–Ð½Ñ–Ñ. Раней, гÑта Ð»Ð°ÐºÐ°Ñ†Ñ‹Ñ Ð±Ñ‹Ð»Ð° раёнам берагавой абароны. Мала што ад Ñе заÑталоÑÑ. Толькі ÑÐ°Ð¼Ñ‹Ñ Ð¿Ñ€Ð¾ÑÑ‚Ñ‹Ñ Ð°Ð±Ð°Ñ€Ð¾Ð½Ñ‡Ñ‹Ñ Ñтруктуры заÑталіÑÑ Ð½ÐµÐ¿Ð°ÑˆÐºÐ¾Ð´Ð¶Ð°Ð½Ñ‹Ð¼Ñ–, уÑÑ‘ ÑÑˆÑ‡Ñ Ð¿ÐµÑ€Ð°Ñ‚Ð²Ð¾Ñ€Ð°Ð½Ñ‹Ñ Ñž металалом.\nПрацÑгніце пашырÑнне па-за гÑты Ñектар. Ðдкрыйце нанава гÑту Ñ‚Ñхналогію. +sector.stainedMountains.description = Далей ідзе воÑтраў на Ñкім лÑжаць горы, ÑÑˆÑ‡Ñ Ð½Ðµ заплÑмлены Ñпорамі.\nДабудзьце багата тытану Ñž гÑтым Ñектары. ДаведайцеÑÑ Ñк выкарыÑтоуваць Ñго.\n\nÐ’Ð°Ñ€Ð¾Ð¶Ð°Ñ Ð¿Ñ€Ñ‹ÑутнаÑць тут мацней. Ðе дайце ім чаÑу каб адправіць Ñ–Ñ… Ð¼Ð°Ñ†Ð½ÐµÐ¹ÑˆÑ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ–. +sector.overgrowth.description = ГÑты Ñектар зароÑ, бліжÑйшы да крыніцы Ñпораў.\nВораг заÑнаваў тутThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost. +sector.tarFields.description = Ваколіцы зоны здабычы нафты, паміж гарамі Ñ– пуÑтынÑй. Ðдзін з некалькіх зон з прыдатнымі Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð°Ñамі дзёгцю.\nТакÑама закінутаÑ, гÑÑ‚Ð°Ñ Ð·Ð¾Ð½Ð° мае побач небÑÑпечных ворагаў. Ðе варта недаацÑньваць Ñ–Ñ….\n\n[lightgray]Знайдзіце па магчымаÑці Ñ‚Ñхналогіі перапрацоўкі нафты. sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = Пачатак +sector.aegis.name = Ðхова +sector.lake.name = Рака +sector.intersect.name = ПераÑÑчÑнне +sector.atlas.name = ÐÑ‚Ð»Ð°Ñ +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Гарыць +status.freezing.name = ЗамÑрзае +status.wet.name = Ðамакае +status.muddy.name = Забруджваецца +status.melting.name = Плавіцца +status.sapped.name = СапÑуецца +status.electrified.name = ÐаÑлектрыфікаваны +status.spore-slowed.name = Запаволены Спорамі +status.tarred.name = ПраÑмалены +status.overdrive.name = Стомлены +status.overclock.name = Разагнаны +status.shocked.name = Шакаваны +status.blasted.name = Узарваны +status.unmoving.name = Знерухомлены +status.boss.name = Вартаўнік settings.language = Мова -settings.data = ГульнÑÐ²Ñ‹Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ -settings.reset = Скінуць па змаўчанні +settings.data = ГульнÑÐ²Ñ‹Ñ Ð”Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ +settings.reset = Скінуць Ðалады Гуку settings.rebind = ЗмÑніць settings.resetKey = Скінуць -settings.controls = Упраўленне +settings.controls = Кіраванне settings.game = Ð“ÑƒÐ»ÑŒÐ½Ñ settings.sound = Гук settings.graphics = Графіка -settings.cleardata = ÐчыÑціць гульнÑÐ²Ñ‹Ñ Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ... +settings.cleardata = ÐчыÑціць ГульнÑÐ²Ñ‹Ñ Ð”Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ... settings.clear.confirm = Ð’Ñ‹ Ñапраўды хочаце ачыÑціць Ñвае дадзеныÑ? \nГÑта нельга адмÑніць! settings.clearall.confirm = [scarlet] ÐСЦЯРОЖÐÐ![] \nГÑта ÑÐ°Ñ‚Ñ€Ñ ÑžÑе дадзеныÑ, уключаючы захаваннÑ, карты, прагрÑÑ ÐºÐ°Ð¼Ð¿Ð°Ð½Ñ–Ñ– Ñ– налады кіраваннÑ. \nПоÑле таго Ñк Ð’Ñ‹ націÑнеце [accent] [ОК][], Ð³ÑƒÐ»ÑŒÐ½Ñ Ð·Ð½Ñ–ÑˆÑ‡Ñ‹Ñ†ÑŒ уÑе Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ Ñ– аўтаматычна зачыніцца. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.clearsaves.confirm = Ð’Ñ‹ Ñапраўды жадаеце ачыÑціць уÑе Ð²Ð°ÑˆÑ‹Ñ Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ–? +settings.clearsaves = ÐчыÑціць Захаванні +settings.clearresearch = ÐчыÑціць ДаÑледаванні +settings.clearresearch.confirm = Ð’Ñ‹ Ñапраўды жадаеце ачыÑціць уÑе Ð²Ð°ÑˆÑ‹Ñ Ð´Ð°Ñледаванні Ñž кампаніі? +settings.clearcampaignsaves = ÐчыÑціць Захаванні Кампаніі +settings.clearcampaignsaves.confirm = Ð’Ñ‹ Ñапраўды жадаеце ачыÑціць уÑе Ð²Ð°ÑˆÑ‹Ñ Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ– Ñž кампаніі? paused = [accent] <Паўза> clear = ÐчыÑціць banned = [scarlet] Забаронена -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Ðепадтрымліваемае ÐÑÑродзе yes = Так no = Ðе info.title = Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ error.title = [crimson]ÐдбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° error.crashtitle = ÐдбылаÑÑ Ð¿Ð°Ð¼Ñ‹Ð»ÐºÐ° -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} +unit.nobuild = [scarlet]Ðдзінка не можа быць Ð¿Ð°Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð°Ñ +lastaccessed = [lightgray]Ðпошні ДоÑтуп: {0} +lastcommanded = [lightgray]Ðрошні Загад: {0} block.unknown = [lightgray]??? +stat.showinmap = <заладуйце мапу каб паказаць> +stat.description = ПрызначÑнне stat.input = Уваход stat.output = Выхад +stat.maxefficiency = МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð­Ñ„ÐµÐºÑ‚Ñ‹ÑžÐ½Ð°Ñць stat.booster = ПаÑкаральнік stat.tiles = ÐÐµÐ°Ð±Ñ…Ð¾Ð´Ð½Ñ‹Ñ Ð¿Ð»Ñ–Ñ‚ÐºÑ– stat.affinities = ПавелічÑнне ÑфектыўнаÑці +stat.opposites = Пашкаджае stat.powercapacity = УмÑшчальнаÑць Ñнергіі stat.powershot = ЭнергіÑ/Ð’Ñ‹ÑтрÑл stat.damage = Страты @@ -597,133 +955,223 @@ stat.itemsmoved = ХуткаÑць перамÑшчÑÐ½Ð½Ñ stat.launchtime = ІнтÑрвал запуÑкаў stat.shootrange = Ð Ð°Ð´Ñ‹ÑƒÑ Ð´Ð·ÐµÑÐ½Ð½Ñ stat.size = Памер -stat.displaysize = Display Size +stat.displaysize = Памер ДыÑплÑÑ stat.liquidcapacity = УмÑшчальнаÑць вадкаÑці stat.powerrange = ДалёкаÑць перадачы Ñнергіі -stat.linkrange = Link Range -stat.instructions = Instructions +stat.linkrange = ДыÑпазон ЗлучÑÐ½Ð½Ñ +stat.instructions = ІнÑтрукцыі stat.powerconnections = КолькаÑць злучÑннÑÑž stat.poweruse = Спажывае Ñнергіі stat.powerdamage = ЭнергіÑ/Ñтраты stat.itemcapacity = УмÑшчальнаÑць прадметаў -stat.memorycapacity = Memory Capacity +stat.memorycapacity = ÐміÑтаÑць ПамÑці stat.basepowergeneration = Ð‘Ð°Ð·Ð°Ð²Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ‹Ñ Ñнергіі stat.productiontime = Ð§Ð°Ñ Ð²Ñ‹Ñ‚Ð²Ð¾Ñ€Ñ‡Ð°Ñці stat.repairtime = Ð§Ð°Ñ Ð¿Ð¾ÑžÐ½Ð°Ð¹ Ñ€Ñгенерацыі +stat.repairspeed = ХуткаÑць Рамонту +stat.weapons = Ð—Ð±Ñ€Ð¾Ñ +stat.bullet = ÐšÑƒÐ»Ñ +stat.moduletier = Модульны Ўзровень +stat.unittype = Тып Ðдзінкі stat.speedincrease = ПавелічÑнне хуткаÑці stat.range = Ð Ð°Ð´Ñ‹ÑƒÑ Ð´Ð·ÐµÑÐ½Ð½Ñ -stat.drilltier = Бурит +stat.drilltier = Бурць stat.drillspeed = Ð‘Ð°Ð·Ð°Ð²Ð°Ñ Ñ…ÑƒÑ‚ÐºÐ°Ñць ÑÐ²Ñ–Ð´Ñ€Ð°Ð²Ð°Ð½Ð½Ñ -stat.boosteffect = паÑкараўÑÑ Ñфект +stat.boosteffect = Эфект паÑкарÑÐ½Ð½Ñ stat.maxunits = МакÑÑ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць актыўных адзінак stat.health = Здароўе +stat.armor = Ð‘Ñ€Ð°Ð½Ñ stat.buildtime = Ð§Ð°Ñ Ð±ÑƒÐ´Ð°ÑžÐ½Ñ–Ñ†Ñ‚Ð²Ð° -stat.maxconsecutive = Max Consecutive +stat.maxconsecutive = МакÑімальны Запар stat.buildcost = Кошт будаўніцтва stat.inaccuracy = РоÑкід stat.shots = СтрÑлы stat.reload = СтрÑлы/Ñекунду stat.ammo = БоепрыпаÑÑ‹ -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.shieldhealth = ТрывалаÑць Шчыта +stat.cooldowntime = Ð§Ð°Ñ ÐŸÐµÑ€Ð°Ð·Ð°Ñ€Ð°Ð´ÐºÑ– +stat.explosiveness = УзрыўчатаÑць +stat.basedeflectchance = Шанец Ð—Ð±Ð¾Ñ Ð‘Ð°Ð·Ñ‹ +stat.lightningchance = Шанец Маланкі +stat.lightningdamage = Пашкоджанні Маланкі +stat.flammability = ГаручаÑць +stat.radioactivity = РадыеактыўнаÑць +stat.charge = Зарад +stat.heatcapacity = ÐміÑтаÑць ЦÑпла +stat.viscosity = ГлейкаÑць +stat.temperature = ТÑмпература +stat.speed = ХуткаÑць +stat.buildspeed = ХуткаÑць Будоўлі +stat.minespeed = ХуткаÑць Здабычы +stat.minetier = Моц Здабычы +stat.payloadcapacity = ÐміÑтаÑць Ðагрузкі +stat.abilities = ЗдольнаÑйі +stat.canboost = Можа УзлÑтаць +stat.flying = Паветраны +stat.ammouse = ВыкарыÑтанне БоезапаÑу +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Множнік ПашкоджаннÑÑž +stat.healthmultiplier = Множнік Ð—Ð´Ð°Ñ€Ð¾ÑžÑ +stat.speedmultiplier = Множнік ХуткаÑці +stat.reloadmultiplier = Множнік Перазарадкі +stat.buildspeedmultiplier = Множнік ХуткаÑці Будоўлі +stat.reactive = РÑагуе +stat.immunities = ІмунітÑÑ‚ +stat.healing = Ðднаўленне +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Сіловое Поле +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Поле Рамонту +ability.repairfield.description = Repairs nearby units +ability.statusfield = Поле СтатуÑу +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Завод +ability.unitspawn.description = Constructs units +ability.shieldregenfield = ВаÑÑтанўлÑÑŽÑае Поле Шчыта +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Рух Маланкі +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Ð¨Ñ‡Ñ‹Ñ‚Ð°Ð²Ð°Ñ Ð”ÑƒÐ³Ð° +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = ЭнÑргетычнае Поле +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.onlycoredeposit = ДаÑтупны Толькі ÐŸÐµÑ€Ð°Ð½Ð¾Ñ Ð ÑÑурÑаў У Ядро bar.drilltierreq = Патрабуецца Ñвідар лепей -bar.noresources = Missing Resources -bar.corereq = Core Base Required +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Ðе Хапае РÑÑурÑаў +bar.corereq = Патрабуецца ÐÑнова Ядра +bar.corefloor = Патрабуецца Ð¢Ð°Ð¹Ð»Ð°Ð²Ð°Ñ Ð—Ð¾Ð½Ð° Ядра +bar.cargounitcap = ГрузаёміÑтаÑць Ðдзінкі ДаÑÑгнута bar.drillspeed = ХуткаÑць бурÑннÑ: {0}/Ñ bar.pumpspeed = ХуткаÑць выкачванне: {0}/Ñ bar.efficiency = ЭфектыўнаÑць: {0}% +bar.boost = Моц Узлёту: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = ЭнергіÑ: {0}/Ñ bar.powerstored = Ðазапашана: {0}/{1} bar.poweramount = ЭнергіÑ: {0} bar.poweroutput = Выхад Ñнергіі: {0} -bar.powerlines = Connections: {0}/{1} +bar.powerlines = СувÑзі: {0}/{1} bar.items = Прадметы: {0} bar.capacity = УмÑшчальнаÑць: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = ВадкаÑці bar.heat = ÐагрÑÑž +bar.cooldown = Cooldown +bar.instability = ÐеÑтабільнаÑць +bar.heatamount = ÐагрÑÑž: {0} +bar.heatpercent = ÐагрÑÑž: {0} ({1}%) bar.power = Ð­Ð½ÐµÑ€Ð³Ñ–Ñ bar.progress = ПрагрÑÑ Ð±ÑƒÐ´Ð°ÑžÐ½Ñ–Ñ†Ñ‚Ð²Ð° +bar.loadprogress = ПрагрÑÑ Ð—Ð°Ð»Ð°Ð´Ð¾ÑžÐºÑ– +bar.launchcooldown = Затрымка ЗапуÑку bar.input = Уваход bar.output = Выхад +bar.strength = [stat]{0}[lightgray]x strength -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Кантралюецца ПрацÑÑÑарам bullet.damage = [stat] {0} [lightgray]Ñтраты bullet.splashdamage = [stat] {0} [lightgray]Ñтраты Ñž радыуÑе ~ [stat] {1} [lightgray] блокаў bullet.incendiary = [stat] запальны bullet.homing = [stat] Ñаманаводных -bullet.shock = [stat] шокавы -bullet.frag = [stat] аÑколачны +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat] {0} [lightgray]аддачы bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat] замарожваюцца -bullet.tarred = [stat] запавольвае, гаручы +bullet.healpercent = [stat]{0}[lightgray]% рамонт +bullet.healamount = [stat]{0}[lightgray] напрамкавы рамонт bullet.multiplier = [stat]{0}[lightgray]x множнік боепрыпаÑаў bullet.reload = [stat]{0}[lightgray]x хуткаÑць ÑтрÑльбы +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = блокі unit.blockssquared = blocks² unit.powersecond = адзінак Ñнергіі/Ñекунду +unit.tilessecond = плітак/Ñекунду unit.liquidsecond = вадкаÑных адзінак/Ñекунду unit.itemssecond = прадметаў/Ñекунду unit.liquidunits = вадкаÑных адзінак unit.powerunits = Ñнерг. адзінак +unit.heatunits = адзінкі Ñнергіі unit.degrees = град. unit.seconds = Ñек. -unit.minutes = mins +unit.minutes = хв. unit.persecond = /Ñек -unit.perminute = /min +unit.perminute = /хв unit.timesspeed = x хуткаÑць +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health +unit.shieldhealth = моц шчыта unit.items = прадметаў unit.thousands = ТыÑ. unit.millions = М. -unit.billions = b +unit.billions = Б. +unit.shots = shots +unit.pershot = /ÑтрÑл +category.purpose = ÐпіÑанне category.general = ÐÑÐ½Ð¾ÑžÐ½Ñ‹Ñ category.power = Ð­Ð½ÐµÑ€Ð³Ñ–Ñ category.liquids = ВадкаÑці category.items = Прадметы category.crafting = УвÑдзенне/Ð’Ñ‹Ñнова -category.function = Function +category.function = Ð¤ÑƒÐ½ÐºÑ†Ñ‹Ñ category.optional = Ð”Ð°Ð´Ð°Ñ‚ÐºÐ¾Ð²Ñ‹Ñ Ð¿Ð°Ð»ÑпшÑÐ½Ð½Ñ +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = ПрапуÑціць ЗапуÑк Ядра/Ðнімацыю Ð’Ñ‹Ñадкі setting.landscape.name = Толькі альбомны (гарызантальны) Ñ€Ñжым setting.shadows.name = Цені setting.blockreplace.name = ÐÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° блокаў setting.linear.name = Ð›Ñ–Ð½ÐµÐ¹Ð½Ð°Ñ Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ðµ setting.hints.name = Падказкі -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Ð›Ð°Ð³Ñ–Ñ‡Ð½Ñ‹Ñ ÐŸÐ°Ð´ÐºÐ°Ð·ÐºÑ– +setting.backgroundpause.name = Паўза Калі ÐŽ Фоне setting.buildautopause.name = ÐÑžÑ‚Ð°Ð¼Ð°Ñ‚Ñ‹Ñ‡Ð½Ð°Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð½Ðµ будаўніцтва +setting.doubletapmine.name = Ð”Ð²Ð°Ð¹Ð½Ñ‹Ð°Ñ ÐŸÑтрычка каб дабываць +setting.commandmodehold.name = Утрымаць Ð”Ð»Ñ Ð Ñжыму Загадаў +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Ðдключыць Мадыфікацыі Пры Памылковым ЗапуÑку setting.animatedwater.name = ÐÐ½Ñ–Ð¼Ñ–Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ Ð²Ð°Ð´Ð° setting.animatedshields.name = ÐÐ½Ñ–Ð¼Ñ–Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ ÑˆÑ‡Ñ‹Ñ‚Ñ‹ -setting.antialias.name = Згладжванне [lightgray] (патрабуе перазапуÑку)[] -setting.playerindicators.name = Player Indicators +setting.playerindicators.name = Індыкатары Гульцоў setting.indicators.name = Індыкатары размÑшчÑÐ½Ð½Ñ Ñаюзнікаў Ñ– ворагаў setting.autotarget.name = Ðвтозахват мÑты setting.keyboard.name = Мыш + Упраўленне з клавіÑтуры @@ -731,125 +1179,156 @@ setting.touchscreen.name = СÑнÑарнае кіраванне setting.fpscap.name = МакÑімальны FPS setting.fpscap.none = Ðеабмежаваны setting.fpscap.text = {0} FPS -setting.uiscale.name = Маштаб карыÑтацкага інтÑрфейÑу [lightgray] (перазапуÑьціцца)[] +setting.uiscale.name = Маштаб карыÑтальніцкага інтÑрфейÑу [lightgray] (перазапуÑьціцца)[] +setting.uiscale.description = Каб змены ўжыліÑÑ Ð¿Ð°Ñ‚Ñ€Ð°Ð±ÑƒÐµÑ†Ñ†Ð° перазапуÑк. setting.swapdiagonal.name = ЗаўÑёды дыÑганальнае размÑшчÑнне -setting.difficulty.training = Ðавучанне -setting.difficulty.easy = Ð›Ñ‘Ð³ÐºÐ°Ñ -setting.difficulty.normal = Ðармальны -setting.difficulty.hard = Ð¡ÐºÐ»Ð°Ð´Ð°Ð½Ð°Ñ -setting.difficulty.insane = Вар’ÑÑ†ÐºÐ°Ñ -setting.difficulty.name = СкладанаÑць: setting.screenshake.name = ТраÑÑніна Ñкрана +setting.bloomintensity.name = ІнтÑнÑіўнаÑць Цвету +setting.bloomblur.name = Размыты Цвет setting.effects.name = Эфекты setting.destroyedblocks.name = ÐдлюÑтроўваць Ð·Ð½Ñ–ÑˆÑ‡Ð°Ð½Ñ‹Ñ Ð±Ð»Ð¾ÐºÑ– -setting.blockstatus.name = Display Block Status +setting.blockstatus.name = Паказаць Стан Блокаў setting.conveyorpathfinding.name = Пошук шлÑху Ð´Ð»Ñ ÑžÑтаноўкі канвеераў setting.sensitivity.name = ÐдчувальнаÑць кантролера setting.saveinterval.name = ІнтÑрвал Ð·Ð°Ñ…Ð°Ð²Ð°Ð½Ð½Ñ setting.seconds = {0} Ñекунд -setting.blockselecttimeout.name = Тайм-аўт выбару блока setting.milliseconds = {0} міліÑекунд setting.fullscreen.name = ПоўнаÑкранны Ñ€Ñжым -setting.borderlesswindow.name = Безрамочное акно [lightgray] (можа ÑпатрÑбіцца перазапуÑк) +setting.borderlesswindow.name = БÑзрамачнае акно [lightgray] (можа ÑпатрÑбіцца перазапуÑк) +setting.borderlesswindow.name.windows = БÑзрамачны Поўны Экран +setting.borderlesswindow.description = Каб ужыць змены можа патрабавацца перазапуÑк. setting.fps.name = Паказваць FPS Ñ– пінг -setting.smoothcamera.name = Smooth Camera +setting.console.name = Уключыць ТÑрмінал +setting.smoothcamera.name = ÐŸÐ°Ð²Ð¾Ð»ÑŒÐ½Ð°Ñ ÐšÐ°Ð¼ÐµÑ€Ð° setting.vsync.name = Ð’ÐµÑ€Ñ‚Ñ‹ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑÑ–Ð½Ñ…Ñ€Ð°Ð½Ñ–Ð·Ð°Ñ†Ñ‹Ñ setting.pixelate.name = ПікÑÐµÐ»Ñ–Ð·Ð°Ñ†Ñ‹Ñ setting.minimap.name = ÐдлюÑтроўваць міні-карту -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Паказаць Прадметы Ядра setting.position.name = ÐдлюÑтроўваць каардынаты гульца +setting.mouseposition.name = Паказаць Пазіцыю Мышы setting.musicvol.name = ГучнаÑць музыкі -setting.atmosphere.name = Show Planet Atmosphere +setting.atmosphere.name = Паказаць ÐтмаÑферу Планеты +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = ГучнаÑць акружÑÐ½Ð½Ñ setting.mutemusic.name = Заглушыць музыку setting.sfxvol.name = ГучнаÑць Ñфектаў setting.mutesound.name = Заглушыць гук setting.crashreport.name = ÐдпраўлÑць Ð°Ð½Ð°Ð½Ñ–Ð¼Ð½Ñ‹Ñ Ñправаздачы аб вылетах +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Ðўтаматычнае ÑтварÑнне захаваннÑÑž -setting.publichost.name = ÐÐ³ÑƒÐ»ÑŒÐ½Ð°Ñ Ð´Ð°ÑтупнаÑць гульні +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Ðбмежаванне гульцоў setting.chatopacity.name = ÐепразрыÑтаÑць чата setting.lasersopacity.name = ÐепразрыÑтаÑць лазераў ÑнергазабеÑпÑчÑÐ½Ð½Ñ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = ÐепразрыÑтаÑць маÑтоў setting.playerchat.name = ÐдлюÑтроўваць аблокі чата над гульцамі -public.confirm = Ð’Ñ‹ хочаце, каб Ваша Ð³ÑƒÐ»ÑŒÐ½Ñ Ñтала публічнай? \n[accent] Любы гулец зможа далучыцца да Вашым гульнÑÑž. \n[lightgray] Пазней, гÑта можна будзе змÑніць у Ðалады-> Игра-> ÐÐ³ÑƒÐ»ÑŒÐ½Ð°Ñ Ð´Ð°ÑтупнаÑць гульні. +setting.showweather.name = Паказаць Ðнімацыю Ðадвор'Ñ +setting.hidedisplays.name = Схаваць Ð›Ð°Ð³Ñ–Ñ‡Ð½Ñ‹Ñ Ð”Ñ‹ÑплÑÑ– +setting.macnotch.name = Ðдаптуйце інтÑÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ Ð²Ñ‹ÐµÐ¼ÐºÑ– +setting.macnotch.description = Каб змены ўжыліÑÑ Ð¿Ð°Ñ‚Ñ€Ð°Ð±ÑƒÐµÑ†Ñ†Ð° перазапуÑк +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Майце на ўвазе, што бÑта-верÑÑ–Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ– не можа рабіць гульні публічнымі. -uiscale.reset = Маштаб карыÑтацкага інтÑрфейÑу быў зменены. \nПажмице «ОК» Ð´Ð»Ñ Ð¿Ð°Ñ†Ð²ÑрджÑÐ½Ð½Ñ Ð³Ñтага маштабу. \n[scarlet]Зварот налад Ñ– выхад праз [accent]{0}[] Ñекунд ... +uiscale.reset = Маштаб карыÑтацкага інтÑрфейÑу быў зменены. \nÐаціÑніце «ОК» Ð´Ð»Ñ Ð¿Ð°Ñ†Ð²ÑрджÑÐ½Ð½Ñ Ð³Ñтага маштабу. \n[scarlet]Зварот налад Ñ– выхад праз [accent]{0}[] Ñекунд ... uiscale.cancel = ÐдмÑніць & ВыйÑці setting.bloom.name = СвÑчÑнне -keybind.title = Ðалада ÐºÑ–Ñ€Ð°Ð²Ð°Ð½Ð½Ñ -keybinds.mobile = [scarlet] БольшаÑць камбінацый клавіш тут не працуюць на мабільных прыладах. Падтрымліваецца толькі базавую рух. +keybind.title = Кіраванне +keybinds.mobile = [scarlet] БольшаÑць камбінацый клавіш тут не працуюць на мабільных прыладах. Падтрымліваецца толькі базавы рух. category.general.name = ÐÑноўнае category.view.name = ПраглÑд +category.command.name = Unit Command category.multiplayer.name = Ð¡ÐµÑ‚ÐºÐ°Ð²Ð°Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ -category.blocks.name = Block Select -command.attack = Ðтакаваць -command.rally = Кропка збору -command.retreat = ÐдÑтупіць -command.idle = Idle +category.blocks.name = Выбар Блока placement.blockselectkeys = \n[lightgray]Клавіша: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit +keybind.respawn.name = ПеразÑўленне +keybind.control.name = КантралÑваць Ðдзінку keybind.clear_building.name = ÐчыÑціць план будаўніцтва keybind.press = ÐаціÑніце клавішу ... keybind.press.axis = ÐаціÑніце воÑÑ– або клавішу ... keybind.screenshot.name = Скрыншот карты keybind.toggle_power_lines.name = ÐдлюÑтраванне лазераў ÑнергазабеÑпÑчÑÐ½Ð½Ñ -keybind.toggle_block_status.name = Toggle Block Statuses +keybind.toggle_block_status.name = Утрымаць Ð¡Ñ‚Ð°Ñ‚ÑƒÑ Ð‘Ð»Ð¾ÐºÐ° keybind.move_x.name = Рух па воÑÑ– X keybind.move_y.name = Рух па воÑÑ– Y -keybind.mouse_move.name = наÑледуе курÑорам -keybind.pan.name = Pan View -keybind.boost.name = Boost -keybind.schematic_select.name = Ðбраць воблаÑць -keybind.schematic_menu.name = Меню Ñхем -keybind.schematic_flip_x.name = ÐдлюÑтраваць Ñхему па воÑÑ– X -keybind.schematic_flip_y.name = ÐдлюÑтраваць Ñхему па воÑÑ– Y -keybind.category_prev.name = ПапÑÑ€Ñдні катÑÐ³Ð¾Ñ€Ñ‹Ñ -keybind.category_next.name = ÐаÑÑ‚ÑƒÐ¿Ð½Ð°Ñ ÐºÐ°Ñ‚ÑÐ³Ð¾Ñ€Ñ‹Ñ -keybind.block_select_left.name = Выбар левага блока -keybind.block_select_right.name = Выбар правага блока -keybind.block_select_up.name = Выбар верхнÑга блока -keybind.block_select_down.name = Выбар ніжнÑга блока -keybind.block_select_01.name = КатÑгорыÑ/Выбар блока 1 -keybind.block_select_02.name = КатÑгорыÑ/Выбар блока 2 -keybind.block_select_03.name = КатÑгорыÑ/Выбар блока 3 -keybind.block_select_04.name = КатÑгорыÑ/Выбар блока 4 -keybind.block_select_05.name = КатÑгорыÑ/Выбар блока 5 -keybind.block_select_06.name = КатÑгорыÑ/Выбар блока 6 -keybind.block_select_07.name = КатÑгорыÑ/Выбар блока 7 -keybind.block_select_08.name = КатÑгорыÑ/Выбар блока 8 -keybind.block_select_09.name = КатÑгорыÑ/Выбар блока 9 -keybind.block_select_10.name = КатÑгорыÑ/Выбар блока 10 -keybind.fullscreen.name = ПераключÑнне поўнаÑкраннага Ñ€Ñжыму +keybind.mouse_move.name = Следаваць За ЕурÑорам +keybind.pan.name = Панарамны ПраглÑд +keybind.boost.name = УзлÑцець +keybind.command_mode.name = РÑжым Загадаў +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Перабудаваць РÑгіён +keybind.schematic_select.name = Ðбраць ВоблаÑць +keybind.schematic_menu.name = Меню Схем +keybind.schematic_flip_x.name = ÐдлюÑтраваць Схему Па ВоÑÑ– X +keybind.schematic_flip_y.name = ÐдлюÑтраваць Схему Па ВоÑÑ– Y +keybind.category_prev.name = ПапÑÑ€ÑднÑÑ ÐšÐ°Ñ‚ÑÐ³Ð¾Ñ€Ñ‹Ñ +keybind.category_next.name = ÐаÑÑ‚ÑƒÐ¿Ð½Ð°Ñ ÐšÐ°Ñ‚ÑÐ³Ð¾Ñ€Ñ‹Ñ +keybind.block_select_left.name = Выбар Левага Блока +keybind.block_select_right.name = Выбар Правага Блока +keybind.block_select_up.name = Выбар ВерхнÑга Блока +keybind.block_select_down.name = Выбар ÐіжнÑга Блока +keybind.block_select_01.name = КатÑгорыÑ/Выбар Блока 1 +keybind.block_select_02.name = КатÑгорыÑ/Выбар Блока 2 +keybind.block_select_03.name = КатÑгорыÑ/Выбар Блока 3 +keybind.block_select_04.name = КатÑгорыÑ/Выбар Блока 4 +keybind.block_select_05.name = КатÑгорыÑ/Выбар Блока 5 +keybind.block_select_06.name = КатÑгорыÑ/Выбар Блока 6 +keybind.block_select_07.name = КатÑгорыÑ/Выбар Блока 7 +keybind.block_select_08.name = КатÑгорыÑ/Выбар Блока 8 +keybind.block_select_09.name = КатÑгорыÑ/Выбар Блока 9 +keybind.block_select_10.name = КатÑгорыÑ/Выбар Блока 10 +keybind.fullscreen.name = Поуны Экран keybind.select.name = Выбар/СтрÑл -keybind.diagonal_placement.name = ДыÑганальнае размÑшчÑнне -keybind.pick.name = Ðбраць блок -keybind.break_block.name = Разбурыць блок -keybind.deselect.name = ЗнÑць вылучÑнне -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command +keybind.diagonal_placement.name = ДыÑганальнае РазмÑшчÑнне +keybind.pick.name = Ðбраць Блок +keybind.break_block.name = Разбурыць Блок +keybind.select_all_units.name = Выбраць ÐŽÑе Ðдзінкі +keybind.select_all_unit_factories.name = Выбраць УÑе ÐÐ´Ð·Ñ–Ð½ÐºÐ°Ð²Ñ‹Ñ Ð—Ð°Ð²Ð¾Ð´Ñ‹ +keybind.deselect.name = ЗнÑць ВылучÑнне +keybind.pickupCargo.name = УзÑць Груз +keybind.dropCargo.name = БроÑіць Груз keybind.shoot.name = СтрÑл keybind.zoom.name = Маштабаванне keybind.menu.name = Меню keybind.pause.name = Паўза -keybind.pause_building.name = Прыпыніць/аднавіць будаўніцтва +keybind.pause_building.name = Прыпыніць/Ðднавіць Будаўніцтва keybind.minimap.name = Міні-карта +keybind.planet_map.name = Карта Планеты +keybind.research.name = ДаÑледаванні +keybind.block_info.name = Ð†Ð½Ñ„Ð°Ñ€Ð¼Ð°Ñ†Ñ‹Ñ ÐŸÑ€Ð° Блок keybind.chat.name = Чат keybind.player_list.name = Ð¡Ð¿Ñ–Ñ Ð³ÑƒÐ»ÑŒÑ†Ð¾Ñž keybind.console.name = КанÑоль -keybind.rotate.name = Круціць -keybind.rotateplaced.name = ПавÑрнуць Ñ–Ñнае (заціÑнуць) -keybind.toggle_menus.name = ПераключÑнне меню +keybind.rotate.name = Паварочваць +keybind.rotateplaced.name = ПавÑрнуць ІÑнае (заціÑнуць) +keybind.toggle_menus.name = ПераключÑнне Меню keybind.chat_history_prev.name = ПапÑÑ€Ñд. гіÑÑ‚Ð¾Ñ€Ñ‹Ñ Ñ‡Ð°Ñ‚Ð° keybind.chat_history_next.name = ÐаÑтуп. гіÑÑ‚Ð¾Ñ€Ñ‹Ñ Ñ‡Ð°Ñ‚Ð° keybind.chat_scroll.name = Прагортка чата +keybind.chat_mode.name = ЗмÑніць РÑжым Чату keybind.drop_unit.name = Скінуць баёў. адз. -keybind.zoom_minimap.name = маштабаваць міні-карту +keybind.zoom_minimap.name = Маштабаваць міні-карту mode.help.title = ÐпіÑанне Ñ€Ñжымаў mode.survival.name = Выжыванне -mode.survival.description = Звычайны Ñ€Ñжым. Ðеабходна здабываць Ñ€ÑÑурÑÑ‹, а хвалі наÑтупаюць аўтаматычна. \n[gray]Патрабуюцца пункту з’ÑÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð¾Ñ€Ð°Ð³Ð°Ñž на карце Ð´Ð»Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–. +mode.survival.description = Звычайны Ñ€Ñжым. Ðеабходна здабываць Ñ€ÑÑурÑÑ‹, а хвалі наÑтупаюць аўтаматычна. \n[gray]Патрабуецца пункт з’ÑÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð¾Ñ€Ð°Ð³Ð°Ñž на карце Ð´Ð»Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–. mode.sandbox.name = ПÑÑочніца mode.sandbox.description = БÑÑÐºÐ¾Ð½Ñ†Ñ‹Ñ Ñ€ÑÑурÑÑ‹ Ñ– нÑма таймера хваль. [gray]Можна Ñамім выклікаць хвалю. mode.editor.name = РÑдактар @@ -858,47 +1337,100 @@ mode.pvp.description = ЗмагайцеÑÑ Ñупраць іншых гульц mode.attack.name = Ðтака mode.attack.description = Знішчыце варожую базу. \n[gray]Ð”Ð»Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ– патрабуецца чырвонае Ñдро ​​на карце. mode.custom = КарыÑÑ‚Ð°Ð»ÑŒÐ½Ñ–Ñ†ÐºÑ–Ñ Ð¿Ñ€Ð°Ð²Ñ–Ð»Ñ‹ +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Схаваць Ð—Ð°Ð±Ð°Ñ€Ð¾Ð½ÐµÐ½Ñ‹Ñ Ð‘Ð»Ð¾ÐºÑ– rules.infiniteresources = БÑÑÐºÐ¾Ð½Ñ†Ñ‹Ñ Ñ€ÑÑурÑÑ‹ (Гулец) +rules.onlydepositcore = Дазволіць Толькі ДÑплананне Ядра +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Выбухі Ñ€Ñактараў -rules.schematic = Schematics Allowed +rules.coreincinerates = Ядро Спальвае РÑÑурÑÑ‹ +rules.disableworldprocessors = Ðдключыць ПрацÑÑары Свету +rules.schematic = Схемы Дазволены rules.wavetimer = ІнтÑрвал хвалÑÑž +rules.wavesending = Ðдпраўка Хваль +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Хвалі +rules.airUseSpawns = Air units use spawn points rules.attack = РÑжым атакі -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Мінімальны Размер Ðтраду +rules.rtsmaxsquadsize = МакÑімальны Размер Ðтраду +rules.rtsminattackweight = ÐœÑ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð’Ð°Ð³Ð° Ðтакі +rules.cleanupdeadteams = ÐчыÑціць Будынкі Знішчанай Каманды (PvP) +rules.corecapture = Захапіь Ядро Пры ЗніCapture Core On Destruction +rules.polygoncoreprotection = Ð¨Ð¼Ð°Ñ‚ÐºÑƒÑ‚Ð½Ð°Ñ Ðбарона Ядра +rules.placerangecheck = Праверка ВоблаÑці РазмÑшчÑÐ½Ð½Ñ rules.enemyCheat = БÑÑÐºÐ¾Ð½Ñ†Ñ‹Ñ Ñ€ÑÑурÑÑ‹ ІІ (Ñ‡Ñ‹Ñ€Ð²Ð¾Ð½Ð°Ñ ÐºÐ°Ð¼Ð°Ð½Ð´Ð°) rules.blockhealthmultiplier = Множнік Ð·Ð´Ð°Ñ€Ð¾ÑžÑ Ð±Ð»Ð¾ÐºÐ°Ñž -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Множнік хуткаÑці вытворчаÑці баёў. адз. -rules.unithealthmultiplier = Множнік Ð·Ð´Ð°Ñ€Ð¾ÑžÑ Ð±Ð°Ñ‘Ñž. адз. -rules.unitdamagemultiplier = Множнік Ñтрат баёў. адз. +rules.blockdamagemultiplier = Множнік ÐŸÐ°ÑˆÐºÐ¾Ð´Ð¶Ð°Ð½Ð½Ñ Ð‘Ð»Ð¾ÐºÐ°Ð¼ +rules.unitbuildspeedmultiplier = Множнік хуткаÑці вытворчаÑці баÑв. адз. +rules.unitcostmultiplier = Множыцель Кошту Ðдзінак +rules.unithealthmultiplier = Множнік Ð·Ð´Ð°Ñ€Ð¾ÑžÑ Ð±Ð°Ñв. адз. +rules.unitdamagemultiplier = Множнік Ñтрат баÑв. адз. +rules.unitcrashdamagemultiplier = Множнік Падрыўнога ÐŸÐ°ÑˆÐºÐ¾Ð´Ð¶Ð°Ð½Ð½Ñ Ð®Ð½Ñ–Ñ‚Ð° +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Множнік Сонечнай Энергіі +rules.unitcapvariable = Ядра СпрыÑюць КолькаÑці Юнітаў +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = ÐÑÐ½Ð¾ÑžÐ½Ð°Ñ ÐšÐ¾Ð»ÑŒÐºÐ°Ñць Юнітаў +rules.limitarea = Ðбмежаваць ВоблаÑць Мапы rules.enemycorebuildradius = Ð Ð°Ð´Ñ‹ÑƒÑ Ð°Ð±Ð°Ñ€Ð¾Ð½Ñ‹ варожае. Ñдраў: [lightgray] (блок.) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = ІнтÑрвал хваль: [lightgray](Ñек) +rules.initialwavespacing = Пачатковы ІнтÑрвал Хваль:[lightgray] (Ñек) rules.buildcostmultiplier = Множнік выдаткаў на будаўніцтва rules.buildspeedmultiplier = Множнік хуткаÑці будаўніцтва rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Хвалі чакаюць ворагаў +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Ð Ð°Ð´Ñ‹ÑƒÑ Ð·Ð¾Ð½Ñ‹ выÑадкі ворагаў: [lightgray] (блокаў) -rules.unitammo = Units Require Ammo +rules.unitammo = Ðдзінкі Патрабуюць Ð‘Ð¾ÐµÐ·Ð°Ð¿Ð°Ñ +rules.enemyteam = Ð’Ð°Ñ€Ð¾Ð¶Ð°Ñ ÐšÐ°Ð¼Ð°Ð½Ð´Ð° +rules.playerteam = Каманда Гульца rules.title.waves = Хвалі rules.title.resourcesbuilding = РÑÑурÑÑ‹ & будаўніцтва rules.title.enemy = Ворагі -rules.title.unit = Баёў. адз. -rules.title.experimental = ÑкÑперыментальнай -rules.title.environment = Environment +rules.title.unit = БаÑв. адз. +rules.title.experimental = ЭкÑперыментальны +rules.title.environment = ÐÑÑродзе +rules.title.teams = Кманды +rules.title.planet = Планета rules.lighting = ÐÑвÑтленне -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage +rules.fog = Туман Вайны +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Ðгонь +rules.anyenv = <Любы> +rules.explosions = ÐŸÐ°Ð´Ñ€Ñ‹ÑžÐ½Ñ‹Ñ Ð¿Ð°ÑˆÐºÐ¾Ð´Ð¶Ð°Ð½Ð½Ñ– Блока/Ðдзінкі rules.ambientlight = Ðавакольны Ñвет rules.weather = Ðадвор'е rules.weather.frequency = ЧаÑтата: +rules.weather.always = ЗаўÑёды rules.weather.duration = ПрацÑглаÑць: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = РÑчывы content.liquid.name = ВадкаÑці content.unit.name = БаÑÐ²Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– content.block.name = Блокі +content.status.name = Эфекты Стану +content.sector.name = Сектары +content.team.name = Фракцыі +wallore = (СцÑна) item.copper.name = Медзь item.lead.name = Свінец @@ -916,10 +1448,23 @@ item.blast-compound.name = Ð’Ñ‹Ð±ÑƒÑ…Ð¾Ð²Ð°Ñ ÑумеÑÑŒ item.pyratite.name = Піратыт item.metaglass.name = Металшкло item.scrap.name = Металалом +item.fissile-matter.name = РаÑчаплÑльнае РÑчыва +item.beryllium.name = Берылій +item.tungsten.name = Вальфрам +item.oxide.name = ÐкÑід +item.carbide.name = Карбід +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Вада liquid.slag.name = Шлак liquid.oil.name = Ðафта liquid.cryofluid.name = КрыÑÐ³ÐµÐ½Ð½Ð°Ñ Ð²Ð°Ð´ÐºÐ°Ñць +liquid.neoplasm.name = Ðаватвор +liquid.arkycite.name = Ðркіцыт +liquid.gallium.name = Галій +liquid.ozone.name = Ðзон +liquid.hydrogen.name = Вадарод +liquid.nitrogen.name = Ðзот +liquid.cyanogen.name = Цыан unit.dagger.name = Кінжал unit.mace.name = Булава @@ -942,11 +1487,16 @@ unit.poly.name = Полі unit.mega.name = Мега unit.quad.name = Квад unit.oct.name = Окт -unit.risso.name = РіÑÑо +unit.risso.name = РыÑо unit.minke.name = Мінкі unit.bryde.name = Брайд unit.sei.name = СÑй unit.omura.name = Ðмура +unit.retusa.name = РÑтуза +unit.oxynoe.name = ÐкÑіной +unit.cyerce.name = Цыерц +unit.aegires.name = Эгір +unit.navanax.name = ÐÐ°Ð²Ð°Ð½Ð°ÐºÑ unit.alpha.name = Ðльфа unit.beta.name = БÑта unit.gamma.name = Гамма @@ -954,14 +1504,36 @@ unit.scepter.name = Скіпетр unit.reign.name = Улада unit.vela.name = Ветразь unit.corvus.name = ÐšÐ¾Ñ€Ð²ÑƒÑ - -block.resupply-point.name = ЦÑнтр аммуніцыі +unit.stell.name = База +unit.locus.name = Ðчаг +unit.precept.name = ПрадпіÑанне +unit.vanquish.name = Пераможнік +unit.conquer.name = Заваёўвацель +unit.merui.name = Меруй +unit.cleroi.name = Клерой +unit.anthicus.name = ÐÐ½Ñ†Ñ–ÐºÑƒÑ +unit.tecta.name = ТÑкта +unit.collaris.name = ÐšÐ°Ð»Ð°Ñ€Ñ‹Ñ +unit.elude.name = Ухіленне +unit.avert.name = Захапленне +unit.obviate.name = ЗаÑтрашванне +unit.quell.name = КуÑлл +unit.disrupt.name = ПарушÑнне +unit.evoke.name = Выклік +unit.incite.name = УзбуджÑнне +unit.emanate.name = Зыход +unit.manifold.name = Грузавы Дрон +unit.assembly-drone.name = Зборачны Дрон +unit.latum.name = Латум +unit.renale.name = РÑнал block.parallax.name = ÐŸÐ°Ñ€Ñ€Ð°Ð»Ð°ÐºÑ block.cliff.name = Скала -block.sand-boulder.name = ПÑшчаны валун +block.sand-boulder.name = ПÑÑчаны валун +block.basalt-boulder.name = Базальтны Валун block.grass.name = Трава -block.slag.name = Шлак -block.space.name = Space +block.molten-slag.name = Шлак +block.pooled-cryofluid.name = КрыÑген +block.space.name = ПраÑтора block.salt.name = Соль block.salt-wall.name = СалÑÐ½Ð°Ñ ÑцÑна block.pebbles.name = Галька @@ -969,14 +1541,14 @@ block.tendrils.name = Ð¡Ð¿Ð¾Ñ€Ð°Ð²Ñ‹Ñ Ð²ÑƒÑікі block.sand-wall.name = ПÑÑˆÑ‡Ð°Ð½Ð°Ñ ÑцÑна block.spore-pine.name = Спорава Ñ…Ð²Ð¾Ñ block.spore-wall.name = Ð¡Ð¿Ð¾Ñ€Ð°Ð²Ð°Ñ ÑцÑна -block.boulder.name = Boulder +block.boulder.name = Валун block.snow-boulder.name = Снежны валун block.snow-pine.name = ЗаÑÐ½ÐµÐ¶Ð°Ð½Ð°Ñ Ñ…Ð²Ð¾Ñ block.shale.name = Сланец block.shale-boulder.name = Сланцавы валун block.moss.name = Мох block.shrubs.name = КуÑты -block.spore-moss.name = Спорава мох +block.spore-moss.name = Споравы мох block.shale-wall.name = Ð¡Ð»Ð°Ð½Ñ†Ð°Ð²Ð°Ñ ÑцÑна block.scrap-wall.name = СцÑна з металалому block.scrap-wall-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ ÑцÑна з металалому @@ -988,42 +1560,47 @@ block.graphite-press.name = Графітны прÑÑ block.multi-press.name = Мульты-прÑÑ block.constructing = {0} [lightgray](Будуецца) block.spawn.name = Кропка з’ÑÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð¾Ñ€Ð°Ð³Ð°Ñž +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Ядро: «ÐÑкепак» block.core-foundation.name = Ядро: «Штаб» block.core-nucleus.name = Ядро: «Ðтам» -block.deepwater.name = Глубокаводдзе -block.water.name = Вада +block.deep-water.name = Глубокаводдзе +block.shallow-water.name = Вада block.tainted-water.name = Ð—Ð°Ð±Ñ€ÑƒÐ´Ð¶Ð°Ð½Ð½Ð°Ñ Ð²Ð°Ð´Ð° -block.darksand-tainted-water.name = Тёмный пÑÑок з забруджанай вадой +block.deep-tainted-water.name = Ð“Ð»Ñ‹Ð±Ð¾ÐºÐ°Ñ Ð·Ð°Ð±Ñ€ÑƒÐ´Ð¶Ð°Ð½Ð°Ñ Ð²Ð°Ð´Ð° +block.darksand-tainted-water.name = Цёмны пÑÑок з забруджанай вадой block.tar.name = Ðафта block.stone.name = Камень -block.sand.name = ПÑÑок +block.sand-floor.name = ПÑÑок block.darksand.name = Тёмны пÑÑок block.ice.name = Лёд block.snow.name = Снег -block.craters.name = КратÑры +block.crater-stone.name = КратÑÑ€ block.sand-water.name = ПÑÑок з вадой -block.darksand-water.name = Тёмный пÑÑок з вадой +block.darksand-water.name = Цёмны пÑÑок з вадой block.char.name = Ð’Ñ‹Ð¿Ð°Ð»ÐµÐ½Ð°Ñ Ð·ÑÐ¼Ð»Ñ block.dacite.name = Дацыт +block.rhyolite.name = РыÑліт block.dacite-wall.name = Ð”Ð°Ñ†Ñ‹Ñ‚Ð°Ð²Ð°Ñ ÑцÑна block.dacite-boulder.name = Дацытавы валун block.ice-snow.name = ЗаÑнежаны лёд block.stone-wall.name = ÐšÐ°Ð¼ÐµÐ½Ð½Ð°Ñ ÑцÑна block.ice-wall.name = ЛÑÐ´Ð¾Ð²Ð°Ñ ÑцÑна block.snow-wall.name = Ð¡Ð½ÐµÐ¶Ð½Ð°Ñ ÑцÑна -block.dune-wall.name = ТёмнапÑÑÑ‡Ð°Ð½Ð°Ñ ÑцÑна +block.dune-wall.name = ЦёмнапÑÑÑ‡Ð°Ð½Ð°Ñ ÑцÑна block.pine.name = СаÑна block.dirt.name = ЗÑÐ¼Ð»Ñ block.dirt-wall.name = Ð‘Ñ€ÑƒÐ´Ð½Ð°Ñ ÑцÑна block.mud.name = Бруд block.white-tree-dead.name = Мёртвае белае дрÑва block.white-tree.name = Белае дрÑва -block.spore-cluster.name = Ðавала ÑпрÑчка +block.spore-cluster.name = Ð¡Ð¿Ð°Ñ€Ð°Ð²Ð°Ñ Ð³Ñ€Ð¾Ð½ÐºÐ° block.metal-floor.name = ÐœÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° 1 block.metal-floor-2.name = ÐœÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° 2 block.metal-floor-3.name = ÐœÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° 3 -block.metal-floor-5.name = ÐœÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° 4 +block.metal-floor-4.name = ÐœÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° 4 +block.metal-floor-5.name = ÐœÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° 5 block.metal-floor-damaged.name = ÐŸÐ°ÑˆÐºÐ¾Ð´Ð¶Ð°Ð½Ð°Ñ Ð¼ÐµÑ‚Ð°Ð»Ñ–Ñ‡Ð½Ð°Ñ Ð¿Ð°Ð´Ð»Ð¾Ð³Ð° block.dark-panel-1.name = Ð¦Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½Ñль 1 block.dark-panel-2.name = Ð¦Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½Ñль 2 @@ -1032,7 +1609,7 @@ block.dark-panel-4.name = Ð¦Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½Ñль 4 block.dark-panel-5.name = Ð¦Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½Ñль 5 block.dark-panel-6.name = Ð¦Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½Ñль 6 block.dark-metal.name = Цёмны метал -block.basalt.name = Basalt +block.basalt.name = Базальт block.hotrock.name = Гарачы камень block.magmarock.name = Магмавы камень block.copper-wall.name = ÐœÐµÐ´Ð½Ð°Ñ ÑцÑна @@ -1049,31 +1626,32 @@ block.door.name = Дзверы block.door-large.name = Ð’ÑлікiÑ Ð´Ð·Ð²ÐµÑ€Ñ‹ block.duo.name = Ð”Ð²Ð°Ð¹Ð½Ð°Ñ Ñ‚ÑƒÑ€Ñль block.scorch.name = Ðбпальшчык -block.scatter.name = РаÑÑейвальнік +block.scatter.name = льнік block.hail.name = Град block.lancer.name = Капейшчык block.conveyor.name = Канвеер block.titanium-conveyor.name = Тытанавы канвеер block.plastanium-conveyor.name = ПлаÑтанавы канвеер block.armored-conveyor.name = Браніраваны канвеер -block.armored-conveyor.description = ПерамÑшчае прадметы з той жа хуткаÑцю, што Ñ– Ñ‚Ñ‹Ñ‚Ð°Ð½Ð°Ð²Ñ‹Ñ ÐºÐ°Ð½Ð²ÐµÐµÑ€Ñ‹, але валодае большай бранёй. Ðе прымае на ўваход з бакоў ні ад чаго Ð°ÐºÑ€Ð°Ð¼Ñ Ñк ад іншых канвеераў. block.junction.name = ПеракроÑтак block.router.name = Маршрутызатар block.distributor.name = Размеркавальнік block.sorter.name = Сартавальнік block.inverted-sorter.name = Інвертаваны Ñартавальнік block.message.name = Паведамленне +block.reinforced-message.name = Узмоцненнае Паведамленне +block.world-message.name = Паведамленне Свету +block.world-switch.name = World Switch block.illuminator.name = ÐÑвÑтлÑльнік -block.illuminator.description = Маленькі, кампактны, Ñкі наладжвае крыніцу ÑвÑтла. Патрабуецца ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. block.overflow-gate.name = Залішнi затвор block.underflow-gate.name = Залішнi шлюз block.silicon-smelter.name = КрÑмнÑвы плавільны завод block.phase-weaver.name = Фазавы ткач block.pulverizer.name = ЗдрабнÑльнік -block.cryofluid-mixer.name = Мешалка крыÑгеннай вадкаÑці +block.cryofluid-mixer.name = Змешвалка крыÑгеннай вадкаÑці block.melter.name = ÐŸÐ»Ð°Ð²Ñ–Ð»ÑŒÐ½Ñ -block.incinerator.name = МуÑараÑжыгатель -block.spore-press.name = Споравы прÑÑ +block.incinerator.name = МуÑараÑпальвальік +block.spore-press.name = Спаравы прÑÑ block.separator.name = Ðдлучнік block.coal-centrifuge.name = Ð’ÑƒÐ³Ð°Ð»ÑŒÐ½Ð°Ñ Ñ†Ñнтрыфуга block.power-node.name = Сілавы вузел @@ -1102,12 +1680,12 @@ block.power-source.name = Крыніца Ñнергіі block.unloader.name = Разгрузчык block.vault.name = Сховішча block.wave.name = Ð¥Ð²Ð°Ð»Ñ -block.tsunami.name = Tsunami +block.tsunami.name = Цунамі block.swarmer.name = РаÑвiк block.salvo.name = Залп block.ripple.name = Рабь block.phase-conveyor.name = Фазавы канвеер -block.bridge-conveyor.name = МаÑтавой канвеер +block.bridge-conveyor.name = МаÑтавы канвеер block.plastanium-compressor.name = ПлаÑтанавы кампрÑÑар block.pyratite-mixer.name = МÑшалка пiратыту block.blast-mixer.name = МÑшалка выбуховай ÑумеÑÑ– @@ -1115,20 +1693,22 @@ block.solar-panel.name = Ð¡Ð¾Ð½ÐµÑ‡Ð½Ð°Ñ Ð¿Ð°Ð½Ñль block.solar-panel-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ ÑÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ð¿Ð°Ð½Ñль block.oil-extractor.name = ÐÐ°Ñ„Ñ‚Ð°Ð²Ð°Ñ Ð²Ñ‹ÑˆÐºÐ° block.repair-point.name = Рамонтны пункт +block.repair-turret.name = Рамонтна турÑль block.pulse-conduit.name = ІмпульÑны трубаправод block.plated-conduit.name = Умацаваны трубаправод block.phase-conduit.name = Фазавы трубаправод block.liquid-router.name = ВадкаÑны маршрутызатар block.liquid-tank.name = ВадкаÑны бак -block.liquid-junction.name = ВадкаÑны перакрыжаванне +block.liquid-container.name = ВадкаÑны кантÑйнер +block.liquid-junction.name = ВадкаÑны перакрыжавальнік block.bridge-conduit.name = МаÑтавы трубаправод block.rotary-pump.name = Ротарны наÑÐ¾Ñ block.thorium-reactor.name = ТорыÑвы Ñ€Ñактар block.mass-driver.name = Ð­Ð»ÐµÐºÑ‚Ñ€Ð°Ð¼Ð°Ð³Ð½Ñ–Ñ‚Ð½Ð°Ñ ÐºÐ°Ñ‚Ð°Ð¿ÑƒÐ»ÑŒÑ‚Ð° block.blast-drill.name = ÐŸÐ°Ð²ÐµÑ‚Ñ€Ð°Ð½Ð°Ñ Ð±ÑƒÑ€Ð°Ð²Ð°Ñ ÑžÑтаноўка -block.thermal-pump.name = ТÑрмальны наÑÐ¾Ñ +block.impulse-pump.name = ТÑрмальны наÑÐ¾Ñ block.thermal-generator.name = ТÑрмальны генератар -block.alloy-smelter.name = ÐŸÐ»Ð°Ð²Ñ–Ð»ÑŒÐ½Ñ ÐºÑ–Ð½Ñтычнага Ñплаву +block.surge-smelter.name = ÐŸÐ»Ð°Ð²Ñ–Ð»ÑŒÐ½Ñ ÐºÑ–Ð½Ñтычнага Ñплаву block.mender.name = РÑгенератар block.mend-projector.name = Ð’Ñлiкi Ñ€Ñгенератар block.surge-wall.name = СцÑна з кінÑтычнага Ñплаву @@ -1142,12 +1722,12 @@ block.arc.name = Дуга block.rtg-generator.name = Радыеізатопны Ñ‚ÑрмаÑлектрычны генератар block.spectre.name = Спектр block.meltdown.name = ІÑпепÑліцель -block.foreshadow.name = Foreshadow +block.foreshadow.name = ПрадвеÑце block.container.name = КантÑйнер block.launch-pad.name = ПуÑÐºÐ°Ð²Ð°Ñ Ð¿Ð»Ñцоўка -block.launch-pad-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ð¿ÑƒÑÐºÐ°Ð²Ð°Ñ Ð¿Ð»Ñцоўка -block.segment.name = Segment -block.command-center.name = Каммандны цÑнтр +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Сегмент block.ground-factory.name = Завод наземных адзінак block.air-factory.name = Завод паветраных адзінак block.naval-factory.name = Завод марÑкіх адзінак @@ -1155,82 +1735,339 @@ block.additive-reconstructor.name = Злучальны Ñ€ÑканÑтрукта block.multiplicative-reconstructor.name = Мультыплікацыйны Ñ€ÑканÑтруктар block.exponential-reconstructor.name = ЭкÑпаненцыÑльны Ñ€ÑканÑтруктар block.tetrative-reconstructor.name = ТÑтрацыйны Ñ€ÑканÑтруктар -block.payload-conveyor.name = Канвеер Ð´Ð»Ñ Ñ‚Ñжёлай зброі -block.payload-router.name = Роутар Ð´Ð»Ñ Ñ‚Ñжёлай зброі +block.payload-conveyor.name = Грузавы Канвеер +block.payload-router.name = Грузавы Маршрутызатар +block.duct.name = Канал +block.duct-router.name = Канальны Маршрутызатар +block.duct-bridge.name = Канальны МоÑÑ‚ +block.large-payload-mass-driver.name = Ð’Ñлікі Грузавы Кіроўца МаÑÑ +block.payload-void.name = Выгрузачны Вакуум +block.payload-source.name = Ð’Ñ‹Ð³Ñ€ÑƒÐ·Ð°Ñ‡Ð½Ð°Ñ ÐšÑ€Ñ‹Ð½Ñ–Ñ†Ð° block.disassembler.name = Разборшчык block.silicon-crucible.name = КрÑмніевы тыгель block.overdrive-dome.name = Сверхпрывадны купал +block.interplanetary-accelerator.name = Міжпланетны ПаÑкаральнік +block.constructor.name = КанÑтруктар +block.constructor.description = Стварае збудаванні да 2x2 плітак размерам. +block.large-constructor.name = Ð’Ñлікі КанÑтруктар +block.large-constructor.description = Стварае збудаванні да 4x4 плітак размерам. +block.deconstructor.name = ДÑканÑтруктар +block.deconstructor.description = ДÑканÑтруюе збудаванні Ñ– адзінкі. Ð’Ñртае 100% ад кошту збокрі. +block.payload-loader.name = Загрузчык +block.payload-loader.description = Загружае вадкаÑці Ñ– прадметы Ñž блокі. +block.payload-unloader.name = Выгрузчык +block.payload-unloader.description = Выгружае вадкаÑці Ñ– прадметы з блокаў. +block.heat-source.name = Крыніца ЦÑпла +block.heat-source.description = Блок 1x1 Ñкі дае віртуальнае бÑÑконцае цÑпло. +block.empty.name = ПуÑты +block.rhyolite-crater.name = РыÑлітавы Кратар +block.rough-rhyolite.name = Грубы РыÑліт +block.regolith.name = РÑгаліт +block.yellow-stone.name = Жоўты Камень +block.carbon-stone.name = ВуглÑродны Камень +block.ferric-stone.name = Жалезны Камень +block.ferric-craters.name = Ð–Ð°Ð»ÐµÐ·Ð½Ñ‹Ñ ÐšÑ€Ð°Ñ‚Ð°Ñ€Ñ‹ +block.beryllic-stone.name = Берыліевы Камень +block.crystalline-stone.name = Крыштальны Камень +block.crystal-floor.name = Крыштальнае Пакрыццё +block.yellow-stone-plates.name = Ð–Ð¾ÑžÑ‚Ñ‹Ñ ÐšÐ°Ð¼Ð¼ÐµÐ½Ð½Ñ‹Ñ ÐŸÐ»Ð°Ñціны +block.red-stone.name = Чырвоны Камень +block.dense-red-stone.name = Шчыльны КраÑны Камень +block.red-ice.name = Чырвоны Лёд +block.arkycite-floor.name = Ðркіцытнае Пакрыццё +block.arkyic-stone.name = Ðркіцытны Камень +block.rhyolite-vent.name = РыÑлітавы Гейзер +block.carbon-vent.name = ВуглÑродны Гейзер +block.arkyic-vent.name = Ðркіцытны Гейзер +block.yellow-stone-vent.name = Жоутакаменны Гейзер +block.red-stone-vent.name = Чырвонакаменны Гейзер +block.crystalline-vent.name = Крыштальны Гейзер +block.redmat.name = КраÑÐ½Ð°Ñ Ð“Ð»ÐµÐ±Ð° +block.bluemat.name = СінÑÑ Ð“Ð»ÐµÐ±Ð° +block.core-zone.name = Зона Ядра +block.regolith-wall.name = СцÑна З РÑгіÑліту +block.yellow-stone-wall.name = СцÑна З Жоўтага Камню +block.rhyolite-wall.name = СцÑна З РыÑліту +block.carbon-wall.name = СцÑна З ВуглÑроду +block.ferric-stone-wall.name = СцÑна З Жалезнага Камню +block.beryllic-stone-wall.name = СцÑна З Берыліевага Камню +block.arkyic-wall.name = СцÑна З Ðркіцыту +block.crystalline-stone-wall.name = СцÑна З Крыштальнага Камню +block.red-ice-wall.name = СцÑна З Чырвонага Ільду +block.red-stone-wall.name = СцÑна З Чырвонага ÐšÐ°Ð¼Ð½Ñ +block.red-diamond-wall.name = СцÑна З КраÑнага КрыÑталу +block.redweed.name = КраÑнацвет +block.pur-bush.name = ФіÑлетавы КуÑÑ‚ +block.yellowcoral.name = Жоуты Карал +block.carbon-boulder.name = ВуглÑродны Валун +block.ferric-boulder.name = Жалезны Валун +block.beryllic-boulder.name = БерыліÑвы Валун +block.yellow-stone-boulder.name = Валун З Жоўтага Камню +block.arkyic-boulder.name = Ðркіцытны Валун +block.crystal-cluster.name = КрыÑтальны КлаÑтар +block.vibrant-crystal-cluster.name = Яркі КрыÑтальны КлаÑтар +block.crystal-blocks.name = КрыÑÑ‚Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð‘Ð»Ð¾ÐºÑ– +block.crystal-orbs.name = КрыÑÑ‚Ð°Ð»ÑŒÐ½Ñ‹Ñ Ð¨Ð°Ñ€Ñ‹ +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Валун З Чырвонага Ільда +block.rhyolite-boulder.name = РыÑлітны Валун +block.red-stone-boulder.name = Валун З Чырвонага ÐšÐ°Ð¼Ð½Ñ +block.graphitic-wall.name = Ð“Ñ€Ð°Ñ„Ñ–Ñ‚Ð½Ð°Ñ Ð¡Ñ†Ñна +block.silicon-arc-furnace.name = КрÑÐ¼Ð½ÐµÐ²Ð°Ñ Ð”ÑƒÐ³Ð°Ð²Ð°Ñ ÐŸÐµÑ‡ +block.electrolyzer.name = ЭлектралізÑÑ€ +block.atmospheric-concentrator.name = ÐтмаÑферны КанцÑнтратар +block.oxidation-chamber.name = Камера ÐкÑідацыі +block.electric-heater.name = Электрычны Ðагравацель +block.slag-heater.name = Шлакавы Ðагравацель +block.phase-heater.name = Фазавы Ðагравацель +block.heat-redirector.name = Перанакіроўшчык ЦÑпла +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Маршрутызатар ЦÑпла +block.slag-incinerator.name = Шлакавы Спальвальнік +block.carbide-crucible.name = Карбідны Тыгель +block.slag-centrifuge.name = Ð¨Ð»Ð°ÐºÐ°Ð²Ð°Ñ Ð¦Ñнтрыфуга +block.surge-crucible.name = ІмпульÑны Тыгель +block.cyanogen-synthesizer.name = CінтÑзатар Цыана +block.phase-synthesizer.name = СінтÑзатар Фазы +block.heat-reactor.name = Цеплавы РÑактар +block.beryllium-wall.name = Ð‘ÐµÑ€Ñ‹Ð»Ñ–ÐµÐ²Ð°Ñ Ð¡Ñ†Ñна +block.beryllium-wall-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ð‘ÐµÑ€Ñ‹Ð»Ñ–ÐµÐ²Ð°Ñ Ð¡Ñ†Ñна +block.tungsten-wall.name = Ð’Ð°Ð»ÑŒÑ„Ñ€Ð°Ð¼Ð°Ð²Ð°Ñ Ð¡Ñ†Ñна +block.tungsten-wall-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ð’Ð°Ð»ÑŒÑ„Ñ€Ð°Ð¼Ð°Ð²Ð°Ñ Ð¡Ñ†Ñна +block.blast-door.name = ІмпульÑÐ½Ð°Ñ Ð”Ð·Ð²ÐµÑ€ +block.carbide-wall.name = ÐšÐ°Ñ€Ð±Ñ–Ð´Ð½Ð°Ñ Ð¡Ñ†Ñна +block.carbide-wall-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ ÐšÐ°Ñ€Ð±Ñ–Ð´Ð½Ð°Ñ Ð¡Ñ†Ñна +block.reinforced-surge-wall.name = Ð£Ð·Ð¼Ð¾Ñ†Ð½ÐµÐ½Ð½Ð°Ñ Ð†Ð¼Ð¿ÑƒÐ»ÑŒÑÐ½Ð°Ñ Ð¡Ñ†Ñна +block.reinforced-surge-wall-large.name = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ð£Ð·Ð¼Ð¾Ñ†Ð½ÐµÐ½Ð½Ð°Ñ Ð†Ð¼Ð¿ÑƒÐ»ÑŒÑÐ½Ð°Ñ Ð¡Ñ†Ñна +block.shielded-wall.name = Ð­ÐºÑ€Ð°Ð½Ð°Ð²Ð°Ð½Ð°Ñ Ð¡Ñ†Ñна +block.radar.name = Радар +block.build-tower.name = Ð‘ÑƒÐ´ÑƒÑŽÑ‡Ð°Ñ Ð‘Ð°ÑˆÐ½Ñ +block.regen-projector.name = РÑгенеруючы Праектар +block.shockwave-tower.name = Ð£Ð´Ð°Ñ€Ð½Ð°Ð²Ð°ÑžÐ½Ð°Ð²Ð°Ñ Ð‘Ð°ÑˆÐ½Ñ +block.shield-projector.name = Шчытавы Праектар +block.large-shield-projector.name = Ð’Ñлікі Шчвтавы Праектар +block.armored-duct.name = Браніраваны Канал +block.overflow-duct.name = Злішні Канал +block.underflow-duct.name = Злішні Шлюзавы Канал +block.duct-unloader.name = Канальны Разгрузчык +block.surge-conveyor.name = ІмпульÑны Канвеер +block.surge-router.name = ІмпульÑны Маршрутызатар +block.unit-cargo-loader.name = Загрузчык Грузавых Ðдзінкаў +block.unit-cargo-unload-point.name = Пункт Разгрузчыку Грузавых Ðдзінкаў +block.reinforced-pump.name = Ð£Ð·Ð¼Ð¾Ñ†Ð½ÐµÐ½Ð°Ñ ÐŸÐ¾Ð¼Ð¿Ð° +block.reinforced-conduit.name = Узмоцнены Трубаправод +block.reinforced-liquid-junction.name = Узмоцненае ВадкаÑнае ЗлучÑнне +block.reinforced-bridge-conduit.name = Узмоцнены МаÑтавы Трубаправод +block.reinforced-liquid-router.name = Узмоцнены ВадкаÑны Маршрутызатар +block.reinforced-liquid-container.name = Узмоцнены ВадкаÑны КантÑйнер +block.reinforced-liquid-tank.name = Узмоцнены ВадкаÑны Бак +block.beam-node.name = ПрамÑнёвы Вузел +block.beam-tower.name = ПрамÑÐ½Ñ‘Ð²Ð°Ñ Ð‘Ð°ÑˆÐ½Ñ +block.beam-link.name = ПрамÑнёвае ЗлучÑнне +block.turbine-condenser.name = КандÑнÑатар Турбіны +block.chemical-combustion-chamber.name = Ð¥Ñ–Ð¼Ñ–Ñ‡Ð½Ð°Ñ ÐšÐ°Ð¼ÐµÑ€Ð° Ð—Ð³Ð°Ñ€Ð°Ð½Ð½Ñ +block.pyrolysis-generator.name = Генератар Піролізу +block.vent-condenser.name = ВентылÑцыйны КандÑнÑатар +block.cliff-crusher.name = ЗдрабнÑльнік Скал +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Плазменны Бур +block.large-plasma-bore.name = Ð’Ñлікі Плазменны Бур +block.impact-drill.name = Ð£Ð´Ð°Ñ€Ð½Ð°Ñ Ð‘ÑƒÑ€Ð°Ð²Ð°Ñ Ð£Ñталёўка +block.eruption-drill.name = ВывÑÑ€Ð³Ð°ÑŽÑ‡Ð°Ñ Ð‘ÑƒÑ€Ð°Ð²Ð°Ñ Ð£Ñталёўка +block.core-bastion.name = Ядро БаÑтыён +block.core-citadel.name = Ядро ЦытадÑль +block.core-acropolis.name = Ядро Ðкропаль +block.reinforced-container.name = Узмоцнены КантÑйнер +block.reinforced-vault.name = Узмоцнены Склеп +block.breach.name = ПарушÑнне +block.sublimate.name = УзвышÑнне +block.titan.name = Тытан +block.disperse.name = Разыход +block.afflict.name = Пакута +block.lustre.name = БлеÑк +block.scathe.name = ПаражÑнне +block.tank-refabricator.name = РÑфабрыкатар Танкаў +block.mech-refabricator.name = РÑфабрыкатар МÑхоў +block.ship-refabricator.name = РÑфабрыкатар Суднаў +block.tank-assembler.name = Зборшчык Танкаў +block.ship-assembler.name = Зборшчык Суднаў +block.mech-assembler.name = Зборшчык МÑхоў +block.reinforced-payload-conveyor.name = Узмоцнены Выгрузачны КантÑйнер +block.reinforced-payload-router.name = Узмоцнены Выгрузачны КантÑйнер +block.payload-mass-driver.name = Выгрузачны Кіроўца МаÑÑ +block.small-deconstructor.name = Маленькі ДÑканÑтруктар +block.canvas.name = Палатно +block.world-processor.name = ПрацÑÑар Свету +block.world-cell.name = Клетка Свету +block.tank-fabricator.name = Фабрыкатар Танкаў +block.mech-fabricator.name = Фабрыкатар МÑхоў +block.ship-fabricator.name = Фабрыкатар Суднаў +block.prime-refabricator.name = Галоўны РÑфабрыкатар +block.unit-repair-tower.name = Ð‘Ð°ÑˆÐ½Ñ Ð Ð°Ð¼Ð¾Ð½Ñ‚Ñƒ Ðдзінак +block.diffuse.name = Дзіфуз +block.basic-assembler-module.name = ÐÑноўны Сборачны Модуль +block.smite.name = Кара +block.malign.name = Злоба +block.flux-reactor.name = Патокавы РÑактар +block.neoplasia-reactor.name = Ðаватворны РÑактар block.switch.name = Пераключальнік -block.micro-processor.name = МікропрацÑÑар -block.logic-processor.name = ПрацÑÑар логікі +block.micro-processor.name = МікрапрацÑÑар +block.logic-processor.name = ПрацÑÑар Логікі block.hyper-processor.name = ГіперпрацÑÑар block.logic-display.name = Экран -block.large-logic-display.name = Ð’Ñлікі Ñкран -block.memory-cell.name = ЯчÑйка памÑці -block.memory-bank.name = Банк памÑці - -team.blue.name = СінÑÑ -team.crux.name = Ð§Ñ‹Ñ€Ð²Ð¾Ð½Ð°Ñ +block.large-logic-display.name = Ð’Ñлікі Экран +block.memory-cell.name = ЯчÑйка ПамÑці +block.memory-bank.name = Блок ПамÑці +team.malis.name = ÐœÐ°Ð»Ñ–Ñ +team.crux.name = СутнаÑць team.sharded.name = ÐÑÐºÐµÐ¿Ð°ÐºÐ°Ð²Ð°Ñ -team.orange.name = ÐÑ€Ð°Ð½Ð¶Ð°Ð²Ð°Ñ -team.derelict.name = ÐŸÐ°ÐºÑ–Ð½ÑƒÑ‚Ð°Ñ -team.green.name = Ð—ÐµÐ»Ñ‘Ð½Ð°Ñ -team.purple.name = ФіÑÐ»ÐµÑ‚Ð°Ð²Ð°Ñ +team.derelict.name = ÐŸÐ°ÐºÑ–Ð½ÑƒÑ‚Ñ‹Ñ +team.green.name = Ð—ÐµÐ»Ñ‘Ð½Ñ‹Ñ +team.blue.name = СінÑÑ -tutorial.next = [lightgray]<ÐаціÑніце Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñгу> -tutorial.intro = Ð’Ñ‹ пачалі[scarlet] навучанне па Mindustry.[]\nВыкарыÑтоўвайце кнопкі[accent] [[WASD][] Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¼ÑшчÑннÑ.\n[accent]Пакруціце кола мышы[] Ð´Ð»Ñ Ð½Ð°Ð±Ð»Ñ–Ð¶ÑÐ½Ð½Ñ Ð°Ð±Ð¾ Ð°Ð´Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ð¼ÐµÑ€Ñ‹.\nПачнiце з [accent] здабычы медзі[]. ÐаблізьцеÑÑ Ð´Ð° Ñе, затым націÑніце на медную жылу ÐºÐ°Ð»Ñ Ð’Ð°ÑˆÐ°Ð³Ð° Ñдра, каб зрабіць гÑта.\n[accent] {0}/{1} медзі -tutorial.intro.mobile = Ð’Ñ‹ пачалі[scarlet] навучанне па Mindustry.[]\nПравÑдзiце па Ñкране, каб рухацца. \n[accent]зведзены або развÑдзіце 2 пальца[] Ð´Ð»Ñ Ð·Ð¼ÐµÐ½Ñ‹ маштабу. \nПачнiце з [accent] здабычы медзі[]. ÐаблізьцеÑÑ Ð´Ð° Ñе, затым націÑніце на медную жылу ÐºÐ°Ð»Ñ Ð’Ð°ÑˆÐ°Ð³Ð° Ñдра, каб зрабіць гÑта.\n [accent]{0}/{1} медзі -tutorial.drill = Ð ÑƒÑ‡Ð½Ð°Ñ Ð·Ð´Ð°Ð±Ñ‹Ñ‡Ð° не з'ÑўлÑецца Ñфектыўнай. \n[accent]Свідры[] могуць здабываць аўтаматычна. \nÐажмите на ўкладку з выÑвай Ñвердзела знізу Ñправа. \nВыберите [accent] механічны Ñвідар[]. РазмеÑціце Ñго на меднай жыле націÑкам. \n[accent]ÐаціÑк па правай кнопцы[] перарве будаўніцтва. -tutorial.drill.mobile = Ð ÑƒÑ‡Ð½Ð°Ñ Ð·Ð´Ð°Ð±Ñ‹Ñ‡Ð° не з'ÑўлÑецца Ñфектыўнай. \n [accent] Свідры[] могуць здабываць аўтаматычна. \nÐажмите на ўкладку з выÑвай Ñвердзела знізу Ñправа. \nВыберите [accent] механічны Ñвідар[]. \nРазмеÑтите Ñго на меднай жыле націÑкам, затым націÑніце [accent] белую каўку[] ніжÑй, каб пацвердзіць пабудова вылучаны. \nÐажмите [accent] кнопку X[], каб адмÑніць размÑшчÑнне. -tutorial.blockinfo = Кожны блок мае Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚Ð°Ñ€Ñ‹Ñтыкі. ÐšÐ¾Ð¶Ð½Ð°Ñ Ð´Ñ€Ñ‹Ð»ÑŒ можа здабываць пÑÑžÐ½Ñ‹Ñ Ñ€ÑƒÐ´Ñ‹. \nКаб даведацца інфармацыю аб блоку Ñ– аб Ñго характарыÑтыках, [accent] націÑніце на «?», Калі ён выбраны Ñž меню будаўніцтва.[] \n[accent] Зараз, даведайцеÑÑ Ñ…Ð°Ñ€Ð°ÐºÑ‚Ð°Ñ€Ñ‹Ñтыкі механічнага Ñвідра.[] -tutorial.conveyor = [accent] Канвееры[] выкарыÑтоўваюцца Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ñпарціроўкі Ñ€ÑÑÑƒÑ€Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоў у Ñдро. \nСделайте лінію канвеераў ад Ñвідра да Ñдра \n [accent] Ўтрымлівайце левую кнопку мышы, каб размÑÑціць у лінію.[] \nУдерживайте [accent] CTRL[] пры пабудове лініі блокаў, каб зрабіць Ñе дыÑганальнай \n [accent] РазмеÑціце 2 канвеера Ñž лінію Ñ– даÑтаўце прадметы Ñž Ñдро. -tutorial.conveyor.mobile = [accent] Канвееры[] выкарыÑтоўваюцца Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ñпарціроўкі Ñ€ÑÑурÑаў у Ñдро ​​\nСделайте лінію канвеераў ад Ñвідра да Ñдра \n [accent] Зрабіце лінію, утрымліваючы палец некалькі Ñекунд у тым меÑцы, у Ñкім Ð’Ñ‹ хочаце пачаць лінію, [ ] Ñ– ПерацÑгні Ñго Ñž патрÑбным кірунку. [accent] РазмеÑціце 2 канвеера Ñž лінію Ñ– даÑтаўце прадметы Ñž Ñдро. -tutorial.turret = Як толькі прадмет траплÑе Ñž Ñдро, Ñго можна выкарыÑтоўваць у будаўніцтве. \nКалі лаÑка, заўважце, што не ÑžÑе прадметы могуць быць выкарыÑтаны Ñž будаўніцтве. \nПредметы, ÑÐºÑ–Ñ Ð½ÐµÐ»ÑŒÑ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваць Ð´Ð»Ñ ÑтоительÑтва, Ñ‚Ð°ÐºÑ–Ñ Ñк [accent] вугаль[] або [accent] металалом[], не могуць быць транÑпартаваны Ñž Ñдро. \nЗащитные Ñтруктуры трÑба будаваць Ð´Ð»Ñ Ð°Ð´Ð»ÑŽÑÑ‚Ñ€Ð°Ð²Ð°Ð½Ð½Ñ [lightgray] праціўнікаў[]. \nПоÑтройте [accent] падвойную турÑль[] Ð»Ñ Ð’Ð°ÑˆÐ°Ð¹ базы. -tutorial.drillturret = Падвойным турÑлі патрÑбна [accent] Ð¼ÐµÐ´Ð½Ñ‹Ñ Ð±Ð¾ÐµÐ¿Ñ€Ñ‹Ð¿Ð°ÑÑ‹[] Ð´Ð»Ñ Ñтральбы. \nРазмеÑтите Ñвідар побач з турÑлі. \nПроведите канвееры да турÑлі, каб забÑÑпечыць Ñе меддзю. \n \n [accent] боепрыпаÑаў даÑтаўлена: 0/1 -tutorial.pause = ÐŸÐ°Ð´Ñ‡Ð°Ñ Ð±Ñ–Ñ‚Ð²Ñ‹, Ð’Ñ‹ можаце [accent] прыпыніць гульню.[] \nÐ’Ñ‹ можаце планаваць будаўніцтва, калі Ð³ÑƒÐ»ÑŒÐ½Ñ Ð²Ð°Ñ€Ñ‚Ð° на паўзе.\n [accent] ÐаціÑніце ПРÐБЕЛ Ð´Ð»Ñ Ð¿Ñ€Ñ‹Ð¿Ñ‹Ð½ÐµÐ½Ð½Ñ Ð³ÑƒÐ»ÑŒÐ½Ñ–. -tutorial.pause.mobile = ÐŸÐ°Ð´Ñ‡Ð°Ñ Ð±Ñ–Ñ‚Ð²Ñ‹, Ð’Ñ‹ можаце [accent] прыпыніць гульню.[] \nÐ’Ñ‹ можеть планаваць будаўніцтва, калі Ð³ÑƒÐ»ÑŒÐ½Ñ Ð²Ð°Ñ€Ñ‚Ð° на паўзе.\n [accent] ÐаціÑніце кнопку уверÑе злева, каб паÑтавіць гульню на паўзу. -tutorial.unpause = Зноў націÑніце прабел Ð´Ð»Ñ Ð·Ð½ÑÑ†Ñ†Ñ Ð¿Ð°ÑžÐ·Ñ‹. -tutorial.unpause.mobile = Зноў націÑніце туды Ð´Ð»Ñ Ð·Ð½ÑÑ†Ñ†Ñ Ð¿Ð°ÑžÐ·Ñ‹. -tutorial.breaking = ЧаÑта, блокі даводзіцца руйнаваць \n [accent] ЗаціÑніце ПКМ[], каб разбурыць блокі Ñž абранай зоне.[] \n \n [accent] разбурце уÑе Ñцены з металалому злева ад Вашага Ñдра. -tutorial.breaking.mobile = ЧаÑта, блокі даводзіцца руйнаваць. \n [accent] Вылучыце Ñ€Ñжым дÑканÑтрукцыі[], паÑÐ»Ñ Ñ‡Ð°Ð³Ð¾ націÑніце на патрÑбны блок, каб разбурыць Ñго. \nРазрушьте блокі Ñž абранай зоне, трымаючы палец на некалькі Ñекунд[], Ñ– правёўшы Ñго Ñž патрÑбным кірунку. \nÐажмите на галачку, каб пацвердзіць разбурÑнне. \n \n [accent] разбурце уÑе Ñцены з металалому злева ад Вашага Ñдра. -tutorial.withdraw = У некаторых ÑітуацыÑÑ…, неабходна забраць прадметы з блокаў ўручную. \nКаб зрабіць гÑта, [accent] націÑніце на блок[], у Ñкім знаходзÑцца прадметы, затым [accent] націÑніце на прадмет[] Ñž інвентары. \nМожно забраць некалькі прадметаў [accent] націÑкам з заціÑкам[].\n [accent] ЗабÑрыце трохі медзі з Ñдра[] -tutorial.deposit = Пакладзеце прадметы Ñž блок, перацÑгнуўшы Ñ–Ñ… ад Ñвайго ÐºÐ°Ñ€Ð°Ð±Ð»Ñ Ñž патрÑбны блок. \n \n [accent] ПеранÑÑіце медзь назад у Ñдро [] -tutorial.waves = [lightgray] Праціўнікі[] набліжаюцца. \nЗащіціце Ñдро ​​ад двух хваль. ВыкарыÑтоўвайце [accent] левую кнопку мышы[] Ð´Ð»Ñ Ñтральбы. \nПоÑтройте больш турÑлÑÑž Ñ– бураў. Добудьте больш медзі. -tutorial.waves.mobile = [lightgray] Праціўнікі[] набліжаюцца. \n \nЗащіціце Ñдро ​​ад двух хваль. Ваш карабель будзе аўтаматычна атакаваць праціўніка. \nПоÑтройте больш турÑлÑÑž Ñ– бураў. Добудьте больш медзі. -tutorial.launch = Калі Ð’Ñ‹ даÑÑгаеце пÑўнай хвалі, Ð’Ñ‹ можаце ажыццÑвіць [accent] запуÑк Ñдра[], пакінуўшы базу Ñ– [accent] перанеÑці Ñ€ÑÑурÑÑ‹ з Ñдра.[] \nЭти Ñ€ÑÑурÑÑ‹ могуць быць выкарыÑтаны Ð´Ð»Ñ Ð²Ñ‹Ð²ÑƒÑ‡ÑÐ½Ð½Ñ Ð½Ð¾Ð²Ñ‹Ñ… Ñ‚Ñхналогій.\n [accent] ÐаціÑніце кнопку запуÑку. +hint.skip = ПрапуÑціць +hint.desktopMove = ВыкарыÑтоўвайце [accent][[WASD][] каб рухацца. +hint.zoom = [accent]Пракручваць[] каб прыблізіць Ñ– аддаліць камеру. +hint.desktopShoot = [accent][[Левы-пÑтрык][] каб ÑтралÑць. +hint.depositItems = Каб перанеÑці прадметы, перанÑÑіце Ñ–Ñ… Ñа Ñвайго ÐºÐ°Ñ€Ð°Ð±Ð»Ñ Ð½Ð° Ñдро. +hint.respawn = Каб аднавіць карабель, націÑніце [accent][[V][]. +hint.respawn.mobile = Ð’Ñ‹ змÑнілі кантроль на адзінку/Ñтруктуру. Каб аднавіць карабель, [accent]націÑніце на іконку адзінкі зверху злева.[] +hint.desktopPause = ÐаціÑніце [accent][[Space][] каб прыпыніць Ñ– аднавіць гульню. +hint.breaking = [accent]Правы-пÑтрык[] Ñ– утрымаць как разбурыць блокі. +hint.breaking.mobile = Ðктывуйце \ue817 [accent]малаток[] унізе Ñправа Ñ– націÑніце, каб разабраць блок.\n\nУтрымайце палец адну Ñекунду Ñ– правÑдзіце как вызначыць воблаÑць Ñкую жадаеце разабраць. +hint.blockInfo = ПраглÑдзець інфармацыю пра блок выбіраючы Ñго Ñž [accent]меню будаўніцтва[], паÑÐ»Ñ Ð²Ñ‹Ð±ÐµÑ€Ñ‹Ñ†Ðµ [accent][[?][] кнопку Ñправа. +hint.derelict = [accent]ПакінутыÑ[] Ñтруктуры гÑта Ñ€Ð°Ð·Ñ€Ð±ÑƒÑ€Ð°Ð½Ñ‹Ñ Ñ‡Ð°Ñткі Ñтарой базы ÑÐºÑ–Ñ Ð±Ð¾Ð»ÑŒÑˆ не функцыÑнуюць.\n\nГÑÑ‚Ñ‹Ñ Ñтруктуры могуць быць [accent]разабраны[] на Ñ€ÑÑурÑÑ‹. +hint.research = ВыкарыÑтоўвайце кнопку \ue875 [accent]ДаÑледаванні[] каб даÑледаваць новую Ñ‚Ñхналогію. +hint.research.mobile = ВыкарыÑтоўвайце кнопку \ue875 [accent]ДаÑледаванні[] Ñž \ue88c [accent]Меню[] каб даÑледаваць новую Ñ‚Ñхналогію. +hint.unitControl = Зажміце [accent][[Левы-ctrl][] Ñ– [accent]пÑтрык[] каб кантралÑваць дружалюбнай адзінкай або турÑлÑй. +hint.unitControl.mobile = [accent][[Двайны-націÑк][] каб кантралÑваць дружалюбнай адзінкай або турÑлÑй. +hint.unitSelectControl = Каб кіраваць адінкамі, адкройце [accent]Ñ€Ñжым загадаў[] ÑƒÑ‚Ñ€Ñ‹Ð¼Ð»Ñ–Ð²Ð°Ñ [accent]Левы-shift.[]\nУ Ñ€Ñжыме загадаў, націÑніце Ñ– утрымайце каб выбраць адзінкі. [accent]Правы-пÑтрык[] на а'бект каб задаць мÑту або шлÑÑ…. +hint.unitSelectControl.mobile = Каб кантралÑваць адінкамі, адкройце [accent]Ñ€Ñжым загадаў[] націÑкаючы кнопку [accent]загадваць[] у унізе злева.\nУ Ñ€Ñжыме загадаў, утрымайце Ñ– правÑдзіце каб выбраць адзінкі. ÐаціÑніце на а'бект каб задаць мÑту або шлÑÑ…. +hint.launch = Калі Ñ€ÑÑурÑÑ‹ Ñабраны, вы можаце [accent]ЗапуÑціць[] выбіраючы Ñектара ÑÐºÑ–Ñ Ð·Ð½Ð°Ñ…Ð¾Ð´Ð·Ñцца побач на \ue827 [accent]Карце[] унізе Ñправа. +hint.launch.mobile = Калі Ñ€ÑÑурÑÑ‹ Ñабраны, вы можаце [accentЗапуÑціць[] выбіраючы Ñектара ÑÐºÑ–Ñ Ð·Ð½Ð°Ñ…Ð¾Ð´Ð·Ñцца побач на \ue827 [accent]Карце[] Ñž \ue88c [accent]Меню[]. +hint.schematicSelect = Утрымайце [accent][[F][] Ñ– працÑгніце каб выбраць блокі Ð´Ð»Ñ ÐºÐ°Ð¿Ñ–ÑÐ²Ð°Ð½Ð½Ñ Ñ– ÑžÑтаўкі.\n\n[accent][[СÑÑ€Ñдні ПÑтрык][] каб ÑкапіÑваць толькі адзін тып блоку. +hint.rebuildSelect = Утрымайце [accent][[B][] Ñ– працÑгніце каб выбраць блокі Ð´Ð»Ñ Ñ€Ð°Ð·Ð±ÑƒÐ´Ð°Ð²Ð°Ð½Ð½Ñ.\nГÑта перабудуе Ñ–Ñ… аўтаматычна. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Утрымайце [accent][[Левы Ctrl][] калі правозіце канвееры каб аутаматычна згенераваць шлÑÑ…. +hint.conveyorPathfind.mobile = Уключыце \ue844 [accent]дыÑганальны Ñ€Ñжым[] Ñ– утрымлівайце Ñ– размÑшчайце канвееры па аўтаматычна згенераванаму шлÑху. +hint.boost = Утрымайце [accent][[Левы Shift][] каб лÑцець праз перашкоды з вашай выбранай адзінкай.\n\nТолькі Ð½ÐµÐºÐ°Ñ‚Ð¾Ñ€Ñ‹Ñ Ð½Ð°Ð·ÐµÐ¼Ð½Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– могуць узлÑтаць. +hint.payloadPickup = ÐаціÑніце каб [accent][[[] каб узÑць Ð¼Ð°Ð»Ð½ÑŒÐºÑ–Ñ Ð±Ð»Ð¾ÐºÑ– або адзінкі. +hint.payloadPickup.mobile = [accent]ÐаціÑніце Ñ– утрымайце[] маленькі блок або адзінку каб узÑць гÑта. +hint.payloadDrop = ÐаціÑніце [accent]][] каб зброÑіць груз. +hint.payloadDrop.mobile = [accent]ÐаціÑніце Ñ– ўтрымайце[] пуÑтое меÑца каб зброÑіць груз тут. +hint.waveFire = ТурÑлі [accent]ХвалÑ[] Ð·Ð°Ñ€Ð°Ð¶Ð°Ð½Ñ‹Ñ Ð²Ð°Ð´Ð¾Ð¹ будуць тушыць Ð¿Ð¾Ð»Ñ‹Ð¼Ñ Ð¿Ð¾Ð±Ð°Ñ‡. +hint.generator = \uf879 [accent]Генератары ЗгараннÑ[] падпальваюць вугаль Ñ– перанакіраванне Ñнергію ÑуÑеднім блокам.\n\nÐ Ð°Ð´Ñ‹ÑŽÑ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ Ñнергіі можа быць пашыраны з дапамогай \uf87f [accent]Энергетычных Вузлоў[]. +hint.guardian = Ðдзінкі [accent]Вартаўнік[] браніраваныÑ. Ð¡Ð»Ð°Ð±Ñ‹Ñ Ð¿Ð°Ñ‚Ñ€Ð¾Ð½Ñ‹ Ñ‚Ð°ÐºÑ–Ñ Ñк [accent]Медзь[] Ñ– [accent]Свінец[] [scarlet]не ÑфетўныÑ[].\n\nВыкарыÑтоўвайце больш Ð¼Ð¾Ñ†Ð½Ñ‹Ñ Ñ‚ÑƒÑ€Ñлі або \uf835 [accent]Графіт[] у \uf861Двайных ТурÑлÑÑ…/\uf859Залпах каб знішчыць Вартаўніка. +hint.coreUpgrade = Ядра могуць быць палепшаны [accent]размÑшчÑннем больш моцных паверх другіх[].\n\nРазмÑÑціце Ñдро \uf868 [accent]Штаб[] паверх Ñдра \uf869 [accent]ÐÑкепак[]. ПераканайцеÑÑ, што гÑта Ñвабодна ад канÑтрукцый побач. +hint.presetLaunch = Ð¡ÐµÑ€Ñ‹Ñ [accent]Ñектара зоны паÑадкі[], Ñ‚Ð°ÐºÑ–Ñ Ñк [accent]ЛедзÑны ЛеÑ[], можна запуÑціць з любога меÑца. Яны не патрабуюць захаплÑць Ñ‚Ñрыторыі побач.\n\n[accent]ÐŸÑ€Ð°Ð½ÑƒÐ¼Ð°Ñ€Ð°Ð²Ð°Ð½Ñ‹Ñ Ñектары[], Ñ‚Ð°ÐºÑ–Ñ Ñк гÑты, [accent]неабавÑзковыÑ[]. +hint.presetDifficulty = Ðа гÑтым Ñектары [scarlet]вÑлікі узровень впрожай пагрозы[].\nЗапуÑк на Ñ‚Ð°ÐºÑ–Ñ Ñектары [accent]не Ñ€Ñкамендуецца[] без належнай Ñ‚Ñхналогіі Ñ– падрыхтоўкі. +hint.coreIncinerate = ПаÑÐ»Ñ Ñ‚Ð°Ð³Ð¾ Ñк ёміÑтаÑць Ñдра запоўніцца прадметам, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = Каб уÑталÑваць фабрыке адзінак [accent]шлÑÑ…[], націÑніце на блок фабрыку Ñž Ñ€Ñжыме камандаваннÑ, паÑÐ»Ñ Ð½Ð°Ð¶Ð¼Ñ–Ñ†Ðµ на меÑца правай ÐºÐ½Ð¾Ð¿ÐºÐ°Ð¹Ñ Ð¼Ñ‹ÑˆÐºÑ–.\nÐ¡Ñ‚Ð²Ð¾Ñ€Ð°Ð½Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– будуць аўтаматычна рухацца Ñюды. +hint.factoryControl.mobile = Каб уÑталÑваць фабрыке адзінак [accent]шлÑÑ…[], націÑніце на блок фабрыку Ñž Ñ€Ñжыме камандаваннÑ, паÑÐ»Ñ Ð½Ð°Ñ†Ñ–Ñніце на меÑца.\nÐ¡Ñ‚Ð²Ð¾Ñ€Ð°Ð½Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– будуць аўтаматычна рухацца Ñюды. +gz.mine = РухайцеÑÑ Ð´Ð° \uf8c4 [accent]меднай руды[] на зÑмлі Ñ– націÑніце на Ñе каб пачаць дабываць. +gz.mine.mobile = РухайцеÑÑ Ð´Ð° \uf8c4 [accent]меднай руды[] на зÑмлі Ñ– дакраніцеÑÑ Ð´Ð° Ñе каб пачаць дабываць. +gz.research = Ðдчыніце \ue875 дрÑва Ñ‚Ñхналогій.\nДаÑледуйце \uf870 [accent]Механічны Бур[], паÑÐ»Ñ Ð²Ñ‹Ð±ÐµÑ€Ñ‹Ñ†Ðµ Ñго Ñž ніжнім правым меню.\nÐажміце на руду каб размÑÑціць. +gz.research.mobile = Ðдкройце \ue875 дрÑва Ñ‚Ñхналогій.\nДаÑледуйце \uf870 [accent]Механічны Бур[], паÑÐ»Ñ Ð²Ñ‹Ð±ÐµÑ€Ñ‹Ñ†Ðµ Ñго Ñž ніжнім правым меню.\nÐаціÑніце на залежы медзі каб размÑÑцічь бур.\n\nÐаціÑніце на конпку \ue800 [accent]падцвердзіць[] у нізе Ñправа каб падцвердзіць. +gz.conveyors = ДаÑледуйце Ñ– размаÑціце \uf896 [accent]канвееры[] каб рухаць Ð´Ð°Ð±Ñ‹Ñ‚Ñ‹Ñ Ñ€ÑÑурÑÑ‹\nад буроў да Ñдра.\n\nÐажміце Ñ– правÑдзіце каб размÑÑціць некалькі канвеераў.\n[accent]Пракручваць[] каб паварочваць аб'ект. +gz.conveyors.mobile = ДаÑледуйце Ñ– размаÑціце \uf896 [accent]канвееры[] каб рухаць Ð´Ð°Ð±Ñ‹Ñ‚Ñ‹Ñ Ñ€ÑÑурÑÑ‹\nад буроў да Ñдра.\n\nУтрымайце ваш палец адну Ñекнду Ñ– правÑдзіце каб размÑÑціць некалькі канвеераў. +gz.drills = Пашырайце аперацыю здабычы.\nРазмÑÑціце больш Механічных Буроў.\nЗдабудзьце 100 медзі. +gz.lead = \uf837 [accent]Свінец[] гÑта другі звычайны Ñž выкарыÑтанні Ñ€ÑÑурÑ.\nПаÑтаўце буры каб здабываць Ñго. +gz.moveup = \ue804 Перайдзіце да наÑтупных мÑÑ‚. +gz.turrets = ДаÑледуйце Ñ– размÑÑціце 2 \uf861 [accent]Ð”Ð²Ð°Ð¹Ð½Ñ‹Ñ Ñ‚ÑƒÑ€Ñлі[] каб абаранÑць Ñдро.\nÐ”Ð²Ð°Ð¹Ð½Ñ‹Ñ Ñ‚ÑƒÑ€Ñлі патрабуюць \uf838 [accent]Ñнарады[] Ð¿Ð°Ð´Ð²ÐµÐ´Ð·ÐµÐ½Ñ‹Ñ ÐºÐ°Ð½Ð²ÐµÐµÑ€Ð°Ð¼Ñ–. +gz.duoammo = Зарадзіце Ð”Ð²Ð°Ð¹Ð½Ñ‹Ñ Ñ‚ÑƒÑ€Ñлт [accent]меддзю[], выкарыÑтоўваючы канвееры. +gz.walls = [accent]Сцены[] могуць Ñтрымліваць ад пашкоджаннÑÑž Ð´Ñ€ÑƒÐ³Ñ–Ñ Ð±Ð»Ð¾ÐºÑ– .\nРазмÑÑціце \uf8ae [accent]Ð¼ÐµÐ´Ð½Ñ‹Ñ Ñцены[] вакол турÑлей. +gz.defend = Ворагі на падыходзе, прыгатуйцеÑÑ Ð´Ð° аховы. +gz.aa = ÐŸÐ°Ð²ÐµÑ‚Ñ€Ð°Ð½Ð½Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– не проÑта знішчыць звычайнымі турÑлÑмі.\n\uf860 [accent]ТурÑлі льнік[] Ð¼Ð¾Ñ†Ð½Ñ‹Ñ Ñž Ñупраць-паветраннай ахове, патрабуюць \uf837 [accent]Ñвінец[] у ÑкаÑці боепрыпаÑаў. +gz.scatterammo = Зараджайче турÑлі льнік [accent]Ñвінцом[], выкарыÑтоўваючы канвееры. +gz.supplyturret = [accent]Ð“Ñ€ÑƒÐ·Ð°Ð²Ð°Ñ Ð¢ÑƒÑ€Ñль +gz.zone1 = ГÑта воблаÑць зÑÑžÐ»ÐµÐ½Ð½Ñ Ð²Ð¾Ñ€Ð°Ð³Ð°. +gz.zone2 = УÑÑ‘ што паÑтроена Ñž гÑтай воблаÑцт будзе знішчана калі пачанецца хвалÑ. +gz.zone3 = Ð¥Ð²Ð°Ð»Ñ Ð°Ð¼Ð°Ð»ÑŒ пачалаÑÑ.\nПрыгатуйцеÑÑ. +gz.finish = Пабудуйце больш турÑлÑÑž, дабудзьце больш Ñ€ÑÑурÑаў,\nÑ– вытрывайце ад уÑе хвалі каб [accent]захапіць гÑты Ñектар[]. +onset.mine = Ðажміце каб дабываць \uf748 [accent]берылій[] Ñа Ñцен.\n\nВыкарыÑтоўвайце [accent][[WASD] каб рухацца. +onset.mine.mobile = ÐаціÑніце каб дабываць \uf748 [accent]берылій[] Ñа Ñцен. +onset.research = Ðдчыніце \ue875 дрÑва Ñ‚Ñхналогій.\nДаÑледуйце, а паÑÐ»Ñ Ñ€Ð°Ð·Ð¼ÑÑціце \uf870 [accent]Турбінны КандÑнÑатар[], на гейзеры.\nÐн будзе генераваць [accent]Ñнергію[]. +onset.bore = ДаÑледуйце Ñ– размÑÑціце \uf870 [accent]Плазменны Бур[]. \nÐн будзе аўтаматычна дабываць Ñ€ÑÑурÑÑ‹ Ñа Ñцен. +onset.power = Каб падлучыць [accent]Ñнергію[] да плазменнага бура, даÑледуйце Ñ– размÑÑціце \uf73d [accent]ÑÐ½ÐµÑ€Ð³ÐµÑ‚Ñ‹Ñ‡Ð½Ð°Ñ Ð²ÑƒÐ·Ð»Ñ‹[].\nЗлучыце турбінны кандÑнÑатар з плазменным буром. +onset.ducts = ДаÑледуйце Ñ– размÑÑціце \uf799 [accent]каналы[] каб перамÑшчаць Ð´Ð°Ð±Ñ‹Ñ‚Ñ‹Ñ Ñ€ÑÑуры ад плазменных буроў у Ñдро.\nÐажміце Ñ– утрымайце каб раўмÑÑціць больш каналаў.\n[accent]Пракручваць[] каб паварочваць. +onset.ducts.mobile = ДаÑледуйце Ñ– размÑÑціце \uf799 [accent]каналы[] каб перамÑшчаць Ð´Ð°Ð±Ñ‹Ñ‚Ñ‹Ñ Ñ€ÑÑуры ад плазменных буроў у Ñдро.\n\nУтрымлівайце ваш палец адну Ñекнд Ñ– правÑдзіце каб размÑÑціць больш каналаў. +onset.moremine = Пашырайце дабываючую прамыÑловаÑць.\nРазмÑÑціце больш Плазменных Буроўmore Ñ– выкарыÑтоўвайце прамÑÐ½Ñ‘Ð²Ñ‹Ñ Ð²ÑƒÐ·Ð»Ñ‹ Ñ– каналы каб падтрымліваць прамыÑловаÑць.\nДабудзьце 200 берыліÑ. +onset.graphite = Патрабуецца больш комплекÑных блокаў \uf835 [accent]графіта[].\nРазмÑÑціце Ð¿Ð»Ð°Ð·Ð¼ÐµÐ½Ð½Ñ‹Ñ Ð±ÑƒÑ€Ñ‹ каб дабываць графіт. +onset.research2 = Пачніце даÑледаваць [accent]фабрыкі[].\n ДаÑледуйце \uf74d [accent]Здр crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Зажміце [accent]shift[] каб увайÑці Ñž [accent]Ñ€Ñжым камандаваннÑ[].\n[accent]Ð›ÐµÐ²Ð°Ñ ÐšÐ½Ð¾Ð¿ÐºÐ° Мышкі Ñ– працÑгнуць[] каб выбраць адзінкі.\n[accent]ÐŸÑ€Ð°Ð²Ð°Ñ ÐšÐ½Ð¾Ð¿ÐºÐ° Мышкі[] каб камандаваць выбранымі адзінкамі каб рухаць або атакаваць. +onset.commandmode.mobile = ÐаціÑніце на кнопку [accent]КамандаваннÑ[] каб увайÑці Ñž [accent]Ñ€Ñжым камандаваннÑ[].\nУтрамайце палец, паÑÐ»Ñ [accent]правеÑці[] да выбраных адзінак.\n[accent]ÐаціÑніце[] каб камандаваць выбранымі адзінкамі каб рухаць або атакаваць. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Самы аÑноўны будаўнічы матÑрыÑл. Шырока выкарыÑтоўваецца ва ÑžÑÑ–Ñ… тыпах блокаў. +item.copper.details = Медзь. Ðнамальна раÑпаўÑюджаны метал на Серпуло. Структурна Ñлабы калі не ўмацаваны. item.lead.description = ÐÑноўны Ñтартавы матÑрыÑл. Шырока выкарыÑтоўваецца Ñž Ñлектроніцы Ñ– блоках Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ñпарціроўкі вадкаÑцÑÑž. +item.lead.details = Плотны. ІнÑртны. Шырока выкарыÑтоўваецца у акумулÑтарахx.\nДаданне: верагодна, такÑічны Ð´Ð»Ñ Ð±Ñ–Ñлагічных форм жыццÑ. Ðе так каб Ñ–Ñ… тут шмат заÑталоÑÑ. item.metaglass.description = Звышмоцны Ñплаў шкла. Шырока выкарыÑтоўваецца Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€ÐºÐ°Ð²Ð°Ð½Ð½Ñ Ñ– Ð·Ð°Ñ…Ð¾ÑžÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð´ÐºÐ°Ñці. item.graphite.description = Мінералізаваны вуглÑрод, Ñкі выкарыÑтоўваецца Ð´Ð»Ñ Ð±Ð¾ÐµÐ¿Ñ€Ñ‹Ð¿Ð°Ñаў Ñ– Ñлектрычных кампанентаў. item.sand.description = Звычайны матÑрыÑл, Ñкі шырока выкарыÑтоўваецца пры выплаўленні, Ñк пры легіраваннÑ, так Ñ– Ñž ÑкаÑці флюÑу. item.coal.description = ЗакамÑнелаÑцевае мінеральнае Ñ€Ñчыва, Ñкое ўтварылаÑÑ Ð·Ð°Ð´Ð¾ÑžÐ³Ð° да паÑева. Шырока выкарыÑтоўваецца Ð´Ð»Ñ Ð²Ñ‹Ñ‚Ð²Ð¾Ñ€Ñ‡Ð°Ñці паліва Ñ– Ñ€ÑÑурÑаў. +item.coal.details = ЧаÑткі вымершых раÑлін, утворана задоўга да заÑнаваннÑ. item.titanium.description = РÑдкі звышлёгкі метал, шырока выкарыÑтоўваецца Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ñпарціроўкі вадкаÑцÑÑž, бураў Ñ– авіÑцыі. item.thorium.description = Шчыльны радыеактыўны метал, Ñкі выкарыÑтоўваецца Ñž ÑкаÑці Ñтруктурнай апоры Ñ– Ñдзернага паліва. item.scrap.description = РÑшткі Ñтарых збудаваннÑÑž Ñ– баÑвых адзінак. ЗмÑшчае невÑÐ»Ñ–ÐºÑ–Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñці многіх розных металаў. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = Ðадзвычай карыÑны паўправаднік. ПрымÑнÑецца Ñž Ñонечных панÑлÑÑ…, Ñкладанай Ñлектроніцы Ñ– Ñаманаводных боепрыпаÑах. item.plastanium.description = Лёгкі, плаÑтычны матÑрыÑл, Ñкі выкарыÑтоўваецца Ñž праÑунутай авіÑцыі Ñ– аÑколачных боепрыпаÑах. item.phase-fabric.description = Практычна бÑзважкае Ñ€Ñчыва, Ñкое выкарыÑтоўваецца Ñž перадавой Ñлектроніцы Ñ– Ñ‚ÑхналогіÑÑ… ÑамааднаўленнÑ. item.surge-alloy.description = СучаÑны Ñплаў з унікальнымі Ñлектрычнымі ўлаÑціваÑцÑмі. -item.spore-pod.description = Струк ÑпрÑчка, ÑінтÑзаваных з атмаÑферных канцÑнтрацый Ð´Ð»Ñ Ð¿Ñ€Ð°Ð¼Ñ‹Ñловых мÑтаў. ВыкарыÑтоўваецца Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¿Ñ€Ð°Ñ†Ð¾ÑžÐºÑ– Ñž нафту, Ð²Ñ‹Ð±ÑƒÑ…Ð¾Ð²Ñ‹Ñ Ñ€Ñчывы або паліва. +item.spore-pod.description = Струк Ñпор, ÑінтÑзаваных з атмаÑферных канцÑнтрацый Ð´Ð»Ñ Ð¿Ñ€Ð°Ð¼Ñ‹Ñловых мÑтаў. ВыкарыÑтоўваецца Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð¿Ñ€Ð°Ñ†Ð¾ÑžÐºÑ– Ñž нафту, Ð²Ñ‹Ð±ÑƒÑ…Ð¾Ð²Ñ‹Ñ Ñ€Ñчывы або паліва. +item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.blast-compound.description = ÐеÑтабільнае злучÑнне, Ñкое выкарыÑтоўваецца Ñž бомбах Ñ– выбуховых Ñ€Ñчывах. СінтÑзуецца з Ñтрукоў ÑпрÑчку Ñ– іншых лÑтучых Ñ€Ñчываў. ВыкарыÑтоўваць у ÑкаÑці паліва не Ñ€Ñкамендуецца. item.pyratite.description = Ðадзвычай вогненебÑÑпечнае Ñ€Ñчыва, Ñкое выкарыÑтоўваецца Ñž запальным зброі. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Ð¡Ð°Ð¼Ð°Ñ ÐºÐ°Ñ€Ñ‹ÑÐ½Ð°Ñ Ð²Ð°Ð´ÐºÐ°Ñць. Звычайна выкарыÑтоўваецца Ð´Ð»Ñ Ð°ÑтуджÑÐ½Ð½Ñ Ð¼Ð°ÑˆÑ‹Ð½ Ñ– перапрацоўкі адходаў. liquid.slag.description = разнаÑÑ‚Ð°Ð¹Ð½Ñ‹Ñ Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ñ‚Ñ‹Ð¿Ñ‹ раÑплаўленага металу, Ð·Ð¼ÐµÑˆÐ°Ð½Ñ‹Ñ Ñ€Ð°Ð·Ð°Ð¼. Можа быць падзелены на Ñкладнікі Ñго мінералы або раÑпылён на варожых баÑÐ²Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– Ñž ÑкаÑці зброі. liquid.oil.description = ВадкаÑць, ÑÐºÐ°Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца Ñž вытворчаÑці ÑучаÑных матÑрыÑлаў. Можа быць Ð¿ÐµÑ€Ð°ÑžÑ‚Ð²Ð¾Ñ€Ð°Ð½Ð°Ñ Ñž вугаль Ð´Ð»Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑÑ‚Ð°Ð½Ð½Ñ Ñž ÑкаÑці паліва або раÑÐ¿Ñ‹Ð»ÐµÐ½Ð°Ñ Ñ– Ð¿Ð°Ð´Ð¿Ð°Ð»ÐµÐ½Ñ‹Ñ Ñк зброÑ. liquid.cryofluid.description = ІнÑртнаÑ, Ð½ÐµÐµÐ´ÐºÐ°Ñ Ð²Ð°Ð´ÐºÐ°Ñць, ÑÑ‚Ð²Ð¾Ñ€Ð°Ð½Ð°Ñ Ð· вады Ñ– тытана. Валодае надзвычай выÑокай цеплаёміÑтаÑцю. Шырока выкарыÑтоўваецца Ñž ÑкаÑці аÑтуджальнай вадкаÑці. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = ПерамÑшчае прадметы з той жа хуткаÑцю, што Ñ– Ñ‚Ñ‹Ñ‚Ð°Ð½Ð°Ð²Ñ‹Ñ ÐºÐ°Ð½Ð²ÐµÐµÑ€Ñ‹, але валодае большай бранёй. Ðе прымае на ўваход з бакоў ні ад чаго Ð°ÐºÑ€Ð°Ð¼Ñ Ñк ад іншых канвеераў. +block.illuminator.description = Маленькі, кампактны, Ñкі наладжвае крыніцу ÑвÑтла. Патрабуецца ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. block.message.description = Захоўвае паведамленне. ВыкарыÑтоўваецца Ð´Ð»Ñ ÑувÑзі паміж Ñаюзьнікамі. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = СціÑкае кавалкі вугалю Ñž чыÑÑ‚Ñ‹Ñ Ð»Ñ–Ñты графіту. block.multi-press.description = ÐÐ±Ð½Ð¾ÑžÐ»ÐµÐ½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‚Ð°Ð²Ð°Ð³Ð° прÑÑа. ВыкарыÑтоўвае ваду Ñ– Ñнергію Ð´Ð»Ñ Ñ…ÑƒÑ‚ÐºÐ°Ð¹ Ñ– Ñфектыўнай апрацоўкі вугалю. block.silicon-smelter.description = Злучае пÑÑок з чыÑтым вуглём. ВыраблÑе крÑмній. block.kiln.description = выплавлÑемым пÑÑок Ñ– Ñвінец Ñž злучÑнне, вÑдомае Ñк меташкло. Патрабуецца невÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. block.plastanium-compressor.description = ВыраблÑе плаÑтан з нафты ды тытана. -block.phase-weaver.description = СінтÑзуе фазавую тканіна з радыеактыўнага Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ– пÑÑку. Патрабуецца вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. -block.alloy-smelter.description = Ðб'Ñдноўвае тытан, Ñвінец, крÑмній Ñ– медзь Ð´Ð»Ñ Ð²Ñ‹Ñ‚Ð²Ð¾Ñ€Ñ‡Ð°Ñці кінÑтычнага Ñплаву. -block.cryofluid-mixer.description = змешваюцца ваду Ñ– дробны тытанавы парашок у криогеннную вадкаÑць. Ðеад'ÐµÐ¼Ð½Ð°Ñ Ñ‡Ð°Ñтка пры выкарыÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ€Ð¸ÐµÐ²Ð¾Ð³Ð¾ Ñ€Ñактара -block.blast-mixer.description = раÑціÑкаюць Ñ– змешвае навалы ÑпрÑчка з пиротитом Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð²Ñ‹Ð±ÑƒÑ…Ð¾Ð²Ð°Ð³Ð° Ñ€Ñчыва. +block.phase-weaver.description = СінтÑзуе фазавую тканіну з радыеактыўнага Ñ‚Ð¾Ñ€Ñ‹Ñ Ñ– пÑÑку. Патрабуецца вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. +block.surge-smelter.description = Ðб'Ñдноўвае тытан, Ñвінец, крÑмній Ñ– медзь Ð´Ð»Ñ Ð²Ñ‹Ñ‚Ð²Ð¾Ñ€Ñ‡Ð°Ñці кінÑтычнага Ñплаву. +block.cryofluid-mixer.description = змешваюцца ваду Ñ– дробны тытанавы парашок у крогеннную вадкаÑць. Ðеад'ÐµÐ¼Ð½Ð°Ñ Ñ‡Ð°Ñтка пры выкарыÑÑ‚Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ€ÐµÐ²Ð¾Ð³Ð¾ Ñ€Ñактара +block.blast-mixer.description = раÑціÑкаюць Ñ– змешвае навалы ÑпрÑчка з проттом Ð´Ð»Ñ Ð°Ñ‚Ñ€Ñ‹Ð¼Ð°Ð½Ð½Ñ Ð²Ñ‹Ð±ÑƒÑ…Ð¾Ð²Ð°Ð³Ð° Ñ€Ñчыва. block.pyratite-mixer.description = Змешвае вугаль, Ñвінец Ñ– пÑÑок у гаручы піратыт block.melter.description = Плавіць металалом Ñž шлак Ð´Ð»Ñ Ð´Ð°Ð»ÐµÐ¹ÑˆÐ°Ð¹ апрацоўкі або выкарыÑÑ‚Ð°Ð½Ð½Ñ Ñž турÑлÑÑ… «ХвалÑ». block.separator.description = ПадзÑлÑе шлак на Ñго Ð¼Ñ–Ð½ÐµÑ€Ð°Ð»ÑŒÐ½Ñ‹Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½ÐµÐ½Ñ‚Ñ‹. Выводзіць аÑтуджаны вынік. @@ -1240,50 +2077,58 @@ block.coal-centrifuge.description = ÐтвÑрдае нафту Ñž кавалк block.incinerator.description = Выпарае любы лішні прадмет або вадкаÑць, Ñкую ён атрымлівае. block.power-void.description = ÐнулÑе ÑžÑÑŽ Ñнергію, уведзеную Ñž Ñго. Толькі пÑÑочніца. block.power-source.description = БÑÑконца выводзіць Ñнергію. Толькі пÑÑочніца. -block.item-source.description = БÑÑконца выводзіць Ñлементы. Толькі пÑÑочніца. +block.item-source.description = БÑÑконца выводзіць прадметы. Толькі пÑÑочніца. block.item-void.description = Знішчае Ð»ÑŽÐ±Ñ‹Ñ Ð¿Ñ€Ð°Ð´Ð¼ÐµÑ‚Ñ‹. Толькі пÑÑочніца. block.liquid-source.description = БÑÑконца выводзіць вадкаÑці. Толькі пÑÑочніца. block.liquid-void.description = Знішчае Ð»ÑŽÐ±Ñ‹Ñ Ð²Ð°Ð´ÐºÐ°Ñці. Толькі пÑÑочніца. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. 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-large.description = Умерана моцны ахоўны блок. \nОбеÑпечивает ўмераны абарону ад ворагаў. \nРазмещаетÑÑ Ð½Ð° некалькіх плітках. +block.titanium-wall-large.description = Умерана моцны ахоўны блок. \nОбеÑпечвает ўмераны абарону ад ворагаў. \nРазмÑшчаецца на некалькіх плітках. block.plastanium-wall.description = СпецыÑльны тып Ñцены, Ñкі паглынае ÑÐ»ÐµÐºÑ‚Ñ€Ñ‹Ñ‡Ð½Ñ‹Ñ Ñ€Ð°Ð·Ñ€Ð°Ð´Ñ‹ Ñ– блакуе аўтаматычнае злучÑнне паміж Ñілавымі вузламі. -block.plastanium-wall-large.description = СпецыÑльны тып Ñцены, Ñкі паглынае ÑÐ»ÐµÐºÑ‚Ñ€Ñ‹Ñ‡Ð½Ñ‹Ñ Ñ€Ð°Ð·Ñ€Ð°Ð´Ñ‹ Ñ– блакуе аўтаматычнае злучÑнне паміж Ñілавымі вузламі. \nРазмещаетÑÑ Ð½Ð° некалькіх плітках. +block.plastanium-wall-large.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-large.description = СцÑна, Ð¿Ð°ÐºÑ€Ñ‹Ñ‚Ð°Ñ ÑпецыÑльным фазавым адлюÑтроўваюць Ñкладам. ÐдлюÑтроўвае большаÑць куль пры ўдары. \nРазмещаетÑÑ Ð½Ð° некалькіх плітках. -block.surge-wall.description = Вельмі трывалы ахоўны блок. \nÐакапливае зарад пры кантакце з кулÑй, выпуÑкаючы Ñго выпадковым чынам. -block.surge-wall-large.description = Вельмі трывалы ахоўны блок. \nÐакапливает зарад пры кантакце з кулÑй, выпуÑкаючы Ñго выпадковым чынам. \nРазмещаетÑÑ Ð½Ð° некалькіх плітках. +block.phase-wall-large.description = СцÑна, Ð¿Ð°ÐºÑ€Ñ‹Ñ‚Ð°Ñ ÑпецыÑльным фазавым адлюÑтроўваюць Ñкладам. ÐдлюÑтроўвае большаÑць куль пры ўдары. \nРазмÑшчаецца на некалькіх плітках. +block.surge-wall.description = Вельмі трывалы ахоўны блок. \nÐакаплвае зарад пры кантакце з кулÑй, выпуÑкаючы Ñго выпадковым чынам. +block.surge-wall-large.description = Вельмі трывалы ахоўны блок. \nÐакаплвает зарад пры кантакце з кулÑй, выпуÑкаючы Ñго выпадковым чынам. \nРазмÑшчаецца на некалькіх плітках. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = ÐœÐ°Ð»ÐµÐ½ÑŒÐºÐ°Ñ Ð´Ð·Ð²ÐµÑ€Ñ‹. Можна адкрыць або зачыніць націÑкам. -block.door-large.description = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ð´Ð·Ð²ÐµÑ€Ñ‹. Можна адкрыць Ñ– закрыць націÑкам. \nРазмещаетÑÑ Ð½Ð° некалькіх плітках. -block.mender.description = ПерыÑдычна рамантуе блокі Ñž непаÑÑ€Ñднай блізкаÑці. Захоўвае Ñродкі абароны Ñž цÑлаÑнаÑці паміж хвалÑмі. \nОпционально выкарыÑтоўвае крÑмній Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці Ñ– ÑфектыўнаÑці. -block.mend-projector.description = ÐÐ±Ð½Ð¾ÑžÐ»ÐµÐ½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñ€Ñгенератара. Рамантуе блокі Ñž непаÑÑ€Ñднай блізкаÑці. \nОпционально выкарыÑтоўвае фазавую тканіна Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці Ñ– ÑфектыўнаÑці. -block.overdrive-projector.description = ПавÑлічвае хуткаÑць бліжÑйшых будынкаў. \nОпционально выкарыÑтоўвае фазавую тканіна Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці Ñ– ÑфектыўнаÑці. +block.door-large.description = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ð´Ð·Ð²ÐµÑ€Ñ‹. Можна адкрыць Ñ– закрыць націÑкам. \nРазмÑшчаецца на некалькіх плітках. +block.mender.description = ПерыÑдычна рамантуе блокі Ñž непаÑÑ€Ñднай блізкаÑці. Захоўвае Ñродкі абароны Ñž цÑлаÑнаÑці паміж хвалÑмі. \nОпцонально выкарыÑтоўвае крÑмній Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці Ñ– ÑфектыўнаÑці. +block.mend-projector.description = ÐÐ±Ð½Ð¾ÑžÐ»ÐµÐ½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñ€Ñгенератара. Рамантуе блокі Ñž непаÑÑ€Ñднай блізкаÑці. \nÐпцыÑÐ½Ð°Ð»ÑŒÐ½Ñ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўвае фазавую тканіну Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці Ñ– ÑфектыўнаÑці. +block.overdrive-projector.description = ПавÑлічвае хуткаÑць бліжÑйшых будынкаў. \nÐпцыÑнальна выкарыÑтоўвае фазавую тканіну Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð´Ð°Ð»Ñ‘ÐºÐ°Ñці Ñ– ÑфектыўнаÑці. block.force-projector.description = Стварае вакол ÑÑбе шаÑцікутнымі Ñілавое поле, абаранÑючы будынкі Ñ– баÑÐ²Ñ‹Ñ Ð°Ð´Ð·Ñ–Ð½ÐºÑ– ўнутры ад пашкоджаннÑÑž. \nПерегреваетÑÑ, калі нанеÑена занадта вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць пашкоджаннÑÑž. ÐпцыÑнальна выкарыÑтоўвае аÑтуджальную вадкаÑць Ð´Ð»Ñ Ð¿Ñ€Ð°Ð´ÑƒÑ…Ñ–Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ð°Ð³Ñ€Ñву. Ð¤Ð°Ð·Ð°Ð²Ð°Ñ Ñ‚ÐºÐ°Ð½Ñ–Ð½Ð° можа быць выкарыÑтана Ð´Ð»Ñ Ð¿Ð°Ð²ÐµÐ»Ñ–Ñ‡ÑÐ½Ð½Ñ Ð¿Ð°Ð¼ÐµÑ€Ñƒ шчыта. block.shock-mine.description = ÐаноÑіць Ñтраты ворагам, надыходзÑчым на міну. Ðмаль нÑÐ±Ð°Ñ‡Ð½Ð°Ñ Ð´Ð»Ñ Ð²Ð¾Ñ€Ð°Ð³Ð°. block.conveyor.description = Базавы транÑпартны блок. ПерамÑшчае прадметы наперад Ñ– аўтаматычна Ñкладае Ñ–Ñ… у блокі. Можна павÑрнуць. block.titanium-conveyor.description = Палепшаны транÑпартны блок. ПерамÑшчае прадметы хутчÑй, чым ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ñ ÐºÐ°Ð½Ð²ÐµÐµÑ€Ñ‹. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. +block.plastanium-conveyor.description = ПерамÑшчае прадметы Ñž групах.\nПрынімае прадметы ззаду, Ñ– выгружае Ñ–Ñ… у трох напрамках наперад. block.junction.description = Дзейнічае Ñк моÑÑ‚ Ð´Ð»Ñ Ð´Ð²ÑƒÑ… пераÑÑкальных канвеерных Ñтужак. КарыÑны Ñž ÑітуацыÑÑ…, калі два Ñ€Ð¾Ð·Ð½Ñ‹Ñ ÐºÐ°Ð½Ð²ÐµÐµÑ€Ð° перавозÑць Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ð¼Ð°Ñ‚ÑрыÑлы Ñž Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ð¼ÐµÑцы. block.bridge-conveyor.description = Палепшаны транÑпартны блок. ДазвалÑе транÑпартаваць прадметы над 3 пліткамі любой мÑÑцоваÑці або будынка. block.phase-conveyor.description = Палепшаны транÑпартны блок. ВыкарыÑтоўвае Ñнергію Ð´Ð»Ñ Ñ‚Ñлепартацыі прадметаў на падлучаны фазавы канвеер над некалькімі пліткамі. block.sorter.description = Сартуе прадметы. Калі прадмет адпавÑдае выбару, ён можа прайÑці. У адваротным выпадку прадмет выводзіцца злева Ñ– Ñправа. block.inverted-sorter.description = Працуе з прадметамі гÑтак жа, Ñк Ñ– Ñтандартны Ñартавальнік, але выводзіць абраны прадмет па баках, а не прама. block.router.description = Прымае прадмет у адным кірунку Ñ– выводзіць Ñ–Ñ… да 3 іншых напрамкаў у роўнай Ñтупені. КарыÑны Ð´Ð»Ñ Ð¿Ð°Ð´Ð·ÐµÐ»Ñƒ матÑрыÑлаў з адной крыніцы на некалькі мÑтаў. \n \n [scarlet] Ðіколі не выкарыÑтоўвайце побач з заводамі Ñ– Ñ‚.п., так Ñк маршрутызатар будзе забіты выходнымі прадметамі.[] +block.router.details = Ðеабходнае зло. ВыкарыÑтанне ÐºÐ°Ð»Ñ ÑƒÐ²Ð°Ñ…Ð¾Ð´Ñƒ прадукцыі не Ñ€Ñкамендуецца, бо Ñны забюцца выходзÑчай прадукцыÑй. block.distributor.description = Пашыраны маршрутызатар. ПадзÑлÑе прадметы да 7 іншых напрамкаў у роўнай Ñтупені. block.overflow-gate.description = Выводзіць прадметы налева Ñ– направа, толькі калі пÑÑ€Ñдні шлÑÑ… заблÑкаваны. block.underflow-gate.description = СупрацьлеглаÑць залішнÑга заÑаўкі. Выводзіць прадметы наперад толькі Ñž тым выпадку, калі левы Ñ– правы шлÑху заблакаваныÑ. block.mass-driver.description = Самы праÑунуты транÑпартны блок. Збірае некалькі прадметаў Ñ– затым ÑтралÑе імі Ñž іншую катапульту на вÑлікай адлеглаÑці. Патрабуецца ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. block.mechanical-pump.description = Танны наÑÐ¾Ñ Ð· нізкай прадукцыйнаÑцю, але без ÑнергаÑпажываннÑ. block.rotary-pump.description = ПраÑÑƒÐ½ÑƒÑ‚Ð°Ñ Ð¿Ð¾Ð¼Ð¿Ð°. Пампуе больш вадкаÑці, але патрабуе Ñнергію. -block.thermal-pump.description = ÐÐ°Ð¹Ð»ÐµÐ¿ÑˆÐ°Ñ Ð¿Ð¾Ð¼Ð¿Ð°. +block.impulse-pump.description = ÐÐ°Ð¹Ð»ÐµÐ¿ÑˆÐ°Ñ Ð¿Ð¾Ð¼Ð¿Ð°. block.conduit.description = ÐÑноўны блок транÑпарціроўкі вадкаÑці. ПерамÑшчае вадкаÑці наперад. ВыкарыÑтоўваецца ÑумеÑна з помпамі Ñ– іншымі трубаправодамі. block.pulse-conduit.description = Палепшаны блок транÑпарціроўкі вадкаÑці. ТранÑпартуе вадкаÑці хутчÑй Ñ– захоўвае больш, чым ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ñ‹Ñ Ñ‚Ñ€ÑƒÐ±Ð°Ð¿Ñ€Ð°Ð²Ð¾Ð´Ñ‹. block.plated-conduit.description = ПерамÑшчае вадкаÑці з той жа хуткаÑцю, што Ñ– імпульÑÐ½Ñ‹Ñ Ñ‚Ñ€ÑƒÐ±Ð°Ð¿Ñ€Ð°Ð²Ð¾Ð´Ñ‹, але валодае большай трывалаÑцю. Ðе бÑÑ€Ñ Ð²Ð°Ð´ÐºÐ°Ñці Ñа бакоў, Ð°ÐºÑ€Ð°Ð¼Ñ Ñк ад іншых трубаправодаў. \nПротекает менш. block.liquid-router.description = Прымае вадкаÑці з аднаго кірунку Ñ– выводзіць Ñ–Ñ… да 3 іншых напрамкаў у роўнай Ñтупені. ТакÑама можа захоўваць пÑўную колькаÑць вадкаÑці. КарыÑны Ð´Ð»Ñ Ð¿Ð°Ð´Ð·ÐµÐ»Ñƒ вадкаÑцÑÑž з адной крыніцы на некалькі мÑтаў. -block.liquid-tank.description = Захоўвае вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць вадкаÑці. ВыкарыÑтоўваецца Ð´Ð»Ñ ÑтварÑÐ½Ð½Ñ Ð±ÑƒÑ„ÐµÑ€Ð°Ñž у ÑітуацыÑÑ… з нÑÑталай патрÑбай у матÑрыÑлах або Ñž ÑкаÑці абароны Ð´Ð»Ñ Ð°ÑтуджÑÐ½Ð½Ñ Ð¶Ñ‹Ñ†Ñ†Ñ‘Ð²Ð° важных блокаў. +block.liquid-container.description = Захоўвае больш адзінак вадкаÑці. Выводзіць ва ÑžÑÑ–Ñ… напрамках, падобны да вадкаÑнага маршрутызатара. +block.liquid-tank.description = Захоўвае вÑлікую колькаÑць вадкаÑці. ВыкарыÑтоўваецца Ð´Ð»Ñ ÑтварÑÐ½Ð½Ñ Ð±ÑƒÑ„ÐµÑ€Ð°Ñž у ÑітуацыÑÑ… з нÑÑталай патрÑбай у матÑрыÑлах або Ñž ÑкаÑці абароны Ð´Ð»Ñ Ð°ÑтуджÑÐ½Ð½Ñ Ð¶Ñ‹Ñ†Ñ†Ñ‘Ð²Ð° важных блокаў. block.liquid-junction.description = Дзейнічае Ñк моÑÑ‚ Ð´Ð»Ñ Ð´Ð²ÑƒÑ… пераÑÑкальных трубаправодаў. КарыÑны Ñž ÑітуацыÑÑ…, калі два Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ñ‚Ñ€ÑƒÐ±Ð°Ð¿Ñ€Ð°Ð²Ð¾Ð´Ð° пераноÑÑць Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ð²Ð°Ð´ÐºÐ°Ñці Ñž Ñ€Ð¾Ð·Ð½Ñ‹Ñ Ð¼ÐµÑцы. block.bridge-conduit.description = Пашыраны блок транÑпарціроўкі вадкаÑці. ДазвалÑе транÑпартаваць вадкаÑці над 3 пліткамі любой мÑÑцоваÑці або будынка. block.phase-conduit.description = Пашыраны блок транÑпарціроўкі вадкаÑці. ВыкарыÑтоўвае Ñнергію Ð´Ð»Ñ Ñ‚Ñлепартацыі вадкаÑцÑÑž у падлучаны фазавы трубаправод над некалькімі пліткам. @@ -1296,27 +2141,33 @@ block.battery-large.description = Захоўвае значна больш Ñн block.combustion-generator.description = вырабленай Ñнергіі шлÑхам ÑÐ¿Ð°Ð»ÑŒÐ²Ð°Ð½Ð½Ñ Ð»Ñ‘Ð³ÐºÐ°ÑžÐ·Ð³Ð°Ñ€Ð°Ð»ÑŒÐ½Ñ‹Ñ… матÑрыÑлаў, такіх Ñк вугаль. block.thermal-generator.description = Генеруе Ñнергію, калі знаходзіцца Ñž гарачых меÑцах. block.steam-generator.description = УдаÑканалены генератар згараннÑ. Больш Ñфектыўны, але дадаткова патрабуе ваду Ð´Ð»Ñ Ð²Ñ‹Ð¿Ñ€Ð°Ñ†Ð¾ÑžÐºÑ– пары. -block.differential-generator.description = Генеруе вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі. ВыкарыÑтоўвае розніцу Ñ‚Ñмператур паміж крыÑгеннай вадкаÑцю Ñ– падпаленым пиротитом. +block.differential-generator.description = Генеруе вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі. ВыкарыÑтоўвае розніцу Ñ‚Ñмператур паміж крыÑгеннай вадкаÑцю Ñ– падпаленым піратытам. block.rtg-generator.description = ПроÑты, надзейны генератар. ВыкарыÑтоўвае цÑпло раÑпадаюцца радыеактыўных злучÑннÑÑž Ð´Ð»Ñ Ð²Ñ‹Ñ‚Ð²Ð¾Ñ€Ñ‡Ð°Ñці Ñнергіі з нізкай хуткаÑцю. block.solar-panel.description = ЗабÑÑпечвае невÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі ад Ñонца. block.solar-panel-large.description = Значна больш Ñфектыўны варыÑнт Ñтандартнай Ñонечнай панÑлі. -block.thorium-reactor.description = Генеруе Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі з торыÑ. Патрабуе паÑтаÑннага аÑтуджÑннÑ. Выбухне з вÑлікай Ñілай пры недаÑтатковай колькаÑці аÑтуджальнай вадкаÑці. Ð’Ñ‹Ñ…Ð°Ð´Ð½Ñ‹Ñ ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð·Ð°Ð»ÐµÐ¶Ñ‹Ñ†ÑŒ ад напоўненаÑці торием, пры гÑтым Ð±Ð°Ð·Ð°Ð²Ð°Ñ ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð³ÐµÐ½ÐµÑ€ÑƒÐµÑ†Ñ†Ð° пры макÑімальным запаўненні. -block.impact-reactor.description = УдаÑканалены генератар, здольны Ñтвараць Ð²ÐµÐ»Ñ–Ð·Ð°Ñ€Ð½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі на піку ÑфектыўнаÑці. Патрабуецца Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку працÑÑу. +block.thorium-reactor.description = Генеруе значную колькаÑць Ñнергіі з торыÑ. Патрабуе паÑтаÑннага аÑтуджÑннÑ. Выбухне з вÑлікай Ñілай пры недаÑтатковай колькаÑці аÑтуджальнай вадкаÑці. Ð’Ñ‹Ñ…Ð°Ð´Ð½Ñ‹Ñ ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð·Ð°Ð»ÐµÐ¶Ñ‹Ñ†ÑŒ ад напоўненаÑці торем, пры гÑтым Ð±Ð°Ð·Ð°Ð²Ð°Ñ ÑÐ½ÐµÑ€Ð³Ñ–Ñ Ð³ÐµÐ½ÐµÑ€ÑƒÐµÑ†Ñ†Ð° пры макÑімальным запаўненні. +block.impact-reactor.description = УдаÑканалены генератар, здольны Ñтвараць велізарную колькаÑць Ñнергіі на піку ÑфектыўнаÑці. Патрабуецца Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку працÑÑу. block.mechanical-drill.description = Танны Ñвідар. Пры размÑшчÑнні на адпаведных плітках, прадметы бÑÑконца выводзÑцца Ñž павольным Ñ‚Ñмпе. Здольны здабываць толькі Ð±Ð°Ð·Ð°Ð²Ñ‹Ñ Ñ€ÑÑурÑÑ‹. block.pneumatic-drill.description = Палепшаны Ñвідар, здольны здабываць тытан. Здабывае хутчÑй, чым механічны Ñвідар. block.laser-drill.description = ДазвалÑе Ñвідраваць ÑÑˆÑ‡Ñ Ñ…ÑƒÑ‚Ñ‡Ñй з дапамогай лазернай Ñ‚Ñхналогіі, але патрабуе Ñнергіі. Здольны здабываць торый. block.blast-drill.description = Самы праÑунуты Ñвідар. Патрабуе вÑлікую колькаÑці Ñнергіі. block.water-extractor.description = Выпампоўваецца Ð¿Ð°Ð´Ð·ÐµÐ¼Ð½Ñ‹Ñ Ð²Ð¾Ð´Ñ‹. ВыкарыÑтоўваецца Ñž меÑцах, дзе нÑма паверхневых вод. block.cultivator.description = Вырошчвае малюÑÐµÐ½ÑŒÐºÑ–Ñ ÐºÐ°Ð½Ñ†Ñнтрацыі ÑпрÑчку Ñž атмаÑферы Ñž Ð³Ð°Ñ‚Ð¾Ð²Ñ‹Ñ Ð´Ð° выкарыÑÑ‚Ð°Ð½Ð½Ñ ÑпрÑчкі. +block.cultivator.details = ВаÑÑ‚Ð°Ð½Ð¾ÑžÐ»ÐµÐ½Ð½Ð°Ñ Ñ‚ÑхналогіÑ. ВыкарыÑтоўвае каб Ñтвараць вÑлікую колькаÑць біÑмаÑÑÑ‹ з найбольшай ÑфектыўнаÑццю. Падобны да ініцыйнага фабрыкатара Ñпор Ñкі выкарыÑтоўваецца на Серпуло. block.oil-extractor.description = ВыкарыÑтоўвае вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñнергіі, пÑÑку Ñ– вады Ð´Ð»Ñ Ð±ÑƒÑ€ÑннÑ, здабываючы нафту. block.core-shard.description = ÐŸÐµÑ€ÑˆÐ°Ñ Ñ–Ñ‚ÑÑ€Ð°Ñ†Ñ‹Ñ ÐºÐ°Ð¿Ñулы Ñдра. ПаÑÐ»Ñ Ð·Ð½Ñ–ÑˆÑ‡ÑннÑ, увеÑÑŒ кантакт з Ñ€Ñгіёнам гублÑецца. Ðе дазвалÑйце гÑтаму здарыцца. +block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = Ð”Ñ€ÑƒÐ³Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñдра. Лепш браніраваць. Захоўвае больш Ñ€ÑÑурÑаў. +block.core-foundation.details = The second iteration. block.core-nucleus.description = ТрÑцÑÑ Ñ– апошнÑÑ Ñ–Ñ‚ÑÑ€Ð°Ñ†Ñ‹Ñ ÐºÐ°Ð¿Ñулы Ñдра. Вельмі добра Браніраваць. Захоўвае вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñ€ÑÑурÑаў. -block.vault.description = Захоўвае вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць прадметаў кожнага тыпу. Блок разгрузчика можа быць выкарыÑтаны Ð´Ð»Ñ Ð·Ð´Ð°Ð±Ñ‹Ð²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð´Ð¼ÐµÑ‚Ð°Ñž Ñа Ñховішча. -block.container.description = Захоўвае невÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць прадметаў кожнага тыпу. Блок разгрузчика можа быць выкарыÑтаны Ð´Ð»Ñ Ð·Ð´Ð°Ð±Ñ‹Ð²Ð°Ð½Ð½Ñ Ñлементаў з кантÑйнера. +block.core-nucleus.details = The third and final iteration. +block.vault.description = Захоўвае вÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць прадметаў кожнага тыпу. Блок разгрузчка можа быць выкарыÑтаны Ð´Ð»Ñ Ð·Ð´Ð°Ð±Ñ‹Ð²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð´Ð¼ÐµÑ‚Ð°Ñž Ñа Ñховішча. +block.container.description = Захоўвае невÑÐ»Ñ–ÐºÐ°Ñ ÐºÐ¾Ð»ÑŒÐºÐ°Ñць прадметаў кожнага тыпу. Блок разгрузчка можа быць выкарыÑтаны Ð´Ð»Ñ Ð·Ð´Ð°Ð±Ñ‹Ð²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð°Ð´Ð¼ÐµÑ‚Ð°Ñž з кантÑйнера. block.unloader.description = Выгружае прадметы з любога нетранÑпортного блока. Тып прадмета, Ñкі неабходна выгрузіць, можна змÑніць націÑкам. block.launch-pad.description = ЗапуÑкае партыі прадметаў без неабходнаÑці запуÑку Ñдра. -block.launch-pad-large.description = ÐŸÐ°Ð»ÐµÐ¿ÑˆÐ°Ð½Ð°Ñ Ð²ÐµÑ€ÑÑ–Ñ Ñтартавай плÑцоўкі. Захоўвае больш прадметаў. ЗапуÑкаецца чаÑцей. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = МаленькаÑ, Ñ‚Ð°Ð½Ð½Ð°Ñ Ñ‚ÑƒÑ€Ñль. КарыÑÐ½Ð°Ñ Ñупраць наземных юнітаў. block.scatter.description = ÐÑÐ½Ð¾ÑžÐ½Ð°Ñ ÑÑƒÐ¿Ñ€Ð°Ñ†ÑŒÐ¿Ð°Ð²ÐµÑ‚Ñ€Ð°Ð½Ð°Ñ Ñ‚ÑƒÑ€Ñль. РаÑпылÑе кавалкі Ñвінцу або металалому на Ð²Ð°Ñ€Ð¾Ð¶Ñ‹Ñ Ð¿Ð°Ð´Ñ€Ð°Ð·Ð´Ð·ÑленнÑ. block.scorch.description = Спальваеце любых наземных ворагаў побач з ім. Ð’Ñ‹ÑокаÑфектыўны на блізкай адлеглаÑці. @@ -1331,5 +2182,429 @@ block.ripple.description = Вельмі Ð¼Ð°Ð³ÑƒÑ‚Ð½Ð°Ñ Ð°Ñ€Ñ‚Ñ‹Ð»ÐµÑ€Ñ‹Ð¹Ñк block.cyclone.description = Ð’ÑÐ»Ñ–ÐºÐ°Ñ Ñ‚ÑƒÑ€Ñль, ÑÐºÐ°Ñ Ð¼Ð¾Ð¶Ð° веÑці агонь па паветраных Ñ– наземных мÑтах. СтралÑе разрыўнымі Ñнарадамі па бліжÑйшых ворагам. block.spectre.description = МаÑÑ–ÑžÐ½Ð°Ñ Ð´Ð²ÑƒÑтвольное гармата. СтралÑе буйнымі бранÑбойнымі кулÑмі па паветраных Ñ– наземных мÑтах. block.meltdown.description = МаÑÑ–ÑžÐ½Ð°Ñ Ð»Ð°Ð·ÐµÑ€Ð½Ð°Ñ Ð³Ð°Ñ€Ð¼Ð°Ñ‚Ð°. Зараджае Ñ– ÑтралÑе паÑтаÑнным лазерным прамÑнём Ñž бліжÑйшых ворагаў. Патрабуецца аÑÑ‚ÑƒÐ´Ð¶Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ð°Ð´ÐºÐ°Ñць Ð´Ð»Ñ Ð¿Ñ€Ð°Ñ†Ñ‹. +block.foreshadow.description = СтралÑе маланкай па адной цÑлі на вÑлікай адлеглаÑці. Ðддае прыÑрытÑÑ‚ ворагам з большым макÑімальным здароўем. block.repair-point.description = БеÑперапынна лечыць бліжÑйшую пашкоджаную баÑвую адзінку або мех у Ñваім радыуÑе. block.segment.description = Пашкоджвае Ñ– знішчае Ñнарады. Ð›Ð°Ð·ÐµÑ€Ð½Ñ‹Ñ Ñнарады не шкодзÑца. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = ÐбаранÑе Ñдро ÐÑкепак ад ворагаў. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Выводзіць зменную Ð´Ð»Ñ Ð²Ñ‹Ð±Ñ€Ð°Ð½Ð½Ð°Ð³Ð° будынку. +unitlocate.outx = Выводзіць X каардынату. +unitlocate.outy = Выводзіць Y каардынату. +unitlocate.group = Знаходзіць группу будынкаў. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Ðе рухацца, а будаваць/дабываць.\nЗвычайны Ñтан. +lenum.stop = ПераÑтаць рухацца/дабываць/будаваць. +lenum.unbind = ПоўнаÑццю адключыць кантралÑванне працÑÑÑарамі.\nÐднавіць Ð·Ð²Ñ‹Ñ‡Ð°Ð¹Ð½Ñ‹Ñ Ð¿Ð°Ð²Ð¾Ð´Ð·Ñ–Ð½Ñ‹ AI. +lenum.move = Рухацца да канкрÑтнай каардынаты. +lenum.approach = ПадыÑці да каардынаты з радыюÑам. +lenum.pathfind = Ðайці шлÑÑ… да варожай кропкі з'ÑўленнÑ. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Ðтакаваць каардынату. +lenum.targetp = Ðтакаваць мÑту з прадвылічÑннем ÑкораÑці. +lenum.itemdrop = ÐпуÑціць прадмет. +lenum.itemtake = УзÑць прадмет Take an item from a building. +lenum.paydrop = ÐпуÑціць Ñ–Ñнуючы груз. +lenum.paytake = Узыць груз у заданных каардынатах. +lenum.payenter = УвайÑці/прызÑмліцца на блок выгрузкі калі адзінка калÑ/над ім. +lenum.flag = Лічбавы ÑцÑг адзінкі. +lenum.mine = Дабываць у кардынатах. +lenum.build = Пабудаваць Ñтруктуру. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = ПравÑрае калі адзінка знаходзіцца ÐºÐ°Ð»Ñ ÐºÐ°Ð°Ñ€Ð´Ñ‹Ð½Ð°Ñ‚. +lenum.boost = Пачаць/пераÑтаць узлÑтаць. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_bg.properties b/core/assets/bundles/bundle_bg.properties new file mode 100644 index 0000000000..3eb3dbc43d --- /dev/null +++ b/core/assets/bundles/bundle_bg.properties @@ -0,0 +1,2648 @@ +credits.text = Създадена от [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits = ЗаÑлуги +contributors = Преводачи и Сътрудници +discord = ПриÑъедини Ñе към Mindustry диÑкорд! +link.discord.description = Официален Mindustry диÑкорд Ñървър +link.reddit.description = Субредит на Mindustry +link.github.description = Ð¡Ð¾Ñ€Ñ ÐºÐ¾Ð´ на играта +link.changelog.description = СпиÑък Ñ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸ +link.dev-builds.description = ÐеÑтабилни теÑтови верÑии +link.trello.description = Официален Trello ÑпиÑък Ñ Ð¿Ñ€ÐµÐ´ÑтоÑщи промени +link.itch.io.description = itch.io Ñтраница. Можете да Ñвалите играта от тук. +link.google-play.description = Свалете за Android от Google Play +link.f-droid.description = Свалете за Android от F-Droid +link.wiki.description = Официално Mindustry ръководÑтво +link.suggestions.description = Предложете Вашата Ð¸Ð´ÐµÑ +link.bug.description = Ðамерихте грешка? Съобщете тук +linkopen = Този Ñървър Ви изпрати линк. Сигурни ли Ñте, че иÑкате да го отворите?\n\n[sky]{0} +linkfail = ÐеуÑпех при отварÑне на връзка!\nURL адреÑÑŠÑ‚ е копиран в клипборда ви. +screenshot = ЗапиÑана екранна Ñнимка в {0} +screenshot.invalid = Картата е твърде голÑма, възможно е да не доÑтига памет за екранната Ñнимка. +gameover = Играта Ñвърши. +gameover.disconnect = ПрекъÑнете връзката +gameover.pvp = [accent]{0}[] отбор Ñпечели! +gameover.waiting = [accent]Изчакване за Ñледваща карта... +highscore = [accent]Ðов рекорд! +copied = Копирано. +indev.notready = Тази чаÑÑ‚ от играта вÑе още е в разработка + +load.sound = Звук +load.map = Карти +load.image = Графики +load.content = Съдържание +load.system = СиÑтема +load.mod = Модификации +load.scripts = Скриптове + +be.update = Ðалична е актуализациÑ: +be.update.confirm = ИзтеглÑне и реÑтарт на играта? +be.updating = Ðктуализиране... +be.ignore = Игнорирай +be.noupdates = ÐÑма намерени актуализации. +be.check = Провери за актуализации + +mods.browser = СпиÑък Ñ Ð¼Ð¾Ð´Ð¾Ð²Ðµ +mods.browser.selected = Избран мод +mods.browser.add = ИнÑталирай +mods.browser.reinstall = ПреинÑталирай +mods.browser.view-releases = Вижте Ð¸Ð·Ð´Ð°Ð½Ð¸Ñ +mods.browser.noreleases = [scarlet]Ðе Ñа открити изданиÑ\n[accent]Ðе бÑха открити Ð¸Ð·Ð´Ð°Ð½Ð¸Ñ Ð·Ð° тази модификациÑ. Проверете дали хранилището на модификациÑта има публикувани изданиÑ. +mods.browser.latest = +mods.browser.releases = Ð˜Ð·Ð´Ð°Ð½Ð¸Ñ +mods.github.open = Сайт +mods.github.open-release = Страница на изданиÑта +mods.browser.sortdate = Сортирай по дата +mods.browser.sortstars = Сортирай по рейтинг + +schematic = Схема +schematic.add = Запази Схема... +schematics = Схеми +schematic.search = ТърÑене из Ñхемите... +schematic.replace = Вече ÑъщеÑтвува Ñхема Ñ Ñ‚Ð¾Ð²Ð° име. Да бъде ли замеÑтена? +schematic.exists = Вече ÑъщеÑтвува Ñхема Ñ Ñ‚Ð¾Ð²Ð° име. +schematic.import = ВнаÑÑне на Схема... +schematic.exportfile = ИзнаÑÑне във файл +schematic.importfile = ВнаÑÑне от файл +schematic.browseworkshop = Работилница +schematic.copy = Копирай в Клипборда +schematic.copy.import = ВнеÑи от Клипборда +schematic.shareworkshop = Сподели в Работилницата +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Обърни Ñхемата +schematic.saved = Схемате беше запазена. +schematic.delete.confirm = Тази Ñхема ще бъде напълно унищожена. +schematic.edit = ПромÑна на Ñхемата +schematic.info = {0}x{1}, {2} елемента +schematic.disabled = [scarlet]Схемите не Ñа доÑтъпни[]\nÐе Ви е позволено да използвате Схеми на тази [accent]карта[] или [accent]Ñървър[]. +schematic.tags = Етикети: +schematic.edittags = ПромÑна на етикетите +schematic.addtag = ДобавÑне на етикет +schematic.texttag = ТекÑÑ‚ +schematic.icontag = Икона +schematic.renametag = Преименуване на етикет +schematic.tagged = {0} етикирано +schematic.tagdelconfirm = Да Ñе изтрие ли този етикет? +schematic.tagexists = Този етикет вече ÑъщеÑтвува. + +stats = СтатиÑтики +stats.wave = Ðадвити вълни +stats.unitsCreated = Създадени единици +stats.enemiesDestroyed = Унищожени врагове +stats.built = ПоÑтроени Ñгради +stats.destroyed = Унищожени Ñгради +stats.deconstructed = Разглобени Ñгради +stats.playtime = Време в игра + +globalitems = [accent]Ð’Ñички РеÑурÑи +map.delete = Сигурни ли Ñте че иÑкате да изтриете карта "[accent]{0}[]"? +level.highscore = Рекорд: [accent]{0} +level.select = Избор на ниво +level.mode = Режим на игра: +coreattack = < Ядрото е нападнато! > +nearpoint = [[ [scarlet]ÐÐПУСÐЕТЕ ОПÐСÐÐТРЗОÐРМОМЕÐТÐЛÐО[] ]\nредÑтои унижощение +database = Ð•Ð½Ñ†Ð¸ÐºÐ»Ð¾Ð¿ÐµÐ´Ð¸Ñ +database.button = База данни +savegame = Запази Игра +loadgame = Зареди Игра +joingame = ПриÑъедини Ñе в Игра +customgame = ПерÑонализирана Игра +newgame = Ðова Игра +none = <нÑма> +none.found = [lightgray]<нÑма намерени> +none.inmap = [lightgray]<нÑма в карти> +minimap = Мини-карта +position = ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ +close = Затвори +website = УебÑайт +quit = Изход +save.quit = Запази и Излез +maps = Карти +maps.browse = СпиÑък Ñ ÐºÐ°Ñ€Ñ‚Ð¸ +continue = Продължи +maps.none = [lightgray]ÐÑма намерени карти! +invalid = Ðевалидно +pickcolor = Избери цвÑÑ‚ +preparingconfig = Подготовка на ÐаÑтройки +preparingcontent = Подготовка на Съдържание +uploadingcontent = Качване на Съдържание +uploadingpreviewfile = Качване на Изображение за Ð²Ð¸Ð·ÑƒÐ°Ð»Ð¸Ð·Ð°Ñ†Ð¸Ñ +committingchanges = Запазване на Промени +done = Готово +feature.unsupported = Вашето уÑтройÑтво не поддържа тази Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ + +mods.initfailed = [red]âš []Mindustry Ð¿Ñ€ÐµÑ‚ÑŠÑ€Ð¿Ñ Ñрив при поÑледното Ñтартиране. Това вероÑтно е причинено от лошо поведение на нÑкой мод.\n\nЗа да Ñе предотврати поÑтоÑнно Ñриване при Ñтартиране, [red]вÑички модове бÑха забранени.[]\n\nЗа да забраните тази опциÑ, изключете Ñ Ð¾Ñ‚ [accent]ÐаÑтройки->Игра->Забрани Модовете При Стартиране След Срив[]. +mods = Модове +mods.none = [lightgray]ÐÑма намерени модове! +mods.guide = Как да Ñъздам модификациÑ? +mods.report = Съобщаване за грешка +mods.openfolder = Отвори Ð”Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ +mods.viewcontent = Виж Съдържание +mods.reload = Презареди +mods.reloadexit = Играта ще Ñе затвори, за да презареди модификациите. +mod.installed = [[ИнÑталиран] +mod.display = [gray]Мод:[orange] {0} +mod.enabled = [lightgray]Ðктивиран +mod.disabled = [scarlet]Деактивиран +mod.multiplayer.compatible = [gray]Поддържа Мрежова Игра +mod.disable = Деактивирай +mod.version = Version: +mod.content = Съдържание: +mod.delete.error = ÐеуÑпешно изтриване на мод. ВероÑтно файловете Ñе използват. +mod.incompatiblegame = [red]ОÑтарÑла игра +mod.incompatiblemod = [red]ÐеÑъвмеÑтимо +mod.blacklisted = [red]Ðе Ñе поддържа +mod.unmetdependencies = [red]ЗавиÑимоÑтите не Ñа покрити +mod.erroredcontent = [scarlet]Грешки в Съдържанието +mod.circulardependencies = [red]Кръгобратни завиÑимоÑти +mod.incompletedependencies = [red]Ðезавършени завиÑимоÑтиIncomplete Dependencies +mod.requiresversion.details = Ðеобходима е верÑÐ¸Ñ Ð½Ð° играта: [accent]{0}[]\nВашата игра е оÑтарÑла. Тази Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸Ð·Ð¸Ñква по-нова верÑÐ¸Ñ Ð½Ð° играта (вероÑтно бета/алфа издание), за да функционира. +mod.outdatedv7.details = Тази Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ðµ неÑъвмеÑтима Ñ Ð¿Ð¾Ñледната верÑÐ¸Ñ Ð½Ð° играта. Ðвторът трÑбва да Ñ Ð¾Ð±Ð½Ð¾Ð²Ð¸ и да добави [accent]minGameVersion: 136[] към ÑÐ²Ð¾Ñ [accent]mod.json[] файл. +mod.blacklisted.details = Тази Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ðµ била поÑтавена в черен ÑпиÑък, защото причинÑва Ñривове и други проблеми Ñ Ñ‚Ð°Ð·Ð¸ верÑÐ¸Ñ Ð½Ð° играта. Ðе Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹Ñ‚Ðµ. +mod.missingdependencies.details = ЛипÑват Ñледните завиÑимоÑти за този мод: {0} +mod.erroredcontent.details = Тази игра Ñъздаде грешки по време на зареждане. Помолете авторът да ги оправи. +mod.circulardependencies.details = Тази Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¸Ð¼Ð° завиÑимоÑти, които завиÑÑÑ‚ една от друга. +mod.incompletedependencies.details = Тази Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð½Ðµ може да зареди поради невалидни или липÑващи завиÑимоÑти: {0}. +mod.requiresversion = Ðужна е верÑÐ¸Ñ Ð½Ð° играта: [red]{0} +mod.errors = Възникнаха грешки при зареждане на Ñъдържанието. +mod.noerrorplay = [scarlet]Има грешки в нÑкои от модовете, които използвате.[] ТрÑбва да деактивирате тези модове или да поправите грешките преди да играете. +mod.nowdisabled = [scarlet]ЛипÑват завиÑимоÑти за мод '{0}':[accent] {1}\n[lightgray]Мод {0} ще бъде деактивиран докато не ги изтеглите. +mod.enable = Ðктивирай +mod.requiresrestart = Играта ще Ñе затвори за да приложи промените в модовете. +mod.reloadrequired = [scarlet]Ðеобходимо е реÑтартиране +mod.import = Вмъкни мод +mod.import.file = Вмъкни от файл +mod.import.github = Вмъкни от GitHub +mod.jarwarn = [scarlet]JAR модовете могат да бъдат опаÑни.[]\n Уверете Ñе, че този мод e от надежден източник! +mod.item.remove = Този предмет е чаÑÑ‚ от [accent] '{0}'[] мод. За да го премахнете, премахнете или забранете този мод. +mod.remove.confirm = Този мод ще бъде премахнат. +mod.author = [lightgray]Ðвтор:[] {0} +mod.missing = Този Ð·Ð°Ð¿Ð¸Ñ Ñъдържа модове, които Ñа били обновени или изтрити. Може да възникнат грешки при зареждането. Сигурни ли Ñте, че иÑкате да го заредите?\n[lightgray]Модове:\n{0} +mod.preview.missing = За да публикувате този мод в Работилницата, той трÑбва да Ñъдържа изображение за визуализациÑ.\n ПоÑтавете файл Ñ Ð¸Ð¼ÐµÑ‚Ð¾ [accent]preview.png[] в директориÑта на мода и опитайте отново. +mod.folder.missing = Ð’ Работилницата могат да Ñе публикуват Ñамо модове под формата на директории.\nЗа да превърнете мод в Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñамо трÑбва да го разархивирате в Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ð¸ да изтриите архива. След това реÑтартирайте играта, за да презареди вашите модове. +mod.scripts.disable = Вашето уÑтройÑтво не поддържа модове ÑÑŠÑ Ñкриптове. ТрÑбва да забраните тези модове за да играете. + +about.button = За играта +name = Име: +noname = ТрÑбва да изберете [accent] име на играча[]. +search = ТърÑене: +planetmap = Ð“Ð»Ð¾Ð±ÑƒÑ +launchcore = ИзÑтрелÑй Ядрото +filename = Име на файл: +unlocked = Отключихте нови неща! +available = Можете да проучите нови технологии! +unlock.incampaign = < Отключете в кампаниÑта за подробноÑти > +campaign.select = Изберете начална ÐºÐ°Ð¼Ð¿Ð°Ð½Ð¸Ñ +campaign.none = [lightgray]Изберете на ÐºÐ¾Ñ Ð¿Ð»Ð°Ð½ÐµÑ‚Ð° да започнете.\nМоже да промените решението Ñи по вÑÑко време. +campaign.erekir = По-ново полирано Ñъдържание. Ðапредъкът в кампаниÑта е линеен.\n\nКартите Ñа Ñ Ð¿Ð¾-виÑоко качеÑтво за по-добро изживÑване. +campaign.serpulo = По-Ñтаро Ñъдържание; клаÑичеÑкото преживÑване. По-отворена игра.\n\nВъзможно е картите и механиките на кампаниÑта да Ñа небаланÑирани и Ñ Ð¿Ð¾-ниÑко качеÑтво. +campaign.difficulty = Difficulty + +completed = [accent]Завършено +techtree = Технологичен план +techtree.select = Избиране на технологичен план +techtree.serpulo = Серпуло +techtree.erekir = Ерекир +research.load = Зареди +research.discard = Захвърли +research.list = [lightgray]Проучване: +research = Проучване +researched = [lightgray]{0} проучено. +research.progress = {0}% завършено +players = {0} играча +players.single = {0} играч +players.search = търÑи +players.notfound = [gray]нÑма намерени играчи +server.closing = [accent]Спиране на Ñървър... +server.kicked.kick = Вие бÑхте изгонени от Ñървъра! +server.kicked.whitelist = ÐÑмате позволение да влезете в този Ñървър. +server.kicked.serverClose = Сървърът беше ÑпрÑн. +server.kicked.vote = БÑхте изгонени чрез глаÑуване. До Ñкоро. +server.kicked.clientOutdated = ОÑтарÑл клиент!\nÐктуализирайте играта Ñи! +server.kicked.serverOutdated = ОÑтарÑл Ñървър!\nПоиÑкайте от ÑобÑтвеника да го актуализира! +server.kicked.banned = Вие Ñте баннат в този Ñървър. +server.kicked.typeMismatch = Този Ñървър не е ÑъвмеÑтим Ñ Ð²Ð°ÑˆÐ°Ñ‚Ð° компилациÑ. +server.kicked.playerLimit = Сървърът е пълен.\nИзчакайте нÑкой да излезе. +server.kicked.recentKick = Вие Ñте били изхвърлени наÑкоро.\nОпитайте отново по-къÑно. +server.kicked.nameInUse = Вече има играч Ñ\nтакова име в Ñървъра. +server.kicked.nameEmpty = Избрали Ñте невалидно име. +server.kicked.idInUse = Вие вече Ñте в този Ñървър! Ðе е позволено да влизате многократно. +server.kicked.customClient = Този Ñървър не поддържа неофициални компилации. ÐœÐ¾Ð»Ñ Ð¸Ð·Ñ‚ÐµÐ³Ð»ÐµÑ‚Ðµ официална верÑиÑ. +server.kicked.gameover = Край на играта! +server.kicked.serverRestarting = Сървърът Ñе реÑтартира. +server.versions = Вашата верÑиÑ:[accent] {0}[]\nВерÑÐ¸Ñ Ð½Ð° Ñървъра:[accent] {1}[] +host.info = Бутонът [accent]Отвори за лоцалната мрежа[] Ñтартира Ñървър на порт [scarlet]6567[].\nÐ’Ñеки в Ñъщата [lightgray]локална мрежа или WiFi[] би трÑбвало да види Ñървъра в ÑпиÑъка ÑÑŠÑ Ñървъри.\n\nЗа да могат хора извън локалната мрежата да Ñе Ñвържат по IP е необходимо [accent]пренаÑочване на порто (port forwarding)[].\n\n[lightgray]Бележка: Ðко нÑкой има проблеми при Ñвързване към вашата локална (LAN) игра, проверете дали Ñте позволили доÑтъп на Mindustry до локалната мрежа в наÑтройките на защитната Ñтена (firewall). ÐÑкои публични мрежи не позволÑват Ñървърите в Ñ‚ÑÑ… да бъдат автоматично открити от оÑтаналите играчи. +join.info = Тук можете да въведете [accent]IP Ð°Ð´Ñ€ÐµÑ Ð½Ð° Ñървър[] за да Ñе Ñвържете или да Ñе приÑъедините към автоматично намерен Ñървър във вашата [accent]локална мрежа[] или [accent]публичен[] Ñървър.\nПоддържат Ñе LAN и WAN мрежови игри.\n\n[lightgray]Ðко иÑкате да Ñе Ñвържете по IP ще трÑбва първо да поиÑкате IP на ÑобÑтвеника на Ñървъра, което той може да намери като напише "my ip" в Google от ÑвоÑта мрежа. +hostserver = Стартирай Мрежова Игра +invitefriends = Покани ПриÑтели +hostserver.mobile = Организиране на игра +host = Отвори за Локалната Мрежа +hosting = [accent]ОтварÑне на Ñървър... +hosts.refresh = Обнови +hosts.discovering = ТърÑене на LAN Ñървъри +hosts.discovering.any = ТръÑене на Ñървъри +server.refreshing = ОбновÑване на Ñървър +hosts.none = [lightgray]ÐÑма намерени локални Ñървъри! +host.invalid = [scarlet]Ðе може да Ñе уÑтанови връзка ÑÑŠÑ Ñървъра. + +servers.local = Локални Сървъри +servers.local.steam = Отворени игри и локални Ñървъри +servers.remote = Отдалечени Сървъри +servers.global = Публични Сървъри + +servers.disclaimer = Публичните Ñървъри [accent]не[] Ñа притежавани от разработчика.\n\nТе може да имат потребителÑко Ñъдържание неподходÑщо за вÑички възраÑти. +servers.showhidden = Покажи Скритите Сървъри +server.shown = Показан +server.hidden = Скрит +viewplayer = Гледате играч: [accent]{0} + +trace = ПроÑледи Играч +trace.playername = Име на играча: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Език: [accent]{0} +trace.mobile = Мобилен Клиент: [accent]{0} +trace.modclient = Модифициран Клиент: [accent]{0} +trace.times.joined = Пъти учаÑтвал в игра: [accent]{0} +trace.times.kicked = Пъти изхвърлен от игра: [accent]{0} +trace.ips = IPs: +trace.names = Имена: +invalidid = Ðевалидно ID на клиент. Съобщете за грешка. +player.ban = Банване +player.kick = Изгонване +player.trace = ПроÑледÑване +player.admin = Превключване на админ +player.team = ПромÑна на отбора +server.bans = Банове +server.bans.none = ÐÑма намерени баннати играчи! +server.admins = ÐдминиÑтратори +server.admins.none = ÐÑма намерени админиÑтратори! +server.add = Добави Сървър +server.delete = Сигурни ли Ñте, че иÑкате да изтриете този Ñървър? +server.edit = Редактирай Сървър +server.outdated = [scarlet]ОÑтарÑл Сървър![] +server.outdated.client = [scarlet]ОÑтарÑл Клиент![] +server.version = [gray]в{0} {1} +server.custombuild = [accent]ПерÑонализирана ÐºÐ¾Ð¼Ð¿Ð¸Ð»Ð°Ñ†Ð¸Ñ +confirmban = Сигурни ли Ñте, че иÑкате да баннете "{0}[white]"? +confirmkick = Сигурни ли Ñте, че иÑкате да изгоните "{0}[white]"? +confirmunban = Сигурни ли Ñте че, иÑкате да анулирате банването на този играч? +confirmadmin = Сигурни ли Ñте че, иÑкате да направите "{0}[white]" админиÑтратор? +confirmunadmin = Сигурни ли Ñте че, иÑкате да премахнете админиÑтраторÑките права на "{0}[white]"? +votekick.reason = Причина за изгонване +votekick.reason.message = Сигурни ли Ñте, че иÑкате да глаÑуване за изгонване "{0}[white]"?\nÐко отговорът е да, поÑочете причината: +joingame.title = ПриÑъединÑване в игра +joingame.ip = IP адреÑ: +disconnect = Връзката беше прекъÑната. +disconnect.error = Проблем Ñ Ð²Ñ€ÑŠÐ·ÐºÐ°Ñ‚Ð°. +disconnect.closed = Връзката приключи. +disconnect.timeout = Загубена връзка. +disconnect.data = Грешка при зареждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñвета! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. +cantconnect = ÐеуÑпех при Ñвързване към игра ([accent]{0}[]). +connecting = [accent]Свързване... +reconnecting = [accent]Повторно Ñвързване... +connecting.data = [accent]Зареждане на Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñвета... +server.port = Порт: +server.invalidport = Ðевалиден порт! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [scarlet]Грешка при Ñтартиране на Ñървър. +save.new = Ðов Ð—Ð°Ð¿Ð¸Ñ +save.overwrite = Сигурни ли Ñте, че иÑкате\nда презапишете тази Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð·Ð° запиÑ? +save.nocampaign = Ðе може да импортирате индивидуални запиÑи от кампаниÑта. +overwrite = Презапиши +save.none = Ðе Ñа намерени запиÑи! +savefail = Грешка при запиÑване на игра! +save.delete.confirm = Сигурни ли Ñте, че иÑкате да изтриете този запиÑ? +save.delete = Изтрий +save.export = ИзнеÑи Ð—Ð°Ð¿Ð¸Ñ +save.import.invalid = [accent]Този Ð·Ð°Ð¿Ð¸Ñ Ðµ невалиден! +save.import.fail = [scarlet]Грешка при внаÑÑне на запиÑ: [accent]{0} +save.export.fail = [scarlet]Грешка при изнаÑÑне на запиÑ: [accent]{0} +save.import = ВнеÑи Ð—Ð°Ð¿Ð¸Ñ +save.newslot = Име на запиÑ: +save.rename = Преименувай +save.rename.text = Ðово име: +selectslot = Избери Ð·Ð°Ð¿Ð¸Ñ +slot = [accent]ÐŸÐ¾Ð·Ð¸Ñ†Ð¸Ñ {0} +editmessage = Редактирай Съобщение +save.corrupted = Ðевалиден или увреден запиÑ! +empty = <празно> +on = Включено +off = Изключено +save.search = ТърÑене на запиÑани игри... +save.autosave = Ðвтоматично запиÑване: {0} +save.map = Карта: {0} +save.wave = Вълна {0} +save.mode = Решим на игра: {0} +save.date = ПоÑледно ЗапиÑан: {0} +save.playtime = Играно време: {0} +warning = Тревога. +confirm = Потвърди +delete = Изтрий +view.workshop = Отвори в Работилницата +workshop.listing = Редактирай в Работилницата +ok = OK +open = Отвори +customize = ПерÑонализирай правилата +cancel = Отказ +command = Команда +command.queue = [lightgray][Queuing] +command.mine = Изкопаване +command.repair = Ремонт +command.rebuild = ВъзÑтановÑване +command.assist = Помогни на играч +command.move = Движение +command.boost = УÑкорÑване +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +openlink = Отвори Линк +copylink = Копирай Линк +back = Ðазад +max = МакÑимално +objective = Цел на картата +crash.export = ИзнеÑи Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñрив +crash.none = ÐÑма намерена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñрив. +crash.exported = ИнеÑена Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° Ñрив. +data.export = ИзнеÑи данните на играта +data.import = ВнеÑи данните на играта +data.openfolder = Отвори Ð´Ð¸Ñ€ÐµÐºÑ‚Ð¾Ñ€Ð¸Ñ Ñ Ð´Ð°Ð½Ð½Ð¸ +data.exported = Данните на играта беше изнеÑена. +data.invalid = Това не е валиден файл Ñ Ð´Ð°Ð½Ð½Ð¸. +data.import.confirm = ВнаÑÑнето на външен файл Ñ Ð´Ð°Ð½Ð½Ð¸ ще унищожи [scarlet]вÑички[] Ваши данни.\n[accent]Това нÑма да може да Ñе възÑтанови![]\n\nСлед като информациÑта Ñе внеÑе, играта ще Ñе затвори. +quit.confirm = Сигурни ли Ñте, че иÑкате да излезете? +loading = [accent]Зареждане... +downloading = [accent]ИзтеглÑне... +saving = [accent]ЗапиÑване... +respawn = [accent][[{0}][] за да Ñе върнете при Ядрото +cancelbuilding = [accent][[{0}][] за да изчиÑтите Ñкицата +selectschematic = [accent][[{0}][] за да изберете+копирате +pausebuilding = [accent][[{0}][] за да отложите Ñтроежа +resumebuilding = [scarlet][[{0}][] за да продължите Ñтроежа +enablebuilding = [scarlet][[{0}][] за да позволите поÑтроÑването +showui = ИнтерфейÑÑŠÑ‚ е Ñкрит.\nÐатиÑнете [accent][[{0}][] за да го покажете. +commandmode.name = [accent]Команден режим +commandmode.nounits = [нÑма единици] +wave = [accent]Вълна {0} +wave.cap = [accent]Вълна {0}/{1} +wave.waiting = [lightgray]Вълна Ñлед {0} +wave.waveInProgress = [lightgray]Ðаближава вълна от врагове +waiting = [lightgray]Изчакване... +waiting.players = Изчакване на играчи... +wave.enemies = [lightgray]{0} ОÑтаващи врагове +wave.enemycores = [accent]{0}[lightgray] ВражеÑки Ядра +wave.enemycore = [accent]{0}[lightgray] ВражеÑко Ядро +wave.enemy = [lightgray]{0} ОÑтаващи врагове +wave.guardianwarn = ПазителÑÑ‚ приÑтига Ñлед [accent]{0}[] вълни. +wave.guardianwarn.one = ПазителÑÑ‚ приÑтига Ñлед [accent]{0}[] вълна. +loadimage = Зареди Изображение +saveimage = Запази Изображение +unknown = ÐеизвеÑтно +custom = ПерÑонализирано +builtin = Вградено +map.delete.confirm = Сигурни ли Ñте, че иÑкате да изтриете тази карта? Това дейÑтвие не може да бъде отменено! +map.random = [accent]Случайна Карта +map.nospawn = Тази карта нÑма Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð·Ð° Ñдро на играча! Добавете поне едно {0} Ñдро от редактора на карти. +map.nospawn.pvp = Тази карта нÑма доÑтатъчно позиции за Ñдра на други играчи! Добавете поне едно [scarlet]не-оранжево[] Ñдро от редактора на карти. +map.nospawn.attack = Тази карта нÑма нито едно вражеÑко Ñдро! Добавете поне едно {0} Ñдро от редактора на карти. +map.invalid = Грешка при зареждане на карта: увреден или невалиден файл. +workshop.update = ОбновÑване на елемент +workshop.error = Грешка при изтеглÑне на данни от Работилницата: {0} +map.publish.confirm = Сигурни ли Ñте, че иÑкате да публикувате тази карта?\n\n[lightgray]Уверете Ñе че Ñте приели EULA (УÑÐ»Ð¾Ð²Ð¸Ñ Ð·Ð° използване) на Работилницата, иначе Вашата карта нÑма да Ñе покаже там! +workshop.menu = Изберете какво иÑкате да Ñторите Ñ Ñ‚Ð¾Ð·Ð¸ елемент. +workshop.info = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° елемент +changelog = ИÑÑ‚Ð¾Ñ€Ð¸Ñ Ð½Ð° промените (по избор): +updatedesc = ПрезапиÑване на заглавието и опиÑанието +eula = Steam EULA (УÑÐ»Ð¾Ð²Ð¸Ñ Ð·Ð° използване на Steam) +missing = Този елемент е бил изтрит или премеÑтен.\n[lightgray]Препратката към Работилницата беше автоматично изтрита. +publishing = [accent]Публикуване... +publish.confirm = Сигурни ли Ñте, че иÑкате да публикувате това?\n\n[lightgray]Уверете Ñе че Ñте приели EULA (УÑÐ»Ð¾Ð²Ð¸Ñ Ð·Ð° използване) на Работилницата, иначе ВашиÑÑ‚ елемент нÑма да Ñе показва там! +publish.error = Грешка при публикуване на елемент: {0} +steam.error = Грешка при зареждане на Steam уÑлуги.\nГрешка: {0} +editor.planet = Планета: +editor.sector = Сектор: +editor.seed = Семе: +editor.cliffs = Стени към Ñкали + +editor.brush = Четка +editor.openin = Отвори в редактора +editor.oregen = Генериране на руди +editor.oregen.info = Генериране на руди: +editor.mapinfo = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° картата +editor.author = Ðвтор: +editor.description = ОпиÑание: +editor.nodescription = Картата трÑбва да има опиÑание от поне 4 Ñимвола преди да бъде публикувана. +editor.waves = Вълни: +editor.rules = Правила: +editor.generation = Генериране: +editor.objectives = Задачи +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. + +editor.ingame = Редактирай в игра +editor.playtest = ТеÑтване +editor.publish.workshop = Публикувай в Работилницата +editor.newmap = Ðова Карта +editor.center = Център +editor.search = ТърÑене на карти... +editor.filters = Фелтриране на карти +editor.filters.mode = Режими на игра: +editor.filters.type = Тип карта: +editor.filters.search = ТърÑене в: +editor.filters.author = Ðвтор +editor.filters.description = ОпиÑание +editor.shiftx = Shift X +editor.shifty = Shift Y +workshop = Работилница +waves.title = Вълни от нападатели +waves.remove = Премахни +waves.every = повтарÑй през +waves.waves = вълна(и) +waves.health = здраве: {0}% +waves.perspawn = на вълна +waves.shields = Ð±Ñ€Ð¾Ð½Ñ Ð½Ð° вълна +waves.to = до +waves.spawn = пуÑкане: +waves.spawn.all = +waves.spawn.select = ПуÑкане на единици +waves.spawn.none = [scarlet]нÑма открити единици на картата +waves.max = макÑ. единици +waves.guardian = Пазител +waves.preview = Преглед +waves.edit = Редактирай... +waves.random = Случаен брой +waves.copy = Кобирай в Клипборд +waves.load = Зареди от Клипборда +waves.invalid = Клипборда Ñъдържа невалидна Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° вълни. +waves.copied = Вълните бÑха копирани. +waves.none = ÐÑма дефинирани врагове.\nÐко оÑтавите опиÑанието на вълните празно играта ще използва ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½. +waves.sort = Сортиране чрез +waves.sort.reverse = Обратно Ñортиране +waves.sort.begin = Ðачало +waves.sort.health = Здраве +waves.sort.type = Вид +waves.search = ТърÑене на вълни... +waves.filter = Филтър за единици +waves.units.hide = Скриване на вÑички +waves.units.show = Показване на вÑички + +#these are intentionally in lower case / тези умишлено Ñа оÑтавени без главни букви +wavemode.counts = бройки +wavemode.totals = общи бройки +wavemode.health = точки живот +all = All + +editor.default = [lightgray]<Стандартно> +details = Детайли... +edit = Редактирай... +variables = Променливи +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables + +editor.name = Име: +editor.spawn = Създай единица +editor.removeunit = Премахни единица +editor.teams = Отбори +editor.errorload = Грешка при зареждане на файл. +editor.errorsave = Грешка при запиÑване на файл. +editor.errorimage = Това е изображение, а не карта. +editor.errorlegacy = Тази карта е твърде Ñтара, играта вече не поддържа този формат. +editor.errornot = Този файл не е карта. +editor.errorheader = Този файл Ñ ÐºÐ°Ñ€Ñ‚Ð° е повреден или невалиден. +editor.errorname = Картата нÑма зададено име. Да не Ñе опитвате да заредите игра? +editor.errorlocales = Error reading invalid locale bundles. +editor.update = Обнови +editor.randomize = Случайно +editor.moveup = Придвижи нагоре +editor.movedown = Придвижи надолу +editor.copy = Копирай +editor.apply = Приложи +editor.generate = Генерирай +editor.sectorgenerate = Генериране на Ñектор +editor.resize = Смени размера +editor.loadmap = Зареди Карта +editor.savemap = Запиши Карта +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? +editor.saved = ЗапиÑано! +editor.save.noname = Картата нÑма име! Задайте такова в 'Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° картата' от менюто. +editor.save.overwrite = СъщеÑтвува Ñтандартна карта Ñ Ñ‚Ð°ÐºÐ¾Ð²Ð° име! Изберете различно име от 'Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° картата' от менюто. +editor.import.exists = [scarlet]ÐеуÑпешно внаÑÑне:[] СъщеÑтвува ÑиÑтемна карта ÑÑŠÑ Ñъщото име - '{0}'! +editor.import = ВнаÑÑне... +editor.importmap = Използване на друга карта +editor.importmap.description = Работи върху копие на карта +editor.importfile = ВнеÑи файл +editor.importfile.description = Използвай карта от файл +editor.importimage = ВнаÑÑне от изображение +editor.importimage.description = ВнеÑи от файл Ñ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ на терена +editor.export = ИзнеÑи... +editor.exportfile = ИзнеÑи Файл +editor.exportfile.description = ИзнеÑи като файл Ñ ÐºÐ°Ñ€Ñ‚Ð° +editor.exportimage = ИзнеÑи Изображение +editor.exportimage.description = ИзнаÑÑ Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ, което Ñъдържа Ñамо оÑновната Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° терена +editor.loadimage = Зареди Терен +editor.saveimage = ИзнеÑи Терен +editor.unsaved = Сигурни ли Ñте, че иÑкате да излезете?\n[scarlet]Ð’Ñички незапиÑани промени ще бъдат загубени. +editor.resizemap = Преоразмери картата +editor.mapname = Име на картата: +editor.overwrite = [accent]Ð’ÐИМÐÐИЕ!\nТази карта презапиÑва друга карта. +editor.overwrite.confirm = [scarlet]Ð’ÐИМÐÐИЕ![] Вече ÑъщеÑтвува карта Ñ Ñ‚Ð¾Ð²Ð° име. Ðко продължите, ще запишете тази на нейно мÑÑто. Желаете ли да продължите?\n"[accent]{0}[]" +editor.exists = Вече ÑъщеÑтвува карта Ñ Ñ‚Ð¾Ð²Ð° име. +editor.selectmap = Изберете карта, коÑто да заредите: + +toolmode.replace = ЗамеÑтване +toolmode.replace.description = РиÑува Ñамо върху твърди блокчета. +toolmode.replaceall = ЗамеÑти вÑички +toolmode.replaceall.description = ЗамеÑтва вÑички блокчета на картата +toolmode.orthogonal = Ортогоналнo +toolmode.orthogonal.description = РиÑува Ñамо хоризонтални или вертикални линии. +toolmode.square = Квадрат +toolmode.square.description = Квадратна четка. +toolmode.eraseores = Изтриване на руди +toolmode.eraseores.description = Изтрива Ñамо руди. +toolmode.fillteams = Запълване в отбори +toolmode.fillteams.description = ÐŸÑ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ñ‚Ð±Ð¾Ñ€Ð°, не типа на обектите, чрез запълване +toolmode.fillerase = Изпълващо изтриване +toolmode.fillerase.description = Изтрива блокчета от ÑъщиÑÑ‚ вид. +toolmode.drawteams = РиÑуване в отбори +toolmode.drawteams.description = ÐŸÑ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ñ‚Ð±Ð¾Ñ€Ð°, не типа на обектите, чрез риÑуване. +toolmode.underliquid = Под течноÑти +toolmode.underliquid.description = РиÑува повърхноÑти под течни полета. + +filters.empty = [lightgray]ÐÑма избран филтър! Изберете чрез бутона отдолу. +filter.distort = ИзкривÑване +filter.noise = Шум +filter.enemyspawn = Избор на вражеÑка начална точка +filter.spawnpath = Път до начална точка +filter.corespawn = Избор на Ñдро +filter.median = Медиана +filter.oremedian = Рудна медиана +filter.blend = СмеÑване +filter.defaultores = Стандартни руди +filter.ore = Руда +filter.rivernoise = Реки +filter.mirror = Огледално +filter.clear = ИзчиÑти +filter.option.ignore = Игнорирай +filter.scatter = РазпръÑкване +filter.terrain = Терен +filter.logic = Logic +filter.option.scale = Мащаб +filter.option.chance = ВероÑтноÑÑ‚ +filter.option.mag = Магнитут +filter.option.threshold = Праг +filter.option.circle-scale = Кръгово мащабиране +filter.option.octaves = Октави +filter.option.falloff = Разпадане +filter.option.angle = Ъгъл +filter.option.tilt = Ðаклон +filter.option.rotate = Завърти +filter.option.amount = КоличеÑтво +filter.option.block = Блок +filter.option.floor = Под +filter.option.flooronto = Целеви под +filter.option.target = Цел +filter.option.replacement = ЗамеÑтване +filter.option.wall = Стена +filter.option.ore = Руда +filter.option.floor2 = Втори под +filter.option.threshold2 = Втори праг +filter.option.radius = Ð Ð°Ð´Ð¸ÑƒÑ +filter.option.percentile = Процент +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon + +width = Дължина: +height = ВиÑочина: +menu = Меню +play = Игра +campaign = ÐšÐ°Ð¼Ð¿Ð°Ð½Ð¸Ñ +load = Зареди +save = Запиши +fps = FPS: {0} +ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = РеÑтартирайте играта, за да промените езика. +settings = ÐаÑтройки +tutorial = Обучение +tutorial.retake = Повтори обучението +editor = Редактор +mapeditor = Редактор на карти + +abandon = ИзоÑтавÑне +abandon.text = Тази зона и вÑичките Ñ Ñ€ÐµÑурÑи ще бъдат оÑтавени на врага. +locked = Заключено +complete = [lightgray]Завършено: +requirement.wave = Стигнете вълна {0} в {1} +requirement.core = Унищожете вражеÑкото Ñдро в {0} +requirement.research = Проучете {0} +requirement.produce = Произведете {0} +requirement.capture = Превземете {0} +requirement.onplanet = Контролирайте Ñектор на {0} +requirement.onsector = Кацнете върху Ñектор: {0} +launch.text = ИзÑтрелÑй +map.multiplayer = Само домакинът може да преглежда Ñекторите. +uncover = Разкрий +configure = Избор на екипировка +objective.research.name = Проучване +objective.produce.name = Събиране +objective.item.name = Ðамиране на предмет +objective.coreitem.name = Ключов предмет +objective.buildcount.name = Брой Ñтроежи +objective.unitcount.name = Брой единици +objective.destroyunits.name = Унищожете единици +objective.timer.name = Таймер +objective.destroyblock.name = Унищожете блок +objective.destroyblocks.name = Унищожете блокове +objective.destroycore.name = Унищожете Ñдро +objective.commandmode.name = Команден режим +objective.flag.name = ПоÑтавете флаг +marker.shapetext.name = ОформÑне на текÑÑ‚ +marker.point.name = Point +marker.shape.name = Форма +marker.text.name = ТекÑÑ‚ +marker.line.name = Ð›Ð¸Ð½Ð¸Ñ +marker.quad.name = Квадрат +marker.texture.name = ТекÑтура +marker.background = Фон +marker.outline = Рамка +objective.research = [accent]Проучете:\n[]{0}[lightgray]{1} +objective.produce = [accent]Добийте:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Унищожете:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Унищожете: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Придобийте: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]ПренеÑете в Ñдро:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]ПоÑтроете: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]ПоÑтройте единица: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Унищожете: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Враговете наближават Ñлед [lightgray]{0}[] +objective.enemyescelating = [accent]ВражеÑката Ð¿Ñ€Ð¾Ð´ÑƒÐºÑ†Ð¸Ñ Ñе увеличава Ñлед [lightgray]{0}[] +objective.enemyairunits = [accent]ВражеÑкото производÑтво на въздушни Ñили започва Ñлед [lightgray]{0}[] +objective.destroycore = [accent]Унищожете вражеÑко Ñдро +objective.command = [accent]Командвайте единици +objective.nuclearlaunch = [accent]âš  ЗаÑечен е Ñдрен изÑтрел: [lightgray]{0} +announce.nuclearstrike = [red]âš  ЯДРЕРУДÐР ÐÐБЛИЖÐÐ’Ð âš  + +loadout = Екипировка +resources = РеÑурÑи +resources.max = МакÑ. +bannedblocks = Забранени блокове +unbannedblocks = Unbanned Blocks +objectives = Задачи +bannedunits = Забранени единици +unbannedunits = Unbanned Units +bannedunits.whitelist = Забранени единици в бÑл ÑпиÑък +bannedblocks.whitelist = Забранени блокчета в бÑл ÑпиÑък +addall = Добави вÑички +launch.from = ИзÑтрелÑй от: [accent]{0} +launch.capacity = Капацитет на преноÑими предмети: [accent]{0} +launch.destination = Цел: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = КоличеÑтвото трÑбва да е между 0 и {0}. +add = Добави... +guardian = Пазител + +connectfail = [scarlet]Грешка при Ñвързване:\n\n[accent]{0} +error.unreachable = Сървърът е недоÑтъпен.\nТова ли е правилниÑÑ‚ адреÑ? +error.invalidaddress = Ðевалиден адреÑ. +error.timedout = Времето за изчакване изтече!\nУверете Ñе, че адреÑÑŠÑ‚ е правилен и, че ÑобÑтвеникът е пренаÑочил правилно порта на играта! +error.mismatch = Грешка в пакетите:\nВероÑтно е разминаване на верÑиите между клиента и Ñървъра.\nУверете Ñе, че те използват поÑледната верÑÐ¸Ñ Ð½Ð° Mindustry! +error.alreadyconnected = Вече Ñте Ñвързани. +error.mapnotfound = Ðе е намерен файл Ñ ÐºÐ°Ñ€Ñ‚Ð°! +error.io = Мрежова I/O грешка. +error.any = ÐеизвеÑтна мрежова грешка. +error.bloom = ÐеуÑпешно инициализиране на СиÑниÑ.\nВашето уÑтройÑтво може да не поддържа този ефект. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. + +weather.rain.name = Дъжд +weather.snowing.name = Snow +weather.sandstorm.name = ПÑÑъчна Ð±ÑƒÑ€Ñ +weather.sporestorm.name = Спорова Ð±ÑƒÑ€Ñ +weather.fog.name = Мъгла +campaign.playtime = \uf129 [lightgray]Време в този Ñектор: {0} +campaign.complete = [accent]ПоздравлениÑ.\n\nВрагът на {0} е надвит.\n[lightgray]ПоÑледниÑÑ‚ Ñектор е завладÑн. +sectorlist = Сектори +sectorlist.attacked = {0} е в опаÑноÑÑ‚ + +sectors.unexplored = [lightgray]ÐеизÑледвано +sectors.resources = РеÑурÑи: +sectors.production = ПроизводÑтво: +sectors.export = ИзнеÑи: +sectors.import = ВнеÑи: +sectors.time = Време: +sectors.threat = Заплаха: +sectors.wave = Вълна: +sectors.stored = Съхранени: +sectors.resume = Продължи +sectors.launch = ИзÑтрелÑй +sectors.select = Избери +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]нÑма (Слънцето) +sectors.redirect = Redirect Launch Pads +sectors.rename = Преименувай Зоната +sectors.enemybase = [scarlet]ВражеÑка база +sectors.vulnerable = [scarlet]УÑзвима +sectors.underattack = [scarlet]Под атака! [accent]{0}% повредена +sectors.underattack.nodamage = [scarlet]ÐезавладÑно +sectors.survives = [accent]ОцелÑва {0} вълни +sectors.go = ПоÑети +sector.abandon = ИзоÑтавÑне +sector.abandon.confirm = Ядрото(-та) в този Ñектор ще Ñе Ñамоунищожат.\nПродължаване? +sector.curcapture = Зоната е превзета +sector.curlost = Зоната е изгубена +sector.missingresources = [scarlet]ÐедоÑтатъчно реÑурÑи в Ñдрото +sector.attacked = Зона [accent]{0}[white] е под атака! +sector.lost = Зона [accent]{0}[white] беше загубена! +sector.capture = Sector [accent]{0}[white] Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Промени икона +sector.noswitch.title = Ðевъзможно е превключването на Ñектори +sector.noswitch = Ðе можете да Ñмените Ñекторите, докато вече ÑъщеÑтвуващ Ñектор е под нападение.\nСектор: [accent]{0}[] на [accent]{1}[] +sector.view = Виж Ñектор + +threat.low = ÐиÑка +threat.medium = Средна +threat.high = ВиÑока +threat.extreme = ЕкÑтремна +threat.eradication = Унищожителна +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + +planets = Планети + +planet.serpulo.name = Серпуло +planet.erekir.name = Ерекир +planet.sun.name = Слънце + +sector.impact0078.name = СблъÑък 0078 +sector.groundZero.name = Епицентър +sector.craters.name = Кратерите +sector.frozenForest.name = Замръзнала гора +sector.ruinousShores.name = Брегови руини +sector.stainedMountains.name = Зацапаните планини +sector.desolateRift.name = ОпуÑÑ‚Ñл разрив +sector.nuclearComplex.name = Ядрено-производÑтвен ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ +sector.overgrowth.name = СвръхраÑтеж +sector.tarFields.name = Катранените полета +sector.saltFlats.name = Солените равнини +sector.fungalPass.name = ГъбениÑÑ‚ пролом +sector.biomassFacility.name = БиоÑинтезиращо Съоръжение +sector.windsweptIslands.name = Ветровитите оÑтрови +sector.extractionOutpost.name = Добивен лагер +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Терминал за коÑмичеÑки миÑии +sector.coastline.name = Крайбрежие +sector.navalFortress.name = КрайморÑка крепоÑÑ‚ +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier + +sector.groundZero.description = Перфектното мÑÑто за започване отначало. ÐиÑка заплаха. Малко реÑурÑи.\nСъберете колкото Ñе може повече мед и олово.\nПродължете напред. +sector.frozenForest.description = Дори тук, близо до планините, Ñпорите Ñа Ñе разпроÑтранили. Мразовитите температури не могат да ги задържат вечно.\n\nОвладейте електричеÑтвото. ПоÑтройте горивни генератори. Ðаучете Ñе да ползвате възÑтановители. +sector.saltFlats.description = Ðа покрайнините на пуÑтинÑта лежат Солените равнини. ÐÑма много реÑурÑи на това мÑÑто.\n\nВрагът е издигнал ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð·Ð° Ñъхранение на реÑурÑи тук. Изкоренете Ñдрото му. Сравнете вÑичко ÑÑŠÑ Ð·ÐµÐ¼Ñта. +sector.craters.description = Ð’ този кратер Ñе е Ñъбрала вода, Ñпомен от забравени войни. ВъзÑтановете региона. Съберете пÑÑък. Помиришете метаÑтъклото. Използвайте вода за да охлаждате вашите Ð¾Ñ€ÑŠÐ´Ð¸Ñ Ð¸ Ñвредели. +sector.ruinousShores.description = Сред отпадъците е и бреговата линиÑ. ÐÑкога тук е ÑтоÑла бреговата защитна линиÑ. ÐÑма много Ñледи от неÑ. ОÑтанали Ñа Ñамо нÑкои елементарни защитни механизми, вÑичко оÑтанало е Ñведено до Ñкрап.\nПродължете разширÑването навън. Преоткрийте технологиÑта. +sector.stainedMountains.description = По-навътре в континента Ñе намират планините, вÑе още незамърÑени от Ñпорите.\nИзвлечете изоÑтавениÑÑ‚ титан в тази зона. Ðаучете Ñе да го използвате.\n\nПриÑÑŠÑтвието на врагове тук е по-виÑоко. Ðе им оÑтавÑйте време да изпратÑÑ‚ тежката артилериÑ. +sector.overgrowth.description = Обладана от виÑока раÑтителноÑÑ‚, тази зона Ñе намира изключително близо до източника на Ñпорите. Врагът е уÑтановил военен лагер тук. ПоÑтройте единици модел 'Боздуган' и унищожете вражеÑката база. +sector.tarFields.description = Покрайнините на нефтено находище, намиращо Ñе между планините и пуÑтинÑта. Една от малкото зони Ñ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°ÐµÐ¼Ð¸ резерви на катран.\nМакар и изоÑтавена, близо до тази зона има опаÑни вражеÑки Ñили. Ðе ги подценÑвайте.\n\n[lightgray]Препоръчително е да проучите Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð·Ð° обработка на нефт преди да започнете. + +sector.desolateRift.description = Много опаÑна зона. Изобилие на реÑурÑи, но малко проÑтранÑтво. ВиÑок риÑк от унищожение. ÐапуÑнете възможно най-Ñкоро. Ðе Ñе подлъгвайте от дългите интервали между атаките. +sector.nuclearComplex.description = Бивш ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð·Ð° добив и обработка на торий, от който Ñа оÑтанали Ñамо руини.\n[lightgray]Проучете Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸ многобройните му приложениÑ.\n\nВражеÑкото приÑÑŠÑтвие тук е многобройно и непрекъÑнато внимава за неприÑтели. +sector.fungalPass.description = Преходна зона между виÑоки планини и по-ниÑки, оÑеÑни ÑÑŠÑ Ñпори, земи. Тук врагът е разположил малка разузнавателна база.\nУнищожете Ñ.\nИзползвайте единици модел 'Кинжал' и 'Къртица'. Унищожете двете вражеÑки Ñдра. +sector.biomassFacility.description = Това Ñъоръжение е първоизточникът на Ñпорите. Тук те Ñа били проучвани и Ñъздадени за първи път.\nПроучете технологиите Ñкрити в него. Култивирайте Ñпори, за да произвеждате гориво и плаÑтмаÑа.\n\n[lightgray]След Ñмъртта на Ñъоръжението Ñпорите били оÑвободени. Ðищо в меÑтната екоÑиÑтема не може да Ñъперничи на такъв инвазивен организъм. +sector.windsweptIslands.description = По-нататък край бреговата Ð»Ð¸Ð½Ð¸Ñ Ñе намира тази отдалечена верига от оÑтрови. Според нÑкои запиÑи, тук нÑкога е имало Ñтруктури за производÑтво на [accent]ПлаÑтаний[].\n\nОтблъÑнете вражеÑките морÑки войÑки. ПодÑигурете ÑÐ²Ð¾Ñ Ð±Ð°Ð·Ð° на тези оÑтрови. Проучете тези фабрики. +sector.extractionOutpost.description = Отдалечен аванпоÑÑ‚, където врагът е изÑледвал технологии за пренаÑÑне на реÑурÑи на далечни раÑтоÑниÑ.\n\nТехнологиÑта за транÑпорт на материали между зоните е ключова за бъдещи дейÑтвиÑ. Унищожете вражеÑката база и проучете вражеÑките ИзÑтрелващи площадки. +sector.impact0078.description = Тук лежат оÑтанките от Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð½Ð°Ð²Ð»Ñзал междузвезден транÑпортер в тази ÑиÑтема.\n\nСпаÑете колкото е възможно повече. Проучете вÑÑка непокътната технологиÑ. +sector.planetaryTerminal.description = Крайна цел.\n\nТази крайбрежна база Ñъдържа Ñтруктура, Ñъздадена Ñ Ñ†ÐµÐ» междупланетарен транÑпорт на Ñдра, макар и Ñамо в рамките на локалната звездна ÑиÑтема. Тази Ð»Ð¾ÐºÐ°Ñ†Ð¸Ñ Ð¸Ð¼Ð° изключително виÑока защита.\n\nИзползвайте военноморÑки единици. Елиминирайте врага възможно най-бързо. Проучете изÑтрелващата Ñтруктура. +sector.coastline.description = Ðа това мÑÑто Ñа заÑечени оÑтанките от Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð·Ð° производÑтвото на морÑки единици. ОтблъÑнете вражеÑките атаки, завладейте този Ñектор и приÑвоете технологиÑта. +sector.navalFortress.description = Врагът е уÑтановил база на отдалечен, еÑтеÑтвено укрепен оÑтров. Унищожете базите им. Придобийте напредналата им морÑка Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¸ Ñ Ð¿Ñ€Ð¾ÑƒÑ‡ÐµÑ‚Ðµ. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = Ðачалото +sector.aegis.name = Егида +sector.lake.name = Езеро +sector.intersect.name = ПреÑичане +sector.atlas.name = ÐÑ‚Ð»Ð°Ñ +sector.split.name = Разрив +sector.basin.name = БаÑейн +sector.marsh.name = ТреÑавище +sector.peaks.name = Върхове +sector.ravine.name = КлиÑура +sector.caldera-erekir.name = Калдера +sector.stronghold.name = КрепоÑÑ‚ +sector.crevice.name = Процеп +sector.siege.name = ОбÑада +sector.crossroads.name = КръÑтопът +sector.karst.name = КарÑÑ‚ +sector.origin.name = Произход +sector.onset.description = Започнете овладÑването на Ерекир. Събирайте реÑурÑи, произвеждайте единици и започнете да проучвате технологии. + +sector.aegis.description = Този Ñектор Ñъдържа депозит от волфрам.\nПроучете [accent]ÐŸÑ€Ð¾Ð±Ð¸Ð²Ð½Ð¸Ñ Ñвредел[], за да изкопавате този реÑÑƒÑ€Ñ Ð¸ унищожете вражеÑката база в района. +sector.lake.description = КоличеÑтвото Ñлаг в този Ñектор значително ограничава подходÑщите единици. ЕдинÑтвено летците Ñа възможни.\nПроучете [accent]Фабриката за кораби[] и произведете тази [accent]гъвкава[] единица Ñ‡Ð°Ñ Ð¿Ð¾-Ñкоро. +sector.intersect.description = Сканирането разкрива, че този Ñектор ще бъде нападнат от нÑколко Ñтрани веднага щом кацнете.\nРазположете защитите Ñи и Ñе разгърнете колкото Ñе може по-бързо.\nЩе Ñа Ви нужни [accent]Механизиране[] единици за Ñ‚ÑƒÐºÐ°ÑˆÐ½Ð¸Ñ Ñуров терен. +sector.atlas.description = Този Ñектор има разнообразен терен и ще Ñа Ви нужни различни единици, за да атакувате ефективно.\nМоже да Ñа Ви необходими подобрени единици, за да преодолеете нÑкои от по-могъщите заÑечени бази на врага.\nПроучете [accent]Електролизатора[] и [accent]Фабриката за танкове[]. +sector.split.description = Този Ñектор има минимално вражеÑко приÑÑŠÑтвие и е идеален за изпробване на новата транÑпортна технологиÑ. +sector.basin.description = Ð’ този Ñектор е заÑечено огромно вражеÑко приÑÑŠÑтвие.\nБързо направете единиците Ñи и завладейте вражеÑките Ñдра, за да затвърдите приÑÑŠÑтвието Ñи. +sector.marsh.description = Този Ñектор изобилÑтва от аркицит, но нÑма много шахти.\nИзградете [accent]Камери за химичеÑко горене[], за да добивате електричеÑтво. +sector.peaks.description = ПланинÑкиÑÑ‚ терен в този Ñектор прави повечето единици безполезни. Ще Ñа Ви нужни летци.\nВнимавайте за вражеÑки противовъздушни инÑталации. Възможно е да обезоръжите нÑкои от Ñ‚ÑÑ…, ако Ñе наÑочите към поддържащите им Ñгради. +sector.ravine.description = Ð’ този Ñектор не Ñа заÑечени вражеÑки Ñдра, въпреки че е важен транÑпортен маршрут за Ñ‚ÑÑ…. Очаквайте разнообразие от вражеÑки Ñили.\nПроизведете [accent]импулÑна Ñплав[]. Издигнете [accent]Мъчителни[] оръдиÑ. +sector.caldera-erekir.description = РеÑурÑите заÑечени в тази зона Ñа разпръÑнати из нÑколко оÑтрова.\nПроучете и поÑтавете дронове за транÑпорт. +sector.stronghold.description = ГолемиÑÑ‚ вражеÑки лагер в тази зона предпазва значителни залежи от [accent]торий[].\nИзползвайте го, за да произведете по-виÑоко ниво единици и оръдиÑ. +sector.crevice.description = Врагът ще изпрати Ñвирепи нападатели, за да унищожат базата Ви в този Ñектор.\nИзключително необходимо е да проучите [accent]карбид[] и [accent]Пиролизен генератор[], за да оцелеете. +sector.siege.description = Ð’ този Ñектор има два паралелни каньона, които ще Ви тлаÑнат в борба на два фронта.\nПроучете [accent]цианоген[], за да получите възможноÑтта да Ñъздавате още по-мощни танкове.\nВнимание: заÑечени Ñа вражеÑки далекобойни ракети. Възможно е да Ñвалите ракетите, преди да Ви ударÑÑ‚. +sector.crossroads.description = ВражеÑките бази в този Ñектор Ñа изградени върху различни терени. Използвайте разнообразие от единици, за да Ñе Ñправите.\nОÑвен това нÑкои бази Ñе пазÑÑ‚ Ñ Ñ‰Ð¸Ñ‚Ð¾Ð²Ðµ. ТрÑбва да разберете откъде идва мощноÑтта им. +sector.karst.description = Този Ñектор е богат на реÑурÑи, но вероÑтно ще бъдете нападнат от врага веднага щом Ñдрото Ви кацне.\nВъзползвайте Ñе от реÑурÑите и проучете [accent]фазова тъкан[]. +sector.origin.description = ПоÑледниÑÑ‚ Ñектор ÑÑŠÑ Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÐµÐ»Ð½Ð¾ вражеÑко приÑÑŠÑтвие.\nÐищо значимо не Ви оÑтава за проучване - ÑÑŠÑредоточете Ñе върху унищожаването на вражеÑките Ñдра. + +status.burning.name = Ð˜Ð·Ð³Ð°Ñ€Ñ +status.freezing.name = Замразен +status.wet.name = Мокър +status.muddy.name = Кален +status.melting.name = РазтопÑван +status.sapped.name = Източван +status.electrified.name = Ðаелектризиран +status.spore-slowed.name = ОбраÑъл в Ñпори (забавен) +status.tarred.name = ОблÑн в катран +status.overdrive.name = СвръхÑкороÑÑ‚ +status.overclock.name = УÑкорен +status.shocked.name = Зашеметен +status.blasted.name = ВзривоопаÑен +status.unmoving.name = Ðеподвижен +status.boss.name = Пазител + +settings.language = Език +settings.data = Данни на играта +settings.reset = Върни към Ñтандартните наÑтройки +settings.rebind = Смени +settings.resetKey = Ðулирай +settings.controls = Управление +settings.game = Игра +settings.sound = Звук +settings.graphics = Графики +settings.cleardata = ИзчиÑти данните на играта... +settings.clear.confirm = Сигурни ли Ñте, че иÑкате да изтриете данните на играта?\nСтореното не може да бъде отменено! +settings.clearall.confirm = [scarlet]Внимание![]\nТова ще изчиÑти вÑички данни за играта, включително запазени игри, карти, отключени елементи и наÑтройки на клавишите.\nÐко натиÑнете 'ок' играта ще изчиÑти вÑички данни и автоматично ще Ñе затвори. +settings.clearsaves.confirm = Сигурни ли Ñте, че иÑкате да изтриете вÑичките Ñи запазени игри? +settings.clearsaves = ИзчиÑти запазените игри +settings.clearresearch = ИзчиÑти проучваниÑта +settings.clearresearch.confirm = Сигурни ли Ñте, че иÑкате да изчиÑтите вÑичките Ñи Ð¿Ñ€Ð¾ÑƒÑ‡Ð²Ð°Ð½Ð¸Ñ Ð¾Ñ‚ кампаниÑта? +settings.clearcampaignsaves = ИзчиÑти запазените игри в кампаниÑта +settings.clearcampaignsaves.confirm = Сигурни ли Ñте, че иÑкате да изтриете вÑичките Ñи запиÑи от кампаниÑта? +paused = [accent]< Играта е в пауза > +clear = ИзчиÑти +banned = [scarlet]Баннат +unsupported.environment = [scarlet]Ðеподдържана Ñреда +yes = Да +no = Ðе +info.title = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ +error.title = [scarlet]Възникна грешка +error.crashtitle = Възникна грешка +unit.nobuild = [scarlet]Единицата не може да Ñтрои +lastaccessed = [lightgray]ПоÑледно доÑтъпван: {0} +lastcommanded = [lightgray]ПоÑледно командван: {0} +block.unknown = [lightgray]??? +stat.showinmap = <заредете карта, за да Ñе покаже> + +stat.description = Предназначение +stat.input = Вход +stat.output = Изход +stat.maxefficiency = МакÑ. ефикаÑноÑÑ‚ +stat.booster = Двигатели +stat.tiles = Ðеобходим терен +stat.affinities = Ðфинитети +stat.opposites = ПротивоположноÑти +stat.powercapacity = ЕлектричеÑки капацитет +stat.powershot = ЕлектроенергиÑ/ИзÑтрел +stat.damage = Щети +stat.targetsair = Ðапада по въздух +stat.targetsground = Ðапада по Ð·ÐµÐ¼Ñ +stat.itemsmoved = СкороÑÑ‚ на движение +stat.launchtime = Време между изÑтрелваниÑта +stat.shootrange = Обхват +stat.size = Размер +stat.displaysize = Размер на екрана +stat.liquidcapacity = Капацитет на течноÑти +stat.powerrange = Обхват на електроенергиÑта +stat.linkrange = Обхват на връзката +stat.instructions = ИнÑтрукции +stat.powerconnections = МакÑимален брой връзки +stat.poweruse = КонÑÑƒÐ¼Ð°Ñ†Ð¸Ñ Ð½Ð° ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ð¸Ñ +stat.powerdamage = Електро-енергиÑ/Щета +stat.itemcapacity = РеÑурÑен капацитет +stat.memorycapacity = Капацитет на паметта +stat.basepowergeneration = ОÑновно производÑтво на ÐµÐ½ÐµÑ€Ð³Ð¸Ñ +stat.productiontime = Време за производÑтво +stat.repairtime = Време за пълна поправка на блок +stat.repairspeed = СкороÑÑ‚ на поправÑне +stat.weapons = ÐžÑ€ÑŠÐ¶Ð¸Ñ +stat.bullet = Муниции +stat.moduletier = Ðиво на модул +stat.unittype = Вид единица +stat.speedincrease = УÑкорение +stat.range = Обхват +stat.drilltier = Изкопаеми реÑурÑи +stat.drillspeed = ОÑновна ÑкороÑÑ‚ на Ñвредлото +stat.boosteffect = Ефект на уÑилване +stat.maxunits = МакÑимални активни единици +stat.health = Точки живот +stat.armor = Ð‘Ñ€Ð¾Ð½Ñ +stat.buildtime = Време за поÑтроÑване +stat.maxconsecutive = МакÑимално поÑледователни +stat.buildcost = Разходи за изграждане +stat.inaccuracy = ÐеточноÑÑ‚ +stat.shots = ИзÑтрели +stat.reload = ИзÑтрели/Секунда +stat.ammo = БоеприпаÑи +stat.shieldhealth = Здравина на щита +stat.cooldowntime = Време за охлаждане +stat.explosiveness = ЕкÑплозивноÑÑ‚ +stat.basedeflectchance = Базов ÑˆÐ°Ð½Ñ Ð·Ð° отклонÑване на изÑтрел +stat.lightningchance = ВероÑтноÑÑ‚ за Ñветкавица +stat.lightningdamage = Щети от Ñветкавица +stat.flammability = ВъзпламенимоÑÑ‚ +stat.radioactivity = РадиоактивноÑÑ‚ +stat.charge = ЗарÑд +stat.heatcapacity = Топлинен капацитет +stat.viscosity = ВиÑкозитет (гъÑтота) +stat.temperature = Температура +stat.speed = СкороÑÑ‚ +stat.buildspeed = СкороÑÑ‚ на изграждане +stat.minespeed = СкороÑÑ‚ на добив +stat.minetier = Ðиво на добив +stat.payloadcapacity = Товарен капацитет +stat.abilities = СпоÑобноÑти +stat.canboost = Може да уÑкорÑва +stat.flying = ЛетÑщ +stat.ammouse = Употреба на боеприпаÑи +stat.ammocapacity = Муниции +stat.damagemultiplier = Множител на щети +stat.healthmultiplier = Множител на точки живот +stat.speedmultiplier = Множител на ÑкороÑÑ‚ +stat.reloadmultiplier = Множител на презареждане +stat.buildspeedmultiplier = Множител на ÑкороÑÑ‚ за изграждане +stat.reactive = Реагира +stat.immunities = Имунитет +stat.healing = Лечение +stat.efficiency = [stat]{0}% Efficiency + +ability.forcefield = Енергийно поле +ability.forcefield.description = Проектира Ñилово поле, което поглъща куршуми +ability.repairfield = ВъзÑтановÑващо поле +ability.repairfield.description = ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ð¾ÐºÐ¾Ð»Ð½Ð¸Ñ‚Ðµ единици +ability.statusfield = ПодÑилващо поле +ability.statusfield.description = Има определен ефект върху околните единици +ability.unitspawn = Фабрика +ability.unitspawn.description = Произвежда единици +ability.shieldregenfield = Щитово поле +ability.shieldregenfield.description = ВъзÑтановÑва щитовете на околните единици +ability.movelightning = Подвижна Ñветкавица +ability.movelightning.description = Отприщва Ñветкавици, докато Ñе движи +ability.armorplate = Бронирани плочи +ability.armorplate.description = ÐамалÑва вредата, коÑто единицата претърпÑва, докато ÑÑ‚Ñ€ÐµÐ»Ñ +ability.shieldarc = Щит-дъга +ability.shieldarc.description = Проектира Ñилово поле в дъга, коÑто поглъща куршуми +ability.suppressionfield = ПотиÑкащо поле +ability.suppressionfield.description = Спира поправката на околните Ñгради +ability.energyfield = Енергийно поле +ability.energyfield.description = Ð£Ð´Ñ€Ñ Ñ Ñ‚Ð¾Ðº близките врагове +ability.energyfield.healdescription = Ð£Ð´Ñ€Ñ Ñ Ñ‚Ð¾Ðº близките врагове и лекува приÑтелÑките единици +ability.regen = Ð ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ +ability.regen.description = ВъзÑтановÑва здравето Ñи Ñ Ñ‚ÐµÑ‡ÐµÐ½Ð¸Ðµ на времето +ability.liquidregen = Попивателни ÑвойÑтва +ability.liquidregen.description = Поглъща течноÑÑ‚, за да Ñе лекува +ability.spawndeath = Малък подарък +ability.spawndeath.description = ПуÑка единици, когато загине +ability.liquidexplode = Разливане +ability.liquidexplode.description = Разлива течноÑтта Ñи, когато загине +ability.stat.firingrate = [stat]{0}/в Ñек.[lightgray] ÑкороÑÑ‚ на Ð¾Ð³ÑŠÐ½Ñ +ability.stat.regen = [stat]{0}[lightgray] здраве/Ñек. +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] щит +ability.stat.repairspeed = [stat]{0}/в Ñек.[lightgray] ÑкороÑÑ‚ на поправка +ability.stat.slurpheal = [stat]{0}[lightgray] здраве/количеÑтво течноÑÑ‚ +ability.stat.cooldown = [stat]{0} в Ñек.[lightgray] презареждане +ability.stat.maxtargets = [stat]{0}[lightgray] макÑ. мишени +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] еднакво количеÑтво поправка +ability.stat.damagereduction = [stat]{0}%[lightgray] намалÑване на вредата +ability.stat.minspeed = [stat]{0} полета/в Ñек.[lightgray] мин. ÑкороÑÑ‚ +ability.stat.duration = [stat]{0} в Ñек.[lightgray] продължителноÑÑ‚ +ability.stat.buildtime = [stat]{0} в Ñек.[lightgray] време за Ñтроеж + +bar.onlycoredeposit = ДоÑтавÑнето е разрешено Ñамо до Ñдрото + +bar.drilltierreq = Ðеобходимо е по-добро Ñвредло +bar.nobatterypower = Insufficient Battery Power +bar.noresources = ÐедоÑтатъчно реÑурÑи +bar.corereq = Ðеобходимо е Ñдро за оÑнова +bar.corefloor = Ðеобходимо е поле за Ñдрото +bar.cargounitcap = Капацитета на преноÑвачите е доÑтигнат +bar.drillspeed = СкороÑÑ‚ на Ñвредлото: {0}/Ñек +bar.pumpspeed = СкороÑÑ‚ на помпата: {0}/Ñек +bar.efficiency = ЕфективноÑÑ‚: {0}% +bar.boost = УÑилване: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = ЕлектроенергиÑ: {0}/Ñек +bar.powerstored = Съхранена енергиÑ: {0}/{1} +bar.poweramount = ЕлектроенергиÑ: {0} +bar.poweroutput = Произвеждано електричеÑтво: {0} +bar.powerlines = Връзки: {0}/{1} +bar.items = Предмети: {0} +bar.capacity = Капацитет: {0} +bar.unitcap = {0} {1}/{2} +bar.liquid = ТечноÑÑ‚ +bar.heat = Топлина +bar.cooldown = Cooldown +bar.instability = ÐеÑтабилноÑÑ‚ +bar.heatamount = Горещина: {0} +bar.heatpercent = Горещина: {0} ({1}%) +bar.power = Ð•Ð»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ð¸Ñ +bar.progress = Ðапредък в производÑтвото +bar.loadprogress = Ðапредък +bar.launchcooldown = Презареждане на изÑтрела +bar.input = Вход +bar.output = Изход +bar.strength = [stat]{0}[lightgray]x Ñила + +units.processorcontrol = [lightgray]Контролиран от процеÑор + +bullet.damage = [stat]{0}[lightgray] щети +bullet.splashdamage = [stat]{0}[lightgray] щети на площ ~[stat] {1}[lightgray] полета +bullet.incendiary = [stat]Подпалване +bullet.homing = [stat]СамонаÑочване +bullet.armorpierce = [stat]Пробождане на Ð±Ñ€Ð¾Ð½Ñ +bullet.maxdamagefraction = [stat]{0}%[lightgray] ограничена щета +bullet.suppression = [stat]{0} Ñек[lightgray] възпиране на поправки ~ [stat]{1}[lightgray] плочки +bullet.interval = [stat]{0}/Ñек[lightgray] куршуми в интервал: +bullet.frags = [stat]{0}[lightgray]x фрагменти: +bullet.lightning = [stat]{0}[lightgray]x Ñветкавица ~ [stat]{1}[lightgray] щети +bullet.buildingdamage = [stat]{0}%[lightgray] щети на Ñгради +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] отблъÑкване +bullet.pierce = [stat]{0}[lightgray]x пробождане +bullet.infinitepierce = [stat]пробождане +bullet.healpercent = [stat]{0}[lightgray]% възÑтановÑване +bullet.healamount = [stat]{0}[lightgray] директна поправка +bullet.multiplier = [stat]{0}[lightgray]x множител на боеприпаÑи +bullet.reload = [stat]{0}[lightgray]x ÑкороÑÑ‚ на Ñтрелба +bullet.range = [stat]{0}[lightgray] обхват +bullet.notargetsmissiles = [stat] ignores missiles +bullet.notargetsbuildings = [stat] ignores buildings + +unit.blocks = блокове +unit.blockssquared = блока² +unit.powersecond = електричеÑтво/Ñекунда +unit.tilessecond = полета/Ñекунда +unit.liquidsecond = течноÑÑ‚/Ñекунда +unit.itemssecond = предмети/Ñекунда +unit.liquidunits = течноÑÑ‚ +unit.powerunits = електричеÑтво +unit.heatunits = единици горещина +unit.degrees = градуÑи +unit.seconds = Ñекунди +unit.minutes = минути +unit.persecond = /Ñек +unit.perminute = /мин +unit.timesspeed = x ÑкороÑÑ‚ +unit.multiplier = x +unit.percent = % +unit.shieldhealth = здравина на щита +unit.items = предмети +unit.thousands = хил +unit.millions = млн +unit.billions = млр +unit.shots = shots +unit.pershot = /изÑтрел +category.purpose = Предназначение +category.general = Обща Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ +category.power = ЕлектричеÑтво +category.liquids = ТечноÑти +category.items = Предмети +category.crafting = Вход/Изход +category.function = ФункционалноÑÑ‚ +category.optional = Допълнителни Ð¿Ð¾Ð´Ð¾Ð±Ñ€ÐµÐ½Ð¸Ñ +setting.alwaysmusic.name = Ðека има музика +setting.alwaysmusic.description = Когато тази Ð¾Ð¿Ñ†Ð¸Ñ Ðµ включена, музиката винаги ще продължава.\nИзключите ли опциÑта, музиката ще Ñе задейÑтва през неопределен интервал от време. +setting.skipcoreanimation.name = ПропуÑкане на анимациÑта на Ñдрото при изÑтрел/кацане +setting.landscape.name = Заключване на пейзажа +setting.shadows.name = Сенки +setting.blockreplace.name = Ðвтоматични Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð·Ð° блокове +setting.linear.name = Линейно филтриране +setting.hints.name = Съвети +setting.logichints.name = ЛогичеÑки Ñъвети +setting.backgroundpause.name = Пауза при загуба на Ñ„Ð¾ÐºÑƒÑ +setting.buildautopause.name = Ðвтоматична пауза на изграждането +setting.doubletapmine.name = Двоен клик за добив на реÑÑƒÑ€Ñ +setting.commandmodehold.name = Задържане за команден режим +setting.distinctcontrolgroups.name = Ограничаване на контролните групи за една единица +setting.modcrashdisable.name = Забрани Модовете При Стартиране След Срив +setting.animatedwater.name = Ðнимирани повърхноÑти +setting.animatedshields.name = Ðнимирани щитове +setting.playerindicators.name = Индикатори за играчите +setting.indicators.name = Индикатори за враговете +setting.autotarget.name = Ðвтоматичен прицел +setting.keyboard.name = Управление: мишка/клавиатура +setting.touchscreen.name = Управление: тъчÑкрийн +setting.fpscap.name = МакÑимални FPS +setting.fpscap.none = ÐÑма +setting.fpscap.text = {0} FPS +setting.uiscale.name = Размер на интерфейÑа[lightgray] (изиÑква реÑтарт)[] +setting.uiscale.description = Ðужен е реÑтарт, за да Ñе приложат промените. +setting.swapdiagonal.name = Винаги диагонално поÑтавÑне +setting.screenshake.name = Клатене на екрана +setting.bloomintensity.name = Интензитет на ÑиÑниÑта +setting.bloomblur.name = ЗамъглÑване на ÑиÑние +setting.effects.name = Показвай ефекти +setting.destroyedblocks.name = Показвай унищожени блокове +setting.blockstatus.name = Показвай ÑтатуÑа на блоковете +setting.conveyorpathfinding.name = Ðамиране на валидна пътека при поÑтавÑне на транÑпортери +setting.sensitivity.name = ЧувÑтвителноÑÑ‚ на контролера +setting.saveinterval.name = Време между автоматичен Ð·Ð°Ð¿Ð¸Ñ +setting.seconds = {0} Ñекунди +setting.milliseconds = {0} милиÑекунди +setting.fullscreen.name = ЦÑл екран +setting.borderlesswindow.name = Прозорец без рамка[lightgray] (може да изиÑква реÑтарт) +setting.borderlesswindow.name.windows = ЦÑл екран без рамка +setting.borderlesswindow.description = Може да е нужен реÑтарт, за да Ñе приложат промените. +setting.fps.name = Показвай FPS & пинг +setting.console.name = Включване на конзолата +setting.smoothcamera.name = Гладка камера +setting.vsync.name = Вертикална ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ (VSync) +setting.pixelate.name = ПикÑÐµÐ»Ð¸Ð·Ð°Ñ†Ð¸Ñ +setting.minimap.name = Показвай мини-карта +setting.coreitems.name = Показвай реÑурÑите в Ñдрото +setting.position.name = Показвай позициÑта на играча +setting.mouseposition.name = Показвай позициÑта на мишката +setting.musicvol.name = Сила на звука +setting.atmosphere.name = Показвай атмоÑферата на планетата +setting.drawlight.name = Ðачертаване на мрак/Ñветлина +setting.ambientvol.name = Сила на звука на околната Ñреда +setting.mutemusic.name = Заглуши музиката +setting.sfxvol.name = Сила на звуковите ефекти +setting.mutesound.name = Заглуши звука +setting.crashreport.name = Изпращай анонимни отчети за Ñривове +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Ðвтоматични запиÑи +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Лимит на играчи +setting.chatopacity.name = ПлътноÑÑ‚ на чата +setting.lasersopacity.name = ПлътноÑÑ‚ на енергийните лазери +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = ПлътноÑÑ‚ на моÑтовете +setting.playerchat.name = Показвай балончета за чата +setting.showweather.name = Показвай графики за климата +setting.hidedisplays.name = Скрий логичеÑките екрани +setting.macnotch.name = Ðдаптирайте интерфейÑа за показване на прорез +setting.macnotch.description = За прилагане на промените е необходимо реÑтартиране +steam.friendsonly = Само приÑтели +steam.friendsonly.tooltip = Дали вашите приÑтели от Steam ще могат да Ñе включат в играта ви.\nИзключването на тази Ð¾Ð¿Ñ†Ð¸Ñ Ñ‰Ðµ направи играта Ви публична и вÑеки ще може да Ñе приÑъедини. +public.beta = Имайте в предвид, че бета верÑии на играта не могат да Ñтартират публични игри. +uiscale.reset = Размерът на интерфейÑа беше променен.\nÐатиÑнете "ОК" за да потвърдите този размер.\n[scarlet]ВъзÑтановÑване и реÑтартиране Ñлед[accent] {0}[] Ñекунди... +uiscale.cancel = Отказ и изход +setting.bloom.name = СиÑние +keybind.title = Промени клавишите +keybinds.mobile = [scarlet]Повечето клавиши не Ñа приложими при мобилната верÑиÑ. Поддържат Ñе Ñамо оÑновните движениÑ. +category.general.name = ОÑновни наÑтройки +category.view.name = Изглед +category.command.name = Управление на единици +category.multiplayer.name = Мрежова игра +category.blocks.name = Избор на блок +placement.blockselectkeys = \n[lightgray]Клавиш: [{0}, +keybind.respawn.name = Връщане при Ñдрото +keybind.control.name = УправлÑване на единица +keybind.clear_building.name = ИзчиÑтване на Ñтроежен план +keybind.press = ÐатиÑнете клавиш... +keybind.press.axis = ÐатиÑнете Ð¾Ñ Ð¸Ð»Ð¸ клавиш... +keybind.screenshot.name = Екранна Ñнимка +keybind.toggle_power_lines.name = Показвай/Скрий енергийните лазери +keybind.toggle_block_status.name = Показвай/Скрий Ñтатута на блоковете +keybind.move_x.name = Движение по X +keybind.move_y.name = Движение по Y +keybind.mouse_move.name = Следвай мишката +keybind.pan.name = Панорамен изглед +keybind.boost.name = УÑкорение +keybind.command_mode.name = Команден режим +keybind.command_queue.name = ПоÑледователни заповеди +keybind.create_control_group.name = Създаване на обща група +keybind.cancel_orders.name = ОтменÑне на заповедите +keybind.unit_stance_shoot.name = Поведение: Стрелба +keybind.unit_stance_hold_fire.name = Поведение: Ðе ÑтрелÑй +keybind.unit_stance_pursue_target.name = Поведение: ПреÑледвай целта +keybind.unit_stance_patrol.name = Поведение: Патрул +keybind.unit_stance_ram.name = Поведение: Забий Ñе +keybind.unit_command_move.name = Команда: Движение +keybind.unit_command_repair.name = Команда: Поправка +keybind.unit_command_rebuild.name = Команда: Ремонт +keybind.unit_command_assist.name = Команда: СъдейÑтвие +keybind.unit_command_mine.name = Команда: Копаене +keybind.unit_command_boost.name = Команда: ПодÑилване +keybind.unit_command_load_units.name = Команда: Ðатовари единици +keybind.unit_command_load_blocks.name = Команда: Ðатовари блокове +keybind.unit_command_unload_payload.name = Команда: Разтовари +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = ВъзÑтановÑване на региона +keybind.schematic_select.name = Избери регион +keybind.schematic_menu.name = Меню ÑÑŠÑ Ñхеми +keybind.schematic_flip_x.name = Завърти Ñхема по X +keybind.schematic_flip_y.name = Завърти Ñхема по Y +keybind.category_prev.name = Предишна ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ +keybind.category_next.name = Следваща ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ +keybind.block_select_left.name = Избор на блок: ÐалÑво +keybind.block_select_right.name = Избор на блок: ÐадÑÑно +keybind.block_select_up.name = Избор на блок: Ðагоре +keybind.block_select_down.name = Избор на блок: Ðадолу +keybind.block_select_01.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 1 +keybind.block_select_02.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 2 +keybind.block_select_03.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 3 +keybind.block_select_04.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 4 +keybind.block_select_05.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 5 +keybind.block_select_06.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 6 +keybind.block_select_07.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 7 +keybind.block_select_08.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 8 +keybind.block_select_09.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 9 +keybind.block_select_10.name = Избор на блок: ÐšÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ 10 +keybind.fullscreen.name = Превключи на цÑл екран +keybind.select.name = Избери/Стрелба +keybind.diagonal_placement.name = Диагонално поÑтавÑне +keybind.pick.name = Вземи блок +keybind.break_block.name = Унищожи блок +keybind.select_all_units.name = Избери вÑички единици +keybind.select_all_unit_factories.name = Избиране на вÑички фабрики за единици +keybind.deselect.name = Премахни избора +keybind.pickupCargo.name = Вземи товар +keybind.dropCargo.name = ОÑтави товар +keybind.shoot.name = СтрелÑй +keybind.zoom.name = Увеличи +keybind.menu.name = Меню +keybind.pause.name = Пауза +keybind.pause_building.name = Спри/Продължи Ñтроеж +keybind.minimap.name = Мини-карта +keybind.planet_map.name = ГлобуÑ/Карта на Ñвета +keybind.research.name = ÐŸÑ€Ð¾ÑƒÑ‡Ð²Ð°Ð½Ð¸Ñ +keybind.block_info.name = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° блок +keybind.chat.name = Чат +keybind.player_list.name = СпиÑък Ñ Ð¸Ð³Ñ€Ð°Ñ‡Ð¸ +keybind.console.name = Конзола +keybind.rotate.name = Завърти +keybind.rotateplaced.name = Завърти ÑъщеÑтвуващ блок (задържане) +keybind.toggle_menus.name = Покажи/Скрий менюта +keybind.chat_history_prev.name = Предишно Ñъобщение +keybind.chat_history_next.name = Следващо Ñъобщение +keybind.chat_scroll.name = Превъртане на чата +keybind.chat_mode.name = Смени режим на чат +keybind.drop_unit.name = ОÑтави единица +keybind.zoom_minimap.name = Увеличи мини-карта +mode.help.title = ОпиÑание на режими +mode.survival.name = Survival + +mode.survival.description = ÐормалниÑÑ‚ режим на играта. Ограничени реÑурÑи и автоматични вълни от нападатели.\n[gray]Картата трÑбва да Ñъдържа начална точка за враговете. +mode.sandbox.name = ПÑÑъчник +mode.sandbox.description = Безкрайни реÑурÑи и безкрайно време между вълните от нападатели. +mode.editor.name = Редактор +mode.pvp.name = Играч Ñрещу играч +mode.pvp.description = Играйте Ñрещу други играчи в локалната мрежа.\n[gray]Картата трÑбва да Ñъдържа поне 2 Ñдра в различни цветове. +mode.attack.name = Ðападение +mode.attack.description = Унищожете вражеÑката база. \n[gray]Картата трÑбва да Ñъдържа червено Ñдро. +mode.custom = ПерÑонализирани правила +rules.invaliddata = Ðевалидни данни от клипборда. +rules.hidebannedblocks = Скрий забранените блокове + +rules.infiniteresources = Безкрайни РеÑурÑи +rules.onlydepositcore = Разрешете доÑтавÑне Ñамо в Ñдрото +rules.derelictrepair = Разрешете поправÑнето на изоÑтавени блокове +rules.reactorexplosions = ЕкÑплозивни реактори +rules.coreincinerates = Унищожаване на реÑурÑи при преливане +rules.disableworldprocessors = Изключване на процеÑорите за Ñвета +rules.schematic = Позволена употребата на Ñхеми +rules.wavetimer = Таймер за Вълни +rules.wavesending = Изпращане на вълни +rules.allowedit = Позволи е редактирането на правилата +rules.allowedit.info = Когато включите тази опциÑ, играчът може да Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°Ñ‚Ð° в играта чрез менюто Пауза и копчето в долниÑÑ‚ лÑв ъгъл. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. +rules.waves = Вълни +rules.airUseSpawns = Въздушните единици използват точки за поÑва +rules.attack = Режим атака +rules.buildai = ИИ на ÑтроителÑÑ‚ на бази +rules.buildaitier = Степен на ИИ ÑÑ‚Ñ€Ð¾Ð¸Ñ‚ÐµÐ»Ñ +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Мин. размер на взводовете +rules.rtsmaxsquadsize = МакÑ. размер на взводовете +rules.rtsminattackweight = Мин. атакуваща тежеÑÑ‚ +rules.cleanupdeadteams = ИзчиÑти Ñградите на Ð¿Ð¾Ð±ÐµÐ´ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð±Ð¾Ñ€ (PvP) +rules.corecapture = Завладей Ñдро при унищожение +rules.polygoncoreprotection = Полигонална защита на Ñдрото +rules.placerangecheck = Проверка за обхват при поÑтавÑне +rules.enemyCheat = Безкрайни реÑурÑи за компютъра (ЧервениÑÑ‚ отбор) +rules.blockhealthmultiplier = Множител на точките живот на блокове +rules.blockdamagemultiplier = Множител на щетите на блокове +rules.unitbuildspeedmultiplier = Множител на ÑкороÑтта на производÑтво на единици +rules.unitcostmultiplier = Множител на цената за единици +rules.unithealthmultiplier = Множител на точките живот на единици +rules.unitdamagemultiplier = Множител на щетите на единици +rules.unitcrashdamagemultiplier = Множител на вредата от разбиващи Ñе единици +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Множител на Ñлънчевата ÐµÐ½ÐµÑ€Ð³Ð¸Ñ +rules.unitcapvariable = Ядрата увеличават макÑÐ¸Ð¼Ð°Ð»Ð½Ð¸Ñ Ð±Ñ€Ð¾Ð¹ единици +rules.unitpayloadsexplode = ÐоÑениÑÑ‚ товар екÑплодира Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°Ñ‚Ð° +rules.unitcap = МакÑимален брой единици +rules.limitarea = Ограничаване на картата +rules.enemycorebuildradius = Ð Ð°Ð´Ð¸ÑƒÑ Ð½Ð° защитена от Ñтроене зона около Ñдрата:[lightgray] (полета) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Време между вълните:[lightgray] (Ñекунди) +rules.initialwavespacing = Първоначално разполагане на вълните:[lightgray] (sec) +rules.buildcostmultiplier = Множител на необходимите реÑурÑи за Ñтроеж +rules.buildspeedmultiplier = Множител на ÑкороÑтта на Ñтроене +rules.deconstructrefundmultiplier = Множител на възÑтановени реÑурÑи при деконÑÑ‚Ñ€ÑƒÐºÑ†Ð¸Ñ +rules.waitForWaveToEnd = Вълните изчакват враговете +rules.wavelimit = Картата приключва Ñлед вълна +rules.dropzoneradius = Ð Ð°Ð´Ð¸ÑƒÑ Ð½Ð° начална точка на враговете:[lightgray] (полета) +rules.unitammo = Единиците Ñе нуждаÑÑ‚ от боеприпаÑи +rules.enemyteam = ВражеÑки отбор +rules.playerteam = Отбор на играча + +rules.title.waves = Вълни +rules.title.resourcesbuilding = РеÑурÑи и поÑтройки +rules.title.enemy = Врагове +rules.title.unit = Единици +rules.title.experimental = ЕкÑпериментално +rules.title.environment = Околна Ñреда +rules.title.teams = Отбори +rules.title.planet = Планета +rules.lighting = Светкавици +rules.fog = Мъгла на войната +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Огън +rules.anyenv = +rules.explosions = Блокирай/Единици вреда от екÑÐ¿Ð»Ð¾Ð·Ð¸Ñ +rules.ambientlight = Светлина от околната Ñреда +rules.weather = Климат +rules.weather.frequency = ЧеÑтота: +rules.weather.always = Винаги +rules.weather.duration = ПродължителноÑÑ‚: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Ðе позволÑва на играчите да поÑтавÑÑ‚ нещо в близоÑÑ‚ до вражеÑките Ñгради. Когато Ñе опитват да поÑтавÑÑ‚ оръдие, обхватът е увеличен, за да не може оръдието да доÑтигне врага. +rules.onlydepositcore.info = Ðе позволÑва на единиците да поÑтавÑÑ‚ предмети, в коÑто и да е Ñграда, Ñ Ð¸Ð·ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ðµ на Ñдро. + + +content.item.name = Предмети +content.liquid.name = ТечноÑти +content.unit.name = Единици +content.block.name = Блокове +content.status.name = СтатуÑ-ефекти +content.sector.name = Сектори +content.team.name = Групировки +wallore = (Стена) + +item.copper.name = Мед +item.lead.name = Олово +item.coal.name = Въглища +item.graphite.name = Графит +item.titanium.name = Титан +item.thorium.name = Торий +item.silicon.name = Силикон +item.plastanium.name = ПлаÑтаний +item.phase-fabric.name = Фазова тъкан +item.surge-alloy.name = ИмпулÑна Ñплав +item.spore-pod.name = СгъÑтени Ñпори +item.sand.name = ПÑÑък +item.blast-compound.name = Взривно Ñъединение +item.pyratite.name = Пиратит +item.metaglass.name = Мета-Ñтъкло +item.scrap.name = Скрап +item.fissile-matter.name = ШиÑтена Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ñ +item.beryllium.name = Берилий +item.tungsten.name = Волфрам +item.oxide.name = ОкÑид +item.carbide.name = Карбид +item.dormant-cyst.name = Латентна циÑта +liquid.water.name = Вода +liquid.slag.name = Шлака +liquid.oil.name = Ðефт +liquid.cryofluid.name = КриотечноÑÑ‚ +liquid.neoplasm.name = Ðеоплазма +liquid.arkycite.name = Ðркицид +liquid.gallium.name = Галий +liquid.ozone.name = Озон +liquid.hydrogen.name = Водород +liquid.nitrogen.name = Въглерод +liquid.cyanogen.name = Цианоген + +unit.dagger.name = Кинжал +unit.mace.name = Боздуган +unit.fortress.name = КрепоÑÑ‚ +unit.nova.name = Ðова +unit.pulsar.name = ПулÑар +unit.quasar.name = Квазар +unit.crawler.name = Къртица +unit.atrax.name = ÐÑ‚Ñ€Ð°ÐºÑ +unit.spiroct.name = Спирокт +unit.arkyid.name = Ðркиид +unit.toxopid.name = ТокÑопид +unit.flare.name = Факел +unit.horizon.name = Хоризонт +unit.zenith.name = Зенит +unit.antumbra.name = Ðнтумбра +unit.eclipse.name = Затъмнение +unit.mono.name = Моно +unit.poly.name = Поли +unit.mega.name = Мега +unit.quad.name = Куад +unit.oct.name = Окт +unit.risso.name = РиÑо +unit.minke.name = Минке +unit.bryde.name = Брайд +unit.sei.name = Сей +unit.omura.name = Омура +unit.retusa.name = Ретуза +unit.oxynoe.name = ОкÑиное +unit.cyerce.name = ЦирÑе +unit.aegires.name = Ежир +unit.navanax.name = ÐÐ°Ð²Ð°Ð½Ð°ÐºÑ +unit.alpha.name = Ðлфа +unit.beta.name = Бета +unit.gamma.name = Гама +unit.scepter.name = Скиптър +unit.reign.name = ВлаÑÑ‚ +unit.vela.name = Вела +unit.corvus.name = Гарван +unit.stell.name = Щел +unit.locus.name = РоÑк +unit.precept.name = Правило +unit.vanquish.name = Победа +unit.conquer.name = Завоевание +unit.merui.name = Меруи +unit.cleroi.name = Клерой +unit.anthicus.name = Ðнтик +unit.tecta.name = Текта +unit.collaris.name = ÐšÐ¾Ð»Ð°Ñ€Ð¸Ñ +unit.elude.name = Бегач +unit.avert.name = Отклонение +unit.obviate.name = Заличител +unit.quell.name = Потушение +unit.disrupt.name = Възпиране +unit.evoke.name = Пробуждане +unit.incite.name = ПодÑтрекател +unit.emanate.name = Ð•Ð¼Ð°Ð½Ð°Ñ†Ð¸Ñ +unit.manifold.name = Разклонение +unit.assembly-drone.name = Дрон-Ñтроител +unit.latum.name = Латум +unit.renale.name = Ренал +block.parallax.name = ÐŸÐ°Ñ€Ð°Ð»Ð°ÐºÑ +block.cliff.name = Скала +block.sand-boulder.name = ПÑÑъчен камък +block.basalt-boulder.name = Базалтов камък +block.grass.name = Трева +block.molten-slag.name = Шлака +block.pooled-cryofluid.name = КриотечноÑÑ‚ +block.space.name = КоÑÐ¼Ð¾Ñ +block.salt.name = Сол +block.salt-wall.name = Стена от Ñол +block.pebbles.name = Камъчета +block.tendrils.name = Пипала +block.sand-wall.name = Стена от пÑÑък +block.spore-pine.name = Топка от Ñпори +block.spore-wall.name = Стена от Ñпори +block.boulder.name = Камък +block.snow-boulder.name = Снежна Ñкала +block.snow-pine.name = Снежна топка +block.shale.name = Глина +block.shale-boulder.name = Глинена Ñкала +block.moss.name = Мъх +block.shrubs.name = ХраÑти +block.spore-moss.name = СпореÑÑ‚ мъх +block.shale-wall.name = Стена от храÑти +block.scrap-wall.name = Стена от Ñкрап +block.scrap-wall-large.name = ГолÑма Ñтена от Ñкрап +block.scrap-wall-huge.name = Огромна Ñтена от Ñкрап +block.scrap-wall-gigantic.name = ГигантÑка Ñтена от Ñкрап +block.thruster.name = Двигател +block.kiln.name = Пещ +block.graphite-press.name = Графитна преÑа +block.multi-press.name = Мулти-преÑа +block.constructing = {0} [lightgray](изграждане) +block.spawn.name = ВражеÑка начална точка +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Ядро: ЧаÑтица +block.core-foundation.name = Ядро: Ð¤Ð¾Ð½Ð´Ð°Ñ†Ð¸Ñ +block.core-nucleus.name = Ядро: Център +block.deep-water.name = Дълбока вода +block.shallow-water.name = Вода +block.tainted-water.name = ЗамърÑена вода +block.deep-tainted-water.name = Дълбоко замърÑена вода +block.darksand-tainted-water.name = Тъмен пÑÑък - ЗамърÑена вода +block.tar.name = Катран +block.stone.name = Камък +block.sand-floor.name = ПÑÑък +block.darksand.name = Тъмен пÑÑък +block.ice.name = Лед +block.snow.name = СнÑг +block.crater-stone.name = Кратери +block.sand-water.name = ПÑÑък - Вода +block.darksand-water.name = Тъмен ПÑÑък - Вода +block.char.name = Овъглен камък +block.dacite.name = Дацит +block.rhyolite.name = Риолит +block.dacite-wall.name = Стена от дацит +block.dacite-boulder.name = Скала от дацит +block.ice-snow.name = Лед - СнÑг +block.stone-wall.name = Стена от камък +block.ice-wall.name = Стена от лед +block.snow-wall.name = Стена от ÑнÑг +block.dune-wall.name = Стена от дюна +block.pine.name = Бор +block.dirt.name = ПръÑÑ‚ +block.dirt-wall.name = Стена от пръÑÑ‚ +block.mud.name = Кал +block.white-tree-dead.name = Мъртво бÑло дърво +block.white-tree.name = БÑло дърво +block.spore-cluster.name = Купчина Ñпори +block.metal-floor.name = Метален под 1 +block.metal-floor-2.name = Метален под 2 +block.metal-floor-3.name = Метален под 3 +block.metal-floor-4.name = Метален под 4 +block.metal-floor-5.name = Метален под 4 +block.metal-floor-damaged.name = Повреден метален под +block.dark-panel-1.name = Тъмен панел 1 +block.dark-panel-2.name = Тъмен панел 2 +block.dark-panel-3.name = Тъмен панел 3 +block.dark-panel-4.name = Тъмен панел 4 +block.dark-panel-5.name = Тъмен панел 5 +block.dark-panel-6.name = Тъмен панел 6 +block.dark-metal.name = Тъмен метал +block.basalt.name = Базалт +block.hotrock.name = Топла Ñкала +block.magmarock.name = Магмена Ñкала +block.copper-wall.name = Стена от мед +block.copper-wall-large.name = ГолÑма Ñтена от мед +block.titanium-wall.name = Стена от титан +block.titanium-wall-large.name = ГолÑма Ñтена от титан +block.plastanium-wall.name = Стена от плаÑтаний +block.plastanium-wall-large.name = ГолÑма Ñтена от плаÑтаний +block.phase-wall.name = Фазова Ñтена +block.phase-wall-large.name = ГолÑма фазова Ñтена +block.thorium-wall.name = Стена от торий +block.thorium-wall-large.name = ГолÑма Ñтена от торий +block.door.name = Врата +block.door-large.name = ГолÑма врата +block.duo.name = Дуо +block.scorch.name = Горелка +block.scatter.name = ПръÑкач +block.hail.name = Градушка +block.lancer.name = Улан +block.conveyor.name = Лента +block.titanium-conveyor.name = Титаниева лента +block.plastanium-conveyor.name = ПлаÑтаниева лента +block.armored-conveyor.name = Бронирана лента +block.junction.name = КръÑтовище +block.router.name = Рутер +block.distributor.name = Разпределител +block.sorter.name = Сортировач +block.inverted-sorter.name = Обърнат Ñортировач +block.message.name = Съобщение +block.reinforced-message.name = ПодÑилено Ñъобщение +block.world-message.name = Глобално Ñъобщение +block.world-switch.name = Глобален превключвател +block.illuminator.name = ОÑветител +block.overflow-gate.name = Преливаща порта +block.underflow-gate.name = Обратна преливаща порта +block.silicon-smelter.name = Силиконова пещ +block.phase-weaver.name = Тъкач на фазова тъкан +block.pulverizer.name = Пулверизатор +block.cryofluid-mixer.name = МикÑер за криотечноÑÑ‚ +block.melter.name = Разтопител +block.incinerator.name = Крематорий +block.spore-press.name = ПреÑа за Ñпори +block.separator.name = Разделител +block.coal-centrifuge.name = Центрифуга за въглища +block.power-node.name = ЕлектричеÑки възел +block.power-node-large.name = ГолÑм електричеÑки възел +block.surge-tower.name = ТрафопоÑÑ‚ +block.diode.name = Диод +block.battery.name = Ð‘Ð°Ñ‚ÐµÑ€Ð¸Ñ +block.battery-large.name = ГолÑма Ð±Ð°Ñ‚ÐµÑ€Ð¸Ñ +block.combustion-generator.name = Горивен генератор +block.steam-generator.name = Парен генератор +block.differential-generator.name = Диференциален генератор +block.impact-reactor.name = Ударен реактор +block.mechanical-drill.name = Механично Ñвредло +block.pneumatic-drill.name = Пневматично Ñвредло +block.laser-drill.name = Лазерно Ñвредло +block.water-extractor.name = Водна Ñонда +block.cultivator.name = Култиватор +block.conduit.name = Тръбопровод +block.mechanical-pump.name = Механична помпа +block.item-source.name = Материализатор на предмети +block.item-void.name = Дематериализатор на предмети +block.liquid-source.name = Материализатор на течноÑти +block.liquid-void.name = Дематериализатор натТечноÑти +block.power-void.name = Материализатор на ÐµÐ½ÐµÑ€Ð³Ð¸Ñ +block.power-source.name = Дематериализатор на ÐµÐ½ÐµÑ€Ð³Ð¸Ñ +block.unloader.name = Разтоварващо уÑтройÑтво +block.vault.name = Склад +block.wave.name = Вълна +block.tsunami.name = Цунами +block.swarmer.name = Ракетен роÑк +block.salvo.name = Салво +block.ripple.name = Рипъл +block.phase-conveyor.name = Фазова лента +block.bridge-conveyor.name = МоÑтова лента +block.plastanium-compressor.name = ПлаÑтаниева лента +block.pyratite-mixer.name = СмеÑител на пиратит +block.blast-mixer.name = СмеÑител на взривно Ñъединение +block.solar-panel.name = Фотоволтаик +block.solar-panel-large.name = ГолÑм фотоволтаик +block.oil-extractor.name = Ðефтена Ñонда +block.repair-point.name = Точка за поправка +block.repair-turret.name = ПоправÑщо уръдие +block.pulse-conduit.name = ИмпулÑен тръбопровод +block.plated-conduit.name = Тръбопровод Ñ Ð¿Ð¾ÐºÑ€Ð¸Ñ‚Ð¸Ðµ +block.phase-conduit.name = Фазов тръбопровод +block.liquid-router.name = Рутер за течноÑти +block.liquid-tank.name = Резервоар за течноÑти +block.liquid-container.name = Контейнер за течноÑти +block.liquid-junction.name = Тръбопроводно кръÑтовище +block.bridge-conduit.name = МоÑÑ‚ за течноÑти +block.rotary-pump.name = Ротационна помпа +block.thorium-reactor.name = Ториев реактор +block.mass-driver.name = МаÑов преноÑител +block.blast-drill.name = Въздушно Ñвредло +block.impulse-pump.name = Термична помпа +block.thermal-generator.name = Термичен генератор +block.surge-smelter.name = Претопител за импулÑна Ñплав +block.mender.name = ВъзÑтановител +block.mend-projector.name = ВъзÑтановÑващ проектор +block.surge-wall.name = ИмпулÑна Ñтена +block.surge-wall-large.name = ГолÑма импулÑна Ñтена +block.cyclone.name = Циклон +block.fuse.name = Електрошок +block.shock-mine.name = Мина +block.overdrive-projector.name = УÑкорÑващ проектор +block.force-projector.name = Силов проектор +block.arc.name = Волтова дъга +block.rtg-generator.name = RTG генератор +block.spectre.name = Спектър +block.meltdown.name = Разтопител +block.foreshadow.name = ПредвеÑтител +block.container.name = Контейнер +block.launch-pad.name = ИзÑтрелваща площадка +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Сегмент +block.ground-factory.name = Ðаземна фабрика +block.air-factory.name = Въздушна фабрика +block.naval-factory.name = МорÑка фабрика +block.additive-reconstructor.name = ДобавÑщ реконÑтруктор +block.multiplicative-reconstructor.name = Умножаващ реконÑтруктор +block.exponential-reconstructor.name = ЕкÑпоненциален реконÑтруктор +block.tetrative-reconstructor.name = Тетративен реконÑтруктор +block.payload-conveyor.name = Товарна лента +block.payload-router.name = Товарен рутер +block.duct.name = Канал +block.duct-router.name = Канален рутер +block.duct-bridge.name = Канален моÑÑ‚ +block.large-payload-mass-driver.name = МаÑиран доÑтавчик на едър товар +block.payload-void.name = Товарна бездна +block.payload-source.name = Товарен източник +block.disassembler.name = Разглобител +block.silicon-crucible.name = Силиконов тигел +block.overdrive-dome.name = УÑкорÑващ купол +block.interplanetary-accelerator.name = Междупланетен уÑкорител +block.constructor.name = Строител +block.constructor.description = Изработва Ñгради до размер 2Ñ…2 полета. +block.large-constructor.name = Едър Ñтроител +block.large-constructor.description = Изработва Ñгради до размер 4Ñ…4 полета. +block.deconstructor.name = ДеконÑтруктор +block.deconstructor.description = Ð Ð°Ð·Ð³Ð»Ð°Ð±Ñ Ñгради и единици. ВъзÑтановÑва 100% от разходите. +block.payload-loader.name = Товарител +block.payload-loader.description = Товари течноÑти и предмети в блокове. +block.payload-unloader.name = Разтоварител +block.payload-unloader.description = Разтоварва течноÑти и предмети от блокове. +block.heat-source.name = Топлинен източник +block.heat-source.description = Блок в размер 1Ñ…1. ÐžÑ‚Ð´ÐµÐ»Ñ Ð¿Ð¾Ñ‡Ñ‚Ð¸ безкрайна топлина. +block.empty.name = Празно +block.rhyolite-crater.name = Риолитен кратер +block.rough-rhyolite.name = Суров риолит +block.regolith.name = Реголит +block.yellow-stone.name = Жълт камък +block.carbon-stone.name = Въглероден камък +block.ferric-stone.name = Железен камък +block.ferric-craters.name = Железни кратери +block.beryllic-stone.name = Камък от берил +block.crystalline-stone.name = КриÑтален камък +block.crystal-floor.name = КриÑтален под +block.yellow-stone-plates.name = Жълти каменни плочи +block.red-stone.name = Червен камък +block.dense-red-stone.name = ГъÑÑ‚ червен камък +block.red-ice.name = Червен лед +block.arkycite-floor.name = Ðркициден под +block.arkyic-stone.name = Ðркичен камък +block.rhyolite-vent.name = Риолитен отвор +block.carbon-vent.name = Въглероден отвор +block.arkyic-vent.name = Ðркичен отвор +block.yellow-stone-vent.name = Отвор за жълт камък +block.red-stone-vent.name = Отвор за червен камък +block.crystalline-vent.name = КриÑтален отвор +block.redmat.name = Червен килим +block.bluemat.name = Син килим +block.core-zone.name = Зона за Ñдро +block.regolith-wall.name = Реголитна Ñтена +block.yellow-stone-wall.name = Стена от жълт камък +block.rhyolite-wall.name = Риолитна Ñтена +block.carbon-wall.name = Въглеродна Ñтена +block.ferric-stone-wall.name = Железна Ñтена +block.beryllic-stone-wall.name = Стена от берил +block.arkyic-wall.name = Ðркична Ñтена +block.crystalline-stone-wall.name = КриÑтална Ñтена +block.red-ice-wall.name = Стена от червен лед +block.red-stone-wall.name = Стена от червен камък +block.red-diamond-wall.name = Стена от червен диамант +block.redweed.name = Червена тръÑтика +block.pur-bush.name = Пур храÑÑ‚ +block.yellowcoral.name = Жълт корал +block.carbon-boulder.name = Въглеродна Ñкала +block.ferric-boulder.name = ЖелÑзна Ñкала +block.beryllic-boulder.name = Скала от берил +block.yellow-stone-boulder.name = Скала от жълт камък +block.arkyic-boulder.name = Ðркична Ñкала +block.crystal-cluster.name = Куп криÑтали +block.vibrant-crystal-cluster.name = Куп от Ñрки криÑтали +block.crystal-blocks.name = КриÑтални блокове +block.crystal-orbs.name = КриÑтални кълба +block.crystalline-boulder.name = КриÑтални Ñкали +block.red-ice-boulder.name = Скала от червен лед +block.rhyolite-boulder.name = Риолитна Ñкала +block.red-stone-boulder.name = Скала от червен камък +block.graphitic-wall.name = Стена от графит +block.silicon-arc-furnace.name = Ðркова фурна за Ñиликон +block.electrolyzer.name = Електролизатор +block.atmospheric-concentrator.name = Концентратор на атмоÑфера +block.oxidation-chamber.name = ОкÑидационна камера +block.electric-heater.name = ЕлектричеÑки нагревател +block.slag-heater.name = Ðагревател за Ñлаг +block.phase-heater.name = Фазов нагревател +block.heat-redirector.name = Разпределител на топлина +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Топлинен рутер +block.slag-incinerator.name = Фурна за Ñлаг +block.carbide-crucible.name = Тигел за карбид +block.slag-centrifuge.name = Центрифуга за Ñлаг +block.surge-crucible.name = ИмпулÑен тигел +block.cyanogen-synthesizer.name = Цианогенен Ñинтезатор +block.phase-synthesizer.name = Фазов Ñинтезатор +block.heat-reactor.name = Топлинен реактор +block.beryllium-wall.name = Стена от берилий +block.beryllium-wall-large.name = ГолÑма Ñтена от берилий +block.tungsten-wall.name = Стена от волфрам +block.tungsten-wall-large.name = ГолÑма Ñтена от волфрам +block.blast-door.name = Огнеупорна врата +block.carbide-wall.name = Стена от карбид +block.carbide-wall-large.name = ГолÑма Ñтена от карбид +block.reinforced-surge-wall.name = ПодÑилена импулÑна Ñтена +block.reinforced-surge-wall-large.name = ГолÑма подÑилена импулÑна Ñтена +block.shielded-wall.name = Енергийна Ñтена +block.radar.name = Радар +block.build-tower.name = ПоÑтрой кула +block.regen-projector.name = Прожектор за Ñ€ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ +block.shockwave-tower.name = Шокова кула +block.shield-projector.name = Щитов прожектор +block.large-shield-projector.name = ГолÑм щитов прожектор +block.armored-duct.name = Брониран канал +block.overflow-duct.name = Преливащ канал +block.underflow-duct.name = Подливащ канал +block.duct-unloader.name = Разтоварващ канал +block.surge-conveyor.name = ИмпулÑна лента +block.surge-router.name = ИмпулÑен рутер +block.unit-cargo-loader.name = Товарител +block.unit-cargo-unload-point.name = Точка за разтоварване +block.reinforced-pump.name = ПодÑилена помпа +block.reinforced-conduit.name = ПодÑилена тръба +block.reinforced-liquid-junction.name = ПодÑилена Ñвръзка за течноÑти +block.reinforced-bridge-conduit.name = ПодÑилена моÑтова тръба +block.reinforced-liquid-router.name = ПодÑилен рутер за течноÑти +block.reinforced-liquid-container.name = ПодÑилен контейнер за течноÑти +block.reinforced-liquid-tank.name = ПодÑилен баÑейн за течноÑти +block.beam-node.name = Лъчева точка +block.beam-tower.name = Лъчева кула +block.beam-link.name = Лъчева Ñвръзка +block.turbine-condenser.name = Турбинен ÑгъÑтител +block.chemical-combustion-chamber.name = ХимичеÑка камера за горене +block.pyrolysis-generator.name = Пиролизен генератор +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Трошачка за Ñкали +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Плазмен Ñвредел +block.large-plasma-bore.name = ГолÑм плазмен Ñвредел +block.impact-drill.name = СблъÑъчен Ñвредел +block.eruption-drill.name = Взривен Ñвредел +block.core-bastion.name = Ядро Убежище +block.core-citadel.name = Ядро Цитадела +block.core-acropolis.name = Ядро Ðкропол +block.reinforced-container.name = ПодÑилен контейнер +block.reinforced-vault.name = ПодÑилен трезор +block.breach.name = Пробив +block.sublimate.name = Сублимат +block.titan.name = Титан +block.disperse.name = РазпръÑък +block.afflict.name = Мъчител +block.lustre.name = БлÑÑък +block.scathe.name = Поражение +block.tank-refabricator.name = Рефабрикатор за танкове +block.mech-refabricator.name = Рефабрикатор за машини +block.ship-refabricator.name = Рефабрикатор за кораби +block.tank-assembler.name = Производител на танкове +block.ship-assembler.name = Производител на кораби +block.mech-assembler.name = Производител на кораби +block.reinforced-payload-conveyor.name = ПодÑилена лента за товар +block.reinforced-payload-router.name = ПодÑилен рутер за товар +block.payload-mass-driver.name = МаÑиран двигател за товари +block.small-deconstructor.name = Малък разглобител +block.canvas.name = Платно +block.world-processor.name = Световен процеÑор +block.world-cell.name = Световна клетка +block.tank-fabricator.name = Фабрикатор за танкове +block.mech-fabricator.name = Фабрикатор за роботи +block.ship-fabricator.name = Фабрикатор за кораби +block.prime-refabricator.name = ОÑновен рефабрикатор +block.unit-repair-tower.name = ПоправÑща кула за единици +block.diffuse.name = Ð”Ð¸Ñ„ÑƒÐ·Ð¸Ñ +block.basic-assembler-module.name = ОÑновен ÑглабÑщ модул +block.smite.name = ÐебеÑен бич +block.malign.name = Зло +block.flux-reactor.name = ФлюÑов реактор +block.neoplasia-reactor.name = Реактор на Ð½ÐµÐ¾Ð¿Ð»Ð°Ð·Ð¸Ñ + + +block.switch.name = Превключвател +block.micro-processor.name = МикропроцеÑор +block.logic-processor.name = ЛогичеÑки процеÑор +block.hyper-processor.name = Хипер процеÑор +block.logic-display.name = ЛогичеÑки диÑплей +block.large-logic-display.name = ГолÑм логичеÑки диÑплей +block.memory-cell.name = Клетка памет +block.memory-bank.name = Банка памет +team.malis.name = ÐœÐ°Ð»Ð¸Ñ +team.crux.name = ÐšÑ€ÑƒÐºÑ +team.sharded.name = ОткъÑнатите +team.derelict.name = ОÑтанки +team.green.name = Зелен + +team.blue.name = Син + +hint.skip = ПреÑкочи +hint.desktopMove = Използвайте [accent][[WASD][], за да Ñе придвижвате. +hint.zoom = [accent]Скролирайте[] за увеличаване или намалÑване на мащаба. +hint.desktopShoot = Задръжте [accent][[ЛÑв клавиш][], за да ÑтрелÑте. +hint.depositItems = За да пренеÑете реÑурÑи, върнете кораба Ñи при Ñдрото. +hint.respawn = За да Ñе поÑвите отново като кораб, натиÑнете [accent][[V][]. +hint.respawn.mobile = Вие активирахте режим на управление на единица/Ñтруктура. За да Ñе върнете към Ð’Ð°ÑˆÐ¸Ñ ÐºÐ¾Ñ€Ð°Ð±, [accent]докоÑнете аватара в Ð³Ð¾Ñ€Ð½Ð¸Ñ Ð»Ñв ъгъл[]. +hint.desktopPause = ÐатиÑнете [accent][[Интервал][], за да поÑтавите играта на пауза или да Ñ Ð¿Ñ€Ð¾Ð´ÑŠÐ»Ð¶Ð¸Ñ‚Ðµ. +hint.breaking = ÐатиÑнете Ñ [accent]ДеÑен клавиш[] и меÑтете мишката, за да унищожавате блокове. +hint.breaking.mobile = Ðктивирайте \ue817 [accent]чука[] от Ð´Ð¾Ð»Ð½Ð¸Ñ Ð´ÐµÑен ъгъл и натиÑнете за да унищожите блокове.\n\nЗадръжте за Ñекунда и плъзнете за да унищожите вÑички блокове в избраната зона. +hint.blockInfo = Вижте Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð·Ð° даден блок, като го поÑочите в [accent]менюто за ÑтроителÑтво[], а поÑле цъкнете върху копчето [accent][[?][] вдÑÑно. +hint.derelict = [accent]ИзоÑтавените[] Ñгради Ñа порутените оÑтанки на Ñтари бази, които вече не функционират.\n\nМожете да [accent]деконÑтруирате[] тези Ñгради за реÑурÑи. +hint.research = Използвайте бутона \ue875 [accent]Проучване[], за да изÑледвате нови технологии. +hint.research.mobile = Използвайте бутона \ue875 [accent]Проучване[] в \ue88c [accent]Менюто[], за да изÑледвате нови технологии. +hint.unitControl = Задръжте [accent][[L-Ctrl][] и [accent]кликнете[], за да управлÑвате Ваши единици или оръдиÑ. +hint.unitControl.mobile = [accent][[ДокоÑнете два пъти][], за да контролирате Ваша единица или оръдиÑ. +hint.unitSelectControl = За да управлÑвате единици, влезте в [accent]ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼[], като задържите [accent]L-shift.[]\nДокато Ñте в ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼, цъкнете и влачете, за да избирате единици. Цъкнете Ñ [accent]дÑÑно копче[] върху земÑта или мишена, за да изпратите единиците Ñи там. +hint.unitSelectControl.mobile = За да управлÑвате единици, влезте в [accent]ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼[], като цъкнете копчето за [accent]команда[] долу влÑво.\nДокато Ñте в ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼, задръжте задълго, за да избирате единици, поÑле може да натиÑнете върху земÑта или мишена, за да изпратите единиците Ñи там. +hint.launch = След като Ñъберете доÑтатъчно реÑурÑи, можете да [accent]ИзÑтрелÑте[] Ñдро като изберете близък Ñектор от \ue827 [accent]ГлобуÑа[] в Ð´Ð¾Ð»Ð½Ð¸Ñ Ð´ÐµÑен ъгъл. +hint.launch.mobile = След като Ñъберете доÑтатъчно реÑурÑи, можете да [accent]ИзÑтрелÑте[] Ñдро като изберете близък Ñектор от \ue827 [accent]ГлобуÑа[] в \ue88c [accent]Менюто[]. +hint.schematicSelect = Задръжте [accent][[F][] и плъзнете за да изберете/копирате група от блокчета.\n\n[accent][[Среден клик][], за да копирате едно блокче. +hint.rebuildSelect = Задръжте [accent][[B][] и влачете, за да изберете унищожени блокове.\nТова ще ги заÑтрои наново автоматично. +hint.rebuildSelect.mobile = Изберете копчето за \ue874 копиране, поÑле натиÑнете копчето за \ue80f поÑтроÑване и изтеглете, за да изберете унищожените блокове.\nТова ще ги заÑтрои отново автоматично. +hint.conveyorPathfind = Задръжте [accent][[L-Ctrl][] докато поÑтавÑте пътека от ленти за да генерирате пътека автоматично. +hint.conveyorPathfind.mobile = Позволете \ue844 [accent]Диагонално поÑтавÑне[] за автоматично намиране на пътека при поÑтавÑне на конвейери. +hint.boost = Задръжте [accent][[L-Shift][], за да прелетите над препÑÑ‚ÑÑ‚Ð²Ð¸Ñ Ñ Ñ‚Ð°Ð·Ð¸ единица.\n\nСамо нÑкои наземни единици имат двигатели за летене. +hint.payloadPickup = ÐатиÑнете [accent][[[], за да вдигнете малки блокчета или единици. +hint.payloadPickup.mobile = [accent]ДокоÑнете и задръжте[] върху малко блокче или единица, за да го вдигнете. +hint.payloadDrop = ÐатиÑнете [accent]][], за да оÑтавите товара Ñи. +hint.payloadDrop.mobile = [accent]ДокоÑнете и задръжте[] върху празна позициÑ, за да оÑтавите товара Ñи там. +hint.waveFire = ОръдиÑта [accent]Вълна[] заредени ÑÑŠÑ Ð²Ð¾Ð´Ð° ще дейÑтват и като пожарогаÑители. +hint.generator = \uf879 [accent]Горивните генератори[] горÑÑ‚ въглища и зареждат Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ð¸Ñ ÑÑŠÑедни блокове.\n\nРазÑтоÑнието за предаване на ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¼Ð¾Ð¶Ðµ да Ñе увеличи чрез \uf87f [accent]ЕлектричеÑки възли[]. +hint.guardian = [accent]Пазителите[] Ñа единици Ñ Ð¿Ð¾Ð²ÐµÑ‡Ðµ бронÑ. Слаби боеприпаÑи като [accent]Мед[] и [accent]Олово[] Ñа [scarlet]неподходÑщи[] Ñрещу Ñ‚ÑÑ….\n\nИзползвайте по-мощни Ð¾Ñ€ÑŠÐ´Ð¸Ñ Ð¸Ð»Ð¸ заредете Вашите \uf861Дуо/\uf859Салво Ñ \uf835 [accent]Графит[], за да ги повалите. +hint.coreUpgrade = Ядрата могат да бъдат подобрÑвани като [accent]поÑтавите по-добро Ñдро върху Ñ‚ÑÑ…[].\n\nПоÑтавете \uf868 [accent]ФондациÑ[] върху \uf869 Ñдрото [accent]ЧаÑтица[]. Уверете Ñе че нÑма други препÑÑ‚ÑÑ‚Ð²Ð¸Ñ Ñ‚Ð°Ð¼, където поÑтавÑте Ñдрото. +hint.presetLaunch = Към Ñивите [accent]Ñектори за кацане[], какъвто е [accent]Замръзнала Гора[] можете да изÑтрелÑте Ñдро отвÑÑкъде. Ðе е необходимо да превземате ÑÑŠÑедна териториÑ.\n\n[accent]Ðомерираните Ñектори[], като този, Ñа [accent]пожелателни[]. +hint.presetDifficulty = Този Ñектор има [scarlet]виÑока вражеÑка заплаха[].\nИзÑтрелването към такива Ñектори е [accent]нежелателно[] без нухната Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð¸ подготовка. +hint.coreIncinerate = След като Ñдрото Ñе препълни Ñ ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚ÐµÐ½ тип реÑурÑ, вÑички допълнителни доÑтавени количеÑтва в него ще бъдат [accent]унищожени[]. +hint.factoryControl = За да поÑтавите [accent]изходната точка [] на нÑÐºÐ¾Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°, изберете фабричен блок, докато Ñте в команден режим, поÑле цъкнете Ñ Ð´ÑÑно копче върху нÑкое мÑÑто.\nЕдиници, които Ñе произвеждат оттам ще отидат автоматично до поÑоченото мÑÑто. +hint.factoryControl.mobile = За да поÑтавите [accent]изходната точка [] на нÑÐºÐ¾Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°, изберете фабричен блок, докато Ñте в команден режим, поÑле натиÑнете върху нÑкое мÑÑÑ‚.\nЕдиници, които Ñе произвеждат оттам ще отидат автоматично до поÑоченото мÑÑто. +gz.mine = Придвижете Ñе близо до \uf8c4 [accent]медната руда[] на земÑта и цъкнете, за да започнете изкопаването. +gz.mine.mobile = Придвижете Ñе близо до \uf8c4 [accent]медната руда[] на земÑта и натиÑнете върху земÑта, за да започнете изкопаването. +gz.research = Отворете \ue875 Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡Ð½Ð¸Ñ Ð¿Ð»Ð°Ð½.\nПроучете \uf870 [accent]ÐœÐµÑ…Ð°Ð½Ð¸Ñ‡Ð½Ð¸Ñ Ñвредел[], поÑле го изберете от менюто долу вдÑÑно.\nЦъкнете върху поле Ñ Ð¼ÐµÐ´, за да го поÑтавите. +gz.research.mobile = Отворете \ue875 Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡Ð½Ð¸Ñ Ð¿Ð»Ð°Ð½.\nПроучете \uf870 [accent]ÐœÐµÑ…Ð°Ð½Ð¸Ñ‡Ð½Ð¸Ñ Ñвредел[], поÑле го изберете от менюто долу вдÑÑно.\nÐатиÑнете върху поле Ñ Ð¼ÐµÐ´, за да го поÑтавите.\n\nÐатиÑнете върху \ue800 [accent]тикчето[] долу вдÑÑно, за да потвърдите. +gz.conveyors = Проучете и поÑтавете \uf896 [accent]ленти[], за да придвижите изкопани реÑурÑи от \nÑвредели към Ñдрото.\n\nЦъкнете и влачете, за да разположите множеÑтво ленти.\n[accent]Скролирайте[], за да завъртите. +gz.conveyors.mobile = Проучете и поÑтавете \uf896 [accent]ленти[], за да придвижите изкопани реÑурÑи от \nÑвредели към Ñдрото.\n\nЗадръжте пръÑта Ñи една Ñекунда, за да разположите множеÑтво ленти. +gz.drills = Разришете изкопната дейноÑÑ‚.\nПоÑтавете повече механични Ñвредели.\nИзкопайте 100 мед. +gz.lead = \uf837 [accent]Оловото[] е друг чеÑто използван реÑурÑ.\nПоÑтавете Ñвредели, за да го изкопавате. +gz.moveup = \ue804 Придвижете Ñе нагоре за Ñледващите Ñи задачи. +gz.turrets = Проучете и поÑтавете 2 Ð¾Ñ€ÑŠÐ´Ð¸Ñ \uf861 [accent]Дуо[], за да защитите Ñдрото.\nДуо Ñе нуждаÑÑ‚ от \uf838 [accent]муниции[] чрез лентите. +gz.duoammo = ДоÑтавете [accent]мед[] на оръдиÑта, като използвате ленти. +gz.walls = [accent]Стените[] попречват на вражеÑÐºÐ¸Ñ Ð¾Ð³ÑŠÐ½ да доÑтигне до Ñградите Ви.\nРазположете медни \uf8ae [accent]медни Ñтени[] около оръдиÑта Ñи. +gz.defend = Врагът наближава, пригответе Ñе за отбрана. +gz.aa = Ðа обикновените Ð¾Ñ€ÑŠÐ´Ð¸Ñ Ð¸Ð¼ е непоÑилно да Ñе ÑправÑÑ‚ Ñ Ð»ÐµÑ‚Ñщи единици.\n\uf860 [accent]ПръÑкачките[] предоÑтавÑÑ‚ отлична противовъздушна Ñила, но Ñе нуждаÑÑ‚ от \uf837 [accent]Олово[], за да функционират. +gz.scatterammo = Снабдете ПръÑкачките Ñ [accent]Олово[], използвайки ленти. +gz.supplyturret = [accent]Снабдете оръдие. +gz.zone1 = Това е вражеÑката начална зона. +gz.zone2 = Ð’Ñичко поÑтроено в Ð½ÐµÐ¹Ð½Ð¸Ñ Ñ€Ð°Ð´Ð¸ÑƒÑ Ñ‰Ðµ бъде унищожено, когато наÑтъпи новата вълна. +gz.zone3 = Сега ще започне една такава вълна.\nПригответе Ñе. +gz.finish = Издигнете още оръдиÑ, изкопайте повече реÑурÑи\nи Ñе защитете от вÑички прииждащи вълни, за да [accent]завладеете този Ñектор[]. +onset.mine = Цъкнете, за да копаете \uf748 [accent]берилий[] от Ñтените.\n\nИзползвайте [accent][[WASD], за да Ñе придвижвате. +onset.mine.mobile = ÐатиÑнете, за да копаете \uf748 [accent]берилий[] от Ñтените. +onset.research = Отворете \ue875 Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ‡Ð½Ð¸Ñ Ð¿Ð»Ð°Ð½.\nПроучете, поÑле поÑтавете \uf73e [accent]турбинен ÑгъÑтител[] върху отвора.\nТова ще генерира [accent]електричеÑтво[]. +onset.bore = Проучете и поÑтавете \uf741 [accent]плазмена бургиÑ[].\nÐ¢Ñ Ñ‰Ðµ копае реÑурÑи от Ñтените автоматично. +onset.power = За да [accent]задейÑтвате[] плазмената бургиÑ, проучете и поÑтавете \uf73d [accent]лъчева точка[].\nСвържете Ñ‚ÑƒÑ€Ð±Ð¸Ð½Ð½Ð¸Ñ ÑгъÑтител към плазмената бургиÑ. +onset.ducts = Проучете и поÑтавете \uf799 [accent]тръби[], за да придвижване изкопаните реÑурÑи от плазмената Ð±ÑƒÑ€Ð³Ð¸Ñ ÐºÑŠÐ¼ Ñдрото.\nЦъкнете и изтеглете, за да поÑтавите множеÑтво тръби.\n[accent]Скролирайте[], за да завъртите. +onset.ducts.mobile = Проучете и поÑтавете \uf799 [accent]тръби[], за да придвижване изкопаните реÑурÑи от плазмената Ð±ÑƒÑ€Ð³Ð¸Ñ ÐºÑŠÐ¼ Ñдрото.\nЗадръжте пръÑта Ñи за една Ñекунда, за да поÑтавите множеÑтво тръби. +onset.moremine = Разришете минната Ñи операциÑ.\nПоÑтавете повече плазмени бургии и използвайте лъчеви точки и тръби, за да ги поддържате.\nИзкопайте 200 берилий. +onset.graphite = По-Ñложните блокове Ñе нуждаÑÑ‚ от \uf835 [accent]Графит[].\nПоÑтавете плазмени бургии, за да копаете графит. +onset.research2 = Започнете проучването на [accent]фабрики[].\nПроучете \uf74d [accent]Скалотрошача[] и \uf779 [accent]Ðркова фурна за Ñиликон[]. +onset.arcfurnace = Ðрковата фурна Ñе нуждае от \uf834 [accent]ПÑÑък[] и \uf835 [accent]Графит[], за да произведе \uf82f [accent]Силикон[].\n[accent]ЕлектричеÑтвото[] Ñъщо е важно. +onset.crusher = Използвайте \uf74d [accent]Скалотрошачите[], за да копаете пÑÑък. +onset.fabricator = Използвайте [accent]единици[], за да изÑледвате картата, да пазите Ñгради и да атакувате врага. Проучете и поÑтавете \uf6a2 [accent]Фабрика за танкове[]. +onset.makeunit = Произведете единица.\nИзползвайте копчето "?", за да видите изиÑкваниÑта на избраната фабрика. +onset.turrets = Единиците Ñа полезни, ала [accent]ОръдиÑта[] предоÑтавÑÑ‚ повече защитни възможноÑти, когато Ñе използват правилно.\nПоÑтавете \uf6eb [accent]Пробивно[] оръдие.\nОръдиÑта Ñе нуждаÑÑ‚ от \uf748 [accent]муниции[]. +onset.turretammo = Снабдете оръдието Ñ [accent]берилий.[] +onset.walls = [accent]Стените[] пазÑÑ‚ Ñградите Ви от вражеÑки огън.\nПоÑтавете нÑколко \uf6ee [accent]Ñтени от берилий[] около оръдието. +onset.enemies = Врагът приближава, пригответе Ñе за защита. +onset.defenses = [accent]ПоÑтавÑне на защити:[lightgray] {0} +onset.attack = Врагът е уÑзвим. Отвърнете на удара. +onset.cores = Можете да поÑтавите нови Ñдра върху [accent]полета за Ñдро[].\nÐовите Ñдра вършат работа като предни бази и ÑподелÑÑ‚ реÑурÑен инвентар Ñ Ð´Ñ€ÑƒÐ³Ð¸ Ñдра.\nПоÑтавете \uf725 Ñдро. +onset.detect = Врагът ще Ви заÑече Ñлед 2 минути.\nРазположете защити, изкопна дейноÑÑ‚ и продукциÑ. +onset.commandmode = Задръжте [accent]shift[], за да влезете в [accent]ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼[].\n[accent]Цъкнете Ñ Ð»Ñво копче и влачете[], за да избирате единици.\n[accent]ДÑÑно копче[] дава заповеди за придвижване или атака +onset.commandmode.mobile = ÐатиÑнете [accent]командното копче[], за да влезете в [accent]ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼[].\nЗадръжте пръÑта Ñи, поÑле го [accent]придвижете[], за да изберете единици.\n[accent]ДокоÑнете[], за да дадете заповед за придвижване или атака. +aegis.tungsten = Можете да копаете волфрам чрез [accent]ÑблъÑъчен Ñвредел[].\nТази Ñграда Ñе нуждае от [accent]вода[] и [accent]електричеÑтво[]. +split.pickup = ÐÑкои блокове могат да бъдат вдигани от кораба.\nВдигнете този [accent]контейнер[] и го поÑтавете върху [accent]товарителÑ[].\n(ОÑновните копчета за вдигане и поÑтавÑне Ñа [ и ]) +split.pickup.mobile = ÐÑкои блокове могат да бъдат вдигани от кораба.\nВдигнете този [accent]контейнер[] и го поÑтавете върху [accent]товарителÑ[].\n(За да вдигнете или оÑтавите нещо, задръжте задълго върху него.) +split.acquire = Ðуждаете Ñе от волфрам, за да Ñтроите единици. +split.build = Единиците трÑбва да бъдат пренаÑÑни до другата Ñтрана на Ñтената.\nПоÑтавете два [accent]МаÑирани товарители[], върху вÑÑка от Ñтраните на Ñтената.\nСвържете ги, като натиÑнете върху единиÑ, поÑле върху другиÑ. +split.container = Подобно на контейнерите, можете да пренаÑÑте единици Ñ [accent]маÑиран товарител[].\nПоÑтавете фабрикатор за единици до маÑиран двигател, за да ги натоварите, поÑле ги пратете зад Ñтената, за да нападнат вражеÑката база. + +item.copper.description = Използва Ñе във вÑÑкакви типове конÑтрукции и боеприпаÑи. +item.copper.details = Мед. Ðеобичайно изобилен метал на Серпул. Структурно Ñлаб, оÑвен ако бъде подÑилен. +item.lead.description = Използва Ñе за транÑпорт на течноÑти и електричеÑки Ñтруктури. +item.lead.details = Плътен. Инертен. Широко използван при изграждане на батерии.\nБележка: ВероÑтно е токÑичен за биологичните форми на живот. Ðе, че има много оÑтанали наоколо. +item.metaglass.description = Използва Ñе в Ñтруктури за транÑпорт и Ñъхранение на течноÑти. +item.graphite.description = Използва Ñе в електричеÑки компоненти и като Ð±Ð¾ÐµÐ¿Ñ€Ð¸Ð¿Ð°Ñ Ð·Ð° нÑкои видове кули. +item.sand.description = Използва Ñе за производÑтво на други рафинирани материали. +item.coal.description = Използва Ñе като гориво и за производÑтво на рафинирани материали. +item.coal.details = Изглежда като вкаменена раÑтителна материÑ, образувана много преди разпръÑкването на Ñпорите. +item.titanium.description = Използва Ñе в транÑпортни Ñтруктури, Ñвредели и летателни технологии. +item.thorium.description = Използва Ñе в здрави конÑтрукции или като Ñдрено гориво. +item.scrap.description = Използва Ñе в Разтопители и Пулверизатори за преработване в други материали. +item.scrap.details = ОÑтанки от Ñтари Ñтруктури и единици. +item.silicon.description = Използва Ñе във фотоволтаици, Ñложни електроники и ÑамонаÑочващи Ñе боеприпаÑи. +item.plastanium.description = Използва Ñе в уÑъвършенÑтвани единици, като Ð¸Ð·Ð¾Ð»Ð°Ñ†Ð¸Ñ Ð¸ за фрагментационни боеприпаÑи. +item.phase-fabric.description = Използва Ñе в уÑъвършенÑтвана електроника и възÑтановÑващи Ñтруктури. +item.surge-alloy.description = Използва Ñе в уÑъвършенÑтвани Ð¾Ñ€ÑŠÐ¶Ð¸Ñ Ð¸ импулÑни защитни Ñтруктури. +item.spore-pod.description = Използва Ñе за производÑтвото на нефт, екÑплозиви и гориво. +item.spore-pod.details = Спори. ВероÑтно Ñинтетична форма на живот. ИзпуÑкат газове, които Ñа токÑични за биологични организми. Изключително инвазивни. ЛеÑно запалими при определени уÑловиÑ. +item.blast-compound.description = Използва Ñе за бомби и екÑплозивни боеприпаÑи. +item.pyratite.description = Използва Ñе за подпалващи Ð¾Ñ€ÑŠÐ¶Ð¸Ñ Ð¸ горивни генератори. +item.beryllium.description = Използва Ñе в много видове Ñтроежи и муниции на Ерекир. +item.tungsten.description = Използва Ñе от Ñвредели, Ð±Ñ€Ð¾Ð½Ñ Ð¸ муниции. Ðужен е за Ñтроежа на по-Ñложни Ñтруктури. +item.oxide.description = Използва Ñе като топлопроводник и инÑулатор за електричеÑтво. +item.carbide.description = Използва Ñе в Ñложни Ñтруктури, тежки единици и муниции. + +liquid.water.description = Използва Ñе за охлаждане на машини и преработка на отпадъци. +liquid.slag.description = Може да Ñе рафинира в Разделители до ÑÑŠÑтавните Ñи метали или да Ñе използване за обливане на враговете. +liquid.oil.description = Използва Ñе в напредналото производÑтво на материали или като запалимо оръжие. +liquid.cryofluid.description = Използва Ñе като охладител в реактори, Ð¾Ñ€ÑŠÐ´Ð¸Ñ Ð¸ фабрики. +liquid.arkycite.description = Използва Ñе в химичеÑките реакции за производÑтво на електричеÑтво и Ñинтез на материали. +liquid.ozone.description = Използва Ñе като окиÑлÑващ агент в производÑтвото на материал, както и за гориво. ОтноÑително екÑплозивен. +liquid.hydrogen.description = Използва Ñе в извличането на реÑурÑи, производÑтвото на единици и в ремонти. Запалимо вещеÑтво. +liquid.cyanogen.description = Използва Ñе за муниции, Ñтроеж и напреднали единици, както и при различни реакции на по-Ñложните блокове. Силно запалим. +liquid.nitrogen.description = Използва Ñе в извличането на реÑурÑи, Ñъздаването на газ и производÑтво на единици. Инертен газ. +liquid.neoplasm.description = ОпаÑен биологичен Ñтраничен продукт от Ð½ÐµÐ¾Ð¿Ð»Ð°Ð·Ð¼ÐµÐ½Ð¸Ñ Ñ€ÐµÐ°ÐºÑ‚Ð¾Ñ€. Бързо Ñе разпроÑтира до вÑеки ÑÑŠÑеден водоÑъдържащ блок и го поврежда. Леплив материал. +liquid.neoplasm.details = Ðео-плазма. Ðеконтрелируема маÑа от бързо делÑщи Ñе Ñинтетични клетки Ñ ÐºÐ¾Ð½ÑиÑÑ‚ÐµÐ½Ñ†Ð¸Ñ Ð¿Ð¾Ð´Ð¾Ð±Ð½Ð° на тинÑ. УÑтойчива на жега. Изключително опаÑна за вÑÑка Ñграда, коÑто използва вода.\n\nТвърде Ñложна и неÑтабилна за Ñтандартен анализ. Потенциалните Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ñа неизвеÑтни. Препоръчва Ñе изгарÑнето в баÑейни от Ñлаг. +block.derelict = \uf77e [lightgray]ОÑтанки +block.armored-conveyor.description = Придвижва предмети напред. Ðе приема вход от Ñтрани. +block.illuminator.description = Излъчва Ñветлина. +block.message.description = СъхранÑва Ñъобщение за ÐºÐ¾Ð¼ÑƒÐ½Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ñъюзници. +block.reinforced-message.description = СъхранÑва Ñъобщение за ÐºÐ¾Ð¼ÑƒÐ½Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ñъюзници. +block.world-message.description = Съобщителен блок. Използван при Ñъздаването на карти. Ðеунищожим. +block.graphite-press.description = КомпреÑира въглища до графит. +block.multi-press.description = КомпреÑира въглища до графит. ИзиÑква вода като охладител. +block.silicon-smelter.description = Рафинира Ñиликон от пÑÑък и въглища. +block.kiln.description = ÐŸÑ€ÐµÑ‚Ð°Ð¿Ñ Ð¿ÑÑък и олово в мета-Ñтъкло. +block.plastanium-compressor.description = Произвежда плаÑтаний от нефт и титан. +block.phase-weaver.description = Синтезира фазова тъкан от торий и пÑÑък. +block.surge-smelter.description = РазтопÑва титан, олово, Ñилиций и мед до импулÑна Ñплав. +block.cryofluid-mixer.description = СмеÑва вода и фин титаниев прах за производÑтво на криотечноÑÑ‚. +block.blast-mixer.description = Произвежда взривно Ñъединение от пиратит и ÑгъÑтени Ñпори. +block.pyratite-mixer.description = СмеÑва въглища, олово и пÑÑък в пиратит. +block.melter.description = ÐŸÑ€ÐµÑ‚Ð°Ð¿Ñ Ñкрап до шлака. +block.separator.description = РаздробÑва шлаката до нейните минерални компоненти. +block.spore-press.description = КомпреÑира ÑгъÑтени Ñпори на нефт. +block.pulverizer.description = Ðатрошава Ñкрап до ÑÑŠÑтоÑние на фин пÑÑък. +block.coal-centrifuge.description = Преобразува нефт във въглища. +block.incinerator.description = ИзпарÑва вÑеки предмет или течноÑÑ‚, които получава. +block.power-void.description = Ðеутрализира цÑлата ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð² мрежата. ДоÑтъпно Ñамо в ПÑÑъчника. +block.power-source.description = Произвежда безкрайна енергиÑ. ДоÑтъпно Ñамо в ПÑÑъчника. +block.item-source.description = Извежда безкрайно количеÑтво предмети. ДоÑтъпно Ñамо в ПÑÑъчника. +block.item-void.description = Унищожава вÑÑкакви предмети. ДоÑтъпно Ñамо в ПÑÑъчника. +block.liquid-source.description = Извежда безкрайно количеÑтво течноÑти. ДоÑтъпно Ñамо в ПÑÑъчника. +block.liquid-void.description = Унищожава вÑÑкакви течноÑти. ДоÑтъпно Ñамо в ПÑÑъчника. +block.payload-source.description = Извежда безкрайни товари. ДоÑтъпно Ñамо в ПÑÑъчника. +block.payload-void.description = Унищожава вÑеки товар. ДоÑтъпно Ñамо в ПÑÑъчника. +block.copper-wall.description = Защитава Ñтруктури от вражеÑки огън. +block.copper-wall-large.description = Защитава Ñтруктури от вражеÑки огън. +block.titanium-wall.description = Защитава Ñтруктури от вражеÑки огън. +block.titanium-wall-large.description = Защитава Ñтруктури от вражеÑки огън. +block.plastanium-wall.description = Защитава Ñтруктури от вражеÑки огън. Поглъща лазери и волтови дъги. Блокира автоматични електричеÑки връзки. +block.plastanium-wall-large.description = Защитава Ñтруктури от вражеÑки огън. Поглъща лазери и волтови дъги. Блокира автоматични електричеÑки връзки. +block.thorium-wall.description = Защитава Ñтруктури от вражеÑки огън. +block.thorium-wall-large.description = Защитава Ñтруктури от вражеÑки огън. +block.phase-wall.description = Защитава Ñтруктури от вражеÑки огън, отразÑвайки повечето куршуми при контакт. +block.phase-wall-large.description = Защитава Ñтруктури от вражеÑки огън, отразÑвайки повечето куршуми при контакт. +block.surge-wall.description = Защитава Ñтруктури от вражеÑки огън, периодично оÑвобождавайки волтови дъги при контакт. +block.surge-wall-large.description = Защитава Ñтруктури от вражеÑки огън, периодично оÑвобождавайки волтови дъги при контакт. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Стена, коÑто може да бъде отворена и затворена. +block.door-large.description = Стена, коÑто може да бъде отворена и затворена. +block.mender.description = Периодично Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð±Ð»Ð¸Ð·ÐºÐ¸ блокове.\nМоже да използва Ñиликон, за да увеличи обхвата и ефективноÑтта Ñи. +block.mend-projector.description = Периодично Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð±Ð»Ð¸Ð·ÐºÐ¸ блокове.\nМоже да използва Ñиликон, за да увеличи обхвата и ефективноÑтта Ñи. +block.overdrive-projector.description = УÑкорÑва близки поÑтройки.\nМоже да използва фазова тъкан, за да увеличи обхвата и ефективноÑтта Ñи. +block.force-projector.description = Създава шеÑтоъгълно Ñилово поле около Ñебе Ñи, предпазвайки Ñградите и единиците в него от повреда.\nПрегрÑва, ако претърпи твърде много щети. Използвайте охладителна течноÑÑ‚, за да предотвратите прегрÑване. Можете да използвате фазова тъкан, за да увеличите обхвата на Ñиловото поле. +block.shock-mine.description = ОÑвобождава електричеÑки дъги при контакт Ñ Ð²Ñ€Ð°Ð¶ÐµÑки единици. +block.conveyor.description = ПренаÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ напред. +block.titanium-conveyor.description = ПренаÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ напред. По-бърз от Ñтандартната лента. +block.plastanium-conveyor.description = ПренаÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ напред на партиди. Приема предмети Ñамо в началото на веригата и ги разтоварва в 3 поÑоки. ИзиÑква товарене и разтоварване от нÑколко Ñтрани за макÑимална ефективноÑÑ‚. +block.junction.description = ДейÑтва като моÑÑ‚ за две кръÑтоÑани конвейерни линии. +block.bridge-conveyor.description = ПренаÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ над терен или поÑтройки. +block.phase-conveyor.description = Мигновенно пренаÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ над терен или поÑтройки. Има по-голÑм обхват от моÑтовата лента, но Ñе нуждае от електроенергиÑ. +block.sorter.description = Ðко предметът Ñъвпада на Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ Ð³Ð¾ пренаÑÑ Ð½Ð°Ð¿Ñ€ÐµÐ´, иначе го изкарва наÑтрани. +block.inverted-sorter.description = Подобно на ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ñортировач, но извежда избраниÑÑ‚ предмет наÑтрани. +block.router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð²Ð½ÐµÑените предмети на до 3 поÑоки равномерно. +block.router.details = Ðеобходимо зло. Употребата му като вход на фабрики не Ñе препоръчва, защото ще Ñе запуши от изходните материали. +block.distributor.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð²Ð½ÐµÑените предмети в до 7 поÑоки равномерно. +block.overflow-gate.description = ÐаÑочва предмети наÑтрани Ñамо ако лентата отпред е препълнена или блокирана. +block.underflow-gate.description = ÐаÑочва предмети напред Ñамо ако лентите отÑтрани Ñа препълнени или блокирани. +block.mass-driver.description = Структура за пренаÑÑне на предмети на далечни раÑтоÑниÑ. Събира партиди от предмети и ги изÑтрелва до други МаÑови преноÑители. +block.mechanical-pump.description = Изпомпва течноÑти. Ðе изиÑква електричеÑтво. +block.rotary-pump.description = Изпомпва течноÑти. ИзиÑква електричеÑтво. +block.impulse-pump.description = Изпомпва течноÑти. +block.conduit.description = ПренаÑÑ Ñ‚ÐµÑ‡Ð½Ð¾Ñти еднопоÑочно. Използва Ñе в ÐºÐ¾Ð¼Ð±Ð¸Ð½Ð°Ñ†Ð¸Ñ Ñ Ð¿Ð¾Ð¼Ð¿Ð¸ и други тръбопроводи. +block.pulse-conduit.description = ПренаÑÑ Ñ‚ÐµÑ‡Ð½Ð¾Ñти еднопоÑочно. ПренаÑÑ Ð¿Ð¾-бързо и ÑъхранÑва повече от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ñ‚Ñ€ÑŠÐ±Ð¾Ð¿Ñ€Ð¾Ð²Ð¾Ð´. +block.plated-conduit.description = ПренаÑÑ Ñ‚ÐµÑ‡Ð½Ð¾Ñти еднопоÑочно. Ðе приема вход от Ñтрани. Ðе пропуÑка течове. +block.liquid-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð²Ð½ÐµÑените течноÑти в до 3 поÑоки равномерно. Също може да ÑъхранÑва малко количеÑтво течноÑÑ‚. +block.liquid-container.description = СъхранÑва значително количеÑтво течноÑÑ‚. Може да изкарва течноÑÑ‚ във вÑички поÑоки, подобно на рутер за течноÑти. +block.liquid-tank.description = СъхранÑва голÑмо количеÑтво течноÑÑ‚. Може да изкарва течноÑÑ‚ във вÑички поÑоки, подобно на рутер за течноÑти. +block.liquid-junction.description = ДейÑтва като моÑÑ‚ за два кръÑтоÑани тръбопровода. +block.bridge-conduit.description = ТранÑпортира течноÑти над терен или Ñгради. +block.phase-conduit.description = ТранÑпортира течноÑти над терен или Ñгради. Има по-голÑм обхват от моÑта за течноÑти, но Ñе нуждае от електроенергиÑ. +block.power-node.description = ПренаÑÑ ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ñвързани или ÑÑŠÑедни Ñтруктури. +block.power-node-large.description = Подобрена верÑÐ¸Ñ Ð½Ð° електричеÑÐºÐ¸Ñ Ð²ÑŠÐ·ÐµÐ» Ñ Ð¿Ð¾-голÑм обхват. +block.surge-tower.description = Далекообхватен електричеÑки възел, но може да Ñе Ñвърже Ñамо две Ñтруктури. +block.diode.description = ПренаÑÑ ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ батерии Ñамо в една поÑока, Ñамо ако източника има повече Ñъхранена ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¾Ñ‚ целта. +block.battery.description = СъхранÑва мощноÑÑ‚, когато има излишък. Извежда мощноÑÑ‚ по време на на дефицит. +block.battery-large.description = СъхранÑва мощноÑÑ‚, когато има излишък. Извежда мощноÑÑ‚ по време на дефицит. Има по-голÑм капацитет от нормалната батериÑ. +block.combustion-generator.description = Произвежда ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ð¸Ñ ÐºÐ°Ñ‚Ð¾ гори запалими материали, например въглища. +block.thermal-generator.description = Генерира енергиÑ, когато е поÑтавен върху нагорещена повърхноÑÑ‚. +block.steam-generator.description = Генерира ÐµÐ½ÐµÑ€Ð³Ð¸Ñ ÐºÐ°Ñ‚Ð¾ гори запалими материали и изпарÑва вода. +block.differential-generator.description = Генерира ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð² големи количеÑтва. Използва температурната разлика между криофлуида и изгарÑÑ‰Ð¸Ñ Ð¿Ð¸Ñ€Ð°Ñ‚Ð¸Ñ‚. +block.rtg-generator.description = Използва топлината на разлагащи Ñе радиоактивни ÑъединениÑ, за да произвежда ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ñ Ð±Ð°Ð²Ð½Ð° ÑкороÑÑ‚. +block.solar-panel.description = ОÑигурÑва малко количеÑтво ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¾Ñ‚ Ñлънцето. +block.solar-panel-large.description = ОÑигурÑва малко количеÑтво ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¾Ñ‚ Ñлънцето. По-ефективен от ÑÑ‚Ð°Ð½Ð´Ð°Ñ€Ñ‚Ð½Ð¸Ñ Ñ„Ð¾Ñ‚Ð¾Ð²Ð¾Ð»Ñ‚Ð°Ð¸Ðº. +block.thorium-reactor.description = Генерира значителни количеÑтва енергиÑ, използвайки торий. ИзиÑква поÑтоÑнно охлаждане. Избухва агреÑивно ако Ñе доÑтавÑÑ‚ недоÑтатъчни количеÑтва охлаждане. +block.impact-reactor.description = Генерира огромни количеÑтва ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ñ Ð¿Ð¸ÐºÐ¾Ð²Ð° ефективноÑÑ‚. ИзиÑква значителна входова мощноÑÑ‚, за да Ñтартира процеÑа. +block.mechanical-drill.description = Когато Ñе поÑтави върху руда добива ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚Ð½Ð¸Ñ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð» Ñ Ð±Ð°Ð²Ð½Ð¾ темпо за неопределено време. Може да добива Ñамо оÑновни реÑурÑи. +block.pneumatic-drill.description = Подобрено Ñвредло, което може да добива титан. Работи Ñ Ð¿Ð¾-бързо темпо от механичното Ñвредло. +block.laser-drill.description = Използва лазерна технологиÑ, за да добива реÑурÑи Ñ Ð¾Ñ‰Ðµ по-виÑока ÑкороÑÑ‚, но конÑумира електроенергиÑ. Може да добива торий. +block.blast-drill.description = Използва изключително уÑъвършенÑтвана технологиÑ, за да поÑтигне невероÑтна ÑкороÑÑ‚ на добив. КонÑумира голÑмо количеÑтво електроенергиÑ. +block.water-extractor.description = Извлича подземни води. Използва Ñе на меÑта без повърхноÑтна вода. +block.cultivator.description = Култивира малки концентрации на атмоÑферни Ñпори под формата на плътно биологично вещеÑтво. +block.cultivator.details = ВъзÑтановена технологиÑ. Използва Ñе, за да произвежда маÑивно количеÑтво биомаÑа Ñ Ð¼Ð°ÐºÑимална ефективноÑÑ‚. ВероÑтно първоначалниÑÑ‚ инкубатор на Ñпорите, който Ñега покрива Серпуло. +block.oil-extractor.description = Използва голÑмо количеÑтво електроенергиÑ, пÑÑък и вода, за да добива нефт. +block.core-shard.description = Ядро на базата. Ðко бъде унищожено, Ñекторът Ñе губи. +block.core-shard.details = Първата итерациÑ. Компактна. Самовъзпроизвежда Ñе. Оборудвана Ñ ÐµÐ´Ð½Ð¾ÐºÑ‚Ð°Ñ€Ð½Ð¸ Ñтартови двигатели. Ðе е предназначена за междупланетарни полети. +block.core-foundation.description = Ядро на базата. Добре бронирано. Съдържа повече реÑурÑи от модел ЧаÑтица. +block.core-foundation.details = Втората итерациÑ. +block.core-nucleus.description = Ядро на базата. Изключително добре бронирано. СъхранÑва огромни количеÑтва реÑурÑи. +block.core-nucleus.details = Третата и финална итерациÑ. +block.vault.description = СъхранÑва голÑмо количеÑтво материали от вÑеки тип. Съдържанието може да бъде доÑтъпено чрез разтоварител. +block.container.description = СъхранÑва малко количеÑтво материали от вÑеки тип. Съдържанието може да бъде доÑтъпено чрез разтоварител. +block.unloader.description = Разтоварва избран материал от близки блокове. +block.launch-pad.description = ИзÑтрелва патриди от елементи в избраните Ñектори. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = ИзÑтрелва редуващи Ñе куршуми по враговете. +block.scatter.description = ИзÑтрелва топки олово, Ñкрап или метаÑтъкло на Ñъчми Ñрещу вражеÑки въздушни единици. +block.scorch.description = Ð˜Ð·Ð³Ð°Ñ€Ñ Ð²Ñички наземни врагове в близоÑÑ‚. ВиÑока ефективноÑÑ‚ от близко разÑтоÑние. +block.hail.description = ИзÑтрелва малки ÑнарÑди по наземни врагове на големи разÑтоÑниÑ. +block.wave.description = ИзÑтрелва потоци течноÑÑ‚ по враговете. Ðвтоматично гаÑи пожари, когато Ñе ÑнабдÑва Ñ Ð²Ð¾Ð´Ð°. +block.lancer.description = Зарежда и изÑтрелва мощни лъчи ÐµÐ½ÐµÑ€Ð³Ð¸Ñ Ð¿Ð¾ наземни цели. +block.arc.description = ИзÑтрелва волтови дъги по наземни цели. +block.swarmer.description = ИзÑтрелва ракети Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ð¾ наÑочване. +block.salvo.description = ИзÑтрелва бързи залпове от куршуми. +block.fuse.description = ИзÑтрелва три пробиващи взрива по врагове на близко разÑтоÑние. +block.ripple.description = ИзÑтрелва клъÑтери от ÑнарÑди по наземни врагове на големи разÑтоÑниÑ. +block.cyclone.description = ИзÑтрелва взривоопаÑни топки от Ñъчми по близки врагове. +block.spectre.description = ИзÑтрелва големи бронепробивни куршуми по въздушни и наземни мишени. +block.meltdown.description = Зарежда и изÑтрелва продължителен лазерен лъч по близки врагове. ИзиÑква охладител, за да функционира. +block.foreshadow.description = Произвежда единични Ñилни изÑтрели на дълго раÑтоÑние. Приоритизира враговете Ñ Ð¿Ð¾Ð²ÐµÑ‡Ðµ точки живот. +block.repair-point.description = ÐепрекъÑнато ремонтира най-близката повредена единица в обхват. +block.segment.description = Поврежда и унищожава вражеÑки ÑнарÑди. Ðе дейÑтва на лазери. +block.parallax.description = Ðктивира прихващаш лъч, Ñ ÐºÐ¾Ð¹Ñ‚Ð¾ придърпва и уврежда въздушни единици. +block.tsunami.description = ИзÑтрелва мощни потоци течноÑÑ‚ по враговете. Ðвтоматично гаÑи пожари, когато Ñе ÑнабдÑва Ñ Ð²Ð¾Ð´Ð°. +block.silicon-crucible.description = Рафинира Ñиликон от пÑÑък и въглища, използвайки пиратит като допълнителен източник на топлина. Работи по-ефективно върху топли повърхноÑти. +block.disassembler.description = Бавно извлича редки минерални компоненти от шлака. Има ÑˆÐ°Ð½Ñ Ð´Ð° извлече торий. +block.overdrive-dome.description = Повишава ÑкороÑтта на близки Ñгради. Ðуждае Ñе от фазова тъкан и Ñиликон, за да работи. +block.payload-conveyor.description = ПренаÑÑ Ð³Ð¾Ð»ÐµÐ¼Ð¸ товари, като единици от фабрика. +block.payload-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð½Ð°Ñ‚Ð¾Ð²Ð°Ñ€ÐµÐ½Ð¸Ñ‚Ðµ единици в 3 различни поÑоки. +block.ground-factory.description = Произвежда наземни единици. Произведените единици могат да бъдат използвани директно или пренеÑени във РеконÑтруктори за подобрение. +block.air-factory.description = Произвежда въздушни единици. Произведените единици могат да бъдат използвани директно или пренеÑени във РеконÑтруктори за подобрение. +block.naval-factory.description = Произвежда морÑки единици. Произведените единици могат да бъдат използвани директно или пренеÑени във РеконÑтруктори за подобрение. +block.additive-reconstructor.description = ПодобрÑва доÑтавените единици до второ ниво. +block.multiplicative-reconstructor.description = ПодобрÑва доÑтавените единици до трето ниво. +block.exponential-reconstructor.description = ПодобрÑва доÑтавените единици до четвърто ниво. +block.tetrative-reconstructor.description = ПодобрÑва доÑтавените единици до петото и поÑледно ниво. +block.switch.description = Превключвател. Може да Ñе превключва ръчно и да Ñе Ñледи и управлÑва Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑор. +block.micro-processor.description = Многократно изпълнÑва поредица от логичеÑки инÑтрукции. Може да управлÑва единици и поÑтройки. +block.logic-processor.description = Многократно изпълнÑва поредица от логичеÑки инÑтрукции. Може да управлÑва единици и поÑтройки. По-бърз от микропроцеÑор. +block.hyper-processor.description = Многократно изпълнÑва поредица от логичеÑки инÑтрукции. Може да управлÑва единици и поÑтройки. По-бърз от логичеÑки процеÑор. +block.memory-cell.description = СъхранÑва информациÑ, коÑто може да Ñе доÑтъпва или Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ñ‚ процеÑор. +block.memory-bank.description = СъхранÑва информациÑ, коÑто може да Ñе доÑтъпва или Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ Ð¾Ñ‚ процеÑор. Има голÑм капацитет. +block.logic-display.description = ПозволÑва изобразÑването на графика чрез процеÑор. +block.large-logic-display.description = ПозволÑва изобразÑването на графика чрез процеÑор. +block.interplanetary-accelerator.description = МаÑивна електромагнитна релÑова кула. УÑкорÑва Ñдрото до необходимата за междупланетно изÑтрелване ÑкороÑÑ‚. +block.repair-turret.description = ÐепрекъÑнато ремонтира най-близката повредена единица в обхват. Може да приема охладител. +block.core-bastion.description = Ядро на базата. Добре бронирано. Ðко бъде унищожено, Ñекторът е загубен. +block.core-citadel.description = Ядро на базата. Много добре бронирано. СъхранÑва повече реÑурÑи от Ñдро Убежище. +block.core-acropolis.description = Ядро на базата. Изключтилено бронирано. СъхранÑва повече реÑурÑи от Ñдро Цитадела. +block.breach.description = ИзÑтрелва пробождащи муниции от берилий или волфрам. +block.diffuse.description = ИзÑтрелва облак от куршуми в широк конуÑ. ИзтлаÑква враговете назад. +block.sublimate.description = ИзпуÑка продължителна ÑÑ‚Ñ€ÑƒÑ Ð¾Ñ‚ пламък към врага. Пробожда брони. +block.titan.description = ИзÑтрелва маÑивен артилерийÑки ÑнарÑд към наземни мишени. Ðуждае Ñе от водород. +block.afflict.description = ИзÑтрелва маÑивна заредена Ñфера от фрагментарна противовъздушна Ñила. Ðуждае Ñе от нагрÑване. +block.disperse.description = ИзÑтрелва противовъздушни ÑнарÑди към летÑщи мишени. +block.lustre.description = ИзÑтрелва бавноподвижен лазер към една мишена. +block.scathe.description = ИзÑтрелва могъща ракета към наземни мишени през огромни разÑтоÑниÑ. +block.smite.description = ИзÑтрелва ÑÐµÑ€Ð¸Ñ Ð¾Ñ‚ пробождащи, наелектризирани куршуми. +block.malign.description = ИзÑтрелва порой от ÑамонаÑочващи Ñе лазерни зарÑди. Ðуждае Ñе от значително нагрÑване. +block.silicon-arc-furnace.description = Рефинира Ñиликон от пÑÑък и графит. +block.oxidation-chamber.description = Преобразува берилий и озон в окÑид. Излъчва топлина като Ñтраничен продукт. +block.electric-heater.description = ÐагрÑва Ñрещуположни блокове. Ðуждае Ñе от големи количеÑтва електричеÑтво. +block.slag-heater.description = ÐагрÑва Ñрещуположни блокове. Ðуждае Ñе от Ñлаг. +block.phase-heater.description = ÐагрÑва Ñрещуположни блокове. Ðуждае Ñе от фазова тъкан. +block.heat-redirector.description = ПренаÑочва натрупана топлина към други блокове. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð½Ð°Ñ‚Ñ€ÑƒÐ¿Ð°Ð½Ð°Ñ‚Ð° топлина в три изходÑщи поÑоки. +block.electrolyzer.description = Превръща вода във водород и озонов газ. +block.atmospheric-concentrator.description = Концентрира азот от атмоÑферата. Ðуждае Ñе от нагрÑване. +block.surge-crucible.description = Образува импулÑна Ñплав от Ñлаг и Ñиликон. Ðуждае Ñе от нагрÑване. +block.phase-synthesizer.description = Синтезира фазова тъкан от торий, пÑÑък и озон. Ðуждае Ñе от нагрÑване. +block.carbide-crucible.description = Слива графит и волфрам в карбид. Ðуждае Ñе от нагрÑване. +block.cyanogen-synthesizer.description = Синтезира цианоген от акрицид и графит. Ðуждае Ñе от нагрÑване. +block.slag-incinerator.description = Ð˜Ð·Ð³Ð°Ñ€Ñ ÑƒÑтойчиви предмети или течноÑти. Ðуждае Ñе от Ñлаг. +block.vent-condenser.description = Кондензира изпуÑнати газове във вода. Поглъща електричеÑтво. +block.plasma-bore.description = Когато Ñе поÑтави Ñрещуположно на Ñтена Ñ Ñ€ÑƒÐ´Ð°, извежда предмети безкрайно. Ðуждае Ñе от малко електричеÑтво. +block.large-plasma-bore.description = По-голÑма плазмена бургиÑ. СпоÑобна е да изкопава волфрам и торий. Ðуждае Ñе от водород и електричеÑтво. +block.cliff-crusher.description = Ðатрошава Ñтени, за да генерира безкрайно количеÑтво пÑÑък. Ðуждае Ñе от ток. ЕфикаÑноÑтта варира ÑпрÑмо вида Ñтена. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Когато Ñе поÑтави върху руда, извежда предмети безкрайно на тлаÑъци. Ðуждае Ñе от ток и вода. +block.eruption-drill.description = Подобрен ÑблъÑъчен Ñвредел. СпоÑобен е да изкопава торий. Ðуждае Ñе от водород. +block.reinforced-conduit.description = Придвижва течноÑти напред. Ðе приема непроводими материали от Ñтрани. +block.reinforced-liquid-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ñ‚ÐµÑ‡Ð½Ð¾Ñти поравно на вÑички Ñтрани. +block.reinforced-liquid-tank.description = СъхранÑва голÑмо количеÑтво течноÑти. +block.reinforced-liquid-container.description = СъхранÑва значително количеÑтво течноÑти. +block.reinforced-bridge-conduit.description = ПренаÑÑ Ñ‚ÐµÑ‡Ð½Ð¾Ñти над Ñтруктури и над терен. +block.reinforced-pump.description = Изпомпва и изнаÑÑ Ñ‚ÐµÑ‡Ð½Ð¾Ñти. Ðуждае Ñе от водород. +block.beryllium-wall.description = Защитава Ñградите от вражеÑки огън. +block.beryllium-wall-large.description = Защитава Ñградите от вражеÑки огън. +block.tungsten-wall.description = Защитава Ñградите от вражеÑки огън. +block.tungsten-wall-large.description = Защитава Ñградите от вражеÑки огън. +block.carbide-wall.description = Защитава Ñградите от вражеÑки огън. +block.carbide-wall-large.description = Защитава Ñградите от вражеÑки огън. +block.reinforced-surge-wall.description = Защитава Ñтруктури от вражеÑки огън, периодично оÑвобождавайки електричеÑки дъги при контакт. +block.reinforced-surge-wall-large.description = Защитава Ñтруктури от вражеÑки огън, периодично оÑвобождавайки волтови дъги при контакт. +block.shielded-wall.description = Защитава Ñтруктури от вражеÑки огън. ПуÑка щит, който поглъща повечето ÑнарÑди, докато има електричеÑтво. Ðуждае Ñе от ток. +block.blast-door.description = Стена, коÑто Ñе отварÑ, когато в близоÑÑ‚ има приÑтелÑки наземни единици. Ðе може да Ñе управлÑва ръчно. +block.duct.description = Придвижва предмети напред. Може да ÑъхранÑва Ñамо по един предмет. +block.armored-duct.description = Придвижва предмети напред. Ðе приема чужди предмети от Ñтрани. +block.duct-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ поравно в три поÑоки. Приема предмети единÑтвено от задната Ñи Ñтрана. Може да Ñе наÑтрои като Ñортировач на предмети. +block.overflow-duct.description = Извежда предмети към Ñтените единÑтвено, ако предниÑÑ‚ път е възпрепÑÑ‚Ñтван. +block.duct-bridge.description = Придвижва предмети над Ñгради и терен. +block.duct-unloader.description = Разтоварва избраниÑÑ‚ предмет от блока зад него. Ðе може да разтоварва от Ñдра. +block.underflow-duct.description = Обратното на преливащ тръбопровод. Извежда напред, когато левиÑÑ‚ и деÑниÑÑ‚ път Ñа блокирани. +block.reinforced-liquid-junction.description = ДейÑтва като преÑечна точка между два преÑичащи Ñе потока. +block.surge-conveyor.description = Придвижва предмети на партити. Може да Ñе уÑкори Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¸Ñ‡ÐµÑтво. Електропроводим. +block.surge-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¸ в три поÑоки поравно от импулÑни ленти. Може да Ñе уÑкори Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¸Ñ‡ÐµÑтво. Електропроводим. +block.unit-cargo-loader.description = ПоÑтроÑва товарителни дрони. Дроните автоматично разпределÑÑ‚ предмети към Разтоварителни точки ÑÑŠÑ Ñъвпадащ филтър. +block.unit-cargo-unload-point.description = ДейÑтва като разтоварваща точка за товарителни дрони. Приема предмети, които Ñъвпадат Ñ Ð¿Ð¾ÑÐ¾Ñ‡ÐµÐ½Ð¸Ñ Ñ„Ð¸Ð»Ñ‚ÑŠÑ€. +block.beam-node.description = Предава електричеÑтво ортогонално към други блокове. СъхранÑва малко количеÑтво ток. +block.beam-tower.description = Предава електричеÑтво ортогонално към други блокове. СъхранÑва голÑмо количеÑтво ток. ВиÑок обхват. +block.turbine-condenser.description = Създава ток, когато Ñе поÑтави върху отвори. Произвежда малко количеÑтво вода. +block.chemical-combustion-chamber.description = Създава ток от аркицид и озон. +block.pyrolysis-generator.description = Създава голÑмо количеÑтво ток от аркицид и Ñлаг. Произвежда вода като Ñтраничен продукт. +block.flux-reactor.description = Когато Ñе нагрее, Ñъздава големи количеÑтва електричеÑтво. ИзиÑква цианоген, за да Ñе Ñтабилизира. ИзходÑщиÑÑ‚ ток и нуждата от цианоген Ñа пропорционални Ñ Ð¿Ð¾Ð´Ð°Ð´ÐµÐ½Ð°Ñ‚Ð° топлина.\nЕкÑплодира, ако не получи доÑтатъчно цианоген. +block.neoplasia-reactor.description = Използва аркицид, вода и фазова тъкан, за да Ñъздава виÑоки количеÑтва електричеÑтво. Произвежда топлина и опаÑна нео-плазма като Ñтранични продукти.\nЕкÑлодира жеÑтоко, когато нео-плазмата не Ñе извежда от реактора Ñ Ñ‚Ñ€ÑŠÐ±Ð¾Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð¸. +block.build-tower.description = Ðвтоматично възÑтановÑва Ñгради в обхвата Ñи и единици в производÑтво. +block.regen-projector.description = Бавно Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки Ñгради в квадратен периметър. Ðуждае Ñе от водород. +block.reinforced-container.description = СъхранÑва малко количеÑтво предмети. Съдържанието може да бъде извеждано Ñ Ñ€Ð°Ð·Ñ‚Ð¾Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»Ð¸. Ðе увеличава размера на хранилището на Ñдрото. +block.reinforced-vault.description = СъхранÑва голÑмо количеÑтво предмети. Съдържанието може да бъде извеждано Ñ Ñ€Ð°Ð·Ñ‚Ð¾Ð²Ð°Ñ€Ð¸Ñ‚ÐµÐ»Ð¸. Ðе увеличава размера на хранилището на Ñдрото. +block.tank-fabricator.description = Произвежда единици тип "Стел". Изведените единици могат да Ñе управлÑват директно или да бъдат изпратени към рефабрикаторите за подобрение. +block.ship-fabricator.description = Произвежда единици тип "Елуд". Изведените единици могат да Ñе управлÑват директно или да бъдат изпратени към рефабрикаторите за подобрение. +block.mech-fabricator.description = Произвежда единици тип "Меруи". Изведените единици могат да Ñе управлÑват директно или да бъдат изпратени към рефабрикаторите за подобрение. +block.tank-assembler.description = Изгражда огромни танкове от въведени блокове и единици. ИзходÑщиата единица може да бъде подобрен чрез модули. +block.ship-assembler.description = Изгражда огромни кораби от въведени блокове и единици. ИзходÑщиата единица може да бъде подобрен чрез модули. +block.mech-assembler.description = Изгражда огромни машини от въведени блокове и единици. ИзходÑщиата единица може да бъде подобрен чрез модули. +block.tank-refabricator.description = ПодобрÑва въведените танкове до второ ниво. +block.ship-refabricator.description = ПодобрÑва въведените кораби до второ ниво. +block.mech-refabricator.description = ПодобрÑва въведените машини до второ ниво. +block.prime-refabricator.description = ПодобрÑва въведените единици до трето ниво. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = ДеконÑтруира въведени Ñгради и единици. Възвръща 100% от разхода им за производÑтво. +block.reinforced-payload-conveyor.description = Придвижва товарите напред. +block.reinforced-payload-router.description = Ð Ð°Ð·Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ Ñ‚Ð¾Ð²Ð°Ñ€Ð¸ в ÑÑŠÑедни блокове. Когато има поÑочен филтър, дейÑтва като Ñортировач. +block.payload-mass-driver.description = Далекообхватна Ñграда за транÑпорт на товари. ИзÑтрелва получените товари към Ñвързани маÑирани двигатели. +block.large-payload-mass-driver.description = Далекообхватна Ñграда за транÑпорт на товари. ИзÑтрелва получените товари към Ñвързани маÑирани двигатели. +block.unit-repair-tower.description = ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ð²Ñички единици в ÑÐ²Ð¾Ñ Ð¾Ð±Ñ…Ð²Ð°Ñ‚. Ðуждае Ñе от озон. +block.radar.description = ПоÑтепенно разкрива терена и вражеÑки единици в широк радиуÑ. Ðуждае Ñе от електричеÑтво. +block.shockwave-tower.description = Поврежда и унищожава вражеÑки ÑнарÑди в обхвата Ñи. Ðуждае Ñе от цианоген. +block.canvas.description = Показва проÑто изображение Ñ Ð¿Ñ€ÐµÐ´Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð° палитра. Може да Ñе редактира. + +unit.dagger.description = ИзÑтрелва Ñтандартни боеприпаÑи по вÑички близки врагове. +unit.mace.description = ИзÑтрелва поток от пламък по вÑички близки врагове. +unit.fortress.description = Далекообхватна атака Ñрещу наземни единици. +unit.scepter.description = ИзÑтрелва залп от заредени куршуми по вÑички близки врагове. +unit.reign.description = ИзÑтрелва залп от маÑивни пронизващи куршуми по вÑички близки врагове. +unit.nova.description = ИзÑтрелва лазерни лъчи, които повреждат врагове и поправÑÑ‚ приÑтелÑки Ñгради. Може да лети. +unit.pulsar.description = Ðктивира волтови дъги, които повреждат врагове и поправÑÑ‚ приÑтелÑки Ñгради. Може да лети. +unit.quasar.description = ИзÑтрелва пронизващи лазерни лъчи, които повреждат врагове и поправÑÑ‚ приÑтелÑки Ñгради. Може да лети. Има защитно поле. +unit.vela.description = ИзÑтрелва маÑивен продължителен лазерен лъч, който поврежда врагове, причинÑва пожари и Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки Ñгради. Може да лети. +unit.corvus.description = ИзÑтрелва маÑивен лазерен взрив, който поврежда врагове и Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки Ñгради. Може да преминава над повечето терени. +unit.crawler.description = БÑга към врагове и Ñе Ñамоунищожава, предизвиквайки голÑма екÑплозиÑ. +unit.atrax.description = ИзÑтрелва обездвижващи кълба от шлака по наземни цели. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.spiroct.description = ИзÑтрелва пронизващи лазерни лъчи по враговете и Ñе ÑамовъзÑтановÑва. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.arkyid.description = Ðтакува врагове Ñ Ð³Ð¾Ð»ÐµÐ¼Ð¸ източващи лазерни лъчи и Ñе ÑамовъзÑтановÑва. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.toxopid.description = ИзÑтрелва големи електричеÑки клъÑтерни ÑнарÑди и пронизващи лазери по врагове. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.flare.description = ИзÑтрелва Ñтандартни ÑнарÑди по близки наземни врагове. +unit.horizon.description = ПуÑка ÑÐµÑ€Ð¸Ñ Ð¾Ñ‚ бомби по наземни мишени. +unit.zenith.description = ИзÑтрелва залпове от ракети по вÑички близки врагове. +unit.antumbra.description = ИзÑтрелва залп от боеприпаÑи по вÑички врагове в обхвата Ñи. +unit.eclipse.description = ИзÑтрелва два пробиващи лазера и залп от Ñачми по близки врагове. +unit.mono.description = Ðвтоматично добива мед и олово, Ñлед което ги пренаÑÑ Ð² Ñдрото. +unit.poly.description = Ðвтоматично Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¸Ð»Ð¸ поÑтроÑва увредени и унищожени Ñгради. Помага на други единици в Ñтроежи. +unit.mega.description = Ðвтоматично Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ð¾Ð²Ñ€ÐµÐ´ÐµÐ½Ð¸ Ñгради. Може да пренаÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ и малки наземни единици. +unit.quad.description = ПуÑка големи бомби по наземни мишени, Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки Ñгради и поврежда враговете. Може да пренаÑÑ Ñредни по размер наземни единици. +unit.oct.description = Защитава приÑтелÑки единици чрез регенериращо защитно поле. Може да пренаÑÑ Ð¿Ð¾Ð²ÐµÑ‡ÐµÑ‚Ð¾ наземни единици. +unit.risso.description = ИзÑтрелва залпове от ракети и боеприпаÑи по вÑички близки врагове. +unit.minke.description = ИзÑтрелва Ñачми и Ñтандартни муниции по наземни мишени. +unit.bryde.description = ИзÑтрелва далекообхватни боеприпаÑи и ракети по врагове. +unit.sei.description = ИзÑтрелва поредица от ракети и бронебойни куршуми по врагове. +unit.omura.description = ИзÑтрелва далечни пробивни релÑови лазери по врагове. Изгражда единици модел Факел. +unit.alpha.description = Защитава Ñдро ЧаÑтица от врагове. Строи Ñгради. +unit.beta.description = Защитава Ñдро Ð¤Ð¾Ð½Ð´Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ врагове. Строи Ñгради. +unit.gamma.description = Защитава Ñдро Център от врагове. Строи Ñгради. +unit.retusa.description = ИзÑтрелва ÑамонаÑочващи Ñе торпеда към близки врагове. ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки единици. +unit.oxynoe.description = ИзÑтрелва потоци от огън, които вредÑÑ‚ на враговете и поправÑÑ‚ Ñгради. ÐаÑочва Ñе към вражеÑки ÑнарÑди Ñ ÐºÑƒÐ»Ð° за точкова защита. +unit.cyerce.description = ИзÑтрелва търÑещи клъÑтерни ракети по враговете. ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки единици. +unit.aegires.description = Шокира вÑички вражеÑки единици и Ñгради в енергийното Ñи поле. ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ð²Ñички приÑтелÑки единици. +unit.navanax.description = ИзÑтрелва екÑплозивни ЕМП ÑнарÑди, които нанаÑÑÑ‚ значителна вреда на вражеÑките Ñилови мрежи и Ð¿Ð¾Ð¿Ñ€Ð°Ð²Ñ Ð¿Ñ€Ð¸ÑтелÑки Ñгради. РазтопÑва близки врагове Ñ 4 автономни лазерни оръдиÑ. +unit.stell.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ ÑÑŠÑ Ñтандартни куршуми по вражеÑки цели. +unit.locus.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ Ð¿Ð¾Ñледователни куршуми по вражеÑки цели. +unit.precept.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ Ñ Ð¿Ñ€Ð¾Ð½Ð¸Ð·Ð²Ð°Ñ‰Ð¸ клъÑтерни куршуми по вражеÑки цели. +unit.vanquish.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ Ñ ÐµÐ´Ñ€Ð¸ пронизващи и разцепващи Ñе куршуми по вражеÑки цели. +unit.conquer.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ Ñ ÐµÐ´Ñ€Ð¸ пронизващи каÑкади от куршуми по вражеÑки цели. +unit.merui.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ Ñ Ð´Ð°Ð»ÐµÐºÐ¾Ð¾Ð±Ñ…Ð²Ð°Ñ‚Ð½Ð° Ð°Ñ€Ñ‚Ð¸Ð»ÐµÑ€Ð¸Ñ Ð¿Ð¾ вражеÑки наземни цели. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.cleroi.description = Ð¡Ñ‚Ñ€ÐµÐ»Ñ Ñ Ð´Ð²Ð¾Ð¹Ð½Ð¸ ÑнарÑди по вражеÑки цели. ÐаÑочва Ñе към вражеÑки ÑнарÑди Ñ ÐºÑƒÐ»Ð¸ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð²Ð° защита. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.anthicus.description = ИзÑтрелва далекообхватни ÑамонаÑочващи Ñе ракети по вражеÑки цели. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.tecta.description = ИзÑтрелва ÑамонаÑочващи Ñе плазмени ракети по вражеÑки цели. Защитава Ñе Ñ Ð½Ð°Ñочен щит. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.collaris.description = ИзÑтрелва далекообхватна фрагментарна Ð°Ñ€Ñ‚Ð¸Ð»ÐµÑ€Ð¸Ñ Ð¿Ð¾ вражеÑки цели. Може да прекоÑÑва почти вÑÑкакъв терен. +unit.elude.description = ИзÑтрелва чифт ÑамонаÑочващи Ñе куршуми по вражеÑки цели. Може да прелита над течни баÑейни. +unit.avert.description = ИзÑтрелва уÑукващи Ñе чифтове куршуми по вражеÑки цели. +unit.obviate.description = ИзÑтрелва уÑукващи Ñе чифтове електричеÑки Ñфери по вражеÑки цели. +unit.quell.description = ИзÑтрелва далекообхватни ÑамонаÑочващи Ñе ракети по вражеÑки цели. Възпира поправките на вражеÑки блокове. +unit.disrupt.description = ИзÑтрелва далекообхватни ÑамонаÑочващи Ñе и възпиращи ракети по вражеÑки цели. Възпира поправките на вражеÑки блокове. +unit.evoke.description = Строи Ñгради, за да защитава Ñдро Убежище. ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ñгради Ñ Ð»ÑŠÑ‡. +unit.incite.description = Строи Ñгради, за да защитава Ñдро Цитадела. ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ñгради Ñ Ð»ÑŠÑ‡. +unit.emanate.description = Строи Ñгради, за да защитава Ñдро Ðкропол. ÐŸÐ¾Ð¿Ñ€Ð°Ð²Ñ Ñгради Ñ Ð»ÑŠÑ‡. + +lst.read = Прочети чиÑло от Ñвързано хранилище за памет. +lst.write = Запиши чиÑло в Ñвързано хранилище за памет. +lst.print = Добави текÑÑ‚ в буфера за изпиÑване.\nÐе визуализира нищо докато не използвате [accent]Print Flush[]. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Ð”Ð¾Ð±Ð°Ð²Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð² буфера за изображение.\nÐе показва нищо докато не използвате [accent]Draw Flush[]. +lst.drawflush = ИзпълнÑва операции, поиÑкани Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° [accent]Draw[] върху поÑочен диÑплей. +lst.printflush = Извежда текÑÑ‚ натрупан Ñ [accent]Print[] върху поÑочен блок за Ñъобщение. +lst.getlink = Взима връзка на процеÑора по номер. Започва от 0. +lst.control = Контролира Ñграда. +lst.radar = Ðамира единици около Ñграда в обхват. +lst.sensor = Взима Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ Ñграда или единица. +lst.set = Задава променлива. +lst.operation = ИзпълнÑва Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ñ 1 или 2 променливи. +lst.end = Започва ÑпиÑъка Ñ Ð¸Ð½Ñтрукции от начало. +lst.wait = Изчаква определен брой Ñекунди. +lst.stop = Спира изпълнението на този процеÑор. +lst.lookup = ТърÑи предмет/течноÑÑ‚/единица/вид блок чрез неговото ID.\nМожете да видите общиÑÑ‚ брой на вÑеки вид чрез:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = ПреÑкача до друга Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² програмата, когато дадено уÑловие бъде изпълнено. +lst.unitbind = Поема контрол над Ñледващата единица от избран тип и Ñ Ð·Ð°Ð¿Ð¸Ñва в променливата [accent]@unit[]. +lst.unitcontrol = УправлÑва контролираната в момента единица. +lst.unitradar = ЗаÑича единици около контролираната единица. +lst.unitlocate = Ðамира конкретен тип поÑтройка/Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð½Ð° картата.\nÐеобходимо е да контролирате единица за да го използвате. +lst.getblock = Получаване на данни за повърхноÑÑ‚ от вÑÑка локациÑ. +lst.setblock = Задаване на данни за повърхноÑÑ‚ от вÑÑка локациÑ. +lst.spawnunit = Създава единица върху дадена повърхноÑÑ‚. +lst.applystatus = Прилага или премахва определено ÑÑŠÑтоÑние от единица. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Симулира пуÑната вълна на произволно мÑÑто.\nÐÑма да увеличи бройката на вълните. +lst.explosion = Създава екÑÐ¿Ð»Ð¾Ð·Ð¸Ñ Ð½Ð° избрано мÑÑто. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = ПоÑтавÑне на правило за игра. +lst.flushmessage = Извежда Ñъобщение на екрана от текÑÑ‚Ð¾Ð²Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€.\nИзчаква до приключването на предишното Ñъобщение. +lst.cutscene = Манипулира камерата на играча. +lst.setflag = ПоÑтавÑне на глобално знаме, което може да Ñе разчете от вÑички процеÑори. +lst.getflag = ПроверÑва дали е поÑтавено глобално знаме. +lst.setprop = ПоÑÑ‚Ð°Ð²Ñ Ð¿Ñ€Ð¸Ñ‚ÐµÐ¶Ð°Ð½Ð¸ÐµÑ‚Ð¾ на единица или Ñграда. +lst.effect = Create a particle effect. +lst.sync = Синхронизира променлива през мрежата.\nПредизвиква Ñе най-много 10 пъти в Ñекунда. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]ДейÑÑ‚Ð²Ð¸Ñ Ð·Ð° Ñтроене на единици не Ñа позволени тук. + +lenum.type = Тип Ñграда/единица\nÐапример, за рутер, това ще върне [accent]@router[].\nÐе е текÑÑ‚. +lenum.shoot = Ð¡Ñ‚Ñ€ÐµÐ»Ñ ÐºÑŠÐ¼ позициÑ. +lenum.shootp = Прицелва Ñе в единица/Ñграда, изчиÑлÑвайки нейната ÑкороÑÑ‚. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Дали блокът е активиран или забранен. +laccess.currentammotype = Текущите муниции/течноÑÑ‚ на оръдието. + +laccess.color = ЦвÑÑ‚ на оÑветителÑ. +laccess.controller = Показва кой контролира единицата.\nÐко Ñе управлÑва от процеÑор, показва него.\nÐко е във формациÑ, показва водача й.\nИначе ще покаже Ñамата единица. +laccess.dead = Дали дадена единица/Ñграда е била унищожена или вече е невалидна. +laccess.controlled = Показва:\n[accent]@ctrlProcessor[] ако единицата е контролирана от процеÑор\n[accent]@ctrlPlayer[] ако единицата/Ñградата е контролирана от играч\n[accent]@ctrlFormation[] ако единицата учаÑтва във формациÑ\nИначе, връща 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Ðай-виÑока ÑкороÑÑ‚ за единица, измерено в полета/Ñекунда. +laccess.id = ID на единица/блок/предмет/течноÑÑ‚.\nТази Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ðµ обратната на търÑенето. +lcategory.unknown = ÐеизвеÑтно +lcategory.unknown.description = Ðекатегоризирани указаниÑ. +lcategory.io = Вход и изход +lcategory.io.description = Модифицира ÑъдържаниÑта на помнещи блокове и процеÑорни буфери. +lcategory.block = Контрол на блок +lcategory.block.description = ВзаимодейÑтвие Ñ Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ. +lcategory.operation = Операции +lcategory.operation.description = ЛогичеÑки операции. +lcategory.control = Контрол на течението +lcategory.control.description = Управление на Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸Ñ‚ÐµÐ»Ð½Ð¸Ñ Ñ€ÐµÐ´. +lcategory.unit = Управление на единица +lcategory.unit.description = УправлÑване на единици. +lcategory.world = СвÑÑ‚ +lcategory.world.description = УправлÑва поведението на Ñвета. + +graphicstype.clear = Запълва Ñ Ñ†Ð²ÑÑ‚. +graphicstype.color = Задава цвÑÑ‚ за Ñледващи операции. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Задава дебелина на линиÑта. +graphicstype.line = РиÑува линиÑ. +graphicstype.rect = Запълва правоъгълник. +graphicstype.linerect = Очертава правоъгълник. +graphicstype.poly = Запълва правилен многоъгълник. +graphicstype.linepoly = Очертава правилен многоъгълник. +graphicstype.triangle = Запълва триъгълник. +graphicstype.image = РиÑува изображение.\nÐапример: [accent]@router[] или [accent]@dagger[]. +graphicstype.print = Чертае текÑÑ‚ от Ð¿Ñ€Ð¸Ð½Ñ‚ÐµÑ€Ð¾Ð²Ð¸Ñ Ð±ÑƒÑ„ÐµÑ€.\nИзчиÑтва буфера. + +lenum.always = Винаги вÑрно +lenum.idiv = Деление Ñ Ñ†ÐµÐ»Ð¸ чиÑла. +lenum.div = Деление.\nВръща [accent]null[] при делене на 0. +lenum.mod = Модул. +lenum.equal = РавенÑтво. Конвертира променливите в еднакъв тип.\nÐе-null обекти Ñтават 1, null обекти Ñтават 0. +lenum.notequal = ÐеравенÑтво. Конвертира променливите в еднакъв тип. +lenum.strictequal = Стриктно равенÑтво. Отрицателно при различни типове променливи.\nМоже да Ñе използва за проверка на [accent]null[]. +lenum.shl = Побитово измеÑтване налÑво. +lenum.shr = Побитово измеÑтване надÑÑно. +lenum.or = Побитово ИЛИ. +lenum.land = ЛогичеÑко И. +lenum.and = Побитово И. +lenum.not = Побитово ÐЕ. +lenum.xor = Побитово ИЗКЛЮЧВÐЩО ИЛИ. + +lenum.min = Минимална ÑтойноÑÑ‚ от 2 чиÑла. +lenum.max = МакÑимална ÑтойноÑÑ‚ от 2 чиÑла. +lenum.angle = Ъгъл на вектор в градуÑи. +lenum.anglediff = ÐбÑолютното разÑтоÑние между два ъгъла в градуÑи. +lenum.len = Дължина на вектор. +lenum.sin = СинуÑ, в градуÑи. +lenum.cos = КоÑинуÑ, в градуÑи. +lenum.tan = ТангенÑ, в градуÑи. +lenum.asin = Дъгов ÑинуÑ, в градуÑи. +lenum.acos = Дъгов коÑинуÑ, в градуÑи. +lenum.atan = Дъгов тангенÑ, в градуÑи. +#not a typo, look up 'range notation' +lenum.rand = Случайно чиÑло в регион [0, ÑтойноÑÑ‚). +lenum.log = ЕÑтеÑтвен логаритъм (ln). +lenum.log10 = Логаритъм Ñ Ð¾Ñнова 10. +lenum.noise = 2D simplex шум. +lenum.abs = ÐбÑолютна ÑтойноÑÑ‚. +lenum.sqrt = Квадратен корен. + +lenum.any = Ð’ÑÑкаква единица. +lenum.ally = ПриÑтелÑка единица. +lenum.attacker = Въоръжена единица. +lenum.enemy = ВражеÑка единица. +lenum.boss = Пазител. +lenum.flying = Въздушна единица. +lenum.ground = Ðаземна единица. +lenum.player = Единица контролирана от играч. + +lenum.ore = Рудно находище. +lenum.damaged = Повредена приÑтелÑка Ñтруктура. +lenum.spawn = ВражеÑка начална точка.\nМоже да е вражеÑко Ñдро или позициÑ. +lenum.building = ПоÑтройка в определена група. + +lenum.core = Ð’ÑÑкакво Ñдро +lenum.storage = Хранилище, например Ñклад. +lenum.generator = Електрогенератор. +lenum.factory = Сграда коÑто обработва реÑурÑи, фабрика. +lenum.repair = Точка за ремонт. +lenum.battery = БатериÑ. +lenum.resupply = Точка за ÑнабдÑване.\nИма ÑмиÑъл Ñамо ако [accent]"Единиците Ñе нуждаÑÑ‚ от боеприпаÑи"[] е активирано. +lenum.reactor = Ударен или Ториев реактор. +lenum.turret = Ð’ÑÑкаква кула. + +sensor.in = Сградата/единицата, от коÑто да вземе информациÑ. + +radar.from = ПоÑтройка от коÑто да вземе информациÑ.\nОбхватът е ограничен от обхвата за Ñтроене. +radar.target = Филтър за единици, които ще заÑича. +radar.and = Допълнителни филтри. +radar.order = Ред на Ñортиране. 0 за обръщане. +radar.sort = Показател за Ñортиране. +radar.output = Променлива, в коÑто да изведе намерената единица. + +unitradar.target = Филтър за единици, които ще заÑича. +unitradar.and = Допълнителни филтри. +unitradar.order = Ред на Ñортиране. 0 за обръщане. +unitradar.sort = Показател за Ñортиране. +unitradar.output = Променлива в коÑто да изведе намерената единица. + +control.of = Сграда, коÑто да контролира. +control.unit = Единица/Сграда, в коÑто да Ñе цели. +control.shoot = Дали да ÑтрелÑ. + +unitlocate.enemy = Дали да локализира вражеÑки Ñгради. +unitlocate.found = Дали обектът е намерен. +unitlocate.building = Променлива в коÑто да запише намерената Ñграда. +unitlocate.outx = Резултатна X координата. +unitlocate.outy = Резултатна Y координата. +unitlocate.group = Група поÑтройки за които да търÑи. +playsound.limit = Ðко е вÑрно, предотвратÑва този звук,\nв Ñлучай, че вече е прозвучал в ÑÑŠÑ‰Ð¸Ñ ÐºÐ°Ð´ÑŠÑ€. + +lenum.idle = Ðе Ñе движи, но продължи да Ñтроиш/добиваш реÑурÑи.\nСтандартно поведение. +lenum.stop = Спри да Ñе движиш/добиваш реÑурÑи/Ñтроиш. +lenum.unbind = Ðапълно изключва логичеÑки контрол.\nПродължава Ñтандартно поведение. +lenum.move = ПремеÑти Ñе на конкретна позициÑ. +lenum.approach = Доближи Ñе до Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð½Ð° определено разÑтоÑние. +lenum.pathfind = Ðамери пътека до вражеÑката начална точка. +lenum.autopathfind = Ðвтоматично намира Ð¿ÑŠÑ‚Ñ Ð´Ð¾ най-близкото вражеÑко Ñдро или точка на кацане.\nТова е Ñъщото като обичайното ориентиране на вражеÑките вълни. +lenum.target = СтрелÑй към позициÑ. +lenum.targetp = СтрелÑй към цел, изчиÑлÑвайки нейната ÑкороÑÑ‚. +lenum.itemdrop = Разтовари предмет(и). +lenum.itemtake = Вземи предмет(и) от Ñграда. +lenum.paydrop = Разтовари товар. +lenum.paytake = Вземи товар от Ñегашната позициÑ. +lenum.payenter = Влез/кацни на Ñ‚Ð¾Ð²Ð°Ñ€Ð½Ð¸Ñ Ð±Ð»Ð¾Ðº, върху който Ñе намира единицата. +lenum.flag = ЧиÑлов флаг на единица. +lenum.mine = Добивай реÑурÑи от позициÑ. +lenum.build = ПоÑтрой Ñтруктура. +lenum.getblock = Провери типа на поÑтройката на дадени координати.\nПозициÑта трÑбва да е в обхвата на единицата.\nСолидни не-Ñгради ще имат типа [accent]@solid[]. +lenum.within = Проверете дали дадена Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ðµ в обхват на единицата. +lenum.boost = Започни/Спри уÑкорението +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_ca.properties b/core/assets/bundles/bundle_ca.properties new file mode 100644 index 0000000000..c293090e5c --- /dev/null +++ b/core/assets/bundles/bundle_ca.properties @@ -0,0 +1,2653 @@ +credits.text = Creat per [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits = Crèdits +contributors = Traductors i col·laboradors +discord = Uniu-vos al Discord del Mindustry! +link.discord.description = Canal de Discord oficial del Mindustry +link.reddit.description = El subreddit del Mindustry +link.github.description = Codi font del joc +link.changelog.description = Llista d’actualitzacions +link.dev-builds.description = Versions en desenvolupament +link.trello.description = Tauler oficial del Trello amb canvis planificats +link.itch.io.description = Pàgina itch.io amb descàrregues per PC +link.google-play.description = Vés a la Google Play Store +link.f-droid.description = Vés a l’F-Droid +link.wiki.description = Viquipèdia oficial del Mindustry +link.suggestions.description = Suggereix canvis +link.bug.description = Heu trobat un error. Informeu-ne aquí! +linkopen = Aquest servidor us ha enviat un enllaç. Esteu segur que el voleu obrir?\n\n[sky]{0} +linkfail = No s’ha pogut obrir l’enllaç!\nLa direcció URL s’ha copiat al porta-retalls. +screenshot = S’ha desat la captura de pantalla a {0}. +screenshot.invalid = El mapa és massa gran. No hi ha prou memòria per a fer la captura de pantalla. +gameover = Fi de la partida +gameover.disconnect = Desconnecta +gameover.pvp = Ha guanyat l’equip[accent] {0}[]! +gameover.waiting = [accent]S’espera el proper mapa… +highscore = [accent]Nova puntuació rècord! +copied = S’ha copiat. +indev.notready = Aquesta part del joc encara no està preparada. + +load.sound = Sons +load.map = Mapes +load.image = Imatges +load.content = Contingut +load.system = Sistema +load.mod = Mods +load.scripts = Scripts + +be.update = Hi ha una versió nova disponible. +be.update.confirm = Voleu descarregar-la i reiniciar ara? +be.updating = S’actualitza… +be.ignore = Ignora +be.noupdates = No s’han trobat actualitzacions. +be.check = Comprova si hi ha actualitzacions + +mods.browser = Explorador de mods +mods.browser.selected = Mod seleccionat +mods.browser.add = Instal·la +mods.browser.reinstall = Reinstal·la +mods.browser.view-releases = Veure versions publicades +mods.browser.noreleases = [scarlet]No s’han trobat versions publicades.\n[accent]No s’ha trobat cap versió publicada d’aquest mod. Comproveu si el dipòsit del mod n’ha publicat alguna. +mods.browser.latest = [lightgray][La versió més recent] +mods.browser.releases = Versions +mods.github.open = Dipòsit de GitHub +mods.github.open-release = Pàgina de versions publicades +mods.browser.sortdate = Ordena per data +mods.browser.sortstars = Ordena per valoració + +schematic = Esquema +schematic.add = Desa l’esquema… +schematics = Esquemes +schematic.search = Cerca esquemes… +schematic.replace = Ja hi ha un esquema amb aquest nom. Voleu reemplaçar-lo? +schematic.exists = Ja hi ha un esquema amb aquest nom. +schematic.import = Importa un esquema +schematic.exportfile = Exporta un fitxer +schematic.importfile = Importa un fitxer +schematic.browseworkshop = Explora el Workshop de l’Steam +schematic.copy = Copia al porta-retalls +schematic.copy.import = Importa del porta-retalls +schematic.shareworkshop = Comparteix al Workshop de l’Steam +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Dóna la volta a l’esquema +schematic.saved = L’esquema s’ha desat. +schematic.delete.confirm = Aquest esquema s’esborrarà. +schematic.edit = Edita l’esquema +schematic.info = {0}×{1}, {2} blocs +schematic.disabled = [scarlet]Els esquemes s’han desactivat.[]\nNo podeu fer servir esquemes en aquest [accent]mapa[] o [accent]servidor[]. +schematic.tags = Etiquetes: +schematic.edittags = Edita les etiquetes +schematic.addtag = Afegeix una etiqueta +schematic.texttag = Text de l’etiqueta +schematic.icontag = Icona de l’etiqueta +schematic.renametag = Canvia el nom de l’etiqueta +schematic.tagged = {0} d’etiquetades +schematic.tagdelconfirm = Voleu esborrar del tot aquesta etiqueta? +schematic.tagexists = Aquesta etiqueta ja existeix. + +stats = Estadístiques +stats.wave = Onades derrotades +stats.unitsCreated = Unitats construïdes +stats.enemiesDestroyed = Enemics destruïts +stats.built = Edificis construïts +stats.destroyed = Edificis destruïts +stats.deconstructed = Edificis desmantellats +stats.playtime = Temps jugat + +globalitems = [accent]Elements totals +map.delete = Esteu segur que voleu esborrar el mapa «[accent]{0}[]»? +level.highscore = Puntuació rècord: [accent]{0} +level.select = Selecció de nivell +level.mode = Mode de joc: +coreattack = < Estan atacant el nucli! > +nearpoint = [[ [scarlet]ABANDONEU EL PUNT D’ATERRATGE IMMEDIATAMENT[] ]\nAniquilació imminent +database = Base de dades del nucli +database.button = Base de dades +savegame = Desa la partida +loadgame = Carrega una partida +joingame = Uneix-me a una partida +customgame = Partida personalitzada +newgame = Partida nova +none = +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Minimapa +position = Posició +close = Tanca +website = Lloc web +quit = Surt +save.quit = Desa i surt +maps = Mapes +maps.browse = Explora els mapes +continue = Continua +maps.none = [lightgray]No s’ha trobat cap mapa! +invalid = No vàlid +pickcolor = Tria un color +preparingconfig = Es prepara la configuració… +preparingcontent = Es prepara el contingut… +uploadingcontent = Es puja el contingut… +uploadingpreviewfile = Es puja el fitxer de previsualització… +committingchanges = S’apliquen els canvis… +done = Fet! +feature.unsupported = El vostre dispositiu no suporta aquesta característica. + +mods.initfailed = [red]âš [] L’anterior instància del Mindustry no va poder iniciar-se, probablement per l’error d’algun mod.\n\nPer evitar un bucle de fallades, [red]s’han desactivat tots els mods.[] +mods = Mods +mods.none = [lightgray]No s’ha trobat cap mod! +mods.guide = Guia sobre els mods +mods.report = Informa d’un error +mods.openfolder = Obre la carpeta +mods.viewcontent = Mostra el contingut +mods.reload = Torna a carregar +mods.reloadexit = El programa es tancarà per a carregar els mods. +mod.installed = [[Instal·lat] +mod.display = [gray]Mod:[orange] {0} +mod.enabled = [lightgray]Activat +mod.disabled = [scarlet]Desactivat +mod.multiplayer.compatible = [gray]Compatible amb el mode multijugador +mod.disable = Desactiva +mod.version = Version: +mod.content = Contingut: +mod.delete.error = El mod no es pot esborrar. Potser el fitxer està en ús. +mod.incompatiblegame = [red]Versió no compatible +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]No suportat +mod.unmetdependencies = [red]Dependències sense resoldre +mod.erroredcontent = [scarlet]Errors del contingut +mod.circulardependencies = [red]Dependències circulars +mod.incompletedependencies = [red]Dependències incompletes +mod.requiresversion.details = Requereix la versió: [accent]{0}[]\nCal actualitzar la vostra versió del joc. El mod necessita una versió nova (potser una distribució alfa o beta) per a funcionar. +mod.outdatedv7.details = Aquest mod és incompatible amb l’última versió del joc. L’autor l’ha d’actualitzar i afegir [accent]minGameVersion: 136[] al seu fitxer [accent]mod.json[]. +mod.blacklisted.details = Aquest mod s’ha afegit manualment a la llista negra perquè causa problemes amb aquesta versió del joc. No el feu servir. +mod.missingdependencies.details = A aquest mod li falten dependències: {0} +mod.erroredcontent.details = Aquesta partida ha causat errors mentre es carregava. Pregunteu a l’autor del mod si pot arreglar-ho. +mod.circulardependencies.details = Aquest mod depèn d’un segon mod que, al seu torn, depèn del mod anterior. No es permeten dependències circulars. +mod.incompletedependencies.details = Aquest mod no es pot carregar perquè té una dependència no vàlida o que no es pot trobar: {0}. +mod.requiresversion = Cal la versió [red]{0}[] del joc. +mod.errors = S’han produït errors quan es carregava el contingut. +mod.noerrorplay = [scarlet]S’executen mods amb errors.[] Desactiveu els mods afectats o arregleu les errades abans de jugar. +mod.nowdisabled = [scarlet]Falten dependències del mod «{0}»s:[accent] {1}\n[lightgray]S’han de carregar els mods que fan falta.\nAquest mod es desactivarà automàticament. +mod.enable = Activa +mod.requiresrestart = El programa es tancarà per a aplicar els canvis. +mod.reloadrequired = [scarlet]Cal reiniciar +mod.import = Importa un mod +mod.import.file = Importa un fitxer +mod.import.github = Importa des de GitHub +mod.jarwarn = [scarlet]Els mods JAR no són segurs.[]\nAssegureu-vos que l’heu importat d’una font fiable. +mod.item.remove = Aquest element és part del mod[accent] «{0}»[]. Per a treure’l, cal desinstal·lar el mod. +mod.remove.confirm = Aquest mod s’esborrarà. +mod.author = [lightgray]Autor:[] {0} +mod.missing = Aquesta partida desada conté mods que heu actualitzat fa poc o que ja no teniu instal·lats. La partida desada es pot corrompre. Esteu segur que voleu carregar-la?\n[lightgray]Mods:\n{0} +mod.preview.missing = Abans de publicar aquest mod al Workshop, heu d’afegir una imatge de previsualització.\nPoseu una imatge amb el nom [accent]«preview.png»[] dins la carpeta del mod i proveu-ho de nou. +mod.folder.missing = Al Workshop només es poden publicar els mods organitzats degudament en una carpeta.\nPer convertir qualsevol mod en format *.zip, descomprimiu els continguts en una carpeta i esborreu el fitxer comprimit; després, reinicieu el programa o recarregueu els mods. +mod.scripts.disable = El vostre dispositiu no admet mods amb scripts. Heu de desactivar aquests mods per a jugar. + +about.button = Més informació +name = Nom: +noname = Trieu primer un[accent] nom de jugador[]. +search = Cerca: +planetmap = Mapa del planeta +launchcore = Llança el nucli +filename = Nom del fitxer: +unlocked = S’ha desblocat contingut nou! +available = Hi ha una recerca disponible nova! +unlock.incampaign = < Desbloca en el mode campanya per a veure’n més detalls. > +campaign.select = Trieu la campanya inicial +campaign.none = [lightgray]Trieu en quin planeta voleu començar.\nEs pot canviar en qualsevol moment. +campaign.erekir = [accent]Recomanat per a jugadors novells.[]\n\nContingut revisat nou. Una campanya de progressió més o menys lineal.\n\nMapes de qualitat més alta i experiència més satisfactòria. +campaign.serpulo = [scarlet]No recomanat per a jugadors novells.[]\n\nContingut antic; l’experiència clàssica. Campanya més oberta.\n\nPotser els mapes i mecàniques de la campanya no estan massa equilibrats. Contingut en general menys polit que el d’Erekir. +campaign.difficulty = Difficulty +completed = [accent]Completat +techtree = Arbre tecnològic +techtree.select = Selecció de l’arbre tecnològic +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Carrega +research.discard = Descarta +research.list = [lightgray]Recerques: +research = Investiga +researched = [lightgray]{0} d’investigades. +research.progress = {0} % completat +players = {0} jugadors +players.single = {0} jugador +players.search = Cerca +players.notfound = [gray]no s’han trobat jugadors +server.closing = [accent]Es tanca el servidor… +server.kicked.kick = Us han expulsat del servidor. +server.kicked.whitelist = No esteu a la llista blanca del servidor. +server.kicked.serverClose = El servidor està tancat. +server.kicked.vote = Us han expulsat per votació. Adéu. +server.kicked.clientOutdated = El client s’ha d’actualitzar. +server.kicked.serverOutdated = El servidor s’ha d’actualitzar. Demaneu-li a l’amfitrió que l’actualitzi. +server.kicked.banned = Se us ha bandejat d’aquest servidor. +server.kicked.typeMismatch = El servidor no és compatible amb el tipus de compilació actual. +server.kicked.playerLimit = El servidor està ple. Espereu que hi hagi una ranura buida. +server.kicked.recentKick = Us han expulsat fa poc.\nEspereu abans de connectar-vos. +server.kicked.nameInUse = Ja hi ha algú amb aquest nom\nen aquest servidor. +server.kicked.nameEmpty = El nom triat no és vàlid. +server.kicked.idInUse = Ja esteu en aquest servidor. No és permès connectar-se amb dos comptes. +server.kicked.customClient = El servidor no suporta versions personalitzades. Descarregueu una versió oficial. +server.kicked.gameover = Fi de la partida +server.kicked.serverRestarting = El servidor es reinicia. +server.versions = Versió local:[accent] {0}[]\nVersió del servidor:[accent] {1}[] +host.info = El botó de l’amfitrió «[accent]Allotja[]» crea un servidor al port [scarlet]6567[]. \nQualsevol jugador en la mateixa [lightgray]xarxa local[] hauria de poder veure el servidor a la seva llista de servidors.\n\nSi voleu que es puguin connectar jugadors des de qualsevol lloc per IP, caldrà configurar l’[accent]assignació de ports[].\n\n[lightgray]Nota: Si algú té problemes per connectar-se a la partida LAN, assegureu-vos que heu donat accés al Mindustry a la xarxa local a la configuració del tallafocs. Tingueu en compte que a vegades les xarxes públiques no permeten descobrir servidors. +join.info = Podeu escriure l’[accent]adreça IP del servidor[] al qual us voleu connectar o bé descobrir i connectar-vos a una [accent]xarxa local[] o [accent]servidors globals[].\nEs pot jugar en multijugador tant amb la LAN com amb la WAN.\n\n[lightgray]Si us voleu connectar amb algú via IP, li haureu de demanar a l’amfitrió la seva adreça. +hostserver = Allotja una partida multijugador +invitefriends = Invita amics +hostserver.mobile = Allotja una partida +host = Allotja +hosting = [accent]S’obre el servidor… +hosts.refresh = Actualitza +hosts.discovering = Es busquen partides a la LAN… +hosts.discovering.any = Es busquen partides… +server.refreshing = S’actualitza el servidor +hosts.none = [lightgray]No s’han trobat partides locals! +host.invalid = [scarlet]No es pot connectar amb l’amfitrió. + +servers.local = Servidors locals +servers.local.steam = Partides públiques i servidors locals +servers.remote = Servidors remots +servers.global = Servidors de la comunitat + +servers.disclaimer = Els servidors de la comunitat [accent]no[] són ni els controla el desenvolupador.\n\nEls servidors poden tenir continguts generats per usuaris que no són adequats per a totes les edats. +servers.showhidden = Mostra els servidors ocults +server.shown = Mostra +server.hidden = Amaga +viewplayer = Es mira el jugador: [accent]{0} + +trace = Rastreja un jugador +trace.playername = Nom del jugador: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} +trace.mobile = Client de mòbil: [accent]{0} +trace.modclient = Client personalitzat: [accent]{0} +trace.times.joined = S’ha unit [accent]{0}[] vegades. +trace.times.kicked = Ha estat expulsat [accent]{0}[] vegades. +trace.ips = Direccions IP: +trace.names = Noms: +invalidid = ID de client no vàlid! Envieu un informe d’error. +player.ban = Bandeja +player.kick = Expulsa +player.trace = Traça +player.admin = Commuta d’admin +player.team = Canvia l’equip +server.bans = Bandejaments +server.bans.none = No s’ha trobat cap jugador bandejat! +server.admins = Administradors +server.admins.none = No s’ha trobat cap administrador! +server.add = Afegeix un servidor +server.delete = Esteu segur que voleu esborrar aquest servidor? +server.edit = Edita el servidor +server.outdated = [scarlet]Servidor desactualitzat![] +server.outdated.client = [scarlet]Client desactualitzat![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Versió personalitzada +confirmban = Esteu segur que voleu bandejar a «{0}[white]»? +confirmkick = Esteu segur que voleu expulsar a «{0}[white]»? +confirmunban = Esteu segur que voleu treure el bandeig a aquest jugador? +confirmadmin = Esteu segur que voleu fer administrador a «{0}[white]»? +confirmunadmin = Esteu segur que voleu treure a «{0}[white]» els permisos d’administrador? +votekick.reason = Motiu per a la votació d’expulsió +votekick.reason.message = Esteu segur que voleu votar per a expulsar per votació a «{0}[white]»?\nSi és que sí, escriviu-ne el motiu: +joingame.title = Uneix-me a la partida +joingame.ip = Direcció IP: +disconnect = Desconnectat. +disconnect.error = Error de connexió. +disconnect.closed = Connexió tancada. +disconnect.timeout = S’ha esgotat el temps d’espera. +disconnect.data = No s’han pogut carregar les dades del món! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. +cantconnect = No és possible unir-se a la partida ([accent]{0}[]). +connecting = [accent]Es connecta… +reconnecting = [accent]Es torna a connectar… +connecting.data = [accent]Es carreguen les dades del món… +server.port = Port: +server.invalidport = El número de port no és vàlid! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [scarlet]S’ha produït un error mentre s’allotjava el servidor. +save.new = Desa en un fitxer nou +save.overwrite = Esteu segur que voleu sobreescriure\naquesta ranura de desades? +save.nocampaign = Els fitxers de desades individuals de la campanya no es poden importar. +overwrite = Sobreescriu +save.none = No s’ha trobat cap partida desada! +savefail = No s’ha pogut desar la partida! +save.delete.confirm = Esteu segur que voleu esborrar aquesta desada? +save.delete = Esborra +save.export = Exporta la desada +save.import.invalid = [accent]Aquesta desada no és vàlida! +save.import.fail = [scarlet]La desada no s’ha pogut importar: [accent]{0} +save.export.fail = [scarlet]La desada no s’ha pogut exportar: [accent]{0} +save.import = Importa una partida desada +save.newslot = Nom del fitxer de la desada: +save.rename = Reanomena +save.rename.text = Nom nou: +selectslot = Seleccioneu una desada. +slot = [accent]Ranura {0} +editmessage = Edita el missatge +save.corrupted = El fitxer de la desada està corromput o no és vàlid! +empty = +on = Activat +off = Desactivat +save.search = Cerca partides desades… +save.autosave = Desada automàtica: {0} +save.map = Mapa: {0} +save.wave = Onada {0} +save.mode = Mode de joc: {0} +save.date = Data de l’última desada: {0} +save.playtime = Temps de joc: {0} +warning = Avís. +confirm = Confirmació +delete = Esborra +view.workshop = Mostra-ho al Workshop +workshop.listing = Edita el llistat del Workshop +ok = D’acord +open = Obre +customize = Personalitza les regles +cancel = Cancel·la +command = Ordre +command.queue = [lightgray][Queuing] +command.mine = Extreu recursos +command.repair = Repara +command.rebuild = Reconstrueix +command.assist = Assisteix al jugador +command.move = Mou +command.boost = Sobrevola +command.enterPayload = Entra bloc +command.loadUnits = Carrega unitats +command.loadBlocks = Carrega blocs +command.unloadPayload = Descarrega +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel·la les ordres +stance.shoot = Comportament: Dispara +stance.holdfire = Comportament: Mantén el foc +stance.pursuetarget = Comportament: Persegueix l’objectiu +stance.patrol = Comportament: Patrulla el camí +stance.ram = Comportament: Senzill\n[lightgray]Mou-te en línia recta, sense encaminador +openlink = Obre l’enllaç +copylink = Copia l’enllaç +back = Enrere +max = Màx. +objective = Objectiu del mapa +crash.export = Exporta els registres d’errors +crash.none = No s’ha trobat cap registre d’error. +crash.exported = Els registres d’errors s’han exportat. +data.export = Exporta les dades +data.import = Importa les dades +data.openfolder = Obre la carpeta de les dades +data.exported = Les dades s’han exportat. +data.invalid = Aquestes no són dades de partida vàlides. +data.import.confirm = Si s’importen dades externes es sobreescriuran[scarlet] totes[] les dades de la partida actual.\n[accent]Això no es podrà desfer![]\n\nUna vegada s’hagin importat les dades, el joc es tancarà immediatament. +quit.confirm = Esteu segur que voleu sortir? +loading = [accent]Es carrega… +downloading = [accent]Es descarreguen dades… +saving = [accent]Es desa… +respawn = [accent][[{0}][] per a tornar a aparèixer. +cancelbuilding = [accent][[{0}][] per a esborrar el pla de construcció. +selectschematic = [accent][[{0}][] per a seleccionar i copiar. +pausebuilding = [accent][[{0}][] per a posar en pausa la construcció. +resumebuilding = [scarlet][[{0}][] per a reprendre la construcció. +enablebuilding = [scarlet][[{0}][] per a activar l’edifici. +showui = La interfície gràfica està amagada.\nPremeu [accent][[{0}][] per a mostrar-la. +commandmode.name = [accent]Mode d’Ordres +commandmode.nounits = [no units] +wave = [accent]Onada {0} +wave.cap = [accent]Onada {0}/{1} +wave.waiting = [lightgray]Començarà en {0} +wave.waveInProgress = [lightgray]Onada en curs +waiting = [lightgray]S’espera… +waiting.players = S’espera els jugadors… +wave.enemies = Queden [lightgray]{0} enemics. +wave.enemycores = [accent]{0}[lightgray] nuclis enemics +wave.enemycore = [accent]{0}[lightgray] nucli enemic +wave.enemy = Queda [lightgray]{0} enemic. +wave.guardianwarn = Arribarà un guardià en [accent]{0}[] ondades. +wave.guardianwarn.one = Arribarà un guardià en [accent]{0}[] onada. +loadimage = Carrega una imatge +saveimage = Desa la imatge +unknown = Desconegut +custom = Personalitzat +builtin = *Integrat* +map.delete.confirm = Esteu segur que voleu esborrar aquest mapa? Aquesta acció no es pot desfer! +map.random = [accent]Mapa aleatori +map.nospawn = Aquest mapa no té cap nucli per tal que el jugador hi pugui aparèixer! Afegiu-hi un nucli {0} amb l’editor. +map.nospawn.pvp = Aquest mapa no té nuclis enemics per tal que hi puguin aparèixer altres jugadors! Afegiu-hi nuclis [scarlet]d’un altre color[] amb l’editor. +map.nospawn.attack = Aquest mapa no té cap nucli enemic que el jugador pugui atacar! Afegiu-hi nuclis {0} amb l’editor. +map.invalid = S’ha produït un error carregant el mapa: el fitxer està corromput o bé el mapa no és vàlid. +workshop.update = Actualitza l’element +workshop.error = S’ha produït un error mentre s’obtenien els detalls del Workshop: {0} +map.publish.confirm = Esteu segur que voleu publicar el mapa?\n\n[lightgray]Assegureu-vos d’acceptar primer l’acord de llicència d’usuari final (EULA) del Workshop. Si no, els vostres mapes no hi apareixeran! +workshop.menu = Seleccioneu què voleu fer amb l’element. +workshop.info = Informació de l’element +changelog = Registre de canvis (opcional): +updatedesc = Sobreescriu el títol i la descripció +eula = EULA de l’Steam +missing = Aquest element s’ha esborrat o s’ha mogut.\n[lightgray]El llistat del Workshop s’ha desenllaçat automàticament. +publishing = [accent]Es publica… +publish.confirm = Esteu segur que ho voleu publicar?\n\n[lightgray]Assegureu-vos d’acceptar primer l’acord de llicència d’usuari final (EULA) del Workshop. Si no, els vostres elements no hi apareixeran! +publish.error = S’ha produït un error mentre es publicava l’element: {0} +steam.error = No s’ha pogut inicialitzar els serveis de l’Steam.\nError: {0} + +editor.planet = Planeta: +editor.sector = Sector: +editor.seed = Llavor: +editor.cliffs = Converteix els murs en espadats +editor.brush = Pinzell +editor.openin = Obre a l’editor +editor.oregen = Generació de minerals +editor.oregen.info = Generació de minerals: +editor.mapinfo = Informació del mapa +editor.author = Autor: +editor.description = Descripció: +editor.nodescription = Un mapa ha de tenir una descripció amb almenys 4 caràcters per tal que es pugui publicar. +editor.waves = Onades +editor.rules = Regles +editor.generation = Generació +editor.objectives = Objectius +editor.locales = Paquet de traduccions +editor.worldprocessors = Processadors integrats +editor.worldprocessors.editname = Edita el nom +editor.worldprocessors.none = [lightgray]No s’han trobat blocs de processadors integrats!\nAfegiu-ne un a l’editor de mapes o feu servir el botó \ue813 de sota. +editor.worldprocessors.nospace = No hi ha espai disponible per a posar un processador integrat!\nPotser el mapa està ple d’estructures. +editor.worldprocessors.delete.confirm = Esteu segur que voleu esborrar aquest processador integrat?\n\nSi està envoltat de murs, es reemplaçarà per un mur mediambiental. +editor.ingame = Edita des de la partida +editor.playtest = Prova el mapa +editor.publish.workshop = Publica al Workshop +editor.newmap = Mapa nou +editor.center = Centra +editor.search = Cerca mapes +editor.filters = Filtra els mapes +editor.filters.mode = Modes de partida: +editor.filters.type = Tipus de mapa: +editor.filters.search = Cerca a: +editor.filters.author = Autor +editor.filters.description = Descripció +editor.shiftx = Desplaça en l’eix X +editor.shifty = Desplaça en l’eix Y +workshop = Workshop +waves.title = Onades +waves.remove = Treu +waves.every = cada +waves.waves = onada/es +waves.health = salut: {0} % +waves.perspawn = per aparició +waves.shields = escuts/onada +waves.to = fins a +waves.spawn = aparèixer: +waves.spawn.all = +waves.spawn.select = Selecciona la zona d’aparició +waves.spawn.none = [scarlet]No s’han trobat zones d’aparició al mapa. +waves.max = nombre màxim d’unitats +waves.guardian = Guardià +waves.preview = Previsualització +waves.edit = Edita +waves.random = Random +waves.copy = Copia al porta-retalls +waves.load = Carrega del porta-retalls +waves.invalid = El contingut del porta-retalls té onades que no són vàlides. +waves.copied = S’han copiat les onades. +waves.none = No s’han definit enemics.\nTingueu en compte que les onades buides es substituiran automàticament amb l’onada per defecte. +waves.sort = Ordena per +waves.sort.reverse = Ordre invers +waves.sort.begin = Comença +waves.sort.health = Salut +waves.sort.type = Tipus +waves.search = Es busquen onades… +waves.filter = Filtre d'unitats +waves.units.hide = Amaga-les totes +waves.units.show = Mostra-les totes + +#these are intentionally in lower case +wavemode.counts = comptades +wavemode.totals = totals +wavemode.health = salut +all = All + +editor.default = [lightgray] +details = Detalls +edit = Edita +variables = Variables +logic.clear.confirm = Esteu segur que voleu esborrar tot el codi d’aquest processador? +logic.globals = Built-in Variables +editor.name = Nom: +editor.spawn = Genera una unitat +editor.removeunit = Treu una unitat +editor.teams = Equips +editor.errorload = S’ha produït un error mentre es carregava el fitxer. +editor.errorsave = S’ha produït un error mentre es desava el fitxer. +editor.errorimage = No és un mapa, és una imatge. +editor.errorlegacy = Aquest mapa és massa antic i fa servir un format obsolet. +editor.errornot = No és un fitxer de mapa. +editor.errorheader = Aquest fitxer de mapa no és vàlid o està corromput. +editor.errorname = No s’ha definit el nom del mapa. Esteu intentant carregar una partida desada? +editor.errorlocales = S’ha produït un error mentre es llegia un paquet de traduccions no vàlid. +editor.update = Actualitza +editor.randomize = Assigna a l’atzar +editor.moveup = Mou amunt +editor.movedown = Mou avall +editor.copy = Copia +editor.apply = Aplica +editor.generate = Genera +editor.sectorgenerate = Generació del sector +editor.resize = Canvia la mida +editor.loadmap = Carrega un mapa +editor.savemap = Desa el mapa +editor.savechanges = [scarlet]Teniu canvis sense desar!\n\n[]Voleu desar-los? +editor.saved = S’ha desat. +editor.save.noname = El mapa no té nom! Trieu-ne un des del menú «Informació del mapa». +editor.save.overwrite = El vostre mapa sobreescriu un mapa incorporat al joc! Trieu un nom diferent des del menú «Informació del mapa». +editor.import.exists = [scarlet]No s’ha pogut importar:[] ja existeix un mapa incorporat al joc amb el nom «{0}»! +editor.import = Importa +editor.importmap = Importa un mapa +editor.importmap.description = Importa un mapa ja existent al joc. +editor.importfile = Importa un fitxer +editor.importfile.description = Importa un fitxer de mapa extern. +editor.importimage = Importa una imatge de mapa +editor.importimage.description = Importa un fitxer d’imatge que representa un mapa. +editor.export = Exporta +editor.exportfile = Exporta el mapa +editor.exportfile.description = Exporta el mapa a un fitxer. +editor.exportimage = Exporta la imatge del terreny +editor.exportimage.description = Crea un fitxer que conté només el terreny bàsic. +editor.loadimage = Importa el terreny +editor.saveimage = Exporta el terreny +editor.unsaved = Esteu segur que voleu sortir?\n[scarlet]Es perdran els canvis que no s’hagin desat. +editor.resizemap = Canvia la mida del mapa +editor.mapname = Nom del mapa: +editor.overwrite = [accent]Avís!\nEs sobreescriurà el mapa existent. +editor.overwrite.confirm = [scarlet]Avís![] Ja existeix un mapa aquest nom. Esteu segur que voleu sobreescriure’l?\n"[accent]{0}[]" +editor.exists = Ja existeix un mapa amb aquest nom. +editor.selectmap = Seleccioneu el mapa que voleu carregar: + +toolmode.replace = Reemplaça +toolmode.replace.description = Dibuixa només en blocs sòlids. +toolmode.replaceall = Reemplaça-ho tot +toolmode.replaceall.description = Reemplaça tots els blocs del mapa. +toolmode.orthogonal = Ortogonal +toolmode.orthogonal.description = Dibuixa només línies ortogonals. +toolmode.square = Quadrat +toolmode.square.description = Es dibuixarà amb un pinzell quadrat. +toolmode.eraseores = Esborra els minerals +toolmode.eraseores.description = Esborra només els minerals. +toolmode.fillteams = Omple els equips +toolmode.fillteams.description = Omple els equips en lloc dels blocs. +toolmode.fillerase = Esborra els del mateix tipus +toolmode.fillerase.description = Esborra els blocs que siguin del mateix tipus. +toolmode.drawteams = Dibuixa els equips +toolmode.drawteams.description = Dibuixa els equips en lloc de dibuixar blocs. +#unused +toolmode.underliquid = Sota els líquids +toolmode.underliquid.description = Dibuixa el terra a sota de les caselles de líquids. + +filters.empty = [lightgray]Sense filtres! Afegiu-ne un amb el botó de sota. + +filter.distort = Distorsió +filter.noise = Soroll +filter.enemyspawn = Punt d’aparició dels enemics +filter.spawnpath = Camí fins el punt d’aparició +filter.corespawn = Selecció del nucli +filter.median = Mediana +filter.oremedian = Mediana de minerals +filter.blend = Barreja +filter.defaultores = Minerals per defecte +filter.ore = Minerals +filter.rivernoise = Soroll dels rius +filter.mirror = Espill +filter.clear = Neteja +filter.option.ignore = Ignora +filter.scatter = Dispersió +filter.terrain = Terreny +filter.logic = Lògica + +filter.option.scale = Escala +filter.option.chance = Probabilitat +filter.option.mag = Magnitud +filter.option.threshold = Llindar +filter.option.circle-scale = Escala del cercle +filter.option.octaves = Octaves +filter.option.falloff = Caiguda +filter.option.angle = Angle +filter.option.tilt = Inclinació +filter.option.rotate = Gira +filter.option.amount = Quantitat +filter.option.block = Bloc +filter.option.floor = Terra +filter.option.flooronto = Terra objectiu +filter.option.target = Objectiu +filter.option.replacement = Reemplaçament +filter.option.wall = Mur +filter.option.ore = Mineral +filter.option.floor2 = Terra secundari +filter.option.threshold2 = Llindar secundari +filter.option.radius = Radi +filter.option.percentile = Percentil +filter.option.code = Codi +filter.option.loop = Bucle +locales.info = Aquí, podeu afegir paquets de traducció per a idiomes específics al vostre mapa. En els paquets de traducció, cada propietat té un nom i un valor. Aquestes propietats les poden fer servir els processadors integrats i els objectius, fent servir els seus noms. Suporten el format de text (reemplaçant els marcadors de posició amb els seus valors corresponents).\n\n[cyan]Exemple de propietat:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Esteu segur que voleu esborrar aquesta traducció? +locales.applytoall = Aplica els canvis a totes les traduccions +locales.addtoother = Afegeix a les altres traduccions +locales.rollback = Restableix a l’última aplicada +locales.filter = Propietat per al filtre +locales.searchname = Cerca el nom… +locales.searchvalue = Cerca el valor… +locales.searchlocale = Cerca la traducció… +locales.byname = Per nom +locales.byvalue = Per valor +locales.showcorrect = Mostra les propietats que estan en totes les traduccions i tenen valors únics en totes +locales.showmissing = Mostra les propietats que fan falta en algunes traduccions +locales.showsame = Mostra les propietats que tenen els mateixos valors en traduccions diferents +locales.viewproperty = Mostra en totes les traduccions +locales.viewing = Es mostra la propietat «{0}» +locales.addicon = Afegeix una icona + +width = Amplada: +height = Alçada: +menu = Menú +play = Juga +campaign = Campanya +load = Carrega +save = Desa +fps = FPS: {0} +ping = Ping: {0} ms +tps = TPS: {0} +memory = Mem.: {0} MB +memory2 = Mem.:\n {0} MB +\n {1} MB +language.restart = Reinicieu el joc perquè s’apliquin els canvis d’idioma. +settings = Configuració +tutorial = Tutorial +tutorial.retake = Continua el tutorial +editor = Editor +mapeditor = Editor de mapes + +abandon = Abandona +abandon.text = Es perdrà la zona i tots els seus recursos passaran a ser de l’enemic. +locked = Blocat +complete = [lightgray]Requisits previs: +requirement.wave = Arribeu a l’onada {0} de {1}. +requirement.core = Destruïu el nucli enemic de {0}. +requirement.research = Recerqueu {0}. +requirement.produce = Produïu {0}. +requirement.capture = Captureu {0}. +requirement.onplanet = Controleu el sector {0}. +requirement.onsector = Aterreu al sector {0}. +launch.text = Inicia el llançament +map.multiplayer = Només l’amfitrió pot veure els sectors. +uncover = Descobreix +configure = Configura la càrrega inicial +objective.research.name = Recerca +objective.produce.name = Obtén +objective.item.name = Obtén un element +objective.coreitem.name = Element del nucli +objective.buildcount.name = Nombre de construïts +objective.unitcount.name = Nombre d’unitats +objective.destroyunits.name = Destrueix unitats +objective.timer.name = Temporitzador +objective.destroyblock.name = Destrueix un bloc +objective.destroyblocks.name = Destrueix blocs +objective.destroycore.name = Destrueix el nucli +objective.commandmode.name = Mode de comandament +objective.flag.name = Bandera +marker.shapetext.name = Forma del text +marker.point.name = Punt +marker.shape.name = Forma +marker.text.name = Text +marker.line.name = Línia +marker.quad.name = Rectangle +marker.texture.name = Textura +marker.background = Fons +marker.outline = Contorn + +objective.research = [accent]Recerqueu:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obteniu:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destruïu:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destruïu: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obteniu: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Porteu al nucli:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Construïu: [][lightgray]{0}[]×\n{1}[lightgray]{2} +objective.buildunit = [accent]Construïu unitats: [][lightgray]{0}[]×\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destruïu [][lightgray]{0}[] unitats. +objective.enemiesapproaching = [accent]Arribaran enemics d’aquí [lightgray]{0}[]. +objective.enemyescelating = [accent]La producció enemiga augmentarà d’aquí [lightgray]{0}[] +objective.enemyairunits = [accent]L’enemic començarà a produir unitats aèries d’aquí [lightgray]{0}[] +objective.destroycore = [accent]Destruïu el nucli enemic. +objective.command = [accent]Dirigiu les unitats. +objective.nuclearlaunch = [accent]âš  S’ha detectat un llançament nuclear: [lightgray]{0} +announce.nuclearstrike = [red]âš  IMPACTE NUCLEAR IMMINENT âš  + +loadout = Càrrega inicial +resources = Recursos +resources.max = Màx. +bannedblocks = Blocs no permesos +unbannedblocks = Unbanned Blocks +objectives = Objectius +bannedunits = Unitats no permeses +unbannedunits = Unbanned Units +bannedunits.whitelist = Unitats no permeses com a llista blanca +bannedblocks.whitelist = Blocs no permesos com a llista blanca +addall = Afegeix-ho tot +launch.from = Llançant des de [accent]{0}. +launch.capacity = Capacitat de càrrega per llançament: [accent]{0} +launch.destination = Destinació: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = La quantitat ha de ser un nombre entre 0 i {0}. +add = Afegeix +guardian = Guardià + +connectfail = [scarlet]Error de connexió:\n\n[accent]{0} +error.unreachable = No es pot accedir al servidor.\nL’adreça està ben escrita? +error.invalidaddress = L’adreça no és vàlida. +error.timedout = S’ha esgotat el temps d’espera!\nAssegureu-vos que l’amfitrió ha configurat l’assignació de ports i que l’adreça és correcta. +error.mismatch = Error d’enviament de paquets:\nPotser no coincideixen les versions del client i del servidor.\nAssegureu-vos que client i servidor fan servir l’última versió del Mindustry! +error.alreadyconnected = Ja esteu connectat. +error.mapnotfound = El fitxer del mapa no s’ha trobat! +error.io = S’ha produït un error d’entrada/sortida de la xarxa. +error.any = S’ha produït un error de xarxa desconegut. +error.bloom = No s’ha pogut inicialitzar l’efecte «bloom».\nPotser el dispositiu no admet aquesta funció. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. + +weather.rain.name = Pluja +weather.snowing.name = Neu +weather.sandstorm.name = Tempesta de sorra +weather.sporestorm.name = Tempesta d’espores +weather.fog.name = Boira +campaign.playtime = \uf129 [lightgray]Temps de joc al sector: {0} +campaign.complete = [accent]Felicitats.\n\nS’ha derrotat l’enemic de {0}.\n[lightgray]S’ha conquerit l’últim sector. + +sectorlist = Sectors +sectorlist.attacked = Ataquen {0}. +sectors.unexplored = [lightgray]Inexplorat +sectors.resources = Recursos: +sectors.production = Producció: +sectors.export = Exporta: +sectors.import = Importa: +sectors.time = Temps: +sectors.threat = Amenaça: +sectors.wave = Onada: +sectors.stored = Emmagatzemat: +sectors.resume = Continua +sectors.launch = Llança +sectors.select = Selecciona +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]cap (sol) +sectors.redirect = Redirect Launch Pads +sectors.rename = Reanomena el sector +sectors.enemybase = [scarlet]Base enemiga +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Ens ataquen! [accent]{0} % danyat +sectors.underattack.nodamage = [scarlet]Sense capturar +sectors.survives = [accent]Aguanta {0} onades +sectors.go = Vés-hi +sector.abandon = Abandona +sector.abandon.confirm = Els nuclis d’aquest sector s’autodestruiran.\nVoleu continuar? +sector.curcapture = Sector capturat +sector.curlost = Sector perdut +sector.missingresources = [scarlet]Recursos insuficients al nucli +sector.attacked = Ataquen el sector [accent]{0}[white]! +sector.lost = Heu perdut el sector [accent]{0}[white]! +sector.capture = S’ha capturat el sector [accent]{0}[white]! +sector.capture.current = Sector capturat! +sector.changeicon = Canvia la icona +sector.noswitch.title = Els sectors no es poden canviar. +sector.noswitch = Potser no podeu canviar de sector perquè n’ataquen un altre.\n\nSector: [accent]{0}[] de [accent]{1}[] +sector.view = Veure el sector + +threat.low = Baixa +threat.medium = Mitjana +threat.high = Alta +threat.extreme = Extrema +threat.eradication = Erradicació +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + +planets = Planetes + +planet.serpulo.name = Serpulo +planet.erekir.name = Erekir +planet.sun.name = Sol + +sector.impact0078.name = Impacte 0078 +sector.groundZero.name = Zona zero +sector.craters.name = Els cràters +sector.frozenForest.name = El bosc gelat +sector.ruinousShores.name = Costes en ruïnes +sector.stainedMountains.name = Muntanyes tacades +sector.desolateRift.name = L’escletxa desolada +sector.nuclearComplex.name = Complex de producció nuclear +sector.overgrowth.name = Creixement exuberant +sector.tarFields.name = Els camps de quitrà +sector.saltFlats.name = Les Salines +sector.fungalPass.name = El port de muntanya dels fongs +sector.biomassFacility.name = Centre de síntesi de biomassa +sector.windsweptIslands.name = Les illes escombrades pel vent +sector.extractionOutpost.name = Post avançat d’extracció +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Terminal de llançament interplanetari +sector.coastline.name = Línia de costa +sector.navalFortress.name = Fortalesa naval +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier + +sector.groundZero.description = El lloc adequat per a començar de nou. Amenaça enemiga baixa. Pocs recursos.\nRecolliu tot el coure i plom que pugueu.\nDesprés, continueu en un altre sector. +sector.frozenForest.description = Les espores han arribat fins aquí, prop de les muntanyes. Les temperatures baixes no les podran contenir per sempre.\n\nComenceu el camí del poder. Construïu generadors a combustió. Apreneu a fer servir els reparadors. +sector.saltFlats.description = Als límits del desert hi ha les Salines. Aquesta regió té pocs recursos.\n\nL’enemic hi ha aixecat un complex d’emmagatzematge de recursos. Elimineu el seu nucli i no en deixeu cap rastre. +sector.craters.description = L’aigua s’ha acumulat en aquest cràter, relíquia de les guerres passades. Reclameu l’àrea, recolliu sorra i foneu metavidre. Bombegeu aigua per a refredar les torretes i les perforadores. +sector.ruinousShores.description = Més enllà dels erms, hi ha la costa. En el seu temps, hi havia una línia de defensa costera. No en queda molt. Només hi queden intactes les estructures de defensa més bàsiques; de la resta només en queda ferralla.\nContinueu l’expansió i redescobriu tecnologies perdudes. +sector.stainedMountains.description = Terra endins, hi ha muntanyes que no han estat contaminades per les espores.\nExtraieu el titani que abunda a l’àrea. Apreneu a usar-lo.\n\nEn aquesta zona hi ha més presència enemiga. No els deixeu temps per a enviar-vos les unitats més fortes. +sector.overgrowth.description = En aquesta àrea s’ha produït un creixement desmesurat i està a prop de la font de les espores.\nL’enemic hi ha establit un post avançat. Construïu unitats [accent]Maça[] i destruïu-lo. +sector.tarFields.description = Les afores d’una zona de producció petroliera, entre les muntanyes i el desert. Una de les poques àrees amb reserves útils de quitrà.\nEncara que estan abandonades, aquesta àrea té forces enemigues perilloses a prop. No les subestimeu.\n\n[lightgray]Recerqueu la tecnologia de processament de petroli si podeu. +sector.desolateRift.description = Una zona extremadament perillosa, que disposa de molts recursos, però que té poc espai. Té un elevat risc de destrucció. Construïu defenses aèries i terrestres tan aviat com sigui possible. No us confieu pel llarg interval de temps entre atacs enemics. +sector.nuclearComplex.description = Un antic centre de producció i processament de tori, reduït a ruïnes.\n[lightgray]Recerqueu el tori i els seus diversos usos.\n\nL’enemic disposa d’un gran nombre d’unitats que patrullen la zona. +sector.fungalPass.description = Una àrea de transició entre altes muntanyes i els territoris més baixos plagats per espores. Hi ha una petita base de reconeixement enemiga.\nDestruïu-la.\nUseu unitats [accent]Daga[] i [accent]Crawler[]. Elimineu els dos nuclis enemics. +sector.biomassFacility.description = L’origen de les espores. Aquest és el centre on es van investigar i produir les espores.\nRecerqueu les tecnologies que hi pugueu trobar. Cultiveu espores per a produir combustibles i plàstics.\n\n[lightgray]Després de la caiguda d’aquest complex, les espores van ser alliberades. L’ecosistema local no va poder competir amb un organisme tan invasiu. +sector.windsweptIslands.description = Més enllà de la costa hi ha aquesta cadena d’illes remotes. Els informes indiquen que una vegada hi hagueren estructures per a produir [accent]plastani[].\n\nDefenseu-vos de les unitats enemigues navals i establiu una base a les illes. Investigueu les fàbriques. +sector.extractionOutpost.description = Un post avançat remot, construït per l’enemic per a enviar recursos a altres sectors.\n\nLa tecnologia de transport entre sectors és essencial per a expandir-se. Destruïu la base i investigueu les seves plataformes de llançament. +sector.impact0078.description = Aquí hi ha les restes de la primera nau de transport interestel·lar que va arribar al sistema.\n\nRecupereu tot el que pugueu i investigueu qualsevol tecnologia que hagi quedat intacta. +sector.planetaryTerminal.description = L’objectiu final.\n\nAquesta base costera conté una estructura capaç de llançar nuclis a altres planetes. Està molt ben vigilida.\n\nProduïu unitats navals, elimineu l’enemic tan aviat com pugueu i investigueu l’estructura de llançament. +sector.coastline.description = S’han detectat restes de tecnologia naval a prop. Repel·liu els atacs enemics, captureu el sector i aconseguiu la tecnologia. +sector.navalFortress.description = L’enemic ha establert una base en una illa distant amb defenses geològiques naturals. Destruïu el post avançat i aconseguiu i investigueu les seves tecnologies navals avançades. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = El principi +sector.aegis.name = L’ègida +sector.lake.name = El llac +sector.intersect.name = La intersecció +sector.atlas.name = L’Atles +sector.split.name = La separació +sector.basin.name = La conca +sector.marsh.name = El pantà +sector.peaks.name = Els cims +sector.ravine.name = Els barrancs +sector.caldera-erekir.name = El cràter +sector.stronghold.name = La fortalesa +sector.crevice.name = L’esquerda +sector.siege.name = El setge +sector.crossroads.name = L’encreuament +sector.karst.name = El carst +sector.origin.name = Origen +sector.onset.description = El sector del tutorial. Encara no s’ha establert cap objectiu. Manteniu-vos a l’espera per a rebre més informació. +sector.aegis.description = L’enemic està protegit per escuts. S’ha detectat un mòdul experimental antiescuts al sector.\nLocalitzeu-lo i abastiu-lo amb tungstè per a destruir la base enemiga. +sector.lake.description = El llac de residus d’aquest sector limita el nombre d’unitats viables. Les unitats aèries són l’única via possible.\nRecerqueu la tecnologia per a construir [accent]muntadores de naus[] i produïu una unitat [accent]Elude[] tan aviat com pugueu. +sector.intersect.description = Els escàners indiquen que el sector rebrà atacs des de múltiples posicions poc després d’aterrar-hi.\nEstabliu les defenses de pressa i expandiu-vos tant com pugueu.\nFaran falta unitats [accent]Meca[] per a fer front al terreny abrupte de l’àrea. +sector.atlas.description = Aquest sector conté diversos tipus de terreny i necessita diferents unitats per a atacar de manera efectiva.\nPotser també caldrà disposar d’unitats millorades per a derrotar les bases enemigues més fortes detectades en aquest sector.\nRecerqueu l’[accent]electrolitzador[] i la [accent]fabricadora de tancs[]. +sector.split.description = La presència enemiga mínima al sector el fa ideal per a provar les noves tecnologies de transport. +sector.basin.description = {Temporal}\n\nL’últim sector per ara. Considereu de moment que és un repte. S’afegiran més sectors en versions posteriors. +sector.marsh.description = En aquest sector hi ha molta arquicita, però poques fumaroles.\nConstruïu [accent]cambres de combustió química[] per a generar energia. +sector.peaks.description = El terreny muntanyós del sector fa que moltes unitats no siguin útils. Caldran unitats aèries.\nAneu amb compte amb les instal·lacions antiaèries enemigues. Potser a algunes se les podrà inutilitzar si es dispara a les seves estructures de suport. +sector.ravine.description = No es detecten nuclis enemics al sector, tot i que és una ruta de transport enemiga important. Hi haurà una gran varietat de forces enemigues.\nProduïu [accent]aliatge electrificable[]. Construïu torretes [accent]Afflict[]. +sector.caldera-erekir.description = Els recursos que s’han detectat al sector estan espargits per diverses illes.\nInvestigueu i establiu una xarxa de transport que faci servir drons. +sector.stronghold.description = El campament enemic gran d’aquest sector guarda dipòsits importants de [accent]tori[].\nFeu-lo servir per a desenvolupar unitats i torretes de nivells més alts. +sector.crevice.description = L’enemic enviarà un atac ferotge per a eliminar la vostra base del sector.\nPer a poder sobreviure, caldrà desenvolupar [accent]carburs[] i [accent]generadors pirolítics[]. +sector.siege.description = En aquest sector hi ha dos canyons paral·lels que forçaran un atac per dues bandes.\nInvestigueu el [accent]cianogen[] per a poder crear unitats d’atac més fortes.\nAtenció: s’han detectat míssils de llarg abast. Els míssils es poden abatre abans que impactin contra el seu objectiu. +sector.crossroads.description = Les bases enemigues del sector s’han establert en diferents tipus de terreny. Investigueu unitats diferents per a adaptar els atacs.\nA més a més, algunes bases estan protegides per escuts. Esbrineu d’on treuen l’energia. +sector.karst.description = Aquest sector és ric en recursos, però l’enemic l’atacarà tan aviat com hi aterri un nucli.\nAprofiteu els recursos i recerqueu el [accent]teixit de fase[]. +sector.origin.description = El sector final amb una presència enemiga important.\nProbablement no queden oportunitats de recerca. Centreu-vos en destruir els nuclis enemics. + +status.burning.name = Cremant +status.freezing.name = Congelat +status.wet.name = Mullat +status.muddy.name = Fangós +status.melting.name = Fos +status.sapped.name = Esgotat +status.electrified.name = Electrificat +status.spore-slowed.name = Alentit +status.tarred.name = Enquitranat +status.overdrive.name = Sobrecarregat +status.overclock.name = Accelerat +status.shocked.name = Commocionat +status.blasted.name = Explosionat +status.unmoving.name = Immòbil +status.boss.name = Guardià + +settings.language = Idioma +settings.data = Dades del joc +settings.reset = Restableix els valors per defecte +settings.rebind = Canvia +settings.resetKey = Restableix +settings.controls = Controls +settings.game = Joc +settings.sound = So +settings.graphics = Gràfics +settings.cleardata = Esborra les dades de la partida +settings.clear.confirm = Esteu segur que voleu esborrar les dades?\nAquesta acció no es pot desfer. +settings.clearall.confirm = [scarlet]Avís![]\nS’esborraran totes les dades, incloent desades, mapes, elements desblocats i dreceres de teclat.\nQuan premeu «D’acord», el programa esborrara les dades i es tancarà automàticament. +settings.clearsaves.confirm = Esteu segur que voleu esborrar totes les partides desades? +settings.clearsaves = Esborra les partides desades +settings.clearresearch = Esborra la recerca +settings.clearresearch.confirm = Esteu segur que voleu esborrar tota la recerca feta en el mode campanya? +settings.clearcampaignsaves = Esborra les desades de la campanya +settings.clearcampaignsaves.confirm = Esteu segur que voleu esborrar totes les desades de la campanya? +paused = [accent]< En pausa > +clear = Esborra +banned = [scarlet]Expulsat +unsupported.environment = [scarlet]Entorn no vàlid +yes = Sí +no = No +info.title = Informació +error.title = [scarlet]Hi ha hagut un error. +error.crashtitle = Hi ha hagut un error. +unit.nobuild = [scarlet]La unitat no pot construir. +lastaccessed = [lightgray]Últim accés: {0} +lastcommanded = [lightgray]Última ordre: {0} +block.unknown = [lightgray]??? + +stat.showinmap = +stat.description = Propòsit +stat.input = Entrada +stat.output = Sortida +stat.maxefficiency = Eficiència màxima +stat.booster = Potenciador +stat.tiles = Caselles necessàries +stat.affinities = Afinitats +stat.opposites = Oposats +stat.powercapacity = Capacitat energètica +stat.powershot = Energia/Tret +stat.damage = Dany +stat.targetsair = Dispara objectius aeris +stat.targetsground = Dispara objectius terrestres +stat.itemsmoved = Velocitat de moviment +stat.launchtime = Temps entre llançaments +stat.shootrange = Abast +stat.size = Mida +stat.displaysize = Mida de la pantalla +stat.liquidcapacity = Capacitat de líquids +stat.powerrange = Abast de l’energia +stat.linkrange = Abast d’enllaç +stat.instructions = Instruccions +stat.powerconnections = Connexions màximes +stat.poweruse = Consum d’energia +stat.powerdamage = Energia/Dany +stat.itemcapacity = Capacitat d’elements +stat.memorycapacity = Capacitat de memòria +stat.basepowergeneration = Generació base d’energia +stat.productiontime = Temps de producció +stat.repairtime = Temps de reparació completa de blocs +stat.repairspeed = Velocitat de reparació +stat.weapons = Armes +stat.bullet = Bala +stat.moduletier = Nivell del mòdul +stat.unittype = Tipus d’unitat +stat.speedincrease = Augment de velocitat +stat.range = Abast +stat.drilltier = Perforables +stat.drillspeed = Velocitat base de perforació +stat.boosteffect = Efecte del potenciador +stat.maxunits = Unitats actives màximes +stat.health = Salut +stat.armor = Armadura +stat.buildtime = Temps de construcció +stat.maxconsecutive = Màxim consecutiu +stat.buildcost = Cost de construcció +stat.inaccuracy = Imprecisió +stat.shots = Dispars +stat.reload = Cadència de tir +stat.ammo = Munició +stat.shieldhealth = Salut de l’escut +stat.cooldowntime = Temps de refredament +stat.explosiveness = Explosivitat +stat.basedeflectchance = Probabilitat base d’evasió +stat.lightningchance = Probabilitat de llampegar +stat.lightningdamage = Dany del llampec +stat.flammability = Inflamabilitat +stat.radioactivity = Radioactivitat +stat.charge = Càrrega elèctrica +stat.heatcapacity = Resistència a la calor +stat.viscosity = Viscositat +stat.temperature = Temperatura +stat.speed = Velocitat +stat.buildspeed = Velocitat de construcció +stat.minespeed = Velocitat d’extracció +stat.minetier = Nivell de perforació +stat.payloadcapacity = Capacitat de les cintes de blocs +stat.abilities = Habilitats +stat.canboost = Pot sobrevolar. +stat.flying = Està volant. +stat.ammouse = Ús de munició +stat.ammocapacity = Capacitat de munició +stat.damagemultiplier = Multiplicador de dany +stat.healthmultiplier = Multiplicador de salut +stat.speedmultiplier = Multiplicador de velocitat +stat.reloadmultiplier = Multiplicador de recàrrega +stat.buildspeedmultiplier = Multiplicador de velocitat de construcció +stat.reactive = Reacciona amb +stat.immunities = Immunitats +stat.healing = Reparador +stat.efficiency = [stat]{0}% Efficiency + +ability.forcefield = Camp de força +ability.forcefield.description = Projecta un camp de força que absorbeix les bales. +ability.repairfield = Repara el camp de força +ability.repairfield.description = Repara les unitats properes. +ability.statusfield = Estat del camp +ability.statusfield.description = Aplica un efecte d’estat a les unitats properes. +ability.unitspawn = Fàbrica +ability.unitspawn.description = Construeix unitats. +ability.shieldregenfield = Regenerador de camps de força +ability.shieldregenfield.description = Regenera els escuts d’unitats properes. +ability.movelightning = Moviment llampec +ability.movelightning.description = Solta un llamp mentre es mou. +ability.armorplate = Armadura de plaques +ability.armorplate.description = Redueix el dany rebut mentre dispara. +ability.shieldarc = Escut de descàrregues +ability.shieldarc.description = Projecta un escut de força en un arc que absorbeix les bales. +ability.suppressionfield = Regenera el camp de supressió +ability.suppressionfield.description = Para els edificis de reparació propers. +ability.energyfield = Camp de força +ability.energyfield.description = Ataca els enemics propers. +ability.energyfield.healdescription = Ataca els enemics propers i cura els aliats. +ability.regen = Regeneració +ability.regen.description = Regenera la seva salut amb el pas del temps. +ability.liquidregen = Absorció de líquids +ability.liquidregen.description = Absorbeix líquids per a curar-se. +ability.spawndeath = Aparicions mortals +ability.spawndeath.description = Allibera unitats quan mor. +ability.liquidexplode = Vessament mortal +ability.liquidexplode.description = Vessa líquid quan mor. +ability.stat.firingrate = [stat]{0}/seg[lightgray] de cadència de tir +ability.stat.regen = [stat]{0}[lightgray] de salut/seg +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] d’escut +ability.stat.repairspeed = [stat]{0}/seg[lightgray] de velocitat de reparació +ability.stat.slurpheal = [stat]{0}[lightgray] de salut/unitat de líquid +ability.stat.cooldown = [stat]{0} seg[lightgray] de temps de refredament +ability.stat.maxtargets = [stat]{0}[lightgray] objectius com a màxim +ability.stat.sametypehealmultiplier = [stat]{0} %[lightgray] a la quantitat de reparació del mateix tipus +ability.stat.damagereduction = [stat]{0} %[lightgray] de reducció del dany +ability.stat.minspeed = [stat]{0} caselles/seg[lightgray] de velocitat mín. +ability.stat.duration = [stat]{0} seg[lightgray] de duració +ability.stat.buildtime = [stat]{0} seg[lightgray] de temps de construcció + +bar.onlycoredeposit = Només es permet depositar al nucli. +bar.drilltierreq = Cal una perforadora millor. +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Falten recursos. +bar.corereq = Cal un nucli base. +bar.corefloor = Cal col·locar-ho en una zona designada per a nuclis. +bar.cargounitcap = S’ha assolit el límit de càrrega d’unitats. +bar.drillspeed = Velocitat de perforació: {0}/s +bar.pumpspeed = Velocitat de bombeig: {0}/s +bar.efficiency = Eficiència: {0} % +bar.boost = Potenciador: +{0} % +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = Potència: {0}/s +bar.powerstored = Emmagatzemat: {0}/{1} +bar.poweramount = Energia: {0} +bar.poweroutput = Potència de sortida: {0} +bar.powerlines = Connexions: {0}/{1} +bar.items = Elements: {0} +bar.capacity = Capacitat: {0} +bar.unitcap = {0} {1}/{2} +bar.liquid = Líquid +bar.heat = Calor +bar.cooldown = Cooldown +bar.instability = Inestabilitat +bar.heatamount = Calor: {0} +bar.heatpercent = Calor: {0} ({1} %) +bar.power = Potència +bar.progress = Progrés de la construcció +bar.loadprogress = Progrés +bar.launchcooldown = Refredament del llançament +bar.input = Entrada +bar.output = Sortida +bar.strength = [stat]{0}[lightgray]× força + +units.processorcontrol = [lightgray]Controlat pel processador + +bullet.damage = [stat]{0}[lightgray] de dany +bullet.splashdamage = [stat]{0}[lightgray] de dany a l’àrea ~[stat] {1}[lightgray] caselles +bullet.incendiary = [stat]incendiari +bullet.homing = [stat]munició guiada +bullet.armorpierce = [stat]perforador d’armadures +bullet.maxdamagefraction = [stat]{0}%[lightgray] de dany límit +bullet.suppression = [stat]Supressió de reparacions cada {0} s[lightgray] ~ [stat]{1}[lightgray] caselles +bullet.interval = [stat]Interval de bales de {0}/s[lightgray]: +bullet.frags = [stat]{0}[lightgray]× de bales de fragmentació: +bullet.lightning = [stat]{0}[lightgray]× llampec ~ [stat]{1}[lightgray] de dany +bullet.buildingdamage = [stat]{0}%[lightgray] de dany a les estructures +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] de bloqueig +bullet.pierce = [stat]{0}[lightgray]× de perforació +bullet.infinitepierce = [stat]perforador +bullet.healpercent = [stat]{0}[lightgray] % de reparació +bullet.healamount = [stat]{0}[lightgray] de reparació directa +bullet.multiplier = [stat]{0}[lightgray]× de multiplicador de munició +bullet.reload = [stat]{0}[lightgray]× de cadència de tir +bullet.range = [stat]abast de {0}[lightgray] caselles +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles + +unit.blocks = blocs +unit.blockssquared = blocs² +unit.powersecond = unitats d’energia/s +unit.tilessecond = caselles/s +unit.liquidsecond = unitats de líquid/s +unit.itemssecond = elements/s +unit.liquidunits = unitats de líquid +unit.powerunits = unitats d’energia +unit.heatunits = unitats de calor +unit.degrees = ° +unit.seconds = s +unit.minutes = min +unit.persecond = /s +unit.perminute = /min +unit.timesspeed = × velocitat +unit.multiplier = x +unit.percent = % +unit.shieldhealth = salut d’escut +unit.items = elements +unit.thousands = k +unit.millions = M +unit.billions = kM +unit.shots = dispars +unit.pershot = /dispar +category.purpose = Funció +category.general = General +category.power = Energia +category.liquids = Líquids +category.items = Elements +category.crafting = Entrada/Sortida +category.function = Funcionament +category.optional = Millores opcionals +setting.alwaysmusic.name = Reprodueix música sempre +setting.alwaysmusic.description = Quan està activat, la música es reproduirà en bucle durant les partides.\nQuan està desactivat, només es reproduirà a intervals aleatoris. +setting.skipcoreanimation.name = Omet l’animació del llançament i aterratge del nucli +setting.landscape.name = Bloca el paisatge +setting.shadows.name = Ombres +setting.blockreplace.name = Suggeriments de bloc automàtics +setting.linear.name = Filtrat lineal +setting.hints.name = Consells +setting.logichints.name = Consells de blocs lògics +setting.backgroundpause.name = Pausa automàtica quan s’estigui en segon pla +setting.buildautopause.name = Pausa automàtica quan es construeixi +setting.doubletapmine.name = Dos tocs/clics per a extreure recursos +setting.commandmodehold.name = Mantén per al mode de comandament +setting.distinctcontrolgroups.name = Limita a un grup de control per unitat +setting.modcrashdisable.name = Desactiva els mods quan no es pugui iniciar el joc +setting.animatedwater.name = Animacions del terreny +setting.animatedshields.name = Animacions dels escuts +setting.playerindicators.name = Indicadors de jugadors +setting.indicators.name = Indicadors d’enemics +setting.autotarget.name = Apunta automàticament +setting.keyboard.name = Controls amb ratolí i teclat +setting.touchscreen.name = Controls tàctils +setting.fpscap.name = FPS màx. +setting.fpscap.none = Cap +setting.fpscap.text = {0} FPS +setting.uiscale.name = Escala de la interfície +setting.uiscale.description = Cal reiniciar perquè s’apliquin els canvis. +setting.swapdiagonal.name = Permet sempre construir en diagonal +setting.screenshake.name = Sacseig de pantalla +setting.bloomintensity.name = Intensitat de l’efecte «bloom» +setting.bloomblur.name = Desenfocament «bloom» +setting.effects.name = Mostra els efectes +setting.destroyedblocks.name = Mostra els blocs destruïts +setting.blockstatus.name = Mostra l’estat dels blocs +setting.conveyorpathfinding.name = Construcció intel·ligent de cintes transportadores +setting.sensitivity.name = Sensitivitat del controlador +setting.saveinterval.name = Interval de les desades automàtiques +setting.seconds = {0} s +setting.milliseconds = {0} ms +setting.fullscreen.name = Pantalla completa +setting.borderlesswindow.name = Finestra sense vora +setting.borderlesswindow.name.windows = Pantalla completa sense vora +setting.borderlesswindow.description = Potser caldrà reiniciar el joc per a aplicar els canvis. +setting.fps.name = Mostra els FPS i el ping +setting.console.name = Activa la consola +setting.smoothcamera.name = Moviment de càmera suau +setting.vsync.name = Sincronització vertical (VSync) +setting.pixelate.name = Pixela +setting.minimap.name = Mostra el minimapa +setting.coreitems.name = Mostra els elements del nucli +setting.position.name = Mostra la posició del jugador +setting.mouseposition.name = Mostra la posició del ratolí +setting.musicvol.name = Volum de la música +setting.atmosphere.name = Mostra l’atmosfera del planeta +setting.drawlight.name = Dibuixa la foscor/llum +setting.ambientvol.name = Volum del so ambiental +setting.mutemusic.name = Silencia la música +setting.sfxvol.name = Volums dels efectes de so +setting.mutesound.name = Silencia el so +setting.crashreport.name = Envia informes d’error anònims +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Desa automàticament la partida +setting.steampublichost.name = Visibilitat de la partida pública +setting.playerlimit.name = Límit de jugadors +setting.chatopacity.name = Opacitat del xat +setting.lasersopacity.name = Opacitat dels làsers d’energia +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Opacitat de cintes i canonades subterrànies +setting.playerchat.name = Mostra el xat bombolla de jugadors +setting.showweather.name = Mostra l’estat meteorològic +setting.hidedisplays.name = Amaga els monitors lògics +setting.macnotch.name = Adapta la interfície per a mostrar el notch +setting.macnotch.description = Cal reiniciar perquè s’apliquin els canvis +steam.friendsonly = Només amics +steam.friendsonly.tooltip = Indica si només els amics de Steam podran unir-se a la vostra partida.\nSi no es selecciona aquesta opció, la vostra partida serà pública i s’hi podrà unir qualsevol jugador. +public.beta = Tingueu en compte que les versions beta no disposen de sales d’espera. +uiscale.reset = L’escala de la interfície ha canviat.\nPremeu «D’acord» per a confirmar-ho.\n[scarlet]Es revertiran els canvis en [accent]{0}[] segons. +uiscale.cancel = Cancel·la i surt +setting.bloom.name = Bloom (efecte de desenfocament i il·luminació) +keybind.title = Personalització dels controls +keybinds.mobile = [scarlet]La majoria de dreceres no estan disponibles en les versions per a pantalles tàctils. Només està inclòs el moviment bàsic. +category.general.name = General +category.view.name = Control de la vista i altres +category.command.name = Ordre d’unitat +category.multiplayer.name = Multijugador +category.blocks.name = Selecció d’estructures per construir +placement.blockselectkeys = \n[lightgray]Tecles: [{0}, +keybind.respawn.name = Reapareix +keybind.control.name = Controla una unitat +keybind.clear_building.name = Desmunta una estructura +keybind.press = Premeu una tecla… +keybind.press.axis = Premeu un botó o moveu una palanca… +keybind.screenshot.name = Pren una captura de pantalla del mapa +keybind.toggle_power_lines.name = Mostra/Amaga els làsers d’energia +keybind.toggle_block_status.name = Mostra/Amaga els estats dels blocs +keybind.move_x.name = Mou en l’eix X +keybind.move_y.name = Mou en l’eix Y +keybind.mouse_move.name = Segueix el ratolí +keybind.pan.name = Desplaça la vista +keybind.boost.name = Sobrevola +keybind.command_mode.name = Mode de comandament +keybind.command_queue.name = Cua d’ordres d’unitat +keybind.create_control_group.name = Crea un grup de control +keybind.cancel_orders.name = Cancel·la les ordres +keybind.unit_stance_shoot.name = Comportament: Dispara +keybind.unit_stance_hold_fire.name = Comportament: Mantén el foc +keybind.unit_stance_pursue_target.name = Comportament: Persegueix l’objectiu +keybind.unit_stance_patrol.name = Comportament: Patrulla +keybind.unit_stance_ram.name = Comportament: Senzill +keybind.unit_command_move.name = Ordre d’unitat: Mou +keybind.unit_command_repair.name = Ordre d’unitat: Repara +keybind.unit_command_rebuild.name = Ordre d’unitat: Reconstrueix +keybind.unit_command_assist.name = Ordre d’unitat: Assisteix +keybind.unit_command_mine.name = Ordre d’unitat: Extrau +keybind.unit_command_boost.name = Ordre d’unitat: Sobrevola +keybind.unit_command_load_units.name = Ordre d’unitat: Carrega unitats +keybind.unit_command_load_blocks.name = Ordre d’unitat: Carrega blocs +keybind.unit_command_unload_payload.name = Ordre d’unitat: Descarrega blocs +keybind.unit_command_enter_payload.name = Ordre d’unitat: Entra blocs +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Reconstrueix la regió +keybind.schematic_select.name = Selecciona una regió +keybind.schematic_menu.name = Menú de plànols +keybind.schematic_flip_x.name = Volta el plànol horitzontalment +keybind.schematic_flip_y.name = Volta el plànol verticalment +keybind.category_prev.name = Categoria anterior +keybind.category_next.name = Categoria següent +keybind.block_select_left.name = Selecciona la de l’esquerra +keybind.block_select_right.name = Selecciona la de la dreta +keybind.block_select_up.name = Selecciona la de dalt +keybind.block_select_down.name = Selecciona la de sota +keybind.block_select_01.name = Selecciona categoria/bloc 1 +keybind.block_select_02.name = Selecciona categoria/bloc 2 +keybind.block_select_03.name = Selecciona categoria/bloc 3 +keybind.block_select_04.name = Selecciona categoria/bloc 4 +keybind.block_select_05.name = Selecciona categoria/bloc 5 +keybind.block_select_06.name = Selecciona categoria/bloc 6 +keybind.block_select_07.name = Selecciona categoria/bloc 7 +keybind.block_select_08.name = Selecciona categoria/bloc 8 +keybind.block_select_09.name = Selecciona categoria/bloc 9 +keybind.block_select_10.name = Selecciona categoria/bloc 10 +keybind.fullscreen.name = Commuta el mode de pantalla completa +keybind.select.name = Selecciona/Dispara +keybind.diagonal_placement.name = Construcció diagonal +keybind.pick.name = Selecciona un tipus de bloc des del mapa +keybind.break_block.name = Desmunta un bloc +keybind.select_all_units.name = Selecciona totes les unitats +keybind.select_all_unit_factories.name = Selecciona totes les unitats fabricadores +keybind.deselect.name = Cancel·la la selecció +keybind.pickupCargo.name = Recull càrrega +keybind.dropCargo.name = Deixa la càrrega +keybind.shoot.name = Dispara +keybind.zoom.name = Zoom +keybind.menu.name = Menú +keybind.pause.name = Posa en pausa +keybind.pause_building.name = Posa en pausa/Reprèn la construcció +keybind.minimap.name = Minimapa +keybind.planet_map.name = Mapa del planeta +keybind.research.name = Recerca +keybind.block_info.name = Informació del bloc +keybind.chat.name = Xat +keybind.player_list.name = Llista de jugadors +keybind.console.name = Consola +keybind.rotate.name = Gira +keybind.rotateplaced.name = Gira els existents (mantenint-la premuda) +keybind.toggle_menus.name = Mostra/Amaga la interfície +keybind.chat_history_prev.name = Historial del xat: Anterior +keybind.chat_history_next.name = Historial del xat: Següent +keybind.chat_scroll.name = Historial del xat: Desplaça +keybind.chat_mode.name = Canvia el mode del xat +keybind.drop_unit.name = Deixa anar la unitat +keybind.zoom_minimap.name = Apropa/Allunya la vista del minimapa +mode.help.title = Descripció dels modes +mode.survival.name = Supervivència +mode.survival.description = El mode normal. Hi ha recursos limitats i les onades són automàtiques.\n[gray]Cal que al mapa hi hagin llocs d’aparició d’enemics. +mode.sandbox.name = Mode lliure +mode.sandbox.description = Recursos infinits i sense temporitzador per a les onades. +mode.editor.name = Editor +mode.pvp.name = Jug. vs. Jug. +mode.pvp.description = Lluiteu contra altres jugadors localment.\n[gray]Cal que al mapa hi hagi almenys 2 nuclis de diferent color. +mode.attack.name = Atac +mode.attack.description = Destruïu la base enemiga. \n[gray]Cal que al mapa hi hagi un nucli vermell. +mode.custom = Regles personalitzades +rules.invaliddata = Dades del porta-retalls no vàlides. +rules.hidebannedblocks = Amaga els blocs no permesos + +rules.infiniteresources = Recursos infinits +rules.onlydepositcore = Al nucli només es poden dipositar recursos +rules.derelictrepair = Permet la reparació dels blocs en ruïnes +rules.reactorexplosions = Explosions als reactors +rules.coreincinerates = El nucli incinera els excedents +rules.disableworldprocessors = Desactiva els processadors integrats +rules.schematic = Permetre l’ús d’esquemes +rules.wavetimer = Temporitzador d’onades +rules.wavesending = Enviament d’onades +rules.allowedit = Permet editar les regles +rules.allowedit.info = Quan està activat, el jugador pot editar les regles de la partida amb el botó que hi ha a la part inferior esquerra del menú de pausa. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. +rules.waves = Onades +rules.airUseSpawns = Les unitats aèries fan servir els punts d’aparició +rules.attack = Mode d’atac +rules.buildai = IA constructora de bases +rules.buildaitier = Nivell de construcció de la IA +rules.rtsai = IA avançada (RTS AI) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Mida mínima de l’esquadró +rules.rtsmaxsquadsize = Mida màxima de l’esquadró +rules.rtsminattackweight = Pes d’atac mínim +rules.cleanupdeadteams = Treu els blocs dels equips derrotats (en mode JvsJ) +rules.corecapture = Captura el nucli en lloc de destruir-lo +rules.polygoncoreprotection = Protecció poligonal del nucli +rules.placerangecheck = Comprova l’abast de construcció +rules.enemyCheat = Recursos infinits per a la IA (equip vermell) +rules.blockhealthmultiplier = Multiplicador de la salut dels blocs +rules.blockdamagemultiplier = Multiplicador del dany dels blocs +rules.unitbuildspeedmultiplier = Multiplicador de la velocitat de producció d’unitats +rules.unitcostmultiplier = Multiplicador del cost de les unitats +rules.unithealthmultiplier = Multiplicador de la salut de les unitats +rules.unitdamagemultiplier = Multiplicador del dany de les unitats +rules.unitcrashdamagemultiplier = Multiplicador del dany de xoc de les unitats +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Multiplicador de l’energia solar +rules.unitcapvariable = Els nuclis contribueixen al límit d’unitats +rules.unitpayloadsexplode = Els blocs carregats exploten juntament amb la unitat +rules.unitcap = Capacitat base d’unitats +rules.limitarea = Limita l’àrea del mapa +rules.enemycorebuildradius = Radi de no construcció del nucli enemic:[lightgray] (caselles) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Interval entre onades:[lightgray] (s) +rules.initialwavespacing = Retard de l’onada inicial:[lightgray] (s) +rules.buildcostmultiplier = Multiplicador del cost de construcció +rules.buildspeedmultiplier = Multiplicador de la velocitat de construcció +rules.deconstructrefundmultiplier = Multiplicador dels elements recuperats per desmuntatge +rules.waitForWaveToEnd = Les onades esperen fins veure enemics +rules.wavelimit = El mapa acaba després de l’onada +rules.dropzoneradius = Radi de la zona d’aterratge:[lightgray] (caselles) +rules.unitammo = Les unitats necessiten munició +rules.enemyteam = Equip enemic +rules.playerteam = Equip dels jugadors +rules.title.waves = Onades +rules.title.resourcesbuilding = Recursos i construcció +rules.title.enemy = Enemics +rules.title.unit = Unitats +rules.title.experimental = Experimental +rules.title.environment = Entorn +rules.title.teams = Equips +rules.title.planet = Planeta +rules.lighting = Il·luminació +rules.fog = Amaga el terreny inexplorat +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Foc +rules.anyenv = +rules.explosions = Dany de les explosions als blocs/unitats +rules.ambientlight = Il·luminació ambiental +rules.weather = Estat meteorològic +rules.weather.frequency = Freqüència: +rules.weather.always = Sempre +rules.weather.duration = Durada: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = No es permet que els jugadors puguin posar res a prop dels edificis enemics. Quan s’intenta posar una torreta, l’abast augmenta i la torreta no podrà arribar a l’enemic. +rules.onlydepositcore.info = No es permet que les unitats deixin elements a dins dels edificis excepte els nuclis. + +content.item.name = Elements +content.liquid.name = Fluids +content.unit.name = Unitats +content.block.name = Blocs +content.status.name = Efectes d’estat +content.sector.name = Sectors +content.team.name = Faccions + +wallore = (Mur) + +item.copper.name = Coure +item.lead.name = Plom +item.coal.name = Carbó +item.graphite.name = Grafit +item.titanium.name = Titani +item.thorium.name = Tori +item.silicon.name = Silici +item.plastanium.name = Plastani +item.phase-fabric.name = Teixit de fase +item.surge-alloy.name = Aliatge electrificable +item.spore-pod.name = Beines d’espores +item.sand.name = Sorra +item.blast-compound.name = Compost explosiu +item.pyratite.name = Piratita +item.metaglass.name = Metavidre +item.scrap.name = Ferralla +item.fissile-matter.name = Matèria fissible +item.beryllium.name = Beril·li +item.tungsten.name = Tungstè +item.oxide.name = Ã’xid +item.carbide.name = Carbur +item.dormant-cyst.name = Quist latent + +liquid.water.name = Aigua +liquid.slag.name = Escòria +liquid.oil.name = Petroli +liquid.cryofluid.name = Líquid criogènic +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arquicita +liquid.gallium.name = Gal·li +liquid.ozone.name = Ozó +liquid.hydrogen.name = Hidrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cianogen + +unit.dagger.name = Daga +unit.mace.name = Maça +unit.fortress.name = Fortress +unit.nova.name = Nova +unit.pulsar.name = Púlsar +unit.quasar.name = Quàsar +unit.crawler.name = Crawler +unit.atrax.name = Àtrax +unit.spiroct.name = Spiroct +unit.arkyid.name = Àrquid +unit.toxopid.name = Toxòpid +unit.flare.name = Flare +unit.horizon.name = Horitzó +unit.zenith.name = Zenit +unit.antumbra.name = Antumbra +unit.eclipse.name = Eclipsi +unit.mono.name = Mono +unit.poly.name = Poli +unit.mega.name = Mega +unit.quad.name = Quad +unit.oct.name = Octo +unit.risso.name = Risso +unit.minke.name = Minke +unit.bryde.name = Bryde +unit.sei.name = Sei +unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax +unit.alpha.name = Alfa +unit.beta.name = Beta +unit.gamma.name = Gamma +unit.scepter.name = Scepter +unit.reign.name = Reign +unit.vela.name = Vela +unit.corvus.name = Corvus + +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Norma +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Ã’bvia +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Dron de muntatge +unit.latum.name = Latum +unit.renale.name = Renale + +block.parallax.name = Pàral·lax +block.cliff.name = Espadat +block.sand-boulder.name = Roca sorrenca +block.basalt-boulder.name = Roca basàltica +block.grass.name = Herba +block.molten-slag.name = Escòria +block.pooled-cryofluid.name = Líquid criogènic +block.space.name = Espai +block.salt.name = Sal +block.salt-wall.name = Mur de sal +block.pebbles.name = Còdols +block.tendrils.name = Rínxols +block.sand-wall.name = Mur sorrenc +block.spore-pine.name = Pi d’espores +block.spore-wall.name = Mur d’espores +block.boulder.name = Roca +block.snow-boulder.name = Roca nevada +block.snow-pine.name = Pi congelat +block.shale.name = Esquist +block.shale-boulder.name = Roca esquistosa +block.moss.name = Molsa +block.shrubs.name = Arbustos +block.spore-moss.name = Molsa d’espores +block.shale-wall.name = Mur esquistós +block.scrap-wall.name = Mur de ferralla +block.scrap-wall-large.name = Mur de ferralla gros +block.scrap-wall-huge.name = Mur de ferralla enorme +block.scrap-wall-gigantic.name = Mur de ferralla gegantí +block.thruster.name = Propulsor +block.kiln.name = Forn de vidre +block.graphite-press.name = Premsa de grafit +block.multi-press.name = Premsa múltiple +block.constructing = {0} [lightgray](Construint) +block.spawn.name = Punt d’aparició d’enemics +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Nucli: Estella +block.core-foundation.name = Nucli: Fonament +block.core-nucleus.name = Nucli: Punt neuràlgic +block.deep-water.name = Aigua profunda +block.shallow-water.name = Aigua +block.tainted-water.name = Aigua contaminada +block.deep-tainted-water.name = Aigua contaminada profunda +block.darksand-tainted-water.name = Aigua contaminada amb sorra negra +block.tar.name = Quitrà +block.stone.name = Pedra +block.sand-floor.name = Sorra +block.darksand.name = Sorra negra +block.ice.name = Gel +block.snow.name = Neu +block.crater-stone.name = Cràters +block.sand-water.name = Sorra amb aigua +block.darksand-water.name = Sorra negra amb aigua +block.char.name = Cendra +block.dacite.name = Dacita +block.rhyolite.name = Riolita +block.dacite-wall.name = Mur de dacita +block.dacite-boulder.name = Roca de dacita +block.ice-snow.name = Gel/Neu +block.stone-wall.name = Mur de pedra +block.ice-wall.name = Mur de gel +block.snow-wall.name = Mur de neu +block.dune-wall.name = Mur de duna +block.pine.name = Pi +block.dirt.name = Terra +block.dirt-wall.name = Mur de terra +block.mud.name = Fang +block.white-tree-dead.name = Arbre blanc mort +block.white-tree.name = Arbre blanc +block.spore-cluster.name = Clúster d’espores +block.metal-floor.name = Terra metàl·lic 1 +block.metal-floor-2.name = Terra metàl·lic 2 +block.metal-floor-3.name = Terra metàl·lic 3 +block.metal-floor-4.name = Terra metàl·lic 4 +block.metal-floor-5.name = Terra metàl·lic 5 +block.metal-floor-damaged.name = Terra metàl·lic danyat +block.dark-panel-1.name = Panell fosc 1 +block.dark-panel-2.name = Panell fosc 2 +block.dark-panel-3.name = Panell fosc 3 +block.dark-panel-4.name = Panell fosc 4 +block.dark-panel-5.name = Panell fosc 5 +block.dark-panel-6.name = Panell fosc 6 +block.dark-metal.name = Metall fosc +block.basalt.name = Basalt +block.hotrock.name = Roca calenta +block.magmarock.name = Roca magmàtica +block.copper-wall.name = Mur de coure +block.copper-wall-large.name = Mur de coure gros +block.titanium-wall.name = Mur de titani +block.titanium-wall-large.name = Mur de titani gros +block.plastanium-wall.name = Mur de plastani +block.plastanium-wall-large.name = Mur de plastani gros +block.phase-wall.name = Mur de fase +block.phase-wall-large.name = Mur de fase gros +block.thorium-wall.name = Mur de tori +block.thorium-wall-large.name = Mur de tori gros +block.door.name = Porta +block.door-large.name = Porta gran +block.duo.name = Duo +block.scorch.name = Scorch +block.scatter.name = Scatter +block.hail.name = Hail +block.lancer.name = Lancer +block.conveyor.name = Cinta transportadora +block.titanium-conveyor.name = Cinta transportadora de titani +block.plastanium-conveyor.name = Cinta transportadora de plastani +block.armored-conveyor.name = Cinta transportadora blindada +block.junction.name = Encreuament +block.router.name = Encaminador +block.distributor.name = Distrïbudor +block.sorter.name = Classificador +block.inverted-sorter.name = Classificador invers +block.message.name = Missatge +block.reinforced-message.name = Missatge destacat +block.world-message.name = Missatge mundial +block.world-switch.name = Interruptor mundial +block.illuminator.name = Il·luminador +block.overflow-gate.name = Porta de desbordament +block.underflow-gate.name = Porta de subdesbordament +block.silicon-smelter.name = Forn de silici +block.phase-weaver.name = Teixidor de fase +block.pulverizer.name = Polsinadora +block.cryofluid-mixer.name = Barrejador de líquid criogènic +block.melter.name = Fonedora +block.incinerator.name = Incineradora +block.spore-press.name = Premsa d’espores +block.separator.name = Separadora +block.coal-centrifuge.name = Centrífuga de carbó +block.power-node.name = Node d’energia +block.power-node-large.name = Node d’energia gros +block.surge-tower.name = Torre electrificada +block.diode.name = Díode de bateria +block.battery.name = Bateria +block.battery-large.name = Bateria grossa +block.combustion-generator.name = Generador a combustió +block.steam-generator.name = Generador a vapor +block.differential-generator.name = Generador diferencial +block.impact-reactor.name = Reactor d’impacte +block.mechanical-drill.name = Perforadora mecànica +block.pneumatic-drill.name = Perforadora pneumàtica +block.laser-drill.name = Perforadora làser +block.water-extractor.name = Pou de bombeig d’aigua +block.cultivator.name = Cultivador +block.conduit.name = Canonada +block.mechanical-pump.name = Estació de bombeig mecànica +block.item-source.name = Punt d’aparició d’elements +block.item-void.name = Punt d’eliminació d’elements +block.liquid-source.name = Punt d’aparició de líquids +block.liquid-void.name = Eliminador de líquids +block.power-void.name = Eliminador d’energia +block.power-source.name = Font d’energia +block.unloader.name = Descarregador +block.vault.name = Contenidor gros +block.wave.name = Wave +block.tsunami.name = Tsunami +block.swarmer.name = Swarmer +block.salvo.name = Salvo +block.ripple.name = Ripple +block.phase-conveyor.name = Cinta transportadora de fase +block.bridge-conveyor.name = Cinta transportadora subterrània +block.plastanium-compressor.name = Compressor de plastani +block.pyratite-mixer.name = Barrejador de piratita +block.blast-mixer.name = Barrejador d’explosius +block.solar-panel.name = Panell solar +block.solar-panel-large.name = Panell solar gran +block.oil-extractor.name = Extractor de petroli +block.repair-point.name = Punt de reparació +block.repair-turret.name = Torreta de reparacions +block.pulse-conduit.name = Canonada d’impuls +block.plated-conduit.name = Canonada xapada +block.phase-conduit.name = Canonada de fase +block.liquid-router.name = Encaminador de líquids +block.liquid-tank.name = Tanc de líquids +block.liquid-container.name = Contenidor de líquids +block.liquid-junction.name = Encreuament de canonades +block.bridge-conduit.name = Canonada subterrània +block.rotary-pump.name = Estació de bombeig (amb bomba rotatòria) +block.thorium-reactor.name = Reactor de tori +block.mass-driver.name = Transportador a distància +block.blast-drill.name = Perforadora amb aire comprimit +block.impulse-pump.name = Estació de bombeig (per impuls) +block.thermal-generator.name = Generador tèrmic +block.surge-smelter.name = Forn d’aliatge electrificable +block.mender.name = Reparadora +block.mend-projector.name = Projector de reparacions +block.surge-wall.name = Mur d’aliatge electrificable +block.surge-wall-large.name = Mur d’aliatge electrificable gros +block.cyclone.name = Cicló +block.fuse.name = Fuse +block.shock-mine.name = Mina de xoc +block.overdrive-projector.name = Projector d’acceleració +block.force-projector.name = Projector de camps de força +block.arc.name = Arc +block.rtg-generator.name = Generador RTG +block.spectre.name = Spectre +block.meltdown.name = Meltdown +block.foreshadow.name = Foreshadow +block.container.name = Contenidor +block.launch-pad.name = Plataforma de llançament +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Segment +block.ground-factory.name = Fàbrica d’unitats terrestres +block.air-factory.name = Fàbrica d’unitats aèries +block.naval-factory.name = Fàbrica d’unitats navals +block.additive-reconstructor.name = Reconstructor additiu +block.multiplicative-reconstructor.name = Reconstructor multiplicatiu +block.exponential-reconstructor.name = Reconstructor exponencial +block.tetrative-reconstructor.name = Reconstructor tetratiu +block.payload-conveyor.name = Cinta transportadora de blocs +block.payload-router.name = Encaminador de blocs +block.duct.name = Conducte +block.duct-router.name = Encaminador de conductes +block.duct-bridge.name = Conducte subterrani +block.large-payload-mass-driver.name = Transportador gros de blocs a distància +block.payload-void.name = Eliminador de blocs +block.payload-source.name = Punt d’aparició de blocs +block.disassembler.name = Desmuntadora +block.silicon-crucible.name = Gresol de silici +block.overdrive-dome.name = Cúpula d’acceleració +block.interplanetary-accelerator.name = Accelerador interplanetari +block.constructor.name = Constructor de blocs +block.constructor.description = Fabrica estructures de mida fins a 2×2 caselles. +block.large-constructor.name = Constructor de blocs grossos +block.large-constructor.description = Fabrica estructures de mida fins a 4×4 caselles. +block.deconstructor.name = Desconstructor de blocs +block.deconstructor.description = Desmunta estructures i unitats. Retorna el 100 % del cost de construcció. +block.payload-loader.name = Carregador de blocs +block.payload-loader.description = Carrega líquids i elements als blocs. +block.payload-unloader.name = Descarregador de blocs +block.payload-unloader.description = Descarrega líquids i elements dels blocs. +block.heat-source.name = Punt d’aparició de calor +block.heat-source.description = Un bloc de mida 1×1 que dóna calor de manera constant sense consumir recursos. + +#TODO: temporary names! +block.empty.name = Buit +block.rhyolite-crater.name = Cràter de riolita +block.rough-rhyolite.name = Riolita irregular +block.regolith.name = Regolita +block.yellow-stone.name = Pedra groga +block.carbon-stone.name = Pedra carbonífera +block.ferric-stone.name = Pedra fèrrica +block.ferric-craters.name = Cràters fèrrics +block.beryllic-stone.name = Pedra beril·liana +block.crystalline-stone.name = Pedra cristal·lina +block.crystal-floor.name = Porta de cristall +block.yellow-stone-plates.name = Làmines de pedra groga +block.red-stone.name = Pedra vermella +block.dense-red-stone.name = Pedra vermella abundant +block.red-ice.name = Gel vermell +block.arkycite-floor.name = Terra d’arquicita +block.arkyic-stone.name = Pedra d’arquicita +block.rhyolite-vent.name = Fumarola de riolita +block.carbon-vent.name = Fumarola carbonífera +block.arkyic-vent.name = Fumarola d’arquicita +block.yellow-stone-vent.name = Fumarola de pedra groga +block.red-stone-vent.name = Fumarola de pedra vermella +block.crystalline-vent.name = Fumarola cristal·lina +block.redmat.name = Mata vermella +block.bluemat.name = Mata blava +block.core-zone.name = Zona del nucli +block.regolith-wall.name = Mur de regolita +block.yellow-stone-wall.name = Mur de pedra groga +block.rhyolite-wall.name = Mur de riolita +block.carbon-wall.name = Mur carbonífer +block.ferric-stone-wall.name = Mur de pedra fèrrica +block.beryllic-stone-wall.name = Mur de pedra beril·liana +block.arkyic-wall.name = Mur d’arquicita +block.crystalline-stone-wall.name = Mur de pedra cristal·lina +block.red-ice-wall.name = Mur de gel vermell +block.red-stone-wall.name = Mur de pedra vermella +block.red-diamond-wall.name = Mur de diamant vermell +block.redweed.name = Herba vermella +block.pur-bush.name = Arbust PUR +block.yellowcoral.name = Corall groc +block.carbon-boulder.name = Roca carbonífera +block.ferric-boulder.name = Roca fèrrica +block.beryllic-boulder.name = Roca beril·liana +block.yellow-stone-boulder.name = Roca de pedra groga +block.arkyic-boulder.name = Roca d’arquicita +block.crystal-cluster.name = Estructura cristal·lina +block.vibrant-crystal-cluster.name = Estructura cristal·lina vibrant +block.crystal-blocks.name = Blocs de cristall +block.crystal-orbs.name = Boles de cristall +block.crystalline-boulder.name = Roques cristal·lines +block.red-ice-boulder.name = Roca de gel vermella +block.rhyolite-boulder.name = Roca de riolita +block.red-stone-boulder.name = Roca de pedra vermella +block.graphitic-wall.name = Mur de grafit +block.silicon-arc-furnace.name = Forn d’arc de silici +block.electrolyzer.name = Electrolitzador +block.atmospheric-concentrator.name = Concentrador atmosfèric +block.oxidation-chamber.name = Cambra d’oxidació +block.electric-heater.name = Escalfador elèctric +block.slag-heater.name = Escalfador d’escòria +block.phase-heater.name = Escalfador de fase +block.heat-redirector.name = Redirector tèrmic +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Encaminador tèrmic +block.slag-incinerator.name = Incineradora d’escòria +block.carbide-crucible.name = Gresol de carbur +block.slag-centrifuge.name = Centrifugadora d’escòria +block.surge-crucible.name = Gresol d’aliatge electrificable +block.cyanogen-synthesizer.name = Sintetitzador de cianogen +block.phase-synthesizer.name = Sintetitzador de fase +block.heat-reactor.name = Reactor tèrmic +block.beryllium-wall.name = Mur de beril·li +block.beryllium-wall-large.name = Mur de beril·li gros +block.tungsten-wall.name = Mur de tungstè +block.tungsten-wall-large.name = Mur de tungstè gros +block.blast-door.name = Porta de compost explosiu +block.carbide-wall.name = Mur de carbur +block.carbide-wall-large.name = Mur de carbur gros +block.reinforced-surge-wall.name = Mur d’aliatge electrificable reforçat +block.reinforced-surge-wall-large.name = Mur d’aliatge electrificable reforçat gros +block.shielded-wall.name = Mur blindat +block.radar.name = Radar +block.build-tower.name = Torre de construcció +block.regen-projector.name = Projector de regeneració +block.shockwave-tower.name = Torre d’ona sísmica +block.shield-projector.name = Projector d’escuts +block.large-shield-projector.name = Projector d’escuts gros +block.armored-duct.name = Conducte blindat +block.overflow-duct.name = Desbordament de conducte +block.underflow-duct.name = Subdesbordament de conducte +block.duct-unloader.name = Descarregador de conducte +block.surge-conveyor.name = Cinta transportadora d’aliatge electrificable +block.surge-router.name = Encaminador d’aliatge electrificable +block.unit-cargo-loader.name = Carregador d’unitats +block.unit-cargo-unload-point.name = Punt de descàrrega d’unitats +block.reinforced-pump.name = Estació de bombeig reforçada +block.reinforced-conduit.name = Canonada reforçada +block.reinforced-liquid-junction.name = Encreuament de líquids reforçada +block.reinforced-bridge-conduit.name = Canonada subterrània reforçada +block.reinforced-liquid-router.name = Encaminador de líquids reforçat +block.reinforced-liquid-container.name = Contenidor de líquids reforçat +block.reinforced-liquid-tank.name = Tanc de líquids reforçat +block.beam-node.name = Node de transmissió d’energia per raigs +block.beam-tower.name = Torre de transmissió d’energia per raigs +block.beam-link.name = Enllaç de transmissió d’energia per raigs +block.turbine-condenser.name = Turbina condensadora +block.chemical-combustion-chamber.name = Cambra de combustió química +block.pyrolysis-generator.name = Generador pirolític +block.vent-condenser.name = Respirador de condensació +block.cliff-crusher.name = Picadora d’espadats +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Perforadora de plasma +block.large-plasma-bore.name = Perforadora de plasma grossa +block.impact-drill.name = Perforadora d’impacte +block.eruption-drill.name = Perforadora per erupció +block.core-bastion.name = Nucli: Bastió +block.core-citadel.name = Nucli: Ciutadella +block.core-acropolis.name = Nucli: Acròpolis +block.reinforced-container.name = Contenidor reforçat +block.reinforced-vault.name = Contenidor reforçat gros +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Milloradora de tancs +block.mech-refabricator.name = Milloradora de meques +block.ship-refabricator.name = Milloradora de naus +block.tank-assembler.name = Muntadora de tancs +block.ship-assembler.name = Muntadora de naus +block.mech-assembler.name = Muntadora de meques +block.reinforced-payload-conveyor.name = Cinta transportadora de blocs reforçada +block.reinforced-payload-router.name = Encaminador de blocs reforçat +block.payload-mass-driver.name = Transportador a distància de blocs +block.small-deconstructor.name = Desconstructor petit +block.canvas.name = Llenç +block.world-processor.name = Processador integrat +block.world-cell.name = Cel·la de memòria integrada +block.tank-fabricator.name = Fabricadora de tancs +block.mech-fabricator.name = Fabricadora de meques +block.ship-fabricator.name = Fabricadora de naus +block.prime-refabricator.name = Milloradora Prime +block.unit-repair-tower.name = Torre de reparació d’unitats +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Mòdul de muntatge bàsic +block.smite.name = Smite +block.malign.name = Maligne +block.flux-reactor.name = Reactor de flux +block.neoplasia-reactor.name = Reactor de neoplàsia + +block.switch.name = Interruptor +block.micro-processor.name = Microprocessador +block.logic-processor.name = Processador lògic +block.hyper-processor.name = Hiperprocessador +block.logic-display.name = Monitor lògic +block.large-logic-display.name = Monitor lògic gran +block.memory-cell.name = Cel·la de memòria +block.memory-bank.name = Banc de memòria + +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Estellat +team.derelict.name = En ruïnes +team.green.name = Verd +team.blue.name = Blau + +hint.skip = Salta +hint.desktopMove = Per a moure-vos, premeu [accent][[WASD][]. +hint.zoom = [accent]Pinceu o gireu la roda del ratolí[] per a apropar o allunyar la vista. +hint.desktopShoot = Toqueu o feu clic amb el [accent]botó esquerre[] per a disparar. +hint.depositItems = Per a transferir elements, arrossegueu-los de la nau al nucli. +hint.respawn = Per a reaparèixer com una nau, premeu [accent]V[]. +hint.respawn.mobile = Ara esteu controlant una unitat o estructura. Per a reaparèixer com una nau, [accent]toqueu l’avatar[] de la part superior esquerra. +hint.desktopPause = Premeu la [accent]barra espaiadora[] per a posar en pausa i reprendre la partida. +hint.breaking = Feu clic amb el [accent]botó dret[] i arrossegueu per a treure blocs. +hint.breaking.mobile = Activeu el \ue817 [accent]martell[] de la part inferior dreta i toqueu els blocs que vulgueu treure.\n\nManteniu premut el dit durant un segon i arrossegueu per a seleccionar un rectangle d’on treure tots els blocs. +hint.blockInfo = Mostra la informació d’un bloc seleccionant-lo al [accent]menú de construcció[], Llavors seleccioneu el botó [accent][[?][] de la dreta. +hint.derelict = Les estructures [accent]en ruïnes[] són les restes de bases antigues que ja no funcionen.\n\nAquestes estructures es poden [accent]desmuntar[] per a recuperar recursos. +hint.research = Empreu el botó de \ue875 [accent]Recerca[] per a investigar noves tecnologies. +hint.research.mobile = Empreu el botó de \ue875 [accent]Recerca[] del \ue88c [accent]Menú[] per a investigar noves tecnologies. +hint.unitControl = Mantingueu premuda la tecla [accent][[ControlEsquerra][] i [accent]feu clic[] per a controlar torretes i unitats amistoses. +hint.unitControl.mobile = [accent]Toqueu dues vegades[] per a controlar torretes i unitats amistoses. +hint.unitSelectControl = Per a controlar unitats, entreu al [accent]mode de comandament[] amb la tecla [accent]Maj. esquerra[].\nMentre esteu al mode de comandament, feu clic i arrossegueu per a seleccionar unitats. Feu [accent]clic amb el botó esquerre[] en algun lloc o objectiu per a comandar-hi les unitats. +hint.unitSelectControl.mobile = Per a controlar unitats, entreu al [accent]mode de comandament[] amb el botó de[accent]comandament[] de la part superior esquerra.\nMentre esteu al mode de comandament, premeu uns segons i arrossegueu per a seleccionar unitats. Toqueu en algun lloc o objectiu per a comandar-hi les unitats. +hint.launch = Un cop s’han recollit prou recursos, podeu iniciar un llançament seleccionant un sector proper del \ue827 [accent]Mapa[] de la part inferior dreta. +hint.launch.mobile = Un cop s’han recollit prou recursos, podeu iniciar un llançament seleccionant un sector proper del \ue827 [accent]Mapa[] del \ue88c [accent]Menú[]. +hint.schematicSelect = Manteniu premuda la tecla [accent]F[] i arrossegueu per a seleccionar els blocs que vulgueu copiar i enganxar.\n\nFeu clic amb el [accent]botó del mig[] del ratolí per a copiar només un tipus de bloc. +hint.rebuildSelect = Manteniu premuda la tecla [accent][[B][] i arrossegueu per a seleccionar els plànols dels blocs destruïts.\nAixí, es podran reconstruir automàticament. +hint.rebuildSelect.mobile = Seleccioneu el botó de copiar \ue874. Després, toqueu el botó de reconstrucció \ue80f i arrossegueu per a triar quins blocs voleu que es reconstrueixin.\nAixò farà que es reconstrueixin de manera automàtica. +hint.conveyorPathfind = Manteniu premuda la tecla [accent]ControlEsquerra[] i arrossegueu les cintes per a generar un camí automàticament. +hint.conveyorPathfind.mobile = Activeu el \ue844 [accent]mode diagonal[] i arrossegueu les cintes per a generar un camí automàticament. +hint.boost = Manteniu premuda la tecla [accent]ControlEsquerra[] per a sobrevolar els obstacles amb la unitat actual.\n\nNomés algunes unitats terrestres tenen elevadors per a poder-ho fer. +hint.payloadPickup = Premeu [accent][[[] per a recollir blocs petits o unitats. +hint.payloadPickup.mobile = [accent]Manteniu premut[] un bloc petit per a recollir-lo. També es pot fer amb unitats. +hint.payloadDrop = Premeu [accent]][] per a deixar el bloc o la unitat. +hint.payloadDrop.mobile = [accent]Manteniu premuda[] una posició buida per a deixar-hi un bloc o una unitat. +hint.waveFire = Les torretes de tipus [accent]Wave[] que usin aigua com munició apagaran els focs propers automàticament. +hint.generator = Els \uf879 [accent]Generadors a combustió[] cremen carbó i transmeten energia als blocs adjacents.\n\nL’abast de la transmissió d’energia es pot expandir amb \uf87f [accent]node d’energia[]. +hint.guardian = Les unitats de tipus [accent]Guardià[] són unitats blindades. La munició dèbil com ara el [accent]Coure[] i el [accent]Plom[] [scarlet]no és efectiva[].\n\nEmpreu torretes de nivell més alt o carregueu torretes \uf861Duo/\uf859Salvo amb \uf835 [accent]Grafit[] per a destruir-los. +hint.coreUpgrade = Els nuclis es poden millorar [accent]construint-hi a sobre nuclis amb millors característiques[].\n\nSitueu un nucli de tipus [accent]Fonament[] a sobre del nucli [accent]Estella[]. Assegureu-vos que no hi hagin obstruccions properes. +hint.presetLaunch = Als [accent]sectors amb zones d’aterratge[] de color gris, com ara [accent]El bosc gelat[], s’hi pot accedir des de qualsevol lloc. No cal capturar cap territori proper.\n\nEls [accent]sectors numerats[], com aquest, són [accent]opcionals[]. +hint.presetDifficulty = Aquest sector té un [accent]nivell d’amenaça enemiga elevat[].\n[accent]No es recomana[] aterrar a aquests sectors sense les tecnologies i la preparació adequades. +hint.coreIncinerate = Després que s’hagi arribat al màxim d’emmagatzematge d’un determinat tipus d’element al nucli, tots els altres elements d’aquest tipus que entrin al nucli s’[accent]incineraran[]. +hint.factoryControl = Per a establir la [accent]destinació de sortida[] de les unitats d’una fàbrica, feu clic en un bloc de fàbrica mentre esteu en mode de comandament i després feu clic amb el botó de la dreta a la posició desitjada.\nLes unitats produïdes s’hi dirigiran automàticament. +hint.factoryControl.mobile = Per a establir la [accent]destinació de sortida[] de les unitats d’una fàbrica, toqueu un bloc de fàbrica mentre esteu en mode de comandament i després toqueu la posició desitjada.\nLes unitats produïdes s’hi dirigiran automàticament. +gz.mine = Apropeu-vos al \uf8c4 [accent]mineral de coure[] del terra i feu-hi clic per a començar a extreure’n coure. +gz.mine.mobile = Apropeu-vos al \uf8c4 [accent]mineral de coure[] del terra i toqueu-lo per a començar a extreure’n coure. +gz.research = Obriu l’\ue875 arbre tecnològic.\nInvestigueu la \uf870 [accent]perforadora mecànica[] i després trieu-la des del menú de sota a la dreta.\nFeu clic en un dipòsit de coure per a construir-la. +gz.research.mobile = Obriu l’\ue875 arbre tecnològic.\nInvestigueu la \uf870 [accent]perforadora mecànica[] i després trieu-la des del menú de sota a la dreta.\nToqueu un dipòsit de coure per a construir-la.\n\nPer a acabar, premeu la icona de \ue800 [accent]confirmació[] a sota a l’esquerra. +gz.conveyors = Investigueu i construïu \uf896 [accent]cintes transportadores[] per a moure els recursos extrets\nde les perforadores fins al nucli.\n\nFeu clic i arrossegueu per a construir-ne més d’una més fàcilment.\n[accent]Gireu la rodeta del mig[] del ratolí per a girar la direcció de la cinta. +gz.conveyors.mobile = Investigueu i construïu \uf896 [accent]cintes transportadores[] per a moure els recursos extrets\nde les perforadores fins al nucli.\n\nPremeu, manteniu un moment el dit durant un segon i arrossegueu per a construir-ne més d’una més fàcilment. +gz.drills = Expandiu les operacions mineres.\nConstruïu més perforadores mecàniques.\nExtraieu 100 unitats de coure. +gz.lead = \uf837 El [accent]plom[] és un altre recurs comú.\nSitueu perforadores al damunt de dipòsits de plom per a extreure’n. +gz.moveup = \ue804 Moveu-mos amunt per a veure més objectius. +gz.turrets = Investigueu i construïu 2 torretes \uf861 [accent]duo[] per a defensar el nucli.\nLes torretes duo necessiten rebre \uf838 [accent]munició[] amb cintes transportadores. +gz.duoammo = Subministreu [accent]coure[] a les torretes duo amb cintes transportadores. +gz.walls = Els [accent]murs[] poden evitar que el dany arribi a les estructures importants.\nConstruïu alguns \uf6ee [accent]murs de coure[] al voltant de les torretes. +gz.defend = S’apropa l’enemic. Prepareu-vos per a defensar-vos. +gz.aa = Les torretes estàndard no poden disparar fàcilment a les unitats aèries.\n\uf860 Les torretes [accent]scatter[] proporcionen una defensa antiaèria excel·lent, però necessiten munició de \uf837 [accent]plom[]. +gz.scatterammo = Subministreu [accent]plom[] a la torreta scatter amb cintes transportadores. +gz.supplyturret = [accent]Subministreu munició a la torreta +gz.zone1 = Aquesta és la zona d’aterratge enemiga. +gz.zone2 = Tot el que es construeixi a dins es destruirà quan comenci la propera onada enemiga. +gz.zone3 = Ara comença una onada.\nPrepareu-vos. +gz.finish = Construïu més torretes, extraieu més recursos \ni defense-vos contra totes les onades per a [accent]capturar el sector[]. +onset.mine = Feu clic als murs per a extraure \uf748 [accent]beril·li[].\n\nFeu servir [accent][[WASD] per a moure-vos. +onset.mine.mobile = Toqueu per a extraure \uf748 [accent]beril·li[] dels murs. +onset.research = Obriu \ue875 l’arbre tecnològic.\nInvestigueu i després construïu una \uf73e [accent]turbina condensadora[] a la fumarola.\nAixí aconseguireu generar [accent]energia[]. +onset.bore = Investigueu i construïu una \uf741 [accent]perforadora de plasma[].\nAixí extraureu recursos automàticament dels murs. +onset.power = Per a subministrar [accent]energia[] a la perforadora de plasma, investigueu i situeu un \uf73d [accent]node de transmissió d’energia per raigs[].\nConnecteu la turbina condensadora a la perforadora de plasma. +onset.ducts = Investigueu i situeu \uf799 [accent]conductes[] per a moure els recursos extrets amb perforadores de plasma al nucli.\n\nFeu clic i arrossegueu per a situar més d’un conducte fàcilment.\nGireu la [accent]rodeta del ratolí[] per a canviar-ne la direcció. +onset.ducts.mobile = Investigueu i situeu \uf799 [accent]conductes[] per a moure els recursos extrets amb perforadores de plasma al nucli.\n\nMantingueu premut el dit durant un segon i arrossegueu per a situar més d’un conducte fàcilment. +onset.moremine = Amplieu les operacions mineres.\nSitueu més perforadores de plasma i feu servir nodes de transmissió d’energia per raigs i conductes per tal que puguin operar.\nExtraieu 200 unitats de beril·li. +onset.graphite = Els blocs més complexos necessiten \uf835 [accent]grafit[].\nSitueu perforadores de plasma per a extraure’n. +onset.research2 = Comenceu a investigar les [accent]fàbriques[].\nInvestigueu les \uf74d [accent]picadores d’espadats[] i \uf779 [accent]forn d’arc de silici[]. +onset.arcfurnace = El forn d’arc necessita \uf834 [accent]sorra[] i \uf835 [accent]grafit[] per a obtenir \uf82f [accent]silici[].\nTambé fa falta [accent]energia[]. +onset.crusher = Feu servir les \uf74d [accent]picadores d’espadats[] per a extraure sorra. +onset.fabricator = Feu servir [accent]unitats[] per a explorar el mapa, defensar estructures i atacar als enemics. Investigueu i construïu una \uf6a2 [accent]fabricadora de tancs[]. +onset.makeunit = Produïu una unitat.\nFeu servir el botó «?» per a veure els requisits de la fàbrica que trieu. +onset.turrets = Les unitats són efectives, però les [accent]torretes[] proporcionen una capacitat defensiva millor si es fan servir adequadament.\nConstruïu Place una torreta \uf6eb [accent]breach[].\nLes torretes necessiten \uf748 [accent]munició[]. +onset.turretammo = Subministreu [accent]munició de beril·li[] a la torreta. +onset.walls = Els [accent]murs[] poden evitar que el dany arribi a les estructures importants.\nConstruïu alguns \uf6ee [accent]murs de beril·li[] al voltant de la torreta. +onset.enemies = S’apropa un enemic. Prepareu la defensa. +onset.defenses = [accent]Establiu defenses:[lightgray] {0} +onset.attack = L’enemic és vulnerable. Contraataqueu. +onset.cores = Els nuclis nous es poden construir en [accent]caselles de nucli[].\nEls nuclis nous funcionen com a bases i comparteixen un inventari de recursos amb altres nuclis.\nConstruïu un \uf725 nucli. +onset.detect = L’enemic us detectarà d’aquí 2 minuts.\nEstabliu les defenses i les explotacions mineres i de producció. +onset.commandmode = Mantingueu premuda [accent]Maj.[] per a entrar al [accent]mode de comandament[].\n[accent]Feu clic amb el botó esquerre i arrossegueu[] per a seleccionar unitats.\n[accent]Feu clic amb el botó dret[] per a ordenar a les unitats seleccionades que ataquin o que es moguin. +onset.commandmode.mobile = Premeu el [accent]botó de comandament[] per a entrar al [accent]mode de comandament[].\nPremeu i [accent]arrossegueu[] per a seleccionar unitats.\n[accent]Toqueu[] per a ordenar a les unitats seleccionades que ataquin o que es moguin. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = La unitat nucli pot recollir alguns blocs.\nRecolliu aquest [accent]contenidor[] i poseu-lo al [accent]transportador de blocs a distància[].\n(Les tecles per defecte són [ i ] per a recollir i deixar). +split.pickup.mobile = La unitat nucli pot recollir alguns blocs.\nRecolliu aquest [accent]contenidor[] i poseu-lo al [accent]transportador de blocs a distància[].\n(Per a deixar o recollir alguna cosa, premeu-la uns segons). +split.acquire = Heu d’aconseguir una mica de tungstè per a construir unitats. +split.build = Les unitats s’han de transportar a l’altra banda del mur.\nConstruïu dos [accent]transportadors de blocs a distància[], un a cada banda del mur.\nPer establir-hi un enllaç, seleccioneu-ne un i després seleccionant l’altre. +split.container = Igual que els contenidors, les unitats també es poden transportar amb els [accent]transportadors de blocs a distància[].\nConstruïu una fabricadora d’unitats al costat d’un transportadors de blocs a distància per a carregar-les i enviar-les més enllà del mur per a atacar la base enemiga. + +item.copper.description = S’empra en molts tipus de construccions i munició. +item.copper.details = Coure. Un metall molt abundant al planeta Serpulo. Estructuralment és dèbil si no es reforça. +item.lead.description = S’empra per al transport de líquids i en estructures elèctriques. +item.lead.details = Dens. Inert. S’empra de manera habitual per a fer bateries.\nNota: Probablement, és tòxic per a altres formes de vida. Tampoc és que n’hi hagin moltes per aquí per a comprovar-ho. +item.metaglass.description = S’empra per a construir estructures de distribució i emmagatzematge de líquids. +item.graphite.description = S’empra en components elèctrics i munició de les torretes. +item.sand.description = S’empra per a processar altres materials. +item.coal.description = S’empra com a combustible i per a produir materials refinats. +item.coal.details = Sembla que sigui matèria vegetal fossilitzada, formada molt abans que passés la «Sembra». +item.titanium.description = S’empra per a construir estructures de transports de líquids, perforadores i fàbriques. +item.thorium.description = S’empra per a construir estructures resistents i com a combustible nuclear. +item.scrap.description = S’empra en forns i polsinadores per a refinar-lo i obtenir-ne altres materials. +item.scrap.details = Residus d’unitats i estructures antigues. +item.silicon.description = S’empra en panells solars, electrònica avançada i munició guiada de les torretes. +item.plastanium.description = S’empra per a construir unitats avançades, aïllaments i munició de fragmentació. +item.phase-fabric.description = S’empra en electrònica avançada i estructures de reparació automàtica. +item.surge-alloy.description = S’empra en armament avançat i estructures de defensa reactiva. +item.spore-pod.description = Es pot convertir en petroli, explosius i combustible. +item.spore-pod.details = Espores. Probablement, es tracta d’una forma de vida sintètica. Emet gasos tòxics per a altres formes de vida i és molt invasiva. Sota certes condicions, són molt inflamables. +item.blast-compound.description = S’empra en bombes i munició explosiva. +item.pyratite.description = S’empra en armes incendiàries i generadors a combustió. +item.beryllium.description = S’empra en molts tipus de construccions i munició d’Erekir. +item.tungsten.description = S’empra en perforadores, armadures i munició. Se’n necessita per construir estructures més avançades. +item.oxide.description = S’empra com a conductor de l’energia tèrmica i també es fa servir com a aïllant elèctric. +item.carbide.description = Es fa servir en estructures avançades, unitats pesants i munició. + +liquid.water.description = S’empra per a refredar màquines i processar residus. +liquid.slag.description = Es refina en separadors per a obtenir-ne diferents metalls. També es fa servir com a munició líquida en torretes. +liquid.oil.description = S’empra per a produir materials avançats i com a munició incendiària. +liquid.cryofluid.description = S’empra com a refrigerant en reactors, torretes i fàbriques. +liquid.arkycite.description = Es fa servir en reaccions químiques per generar electricitat i sintetitzar materials. +liquid.ozone.description = Es fa servir com a agent oxidant en producció de materials i combustibles. Moderadament explosiu. +liquid.hydrogen.description = Es fa servir en extracció de recursos, producció d’unitats i reparació d’estructures. Inflamable. +liquid.cyanogen.description = Es fa servir per a munició, construcció d’unitats avançades i diverses reaccions en blocs avançats. Molt inflamable. +liquid.nitrogen.description = Es fa servir per a extraure recursos, obtenció de gas i producció d’unitats. Inert. +liquid.neoplasm.description = Un subproducte biològic perillós del reactor de neoplàsia. S’estén de pressa a altres blocs adjacents que continguin aigua que toca, fent-los malbé. Viscós. +liquid.neoplasm.details = Neoplasma. Una massa incontrolable de cèl·lules sintètiques que es divideixen molt de pressa amb una consistència fangosa. Resisteix temperatures altes. Extremadament perillosa per a estructures amb aigua.\n\nMassa complexa i inestable per a fer-ne una anàlisi estàndard. Aplicacions potencials desconegudes. Es recomana incinerar-la en piscines de residus. + +block.derelict = \uf77e [lightgray]En ruïnes +block.armored-conveyor.description = Mou objectes. Pels laterals només accepta entrades des d’altres cintes transportadores. +block.illuminator.description = Emet llum. +block.message.description = Emmagatzema un missatge. Els aliats el poden fer servir per a comunicar-se. +block.reinforced-message.description = Emmagatzema un missatge que serveix per a què els aliats es puguin comunicar. +block.world-message.description = Un bloc de missatge que es far servir per a fer mapes. No es pot destruir. +block.graphite-press.description = Comprimeix carbó fins obtenir-ne grafit. +block.multi-press.description = Comprimeix carbó fins obtenir-ne grafit. Requereix refrigeració amb aigua. +block.silicon-smelter.description = Refina silici a partir de sorra i carbó. +block.kiln.description = Fon sorra i plom per a fer-ne metavidre. +block.plastanium-compressor.description = Produeix plastani a partir de petroli i titani. +block.phase-weaver.description = Sintetitza teixit de fase a partir de tori i sorra. +block.surge-smelter.description = Fon i barreja titani, plom, silici i coure per a obtenir-ne aliatge electrificable. +block.cryofluid-mixer.description = Barreja aigua i pols fina de titani per a produir líquid criogènic. +block.blast-mixer.description = Produeix compost explosiu a partir de piratita i beines d’espores. +block.pyratite-mixer.description = Barreja carbó, plom i sorra per a obtenir piratita. +block.melter.description = Fon ferralla i n’obté escòria. +block.separator.description = Separa l’escòria en els seus diferents components. +block.spore-press.description = Comprimeix les beines d’espores i n’obté petroli. +block.pulverizer.description = Tritura ferralla i n’obté sorra fina. +block.coal-centrifuge.description = Transforma el petroli en carbó. +block.incinerator.description = Vaporitza qualsevol element o líquid que rep. +block.power-void.description = Elimina tota l’energia que rebi. Només disponible en mode lliure. +block.power-source.description = Genera energia indefinidament sense consumir recursos. Només disponible en mode lliure. +block.item-source.description = Genera elements indefinidament sense consumir recursos. Només disponible en mode lliure. +block.item-void.description = Elimina tots els elements que rebi. Només disponible en mode lliure. +block.liquid-source.description = Genera líquids indefinidament sense consumir recursos. Només disponible en mode lliure. +block.liquid-void.description = Elimina tots els líquids que rebi. Només disponible en mode lliure. +block.payload-source.description = Genera blocs indefinidament sense consumir recursos. Només disponible en mode lliure. +block.payload-void.description = Elimina tots els blocs que rebi. Només disponible en mode lliure. +block.copper-wall.description = Protegeix les estructures dels projectils enemics. +block.copper-wall-large.description = Protegeix les estructures dels projectils enemics. +block.titanium-wall.description = Protegeix les estructures dels projectils enemics. +block.titanium-wall-large.description = Protegeix les estructures dels projectils enemics. +block.plastanium-wall.description = Protegeix les estructures dels projectils enemics. Absorbeix làsers i descàrregues elèctriques. Bloca les connexions d’energia automàtiques. +block.plastanium-wall-large.description = Protegeix les estructures dels projectils enemics. Absorbeix làsers i descàrregues elèctriques. Bloca les connexions d’energia automàtiques. +block.thorium-wall.description = Protegeix les estructures dels projectils enemics. +block.thorium-wall-large.description = Protegeix les estructures dels projectils enemics. +block.phase-wall.description = Protegeix les estructures dels projectils enemics, reflectint la majoria de munició que hi impacta. +block.phase-wall-large.description = Protegeix les estructures dels projectils enemics, reflectint la majoria de munició que hi impacta. +block.surge-wall.description = Protegeix les estructures dels projectils enemics, alliberant descàrregues elèctriques periòdicament quan algun enemic el toca. +block.surge-wall-large.description = Protegeix les estructures dels projectils enemics, alliberant descàrregues elèctriques periòdicament quan algun enemic el toca. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Un mur que es pot obrir i tancar. +block.door-large.description = Un mur gros que es pot obrir i tancar. +block.mender.description = Repara blocs propers periòdicament.\nTambé pot usar silici per a potenciar el seu abast i eficiència. +block.mend-projector.description = Repara blocs propers.\nTambé pot usar teixit de fase per a potenciar el seu abast i eficiència. +block.overdrive-projector.description = Augmenta la velocitat de les estructures properes.\nTambé es pot usar teixit de fase per a millorar-ne l’abast i eficiència. +block.force-projector.description = Crea un camp de força hexagonal al seu voltant, protegint estructures i unitats que hi quedin a dins.\nS’escalfa si ha d’absorbir molt dany. També s’hi pot usar refrigerant per a contrarestar el sobreescalfament. El teixit de fase augmenta la mida del camp. +block.shock-mine.description = Solta descàrregues elèctriques quan els enemics les toquen. +block.conveyor.description = Mou elements en la direcció de la cinta. +block.titanium-conveyor.description = Mou elements en la direcció de la cinta. Més ràpida que una cinta normal. +block.plastanium-conveyor.description = Transporta elements en paquets. Accepta elements per la seva part posterior i els descarrega en les altres tres direccions. Requereix diversos punts de càrrega i descàrrega per a aconseguir la màxima eficàcia. +block.junction.description = Actua com dues cintes per separat, una en la direcció de l’eix X i l’altra amb la direcció de l’eix Y. +block.bridge-conveyor.description = Transporta elements per sota del terra o de les estructures. +block.phase-conveyor.description = Transporta instantàniament elements per sota del terra o de les estructures. Té un abast més gran que les cintes subterrànies, però necessita energia. +block.sorter.description = Si un element d’entrada compleix els criteris, passa endavant. Si no, l’element surt per l’esquerra o per la dreta. +block.inverted-sorter.description = Funciona a l’inrevés del classificador normal. Si un element d’entrada compleix els criteris, surt per un dels dos costats. Si no, l’element passa endavant. +block.router.description = Distribueix els elements d’entrada en les tres direccions de sortida equitativament. +block.router.details = Un mal necessari… No es recomana fer-ho servir prop de les estructures de producció, ja que en pot embussar l’entrada de recursos. +block.distributor.description = Distribueix els elements d’entrada en les 7 caselles de sortida equitativament. +block.overflow-gate.description = Només envia els elements d’entrada pels costats si el camí del davant està embussat. +block.underflow-gate.description = Funciona a l’inrevés de la porta de desbordament. Els elements només surten pel davant si els camins de l’esquerra i de la dreta estan embussats. +block.mass-driver.description = Estructura de transport d’elements de llarg abast. Recull paquets d’elements i els dispara a altres transportadors a distància. +block.mechanical-pump.description = Bombeja i extreu líquids. No necessita energia. +block.rotary-pump.description = Bombeja i extreu líquids. Consumeix energia. +block.impulse-pump.description = Bombeja i extreu líquids. +block.conduit.description = Serveix per a transportar líquids. S’utilitza amb estacions de bombeig i altres tipus de canonades. +block.pulse-conduit.description = Serveix per a transportar líquids. Els transporta més de pressa i n’emmagatzema més que les canonades estàndard. +block.plated-conduit.description = Serveix per a transportar líquids. No accepta entrades des dels costats. No té fugues. +block.liquid-router.description = Accepta líquid des d’una direcció i surt repartit equitativament en les altres 3 direccions. També pot emmagatzemar una determinada quantitat de líquid. +block.liquid-container.description = Emmagatzema una quantitat considerable de líquid. Surt per tots els cantons, com els encaminadors de líquids. +block.liquid-tank.description = Emmagatzema una gran quantitat de líquid. Surt per tots els cantons, com els encaminadors de líquids. +block.liquid-junction.description = Actua com dues canonades per separat, una en la direcció de l’eix X i l’altra amb la direcció de l’eix Y. +block.bridge-conduit.description = Transporta líquids per sota del terra o de les estructures. +block.phase-conduit.description = Transporta líquids per sota del terra o de les estructures, amb més abast que les canonades subterrànies normals, però necessita energia. +block.power-node.description = Transmet energia entre nodes connectats. El node rebrà o subministrarà energia als blocs adjacents. +block.power-node-large.description = Un node d’energia avançat amb un abast més gran. +block.surge-tower.description = Un node d’energia de llarg abast però amb menys connexions disponibles. +block.diode.description = Mou l’energia de la bateria en una direcció, però només si l’altre costat té menys energia emmagatzemada. +block.battery.description = Emmagatzema energia quan hi ha un excés de producció. L’allibera quan hi ha dèficit de producció d’energia. +block.battery-large.description = Emmagatzema energia quan hi ha un excés de producció. L’allibera quan hi ha dèficit de producció d’energia. Té més capacitat que una bateria normal. +block.combustion-generator.description = Genera energia cremant materials inflamables, com ara carbó. +block.thermal-generator.description = Genera energia quan es construeix en llocs on el terra tingui una temperatura elevada. +block.steam-generator.description = Genera energia cremant materials inflamables i convertint l’aigua líquida en vapor. +block.differential-generator.description = Genera grans quantitats d’energia. Utilitza la diferència de temperatura entre el líquid criogènic i la pirarita que crema. +block.rtg-generator.description = Usa la calor dels compostos radioactius que es descomponen per a produir energia lentament. +block.solar-panel.description = Obté una mica d’energia solar i la transforma en elèctrica. +block.solar-panel-large.description = Obté una mica d’energia solar i la transforma en elèctrica. És més eficient que un panell solar normal. +block.thorium-reactor.description = Genera grans quantitats d’energia emprant tori. Necessita refrigeració constant. Es produirà una explosió violenta si no se li subministra una quantitat de refrigerant suficient. +block.impact-reactor.description = Obté quantitats grans d’energia amb un gran rendiment. Necessita una quantitat d’energia significant d’entrada per a començar el procés. +block.mechanical-drill.description = Quan es construeix damunt un dipòsit de mineral, extrau recursos poc a poc indefinidament. Només pot extraure els recursos minerals més bàsics. +block.pneumatic-drill.description = Una perforadora millorada que pot extraure titani. Extrau recursos més ràpid que una perforadora mecànica. +block.laser-drill.description = Permet extraure recursos més de pressa utilitzant tecnologia làser, però necessita energia. Pot extraure tori. +block.blast-drill.description = La millor perforadora. Necessita grans quantitats d’energia per a funcionar. +block.water-extractor.description = Extrau aigua del terra. S’usa en llocs on no hi ha aigua a la superfície. +block.cultivator.description = Cultiva petites concentracions d’espores atmosfèriques i obté beines d’espores. +block.cultivator.details = S’usa per a produir grans quantitats de biomassa de la manera més eficient possible. És molt probable que sigui com la incubadora inicial de les espores que han acabat cobrint Serpulo. +block.oil-extractor.description = Usa molta energia, sorra i aigua per a extreure petroli. +block.core-shard.description = Nucli de la base. Un cop s’ha destruït, es perd el sector. +block.core-shard.details = La primera iteració. Compacte. Pot autoreplicar-se. Equipat amb propulsors d’un sol ús. No s’ha dissenyat per a viatges interplanetaris. +block.core-foundation.description = Nucli de la base. Ben blindat. Emmagatzema més recursos que el nucli «Estella». +block.core-foundation.details = La segona iteració. +block.core-nucleus.description = Nucli de la base. Extremadament ben blindat. Emmagatzema una quantitat enorme de recursos. +block.core-nucleus.details = La tercera i última iteració. +block.vault.description = Emmagatzema una quantitat gran d’elements de cada tipus. Millora la capacitat d’emmagatzemament al sector si es situa al costat d’un nucli. Es poden recuperar els continguts amb un descarregador. +block.container.description = Emmagatzema una quantitat petita d’elements de cada tipus. Millora la capacitat d’emmagatzemament al sector si es situa al costat d’un nucli. Es poden recuperar els continguts amb un descarregador. +block.unloader.description = Descarrega els elements seleccionats dels blocs adjacents. +block.launch-pad.description = Llança lots d’elements al sector seleccionat. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = Dispara munició als enemics. +block.scatter.description = Dispara projectils antiaeris de plom, ferralla o metavidre a les aeronaus enemigues. +block.scorch.description = Crema els enemics terrestres que tingui a prop. La torreta és molt efectiva a distàncies curtes. +block.hail.description = Dispara projectils petits als enemics terrestres a distàncies grans. +block.wave.description = Dispara rajos de líquid als enemics. Apaga focs automàticament quan se li subministra aigua. +block.lancer.description = Carrega i dispara rajos d’energia potents a objectius terrestres. +block.arc.description = Solta descàrregues d’energia a objectius terrestres. +block.swarmer.description = Dispara míssils guiats als enemics. +block.salvo.description = Dispara salves ràpides de bales als enemics. +block.fuse.description = Dispara tres rajos perforants de curt abast als enemics propers. +block.ripple.description = Dispara munició de dispersió a enemics terrestres a distàncies grans. +block.cyclone.description = Dispara material explosiu antiaeri a enemics propers. +block.spectre.description = Dispara bales grosses a objectius terrestres i aeris. +block.meltdown.description = Carrega i dispara un raig làser persistent a enemics propers. Requereix refrigerant per a funcionar. +block.foreshadow.description = Dispara una sola bala grossa d’un sol objectiu. Prioritza els enemics de major salut màxima. +block.repair-point.description = Repara contínuament la unitat danyada més propera del seu voltant. +block.segment.description = Danya i destrueix projectils que s’apropin. No pot blocar els làsers. +block.parallax.description = Dispara un raig tractor que estira els objectius aeris, danyant-los en el procés. +block.tsunami.description = Dispara rajos de líquids potents als enemics. Apaga automàticament els focs si se li subministra aigua. +block.silicon-crucible.description = Refina silici a partir de sorra i carbó, usant piratita com a font calorífica addicional. És més eficient en llocs amb el terra amb temperatures altes. +block.disassembler.description = Aconsegueix petites quantitats de minerals rars a partir d’escòria amb una eficiència baixa. Pot obtenir tori. +block.overdrive-dome.description = Augmenta la velocitat de funcionament d’estructures properes. Necessita teixit de fase i silici per a operar. +block.payload-conveyor.description = Mou unitats i blocs. Magnètic. Es pot usar en entorns de gravetat zero. +block.payload-router.description = Separa els blocs o unitats de l’entrada en tres direccions diferents. Funciona com un classificador si s’hi estableix un filtre. Magnètic. Es pot usar en entorns de gravetat zero. +block.ground-factory.description = Produeix unitats terrestres. Les unitats produïdes es poden usar directament o es poden moure als reconstructors per a millorar-les. +block.air-factory.description = Produeix unitats aèries. Les unitats produïdes es poden usar directament o es poden moure als reconstructors per a millorar-les. +block.naval-factory.description = Produeix unitats navals. Les unitats creades es poden utilitzar directament o es poden moure als reconstructors per a millorar-les. +block.additive-reconstructor.description = Millora les unitats d’entrada al segon nivell. +block.multiplicative-reconstructor.description = Millora les unitats d’entrada al tercer nivell. +block.exponential-reconstructor.description = Millora les unitats d’entrada al quart nivell. +block.tetrative-reconstructor.description = Millora les unitats d’entrada fins al cinquè i últim nivell. +block.switch.description = Un interruptor del qual se’n pot llegir l’estat i es pot controlar amb processadors lògics. +block.micro-processor.description = Executa una seqüència d’instruccions lògiques. Es pot usar per a controlar unitats i estructures. +block.logic-processor.description = Executa una seqüència d’instruccions lògiques. Es pot usar per a controlar unitats i estructures. Més ràpid que els microprocessadors. +block.hyper-processor.description = Executa una seqüència d’instruccions lògiques. Es pot usar per a controlar unitats i estructures. Més ràpid que els processadors lògics. +block.memory-cell.description = Emmagatzema informació per a un processador lògic. +block.memory-bank.description = Emmagatzema informació per a un processador lògic. Alta capacitat. +block.logic-display.description = Mostra un gràfic des d’un processador lògic. +block.large-logic-display.description = Mostra un gràfic des d’un processador lògic. +block.interplanetary-accelerator.description = Una torreta amb un canó electromagnètic enorme. Accelera els nuclis fins aconseguir la velocitat d’escapament per a fer llançaments interplanetaris. +block.repair-turret.description = Repara contínuament la unitat danyada que tingui més a prop al seu voltant. També se li pot subministrar refrigerant perquè funcioni més ràpid. +block.core-bastion.description = Nucli de la base. Blindat. Quan es destrueix, es perd el sector. +block.core-citadel.description = Nucli de la base. Molt ben blindat. Emmagatzema més recursos que un nucli Bastió. +block.core-acropolis.description = Nucli de la base. Excepcionalment ben blindat. Emmagatzema més recursos que un nucli Ciutadella. +block.breach.description = Dispara munició perforant de beril·li o tungstè als objectius enemics. +block.diffuse.description = Dispara una ràfega de bales en forma de con. Empeny enrere els objectius enemics. +block.sublimate.description = Dispara una flama continua de foc als objectius enemics. Perfora els blindatges. +block.titan.description = Dispara projectils explosius enormes als objectius terrestres. Necessita hidrogen. +block.afflict.description = Dispara una bola enorme carregada amb artilleria antiaèria de fragmentació. Requereix escalfor. +block.disperse.description = Dispara ràfegues d’artilleria als objectius aeris. +block.lustre.description = Dispara un làser lent que pot apuntar un sol objectiu enemic. +block.scathe.description = Llança un míssil als objectius terrestres a llarga distància. +block.smite.description = Dispara ràfegues de bales perforadors i que emeten llum. +block.malign.description = Dispara una cortina de càrregues làser teledirigides als objectius enemics. Necessita molta escalfor. +block.silicon-arc-furnace.description = Refina silici a partir de sorra i grafit. +block.oxidation-chamber.description = Converteix el beril·li i l’ozó en òxid. Emet escalfor com a subproducte. +block.electric-heater.description = Escalfa els blocs als que està orientat. Necessita grans quantitats d’energia. +block.slag-heater.description = Escalfa els blocs als que està orientat. Requereix escòria. +block.phase-heater.description = Escalfa els blocs als que està orientat. Requereix teixit de fase. +block.heat-redirector.description = Redirigeix l’escalfor acumulada a altres blocs. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Distribueix l’escalfor acumulada en tres direccions de sortida. +block.electrolyzer.description = Converteix l’aigua en hidrogen i gas ozó. +block.atmospheric-concentrator.description = Concentra el nitrogen de l’atmosfera. Requereix escalfor. +block.surge-crucible.description = Genera aliatge electrificable a partir d’escòria i silici. Necessita escalfor. +block.phase-synthesizer.description = Sintetitza teixit de fase a partir de tori, sorra i ozó. Necessita escalfor. +block.carbide-crucible.description = Combina grafit i tungstè per obtenir-ne carbur. Necessita escalfor. +block.cyanogen-synthesizer.description = Sintetitza cianogen a partir d’arquicita i grafit. Necessita escalfor. +block.slag-incinerator.description = Incinera elements no volàtils o líquids. Necessita escòria. +block.vent-condenser.description = Condensa els gasos procedents de conductes de ventilació en aigua. Consumeix energia. +block.plasma-bore.description = Quan es posa orientat a un mur de mineral, en treu recursos indefinidament. Requereix una mica d’energia per funcionar. +block.large-plasma-bore.description = Una perforadora de plasma grossa. Pot extraure tungstè i tori. Requereix hidrogen i energia. +block.cliff-crusher.description = Trenca murs, extraient-ne sorra indefinidament. Necessita energia. La seva eficàcia depèn del tipus de mur. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Quan es posa a sobre de minerals, n’extrau indefinidament. Necessita energia i aigua. +block.eruption-drill.description = Una perforadora d’impacte millorada. Pot extraure tori. Necessita hidrogen. +block.reinforced-conduit.description = Impulsa i fa circular els fluids. No accepta entrades des dels laterals si no és a través de conductes. +block.reinforced-liquid-router.description = Distribueix fluids a tots els seus costats. +block.reinforced-liquid-tank.description = Emmagatzema una gran quantitat de fluid. +block.reinforced-liquid-container.description = Emmagatzema fluids. +block.reinforced-bridge-conduit.description = Transporta fluids per sota de les estructures i del terreny. +block.reinforced-pump.description = Bombeja i extrau líquids. Requereix hidrogen. +block.beryllium-wall.description = Protegeix les estructures dels projectils enemics. +block.beryllium-wall-large.description = Protegeix les estructures dels projectils enemics. +block.tungsten-wall.description = Protegeix les estructures dels projectils enemics. +block.tungsten-wall-large.description = Protegeix les estructures dels projectils enemics. +block.carbide-wall.description = Protegeix les estructures dels projectils enemics. +block.carbide-wall-large.description = Protegeix les estructures dels projectils enemics. +block.reinforced-surge-wall.description = Protegeix les estructures dels projectils enemics, llançant descàrregues elèctriques periòdicament quan els projectils impacten. +block.reinforced-surge-wall-large.description = Protegeix les estructures dels projectils enemics, llançant descàrregues elèctriques periòdicament quan els projectils impacten. +block.shielded-wall.description = Protegeix les estructures dels projectils enemics. Genera un escut que absorbeix la majoria quan se li proporciona energia. Condueix l’electricitat. +block.blast-door.description = Un mur que s’obre quan hi ha un aliat terrestre a prop. No es pot controlar manualment. +block.duct.description = Mou els elements. Només pot emmagatzemar un sol element. +block.armored-duct.description = Mou elements. No accepta entrades pels laterals si no és a través de conductes. +block.duct-router.description = Distribueix els elements en tres direccions. Només accepta elements a través de la part posterior. Es pot configurar com a classificador d’elements. +block.overflow-duct.description = Només treu elements pels costats si la sortida del davant està blocada. +block.duct-bridge.description = Mou elements per sota de les estructures i del terreny. +block.duct-unloader.description = Descarrega l’element seleccionat del bloc del darrera. No pot descarregar-los dels nuclis. +block.underflow-duct.description = Actua a l’inrevés d’una porta de desbordament. Els elements surten per la part del davant si els dos laterals estan blocats. +block.reinforced-liquid-junction.description = Actua com a dos conductes independents que es creuen. +block.surge-conveyor.description = Mou elements en grans quantitats. Es pot accelerar amb energia. Condueix l’electricitat. +block.surge-router.description = Distribueix els elements en tres direccions a partir de cintes electrificades. Es poden accelerar amb energia. Condueix l’electricitat. +block.unit-cargo-loader.description = Construeix drons de càrrega. Els drons distribueixen automàticament els elements als punts de càrrega i descàrrega que coincideixin amb el filtre. +block.unit-cargo-unload-point.description = Actua com un punt de descàrrega per als drons de càrrega. Accepta elements que coincideixin amb el filtre. +block.beam-node.description = Transmet energia a altres blocs ortogonalment. Emmagatzema una petita quantitat d’energia. +block.beam-tower.description = Transmet energia a altres blocs ortogonalment. Emmagatzema una gran quantitat d’energia. Té un abast gran. +block.turbine-condenser.description = Genera energia quan es situa en conductes de ventilació. Produeix una petita quantitat d’aigua. +block.chemical-combustion-chamber.description = Genera energia a partir d’arquicita i ozó. +block.pyrolysis-generator.description = Genera grans quantitats d’energia a partir d’arquicita i escòria. Produeix aigua com a subproducte. +block.flux-reactor.description = Genera grans quantitats d’energia quan se l’escalfa. Necessita cianogen com a estabilitzador. La sortida d’energia i el cianogen necessari són proporcionals a l’escalfor d’entrada.\nExplota si no té prou cianogen. +block.neoplasia-reactor.description = Fa servir arquicita, aigua i teixit de fase per generar grans quantitats d’energia. Produeix escalfor i quantitats perilloses de neoplasma com a subproducte.\nExplota de manera violenta si el neoplasma no s’extrau del redactor amb canonades. +block.build-tower.description = Reconstrueix automàticament les estructures que estiguin a l’abast i ajuda a construir a altres unitats. +block.regen-projector.description = Repara a poc a poc les estructures aliades dins d’un perímetre quadrat. Necessita hidrogen. +block.reinforced-container.description = Emmagatzema una quantitat petita d’elements. Els continguts es poden recuperar amb descarregadors. No augmenta l’emmagatzematge del nucli. +block.reinforced-vault.description = Emmgatzema una gran quantitat d’elements. Els continguts es poden recuperar amb descarregadors. No augmenta l’emmagatzematge del nucli. +block.tank-fabricator.description = Construeix unitats Stell. Les unitats produïdes es poden fer servir directament o bé portar-les a les refabricadores per millorar-les. +block.ship-fabricator.description = Construeix unitats Elude. Les unitats produïdes es poden fer servir directament o bé portar-les a les refabricadores per millorar-les. +block.mech-fabricator.description = Construeix unitats Merui. Les unitats produïdes es poden fer servir directament o bé portar-les a les refabricadores per millorar-les. +block.tank-assembler.description = Munta tancs grossos a partir de blocs i unitats d’entrada. El nivell de sortida es pot millorar si s’hi afegeixen mòduls. +block.ship-assembler.description = Munta naus grosses a partir de blocs i unitats d’entrada. El nivell de sortida es pot millorar si s’hi afegeixen mòduls. +block.mech-assembler.description = Munta meques grosses a partir de blocs i unitats d’entrada. El nivell de sortida es pot millorar si s’hi afegeixen mòduls. +block.tank-refabricator.description = Millora els tancs d’entrada al segon nivell. +block.ship-refabricator.description = Millora les naus d’entrada al segon nivell. +block.mech-refabricator.description = Millora les meques d’entrada al segon nivell. +block.prime-refabricator.description = Millora les unitats d’entrada al tercer nivell. +block.basic-assembler-module.description = Augmenta el nivell de muntatge quan es situa al costat d’una vora de construcció. Necessita energia. Es pot fer servir com a punt d’entrada per al transport de blocs. +block.small-deconstructor.description = Desmunta les unitats i estructures d’entrada. Recupera el 100 % del cost de construcció. +block.reinforced-payload-conveyor.description = Mou els blocs i les unitats. +block.reinforced-payload-router.description = Distribueix els blocs als blocs adjacents. Funciona com un classificador si s’estableix un filtre. +block.payload-mass-driver.description = Estructura de transport de blocs i unitats de llarg abast. Dispara la càrrega rebuda a altres torres de transport a distància enllaçades. +block.large-payload-mass-driver.description = Estructura que transporta blocs i unitats a distància. Dispara els blocs als transportadors enllaçats. +block.unit-repair-tower.description = Repara totes les unitats a prop. Necessita ozó. +block.radar.description = Escaneja el terreny gradualment i localitza unitats enemigues a gran distància. Necessita energia. +block.shockwave-tower.description = Danya i destrueix projectils enemics dintre del seu abast. Requereix cianogen. +block.canvas.description = Mostra una imatge senzilla amb una paleta predefinida. Es pot editar. + +unit.dagger.description = Dispara munició estàndard a tots els enemics propers. +unit.mace.description = Dispara flames a tots els enemics propers. +unit.fortress.description = Dispara artilleria de llarg abast als objectius terrestres. +unit.scepter.description = Dispara una pluja de munició carregada a tots els enemics propers. +unit.reign.description = Dispara una pluja de bales perforadores a tots els enemics propers. +unit.nova.description = Dispara raigs làser que danyen enemics i repara estructures aliades. Pot volar. +unit.pulsar.description = Solta descàrregues elèctrics als enemics i repara estructures aliades. Pot volar. +unit.quasar.description = Dispara raigs làser perforadors que danyen els enemics i repara estructures aliades. Pot volar i disposa d’un camp de força incorporat. +unit.vela.description = Dispara raigs làser continus massius que danyen enemics, causa focs i repara estructures aliades. Pot volar. +unit.corvus.description = Dispara una ràfega làser massiva que danya els enemics i repara estructures aliades. Pot circular per la majoria dels terrenys. +unit.crawler.description = Es dirigeix de pressa cap als enemics i s’autodestrueix, causant una gran explosió. +unit.atrax.description = Dispara boles d’escòria que debiliten als objectius terrestres. Pot circular per la majoria dels terrenys. +unit.spiroct.description = Dispara raigs làser debilitants als enemics i es regenera durant el procés. Pot circular per la majoria dels terrenys. +unit.arkyid.description = Dispara raigs làser debilitants molt potents als enemics i es regenera durant el procés. Pot circular per la majoria dels terrenys. +unit.toxopid.description = Dispara grups de projectils electrificats grossos i làsers perforadors als enemics. Pot circular per la majoria dels terrenys. +unit.flare.description = Dispara munició estàndard als objectius terrestres propers. +unit.horizon.description = Dispara grups de bombes als objectius terrestres. +unit.zenith.description = Dispara salves de míssils als enemics propers. +unit.antumbra.description = Dispara una pluja de bales als enemics propers. +unit.eclipse.description = Dispara dos làsers perforadors i una pluja de munició antiaèria a tots els enemics propers. +unit.mono.description = Extreu automàticament coure i plom, deixant els recursos aconseguits al nucli. +unit.poly.description = Reconstrueix automàticament les estructures destruïdes i assisteix altres unitats per a construir. +unit.mega.description = Repara automàticament les estructures danyades. Pot transportar blocs i unitats terrestres petites. +unit.quad.description = Deixa caure bombes grosses damunt d’objectius terrestres, danya als enemics i repara estructures aliades. Pot transportar unitats terrestres de mida mitjana. +unit.oct.description = Protegeix els aliats propers amb el seu escut regenerable. Pot transportar la majoria d’unitats terrestres. +unit.risso.description = Dispara una pluja de míssils i bales a tots els enemics propers. +unit.minke.description = Dispara projectils i bales estàndard als objectius terrestres. +unit.bryde.description = Dispara projectils d’artilleria i míssils de llarg abast als enemics. +unit.sei.description = Dispara una pluja de míssils i bales capaces de perforar escuts als enemics. +unit.omura.description = Dispara projectils perforadors de llarg abast amb un canó electromagnètic. Construeix unitats «Flare». +unit.alpha.description = Defensa el nucli «Estella» dels enemics. Construeix estructures. +unit.beta.description = Defensa el nucli «Fonament» des enemics. Construeix estructures. +unit.gamma.description = Defensa el nucli «Punt neuràlgic» des enemics. Construeix estructures. +unit.retusa.description = Dispara torpedes guiats als enemics propers. Repara unitats aliades. +unit.oxynoe.description = Dispara rajos de flames als enemics propers que reparen també les estructures aliades. També apunta i destrueix projectils enemics amb una torreta de defensa. +unit.cyerce.description = Dispara grups de míssils rastrejadors. Repara unitats aliades. +unit.aegires.description = Electrocuta totes les unitats enemigues que entren al seu camp d’energia. Repara tots els aliats. +unit.navanax.description = Dispara projectils explosius PEM que danyen significativament les xarxes d’energia enemigues i que reparen les estructures aliades. Fon els enemics propers amb 4 torretes làser autònomes. +unit.stell.description = Dispara munició estàndard als objectius enemics. +unit.locus.description = Dispara munició alternant als objectius enemics. +unit.precept.description = Dispara una ràfega de munició perforadora als objectius enemics. +unit.vanquish.description = Dispara munició de gran calibre perforadora i de dispersió als objectius enemics. +unit.conquer.description = Dispara ràfegues llargues de bales als objectius enemics. +unit.merui.description = Dispara artilleria de llarg abast als objectius enemics. Pot travessar la majoria de terrenys. +unit.cleroi.description = Dispara parelles de projectils als objectius enemics. Busca projectils enemics amb torretes de punt de defensa. Pot travessar la majoria de terrenys. +unit.anthicus.description = Dispara míssils dirigits de llarg abast als objectius enemics. Pot travessar la majoria de terrenys. +unit.tecta.description = Dispara míssils de plasma dirigits als objectius enemics. Es protegeix a si mateix amb un escut direccional. Pot travessar la majoria de terrenys. +unit.collaris.description = Dispara artilleria de fragmentació de llarg abast als objectius enemics. Pot travessar la majoria de terrenys. +unit.elude.description = Dispara parelles de bales dirigides als objectius enemics. Pot volar sobre les masses de líquid. +unit.avert.description = Dispara parelles de bales que torcen la trajectòria als objectius enemics. +unit.obviate.description = Dispara parelles de boles elèctriques als objectius enemics. +unit.quell.description = Dispara míssils de llarg abast dirigits als objectius enemics. Evita la reparació de les estructures enemigues per part dels blocs de reparació. +unit.disrupt.description = Dispara míssils de llarg abast dirigits i supressors als objectius enemics. Evita la reparació de les estructures enemigues per part dels blocs de reparació. +unit.evoke.description = Construeix estructures per defensar el nucli Bastió. Repara les estructures amb un raig. +unit.incite.description = Construeix estructures per defensar el nucli Ciutadella. Repara les estructures amb un raig. +unit.emanate.description = Construeix estructures per defensar el nucli Acròpolis. Repara les estructures amb un raig. + +lst.read = Llegeix un nombre des d’una cel·la de memòria connectada. +lst.write = Escriu un nombre en una cel·la de memòria connectada. +lst.print = Afegeix un text a la cua d’impressió.\nEl text no es mostrarà fins que s’apliqui «[accent]Print Flush[]». +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Reemplaça el següent marcador de posició a la cua d’impressió amb un valor.\nNo fa res si el patró del marcador no és vàlid.\nPatró del marcador: "{[accent]número 0-9[]}"\nExemple:\n[accent]print "test {0}"\nformat "example" +lst.draw = Afegeix una instrucció de dibuix a la cua corresponent.\nEl resultat no es mostrarà fins que s’apliqui «[accent]Draw Flush[]». +lst.drawflush = Executa les operacions de la cua de dibuix al monitor lògic. +lst.printflush = Executa les operacions de la cua d’impressió al monitor lògic. +lst.getlink = Obtén l’enllaç a un processador mitjançant el seu índex. Es numeren començant pel 0. +lst.control = Controla una estructura. +lst.radar = Localitza unitats al voltant d’un bloc amb l’abast indicat. +lst.sensor = Obtén dades d’una estructura o unitat. +lst.set = Estableix una variable. +lst.operation = Executa una operació amb 1 o 2 variables. +lst.end = Salta al principi de la llista d’instruccions. +lst.wait = Espera el nombre indicat de segons. +lst.stop = Para l’execució d’aquest processador. +lst.lookup = Busca un tipus d’element, líquid, unitat o bloc per ID.\nEs pot comptar la quantitat total d’elements del tipus indicat amb:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Salta a una altra instrucció si es compleixen les condicions. +lst.unitbind = Enllaça amb la següent unitat d’un determinat tipus i la guarda en [accent]@unit[]. +lst.unitcontrol = Controla la unitat enllaçada. +lst.unitradar = Localitza unitats al voltant de la unitat enllaçada. +lst.unitlocate = Localitza un tipus específic de posició/estructura en qualsevol lloc del mapa.\nCal que hi hagi una unitat enllaçada. +lst.getblock = Obtén les dades d’un bloc en qualsevol posició. +lst.setblock = Estableix les dades d’un bloc en qualsevol posició. +lst.spawnunit = Fes aparèixer una unitat en una posició. +lst.applystatus = Aplica o esborra un efecte d’estat d’una unitat. +lst.weathersense = Comprova si un tipus de temps meteorològics està actiu. +lst.weatherset = Estableix l’estat actual per a un tipus de temps meteorològic. +lst.spawnwave = Simula l’aparició d’una onada enemiga en una posició arbitrària.\nEl comptador d’onades no s’incrementarà. +lst.explosion = Crea una explosió en una posició. +lst.setrate = Estableix la velocitat d’execució del processador en instruccions/tic. +lst.fetch = Cerca unitats, nuclis, jugadors o estructures mitjançant el seu índex.\nEls índexs van des del 0 fins al total del nombre d’elements. +lst.packcolor = Empaqueta els components RGBA [0, 1] en un sol nombre per a dibuixar o establir regles. +lst.setrule = Estableix una regla de la partida. +lst.flushmessage = Mostra un missatge a la pantalla a partir dels continguts de la cua de text.\nEsperarà fins que acabi el missatge anterior. +lst.cutscene = Manipula la càmera del jugador. +lst.setflag = Estableix un senyal global que es podrà llegir en tots els processadors. +lst.getflag = Obtén un senyal global. +lst.setprop = Estableix una propietat d’una unitat o estructura. +lst.effect = Crea un efecte de partícula. +lst.sync = Sincronitza una variable a través de la xarxa.\nS’invoca com a molt 10 vegades per segon. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Crea una marca lògica al món.\nS’ha de donar un ID per a identificar-la.\nEs poden establir fins a 20.000 marcadors per món. +lst.setmarker = Estableix una propietat per a la marca.\nL’ID que es faci servir ha de ser el mateix que el de la instrucció de crear la marca. +lst.localeprint = Afegeix el valor d’una propietat de la traducció d’un mapa a la cua d’impressió.\nPer a establir paquets de traducció de mapes a l’editor de mapes, comproveu [accent]Informació del mapa > Paquets de traducció[].\nSi el client és un dispositiu mòbil, primer intenta imprimir una propietat que acabi en «.mobile». +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = La constant matemàtica pi (3.141…) +lglobal.@e = La constant matemàtica e (2.718…) +lglobal.@degToRad = Multiplica per aquest nombre per a convertir graus sexagesimals en radians. +lglobal.@radToDeg = Multiplica per aquest nombre per a convertir radians en graus sexagesimals. +lglobal.@time = Temps de joc de la partida actual, en mil·lisegons +lglobal.@tick = Temps de joc de la partida actual, en tics (1 segon = 60 tics) +lglobal.@second = Temps de joc de la partida actual, en segons +lglobal.@minute = Temps de joc de la partida actual, en minuts +lglobal.@waveNumber = Nombre de l’onada actual, si les onades estan activades +lglobal.@waveTime = Comptador enrere de les onades, en segons +lglobal.@mapw = Amplada del mapa en caselles +lglobal.@maph = Alçària del mapa en caselles +lglobal.sectionMap = Mapa +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Xarxa/Client [Només processador integrat] +lglobal.sectionProcessor = Processador +lglobal.sectionLookup = Lookup +lglobal.@this = El bloc lògic que executa el codi +lglobal.@thisx = Coordenada X del bloc que executa el codi +lglobal.@thisy = Coordenada Y del bloc que executa el codi +lglobal.@links = Quantitat total de blocs enllaçats amb aquest processador +lglobal.@ipt = Velocitat d’execució del processador en instruccions per tic (60 tics = 1 segon) +lglobal.@unitCount = Nombre total de tipus de continguts d’unitat a la partida; es fa servir amb la instrucció lookup. +lglobal.@blockCount = Nombre total de tipus de continguts de bloc a la partida; es fa servir amb la instrucció lookup. +lglobal.@itemCount = Nombre total de tipus de continguts d’element a la partida; es fa servir amb la instrucció lookup. +lglobal.@liquidCount = Nombre total de tipus de continguts de líquid a la partida; es fa servir amb la instrucció lookup. +lglobal.@server = Cert si el codi s’executa en un servidor o en mode d’un sol jugador; fals altrament. +lglobal.@client = Cert si el codi s’executa en un client connectat a un servidor. +lglobal.@clientLocale = Traducció del client que executa el codi. Per exemple: en_US +lglobal.@clientUnit = Unitat del client que executa el codi +lglobal.@clientName = Nom del jugador del client que executa el codi +lglobal.@clientTeam = Identificador de l’equip que executa el codi +lglobal.@clientMobile = Cert si el client que executa el codi és un dispositiu mòbil; fals altrament. + +logic.nounitbuild = [red]Aquí no es permet construir blocs de tipus lògic. + +lenum.type = Tipus del bloc/unitat.\nPer exemple, per a qualsevol encaminador, retornarà [accent]@router[].\nNo retorna una cadena de text. +lenum.shoot = Dispara a una posició. +lenum.shootp = Dispara a una unitat/bloc tenint en compte la seva velocitat a l’hora d’apuntar. +lenum.config = Configuració de l’estructura, com ara el classificador. +lenum.enabled = Retorna si el bloc està activat. +laccess.currentammotype = Líquid o element de munició actual de la torreta. + +laccess.color = Color de l’il·luminador. +laccess.controller = Controlador de la unitat. Si es controla per processador, retorna el processador.\nAltrament, retorna la mateixa unitat. +laccess.dead = Retorna si una unitat o bloc està destruïda o si ja no és vàlida. +laccess.controlled = Returna:\n[accent]@ctrlProcessor[] si el controlador de la unitat és un processador;\n[accent]@ctrlPlayer[] si el controlador de la unitat és un jugador;\n[accent]@ctrlCommand[] si el controlador és un comandament del jugador;\naltrament, és 0. +laccess.progress = Progrés de l’acció, entre 0 i 1.\nRetorna la producció, la recàrrega de la torreta o el progrés de la construcció. +laccess.speed = Velocitat màxima de la unitat, en caselles/s. +laccess.id = Identificador d’unitat/bloc/element/líquid.\nÉs l’invers de l’operació lookup. +lcategory.unknown = Desconegut +lcategory.unknown.description = Instruccions sense categoria. +lcategory.io = Entrada i sortida +lcategory.io.description = Modifica els continguts dels blocs de memòria i de la memòria dels processadors. +lcategory.block = Control de blocs +lcategory.block.description = Interacciona amb els blocs. +lcategory.operation = Operacions +lcategory.operation.description = Operacions lògiques. +lcategory.control = Control de flux +lcategory.control.description = Controla l’execució d’ordres. +lcategory.unit = Control d’unitats +lcategory.unit.description = Dóna ordres a les unitats. +lcategory.world = Món +lcategory.world.description = Controla com es comporta el món. + +graphicstype.clear = Omple el monitor lògic amb un color. +graphicstype.color = Estableix el color per a les properes operacions de dibuix. +graphicstype.col = Equivalent a «color», però empaquetat en un sol valor.\nEls colors empaquetats s’escriuen amb el seu codi hexadecimal amb el prefix [accent]%[].\nExemple: [accent]%ff0000[] representa el color vermell. +graphicstype.stroke = Estableix l’amplada de la línia. +graphicstype.line = Dibuixa un segment. +graphicstype.rect = Omple un rectangle. +graphicstype.linerect = Dibuixa els costats d’un rectangle. +graphicstype.poly = Omple un polígon regular. +graphicstype.linepoly = Dibuixa els costats d’un polígon regular. +graphicstype.triangle = Omple un triangle. +graphicstype.image = Dibuixa una imatge d’algun element del joc.\nPer exemple: [accent]@router[] o [accent]@dagger[]. +graphicstype.print = Dibuixa el text de la cua d’impressió.\nEsborra la cua d’impressió. + +lenum.always = Sempre cert. +lenum.idiv = Divisió entera. +lenum.div = Divisió.\nRetorna [accent]null[] si es divideix per zero. +lenum.mod = Mòdul (residu de la divisió entera). +lenum.equal = Igual. Força els tipus.\nCompara objectes no nuls amb nombres. Si són iguals, retorna 1. Si no, retorna 0. +lenum.notequal = No igual. Força els tipus. +lenum.strictequal = Igualtat estricta sense forçar el tipus.\nEs pot fer servir amb objectes nuls. +lenum.shl = Desplaça els bits a l’esquerra. +lenum.shr = Desplaça els bits a la dreta. +lenum.or = Operació lògica OR bit a bit. +lenum.land = Operació lògica AND bit a bit. +lenum.and = Operació lògica AND bit a bit. +lenum.not = Operació lògica NOT bit a bit. +lenum.xor = Operació lògica XOR bit a bit. + +lenum.min = Mínim de dos nombres. +lenum.max = Màxim de dos nombres. +lenum.angle = Angle del vector en graus. +lenum.anglediff = Distància absoluta entre dos angles en graus. +lenum.len = Llargada (mòdul) del vector. + +lenum.sin = Sinus de l’angle (en graus). +lenum.cos = Cosinus de l’angle (en graus). +lenum.tan = Tangent de l’angle (en graus). + +lenum.asin = Arcsinus, en graus. +lenum.acos = Arccosinus, en graus. +lenum.atan = Arctangent, en graus. + +#not a typo, look up 'range notation' +lenum.rand = Nombre decimal aleatori de l’interval [0, valor). +lenum.log = Logaritme neperià (ln). +lenum.log10 = Logaritme en base 10. +lenum.noise = Soroll símplex 2D. +lenum.abs = Valor absolut. +lenum.sqrt = Arrel quadrada. + +lenum.any = Qualsevol unitat. +lenum.ally = Unitat aliada. +lenum.attacker = Unitat amb arma. +lenum.enemy = Unitat enemiga. +lenum.boss = Guardià (enemic final). +lenum.flying = Unitat aèria. +lenum.ground = Unitat terrestre. +lenum.player = Unitat controlada per un jugador. + +lenum.ore = Dipòsit de minerals. +lenum.damaged = Bloc aliat danyat. +lenum.spawn = Punt d’aparició d’enemics.\nPot ser un nucli o una posició. +lenum.building = Bloc d’una categoria específica. + +lenum.core = Qualsevol nucli. +lenum.storage = Edifici d’emmagatzematge, com ara el [accent]contenidor gros[]. +lenum.generator = Edificis que generin energia elèctrica. +lenum.factory = Edificis que transformen recursos. +lenum.repair = Punts de reparació. +lenum.battery = Bateries. +lenum.resupply = Punts d’abastiment.\nNomés té rellevància quan s’activa la regla [accent]«Les unitats necessiten munició»[]. +lenum.reactor = Reactors d’impacte/tori. +lenum.turret = Torretes. + +sensor.in = L’edifici/unitat a detectar. + +radar.from = Bloc a detectar.\nL’abast del sensor està limitat per l’abast de construcció. +radar.target = Filtre de les unitats a detectar. +radar.and = Filtres addicionals. +radar.order = Criteri d’ordenació. 0 per a invertir-la. +radar.sort = Mètrica per ordenar els resultats. +radar.output = Variable en la qual escriure la unitat de sortida. + +unitradar.target = Filtre de les unitats a detectar. +unitradar.and = Filtres addicionals. +unitradar.order = Criteri d’ordenació. 0 per a invertir-la. +unitradar.sort = Mètrica per ordenar els resultats. +unitradar.output = Variable en la qual escriure la unitat de sortida. + +control.of = Bloc a controlar. +control.unit = Unitat o bloc al qual apuntar. +control.shoot = Controla quan s’ha de disparar. + +unitlocate.enemy = Indica si s’han de localitzar blocs enemics. +unitlocate.found = Indica si s’ha trobat un objectiu. +unitlocate.building = Variable de sortida per al bloc localitzat. +unitlocate.outx = Coordenada X de la sortida. +unitlocate.outy = Coordenada Y de la sortida. +unitlocate.group = Categoria de blocs a buscar. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = La unitat no es mourà, però continuarà construint i extraient minerals.\nÉs l’estat per defecte. +lenum.stop = Para de moure, construir o extreure minerals. +lenum.unbind = Desactiva del tot el control lògic.\nContinua amb la IA estàndard. +lenum.move = Mou a una posició exacta. +lenum.approach = Aproxima a una zona determinada amb una posició i un radi. +lenum.pathfind = Troba un camí i segueix una ruta fins al punt d’aparició d’enemics. +lenum.autopathfind = Busca un camí automàticament fins al nucli enemic més proper o punt d’aterratge.\nÉs el mateix que el camí d'una onada enemiga estàndard. +lenum.target = Dispara a una posició. +lenum.targetp = Dispara a un objectiu tenint en compte la seva velocitat a l’hora d’apuntar. +lenum.itemdrop = Deixa un element. +lenum.itemtake = Agafa un element d’una estructura. +lenum.paydrop = Deixa el bloc o unitat. +lenum.paytake = Agafa un bloc o unitat a la posició actual. +lenum.payenter = Entra o apareix al bloc on es troba la unitat. +lenum.flag = Identificador numèric de la unitat. +lenum.mine = Extreu recursos en una posició. +lenum.build = Construeix una estructura. +lenum.getblock = Obté el bloc, el seu tipus i el terra a les coordenades indicades.\nLa posició escollida ha d’estar a l’abast de la unitat; altrament es retornarà un valor buit. +lenum.within = Comprova si la unitat està a prop d’una posició. +lenum.boost = Inicia/Detén el vol. +lenum.flushtext = Passa el contingut de la cua d’impressió al marcador, si es pot.\nSi s’estableix «fetch» a vertader, s’intentarà carregar les propietats de la traducció del mapa o del joc. +lenum.texture = Nom de la textura directa de l’atles de textures del joc (amb l’estil de noms kebab-case).\nSi «printFlush» s’estableix a vertader, consumeix el contingut de la cua d’impressió com a argument de text. +lenum.texturesize = Mida de la textura a les caselles. Un valor de zero indica que s’ha d'escalar l’amplada del marcador a la mida original de la textura. +lenum.autoscale = Indica si cal escalar el marcador segons el nivell de zoom del jugador. +lenum.posi = Posició indexada que es fa servir per a marcadors de línia i de rectangles on l’índex zero és la primera posició. +lenum.uvi = Posició de la textura que va de zero a u i que es fa servir per a marcadors de tipus rectangle. +lenum.colori = Posició indexada que es fa servir per a marcadors de línies i rectangles on l’índex zero és el primer color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_cs.properties b/core/assets/bundles/bundle_cs.properties index 58942b40e3..4ad2941d20 100644 --- a/core/assets/bundles/bundle_cs.properties +++ b/core/assets/bundles/bundle_cs.properties @@ -7,21 +7,24 @@ link.reddit.description = Mindustry na Redditu link.github.description = Zdrojový kód hry link.changelog.description = Seznam úprav link.dev-builds.description = Nestabilní vývojová verze hry -link.trello.description = Oficiální Trello nástÄ›nka s plánovanými novinkami +link.trello.description = Oficiální Trello nástÄ›nka s plánovanými novinkami link.itch.io.description = Stránka na itch.io s odkazy na stažení hry link.google-play.description = Obchod Google Play link.f-droid.description = F-Droid link.wiki.description = Oficiální Wiki Mindustry -link.suggestions.description = Suggest new features +link.suggestions.description = DoporuÄit nové funkce +link.bug.description = NaÅ¡el jsi nÄ›jaký? NahlaÅ¡ ho zde +linkopen = Tento server vám poslal odkaz. Jste si jist s jeho otevÅ™ením?\n\n[sky]{0} linkfail = NepodaÅ™ilo se otevřít odkaz!\nAdresa URL byla zkopírována do schránky. screenshot = Snímek obrazovky uložen {0} screenshot.invalid = Mapa je moc velká, nemusí být dost pamÄ›ti pro získání snímku obrazovky. gameover = Konec hry +gameover.disconnect = Odpojit gameover.pvp = Vyhrál tým [accent]{0}[]! +gameover.waiting = [accent]ÄŒekám na novou mapu... highscore = [accent]Nový rekord! copied = Zkopírováno. indev.notready = Tato Äást hry jeÅ¡tÄ› není pÅ™ipravena -indev.campaign = [accent]BlahopÅ™ejeme! ZavrÅ¡il jsi kampaň![]\n\nTohle je vÅ¡e, co Ti hra může po obsahové stránce nabídnout. Meziplanetární lety budou pÅ™idány až v budoucích aktualizacích. load.sound = Zvuky load.map = Mapy @@ -38,9 +41,23 @@ be.ignore = PÅ™eskoÄit verzi be.noupdates = Aktualizace nebyla nalezena. be.check = Zkontrolovat aktualizace +mods.browser = ProhlížeÄ modifikací +mods.browser.selected = Vybraný mod +mods.browser.add = Stáhnout +mods.browser.reinstall = Reinstalovat +mods.browser.view-releases = Zobrazit Vydání +mods.browser.noreleases = [scarlet]Žádné Vydání Nenalezeny\n[accent]Nenalezene žádné vydání pro tento mod. Check if the mod's repository has any releases published. ZjistÄ›te, jestli repozitář modu má již veÅ™ejnÄ› vydán. +mods.browser.latest = +mods.browser.releases = Vydání +mods.github.open = ÚložiÅ¡tÄ› +mods.github.open-release = Stranka Vydání +mods.browser.sortdate = Řadit podle nedavných +mods.browser.sortstars = Řadit podle hvÄ›zd + schematic = Å ablona schematic.add = Uložit Å¡ablonu... schematics = Å ablony +schematic.search = Vyhledat Å¡ablonu... schematic.replace = Å ablona s tímto názvem již existuje. ChceÅ¡ ji nahradit? schematic.exists = Å ablona s tímto názvem již existuje. schematic.import = Importuji Å¡ablonu... @@ -53,19 +70,27 @@ schematic.shareworkshop = Sdílet skrze Workshop na Steamu schematic.flip = [accent][[{0}][]/[accent][[{1}][]: PÅ™evrátit Å¡ablonu schematic.saved = Å ablona byla uložena. schematic.delete.confirm = Å ablona bude kompletnÄ› vyhlazena. -schematic.rename = PÅ™ejmenovat Å¡ablonu +schematic.edit = ZmÄ›nit Å¡ablonu schematic.info = {0}x{1}, {2} bloků schematic.disabled = [scarlet]Å ablony jsou zakázány[]\nNa této [accent]mapÄ›[] nebo [accent]serveru[] nemůžeÅ¡ používat Å¡ablony. +schematic.tags = ZnaÄky: +schematic.edittags = Upravit ZnaÄky +schematic.addtag = PÅ™idat ZnaÄku +schematic.texttag = Textová ZnaÄka +schematic.icontag = Ikonová ZnaÄka +schematic.renametag = PÅ™ejmenovat ZnaÄku +schematic.tagged = {0} oznaÄené +schematic.tagdelconfirm = Smazat tuto znaÄku? +schematic.tagexists = Tato znaÄka již existuje. stats = Statistiky -stat.wave = Vln poraženo: [accent]{0} -stat.enemiesDestroyed = Nepřátel zniÄeno: [accent]{0}[] -stat.built = Budov postaveno: [accent]{0}[] -stat.destroyed = Budov zniÄeno: [accent]{0}[] -stat.deconstructed = Budov rozebráno: [accent]{0}[] -stat.delivered = Materiálu vysláno: -stat.playtime = Odehraný Äas: [accent]{0}[] -stat.rank = Celková známka: [accent]{0}[] +stats.wave = Poraženo Vln +stats.unitsCreated = Jednotek VytvoÅ™eno +stats.enemiesDestroyed = Nepřátel ZniÄeno +stats.built = Budov Postaveno +stats.destroyed = Budov ZniÄeno +stats.deconstructed = Budov Zdekonstruovano +stats.playtime = Doba Hraní globalitems = [accent]Celkové položky[] map.delete = Jsi si jistý, že chceÅ¡ smazat mapu "[accent]{0}[]"? @@ -75,12 +100,15 @@ level.mode = Herní režim: coreattack = < Jádro je pod útokem! > nearpoint = [ [scarlet]IHNED OPUSŤTE PROSTOR VÃSADKU[] ]\nNebezpeÄí okamžité smrti! database = Katalog objektů +database.button = Databáze savegame = Uložit hru loadgame = NaÄíst hru joingame = PÅ™ipojit se ke hÅ™e customgame = Vlastní hra newgame = Nová hra none = <žádný> +none.found = [lightgray] +none.inmap = [lightgray] minimap = MapiÄka position = Pozice close = Zavřít @@ -101,24 +129,39 @@ committingchanges = Provádím zmÄ›ny done = Hotovo feature.unsupported = Tvoje zařízení nepodporuje tuto vlastnost hry. -mods.alphainfo = MÄ›j na pamÄ›ti, že modifikace jsou stále v alfa fázi vývoje a mohou být [scarlet]velmi chybové[].\nNahlaÅ¡, prosím, jakékoliv závady na GitHub Mindustry. DÄ›kujeme! +mods.initfailed = [red]âš [] Poslední Mindustry instaci se nepodaÅ™ilo inicializovat. NejpravdÄ›podobnÄ›ji to bylo způsobeno Å¡patnou funkcí modifikací.\n\nK pÅ™edcházení nekoneÄného padání hry, [red]vÅ¡echny modifikace se vyply.[] mods = Mody mods.none = [lightgray]Modifikace nebyly nalezeny.[] mods.guide = Průvodce modifikacemi mods.report = Nahlásit závadu mods.openfolder = Otevřít složku s modifikacemi +mods.viewcontent = Zobrazit Obsah mods.reload = Znovu naÄíst mods.reloadexit = Hra bude nyní ukonÄena, aby si znovu naÄetla modifikace. +mod.installed = [[Instalováno] mod.display = [gray]Modifikace:[][orange] {0}[] mod.enabled = [lightgray]Povoleno[] mod.disabled = [scarlet]Zakázáno[] +mod.multiplayer.compatible = [gray]Hra více hráÄů komapitibilní mod.disable = Zakázat +mod.version = Version: mod.content = Obsah: mod.delete.error = Nebylo možnost smazat modifikaci. Soubor může být používán. -mod.requiresversion = [scarlet]Minimální požadovaná verze hry: [accent]{0}[] -mod.outdated = [scarlet]Nekompatibilní s V6 (chybí minGameVersion: 105) -mod.missingdependencies = [scarlet]ChybÄ›jící závislosti: {0}[] +mod.incompatiblegame = [red]Zastaralá Hra +mod.incompatiblemod = [red]Nekompatibilní +mod.blacklisted = [red]Nepodporováno +mod.unmetdependencies = [red]NesplnÄ›né Dependencies mod.erroredcontent = [scarlet]V obsahu jsou chyby[] +mod.circulardependencies = [red]Kruhové závislosti +mod.incompletedependencies = [red]NedokonÄené závislosti +mod.requiresversion.details = Vyžaduje verzi hry: [accent]{0}[]\nVaÅ¡e hra je zastaralá. Tento mod vyžaduje novÄ›jší verzi hry (možná beta/alfa verze) aby fungoval. +mod.outdatedv7.details = Tento mod není kompatibilní s nejnovÄ›jší verzí hry. Autor ho musí aktualizovat a pÅ™idat [accent]minGameVersion: 136[] ho do [accent]mod.json[] složky. +mod.blacklisted.details = Tento mod byl ruÄnÄ› zaÅ™azen na Äernou listinu, protože způsobuje pády nebo jiné problémy s touto verzí hry. Nepoužívejte jej. +mod.missingdependencies.details = Tomuto módu chybí závislosti: {0} +mod.erroredcontent.details = Tato hra způsobovala chyby pÅ™i naÄítání. Požádejte autora módu o jejich opravu. +mod.circulardependencies.details = Tento mod má závislosti, které na sobÄ› navzájem závisí. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Vyžaduje verzi hry: [red]{0} mod.errors = PÅ™i naÄítání obsahu hry se vyskytly problémy. mod.noerrorplay = [scarlet]Máš modifikace s chybami.[] BuÄ zakaž dotÄené modifikace, nebo oprav chyby pÅ™ed tím, než zaÄneÅ¡ hrát. mod.nowdisabled = [scarlet]Modifikaci '{0}' chybí tyto závislosti: [accent]{1}\n[lightgray]Tyto modifikace je tÅ™eba nejprve stáhnout.\nTato modifikace bude nyní automaticky zakázána. @@ -140,14 +183,24 @@ mod.scripts.disable = Tvoje zařízení nepodporuje skripty. Musíš zakázat ty about.button = O hÅ™e name = Jméno: noname = Nejdřív si vyber [accent]jméno ve hÅ™e[]. +search = Search: planetmap = Planetární mapa launchcore = Vyslat jádro filename = Název souboru: unlocked = Byl odemmknut nový blok! available = Je zpřístupnÄ›n nový výzkum! +unlock.incampaign = < Odemkni v kampani pro více detailů > +campaign.select = Vybrat ZaÄínající Kampaň +campaign.none = [lightgray]Vyberte planetu, na které chcete zaÄít.\nToto lze kdykoli pÅ™epnout. +campaign.erekir = NovÄ›jší, uhlazenÄ›jší obsah. VÄ›tÅ¡inou lineární průbÄ›h kampanÄ›.\n\nVyšší kvalita map a celkový zážitek. +campaign.serpulo = Starší obsah; klasický zážitek. Více otevÅ™ených.\n\nPotenciálnÄ› nevyvážené mapy a mechanismy kampaní. MénÄ› leÅ¡tÄ›né. +campaign.difficulty = Difficulty + completed = [accent]DokonÄeno[] techtree = Technologie -research.legacy = Nalezena výzkumná data z verze [accent]5.0[].\nChceÅ¡ [accent]tato data naÄíst[], nebo [accent]je zahodit[] a zaÄít výzkum v nové kampani (což doporuÄujeme)? +techtree.select = VýbÄ›r Výzkumného Stromu +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = NaÄíst research.discard = Zahodit research.list = [lightgray]Výzkum:[] @@ -191,20 +244,33 @@ hosts.none = [lightgray]Žádné místní hry nebyly nalezeny![] host.invalid = [scarlet]Nejde se pÅ™ipojit k hostiteli.[] servers.local = Místní servery +servers.local.steam = Otevřít Hry a Lokální Servery servers.remote = Vzdálené servery servers.global = Komunitní servery +servers.disclaimer = Komunitní servery [accent]nejsou[] vlastnÄ›ny ani kontrolovány vývojářem této hry.\n\nServery mohou obsahovat obsah vytvoÅ™ený uživateli, který může na nÄ›které uživatele působit nepatÅ™iÄnÄ› Äi nevhodnÄ›. servers.showhidden = Zobraz skryté servery server.shown = Zobrazené server.hidden = Skryté +viewplayer = Viewing Player: [accent]{0} trace = Vystopovat hráÄe trace.playername = Jméno hráÄe: [accent]{0}[] trace.ip = Adresa IP: [accent]{0}[] trace.id = Unikátní ID: [accent]{0}[] +trace.language = Jazyk: [accent]{0} trace.mobile = Mobilní klient hry: [accent]{0}[] trace.modclient = Upravený klient hry: [accent]{0}[] +trace.times.joined = Krát PÅ™ipojen: [accent]{0} +trace.times.kicked = Krát Vyhozen: [accent]{0} +trace.ips = IPs: +trace.names = Jména: invalidid = Neplatná adresa IP klienta! ZaÅ¡li prosím zprávu o chybÄ›. +player.ban = Ban +player.kick = Vyhodit +player.trace = Trace +player.admin = PÅ™epínání správce +player.team = ZmÄ›nit tým server.bans = Zákazy server.bans.none = Žádní hráÄi se zákazem nebyli nalezeni. server.admins = Správci @@ -218,10 +284,11 @@ server.version = [gray]Verze: {0} {1}[] server.custombuild = [accent]Upravená verze hry[] confirmban = Jsi si jistý, že chceÅ¡ zakázat hráÄe "{0}[white]"?[] confirmkick = Jsi si jistý, že chceÅ¡ vykopnout hráÄe "{0}[white]"?[] -confirmvotekick = Jsi si jistý, že chceÅ¡ hlasovat pro vykopnutí hráÄe "{0}[white]"?[] confirmunban = Jsi si jistý, že chceÅ¡ zruÅ¡it zákaz pro tohoto hráÄe? confirmadmin = Jsi si jistý, že chceÅ¡ hráÄe "{0}[white]" povýšit na správce?[] confirmunadmin = Jsi si jistý, že chceÅ¡ odebrat hráÄi "{0}[white]" roli správce?[] +votekick.reason = Vote-Kick Reason +votekick.reason.message = Jste si jisti, že chcete hlasovat? "{0}[white]"?\nPokud ano, uveÄte důvod: joingame.title = PÅ™ipojit se ke hÅ™e joingame.ip = Adresa IP: disconnect = Odpojeno. @@ -229,16 +296,18 @@ disconnect.error = Chyba pÅ™ipojení. disconnect.closed = PÅ™ipojení bylo uzavÅ™eno. disconnect.timeout = VyprÅ¡el Äas pro pÅ™ipojení. disconnect.data = Chyba naÄtení dat ze serveru! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Není možno se pÅ™ipojit ke hÅ™e ([accent]{0}[]). connecting = [accent]PÅ™ipojuji se...[] reconnecting = [accent]Znovu se pÅ™ipojuji... connecting.data = [accent]NaÄítám data ze serveru...[] server.port = Port: -server.addressinuse = Adresu již nÄ›kdo používá! server.invalidport = Neplatné Äíslo portu! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [scarlet]Chyba pÅ™i hostování serveru.[] save.new = Nové uložení hry save.overwrite = Jsi si jistý, že chceÅ¡ pÅ™epsat\ntuto pozici pro uložení hry? +save.nocampaign = Jednotlivé uložené soubory z kampanÄ› nelze importovat. overwrite = PÅ™epsat save.none = Žádné uložené pozice nebyly nalezeny. savefail = NepodaÅ™ilo se uložit hru! @@ -259,6 +328,7 @@ save.corrupted = Uložení je poÅ¡kozené nebo neplatné. empty = on = On off = Off +save.search = Hledat uložené hry... save.autosave = Automatické uložení: {0} save.map = Mapa: {0} save.wave = Vlna: {0} @@ -274,9 +344,31 @@ ok = OK open = Otevřít customize = PÅ™izpůsobit pravidla cancel = ZruÅ¡it +command = Velet +command.queue = Queue +command.mine = Těžit +command.repair = Opravovat +command.rebuild = PÅ™estavÄ›t +command.assist = Asistovat hráÄi +command.move = Pohyb +command.boost = Posílení +command.enterPayload = Zadejte blok užiteÄného zatížení +command.loadUnits = Nahrát jednotky +command.loadBlocks = Nahrát bloky +command.unloadPayload = Vyložit blok užiteÄného zatížení +command.loopPayload = Loop Unit Transfer +stance.stop = ZruÅ¡it příkaz +stance.shoot = Postoj: Střílejte +stance.holdfire = Postoj: PÅ™estaň střílet +stance.pursuetarget = Postoj: Sleduj cíl +stance.patrol = Postoj: Hlídej +stance.ram = Postoj: Ram\n[lightgray]Přímý pohyb, žádné hledání cesty + openlink = Otevřít odkaz copylink = Zkopírovat odkaz back = ZpÄ›t +max = Max +objective = Úkol mapy crash.export = Exportovat záznamy o zhroucení hry crash.none = Záznamy o zhroucení hry nebyly nalezeny. crash.exported = Záznamy o zhroucení hry byly exportovány. @@ -287,16 +379,18 @@ data.exported = Data byla exportována. data.invalid = Herní data nejsou v pořádku. data.import.confirm = Import externích dat smaže [scarlet]vÅ¡echna[] Tvá souÄasná herní data.\n[accent]Toto nelze vrátit zpÄ›t![]\n\nPo importu dat se hra bezprostÅ™ednÄ› sama ukonÄí. quit.confirm = Jsi si jistý, že chceÅ¡ ukonÄit hru? -quit.confirm.tutorial = Jsi si jistý?Výuku je možné znovu spustit v [accent]Volby->Hra->Spustit znovu výuku[]. loading = [accent]NaÄítám... -reloading = [accent]NaÄítám modifikace... +downloading = [accent]Stahuju... saving = [accent]Ukládám... respawn = [accent][[{0}][] k znovuzrození v jádÅ™e cancelbuilding = [accent][[{0}][] vyÄistí plán Å¡ablony selectschematic = [accent][[{0}][] provede výbÄ›r a zkopírování pausebuilding = [accent][[{0}][] zastaví stavÄ›ní resumebuilding = [scarlet][[{0}][] bude pokraÄovat ve stavÄ›ní +enablebuilding = [scarlet][[{0}][] povolí stavení showui = UI je skryto.\nZmáÄkni [accent][[{0}][] pro jeho zobrazení. +commandmode.name = [accent]Velící zežim +commandmode.nounits = [no units] wave = [accent]Vlna Äíslo {0}[] wave.cap = [accent]Vlna {0} z {1}[] wave.waiting = [lightgray]Vlna za {0} vteÅ™in[] @@ -306,7 +400,7 @@ waiting.players = ÄŒekání na hráÄe... wave.enemies = [lightgray]{0} zbývajících nepřátel wave.enemycores = [accent]{0}[lightgray] nepřátelská jádra wave.enemycore = [accent]{0}[lightgray] nepřátelské jádro -wave.enemy = [lightgray]{0} zbývající nepřátel +wave.enemy = [lightgray]{0} zbývající nepřítel wave.guardianwarn = PoÄet vln do příchodu strážce: [accent]{0}[]. wave.guardianwarn.one = [accent]Strážce pÅ™ijde již příští vlnu![] loadimage = Nahrát obrázek @@ -316,23 +410,28 @@ custom = Upraveno builtin = VestavÄ›no map.delete.confirm = Jsi si jistý, že chceÅ¡ tuto mapu smazat? Tato akce je nevratná! map.random = [accent]Náhodná mapa[] -map.nospawn = Na této mapÄ› nejsou jádra, u kterých by se mohli zrodit hráÄi. PÅ™idej v editoru do této mapy aspoň jedno [accent]oranžové[] jádro. +map.nospawn = Na této mapÄ› nejsou jádra, u kterých by se mohli zrodit hráÄi. PÅ™idej v editoru do této mapy aspoň jedno {0} jádro. map.nospawn.pvp = Tato mapa nemá nepřátelská jádra, u kterých by se mohli zrodit hráÄi. PÅ™idej v editoru do této mapy aspoň jedno [scarlet]neoranžové[] jádro. -map.nospawn.attack = Tato mapa nemá nepřátelská jádra, která by mohla být zniÄena. PÅ™idej v editoru do této mapy aspoň jedno [scarlet]Äervené[] jádro. +map.nospawn.attack = Tato mapa nemá nepřátelská jádra, která by mohla být zniÄena. PÅ™idej v editoru do této mapy aspoň jedno {0} jádro. map.invalid = Chyba v naÄítání mapy: poÅ¡kozený nebo neplatný soubor mapy. workshop.update = Aktualizovat položku workshop.error = Chyba pÅ™i naÄítání podrobností z Workshopu na Steamu: {0} -map.publish.confirm = Jsi si jistý, že chceÅ¡ vystavit tuto mapu?\n\n[lightgray]Ujisti se nejprve, že souhlasíš se smluvními podmínkami Workshopu na Steamu (EULA), jinak se Tvoje mapa nezobrazí.[] +map.publish.confirm = Jsi si jistý, že chceÅ¡ publikovat tuto mapu?\n\n[lightgray]Ujisti se nejprve, že souhlasíš se smluvními podmínkami Workshopu na Steamu (EULA), jinak se Tvoje mapa nezobrazí.[] workshop.menu = Vyber si, co bys chtÄ›l dÄ›lat s touto položkou. workshop.info = Informace o položce changelog = Seznam zmÄ›n (volitelnÄ›): +updatedesc = PÅ™epsat Nadpis a Popis eula = Smluvní podmínky platformy Steam missing = Tato položka byla smazána nebo pÅ™esunuta.\n[lightgray]Položka bude automaticky odebrána ze seznamu Workshopu na Steamu. publishing = [accent]Publikuji... -publish.confirm = Opravdu chceÅ¡ toto vystavit?\n\n[lightgray]Ujisti se nejprve, že souhlasíš se smluvními podmínkami Workshopu na Steamu (EULA), jinak se Tvoje položky nezobrazí.[] -publish.error = Chyba pÅ™i vystavování položky: {0} -steam.error = NepodaÅ™ilo se inicializovat služby platformy Steam.Chyba: {0} +publish.confirm = Opravdu chceÅ¡ toto publikovat?\n\n[lightgray]Ujisti se nejprve, že souhlasíš se smluvními podmínkami Workshopu na Steamu (EULA), jinak se Tvoje položky nezobrazí.[] +publish.error = Chyba pÅ™i publikování položky: {0} +steam.error = NepodaÅ™ilo se inicializovat služby platformy Steam. Chyba: {0} +editor.planet = Planeta: +editor.sector = Sektor: +editor.seed = Seed: +editor.cliffs = Zdi Na Útesy editor.brush = Å tÄ›tec editor.openin = Otevřít v editoru editor.oregen = Generování rud @@ -340,63 +439,106 @@ editor.oregen.info = Generování rud: editor.mapinfo = Informace o mapÄ› editor.author = Autor: editor.description = Popis: -editor.nodescription = Než může být mapa publikována, musí mít popisek dlouhý nejménÄ› 4 znaky. +editor.nodescription = Než může být mapa publikována, musí mít popis dlouhý nejménÄ› 4 znaky. editor.waves = Vln: editor.rules = Pravidla: editor.generation = Generace: +editor.objectives = Úkoly: +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Upravit ve hÅ™e -editor.publish.workshop = Vystavit ve Workshopu na Steamu +editor.playtest = Playtest +editor.publish.workshop = Publikovat do Workshopu na Steamu editor.newmap = Nová mapa editor.center = Vycentrovat +editor.search = Hledat mapy... +editor.filters = Filtrovat Mapy +editor.filters.mode = Herní režimy: +editor.filters.type = Typ Mapy: +editor.filters.search = Hledat V: +editor.filters.author = Autor +editor.filters.description = Popis +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop na Steamu waves.title = Vlny waves.remove = Odebrat -waves.never = waves.every = každých waves.waves = vln(y) +waves.health = životy: {0}% waves.perspawn = za zrození waves.shields = Å¡títů/vlnu waves.to = do +waves.spawn = zrození: +waves.spawn.all = +waves.spawn.select = VýbÄ›r Zrození +waves.spawn.none = [scarlet]žádné zrození nebyly nalezeny na mapÄ› +waves.max = max jednotek waves.guardian = Strážce waves.preview = Náhled waves.edit = Upravit.... +waves.random = NáhodnÄ› waves.copy = Uložit do schránky waves.load = NaÄíst ze schránky waves.invalid = Neplatné vlny ve schránce. waves.copied = Vlny byly zkopírovány. waves.none = Žádní nepřátelé nebyli definováni.\nVlny s prázdným rozložením budou automaticky upraveny na výchozí rozložení. +waves.sort = Řadit podle +waves.sort.reverse = Obrátit Å™azení +waves.sort.begin = ZaÄít +waves.sort.health = Životy +waves.sort.type = Typ +waves.search = Hledat vlny... +waves.filter = Unit Filter +waves.units.hide = Schovat vÅ¡e +waves.units.show = Zobrazit vÅ¡e #toto je zámÄ›rnÄ› malými písmeny wavemode.counts = poÄty wavemode.totals = souÄty wavemode.health = zdraví +all = All editor.default = [lightgray][] details = Podrobnosti... edit = Upravit... +variables = Hodnoty +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = VestavÄ›né promÄ›nné + editor.name = Jméno: editor.spawn = Zrodit jednotku editor.removeunit = Odstranit jednotku editor.teams = Týmy editor.errorload = Chyba pÅ™i naÄítání souboru. editor.errorsave = Chyba pÅ™i ukládání souboru. -editor.errorimage = Toto je obrázek, ne mapa.\nPokud chceÅ¡ importovat mapu z verze 3.5/sestavení 40, použij položku nabídky 'Importovat starou mapu'. +editor.errorimage = Toto je obrázek, ne mapa.\nPokud chceÅ¡ importovat mapu z verze 3.5/sestavení 40, použij položku nabídky 'Importovat starou mapu'. editor.errorlegacy = Tato mapa je příliÅ¡ stará a používá formát mapy, který už není podporován. editor.errornot = Toto není soubor mapy. editor.errorheader = Tento soubor mapy je buÄ neplatný nebo poÅ¡kozen. editor.errorname = Mapa nemá definované jméno. Nesnažíš se náhodou nahrát soubor s uložením hry? +editor.errorlocales = Chyba pÅ™i Ätení neplatných balíÄků národního prostÅ™edí. editor.update = Aktualizovat editor.randomize = NáhodnÄ› vygenerovat +editor.moveup = Pohyb Nahoru +editor.movedown = Pohyb Dolu +editor.copy = Kopírovat editor.apply = Aplikovat editor.generate = Generovat +editor.sectorgenerate = Generovat Sektor editor.resize = ZmÄ›nit velikost editor.loadmap = NaÄíst mapu editor.savemap = Uložit mapu +editor.savechanges = [scarlet]Máte neuložené zmÄ›ny!\n\n[]Chcete je uložit? editor.saved = Uloženo! editor.save.noname = Tvoje mapa nemá jméno! Jméno nastavíš v položce nabídky "Informace o mapÄ›". editor.save.overwrite = Tvoje mapa pÅ™episuje vestavÄ›nou mapu! Nastav jí radÅ¡i jiné jméno v položce nabídky "Informace o mapÄ›". editor.import.exists = [scarlet]Není možno importovat:[] existuje vestavÄ›ná mapa se stejným jménem '{0}'! -editor.import = Import... +editor.import = Importovat... editor.importmap = Importovat mapu editor.importmap.description = Importovat již existující mapu editor.importfile = Importovat soubor @@ -430,8 +572,12 @@ toolmode.eraseores = Mazat rudy toolmode.eraseores.description = Maže jen rudy. toolmode.fillteams = Doplnit týmy toolmode.fillteams.description = Doplní týmy místo bloků. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Vymažte bloky stejného typu. toolmode.drawteams = Kreslit týmy toolmode.drawteams.description = Kreslí týmy místo bloků. +toolmode.underliquid = Pod Kapalinami +toolmode.underliquid.description = Kreslí podlahy pod kostkama kapalin. filters.empty = [lightgray]Nejsou zadány žádné filtry, pÅ™idej filtr tlaÄítkem níže.[] filter.distort = Zkreslení @@ -450,6 +596,8 @@ filter.clear = VyÄistit filter.option.ignore = Ignorovat filter.scatter = Rozptýlení filter.terrain = Terén +filter.logic = Logic + filter.option.scale = Měřítko filter.option.chance = Náhoda filter.option.mag = Velikost @@ -458,17 +606,39 @@ filter.option.circle-scale = PolomÄ›r kružnice filter.option.octaves = Octávy filter.option.falloff = Pokles filter.option.angle = Úhel -filter.option.amount = Amount +filter.option.tilt = Naklonit +filter.option.rotate = OtoÄit +filter.option.amount = PoÄet filter.option.block = Blok filter.option.floor = Povrch filter.option.flooronto = Cílový povrch filter.option.target = Cíl +filter.option.replacement = VýmÄ›na filter.option.wall = StÄ›na filter.option.ore = Ruda filter.option.floor2 = Druhotný povrch filter.option.threshold2 = Druhotný práh filter.option.radius = PolomÄ›r filter.option.percentile = Percentil +filter.option.code = Code +filter.option.loop = Loop +locales.info = Zde můžete do mapy pÅ™idat balíÄky národního prostÅ™edí pro konkrétní jazyky. V balíÄcích národního prostÅ™edí má každá vlastnost název a hodnotu. Tyto vlastnosti mohou využívat svÄ›toví zpracovatelé a cíle pomocí svých jmen. Podporují formátování textu (nahrazení zástupných symbolů skuteÄnými hodnotami).\n\n[cyan]Příklad vlastnosti:\n[]název: [accent]timer[]\nvalue: [accent]Příklad ÄasovaÄe, zbývající Äas: @[]\n\n[cyan]Usage:\n[]Nastavte jej jako text cíle: [accent]@timer\n\n[]VytisknÄ›te si to ve svÄ›tovém procesoru:\n[accent]localeprint "timer"\nformat time\n[gray](kde Äas je samostatnÄ› vypoÄítaná promÄ›nná) +locales.deletelocale = Opravdu chcete smazat tento balíÄek národního prostÅ™edí? +locales.applytoall = Použít zmÄ›ny na vÅ¡echna národní prostÅ™edí +locales.addtoother = PÅ™idat do jiných lokalit +locales.rollback = Vrátit se k poslední aplikaci +locales.filter = Filtr vlastností +locales.searchname = Hledat jméno... +locales.searchvalue = Hledat hodnotu... +locales.searchlocale = Vyhledat národní prostÅ™edí... +locales.byname = Podle jména +locales.byvalue = Podle hodnoty +locales.showcorrect = Zobrazit vlastnosti, které jsou přítomné ve vÅ¡ech národních prostÅ™edích a mají vÅ¡ude jedineÄné hodnoty +locales.showmissing = Zobrazit vlastnosti, které v nÄ›kterých národních prostÅ™edích chybí +locales.showsame = Zobrazit vlastnosti, které mají stejné hodnoty v různých národních prostÅ™edích +locales.viewproperty = Zobrazit ve vÅ¡ech lokalitách +locales.viewing = Prohlížení nemovitosti "{0}" +locales.addicon = PÅ™idat ikonu width = Šířka: height = Výška: @@ -479,6 +649,7 @@ load = NaÄíst save = Uložit fps = FPS: {0} ping = Odezva: {0} ms +tps = TPS: {0} memory = Paměť: {0} MB memory2 = Paměť:\n {0} MB +\n {1} MB language.restart = Hru je tÅ™eba restartovat, aby se provedla zmÄ›na jazyka. @@ -497,21 +668,70 @@ requirement.core = ZniÄ nepřátelské jádro na mapÄ› {0} requirement.research = Vynalezni {0} requirement.produce = Vyrob {0} requirement.capture = Polap {0} +requirement.onplanet = Kontrolovat Sektor na {0} +requirement.onsector = PÅ™istát na Sektor: {0} launch.text = Vyslat -research.multiplayer = Jen hostitel hry může vynalézat nové technologie. map.multiplayer = Jen hostitel může prohlížet sektory. uncover = Odkrýt mapu configure = PÅ™izpůsobit vybavení +objective.research.name = Výzkum +objective.produce.name = Získat +objective.item.name = Získat VÄ›c +objective.coreitem.name = Jádrova VÄ›c +objective.buildcount.name = PoÄet Budov +objective.unitcount.name = PoÄet Jednotek +objective.destroyunits.name = ZniÄ Jednotky +objective.timer.name = ÄŒasovaÄ +objective.destroyblock.name = ZniÄit Kostku +objective.destroyblocks.name = ZniÄit Kostky +objective.destroycore.name = ZniÄit Jádro +objective.commandmode.name = Příkazovy Režim +objective.flag.name = Vlajka +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Tvar +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Pozadí +marker.outline = Outline +objective.research = [accent]Výzkum:\n[]{0}[lightgray]{1} +objective.produce = [accent]Zisk:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]ZniÄení:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]ZniÄení: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Zisk: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Obsah Jádra:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Postaveno: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]VytvoÅ™eno jednotek: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]ZniÄeno: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Nepřátelé se blíží [lightgray]{0}[] +objective.enemyescelating = [accent]Produkce nepřátel eskaluje [lightgray]{0}[] +objective.enemyairunits = [accent]ZaÄátek výroby nepřátelských leteckých jednotek [lightgray]{0}[] +objective.destroycore = [accent]ZniÄ nepřátelské Jádro +objective.command = [accent]Velitelské jednotky +objective.nuclearlaunch = [accent]âš  ZjiÅ¡tÄ›na nukleární bomba: [lightgray]{0} +announce.nuclearstrike = [red]âš  JADERNà ÚDER âš  loadout = NaÄtení -resources = Zdroje +resources = Zdroje +resources.max = Max bannedblocks = Zakázané bloky +unbannedblocks = Unbanned Blocks +objectives = Úkoly +bannedunits = Zakázané jednotky +unbannedunits = Unbanned Units +bannedunits.whitelist = Zakázané jednotky jako Whitelist +bannedblocks.whitelist = Zakázané bloky jako Whitelist addall = PÅ™idat vÅ¡e launch.from = Vysláno z: [accent]{0} +launch.capacity = Odpalovací kapacita: [accent]{0} launch.destination = Cíl: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Hodnota musí být Äíslo mezi 0 a {0}. add = PÅ™idat... -boss.health = Životy Strážce +guardian = Strážce connectfail = [scarlet]Nepovedlo se pÅ™ipojení k serveru:\n\n[accent]{0}[] error.unreachable = Server je nedostupný.\nJe IP adresa napsaná správnÄ› (XXX.XXX.XXX.XXX)? @@ -523,17 +743,23 @@ error.mapnotfound = Soubor s mapou nebyl nalezen! error.io = VstupnÄ›/výstupní (I/O) chyba sítÄ›. error.any = Neznámá chyba sítÄ›. error.bloom = Chyba inicializace filtru Bloom.\nTvé zařízení ho nejspíš nepodporuje. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Déšť -weather.snow.name = Sníh +weather.snowing.name = Sníh weather.sandstorm.name = PíseÄná ouÅ™e weather.sporestorm.name = Spórová bouÅ™e weather.fog.name = Mlha +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Nastavení.\n\nNepřítel na {0} byl poražen.\n[lightgray]Poslední sektor byl dobyt. +sectorlist = Sektory +sectorlist.attacked = {0} pod útokem sectors.unexplored = [lightgray]Neprozkoumáno sectors.resources = Zdroje: sectors.production = Výroba: -sectors.export = Export: +sectors.export = Exportovat: +sectors.import = Importovat: sectors.time = ÄŒas: sectors.threat = Ohrožení: sectors.wave = Vlna: @@ -541,30 +767,45 @@ sectors.stored = UskladnÄ›no: sectors.resume = PokraÄovat sectors.launch = Vyslat sectors.select = Vybrat +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]bez (slunce)[] +sectors.redirect = Redirect Launch Pads sectors.rename = PÅ™ejmenovat sektor sectors.enemybase = [scarlet]Nepřátelská základna sectors.vulnerable = [scarlet]Zranitelný sectors.underattack = [scarlet]Pod palbou! [accent]{0}% poÅ¡kozeno +sectors.underattack.nodamage = [scarlet]Neobsazen sectors.survives = [accent]PÅ™ežívá již {0} vln sectors.go = Jdi +sector.abandon = Opustit +sector.abandon.confirm = Jádro(a) tohoto sektoru se zniÄí.\nPokraÄovat? sector.curcapture = Sektor polapen sector.curlost = Sektor ztracen sector.missingresources = [scarlet]NedostateÄné zdroje v jádÅ™e sector.attacked = Sektor [accent]{0}[white] pod útokem! sector.lost = Sektor [accent]{0}[white] ztracen! :( -#note: chybÄ›jící mezera v řádce níže je zámÄ›rná :) -sector.captured = Sektor [accent]{0}[white]polapen! :) +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = ZmÄ›nit Ikonu +sector.noswitch.title = Nelze VymÄ›nit Sektor +sector.noswitch = Sektory nelze pÅ™epnut, pokud je stávající sektor pod útokem.\n\nSektor: [accent]{0}[] na [accent]{1}[] +sector.view = Prohlédnout Sektor threat.low = Nízké threat.medium = StÅ™ední threat.high = Velké threat.extreme = Extrémní threat.eradication = Vyhlazující +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication -planets = Planets +planets = Planety planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sol sector.impact0078.name = Dopad 0078 @@ -582,7 +823,19 @@ sector.fungalPass.name = Plísňový průsmyk sector.biomassFacility.name = Zařízení pro syntézu biomasy sector.windsweptIslands.name = VÄ›trné ostrovy sector.extractionOutpost.name = ExtrakÄní základna +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Planetární odpalovací terminál +sector.coastline.name = PobÅ™ežní Äára +sector.navalFortress.name = NámoÅ™ní pevnost +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = Optimální místo, kde znovu zaÄít. Nízký výskyt nepřátel. NÄ›kolik málo surovin.\nPosbírej co nejvíce olova a mÄ›di.\nBěž dál. sector.frozenForest.description = Dokonce až sem, blízko hor, se dokázaly spóry rozrůst. Mráz je vÅ¡ak nemůže zadržet navÄ›ky.\n\nPusÅ¥ se do práce za pomocí energie. Stav spalovací generátory. NauÄ se, jak používat opravovací věže. @@ -592,14 +845,79 @@ sector.ruinousShores.description = Za pustinou se nachází pobÅ™eží. Kdysi zd sector.stainedMountains.description = Dále ve vnitrozemí leží hory, dosud neposkvrnÄ›ny spórami.\nVytěž titan, kterým tato oblast oplývá. NauÄ se jej používat.\n\nPřítomnost nepřátelských jednotek je zde vÄ›tší. RadÅ¡i jim nedej moc Äasu na vyslání jejich nejsilnÄ›jších jednotech. sector.overgrowth.description = Tato pÅ™erostlá džungle se nachází blíže ke zdroji spór.\nNepřítel zde zbudoval pÅ™edsunutou hlídku. Stav jednotky Palcát a zniÄ s jejich pomocí jádro základny. sector.tarFields.description = Rozhraní produkÄní naftové oblasti mezi horami a pouÅ¡tí. Jedna z mála oblastí, kde se stále nachází dehet.\nAÄkoliv je oblast opuÅ¡tÄ›ná, stále se v jejím okolí nachází nebezpeÄné nepřátelské síly. Není radno je podcenit.\n\n[lightgray]Vyzkoumej technologii na zpracování nafty.[] -sector.desolateRift.description = ExtrémnÄ› nebezpeÄná mapa. Na úkor prostoru se zde nachází pÅ™ehrÅ¡el surovin. Vysoká pravdÄ›podobnost zniÄení. OpusÅ¥ tuto oblast co nejdříve to půjde. Nenech se zmást dlouhými prodlevami mezi vlnami nepřátel. +sector.desolateRift.description = ExtrémnÄ› nebezpeÄná mapa. Na úkor prostoru se zde nachází pÅ™ehrÅ¡el surovin. Vysoká pravdÄ›podobnost zniÄení. Postav vzduÅ¡nou a pozemní obranu co nejdříve to půjde. Nenech se zmást dlouhými prodlevami mezi vlnami nepřátel. sector.nuclearComplex.description = Bývalá továrna na zpracování thoria, dnes v troskách.\n[lightgray]Objev thorium a jeho Å¡iroké využití.[]\n\nNepřátelské jednotky se zde nacházejí v hojném poÄtu, a neustále prohledávají oblast. sector.fungalPass.description = PÅ™echodová oblast mezi vysokými horami a spórami nasycenou zemí. Nachází se zde malá průzkumná základna Tvého nepřítele.\nZniÄ ji.\nPoužij mechy Dýka a Slídil. ZniÄ obÄ› nepřátelské jádra. sector.biomassFacility.description = Prapůvod vÅ¡ech spór. Toto je zařízení, be kterém byly spóry vynalezeny a zpoÄátku u vyrábÄ›ny.\nVynalezni technologii, která se skrýbá uvnitÅ™. Kultivuj spóry k výrobÄ› paliva a plastů.\n\n[lightgray]Po vypnutí tohoto zařízení byly spóry vypuÅ¡tÄ›ny. V okolním ekosystému vÅ¡ak tomuto invazivnímu druhu nebylo nic schopné konkurovat. sector.windsweptIslands.description = Vzdálen od pevniny je tento Å™etízek ostrovů. Záznamy ukazují, že zde kdysi byly zařízení na výrobu [accent]Plastany[].\n\nPoraž nepřátelské námoÅ™ní jednotky. Vybuduj základnu na ostrovÄ›. Vynalezni továrny. sector.extractionOutpost.description = Vzdálená pevnost, postavená nepřítelem za úÄelem vysílání zdrojů do okolních sektorů.\n\nDoprava položek napÅ™Ã­Ä sektory je nezbytná pro lapení dalších sektorů. ZniÄ základnu. Vyzkoumej jejich Vysílací ploÅ¡iny. -sector.impact0078.description = Zde leží zbytky mezihvÄ›zdné lodi, která vstoupila d otohoto systému.\n\nZachraň z vraku vÅ¡e, co se dá. Vyzkoumej nepoÅ¡kozenou technologii. +sector.impact0078.description = Zde leží zbytky mezihvÄ›zdné lodi, která vstoupila do tohoto systému.\n\nZachraň z vraku vÅ¡e, co se dá. Vyzkoumej nepoÅ¡kozenou technologii. sector.planetaryTerminal.description = KoneÄný cíl.\n\nTato pobÅ™ežní základna obsahuje konstrukce schopné vyslat jádra na okolní planety. Je mimořádnÄ› dobÅ™e opevnÄ›na.\n\nVyrob námoÅ™ní jednotky. Odstraň nepřítele tak rychle, jak umíš. Vyzkoumej vysílací konstrukci. +sector.coastline.description = V této lokaci byly objeveny pozůstatky techniky námoÅ™ních jednotek. Odražte nepřátelské útoky, dobijte tento sektor a získejte technologii. +sector.navalFortress.description = Nepřítel si vybudoval základnu na odlehlém, přírodou opevnÄ›ném ostrovÄ›. ZniÄte tuto základnu. Získejte jejich pokroÄilou technologii námoÅ™ních plavidel a vyzkoumejte ji. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = Nástup +sector.aegis.name = Aegis +sector.lake.name = Jezero +sector.intersect.name = PrůseÄík +sector.atlas.name = Atlas +sector.split.name = RozdÄ›lení +sector.basin.name = Povodí +sector.marsh.name = MarÅ¡ +sector.peaks.name = Vrcholy +sector.ravine.name = Rokle +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = Pevnost +sector.crevice.name = Å tÄ›rbina +sector.siege.name = Obléhání +sector.crossroads.name = KÅ™ižovatka +sector.karst.name = Kras +sector.origin.name = Původ +sector.onset.description = Zahajte dobývání Erekiru. ShromáždÄ›te zdroje, vyrobte jednotky a zaÄnÄ›te zkoumat technologie. + +sector.aegis.description = Tento sektor obsahuje ložiska wolframu.\nVyzkoumej [accent]Nárazový vrták[] k vytěžení této suroviny, a zniÄ nepřátelskou základnu. +sector.lake.description = Struskové jezero v tomto sektoru znaÄnÄ› omezuje použitelné jednotky. Jedinou možností je vznášecí jednotka.\nVyzkoumej [accent]továrna na výrobu lodí[] a vyrob [accent]elude[] jednotku co nejdříve +sector.intersect.description = Podle průzkumů bude tento sektor brzy po pÅ™istání napaden z více stran.\nRychle vytvoÅ™te obranu a co nejdříve expandujte.\n[accent]Mech[] jednotky budou zapotÅ™ebí pro pÅ™ekroÄení teréu v oblasti. +sector.atlas.description = Tento sektor obsahuje rozmanitý terén a pro efektivní útok bude vyžadovat různé jednotky.\nPro pÅ™ekonání nÄ›kterých těžších nepřátelských základen zde mohou být nutné i vylepÅ¡ené jednotky.\nVyzkoumej [accent]Electrolyzér[] a [accent]PÅ™estavovaÄ tanků[]. +sector.split.description = Minimální přítomnost nepřátel v tomto sektoru je ideální pro testování nových dopravních technologií. +sector.basin.description = V tomto sektoru byla zjiÅ¡tÄ›na velká přítomnost nepřátel.\nRychle postavte jednotky a získejte nepřátelská jádra, abyste se prosadili. +sector.marsh.description = Tento sektor má hojnost arkycitu, ale má omezené průduchy.\nPostav [accent]Chemické spalovací komory[] k výrobÄ› energie. +sector.peaks.description = Hornatý terén v tomto sektoru Äiní vÄ›tÅ¡inu jednotek nepoužitelnými. Bude zapotÅ™ebí létajících jednotek.\nDejte si pozor na nepřátelská protiletecká zařízení. NÄ›která z tÄ›chto zařízení je možné vyÅ™adit zaměřením jejich podpůrných budov. +sector.ravine.description = V sektoru nebyla zjiÅ¡tÄ›na žádná nepřátelská jádra, aÄkoli se jedná o důležitou dopravní trasu pro nepřítele. OÄekávejte rozmanitost nepřátelských sil.\nVyrob [accent]rázová slitina[]. Postav [accent]Aflict[] věže. +sector.caldera-erekir.description = Zdroje zjiÅ¡tÄ›né v tomto sektoru jsou rozptýleny na nÄ›kolika ostrovech. \nVyzkoumejte a nasaÄte dopravu pomocí dronů. +sector.stronghold.description = Rozsáhlé nepřátelské ležení v tomto sektoru stÅ™eží významná ložiska [accent]thoria[].\nPoužijte ho na vývoj jednotek a věží vyšší úrovnÄ›. +sector.crevice.description = Nepřítel vyÅ¡le ostré útoÄné síly, aby zniÄily vaÅ¡i základnu v tomto sektoru.\nVývoj [accent]karbid[] a [accent]Pyrolytický generátor[] může být nezbytný pro pÅ™ežití. +sector.siege.description = V tomto sektoru se nacházejí dva paralelní kaňony, které si vynutí útok dvÄ›ma smÄ›ry.\nVyzkoumej [accent]kyan[] pro získání schopnosti vytvářet jeÅ¡tÄ› silnÄ›jší tankové jednotky.\nPozor: byly detekovány nepřátelské rakety dlouhého doletu. Rakety mohou být sestÅ™eleny pÅ™ed dopadem. +sector.crossroads.description = Nepřátelské základny v tomto sektoru jsou rozmístÄ›ny v různém terénu. Výzkumem různých jednotek se jim pÅ™izpůsobíte.\nNÄ›které základny jsou navíc chránÄ›ny Å¡títy. ZjistÄ›te, jak jsou napájeny. +sector.karst.description = Tento sektor je bohatý na zdroje, ale jakmile se zde objeví nové jádro, bude napaden nepřítelem.\nVyužijte zdroje a vyzkoumej [accent]fázová tkanina[]. +sector.origin.description = Poslední sektor s výrazným výskytem nepřátel.\nŽádné pravdÄ›podobné možnosti výzkumu nezbývají - soustÅ™eÄte se výhradnÄ› na zniÄení vÅ¡ech nepřátelských jader. + +status.burning.name = Hořící +status.freezing.name = Mrazící +status.wet.name = Vlhký +status.muddy.name = Zablácený +status.melting.name = Tavící +status.sapped.name = Vymáchaný +status.electrified.name = Elektrizovaný +status.spore-slowed.name = Výtrusem Zpomalený +status.tarred.name = Dehtovaný +status.overdrive.name = Posílený +status.overclock.name = PÅ™etaktovaný +status.shocked.name = Å okovaný +status.blasted.name = Vybouchlý +status.unmoving.name = Nehybný +status.boss.name = Strážce settings.language = Jazyk settings.data = Data hry @@ -622,6 +940,7 @@ settings.clearcampaignsaves.confirm = Jsi si jist, že opravdu chceÅ¡ vymazat v paused = [accent]< Pozastaveno >[] clear = VyÄistit banned = [scarlet]Zakázán[] +unsupported.environment = [scarlet]Nepodporované ProstÅ™edí yes = Ano no = Ne info.title = Informace @@ -629,14 +948,18 @@ error.title = [scarlet]Objevila se chyba[] error.crashtitle = Objevila se chyba unit.nobuild = [scarlet]Jednotka nemůže stavÄ›t lastaccessed = [lightgray]Naposledy použil: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]???[] +stat.showinmap = stat.description = ÚÄel stat.input = Vstup stat.output = Výstup +stat.maxefficiency = Max Efficiency stat.booster = PosilovaÄ stat.tiles = Vyžadované dlaždice stat.affinities = Synergie +stat.opposites = Protiklady stat.powercapacity = Kapacita energie stat.powershot = Energie na 1 výstÅ™el stat.damage = PoÅ¡kození @@ -659,8 +982,11 @@ stat.memorycapacity = Kapacita pamÄ›ti stat.basepowergeneration = Základní generování energie stat.productiontime = ÄŒas produkce stat.repairtime = ÄŒas do úplné opravy +stat.repairspeed = Rychlost Opravy stat.weapons = ZbranÄ› stat.bullet = StÅ™ela +stat.moduletier = Úroveň Modulu +stat.unittype = Typ Jednotky stat.speedincrease = Zvýšení rychlosti stat.range = Dosah stat.drilltier = Lze těžit @@ -668,6 +994,7 @@ stat.drillspeed = Základní rychlost vrtu stat.boosteffect = ÚÄinek posílení stat.maxunits = Nejvýše aktivních jednotek stat.health = Životy +stat.armor = Armor stat.buildtime = ÄŒas konstrukce stat.maxconsecutive = Nejvýše po sobÄ› stat.buildcost = Cena konstrukce @@ -683,6 +1010,7 @@ stat.lightningchance = PravdÄ›podobnost blesku stat.lightningdamage = PoÅ¡kození bleskem stat.flammability = HoÅ™lavost stat.radioactivity = Radioaktivita +stat.charge = Nabití stat.heatcapacity = Tepelná kapacita stat.viscosity = Vazkost stat.temperature = Teplota @@ -691,24 +1019,78 @@ stat.buildspeed = Rychlost stavÄ›ní stat.minespeed = Rychlost těžení stat.minetier = Těžící úroveň stat.payloadcapacity = Kapacita pro náklad -stat.commandlimit = Limit ovládání stat.abilities = Schopnosti stat.canboost = Umí posilovat stat.flying = Létající +stat.ammouse = SpotÅ™eba Munice +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = NásobiÄ PoÅ¡kození +stat.healthmultiplier = NásobiÄ Å½ivotů +stat.speedmultiplier = NásobiÄ Rychlostí +stat.reloadmultiplier = NásobiÄ PÅ™ebití +stat.buildspeedmultiplier = NasobiÄ Rychlostí Stavby +stat.reactive = Reaguje +stat.immunities = Imunity +stat.healing = LéÄí se +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Silové pole +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Opravit pole +ability.repairfield.description = Repairs nearby units ability.statusfield = Stav pole -ability.unitspawn = {0} továrna +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = továrna +ability.unitspawn.description = Constructs units ability.shieldregenfield = SilovÄ› opravné pole +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Pohybující se blesk +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Å títovy Oblouk +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Pole potlaÄení regenerace +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energetické pole +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies + +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Pouze Ukládání do Jádra je povoleno bar.drilltierreq = Je vyžadován lepší vrt +bar.nobatterypower = Insufficieny Battery Power bar.noresources = ChybÄ›jí zdroje bar.corereq = Je vyžadováno základní jádro +bar.corefloor = Je vyžadována pozice základní zóny +bar.cargounitcap = Strop nákladové jednotky dosaženo bar.drillspeed = Rychlost vrtu: {0}/s bar.pumpspeed = Rychlost pumpy: {0}/s bar.efficiency = ÚÄinnost: {0}% +bar.boost = Posílení: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energie: {0} bar.powerstored = UskladnÄ›no: {0}/{1} bar.poweramount = Energie celkem: {0} @@ -717,51 +1099,69 @@ bar.powerlines = Spojení: {0}/{1} bar.items = PÅ™edmÄ›ty: {0} bar.capacity = Kapacita: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[jednotka je vypnuta] bar.liquid = Chlazení bar.heat = Teplo +bar.cooldown = Cooldown +bar.instability = Nestabilita +bar.heatamount = Teplo: {0} +bar.heatpercent = Teplo: {0} ({1}%) bar.power = Energie bar.progress = Konstrukce v průbÄ›hu +bar.loadprogress = Pokrok +bar.launchcooldown = Launch Cooldown bar.input = Vstup bar.output = Výstup +bar.strength = [stat]{0}[lightgray]x síla units.processorcontrol = [lightgray]Procesor je ovládán[] bullet.damage = [stat]{0}[lightgray] poÅ¡kození[] bullet.splashdamage = [stat]{0}[lightgray] ploÅ¡ného poÅ¡kození ~[stat] {1}[lightgray] dlaždic bullet.incendiary = [stat]zápalný -bullet.sapping = [stat]oslabující bullet.homing = [stat]samonavádÄ›cí -bullet.shock = [stat]Å¡okový -bullet.frag = [stat]trhavý +bullet.armorpierce = [stat]proražení brnÄ›ní +bullet.maxdamagefraction = [stat]{0}%[lightgray] limit poÅ¡kození +bullet.suppression = [stat]{0} sec[lightgray] potlaÄení opravy ~ [stat]{1}[lightgray] kostek +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag stÅ™el: +bullet.lightning = [stat]{0}[lightgray]x jiskÅ™ení ~ [stat]{1}[lightgray] poÅ¡kození +bullet.buildingdamage = [stat]{0}%[lightgray] poÅ¡kození budov +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] odhození[] bullet.pierce = [stat]{0}[lightgray]x průrazné[] bullet.infinitepierce = [stat]průrazné[] bullet.healpercent = [stat]{0}[lightgray]% opravující -bullet.freezing = [stat]zmrazující[] -bullet.tarred = [stat]dehtující[] +bullet.healamount = [stat]{0}[lightgray] přímá oprava bullet.multiplier = [stat]{0}[lightgray]x více stÅ™el[] bullet.reload = [stat]{0}[lightgray]x rychlost stÅ™elby[] +bullet.range = [stat]{0}[lightgray] kostek dosah +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = bloky unit.blockssquared = bloky² unit.powersecond = energie/sekunda +unit.tilessecond = dlaždic/sekundu unit.liquidsecond = kapalin/sekundu unit.itemssecond = pÅ™edmÄ›tů/sekundu unit.liquidunits = jednotek kapalin unit.powerunits = jednotek energie +unit.heatunits = jednotek tepla unit.degrees = úhly unit.seconds = sekundy unit.minutes = minuty unit.persecond = /s unit.perminute = /min unit.timesspeed = x vÄ›tší rychlost +unit.multiplier = x unit.percent = % unit.shieldhealth = zdraví Å¡títu unit.items = pÅ™edmÄ›ty unit.thousands = tis unit.millions = mio unit.billions = mld +unit.shots = shots +unit.pershot = /stÅ™ela category.purpose = ÚÄel category.general = VÅ¡eobecné category.power = Energie @@ -770,17 +1170,23 @@ category.items = PÅ™edmÄ›ty category.crafting = Vstup/Výstup category.function = Funkce category.optional = Volitelné vylepÅ¡ení +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = PÅ™eskoÄit Animaci Odpalu/Přístání Jádra setting.landscape.name = Uzamknout krajinu setting.shadows.name = Stíny setting.blockreplace.name = Automatický návrh bloků setting.linear.name = Lineární filtrování setting.hints.name = Rady a tipy -setting.flow.name = Zobrazit rychlost toku zdroje [scarlet](experimentální)[] +setting.logichints.name = Logic NápovÄ›dy setting.backgroundpause.name = Pozastavit v pozadí setting.buildautopause.name = Automaticky pozastavit stavÄ›ní +setting.doubletapmine.name = Dvojklik pro Těžbu +setting.commandmodehold.name = Držet pro Příkazový Režim +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Vypnout Modifikace PÅ™i Pádovém SpuÅ¡tÄ›ní setting.animatedwater.name = Animované povrchy setting.animatedshields.name = Animované Å¡títy -setting.antialias.name = Použít antialias [lightgray](vyžaduje restart)[] setting.playerindicators.name = Indikátor pro hráÄe setting.indicators.name = Indikátor pro nepřátele setting.autotarget.name = Automaticky zaměřovat @@ -790,17 +1196,14 @@ setting.fpscap.name = Strop FPS (snímků/s) setting.fpscap.none = Žádný setting.fpscap.text = {0} FPS setting.uiscale.name = Å kálování uživatelského rozhraní[lightgray] (je vyžadován restart)[] +setting.uiscale.description = Pro aplikování zmÄ›n, je potÅ™eba restart. setting.swapdiagonal.name = Vždy pokládat úhlopříÄnÄ› -setting.difficulty.training = Zácviková -setting.difficulty.easy = Lehká -setting.difficulty.normal = Normální -setting.difficulty.hard = Těžká -setting.difficulty.insane = Šílená -setting.difficulty.name = Obtížnost: setting.screenshake.name = ChvÄ›ní obrazovky +setting.bloomintensity.name = Intenzita Bloom +setting.bloomblur.name = Rozmazání Bloom setting.effects.name = Zobrazit efekty setting.destroyedblocks.name = Zobrazit zniÄené bloky -setting.blockstatus.name = Display Block Status +setting.blockstatus.name = Zobrazit Stav Bloku setting.conveyorpathfinding.name = Hledat cestu pÅ™i umisÅ¥ování pásu setting.sensitivity.name = Citlivost ovladaÄe setting.saveinterval.name = Interval automatického ukládání @@ -808,28 +1211,40 @@ setting.seconds = {0} sekund setting.milliseconds = {0} milisekund setting.fullscreen.name = Celá obrazovka setting.borderlesswindow.name = Bezokrajové okno [lightgray](může výt vyžadován restart) +setting.borderlesswindow.name.windows = Celá obrazovka bez okrajů +setting.borderlesswindow.description = Pro aplikování zmÄ›n, je potÅ™eba restart. setting.fps.name = Ukázat FPS a ping +setting.console.name = Povolit Konzoli setting.smoothcamera.name = Plynulá kamera setting.vsync.name = Vertikální synchronizace setting.pixelate.name = Rozpixlovat setting.minimap.name = Ukázat mapiÄku setting.coreitems.name = Ukázat položky jádra setting.position.name = Ukázat pozici hráÄe +setting.mouseposition.name = Zobrazit Pozici MyÅ¡i setting.musicvol.name = Hlasitost hudby setting.atmosphere.name = Ukázat atmosféru planety +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Hlasitost prostÅ™edí setting.mutemusic.name = ZtiÅ¡it hudbu setting.sfxvol.name = Hlasitost efektů setting.mutesound.name = ZtiÅ¡it zvuk setting.crashreport.name = Poslat anonymní hlášení o spadnutí Mindustry +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Automaticky ukládat hru -setting.publichost.name = VeÅ™ejná viditelnost hry +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Nejvyšší poÄet hráÄů setting.chatopacity.name = Průsvitnost kanálu zpráv -setting.lasersopacity.name = Průsvitnost energetického laseru +setting.lasersopacity.name = Průsvitnost energetického laseru +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Průsvitnost pÅ™emostÄ›ní setting.playerchat.name = Zobrazit bublinu se zprávami hráÄe -public.confirm = ChceÅ¡ Tvoji hru zpřístupnit veÅ™ejnosti?\n[accent]Kdokoli se bude moci pÅ™ipojit ke tvé hÅ™e.[]\n[lightgray]Toto se dá pozdÄ›ji zmÄ›nit v nabídce Volby->Hra->VeÅ™ejná viditelnost hry. +setting.showweather.name = Zobrazit Grafiku PoÄasí +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = PÅ™izpůsobte rozhraní zobrazení zářezu +setting.macnotch.description = Pro aplikování zmÄ›n, je potÅ™eba restart +steam.friendsonly = Přátele Pouze +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Poznámka: nevydané verze her nemůžou být veÅ™ejné. uiscale.reset = Å kálování uživatelskho rozhraní se zmÄ›nilo.\nZmáÄkni "OK", abys potvrdil toto nastavení.\n[scarlet]Návrat k původním hodnotám probÄ›hne za [accent]{0}[] vteÅ™in...[] uiscale.cancel = UkonÄit a odejít @@ -838,12 +1253,9 @@ keybind.title = ZmÄ›nit klávesy keybinds.mobile = [scarlet]VÄ›tÅ¡ina kláves nefunguje v mobilní verzi hry. Je podporován jen základní pohyb.[] category.general.name = VÅ¡eobecné category.view.name = Pohled +category.command.name = Unit Command category.multiplayer.name = Hra více hráÄů category.blocks.name = VýbÄ›r bloků -command.attack = Útok -command.rally = ShromáždÄ›ní -command.retreat = Ústup -command.idle = NeÄinný placement.blockselectkeys = \n[lightgray]Klávesa:[] [{0}, keybind.respawn.name = Znovuzrození keybind.control.name = Ovládací jednotka @@ -858,6 +1270,27 @@ keybind.move_y.name = Pohyb svisle keybind.mouse_move.name = Následovat myÅ¡ keybind.pan.name = Následovat kameru keybind.boost.name = Posílení +keybind.command_mode.name = Příkazový Režim +keybind.command_queue.name = Fronta příkazů jednotky +keybind.create_control_group.name = VytvoÅ™it kontrolní skupinu +keybind.cancel_orders.name = ZruÅ¡it příkaz +keybind.unit_stance_shoot.name = Postoj jednotky: Střílejte +keybind.unit_stance_hold_fire.name = Postoj jednotky: Zastavit palbu +keybind.unit_stance_pursue_target.name = Postoj jednotky: Pronásleduj cíl +keybind.unit_stance_patrol.name = Postoj jednotky: Hlídej +keybind.unit_stance_ram.name = Postoj jednotky: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = PÅ™estavÄ›t Region keybind.schematic_select.name = Vybrat oblast keybind.schematic_menu.name = Nabídka Å¡ablon keybind.schematic_flip_x.name = PÅ™eklopit Å¡ablona podle svislé osy @@ -883,10 +1316,11 @@ keybind.select.name = Vybrat/Střílet keybind.diagonal_placement.name = UmisÅ¥ovat úhlopříÄnÄ› keybind.pick.name = Vybrat blok keybind.break_block.name = Rozbít blok +keybind.select_all_units.name = Vybrat VÅ¡echny Jednotky +keybind.select_all_unit_factories.name = Vybrat VÅ¡echny Továrny Jednotek keybind.deselect.name = OdznaÄit keybind.pickupCargo.name = Vyzvednout náklad keybind.dropCargo.name = Položit náklad -keybind.command.name = Velet keybind.shoot.name = Střílet keybind.zoom.name = PÅ™iblížení keybind.menu.name = Hlavní nabídka @@ -895,6 +1329,7 @@ keybind.pause_building.name = Pozastavit nebo spustit stavÄ›ní keybind.minimap.name = MapiÄka keybind.planet_map.name = Planetární mapa keybind.research.name = Výzkum +keybind.block_info.name = Info o Bloku keybind.chat.name = Kanál zpráv keybind.player_list.name = Seznam hráÄů keybind.console.name = Terminál @@ -904,6 +1339,7 @@ keybind.toggle_menus.name = PÅ™epnout zobrazení nabídek keybind.chat_history_prev.name = Pohyb v historii zpráv zpÄ›t keybind.chat_history_next.name = Pohyb v historii zpráv dopÅ™edu keybind.chat_scroll.name = Rolování kanálu zpráv +keybind.chat_mode.name = ZmÄ›nit Chat režim keybind.drop_unit.name = Zahodit jednotku keybind.zoom_minimap.name = PÅ™iblížit mapu mode.help.title = Popis režimů @@ -917,48 +1353,100 @@ mode.pvp.description = Bojuj proti ostatním hráÄům v lokální síti.\n[gray mode.attack.name = Útok mode.attack.description = ZniÄ nepřátelskou základnu.\n[gray]Vyžaduje přítomnost Äerveného jádra na mapÄ›.[] mode.custom = Vlastní pravidla +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Schovat Zakázané Kostky rules.infiniteresources = NeomezenÄ› surovin +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Výbuch reaktoru +rules.coreincinerates = Jádro Spaluje NadbyteÄné Suroviny +rules.disableworldprocessors = Zakázat SvÄ›tové Procesory rules.schematic = Å ablony povoleny rules.wavetimer = ÄŒasovaÄ vln +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Vlny +rules.airUseSpawns = Air units use spawn points rules.attack = Režim útoku -rules.buildai = UmÄ›lá inteligence staví +rules.buildai = UmÄ›lá AI staví +rules.buildaitier = Úroveň AI stavitele +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min velikost skupiny +rules.rtsmaxsquadsize = Max velikost skupiny +rules.rtsminattackweight = Min váha útoku +rules.cleanupdeadteams = VyÄistit Budovy Poražených Týmů (PvP) +rules.corecapture = Dobýt Jádro Po Jeho ZniÄení +rules.polygoncoreprotection = Polygonální Ochrana Jádra +rules.placerangecheck = Dosah stavÄ›ní rules.enemyCheat = NeomezenÄ› surovin pro umÄ›lou inteligenci rules.blockhealthmultiplier = Násobek zdraví bloků rules.blockdamagemultiplier = Násobek poÅ¡kození bloků rules.unitbuildspeedmultiplier = Násobek rychlosti výroby jednotek +rules.unitcostmultiplier = Násobek ceny jednotek rules.unithealthmultiplier = Násobek zdraví jednotek rules.unitdamagemultiplier = Násobek poÅ¡kození jednotkami +rules.unitcrashdamagemultiplier = Násobek poÅ¡kození pÅ™i nárazu jednotky +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Násobek Solární Energie +rules.unitcapvariable = Jádra Zvýšujou Maximum PoÄtu Jednotek +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Základní Maximum PoÄtu Jednotek +rules.limitarea = Limit Map Area rules.enemycorebuildradius = PolomÄ›r, ve kterém se okolo nepřátelského jádra nesmí stavÄ›t: [lightgray](dlaždic)[] +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = ÄŒas rozestupu mezi vlnami: [lightgray](vteÅ™in)[] +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Násobek ceny stavÄ›ní rules.buildspeedmultiplier = Násobek rychlosti stavÄ›ní rules.deconstructrefundmultiplier = Násobek vratky pÅ™i rozebrání rules.waitForWaveToEnd = Vlny Äekají na nepřátele +rules.wavelimit = Mapa konÄí po vlnÄ› rules.dropzoneradius = PolomÄ›r oblasti pro vylíhnutí: [lightgray](dlaždic)[] rules.unitammo = Jednotky vyžadují munici +rules.enemyteam = Nepřátelský Tým +rules.playerteam = HráÄský Team rules.title.waves = Vlny rules.title.resourcesbuilding = Suroviny a stavÄ›ní rules.title.enemy = Nepřátelé rules.title.unit = Jednotky rules.title.experimental = Experimentální rules.title.environment = Environmentální +rules.title.teams = Týmy +rules.title.planet = Planeta rules.lighting = OsvÄ›tlení -rules.enemyLights = SvÄ›tla nepřátel +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = VýstÅ™el +rules.anyenv = rules.explosions = VýbuÅ¡né poÅ¡kození bloku/jednotky rules.ambientlight = SvÄ›tlo prostÅ™edí rules.weather = PoÄasí rules.weather.frequency = ÄŒetnost: +rules.weather.always = Vždy rules.weather.duration = Trvání: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = PÅ™edmÄ›ty content.liquid.name = Kapaliny content.unit.name = Jednotky content.block.name = Bloky +content.status.name = Stavové Efekty content.sector.name = Sektory +content.team.name = Factions +wallore = (Wall) item.copper.name = MÄ›Ä item.lead.name = Olovo @@ -976,53 +1464,94 @@ item.blast-compound.name = VýbuÅ¡nina item.pyratite.name = Pyratit item.metaglass.name = Metasklo item.scrap.name = Å rot +item.fissile-matter.name = Å tÄ›pná Hmota +item.beryllium.name = Berylium +item.tungsten.name = Wolfram +item.oxide.name = Oxid +item.carbide.name = Karbid +item.dormant-cyst.name = Dormant Cyst + liquid.water.name = Voda liquid.slag.name = Struska liquid.oil.name = Nafta liquid.cryofluid.name = Chladící kapalina +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arkycit +liquid.gallium.name = Gálium +liquid.ozone.name = Ozón +liquid.hydrogen.name = Vodík +liquid.nitrogen.name = Dusík +liquid.cyanogen.name = Kyanogen unit.dagger.name = Dýka unit.mace.name = Palcát unit.fortress.name = Pevnost -unit.nova.name = Nova +unit.nova.name = Bratr unit.pulsar.name = Pulzar unit.quasar.name = Kvasar unit.crawler.name = Slídil unit.atrax.name = Atrax -unit.spiroct.name = Spirokt -unit.arkyid.name = Arkyid -unit.toxopid.name = Toxopid -unit.flare.name = Záře -unit.horizon.name = Horizont -unit.zenith.name = Zenit -unit.antumbra.name = Antumbra -unit.eclipse.name = ZatmÄ›ní +unit.spiroct.name = Chirurg +unit.arkyid.name = Arkyd +unit.toxopid.name = Toxo +unit.flare.name = Sojka +unit.horizon.name = Drozd +unit.zenith.name = Racek +unit.antumbra.name = Volavka +unit.eclipse.name = Sup unit.mono.name = Mono unit.poly.name = Poly unit.mega.name = Mega unit.quad.name = Tetra unit.oct.name = Hexo -unit.risso.name = Risso -unit.minke.name = Minke -unit.bryde.name = Bryde -unit.sei.name = Sei -unit.omura.name = Omura +unit.risso.name = Vor +unit.minke.name = MÄ›lÄina +unit.bryde.name = BÅ™eÄka +unit.sei.name = Vodník +unit.omura.name = KÅ™ižník +unit.retusa.name = Ryba +unit.oxynoe.name = Okoun +unit.cyerce.name = Candát +unit.aegires.name = Sumec +unit.navanax.name = Vorvaň unit.alpha.name = Alfa unit.beta.name = Beta unit.gamma.name = Gama unit.scepter.name = Žezlo -unit.reign.name = Panovník +unit.reign.name = Vůdce unit.vela.name = Vela unit.corvus.name = Havran +unit.stell.name = HÅ™ebík +unit.locus.name = Å roub +unit.precept.name = Kruťák +unit.vanquish.name = Vágus +unit.conquer.name = Dobyvatel +unit.merui.name = Merlin +unit.cleroi.name = ÄŒarodÄ›j +unit.anthicus.name = DarmodÄ›j +unit.tecta.name = TvrÄák +unit.collaris.name = Přísňák +unit.elude.name = Lehátko +unit.avert.name = FrÄák +unit.obviate.name = Podkova +unit.quell.name = Kněžna +unit.disrupt.name = Zabiják +unit.evoke.name = Evoker +unit.incite.name = Radiátor +unit.emanate.name = Eman +unit.manifold.name = Manifold +unit.assembly-drone.name = Montážní Dron +unit.latum.name = Latum +unit.renale.name = Renale -block.resupply-point.name = Zásobovací místo block.parallax.name = Paralaxa block.cliff.name = Útes block.sand-boulder.name = Pískovec block.basalt-boulder.name = ÄŒediÄový balvan block.grass.name = Tráva -block.slag.name = Struska -block.space.name = Vesmír +block.molten-slag.name = Struska +block.pooled-cryofluid.name = Chladící kapalina +block.space.name = Vesmír block.salt.name = Sůl block.salt-wall.name = Solné skály block.pebbles.name = Oblázky @@ -1049,24 +1578,28 @@ block.graphite-press.name = Lis na grafit block.multi-press.name = VÅ¡estranný lis block.constructing = {0} [lightgray](ve výstavbÄ›)[] block.spawn.name = Nepřátelská líheň +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Jádro: OdÅ¡tÄ›pek block.core-foundation.name = Jádro: Základ block.core-nucleus.name = Jádro: Atom -block.deepwater.name = Hluboká voda -block.water.name = Voda +block.deep-water.name = Hluboká voda +block.shallow-water.name = Voda block.tainted-water.name = ZamoÅ™ená voda +block.deep-tainted-water.name = Hluboká ZamoÅ™ená Voda block.darksand-tainted-water.name = ZamoÅ™ená voda s Äerným pískem block.tar.name = Dehet block.stone.name = Kámen -block.sand.name = Písek +block.sand-floor.name = Písek block.darksand.name = ÄŒerný písek block.ice.name = Led block.snow.name = Sníh -block.craters.name = Krátery +block.crater-stone.name = Krátery block.sand-water.name = Voda s pískem block.darksand-water.name = Voda s Äerným pískem block.char.name = DÅ™evÄ›né uhlí block.dacite.name = Dacit +block.rhyolite.name = Ryolit block.dacite-wall.name = StÄ›na dacitu block.dacite-boulder.name = Dacitový kámen block.ice-snow.name = Zasněžený led @@ -1084,6 +1617,7 @@ block.spore-cluster.name = Shluk spór block.metal-floor.name = Kovový povrch 1 block.metal-floor-2.name = Kovový povrch 2 block.metal-floor-3.name = Kovový povrch 3 +block.metal-floor-4.name = Kovový povrch 4 block.metal-floor-5.name = Kovový povrch 4 block.metal-floor-damaged.name = PoÅ¡kozený kovový povrch block.dark-panel-1.name = Tmavá deska 1 @@ -1123,8 +1657,10 @@ block.distributor.name = RozdÄ›lovaÄ block.sorter.name = TřídiÄka block.inverted-sorter.name = Obrácená třídiÄka block.message.name = Zpráva +block.reinforced-message.name = Posílená Zpráva +block.world-message.name = SvÄ›tová Zpráva +block.world-switch.name = World Switch block.illuminator.name = OsvÄ›tlovaÄ -block.illuminator.description = Malý, kompaktní, konfigurovatelný zdroj svÄ›tla. Vyžaduje pro svoje fungování energii. block.overflow-gate.name = Brána s pÅ™epadem block.underflow-gate.name = Brána s podtokem block.silicon-smelter.name = KÅ™emíková huÅ¥ @@ -1175,20 +1711,22 @@ block.solar-panel.name = Solární panel block.solar-panel-large.name = Velký solární panel block.oil-extractor.name = Vrt na naftu block.repair-point.name = Opravovací bod +block.repair-turret.name = Opravovací věž block.pulse-conduit.name = Pulzní potrubí block.plated-conduit.name = Plátované potrubí block.phase-conduit.name = Fázové potrubí block.liquid-router.name = SmÄ›rovaÄ kapalin block.liquid-tank.name = Nádrž na kapaliny +block.liquid-container.name = Nádoba na kapaliny block.liquid-junction.name = KÅ™ižovatka kapalin block.bridge-conduit.name = PÅ™emostÄ›ní potrubí block.rotary-pump.name = RotaÄní Äerpadlo block.thorium-reactor.name = Thoriový reaktor block.mass-driver.name = Hromadný pÅ™enaÅ¡eÄ block.blast-drill.name = TlakovzduÅ¡ný vrt -block.thermal-pump.name = Tepelné Äerpadlo +block.impulse-pump.name = Tepelné Äerpadlo block.thermal-generator.name = Tepelný generátor -block.alloy-smelter.name = Slitinová huÅ¥ +block.surge-smelter.name = Slitinová huÅ¥ block.mender.name = Opravář block.mend-projector.name = Opravný projektor block.surge-wall.name = Rázová stÄ›na @@ -1205,9 +1743,9 @@ block.meltdown.name = RozpékaÄ block.foreshadow.name = Znamení osudu block.container.name = Kontejnér block.launch-pad.name = Vysílací ploÅ¡ina -block.launch-pad-large.name = Velká vysílací ploÅ¡ina +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Úsek -block.command-center.name = Velín block.ground-factory.name = Pozemní továrna block.air-factory.name = Letecká továrna block.naval-factory.name = NámoÅ™ní továrna @@ -1217,14 +1755,180 @@ block.exponential-reconstructor.name = Exponenciální pÅ™estavbovaÄ block.tetrative-reconstructor.name = Mocninný pÅ™estavbovaÄ block.payload-conveyor.name = Dopravník nákladu block.payload-router.name = SměřovaÄ nákladu +block.duct.name = Potrubí +block.duct-router.name = Potrubní SmÄ›rovaÄ +block.duct-bridge.name = Potrubní Most +block.large-payload-mass-driver.name = Velká Nákladní Transportní Věž +block.payload-void.name = ÄŒerná díra na náklad +block.payload-source.name = Zdroj nákladů block.disassembler.name = RozebíraÄ block.silicon-crucible.name = Tavicí tyglík pro kÅ™emík -block.overdrive-dome.name = Velká urychlující kupole -#experimental, may be removed -block.block-forge.name = Výheň bloků -block.block-loader.name = NakladaÄ bloků -block.block-unloader.name = VykladaÄ bloků +block.overdrive-dome.name = Velká urychlující kupole block.interplanetary-accelerator.name = Meziplanetární urychlovaÄ +block.constructor.name = Konstruktor +block.constructor.description = Vyrábí konstrukce až do velikosti dlaždic 2x2. +block.large-constructor.name = Velký Konstruktor +block.large-constructor.description = Vyrábí konstrukce až do velikosti dlaždic 4x4. +block.deconstructor.name = Dekonstruktor +block.deconstructor.description = Dekonstruuje struktury a jednotky. Vrací 100% zdrojů. +block.payload-loader.name = Nákladový NakládaÄ +block.payload-loader.description = Nakládá kapaliny a vÄ›ci z bloků. +block.payload-unloader.name = Nákladový VykládaÄ +block.payload-unloader.description = Vykládá kapaliny a vÄ›ci z bloků. +block.heat-source.name = Zdroj Tepla +block.heat-source.description = 1x1 blok, který dává virtuálnÄ› nÄ›koneÄné teplo. +block.empty.name = Prázdné +block.rhyolite-crater.name = Ryolitní Kráter +block.rough-rhyolite.name = Hrubý Ryolit +block.regolith.name = Regolit +block.yellow-stone.name = Žlutý Kámen +block.carbon-stone.name = Krabonový Kámen +block.ferric-stone.name = Ferric kámen +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic kámen +block.crystalline-stone.name = Crystalline kámen +block.crystal-floor.name = KÅ™išťalová Zem +block.yellow-stone-plates.name = Žluté Kamenné Pláty +block.red-stone.name = ÄŒervený Kámen +block.dense-red-stone.name = Hustý ÄŒervený Kámen +block.red-ice.name = ÄŒervený Led +block.arkycite-floor.name = Arkycite podlaha +block.arkyic-stone.name = Arkyic kámen +block.rhyolite-vent.name = Rhyolite díra +block.carbon-vent.name = Carbon díra +block.arkyic-vent.name = Arkyic díra +block.yellow-stone-vent.name = Yellow Stone díra +block.red-stone-vent.name = Red Stone díra +block.crystalline-vent.name = Crystalline díra +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Jádrová Zona +block.regolith-wall.name = Regolith zeÄ +block.yellow-stone-wall.name = Yellow Stone zeÄ +block.rhyolite-wall.name = Rhyolite zeÄ +block.carbon-wall.name = Krabonová zeÄ +block.ferric-stone-wall.name = Ferric Stone zeÄ +block.beryllic-stone-wall.name = Beryllic Stone zeÄ +block.arkyic-wall.name = Arkyic zeÄ +block.crystalline-stone-wall.name = Crystalline Stone zeÄ +block.red-ice-wall.name = ÄŒervená Ledová ZeÄ +block.red-stone-wall.name = ÄŒervená Kamenná ZeÄ +block.red-diamond-wall.name = ÄŒervená Diamantová ZeÄ +block.redweed.name = Redweed +block.pur-bush.name = Pur kÅ™oví +block.yellowcoral.name = Žlutý Korál +block.carbon-boulder.name = Carbon balvan +block.ferric-boulder.name = Ferric balvan +block.beryllic-boulder.name = Beryllic balvan +block.yellow-stone-boulder.name = Yellow Stone balvan +block.arkyic-boulder.name = Arkyic balvan +block.crystal-cluster.name = Crystal shluk +block.vibrant-crystal-cluster.name = Vibrant Crystal shluk +block.crystal-blocks.name = KÅ™išťálové Bloky +block.crystal-orbs.name = KÅ™išťálové Orby +block.crystalline-boulder.name = Crystalline balvan +block.red-ice-boulder.name = Red Ice balvan +block.rhyolite-boulder.name = Rhyolite balvan +block.red-stone-boulder.name = Red Stone balvan +block.graphitic-wall.name = Graphitic zeÄ +block.silicon-arc-furnace.name = Silicon Arc pec +block.electrolyzer.name = Elektrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation komora +block.electric-heater.name = Elektrický OhřívaÄ +block.slag-heater.name = struskový ohřívaÄ +block.phase-heater.name = Fázový ohřívaÄ +block.heat-redirector.name = Tepelné rozdÄ›lovaÄ +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Tepelný smÄ›rovaÄ +block.slag-incinerator.name = Strusková spalovna +block.carbide-crucible.name = Karbidová nádoba +block.slag-centrifuge.name = OdstÅ™edivka strusky +block.surge-crucible.name = PÅ™epěťová nádoba +block.cyanogen-synthesizer.name = Syntetizátor kyanogenu +block.phase-synthesizer.name = Syntetizátor fáze +block.heat-reactor.name = Tepelný Reaktor +block.beryllium-wall.name = Beryllium zeÄ +block.beryllium-wall-large.name = Velká Beryllium zeÄ +block.tungsten-wall.name = Wolframová ZeÄ +block.tungsten-wall-large.name = Velká Tungsten zeÄ +block.blast-door.name = Velké dveÅ™e +block.carbide-wall.name = Karbidová stÄ›na +block.carbide-wall-large.name = Velká karbidová stÄ›na +block.reinforced-surge-wall.name = Vyztužená pÅ™epěťová stÄ›na +block.reinforced-surge-wall-large.name = Velká vyztužená pÅ™epěťová stÄ›na +block.shielded-wall.name = Å títová stÄ›na +block.radar.name = Radar +block.build-tower.name = Postav věž +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Blesková věž +block.shield-projector.name = Å títový Projektor +block.large-shield-projector.name = Velká Å¡títový Projektor +block.armored-duct.name = ObrnÄ›ný kanál +block.overflow-duct.name = PÅ™epadový kanál +block.underflow-duct.name = Podtokové potrubí +block.duct-unloader.name = VykladaÄ potrubí +block.surge-conveyor.name = PÅ™epěťový dopravník +block.surge-router.name = PÅ™epěťový smÄ›rovaÄ +block.unit-cargo-loader.name = NakladaÄ jednotek +block.unit-cargo-unload-point.name = Místo vyložení jednotek +block.reinforced-pump.name = Zesílené Äerpadlo +block.reinforced-conduit.name = Zesílené vedení +block.reinforced-liquid-junction.name = Zesílený spoj pro kapaliny +block.reinforced-bridge-conduit.name = Vyztužený mostní vedení +block.reinforced-liquid-router.name = Zesílený smÄ›rovaÄ kapalin +block.reinforced-liquid-container.name = Zesílená nádrž na kapaliny +block.reinforced-liquid-tank.name = Zesílená bazén na kapaliny +block.beam-node.name = Uzel paprsku +block.beam-tower.name = Věž paprsku +block.beam-link.name = Vedení paprku +block.turbine-condenser.name = Turbínový zkapalňovaÄ +block.chemical-combustion-chamber.name = Chemická spalovací komora +block.pyrolysis-generator.name = Pyrolysový generátor +block.vent-condenser.name = VentilaÄní zkapalňovaÄ +block.cliff-crusher.name = Útesový drtiÄ +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plazmový vrták +block.large-plasma-bore.name = Velký plazmový vrták +block.impact-drill.name = Příklepová vrták +block.eruption-drill.name = Tavící vrták +block.core-bastion.name = Jádro Pevnost +block.core-citadel.name = Jádro Palác +block.core-acropolis.name = Jádro Boží Poselství +block.reinforced-container.name = Vyztužený kontejner +block.reinforced-vault.name = Vyztužená klenba + +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tanková dílna +block.mech-refabricator.name = Robotická dílna +block.ship-refabricator.name = NámoÅ™ní dok +block.tank-assembler.name = Tanková výzkumná stanice +block.ship-assembler.name = NámoÅ™ní výzkumná stanice +block.mech-assembler.name = Robotická výzkumná stanice +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Vyztužený zátěžový dopravník +block.payload-mass-driver.name = Zátěžová ústÅ™edna +block.small-deconstructor.name = Malý niÄitel +block.canvas.name = Plátno +block.world-processor.name = Řídící procesor +block.world-cell.name = SvÄ›tová Buňka +block.tank-fabricator.name = Tanková dílna +block.mech-fabricator.name = Robotická dílna +block.ship-fabricator.name = NámoÅ™ní dok +block.prime-refabricator.name = Prime dílna +block.unit-repair-tower.name = Opravárenská věž +block.diffuse.name = Rozšíření +block.basic-assembler-module.name = Běžný Skládací Modul +block.smite.name = Úder +block.malign.name = Pomluva +block.flux-reactor.name = Fluxní Reaktor +block.neoplasia-reactor.name = Neoplasmatický Reaktor block.switch.name = PÅ™epínaÄ block.micro-processor.name = Mikroprocesor @@ -1234,43 +1938,40 @@ block.logic-display.name = ZobrazovaÄ logiky block.large-logic-display.name = Velký zobrazovaÄ logiky block.memory-cell.name = Paměťová buňka block.memory-bank.name = Paměťová banka - -team.blue.name = modrý +team.malis.name = Malis team.crux.name = Äervený team.sharded.name = oranžový -team.orange.name = oranžový team.derelict.name = opuÅ¡tÄ›ný team.green.name = zelený -team.purple.name = fialový + +team.blue.name = modrý hint.skip = PÅ™eskoÄit hint.desktopMove = Použij [accent][[WASD][] k pohybu. hint.zoom = [accent]Roluj[] prp pÅ™iblížení a oddalování obrazvky. -hint.mine = PÅ™esuň se poblíž \uf8c4 mÄ›dÄ›né rudy a [accent]Å¥upni[] na ni pro zahájení těžby. hint.desktopShoot = Klikni na [accent][[levé tlaÄítko][] myÅ¡i pro stÅ™elbu. hint.depositItems = Pro pÅ™esun položek je pÅ™etáhni ze své lodi do jádra. hint.respawn = Aby ses znovu pÅ™epnul na loÄ, zmáÄkni [accent][[V][]. hint.respawn.mobile = PÅ™epnul ses na ovládání jednotky nebo konstrukce. Aby ses pÅ™epnul zpÄ›t na loÄ, klikni na avatara vlevo nahoÅ™e. hint.desktopPause = ZmáÄkni [accent][[mezerník][] k pozastavení a zase spuÅ¡tÄ›ní hry. -hint.placeDrill = Vyber si záložku \ue85e [accent]Vrtů[] v nabídce vpravo dole, potom vyber \uf870 [accent]Vrt[] a klikni na oblast s mÄ›dí k umístÄ›ní. -hint.placeDrill.mobile = Vyber si záložku \ue85e [accent]Vrtů[] v nabídce vpravo dole, potom vyber \uf870 [accent]Vrt[] a Å¥upni na oblast s mÄ›dí k umístÄ›ní.\n\Ťupni na \ue800 [accent]zaÅ¡krtnutí[] vpravo dole pro potvrzení. -hint.placeConveyor = Dopravníky pÅ™esouvají materiál z vrtu do dalších bloků. Vyber \uf896 [accent]Dopravník[] ze záložky \ue814 [accent]Distribuce[].\n\nKlikni a táhni pro umístÄ›ní vícero dopravníků.\n[accent]Roluj[] pro otoÄení. -hint.placeConveyor.mobile = Dopravníky pÅ™esouvají materiál z vrtu do dalších bloků. Vyber \uf896 [accent]Dopravník[] ze záložky \ue814 [accent]Distribuce[].\n\nPodrž chvíli prst a táhni pro umístÄ›ní vícero dopravníků. -hint.placeTurret = Umisti \uf861 [accent]Věž[], abys ubránil Tvoji základnu pÅ™ed nepřáteli.\n\nVěže vyžaduj munici - v tomto případÄ› je jí \uf838mÄ›Ä.\nPoužij vrty a dopravníky, abys nÄ›jakou získal. hint.breaking = Klikni [accent]pravým tlaÄítkem[] a potáhni pro rozbití bloků. hint.breaking.mobile = Použij \ue817 [accent]kladivo[] v pravém spodním rohu a pak Å¥upni pro rozbití bloků.\n\nPodrž chvíli prst a táhni pro rozbití bloků ve výbÄ›ru. +hint.blockInfo = Pro zobrazení informací o bloku, vyberte blok ve [accent]stavebním menu[], poté kliknutím na [accent][[?][] tlaÄítka vpravo. +hint.derelict = [accent]OpuÅ¡tÄ›né[] struktury jsou rozbíté pozůstalky starých základen, které již nefungujou.\n\nTyto struktury můžou být [accent]rozebraný[] pro získaní zdrojů. hint.research = Použij tlaÄítko \ue875 [accent]Výzkum[] pro vyzkoumání nové technologie. hint.research.mobile = Použij tlaÄítko \ue875 [accent]Výzkum[] v \ue88c [accent]nabídce[] pro vyzkoumání nové technologie. hint.unitControl = Podrž [accent][[Levý Ctrl][] a [accent]klikni[] pro ovládání spřátelených jednotek nebo věží. hint.unitControl.mobile = [accent][[DvojÅ¥upni][] pro ovládání spřátelených jednotek nebo věží. +hint.unitSelectControl = Chcete-li ovládat jednotky, zadejte [accent]příkazový režim[] pÅ™idržením [accent]L-shift.[]\nV příkazovém režimu kliknutím a tažením vyberte jednotky. [accent]Right-click[]místo nebo cíl pro velení tamních jednotek. +hint.unitSelectControl.mobile = Chcete-li ovládat jednotky, zadejte [accent]příkazový režim[] stisknutím tlaÄítka[accent]command[] tlaÄítko vlevo dole.\nV příkazovém režimu vyberte jednotky dlouhým stisknutím a pÅ™etažením. Klepnutím na místo nebo cíl velíte tamním jednotkám. hint.launch = Jakmile je nasbíráno dostatek zdrojových materiálů, můžeÅ¡ se [accent]vyslat[] do pÅ™ilehlých sektorů z \ue827 [accent]mapy[] v pravém dolním rohu. hint.launch.mobile = Jakmile je nasbíráno dostatek zdrojových materiálů, můžeÅ¡ se [accent]vyslat[] do pÅ™ilehlých sektorů z \ue827 [accent]mapy[] v the \ue88c [accent]nabídce[]. hint.schematicSelect = Podrž [accent][[F][] a potáhni pro výbÄ›r bloků, které chceÅ¡ zkopírovat.\n\nKlikni na [accent][[prostÅ™ední tlaÄítko][] myÅ¡i pro zkopírování jednoho typu bloku. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.conveyorPathfind = Podrž [accent][[levý Ctrl][], když táhneÅ¡ dopravníky, pro automatické vygenerování cesty. hint.conveyorPathfind.mobile = Povol \ue844 [accent]úhlopříÄný režim[] a potáhni dopravníky pro automatické generování cesty. hint.boost = Podrž [accent][[levý Shift][], abys pÅ™eletÄ›l pÅ™es pÅ™ekážky se svou souÄasnou jednotkou.\n\nPouze nÄ›které jednotky vÅ¡ak mají takový posilovaÄ. -hint.command = ZmáÄkni [accent][[G][] pro vytvoÅ™ení formace z blízkých jednotek [accent]podobného typu[].\n\nAbys mohl velet pozemní jednotce, musíš nejprve ovládat jinou pozemní jednotku. -hint.command.mobile = [accent][[DvojÅ¥upni][] na Tvoji jednotku pro vytvoÅ™ení formace z blízkých jednotek. hint.payloadPickup = ZmáÄkni [accent][[[] pro sebrání malých bloků nebo jednotek. hint.payloadPickup.mobile = [accent]Ťupni a podrž[] na malém bloku nebo jednotce pro sebrání. hint.payloadDrop = ZmáÄkni [accent]][] pro položení nákladu. @@ -1278,6 +1979,62 @@ hint.payloadDrop.mobile = [accent]Ťupni a drž[] na prázdném místÄ› pro polo hint.waveFire = [accent]Naplň[] věže vodou místo munice pro automatické haÅ¡ení okolních požárů. hint.generator = \uf879 [accent]Spalovací generátory[] pálí uhlí a pÅ™enášení energii do sousedících bloků.\n\nPÅ™enos energie na delší vzdálenost se provádí pomocí \uf87f [accent]Energetických uzlů[]. hint.guardian = Jednotky [accent]Strážce[] jsou obrnÄ›né. MÄ›kká munice, jako je například [accent]mÄ›Ä[] a [accent]olovo[] je [scarlet]neefektivní[].\n\nPoužij vylepÅ¡ené věže nebo \uf835 [accent]grafitovou[] munici pro \uf861 Střílnu Duo/\uf859 Salvu, abys Strážce sejmul. +hint.coreUpgrade = Jádro může být vylepÅ¡eno [accent]pÅ™ekrytím jádrem vyšší úrovnÄ›[].\n\nUmísti jádro typu [accent]Základ[] pÅ™es jádro typu [accent]OdÅ¡tÄ›pek[]. Ujisti se, že v okolí nejsou žádné pÅ™ekážky. +hint.presetLaunch = Na Å¡edé [accent]sektory v pÅ™istávací zónÄ›[], jako je například [accent]Zamrzlý les[], se lze vyslat kdykoli. Nevyžadují polapení okolního teritoria.\n\n[accent]Číslované sektory[], jako je tento, jsou [accent]volitelné[]. +hint.presetDifficulty = Tento sektor má [scarlet]vysokou úroveň nepřátelského ohrožření[].\nSpouÅ¡tení do takových sektorů se [accent]nedoporuÄuje[] bez náležité technologie a přípravy. +hint.coreIncinerate = Poté, co je kapacita jádra urÄité položky naplnÄ›na, jakékoliv další stejné pÅ™ijaté položky budou [accent]zniÄeny[]. +hint.factoryControl = Chcete-li nastavit tovární nastavení jednotky[accent]výstupní cíl[], v příkazovém režimu kliknÄ›te na tovární blok a poté kliknÄ›te pravým tlaÄítkem na umístÄ›ní.\nJednotky, které produkuje, se tam automaticky pÅ™esunou. +hint.factoryControl.mobile = Chcete-li nastavit tovární nastavení jednotky[accent]výstupní cíl[], v příkazovém režimu klepnÄ›te na tovární blok a poté klepnÄ›te na umístÄ›ní.\nJednotky, které produkuje, se tam automaticky pÅ™esunou. +gz.mine = Pohybujte se poblíž\uf8c4 [accent]mÄ›dÄ›nou rudu[] na zemi a kliknutím zahájíte těžbu. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Používá se ve vÅ¡ech typech bloků a munice. item.copper.details = MÄ›Ä. Nezvykle nadpoÄetný kov na Serpulu. KonstrukÄnÄ› slabý, pokud není rafinovaná. @@ -1300,23 +2057,36 @@ item.spore-pod.description = Používá se pro pÅ™emÄ›nu na ropu, výbuÅ¡niny a item.spore-pod.details = Spóry. PravdÄ›podobnÄ› syntetická forma života. Vydává plyn toxický pro jiné formy života. ExtrémnÄ› invazivní. Vysoce hoÅ™lavý za urÄitých podmínek. item.blast-compound.description = Používá se v bombách a výbuÅ¡né munici. item.pyratite.description = Používá se v zápalných zbraních a spalovacích generátorech. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Používá se pro chladící stroje a na zpracování odpadu. liquid.slag.description = Používá se v oddÄ›lovaÄích pro rozdÄ›lení na jednotlivé kovy, nebo je chrlena na protivníky z věží. liquid.oil.description = Používá se v pokroÄilé materiálové výrobÄ› a jako zápalná munice. liquid.cryofluid.description = Používá se jako chladící kapalina v reaktorech, věžích a továrnách. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. -block.resupply-point.description = Zásobuje okolní jednotky mÄ›dÄ›nou municí. Není kompatibilní s jednotkami, které vyžadují energii z baterie. +block.derelict = \uf77e [lightgray]OpuÅ¡tÄ›ný block.armored-conveyor.description = PÅ™epravuje pÅ™edmÄ›ty vpÅ™ed. NepÅ™ijímá pÅ™edmÄ›ty ze stran. block.illuminator.description = Vydává svÄ›tlo. block.message.description = Ukládá zprávu pro komunikaci mezi spojenci. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Lisuje uhlí na grafit. block.multi-press.description = Lisuje uhlí na grafit. Vyžaduje vodu jako chladivo. block.silicon-smelter.description = Rafinuje kÅ™emík z písku a uhlí. block.kiln.description = Taví písek a olovo na metasklo. block.plastanium-compressor.description = Produkuje plastan z titanu a nafty. block.phase-weaver.description = Syntetizuje fázovou tkaninu z thoria a písku. -block.alloy-smelter.description = Taví titan, olovo, kÅ™emík a mÄ›Ä na rázovou slitinu. +block.surge-smelter.description = Taví titan, olovo, kÅ™emík a mÄ›Ä na rázovou slitinu. block.cryofluid-mixer.description = Míchá vodu a jemný titanová prášek na chladící kapalinu. block.blast-mixer.description = Vyrábí výbuÅ¡ninu z pyratitu a shluků spór. block.pyratite-mixer.description = Míchá uhlí, olovo a písek na pyratit. @@ -1332,6 +2102,8 @@ block.item-source.description = NekoneÄný zdroj pÅ™edmÄ›tů. Jen v režimu Pí block.item-void.description = ZniÄí jakýkoliv vstupní pÅ™edmÄ›t, který bloku poÅ¡leÅ¡. Jen v režimu PískoviÅ¡tÄ›. block.liquid-source.description = NekoneÄný zdroj kapalin. Jen v režimu PískoviÅ¡tÄ›. block.liquid-void.description = ZniÄí jakoukoliv kapalinu, kterou bloku poÅ¡leÅ¡. Jen v režimu PískoviÅ¡tÄ›. +block.payload-source.description = NekoneÄný zdroj nákladu. Jen v režimu PískoviÅ¡tÄ›. +block.payload-void.description = ZniÄí jakýkoliv náklad. Jen v režimu PískoviÅ¡tÄ›. block.copper-wall.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™elami. block.copper-wall-large.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™elami. block.titanium-wall.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™elami. @@ -1344,6 +2116,10 @@ block.phase-wall.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™el block.phase-wall-large.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™elami, reflecting most bullets upon impact. block.surge-wall.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™elami. PÅ™i doteku opakovanÄ› vydává energetické výboje. block.surge-wall-large.description = Chrání konstrukce pÅ™ed nepřátelskými stÅ™elami. PÅ™i doteku opakovanÄ› vydává energetické výboje. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = ZeÄ, která může být otevÅ™ena a zavÅ™ena. block.door-large.description = ZeÄ, která může být otevÅ™ena a zavÅ™ena. block.mender.description = OpakovanÄ› opravuje bloky ve svém dosahu.\nVolitelnÄ› umí použít kÅ™emík pro posílení dosahu a efektivity. @@ -1353,7 +2129,7 @@ block.force-projector.description = Vytváří okolo sebe Å¡estiúhelníkové si block.shock-mine.description = Vydává energetické výboje pÅ™i dotyku nepřátelskou jednotkou. block.conveyor.description = PÅ™epravuje pÅ™edmÄ›ty vpÅ™ed. block.titanium-conveyor.description = PÅ™epravuje pÅ™edmÄ›ty vpÅ™ed. Rychlejší, než standardní dopravník. -block.plastanium-conveyor.description = PÅ™epravuje pÅ™edmÄ›ty vpÅ™ed in batches. PÅ™ijímá pÅ™edmÄ›ty zezadu, a vykládá je do tří smÄ›rů vpÅ™edu. Vyžaduje více nakládacích a vykládacích bodů pro Å¡piÄkový průtok. +block.plastanium-conveyor.description = PÅ™epravuje pÅ™edmÄ›ty vpÅ™ed in batches. PÅ™ijímá pÅ™edmÄ›ty zezadu, a vykládá je do tří smÄ›rů vpÅ™edu. Vyžaduje více nakládacích a vykládacích bodů pro Å¡piÄkový průtok. block.junction.description = Funguje jako most pro dva křížící se dopravníky. block.bridge-conveyor.description = PÅ™epravuje pÅ™edmÄ›ty pÅ™es terén nebo budovy. block.phase-conveyor.description = OkamžitÄ› pÅ™epravuje pÅ™edmÄ›ty pÅ™es terén nebo budovy. Má delší dosah než standardní pÅ™emostÄ›ní pÅ™epravníku, ale vyžaduje energii. @@ -1364,14 +2140,15 @@ block.router.details = Nezbytné zlo. Použití hned u produkÄních vstupů se block.distributor.description = RozdÄ›luje vstupní položky rovnomÄ›rnÄ› do sedmi výstupů. block.overflow-gate.description = Pokud je smÄ›r vpÅ™ed ucpán, posílá vstupní položky do stran. Nelze použít vedle jiné brány. block.underflow-gate.description = Pokud je smÄ›r do stran ucpán, posílá vstupní položky vpÅ™ed. Nelze použít vedle jiné brány. -block.mass-driver.description = Konstrukce pro pÅ™epravu položek na velkou vzdálenost. Sesere dávku položek a vystÅ™elí ji k dalšímu hromadnému pÅ™enaÅ¡eÄi. -block.mechanical-pump.description = Pumpuje kapalinu a pÅ™edává ji dál. Nevyžaduje energii. -block.rotary-pump.description = Pumpuje kapalinu a pÅ™edává ji dál. Vyžaduje energii. -block.thermal-pump.description = Pumpuje kapalinu a pÅ™edává ji dál. +block.mass-driver.description = Konstrukce pro pÅ™epravu položek na velkou vzdálenost. Shromáždí dávku položek a vystÅ™elí ji k dalšímu hromadnému pÅ™enaÅ¡eÄi. +block.mechanical-pump.description = Pumpuje kapalinu a pÅ™edává ji dál. Nevyžaduje energii. +block.rotary-pump.description = Pumpuje kapalinu a pÅ™edává ji dál. Vyžaduje energii. +block.impulse-pump.description = Pumpuje kapalinu a pÅ™edává ji dál. block.conduit.description = PÅ™epravuje kapaliny vpÅ™ed. Používá se spolu s pumpami a dalším potrubím. block.pulse-conduit.description = PÅ™epravuje kapaliny vpÅ™ed. PÅ™epravuje kapaliny rychleji a ukládá jich více, než standadní potrubí. block.plated-conduit.description = PÅ™epravuje kapaliny vpÅ™ed. NepÅ™ijímá kapaliny ze stran. Nemá úniky. block.liquid-router.description = PÅ™ijímá kapalinu z jednoho smÄ›ru a vydává ji rovnomernÄ› do tří ostatních stran. Umí též uchovat malé množství kapaliny. +block.liquid-container.description = Ukládá znaÄné množství kapaliny. PÅ™edává ji do stran, podobnÄ› jako směřovaÄ kapalin. block.liquid-tank.description = Ukládá velké množství kapaliny. PÅ™edává ji do stran, podobnÄ› jako směřovaÄ kapalin. block.liquid-junction.description = Funguje jako most pro dvÄ› křížící se potrubí. block.bridge-conduit.description = PÅ™epravuje kapalinu pÅ™es terén a budovy. @@ -1389,7 +2166,7 @@ block.differential-generator.description = Generuje velké množství energie. V block.rtg-generator.description = Používá teplo z rozpadajících se radioaktivních materiálů k výrobÄ› energie v malých dávkách. block.solar-panel.description = Vytváří malého množství energie ze Slunce. block.solar-panel-large.description = Vytváří malého množství energie ze Slunce. EfektivnÄ›jší, než základní solárí panel. -block.thorium-reactor.description = Generuje významné množství energie z thoria. Vyžaduje nepÅ™etržité chlazení. Je-li chlazen nedostateÄnÄ›, způsobí znaÄnou explozi. +block.thorium-reactor.description = Generuje významné množství energie z thoria. Vyžaduje nepÅ™etržité chlazení. Je-li chlazen nedostateÄnÄ›, způsobí znaÄnou explozi. block.impact-reactor.description = Vytváří pÅ™i Å¡piÄkové úÄinnosti velké množství energi. VyspÄ›lý generátor, schopný vytvářet pÅ™i maximálním výkonu obrovská množství energie. Vyžaduje vÅ¡ak znaÄné množství energie pro nastartování celého procesu. block.mechanical-drill.description = Když je umístÄ›n na rudu, generuje donekoneÄna odpovídající položky, pomalou rychlostí. Použitelný jen pro těžení základních surovin. block.pneumatic-drill.description = VylepÅ¡ený vrt, který je schopen těžit i titan. Těží vyšší rychlostí než mechanický vrt. @@ -1403,19 +2180,22 @@ block.core-shard.description = Jádro základny. Pokud je zniÄena, sektor je zt block.core-shard.details = První iterace. Kompaktní. Sebereplikující. Vybavená vysílacím pohonem na jedno použití. Není navržena pro meziplanetární cestování. block.core-foundation.description = Jádro základny. DobÅ™e opevnÄ›ná. Pojme více surovin, než základna OdstÄ›pek. block.core-foundation.details = Druhá iterace. -block.core-nucleus.description = Jádro základny. Velmi dobÅ™e opevnÄ›ná. Dokáže skladovat enormní množství zdrojů. +block.core-nucleus.description = Jádro základny. Velmi dobÅ™e opevnÄ›ná. Dokáže skladovat enormní množství zdrojů. block.core-nucleus.details = TÅ™etí a koneÄná iterace vývoje jádra. block.vault.description = Ukládá velké množství pÅ™edmÄ›tů od každého typu. K vyskladnÄ›ní vÄ›cí z trezoru je možné použít odbavovaÄ. block.container.description = Ukládá menší množství pÅ™edmÄ›tů od každého typu. K vyskladnÄ›ní vÄ›cí z kontejneru je možné použít odbavovaÄ. block.unloader.description = Vyskladňuje vybrané položky z okolních bloků. -block.launch-pad.description = Vysílá dávky pÅ™edmÄ›tů do pÅ™ilehlých sektorů. +block.launch-pad.description = Vysílá dávky pÅ™edmÄ›tů do pÅ™ilehlých sektorů. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Střílí střídavé dávky kulek na nepřátele. block.scatter.description = Střílí kusy olova, pláty Å¡rotu nebo stÅ™epy metaskla na nepřátelské letectvo. block.scorch.description = Sežehne pozemní jednotky blízkosti. Velmi efektivní na malé vzdálenosti. block.hail.description = Střílí na dálku malé patrony na pozemní nepřátele. block.wave.description = Střílí po nepřátelích proudy kapaliny (například strusky). Umí automaticky uhasit oheň, pokud je zásobena vodou. block.lancer.description = Po nabití střílí mocné energetické paprsky na pozemní cíle. -block.arc.description = Střílí výboje po pozemních jednotkách. +block.arc.description = Střílí výboje po pozemních jednotkách. block.swarmer.description = Střílí po nepřátelích samonavádÄ›cí stÅ™ely. block.salvo.description = Střílí na nepřátele rychlé dávky stÅ™el. block.fuse.description = Střílí trojici pronikavých výbuchů na blízké nepřátele. @@ -1423,23 +2203,23 @@ block.ripple.description = Střílí na dálku shluky stÅ™el na pozemní jednotk block.cyclone.description = Střílí vybuchující dávky na blízké nepřátele. block.spectre.description = Střílí velké náboje, které pronikají brnÄ›ním jak pozemních, tak vzduÅ¡ných cílů. block.meltdown.description = Po nabití střílí nepÅ™etržitý laserový paprsek na nepřátele v okolí. Vyžaduje ke své funkci chlazení. +block.foreshadow.description = Střílí velké jednocílové blesky na dlouhé vzdálenosti. UpÅ™edňostuje nepřátele s vÄ›tším max životy. block.repair-point.description = NepÅ™etržitÄ› opravuje nejbližší poÅ¡kozenou jednotku v poli své působnosti. block.segment.description = PoÅ¡kozuje a niÄí příchozí stÅ™ely. Laserové stÅ™ely ale zacílit neumí. block.parallax.description = Střílí tažný paprsek, který pÅ™itahuje vzduÅ¡né cíle, a poÅ¡kozuje je. block.tsunami.description = Střílí mocné proudy kapalin na nepřátele. SamoÄinnÄ› hasí oheň, pokud je zásobován vodou. block.silicon-crucible.description = Rafinuje kÅ™emík z písku a uhlí za použití pyratitu jako přídavného zdroje tepla. ÚÄinnÄ›jší na horkých místech. block.disassembler.description = OddÄ›luje ze strusky stopové množství exotických minerálových souÄástí pÅ™i malé úÄinnosti. Umí vyrobit thorium. -block.overdrive-dome.description = ZvyÅ¡uje rychlost okolních konstrukcí. Vyžaduje ke svému fungování fázovou tkaninu a kÅ™emík. +block.overdrive-dome.description = ZvyÅ¡uje rychlost okolních konstrukcí. Vyžaduje ke svému fungování fázovou tkaninu a kÅ™emík. block.payload-conveyor.description = PÅ™esouvá velké náklady, jako jednotky z továren. block.payload-router.description = RozdÄ›luje vstuní náklad na 3 výstupní smÄ›ry. -block.command-center.description = Ovládá chování jednotky nÄ›kolika příkazy. block.ground-factory.description = Vyrábí pozemní jednotky. Výstupní jednotky mohou být použity přímo, nebo pÅ™esunuty do pÅ™estavovaÄů na vylepÅ¡ení. block.air-factory.description = Vyrábí letecké jednotky. Výstupní jednotky mohou být použity přímo, nebo pÅ™esunuty do pÅ™estavovaÄů na vylepÅ¡ení. block.naval-factory.description = Vyrání námoÅ™ní jednotky. Výstupní jednotky mohou být použity přímo, nebo pÅ™esunuty do pÅ™estavovaÄů na vylepÅ¡ení. block.additive-reconstructor.description = VylepÅ¡uje vstupní jednotky na druhou úroveň. block.multiplicative-reconstructor.description = VylepÅ¡uje vstupní jednotky na tÅ™etí úroveň. block.exponential-reconstructor.description = VylepÅ¡uje vstupní jednotky na Ätvrtou úroveň. -block.tetrative-reconstructor.description =VylepÅ¡uje vstupní jednotky na pátou, koneÄnou úroveň. +block.tetrative-reconstructor.description = VylepÅ¡uje vstupní jednotky na pátou, koneÄnou úroveň. block.switch.description = PÅ™epínaÄ. Jeho stav je možné Äíst a ovládat logickými procesory. block.micro-processor.description = SpouÅ¡tí posloupnost logických instrukcí ve smyÄce. Dá se použít k ovládání jednotek a konstrukcí. block.logic-processor.description = SpouÅ¡tí posloupnost logických instrukcí ve smyÄce. Dá se použít k ovládání jednotek a konstrukcí. Rychlejší než mikroprocesor. @@ -1449,6 +2229,101 @@ block.memory-bank.description = Ukládá informace z logického procesoru. VÄ›t block.logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru. block.large-logic-display.description = Zobrazuje libovolnou grafiku z logického procesoru. block.interplanetary-accelerator.description = Masivní elektromagnetická věž. Urychlí jádro na únikovou rychlost pro meziplanetární vyslání. +block.repair-turret.description = NepÅ™etržitÄ› opravuje nejblížší poÅ¡kozenou jednotku v jeho blízkosti. Lze volitelnÄ› dodávat chlazení pro jeho posílení. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. unit.dagger.description = Střílí základní stÅ™ely na vÅ¡echny okolní nepřátele. unit.mace.description = Střílí proudy ohnÄ› na vÅ¡echny okolní nepřátele. @@ -1465,13 +2340,13 @@ unit.atrax.description = Střílí oslabující koule strusky na pozemní cíle. unit.spiroct.description = Střílí mířené laserové paprsky na nepřátele, a zároveň se tím opravuje. Může pÅ™ekroÄit vÄ›tÅ¡inu terénu. unit.arkyid.description = Střílí velké mířené laserové paprsky na nepřátele, a zároveň se tím opravuje. Může pÅ™ekroÄit vÄ›tÅ¡inu terénu. unit.toxopid.description = Střílí na nepřátele velké energetické kazetové stÅ™ely a lasery pronikající brnÄ›ním. Může pÅ™ekroÄit vÄ›tÅ¡inu z terénů. -unit.flare.description = Střílí základní stÅ™ely na okolní nepřátele. -unit.horizon.description = PouÅ¡tí shluky bomb na pozemní cíle. +unit.flare.description = Střílí základní stÅ™ely na okolní nepřátele. +unit.horizon.description = PouÅ¡tí shluky bomb na pozemní cíle. unit.zenith.description = Střílí salvy raket na vÅ¡echny blízké nepřátele. unit.antumbra.description = Střílí palbu stÅ™el na vÅ¡echny blízké nepřátele. unit.eclipse.description = VystÅ™elí dva pronikavé lasery a záplavu protivzduÅ¡ných stÅ™el na vÅ¡echny blízké nepřátele. unit.mono.description = SamoÄinnÄ› těží mÄ›Ä a olovo a ukládá je do jádra. -unit.poly.description = SamoÄinnÄ› obnovuje poÅ¡kozené konstrukce a pomáhá ostatním jednotkám pÅ™i stavbÄ›. +unit.poly.description = SamoÄinnÄ› obnovuje zniÄené konstrukce a pomáhá ostatním jednotkám pÅ™i stavbÄ›. unit.mega.description = SamoÄinnÄ› opravuje poÅ¡kozené konstrukce. Je schopný pÅ™enést bloky a malé pozemní jednotky. unit.quad.description = PouÅ¡tí velké bomby na pozemní cíle, opravuje spojenecké konstrukce a poÅ¡kozuje nepřátele. Je schopen pÅ™enést stÅ™ednÄ› velké pozemní jednotky. unit.oct.description = Chrání blízké spojence pomocí regeneraÄního Å¡títu. Je schopen pÅ™enést vÄ›tÅ¡inu pozemních jednotek. @@ -1483,3 +2358,295 @@ unit.omura.description = Střílí na nepřátele průrazné Å¡rouby s dlouhým unit.alpha.description = Brání jádro OdÅ¡tÄ›pek pÅ™ed nepřáteli. Staví konstrukce. unit.beta.description = Brání jádro Základ pÅ™ed nepřáteli. Staví konstrukce. unit.gamma.description = Brání jádro Atom pÅ™ed nepřáteli. Staví konstrukce. +unit.retusa.description = Střílí navádÄ›ná torpéda na blízké nepřátele. Opravuje spojenecké jednotky. +unit.oxynoe.description = Střílí strukturo-opravující proudy ohnÄ› na blízké nepřátelé. SestÅ™eluje blízké nepřátelské stÅ™ely pomocí bodové obranné věže. +unit.cyerce.description = Střílí navádÄ›cí shlukové rakety na nepřátele. Opravuje spojenecké jednotky. +unit.aegires.description = Å okuje vÅ¡echny nepřátelské jednotky a struktury, které vstoupí do je energetického pole. Opravuje spojenecké jednotky. +unit.navanax.description = Střílí výbuÅ¡né elektromagnetické impulzivní stÅ™ely, způsobující solidní poÅ¡kození na nepřátelskou elektrickou síť a opravuje spojenecké struktury. Taví blízké nepřátele se 4mi autonomními laserovýmí věžmi. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. + +lst.read = PÅ™eÄte Äíslo z pÅ™ipojené pamÄ›ti. +lst.write = Zapíše Äíslo do pÅ™ipojené pamÄ›ti. +lst.print = Přídá text do vypisovacího buferu.\nNezobrazí nic dokud [accent]Print Flush[] je použít. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Přídá operaci do vykreslovacího buferu.\nNezobrazí nic dokud [accent]Draw Flush[] je použít. +lst.drawflush = Provede vÅ¡echny [accent]Draw[] operace na zobrazovaÄ logiky. Pak vyÄistí vykreslovací bufer. +lst.printflush = Provede vÅ¡echny [accent]Print[] operace do zprávy. Pak vyÄistí vypisovací bufer. +lst.getlink = Získá procesorové propojení pomoci indexu. ZaÄiná na 0. +lst.control = Ovládne budovu. +lst.radar = Lokalizuje jednotky blízko budovy s dosahem. +lst.sensor = Získá data z budovy nebo jednotky. +lst.set = Nastaví hodnotu. +lst.operation = Provede operaci na 1-2 hodnotách. +lst.end = SkoÄí na první poÄáteÄní instrukci. +lst.wait = ÄŒeká urÄitý poÄet sekund. +lst.stop = Halt execution of this processor. +lst.lookup = Vyhledá typ vÄ›ci/kapaliny/jednotky/bloku pomocí ID.\nCelkový poÄet daného typu může být získán pomocí:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = PodmínÄ›nÄ› skoÄí na danou instrukci. +lst.unitbind = Nastaví další jednotku daného typu a uloží jí do [accent]@unit[]. +lst.unitcontrol = Kontroluje nastavenou jednotku. +lst.unitradar = Lokalizuje jednotky kolem nastavené jednotky. +lst.unitlocate = Lokalizuje daný typ pozice/budovy kdekoliv na mapÄ›.\nVyžaduje nastavenou jednotku. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Stavba budov pomoci jednotek kontrolované procesorem neni povolené. + +lenum.type = Typ budovy/jednotky.\nnapÅ™. pro jakýkoliv smÄ›rovaÄ, toto vrátí [accent]@router[].\nNikoliv textovou hodnotu. +lenum.shoot = VystÅ™elí na urÄitou pozici. +lenum.shootp = VystÅ™elí na jednotku/budovu s rychlostní pÅ™edpovÄ›dí. +lenum.config = Konfigurace budovy, napÅ™. třídící vÄ›c pro třídiÄku. +lenum.enabled = Zda je blok povolen. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Barva osvÄ›tlovaÄe. +laccess.controller = Kontroler jednotky. Pokud procesor je kontrolován, vrátí procesor\nPokud je ve formaci, vrací vůdce.\nJinak vrací jednotku. +laccess.dead = Zda jednotka/budova je mrtvá/zniÄená nebo již neplatná. +laccess.controlled = Vrací:\n[accent]@ctrlProcessor[] pokud kontroler jednotky je procesor\n[accent]@ctrlPlayer[] pokud kontroloer jednotky/budovy je hráÄ\n[accent]@ctrlFormation[] pokud jednotka je ve formaci\nJiank, 0. +laccess.progress = PrůbÄ›h akce, 0 do 1.\nVrací průbÄ›h výroby, pÅ™ebití věže nebo stavby. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Neznámé +lcategory.unknown.description = NezaÅ™azené instrukce. +lcategory.io = Vstup a Výstup +lcategory.io.description = Upravuje obsah paměťních bloků a procesorových pamÄ›tí. +lcategory.block = Ovládaní Bloku +lcategory.block.description = Interaktovat s bloky. +lcategory.operation = Operace +lcategory.operation.description = Logické operace. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = SvÄ›t +lcategory.world.description = Ovládá, jak se svÄ›t chová. + +graphicstype.clear = Vyplní zobrazovaÄ danou barvou. +graphicstype.color = Vybere barvu pro další vykreslovací operace. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Nastaví šířku Äáry. +graphicstype.line = Nakreslí Äáru +graphicstype.rect = Vyplní obdélník. +graphicstype.linerect = Nakreslí obrys obdélníku. +graphicstype.poly = Vyplní pravidelný mnohoúhelník. +graphicstype.linepoly = Nakreslí obrys pravidelného mnohoúhelníku. +graphicstype.triangle = Vyplní trojúhelník. +graphicstype.image = Vykreslí obrázek nÄ›jakého obsahu.\nnapÅ™.: [accent]@router[] nebo [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Vždy pravda. +lenum.idiv = Číselné dÄ›lení. +lenum.div = DÄ›lení.\nVrací [accent]null[], pokud je dÄ›leno nulou. +lenum.mod = Modulo (VydÄ›lí 2 hodnoty a vrací zbytek). +lenum.equal = Stejné. Vynucuje typy.\nNon-null objekty porovnané s Äísly se stanou 1, jinak 0. +lenum.notequal = Není stejné. Vynucuje typy. +lenum.strictequal = Přísná rovnost. Nevynucuje typy.\nMůže být použít, jestli je [accent]null[]. +lenum.shl = Bitový-shift vlevo. +lenum.shr = Bitový-shift vpravo. +lenum.or = Bitový OR. +lenum.land = Logický AND. +lenum.and = Bitový AND. +lenum.not = Bitové pÅ™ehození. +lenum.xor = Bitový XOR. + +lenum.min = Menší Äíslo ze dvou Äísel. +lenum.max = VÄ›tší Äíslo ze dvou Äísel. +lenum.angle = Úhel vektoru ve stupních. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Délka vektoru. + +lenum.sin = Sinus, ve stupních. +lenum.cos = Kosinus, ve stupních. +lenum.tan = Tangent, ve stupních. + +lenum.asin = Arkus sinus, ve stupních. +lenum.acos = Arkus kosinus, ve stupních. +lenum.atan = Arkus tangent, ve stupních. + +#not a typo, look up 'range notation' +lenum.rand = Náhodné Äíslo v rozmÄ›ru <0, value). +lenum.log = Logaritmus (ln). +lenum.log10 = Základní 10 logaritmus. +lenum.noise = 2D simplexův noise. +lenum.abs = Absolutní hodnota. +lenum.sqrt = Odmocnina. + +lenum.any = Jakákoliv jednotka. +lenum.ally = Spojenecká jednotka. +lenum.attacker = Jednotka se zbraní. +lenum.enemy = Nepřátelská jednotka. +lenum.boss = Jednotka strážce. +lenum.flying = Lítající jednotka. +lenum.ground = Pozemní jednotka. +lenum.player = Jednotka kontrolovaná hráÄem. + +lenum.ore = Ložisko rudy. +lenum.damaged = PoÅ¡kozená spojenecká budova. +lenum.spawn = Nepřátelský bod zrození.\nMůže být jádro nebo pozice. +lenum.building = Budova ve specifické skupinÄ›. + +lenum.core = Jakékoliv jádro. +lenum.storage = Uskladňovací budova, napÅ™. Trezor. +lenum.generator = Budova generující energii. +lenum.factory = Budovy pÅ™enášející suroviny. +lenum.repair = Opravovací body. +lenum.battery = Jakákoliv baterka. +lenum.resupply = Zásobovací body.\nRelevantní pouze v případÄ›, že možnost [accent]"Jednotky vyžadují munici"[] je povolená. +lenum.reactor = Rázový/Thoriový reaktor. +lenum.turret = Jakákoliv věž. + +sensor.in = Budova/jednotka. + +radar.from = Budova pro snímání.\nDélka dosahu sensoru je limitovaná dosahu budovy. +radar.target = Filtr pro snímací jednotky. +radar.and = Přídavné filtry. +radar.order = Řazovací poÅ™adí. 0 = naopak. +radar.sort = Metrika, podle které se mají výsledky seÅ™adit. +radar.output = Hodnota pro zápis výstupní jednotky. + +unitradar.target = Filtr pro snímací jednotky. +unitradar.and = Přídavné filtry. +unitradar.order = Řazovací poÅ™adí. 0 = naopak. +unitradar.sort = Metrika, podle které se mají výsledky seÅ™adit. +unitradar.output = Hodnota pro zápis výstupní jednotky. + +control.of = Budova ke kontrole. +control.unit = Jednotka/Budova k zamíření. +control.shoot = Zda střílet. + +unitlocate.enemy = Zda lokalizovat nepřátelské budovy. +unitlocate.found = Zda objekt byl znalezen. +unitlocate.building = Výstup hodnot pro lokalizovanou budovu. +unitlocate.outx = Výstup X pozice. +unitlocate.outy = Výstup Y pozice. +unitlocate.group = Vyhledat skupinu budov. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Nehýbat se, ale pokraÄovat ve stavÄ›ní/těžení.\nVýchozí stav. +lenum.stop = PÅ™estat pohybovat se/těžit/stavÄ›t. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Pohnout se na urÄité místo. +lenum.approach = PÅ™iblížit se k urÄité pozici s urÄitou vzdálenosti. +lenum.pathfind = Nalézt cestu k nepřátelskému spawnu/bodu zrození +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = StÅ™elit na pozici. +lenum.targetp = VystÅ™elí na jednotku/budovu s rychlostní pÅ™edpovÄ›dí +lenum.itemdrop = Zahodit vÄ›c. +lenum.itemtake = Vzít vÄ›c z budovy. +lenum.paydrop = Vyhodit aktuální náklad. +lenum.paytake = Vzít náklad na urÄité pozici. +lenum.payenter = Vstoupit/pÅ™istat na nákladní blok, na kterém jednotka je. +lenum.flag = Číselné oznaÄení (flag) jednotky. +lenum.mine = Těžit na pozici. +lenum.build = Postavit strukturu. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Zkontrolovat, jestli jednotka je blízko dané pozice. +lenum.boost = ZaÄít/PÅ™estat posilovat. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties index 71609c0d2d..76c71da909 100644 --- a/core/assets/bundles/bundle_da.properties +++ b/core/assets/bundles/bundle_da.properties @@ -1,27 +1,30 @@ credits.text = Lavet af [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[] credits = Credits -contributors = Oversættere og Bidragsyder +contributors = Oversættere og bidragsyder discord = Tilmeld dig Mindustry Discord! link.discord.description = Det officielle Mindustry Discord chatrum link.reddit.description = Mindustry subreddit -link.github.description = Spillets source code +link.github.description = Spillets kildekode link.changelog.description = Liste over opdateringer link.dev-builds.description = Ustabile development builds -link.trello.description = Det officielle Trello board for planlagte udvidelser -link.itch.io.description = itch.io side med PC downloads -link.google-play.description = Google Play store -link.f-droid.description = F-Droid katalog -link.wiki.description = Det officielle Mindustry wiki +link.trello.description = Det officielle Trello-board for planlagte udvidelser +link.itch.io.description = Mindustry's Itch.io-side, med muligheder for download +link.google-play.description = Google Play Store +link.f-droid.description = F-Droid-katalog +link.wiki.description = Det officielle Mindustry-wiki link.suggestions.description = ForeslÃ¥ nye ændringer +link.bug.description = Found one? Report it here +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Kunne ikke Ã¥bne link!\n Linkets URL er kopieret til din udklipsholder. screenshot = Screenshot gemt i {0} -screenshot.invalid = Banen er for stor, der er ikke nok hukommelse til screenshot. +screenshot.invalid = Banen er for stor; der er ikke nok hukommelse til et skærmbillede. gameover = Game Over +gameover.disconnect = Disconnect gameover.pvp = [accent] {0}[] hold har vundet! +gameover.waiting = [accent]Waiting for next map... highscore = [accent]Ny highscore! -copied = kopieret. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +copied = Kopieret. +indev.notready = Denne del af spillet er ikke klar endnu. load.sound = Lyd load.map = Bane @@ -31,21 +34,34 @@ load.system = System load.mod = Mods load.scripts = Scripts -be.update = En ny Bleeding Edge version er tilgængelig: -be.update.confirm = Download den og genstart nu? -be.updating = Opdatere... +be.update = En ny "bleeding edge"-version er tilgængelig: +be.update.confirm = Vil du downloade og genstarte nu? +be.updating = Opdaterer ... be.ignore = Ignorer be.noupdates = Ingen opdateringer fundet be.check = Søg efter opdateringer +mods.browser = Mod Browser +mods.browser.selected = Selected mod +mods.browser.add = Install +mods.browser.reinstall = Reinstall +mods.browser.view-releases = View Releases +mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published. +mods.browser.latest = +mods.browser.releases = Releases +mods.github.open = Repo +mods.github.open-release = Release Page +mods.browser.sortdate = Sort by recent +mods.browser.sortstars = Sort by stars schematic = Skabelon schematic.add = Gem skabelon... schematics = Skabeloner -schematic.replace = En skabelon med det navn eksistere allerede. Vil du erstatte den? -schematic.exists = A schematic by that name already exists. -schematic.import = Importer skabelon... -schematic.exportfile = Exporter Fil -schematic.importfile = Importer Fil +schematic.search = Search schematics... +schematic.replace = En skabelon med det navn eksisterer allerede - vil du erstatte denne? +schematic.exists = En skabelon med det navn eksisterer allerede. +schematic.import = Importer skabelon ... +schematic.exportfile = Exporter fil +schematic.importfile = Importer fil schematic.browseworkshop = Søg i Workshop schematic.copy = Kopier til udklipsholder schematic.copy.import = Importer fra udklipsholder @@ -53,39 +69,50 @@ schematic.shareworkshop = Del pÃ¥ Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Vend skabelon schematic.saved = Skabelon gemt. schematic.delete.confirm = Denne skabelon vil være væk for altid. -schematic.rename = Omdøb skabelon +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blokke -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Skabeloner er slÃ¥et fra.[]\nDu har ikke lov til at bruge skabeloner pÃ¥ denne [accent]bane[] eller [accent]server. +schematic.tags = Tags: +schematic.edittags = Edit Tags +schematic.addtag = Add Tag +schematic.texttag = Text Tag +schematic.icontag = Icon Tag +schematic.renametag = Rename Tag +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Delete this tag completely? +schematic.tagexists = That tag already exists. +stats = Stats +stats.wave = Waves Defeated +stats.unitsCreated = Units Created +stats.enemiesDestroyed = Enemies Destroyed +stats.built = Buildings Built +stats.destroyed = Buildings Destroyed +stats.deconstructed = Buildings Deconstructed +stats.playtime = Time Played -stat.wave = Invasionsbølger nedslÃ¥et:[accent] {0} -stat.enemiesDestroyed = Fjender nedlagt:[accent] {0} -stat.built = Bygninger opført:[accent] {0} -stat.destroyed = Bygninger ødelagt:[accent] {0} -stat.deconstructed = Bygninger nedrevet:[accent] {0} -stat.delivered = Ressourcer afsendt: -stat.playtime = Spilletid:[accent] {0} -stat.rank = Endelig Rang: [accent]{0} - -globalitems = [accent]Global Items -map.delete = Er du sikker pÃ¥ at du vil slette banen"[accent]{0}[]"? -level.highscore = High Score: [accent]{0} +globalitems = [accent]Globale Genstande +map.delete = Er du sikker pÃ¥ at du vil slette banen, "[accent]{0}[]"? +level.highscore = High-score: [accent]{0} level.select = Vælg bane level.mode = Spiltilstand: -coreattack = < Kerne er under angreb!! > +coreattack = < Kerne er under angreb! > nearpoint = [[ [scarlet]FORLAD INVASIONSZONE OMGÃ…ENDE[] ]\n Fare for udslettelse -database = Kerne database +database = Kerne-database +database.button = Database savegame = Gem spil loadgame = Hent spil joingame = Deltag i spil -customgame = Bregerdefineret spil +customgame = Brugerdefinerede spil newgame = Nyt spil none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Kort position = Position close = Luk -website = Webside +website = Hjemmeside quit = Afslut -save.quit = Gem & afslut +save.quit = Gem og afslut maps = Baner maps.browse = Søg i baner continue = Fortsæt @@ -95,40 +122,54 @@ pickcolor = Vælg farve preparingconfig = Klargører konfiguration preparingcontent = Klargører indhold uploadingcontent = Uploading indhold -uploadingpreviewfile = Uploading ForhÃ¥ndsvisnings File +uploadingpreviewfile = Uploader forhÃ¥ndsvisnings-fil committingchanges = Sender ændringer done = Færdig feature.unsupported = Din enhed understøtter ikke denne funktion - -mods.alphainfo = Vær opmærksom pÃ¥ at mods ikke er færdigudviklet.[scarlet]De kan indeholde mange fejl[].\n Hvis du oplever fejl can du reportére dem pÃ¥ Mindustry GitHub eller Discord. +mods.initfailed = [red]âš [] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[] mods = Mods mods.none = [LIGHT_GRAY]Ingen mods fundet! -mods.guide = Modding guide -mods.report = Reportér fejl +mods.guide = Modding-guide +mods.report = Rapportér fejl mods.openfolder = Ã…ben mod mappe -mods.reload = Reload -mods.reloadexit = The game will now exit, to reload mods. +mods.viewcontent = View Content +mods.reload = Genindlæs +mods.reloadexit = Spillet vil nu genstarte, for at indlæse mods. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Aktiveret mod.disabled = [scarlet]Deaktiveret +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = Deaktiver -mod.content = Content: -mod.delete.error = Kan ikke slette mod. Filer er muligvis i brug. -mod.requiresversion = [scarlet]Behøver minimal spil version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Mangler afhængigheder: {0} +mod.version = Version: +mod.content = Indhold: +mod.delete.error = Kan ikke slette mod - tilhørende filer er muligvis i brug. +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Indholds fejl +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Fejl ved afhentning af indhold. mod.noerrorplay = [scarlet]Du har mods med fejl.[] Deaktiver det eller løs fejl før du starter spillet. -mod.nowdisabled = [scarlet]Mod '{0}' mangler afhængigheder:[accent] {1}\n[lightgray]Disse mods skal hentes først.\nDette mod vil blive deaktiver automatisk. +mod.nowdisabled = [scarlet]Mod '{0}' mangler afhængigheder:[accent] {1}\n[lightgray]Disse mods skal hentes først.\nDenne mod vil blive deaktiveret automatisk. mod.enable = Aktiver mod.requiresrestart = Spillet vil nu lukke for at tilføje mod ændringerne mod.reloadrequired = [scarlet]Genindlæsning pÃ¥krævet -mod.import = Importer Mod -mod.import.file = Import File -mod.import.github = Importer GitHub Mod -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! -mod.item.remove = Denne genstand er tilføjet af [accent] '{0}'[] mod. Afinstaller mod for at fjerne den. +mod.import = Importer mod +mod.import.file = Importer fil +mod.import.github = Importer mod fra GitHub +mod.jarwarn = [scarlet]JAR er ekstraordinært usikre.[]\nVær sikker pÃ¥ at kilden er troværdig! +mod.item.remove = Denne genstand er tilføjet af [accent] '{0}'[]. Afinstallér denne mod for at fjerne den. mod.remove.confirm = Dette mod vil blive slettet. mod.author = [LIGHT_GRAY]Forfatter:[] {0} mod.missing = Dette spil benytter mods som ikke er tilgængelige. Er du sikker pÃ¥ at du vil hente det? Dette kan medfører fejl i spillet\n[lightgray]Mods:\n{0} @@ -139,398 +180,626 @@ mod.scripts.disable = Your device does not support mods with scripts. You must d about.button = Om name = Navn: noname = Vælg et[accent] spiller navn[] først. -planetmap = Planet Map -launchcore = Launch Core +search = Search: +planetmap = Planet-kort +launchcore = Affyr kerne filename = Fil navn: unlocked = Nyt indhold tilgængeligt! +available = New research available! +unlock.incampaign = < Unlock in campaign for details > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Færdiggjort techtree = Teknologi træ +techtree.select = Tech Tree Selection +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Load +research.discard = Discard research.list = [lightgray]Forskning: research = Udforsk researched = [lightgray]{0} Udforsket. -research.progress = {0}% complete +research.progress = {0}% færdiggjort players = {0} spillere players.single = {0} spiller players.search = search -players.notfound = [gray]no players found +players.notfound = [gray]Ingen spillere fundet. server.closing = [accent]Lukker server... -server.kicked.kick = Du er blevet kicked fra serveren! -server.kicked.whitelist = Du er ikke whitelisted her. +server.kicked.kick = Du er blevet sparket ud af serveren! +server.kicked.whitelist = Du er ikke pÃ¥ gæstelisten her. server.kicked.serverClose = Server lukket. -server.kicked.vote = Du er blevet vote-kicked. Farvel. -server.kicked.clientOutdated = Forældet client! Opdater dit spil! -server.kicked.serverOutdated = Forældet server! FÃ¥ værten til at opdatere! -server.kicked.banned = Du er banned pÃ¥ denne server. +server.kicked.vote = Du er blevet stemt ud af serveren. Hygge-hejsa. +server.kicked.clientOutdated = Forældet klient! Opdater dit spil! +server.kicked.serverOutdated = Forældet server! FÃ¥ værten til at opdatere serveren! +server.kicked.banned = Du er banlyst fra denne server. server.kicked.typeMismatch = Denne server er ikke kompatibel med din version. -server.kicked.playerLimit = Denne server are fuld. Vent pÃ¥ en ledig plads. -server.kicked.recentKick = Du er blevet kicked for nylig.\nVent før du forsøger at forbinde igen. +server.kicked.playerLimit = Denne server er fuld - vent pÃ¥ en ledig plads. +server.kicked.recentKick = Du er blevet sparket ud for nylig.\nVent før du forsøger at forbinde igen. server.kicked.nameInUse = Der er allerede nogen med dette navn\npÃ¥ denne server. server.kicked.nameEmpty = Det valgte navn er ugyldigt. -server.kicked.idInUse = Du er allered pÃ¥ denne server! Det er ikke tilladt er forbinde med flere konti. -server.kicked.customClient = Denne server understøtter ikke brugerdefineret versioner. Download en officiel version. +server.kicked.idInUse = Du er allerede pÃ¥ denne server! Det er ikke tilladt er forbinde fra flere klienter. +server.kicked.customClient = Denne server understøtter ikke brugerdefinerede versioner. Download en officiel version af spillet. server.kicked.gameover = Game over! -server.kicked.serverRestarting = Server genstarter. -server.versions = Din version:[accent] {0}[]\nServer version:[accent] {1}[] -host.info = [accent]Afhold[] knappen starter en server pÃ¥ port [scarlet]6567[]. Enhver pÃ¥ samme [lightgray]wifi elle lokalt netværk[] burde kunne se din server i deres server liste.\n\n[accent]Port forwarding[]er pÃ¥krævet. Hvis du ønsker at spillere fra hele verden skal kunne forbinde med IP\n\n[lightgray]Note: Hvis nogen har problemer med at forbinde til din LAN server, sørg for at you har tilladt Mindustry adgang til dit lokale netværk i dine firewall indstillinger. -join.info = Her kan du forbinde til en [accent]server IP[], eller finde [accent]lokal netværk[] servers.\nBÃ¥de LAN og WAN multiplayer understøttes.\n\n[lightgray]Note: Der er ingen automatisk global server liste; Hvis du ønsker at forbinde til nogen med IP, skal du spørge værten om serverens IP. -hostserver = Afhold Multiplayer Spil +server.kicked.serverRestarting = Serveren genstarter. +server.versions = Din version:[accent] {0}[]\nServerens version:[accent] {1}[] +host.info = [accent]Afhold[]-knappen starter en server pÃ¥ port [scarlet]6567[]. Enhver pÃ¥ samme [lightgray]internet eller lokale netværk[] burde kunne se din server i deres server-liste.\n\n[accent]Port forwarding[]er pÃ¥krævet, hvis du ønsker, at spillere fra hele verden skal kunne forbinde via IP\n\n[lightgray]Note: Hvis nogen har problemer med at forbinde til din LAN-server, sÃ¥ sørg for, at du har tilladt Mindustry adgang til dit lokale netværk i dine firewall-indstillinger. +join.info = Her kan du forbinde til en [accent]server-IP[], eller finde servere pÃ¥ dit [accent]lokale netværk[].\nBÃ¥de LAN- og WAN-flerspilleri understøttes.\n\n[lightgray]Note: Der er ingen automatisk, global server-liste; Hvis du ønsker at forbinde til en server via IP, skal du spørge værten om serverens IP. +hostserver = Ã…ben multiplayer-spil invitefriends = Inviter venner hostserver.mobile = Afhold\nspil host = Afhold hosting = [accent]Starter server... hosts.refresh = Genindlæs -hosts.discovering = Finder LAN spil -hosts.discovering.any = Discovering games +hosts.discovering = Finder LAN-spil +hosts.discovering.any = Udforsker spil server.refreshing = Genindlæser server hosts.none = [lightgray]Ingen lokale spil fundet! host.invalid = [scarlet]Kan ikke forbinde til vært. servers.local = Lokale Servere +servers.local.steam = Open Games & Local Servers servers.remote = Afsides Servere servers.global = Globale Servere +servers.disclaimer = Community servers are [accent]not[] owned or controlled by the developer.\n\nServers may contain user-generated content that is not appropriate for all ages. +servers.showhidden = Show Hidden Servers +server.shown = Shown +server.hidden = Hidden +viewplayer = Viewing Player: [accent]{0} trace = Følg spiller -trace.playername = Spiller navn: [accent]{0} +trace.playername = Spiller-navn: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unik ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobil client: [accent]{0} -trace.modclient = Brugerdefineret client: [accent]{0} -invalidid = Ugyldig client ID! Indsend en fejlrapport. -server.bans = Bans +trace.modclient = Brugerdefineret klient: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: +invalidid = Ugyldig klient-ID! Indsend en fejlrapport. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team +server.bans = Banlysninger server.bans.none = Ingen banned Spillere fundet! -server.admins = Admins -server.admins.none = Ingen admins fundet! +server.admins = Administratorer +server.admins.none = Ingen administratorer fundet! server.add = Tilføj server -server.delete = Er du sikker pÃ¥ at du ønsker at slette denne server? +server.delete = Er du sikker pÃ¥, at du ønsker at slette denne server? server.edit = Rediger server server.outdated = [crimson]Forældet server![] server.outdated.client = [crimson]Forældet client![] server.version = [gray]v{0} {1} server.custombuild = [accent]Brugerdefineret version -confirmban = Er du sikker pÃ¥ at du ønsker at banne denne spiller? -confirmkick = Er du sikker pÃ¥ at du ønsker at kicke denne spiller? -confirmvotekick = Er du sikker pÃ¥ at du ønsker at vote-kicke denne spiller? -confirmunban = Er du sikker pÃ¥ at du ønsker at unbanne denne spiller? -confirmadmin = Er du sikker pÃ¥ at du ønsker at gøre denne spiller til admin? -confirmunadmin = Er du sikker pÃ¥ at du ønsker at fjerne admin status fra denne spiller? +confirmban = Er du sikker pÃ¥, at du ønsker at banne denne spiller? +confirmkick = Er du sikker pÃ¥, at du ønsker at kicke denne spiller? +confirmunban = Er du sikker pÃ¥, at du ønsker at fjerne banlysning af denne spiller? +confirmadmin = Er du sikker pÃ¥, at du ønsker at gøre denne spiller til administrator? +confirmunadmin = Er du sikker pÃ¥ at du ønsker at fjerne administrator-rolle fra denne spiller? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Deltag i spil joingame.ip = Addresse: disconnect = Afbryd forbindelse -disconnect.error = Forbindelses fejl. +disconnect.error = Forbindelsesfejl. disconnect.closed = Forbindelse afbrudt. disconnect.timeout = Maksimal ventetid overskredet. -disconnect.data = Failed to load world data! -cantconnect = Unable to join game ([accent]{0}[]). -connecting = [accent]Connecting... -connecting.data = [accent]Loading world data... +disconnect.data = Kunne ikke indlæse bane-data! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. +cantconnect = Kunne ikke deltage i spil ([accent]{0}[]). +connecting = [accent]Forbinder... +reconnecting = [accent]Reconnecting... +connecting.data = [accent]Indlæser bane-data... server.port = Port: -server.addressinuse = Address already in use! -server.invalidport = Invalid port number! -server.error = [crimson]Error hosting server. -save.new = New Save -save.overwrite = Are you sure you want to overwrite\nthis save slot? -overwrite = Overwrite -save.none = No saves found! -savefail = Failed to save game! -save.delete.confirm = Are you sure you want to delete this save? -save.delete = Delete -save.export = Export Save -save.import.invalid = [accent]This save is invalid! -save.import.fail = [crimson]Failed to import save: [accent]{0} -save.export.fail = [crimson]Failed to export save: [accent]{0} -save.import = Import Save -save.newslot = Save name: -save.rename = Rename -save.rename.text = New name: -selectslot = Select a save. -slot = [accent]Slot {0} -editmessage = Edit Message -save.corrupted = Save file corrupted or invalid! +server.invalidport = Ugyldigt port-nummer! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [crimson]Der skete en fejl. +save.new = Nyt gem +save.overwrite = Er du sikker pÃ¥, at du vil overskrive\ndette gem? +save.nocampaign = Individual save files from the campaign cannot be imported. +overwrite = Overskriv +save.none = Ingen gem fundet! +savefail = Kunne ikke gemme spil! +save.delete.confirm = Er du sikker pÃ¥ at du vil slette dette gem? +save.delete = Slet +save.export = Eksporter gem +save.import.invalid = [accent]Dette gem er i stykker! +save.import.fail = [crimson]Kunne ikke importere gem: [accent]{0} +save.export.fail = [crimson]Kunne ikke eksportere gem: [accent]{0} +save.import = Import Gem +save.newslot = Gem-navn: +save.rename = Omdøb +save.rename.text = Nyt navn: +selectslot = Vælg et gem. +slot = [accent]Gem {0} +editmessage = Ændr besked +save.corrupted = Gem-filen er ugyldig eller i stykker! empty = -on = On -off = Off -save.autosave = Autosave: {0} -save.map = Map: {0} -save.wave = Wave {0} -save.mode = Gamemode: {0} -save.date = Last Saved: {0} -save.playtime = Playtime: {0} -warning = Warning. -confirm = Confirm -delete = Delete -view.workshop = View In Workshop -workshop.listing = Edit Workshop Listing -ok = OK -open = Open +on = Til +off = Fra +save.search = Search saved games... +save.autosave = Auto-gem: {0} +save.map = Bane: {0} +save.wave = Bølge {0} +save.mode = Spil-tilstand: {0} +save.date = Sidste gem: {0} +save.playtime = Spiltid: {0} +warning = Advarsel. +confirm = Bekræft +delete = Slet +view.workshop = Se pÃ¥ Workshop +workshop.listing = Ændr Workshop-indlæg +ok = Okay +open = Ã…ben customize = Customize Rules -cancel = Cancel -openlink = Open Link -copylink = Copy Link -back = Back -data.export = Export Data -data.import = Import Data -data.openfolder = Open Data Folder -data.exported = Data exported. -data.invalid = This isn't valid game data. -data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately. -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... -reloading = [accent]Reloading Mods... -saving = [accent]Saving... -respawn = [accent][[{0}][] to respawn in core -cancelbuilding = [accent][[{0}][] to clear plan -selectschematic = [accent][[{0}][] to select+copy -pausebuilding = [accent][[{0}][] to pause building -resumebuilding = [scarlet][[{0}][] to resume building -wave = [accent]Wave {0} -wave.cap = [accent]Wave {0}/{1} -wave.waiting = [lightgray]Wave in {0} -wave.waveInProgress = [lightgray]Wave in progress -waiting = [lightgray]Waiting... -waiting.players = Waiting for players... -wave.enemies = [lightgray]{0} Enemies Remaining -wave.enemy = [lightgray]{0} Enemy Remaining +cancel = Afblæs +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +openlink = Ã…ben Link +copylink = Kopier Link +back = Tilbage +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. +data.export = Eksporter data +data.import = Importer data +data.openfolder = Ã…ben datamappe. +data.exported = Data eksporteret. +data.invalid = Dette er ikke acceptabel spildata. +data.import.confirm = Import af ekstern spildata vil slette[scarlet] alt[] dit nuværende fremskridt.\n[accent]Dette kan ikke gøres om![]\n\nSÃ¥ snart din data er importeret, vil spillet lukke. +quit.confirm = Er du sikker pÃ¥ at du vil afslutte? +loading = [accent]Indlæser... +downloading = [accent]Downloading... +saving = [accent]Gemmer... +respawn = [accent][[{0}][] for at genopstÃ¥ ved kernen +cancelbuilding = [accent][[{0}][] for at rydde plan +selectschematic = [accent][[{0}][] for at etablere skabelon +pausebuilding = [accent][[{0}][] for at pause byggeproces +resumebuilding = [scarlet][[{0}][] for at genoptage byggeproces +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] +wave = [accent]Bølge {0} +wave.cap = [accent]Bølge {0}/{1} +wave.waiting = [lightgray]Bølge om {0} +wave.waveInProgress = [lightgray]Bølge i gang +waiting = [lightgray]Venter... +waiting.players = Venter pÃ¥ spillere... +wave.enemies = [lightgray]{0} Fjender tilbage +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core +wave.enemy = [lightgray]{0} Fjende tilbage wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. -loadimage = Load Image -saveimage = Save Image -unknown = Unknown -custom = Custom -builtin = Built-In -map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! -map.random = [accent]Random Map -map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] 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-orange[] cores to this map in the editor. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[SCARLET] red[] cores to this map in the editor. -map.invalid = Error loading map: corrupted or invalid map file. -workshop.update = Update Item -workshop.error = Error fetching workshop details: {0} -map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! -workshop.menu = Select what you would like to do with this item. -workshop.info = Item Info -changelog = Changelog (optional): -eula = Steam EULA -missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. -publishing = [accent]Publishing... -publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! -publish.error = Error publishing item: {0} -steam.error = Failed to initialize Steam services.\nError: {0} +loadimage = Indlæs billede +saveimage = Gem billede +unknown = Ukendt +custom = Brugerdefineret +builtin = Indbygget +map.delete.confirm = Er du sikker pÃ¥, at du vil slette dette spil? Dette kan ikke blive genskabt! +map.random = [accent]Tilfældig bane +map.nospawn = Denne bane har ikke nogen kerne, spillere kan opstÃ¥ fra! Tilføj en {0} kerne til denne bane via bane-editoren. +map.nospawn.pvp = Denne bane har ikke nogen kerne, modstandere kan opstÃ¥ fra! Tilføj en [scarlet]ikke-orange[] kerne til banen via bane-editoren. +map.nospawn.attack = Denne bane har ikke nogen kerne, spillerne kan angribe! Tilføj en {0} kerne til banen via bane-editoren. +map.invalid = Kunne ikke indlæse bane: bane-filen er i stykker. +workshop.update = Opdater genstand +workshop.error = Der skete en fejl ved indlæsning af Workshop-detaljer: {0} +map.publish.confirm = Er du sikker pÃ¥, at du vil offentliggøre denne bane?\n\n[lightgray]Vær sikker pÃ¥, at du overholder Workshop-EULA'en først, for at din bane kan blive godkendt! +workshop.menu = Vælg hvad du vil gøre med denne genstand. +workshop.info = Genstands-Info +changelog = Changelog (ikke pÃ¥krævet): +updatedesc = Overwrite Title & Description +eula = Steam-EULA +missing = Denne genstand er blevet slettet eller rykket.\n[lightgray]Workshop-indlægget er blevet automatisk frakoblet. +publishing = [accent]Offentliggør... +publish.confirm = Er du sikker pÃ¥, at du vil offentliggøre dette?\n\n[lightgray]Vær sikker pÃ¥, at du overholder Workshop-EULA'en først, for at dit indlæg kan blive godkendt! +publish.error = Der skete en fejl ved offentliggørelsen: {0} +steam.error = Kunne ikke etablere Steam-forbindelse.\nFejl: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs -editor.brush = Brush -editor.openin = Open In Editor -editor.oregen = Ore Generation -editor.oregen.info = Ore Generation: -editor.mapinfo = Map Info -editor.author = Author: -editor.description = Description: -editor.nodescription = A map must have a description of at least 4 characters before being published. -editor.waves = Waves: -editor.rules = Rules: -editor.generation = Generation: -editor.ingame = Edit In-Game -editor.publish.workshop = Publish On Workshop -editor.newmap = New Map +editor.brush = Pensel +editor.openin = Ã…ben i editor +editor.oregen = Malm-generering +editor.oregen.info = Malm-generering: +editor.mapinfo = Bane-info +editor.author = Skaber: +editor.description = Beskrivelse: +editor.nodescription = En banes beskrivelse skal være længere end 4 tegn, for at kunne blive offentliggjort. +editor.waves = Bølge: +editor.rules = Regler: +editor.generation = Generering: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. +editor.ingame = Ændr i spil +editor.playtest = Playtest +editor.publish.workshop = Publicer pÃ¥ Workshop +editor.newmap = Ny bane editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop -waves.title = Waves -waves.remove = Remove -waves.never = -waves.every = every -waves.waves = wave(s) -waves.perspawn = per spawn -waves.shields = shields/wave -waves.to = to -waves.guardian = Guardian -waves.preview = Preview -waves.edit = Edit... -waves.copy = Copy to Clipboard -waves.load = Load from Clipboard -waves.invalid = Invalid waves in clipboard. -waves.copied = Waves copied. -waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.title = Bølger +waves.remove = Fjern +waves.every = hver +waves.waves = bølge(r) +waves.health = health: {0}% +waves.perspawn = per opstandelsessted +waves.shields = skjold/bølge +waves.to = til +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units +waves.guardian = Vogter +waves.preview = ForhÃ¥ndsvisning +waves.edit = Rediger... +waves.random = Random +waves.copy = Kopier til udklipsholder +waves.load = Indlæs fra udklipsholder +waves.invalid = Ugyldige bølger i udklipsholder. +waves.copied = Bølger kopieret. +waves.none = Ingen fjender defineret.\nBemærk at bølger uden fjender automatisk erstattes af standard-layoutet. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health +wavemode.counts = tal +wavemode.totals = i alt +wavemode.health = liv +all = All -editor.default = [lightgray] -details = Details... -edit = Edit... -editor.name = Name: -editor.spawn = Spawn Unit -editor.removeunit = Remove Unit -editor.teams = Teams -editor.errorload = Error loading file. -editor.errorsave = Error saving file. -editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. -editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. -editor.errornot = This is not a map file. -editor.errorheader = This map file is either not valid or corrupt. -editor.errorname = Map has no name defined. Are you trying to load a save file? -editor.update = Update -editor.randomize = Randomize -editor.apply = Apply -editor.generate = Generate -editor.resize = Resize -editor.loadmap = Load Map -editor.savemap = Save Map -editor.saved = Saved! -editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. -editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. -editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists! -editor.import = Import... -editor.importmap = Import Map +editor.default = [lightgray] +details = Detaljer... +edit = Rediger... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables +editor.name = Navn: +editor.spawn = PÃ¥kald enhed +editor.removeunit = Fjern enhed +editor.teams = Hold +editor.errorload = Fejl ved indlæsning af fil. +editor.errorsave = Fejl ved eksportering af fil. +editor.errorimage = Det er et billede, ikke en bane.\n\nHvis du vil importere en bane fra 3.5/en build-40-bane, sÃ¥ brug knappen 'Importer eftermægle-bane' i editoren. +editor.errorlegacy = Denne bane er forældet, og bruger et eftermægle-format, der ikke længere understøttes. +editor.errornot = Dette er ikke en bane-fil. +editor.errorheader = Denne bane er enten ugyldig eller i stykker. +editor.errorname = Banen har ikke noget navn. Forsøger du at gemme filen? +editor.errorlocales = Error reading invalid locale bundles. +editor.update = Opdater +editor.randomize = Tilfældiggør +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy +editor.apply = Anvend +editor.generate = Generer +editor.sectorgenerate = Sector Generate +editor.resize = Omskaler +editor.loadmap = Indlæs bane +editor.savemap = Gem bane +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? +editor.saved = Gemt! +editor.save.noname = Din bane har intet navn! Giv den et navn under 'bane-information'-menuen. +editor.save.overwrite = Din bane overskriver en indbygget bane! Vælge et andet navn under 'bane-information'-menuen. +editor.import.exists = [scarlet]Kunne ikke importere:[] en indbygget bane ved navn '{0}' eksisterer allerede! +editor.import = Importer... +editor.importmap = Importer bane editor.importmap.description = Import an already existing map -editor.importfile = Import File -editor.importfile.description = Import an external map file -editor.importimage = Import Legacy Map -editor.importimage.description = Import an external map image file -editor.export = Export... -editor.exportfile = Export File -editor.exportfile.description = Export a map file -editor.exportimage = Export Terrain Image -editor.exportimage.description = Export a map image file -editor.loadimage = Import Terrain -editor.saveimage = Export Terrain -editor.unsaved = [scarlet]You have unsaved changes![]\nAre you sure you want to exit? -editor.resizemap = Resize Map +editor.importfile = Importer fil +editor.importfile.description = Importer en ekstern bane-fil +editor.importimage = Importer eftermægle-bane +editor.importimage.description = Importer en ekstern bane-billed-fil +editor.export = Exporter... +editor.exportfile = Exporter fil +editor.exportfile.description = Eksporter bane-fil +editor.exportimage = Eksporter terræn-billede +editor.exportimage.description = Eksporter en bane-billed-fil +editor.loadimage = Importer terræn +editor.saveimage = Eksporter terræn +editor.unsaved = [scarlet]Du har ændringer, der ikke er gemt![]\nEr du sikker pÃ¥, at du vil afbryde? +editor.resizemap = Omskaler bane editor.mapname = Map Name: -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.exists = A map with this name already exists. -editor.selectmap = Select a map to load: +editor.overwrite = [accent]Advarsel!\nDenne fil overskrider en eksisterende bane. +editor.overwrite.confirm = [scarlet]Advarsel![] En bane med dette navn eksisterer allerede. Er du sikker pÃ¥, at du vil overskrive det? +editor.exists = En bane med dette navn eksisterer allerede. +editor.selectmap = Vælg en bane, du vil indlæse: -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. +toolmode.replace = Erstat +toolmode.replace.description = Tegner udelukkende pÃ¥ solide blokke. +toolmode.replaceall = Erstat alt +toolmode.replaceall.description = Erstatter alle blokke i banen. +toolmode.orthogonal = Retvinklet +toolmode.orthogonal.description = Tegner kun retvinklede linjer. +toolmode.square = Kvadrat +toolmode.square.description = Kvadrat-pensel. +toolmode.eraseores = Udvisk malm +toolmode.eraseores.description = Udvisker udelukkende malm. +toolmode.fillteams = Udfyld hold +toolmode.fillteams.description = Udfylder hold i stedet for blokke. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. +toolmode.drawteams = Tegn hold +toolmode.drawteams.description = Tegner hold i stedet for blokke. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. -filters.empty = [lightgray]No filters! Add one with the button below. -filter.distort = Distort -filter.noise = Noise -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select +filters.empty = [lightgray]Ingen filtre! Tilføj filter nedenfor. +filter.distort = Forvræng +filter.noise = Støj +filter.enemyspawn = Fjendtligt opstandelsessted-vælger +filter.spawnpath = Sti til opstandelse +filter.corespawn = Kerne-valg filter.median = Median -filter.oremedian = Ore Median -filter.blend = Blend -filter.defaultores = Default Ores -filter.ore = Ore -filter.rivernoise = River Noise -filter.mirror = Mirror -filter.clear = Clear -filter.option.ignore = Ignore -filter.scatter = Scatter -filter.terrain = Terrain -filter.option.scale = Scale +filter.oremedian = Malm-median +filter.blend = Blanding +filter.defaultores = Standard-malm +filter.ore = Malm +filter.rivernoise = Flod-støj +filter.mirror = Spejl +filter.clear = Ryd +filter.option.ignore = Ignorer +filter.scatter = Spreder +filter.terrain = Terræn +filter.logic = Logic +filter.option.scale = Skaler filter.option.chance = Chance -filter.option.mag = Magnitude -filter.option.threshold = Threshold -filter.option.circle-scale = Circle Scale -filter.option.octaves = Octaves -filter.option.falloff = Falloff -filter.option.angle = Angle -filter.option.amount = Amount -filter.option.block = Block -filter.option.floor = Floor -filter.option.flooronto = Target Floor -filter.option.target = Target -filter.option.wall = Wall -filter.option.ore = Ore -filter.option.floor2 = Secondary Floor -filter.option.threshold2 = Secondary Threshold +filter.option.mag = Størrelse +filter.option.threshold = Tærskel +filter.option.circle-scale = Cirkel-skaler +filter.option.octaves = Oktaver +filter.option.falloff = Frafald +filter.option.angle = Vinkel +filter.option.tilt = Tilt +filter.option.rotate = Rotate +filter.option.amount = Mængde +filter.option.block = Blok +filter.option.floor = Gulv +filter.option.flooronto = Udvalgt gulv +filter.option.target = MÃ¥l +filter.option.replacement = Replacement +filter.option.wall = Mur +filter.option.ore = Malm +filter.option.floor2 = Sekundært gulv +filter.option.threshold2 = Sekundær terskel filter.option.radius = Radius -filter.option.percentile = Percentile +filter.option.percentile = Percentil +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon -width = Width: -height = Height: +width = Bredde: +height = Højde: menu = Menu -play = Play -campaign = Campaign -load = Load -save = Save +play = Spil +campaign = Kampagne +load = Indlæs +save = Gem fps = FPS: {0} ping = Ping: {0}ms -language.restart = Please restart your game for the language settings to take effect. -settings = Settings -tutorial = Tutorial -tutorial.retake = Re-Take Tutorial +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = Genstart spillet, sÃ¥ sprog-ændring kan træde i kraft. +settings = Indstillinger +tutorial = Kursus +tutorial.retake = Gentag Kursus editor = Editor -mapeditor = Map Editor +mapeditor = Bane-editor -abandon = Abandon -abandon.text = This zone and all its resources will be lost to the enemy. -locked = Locked -complete = [lightgray]Complete: -requirement.wave = Reach Wave {0} in {1} -requirement.core = Destroy Enemy Core in {0} +abandon = Forlad +abandon.text = Denne zone og alle tilhørende resurser tilfalder fjenden. +locked = LÃ¥st +complete = [lightgray]Færdiggjort: +requirement.wave = NÃ¥ bølge {0} i {1} +requirement.core = Destruer fjendens kerne i {0} requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Best Wave: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. -uncover = Uncover -configure = Configure Loadout -loadout = Loadout -resources = Resources -bannedblocks = Banned Blocks -addall = Add All +requirement.produce = Produce {0} +requirement.capture = Overtag {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} +launch.text = Affyr +map.multiplayer = Only the host can view sectors. +uncover = Afdæk +configure = Konfigurer udrustning +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  +loadout = Udrustning +resources = Resurser +resources.max = Max +bannedblocks = Banlyste blokke +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist +addall = Tilføj alle +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} -configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} unlocked. -zone.requirement.complete = Requirement for {0} completed:[lightgray]\n{1} -zone.resources = [lightgray]Resources Detected: -zone.objective = [lightgray]Objective: [accent]{0} -zone.objective.survival = Survive -zone.objective.attack = Destroy Enemy Core -add = Add... -boss.health = Boss Health +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = Mængde skal være mellem 0 og {0}. +add = Tilføj... +guardian = Guardian -connectfail = [crimson]Connection error:\n\n[accent]{0} -error.unreachable = Server unreachable.\nIs the address spelled correctly? -error.invalidaddress = Invalid address. -error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! -error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! -error.alreadyconnected = Already connected. -error.mapnotfound = Map file not found! -error.io = Network I/O error. -error.any = Unknown network error. -error.bloom = Failed to initialize bloom.\nYour device may not support it. +connectfail = [crimson]Forbindelsesfejl:\n\n[accent]{0} +error.unreachable = Kunne ikke forbinde til serveren.\nEr adressen mon korrekt indtastet? +error.invalidaddress = Ugyldig adresse. +error.timedout = Tiden udløb!\nTjek om værten har port forwarded ordentligt, og hvorvidt adressen er korrekt indtastet! +error.mismatch = Pakkefejl:\nDette kan skyldes, at klientens version ikke matcher serverens.\nDobbeltjek, at du og værten har samme Mindustry-version! +error.alreadyconnected = Allerede forbundet. +error.mapnotfound = Bane-filen er blevet væk! +error.io = Network I/O-fejl. +error.any = Ukendt netværksfejl. +error.bloom = Kunne ikke etablere bloom-effekt.\nMÃ¥ske understøtter din enhed den ikke. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = Rain -weather.snow.name = Snow +weather.rain.name = Regn +weather.snowing.name = Sne weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.fog.name = TÃ¥ge +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: +sectors.resources = Resurser: +sectors.production = Produktion: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +sectors.resume = Genoptag +sectors.launch = Affyr +sectors.select = Vælg +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]ingen (solen) +sectors.redirect = Redirect Launch Pads +sectors.rename = Omdøb sektor +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost +sector.missingresources = [scarlet]Ikke nok resurser i kernen. +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Solen +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest +sector.craters.name = Kraterne +sector.frozenForest.name = Den Frosne Skov sector.ruinousShores.name = Ruinous Shores sector.stainedMountains.name = Stained Mountains sector.desolateRift.name = Desolate Rift @@ -539,6 +808,22 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,382 +836,644 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. -settings.language = Language -settings.data = Game Data -settings.reset = Reset to Defaults +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian + +settings.language = Sprog +settings.data = Spildata +settings.reset = Nulstil til standard settings.rebind = Rebind -settings.resetKey = Reset -settings.controls = Controls -settings.game = Game -settings.sound = Sound -settings.graphics = Graphics -settings.cleardata = Clear Game Data... -settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone! -settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? -paused = [accent]< Paused > -clear = Clear -banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector -yes = Yes -no = No +settings.resetKey = Nulstil +settings.controls = Styring +settings.game = Spil +settings.sound = Lyd +settings.graphics = Grafik +settings.cleardata = Ryd spildata... +settings.clear.confirm = Er du helt sikker pÃ¥ at du vil rydde alt data?\nDet, der gøres, kan ikke gøres om! +settings.clearall.confirm = [scarlet]KÆMPE ADVARSEL![]\nDette vil rydde alt data, ogsÃ¥ gem, baner, oplÃ¥ste ting og keybindings.\nSÃ¥ snart du trykker 'ok', vil spillet tilintetgøre alt! +settings.clearsaves.confirm = Er du sikker pÃ¥ at du vil rydde dine gem? +settings.clearsaves = Ryd gem +settings.clearresearch = Ryd research +settings.clearresearch.confirm = Er du sikker pÃ¥, at du vil rydde alt din research? +settings.clearcampaignsaves = Ryd kampagne-gem +settings.clearcampaignsaves.confirm = Er du sikker pÃ¥ at du vil slette alt kampagne-fremskridt? +paused = [accent]< Pauset > +clear = Ryd +banned = [scarlet]Banlyst +unsupported.environment = [scarlet]Unsupported Environment +yes = Ja +no = Nej info.title = Info -error.title = [crimson]An error has occured -error.crashtitle = An error has occured -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} +error.title = [crimson]Der er opstÃ¥et en fejl. +error.crashtitle = Der er opstÃ¥et en fejl. +unit.nobuild = [scarlet]Denne enhed kan ikke bygge +lastaccessed = [lightgray]Sidst tilgÃ¥et: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Input stat.output = Output +stat.maxefficiency = Max Efficiency stat.booster = Booster -stat.tiles = Required Tiles +stat.tiles = PÃ¥krævet felt stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Power Capacity stat.powershot = Power/Shot -stat.damage = Damage -stat.targetsair = Targets Air -stat.targetsground = Targets Ground -stat.itemsmoved = Move Speed -stat.launchtime = Time Between Launches -stat.shootrange = Range -stat.size = Size -stat.displaysize = Display Size -stat.liquidcapacity = Liquid Capacity -stat.powerrange = Power Range -stat.linkrange = Link Range -stat.instructions = Instructions -stat.powerconnections = Max Connections -stat.poweruse = Power Use -stat.powerdamage = Power/Damage -stat.itemcapacity = Item Capacity -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = Base Power Generation -stat.productiontime = Production Time +stat.damage = Skade +stat.targetsair = Skyder flyvere +stat.targetsground = Skyder fodgængere +stat.itemsmoved = Bevægelseshastighed +stat.launchtime = Tid mellem affyringer +stat.shootrange = Rækkevidde +stat.size = Størrelse +stat.displaysize = Visnings-størrelse +stat.liquidcapacity = Væske-kapacitet +stat.powerrange = Kraft-rækkevidde +stat.linkrange = Forbindelsesrækkevidde +stat.instructions = Instruktioner +stat.powerconnections = Max forbindelser +stat.poweruse = Strømforbrug +stat.powerdamage = Strøm/Skade +stat.itemcapacity = Beholdningskapacitet +stat.memorycapacity = Hukommelseskapacitet +stat.basepowergeneration = Grundlæggende strøm-output +stat.productiontime = Produktionstid stat.repairtime = Block Full Repair Time -stat.speedincrease = Speed Increase -stat.range = Range -stat.drilltier = Drillables -stat.drillspeed = Base Drill Speed -stat.boosteffect = Boost Effect -stat.maxunits = Max Active Units -stat.health = Health -stat.buildtime = Build Time -stat.maxconsecutive = Max Consecutive -stat.buildcost = Build Cost -stat.inaccuracy = Inaccuracy -stat.shots = Shots -stat.reload = Shots/Second -stat.ammo = Ammo -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type +stat.speedincrease = Hastigheds-forøgelse +stat.range = Rækkevidde +stat.drilltier = Kan bores +stat.drillspeed = Grundlæggende bore-hastighed +stat.boosteffect = Boost-effekt +stat.maxunits = Max aktive enheder +stat.health = Helbred +stat.armor = Armor +stat.buildtime = Bygge-tid +stat.maxconsecutive = Max fortløbende +stat.buildcost = Bygge-pris +stat.inaccuracy = Unøjagtighed +stat.shots = Skud +stat.reload = Skud pr. sekund +stat.ammo = Ammunition +stat.shieldhealth = Skjold-helbred +stat.cooldowntime = Nedkølingstid +stat.explosiveness = Eksplosivitet +stat.basedeflectchance = Grundlæggende reflektions-chance +stat.lightningchance = Lyn-chance +stat.lightningdamage = Lyn-skade +stat.flammability = Brændbarhed +stat.radioactivity = Radioaktivitet +stat.charge = Charge +stat.heatcapacity = Varmekapacitet +stat.viscosity = Viskositet +stat.temperature = Temperatur +stat.speed = Hastighed +stat.buildspeed = Bygge-hastighed +stat.minespeed = Mine-hastighed +stat.minetier = Mine-niveau +stat.payloadcapacity = Last-kapacitet +stat.abilities = Evner +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Kraftfelt +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Reparationsfelt +ability.repairfield.description = Repairs nearby units +ability.statusfield = Statusfelt +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fabrik +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Skjold-regenereringsfelt +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time -bar.drilltierreq = Better Drill Required -bar.noresources = Missing Resources -bar.corereq = Core Base Required -bar.drillspeed = Drill Speed: {0}/s -bar.pumpspeed = Pump Speed: {0}/s -bar.efficiency = Efficiency: {0}% -bar.powerbalance = Power: {0}/s -bar.powerstored = Stored: {0}/{1} -bar.poweramount = Power: {0} -bar.poweroutput = Power Output: {0} -bar.powerlines = Connections: {0}/{1} -bar.items = Items: {0} -bar.capacity = Capacity: {0} +bar.onlycoredeposit = Only Core Depositing Allowed + +bar.drilltierreq = Kræver bedre bor +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Mangler resurser +bar.corereq = Kerne pÃ¥krævet +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached +bar.drillspeed = Borehastighed: {0}/s +bar.pumpspeed = Pumpehastighed: {0}/s +bar.efficiency = Effektivitet: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = Strøm: {0}/s +bar.powerstored = Gemt: {0}/{1} +bar.poweramount = Strøm: {0} +bar.poweroutput = Strøm-output: {0} +bar.powerlines = Forbindelser: {0}/{1} +bar.items = Genstande: {0} +bar.capacity = Kapacitet: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] -bar.liquid = Liquid -bar.heat = Heat -bar.power = Power -bar.progress = Build Progress +bar.liquid = Væske +bar.heat = Varme +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) +bar.power = Strøm +bar.progress = Byggeproces +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Processor kontrolleret -bullet.damage = [stat]{0}[lightgray] damage -bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles -bullet.incendiary = [stat]incendiary -bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag -bullet.knockback = [stat]{0}[lightgray] knockback -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred -bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier -bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.damage = [stat]{0}[lightgray] skade +bullet.splashdamage = [stat]{0}[lightgray] omrÃ¥deskade ~[stat] {1}[lightgray] felter +bullet.incendiary = [stat]brændfarlig +bullet.homing = [stat]mÃ¥lsøgende +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] tilbageslag +bullet.pierce = [stat]{0}[lightgray]x gennemboring +bullet.infinitepierce = [stat]gennemboring +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair +bullet.multiplier = [stat]{0}[lightgray]x ammunitionsfaktor +bullet.reload = [stat]{0}[lightgray]x skydehastighed +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles -unit.blocks = blocks -unit.blockssquared = blocks² -unit.powersecond = power units/second -unit.liquidsecond = liquid units/second -unit.itemssecond = items/second -unit.liquidunits = liquid units -unit.powerunits = power units -unit.degrees = degrees -unit.seconds = seconds -unit.minutes = mins -unit.persecond = /sec +unit.blocks = blokke +unit.blockssquared = blokke² +unit.powersecond = strømenheder/sekund +unit.tilessecond = tiles/second +unit.liquidsecond = væskeenheder/sekund +unit.itemssecond = genstande/sekund +unit.liquidunits = væskeenheder +unit.powerunits = strømenheder +unit.heatunits = heat units +unit.degrees = grader +unit.seconds = sekunder +unit.minutes = minutter +unit.persecond = /sek unit.perminute = /min -unit.timesspeed = x speed +unit.timesspeed = x hastighed +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health -unit.items = items -unit.thousands = k -unit.millions = mil -unit.billions = b -category.general = General -category.power = Power -category.liquids = Liquids -category.items = Items +unit.shieldhealth = skjoldhelbred +unit.items = genstande +unit.thousands = t +unit.millions = mio +unit.billions = mia +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose +category.general = Generel +category.power = Strøm +category.liquids = Væsker +category.items = Genstande category.crafting = Input/Output -category.function = Function -category.optional = Optional Enhancements -setting.landscape.name = Lock Landscape -setting.shadows.name = Shadows -setting.blockreplace.name = Automatic Block Suggestions -setting.linear.name = Linear Filtering +category.function = Funktion +category.optional = Valgfri Opgraderinger +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation +setting.landscape.name = LÃ¥s Landskab +setting.shadows.name = Skygger +setting.blockreplace.name = Automatiske Blok-forslag +setting.linear.name = Lineær Filtrering setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate -setting.buildautopause.name = Auto-Pause Building -setting.animatedwater.name = Animated Water -setting.animatedshields.name = Animated Shields -setting.antialias.name = Antialias[lightgray] (requires restart)[] -setting.playerindicators.name = Player Indicators -setting.indicators.name = Enemy/Ally Indicators -setting.autotarget.name = Auto-Target -setting.keyboard.name = Mouse+Keyboard Controls -setting.touchscreen.name = Touchscreen Controls +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background +setting.buildautopause.name = Auto-pause af bygning +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash +setting.animatedwater.name = Animeret vand +setting.animatedshields.name = Animeret skjold +setting.playerindicators.name = Player-indikatorer +setting.indicators.name = Fjende-/venne-indikatorer +setting.autotarget.name = Auto-mÃ¥l +setting.keyboard.name = Mus- og Tasatur-styring +setting.touchscreen.name = Touchscreen-styring setting.fpscap.name = Max FPS setting.fpscap.none = None setting.fpscap.text = {0} FPS -setting.uiscale.name = UI Scaling[lightgray] (requires restart)[] -setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = Training -setting.difficulty.easy = Easy -setting.difficulty.normal = Normal -setting.difficulty.hard = Hard -setting.difficulty.insane = Insane -setting.difficulty.name = Difficulty: -setting.screenshake.name = Screen Shake -setting.effects.name = Display Effects -setting.destroyedblocks.name = Display Destroyed Blocks -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Conveyor Placement Pathfinding -setting.sensitivity.name = Controller Sensitivity -setting.saveinterval.name = Save Interval -setting.seconds = {0} seconds -setting.blockselecttimeout.name = Block Select Timeout -setting.milliseconds = {0} milliseconds -setting.fullscreen.name = Fullscreen -setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart) -setting.fps.name = Show FPS & Ping -setting.smoothcamera.name = Smooth Camera +setting.uiscale.name = UI-skalering[lightgray] (genstart kræves)[] +setting.uiscale.description = Restart required to apply changes. +setting.swapdiagonal.name = Altid diagonal placering +setting.screenshake.name = Skærm-ryst +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur +setting.effects.name = Vis effekter +setting.destroyedblocks.name = Vis destruerede blokke +setting.blockstatus.name = Vis blokstatus +setting.conveyorpathfinding.name = TransportbÃ¥nd-stifinding +setting.sensitivity.name = Styrepind-sensitivitet +setting.saveinterval.name = Gemme-interval +setting.seconds = {0} sekunder +setting.milliseconds = {0} millesekunder +setting.fullscreen.name = Fuldskærm +setting.borderlesswindow.name = Kantløst vindue[lightgray] (kræver nok genstart) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. +setting.fps.name = Vis FPS & Ping +setting.console.name = Enable Console +setting.smoothcamera.name = Blødt kamera setting.vsync.name = VSync -setting.pixelate.name = Pixelate -setting.minimap.name = Show Minimap -setting.coreitems.name = Display Core Items (WIP) -setting.position.name = Show Player Position -setting.musicvol.name = Music Volume -setting.atmosphere.name = Show Planet Atmosphere -setting.ambientvol.name = Ambient Volume -setting.mutemusic.name = Mute Music -setting.sfxvol.name = SFX Volume -setting.mutesound.name = Mute Sound -setting.crashreport.name = Send Anonymous Crash Reports -setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility -setting.playerlimit.name = Player Limit -setting.chatopacity.name = Chat Opacity -setting.lasersopacity.name = Power Laser Opacity -setting.bridgeopacity.name = Bridge Opacity -setting.playerchat.name = Display Player Bubble Chat -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.beta = Note that beta versions of the game cannot make public lobbies. -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.pixelate.name = Pixeler +setting.minimap.name = Vis minikort +setting.coreitems.name = Vis kerne-genstande +setting.position.name = Vis spillerposition +setting.mouseposition.name = Show Mouse Position +setting.musicvol.name = Musik-volumen +setting.atmosphere.name = Vis planet-atmosfære +setting.drawlight.name = Draw Darkness/Lighting +setting.ambientvol.name = Stemningslyde-volumen +setting.mutemusic.name = Forstum musik +setting.sfxvol.name = SFX-volumen +setting.mutesound.name = Forstum lyde +setting.crashreport.name = Send anonyme fejlrapporter +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Gem automatisk +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Spiller-grænse +setting.chatopacity.name = Chat-gennemsigtighed +setting.lasersopacity.name = Strøm-laser-gennemsigtighed +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Bro-gennemsigtighed +setting.playerchat.name = Vis spillers bobbel-chat +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Tilpas grænsefladen til at vise hak +setting.macnotch.description = Genstart pÃ¥krævet for at anvende ændringer +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. +public.beta = Bemærk at beta-versioner af spillet ikke kan tilslutte sig offentlige spil. +uiscale.reset = UI-størrelsen har ændret sig.\nTryk "OK" for at bekræfte størrelsen.\n[scarlet]Omgør og afslutter om[accent] {0}[] sekunder... +uiscale.cancel = Afblæs & Afslut setting.bloom.name = Bloom -keybind.title = Rebind Keys -keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. -category.general.name = General -category.view.name = View -category.multiplayer.name = Multiplayer -category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle -placement.blockselectkeys = \n[lightgray]Key: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit -keybind.clear_building.name = Clear Building -keybind.press = Press a key... -keybind.press.axis = Press an axis or key... -keybind.screenshot.name = Map Screenshot -keybind.toggle_power_lines.name = Toggle Power Lasers -keybind.toggle_block_status.name = Toggle Block Statuses -keybind.move_x.name = Move X -keybind.move_y.name = Move Y -keybind.mouse_move.name = Follow Mouse -keybind.pan.name = Pan View -keybind.boost.name = Boost -keybind.schematic_select.name = Select Region -keybind.schematic_menu.name = Schematic Menu -keybind.schematic_flip_x.name = Flip Schematic X -keybind.schematic_flip_y.name = Flip Schematic Y -keybind.category_prev.name = Previous Category -keybind.category_next.name = Next Category -keybind.block_select_left.name = Block Select Left -keybind.block_select_right.name = Block Select Right -keybind.block_select_up.name = Block Select Up -keybind.block_select_down.name = Block Select Down -keybind.block_select_01.name = Category/Block Select 1 -keybind.block_select_02.name = Category/Block Select 2 -keybind.block_select_03.name = Category/Block Select 3 -keybind.block_select_04.name = Category/Block Select 4 -keybind.block_select_05.name = Category/Block Select 5 -keybind.block_select_06.name = Category/Block Select 6 -keybind.block_select_07.name = Category/Block Select 7 -keybind.block_select_08.name = Category/Block Select 8 -keybind.block_select_09.name = Category/Block Select 9 -keybind.block_select_10.name = Category/Block Select 10 -keybind.fullscreen.name = Toggle Fullscreen -keybind.select.name = Select/Shoot -keybind.diagonal_placement.name = Diagonal Placement -keybind.pick.name = Pick Block -keybind.break_block.name = Break Block -keybind.deselect.name = Deselect -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command -keybind.shoot.name = Shoot +keybind.title = Rekonfigurer taster +keybinds.mobile = [scarlet]De fleste taster er ikke relevante for mobil. Kun basal bevægelse er understøttet. +category.general.name = Generel +category.view.name = Billede +category.command.name = Unit Command +category.multiplayer.name = Spil med andre +category.blocks.name = Blokvalg +placement.blockselectkeys = \n[lightgray]Tast: [{0}, +keybind.respawn.name = GenopstÃ¥ +keybind.control.name = Kontroller enhed +keybind.clear_building.name = Ryd bygning +keybind.press = Tryk pÃ¥ en tast... +keybind.press.axis = Tryk pÃ¥ en styrepind eller tast... +keybind.screenshot.name = Bane-skærmbillede +keybind.toggle_power_lines.name = Visning af strøm-lasere +keybind.toggle_block_status.name = Visning af blokstatus +keybind.move_x.name = Bevæg X +keybind.move_y.name = Bevæg Y +keybind.mouse_move.name = Følg musen +keybind.pan.name = Panorer billede +keybind.boost.name = Forstærk +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region +keybind.schematic_select.name = Vælg region +keybind.schematic_menu.name = Skabelon-visning +keybind.schematic_flip_x.name = Flip skabelon X +keybind.schematic_flip_y.name = Flip skabelon Y +keybind.category_prev.name = Sidste kategori +keybind.category_next.name = Næste kategori +keybind.block_select_left.name = Vælg venstre blok +keybind.block_select_right.name = Vælg højre blok +keybind.block_select_up.name = Vælg øvre blok +keybind.block_select_down.name = Vælg nedre blok +keybind.block_select_01.name = Vælg 1. kategori/blok +keybind.block_select_02.name = Vælg 2. kategori/blok +keybind.block_select_03.name = Vælg 3. kategori/blok +keybind.block_select_04.name = Vælg 4. kategori/blok +keybind.block_select_05.name = Vælg 5. kategori/blok +keybind.block_select_06.name = Vælg 6. kategori/blok +keybind.block_select_07.name = Vælg 7. kategori/blok +keybind.block_select_08.name = Vælg 8. kategori/blok +keybind.block_select_09.name = Vælg 9. kategori/blok +keybind.block_select_10.name = Vælg 10. kategori/blok +keybind.fullscreen.name = Fuldskærmstilstand +keybind.select.name = Vælg/Skyd +keybind.diagonal_placement.name = Diagonal placering +keybind.pick.name = Tag blok +keybind.break_block.name = Ødelæg blok +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories +keybind.deselect.name = Fravælg +keybind.pickupCargo.name = Saml last op +keybind.dropCargo.name = Smid last +keybind.shoot.name = Skyd keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pause -keybind.pause_building.name = Pause/Resume Building -keybind.minimap.name = Minimap +keybind.pause_building.name = Pause/Genoptag bygning +keybind.minimap.name = Minikort +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Chat -keybind.player_list.name = Player List -keybind.console.name = Console -keybind.rotate.name = Rotate -keybind.rotateplaced.name = Rotate Existing (Hold) -keybind.toggle_menus.name = Toggle Menus -keybind.chat_history_prev.name = Chat History Prev -keybind.chat_history_next.name = Chat History Next -keybind.chat_scroll.name = Chat Scroll -keybind.drop_unit.name = Drop Unit -keybind.zoom_minimap.name = Zoom Minimap -mode.help.title = Description of modes -mode.survival.name = Survival -mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play. -mode.sandbox.name = Sandbox -mode.sandbox.description = Infinite resources and no timer for waves. +keybind.player_list.name = Spiller-liste +keybind.console.name = Konsol +keybind.rotate.name = Roter +keybind.rotateplaced.name = Roter eksisterende (hold) +keybind.toggle_menus.name = SlÃ¥ menu til/fra +keybind.chat_history_prev.name = Chat-historie Sidste +keybind.chat_history_next.name = Chat-historie Næste +keybind.chat_scroll.name = Chat-scroll +keybind.chat_mode.name = Change Chat Mode +keybind.drop_unit.name = Smid enhed +keybind.zoom_minimap.name = Zoom Minikort +mode.help.title = Beskrivelse af tilstande +mode.survival.name = Overlevelse +mode.survival.description = Den normale tilstand. Begrænsede resurser og automatisk igangsættelse af bølger.\n[gray]Kræver fjendtlig base for at spille. +mode.sandbox.name = Sandkasse +mode.sandbox.description = Uendelige resurser og ingen tidsbegrænsning for bølger. mode.editor.name = Editor mode.pvp.name = PvP -mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. -mode.attack.name = Attack -mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. -mode.custom = Custom Rules +mode.pvp.description = Spil mod andre spillere lokalt.\n[gray]Kræver mindst to forskelligt farvede kerner i banen. +mode.attack.name = Angrib +mode.attack.description = Destruer fjendens base. \n[gray]Kræver en rød kerne i banen, for at spille. +mode.custom = Brugerdefinerede regler +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks -rules.infiniteresources = Infinite Resources -rules.reactorexplosions = Reactor Explosions -rules.schematic = Schematics Allowed -rules.wavetimer = Wave Timer -rules.waves = Waves -rules.attack = Attack Mode -rules.buildai = AI Building -rules.enemyCheat = Infinite AI (Red Team) Resources -rules.blockhealthmultiplier = Block Health Multiplier -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier -rules.unithealthmultiplier = Unit Health Multiplier -rules.unitdamagemultiplier = Unit Damage Multiplier -rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) -rules.wavespacing = Wave Spacing:[lightgray] (sec) -rules.buildcostmultiplier = Build Cost Multiplier -rules.buildspeedmultiplier = Build Speed Multiplier -rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier -rules.waitForWaveToEnd = Waves Wait for Enemies -rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) -rules.unitammo = Units Require Ammo -rules.title.waves = Waves -rules.title.resourcesbuilding = Resources & Building -rules.title.enemy = Enemies -rules.title.unit = Units -rules.title.experimental = Experimental -rules.title.environment = Environment -rules.lighting = Lighting -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Ambient Light -rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.duration = Duration: +rules.infiniteresources = Uendelig resurser +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair +rules.reactorexplosions = Reaktor-eksplosioner +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors +rules.schematic = Skabeloner tilladt +rules.wavetimer = Bølge-æggeur +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. +rules.waves = Bølger +rules.airUseSpawns = Air units use spawn points +rules.attack = Angrebsmode +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check +rules.enemyCheat = Uendelig AI (rødt hold) resurser. +rules.blockhealthmultiplier = Blok-helbreds-forstærker. +rules.blockdamagemultiplier = Blok-skade-forstærker. +rules.unitbuildspeedmultiplier = Enheds-produktionshastigheds-forstærker +rules.unitcostmultiplier = Unit Cost Multiplier +rules.unithealthmultiplier = Enheds-helbreds-forstærker +rules.unitdamagemultiplier = Enheds-skade-forstærker +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area +rules.enemycorebuildradius = Radius af fjendtlig kernes ubebyggelig zone:[lightgray] (felter) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Bølge spredning:[lightgray] (sek) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) +rules.buildcostmultiplier = Byggepris-forstærker +rules.buildspeedmultiplier = Byggehastigheds-forstærker +rules.deconstructrefundmultiplier = Dekonstruerings-tilbagebetalings-forstærker +rules.waitForWaveToEnd = Bølge-ventetid for fjender +rules.wavelimit = Map Ends After Wave +rules.dropzoneradius = Drop-zone-radius:[lightgray] (felter) +rules.unitammo = Enheder kræver ammunition +rules.enemyteam = Enemy Team +rules.playerteam = Player Team +rules.title.waves = Bølger +rules.title.resourcesbuilding = Resurser & bygning +rules.title.enemy = Fjender +rules.title.unit = Enheder +rules.title.experimental = Eksperimentel +rules.title.environment = Miljø +rules.title.teams = Teams +rules.title.planet = Planet +rules.lighting = Lys +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Ild +rules.anyenv = +rules.explosions = Blok/Enheds-eksplosionsskade +rules.ambientlight = Stemningslys +rules.weather = Vejr +rules.weather.frequency = Frekvens: +rules.weather.always = Always +rules.weather.duration = Varighed: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. -content.item.name = Items -content.liquid.name = Liquids -content.unit.name = Units -content.block.name = Blocks +content.item.name = Genstande +content.liquid.name = Væsker +content.unit.name = Enheder +content.block.name = Blokke +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) -item.copper.name = Copper -item.lead.name = Lead -item.coal.name = Coal -item.graphite.name = Graphite +item.copper.name = Kobber +item.lead.name = Bly +item.coal.name = Kul +item.graphite.name = Grafit item.titanium.name = Titanium item.thorium.name = Thorium -item.silicon.name = Silicon +item.silicon.name = Silicium item.plastanium.name = Plastanium -item.phase-fabric.name = Phase Fabric -item.surge-alloy.name = Surge Alloy -item.spore-pod.name = Spore Pod +item.phase-fabric.name = Fasestof +item.surge-alloy.name = Lyn-bronze +item.spore-pod.name = Svampespore item.sand.name = Sand -item.blast-compound.name = Blast Compound -item.pyratite.name = Pyratite -item.metaglass.name = Metaglass -item.scrap.name = Scrap -liquid.water.name = Water -liquid.slag.name = Slag -liquid.oil.name = Oil -liquid.cryofluid.name = Cryofluid +item.blast-compound.name = Sprængstof +item.pyratite.name = Pyratit +item.metaglass.name = Blyglas +item.scrap.name = Skrot +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst +liquid.water.name = Vand +liquid.slag.name = Ildgrød +liquid.oil.name = Olie +liquid.cryofluid.name = Frysesaft +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen -unit.dagger.name = Dagger -unit.mace.name = Mace -unit.fortress.name = Fortress +unit.dagger.name = Daggert +unit.mace.name = Kølle +unit.fortress.name = Fort unit.nova.name = Nova unit.pulsar.name = Pulsar -unit.quasar.name = Quasar +unit.quasar.name = Kvasar unit.crawler.name = Crawler unit.atrax.name = Atrax unit.spiroct.name = Spiroct @@ -939,7 +1486,7 @@ unit.antumbra.name = Antumbra unit.eclipse.name = Eclipse unit.mono.name = Mono unit.poly.name = Poly -unit.mega.name = Mega +unit.mega.name = Kæmpe unit.quad.name = Quad unit.oct.name = Oct unit.risso.name = Risso @@ -947,389 +1494,1117 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura -unit.alpha.name = Alpha +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax +unit.alpha.name = Alfa unit.beta.name = Beta unit.gamma.name = Gamma unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax -block.cliff.name = Cliff -block.sand-boulder.name = Sand Boulder -block.grass.name = Grass -block.slag.name = Slag -block.space.name = Space +block.cliff.name = Klippe +block.sand-boulder.name = Sandkampesten +block.basalt-boulder.name = Basalt Boulder +block.grass.name = Græs +block.molten-slag.name = Ildgrød +block.pooled-cryofluid.name = Cryofluid +block.space.name = Rum block.salt.name = Salt -block.salt-wall.name = Salt Wall -block.pebbles.name = Pebbles -block.tendrils.name = Tendrils -block.sand-wall.name = Sand Wall -block.spore-pine.name = Spore Pine -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder -block.snow-pine.name = Snow Pine -block.shale.name = Shale -block.shale-boulder.name = Shale Boulder -block.moss.name = Moss -block.shrubs.name = Shrubs -block.spore-moss.name = Spore Moss -block.shale-wall.name = Shale Wall -block.scrap-wall.name = Scrap Wall -block.scrap-wall-large.name = Large Scrap Wall -block.scrap-wall-huge.name = Huge Scrap Wall -block.scrap-wall-gigantic.name = Gigantic Scrap Wall -block.thruster.name = Thruster -block.kiln.name = Kiln -block.graphite-press.name = Graphite Press -block.multi-press.name = Multi-Press -block.constructing = {0} [lightgray](Constructing) -block.spawn.name = Enemy Spawn -block.core-shard.name = Core: Shard -block.core-foundation.name = Core: Foundation -block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Deep Water -block.water.name = Water -block.tainted-water.name = Tainted Water -block.darksand-tainted-water.name = Dark Sand Tainted Water -block.tar.name = Tar -block.stone.name = Stone -block.sand.name = Sand -block.darksand.name = Dark Sand -block.ice.name = Ice -block.snow.name = Snow -block.craters.name = Craters -block.sand-water.name = Sand water -block.darksand-water.name = Dark Sand Water -block.char.name = Char -block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder -block.ice-snow.name = Ice Snow -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall -block.pine.name = Pine -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud -block.white-tree-dead.name = White Tree Dead -block.white-tree.name = White Tree -block.spore-cluster.name = Spore Cluster -block.metal-floor.name = Metal Floor 1 -block.metal-floor-2.name = Metal Floor 2 -block.metal-floor-3.name = Metal Floor 3 -block.metal-floor-5.name = Metal Floor 4 -block.metal-floor-damaged.name = Metal Floor Damaged -block.dark-panel-1.name = Dark Panel 1 -block.dark-panel-2.name = Dark Panel 2 -block.dark-panel-3.name = Dark Panel 3 -block.dark-panel-4.name = Dark Panel 4 -block.dark-panel-5.name = Dark Panel 5 -block.dark-panel-6.name = Dark Panel 6 -block.dark-metal.name = Dark Metal +block.salt-wall.name = Saltvæg +block.pebbles.name = Grus +block.tendrils.name = Rødder +block.sand-wall.name = Sandvæg +block.spore-pine.name = Svampespore-træ +block.spore-wall.name = Svampesporevæg +block.boulder.name = Kampesten +block.snow-boulder.name = Snebold +block.snow-pine.name = Snegran +block.shale.name = Skifer +block.shale-boulder.name = Skifersten +block.moss.name = Mos +block.shrubs.name = Buskads +block.spore-moss.name = Svampesporemos +block.shale-wall.name = Skifervæg +block.scrap-wall.name = Skrotvæg +block.scrap-wall-large.name = Stor Skrotvæg +block.scrap-wall-huge.name = Kæmpe Skrotvæg +block.scrap-wall-gigantic.name = Enorm Skrotvæg +block.thruster.name = Trykmotor +block.kiln.name = Glasdigel +block.graphite-press.name = Grafitvalse +block.multi-press.name = Multi-valse +block.constructing = {0} [lightgray](Konstruerer) +block.spawn.name = Fjendtligt Ankomstpunkt +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Kerne: SkÃ¥r +block.core-foundation.name = Kerne: Fundament +block.core-nucleus.name = Kerne: Nukleus +block.deep-water.name = Dybt Vand +block.shallow-water.name = Vand +block.tainted-water.name = Moget Vand +block.deep-tainted-water.name = Deep Tainted Water +block.darksand-tainted-water.name = Mørkt Sand Moget Vand +block.tar.name = Tjærre +block.stone.name = Sten +block.sand-floor.name = Sand +block.darksand.name = Mørkt Sand +block.ice.name = Is +block.snow.name = Sne +block.crater-stone.name = Kratere +block.sand-water.name = Sandet Lavvande +block.darksand-water.name = Mørkt Sandet Lavvande +block.char.name = Trækul +block.dacite.name = Dacit +block.rhyolite.name = Rhyolite +block.dacite-wall.name = Dacit-væg +block.dacite-boulder.name = Dacit-klippe +block.ice-snow.name = Tiliset Sne +block.stone-wall.name = Stenvæg +block.ice-wall.name = Isvæg +block.snow-wall.name = Snevæg +block.dune-wall.name = Klitvæg +block.pine.name = Gran +block.dirt.name = Jord +block.dirt-wall.name = Jordvæg +block.mud.name = Mudder +block.white-tree-dead.name = Dødt Hvidt Træ +block.white-tree.name = Hvidt Træ +block.spore-cluster.name = Svampespore-klynge +block.metal-floor.name = Metalgulv 1 +block.metal-floor-2.name = Metalgulv 2 +block.metal-floor-3.name = Metalgulv 3 +block.metal-floor-4.name = Metal Floor 4 +block.metal-floor-5.name = Metalgulv 4 +block.metal-floor-damaged.name = Metalgulv Damaged +block.dark-panel-1.name = Mørkt Panel 1 +block.dark-panel-2.name = Mørkt Panel 2 +block.dark-panel-3.name = Mørkt Panel 3 +block.dark-panel-4.name = Mørkt Panel 4 +block.dark-panel-5.name = Mørkt Panel 5 +block.dark-panel-6.name = Mørkt Panel 6 +block.dark-metal.name = Mørkt Metal block.basalt.name = Basalt -block.hotrock.name = Hot Rock -block.magmarock.name = Magma Rock -block.copper-wall.name = Copper Wall -block.copper-wall-large.name = Large Copper Wall -block.titanium-wall.name = Titanium Wall -block.titanium-wall-large.name = Large Titanium Wall -block.plastanium-wall.name = Plastanium Wall -block.plastanium-wall-large.name = Large Plastanium Wall -block.phase-wall.name = Phase Wall -block.phase-wall-large.name = Large Phase Wall -block.thorium-wall.name = Thorium Wall -block.thorium-wall-large.name = Large Thorium Wall -block.door.name = Door -block.door-large.name = Large Door +block.hotrock.name = Varm Sten +block.magmarock.name = Magma-sten +block.copper-wall.name = Kobbervæg +block.copper-wall-large.name = Stor Kobber-væg +block.titanium-wall.name = Titanium-væg +block.titanium-wall-large.name = Stor Titanium-væg +block.plastanium-wall.name = Plastanium-væg +block.plastanium-wall-large.name = Stor Plastanium-væg +block.phase-wall.name = Fase-væg +block.phase-wall-large.name = Stor Fase-væg +block.thorium-wall.name = Thorium-væg +block.thorium-wall-large.name = Stor Thorium-væg +block.door.name = Dør +block.door-large.name = Stor Dør block.duo.name = Duo block.scorch.name = Scorch block.scatter.name = Scatter block.hail.name = Hail block.lancer.name = Lancer block.conveyor.name = Conveyor -block.titanium-conveyor.name = Titanium Conveyor -block.plastanium-conveyor.name = Plastanium Conveyor -block.armored-conveyor.name = Armored Conveyor -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts. -block.junction.name = Junction -block.router.name = Router -block.distributor.name = Distributor -block.sorter.name = Sorter -block.inverted-sorter.name = Inverted Sorter -block.message.name = Message -block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. -block.overflow-gate.name = Overflow Gate -block.underflow-gate.name = Underflow Gate -block.silicon-smelter.name = Silicon Smelter -block.phase-weaver.name = Phase Weaver -block.pulverizer.name = Pulverizer -block.cryofluid-mixer.name = Cryofluid Mixer -block.melter.name = Melter -block.incinerator.name = Incinerator -block.spore-press.name = Spore Press +block.titanium-conveyor.name = Titanium-bÃ¥nd +block.plastanium-conveyor.name = Plastanium-bÃ¥nd +block.armored-conveyor.name = Pansret BÃ¥nd +block.junction.name = Knudepunkt +block.router.name = Fordeler +block.distributor.name = Distributør +block.sorter.name = Filter +block.inverted-sorter.name = Omvendt Filter +block.message.name = Besked +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch +block.illuminator.name = Lyskilde +block.overflow-gate.name = Overflods-lÃ¥ge +block.underflow-gate.name = Underflods-lÃ¥ge +block.silicon-smelter.name = Silicium-smelter +block.phase-weaver.name = Fase-væv +block.pulverizer.name = Pulverkværn +block.cryofluid-mixer.name = Frysesaft-blander +block.melter.name = Smelter +block.incinerator.name = Forbrændingsovn +block.spore-press.name = Svampespore-presse block.separator.name = Separator -block.coal-centrifuge.name = Coal Centrifuge -block.power-node.name = Power Node -block.power-node-large.name = Large Power Node -block.surge-tower.name = Surge Tower -block.diode.name = Battery Diode -block.battery.name = Battery -block.battery-large.name = Large Battery -block.combustion-generator.name = Combustion Generator -block.steam-generator.name = Steam Generator -block.differential-generator.name = Differential Generator -block.impact-reactor.name = Impact Reactor -block.mechanical-drill.name = Mechanical Drill -block.pneumatic-drill.name = Pneumatic Drill -block.laser-drill.name = Laser Drill -block.water-extractor.name = Water Extractor -block.cultivator.name = Cultivator -block.conduit.name = Conduit -block.mechanical-pump.name = Mechanical Pump -block.item-source.name = Item Source -block.item-void.name = Item Void -block.liquid-source.name = Liquid Source -block.liquid-void.name = Liquid Void -block.power-void.name = Power Void -block.power-source.name = Power Source -block.unloader.name = Unloader -block.vault.name = Vault -block.wave.name = Wave +block.coal-centrifuge.name = Kul-centrifuge +block.power-node.name = Strøm-node +block.power-node-large.name = Stor Strøm-node +block.surge-tower.name = LyntÃ¥rn +block.diode.name = Batteri-diode +block.battery.name = Batteri +block.battery-large.name = Stort Batteri +block.combustion-generator.name = Forbrændings-generator +block.steam-generator.name = Damp-generator +block.differential-generator.name = Differential-generater +block.impact-reactor.name = Bang-reaktor +block.mechanical-drill.name = Mekanisk Bor +block.pneumatic-drill.name = Pneumatisk Bor +block.laser-drill.name = Laser-bor +block.water-extractor.name = Grundvandsboring +block.cultivator.name = Kultivator +block.conduit.name = Rør +block.mechanical-pump.name = Mekanisk Pumpe +block.item-source.name = Genstandskilde +block.item-void.name = Genstands-intethed +block.liquid-source.name = Væskekilde +block.liquid-void.name = Væske-intethed +block.power-void.name = Strøm-intethed +block.power-source.name = Strømkilde +block.unloader.name = Aflæsser +block.vault.name = Depot +block.wave.name = Sprøjte block.tsunami.name = Tsunami -block.swarmer.name = Swarmer -block.salvo.name = Salvo -block.ripple.name = Ripple -block.phase-conveyor.name = Phase Conveyor -block.bridge-conveyor.name = Bridge Conveyor -block.plastanium-compressor.name = Plastanium Compressor -block.pyratite-mixer.name = Pyratite Mixer -block.blast-mixer.name = Blast Mixer -block.solar-panel.name = Solar Panel -block.solar-panel-large.name = Large Solar Panel -block.oil-extractor.name = Oil Extractor -block.repair-point.name = Repair Point -block.pulse-conduit.name = Pulse Conduit -block.plated-conduit.name = Plated Conduit -block.phase-conduit.name = Phase Conduit -block.liquid-router.name = Liquid Router -block.liquid-tank.name = Liquid Tank -block.liquid-junction.name = Liquid Junction -block.bridge-conduit.name = Bridge Conduit -block.rotary-pump.name = Rotary Pump -block.thorium-reactor.name = Thorium Reactor -block.mass-driver.name = Mass Driver -block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump -block.thermal-generator.name = Thermal Generator -block.alloy-smelter.name = Alloy Smelter -block.mender.name = Mender -block.mend-projector.name = Mend Projector -block.surge-wall.name = Surge Wall -block.surge-wall-large.name = Large Surge Wall -block.cyclone.name = Cyclone -block.fuse.name = Fuse -block.shock-mine.name = Shock Mine -block.overdrive-projector.name = Overdrive Projector -block.force-projector.name = Force Projector -block.arc.name = Arc -block.rtg-generator.name = RTG Generator +block.swarmer.name = Sværmer +block.salvo.name = Skudsalve +block.ripple.name = Krusning +block.phase-conveyor.name = Fase-bro +block.bridge-conveyor.name = Transport-bro +block.plastanium-compressor.name = Plastanium-kompressor +block.pyratite-mixer.name = Pyratit-blander +block.blast-mixer.name = Sprængstof-blander +block.solar-panel.name = Solpanel +block.solar-panel-large.name = Stort Solpanel +block.oil-extractor.name = Olieboring +block.repair-point.name = Reparationsplads +block.repair-turret.name = Repair Turret +block.pulse-conduit.name = Højhastigheds-rør +block.plated-conduit.name = Pansret Rør +block.phase-conduit.name = Fase-rør +block.liquid-router.name = Væske-fordeler +block.liquid-tank.name = Væske-silo +block.liquid-container.name = Liquid Container +block.liquid-junction.name = Væske-knudepunkt +block.bridge-conduit.name = Rørbro +block.rotary-pump.name = Drejepumpe +block.thorium-reactor.name = Atomreaktor +block.mass-driver.name = Kvante-katapult +block.blast-drill.name = Trykluftbor +block.impulse-pump.name = Termisk Pumpe +block.thermal-generator.name = Termisk Generator +block.surge-smelter.name = Bronze-digel +block.mender.name = Reparatør +block.mend-projector.name = Reparationsfelt +block.surge-wall.name = Lyn-væg +block.surge-wall-large.name = Stor Lyn-væg +block.cyclone.name = Cyklon +block.fuse.name = Lunte +block.shock-mine.name = Chok-mine +block.overdrive-projector.name = Overanstrengelsesfelt +block.force-projector.name = Kraftfelt +block.arc.name = Ark +block.rtg-generator.name = RTG-generator block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow -block.container.name = Container -block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.container.name = Beholder +block.launch-pad.name = Affyringsrampe +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = Mass Conveyor -block.payload-router.name = Payload Router -block.disassembler.name = Disassembler -block.silicon-crucible.name = Silicon Crucible -block.overdrive-dome.name = Overdrive Dome +block.ground-factory.name = Fodgænger-fabrik +block.air-factory.name = Flyver-fabrik +block.naval-factory.name = Værft +block.additive-reconstructor.name = Opgraderingsfacilitet +block.multiplicative-reconstructor.name = Overbygningsfacilitet +block.exponential-reconstructor.name = Maksimeringsfacilitet +block.tetrative-reconstructor.name = Udmaksningsfacilitet +block.payload-conveyor.name = TroppebÃ¥nd +block.payload-router.name = Troppe-fordeler +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source +block.disassembler.name = Omspalter +block.silicon-crucible.name = Siliciums-digel +block.overdrive-dome.name = Overanstrengelskuppel +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor -block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor -block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display -block.memory-cell.name = Memory Cell -block.memory-bank.name = Memory Bank - -team.blue.name = blue -team.crux.name = red +block.switch.name = Kontakt +block.micro-processor.name = Datamat +block.logic-processor.name = Topdatamat +block.hyper-processor.name = Hyperdatamat +block.logic-display.name = Dataskærm +block.large-logic-display.name = Større Dataskærm +block.memory-cell.name = Hukommelsescelle +block.memory-bank.name = Hukommelsesbank +team.malis.name = Malis +team.crux.name = rød team.sharded.name = orange -team.orange.name = orange -team.derelict.name = derelict -team.green.name = green -team.purple.name = purple +team.derelict.name = forladt +team.green.name = grøn -tutorial.next = [lightgray] -tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse[accent] [[WASD][] to move.\n[accent]Scroll[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper -tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then 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.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\nYou can also select the drill by tapping [accent][[2][] then [accent][[1][] quickly, regardless of which tab is open.\n[accent]Right-click[] to stop building. -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.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\nUse the scrollwheel to rotate blocks before placing them.\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core. -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]Place 2 conveyors with the line tool, then deliver an item into the core. -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.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.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[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper. -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.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 obtained resources can then be used to research new technology.\n\n[accent]Press the launch button. - -item.copper.description = The most basic structural material. Used extensively in all types of 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.graphite.description = Mineralized carbon, used for ammunition and electrical components. -item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. -item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production. -item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. -item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. -item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. -item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition. -item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. -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 = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel. -item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised. -item.pyratite.description = An extremely flammable substance used in incendiary weapons. -liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing. -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 = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon. -liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant. - -block.message.description = Stores a message. Used for communication between allies. -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 pure coal. Produces silicon. -block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run. -block.plastanium-compressor.description = Produces plastanium from oil and titanium. -block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function. -block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. -block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage. -block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce 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 wave turrets. -block.separator.description = Separates slag into its mineral components. Outputs the cooled result. -block.spore-press.description = Compresses spore pods under extreme pressure to synthesize oil. -block.pulverizer.description = Crushes scrap into fine sand. -block.coal-centrifuge.description = Solidifes oil into chunks of coal. -block.incinerator.description = Vaporizes any excess item or liquid it receives. -block.power-void.description = Voids all power inputted into it. Sandbox only. -block.power-source.description = Infinitely outputs power. Sandbox only. -block.item-source.description = Infinitely outputs items. Sandbox only. -block.item-void.description = Destroys any items. Sandbox only. -block.liquid-source.description = Infinitely outputs liquids. Sandbox only. -block.liquid-void.description = Removes any liquids. Sandbox only. -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.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.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. -block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. -block.thorium-wall.description = A strong defensive block.\nDecent protection from enemies. -block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles. -block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact. -block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles. -block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly. -block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles. -block.door.description = A small door. Can be opened or closed by tapping. -block.door-large.description = A large door. Can be opened and closed by tapping.\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 = An upgraded version of the Mender. Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. -block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. -block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric can be used to increase shield size. -block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy. -block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into blocks. Rotatable. -block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. -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 = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building. -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.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. -block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[] -block.distributor.description = An advanced router. Splits items to up to 7 other directions equally. -block.overflow-gate.description = Only outputs to the left and right if the front path is blocked. -block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. -block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate. -block.mechanical-pump.description = A cheap pump with slow output, but no power consumption. -block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power. -block.thermal-pump.description = The ultimate pump. -block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits. -block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits. -block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. -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.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks. -block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. -block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. -block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles. -block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. -block.power-node-large.description = An advanced power node with greater range. -block.surge-tower.description = An extremely long-range power node with fewer available connections. -block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. -block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit. -block.battery-large.description = Stores much more power than a regular battery. -block.combustion-generator.description = Generates power by burning flammable materials, such as coal. -block.thermal-generator.description = Generates power when placed in hot locations. -block.steam-generator.description = An advanced combustion generator. More efficient, but requires additional water for generating steam. -block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. -block.rtg-generator.description = A simple, reliable generator. Uses the heat of decaying radioactive compounds to produce energy at a slow rate. -block.solar-panel.description = Provides a small amount of power from the sun. -block.solar-panel-large.description = A significantly more efficient version of the standard solar panel. -block.thorium-reactor.description = Generates significant amounts of power from 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.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources. -block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill. -block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium. -block.blast-drill.description = The ultimate drill. Requires large amounts of power. -block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. -block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods. -block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. -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-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. -block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault. -block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container. -block.unloader.description = Unloads items from any nearby non-transportation block. The type of item to be unloaded can be changed by tapping. -block.launch-pad.description = Launches batches of items without any need for a core launch. -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 = An essential 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, long-range artillery turret. -block.wave.description = A medium-sized turret. Shoots streams of liquid at enemies. Automatically extinguishes fires when supplied with water. -block.lancer.description = A medium-sized anti-ground laser turret. Charges and fires powerful beams of energy. -block.arc.description = A small close-range electric turret. Fires arcs of electricity at enemies. -block.swarmer.description = A medium-sized missile turret. Attacks both air and ground enemies. Fires homing missiles. -block.salvo.description = A larger, more advanced version of the Duo turret. Fires quick salvos of bullets at the enemy. -block.fuse.description = A large, close-range energy turret. Fires three piercing beams at nearby enemies. -block.ripple.description = An extremely powerful artillery turret. Shoots clusters of shells at enemies over long distances. -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.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. -block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +team.blue.name = blÃ¥ +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. +item.copper.description = Det simpleste byggemateriale. Bruges i store mængder til næsten alle typer af blokke. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. +item.lead.description = Et grundlæggende materiale. Har bred anvendelse inden for elektronik og rørlægning. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. +item.metaglass.description = Et super-stærkt gennemsigtigt materiale. Bruges meget til transport og lagring af væsker. +item.graphite.description = Mineraliseret kul, som bruges til elektronik og ammunition. +item.sand.description = Et almindeligt materiale, der anvendes i enorme mængder til smelteprocesser. +item.coal.description = Fossilt plantestof, fra arter der groede lang tid før svampesporerne opstod. Har bred anvendelse som brændstof, og til at producere avancerede materialer. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. +item.titanium.description = Et sjældent metal med meget lav vægt, som har bred anvendelse inden for væsketransport og luftfart. +item.thorium.description = Et radioaktivt materiale med høj massefylde som bruges til hærdede bygninger og som kernebrændstof. +item.scrap.description = Forglemte rester af gamle strukturer. Indeholder spor af mange forskellige materialer. +item.scrap.details = Leftover remnants of old structures and units. +item.silicon.description = Ekstremt nyttig som halvleder. Anvendelse inden for solpaneler, avanceret elektronik og mÃ¥lsøgende ammunition. +item.plastanium.description = Et let, smidigt metal som anvendes til avancerede strukturer og som fragmenterende ammunition. +item.phase-fabric.description = En næsten vægtløs substans der anvendes til avanceret elektronik og selvreparerende teknologi. +item.surge-alloy.description = En avanceret legering med unikke elektriske egenskaber. +item.spore-pod.description = En bælg af økologiske svampesporer, kultiveret til industribrug fra atmosfæriske partikler. Kan omdannes til olie eller sprængstoffer, og bruges til brændstof. +item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. +item.blast-compound.description = En ustabil kemisk forbindelse der bruges til bomber og andre eksplosiver. Dannes fra svampesporer og andre brændfarlige substanser. Bør ikke anvendes som brændstof. +item.pyratite.description = En ekstremt brændfarlig substans der primært er til vÃ¥benbrug. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. +liquid.water.description = En meget nyttig væske. Bruges ofte til køling, og til at skylle affaldsstoffer væk. +liquid.slag.description = Smeltede metaller af forskellig art. Stofferne det bestÃ¥r af kan udvindes, eller det kan sprøjtes over fjenden som et vÃ¥ben. +liquid.oil.description = Væsken bruges til at producere avancerede materialer. Kan ogsÃ¥ omdannes til kul, og kan desuden sprøjtes over fjenden og antendes som et vÃ¥ben. +liquid.cryofluid.description = En kemisk inaktiv væske der ikke forÃ¥rsager rust, som er dannet fra vand og titanium. Dens høje varmekapacitet gør den egnet som køling. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts. +block.illuminator.description = A small, compact, configurable light source. Requires power to function. +block.message.description = Indeholder en note, der kan læses af dig selv og dine allierede. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. +block.graphite-press.description = Presser kulstykker sammen til ark af ren grafit. +block.multi-press.description = En opgraderet version af kul-valsen. Bruger vand og strøm til hurtigere at prodcere en større mængde grafit per kulstykke. +block.silicon-smelter.description = Smelter sand om til ren silicium ved brug af kul. +block.kiln.description = Smelter sand og bly om til blyglas ved hjælp af en lille smule strøm. +block.plastanium-compressor.description = Producerer plastanium ud fra olie og titanium. +block.phase-weaver.description = Syntetiserer fasestof fra det radioaktive torium og store mængder af sand. Dette sker pÃ¥ bekostning af enorme mængder strøm. +block.surge-smelter.description = Kombinerer titanium, bly, silicium og kobber og laver det til lyn-bronze. +block.cryofluid-mixer.description = Blander vand med fint titanium-pulver og laver det til frysesaft. Helt essentiel for nedkøling thorium-reaktorer. +block.blast-mixer.description = Kvaser og blader klynger af svampesporer med pyratit for at producere sprængstof. +block.pyratite-mixer.description = Blander kul, bly og sand til sygt brændbar pyratit. +block.melter.description = Smelter skrot til ildgrød, sÃ¥ det kan raffineres eller sprøjtes ud over fjenden med Sprøjter eller Tsunamier. +block.separator.description = Separerer indholdet i ildgrød til underliggende mineraler. Udleder det kølede resultat. +block.spore-press.description = Komprimerer svampesporer til olie under ekstremt pres. +block.pulverizer.description = Kværner skrot til fint sand. +block.coal-centrifuge.description = Omdanner olie til klumper af kul. +block.incinerator.description = Tilintetgører alle genstande eller væsker, der transporteres ind i den. +block.power-void.description = Opsluger alt strøm, der forbindes til den. Kun i sandkassen. +block.power-source.description = Uendelige mængder af strøm. Kun i sandkassen. +block.item-source.description = Udsteder uendelige mængder af genstande. Kun i sandkassen. +block.item-void.description = Destruerer enhver genstand. Kun i sandkassen. +block.liquid-source.description = Udsteder uendelige mængder af væske. Kun i sandkassen. +block.liquid-void.description = Fjerner enhver væske. Kun i sandkassen. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. +block.copper-wall.description = En billig, defensiv blok.\nKan bruges til at beskytte kernen og vÃ¥ben i de første par bølger. +block.copper-wall-large.description = En billig, defensiv blok.\nKan bruges til at beskytte kernen og vÃ¥ben i de første par bølger.\nFylder flere felter. +block.titanium-wall.description = En overvejende stærk, defensiv blok.\nGiver nogenlunde beskyttelse fra fjender. +block.titanium-wall-large.description = En overvejende stærk, defensiv blok.\nGiver nogenlunde beskyttelse fra fjender.\nFylder flere felter. +block.plastanium-wall.description = En unik type væg, der absorberer strøm-kiler og blokerer automatiske strøm-forbindelser. +block.plastanium-wall-large.description = En unik type væg, der absorberer strøm-kiler og blokerer automatiske strøm-forbindelser.\nFylder flere felter. +block.thorium-wall.description = En stærk defensiv blok.\nRimelig fin beskyttelse mod fjender. +block.thorium-wall-large.description = En stærk defensiv blok.\nRimelig fin beskyttelse mod fjender.\nFylder flere felter. +block.phase-wall.description = En væg legeret med specielt, reflekterende fase-stof. Reflekterer de fleste slags skud. +block.phase-wall-large.description = En væg legeret med specielt, reflekterende fase-stof. Reflekterer de fleste slags skud.\nFylder flere felter. +block.surge-wall.description = En ekstremt hÃ¥rd væg.\nOpbygger en ladning ved at absorbere skud. Ladningen affyres tilfældigt +block.surge-wall-large.description = En ekstremt hÃ¥rd væg.\nOpbygger en ladning ved at absorbere skud. Ladningen affyres tilfældigt.\nFylder flere felter. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = En bette dør. Kan Ã¥bnes og lukkes ved at trykke pÃ¥ den. +block.door-large.description = En stor dør. Kan Ã¥bnes og lukkes ved at trykke pÃ¥ den.\nFylder flere felter. +block.mender.description = Reparerer løbende blokke i nærheden. Hjælper til at holde forsvaret oppe mellem bølger.\nSilicium kan bruges til at øge rækkevidde og effektivitet. +block.mend-projector.description = En bedre version af den normale reparatør. Reparerer alle blokke inden for dens rækkevidde.\nFase-stof kan bruges til at øge dens rækkevidde og effektivitet. +block.overdrive-projector.description = Øger hastigheden af bygninger i nærheden.\nFase-stof kan bruges til at øge denne hastighed og rækkevidden af feltet. +block.force-projector.description = Skaber et stort, sekskantet kraftfelt, der beskytter bygninger og tropper.\nOveropheder, hvis den tager for meget skade. Kan nedkøles med væske. Fase-stof kan bruges til at gøre feltet større. +block.shock-mine.description = Skader fodgængere, der træder pÃ¥ den. Næsten usynlig for fjender. +block.conveyor.description = Simpel genstands-transport-blok. Transporterer genstande fremad og ind i andre blokke. Kan roteres. +block.titanium-conveyor.description = En avanceret genstands-transport-blok. Transporterer blokke hurtigere end normale transportbÃ¥nd. +block.plastanium-conveyor.description = Transporterer genstande i klynger.\nTager imod genstande i bagenden og fordeler dem i op til tre retninger i forreste ende. +block.junction.description = Fungerer som en bro for krydsende transportbÃ¥nd. Kan bruges, nÃ¥r to krydsende bÃ¥nd med forskellige genstande ikke mÃ¥ blandes. +block.bridge-conveyor.description = En avanceret genstands-transport-blok. Kan transportere over op til 3 felter, uanset om det er terræn eller blokke. +block.phase-conveyor.description = En avanceret genstands-transport-blok. Bruger strøm til at teleportere genstande til næste fase-bÃ¥nd, hen over op til flere felter. +block.sorter.description = Sorterer genstande. Hvis en genstand matcher et valg, kan de passere. Hvis ikke, outputtes de til siderne. +block.inverted-sorter.description = HÃ¥ndterer genstande som et normalt filter, men outputter til siderne. +block.router.description = Tager genstande og fordeler denne ligeligt mellem op til tre andre retninger. Kan bruges til at splitte et bÃ¥nd.\n\n[scarlet]Aldrig stil dem op ad fabrikker, da de ellers vil blive stoppet til.[] +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. +block.distributor.description = En avanceret omfordeler. Fordeler genstande ligeligt mellem op til 7 andre retninger. +block.overflow-gate.description = Outputter kun til venstre og højre, hvis blokken foran er blokeret. +block.underflow-gate.description = Det modsatte af en overflods-lÃ¥ge. Outputter fremad hvis venstre og højre side af lÃ¥gen er blokeret. +block.mass-driver.description = Den ultimative transport-blok. Samler en masse genstande og slynger dem hovedkulds gennem luften til den kvante-katapult. +block.mechanical-pump.description = En hverdags-pumpe, der ikke engang kræver strøm. +block.rotary-pump.description = En drønhurtig pumpe. Pumper mere væske, kræver mere strøm. +block.impulse-pump.description = Den allerbedste pumpe. +block.conduit.description = Simpel væske-transport-blok. Transporterer væske fremad. Bruges sammen med pumper, eller i forlængelse af andre rør. +block.pulse-conduit.description = En avanceret væske-transport-blok. Transporterer væske hurtigere og opbevarer mere end normale rør. +block.plated-conduit.description = Transporterer væske lige sÃ¥ hurtigt som højhastigheds-rør. Kan ikke tage væske ind fra siderne.\nLækker mindre. +block.liquid-router.description = Tager væske fra en retning, og fordeler denne ligeligt mellem op til tre andre retninger. Brugbar, nÃ¥r der er behov for at splitte en rørledning op. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. +block.liquid-tank.description = Opbevarer store mængder af væske. Kan bruges som sikkerhedslager i tilfælde af underskud eller til at forsyne nedkøling i nødsituationer. +block.liquid-junction.description = Fungerer som en bro over krydsende rør. Brugbar i situationer, hvor der er tale om transport af forskellige væsker. +block.bridge-conduit.description = Avanceret væske-transport. Kan transportere væske over 3 felter uanset om det er terræn eller bygninger. +block.phase-conduit.description = Avanceret væske-transport. Bruger strøm til at transportere væske hen over flere blokke. +block.power-node.description = Leder strøm til forbundne strøm-noder. Noden enten modtager eller giver strøm til sidestÃ¥ende blokke. +block.power-node-large.description = En evanceret strøm-node, der har længere rækkevidde. +block.surge-tower.description = En strømforbindelse med ekstremt lang rækkevidde. Kan kun klare fÃ¥ forbindelser. +block.diode.description = Batteri-strøm kan ledes gennem denne ensrettede blok, men kun hvis den ene side har mere strøm end destinationen. +block.battery.description = Opbevarer overskydende strøm. Giver strøm ved underskud i strømnetværket. +block.battery-large.description = Opbevarer mere strøm end et normalt batteri. +block.combustion-generator.description = Genererer strøm ved at brænde brændbare materialer, sÃ¥som kul. +block.thermal-generator.description = Genererer strøm, nÃ¥r den placeres pÃ¥ naturlig varme. +block.steam-generator.description = En avanceret forbrændingsgenerator. Mere effektiv, men kræver vand til at lave damp. +block.differential-generator.description = Genererer store mængder strøm. Bruger temperaturforskellen mellem frysesaft og brændende pyratit til at lave strøm. +block.rtg-generator.description = En simpel, bæredygtig generator. Bruger varmen fra radioaktivt henfald til langsomt at generere strøm. +block.solar-panel.description = Giver en smule strøm fra solen. +block.solar-panel-large.description = En betydeligt bedre version af de normale solpaneler. +block.thorium-reactor.description = Genererer bemærkelsesværdige mængder strøm. Kræver konstant nedkøling. Vil eksplodere voldeligt uden den rette nedkøling. Strøm-output afhænger af hvor fuld den her. +block.impact-reactor.description = En avanceret reaktor, der producerer rigtig meget strøm. Det kræver meget strøm at sparke processen i gang. +block.mechanical-drill.description = Et billigt bor. NÃ¥r placeret oven pÃ¥ resurser, udvinder det dem langsomt. Kan kun udvinde basale resurser. +block.pneumatic-drill.description = Et bedre bor, der kan udvinde titanium. Borer hurtigere end det mekaniske bor. +block.laser-drill.description = Kan bore meget hÃ¥rdere og hurtigere, men kræver mere strøm. Kan udvide thorium. +block.blast-drill.description = Det ybberste bor. Kræver meget strøm. +block.water-extractor.description = Udvinder grundvand. Bruges i omrÃ¥der uden vand pÃ¥ overfladen. +block.cultivator.description = Kultiverer smÃ¥ mængder af økologiske svampesporer fra atmosfæren. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. +block.oil-extractor.description = Bruger meget strøm, sand og vand for at udvinde olie. +block.core-shard.description = Den første kerne. Hvis den bliver ødelagt, taber du regionen. Ikke lad den blive ødelagt. +block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. +block.core-foundation.description = Den anden overbygning til kernen. Mere pansret. Opbevarer flere ting. +block.core-foundation.details = The second iteration. +block.core-nucleus.description = Den tredje og største overbygning af kernen. Helt vildt pansret. Opbevarer kollosale mængder af ting. +block.core-nucleus.details = The third and final iteration. +block.vault.description = Opbevarer en masse genstande. En aflæsser-blok kan bruges til at hive ting ud af en container. +block.container.description = Opbevarer en lille mængde genstande. En aflæsser-blok kan bruges til at hive ting ud af en container. +block.unloader.description = Aflæsser genstande fra sidestÃ¥ende blokke. Typen af blok, der skal aflæsses kan justeres. +block.launch-pad.description = Affyrer samlinger af genstande løbende. Kræver ikke affyring af kernen. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = En bette, billig kanon. Effektiv mod fodgængere. +block.scatter.description = Et vigtigt luftangreb. Skyder klumper af skud mod flyvere. +block.scorch.description = Brænder alle forbipasserende fodgængere. Meget god til hvad den gør. +block.hail.description = En lille kanon med lang rækkevidde. +block.wave.description = En medium-stor væskekanon. Skyder væskestrÃ¥ler. Kan automatisk slukke ildebrand med vand. +block.lancer.description = En medium-stor strøm-kanon. Lader og affyrer strømstrÃ¥ler mod uvidende fodgængere. +block.arc.description = En lille nær-distance strøm-kanon. Skyder lyn mod fjenden. +block.swarmer.description = En medium-stor missil-affyrer. Angriber bÃ¥de flyvere og fodgængere. Affyrer efterfølgende missiler. +block.salvo.description = En større, mere avanceret version af Duo'en. Skyder hurtige salver af skud mod fjenden. +block.fuse.description = En stor, nær-distance energi-kanon. Affyrer tre penetrerende skud mod nærmeste fjender. +block.ripple.description = En ekstremt kraftfuld skyder. Skyder klynger af skud mod fjender over længere distancer. +block.cyclone.description = En stor anti-fodgænger og -flyver, der skyder eksplosive skÃ¥r pÃ¥ nærmeste fjender. +block.spectre.description = En massiv dobbelt-løber-kanon. Skyder store panser-penertrerende skud mod flyvere og fodgængere. +block.meltdown.description = En massiv laser-kanon. Lader og affyrer storer laser-strÃ¥ler mod svenskere. Kræver nedkøling for at virke. +block.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. +block.repair-point.description = Helbreder konstant den nærmeste enhed. +block.segment.description = Skader og ødelægger projektiler. Laser-projektiler gælder ikke her. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_de.properties b/core/assets/bundles/bundle_de.properties index 571a1b6e53..dd573ff7ce 100644 --- a/core/assets/bundles/bundle_de.properties +++ b/core/assets/bundles/bundle_de.properties @@ -1,5 +1,5 @@ credits.text = Entwickelt von [royal]Anuken[] - [sky]anukendev@gmail.com[]\n\n[gray] -credits = Danksagungen +credits = Mitwirkende contributors = Übersetzer und Mitwirkende discord = Tritt dem Mindustry-Discord bei! link.discord.description = Der offizielle Mindustry Discord-Server @@ -7,13 +7,14 @@ link.reddit.description = Mindustry-Subreddit link.github.description = Quellcode des Spiels link.changelog.description = Liste der Änderungen link.dev-builds.description = Entwicklungs-Builds (instabil) -link.trello.description = Offizielles Trello-Board für geplante Features +link.trello.description = Offizielles Trello-Board für geplante Funktionen link.itch.io.description = itch.io-Seite mit Downloads und der Web-Version des Spiels link.google-play.description = Google Play Store-Seite link.f-droid.description = F-Droid-Seite link.wiki.description = Offizielles Mindustry-Wiki -link.suggestions.description = Neue Ideen einbringen -link.bug.description = Hast du einen Bug gefunden? Melde ihn hier +link.suggestions.description = Neue Ideen vorschlagen +link.bug.description = Hast du einen Bug gefunden? Melde ihn hier! +linkopen = Dieser Server hat dir einen Link geschickt. Möchtest du ihn öffnen?\n\n[sky]{0} linkfail = Fehler beim Öffnen des Links!\nDie URL wurde in die Zwischenablage kopiert. screenshot = Screenshot gespeichert unter {0} screenshot.invalid = Karte zu groß! Eventuell nicht ausreichend Arbeitsspeicher für Screenshot. @@ -23,8 +24,7 @@ gameover.pvp = Das[accent] {0}[] Team ist siegreich! gameover.waiting = [accent]Warte auf neue Karte... highscore = [accent]Neuer Highscore! copied = Kopiert. -indev.notready = Dieser Teil vom Spiel ist noch unfertig. -indev.campaign = [accent]Glückwunsch! Du hast das Ende der Kampagne erreicht![]\n\nMehr gibt es noch nicht. In einem zukünftigen Update wird interplanetarisches Reisen möglich werden. +indev.notready = Dieser Teil vom Spiel ist noch nicht fertig. load.sound = Audio load.map = Karten @@ -32,24 +32,33 @@ load.image = Bilder load.content = Inhalt load.system = System load.mod = Mods -load.scripts = Scripts +load.scripts = Skripte -be.update = Ein neuer Bleeding Edge build ist verfügbar: +be.update = Ein neuer Bleeding-Edge-Build ist verfügbar: be.update.confirm = Herunterladen und neu starten? -be.updating = Aktualisieren... +be.updating = Aktualisiert... be.ignore = Ignorieren be.noupdates = Keine Aktualisierungen gefunden. be.check = Auf Aktualisierungen prüfen -mod.featured.dialog.title = Mod Browser (unfertig) -mods.browser.selected = Ausgewählter Mod +mods.browser = Mod Browser +mods.browser.selected = Ausgewählte Mod mods.browser.add = Installieren -mods.github.open = Ansehen +mods.browser.reinstall = Neu installieren +mods.browser.view-releases = Versionen ansehen +mods.browser.noreleases = [scarlet]Keine Versionen gefunden\n[accent]Konnte für diese Mod keine Versionen finden. Überprüfe, ob die Mod auf GitHub Releases hat. +mods.browser.latest = [lightgray][Neueste] +mods.browser.releases = Versionen +mods.github.open = GitHub-Repo +mods.github.open-release = Versionen Webseite +mods.browser.sortdate = Nach neuesten sortieren +mods.browser.sortstars = Nach Sternen sortieren schematic = Entwurf schematic.add = Entwurf speichern... schematics = Entwürfe -schematic.replace = Ein anderer Entwurf hat bereits diesen Namen. Diesen ersetzen? +schematic.search = Suche nach Entwürfen... +schematic.replace = Es gibt bereits einen Entwurf mit diesem Namen. Diesen ersetzen? schematic.exists = Es gibt schon einen Entwurf mit diesem Namen. schematic.import = Entwurf importieren... schematic.exportfile = Datei exportieren @@ -61,21 +70,29 @@ schematic.shareworkshop = Im Workshop teilen schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Entwurf umkehren schematic.saved = Entwurf gespeichert. schematic.delete.confirm = Dieser Entwurf wird vollständig vernichtet. -schematic.rename = Entwurf umbenennen +schematic.edit = Entwurf bearbeiten schematic.info = {0}x{1}, {2} Blöcke schematic.disabled = [scarlet]Entwürfe deaktiviert[]\nAuf dieser [accent]Karte[] oder [accent]Server[] dürfen keine Entwürfe verwendet werden. +schematic.tags = Tags: +schematic.edittags = Tags bearbeiten +schematic.addtag = Tag hinzufügen +schematic.texttag = Text-Tag +schematic.icontag = Bild-Tag +schematic.renametag = Tag umbenennen +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Dieses Tag wirklich löschen? +schematic.tagexists = Dieses Tag gibt es schon. stats = Statistiken -stat.wave = Wellen besiegt:[accent] {0} -stat.enemiesDestroyed = Gegner zerstört:[accent] {0} -stat.built = Gebäude gebaut:[accent] {0} -stat.destroyed = Gebäude zerstört:[accent] {0} -stat.deconstructed = Gebäude abgebaut:[accent] {0} -stat.delivered = Übertragene Ressourcen: -stat.playtime = Spielzeit:[accent] {0} -stat.rank = Finaler Rang:[accent] {0} +stats.wave = Wellen besiegt +stats.unitsCreated = Gebaute Einheiten +stats.enemiesDestroyed = Getötete Gegner +stats.built = Gebäude gebaut +stats.destroyed = Stukturen zerstört +stats.deconstructed = Abgebaute Gebäude +stats.playtime = Spielzeit -globalitems = [accent]Gesamtitems +globalitems = [accent]Ressourcen auf diesem Planeten map.delete = Bist du sicher, dass du die Karte "[accent]{0}[]" löschen möchtest? level.highscore = Highscore: [accent]{0} level.select = Level-Auswahl @@ -83,6 +100,7 @@ level.mode = Spielmodus: coreattack = < Der Kern wird angegriffen! > nearpoint = [[ [scarlet]SOFORT DEN SPAWNPUNKT VERLASSEN[] ]\nVernichtung droht database = Kern-Datenbank +database.button = Datenbank savegame = Spiel speichern loadgame = Spiel laden joingame = Spiel beitreten @@ -90,12 +108,13 @@ customgame = Benutzerdefiniertes Spiel newgame = Neues Spiel none = none.found = [lightgray] +none.inmap = [lightgray] minimap = Minimap position = Position close = Schließen -website = Website +website = Webseite quit = Verlassen -save.quit = Speichern & Verlassen +save.quit = Speichern & verlassen maps = Karten maps.browse = Karten durchsuchen continue = Weiter @@ -110,53 +129,81 @@ committingchanges = Veränderungen werden übernommen done = Fertig feature.unsupported = Dein System unterstützt dieses Feature nicht. -mods.alphainfo = Vergiss nicht, dass Mods in der Alpha sind und[scarlet] sehr fehlerhaft sein können[].\nMelde alle Probleme auf GitHub oder Discord. +mods.initfailed = [red]âš [] Die vorherige Mindustry-Instanz konnte nicht starten. Dies lag wahrscheinlich an fehlerhaften Mods.\n\nDamit das Spiel starten kann, [red]wurden alle Mods deaktiviert.[]\n\nWenn du nicht willst, dass das passiert, kannst du es unter [accent]Einstellungen->Spiel->Mods bei Absturz deaktivieren[] ändern. mods = Mods mods.none = [lightgray]Keine Mods gefunden! mods.guide = Modding-Anleitung mods.report = Problem melden mods.openfolder = Mod-Verzeichnis öffnen +mods.viewcontent = Inhalt ansehen mods.reload = Neu laden mods.reloadexit = Das Spiel wird jetzt beendet, um die Mod-Änderungen anzuwenden. +mod.installed = [[Installiert] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Aktiviert -mod.disabled = [scarlet]Deaktiviert +mod.disabled = [red]Deaktiviert +mod.multiplayer.compatible = [gray]Mehrspieler-kompatibel mod.disable = Deaktivieren +mod.version = Version: mod.content = Inhalt: -mod.delete.error = Unfähig Mod zu löschen. Datei könnte in Benutzung sein. -mod.requiresversion = [scarlet]Benötigt mindestens Version:[accent] {0} -mod.outdated = [scarlet]Nicht mit V6 kompatibel (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Fehlende Abhängigkeiten: {0} +mod.delete.error = Mod konnte nicht gelöscht werden. Datei könnte in Benutzung sein. + +mod.incompatiblegame = [red]Spiel Veraltet +mod.incompatiblemod = [red]Inkompatibel +mod.blacklisted = [red]Nicht unterstützt +mod.unmetdependencies = [red]Fehlende Abhängigkeiten mod.erroredcontent = [scarlet]Inhalt-Fehler +mod.circulardependencies = [red]Wechselseitige Abhängigkeiten +mod.incompletedependencies = [red]Fehlende Abhängigkeiten + +mod.requiresversion.details = Benötigt Spielversion [accent]{0}[]\nDein Spiel ist veraltet. Diese Mod benötigt eine neuere (möglicherweise Alpha- oder Beta-) Spielversion. +mod.outdatedv7.details = Diese Mod ist nicht mit der neuesten Version von Mindustry kompatibel. Der Autor muss sie aktualisieren und [accent]minGameVersion: 136[] in der [accent]mod.json[]-Datei hinzufügen. +mod.blacklisted.details = Diese Mod wurde manuell gesperrt, weil sie diese Spielversion zum Abstürzen bringt oder andere Fehler verursacht. Benutze diese Mod nicht. +mod.missingdependencies.details = Dieser Mod fehlen folgende Abhängigkeiten: {0} +mod.erroredcontent.details = Diese Mod hat beim Laden Fehler verursacht. Bitte den Mod-Autor, diese zu beheben. +mod.circulardependencies.details = Diese Mod hat Abhängigkeiten, die von einander abhängen. +mod.incompletedependencies.details = Diese Mod kann aufgrund fehlenden oder ungültigen Abhängigkeiten nicht geladen werden: {0}. +mod.requiresversion = Benötigt Spielversion: [red]{0} + mod.errors = Beim Laden von Inhalt sind Fehler aufgetreten. -mod.noerrorplay = [scarlet]Du hast Mods mit Fehlern.[] Deaktiviere die Mods oder behebe die Fehler, bevor du spielst. -mod.nowdisabled = [scarlet]Mod '{0}' fehlen Abhängigkeiten:[accent] {1}\n[lightgray]Diese Mods müssen erst installiert werden.\nDieser Mod wird automatisch deaktiviert. +mod.noerrorplay = [red]Du hast Mods mit Fehlern.[] Deaktiviere die Mods oder behebe die Fehler, bevor du spielst. +mod.nowdisabled = [red]Mod '{0}' fehlen Abhängigkeiten:[accent] {1}\n[lightgray]Diese Mods müssen erst installiert werden.\nDieser Mod wird automatisch deaktiviert. mod.enable = Aktivieren mod.requiresrestart = Das Spiel wird jetzt beendet, um die Mod-Änderungen anzuwenden. -mod.reloadrequired = [scarlet]Neuladen benötigt +mod.reloadrequired = [red]Neuladen benötigt mod.import = Mod importieren mod.import.file = Datei importieren -mod.import.github = GitHub-Mod importieren -mod.jarwarn = [scarlet]JAR Mods sind nicht sicher.[]\nInstalliere nur Mods von vertrauenswürdigen Quellen! -mod.item.remove = Dies ist Teil vom [accent] '{0}'[] Mod. Deaktiviere diesen Mod, um dies zu entfernen. -mod.remove.confirm = Dieser Mod wird gelöscht. +mod.import.github = Aus GitHub importieren +mod.jarwarn = [scarlet]JAR-Mods sind nicht sicher.[]\nInstalliere nur Mods von vertrauenswürdigen Quellen! +mod.item.remove = Dieses Item ist Teil von der [accent] '{0}'[] Mod. Deaktiviere diese Mod, um dies zu entfernen. +mod.remove.confirm = Diese Mod wird gelöscht. mod.author = [lightgray]Autor:[] {0} mod.missing = Dieser Spielstand enthält Mods, welche nicht mehr vorhanden sind oder aktualisiert wurden. Spielstandfehler könnten passieren. Bist du dir sicher, dass du ihn laden möchtest?\n[lightgray]Mods:\n{0} -mod.preview.missing = Bevor du diesen Mod hochladen kannst, musst du eine Bildvorschau einbinden.\nLade ein Bild namens[accent] preview.png[] in den Modordner und versuche es nochmal. -mod.folder.missing = Nur Mods in Ordnerform können in den Workshop hochgeladen werden.\nUm einen Mod in einen Ordner zu konvertieren, extrahiere das Archiv und lösche das alte Archiv danach. Starte dann das Spiel neu oder lade die Mods neu. -mod.scripts.disable = Ihr Gerät unterstützt keine Mods mit Scripts. Du musst diese Mods deaktivieren, um spielen zu können. +mod.preview.missing = Bevor du diese Mod hochladen kannst, musst du eine Bildvorschau einbinden.\nLade ein Bild namens [accent]preview.png[] in den Modordner und versuche es nochmal. +mod.folder.missing = Nur Mods in Ordnerform können in den Workshop hochgeladen werden.\nUm eine Mod in einen Ordner zu konvertieren, extrahiere das Archiv und lösche das alte Archiv danach. Starte dann das Spiel neu oder lade die Mods neu. +mod.scripts.disable = Dein Gerät unterstützt keine Mods mit Skripten. Du musst diese Mods deaktivieren, um spielen zu können. about.button = Info name = Name: noname = Wähle zunächst einen[accent] Spielernamen[]. +search = Durchsuchen: planetmap = Planetenkarte launchcore = Kern starten filename = Dateiname: unlocked = Neuer Inhalt freigeschaltet! available = Neue Forschung möglich +unlock.incampaign = < Für Details in Kampagne freischalten > +campaign.select = Startkampagne auswählen +campaign.none = [lightgray]Wähle einen Planeten, auf dem du starten möchtest.\nDies kannst du jederzeit ändern. +campaign.erekir = Neuerer, besserer Inhalt. Größtenteils linearer Fortschritt.\n\nSchwieriger. Höhere Karten- und Spielqualität. +campaign.serpulo = Älterer Inhalt; das klassische Spiel. Offener, mehr Inhalt. \n\nKarten und Spielmechanismen möglicherweise qualitativ schlechter und ohne Balance. +campaign.difficulty = Difficulty + completed = [accent]Abgeschlossen techtree = Forschung -research.legacy = [accent]5.0[] Forschungsdaten gefunden.\nMöchtest du [accent]diese Daten behalten[] oder [accent]sie löschen[] und neu anfangen (empfohlen)? +techtree.select = Forschungsauswahl +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = Behalten research.discard = Löschen research.list = [lightgray]Forschung: @@ -185,7 +232,7 @@ server.kicked.customClient = Der Server akzeptiert keine Custom Builds von Mindu server.kicked.gameover = Game Over! server.kicked.serverRestarting = Der Server startet neu. server.versions = Deine Version:[accent] {0}[]\nServerversion:[accent] {1}[] -host.info = Der [accent]'Server hosten'[]-Knopf startet einen Server auf den Ports [scarlet]6567[] und [scarlet]6568.[]\nJeder im gleichen [lightgray]W-Lan oder lokalen Netzwerk[] sollte deinen Server in seiner Serverliste sehen können.\n\nWenn du anderen die Verbindung über deine IP-Adresse ermöglichen willst, musst du [accent]Port-Forwarding[] durchführen.\n\n[lightgray]Hinweis: Falls es Probleme mit der Verbindung im Netzwerk gibt, stelle sicher, dass Mindustry in deinen Firewall-Einstellungen Zugriff auf das lokale Netzwerk hat. +host.info = Der [accent]'Server hosten'[]-Knopf startet einen Server auf den Ports [scarlet]6567[] und [scarlet]6568[].\nJeder im gleichen [lightgray]W-Lan oder lokalen Netzwerk[] sollte deinen Server in seiner Serverliste sehen können.\n\nWenn du anderen die Verbindung über deine IP-Adresse ermöglichen willst, musst du [accent]Port-Forwarding[] durchführen.\n\n[lightgray]Hinweis: Falls es Probleme mit der Verbindung im Netzwerk gibt, stelle sicher, dass Mindustry in deinen Firewall-Einstellungen Zugriff auf das lokale Netzwerk hat. join.info = Hier kannst du eine [accent]Server-IP[] eingeben, um dich zu verbinden, oder Server im [accent]lokalen Netzwerk[] entdecken und dich mit ihnen verbinden.\nSowohl Spielen über das lokale Netzwerk als auch Spielen über das Internet werden unterstützt.\n\n[lightgray]Hinweis: Es gibt keine globale Serverliste; wenn du dich mit jemandem per IP-Adresse verbinden willst, musst du den Host nach seiner IP-Adresse fragen. hostserver = Mehrspieler hosten invitefriends = Freunde einladen @@ -200,21 +247,33 @@ hosts.none = [lightgray]Keine LAN-Spiele gefunden! host.invalid = [scarlet]Kann keine Verbindung zum Host herstellen. servers.local = Lokale Server +servers.local.steam = Offene Spiele & Lokale Server servers.remote = Andere Server servers.global = Community-Server -servers.disclaimer = Community-Server werden vom Entwickler [accent]nicht[] geprüft.\n\Sie können Inhalte, die nicht für jedes Alter geeignet sind, enthalten. +servers.disclaimer = Community-Server werden vom Entwickler [accent]nicht[] geprüft.\nSie können Inhalte, die nicht für jedes Alter geeignet sind, enthalten. servers.showhidden = Versteckte Server anzeigen server.shown = Angezeigt server.hidden = Versteckt +viewplayer = Beobachteter Spieler: [accent]{0} trace = Spieler verfolgen trace.playername = Spielername: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = Eindeutige ID: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Sprache: [accent]{0} trace.mobile = Mobiler Client: [accent]{0} trace.modclient = Gemoddeter Client: [accent]{0} +trace.times.joined = Beigetreten: [accent]{0}[] Mal +trace.times.kicked = Rausgeworfen: [accent]{0}[] Mal +trace.ips = IPs: +trace.names = Namen: invalidid = Ungültige Client-ID! Berichte den Fehler. +player.ban = Verbannen +player.kick = Rauswerfen +player.trace = Verfolgen +player.admin = Admin an/aus +player.team = Team wechseln server.bans = Verbannungen server.bans.none = Keine verbannten Spieler gefunden! server.admins = Administratoren @@ -228,10 +287,11 @@ server.version = [lightgray]Version: {0} server.custombuild = [accent]Benutzerdefinierter Build confirmban = Bist du sicher, dass du diesen Spieler verbannen möchtest? confirmkick = Bist du sicher, dass du diesen Spieler rauswerfen willst? -confirmvotekick = Bist du sicher, dass du darüber abstimmen willst, diesen Spieler rauszuwerfen? confirmunban = Bist du sicher, dass du die Verbannung des Spielers rückgängig machen willst? confirmadmin = Bist du sicher, dass du diesen Spieler zu einem Administrator machen möchtest? confirmunadmin = Bist du sicher, dass dieser Spieler kein Administrator mehr sein soll? +votekick.reason = Vote-Kick Grund +votekick.reason.message = Bist du sicher, dass du "{0}[white]" rauswerfen willst?\nWenn ja, gib bitte einen Grund ein: joingame.title = Spiel beitreten joingame.ip = IP: disconnect = Verbindung unterbrochen. @@ -239,16 +299,18 @@ disconnect.error = Verbindungsfehler. disconnect.closed = Verbindung geschlossen. disconnect.timeout = Zeitüberschreitung. disconnect.data = Fehler beim Laden der Welt! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Nicht möglich beizutreten ([accent]{0}[]). connecting = [accent] Verbinde... reconnecting = [accent]Verbindung wird wiederhergestellt... connecting.data = [accent] Welt wird geladen... server.port = Port: -server.addressinuse = Adresse bereits in Verwendung! server.invalidport = Falscher Port! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson] Fehler beim Hosten des Servers:[accent] {0} save.new = Neuer Spielstand save.overwrite = Möchtest du diesen Spielstand wirklich überschreiben? +save.nocampaign = Einzelne Spielstände aus der Kampagne können nicht importiert werden. overwrite = Überschreiben save.none = Keine Spielstände gefunden! savefail = Fehler beim Speichern des Spiels! @@ -269,6 +331,7 @@ save.corrupted = [accent]Datei beschädigt oder ungültig! empty = on = An off = Aus +save.search = Spiele durchsuchen... save.autosave = Automatisches Speichern: {0} save.map = Karte: {0} save.wave = Welle: {0} @@ -284,9 +347,31 @@ ok = OK open = Öffnen customize = Anpassen cancel = Abbruch +command = Befehl +command.queue = [lightgray][Queuing] +command.mine = Abbauen +command.repair = Reparieren +command.rebuild = Wiederaufbauen +command.assist = Spieler unterstützen +command.move = Bewegen +command.boost = Boost +command.enterPayload = Frachtblock betreten +command.loadUnits = Einheiten laden +command.loadBlocks = Blöcke laden +command.unloadPayload = Fracht entladen +command.loopPayload = Loop Unit Transfer +stance.stop = Befehle abbrechen +stance.shoot = Stellung: schießen +stance.holdfire = Stellung: nicht schießen +stance.pursuetarget = Stellung: Ziel verfolgen +stance.patrol = Stellung: Pfad patroullieren +stance.ram = Stellung: rammen[lightgray]in einer geraden Lilie bewegen, gegen Wände laufen + openlink = Link öffnen copylink = Link kopieren back = Zurück +max = Max +objective = Kartenziel crash.export = Crash-Logs exportieren crash.none = Keine Crash-Logs gefunden. crash.exported = Crash-Logs wurden erfolgreich exportiert. @@ -296,20 +381,22 @@ data.openfolder = Datenordner öffnen data.exported = Daten exportiert. data.invalid = Dies sind keine gültigen Spieldaten. data.import.confirm = Der Import von externen Daten wird [scarlet] alle[] deine gegenwärtigen Spieldaten löschen.\n[accent]Das kann nicht rückgängig gemacht werden![]\n\nSobald der Import abgeschlossen ist, wird dein Spiel sofort beendet. -quit.confirm = Willst du wirklich aufhören? -quit.confirm.tutorial = Weißt du, was du tust?\nDu kannst das Tutorial unter[accent] Einstellungen->Spiel->Tutorial wiederholen[] erneut spielen. +quit.confirm = Willst du wirklich verlassen? loading = [accent]Wird geladen... -reloading = [accent]Lade Mods neu... +downloading = [accent]Herunterladen... saving = [accent]Speichere... respawn = [accent][[{0}][] um im Kern zu spawnen cancelbuilding = [accent][[{0}][] um den Plan zu leeren selectschematic = [accent][[{0}][] zum Auswählen+Kopieren pausebuilding = [accent][[{0}][] um das Bauen zu pausieren resumebuilding = [scarlet][[{0}][] um das Bauen fortzusetzen +enablebuilding = [scarlet][[{0}][] um zu bauen showui = Bedienflächen versteckt.\nDrücke [accent][[{0}][], um sie wieder anzuzeigen. +commandmode.name = [accent]Steuerungsmodus +commandmode.nounits = [keine Einheiten] wave = [accent]Welle {0} wave.cap = [accent]Welle {0}/{1} -wave.waiting = Welle in {0} +wave.waiting = Nächste Welle in {0} wave.waveInProgress = [lightgray]Welle im Gange waiting = Warten... waiting.players = Warte auf Spieler... @@ -326,9 +413,9 @@ custom = Benutzerdefiniert builtin = Enthalten map.delete.confirm = Bist du sicher, dass du diese Karte löschen willst? Dies kann nicht rückgängig gemacht werden! map.random = [accent]Zufällige Karte -map.nospawn = Diese Karte hat keine Kerne, in denen die Spieler beginnen können! Füge einen [royal]orangen[] Kern zu dieser Karte im Editor hinzu. -map.nospawn.pvp = Diese Karte hat keine Kerne für die gegnerischen Spieler! Füge über den Editor [scarlet] nicht-orange[] Kerne zu dieser Karte hinzu. -map.nospawn.attack = Diese Karte hat keine gegnerischen Kerne, die Spieler angreifen können! Füge über den Editor [scarlet] rote[] Kerne zu dieser Karte hinzu. +map.nospawn = Diese Karte hat keine Kerne, in denen die Spieler beginnen können! Füge einen {0} Kern zu dieser Karte im Editor hinzu. +map.nospawn.pvp = Diese Karte hat keine Kerne für die gegnerischen Spieler! Füge über den Editor [scarlet]nicht-orange[] Kerne zu dieser Karte hinzu. +map.nospawn.attack = Diese Karte hat keine gegnerischen Kerne, die Spieler angreifen können! Füge über den Editor a {0} Kerne zu dieser Karte hinzu. map.invalid = Fehler beim Laden der Karte: Beschädigte oder ungültige Kartendatei. workshop.update = Objekt aktualisieren workshop.error = Fehler beim Laden von Workshop-Details: {0} @@ -336,13 +423,18 @@ map.publish.confirm = Willst du diese Karte wirklich veröffentlichen?\n\n[light workshop.menu = Wähle aus, was du mit diesem Objekt tun willst. workshop.info = Objekt-Info changelog = Änderungen (optional): -eula = Steam EULA +updatedesc = Titel und Beschreibung überschreiben +eula = Steam-EULA missing = Dieses Objekt wurde gelöscht oder verschoben.\n[lightgray]Die Workshop-Auflistung ist nun automatisch getrennt worden. publishing = [accent]Veröffentlichen... publish.confirm = Willst du das wirklich veröffentlichen?\n\n[lightgray]Vergewissere dich, dass du der Workshop-EULA zugestimmt hast, sonst tauchen deine Objekte nicht auf! publish.error = Fehler beim Veröffentlichen des Objekts: {0} steam.error = Fehler beim Laden der Steam-Dienste.\nError: {0} +editor.planet = Planet: +editor.sector = Sektor: +editor.seed = Seed: +editor.cliffs = Wände zu Klippen editor.brush = Pinsel editor.openin = Öffne im Editor editor.oregen = Erze generieren @@ -351,57 +443,99 @@ editor.mapinfo = Karten-Info editor.author = Autor: editor.description = Beschreibung: editor.nodescription = Eine Karte benötigt eine Beschreibung mit mindestens 4 Buchstaben, bevor sie veröffentlicht werden kann. -editor.waves = Wellen: -editor.rules = Regeln: -editor.generation = Generator: +editor.waves = Wellen +editor.rules = Regeln +editor.generation = Generator +editor.objectives = Ziele +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Name bearbeiten +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Im Spiel bearbeiten +editor.playtest = Playtest editor.publish.workshop = Im Workshop veröffentlichen editor.newmap = Neue Karte editor.center = Zur Mitte +editor.search = Karten durchsuchen... +editor.filters = Karten filtern +editor.filters.mode = Spielmodi: +editor.filters.type = Kartentyp: +editor.filters.search = Suchen nach: +editor.filters.author = Autor +editor.filters.description = Beschreibung +editor.shiftx = Verschieben X +editor.shifty = Verschieben Y workshop = Workshop waves.title = Wellen waves.remove = Entfernen -waves.never = waves.every = alle waves.waves = Welle(n) +waves.health = Leben: {0}% waves.perspawn = pro Spawn waves.shields = Schilder pro Welle waves.to = bis +waves.spawn = Startpunkte: +waves.spawn.all = +waves.spawn.select = Startpunktauswahl +waves.spawn.none = [scarlet]keine Startpunkte gefunden +waves.max = maximale Einheiten waves.guardian = Boss waves.preview = Vorschau waves.edit = Bearbeiten... -waves.copy = Aus der Zwischenablage kopieren +waves.random = Zufällig +waves.copy = In die Zwischenablage kopieren waves.load = Aus der Zwischenablage laden waves.invalid = Ungültige Wellen in der Zwischenablage. waves.copied = Wellen kopiert. waves.none = Keine Gegner definiert.\nInfo: Leere Wellenentwürfe werden automatisch mit dem Standard-Entwurf ersetzt. +waves.sort = Sortieren nach +waves.sort.reverse = Reihenfolge umkehren +waves.sort.begin = Anfang +waves.sort.health = Lebenspunkte +waves.sort.type = Sorte +waves.search = Wellen durchsuchen... +waves.filter = Einheiten Filter +waves.units.hide = Alle verstecken +waves.units.show = Alle anzeigen wavemode.counts = Menge wavemode.totals = Gesamtmenge wavemode.health = Lebenspunkte +all = All editor.default = [lightgray] details = Details edit = Bearbeiten +variables = Variablen +logic.clear.confirm = Willst du wirklich den gesamten code aus diesem prozessor löschen? +logic.globals = Eingebaute Variablen editor.name = Name: editor.spawn = Spawnbereich editor.removeunit = Bereich entfernen editor.teams = Teams editor.errorload = Fehler beim Laden der Datei:\n[accent]{0} editor.errorsave = Fehler beim Speichern der Datei:\n[accent]{0} -editor.errorimage = Das ist ein Bild, keine Karte. Wechsle nicht den Dateityp und erwarte, dass es funktioniert.\n\nWenn du eine 'v3.5/build 40'-Karte importieren möchtest, benutze den 'Importiere Terrainbild'-Knopf im Editor. +editor.errorimage = Das ist ein Bild, keine Karte. editor.errorlegacy = Diese Karte ist zu alt und benutzt ein veraltetes Kartenformat, das nicht mehr unterstützt wird. editor.errornot = Dies ist keine Kartendatei. editor.errorheader = Diese Karte ist entweder nicht gültig oder beschädigt. editor.errorname = Karte hat keinen Namen. +editor.errorlocales = Error reading invalid locale bundles. editor.update = Aktualisieren editor.randomize = Zufällig anordnen +editor.moveup = Hochschieben +editor.movedown = Herunterschieben +editor.copy = Kopieren editor.apply = Anwenden editor.generate = Generieren +editor.sectorgenerate = Sektor generieren editor.resize = Größe\nanpassen editor.loadmap = Karte\nladen editor.savemap = Karte\nspeichern +editor.savechanges = [scarlet]Du hast ungespeicherte Änderungen!\n\n[]Möchtest du sie speichern? editor.saved = Gespeichert! editor.save.noname = Deine Karte hat keinen Namen! Setze einen Namen im [accent]Karten-Info[]-Menü. editor.save.overwrite = Deine Karte überschreibt eine Standardkarte! Wähle einen anderen Karten Namen im [accent]Karten-Info[]-Menü. @@ -440,10 +574,16 @@ toolmode.eraseores = Erze löschen toolmode.eraseores.description = Löscht nur Erze. toolmode.fillteams = Teams ausfüllen toolmode.fillteams.description = Füllt Teams aus statt Blöcke. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Teams zeichnen toolmode.drawteams.description = Zeichnet Teams statt Blöcke. +#unused +toolmode.underliquid = Unter Flüssigkeiten +toolmode.underliquid.description = Malt Boden unter Flüssigkeiten. filters.empty = [lightgray]Keine Filter! Füge einen mit dem unteren Knopf hinzu. + filter.distort = Verzerren filter.noise = Rauschen filter.enemyspawn = Gegnerischer Spawn Auswahl @@ -460,6 +600,8 @@ filter.clear = Löschen filter.option.ignore = Ignorieren filter.scatter = Streuen filter.terrain = Landschaft +filter.logic = Logic + filter.option.scale = Skalierung filter.option.chance = Wahrscheinlichkeit filter.option.mag = Größe @@ -468,17 +610,39 @@ filter.option.circle-scale = Kreisskalierung filter.option.octaves = Oktaven filter.option.falloff = Rückgang filter.option.angle = Winkel +filter.option.tilt = Drehung +filter.option.rotate = Drehung filter.option.amount = Menge filter.option.block = Block filter.option.floor = Boden filter.option.flooronto = Zielboden filter.option.target = Ziel +filter.option.replacement = Ersatz filter.option.wall = Wand filter.option.ore = Erz filter.option.floor2 = Sekundärer Boden filter.option.threshold2 = Sekundärer Grenzwert filter.option.radius = Radius filter.option.percentile = Perzentil +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Breite: height = Höhe: @@ -489,6 +653,7 @@ load = Laden save = Speichern fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} memory = Arbeitsspeicher: {0}mb memory2 = Arbeitsspeicher:\n {0}mb +\n {1}mb language.restart = Starte dein Spiel neu, um die Spracheinstellungen zu übernehmen. @@ -507,21 +672,75 @@ requirement.core = Zerstöre den feindlichen Kern in {0} requirement.research = Erforsche {0} requirement.produce = Produziere {0} requirement.capture = Erobere {0} +requirement.onplanet = Kontrolliere Sektor auf {0} +requirement.onsector = Lande auf Sektor: {0} launch.text = Start -research.multiplayer = Nur der Host kann forschen. map.multiplayer = Nur der Host kann Sektoren ansehen. uncover = Freischalten configure = Anfangsressourcen festlegen +objective.research.name = Erforschen +objective.produce.name = Herstellen +objective.item.name = Erhalten +objective.coreitem.name = Im Kern lagern +objective.buildcount.name = Blöcke bauen +objective.unitcount.name = Einheiten herstellen +objective.destroyunits.name = Zerstöre Einheiten +objective.timer.name = Zeit +objective.destroyblock.name = Block zerstören +objective.destroyblocks.name = Blöcke zerstören +objective.destroycore.name = Kern zerstören +objective.commandmode.name = Steuerungsmodus +objective.flag.name = Flag + +marker.shapetext.name = Geformter Text +marker.point.name = Punkt +marker.shape.name = Form +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quadrat +marker.texture.name = Textur + +marker.background = Hintergrund +marker.outline = Umriss + +objective.research = [accent]Erforsche:\n[]{0}[lightgray]{1} +objective.produce = [accent]Erstelle:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Zerstöre:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Zerstöre: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Erhalte: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Lagere im Kern:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Baue: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Baue Einheit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Zerstöre: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Gegner in [lightgray]{0}[] +objective.enemyescelating = [accent]Gegnerische Einheit-Produktion steigert sich in [lightgray]{0}[] +objective.enemyairunits = [accent]Gegnerische Lufteinheit-Produktion startet in [lightgray]{0}[] +objective.destroycore = [accent]Gegnerischen Kern zerstören +objective.command = [accent]Einheiten Steuern +objective.nuclearlaunch = [accent]âš  Atomraketenstart festgestellt: [lightgray]{0} + +announce.nuclearstrike = [red]âš  ATOMRAKETEN IM ANFLUG âš \n[lightgray]baue sofort weitere Kerne zur Absicherung + loadout = Anfangsressourcen resources = Ressourcen +resources.max = Max bannedblocks = Gesperrte Blöcke +unbannedblocks = Unbanned Blocks +objectives = Ziele +bannedunits = Gesperrte Einheiten +unbannedunits = Unbanned Units +bannedunits.whitelist = Gesperrte Einheiten als Whitelist +bannedblocks.whitelist = Gesperrte Blöcke als Whitelist addall = Alle hinzufügen -launch.from = Items werden von [accent]{0} []gestartet +launch.from = Materialen werden von [accent]{0} []gestartet +launch.capacity = Ressourcenkapazität: [accent]{0} launch.destination = Ziel: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Anzahl muss eine Zahl zwischen 0 und {0} sein. add = Hinzufügen... -boss.health = Boss-Lebenspunkte +guardian = Boss connectfail = [crimson] Verbindung zum Server konnte nicht hergestellt werden: [accent]{0} error.unreachable = Server nicht erreichbar. @@ -533,17 +752,24 @@ error.mapnotfound = Kartendatei nicht gefunden! error.io = Netzwerk-I/O-Fehler. error.any = Unbekannter Netzwerkfehler. error.bloom = Bloom konnte nicht initialisiert werden.\nEs kann sein, dass dein Gerät es nicht unterstützt. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Regen -weather.snow.name = Schnee +weather.snowing.name = Schnee weather.sandstorm.name = Sandsturm weather.sporestorm.name = Sporensturm weather.fog.name = Nebel +campaign.playtime = \uf129 [lightgray]Sektor-Spielzeit: {0} +campaign.complete = [accent]Glückwunsch.\n\nDer Gegner auf {0} ist besiegt worden.\n[lightgray]Der letzte Sektor wurde erobert. + +sectorlist = Sektoren +sectorlist.attacked = {0} wird angegriffen sectors.unexplored = [lightgray]Unentdeckt sectors.resources = Ressourcen: sectors.production = Produktion: sectors.export = Export: +sectors.import = Import: sectors.time = Zeit: sectors.threat = Gefahr: sectors.wave = Welle: @@ -551,48 +777,75 @@ sectors.stored = Gelagert: sectors.resume = Weiterspielen sectors.launch = Start sectors.select = Auswählen -sectors.nonelaunch = [lightgray]none (sun) +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]keiner (Sonne) +sectors.redirect = Redirect Launch Pads sectors.rename = Sektor umbenennen sectors.enemybase = [scarlet]Gegnerische Basis sectors.vulnerable = [scarlet]Angriffsgefährdet sectors.underattack = [scarlet]Wird angegriffen! [accent]{0}% geschädigt +sectors.underattack.nodamage = [scarlet]Unerobert sectors.survives = [accent]Kann {0} Wellen überleben sectors.go = Hingehen +sector.abandon = Aufgeben +sector.abandon.confirm = Kern(e) von diesem Sektor werden sich selbst zerstören.\nWeiter? sector.curcapture = Sektor erfolgreich erobert sector.curlost = Sektor verloren sector.missingresources = [scarlet]Fehlende Kernressourcen sector.attacked = Sektor [accent]{0}[white] wird angegriffen! sector.lost = Sektor [accent]{0}[white] verloren! -#note: the missing space in the line below is intentional -sector.captured = Sektor [accent]{0}[white]erobert! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Bild ändern +sector.noswitch.title = Kann Sektoren nicht wechseln +sector.noswitch = Du kannst nicht zwischen Sektoren wechseln, wenn ein anderer angegriffen wird.\n\nSektor: [accent]{0}[] auf [accent]{1}[] +sector.view = Sektor ansehen threat.low = Niedrig threat.medium = Mittel threat.high = Hoch threat.extreme = Extrem threat.eradication = Zerstörung +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = Planeten planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sonne -sector.impact0078.name = Impact 0078 +sector.impact0078.name = Einschlag 0078 sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass -sector.biomassFacility.name = Biomass Synthesis Facility -sector.windsweptIslands.name = Windswept Islands -sector.extractionOutpost.name = Extraction Outpost -sector.planetaryTerminal.name = Planetary Launch Terminal +sector.craters.name = Die Krater +sector.frozenForest.name = Gefrorener Wald +sector.ruinousShores.name = Trümmerstrände +sector.stainedMountains.name = Geflecktes Gebirge +sector.desolateRift.name = Einsame Kluft +sector.nuclearComplex.name = Nuklear-Produktionsstätte +sector.overgrowth.name = Überwucherung +sector.tarFields.name = Teerfelder +sector.saltFlats.name = Salzebenen +sector.fungalPass.name = Infizierter Gebirgspass +sector.biomassFacility.name = Biomassensyntheselabor +sector.windsweptIslands.name = Windgepeitschte Inseln +sector.extractionOutpost.name = Extraktionsaußenposten +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetares Launchterminal +sector.coastline.name = Küstenlinie +sector.navalFortress.name = Wasserfestung +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = Der optimale Ort, um anzufangen. Schwache Gegner und weniger Ressourcen.\nSammele so viel Kupfer und Blei wie möglich.\nGeh weiter. sector.frozenForest.description = Auch hier, näher an den Bergen, sind die Sporen. Sogar die niedrigen Temperaturen können sie nicht zurückhalten.\n\nLerne, Strom zu verwenden. Baue Verbrennungsgeneratoren und Reparateure. @@ -610,6 +863,72 @@ sector.windsweptIslands.description = Diese Inseln befinden sich in der Nähe vo sector.extractionOutpost.description = Ein Außenposten, der vom Gegner erstellt wurde, um Ressourcen in andere Sektoren zu transportieren.\n\nTrans-Sektorischer Transport ist nötig, um weiter voranzuschreiten. Zerstöre den Posten. Erforsche deren Launchpads. sector.impact0078.description = Hier liegen Reste der interplanetarischen Transporteinheit, die dieses Sonnensystem zuerst betreten hat.\n\nRette so viel wie möglich von den Ruinen. Erforsche jede intakte Technologie. sector.planetaryTerminal.description = Das Endziel.\n\nDiese Uferbasis besitzt ein Gerät, mit dem es möglich ist, Kerne auf andere Planeten zu schicken. Es ist [accent]sehr[] gut beschützt.\n\nStelle Wassereinheiten her. Eliminiere den Gegner so schnell wie möglich. Erforsche das Launchgerät. +sector.coastline.description = Überreste alter Schiffstechnologien wurden hier entdeckt. Wehre dich gegen die gegnischen Angriffe, erobere den Sektor und erforsche diese Technologie. +sector.navalFortress.description = Der Gegner hat auf einer abgelegenen, von Natur aus sicheren Insel eine Basis aufgebaut. Zerstöre diesen Außenposten. Finde deren fortgeschrittene Schiffstechnologien und erforsche diese weiter. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = Der Anfang +sector.aegis.name = Aegis +sector.lake.name = See +sector.intersect.name = Schnitt +sector.atlas.name = Atlas +sector.split.name = Teilung +sector.basin.name = Talbecken +sector.marsh.name = Marsch +sector.peaks.name = Gipfel +sector.ravine.name = Schlucht +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = Hochburg +sector.crevice.name = Spalte +sector.siege.name = Belagerung +sector.crossroads.name = Kreuzung +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Der Einführungssektor. Dieser Sektor hat noch kein Ziel. Erwarte weitere Informationen. +sector.aegis.description = In disem Sektor gibt es Wolframvorkommen.\nErforsche den [accent]Schlagbohrer[], um diese Abzubauen und den Feind zu zerstören. +sector.lake.description = Der Schlackesee in diesem Sektor begrenzt die Menge nützlicher Einheiten. Eine Flugeinheit ist die einzige Möglichkeit.\nErforsche den [accent]Schiffhersteller[] und erstelle so schnell wie möglich einen [accent]Elud[]. +sector.intersect.description = Unsere Scanner verraten uns, dass dieser Sektor kurz nach der Landung von mehreren Seiten gleichzeitig angegeriffen werden wird.\nBaue schnell Verteidigung und expandiere so bald wie möglich.\nWir werden [accent]Mecheinheiten[] brauchen, um mit dem Gelände umzugehen. +sector.atlas.description = Wir werden eine Vielfalt von Einheiten brauchen, um mit dem Terrain in diesem Sektor umgehen zu können.\nEs ist möglich, dass auch verbesserte Einheiten nötig sind, um die stärkeren Gegner zu besiegen.\nErforsche den [accent]Electrolyseur[] und den [accent]Panzerverbesserer[]. +sector.split.description = Die schwache Gegnerpräsens macht diesen Sektor perfekt zum Testen neuer Transportmittel. +sector.basin.description = Viele Gegner wurden in diesem Sektor erkann.\nBaue schnell Einheiten und nehme gegnerische Kerne ein, um einen Stützpunkt aufzubauen. +sector.marsh.description = Dieser Sektor hat viel Arkyzit, dafür aber wenig Schlote.\nBaue [accent]Chemische Verbrennungskammern[] um Strom zu erzeugen. +sector.peaks.description = Das bergige Gelände in diesem Sektor macht die meisten Einheiten nutzlos. Du wirst fliegende Einheiten brauchen.\nAchte auf feindliche Luftabwehr. Es ist vielleicht möglich ein paar dieser Installationen auszuschalten, indem du auf ihre unterstützenden Gebäude zielst. +sector.ravine.description = Keine gegnerischen Kerne wurde in diesem Sektor erkannt, jedoch ist er Teil von einem wichtigen Transportweg. Erwarte eine Vielfalt an Gegnern.\nStelle Spannungslegierung her[]. Baue [accent]Afflikt[]-Geschütze. +sector.caldera-erekir.description = Die Ressourcen in diesem Sektor sind über mehrere Inseln verteilt.\nErforsche und verwende Ressourcentransport mit Drohnen. +sector.stronghold.description = Die starke gegnerische Basis in diesem Sektor beschützt signifikante Mengen [accent]Thorium[].\nBenutze dieses, um stärkere Einheiten und Geschütze herzustellen. +sector.crevice.description = Der Gegner wird heftige Angriffstruppen schicken, um deine Basis in diesem Sektor zu zerstören.\n[accent]Karbid[] und [accent]Pyrolysegenerator[] sind für das Überleben vielleicht notwendig. +sector.siege.description = In diesem Sektor befinden sich zwei Schluchten, die einen Doppelangriff erzwingen.\nErforsche [accent]Cyanogen[], um noch stärkere Panzereinheiten bauen zu können.\nVorsicht: Gegnerische Langstreckengeschosse wurden erkannt. Diese kann man abschießen, bevor sie treffen. +sector.crossroads.description = Die gegnerischen Basen in diesem Sektor befinden sich in sehr unterschiedlichen Gebieten. Erforsche neue Einhieten, um dich anzupassen.\nManche Basen sind zusätzlich mit Schilden beschützen. Finde deren Stromversorgung. +sector.karst.description = Dieser Sektor ist sehr ressourcenreich, wird aber von den Gegnern angegriffen, wenn ein neuer Kern landet.\nBenutze die vielen Materialen und erforsche [accent]Phasengewebe[]. +sector.origin.description = Der letzte Sektor mit einer erheblichen gegnerischen Basis.\nEs gibt keine sinnvollen Forschungsmöglichkeiten mehr - konzentriere dich ausschließlich auf die gegnerischen Kerne. + +status.burning.name = Brennend +status.freezing.name = Frierend +status.wet.name = Nass +status.muddy.name = Schlammig +status.melting.name = Schmelzend +status.sapped.name = Schwächend +status.electrified.name = Elektrisch +status.spore-slowed.name = Sporen-verlangsamt +status.tarred.name = Teerend +status.overdrive.name = Overdrive +status.overclock.name = Übertaktet +status.shocked.name = Schockend +status.blasted.name = Sprengend +status.unmoving.name = Unbeweglich +status.boss.name = Boss settings.language = Sprache settings.data = Spieldaten @@ -632,6 +951,7 @@ settings.clearcampaignsaves.confirm = Möchtest du wirklich alle Kampagne-Speich paused = [accent]< Pausiert > clear = Leeren banned = [scarlet]Verbannt +unsupported.environment = [scarlet]Umgebung nicht unterstützt yes = Ja no = Nein info.title = Info @@ -639,14 +959,18 @@ error.title = [crimson]Ein Fehler ist aufgetreten error.crashtitle = Ein Fehler ist aufgetreten! unit.nobuild = [scarlet]Einheit kann nicht bauen! lastaccessed = [lightgray]Zuletzt konfiguriert: {0} +lastcommanded = [lightgray]Letzter Befehl: {0} block.unknown = [lightgray]??? +stat.showinmap = <öffne Spiel um zu zeigen> stat.description = Beschreibung stat.input = Eingang stat.output = Ausgang +stat.maxefficiency = Max. Effizienz stat.booster = Verstärkung stat.tiles = Erforderte Untergründe stat.affinities = Affinitäten +stat.opposites = Gegenteile stat.powercapacity = Kapazität stat.powershot = Stromverbrauch/Schuss stat.damage = Schaden @@ -659,8 +983,6 @@ stat.size = Größe stat.displaysize = Bildschirmgröße stat.liquidcapacity = Flüssigkeitskapazität stat.powerrange = Stromreichweite -stat.weapons = Waffen -stat.bullet = Geschoss stat.linkrange = Verbindungsradius stat.instructions = Befehle stat.powerconnections = Maximale Stromverbindungen @@ -671,6 +993,11 @@ stat.memorycapacity = Speicherkapazität stat.basepowergeneration = Basis-Stromerzeugung stat.productiontime = Produktionszeit stat.repairtime = Zeit zur vollständigen Reparatur +stat.repairspeed = Heilungsgeschwindigkeit +stat.weapons = Waffen +stat.bullet = Geschoss +stat.moduletier = Modulstufe +stat.unittype = Einheitentyp stat.speedincrease = Geschwindigkeitserhöhung stat.range = Reichweite stat.drilltier = Abbaubare Erze @@ -678,21 +1005,23 @@ stat.drillspeed = Bohrgeschwindigkeit stat.boosteffect = Verstärkungseffekt stat.maxunits = Max. aktive Einheiten stat.health = Lebenspunkte +stat.armor = Rüstung stat.buildtime = Baudauer stat.maxconsecutive = Max. Konsekutive stat.buildcost = Baukosten stat.inaccuracy = Ungenauigkeit stat.shots = Schüsse -stat.reload = Schüsse/Sekunde +stat.reload = Schussrate stat.ammo = Munition stat.shieldhealth = Schildlebenspunkte stat.cooldowntime = Cooldown-Zeit stat.explosiveness = Sprengkraft stat.basedeflectchance = Grundreflektionschance -stat.lightningchance = Blitzwahr­schein­lich­keit +stat.lightningchance = Blitzwahrscheinlichkeit stat.lightningdamage = Blitzschaden stat.flammability = Brennbarkeit stat.radioactivity = Radioaktivität +stat.charge = Ladung stat.heatcapacity = Hitzekapazität stat.viscosity = Viskosität stat.temperature = Temperatur @@ -701,25 +1030,78 @@ stat.buildspeed = Baugeschwindigkeit stat.minespeed = Abbaugeschwindigkeit stat.minetier = Abbau-Kraft stat.payloadcapacity = Einheitenkapazität -stat.commandlimit = Kommandier-Limit stat.abilities = Fähigkeiten stat.canboost = Kann boosten stat.flying = Flug stat.ammouse = Muntionsverbrauch +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Schaden-Multiplikator +stat.healthmultiplier = Lebenspunkte-Multiplikator +stat.speedmultiplier = Geschwindigkeit-Multiplikator +stat.reloadmultiplier = Nachlade-Multiplikator +stat.buildspeedmultiplier = Baugeschwindigkeit-Multiplikator +stat.reactive = Reagiert mit +stat.immunities = Immunitäten +stat.healing = Heilung +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Kraftfeld +ability.forcefield.description = Projeziert ein Kraftfeld, welches Kugeln aufhält ability.repairfield = Heilungsfeld +ability.repairfield.description = repariert Einheiten in der Nähe ability.statusfield = Statusfeld -ability.unitspawn = {0} Fabrik -ability.shieldregenfield = Schild-regenerations-Feld +ability.statusfield.description = Gibt Einheiten in der Nähe einen Statuseffekt +ability.unitspawn = Fabrik +ability.unitspawn.description = Baut Einheiten +ability.shieldregenfield = Schildregenerationsfeld +ability.shieldregenfield.description = Regeneriert Schilder von Einheiten in der Nähe ability.movelightning = Bewegungsblitze +ability.movelightning.description = Entfesselt bei Bewegung Blitze +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Lichtbogenschild +ability.shieldarc.description = Projeziert ein Kraftfeld in einem Bogen, welches Kugeln aufhält +ability.suppressionfield = Heilungsunterdrückungsfeld +ability.suppressionfield.description = Unterdrückt Heilungsblöcke in der Nähe +ability.energyfield = Energiefeld +ability.energyfield.description = Schockt Feinde in der Nähe +ability.energyfield.healdescription = Schockt Feinde und heilt alliierte in der Nähe +ability.regen = Regeneration +ability.regen.description = Regeneriert eigene Lebenspunkte mit der Zeit +ability.liquidregen = Flüssigkeitsabsorbtion +ability.liquidregen.description = Nimmt Flüssigkeit auf, um sich selbst zu heilen +ability.spawndeath = Fragmentierung +ability.spawndeath.description = Entlässt beim Tod neue Einheiten +ability.liquidexplode = Auslaufen +ability.liquidexplode.description = Verschüttet Flüssigkeit beim Tod +ability.stat.firingrate = [stat]{0}/sek[lightgray] Feuerrate +ability.stat.regen = [stat]{0}[lightgray] Lebenspunkte/sek +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] Schild +ability.stat.repairspeed = [stat]{0}/sek[lightgray] Repariergeschwindigkeit +ability.stat.slurpheal = [stat]{0}[lightgray] Lebenspunkte/Flüssigkeitseinheit +ability.stat.cooldown = [stat]{0} sek[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max Ziele + +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] Schadensreduktion +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min Geschwindigkeit +ability.stat.duration = [stat]{0} sek[lightgray] Dauer +ability.stat.buildtime = [stat]{0} sek[lightgray] Baudauer + +bar.onlycoredeposit = Nur Kernablage möglich bar.drilltierreq = Besserer Bohrer benötigt +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Fehlende Ressourcen bar.corereq = Kern-Basis erforderlich +bar.corefloor = Kernzone erforderlich +bar.cargounitcap = Frachteinheiten-Limit erreicht bar.drillspeed = Bohrgeschwindigkeit: {0}/s bar.pumpspeed = Pumpengeschwindigkeit: {0}/s bar.efficiency = Effizienz: {0}% +bar.boost = Beschleunigung: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Strom: {0}/s bar.powerstored = Gespeichert: {0}/{1} bar.poweramount = Strom: {0} @@ -730,10 +1112,17 @@ bar.capacity = Kapazität: {0} bar.unitcap = {0} {1}/{2} bar.liquid = Flüssigkeit bar.heat = Hitze +bar.cooldown = Cooldown +bar.instability = Instabilität +bar.heatamount = Hitze: {0} +bar.heatpercent = Hitze: {0} ({1}%) bar.power = Strom bar.progress = Baufortschritt +bar.loadprogress = Fortschritt +bar.launchcooldown = Start-Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x Stärke units.processorcontrol = [lightgray]Prozessorgesteuert @@ -741,38 +1130,48 @@ bullet.damage = [stat]{0}[lightgray] Schaden bullet.splashdamage = [stat]{0}[lightgray] Flächenschaden ~[stat] {1}[lightgray] Kacheln bullet.incendiary = [stat]entzündend bullet.homing = [stat]zielsuchend -bullet.sapping = [stat]entzieht Lebenspunkte -bullet.shock = [stat]schockend -bullet.frag = [stat]explosiv +bullet.armorpierce = [stat]panzerbrechend +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] Heilungsunterdrückung ~ [stat]{1}[lightgray] Kacheln +bullet.interval = [stat]{0}/sec[lightgray] Intervallgeschosse: +bullet.frags = [stat]{0}[lightgray]x Splittergeschosse: +bullet.lightning = [stat]{0}[lightgray]x Blitz ~ [stat]{1}[lightgray] Schaden bullet.buildingdamage = [stat]{0}%[lightgray]Blockschaden +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] zurückstoßend bullet.pierce = [stat]{0}[lightgray]x Durchstechkraft bullet.infinitepierce = [stat]Durchstechkraft -bullet.freezing = [stat]frierend bullet.healpercent = [stat]{0}[lightgray]% Heilung -bullet.tarred = [stat]teerend +bullet.healamount = [stat]{0}[lightgray] direkte Reperatur bullet.multiplier = [stat]{0}[lightgray]x Munition Multiplikator -bullet.reload = [stat]{0}[lightgray]x Feuerrate +bullet.reload = [stat]{0}%[lightgray] Feuerrate +bullet.range = [stat]{0}[lightgray] Blöcke Reichweite +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = Blöcke unit.blockssquared = Blöcke² unit.powersecond = Stromeinheiten/Sekunde +unit.tilessecond = Blöcke/Sekunde unit.liquidsecond = Flüssigkeitseinheiten/Sekunde unit.itemssecond = Materialeinheiten/Sekunde unit.liquidunits = Flüssigkeitseinheiten unit.powerunits = Stromeinheiten +unit.heatunits = Hitzeeinheiten unit.degrees = Grad unit.seconds = Sekunden -unit.minutes = mins +unit.minutes = Minuten unit.persecond = /sek unit.perminute = /min unit.timesspeed = x Geschwindigkeit +unit.multiplier = x unit.percent = % unit.shieldhealth = Schildlebenspunkte unit.items = Materialeinheiten unit.thousands = k unit.millions = Mio unit.billions = Mrd +unit.shots = Schuss unit.pershot = /Schuss category.purpose = Beschreibung category.general = Allgemeines @@ -782,17 +1181,23 @@ category.items = Materialien category.crafting = Erzeugung category.function = Funktion category.optional = Optionale Zusätze -setting.landscape.name = Landschaft sperren +setting.alwaysmusic.name = Immer Musik spielen +setting.alwaysmusic.description = An: Musik spielt ständig im Spiel\n Aus: Musik spielt hin und wieder in zufälligen Abständen +setting.skipcoreanimation.name = Kern Start- und Lande-Animation überspringen +setting.landscape.name = Querformat sperren setting.shadows.name = Schatten setting.blockreplace.name = Automatische Blockvorschläge setting.linear.name = Lineare Filterung setting.hints.name = Tipps -setting.flow.name = Ressourcen-Fluss anzeigen +setting.logichints.name = Logiktipps setting.backgroundpause.name = Im Hintergrund pausieren setting.buildautopause.name = Bauen automatisch pausieren -setting.animatedwater.name = Animiertes Wasser +setting.doubletapmine.name = Doppeltippen zum Abbauen +setting.commandmodehold.name = Halten für Steuerungsmodus +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Mods bei Absturz deaktivieren +setting.animatedwater.name = Animierte Oberflächen setting.animatedshields.name = Animierte Schilde -setting.antialias.name = Antialias[lightgray] (Neustart erforderlich)[] setting.playerindicators.name = Spieler-Indikatoren setting.indicators.name = Verbündeten-Indikatoren setting.autotarget.name = Auto-Zielauswahl @@ -801,15 +1206,12 @@ setting.touchscreen.name = Touchscreen-Steuerung setting.fpscap.name = Max. FPS setting.fpscap.none = Kein(e) setting.fpscap.text = {0} FPS -setting.uiscale.name = UI-Skalierung[lightgray] (Neustart erforderlich)[] +setting.uiscale.name = UI-Skalierung +setting.uiscale.description = Neustart erforderlich. setting.swapdiagonal.name = Immer diagonale Platzierung -setting.difficulty.training = Training -setting.difficulty.easy = Leicht -setting.difficulty.normal = Normal -setting.difficulty.hard = Schwer -setting.difficulty.insane = Verrückt -setting.difficulty.name = Schwierigkeit: setting.screenshake.name = Wackeleffekt +setting.bloomintensity.name = Bloomstärke +setting.bloomblur.name = Bloomunschärfe setting.effects.name = Effekte anzeigen setting.destroyedblocks.name = Zerstörte Blöcke anzeigen setting.blockstatus.name = Block-Status anzeigen @@ -819,31 +1221,41 @@ setting.saveinterval.name = Autosave-Häufigkeit setting.seconds = {0} Sekunden setting.milliseconds = {0} Millisekunden setting.fullscreen.name = Vollbild -setting.borderlesswindow.name = Randloses Fenster [lightgray](Neustart vielleicht erforderlich) +setting.borderlesswindow.name = Randloses Fenster +setting.borderlesswindow.name.windows = Randloses Vollbild +setting.borderlesswindow.description = Neustart vielleicht erforderlich. setting.fps.name = FPS anzeigen +setting.console.name = Konsole freigeben setting.smoothcamera.name = Sanfte Kamerabewegungen setting.vsync.name = VSync setting.pixelate.name = Verpixeln [lightgray](Könnte die Leistung beeinträchtigen) setting.minimap.name = Zeige die Minimap -setting.coreitems.name = Kern-Items anzeigen +setting.coreitems.name = Kern-Materialien anzeigen setting.position.name = Spieler-Position anzeigen +setting.mouseposition.name = Mausposition anzeigen setting.musicvol.name = Musiklautstärke setting.atmosphere.name = Planetatmosphäre zeigen +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient-Lautstärke setting.mutemusic.name = Musik stummschalten setting.sfxvol.name = Audioeffekt-Lautstärke setting.mutesound.name = Audioeffekte stummschalten setting.crashreport.name = Anonyme Absturzberichte senden +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Automatisch speichern -setting.publichost.name = Öffentliche Sichtbarkeit des Spiels +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Spielerbegrenzung setting.chatopacity.name = Chat-Deckkraft setting.lasersopacity.name = Power-Laser-Deckkraft +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Brücken-Deckkraft setting.playerchat.name = Chat im Spiel anzeigen setting.showweather.name = Wetter anzeigen -public.confirm = Willst du dein Spiel öffentlich zugänglich machen?\n[accent]Jeder kann deinem Spiel beitreten.\n[lightgray]Dies kann später in den Einstellungen->Spiel->Öffentliches Spiel geändert werden. -public.confirm.really = Wenn du mit Freunden spielen willst, drücke [green]Freunde einladen[] statt einen [scarlet]öffentlichen Server[] zu erstellen!\nBist du dir sicher, dass du dein Spiel [scarlet]öffentlich[] machen möchtest? +setting.hidedisplays.name = Logik-Bildschirme verdecken +setting.macnotch.name = Passe die Schnittstelle an die Anzeigekerbe an +setting.macnotch.description = Neustart erforderlich +steam.friendsonly = Nur Freunde +steam.friendsonly.tooltip = Ob nur Steam-Freunde deinem Spiel beitreten können.\nDiese Einstellung zu deaktivieren macht dein Spiel öffentlich - jeder kann beitreten. public.beta = Bemerke: Beta-Versionen des Spiels können keine öffentlichen Spiele machen. uiscale.reset = UI-Skalierung wurde geändert.\nDrücke "OK", um diese Skalierung zu bestätigen.\n[scarlet]Zurückkehren und Beenden in[accent] {0}[] Einstellungen... uiscale.cancel = Abbrechen & Beenden @@ -852,12 +1264,9 @@ keybind.title = Tasten zuweisen keybinds.mobile = [scarlet]Die meisten Tastenzuweisungen hier funktionieren auf mobilen Geräten nicht. Nur grundlegende Bewegung wird unterstützt. category.general.name = Allgemein category.view.name = Ansicht +category.command.name = Einheitenbefehle category.multiplayer.name = Mehrspieler category.blocks.name = Blockauswahl -command.attack = Angreifen -command.rally = Patrouillieren -command.retreat = Rückzug -command.idle = Stehen bleiben placement.blockselectkeys = \n[lightgray]Taste: [{0}, keybind.respawn.name = Respawn keybind.control.name = Einheit steuern @@ -865,13 +1274,34 @@ keybind.clear_building.name = Bauplan löschen keybind.press = Drücke eine Taste... keybind.press.axis = Drücke eine Taste oder bewege eine Achse... keybind.screenshot.name = Karten-Screenshot -keybind.toggle_power_lines.name = Power Lasers umschalten +keybind.toggle_power_lines.name = Power Laser umschalten keybind.toggle_block_status.name = Blockstatus umschalten keybind.move_x.name = X-Achse keybind.move_y.name = Y-Achse keybind.mouse_move.name = Der Maus folgen keybind.pan.name = Kamera alleine bewegen keybind.boost.name = Boost +keybind.command_mode.name = Steuerungsmodus +keybind.command_queue.name = Befehl-Warteschlange +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Befehle abbrechen +keybind.unit_stance_shoot.name = Stellung: schießen +keybind.unit_stance_hold_fire.name = Stellung: nicht schießen +keybind.unit_stance_pursue_target.name = Stellung: Ziel verfolgen +keybind.unit_stance_patrol.name = Stellung: patroullieren +keybind.unit_stance_ram.name = Stellung: rammen +keybind.unit_command_move.name = Befehl: bewegen +keybind.unit_command_repair.name = Befehl: reparieren +keybind.unit_command_rebuild.name = Befehl: wiederaufbauen +keybind.unit_command_assist.name = Befehl: Spieler helfen +keybind.unit_command_mine.name = Befehl: Ressourcen abbauen +keybind.unit_command_boost.name = Befehl: Boost +keybind.unit_command_load_units.name = Befehl: Einheiten aufnehmen +keybind.unit_command_load_blocks.name = Befehl: Blöcke aufnehmen +keybind.unit_command_unload_payload.name = Befehl: Last abladen +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Region wiederaufbauen keybind.schematic_select.name = Bereich auswählen keybind.schematic_menu.name = Entwurfsmenü keybind.schematic_flip_x.name = Entwurf umdrehen X @@ -897,10 +1327,11 @@ keybind.select.name = Auswählen/Schießen keybind.diagonal_placement.name = Diagonal platzieren keybind.pick.name = Block auswählen keybind.break_block.name = Block zerstören +keybind.select_all_units.name = Alle Einheiten auswählen +keybind.select_all_unit_factories.name = Alle Einheitenfabriken auswählen keybind.deselect.name = Auswahl aufheben keybind.pickupCargo.name = Block aufheben keybind.dropCargo.name = Block fallen lassen -keybind.command.name = Einheiten kommandieren keybind.shoot.name = Schießen keybind.zoom.name = Zoomen keybind.menu.name = Menü @@ -909,6 +1340,7 @@ keybind.pause_building.name = Pausieren/Fortsetzen des Bauens keybind.minimap.name = Minimap keybind.planet_map.name = Planetenkarte keybind.research.name = Forschen +keybind.block_info.name = Blockinformationen anzeigen keybind.chat.name = Chat keybind.player_list.name = Spielerliste keybind.console.name = Konsole @@ -932,49 +1364,102 @@ mode.pvp.description = Kämpfe lokal gegen andere Spieler.\n[gray]Benötigt mind mode.attack.name = Angriff mode.attack.description = Keine Wellen, das Ziel ist es, die gegnerische Basis zu zerstören.\n[gray]Benötigt einen roten Kern auf der Karte. mode.custom = Angepasste Regeln +rules.invaliddata = Ungültige Daten in der Zwischenablage +rules.hidebannedblocks = Gesperrte Blöcke verstecken rules.infiniteresources = Unbegrenzte Ressourcen +rules.onlydepositcore = Nur in den Kern ablegen +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reaktor-Explosionen +rules.coreincinerates = Kern verbrennt überflüssige Materialien +rules.disableworldprocessors = Deaktiviere Weltprozessoren rules.schematic = Entwürfe erlaubt rules.wavetimer = Wellen-Timer +rules.wavesending = Manuelle Wellen möglich +rules.allowedit = Regeln bearbeiten erlauben +rules.allowedit.info = Erlaubt dem Spieler, diese Regeln im Spiel über den Button unten links im Pause-Menü zu bearbeiten. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Wellen +rules.airUseSpawns = Lufteinheiten spawnen am Spawnpunkt rules.attack = Angriff-Modus -rules.buildai = KI kann bauen -rules.enemyCheat = Unbegrenzte Ressourcen für die KI (Rotes Team) +rules.buildai = Bau-KI +rules.buildaitier = Bau-KI-Tier +rules.rtsai = RTS KI [red](unfertig) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min. Squadgröße +rules.rtsmaxsquadsize = Max. Squadgröße +rules.rtsminattackweight = Min. Angriffsgröße +rules.cleanupdeadteams = Blöcke von erorberten Teams zerstören (PvP) +rules.corecapture = Kern nach Zerstörung einnehmen +rules.polygoncoreprotection = Polygonaler Kernschutz +rules.placerangecheck = Platzierungsweitenkontrolle +rules.enemyCheat = Unbegrenzte gegnerische Ressourcen rules.blockhealthmultiplier = Block-Lebenspunkte-Multiplikator rules.blockdamagemultiplier = Block-Schaden-Multiplikator -rules.unitbuildspeedmultiplier = Baugeschwindigkeit-Einheit Multiplikator -rules.unithealthmultiplier = Lebenspunkte-Einheit Multiplikator -rules.unitdamagemultiplier = Schaden-Einheit Multiplikator +rules.unitbuildspeedmultiplier = Einheiten-Baugeschwindigkeit Multiplikator +rules.unitcostmultiplier = Einheit-Baukosten Multiplikator +rules.unithealthmultiplier = Einheit-Lebenspunkte-Multiplikator +rules.unitdamagemultiplier = Einheit-Schaden-Multiplikator +rules.unitcrashdamagemultiplier = Einheiten-Absturzschaden-Multiplikator +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solarstrom-Multiplikator +rules.unitcapvariable = Kerne zählen zum Einheiten-Limit dazu +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Einheiten-Limit +rules.limitarea = Kartenbereich begrenzen rules.enemycorebuildradius = Bauverbot-Radius durch feindlichen Kern:[lightgray] (Kacheln) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Wellen-Abstand:[lightgray] (Sek) +rules.initialwavespacing = Erster Wellenabstand:[lightgray] (Sek) rules.buildcostmultiplier = Bau-Kosten Multiplikator rules.buildspeedmultiplier = Bau-Schnelligkeit Multiplikator rules.deconstructrefundmultiplier = Abbau Ressourcen-Rückerstattung rules.waitForWaveToEnd = Warten bis Welle endet +rules.wavelimit = Letzte Welle rules.dropzoneradius = Drop-Zonen-Radius:[lightgray] (Kacheln) -rules.unitammo = Einheiten benötigen Munition +rules.unitammo = Einheiten benötigen Munition [red](wird vielleicht entfernt) +rules.enemyteam = Gegnerteam +rules.playerteam = Spielerteam rules.title.waves = Wellen -rules.title.resourcesbuilding = Ressourcen & Gebäude +rules.title.resourcesbuilding = Ressourcen & Blöcke rules.title.enemy = Gegner rules.title.unit = Einheiten rules.title.experimental = Experimentell rules.title.environment = Umgebung +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Blitze -rules.enemyLights = Gegnerisches Licht +rules.fog = Kriegsnebel +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Feuer +rules.anyenv = rules.explosions = Explosionsschaden rules.ambientlight = Umgebungslicht rules.weather = Wetter rules.weather.frequency = Häufigkeit: rules.weather.always = Immer rules.weather.duration = Dauer: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Hindert den Spieler daran, in der Nähe von feindlichen Blöcken zu bauen. Geschütze können nur platziert werden, wenn keine Feindlichen Blöcke in ihrer Reichweite sind. +rules.onlydepositcore.info = Lässt Einheiten Materialen nur in den Kern ablegen. Nicht in andere Blöcke. + content.item.name = Materialien content.liquid.name = Flüssigkeiten content.unit.name = Einheiten content.block.name = Blöcke +content.status.name = Effekte content.sector.name = Sektoren +content.team.name = Teams + +wallore = (Wand) item.copper.name = Kupfer item.lead.name = Blei @@ -992,10 +1477,24 @@ item.blast-compound.name = Explosive Mischung item.pyratite.name = Pyratit item.metaglass.name = Metaglas item.scrap.name = Schrott +item.fissile-matter.name = Spaltbare Masse +item.beryllium.name = Beryllium +item.tungsten.name = Wolfram +item.oxide.name = Oxid +item.carbide.name = Karbid +item.dormant-cyst.name = Ruhende Zyste + liquid.water.name = Wasser liquid.slag.name = Schlacke liquid.oil.name = Öl liquid.cryofluid.name = Kryoflüssigkeit +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arkyzit +liquid.gallium.name = Gallium +liquid.ozone.name = Ozon +liquid.hydrogen.name = Wasserstoff +liquid.nitrogen.name = Stickstoff +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -1010,7 +1509,7 @@ unit.arkyid.name = Arkyid unit.toxopid.name = Toxopid unit.flare.name = Flare unit.horizon.name = Horizont -unit.zenith.name = Zenith +unit.zenith.name = Zenit unit.antumbra.name = Antumbra unit.eclipse.name = Eclipse unit.mono.name = Mono @@ -1023,6 +1522,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -1031,13 +1535,36 @@ unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Korvus -block.resupply-point.name = Nachlade-Punkt +unit.stell.name = Stell +unit.locus.name = Lokus +unit.precept.name = Prekus +unit.vanquish.name = Bezwinger +unit.conquer.name = Erobi +unit.merui.name = Merui +unit.cleroi.name = Kleroi +unit.anthicus.name = Antikus +unit.tecta.name = Tekta +unit.collaris.name = Kollaris +unit.elude.name = Elud +unit.avert.name = Avich +unit.obviate.name = Vermeid +unit.quell.name = Quell +unit.disrupt.name = Störg +unit.evoke.name = Evozi +unit.incite.name = Inzit +unit.emanate.name = Emanat +unit.manifold.name = Transportdrohne +unit.assembly-drone.name = Fabrikdrohne +unit.latum.name = Latum +unit.renale.name = Renale + block.parallax.name = Parallax block.cliff.name = Klippe block.sand-boulder.name = Sandbrocken block.basalt-boulder.name = Basaltbrocken block.grass.name = Gras -block.slag.name = Schlacke +block.molten-slag.name = Schlacke +block.pooled-cryofluid.name = Kryoflüssigkeit block.space.name = Weltall block.salt.name = Salz block.salt-wall.name = Salzwand @@ -1050,7 +1577,7 @@ block.boulder.name = Felsbrocken block.snow-boulder.name = Schneebrocken block.snow-pine.name = Schnee-Kiefer block.shale.name = Schiefer -block.shale-boulder.name = Schiefergeröll +block.shale-boulder.name = Schieferbrocken block.moss.name = Moos block.shrubs.name = Gestrüpp block.spore-moss.name = Moossporen @@ -1065,26 +1592,30 @@ block.graphite-press.name = Graphit-Presse block.multi-press.name = Multipresse block.constructing = {0}\n[lightgray](Baut) block.spawn.name = Gegnerischer Startpunkt +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Kern: Scherbe block.core-foundation.name = Kern: Fundament block.core-nucleus.name = Kern: Nukleus -block.deepwater.name = Tiefes Wasser -block.water.name = Wasser +block.deep-water.name = Tiefes Wasser +block.shallow-water.name = Wasser block.tainted-water.name = Dreckiges Wasser +block.deep-tainted-water.name = Tiefes dreckiges Wasser block.darksand-tainted-water.name = Dreckiges Wasser (Dunkler Sand) block.tar.name = Teer block.stone.name = Stein -block.sand.name = Sand +block.sand-floor.name = Sand block.darksand.name = Dunkler Sand block.ice.name = Eis block.snow.name = Schnee -block.craters.name = Krater +block.crater-stone.name = Krater block.sand-water.name = Sandiges Wasser block.darksand-water.name = Dunkles sandiges Wasser block.char.name = Holzkohle block.dacite.name = Dazit +block.rhyolite.name = Rhyolith block.dacite-wall.name = Dazitwand -block.dacite-boulder.name = Dazitgeröll +block.dacite-boulder.name = Dazitbrocken block.ice-snow.name = Eisschnee block.stone-wall.name = Steinwand block.ice-wall.name = Eiswand @@ -1100,6 +1631,7 @@ block.spore-cluster.name = Sporen-Cluster block.metal-floor.name = Metallboden 1 block.metal-floor-2.name = Metallboden 2 block.metal-floor-3.name = Metallboden 3 +block.metal-floor-4.name = Metallboden 4 block.metal-floor-5.name = Metallboden 5 block.metal-floor-damaged.name = beschädigter Metallboden block.dark-panel-1.name = Dunkles Panel 1 @@ -1120,15 +1652,15 @@ block.plastanium-wall.name = Plastaniummauer block.plastanium-wall-large.name = Große Plastaniummauer block.phase-wall.name = Phasenmauer block.phase-wall-large.name = Große Phasenmauer -block.thorium-wall.name = Thorium-Mauer -block.thorium-wall-large.name = Große Thorium-Mauer +block.thorium-wall.name = Thoriummauer +block.thorium-wall-large.name = Große Thoriummauer block.door.name = Tor block.door-large.name = Großes Tor block.duo.name = Doppelgeschütz -block.scorch.name = Scatter +block.scorch.name = Flammenwerfer block.scatter.name = Luftgeschütz -block.hail.name = Hail -block.lancer.name = Lancer +block.hail.name = Hagel +block.lancer.name = Lanze block.conveyor.name = Förderband block.titanium-conveyor.name = Titan-Förderband block.plastanium-conveyor.name = Plastanium-Förderband @@ -1139,6 +1671,9 @@ block.distributor.name = Großer Verteiler block.sorter.name = Sortierer block.inverted-sorter.name = Invertierter Sortierer block.message.name = Nachricht +block.reinforced-message.name = Verstärkte Nachricht +block.world-message.name = Weltnachricht +block.world-switch.name = World Switch block.illuminator.name = Illuminierer block.overflow-gate.name = Überlauftor block.underflow-gate.name = Unterlauftor @@ -1166,7 +1701,7 @@ block.pneumatic-drill.name = Pneumatischer Bohrer block.laser-drill.name = Laser-Bohrer block.water-extractor.name = Wasser-Extraktor block.cultivator.name = Kultivierer -block.conduit.name = Leitungsrohr +block.conduit.name = Kanal block.mechanical-pump.name = Mechanische Pumpe block.item-source.name = Materialquelle block.item-void.name = Materialschlucker @@ -1190,20 +1725,22 @@ block.solar-panel.name = Solarpanel block.solar-panel-large.name = Großes Solarpanel block.oil-extractor.name = Öl-Extraktor block.repair-point.name = Reparaturpunkt +block.repair-turret.name = Reparaturstation block.pulse-conduit.name = Impulskanal block.plated-conduit.name = Gepanzerter Kanal block.phase-conduit.name = Phasenkanal block.liquid-router.name = Flüssigkeits-Verteiler block.liquid-tank.name = Flüssigkeitstank -block.liquid-junction.name = Flüssigkeits-Kreuzung +block.liquid-container.name = Flüssigkeitsbehälter +block.liquid-junction.name = Flüssigkeitskreuzung block.bridge-conduit.name = Kanalbrücke block.rotary-pump.name = Rotierende Pumpe block.thorium-reactor.name = Thorium-Reaktor block.mass-driver.name = Massenbeschleuniger block.blast-drill.name = Sprengluftbohrer -block.thermal-pump.name = Thermische Pumpe +block.impulse-pump.name = Impulspumpe block.thermal-generator.name = Thermischer Generator -block.alloy-smelter.name = Legierungsschmelze +block.surge-smelter.name = Legierungsschmelze block.mender.name = Reparateur block.mend-projector.name = Reparaturprojektor block.surge-wall.name = Spannungsmauer @@ -1216,13 +1753,13 @@ block.force-projector.name = Kraftfeld-Projektor block.arc.name = Arcus block.rtg-generator.name = RTG-Generator block.spectre.name = Phantom -block.meltdown.name = Meltdown -block.foreshadow.name = Foreshadow +block.meltdown.name = Kernschmelze +block.foreshadow.name = Vorschatten block.container.name = Behälter block.launch-pad.name = Launchpad -block.launch-pad-large.name = Großes Launchpad +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Kommandozentrale block.ground-factory.name = Bodenfabrik block.air-factory.name = Luftfabrik block.naval-factory.name = Wasserfabrik @@ -1230,16 +1767,183 @@ block.additive-reconstructor.name = Hinzufügender Rekonstrukteur block.multiplicative-reconstructor.name = Multiplikativer Rekonstrukteur block.exponential-reconstructor.name = Exponentieller Rekonstrukteur block.tetrative-reconstructor.name = Tetrativer Rekonstrukteur -block.payload-conveyor.name = Einheitenförderband -block.payload-router.name = Einheitenverteiler +block.payload-conveyor.name = Frachtförderband +block.payload-router.name = Frachtverteiler +block.duct.name = Rohrleitung +block.duct-router.name = Rohrleitungsverteiler +block.duct-bridge.name = Rohrleitungsbrücke +block.large-payload-mass-driver.name = Großer Frachtmassenbeschleuniger +block.payload-void.name = Frachtschlucker +block.payload-source.name = Frachtquelle block.disassembler.name = Großer Trenner block.silicon-crucible.name = Silizium Schmelztiegel block.overdrive-dome.name = Beschleunigungs-Maschine -#experimental, may be removed -block.block-forge.name = Block-Fabrik -block.block-loader.name = Block-Lader -block.block-unloader.name = Block-Entlader block.interplanetary-accelerator.name = Interplanetarischer Beschleuniger +block.constructor.name = Konstruktor +block.constructor.description = Erstellt Blöcke, die höchstens 2x2 groß sind. +block.large-constructor.name = Großer Konstruktor +block.large-constructor.description = Erstellt Blöcke, die höchstens 4x4 groß sind. +block.deconstructor.name = Großer Dekonstruktor +block.deconstructor.description = Zerstört Einheiten und Blöcke. Gibt 100% der Baumaterialien zurück. +block.payload-loader.name = Frachtlader +block.payload-loader.description = Lädt Blöcke und Materialien in Blöcke. +block.payload-unloader.name = Frachtentlader +block.payload-unloader.description = Entlädt Blöcke und Materialien aus Blöcken. +block.heat-source.name = Hitzequelle +block.heat-source.description = Produziert fast unendlich Hitze. + +# erekir +block.empty.name = Leer +block.rhyolite-crater.name = Rhyolithkrater +block.rough-rhyolite.name = Grober Rhyolith +block.regolith.name = Regolith +block.yellow-stone.name = Gelbstein +block.carbon-stone.name = Kohlestein +block.ferric-stone.name = Eisenstein +block.ferric-craters.name = Eisenkrater +block.beryllic-stone.name = Berylliumstein +block.crystalline-stone.name = Kristalliner Stein +block.crystal-floor.name = Krystallboden +block.yellow-stone-plates.name = Gelbsteinplatten +block.red-stone.name = Rotstein +block.dense-red-stone.name = Dichter Rotstein +block.red-ice.name = Roteis +block.arkycite-floor.name = Arkyzitboden +block.arkyic-stone.name = Arkyzitstein +block.rhyolite-vent.name = Rhyolithschlot +block.carbon-vent.name = Kohleschlot +block.arkyic-vent.name = Arkyzitschlot +block.yellow-stone-vent.name = Gelbsteinschlot +block.red-stone-vent.name = Rotsteinschlot +block.crystalline-vent.name = Kristalliner Schlot +block.redmat.name = Rote Erde +block.bluemat.name = Blaue Erde +block.core-zone.name = Kernzone +block.regolith-wall.name = Regolithwand +block.yellow-stone-wall.name = Gelbstein Wand +block.rhyolite-wall.name = Rhyolithwand +block.carbon-wall.name = Kohlenstoffwand +block.ferric-stone-wall.name = Berylliumwand +block.beryllic-stone-wall.name = Berylliumsteinwand +block.arkyic-wall.name = Arkyzitwand +block.crystalline-stone-wall.name = Kristallsteinwand +block.red-ice-wall.name = Roteis Wand +block.red-stone-wall.name = Rotstein Wand +block.red-diamond-wall.name = Rote Diamandwand +block.redweed.name = Rotkraut +block.pur-bush.name = Pur Busch +block.yellowcoral.name = Gelbe Koralle +block.carbon-boulder.name = Kohlebrocken +block.ferric-boulder.name = Eisenbrocken +block.beryllic-boulder.name = Berylliumbrocken +block.yellow-stone-boulder.name = Gelbsteinbrocken +block.arkyic-boulder.name = Arkyzitbrocken +block.crystal-cluster.name = Krystallklumpen +block.vibrant-crystal-cluster.name = Leuchtender Krystallklumpen +block.crystal-blocks.name = Kristallblöcke +block.crystal-orbs.name = Kristallkugeln +block.crystalline-boulder.name = Krystallbrocken +block.red-ice-boulder.name = Roteisbrocken +block.rhyolite-boulder.name = Rhyolithbrocken +block.red-stone-boulder.name = Rotsteinbrocken +block.graphitic-wall.name = Graphithaltige Wand +block.silicon-arc-furnace.name = Silizium-Lichtbogenofen +block.electrolyzer.name = Electrolyseur +block.atmospheric-concentrator.name = Atmosphärischer Konzentrator +block.oxidation-chamber.name = Oxidationskammer +block.electric-heater.name = Elektrisches Heizelement +block.slag-heater.name = Schlacke-Erhitzer +block.phase-heater.name = Phasenheizer +block.heat-redirector.name = Hitzeumleiter +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Hitzeverteiler +block.slag-incinerator.name = Schlackeverbrennungsanlage +block.carbide-crucible.name = Karbidtiegel +block.slag-centrifuge.name = Schlacke Zentrifuge +block.surge-crucible.name = Spannungstiegel +block.cyanogen-synthesizer.name = Cyanogensynthesegerät +block.phase-synthesizer.name = Phasensynthesegerät +block.heat-reactor.name = Hitzereaktor +block.beryllium-wall.name = Berylliummauer +block.beryllium-wall-large.name = Große Berylliummauer +block.tungsten-wall.name = Wolframmauer +block.tungsten-wall-large.name = Große Wolframmauer +block.blast-door.name = Panzertür +block.carbide-wall.name = Karbidmauer +block.carbide-wall-large.name = Große Karbidmauer +block.reinforced-surge-wall.name = Verstärkte Spannungsmauer +block.reinforced-surge-wall-large.name = Große verstärkte Spannungsmauer +block.shielded-wall.name = Geschirmte Mauer +block.radar.name = Radar +block.build-tower.name = Bauturm +block.regen-projector.name = Regenerationsprojektor +block.shockwave-tower.name = Schockwellenturm +block.shield-projector.name = Schildprojektor +block.large-shield-projector.name = Großer Schildprojektor +block.armored-duct.name = Gepanzerte Rohrleitung +block.overflow-duct.name = Überlaufrohrleitung +block.underflow-duct.name = Unterlaufleitung +block.duct-unloader.name = Rohrleitungsentlader +block.surge-conveyor.name = Spannungsförderband +block.surge-router.name = Spannungsverteilung +block.unit-cargo-loader.name = Einheitenlader +block.unit-cargo-unload-point.name = Einheitentladungspunkt +block.reinforced-pump.name = Verstärkte Pumpe +block.reinforced-conduit.name = Verstärkter Kanal +block.reinforced-liquid-junction.name = Verstärkte Flüssigkeitskreuzung +block.reinforced-bridge-conduit.name = Verstärkte Kanalbrücke +block.reinforced-liquid-router.name = Verstärkter Flüssigkeitsverteiler +block.reinforced-liquid-container.name = Verstärkter Flüssigkeitsbehälter +block.reinforced-liquid-tank.name = Verstärkter Flüssigkeitstank +block.beam-node.name = Strahlknoten +block.beam-tower.name = Strahlturm +block.beam-link.name = Strahlanschluss +block.turbine-condenser.name = Turbinenkondensator +block.chemical-combustion-chamber.name = Chemische Verbrennungskammer +block.pyrolysis-generator.name = Pyrolysegenerator +block.vent-condenser.name = Schlotkondensator +block.cliff-crusher.name = Klippenbohrer +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasmabohrer +block.large-plasma-bore.name = Großer Plasmabohrer +block.impact-drill.name = Schlagbohrer +block.eruption-drill.name = Eruptionsbohrer +block.core-bastion.name = Kern: Bastion +block.core-citadel.name = Kern: Festung +block.core-acropolis.name = Kern: Akropolis +block.reinforced-container.name = Verstärkter Behälter +block.reinforced-vault.name = Verstärkter Tresor +block.breach.name = Brecher +block.sublimate.name = Sublimator +block.titan.name = Titan +block.disperse.name = Streu +block.afflict.name = Afflikt +block.lustre.name = Lustre +block.scathe.name = Skate +block.tank-refabricator.name = Panzerverbesserer +block.mech-refabricator.name = Mechverbesserer +block.ship-refabricator.name = Schiffverbesserer +block.tank-assembler.name = Panzerfabrik +block.ship-assembler.name = Schifffabrik +block.mech-assembler.name = Mechfabrik +block.reinforced-payload-conveyor.name = Verstärktes Frachtförderband +block.reinforced-payload-router.name = Verstärkter Frachtverteiler +block.payload-mass-driver.name = Frachtmassenbeschleuniger +block.small-deconstructor.name = Dekonstruktor +block.canvas.name = Kanvas +block.world-processor.name = Weltprozessor +block.world-cell.name = Weltzelle +block.tank-fabricator.name = Panzerhersteller +block.mech-fabricator.name = Mechhersteller +block.ship-fabricator.name = Schiffhersteller +block.prime-refabricator.name = Verbesserer +block.unit-repair-tower.name = Einheiten-Heilungsturm +block.diffuse.name = Diffusor +block.basic-assembler-module.name = Verbesserermodul +block.smite.name = Smite +block.malign.name = Malin +block.flux-reactor.name = Flux-Reaktor +block.neoplasia-reactor.name = Neoplasma-Reaktor block.switch.name = Schalter block.micro-processor.name = Mikroprozessor @@ -1250,42 +1954,41 @@ block.large-logic-display.name = Großer Logik-Bildschirm block.memory-cell.name = Speicherzelle block.memory-bank.name = Große Speicherzelle -team.blue.name = Blau +team.malis.name = Malis team.crux.name = Rot -team.sharded.name = Orange -team.orange.name = Orange +team.sharded.name = Gelb team.derelict.name = Derelikt team.green.name = Grün -team.purple.name = Lila +team.blue.name = Blau -hint.skip = Überspringen +hint.skip = Fertig hint.desktopMove = Drücke [accent][[WASD][], um dich zu bewegen. hint.zoom = [accent]Scrolle[], um rein oder raus zu zoomen. -hint.mine = Bewege dich zum \uf8c4 Kupfererz und [accent]tippe darauf[], um es manuell abzubauen. hint.desktopShoot = Benutze [accent][[Linksklick][], um zu schießen. -hint.depositItems = Um Materialien in den Kern zu tun, ziehe sie von dir zum Kern. +hint.depositItems = Um Materialien in den Kern zu verschieben, ziehe sie von dir zum Kern. hint.respawn = Um im Kern zu respawnen, drücke [accent][[V][]. -hint.respawn.mobile = Du steuerst nun eine Einheit oder einen Block. Um wieder zur normalen Einheit zu werden, [accent]drücke die Abbildung von dir oben links.[] +hint.respawn.mobile = Du steuerst nun eine Einheit oder einen Block. Um wieder zur normalen Einheit zu werden, [accent]drücke die Abbildung von dir oben links[]. hint.desktopPause = Benutze [accent][[Leertaste][], um das Spiel zu pausieren oder entpausieren. -hint.placeDrill = Wähle die \ue85e [accent]Bohrer[]-Kategorie im Menü unten rechts aus, drücke dann auf den \uf870 [accent]Bohrer[] und klicke auf ein Feld mit Kupfererz, um ihn zu platzieren. -hint.placeDrill.mobile = Wähle die \ue85e[accent]Bohrer[]-Kategorie im Menü unten rechts aus, drücke dann auf den \uf870 [accent]Bohrer[] und klicke auf ein Feld mit Kupfererz, um ihn zu platzieren.\n\nGehe zuletzt auf das \ue800 [accent]Häkchen[] unten rechts, um dies zu bestätigen. -hint.placeConveyor = Förderbänder bewegen Materialien zwischen verschiedenen Blöcken. Wähle ein \uf896 [accent]Förderband[] aus der \ue814 [accent]Verteilung[]-Kategorie aus.\n\nKlicke und bewege deine Maus, um mehrere Förderbänder zu setzen.\n[accent]Scrolle[] um sie zu drehen. -hint.placeConveyor.mobile = Förderbänder bewegen Materialien zwischen verschiedenen Blöcken. Wähle ein \uf896 [accent]Förderband[] aus der \ue814 [accent]Verteilung[]-Kategorie aus.\n\nHalte deinen Finger eine Sekunde auf dem Bildschirm und bewege ihn dann, um mehrere Förderbänder zu setzen. -hint.placeTurret = Platziere \uf861 [accent]Geschütze[], um deine Basis vor Gegnern zu beschützen.\n\nGeschütze benötigen Munition - in diesem Fall \uf838Kupfer.\nBenutze Bohrer und Förderbänder, um dies zu besorgen. + hint.breaking = Benutze [accent]Rechtsklick[] und bewege deine Maus, um zu zerstören. hint.breaking.mobile = Aktiviere den \ue817 [accent]Hammer[] unten rechts und tippe, um Blöcke zu zerstören.\n\nHalte deinen Finger auf dem Bildschirm, um eine Fläche auszuwählen. -hint.research = Nehme den \ue875 [accent]Forschen[]-Knopf um neue Technologien zu erforschen. -hint.research.mobile = Nehme den \ue875 [accent]Forschen[]-Knopf im \ue88c [accent]Menü[], um neue Technologien zu erforschen. +hint.blockInfo = Genauere Blockinformationen können im [accent]Baumenü[] rechts beim [accent][[?][]-Symbol gefunden werden. +hint.derelict = [accent]Derelikte[] Blöcke sind kaputte Teile alter Basen, die nicht mehr funktionieren.\n\nSie können für Ressourcen [accent]abgebaut[] werden. +hint.research = Klicke auf den \ue875 [accent]Forschen[]-Knopf um neue Technologien zu erforschen. +hint.research.mobile = Klicke auf den \ue875 [accent]Forschen[]-Knopf im \ue88c [accent]Menü[], um neue Technologien zu erforschen. hint.unitControl = Halte [accent][[L-STRG][] und [accent]klicke[], um alliierte Einheiten oder Geschütze zu steuern. hint.unitControl.mobile = [accent][[Doppelklicke][], um alliierte Einheiten oder Geschütze zu steuern. +hint.unitSelectControl = Du kannst [accent]L-Shift[] gedrückt halten, um den Steuerungsmodus zu aktivieren.\nIm Steuerungsmodus hältst du [accent]Linksklick[] gedrückt, um Einheiten auswählen zu können. Mit [accent]Rechtsklick[] bestimmst du, wo die ausgewählten Einheiten hingehen sollen. +hint.unitSelectControl.mobile = Um Einheiten zu steuern, kannst du den [accent]Steuerungsmodus[] mit dem Knopf unten links aktivieren.\nIm Steuerungsmodus kannst du Einheiten auswählen, indem du lang drückst und den Finger über den Bildschirm ziehst. Dann kannst du einen Ort oder ein Ziel auswählen, wo die Einheiten hingehen sollen. hint.launch = Sobald du genug Ressourcen gesammelt hast, kannst du [accent]Starten[], indem du andere Sektoren auf der \ue827 [accent]Karte[] unten rechts auswählst. hint.launch.mobile = Sobald du genug Ressourcen gesammelt hast, kannst du [accent]Starten[], indem du andere Sektoren auf der \ue827 [accent]Karte[] im \ue88c [accent]Menü[] auswählst. hint.schematicSelect = Halte [accent][[F][] gedrückt und bewege deine Maus, um Blöcke zu kopieren.\n\nMit [accent][[Mittelklick][] kannst du einen einzelnen Block kopieren. +hint.rebuildSelect = Halte [accent][[B][] gedrückt und bewege deine Maus, um Überreste zerstörter Blöcke auszuwählen.\nDiese werden dann automatisch wiederaufgebaut. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. + hint.conveyorPathfind = Halte [accent][[L-STRG][] während du Förderbänder baust, um automatisch einen Weg zu finden. hint.conveyorPathfind.mobile = Aktiviere den \ue844 [accent]Diagonal-Modus[] unten rechts und platziere Förderbänder, um automatisch einen Weg zu generieren. hint.boost = Halte [accent][[L-Shift][] gedrückt, um über Hindernisse zu boosten.\n\nNur manche Bodeneinheiten können das. -hint.command = Drücke [accent][[G][], um [accent]ähnliche[] Einheiten in Formation zu steuern.\n\nUm Bodeneinheiten zu steuern, musst du zuerst eine Bodeneinheit werden. -hint.command.mobile = [accent][[Doppelklicke][] deine Einheit, um [accent]ähnliche[] Einheiten in Formation zu steuern. hint.payloadPickup = Du kannst [accent][[[] drücken, um kleine Einheiten oder Blöcke hochzuheben. hint.payloadPickup.mobile = [accent]Halte deinen Finger[] auf eine kleine Einheit oder einen kleinen Block, um ihn aufzuheben. hint.payloadDrop = Drücke [accent]][], um etwas fallen zu lassen. @@ -1293,49 +1996,123 @@ hint.payloadDrop.mobile = [accent]Halte deinen Finger[] auf einen freien Ort, um hint.waveFire = [accent]Wellen[]-Geschütze mit Wassermunition löschen automatisch Feuer. hint.generator = \uf879 [accent]Verbrennungsgeneratoren[] verbrennen Kohle und übertragen diesen Strom in angrenzende Blöcke.\n\nDie Reichweite der Stromübertragung kann mit \uf87f [accent]Stromknoten[] erweitert werden. hint.guardian = [accent]Boss[]-Einheiten sind gepanzert. Schwache Munition wie [accent]Kupfer[] und [accent]Blei[] sind [scarlet]nicht effektiv[].\n\nBenutze bessere Geschütze oder \uf835 [accent]Graphit[] als \uf861Duo-/\uf859Salvenmunition um einen Boss zu besiegen. -hint.coreUpgrade = Kerne können aufgerüstet werden, indem man [accent]bessere Kerne über sie platziert[].\n\nPlatziere einen  [accent]Fundament[]-Kern über einen ï¡© [accent]Scherben[]-Kern. Stelle sicher, dass ausreichend Platz verfügbar ist. +hint.coreUpgrade = Kerne können aufgerüstet werden, indem man [accent]bessere Kerne über sie platziert[].\n\nPlatziere einen \uf868 [accent]Fundament[]-Kern über einen \uf869 [accent]Scherben[]-Kern. Stelle sicher, dass ausreichend Platz verfügbar ist. hint.presetLaunch = Zu grauen [accent]Sektoren[] wie dem [accent]Frozen Forest[] kann man von überall aus hin starten. Es ist nicht nötig, benachbarte Sektoren zu erobern.\n\n[accent]Nummerierte Sektoren[] wie dieser hier sind [accent]optional[]. +hint.presetDifficulty = Dieser Sektor hat eine [scarlet]hohe Gefahrenstufe[].\nOhne richtige Technologie und Vorbereitung ist es [accent]nicht empfohlen[], zu diesem Sektor zu starten. hint.coreIncinerate = Wenn dem Kern Materialien zugeführt werden, für die er keinen Platz mehr hat, werden diese [accent]verbrannt[]. -hint.coopCampaign = Wenn du die [accent]Mehrspielerkampagne[] spielst, werden produzierte Items [accent]zu deinen lokalen Sektoren[] geschickt.\n\nNeuen Erforschungen vom Host werden auch übertragen. +hint.factoryControl = Um den [accent]Zielort einer Fabrik[] zu bestimmen, kannst du im Steuerungsmodus die Fabrik auswählen und einen Ort mit Rechtsklick markieren.\nEinheiten, die in der Fabrik hergestellt werden, bewegen sich dann automatisch dahin. +hint.factoryControl.mobile = Um den [accent]Zielort einer Fabrik[] zu bestimmen, kannst du im Steuerungsmodus zuerst die Fabrik und dann einen Ort auswählen.\nEinheiten, die in der Fabrik hergestellt werden, bewegen sich dann automatisch dahin. -item.copper.description = Wird als Baumaterial oder Munition verwendet. +gz.mine = Bewege dich in die Nähe von dem \uf8c4 [accent]Kupfererz[]\n und klicke drauf, um es abzubauen. +gz.mine.mobile = Bewege dich in die Nähe von dem \uf8c4 [accent]Kupfererz[] und tippe drauf, um es abzubauen. +gz.research = Öffne das \ue875 Forschungsmenü.\nErforsche den \uf870 [accent]Mechanischen Bohrer[]\n und wähle ihn im Menü unten rechts aus.\nKlicke auf Kupfererz, um ihn zu platzieren. +gz.research.mobile = Öffne das \ue875 Forschungsmenü.\nErforsche den \uf870 [accent]Mechanischen Bohrer[] und wähle ihn im Menü unten rechts aus.\nTippe auf Kupfererz, um ihn zu platzieren.\n\nWähle zuletzt das Häkchen unten rechts zur Bestätigung. +gz.conveyors = Erforsche und platziere \uf896 [accent]Förderbänder[], um abgebaute Ressourcen zum Kern zu transportieren.\n\nZiehe die Maus über den Bildschirm, um mehrere Förderbänder zu platzieren.\n[accent]Scrolle[], um die Richtung zu ändern. +gz.conveyors.mobile = Erforsche und platziere \uf896 [accent]Förderbänder[], um abgebaute Ressourcen zum Kern zu transportieren.\n\nDrücke kurz und ziehe deinen Finger über den Bildschirm, um mehrere Förderbänder zu platzieren. +gz.drills = Erweitere den Bergbau.\nBaue mehr mechanische Bohrer.\nBaue 100 Kupfer ab. +gz.lead = \uf837 [accent]Blei[] ist ein anderer wichtiger Rohstoff.\nBaue Bohrer, um Blei abzubauen. +gz.moveup = \ue804 Bewege dich weiter nach oben, um weitere Ziele zu erhalten. +gz.turrets = Erforsche und platziere 2 \uf861 [accent]Doppelgeschütze[], um den Kern zu beschützen.\nDoppelgeschütze benötigen \uf838 [accent]Munition[] von Förderbändern. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue \uf8ae [accent]Kufpermauern[] um die Geschütze. +gz.defend = Feinde kommen bald, bereite dich vor. +gz.aa = Fliegende Einheiten können nicht leicht von normalen Geschützen bekämpft werden.\n\uf860 [accent]Luftgeschütze[] können dies deutlich besser, benötigen aber \uf837 [accent]Blei[] als Munition. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = Dies ist die feindliche Drop-Zone. +gz.zone2 = Alle Blöcke in der Zone werden zerstört, wenn eine Welle kommt. +gz.zone3 = Jetzt kommt eine Welle.\nBereite dich vor. +gz.finish = Baue mehr Geschütze, sammele mehr Ressourcen\nund besiege alle Wellen, um den [accent]Sektor zu erobern[]. + +onset.mine = Klicke, um \uf748 [accent]Beryllium[] aus Wänden abzubauen.\n\nBenutze [accent][WASD], um dich zu bewegen. +onset.mine.mobile = Tippe, um \uf748 [accent]Beryllium[] aus Wänden abzubauen. +onset.research = Öffne das \ue875 Forschungsmenü.\nErforsche und platziere einen \uf73e [accent]Turbinenkondensator[] auf einen Schlot.\nDieser erzeugt [accent]Strom[]. +onset.bore = Erforsche und platziere einen \uf741 [accent]Plasmabohrer[].\nDieser baut Rohstoffe aus Wänden automatisch ab. +onset.power = Um den Plasmabohrer mit [accent]Strom[] zu versorgen, kannst du \uf73d [accent]Strahlknoten[] erforschen und bauen.\nVerbinde den Turbinenkondensator mit dem Plasmabohrer. +onset.ducts = Erforsche und platziere \uf799 [accent]Rohrleitungen[], um die abgebauten Ressourcen zum Kern zu transportieren.\nZiehe die Maus über den Bildschirm, um mehrere Rohrleitungen zu platzieren.\n[accent]Scrolle[], um die Richtung zu ändern. +onset.ducts.mobile = Erforsche und platziere \uf799 [accent]Rohrleitungen[], um die abgebauten Ressourcen zum Kern zu transportieren.\n\nDrücke kurz und ziehe deinen Finger über den Bildschirm, um mehrere Rohrleitungen zu platzieren. +onset.moremine = Erweitere den Bergbau.\nPlatziere mehr Plasmabohrer und verbinde sie mit Rohrleitungen und Strahlknoten.\nBaue 200 Beryllium ab. +onset.graphite = Komplexere Blöcke benötigen \uf835 [accent]Graphit[].\nStelle Plasmabohrer auf, um Graphit abzubauen. +onset.research2 = Fange an, [accent]Fabriken[] zu erforschen.\nEroforsche den \uf74d [accent]Klippenbohrer[] und den \uf779 [accent]Silizium-Lichtbogenofen[]. +onset.arcfurnace = Der Lichtbogenofen verschmilzt \uf834 [accent]Sand[] und \uf835 [accent]Graphit[], um \uf82f [accent]Silizium[] herzustellen.\n[accent]Strom[] wird auch benötigt. +onset.crusher = Benutze \uf74d [accent]Klippenbohrer[], um Sand abzubauen. +onset.fabricator = Mit [accent]Einheiten[] kannst du die Karte erkunden, Gebäude beschützen und Feinde angreifen. Erforsche und platziere einen \uf6a2 [accent]Panzerhersteller[]. +onset.makeunit = Stelle eine Einheit her.\nDrücke den "?"-Knopf, um zu sehen, was gebraucht wird. +onset.turrets = Einheiten sind effektiv, aber [accent]Geschütze[] sind beim Verteidigen stärker, wenn sie gut eingesetzt werden.\n Baue ein [accent]Brecher[]-Geschütz.\nGeschütze benötigen \uf748 [accent]Munition[]. +onset.turretammo = Versorge das Geschütz mit [accent]Berylliummunition[]. +onset.walls = [accent]Mauern[] können andere Blöcke vor Schaden schützen.\nBaue \uf6ee [accent]Berylliummauern[] um die Geschütze. +onset.enemies = Feinde kommen bald, bereite dich vor. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = Der Feid ist verwundbar. Greife ihn an. +onset.cores = Neue Kerne können auf [accent]Kernzonen[] platziert werden.\nNeue Kerne funktionieren als Außenposten und haben alle Zugriff auf dasselbe Kerninventar.\nBaue einen \uf725 Kern. +onset.detect = Der Feind wird dich in zwei Minuten entdecken.\nStelle Verteidigung, Bergbau und Produktion auf. + +#Don't translate these yet! +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. + +split.pickup = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Default-Tasten für Aufhaben und Fallenlassen sind [ und ] ) +split.pickup.mobile = Manche Blöcke können von der Kerneinheit aufgehoben werden.\nHebe diesen [accent]Behälter[] hoch und trage ihn auf den [accent]Frachtlader[].\n(Um etwas aufzuheben oder fallenzulassen, tippe lange drauf.) +split.acquire = Du must etwas Wolfram sammeln, um Einheiten zu bauen. +split.build = Einheiten müssen auf die andere Mauerseite transportiert werden.\nSetze zwei [accent]Frachtmassenbeschleuniger[], einen auf jede Seite.\nVerbinde sie, indem du den einen, und dann den anderen, auswählst. +split.container = Ähnlich wie beim Behälter, können Einheiten auch mit einem [accent]Frachtmassenbeschleuniger[] bewegt werden.\nBaue einen Einheitenhersteller neben einem Frachtmassenbeschleuniger um diesen zu laden\nund schicke die Einheiten dann über die Wand, um die gegnerische Basis anzugreifen. + +item.copper.description = Wird als Baumaterial und Munition verwendet. item.copper.details = Kupfer. Auf Serpulo reichlich vorhanden. Strukturell schwach, solange es nicht verstärkt wird. -item.lead.description = Wird in elektrischen Blöcken oder beim Flüssigkeitstransport verwendet. +item.lead.description = Wird in elektrischen Blöcken und beim Flüssigkeitstransport verwendet. item.lead.details = Dicht. Träge. Wird sehr oft in Batterien verwendet.\nInfo: Wahrscheinlich giftig für biologische Lebewesen, obwohl es sowieso nicht mehr viele von denen gibt. item.metaglass.description = Wird beim Flüssigkeitstransport und -lagerung verwendet. -item.graphite.description = Wird als Munition oder elektrischer Leiter eingesetzt. +item.graphite.description = Wird als Munition und elektrischer Leiter eingesetzt. item.sand.description = Nützlich für die Herstellung vieler anderer Materialien. item.coal.description = Kann als Brennstoff oder zur Herstellung anderer Materialien verwendet werden. item.coal.details = Scheint versteinerte Pflanzenmasse zu sein, die sich schon lange vor dem Seeding gebildet hat. -item.titanium.description = Wird im Flüssigkeitsbereich, im Bohrerbereich und für Flugzeuge vielfältig eingesetzt. +item.titanium.description = Wird für Flüssigkeiten, Bohrer und Fabriken vielfältig eingesetzt. item.thorium.description = Wird als festes Baumaterial oder radioaktiver Kraftstoff verwendet. item.scrap.description = Wird in Pulverisierer und Schmelzer zu anderen Materialien bearbeitet. -item.scrap.details = Übriggebliebene Reste alter Gebäude oder Einheiten. +item.scrap.details = Übriggebliebene Reste alter Blöcke und Einheiten. item.silicon.description = Wird in Solarzellen, komplizierter Elektronik und als zielsuchende Munition verwendet. item.plastanium.description = Wird für fortgeschrittene Einheiten, Isolation und Munition eingesetzt. item.phase-fabric.description = Kann in Elektronik und selbstreparierende Blöcke verwendet werden. item.surge-alloy.description = Wird in sehr fortgeschrittenen Waffen und Abwehrsystemen benutzt. item.spore-pod.description = Wird zur Umwandlung in Öl, Sprengstoff und Kraftstoff verwendet. item.spore-pod.details = Sporen. Wahrscheinlich ein künstlich erschaffenes Lebewesen. Geben giftige Gase für andere Lebewesen ab. Sehr invasiv. Unter bestimmten Bedingungen sehr brennbar. -item.blast-compound.description = Wird in Bomben oder als explosive Munition verwendet. +item.blast-compound.description = Wird in Bomben und als explosive Munition verwendet. item.pyratite.description = Kann in Verbrennungsgeneratoren oder als brennende Munition verbrannt werden. +#Erekir +item.beryllium.description = Wird für verschiedene Strukturen und Munitionstypen auf Erekir verwendet. +item.tungsten.description = Wird für Bohrer, Panzerung und Munition benutzt. Benötigt für die Herstellung komplexer Blöcke. +item.oxide.description = Wird als Hitzeleiter und Stromisolator verwendet. +item.carbide.description = Benötigt für komplexe Strukturen, Einheiten und Munition. + liquid.water.description = Wird üblicherweise zum Kühlen von Maschinen und zur Müllverarbeitung verwendet. liquid.slag.description = Kann in Trennern verfeinert oder als Waffe gegen Gegner verwendet werden. liquid.oil.description = Wird in fortgeschrittener Materialgewinnung und als brennende Munition verwendet. liquid.cryofluid.description = Wird als Kühlung in Geschützen, Fabriken oder Reaktoren verwendet. -block.resupply-point.description = Füllt Einheiten in der Nähe mit Kupfermunition wieder auf. Nicht mit Einheiten kompatibel, die Strom benötigen. +#Erekir +liquid.arkycite.description = Wird in chemischen Reaktionen für Stromgeneration und Synthese benutzt. +liquid.ozone.description = Wird als Oxidationsmittel in der Materialherstellung und als Brennstoff verwendet. Etwas explosiv. +liquid.hydrogen.description = Wird in der Ressourcengewinnung, Einheitenherstellung und zur Heilung von Blöcken verwendet. Entflammbar. +liquid.cyanogen.description = Wird in erweiterten Einheiten, in komplexeren Reaktionen und als Munition benutzt. Leicht entflammbar. +liquid.nitrogen.description = Wird in der Ressourcengewinnung, Gas- und Einheitenherstellung benutzt. Inert. +liquid.neoplasm.description = Ein gefährliches, biologisches Nebenprodukt des Neoplasma-Reaktors. Breitet sich schnell in alle angrenzenden wasserhaltende Blöcke aus und beschädigt diese dabei. Viskos. +liquid.neoplasm.details = Neoplasma. Eine unkontrollierbare Masse aus synthetischen, sich schnell teilenden Zellen mit einer schlammähnlichen Konsistenz. Hitzebeständig. Äußerst gefährlich für alle Blöcke, die mit Wasser umgehen.\n\nZu komplex und instabil, um analysiert werden zu können. Mögliche Anwendungen unbekannt. Verbrennung in Schlackebecken empfohlen. + +block.derelict = \uf77e [lightgray]Derelikt block.armored-conveyor.description = Bewegt Materialien voran. Materialien können von der Seite nicht auf das Förderband. block.illuminator.description = Eine Lichtquelle. -block.message.description = Speichert eine Nachricht, die genutzt wird, um mit Verbündeten zu kommunizieren. +block.message.description = Speichert eine Nachricht, um mit Verbündeten zu kommunizieren. +block.reinforced-message.description = Speichert eine Nachricht, um mit Verbündeten zu kommunizieren. +block.world-message.description = Ein Nachrichtenblock für Kartenautoren. Kann nicht zerstört werden. block.graphite-press.description = Komprimiert Kohle zu Graphit. block.multi-press.description = Komprimiert Kohle zu Graphit. Braucht für die Kühlung Wasser. block.silicon-smelter.description = Stellt aus Sand und Kohle Silizium her. block.kiln.description = Schmelzt Sand und Blei zu Metaglas. block.plastanium-compressor.description = Produziert Plastanium aus Öl und Titan. block.phase-weaver.description = Produziert Phasengewebe aus Thorium und Sand. -block.alloy-smelter.description = Verschmilzt Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung. +block.surge-smelter.description = Verschmilzt Titan, Blei, Silizium und Kupfer zu einer Stromstoßlegierung. block.cryofluid-mixer.description = Verarbeitet Wasser mit Titan zu einer Kryoflüssigkeit, die viel effizienter kühlt. block.blast-mixer.description = Stellt aus Sporen und Pyratit eine explosive Mischung her. block.pyratite-mixer.description = Vermischt Kohle, Blei und Sand zu hochentzündlichem Pyratit. @@ -1351,6 +2128,8 @@ block.item-source.description = Produziert unendlich viele Gegenstände. Nur im block.item-void.description = Zerstört Materialien, die hereingegeben werden, ohne Strom zu verbrauchen. Nur im Sandkasten-Modus verfügbar. block.liquid-source.description = Produziert unendlich Flüssigkeiten. Nur im Sandkasten-Modus verfügbar. block.liquid-void.description = Entfernt jegliche Flüssigkeiten. Nur im Sandkasten-Modus verfügbar. +block.payload-source.description = Produziert unendlich Fracht. Nur im Sandkasten-Modus verfügbar. +block.payload-void.description = Entfernt jegliche Fracht. Nur im Sandkasten-Modus verfügbar. block.copper-wall.description = Beschützt Blöcke vor Gegnern. block.copper-wall-large.description = Beschützt Blöcke vor Gegnern. block.titanium-wall.description = Beschützt Blöcke vor Gegnern. @@ -1363,8 +2142,12 @@ block.phase-wall.description = Beschützt Blöcke vor Gegnern, indem sie die mei block.phase-wall-large.description = Beschützt Blöcke vor Gegnern, indem sie die meisten Schüsse reflektiert. block.surge-wall.description = Beschützt Blöcke vor Gegnern und greift Gegner mit Lichtbögen an. block.surge-wall-large.description = Beschützt Blöcke vor Gegnern und greift Gegner mit Lichtbögen an. -block.door.description = Eine Wand, die geöffnet und geschlossen werden kann. -block.door-large.description = Eine Wand, die geöffnet und geschlossen werden kann. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Ein Tor, das geöffnet und geschlossen werden kann. +block.door-large.description = Ein großes Tor, das geöffnet und geschlossen werden kann. block.mender.description = Repariert regelmäßig Blöcke in seiner Umgebung.\nVerwendet optional Silizium, um Reichweite und Effizienz zu steigern. block.mend-projector.description = Repariert regelmäßig Blöcke in seiner Umgebung.\nVerwendet optional Phasengewebe, um Reichweite und Effizienz zu steigern. block.overdrive-projector.description = Erhöht die Geschwindigkeit von nahegelegenen Blöcken. \nVerwendet optional Phasengewebe, um Reichweite und Effizienz zu steigern. @@ -1381,16 +2164,17 @@ block.inverted-sorter.description = Wie ein normaler Sortierer, aber gibt das au block.router.description = Verteilt Materialien auf bis zu drei Richtungen. block.router.details = Ein nötiges Übel. Es ist nicht empfehlenswert, ihn neben Fabriken zu setzen, da er sich dort verstopfen kann. block.distributor.description = Verteilt Materialien auf bis zu sieben Richtungen. -block.overflow-gate.description = Gibt Materialien nur zu den Seiten heraus, wenn der fordere Ausgang blockiert ist. Kann nicht neben anderen Überlauf- oder Unterlauftoren verwendet werden. -block.underflow-gate.description = Das Gegenteil eines Überlauftors. Gibt Materialien nur nach vorne heraus, wenn die Seiten blockiert sind. Kann nicht neben anderen Überlauf- oder Unterlauftoren verwendet werden. +block.overflow-gate.description = Gibt Materialien nur zu den Seiten heraus, wenn der vordere Ausgang blockiert ist. +block.underflow-gate.description = Das Gegenteil eines Überlauftors. Gibt Materialien nur nach vorne heraus, wenn die Seiten blockiert sind. block.mass-driver.description = Ein Transportblock mit sehr hoher Reichweite. Sammelt mehrere Materialien und schießt sie zu einem verbundenen Massenbeschleuniger. block.mechanical-pump.description = Eine Pumpe, die keinen Strom benötigt. block.rotary-pump.description = Eine Pumpe, die Strom verbraucht. -block.thermal-pump.description = Eine Pumpe. +block.impulse-pump.description = Eine Pumpe. block.conduit.description = Transportiert Flüssigkeiten. Wird mit Extraktoren, Pumpen oder anderen Kanälen benutzt. block.pulse-conduit.description = Transportiert Flüssigkeiten. Transportiert Flüssigkeiten schneller und speichert mehr als ein Leitungsrohr. block.plated-conduit.description = Transportiert Flüssigkeiten. Nimmt keine Flüssigkeiten von der Seite an.\nHat keine Lecks. -block.liquid-router.description = Verteilt Flüssigkeiten auf bis zu drei Richtungen. Speicher außerdem eine kleine Menge an Flüssigkeit. +block.liquid-router.description = Verteilt Flüssigkeiten auf bis zu drei Richtungen. Speichert außerdem eine kleine Menge an Flüssigkeit. +block.liquid-container.description = Speichert etwas Flüssigkeit. Hat Ausgänge an allen Seiten, ähnlich einem Flüssigkeitsverteiler. block.liquid-tank.description = Speichert eine große Menge an Flüssigkeiten. Ähnlich wie ein Flüssigkeitsverteiler. block.liquid-junction.description = Fungiert als Brücke über zwei kreuzende Kanäle. block.bridge-conduit.description = Transportiert Flüssigkeiten über Terrain oder über Blöcke. @@ -1416,7 +2200,7 @@ block.laser-drill.description = Erlaubt es, durch Lasertechnologie noch schnelle block.blast-drill.description = Der ultimative Bohrer. Benötigt große Mengen an Strom. block.water-extractor.description = Extrahiert Wasser aus dem Boden. Verwende ihn, wenn es keinen See in der Nähe gibt. block.cultivator.description = Kultiviert winzige Mengen atmosphärischer Mikrosporen in Sporen-Pods. -block.cultivator.details = Zurückgewonnene Technologie. Wird benutzt, um große Mengen Biomasse so effizient wie möglich herzustellen. Wahrscheinlich der ehemaliger Inkubator der Sporen, die Serpulo heute bedecken. +block.cultivator.details = Zurückgewonnene Technologie. Wird benutzt, um große Mengen Biomasse so effizient wie möglich herzustellen. Wahrscheinlich der ehemalige Inkubator der Sporen, die Serpulo heute bedecken. block.oil-extractor.description = Verwendet große Mengen an Strom, Sand und Wasser, um Öl zu extrahieren. block.core-shard.description = Kern der Basis. Einmal zerstört, ist jeglicher Kontakt zum Sektor verloren. block.core-shard.details = Die erste Version. Kompakt. Selbstduplizierend. Mit Einmalraketen ausgestattet. Nicht für Interplanetarische Reisen geeignet. @@ -1428,6 +2212,9 @@ block.vault.description = Speichert eine große Menge an Materialien pro Typ. Ei block.container.description = Speichert eine kleine Menge an Materialien pro Typ. Ein[lightgray] Entlader[] kann verwendet werden, um Materialien auszuladen. block.unloader.description = Entlädt Materialien aus einem Block. block.launch-pad.description = Startet Materialien in andere Sektoren. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Schießt auf Gegner. block.scatter.description = Ein mittelgroßer Anti-Luft-Turm. Sprüht Blei- oder Schrottklumpen auf feindliche Lufteinheiten. block.scorch.description = Verbrennt alle Bodenfeinde in der Nähe. Hochwirksam im Nahbereich. @@ -1442,7 +2229,7 @@ block.ripple.description = Schießt mehrere Schüsse gleichzeitig auf weit entfe block.cyclone.description = Schießt explodierende Geschosse auf Gegner. block.spectre.description = Schießt große, panzerbrechende Kugeln auf Luft- und Bodenziele. block.meltdown.description = Lädt sich auf und schießt einen starken, durchgängigen Laser auf Gegner. Braucht Kühlung. -block.foreshadow.description = Schießt einen einzigen Schuss mit einem einzigen Ziel über eine erstaunlich große Distanz. +block.foreshadow.description = Schießt einen starken Schuss auf ein einziges Ziel über hohe Distanzen. Zielt auf Gegner mit den meisten Lebenspunkten. block.repair-point.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. block.segment.description = Beschädigt und zerstört gegnerische Projektile. Laser werden nicht anvisiert. block.parallax.description = Benutzt einen Traktorstrahl, um Gegner heranzuziehen und sie dabei anzugreifen. @@ -1450,9 +2237,8 @@ block.tsunami.description = Schießt mit einem kräftigen Strahl aus Flüssigkei block.silicon-crucible.description = Benutzt Pyratit als Hitzequelle, um aus Sand und Kohle Silizium herzustellen. Die Effizienz wird an heißen Orten erhöht. block.disassembler.description = Trennt Schlacke in winzige Mengen exotischer Mineralien, verliert dafür aber an Effizienz. Kann Thorium herstellen. block.overdrive-dome.description = Erhöht die Geschwindigkeit von nahegelegenen Blöcken. \nBenötigt Phasengewebe und Silizium. -block.payload-conveyor.description = Bewegt größere Objekte, zum Beispiel Einheiten. -block.payload-router.description = Verteilt Einheiten auf bis zu drei Richtungen. -block.command-center.description = Steuert Einheiten mit verschiedenen Befehlen. +block.payload-conveyor.description = Bewegt Frachtmassen. +block.payload-router.description = Verteilt Fracht auf bis zu drei Richtungen. block.ground-factory.description = Stellt Bodeneinheiten her. Einheiten können einfach so verwendet oder in einem Rekonstrukteur verbessert werden. block.air-factory.description = Stellt Lufteinheiten her. Einheiten können einfach so verwendet oder in einem Rekonstrukteur verbessert werden. block.naval-factory.description = Stellt Wassereinheiten her. Einheiten können einfach so verwendet oder in einem Rekonstrukteur verbessert werden. @@ -1461,7 +2247,7 @@ block.multiplicative-reconstructor.description = Verbessert Einheiten auf die dr block.exponential-reconstructor.description = Verbessert Einheiten auf die vierte Stufe. block.tetrative-reconstructor.description = Verbessert Einheiten auf die fünfte und letzte Stufe. block.switch.description = Ein einfacher Schalter. Sein Status kann mit einem Prozessor abgelesen und verändert werden. -block.micro-processor.description = Führt eine Reihe von Logikbefehlen in einer Schleife aus. Kann Einheiten und Blöcke steuern. +block.micro-processor.description = Führt eine Reihe von Logikbefehlen in einer Schleife aus. Kann Einheiten und Blöcke steuern. block.logic-processor.description = Führt eine Reihe von Logikbefehlen in einer Schleife aus. Kann Einheiten und Blöcke steuern. Schneller als der Mikroprozessor. block.hyper-processor.description = Führt eine Reihe von Logikbefehlen in einer Schleife aus. Kann Einheiten und Blöcke steuern. Schneller als der Logikprozessor. block.memory-cell.description = Speichert Informationen für einen Prozessor. @@ -1469,37 +2255,429 @@ block.memory-bank.description = Speichert Informationen für einen Prozessor. Ho block.logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.large-logic-display.description = Zeigt mithilfe eines Prozessors Beliebiges an. block.interplanetary-accelerator.description = Ein Riesen-Railgun-Turm, der mithilfe des Elektromagnetismus Kerne auf die nötige Geschwindigkeit bringt, um interplanetarisches Reisen zu ermöglichen. +block.repair-turret.description = Heilt durchgehend die nächste befreundete, beschädigte Einheit in der Umgebung. Verwendet optional Kühlung. -unit.dagger.description = Schießt normale Kugeln auf alle Feinde in der Nähe. -unit.mace.description = Schießt Feuer auf alle Gegner in der Nähe. +#Erekir +block.core-bastion.description = Kern der Basis. Gepanzert. Einmal zerstört, ist jeglicher Kontakt zum Sektor verloren. +block.core-citadel.description = Kern der Basis. Gut gepanzert. Lagert mehr Ressourcen als ein Bastion-Kern. +block.core-acropolis.description = Kern der Basis. Außergewöhnlich gut gepanzert. Lagert mehr Ressourcen als ein Festungs-Kern. +block.breach.description = Schießt panzerbrechende Beryllium- oder Wolframmunition auf feindliche Ziele. +block.diffuse.description = Schießt eine Welle von Kugeln in einer Kegelform, die Gegner zurückstoßen. +block.sublimate.description = Schießt einen durchgängigen Strahl aus Flammen auf feindliche Ziele. Durchdringt Panzerung. +block.titan.description = Schießt einen riesigen, explodierenden Sprengkörper auf feindliche Bodenziele. Benötigt Wasserstoff. +block.afflict.description = Schießt eine sich teilende Kugel aus Flak. Benötigt Hitze. +block.disperse.description = Schießt Flaksplitter auf feindliche Luftziele. +block.lustre.description = Schießt einen langsamen Laser auf genau 1 feindliches Luftziel. +block.scathe.description = Schießt eine explodierende Rakete über gewaltige Distanzen auf feindliche Bodenziele. +block.smite.description = Schießt eine Welle aus blitzenden Kugeln. +block.malign.description = Schießt ein Sperrfeuer aus zielsuchenden Lasern auf feindliche Ziele. Benötigt viel Hitze. +block.silicon-arc-furnace.description = Verarbeitet Sand und Graphit zu Silizium. +block.oxidation-chamber.description = Wandelt Beryllium und Ozon in Oxid um. Gibt Hitze als Nebenprodukt ab. +block.electric-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt große Mengen Strom. +block.slag-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt Schlacke. +block.phase-heater.description = Heizt Blöcke in einer bestimmten Richtung. Benötigt Phasengewebe. +block.heat-redirector.description = Lenkt angesammelte Hitze weiter. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Verteilt angesammelte Hitze auf die 3 anderen Seiten. +block.electrolyzer.description = Spaltet Wasser in Wasserstoff und Ozon. +block.atmospheric-concentrator.description = Sammelt Stickstoff aus der Atmosphäre. Benötigt Hitze. +block.surge-crucible.description = Formt Spannungslegierung ais Schlacke und Silizium. Benötigt Hitze. +block.phase-synthesizer.description = Synthetisiert Phasengewebe aus Thorium, Sand und Ozon. Benötigt Hitze. +block.carbide-crucible.description = Verschmilzt Graphit und Wolfram zu Karbid. Benötigt Hitze. +block.cyanogen-synthesizer.description = Synthetisiert Cyanogen aus Arkyzit und Graphit. Benötigt Hitze. +block.slag-incinerator.description = Verbrennt nicht-volatile Materialien und Flüssigkeiten. Benötigt Schlacke. +block.vent-condenser.description = Kondensiert Schlotgase zu Wasser. Verbraucht Strom. +block.plasma-bore.description = Baut unbefristet Erze aus einer Erzwand ab. Erfordert kleine Mengen an Strom.\nVerwendet optional Wasserstoff, um die Effizienz zu steigern. +block.large-plasma-bore.description = Ein größerer Plasmabohrer. Kann Wolfram und Thorium abbauen. Benötigt Wasserstoff und Strom.\nVerwendet optional Stickstoff, um die Effizienz zu steigern. +block.cliff-crusher.description = Zertrümmert Wände, um unbefristet Sand herzustellen. Benötigt Strom. Effizienz variiert je nach Wandart. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Baut unbefristet Erze in Schüben aus dem Boden ab. Benötigt Strom und Wasser. +block.eruption-drill.description = Ein verbesserter Schlagbohrer. Kann Thorium abbauen. Benötigt Wasserstoff. +block.reinforced-conduit.description = Transportiert Flüssigkeiten. Nimmt von nicht-Kanälen nur von hinten an. +block.reinforced-liquid-router.description = Verteilt Flüssigkeiten gleichmäßig auf bis zu drei Richtungen. +block.reinforced-liquid-tank.description = Lagert eine große Menge an Flüssigkeiten. +block.reinforced-liquid-container.description = Lagert eine beträchtliche Menge an Flüssigkeiten. +block.reinforced-bridge-conduit.description = Transportiert Flüssigkeiten über Blöcke und Terrain. +block.reinforced-pump.description = Pumpt Flüssigkeiten. Benötigt Wasserstoff. +block.beryllium-wall.description = Beschützt Blöcke vor gegnerischen Projektilen. +block.beryllium-wall-large.description = Beschützt Blöcke vor gegnerischen Projektilen. +block.tungsten-wall.description = Beschützt Blöcke vor gegnerischen Projektilen. +block.tungsten-wall-large.description = Beschützt Blöcke vor gegnerischen Projektilen. +block.carbide-wall.description = Beschützt Blöcke vor gegnerischen Projektilen. +block.carbide-wall-large.description = Beschützt Blöcke vor gegnerischen Projektilen. +block.reinforced-surge-wall.description = Beschützt Blöcke vor gegnerischen Projektilen. Schießt gelegentlich Lichtbögen, wenn sie von einem Projektil getroffen wird. +block.reinforced-surge-wall-large.description = Beschützt Blöcke vor gegnerischen Projektilen. Schießt gelegentlich Lichtbögen, wenn sie von einem Projektil getroffen wird. +block.shielded-wall.description = Beschützt Blöcke vor gegnerischen Projektilen. Benutzt Strom, um ein Projektil-reflektierendes Schild zu erstellen. Leitet Strom. +block.blast-door.description = Eine Mauer, die verbündete Bodeneinheiten durchlässt. Kann nicht manuell gesteuert werden. +block.duct.description = Bewegt Materialien vorwärts. Kann nur ein einziges Item lagern. +block.armored-duct.description = Bewegt Materialien vorwärts. Materialen können von der Seite nur aus Rohrleitungen herein. +block.duct-router.description = Verteilt Materialien gleichmäßig auf bis zu drei Richtungen. Nimmt Materialien nur aus einer Richtung an. Kann als Sortierer verwendet werden. +block.overflow-duct.description = Gibt Materialien nur zu den Seiten heraus, wenn der vordere Ausgang blockiert ist. +block.duct-bridge.description = Transportierrt Materialen über Blöcke und Terrain. +block.duct-unloader.description = Entlädt Materialen aus dem Block dahinter. Kann nicht aus Kernen entladen. +block.underflow-duct.description = Das Gegenteil eines Überlauftors. Gibt Materialien nur nach vorne heraus, wenn die Seiten blockiert sind. +block.reinforced-liquid-junction.description = Funktioniert als Kreuzung für zwei sich kreuzende Kanäle. +block.surge-conveyor.description = Bewegt Materialien in Gruppen. Kann mit Strom beschleunigt werden. Leitet Strom. +block.surge-router.description = Verteilt Materialien gleichmäßig auf bis zu drei Spannungsförderbänder. Kann mit Strom beschleunigt werden. Leitet Strom. +block.unit-cargo-loader.description = Baut Transportdrohnen. Drohnen verteilen Materialen automatisch zwischen Einheitentladungspunkten mit passenden Filtern. +block.unit-cargo-unload-point.description = Funktioniert als Entladungspunkt für Transportdrohnen. Nimmt nur Materialien an, die dem Filter passen. +block.beam-node.description = Verteilt Strom in rechten Winkeln. Speichert eine kleine Menge Strom. +block.beam-tower.description = Verteilt Strom in rechten Winkeln. Speichert eine große Menge Strom. Höhere Reichweite. +block.turbine-condenser.description = Generiert Strom, wenn auf einem Schlot platziert. Stellt eine kleine Menge Wasser her. +block.chemical-combustion-chamber.description = Generiert aus Arkyzit und Ozon Strom. +block.pyrolysis-generator.description = Erzeugt aus Arkyzit und Schlacke große Mengen Strom. Erzeugt als Nebenprodukt Wasser. +block.flux-reactor.description = Erzeugt mit Hitze große Mengen Strom. Benötigt Cyanogen als Stabilisator. Stromherstellung und Cyanogenverbrauch sind proportional zur Hitze.\nExplodiert, wenn nicht genug Cyanogen bereitgestellt wird. +block.neoplasia-reactor.description = Benutzt Arkyzit, Wasser und Phasengewebe, um riesige Mengen Strom herzustellen. Stellt Hitze und gefährliches Neoplasma als Nebenprodukte her.\nExplodiert gewaltsam, wenn das Neoplasma nicht mit Kanälen entfernt wird. +block.build-tower.description = Baut zerstörte Gebäude automatisch wieder auf und hilft anderen Einheiten beim Bauen. +block.regen-projector.description = Heilt verbündete Blöcke in einer quadratischen Fläche. Benötigt Wasserstoff.\nVerwendet optional Phasengewebe, um die Effizienz zu steigern. +block.reinforced-container.description = Lagert eine kleine Menge an Materialien, die mit Entladern entfernt werden können. Lässt sich nicht mit dem Kern verbinden. +block.reinforced-vault.description = Lagert eine große Menge an Materialien, die mit Entladern entfernt werden können. Lässt sich nicht mit dem Kern verbinden. +block.tank-fabricator.description = Baut Stell-Einheiten. Hergestellt Einheiten können entweder direkt verwendet, oder in Verbessereren weiterverarbeitet werden. +block.ship-fabricator.description = Baut Elud-Einheiten. Hergestellt Einheiten können entweder direkt verwendet, oder in Verbessereren weiterverarbeitet werden. +block.mech-fabricator.description = Baut Merui-Einheiten. Hergestellt Einheiten können entweder direkt verwendet, oder in Verbessereren weiterverarbeitet werden. +block.tank-assembler.description = Baut große Panzer mit hereingegebenen Blöcken und Einheiten. Die hergestellte Einheitenstufe kann mit Verbesserermodulen erhöht werden. +block.ship-assembler.description = Baut große Schiffe mit hereingegebenen Blöcken und Einheiten. Die hergestellte Einheitenstufe kann mit Verbesserermodulen erhöht werden. +block.mech-assembler.description = Baut große Mechs mit hereingegebenen Blöcken und Einheiten. Die hergestellte Einheitenstufe kann mit Verbesserermodulen erhöht werden. +block.tank-refabricator.description = Befördert Panzer zur zweiten Stufe. +block.ship-refabricator.description = Befördert Schiffe zur zweiten Stufe. +block.mech-refabricator.description = Befördert Mechs zur zweiten Stufe. +block.prime-refabricator.description = Befördert Einheiten zur dritten Stufe. +block.basic-assembler-module.description = Erhöht Fabrikstufe, wenn an einer Baugrenze platziert. Benötigt Strom. Kann Fracht annehmen. +block.small-deconstructor.description = Nimmt Blöcke und Einheiten wieder auseinander. Gibt 100% der Baukosten zurück. +block.reinforced-payload-conveyor.description = Bewegt Fracht vorwärts. +block.reinforced-payload-router.description = Verteilt Fracht zwischen angrenzenden Blöcken. Kann als Sortierer funktionieren. +block.payload-mass-driver.description = Fracht-Transportmittel mit sehr hoher Reichweite. Schießt Frachtmassen zu verbundenen Frachtantriebstürmen. +block.large-payload-mass-driver.description = Fracht-Transportmittel mit sehr hoher Reichweite. Schießt Frachtmassen zu verbundenen Frachtantriebstürmen. +block.unit-repair-tower.description = Heilt alle Einheiten in der Nähe. Benötigt Ozon. +block.radar.description = Entdeckt schrittweise die Umgebung und gegnerische Einheiten in einem großen Radius. Benötigt Strom. +block.shockwave-tower.description = Beschädigt und zerstört gegnerische Projektile in der Nähe. +block.canvas.description = Zeigt ein einfaches Bild mit einer vordefinierten Farbpalette. Bearbeitbar. + +unit.dagger.description = Schießt normale Kugeln auf nahe feindliche Ziele. +unit.mace.description = Schießt Feuer auf nahe feindliche Ziele. unit.fortress.description = Schießt Langstreckengeschosse auf Ziele am Boden. -unit.scepter.description = Feuert ein Sperrfeuer geladener Kugeln auf Feinde in der Nähe ab. -unit.reign.description = Feuert ein Sperrfeuer riesiger Geschosse mit sehr hoher Durchstechkraft auf alle Feinde in der Nähe. +unit.scepter.description = Feuert ein Sperrfeuer geladener Kugeln auf feindliche Ziele. +unit.reign.description = Feuert ein Sperrfeuer riesiger Geschosse mit sehr hoher Durchstechkraft auf feindliche Ziele in der Nähe. unit.nova.description = Schießt kleine Laser, die Gegnern schaden und eigene Blöcke heilen. Kann boosten. unit.pulsar.description = Schießt Lichtbögen, die Gegnern schaden und eigene Blöcke heilen. Kann boosten. unit.quasar.description = Schießt durchdringende Laserstrahlen, die Gegnern schaden und eigene Blöcke heilen. Kann boosten. Hat ein Schutzschild. unit.vela.description = Schießt einen riesigen, konstanten Laserstrahl, der Gegnern schadet, Feuer verursacht und eigene Blöcke heilt. Kann boosten. unit.corvus.description = Schießt einen riesigen, konstanten Laserstrahl, der Gegnern schadet und eigene Blöcke heilt. Kann über Vieles drüberlaufen. -unit.crawler.description = Rennt auf Gegner zu und zerstört sich dann selbst, um eine Explosion zu verursachen. +unit.crawler.description = Rennt auf feindliche Ziele zu und zerstört sich dann selbst, um eine Explosion zu verursachen. unit.atrax.description = Schießt lähmende Schlackekugeln auf Gegner auf dem Boden. Kann über Vieles drüberlaufen. -unit.spiroct.description = Schießt die Gegner mit Lasern ab, die dem Gegner schaden und den Spirokt heilen. Kann über Vieles drüberlaufen. -unit.arkyid.description = Schießt die Gegner mit Lasern ab, die dem Gegner schaden und den Arkyid heilen. Kann über Vieles drüberlaufen. -unit.toxopid.description = Schießt große energiegeladene Cluster-Geschosse und durchdringende Laser auf Feinde. Kann über Vieles drüberlaufen. -unit.flare.description = Schießt normale Kugeln auf Ziele am Boden. -unit.horizon.description = Wirft Bomben auf Ziele am Boden. -unit.zenith.description = Schießt alle Gegner in der Nähe mit Salven von Raketen ab. +unit.spiroct.description = Schießt feindliche Ziele mit Lasern ab, die diesen schaden und den Spirokt heilen. Kann über Vieles drüberlaufen. +unit.arkyid.description = Schießt feindliche Ziele mit Lasern ab, die diesen schaden und den Arkyid heilen. Kann über Vieles drüberlaufen. +unit.toxopid.description = Schießt große energiegeladene Cluster-Geschosse und durchdringende Laser auf feindliche Ziele. Kann über Vieles drüberlaufen. +unit.flare.description = Schießt normale Kugeln auf feindliche Bodenziele. +unit.horizon.description = Wirft Bomben auf feindliche Bodenziele. +unit.zenith.description = Schießt feindliche Ziele mit Salven von Raketen ab. unit.antumbra.description = Schießt ein Sperrfeuer auf Gegner in der Nähe. unit.eclipse.description = Feuert zwei durchdringende Laser und einen Flaksperrfeuer auf alle Feinde in der Nähe. -unit.mono.description = Baut Automatisch Blei und Kupfer ab. Dieses wird in den Kern gebracht. +unit.mono.description = Baut automatisch Blei und Kupfer ab. Dieses wird in den Kern gebracht. unit.poly.description = Baut zerstörte Blöcke wieder auf und hilft anderen Einheiten beim Bauen. unit.mega.description = Heilt automatisch beschädigte Blöcke. Kann kleine Blöcke oder Bodeneinheiten tragen. unit.quad.description = Wirft große Bomben auf Bodenziele ab, welche Gegnern schaden und einige Blöcke heilen. Kann Bodeneinheiten tragen. unit.oct.description = Schützt mithilfe eines regenerierenden Schildes andere Einheiten. Kann die meisten Bodeneinheiten tragen. unit.risso.description = Schießt ein Sperrfeuer aus Raketen und Kugeln auf alle Gegner in der Nähe. unit.minke.description = Schießt Geschosse und Kugeln auf Feinde. -unit.bryde.description = Schießt Artilleriegeschosse und Raketen mit großer Reichweite auf alle Gegner in der Nähe. -unit.sei.description = Schießt ein Sperrfeuer aus Raketen und durchdringende Geschosse auf Gegner. +unit.bryde.description = Schießt Artilleriegeschosse und Raketen mit großer Reichweite auf alle feindlichen Ziele. +unit.sei.description = Schießt ein Sperrfeuer aus Raketen und durchdringende Geschosse auf feindliche Ziele. unit.omura.description = Schießt eine Railgun mit hoher Reichweite, um Gegner zu zerstören. Stellt Flare-Einheiten her. unit.alpha.description = Beschützt den Scherbenkern vor Feinden. Baut Blöcke. unit.beta.description = Beschützt den Fundamentkern vor Feinden. Baut Blöcke. -unit.gamma.description = Beschützt den Nukleuskern vor Feinden. Baut Blöcke. \ No newline at end of file +unit.gamma.description = Beschützt den Nukleuskern vor Feinden. Baut Blöcke. +unit.retusa.description = Schießt zielsuchende Torpedos auf Gegner und heilt verbündete Einheiten. +unit.oxynoe.description = Schießt Block-heilendes Feuer auf Gegner und zerstört gegnerische Projektile. +unit.cyerce.description = Schießt zielsuchende Cluster-Raketen auf Gegner und heilt verbündete Einheiten. +unit.aegires.description = Schockt alle gegnerische Einheiten und Blöcke, die das Energiefeld betreten. Heilt alle verbündete. +unit.navanax.description = Schießt explosive EMP-Projektile, die gegnerische Stromnetze zerstören und eigene Blöcke heilen. Zerschmilzt Gegner mit 4 autonomen Laserstrahlen. + +#Erekir +unit.stell.description = Schießt normale Kugeln auf nahe feindliche Ziele. +unit.locus.description = Schießt abwechselnde Kugeln auf nahe feindliche Ziele. +unit.precept.description = Schießt panzerbrechende Cluster-Geschosse auf feindliche Ziele. +unit.vanquish.description = Schießt große, panzerbrechende, sich teilende Geschosse auf feindliche Ziele. +unit.conquer.description = Schießt große, panzerbrechende Kugel-Kaskaden auf feindliche Ziele. +unit.merui.description = Schießt Langstreckengeschosse auf feindliche Bodenziele. Kann über Vieles drüberlaufen. +unit.cleroi.description = Schießt doppelte Geschosse auf feindliche Ziele. Visiert feindliche Projektile mit einem Punktverteidigungssystem an. Kann über Vieles drüberlaufen. +unit.anthicus.description = Schießt Langstreckengeschosse auf feindliche Ziele. Kann über Vieles drüberlaufen. +unit.tecta.description = Schießt zielsuchende Plasmaprojektile auf feindliche Ziele. Beschützt sich selber mit einem gerichteten Schild. Kann über Vieles drüberlaufen. +unit.collaris.description = Schießt sich teilende Artillerie über hohe Distanzen auf feindliche Ziele. Kann über Vieles drüberlaufen. +unit.elude.description = Schießt Paare von zielsuchenden Kugeln auf feindliche Ziele. Kann über Flüssigkeiten schweben. +unit.avert.description = Schießt drehende Paare von Kugeln auf feindliche Ziele. +unit.obviate.description = Schießt drehende Paare von Blitzkugeln auf feindliche Ziele. +unit.quell.description = Schießt zielsuchende Langstreckengeschosse auf feindliche Ziele. Stört feindliche Heilungsblöcke. +unit.disrupt.description = Schießt zielsuchende, störende Langstreckengeschosse auf feindliche Ziele. Stört feindliche Heilungsblöcke. +unit.evoke.description = Baut Blöcke, um den Bastion-Kern zu beschützen. Heilt Blöcke mit einem Strahl. Kann 2x2 Blöcke tragen. +unit.incite.description = Baut Blöcke, um den Festung-Kern zu beschützen. Heilt Blöcke mit einem Strahl. Kann 2x2 Blöcke tragen. +unit.emanate.description = Baut Blöcke, um den Akropolis-Kern zu beschützen. Heilt Blöcke mit Strahlen. Kann 2x2 Blöcke tragen. + +lst.read = Liest einen Wert aus einer verbundenen Speicherzelle. +lst.write = Schreibt eine Zahl in einer verbundene Speicherzelle. +lst.print = Fügt Text zum Textspeicher hinzu.\nZeigt nichts an, bis [accent]Print Flush[] verwendet wird. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Fügt eine [accent]Draw[]-Aufgabe zum Bildspeicher hinzu.\nZeigt nichts an, bis [accent]Draw Flush[] verwendet wird. +lst.drawflush = Druckt [accent]Draw[]-Aufgaben aus dem Bildspeicher auf einen Bildschirm. +lst.printflush = Druckt [accent]Print[]-Aufgaben aus dem Textspeicher auf einen Nachrichtenblock. +lst.getlink = Gibt ein verbundenen Block wieder. Fängt bei 0 an. +lst.control = Steuert einen Block. +lst.radar = Findet Einheiten. +lst.sensor = Gibt Daten über einen Block oder eine Einheit wieder. +lst.set = Setzt eine Variable fest. +lst.operation = Verändert eine Variable. +lst.end = Springt wieder nach oben. +lst.wait = Wartet eine bestimmte Zeit. +lst.stop = Halte diesen Prozessor ganz an. +lst.lookup = Sucht ein Item, eine Flüssigkeit, eine Einheit oder einen Block.\nGesamtmengen von jeder Sache können mit \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nabgerufen werden. +lst.jump = Falls die Bedingung erfüllt ist, wird woanders weitergemacht. +lst.unitbind = Speichert eine Einheit einer Sorte als [accent]@unit[]. +lst.unitcontrol = Steuert [accent]@unit[]. +lst.unitradar = Findet Einheiten in der Nähe von [accent]@unit[]. +lst.unitlocate = Findet mit [accent]@unit[] bestimmte Positionen / Blöcke auf der ganzen Karte. +lst.getblock = Lese Tile-Daten von jedem Standort. +lst.setblock = Setze Tile-Daten an jedem Standort. +lst.spawnunit = Einheit an einem Standort erstellen. +lst.applystatus = Füge einer Einheit einen Effekt hinzu oder entferne ihn. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Schickt die nächste Welle. +lst.explosion = Erstellt an einer beliebigen Stelle eine Explosion. +lst.setrate = Setzt die Ausführungsgeschwindigkeit von Prozessoren in Anweisungen/tick. +lst.fetch = Finde Einheiten, Kerne, Spieler oder Blöcke nach Zahl.\nZahlen fangen bei 0 an und hören bei dem jeweiligen Count auf. +lst.packcolor = Kombiniere [0, 1] RGBA Komponenten zu einer Zahl. +lst.setrule = Setze eine Spielregel. +lst.flushmessage = Zeige eine Nachricht aus dem Textspeicher auf dem Bildschirm.\nWartet, bis die vorherige Nachricht wieder verschwindet. +lst.cutscene = Verschiebe die Spielerkamera. +lst.setflag = Setze eine Flag, die von allen Prozessoren gelesen werden kann. +lst.getflag = Überprüfe, ob eine Flag gesetzt ist. +lst.setprop = Setzt eine Eigenschaft einer Einheit oder eines Blockes. +lst.effect = Erstelle einen Partikeleffekt +lst.sync = Synchronisiert eine Variable im Netzwerk.\nWird maximal 10 Mal pro Sekunde ausgefürht. +lst.playsound = Spielt einen Ton.\nDie Lautstärke kann ein fester Wert sein, oder anhand der Position berechnet werden. (weiter weg: leiser) +lst.makemarker = Erstelle einen neuen Logikmarker in der Welt.\nEine ID zur Identifizierung muss angegeben werden.\nDerzeit können nur maximal 20.000 Marker pro Welt platziert werden. +lst.setmarker = Lege eine Eigenschaft für einen Marker fest.\nDie ID muss die selbe wie bei der Erstellung des Markers sein. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = Die mathematische Konstante pi (3.141...) +lglobal.@e = Die mathematische Konstante e (2.718...) +lglobal.@degToRad = Multipliziere mit dieser Zahl um Grad in Radianten umzuwandeln +lglobal.@radToDeg = Multipliziere mit dieser Zahl um Radianten in Grad umzuwandeln +lglobal.@time = Spielzeit des aktuellen Speicherstandes in Millisekunden +lglobal.@tick = Spielzeit des aktuellen Speicherstandes in Ticks (1 Sekunde = 60 Ticks) +lglobal.@second = Spielzeit des aktuellen Speicherstandes in Sekunden +lglobal.@minute = Spielzeit des aktuellen Speicherstandes in Minuten +lglobal.@waveNumber = Nummer der aktuellen Welle, wenn Wellen aktiviert sind +lglobal.@waveTime = Countdown zur nächsten Welle in Sekunden +lglobal.@mapw = Breite der Karte in Kacheln +lglobal.@maph = Höhe der Karte in Kacheln +lglobal.sectionMap = Karte +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = Der Logikblock, der den Code ausführt +lglobal.@thisx = X-Koordinate des Blocks, der den Code ausführt +lglobal.@thisy = Y-Koordinate des Blocks, der den Code ausführt +lglobal.@links = Gesamtzahl der Blöcke, die mit diesem Prozessor verbunden sind +lglobal.@ipt = Ausführungsgeschwindigkeit in Anweisungen pro Tick (1 Sekunde = 60 Ticks) +lglobal.@unitCount = Gesamtzahl der verschiedenen Einheiten im Spiel; mit dem Lookup-Befehl benutzt +lglobal.@blockCount = Gesamtzahl der verschiedenen Blöcke im Spiel; mit dem Lookup-Befehl benutzt +lglobal.@itemCount = Gesamtzahl der verschiedenen Materialien im Spiel; mit dem Lookup-Befehl benutzt +lglobal.@liquidCount = Gesamtzahl der verschiedenen Flüssigkeiten im Spiel; mit dem Lookup-Befehl benutzt +lglobal.@server = true, wenn der Code auf einem Server oder im Einzelspielermodus ausgeführt wird, sonst false +lglobal.@client = true, wenn der Code auf einem Client läuft, der mit einem Server verbunden ist +lglobal.@clientLocale = Gebiet des Clients, der den Code ausführt. Zum Beispiel: en_US +lglobal.@clientUnit = Einheit des Clients, der den Code ausführt +lglobal.@clientName = Spielername des Clients, der diesen Code ausführt +lglobal.@clientTeam = Team ID des Clients, der diesen Code ausführt +lglobal.@clientMobile = true, wenn der Client ein Mobilgerät ist, sonst false + +logic.nounitbuild = [red]Logik, die Blöcke baut, ist hier nicht erlaubt. + +lenum.type = Englischer Name eines Blocks / einer Einheit. Ein Verteiler gibt [accent]@router[] wieder.\nKein string. +lenum.shoot = Schießt auf eine Position. +lenum.shootp = Schießt auf eine Einheit / einen Block und sagt deren Position voraus. +lenum.config = Blockkonfiguration, z.B. das ausgewählte Item in einem Sortierer. +lenum.enabled = Ob der Block an oder aus ist. +laccess.currentammotype = Aktuelle Munitionsart eines Geschützes + +laccess.color = Illuminiererfarbe. +laccess.controller = Einheitensteurer. Gibt "processor" zurück, wenn die Einheit prozessorgesteuert ist,.\nGibt den Steuerer zurück, wenn die Einheit Teil einer Formation ist.\nSonst wird einfach die Einheit zurückgegeben. +laccess.dead = Ob ein Block / eine Einheit tot oder nicht mehr gültig ist. +laccess.controlled = Gibt zurück:\n[accent]@ctrlProcessor[] wenn die Einheit prozessorgesteuert ist\n[accent]@ctrlPlayer[] wenn die Einheit / der Block von einem Spieler gesteuert wird\n[accent]@ctrlFormation[] wenn die Einheit Teil einer Formation ist\nSonst 0. +laccess.progress = Fortschritt, von 0 bis 1.\nGibt Produktion, Nachladestatus or Baufortschritt zurück. +laccess.speed = Höchstgeschwindigkeit einer Einheit, gemessen in Blöcke/Sekunde. +laccess.id = ID einer Einheit/eines Blocks/eines Materials/einer Flüssigkeit\nThis is the inverse of the lookup operation. + +lcategory.unknown = Unbekannt +lcategory.unknown.description = Unbekannte Anweisungen +lcategory.io = Ein- und Ausgabe +lcategory.io.description = Verändert den Inhalt von Speicherzellen und Bild- und Textspeicher. +lcategory.block = Blocksteuerung +lcategory.block.description = Interagiert mit Blöcken. +lcategory.operation = Operationen +lcategory.operation.description = Logische Operationen. +lcategory.control = Ablaufsteuerung +lcategory.control.description = Ablaufreihenfolge bearbeiten. +lcategory.unit = Einheitensteuerung +lcategory.unit.description = Einheiten finden und steuern. +lcategory.world = Welt +lcategory.world.description = Steuert, wie die Welt sich verhält. + +graphicstype.clear = Füllt den Bildschirm mit einer Farbe. +graphicstype.color = Wählt eine Farbe aus. +graphicstype.col = Wie color, aber Farben werden mit Prozentzeichen und hex-Code angegeben. Als Beispiel wäre %FF0000 rot. +graphicstype.stroke = Setzt die Linienbreite fest. +graphicstype.line = Zeichnet eine Linie. +graphicstype.rect = Zeichnet ein Rechteck. +graphicstype.linerect = Zeichnet den Umriss eines Rechtecks. +graphicstype.poly = Füllt ein gleichmäßiges Polygon. +graphicstype.linepoly = Zeichnet den Umriss eines gleichmäßigen Polygons. +graphicstype.triangle = Zeichnet ein Dreieck. +graphicstype.image = Zeichnet ein Bild von einem englischen Namen.\nz.B. [accent]@router[] oder [accent]@dagger[]. +graphicstype.print = Zeichnet Text aus dem Textspeicher und leert diesen. + +lenum.always = Immer. +lenum.idiv = Division mit ganzen Zahlen. +lenum.div = Division.\nGibt bei Teilung durch null [accent]null[] zurück. +lenum.mod = Modulo. +lenum.equal = Prüft Gleichheit.\nNicht-"null" Objekte, die mit Zahlen verglichen werden, werden 1. +lenum.notequal = Prüft Ungleichheit. +lenum.strictequal = Prüft strenge Gleichheit.\nKann verwendet werden, um "null" zu finden. +lenum.shl = Bit-Shift nacht links. +lenum.shr = Bit-Shift nach rechts. +lenum.or = Bitwise ODER. +lenum.land = Logisches AND. +lenum.and = Bitweises UND. +lenum.not = Bitweises NOT. +lenum.xor = Bitweises XOR. + +lenum.min = Die Größte von zwei Zahlen. +lenum.max = Die Kleinste von zwei Zahlen. +lenum.angle = Vektorwinkel in Grad. +lenum.anglediff = Absolute Entfernung zwischen zwei Winkeln in Grad. +lenum.len = Vektorlänge. + +lenum.sin = Sinus in Grad. +lenum.cos = Cosinus in Grad. +lenum.tan = Tangens in Grad. + +lenum.asin = Arkussinus in Grad. +lenum.acos = Arkuskosinus in Grad. +lenum.atan = Arkustangens in Grad. + +#not a typo, look up 'range notation' +lenum.rand = Zufällige Zahl zwischen [0, ). +lenum.log = Logarithmus (ln). +lenum.log10 = Logarithmus zur Basis 10. +lenum.noise = 2D rauschen. +lenum.abs = Betrag. +lenum.sqrt = Quadratwurzel. + +lenum.any = Irgendeine Einheit. +lenum.ally = Freundliche Einheit. +lenum.attacker = Einheit mit Waffe. +lenum.enemy = Gegnerische Einheit. +lenum.boss = Bosseinheit. +lenum.flying = Lufteinheit. +lenum.ground = Bodeneinheit. +lenum.player = Spielergesteuerte Einheit. + +lenum.ore = Erz. +lenum.damaged = Beschädigter, alliierter Block. +lenum.spawn = Gegnerischer Spawnpunkt.\nKann ein Kern oder eine Position sein. +lenum.building = Ein Block einer bestimmten Sorte. + +lenum.core = Irgendein Kern. +lenum.storage = Speicherblock, z.B. ein Tresor. +lenum.generator = Blöcke, die Strom generieren. +lenum.factory = Blöcke, die Ressourcen verarbeiten. +lenum.repair = Reperaturpunkt. +lenum.battery = Irgendeine Batterie. +lenum.resupply = Munitionsvorrat.\nNur wichtig, wenn [accent]"Einheiten benötigen Munition"[] an ist. +lenum.reactor = Schlag- / Thoriumreaktor. +lenum.turret = Irgendein Geschütz. + +sensor.in = Der Block / die Einheit. + +radar.from = Block zu benutzen. [accent]Sensor[]-Reichweite hängt von der Blockreichweite ab. +radar.target = Einheitenfilter. +radar.and = Weitere Filter. +radar.order = Sortierreihenfolge der Ergebnisse. 0 bedeutet rückwärts. +radar.sort = Sortiermethode der Ergebnisse. +radar.output = Variable für das Ergebnis. + +unitradar.target = Einheitenfilter. +unitradar.and = Weitere Filter. +unitradar.order = Sortierreihenfolge der Ergebnisse. 0 bedeutet rückwärts. +unitradar.sort = Sortiermethode der Ergebnisse. +unitradar.output = Variable für das Ergebnis. + +control.of = Block, der gesteuert werden soll. +control.unit = Zieleinheit / Zielblock. +control.shoot = Ob geschossen werden soll. + +unitlocate.enemy = Ob gegnerische Blöcke gesucht werden sollen. +unitlocate.found = Ob der Block gefunden wurde. +unitlocate.building = Variable für das Ergebnis. +unitlocate.outx = Variable für die X-Koordinate. +unitlocate.outy = Variable für die Y-Koordinate. +unitlocate.group = Gesuchter Blocktyp. +playsound.limit = Wenn true: verhindert, dass dieser Ton abgespielt wird,\nwenn er im gleichen Frame schon einmal gespielt wurde. + +lenum.idle = Bewegt sich nicht, baut aber weiter ab.\nDer normale Zustand. +lenum.stop = Bewegung / Abbau / Bau abbrechen. +lenum.unbind = Logiksteuerung deaktivieren.\nNormale KI übernimmt. +lenum.move = Geht zu diese Position. +lenum.approach = Geht auf einen Punkt mit einem bestimmten Radius zu. +lenum.pathfind = Geht zum gegnerischen Spawnpunkt. +lenum.autopathfind = Läuft zum nächsten feindlichen Kern oder Spawnbereich. +lenum.target = Schießt auf eine Position. +lenum.targetp = Schießt auf eine Einheit und sagt deren Position voraus. +lenum.itemdrop = Materialien abwerfen. +lenum.itemtake = Materialien aus einem Block nehmen. +lenum.paydrop = Lässt einen Block / eine Einheit wieder fallen. +lenum.paytake = Hebt einen Block / eine kleine Einheit auf. +lenum.payenter = Betritt den Fracht-Block, auf dem sich die Einheit befindet. +lenum.flag = Zahl, mit der eine Einheit identifiziert werden kann. +lenum.mine = Erz von einer Position abbauen. +lenum.build = Einen Block bauen. +lenum.getblock = Gibt den Gebäude-, Boden- und Blocktyp and den gegebenen Koordinaten zurück.\nDie Position muss in Reichweite der Einheit sein, sonst wird null zurückgegeben. +lenum.within = Prüft, ob eine Einheit in einem Radius um einen Punkt ist. +lenum.boost = Aktiviert / deaktiviert den Boost. +lenum.flushtext = Verschiebt den Inhalt des Print Buffers wenn möglich zu einem Marker.\nWenn fetch true ist, wird versucht, Eigenschaften vom Locale Bundle der Karte oder des Spiels zu lesen. +lenum.texture = Name einer Textur direkt aus dem Texturatlas des Spiels (bennant mit kebab-case naming style).\nWenn printFlush true ist, wird der Inhalt des Textspeichers als Argument genommen und gelöscht. +lenum.texturesize = Größe einer Textur in Kacheln. Zero value scales marker width to original texture's size. +lenum.autoscale = Ob der Marker entsprechend des Zoom-Levels des Spielers skaliert werden soll. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Positionen auf der Textur von 0 bis 1, für quad marker benutzt. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_es.properties b/core/assets/bundles/bundle_es.properties index 60e9538f1a..566a5f21d6 100644 --- a/core/assets/bundles/bundle_es.properties +++ b/core/assets/bundles/bundle_es.properties @@ -2,29 +2,29 @@ credits.text = Creado por [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Créditos contributors = Traductores y Contribuidores discord = ¡Únete al Discord de Mindustry! -link.discord.description = El servidor official de Discord de Mindustry +link.discord.description = El Discord oficial de Mindustry link.reddit.description = El subreddit de Mindustry link.github.description = Código fuente del juego link.changelog.description = Lista de actualizaciones link.dev-builds.description = Versiones en desarrollo inestables -link.trello.description = Tablón de Trello oficial para las características planificadas -link.itch.io.description = Página de itch.io, donde puedes descargar las versiones para PC +link.trello.description = Tablón de Trello oficial con las características planeadas +link.itch.io.description = Descarga las versiones para PC desde itch.io. link.google-play.description = Ver en Google Play Store -link.f-droid.description = Página de F-Droid del juego +link.f-droid.description = Ver en F-Droid link.wiki.description = Wiki oficial de Mindustry -link.suggestions.description = Sugerir nuevas funciones +link.suggestions.description = Sugerir nuevas características link.bug.description = ¿Encontraste un error? Puedes reportarlo aquí -linkfail = ¡Error al abrir el enlace!\nLa URL ha sido copiada a su portapapeles. +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} +linkfail = ¡Error al abrir el enlace!\nLa URL se ha copiado al portapapeles. screenshot = Captura de pantalla guardada en {0} -screenshot.invalid = Mapa demasiado grande, no hay suficiente memoria para la captura de pantalla. -gameover = Tu núcleo ha sido destruido. -gameover.disconnect = Desconectado +screenshot.invalid = El mapa es demasiado grande, no hay suficiente memoria para la captura de pantalla. +gameover = Fin de la partida +gameover.disconnect = Desconectarse gameover.pvp = ¡El equipo[accent] {0}[] ha ganado! gameover.waiting = [accent]Esperando el próximo mapa... -highscore = [accent]¡Nuevo récord de puntuación! -copied = Copiado -indev.notready = Esta parte del juego no esta lista aún. -indev.campaign = [accent]Has llegado al final de la campaña![]\n\nEsto es todo lo lejos que puedes llegar por ahora.\nLos viajes interplanetarios se añadirán en futuras actualizaciones. +highscore = [accent]¡Nuevo récord! +copied = Copiado. +indev.notready = Esta parte del juego no esta lista aún load.sound = Sonidos load.map = Mapas @@ -41,578 +41,892 @@ be.ignore = Ignorar be.noupdates = No se encontraron actualizaciones. be.check = Buscar actualizaciones -mod.featured.title = Explorador de mods -mod.featured.dialog.title = Explorador de Mods +mods.browser = Explorador de mods mods.browser.selected = Mod seleccionado -mods.browser.add = Installar Mod -mods.github.open = Abrir en Github +mods.browser.add = Instalar +mods.browser.reinstall = Reinstalar +mods.browser.view-releases = Versiones +mods.browser.noreleases = [scarlet]No disponible.\n[accent]No se encontró ninguna versión publicada para este mod. Comprueba si el repositorio del mod ha publicado alguna versión. +mods.browser.latest = <Última> +mods.browser.releases = Versiones +mods.github.open = Repositorio de GitHub +mods.github.open-release = Lista de versiones +mods.browser.sortdate = Más recientes +mods.browser.sortstars = Mejor valorados -schematic = Plantilla -schematic.add = Guardar plantilla... -schematics = Plantillas -schematic.replace = Ya existe una plantilla con ese nombre. ¿Deseas remplazarla? -schematic.exists = Ya existe una plantilla con ese nombre. -schematic.import = Importar plantilla... +schematic = Esquema +schematic.add = Guardar esquema... +schematics = Esquemas +schematic.search = Buscar esquemas.. +schematic.replace = Ya existe un esquema con ese nombre. ¿Quieres reemplazarlo? +schematic.exists = Ya existe un esquema con ese nombre. +schematic.import = Importar esquema... schematic.exportfile = Exportar archivo schematic.importfile = Importar archivo -schematic.browseworkshop = Buscar en el Steam Workshop -schematic.copy = Copiar al portapapeles. -schematic.copy.import = Importar desde el portapapeles. -schematic.shareworkshop = Compartir en el Steam Workshop -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Girar plantilla -schematic.saved = Plantilla guardada. -schematic.delete.confirm = Se borrará ésta plantilla. -schematic.rename = Renombrar plantilla +schematic.browseworkshop = Buscar en Steam Workshop +schematic.copy = Copiar al portapapeles +schematic.copy.import = Importar desde el portapapeles +schematic.shareworkshop = Compartir en Steam Workshop +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Invertir esquema +schematic.saved = Esquema guardado. +schematic.delete.confirm = Este esquema será absolutamente erradicado. +schematic.edit = Editar esquema schematic.info = {0}x{1}, {2} bloques -schematic.disabled = [scarlet]Plantillas desactivadas.[]\nNo puedes usar plantillas en este [accent]mapa[] o [accent]servidor. +schematic.disabled = [scarlet]Esquemas desactivados.[]\nNo está permitido usar esquemas en este [accent]mapa[] o [accent]servidor. +schematic.tags = Etiquetas: +schematic.edittags = Editar etiquetas +schematic.addtag = Añadir etiqueta +schematic.texttag = Texto de etiqueta +schematic.icontag = Icono de etiqueta +schematic.renametag = Renombrar etiqueta +schematic.tagged = {0} etiquetado +schematic.tagdelconfirm = ¿Eliminar completamente esta etiqueta? +schematic.tagexists = Esa etiqueta ya existe. stats = Estadísticas -stat.wave = Oleadas Derrotadas:[accent] {0} -stat.enemiesDestroyed = Enemigos Destruidos:[accent] {0} -stat.built = Estructuras Construidas:[accent] {0} -stat.destroyed = Estructuras Destruidas:[accent] {0} -stat.deconstructed = Estructuras Desconstruidas:[accent] {0} -stat.delivered = Recursos Lanzados: -stat.playtime = Tiempo jugado:[accent] {0} -stat.rank = Rango final: [accent]{0} +stats.wave = Oleadas derrotadas +stats.unitsCreated = Unidades creadas +stats.enemiesDestroyed = Enemigos destruidos +stats.built = Estructuras construidas +stats.destroyed = Estructuras destruidas +stats.deconstructed = Estructuras deconstruidas +stats.playtime = Tiempo jugado -globalitems = [accent]Recursos Totales -map.delete = ¿Estás seguro de que quieres borrar el mapa "[accent]{0}[]"? -level.highscore = Puntuación más alta: [accent]{0} +globalitems = [accent]Recursos totales +map.delete = ¿Quieres borrar el mapa "[accent]{0}[]"? +level.highscore = Récord de puntuación: [accent]{0} level.select = Selección de nivel level.mode = Modo de juego: coreattack = < ¡El núcleo está bajo ataque! > -nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE APARICIÓN INMEDIATAMENTE[] ]\nRiesgo de aniquilación inminente -database = Base de datos -savegame = Guardar Partida -loadgame = Cargar Partida -joingame = Unirse a Partida -customgame = Crear Partida -newgame = Nueva Partida -none = +nearpoint = [[ [scarlet]ABANDONA EL PUNTO DE ATERRIZAJE INMEDIATAMENTE[] ]\nAniquilación inminente +database = Base de datos del núcleo +database.button = Base de datos +savegame = Guardar partida +loadgame = Cargar partida +joingame = Unirse a partida +customgame = Partida personalizada +newgame = Nueva partida +none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Minimapa position = Posición close = Cerrar website = Sitio web quit = Salir -save.quit = Guardar y Salir +save.quit = Guardar y salir maps = Mapas -maps.browse = Navegar por los Mapas +maps.browse = Buscar mapas continue = Continuar maps.none = [lightgray]¡No se han encontrado mapas! invalid = No es válido -pickcolor = Escoge Color -preparingconfig = Preparando Configuración -preparingcontent = Preparando Contenido -uploadingcontent = Subiendo Contenido -uploadingpreviewfile = Subiendo Archivo de Vista Previa -committingchanges = Confirmando Cambios +pickcolor = Selección de color +preparingconfig = Preparando configuración +preparingcontent = Preparando contenido +uploadingcontent = Subiendo contenido +uploadingpreviewfile = Subiendo archivo de vista previa +committingchanges = Sincronizando cambios done = Hecho -feature.unsupported = Tu dispositivo no es compatible con esta función. +feature.unsupported = Tu dispositivo no es compatible con esta característica. -mods.alphainfo = Ten en cuenta que los mods estan en fase Alpha, y[scarlet] pueden tener varios errores[].\nReporta cualquier error que encuentres en la página de GitHub de Mindustry. +mods.initfailed = [red]âš [] La anterior ejecución de Mindustry no pudo inicializarse correctamente. Seguramente fue causado por algún mod erróneo.\n\nPara evitar un bucle de errores al iniciar el juego, [red]se han desactivado todos los mods.[] mods = Mods -mods.none = [lightgray]¡No se encontraron Mods! -mods.guide = Guía de Modding -mods.report = Reportar Error +mods.none = [lightgray]¡No se han encontrado mods! +mods.guide = Guía sobre mods +mods.report = Reportar error mods.openfolder = Abrir carpeta de mods +mods.viewcontent = Ver contenido mods.reload = Recargar -mods.reloadexit = A continuación se cerrará el juego para recargar los mods. +mods.reloadexit = A continuación se cerrará el juego para cargar los mods. +mod.installed = [[Instalado] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Activado mod.disabled = [scarlet]Desactivado +mod.multiplayer.compatible = [gray]Compatible con multijugador mod.disable = Desactivar +mod.version = Version: mod.content = Contenido: -mod.delete.error = No se pudo elminar el mod. Tal vez esté en uso por el juego. -mod.requiresversion = [scarlet]Requiere como mínimo la versión del juego: [accent]{0} -mod.outdated = [scarlet]No es compatible con la V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Dependencias faltantes: {0} +mod.delete.error = No se pudo elminar el mod. Puede que el archivo esté en uso. +mod.incompatiblegame = [red]Juego desactualizado +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]No soportado +mod.unmetdependencies = [red]Dependencias no satisfechas mod.erroredcontent = [scarlet]Contenido erróneo +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requiere la versión del juego: [accent]{0}[]\nTu versión está desactualizada. Este mod requiere una versión más reciente del juego. +mod.outdatedv7.details = Este mod no es compatible con la última versión del juego. Su autor debe actualizarlo, y añadir [accent]minGameVersion: 136[] al fichero [accent]mod.json[]. +mod.blacklisted.details = Este mod ha sido bloqueado manualmente por causar cierres inesperados, errores u otros problemas en esta versión del juego. Será mejor no usarlo. +mod.missingdependencies.details = A este mod le faltan dependencias: {0} +mod.erroredcontent.details = La partida causó errores al cargar. Puedes pedir al autor del mod que los arregle. +mod.circulardependencies.details = Este mod tiene dependencias que dependen unas de otras. +mod.incompletedependencies.details = Este mod no se puede cargar debido a dependencias no válidas o faltantes: {0}. +mod.requiresversion = Requiere la versión del juego: [red]{0} mod.errors = Ha ocurrido un fallo al cargar el contenido. -mod.noerrorplay = [scarlet]Se están ejecutando algunos mods con fallos.[]Deshabilítalos o arregla los errores antes de jugar. -mod.nowdisabled = [scarlet]Al/Los Mod/s '{0}'le esta/n faltando dependencias:[accent] {1}\n[lightgray]Estos mods necesitan descargarse primero.\nEste mod será automaticamente desactivado. +mod.noerrorplay = [scarlet]Se están ejecutando algunos mods con fallos.[]Debes deshabilitarlos o arreglar los errores antes de jugar. +mod.nowdisabled = [scarlet]El mod '{0}' necesita ejecutarse junto a otros mods de los que depende:[accent] {1}\n[lightgray]Es necesario descargar primero estos mods.\nEste mod se desactivará automaticamente. mod.enable = Activar -mod.requiresrestart = El juego se cerrará para aplicar los mods. -mod.reloadrequired = [scarlet]Se requiere volver a cargar +mod.requiresrestart = El juego se cerrará para aplicar los cambios del mod. +mod.reloadrequired = [scarlet]Es necesario reiniciar mod.import = Importar mod mod.import.file = Importar archivo -mod.import.github = Importar Mod de Github -mod.jarwarn = [scarlet]Los mods JAR pueden no ser seguros.[]\n¡Asegúrate de haberlos descargado de una fuente en la que confíes! -mod.item.remove = Este objeto es parte del[accent] '{0}'[] mod. Para eliminarlo, desinstala ese mod. -mod.remove.confirm = Este mod va a ser eliminado.\n¿Quieres continuar? +mod.import.github = Importar desde Github +mod.jarwarn = [scarlet]Los mods JAR pueden no ser seguros.[]\n¡Asegúrate de haberlos descargado de una fuente de confianza! +mod.item.remove = Este objeto es parte del mod[accent] '{0}'[]. Para eliminarlo, desinstala ese mod. +mod.remove.confirm = Este mod será eliminado. mod.author = [lightgray]Autor:[] {0} -mod.missing = Esta partida guardada usa mods que has actualizado recientemente o que no tienes instalados. Se puede corromper la partida guardada. ¿Quieres cargarla a pesar de ello?\n[lightgray]Mods:\n{0} -mod.preview.missing = Antes de publicar este mod en el Steam Workshop, debe añadir una imagen de vista previa.\nAñada una imagen con nombre[accent] preview.png[] en la carpeta del mod e intente nuevamente. -mod.folder.missing = Solo los mods en forma de carpeta se pueden publicar en el Steam Workshop.\nPara convertir cualquier mod en una carpeta, simplemente descomprima su archivo a una carpeta y elimine el zip anterior, luego reinicie su juego o vuelva a cargar sus mods. -mod.scripts.disable = Tu dispositivo no es compatible con mods con scripts. Debes deshabilitar esos mods para jugar. +mod.missing = Esta partida guardada usa mods que has actualizado recientemente o que no tienes instalados. Se puede corromper la partida guardada. ¿Quieres cargarla igualmente?\n[lightgray]Mods:\n{0} +mod.preview.missing = Antes de publicar este mod en Steam Workshop, debes añadir una imagen de vista previa.\nAñade una imagen llamada[accent] preview.png[] en la carpeta del mod e inténtalo de nuevo. +mod.folder.missing = Sólo los mods en forma de carpeta se pueden publicar en Steam Workshop.\nPara convertir cualquier mod en una carpeta, descomprime su archivo a una carpeta y elimina el zip anterior, luego reinicia el juego o vuelve a cargar tus mods. +mod.scripts.disable = Tu dispositivo no soporta mods con scripts. Debes desactivar esos mods para jugar. -about.button = Acerca de... +about.button = Más información name = Nombre: noname = Elige un[accent] nombre de jugador[] primero. +search = Search: planetmap = Mapa del planeta launchcore = Lanzar núcleo filename = Nombre del archivo: -unlocked = ¡Nuevo contenido en la Base de Datos! +unlocked = ¡Nuevo contenido desbloqueado! available = ¡Nueva investigación disponible! +unlock.incampaign = < Descúbrelo en el modo campaña para ver más detalles > +campaign.select = Elegir campaña +campaign.none = [lightgray]Elige un planeta donde empezar.\nPuedes cambiar en cualquier momento. +campaign.erekir = [accent]Recomendado para nuevos jugadores.[]\n\nContenido más reciente y pulido. Progresión de campaña lineal.\n\nNiveles y experiencia de mayor calidad. +campaign.serpulo = [scarlet]No recomendado para jugadores novatos.[]\n\nContenido más antiguo; La experiencia clásica. More open-ended.\n\nNiveles y mecánicas de juego potencialmente desequilibrados. +campaign.difficulty = Difficulty completed = [accent]Completado -techtree = Tecnologías -research.legacy = Se han encontrado datos guardados de investigaciones tecnológicas realizadas en la versión [accent]5.0[].\n¿Quieres [accent]cargar estos datos[], o [accent]descartarlos[] para reiniciar los descubrimientos tecnológicos del nuevo modo Campaña? (Recomendado) +techtree = Investigaciones tecnológicas +techtree.select = Selección de esquemas de tecnologías +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = Cargar research.discard = Descartar research.list = [lightgray]Investigaciones: -research = Investigaciones +research = Tecnologías researched = [lightgray]{0} investigado. research.progress = {0}% completado players = {0} jugadores players.single = {0} jugador players.search = Buscar -players.notfound = [gray]No se encontraron jugadores +players.notfound = [gray]No se han encontrado jugadores server.closing = [accent]Cerrando servidor... -server.kicked.kick = ¡Te han echado del servidor! +server.kicked.kick = ¡Has sido expulsado del servidor! server.kicked.whitelist = No estás en la lista blanca de este servidor. server.kicked.serverClose = El servidor se ha cerrado. -server.kicked.vote = Has sido expulsado por votación. ¡Hasta luego! +server.kicked.vote = Has sido expulsado por votación. Hasta luego. server.kicked.clientOutdated = ¡Cliente desactualizado! ¡Actualiza el juego! server.kicked.serverOutdated = ¡Servidor desactualizado! ¡Pídele al anfitrión que lo actualice! -server.kicked.banned = Has sido baneado en este servidor. -server.kicked.typeMismatch = Este servidor no es compatible con su tipo de compilación. -server.kicked.playerLimit = Este servidor está lleno. Aunque siempre puedes esperar a que alguien deje un hueco... -server.kicked.recentKick = Has sido expulsado recientemente.\nEspera para poder conectarte de nuevo. +server.kicked.banned = Estás vetado en este servidor. +server.kicked.typeMismatch = Este servidor no es compatible con el tipo de compilación de tu versión actual. +server.kicked.playerLimit = Este servidor está lleno. Puedes esperar a que alguien deje un hueco. +server.kicked.recentKick = Has sido expulsado recientemente.\nEspera antes de conectarte de nuevo. server.kicked.nameInUse = Ya hay alguien con ese\nnombre en el servidor. -server.kicked.nameEmpty = Tu nombre debe contener al menos un carácter o número. -server.kicked.idInUse = ¡Ya estás en el servidor! No está permitido conectarse con dos cuentas. +server.kicked.nameEmpty = Ese nombre no es válido. +server.kicked.idInUse = ¡Ya estás en este servidor! No está permitido conectarse con dos cuentas. server.kicked.customClient = Este servidor no soporta versiones personalizadas. Descarga una versión oficial. server.kicked.gameover = ¡Fin del juego! -server.kicked.serverRestarting = Se esta reiniciando el servidor. +server.kicked.serverRestarting = El servidor se está reiniciando. server.versions = Tu versión:[accent] {0}[]\nVersión del servidor:[accent] {1}[] -host.info = El botón [accent]host[] crea un servidor en el puerto [scarlet]6567[]. \nCualquier persona en la misma [lightgray]wifi []o [lightgray]red local[] debería poder ver tu servidor en la lista de servidores.\n\nSi quieres que cualquier persona se pueda conectar de cualquier lugar mediante IP, se requiere [accent]asignación de puertos[].\n\n[lightgray]Nota: Si alguien experimenta problemas conectándose a tu partida LAN, asegúrate de permitir a Mindustry acceso a tu red local mediante la configuración de tu firewall. -join.info = Aquí, puedes escribir la [accent]IP de un servidor[] para conectarte, o descubrir servidores en tu [accent]red local[] para conectarte.\nTambién se puede jugar multijugador en redes LAN y WAN.\n\n[lightgray]Nota: No hay una lista automática global de servidores; si quieres conectarte por IP, tendrás que preguntarle al anfitrión por la IP. -hostserver = Abrir Partida -invitefriends = Invitar Amigos -hostserver.mobile = Abrir\nPartida -host = Servidor +host.info = El botón [accent]Abrir partida[] abrirá la partida en el puerto [scarlet]6567[]. \nCualquiera en la misma [lightgray]red local[] debería poder ver tu partida en su lista de servidores.\n\nSi quieres que se puedan conectar desde cualquier lugar mediante IP, se requiere configurar la [accent]asignación de puertos[].\n\n[lightgray]Nota: Si alguien experimenta problemas conectándose a tu partida LAN, asegúrate de permitir a Mindustry acceso a tu red local mediante la configuración de tu cortafuegos. Ten en cuenta que las redes públicas a veces no permiten descubrir servidores en la red. +join.info = Aquí, puedes encontrar partidas de servidores [accent]públicos[] o en tu [accent]red local[] a las que unirte, o conectarte a un servidor mediante su [accent]dirección IP[]. \nEs posible jugar Multijugador en LAN y WAN.\n\n[lightgray]Si quieres conectarte con alguien mediante su dirección IP, necesitarás preguntarle su IP pública, la cual se puede obtener buscando "mi ip" desde la red del anfitrión. +hostserver = Abrir partida multijugador +invitefriends = Invitar amigos +hostserver.mobile = Abrir partida multijugador +host = Abrir partida hosting = [accent]Abriendo servidor... hosts.refresh = Actualizar -hosts.discovering = Buscando partidas en LAN... +hosts.discovering = Buscando partidas en LAN hosts.discovering.any = Buscando partidas -server.refreshing = Actualizando servidor... -hosts.none = [lightgray]No se han encontrado partidas en LAN -host.invalid = [scarlet]No se pudo conectar con el anfitrión +server.refreshing = Actualizando servidor +hosts.none = [lightgray]¡No se han encontrado partidas en tu red local! +host.invalid = [scarlet]No se puede conectar al anfitrión. -servers.local = Servidores Locales -servers.remote = Servidores Remotos -servers.global = Servidores de la Comunidad +servers.local = Servidores locales +servers.local.steam = Partidas públicas y servidores locales +servers.remote = Servidores remotos +servers.global = Servidores de la comunidad servers.disclaimer = Los servidores de la comunidad [accent]no[] son propiedad del desarrollador, ni administrados por el mismo.\n\nLos servidores podrían tener contenido generado por los usuarios no apropiado para todas las edades. servers.showhidden = Mostrar servidores ocultos server.shown = Visibles server.hidden = Ocultos +viewplayer = Viendo al jugador: [accent]{0} trace = Rastrear Jugador -trace.playername = Nombre de jugador: [accent]{0} +trace.playername = Nombre del jugador: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = ID Única: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Cliente de móvil: [accent]{0} -trace.modclient = Cliente Personalizado: [accent]{0} -invalidid = ¡ID de cliente inválida! Por favor, envía un informe del error. -server.bans = Expulsiones -server.bans.none = No se ha baneado a ningún usuario aún +trace.modclient = Cliente personalizado: [accent]{0} +trace.times.joined = Se ha unido [accent]{0} []veces +trace.times.kicked = Fue expulsado [accent]{0} []veces +trace.ips = IPs: +trace.names = Names: +invalidid = ¡ID de cliente no válida! Puedes enviar un informe reportando el error. +player.ban = Ban +player.kick = Expulsar +player.trace = Trace +player.admin = Toggle Admin +player.team = Cambiar equipo +server.bans = Vetos +server.bans.none = ¡No se ha vetado a ningún usuario! server.admins = Administradores server.admins.none = ¡No hay ningún administrador! -server.add = Agregar Servidor -server.delete = ¿Estás seguro de querer borrar este servidor? +server.add = Agregar servidor +server.delete = ¿Realmente quieres borrar este servidor? server.edit = Editar Servidor -server.outdated = [crimson]¡Servidor desactualizado![] -server.outdated.client = [crimson]¡Cliente desactualizado![] -server.version = [lightgray]Versión: {0} +server.outdated = [scarlet]¡Servidor Desactualizado![] +server.outdated.client = [scarlet]¡Cliente Desactualizado![] +server.version = [gray]v{0} {1} server.custombuild = [accent]Versión personalizada -confirmban = ¿Quieres banear a este jugador? -confirmkick = ¿Estás seguro de querer expulsar este jugador? -confirmvotekick = ¿Estás de acuerdo en expulsar este jugador? -confirmunban = ¿Quieres desbanear a este jugador? -confirmadmin = ¿Quieres hacer administrador a este jugador? -confirmunadmin = ¿Quieres quitar los permisos de administrador a este jugador? -joingame.title = Unirse a Partida -joingame.ip = IP: +confirmban = ¿Quieres vetar a "{0}[white]"? +confirmkick = ¿Quieres expulsar a "{0}[white]"? +confirmunban = ¿Quieres quitar el veto a este jugador? +confirmadmin = ¿Quieres hacer administrador a "{0}[white]"? +confirmunadmin = ¿Quieres quitarle los permisos de administrador a "{0}[white]"? +votekick.reason = Razón del Voto de Expulsión +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: +joingame.title = Unirse a una Partida +joingame.ip = Dirección IP: disconnect = Desconectado. -disconnect.error = Error en la conexión. +disconnect.error = Error de conexión. disconnect.closed = Conexión cerrada. disconnect.timeout = Tiempo de espera agotado. -disconnect.data = ¡Hubo un fallo con la carga de datos! +disconnect.data = ¡Hubo un fallo al cargar los datos! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = No es posible unirse a la partida ([accent]{0}[]). connecting = [accent]Conectando... reconnecting = [accent]Reconectado... connecting.data = [accent]Cargando datos del mundo... server.port = Puerto: -server.addressinuse = ¡La dirección ya está en uso! server.invalidport = ¡El número de puerto no es valido! -server.error = [crimson]Error al crear el servidor: error [accent]{0} -save.new = Nuevo Punto de Guardado -save.overwrite = ¿Estás seguro de querer sobrescribir\neste punto de guardado? +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [scarlet]Error alojando el servidor. +save.new = Nuevo archivo de guardado +save.overwrite = ¿Quieres sobrescribir\neste guardado? +save.nocampaign = Los archivos individuales guardados de la campaña no se pueden importar. overwrite = Sobrescribir -save.none = ¡No se ha encontrado ningún punto de guardado! +save.none = ¡No se ha encontrado ningún archivo de guardado! savefail = ¡No se ha podido guardar la partida! -save.delete.confirm = ¿Estás seguro de querer borrar este punto de guardado? +save.delete.confirm = ¿Quieres borrar este punto de guardado? save.delete = Borrar -save.export = Exportar Punto de Guardado -save.import.invalid = [accent]¡Este punto de guardado es inválido! -save.import.fail = [crimson]La importación del punto de guardado ha fallado: error [accent]{0} -save.export.fail = [crimson]La exportación del punto de guardado ha fallado: error [accent]{0} -save.import = Importar Punto de Guardado -save.newslot = Nombre del Punto de Guardado: +save.export = Exportar archivo de guardado +save.import.invalid = [accent]¡Este archivo no es válido! +save.import.fail = [scarlet]Hubo un fallo al importar el archivo de guardado: [accent]{0} +save.export.fail = [scarlet]Ha fallado la exportación del guardado: [accent]{0} +save.import = Importar guardado +save.newslot = Nombre del archivo de guardado: save.rename = Renombrar save.rename.text = Nuevo nombre: -selectslot = Selecciona un Punto de Guardado. +selectslot = Selecciona un archivo de guardado. slot = [accent]Hueco {0} -editmessage = Editar mensaje -save.corrupted = [accent]¡El punto de guardado está corrupto o es inválido!\nSi acabas de actualizar el juego, probablemente se deba a un cambio en el formato de guardado y[scarlet] no[] un a error. +editmessage = Editar Mensaje +save.corrupted = [accent]¡Archivo de guardado corrupto o inválido! empty = on = ON off = OFF +save.search = Buscar partidas guardadas... save.autosave = Autoguardado: {0} save.map = Mapa: {0} save.wave = Oleada {0} -save.mode = Modo de Juego: {0} -save.date = Última vez guardado: {0} +save.mode = Modo de juego: {0} +save.date = Último guardado: {0} save.playtime = Tiempo de juego: {0} -warning = Aviso +warning = Aviso. confirm = Confirmar delete = Borrar -view.workshop = Ver en el Steam Workshop +view.workshop = Ver en Steam Workshop workshop.listing = Editar el listado del Worshop ok = OK open = Abrir -customize = Personalizar +customize = Personalizar reglas cancel = Cancelar -openlink = Abrir Enlace -copylink = Copiar Enlace +command = Comandar +command.queue = [lightgray][Queuing] +command.mine = Minar +command.repair = Reparar +command.rebuild = Reconstruir +command.assist = Asistir al jugador +command.move = Moverse +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +openlink = Abrir enlace +copylink = Copiar enlace back = Atrás -crash.export = Exportar Registros de errores -crash.none = No se encontraron Registros de errores. +max = Máximo +objective = Objetivo del mapa +crash.export = Exportar registros de errores +crash.none = No se encontraron registros de errores. crash.exported = Registros de errores exportados. -data.export = Exportar Datos -data.import = Importar Datos -data.openfolder = Abrir Carpeta de Datos +data.export = Exportar datos +data.import = Importar datos +data.openfolder = Abrir carpeta de datos data.exported = Datos exportados. -data.invalid = Esta data del juego no es valida. -data.import.confirm = Importando los datos externos borrará[scarlet] todo[] tu progreso.\n[accent]Esto no se puede rehacer![]\n\nUna vez que los datos hayan sido importados, el juego saldrá automaticamente. -quit.confirm = ¿Quieres salir de la partida? -quit.confirm.tutorial = ¿Estás seguro de que sabes qué estas haciendo?\nSe puede hacer el tutorial de nuevo en[accent] Ajustes->Juego->Volver a hacer tutorial.[] +data.invalid = Estos no son datos de juego válidos. +data.import.confirm = Importar datos externos sobrescribirá[scarlet] todo[] tu progreso.\n[accent]¡Esto no se puede deshacer![]\n\nUna vez se importen los datos, el juego se cerrará automáticamente. +quit.confirm = ¿Quieres salir? loading = [accent]Cargando... -reloading = [accent]Recargando mods... +downloading = [accent]Descargando... saving = [accent]Guardando... respawn = [accent][[{0}][] para reaparecer en el núcleo -cancelbuilding = [accent][[{0}][] para limpiar el plan -selectschematic = [accent][[{0}][] para seleccionar+copiar +cancelbuilding = [accent][[{0}][] para cancelar la construcción +selectschematic = [accent][[{0}][] para seleccionar + copiar pausebuilding = [accent][[{0}][] para pausar la construcción resumebuilding = [scarlet][[{0}][] para reanudar la construcción -showui = Interfaz oculta.\nPulsa [accent][[{0}][] para volver a mostrar la Interfaz. +enablebuilding = [scarlet][[{0}][] para activar la construcción +showui = Interfaz oculta.\nPulsa [accent][[{0}][] para volver a mostrarla. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Oleada {0} wave.cap = [accent]Oleada {0}/{1} -wave.waiting = Oleada en {0} +wave.waiting = [lightgray]Próxima en {0} wave.waveInProgress = [lightgray]Oleada en progreso -waiting = Esperando... +waiting = [lightgray]Esperando... waiting.players = Esperando jugadores... -wave.enemies = [lightgray]{0} Enemigos Restantes -wave.enemycores = [accent]{0}[lightgray] Núcleos enemigos -wave.enemycore = [accent]{0}[lightgray] Núcleo enemigo +wave.enemies = [lightgray]{0} Enemigos restantes +wave.enemycores = [accent]{0}[lightgray] núcleos enemigos +wave.enemycore = [accent]{0}[lightgray] núcleo enemigo wave.enemy = [lightgray]{0} Enemigo Restante wave.guardianwarn = El Guardián llegará en [accent]{0}[] oleadas. -wave.guardianwarn.one = El Guardián se aproxima... [accent]{0}[] oleada restante. -loadimage = Cargar Imagen -saveimage = Guardar Imagen +wave.guardianwarn.one = El Guardián llegará en [accent]{0}[] oleada. +loadimage = Cargar imagen +saveimage = Guardar imagen unknown = Desconocido custom = Personalizado builtin = Incorporado -map.delete.confirm = ¿Quieres borrar este mapa? ¡Recuerda que esta acción no se puede deshacer! -map.random = [accent]Mapa Aleatorio -map.nospawn = ¡Este mapa no tiene ningún núcleo en que pueda aparecer el jugador! Agrega un núcleo[accent] naranja[] al mapa con el editor. -map.nospawn.pvp = ¡Este mapa no tiene ningún núcleo enemigo para que aparezcan otros jugadores! Añade un núcleo[scarlet] "de otro color"[] a este mapa en el editor. -map.nospawn.attack = ¡Este mapa no tiene núcleos a los que los jugadores deban atacar! Añade núcleos[scarlet] rojos[] a este mapa en el editor. -map.invalid = Error cargando el mapa: archivo corrupto o inválido. +map.delete.confirm = ¿Quieres borrar este mapa? ¡Esta acción no se puede deshacer! +map.random = [accent]Mapa aleatorio +map.nospawn = ¡Este mapa no tiene ningún núcleo para que aparezca el jugador! Agrega un núcleo {0} al mapa desde el editor. +map.nospawn.pvp = ¡Este mapa no tiene ningún núcleo enemigo donde puedan aparecer otros jugadores! Añade un núcleo [scarlet]de otro color[] a este mapa en el editor. +map.nospawn.attack = ¡Este mapa no tiene ningún núcleo enemigo al que los jugadores deban atacar! Añade núcleos {0} a este mapa desde el editor. +map.invalid = Error cargando el mapa: Archivo de mapa corrupto o no válido. workshop.update = Actualizar artículo workshop.error = Error al obtener detalles del Steam Workshop: {0} -map.publish.confirm = ¿Deseas publicar este mapa?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA del Steam Workshop, o tus mapas no aparecerán! +map.publish.confirm = ¿Deseas publicar este mapa?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA de Steam Workshop, o tus mapas no aparecerán! workshop.menu = Selecciona lo que quieres hacer con este artículo. workshop.info = Información del artículo -changelog = Lista de cambios (optional): +changelog = Cambios de actualización (opcional): +updatedesc = Sobrescribir título y descripción eula = EULA de Steam -missing = Este artículo ha sido movido o eliminado.\n[lightgray]La lista del Workshop se ha desvinculado automáticamente. +missing = Este artículo ha sido movido o eliminado.\n[lightgray]La lista de Workshop se ha desvinculado automáticamente. publishing = [accent]Publicando... -publish.confirm = ¿Estás seguro de que quieres publicar esto?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA del Steam Workshop, o tus artículos no aparecerán! +publish.confirm = ¿Quieres publicar esto?\n\n[lightgray]¡Asegúrate de aceptar primero el EULA de Steam Workshop, o tus artículos no aparecerán! publish.error = Error publicando el artículo: {0} steam.error = Error al inicializar los servicios de Steam.\nError: {0} +editor.planet = Planeta: +editor.sector = Sector: +editor.seed = Semilla de generación: +editor.cliffs = Convertir paredes en colinas editor.brush = Pincel -editor.openin = Abrir en el Editor -editor.oregen = Generación de Minerales -editor.oregen.info = Generación de Minerales: -editor.mapinfo = Info del Mapa +editor.openin = Abrir en el editor +editor.oregen = Generación de minerales +editor.oregen.info = Generación de minerales: +editor.mapinfo = Información del mapa editor.author = Autor: editor.description = Descripción: editor.nodescription = Un mapa debe tener una descripción de al menos 4 caracteres antes de ser publicado. editor.waves = Oleadas: editor.rules = Normas: editor.generation = Generación: -editor.ingame = Editar dentro del juego -editor.publish.workshop = Publicar en el Steam Workshop -editor.newmap = Nuevo Mapa +editor.objectives = Objetivos +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. +editor.ingame = Editar desde la nave +editor.playtest = Probar mapa +editor.publish.workshop = Publicar en Steam Workshop +editor.newmap = Nuevo mapa editor.center = Centrar +editor.search = Buscar mapas... +editor.filters = Filtrar mapas +editor.filters.mode = Modos de juego: +editor.filters.type = Tipo de mapa: +editor.filters.search = Buscar en: +editor.filters.author = Autor +editor.filters.description = Descripción +editor.shiftx = Trasladar X +editor.shifty = Trasladar Y workshop = Steam Workshop waves.title = Oleadas waves.remove = Borrar -waves.never = waves.every = cada waves.waves = oleada(s) -waves.perspawn = por lugar de aparición -waves.shields = escudo/oleadas +waves.health = vida: {0}% +waves.perspawn = por zona de aparición +waves.shields = escudos/oleada waves.to = hasta +waves.spawn = generar: +waves.spawn.all = +waves.spawn.select = Seleccionar zona de aparición +waves.spawn.none = [scarlet]No se encontraron zonas de aterrizaje en el mapa +waves.max = máximo de unidades waves.guardian = Guardián waves.preview = Vista previa waves.edit = Editar... -waves.copy = Copiar al Portapapeles -waves.load = Cargar del Portapapeles -waves.invalid = Oleadas inválidaas en el portapapeles. +waves.random = Random +waves.copy = Copiar al portapapeles +waves.load = Cargar del portapapeles +waves.invalid = Los ajustes de oleadas copiados en el portapapeles no son válidos. waves.copied = Oleadas copiadas. -waves.none = No hay enemigos definidos.\nNótese que las listas de oleadas vacías se sustituirán por la lista por defecto. +waves.none = No se han definido enemigos.\nLas listas de oleadas vacías se sustituirán automáticamente por el esquema por defecto. +waves.sort = Ordenar por +waves.sort.reverse = Invertir orden +waves.sort.begin = Inicio +waves.sort.health = Vida +waves.sort.type = Tipo +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Ocultar todo +waves.units.show = Mostrar todo -#Estos están en minúscula intencionadamente. +#estos están en minúscula intencionalmente wavemode.counts = limitadas wavemode.totals = totales wavemode.health = por salud +all = All editor.default = [lightgray] details = Detalles... edit = Editar... +variables = Variables +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nombre: -editor.spawn = Aparecer unidad -editor.removeunit = Borrar Unidad +editor.spawn = Generar unidad +editor.removeunit = Eliminar unidad editor.teams = Equipos -editor.errorload = Error cargando el archivo:\n[accent]{0} -editor.errorsave = Error guardando el archivo:\n[accent]{0} -editor.errorimage = Eso es una imagen, no un mapa. No cambies las extensiones del archivo esperando que funcione.\nSi quieres importar un mapa viejo, usa el botón de 'import legacy map' (importar mapa heredado) en el editor. -editor.errorlegacy = Este mapa es demasiado viejo y usa un formato de mapa que ya no esta soportado. +editor.errorload = Error cargando el archivo. +editor.errorsave = Error guardando el archivo. +editor.errorimage = Eso es una imagen, no un mapa. +editor.errorlegacy = Este mapa es demasiado antiguo y usa un formato obsoleto. editor.errornot = Esto no es un fichero de mapa. -editor.errorheader = Este mapa es inválido o está corrupto. -editor.errorname = El mapa no tiene un nombre definido. +editor.errorheader = Este mapa no es válido o está corrupto. +editor.errorname = El mapa no tiene un nombre definido. ¿Estás intentando cargar un fichero de guardado? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Actualizar -editor.randomize = Aleatorio +editor.randomize = Aleatorizar +editor.moveup = Subir +editor.movedown = Bajar +editor.copy = Copiar editor.apply = Aplicar -editor.generate = Generar -editor.resize = Cambiar Tamaño -editor.loadmap = Cargar Mapa -editor.savemap = Guardar Mapa +editor.generate = Generación +editor.sectorgenerate = Generación de sector +editor.resize = Redimensionar +editor.loadmap = Cargar mapa +editor.savemap = Guardar mapa +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = ¡Guardado! -editor.save.noname = ¡Tu mapa no tiene un nombre! Pon uno en el menú 'Info del Mapa'. +editor.save.noname = ¡Tu mapa no tiene un nombre! Ponle uno en el menú "Info del Mapa". editor.save.overwrite = ¡Tu mapa sobrescribe uno ya incorporado! Elige un nombre diferente en el menú 'Info del Mapa'. -editor.import.exists = [scarlet]¡No se ha podido importar:[] ya existe un mapa incorporado con el nombre '{0}'! +editor.import.exists = [scarlet]No se ha podido importar:[] ¡Ya existe un mapa por defecto con el nombre '{0}'! editor.import = Importar... -editor.importmap = Importar Mapa +editor.importmap = Importar mapa editor.importmap.description = Importar un mapa ya existente -editor.importfile = Importar Archivo -editor.importfile.description = Importar un archivo externo del mapa -editor.importimage = Importar Imagen del Terreno -editor.importimage.description = Importar archivo externo de imagen del mapa +editor.importfile = Importar archivo +editor.importfile.description = Importar un archivo de mapa externo +editor.importimage = Importar archivo de imagen de mapa +editor.importimage.description = Importar un archivo de imagen de mapa externo editor.export = Exportar... -editor.exportfile = Exportar Archivo -editor.exportfile.description = Exportar archivo del mapa -editor.exportimage = Exportar Imagen del Terreno -editor.exportimage.description = Exportar archivo de imagen del mapa -editor.loadimage = Importar Terreno -editor.saveimage = Exportar Terreno -editor.unsaved = [scarlet]¡Tienes cambios sin guardar![]\n¿Estás seguro de querer salir? -editor.resizemap = Cambiar Tamaño del Mapa -editor.mapname = Nombre del Mapa: +editor.exportfile = Exportar archivo +editor.exportfile.description = Exportar archivo de mapa +editor.exportimage = Exportar imagen del terreno +editor.exportimage.description = Exportar un archivo de imagen del mapa que sólo contiene el terreno básico +editor.loadimage = Importar terreno +editor.saveimage = Exportar terreno +editor.unsaved = ¿Quieres salir del editor?\n[scarlet]Se perderá cualquier cambio no guardado. +editor.resizemap = Cambiar tamaño del mapa +editor.mapname = Nombre del mapa: editor.overwrite = [accent]¡Advertencia!\nEsto sobrescribe un mapa ya existente. -editor.overwrite.confirm = [scarlet]¡Advertencia![] Un mapa con ese nombre ya existe. ¿Estás seguro de querer sobrescribirlo? -editor.exists = Un mapa con estre nombre ya existe. +editor.overwrite.confirm = [scarlet]¡Advertencia![] Ya existe un mapa con este nombre. ¿Quieres sobrescribirlo?\n"[accent]{0}[]" +editor.exists = Ya existe un mapa con este nombre. editor.selectmap = Selecciona un mapa para cargar: -toolmode.replace = Sustituir -toolmode.replace.description = Solo dibuja en bloques sólidos. -toolmode.replaceall = Sustituir Todo +toolmode.replace = Reemplazar +toolmode.replace.description = Dibuja en bloques sólidos. +toolmode.replaceall = Reemplazar todo toolmode.replaceall.description = Sustituye todos los bloques del mapa. -toolmode.orthogonal = Perpendicular -toolmode.orthogonal.description = Solo dibuja líneas ortogonales. +toolmode.orthogonal = Ortogonal +toolmode.orthogonal.description = Dibuja líneas ortogonales. toolmode.square = Cuadrado -toolmode.square.description = Pincel cuadrado. -toolmode.eraseores = Borrar Vetas -toolmode.eraseores.description = Solo borra vetas. -toolmode.fillteams = Rellenar Equipos +toolmode.square.description = Puntero cuadrado. +toolmode.eraseores = Borrar minerales +toolmode.eraseores.description = Solo borra minerales. +toolmode.fillteams = Rellenar equipos toolmode.fillteams.description = Rellena equipos en lugar de bloques. -toolmode.drawteams = Dibujar Equipos +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. +toolmode.drawteams = Dibujar equipos toolmode.drawteams.description = Dibuja equipos en lugar de bloques. +#no usados +toolmode.underliquid = Bajo líquidos +toolmode.underliquid.description = Dibuja suelos bajo bloques con líquidos. filters.empty = [lightgray]¡No hay filtros! Añade uno con el botón de abajo. -filter.distort = Distorsionar + +filter.distort = Distorsión filter.noise = Ruido filter.enemyspawn = Punto de aparición enemigo -filter.spawnpath = Ruta hasta el punto de aterrizaje -filter.corespawn = Elegir Núcleo -filter.median = Calcular probabilidades de generación -filter.oremedian = Probabilidad de vetas -filter.blend = Mezclar -filter.defaultores = Vetas por defecto -filter.ore = Vetas de Minerales -filter.rivernoise = Añadir Río +filter.spawnpath = Ruta hasta el punto de aparición +filter.corespawn = Elegir núcleo +filter.median = Mediana +filter.oremedian = Mediana de minerales +filter.blend = Combinar +filter.defaultores = Minerales por defecto +filter.ore = Vetas de minerales +filter.rivernoise = Generación de ríos filter.mirror = Espejo filter.clear = Despejar filter.option.ignore = Ignorar -filter.scatter = Dispersar +filter.scatter = Dispersión filter.terrain = Terreno +filter.logic = Logic + filter.option.scale = Escala filter.option.chance = Probabilidad filter.option.mag = Magnitud filter.option.threshold = Umbral filter.option.circle-scale = Escala del círculo filter.option.octaves = Continuidad -filter.option.falloff = Aterrizaje +filter.option.falloff = Caída filter.option.angle = Ãngulo +filter.option.tilt = Inclinación +filter.option.rotate = Rotación filter.option.amount = Cantidad filter.option.block = Bloque filter.option.floor = Suelo filter.option.flooronto = Suelo objetivo -filter.option.target = Target +filter.option.target = Objetivo +filter.option.replacement = Reemplazo filter.option.wall = Muro -filter.option.ore = Veta +filter.option.ore = Mineral filter.option.floor2 = Terreno secundario filter.option.threshold2 = Umbral secundario filter.option.radius = Radio -filter.option.percentile = Porcentaje +filter.option.percentile = Percentil +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Ancho: height = Alto: menu = Menú play = Jugar -campaign = Continuar Campaña +campaign = Campaña load = Cargar save = Guardar fps = FPS: {0} -ping = Ping: {0} ms +ping = Ping: {0}ms +tps = TPS: {0} memory = Mem: {0}mb memory2 = Mem:\n {0}mb +\n {1}mb -language.restart = Reinicia el juego para que los cambios en el idioma tengan efecto. +language.restart = Reinicia el juego para que los cambios de idioma tengan efecto. settings = Ajustes tutorial = Tutorial tutorial.retake = Volver a jugar el tutorial editor = Editor -mapeditor = Editor de Mapas +mapeditor = Editor de mapas abandon = Abandonar abandon.text = Esta zona y sus recursos se perderán ante el enemigo. locked = Bloqueado -complete = [lightgray]Completado: -requirement.wave = Alcanzar la oleada {0} en {1} +complete = [lightgray]Requiere: +requirement.wave = Superar la oleada {0} en {1} requirement.core = Destruir el núcleo enemigo en {0} requirement.research = Investigar {0} +requirement.produce = Producir {0} requirement.capture = Capturar {0} -bestwave = [lightgray]Récord: {0} +requirement.onplanet = Dominar sector de {0} +requirement.onsector = Aterrizar en el sector: {0} launch.text = Lanzar -research.multiplayer = Solo el anfitrión de la partida puede \nrealizar investigaciones tecnologías. -map.multiplayer = Solo el anfitrión de la partida puede ver los sectores del mapa. +map.multiplayer = Solo el anfitrión de la partida puede ver los sectores del planeta. uncover = Descubrir configure = Configurar carga inicial -loadout = Carga Inicial +objective.research.name = Investigar +objective.produce.name = Obtener +objective.item.name = Conseguir objetos +objective.coreitem.name = Almacenar en el núcleo +objective.buildcount.name = Construir estructuras +objective.unitcount.name = Unidades activas +objective.destroyunits.name = Destruir unidades +objective.timer.name = Tiempo límite +objective.destroyblock.name = Destruir bloque +objective.destroyblocks.name = Destruir bloques +objective.destroycore.name = Destruir núcleo +objective.commandmode.name = Modo comando +objective.flag.name = Bandera + +marker.shapetext.name = Forma del texto +marker.point.name = Point +marker.shape.name = Forma +marker.text.name = Texto +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture + +marker.background = Fondo +marker.outline = Bordes + +objective.research = [accent]Investiga:\n[]{0}[lightgray]{1} +objective.produce = [accent]Consigue:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destruye:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destruye: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Recolecta: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Almacena en el núcleo:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Construye: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Ensambla unidades: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destruye: [][lightgray]{0}[]x Unidades +objective.enemiesapproaching = [accent]Se aproximan enemigos a [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destruye el núcleo enemigo +objective.command = [accent]Dirige unidades +objective.nuclearlaunch = [accent]âš  Lanzamiento nuclear detectado: [lightgray]{0} + +announce.nuclearstrike = [red]âš  IMPACTO NUCLEAR INMINENTE âš  + +loadout = Carga inicial resources = Recursos +resources.max = Max bannedblocks = Bloques prohibidos +unbannedblocks = Unbanned Blocks +objectives = Objetivos +bannedunits = Unidades prohibidas +unbannedunits = Unbanned Units +bannedunits.whitelist = Sólo permitir unidades seleccionadas +bannedblocks.whitelist = Sólo permitir bloques seleccionados addall = Añadir todo launch.from = Lanzando desde: [accent]{0} +launch.capacity = Capacidad de objetos por envío: [accent]{0} launch.destination = Destino: {0} -configure.invalid = La cantidad debe estar entre 0 y {0}. +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = La cantidad debe ser un número entre 0 y {0}. add = Añadir... -boss.health = Guardián +guardian = Guardián -connectfail = [crimson]Ha fallado la conexión con el servidor: [accent]{0} -error.unreachable = Servidor inaccesible. -error.invalidaddress = Dirección inválida. -error.timedout = ¡Se acabó el tiempo!\n¡Asegúrate que el host ha hecho el port forwarding, y que la dirección es correcta! -error.mismatch = Error de paquete:\nposible versión no válida del servidor/cliente.\nAsegúrate de que tú y el host tenéis la última versión de Mindustry. +connectfail = [scarlet]Error de conexión:\n\n[accent]{0} +error.unreachable = Servidor inaccesible.\n¿Está la dirección IP escrita correctamente? +error.invalidaddress = Dirección no válida. +error.timedout = ¡Tiempo de espera agotado!\n¡Asegúrate de que el host ha configurado la asignación de puertos y que la dirección es correcta! +error.mismatch = Error de paquete:\nPosible conflicto entre las versiones servidor/cliente.\n¡Asegúrate de que el anfitrión y tú tenéis la última versión de Mindustry! error.alreadyconnected = Ya estás conectado. error.mapnotfound = ¡Archivo de mapa no encontrado! error.io = Error I/O de conexión. error.any = Error de red desconocido. error.bloom = Error al cargar el efecto de bloom.\nPuede que tu dispositivo no sea compatible con esta característica. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Lluvia -weather.snow.name = Nieve +weather.snowing.name = Nieve weather.sandstorm.name = Tormenta de arena weather.sporestorm.name = Tormenta de esporas weather.fog.name = Niebla +campaign.playtime = \uf129 [lightgray]Tiempo en el sector: {0} +campaign.complete = [accent]Enhorabuena.\n\nEl enemigo en {0} ha sido derrotado.\n[lightgray]El sector final ha sido conquistado. -sectors.unexplored = [lightgray]No explorado +sectorlist = Sectores +sectorlist.attacked = {0} Bajo ataque +sectors.unexplored = [lightgray]Inexplorado sectors.resources = Recursos: sectors.production = Producción: -sectors.export = Exportado: +sectors.export = Exportaciones: +sectors.import = Importaciones: sectors.time = Tiempo: sectors.threat = Amenaza: sectors.wave = Oleada: sectors.stored = Almacenado: sectors.resume = Reanudar sectors.launch = Lanzar -sectors.select = Elegir -sectors.nonelaunch = [lightgray]Ninguno (Sol) +sectors.select = Seleccionar +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]Ninguno (sol) +sectors.redirect = Redirect Launch Pads sectors.rename = Renombrar sector sectors.enemybase = [scarlet]Base enemiga sectors.vulnerable = [scarlet]Vulnerable sectors.underattack = [scarlet]¡Bajo ataque! [accent]{0}% dañado -sectors.survives = [accent]Sobrevive {0} oleadas +sectors.underattack.nodamage = [scarlet]No capturado +sectors.survives = [accent]Aguantará {0} oleadas más sectors.go = Ir -sector.curcapture = Sector Capturado -sector.curlost = Sector Perdido -sector.missingresources = [scarlet]Recursos Insuficientes -sector.attacked = Sector [accent]{0}[white] bajo ataque[]! -sector.lost = ¡Sector [accent]{0}[white] perdido[]! -#nota: el espacio en blanco en la línea siguiente es intencionado -sector.captured = ¡Sector [accent]{0}[white] capturado[]! +sector.abandon = Abandonar +sector.abandon.confirm = Los núcleos de este sector se auto-destruirán.\n¿Continuar? +sector.curcapture = Sector capturado +sector.curlost = Sector perdido +sector.missingresources = [scarlet]Recursos insuficientes en el núcleo +sector.attacked = ¡Sector [accent]{0}[white] bajo ataque! +sector.lost = ¡Sector [accent]{0}[white] perdido! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Cambiar icono +sector.noswitch.title = No se pueden cambiar los sectores +sector.noswitch = Tal vez no puedas cambiar de sector mientras se encuentre bajo ataque.\n\nSector: [accent]{0}[] en [accent]{1}[] +sector.view = Ver sector threat.low = Baja threat.medium = Media threat.high = Alta threat.extreme = Extrema -threat.eradication = Exterminio +threat.eradication = Erradicación +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = Planetas planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sol sector.impact0078.name = Impacto 0078 -sector.groundZero.name = Zona de impacto +sector.groundZero.name = Zona de Impacto sector.craters.name = Los Cráteres sector.frozenForest.name = Bosque Congelado sector.ruinousShores.name = Costas Ruinosas -sector.stainedMountains.name = Montañas manchadas -sector.desolateRift.name = Grieta desolada -sector.nuclearComplex.name = Complejo de producción nuclear -sector.overgrowth.name = Crecimiento excesivo -sector.tarFields.name = Campos de alquitrán -sector.saltFlats.name = Llanuras de sal -sector.fungalPass.name = Paso de hongos +sector.stainedMountains.name = Montañas Manchadas +sector.desolateRift.name = Grieta Desolada +sector.nuclearComplex.name = Complejo de Producción Nuclear +sector.overgrowth.name = Claro Infestado +sector.tarFields.name = Campos de Alquitrán +sector.saltFlats.name = Salinas +sector.fungalPass.name = Desfiladero Contaminado sector.biomassFacility.name = Centro de Sintetización de Biomasa sector.windsweptIslands.name = Islas Windswept -sector.extractionOutpost.name = Puesto de avanzada de Extracción +sector.extractionOutpost.name = Puesto avanzado de Extracción +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Terminal de Lanzamiento Interplanetario +sector.coastline.name = Ruta Costera +sector.navalFortress.name = Fortaleza Naval +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = La ubicación adecuada para empezar una vez más. Baja amenaza enemiga. Pocos recursos.\nReúna la mayor cantidad de plomo y cobre posible y sigue adelante. -sector.frozenForest.description = Incluso aquí, más cerca de las montañas, las esporas se han extendido. Las gélidas temperaturas no las contendrán para siempre.\n\nAprende a usar la energía. Construye generadores de combustión. Aprende a usar reparadores. -sector.saltFlats.description = En las afueras del desierto se encuentran las Salinas. No hay muchos recursos en esta ubicación.\n\nEl enemigo ha creado un complejo de almacenamiento de recursos aquí. Erradica su núcleo. No dejes nada en pie. -sector.craters.description = El agua se ha acumulado en este cráter, reliquia de las viejas guerras. Recupera la zona. Recoge arena. Funde Metacristal. Bombea agua para enfriar torretas y taladros. -sector.ruinousShores.description = Más allá de los páramos, se encuentra la costa. Una vez, esta ubicación albergó una serie de defensa costera. No queda mucho. Solo las estructuras de defensa más básicas han quedado ilesas, todo lo demás está reducido a chatarra.\nContinúa la expansión. Redescubre la tecnología. -sector.stainedMountains.description = Más adentro se encuentran las montañas, aún intactas por las esporas.\nExtrae el abundante titanio de esta zona. Aprende a usarlo.\n\nLa presencia enemiga es mayor aquí. No les des tiempo para enviar sus unidades más fuertes. -sector.overgrowth.description = El área está cubierta de maleza, más cerca de la fuente de las esporas.\nEl enemigo ha establecido un puesto de avanzada aquí. Construye unidades Titán. Destruyelo. Recupera lo que se perdió. -sector.tarFields.description = Las afueras de una zona de producción de petróleo, entre la montaña y el desierto. Una de las pocas áreas con reservas de alquitrán utilizables.\nAunque está abandonada, esta zona tiene algunas fuerzas enemigas peligrosas cerca. No los subestimes.\n\n[lightgray]Investiga la tecnología de procesamiento de petróleo si es posible. -sector.desolateRift.description = Una zona extremadamente peligrosa. Recursos abundantes, pero poco espacio. Alto riesgo de destrucción. Abandona el lugar lo antes posible. No te dejes engañar por el intervalo entre los ataques enemigos. -sector.nuclearComplex.description = Antigua instalación de producción y procesamiento de torio, reducida a ruinas.\n[lightgray] Investiga el torio y sus múltiples usos.\n\nEl enemigo está presente aquí,superando en número a sus atacantes. -sector.fungalPass.description = Un área de transición entre montañas y las tierras bajas, plagadas de esporas. Aquí se encuentra una pequeña base de reconocimiento enemiga.\nDestrúyela.\nUsa unidades Dagger y Crawler. Acaba con los dos núcleos. -sector.biomassFacility.description = El origen de las esporas. Este es el centro en el que se investigaron, y donde fueron incialmente producidas.\nDescubre la tecnología restante que contiene. Cultiva esporas para producir combustible y plásticos.\n\n[lightgray]Nada en el ecosistema local pudo combatir semejante organismo tan invasivo, originado en este lugar. -sector.windsweptIslands.description = Tras la costa, se encuentra esta remota cadena de islas. Las grabaciones muestran que aquí existieron estructuras relacionadas con la producción de [accent]Plastanio[].\n\nDefiéndete de las unidades navales enemigas. Establece una base en las islas. Investiga estas fábricas. -sector.extractionOutpost.description = Una base remota, construida por el enemigo con el objetivo de lanzar recursos a otros sectores.\n\nLa tecnología de transporte de recursos entre sectores es esencial para conquistar a gran escala. Destruye la base. Investiga sus Plataformas de Lanzamiento. -sector.impact0078.description = Aquí yacen las ruinas de la primera estación de transporte interestelar en estar operativa del sistema.\n\nRecupera todo lo posible de los escombros. Investiga cualquier tecnología intacta. -sector.planetaryTerminal.description = El objetivo final.\n\nÉsta base costera alberga una estructura capaz de lanzar Núcleos a planeteas locales. Está extremadamente bien protegida.\n\nProduce unidades navales. Acaba con el enemigo lo antes posible. Analiza la estructura de lanzamiento. +sector.groundZero.description = La ubicación adecuada para empezar una vez más. Baja amenaza enemiga. Pocos recursos.\nReúne la mayor cantidad de plomo y cobre posible y sigue adelante. +sector.frozenForest.description = Incluso aquí, cerca de las montañas, se han extendido las esporas. Las gélidas temperaturas no las contendrán para siempre.\nDescubre la energía eléctrica. Construye generadores de combustión. Aprende a usar reparadores. +sector.saltFlats.description = En los límites del desierto se encuentran las Salinas. No hay muchos recursos en esta ubicación.\n\nEl enemigo ha creado un complejo de almacenamiento de recursos aquí. Erradica su núcleo. No dejes nada en pie. +sector.craters.description = El agua se ha acumulado en este cráter, reliquia de las antiguas guerras. Recupera la zona. Procesa la arena. Funde metacristal. Bombea agua para enfriar torretas y taladros. +sector.ruinousShores.description = Más allá de los páramos, se encuentra la costa. Antaño, esta ubicación albergó todo un sistema de defensa costera. Ya no queda mucho de aquello. Solo las estructuras de defensa más básicas han quedado ilesas, todo lo demás está reducido a chatarra.\nContinúa la expansión. Redescubre la tecnología. +sector.stainedMountains.description = Más allá se encuentran las montañas, aún intactas por las esporas.\nExtrae el titanio que abunda en esta zona. Aprende a usarlo.\n\nLa presencia enemiga es mayor aquí. No les des tiempo para enviar sus unidades más fuertes. +sector.overgrowth.description = El área está cubierta de maleza, próxima a la fuente de las esporas.\nEl enemigo ha establecido un puesto de avanzada aquí. Construye unidades Mace. Destrúyelo. +sector.tarFields.description = Las afueras de una zona de producción de petróleo, entre las montañas y el desierto. Una de las pocas áreas con reservas de alquitrán utilizables.\nAunque está abandonada, esta zona tiene algunos escuadrones enemigos peligrosos cerca. No los subestimes.\n\n[lightgray]Investiga la tecnología de procesamiento de petróleo si es posible. +sector.desolateRift.description = Una zona extremadamente peligrosa. Recursos abundantes, y poco espacio. Alto riesgo de destrucción. Abandona el lugar lo antes posible. No te dejes engañar por el intervalo entre los ataques enemigos. +sector.nuclearComplex.description = Antigua instalación de producción y procesamiento de torio, reducida a ruinas.\n[lightgray] Investiga el torio y sus múltiples usos.\n\nGrandes cantidades de unidades enemigas patrullan la zona constantemente. +sector.fungalPass.description = Un área de transición entre las altas montañas y las tierras plagadas de esporas. Aquí se encuentra una pequeña base de reconocimiento enemiga.\nDestrúyela.\nUsa unidades Dagger y Crawler. Acaba con los dos núcleos. +sector.biomassFacility.description = El origen de las esporas. Este es el centro en el que se investigaron, y donde fueron incialmente producidas.\nDescubre la tecnología restante que contiene. Cultiva esporas para producir combustibles y plásticos.\n\n[lightgray]Tras la caída de este complejo, las esporas fueron liberadas. Nada en este ecosistema local pudo combatir semejante organismo tan invasivo. +sector.windsweptIslands.description = Más allá de la costa, se encuentra esta remota cadena de islas. Las grabaciones muestran que aquí existieron estructuras relacionadas con la producción de [accent]Plastanio[].\n\nDefiéndete de las unidades navales enemigas. Establece una base en las islas. Investiga estas fábricas. +sector.extractionOutpost.description = Una base remota, construida por el enemigo con el propósito de lanzar recursos a otros sectores.\n\nLa tecnología de transporte de recursos entre sectores es esencial para la conquista a gran escala. Destruye la base. Investiga sus plataformas de lanzamiento. +sector.impact0078.description = Aquí yacen las ruinas de la primera nave de transporte interestelar que entró en este sistema.\n\nRecupera todo lo posible entre los escombros. Investiga cualquier tecnología intacta. +sector.planetaryTerminal.description = El objetivo final.\n\nEsta base costera alberga una estructura capaz de lanzar núcleos a planeteas locales. Está extremadamente bien protegida.\n\nProduce unidades navales. Acaba con el enemigo lo antes posible. Analiza la estructura de lanzamiento. +sector.coastline.description = Se han detectado restos de tecnología de unidades navales en esta ubicación. Repele los ataques enemigos, captura este sector, y consigue esa tecnología. +sector.navalFortress.description = El enemigo ha establecido una base en una remota isla naturalmente fortificada. Destruye este puesto de avanzada. Hazte con su tecnología naval avanzada, e investígala. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = El Inicio +sector.aegis.name = Égida +sector.lake.name = Lago +sector.intersect.name = Intersección +sector.atlas.name = Atlas +sector.split.name = División +sector.basin.name = Declive + +sector.marsh.name = Ciénaga +sector.peaks.name = Cumbres +sector.ravine.name = Precipicio +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Baluarte +sector.crevice.name = Resquicio +sector.siege.name = Cerco +sector.crossroads.name = Encrucijada +sector.karst.name = Kárstico +sector.origin.name = Origen +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = Este sector contiene depósitos de tungsteno.\nInvestiga el [accent]taladro de impacto[] para extraer este recurso, y destruye la base enemiga de este área. +sector.lake.description = El lago de magma de este sector limitará en gran medida la eficacia de varias unidades. Las unidades aéreas son la única opción viable.\nInvestiga el [accent]fabricador de naves[] y ensambla una unidad [accent]Elude[] tan pronto como sea posible. +sector.intersect.description = Los escáneres indican que este sector será atacado desde múltiples direcciones poco después de aterrizar.\nPrepara defensas rápidamente y expándete lo antes posible.\nSe requiere utilizar unidades [accent]Mech[] para operar en este terreno irregular. +sector.atlas.description = Este sector contiene terreno variado, por lo que necesitarás unidades variadas para atacar de forma efectiva.\nTambién podrías necesitar unidades mejoradas para lidiar con algunas de las bases enemigas más duras detectadas en esta zona.\nInvestiga el [accent]Electrolizador[] y el [accent]Refabricador de Tanques[]. +sector.split.description = La baja actividad enemiga de este sector lo hace ideal para experimentar con nuevas tecnologías de transporte. +sector.basin.description = Se ha detectado una numerosa presencia enemiga en este sector. \nEnsambla unidades rápidamente y captura los núcleos enemigos para tomar terreno. +sector.marsh.description = Este sector contiene abundantes cantidades de arquicita, pero las grietas disponibles son limitadas. \nConstruye [accent]cámaras de combustión química[] para generar energía. +sector.peaks.description = La mayoría de unidades son inútiles ante el terreno montañoso de este sector. Se requiere el uso de unidades aéreas.\nCuidado con las instalaciones anti-aéreas enemigas. Tal vez sea posible inhabilitar algunas de estas defensas atacando a sus estructuras de apoyo. +sector.ravine.description = No se han detectado núcleos enemigos en este sector, a pesar de ser una de sus principales ruta de transporte. Prepárate para confrontar una gran variedad de fuerzas hostiles.\nProduce [accent]aleación eléctrica[]. Construye torretas "[accent]Afflict[]". +sector.caldera-erekir.description = Los recursos detectados en este sector están esparcidos en varias islas. \nInvestiga y despliega un sistema de drones de transporte. +sector.stronghold.description = El extenso campamento enemigo en este sector protege grandes depósitos de [accent]torio[].\nÚsalo para desarrollar unidades y torretas de mayor categoría. +sector.crevice.description = El enemigo enviará poderosos grupos de ataque para destruir tu base en este sector. \nDesarrollar el [accent]carburo[] y el [accent]generador pirolítico[] podría ser necesario para sobrevivir. +sector.siege.description = Este sector tiene dos cañones paralelos que forzarán un ataque a dos vías simultáneamente. \nInvestiga el [accent]cianógeno[] para crear tanques aún más fuertes.\nCuidado: El enemigo posee misiles de largo alcance. Los misiles pueden ser interceptados antes de impactar. +sector.crossroads.description = Las bases enemigas en este sector se han establecido en terrenos variados. Investiga diferentes unidades para adaptarte al entorno. \nAdemás, algunas bases están protegidas con escudos. Tendrás que averiguar cómo funcionan para encontrar sus puntos débiles. +sector.karst.description = Este sector es rico en recursos, pero será atacado por el enemigo en cuanto aterrice un nuevo núcleo. \nToma ventaja de los recursos e investiga el [accent]tejido de fase[]. +sector.origin.description = El sector final, con una presencia enemiga significante.\nYa no queda nada que investigar - concéntrate únicamente en destruir todos los núcleos enemigos. + +status.burning.name = En llamas +status.freezing.name = Congelado +status.wet.name = Mojado +status.muddy.name = Fangoso +status.melting.name = Fundido +status.sapped.name = Debilitado +status.electrified.name = Aturdido +status.spore-slowed.name = Ralentizado +status.tarred.name = Alquitranado +status.overdrive.name = Sobrecargado +status.overclock.name = Acelerado +status.shocked.name = Electrificado +status.blasted.name = Explosión +status.unmoving.name = Inmóvil +status.boss.name = Guardián settings.language = Idioma -settings.data = Datos del Juego +settings.data = Datos del juego settings.reset = Reiniciar a los valores por defecto settings.rebind = Reasignar settings.resetKey = Reiniciar @@ -620,158 +934,238 @@ settings.controls = Controles settings.game = Juego settings.sound = Sonido settings.graphics = Gráficos -settings.cleardata = Eliminando Datos del Juego... +settings.cleardata = Eliminar datos del juego... settings.clear.confirm = ¿Quieres eliminar estos datos?\n¡Esta acción no se puede deshacer! -settings.clearall.confirm = [scarlet]¡ADVERTENCIA![]\nEsto va a eliminar todos tus datos, incluyendo guardados, mapas, desbloqueos y atajos de teclado.\nUna vez presiones 'ok', el juego borrrará todos tus datos y se cerrará automáticamente. +settings.clearall.confirm = [scarlet]¡ADVERTENCIA![]\nEsto eliminará todos tus datos, incluyendo guardados, mapas, desbloqueos y atajos de teclado.\nUna vez presiones 'ok', el juego borrrará todos tus datos y se cerrará automáticamente. settings.clearsaves.confirm = ¿Quieres borrar tus partidas guardadas? -settings.clearsaves = Limpiar partidas guardadas -settings.clearresearch = Borrar Investigaciones Tecnológicas -settings.clearresearch.confirm = ¿Quieres eliminar todo el progreso de las Investigaciones Tecnológicas del modo Campaña? +settings.clearsaves = Borrar partidas guardadas +settings.clearresearch = Borrar investigaciones tecnológicas +settings.clearresearch.confirm = ¿Quieres eliminar todo el progreso de las investigaciones tecnológicas del modo campaña? settings.clearcampaignsaves = Borrar datos de campaña settings.clearcampaignsaves.confirm = ¿Quieres borrar tus partidas guardadas en el modo campaña? paused = [accent] < Pausado > -clear = Vaciar -banned = [scarlet]Baneado +clear = Borrar +banned = [scarlet]Vetado +unsupported.environment = [scarlet]Entorno no válido yes = Sí no = No info.title = Información -error.title = [crimson]Ha ocurrido un error. -error.crashtitle = Ha ocurrido un error. +error.title = [scarlet]Ha ocurrido un error +error.crashtitle = Ha ocurrido un error unit.nobuild = [scarlet]Esta unidad no puede construir -lastaccessed = [lightgray]Último usado: {0} +lastaccessed = [lightgray]Último uso: {0} +lastcommanded = [lightgray]Última orden: {0} block.unknown = [lightgray]??? +stat.showinmap = stat.description = Objetivo stat.input = Entrada stat.output = Salida +stat.maxefficiency = Máxima eficiencia stat.booster = Potenciador stat.tiles = Terreno requerido stat.affinities = Afinidades -stat.powercapacity = Capacidad de Energía +stat.opposites = Opuestos +stat.powercapacity = Capacidad de energía stat.powershot = Energía/Disparo stat.damage = Daño -stat.targetsair = Apunta al Aire -stat.targetsground = Apunta a Tierra +stat.targetsair = Apunta al aire +stat.targetsground = Apunta a tierra stat.itemsmoved = Velocidad de movimiento stat.launchtime = Tiempo entre lanzamientos stat.shootrange = Alcance stat.size = Tamaño -stat.displaysize = Tamaño de Pantalla -stat.liquidcapacity = Capacidad de Líquidos -stat.powerrange = Rango de Energía +stat.displaysize = Tamaño de pantalla +stat.liquidcapacity = Capacidad de líquidos +stat.powerrange = Alcance de energía stat.linkrange = Alcance de conexión stat.instructions = Instrucciones stat.powerconnections = Conexiones máximas -stat.poweruse = Consumo de Energía +stat.poweruse = Consumo de energía stat.powerdamage = Energía/Daño -stat.itemcapacity = Capacidad de Objetos +stat.itemcapacity = Capacidad de objetos stat.memorycapacity = Capacidad de memoria stat.basepowergeneration = Generación de energía stat.productiontime = Tiempo de producción -stat.repairtime = Tiempo para Reparar Bloque Completamente +stat.repairtime = Tiempo de reparación completa de bloques +stat.repairspeed = Velocidad de reparación stat.weapons = Armas stat.bullet = Proyectil -stat.speedincrease = Aumento de Velocidad +stat.moduletier = Categoría de módulo +stat.unittype = Unit Type +stat.speedincrease = Aumento de velocidad stat.range = Alcance stat.drilltier = Taladrables -stat.drillspeed = Velocidad del Taladro -stat.boosteffect = Efecto de Potenciador -stat.maxunits = Máximo de Unidades Activas +stat.drillspeed = Velocidad del taladro +stat.boosteffect = Efecto de potenciador +stat.maxunits = Máximo de unidades activas stat.health = Vida +stat.armor = Armadura stat.buildtime = Tiempo de construcción stat.maxconsecutive = Máximo consecutivo stat.buildcost = Coste de construcción stat.inaccuracy = Imprecisión stat.shots = Disparos -stat.reload = Disparos/segundo +stat.reload = Cadencia de tiro stat.ammo = Munición stat.shieldhealth = Escudo stat.cooldowntime = Enfriamiento stat.explosiveness = Explosividad -stat.basedeflectchance = Probabilidad de desvío +stat.basedeflectchance = Probabilidad base de desvío stat.lightningchance = Probabilidad de descarga -stat.lightningdamage = Daño por rayo +stat.lightningdamage = Daño de descarga eléctrica stat.flammability = Inflamabilidad stat.radioactivity = Radioactividad -stat.heatcapacity = Resistencia temperatura +stat.charge = Carga eléctrica +stat.heatcapacity = Resistencia térmica stat.viscosity = Viscosidad stat.temperature = Temperatura stat.speed = Velocidad stat.buildspeed = Velocidad de construcción stat.minespeed = Velocidad de extracción stat.minetier = Nivel de taladro -stat.payloadcapacity = Capacidad de carga -stat.commandlimit = Límite de comando +stat.payloadcapacity = Capacidad de transporte stat.abilities = Habilidades -stat.canboost = Tiene Propulsores +stat.canboost = Puede volar stat.flying = Aéreo +stat.ammouse = Uso de munición +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Multiplicador de daño +stat.healthmultiplier = Multiplicador de vida +stat.speedmultiplier = Multiplicador de velocidad +stat.reloadmultiplier = Multiplicador de recarga +stat.buildspeedmultiplier = Multiplicador de velocidad de construcción +stat.reactive = Reacciona con +stat.immunities = Inmune a +stat.healing = Curación +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Zona de Escudo -ability.repairfield = Zona de Reparación -ability.statusfield = Zona de Estado -ability.unitspawn = {0} Fábrica de Drones -ability.shieldregenfield = Regeneración de Escudos +ability.forcefield = Ãrea de Escudo +ability.forcefield.description = Projecta un campo de fuerza que absorve balas +ability.repairfield = Ãrea de Reparación +ability.repairfield.description = Repairs nearby units +ability.statusfield = Ãrea de Potenciación +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fábrica +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Ãrea de Regeneración de Armaduras +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movimiento Relámpago +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Sector de Escudo +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Ãrea de Bloqueo de Regeneración +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Campo de Energía +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneración +ability.regen.description = Regenera su propia salud con el tiempo +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.onlycoredeposit = Sólo se permite depositar en el núcleo bar.drilltierreq = Requiere un taladro mejor +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Recursos insuficientes -bar.corereq = Necesitas un núcleo base -bar.drillspeed = Velocidad del Taladro: {0}/s +bar.corereq = Requiere un núcleo base +bar.corefloor = Requiere colocarse en una zona designada para ello +bar.cargounitcap = Se alcanzó el límite de carga de unidades +bar.drillspeed = Velocidad del taladro: {0}/s bar.pumpspeed = Velocidad de bombeado: {0}/s bar.efficiency = Eficiencia: {0}% -bar.powerbalance = Energía: {0} -bar.powerstored = Almacenados: {0}/{1} +bar.boost = Aceleración: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = Energía: {0}/s +bar.powerstored = Almacenado: {0}/{1} bar.poweramount = Energía: {0} -bar.poweroutput = Salida de Energía: {0} +bar.poweroutput = Salida de energía: {0} bar.powerlines = Conexiones: {0}/{1} bar.items = Objetos: {0} bar.capacity = Capacidad: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Líquido bar.heat = Calor +bar.cooldown = Cooldown +bar.instability = Inestabilidad +bar.heatamount = Calor: {0} +bar.heatpercent = Calor: {0} ({1}%) bar.power = Energía -bar.progress = Progreso de construcción +bar.progress = Construyendo... +bar.loadprogress = Progreso +bar.launchcooldown = Recarga de lanzamiento bar.input = Entrada bar.output = Salida +bar.strength = [stat]{0}[lightgray]x potencia -units.processorcontrol = [lightgray]Procesador Controlado +units.processorcontrol = [lightgray]Controlado desde el procesador -bullet.damage = [stat]{0}[lightgray] Daño -bullet.splashdamage = [stat]{0}[lightgray] daño de área ~[stat] {1}[lightgray] casillas -bullet.incendiary = [stat]Incendiaria -bullet.sapping = [stat]Oxidante -bullet.homing = [stat]Rastreadora -bullet.shock = [stat]Electrizante -bullet.frag = [stat]De fragmentación -bullet.knockback = [stat]{0}[lightgray] Empuje -bullet.pierce = [stat]{0}[lightgray]x penetración -bullet.infinitepierce = [stat]Penetrante +bullet.damage = [stat]{0}[lightgray] daño +bullet.splashdamage = [stat]{0}[lightgray] daño en área ~[stat] {1}[lightgray] bloques +bullet.incendiary = [stat]incendiaria +bullet.homing = [stat]rastreadora +bullet.armorpierce = [stat]perforación de armadura +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x proyectiles fragmentados: +bullet.lightning = [stat]{0}[lightgray]x rayos ~ [stat]{1}[lightgray] daño +bullet.buildingdamage = [stat]{0}%[lightgray] daño a estructuras +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] empuje +bullet.pierce = [stat]{0}[lightgray]x perforación +bullet.infinitepierce = [stat]perforante bullet.healpercent = [stat]{0}[lightgray]% reparación -bullet.freezing = [stat]Congelación -bullet.tarred = [stat]Ralentizado +bullet.healamount = [stat]{0}[lightgray] reparación en bruto bullet.multiplier = [stat]{0}[lightgray]x multiplicador de munición bullet.reload = [stat]{0}[lightgray]x cadencia de fuego +bullet.range = [stat]{0}[lightgray] bloques de alcance +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = bloques unit.blockssquared = bloques² unit.powersecond = unidades de energía/segundo +unit.tilessecond = bloques/segundo unit.liquidsecond = unidades de líquido/segundo unit.itemssecond = objetos/segundo unit.liquidunits = unidades de líquido unit.powerunits = unidades de energía +unit.heatunits = unidades de calor unit.degrees = grados unit.seconds = segundos unit.minutes = mins unit.persecond = /seg unit.perminute = /min unit.timesspeed = x velocidad +unit.multiplier = x unit.percent = % unit.shieldhealth = Escudo unit.items = objetos unit.thousands = k unit.millions = M -unit.billions = b +unit.billions = B +unit.shots = shots +unit.pershot = /disparo category.purpose = Objetivo category.general = General category.power = Energía @@ -780,105 +1174,137 @@ category.items = Objetos category.crafting = Fabricación category.function = Función category.optional = Mejoras Opcionales -setting.landscape.name = Bloquear modo horizontal +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Omitir animación de Lanzamiento/Aterrizaje del núcleo +setting.landscape.name = Bloquear en horizontal setting.shadows.name = Sombras -setting.blockreplace.name = Sugerir bloques al construir -setting.linear.name = Filtrado Lineal +setting.blockreplace.name = Sugerencias de bloques +setting.linear.name = Filtrado lineal setting.hints.name = Consejos -setting.flow.name = Mostrar tasa de flujo de recursos +setting.logichints.name = Consejos sobre "Bloques Lógicos" setting.backgroundpause.name = Pausar en segundo plano setting.buildautopause.name = Auto-pausar construcción -setting.animatedwater.name = Animaciones de Terreno -setting.animatedshields.name = Animación de Escudos -setting.antialias.name = Antialias[lightgray] (necesita un reinicio)[] -setting.playerindicators.name = Indicadores de Jugadores -setting.indicators.name = Indicadores de Enemigos -setting.autotarget.name = Auto-Apuntado -setting.keyboard.name = Controles de Ratón+Teclado -setting.touchscreen.name = Controles Táctiles -setting.fpscap.name = Máximos FPS -setting.fpscap.none = Nada +setting.doubletapmine.name = Doble clic para extraer minerales +setting.commandmodehold.name = Mantener para comandar unidades +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Desactivar mods si el juego no puede iniciarse +setting.animatedwater.name = Animaciones de terreno +setting.animatedshields.name = Animación de escudos +setting.playerindicators.name = Indicadores de jugadores +setting.indicators.name = Indicadores de enemigos +setting.autotarget.name = Auto-apuntado +setting.keyboard.name = Controles de teclado y ratón +setting.touchscreen.name = Controles táctiles +setting.fpscap.name = Límite de FPS +setting.fpscap.none = No setting.fpscap.text = {0} FPS -setting.uiscale.name = Escala de Interfaz[lightgray] (necesita reiniciar)[] -setting.swapdiagonal.name = Siempre Construir Diagonalmente -setting.difficulty.training = Entrenamiento -setting.difficulty.easy = Fácil -setting.difficulty.normal = Normal -setting.difficulty.hard = Difícil -setting.difficulty.insane = Demencial -setting.difficulty.name = Dificultad: +setting.uiscale.name = Escala de interfaz +setting.uiscale.description = Es necesario reiniciar para aplicar los cambios. +setting.swapdiagonal.name = Construir siempre en diagonal setting.screenshake.name = Vibración de pantalla +setting.bloomintensity.name = Intensidad de desenfoque de Bloom +setting.bloomblur.name = Difuminado de puntos de luz (Bloom) setting.effects.name = Mostrar efectos setting.destroyedblocks.name = Mostrar bloques destruidos setting.blockstatus.name = Mostrar estado de los bloques -setting.conveyorpathfinding.name = Construcción de transportadores Inteligente -setting.sensitivity.name = Sensibilidad del Mando -setting.saveinterval.name = Intervalo del Autoguardado +setting.conveyorpathfinding.name = Construcción inteligente de cintas transportadoras +setting.sensitivity.name = Sensibilidad del mando +setting.saveinterval.name = Intervalo de autoguardado setting.seconds = {0} segundos setting.milliseconds = {0} milisegundos -setting.fullscreen.name = Pantalla Completa -setting.borderlesswindow.name = Ventana sin Bordes[lightgray] (podría requerir un reinicio) -setting.fps.name = Mostrar FPS y Ping +setting.fullscreen.name = Pantalla completa +setting.borderlesswindow.name = Ventana sin bordes +setting.borderlesswindow.name.windows = Ventana a pantalla completa +setting.borderlesswindow.description = Aplicar los cambios podría requerir un reinicio. +setting.fps.name = Mostrar FPS y ping +setting.console.name = Activar consola setting.smoothcamera.name = Movimiento de cámara suave -setting.vsync.name = VSync (Limita los fps a los Hz de tu pantalla) +setting.vsync.name = Sincronización vertical setting.pixelate.name = Pixelar -setting.minimap.name = Mostrar Minimapa -setting.coreitems.name = Mostrar elementos en el nucleo (WIP) -setting.position.name = Mostrar indicadores de posición de jugadores. -setting.musicvol.name = Volumen de la Música -setting.atmosphere.name = Mostrar Atmósfera del planeta -setting.ambientvol.name = Volumen del Ambiente -setting.mutemusic.name = Silenciar Musica -setting.sfxvol.name = Volumen de los efectos de sonido -setting.mutesound.name = Silenciar Sonido -setting.crashreport.name = Enviar informes de fallos anónimos -setting.savecreate.name = Autoguardar la Partida -setting.publichost.name = Visibilidad de la Partida -setting.playerlimit.name = Limite de Jugadores -setting.chatopacity.name = Opacidad del Chat -setting.lasersopacity.name = Opacidad del Laser de Nodos de Energía -setting.bridgeopacity.name = Opacidad de Puentes Transportadores -setting.playerchat.name = Mostrar el chat de burbuja +setting.minimap.name = Mostrar minimapa +setting.coreitems.name = Mostrar objetos en el núcleo +setting.position.name = Mostrar posición de jugadores +setting.mouseposition.name = Mostrar posición del cursor +setting.musicvol.name = Volumen de la música +setting.atmosphere.name = Mostrar atmósfera de planetas +setting.drawlight.name = Draw Darkness/Lighting +setting.ambientvol.name = Volumen del ambiente +setting.mutemusic.name = Silenciar música +setting.sfxvol.name = Volumen del sonido +setting.mutesound.name = Silenciar sonido +setting.crashreport.name = Enviar registros de errores anónimos +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Guardado automático +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Limite de jugadores +setting.chatopacity.name = Opacidad del chat +setting.lasersopacity.name = Opacidad de láseres energía +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Opacidad de puentes +setting.playerchat.name = Mostrar chat de burbuja de jugadores setting.showweather.name = Efectos visuales climáticos -public.confirm = ¿Quieres hacer pública tu partida?\n[lightgray]Esto se puede cambiar más tarde en "Configuración->Juego->Visibilidad pública de la partida". +setting.hidedisplays.name = Ocultar monitores lógicos +setting.macnotch.name = Adaptar la interfaz para mostrar la muesca +setting.macnotch.description = Es necesario reiniciar para aplicar los cambios +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Recuerda que no puedes crear partidas públicas en las versiones beta del juego. -uiscale.reset = La escala de la interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos... -uiscale.cancel = Cancelar y Salir +uiscale.reset = La escala de interfaz ha sido modificada.\nPulsa "OK" para conservar esta escala.\n[scarlet]Se desharán los cambios automáticamente en [accent] {0}[] segundos... +uiscale.cancel = Cancelar y salir setting.bloom.name = Desenfoque de iluminación -keybind.title = Cambiar accesos de teclado -keybinds.mobile = [scarlet]Los accesos del teclado aquí mostrados no estan disponible en Móviles o Tablets. Solo aceptan movimiento básico. +keybind.title = Reasignar controles +keybinds.mobile = [scarlet]La mayoría de los controles no están disponibles en versiones móviles. Sólo es compatible con el movimiento básico. category.general.name = General -category.view.name = Visión +category.view.name = Ver +category.command.name = Unit Command category.multiplayer.name = Multijugador -category.blocks.name = Seleccionar bloques -command.attack = Atacar -command.rally = Patrullar -command.retreat = Retirarse -command.idle = Esperar -placement.blockselectkeys = \n[lightgray]Códigos: [{0}, +category.blocks.name = Seleccionar bloque +placement.blockselectkeys = \n[lightgray]Teclas: [{0}, keybind.respawn.name = Reaparecer keybind.control.name = Controlar unidad keybind.clear_building.name = Eliminar construcción keybind.press = Pulsa una tecla... -keybind.press.axis = Pulsa un eje o botón... -keybind.screenshot.name = Captura de pantalla de Mapa -keybind.toggle_power_lines.name = Ocultar Láser de Red Eléctrica -keybind.toggle_block_status.name = Alternar estado de los bloques -keybind.move_x.name = Mover x -keybind.move_y.name = Mover y -keybind.mouse_move.name = Seguir al Cursor del Ratón +keybind.press.axis = Pulsa un botón o palanca... +keybind.screenshot.name = Imagen de mapa +keybind.toggle_power_lines.name = Mostrar/Ocultar láseres de red eléctrica +keybind.toggle_block_status.name = Mostrar/Ocultar estado de bloques +keybind.move_x.name = Mover X +keybind.move_y.name = Mover Y +keybind.mouse_move.name = Seguir al cursor keybind.pan.name = Desplazar la cámara -keybind.boost.name = Acelerar +keybind.boost.name = Sobrevolar +keybind.command_mode.name = Modo Comando +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Reconstruir región keybind.schematic_select.name = Seleccionar región -keybind.schematic_menu.name = Menu de Plantillas -keybind.schematic_flip_x.name = Invertir Plantilla desde X -keybind.schematic_flip_y.name = Invertir Plantilla desde Y +keybind.schematic_menu.name = Menú de esquemas +keybind.schematic_flip_x.name = Invertir esquema X +keybind.schematic_flip_y.name = Invertir esquema Y keybind.category_prev.name = Categoría anterior -keybind.category_next.name = Siguiente categoría -keybind.block_select_left.name = Seleccionar bloque - Izquierda -keybind.block_select_right.name = Seleccionar bloque - Derecha -keybind.block_select_up.name = Seleccionar bloque - Arriba -keybind.block_select_down.name = Seleccionar bloque - Abajo +keybind.category_next.name = Categoría siguiente +keybind.block_select_left.name = Menú de construcción - Izquierda +keybind.block_select_right.name = Menú de construcción - Derecha +keybind.block_select_up.name = Menú de construcción - Arriba +keybind.block_select_down.name = Menú de construcción - Abajo keybind.block_select_01.name = Seleccionar Categoría/Bloque 1 keybind.block_select_02.name = Seleccionar Categoría/Bloque 2 keybind.block_select_03.name = Seleccionar Categoría/Bloque 3 @@ -889,88 +1315,143 @@ keybind.block_select_07.name = Seleccionar Categoría/Bloque 7 keybind.block_select_08.name = Seleccionar Categoría/Bloque 8 keybind.block_select_09.name = Seleccionar Categoría/Bloque 9 keybind.block_select_10.name = Seleccionar Categoría/Bloque 10 -keybind.fullscreen.name = Cambiar a Pantalla Completa -keybind.select.name = Seleccionar -keybind.diagonal_placement.name = Construcción Diagonal -keybind.pick.name = Elegir bloque -keybind.break_block.name = Destruir Bloque +keybind.fullscreen.name = Pantalla completa +keybind.select.name = Seleccionar/Disparar +keybind.diagonal_placement.name = Construcción diagonal +keybind.pick.name = Copiar bloque +keybind.break_block.name = Deconstruir bloque +keybind.select_all_units.name = Seleccionar todas las unidades +keybind.select_all_unit_factories.name = Seleccionar todas las fábricas de unidades keybind.deselect.name = Deseleccionar -keybind.pickupCargo.name = Recoger carga -keybind.dropCargo.name = Soltar carga -keybind.command.name = Ordenar +keybind.pickupCargo.name = Cargar bloque/unidad +keybind.dropCargo.name = Soltar bloque/unidad keybind.shoot.name = Disparar keybind.zoom.name = Zoom keybind.menu.name = Menú keybind.pause.name = Pausa keybind.pause_building.name = Pausar/Reanudar construcción keybind.minimap.name = Minimapa -keybind.planet_map.name = Mapa del Planeta +keybind.planet_map.name = Mapa del planeta keybind.research.name = Investigaciones +keybind.block_info.name = Información del bloque keybind.chat.name = Chat keybind.player_list.name = Lista de jugadores keybind.console.name = Consola keybind.rotate.name = Rotar -keybind.rotateplaced.name = Rotar existente (mantener) -keybind.toggle_menus.name = Ocultar menús +keybind.rotateplaced.name = Rotar existente (Mantener tecla) +keybind.toggle_menus.name = Ocultar interfaz keybind.chat_history_prev.name = Historial de chat - Anterior keybind.chat_history_next.name = Historial de chat - Siguiente -keybind.chat_scroll.name = Desplazar el chat +keybind.chat_scroll.name = Historial de chat - Desplazar keybind.chat_mode.name = Cambiar modo de chat keybind.drop_unit.name = Soltar unidad keybind.zoom_minimap.name = Zoom del minimapa -mode.help.title = Descripción de modos +mode.help.title = Descripción mode.survival.name = Supervivencia -mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas. +mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas.\n[gray]Requiere puntos de aterrizaje enemigos en el mapa. mode.sandbox.name = Modo libre -mode.sandbox.description = Recursos ilimitados y sin temporizador para las oleadas. +mode.sandbox.description = Recursos ilimitados y tiempo indefinido para las oleadas. mode.editor.name = Editor mode.pvp.name = JcJ -mode.pvp.description = Pelea contra otros jugadores localmente. -mode.attack.name = Batalla -mode.attack.description = No hay oleadas, el objetivo es destruir la base enemiga. +mode.pvp.description = Combate contra otros jugadores localmente.\n[gray]Requiere al menos 2 núcleos de distinto color en el mapa. +mode.attack.name = Ataque +mode.attack.description = Destruye la base enemiga. \n[gray]Requiere un núcleo rojo en el mapa. mode.custom = Normas personalizadas +rules.invaliddata = Datos del portapeles invalidos. +rules.hidebannedblocks = Ocultar bloques prohibidos rules.infiniteresources = Recursos infinitos -rules.reactorexplosions = Los reactores pueden explotar -rules.schematic = Permitir Plantillas -rules.wavetimer = Temporizador de Oleadas +rules.onlydepositcore = Sólo permitir depositar recursos en el núcleo +rules.derelictrepair = Allow Derelict Block Repair +rules.reactorexplosions = Explosiones de reactores +rules.coreincinerates = Incinerar exceso de recursos en el núcleo +rules.disableworldprocessors = Desactivar procesadores estáticos +rules.schematic = Permitir esquemas +rules.wavetimer = Temporizador de oleadas +rules.wavesending = Envío de oleadas +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Oleadas -rules.attack = Ataque -rules.buildai = La IA enemiga puede construir -rules.enemyCheat = La IA enemiga tiene recursos infinitos -rules.blockhealthmultiplier = Multiplicador de salud de bloque -rules.blockdamagemultiplier = Multiplicador de daño de bloque -rules.unitbuildspeedmultiplier = Multiplicador de velocidad de creación de unidades -rules.unithealthmultiplier = Multiplicador de la vida de las unidades -rules.unitdamagemultiplier = Multiplicador del daño de unidades -rules.enemycorebuildradius = Radio de No-Construcción del Núcleo Enemigo:[lightgray] (casillas) -rules.wavespacing = Tiempo entre oleadas:[lightgray] (seg) +rules.airUseSpawns = Air units use spawn points +rules.attack = Modo de ataque +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = IA enemiga avanzada (RTS AI) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Tamaño mínimo de escuadrón +rules.rtsmaxsquadsize = Tamaño máximo de escuadrón +rules.rtsminattackweight = Peso mínimo de ataque +rules.cleanupdeadteams = Eliminar estructuras de equipos derrotados (JcJ) +rules.corecapture = Capturar núcleo al destruirlo +rules.polygoncoreprotection = Protección de núcleo poligonal +rules.placerangecheck = Comprobar rango de construcción +rules.enemyCheat = La IA (Equipo Rojo) tiene recursos infinitos +rules.blockhealthmultiplier = Multiplicador de vida de estructuras +rules.blockdamagemultiplier = Multiplicador de daño de estructuras +rules.unitbuildspeedmultiplier = Multiplicador de velocidad de producción de unidades +rules.unitcostmultiplier = Unit Cost Multiplier +rules.unithealthmultiplier = Multiplicador de vida de unidades +rules.unitdamagemultiplier = Multiplicador de daño de unidades +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Multiplicador de energía solar +rules.unitcapvariable = Las categorías del núcleo alteran el límite máximo de unidades +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Límite base de unidades +rules.limitarea = Limitar área del mapa +rules.enemycorebuildradius = Radio de zona anti-construcción del núcleo enemigo:[lightgray] (bloques) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Intervalo entre oleadas:[lightgray] (seg) +rules.initialwavespacing = Retraso inicial de oleadas:[lightgray] (seg) rules.buildcostmultiplier = Multiplicador de coste de construcción rules.buildspeedmultiplier = Multiplicador de velocidad de construcción rules.deconstructrefundmultiplier = Multiplicador de devolución de desconstrucción rules.waitForWaveToEnd = Las oleadas esperan a los enemigos -rules.dropzoneradius = Radio de zona de caída:[lightgray] (casillas) +rules.wavelimit = El mapa termina despues de la oleada +rules.dropzoneradius = Radio de zona de aterrizaje:[lightgray] (bloques) rules.unitammo = Las unidades necesitan munición +rules.enemyteam = Equipo enemigo +rules.playerteam = Equipo del jugador rules.title.waves = Oleadas -rules.title.resourcesbuilding = Recursos y Construcción +rules.title.resourcesbuilding = Recursos y construcción rules.title.enemy = Enemigos rules.title.unit = Unidades rules.title.experimental = Experimental rules.title.environment = Entorno +rules.title.teams = Equipos +rules.title.planet = Planeta rules.lighting = Iluminación -rules.enemyLights = Luces enemigas +rules.fog = Ocultar terreno inexplorado (Fog of War) +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fuego -rules.explosions = Daño de explosiones de Bloques/Unidades +rules.anyenv = +rules.explosions = Daño de explosiones a bloques/unidades rules.ambientlight = Iluminación ambiental rules.weather = Clima -rules.weather.frequency = Frequencia: +rules.weather.frequency = Frecuencia: +rules.weather.always = Siempre rules.weather.duration = Duracion: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Evita que las unidades depositen materiales en calquiera estructura a excepción del nucleo. content.item.name = Objetos content.liquid.name = Líquidos content.unit.name = Unidades content.block.name = Bloques +content.status.name = Alteraciones de estado content.sector.name = Sectores +content.team.name = Facciones + +wallore = (Muro) item.copper.name = Cobre item.lead.name = Plomo @@ -980,7 +1461,7 @@ item.titanium.name = Titanio item.thorium.name = Torio item.silicon.name = Silicio item.plastanium.name = Plastanio -item.phase-fabric.name = Tejido de fase +item.phase-fabric.name = Tejido de Fase item.surge-alloy.name = Aleación Eléctrica item.spore-pod.name = Vaina de Esporas item.sand.name = Arena @@ -988,11 +1469,25 @@ item.blast-compound.name = Compuesto Explosivo item.pyratite.name = Pirotita item.metaglass.name = Metacristal item.scrap.name = Chatarra +item.fissile-matter.name = Materia Fisible +item.beryllium.name = Berilio +item.tungsten.name = Tungsteno +item.oxide.name = Óxido +item.carbide.name = Carburo +item.dormant-cyst.name = Quiste Latente + liquid.water.name = Agua liquid.slag.name = Magma liquid.oil.name = Petróleo liquid.cryofluid.name = Líquido criogénico -#Names of Units and Turrets look better untranslated, since they are propper/own names +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arquicita +liquid.gallium.name = Galio +liquid.ozone.name = Ozono +liquid.hydrogen.name = Hidrógeno +liquid.nitrogen.name = Nitrógeno +liquid.cyanogen.name = Cianógeno +#Names of Units and Turrets looks better untranslated, since they are names unit.dagger.name = Dagger unit.mace.name = Mace unit.fortress.name = Fortress @@ -1019,6 +1514,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -1027,13 +1527,36 @@ unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus -block.resupply-point.name = Punto de reabastecimiento +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Dron ensamblador +unit.latum.name = Latum +unit.renale.name = Renale + block.parallax.name = Parallax block.cliff.name = Pared block.sand-boulder.name = Roca de arena block.basalt-boulder.name = Roca de basalto block.grass.name = Hierba -block.slag.name = Magma +block.molten-slag.name = Magma +block.pooled-cryofluid.name = Líquido criogénico block.space.name = Espacio block.salt.name = Sal block.salt-wall.name = Muro de sal @@ -1045,131 +1568,139 @@ block.spore-wall.name = Muro de esporas block.boulder.name = Roca block.snow-boulder.name = Roca de nieve block.snow-pine.name = Pino de nieve -block.shale.name = Pizarra -block.shale-boulder.name = Piedra de pizarra +block.shale.name = Esquisto +block.shale-boulder.name = Roca de esquisto block.moss.name = Musgo block.shrubs.name = Arbustos block.spore-moss.name = Musgo de esporas -block.shale-wall.name = Muro de pizarra +block.shale-wall.name = Muro de esquisto block.scrap-wall.name = Muro de chatarra block.scrap-wall-large.name = Muro de chatarra grande -block.scrap-wall-huge.name = Muro de chatarra muy grande +block.scrap-wall-huge.name = Muro de chatarra enorme block.scrap-wall-gigantic.name = Muro de chatarra gigante block.thruster.name = Propulsor -block.kiln.name = Horno para Cristal +block.kiln.name = Horno para cristal block.graphite-press.name = Prensa de grafito block.multi-press.name = Multi-Prensa -block.constructing = {0}\n[lightgray](Construyendo) -block.spawn.name = Punto de generación +block.constructing = {0} [lightgray](Construyendo) +block.spawn.name = Zona de aterrizaje enemiga +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Núcleo: Shard block.core-foundation.name = Núcleo: Foundation block.core-nucleus.name = Núcleo: Nucleus -block.deepwater.name = Aguas profundas -block.water.name = Agua +block.deep-water.name = Agua profunda +block.shallow-water.name = Agua block.tainted-water.name = Agua contaminada -block.darksand-tainted-water.name = Agua contaminada con arena oscura +block.deep-tainted-water.name = Agua profunda contaminada +block.darksand-tainted-water.name = Agua contaminada - Arena oscura block.tar.name = Alquitrán block.stone.name = Piedra -block.sand.name = Arena +block.sand-floor.name = Arena block.darksand.name = Arena oscura block.ice.name = Hielo block.snow.name = Nieve -block.craters.name = Cráter -block.sand-water.name = Agua con arena -block.darksand-water.name = Agua con arena oscura -block.char.name = Cenizas +block.crater-stone.name = Cráteres +block.sand-water.name = Agua - Arena +block.darksand-water.name = Agua - Arena oscura +block.char.name = Ceniza block.dacite.name = Dacita -block.dacite-wall.name = Bloque de dacita +block.rhyolite.name = Riolita +block.dacite-wall.name = Muro de dacita block.dacite-boulder.name = Roca de dacita -block.ice-snow.name = Hielo-Nieve -block.stone-wall.name = Bloque de piedra -block.ice-wall.name = Bloque de hielo -block.snow-wall.name = Bloque de nieve -block.dune-wall.name = Bloque de arena +block.ice-snow.name = Hielo - Nieve +block.stone-wall.name = Muro de piedra +block.ice-wall.name = Muro de hielo +block.snow-wall.name = Muro de nieve +block.dune-wall.name = Muro de duna block.pine.name = Pino block.dirt.name = Tierra block.dirt-wall.name = Bloque de tierra block.mud.name = Lodo -block.white-tree-dead.name = Ãrbol Blanco Muerto -block.white-tree.name = Ãrbol Blanco -block.spore-cluster.name = Concentración de Esporas -block.metal-floor.name = Suelo de Metal -block.metal-floor-2.name = Suelo de Metal 2 -block.metal-floor-3.name = Suelo de Metal 3 -block.metal-floor-5.name = Suelo de Metal 5 -block.metal-floor-damaged.name = Suelo de Metal dañado -block.dark-panel-1.name = Panel Oscuro 1 -block.dark-panel-2.name = Panel Oscuro 2 -block.dark-panel-3.name = Panel Oscuro 3 -block.dark-panel-4.name = Panel Oscuro 4 -block.dark-panel-5.name = Panel Oscuro 5 -block.dark-panel-6.name = Panel Oscuro 6 -block.dark-metal.name = Metal Oscuro +block.white-tree-dead.name = Ãrbol blanco muerto +block.white-tree.name = Ãrbol blanco +block.spore-cluster.name = Esporas +block.metal-floor.name = Suelo de metal 1 +block.metal-floor-2.name = Suelo de metal 2 +block.metal-floor-3.name = Suelo de metal 3 +block.metal-floor-4.name = Suelo de metal 4 +block.metal-floor-5.name = Suelo de metal 5 +block.metal-floor-damaged.name = Suelo de metal dañado +block.dark-panel-1.name = Panel oscuro 1 +block.dark-panel-2.name = Panel oscuro 2 +block.dark-panel-3.name = Panel oscuro 3 +block.dark-panel-4.name = Panel oscuro 4 +block.dark-panel-5.name = Panel oscuro 5 +block.dark-panel-6.name = Panel oscuro 6 +block.dark-metal.name = Metal oscuro block.basalt.name = Basalto block.hotrock.name = Roca volcánica -block.magmarock.name = Roca de Magma -block.copper-wall.name = Muro de Cobre -block.copper-wall-large.name = Muro de Cobre grande -block.titanium-wall.name = Muro de Titanio -block.titanium-wall-large.name = Muro de Titanio grande -block.plastanium-wall.name = Muro de Plastanio -block.plastanium-wall-large.name = Muro de Plastanio grande -block.phase-wall.name = Muro de Fase grande -block.phase-wall-large.name = Muro de Fase grande -block.thorium-wall.name = Pared de Torio -block.thorium-wall-large.name = Muro de Torio grande +block.magmarock.name = Roca de magma +block.copper-wall.name = Muro de cobre +block.copper-wall-large.name = Muro de cobre grande +block.titanium-wall.name = Muro de titanio +block.titanium-wall-large.name = Muro de titanio grande +block.plastanium-wall.name = Muro de plastanio +block.plastanium-wall-large.name = Muro de plastanio grande +block.phase-wall.name = Muro de fase +block.phase-wall-large.name = Muro de fase grande +block.thorium-wall.name = Muro de torio +block.thorium-wall-large.name = Muro de torio grande block.door.name = Puerta -block.door-large.name = Puerta Grande +block.door-large.name = Puerta grande block.duo.name = Duo block.scorch.name = Scorch block.scatter.name = Scatter block.hail.name = Hail block.lancer.name = Lancer -block.conveyor.name = Cinta Transportadora -block.titanium-conveyor.name = Cinta Transportadora de Titanio -block.plastanium-conveyor.name = Cinta Transportadora de Plastanio -block.armored-conveyor.name = Cinta Transportadora Acorazada +block.conveyor.name = Cinta transportadora +block.titanium-conveyor.name = Cinta transportadora de titanio +block.plastanium-conveyor.name = Cinta transportadora de plastanio +block.armored-conveyor.name = Cinta transportadora acorazada block.junction.name = Cruce block.router.name = Enrutador block.distributor.name = Distribuidor block.sorter.name = Clasificador -block.inverted-sorter.name = Clasificador Invertido +block.inverted-sorter.name = Clasificador invertido block.message.name = Mensaje +block.reinforced-message.name = Mensaje reforzado +block.world-message.name = Mensaje estático +block.world-switch.name = World Switch block.illuminator.name = Iluminador -block.overflow-gate.name = Compuerta de Desborde -block.underflow-gate.name = Compuerta de Subdesbordamiento -block.silicon-smelter.name = Horno para Silicio -block.phase-weaver.name = Tejedor de Fase +block.overflow-gate.name = Compuerta de desborde +block.underflow-gate.name = Compuerta de subdesbordamiento +block.silicon-smelter.name = Horno para silicio +block.phase-weaver.name = Tejedor de fase block.pulverizer.name = Pulverizador -block.cryofluid-mixer.name = Mezclador de Criogénicos +block.cryofluid-mixer.name = Mezclador de criogénicos block.melter.name = Fundidor block.incinerator.name = Incinerador -block.spore-press.name = Prensa de Esporas +block.spore-press.name = Prensa de esporas block.separator.name = Separador -block.coal-centrifuge.name = Centrifugador de Carbón -block.power-node.name = Nodo de Energía -block.power-node-large.name = Nodo de Energía Grande -block.surge-tower.name = Torre de sobretensión +block.coal-centrifuge.name = Centrifugador de carbón +block.power-node.name = Nodo de energía +block.power-node-large.name = Nodo de energía grande +block.surge-tower.name = Torre de alta tensión block.diode.name = Diodo de batería block.battery.name = Batería -block.battery-large.name = Batería Grande -block.combustion-generator.name = Generador de Combustión -block.steam-generator.name = Turbina -block.differential-generator.name = Generador Diferencial -block.impact-reactor.name = Reactor de Impacto +block.battery-large.name = Batería grande +block.combustion-generator.name = Generador de combustión +block.steam-generator.name = Generador de vapor +block.differential-generator.name = Generador diferencial +block.impact-reactor.name = Reactor de impacto block.mechanical-drill.name = Taladro mecánico block.pneumatic-drill.name = Taladro neumático -block.laser-drill.name = Taladro Láser -block.water-extractor.name = Extractor de Agua +block.laser-drill.name = Taladro láser +block.water-extractor.name = Extractor de agua block.cultivator.name = Cultivador -block.conduit.name = Conducto -block.mechanical-pump.name = Bomba Mecánica +block.conduit.name = Tubería +block.mechanical-pump.name = Bomba mecánica block.item-source.name = Fuente de objetos -block.item-void.name = Vacío de objetos +block.item-void.name = Vacío de objetos block.liquid-source.name = Fuente de líquidos block.liquid-void.name = Vacío de líquidos block.power-void.name = Vacío de energía -block.power-source.name = Energía Infinita +block.power-source.name = Fuente de energía block.unloader.name = Descargador block.vault.name = Almacén block.wave.name = Wave @@ -1177,48 +1708,50 @@ block.tsunami.name = Tsunami block.swarmer.name = Swarmer block.salvo.name = Salvo block.ripple.name = Ripple -block.phase-conveyor.name = Cinta Transportadora de Fase -block.bridge-conveyor.name = Puente de Cinta Transportadora -block.plastanium-compressor.name = Compresor de Plastanio -block.pyratite-mixer.name = Mezclador de Pirotita -block.blast-mixer.name = Mezclador de Explosivos -block.solar-panel.name = Panel Solar -block.solar-panel-large.name = Panel Solar Grande -block.oil-extractor.name = Extractor de Petróleo -block.repair-point.name = Punto de Reparación de Unidades -block.pulse-conduit.name = Conducto de Pulso -block.plated-conduit.name = Conducto Acorazado -block.phase-conduit.name = Conducto de Fase -block.liquid-router.name = Enrutador de Líquidos -block.liquid-tank.name = Tanque de Líquidos -block.liquid-junction.name = Cruce de Líquidos -block.bridge-conduit.name = Conducto Puente -block.rotary-pump.name = Bomba Rotatoria -block.thorium-reactor.name = Reactor de Torio -block.mass-driver.name = Teletransportador de Masa -block.blast-drill.name = Taladro de explosión -block.thermal-pump.name = Bomba Térmica -block.thermal-generator.name = Generador Térmico -block.alloy-smelter.name = Fundidor de Materia +block.phase-conveyor.name = Cinta transportadora de fase +block.bridge-conveyor.name = Puente de cinta transportadora +block.plastanium-compressor.name = Compresor de plastanio +block.pyratite-mixer.name = Mezclador de pirotita +block.blast-mixer.name = Mezclador de explosivos +block.solar-panel.name = Panel solar +block.solar-panel-large.name = Panel solar grande +block.oil-extractor.name = Extractor de petróleo +block.repair-point.name = Punto de reparación de unidades +block.repair-turret.name = Torreta reparadora +block.pulse-conduit.name = Tubería de pulso +block.plated-conduit.name = Tubería acorazada +block.phase-conduit.name = Tubería de fase +block.liquid-router.name = Enrutador de líquidos +block.liquid-tank.name = Tanque de líquidos +block.liquid-container.name = Contenedor de líquidos +block.liquid-junction.name = Cruce de líquidos +block.bridge-conduit.name = Tubería puente +block.rotary-pump.name = Bomba rotativa +block.thorium-reactor.name = Reactor de torio +block.mass-driver.name = Catapulta electromagnética +block.blast-drill.name = Taladro de voladura +block.impulse-pump.name = Bomba de impulso +block.thermal-generator.name = Generador térmico +block.surge-smelter.name = Fundidor de aleación block.mender.name = Reparador -block.mend-projector.name = Proyector de Reparación -block.surge-wall.name = Muro de Sobretensión -block.surge-wall-large.name = Muro de Sobretensión grande +block.mend-projector.name = Proyector de reparación +block.surge-wall.name = Muro de aleación eléctrica +block.surge-wall-large.name = Muro de aleación eléctrica grande block.cyclone.name = Cyclone block.fuse.name = Fuse block.shock-mine.name = Mina eléctrica -block.overdrive-projector.name = Proyector de Aceleración -block.force-projector.name = Proyector de Escudo +block.overdrive-projector.name = Proyector de aceleración +block.force-projector.name = Proyector de escudo block.arc.name = Arc block.rtg-generator.name = Generador RTG block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Contenedor -block.launch-pad.name = Plataforma de Lanzamiento -block.launch-pad-large.name = Plataforma de Lanzamiento Grande +block.launch-pad.name = Plataforma de lanzamiento +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Centro de comando block.ground-factory.name = Fábrica terrestre block.air-factory.name = Fábrica aérea block.naval-factory.name = Fábrica naval @@ -1226,232 +1759,477 @@ block.additive-reconstructor.name = Reconstructor aditivo block.multiplicative-reconstructor.name = Reconstructor multiplicativo block.exponential-reconstructor.name = Reconstructor exponencial block.tetrative-reconstructor.name = Reconstructor tetrativo -block.payload-conveyor.name = Transportador de carga +block.payload-conveyor.name = Cinta transportadora de carga block.payload-router.name = Enrutador de carga +block.duct.name = Conducto +block.duct-router.name = Conducto enrutador +block.duct-bridge.name = Conducto puente +block.large-payload-mass-driver.name = Catapulta electromagnética de carga grande +block.payload-void.name = Vacío de carga +block.payload-source.name = Fuente de carga block.disassembler.name = Desensamblador block.silicon-crucible.name = Crisol de silicio -block.overdrive-dome.name = Campo de Aceleración -#experimental, puede ser eliminado -block.block-forge.name = Fundidor de Bloques -block.block-loader.name = Cargador de Bloques -block.block-unloader.name = Descargador de Bloques -block.interplanetary-accelerator.name = Acelerador Interplanetario +block.overdrive-dome.name = Cúpula de aceleración +block.interplanetary-accelerator.name = Acelerador interplanetario +block.constructor.name = Constructor +block.constructor.description = Fabrica cargas de hasta 2x2 bloques de tamaño. +block.large-constructor.name = Constructor grande +block.large-constructor.description = Fabrica cargas de hasta 4x4 bloques de tamaño. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstruye estructuras y unidades. Devuelve el 100% de su coste de construcción. +block.payload-loader.name = Cargador de carga +block.payload-loader.description = Carga objetos y líquidos en bloques. +block.payload-unloader.name = Descargador de carga +block.payload-unloader.description = Descarga objetos y líquidos de bloques. +block.heat-source.name = Fuente de calor +block.heat-source.description = Un bloque pequeño que proporciona una cantidad infinita de calor. + +# Erekir +block.empty.name = Vacío +block.rhyolite-crater.name = Cráter de riolita +block.rough-rhyolite.name = Riolita bruta +block.regolith.name = Regolito +block.yellow-stone.name = Piedra amarillenta +block.carbon-stone.name = Piedra de carbón +block.ferric-stone.name = Roca férrea +block.ferric-craters.name = Cráteres férreos +block.beryllic-stone.name = Piedra berílica +block.crystalline-stone.name = Piedra cristalina +block.crystal-floor.name = Suelo cristalino +block.yellow-stone-plates.name = Láminas de piedra amarilla +block.red-stone.name = Piedra rojiza +block.dense-red-stone.name = Piedra rojiza densa +block.red-ice.name = Hielo rojo +block.arkycite-floor.name = Suelo de arquicita +block.arkyic-stone.name = Piedra de arquicita +block.rhyolite-vent.name = Grieta de riolita +block.carbon-vent.name = Grieta de carbón +block.arkyic-vent.name = Grieta de arquicita +block.yellow-stone-vent.name = Grieta de piedra amarillenta +block.red-stone-vent.name = Grieta de piedra rojiza +block.crystalline-vent.name = Grieta cristalina +block.redmat.name = Manto rojo +block.bluemat.name = Manto azul +block.core-zone.name = Zona de núcleo +block.regolith-wall.name = Muro de regolito +block.yellow-stone-wall.name = Muro de piedra amarillenta +block.rhyolite-wall.name = Muro de riolita +block.carbon-wall.name = Muro de carbón +block.ferric-stone-wall.name = Muro de piedra férrea +block.beryllic-stone-wall.name = Muro de piedra berílica +block.arkyic-wall.name = Muro de arquicita +block.crystalline-stone-wall.name = Muro de piedra cristalina +block.red-ice-wall.name = Muro de hielo rojo +block.red-stone-wall.name = Muro de piedra rojiza +block.red-diamond-wall.name = Muro de diamante rojo +block.redweed.name = Hierba roja +block.pur-bush.name = Arbusto puro +block.yellowcoral.name = Coral amarillo +block.carbon-boulder.name = Roca de carbón +block.ferric-boulder.name = Roca férrea +block.beryllic-boulder.name = Roca berílica +block.yellow-stone-boulder.name = Roca amarilla +block.arkyic-boulder.name = Roca arquiica +block.crystal-cluster.name = Fragmento de cristal +block.vibrant-crystal-cluster.name = Fragmento de cristal vibrante +block.crystal-blocks.name = Bloques de cristal +block.crystal-orbs.name = Orbes de cristal +block.crystalline-boulder.name = Roca cristalina +block.red-ice-boulder.name = Roca de hielo rojizo +block.rhyolite-boulder.name = Roca de riolita +block.red-stone-boulder.name = Roca rojiza +block.graphitic-wall.name = Muro de grafito +block.silicon-arc-furnace.name = Horno de arco eléctrico +block.electrolyzer.name = Electrolizador +block.atmospheric-concentrator.name = Concentrador atmosférico +block.oxidation-chamber.name = Cámara de oxidación +block.electric-heater.name = Radiador eléctrico +block.slag-heater.name = Caldera de magma +block.phase-heater.name = Radiador de fase +block.heat-redirector.name = Redireccionador térmico +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Enrutador térmico +block.slag-incinerator.name = Incinerador de magma +block.carbide-crucible.name = Crisol de carburo +block.slag-centrifuge.name = Centrifugador de magma +block.surge-crucible.name = Crisol de aleación eléctrica +block.cyanogen-synthesizer.name = Sintetizador de cianógeno +block.phase-synthesizer.name = Sintetizador de fase +block.heat-reactor.name = Reactor térmico +block.beryllium-wall.name = Muro de berilio +block.beryllium-wall-large.name = Muro de berilio grande +block.tungsten-wall.name = Muro de tungsteno +block.tungsten-wall-large.name = Muro de tungsteno grande +block.blast-door.name = Puerta blindada +block.carbide-wall.name = Muro de carburo +block.carbide-wall-large.name = Muro de carburo grande +block.reinforced-surge-wall.name = Muro de aleación eléctrica reforzada +block.reinforced-surge-wall-large.name = Muro de aleación eléctrica reforzada grande +block.shielded-wall.name = Muro blindado +block.radar.name = Radar +block.build-tower.name = Torre de construcción +block.regen-projector.name = Proyector de regeneración +block.shockwave-tower.name = Torre de pulso eléctrico +block.shield-projector.name = Proyector de escudo +block.large-shield-projector.name = Proyector de escudo grande +block.armored-duct.name = Conducto acorazado +block.overflow-duct.name = Conducto de desborde +block.underflow-duct.name = Conducto de subdesbordamiento +block.duct-unloader.name = Conducto descargador +block.surge-conveyor.name = Cinta transportadora eléctrica +block.surge-router.name = Enrutador eléctrico +block.unit-cargo-loader.name = Cargador de unidades +block.unit-cargo-unload-point.name = Descargador de unidades +block.reinforced-pump.name = Bomba reforzada +block.reinforced-conduit.name = Tubería reforzada +block.reinforced-liquid-junction.name = Tubería cruce reforzada +block.reinforced-bridge-conduit.name = Tubería puente reforzada +block.reinforced-liquid-router.name = Enrutador de líquidos reforzado +block.reinforced-liquid-container.name = Contenedor de líquidos reforzado +block.reinforced-liquid-tank.name = Tanque de líquidos reforzado +block.beam-node.name = Nodo de energía ortogonal +block.beam-tower.name = Torre de transmisión de energía +block.beam-link.name = Enlace de energía +block.turbine-condenser.name = Turbina condensadora +block.chemical-combustion-chamber.name = Cámara de combustión química +block.pyrolysis-generator.name = Generador pirolítico +block.vent-condenser.name = Condensador de grietas +block.cliff-crusher.name = Triturador de paredes +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Perforador de plasma +block.large-plasma-bore.name = Perforador de plasma grande +block.impact-drill.name = Taladro de impacto +block.eruption-drill.name = Taladro de erupción +block.core-bastion.name = Núcleo: Bastion +block.core-citadel.name = Núcleo: Citadel +block.core-acropolis.name = Núcleo: Acropolis +block.reinforced-container.name = Contenedor reforzado +block.reinforced-vault.name = Almacén reforzado +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Refabricador de tanques +block.mech-refabricator.name = Refabricador de mechs +block.ship-refabricator.name = Refabricador de aeronaves +block.tank-assembler.name = Ensamblador de tanques +block.ship-assembler.name = Ensamblador de aeronaves +block.mech-assembler.name = Ensamblador de mechs +block.reinforced-payload-conveyor.name = Cinta transportadora de carga reforzada +block.reinforced-payload-router.name = Enrutador de carga reforzado +block.payload-mass-driver.name = Catapulta electromagnética de carga +block.small-deconstructor.name = Deconstructor pequeño +block.canvas.name = Lienzo +block.world-processor.name = Procesador estático +block.world-cell.name = Unidad de memoria estática +block.tank-fabricator.name = Fabricador de tanques +block.mech-fabricator.name = Fabricador de mechs +block.ship-fabricator.name = Fabricador de aeronaves +block.prime-refabricator.name = Refabricador Prime +block.unit-repair-tower.name = Torre de reparación de unidades +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Módulo ensamblador básico +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Reactor de flujo +block.neoplasia-reactor.name = Reactor de neoplasia block.switch.name = Interruptor -block.micro-processor.name = Micro Processador +block.micro-processor.name = Microprocesador block.logic-processor.name = Procesador lógico block.hyper-processor.name = Hiperprocesador block.logic-display.name = Pantalla lógica block.large-logic-display.name = Pantalla lógica grande block.memory-cell.name = Unidad de memoria block.memory-bank.name = Servidor de memoria - -team.blue.name = azul -team.crux.name = rojo -team.sharded.name = naranja -team.orange.name = naranja -team.derelict.name = abandonado -team.green.name = verde -team.purple.name = morado +# Name of the teams that are not colors or adjectives are intentionally untrasnlated. +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Abandonado +team.green.name = Verde +team.blue.name = Azul hint.skip = Omitir hint.desktopMove = Usa [accent][[WASD][] para moverte. -hint.zoom = Puedes usar la [accent]Rueda del ratón[] para controlar el zoom. -hint.mine = Acércate a \uf8c4 una veta de cobre [accent]tócala[]\n para extraer cobre manualmente. -hint.desktopShoot = [accent][[Left-click][] para disparar. +hint.zoom = Usa la [accent]Rueda del ratón[] para controlar el zoom. +hint.desktopShoot = [accent][[Clic-izquierdo][] para disparar. hint.depositItems = Deposita objetos arrastrándolos desde tu nave hasta el núcleo. -hint.respawn = Para sacar otra nave, pulsa [accent][[V][]. +hint.respawn = Para reaparecer desde el núcleo, pulsa [accent][[V][]. hint.respawn.mobile = Has pasado a controlar una unidad/estructura. Para volver a manejar la nave, [accent]toca el icono arriba a la izquierda.[] -hint.desktopPause = Pulsa [accent][[Space][] para pausar y reanudar la partida. -hint.placeDrill = Selecciona la pestaña de \ue85e [accent]Taladros[] en el menú abajo a la derecha, luego escoge un \uf870 [accent]Taladro[] y haz clic sobre una veta de cobre para colocarlo. -hint.placeDrill.mobile = Selecciona la pestaña de \ue85e [accent]Taladros[] en el menú abajo a la derecha, luego escoge un \uf870 [accent]Taladro[] y toca sobre una veta de cobre para colocarlo.\n\nPulsa el botón con la \ue800 [accent]"V"[] abajo a la derecha para confirmar. -hint.placeConveyor = Las cintas transportadoras pueden sacar objetos de los taladros, y moverlos hasta otros bloques. Selecciona un \uf896 [accent]Transportador[] de la pestaña \ue814 [accent]Distribución[].\n\nHaz clic y arrastra para crear una cadena con múltiples transportadores.\nUsa la [accent]Rueda del ratón[] para rotarlo. -hint.placeConveyor.mobile = Las cintas transportadoras pueden mover objetos de los taladros hasta otros bloques. Selecciona un \uf896 [accent]Transportador[] de la pestaña \ue814 [accent]Distribución[].\n\nMantén el dedo un segundo y arrastra para crear múltiples cintas transportadoras. -hint.placeTurret = Construye \uf861 [accent]Torretas[] para defender tu base de los enemigos.\n\nLas torretas necesitan munición - en este caso, \uf838cobre.\nUsa cintas transportadoras y taladros para abastecerlas con cobre. +hint.desktopPause = Pulsa [accent][[Barra Espaciadora][] para pausar y reanudar la partida. hint.breaking = Pulsa [accent]Clic-derecho[] y arrastra para destruir bloques. -hint.breaking.mobile = Activa el botón con el \ue817 [accent]martillo[] situado abajo a la derecha y selecciona bloque para eliminarlos.\n\nMantén el dedo un segundo y arrastra para eliminar bloques directamente en esa selección. -hint.research = Usa el botón \ue875 [accent]Investigación[] para acceder al menú de descubrimientos tecnológicos. -hint.research.mobile = Usa el botón \ue875 [accent]Investigación[] para acceder al menú de descubrimientos tecnológicos. +hint.breaking.mobile = Activa el botón con el [accent]martillo[] situado abajo a la derecha y selecciona bloques para eliminarlos.\n\nMantén el dedo un segundo y arrastra para eliminar bloques directamente en esa selección. +hint.blockInfo = Puedes visualizar información de un bloque seleccionándolo en el [accent]menú de construcción[], mediante el botón [accent][[?][] en la derecha. +hint.derelict = Las estructuras [accent]abandonadas[] son ruinas inservibles de antiguas bases no operativas.\n\nEstas estructuras pueden ser [accent]deconstruidas[] para obtener recursos. +hint.research = Usa el botón [accent]Investigación[] para acceder al menú de descubrimientos tecnológicos. +hint.research.mobile = Usa el botón [accent]Investigación[] para acceder al menú de descubrimientos tecnológicos. hint.unitControl = Mantén [accent][[L-ctrl][] y [accent]haz clic[] sobre unidades o torretas aliadas para controlarlas manualmente. hint.unitControl.mobile = [accent][Toca dos veces rápidamente[] una unidad o torreta aliada para controlarla manualmente. -hint.launch = Cuando tengas sufientes recursos, puedes [accent]Lanzar el Núcleo[] escogiendo como objetivo sectores cercanos en el \ue827 [accent]Mapa[] abajo a la derecha. -hint.launch.mobile = Cuando tengas sufientes recursos, puedes [accent]Lanzar el Núcleo[] escogiendo como objetivo sectores cercanos en el \ue827 [accent]Mapa[], disponible desde el \ue88c [accent]Menú de pausa[]. +hint.unitSelectControl = Para controlar unidades, entra al [accent]modo comando[] manteniendo [accent]L-shift.[]\nUna vez en modo comando, haz clic y arrastra para seleccionar unidades. [accent]Clic derecho[] sobre una ubicación u objetivo para desplazar las unidades ahí. +hint.unitSelectControl.mobile = Para controlar unidades, entra al [accent]modo comando[] pulsando el [accent]botón de comando[] en la esquina inferior izquierda.\nUna vez en modo comando, mantén pulsado y arrastra para seleccionar unidades. Toca una ubicación u objetivo para desplazar las unidades ahí. +hint.launch = Cuando tengas sufientes recursos, puedes [accent]Lanzar el núcleo[] escogiendo como objetivo sectores cercanos en el [accent]Mapa[] abajo a la derecha. +hint.launch.mobile = Cuando tengas sufientes recursos, puedes [accent]Lanzar el núcleo[] escogiendo como objetivo sectores cercanos en el [accent]Mapa[], disponible desde el [accent]Menú de pausa[]. hint.schematicSelect = Mantén [accent][[F][] y arrastra para crear una selección de bloques que puedes copiar y pegar.\n\nUsa [accent][[Clic central][] para seleccionar un tipo de bloque. +hint.rebuildSelect = Mantén [accent][[B][] y arrastra para seleccionar planos de bloques destruidos.\nEsto los reconstruirá automáticamente. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.conveyorPathfind = Mantener [accent][[L-Ctrl][] mientras arrastras cintas transportadoras generará automáticamente una ruta. -hint.conveyorPathfind.mobile = Activa el\ue844 [accent]modo diagonal[] y arrastra cintas transportadoras para generar una ruta inteligente. -hint.boost = Mantén [accent][[L-Shift][] para sobrevolar obstáculos con tu unidad actual.\n\nSólo algunas unidades terrestres disponen de estos propulsores. -hint.command = Pulsa [accent][[G][] para comandar unidades aliadas cercanas. -hint.command.mobile = [accent][[Toca dos veces][] tu unidad para comandar unidades aliadas cercanas. -hint.payloadPickup = Pulsa [accent][[[] para recoger bloques pequeños o unidades. -hint.payloadPickup.mobile = [accent]Mantén[] sobre un bloque pequeño o unidad para recogerlo. +hint.conveyorPathfind.mobile = Activa el [accent]modo diagonal[] y arrastra cintas transportadoras para generar una ruta inteligente. +hint.boost = Mantén [accent][[L-Shift][] para sobrevolar obstáculos con tu unidad actual.\n\nSólo algunas unidades terrestres disponen de propulsores que les otorgan esta habilidad. +hint.payloadPickup = Pulsa [accent][[[] para recoger bloques o unidades. +hint.payloadPickup.mobile = [accent]Mantén[] sobre un bloque o unidad para recogerlo. hint.payloadDrop = Pulsa [accent]][] para soltar la carga. hint.payloadDrop.mobile = [accent]Mantén[] sobre un lugar vacío para soltar la carga. -hint.waveFire = Cuando las torretas [accent]Wave[] usan agua como munición, apagarán fuego e incendios cercanos automáticamente. -hint.generator = Los \uf879[accent]Generadores de combustión[] querman carbón para transmitir energía a bloques adyacentes.\n\nEl alcance de transmisión de energía se puede extender usando \uf87f[accent]Nodos de energía[]. -hint.guardian = Los [accent]Guardianes[] poseen una robusta armadura. Municiones débiles como el [accent]Cobre[] o el [accent]Plomo[] no son [scarlet]effectivas[] contra él.\n\nUsa torretas de mayor categoría o por ejemplo, munición de \uf835[accent]Grafito[] \uf861Duo/\uf859 en torretas Salvo para derribar a los Guardianes. -hint.coreUpgrade = Los núcleos se pueden mejorar [accent]construyendo núcleos de mayor calidad encima[].\n\nColoca un  núcleo [accent]Foundation[] sobre el ï¡© núcleo [accent]Shard[]. Asegúrate de que no hay obstáculos cerca. +hint.waveFire = Cuando las torretas [accent]Wave[] usen agua como munición, apagarán fuego e incendios cercanos automáticamente. +hint.generator = Los [accent]Generadores de combustión[] querman carbón para transmitir energía a bloques adyacentes.\n\nEl alcance de transmisión de energía se puede extender usando [accent]Nodos de energía[]. +hint.guardian = Los [accent]Guardianes[] poseen una robusta armadura. Municiones débiles como el [accent]Cobre[] o el [accent]Plomo[] no son [scarlet]effectivas[] contra él.\n\nUsa torretas de mayor categoría o por ejemplo, munición de [accent]Grafito[] en torretas [accent]Salvo[] para derribar a los Guardianes con más facilidad. +hint.coreUpgrade = Los núcleos se pueden mejorar [accent]construyendo núcleos de mayor calidad encima[].\n\nColoca un núcleo [accent]Foundation[] sobre el núcleo [accent]Shard[]. Asegúrate de que no hay obstáculos cerca. hint.presetLaunch = Las zonas de aterrizaje de los [accent]sectores grises[], como el [accent]Bosque Congelado[], son accesibles desde cualquier lugar. No requieren capturar sectores adyacentes.\n\nLos [accent]sectores numerados[], como este, son [accent]opcionales[]. +hint.presetDifficulty = Este sector tiene un [scarlet]alto nivel de amenaza enemiga[].\n[accent]No es recomendable[] viajar a sectores como estos sin las tecnologías adecuadas y preparación. hint.coreIncinerate = Tras completar la capacidad máxima de almacenamiento en el núcleo para un tipo de objeto, cualquier recurso adicional de ese tipo que reciba el núcleo será [accent]incinerado[]. -hint.coopCampaign = Sí estás jugando el modo [accent]campaña en multijugador[], los objetos producidos en el mapa actual también se enviarán [accent]a los sectores locales de cada jugador[].\n\nCualquier nueva investigación tecnológica realizada por el anfitrión también se desbloqueará para los demás jugadores. +hint.factoryControl = Para establecer el [accent]destino de salida[] de una fábrica de unidades, haz clic sobre dicho bloque desde el modo comando, luego clic derecho en el destino a elegir.\nLas unidades fabricadas intentarán desplazarse allí automáticamente. +hint.factoryControl.mobile = Para establecer el [accent]destino de salida[] de una fábrica de unidades, toca dicho bloque en modo comando, y luego toca el destino que quieras elegir.\nLas unidades fabricadas intentarán desplazarse hasta esta ubicación automáticamente. -item.copper.description = Un práctico material de estructura. Usado en todo tipo de bloques. +gz.mine = Acércate al \uf8c4 [accent]mineral de cobre[] del suelo y haz clic sobre él para empezar a minarlo. +gz.mine.mobile = Acércate al \uf8c4 [accent]mineral de cobre[] del suelo y tócalo para empezar a minarlo. +gz.research = Abre el menú de \ue875 investigaciones tecnológicas.\nInvestiga el \uf870 [accent]taladro mecánico[], luego selecciónalo en el menú inferior derecho.\nHaz clic sobre una veta de cobre para colocar el taladro. +gz.research.mobile = Abre el menú de \ue875 investigaciones tecnológicas.\nInvestiga el \uf870 [accent]taladro mecánico[], luego selecciónalo en el menú inferior derecho.\nToca una veta de cobre para colocar el taladro.\n\nPulsa el \ue800 [accent]botón de confirmación[] de abajo a la derecha para confirmar. +gz.conveyors = Investiga y construye \uf896 [accent]cintas transportadoras[] para mover los recursos minados\ndesde los taladros hasta el núcleo.\n\nArrastra para colocar múltiples bloques de cintas transportadoras.\nUsa la [accent]rueda del ratón[] para cambiar su dirección. +gz.conveyors.mobile = Investiga y construye \uf896 [accent]cintas transportadoras[] para mover los recursos minados \ndesde los taladros hasta el núcleo.\n\nMantén pulsado un segundo y arrastra para colocar múltiples bloques de cintas transportadoras. +gz.drills = Expande la operación minera.\nConstruye más taladros mecánicos.\nExtrae 100 de cobre. +gz.lead = El \uf837 [accent]plomo[] es otro recurso muy usado.\nConstruye taladros para extraer plomo. +gz.moveup = \ue804 Sigue explorando para más objetivos. +gz.turrets = Investiga y construye 2 torretas \uf861 [accent]Duo[] para defender el núcleo.\nLas torretas Duo requieren un suministro de \uf838 [accent]munición[] mediante cintas transportadoras. +gz.duoammo = Suministra [accent]cobre[] a las torretas Duo, usando cintas transportadoras. +gz.walls = Los [accent]muros[] pueden evitar que las estructuras reciban daño.\nConstruye \uf8ae [accent]muros de cobre[] alrededor de las torretas. +gz.defend = Se aproxima un enemigo, prepárate para defenderte. +gz.aa = Las unidades aéreas no son tan fáciles de eliminar con torretas comunes.\n\uf860 Las torretas [accent]Scatter[] proporcionan una excelente defensa anti-aérea, pero utilizan \uf837 [accent]plomo[] como munición. +gz.scatterammo = Suministra [accent]plomo[] a la torreta Scatter mediante cintas transportadoras. +gz.supplyturret = [accent]Cargar torreta +gz.zone1 = Esta es la zona de aterrizaje del enemigo. +gz.zone2 = Cualquier estructura en el área será destruida al comenzar una oleada. +gz.zone3 = Ahora comenzará una oleada.\nPrepárate. +gz.finish = Construye más torretas, extrae más recursos,\ny defiéndete de todas las oleadas para [accent]capturar este sector[]. +onset.mine = Haz clic para minar \uf748 [accent]berilio[] de las paredes.\n\nUsa [accent][[WASD] para moverte. +onset.mine.mobile = Toca para minar \uf748 [accent]berilio[] de las paredes. +onset.research = Abre el \ue875 menú de investigaciones.\nInvestiga y construye una \uf73e [accent]turbina condensadora[] en la grieta.\nEsto generará [accent]energía[]. +onset.bore = Investiga y construye un \uf741 [accent]perforador de plasma[].\nEste minará recursos de las paredes automáticamente. +onset.power = Para [accent]encender[] el perforador de plasma, investiga y coloca un \uf73d [accent]nodo de energía ortogonal[].\nConecta la turbina condensadora al perforador de plasma. +onset.ducts = Investiga y construye \uf799 [accent]conductos[] para mover los recursos minados desde el perforador de plasma hasta el núcleo.\nArrastra para formar una cadena de transporte con múltiples bloques de conducto.\nUsa la [accent]rueda del ratón[] para cambiar la dirección. +onset.ducts.mobile = Investiga y construye \uf799 [accent]conductos[] para mover los recursos minados desde el perforador de plasma hasta el núcleo.\n\nPresiona por un segundo y arrastra para crear múltiples bloques de conducto. +onset.moremine = Expande la operación minera.\nConstruye más perforadores de plasma y usa nodos de energía ortogonales y conductos para complementarlos.\nExtrae 200 de berilio. +onset.graphite = Otros bloques más complejos requieren \uf835 [accent]grafito[].\nConstruye perforadores de plasma para extraer grafito. +onset.research2 = Empieza a investigar las [accent]fábricas[].\nDesbloquea el \uf74d [accent]triturador de paredes[] y el \uf779 [accent]horno de arco de silicio[]. +onset.arcfurnace = El horno de arco necesita \uf834 [accent]arena[] y \uf835 [accent]grafito[] para producir \uf82f [accent]silicio[].\nTambién requiere [accent]energía[] para funcionar. +onset.crusher = Usa los \uf74d [accent]trituradores de paredes[] para conseguir arena. +onset.fabricator = Usa [accent]unidades[] para explorar el mapa, defender tus estructuras, y atacar al enemigo. Investiga y construye un \uf6a2 [accent]fabricador de tanques[]. +onset.makeunit = Produce una unidad.\nUsa el botón "?" para ver los requisitos de la fábrica seleccionada. +onset.turrets = Las unidades son efectivas, pero las [accent]torretas[] pueden ofrecer mejores capacidades defensivas si se usan de forma efectiva.\nConstruye una torreta \uf6eb [accent]Breach[].\nLas torretas requieren \uf748 [accent]munición[]. +onset.turretammo = Suministra [accent]munición de berilio[] a la torreta. +onset.walls = Los [accent]muros[] pueden evitar que las estructuras reciban daño.\nColoca unos \uf6ee [accent]muros de berilio[] alrededor de la torreta. +onset.enemies = Se aproxima un enemigo, prepárate para defenderte. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = El enemigo es ahora vulnerable. Contraataca. +onset.cores = Se pueden colocar nuevos núcleos sobre las [accent]zonas de núcleo[].\nLos núcleos adicionales funcionan como bases avanzadas y comparten el inventario de recursos con otros núcleos.\nColoca un \uf725 núcleo. +onset.detect = El enemigo te detectará en 2 minutos.\nEstablece sistemas de defensa, minería, y producción. + +#Don't translate these yet! +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Algunos bloques pueden ser recogidos por la unidad del núcleo.\nRecoge este [accent]contenedor[] y suéltalo sobre el [accent]puerto de carga[].\n(Las teclas por defecto son [ para recoger y ] para soltar la carga) +split.pickup.mobile = Algunos bloques pueden ser recogidos por la unidad del núcleo.\nRecoge este [accent]contenedor[] y suéltalo sobre el [accent]puerto de carga[].\n(Para recoger o soltar algo, mantenlo pulsado.) +split.acquire = Necesitas recolectar tungsteno para construir unidades. +split.build = Debes transportar las unidades al otro lado del muro.\nConstruye dos [accent]catapultas electromagnéticas de carga[], uno a cada lado del muro.\nEnlázalos pulsando sobre uno, y luego seleccionando el otro. +split.container = Igual que los contenedores, las unidades también se pueden transportar usando [accent]catapultas electromagnéticas de carga[].\nConstruye un fabricador de unidades adyacente a una catapulta electromagnética, así podrás enviarlas através del muro para atacar la base enemiga. + +item.copper.description = Usado en todo tipo de bloques y munición. item.copper.details = Cobre. Metal anormalmente abundante en Serpulo. Estructuralmente débil a menos que sea reforzado. -item.lead.description = Un material básico. Usado en electrónicos y transferencia de líquidos. -item.lead.details = Denso. Inerte. Extensamente usado en baterías.\nNota: Suele ser tóxico para la mayoría de formas de vida biológicas. Aunque ya no quedan muchas de esas por aquí. +item.lead.description = Usado en estructuras elécticas y transferencia de líquidos. +item.lead.details = Denso. Inerte. Usado en baterías.\nNota: Suele ser tóxico para la mayoría de formas de vida biológicas. Aunque ya no quedan muchas de esas por aquí. item.metaglass.description = Usado en almacenamiento y distribución de líquidos. item.graphite.description = Carbón mineralizado, usado como munición y en componentes eléctricos. item.sand.description = Es usada sobre todo para producir otros minerales refinados. item.coal.description = Se usa como combustible y también en la producción de materiales refinados. -item.coal.details = Parece ser materia vegetal fosilizada, formada hace mucho tiempo. -item.titanium.description = Usado en transporte de liquidos, taladros y aeronaves. +item.coal.details = Parece ser materia vegetal fosilizada, formada mucho antes del evento de "Sembrado" +item.titanium.description = Usado en transporte de liquidos, taladros y fábricas. item.thorium.description = Usado en estructuras robustas y como combustible nuclear. -item.scrap.description = Usado en fundidores y pulverizadores para refinarlo en otros materiales. +item.scrap.description = Usada en fundidores y pulverizadores para refinarlo en otros materiales. item.scrap.details = Restos de antiguas estructuras y unidades caídas. -item.silicon.description = Usado en paneles solares, electrónicos complejos y munición inteligente. +item.silicon.description = Usado en paneles solares, electrónicos complejos y munición guiada. item.plastanium.description = Usado en unidades avanzadas, aislamiento y munición de fragmentación. item.phase-fabric.description = Usado en electrónicos avanzados y estructuras autoreparadoras. item.surge-alloy.description = Usado en armamento avanzado y estructuras de defensa reactiva. item.spore-pod.description = Se puede usar como combustible, o para obtener petróleo y explosivos. -item.spore-pod.details = Esporas. Es algo parecido a una forma de vida sintética. Emiten gases tóxicos para el resto de vida biológica. Extremadamente invasivo. Altamente inflamable bajo determinadas condiciones. +item.spore-pod.details = Esporas. Son algo parecido a una forma de vida sintética. Emiten gases tóxicos para el resto de vida biológica. Extremadamente invasivo. Altamente inflamable bajo determinadas condiciones. item.blast-compound.description = Usado en bombas y munición explosiva. -item.pyratite.description = Usado en armas incendiarias y generadores de combustión. +item.pyratite.description = Usado en armas incendiarias y generadores de combustión. -liquid.water.description = Usada comúnmente para enfriar máquinas y para procesar residuos. +# Erekir +item.beryllium.description = Usado en varios tipos de estructuras y munición en Erekir. +item.tungsten.description = Se usa en taladros, blindajes y munición. Es un componente esencial en la construcción de estructuras avanzadas. +item.oxide.description = Se usa como conductor térmico y aislante eléctrico. +item.carbide.description = Se usa en estructuras avanzadas, unidades pesadas, y munición. + +liquid.water.description = Usado para enfriar máquinas y para procesar residuos. liquid.slag.description = Diferentes tipos de metales fundidos mezclados. Puede ser separado en sus minerales constituyentes, o disparado a unidades enemigas como arma. liquid.oil.description = Se utiliza en producción de materiales avanzados, y en munición incendiaria. liquid.cryofluid.description = Usado como refrigerante para reactores, torretas, y fábricas. -block.resupply-point.description = Reabastece unidades cercanas con munición de cobre. No es compatible con unidades que requieren energía. -block.armored-conveyor.description = Mueve objetos. No acepta objetos si entran por los lados. +# Erekir +liquid.arkycite.description = Se usa en reacciones químicas para generar energía y sintetizar materiales. +liquid.ozone.description = Usado como agente oxidante en la producción de materiales, y como combustible. Moderadamente explosivo. +liquid.hydrogen.description = Se usa en la extracción de recursos, producción de unidades, y reparación de estructuras. Inflamable. +liquid.cyanogen.description = Se usa en municiones, producción de unidades avanzadas, y reacciones en bloques avanzados. Altamente inflamable. +liquid.nitrogen.description = Se usa en extracción de recursos, producción de gas y construcción de unidades. Inerte. +liquid.neoplasm.description = Un peligroso derivado biológico del reactor de Neoplasia. Se propaga rápidamente a través de cualquier bloque con agua con el que entre en contacto, deteriorándolo en el proceso. Viscoso. +liquid.neoplasm.details = Neoplasma. Una incontrolable masa fangosa de células sintéticas que expande rápidamente. Resiste el calor. Es extremadamente peligroso para cualquier estructura relacionada con agua.\n\nDemasiado complejo e inestable para analizarlo. Se desconocen sus posibles aplicaciones. Se recomienda incinerarlo en lagos de magma. + +block.derelict = [lightgray]Abandonado +block.armored-conveyor.description = Mueve objetos. No los acepta si entran por los lados. block.illuminator.description = Emite luz. -block.message.description = Almacena un mensaje. Puedes usarlo para comunicarte con aliados o dejar recordatorios. +block.message.description = Almacena un mensaje para comunicarte con tus aliados o dejar recordatorios. +block.reinforced-message.description = Almacena un mensaje para comunicarte con tus aliados. +block.world-message.description = Un bloque de mensaje empleado en la creación de mapas. No se puede destruir. block.graphite-press.description = Comprime carbón en piezas de grafito puro. -block.multi-press.description = Una versión mejorada de la prensa de grafito. Utiliza agua y energía para procesar carbón rápida y eficientemente. -block.silicon-smelter.description = Reduce la arena con carbón puro. Produce silicio. -block.kiln.description = Funde arena y plomo en metacristal. Requiere cantidades pequeñas de energía para funcionar. -block.plastanium-compressor.description = Produce plastanio con aceite y titanio. -block.phase-weaver.description = Produce tejido de fase del torio radioactivo y altas cantidades de arena. -block.alloy-smelter.description = Produce aleación eléctrica con titanio, plomo, silicio y cobre. -block.cryofluid-mixer.description = Combina agua y titanio en líquido criogénico, que es mucho más eficiente para enfriar. -block.blast-mixer.description = Usa aceite para transformar pirotita en un objeto menos inflamable pero más explosivo: el compuesto explosivo. -block.pyratite-mixer.description = Mezcla carbón, plomo y arena en pirotita altamente inflamable. -block.melter.description = Calienta piedra a temperaturas muy altas para obtener lava. -block.separator.description = Expone piedra a la presión del agua para obtener diversos minerales contenidos en la piedra. -block.spore-press.description = Comprime esporas en petróleo. -block.pulverizer.description = Despedaza la piedra en arena. Útil cuando no hay arena natural. -block.coal-centrifuge.description = Solidifica petróleo en piezas de carbón. -block.incinerator.description = Se deshace de cualquier líquido o material producido en exceso. -block.power-void.description = Elimina toda la energía que se le da. Solo en disponible en el modo Libre. -block.power-source.description = Da energía infinita. Solo disponible en el modo Libre. -block.item-source.description = Hace aparecer minerales de forma infinita. Solo disponible en el modo Libre. -block.item-void.description = Destruye cuanquier objeto que entra en él. Solo disponible en el modo Libre. -block.liquid-source.description = Da líquido infinito. Solo disponible en el modo Libre. -block.liquid-void.description = Elimina cualquier liquido que entra en él. Solo disponible en el modo Libre. -block.copper-wall.description = Un bloque defensivo barato.\nÚtil para defender el núcleo y las torres en las primeras oleadas. -block.copper-wall-large.description = Un bloque defensivo barato.\nÚtil para defender el núcleo y las torres en las primeras oleadas.\nOcupa múltiples casillas. -block.titanium-wall.description = Un bloque defensivo moderadamente fuerte.\nProporciona protección moderada contra los enemigos. -block.titanium-wall-large.description = Un bloque defensivo moderadamente fuerte.\nProporciona protección moderada contra los enemigos.\nOcupa múltiples casillas. -block.plastanium-wall.description = Un tipo especial de pared que absorbe los arcos eléctricos y bloquea las conexiones automáticas de los nodos de potencia.. -block.plastanium-wall-large.description = Un tipo especial de pared que absorbe los arcos eléctricos y bloquea las conexiones automáticas de los nodos de potencia.\nOcupa múltiples casillas. -block.thorium-wall.description = Un bloque defensivo fuerte.\nBuena protección contra enemigos. -block.thorium-wall-large.description = Un bloque defensivo fuerte.\nBuena protección contra enemigos.\nOcupa múltiples casillas. -block.phase-wall.description = No es tan fuerte como un muro de torio pero hace rebotar las balas del enemigo si no son demasiado fuertes. -block.phase-wall-large.description = No es tan fuerte como un muro de torio pero rebota balas al enemigo si no son demasiado fuertes.\nOcupa múltiples casillas. -block.surge-wall.description = El bloque defensivo más fuerte.\nTiene una pequeña probabilidad de disparar rayos al atacante. -block.surge-wall-large.description = El bloque defensivo más fuerte.\nTiene una pequeña probabilidad de disparar rayos al atacante.\nOcupa múltiplies casillas. -block.door.description = Una puerta pequeña que puede ser abierta y cerrada tocándola.\nSi está abirta, los enemigos pueden moverse y disparar a través de ella. -block.door-large.description = Una puerta grande que puede ser abierta y cerrada tocándola.\nSi está abirta, los enemigos pueden moverse y disparar a través de ella.\nOcupa múltiples casillas. -block.mender.description = Repara bloques cercanos de forma constante. Mantiene a las defensas reparadas entre oleadas. Puede usar silicio opcionalmente para mejorar el alcance y la eficiencia. -block.mend-projector.description = Regenera edificios cercanos de forma constante. Ocupa multiples casillas. -block.overdrive-projector.description = Aumenta la velocidad de edificios cercanos como taladros y transportadores. -block.force-projector.description = Crea un área de fuerza hexagonal alrededor de él, protegiendo edificios y unidades dentro de él del daño de las balas hasta que se agota. \nRequiere de un suministro constante de energía para mantenerse activo. -block.shock-mine.description = Daña enemigos que pisan a mina. Casi invisible al enemigo. -block.conveyor.description = Bloque de transporte básico. Mueve objetos hacia adelante y los deposita automáticamente en torres o fábricas. Rotable. -block.titanium-conveyor.description = Bloque de transporte avanzado. Mueve objetos más rápido que los transportadores estándar. -block.plastanium-conveyor.description = Mueve objetos por lotes.\nAcepta objetos por detrás, y los descarga en tres direcciones hacia el frente, como un enrutador. -block.junction.description = Actúa como puente para dos transportadores que se cruzan. Útil en situaciones con dos diferentes transportadores transportando diferentes materiales a diferentes lugares. -block.bridge-conveyor.description = Bloque avanzado de transporte. Puede transportar objetos por encima hasta 3 casillas de cualquier terreno o construcción. -block.phase-conveyor.description = Bloque de transporte avanzado. Usa energía para transportar objetos a otro transportador de fase conectado a través de varias casillas. -block.sorter.description = Clasifica objetos. Si un objeto es igual al seleccionado, pasará al frente. Si no, el objeto saldrá por la izquierda y la derecha. -block.inverted-sorter.description = Procesa elementos como un clasificador estándar, pero en su lugar pasa elementos seleccionados a los lados. -block.router.description = Acepta objetos de una dirección luego los deja equitativamente en hasta 3 direcciones diferentes. Útil para dividir los materiales de una fuente de recursos a múltiples objetivos. \n\n[scarlet]Nunca usar como entrada de producción porque puede tapar con los objetos de salida.[] -block.router.details = Un mal necesario... No se recomienda usarlo junto a estructuras de producción ya que puede atascar una cadena de transporte. -block.distributor.description = Un enrutador avanzado que distribuye objetos equitativamente en hasta otras 7 direcciones. -block.overflow-gate.description = Un enrutador que solo saca por la izquierda y la derecha si la cinta del frente está llena. -block.underflow-gate.description = El opuesto de la compuerda de desborde. Solo dispensa hacia el frente si los lados están bloqueados. -block.mass-driver.description = El mejor bloque de transorte. Recoge varios objetos y los dispara a otro conductor de masa en un largo rango. Requiere energía para operar. -block.mechanical-pump.description = Una bomba de agua barata algo lenta, pero funciona sin energía. -block.rotary-pump.description = Una bomba algo mas avanzada. Bombea más líquido, pero requiere energía. -block.thermal-pump.description = La mejor bomba de líquidos. Utiliza energía. -block.conduit.description = Bloque de transporte de líquidos básico. Funciona como un transportador, pero con líquidos. Usado con bombas, extractores u otros conductos. -block.pulse-conduit.description = Bloque de transporte de líquidos avanzado. Transporta líquidos más rápidamente y almacena más que los conductos estándar. -block.plated-conduit.description = Mueve líquidos a la misma velocidad que los conductos de pulso, pero posee más armadura. No acepta líquidos de los lados por otra cosa que no sean conductos.\nGotea menos. -block.liquid-router.description = Acepta líquidos de una dirección y los deja en hasta 3 direcciones equitativamente. También puede almacenar cierta capacidad de líquido. Útil para dividir los líquidos de una fuente a varios objetivos. -block.liquid-tank.description = Almacena una gran cantidad de líquidos. Úsalo para crear almacenes cuando no hay una demanda constante de materiales o para asegurarse de enfriar bloques vitales. -block.liquid-junction.description = Actúa como un puente para dos condusctos que se cruzan. Útil en situaciones en las que hay dos conductos con líquidos diferentes a diferentes lugares. -block.bridge-conduit.description = Bloque avanzado de transporte de líquidos. Permite transportar líquidos por encima de hasta 3 casillas de cualquier terreno o construcción. -block.phase-conduit.description = Bloque de transporte de líquidos avanzado. Usa energía para transportar líquidos a otro conducto de fase conectado a través de varias casillas. -block.power-node.description = Transmite energía a nodos conectados, conecta hasta diez fuentes de energía, edificios que usan energía o nodos. El nodo obtendrá o transmitirá energía de cualquier bloque adyacente. -block.power-node-large.description = Tiene un radio más amplio que el nodo de energía y conecta hasta diez fuentes de energía, edificios que usan energía o nodos. -block.surge-tower.description = Un nodo con un gran alcance, pero sólo dos conexiones disponibles. -block.diode.description = La energía de la batería puede fluir a través de este bloque en una sola dirección, pero solo si el otro lado tiene menos energía almacenada. -block.battery.description = Guarda energía cuando hay abundancia y proporciona energía cuando hay escasez de energía mientras la batería tenga energía. -block.battery-large.description = Almacena mucha más energía que una batería normal. -block.combustion-generator.description = Genera energía quemando materiales inflamables o petróleo. -block.thermal-generator.description = Genera una gran cantidad de energía con la lava. -block.steam-generator.description = Más eficiente que un generador de combustión, pero requiere agua adicional. -block.differential-generator.description = Genera grandes cantidades de energía. Utiliza la diferencia de temperatura entre el fluído criogenico y la quema de pirotita. -block.rtg-generator.description = Un generador radioisótropo termoeléctrico que no necesita enfriamiento, pero proporciona menos energía que un reactor de torio. -block.solar-panel.description = Proporciona una pequeña cantidad de energía. -block.solar-panel-large.description = Genera un mayor suministro de energía que un panel solar estándar, pero también es mucho más caro de construir. -block.thorium-reactor.description = Genera grandes cantidades de energía del torio altamente radioactivo. Necesita enfriamiento constante. Explotará violentamente si no se le aporta suficiente enfriamiento. -block.impact-reactor.description = Un generador avanzado, capaz de crear cantidades masivas de energía a máxima eficiencia. Requiere una cantidad significante de energía para impulsar el comienzo del proceso. -block.mechanical-drill.description = Un taladro barato. Cuando es colocado en casillas apropiadas, extrae objetos lentamente de forma indefinida. Solo es capaz de minar recursos básicos. -block.pneumatic-drill.description = Un taladro mejorado, es capaz de minar titanio. Más rápido que un taladro mécanico. -block.laser-drill.description = Su tecnología láser le permite obtener minerales incluso más rápido, pero requiere energía. Además, se puede obtener torio radioactivo con este taladro. -block.blast-drill.description = El mejor taladro. Requiere grandes cantidades de energía y refrigeración. -block.water-extractor.description = Extrae agua de la tierra. Úsalo cuando no haya lagos cercanos. -block.cultivator.description = Cultiva concentraciones de esporas en la atmosfera a vainas. +block.multi-press.description = Utiliza agua y energía para procesar carbón más eficientemente. +block.silicon-smelter.description = Refina silicio procesando arena y carbón. +block.kiln.description = Funde arena y plomo en metacristal. +block.plastanium-compressor.description = Produce plastanio con petróleo y titanio. +block.phase-weaver.description = Produce tejido de fase a partir del torio radioactivo y altas cantidades de arena. +block.surge-smelter.description = Funde titanio, plomo, silicio y cobre para producir aleación eléctica. +block.cryofluid-mixer.description = Mezcla agua y polvo de titanio refinado para obtener líquido criogénico. +block.blast-mixer.description = Usa esporas para transformar pirotita en compuestos explosivos. +block.pyratite-mixer.description = Produce pirotita mezclando carbón, plomo y arena. +block.melter.description = Funde chatarra para producir magma. +block.separator.description = Separa el magma en sus componentes minerales. +block.spore-press.description = Comprime vainas de esporas en petróleo. +block.pulverizer.description = Prensa chatarra hasta obtener arena. +block.coal-centrifuge.description = Solidifica petróleo en trozos de carbón. +block.incinerator.description = Vaporiza cualquier líquido o material que recibe. +block.power-void.description = Elimina toda la energía que recibe. Solo disponible en el modo Libre. +block.power-source.description = Genera energía infinita. Solo disponible en el modo Libre. +block.item-source.description = Genera objetos de forma infinita. Solo disponible en el modo Libre. +block.item-void.description = Destruye los objetos que entran en él. Solo disponible en el modo Libre. +block.liquid-source.description = Genera cualquier líquido de forma infinita. Solo disponible en el modo Libre. +block.liquid-void.description = Elimina los liquidos que entran en él. Solo disponible en el modo Libre. +block.payload-source.description = Genera estructuras o unidades de forma infinita. Solo disponible en el modo Libre. +block.payload-void.description = Destruye cualquier bloque o unidad. Solo disponible en el modo Libre. +block.copper-wall.description = Protege estructuras de proyectiles enemigos. +block.copper-wall-large.description = Protege estructuras de proyectiles enemigos. +block.titanium-wall.description = Protege estructuras de proyectiles enemigos. +block.titanium-wall-large.description = Protege estructuras de proyectiles enemigos. +block.plastanium-wall.description = Protege estructuras de proyectiles enemigos. Absorbe láseres y rayos. Bloquea las conexiones automáticas de nodos de energía. +block.plastanium-wall-large.description = Protege estructuras de proyectiles enemigos. Absorbe láseres y rayos. Bloquea las conexiones automáticas de nodos de energía. +block.thorium-wall.description = Protege estructuras de proyectiles enemigos. +block.thorium-wall-large.description = Protege estructuras de proyectiles enemigos. +block.phase-wall.description = Protege estructuras de proyectiles enemigos. Puede reflejar la mayoría de proyectiles al imapctar. +block.phase-wall-large.description = Protege estructuras de proyectiles enemigos. Puede reflejar la mayoría de proyectiles al impactar. +block.surge-wall.description = Protege estructuras de proyectiles enemigos. Al contaco, libera arcos eléctricos periódicamente. +block.surge-wall-large.description = Protege estructuras de proyectiles enemigos. Al contaco, libera arcos eléctricos periódicamente. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Un muro que puede estar cerrado o abierto, permitiendo el paso a través de él. +block.door-large.description = Un muro que puede estar cerrado o abierto, permitiendo el paso a través de él. +block.mender.description = Repara estructuras cercanas constantemente. Puede usar silicio para potenciar su alcance y eficiencia. +block.mend-projector.description = Repara estructuras cercanas constantemente. Puede usar tejido de fase para potenciar su alcance y eficiencia. +block.overdrive-projector.description = Incrementa la velocidad de estructuras cercanas. Puede usar tejido de fase para potenciar su alcance y eficiencia. +block.force-projector.description = Crea un campo de fuerza hexagonal a su alrededor, protegiendo unidades y estructuras cercanas.\nSe sobrecalentará si absorbe demasiado daño, lo que se puede evitar utilizando refrigerante. Se puede usar tejido de fase para aumentar el escudo. +block.shock-mine.description = Libera arcos eléctricos al contacto con una unidad enemiga. +block.conveyor.description = Mueve objetos hacia adelante. +block.titanium-conveyor.description = Mueve objetos más rápido. +block.plastanium-conveyor.description = Mueve objetos por lotes.\nAcepta objetos por detrás, y al final divide cada lote en hasta tres direcciones válidas. Requiere múltiples puntos de entrada y salida para alcanzar su máxima eficacia. +block.junction.description = Actúa como puente para dos transportadores que se cruzan. +block.bridge-conveyor.description = Transporta objetos sobre cualquier terreno o estructura. +block.phase-conveyor.description = Transporta objetos instantáneamente sobre cualquier terreno o estructura. Tiene un mayor alcance que el puente básico, pero requiere energía. +block.sorter.description = Si el objeto entrante es igual al seleccionado, pasará al frente. Si no, los objetos saldrán por la izquierda y la derecha. +block.inverted-sorter.description = Similar a un clasificador normal, pero devuelve el elemento seleccionado a los lados. +block.router.description = Distribuye los objetos entrantes hasta en 3 direcciones de salida equitativamente. +block.router.details = Un mal necesario... No se recomienda usarlo junto a estructuras de producción ya que los objetos de salida pueden atascar la entrada del mismo bloque, e incluso toda la cadena de transporte. +block.distributor.description = Distribuye objetos equitativamente en hasta otras 7 direcciones. +block.overflow-gate.description = Saca los objetos entrantes por los lados cuando la cinta del frente está llena. +block.underflow-gate.description = El opuesto de la compuerta de desborde. Sólo devuelve objetos hacia el frente cuando sus lados están bloqueados. +block.mass-driver.description = Estructura de transporte de largo alcance. Acumula varios objetos y los dispara a otro del mismo tipo. +block.mechanical-pump.description = Extrae y bombea líquidos. Funciona sin energía. +block.rotary-pump.description = Extrae y bombea líquidos. Requiere energía. +block.impulse-pump.description = Extrae y bombea líquidos. +block.conduit.description = Mueve líquidos hacia delante. Se usa junto con bombas y otras tuberías. +block.pulse-conduit.description = Transporta líquidos rápidamente y almacena más que las tuberías estándar. +block.plated-conduit.description = Transporta líquidos rápidamente. No acepta líquidos por los lados. No gotea. +block.liquid-router.description = Reparte el líquido entrante en hasta 3 direcciones equitativamente. También puede almacenar una pequeña cantidad de líquido. +block.liquid-container.description = Almacena líquidos. Lo devuelve en todas las direcciones de salida válidas, como un enrutador de líquidos. +block.liquid-tank.description = Almacena una gran cantidad de líquidos. Lo devuelve en todas direcciones, como un enrutador de líquidos. +block.liquid-junction.description = Actúa como un puente para dos tuberías que se cruzan. +block.bridge-conduit.description = Permite transportar líquidos sobre cualquier terreno o estructura. +block.phase-conduit.description = Tiene más alcance que una tubería puente normal, pero requiere energía. +block.power-node.description = Transmite energía a nodos conectados. Además, el nodo obtendrá o transmitirá energía de cualquier bloque adyacente. +block.power-node-large.description = Nodo de energía avanzado con un mayor alcance. +block.surge-tower.description = Un nodo de largo alcance, con sólo un par de conexiones disponibles. +block.diode.description = Mueve la energía entre baterías en una sola dirección, pero sólo si el otro lado tiene menos energía almacenada. +block.battery.description = Almacena energía cuando se genera en abundancia. Proporciona energía cuando escasea. +block.battery-large.description = Almacena energía cuando se genera en abundancia. Proporciona energía cuando escasea. Tiene más capacidad que una batería normal. +block.combustion-generator.description = Genera energía quemando materiales inflamables, como el carbón. +block.thermal-generator.description = Genera una gran cantidad de energía si se construye sobre zonas con altas temperaturas. +block.steam-generator.description = Genera energía quemando materiales inflamables y convirtiendo agua en vapor. +block.differential-generator.description = Genera grandes cantidades de energía. Utiliza la diferencia de temperatura entre el fluído criogenico y el quemado de pirotita. +block.rtg-generator.description = Usa el calor de generado en la descomposición de elementos radioactivos para producir energía lentamente. +block.solar-panel.description = Proporciona una pequeña cantidad de energía de los rayos solares. +block.solar-panel-large.description = Proporciona una pequeña cantidad de energía de los rayos solares. Es más eficiente que el panel solar estándar. +block.thorium-reactor.description = Genera grandes cantidades de energía procesando torio. Necesita enfriamiento constante. Explotará violentamente si no se refrigera constantemente. +block.impact-reactor.description = Capaz de crear cantidades masivas de energía a máxima eficiencia. Requiere una cantidad significante de energía para impulsar la producción. +block.mechanical-drill.description = Si se construye sobre vetas de minerales, extrae objetos lentamente de forma indefinida. Solo es capaz de minar recursos básicos. +block.pneumatic-drill.description = Un taladro mejorado, capaz de extraer titanio. Más rápido que un taladro mécanico. +block.laser-drill.description = Su tecnología láser le permite obtener minerales incluso más rápido, pero requiere energía. Puede extraer torio. +block.blast-drill.description = El mejor taladro. Requiere grandes cantidades de energía. +block.water-extractor.description = Extrae agua subterránea. Úsalo cuando no haya agua disponible en la superficie. +block.cultivator.description = Cultiva pequeñas concentraciones de esporas en la atmosfera en vainas de esporas. block.cultivator.details = Tecnología recuperada. Usada para producir cantidades masivas de biomasa. Parecido al primer incubador de esporas, que ahora cubren Serpulo. -block.oil-extractor.description = Usa grandes cantidades de energía, arena y agua para obtener petróleo. Úsalo cuando no hay fuentes directas de petróleo cerca. -block.core-shard.description = El núcleo de la base. Compacto. Puede auto-replicarse. Equipado con propulsores de uso único. -block.core-shard.details = La primera iteración. Si es destruido, todo contacto con el sector está perdido. No designado para viajes interplanetarios. +block.oil-extractor.description = Usa grandes cantidades de energía, arena y agua para obtener petróleo. +block.core-shard.description = El núcleo de la base. Si es destruido, todo contacto con el sector está perdido. +block.core-shard.details = La primera iteración. Compacto. Puede auto-replicarse. Equipado con propulsores de uso único. No designado para viajes interplanetarios. block.core-foundation.description = El núcleo de la base. Mejor blindado. Almacena más recursos que el modelo Shard. block.core-foundation.details = La segunda iteración. block.core-nucleus.description = El núcleo de la base. Extremadamente bien armado. Almacena cantidades masivas de recursos. block.core-nucleus.details = La tercera y última iteración. -block.vault.description = Almacena una gran cantidad de objetos. Úsalo para crear almacenes cuando no hay una demanda constante de materales. Un [lightgray] descargador[] puede usarse para obtener los objetos almacenados. -block.container.description = Almacena una pequeña cantidad de objetos. Úsalo para crear almacenes cuando no hay una demanda constante de materales. Un [lightgray] descargador[] puede usarse para obtener objetos del contenedor. -block.unloader.description = Descarga objetos de un contenedor, almacén o el núcleo a un transportador o directamente a un bloque adyacente. El tipo de objeto descargado puede ser cambiado tocando el descagador. -block.launch-pad.description = Lanza paquetes de recursos a los sectores seleccionados. -block.duo.description = Una torre pequeña y barata. Útil contra enemigos terrestres no demasiado fuertes. -block.scatter.description = Una torreta antiaérea de tamaño medio. Dispara proyectiles de plomo o chatarra a las unidades enemigas. +block.vault.description = Almacena una gran cantidad de objetos de cada tipo. Su contenido se puede recuperar con un descargador. +block.container.description = Almacena una pequeña cantidad de objetos de cada tipo. Su contenido se puede recuperar con un descargador. +block.unloader.description = Descarga el objeto seleccionado de bloques cercanos. +block.launch-pad.description = Lanza lotes de recursos a los sectores seleccionados. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = Dispara balas sencillas a los enemigos. +block.scatter.description = Dispara proyectiles de plomo, chatarra o metacristal a las unidades aéreas enemigas. block.scorch.description = Quema a cualquier enemigo terrestre cercano a él. Altamente efectivo a corto alcance. -block.hail.description = Una torre de artillería pequeña de largo alcance. -block.wave.description = Una torre de tamaño mediano. Dispara chorros de líquido a enemigos. Apaga el fuego en su rango de acción si recibe agua. -block.lancer.description = Una torre láser anti-terrestre de tamaño mediano. Dispara y carga poderosos rayos de energía. -block.arc.description = Una pequeña torre eléctrica de rango corto. Dispara arcos de electricidad a los enemigos. -block.swarmer.description = Una torre de tamaño mediano que dispara misiles. Ataca a aire y tierra. Dispara misiles teledirigidos. -block.salvo.description = Una versión más grande y avanzada de la torre dúo. Dispara ráfagas a enemigos terrestres y aéreos. -block.fuse.description = Una torre grande de energía de corto alcance. Dispara tres rayos perforantes a enemigos cercanos. -block.ripple.description = Una torre extramadamente poderosa. Dispara conjuntos de balas a los enemigos desde grandes distancias. -block.cyclone.description = Una torre grande anti-aérea y anti-terrestre. Dispara conjuntos fragmentados explosivos a enemigos cercanos. -block.spectre.description = Un cañon masivo de dos barriles. Dispara balas perforantes a objetivos de aire y tierra. -block.meltdown.description = Un cañon láser masivo. Carga y dispara un rayo láser continuo a enemigos cercanos. Requiere enfriamiento para operar. -block.foreshadow.description = Dispara un rayo de un solo objetivo a grandes distancias. +block.hail.description = Dispara proyectiles a enemigos terrestres sobre largas distancias. +block.wave.description = Dispara chorros de líquido a enemigos. Apaga fuego automáticamente si se lo suministra con agua. +block.lancer.description = Carga y dispara poderosos rayos de energía a objetivos terrestres. +block.arc.description = Dispara arcos de electricidad a objetivos terrestres. +block.swarmer.description = Dispara misiles autodirigidos a enemigos. +block.salvo.description = Dispara ráfagas de balas a enemigos. +block.fuse.description = Dispara tres rayos perforantes de corta distancia a enemigos cercanos. +block.ripple.description = Dispara cúmulos de balas a los enemigos desde grandes distancias. +block.cyclone.description = Dispara fragmentados explosivos a enemigos cercanos. +block.spectre.description = Dispara poderosas balas perforantes a objetivos aéreos y terrestres. +block.meltdown.description = Carga y dispara un poderoso rayo láser persistente. Necesita refrigerante para funcionar. +block.foreshadow.description = Dispara un rayo de objetivo único a larga distancia. Prioriza enemigos con mayor salud máxima. block.repair-point.description = Repara constantemente la unidad dañada más cercana dentro de su área. -block.segment.description = Daña y destruye proyectiles que se acerquen. No afecta a los láseres. +block.segment.description = Daña y destruye proyectiles enemigos. No afecta a láseres. block.parallax.description = Dispara un rayo tractor que atrae enemigos aéreos, dañándolos en el proceso. block.tsunami.description = Dispara poderosos torrentes de líquido a los enemigos. También apaga fuegos automáticamente si se lo abastece con agua. block.silicon-crucible.description = Refina silicio a partir de arena y carbón, usando pirotita como una fuente de calor adicional. Es más eficiente en lugares cálidos. -block.disassembler.description = Separa magma cantidades moderadas de componentes minerales exóticos con baja eficiencia. Puede producir Torio. -block.overdrive-dome.description = Incrementa la velocidad de estructuras cercanas. Requiere Tejido de Fase, y Silicio para operar. -block.payload-conveyor.description = Mueve tanto grandes cargas, como unidades recién ensambladas de sus fábricas. +block.disassembler.description = Separa magma en cantidades moderadas de componentes minerales exóticos con baja eficiencia. Puede producir Torio. +block.overdrive-dome.description = Incrementa la velocidad de estructuras cercanas. Requiere tejido de fase y silicio para operar. +block.payload-conveyor.description = Mueve grandes cargas, como estructuras o unidades recién ensambladas de sus fábricas. block.payload-router.description = Divide las cargas entrantes en 3 direcciones de salida. -block.command-center.description = Controla el comportamiento de las unidades con diferentes órdenes. -block.ground-factory.description = Produce unidades terrestres. Las unidades resultantes se pueden usar directamente, o se pueden llevar a reconstructores para mejorarlas. -block.air-factory.description = Produce unidades aéreas. Las unidades resultantes se pueden usar directamente, o se pueden llevar a reconstructores para mejorarlas. -block.naval-factory.description = Produce unidades navales. Las unidades resultantes se pueden usar directamente, o se pueden llevar a reconstructores para mejorarlas. +block.ground-factory.description = Produce unidades terrestres. Las unidades resultantes se pueden usar directamente, o se pueden transportar a reconstructores para mejorarlas. +block.air-factory.description = Produce unidades aéreas. Las unidades resultantes se pueden usar directamente, o se pueden tranportar a reconstructores para mejorarlas. +block.naval-factory.description = Produce unidades navales. Las unidades resultantes se pueden usar directamente, o se pueden transportar a reconstructores para mejorarlas. block.additive-reconstructor.description = Mejora unidades a segunda categoría. block.multiplicative-reconstructor.description = Mejora unidades a tercera categoría. block.exponential-reconstructor.description = Mejora unidades a cuarta categoría. @@ -1461,41 +2239,434 @@ block.micro-processor.description = Ejecuta una secuencia de instrucciones lógi block.logic-processor.description = Ejecuta una secuencia de instrucciones lógicas en bucle. Se puede usar para controlar unidades y estructuras. Es más rápido que el microprocesador. block.hyper-processor.description = Ejecuta una secuencia de instrucciones lógicas en bucle. Se puede usar para controlar unidades y estructuras. Es más rápido que el procesador lógico. block.memory-cell.description = Almacena información para los procesadores lógicos. -block.memory-bank.description = Almacena información para los procesadores lógicos. Alta capacidad. -block.logic-display.description = Muestra gráficos arbitrarios desde un procesador lógico. -block.large-logic-display.description = También muestra gráficos arbitrarios desde un procesador lógico. +block.memory-bank.description = Almacena información para los procesadores lógicos. Alta capacidad. +block.logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico. +block.large-logic-display.description = Muestra gráficos arbitrarios dibujados desde un procesador lógico. block.interplanetary-accelerator.description = Una torre de proyección electromagnética masiva. Acelera núcleos hasta la velocidad necesaria para escapar del campo gravitatorio del planeta, habilitando el despliegue interplanetario. +block.repair-turret.description = Repara continuamente la unidad dañada más cercana dentro de su alcance. Opcionalmente acepta refrigerante. + +# Erekir +block.core-bastion.description = Núcleo de la base. Blindado. Una vez destruido, se pierde toda comunicación con el sector. +block.core-citadel.description = Núcleo de la base. Altamente reforzado. Almacena más recursos que un núcleo Bastion. +block.core-acropolis.description = Núcleo de la base. Posee un blindaje excepcional. Puede almacenar aún más recursos que un núcleo Citadel. +block.breach.description = Dispara munición de berilio o tungsteno a los objetivos enemigos. +block.diffuse.description = Dispara una ráfaga de proyectiles que se dispersan en un área de cono. Empuja a los enemigos. +block.sublimate.description = Dispara un rayo de fuego continuo que perfora la armadura de los enemigos. +block.titan.description = Dispara un proyectil de artillería explosivo a objetivos terrestres. Requiere hidrógeno. +block.afflict.description = Dispara un gran orbe cargado de fragmentación antiaérea. Requiere calor. +block.disperse.description = Dispara ráfagas de proyectiles a enemigos aéreos. +block.lustre.description = Dispara un láser lento y de objetivo único a los enemigos. +block.scathe.description = Lanza un poderoso misil a objetivos terrestres desde grandes distancias. +block.smite.description = Dispara ráfagas de balas eléctricas y perforantes. +block.malign.description = Bombardea a los enemigos con cargas de láseres dirigidos. Requiere mucho calor. +block.silicon-arc-furnace.description = Refina silicio usando arena y grafito. +block.oxidation-chamber.description = Convierte berilio y ozono en óxido. También emite calor. +block.electric-heater.description = Calienta los bloques a los que apunta. Requiere grandes cantidades de energía. +block.slag-heater.description = Calienta los bloques a los que apunta. Requiere magma. +block.phase-heater.description = Calienta los bloques a los que apunta. Requiere tejido de fase. +block.heat-redirector.description = Redirige el calor que acumula a otros bloques. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Distribuye el calor acumulado en tres direcciones de salida. +block.electrolyzer.description = Convierte agua en hidrógeno y gas de ozono. +block.atmospheric-concentrator.description = Concentra el nitrógeno disperso en la atmósfera. Requiere calor. +block.surge-crucible.description = Genera aleación eléctrica usando magma y silicio. Requiere calor. +block.phase-synthesizer.description = Sintetiza tejido de fase usando torio, arena, y ozono. Requiere calor. +block.carbide-crucible.description = Combina grafito y tungsteno en carburo. Requiere calor. +block.cyanogen-synthesizer.description = Sintetiza cianógeno usando arquicita y grafito. Requiere calor. +block.slag-incinerator.description = Incinera líquidos u objetos no volátiles. Requiere magma. +block.vent-condenser.description = Condensa gases en agua. Consume energía. +block.plasma-bore.description = Si se coloca mirando hacia un muro con minerales, genera objetos indefinidamente. Requiere pequeñas cantidades de energía. +block.large-plasma-bore.description = Un láser de plasma más grande, capaz de extraer tungsteno y torio. Requiere hidrógeno y energía. +block.cliff-crusher.description = Tritura paredes, extrayendo arena indefinidamente. Requiere energía. Su eficiencia depende del tipo de pared. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Si se coloca sobre un mineral, extraerá ráfagas de objetos indefinidamente. Requiere energía y agua. +block.eruption-drill.description = Un taladro de impacto mejorado, capaz de extraer torio. Requiere hidrógeno. +block.reinforced-conduit.description = Mueve fluidos en una dirección. Sus lados no se conectarán con otros tipos de bloques, salvo que también sean tuberías. +block.reinforced-liquid-router.description = Distribuye fluidos equitativamente en todas direcciones. +block.reinforced-liquid-tank.description = Almacena una gran cantidad de fluidos. +block.reinforced-liquid-container.description = Almacena una cantidad considerable de fluidos. +block.reinforced-bridge-conduit.description = Transporta fluidos sobre el terreno o estructuras. +block.reinforced-pump.description = Bombea y extrae líquidos. Requiere hidrógeno. +block.beryllium-wall.description = Protege estructuras de proyectiles enemigos. +block.beryllium-wall-large.description = Protege estructuras de proyectiles enemigos. +block.tungsten-wall.description = Protege estructuras de proyectiles enemigos. +block.tungsten-wall-large.description = Protege estructuras de proyectiles enemigos. +block.carbide-wall.description = Protege estructuras de proyectiles enemigos. +block.carbide-wall-large.description = Protege estructuras de proyectiles enemigos. +block.reinforced-surge-wall.description = Protege estructuras de proyectiles enemigos. Libera periódicamente descargas eléctricas al impactar un proyectil. +block.reinforced-surge-wall-large.description = Protege estructuras de proyectiles enemigos. Libera periódicamente descargas eléctricas al impactar un proyectil. +block.shielded-wall.description = Protege estructuras de proyectiles enemigos. Si se le suministra energía, despliega un escudo que absorbe la mayoría de proyectiles. Es un buen conductor eléctrico. +block.blast-door.description = Un muro que se abre cuando se le acercan unidades aliadas terrestres. No se puede controlar manualmente. +block.duct.description = Mueve objetos en una dirección. Sólo puede almacenar un único objeto en su interior. +block.armored-duct.description = Mueve objetos en una dirección. Sus lados no se conectarán con bloques que no sean del mismo tipo. +block.duct-router.description = Distribuye objetos equitativamente en tres direcciones. Sólo acepta objetos de su parte trasera. Se puede configurar como un filtro de objetos. +block.overflow-duct.description = Sólo devuelve los objetos hacia los lados cuando su parte frontal está bloqueada. +block.duct-bridge.description = Transporta objetos sobre estructuras y el terreno. +block.duct-unloader.description = Descarga los objetos seleccionados del bloque tras de este. No puede descargar objetos de los núcleos. +block.underflow-duct.description = El opuesto al conducto de desbordamiento. Devuelve objetos hacia delante cuando se bloquean sus lados derecho e izquierdo. +block.reinforced-liquid-junction.description = Hace de cruce para dos tuberías que se cruzan. +block.surge-conveyor.description = Mueve objetos agrupados en lotes. Se puede acelerar si se le suministra energía. También conduce la energía. +block.surge-router.description = Extrae objetos de las cintas transportadoras eléctricas, distribuyéndolos en hasta tres direcciones. Se puede acelerar suministrándole energía. Conduce la energía. +block.unit-cargo-loader.description = Construye drones de carga. Estos drones distribuyen los objetos automáticamente en los "puntos de descarga" con el mismo filtro. +block.unit-cargo-unload-point.description = Puntos de descarga para los drones de carga. Aceptan objetos que coincidan con el filtro seleccionado. +block.beam-node.description = Transmite energía a otros bloques ortogonalmente. Almacena una pequeña cantidad de energía. +block.beam-tower.description = Transmite energía a otros bloques ortogonalmente. Almacena grandes cantidades de energía. Tiene un mayor alcance. +block.turbine-condenser.description = Genera energía si se coloca sobre grietas de gases en el terreno. Produce pequeñas cantidades de agua. +block.chemical-combustion-chamber.description = Genera energía mediante arquicita y ozono. +block.pyrolysis-generator.description = Genera grandes cantidades de energía mediante arquicita y magma. También produce agua. +block.flux-reactor.description = Genera grandes cantidades de energía mientras disponga de calor suficiente. Requiere cianógeno como estabilizante. La salida de energía y el cianógeno requeridos son proporcionales al calor suministrado.\nExplotará si no se le proporciona suficiente cianógeno. +block.neoplasia-reactor.description = Usa arquicita, agua y tejido de fase para generar grandes cantidades de energía. También produce calor y un peligroso neoplasma como subproducto.\nProducirá una violenta explosión si no se extrae el neoplasma acumulado reactor mediante tuberías. +block.build-tower.description = Reconstruye estructuras dentro de su área de acción y asiste a otras unidades al construir. +block.regen-projector.description = Repara lentamente estructuras aliadas en un perímetro cuadrado. Requiere hidrógeno. +block.reinforced-container.description = Almacena una pequeña cantidad de objetos. Se puede obtener su contenido mediante descargadores. No incrementa la capacidad de almacenamiento del núcleo. +block.reinforced-vault.description = Almacena una gran cantidad de objetos. Se puede obtener su contenido mediante descargadores. No incrementa la capacidad de almacenamiento del núcleo. +block.tank-fabricator.description = Construye unidades Stell. Las unidades creadas pueden ser usadas directamente, o desplazadas hacia refabricadores para mejorarlas. +block.ship-fabricator.description = Construye unidades Elude. Las unidades creadas pueden ser usadas directamente, o desplazadas hacia refabricadores para mejorarlas. +block.mech-fabricator.description = Construye unidades Meuri. Las unidades creadas pueden ser usadas directamente, o desplazadas hacia refabricadores para mejorarlas. +block.tank-assembler.description = Ensambla grandes tanques desde los bloques o unidades seleccionados. Se puede incrementar el nivel de la unidad resultante añadiendo módulos. +block.ship-assembler.description = Ensambla grandes naves desde los bloques o unidades seleccionados. Se puede incrementar el nivel de la unidad resultante añadiendo módulos. +block.mech-assembler.description = Ensambla grandes mechs desde los bloques o unidades seleccionados. Se puede incrementar el nivel de la unidad resultante añadiendo módulos. +block.tank-refabricator.description = Mejora al segundo nivel el tanque seleccionado. +block.ship-refabricator.description = Mejora al segundo nivel la nave seleccionada. +block.mech-refabricator.description = Mejora al segundo nivel el mech seleccionado. +block.prime-refabricator.description = Mejora al tercer nivel las unidades entrantes. +block.basic-assembler-module.description = Incrementa el nivel del ensamblador si se coloca junto a un área de construcción. Requiere energía. Se puede usar como entrada de un cargador. +block.small-deconstructor.description = Deconstruye las estructuras y unidades entrantes. Devuelve el 100% de su coste de construcción. +block.reinforced-payload-conveyor.description = Mueve los lotes de carga en una dirección. +block.reinforced-payload-router.description = Distribuye las cargas a los bloques adyacentes. Funcionará como un clasificador si se le establece un filtro. +block.payload-mass-driver.description = Estructura de transporte de carga de largo alcance. Dispara las cargas entrantes a otras catapultas enlazadas. +block.large-payload-mass-driver.description = Estructura de transporte de carga de largo alcance. Dispara las cargas entrantes a otras catapultas enlazadas. +block.unit-repair-tower.description = Repara todas las unidades en su área. Requiere ozono. +block.radar.description = Descubre gradualmente el terreno y las unidades enemigas en un amplio radio. Requiere energía. +block.shockwave-tower.description = Daña y destruye proyectiles enemigos dentro de su radio de acción. Requiere cianógeno. +block.canvas.description = Muestra una imagen simple con una paleta predefinida. Editable. + unit.dagger.description = Dispara proyectiles básicos a enemigos cercanos. -unit.mace.description = Lanza torrentes de llamas a enemigos cercanos. +unit.mace.description = Ataca con llamaradas a enemigos cercanos. unit.fortress.description = Utiliza artillería de largo alcance contra enemigos terrestres. unit.scepter.description = Bombardea enemigos cercanos con proyectiles cargados. -unit.reign.description = Bombardea enemigos con proyectiles penetrantes. +unit.reign.description = Bombardea enemigos con proyectiles perforantes. unit.nova.description = Dispara rayos láser que dañan enemigos y reparan estructuras aliadas. Puede volar. unit.pulsar.description = Dispara arcos eléctricos que dañan enemigos y reparan estructuras aliadas. Puede volar. -unit.quasar.description = Dispara rayos láser perforantes que dañan enemigos, pueden provocar incendios y reparan estructuras aliadas. Puede volar. Posee escudo. -unit.vela.description = Dispara un rayo láser continuo que daña enemigos, provoca incendios y reparan estructuras aliadas. Puede volar. +unit.quasar.description = Dispara rayos láser perforantes que dañan enemigos y reparan estructuras aliadas. Puede volar. Posee escudo. +unit.vela.description = Dispara un rayo láser continuo que daña enemigos, provoca incendios y repara estructuras aliadas. Puede volar. unit.corvus.description = Dispara poderosos láseres que dañan enemigos, y reparan estructuras aliadas. Puede pisar sobre la mayoría de terreno. unit.crawler.description = Corre hacia enemigos y se autodestruye, provocando una gran explosión. unit.atrax.description = Dispara orbes de magma debilitantes a enemigos terrestres. Puede pisar sobre la mayoría de terreno. -unit.spiroct.description = Dispara láseres que debilitan al enemigo, reparándose en el proceso. Puede pisar sobre la mayoría de terreno. -unit.arkyid.description = Dispara grandes rayos láser que debilitan al enemigo, repairing itself in the process. Puede pisar sobre la mayoría de terreno. +unit.spiroct.description = Dispara láseres que debilitan al enemigo, regenerándose en el proceso. Puede pisar sobre la mayoría de terreno. +unit.arkyid.description = Dispara grandes rayos láser que debilitan al enemigo, regenerándose en el proceso. Puede pisar sobre la mayoría de terreno. unit.toxopid.description = Dispara grandes fragmentos electrizados y láseres perforantes. Puede pisar sobre la mayoría de terreno. -unit.flare.description = Dispara proyectiles básicos a enemigos cercanos. -unit.horizon.description = Suelta fragmentos explosivos sobre objetivos terrestres. +unit.flare.description = Dispara proyectiles básicos a enemigos terrestres cercanos. +unit.horizon.description = Suelta bombas sobre objetivos terrestres. unit.zenith.description = Dispara ráfagas de misiles a enemigos cercanos. unit.antumbra.description = Dispara un enjambre de balas a cualquer enemigo cercano. unit.eclipse.description = Dispara dos láseres perforantes y un enjambre de balas de fragmentación. -unit.mono.description = Extrae cobre y plomo, y los deposita en el núcleo. -unit.poly.description = Recosntruye automáticamente estructuras dañadas y asiste a otras unidades en la construcción. -unit.mega.description = Repara automáticamente estructuras dañadas. Puede llevar estructuras y unidades terrestres pequeñas. +unit.mono.description = Extrae automáticamente cobre y plomo, y los deposita en el núcleo. +unit.poly.description = Reconstruye automáticamente estructuras destruidas y asiste a otras unidades en la construcción. +unit.mega.description = Repara automáticamente estructuras dañadas. Puede cargar con estructuras y unidades terrestres pequeñas. unit.quad.description = Suelta grandes bombas sobre objetivos terrestres, repara estructuras aliadas y daña enemigos. Puede cargar con unidades terrestres de tamaño medio. unit.oct.description = Protege aliados con su escudo. Puede cargar con la mayoría de unidades terrestres. unit.risso.description = Dispara un enjambre de misiles y proyectiles a enemigos cercanos. -unit.minke.description = Dispara proyectiles variados a enemigos terrestres. -unit.bryde.description = Dispara misiles de largo alcance a enemigos. +unit.minke.description = Dispara proyectiles simples variados a enemigos terrestres. +unit.bryde.description = Dispara misiles de artillería de largo alcance a enemigos. unit.sei.description = Dispara un enjambre de misiles y proyectiles perforantes a enemigos. -unit.omura.description = Dispara rayos contínuos perforantes. Construye unidades Flare. +unit.omura.description = Dispara un rayo perforante de largo alcance. Construye unidades Flare. unit.alpha.description = Defiende el núcleo Shard de los enemigos. Construye estructuras. unit.beta.description = Defiende el núcleo Foundation de los enemigos. Construye estructuras. unit.gamma.description = Defiende el núcleo Nucleus de los enemigos. Construye estructuras. +unit.retusa.description = Dispara torpedos guiados a los enemigos cercanos. Repara unidades aliadas. +unit.oxynoe.description = Dispara llamaradas de fuego que reparan estructuras aliadas. Su torreta de defensa destruye proyectiles enemigos automáticamente. +unit.cyerce.description = Dispara grupos de misiles rastreadores. Repara unidades aliadas. +unit.aegires.description = Electrifica a todas las unidades y estructuras enemigas que entran en su campo de energía. Repara todas las unidades aliadas. +unit.navanax.description = Dispara proyectiles PEM explosivos que infligen mucho daño a las redes eléctricas enemigas y reparan las estructuras aliadas. Funde a los enemigos cercanos con 4 torretas láser autónomas. + +# Erekir +unit.stell.description = Dispara proyectiles básicos a objetivos enemigos. +unit.locus.description = Dispara alternando proyectiles a objetivos enemigos. +unit.precept.description = Dispara grupos de proyectiles perforantes a los objetivos enemigos. +unit.vanquish.description = Dispara grandes balas divisibles que perforan a los objetivos enemigos. +unit.conquer.description = Dispara grandes ráfagas de proyectiles perforantes a los objetivos enemigos. +unit.merui.description = Dispara artillería de largo alcance a objetivos enemigos. Puede pisar sobre la mayoría de terreno. +unit.cleroi.description = Dispara proyectiles dobles de artillería a objetivos enemigos. Intercepta proyectiles enemigos con torretas defensivas. Puede pisar sobre la mayoría de terreno. +unit.anthicus.description = Dispara misiles guiados de largo alcance a objetivos enemigos. Puede pisar sobre la mayoría de terreno. +unit.tecta.description = Dispara misiles de plasma guiados a objetivos enemigos. Se protege con un escudo direccional. Puede pisar sobre la mayoría de terreno. +unit.collaris.description = Dispara artillería de fragmentación de largo alcance a objetivos enemigos. Puede pisar sobre la mayoría de terreno. +unit.elude.description = Dispara pares de balas guiadas a objetivos enemigos. Puede flotar sobre la mayoría de líquidos. +unit.avert.description = Dispara un par de balas en espiral a objetivos enemigos. +unit.obviate.description = Dispara un par de orbes eléctricos en espiral a objetivos enemigos. +unit.quell.description = Dispara misiles guiados de largo alcance a objetivos enemigos. Anula los efectos de estructuras reparadoras enemigas. +unit.disrupt.description = Dispara misiles inhibidores de largo alcance a objetivos enemigos. Anula los efectos de estructuras reparadoras enemigas. +unit.evoke.description = Construye estructuras para defender el núcleo Bastion. Dispone de un láser que repara estructuras. +unit.incite.description = Construye estructuras para defender el núcleo Citadel. Dispone de un láser que repara estructuras. +unit.emanate.description = Construye estructuras para defender el núcleo Acropolis. Dispone de láseres que reparan estructuras. + +lst.read = Lee un número desde una unidad de memoria conectada. +lst.write = Escribe un número en una unidad de memoria conectada. +lst.print = Añade texto a la cola para imprimir texto.\nNo mostrará nada hasta que se use [accent]Print Flush[]. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Añade una operación a la cola para dibujar.\nNo mostrará nada hasta que se use [accent]Draw Flush[]. +lst.drawflush = Muestra los datos en cola de operaciones [accent]Draw[] en un monitor gráfico. +lst.printflush = Muestra los datos en cola de operaciones de [accent]Print[] en un bloque de mensaje. +lst.getlink = Obtiene el número de enlace de procesador. Inicia en 0. +lst.control = Controla el estado de una estructura. +lst.radar = Localiza unidades alrededor de una estructura con rango de detección. +lst.sensor = Recopila datos de una estructura o unidad. +lst.set = Establece una variable. +lst.operation = Realiza una operación sobre 1-2 variables. +lst.end = Salta al inicio de la lista de instrucciones. +lst.wait = Espera unos segundos. +lst.stop = Detiene la ejecución de este procesador. +lst.lookup = Busca un objeto/líquido/unidad/tipo de bloque por ID.\nSe puede acceder al número total de cada tipo con:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Salta condicionalmente a otra instrucción. +lst.unitbind = Se enlaza a la siguiente unidad de un tipo, y la almacena en [accent]@unit[]. +lst.unitcontrol = Controla la unidad actualmente enlazada. +lst.unitradar = Localiza unidades alrededor de la unidad actualmente enlazada. +lst.unitlocate = Localiza un tipo específico de posición/estructura en cualquier lugar del mapa.\nRequiere una unidad enlazada. +lst.getblock = Obtiene los datos de un bloque en cualquier lugar. +lst.setblock = Cambia los datos de un bloque en cualquier lugar. +lst.spawnunit = Crea una unidad en una localización. +lst.applystatus = Aplica o elimina un efecto de alteración de estado a una unidad. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simula la aparición de una oleada de enemigos en una localización arbitraria.\nNo incrementará el contador de oleadas. +lst.explosion = Crea una explosión en una localización. +lst.setrate = Establece la velocidad de ejecución de los procesadores lógicos en formato instrucción/tick. +lst.fetch = Busca unidades, núcleos, jugadores o estructuras por índice.\nLos índices comienzan en 0 y finalizan devolviendo el total que se ha contado. +lst.packcolor = Agrupa los componentes RGBA [0, 1] en un solo número para dibujar gráficos o establecer reglas. +lst.setrule = Establece una regla de la partida. +lst.flushmessage = Muestra un mensaje en pantalla desde la lista de espera de texto.\nEsperará a que finalice el mensaje anterior. +lst.cutscene = Manipula la cámara del jugador. +lst.setflag = Establece una etiqueta global que se puede leer desde todos los procesadores. +lst.getflag = Comprueba si se ha establecido una etiqueta global. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]No se permite construir bloques de categoría lógica. + +lenum.type = El tipo de bloque/unidad\nEjemplo: para buscar cualquier enrutador, esto devolverá [accent]@router[].\nNo devuelve una cadena de texto. +lenum.shoot = Dispara a una posición. +lenum.shootp = Dispara a una unidad/estructura con predicción de velocidad. +lenum.config = Configuración de estructura, por ejemplo: el objeto seleccionado en un clasificador. +lenum.enabled = Si el bloque está activado. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Color del iluminador. +laccess.controller = Controlador de unidad. Si se controla mediante un procesador, devuelve dicho procesador.\nSi está en formación, devuelve su líder.\nDe otra forma, devuelve la misma unidad. +laccess.dead = Si una unidad/bloque es destruída o inválida. +laccess.controlled = Devuelve:\n[accent]@ctrlProcessor[] si el control de la unidad lo tiene un procesador\n[accent]@ctrlPlayer[] si el control de la unidad/bloque lo tiene un jugador\n[accent]@ctrlFormation[] si la unidad está en formación\nDe otra forma, devuelve 0. +laccess.progress = Progreso de una acción, 0 a 1.\nDevuelve el valor de una producción, la recarga de una torreta o el progreso de una construcción. +laccess.speed = Velocidad máxima de una unidad, en bloques/segundo. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. + +lcategory.unknown = Desconocido +lcategory.unknown.description = Instrucciones no clasificadas. +lcategory.io = Entrada y salida +lcategory.io.description = Modifica el contenido de los bloques de memoria y los búferes de procesadores. +lcategory.block = Control de bloque +lcategory.block.description = Interactúa con bloques. +lcategory.operation = Operaciones +lcategory.operation.description = Operaciones lógicas. +lcategory.control = Control de flujo +lcategory.control.description = Gestiona el orden de ejecución. +lcategory.unit = Control de unidad +lcategory.unit.description = Da órdenes a las unidades. +lcategory.world = Mundo +lcategory.world.description = Controla cómo se comporta el mundo. + +graphicstype.clear = Llena todo el monitor con un color. +graphicstype.color = Establece el color para próximas operaciones de dibujo. +graphicstype.col = Es equivalente a "color", pero agrupado en un único valor.\nLos colores agrupados se escriben como códigos hexadecimales usando un [accent]%[] como prefijo.\nPor ejemplo: [accent]%ff0000[] es el color rojo. +graphicstype.stroke = Establece el ancho de la línea. +graphicstype.line = Segmento de la línea del gráfico. +graphicstype.rect = Rellena un rectángulo. +graphicstype.linerect = Dibuja las aristas de un rectángulo. +graphicstype.poly = Rellena un polígono regular. +graphicstype.linepoly = Dibuja las aristas de un polígono regular. +graphicstype.triangle = Rellena un triángulo. +graphicstype.image = Dibuja una imagen de algún contenido.\nEjemplo: [accent]@router[] o [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Siempre "true". +lenum.idiv = División de un número entero. +lenum.div = División.\nDevuelve [accent]null[] al dividir entre cero. +lenum.mod = Modulo. +lenum.equal = Igual. Coacciona tipos.\nObjetos no-nulos coaccionados con números pasan a 1, si no coinciden pasan a 0. +lenum.notequal = No igual. Coacciona tipos. +lenum.strictequal = Igualdad estricta. No coacciona tipos.\nSe puede usar para comprobar si un resultado es [accent]null[]. +lenum.shl = Cambia bits a izquierda. +lenum.shr = Cambia bits a derecha. +lenum.or = Comprobación bit a bit OR. +lenum.land = Comprobación lógica AND. +lenum.and = Comprobación bit a bit AND. +lenum.not = Comprobación bit a bit invertida. +lenum.xor = Comprobación bit a bit XOR. + +lenum.min = Mínimo de dos números. +lenum.max = Máximo de dos números. +lenum.angle = Ãngulo del vector en grados. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Longitud del vector. + +lenum.sin = Seno, en grados. +lenum.cos = Coseno, en grados. +lenum.tan = Tangente, en grados. + +lenum.asin = Arco seno, en grados. +lenum.acos = Arco coseno, en grados. +lenum.atan = Arco tangente, en grados. + +#no están mal escritos, son fórmulas matemáticas +lenum.rand = Número decimal aleatorio en un rango (0, valor). +lenum.log = Logaritmo natural (ln). +lenum.log10 = Logaritmo en base 10. +lenum.noise = Ruido simplex 2D. +lenum.abs = Valor absoluto. +lenum.sqrt = Raíz cuadrada. + +lenum.any = Cualquier unidad. +lenum.ally = Unidad aliada. +lenum.attacker = Unidad con un arma. +lenum.enemy = Unidad enemiga. +lenum.boss = Unidad guardián (Jefe). +lenum.flying = Unidad aérea. +lenum.ground = Unidad terrestre. +lenum.player = Unidad controlada por un jugador. + +lenum.ore = Depósito mineral. +lenum.damaged = Bloque aliado dañado. +lenum.spawn = Punto de aterrizaje enemigo.\nPuede ser un núcleo o una posición. +lenum.building = Un bloque de una categoría específica. + +lenum.core = Cualquier núcleo. +lenum.storage = Bloque de almacenamiento, ejemplo: Contenedor. +lenum.generator = Bloques que generan energía. +lenum.factory = Bloques que transforman recursos. +lenum.repair = Puntos de reparación. +lenum.battery = Cualquier batería. +lenum.resupply = Puntos de reabastecimiento.\nSólo es relevante cuando [accent]"Unidades necesitan munición"[] está activada. +lenum.reactor = Reactor de Impacto/Torio. +lenum.turret = Cualquier torreta. + +sensor.in = El bloque/unidad a detectar. + +radar.from = Bloque del que detectar.\nEl rango del sensor está limitado por el rango de dicha construcción. +radar.target = Filtro de unidades a detectar. +radar.and = Filtros adicionales. +radar.order = Orden para ordenar. 0 para invertir. +radar.sort = Métrica a usar al ordenar resultados. +radar.output = Variable en la que escribir la salida de una unidad. + +unitradar.target = Filtro para detectar unidades. +unitradar.and = Filtros adicionales. +unitradar.order = Orden para ordenar. 0 para invertir. +unitradar.sort = Métrica a usar al ordenar resultados. +unitradar.output = Variable en la que escribir la salida de una unidad. + +control.of = Bloque a controlar. +control.unit = Unidad/bloque al que apuntar. +control.shoot = Cuándo disparar. + +unitlocate.enemy = Cuándo localizar construcciones enemigas. +unitlocate.found = Cuándo el objeto es encontrado. +unitlocate.building = Variable de salida para contrucciones localizadas. +unitlocate.outx = Coordenada X devuelta. +unitlocate.outy = Coordenada Y devuelta. +unitlocate.group = Grupo de bloque a buscar. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = No se mueve, pero seguirá construyendo/extrayendo minerales.\nEs el estado por defecto. +lenum.stop = Deja de moverse/extraer minerales/contruir. +lenum.unbind = Desactiva el control externo de la unidad enlazada.\nLa unidad recupera su IA estándar. +lenum.move = Moverse a una posición exacta. +lenum.approach = Aproximarse al radio establecido de una posición concreta. +lenum.pathfind = Establece y sigue una ruta hasta el punto de aterrizaje enemigo. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Dispara a una posición. +lenum.targetp = Dispara a un objetivo con predicción de velocidad. +lenum.itemdrop = Suelta los objetos en la estructura especificacda. +lenum.itemtake = Recoge un tipo de objeto almacenado en una estructura. +lenum.paydrop = Suelta la carga actual. +lenum.paytake = Recoge bloques o unidades en la posición actual. +lenum.payenter = Entra/Aterriza en el bloque sobre el que se encuentra la unidad. +lenum.flag = Etiqueta numérica de la unidad. +lenum.mine = Extrae minerales de una posición. +lenum.build = Construye una estructura. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Comprueba si una unidad se encuentra cerca de una posición. +lenum.boost = Iniciar/Detener vuelo. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_et.properties b/core/assets/bundles/bundle_et.properties index 46cf235d26..b370c83ae1 100644 --- a/core/assets/bundles/bundle_et.properties +++ b/core/assets/bundles/bundle_et.properties @@ -3,121 +3,165 @@ credits = Tegijad contributors = Tõlkijad ja panustajad discord = Liitu Mindustry Discordi serveriga! link.discord.description = Ametlik Discordi server -link.reddit.description = The Mindustry subreddit +link.reddit.description = Mindustry subreddit link.github.description = Mängu lähtekood link.changelog.description = Uuenduste nimekiri versioonide kaupa link.dev-builds.description = Arendusversioonide ajalugu link.trello.description = Plaanitud uuenduste nimekiri link.itch.io.description = Kõik PC-platvormide versioonid link.google-play.description = Androidi versioon Google Play poes -link.f-droid.description = F-Droid catalogue listing +link.f-droid.description = F-Droid kataloog link.wiki.description = Mängu ametlik viki -link.suggestions.description = Suggest new features +link.suggestions.description = Anna soovitusi +link.bug.description = Leidsid vea? Kirjuta siia +linkopen = See server saatis sulle lingi. Oled kindel, et tahad avada?\n\n[sky]{0} linkfail = Lingi avamine ebaõnnestus!\nVeebiaadress kopeeriti. screenshot = Kuvatõmmis salvestati: {0} screenshot.invalid = Maailm on liiga suur: kuvatõmmise salvestamiseks ei pruugi olla piisavalt mälu. gameover = Mäng läbi! +gameover.disconnect = Lahku gameover.pvp = Võistkond[accent] {0}[] võitis! +gameover.waiting = [accent]Ootan järgmist kaarti... highscore = [accent]Uus rekord! -copied = Copied. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +copied = Kopeeritud. +indev.notready = See osa mängust ei ole veel valmis load.sound = Helid load.map = Maailmad load.image = Pildid load.content = Sisu load.system = Süsteem -load.mod = Mods -load.scripts = Scripts +load.mod = Modid +load.scripts = Skriptid -be.update = A new Bleeding Edge build is available: -be.update.confirm = Download it and restart now? -be.updating = Updating... -be.ignore = Ignore -be.noupdates = No updates found. -be.check = Check for updates +be.update = Uus arendusversioon on saadaval: +be.update.confirm = Lae alla ja taaskäivita? +be.updating = Värskendan... +be.ignore = Ignoreeri +be.noupdates = Ei leidnud värskendusi. +be.check = Otsi värskendusi -schematic = Schematic -schematic.add = Save Schematic... -schematics = Schematics -schematic.replace = A schematic by that name already exists. Replace it? -schematic.exists = A schematic by that name already exists. -schematic.import = Import Schematic... -schematic.exportfile = Export File -schematic.importfile = Import File -schematic.browseworkshop = Browse Workshop -schematic.copy = Copy to Clipboard -schematic.copy.import = Import from Clipboard -schematic.shareworkshop = Share on Workshop -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic -schematic.saved = Schematic saved. -schematic.delete.confirm = This schematic will be utterly eradicated. -schematic.rename = Rename Schematic -schematic.info = {0}x{1}, {2} blocks -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +mods.browser = Modi Brauser +mods.browser.selected = Valitud mod +mods.browser.add = Paigalda +mods.browser.reinstall = Taaspaigalda +mods.browser.view-releases = Kuva Versioonid +mods.browser.noreleases = [scarlet]Ei leidnud versioone\n[accent]Ei leidnud selle modi jaoks ühtegi väljaannet. Kontrollige, kas modi repositooriumis on avaldatud versioone. +mods.browser.latest = +mods.browser.releases = Versioonid +mods.github.open = Repo +mods.github.open-release = Väljastusleht +mods.browser.sortdate = Sorteeri uusimad enne +mods.browser.sortstars = Sorteeri tähtede järgi -stat.wave = Lahingulaineid läbitud:[accent] {0} -stat.enemiesDestroyed = Vaenlasi hävitatud:[accent] {0} -stat.built = Ehitisi konstrueeritud:[accent] {0} -stat.destroyed = Ehitisi hävinenud:[accent] {0} -stat.deconstructed = Ehitisi dekonstrueeritud:[accent] {0} -stat.delivered = Kaasavõetud ressursid: -stat.playtime = Time Played:[accent] {0} -stat.rank = Hinne:[accent] {0} +schematic = Skeem +schematic.add = Salvesta Skeem... +schematics = Skeemid +schematic.search = Otsi skeemide hulgast... +schematic.replace = Selle nimega skeem juba eksisteerib. Asenda? +schematic.exists = Selle nimega skeem juba eksisteerib. +schematic.import = Impordi Skeem... +schematic.exportfile = Ekspordi Fail +schematic.importfile = Impordi Fail +schematic.browseworkshop = Lehitse Workshop'i +schematic.copy = Kopeeri Lõikelauale +schematic.copy.import = Impordi Lõikelaualt +schematic.shareworkshop = Jaga Workshop'is +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Peegelda Skeem +schematic.saved = Skeem salvestatud. +schematic.delete.confirm = See skeem hävitatakse täielikult. +schematic.edit = Muuda Skeemi +schematic.info = {0}x{1}, {2} plokki +schematic.disabled = [scarlet]Skeemid välja lülitatud[]\nSa ei tohi kasutada skeeme selles [accent]maailmas[] või [accent]serveris. +schematic.tags = Sildid: +schematic.edittags = Muuda Silte +schematic.addtag = Lisa Silt +schematic.texttag = Tekstisilt +schematic.icontag = Ikoonisilt +schematic.renametag = Nimeta Silt Ümber +schematic.tagged = {0} sildistatud +schematic.tagdelconfirm = Kustuta see silt täielikult? +schematic.tagexists = See silt juba eksisteerib. -globalitems = [accent]Global Items +stats = Statistika +stats.wave = Läbitud Laineid +stats.unitsCreated = Üksusi Loodud +stats.enemiesDestroyed = Vastaseid Hävitatud +stats.built = Ehitisi Ehitatud +stats.destroyed = Ehitisi Hävitatud +stats.deconstructed = Ehitisi Lammutatud +stats.playtime = Mängitud Aeg + +globalitems = [accent]Globaalsed Materjalid map.delete = Kas oled kindel, et soovid kustutada\nmaailma "[accent]{0}[]"? level.highscore = Rekord: [accent]{0} -level.select = Taseme valimine +level.select = Taseme valik level.mode = Mänguviis: -coreattack = < Tuumik on rünnaku all! > -nearpoint = [[ [scarlet]LAHKU VAENLASTE MAANDUMISE ALALT[] ]\nVaenlaste maandumisel hävib siin kõik. -database = Andmebaas -savegame = Salvesta mäng -loadgame = Lae mäng -joingame = Liitu mänguga -customgame = Kohandatud mäng +coreattack = < Tuum on rünnaku all! > +nearpoint = [[ [scarlet]LAHKU KOHESELT MAANDUMISPLATSILT[] ]\nVaenlaste maandumisel hävib siin kõik. +database = Tuumandmebaas +database.button = Andmebaas +savegame = Salvesta Mäng +loadgame = Lae Mäng +joingame = Liitu Mänguga +customgame = Kohandatud Mäng newgame = Uus mäng none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Kaart -position = Position +position = Positsioon close = Sulge website = Veebileht quit = Välju -save.quit = Salvesta ja välju +save.quit = Salvesta ja Välju maps = Maailmad -maps.browse = Sirvi maailmu +maps.browse = Sirvi Maailmu continue = Jätka maps.none = [lightgray]Ühtegi maailma ei leitud! invalid = Kehtetu -pickcolor = Pick Color -preparingconfig = Konfiguratsiooni ettevalmistamine -preparingcontent = Sisu ettevalmistamine -uploadingcontent = Sisu üleslaadimine -uploadingpreviewfile = Eelvaate faili üleslaadimine -committingchanges = Muudatuste teostamine +pickcolor = Vali Värv +preparingconfig = Konfiguratsiooni Ettevalmistamine +preparingcontent = Sisu Ettevalmistamine +uploadingcontent = Sisu Üleslaadimine +uploadingpreviewfile = Eelvaate Faili Üleslaadimine +committingchanges = Muudatuste Teostamine done = Valmis -feature.unsupported = Your device does not support this feature. +feature.unsupported = Seade ei toeta seda funktsiooni. -mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord. +mods.initfailed = [red]âš [] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[] mods = Mods mods.none = [lightgray]No mods found! mods.guide = Modding Guide mods.report = Report Bug mods.openfolder = Open Mod Folder +mods.viewcontent = View Content mods.reload = Reload mods.reloadexit = The game will now exit, to reload mods. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Enabled mod.disabled = [scarlet]Disabled +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = Disable +mod.version = Version: mod.content = Content: mod.delete.error = Unable to delete mod. File may be in use. -mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missing dependencies: {0} +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Content Errors +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Errors have occurred loading content. mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. @@ -139,12 +183,25 @@ mod.scripts.disable = Your device does not support mods with scripts. You must d about.button = Info name = Nimi: noname = Valige kõigepealt [accent]nimi[]. +search = Search: planetmap = Planet Map launchcore = Launch Core filename = Failinimi: unlocked = Uus sisu! +available = New research available! +unlock.incampaign = < Unlock in campaign for details > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Olemas techtree = Uurimispuu +techtree.select = Tech Tree Selection +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Load +research.discard = Discard research.list = [lightgray]Vajalikud uuringud: research = Uuri researched = [lightgray]{0} uuritud. @@ -186,16 +243,32 @@ hosts.none = [lightgray]Kohtvõrgus mänge ei leitud. host.invalid = [scarlet]Serveriga ei saa ühendust. servers.local = Local Servers +servers.local.steam = Open Games & Local Servers servers.remote = Remote Servers servers.global = Community Servers +servers.disclaimer = Community servers are [accent]not[] owned or controlled by the developer.\n\nServers may contain user-generated content that is not appropriate for all ages. +servers.showhidden = Show Hidden Servers +server.shown = Shown +server.hidden = Hidden +viewplayer = Viewing Player: [accent]{0} trace = Jälita mängijat trace.playername = Mängija nimi: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Mängija ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobiilne versioon: [accent]{0} trace.modclient = Modifitseeritud versioon: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Kehtetu mängija ID! Saada veateade! +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Keelatud mängijad server.bans.none = Keelatud mängijaid ei leitud! server.admins = Administraatorid @@ -209,10 +282,11 @@ server.version = [lightgray]v{0} {1} server.custombuild = [accent]Kohandatud versioon confirmban = Oled kindel, et soovid keelata sellel mängjal siin mängida? confirmkick = Oled kindel, et soovid selle mängija välja visata? -confirmvotekick = Oled kindel, et soovid selle mängija mängust välja hääletada? confirmunban = Oled kindel, et soovid lubada sellel mängijal siin uuesti mängida? confirmadmin = Oled kindel, et soovid anda sellele mängijale adminstraatori õigused? confirmunadmin = Oled kindel, et soovid sellelt mängijalt adminstraatori õigused ära võtta? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Liitu mänguga joingame.ip = Aadress: disconnect = Ühendus katkestatud. @@ -220,15 +294,18 @@ disconnect.error = Ühenduse viga. disconnect.closed = Ühendus on suletud. disconnect.timeout = Ühendus aegus. disconnect.data = Maailma andmete allalaadimine ebaõnnestus! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Mänguga ei saanud liituda ([accent]{0}[]). connecting = [accent]Ühendamine... +reconnecting = [accent]Reconnecting... connecting.data = [accent]Maailma andmete allalaadimine... server.port = Port: -server.addressinuse = Aadress on juba kasutusel! server.invalidport = Ebasobiv pordi number! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Viga serveri hostimisel. save.new = Uus salvestis save.overwrite = Oled kindel, et soovid selle salvestise asendada? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Asenda save.none = Salvestisi ei leitud! savefail = Salvestamine ebaõnnestus! @@ -249,6 +326,7 @@ save.corrupted = [accent]See salvestis on rikutud või ebasobiv!\nKui sa uuendas empty = on = Sees off = Väljas +save.search = Search saved games... save.autosave = Automaatsalvestus: {0} save.map = Maailm: {0} save.wave = Lahingulaine {0} @@ -264,9 +342,33 @@ ok = OK open = Ava customize = Kohanda reegleid cancel = Tühista +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Ava link copylink = Kopeeri link back = Tagasi +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. data.export = Ekspordi mänguandmed data.import = Impordi mänguandmed data.openfolder = Open Data Folder @@ -274,15 +376,18 @@ data.exported = Mänguandmed eksporditud. data.invalid = Need ei ole sobivad mänguandmed. data.import.confirm = Mänguandmete importimine kustutab\n[scarlet] kõik[] sinu praegused mänguandmed.\n[accent]Seda ei saa tagasi võtta![]\n\nKui mänguandmed on imporditud,\nsiis mäng sulgub kohe. quit.confirm = Oled kindel, et soovid väljuda? -quit.confirm.tutorial = Oled kindel, et soovid õpetuse lõpetada?\nÕpetust saab uuesti läbida:\n[accent]Mängi -> Õpetus[]. loading = [accent]Laadimine... -reloading = [accent]Reloading Mods... +downloading = [accent]Downloading... saving = [accent]Salvestamine... respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] to clear plan selectschematic = [accent][[{0}][] to select+copy pausebuilding = [accent][[{0}][] to pause building resumebuilding = [scarlet][[{0}][] to resume building +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Lahingulaine {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]Järgmine laine\nalgab: {0} @@ -290,6 +395,8 @@ wave.waveInProgress = [lightgray]Toimub lahingulaine waiting = [lightgray]Ootan... waiting.players = Ootan mängijaid... wave.enemies = [lightgray]{0} vaenlast alles +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core wave.enemy = [lightgray]{0} vaenlane alles wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. @@ -300,9 +407,9 @@ custom = Mängija loodud builtin = Sisse-ehitatud map.delete.confirm = Oled kindel, et soovid maailma kustutada? Seda ei saa tagasi võtta! map.random = [accent]Suvaline maailm -map.nospawn = Selles maailmas ei ole mängijate tuumikuid!\nLisa redaktoris sellele maailmale[accent] oranž[] tuumik. -map.nospawn.pvp = Selles maailmas ei ole piisavalt mängijate tuumikuid!\nLisa redaktoris sellele maailmale[scarlet] mitte-oranže[] tuumikuid. -map.nospawn.attack = Selles maailmas ei ole mängijate poolt rünnatavaid vaenlaste tuumikuid!\nLisa redaktoris sellele maailmale[scarlet] punaseid[] tuumikuid. +map.nospawn = Selles maailmas ei ole mängijate tuumikuid!\nLisa redaktoris sellele maailmale {0} tuumik. +map.nospawn.pvp = Selles maailmas ei ole piisavalt mängijate tuumikuid!\nLisa redaktoris sellele maailmale [scarlet]mitte-oranže[] tuumikuid. +map.nospawn.attack = Selles maailmas ei ole mängijate poolt rünnatavaid vaenlaste tuumikuid!\nLisa redaktoris sellele maailmale {0} tuumikuid. map.invalid = Viga maailma laadimisel: ebasobiv või riknenud fail. workshop.update = Update Item workshop.error = Error fetching workshop details: {0} @@ -310,12 +417,17 @@ map.publish.confirm = Oled kindel, et soovid selle maailma üles laadida?\n\n[li workshop.menu = Select what you would like to do with this item. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = Steam'i kasutustingimused missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. publishing = [accent]Publishing... publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! publish.error = Error publishing item: {0} steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Pintsel editor.openin = Ava redaktoris @@ -328,35 +440,71 @@ editor.nodescription = Maailmal peab enne avaldamist olema vähemalt 4 tähemär editor.waves = Lahingulained: editor.rules = Reeglid: editor.generation = Genereerimine: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Redigeeri mängus +editor.playtest = Playtest editor.publish.workshop = Avalda Workshop'is editor.newmap = Uus maailm editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Lahingulained waves.remove = Eemalda -waves.never = -- waves.every = iga waves.waves = laine järel +waves.health = health: {0}% waves.perspawn = laine kohta waves.shields = shields/wave waves.to = kuni +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Eelvaade waves.edit = Muuda... +waves.random = Random waves.copy = Kopeeri puhvrisse waves.load = Lae puhvrist waves.invalid = Puhvrist laeti vigane lahingulainete informatsioon. waves.copied = Lahingulainete informatsioon kopeeriti puhvrisse. waves.none = Vaenlased on täpsustamata.\n[accent]Märkus: Tühjad lahingulained asendatakse automaatselt[]\n[accent]vaikimisi lahingulainetega. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Üksikasjad... edit = Muuda... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nimi: editor.spawn = Tekita väeüksus editor.removeunit = Eemalda väeüksus @@ -368,13 +516,19 @@ editor.errorlegacy = See maailmafail on liiga vana ja kasutab iganenud formaati, editor.errornot = See ei ole maailmafail. editor.errorheader = See maailmafail on ebasobiv või riknenud. editor.errorname = Maailma nime pole täpsustatud. +editor.errorlocales = Error reading invalid locale bundles. editor.update = Uuenda editor.randomize = Juhuslikusta +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Kinnita editor.generate = Genereeri +editor.sectorgenerate = Sector Generate editor.resize = Suurus editor.loadmap = Lae maailm editor.savemap = Salvesta +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Salvestatud! editor.save.noname = Su maailmal ei ole nime! Anna maailmale nimi, vajutades menüüs nupule "Üldinfo". editor.save.overwrite = Sinu maailm kirjutaks üle sisse-ehitatud maailma! Anna maailmale teistsugune nimi, vajutades menüüs nupule "Üldinfo". @@ -413,8 +567,12 @@ toolmode.eraseores = Kustuta maake toolmode.eraseores.description = Kustuta ainult maake. toolmode.fillteams = Täida võistkondi toolmode.fillteams.description = Täida blokkide asemel võistkondi. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Joonista võistkondi toolmode.drawteams.description = Joonista blokkide asemel võistkondi. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]Filtrid puuduvad! Lisa filtreid alloleva nupuga. filter.distort = Moonutamine @@ -433,6 +591,7 @@ filter.clear = Kustutamine filter.option.ignore = Eira filter.scatter = Puistamine filter.terrain = Maastik +filter.logic = Logic filter.option.scale = Ulatus filter.option.chance = Tõenäosus filter.option.mag = Suurusjärk @@ -441,17 +600,39 @@ filter.option.circle-scale = Ringjoone ulatus filter.option.octaves = Oktaav filter.option.falloff = Filter filter.option.angle = Nurk +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Blokk filter.option.floor = Põrand filter.option.flooronto = Asendatav põrand filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Sein filter.option.ore = Maak filter.option.floor2 = Teine põrand filter.option.threshold2 = Teine lävi filter.option.radius = Raadius filter.option.percentile = Protsentiil +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Laius: height = Kõrgus: @@ -462,6 +643,9 @@ load = Lae save = Salvesta fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Keelesätete muudatuste jõustumiseks [accent]taaskäivita[] mäng. settings = Sätted tutorial = Õpetus @@ -476,26 +660,71 @@ complete = [lightgray]Eesmärgid: requirement.wave = Reach Wave {0} in {1} requirement.core = Destroy Enemy Core in {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Parim lahingulaine: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Only the host can view sectors. uncover = Ava configure = Muuda varustust +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  loadout = Loadout -resources = Resources +resources = Resources +resources.max = Max bannedblocks = Banned Blocks +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Add All +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Arv peab olema 0 ja {0} vahel. -zone.unlocked = [lightgray]{0} avatud. -zone.requirement.complete = Jõudsid lahingulaineni {0}:\nPiirkonna "{1}" nõuded täidetud. -zone.resources = Ressursid: -zone.objective = [lightgray]Eesmärk: [accent]{0} -zone.objective.survival = Ellujäämine -zone.objective.attack = Hävita vaenlaste tuumik add = Lisa... -boss.health = Bossi elud +guardian = Guardian connectfail = [crimson]Ühenduse viga:\n\n[accent]{0} error.unreachable = Server ei ole kättesaadav.\nKas serveri aadress on õigesti sisestatud? @@ -507,26 +736,69 @@ error.mapnotfound = Maailmafaili ei leitud! error.io = Võrgu sisend-väljundi viga. error.any = Teadmata viga võrgus. error.bloom = Bloom-efekti lähtestamine ebaõnnestus.\nSinu seade ei pruugi seda efekti toetada. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: sectors.production = Production: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Stored: sectors.resume = Resume sectors.launch = Launch sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Rename Sector +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -539,6 +811,22 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,6 +839,75 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = Keel settings.data = Mänguandmed @@ -573,7 +930,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = [accent]< Paus > clear = Clear banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Unsupported Environment yes = Jah no = Ei info.title = Info @@ -581,13 +938,18 @@ error.title = [crimson]Viga error.crashtitle = Viga unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Sisend stat.output = Väljund +stat.maxefficiency = Max Efficiency stat.booster = Kiirendaja stat.tiles = Required Tiles stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Energiamahtuvus stat.powershot = Energia ühikut/lasu kohta stat.damage = Hävituspunkte @@ -610,6 +972,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Energiatootlus stat.productiontime = Tootmisaeg stat.repairtime = Täieliku parandamise aeg +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = Kiiruse suurenemine stat.range = Ulatus stat.drilltier = Kaevandatav @@ -617,6 +984,7 @@ stat.drillspeed = Puurimise kiirus stat.boosteffect = Kiirendaja mõju stat.maxunits = Maks. aktiivseid väeüksuseid stat.health = Elud +stat.armor = Armor stat.buildtime = Ehitamise aeg stat.maxconsecutive = Max Consecutive stat.buildcost = Ehitamise maksumus @@ -632,6 +1000,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = HeatCapacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -640,21 +1009,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Nõuab paremat puuri +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Puurimise kiirus: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Kasutegur: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Bilanss: {0}/s bar.powerstored = Puhver: {0}/{1} bar.poweramount = Laeng: {0} @@ -663,13 +1088,19 @@ bar.powerlines = Connections: {0}/{1} bar.items = Ressursse: {0} bar.capacity = Mahutavus: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Vedelik bar.heat = Kuumus +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = Energia bar.progress = Edenemine +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,35 +1108,50 @@ bullet.damage = [stat]{0}[lightgray] hävituspunkti bullet.splashdamage = [stat]{0}[lightgray] hävituspunkti ~[stat] {1}[lightgray] blokki bullet.incendiary = [stat]süttiv bullet.homing = [stat]isesihtiv -bullet.shock = [stat]elektriseeriv -bullet.frag = [stat]kildpomm +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray]x tagasilöögi kordaja bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]jäätav -bullet.tarred = [stat]leekisüütav +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x laskemoona kordaja bullet.reload = [stat]{0}[lightgray]x tulistamise kiirus +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blokki unit.blockssquared = blocks² unit.powersecond = energiaühikut/s +unit.tilessecond = tiles/second unit.liquidsecond = vedelikuühikut/s unit.itemssecond = ressursiühikut/s unit.liquidunits = vedelikuühikut unit.powerunits = energiaühikut +unit.heatunits = heat units unit.degrees = kraadi unit.seconds = s unit.minutes = mins unit.persecond = /s unit.perminute = /min unit.timesspeed = x kiirus +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = ressursiühikut unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose category.general = Üldinfo category.power = Energia category.liquids = Vedelikud @@ -713,16 +1159,23 @@ category.items = Ressursid category.crafting = Sisend/Väljund category.function = Function category.optional = Valikulised täiustused +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Lukusta horisontaalpaigutus setting.shadows.name = Varjud setting.blockreplace.name = Automatic Block Suggestions setting.linear.name = Lineaarne tekstuurivastendus setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animeeritud vesi setting.animatedshields.name = Animeeritud kilbid -setting.antialias.name = Sakitõrje[lightgray] (vajab mängu taaskäivitamist)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Vaenlaste/Liitlaste osutid setting.autotarget.name = Automaatne sihtimine @@ -732,14 +1185,11 @@ setting.fpscap.name = Maks. arv kaadreid/s setting.fpscap.none = Puudub setting.fpscap.text = {0} kaadrit/s setting.uiscale.name = Kasutajaliidese suurus[lightgray] (vajab mängu taaskäivitamist)[] +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Paiguta alati diagonaalselt -setting.difficulty.training = Treening -setting.difficulty.easy = Lihtne -setting.difficulty.normal = Keskmine -setting.difficulty.hard = Raske -setting.difficulty.insane = Hullumeelne -setting.difficulty.name = Raskusaste: setting.screenshake.name = Ekraani värisemine +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Näita visuaalefekte setting.destroyedblocks.name = Display Destroyed Blocks setting.blockstatus.name = Display Block Status @@ -747,32 +1197,43 @@ setting.conveyorpathfinding.name = Conveyor Placement Pathfinding setting.sensitivity.name = Kontrolleri tundlikkus setting.saveinterval.name = Salvestamise intervall setting.seconds = {0} sekundit -setting.blockselecttimeout.name = Block Select Timeout setting.milliseconds = {0} milliseconds setting.fullscreen.name = Täisekraan setting.borderlesswindow.name = Äärteta ekraan[lightgray] (võib vajada mängu taaskäivitamist) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = Näita kaadrite arvu sekundis +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = Vertikaalne sünkroonimine setting.pixelate.name = Piksel-efekt[lightgray] (lülitab animatsioonid välja) setting.minimap.name = Näita kaarti -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Show Player Position +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Muusika helitugevus setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Taustahelide tugevus setting.mutemusic.name = Vaigista muusika setting.sfxvol.name = Heliefektide tugevus setting.mutesound.name = Vaigista heli setting.crashreport.name = Saada automaatseid veateateid +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Loo automaatseid salvestisi -setting.publichost.name = Avaliku mängu nähtavus +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Vestlusakna läbipaistmatus setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity setting.playerchat.name = Näita mängusisest vestlusakent -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Kohandage liidest sälku kuvamiseks +setting.macnotch.description = Muudatuste rakendamiseks on vaja taaskäivitada +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Note that beta versions of the game cannot make public lobbies. uiscale.reset = Kasutajaliidese suurust on muudetud.\nVajuta nupule "OK", et uus suurus kinnitada.\n[scarlet]Esialgne suurus taastatakse[accent] {0}[] sekundi pärast... uiscale.cancel = Tühista ja välju @@ -781,12 +1242,9 @@ keybind.title = Muuda juhtnuppe keybinds.mobile = [scarlet]Enamik kuvatud juhtnuppudest ei ole kasutusel mobiilsetel seadmetel. Toetatakse vaid lihtsaid liikumisega seotud juhtnuppe. category.general.name = Mäng category.view.name = Kaamera ja kasutajaliides +category.command.name = Unit Command category.multiplayer.name = Mitmikmäng category.blocks.name = Block Select -command.attack = Ründa -command.rally = Patrulli -command.retreat = Põgene -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1259,27 @@ keybind.move_y.name = Liigu Y-teljel keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu keybind.schematic_flip_x.name = Flip Schematic X @@ -826,16 +1305,20 @@ keybind.select.name = Vali/Tulista keybind.diagonal_placement.name = Diagonaalne paigutamine keybind.pick.name = Vali blokk keybind.break_block.name = Hävita blokk +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Tühista valik keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Tulista keybind.zoom.name = Muuda suumi keybind.menu.name = Menüü keybind.pause.name = Paus keybind.pause_building.name = Pause/Resume Building keybind.minimap.name = Kaart +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Vestle keybind.player_list.name = Mängijate nimekiri keybind.console.name = Konsool @@ -845,6 +1328,7 @@ keybind.toggle_menus.name = Näita/Peida menüüd keybind.chat_history_prev.name = Vestlusaken: eelmine keybind.chat_history_next.name = Vestlusaken: järgmine keybind.chat_scroll.name = Vestlusaken: kerimine +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = Heida väeüksus keybind.zoom_minimap.name = Suumi kaarti mode.help.title = Mänguviiside kirjeldused @@ -858,47 +1342,100 @@ mode.pvp.description = Võitle teiste mängijate vastu. mode.attack.name = Rünnak mode.attack.description = Hävita vaenlaste baas. Lahingulaineid ei ole. mode.custom = Reeglid +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Lõputult ressursse +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Kasuta taimerit +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Kasuta lahingulaineid +rules.airUseSpawns = Air units use spawn points rules.attack = Mänguviis "Rünnak" -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = [scarlet]Vaenlastel[] on lõputult ressursse rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Väeüksuste tootmiskiiruse kordaja +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Väeüksuste elude kordaja rules.unitdamagemultiplier = Väeüksuste hävitusvõime kordaja +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Vaenlaste tuumiku ehitistevaba ala raadius:[lightgray] (ühik) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Aeg lainete vahel:[lightgray] (sekund) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Ehitamise maksumuse kordaja rules.buildspeedmultiplier = Ehitamise kiiruse kordaja rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Järgmine laine ootab eelmise laine lõpuni +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Maandumisala raadius:[lightgray] (ühik) rules.unitammo = Units Require Ammo +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = Lahingulained rules.title.resourcesbuilding = Ressursid ja ehitamine rules.title.enemy = Vaenlased rules.title.unit = Väeüksused rules.title.experimental = Experimental rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light rules.weather = Weather rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Ressursid content.liquid.name = Vedelikud content.unit.name = Väeüksused content.block.name = Konstruktsioonid +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) item.copper.name = Vask item.lead.name = Plii @@ -916,10 +1453,23 @@ item.blast-compound.name = Lõhkeaine item.pyratite.name = Püratiit item.metaglass.name = Metaklaas item.scrap.name = Vanametall +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Vesi liquid.slag.name = Räbu liquid.oil.name = Nafta liquid.cryofluid.name = Krüovedelik +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Soldat unit.mace.name = Mace @@ -947,6 +1497,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,13 +1509,35 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = Liivakamakas +block.basalt-boulder.name = Basalt Boulder block.grass.name = Rohi -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Sool block.salt-wall.name = Salt Wall @@ -988,24 +1565,28 @@ block.graphite-press.name = Grafiidipress block.multi-press.name = Multipress block.constructing = {0} [lightgray](Ehitamine) block.spawn.name = Vaenlaste maandumisala +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Tuumik: Osake block.core-foundation.name = Tuumik: Arenenud block.core-nucleus.name = Tuumik: Täielik -block.deepwater.name = Sügav vesi -block.water.name = Vesi +block.deep-water.name = Sügav vesi +block.shallow-water.name = Vesi block.tainted-water.name = Riknenud vesi +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Riknenud vesi tumedal liival block.tar.name = Tõrv block.stone.name = Kivi -block.sand.name = Liiv +block.sand-floor.name = Liiv block.darksand.name = Tume liiv block.ice.name = Jää block.snow.name = Lumi -block.craters.name = Kraatrid +block.crater-stone.name = Kraatrid block.sand-water.name = Vesi liival block.darksand-water.name = Vesi tumedal liival block.char.name = Puusüsi block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Jäine lumi @@ -1023,6 +1604,7 @@ block.spore-cluster.name = Spoorikobarad block.metal-floor.name = Metallpõrand 1 block.metal-floor-2.name = Metallpõrand 2 block.metal-floor-3.name = Metallpõrand 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Metallpõrand 4 block.metal-floor-damaged.name = Kahjustunud metallpõrand block.dark-panel-1.name = Tume paneel 1 @@ -1056,15 +1638,16 @@ block.conveyor.name = Konveier block.titanium-conveyor.name = Titaankonveier block.plastanium-conveyor.name = Plastanium Conveyor block.armored-conveyor.name = Soomuskonveier -block.armored-conveyor.description = Transpordib ressursse sama kiiresti kui titaankonveier, kuid on soomuskattega ja vastupidavam. Võtab külgedelt sisendina vastu ainult konveierite väljundeid. block.junction.name = Ristmik block.router.name = Jaotur block.distributor.name = Suur jaotur block.sorter.name = Sorteerija block.inverted-sorter.name = Inverted Sorter block.message.name = Sõnum +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.overflow-gate.name = Ülevooluvärav block.underflow-gate.name = Underflow Gate block.silicon-smelter.name = Ränisulatusahi @@ -1115,20 +1698,22 @@ block.solar-panel.name = Päikesepaneel block.solar-panel-large.name = Suur päikesepaneel block.oil-extractor.name = Naftapuur block.repair-point.name = Parandusjaam +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Titaantoru block.plated-conduit.name = Plated Conduit block.phase-conduit.name = Faastoru block.liquid-router.name = Torujaotur block.liquid-tank.name = Mahuti +block.liquid-container.name = Liquid Container block.liquid-junction.name = Toruristmik block.bridge-conduit.name = Torusild block.rotary-pump.name = Labapump block.thorium-reactor.name = Tooriumreaktor block.mass-driver.name = EM-katapult block.blast-drill.name = Plahvatuspuur -block.thermal-pump.name = Termopump +block.impulse-pump.name = Termopump block.thermal-generator.name = Termogeneraator -block.alloy-smelter.name = Voogsulatusahi +block.surge-smelter.name = Voogsulatusahi block.mender.name = Parandaja block.mend-projector.name = Parandusväli block.surge-wall.name = Voogsein @@ -1145,9 +1730,9 @@ block.meltdown.name = Valguskiir block.foreshadow.name = Foreshadow block.container.name = Hoidla block.launch-pad.name = Stardiplatvorm -block.launch-pad-large.name = Suur stardiplatvorm +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1157,9 +1742,179 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1169,66 +1924,153 @@ block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = sinine +team.malis.name = Malis team.crux.name = punane team.sharded.name = killustunud -team.orange.name = oranž team.derelict.name = unustatud team.green.name = roheline -team.purple.name = lilla -tutorial.next = [lightgray] -tutorial.intro = Alustasid[accent] Mindustry mänguõpetusega[].\n[accent]Tuumikust[] väljub sinu [accent]lendmehhaan Ahti[]. Alusta[accent] vase kaevandamisest[]. Selleks liigu tuumiku lähedal asuva vasemaagi juurde ja vajuta sellele.\n\n[accent]{0}/{1} vaske kaevandatud -tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper -tutorial.drill = Käsitsi kaevandamine ei ole tõhus.\n[accent]Puurid []kaevandavad automaatselt.\nVajuta all paremas nurgas asuvale puuride nupule.\nVali[accent] harilik puur[]. Aseta üks puur vasemaagile, kasutades [accent]vasakut hiireklikki[].\n[accent]Parem hiireklikk[] peatab ehitamise. [accent]Hoia Ctrl-klahvi ja libista rullikut[], et suumida sisse ja välja. -tutorial.drill.mobile = Käsitsi kaevandamine ei ole tõhus.\n[accent]Puurid []kaevandavad automaatselt.\nVajuta all paremas nurgas asuvale puuride nupule.\nVali[accent] harilik puur[].\nAseta üks puur vasemaagile, , vajutades sellele, ning seejärel vajuta allpool olevale[accent] linnukesele[] valiku kinnitamiseks.\nPaigutuse tühistamiseks vajuta [accent]"X"-nupule[]. -tutorial.blockinfo = Igal konstruktsioonil on erinevad omadused. Iga puuriga on võimalik kaevandada vaid kindlaid maake.\nBloki teabe ja omaduste kuvamiseks vali see menüüst ning vajuta seejärel [accent]"?"-nupule.[]\n\n[accent]Vaata hariliku puuri omadusi.[] -tutorial.conveyor = [accent]Konveiereid[] kasutatakse ressursside vedamiseks tuumikusse.\nMoodusta konveieritest rada puurist tuumikuni.\nRaja moodustamiseks [accent]vajuta vasak hiireklikk alla ja lohista soovitud suunas.[]\nHoia all[accent] Ctrl-klahvi[], et paigutada rada diagonaalselt.\n\n[accent]Aseta paar konveierit ja transpordi ressursid tuumikusse. -tutorial.conveyor.mobile = [accent]Konveiereid[] kasutatakse ressursside vedamiseks tuumikusse.\nMoodusta konveieritest rada puurist tuumikuni.\n[accent] Raja moodustamiseks hoia sõrme mõni sekund all[] ning lohista soovitud suunas.\n\n[accent]Aseta paar konveierit ja transpordi ressursid tuumikusse. -tutorial.turret = Tuumikusse veetud ressursse saab kasutada ehitamiseks.\nPea meeles, et mitte kõiki ressursse ei saa kasutada ehitamiseks.\nRessursse, mida ehitamiseks kasutada ei saa, näiteks[accent] süsi[] või[accent] vanametall[], ei saa ka tuumikusse hoiule panna.\n[scarlet]Vaenlaste tõrjumiseks[] tuleb ehitada kaitsvaid konstruktsioone.\n[accent]Ehita oma baasi lähedale kaksikkahur. -tutorial.drillturret = Kaksikkahurid vajavad tulistamiseks[accent] vasest laskemoona[].\nAseta kaksikkahuri kõrvale puur ja suuna konveierid kahurini, et varustada seda kaevandatud vasega.\n\n[accent]Laskemoona tarnitud: 0/1 -tutorial.pause = Lahingu ajal on võimalik[accent] mängu käik peatada.[]\nPausi ajal on võimalik ehitustööd ootele valmis panna. Pausilt naastes täidetakse need tööd kohe.\n\nMängu peatamiseks vajuta [accent]tühikut. -tutorial.pause.mobile = Lahingu ajal on võimalik[accent] mängu käik peatada.[]\nPausi ajal on võimalik ehitustööd ootele valmis panna. Pausilt naastes täidetakse need tööd kohe.\n\n[accent]Mängu peatamiseks vajuta üleval vasakus nurgas olevale pausinupule. -tutorial.unpause = Nüüd vajuta uuesti tühikut, et mängu naasta. -tutorial.unpause.mobile = Nüüd vajuta seda nuppu uuesti, et mängu naasta. -tutorial.breaking = Sageli on vaja blokke hävitada.\n[accent]Hoia all paremat hiireklahvi[], et hävitada kõik valitud blokid.[]\n\n[accent]Hävita kõik tuumikust vasakule jäävad vanametalli blokid, valides need korraga. -tutorial.breaking.mobile = Sageli on vaja blokke hävitada.\n[accent]Vali alt paremast nurgast blokkide hävitamise režiim[] ning seejärel vajuta blokile, mida soovid hävitada.\nMitme bloki hävitamiseks hoia sõrme mõni sekund all ning lohista üle blokkide.\nVajuta linnukesele, et kinnitada hävitusprotsess.\n\n[accent]Hävita kõik tuumikust vasakule jäävad vanametalli blokid, valides need korraga. -tutorial.withdraw = Mõnikord on vaja ressursse otse mehhaanile kaasa võtta.\nSelleks [accent]vajuta blokile[], milles on ressursid, ja seejärel[accent] vajuta inventaris kuvatud ressursile[].\n[accent]Vajutades ja hoides[] on võimalik ressursse kaasa võtta hulgi.\n\n[accent]Võta tuumikust kaasa vaske.[] -tutorial.deposit = Ressursside mahalaadimiseks lohista ressursid oma mehhaanilt sihtblokini.\n\n[accent]Pane vask tagasi tuumikusse.[] -tutorial.waves = [scarlet]Vaenlane[] läheneb.\n\nKaitse oma tuumikut kahe lahingulaine vältel.[accent] Kliki hiirega[], et oma mehhaanist tulistada.\n[accent]Kaevanda juurde vaske. Ehita uusi puure ja kahureid. -tutorial.waves.mobile = [scarlet]Vaenlane[] läheneb.\n\nKaitse oma tuumikut kahe lahingulaine vältel. Sinu mehhaan tulistab vaenlaseid automaatselt.\n[accent]Kaevanda juurde vaske. Ehita uusi puure ja kahureid. -tutorial.launch = Kui oled kindla arvu lahingulaineid vastu pidanud, on sul võimalik[accent] tuumikuga lendu tõusta[], jättes maha kõik muud ehitised ja[accent] võttes kaasa kõik tuumikus olevad ressursid.[]\nNeid ressursse saab kasutada uute [accent]tehnoloogiate uurimiseks[].\n\n[accent]Vajuta lendu tõusmise nuppu. +team.blue.name = sinine +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Peamine materjal, mida kasutatakse igat tüüpi konstruktsioonide ehitamiseks. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = Peamine materjal, mida kasutatakse vedelike transportimise konstruktsioonide ja elektroonikaga seotud konstruktsioonide ehitamiseks. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = Ülitugev klaasiühend, mida kasutatakse vedelike transportimise ja hoiustamise konstruktsioonide ehitamiseks. item.graphite.description = Töödeldud süsinik, mida kasutatakse laskemoona tootmisel ja elektrilise isoleerainena. item.sand.description = Levinud materjal, mida kasutatakse metallurgias toorainena ja sulamite koostisena. item.coal.description = Kivistunud taimne mass, mis tekkis ammu enne spooride levimist. Kasutatakse kütusena ja teiste materjalide tootmisel. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = Haruldane ja imekerge metall, mida kasutatakse puuride, mehhaanide ja vedelike transportimise konstruktsioonide ehitamiseks. item.thorium.description = Tihke radioaktiivne metall, mida kasutatakse tuumkütusena ja tugevate konstruktsioonide ehitamisel. item.scrap.description = Vanaaegsete ehitiste ja mahajäetud väeüksuste jäänused, mis sisaldavad väheses koguses erinevaid metalle. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = Pooljuht, mida kasutatakse päikesepaneelides, keerukates elektroonikaseadmetes ja isejuhtivates rakketides. item.plastanium.description = Kerge plastiline materjal, mida kasutatakse täiustatud lendmehhaanide ja kildpommide valmistamiseks. item.phase-fabric.description = Peaaegu kaalutu materjal, mida kasutatakse keerukates elektroonikaseadmetes ja isetaastuvates tehnoloogiates. item.surge-alloy.description = Täiustatud sulam, millel on ainulaadsed elektrilised omadused. item.spore-pod.description = Sünteetiline spooride kogum, mis on toodetud atmosfääris leiduvatest kontsentratsioonidest tööstustlikel eesmärkidel. Kasutatakse kütusena, tehisnafta tootmiseks ja lõhkeainete koostisosana. +item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.blast-compound.description = Pommides kasutatav ebastabiilne komponent, mis on sünteesitud spoorikobaratest ja teistest lenduvatest ühenditest. Kütusena kasutamine pole soovitatav. item.pyratite.description = Süüterelvades kasutatav eriti tuleohtlik aine. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Kõige kasulikum vedelik, mida kasutatakse masinate jahutamiseks ja tööstuslike jäätmete töötlemisel. liquid.slag.description = Erinevate sulametallide segu. Võimalik eraldada koostisesse kuuluvateks mineraalideks või kasutada relvana, pihustades seda vaenlase väeüksustele. liquid.oil.description = Keerukate materjalide tootmisel kasutatav vedelik. Võimalik muundada söeks või kasutada relvana, pihustades seda vaenlase väeüksustele. liquid.cryofluid.description = Inertne mittesöövitav vedelik, mis saadakse veest ja titaanist. Suure soojusmahtuvusega. Kasutatakse masinate jahutamiseks. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Transpordib ressursse sama kiiresti kui titaankonveier, kuid on soomuskattega ja vastupidavam. Võtab külgedelt sisendina vastu ainult konveierite väljundeid. +block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.message.description = Hoiab endas liitlastele olulist sõnumit. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Surub söekamakaid õhukesteks grafiidilehtedeks. block.multi-press.description = Grafiidipressi täiustatud versioon, mis kasutab vett ja energiat kiiremaks ja tõhusamaks töötlemiseks. block.silicon-smelter.description = Toodab räni, redutseerides liiva puhta söega. block.kiln.description = Sulatab liiva ja plii metaklaasiks. Väike energiatarve. block.plastanium-compressor.description = Toodab naftast ja titaanist plastiumit. block.phase-weaver.description = Sünteesib faaskangast radioaktiivsest tooriumist ja liivast. Tohutu energiatarve. -block.alloy-smelter.description = Kombineerib titaaniumi, plii, räni ja vase voogsulamiks. +block.surge-smelter.description = Kombineerib titaaniumi, plii, räni ja vase voogsulamiks. block.cryofluid-mixer.description = Toodab krüovedelikku, segades kokku vee ja peene titaanpulbri. Hädavajalik tooriumreaktori toimimiseks. block.blast-mixer.description = Purustab spoorikobaraid ja segab neid püratiidiga, et toota lõhkeainet. block.pyratite-mixer.description = Segab söe, plii ja liiva tuleohtlikuks püratiidiks. @@ -1244,6 +2086,8 @@ block.item-source.description = Väljastab piiramatult ressursse. Olemas ainult block.item-void.description = Hävitab kõik ressursid. Olemas ainult mänguviisis "Liivakast". block.liquid-source.description = Väljastab piiramatult vedelikke. Olemas ainult mänguviisis "Liivakast". block.liquid-void.description = Removes any liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. block.copper-wall.description = Odav kaitsekonstruktsioon.\nKasulik tuumiku ja kahurite kaitsmiseks esimeste lahingulainete ajal. block.copper-wall-large.description = Odav kaitsekonstruktsioon.\nKasulik tuumiku ja kahurite kaitsmiseks esimeste lahingulainete ajal.\nUlatub üle mitme bloki. block.titanium-wall.description = Mõõdukalt tugev kaitsekonstruktsioon.\nPakub keskmist kaitset vaenlaste eest. @@ -1256,6 +2100,10 @@ block.phase-wall.description = Tugev kaitsekonstruktsioon, mis on kaetud erilise block.phase-wall-large.description = Tugev kaitsekonstruktsioon, mis on kaetud erilise faaskangapõhise peegeldava ühendiga. Pakub kaitset peaaegu kõiki tüüpi kuulide ja mürskude eest.\nUlatub üle mitme bloki. block.surge-wall.description = Äärmiselt tugev kaitsekonstruktsioon.\nKuulidega kokkupõrkel neelab energiat, vabastades seda suvalistel hetkedel. block.surge-wall-large.description = Äärmiselt tugev kaitsekonstruktsioon.\nKuulidega kokkupõrkel neelab energiat, vabastades seda suvalistel hetkedel.\nUlatub üle mitme bloki. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Väike uks, mida saab avada ja sulgeda sellele vajutades. block.door-large.description = Suur uks, mida saab avada ja sulgeda sellele vajutades.\nUlatub üle mitme bloki. block.mender.description = Parandab perioodiliselt enda ümber olevaid konstruktsioone, hoides neid lahingulainete järel töökorras ja tervena. Ulatuse ja efektiivsuse parendamiseks on võimalik kasutada räni. @@ -1272,18 +2120,20 @@ block.phase-conveyor.description = Täiustatud konveier, mis kasutab energiat re block.sorter.description = Sorteerib ressursse. Kui sisenev ressurss vastab valitud ressursile, siis liigub see otse edasi. Vastasel juhul väljastatakse ressurss vasakule või paremale. block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. block.router.description = Jaotab ressursse kuni kolmes väljuvas suunas võrdselt. Kasulik olukordades, kus ressursse on vaja korraga saata mitmesse kohta.\n\n[scarlet]Ära kasuta neid tootmismasinate sisendite kõrval, kuna väljund ummistab sisendi.[] +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = Täiustatud jaotur, mis suunab ressursse kuni seitsmes väljuvas suunas võrdselt. block.overflow-gate.description = Eriline jaotur, mis väljastab vasakule ja paremale ainult siis, kui selle ees olev rada on blokeeritud. block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. block.mass-driver.description = Ülim ressursside transportimise vahend. Tulistab ressursse pika vahemaa taga asuva vastuvõtva katapuldini. Vajab töötamiseks energiat. block.mechanical-pump.description = Odav ja aeglane pump, mis ei vaja töötamiseks energiat. block.rotary-pump.description = Täiustatud pump, mis pumpab paremini kui harilik pump, kuid vajab töötamiseks energiat. -block.thermal-pump.description = Ülim pump, mis vajab töötamiseks palju energiat. +block.impulse-pump.description = Ülim pump, mis vajab töötamiseks palju energiat. block.conduit.description = Vedelike transportimise vahend, mis liigutab vedelikke edasi. Kasutatakse koos pumpade ja teiste torudega. block.pulse-conduit.description = Täiustatud toru, mis transpordib ja hoiustab vedelikke kiiremini kui algeline toru. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. block.liquid-router.description = Jaotab vedelikke kuni kolmes väljuvas suunas võrdselt. Selle jaoturiga on võimalik teatud koguses ka vedelikku hoiustada. Kasulik olukordades, kus vedelikke on vaja korraga saata mitmesse kohta. -block.liquid-tank.description = Hoiustab suures koguses vedelikke. Kasuta puhvrite loomiseks juhul, kui ressursside nõudlus pole püsiv, või ettevaatusabinõuna tähtsate konstruktsioonide jahutussüsteemides. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. +block.liquid-tank.description = Hoiustab suures koguses vedelikke. Kasuta puhvrite loomiseks juhul, kui ressursside nõudlus pole püsiv, või ettevaatusabinõuna tähtsate konstruktsioonide jahutussüsteemides. block.liquid-junction.description = Toimib kui sild samal tasapinnal ristuvate torude vahel. Kasulik olukordades, kus kaks toru kannavad erinevaid vedelikke erinevatesse kohtadesse. block.bridge-conduit.description = Spetsiaalne toru, mis liigutab vedelikke üle maastiku ja ehitiste kuni 3 bloki ulatuses. block.phase-conduit.description = Täiustatud toru, mis kasutab energiat vedelike teleportimiseks järgmise samasuguse toruni üle mitme bloki. @@ -1308,15 +2158,21 @@ block.laser-drill.description = Lasertehnoloogia võimaldab puurida veelgi kiire block.blast-drill.description = Ülim puur, mis vajab töötamiseks suurel hulgal energiat. block.water-extractor.description = Puurib sügavale ja pumpab põhjavett. Kasutatakse kohtades, kus pinnavett ei leidu. block.cultivator.description = Kultiveerib atmosfääris madalas kontsentratsioonis leiduvaid spoore tööstuses kasutatavateks spoorikobarateks. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. block.oil-extractor.description = Kasutab suures koguses energiat, liiva ja vett nafta puurimiseks. block.core-shard.description = Tuumiku esimene versioon. Tuumiku hävides kaob ühendus piirkonnaga. +block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = Tuumiku teine versioon. Tugevam. Hoiustab rohkem ressursse. +block.core-foundation.details = The second iteration. block.core-nucleus.description = Tuumiku kolmas ja viimane versioon. Ülimalt tugev. Hoiustab massiivsel hulgal ressursse. +block.core-nucleus.details = The third and final iteration. block.vault.description = Hoiustab suurt hulka igat tüüpi ressursse. Hoidlast ressursside kättesaamiseks kasutatakse mahalaadijat. block.container.description = Hoiustab väikest hulka igat tüüpi ressursse. Hoidlast ressursside kättesaamiseks kasutatakse mahalaadijat. block.unloader.description = Transpordib ressursse tuumikust ja hoidlatest konveieritele või külgnevatesse ehitistesse. Mahalaetava ressursi tüüpi saab valida mahalaadijale vajutades. block.launch-pad.description = Saadab ressursse tagasi emalaeva, ilma et oleks vaja tuumikuga lendu tõusta. -block.launch-pad-large.description = Täiustatud stardiplatvorm, mis hoiustab rohkem ressursse ja millelt saadetakse ressursse sagedamini emalaeva. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Väike ja odav kahur, mis on kasulik maapealsete väeüksuste tõrjumiseks. block.scatter.description = Õhutõrjekahur, mis tulistab pliid või vanametalli lendavate väeüksuste pihta. block.scorch.description = Heidab tuld maapealsetele väeüksustele. Eriti efektiivne lähedal asuvate väeüksuste tõrjumiseks. @@ -1331,5 +2187,429 @@ block.ripple.description = Äärmiselt võimas kahur, mis tulistab mürske kobar block.cyclone.description = Suur lendavate ja maapealsete väeüksuste vastane kahur, mis tulistab plahvatavaid mürske. block.spectre.description = Massiivne kaheraudne kahur, mis tulistab soomuskatteid läbistavaid mürske nii lendavate kui ka maapealsete väeüksuste pihta. block.meltdown.description = Massiivne laserkahur, mis tekitab püsiva energiakiire. Vajab töötamiseks jahutusvedelikku. +block.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Parandab kõige lähemal asuvat liitlaste väeüksust. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_eu.properties b/core/assets/bundles/bundle_eu.properties index 537d0b3133..9fcf0835f5 100644 --- a/core/assets/bundles/bundle_eu.properties +++ b/core/assets/bundles/bundle_eu.properties @@ -12,16 +12,19 @@ link.itch.io.description = PC deskargen itch.io orria link.google-play.description = Google Play dendako sarrera link.f-droid.description = F-Droid catalogue listing link.wiki.description = Mindustry wiki ofiziala -link.suggestions.description = Suggest new features +link.suggestions.description = Proposatu ezaugarri berriak +link.bug.description = Akatsen bat aurkitu duzu? Eman berri hemen +linkopen = Zerbitzari honek esteka bat bidali dizu. Ziur ireki nahi duzula?\n\n[sky]{0} linkfail = Huts egin du esteka irekitzean!\nURL-a zure arbelera kopiatu da. screenshot = Pantaila-argazkia {0} helbidean gorde da screenshot.invalid = Mapa handiegia, baliteke pantaila-argazkirako memoria nahiko ez egotea. gameover = Partida amaitu da +gameover.disconnect = Deskonektatu gameover.pvp = [accent] {0}[] taldeak irabazi du! +gameover.waiting = [accent]Hurrengo maparen zain... highscore = [accent]Marka berria! copied = Kopiatuta. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +indev.notready = Jolasaren atal hau ez dago prest load.sound = Soinuak load.map = Mapak @@ -29,20 +32,33 @@ load.image = Irudiak load.content = Edukia load.system = Sistema load.mod = Mod-ak -load.scripts = Scripts +load.scripts = Scriptak -be.update = A new Bleeding Edge build is available: -be.update.confirm = Download it and restart now? -be.updating = Updating... -be.ignore = Ignore -be.noupdates = No updates found. -be.check = Check for updates +be.update = Konpilazio berri bat eskuragarri dago: +be.update.confirm = Deskargatu eta berrabiarazi orain? +be.updating = Eguneratzen... +be.ignore = Ezikusi +be.noupdates = Ez da eguneratzerik aurkitu. +be.check = Egiaztatu eguneratzeak +mods.browser = Mod arakatzailea +mods.browser.selected = Hautatutako mod-a +mods.browser.add = Instalatu +mods.browser.reinstall = Berrinstalatu +mods.browser.view-releases = Ikusi bertsioak +mods.browser.noreleases = [scarlet]Ez da bertsiorik aurkitu\n[accent]Ez da mod honen bertsiorik aurkitu. Egiaztatu mod-aren biltegian bertsiorik argitaratu ote den. +mods.browser.latest = +mods.browser.releases = Bersioak +mods.github.open = Biltegia +mods.github.open-release = Bertsioaren orria +mods.browser.sortdate = Ordenatu dataren arabera +mods.browser.sortstars = Ordenatu izarren arabera -schematic = Eskama +schematic = Eskema schematic.add = Gorde eskema... schematics = Eskemak +schematic.search = Search schematics... schematic.replace = Badago izen bereko eskema bat. Ordeztu nahi duzu? -schematic.exists = A schematic by that name already exists. +schematic.exists = Badago izen bereko eskema bat. schematic.import = Inportatu eskema... schematic.exportfile = Esportatu fitxategia schematic.importfile = Inportatu fitxategia @@ -53,20 +69,28 @@ schematic.shareworkshop = Partekatu tailerrean schematic.flip = [accent][[{0}][]/[accent][[{1}][]: itzulbiratu eskema schematic.saved = Eskema gordeta. schematic.delete.confirm = Eskema hau behin betiko suntsituko da. -schematic.rename = Aldatu izena eskemari +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} bloke -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Eskemak desgaituta[]\nEz duzu eskemak erabiltzeko baimenik [accent]mapa[] edo [accent]zerbitzari[] honetan. +schematic.tags = Etiketak: +schematic.edittags = Editatu etiketak +schematic.addtag = Gehitu etiketa +schematic.texttag = Etiketaren testua +schematic.icontag = Etiketaren ikonoa +schematic.renametag = Aldatu etiketaren izena +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Ezabatu etiketa hau erabat? +schematic.tagexists = Etiketa badago aurretik. +stats = Estatistikak +stats.wave = Gainditutako boladak +stats.unitsCreated = Sortutako unitateak +stats.enemiesDestroyed = Suntsitutako etsaiak +stats.built = Eraikitako eraikinak +stats.destroyed = Suntsitutako eraikinak +stats.deconstructed = Deseraikitako eraikinak +stats.playtime = Jolastutako denbora -stat.wave = Garaitutako boladak:[accent] {0} -stat.enemiesDestroyed = Suntsitutako etsaiak:[accent] {0} -stat.built = Eraikitako eraikinak:[accent] {0} -stat.destroyed = Suntsitutako eraikinak:[accent] {0} -stat.deconstructed = Deseraikitako eraikinak:[accent] {0} -stat.delivered = Egotzitako baliabideak: -stat.playtime = Time Played:[accent] {0} -stat.rank = Azken graduazioa: [accent]{0} - -globalitems = [accent]Global Items +globalitems = [accent]Elementu globalak map.delete = Ziur al zaude "[accent]{0}[]" mapa ezabatu nahi duzula? level.highscore = Marka: [accent]{0} level.select = Maila hautaketa @@ -74,12 +98,15 @@ level.mode = Jolas-modua: coreattack = < Muina erasopean dago! > nearpoint = [[ [scarlet]ATERA ERRUNTZE EREMUTIK ATOAN[] ]\nDeuseztapena berehalakoa database = Muinaren datu-basea +database.button = Database savegame = Gorde partida loadgame = Kargatu partida joingame = Batu partidara customgame = Partida pertsonalizatua newgame = Partida berria none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Mapatxoa position = Posizioa close = Itxi @@ -91,7 +118,7 @@ maps.browse = Arakatu mapak continue = Jarraitu maps.none = [lightgray]Ez da maparik aurkitu! invalid = Baliogabea -pickcolor = Pick Color +pickcolor = Hautatu kolorea preparingconfig = Konfigurazioa prestatzen preparingcontent = Edukia prestatzen uploadingcontent = Edukia igotzen @@ -99,60 +126,89 @@ uploadingpreviewfile = Aurrebista fitxategia igotzen committingchanges = Aldaketak aplikatzen done = Egina feature.unsupported = Zure gailuak ez du ezaugarri hau onartzen. - -mods.alphainfo = Kontuan izan mod-ak alfa egoeran daudela, eta [scarlet] akats ugari izan ditzakete[].\nEman arazoen berri Mindustry-ren GitHub or Discord zerbitzuetan. +mods.initfailed = [red]âš [] Aurreko Mindustry instantziak ezin izan du abiatu. Ziur aski mod-en erruz.\n\nEtengabeko kraskatzean ekiditeko, [red]mod guztiak desgaitu dira.[] mods = Mod-ak mods.none = [lightgray]Ez da mod-ik aurkitu! mods.guide = Mod-ak sortzeko gida mods.report = Eman akatsaren berri mods.openfolder = Ireki Mod-en karpeta -mods.reload = Reload -mods.reloadexit = The game will now exit, to reload mods. +mods.viewcontent = Ikusi edukia +mods.reload = Birkargatu +mods.reloadexit = Jolsa irten egingo da, mod-ak birkargatzeko. +mod.installed = [[Instalatuta] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Gaituta mod.disabled = [scarlet]Desgaituta +mod.multiplayer.compatible = [gray]Hainbat jokalariekin bateragarria mod.disable = Desgaitu -mod.content = Content: +mod.version = Version: +mod.content = Edukia: mod.delete.error = Ezin izan da mod-a ezabatu. Agian fitxategia erabilia izaten ari da. -mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Falta diren menpekotasunak: {0} -mod.erroredcontent = [scarlet]Content Errors -mod.errors = Errors have occurred loading content. -mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies +mod.erroredcontent = [scarlet]Edukiaren erroreak +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This mod caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} +mod.errors = Erroreak gertatu dira edukia kargatzean. +mod.noerrorplay = [scarlet]Erroreak dituzten mod-ak dituzu.[] Desgaitu kaltetutako mod-ak edo konpondu erroreak jolastu aurretik. mod.nowdisabled = [scarlet]'{0}' mod-ak menpekotasunak ditu faltan:[accent] {1}\n[lightgray]Aurretik beste mod hauek deskargatu behar dira.\nMod hau automatikoki desgaituko da. mod.enable = Gaitu mod.requiresrestart = Jolasa itxi egingo da mod-aren aldaketak aplikatzeko. mod.reloadrequired = [scarlet]Birkargatu behar da -mod.import = Importatu Mod-a -mod.import.file = Import File +mod.import = Inportatu Mod-a +mod.import.file = Inportatu fitxategia mod.import.github = Inportatu GitHub Mod-a -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! -mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod. +mod.jarwarn = [scarlet]JAR mod-ak ez-ziurrak dira berez.[]\nEgiaztatu konfidantzako itur batetik inportatzen duzula! +mod.item.remove = Hau[accent] '{0}'[] mod-aren parte da. Kentzeko, desinstalatu mod-a. mod.remove.confirm = Mod hau ezabatuko da. mod.author = [lightgray]Egilea:[] {0} mod.missing = Gordetako partida honek eguneratu dituzun edo jada instalatuta ez dituzun mod-ak ditu. Gordetako partida izorratu daiteke. Ziur kargatu nahi duzula?\n[lightgray]Mod-ak:\n{0} mod.preview.missing = Mod hau tailerrean argitaratu aurretik, aurrebista bat gehitu behar diozu.\nKokatu[accent] preview.png[] izeneko irudi bat mod-aren karpetan eta saiatu berriro. mod.folder.missing = Karpeta formatuko mod-ak besterik ezin dira argitaratu tailerrean.\nEdozein mod karpetara bihurtzeko, deskopnrimitu fitxategia eta ezabatu zip zaharra, gero berrabiarazi jolasa edo birkargatu zure mod-ak. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. +mod.scripts.disable = Zure gailuak ez ditu scrit-ak dituzten mod-ak onartzen. Mod hauek desgaitu behar dituzu jolasteko. about.button = Honi buruz name = Izena: noname = Hautatu[accent] jokalari-izena[] aurretik. -planetmap = Planet Map -launchcore = Launch Core +search = Bilatu: +planetmap = Planeta-mapa +launchcore = Egotzi muina filename = Fitxategi-izena: unlocked = Eduki berria desblokeatuta! +available = Ikerketa berria eskuragarri! +unlock.incampaign = < Desblokeatu kanpainan xehetasunetarako > +campaign.select = Hautatu hasierako kanpaina +campaign.none = [lightgray]hautatu hasteko planeta.\nHau edonoiz aldatu daiteke. +campaign.erekir = [accent]Jokalari berrientzak aholkatua.[]\n\nEduki berriagoa eta landuagoa. Kanpaina aurreratze lineala.\n\nKalitate hobeko mapak eta esperientzia orokorra. +campaign.serpulo = [scarlet]Ez aholkatua jokalari berrientzat.[]\n\nEduki zaharra; esperientzia klasikoa. Irekiagoa.\n\nAgian desorekatuak dauden mapak eta kanpainaren mekanikak. Ez horren landua. +campaign.difficulty = Difficulty + + completed = [accent]Ikertua techtree = Teknologia zuhaitza +techtree.select = Teknologia zuhaitzeko hautaketa +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Kargatu +research.discard = Baztertu research.list = [lightgray]Ikertu: research = Ikertu researched = [lightgray]{0} ikertuta. -research.progress = {0}% complete +research.progress = {0}% osatuta players = {0} jokalari konektatuta players.single = Jokalari {0} konektatuta -players.search = search -players.notfound = [gray]no players found +players.search = bilatu +players.notfound = [gray]ez da jokalaririk aurkitu server.closing = [accent]Zerbitzaria ixten... server.kicked.kick = Zerbitzaritik kanporatu zaituzte! server.kicked.whitelist = Ez zaude hemengo zerrenda zurian. @@ -169,7 +225,7 @@ server.kicked.nameEmpty = Aukeratu duzun izena baliogabea da. server.kicked.idInUse = Bazaude zerbitzari honetan! Ezin zara bi kontu desberdinekin konektatu. server.kicked.customClient = Zerbitzari honek ez ditu konpilazio pertsonalizatuak onartzen. Deskargatu bertsio ofizial bat. server.kicked.gameover = Partida amaitu da! -server.kicked.serverRestarting = The server is restarting. +server.kicked.serverRestarting = Zerbitzaria berrabiaratzen ari da. server.versions = Zure bertsioa:[accent] {0}[]\nZerbitzariaren bertsioa:[accent] {1}[] host.info = [accent]Ostalaria[] botoiak zerbitzari bat abiatzen du [scarlet]6567[] atakan.\n[lightgray]wifi edo sare lokal[] berean dagoen edonor zure zerbitzaria ikusi ahal beharko luke.\n\nJendea edonondik IP-a erabilita konektatu ahal izatea nahi baduzu, [accent]ataka birbidaltzea[] ezinbestekoa da.\n\n[lightgray]Oharra: Inork zure sare lokalean partidara elkartzeko arazoak baditu, egiaztatu Mindustry-k baimena duela sare lokalera elkartzeko suebakiaren ezarpenetan. Kontuan izan sare publiko batzuk ez dutela zerbitzarien bilaketa baimentzen. join.info = Hemen, konektatzeko [accent]zerbitzari baten IP-a[] sartu dezakezu konektatzeko, edo [accent]sare lokaleko[] zerbitzariak bilatu.\nLAN zein WAN sareetan onartzen dira hainbat jokalarien partidak .\n\n[lightgray]Oharra: Ez dago zerbitzarien zerrenda global automatikorik, beste inorekin IP bidez konektatu nahi baduzu, ostalariari bere IP helbidea eskatu beharko diozu. @@ -185,17 +241,33 @@ server.refreshing = Zerbitzaria freskatzen hosts.none = [lightgray]Ez da partida lokalik aurkitu! host.invalid = [scarlet]Ezin da ostalarira konektatu. -servers.local = Local Servers -servers.remote = Remote Servers -servers.global = Community Servers +servers.local = Zerbitzari lokalak +servers.local.steam = Ireki partidak eta zerbitzari lokalak +servers.remote = Urruneko zerbitzariak +servers.global = Komunitatearen zerbitzariak +servers.disclaimer = Komunitatearen zerbitzariak [accent]ez[] ditu garatzaileak kontrolatzen.\n\nZerbitzari hauek erabiltzaileek sortutako edukia izan dezakete, eta ez du zertan adin guztientzat egokia izan behar. +servers.showhidden = Erakutsi ezkutatutako zerbitzariak +server.shown = Erakutsita +server.hidden = Ezkutatuta +viewplayer = Viewing Player: [accent]{0} trace = Trazatu jokalaria trace.playername = Jokalariaren izena: [accent]{0} trace.ip = IP-a: [accent]{0} trace.id = ID bakana: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Bezero mugikorra: [accent]{0} trace.modclient = Bezero pertsonalizatua: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Bezero ID baliogabea! Ireki arazte txosten bat. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Debekuak server.bans.none = Ez da debekatutako jokalaririk aurkitu! server.admins = Administratzaileak @@ -209,10 +281,11 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]Konpilazio pertsonalizatua confirmban = Ziur jokalari hau debekatu nahi duzula? confirmkick = Ziur jokalari hau kanporatu nahi duzula? -confirmvotekick = Ziur hokalari hau botatzearen alde bozkaytu nahi duzula? confirmunban = Ziur jokalari hau debekatzeari utzi nahi nahi diozula? confirmadmin = Ziur jokalari hau admin bihurtu nahi duzula? confirmunadmin = Ziur jokalari honi admin eskubidea kendu nahi diozula? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Batu partidara joingame.ip = Helbidea: disconnect = Deskonektatuta. @@ -220,15 +293,18 @@ disconnect.error = Konexio errorea. disconnect.closed = Konexioa itxita. disconnect.timeout = Denbor-muga agortuta. disconnect.data = Huts egin du munduaren datuak eskuratzean! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Ezin izan da partidara elkartu ([accent]{0}[]). connecting = [accent]Konektatzen... +reconnecting = [accent]Reconnecting... connecting.data = [accent]Munduaren datuak kargatzen... server.port = Ataka: -server.addressinuse = Helbidea dagoeneko erabilita dago! server.invalidport = Ataka zenbaki baliogabea! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Errorea zerbitzaria ostatatzean: [accent]{0} save.new = Gordetako partida berria save.overwrite = Ziur gordetzeko tarte hau gainidatzi nahi duzula? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Gainidatzi save.none = Ez da gordetako partidarik aurkitu! savefail = Huts egin du partida gordetzean! @@ -249,6 +325,7 @@ save.corrupted = [accent]Gordetako partidaren fitxategia hondatuta dago edo bali empty = on = Piztuta off = Itzalita +save.search = Search saved games... save.autosave = Gordetze automatikoa: {0} save.map = Mapa: {0} save.wave = {0}. bolada @@ -264,9 +341,33 @@ ok = Ados open = Ireki customize = Aldatu arauak cancel = Utzi +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Ireki esteka copylink = Kopiatu esteka back = Atzera +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. data.export = Esportatu datuak data.import = Inportatu datuak data.openfolder = Open Data Folder @@ -274,15 +375,18 @@ data.exported = Datuak esportatuta. data.invalid = Datu hauek baliogabeak dira. data.import.confirm = Kanpoko datuak inportatzeak zure oraingo jolasaren datu [scarlet]guztiak[] ezabatuko ditu.\n[accent]Hau ezin da desegin![]\n\nBehin datuak inporatuta, zure jolasa berehala irtengo da. quit.confirm = Ziur irten nahi duzula? -quit.confirm.tutorial = Ziur al zaude irten nahi duzula?\nTutoriala berriro hasi dezakezu hemen: [accent] Ezarpenak->Jolasa->Berriro hasi tutoriala.[] loading = [accent]Kargatzen... -reloading = [accent]Mod-ak birkargatzen... +downloading = [accent]Downloading... saving = [accent]Gordetzen... respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] plan bat ezabatzeko selectschematic = [accent][[{0}][] hautatu+kopiatzeko pausebuilding = [accent][[{0}][] eraikiketa eteteko resumebuilding = [scarlet][[{0}][] eraikiketa berrekiteko +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]{0}. bolada wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]Boladarako {0} @@ -290,6 +394,8 @@ wave.waveInProgress = [lightgray]Bolada abian waiting = [lightgray]Itxaroten... waiting.players = Jokalariei itxaroten... wave.enemies = [lightgray]{0} etsai daude +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core wave.enemy = [lightgray]Etsai {0} dago wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. @@ -300,9 +406,9 @@ custom = Pertsonalizatua builtin = Jolas barnekoa map.delete.confirm = Ziur mapa hau ezabatu nahi duzula? Ekintza hau ezin da desegin! map.random = [accent]Ausazko mapa -map.nospawn = Mapa honek ez du muinik jokalaria sortu dadin! Gehitu muin [accent] laranja[] bat mapa honi editorean. +map.nospawn = Mapa honek ez du muinik jokalaria sortu dadin! Gehitu muin {0} bat mapa honi editorean. map.nospawn.pvp = Mapa honek ez du etsaien muinik jokalaria sortu dadin! Gehitu [scarlet]laranja ez den[] muinen bat edo batzuk mapa honi editorean. -map.nospawn.attack = Mapa honek ez du etsaien muinik jokalariak eraso dezan! Gehitu muin [scarlet]gorriak[] mapa honi editorean. +map.nospawn.attack = Mapa honek ez du etsaien muinik jokalariak eraso dezan! Gehitu muin {0} mapa honi editorean. map.invalid = Errorea mapa kargatzean: Mapa-fitxategi baliogabe edo hondatua. workshop.update = Eguneratu elementua workshop.error = Errorea tailerreko xehetasunak eskuratzean: {0} @@ -310,12 +416,17 @@ map.publish.confirm = Ziur mapa hau argitaratu nahi duzula?\n\n[lightgray]Ziurta workshop.menu = Erabaki elementu honekin zer egin nahi duzun. workshop.info = Elementuaren informazioa changelog = Aldaketa egunkatia (aukerakoa): +updatedesc = Overwrite Title & Description eula = Steam EULA missing = Elementu hau ezabatu edo lekuz aldatu da.\n[lightgray]Tailerreko zerrendatik kendu da automatikoki. publishing = [accent]Argitaratzen... publish.confirm = Ziur hau argitaratu nahi duzula?\n\n[lightgray]Egiaztatu tailerreko EULA lizentziarekin ados zaudela aurretik, bestela zure elementuak ez dira agertuko! publish.error = Errorea elementua argitaratzean: {0} steam.error = Huts egin du Steam zerbitzuak hasieratzean.\nErrorea: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Brotxa editor.openin = Ireki editorean @@ -328,35 +439,71 @@ editor.nodescription = Mapek deskripzio bat izan behar dute argitaratu aurretik, editor.waves = Boladak: editor.rules = Arauak: editor.generation = Sorrarazi: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Editatu jolasean +editor.playtest = Playtest editor.publish.workshop = Argitaratu lantegian editor.newmap = Mapa berria editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Lantegia waves.title = Boladak waves.remove = Kendu -waves.never = waves.every = maiztasuna waves.waves = bolada +waves.health = health: {0}% waves.perspawn = sorrerako waves.shields = shields/wave waves.to = - +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Aurrebista waves.edit = Editatu... +waves.random = Random waves.copy = Kopiatu arbelera waves.load = Kargatu arbeletik waves.invalid = Bolada baliogabeak arbelean. waves.copied = Boladak kopiatuta. waves.none = Ez da etsairik zehaztu.\nKontuan izan bolada hutsak lehenetsitako diseinuarekin ordeztuko direla. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Xehetasunak... edit = Editatu... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Izena: editor.spawn = Sortu unitatea editor.removeunit = Kendu unitatea @@ -368,13 +515,19 @@ editor.errorlegacy = Mapa hau zaharregia da, eta jada onartzen ez den formatu za editor.errornot = Hau ez da mapa-fitxategi bat. editor.errorheader = Mapa hau hondatuta dago edo baliogabea da. editor.errorname = Mapak ez du zehaztutako izenik. Gordetako partida bat kargatzen saiatu zara? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Eguneratu editor.randomize = Ausazkoa +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Aplikatu editor.generate = Sorrarazi +editor.sectorgenerate = Sector Generate editor.resize = Aldatu neurria editor.loadmap = Kargatu mapa editor.savemap = Gorde mapa +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Gordeta! editor.save.noname = Zure mapak ez du izenik" Jarri baten bat 'Mapa info' menuan. editor.save.overwrite = Zure mapak jolas barneko mapa bat gainidatziko luke! Hautatu beste izen bat 'Mapa info' menuan. @@ -413,8 +566,12 @@ toolmode.eraseores = Ezabatu meak toolmode.eraseores.description = Ezabatu meak soilik. toolmode.fillteams = Bete taldeak toolmode.fillteams.description = Bete taldeak blokeen ordez. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Marraztu taldeak toolmode.drawteams.description = Marraztu taldeak blokeen ordez. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]Iragazkirik ez! Gehitu bat beheko botoiarekin. filter.distort = Distortsioa @@ -433,6 +590,7 @@ filter.clear = Garbitu filter.option.ignore = Ezikusi filter.scatter = Sakabanaketa filter.terrain = Lursaila +filter.logic = Logic filter.option.scale = Eskala filter.option.chance = Zoria filter.option.mag = Magnitudea @@ -441,17 +599,39 @@ filter.option.circle-scale = Eskala zirkularra filter.option.octaves = Oktabak filter.option.falloff = Bakandu filter.option.angle = Angelua +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Blokea filter.option.floor = Zorua filter.option.flooronto = Zoru xedea filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Horma filter.option.ore = Mea filter.option.floor2 = Bigarren zorua filter.option.threshold2 = Bigarren atalasea filter.option.radius = Erradioa filter.option.percentile = Pertzentila +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Zabalera: height = Altuera: @@ -462,6 +642,9 @@ load = Kargatu save = Gorde fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Berrabiarazi jolasa hizkuntza-ezarpenak aplikatzeko. settings = Ezarpenak tutorial = Tutoriala @@ -476,26 +659,71 @@ complete = [lightgray]Helmena: requirement.wave = Iritsi {0} boladara {1} requirement.core = Suntsitu etsaiaren muina {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Bolada onena: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Only the host can view sectors. uncover = Estalgabetu configure = Konfiguratu zuzkidura +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  loadout = Loadout -resources = Resources +resources = Resources +resources.max = Max bannedblocks = Debekatutako blokeak +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Gehitu denak +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Kopurua 0 eta {0} bitarteko zenbaki bat izan behar da. -zone.unlocked = [lightgray]{0} desblokeatuta. -zone.requirement.complete = {0}. boladara iritsia:\n{1} Eremuaren betebeharra beteta. -zone.resources = [lightgray]Antzemandako baliabideak: -zone.objective = [lightgray]Helburua: [accent]{0} -zone.objective.survival = Biziraupena -zone.objective.attack = Suntsitu etsaiaren muina add = Gehitu -boss.health = Nagusiaren osasuna +guardian = Guardian connectfail = [crimson]Konexio errorea:\n\n[accent]{0} error.unreachable = Zerbitzaria eskuraezin.\nHelbidea ondo idatzita dago? @@ -507,26 +735,69 @@ error.mapnotfound = Ez da mapa-fitxategia aurkitu! error.io = Sareko irteera/sarrera errorea. error.any = Sareko errore ezezaguna. error.bloom = Ezin izan da distira hasieratu.\nAgian zure gailuak ez du onartzen. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: sectors.production = Production: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Stored: sectors.resume = Resume sectors.launch = Launch sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Rename Sector +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -539,6 +810,22 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,6 +838,75 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = Hizkuntza settings.data = Jolasaren datuak @@ -573,7 +929,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = [accent]< Pausatuta > clear = Garbitu banned = [scarlet]Debekatuta -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Unsupported Environment yes = Bai no = Ez info.title = Informazioa @@ -581,13 +937,18 @@ error.title = [crimson]Errore bat gertatu da error.crashtitle = Errore bat gertatu da unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Sarrera stat.output = Irteera +stat.maxefficiency = Max Efficiency stat.booster = Indargarria stat.tiles = Required Tiles stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Energia-edukiera stat.powershot = Energia/tiroko stat.damage = Kaltea @@ -610,6 +971,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Oinarrizko energia sorrera stat.productiontime = Eraikitze denbora stat.repairtime = Blokearen konpontze denbora osoa +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = Abiadura areagotzea stat.range = Irismena stat.drilltier = Ustiagarriak @@ -617,6 +983,7 @@ stat.drillspeed = Oinarrizko ustiatze-abiadura stat.boosteffect = Indartze-efektua stat.maxunits = Gehieneko unitate aktiboak stat.health = Osasuna +stat.armor = Armor stat.buildtime = Eraikitze-denbora stat.maxconsecutive = Max Consecutive stat.buildcost = Eraikitze-kostua @@ -632,6 +999,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = HeatCapacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -640,21 +1008,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Zulagailu hobea behar da +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Ustiatze-abiadura: {0}/s bar.pumpspeed = Ponpatze abiadura: {0}/s bar.efficiency = Eraginkortasuna: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energia: {0}/s bar.powerstored = Bilduta: {0}/{1} bar.poweramount = Energia: {0} @@ -663,13 +1087,19 @@ bar.powerlines = Connections: {0}/{1} bar.items = Elementuak: {0} bar.capacity = Edukiera: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Likidoa bar.heat = Beroa +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = Energia bar.progress = Eraikitze egoera +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,35 +1107,50 @@ bullet.damage = [stat]{0}[lightgray] kalte bullet.splashdamage = [stat]{0}[lightgray] ingurune-kaltea ~[stat] {1}[lightgray] lauza bullet.incendiary = [stat]su-eragilea bullet.homing = [stat]gidatua -bullet.shock = [stat]danbatekoa -bullet.frag = [stat]fragmentazioa +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] kontusioa bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]hozkirri -bullet.tarred = [stat]mundrunduta +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x munizio-biderkatzailea bullet.reload = [stat]{0}[lightgray]x tiro tasa +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = bloke unit.blockssquared = blocks² unit.powersecond = energia unitate/segundoko +unit.tilessecond = tiles/second unit.liquidsecond = likido unitate/segundoko unit.itemssecond = elementu/segundoko unit.liquidunits = likido unitate unit.powerunits = energia unitate +unit.heatunits = heat units unit.degrees = grado unit.seconds = segundo unit.minutes = mins unit.persecond = /seg unit.perminute = /min unit.timesspeed = x abiadura +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = elementu unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose category.general = Orokorra category.power = Energia category.liquids = Likidoak @@ -713,16 +1158,23 @@ category.items = Baliabideak category.crafting = Sarrera/Irteera category.function = Function category.optional = Aukerako hobekuntzak +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Blokeatu horizontalean setting.shadows.name = Itzalak setting.blockreplace.name = Bloke proposamen automatikoak setting.linear.name = Iragazte lineala setting.hints.name = Pistak -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animatutako ura setting.animatedshields.name = Animatutako ezkutuak -setting.antialias.name = Antialias[lightgray] (berrabiarazi behar da)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Etsai/Aliatu adierazleak setting.autotarget.name = Punteria automatikoa @@ -732,14 +1184,11 @@ setting.fpscap.name = Max FPS setting.fpscap.none = Bat ere ez setting.fpscap.text = {0} FPS setting.uiscale.name = Interfaze-eskala[lightgray] (berrabiarazi behar da)[] +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Kokatu beti diagonalean -setting.difficulty.training = Entrenamendua -setting.difficulty.easy = Erraza -setting.difficulty.normal = Arrunta -setting.difficulty.hard = Zaila -setting.difficulty.insane = Zoramena -setting.difficulty.name = Zailtasuna: setting.screenshake.name = Pantailaren astindua +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Bistaratze-efektuak setting.destroyedblocks.name = Erakutsi suntsitutako blokeak setting.blockstatus.name = Display Block Status @@ -747,32 +1196,43 @@ setting.conveyorpathfinding.name = Garraio-zintak kokatzeko bide-bilaketa setting.sensitivity.name = Kontrolagailuaren sentikortasuna setting.saveinterval.name = Gordetzeko tartea setting.seconds = {0} segundo -setting.blockselecttimeout.name = Block Select Timeout setting.milliseconds = {0} milliseconds setting.fullscreen.name = Pantaila osoa setting.borderlesswindow.name = Ertzik gabeko leihoa[lightgray] (berrabiaraztea behar lezake) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = Erakutsi FPS +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pixelatu[lightgray] (animazioak desgaitzen ditu) setting.minimap.name = Erakutsi mapatxoa -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Erakutsi jokalariaren kokalekua +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Musikaren bolumena setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Giroaren bolumena setting.mutemusic.name = Isilarazi musika setting.sfxvol.name = Efektuen bolumena setting.mutesound.name = Isilarazi soinua setting.crashreport.name = Bidali kraskatze txosten automatikoak +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Gorde automatikoki -setting.publichost.name = Partidaren ikusgaitasun publikoa +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Txataren opakotasuna setting.lasersopacity.name = Energia laserraren opakutasuna +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity setting.playerchat.name = Erakutsi jolas barneko txata -public.confirm = Zure jolasa publikoa egin nahi duzu?\n[accent]Edonor elkartu ahal izango da zure partidetara.\n[lightgray]Hau gero ere aldatu dauteke, Ezarpenak->Partida->Partida publikoaren ikusgaitasuna. +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Egokitu interfazea bistaratzeko +setting.macnotch.description = Berrabiarazi behar da aldaketak aplikatzeko +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Kontuan izan jolasaren beta bertsioek ezin dituztela jokalarien gela publokoak sortu. uiscale.reset = Interfazearen eskala aldatu da.\nSakatu "Ados" eskala hau berresteko.\n[scarlet][accent] {0}[] segundo atzera egin eta irteteko... uiscale.cancel = Utzi eta irten @@ -781,12 +1241,9 @@ keybind.title = Aldatu teklak keybinds.mobile = [scarlet]Tekla konfigurazio gehienak ez dabiltza mugikorrean. Oinarrizko mugimendua onartzen da soilik. category.general.name = Orokorra category.view.name = Bistaratzea +category.command.name = Unit Command category.multiplayer.name = Hainbat jokalari category.blocks.name = Block Select -command.attack = Eraso -command.rally = Batu -command.retreat = Erretreta -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1258,27 @@ keybind.move_y.name = Mugitu y keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Hautatu eskualdea keybind.schematic_menu.name = Eskema menua keybind.schematic_flip_x.name = Itzulbiratu X @@ -826,16 +1304,20 @@ keybind.select.name = Hautatu/Tirokatu keybind.diagonal_placement.name = Kokatze diagonala keybind.pick.name = Jaso blokea keybind.break_block.name = Apurtu blokea +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deshautatu keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Tirokatu keybind.zoom.name = Zoom keybind.menu.name = Menua keybind.pause.name = Pausatu keybind.pause_building.name = Pausatu/berrekin eraikiketa keybind.minimap.name = Mapatxoa +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Txata keybind.player_list.name = Jokalarien zerrenda keybind.console.name = Kontsola @@ -845,6 +1327,7 @@ keybind.toggle_menus.name = Txandakatu menuak keybind.chat_history_prev.name = Txat historialean aurrekoa keybind.chat_history_next.name = Txat historialean hurrengoa keybind.chat_scroll.name = Korritu txata +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = Lurreratu unitatea keybind.zoom_minimap.name = Mapatxoaren zooma mode.help.title = Moduen deskripzioa @@ -858,47 +1341,100 @@ mode.pvp.description = Borrokatu beste jokalari batzuk lokalean.\n[gray]Gutxiene mode.attack.name = Erasoa mode.attack.description = Suntsitu etsaiaren basea. Boladarik ez.\n[gray]Kono gorria behar da mapan jolasteko. mode.custom = Arau pertsonalizatuak +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Baliabide amaigabeak +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Boladen denboragailua +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Boladak +rules.airUseSpawns = Air units use spawn points rules.attack = Eraso modua -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = IA-k (talde gorriak) baliabide amaigabeak ditu rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Unitateen sorrerarako abiadura-biderkatzailea +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Unitateen osasun-biderkatzailea rules.unitdamagemultiplier = Unitateen kalte-biderkatzailea +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Etsaien muinaren ez-eraikitze erradioa:[lightgray] (lauzak) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Boladen tartea:[lightgray] (seg) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Eraikitze kostu-biderkatzailea rules.buildspeedmultiplier = Eraikitze abiadura-biderkatzailea rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Atzeratu bolada etsairik geratzen bada +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Erruntze puntuaren erradioa:[lightgray] (lauzak) rules.unitammo = Units Require Ammo +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = Boladak rules.title.resourcesbuilding = Baliabideak eta eraikuntza rules.title.enemy = Etsaiak rules.title.unit = Unitateak rules.title.experimental = Experimental rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light rules.weather = Weather rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Solidoak content.liquid.name = Likidoak content.unit.name = Unitateak content.block.name = Blokeak +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) item.copper.name = Kobrea item.lead.name = Beruna @@ -916,10 +1452,23 @@ item.blast-compound.name = Lehergai konposatua item.pyratite.name = Piratita item.metaglass.name = Metabeira item.scrap.name = Txatarra +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Ura liquid.slag.name = Zepa liquid.oil.name = Olioa liquid.cryofluid.name = Krio-isurkaria +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Daga unit.mace.name = Mace @@ -947,6 +1496,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,13 +1508,35 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = Hondar harkaitza +block.basalt-boulder.name = Basalt Boulder block.grass.name = Belarra -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Gatza block.salt-wall.name = Salt Wall @@ -988,24 +1564,28 @@ block.graphite-press.name = Grafito prentsa block.multi-press.name = Multi-prentsa block.constructing = {0} [lightgray](Eraikitzen) block.spawn.name = Etsai-sorrera +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Muina: Maskorra block.core-foundation.name = Muina: Fundazioa block.core-nucleus.name = Muina: Nukleoa -block.deepwater.name = Ur sakona -block.water.name = Ura +block.deep-water.name = Ur sakona +block.shallow-water.name = Ura block.tainted-water.name = Ur kutsatua +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Hondar ilunez kutsatutako ura block.tar.name = Mundruna block.stone.name = Harria -block.sand.name = Hondarra +block.sand-floor.name = Hondarra block.darksand.name = Hondar iluna block.ice.name = Izotza block.snow.name = Elurra -block.craters.name = Kraterrak +block.crater-stone.name = Kraterrak block.sand-water.name = Hondar ura block.darksand-water.name = Hondar ilun ura block.char.name = Kokea block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Izotz elurra @@ -1023,6 +1603,7 @@ block.spore-cluster.name = Espora mordoa block.metal-floor.name = Metalezko zorua 1 block.metal-floor-2.name = Metalezko zorua 2 block.metal-floor-3.name = Metalezko zorua 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Metalezko zorua 4 block.metal-floor-damaged.name = Kaltetutako metalezko zorua block.dark-panel-1.name = Panel iluna 1 @@ -1056,15 +1637,16 @@ block.conveyor.name = Garraio-zinta block.titanium-conveyor.name = Titaniozko garraio-zinta block.plastanium-conveyor.name = Plastanium Conveyor block.armored-conveyor.name = Blindatutako garraio-zinta -block.armored-conveyor.description = Titaniozko garraio-zinten abiadura berean darmatza elementuak, baina bildaje hobea du. Ez du onartzen albotik kargatzea ez bada beste garraio-zinta batetik. block.junction.name = Lotunea block.router.name = Bideratzailea block.distributor.name = Banatzailea block.sorter.name = Antolatzailea block.inverted-sorter.name = Alderantzizko antolatzailea block.message.name = Mezua +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.overflow-gate.name = Gainezkatze atea block.underflow-gate.name = Underflow Gate block.silicon-smelter.name = Silizio galdategia @@ -1115,20 +1697,22 @@ block.solar-panel.name = Panel fotovoltaikoa block.solar-panel-large.name = Panel fotovoltaiko handia block.oil-extractor.name = Olio erauzgailua block.repair-point.name = Konponketa puntua +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Pultsu hodia block.plated-conduit.name = Plated Conduit block.phase-conduit.name = Fasezko hodia block.liquid-router.name = Likidoen bideratzailea block.liquid-tank.name = Likidoentzako tankea +block.liquid-container.name = Liquid Container block.liquid-junction.name = Likidoentzako lotunea block.bridge-conduit.name = Hodi zubia block.rotary-pump.name = Ponpa birakaria block.thorium-reactor.name = Toriozko erreaktorea block.mass-driver.name = Mukulu igorlea block.blast-drill.name = Zurrusta zulagailua -block.thermal-pump.name = Ponpa termikoa +block.impulse-pump.name = Ponpa termikoa block.thermal-generator.name = Sorgailu termikoa -block.alloy-smelter.name = Aleazio urtzailea +block.surge-smelter.name = Aleazio urtzailea block.mender.name = Bedezi block.mend-projector.name = Konpontze proiektorea block.surge-wall.name = Tirainezko horma @@ -1145,9 +1729,9 @@ block.meltdown.name = Nukleofusio block.foreshadow.name = Foreshadow block.container.name = Edukiontzia block.launch-pad.name = Egozketa-plataforma -block.launch-pad-large.name = Egozketa-plataforma handia +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1157,9 +1741,179 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1169,66 +1923,153 @@ block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = urdina +team.malis.name = Malis team.crux.name = gorria team.sharded.name = laranja -team.orange.name = laranja team.derelict.name = abandonatua team.green.name = berdea -team.purple.name = morea -tutorial.next = [lightgray] -tutorial.intro = Hau [scarlet]Mindustry tutoriala[] da.\nHasi [accent]kobrea ustiatzen[]. Horretarako, sakatu zure muinetik hurbil dagoen kobre-mea bat.\n\n[accent]{0}/{1} kobre -tutorial.intro.mobile = [scarlet] Mindustry Tutorialean[] sartu zara\nPasatu hatza mugitzeko.\n[accent]Egin atximurkada bi hatzekin [] zooma hurbildu edo urruntzeko.\nHasi[accent] kobrea ustiatuz[]. Hurbildu kobrera, gero sakatu zure muinetik hurbil dagoen kobre mea bat.\n\n[accent]{0}/{1} kobre -tutorial.drill = Eskuz ustiatzea ez da eraginkorra.\n[accent]Zulagailuek []automatikoki ustiatu dezakete.\nSakatu zulagailuen fitxa, behean eskuman.\nHautatu[accent] zulagailu mekanikoa[]. Kokatu ezazu kobre zain batean klik eginez.\n[accent]Eskumako klik[] deseraikitzeko. -tutorial.drill.mobile = Eskuz ustiatzea ez da eraginkorra.\n[accent]Zulagailuek []automatikoki ustiatu dezakete.\nSakatu zulagailuen fitxa behean eskuman.\nHautatu[accent] zulagailu mekanikoa[]. \nKokatu ezazu kobre zain batean sakatuz, gero sakatu azpiko [accent]egiaztapen-marka[] zure hautaketa berresteko.\nSakatu [accent]X botoia[] kokatzea ezeztatzeko. -tutorial.blockinfo = Bloke bakoitzak estatistika desberdinak ditu. Eta zulagailu bakoitzak mea mota zehatz batzuk ustiatu ditzake soilik.\nBloke mota baten informazio eta estatistikak egiaztatzeko,[accent] hautatu blokea eraikiketa menuan eta sakatu "?" botoia .[]\n\n[accent]Atzitu zulagailu mekanikoaren estatistikak orain.[] -tutorial.conveyor = Solidoak muinera garraiatzeko [accent]garraio-zintak[] erabiltzen dira.\nEgin garraio-zinten errenkada bat zulagailutik muinera.\n[accent]Mantendu sagua sakatuta garraio-zintak errenkadan kokatzeko.[]\nSakatu [accent]CTRL[] errenkada diagonalean eraikitzeko.\n\n[accent]{0}/{1} garraio-zinta kokatuta errenkadan\n[accent]0/1 baliabide entregatuta -tutorial.conveyor.mobile = Baliabideak muinera garraiatzeko [accent]garraio-zintak[] erabiltzen dira.\nEgin garraio-zinten errenkada bat zulagailutik muinera.\n[accent]Mantendu atzamarra segundo batzuk errenkadan [] eta arrastatu norabideren batean.\n\n[accent]{0}/{1} garraiagailu kokatuta errenkadan\n[accent]0/1 baliabide entregatuta -tutorial.turret = Behin baliabide bat zure muinean sartu dela, eraikuntzarako erabili daiteke.\nIzan kontuan ezin direla baliabide mota guztiak erabili eraikuntzarako.\nEraikuntzarako erabili ezin daitezkeen baliabideak, esaterako [accent]ikatza[] edo [accent]txatarra[], ezin dira muinean sartu.\nDefentsarako estrukturak eraiki behar dira [lightgray]etsaiari[] aurre egiteko.\nEraiki [accent]duo dorre bat[] zure basetik hurbil. -tutorial.drillturret = Duo dorreak [accent]kobrezko munizioa[] behar dute tirokatzeko.\nKokatu zulagailu bat dorretik hurbil.\nEraman garraio-zinta bat dorrea arte kobrea hornitzeko.\n\n[accent]Entregatutako munizioa: 0/1 -tutorial.pause = Borrokan zehar, [accent]jolasa pausatu[] dezakezu.\nEraikuntzak planifikatu ditzakezu pausatuta dagoela.\n\n[accent]Sakatu zuriune-barra pausatzeko. -tutorial.pause.mobile = Borrokan zehar, [accent]jolasa pausatu[] dezakezu.\nEraikuntzak planifikatu ditzakezu pausatuta dagoela.\n\n[accent]Sakatu goi ezkerreko botoia pausatzeko. -tutorial.unpause = Orain sakatu berriro zuriune-barra berrekiteko. -tutorial.unpause.mobile = Orain sakatu berriro botoia berrekiteko. -tutorial.breaking = Maiz blokeak suntsitu beharko dituzu.\n[accent]Mantendu saguaren eskumako botoia[] hautaketa baten barruko bloke guztiak suntsitzeko.[]\n\n[accent]Suntsitu zure muinetik ezkerrera dauden txatarra bloke guztiak eremu-hautaketarekin. -tutorial.breaking.mobile = Maiz blokeak suntsitu beharko dituzu.\n[accent]Hautatu deseraikitze modua[], gero sakatu bloke bat hau apurtzen hasteko.\nSuntsitu eremu bat atzamarra segundo batzuk mantenduz[] eta norabideren batean arrastatuz.\nSakatu egiaztatze-marka suntsitzea berresteko.\n\n[accent]Suntsitu zure muinetik ezkerrera dauden txatarra bloke guztiak eremu-hautaketarekin. -tutorial.withdraw = Egoera batzuetan, blokeetatik zuzenean hartu behar dira baliabideak.\nHorretarako, [accent]sakatu baliabideak dituen bloke bat[], gero [accent]sakatu baliabidea[] inbentarioan.\nHainbat baliabide ateratzeko [accent]sakatu eta mantendu[].\n\n[accent]Atera kobre apur bat muinetik.[] -tutorial.deposit = Baliabideak blokeren batean sartzeko, arrastatu zure ontzitik blokera.\n\n[accent]Sartu zure kobrea berriro muinean.[] -tutorial.waves = [lightgray]Etsaia[] dator.\n\nBabestu muina 2 boladetan zehar. [accent]Egin klik[] tirokatzeko.\nEraiki dorre eta zulagailu gehiago. Ustiatu kobre gehiago. -tutorial.waves.mobile = [lightgray]Etsaia[] dator.\n\nBabestu muina 2 boladatan. Zure ontziak automatikoki tirokatuko ditu etsaiak.\nEraiki dorre eta zulagailu gehiago. Ustiatu kobre gehiago. -tutorial.launch = Bolada zehatz batera heltzean, [accent]muina egotzi[] dezakezu, zure defentsak atzean utziz [accent]eta muineko baliabide guztiak eskuratuz.[]\nBaliabide hauek teknologia berriak ikertzeko erabili daitezke.\n\n[accent]Sakatu egotzi botoia. +team.blue.name = urdina +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Egiturazko material oinarrizkoena. Asko erabilia bloke mota guztietarako. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = Hastapeneko oinarrizko materiala. Bloke elektronikoak eta likidoen garraiorako blokeetan asko erabilia. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = Beirazko konposatu izugarri sendoa. Asko erabilia likidoen garraio eta biltegiratzerako. item.graphite.description = Mineralizatutako ikatza, munizioa eta isolamendu elektrikorako erabilia. item.sand.description = Galdaketan asko erabiltzen den material arrunta, aleazioetan zein urgarri gisa. item.coal.description = Fosilizatutako gai begetala, panspermia baino askoz lehenago sortua. Asko erabilia erregai gisa eta baliabideak sortzeko. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = Metal oso arin eta urria. Asko erabilia likidoen garraiorako, zulagailuetan, eta hegazkinetan. item.thorium.description = Metal trinko erradioaktiboa, euskarri estrukturalerako eta erregai nuklear gisa erabilia. item.scrap.description = Estruktura eta unitate zaharren hondakin. Metal desberdin askoren apurrak dauzka. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = Erdieroale izugarri erabilgarria. Panel fotovoltaikoetan, elektronika konplexuan eta dorreen gidatutako munizioan erabilia. item.plastanium.description = Material arin eta harikorra aireontzi aurreratuetan eta fragmentazio-munizioan erabilia. item.phase-fabric.description = Ia pisurik gabeko substantzia elektronika aurreratuan eta auto-konponketan erabilia. item.surge-alloy.description = Ezaugarri elektriko bereziak dituen aleazio aurreratua. item.spore-pod.description = Espora sintetikoen leka bat, erabilera industrialerako sintetizatua kontzentrazio atmosferikoetatik. Olioa, lehergailuak eta erregaia ekoizteko erabilia. +item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.blast-compound.description = Bonba eta lehergailuetan erabilitako konposatu ezegonkorra. Espora lekak eta beste substantzia lurrinkorrekin sintetizatua. Erregai gisa erabiltzea ez da gomendagarria. item.pyratite.description = Izugarri sukoia den substantzia, arma su-eragileetan erabilia. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Likido erabilgarriena. Makinen hozgarri gisa eta hondakinen tratamenduan arrunt erabilia. liquid.slag.description = Urtutako mineral desberdinen batura. Bere jatorrizko mineraletara banatu daiteke, edo munizio gisa etsaiei ihinztatu. liquid.oil.description = Material aurreratuen ekoizpenean erabilitako likidoa. Ikatz bihurtu daiteke erregai gisa erabiltzeko, edo arma gisa ihinztatu eta su emanda. liquid.cryofluid.description = Ur eta titanioz egindako likido bizigabe eta ez korrosiboa. Beroa xurgatzeko gaitasun handia du. Hozgarri gisa maiz erabilia. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Titaniozko garraio-zinten abiadura berean darmatza elementuak, baina bildaje hobea du. Ez du onartzen albotik kargatzea ez bada beste garraio-zinta batetik. +block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.message.description = Mezu bat gordetzen du. Aliatuen arteko komunikaziorako erabilia. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Ikatz puskak zanpatzen ditu grafito hutsezko xaflak sortuz. block.multi-press.description = Grafito prentsaren bertsio hobetu bat. Ura eta energia behar ditu ikatza azkar eta eraginkorki prozesatzeko. block.silicon-smelter.description = Hondarra eta ikatz hutsa txikitzen ditu silizioa sortzeko. block.kiln.description = Hondarra eta beruna galdatzen ditu metabeira izeneko konposatua sortzeko. Energia apur bat behar du jarduteko. block.plastanium-compressor.description = Plastanioa ekoizten du olioa eta titanioa erabiliz. block.phase-weaver.description = Fasezko ehuna sintetizatzen du torio erradioaktiboa eta hondarra erabiliz. Energia kopurua handia behar du jarduteko. -block.alloy-smelter.description = Titanioa, beruna, silizioa eta kobrea konbinatzen ditu tirain aleazioa ekoizteko. +block.surge-smelter.description = Titanioa, beruna, silizioa eta kobrea konbinatzen ditu tirain aleazioa ekoizteko. block.cryofluid-mixer.description = Ura eta titanio hauts fina nahasten ditu krio-isurkia ekoizteko. Toriozko erreaktorea erabiltzeko ezinbestekoa. block.blast-mixer.description = Espora sortak eta piratita txikitu eta nahasten ditu lehergai konposatua ekoizteko. block.pyratite-mixer.description = Ikatza, beruna, eta hondarra nahasten ditu oso sukoia den piratita sortuz. @@ -1244,6 +2085,8 @@ block.item-source.description = Elementuen iturri amaigabea. Jolastokian besteri block.item-void.description = Elementu guztiak suntsitzen ditu. Jolastokian besterik ez. block.liquid-source.description = Likidoen emari amaigabea. Jolastokian besterik ez. block.liquid-void.description = Removes any liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. block.copper-wall.description = Babeserako bloke merke bat.\nMuina eta dorreak lehen boladetan babesteko erabilgarria. block.copper-wall-large.description = Babeserako bloke merke bat.\nMuina eta dorreak lehen boladetan babesteko erabilgarria.\nHainbat lauza hartzen ditu. block.titanium-wall.description = Zertxobait gogorra den babeserako bloke bat.\nEtsaien aurreko babes ertaina eskaintzen du. @@ -1256,6 +2099,10 @@ block.phase-wall.description = Fasez osatutako konposatu islatzaile batez estali block.phase-wall-large.description = Fasez osatutako konposatu islatzaile batez estalitako horma bat. Talkan jasotako bala gehienak desbideratzen ditu.\nHainbat lauza hartzen ditu. block.surge-wall.description = Defentsarako bloke nabarmen iraunkorra.\nKarga hartzen du balakadak jasotzean, hau edonora askatuz. block.surge-wall-large.description = Defentsarako bloke nabarmen iraunkorra.\nKarga hartzen du balakadak jasotzean, edonora askatuz.\nHainbat lauza hartzen ditu. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Ate txiki bat. Sakatuz ireki eta itxi daiteke. block.door-large.description = Ate handi bat. Sakatuz ireki eta itxi daiteke.\nHainbat lauza hartzen ditu. block.mender.description = Aldiro inguruko blokeak konpontzen ditu. Defentsak bere onean mantentzen ditu boladen artean.\nAukeran silizioa erabili dezake irismena eta eraginkortasuna hobetzeko. @@ -1272,17 +2119,19 @@ block.phase-conveyor.description = Elementuen garraiorako bloke aurreratua. Ener block.sorter.description = Elementuak antolatzen ditu. Elementu bat hautuarekin bat badator, aurrera jarraitu dezake. Bestela, elementua ezker eta eskuinera ateratzen da. block.inverted-sorter.description = Antolatzaile arruntaren antzera prozesatzen ditu elementuak, baina hautatutako elementuak alboetara ateratzen ditu. block.router.description = Elementuak onartzen ditu, eta beste gehienez 3 norabideetara ateratzen ditu kopuru berdinetan. Jatorri batetik hainbat xedeetara materialak banatzeko egokia.\n\n[scarlet]Ez jarri ekoizpen sarreren ondoan, irteerek trabatuko baitute.[] +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = Bideratzaile aurreratu bat. Elementuak beste gehienez 7 norabideetara sakabanatzen ditu kopuru berdinetan. block.overflow-gate.description = Antolatzaile eta bideratzaile konbinatua. Soilik aurrealdea blokeatuta dagoenean ateratzen du ezker eta eskuinera. block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. block.mass-driver.description = Elementuen garraiorako bloke gorena. Hainbat elementu jaso eta beste mukulu-igorle bati jaurtitzen dizkio irismen handiarekin. Energia behar du jarduteko. block.mechanical-pump.description = Ponpa merke bat, emari motelekoa baina ez du energiarik kontsumitzen. block.rotary-pump.description = Ponpa aurreratu bat. Likido gehiago barreiatzen du, baina energia behar du. -block.thermal-pump.description = Ponpa gorena. +block.impulse-pump.description = Ponpa gorena. block.conduit.description = Likidoen garraiorako oinarrizko blokea. Likidoak daramatza. Ponpa eta bestelako hodiekin batera erabilia. block.pulse-conduit.description = Likidoen garraiorako bloke aurreratua. Hodi arruntek baino azkarrago garraiatzen ditu likidoak eta edukiera handiagoa du. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. block.liquid-router.description = Likidoan alde batetik jaso eta gehienez beste 3 norabideetara ateratzen ditu kopuru berdinean. Likido apur bat ere biltegiratu dezake. Likidoak iturri batetik hainbat xedeetara eramateko erabilgarria. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Likidoen kopuru handi bat biltegiratzen du. Erabili tarteko biltegiratzerako materialen eskaria etengabekoa ez denean, edo ezinbesteko blokeentzako hozgarriaren gordailu gisa. block.liquid-junction.description = Gurutzatzen diren bi hodi banatzeko zubi gisa aritzen da. Likido desberdinak daramatzaten bi hodi gurutzatzen direnean erabilgarria. block.bridge-conduit.description = Likidoen garraiorako bloke aurreratua. Likidoak edozelako lurzoru edo eraikinen gainetik garraiatu ditzake, gehienez 3 lauzatara. @@ -1308,15 +2157,21 @@ block.laser-drill.description = Laser teknologiari esker azkarrago zulatu dezake block.blast-drill.description = Zulagailu gorena. Energia kopuru handia behar du. block.water-extractor.description = Lurrazpiko ura erauzten du. Azalean urik ez dagoen tokietan erabilia. block.cultivator.description = Atmosferako esporen kontzentrazio txikiak kultibatzen ditu industriarako erabilgarriak diren lekak sortzeko. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. block.oil-extractor.description = Energia, hondar eta ur ugari behar du olioa erauzteko. block.core-shard.description = Muin kapsularen lehen iterazioa. Behin suntsituta, eremuarekin kontaktua erabat galduko da, ez utzi hau gertatzen. +block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = Muinaren bigarren bertsioa. Hobeto blindatua. Baliabide gehiago gorde ditzake. +block.core-foundation.details = The second iteration. block.core-nucleus.description = Muin kapsularen hirugarren eta azken iterazioa. Bereziki ondo blindatua. Baliabide kopuru ikaragarriak biltegiratu ditzake. +block.core-nucleus.details = The third and final iteration. block.vault.description = Mota bakoitzeko elementuen kopuru handiak biltegiratzen ditu. Bloke deskargagailu bat erabili daiteke elementuak kriptatik ateratzeko. block.container.description = Mota bakoitzeko elementuen kopuru txiki bat gordetzen du. Bloke deskargagailu bat erabili daiteke elementuak edukiontzitik ateratzeko. block.unloader.description = Edukiontzi, kripta edo muin batetik elementuak deskargatzen ditu garraiagailu batera edo zuzenean ondoan dagoen bloke batera. Deskargatu beharreko elementu mota sakatuz aldatu daiteke. block.launch-pad.description = Baliabide multzoak egotzi ditzake muina egotzi gabe. -block.launch-pad-large.description = Egozketa plataformaren bertsio aurreratu bat. Elementu gehiago biltegiratzen ditu. Maizago egozten du. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Dorre txiki eta merke bat. Lurreko unitateen aurka erabilgarria. block.scatter.description = Aire defentsarako ezinbesteko dorrea. Berun edo txatarrezko koskorrekin ihinztatzen ditu unitate etsaiak. block.scorch.description = Inguruko lurreko etsaiak kiskaltzen ditu. Oso eraginkorra distantzia hurbilera. @@ -1331,5 +2186,429 @@ block.ripple.description = Kanoiteria dorre izugarri indartsua. Obus sortak jaur block.cyclone.description = Aire zein lurreko defentsarako dorre handia. Torpedo lehergarrien sortak jaurtitzen dizkie inguruko unitateei. block.spectre.description = Kanoi bikoitz erraldoia. Blindajea zulatu dezaketen bala handiak tirokatzen ditu aireko zein lurreko xedeei. block.meltdown.description = Laser kanoi erraldoia. Etengabeko laser izpi bat kargatu eta jauritzen die inguruko etsaiei. Hozgarria behar du jarduteko. +block.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Etengabe konpontzen du inguruko kaltetutako unitate hurbilena. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index 9e516c89c9..08cc625ba6 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -1,26 +1,29 @@ -credits.text = Pelin tehnyt [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits.text = Pelin on luonut [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Tekijät contributors = Kääntäjät ja avustajat discord = Liity Mindustryn Discordiin! link.discord.description = Mindustryn virallinen Discord-keskusteluhuone -link.reddit.description = Mindustryn alireddit +link.reddit.description = Mindustryn Reddit-sivu link.github.description = Pelin lähdekoodi link.changelog.description = Lista päivityksien muutoksista link.dev-builds.description = Epävakaat kehitysversiot link.trello.description = Virallinen Trello-taulu suunnitelluille ominaisuuksille. link.itch.io.description = itch.io -sivu tietokoneversion latausten kanssa link.google-play.description = Google Play Kauppa -sivu -link.f-droid.description = F-Droid catalogue listing +link.f-droid.description = F-Droid katalogilistaus link.wiki.description = Virallinen Mindustry wiki link.suggestions.description = Ehdota uusia ominaisuuksia +link.bug.description = Löysitkö bugin? Ilmoita se täällä +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Linkin avaaminen epäonnistui!\nOsoite on kopioitu leikepöydällesi. screenshot = Kuvankaappaus tallennettu sijaintiin {0} -screenshot.invalid = Kartta liian laaja, kuvankaappaukselle ei mahdollisesti ole tarpeeksi tilaa. +screenshot.invalid = Kartta liian laaja, levytila voi olla liian vähissä kuvankaappausta varten. gameover = Peli ohi +gameover.disconnect = Katkaise yhteys gameover.pvp = [accent] {0}[] joukkue voittaa! +gameover.waiting = [accent]Odotetaan seuraavaa karttaa... highscore = [accent]Uusi ennätys! copied = Kopioitu. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. indev.notready = Tämä osa peliä ei ole vielä valmis load.sound = Ääniä @@ -37,49 +40,73 @@ be.updating = Päivitetään... be.ignore = Sivuuta be.noupdates = Ei päivityksiä saatavilla. be.check = Tarkista päivityksiä +mods.browser = Lisäosaselain +mods.browser.selected = Valittu lisäosa +mods.browser.add = Asenna +mods.browser.reinstall = Uudelleenasenna +mods.browser.view-releases = Näytä julkaistut versiot +mods.browser.noreleases = [scarlet]Julkaistuja versioita ei löytynyt\n[accent]Tästä lisäosasta ei löytynyt julkaistuja versioita. Tarkista, onko lisäosan repositoriossa julkaistuja versioita. +mods.browser.latest = +mods.browser.releases = Julkaistut versiot +mods.github.open = Repositorio +mods.github.open-release = Julkaisusivu +mods.browser.sortdate = Järjestä laskevaan aikajärjestykseen +mods.browser.sortstars = Järjestä tähtien määrän perusteella schematic = Kaavio schematic.add = Tallenna kaavio... schematics = Kaaviot +schematic.search = Search schematics... schematic.replace = Kaavio tällä nimellä on jo olemassa. Haluatko korvata sen? schematic.exists = Kaavio tällä nimellä on jo olemassa. schematic.import = Tuo kaavio... schematic.exportfile = Vie tiedosto schematic.importfile = Tuo tiedosto -schematic.browseworkshop = Selaa Workshoppia +schematic.browseworkshop = Selaa Steam Workshoppia schematic.copy = Kopioi leikepöydälle schematic.copy.import = Tuo leikepöydältä schematic.shareworkshop = Jaa Workshoppiin schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Käännä Kaavio schematic.saved = Kaavio tallennettu. schematic.delete.confirm = Tämä kaavio poistetaan. -schematic.rename = Nimeä kaavio uudelleen +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} palikkaa schematic.disabled = [scarlet]Kaaviot poistettu käytöstä[]\nEt pysty käyttämään kaavioita tällä [accent]kartalla[] tai [accent]palvelimella. +schematic.tags = Tunnisteet: +schematic.edittags = Muokkaa tunnisteita +schematic.addtag = Lisää tunniste +schematic.texttag = Tekstitunniste +schematic.icontag = Kuvatunniste +schematic.renametag = Nimeä tunniste uudelleen +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Poista tunniste pysyvästi? +schematic.tagexists = Samanlainen tunniste on jo olemassa. +stats = Tilastot +stats.wave = Aaltoja voitettu +stats.unitsCreated = Rakennetut joukot +stats.enemiesDestroyed = Vastustajia tuhottu +stats.built = Rakennetut rakennukset +stats.destroyed = Tuhotut rakennukset +stats.deconstructed = Puretut rakennukset +stats.playtime = Pelattu aika -stat.wave = Tasoja voitettu:[accent] {0} -stat.enemiesDestroyed = Vihollisia tuhottu:[accent] {0} -stat.built = Rakennuksia rakennettu:[accent] {0} -stat.destroyed = Rakennuksia tuhottu:[accent] {0} -stat.deconstructed = Rakennuksia purettu:[accent] {0} -stat.delivered = Resursseja laukaistu: -stat.playtime = Pelattu aika:[accent] {0} -stat.rank = Lopullinen arvosana: [accent]{0} - -globalitems = [accent]Global Items -map.delete = Oletko varma että haluat poistaa kartan "[accent]{0}[]"? +globalitems = [accent]Yhteiset tavarat +map.delete = Oletko varma että haluat poistaa kartan: "[accent]{0}[]"? level.highscore = Ennätys: [accent]{0} level.select = Tason valinta level.mode = Pelimuoto: coreattack = < Ytimeen hyökätään! > -nearpoint = [[ [scarlet]POISTU PUDOTUSPISTEELTÄ VÄLITTÖMÄSTI[]\nvälitön tuhoutuminen +nearpoint = [[ [scarlet]POISTU VIHOLLISEN PUDOTUSPISTEELTÄ VÄLITTÖMÄSTI[]\nvälitön tuhoutuminen database = Ytimen tietokanta +database.button = Tietokanta savegame = Tallenna peli loadgame = Lataa peli joingame = Liity peliin customgame = Mukautettu peli newgame = Uusi peli none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Pienoiskartta position = Sijainti close = Sulje @@ -92,63 +119,90 @@ continue = Jatka maps.none = [lightgray]Karttoja ei löytynyt! invalid = Virheellinen pickcolor = Valitse väri -preparingconfig = Preparing Config -preparingcontent = Preparing Content -uploadingcontent = Uploading Content -uploadingpreviewfile = Uploading Preview File -committingchanges = Comitting Changes +preparingconfig = Valmistellaan asetuksia +preparingcontent = Valmistellaan sisältöä +uploadingcontent = Julkaistaan sisältöä +uploadingpreviewfile = Julkaistaan esikatseltavaa tiedostoa +committingchanges = Varmistetaan muutokset done = Valmis feature.unsupported = Laitteesi ei tue tätä toimintoa. - -mods.alphainfo = Pidä mielessä että modit ovat alpha-tilassa, ja[scarlet] ne voivat olla virheellisiä[].\nRaportoi kaikki virheet Mindustry GitHub-sivuille tai Discordiin. +mods.initfailed = [red]âš [] Edellisen Mindustryn instanssin initialisointi epäonnistui. Tämä aiheutui todennäköisesti virheistä lisäosissa.\n\nJatkuvien kaatumisten estämiseksi [red]kaikki lisäosat on poistettu käytöstä.[] mods = Modit mods.none = [lightgray]Modeja ei löytynyt! mods.guide = Modaamisopas mods.report = Raportoi ohjelmistovirhe mods.openfolder = Avaa modikansio -mods.reload = Reload -mods.reloadexit = The game will now exit, to reload mods. +mods.viewcontent = Näytä sisältö +mods.reload = Lataa uudelleen +mods.reloadexit = Peli tulee sulkeutumaan lisäosien uudelleenlataamiseksi. +mod.installed = [[Asennettu] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Käytössä mod.disabled = [scarlet]Pois käytöstä +mod.multiplayer.compatible = [gray]Moninpelaajayhteensopiva mod.disable = Poista käytössä +mod.version = Version: mod.content = Sisältö: mod.delete.error = Modia ei pystytty poistamaan. Tiedosto voi olla käytössä. -mod.requiresversion = [scarlet]Tarvitsee vähintään pelin version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Tarvitsee nämä modit: {0} +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Sisältövirheet +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Virheitä on tapahtunut pelin ladatessa. mod.noerrorplay = [scarlet]Sinulla on virheellisiä modeja.[] Joko poista ne käytöstä tai korjaa virheet. -mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. +mod.nowdisabled = [scarlet]Lisäosa '{0}' tarvitsee muita lisäosia toimiakseen:[accent] {1}\n[lightgray]Nämä lisäosat täytyy asentaa ensin.\nTämä lisäosa poistetaan automaattisesti käytöstä. mod.enable = Käytä mod.requiresrestart = Peli suljetaan jotta muutokset voisivat toteutua. mod.reloadrequired = [scarlet]Vaatii Uudelleenkäynnistystä mod.import = Tuo modi mod.import.file = Tuo tiedosto mod.import.github = Tuo GitHub Modi -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! +mod.jarwarn = [scarlet]JAR-lisäosat ovat luonteeltaan turvattomia.[]\nVarmista, että olet tuomassa tätä lisäosaa luotettavasta lähteestä! mod.item.remove = Tämä esine on osa[accent] '{0}'[] modia. Poistaaksesi sen, sinun tulee poistaa tuon modin vasennus mod.remove.confirm = Tämä modi poistetaan. mod.author = [lightgray]Tekijä:[] {0} -mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0} -mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again. -mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods. +mod.missing = Tämä tallennus on tallennettu sellaisen lisäosan kanssa, jonka olet äskettäin päivittänyt tai jota ei enää ole asennettuna. Tallennus voi vioittua. Oletko varma, että haluat ladata sen?\n[lightgray]Lisäosat:\n{0} +mod.preview.missing = Ennen kuin julkaiset tämän lisäosan Workshopissa, sinun täytyy lisätä kuvake.\nLisää kuva, joka on nimetty tiedostonimellä [accent] preview.png[] lisäosan kansioon ja yritä uudestaan. +mod.folder.missing = Vain kansion muodossa olevia lisäosia voi julkaista Workshopissa.\nMuuttaaksesi pakatun lisäosan kansioksi, pura se kansioon ja poista vanha arkisto.\nKäynnistä sen jälkeen peli uudelleen tai lataa uudelleen lisäosasi. mod.scripts.disable = Laitteesi ei tue modeja skripteillä. Sinun on sammutettava nämä modit pelataksesi peliä. about.button = Tietoa name = Nimi: noname = Valitse ensin[accent] pelaajanimi[]. -planetmap = Planet Map -launchcore = Launch Core +search = Search: +planetmap = Avaruuskartta +launchcore = Laukaise tukikohta filename = Tiedostonimi: unlocked = Uutta sisältöä avattu! +available = Uusia tutkimuksia saatavilla! +unlock.incampaign = < Avaa polussa saadaksesi yksityiskohtia > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Suoritettu -techtree = Tekniikkapuu +techtree = Edistyspuu +techtree.select = Edistyspuun valinta +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Lataa +research.discard = Hylkää research.list = [lightgray]Tutki: research = Tutki researched = [lightgray]{0} tutkittu. -research.progress = {0}% complete +research.progress = {0}% valmis players = {0} pelaajaa paikalla players.single = {0} pelaaja paikalla players.search = etsiä @@ -160,8 +214,8 @@ server.kicked.serverClose = Palvelin suljettu. server.kicked.vote = Sinut on äänestetty pois. Hyvästi. server.kicked.clientOutdated = Pelisi on vanhentunut! Päivitä se! server.kicked.serverOutdated = Vanhentunut palvelin! Pyydä isäntää päivittämään! -server.kicked.banned = Sinulla on portikielto tälle palvelimelle. -server.kicked.typeMismatch = This server is not compatible with your build type. +server.kicked.banned = Sinulla on porttikielto tälle palvelimelle. +server.kicked.typeMismatch = Tämä palvelin ei ole yhteensopiva koontiversiosi kanssa. server.kicked.playerLimit = Tämä palvelin on täynnä. Odota vapaata tilaa. server.kicked.recentKick = Sinut on potkittu äskettäin.\nOdota ennen kuin yhdistät uudestaan. server.kicked.nameInUse = Joku tuon niminen\non jo tällä palvelimella. @@ -171,31 +225,47 @@ server.kicked.customClient = Tämä palvelin ei tue muokattuja versioita. Lataa server.kicked.gameover = Peli ohi! server.kicked.serverRestarting = Tämä palvelin on uudelleenkäynnistymässä. server.versions = Versiosi:[accent] {0}[]\nPalvelimen versio:[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. -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 = Pidä yllä monipelaaja peliä -invitefriends = Pyydä Ystäviä -hostserver.mobile = Isäntä\nPeli +host.info = [accent]Isännöi[] -nappi luo palvelimen portille [scarlet]6567[]. \nKenen tahansa samassa [lightgray]wifi-yhteydessä tai paikallisessa verkossa[] pitäisi voida nähdä palvelimesi heidän palvelinlistassaan.\n\nJos haluat muiden voivan yhdistää kaikkialta IP:n perusteella, [accent]port forwardingia[] vaaditaan.\n\n[lightgray]Huomio: Jos jollakulla on ongelmia LAN-palvelimeesi yhdistämisessä, varmista palomuurisi asetuksista, että olet sallinut Mindustrylle oikeuden paikalliseen verkkoosi. Huomaa, että julkiset verkot eivät joskus salli havaita itseään. +join.info = Tässä voit syöttää [accent]palvelimen IP-osoitteen[] johon yhdistää, tai etsiä [accent]paikallisesta verkosta[] palvelimia, joille littyä.\nSekä LAN- että WAN-moninpeluuta tuetaan.\n\n[lightgray]Huomio: Automaattista globaalia palvelinlistaa ei ole; jos haluat yhdistää jonnekin IP-osoitteella, sinun on selvitettävä palvelimen IP-osoite. +hostserver = Isännöi moninpeli +invitefriends = Kutsu ystäviä +hostserver.mobile = Isännöi\npeli host = Isäntä hosting = [accent]Avataan palvelinta... hosts.refresh = Päivitä -hosts.discovering = Etsitään LAN pelejä -hosts.discovering.any = Etsitään Pelejä +hosts.discovering = Etsitään paikallisia pelejä +hosts.discovering.any = Etsitään pelejä server.refreshing = Päivitetään palvelimen tietoja hosts.none = [lightgray]Paikallisia pelejä ei löytynyt! host.invalid = [scarlet]Isäntään ei voitu yhdistää. servers.local = Paikalliset palvelimet +servers.local.steam = Avaa pelejä ja paikallisia palvelimia servers.remote = Etäpalvelimet servers.global = Yhteisön palvelimet +servers.disclaimer = Yhteisön palvelimet [accent]eivät ole[] kehittäjän omistuksessa tai hallinnassa.\n\nPalvelimet voivat sisältää käyttäjien luomaa sisältöä, joka ei sovellu kaikille ikäluokille. +servers.showhidden = Näytä piilotetut palvelimet +server.shown = Näytetty +server.hidden = Piilotettu +viewplayer = Viewing Player: [accent]{0} trace = Seuraa pelaajaa trace.playername = Pelaajanimi: [accent]{0} trace.ip = IP-osoite: [accent]{0} -trace.id = Uniikki tunniste: [accent]{0} -trace.mobile = Mobile Client: [accent]{0} -trace.modclient = Custom Client: [accent]{0} -invalidid = Invalid client ID! Submit a bug report. +trace.id = Pelaajakohtainen tunniste: [accent]{0} +trace.language = Language: [accent]{0} +trace.mobile = Mobiililaite: [accent]{0} +trace.modclient = Muokattu asiakasohjelma: [accent]{0} +trace.times.joined = Kuinka monta kertaa olet liittynyt: [accent]{0} +trace.times.kicked = Kuinka monta kertaa sinut on potkittu ulos: [accent]{0} +trace.ips = IPs: +trace.names = Names: +invalidid = Kelvoton asiakasohjelman ID! Lähetä bugiraportti. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Porttikiellot server.bans.none = Porttikieltoja saaneita pelaajia ei löytynyt! server.admins = Ylläpitäjät @@ -206,13 +276,14 @@ server.edit = Muokkaa palvelinta server.outdated = [crimson]Vanhentunut palvelin![] server.outdated.client = [crimson]Vanhentunut asiakasohjelma![] server.version = [gray]v{0} {1} -server.custombuild = [accent]Custom Build +server.custombuild = [accent]Muokattu koontiversio confirmban = Oletko varma että haluat antaa porttikiellon tälle pelaajalle? confirmkick = Oletko varma että haluat potkia tämän pelaajan? -confirmvotekick = Oletko varma että haluat äänestää tämän pelaajan potkituksi? confirmunban = Oletko varma että haluat päästää tämän pelaajan takaisin? confirmadmin = Oletko varma että haluat antaa pelaajalle hallinto-oikeuksia? confirmunadmin = Oletko varma että haluat poistaa hallinto-oikeudet pelaajalta? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Liity peliin joingame.ip = Osoite: disconnect = Yhteys katkaistu. @@ -220,22 +291,25 @@ disconnect.error = Yhteysvirhe. disconnect.closed = Yhteys poistettu. disconnect.timeout = Yhteys aikakatkaistiin. disconnect.data = Maailman tietojen lataaminen epäonnistui! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Peliin ei voitu liittyä ([accent]{0}[]). connecting = [accent]Yhdistetään... +reconnecting = [accent]Yhdistetään uudelleen... connecting.data = [accent]Ladataan maailman tietoja... server.port = Portti: -server.addressinuse = Osoite on jo käytössä! -server.invalidport = Invalid port number! -server.error = [crimson]Error hosting server: [accent]{0} +server.invalidport = Tällä portilla ei löytynyt peliä! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [crimson]Virhe palvelimen hostaamisessa: [accent]{0} save.new = Uusi tallennus save.overwrite = Haluatko varmasti korvata \ntämän tallennuspaikan?? -overwrite = Korvata +save.nocampaign = Individual save files from the campaign cannot be imported. +overwrite = Korvaa save.none = Tallennuksia ei löytynyt! savefail = Pelin tallentaminen epäonnistui! save.delete.confirm = Oletko varma että haluat poistaa tämän tallennuksen? save.delete = Poista save.export = Vie tallennus -save.import.invalid = [accent]This save is invalid! +save.import.invalid = [accent]Tämä tallennus on kelvoton! save.import.fail = [crimson]Tallennuksen tuominen epäonnistui: [accent]{0} save.export.fail = [crimson]Tallennuksen vieminen epäonnistui: [accent]{0} save.import = Tuo tallennus @@ -249,6 +323,7 @@ save.corrupted = [accent]Tallennustiedosto korruptoitunut tai viallinen!\nJos ol empty = on = Päällä off = Pois +save.search = Etsi Tallennettuja Pelejä... save.autosave = Automaattitallennus: {0} save.map = Kartta: {0} save.wave = Taso {0} @@ -258,41 +333,70 @@ save.playtime = Peliaika: {0} warning = Varoitus. confirm = Vahvista delete = Poista -view.workshop = View In Workshop -workshop.listing = Edit Workshop Listing -ok = OK +view.workshop = Näytä Workshopissa +workshop.listing = Muokkaa Workshop-listausta +ok = Ok open = Avaa customize = Muokkaa sääntöjä cancel = Peruuta +command = Komento +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Avaa linkki copylink = Kopioi linkki back = Takaisin -data.export = Vie data -data.import = Tuo data +max = Max +objective = Alueen tehtävä +crash.export = Vie kaatumislokit +crash.none = Kaatumislokeja ei löytynyt. +crash.exported = Kaatumislokit on viety. +data.export = Vie dataa +data.import = Tuo dataa data.openfolder = Avaa datakansio -data.exported = Data viety. -data.invalid = This isn't valid game data. -data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately. +data.exported = Dataa on viety. +data.invalid = Tämä ei ole kelvollista pelidataa. +data.import.confirm = Ulkopuolisen datan tuominen ylikirjoittaa[scarlet] kaiken[] nykyisen pelidatasi.\n[accent]Tätä ei voi peruuttaa![]\n\nKun data on tuotu, peli sulkeutuu välittömästi. quit.confirm = Oletko varma että haluat poistua? -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]Ladataan... -reloading = [accent]Ladataan Modeja... +downloading = [accent]Ladataan alas... saving = [accent]Tallennetaan... -respawn = [accent][[{0}][] to respawn in core -cancelbuilding = [accent][[{0}][] to clear plan -selectschematic = [accent][[{0}][] to select+copy -pausebuilding = [accent][[{0}][] to pause building -resumebuilding = [scarlet][[{0}][] to resume building +respawn = [accent][[{0}][] uudelleensyntymiseen ytimessä +cancelbuilding = [accent][[{0}][] tyhjentääksesi suunnitelman +selectschematic = [accent][[{0}][] jotta voisit kopioida ja liittää +pausebuilding = [accent][[{0}][] pysäyttääksesi rakentamisen +resumebuilding = [scarlet][[{0}][] jatkaaksesi rakentamista +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI on piilotettu.\nPaina [accent][[{0}][] näyttääksesi UI:n. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Taso {0} -wave.cap = [accent]Wave {0}/{1} +wave.cap = [accent]Taso {0}/{1} wave.waiting = [lightgray]Seuraava taso {0} -wave.waveInProgress = [lightgray]Wave in progress +wave.waveInProgress = [lightgray]Taso käynnissä waiting = [lightgray]Odotetaan... waiting.players = Odotetaan pelaajia... wave.enemies = [lightgray]{0} vihollista jäljellä +wave.enemycores = [accent]{0}[lightgray] Vihollisydintä +wave.enemycore = [accent]{0}[lightgray] Vihollisydin wave.enemy = [lightgray]{0} vihollinen jäljellä -wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. -wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. +wave.guardianwarn = Suojelija tulossa [accent]{0}[] tason päästä. +wave.guardianwarn.one = Suojelija tulee rökittämään sinut [accent]{0}[] tasolla. loadimage = Lataa kuva saveimage = Tallenna kuva unknown = Tuntematon @@ -300,22 +404,27 @@ custom = Mukautettu builtin = Sisäänrakennettu map.delete.confirm = Oletko varma että haluat poistaa tämän kartan? Poistoa ei voi peruuttaa! map.random = [accent]Satunnainen kartta -map.nospawn = Tässä kartassa ei ole ytimiä joihin syntyä! Lisää[accent] oranssi[] ydin karttaan editorissa. -map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] non-orange[] cores to this map in the editor. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor. +map.nospawn = Tässä kartassa ei ole ytimiä joihin syntyä! Lisää {0} ydin karttaan editorissa. +map.nospawn.pvp = Tässä kartassa ei ole vihollisytimiä, joihin pelaaja voisi syntyä! Lisää karttaan [scarlet]ei-oransseja[] ytimiä editorissa. +map.nospawn.attack = Tässä kartassa ei ole vihollisytimiä, joihin pelaaja voisi hyökätä! Lisää karttaan {0} ytimiä editorissa. map.invalid = Virhe ladatessa karttaa: korruptoitunut tai väärä karttatiedosto. -workshop.update = Update Item -workshop.error = Error fetching workshop details: {0} -map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! -workshop.menu = Select what you would like to do with this item. +workshop.update = Päivitä tavara +workshop.error = Virhe Workshopin tietoja noudettaessa: {0} +map.publish.confirm = Oletko varma että haluat julkaista tämän kartan?\n\n[lightgray]Hyväksy Workshopin EULA ehdot, muuten karttasi ei tule näkyviin! +workshop.menu = Mitä haluat tehdä tälle asialle? workshop.info = Kohteen Tiedot -changelog = Muutosloki (valinnainen): -eula = Steam EULA -missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. -publishing = [accent]Publishing... -publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! +changelog = Loki (valinnainen): +updatedesc = Korvaa otsikko ja kuvaus +eula = Steamin EULA +missing = Tämä tavara on poistettu tai siirretty.\n[lightgray]Workshop-listauksen linkki on nyt poistettu automaattisesti. +publishing = [accent]Julkaistaan... +publish.confirm = Oletko varma, että haluat julkaista tämän?\n\n[lightgray]Varmista, että hyväksyt Workshopin EULAN ensin, tai tavarasi eivät mene perille! publish.error = Virhe julkaisussa: {0} -steam.error = Failed to initialize Steam services.\nError: {0} +steam.error = Steam-palveluiden initialisointi epäonnistui.\nVirhe: {0} +editor.planet = Planeetta: +editor.sector = Sektori: +editor.seed = Siemen: +editor.cliffs = Muuta seinät kallioiksi editor.brush = Sivellin editor.openin = Avaa editorissa @@ -328,140 +437,212 @@ editor.nodescription = Kartan kuvaksessa täytyy olla vähintään neljä kirjai editor.waves = Tasot: editor.rules = Säännöt: editor.generation = Generaatio: +editor.objectives = Tehtävät +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Muokka pelin sisällä +editor.playtest = Testaa pelin sisällä editor.publish.workshop = Julkaise Workshoppiin editor.newmap = Uusi kartta -editor.center = Center +editor.center = Keskitä +editor.search = Hae karttoja... +editor.filters = Rajaa karttoja +editor.filters.mode = Pelitilat: +editor.filters.type = Kartan tyyppi: +editor.filters.search = Search in: +editor.filters.author = Tekijä +editor.filters.description = Kuvaus +editor.shiftx = Siirrä X-akselin suunnassa +editor.shifty = Siirrä Y-akselin suunnassa workshop = Työpaja waves.title = Tasot waves.remove = Poista -waves.never = waves.every = jokainen waves.waves = tasot +waves.health = elämäpisteet: {0}% waves.perspawn = per syntymispiste -waves.shields = shields/wave +waves.shields = kilpiä/taso waves.to = jotta -waves.guardian = Guardian +waves.spawn = syntypiste: +waves.spawn.all = +waves.spawn.select = Syntypisteen valinta +waves.spawn.none = [scarlet]kartasta ei löytynyt syntypisteitä +waves.max = maksimijoukot +waves.guardian = Vartija waves.preview = Esikatselu waves.edit = Muokkaa... +waves.random = Random waves.copy = Kopioi leikepöydälle waves.load = Lataa leikepöydältä -waves.invalid = Invalid waves in clipboard. +waves.invalid = Kelvottomia tasoja leikepöydällä. waves.copied = Tasot kopioitu. -waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.none = Ei määriteltyjä vihollisia.\nHuomaa, että tyhjät tasopohjat korvataan automaattisesti oletuspohjalla. +waves.sort = Järjestä +waves.sort.reverse = Järjestä käänteisesti +waves.sort.begin = Alkutaso +waves.sort.health = Elämäpisteet +waves.sort.type = Tyyppi +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Piilota kaikki +waves.units.show = Näytä kaikki -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health +wavemode.counts = lukumäärä +wavemode.totals = yhteismäärä +wavemode.health = elämäpisteet +all = All -editor.default = [lightgray] +editor.default = [lightgray] details = Yksityiskohdat... edit = Muokkaa... +variables = Muuttujat +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nimi: editor.spawn = Luo yksikkö editor.removeunit = Poista yksikkö editor.teams = Joukkueet editor.errorload = Virhe ladattaessa tiedostoa:\n[accent]{0} editor.errorsave = Virhe tallennettaessa tiedostoa:\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.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. +editor.errorimage = Tuo on kuva, ei kartta. Älä yritä muuttaa tiedostopäätteitä olettaen sen toimivan.\n\nJos haluat tuoda vanhentuneen kartan, käytä 'Tuo vanhentunut kartta' -painiketta editorissa. +editor.errorlegacy = Tämä kartta on liian vanha, ja se käyttää vanhentunutta karttaformaattia, jota ei enää tueta. editor.errornot = Tämä ei ole karttatiedosto. -editor.errorheader = This map file is either not valid or corrupt. -editor.errorname = Map has no name defined. Are you trying to load a save file? +editor.errorheader = Tämä karttatiedosto on joko kelvoton tai turmeltunut. +editor.errorname = Kartalla ei ole määritettyä nimeä. Yritätkö ladata tallennusta? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Päivitä editor.randomize = Satunnaista +editor.moveup = Liiku yläkansioon +editor.movedown = Siirry alakansioon +editor.copy = Kopioi editor.apply = Käytä editor.generate = Generoi +editor.sectorgenerate = Sektorigeneraatio editor.resize = Säädä kokoa editor.loadmap = Lataa kartta editor.savemap = Tallenna kartta +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Tallennettu! editor.save.noname = Kartallasi ei ole nimeä! Aseta sellainen 'Kartan tiedot' valikossa. -editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. -editor.import.exists = [scarlet]Unable to import:[] sisäänrakennettu kartta nimellä '{0}' on jo olemassa! +editor.save.overwrite = Karttasi on ylikirjoittamassa sisäänrakennettua karttaa! Valitse toinen nimi 'Kartan tiedot' -valikossa. +editor.import.exists = [scarlet]Tuominen epäonnistui:[] sisäänrakennettu kartta nimellä '{0}' on jo olemassa! editor.import = Tuo... editor.importmap = Tuo kartta -editor.importmap.description = Import an already existing map +editor.importmap.description = Tuo jo olemassa oleva kartta editor.importfile = Tuo tiedosto -editor.importfile.description = Import an external map file -editor.importimage = Import Legacy Image -editor.importimage.description = Import an external map image file +editor.importfile.description = Tuo ulkoinen karttatiedosto +editor.importimage = Tuo vanhentunut kartta +editor.importimage.description = Tuo ulkoinen kartta kuvatiedostona editor.export = Vie... editor.exportfile = Vie tiedosto -editor.exportfile.description = Export a map file -editor.exportimage = Export Terrain Image -editor.exportimage.description = Export a map image file +editor.exportfile.description = Vie karttatiedosto +editor.exportimage = Vie maastokuva +editor.exportimage.description = Vie kartta kuvatiedostona editor.loadimage = Tuoda Maasto editor.saveimage = Vie Maasto editor.unsaved = [scarlet]Sinulla on tallentamattomia muutoksia![]\nOletko varma että haluat poistua? -editor.resizemap = Resize Map +editor.resizemap = Säädä kartan kokoa editor.mapname = Kartan nimi: -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 = [accent]Varoitus!\nTämä korvaa olemassa olevan kartan. +editor.overwrite.confirm = [scarlet]Varoitus![] Tämän niminen kartta on jo olemassa. Oletko varma, että haluat korvata sen? editor.exists = Kartta tällä nimellä on jo olemassa. editor.selectmap = Valitse kartta ladattavaksi: toolmode.replace = Korvaa -toolmode.replace.description = Draws only on solid blocks. +toolmode.replace.description = Piirtää vain kiinteille objekteille. toolmode.replaceall = Korvaa kaikki -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. +toolmode.replaceall.description = Korvaa kaikki palikat kartassa. +toolmode.orthogonal = Ortogonaalinen tila +toolmode.orthogonal.description = Piirtää vain koordinaattiakselien suuntaisia viivoja. +toolmode.square = Neliö +toolmode.square.description = Neliösivelllin. +toolmode.eraseores = Poista malmit +toolmode.eraseores.description = Poista vain malmit. +toolmode.fillteams = Täytä tiimit +toolmode.fillteams.description = Täytä joukkueita palikkojen sijaan. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. +toolmode.drawteams = Piirrä joukkueita +toolmode.drawteams.description = Piirrä joukkueita palikkojen sijaan. +toolmode.underliquid = Pinnanalainen tila +toolmode.underliquid.description = Piirrä lattioita nestelaattojen alle. -filters.empty = [lightgray]No filters! Add one with the button below. +filters.empty = [lightgray]Ei filttereitä! Lisää yksi alla olevasta napista. filter.distort = Vääristää filter.noise = Melu -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn +filter.enemyspawn = Vihollissyntypisteen valinta +filter.spawnpath = Reitti syntypisteelle filter.corespawn = Valitse Ydin filter.median = Mediaani -filter.oremedian = Malmin mediaani +filter.oremedian = Malmin keskiarvo filter.blend = Sekoitus -filter.defaultores = Oletuksena malmit +filter.defaultores = Oletus malmit filter.ore = Malmi filter.rivernoise = Jokien melu filter.mirror = Peili filter.clear = Selkeä -filter.option.ignore = Ohittaa -filter.scatter = Scatter +filter.option.ignore = Ohitta +filter.scatter = Hajauta filter.terrain = Maasto +filter.logic = Logic filter.option.scale = Mittakaava filter.option.chance = Mahdollisuus filter.option.mag = Suuruus filter.option.threshold = Raja -filter.option.circle-scale = Circle Scale +filter.option.circle-scale = Ympyrän kaava filter.option.octaves = Oktaavi -filter.option.falloff = Falloff +filter.option.falloff = Karsiutuminen filter.option.angle = Kulma +filter.option.tilt = Kallistus +filter.option.rotate = Käännä filter.option.amount = Määrä filter.option.block = Estää filter.option.floor = Lattia -filter.option.flooronto = Target Floor -filter.option.target = Target +filter.option.flooronto = Kohdelattia +filter.option.target = Kohde +filter.option.replacement = Korvaus filter.option.wall = Seinä filter.option.ore = Malmi -filter.option.floor2 = Secondary Floor -filter.option.threshold2 = Secondary Threshold -filter.option.radius = Radius -filter.option.percentile = Percentile +filter.option.floor2 = Toinen lattia +filter.option.threshold2 = Toissijainen raja-arvo +filter.option.radius = Säde +filter.option.percentile = Prosentti +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Leveys: height = Korkeus: menu = Valikko play = Pelaa -campaign = Polku +campaign = Kampanja load = Lataa save = Tallenna fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Muisti: {0}mb +memory2 = Muisti:\n {0}mb +\n {1}mb language.restart = Käynnista peli uudelleen, jotta saat kieliasetukset toimimaan. settings = Asetukset tutorial = Perehdytys @@ -472,85 +653,259 @@ mapeditor = Kartan Editori abandon = Hylkää abandon.text = Tämä alue ja kaikki sen resurssit menetetään viholliselle. locked = Lukittu -complete = [lightgray]Reach: +complete = [lightgray]Saavuta: requirement.wave = Pääse Tasolle {0} kartassa {1} requirement.core = Tuhoa vihollisen ydin kartassa {0} -requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Paras taso: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. +requirement.research = Tutki {0} +requirement.produce = Tuota {0} +requirement.capture = Valtaa {0} +requirement.onplanet = Hallitse sektoria planeetalla {0} +requirement.onsector = Laskeudu sektorille: {0} +launch.text = Laukaise +map.multiplayer = Vain ylläpitäjä voi katsella sektoreita. uncover = Paljasta -configure = Configure Loadout -loadout = Loadout -resources = Resources +configure = Muokkaa lastia +objective.research.name = Tutkimus +objective.produce.name = Hanki +objective.item.name = Hanki Esine +objective.coreitem.name = Ydinesine +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Teksti +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Tutki:\n[]{0}[lightgray]{1} +objective.produce = [accent]Hanki:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Tuhoa:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Tuhoa: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Hanki: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Siirrä ytimeen:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Rakenna: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Rakenna yksikkö: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Tuhoa: [][lightgray]{0}[]x yksikköä +objective.enemiesapproaching = [accent]Vihollinen lähestyy ajassa [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Tuhoa vihollisydin +objective.command = [accent]Komenna yksikköjä +objective.nuclearlaunch = [accent]âš  Ydinaseen laukaisu havaittu: [lightgray]{0} +announce.nuclearstrike = [red]âš  YDINASEISKU TAPAHTUMASSA âš  +loadout = Lasti +resources = Resurssit +resources.max = Max bannedblocks = Kielletyt Palikat +unbannedblocks = Unbanned Blocks +objectives = Tehtävät +bannedunits = Kielletyt yksiköt +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Lisää kaikki -launch.destination = Destination: {0} -configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} unlocked. -zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met. -zone.resources = [lightgray]Resoursseja havaittu: -zone.objective = [lightgray]Objectiivi: [accent]{0} -zone.objective.survival = Selviydy -zone.objective.attack = Destroy Enemy Core +launch.from = Laukaistaan kohteesta: [accent]{0} +launch.capacity = Tavaratila laukaistaessa: [accent]{0} +launch.destination = Määränpää: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = Lukumäärän täytyy olla numero väliltä 0 ja {0}. add = Lisää... -boss.health = Pomon elinpisteet +guardian = Vartija -connectfail = [crimson]Connection error:\n\n[accent]{0} -error.unreachable = Server unreachable.\nIs the address spelled correctly? -error.invalidaddress = Invalid address. -error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! -error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! -error.alreadyconnected = Already connected. -error.mapnotfound = Map file not found! -error.io = Network I/O error. -error.any = Unknown network error. -error.bloom = Failed to initialize bloom.\nYour device may not support it. +connectfail = [crimson]Yhdistysvirhe:\n\n[accent]{0} +error.unreachable = Palvelinta ei voida saavuttaa.\nOnko osoite kirjoitettu oikein? +error.invalidaddress = Kelvoton osoite. +error.timedout = Aikakatkaistu!\nVarmista, että ylläpitäjällä on port-forwarding kunnossa, ja että osoite on oikea! +error.mismatch = Pakettivirhe:\nmahdollinen asiakasohjelman/palvelimen versioiden yhteensopimattomuus.\nVarmista, että sinulla ja ylläpitäjällä on uusin Mindustryn versio! +error.alreadyconnected = Sinut on jo yhdistetty. +error.mapnotfound = Karttatiedostoa ei löydy! +error.io = Verkon I/O-virhe. +error.any = Tuntematon verkon virhe. +error.bloom = Bloomin initialisointi epäonnistui.\nLaitteesi ei ehkä tue sitä. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = Rain -weather.snow.name = Snow -weather.sandstorm.name = Sandstorm -weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.rain.name = Sade +weather.snowing.name = Lumi +weather.sandstorm.name = Hiekkamyrsky +weather.sporestorm.name = Sienimyräkkä +weather.fog.name = Sumu +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sektorit +sectorlist.attacked = {0} on hyökkäyksen kohteena -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +sectors.unexplored = [lightgray]Tutkimaton +sectors.resources = Resurssit: +sectors.production = Produktio: +sectors.export = Vienti: +sectors.import = Tuonti: +sectors.time = Aika: +sectors.threat = Uhkataso: +sectors.wave = Taso: +sectors.stored = Säilötty: +sectors.resume = Jatka +sectors.launch = Laukaise +sectors.select = Valitse +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]ei mitään (sun) +sectors.redirect = Redirect Launch Pads +sectors.rename = Nimeä sektori +sectors.enemybase = [scarlet]Vihollistukikohta +sectors.vulnerable = [scarlet]Haavoittuvainen +sectors.underattack = [scarlet]Hyökkäyksen kohteena! [accent]{0}% vahingoittunut +sectors.underattack.nodamage = [scarlet]Valtaamaton +sectors.survives = [accent]Selviytyy {0} tasoa +sectors.go = Siirry +sector.abandon = Hylkää +sector.abandon.confirm = Tämän sektorin kaikki ytimet aktivoivat itsetuhon.\nJatka? +sector.curcapture = Sektori vallattu +sector.curlost = Sektori menetetty +sector.missingresources = [scarlet]Sinulla ei ole tarpeeksi resursseja. +sector.attacked = Sektori [accent]{0}[white] on hyökkäyksen kohteena! +sector.lost = Sektori [accent]{0}[white] menetetty! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Vaihda kuvaketta +sector.noswitch.title = Sektoria ei voida vaihtaa +sector.noswitch = Et voi vaihtaa sektoria, kun olemassaoleva sektori on hyökkäyksen kohteena.\n\nSektori: [accent]{0}[] planeetalla [accent]{1}[] +sector.view = Näytä sektori +threat.low = Matala +threat.medium = Kohtalainen +threat.high = Korkea +threat.extreme = Äärimmäinen +threat.eradication = Täystuho +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planeetat planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Aurinko +sector.impact0078.name = Törmäys 0078 -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass +sector.groundZero.name = Tapahtumahorisontti +sector.craters.name = Kraatterit +sector.frozenForest.name = Jäätyneet metsät +sector.ruinousShores.name = Taistelujen ranta +sector.stainedMountains.name = Kalliovuoret +sector.desolateRift.name = Musta kanjoni +sector.nuclearComplex.name = Hylätty ydinvoimalaitos +sector.overgrowth.name = Jättiviidakko +sector.tarFields.name = Tervakentät +sector.saltFlats.name = Suolatasangot +sector.fungalPass.name = Sienirihmasto +sector.biomassFacility.name = Biomassasynteesilaitos +sector.windsweptIslands.name = Tuulenpieksemät saaret +sector.extractionOutpost.name = Kaivostukikohta +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetaarinen laukaisuterminaali +sector.coastline.name = Rantaviiva +sector.navalFortress.name = Laivastolinnoitus +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = Optimaalinen sijainti aloittaa jälleen kerran. Matala vihollisuhka. Vähän resursseja.\nKerää niin paljon kuparia ja lyijyä, kuin mahdollista.\nJatka matkaa. +sector.frozenForest.description = Itiöt ovat levittäytyneet jopa tänne, lähemmäs vuoria. Jäätävät lämpötilat eivät voi torjua niitä ikuisesti.\n\nAloita seikkailusi virtaan. Rakenna polttogeneraattoreita. Opi käyttämään korjaajia. +sector.saltFlats.description = Aavikon reunamilla sijaitsevat suolatasangot. Tässä sijainnissa resurssit ovat vähäisiä.\n\nVihollinen on pystyttänyt tänne varastokompleksin. Hävitä heidän ytimensä. Älä jätä mitään jäljelle. +sector.craters.description = Vesi on kerääntynyt tähän kraatteriin, jäännökseen vanhoista sodista. Kunnosta alue. Kerää hiekkaa. Sulata metalasia. Pumppaa vettä jäähdyttääksesi tykkitorneja ja poria. +sector.ruinousShores.description = Autiomaiden jälkeen seuraa rantaviiva. Kerran tällä alueella oli rannikkopuolustusrivi. Vain vähän siitä on säilynyt. Vain kaikkein yksinkertaisimmat puolustusrakennukset ovat säilyneet vahingoittumattomina, ja kaikki muu on hävitetty romuksi.\nJatka laajenemista ulospäin. Tutki teknologia uudelleen. +sector.stainedMountains.description = Kauempana sisämaassa sijaitsevat vuoret, jotka eivät vielä ole itiöiden saastuttamia.\nKaiva tällä alueella runsasta titaania. Opi, kuinka käyttää sitä.\n\nVihollisen läsnäolo on täällä suurempaa. Älä anna heille aikaa lähettää vahvimpia joukkojaan. +sector.overgrowth.description = Tämä alue on umpeenkasvanut, ja on lähempänä itiöiden lähdettä.\nVihollinen on perustanut tänne vartioaseman. Rakenna Mace-yksikköjä. Tuho se. Ota takaisin se, mikä oli menetettyä. +sector.tarFields.description = Öljyntuotantoalueen ulkolaitama vuorien ja aavikon välissä. Yksi harvoista alueista, joissa on käytettäviä tervavarantoja.\nVaikka se onkin hylätty, lähellä on joitakin vaarallisia vihollisjoukkoja. Älä aliarvioi niitä.\n\n[lightgray]Tutki öljynprosessointiteknologiaa, jos mahdollista. +sector.desolateRift.description = Äärimmäisen vaarallinen alue. Sisältää runsaasti resursseja, mutta vähän tilaa. Suuri tuhoutumisen riski. Lähde niin pian, kuin mahdollista. Älä hämäänny vihollishyökkäysten pitkistä aikaväleistä. +sector.nuclearComplex.description = Entinen laitos, jossa tuotettiin ja prosessoitiin toriumia, nyt hävitettynä raunioiksi.\n[lightgray]Tutki torium ja sen monet käyttökohteet.\n\nVihollinen on täällä läsnä suurina lukumäärinä, alati tiedustelemassa hyökkääjien varalta. +sector.fungalPass.description = Siirtymäalue korkeiden vuorten ja matalampien, itiöiden vaivaamien alueiden välillä. Pieni vihollisen tiedustelutukikohta sijaitsee täällä.\nHävitä se.\nKäytä Tikareita ja Indeksointirobotteja. Tuhoa kaikki kaksi ydintä. +sector.biomassFacility.description = Itiöiden alkupiste. Tämä on se laitos, jossa ne tutkittiin ja alkujaan tuotettiin.\nTutki sen säilömä teknologia. Viljele itiöitä polttoaineen ja muovien tuotantoa varten.\n\n[lightgray]Tämän laitoksen tuhoutuessa itiöt vapautuivat. Mikään paikallisessa ekosysteemissä ei kyennyt kilpailemaan niin tunkeutuvan organismin kanssa. +sector.windsweptIslands.description = Kauempana rantaviivan takana on tämä kaukainen saaristo. Tallenteet kertovat, että siellä oli kerran [accent]plastaniumia[] tuottavia rakennuksia.\n\nTorju vihollisen laivayksiköt. Perusta saarille tukikohta. Tutki nämä tehtaat. +sector.extractionOutpost.description = Kaukainen vartioasema, jonka vihollinen rakensi laukaistakseen resursseja muihin sektoreihin.\n\nSektorien välinen kuljetusteknologia on olennaista myöhemmälle valloitukselle. Tuhoa tämä tukikohta. Tutki heidän laukaisualustansa. +sector.impact0078.description = Täällä lepäävät tähtienvälisen aluksen, joka ensimmäisenä kulki tähän aurinkokuntaan, jäännökset.\n\nPelasta hylystä mahdollisimman paljon. Tutki kaikki säilynyt teknologia. +sector.planetaryTerminal.description = Viimeinen kohde.\n\nTämä rannikkotukikohta sisältää rakennuksen, joka pystyy laukaisemaan ytimiä paikallisille planeetoille. Se on vartioitu äärimmäisen hyvin.\n\nRakenna laivayksiköitä. Eliminoi vihollinen mahdollisimman pian. Tutki laukaisurakennus. +sector.coastline.description = Tällä alueella on havaittu jälkiä meriyksikköjen teknologiasta. Torju vihollisen hyökkäykset, valtaa tämä sektori ja hanki teknologia. +sector.navalFortress.description = Vihollinen on perustanut tukikohdan syrjäiselle, luonnostaan linnoitetulle saarelle. Tuhoa tämä etuvartioasema. Hanki heidän kehittynyt merialusteknologiansa ja tutki se. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = Alku +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Aloita Erekirin valloitus. Kerää resursseja, tuota yksiköitä ja aloita teknologian tutkiminen. +sector.aegis.description = Tässä sektorissa on volfram-esiintymiä.\nTutki [accent]iskupora[] louhiaksesi tätä resurssia ja tuhoa alueen vihollistukikohta. +sector.lake.description = Tämän sektorin kuona-järvi rajoittaa merkittävästi käyttökelpoisia yksiköitä. Ilma-alus on ainoa vaihtoehto.\nTutki [accent]Ilma-alusrakentaja[] ja valmista elude -yksikkö mahdollisimman pian. +sector.intersect.description = Skannaukset viittaavat siihen, että tämä sektori joutuu hyökkäyksen kohteeksi useilta suunnilta pian laskeutumisen jälkeen.\nPerusta puolustukset nopeasti ja laajenna mahdollisimman pian.\n[accent]Merui[] -yksiköitä tarvitaan alueen karuun maastoon. +sector.atlas.description = Tässä sektorissa on monimuotoinen maasto ja tehokkaaseen hyökkäyksen tarvitaan monipuolisia yksiköitä.\nPäivitetyt yksiköt voivat myös olla tarpeen, tiettyjen vihollistukikohtien läpäisemiseksi.\nTutki [accent]Elektrolysoija[] ja [accent]Tankkijälleenrakentaja[]. +sector.split.description = Vähäinen vihollisaktiivisuus tekee tästä sektorista täydellisen uusien kuljetusteknologioiden testaamiseen. +sector.basin.description = Tässä sektorissa havaittiin suuri vihollisjoukko.\nRakenna yksiköitä nopeasti ja valtaa vihollisen ytimet saadaksesi jalansijan. +sector.marsh.description = Tässä sektorissa on runsaasti arkysiittiä, mutta rajoitetusti purkauksia.\nRakenna [accent]kemiallisia polttokammioita[] tuottaaksesi energiaa. +sector.peaks.description = Sektorin vuoristoinen maasto tekee suurimman osan yksiköistä hyödyttömiksi. Lentäviä ksiköitä tarvitaan.\nHuomioi vihollisen ilmatorjuntajärjestelmät. Joitain näistä järjestelmistä voi olla mahdollista lamauttaa kohdistamalla hyökkäys niiden tukirakennuksiin. +sector.ravine.description = Sektorissa ei ole havaittu vihollisen ytimiä, vaikka se on vihollisen tärkeä kuljetusreitti. Odota kuitenkin monenlaisia vihollisjoukkoja.\nTuota [accent]jänniteseosta[]. Rakenna [accent]Aiheuttaja[]-tykkejä. +sector.caldera-erekir.description = Tämän sektorin resurssit ovat hajallaan useilla saarilla.\nTutki ja ota käyttöön drone-pohjainen kuljetus. +sector.stronghold.description = Suuri vihollisleiri tässä sektorissa puolustaa merkittäviä [accent]torium[]-esiintymiä.\nKäytä sitä kehittyneempien yksiköiden ja tykkien valmistamiseen. +sector.crevice.description = Vihollinen lähettää rajuja hyökkäysjoukkoja tuhotakseen tukikohtasi tässä sektorissa. [accent]Karbidin[] ja [accent]Pyrolyysigeneraattorin[] kehittäminen voi olla elintärkeää selviytymisen kannalta. +sector.siege.description = Tässä sektorissa on kaksi rinnakkaista kanjonia, jotka pakottavat kaksisuuntaisen hyökkäyksen.\nTutki [accent]syanogeeni[] kehittääksesi vieläkin vahvempia tankkiyksiköitä.\nVaroitus: vihollisen pitkän kantaman ohjuksia havaittu. Ohjukset on kuitenkin mahdollista ampua alas ennen kuin ne osuvat kohteeseensa. +sector.crossroads.description = Tämän sektorin vihollistukikohdat on perustettu vaihtelevaan maastoon. Tutki erilaisia yksiköitä mukautuaksesi.\nLisäksi joitakin tukikohtia suojaavat kilvet. Selvitä, mistä ne saavat voimansa. +sector.karst.description = Tässä sektorissa on runsaasti resursseja, mutta vihollinen hyökkää heti, kun uusi ydin laskeutuu.\nHyödynnä resursseja ja tutki [accent]kiihtokuitu[]. +sector.origin.description = Viimeinen sektori, jossa on merkittävä määrä vihollisia.\nVarteenotettavia tutkimusmahdollisuuksia ei ole jäljellä – keskity yksinomaan kaikkien vihollisytimien tuhoamiseen. + +status.burning.name = Palaminen +status.freezing.name = Jäätyminen +status.wet.name = Märkä +status.muddy.name = Mutainen +status.melting.name = Sulaminen +status.sapped.name = Heikennetty +status.electrified.name = Sähköistetty +status.spore-slowed.name = Itiöiden hidastama +status.tarred.name = Tervattu +status.overdrive.name = Yliajo +status.overclock.name = Ylikellotus +status.shocked.name = Shokki +status.blasted.name = Räjähtänyt +status.unmoving.name = Liikkumaton +status.boss.name = Vartija settings.language = Kieli settings.data = Peli Data @@ -562,32 +917,37 @@ settings.game = Peli settings.sound = Ääni settings.graphics = Grafiikat settings.cleardata = Tyhjennä Pelin Data... -settings.clear.confirm = Oletko varma että haluat tyhjentää pelin datan?\nMitä on tehty ei voi peruuttaa! +settings.clear.confirm = Oletko varma että haluat tyhjentää pelin datan?\nTätä ei voi peruuttaa! settings.clearall.confirm = [scarlet]WARNING![]\nTämä poistaa kaiken datan, mukaanlukien kesken olevat pelit, kartat, avatut asiat ja kontrolliasetukset.\nKun painat 'ok' kaikki datasi poistetaan ja peli suljetaan. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.clearsaves.confirm = Oletko varma, että haluat tyhjentää kaikki tallennuksesi? +settings.clearsaves = Poista tallennukset +settings.clearresearch = Poista tutkimukset +settings.clearresearch.confirm = Oletko varma, että haluat tyhjentää kaikki tutkimuksesi polussa? +settings.clearcampaignsaves = Poista kampanjatallennukset +settings.clearcampaignsaves.confirm = Oletko varma, että haluat poistaa kaikki kampanjatallennuksesi? paused = [accent]< Pysäytetty > clear = Tyhjä banned = [scarlet]Kielletty -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Ympäristöä ei tueta yes = Kyllä no = Ei info.title = Informaatio -error.title = [crimson]An error has occured -error.crashtitle = An error has occured -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} +error.title = [crimson]On tapahtunut virhe +error.crashtitle = On tapahtunut virhe +unit.nobuild = [scarlet]Yksikkö ei voi rakentaa +lastaccessed = [lightgray]Viimeiseksi käytetty: {0} +lastcommanded = [lightgray]Viimeiseksi komennettu: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Tarkoitus stat.input = Sisääntulo stat.output = Ulostulo +stat.maxefficiency = Maksimitehokkuus stat.booster = Tehostaja -stat.tiles = Required Tiles -stat.affinities = Affinities +stat.tiles = Vaaditut laatat +stat.affinities = Voimistavat tekijät +stat.opposites = Heikentävät tekijät stat.powercapacity = Energiakapasiteetti stat.powershot = Energiaa/Ammus stat.damage = Vahinko @@ -597,19 +957,24 @@ stat.itemsmoved = Liikkumisnopeus stat.launchtime = Aika laukaisujen välillä stat.shootrange = Kantama stat.size = Koko -stat.displaysize = Display Size +stat.displaysize = Näytettävä koko stat.liquidcapacity = Nestekapasiteetti stat.powerrange = Energiakantama -stat.linkrange = Link Range -stat.instructions = Instructions +stat.linkrange = Linkin kantama +stat.instructions = Ohjeet stat.powerconnections = Maksimimäärä yhdistyksiä stat.poweruse = Energian käyttö stat.powerdamage = Energia/Vahinko stat.itemcapacity = Tavarakapasiteetti -stat.memorycapacity = Memory Capacity +stat.memorycapacity = Muistikapasiteetti stat.basepowergeneration = Perus energiantuotto stat.productiontime = Tuotantoaika stat.repairtime = Kokonaisen palikan korjausaika +stat.repairspeed = Korjausnopeus +stat.weapons = Aseet +stat.bullet = Ammukset +stat.moduletier = Moduulin taso +stat.unittype = Unit Type stat.speedincrease = Nopeuden kasvu stat.range = Etäisyys stat.drilltier = Porattavat @@ -617,95 +982,174 @@ stat.drillspeed = Kanta Poran Nopeus stat.boosteffect = Tehostamisem vaikutus stat.maxunits = Maksimimäärä yksikköjä stat.health = Elämäpisteet +stat.armor = Haarniska stat.buildtime = Rakentamisaika -stat.maxconsecutive = Max Consecutive +stat.maxconsecutive = Max. peräkkäisiä stat.buildcost = Rakentamishinta stat.inaccuracy = Epätarkkuus stat.shots = Ammusta stat.reload = Ammusta/sekunnissa stat.ammo = Ammus -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.shieldhealth = Kilven elämäpisteet +stat.cooldowntime = Jäähtymisaika +stat.explosiveness = Räjähdysherkkyys +stat.basedeflectchance = Perustorjuntatodennäköisyys +stat.lightningchance = Salamointitodennäköisyys +stat.lightningdamage = Salaman vahinko +stat.flammability = Syttyvyys +stat.radioactivity = Radioaktiivisuus +stat.charge = Varaus +stat.heatcapacity = Lämpökapasiteetti +stat.viscosity = Tahmeus +stat.temperature = Lämpötila +stat.speed = Nopeus +stat.buildspeed = Rakennusnopeus +stat.minespeed = Kaivuunopeus +stat.minetier = Kaivuutaso +stat.payloadcapacity = Lastikapasiteetti +stat.abilities = Erikoisvoimat +stat.canboost = Voi tehostaa +stat.flying = Lentävä +stat.ammouse = Ammusten käyttö +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Vahinkokerroin +stat.healthmultiplier = Elmäpistekerroin +stat.speedmultiplier = Nopeuskerroin +stat.reloadmultiplier = Uudelleenlatauskerroin +stat.buildspeedmultiplier = Rakennusnopeuskerroin +stat.reactive = Reagoi +stat.immunities = Immuuni +stat.healing = Parantuu +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Voimakenttä +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Korjauskenttä +ability.repairfield.description = Repairs nearby units +ability.statusfield = Statuskenttä +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Tehdas +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Kilvenvahvistuskenttä +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Salamointi liikkuessa +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Kilpikaari +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energiakenttä +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Sijoittaminen sallittua vain ytimeen bar.drilltierreq = Parempi pora vaadittu -bar.noresources = Missing Resources -bar.corereq = Core Base Required +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Resursseja Puuttuu +bar.corereq = Pohjaydin vaadittu +bar.corefloor = 'Ydinpohja'-laatta vaadittu +bar.cargounitcap = Kuljetusyksikköjen enimmäismäärä saavutettu bar.drillspeed = Poran nopeus: {0}/s bar.pumpspeed = Pumpun nopeus: {0}/s bar.efficiency = Tehokkuus: {0}% +bar.boost = Tehostus: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energia: {0}/s bar.powerstored = Säilöttynä: {0}/{1} bar.poweramount = Energia: {0} bar.poweroutput = Energiantuotto: {0} -bar.powerlines = Connections: {0}/{1} +bar.powerlines = Yhteyksiä: {0}/{1} bar.items = Tavaroita: {0} bar.capacity = Kapasiteetti: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Neste bar.heat = Lämpö +bar.cooldown = Cooldown +bar.instability = Epävakaus +bar.heatamount = Lämpö: {0} +bar.heatpercent = Lämpö: {0} ({1}%) bar.power = Energia bar.progress = Rakennuksen edistys +bar.loadprogress = Edistys +bar.launchcooldown = Laukaisun latausaika bar.input = Sisääntulo bar.output = Ulostulo +bar.strength = [stat]{0}[lightgray]x voimakkuus -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Prosessorin hallitsema bullet.damage = [stat]{0}[lightgray] Vahinko bullet.splashdamage = [stat]{0}[lightgray] Aluevahinko ~[stat] {1}[lightgray] palikkaa bullet.incendiary = [stat]sytyttävä bullet.homing = [stat]itseohjautuva -bullet.shock = [stat]shokki -bullet.frag = [stat]sirpaloituva -bullet.knockback = [stat]{0}[lightgray] knockback -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]jäädyttävä -bullet.tarred = [stat]tervattu -bullet.multiplier = [stat]{0}[lightgray]x ammusten kerroin +bullet.armorpierce = [stat]haarniskan läpäisevä +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x sirpaleammuksia: +bullet.lightning = [stat]{0}[lightgray]x salama ~ [stat]{1}[lightgray] vahinkoa +bullet.buildingdamage = [stat]{0}%[lightgray] vahinko rakennuksiin +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] tönäisy +bullet.pierce = [stat]{0}[lightgray]x lävistys +bullet.infinitepierce = [stat]lävistys +bullet.healpercent = [stat]{0}[lightgray]% paraneminen +bullet.healamount = [stat]{0}[lightgray] suora korjaus +bullet.multiplier = [stat]{0}[lightgray]x ammusmäärän kerroin bullet.reload = [stat]{0}[lightgray]x ampumisnopeus +bullet.range = [stat]{0}[lightgray] laatan kantama +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = palikat -unit.blockssquared = blocks² +unit.blockssquared = palikat² unit.powersecond = energiayksikköä/sekunti +unit.tilessecond = laattaa/second unit.liquidsecond = nesteyksikköä/sekunti unit.itemssecond = esinettä/sekunti unit.liquidunits = nesteyksikköä unit.powerunits = energiayksikköä +unit.heatunits = lämpöyksikköä unit.degrees = astetta unit.seconds = sekunttia -unit.minutes = mins +unit.minutes = minuuttia unit.persecond = /s unit.perminute = /min unit.timesspeed = x nopeus +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health +unit.shieldhealth = suojan elinpisteet unit.items = esinettä unit.thousands = t -unit.millions = mil -unit.billions = b +unit.millions = milj +unit.billions = mrd +unit.shots = shots +unit.pershot = /laukaisu +category.purpose = Tarkoitus category.general = Yleinen category.power = Energia category.liquids = Neste @@ -713,17 +1157,24 @@ category.items = Tavarat category.crafting = Ulos/Sisääntulo category.function = Function category.optional = Mahdolliset parannukset +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Ohita ytimen laukaisun/laskeutumisen animaatio setting.landscape.name = Lukitse tasavaakaan setting.shadows.name = Varjot setting.blockreplace.name = Automaattisia Palikka Suosituksia setting.linear.name = Lineaarinen suodatus setting.hints.name = Vihjeet -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logiikkavihjeet +setting.backgroundpause.name = Pysäytä taustalla setting.buildautopause.name = Automaattisest Pysäytä Rakentaessa +setting.doubletapmine.name = Kaksoisklikkaa kaivaaksesi +setting.commandmodehold.name = Pidä pohjassa komentotilaa varten +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Poista lisäosat käytöstä käynnistyskaatumisissa setting.animatedwater.name = Animoitu vesi setting.animatedshields.name = Animoidut kilvet -setting.antialias.name = Antialiaasi[lightgray] (vaatii uudelleenkäynnistyksen)[] -setting.playerindicators.name = Player Indicators +setting.playerindicators.name = Pelaajaindikaattorit setting.indicators.name = Vihollis/Puolulais Indikaattorit setting.autotarget.name = Automaatinen Tähtäys setting.keyboard.name = Hiiri+Näppäimistö -ohjaus @@ -732,173 +1183,257 @@ setting.fpscap.name = Maksimi FPS setting.fpscap.none = Ei Mitään setting.fpscap.text = {0} FPS setting.uiscale.name = UI Koko[lightgray] (vaatii uudelleenkäynnistyksen)[] +setting.uiscale.description = Muutosten toteuttaminen vaatii uudelleenkäynnistyksen setting.swapdiagonal.name = Aina vino korvaus -setting.difficulty.training = Treeni -setting.difficulty.easy = Helppo -setting.difficulty.normal = Keskivaikea -setting.difficulty.hard = Haastava -setting.difficulty.insane = Järjetön -setting.difficulty.name = Vaikeustaso: setting.screenshake.name = Näytön keikkuminen +setting.bloomintensity.name = Bloom-intensiteetti +setting.bloomblur.name = Bloom-sumennus setting.effects.name = Naytön Efektit setting.destroyedblocks.name = Näytä tuhoutuneet palikat -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Conveyor Placement Pathfinding +setting.blockstatus.name = Näytä Palikan Toimintakunto +setting.conveyorpathfinding.name = Liukuhihnan älykäs sijoittaminen setting.sensitivity.name = Ohjauksen herkkyys setting.saveinterval.name = Tallennuksen Aikaväli -setting.seconds = {0} Sekunttia -setting.blockselecttimeout.name = Block Select Timeout -setting.milliseconds = {0} millisekunttia -setting.fullscreen.name = Fullscreen -setting.borderlesswindow.name = Borderless Window[lightgray] (vaatii uudelleenkäynnistyksen) +setting.seconds = {0} Sekuntia +setting.milliseconds = {0} millisekuntia +setting.fullscreen.name = Täysnäyttö +setting.borderlesswindow.name = Reunaton Ikkuna[lightgray] (vaatii uudelleenkäynnistyksen) +setting.borderlesswindow.name.windows = Reunaton koko näytön tila +setting.borderlesswindow.description = Uudelleenkäynnistys saatetaan vaatia muutosten toteuttamiseksi. setting.fps.name = Näytä FPS -setting.smoothcamera.name = Smooth Camera +setting.console.name = Salli konsoli +setting.smoothcamera.name = Pehmeä kamera setting.vsync.name = VSync setting.pixelate.name = Pixeloi[lightgray] (poistaa animaation käytöstä) setting.minimap.name = Näytä pienoiskartta -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Näytä ytimen tavarat (WIP) setting.position.name = Näytä pelaajan sijainti +setting.mouseposition.name = Näytä hiiren sijainti setting.musicvol.name = Musiikin äänenvoimakkuus -setting.atmosphere.name = Show Planet Atmosphere +setting.atmosphere.name = Näytä planeetan ilmakehä +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Taustaäänet setting.mutemusic.name = Mykistä musiikki setting.sfxvol.name = SFX-voimakkuus setting.mutesound.name = Mykistä äänet -setting.crashreport.name = Send Anonymous Crash Reports +setting.crashreport.name = Lähetä anonyymejä kaatumisilmoituksia +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Luo tallenuksia automaattisesti -setting.publichost.name = Public Game Visibility -setting.playerlimit.name = Player Limit +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Pelaajaraja setting.chatopacity.name = Keskustelun läpinäkymättömyys setting.lasersopacity.name = Energia laserin läpinäkymättömyys -setting.bridgeopacity.name = Bridge Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Siltojen läpinäkyvyys setting.playerchat.name = Näytä pelinsisäinen keskustelu -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.beta = Note that beta versions of the game cannot make public lobbies. -uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds... +setting.showweather.name = Näytä säägrafiikat +setting.hidedisplays.name = Piilota logiikkanäytöt +setting.macnotch.name = Mukauta käyttöliittymä näyttämään lovi +setting.macnotch.description = Muutosten toteuttaminen vaatii uudelleenkäynnistyksen +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. +public.beta = Huomaa, että pelin betaversiot eivät voi luoda julkisia auloja. +uiscale.reset = UI:n skaalaa on muutettu.\nPaina "OK" hyväksyäksesi tämän skaalan.\n[scarlet]Palautetaan ja poistutaan[accent] {0}[] sekunnissa... uiscale.cancel = Peruuta ja poistu -setting.bloom.name = Bloom -keybind.title = Rebind Keys -keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. -category.general.name = General -category.view.name = View +setting.bloom.name = Hehkeys +keybind.title = Kontrollit +keybinds.mobile = [scarlet]Useimmat näppäinkontrollit eivät toimi mobiililaitteilla. Vain yksinkertaista liikettä tuetaan. +category.general.name = Yleinen +category.view.name = Näytä +category.command.name = Unit Command category.multiplayer.name = Moninpeli -category.blocks.name = Block Select -command.attack = Hyökkäys -command.rally = Kokoontuminen -command.retreat = Perääntyminen -command.idle = Idle -placement.blockselectkeys = \n[lightgray]Key: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit -keybind.clear_building.name = Clear Building -keybind.press = Press a key... -keybind.press.axis = Press an axis or key... -keybind.screenshot.name = Map Screenshot -keybind.toggle_power_lines.name = Toggle Power Lasers -keybind.toggle_block_status.name = Toggle Block Statuses -keybind.move_x.name = Move x -keybind.move_y.name = Move y -keybind.mouse_move.name = Follow Mouse -keybind.pan.name = Pan View -keybind.boost.name = Boost +category.blocks.name = Palikan Valinta +placement.blockselectkeys = \n[lightgray]Näppäin: [{0}, +keybind.respawn.name = Synny Uudelleen +keybind.control.name = Käytä Yksikköä +keybind.clear_building.name = Tyhjennä rakennus +keybind.press = Paina Nappia... +keybind.press.axis = Paina akselia tai näppäintä... +keybind.screenshot.name = Kuvakaappaus kartasta +keybind.toggle_power_lines.name = Vaihda virtalaserit +keybind.toggle_block_status.name = Vaihda palikkastatukset +keybind.move_x.name = Liiku x +keybind.move_y.name = Liiku y +keybind.mouse_move.name = Seuraa Hiirtä +keybind.pan.name = Kelaa näkymää +keybind.boost.name = Tehosta +keybind.command_mode.name = Komentotila +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Valitse alue keybind.schematic_menu.name = Kaavio Valikko -keybind.schematic_flip_x.name = Flip Schematic X -keybind.schematic_flip_y.name = Flip Schematic Y -keybind.category_prev.name = Previous Category -keybind.category_next.name = Next Category -keybind.block_select_left.name = Block Select Left -keybind.block_select_right.name = Block Select Right -keybind.block_select_up.name = Block Select Up -keybind.block_select_down.name = Block Select Down -keybind.block_select_01.name = Category/Block Select 1 -keybind.block_select_02.name = Category/Block Select 2 -keybind.block_select_03.name = Category/Block Select 3 -keybind.block_select_04.name = Category/Block Select 4 -keybind.block_select_05.name = Category/Block Select 5 -keybind.block_select_06.name = Category/Block Select 6 -keybind.block_select_07.name = Category/Block Select 7 -keybind.block_select_08.name = Category/Block Select 8 -keybind.block_select_09.name = Category/Block Select 9 -keybind.block_select_10.name = Category/Block Select 10 +keybind.schematic_flip_x.name = Käännä kaavio X-akselilla +keybind.schematic_flip_y.name = Käännä kaavio Y-akselilla +keybind.category_prev.name = Edellinen kategoria +keybind.category_next.name = Seuraava kategoria +keybind.block_select_left.name = Valitse vasen palikka +keybind.block_select_right.name = Valitse oikea palikka +keybind.block_select_up.name = Valitse ylempi palikka +keybind.block_select_down.name = Valitse alempi palikka +keybind.block_select_01.name = Valitse kategoria/palikka 1 +keybind.block_select_02.name = Valitse kategoria/palikka 2 +keybind.block_select_03.name = Valitse kategoria/palikka 3 +keybind.block_select_04.name = Valitse kategoria/palikka 4 +keybind.block_select_05.name = Valitse kategoria/palikka 5 +keybind.block_select_06.name = Valitse kategoria/palikka 6 +keybind.block_select_07.name = Valitse kategoria/palikka 7 +keybind.block_select_08.name = Valitse kategoria/palikka 8 +keybind.block_select_09.name = Valitse kategoria/palikka 9 +keybind.block_select_10.name = Valitse kategoria/palikka 10 keybind.fullscreen.name = Vaihda kokonäyttötilaan -keybind.select.name = Select/Shoot -keybind.diagonal_placement.name = Diagonal Placement -keybind.pick.name = Pick Block -keybind.break_block.name = Break Block -keybind.deselect.name = Deselect -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command -keybind.shoot.name = Shoot -keybind.zoom.name = Zoom -keybind.menu.name = Menu -keybind.pause.name = Pause -keybind.pause_building.name = Pause/Resume Building +keybind.select.name = Valitse/Ammu +keybind.diagonal_placement.name = Vino sijoitus +keybind.pick.name = Ota palikka +keybind.break_block.name = Riko palikka +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories +keybind.deselect.name = Poista valinta +keybind.pickupCargo.name = Nosta lastia +keybind.dropCargo.name = Pudota lastia +keybind.shoot.name = Ammu +keybind.zoom.name = Zoomaa +keybind.menu.name = Valikko +keybind.pause.name = Pysäytä +keybind.pause_building.name = Pysäytä/Jatka rakennusta keybind.minimap.name = Pienoiskartta +keybind.planet_map.name = Planeettakartta +keybind.research.name = Tutki +keybind.block_info.name = Palikan tiedot keybind.chat.name = Keskustelu keybind.player_list.name = Pelaaja lista -keybind.console.name = Console -keybind.rotate.name = Rotate -keybind.rotateplaced.name = Rotate Existing (Hold) -keybind.toggle_menus.name = Toggle menus -keybind.chat_history_prev.name = Chat history prev -keybind.chat_history_next.name = Chat history next -keybind.chat_scroll.name = Chat scroll -keybind.drop_unit.name = Drop Unit -keybind.zoom_minimap.name = Zoom minimap -mode.help.title = Description of modes -mode.survival.name = Survival +keybind.console.name = Konsoli +keybind.rotate.name = Kierrä +keybind.rotateplaced.name = Kierrä olemassa olevaa (Pidä pohjassa) +keybind.toggle_menus.name = Vaihda valikot +keybind.chat_history_prev.name = Edellinen keskusteluhistoria +keybind.chat_history_next.name = Seuraavakeskusteluhistoria +keybind.chat_scroll.name = Kelaa keskustelua +keybind.chat_mode.name = Vaihda keskustelutilaa +keybind.drop_unit.name = Pudota yksikkö +keybind.zoom_minimap.name = Zoomaa pienoiskarttaa +mode.help.title = Pelitilojen kuvaus +mode.survival.name = Selviytyminen mode.survival.description = Normaali tila. Rajoitettu määrä resursseja ja tasoilla on aika.\n[gray]Vaatii vihollisten syntymispisteen kartassa. mode.sandbox.name = Hiekkalaatikko mode.sandbox.description = Ikuisesti resursseja ja tasoja ei ole ajastettu. mode.editor.name = Editori mode.pvp.name = PvP -mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. -mode.attack.name = Attack -mode.attack.description = Destroy the enemy's base. No waves.\n[gray]Requires a red core in the map to play. -mode.custom = Custom Rules +mode.pvp.description = Taistele toisia pelaajia vastaan paikallisesti.\n[gray]Pelaaminen vaatii vähintään kaksi eriväristä ydintä kartassa. +mode.attack.name = Hyökkäys +mode.attack.description = Tuhoa vihollisen tukikohta. Ei tasoja.\n[gray]Pelaaminen vaatii punaisen ytimen kartassa. +mode.custom = Muokkaa sääntöjä +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks -rules.infiniteresources = Ikuiset resurssit +rules.infiniteresources = Loputtomat resurssit +rules.onlydepositcore = Salli sijoittaminen vain ytimeen +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reaktorien räjähtäminen -rules.schematic = Schematics Allowed +rules.coreincinerates = Ydin höyrystää ylivuodon +rules.disableworldprocessors = Poista maailmaprosessorit käytöstä +rules.schematic = Salli kaaviot rules.wavetimer = Tasojen aikaraja +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Tasot +rules.airUseSpawns = Air units use spawn points rules.attack = Hyökkäystila -rules.buildai = AI Building -rules.enemyCheat = Infinite AI (Red Team) Resources -rules.blockhealthmultiplier = Block Health Multiplier -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier -rules.unithealthmultiplier = Unit Health Multiplier -rules.unitdamagemultiplier = Unit Damage Multiplier -rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) -rules.wavespacing = Wave Spacing:[lightgray] (sec) -rules.buildcostmultiplier = Build Cost Multiplier -rules.buildspeedmultiplier = Build Speed Multiplier -rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier -rules.waitForWaveToEnd = Waves wait for enemies -rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) -rules.unitammo = Units Require Ammo -rules.title.waves = Waves -rules.title.resourcesbuilding = Resources & Building -rules.title.enemy = Enemies -rules.title.unit = Units -rules.title.experimental = Experimental -rules.title.environment = Environment -rules.lighting = Lighting -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Ambient Light -rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.duration = Duration: +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min. hyökkäysjoukon koko +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min. hyökkäyksen paino +rules.cleanupdeadteams = Siivoa voitettujen joukkueiden rakennukset (PvP) +rules.corecapture = Valtaa ydin sen tuhoutuessa +rules.polygoncoreprotection = Monikulmainen ytimen suoja-alue +rules.placerangecheck = Tarkista asetuskantama +rules.enemyCheat = Loputtomat AI:n (punaisen joukkueen) resurssit +rules.blockhealthmultiplier = Palikkojen elämäpistekerroin +rules.blockdamagemultiplier = Palikkojen vahinkokerroin +rules.unitbuildspeedmultiplier = Yksikköjen tuotantonopeuskerroin +rules.unitcostmultiplier = Unit Cost Multiplier +rules.unithealthmultiplier = Yksikköjen elämäpistekerroin +rules.unitdamagemultiplier = Yksikköjen vahinkokerroin +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Aurinkovoimakerroin +rules.unitcapvariable = Ytimet vaikuttavat yksikkörajaan +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Perusyksikköraja +rules.limitarea = Rajoita kartan aluetta +rules.enemycorebuildradius = Vihollisytimen rakennuksenestosäde:[lightgray] (laattoina) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Tasojen väliaika:[lightgray] (sec) +rules.initialwavespacing = Ensimmäinen tason väliaika:[lightgray] (sec) +rules.buildcostmultiplier = Rakentamisen hintakerroin +rules.buildspeedmultiplier = Rakentamisen nopeuskerroin +rules.deconstructrefundmultiplier = Purkamisen palautuskerroin +rules.waitForWaveToEnd = Tasot odottavat edellisen tason loppumista +rules.wavelimit = Map Ends After Wave +rules.dropzoneradius = Syntypisteen säde:[lightgray] (laattoina) +rules.unitammo = Yksiköt tarvitsevat ammuksia +rules.enemyteam = Vihollisjoukkue +rules.playerteam = Pelaajan joukkue +rules.title.waves = Tasot +rules.title.resourcesbuilding = Resurssit ja rakentaminen +rules.title.enemy = Viholliset +rules.title.unit = Yksiköt +rules.title.experimental = Kokeellinen +rules.title.environment = Ympäristö +rules.title.teams = Joukkueet +rules.title.planet = Planeetta +rules.lighting = Salamointi +rules.fog = Sodan sumu (Fog of War) +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Tuli +rules.anyenv = +rules.explosions = Palikkojen/Yksikköjen räjähdysvahinko +rules.ambientlight = Ympäristön valaistus +rules.weather = Sää +rules.weather.frequency = Tiheys: +rules.weather.always = Aina +rules.weather.duration = Kesto: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Tavarat content.liquid.name = Nesteet content.unit.name = Yksiköt content.block.name = Palikat +content.status.name = Statusefektit +content.sector.name = Sektorit +content.team.name = Ryhmittymät +wallore = (Seinä) item.copper.name = Kupari item.lead.name = Lyijy @@ -907,36 +1442,49 @@ item.graphite.name = Grafiitti item.titanium.name = Titaani item.thorium.name = Torium item.silicon.name = Pii -item.plastanium.name = Plastaniumi -item.phase-fabric.name = Kiihdekuitu -item.surge-alloy.name = Taiteseos +item.plastanium.name = Plastiikkaseos +item.phase-fabric.name = Kiihtokuitu +item.surge-alloy.name = Jänniteseos item.spore-pod.name = Itiöpalko item.sand.name = Hiekka -item.blast-compound.name = Räjähdeyhdiste -item.pyratite.name = Pyratiitti -item.metaglass.name = Metallilasi +item.blast-compound.name = Erikoisruuti +item.pyratite.name = Rikkikiisu +item.metaglass.name = Teräslasi item.scrap.name = Romu +item.fissile-matter.name = Halkeava aines +item.beryllium.name = Beryllium +item.tungsten.name = Volframi +item.oxide.name = Oksidi +item.carbide.name = Karbidi +item.dormant-cyst.name = Uinuva lepoitiö liquid.water.name = Vesi liquid.slag.name = Kuona liquid.oil.name = Öljy -liquid.cryofluid.name = Kryoneste +liquid.cryofluid.name = Kryolitku +liquid.neoplasm.name = Kasvain +liquid.arkycite.name = Arkysiitti +liquid.gallium.name = Gallium +liquid.ozone.name = Otsoni +liquid.hydrogen.name = Vety +liquid.nitrogen.name = Typpi +liquid.cyanogen.name = Syanogeeni unit.dagger.name = Tikari -unit.mace.name = Mace +unit.mace.name = Nuija unit.fortress.name = Linnoitus unit.nova.name = Nova -unit.pulsar.name = Pulsar -unit.quasar.name = Quasar -unit.crawler.name = Indeksointirobotti +unit.pulsar.name = Pulsari +unit.quasar.name = Kvasaari +unit.crawler.name = Ryömijä unit.atrax.name = Atrax unit.spiroct.name = Spiroct unit.arkyid.name = Arkyid unit.toxopid.name = Toxopid unit.flare.name = Flare -unit.horizon.name = Horizon -unit.zenith.name = Zenith +unit.horizon.name = Taivaanranta +unit.zenith.name = Zeniitti unit.antumbra.name = Antumbra -unit.eclipse.name = Eclipse +unit.eclipse.name = Pimennys unit.mono.name = Mono unit.poly.name = Poly unit.mega.name = Mega @@ -947,83 +1495,117 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura -unit.alpha.name = Alpha -unit.beta.name = Beta +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax +unit.alpha.name = Alfa +unit.beta.name = Beeta unit.gamma.name = Gamma unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Kokoajadrooni +unit.latum.name = Latum +unit.renale.name = Renale + +block.parallax.name = Parallaksi +block.cliff.name = Kallio -block.resupply-point.name = Resupply Point -block.parallax.name = Parallax -block.cliff.name = Vuoren block.sand-boulder.name = Hiekkalohkare +block.basalt-boulder.name = Basalttilohkare block.grass.name = Ruoho -block.slag.name = Kuono -block.space.name = Space +block.molten-slag.name = Kuona +block.pooled-cryofluid.name = Kryolitku +block.space.name = Avaruus block.salt.name = Suolapitoisuus -block.salt-wall.name = Salt Wall +block.salt-wall.name = Suolaseinä block.pebbles.name = Pikkukivi -block.tendrils.name = Tendrils -block.sand-wall.name = Sand Wall -block.spore-pine.name = Spore Pine -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder -block.snow-pine.name = Lumimänny +block.tendrils.name = Kärhet +block.sand-wall.name = Hiekkaseinä +block.spore-pine.name = Itiömänty +block.spore-wall.name = Itiöseinä +block.boulder.name = Lohkare +block.snow-boulder.name = Lumilohkare +block.snow-pine.name = Lumimänty block.shale.name = Liuske -block.shale-boulder.name = Shale Boulder +block.shale-boulder.name = Liuskelohkare block.moss.name = Sammal block.shrubs.name = Pensaikko block.spore-moss.name = Itiösammal -block.shale-wall.name = Shale Wall +block.shale-wall.name = Liuskeseinä block.scrap-wall.name = Romuseinä block.scrap-wall-large.name = Suuri romuseinä block.scrap-wall-huge.name = Valtava romuseinä block.scrap-wall-gigantic.name = Jättiläismäinen romuseinä -block.thruster.name = Thruster -block.kiln.name = Kiln +block.thruster.name = Työnnin +block.kiln.name = Polttouuni block.graphite-press.name = Grafiittipuristin block.multi-press.name = Monipuristin block.constructing = {0} [lightgray](Rakentamassa) block.spawn.name = Vihollisten syntymispiste +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Ydin: Siru block.core-foundation.name = Ydin: Pohjaus block.core-nucleus.name = Ydin: Tuma -block.deepwater.name = Syvä vesi -block.water.name = Vesi -block.tainted-water.name = Pilaantunut vesi -block.darksand-tainted-water.name = Dark Sand Tainted Water +block.deep-water.name = Syvää vettä +block.shallow-water.name = Vettä +block.tainted-water.name = Saastevettä +block.deep-tainted-water.name = Syvää Saasteista Vettä +block.darksand-tainted-water.name = Saastevesi tummalla hiekalla block.tar.name = Terva block.stone.name = Kivi -block.sand.name = Hiekka +block.sand-floor.name = Hiekka block.darksand.name = Tumma hiekka block.ice.name = Jää block.snow.name = Lumi -block.craters.name = Kraatterit -block.sand-water.name = Sand water -block.darksand-water.name = Dark Sand Water -block.char.name = Char -block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder -block.ice-snow.name = Ice Snow -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall +block.crater-stone.name = Kraatterit +block.sand-water.name = Vesi hiekalla +block.darksand-water.name = Vesi tummalla hiekalla +block.char.name = Hiili +block.dacite.name = Dasiitti +block.rhyolite.name = Ryoliitti +block.dacite-wall.name = Dasiittiseinä +block.dacite-boulder.name = Dasiittilohkare +block.ice-snow.name = Jäinen lumi +block.stone-wall.name = Kiviseinä +block.ice-wall.name = Jääseinä +block.snow-wall.name = Lumiseinä +block.dune-wall.name = Dyyniseinä block.pine.name = Mänty -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud +block.dirt.name = Multa +block.dirt-wall.name = Multaseinä +block.mud.name = Muta block.white-tree-dead.name = Valkoinen kuollut puu block.white-tree.name = Valkoinen puu -block.spore-cluster.name = Spore Cluster +block.spore-cluster.name = Itiöryhmä block.metal-floor.name = Metallilattia 1 block.metal-floor-2.name = Metallilattia 2 block.metal-floor-3.name = Metallilattia 3 -block.metal-floor-5.name = Metallilattia 4 +block.metal-floor-4.name = Metallilattia 4 +block.metal-floor-5.name = Metallilattia 5 block.metal-floor-damaged.name = Vaurioitunut metallilattia block.dark-panel-1.name = Tumma paneeli 1 block.dark-panel-2.name = Tumma paneeli 2 @@ -1032,304 +1614,1004 @@ block.dark-panel-4.name = Tumma paneeli 4 block.dark-panel-5.name = Tumma paneeli 5 block.dark-panel-6.name = Tumma paneeli 6 block.dark-metal.name = Tumma metalli -block.basalt.name = Basalt -block.hotrock.name = Hot Rock -block.magmarock.name = Magma Rock +block.basalt.name = Basaltti +block.hotrock.name = Kuumakivi +block.magmarock.name = Magmakivi block.copper-wall.name = Kupariseinä block.copper-wall-large.name = Suuri kupariseinä block.titanium-wall.name = Titaaniseinä block.titanium-wall-large.name = Suuri titaaniseinä block.plastanium-wall.name = Plastaniumiseinä block.plastanium-wall-large.name = Suuri plastaniumiseinä -block.phase-wall.name = Phase Wall -block.phase-wall-large.name = Large Phase Wall +block.phase-wall.name = Kuituseinä +block.phase-wall-large.name = Suuri kuituseinä block.thorium-wall.name = Toriumiseinä block.thorium-wall-large.name = Suuri toriumiseinä block.door.name = Ovi block.door-large.name = Suuri ovi block.duo.name = Duo -block.scorch.name = Scorch -block.scatter.name = Scatter -block.hail.name = Hail -block.lancer.name = Lancer -block.conveyor.name = Conveyor -block.titanium-conveyor.name = Titanium Conveyor -block.plastanium-conveyor.name = Plastanium Conveyor -block.armored-conveyor.name = Armored Conveyor -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts. -block.junction.name = Junction +block.scorch.name = Kärvennys +block.scatter.name = Hajonta +block.hail.name = Rae +block.lancer.name = Peitsi +block.conveyor.name = Liukuhihna +block.titanium-conveyor.name = Titaaniliukuhihna +block.plastanium-conveyor.name = Plastaniumliukuhihna +block.armored-conveyor.name = Panssaroitu liukuhihna +block.junction.name = Risteys block.router.name = Reititin -block.distributor.name = Distributor +block.distributor.name = Jakaja block.sorter.name = Lajittelija -block.inverted-sorter.name = Inverted Sorter -block.message.name = Message -block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. -block.overflow-gate.name = Overflow Gate -block.underflow-gate.name = Underflow Gate -block.silicon-smelter.name = Silicon Smelter -block.phase-weaver.name = Phase Weaver -block.pulverizer.name = Pulverizer -block.cryofluid-mixer.name = Cryofluid Mixer -block.melter.name = Melter -block.incinerator.name = Incinerator -block.spore-press.name = Spore Press -block.separator.name = Separator -block.coal-centrifuge.name = Coal Centrifuge -block.power-node.name = Power Node -block.power-node-large.name = Large Power Node -block.surge-tower.name = Surge Tower -block.diode.name = Battery Diode +block.inverted-sorter.name = Käänteinen Lajittelija +block.message.name = Viesti +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch +block.illuminator.name = Lamppu +block.overflow-gate.name = Ylivuotoportti +block.underflow-gate.name = Alivuotoportti +block.silicon-smelter.name = Piinsulatin +block.phase-weaver.name = Kiihtokutoja +block.pulverizer.name = Jauhaja +block.cryofluid-mixer.name = Kryolitkusekoittaja +block.melter.name = Sulattaja +block.incinerator.name = Polttaja +block.spore-press.name = Itiöpuristin +block.separator.name = Erottelija +block.coal-centrifuge.name = Hiilisentrifugi +block.power-node.name = Sähkötolppa +block.power-node-large.name = Iso sähkötolppa +block.surge-tower.name = Korkeajännitetorni +block.diode.name = Akkudiodi block.battery.name = Akku block.battery-large.name = Suuri akku -block.combustion-generator.name = Combustion Generator +block.combustion-generator.name = Aggregaatti block.steam-generator.name = Höyrygeneraattori -block.differential-generator.name = Differential Generator +block.differential-generator.name = Lämpöerogeneraattori block.impact-reactor.name = Törmäysreaktori -block.mechanical-drill.name = Mechanical Drill -block.pneumatic-drill.name = Pneumatic Drill -block.laser-drill.name = Laser Drill -block.water-extractor.name = Water Extractor -block.cultivator.name = Cultivator -block.conduit.name = Conduit -block.mechanical-pump.name = Mechanical Pump -block.item-source.name = Item Source -block.item-void.name = Item Void -block.liquid-source.name = Liquid Source -block.liquid-void.name = Liquid Void -block.power-void.name = Power Void -block.power-source.name = Power Source -block.unloader.name = Unloader -block.vault.name = Vault -block.wave.name = Wave +block.mechanical-drill.name = Mekaaninen pora +block.pneumatic-drill.name = Pneumaattinen pora +block.laser-drill.name = Laserpora +block.water-extractor.name = Kaivo +block.cultivator.name = Kultivaattori +block.conduit.name = Putki +block.mechanical-pump.name = Mekaaninen pumppu +block.item-source.name = Tavaralähde +block.item-void.name = Tavaratyhjiö +block.liquid-source.name = Nestelähde +block.liquid-void.name = Nestetyhjiö +block.power-void.name = Virtatyhjiö +block.power-source.name = Virtalähde +block.unloader.name = Purkaja +block.vault.name = Holvi +block.wave.name = Aalto block.tsunami.name = Tsunami -block.swarmer.name = Swarmer +block.swarmer.name = Parvi block.salvo.name = Salvo -block.ripple.name = Ripple -block.phase-conveyor.name = Phase Conveyor -block.bridge-conveyor.name = Bridge Conveyor -block.plastanium-compressor.name = Plastanium Compressor -block.pyratite-mixer.name = Pyratite Mixer -block.blast-mixer.name = Blast Mixer +block.ripple.name = Aaltoilija +block.phase-conveyor.name = Kiihtoliukuhihna +block.bridge-conveyor.name = Siltaliukuhihna +block.plastanium-compressor.name = Plastaniumkompressori +block.pyratite-mixer.name = Rikkikiisusekoittaja +block.blast-mixer.name = Räjähdesekoittaja block.solar-panel.name = Aurinkopaneeli block.solar-panel-large.name = Suuri aurinkopaneeli -block.oil-extractor.name = Oil Extractor -block.repair-point.name = Repair Point -block.pulse-conduit.name = Pulse Conduit -block.plated-conduit.name = Plated Conduit -block.phase-conduit.name = Phase Conduit -block.liquid-router.name = Liquid Router -block.liquid-tank.name = Nestesäiliö -block.liquid-junction.name = Liquid Junction -block.bridge-conduit.name = Bridge Conduit -block.rotary-pump.name = Rotary Pump -block.thorium-reactor.name = Thorium Reactor +block.oil-extractor.name = Öljykaivo +block.repair-point.name = Korjauspiste +block.repair-turret.name = Korjaustykki +block.pulse-conduit.name = Pulssiputki +block.plated-conduit.name = Päällystetty putki +block.phase-conduit.name = Vaihdeputki +block.liquid-router.name = Nestereititin +block.liquid-tank.name = Nestestankki +block.liquid-container.name = Nestesäiliö +block.liquid-junction.name = Nesteristeys +block.bridge-conduit.name = Siltaputki +block.rotary-pump.name = Pyörivä pumppu +block.thorium-reactor.name = Toriumreaktori block.mass-driver.name = Massalinko -block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump +block.blast-drill.name = Ilmapurkauspora +block.impulse-pump.name = Lämpöpumppu block.thermal-generator.name = Lämpögeneraattori -block.alloy-smelter.name = Alloy Smelter -block.mender.name = Mender -block.mend-projector.name = Mend Projector -block.surge-wall.name = Surge Wall -block.surge-wall-large.name = Large Surge Wall +block.surge-smelter.name = Jännitesulatusuuni +block.mender.name = Korjaaja +block.mend-projector.name = Korjausprojektori +block.surge-wall.name = Jännitemuuri +block.surge-wall-large.name = Suuri jännitemuuri block.cyclone.name = Sykloni -block.fuse.name = Fuse -block.shock-mine.name = Shock Mine -block.overdrive-projector.name = Overdrive Projector -block.force-projector.name = Force Projector +block.fuse.name = Sulake +block.shock-mine.name = Shokkimiina +block.overdrive-projector.name = Yliajoprojektori +block.force-projector.name = Kilpiprojektori block.arc.name = Kaari -block.rtg-generator.name = RTG Generator +block.rtg-generator.name = RTG-generaattori block.spectre.name = Haamu block.meltdown.name = Sulamispiste block.foreshadow.name = Foreshadow -block.container.name = Container -block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad -block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = Mass Conveyor -block.payload-router.name = Payload Router -block.disassembler.name = Disassembler -block.silicon-crucible.name = Silicon Crucible -block.overdrive-dome.name = Overdrive Dome +block.container.name = Säiliö +block.launch-pad.name = Laukaisualusta +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Segmentti +block.ground-factory.name = Maatehdas +block.air-factory.name = Ilmatehdas -block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor -block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display -block.memory-cell.name = Memory Cell -block.memory-bank.name = Memory Bank +block.naval-factory.name = Laivatehdas +block.additive-reconstructor.name = Additiivinen jälleenrakentaja +block.multiplicative-reconstructor.name = Multiplikatiivinen jälleenrakentaja +block.exponential-reconstructor.name = Eksponentiaalinen jälleenrakentaja +block.tetrative-reconstructor.name = Tetratiivinen jälleenrakentaja +block.payload-conveyor.name = Lastiliukuhihna +block.payload-router.name = Lastireititin +block.duct.name = Putki +block.duct-router.name = Putkireititin +block.duct-bridge.name = Putkisilta +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Lastityhjiö +block.payload-source.name = Lastilähde +block.disassembler.name = Hajottaja +block.silicon-crucible.name = Piinsulatusuuni +block.overdrive-dome.name = Yliajokupoli +block.interplanetary-accelerator.name = Interplanetaarinen kiihdyttäjä +block.constructor.name = Rakentaja +block.constructor.description = Rakentaa rakennuksia, joiden koko on enintään 2x2 laattaa. +block.large-constructor.name = Suuri rakentaja +block.large-constructor.description = Rakentaa rakennuksia, joiden koko on enintään 2x2 laattaa. +block.deconstructor.name = Lastipurkaja +block.deconstructor.description = Purkaa rakennuksia ja yksikköjä. Palauttaa 100% rakennushinnasta. +block.payload-loader.name = Täyttäjä +block.payload-loader.description = Täyttää palikkoja tavaroilla ja nesteillä. +block.payload-unloader.name = Massapurkaja +block.payload-unloader.description = Purkaa tavaroita ja nesteitä palikoista. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Tyhjä +block.rhyolite-crater.name = Ryoliittikraatteri +block.rough-rhyolite.name = Karkea ryoliitti +block.regolith.name = Regoliitti +block.yellow-stone.name = Keltakivi +block.carbon-stone.name = Hiilikivi +block.ferric-stone.name = Rautakivi +block.ferric-craters.name = Rautakraatterit +block.beryllic-stone.name = Beryllikivi +block.crystalline-stone.name = Kiteinen kivi +block.crystal-floor.name = Kidelattia +block.yellow-stone-plates.name = Keltakivilaatat +block.red-stone.name = Punakivi +block.dense-red-stone.name = Tiheä punakivi +block.red-ice.name = Punajää +block.arkycite-floor.name = Arkysiittilattia +block.arkyic-stone.name = Arkyinen lattia +block.rhyolite-vent.name = Ryoliittipurkaus +block.carbon-vent.name = Hiilipurkaus +block.arkyic-vent.name = Arkyinen purkaus +block.yellow-stone-vent.name = Keltakivipurkaus +block.red-stone-vent.name = Punakivipurkaus +block.crystalline-vent.name = Kiteinen purkaus +block.redmat.name = Punamatto +block.bluemat.name = Sinimatto +block.core-zone.name = Ydinpohja +block.regolith-wall.name = Regoliittiseinä +block.yellow-stone-wall.name = Keltakiviseinä +block.rhyolite-wall.name = Ryoliittiseinä +block.carbon-wall.name = Hiiliseinä +block.ferric-stone-wall.name = Rautakiviseinä +block.beryllic-stone-wall.name = Beryllikiviseinä +block.arkyic-wall.name = Arkyinen seinä +block.crystalline-stone-wall.name = Kiteinen kiviseinä +block.red-ice-wall.name = Punajääseinä +block.red-stone-wall.name = Punakiviseinä +block.red-diamond-wall.name = Punatimanttiseinä +block.redweed.name = Punaruoho +block.pur-bush.name = Purpensas +block.yellowcoral.name = Keltakoralli +block.carbon-boulder.name = Hiililohkare +block.ferric-boulder.name = Rautalohkare +block.beryllic-boulder.name = Beryllilohkare +block.yellow-stone-boulder.name = Keltakivilohkare +block.arkyic-boulder.name = Arkyinen lohkare +block.crystal-cluster.name = Kiderykelmä +block.vibrant-crystal-cluster.name = Energinen kiderykelmä +block.crystal-blocks.name = Kidepalikat +block.crystal-orbs.name = Kidepallot +block.crystalline-boulder.name = Kiteinen lohkare +block.red-ice-boulder.name = Punajäälohkare +block.rhyolite-boulder.name = Ryoliittilohkare +block.red-stone-boulder.name = Punakivilohkare +block.graphitic-wall.name = Grafiittiseinä +block.silicon-arc-furnace.name = Piikaariuuni +block.electrolyzer.name = Elektrolysoija +block.atmospheric-concentrator.name = Ilmantiivistäjä +block.oxidation-chamber.name = Hapetuskammio +block.electric-heater.name = Sähkölämmitin +block.slag-heater.name = Kuonalämmitin +block.phase-heater.name = Kiihtolämmitin +block.heat-redirector.name = Lämmönsiirtäjä +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Kuonahöyrystäjä +block.carbide-crucible.name = Karbidivalimo +block.slag-centrifuge.name = Kuonasentrifugi +block.surge-crucible.name = Jännitevalimo +block.cyanogen-synthesizer.name = Syanogeenisyntetisoija +block.phase-synthesizer.name = Kiihtosyntetisoija +block.heat-reactor.name = Lämpöreaktori +block.beryllium-wall.name = Berylliummuuri +block.beryllium-wall-large.name = Suuri berylliummuuri +block.tungsten-wall.name = Volframimuuri +block.tungsten-wall-large.name = Suuri volframimuuri +block.blast-door.name = Räjähdysovi +block.carbide-wall.name = Karbidimuuri +block.carbide-wall-large.name = Suuri karbidimuuri +block.reinforced-surge-wall.name = Vahvistettu jännitemuuri +block.reinforced-surge-wall-large.name = Suuri vahvistettu jännitemuuri +block.shielded-wall.name = Kilpimuuri +block.radar.name = Tutka +block.build-tower.name = Rakennustorni +block.regen-projector.name = Regeneraatioprojektori +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Kenttäprojektori +block.large-shield-projector.name = Suuri kenttäprojektori +block.armored-duct.name = Haarniskoitu putki +block.overflow-duct.name = Ylivuotoputki +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Putkipurkaja +block.surge-conveyor.name = Jänniteliukuhihna +block.surge-router.name = Jännitereititin +block.unit-cargo-loader.name = Lastauspiste +block.unit-cargo-unload-point.name = Rahdinpurkaja +block.reinforced-pump.name = Vahvistettu pumppu +block.reinforced-conduit.name = Vahvistettu johdin +block.reinforced-liquid-junction.name = Vahvistettu nesteristeys +block.reinforced-bridge-conduit.name = Vahvistettu siltajohdin +block.reinforced-liquid-router.name = Vahvistettu nestereititin +block.reinforced-liquid-container.name = Vahvistettu nestesäiliö +block.reinforced-liquid-tank.name = Vahvistettu nestetankki +block.beam-node.name = Sädetolppa +block.beam-tower.name = Sädetorni +block.beam-link.name = Sädelinkki +block.turbine-condenser.name = Turbiinitiivistäjä +block.chemical-combustion-chamber.name = Kemiallinen polttokammio +block.pyrolysis-generator.name = Pyrolyysigeneraattori +block.vent-condenser.name = Purkaustiivistäjä +block.cliff-crusher.name = Kallionmurskaaja +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasmapora +block.large-plasma-bore.name = Suuri plasmapora +block.impact-drill.name = Iskupora +block.eruption-drill.name = Purkauspora +block.core-bastion.name = Linnake-ydin +block.core-citadel.name = Linnoitus-ydin +block.core-acropolis.name = Akropolis-ydin +block.reinforced-container.name = Vahvistettu säiliö +block.reinforced-vault.name = Vahvistettu holvi +block.breach.name = Murros +block.sublimate.name = Härme +block.titan.name = Titaani +block.disperse.name = Hälvennys +block.afflict.name = Aiheuttaja +block.lustre.name = Kiilto +block.scathe.name = Vahinko +block.tank-refabricator.name = Tankkijälleenrakentaja +block.mech-refabricator.name = Robottijälleenrakentaja +block.ship-refabricator.name = Ilma-alusjälleenrakentaja +block.tank-assembler.name = Tankkikokoaja +block.ship-assembler.name = Ilma-aluskokoaja +block.mech-assembler.name = Robottikokoaja +block.reinforced-payload-conveyor.name = Vahvistettu lastiliukuhihna +block.reinforced-payload-router.name = Vahvistettu lastireititin +block.payload-mass-driver.name = Lastimassalinko +block.small-deconstructor.name = Pieni hajottaja +block.canvas.name = Kanvaasi +block.world-processor.name = Maailmaprosessori +block.world-cell.name = Maailmasolu +block.tank-fabricator.name = Tankkirakentaja +block.mech-fabricator.name = Robottirakentaja +block.ship-fabricator.name = Ilma-alusrakentaja +block.prime-refabricator.name = Ensiluokkainen jälleenrakentaja +block.unit-repair-tower.name = Yksikönkorjaustorni +block.diffuse.name = Diffuusi +block.basic-assembler-module.name = Yksinkertainen kokoajamoduuli +block.smite.name = Isku +block.malign.name = Pahantahto +block.flux-reactor.name = Virtausreaktori +block.neoplasia-reactor.name = Syöpäreaktori -team.blue.name = sininen +block.switch.name = Kytkin +block.micro-processor.name = Mikroprosessori +block.logic-processor.name = Logiikkaprosessori +block.hyper-processor.name = Hyperprosessori +block.logic-display.name = Logiikkanäyttö +block.large-logic-display.name = Iso logiikkanäyttö +block.memory-cell.name = Muistisolu +block.memory-bank.name = Muistipankki +team.malis.name = Malis team.crux.name = punainen team.sharded.name = orange -team.orange.name = oranssi -team.derelict.name = derelict +team.derelict.name = hylky team.green.name = vihreä -team.purple.name = violetti -tutorial.next = [lightgray] -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.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then 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.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\n[accent]Right-click[] to stop building. -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.\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.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 = 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.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.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[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper. -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.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. +team.blue.name = sininen +hint.skip = Ohita +hint.desktopMove = Käytä [accent][[WASD][] -näppäimiä liikkuaksesi. +hint.zoom = [accent]Scrollaa[] zoomataksesi sisään tai ulos. +hint.desktopShoot = Paina [accent][[Hiiren vasen][] ampuaksesi. +hint.depositItems = Siirtääksesi tavaroita, vedä aluksestasi ytimeen. +hint.respawn = Uudelleensyntyäksesi aluksena, paina näppäintä [accent][[V][]. +hint.respawn.mobile = Olet siirtynyt hallitsemaan yksikköä/rakennusta. Uudelleensyntyäksesi aluksena, [accent]paina avataria ylhäällä vasemmalla.[] +hint.desktopPause = Paina [accent][[Välilyöntiä][] pysäyttääksesi ja jatkaaksesi peliä. +hint.breaking = Paina [accent]Hiiren oikea[] ja vedä rikkoaksesi palikoita. +hint.breaking.mobile = Aktivoi \ue817 [accent]vasara[] alhaalla oikealla ja kosketa rikkoaksesi palikoita.\n\nPidä sormeasi pohjassa hetki ja vedä poistaaksesi valinnalla. +hint.blockInfo = Näytä tietoa palikasta valitsemalla se [accent]rakennusvalikossa[], ja painamalla sitten [accent][[?][]-nappia oikella. +hint.derelict = [accent]Hylky[]-rakennukset ovat hajonneita jäännöksiä vanhoista tukikohdista, jotka eivät enää toimi.\n\nNämä rakennukset on mahdollista [accent]purkaa[] resurssien saamiseksi. +hint.research = Käytä \ue875 [accent]Tutki[]-nappia tutkiaksesi uutta teknologiaa. +hint.research.mobile = Käytä \ue875 [accent]Tutki[]-nappia \ue88c[accent]Valikossa[] tutkiaksesi uutta teknologiaa. +hint.unitControl = Pidä pohjassa [accent][[Vasen ctrl][] ja [accent]klikkaa[] hallitaksesi ystävällisiä yksikköjä tai rakennuksia. +hint.unitControl.mobile = [accent][[Kaksoisklikkaa][] hallitaksesi ystävällisiä yksikköjä tai rakennuksia. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Kun olet kerännyt riittävästi resursseja, voit [accent]Laukaista[] valitsemalla läheisen sektorin \ue827[accent]Kartasta[] alhaalla oikealla. +hint.launch.mobile = Kun olet kerännyt riittävästi resursseja, voit [accent]Laukaista[] valitsemalla läheisen sektorin \ue827[accent]Kartasta[], joka löytyy \ue88c[accent]Valikosta[]. +hint.schematicSelect = Pidä näppäintä [accent][[F][] pohjassa ja vedä valitaksesi palikoita kopioitavaksi ja liitettäväksi.\n\n[accent] Paina [[Hiiren keskinäppäin][] kopioidaksesi yksittäisen palikan. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Pidä näppäintä [accent][[Vasen ctrl][] pohjassa, kun vedät liukuhihnoja luodaksesi polun automaattisesti. +hint.conveyorPathfind.mobile = Salli \ue844[accent]Viisto tila[] ja vedä liukuhihnoja luodaksesi polun automaattisesti. +hint.boost = Pidä [accent][[Vasen shift][] pohjassa lentääksesi esteiden yli yksikölläsi.\n\nVain harvoilla maajoukoilla on tehostin. +hint.payloadPickup = Paina näppäintä [accent][[[] lastataksesi pieniä palikoita ja joukkoja. +hint.payloadPickup.mobile = [accent]Paina ja pidä pohjassa[] pientä palikkaa tai yksikköä lastataksesi sen. +hint.payloadDrop = Paina [accent]][] pudottaaksesi lastin. +hint.payloadDrop.mobile = [accent]Paina ja pidä pohjassa[] tyhjässä kohdassa pudottaaksesi lastin sinne. +hint.waveFire = [accent]Aalto[]-tykit, jotka on ladattu vedellä, sammuttavat kantamalla olevia tulipaloja automaattisesti. +hint.generator = \uf879 [accent]Aggregaatit[] polttavat hiiltä ja lähettävät energiaa viereisille palikoille.\n\nEnergiansiirtokantamaa voi laajentaa \uf87f[accent]Sähkötolpilla[]. +hint.guardian = [accent]Vartija[]yksiköt ovat haarniskoituja. Heikot ammukset kuten [accent]kupari[] ja [accent]lyijy[][scarlet]eivät ole tehokkaita[].\n\nKäytä korkeamman tason tykkejä tai \uf835[accent]Grafiittia[] \uf861Duon/\uf859Salvon ammuksena voittaaksesi vartijan. +hint.coreUpgrade = Ytimen voi päivittää [accent]sijoittamalla suuremman tason ytimen niiden päälle[].\n\nSijoita \uf868[accent]Pohjaus[]-ydin \uf869[accent]Siru[]-ytimen päälle. Varmista, että tiellä ei ole esteitä. +hint.presetLaunch = Harmaisiin [accent]laskeutumisaluesektoreihin[], kuten [accent]Jäätyneisiin metsiin[], voi laukaista kaikkialta. Ne eivät vaadi valtausta tai läheistä aluetta.\n\n[accent]Numeroidut sektorit[], kuten tämä, ovat [accent]valinnaisia[]. +hint.presetDifficulty = Tässä sektorissa on [scarlet]korkea uhkataso[].\nLaukaiseminen korkean uhkatason sektoreihin [accent]ei ole suositeltua[] ilman asianmukaista teknologiaa ja valmistautumista. +hint.coreIncinerate = Kun ydin on täynnä tiettyä tavaraa, ylimääräinen samanlainen tavara, joa tulee ytimeen, [accent]höyrystetään[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. -item.copper.description = The most basic structural material. Used extensively in all types of 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.graphite.description = Mineralized carbon, used for ammunition and electrical insulation. -item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. -item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production. -item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. -item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. -item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. -item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition. -item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. -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 = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel. -item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised. -item.pyratite.description = An extremely flammable substance used in incendiary weapons. -liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing. -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 = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon. -liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant. +item.copper.description = Yksinkertaisin rakennemateriaali. Käytetään laajalti kaikenlaisissa palikoissa. +item.copper.details = Kupari. Epänormaalin yleinen metalli Serpulolla. Vahvistamattomana rakenteellisesti heikko. +item.lead.description = Yksinkertainen aloitusmateriaali. Käytetään paljon elektroniikassa ja nesteensiirtopalikoissa. +item.lead.details = Tiheä. Reagoimaton. Laajalti käytetty akuissa.\nHuomio: Todennäköisesti myrkyllistä biologisille elämänmuodoille. Ei sillä, että niitä olisi täällä paljon jäljellä. +item.metaglass.description = Supervahva lasiyhdiste. Laajalti käytetty nesteiden siirtoon ja varastointiin. +item.graphite.description = Mineralisoitunutta hiiltä, jota käytetään ammuksena ja sähköeristeenä. +item.sand.description = Yleinen materiaali, jota käytetään paljon sulatuksessa, sekä seostamisessa, että juoksutteena. +item.coal.description = Fossilisoitunutta kasviainesta, muodostunut kauan ennen kylvötapahtumaa. Käytetään runsaasti polttoaineena ja resurssien tuotannossa. +item.coal.details = Vaikuttaa olevan fossilisoitunutta kasviainesta, muodostunut kauan ennen kylvötapahtumaa. +item.titanium.description = Harvinainen superkevyt metalli, jota käytetään paljolti nesteensiirtoon, poriin ja ilma-aluksiin. +item.thorium.description = Tiheä, radioaktiivinen metalli, käytetty rakenteellisena tukena ja ydinpolttoaineena. +item.scrap.description = Jäljelle jääneitä rippeitä vanhoista rakennuksista ja yksiköistä. Sisältää pieniä määriä monia eri metalleja. +item.scrap.details = Jäljelle jääneitä rippeitä vanhoista rakennuksista ja yksiköistä. +item.silicon.description = Äärimmäisen hyödyllinen puolijohde. Käytetään aurinkopaneeleissa, monimutkaisessa elektroniikassa ja hakeutuvana ammuksena tykeissä. +item.plastanium.description = Kevyt ja taipuisa materiaali, jota käytetään kehittyneissä ilma-aluksissa sirpaleammuksissa. +item.phase-fabric.description = Lähes painoton aine, jota käytetään kehittyneessä elektroniikassa ja itsekorjautuvassa teknologiassa. +item.surge-alloy.description = Kehittynyt seos, jolla on ainutlaatuisia sähköisiä ominaisuuksia. +item.spore-pod.description = Synteettisistä itiöistä koostuva palko, joka on syntetisoitu ilmakehän tiivistymistä teollisuuden tarkoituksiin. Käytetään öljyn valmistamisessa, räjähteissä ja polttoaineissa. +item.spore-pod.details = Itiöt. Todennäköisesti synteettinen elämänmuoto. Tuottavat kaasuja, jotka ovat myrkyllisiä muulle biologiselle elämälle. Extremely invasive. Highly flammable in certain conditions. +item.blast-compound.description = Epävakaa yhdiste, jota käytetään pommeissa ja räjähteissä. Syntetisoitu itiöpaloista ja muista räjähdysherkistä aineista. Käyttöä polttoaineena ei suositella. +item.pyratite.description = Äärimmäisen syttyvä aine, jota käytetään tulipaloja aiheuttavissa aseissa. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. +liquid.water.description = Hyödyllisin neste. Yleisesti käytetty koneiden viilentämiseen ja jätteiden prosessointiin. +liquid.slag.description = Monia erilaisia sulia metalleja sekoitettuna yhdeksi seokseksi. Voidaan erottaa mineraaliainesosiinsa tai suihkuttaa vihollisyksiköihin aseena. +liquid.oil.description = Kehittyneessä materiaalituotannossa käytetty neste. Voidaan muuttaa hiileksi tai ruiskuttaa ja sytyttää aseena. +liquid.cryofluid.description = Reagoimaton, ruostuttamaton neste, jota valmistetaan vedestä ja titaanista. Omaa äärimmäisen korkean lämpökapasiteetin. Käytetään paljolti jäähdytysnesteenä. +liquid.arkycite.description = Käytetään kemiallisissa reaktioissa sähköntuotantoa ja materiaalisynteesiä varten. +liquid.ozone.description = Käytetään hapettamisaineena aineentuotannossa ja polttoaineena. Kohtalaisen räjähdysherkkää. +liquid.hydrogen.description = Käytetään resurssien louhinnassa, yksikönväsäyksessä ja rakennelmien korjauksessa. Tulenarkaa. +liquid.cyanogen.description = Käytetään ampumatarvikkeisiin, edistyneiden yksiköiden valmistamiseen ja monenlaisiin reaktioihin edistyneissä palikoissa. Hyvin tulenarkaa. +liquid.nitrogen.description = Käytetään resurssien louhinnassa, kaasunluonnissa and yksikönväsäyksessä. Reagoimaton. +liquid.neoplasm.description = Syöpäreaktorin vaarallinen luonnontieteellinen sivutuote. Leviää vikkelästi koskemiinsa märkiin palikoihin, vahingoittaen niitä. Tahmeaa. +liquid.neoplasm.details = Kasvain. Hallitsematon, vinhasti jakautuvien synteettisten solujen liejumainen massa. Kestää lämpöä. Äärimmäisen vaarallinen millekään rakennukselle jossa on tippaakaan vettä.\n\nLiian monimutkainen ja epävakaa normitutkimukselle. Mahdollisia käyttötarkoituksia ei tunneta. Suositellaan polttamaan kuona-altaassa. +block.derelict = \uf77e [lightgray]Hylky +block.armored-conveyor.description = Siirtää tavaroita samalla nopeudella kuin titaaniliukuhihna, mutta on haarniskoidumpi. Ei hyväksy sisääntuloa sivuilta miltään muulta, kuin toisilta liukuhihnoilta. +block.illuminator.description = Pieni, kompakti ja säädettävä valonlähde. Tarvitsee energiaa toimiakseen. -block.message.description = Stores a message. Used for communication between allies. -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 pure coal. Produces silicon. -block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run. -block.plastanium-compressor.description = Produces plastanium from oil and titanium. -block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function. -block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. -block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage. -block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce 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 wave turrets. -block.separator.description = Separates slag into its mineral components. Outputs the cooled result. -block.spore-press.description = Compresses spore pods under extreme pressure to synthesize oil. -block.pulverizer.description = Crushes scrap into fine sand. -block.coal-centrifuge.description = Solidifes oil into chunks of coal. -block.incinerator.description = Vaporizes any excess item or liquid it receives. -block.power-void.description = Voids all power inputted into it. Sandbox only. -block.power-source.description = Infinitely outputs power. Sandbox only. -block.item-source.description = Infinitely outputs items. Sandbox only. -block.item-void.description = Destroys any items. Sandbox only. -block.liquid-source.description = Infinitely outputs liquids. Sandbox only. -block.liquid-void.description = Removes any liquids. Sandbox only. -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.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.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. -block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. -block.thorium-wall.description = A strong defensive block.\nDecent protection from enemies. -block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles. -block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact. -block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles. -block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly. -block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles. -block.door.description = A small door. Can be opened or closed by tapping. -block.door-large.description = A large door. Can be opened and closed by tapping.\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 = An upgraded version of the Mender. Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. -block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. -block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric can be used to increase shield size. -block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy. -block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into blocks. Rotatable. -block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. -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 = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building. -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.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. -block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[] -block.distributor.description = An advanced router. Splits items to up to 7 other directions equally. -block.overflow-gate.description = A combination splitter and router. Only outputs to the left and right if the front path is blocked. -block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. -block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate. -block.mechanical-pump.description = A cheap pump with slow output, but no power consumption. -block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power. -block.thermal-pump.description = The ultimate pump. -block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits. -block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits. -block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. -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.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks. -block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. -block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. -block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles. -block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. -block.power-node-large.description = An advanced power node with greater range and more connections. -block.surge-tower.description = An extremely long-range power node with fewer available connections. -block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. -block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit. -block.battery-large.description = Stores much more power than a regular battery. -block.combustion-generator.description = Generates power by burning flammable materials, such as coal. -block.thermal-generator.description = Generates power when placed in hot locations. -block.steam-generator.description = An advanced combustion generator. More efficient, but requires additional water for generating steam. -block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. -block.rtg-generator.description = A simple, reliable generator. Uses the heat of decaying radioactive compounds to produce energy at a slow rate. -block.solar-panel.description = Provides a small amount of power from the sun. -block.solar-panel-large.description = A significantly more efficient version of the standard solar panel. -block.thorium-reactor.description = Generates significant amounts of power from 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.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources. -block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill. -block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium. -block.blast-drill.description = The ultimate drill. Requires large amounts of power. -block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. -block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods. -block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. -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-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. -block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault. -block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container. -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. -block.launch-pad.description = Launches batches of items without any need for a core launch. -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 = An essential 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, long-range artillery turret. -block.wave.description = A medium-sized turret. Shoots streams of liquid at enemies. Automatically extinguishes fires when supplied with water. -block.lancer.description = A medium-sized anti-ground laser turret. Charges and fires powerful beams of energy. -block.arc.description = A small close-range electric turret. Fires arcs of electricity at enemies. -block.swarmer.description = A medium-sized missile turret. Attacks both air and ground enemies. Fires homing missiles. -block.salvo.description = A larger, more advanced version of the Duo turret. Fires quick salvos of bullets at the enemy. -block.fuse.description = A large, close-range energy turret. Fires three piercing beams at nearby enemies. -block.ripple.description = An extremely powerful artillery turret. Shoots clusters of shells at enemies over long distances. -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.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. -block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.message.description = Varastoi viestin. Käytetään viestintään liittolaisten välillä. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. +block.graphite-press.description = Kompressoi hiilenpaloja puhtaiksi grafiittilevyiksi. +block.multi-press.description = Päivitetty versio grafiittipuristimesta. Hyödyntää vettä ja energiaa hiilen prosessoimiseen grafiitiksi nopeasti ja tehokkaasti. +block.silicon-smelter.description = Pelkistää hiekkaa puhtaalla hiilellä. Tuottaa piitä. +block.kiln.description = Sulattaa hiekkaa ja lyijyä metalasina tunnetuksi yhdisteeksi. Tarvitsee pieniä määriä energiaa toimiakseen. +block.plastanium-compressor.description = Tuottaa plastaniumia öljystä ja titaanista. +block.phase-weaver.description = Syntetisoi kuitua radioaktiivisesta toriumista ja hiekasta. Tarvitsee massiivisia määriä energiaa toimiakseen. +block.surge-smelter.description = Yhdistää titaania, lyijyä, piitä ja kuparia jänniteseokseksi. +block.cryofluid-mixer.description = Sekoittaa vettä ja hienoa titaanipulveria kryonesteeksi. Olennainen toriumreaktorin käytölle. +block.blast-mixer.description = Murskaa ja sekoittaa itiörykelmiä pyratiitin kanssa räjähdeyhdisteeksi. +block.pyratite-mixer.description = Sekoittaa hiiltä, lyijyä ja hiekkaa hyvin tulenaraksi pyratiitiksi. +block.melter.description = Sulattaa romua kuonaksi jatkojalostusta varten tai käytettäväksi Aalto-tykeissä. +block.separator.description = Jakaa kuonan mineraaliosiinsa. Tuottaa jäähtyneen tuloksen. +block.spore-press.description = Tuottaa öljyä puristamalla itiöpalkoja äärimmäisessä paineessa. +block.pulverizer.description = Murskaa romua hienoksi hiekaksi. +block.coal-centrifuge.description = Kiinteyttää öljyä hiilipaloiksi. +block.incinerator.description = Höyrystää kaiken tavaran ja nesteen, joka sinne syötetään. +block.power-void.description = Tyhjentää kaiken energian, joka siihen syötetään. Vain hiekkalaatikko. +block.power-source.description = Tuottaa äärettömästi energiaa. Vain hiekkalaatikko. +block.item-source.description = Tuottaa äärettömästi tavaroita. Vain hiekkalaatikko. +block.item-void.description = Tuhoaa kaikki syötetyt tavarat. Vain hiekkalaatikko. +block.liquid-source.description = Tuottaa äärettömästi nesteitä. Vain hiekkalaatikko. +block.liquid-void.description = Tuhoaa kaikki syötetyt nesteet. Vain hiekkalaatikko. +block.payload-source.description = Tuottaa äärettömästi lastia. Vain hiekkalaatikko. +block.payload-void.description = Tuhoaa kaiken syötetyn lastin. Vain hiekkalaatikko. +block.copper-wall.description = Halpa puolustuspalikka.\nHyödyllinen ytimen ja tykkien puolustamiseen ensimmäisten muutaman tason aikana. +block.copper-wall-large.description = Halpa puolustuspalikka.\nHyödyllinen ytimen ja tykkien puolustamiseen ensimmäisten muutaman tason aikana.\nKattaa useita laattoja. +block.titanium-wall.description = Kohtalaisen vahva puolustuspalikka.\nAntaa kohtuullisen suojan vihollisilta. +block.titanium-wall-large.description = Kohtalaisen vahva puolustuspalikka.\nAntaa kohtuullisen suojan vihollisilta.\nKattaa useita laattoja. +block.plastanium-wall.description = Omalaatuinen muuri, joka absorboi sähköpurkauksia ja estää automaattiset sähkötolppayhdistykset. +block.plastanium-wall-large.description = Omalaatuinen muuri, joka absorboi sähköpurkauksia ja estää automaattiset sähkötolppayhdistykset.\nKattaa useita laattoja. +block.thorium-wall.description = Vahva puolustuspalikka.\nSuojaa vihollisilta kelvollisesti. +block.thorium-wall-large.description = Vahva puolustuspalikka.\nSuojaa vihollisilta kelvollisesti.\nKattaa useita laattoja. +block.phase-wall.description = Muuri, joka on päällystetty erityisellä kiihtokuitupohjaisella heijastavalla yhdisteellä. Torjuu useimmat ammukset näiden törmätessä. +block.phase-wall-large.description = Muuri, joka on päällystetty erityisellä kiihtokuitupohjaisella heijastavalla yhdisteellä. Torjuu useimmat ammukset näiden törmätessä.\nKattaa useita laattoja. +block.surge-wall.description = Äärimmäisen kestävä puolustava palikka.\nVaraa jännitteen ammusten iskeytyessä, vapauttaen sen satunnaisesti. +block.surge-wall-large.description = Äärimmäisen kestävä puolustava palikka.\nVaraa jännitteen ammusten iskeytyessä, vapauttaen sen satunnaisesti.\nKattaa useita laattoja. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Pieni ovi. Voidaan avata ja sulkea painamalla. +block.door-large.description = Suuri ovi. Voidaan avata ja sulkea painamalla.\nKattaa useita laattoja. +block.mender.description = Korjaa läheisiä palikoita ajoittain. Pitää puolustuksia korjattuna tasojen aikana ja välillä.\nKäyttää valinnaisesti piitä tehostaakseen kantamaa ja tehoa. +block.mend-projector.description = Päivitetty versio korjaajasta. Korjaa palikoita läheisyydessään.\nKäyttää vaihtoehtoisesti kiihtokuitua tehostaakseen kantamaa ja tehoa. +block.overdrive-projector.description = Nostaa läheisten rakennusten toimintanopeutta.\nKäyttää vaihtoehtoisesti kiihtokuitua kantaman ja tehon nostamiseen. +block.force-projector.description = Luo ympärilleen kuusikulmaisen voimakentän suojaten kentän sisällä olevia rakennuksia ja yksiköitä vahingolta.\nYlikuumenee, jos joutuu kestämään liian suurta vahinkoa. Käyttää valinnaisesti jäähdytysnestettä ylikuumenemisen estämiseksi. Kilven kokoa voi kasvattaa käyttämällä kiihtokuitua. +block.shock-mine.description = Vahingoittaa päällensa astuvia vihollisia. Vihollisille lähes näkymätön. +block.conveyor.description = Yksinkertainen tavaransiirtopalikka. Siirtää tavaroita eteenpäin ja syöttää ne automaattisesti rakennuksiin. Käännettävä. +block.titanium-conveyor.description = Kehittynyt tavaransiirtopalikka. Siirtää tavaroita nopeammin kuin perusliukuhihna. +block.plastanium-conveyor.description = Siirtää tavaroita kimppuina.\nOttaa tavaroita takaosasta, ja syöttää ne kolmeen suuntaan etuosasta. +block.junction.description = Toimii kahden leikkaavan liukuhihnan välisenä siltana. Hyödyllinen tilanteissa, joissa kaksi erilaista liukuhihnaa siirtävät eri materiaaleja eri paikkoihin. +block.bridge-conveyor.description = Kehittynyt tavaransiirtopalikka. Mahdollistaa tavaroiden siirtämisen enintäään kolmen laatan päähän minkä tahansa maaston tai rakennuksen yli. +block.phase-conveyor.description = Kehittynyt tavaransiirtopalikka. Käyttää energiaa teleportatakseen tavaroita yhdistettyyn kiihtokuituliukuhihnaan useiden laattojen yli. +block.sorter.description = Lajittelee tavaroita. Jos tavara vastaa valintaa, se siirtyy eteenpäin. Muussa tapauksessa tavara siirtyy vasemmalle tai oikealle. +block.inverted-sorter.description = Käsittelee tavaroita normaalin lajittelijan tavoin, mutta syöttääkin valitut tavarat sivuille. +block.router.description = Ottaa vastaan tavaroita ja syöttää ne tasapuolisesti enintään kolmeen eri suuntaan. Hyödyllinen materiaalien jakamiseen yhdestä lähteestä moneen kohteeseen.\n\n[scarlet]Älä koskaan käytä tehdassyötteiden vieressä, koska tehtaiden ulostulo tulee jumittamaan ne.[] +block.router.details = Välttämätön paha. Tehdassyötteiden vieressä käyttämistä ei suositella, koska tehtaiden ulostulo jumittaa ne. +block.distributor.description = Kehittynyt reititin. Jakaa tavarat tasaisesti enintään seitsemään eri suuntaan. +block.overflow-gate.description = Yhdistetty puolittaja ja reititin. Syöttää sivuille vain, jos etu-ulostulo on estetty. +block.underflow-gate.description = Ylivuotoportin vastakohta. Syöttää eteen, jos ulostulot sivuille ovat estetty. +block.mass-driver.description = Äärimmäinen tavaransiirtopalikka. Kerää useita tavaroita ja ampuu ne sitten suuren matkan yli toiseen massalinkoon. Tarvitsee energiaa toimiakseen. +block.mechanical-pump.description = Halpa pumppu hitaalla ulostulolla, mutta ilman energiantarvetta. +block.rotary-pump.description = Kehittyneempi pumppu, pumppaa enemmän vettä mutta vaatii enemmän virtaa. +block.impulse-pump.description = Ultimaattinen pumppu. +block.conduit.description = Yksinkertainen nesteensiirtopalikka. Siirtää nesteitä eteenpäin. Käytetään pumppujen ja muiden putkien yhteydessä. +block.pulse-conduit.description = Kehittynyt nesteensiirtopalikka. Kuljettaa nesteitä nopeammin ja varastoi enemmän, kuin normaali putki. +block.plated-conduit.description = Siirtää nesteitä samalla nopeudella, kuin pulssiputki, mutta omaa paremman suojauksen. Ei hyväksy syötteitä sivuilta miltään paitsi toisilta putkilta.\nVuotaa vähemmän. +block.liquid-router.description = Ottaa nesteitä vastaan yhdestä suunnasta ja syöttää ne tasaisesti enintään kolmeen toiseen suuntaan. Voi myös varastoida jonkin verran nestettä. Hyödyllinen nesteiden jakamiseen yhdestä lähteestä moneen kohteeseen. +block.liquid-container.description = Varastoi huomattavan määrän nestettä. Syöttää nestettä kaikille sivuille, samaan tapaan, kuin nestereititin. +block.liquid-tank.description = Varastoi suuren määrän nestettä. Käytä puskurien luomiseen tilanteissa, joissa kulutus ei ole vakio, tai varmuusvarana elintärkeiden palikkojen jäähdytyksessä. +block.liquid-junction.description = Toimii siltana kahdelle risteävälle putkelle. Hyödyllinen tilanteissa, joissa kaksi eri putkea kuljettavat eri nesteitä eri paikkoihin. +block.bridge-conduit.description = Kehittynyt nesteensiirtopalikka. Mahdollistaa nesteiden siirtämisen enintäään kolmen laatan päähän minkä tahansa maaston tai rakennuksen yli. +block.phase-conduit.description = Kehittynyt nesteensiirtopalikka. Käyttää energiaa teleportatakseen nesteitä yhdistettyyn kiihtokuituliukuhihnaan useiden laattojen yli. +block.power-node.description = Siirtää energiaa yhdistettyihin tolppiin. Tolppa vastaanottaa tai luovuttaa energiaa mihin tahansa viereiseen palikkaan. +block.power-node-large.description = Kehittynyt sähkötolppa suuremmalla kantamalla ja suuremmalla yhdistysten enimmäismäärällä. +block.surge-tower.description = Erittäin pitkän kantaman sähkötolppa pienemmällä yhdistysten enimmäismäärä. +block.diode.description = Akkuenergia voi virrata tämän palikan läpi vain yhteen suuntaan, mutta vain, jos toisella puolella on vähemmän energiaa varastoituna. +block.battery.description = Varastoi virtaa puskurina, kun energiaa on yli kulutuksen. Luovuttaa virtaa, kun energian kulutus on suurempaa, kuin tuotto. +block.battery-large.description = Varastoi paljon enemmän energiaa, kuin tavallinen paristo. +block.combustion-generator.description = Tuottaa energiaa polttamalla palavia materiaaleja, kuten hiiltä. +block.thermal-generator.description = Tuottaa energiaa, kun asetetaan kuumiin paikkoihin. +block.steam-generator.description = Kehittynyt aggregaatti. Tehokkaampi mutta vaatii lisäksi vettä höyryn tuottamiseen. +block.differential-generator.description = Tuottaa suuria määriä energiaa. Hyödyntää lämpötilaeroa kryonesteen ja palavan rikkikiisun välillä. +block.rtg-generator.description = Yksinkertainenja luotettava generaattori. Käyttää hajoavien radioaktiivisten yhdisteiden tuottamaa lämpöä tuottaakseen energiaa hitaalla tahdilla. +block.solar-panel.description = Tuottaa pieniä määriä energiaa auringosta. +block.solar-panel-large.description = Huomattavasti tehokkaampi versio tavallisesta aurinkopaneelista. +block.thorium-reactor.description = Tuottaa merkittäviä määriä energiaa toriumista. Vaatii jatkuvaa jäähdytystä. Räjähtää voimakkaasti, jos jäähdytysnestettä ei tarjota riittävästi. Energiantuotto riippuu täysinäisyydestä perusenergiantuoton merkitessä täysinäisen reaktorin tuottoa. +block.impact-reactor.description = Kehittynyt generaattori, joka voi tuottaa valtavia määriä energiaa huipputeholla. Tarvitsee huomattavan energiasyötön prosessin käynnistämiseksi. +block.mechanical-drill.description = Halpa pora. Asetettuna oikeille laatoille, se tuottaa tavaroita loputtomasti hitaalla nopeudella. Pystyy kaivamaan vain perusresursseja. +block.pneumatic-drill.description = Paranneltu pora, joka pystyy kaivamaan titaania. Kaivaa nopeammin, kuin mekaaninen pora. +block.laser-drill.description = Mahdollistaa vieläkin nopeamman kaivamisen laserteknologian avulla, mutta tarvitsee energiaa. Kykenee kaivamaan toriumia. +block.blast-drill.description = Ultimaattinen pora, tarvitsee paljon sähköä. +block.water-extractor.description = Kerää pohjavettä. Käytetään tilanteissa, joissa pintavettä ei ole saatavilla. +block.cultivator.description = Kasvattaa ilmakehän pieniä itiötiivistymiä teollisuusvalmiiksi paloiksi. +block.cultivator.details = Pelastettua teknologiaa. Käytetään massiivisten määrien biomassaa tuottamiseen mahdollisimman tehokkaasti. Todennäköisesti nyt Serpuloa peittävien itiöiden alkuperäinen hautomo. +block.oil-extractor.description = Käyttää suuria määriä energiaa, hiekkaa ja vettä öljyn poraamiseen. +block.core-shard.description = Ydinkapselin ensimmäinen iteraatio. Tuhoutuessa kaikki yhteydet alueeseen menetetään. Älä anna tämän tapahtua. +block.core-shard.details = Ensimmäinen iteraatio. Kompakti. Itsejäljentävä. Varustettu kertakäyttöisellä laukaisumoottorilla. Ei ole suunniteltu planeettojenvälistä matkustusta varten. +block.core-foundation.description = Ytimen toinen iteraatio. Paremmin haarniskoitu. Varastoi enemmän resursseja. +block.core-foundation.details = Toinen iteraatio. +block.core-nucleus.description = Ydinkapselin kolmas ja viimeinen iteraatio. Äärimmäisen hyvin panssaroitu. Varastoi massiivisia määriä resursseja. +block.core-nucleus.details = Kolmas ja viimeinen iteraatio. +block.vault.description = Varastoi suuren määrän jokaista tavaratyyppiä. Purkajapalikkaa voi tavaroiden palauttamiseen holvista. +block.container.description = Varastoi pienen määrän jokaista tavaratyyppiä. Purkajapalikkaa voi tavaroiden palauttamiseen säiliöstä. +block.unloader.description = Purkaa tavaroita säiliöstä, holvista tai ytimestä liukuhihnalle tai suoraan viereiseen palikkaan. Purettavan tavaran tyyppi voidaan vaihtaa painamalla. +block.launch-pad.description = Laukaisee tavarajoukkoja ilman tarvetta ytimen laukaisulle. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = Pieni ja halpa tykki, hyvä maavihollisia vastaan. + +block.scatter.description = Olennainen tykki ilma-aluksia vastaan. Ampuu lyijy- tai romusirpalerykelmiä vihollisjoukkoihin. +block.scorch.description = Polttaa läheisiä vihollisen maayksiköitä. Hyvin tehokas lähikantamalla. +block.hail.description = Pieni pitkän kantaman tykistötorni. +block.wave.description = Keskikokoinen tykki. Ampuu nestesuihkuja vihollisia kohti. Sammuttaa tulipaloja automaattisesti vedellä ladattuna. +block.lancer.description = Keskikokoinen lasertykki maayksiköitä vastaan. Lataa ja ampuu voimakkaita energiasäteitä. +block.arc.description = Pieni lyhyen kantaman sähkötykki. Ampuu valokaaria vihollisiin. +block.swarmer.description = Keskikokoinen ohjustykki. Hyökkää sekä ilma- että maayksiköihin. Ampuu hakeutuvia ohjuksia. +block.salvo.description = Suurempi ja kehittyneempi versio Duo-tykistä. Ampuu nopeita luotisarjoja vihollisiin. +block.fuse.description = Suuri lähikantaman energiatykki. Ampuu kolme lävistävää sädettä läheisiin vihollisiin. +block.ripple.description = Äärimmäisen voimakas tykistötorni. Ampuu kranaattirykelmiä vihollisiin pitkällä etäisyydellä. +block.cyclone.description = Suuri tykki sekä ilma- että maajoukkoja vastaan. Ampuu räjähtäviä sirpaleammuksia läheisiin vihollisiin. +block.spectre.description = Valtava kaksipiippuinen tykki. Ampuu suuria haarniskan läpäiseviä ammuksia ilma- ja maakohteisiin. +block.meltdown.description = Massiivinen laserkanuuna. Lataa ja ampuu pitkäkestoisen lasersäteen lähistöllä olevia vihollisia kohti. Tarvitsee jäähdytystä toimiakseen. +block.foreshadow.description = Ampuu pitkällä kantamalla suuren ammuksen yksittäiskohteeseen. Priorisoi vihollisia korkeimmalla elämäpisteiden enimmäismäärä. +block.repair-point.description = Korjaa jatkuvasti lähintä vahingoittunutta yksikköä lähellään. +block.segment.description = Vahingoittaa ja tuhoaa lähestyviä ammuksia. Ei hyökkää laserammuksiin. +block.parallax.description = Ampuu vetosäteen, vetää ilmakohteita sisäänpäin vahingoittaen niitä samalla. +block.tsunami.description = Ampuu voimakkaita nestesuihkuja vihollisia kohti. Sammuttaa tulipaloja automaattisesti vedellä ladattuna. +block.silicon-crucible.description = Jalostaa piitä hiekasta ja hiilestä käyttäen rikkikiisua ylimääräisenä lämmönlähteenä. Tehokkaampi kuumissa paikoissa. +block.disassembler.description = Erottelee kuonaa pieniksi määriksi harvinaisia mineraaliaineksia matalalla tehokkuudella. Voi tuottaa toriumia. +block.overdrive-dome.description = Nostaa läheisten rakennusten toimintanopeutta. Tarvitsee toimiakseen kiihtokuitua ja piitä. +block.payload-conveyor.description = Siirtää suuria lasteja, kuten joukkoja tehtaista. +block.payload-router.description = Jakaa sisääntulolastin kolmeen ulostulosuuntaan. +block.ground-factory.description = Tuottaa maayksiköitä. Tuotettuja yksiköitä voi käyttää suoraan tai siirtää jälleenrakentajiin paranneltavaksi. +block.air-factory.description = Tuottaa ilmayksiköitä. Tuotettuja yksiköitä voi käyttää suoraan tai siirtää jälleenrakentajiin paranneltavaksi. +block.naval-factory.description = Tuottaa laivayksiköitä. Tuotettuja yksiköitä voi käyttää suoraan tai siirtää jälleenrakentajiin paranneltavaksi. +block.additive-reconstructor.description = Päivittää syötetyt joukot toiselle tasolle. +block.multiplicative-reconstructor.description = Päivittää syötetyt joukot kolmannelle tasolle. +block.exponential-reconstructor.description = Päivittää syötetyt joukot neljännelle tasolle. +block.tetrative-reconstructor.description = Päivittää syötetyt joukot viidennelle ja viimeiselle tasolle. +block.switch.description = Vaihdettava kytkin. Tilaa voi lukea ja hallita prosessoreilla. +block.micro-processor.description = Ajaa sarjan logiikkaohjeita silmukassa. Voidaan käyttä yksiköiden ja rakennusten hallintaan. +block.logic-processor.description = Ajaa sarjan logiikkaohjeita silmukassa. Voidaan käyttä yksiköiden ja rakennusten hallintaan. Nopeampi kuin mikroprosessori. +block.hyper-processor.description = Ajaa sarjan logiikkaohjeita silmukassa. Voidaan käyttä yksiköiden ja rakennusten hallintaan. Nopeampi kuin logiikkaprosessori. +block.memory-cell.description = Varastoi tietoa prosessorille. +block.memory-bank.description = Varastoi tietoa prosessorille. Suuri kapasiteetti. +block.logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista. +block.large-logic-display.description = Näyttää mielivaltaista ggrafiikkaa prosessorista. +block.interplanetary-accelerator.description = Massiivinen sähkömagneettinen raidetykkitorni. Kiihdyttää ytimiä pakonopeuteen interplanetaarista leviämistä varten. +block.repair-turret.description = Korjaa jatkuvasti lähintä vahingoittunutta yksikköä lähellään. Käyttää vaihtoehtoisesti jäähdytysnestettä. +block.core-bastion.description = Tukikohdan ydin. Panssaroitu. Mikäli tuhottu, sektori on menetetty. +block.core-citadel.description = Tukikohdan ydin. Tosi hyvin panssaroitu. Varastoi enemmän tavaraa kuin Linnaydin. +block.core-acropolis.description = Tukikohdan ydin. Hemmetin hyvin panssaroitu. Varastoi enemmän tavaraa kuin Sitadelliydin. +block.breach.description = Ampuu läpäisykykyistä beryllium- tai volfhardiammusta vihollista kohti. +block.diffuse.description = Purskaisee ammuksia leveässä kartiomuodossa. Työntää vihollisia taaksepäin. +block.sublimate.description = Suihkuttaa liekkejä vihollista päin. Läpäisee panssarit. +block.titan.description = Ampuu jättimäisen tykistökranaatin maavihollisia kohti. Vaatii vetyä. +block.afflict.description = Ampuu jättimäisen, ladatun sirpalepallon. Vaatii lämmitystä. +block.disperse.description = Pursketulittaa ilmavihollisia. +block.lustre.description = Ampuu hidasta laseria vihollisia kohti. +block.scathe.description = Ampuu voimakkaan ohjuksen maavihollisia kohti astetta pidempien matkojen päästä. +block.smite.description = Pursketulittaa läpäisykykyisiä ja salamoivia luoteja. +block.malign.description = Rumputulittaa itseohjautuvia laserpanoksia vihollista kohti. Tarvitsee laajakantoista lämmitystä. +block.silicon-arc-furnace.description = Jalostaa piitä hiekasta ja grafiitista. +block.oxidation-chamber.description = Vääntää berylliumista ja otsonista oksidia. Hohkaa lämpöä sivutuotteena. +block.electric-heater.description = Lämmittää päinkohdistettuja palikoita. Vaatii hemmetisti virtaa. +block.slag-heater.description = Lämmittää päinkohdistettuja palikoita. Vaatii kuonaa. +block.phase-heater.description = Lämmittää päinkohdistettuja palikoita. Vaatii kiihtokuitua. +block.heat-redirector.description = Vaihtaa kertyneen lämmön suunnan toisiin palikoihin. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Muuttaa veden vedyksi ja otsonikaasuksi. +block.atmospheric-concentrator.description = Kerää typpeä ilmakehästä. Vaatii lämpöä. +block.surge-crucible.description = Muodostaa ylijänniteseosta piistä ja kuonasta. Vaatii lämpöä. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Ampuu normaaleja ammuksia kaikkiin läheisiin vihollisiin. +unit.mace.description = Ampuu liekkisuihkuja kaikkiin läheisiin vihollisiin. +unit.fortress.description = Ampuu pitkän kantaman ammuksia maakohteisiin. +unit.scepter.description = Ampuu ryöpyn varattuja ammuksia kaikkiin läheisiin vihollisiin. +unit.reign.description = Ampuu ryöpyn valtavia läpäiseviä ammuksia kaikkiin läheisiin vihollisiin. +unit.nova.description = Ampuu laservasamoita, jotka vahingoittavat vihollisia ja korjaavat liittoutuneita rakennuksia. Kykenee lentämään. +unit.pulsar.description = Ampuu valokaaria, jotka vahingoittavat vihollisia ja korjaavat liittoutuneita rakennuksia. Kykenee lentämään. +unit.quasar.description = Ampuu lävistäviä lasersäteitä, jotka vahingoittavat vihollisia ja korjaavat liittoutuneita rakennuksia. Kykenee lentämään. Suojattu kilvellä. +unit.vela.description = Ampuu suuren jatkuvan lasersäteen, joka vahingoittaa vihollisia, aiheuttaa tulipaloja ja korjaa liittoutuneita rakennuksia. Kykenee lentämään. +unit.corvus.description = Ampuu valtavan laserpurkauksen, joka vahingoittaa vihollisia ja korjaa liittoutuneita rakennuksia. Voi kulkea useimpien maastojen yli. +unit.crawler.description = Juoksee vihollisia päin ja räjähtää aiheuttaen suuren räjähdyksen. +unit.atrax.description = Ampuu heikentäviä kuonapalloja maakohteisiin. Voi kulkea useimpien maastojen yli. +unit.spiroct.description = Ampuu heikentäviä lasersäteitä vihollisiin, korjaten samalla itseään. Voi kulkea useimpien maastojen yli. +unit.arkyid.description = Ampuu suuria heikentäviä lasersäteitä vihollisiin, korjaten samalla itseään. Voi kulkea useimpien maastojen yli. +unit.toxopid.description = Ampuu suuria sähköisiä sirpalekranaatteja ja lävistäviä lasersäteitä vihollisiin. Voi kulkea useimpien maastojen yli. +unit.flare.description = Ampuu tavallisia ammuksia läheisiin maakohteisiin. +unit.horizon.description = Pudottaa pommirykelmiä maakohteisiin. +unit.zenith.description = Ampuu ohjussarjoja kaikkiin läheisiin vihollisiin. +unit.antumbra.description = Ampuu ryöpyn ammuksia kaikkiin läheisiin vihollisiin. +unit.eclipse.description = Ampuu kaksi lävistävää lasersädettä ja ryöpyn räjähtäviä ammuksia läheisiin vihollisiin. +unit.mono.description = Kaivaa automaattisesti kuparia ja lyijyä, ja sijoittaa ne ytimeen. +unit.poly.description = Jälleenrakentaa tuhottuja rakennuksia ja auttaa muita yksiköitä raketamaan automaattisesti. +unit.mega.description = Korjaa vahingoittuneita rakennuksia automaattisesti. Pystyy kantamaan palikoita ja pieniä maayksiköitä. +unit.quad.description = Pudottaa maakohteisiin suuria pommeja, jotka korjaavat liittoutuneita rakennuksia ja vahingoitt vihollisia. Kykenee kantamaan keskikokoisia maayksiköitä. +unit.oct.description = Suojaa läheisiä liittolaisia regeneroituvalla kilvellään. Pystyy kantamaan useimpia maayksiköitä. +unit.risso.description = Ampuu ryöpyn ohjuksia ja ammuksia kaikkiin läheisiin vihollisiin. +unit.minke.description = Ampuu kranaatteja ja normaaleja ammuksia läheisiin maakohteisiin. +unit.bryde.description = Ampuu pitkän kantaman tykistötulta ja ohjuksia vihollisiin. +unit.sei.description = Ampuu ryöpyn ohjuksia ja haarniskan läpäiseviä ammuksia vihollisiin. +unit.omura.description = Ampuu pitkän kantaman lävistävän raidetykin vasaman vihollisiin. Tuottaa Flare-yksiköitä. +unit.alpha.description = Puolustaa Siru-ydintä vihollisilta. Rakentaa rakennuksia. +unit.beta.description = Puolustaa Pohjaus-ydintä vihollisilta. Rakentaa rakennuksia. +unit.gamma.description = Puolustaa Tuma-ydintä vihollisilta. Rakentaa rakennuksia. +unit.retusa.description = Ampuu hakeutuvia torpedoja läheisiin vihollisiin. Korjaa liittoutuneita yksiköitä. +unit.oxynoe.description = Ampuu rakennuksia korjaavia liekkisuihkuja läheisiin vihollisiin. Hyökkää läheisiin vihollisammuksiin paikanpuolustustykillä. +unit.cyerce.description = Ampuu hakeutuvia ohjuskimppuja vihollisiin. Korjaa liittoutuneita yksiköitä. +unit.aegires.description = Antaa sähköiskuja kaikille vihollisyksiköille ja -rakennuksille, jotka ovat sen energiakentän sisällä. Korjaa kaikkia liittolaisia. +unit.navanax.description = Ampuu räjähtäviä EMP-ammuksia tehden huomattavaa vahinkoa vihollisen sähköverkoille ja korjaten liittoutuneita rakennuksia. Sulattaa läheiset viholliset neljällä itsenäisellä lasertykillä. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Lue numero yhdistetystä muistisolusta. +lst.write = Kirjoita numero yhdistettyyn muistisoluun. +lst.print = Lisää tekstiä tekstipuskuriin.\nEi näytä mitään, kunnes [accent]Painosyötettä[] käytetään. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Lisää operaation piirtopuskuriin.\nEi näytä mitään, kunnes [accent]Piirtosyötettä[] käytetään. +lst.drawflush = Syöttää jonottavat [accent]Piirto[]-operaatiot näyttöön. +lst.printflush = Syöttää jonottavat [accent]Paino[]-operaatiot viestipalikkaan. +lst.getlink = Selvitä prosessorin linkki numerojärjestyksellä. Alkaa nollasta. +lst.control = Hallitsee rakennusta. +lst.radar = Paikantaa yksiköitä kantamallisen rakennuksen ympärillä. +lst.sensor = Selvitä rakennuksen tai yksikön data. +lst.set = Aseta muuttuja. +lst.operation = Suorita laskutoimitus 1-2 muuttujalla. +lst.end = Hyppää ohjepinon alkuun. +lst.wait = Odota tietty määrä sekunteja. +lst.stop = Halt execution of this processor. +lst.lookup = Etsi tavaran/nesteen/yksikön/palikan tyyppiä ID:n perusteella.\nKunkin tyypin kokonaislukumäärän voi selvittää argumentilla:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Hyppää ehdollisesti toiseen lauseeseen. +lst.unitbind = Sido tietyntyyppiseen yksikköön ja varastoi sen [accent]@unit[]-muuttujaan. +lst.unitcontrol = Hallitse sidottua yksikköä. +lst.unitradar = Paikanna yksikköjä sidotun yksikön ympäriltä. +lst.unitlocate = Paikanna tietyntyyppinen arvo/rakennus missä tahansa kartalla.\nTarvitsee sidotun joukon. +lst.getblock = Selvitä laattadata missä tahansa sijainnissa. +lst.setblock = Aseta laattadata missä tahansa sijainnissa. +lst.spawnunit = Luo joukko tietyssä sijainnissa. +lst.applystatus = Lisää tai poista statusefekti yksiköltä. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simuloi tason syntymistä mielivaltaisessa sijainnissa.\nEi vaikuta tasolaskuriin. +lst.explosion = Luo räjähdys tietyssä sijainnissa. +lst.setrate = Aseta prosessorin suoritusnopeus ohjeessa/sekunti. +lst.fetch = Etsi yksiköitä, ytimiä, pelaajia tai rakennuksia luettelon perusteella.\nLuettelo alkaa nollasta ja päättyy osiensa lukumäärän. +lst.packcolor = Pakkaa [0, 1] RGBA -komponentteja yhteen numeroon piirtämistä tai sääntöjen asettamista varten. +lst.setrule = Aseta pelisääntö. +lst.flushmessage = Näytä näytöllä viesti tekstipuskurista.\nOdottaa, kunnes edellinen viesti loppuu. +lst.cutscene = Hallitse pelaajan kameraa. +lst.setflag = Aseta globaali tunniste, jonka kaikki prosessorit voivat lukea. +lst.getflag = Tarkista, onko globaali tunniste asetettu. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Logiikan käyttö ei täällä ole sallittu yksikköjen tuottamisessa. +lenum.type = Rakennuksen/Yksikön tyyppi.\nEsim. jokaisesta reitittimestä tämä palauttaa [accent]@router[].\nEi ole merkkijono. +lenum.shoot = Ammu tiettyä sijaintia. +lenum.shootp = Ammu yksikköä/rakennusta nopeudenennustus päällä. +lenum.config = Rakennuksen säätö, esim. lajittelijan valinta. +lenum.enabled = Selvitä, onko palikka päällä. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Lampun väri. +laccess.controller = Yksikön hallitsija. Jos yksikköä hallitsee prosessori, palauttaa prosessorin.\nJos yksikkö on muodostelmassa, palauttaa johtajan.\nPalauttaa muulloin itse yksikön. +laccess.dead = Selvitä, onko yksikkö/rakennus tuhoutunut tai ei enää kelvollinen. +laccess.controlled = Palauttaa:\n[accent]@ctrlProcessor[], jos yksikön hallitsija on prosessori.\n[accent]@ctrlPlayer[], jos yksikön/rakennuksen hallitsija on pelaaja.\n[accent]@ctrlFormation[], jos yksikkö on muodostelmassa\nMuussa tapauksessa palauttaa 0. +laccess.progress = Toiminnon edistys asteikolla nollasta yhteen.\nPalauttaa tuotannon, tykin latauksen tai rakennuksen edistymisen. +laccess.speed = Yksikön huippunopeus laattoina/sekunti. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Tuntematon +lcategory.unknown.description = Luokittelemattomat ohjeet. +lcategory.io = Sisään- ja ulostulo +lcategory.io.description = Muokkaa muistipalikan ja prosessoripuskureiden sisältöä. +lcategory.block = Palikan hallinta +lcategory.block.description = Vuorovaikuta palikkojen kanssa. +lcategory.operation = Operaatiot +lcategory.operation.description = Loogiset operaatiot. +lcategory.control = Virtauksenhallinta +lcategory.control.description = Hallitse suoritusjärjestystä. +lcategory.unit = Yksikönhallinta +lcategory.unit.description = Anna yksiköille komentoja. +lcategory.world = Maailma +lcategory.world.description = Hallitse maailman käyttäytymistä. +graphicstype.clear = Täytä näyttö tietyllä värillä. +graphicstype.color = Aseta väri seuraaville piirto-operaatioille. +graphicstype.col = Vastaa väriä, mutta on pakattu.\nPakatut värit on kirjoitettu heksakoodina, jossa on [accent]%[]-etuliite.\nEsimerkki: [accent]%ff0000[] vastaa punaista väriä. +graphicstype.stroke = Aseta viivan leveys. +graphicstype.line = Piirrä viivaosio. +graphicstype.rect = Piirrä täytetty suorakulmio. +graphicstype.linerect = Piirrä suorakumion ääriviivat. +graphicstype.poly = Piirrä säännöllinen monikulmio. +graphicstype.linepoly = Piirrä säännöllisen monikulmion ääriviivat. +graphicstype.triangle = Piirrä täytetty kolmio. +graphicstype.image = Piirrä kuva jostain sisällöstä.\nEsim: [accent]@router[] tai [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Aina tosi. +lenum.idiv = Kokonaislukujen osamäärä. +lenum.div = Osamäärä.\nPalauttaa arvon [accent]null[] jaettaessa nollalla. +lenum.mod = Lukuun ottamatta. +lenum.equal = Yhtä suuri. Pakottaa tyypit.\nMuut kohteet kuin null palauttavat arvon 1 verrattaessa numeroihin, muussa tapauksessa palautus on 0. +lenum.notequal = Erisuuri. Pakottaa tyypit. +lenum.strictequal = Tarkka yhtäsuuruus. Ei pakota tyyppejä.\nVoidaan käyttää tarkistamaan arvon [accent]null[] varalta. +lenum.shl = Siirrä bittejä vasemmalle. +lenum.shr = Siirrä bittejä oikealle. +lenum.or = Binäärinen OR. +lenum.land = Looginen AND. +lenum.and = Binäärinen AND. +lenum.not = Binäärinen flip. +lenum.xor = Binäärinen XOR. +lenum.min = Vägintään kaksi numeroa. +lenum.max = Korkeintaan kaksi numeroa. +lenum.angle = Vektorin kulma asteina. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Vektorin pituus. +lenum.sin = Sini asteina. +lenum.cos = Kosini asteina. +lenum.tan = Tangentti asteina. +lenum.asin = Arkussini asteina. +lenum.acos = Arkuskosini asteina. +lenum.atan = Arkustangentti asteina. +lenum.rand = Satunnainen desimaaliluku väliltä [0, arvo). +lenum.log = Luonnollinen logaritmi (ln). +lenum.log10 = Kymmenkantainen logaritmi. +lenum.noise = Kaksiulotteinen yksisuuntainen melu. +lenum.abs = Absoluuttinen arvo. +lenum.sqrt = Neliöjuuri. +lenum.any = Mikä tahansa yksikkö. +lenum.ally = Liittolaisyksikkö. +lenum.attacker = Aseistettu yksikkö. +lenum.enemy = Vihollisyksikkö. +lenum.boss = Vartijayksikkö. +lenum.flying = Lentävä yksikkö. +lenum.ground = Maayksikkö. +lenum.player = Pelaajan hallitsema yksikkö. +lenum.ore = Malmintalletuspiste. +lenum.damaged = Vahingoittunut liittolaisrakennus. +lenum.spawn = Vihollisen syntypiste.\nVoi olla ydin tai sijainti. +lenum.building = Tiettyyn joukkoon kuuluva rakennus. +lenum.core = Mikä tahansa ydin. +lenum.storage = Varastorakennus, esim. holvi. +lenum.generator = Energiaa tuottavat rakennukset. +lenum.factory = Resursseja muokkaavat rakennukset. +lenum.repair = Korjauspisteet. +lenum.battery = Mikä tahansa akku. +lenum.resupply = Uudelleenvarustuspisteet.\nAiheellinen vain, jos pelisääntö [accent]"Yksiköt tarvitsevat ammuksia"[] on käytöss'. +lenum.reactor = Törmäys- tai toriumreaktori. +lenum.turret = Mikä tahansa tykki. +sensor.in = Rakennus/Yksikkö, jota tarkkailla. +radar.from = Rakennukset, joista tarkkaillaan.\nSensorin kantamaa rajoittaa rakennuksen kantama. +radar.target = Suodatin, jota yksiköt tarkkailevat. +radar.and = Ylimääräiset suodattimet. +radar.order = Suodatusjärjestys. Käännä arvolla 0. +radar.sort = Mittari, jolla tulokset lajitellaan. +radar.output = Muuttuja, johon ulostuloyksikkö tallennetaan. +unitradar.target = Suodatin, jota yksiköt tarkkailevat. +unitradar.and = Ylimääräiset suodattimet. +unitradar.order = Suodatusjärjestys. Käännä arvolla 0. +unitradar.sort = Mittari, jolla tulokset lajitellaan. +unitradar.output = Muuttuja, johon ulostuloyksikkö tallennetaan. +control.of = Hallittava rakennus. +control.unit = Yksikkö/Rakennus, johon tähdätä. +control.shoot = Hallitsee ampuuko yksikkö. +unitlocate.enemy = Hallitse paikantaako yksikkö vihollisrakennuksia. +unitlocate.found = Selvitä löytyikö kohde. +unitlocate.building = Ulostulomuuttuja paikannetulle rakennukselle. +unitlocate.outx = X-koodinaatin ulostulo. +unitlocate.outy = Y-koodinaatin ulostulo. +unitlocate.group = Etsittävä rakennusjoukko. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Lopeta liikkuminen, mutta jatka rakentamista/kaivamista.\nOletustila. +lenum.stop = Lopeta liikkuminen/kaivaminen/rakentaminen. +lenum.unbind = Poista logiikkahallinta kokonaan.\nAnna hallinta tavalliselle AI:lle. +lenum.move = Liiku tarkkaan sijaintiin. +lenum.approach = Lähesty sijaintia tietylle etäisyydelle. +lenum.pathfind = Etsi reitti määritettyyn sijaintiin. +lenum.autopathfind = Reitittää automaattisesti lähimpään vihollisen ytimeen tai pudotuspisteeseen.\nTämä vastaa tavallista aaltojen vihollisten reititystä. +lenum.target = Ammu tiettyä sijaintia. +lenum.targetp = Ammu kohdetta nopeudenennustuksen ollessa päällä. +lenum.itemdrop = Pudota tavaroita. +lenum.itemtake = Ota tavaroita rakennuksesta. +lenum.paydrop = Pudota lasti. +lenum.paytake = Nosta lastia nykyisestä sijainnista. +lenum.payenter = Siirry tai laskeudu lastipalikalle, jonka päällä yksikkö on. +lenum.flag = Numeerinen yksikkötunniste. +lenum.mine = Kaiva tietyssä sijainnissa. +lenum.build = Rakenna tietty rakennus. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Tarkista, onko joukko tietyn sijainnin lähellä. +lenum.boost = Aloita tai lopeta tehostus. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_fil.properties b/core/assets/bundles/bundle_fil.properties index c5663baa1d..dec21c9cc9 100644 --- a/core/assets/bundles/bundle_fil.properties +++ b/core/assets/bundles/bundle_fil.properties @@ -1,49 +1,66 @@ -credits.text = Created by [royal]Anuken[] - [sky]anukendev@gmail.com[] -credits = Credits -contributors = Mga Tagasalin at Contributor -discord = Sumali sa Mindustry Discord! +credits.text = Ginawa ni [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits = Mga Kredito +contributors = Mga Tagasalin at Tagapagkontributo +discord = Sumali sa Discord Server ng Mindustry! link.discord.description = Ang opisyal na Mindustry Discord chatroom. link.reddit.description = Ang Mindustry subreddit -link.github.description = Game source code +link.github.description = Pinagmulang kodigo ng Mindustry link.changelog.description = Listahan ng mga pagbabagong ginawa -link.dev-builds.description = Unstable development builds -link.trello.description = Opisyal Trello board para sa mga nakalatag na features -link.itch.io.description = itch.io page na may PC download -link.google-play.description = Google Play store listing -link.f-droid.description = F-Droid catalogue listing -link.wiki.description = Opsiyal Mindustry wiki -link.suggestions.description = Magmungkahi ng bagong feature -linkfail = 'Di mabuksan ang link!\nKinopya na sa 'yong clipboard ang URL. +link.dev-builds.description = Builds na masirain at iginagawa. +link.trello.description = Opisyal na Trello board para sa mga nakalatag na features +link.itch.io.description = itch.io page na may download para sa personal na kompyuter +link.google-play.description = Listing sa Google Play Store +link.f-droid.description = Catalogue listing sa F-Droid +link.wiki.description = Opsiyal na ensiklopedya ng Mindustry +link.suggestions.description = Magmungkahi ng mga bagong feature + +link.bug.description = Nakahanap ng isang sira? Ipaulat dito! +linkopen = Ang server na ito ay nagbigay ng isang link. Gusto mo ba na ibukas?\n\n[sky]{0} +linkfail = Hindi mabuksan ang link!\nKinopya na sa iyong clipboard ang URL. screenshot = Ini-adya na ang screenshot sa {0} screenshot.invalid = Masiyadong malaki ang mapa; maaaring kulang ang memory para sa screenshot. -gameover = Tapos Na Ang Laro -gameover.pvp = Ang[accent] {0}[] team ay nanalo! +gameover = Ang laro ay natapos. +gameover.disconnect = Nawalan ka ng koneksyon. +gameover.pvp = Ang[accent] {0}[] na grupo ay nanalo! +gameover.waiting = [accent]Hintayin ang bagong mapa... highscore = [accent]Panibagong mataas na Iskor! copied = Kinopya. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +indev.notready = Ang bahaging ito ng laro ay hindi pa handa load.sound = Mga Tunog load.map = Mga Mapa load.image = Mga Litrato load.content = Nilalaman -load.system = System +load.system = Sistema load.mod = Mga Mod load.scripts = Mga Iskrip -be.update = Mayroong baong Bleeding Edge build na makukuha: +be.update = Mayroong bagong Bleeding Edge build na makukuha: be.update.confirm = I-download at i-restart? be.updating = I-na-update... be.ignore = Huwag Pansinin be.noupdates = Walang nahanap na update. be.check = Tignan kung may mga update. +mods.browser = Hanapan ng mga Mod +mods.browser.selected = Mga selektadong mod +mods.browser.add = I-install +mods.browser.reinstall = I-install ulit +mods.browser.view-releases = Tingan ang mga ipinalabas na bersyon +mods.browser.noreleases = [scarlet]Walang ipinalabas na bersyon na nahanap.\n[accent]Hindi makahanap ng bersyon sa mod na ito. Tingan kung may ipinalabas na bersyon ang repositoryo ng mod nito. +mods.browser.latest = +mods.browser.releases = Ipinalabas na bersyon +mods.github.open = Repositoryo +mods.github.open-release = Pahina ng mga ipinalabas na bersyon +mods.browser.sortdate = Uriin sa pinakabago +mods.browser.sortstars = Uriin sa kasikatan -schematic = Schematic -schematic.add = I-adya ang Schematic... -schematics = Mga Schematic -schematic.replace = Ang schematic sa parehong pangalan ay mayroon na. Gusto mo bang palitan? -schematic.exists = Ang schematic sa parehong pangalan ay mayroon na. -schematic.import = I-angkat ang Schematic... +schematic = Eskematiko +schematic.add = I-adya ang Eskematiko... +schematics = Mga Eskematiko +schematic.search = Search eskematiko... +schematic.replace = Ang eskematiko na ito ay magkaparehas ang pangalan. Gusto mo bang palitan ito? +schematic.exists = Ang eskematiko na ito ay magkaparehas ang pangalan. +schematic.import = I-angkat ang eskematiko... schematic.exportfile = Mag-export ng File schematic.importfile = Mag-angkat ng File schematic.browseworkshop = Maghanap sa Workshop @@ -53,34 +70,45 @@ schematic.shareworkshop = Ibahagi sa Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Baligtarin ang Schematic schematic.saved = Na-i-adya na ang schematic. schematic.delete.confirm = Ang schematic na'to ay tuluyang mawawala. -schematic.rename = Palitan Ang Pangalan ng Schematic +schematic.edit = I-edit ang Schematic schematic.info = {0}x{1}, {2} blocks -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Ang mga schematics ay pinagbabawalan.[]\nBawal ka gumamit gang schematics sa [accent]mapa[] or [accent]server[] na ito. +schematic.tags = Mga Tag: +schematic.edittags = Mag-edit ng Tag +schematic.addtag = Mag-dagdag ng Tag +schematic.texttag = Tag sa teksto +schematic.icontag = Tag sa larawan +schematic.renametag = Palitan ang pangalan ng Tag +schematic.tagged = {0} na na-tag +schematic.tagdelconfirm = I-delete itong tag? +schematic.tagexists = Meron nang tag na ganito. +stats = Mga Statistiko +stats.wave = Mga Wave na nalagpasan +stats.unitsCreated = Mga Unit na nagawa +stats.enemiesDestroyed = Mga kalabang napasira +stats.built = Mga Building na napatayo +stats.destroyed = Mga Building na nasira +stats.deconstructed = Mga Building na binaklas +stats.playtime = Oras ng paglalaro -stat.wave = Wave na Nalagpasan:[accent] {0} -stat.enemiesDestroyed = Tinalong Kalaban:[accent] {0} -stat.built = Gusaling Itinayo:[accent] {0} -stat.destroyed = Gusaling Nawasak:[accent] {0} -stat.deconstructed = Gusaling Binuwag/Tinanggal:[accent] {0} -stat.delivered = Mga Yaman na Nahanap: -stat.playtime = Tagal na Nilaro:[accent] {0} -stat.rank = Pinal na Ranggo: [accent]{0} - -globalitems = [accent]Mga Pangkalahatang Bagay +globalitems = [accent]Mga Pangkalahatang Gamit map.delete = Sigurado ka bang buburahin ang mapang "[accent]{0}[]"? level.highscore = Pinakamataas na Iskor: [accent]{0} level.select = Mamili ng Lebel level.mode = Paraan ng Paglalaro: coreattack = < Ang core ay inaatake! > -nearpoint = [[ [scarlet]UMALIS KAAGAD SA DROP POINT[] ]\nmalapit ka nang mamatay +nearpoint = [[ [scarlet]UMALIS KAAGAD SA DROP POINT[] ]\npagkamatay ay palapit database = Database ng Core -savegame = I-adya ang Laro -loadgame = Load Game +database.button = Database +savegame = I-save ang Laro +loadgame = I-Load ang Laro joingame = Sumali sa Laro -customgame = Kustom na Laro +customgame = Hindi-karaniwan na Laro newgame = Bagong Laro none = -minimap = Minimap +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Maliit na mapa position = Posisyon close = Isara website = Website @@ -98,31 +126,46 @@ uploadingcontent = Ini-a-upload ang Nilalaman uploadingpreviewfile = Ini-a-upload ang Preview File committingchanges = Gumagawa ng mga Pagbabago done = Tapos Na -feature.unsupported = Hindi suportado ng 'yong device ang feature na'to. - -mods.alphainfo = Tandaan mo na ang mga mod ay nasa 'alpha', at[scarlet] maaaring may depekto pa ang mga 'to[].\nI-ulat ang kahit anong depektong matutuklasan mo sa Mindustry GitHub o Discord. +feature.unsupported = Hindi suportado ng iyong device ang feature na ito. +mods.initfailed = [red]âš [] Nabigong masimulan ang nakaraang instance ng Mindustry. Malamang na sanhi ito ng maling pagkilos ng mga mod.\n\nPara maiwasan ang crash loop, [red]lahat ng mga mod ay pinahinto.[] mods = Mga Mod mods.none = [lightgray]Walang mga mod na nahanap! mods.guide = Gabay para sa Paggawa ng Mod mods.report = Mag-ulat ng Depekto mods.openfolder = Buksan ang Folder +mods.viewcontent = View Content mods.reload = I-reload mods.reloadexit = Ang laro ay isasara, para mag-reload ng mga mod. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Gumagana mod.disabled = [scarlet]Hindi Gumagana +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = 'Wag Paganahin +mod.version = Version: mod.content = Nilalaman: mod.delete.error = 'Di matanggal ang mod. Maaaring ginagamit pa 'to. -mod.requiresversion = [scarlet]Kinakailangan ang minimum bersyon ng laro: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Nawawalang mga Dependency: {0} -mod.erroredcontent = [scarlet]Mga Error sa Nilalaman +mod.incompatiblegame = [red]Larong luma na +mod.incompatiblemod = [red]Hindi magkatugma +mod.blacklisted = [red]Hindi pwede +mod.unmetdependencies = [red]Pagpapaasa ay hindi magkatulad +mod.erroredcontent = [scarlet]Mga sira sa Nilalaman +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Pagpapaasa ay hindi kompleto +mod.requiresversion.details = Kailangan ng bersyon: [accent]{0}[]\nAng iyong laro ay hindi bago. Ang mod na ito ay kailangan ng bagong bersyon ng larong ito (pwedeng beta o alpha na bersyon) para gumana. +mod.outdatedv7.details = Ang mod na ito ay hindi tugma sa pinakabagong bersyon ng laro. Dapat itong i-update ng may-akda, at idagdag ang [accent]minGameVersion: 136[] sa [accent]mod.json[] file nito. +mod.blacklisted.details = Ang mod na ito ay manu-manong na-blacklist para sa pagdudulot ng mga pag-crash o iba pang isyu sa bersyong ito ng laro. Huwag gamitin ito. +mod.missingdependencies.details = Ang mod na ito ay walang mga dependencies: {0} +mod.erroredcontent.details = Nagdulot ng mga error ang larong ito kapag naglo-load. Hilingin sa may-akda ng mod na ayusin ang mga ito. +mod.circulardependencies.details = Ang mod na ito ay may mga dependency na umaasa sa isa't isa. +mod.incompletedependencies.details = Hindi ma-load ang mod na ito dahil sa di-wasto o nawawalang mga dependency: {0}. +mod.requiresversion = Nangangailangan ng bersyon ng laro: [red]{0} + mod.errors = May mga error na naitala habang ni-lo-load ang nilalaman. mod.noerrorplay = [scarlet]May mga mod kang may error.[] Maaaring 'wag munang paganahin ang mga apektadong mod o 'di kaya'y ayusin ang mga error bago maglaro. mod.nowdisabled = [scarlet]Ang mod na '{0}' ay ma kulang na mga dependency:[accent] {1}\n[lightgray]Ang mga ito'y kinakailangang i-download muna.\nAng mod na'to ay kusang 'di papaganahin. mod.enable = Paganahin -mod.requiresrestart = Ang laro'y magsasaro upang mai-apply ang mga pagbabago sa mod. +mod.requiresrestart = Ang laro'y magsasara upang mai-apply ang mga pagbabago sa mod. mod.reloadrequired = [scarlet]Kinakalingang I-restart mod.import = I-angkat ang Mod mod.import.file = I-angkat ang File @@ -134,121 +177,158 @@ mod.author = [lightgray]May-akda:[] {0} mod.missing = Ang larong 'to ay may nilalaman na mod na in-update kamakailan o binura mo na. Maaaring ma-corrput ang larong 'to. Sigurado ka bang gusto mong i-load 'to?\n[lightgray]Mga Mod:\n{0} mod.preview.missing = Bago mong ilathala ang mod sa workshop, dapat maglagay ka nang image preview.\nMaglagay ka ng litratong nagngangalang[accent] preview.png[] sa folder ng mod at subukan mo muli. mod.folder.missing = Tanging mga mod lang nasa loob ng folder ay maaaring ma-ilathala sa workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. +mod.scripts.disable = Ang device mo ay hindi sumusuporta ng mga mod na may iskrip. Kailangan mo itong pahintuin upang makapaglaro. + +about.button = Tungkol +name = Pangalan: +noname = Pumili ng[accent] pangalan[] muna. +search = Maghanap: +planetmap = Mapa ng Planeta: + +launchcore = I-Launch Ang Core +filename = Pangalan ng File: +unlocked = Bagong content na na-unlock! +available = Bagong research na available! +unlock.incampaign = < I-unlock sa campaign para sa detalye > +campaign.select = Piliin ang Starting Campaign +campaign.none = [lightgray]Pumili ng planetang sisimulan.\nMaaari itong ilipat anumang oras. +campaign.erekir = Mas bago, mas pinakintab na content. Kadalasan ay linear na pag-unlad ng kampanya.\n\nMas mataas na kalidad at pangkalahatang karanasan. +campaign.serpulo = Mas lumang nilalaman; ang klasikong karanasan. Mas open-ended.\n\nPotensyal na hindi balanseng mga mapa at mechanics ng campaign. Hindi gaanong pulido. +campaign.difficulty = Difficulty +completed = [accent]Nakumpleto -about.button = About -name = Name: -noname = Pick a[accent] player name[] first. -planetmap = Planet Map -launchcore = Launch Core -filename = File Name: -unlocked = New content unlocked! -completed = [accent]Completed techtree = Tech Tree -research.list = [lightgray]Research: -research = Research -researched = [lightgray]{0} researched. -research.progress = {0}% complete -players = {0} players -players.single = {0} player -players.search = search -players.notfound = [gray]no players found -server.closing = [accent]Closing server... -server.kicked.kick = You have been kicked from the server! -server.kicked.whitelist = You are not whitelisted here. -server.kicked.serverClose = Server closed. -server.kicked.vote = You have been vote-kicked. Goodbye. -server.kicked.clientOutdated = Outdated client! Update your game! -server.kicked.serverOutdated = Outdated server! Ask the host to update! -server.kicked.banned = You are banned on this server. -server.kicked.typeMismatch = This server is not compatible with your build type. -server.kicked.playerLimit = This server is full. Wait for an empty slot. -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.nameEmpty = Your chosen name is invalid. -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.gameover = Game over! -server.kicked.serverRestarting = The server is restarting. -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. -join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] or [accent]global[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]If you want to connect to someone by IP, you would need to ask the host for their IP, which can be found by googling "my ip" from their device. -hostserver = Host Multiplayer Game -invitefriends = Invite Friends +techtree.select = Pagpili ng Tech Tree +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Load +research.discard = Discard +research.list = [lightgray]Pananaliksik: +research = Pananaliksik +researched = [lightgray]{0} nagsaliksik. +research.progress = {0}% kumpleto +players = {0} manlalaro +players.single = {0} manlalaro + +players.search = mag-search +players.notfound = [gray]walang nahanap na players +server.closing = [accent]Sinasarado ang server... +server.kicked.kick = Sinipa ka mula sa server! +server.kicked.whitelist = Hindi ka naka whitelist. +server.kicked.serverClose = Ang server ay isinarado. +server.kicked.vote = Na-vote-kick ka na. Paalam. +server.kicked.clientOutdated = Outdated na kliyente! I-Update yung laro mo! +server.kicked.serverOutdated = Lumang server! Hilingin sa host na mag-update! +server.kicked.banned = Ikaw ay pinagbawalan sa server na ito. +server.kicked.typeMismatch = Ang server na ito ay hindi tugma sa iyong uri ng build. +server.kicked.playerLimit = Puno na ang server na ito. maghintay ng libreng slot. +server.kicked.recentKick = na-kick ka recently.\nMaghintay bago kumonekta muli. +server.kicked.nameInUse = May ganyang pangalan\nsa server na ito. +server.kicked.nameEmpty = Invalid ang pangalan mo. +server.kicked.idInUse = Nandito kana sa server, bawal mag-join gamit nang dalawan accounts. +server.kicked.customClient = Hindi sinusuportahan ng server na ito ang mga custom na build. Mag-download ng opisyal na bersyon. +server.kicked.gameover = Tapos na ang laro! +server.kicked.serverRestarting = Nag rerestart ang server. +server.versions = Iyong bersyon:[accent] {0}[]\nBersyon ng server:[accent] {1}[] +host.info = Ang [accent]host[] button ay nagho-host ng server sa port [scarlet]6567[]. \nAng sinuman sa parehong [lightgray]wifi o lokal na network[] ay dapat na makita ang iyong server sa kanilang listahan ng server.\n\nKung gusto mong makakonekta ang mga tao mula sa kahit saan sa pamamagitan ng IP, [accent]port forwarding[] ay kinakailangan.\n\n[lightgray]Tandaan: Kung may nakakaranas ng problema sa pagkonekta sa iyong LAN game, tiyaking pinayagan mo ang Mindustry na ma-access ang iyong lokal na network sa iyong mga setting ng firewall. Tandaan na minsan ay hindi pinapayagan ng mga pampublikong network ang pagtuklas ng server. +join.info = Dito, maaari mong ipasok ang isang [accent]server IP[] para ikonekta, o pag diskubre ng [accent]local network[] or [accent]global[] servers pwedeng konektahin.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]Kung gusto mong kumonekta sa isang tao sa pamamagitan ng IP, kakailanganin mong hilingin sa host ang kanilang IP, na makikita sa pamamagitan ng pag-googling sa "aking ip" mula sa kanilang device. +hostserver = Mag-host ng Multiplayer Game +invitefriends = Mag-imbita ng mga kaibigan hostserver.mobile = Host\nGame host = Host hosting = [accent]Opening server... -hosts.refresh = Refresh -hosts.discovering = Discovering LAN games -hosts.discovering.any = Discovering games -server.refreshing = Refreshing server -hosts.none = [lightgray]No local games found! -host.invalid = [scarlet]Can't connect to host. +hosts.refresh = I-refresh +hosts.discovering = Pagtuklas ng mga LAN games... +hosts.discovering.any = Pagtuklas ng mga laro... +server.refreshing = Nagre-refresh ng server +hosts.none = [lightgray]Walang nahanap na local games! +host.invalid = [scarlet]Hindi makakonekta sa Host. servers.local = Local Servers +servers.local.steam = Buksan ang Mga Laro at Lokal na Server servers.remote = Remote Servers servers.global = Community Servers +servers.disclaimer = Ang mga server ng komunidad ay [accent]hindi pagmamay-ari o kinokontrol[] ng developer.\n\nServers may contain user-generated content that is not appropriate for all ages. +servers.showhidden = Show Hidden Servers +server.shown = Ipinapakita +server.hidden = Tinatago +viewplayer = Viewing Player: [accent]{0} trace = Trace Player -trace.playername = Player name: [accent]{0} +trace.playername = Pangalan ng Player: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unique ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobile Client: [accent]{0} trace.modclient = Custom Client: [accent]{0} -invalidid = Invalid client ID! Submit a bug report. +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: +invalidid = Di-wastong client ID! Magsumite ng ulat ng bug. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Bans -server.bans.none = No banned players found! +server.bans.none = walang nahanap na banned players! server.admins = Admins -server.admins.none = No admins found! +server.admins.none = walang nahnap na admin! server.add = Add Server -server.delete = Are you sure you want to delete this server? +server.delete = Sigurado ka bang gusto mong tanggalin ang server na ito? server.edit = Edit Server server.outdated = [scarlet]Outdated Server![] server.outdated.client = [scarlet]Outdated Client![] server.version = [gray]v{0} {1} server.custombuild = [accent]Custom Build -confirmban = Are you sure you want to ban "{0}[white]"? -confirmkick = Are you sure you want to kick "{0}[white]"? -confirmvotekick = Are you sure you want to vote-kick "{0}[white]"? -confirmunban = Are you sure you want to unban this player? -confirmadmin = Are you sure you want to make "{0}[white]" an admin? -confirmunadmin = Are you sure you want to remove admin status from "{0}[white]"? -joingame.title = Join Game +confirmban = Sigurado ka bang gusto mong i-ban si "{0}[white]"? +confirmkick = Sigurado ka bang gusto mong i-kick si "{0}[white]"? +confirmunban = Sigurado kabang i-unban ang player? +confirmadmin = Sigurado ka bang gusto mong gawing admin si "{0}[white]"? +confirmunadmin = Sigurado kabang i-remove ang admin mula kay "{0}[white]"? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: +joingame.title = Sumali sa Laro joingame.ip = Address: disconnect = Disconnected. disconnect.error = Connection error. disconnect.closed = Connection closed. -disconnect.timeout = Timed out. -disconnect.data = Failed to load world data! -cantconnect = Unable to join game ([accent]{0}[]). +disconnect.timeout = Na-time out. +disconnect.data = Pumalya ang pag-load ng world data! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. +cantconnect = Hindi kayant sumali sa larong ([accent]{0}[]). connecting = [accent]Connecting... +reconnecting = [accent]Reconnecting... connecting.data = [accent]Loading world data... server.port = Port: -server.addressinuse = Address already in use! server.invalidport = Invalid port number! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [scarlet]Error hosting server. -save.new = New Save -save.overwrite = Are you sure you want to overwrite\nthis save slot? +save.new = Bagong Save +save.overwrite = Sigurado ka bang gusto mong i-overwrite ang save slot na ito? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Overwrite -save.none = No saves found! -savefail = Failed to save game! -save.delete.confirm = Are you sure you want to delete this save? +save.none = Walang nahanap na save! +savefail = Hindi na save ang game! +save.delete.confirm = Sigurado ka bang gusto mo i delete intong save? save.delete = Delete save.export = Export Save -save.import.invalid = [accent]This save is invalid! -save.import.fail = [scarlet]Failed to import save: [accent]{0} -save.export.fail = [scarlet]Failed to export save: [accent]{0} +save.import.invalid = [accent]Hindi valid ang intong save! +save.import.fail = [scarlet]Pumalya ang pag-import ng save: [accent]{0} +save.export.fail = [scarlet]Pumalya ang pag-export ng save: [accent]{0} save.import = Import Save save.newslot = Save name: save.rename = Rename save.rename.text = New name: -selectslot = Select a save. +selectslot = Pumili ng save. slot = [accent]Slot {0} -editmessage = Edit Message -save.corrupted = Save file corrupted or invalid! +editmessage = I-edit Message +save.corrupted = Sira o kurakot ang save na ito. empty = on = On off = Off +save.search = I-Search ang mga saved games... save.autosave = Autosave: {0} save.map = Map: {0} save.wave = Wave {0} @@ -256,167 +336,248 @@ save.mode = Gamemode: {0} save.date = Last Saved: {0} save.playtime = Playtime: {0} warning = Warning. -confirm = Confirm -delete = Delete -view.workshop = View In Workshop -workshop.listing = Edit Workshop Listing +confirm = Kumpirmahin +delete = Tanggalin +view.workshop = Tingnan Sa Workshop +workshop.listing = I-edit ang Listahan sa Workshop ok = OK open = Open -customize = Customize Rules -cancel = Cancel -openlink = Open Link -copylink = Copy Link -back = Back -data.export = Export Data -data.import = Import Data -data.openfolder = Open Data Folder -data.exported = Data exported. -data.invalid = This isn't valid game data. -data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately. -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.[] +customize = I-customize ang Mga Panuntunan +cancel = I-kansel +command = Command +command.queue = [lightgray][Queuing] + +command.mine = Mina +command.repair = Ipagawa +command.rebuild = Itayo +command.assist = Asistahan ang maglalaro +command.move = Galaw +command.boost = Magpabilis +command.enterPayload = Pumasok sa payload na tipak +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Tigilan ang mga sunurin +stance.shoot = Paninindigan: Barilan +stance.holdfire = Paninindigan: Huwag Bumaril +stance.pursuetarget = Paninindigan: Habulin ang Target +stance.patrol = Paninindigan: Patrolyang Lakarin +stance.ram = Paninindigan: Daan\n[lightgray]Tuwid na linyang paggalaw, walang paghanag ng path +openlink = Buksan Link +copylink = Koypa Link +back = Balik +max = Pinakarami +objective = Objective sa Map +crash.export = I-Export Crash Logs +crash.none = Walang nahanap na crash logs. +crash.exported = Na-export ang mga crash log. +data.export = Export ang Data +data.import = Import ang Data +data.openfolder = Buksan ang Data Folder +data.exported = Na-i-export ang data. +data.invalid = Hindi ito wastong data. +data.import.confirm = Ang pag-iimport ng data ay i-o-overwrite ang[scarlet] lahat[] ng iyong game data.\n[accent]Hindi ito pwedeng maibalik sa dati![]\n\nPagkatapos i-import ang data, mag e-exit kaagad ang laro. +quit.confirm = Sigurado ka bang gusto mong mag quit? loading = [accent]Loading... -reloading = [accent]Reloading Mods... +downloading = [accent]Downloading... saving = [accent]Saving... -respawn = [accent][[{0}][] to respawn in core -cancelbuilding = [accent][[{0}][] to clear plan -selectschematic = [accent][[{0}][] to select+copy -pausebuilding = [accent][[{0}][] to pause building -resumebuilding = [scarlet][[{0}][] to resume building +respawn = [accent][[{0}][] upang mag respawn sa core +cancelbuilding = [accent][[{0}][] para mai-kansela ang plano +selectschematic = [accent][[{0}][] upang mag select-copy +pausebuilding = [accent][[{0}][] upang i-pause ang pag-tatayo +resumebuilding = [scarlet][[{0}][] upang ipagpatuloy ang pag-tatayo +enablebuilding = [scarlet][[{0}][] upang paganahin ang pag-tatayo +showui = Itinago ang UI.\nPindutin ang [accent][[{0}][] upang maipakita ang UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Wave {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]Wave in {0} wave.waveInProgress = [lightgray]Wave in progress -waiting = [lightgray]Waiting... -waiting.players = Waiting for players... -wave.enemies = [lightgray]{0} Enemies Remaining -wave.enemy = [lightgray]{0} Enemy Remaining -wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. -wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. -loadimage = Load Image -saveimage = Save Image +waiting = [lightgray]Naghihintay... +waiting.players = Naghihintay ng mga manlalaro... +wave.enemies = [lightgray]{0} Mga Natitirang Kaaway +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core +wave.enemy = [lightgray]{0} Natitirang Kaaway +wave.guardianwarn = Ang Guardian ay papalapit na ng mga [accent]{0}[] wave. +wave.guardianwarn.one = Ang Guardian ay papalapit na ng [accent]{0}[] wave. +loadimage = I-Load ng Imahe +saveimage = I-Save ng Imahe unknown = Unknown custom = Custom builtin = Built-In -map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! +map.delete.confirm = Sigurado ka bang gusto mong tanggalin ang mapang ito? Ang gawaing ito ay hindi pwedeng baguhin! map.random = [accent]Random Map -map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] 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-orange[] cores to this map in the editor. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor. -map.invalid = Error loading map: corrupted or invalid map file. +map.nospawn = Ang mapa na ito ay walang anumang mga core para sa player upang mai-spawn in! Mag-dagdag ng {0} core sa editor ng mapa! +map.nospawn.pvp = Ang mapa na ito ay walang anumang mga core ng kaaway para sa player upang i-spawn! Add [scarlet]non-orange[] cores to this map in the editor. +map.nospawn.attack = Ang mapa na ito ay walang anumang mga core ng kaaway para sa pag-atake ng manlalaro! Add {0} cores to this map in the editor. +map.invalid = Error loading map: corrupted o sira na map file. workshop.update = Update Item -workshop.error = Error fetching workshop details: {0} -map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! -workshop.menu = Select what you would like to do with this item. +workshop.error = Error sa pagkuha ng mga detalye ng workshop: {0} +map.publish.confirm = Sigurado ka bang gusto mong i-publish ang mapang ito?\n\n[lightgray]Tiyaking sumasang-ayon ka muna sa Workshop EULA, o hindi lalabas ang iyong mga mapa! +workshop.menu = I-select ang gusto mong gawin sa aytem na ito. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = Steam EULA -missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. +missing = Na-delete or na-remove and item na to.\n[lightgray]Awtomatikong na-unlink na ang listahan sa workshop. publishing = [accent]Publishing... -publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! +publish.confirm = Sigurado ka bang gusto mong i-publish ang mapang ito?\n\n[lightgray]Tiyaking sumasang-ayon ka muna sa Workshop EULA, o hindi lalabas ang iyong mga items! publish.error = Error publishing item: {0} steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Brush -editor.openin = Open In Editor +editor.openin = I-Open sa Editor editor.oregen = Ore Generation editor.oregen.info = Ore Generation: editor.mapinfo = Map Info editor.author = Author: editor.description = Description: -editor.nodescription = A map must have a description of at least 4 characters before being published. -editor.waves = Waves: -editor.rules = Rules: +editor.nodescription = Dapat meron paglalarawan ng hindi bababa sa 4 na character bago i-publish. +editor.waves = Mga Waves: +editor.rules = Mga Rules: editor.generation = Generation: +editor.objectives = Mga Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Edit In-Game -editor.publish.workshop = Publish On Workshop +editor.playtest = Playtest +editor.publish.workshop = I-Publish Sa Workshop editor.newmap = New Map editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Deskripsyon +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Waves waves.remove = Remove -waves.never = waves.every = every waves.waves = wave(s) +waves.health = health: {0}% waves.perspawn = per spawn waves.shields = shields/wave waves.to = to +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Preview waves.edit = Edit... -waves.copy = Copy to Clipboard -waves.load = Load from Clipboard +waves.random = Random +waves.copy = I-Copy to Clipboard +waves.load = I-Load mula sa Clipboard waves.invalid = Invalid waves in clipboard. waves.copied = Waves copied. -waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.none = Walang tinukoy na mga kaaway.\nTandaan na ang mga walang laman na wave layout ay awtomatikong papalitan ng default na layout. +waves.sort = Sort By +waves.sort.reverse = Pabaliktad na Sort +waves.sort.begin = Simula +waves.sort.health = Health +waves.sort.type = Uri +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Itago lahat +waves.units.show = Ipakita lahat wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = Lahat editor.default = [lightgray] details = Details... edit = Edit... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Name: editor.spawn = Spawn Unit editor.removeunit = Remove Unit editor.teams = Teams -editor.errorload = Error loading file. -editor.errorsave = Error saving file. -editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. -editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. -editor.errornot = This is not a map file. -editor.errorheader = This map file is either not valid or corrupt. -editor.errorname = Map has no name defined. Are you trying to load a save file? +editor.errorload = Error sa paglo-load ng file. +editor.errorsave = Error sa pag-save ng file. +editor.errorimage = Iyon ay isang imahe, hindi isang mapa.\n\nKung gusto mong mag-import ng 3.5/build 40 na mapa, gamitin ang button na 'Import Legacy Map' sa editor. +editor.errorlegacy = Masyadong luma ang mapang ito, at gumagamit ng legacy na format ng mapa na hindi na sinusuportahan. +editor.errornot = Ito ay hindi isang file ng mapa. +editor.errorheader = Ang file ng mapa na ito ay maaaring hindi wasto o sira. +editor.errorname = Walang tinukoy na pangalan ang mapa. Sinusubukan mo bang mag-load ng save file? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Update editor.randomize = Randomize +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Apply editor.generate = Generate +editor.sectorgenerate = Sector Generate editor.resize = Resize -editor.loadmap = Load Map -editor.savemap = Save Map +editor.loadmap = I-load ang Mapa +editor.savemap = I-save ang Mapa +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Saved! -editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. -editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. -editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists! +editor.save.noname = Walang pangalan ang iyong mapa! Itakda ang isa sa menu na 'impormasyon ng mapa'. +editor.save.overwrite = Ino-overwrite ng iyong mapa ang isang built-in na mapa! Pumili ng ibang pangalan sa menu na 'impormasyon ng mapa'. +editor.import.exists = [scarlet]Hindi kayang ma-import:[] mayroon nang built-in na mapa na '{0}'! editor.import = Import... -editor.importmap = Import Map -editor.importmap.description = Import an already existing map -editor.importfile = Import File -editor.importfile.description = Import an external map file -editor.importimage = Import Image File -editor.importimage.description = Import an external map image file +editor.importmap = Import ang Mapa +editor.importmap.description = Mag-import ng umiiral nang mapa +editor.importfile = Import ang File +editor.importfile.description = Mag-import ng panlabas na file ng mapa +editor.importimage = Mag-import ng File ng Larawan +editor.importimage.description = Mag-import ng panlabas na file ng imahe ng mapa editor.export = Export... -editor.exportfile = Export File -editor.exportfile.description = Export a map file -editor.exportimage = Export Terrain Image -editor.exportimage.description = Export an image file containing only basic terrain -editor.loadimage = Import Terrain -editor.saveimage = Export Terrain -editor.unsaved = [scarlet]You have unsaved changes![]\nAre you sure you want to exit? +editor.exportfile = I-export ang File +editor.exportfile.description = Mag-Export nang map file +editor.exportimage = I-export ang Terrain Image +editor.exportimage.description = Mag-export ng image file na naglalaman lamang ng basic terrain +editor.loadimage = Import ang Terrain +editor.saveimage = I-export ang Terrain +editor.unsaved = [scarlet]Mayroon kang mga hindi na-adyang mga pagbabago![]\nSigurado ka bang gusto mong mag-exit? editor.resizemap = Resize Map -editor.mapname = Map Name: -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?\n"[accent]{0}[]" -editor.exists = A map with this name already exists. -editor.selectmap = Select a map to load: +editor.mapname = Pangalan ng Mapa: +editor.overwrite = [accent]Warning!\nIno-overwrite nito ang isang existing na mapa. +editor.overwrite.confirm = [scarlet]Warning![] Umiiral na ang isang mapa na may ganitong pangalan. Sigurado ka bang gusto mong i-overwrite ito?\n"[accent]{0}[]" +editor.exists = Umiiral na ang isang mapa na may ganitong pangalan. +editor.selectmap = Pumili ng mapa na ilo-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.replace = Palitan +toolmode.replace.description = Gumuhit lamang sa mga solidong blocks. +toolmode.replaceall = Palitan Lahat +toolmode.replaceall.description = Palitan ang lahat ng mga blocks sa mapa. toolmode.orthogonal = Orthogonal -toolmode.orthogonal.description = Draws only orthogonal lines. +toolmode.orthogonal.description = Gumuhit lamang ng mga orthogonal na linya. 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.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Draw Teams toolmode.drawteams.description = Draw teams instead of blocks. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. -filters.empty = [lightgray]No filters! Add one with the button below. +filters.empty = [lightgray]Walang mga filter! Magdagdag ng isa gamit ang button sa ibaba. filter.distort = Distort filter.noise = Noise filter.enemyspawn = Enemy Spawn Select @@ -433,6 +594,7 @@ filter.clear = Clear filter.option.ignore = Ignore filter.scatter = Scatter filter.terrain = Terrain +filter.logic = Logic filter.option.scale = Scale filter.option.chance = Chance filter.option.mag = Magnitude @@ -441,17 +603,39 @@ filter.option.circle-scale = Circle Scale filter.option.octaves = Octaves filter.option.falloff = Falloff filter.option.angle = Angle +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Block filter.option.floor = Floor filter.option.flooronto = Target Floor filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Wall filter.option.ore = Ore filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Width: height = Height: @@ -462,214 +646,465 @@ load = Load save = Save fps = FPS: {0} ping = Ping: {0}ms -language.restart = Please restart your game for the language settings to take effect. +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = Mangyaring i-restart ang iyong laro para magkabisa ang mga setting ng wika. settings = Settings tutorial = Tutorial -tutorial.retake = Re-Take Tutorial +tutorial.retake = Muling Kumuha ng Tutorial editor = Editor mapeditor = Map Editor abandon = Abandon -abandon.text = This zone and all its resources will be lost to the enemy. +abandon.text = Ang zone na ito at ang lahat ng mga mapagkukunan nito ay mawawala sa kaaway. locked = Locked complete = [lightgray]Complete: requirement.wave = Reach Wave {0} in {1} -requirement.core = Destroy Enemy Core in {0} +requirement.core = Wasakin ang Enemy Core sa {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Best Wave: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Ang host lang ang makakatingin sa mga sektor. uncover = Uncover -configure = Configure Loadout +configure = I-Configure ang Loadout +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nai-detect ang nuclear strike: [lightgray]{0} +announce.nuclearstrike = [red]âš  PAPALAPIT NA ANG NUCLEAR STRIKE âš  loadout = Loadout resources = Resources -bannedblocks = Banned Blocks +resources.max = Max +bannedblocks = Mga Pinagbabawalan na Blocks +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Mga Pinagbabawalan na Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Add All +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} -configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} unlocked. -zone.requirement.complete = Requirement for {0} completed:[lightgray]\n{1} -zone.resources = [lightgray]Resources Detected: -zone.objective = [lightgray]Objective: [accent]{0} -zone.objective.survival = Survive -zone.objective.attack = Destroy Enemy Core -add = Add... -boss.health = Boss Health +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = Ang halaga ay dapat na isang numero sa pagitan ng 0 at {0}. +add = I-Add... +guardian = Guardian -connectfail = [scarlet]Connection error:\n\n[accent]{0} -error.unreachable = Server unreachable.\nIs the address spelled correctly? +connectfail = [scarlet]Error sa Koneksyon:\n\n[accent]{0} +error.unreachable = Hindi maabot ang server.\nTama ba ang spelling ng address? error.invalidaddress = Invalid address. -error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! -error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! -error.alreadyconnected = Already connected. -error.mapnotfound = Map file not found! +error.timedout = Timed out!\nTiyaking may naka-set up na port forwarding ang host, at tama ang address! +error.mismatch = Packet error:\nposibleng client/server version mismatch.\nTiyaking mayroon ka at ang host ng pinakabagong bersyon ng Mindustry! +error.alreadyconnected = Nakakonekta na. +error.mapnotfound = Hindi nakita ang file ng mapa! error.io = Network I/O error. error.any = Unknown network error. -error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.bloom = Nabigong simulan ang bloom.\nMaaaring hindi ito sinusuportahan ng iyong device. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = Rain -weather.snow.name = Snow +weather.rain.name = Ulan +weather.snowing.name = Niyebe weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Mga Sector +sectorlist.attacked = {0} ay inaatake sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: -sectors.production = Production: +sectors.production = Produksyon: +sectors.export = Export: +sectors.import = Import: +sectors.time = Oras: +sectors.threat = Threat: +sectors.wave = Mga Waves: sectors.stored = Stored: sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select +sectors.launch = I-Launch +sectors.select = I-Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +sectors.redirect = Redirect Launch Pads +sectors.rename = Palitan ang pangalan ng Sector + +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Punta +sector.abandon = Abandonahin +sector.abandon.confirm = Ang core (o mga core) sa sector ay mag se-self-destruct.\nSigurado ka? +sector.curcapture = Nai-capture ang sector +sector.curlost = Nawala ang sector +sector.missingresources = [scarlet]Kulang ang mga Core Resources +sector.attacked = Ang sector [accent]{0}[white] ay inaatake! +sector.lost = Ang sector [accent]{0}[white] ay nawala! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = I-Change ang Icon +sector.noswitch.title = Hindi ka mapalit sa ibang Sectors +sector.noswitch = Hindi ka pwede magpalit ng sectors habang ina-atake ang isang sector mo.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = Tingnan ang Sector +threat.low = Mababa +threat.medium = Medium +threat.high = Mataas +threat.extreme = Sobra-sobra +threat.eradication = Tiyak na talo sa hind handa +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Mga planeta planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Araw +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest +sector.craters.name = Mga Bunganga +sector.frozenForest.name = Kagubatang Nagyelo sector.ruinousShores.name = Ruinous Shores sector.stainedMountains.name = Stained Mountains sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth +sector.nuclearComplex.name = Complex para sa Nuklear na Produksyon +sector.overgrowth.name = Labis ng paglalaki sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Pasilidad 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Kutang Pantubig +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = Ang pinakamainam na lokasyon upang magsimulang muli. Mababang banta ng kaaway. Kaunting mapagkukunan.\nMagtipon ng mas maraming tingga at tanso hangga't maaari.\nItuloy. +sector.frozenForest.description = Kahit dito, mas malapit sa mga bundok, ang mga spore ay kumalat. Ang napakalamig na temperatura ay hindi maaaring maglaman ng mga ito magpakailanman.\n\nSimulan ang pakikipagsapalaran sa kapangyarihan. Bumuo ng mga generator ng pagkasunog. Matutong gumamit ng mga mender. +sector.saltFlats.description = Sa labas ng disyerto ay matatagpuan ang Salt Flats. Ilang resource ang makikita sa lokasyong ito.\n\nNagtayo ang kaaway ng resource storage complex dito. Tanggalin ang kanilang core. Walang iwanan na nakatayo. +sector.craters.description = Ang tubig ay naipon sa bunganga na ito, relic ng mga lumang digmaan. Bawiin ang lugar. Mangolekta ng buhangin. Gumawa ng metaglass. Magbomba ng tubig upang palamig ang mga turret at drill. +sector.ruinousShores.description = Nakalipas ang mga basura, ay ang baybayin. Minsan, ang lokasyong ito ay mayroong hanay ng pagtatanggol sa baybayin. Hindi gaanong natitira. Tanging ang pinakapangunahing mga istruktura ng depensa ang nananatiling hindi nasaktan, lahat ng iba pa ay nabawasan sa scrap.\nIpagpatuloy ang pagpapalawak. Tuklasin muli ang teknolohiya. +sector.stainedMountains.description = Sa kabilang bahagi ng lupain ay matatagpuan ang mga bundok, ngunit hindi nababahiran ng mga spores.\nI-extract ang masaganang titanium sa lugar na ito. Alamin kung paano ito gamitin.\n\nMas malaki ang presensya ng kaaway dito. Huwag silang bigyan ng oras na ipadala ang kanilang pinakamalakas na unit. +sector.overgrowth.description = Ang lugar na ito ay tinutubuan, mas malapit sa pinagmumulan ng mga spores.\nNagtatag ang kalaban ng isang outpost dito. Bumuo ng mga yunit ng Titan. Sirain mo. Bawiin ang nawala. +sector.tarFields.description = Ang labas ng isang oil production zone, sa pagitan ng mga bundok at disyerto. Isa sa ilang lugar na may magagamit na reserbang tar.\nBagaman inabandona, ang lugar na ito ay may ilang mapanganib na pwersa ng kaaway sa malapit. Huwag maliitin ang mga ito.\n\n[lightgray]Magsaliksik ng teknolohiya sa pagproseso ng langis kung maaari. +sector.desolateRift.description = Isang mapanganib na sona. Maraming mapagkukunan, ngunit maliit na espasyo. Mataas na panganib ng pagkasira. Umalis sa lalong madaling panahon. Huwag magpalinlang sa mahabang espasyo sa pagitan ng mga pag-atake ng kaaway. +sector.nuclearComplex.description = Isang dating pasilidad para sa paggawa at pagpoproseso ng thorium, naging mga guho.\n[lightgray]Saliksikin ang thorium at ang maraming gamit nito.\n\nAng kaaway ay naroroon sa napakaraming bilang, patuloy na naghahanap ng mga umaatake. +sector.fungalPass.description = Isang transition area sa pagitan ng matataas na bundok at mas mababang, spore-ridden na lupain. Matatagpuan dito ang isang maliit na base ng reconnaissance ng kaaway.\nSirain ito.\nGumamit ng mga unit ng Dagger at Crawler. Ilabas ang dalawang core. +sector.biomassFacility.description = Ang pinagmulan ng mga spores. Ito ang pasilidad kung saan sila sinaliksik at unang ginawa.\nSaliksikin ang teknolohiyang nakapaloob sa loob. Linangin ang mga spores para sa paggawa ng gasolina at mga plastik.\n\n[lightgray]Sa pagkamatay ng pasilidad na ito, inilabas ang mga spores. Wala sa lokal na ecosystem ang maaaring makipagkumpitensya sa gayong invasive na organismo. +sector.windsweptIslands.description = Sa kabila ng baybayin ay ang malayong hanay ng mga isla. Ipinapakita ng mga rekord na minsan silang nagkaroon ng [accent]Plastanium[]-producing structures.\n\nTakasan ang mga yunit ng hukbong-dagat ng kalaban. Magtatag ng isang base sa mga isla. Magsaliksik sa mga pabrika na ito. +sector.extractionOutpost.description = Isang malayong outpost, na itinayo ng kaaway para sa layunin ng paglulunsad ng mga mapagkukunan sa iba pang mga sektor.\n\nAng cross-sector transport technology ay mahalaga para sa karagdagang pananakop. Wasakin ang base. Magsaliksik sa kanilang mga Launch Pad. +sector.impact0078.description = Dito nakalatag ang mga labi ng interstellar transport vessel na unang pumasok sa sistemang ito.\n\nSalvage hangga't maaari mula sa pagkawasak. Magsaliksik ng anumang buo na teknolohiya. +sector.planetaryTerminal.description = Ang huling target.\n\nAng coastal base na ito ay naglalaman ng isang istraktura na may kakayahang maglunsad ng mga Core sa mga lokal na planeta. Ito ay napakahusay na binabantayan.\n\nGumawa ng mga yunit ng hukbong-dagat. Tanggalin ang kalaban sa lalong madaling panahon. Magsaliksik sa istraktura ng paglulunsad. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lawa +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Hati +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Itaas +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Sangang Daanan +sector.karst.name = Karst +sector.origin.name = Pinaggalingan +sector.onset.description = Ang tutorial sector. Ang objective ay hindi pa nagawa. Maghintay para sa kinabukasang impormasyon. +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Nasusunog +status.freezing.name = Nayeyelo +status.wet.name = Basa +status.muddy.name = Naputikan +status.melting.name = Natutunaw +status.sapped.name = Napahina +status.electrified.name = Napakuryente +status.spore-slowed.name = Binagalan ng Spore +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Di-magalaw +status.boss.name = Namumuno -settings.language = Language +settings.language = Wika settings.data = Game Data -settings.reset = Reset to Defaults -settings.rebind = Rebind -settings.resetKey = Reset -settings.controls = Controls +settings.reset = I-Reset sa mga Default +settings.rebind = I-Rebind +settings.resetKey = I-Reset +settings.controls = Mga Controls settings.game = Game settings.sound = Sound settings.graphics = Graphics -settings.cleardata = Clear Game Data... -settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone! -settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.cleardata = I-Clear ang Game Data... +settings.clear.confirm = Sigurado ka bang gusto mong i-clear ang data na ito?\nHindi na mababawi ang nagawa! +settings.clearall.confirm = [scarlet]WARNING![]\nIki-clear nito ang lahat ng data, kabilang ang mga pag-save, mapa, pag-unlock at keybinds.\nKapag pinindot mo ang 'ok', ibubura ng laro ang lahat ng data at awtomatikong lalabas. +settings.clearsaves.confirm = Sigurado ka bang gusto mong i-clear ang lahat ng iyong saves? +settings.clearsaves = I-Clear Saves +settings.clearresearch = I-Clear Research +settings.clearresearch.confirm = Sigurado ka bang gusto mong i-clear ang lahat ng iyong campaign research? +settings.clearcampaignsaves = Tanggalin ang mga Campaign Save +settings.clearcampaignsaves.confirm = Sigurado ka bang gusto mong i-clear ang lahat ng iyong mga campaign save? paused = [accent]< Paused > clear = Clear -banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector -yes = Yes -no = No +banned = [scarlet]Pinagbabawalan! +unsupported.environment = [scarlet]Hindi supportadong Environment +yes = OO +no = Hindi info.title = Info error.title = [scarlet]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Layunin stat.input = Input stat.output = Output -stat.booster = Booster -stat.tiles = Required Tiles -stat.affinities = Affinities -stat.powercapacity = Power Capacity -stat.powershot = Power/Shot -stat.damage = Damage -stat.targetsair = Targets Air -stat.targetsground = Targets Ground -stat.itemsmoved = Move Speed -stat.launchtime = Time Between Launches -stat.shootrange = Range -stat.size = Size -stat.displaysize = Display Size +stat.maxefficiency = Max ng Kahusayan +stat.booster = Pampalakas +stat.tiles = Kinakailangan mga Tiles +stat.affinities = Pagkakaugnay +stat.opposites = Kabaligtaran +stat.powercapacity = Kapasidad ng Kuryente +stat.powershot = Kuryente/Putok +stat.damage = Pinsala +stat.targetsair = Tinatarget ng mga Air +stat.targetsground = Tinatarget ng mga Ground +stat.itemsmoved = Bilis ng Pag-galaw +stat.launchtime = Oras sa pagitan ng mga launches +stat.shootrange = Saklaw +stat.size = Laki +stat.displaysize = Laki ng Display stat.liquidcapacity = Liquid Capacity -stat.powerrange = Power Range -stat.linkrange = Link Range -stat.instructions = Instructions -stat.powerconnections = Max Connections -stat.poweruse = Power Use -stat.powerdamage = Power/Damage -stat.itemcapacity = Item Capacity -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = Base Power Generation -stat.productiontime = Production Time +stat.powerrange = Saklaw ng Kuryente +stat.linkrange = Saklaw ng Link +stat.instructions = Tagubilin +stat.powerconnections = Max na Koneksyon +stat.poweruse = Ginagamit ng Kuryente +stat.powerdamage = Kuryente/Pinsala +stat.itemcapacity = Kapasidad ng mga Aytem +stat.memorycapacity = Kapasidad ng Memorya +stat.basepowergeneration = Pagbuo ng Kuryente +stat.productiontime = Oras ng Produksyon stat.repairtime = Block Full Repair Time -stat.speedincrease = Speed Increase -stat.range = Range -stat.drilltier = Drillables -stat.drillspeed = Base Drill Speed -stat.boosteffect = Boost Effect +stat.repairspeed = Bilis ng pagkumpuni +stat.weapons = Armas +stat.bullet = Bala +stat.moduletier = Module Tier +stat.unittype = Uri ng mga Unit +stat.speedincrease = Pag-taas ng bilis +stat.range = Saklaw +stat.drilltier = Mga Drillable +stat.drillspeed = Base na Bilis ng Drill +stat.boosteffect = Epekto ng Lakas stat.maxunits = Max Active Units stat.health = Health -stat.buildtime = Build Time +stat.armor = Baluti +stat.buildtime = Oras ng pagbuo stat.maxconsecutive = Max Consecutive -stat.buildcost = Build Cost -stat.inaccuracy = Inaccuracy -stat.shots = Shots -stat.reload = Shots/Second -stat.ammo = Ammo -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness +stat.buildcost = Gastos ng pagbuo +stat.inaccuracy = Ang Inaccuracy +stat.shots = Mga Putok +stat.reload = Putok/Segundo +stat.ammo = Mga Bala +stat.shieldhealth = Health ng Kalasag +stat.cooldowntime = Oras ng Cooldown +stat.explosiveness = Pagkasabog stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed +stat.lightningchance = Pagkakataon ng Lightning +stat.lightningdamage = Pinsala ng Lightning +stat.flammability = Pagkasunog +stat.radioactivity = Radyaktibidad +stat.charge = Charge +stat.heatcapacity = Kapasidad ng Init +stat.viscosity = Lagkit +stat.temperature = Temperatura +stat.speed = Bilis +stat.buildspeed = Bilis ng Pag-buo +stat.minespeed = Bilis ng Pagmimina stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.payloadcapacity = Kapasidad ng Payload +stat.abilities = Mga Abilidad +stat.canboost = Maaaring Magpalakas +stat.flying = Maaring Maglipad +stat.ammouse = Paggamit ng Bala +stat.ammocapacity = Kapasidad ng Bala +stat.damagemultiplier = Multiplier ng Pinsala +stat.healthmultiplier = Multiplier ng Health +stat.speedmultiplier = Multiplier ng Bilis +stat.reloadmultiplier = Multiplier ng BReload +stat.buildspeedmultiplier = Multiplier ng Bilis ng Pag-buo +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max ng mga target +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] pagbabawas ng pinsala +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min ng bilis +ability.stat.duration = [stat]{0} sec[lightgray] na tagal +ability.stat.buildtime = [stat]{0} sec[lightgray] oras na pagbuo -bar.drilltierreq = Better Drill Required -bar.noresources = Missing Resources -bar.corereq = Core Base Required -bar.drillspeed = Drill Speed: {0}/s -bar.pumpspeed = Pump Speed: {0}/s -bar.efficiency = Efficiency: {0}% -bar.powerbalance = Power: {0}/s -bar.powerstored = Stored: {0}/{1} -bar.poweramount = Power: {0} -bar.poweroutput = Power Output: {0} -bar.powerlines = Connections: {0}/{1} -bar.items = Items: {0} -bar.capacity = Capacity: {0} +bar.onlycoredeposit = Pinapayag lang ang Cire Depositing + +bar.drilltierreq = Kinakailangan ang Mas mahusay na Drill +bar.nobatterypower = Insufficient Battery Power +bar.noresources = Walang mga Kinakailangang Resources +bar.corereq = Kinakailangang Core Base +bar.corefloor = Kinakailangang Tile ng Core Zone +bar.cargounitcap = Naabot ng Limit ng Cargo Unit +bar.drillspeed = Bilis ng Drill: {0}/s +bar.pumpspeed = Bilis ng Pump: {0}/s +bar.efficiency = Kahusayan: {0}% +bar.boost = Palakas: +{0}% +bar.powerbuffer = Batteries: {0}/{1} +bar.powerbalance = Kuryente: {0}/s +bar.powerstored = Nakaimbak: {0}/{1} +bar.poweramount = Kuryente: {0} +bar.poweroutput = Output ng Kuryente: {0} +bar.powerlines = Mga Connection: {0}/{1} +bar.items = Aytems: {0} +bar.capacity = Kapasidad: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] -bar.liquid = Liquid -bar.heat = Heat -bar.power = Power -bar.progress = Build Progress +bar.liquid = Likido +bar.heat = Init +bar.cooldown = Cooldown + +bar.instability = Instability +bar.heatamount = Init: {0} +bar.heatpercent = Init: {0} ({1}%) +bar.power = Kuryente +bar.progress = Progress ng Bumuo +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,52 +1112,74 @@ bullet.damage = [stat]{0}[lightgray] damage bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] knockback bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blocks unit.blockssquared = blocks² -unit.powersecond = power units/second -unit.liquidsecond = liquid units/second -unit.itemssecond = items/second -unit.liquidunits = liquid units -unit.powerunits = power units -unit.degrees = degrees -unit.seconds = seconds +unit.powersecond = mga yunit ng kuryente/segundo +unit.tilessecond = tile/segundo +unit.liquidsecond = mga yunit ng likido/segundo +unit.itemssecond = aytem/segundo +unit.liquidunits = mga yunit ng likido +unit.powerunits = mga yunit ng kuryente +unit.heatunits = mga yunit ng init +unit.degrees = digri +unit.seconds = segundo unit.minutes = mins -unit.persecond = /sec +unit.persecond = /seg unit.perminute = /min -unit.timesspeed = x speed +unit.timesspeed = x bilis +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health -unit.items = items +unit.shieldhealth = health ng kalasag +unit.items = aytems unit.thousands = k unit.millions = mil -unit.billions = b -category.general = General -category.power = Power -category.liquids = Liquids -category.items = Items +unit.billions = bil +unit.shots = shots +unit.pershot = /shot +category.purpose = Ang Purpose +category.general = Pangkalahatan +category.power = Kuryente +category.liquids = Mga Likido +category.items = Mga Aytem category.crafting = Input/Output category.function = Function -category.optional = Optional Enhancements +category.optional = Opsyonal na mga enchantment +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Laktawan ang Core Launch/Land Animation setting.landscape.name = Lock Landscape setting.shadows.name = Shadows setting.blockreplace.name = Automatic Block Suggestions setting.linear.name = Linear Filtering setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Huwag paganahin ang Mods Sa Startup Crash setting.animatedwater.name = Animated Fluids setting.animatedshields.name = Animated Shields -setting.antialias.name = Antialias[lightgray] (requires restart)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Enemy Indicators setting.autotarget.name = Auto-Target @@ -732,61 +1189,66 @@ setting.fpscap.name = Max FPS setting.fpscap.none = None setting.fpscap.text = {0} FPS setting.uiscale.name = UI Scaling[lightgray] (restart required)[] -setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = Training -setting.difficulty.easy = Easy -setting.difficulty.normal = Normal -setting.difficulty.hard = Hard -setting.difficulty.insane = Insane -setting.difficulty.name = Difficulty: +setting.uiscale.description = Kinakailangan ang pag-restart upang mailapat ang mga pagbabago. +setting.swapdiagonal.name = Palaging Diagonal na Placement setting.screenshake.name = Screen Shake -setting.effects.name = Display Effects -setting.destroyedblocks.name = Display Destroyed Blocks -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Conveyor Placement Pathfinding +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur +setting.effects.name = I-Display Effects +setting.destroyedblocks.name = Ipakita ang mga Nawasak na Block +setting.blockstatus.name = I-Display Block Status +setting.conveyorpathfinding.name = Pathfinding ng Conveyor Placement setting.sensitivity.name = Controller Sensitivity setting.saveinterval.name = Save Interval -setting.seconds = {0} seconds -setting.blockselecttimeout.name = Block Select Timeout -setting.milliseconds = {0} milliseconds +setting.seconds = {0} segundo +setting.milliseconds = {0} millisegundo setting.fullscreen.name = Fullscreen setting.borderlesswindow.name = Borderless Window[lightgray] (restart may be required) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Maaaring kailanganin ang pag-restart upang mailapat ang mga pagbabago. setting.fps.name = Show FPS & Ping +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pixelate setting.minimap.name = Show Minimap -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Show Player Position +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Music Volume -setting.atmosphere.name = Show Planet Atmosphere +setting.atmosphere.name = Ipakita Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient Volume setting.mutemusic.name = Mute Music setting.sfxvol.name = SFX Volume setting.mutesound.name = Mute Sound -setting.crashreport.name = Send Anonymous Crash Reports +setting.crashreport.name = Mag-send ng Anonymous Crash Reports +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Chat Opacity setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity -setting.playerchat.name = Display Player Bubble Chat -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.beta = Note that beta versions of the game cannot make public lobbies. -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.playerchat.name = Ipakita Player Bubble Chat +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Iangkop ang interface upang ipakita ang bingaw +setting.macnotch.description = Kinakailangan ang pag-restart upang mailapat ang mga pagbabago +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. +public.beta = Tandaan na ang mga beta na bersyon ng laro ay hindi maaaring gumawa ng mga pampublikong lobby. +uiscale.reset = Nabago ang sukat ng UI.\nPindutin ang "OK" upang kumpirmahin ang sukat na ito.\n[scarlet]Binabalik at lalabas sa dating anyo ng[accent] {0}[] segundo... +uiscale.cancel = I-Cancel & Exit setting.bloom.name = Bloom keybind.title = Rebind Keys -keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. +keybinds.mobile = [scarlet]Karamihan sa mga keybinds dito ay hindi gumagana sa mobile. Ang pangunahing paggalaw lamang ang sinusuportahan. category.general.name = General category.view.name = View +category.command.name = Unit Command category.multiplayer.name = Multiplayer category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1263,27 @@ keybind.move_y.name = Move Y keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu keybind.schematic_flip_x.name = Flip Schematic X @@ -826,18 +1309,22 @@ keybind.select.name = Select/Shoot keybind.diagonal_placement.name = Diagonal Placement keybind.pick.name = Pick Block keybind.break_block.name = Break Block +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deselect keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Shoot keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pause keybind.pause_building.name = Pause/Resume Building keybind.minimap.name = Minimap +keybind.planet_map.name = Mapa ng Planeta +keybind.research.name = Mga Research +keybind.block_info.name = Info ng Block keybind.chat.name = Chat -keybind.player_list.name = Player List +keybind.player_list.name = Lista ng mga Players keybind.console.name = Console keybind.rotate.name = Rotate keybind.rotateplaced.name = Rotate Existing (Hold) @@ -845,81 +1332,150 @@ keybind.toggle_menus.name = Toggle Menus keybind.chat_history_prev.name = Chat History Prev keybind.chat_history_next.name = Chat History Next keybind.chat_scroll.name = Chat Scroll +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = Drop Unit keybind.zoom_minimap.name = Zoom Minimap mode.help.title = Description of modes mode.survival.name = Survival -mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play. +mode.survival.description = Ang normal na mode. Mga limitadong mapagkukunan at awtomatikong papasok na alon.\n[gray]Nangangailangan ng mga spawn ng kaaway sa mapa para maglaro. mode.sandbox.name = Sandbox -mode.sandbox.description = Infinite resources and no timer for waves. +mode.sandbox.description = Maraming resources at walang timer nang waves. mode.editor.name = Editor mode.pvp.name = PvP -mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. +mode.pvp.description = Lumaban sa iba pang mga manlalaro nang lokal.\n[gray]Nangangailangan ng hindi bababa sa 2 magkakaibang kulay na mga core sa mapa upang maglaro. mode.attack.name = Attack -mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. +mode.attack.description = Wasakin ang base ng kalaban. \n[gray]Nangangailangan ng pulang core sa mapa upang maglaro. mode.custom = Custom Rules +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Infinite Resources +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Waves +rules.airUseSpawns = Air units use spawn points rules.attack = Attack Mode -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = Infinite AI (Red Team) Resources rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Unit Health Multiplier rules.unitdamagemultiplier = Unit Damage Multiplier +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Build Cost Multiplier rules.buildspeedmultiplier = Build Speed Multiplier rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Waves Wait for Enemies +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) -rules.unitammo = Units Require Ammo +rules.unitammo = Mga yunit nangangailangan ng Munisyon +rules.enemyteam = Pangkat ng mga Kaaway +rules.playerteam = Pangkat ng Player rules.title.waves = Waves rules.title.resourcesbuilding = Resources & Building -rules.title.enemy = Enemies -rules.title.unit = Units +rules.title.enemy = Mga Kaaway +rules.title.unit = Mga Yunit rules.title.experimental = Experimental -rules.title.environment = Environment +rules.title.environment = Kapaligiran +rules.title.teams = Mga Team +rules.title.planet = Planeta rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light -rules.weather = Weather +rules.weather = Panahon rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. -content.item.name = Items -content.liquid.name = Liquids -content.unit.name = Units -content.block.name = Blocks +content.item.name = Aytems +content.liquid.name = Likido +content.unit.name = Yunits +content.block.name = Mga Block +content.status.name = Status ng mga Epekto +content.sector.name = Mga Sector +content.team.name = Mga Faction +wallore = (Wall) + +item.copper.name = Tanso +item.lead.name = Tingga -item.copper.name = Copper -item.lead.name = Lead item.coal.name = Coal -item.graphite.name = Graphite -item.titanium.name = Titanium +item.graphite.name = Grapayt +item.titanium.name = Titanyo item.thorium.name = Thorium -item.silicon.name = Silicon +item.silicon.name = Silikon item.plastanium.name = Plastanium -item.phase-fabric.name = Phase Fabric +item.phase-fabric.name = Phase Pabriko item.surge-alloy.name = Surge Alloy item.spore-pod.name = Spore Pod -item.sand.name = Sand +item.sand.name = Buhangin item.blast-compound.name = Blast Compound item.pyratite.name = Pyratite item.metaglass.name = Metaglass -item.scrap.name = Scrap -liquid.water.name = Water +item.scrap.name = Piraso +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Berilyo +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst +liquid.water.name = Tubig liquid.slag.name = Slag -liquid.oil.name = Oil -liquid.cryofluid.name = Cryofluid +liquid.oil.name = Langis +liquid.cryofluid.name = Lamigtubig + +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -947,6 +1503,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,21 +1515,43 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Drone sa Paggagawa +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff -block.sand-boulder.name = Sand Boulder -block.grass.name = Grass -block.slag.name = Slag -block.space.name = Space -block.salt.name = Salt -block.salt-wall.name = Salt Wall +block.sand-boulder.name = Batong Buhangin +block.basalt-boulder.name = Batong Basalt +block.grass.name = Damo +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid +block.space.name = Kalawakan +block.salt.name = Asin +block.salt-wall.name = Asin na Pader block.pebbles.name = Pebbles block.tendrils.name = Tendrils -block.sand-wall.name = Sand Wall +block.sand-wall.name = Buhangin na Pader block.spore-pine.name = Spore Pine -block.spore-wall.name = Spore Wall +block.spore-wall.name = Spore na Pader block.boulder.name = Boulder block.snow-boulder.name = Snow Boulder block.snow-pine.name = Snow Pine @@ -978,136 +1561,143 @@ block.moss.name = Moss block.shrubs.name = Shrubs block.spore-moss.name = Spore Moss block.shale-wall.name = Shale Wall -block.scrap-wall.name = Scrap Wall -block.scrap-wall-large.name = Large Scrap Wall -block.scrap-wall-huge.name = Huge Scrap Wall -block.scrap-wall-gigantic.name = Gigantic Scrap Wall +block.scrap-wall.name = Pirasong Pader +block.scrap-wall-large.name = Malaking Pirasong Pader +block.scrap-wall-huge.name = Masmalaking Pirasong Pader +block.scrap-wall-gigantic.name = Pinakamalaking Pirasong Pader block.thruster.name = Thruster block.kiln.name = Kiln -block.graphite-press.name = Graphite Press +block.graphite-press.name = Grapayt Press block.multi-press.name = Multi-Press block.constructing = {0} [lightgray](Constructing) block.spawn.name = Enemy Spawn +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Core: Shard block.core-foundation.name = Core: Foundation block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Deep Water -block.water.name = Water -block.tainted-water.name = Tainted Water -block.darksand-tainted-water.name = Dark Sand Tainted Water +block.deep-water.name = Malalim ng Tubig +block.shallow-water.name = Tubig +block.tainted-water.name = Bahid ng Tubig +block.deep-tainted-water.name = Malalim na bahid ng tubig +block.darksand-tainted-water.name = Madilim na buhangin na may bahid ng tubig block.tar.name = Tar -block.stone.name = Stone -block.sand.name = Sand -block.darksand.name = Dark Sand -block.ice.name = Ice +block.stone.name = Bato +block.sand-floor.name = Buhangin +block.darksand.name = Madilim na Buhangin + +block.ice.name = Yelo block.snow.name = Snow -block.craters.name = Craters -block.sand-water.name = Sand water +block.crater-stone.name = Craters +block.sand-water.name = Buhangin na Tubig block.darksand-water.name = Dark Sand Water block.char.name = Char block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Ice Snow -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall +block.stone-wall.name = Pader na Bato +block.ice-wall.name = Pader na Yelo +block.snow-wall.name = Pader na Niyebe +block.dune-wall.name = Pader ng Dune block.pine.name = Pine -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud -block.white-tree-dead.name = White Tree Dead -block.white-tree.name = White Tree -block.spore-cluster.name = Spore Cluster -block.metal-floor.name = Metal Floor 1 -block.metal-floor-2.name = Metal Floor 2 -block.metal-floor-3.name = Metal Floor 3 -block.metal-floor-5.name = Metal Floor 4 -block.metal-floor-damaged.name = Metal Floor Damaged -block.dark-panel-1.name = Dark Panel 1 -block.dark-panel-2.name = Dark Panel 2 -block.dark-panel-3.name = Dark Panel 3 -block.dark-panel-4.name = Dark Panel 4 -block.dark-panel-5.name = Dark Panel 5 -block.dark-panel-6.name = Dark Panel 6 -block.dark-metal.name = Dark Metal +block.dirt.name = Dumi +block.dirt-wall.name = Pader ng Dumi +block.mud.name = Putik +block.white-tree-dead.name = Namatay na Puting Puno +block.white-tree.name = Puting Puno +block.spore-cluster.name = Kumpol ng Spore +block.metal-floor.name = Bakal na Sahig 1 +block.metal-floor-2.name = Bakal na Sahig 2 +block.metal-floor-3.name = Bakal na Sahig 3 +block.metal-floor-4.name = Bakal na Sahig 4 +block.metal-floor-5.name = Bakal na Sahig 4 +block.metal-floor-damaged.name = Wasak na Bakal na Sahig +block.dark-panel-1.name = Madilim na Panel 1 +block.dark-panel-2.name = Madilim na Panel 2 +block.dark-panel-3.name = Madilim na Panel 3 +block.dark-panel-4.name = Madilim na Panel 4 +block.dark-panel-5.name = Madilim na Panel 5 +block.dark-panel-6.name = Madilim na Panel +block.dark-metal.name = Madilim na Bakal block.basalt.name = Basalt -block.hotrock.name = Hot Rock -block.magmarock.name = Magma Rock -block.copper-wall.name = Copper Wall -block.copper-wall-large.name = Large Copper Wall -block.titanium-wall.name = Titanium Wall -block.titanium-wall-large.name = Large Titanium Wall -block.plastanium-wall.name = Plastanium Wall -block.plastanium-wall-large.name = Large Plastanium Wall -block.phase-wall.name = Phase Wall -block.phase-wall-large.name = Large Phase Wall -block.thorium-wall.name = Thorium Wall -block.thorium-wall-large.name = Large Thorium Wall -block.door.name = Door -block.door-large.name = Large Door +block.hotrock.name = Mainit na Bato +block.magmarock.name = Batong Magma +block.copper-wall.name = Tanso na Pader +block.copper-wall-large.name = Malaking Tanso na Pader +block.titanium-wall.name = Titanyo na Pader +block.titanium-wall-large.name = Malaking Titanyo na Pader +block.plastanium-wall.name = Plastanium na Pader +block.plastanium-wall-large.name = Malaking Plastanium na Pader +block.phase-wall.name = Phase na Pader +block.phase-wall-large.name = Malaking Phase na Pader +block.thorium-wall.name = Thorium na Pader +block.thorium-wall-large.name = Malaking Thorium na Pader +block.door.name = Pinto +block.door-large.name = Malaking Pinto block.duo.name = Duo block.scorch.name = Scorch block.scatter.name = Scatter block.hail.name = Hail block.lancer.name = Lancer block.conveyor.name = Conveyor -block.titanium-conveyor.name = Titanium Conveyor -block.plastanium-conveyor.name = Plastanium Conveyor -block.armored-conveyor.name = Armored Conveyor -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts. +block.titanium-conveyor.name = Titanyo na Conveyor +block.plastanium-conveyor.name = Plastanium na Conveyor +block.armored-conveyor.name = Nakabaluti na Conveyor block.junction.name = Junction block.router.name = Router -block.distributor.name = Distributor +block.distributor.name = Distribyutor block.sorter.name = Sorter block.inverted-sorter.name = Inverted Sorter -block.message.name = Message +block.message.name = Mensahe +block.reinforced-message.name = Pinatibay na Mensahe +block.world-message.name = Mensahe ng Mundo +block.world-switch.name = World Switch block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.overflow-gate.name = Overflow Gate block.underflow-gate.name = Underflow Gate -block.silicon-smelter.name = Silicon Smelter +block.silicon-smelter.name = Silikon na Smelter block.phase-weaver.name = Phase Weaver block.pulverizer.name = Pulverizer block.cryofluid-mixer.name = Cryofluid Mixer -block.melter.name = Melter +block.melter.name = Pangtunaw block.incinerator.name = Incinerator block.spore-press.name = Spore Press -block.separator.name = Separator +block.separator.name = Panghiwalay block.coal-centrifuge.name = Coal Centrifuge -block.power-node.name = Power Node -block.power-node-large.name = Large Power Node -block.surge-tower.name = Surge Tower -block.diode.name = Battery Diode -block.battery.name = Battery -block.battery-large.name = Large Battery +block.power-node.name = Kuryente na Node +block.power-node-large.name = Malaking Kuryente na Node +block.surge-tower.name = Tore na Surge +block.diode.name = Bateryang Diode +block.battery.name = Baterya +block.battery-large.name = Malaking Baterya block.combustion-generator.name = Combustion Generator block.steam-generator.name = Steam Generator block.differential-generator.name = Differential Generator block.impact-reactor.name = Impact Reactor -block.mechanical-drill.name = Mechanical Drill -block.pneumatic-drill.name = Pneumatic Drill +block.mechanical-drill.name = Mekanikal na Drill +block.pneumatic-drill.name = Niyumatik na Drill block.laser-drill.name = Laser Drill block.water-extractor.name = Water Extractor block.cultivator.name = Cultivator -block.conduit.name = Conduit -block.mechanical-pump.name = Mechanical Pump -block.item-source.name = Item Source -block.item-void.name = Item Void -block.liquid-source.name = Liquid Source -block.liquid-void.name = Liquid Void -block.power-void.name = Power Void -block.power-source.name = Power Source -block.unloader.name = Unloader +block.conduit.name = Tubo +block.mechanical-pump.name = Mekanikal na Pump +block.item-source.name = Pinagmulan ng Aytem +block.item-void.name = Void ng Aytem +block.liquid-source.name = Pinagmulan ng Likido +block.liquid-void.name = Void ng Likido +block.power-void.name = Void ng Kuryente +block.power-source.name = Pinagmulan ng Kuryente +block.unloader.name = Diskargahan block.vault.name = Vault block.wave.name = Wave block.tsunami.name = Tsunami block.swarmer.name = Swarmer block.salvo.name = Salvo block.ripple.name = Ripple -block.phase-conveyor.name = Phase Conveyor -block.bridge-conveyor.name = Bridge Conveyor +block.phase-conveyor.name = Phase na Conveyor +block.bridge-conveyor.name = Tulay ng Conveyor block.plastanium-compressor.name = Plastanium Compressor block.pyratite-mixer.name = Pyratite Mixer block.blast-mixer.name = Blast Mixer @@ -1115,28 +1705,30 @@ block.solar-panel.name = Solar Panel block.solar-panel-large.name = Large Solar Panel block.oil-extractor.name = Oil Extractor block.repair-point.name = Repair Point -block.pulse-conduit.name = Pulse Conduit -block.plated-conduit.name = Plated Conduit -block.phase-conduit.name = Phase Conduit -block.liquid-router.name = Liquid Router -block.liquid-tank.name = Liquid Tank -block.liquid-junction.name = Liquid Junction -block.bridge-conduit.name = Bridge Conduit +block.repair-turret.name = Repair Turret +block.pulse-conduit.name = Pulse na Conduit +block.plated-conduit.name = Plated na Conduit +block.phase-conduit.name = Phase na Conduit +block.liquid-router.name = Likidong Router +block.liquid-tank.name = Likidong Tangke +block.liquid-container.name = Likidong Lalagyan +block.liquid-junction.name = Likidong Junction +block.bridge-conduit.name = Tubong Tulay block.rotary-pump.name = Rotary Pump block.thorium-reactor.name = Thorium Reactor block.mass-driver.name = Mass Driver block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump +block.impulse-pump.name = Impulse Pump block.thermal-generator.name = Thermal Generator -block.alloy-smelter.name = Alloy Smelter +block.surge-smelter.name = Surge Smelter block.mender.name = Mender block.mend-projector.name = Mend Projector -block.surge-wall.name = Surge Wall -block.surge-wall-large.name = Large Surge Wall +block.surge-wall.name = Surge na Pader +block.surge-wall-large.name = Malaking Surge na Pader block.cyclone.name = Cyclone block.fuse.name = Fuse -block.shock-mine.name = Shock Mine -block.overdrive-projector.name = Overdrive Projector +block.shock-mine.name = Mina ng Kuryente +block.overdrive-projector.name = Projector ng Overdrive block.force-projector.name = Force Projector block.arc.name = Arc block.rtg-generator.name = RTG Generator @@ -1145,178 +1737,449 @@ block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Container block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory +block.ground-factory.name = Pabrika ng Lupa +block.air-factory.name = Pabrika ng Langit +block.naval-factory.name = Pabrika ng Pandagat block.additive-reconstructor.name = Additive Reconstructor block.multiplicative-reconstructor.name = Multiplicative Reconstructor block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Malaking Constructor +block.large-constructor.description = Gumagawa ng mga istruktura hanggang sa 4x4 na tile ang laki. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Nagde-deconstruct ng mga istruktura at yunit. Ibinabalik ang 100% ng halaga ng block. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Mag-load ng mga likido at mga item sa mga blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Naglalabas ng mga likido at mga item mula sa mga blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor block.logic-processor.name = Logic Processor block.hyper-processor.name = Hyper Processor block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display +block.large-logic-display.name = Malaking Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = blue +team.malis.name = Malis team.crux.name = red team.sharded.name = orange -team.orange.name = orange team.derelict.name = derelict team.green.name = green -team.purple.name = purple -tutorial.next = [lightgray] -tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse[accent] [[WASD][] to move.\n[accent]Scroll[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper -tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then 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.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\nYou can also select the drill by tapping [accent][[2][] then [accent][[1][] quickly, regardless of which tab is open.\n[accent]Right-click[] to stop building. -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.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\nUse the scrollwheel to rotate blocks before placing them.\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core. -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]Place 2 conveyors with the line tool, then deliver an item into the core. -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.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.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[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper. -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.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 obtained resources can then be used to research new technology.\n\n[accent]Press the launch button. +team.blue.name = blue +hint.skip = Skip +hint.desktopMove = Gamitin ang [accent][[WASD][] para gumalaw. +hint.zoom = [accent]Scroll[] para mag-zoom in o out. +hint.desktopShoot = [accent][[Left-click][] para mag-shoot. +hint.depositItems = Upang maglipat ng mga item, i-drag mula sa iyong ship patungo sa core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = I-activate ang \ue817 [accent]hammer[] sa kanang bahagi sa ibaba at i-tap para masira ang mga bloke.\n\nI-hold ang iyong daliri sa isang segundo at i-drag para masira ang isang seleksyon. +hint.blockInfo = Tingnan ang impormasyon ng isang block sa pamamagitan ng pagpili nito sa [accent]build menu[], pagkatapos ay pagpili sa [accent][[?][] na button sa kanan. +hint.derelict = Ang [accent]Derelict[] na mga istraktura ay mga sirang labi ng mga lumang base na hindi na gumagana.\n\nAng mga istrukturang ito ay maaaring [accent]deconstructed[] para sa mga mapagkukunan. +hint.research = Gamitin ang button na \ue875 [accent]Research[] para magsaliksik ng bagong teknolohiya. +hint.research.mobile = Gamitin ang button na \ue875 [accent]Research[] sa \ue88c [accent]Menu[] para magsaliksik ng bagong teknolohiya. +hint.unitControl = Pindutin ang [accent][[L-ctrl][] at [accent]click[] upang kontrolin ang mga friendly na unit o turrets. +hint.unitControl.mobile = [accent][[Double-tap][] para kontrolin ang mga friendly na unit o turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Kapag sapat na ang mga mapagkukunan, maaari mong [accent]Ilunsad[] sa pamamagitan ng pagpili sa mga kalapit na sektor mula sa \ue827 [accent]Map[] sa kanang ibaba. +hint.launch.mobile = Kapag sapat na ang mga mapagkukunan, maaari mong [accent]Ilunsad[] sa pamamagitan ng pagpili sa mga kalapit na sektor mula sa \ue827 [accent]Map[] sa \ue88c [accent]Menu[]. +hint.schematicSelect = Pindutin ang [accent][[F][] at i-drag upang pumili ng mga bloke na kokopyahin at ipe-paste.\n\n[accent][[Middle Click][] upang kopyahin ang isang uri ng block. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Pindutin ang [accent][[L-Ctrl][] habang dina-drag ang mga conveyor para awtomatikong bumuo ng landas. +hint.boost = Pindutin ang [accent][[L-Shift][] para lumipad sa mga obstacle kasama ang iyong kasalukuyang unit.\n\nIlang ground unit lang ang may mga booster +hint.payloadPickup = Pindutin ang [accent][[[] para kunin ang maliliit na block o unit. +hint.payloadPickup.mobile = [accent]I-tap nang matagal ang[] isang maliit na block o unit para kunin ito. +hint.payloadDrop = Pindutin ang [accent]][] para mag-drop ng payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. -item.copper.description = The most basic structural material. Used extensively in all types of 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.graphite.description = Mineralized carbon, used for ammunition and electrical components. -item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. -item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production. -item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. -item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. -item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. -item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition. -item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. -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 = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel. -item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised. -item.pyratite.description = An extremely flammable substance used in incendiary weapons. -liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing. -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 = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon. -liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant. +item.copper.description = Ang pinaka basic na struktural materyal. Malawakang ginagamit sa lahat ng types ng blocks. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. +item.lead.description = Ang panimulang at basic na materyal. Malawakang ginagamit sa electronika at sa transportasyon ng likido gamit ng blocks. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. +item.metaglass.description = Ito ay matigas na glass compound. Malawakang ginagamit sa distribution ng likido at pag imbakan. +item.graphite.description = Mineralized carbon, Malawakang ginagamit sa ammunisyon at sa mga bahagi ng electrisidad. +item.sand.description = Ang karaniwang materyal na malawakang ginagamit sa smelting, pareho sa alloying at bilang flux +item.coal.description = Ang karaniwang materyal na malawakang ginagamit sa smelting, pareho sa alloying at bilang flux +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. +item.titanium.description = Ang bihira hanapin at magaan na metal. Malawaking ginagamit sa transportasyon ng likido, mga drills at aircraft. +item.thorium.description = Ito ay malagong, radioactive metal ginagamit para sa supporta sa istraktura at nuklear fuel. +item.scrap.description = Galing sa mga matatanda at natirang struktura at units. Naglalaman ng ibat ibang metals. +item.scrap.details = Leftover remnants of old structures and units. +item.silicon.description = Ang nakakatulong na semiconductor. Aplikasyon sa solar panels, Komplikadong electronika at homing turret ammunisyon. +item.plastanium.description = Ito ay magaan, malagkit na materyal ginamit sa advanced aircraft at fragmentation ammunisyon. +item.phase-fabric.description = Ito ay malapit na mawalan ng timbang na substansya ginamit sa advanced na electronika at self-repairing na technolohiya. +item.surge-alloy.description = Ang advanced na pinag halung metal na may kakaibang electrical properties. +item.spore-pod.description = Isang pod ng mga sintetikong spore, na synthesize mula sa mga konsentrasyon sa atmospera para sa mga layuning pang-industriya. Ginagamit para sa conversion sa langis, pampasabog at gasolina. +item.spore-pod.details = Mga spores. Malamang na isang sintetikong anyo ng buhay. Naglalabas ng mga gas na nakakalason sa ibang biyolohikal na buhay. Lubhang invasive. Lubos na nasusunog sa ilang mga kundisyon. +item.blast-compound.description = Isang hindi matatag na compound na ginagamit sa mga bomba at pampasabog. Na-synthesize mula sa mga spore pod at iba pang pabagu-bagong substance. Gamitin bilang gasolina ay hindi pinapayuhan. +item.pyratite.description = Isang sobrang nasusunog na substance na ginagamit sa mga armas na nagniningas. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. +liquid.water.description = Ang pinaka-kapaki-pakinabang na likido. Karaniwang ginagamit para sa mga cooling machine at pagpoproseso ng basura. +liquid.slag.description = Iba't ibang uri ng tinunaw na metal na pinaghalo. Maaaring ihiwalay sa mga mineral na bumubuo nito, o i-spray sa mga yunit ng kaaway bilang sandata. +liquid.oil.description = Isang likidong ginagamit sa advanced na produksyon ng materyal. Maaaring gawing karbon bilang panggatong, o i-spray at sunugin bilang sandata. +liquid.cryofluid.description = Isang inert, non-corrosive na likido na nilikha mula sa tubig at titanium. May napakataas na kapasidad ng init. Malawakang ginagamit bilang coolant. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Gumagalaw ng mga item sa parehong bilis ng mga titanium conveyor, ngunit nagtataglay ng mas maraming sandata. Hindi tumatanggap ng mga input mula sa mga gilid mula sa anumang bagay maliban sa iba pang mga conveyor belt. +block.illuminator.description = Isang maliit, compact, configurable light source. Nangangailangan ng kapangyarihan upang gumana. -block.message.description = Stores a message. Used for communication between allies. -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 pure coal. Produces silicon. -block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run. -block.plastanium-compressor.description = Produces plastanium from oil and titanium. -block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function. -block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. -block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage. -block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce 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 wave turrets. -block.separator.description = Separates slag into its mineral components. Outputs the cooled result. -block.spore-press.description = Compresses spore pods under extreme pressure to synthesize oil. -block.pulverizer.description = Crushes scrap into fine sand. -block.coal-centrifuge.description = Solidifes oil into chunks of coal. -block.incinerator.description = Vaporizes any excess item or liquid it receives. -block.power-void.description = Voids all power inputted into it. Sandbox only. -block.power-source.description = Infinitely outputs power. Sandbox only. -block.item-source.description = Infinitely outputs items. Sandbox only. -block.item-void.description = Destroys any items. Sandbox only. -block.liquid-source.description = Infinitely outputs liquids. Sandbox only. -block.liquid-void.description = Removes any liquids. Sandbox only. -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.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.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. -block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. -block.thorium-wall.description = A strong defensive block.\nDecent protection from enemies. -block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles. -block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact. -block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles. -block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly. -block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles. -block.door.description = A small door. Can be opened or closed by tapping. -block.door-large.description = A large door. Can be opened and closed by tapping.\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 = An upgraded version of the Mender. Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. -block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. -block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric can be used to increase shield size. -block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy. -block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into blocks. Rotatable. -block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. -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 = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building. -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.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. -block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[] -block.distributor.description = An advanced router. Splits items to up to 7 other directions equally. -block.overflow-gate.description = Only outputs to the left and right if the front path is blocked. -block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. -block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate. -block.mechanical-pump.description = A cheap pump with slow output, but no power consumption. -block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power. -block.thermal-pump.description = The ultimate pump. +block.message.description = Nag-iimbak ng mensahe. Ginagamit para sa komunikasyon sa pagitan ng mga kaalyado. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. +block.graphite-press.description = Pinipilit ang mga tipak ng karbon sa purong mga piraso ng grapayt. +block.multi-press.description = Isang na-upgrade na bersyon ng graphite press. Gumagamit ng tubig at kapangyarihan upang iproseso ang karbon nang mabilis at mahusay. +block.silicon-smelter.description = Binabawasan ang buhangin na may purong karbon. Gumagawa ng silikon. +block.kiln.description = Tinutunaw ang buhangin at humahantong sa compound na kilala bilang metaglass. Nangangailangan ng maliit na halaga ng kapangyarihan upang tumakbo. +block.plastanium-compressor.description = Gumagawa ng plastanium mula sa langis at titanium. +block.phase-weaver.description = Synthesizes phase fabric mula sa radioactive thorium at buhangin. Nangangailangan ng napakalaking dami ng kapangyarihan upang gumana. +block.surge-smelter.description = Fuses titanium, lead, silicon and copper into surge alloy. +block.cryofluid-mixer.description = Hinahalo ang tubig at pinong titanium powder sa cryofluid. Mahalaga para sa paggamit ng thorium reactor. +block.blast-mixer.description = Dinudurog at hinahalo ang mga kumpol ng spores na may pyratite upang makagawa ng blast compound. +block.pyratite-mixer.description = Naghahalo ng coal, lead at sand sa sobrang nasusunog na pyratite. +block.melter.description = Tinutunaw ang scrap sa slag para sa karagdagang pagproseso o paggamit sa mga wave turret. +block.separator.description = Pinaghihiwalay ang slag sa mga bahagi ng mineral nito. Inilalabas ang pinalamig na resulta. +block.spore-press.description = Kino-compress ang mga spore pod sa ilalim ng matinding pressure para mag-synthesize ng oil. +block.pulverizer.description = Dinudurog ang scrap sa pinong sand. +block.coal-centrifuge.description = Pinapatigas ang oil sa mga coal. +block.incinerator.description = Pinapasingaw ang anumang labis na bagay o likidong natatanggap nito. +block.power-void.description = Walang laman ang lahat ng kuryente ipinasok dito. Sandbox lang. +block.power-source.description = Walang katapusang naglalabas ng kuryente. Sandbox lang. +block.item-source.description = Walang katapusan na naglalabas ng mga item. Sandbox lang. +block.item-void.description = Sinisira ang anumang mga item. Sandbox lang. +block.liquid-source.description = Walang katapusan na naglalabas ng mga likido. Sandbox lang. +block.liquid-void.description = Tinatanggal ang anumang likido. Sandbox lang. +block.payload-source.description = Walang katapusang naglalabas ng mga payload. Sandbox lang. +block.payload-void.description = Sinisira ang anumang mga payload. Sandbox lang. +block.copper-wall.description = Isang murang defensive block.\nKapaki-pakinabang para sa pagprotekta sa core at mga turret sa unang ilang alon. +block.copper-wall-large.description = Isang murang defensive block.\nKapaki-pakinabang para sa pagprotekta sa core at mga turret sa unang ilang alon.\nKumuha ng maraming tile. +block.titanium-wall.description = Isang katamtamang malakas na defensive block.\nNagbibigay ng katamtamang proteksyon mula sa mga kaaway. +block.titanium-wall-large.description = Isang medyo malakas na defensive block.\nNagbibigay ng katamtamang proteksyon mula sa mga kaaway.\nKumuha ng maraming tile. +block.plastanium-wall.description = Isang espesyal na uri ng pader na sumisipsip ng mga electric arc at hinaharangan ang mga awtomatikong koneksyon ng power node. +block.plastanium-wall-large.description = Isang espesyal na uri ng pader na sumisipsip ng mga electric arc at hinaharangan ang mga awtomatikong koneksyon ng power node.\n Gumagamit ng maraming tile. +block.thorium-wall.description = Isang malakas na defensive block.\nDisenteng proteksyon mula sa mga kaaway. +block.thorium-wall-large.description = Isang malakas na defensive block.\nDisenteng proteksyon mula sa mga kaaway.\nGumagamit ng maraming tile. +block.phase-wall.description = Isang pader na pinahiran ng espesyal na phase-based na reflective compound. Pinapalihis ang karamihan sa mga bala sa pagtama. +block.phase-wall-large.description = Isang pader na pinahiran ng espesyal na phase-based na reflective compound. Pinapalihis ang karamihan sa mga bala kapag natamaan.\nGumagamit ng maraming tile. +block.surge-wall.description = Isang napakatibay na defensive block.\nNagpapalaki ng singil sa bullet contact, na ilalabas ito nang random. +block.surge-wall-large.description = Isang napakatibay na defensive block.\nBumubuo ng singil sa bullet contact, ilalabas ito nang random.\nGumagamit ng maraming tile. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Isang maliit na pinto. Maaaring buksan o isara sa pamamagitan ng pag-tap. +block.door-large.description = Isang malaking pinto. Maaaring buksan at isara sa pamamagitan ng pag-tap.\nSpans maramihang mga tile. +block.mender.description = Pana-panahong nag-aayos ng mga blocks sa paligid nito. Pinapanatiling maayos ang mga depensa sa pagitan ng mga alon.\nOpsyonal na gumagamit ng silicon upang palakasin ang saklaw at kahusayan. +block.mend-projector.description = Isang na-upgrade na bersyon ng Mender. Nag-aayos ng mga bloke sa paligid nito.\nOpsyonal na gumagamit ng phase fabric upang palakasin ang saklaw at kahusayan. +block.overdrive-projector.description = Pinapataas ang bilis ng mga kalapit na buildings.\nOpsyonal na gumagamit ng phase fabric upang palakasin ang saklaw at kahusayan. +block.force-projector.description = Gumagawa ng hexagonal force field sa paligid nito, na nagpoprotekta sa mga gusali at unit sa loob mula sa pagkasira.\nNag-o-overheat kung masyadong maraming pinsala ang natamo. Opsyonal na gumagamit ng coolant upang maiwasan ang sobrang init. Maaaring gamitin ang phase fabric upang madagdagan ang laki ng kalasag. +block.shock-mine.description = Pinipinsala ang mga kaaway na tumuntong sa minahan. Halos hindi nakikita ng kalaban. +block.conveyor.description = Pangunahing block ng transportasyon ng item. Inililipat ang mga item pasulong at awtomatikong idedeposito ang mga ito sa mga bloke. Naiikot. +block.titanium-conveyor.description = Advanced na block ng transportasyon ng item. Inilipat ang mga item nang mas mabilis kaysa sa mga karaniwang conveyor. +block.plastanium-conveyor.description = Naglilipat ng mga item sa mga batch.\nTinatanggap ang mga item sa likod, at ibinababa ang mga ito sa tatlong direksyon sa harap. +block.junction.description = Nagsisilbing tulay para sa dalawang tumatawid na conveyor belt. Kapaki-pakinabang sa mga sitwasyon na may dalawang magkaibang conveyor na nagdadala ng magkaibang mga materyales sa magkaibang lokasyon. +block.bridge-conveyor.description = Advanced na block ng transportasyon ng item. Nagbibigay-daan sa pagdadala ng mga item sa hanggang 3 tile ng anumang lupain o gusali. +block.phase-conveyor.description = Advanced na block ng transportasyon ng item. Gumagamit ng kuryente para mag-teleport ng mga item sa isang konektadong phase conveyor sa ilang tile. +block.sorter.description = Pag-uuri ng mga item. Kung ang isang item ay tumugma sa pagpili, ito ay pinapayagang makapasa. Kung hindi, ang item ay nai-output sa kaliwa at kanan. +block.inverted-sorter.description = Pinoproseso ang mga item tulad ng isang karaniwang sorter, ngunit sa halip ay naglalabas ng mga napiling item sa mga gilid. +block.router.description = Tumatanggap ng mga item, pagkatapos ay i-output ang mga ito sa hanggang 3 iba pang direksyon nang pantay. Kapaki-pakinabang para sa paghahati ng mga materyales mula sa isang pinagmulan patungo sa maraming target.\n\n[scarlet]Huwag gumamit sa tabi ng mga production input, dahil mababara ang mga ito ng output.[] +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. +block.distributor.description = Isang advanced na router. Hinahati ang mga item sa hanggang 7 iba pang direksyon nang pantay. +block.overflow-gate.description = Mga output lamang sa kaliwa at kanan kung ang harap na landas ay naka-block. +block.underflow-gate.description = Ang kabaligtaran ng isang overflow gate. Mga output sa harap kung ang kaliwa at kanang mga landas ay naharang. +block.mass-driver.description = Ang pinakahuling block ng transportasyon ng item. Nangongolekta ng ilang mga item at pagkatapos ay kukunan ang mga ito sa isa pang mass driver sa mahabang hanay. Nangangailangan ng kuryente upang gumana. +block.mechanical-pump.description = Isang murang bomba na may mabagal na output, ngunit walang pagkonsumo ng kuryente. +block.rotary-pump.description = Isang advanced na bomba. Nagbomba ng mas maraming likido, ngunit nangangailangan ng kapangyarihan. +block.impulse-pump.description = Pumps and outputs liquids. block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits. block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. 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.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks. block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles. -block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. -block.power-node-large.description = An advanced power node with greater range. -block.surge-tower.description = An extremely long-range power node with fewer available connections. -block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. -block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit. -block.battery-large.description = Stores much more power than a regular battery. -block.combustion-generator.description = Generates power by burning flammable materials, such as coal. -block.thermal-generator.description = Generates power when placed in hot locations. -block.steam-generator.description = An advanced combustion generator. More efficient, but requires additional water for generating steam. -block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. -block.rtg-generator.description = A simple, reliable generator. Uses the heat of decaying radioactive compounds to produce energy at a slow rate. -block.solar-panel.description = Provides a small amount of power from the sun. -block.solar-panel-large.description = A significantly more efficient version of the standard solar panel. -block.thorium-reactor.description = Generates significant amounts of power from 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.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources. -block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill. -block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium. -block.blast-drill.description = The ultimate drill. Requires large amounts of power. -block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. +block.power-node.description = Nagpapadala ng kuryente sa mga konektadong node. Ang node ay makakatanggap ng kuryente mula sa o magsu-supply ng kuryente sa anumang katabing block. +block.power-node-large.description = Isang advanced na node na may mas malawak na hanay. +block.surge-tower.description = Isang napakahabang kuryente na node, pero mas kaunting lamang magagamit na mga koneksyon. +block.diode.description = Ang kuryente ng baterya ay maaaring dumaloy sa block na to sa isang direksyon lamang, ngunit kung ang kabilang panig ay may mas kaunting kuryenteng nakaimbak. +block.battery.description = Nag-iimbak ng Kuryente bilang buffer sa mga oras ng sobrang enerhiya. Nag output ng mga kuryente sa oras ng kakulangan. +block.battery-large.description = Nag-iimbak ng mas maraming kuryente kaysa sa normal na baterya. +block.combustion-generator.description = Bumubuo ng kuryente sa pamamagitan ng pagsunog ng mga nasusunog na materyales, tulad ng coal. +block.thermal-generator.description = Bumubuo ng kuryente sa mga maiinit na lugar. +block.steam-generator.description = Isang advanced combustion generator. Mas efficient pero nangangailangan ng karagdagang tubig para sa pagbuo ng singaw. +block.differential-generator.description = Bumubuo ng malaking halaga ng enerhiya. Ginagamit ang pagkakaiba ng temperatura sa pagitan ng cryofluid at nasusunog na pyratite. +block.rtg-generator.description = Isang simpleng at maaasahang na generator. Gumagamit ng init ng mga nabubulok na radioactive compound upang makagawa ng enerhiya sa mabagal na bilis. +block.solar-panel.description = Nagbibigay ng kaunting kuryente mula sa araw. +block.solar-panel-large.description = Isang makabuluhang mas efficient na bersyon ng karaniwang solar panel. +block.thorium-reactor.description = Bumubuo ng malaking halaga ng kuryente mula sa thorium. Nangangailangan ng patuloy na lamigin gamit ang cryofluid. Marahas na sasabog kung hindi sapat ang dami ng coolant na ibinibigay. Ang output ng kuryente ay depende sa kapunuan, na may base na kuryente na nabuo sa buong kapasidad. +block.impact-reactor.description = Isang advanced na generator, na may kakayahang lumikha ng napakalaking halaga ng kuryente sa pinakamataas na efficiency. Nangangailangan lang ng makabuluhang input ng kuryente upang masimulan ang proseso. +block.mechanical-drill.description = Pinaka-mura na drill. Kapag inilagay sa mga appropriate tiles, naglalabas ng items na mabagal na walang katiyakan. Kaya mag drill ng basic resources. +block.pneumatic-drill.description = Isang upgrade sa nakaraan ng drill, kaya mag drill ang titanyo. Mas mabilis kaysa sa Mekanikal na Drill. +block.laser-drill.description = Pwede mag drill na mas mabilis lalo na sa teknolohiya ng laser, pero kailangan kuryente. Kaya mag drill ang thorium. +block.blast-drill.description = Ang pangwakas ng drill na ito. Kailangan ng malaking input sa kuryente. +block.water-extractor.description = Nag e-extract ng groundwater. Ginagamit sa mga sahig na walang ibabaw na tubig. block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. 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.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-foundation.details = The second iteration. block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.core-nucleus.details = The third and final iteration. block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault. block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container. block.unloader.description = Unloads items from any nearby non-transportation block. The type of item to be unloaded can be changed by tapping. block.launch-pad.description = Launches batches of items without any need for a core launch. -block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = A small, cheap turret. Useful against ground units. block.scatter.description = An essential anti-air turret. Sprays clumps of lead, scrap or metaglass flak at enemy units. block.scorch.description = Burns any ground enemies close to it. Highly effective at close range. @@ -1331,5 +2194,429 @@ 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.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.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_fr.properties b/core/assets/bundles/bundle_fr.properties index 79de4a4865..cead22bc02 100644 --- a/core/assets/bundles/bundle_fr.properties +++ b/core/assets/bundles/bundle_fr.properties @@ -1,29 +1,32 @@ -credits.text = Créé par [royal]Anuken[] - [sky]anukendev@gmail.com[]\n\n[gray] +credits.text = Créé par [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Crédits contributors = Traducteurs et contributeurs -discord = Rejoignez le Discord de Mindustry -link.discord.description = Le discord officiel de Mindustry! -link.reddit.description = Le subreddit de Mindustry +discord = Rejoignez le Discord de Mindustry ! +link.discord.description = Discord officiel de Mindustry +link.reddit.description = Subreddit de Mindustry link.github.description = Code source du jeu link.changelog.description = Liste des mises à jour -link.dev-builds.description = Versions instables du jeu -link.trello.description = Trello officiel pour les ajouts futurs -link.itch.io.description = Page itch.io avec lien de téléchargement pour PC -link.google-play.description = Google Play Store -link.f-droid.description = Catalogue F-Droid -link.wiki.description = Le wiki officiel de Mindustry -link.suggestions.description = Suggérer de nouvelles fonctionnalités -linkfail = Erreur lors de l'ouverture du lien !\nL'URL a été copiée dans votre presse-papier. -screenshot = Capture d'écran sauvegardée à {0} -screenshot.invalid = La carte est trop large, il n'y a potentiellement pas assez de mémoire pour la capture d'écran. -gameover = Game over -gameover.pvp = L'équipe [accent] {0}[] a gagné ! -highscore = [accent]Nouveau meilleur score! +link.dev-builds.description = Versions expérimentales du jeu +link.trello.description = Trello officiel pour les nouvelles fonctionnalités planifiées +link.itch.io.description = Page itch.io avec les différentes versions du jeu. +link.google-play.description = Page Google Play du jeu +link.f-droid.description = Page F-Droid du jeu +link.wiki.description = Wiki officiel de Mindustry +link.suggestions.description = Suggérez de nouvelles fonctionnalités +link.bug.description = Vous avez trouvé un bug ? Reportez-le ici +linkopen = Ce serveur vous a envoyé un lien. Êtes-vous certain de vouloir l’ouvrir ?\n\n[sky]{0} +linkfail = L'ouverture du lien a échoué ! \nL'URL a été copiée dans votre presse-papier. +screenshot = Capture d'écran sauvegardée dans {0} +screenshot.invalid = Carte trop grande, potentiellement pas assez de mémoire pour la capture d'écran. +gameover = Partie terminée +gameover.disconnect = Déconnecté +gameover.pvp = L'équipe[accent] {0}[] a gagné ! +gameover.waiting = [accent]Attente de la nouvelle carte... +highscore = [accent]Nouveau meilleur score ! copied = Copié. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +indev.notready = Cette partie du jeu n'est pas encore prête. -load.sound = Sons +load.sound = Son load.map = Cartes load.image = Images load.content = Contenu @@ -31,71 +34,91 @@ load.system = Système load.mod = Mods load.scripts = Scripts -be.update = Une nouvelle version en développement est disponible: -be.update.confirm = Télécharger et Redémarrer le jeu maintenenant ? +be.update = Une nouvelle version expérimentale est disponible: +be.update.confirm = Télécharger et redémarrer le jeu maintenant ? be.updating = Mise à jour en cours... be.ignore = Ignorer be.noupdates = Aucune mise à jour trouvée. -be.check = Vérifiez les mises à jour +be.check = Chercher des mises à jour -mod.featured.title = Explorateur de mods -mod.featured.dialog.title = Explorateur de Mods +mods.browser = Navigateur de Mods mods.browser.selected = Mod sélectionné -mods.browser.add = Installer le mod -mods.github.open = Ouvrir au Github +mods.browser.add = Installer +mods.browser.reinstall = Réinstaller +mods.browser.view-releases = Versions +mods.browser.noreleases = [scarlet]Aucune version trouvée.\n[accent]Vérifiez si le dépôt du mod a des versions publiées. +mods.browser.latest = +mods.browser.releases = Versions +mods.github.open = Voir sur Github +mods.github.open-release = Page Github +mods.browser.sortdate = Classer par date +mods.browser.sortstars = Classer par étoiles schematic = Schéma -schematic.add = Sauvegarder le schéma... +schematic.add = Enregistrer le Schéma schematics = Schémas -schematic.replace = Un schéma avec ce nom existe déjà. Le remplacer? +schematic.search = Chercher des schémas... +schematic.replace = Un schéma avec ce nom existe déjà. Voulez-vous le remplacer ? schematic.exists = Un schéma avec ce nom existe déjà. -schematic.import = Importer un schéma... +schematic.import = Importer un schéma schematic.exportfile = Exporter le fichier schematic.importfile = Importer un fichier schematic.browseworkshop = Consulter le Steam Workshop -schematic.copy = Copier au presse-papier -schematic.copy.import = Importer du presse-papier +schematic.copy = Copier dans le presse-papier +schematic.copy.import = Importer depuis presse-papier schematic.shareworkshop = Partager sur le Steam Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Retourner le schéma -schematic.saved = Schéma sauvegardé. -schematic.delete.confirm = Ce schéma sera supprimé définitivement. -schematic.rename = Renommer le schéma +schematic.saved = Schéma enregistré. +schematic.delete.confirm = Ce schéma sera supprimé définitivement ! +schematic.edit = Editer Schéma schematic.info = {0}x{1}, {2} blocs -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Schémas désactivés ![]\nVous n'êtes pas autorisé à utiliser des schémas sur cette [accent]carte[] ou dans ce [accent]serveur. +schematic.tags = Étiquettes : +schematic.edittags = Éditer les étiquettes +schematic.addtag = Ajouter une étiquette +schematic.texttag = Mot +schematic.icontag = Icône +schematic.renametag = Renommer l'étiquette +schematic.tagged = {0} étiqueté(s) +schematic.tagdelconfirm = Voulez-vous supprimer cette étiquette définitivement ? +schematic.tagexists = Cette étiquette existe déjà. -stat.wave = Vagues vaincues:[accent] {0} -stat.enemiesDestroyed = Ennemis détruits:[accent] {0} -stat.built = Bâtiments construits:[accent] {0} -stat.destroyed = Bâtiments détruits:[accent] {0} -stat.deconstructed = Bâtiments déconstruits:[accent] {0} -stat.delivered = Ressources transférées: -stat.playtime = Temps de jeu:[accent] {0} -stat.rank = Rang Final: [accent]{0} +stats = Statistiques +stats.wave = Vagues Vaincues +stats.unitsCreated = Unités Créées +stats.enemiesDestroyed = Ennemis Détruits +stats.built = Blocs Construits +stats.destroyed = Blocs Détruits +stats.deconstructed = Blocs Déconstruits +stats.playtime = Temps de Jeu -globalitems = [accent]Global Items -map.delete = Êtes-vous certain(e) de vouloir supprimer la carte "[accent]{0}[]"? -level.highscore = Meilleur score: [accent]{0} +globalitems = [accent]Ressources globales +map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]" ? +level.highscore = Meilleur score : [accent]{0} level.select = Sélection du niveau -level.mode = Mode de jeu: -coreattack = [scarlet]< Le noyau est attaquée! > +level.mode = Mode de jeu : +coreattack = [scarlet]< Le Noyau est attaqué ! > nearpoint = [[ [scarlet]QUITTEZ LE POINT D'APPARITION ENNEMI IMMÉDIATEMENT[] ]\nannihilation imminente database = Base de données +database.button = Base de données savegame = Sauvegarder la partie -loadgame = Charger la partie +loadgame = Charger une partie joingame = Rejoindre une partie -customgame = Partie customisée +customgame = Partie personnalisée newgame = Nouvelle partie -none = -minimap = Minimap +none = +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Mini-carte position = Position close = Fermer website = Site Web quit = Quitter -save.quit = Sauvegarder\net Quitter +save.quit = Sauvegarder & Quitter maps = Cartes maps.browse = Parcourir les cartes continue = Continuer -maps.none = [lightgray]Aucune carte trouvée! +maps.none = [lightgray]Aucune carte trouvée ! invalid = Invalide pickcolor = Choisir la Couleur preparingconfig = Préparation de la configuration @@ -103,192 +126,275 @@ preparingcontent = Préparation du contenu uploadingcontent = Publication du contenu uploadingpreviewfile = Publication du fichier d'aperçu committingchanges = Validation des modifications -done = Fait -feature.unsupported = Votre appareil ne supporte pas cette fonctionnalité. +done = Terminé +feature.unsupported = Votre appareil ne prend pas en charge cette fonctionnalité. -mods.alphainfo = Gardez à l'esprit que les mods sont en alpha et[scarlet] peuvent être très buggés[].\nMerci de signaler les problèmes que vous rencontrez via le GitHub ou le Discord Mindustry. +mods.initfailed = [red]âš [] L'instance précédente de Mindustry n’a pas pu s’initialiser. Cela a probablement été causé par des mods.\n\nPour éviter une boucle de plantage, [red]tous les mods ont été désactivés.[] mods = Mods -mods.none = [lightgray]Aucun mod trouvé! +mods.none = [lightgray]Aucun Mod trouvé ! mods.guide = Guide de Modding mods.report = Signaler un Bug -mods.openfolder = Ouvrir le dossier des mods -mods.reload = Rafraichir -mods.reloadexit = The game will now exit, to reload mods. +mods.openfolder = Ouvrir le Dossier +mods.viewcontent = Voir le Contenu +mods.reload = Relancer +mods.reloadexit = Le jeu va se fermer pour relancer les mods. +mod.installed = [[Installé] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Activé mod.disabled = [scarlet]Désactivé +mod.multiplayer.compatible = [gray]Compatible en Multijoueur mod.disable = Désactiver -mod.content = Contenu: +mod.version = Version: +mod.content = Contenu : mod.delete.error = Impossible de supprimer le mod. Le fichier est probablement en cours d'utilisation. -mod.requiresversion = [scarlet]Version du jeu requise : [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Dépendances manquantes: {0} -mod.erroredcontent = [scarlet]Erreurs de contenu + +mod.incompatiblegame = [red]Jeu pas à jour +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Non supporté +mod.unmetdependencies = [red]Dépendances manquantes +mod.erroredcontent = [scarlet]Erreurs dans le contenu ! +mod.circulardependencies = [red]Dépendances circulaires +mod.incompletedependencies = [red]Dépendances incomplètes + +mod.requiresversion.details = Requiert la version: [accent]{0}[]\nVotre jeu n'est pas à jour. Ce mod a besoin d'une version récente du jeu (la beta ou l'alpha) pour fonctionner. +mod.outdatedv7.details = Ce mod est incompatible avec la version la plus récente du jeu. L'auteur doit le mettre à jour et ajouter [accent]minGameVersion: 136[] dans le fichier [accent]mod.json[]. +mod.blacklisted.details = Ce mod à été mis sur liste noire, car il cause des plantages ou d'autres problèmes avec la version actuelle du jeu. Ne l'utilisez pas. +mod.missingdependencies.details = Ce mod à des dépendances manquantes: {0} +mod.erroredcontent.details = Ce mod cause des erreurs lors du chargement. Demandez à l'auteur de les régler. +mod.circulardependencies.details = Ce mod à des dépendances qui dépendent les unes des autres. +mod.incompletedependencies.details = Ce mod ne peut pas être chargé en raison de dépendances invalides ou manquantes: {0}. + +mod.requiresversion = Requiert la version: [red]{0} + mod.errors = Des erreurs se sont produites lors du chargement du contenu. mod.noerrorplay = [scarlet]Vous avez des mods avec des erreurs.[] Désactivez les mods concernés ou corrigez les erreurs avant de jouer. -mod.nowdisabled = [scarlet]Le mod '{0}' a des dépendances manquantes:[accent] {1}\n[lightgray]Ces mods doivent d'abord être téléchargés.\nCe mod sera automatiquement désactivé. +mod.nowdisabled = [scarlet]Le mod '{0}' a des dépendances manquantes: [accent]{1}\n[lightgray]Ces mods doivent d'abord être téléchargés.\nCe mod sera automatiquement désactivé. mod.enable = Activer mod.requiresrestart = Le jeu va maintenant se fermer pour appliquer les modifications du mod. -mod.reloadrequired = [scarlet]Rechargement requis +mod.reloadrequired = [scarlet]Redémarrage requis mod.import = Importer un mod mod.import.file = Importer un fichier -mod.import.github = Importer un mod GitHub -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! +mod.import.github = Importer un mod depuis GitHub +mod.jarwarn = [scarlet]Les mods JAR sont par nature peu sûrs.[]\nFaites en sorte d'importer ce mod depuis une source digne de confiance. mod.item.remove = Cet objet fait partie du mod[accent] '{0}'[]. Pour le supprimer, désinstallez le mod en question. mod.remove.confirm = Ce mod sera supprimé. -mod.author = [lightgray]Auteur:[] {0} -mod.missing = Cette sauvegarde contient des mods que vous avez récemment mis à jour ou que vous avez désinstallés. Votre sauvegarde risque d'être corrompue. Êtes-vous sûr(e) de vouloir l'importer?\n[lightgray]Mods:\n{0} -mod.preview.missing = Avant de publier ce mod dans le Steam Workshop, vous devez ajouter une image servant d'aperçu.\nPlacez une image nommée[accent] preview.png[] dans le dossier du mod et réessayez. -mod.folder.missing = Seuls les mods sous forme de dossiers peuvent être publiés sur le Steam Workshop.\nPour convertir n'importe quel mod en un dossier, dézippez-le tout simplement dans un dossier et supprimez l'ancien zip, puis redémarrez votre jeu ou rechargez vos mods. -mod.scripts.disable = Votre appareil ne supporte pas les mods avec des scripts. Vous devez désactiver ces mods pour jouer. +mod.author = [lightgray]Auteur : [] {0} +mod.missing = Cette sauvegarde contient des mods que vous avez récemment mis à jour ou désinstallés. Votre sauvegarde risque d'être corrompue. Êtes-vous sûr de vouloir l'importer ?\n[lightgray]Mods:\n{0} +mod.preview.missing = Avant de publier ce mod dans le Steam Workshop, vous devez ajouter une image servant d'aperçu.\nPlacez une image nommée [accent]preview.png[] dans le dossier du mod et réessayez. +mod.folder.missing = Seuls les mods sous forme de dossiers peuvent être publiés sur le Steam Workshop.\nPour convertir n'importe quel mod en un dossier, décompressez-le tout simplement dans un dossier et supprimez l'ancien zip, puis redémarrez votre jeu ou rechargez vos mods. +mod.scripts.disable = Votre appareil ne prend pas en charge les mods avec des scripts. Vous devez désactiver ces mods pour pouvoir jouer. about.button = À propos -name = Nom: -noname = Commencez par choisir un[accent] nom de joueur[]. -planetmap = Planet Map -launchcore = Launch Core -filename = Nom du fichier: -unlocked = Nouveau bloc débloqué! +name = Nom : +noname = Commencez par choisir un[accent] nom[]. +search = Recherche : +planetmap = Carte de la Planète +launchcore = Lancer le Noyau +filename = Nom du fichier : +unlocked = Nouveau contenu débloqué ! +available = Nouvelle recherche disponible ! +unlock.incampaign = < Débloquer dans la campagne pour plus de détails > +campaign.select = Sélectionnez la Campagne de Départ +campaign.none = [lightgray]Sélectionnez votre planète de départ.\nCela peut être changé à tout moment. +campaign.erekir = Contenu récent et mieux travaillé. Une progression dans la campagne assez linéaire.\n\nPlus difficile. Des cartes et une expérience de qualité. +campaign.serpulo = Contenu ancien, l'expérience classique de Mindustry. Avec plus de contenu et de possibilités.\n\nCartes et mécaniques de campagnes possiblement moins équilibrées. Moins travaillé. +campaign.difficulty = Difficulty completed = [accent]Complété techtree = Arbre technologique -research.list = [lightgray]Recherche: +techtree.select = Sélection de l'Arbre technologique +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Charger +research.discard = Ignorer +research.list = [lightgray]Recherche : research = Rechercher -researched = [lightgray]{0} recherché(e). -research.progress = {0}% complete -players = {0} joueurs en ligne -players.single = {0} joueur en ligne +researched = [lightgray]{0} recherché. +research.progress = {0}% complété +players = {0} joueurs +players.single = {0} joueur players.search = Recherche players.notfound = [gray]Aucun joueur trouvé server.closing = [accent]Fermeture du serveur... -server.kicked.kick = Vous avez été expulsé du serveur! -server.kicked.whitelist = Vous n'êtes pas sur liste blanche ici. -server.kicked.serverClose = Serveur fermé. -server.kicked.vote = Vous avez été expulsé suite à un vote. Au revoir. -server.kicked.clientOutdated = Client obsolète! Mettez votre jeu à jour! -server.kicked.serverOutdated = Serveur obsolète! Demandez à l'hôte de le mettre à jour! -server.kicked.banned = Vous avez été banni de ce serveur. +server.kicked.kick = Vous avez été expulsé du serveur ! +server.kicked.whitelist = Vous n'êtes pas sur liste blanche de ce serveur. +server.kicked.serverClose = Serveur fermé ! +server.kicked.vote = Vous avez été expulsé à la suite d'un vote. Au revoir ! +server.kicked.clientOutdated = Client obsolète !\nMettez votre jeu à jour ! +server.kicked.serverOutdated = Serveur obsolète !\nDemandez à l'hôte de le mettre à jour ! +server.kicked.banned = Vous avez été banni de ce serveur ! server.kicked.typeMismatch = Ce serveur n'est pas compatible avec votre version du jeu. -server.kicked.playerLimit = Ce serveur est plein. Veuillez attendre qu'une place se libère. -server.kicked.recentKick = Vous avez été expulsé récemment.\nAttendez avant de vous connecter à nouveau. +server.kicked.playerLimit = Ce serveur est complet. Attendez qu'une place se libère. +server.kicked.recentKick = Vous avez été expulsé récemment.\nAttendez avant de vous reconnecter... server.kicked.nameInUse = Il y a déjà quelqu'un avec\nce nom sur ce serveur. server.kicked.nameEmpty = Votre nom est invalide. -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 !\nSe connecter avec deux comptes n'est pas permis ! server.kicked.customClient = Ce serveur ne supporte pas les versions personnalisées (Custom builds). Téléchargez une version officielle. -server.kicked.gameover = Game over! -server.kicked.serverRestarting = Le serveur est en train de redémarrer. +server.kicked.gameover = Partie terminée ! +server.kicked.serverRestarting = Le serveur est en train de redémarrer... server.versions = Votre version:[accent] {0}[]\nVersion du serveur:[accent] {1}[] -host.info = Le bouton [accent]Héberger[] héberge un serveur sur le port [scarlet]6567[]. \nN'importe qui sur le même [lightgray]wifi ou réseau local []devrait voir votre serveur sur sa liste de serveurs.\n\nSi vous voulez que les gens puissent s'y connecter de partout à l'aide de votre IP, [accent]le transfert de port (port forwarding)[] est requis.\n\n[lightgray]Note: Si quelqu'un a des problèmes de connexion à votre partie LAN, vérifiez que vous avez autorisé l'accès à Mindustry sur votre réseau local dans les paramètres de votre pare-feu. -join.info = Ici, vous pouvez entrer [accent]l'adresse IP d'un serveur []pour s'y connecter, ou découvrir un serveur en [accent]réseau local[].\nLe multijoueur en LAN ainsi qu'en WAN est supporté.\n\n[lightgray]Note: Il n'y a pas de liste de serveurs globaux automatiques; Si vous voulez vous connecter à quelqu'un par IP, il faudra d'abord demander à l'hébergeur leur IP. -hostserver = Héberger une partie +host.info = Le bouton [accent]héberger[] héberge un serveur sur le port [scarlet]6567[].\nN'importe qui sur le même [lightgray]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]une ouverture des ports[] est requise.\n\n[lightgray]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 vous y connecter, ou découvrir les serveurs sur votre [accent]réseau local[] ou les serveurs [accent]globaux[].\nLes parties multijoueurs LAN et WAN sont toutes deux supportées.\n\n[lightgray]Note: Si vous voulez vous connecter à un serveur par IP, vous devrez demander l'IP à l'hébergeur. Celle-ci peut-être trouvée en cherchant "Mon IP" sur un moteur de recherche depuis son appareil. +hostserver = Héberger une partie multijoueur invitefriends = Inviter des Amis hostserver.mobile = Héberger\nune partie host = Héberger -hosting = [accent]Préparation du serveur... +hosting = [accent]Ouverture du serveur... hosts.refresh = Actualiser hosts.discovering = Recherche de jeux en LAN hosts.discovering.any = Recherche de parties server.refreshing = Actualisation du serveur -hosts.none = [lightgray]Aucun jeu en LAN trouvé! +hosts.none = [lightgray]Aucune partie en LAN trouvée ! host.invalid = [scarlet]Impossible de se connecter à l'hôte. servers.local = Serveurs locaux +servers.local.steam = Parties Libres & Serveurs Locaux servers.remote = Serveurs distants -servers.global = Serveurs officiels +servers.global = Serveurs communautaires +servers.disclaimer = Les serveurs communautaires ne sont [accent]pas[] gérés, ni contrôlés par le développeur.\n\nCes serveurs peuvent contenir du contenu qui ne convient pas à tous les âges. +servers.showhidden = Montrer les serveurs cachés +server.shown = Visible +server.hidden = Caché + +viewplayer = Caméra du Joueur : [accent]{0} trace = Suivre le joueur trace.playername = Nom du joueur : [accent]{0} -trace.ip = IP: [accent]{0} -trace.id = ID Unique : [accent]{0} -trace.mobile = Client mobile: [accent]{0} -trace.modclient = Client personnalisé: [accent]{0} -invalidid = ID du client invalide! Veuillez soumettre un rapport d'erreur. -server.bans = Joueurs Bannis -server.bans.none = Aucun joueur banni trouvé! -server.admins = Administrateurs -server.admins.none = Aucun administrateur trouvé! +trace.ip = IP : [accent]{0} +trace.id = ID : [accent]{0} +trace.language = Language: [accent]{0} +trace.mobile = Client Mobile : [accent]{0} +trace.modclient = Client personnalisé : [accent]{0} +trace.times.joined = Nombre de connexions : [accent]{0} +trace.times.kicked = Nombre d'expulsions : [accent]{0} +trace.ips = IPs: +trace.names = Noms: +invalidid = ID du client invalide ! Veuillez soumettre un rapport d'erreur. + +player.ban = Bannir +player.kick = Expulser +player.trace = Tracer +player.admin = Activer Admin +player.team = Changer Équipe + +server.bans = Bans +server.bans.none = Aucun joueur banni trouvé ! +server.admins = Admins +server.admins.none = Aucun administrateur trouvé ! server.add = Ajouter un serveur server.delete = Êtes-vous sûr de vouloir supprimer ce serveur ? server.edit = Modifier le serveur -server.outdated = [crimson]Serveur obsolète![] -server.outdated.client = [crimson]Client obsolète![] -server.version = [lightgray]Version: {0} {1} +server.outdated = [scarlet]Serveur obsolète ![] +server.outdated.client = [scarlet]Client obsolète ![] +server.version = [gray]Version : {0} {1} server.custombuild = [accent]Version personnalisée -confirmban = Souhaitez-vous vraiment bannir ce joueur? -confirmkick = Souhaitez-vous vraiment expulser ce joueur? -confirmvotekick = Voulez-vous vraiment voter l'expulsion de ce joueur? -confirmunban = Souhaitez-vous vraiment réintégrer ce joueur ? -confirmadmin = Souhaitez-vous vraiment rendre ce joueur administrateur? -confirmunadmin = Souhaitez-vous vraiment enlever le statut d'administrateur à ce joueur? +confirmban = Êtes-vous sûr de vouloir bannir "{0}[white]" ? +confirmkick = Êtes-vous sûr de vouloir expulser "{0}[white]" ? +confirmunban = Êtes-vous sûr de vouloir annuler le ban de ce joueur ? +confirmadmin = Êtes-vous sûr de vouloir faire de "{0}[white]" un administrateur ? +confirmunadmin = Êtes-vous sûr de vouloir supprimer le statut d'administrateur de "{0}[white]" ? +votekick.reason = Raison du vote d'expulsion +votekick.reason.message = Êtes-vous sûr de vouloir voter l'expulsion de "{0}[white]"?\nSi oui, merci d'entrer la raison : joingame.title = Rejoindre une partie -joingame.ip = IP: +joingame.ip = Adresse IP : disconnect = Déconnecté. -disconnect.error = Erreur de connexion. +disconnect.error = Un problème est survenu lors de la connexion. disconnect.closed = Connexion fermée. disconnect.timeout = Délai de connexion expiré. -disconnect.data = Les données du monde n'ont pas pu être chargées! +disconnect.data = Les données du monde n'ont pas pu être chargées ! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Impossible de rejoindre ([accent]{0}[]). connecting = [accent]Connexion... -connecting.data = [accent]Chargement de la partie... -server.port = Port: -server.addressinuse = Adresse déjà utilisée! -server.invalidport = Numéro de port invalide! -server.error = [crimson]Erreur d'hébergement: [accent]{0} +reconnecting = [accent]Reconnexion... +connecting.data = [accent]Chargement des données du monde... +server.port = Port : +server.invalidport = Numéro de port invalide ! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [scarlet]Erreur lors de l'hébergement du serveur. save.new = Nouvelle sauvegarde -save.overwrite = Êtes-vous sûr de vouloir\n écraser cette sauvegarde ? +save.overwrite = Êtes-vous sûr de vouloir\nécraser cette sauvegarde ? +save.nocampaign = Les fichiers de sauvegarde de la campagne ne peuvent pas être importés individuellement. overwrite = Écraser save.none = Aucune sauvegarde trouvée ! -savefail = Échec de la sauvegarde! -save.delete.confirm = Êtes-vous sûr(e) de vouloir supprimer cette sauvegarde? +savefail = Échec de la sauvegarde ! +save.delete.confirm = Êtes-vous sûr de vouloir supprimer cette sauvegarde ? save.delete = Supprimer -save.export = Exporter une\nsauvegarde -save.import.invalid = [accent]Cette sauvegarde est invalide! -save.import.fail = [crimson]Échec d'importation: [accent]{0} -save.export.fail = [crimson]Échec d'exportation: [accent]{0} +save.export = Exporter une sauvegarde +save.import.invalid = [accent]Cette sauvegarde est invalide ! +save.import.fail = [crimson]L'importation de la sauvegarde\na échoué: [accent]{0} +save.export.fail = [crimson]L'exportation de la sauvegarde\na échoué: [accent]{0} save.import = Importer une sauvegarde -save.newslot = Nom de la sauvegarde: +save.newslot = Nom de la sauvegarde : save.rename = Renommer -save.rename.text = Nouveau nom: -selectslot = Choisissez une sauvegarde. +save.rename.text = Nouveau nom : +selectslot = Sélectionnez une sauvegarde. slot = [accent]Emplacement {0} -editmessage = Modifier le Message -save.corrupted = [accent]Sauvegarde corrompue ou invalide!\nSi vous venez de mettre à jour votre jeu, c'est probablement dû à un changement du format de sauvegarde et [scarlet]pas[] à un bug. +editmessage = Modifier le message +save.corrupted = Fichier de sauvegarde corrompu ou invalide ! empty = on = Activé off = Désactivé -save.autosave = Sauvegarde automatique: {0} -save.map = Carte: {0} +save.search = Recherche de parties sauvegardées... +save.autosave = Sauvegarde automatique : {0} +save.map = Carte : {0} save.wave = Vague {0} -save.mode = Mode de jeu: {0} -save.date = Dernière sauvegarde: {0} -save.playtime = Temps de jeu: {0} +save.mode = Mode de jeu : {0} +save.date = Dernière sauvegarde : {0} +save.playtime = Temps de jeu : {0} warning = Avertissement. confirm = Confirmer delete = Supprimer view.workshop = Voir dans le Steam Workshop -workshop.listing = Éditer le listing du Steam Workshop +workshop.listing = Éditer la liste du Steam Workshop ok = OK open = Ouvrir -customize = Personnaliser les règles +customize = Personnaliser cancel = Annuler +command = Commander +command.queue = [lightgray][Queuing] +command.mine = Miner +command.repair = Réparer +command.rebuild = Reconstruire +command.assist = Assister +command.move = Bouger +command.boost = Booster +command.enterPayload = Entrer dans Bloc de Transport +command.loadUnits = Transporter Unités +command.loadBlocks = Transporter Blocs +command.unloadPayload = Poser Chargement +command.loopPayload = Loop Unit Transfer +stance.stop = Annuler les Ordres +stance.shoot = Ordre: Tirer +stance.holdfire = Ordre: Ne pas Tirer +stance.pursuetarget = Ordre: Poursuivre Cible +stance.patrol = Ordre: Chemins de Contrôle +stance.ram = Ordre: Charger\n[lightgray]Mouvement en ligne droite, sans détection de chemins openlink = Ouvrir le lien copylink = Copier le lien back = Retour +max = Max +objective = Objectif de la Carte +crash.export = Exporter les rapports de bugs +crash.none = Aucun rapport de bugs trouvé. +crash.exported = Rapports de bugs exportés. data.export = Exporter les données -data.import = Importer les données +data.import = Importer des données data.openfolder = Ouvrir le dossier de données data.exported = Données exportées. data.invalid = Ce ne sont pas des données de jeu valides. -data.import.confirm = L'importation des données externes va effacer[scarlet] toutes[] vos données de jeu actuelles.\n[accent]Ceci ne pourra pas être annulé![]\n\nUne fois les données importées, le jeu se fermera immédiatement. -quit.confirm = Êtes-vous sûr de vouloir quitter? -quit.confirm.tutorial = Êtes-vous sur de ce que vous faites?\nLe tutoriel peut être repris dans [accent]Paramètres->Jeu->Refaire le Tutoriel.[] +data.import.confirm = L'importation des données externes va effacer[scarlet] toutes[] vos données de jeu actuelles.\n[accent]Ceci ne pourra pas être annulé ![]\n\nUne fois les données importées, le jeu se fermera immédiatement. +quit.confirm = Êtes-vous sûr de vouloir quitter ? loading = [accent]Chargement... -reloading = [accent]Rechargement des Mods... +downloading = [accent]Téléchargement... saving = [accent]Sauvegarde... -respawn = [accent][[{0}][] pour réapparaitre dans le noyau +respawn = [accent][[{0}][] pour réapparaître dans le Noyau cancelbuilding = [accent][[{0}][] pour effacer le plan -selectschematic = [accent][[{0}][] pour sélectionner et copier +selectschematic = [accent][[{0}][] pour sélectionner+copier pausebuilding = [accent][[{0}][] pour mettre la construction en pause resumebuilding = [scarlet][[{0}][] pour reprendre la construction +enablebuilding = [scarlet][[{0}][] pour activer la construction +showui = Interface cachée.\nPressez [accent][[{0}][] pour montrer l'interface. +commandmode.name = [accent]Mode « Commande » +commandmode.nounits = [aucune unité] wave = [accent]Vague {0} wave.cap = [accent]Vague {0}/{1} wave.waiting = [lightgray]Vague dans {0} @@ -296,171 +402,251 @@ wave.waveInProgress = [lightgray]Vague en cours waiting = [lightgray]En attente... waiting.players = En attente de joueurs... wave.enemies = [lightgray]{0} Ennemis restants +wave.enemycores = [accent]{0}[lightgray] Noyaux ennemis +wave.enemycore = [accent]{0}[lightgray] Noyau ennemi wave.enemy = [lightgray]{0} Ennemi restant -wave.guardianwarn = Gardien à l'approche dans [accent]{0}[] vagues. -wave.guardianwarn.one = Gardien à l'approche dans [accent]{0}[] vague. +wave.guardianwarn = Arrivée du Gardien dans [accent]{0}[] vagues. +wave.guardianwarn.one = Arrivée du Gardien dans [accent]{0}[] vague. loadimage = Charger l'image saveimage = Sauvegarder l'image unknown = Inconnu custom = Personnalisé builtin = Intégré -map.delete.confirm = Voulez-vous vraiment supprimer cette carte? Il n'y aura plus de retour en arrière! +map.delete.confirm = Voulez-vous vraiment supprimer cette carte ?\nIl n'y aura pas de retour en arrière ! map.random = [accent]Carte aléatoire -map.nospawn = Cette carte n'a pas de base pour qu'un joueur puisse y apparaître! Ajoutez une base[accent] orange[] sur cette carte dans l'éditeur. -map.nospawn.pvp = Cette carte n'a pas de base ennemie pour qu'un joueur ennemi puisse y apparaître! Ajoutez au moins une base [scarlet] non-orange[] dans l'éditeur. -map.nospawn.attack = Cette carte n'a aucune base ennemie à attaquer! Veuillez ajouter une base[scarlet] rouge[] sur cette carte dans l'éditeur. +map.nospawn = Cette carte n'a aucun noyau pour que les joueurs puissent apparaître !\nAjoutez au moins un Noyau {0} sur cette carte dans l'éditeur. +map.nospawn.pvp = Cette carte n'a aucun noyau ennemi pour que les joueurs ennemis puissent apparaître !\nAjoutez au moins un Noyau [scarlet]non-orange[] dans l'éditeur. +map.nospawn.attack = Cette carte n'a aucun noyau ennemi à attaquer !\nAjouter au moins un Noyau {0} sur cette carte dans l'éditeur. map.invalid = Erreur lors du chargement de la carte: carte corrompue ou invalide. workshop.update = Mettre à jour workshop.error = Erreur lors de la récupération des détails du Steam Workshop: {0} -map.publish.confirm = Êtes-vous sûr(e) de vouloir publier cette carte?\n\n[lightgray]Assurez-vous d’accepter d’abord les CGU du Steam Workshop, sinon vos cartes ne seront pas affichées! +map.publish.confirm = Êtes-vous sûr de vouloir publier cette carte ?\n\n[lightgray]Assurez-vous d’accepter d’abord les CGU du Steam Workshop, sinon vos cartes ne seront pas affichées ! workshop.menu = Sélectionnez ce que vous souhaitez faire avec cet élément. workshop.info = Infos sur l'élément changelog = Journal des changements (optionnel): +updatedesc = Écraser le Titre et la Description eula = CGU de Steam -missing = Cet élément a été supprimé ou déplacé.\n[lightgray]Le listing du Steam Workshop a maintenant été automatiquement dissocié. +missing = Cet élément a été supprimé ou déplacé.\n[lightgray]Le listing du Steam Workshop a été automatiquement dissociée. publishing = [accent]Publication... -publish.confirm = Êtes-vous sûr de vouloir publier ceci ?\n\n[lightgray]Assurez-vous d'être d'abord d'accord avec les CGU du workshop, sinon vos éléments n'apparaîtront pas ! -publish.error = Erreur de publication de l'élément: {0} -steam.error = Échec d'initialisation des services Steam.\nError: {0} +publish.confirm = Êtes-vous sûr de vouloir publier ceci ?\n\n[lightgray]Assurez-vous d'avoir accepté les CGU du workshop, sinon vos éléments n'apparaîtront pas ! +publish.error = Erreur de publication de l'élément : {0} +steam.error = Échec d'initialisation des services Steam.\nErreur : {0} +editor.planet = Planète : +editor.sector = Secteur : +editor.seed = Graine : +editor.cliffs = Transformer les murs en falaises editor.brush = Pinceau editor.openin = Ouvrir dans l'éditeur -editor.oregen = Génération de minerais -editor.oregen.info = Génération de minerais: -editor.mapinfo = Infos Carte -editor.author = Auteur: -editor.description = Description: +editor.oregen = Génération de minerai +editor.oregen.info = Génération de minerai : +editor.mapinfo = Infos de la Carte +editor.author = Auteur : +editor.description = Description : editor.nodescription = Une carte doit avoir une description d'au moins 4 caractères pour pouvoir être publiée. -editor.waves = Vagues: -editor.rules = Règles: -editor.generation = Génération: +editor.waves = Vagues +editor.rules = Règles +editor.generation = Génération +editor.objectives = Objectifs +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Éditer dans le jeu +editor.playtest = Tester editor.publish.workshop = Publier sur le Workshop editor.newmap = Nouvelle carte editor.center = Centrer +editor.search = Recherche de cartes... +editor.filters = Filtrer les cartes +editor.filters.mode = Modes de jeu : +editor.filters.type = Type de carte : +editor.filters.search = Rechercher dans : +editor.filters.author = Auteur +editor.filters.description = Description +editor.shiftx = Décalage X +editor.shifty = Décalage Y workshop = Steam Workshop waves.title = Vagues waves.remove = Supprimer -waves.never = waves.every = tous les waves.waves = vague(s) +waves.health = santé: {0}% waves.perspawn = par apparition -waves.shields = boucliers/vague +waves.shields = bouclier/vague waves.to = à +waves.spawn = point d'apparition: +waves.spawn.all = +waves.spawn.select = Sélection du Point d'Apparition +waves.spawn.none = [scarlet]aucun point d'apparition trouvé +waves.max = unités maximum waves.guardian = Gardien waves.preview = Prévisualiser waves.edit = Modifier... +waves.random = Aléatoire waves.copy = Copier dans le presse-papiers waves.load = Coller depuis le presse-papiers waves.invalid = Vagues invalides dans le presse-papiers. waves.copied = Vagues copiées -waves.none = Aucun ennemi défini.\nNotez que les vagues vides seront automatiquement remplacées par une vague générée par défaut. +waves.none = Aucun ennemi défini.\nNotez que les vagues vides seront automatiquement remplacées par les vagues par défaut. +waves.sort = Trier Par +waves.sort.reverse = Tri inversé +waves.sort.begin = Vague +waves.sort.health = Santé +waves.sort.type = Type +waves.search = Rechercher des vagues... +waves.filter = Filtre d'Unité +waves.units.hide = Masquer tout +waves.units.show = Afficher tout -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health +#ces traductions restent en minuscule +wavemode.counts = compte +wavemode.totals = totaux +wavemode.health = santé +all = All editor.default = [lightgray] details = Détails... edit = Modifier... -editor.name = Nom: -editor.spawn = Créer l'unité +variables = Variables +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables +editor.name = Nom : +editor.spawn = Ajouter une unité editor.removeunit = Retirer l'unité -editor.teams = Équipe -editor.errorload = Erreur lors du chargement du fichier:\n[accent]{0} -editor.errorsave = Erreur lors de la sauvegarde du fichier:\n[accent]{0} +editor.teams = Équipes +editor.errorload = Erreur lors du chargement du fichier : \n[accent]{0} +editor.errorsave = Erreur lors de la sauvegarde du fichier : \n[accent]{0} editor.errorimage = Ceci est une image, et non une carte.\n\nSi vous voulez importer une carte provenant de la version 3.5 (build 40), utilisez le bouton 'importer une carte obsolète (image)' dans l'éditeur. -editor.errorlegacy = Cette carte est trop ancienne, et utilise un format de carte qui n'est plus supporté. +editor.errorlegacy = Cette carte est trop ancienne et utilise un format de carte qui n'est plus pris en charge. editor.errornot = Ceci n'est pas un fichier de carte. -editor.errorheader = Le fichier de carte est invalide ou corrompu. -editor.errorname = La carte n'a pas de nom. Essayez-vous de charger une sauvegarde? +editor.errorheader = Ce fichier de carte est invalide ou corrompu. +editor.errorname = La carte n'a pas de nom. Essayez-vous de charger une sauvegarde ? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Mettre à jour -editor.randomize = Rendre aléatoire +editor.randomize = Générer +editor.moveup = Monter +editor.movedown = Descendre +editor.copy = Copier editor.apply = Appliquer editor.generate = Générer +editor.sectorgenerate = Générer un Secteur editor.resize = Redimensionner editor.loadmap = Charger la carte editor.savemap = Sauvegarder la carte -editor.saved = Sauvegardé! -editor.save.noname = Votre carte n'a pas de nom! Ajoutez un nom dans le menu 'info de la carte'. -editor.save.overwrite = Votre carte écrase une carte du jeu de base! Choisissez un nom différent dans le menu 'info de la carte' . -editor.import.exists = [scarlet]Importation impossible :[] '{0}' est le nom d'une carte du jeu de base! -editor.import = Importation... +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? +editor.saved = Sauvegardé ! +editor.save.noname = Votre carte n'a pas de nom !\nAjoutez un nom dans le menu 'Infos de la Carte'. +editor.save.overwrite = Votre carte écrase une carte de base du jeu !\nChoisissez un nom différent dans le menu 'Infos de la Carte'. +editor.import.exists = [scarlet]Importation impossible :[] '{0}' est le nom d'une carte par défaut du jeu ! +editor.import = Importer editor.importmap = Importer une carte -editor.importmap.description = Importer une carte existante +editor.importmap.description = Importer une carte déjà existante editor.importfile = Importer un fichier editor.importfile.description = Importer une carte externe -editor.importimage = Importer une carte obsolète +editor.importimage = Importer une carte (image) editor.importimage.description = Importer une carte externe (image) -editor.export = Exporter... +editor.export = Exporter editor.exportfile = Exporter un fichier editor.exportfile.description = Exporter un fichier de carte editor.exportimage = Exporter l'image du terrain -editor.exportimage.description = Exporter une image de la carte -editor.loadimage = Importer le terrain +editor.exportimage.description = Exporter une image de la carte avec du terrain seulement +editor.loadimage = Importer un terrain editor.saveimage = Exporter le terrain editor.unsaved = [scarlet]Vous n'avez pas sauvegardé vos modifications![] Voulez-vous vraiment quitter ? editor.resizemap = Redimensionner\nla carte -editor.mapname = Nom de la carte: -editor.overwrite = [accent]Attention!\nCeci écrase une carte existante. -editor.overwrite.confirm = [scarlet]Attention![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir l'écraser? +editor.mapname = Nom de la carte : +editor.overwrite = [accent]Attention !\nCeci écrase une carte existante. +editor.overwrite.confirm = [scarlet]Attention ![]\nUne carte avec ce nom existe déjà. Êtes-vous sûr de vouloir l'écraser ? editor.exists = Une carte avec ce nom existe déjà. -editor.selectmap = Sélectionnez une carte: +editor.selectmap = Sélectionnez une carte : toolmode.replace = Remplacer -toolmode.replace.description = Dessiner seulement sur les blocs solides. +toolmode.replace.description = Dessine seulement\nsur les blocs solides. toolmode.replaceall = Tout Remplacer -toolmode.replaceall.description = Remplace tous les blocs de la carte. +toolmode.replaceall.description = Remplace tous les blocs\nde la carte. toolmode.orthogonal = Orthogonal -toolmode.orthogonal.description = Dessine seulement des lignes orthogonales. +toolmode.orthogonal.description = Dessine seulement\ndes lignes orthogonales. toolmode.square = Carré toolmode.square.description = Pinceau carré. -toolmode.eraseores = Effacer les minéraux -toolmode.eraseores.description = Efface seulement les minéraux. +toolmode.eraseores = Effacer les minerais +toolmode.eraseores.description = Efface seulement\nles minerais. toolmode.fillteams = Remplir les équipes -toolmode.fillteams.description = Remplit les équipes au lieu des blocs. +toolmode.fillteams.description = Remplit les équipes\nau lieu des blocs. +toolmode.fillerase = Remplir et effacer +toolmode.fillerase.description = Efface les blocs\ndu même type. toolmode.drawteams = Dessiner les équipes -toolmode.drawteams.description = Dessine les équipes au lieu de blocs. +toolmode.drawteams.description = Change les équipes\nau lieu de blocs. +#inutilisé +toolmode.underliquid = Sous les liquides +toolmode.underliquid.description = Dessiner les sols sous les tuiles de liquides. + +filters.empty = [lightgray]Aucun filtre !\nAjoutez-en un avec les boutons ci-dessous. -filters.empty = [lightgray]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous. filter.distort = Déformation filter.noise = Bruit -filter.enemyspawn = Zone d'apparition enemi -filter.spawnpath = Path To Spawn -filter.corespawn = Zone d'apparition du noyau +filter.enemyspawn = Zone d'apparition ennemie +filter.spawnpath = Chemin vers la zone d'apparition +filter.corespawn = Zone d'apparition du Noyau filter.median = Médian filter.oremedian = Minerai Médian filter.blend = Fusion -filter.defaultores = Minerai par défaut +filter.defaultores = Minerais par défaut filter.ore = Minerai -filter.rivernoise = Bruit des rivières +filter.rivernoise = Bruit de rivière filter.mirror = Miroir filter.clear = Effacer filter.option.ignore = Ignorer filter.scatter = Disperser filter.terrain = Terrain -filter.option.scale = Gamme +filter.logic = Logic + +filter.option.scale = Échelle filter.option.chance = Chance filter.option.mag = Magnitude filter.option.threshold = Seuil -filter.option.circle-scale = Gamme du cercle +filter.option.circle-scale = Échelle circulaire filter.option.octaves = Octaves -filter.option.falloff = Diminution +filter.option.falloff = Détachement filter.option.angle = Angle +filter.option.tilt = Inclinaison +filter.option.rotate = Rotation filter.option.amount = Quantité filter.option.block = Bloc filter.option.floor = Sol -filter.option.flooronto = Sol en question +filter.option.flooronto = Sol ciblé filter.option.target = Cible +filter.option.replacement = Remplacement filter.option.wall = Mur filter.option.ore = Minerai filter.option.floor2 = Sol secondaire filter.option.threshold2 = Seuil secondaire filter.option.radius = Rayon -filter.option.percentile = Centile +filter.option.percentile = Pourcentage +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon -width = Largeur: -height = Hauteur: +width = Largeur : +height = Hauteur : menu = Menu play = Jouer campaign = Campagne @@ -468,6 +654,9 @@ load = Charger save = Sauvegarder fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Veuillez redémarrer votre jeu pour que le changement de langue prenne effet. settings = Paramètres tutorial = Tutoriel @@ -478,62 +667,159 @@ mapeditor = Éditeur de carte abandon = Abandonner abandon.text = Cette zone et toutes ses ressources vont être perdues. locked = Verrouillé -complete = [lightgray]Compléter: +complete = [lightgray]Compléter : requirement.wave = Vague {0} dans {1} requirement.core = Détruire le Noyau ennemi dans {0} -requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Meilleur: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. +requirement.research = Rechercher {0} +requirement.produce = Produire {0} +requirement.capture = Capturer {0} +requirement.onplanet = Contrôler le Secteur sur {0} +requirement.onsector = Atterrir sur le Secteur: {0} +launch.text = Décoller +map.multiplayer = Seul l'hôte peut voir les secteurs. uncover = Découvrir -configure = Modifier les ressources à emporter -loadout = Loadout -resources = Resources -bannedblocks = Blocs Bannis -addall = Ajouter TOUS -launch.destination = Destination: {0} -configure.invalid = Le montant doit être un nombre compris entre 0 et {0}. -zone.unlocked = [lightgray]{0} débloquée. -zone.requirement.complete = Exigences pour {0} complétées:[lightgray]\n{1} -zone.resources = [lightgray]Ressources détectées: -zone.objective = [lightgray]Objectif: [accent]{0} -zone.objective.survival = Survivre -zone.objective.attack = Détruire le noyau ennemi -add = Ajouter... -boss.health = Santé du Boss +configure = Modifier le chargement -connectfail = [crimson]Échec de la connexion au serveur :\n\n[accent]{0} -error.unreachable = Serveur injoignable.\nL'adresse IP est-elle correcte? +objective.research.name = Rechercher +objective.produce.name = Obtenir +objective.item.name = Obtenir un Objet +objective.coreitem.name = Transférer dans le Noyau +objective.buildcount.name = Nombre de Constructions +objective.unitcount.name = Nombre d'Unités +objective.destroyunits.name = Détruire les Unités +objective.timer.name = Décompte +objective.destroyblock.name = Détruire le Bloc +objective.destroyblocks.name = Détruire les Blocs +objective.destroycore.name = Détruire le Noyau +objective.commandmode.name = Mode « Commande » +objective.flag.name = Drapeau + +marker.shapetext.name = Forme de Texte +marker.point.name = Point +marker.shape.name = Forme +marker.text.name = Texte +marker.line.name = Ligne +marker.quad.name = Quad +marker.texture.name = Texture + +marker.background = Fond +marker.outline = Contour + +objective.research = [accent]Recherchez:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtenez:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Détruisez:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Détruisez: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtenez: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Transférez dans le Noyau:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Construisez: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Construisez des Unités: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Détruisez: [][lightgray]{0}[]x Unités +objective.enemiesapproaching = [accent]Arrivée des ennemis dans [lightgray]{0}[] +objective.enemyescelating = [accent]La production ennemie augmente dans [lightgray]{0}[] +objective.enemyairunits = [accent]La production d'unités aériennes ennemies commence dans [lightgray]{0}[] +objective.destroycore = [accent]Détruisez le Noyau Ennemi +objective.command = [accent]Commandez des Unités +objective.nuclearlaunch = [accent]âš  Lancement nucléaire détecté: [lightgray]{0} + +announce.nuclearstrike = [red]âš  FRAPPE NUCLÉAIRE EN APPROCHE âš  + +loadout = Chargement +resources = Ressources +resources.max = Max +bannedblocks = Blocs bannis +unbannedblocks = Unbanned Blocks +objectives = Objectifs +bannedunits = Unités bannies +unbannedunits = Unbanned Units +bannedunits.whitelist = Unités bannies en tant que liste blanche +bannedblocks.whitelist = Blocs bannis en tant que liste blanche +addall = Ajouter TOUT +launch.from = Décollage depuis : [accent]{0} +launch.capacity = Capacité de Lancement d'Objets : [accent]{0} +launch.destination = Destination : {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = La quantité doit être un nombre compris entre 0 et {0}. +add = Ajouter +guardian = Gardien + +connectfail = [scarlet]Échec de la connexion au serveur : \n\n[accent]{0} +error.unreachable = Serveur inaccessible.\nEst-ce que l'adresse est écrite correctement? error.invalidaddress = Adresse invalide. -error.timedout = Délai de connexion expiré!\nAssurez-vous que l'hôte a autorisé l'accès au port (port forwarding) et que l'adresse est correcte! -error.mismatch = Erreur de paquet:\nPossible différence de version entre le client et le serveur .\nVérifiez que vous et l'hôte avez la version de Mindustry la plus récente! -error.alreadyconnected = Déjà connecté(e). -error.mapnotfound = Carte introuvable! +error.timedout = Expiration du délai!\nAssurez-vous que l'ouverture des ports est configurée chez l'hôte, que le serveur est ouvert et que l'adresse est correcte! +error.mismatch = Erreur de paquet :\nPossible incompatibilité de version client/serveur.\nAssurez-vous que l'hôte et vous, disposez de la même version de Mindustry ! +error.alreadyconnected = Déjà connecté. +error.mapnotfound = Fichier de carte introuvable ! error.io = Erreur de Réseau (I/O) -error.any = Erreur réseau inconnue -error.bloom = Échec de l'initialisation du flou lumineux.\nVotre appareil peut ne pas le supporter. +error.any = Erreur de réseau inconnue. +error.bloom = Échec de l'initialisation du flou lumineux.\nIl se peut que votre appareil ne le prenne pas en charge. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = Rain -weather.snow.name = Snow -weather.sandstorm.name = Sandstorm -weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.rain.name = Pluie +weather.snowing.name = Neige +weather.sandstorm.name = Tempête de sable +weather.sporestorm.name = Tempête de spores +weather.fog.name = Brouillard -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +campaign.playtime = \uf129 [lightgray]Temps de jeu: {0} +campaign.complete = [accent]Félicitations.\n\nL'ennemi sur {0} a été battu.\n[lightgray]Le secteur final a été conquis. + +sectorlist = Secteurs +sectorlist.attacked = {0} pris d'assaut +sectors.unexplored = [lightgray]Inexploré +sectors.resources = Ressources : +sectors.production = Production : +sectors.export = Exporter : +sectors.import = Importer : +sectors.time = Temps de jeu : +sectors.threat = Menace : +sectors.wave = Vague : +sectors.stored = Stockage : +sectors.resume = Reprendre +sectors.launch = Décoller +sectors.select = Sélectionner +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]Vide (soleil) +sectors.redirect = Redirect Launch Pads +sectors.rename = Renommer le secteur +sectors.enemybase = [scarlet]Base ennemie +sectors.vulnerable = [scarlet]Vulnérable +sectors.underattack = [scarlet]Attaque en cours! [accent]{0}% endommagé +sectors.underattack.nodamage = [scarlet]Non capturé +sectors.survives = [accent]Survécu à {0} vagues +sectors.go = Aller +sector.abandon = Abandonner +sector.abandon.confirm = Les noyaux de ce secteur vont s'auto-détruire.\nContinuer ? +sector.curcapture = Secteur capturé +sector.curlost = Secteur perdu +sector.missingresources = [scarlet]Ressources du Noyau insuffisantes ! +sector.attacked = Secteur [accent]{0}[white] attaqué ! +sector.lost = Secteur [accent]{0}[white] perdu ! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Changer l'Icône +sector.noswitch.title = Impossible de changer de Secteur +sector.noswitch = Vous ne pouvez pas changer de secteur pendant qu’un autre est attaqué.\n\nSecteur: [accent]{0}[] sur [accent]{1}[] +sector.view = Voir le secteur + +threat.low = Faible +threat.medium = Normale +threat.high = Grande +threat.extreme = Extrême +threat.eradication = Éradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + +planets = Planètes planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Soleil +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters sector.frozenForest.name = Frozen Forest @@ -545,20 +831,107 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = Un endroit optimal pour commencer. Avec une menace ennemie faible et peu de ressources disponibles.\nRassemblez autant de cuivre et de plomb que possible pour continuer votre exploration. +sector.frozenForest.description = Même ici, près des montagnes, les spores se sont propagées. Les températures glaciales ne pourront pas les contenir indéfiniment.\n\nCommencez votre production d'énergie en construisant des générateurs à combustion et apprenez à utiliser les bâtiments de soin. +sector.saltFlats.description = À la périphérie du désert se trouvent les déserts de sel. Peu de ressources s'y trouvent.\n\nLà-bas, l'ennemi a construit un complexe de stockage de ressource. Détruisez leur Noyau et ne laissez rien debout. +sector.craters.description = Ce cratère est une relique d'anciennes guerres. De l'eau s'est accumulée au fond. Prenez le contrôle de la zone.\nCollectez du Sable et faites fondre du Verre trempé. Pompez de l'eau pour refroidir vos tourelles et vos foreuses. +sector.ruinousShores.description = Au-delà des déchets se trouve le littoral. Autrefois, cet endroit abritait un réseau de défense côtière, mais il n’en reste pas grand-chose. Seules quelques structures de défense basiques sont restées intactes, tout le reste a été réduit en ferraille.\nContinuez votre exploration en redécouvrant leurs technologies. +sector.stainedMountains.description = Plus loin, à l’intérieur des terres, se trouvent des montagnes qui n'ont pas été touchées par les spores.\nExploitez le Titane présent en abondance dans cette zone et apprenez comment l'utiliser.\n\nLa présence ennemie est bien plus grande ici. Ne leur donnez pas le temps d’envoyer leurs unités les plus fortes. +sector.overgrowth.description = Étant plus proche de la source des spores, cette zone a été complètement envahie.\nL'ennemi y a établi un avant-poste. Formez des Titans et détruisez-le. +sector.tarFields.description = La périphérie d’une zone de production pétrolière, située entre les montagnes et le désert. L’une des rares avec des réserves de goudron utilisables.\nBien qu’abandonnée, quelques forces ennemies dangereuses se trouvent à proximité. Ne les sous-estimez pas!\n\n[lightgray]Recherchez la technologie de traitement de pétrole si possible. +sector.desolateRift.description = Une zone extrêmement dangereuse. Des ressources abondantes, mais peu d’espace. Un risque élevé de destruction donc, partez dès que possible! Ne vous laissez surtout pas berner par le long temps d'attente entre les vagues ennemies. Vous risquez de le regretter. +sector.nuclearComplex.description = Une ancienne installation de production et de traitement de thorium réduite en ruines.\n[lightgray]Faites des recherches sur ce minerai et ses nombreuses utilisations.\n\nL’ennemi est présent ici en grand nombre, recherchant constamment des attaquants. +sector.fungalPass.description = Une zone de transition entre les hautes montagnes et les terres plus basses, infestées de spores. Une petite base de reconnaissance ennemie se trouve ici.\nDétruisez les 2 Noyaux ennemis en utilisant des Poignards et des Rampeurs. +sector.biomassFacility.description = L’origine des spores. Il s’agit de l’installation dans laquelle elles ont été étudiées et initialement produites.\nRecherchez la technologie présente sur les lieux et cultivez des spores pour la production de carburant et de plastique.\n\n[lightgray]Lors de la destruction de cette installation, les spores ont été libérées. Rien dans l’écosystème local ne pouvait concurrencer un organisme aussi envahissant. +sector.windsweptIslands.description = Au-delà du rivage se trouve cette chaîne d’îles reculées. Les registres montrent qu’il y avait autrefois des usines de [accent]Plastanium[].\n\nDéfendez-vous contre les unités navales ennemies, établissez-y une base et faites des recherches sur ces usines. +sector.extractionOutpost.description = Un avant-poste éloigné, construit par l’ennemi dans le but de transférer des ressources vers d’autres secteurs.\n\nCette technologie de transport inter-secteur est essentielle pour de nouvelles conquêtes. Détruisez la base et recherchez leurs Rampes de lancement. +sector.impact0078.description = Ici reposent les vestiges d'un vaisseau de transport interstellaire, premier à être entré dans ce système.\n\nRécupérez et recherchez autant de technologies que possible dans cette épave. +sector.planetaryTerminal.description = La cible finale.\n\nCette base côtière contient une structure capable de propulser des Noyaux sur les planètes voisines. Elle est extrêmement bien gardée.\n\nProduisez des unités navales, éliminez l’ennemi le plus rapidement possible et recherchez la structure de propulsion. +sector.coastline.description = Des restes d’unités navales ont été détectés à cet endroit. Repoussez les attaques ennemies, capturez ce secteur, et obtenez cette technologie. +sector.navalFortress.description = L’ennemi a établi une base sur une île isolée, avec des défenses naturelles. Détruisez cet avant-poste. Acquérez leur technologie navale avancée. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon -settings.language = Langue +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Le secteur de tutoriel. Cet objectif n'a pas encore été créé. Attendez pour des informations futures. +sector.aegis.description = L'ennemi est protégé par des boucliers. Un module expérimental de briseur de bouclier a été détecté dans ce secteur.\nLocalisez cette structure, approvisionnez-la avec des munitions de tungstène et détruisez la base ennemie. +sector.lake.description = Le lac de scories du secteur limite les unités utilisables. Les troupes volantes sont la seule option.\nRecherchez le [accent]fabricateur de vaisseaux[] et produisez un [accent]elude[] aussi tôt que possible. +sector.intersect.description = Les scans montrent que ce secteur sera attaqué sur plusieurs côtés après l'atterrissage.\nConstruisez et développez vos défenses aussi vite que possible.\nLes [accent]Mécas[] seront requis pour le terrain accidenté de ce secteur. +sector.atlas.description = Ce secteur contient des terrains variés et requiert des unités toutes aussi variées pour attaquer efficacement.\nDes unités améliorées peuvent également être nécessaires afin de détruire les bases ennemies les plus difficiles.\nRecherchez l'[accent]électrolyseur[] et le [accent]refabricateur de tanks[]. +sector.split.description = La présence faible de l'ennemi dans ce secteur le rend parfait pour tester de nouvelles technologies de transport. +sector.basin.description = Présence ennemie importante détectée dans ce secteur.\nConstruisez rapidement des unités et capturez les noyaux ennemis pour y prendre pied. +sector.marsh.description = Ce secteur est abondant en arkycite, mais a peu d'évents.\nConstruisez des [accent]Chambres de Combustion Chimique[] pour générer de l’énergie. +sector.peaks.description = Le terrain montagneux dans ce secteur rend la plupart des unités inutiles. Des unités volantes seront nécessaires.\nFaîtes attention aux installations anti-aériennes ennemies. Il est peut-être possible de désactiver certaines d'entre elles en ciblant leurs bâtiments de soutien. +sector.ravine.description = Aucun noyau ennemi détecté dans ce secteur, bien que ce soit une route de transport importante. Attendez-vous à une grande variété de forces ennemies.\nProduisez de [accent]l'alliage superchargé[]. Construisez des [accent]Éclateurs[]. +sector.caldera-erekir.description = Les ressources détectées dans ce secteur sont dispersées sur plusieurs îles.\nRecherchez et déployez des lignes de distribution par drones. +sector.stronghold.description = Le grand campement ennemi dans ce secteur garde des dépôts importants de [accent]thorium[].\nUtilisez-le pour développer des unités et des tourelles de niveau supérieur. +sector.crevice.description = L’ennemi enverra des forces d’attaques féroces pour détruire votre base dans ce secteur.\nDévelopper du [accent]carbure[] et des [accent]Générateurs à Pyrolyse[] peuvent être impératifs à votre survie. +sector.siege.description = Ce secteur comporte deux canyons parallèles qui forceront une attaque à deux volets.\nRecherchez du [accent]cyanogène[] pour acquérir la capacité de créer de puissants tanks.\nAttention: des missiles à longue portée ennemis ont été détectés. Les missiles peuvent être abattus avant l’impact. +sector.crossroads.description = Les bases ennemies de ce secteur ont été établies sur différents terrains. Recherchez différentes unités pour vous adapter.\nEn outre, certaines bases sont protégées par des boucliers. Découvrez comment elles sont alimentées. +sector.karst.description = Ce secteur est riche en ressources, mais sera attaqué dès que le noyau ennemi atterrira.\nProfitez de ce temps pour exploiter les ressources et rechercher du [accent]tissu phasé[]. +sector.origin.description = Le secteur final, avec une présence ennemie importante.\nPossibilités de recherche peu probable. Concentrez-vous uniquement sur la destruction de tous les noyaux ennemis. + +status.burning.name = Brûlé +status.freezing.name = Gelé +status.wet.name = Humidifié +status.muddy.name = Boueux +status.melting.name = Fondant +status.sapped.name = Sapé +status.electrified.name = Électrifié +status.spore-slowed.name = Ralenti (Spores) +status.tarred.name = Goudronné +status.overdrive.name = Surmultiplié +status.overclock.name = Surcadençé +status.shocked.name = Foudroyé +status.blasted.name = Explosé +status.unmoving.name = Immobilisé +status.boss.name = Gardien + +settings.language = Langage settings.data = Données du Jeu settings.reset = Valeurs par Défaut settings.rebind = Réattribuer @@ -568,34 +941,39 @@ settings.game = Jeu settings.sound = Son settings.graphics = Graphismes settings.cleardata = Effacer les données du jeu... -settings.clear.confirm = Êtes-vous sûr d'effacer ces données ?\nAucun retour en arrière n'est possible! -settings.clearall.confirm = [scarlet]ATTENTION![]\nCette action effacera toutes les données, y compris les sauvegardes, les cartes, la progression et la configuration des touches.\nUne fois que vous aurez pressé 'OK' le jeu effacera TOUTES les données et se fermera. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.clear.confirm = Êtes-vous sûr de vouloir effacer ces données?\nAucun retour en arrière n'est possible ! +settings.clearall.confirm = [scarlet]ATTENTION ![]\nCette action effacera toutes les données, y compris les sauvegardes, les cartes, la progression et la configuration des touches.\nUne fois que vous aurez pressé 'OK', le jeu effacera TOUTES les données et se fermera. +settings.clearsaves.confirm = Êtes-vous sûr de vouloir supprimer toutes vos sauvegardes ? +settings.clearsaves = Supprimer les Sauvegardes +settings.clearresearch = Supprimer la Recherche +settings.clearresearch.confirm = Êtes-vous sûr de vouloir supprimer toutes les recherches de la campagne ? +settings.clearcampaignsaves = Supprimer la Campagne +settings.clearcampaignsaves.confirm = Êtes-vous sûr de vouloir supprimer toutes les sauvegardes de la campagne ? paused = [accent]< Pause > clear = Effacer -banned = [scarlet]Bannis -unplaceable.sectorcaptured = [scarlet]Nécessite la capture du secteur +banned = [scarlet]Banni +unsupported.environment = [scarlet]Environnement non supporté yes = Oui no = Non info.title = Info -error.title = [crimson]Une erreur s'est produite +error.title = [scarlet]Une erreur s'est produite error.crashtitle = Une erreur s'est produite -unit.nobuild = [scarlet]Cette unité ne peut construire -lastaccessed = [lightgray]Last Accessed: {0} +unit.nobuild = [scarlet]Cette unité ne peut pas construire +lastaccessed = [lightgray]Dernier accès : {0} +lastcommanded = [lightgray]Dernier commandement: {0} block.unknown = [lightgray]??? -stat.input = Entrée -stat.output = Sortie -stat.booster = Booster -stat.tiles = Pré-requis +stat.showinmap = +stat.description = Description +stat.input = Ressource(s) requise(s) +stat.output = Ressource(s) produite(s) +stat.maxefficiency = Efficacité maximale +stat.booster = Boosteur +stat.tiles = Sol requis stat.affinities = Affinités +stat.opposites = Opposés stat.powercapacity = Capacité d'énergie -stat.powershot = Énergie/Tir +stat.powershot = Unités d'énergie/Tir stat.damage = Dégâts stat.targetsair = Cibles Aériennes stat.targetsground = Cibles Terrestres @@ -603,220 +981,338 @@ stat.itemsmoved = Vitesse de Déplacement stat.launchtime = Temps entre chaque lancement stat.shootrange = Portée de tir stat.size = Taille -stat.displaysize = Display Size +stat.displaysize = Résolution stat.liquidcapacity = Capacité liquide stat.powerrange = Portée électrique -stat.linkrange = Link Range +stat.linkrange = Portée des liens stat.instructions = Instructions -stat.powerconnections = Nombre maximal de connections +stat.powerconnections = Nombre maximal de connexions stat.poweruse = Énergie utilisée -stat.powerdamage = Dégâts d'énergie +stat.powerdamage = Unités d'énergie/Dégât stat.itemcapacity = Stockage -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = Production d'énergie +stat.memorycapacity = Mémoire +stat.basepowergeneration = Production d'énergie de Base stat.productiontime = Durée de production -stat.repairtime = Durée de réparation complète du Bloc +stat.repairtime = Durée de réparation complète d'un Bloc +stat.repairspeed = Vitesse de réparation +stat.weapons = Armes +stat.bullet = Balles +stat.moduletier = Tier +stat.unittype = Type d'Unité stat.speedincrease = Accélération stat.range = Portée -stat.drilltier = Forable -stat.drillspeed = Vitesse de forage de base -stat.boosteffect = Effet du Boost -stat.maxunits = Unités actives max +stat.drilltier = Blocs forables +stat.drillspeed = Vitesse de forage de Base +stat.boosteffect = Effet(s) du Booster +stat.maxunits = Max d'Unités Actives stat.health = Santé +stat.armor = Armure stat.buildtime = Durée de construction -stat.maxconsecutive = Max Consecutive +stat.maxconsecutive = Max consécutif stat.buildcost = Coût de construction stat.inaccuracy = Imprécision stat.shots = Tirs -stat.reload = Tirs/Seconde +stat.reload = Cadence de tir stat.ammo = Munitions -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.shieldhealth = Santé du bouclier +stat.cooldowntime = Temps de refroidissement +stat.explosiveness = Explosivité +stat.basedeflectchance = Chance de Détournement de Base +stat.lightningchance = Chance d'Éclairs +stat.lightningdamage = Dégâts des Éclairs +stat.flammability = Inflammabilité +stat.radioactivity = Radioactivité +stat.charge = Charge +stat.heatcapacity = Capacité Thermique +stat.viscosity = Viscosité +stat.temperature = Température +stat.speed = Vitesse +stat.buildspeed = Vitesse de construction +stat.minespeed = Vitesse de minage +stat.minetier = Niveau de minage +stat.payloadcapacity = Capacité de chargement +stat.abilities = Habilités +stat.canboost = Boost +stat.flying = Unité volante +stat.ammouse = Utilisation de munitions +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Multiplicateur de dégâts +stat.healthmultiplier = Multiplicateur de santé +stat.speedmultiplier = Multiplicateur de vitesse +stat.reloadmultiplier = Multiplicateur de rechargement +stat.buildspeedmultiplier = Multiplicateur de vitesse de construction +stat.reactive = Réactions +stat.immunities = Immunités +stat.healing = Guérison +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Champ de Force +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Champ de Réparation +ability.repairfield.description = Repairs nearby units +ability.statusfield = Champ d'Amélioration +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Usine +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Champ de régénération de bouclier +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Déplacement éclair +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Arc de Bouclier +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Champ de Suppression de Soins +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Champ d'énergie +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Régénération +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.onlycoredeposit = Seul le dépôt de ressources dans le Noyau est autorisé bar.drilltierreq = Meilleure Foreuse Requise -bar.noresources = Missing Resources -bar.corereq = Core Base Required +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Ressources manquantes +bar.corereq = Noyau de base requis +bar.corefloor = Tuiles de Zone de Noyau requis +bar.cargounitcap = Limite de Transporteurs Atteinte bar.drillspeed = Vitesse de Forage: {0}/s bar.pumpspeed = Vitesse de Pompage: {0}/s bar.efficiency = Efficacité: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Énergie: {0}/s -bar.powerstored = En stock: {0}/{1} +bar.powerstored = Réserves d'Énergie: {0}/{1} bar.poweramount = Énergie: {0} bar.poweroutput = Énergie Produite: {0} -bar.powerlines = Connections: {0}/{1} +bar.powerlines = Connexions: {0}/{1} bar.items = Objets: {0} bar.capacity = Capacité: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] -bar.liquid = Liquide +bar.liquid = Liquides bar.heat = Chaleur +bar.cooldown = Cooldown +bar.instability = Instabilité +bar.heatamount = Chaleur: {0} +bar.heatpercent = Chaleur: {0} ({1}%) bar.power = Énergie -bar.progress = Progression de la construction +bar.progress = Construction en cours +bar.loadprogress = Progression +bar.launchcooldown = Délai de Lancement bar.input = Entrée bar.output = Sortie +bar.strength = [stat]{0}[lightgray]x puissance -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Contrôlé par un processeur. bullet.damage = [stat]{0}[lightgray] dégâts bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgray] blocs bullet.incendiary = [stat]incendiaire bullet.homing = [stat]autoguidé -bullet.shock = [stat]choc électrique -bullet.frag = [stat]explosif +bullet.armorpierce = [stat]perceur d'armure +bullet.maxdamagefraction = [stat]{0}%[lightgray] limite de dégâts +bullet.suppression = [stat]{0} sec[lightgray] suppression de soins ~ [stat]{1}[lightgray] blocs +bullet.interval = [stat]{0}/sec[lightgray] Balle secondaire: +bullet.frags = [stat]{0}[lightgray]x Balle à fragmentation: +bullet.lightning = [stat]{0}[lightgray]x foudre ~ [stat]{1}[lightgray] dégâts +bullet.buildingdamage = [stat]{0}%[lightgray] des dégâts aux bâtiments +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] recul -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]gel -bullet.tarred = [stat]goudronné +bullet.pierce = [stat]{0}[lightgray]x perçant +bullet.infinitepierce = [stat]perçant +bullet.healpercent = [stat]{0}[lightgray]% soins +bullet.healamount = [stat]{0}[lightgray] réparation directe bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions -bullet.reload = [stat]{0}[lightgray]x vitesse de tir +bullet.reload = [stat]{0}[lightgray]% vitesse de tir +bullet.range = [stat]{0}[lightgray] blocs de portée +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blocs -unit.blockssquared = blocks² -unit.powersecond = énergie/seconde -unit.liquidsecond = unité de liquide/seconde +unit.blockssquared = blocs² +unit.powersecond = unités d'énergie/seconde +unit.tilessecond = blocs/seconde +unit.liquidsecond = unités de liquide/seconde unit.itemssecond = objets/seconde -unit.liquidunits = unité de liquide -unit.powerunits = unité d'énergie +unit.liquidunits = unités de liquide +unit.powerunits = unités d'énergie +unit.heatunits = unités de température unit.degrees = degrés -unit.seconds = secondes -unit.minutes = mins +unit.seconds = sec +unit.minutes = min unit.persecond = /sec unit.perminute = /min unit.timesspeed = x vitesse +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health +unit.shieldhealth = santé du bouclier unit.items = objets unit.thousands = k unit.millions = M -unit.billions = b -category.general = Général +unit.billions = Md +unit.shots = shots +unit.pershot = /tirs +category.purpose = Description +category.general = Caractéristiques category.power = Énergie category.liquids = Liquides category.items = Objets category.crafting = Fabrication -category.function = Function -category.optional = Améliorations optionnelles -setting.landscape.name = Verrouiller en rotation paysage +category.function = Fonction +category.optional = Améliorations facultatives +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Ignorer l'animation du lancement du noyau et de l'atterrissage +setting.landscape.name = Verrouiller la rotation en mode paysage setting.shadows.name = Ombres -setting.blockreplace.name = Suggestions Automatiques de Blocs -setting.linear.name = Filtrage Linéaire +setting.blockreplace.name = Suggestion automatique des Blocs +setting.linear.name = Filtrage linéaire setting.hints.name = Astuces -setting.flow.name = Afficher le Débit des Ressources -setting.buildautopause.name = Confirmation avant la construction -setting.animatedwater.name = Eau animée +setting.logichints.name = Astuces pour les commandes des processeurs +setting.backgroundpause.name = Pause en Arrière-plan +setting.buildautopause.name = Confirmation avant construction +setting.doubletapmine.name = Double-clic pour Miner +setting.commandmodehold.name = Retenir pour le Mode « Commande » +setting.distinctcontrolgroups.name = Limiter un groupe de contrôle par unité +setting.modcrashdisable.name = Désactiver les mods lors d'un crash au démarrage +setting.animatedwater.name = Surfaces Animées setting.animatedshields.name = Boucliers Animés -setting.antialias.name = Anticrénelage[lightgray] (redémarrage du jeu nécessaire)[] -setting.playerindicators.name = Indicateurs des Joueurs -setting.indicators.name = Indicateurs des Ennemis +setting.playerindicators.name = Indicateurs d'alliés +setting.indicators.name = Indicateurs d'ennemis setting.autotarget.name = Visée automatique setting.keyboard.name = Contrôles Souris+Clavier setting.touchscreen.name = Commandes d'écran tactile setting.fpscap.name = FPS Max -setting.fpscap.none = Aucun +setting.fpscap.none = Illimité setting.fpscap.text = {0} FPS -setting.uiscale.name = Échelle de l'interface[lightgray] (redémarrage du jeu nécessaire)[] +setting.uiscale.name = Échelle de l'interface +setting.uiscale.description = Redémarrage du jeu nécessaire pour appliquer les changements. setting.swapdiagonal.name = Autoriser le placement en diagonale -setting.difficulty.training = Entraînement -setting.difficulty.easy = Facile -setting.difficulty.normal = Normal -setting.difficulty.hard = Difficile -setting.difficulty.insane = Extrême -setting.difficulty.name = Difficulté: setting.screenshake.name = Tremblement de l'Écran +setting.bloomintensity.name = Intensité de l'effet de Bloom +setting.bloomblur.name = Flou de l'effet de Bloom setting.effects.name = Afficher les Effets -setting.destroyedblocks.name = Afficher les Blocs Détruits +setting.destroyedblocks.name = Afficher les Blocs détruits setting.blockstatus.name = Afficher le Statut des Blocs -setting.conveyorpathfinding.name = Auto-placement Intelligent des Convoyeurs +setting.conveyorpathfinding.name = Placement intelligent des Convoyeurs setting.sensitivity.name = Sensibilité de la manette -setting.saveinterval.name = Intervalle des Sauvegardes Automatiques +setting.saveinterval.name = Intervalle des Sauvegardes automatiques setting.seconds = {0} secondes -setting.blockselecttimeout.name = Délai d'Attente de Sélection de Bloc setting.milliseconds = {0} millisecondes setting.fullscreen.name = Plein Écran -setting.borderlesswindow.name = Fenêtre sans bords (Borderless)[lightgray] (peut nécessiter le redémarrage du jeu) -setting.fps.name = Afficher FPS et Ping +setting.borderlesswindow.name = Fenêtré sans bordures +setting.borderlesswindow.name.windows = Plein écran sans bordure +setting.borderlesswindow.description = Un redémarrage peut être nécessaire pour appliquer les changements. +setting.fps.name = Afficher les FPS et le Ping +setting.console.name = Activer la Console setting.smoothcamera.name = Lissage de la Caméra -setting.vsync.name = VSync -setting.pixelate.name = Pixeliser[lightgray] (désactive les animations) -setting.minimap.name = Afficher la Minimap -setting.coreitems.name = Display Core Items (WIP) +setting.vsync.name = Synchronisation Verticale +setting.pixelate.name = Pixeliser +setting.minimap.name = Afficher la Mini-carte +setting.coreitems.name = Afficher les objets du Noyau setting.position.name = Afficher la position du joueur -setting.musicvol.name = Volume Musique -setting.atmosphere.name = Son atmosphérique de la planète +setting.mouseposition.name = Afficher la Position de la Souris +setting.musicvol.name = Volume de la Musique +setting.atmosphere.name = Montrer l'Atmosphère des planètes +setting.drawlight.name = Dessiner les Ombres/Lumières setting.ambientvol.name = Volume Ambiant setting.mutemusic.name = Couper la Musique -setting.sfxvol.name = Volume des Effets Spéciaux -setting.mutesound.name = Couper le son des Effets Spéciaux -setting.crashreport.name = Envoyer des Rapports de Crash anonymes +setting.sfxvol.name = Volume des Sons et Effets +setting.mutesound.name = Couper les Sons et Effets +setting.crashreport.name = Envoyer des Rapports de crash anonymes +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Sauvegardes Automatiques -setting.publichost.name = Visibilité de la Partie Publique +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Limite de Joueurs setting.chatopacity.name = Opacité du Chat -setting.lasersopacity.name = Opacité des Connections Laser +setting.lasersopacity.name = Opacité des Connexions laser +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Opacité des ponts setting.playerchat.name = Montrer les bulles de discussion des joueurs -public.confirm = Voulez-vous rendre votre partie publique?\n[accent]N'importe qui pourrait rejoindre vos parties.\n[lightgray]Ce paramètre peut être changé plus tard dans Paramètres->Jeu->Visibilité de la Partie Publique -public.beta = Notez que les versions bêta du jeu ne peuvent pas créer des salons publics. -uiscale.reset = L'échelle de l'interface a été modifiée.\nAppuyez sur "OK" pour confirmer.\n[scarlet]Rétablissement des paramètres d'avant et fermeture dans [accent] {0}[]... +setting.showweather.name = Montrer les Effets météo +setting.hidedisplays.name = Cacher les Écrans +setting.macnotch.name = Adapter l'interface pour afficher l'encoche +setting.macnotch.description = Redémarrage du jeu nécessaire pour appliquer les changements +steam.friendsonly = Amis seulement +steam.friendsonly.tooltip = Indique si seuls les amis Steam peuvent rejoindre votre partie.\nSi vous décochez cette case, votre partie deviendra publique et tout le monde pourra la rejoindre. +public.beta = Notez que les versions bêta du jeu ne peuvent pas créer de salons publics. +uiscale.reset = L'échelle de l'interface a été modifiée.\nAppuyez sur "OK" pour confirmer.\n[scarlet]Rétablissement des anciens paramètres et fermeture du jeu dans [accent] {0}[] secondes... uiscale.cancel = Annuler & Quitter setting.bloom.name = Flou lumineux -keybind.title = Raccourcis Clavier -keybinds.mobile = [scarlet]La plupart des raccourcis clavier ne sont pas fonctionnels sur mobile. Seuls les mouvements basiques sont supportés. +keybind.title = Paramètres des Touches du Clavier +keybinds.mobile = [scarlet]La plupart des touches de clavier ne sont pas fonctionnelles sur mobile. Seuls les mouvements basiques sont supportés. category.general.name = Général -category.view.name = Voir +category.view.name = Vue +category.command.name = Commandes d'Unité category.multiplayer.name = Multijoueur -category.blocks.name = Block Select -command.attack = Attaque -command.rally = Rassembler -command.retreat = Retraite -command.idle = Idle -placement.blockselectkeys = \n[lightgray]Touche: [{0}, -keybind.respawn.name = Réapparaitre -keybind.control.name = Controler une Unité -keybind.clear_building.name = Effacer les constructions -keybind.press = Appuyez sur une touche... -keybind.press.axis = Appuyez sur un axe ou une touche... -keybind.screenshot.name = Capture d'écran -keybind.toggle_power_lines.name = Montrer/Cacher les Connections d'Énergie -keybind.toggle_block_status.name = Montrer/Cacher les Status des Blocs -keybind.move_x.name = Mouvement X -keybind.move_y.name = Mouvement Y -keybind.mouse_move.name = Suivre la Souris -keybind.pan.name = Pan View +category.blocks.name = Sélection des blocs +placement.blockselectkeys = \n[lightgray]Raccourci : [{0}, +keybind.respawn.name = Réapparaître +keybind.control.name = Contrôler une Unité +keybind.clear_building.name = Réinitialiser les constructions +keybind.press = Pressez une touche... +keybind.press.axis = Pressez un axe ou une touche... +keybind.screenshot.name = Capture d'écran de la carte +keybind.toggle_power_lines.name = Montrer/Cacher les Connexions d'Énergie +keybind.toggle_block_status.name = Montrer/Cacher le Statut des Blocs +keybind.move_x.name = Mouvement axe X +keybind.move_y.name = Mouvement axe Y +keybind.mouse_move.name = Suivre la souris +keybind.pan.name = Vue Panoramique keybind.boost.name = Boost +keybind.command_mode.name = Mode « Commande » +keybind.command_queue.name = File d'attente des Commandes d'Unités +keybind.create_control_group.name = Créer un Groupe de Contrôle +keybind.cancel_orders.name = Annuler les Ordres + +keybind.unit_stance_shoot.name = Ordre: Tirer +keybind.unit_stance_hold_fire.name = Ordre: Ne pas tirer +keybind.unit_stance_pursue_target.name = Ordre: Poursuivre la cible +keybind.unit_stance_patrol.name = Ordre: Patrouille +keybind.unit_stance_ram.name = Ordre: Charger +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer + +keybind.rebuild_select.name = Reconstruire la Zone keybind.schematic_select.name = Sélectionner une Région keybind.schematic_menu.name = Menu des schémas keybind.schematic_flip_x.name = Retourner le schéma sur l'axe des X keybind.schematic_flip_y.name = Retourner le schéma sur l'axe des Y keybind.category_prev.name = Catégorie Précédente keybind.category_next.name = Catégorie Suivante -keybind.block_select_left.name = Sélectionner Bloc de Gauche -keybind.block_select_right.name = Sélectionner Bloc de Droite -keybind.block_select_up.name = Sélectionner Bloc en Haut -keybind.block_select_down.name = Sélectionner Bloc en Bas +keybind.block_select_left.name = Sélectionner le Bloc de Gauche +keybind.block_select_right.name = Sélectionner le Bloc de Droite +keybind.block_select_up.name = Sélectionner le Bloc en Haut +keybind.block_select_down.name = Sélectionner le Bloc en Bas keybind.block_select_01.name = Sélectionner Catégorie/Bloc 1 keybind.block_select_02.name = Sélectionner Catégorie/Bloc 2 keybind.block_select_03.name = Sélectionner Catégorie/Bloc 3 @@ -832,79 +1328,138 @@ keybind.select.name = Sélectionner/Tirer keybind.diagonal_placement.name = Placement en diagonale keybind.pick.name = Choisir un bloc keybind.break_block.name = Supprimer un bloc +keybind.select_all_units.name = Sélectionner toutes les Unités +keybind.select_all_unit_factories.name = Sélectionner toutes les Usines d'Unités keybind.deselect.name = Désélectionner -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command +keybind.pickupCargo.name = Prendre un Chargement +keybind.dropCargo.name = Lâcher un Chargement keybind.shoot.name = Tirer keybind.zoom.name = Zoomer keybind.menu.name = Menu keybind.pause.name = Pause -keybind.pause_building.name = Pauser/Reprendre la construction -keybind.minimap.name = Minimap -keybind.chat.name = Chat -keybind.player_list.name = Liste des Joueurs +keybind.pause_building.name = Pauser/Reprendre la Construction +keybind.minimap.name = Mini-carte +keybind.planet_map.name = Carte de la Planète +keybind.research.name = Recherche +keybind.block_info.name = Information du Bloc +keybind.chat.name = Tchat +keybind.player_list.name = Liste des joueurs keybind.console.name = Console keybind.rotate.name = Tourner -keybind.rotateplaced.name = Tourner un bloc existant (maintenir) +keybind.rotateplaced.name = Tourner un Bloc existant (maintenir) keybind.toggle_menus.name = Cacher/Afficher les Menus -keybind.chat_history_prev.name = Remonter l'Historique du Chat -keybind.chat_history_next.name = Descendre l'Historique du Chat -keybind.chat_scroll.name = Défilement du Chat -keybind.drop_unit.name = Larguer l'unité -keybind.zoom_minimap.name = Zoom Minimap -mode.help.title = Description des modes de jeu +keybind.chat_history_prev.name = Remonter l'Historique du Tchat +keybind.chat_history_next.name = Descendre l'Historique du Tchat +keybind.chat_scroll.name = Défilement du Tchat +keybind.chat_mode.name = Changer le mode du Tchat +keybind.drop_unit.name = Larguer une Unité +keybind.zoom_minimap.name = Zoomer la Mini-carte +mode.help.title = Description des modes de jeux mode.survival.name = Survie -mode.survival.description = Le mode normal. Ressources limitées et vagues d'Ennemis automatiques.\n[gray]Nécessite un point d'apparition ennemi pour y jouer. -mode.sandbox.name = Bac à sable -mode.sandbox.description = Ressources infinies et pas de minuterie pour les vagues. +mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques.\n[gray]Requiert des points d'apparition ennemis pour pouvoir jouer à ce mode. +mode.sandbox.name = Bac à Sable +mode.sandbox.description = Ressources infinies et pas de compte à rebours pour les vagues. mode.editor.name = Éditeur -mode.pvp.name = PvP -mode.pvp.description = Battez-vous contre d'autres joueurs en local.\n[gray]Requiert aux moins 2 noyaux de couleurs différentes dans la carte pour y jouer. +mode.pvp.name = JcJ +mode.pvp.description = Lutter contre d'autres joueurs pour gagner !\n[gray]Requiert au moins 2 Noyaux de couleurs différentes pour pouvoir jouer à ce mode. mode.attack.name = Attaque -mode.attack.description = Pas de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un noyau rouge dans la map pour y jouer. -mode.custom = Règles personnalisées +mode.attack.description = Pas forcément de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un Noyau rouge pour jouer à ce mode. +mode.custom = Règles Personnalisées -rules.infiniteresources = Ressources infinies +rules.invaliddata = Données du Presse-Papier Invalides. +rules.hidebannedblocks = Cacher les blocs bannis. +rules.infiniteresources = Ressources Infinies +rules.onlydepositcore = Seulement autoriser le dépôt d'Objets dans le Noyau +rules.derelictrepair = Autoriser la réparation des structures abandonnées rules.reactorexplosions = Explosion des Réacteurs -rules.schematic = Schematics Allowed -rules.wavetimer = Minuterie pour les vagues +rules.coreincinerates = Incinération des surplus du Noyau +rules.disableworldprocessors = Désactiver les Processeurs Globaux +rules.schematic = Schémas autorisés +rules.wavetimer = Compte à rebours des vagues +rules.wavesending = Déclenchement des Vagues +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Vagues +rules.airUseSpawns = Air units use spawn points rules.attack = Mode « Attaque » -rules.buildai = AI Building +rules.buildai = IA de Construction de Base +rules.buildaitier = Niveau de l'IA de Construction de Base +rules.rtsai = IA de RTS [red](WIP) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Taille Minimale d'une Escouade +rules.rtsmaxsquadsize = Taille Maximale d'une Escouade +rules.rtsminattackweight = Poids Minimum d'une Attaque +rules.cleanupdeadteams = Détruire les structures des équipes vaincues (JcJ) +rules.corecapture = Capture du Noyau lors de sa Destruction +rules.polygoncoreprotection = Protection polygonale du Noyau +rules.placerangecheck = Vérification de la Portée de Placement rules.enemyCheat = Ressources infinies pour l'IA (équipe rouge) rules.blockhealthmultiplier = Multiplicateur de Santé des Blocs rules.blockdamagemultiplier = Multiplicateur de Dégât des Blocs -rules.unitbuildspeedmultiplier = Multiplicateur de Vitesse de Construction d'Unités +rules.unitbuildspeedmultiplier = Multiplicateur de Vitesse de Construction des Unités +rules.unitcostmultiplier = Multiplicateur du coût de fabrication des Unités rules.unithealthmultiplier = Multiplicateur de Santé des Unités rules.unitdamagemultiplier = Multiplicateur de Dégât des Unités -rules.enemycorebuildradius = Périmètre de non-construction autour du noyau ennemi:[lightgray] (blocs) -rules.wavespacing = Espacement des vagues:[lightgray] (sec) +rules.unitcrashdamagemultiplier = Multiplicateur de Dégât de chute des Unités +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Multiplicateur de l'Efficacité des Panneaux Solaires +rules.unitcapvariable = Les Noyaux contribuent à la limite d'Unités actives +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Limite initiale d'Unités actives +rules.limitarea = Limite de la zone de jeu de la Carte +rules.enemycorebuildradius = Périmètre Non-Constructible autour du Noyau ennemi :[lightgray] (blocs) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Temps entre les Vagues :[lightgray] (sec) +rules.initialwavespacing = Temps de Vague Initial :[lightgray] (sec) rules.buildcostmultiplier = Multiplicateur du prix de construction rules.buildspeedmultiplier = Multiplicateur du temps de construction rules.deconstructrefundmultiplier = Multiplicateur du remboursement lors de la déconstruction -rules.waitForWaveToEnd = Les Vagues Attendent la Mort des Ennemis -rules.dropzoneradius = Rayon d'Apparition des Ennemis:[lightgray] (tuiles) -rules.unitammo = Les Unités Nécessitent des Munitions +rules.waitForWaveToEnd = Les Vagues attendent la mort des ennemis +rules.wavelimit = La Partie termine après la Vague +rules.dropzoneradius = Rayon de la Zone d'Apparition ennemie :[lightgray] (blocs) +rules.unitammo = Les Unités nécessitent des munitions +rules.enemyteam = Équipe ennemie +rules.playerteam = Équipe du joueur rules.title.waves = Vagues rules.title.resourcesbuilding = Ressources & Construction rules.title.enemy = Ennemis rules.title.unit = Unités rules.title.experimental = Expérimental -rules.title.environment = Environment +rules.title.environment = Environnement +rules.title.teams = Équipes +rules.title.planet = Planète rules.lighting = Éclairage -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Éclairage Ambiant -rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.duration = Duration: +rules.fog = Brouillard de Guerre +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Feu +rules.anyenv = +rules.explosions = Dégâts d'explosion des Blocs/Unités +rules.ambientlight = Éclairage\nAmbiant +rules.weather = Météo +rules.weather.frequency = Fréquence : +rules.weather.always = Permanent +rules.weather.duration = Durée : +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Objets content.liquid.name = Liquides content.unit.name = Unités content.block.name = Blocs +content.status.name = Effet +content.sector.name = Secteurs +content.team.name = Factions + +wallore = (Mur) item.copper.name = Cuivre item.lead.name = Plomb @@ -916,19 +1471,33 @@ item.silicon.name = Silicium item.plastanium.name = Plastanium item.phase-fabric.name = Tissu Phasé item.surge-alloy.name = Alliage Superchargé -item.spore-pod.name = Glande de Spore +item.spore-pod.name = Spore item.sand.name = Sable item.blast-compound.name = Mélange Explosif item.pyratite.name = Pyratite item.metaglass.name = Verre Trempé item.scrap.name = Ferraille +item.fissile-matter.name = Matière Fissile +item.beryllium.name = Béryllium +item.tungsten.name = Tungstène +item.oxide.name = Oxide +item.carbide.name = Carbure +item.dormant-cyst.name = Kyste dormant + liquid.water.name = Eau liquid.slag.name = Scories liquid.oil.name = Pétrole liquid.cryofluid.name = Liquide Cryogénique +liquid.neoplasm.name = Néoplasme +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogène +liquid.nitrogen.name = Azote +liquid.cyanogen.name = Cyanogène unit.dagger.name = Poignard -unit.mace.name = Mace +unit.mace.name = Titan unit.fortress.name = Forteresse unit.nova.name = Nova unit.pulsar.name = Pulsar @@ -942,7 +1511,7 @@ unit.flare.name = Flare unit.horizon.name = Horizon unit.zenith.name = Zenith unit.antumbra.name = Antumbra -unit.eclipse.name = Eclipse +unit.eclipse.name = Éclipse unit.mono.name = Mono unit.poly.name = Poly unit.mega.name = Mega @@ -953,92 +1522,126 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma -unit.scepter.name = Scepter -unit.reign.name = Reign +unit.scepter.name = Destructeur +unit.reign.name = Éradicateur unit.vela.name = Vela unit.corvus.name = Corvus -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Drone d'Assemblage +unit.latum.name = Latum +unit.renale.name = Renale + block.parallax.name = Parallax block.cliff.name = Falaise -block.sand-boulder.name = Bloc de Sable +block.sand-boulder.name = Rocher de Sable +block.basalt-boulder.name = Rocher de Basalte block.grass.name = Herbe -block.slag.name = Scories -block.space.name = Space +block.molten-slag.name = Scories +block.pooled-cryofluid.name = Cryofluide +block.space.name = Espace block.salt.name = Sel -block.salt-wall.name = Salt Wall +block.salt-wall.name = Mur de Sel block.pebbles.name = Cailloux block.tendrils.name = Vrilles -block.sand-wall.name = Sand Wall +block.sand-wall.name = Mur de Sable block.spore-pine.name = Pin Sporeux -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder +block.spore-wall.name = Mur de Spores +block.boulder.name = Rocher +block.snow-boulder.name = Rocher de Neige block.snow-pine.name = Pin enneigé block.shale.name = Schiste -block.shale-boulder.name = Blocs de Schiste +block.shale-boulder.name = Rocher de Schiste block.moss.name = Mousse block.shrubs.name = Arbustes -block.spore-moss.name = Mousse Sporeuse -block.shale-wall.name = Shale Wall +block.spore-moss.name = Mousse Sporifère +block.shale-wall.name = Mur de Schiste block.scrap-wall.name = Mur de Ferraille block.scrap-wall-large.name = Grand Mur de Ferraille block.scrap-wall-huge.name = Énorme Mur de Ferraille block.scrap-wall-gigantic.name = Gigantesque Mur de Ferraille block.thruster.name = Propulseur -block.kiln.name = Four +block.kiln.name = Four à Verre block.graphite-press.name = Presse à Graphite block.multi-press.name = Multi-Presse -block.constructing = {0}\n[lightgray](En Construction) +block.constructing = {0} [lightgray](En Construction) block.spawn.name = Point d'Apparition Ennemi -block.core-shard.name = Noyau: Tesson +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Noyau: Fragment block.core-foundation.name = Noyau: Fondation block.core-nucleus.name = Noyau: Épicentre -block.deepwater.name = Eau profonde -block.water.name = Eau +block.deep-water.name = Eau Profonde +block.shallow-water.name = Eau block.tainted-water.name = Eau Contaminée -block.darksand-tainted-water.name = Eau Contaminée avec fond de Sable Sombre +block.deep-tainted-water.name = Eau Profonde Contaminée +block.darksand-tainted-water.name = Eau Contaminée avec fond de Sable sombre block.tar.name = Goudron block.stone.name = Roche -block.sand.name = Sable -block.darksand.name = Sable Sombre +block.sand-floor.name = Sable +block.darksand.name = Sable sombre block.ice.name = Glace block.snow.name = Neige -block.craters.name = Cratères +block.crater-stone.name = Cratères block.sand-water.name = Eau avec fond de Sable -block.darksand-water.name = Eau avec fond de Sable Sombre -block.char.name = Cendre +block.darksand-water.name = Eau avec fond de Sable sombre +block.char.name = Cendres block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder +block.rhyolite.name = Rhyolite +block.dacite-wall.name = Mur de Dacite +block.dacite-boulder.name = Rocher de Dacite block.ice-snow.name = Neige et Glace -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall +block.stone-wall.name = Mur de Pierre +block.ice-wall.name = Mur de Glace +block.snow-wall.name = Mur de Neige +block.dune-wall.name = Mur de Sable sombre block.pine.name = Pin -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud +block.dirt.name = Terre +block.dirt-wall.name = Mur de Terre +block.mud.name = Boue block.white-tree-dead.name = Arbre Blanc Mort block.white-tree.name = Arbre Blanc -block.spore-cluster.name = Grappe de Spores -block.metal-floor.name = Plancher Métallique 1 -block.metal-floor-2.name = Plancher Métallique 2 -block.metal-floor-3.name = Plancher Métallique 3 -block.metal-floor-5.name = Plancher Métallique 4 -block.metal-floor-damaged.name = Plancher Métallique Endommagé -block.dark-panel-1.name = Panneau Sombre 1 -block.dark-panel-2.name = Panneau Sombre 2 -block.dark-panel-3.name = Panneau Sombre 3 -block.dark-panel-4.name = Panneau Sombre 4 -block.dark-panel-5.name = Panneau Sombre 5 -block.dark-panel-6.name = Panneau Sombre 6 -block.dark-metal.name = Métal Sombre -block.basalt.name = Basalt +block.spore-cluster.name = Grappes de Spores +block.metal-floor.name = Sol métallique +block.metal-floor-2.name = Sol métallique 2 +block.metal-floor-3.name = Sol métallique 3 +block.metal-floor-4.name = Sol métallique 4 +block.metal-floor-5.name = Sol métallique 5 +block.metal-floor-damaged.name = Sol métallique endommagé +block.dark-panel-1.name = Panneau sombre 1 +block.dark-panel-2.name = Panneau sombre 2 +block.dark-panel-3.name = Panneau sombre 3 +block.dark-panel-4.name = Panneau sombre 4 +block.dark-panel-5.name = Panneau sombre 5 +block.dark-panel-6.name = Panneau sombre 6 +block.dark-metal.name = Métal sombre +block.basalt.name = Basalte block.hotrock.name = Roches Chaudes block.magmarock.name = Roches Magmatiques block.copper-wall.name = Mur de Cuivre @@ -1062,16 +1665,17 @@ block.conveyor.name = Convoyeur block.titanium-conveyor.name = Convoyeur en Titane block.plastanium-conveyor.name = Convoyeur en Plastanium block.armored-conveyor.name = Convoyeur Cuirassé -block.armored-conveyor.description = Déplace les objets à la même vitesse que les convoyeurs en titane, mais est plus résistant. Seulement d'autres convoyeurs peuvent faire entrer des ressources par ses côtés. block.junction.name = Jonction block.router.name = Routeur block.distributor.name = Distributeur block.sorter.name = Trieur block.inverted-sorter.name = Trieur Inversé -block.message.name = Message +block.message.name = Bloc de Message +block.reinforced-message.name = Bloc de Message Renforcé +block.world-message.name = Bloc de Message Global +block.world-switch.name = World Switch block.illuminator.name = Illuminateur -block.illuminator.description = Une petite source lumineuse compacte et configurable. Nécessite de l'énergie pour fonctionner. -block.overflow-gate.name = Barrière de Débordement +block.overflow-gate.name = Barrière de Débordement block.underflow-gate.name = Barrière de Refoulement block.silicon-smelter.name = Fonderie de Silicium block.phase-weaver.name = Tisseur à Phase @@ -1079,7 +1683,7 @@ block.pulverizer.name = Pulvérisateur block.cryofluid-mixer.name = Refroidisseur block.melter.name = Four à Fusion block.incinerator.name = Incinérateur -block.spore-press.name = Presse à Spore +block.spore-press.name = Presse à Spores block.separator.name = Séparateur block.coal-centrifuge.name = Centrifugeuse à Charbon block.power-node.name = Transmetteur Énergétique @@ -1093,7 +1697,7 @@ block.steam-generator.name = Générateur à Turbine block.differential-generator.name = Générateur Différentiel block.impact-reactor.name = Réacteur à Impact block.mechanical-drill.name = Foreuse Mécanique -block.pneumatic-drill.name = Foreuse à Vérin +block.pneumatic-drill.name = Foreuse Pneumatique block.laser-drill.name = Foreuse Laser block.water-extractor.name = Extracteur d'Eau block.cultivator.name = Cultivateur @@ -1107,235 +1711,969 @@ block.power-void.name = Absorbeur Énergétique block.power-source.name = Source d'Énergie block.unloader.name = Déchargeur block.vault.name = Coffre-Fort -block.wave.name = Onde +block.wave.name = Vague block.tsunami.name = Tsunami -block.swarmer.name = Nuée +block.swarmer.name = Essaim block.salvo.name = Salve -block.ripple.name = Percussion +block.ripple.name = Percuteur block.phase-conveyor.name = Convoyeur Phasé block.bridge-conveyor.name = Pont block.plastanium-compressor.name = Compresseur de Plastanium -block.pyratite-mixer.name = Mixeur de Pyratite +block.pyratite-mixer.name = Mixeur à Pyratite block.blast-mixer.name = Mixeur à Explosion block.solar-panel.name = Panneau Solaire block.solar-panel-large.name = Grand Panneau Solaire block.oil-extractor.name = Extracteur de Pétrole block.repair-point.name = Point de Réparation +block.repair-turret.name = Tourelle de réparation block.pulse-conduit.name = Conduit à Impulsion block.plated-conduit.name = Conduit Plaqué block.phase-conduit.name = Conduit Phasé -block.liquid-router.name = Routeur de Liquide -block.liquid-tank.name = Réservoir à Liquide -block.liquid-junction.name = Jonction à Liquide -block.bridge-conduit.name = Conduit Surélevé +block.liquid-router.name = Routeur de Liquides +block.liquid-tank.name = Réservoir de Liquides +block.liquid-container.name = Conteneur de Liquides +block.liquid-junction.name = Jonction de Liquides +block.bridge-conduit.name = Pont de Liquides block.rotary-pump.name = Pompe Rotative block.thorium-reactor.name = Réacteur à Thorium -block.mass-driver.name = Catapulte Électromagnétique -block.blast-drill.name = Foreuse à Explosion -block.thermal-pump.name = Pompe Thermique -block.thermal-generator.name = Générateur Thermique -block.alloy-smelter.name = Fonderie d'Alliage Superchargé -block.mender.name = Réparateur -block.mend-projector.name = Projecteur Soignant +block.mass-driver.name = Transporteur de Masse +block.blast-drill.name = Foreuse à explosion +block.impulse-pump.name = Pompe thermique +block.thermal-generator.name = Générateur thermique +block.surge-smelter.name = Fonderie d'Alliage Superchargé +block.mender.name = Gardien +block.mend-projector.name = Projecteur soignant block.surge-wall.name = Mur Superchargé -block.surge-wall-large.name = Grand Mur Superchargé +block.surge-wall-large.name = Grand mur Superchargé block.cyclone.name = Cyclone block.fuse.name = Fusible -block.shock-mine.name = Mine -block.overdrive-projector.name = Projecteur Surmultiplicateur -block.force-projector.name = Champ de Force +block.shock-mine.name = Mine terrestre +block.overdrive-projector.name = Projecteur Accélérant +block.force-projector.name = Projecteur de Champ de force block.arc.name = Arc -block.rtg-generator.name = Générateur G.T.R. +block.rtg-generator.name = G.T.R block.spectre.name = Spectre block.meltdown.name = Fusion -block.foreshadow.name = Foreshadow +block.foreshadow.name = Présage block.container.name = Conteneur -block.launch-pad.name = Plateforme de Lancement -block.launch-pad-large.name = Grande Plateforme de Lancement -block.segment.name = Diviseur -block.command-center.name = Command Center -block.ground-factory.name = Usine d'Unité Terrestre -block.air-factory.name = Usine d'Unité Aérienne -block.naval-factory.name = Usine d'Unité Navale +block.launch-pad.name = Rampe de lancement +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Diviseur +block.ground-factory.name = Usine d'Unités Terrestres +block.air-factory.name = Usine d'Unités Aériennes +block.naval-factory.name = Usine d'Unités Navales block.additive-reconstructor.name = Reconstructeur Additif block.multiplicative-reconstructor.name = Reconstructeur Multiplicatif block.exponential-reconstructor.name = Reconstructeur Exponentiel block.tetrative-reconstructor.name = Reconstructeur Tétratif -block.payload-conveyor.name = Convoyeur de Masse -block.payload-router.name = Routeur de Charge Utile -block.disassembler.name = Disassembler -block.silicon-crucible.name = Creuset de Silicium -block.overdrive-dome.name = Overdrive Dome +block.payload-conveyor.name = Convoyeur de Charges Utiles +block.payload-router.name = Routeur de Charges Utiles +block.duct.name = Conduit +block.duct-router.name = Routeur de Conduit +block.duct-bridge.name = Pont en Conduit +block.large-payload-mass-driver.name = Grand Transporteur de Charges Utiles +block.payload-void.name = Destructeur de Charge utile +block.payload-source.name = Source de Charge utile +block.disassembler.name = Désassembleur +block.silicon-crucible.name = Grande Fonderie de Silicium +block.overdrive-dome.name = Dôme Accélérant +block.interplanetary-accelerator.name = Accélérateur Interplanétaire +block.constructor.name = Constructeur +block.constructor.description = Fabrique des structures d'une taille maximale de 2x2 (blocs). +block.large-constructor.name = Grand Constructeur +block.large-constructor.description = Fabrique des structures d'une taille maximale de 4x4 (blocs). +block.deconstructor.name = Déconstructeur +block.deconstructor.description = Déconstruit les structures et les unités. Retourne 100% du coût de construction. +block.payload-loader.name = Chargeur de charge utile +block.payload-loader.description = Charge les liquides et les ressources dans les blocs. +block.payload-unloader.name = Déchargeur de charge utile +block.payload-unloader.description = Décharge les liquides et les ressources des blocs. +block.heat-source.name = Source de Chaleur +block.heat-source.description = Produit de grandes quantités de chaleur. Bac à sable uniquement. -block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor -block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display -block.memory-cell.name = Memory Cell -block.memory-bank.name = Memory Bank +#Erekir +block.empty.name = Vide +block.rhyolite-crater.name = Cratère de Rhyolite +block.rough-rhyolite.name = Rhyolite rugueuse +block.regolith.name = Régolithe +block.yellow-stone.name = Pierre Jaune +block.carbon-stone.name = Pierre de Carbone +block.ferric-stone.name = Pierre Ferreuse +block.ferric-craters.name = Cratères Ferreux +block.beryllic-stone.name = Pierre Beryllieuse +block.crystalline-stone.name = Pierre Cristalline +block.crystal-floor.name = Sol de Cristal +block.yellow-stone-plates.name = Plaques de Pierre Jaune +block.red-stone.name = Pierre Rouge +block.dense-red-stone.name = Pierre Rouge Dense +block.red-ice.name = Glace Rouge +block.arkycite-floor.name = Sol d'Arkycite +block.arkyic-stone.name = Pierre d'Arkyic +block.rhyolite-vent.name = Évent de Rhyolite +block.carbon-vent.name = Évent de Carbone +block.arkyic-vent.name = Évent d'Arkyic +block.yellow-stone-vent.name = Évent de Pierre Jaune +block.red-stone-vent.name = Évent de Pierre Rouge +block.crystalline-vent.name = Évent Crystallin +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Zone de Noyau +block.regolith-wall.name = Mur de Régolithe +block.yellow-stone-wall.name = Mur de Pierre Jaune +block.rhyolite-wall.name = Mur de Rhyolite +block.carbon-wall.name = Mur de Carbone +block.ferric-stone-wall.name = Mur de Pierre Ferreuse +block.beryllic-stone-wall.name = Mur de Pierre Beryllieuse +block.arkyic-wall.name = Mur d'Arkyic +block.crystalline-stone-wall.name = Mur de Pierre Cristalline +block.red-ice-wall.name = Mur de Glace Rouge +block.red-stone-wall.name = Mur de Pierre Rouge +block.red-diamond-wall.name = Mur de Diamant Rouge +block.redweed.name = Herbe Rouge +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Corail Jaune +block.carbon-boulder.name = Rocher de Carbone +block.ferric-boulder.name = Rocher Ferreux +block.beryllic-boulder.name = Rocher Beryllieux +block.yellow-stone-boulder.name = Rocher de Pierre Jaune +block.arkyic-boulder.name = Rocher d'Arkyic +block.crystal-cluster.name = Amas de Cristaux +block.vibrant-crystal-cluster.name = Amas de Cristaux Vibrants +block.crystal-blocks.name = Bloc de Cristal +block.crystal-orbs.name = Orbe de Cristal +block.crystalline-boulder.name = Rocher Cristallin +block.red-ice-boulder.name = Rocher de Pierre Rouge +block.rhyolite-boulder.name = Rocher de Rhyolite +block.red-stone-boulder.name = Rocher de Pierre Rouge +block.graphitic-wall.name = Rocher Graphitique +block.silicon-arc-furnace.name = Four de Silicium +block.electrolyzer.name = Électrolyseur +block.atmospheric-concentrator.name = Concentrateur Atmosphérique +block.oxidation-chamber.name = Chambre d'Oxydation +block.electric-heater.name = Chauffage Électrique +block.slag-heater.name = Chauffage de Scories +block.phase-heater.name = Chauffage Phasé +block.heat-redirector.name = Redirecteur de Chaleur +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Routeur de Chaleur +block.slag-incinerator.name = Incinérateur de Scories +block.carbide-crucible.name = Grande fonderie de Carbure +block.slag-centrifuge.name = Centrifugeuse de Scories +block.surge-crucible.name = Grande Fonderie d'Alliage Superchargé +block.cyanogen-synthesizer.name = Synthétiseur de Cyanogène +block.phase-synthesizer.name = Synthétiseur de Tissu Phasé +block.heat-reactor.name = Centrale Thermique +block.beryllium-wall.name = Mur de Béryllium +block.beryllium-wall-large.name = Grand Mur de Béryllium +block.tungsten-wall.name = Mur de Tungstène +block.tungsten-wall-large.name = Grand Mur de Tungstène +block.blast-door.name = Porte Blindée +block.carbide-wall.name = Mur de Carbure +block.carbide-wall-large.name = Grand Mur de Carbure +block.reinforced-surge-wall.name = Mur d'Alliage Superchargé Renforcé +block.reinforced-surge-wall-large.name = Grand Mur d'Alliage Superchargé Renforcé +block.shielded-wall.name = Mur à Bouclier +block.radar.name = Radar +block.build-tower.name = Tourelle de Construction +block.regen-projector.name = Projecteur Régénérant +block.shockwave-tower.name = Tour à Ondes de Choc +block.shield-projector.name = Projecteur de Bouclier +block.large-shield-projector.name = Grand Projecteur de Bouclier +block.armored-duct.name = Conduit Blindé +block.overflow-duct.name = Conduit de Débordement +block.underflow-duct.name = Conduit de Refoulement +block.duct-unloader.name = Déchargeur de Conduit +block.surge-conveyor.name = Convoyeur Superchargé +block.surge-router.name = Routeur Superchargé +block.unit-cargo-loader.name = Chargeur de Transporteurs +block.unit-cargo-unload-point.name = Point de Déchargment de Transporteurs +block.reinforced-pump.name = Pompe Renforcée +block.reinforced-conduit.name = Conduit Reforcé +block.reinforced-liquid-junction.name = Jonction de Liquides Renforcé +block.reinforced-bridge-conduit.name = Pont de Liquides Renforcé +block.reinforced-liquid-router.name = Routeur de Liquides Renforcé +block.reinforced-liquid-container.name = Conteneur de Liquides Renforcé +block.reinforced-liquid-tank.name = Réservoir de Liquides Renforcé +block.beam-node.name = Transmetteur à Rayons +block.beam-tower.name = Grand Transmetteur à Rayons +block.beam-link.name = Relieur à Rayons +block.turbine-condenser.name = Condenseur à Turbine +block.chemical-combustion-chamber.name = Chambre de Combustion Chimique +block.pyrolysis-generator.name = Générateur à Pyrolyse +block.vent-condenser.name = Condenseur à Évent +block.cliff-crusher.name = Broyeur de Parois +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Foreuse à Plasma +block.large-plasma-bore.name = Grande Foreuse à Plasma +block.impact-drill.name = Foreuse à Impact +block.eruption-drill.name = Foreuse à Erruptions +block.core-bastion.name = Noyau: Bastion +block.core-citadel.name = Noyau: Citadelle +block.core-acropolis.name = Noyau: Acropole +block.reinforced-container.name = Conteneur Renforcé +block.reinforced-vault.name = Coffre-Fort Renforcé +block.breach.name = Brèche +block.sublimate.name = Sublimeur +block.titan.name = Titan +block.disperse.name = Propagateur +block.afflict.name = Éclateur +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Refabricateur de Tanks +block.mech-refabricator.name = Refabricateur de Mécas +block.ship-refabricator.name = Refabricateur de Vaisseaux +block.tank-assembler.name = Assembleur de Tanks +block.ship-assembler.name = Assembleur de Vaisseaux +block.mech-assembler.name = Assembleur de Mécas +block.reinforced-payload-conveyor.name = Convoyeur de Charges Utiles Renforcé +block.reinforced-payload-router.name = Routeur de Charges Utiles Renforcé +block.payload-mass-driver.name = Transporteur de Charges Utiles +block.small-deconstructor.name = Petit Déconstructeur +block.canvas.name = Canevas +block.world-processor.name = Processeur Global +block.world-cell.name = Cellule de Mémoire Globale +block.tank-fabricator.name = Fabricateur de Tanks +block.mech-fabricator.name = Fabricateur de Mécas +block.ship-fabricator.name = Fabricateur de Vaisseaux +block.prime-refabricator.name = Refabricateur Prime +block.unit-repair-tower.name = Tourelle de Réparation +block.diffuse.name = Diffuseur +block.basic-assembler-module.name = Module d'Assemblage Basique +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Réacteur à Flux +block.neoplasia-reactor.name = Réacteur à Néoplasme -team.blue.name = bleu -team.crux.name = rouge -team.sharded.name = jaune -team.orange.name = orange -team.derelict.name = abandonné +block.switch.name = Interrupteur +block.micro-processor.name = Micro Processeur +block.logic-processor.name = Processeur +block.hyper-processor.name = Hyper Processeur +block.logic-display.name = Écran +block.large-logic-display.name = Grand Écran +block.memory-cell.name = Cellule de mémoire +block.memory-bank.name = Banque de mémoire + +team.malis.name = malis +team.crux.name = crux +team.sharded.name = sharded +team.derelict.name = vestige team.green.name = vert -team.purple.name = violet +team.blue.name = bleu -tutorial.next = [lightgray] -tutorial.intro = Bienvenue sur le [scarlet]Tutoriel de Mindustry![]\nUtilisez [accent][[ZQSD ou WASD][] pour vous déplacer.\nFaites [accent]rouler[] la molette de la souris pour zoomer et dézoomer.\nCommencez en minant du [accent]cuivre[]. Pour cela, allez près de votre noyau, puis faites un clic gauche sur un minerai de cuivre.\n\n[accent]{0}/{1} cuivre -tutorial.intro.mobile = Bienvenue sur le [scarlet]Tutoriel de Mindustry![]\nBalayez l'écran pour vous déplacer.\n[accent] Pincez avec deux doigts [] pour zoomer et dézoomer.\nCommencez en[accent] minant du cuivre[]. Pour cela, allez près de votre noyau, puis appuyez sur un minerai de cuivre.\n\n[accent]{0}/{1} cuivre -tutorial.drill = Miner manuellement est inefficace.\nLes [accent]foreuses []peuvent miner pour vous.\nCliquez sur l'onglet des foreuses en bas à droite.\nSélectionnez la [accent]foreuse mécanique[]. Placez-la ensuite sur des minerais de cuivre avec un clic-gauche.\nVous pouvez aussi sélectionner la foreuse en appuyant sur [accent][[2][] et [accent][[1][] rapidement, peu importe l'onglet ouvert.\n[accent]Faites un clic-droit[] pour arrêter la construction. -tutorial.drill.mobile = Miner manuellement est inefficace.\n[accent]Les foreuses []peuvent miner pour vous.\nAppuyez sur l'onglet des foreuses en bas à droite.\nSélectionnez la [accent]foreuse mécanique[].\nPlacez-la sur des minerais de cuivre en appuyant dessus, puis en touchant la[accent] coche[] pour confirmer votre placement.\nAppuyez sur le [accent]bouton X[] pour annuler le placement. -tutorial.blockinfo = Chaque bloc a des statistiques différentes. Chaque foreuse ne peut miner que certains minerais.\nPour vérifier les informations et les statistiques d'un bloc, appuyez sur le [accent]bouton "?" tout en le sélectionnant dans le menu de construction.[]\n\n[accent]Maintenant, essayez d'accéder aux statistiques de la foreuse mécanique.[] -tutorial.conveyor = [accent]Les convoyeurs[] sont utilisés pour transporter des objets au noyau.\nFaites une ligne de convoyeurs de la foreuse jusqu'au noyau.\n[accent]Maintenez votre souris pour les placer en ligne.[]\nGardez la touche[accent] CTRL[] enfoncée pour pouvoir les placer en diagonale.\n\nPlacez 2 convoyeurs en ligne, puis livrez un minerai au noyau. -tutorial.conveyor.mobile = [accent]Les convoyeurs[] sont utilisés pour transporter des objets au noyau.\nFaites une ligne de convoyeurs de la foreuse jusqu'au noyau.\n[accent] Maintenez votre doigt enfoncé[] et déplacez-le pour former une ligne.\n\nPlacez 2 convoyeurs en ligne, puis livrez un minerai au noyau. -tutorial.turret = Une fois qu'une ressource entre dans votre noyau, elle peut être utilisée pour la construction.\nGardez à l'esprit que certaines ressources ne peuvent pas être utilisées pour la construction.\nCes ressources, telles que[accent] le charbon[],[accent] le sable[] ou[accent] la ferraille[], ne peuvent pas entrer dans votre noyau.\nDes structures défensives doivent être construites pour repousser l'[lightgray] ennemi[].\nConstruisez une [accent]tourelle Duo[] près de votre noyau. -tutorial.drillturret = Les tourelles Duo ont besoin de[accent] munitions en cuivre []pour tirer.\nPlacez une foreuse près de la tourelle.\nÀ l'aide de convoyeurs, alimentez la tourelle en cuivre.\n\n[accent]Munitions livrées: 0/1 -tutorial.pause = Pendant les batailles, vous pouvez mettre [accent]le jeu en pause.[]\nVous pouvez planifier la construction de bâtiments tout en étant en pause.\n\n[accent]Appuyez sur la barre espace pour mettre en pause. -tutorial.pause.mobile = Pendant les batailles, vous pouvez mettre [accent]le jeu en pause.[]\nVous pouvez planifier la construction de bâtiments tout en étant en pause.\n\n[accent]Appuyez sur ce bouton en haut à gauche pour mettre en pause. -tutorial.unpause = Maintenant, appuyez à nouveau sur espace pour reprendre. -tutorial.unpause.mobile = Appuyez à nouveau dessus pour reprendre. -tutorial.breaking = Les blocs ou bâtiments doivent souvent être détruits.\n[accent]Gardez enfoncé le bouton droit de votre souris[] pour détruire tous les blocs en une sélection.[]\n\n[accent]Détruisez tous les blocs de ferraille situés à la gauche de votre noyau à l'aide de la sélection de zone. -tutorial.breaking.mobile = Les blocs ou bâtiments doivent souvent être détruits.\n[accent]Sélectionnez le mode de déconstruction[], puis appuyez sur un bloc pour commencer à le détruire.\nDétruisez une zone en maintenant votre doigt appuyé pendant quelques secondes[] et en le déplaçant dans une direction.\nAppuyez sur le bouton coche pour confirmer.\n\n[accent]Détruisez tous les blocs de ferraille situés à la gauche de votre noyau à l'aide de la sélection de zone. -tutorial.withdraw = Dans certaines situations, il est nécessaire de prendre des ressources directement à partir des bâtiments.\nPour faire cela, [accent]appuyez sur un bloc[] qui contient des ressources, puis [accent]appuyez sur une ressource[] dans son inventaire.\nPlusieurs objets d'une même ressource peuvent être retirées en [accent]appuyant pendant quelques secondes[].\n\n[accent]Retirez du cuivre du noyau.[] -tutorial.deposit = Vous pouvez déposer des ressources dans des bâtiments en les faisant glisser de votre vaisseau vers le bâtiment de destination.\n\n[accent]Déposez le cuivre récupéré précédemment dans le noyau.[] -tutorial.waves = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues.[accent] Cliquez[] pour tirer.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre. -tutorial.waves.mobile = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues. Votre vaisseau tirera automatiquement sur les ennemis.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre. -tutorial.launch = Une fois que vous aurez atteint une vague spécifique, vous aurez la possibilité de[accent] faire décoller le noyau[], abandonnant vos défenses, mais [accent]sécurisant toutes les ressources stockées dans votre noyau.[]\nCes ressources peuvent ensuite être utilisées pour rechercher de nouvelles technologies.\n\n[accent]Appuyez sur le bouton de lancement. +hint.skip = Passer +hint.desktopMove = Utilisez [accent][[ZQSD][] pour bouger. +hint.zoom = [accent]Scrollez[] pour zoomer et dézoomer. +hint.desktopShoot = [accent][[Clic-gauche][] pour tirer. +hint.depositItems = Pour déposer des ressources dans le Noyau, déplacez-les depuis votre vaisseau, vers ce dernier. +hint.respawn = Pour réapparaître en tant que vaisseau, pressez [accent][[V][]. +hint.respawn.mobile = Vous avez pris le contrôle d'une unité/structure. Pour réapparaître en tant qu'unité de base, [accent]touchez l'avatar en haut à gauche.[] +hint.desktopPause = Pressez [accent][[Espace][] pour mettre en pause et reprendre le jeu. +hint.breaking = Maintenez [accent]Clic-droit[] pour détruire des blocs. +hint.breaking.mobile = Activez le \ue817 [accent]marteau[] en bas à droite, Touchez pour détruire des blocs.\n\nRetenez votre doigt pendant une seconde et déplacez-le pour détruire les blocs dans la zone de sélection. +hint.blockInfo = Pour afficher les informations relatives à un bloc, il suffit de le sélectionner dans le [accent]menu de construction[], puis de cliquer sur le bouton [accent][[?][] à droite. +hint.derelict = [accent]Les structures abandonnées[] sont des vestiges brisés d'anciennes bases qui ne fonctionnent plus. Ces structures peuvent être [accent]déconstruites pour obtenir des ressources. +hint.research = Utilisez le bouton \ue875 [accent]Recherche[] pour rechercher de nouvelles technologies. +hint.research.mobile = Utilisez le bouton \ue875 [accent]Recherche[] dans le \ue88c [accent]Menu[] pour rechercher de nouvelles technologies. +hint.unitControl = Retenez [accent][[Ctrl-gauche][] et [accent]cliquez[] pour contrôler une tourelle ou une unité alliée. +hint.unitControl.mobile = [accent][[Tapez][] 2 fois une tourelle ou une unité alliée pour la contrôler. +hint.unitSelectControl = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant [accent]Maj gauche[].\nEn mode « Commande », cliquez et faites glisser la souris pour sélectionner des unités. Faites un [accent]Clic droit[] à un emplacement ou une cible pour que les unités s'y déplacent. +hint.unitSelectControl.mobile = Pour contrôler les unités, entrez en mode [accent]« Commande »[] en pressant le bouton de [accent]commande[] en bas à gauche de l'écran.\nEn mode « Commande », pressez longuement et faites glisser pour sélectionner des unités. Tapez un emplacement ou une cible pour que les unités s'y déplacent. +hint.launch = Une fois que vous avez collecté assez de ressources, vous pouvez [accent]Lancer[] votre Noyau en sélectionnant un secteur depuis la \ue827 [accent]Carte[] en bas à droite. +hint.launch.mobile = Une fois que vous avez collecté assez de ressources, vous pouvez [accent]Lancer[] votre Noyau en sélectionnant un secteur depuis la \ue827 [accent]Carte[] dans le \ue88c [accent]Menu[]. +hint.schematicSelect = Retenez [accent][[F][] pour sélectionner des blocs dans une zone afin de les copier et les coller.\n\n[accent][[Clic molette][] pour copier un seul type de bloc. +hint.rebuildSelect = Retenez [accent][[B][] et faites glissez pour selectionner les plans des blocs détruits.\nCela va automatiquement les reconstruire. +hint.rebuildSelect.mobile = Selectionnez le \ue874 bouton de copie, ensuite tapez le \ue80f bouton de reconstruction et faites glisser pour sélectionner les plans des blocs détruits.\nCela va les reconstruire automatiquement. +hint.conveyorPathfind = Retenez [accent][[Ctrl-gauche][] pendant que vous placez des convoyeurs, afin de générer un chemin automatiquement. +hint.conveyorPathfind.mobile = Activez le mode \ue844 [accent]Diagonale[] et déplacez des convoyeurs, afin de générer un chemin automatiquement. +hint.boost = Retenez [accent][[Maj-gauche][] pour voler au-dessus des obstacles avec votre unité actuelle.\n\nSeules quelques unités terrestres peuvent voler. +hint.payloadPickup = Pressez [accent][[[] pour transporter des blocs ou des unités. +hint.payloadPickup.mobile = [accent]Tapez et retenez[] votre doigt pour transporter des blocs ou des unités. +hint.payloadDrop = Pressez [accent]][] pour larguer votre chargement. +hint.payloadDrop.mobile = [accent]Tapez et retenez[] votre doigt pour larguer votre chargement. +hint.waveFire = [accent]Les tourelles à liquides[], approvisionnées en eau en tant que munition, peuvent automatiquement éteindre les incendies proches. +hint.generator = \uf879 Les [accent]Générateurs à combustion[] brûlent du Charbon et transmettent de l'énergie aux blocs adjacents.\n\nLa transmission d'énergie peut être étendue avec des \uf87f [accent]Transmetteurs Énergétiques[]. +hint.guardian = Les [accent]Gardiens[] sont protégés par un bouclier. Les munitions faibles telles que le [accent]Cuivre[] et le [accent]Plomb[] ne seront [scarlet]pas efficaces[].\n\nUtilisez des tourelles de plus haut niveau, ou de meilleures munitions comme le \uf835 [accent]Graphite[] avec un \uf861Duo/\uf859Salve pour pouvoir tuer le gardien. +hint.coreUpgrade = Les Noyaux peuvent être améliorés [accent]en plaçant un Noyau de plus haut niveau sur eux[].\n\nPlacez un \uf868 Noyau [accent]Fondation[] sur le \uf869 Noyau [accent]Fragment[]. Soyez sûrs que rien n'obstrue la construction. +hint.presetLaunch = Les [accent]secteurs[] gris, tels que [accent]Frozen Forest[], peuvent être lancés de n'importe où. Ils ne requièrent pas la capture d'un secteur adjacent.\n\n[accent]Il y a beaucoup de secteurs[] comme celui-ci, qui sont [accent]optionnels[]. +hint.presetDifficulty = Ce secteur a un niveau de menace ennemi [scarlet]élevé[].\nIl n'est [accent]pas recommandé[] de se lancer dans de tels secteurs sans la technologie et la préparation appropriées. +hint.coreIncinerate = Lorsqu'un Noyau est rempli d'une ressource en particulier, le surplus qui y rentrera sera [accent]incinéré[]. +hint.factoryControl = Pour régler la [accent]destination[] d'une usine à unités, cliquez sur l'usine en mode « Commande », puis clic-droit sur la destination souhaitée.\nLes unités produites s'y déplaceront automatiquement. +hint.factoryControl.mobile = Pour régler la [accent]destination[] d'une usine à unités, tapez sur l'usine en mode « Commande », puis tapez sur la destination souhaitée.\nLes unités produites s'y déplaceront automatiquement. -item.copper.description = Le matériau structurel de base. Utilisation très répandue dans tous les types de blocs. +gz.mine = Déplacez-vous près du \uf8c4 [accent]minerai de cuivre[] sur le sol et cliquez pour commencer à miner. +gz.mine.mobile = Déplacez-vous près du \uf8c4 [accent]minerai de cuivre[] sur le sol et Tapez dessus pour commencer à miner. +gz.research = Ouvrez \ue875 l'Arbre technologique.\nRecherchez la \uf870 [accent]Foreuse méchanique[], ensuite sélectionnez-la dans le menu en bas à droite.\nCliquez sur le filon de cuivre pour la placer. +gz.research.mobile = Ouvrez \ue875 l'Arbre technologique.\nRecherchez la \uf870 [accent]Foreuse méchanique[], ensuite sélectionnez-la dans le menu en bas à droite.\nTapez sur le filon de cuivre pour la placer.\n\nPressez la \ue800 [accent]coche[] en bas à droite pour confirmer. +gz.conveyors = Recherchez et placez des \uf896 [accent]convoyeurs[] pour déplacer les resources minées par vos\nforeuses vers le noyau.\n\nCliquez et retenez pour placer plusieurs convoyeurs.\n[accent]Scrollez[] pour les faire pivoter. +gz.conveyors.mobile = Recherchez et placez des \uf896 [accent]convoyeurs[] pour déplacer les resources minées par vos\nforeuses vers le noyau.\n\nRetenez pendant une seconde et faites glisser pour placer plusieurs convoyeurs. +gz.drills = Étendez vos exploitations minières.\nPlacez plus de Foreuses méchaniques.\nMinez 100 minerais de cuivre. +gz.lead = \uf837 Le [accent]Plomb[] est un autre minerai assez utilisé en tant que ressource.\nConstruisez des foreuses pour miner du plomb. +gz.moveup = \ue804 Déplacez-vous vers le haut pour la suite des objectifs. +gz.turrets = Recherchez et placez 2 \uf861 [accent]Duos[] pour défendre votre noyau.\nLes Duos requierent du \uf838 cuivre en tant que [accent]munitions[] depuis des convoyeurs. +gz.duoammo = Rechargez vos Duos avec du [accent]cuivre[], en utilisant les convoyeurs. +gz.walls = Les [accent]Murs[] peuvent empêcher les attaques ennemies d'atteindre vos constructions.\nPlacez des \uf8ae [accent]murs de cuivre[] autour de vos tourelles. +gz.defend = Ennemis en approche, préparez-vous à défendre. +gz.aa = Les unités aériennes ne peuvent pas être facilement repoussées avec des tourelles standard.\n\uf860 Les [accent]Disperseurs[] sont d'excellentes tourelles anti-aériennes, mais requièrent du \uf837 [accent]plomb[] en tant que munition. +gz.scatterammo = Approvisionnez le Disperseur avec du [accent]plomb[] en utilisant des convoyeurs. +gz.supplyturret = [accent]Approvisionnez la tourelle +gz.zone1 = Ceci est la zone d'apparition ennemie. +gz.zone2 = Tout ce qui est construit dans le rayon est détruit lors du commencement de la vague. +gz.zone3 = Une vague va commencer maintenant.\nPréparez-vous. +gz.finish = Construisez plus de tourelles, minez plus de resources,\net défendez-vous contre toutes les vagues ennemies afin de [accent]capturer ce secteur[]. + +onset.mine = Cliquez pour miner le \uf748 [accent]béryllium[] contenu dans les murs.\n\nUtilisez [accent][[ZQSD] pour bouger. +onset.mine.mobile = Tapez pour miner le \uf748 [accent]béryllium[] contenu dans les murs. +onset.research = Ouvrez \ue875 l'arbre technologique.\nRecherchez et placez un \uf73e [accent]condenseur à turbine[] sur l'évent.\nCela va générer de [accent]l'énergie[]. +onset.bore = Recherchez et placez une \uf741 [accent]foreuse à plasma[].\nElle va automatiquement miner les ressources contenues dans les murs. +onset.power = Pour [accent]alimenter[] la foreuse à plasma, recherchez et placez un \uf73d [accent]transmetteur à rayons[].\nConnectez le condenseur à la foreuse. +onset.ducts = Recherchez et placez des \uf799 [accent]conduits[] pour déplacer les ressources minées depuis la foreuse vers le noyau.\nCliquez et faites glisser pour placer plusieurs conduits.\n[accent]Scrollez[] pour les faire pivoter. +onset.ducts.mobile = Recherchez et placez des \uf799 [accent]conduits[] pour déplacer les ressources minées depuis la foreuse vers le noyau.\n\nRetenez votre doigt pendant une seconde et déplacez-le pour placer plusieurs conduits. +onset.moremine = Étendez vos exploitations minières.\nPlacez plus de foreuses à plasma et utilisez des transmetteurs à rayons pour les relier.\nMinez 200 minerais de béryllium. +onset.graphite = Les blocs plus complexes requièrent du \uf835 [accent]graphite[].\nPlacez quelques foreuses à plasma pour miner du graphite. +onset.research2 = Commencez à rechercher des [accent]usines[].\nRecherchez le \uf74d [accent]broyeur de parois[] et le \uf779 [accent]four de silicium[]. +onset.arcfurnace = Le four de silicium a besoin de \uf834 [accent]sable[] et de \uf835 [accent]graphite[] pour créer du \uf82f [accent]silicium[].\nDe [accent]l'énergie[] est aussi requise. +onset.crusher = Utilisez des \uf74d [accent]broyeurs de parois[] pour miner du sable. +onset.fabricator = Utilisez des [accent]Unités[] pour explorer la carte, défendre vos constructions et attaquer l'ennemi. Recherchez et placez un \uf6a2 [accent]Fabricateur de Tanks[]. +onset.makeunit = Produisez une unité.\nUtilisez le bouton "?" pour voir les ressources requises par le fabricateur. +onset.turrets = Les unités sont efficaces, mais les [accent]tourelles[] ont de meilleures capacités défensives si elles sont bien utilisées.\nPlacez une tourelle \uf6eb [accent]brèche[].\nLes tourelles requièrent des [accent]munitions[] \uf748. +onset.turretammo = Approvisionnez les tourelles avec du [accent]béryllium[]. +onset.walls = Les [accent]murs[] peuvent encaisser les dégâts des attaques ennemies avant qu'elles atteignent vos constructions.\nPlacez quelques \uf6ee [accent]murs de béryllium[] autour de la tourelle. +onset.enemies = Ennemis en approche, préparez-vous à défendre. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = L'ennemi est vulnérable. Contre-attaquez ! +onset.cores = Les noyaux peuvent être placés sur des [accent]tuiles de noyau[].\nCes nouveaux noyaux servent à faire avancer votre base et partager vos ressources avec d'autres noyaux.\nPlacez un noyau \uf725. +onset.detect = L'ennemi sera capable de vous détecter dans 2 minutes.\nAméliorez vos défenses, vos exploitations minières ainsi que votre production. +onset.commandmode = Retenez [accent]Maj-gauche[] pour entrer en [accent]Mode « Commande »[].\n[accent]Clic-gauche tout en bougeant la souris[] pour sélectionner des unités.\n[accent]Clic-droit[] pour ordonner aux unités sélectionnées de bouger ou attaquer. +onset.commandmode.mobile = Pressez le [accent]bouton de commande[] pour entrer en [accent]Mode « Commande »[].\nRetenez votre doigt, et [accent]bougez-le[] pour sélectionner des unités.\n[accent]Tapez[] pour ordonner aux unités sélectionnées de bouger ou attaquer. +aegis.tungsten = Le tungstène peut être miné en utilisant une [accent]foreuse à impact[].\nCette structure requiert de [accent]l'eau[] et de [accent]l'énergie[]. + +split.pickup = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Les touches par défaut sont [[ pour ramasser et ] pour déposer) +split.pickup.mobile = Certains blocs peuvent être transportés par des unités du noyau.\nTransportez ce [accent]conteneur[] et placez-le sur le [accent]chargeur de charges utiles[].\n(Pour ramasser ou déposer quelque chose, Pressez longuement dessus.) +split.acquire = Vous devez acquérir du tungstène pour construire des unités. +split.build = Ces unités doivent être transportées vers l'autre côté du mur.\nPlacez 2 [accent]transporteurs de charges utiles[], 1 de chaque côté du mur.\nEnsuite reliez-les en pressant sur l'un et ensuite en sélectionnant l'autre. +split.container = Similaires aux conteneurs, les unités peuvent aussi être transportées en utilisant un [accent]transporteur de charges utiles[].\nPlacez un fabricateur d'unités adjacent à un transporteur, ensuite chargez-les et finalement, envoyez-les au-delà du mur pour attaquer la base ennemie. + +item.copper.description = Le matériau structurel de base. Utilisation très répandue dans tous les types de blocs et en tant que munition. +item.copper.details = Le cuivre est un matériau anormalement abondant sur Serpulo. Il est structurellement faible à moins d'être renforcé. item.lead.description = Un matériau de départ. Utilisation très répandue en électronique et dans les blocs de transport de liquides. +item.lead.details = Dense et inerte, il est beaucoup utilisé dans les batteries.\nNote: Probablement toxique pour les formes de vie biologiques. Mais ce n'est pas comme s’il en restait beaucoup ici. item.metaglass.description = Un composé de verre super-résistant. Utilisation très répandue pour le transport et le stockage de liquides. -item.graphite.description = Du carbone minéralisé utilisé pour les munitions et l’isolation électrique. -item.sand.description = Un matériau commun largement utilisé dans la fonte, à la fois dans l'alliage et comme un flux. -item.coal.description = De la matière végétale fossilisée, formée bien avant l’ensemencement de ce monde. Utilisation très répandue pour la production de carburant et de ressources. -item.titanium.description = Un métal rare et super-léger largement utilisé dans le transport de liquides, dans les foreuses de hauts niveaux et dans l'aviation. -item.thorium.description = Un métal dense et radioactif utilisé comme support structurel et comme carburant nucléaire. -item.scrap.description = Un mix de métaux provenant des restes de vieilles structures et d'unités. Contient des traces de nombreux métaux différents. +item.graphite.description = Du carbone minéralisé utilisé pour les munitions et dans les composants électriques. +item.sand.description = Un matériau commun, largement utilisé pour la fabrication de matériaux raffinés. +item.coal.description = Un carburant commun et facile à obtenir. +item.coal.details = De la matière végétale fossilisée, formée bien avant l’ensemencement de ce monde. Utilisation très répandue pour la production de carburant et de ressources. +item.titanium.description = Un métal rare et super-léger, largement utilisé dans le transport de liquides, dans les foreuses de haut niveau et dans les usines. +item.thorium.description = Un métal dense et radioactif, utilisé comme support structurel et comme carburant nucléaire. +item.scrap.description = Il est utilisé dans les fours à fusion et les pulvériseurs, pour être raffiné en d'autres matériaux. +item.scrap.details = Un mix de métaux provenant des restes de vieilles structures et d'unités. Il contient des traces de nombreux métaux différents. item.silicon.description = Un matériau semi-conducteur extrêmement pratique utilisé dans les panneaux solaires, dans les munitions autoguidées et dans beaucoup d'autres composants électroniques complexes. -item.plastanium.description = Un matériau léger et ductile utilisé dans l'aviation avancée et dans les munitions à fragmentation. -item.phase-fabric.description = Une substance au poids quasiment inexistant utilisée pour l'électronique avancée et la technologie auto-réparatrice. -item.surge-alloy.description = Un alliage avancé avec des propriétés électriques uniques. -item.spore-pod.description = Une glande de spores synthétisées à partir de concentrations atmosphériques à des fins industrielles et utilisé pour la conversion en pétrole, en explosifs et en carburant. -item.blast-compound.description = Un composé instable synthétisé à partir de glandes de spores ou bien d'autres composés volatils et utilisé dans les bombes ainsi que dans les autres 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.plastanium.description = Un matériau léger et ductile, utilisé dans l'isolation, la fabrication d'unités avancées et dans les munitions à fragmentation. +item.phase-fabric.description = Une substance au poids quasiment inexistant, utilisée pour l'électronique avancée et la technologie auto-réparatrice. +item.surge-alloy.description = Un alliage avancé aux propriétés électriques uniques, utilisé dans l'armement avancé. +item.spore-pod.description = Les bulbes sporifères sont utilisés pour l'obtention d'huile, d'explosifs et de carburants. +item.spore-pod.details = Les spores sont des formes de vies synthétiques, émettant des gaz qui sont toxiques pour les autres formes de vie biologiques. Elles sont extrêmement invasives et très inflammables dans certaines conditions. +item.blast-compound.description = Un matériau utilisé dans les bombes et les munitions explosives. +item.pyratite.description = Une substance extrêmement inflammable utilisée dans les armes incendiaires et comme combustible pour les générateurs. + +#Erekir +item.beryllium.description = Un matériau utilisé dans de nombreux types de constructions et de munition sur Erekir. +item.tungsten.description = Un métal utilisé dans les foreuses, armures et munitions. Requis pour la construction de structures avancées. +item.oxide.description = Un matériau utilisé comme conducteur de chaleur et isolant pour l'énergie. +item.carbide.description = Un matériau utilisé dans les structures avancées, les unités lourdes et les munitions. + liquid.water.description = Le liquide le plus utile. Couramment utilisé pour le refroidissement et le traitement des déchets. liquid.slag.description = Différents types de métaux en fusion mélangés. Peut être séparé en ses minéraux constitutifs ou tout simplement pulvérisé sur les unités ennemies. liquid.oil.description = Un liquide utilisé dans la production de matériaux avancés. Peut être transformé en charbon ou pulvérisé sur les ennemis, puis enflammé. liquid.cryofluid.description = Un liquide inerte, non corrosif, créé à partir d’eau et de titane. Possède une capacité d'absorption de chaleur extrêmement élevée. Largement utilisé comme liquide de refroidissement. -block.message.description = Enregistre un message. Utilisé pour la communication entre alliés. -block.graphite-press.description = Compresse des morceaux de charbon en feuilles de graphite pur. -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.silicon-smelter.description = Réduit le sable avec du charbon pur. Produit du silicium. -block.kiln.description = Fait fondre le sable et le plomb en verre trempé. Nécessite une petite quantité d'énergie. +#Erekir +liquid.arkycite.description = Un liquide utilisé dans les réactions chimiques pour la production d’énergie et la synthèse de matériaux. +liquid.ozone.description = Un gaz utilisé comme agent oxydant dans la production de matériaux et comme combustible. Relativement explosif. +liquid.hydrogen.description = Un gaz inflammable utilisé dans l’extraction des ressources, la production d'unités et la réparation de structures. +liquid.cyanogen.description = Un gaz hautement inflammable utilisé pour les munitions, la construction d’unités avancées, et diverses réactions dans certains blocs avancés. +liquid.nitrogen.description = Un gaz inerte utilisé dans l’extraction des ressources, la création de gaz et la production d'unités. +liquid.neoplasm.description = Un sous-produit biologique dangereux issu du réacteur à Néoplasme. Se propage rapidement dans tous les blocs adjacents contenant de l’eau, les endommageant dans le processus. Très visqueux. +liquid.neoplasm.details = Néoplasme, une masse incontrôlable de cellules synthétiques à division rapide, ayant une consistance semblable à la boue. Résistant à la chaleur. Extrêmement dangereux pour toute structure comportant de l’eau.\n\nTrop complexe et instable pour des analyses standard. Applications potentielles inconnues. Il est recommandé de l’incinérer dans des bassins de scories. + +block.derelict = \ue815 [lightgray]Vestiges +block.armored-conveyor.description = Déplace les objets à la même vitesse que les convoyeurs en titane, mais est plus résistant. Seulement d'autres convoyeurs peuvent faire entrer des ressources par ses côtés. +block.illuminator.description = Une petite source lumineuse compacte et configurable. Nécessite de l'énergie pour fonctionner. +block.message.description = Enregistre un message. Utilisé pour la communication entre alliés. Le message contenu peut être modifié par un processeur logique. +block.reinforced-message.description = Enregistre un message. Utilisé pour la communication entre alliés. +block.world-message.description = Un bloc de message spécial utilisé pour la création de cartes. Ne peut pas être détruit. +block.graphite-press.description = Compresse le charbon en graphite. +block.multi-press.description = Une version améliorée de la presse à graphite, utilisant de l'eau et de l'électricité pour traiter le charbon plus rapidement et plus efficacement. +block.silicon-smelter.description = Raffine du silicium avec du sable et du charbon. +block.kiln.description = Fait fondre le sable et le plomb en verre trempé. block.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane. -block.phase-weaver.description = Produit du tissu phasé à partir de thoriums et de grandes quantités de sable. Nécessite une quantité massive d'énergie pour fonctionner. -block.alloy-smelter.description = Produit un alliage superchargé à l'aide de titane, de plomb, de silicium et de cuivre. -block.cryofluid-mixer.description = Mélange de l’eau et de la fine poudre de titane pour former du liquide cryogénique. Indispensable lors de l'utilisation de réacteurs aux thoriums. -block.blast-mixer.description = Écrase et mélange les amas de spores avec de la pyratite pour produire un mélange explosif. -block.pyratite-mixer.description = Mélange le charbon, le plomb et le sable en pyratite hautement inflammable. -block.melter.description = Fait fondre la ferraille en scories pour un traitement ultérieur ou une utilisation dans les tourelles « Onde ». +block.phase-weaver.description = Synthétise du tissu phasé à partir de thorium et de grandes quantités de sable. Nécessite une quantité massive d'énergie pour fonctionner. +block.surge-smelter.description = Produit un alliage superchargé à l'aide de titane, de plomb, de silicium et de cuivre. +block.cryofluid-mixer.description = Mélange de l’eau et de la poudre fine de titane pour former du liquide cryogénique. Indispensable lors de l'utilisation de réacteurs à thorium. +block.blast-mixer.description = Écrase et mélange des amas de spores avec de la pyratite pour produire un mélange explosif. +block.pyratite-mixer.description = Mélange du charbon, du plomb et du sable en pyratite hautement inflammable. +block.melter.description = Fait fondre la ferraille en scories. block.separator.description = Expose la scorie à de l'eau sous pression afin d'obtenir les différents minéraux qu'elle contient. -block.spore-press.description = Compresse les glandes de spore sous une pression extrême pour synthétiser du pétrole. +block.spore-press.description = Compresse des spores pour synthétiser du pétrole. block.pulverizer.description = Écrase la ferraille pour en faire du sable. Utile quand il y a un manque de sable naturel. block.coal-centrifuge.description = Solidifie le pétrole en blocs de charbon. -block.incinerator.description = Permet de se débarrasser de n'importe quel objet ou liquide en excès. +block.incinerator.description = Incinère ou vaporise n'importe quel objet ou liquide qu'il reçoit. block.power-void.description = Absorbe toute l'énergie qui va à l'intérieur. Bac à sable uniquement. block.power-source.description = Produit de l'énergie à l'infini. Bac à sable uniquement. -block.item-source.description = Produit des objets à l'infini. Bac à sable uniquement . -block.item-void.description = Désintègre n'importe quel objet qui va à l'intérieur. Bac à sable uniquement. +block.item-source.description = Produit des objets à l'infini. Bac à sable uniquement. +block.item-void.description = Détruit les objets introduits. Bac à sable uniquement. block.liquid-source.description = Source de liquide infinie. Bac à sable uniquement. -block.liquid-void.description = Détruit n'importe quel liquide. Bac à sable uniquement. +block.liquid-void.description = Détruit les liquides introduits. Bac à sable uniquement. +block.payload-source.description = Produit des charges utiles à l'infini. Bac à sable uniquement. +block.payload-void.description = Détruit toutes les charges utiles. Bac à sable uniquement. block.copper-wall.description = Un bloc défensif à faible coût.\nUtile pour protéger la base et les tourelles lors des premières vagues. -block.copper-wall-large.description = Un bloc défensif à faible coût.\nUtile pour protéger la base et les tourelles lors des premières vagues.\n2 x 2. -block.titanium-wall.description = Un bloc défensif standard.\nProcure une protection modérée contre les ennemis. -block.titanium-wall-large.description = Un bloc défensif standard.\nProcure une protection modérée contre les ennemis.\n2 x 2. -block.plastanium-wall.description = Un mur spécial qui absorbe les arcs électriques et bloque les connections automatiques des transmetteurs énergétiques. -block.plastanium-wall-large.description = Un mur spécial qui absorbe les arcs électriques et bloque les connections automatiques des transmetteurs énergétiques.\n2 x 2. -block.thorium-wall.description = Un bloc défensif puissant.\nProcure une très bonne protection contre les ennemis. -block.thorium-wall-large.description = Un bloc défensif puissant.\nProcure une très bonne protection contre les ennemis.\n2 x 2. -block.phase-wall.description = Moins puissant qu'un mur en Thorium mais dévie les balles, sauf si elles sont trop puissantes. -block.phase-wall-large.description = Moins puissant qu'un mur en Thorium mais dévie les balles, sauf si elles sont trop puissantes.\n2 x 2. -block.surge-wall.description = Le plus puissant bloc défensif .\nA une faible chance de créer des éclairs vers les ennemis . -block.surge-wall-large.description = Le plus puissant bloc défensif .\nA une faible chance de créer des éclairs vers les ennemis .\n2 x 2. -block.door.description = Une petite porte pouvant être ouverte et fermée en appuyant dessus.\nSi elle est ouverte les ennemis peuvent tirer et passer à travers. -block.door-large.description = Une large porte pouvant être ouverte et fermée en appuyant dessus.\nSi elle est ouverte les ennemis peuvent tirer et passer à travers.\n2 x 2. -block.mender.description = Soigne périodiquement les bâtiments autour de lui. Permet de garder les défenses en bon état entre les vagues ennemies.\nPeut utiliser du Silicium pour booster la portée et l'efficacié. -block.mend-projector.description = Une version améliorée du Réparateur. Soigne périodiquement les bâtiments autour de lui.\nPeut utiliser du tissu phasé pour booster la portée et l'efficacié. -block.overdrive-projector.description = Accélère le fonctionnement des bâtiments autour de lui, notamment les foreuses et les convoyeurs.\nPeut utiliser du tissu phasé pour booster la portée et l'efficacié. -block.force-projector.description = Crée un champ de force hexagonal autour de lui qui protège des dégâts les bâtiments et les unités à l'intérieur.\nSurchauffe si trop de dégâts sont reçus. Peut utiliser du liquide cryogénique pour éviter la surchauffe. Peut utiliser du tissu phasé pour booster la taille du bouclier. -block.shock-mine.description = Blesse les ennemis qui marchent dessus. Quasiment invisible pour l'ennemi. +block.copper-wall-large.description = Un bloc défensif à faible coût.\nUtile pour protéger la base et les tourelles lors des premières vagues. +block.titanium-wall.description = Un bloc défensif standard.\nProcure une protection modérée contre les attaques ennemies. +block.titanium-wall-large.description = Un bloc défensif standard.\nProcure une protection modérée contre les attaques ennemies. +block.plastanium-wall.description = Un mur spécial qui peut absorber les arcs électriques et bloquer les connexions automatiques des transmetteurs énergétiques. +block.plastanium-wall-large.description = Un mur spécial qui peut absorber les arcs électriques et bloquer les connexions automatiques des transmetteurs énergétiques. +block.thorium-wall.description = Un bloc défensif puissant.\nProcure une très bonne protection contre les attaques ennemies. +block.thorium-wall-large.description = Un bloc défensif puissant.\nProcure une très bonne protection contre les attaques ennemies. +block.phase-wall.description = Ce mur est moins puissant qu'un mur en thorium, mais il peut dévier les balles, sauf si elles sont trop puissantes. +block.phase-wall-large.description = Ce mur est moins puissant qu'un mur en thorium, mais il peut dévier les balles, sauf si elles sont trop puissantes. +block.surge-wall.description = Le plus puissant bloc défensif.\nA une faible chance d'envoyer des éclairs vers les ennemis. +block.surge-wall-large.description = Le plus puissant bloc défensif.\nA une faible chance d'envoyer des éclairs vers les ennemis. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Une petite porte pouvant être ouverte et fermée en appuyant dessus.\nSi elle est ouverte, les ennemis peuvent passer à travers. +block.door-large.description = Une grande porte pouvant être ouverte et fermée en appuyant dessus.\nSi elle est ouverte, les ennemis peuvent passer à travers. +block.mender.description = Soigne périodiquement les bâtiments autour de lui, ce qui permet de remettre les défenses en bon état entre les vagues ennemies.\nPeut utiliser du silicium pour booster la portée et l'efficacité. +block.mend-projector.description = Une version améliorée du Gardien. Soigne périodiquement les bâtiments autour de lui.\nPeut utiliser du tissu phasé pour booster la portée et l'efficacité. +block.overdrive-projector.description = Accélère le fonctionnement des bâtiments autour de lui, notamment les foreuses et les convoyeurs.\nPeut utiliser du tissu phasé pour booster la portée et l'efficacité. +block.force-projector.description = Crée un champ de force hexagonal autour de lui, qui protège des dégâts les bâtiments et les unités à l'intérieur.\nSurchauffe si trop de dégâts sont reçus. De l'eau ou du liquide cryogénique peuvent être utilisés pour ralentir la surchauffe et/ou accélérer le refroidissement. Peut utiliser du tissu phasé pour booster la taille du bouclier. +block.shock-mine.description = Blesse les ennemis qui marchent dessus. block.conveyor.description = Convoyeur basique servant à transporter des objets. Les objets déplacés en avant sont automatiquement déposés dans les tourelles ou les bâtiments. Peut être tourné. -block.titanium-conveyor.description = Convoyeur avancé. Déplace les objets plus rapidement que les convoyeurs standard. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. +block.titanium-conveyor.description = Convoyeur avancé. Déplace les objets plus rapidement que les convoyeurs standards. +block.plastanium-conveyor.description = Convoyeur transportant les ressources par paquets. Accepte les ressources par derrière et les décharge par 3 directions à l'avant. Pour une efficacité maximale, utilisez plusieurs points de chargement et de déchargement pour une même ligne. block.junction.description = Agit comme un pont pour deux lignes de convoyeurs se croisant. Utile lorsque deux lignes de convoyeurs différentes déplacent différents matériaux à différents endroits. -block.bridge-conveyor.description = Bloc de transport avancé permettant de traverser jusqu'à 3 blocs de n'importe quel terrain ou bâtiment. -block.phase-conveyor.description = Convoyeur très avancé. Utilise de l'énergie pour téléporter des objets à un convoyeur phasé connecté jusqu'à une longue distance. +block.bridge-conveyor.description = Bloc de transport avancé permettant de traverser jusqu'à 3 blocs, au-dessus de n'importe quel terrain ou bâtiment. +block.phase-conveyor.description = Convoyeur très avancé. Utilise de l'énergie pour téléporter des objets à un autre convoyeur phasé. Possède une longue portée. block.sorter.description = Trie les ressources. Si une ressource correspond à la sélection, elle peut passer tout droit. Autrement, elle est distribuée vers la gauche ou la droite. -block.inverted-sorter.description = Trie les ressources comme un trieur standard, mais ceux correspondant à la sélection sont envoyés sur les côtés. Le reste est envoyé tout droit. -block.router.description = Accepte les objets depuis une ou plusieurs directions et les renvoie dans n'importe quelle direction. Utile pour séparer une chaîne de convoyeurs en plusieurs. -block.distributor.description = Un routeur avancé qui répartit équitablement les objets entre au plus 7 directions différentes.\n2x2 +block.inverted-sorter.description = Trie les ressources comme un trieur standard, mais celles qui correspondent à la sélection sont envoyées sur les côtés. Le reste est envoyé tout droit. +block.router.description = Accepte les objets depuis une ou plusieurs directions et les renvoie équitablement dans n'importe quelle direction. Utile pour séparer une chaîne de convoyeurs en plusieurs. +block.router.details = Un mal nécessaire... Utiliser un routeur à côté d'une usine est très déconseillé, car ceux-ci peuvent être bloqués par les matériaux produits par celle-ci. +block.distributor.description = Un routeur avancé qui répartit équitablement les objets jusqu'à 7 directions différentes. block.overflow-gate.description = Bloc envoyant les ressources à gauche et à droite si le chemin de devant est bloqué. -block.underflow-gate.description = Le contraire d'une barrière de débordement.\nEnvoie les ressources vers l'avant si les chemins de gauche et de droite sont bloqués. -block.mass-driver.description = Le moyen de transport de resources ultime. Collecte plusieurs ressources puis les envoie à une autre catapulte sur une longue distance. Nécessite de l'énergie pour fonctionner. -block.mechanical-pump.description = Une pompe de faible prix pompant lentement, mais ne consommant pas d'énergie. -block.rotary-pump.description = Une pompe avancée plus rapide mais utilisant de l'énergie.\n2x2 -block.thermal-pump.description = La pompe ultime.\n3x3 -block.conduit.description = Bloc de transport de liquide de base. Fait avancer les liquides. Utilisé avec des pompes et autres conduits. +block.underflow-gate.description = Le contraire d'une barrière de débordement. Envoie les ressources vers l'avant si les chemins de gauche et de droite sont bloqués. +block.mass-driver.description = Le moyen de transport de ressources ultime! Cette structure collecte des lots de ressources et les envoie à un autre transporteur de masse, sur une longue distance. Nécessite de l'énergie pour fonctionner. +block.mechanical-pump.description = Une pompe basique et bon marché qui pompe lentement des liquides. Elle ne consomme pas d'énergie. +block.rotary-pump.description = Une pompe avancée, plus rapide, mais utilisant de l'énergie. +block.impulse-pump.description = La pompe ultime. +block.conduit.description = Bloc de transport de liquide de base, faisant avancer les liquides. Utilisé avec des pompes et autres conduits. block.pulse-conduit.description = Conduit avancé permettant le transport de liquide. Transporte les liquides plus rapidement et en stocke plus que les conduits standards. -block.plated-conduit.description = Déplace les liquides au même rythme que les conduits à impulsion, mais est renforcé. N'accepte pas de liquides provenant des côtés par autre chose que des conduits.\nFuit moins. -block.liquid-router.description = Accepte les liquides depuis une direction et les rejette de tous les côtés équitablement. Peut aussi stocker une certaine quantité de liquide. Utile pour envoyer un liquide à plusieurs endroits. -block.liquid-tank.description = Stocke une grande quantité de liquide. Utile pour réguler la sortie quand la demande est inconstante ou comme sécurité pour refroidir des bâtiments importants. -block.liquid-junction.description = Agit comme une jonction pour deux conduits se croisant. Utile si deux conduits amènent différents liquides à différents endroits. -block.bridge-conduit.description = Bloc de transport de liquide avancé. Permet le transport de liquides à travers 3 blocs de n'importe quel terrain ou bâtiment au plus. +block.plated-conduit.description = Déplace les liquides au même rythme que les conduits à impulsion, mais est renforcé et empêche les fuites en cas de rupture. N'accepte pas les liquides provenant des côtés, seuls les autres conduits peuvent le faire. +block.liquid-router.description = Accepte les liquides depuis une direction et les distribue jusqu'à 3 directions équitablement. Utile pour envoyer un liquide à plusieurs endroits. Peut aussi stocker une certaine quantité de liquide. +block.liquid-container.description = Stocke une quantité considérable de liquide. Sort de tous les côtés, de la même manière qu'un routeur de liquide. +block.liquid-tank.description = Stocke une grande quantité de liquide et peut les distribuer dans tous les côtés, un peu comme un routeur liquide.\nUtile pour réguler la demande en liquide si elle est inconstante ou comme sécurité pour refroidir des bâtiments importants. +block.liquid-junction.description = Agit comme un pont pour deux conduits se croisant. Utile si deux conduits amènent différents liquides à différents endroits. +block.bridge-conduit.description = Bloc de transport de liquide avancé permettant de traverser jusqu'à 3 blocs, au-dessus de n'importe quel terrain ou bâtiment. block.phase-conduit.description = Conduit très avancé permettant le transport de liquide. Utilise de l'énergie pour téléporter les liquides à un autre conduit phasé sur une longue distance. -block.power-node.description = Transmet l'énergie aux transmetteurs énergétiques connectés. Le transmetteur recevra de l'énergie ou la transmettra à n'importe quel bâtiment adjacent, mais la connexion peut être activé/désactivé manuellement -block.power-node-large.description = Possède un rayon plus grand que le transmetteur énergétique standard, connectant d'autant plus de consommateurs ou transmetteurs d'énergie. -block.surge-tower.description = Un transmetteur énergétique de très grande portée mais avec moins de connections disponibles. -block.diode.description = L'énergie ne peut circuler à travers ce bloc que dans un sens, et uniquement si l’autre côté présente moins d’énergie en stock. +block.power-node.description = Transmet de l'énergie aux autres transmetteurs énergétiques connectés. Le transmetteur recevra de l'énergie ou la transmettra à n'importe quel bâtiment adjacent. La connexion peut être activée/désactivée manuellement. +block.power-node-large.description = Ce transmetteur possède un rayon plus grand que le transmetteur énergétique standard. Il peut aussi accepter plus de connexions. +block.surge-tower.description = Un transmetteur énergétique à très longue portée, mais avec moins de connexions disponibles. +block.diode.description = L'énergie ne circule que dans un sens à travers ce bloc, et uniquement si l’autre côté présente moins d’énergie en stock. Idéal pour protéger les lieux de production d'énergie. block.battery.description = Stocke le surplus d'énergie et le redistribue en cas de besoin. block.battery-large.description = Stocke bien plus d'énergie qu'une batterie normale. block.combustion-generator.description = Génère de l'énergie en brûlant du charbon ou d'autres matériaux inflammables. block.thermal-generator.description = Génère une grande quantité d'énergie à partir de zones de chaleur. block.steam-generator.description = Plus efficace qu'un générateur à combustion, mais requiert de l'eau. block.differential-generator.description = Génère de grandes quantités d'énergie en utilisant la différence de température entre le liquide cryogénique et la pyratite brûlante. -block.rtg-generator.description = Un générateur thermo-électrique à radioisotope qui ne demande pas de refroidissement mais produit moins d'énergie qu'un réacteur à Thorium. +block.rtg-generator.description = Un générateur thermoélectrique à radioisotope qui ne demande pas de refroidissement, mais produit moins d'énergie qu'un réacteur à Thorium. block.solar-panel.description = Génère une faible quantité d'énergie grâce aux rayons du soleil. block.solar-panel-large.description = Génère bien plus d'énergie qu'un panneau solaire standard, mais est aussi bien plus cher à construire. block.thorium-reactor.description = Génère énormément d'énergie à l'aide de la radioactivité du thorium. Requiert néanmoins un refroidissement constant. Explosera violemment en cas de surchauffe. -block.impact-reactor.description = Un générateur avancé, capable de produire une quantité d'énergie gigantesque lorsqu'il atteint son efficacité maximale. Nécessite une quantité significative d'énergie pour lancer le générateur. -block.mechanical-drill.description = Une foreuse de faible coût. Si elle est placée sur un endroit approprié, produit des matériaux lentement à l'infini. -block.pneumatic-drill.description = Une foreuse améliorée plus rapide et capable de forer des matériaux plus durs comme le titane grâce à l'usage de vérins à air comprimé. -block.laser-drill.description = Permet de forer bien plus vite grâce à la technologie laser, mais requiert de l'énergie . Permet de miner le Thorium, un matériau radioactif. -block.blast-drill.description = La Foreuse ultime . Demande une grande quantité d'énergie. -block.water-extractor.description = Extrait l'eau des nappes phréatiques. Utile quand il n'y a pas d'eau à proximité. -block.cultivator.description = Cultive le sol avec de l'eau afin d'obtenir de la biomasse. -block.oil-extractor.description = Utilise une grande quantité d'énergie afin d'extraire du pétrole à partir de sable. Utile quand il n'y a pas de lacs de pétrole à proximité. -block.core-shard.description = La première version du noyau. Une fois détruite tout contact avec la région est perdu. Ne laissez pas cela se produire. -block.core-foundation.description = La deuxième version du noyau. Meilleur blindage. Stocke plus de ressources. -block.core-nucleus.description = La troisième et dernière version du noyau. Extrêmement bien blindée. Stocke des quantités importantes de ressources. -block.vault.description = Stocke un grand nombre d'objets. Utile pour réguler le flux d'objets quand la demande de matériaux est inconstante. Un [lightgray] déchargeur[] peut être utilisé pour récupérer des objets depuis le coffre-fort. -block.container.description = Stocke un petit nombre d'objets. Utile pour réguler le flux d'objets quand la demande de matériaux est inconstante. Un [lightgray] déchargeur[] peut être utilisé pour récupérer des objets depuis le conteneur. -block.unloader.description = Décharge des objets depuis des conteneurs, coffres-forts ou d'un noyau sur un convoyeur ou directement dans un bloc adjacent. Le type d'objet peut être changé en appuyant sur le déchargeur. -block.launch-pad.description = Permet de transférer des ressources sans attendre le lancement du noyau. -block.launch-pad-large.description = Une version améliorée de la plateforme de lancement. Stocke plus de ressources et les envoie plus fréquemment. +block.impact-reactor.description = Ce réacteur est capable de produire de gigantesques quantités d'énergie lorsqu'il atteint son efficacité maximale. Nécessite une quantité significative d'énergie pour pouvoir le démarrer. +block.mechanical-drill.description = Une foreuse basique. Si elle est placée sur un endroit approprié, elle produira des matériaux lentement et indéfiniment. +block.pneumatic-drill.description = Une foreuse améliorée, plus rapide et capable de forer des minerais plus durs comme le titane. +block.laser-drill.description = Permet de forer bien plus vite grâce à la technologie laser, mais requiert de l'énergie pour fonctionner. Permet de miner du Thorium, un matériau radioactif. +block.blast-drill.description = La Foreuse ultime. Demande une grande quantité d'énergie pour fonctionner. +block.water-extractor.description = Extrait l'eau des nappes phréatiques. Utile quand il n'y a pas d'étendue d'eau à proximité. +block.cultivator.description = Cultive une petite quantité de spores atmosphériques afin de former des bulbes sporifères. +block.cultivator.details = Technologie de récupération. Utilisée pour produire des quantités massives de biomasse aussi efficacement que possible. Probablement l’incubateur initial des spores, qui couvrent maintenant Serpulo. +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 = Le cÅ“ur de votre base. Une fois détruit, le secteur est perdu. Ne laissez pas cela arriver. +block.core-shard.details = La première version du Noyau. Il est compact, doté d'un module d'auto-réplication et est équipé de propulseurs de lancement à usage unique. Ceux-ci n'ont pas été conçus pour le voyage interplanétaire. +block.core-foundation.description = Le cÅ“ur de votre base. Cette version améliorée possède un meilleur blindage et stocke plus de ressources qu'un Noyau fragment. +block.core-foundation.details = La seconde version. +block.core-nucleus.description = Le cÅ“ur de votre base. Ce Noyau est extrêmement bien blindé et stocke des quantités massives de ressources. +block.core-nucleus.details = La version finale. +block.vault.description = Stocke un grand nombre d'objets de chaque type. Utilisez un déchargeur pour les récupérer.\nUtile pour réguler le flux d'objets quand la demande de matériaux est inconstante. +block.container.description = Stocke un petit nombre d'objets de chaque type. Utilisez un déchargeur pour les récupérer.\nUtile pour réguler le flux d'objets quand la demande de matériaux est inconstante. +block.unloader.description = Permet de décharger l'objet choisi, depuis les blocs adjacents. +block.launch-pad.description = Permet de transférer des ressources vers les secteurs sélectionnés. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Une petite tourelle à faible coût. Fonctionne bien contre les ennemis terrestres. block.scatter.description = Une tourelle anti-aérienne essentielle. Mitraille les ennemis de débris de plomb, de ferraille ou de verre trempé. block.scorch.description = Brûle les ennemis terrestres près de lui. Très efficace à courte portée. -block.hail.description = Une petite tourelle d'artillerie. Efficace à longue portée. -block.wave.description = Une tourelle de taille moyenne tirant rapidement des jets de liquide. Peut éteindre les incendies si elle est alimentée en eau. -block.lancer.description = Une tourelle de taille moyenne chargeant et tirant de puissants lasers aux ennemis terrestres. -block.arc.description = Une petite tourelle de petite portée tirant des arcs électriques sur les ennemis. -block.swarmer.description = Une tourelle de taille moyenne attaquant les ennemis terrestres et aériens à l'aide de missiles autoguidés. +block.hail.description = Une petite tourelle d'artillerie visant les ennemis terrestres. Efficace à longue portée. +block.wave.description = Une tourelle de taille moyenne tirant un jet de liquide. Peut éteindre les incendies automatiquement si elle est alimentée en eau. +block.lancer.description = Une tourelle de taille moyenne chargeant et tirant de puissants lasers sur les ennemis terrestres. +block.arc.description = Une petite tourelle tirant des arcs électriques sur les ennemis. +block.swarmer.description = Une tourelle de taille moyenne attaquant les ennemis terrestres et aériens à l'aide de missiles autoguidés. Consomme beaucoup de munitions. block.salvo.description = Une version plus grande et améliorée de la tourelle Duo. Tire par salves. -block.fuse.description = Une tourelle de grande taille et de petite portée. Elle perce les lignées ennemis avec ses trois tirs de sharpnel. -block.ripple.description = Une grande tourelle d'artillerie qui tire plusieurs salves simultanément sur de très longues distances. -block.cyclone.description = Une grande tourelle qui tire rapidement des débris explosifs aux ennemis terrestres et aériens. -block.spectre.description = Une tourelle massive à double cannon et qui tire de puissantes balles perce-blindages simultanément. +block.fuse.description = Une tourelle de grande taille à courte portée. Tire trois tirs perçants. +block.ripple.description = Lance des amas d’obus sur les ennemis terrestres sur de très longues distances. +block.cyclone.description = Une grande tourelle qui tire rapidement des balles explosives aux ennemis proches. +block.spectre.description = Une tourelle massive à double canon qui tire de puissantes balles perçantes. block.meltdown.description = Une tourelle massive chargeant et tirant de puissants rayons lasers. Nécessite un liquide de refroidissement. -block.repair-point.description = Soigne en permanence l'unité endommagée la plus proche à proximité. -block.segment.description = Endommage et détruit les tirs ennemis. Cependant, les lasers ne peuvent pas être ciblés. +block.foreshadow.description = Une tourelle massive tirant une puissante balle sur une cible, sur de très longues distances. Elle vise les unités ayant le plus de santé en priorité. +block.repair-point.description = Soigne l'unité endommagée la plus proche. +block.segment.description = Endommage et détruit les tirs ennemis. Les lasers ne peuvent pas être ciblés. +block.parallax.description = Tire un rayon tracteur qui attire les ennemis volants, infligeant aussi des dégâts. +block.tsunami.description = Tire un puissant jet de liquide sur les ennemis. Peut éteindre les incendies automatiquement si elle est alimentée en eau. +block.silicon-crucible.description = Raffine du silicium avec du sable et du charbon en utilisant de la pyratite comme source de chaleur additionnelle. Cette usine est plus efficace dans les endroits chauds. +block.disassembler.description = Cette version avancée du séparateur peut produire du thorium. +block.overdrive-dome.description = Accélère le fonctionnement des bâtiments autour de lui. Requiert du silicium et du tissu phasé pour fonctionner. +block.payload-conveyor.description = Ce grand convoyeur peut déplacer de gros chargements, comme des unités depuis leurs usines ou bien des conteneurs. +block.payload-router.description = Distribue les chargements qui entrent jusqu'à 3 directions différentes. +block.ground-factory.description = Produit des unités terrestres. Elles peuvent être soit utilisées directement, soit envoyées vers des reconstructeurs pour être améliorées. +block.air-factory.description = Produit des unités aériennes. Elles peuvent être soit utilisées directement, soit envoyées vers des reconstructeurs pour être améliorées. +block.naval-factory.description = Produit des unités navales. Elles peuvent être soit utilisées directement, soit envoyées vers des reconstructeurs pour être améliorées. +block.additive-reconstructor.description = Améliore les unités entrantes au second niveau. +block.multiplicative-reconstructor.description = Améliore les unités entrantes au troisième niveau. +block.exponential-reconstructor.description = Améliore les unités entrantes au quatrième niveau. +block.tetrative-reconstructor.description = Améliore les unités entrantes au cinquième niveau. +block.switch.description = Un interrupteur pouvant être activé/désactivé. Le statut peut être lu et contrôlé avec des processeurs logiques. +block.micro-processor.description = Exécute une séquence d'instructions en boucle. Peut être utilisé pour contrôler des unités ou des bâtiments. +block.logic-processor.description = Exécute une séquence d'instructions en boucle. Peut être utilisé pour contrôler des unités ou des bâtiments. Plus rapide qu'un microprocesseur. +block.hyper-processor.description = Exécute une séquence d'instructions en boucle. Peut être utilisé pour contrôler des unités ou des bâtiments. Plus rapide qu'un processeur. +block.memory-cell.description = Stocke des informations pour un processeur logique. +block.memory-bank.description = Stocke des informations pour un processeur logique. Possède une plus grande capacité. +block.logic-display.description = Affiche des images à partir des instructions d'un processeur logique. +block.large-logic-display.description = Affiche des images à partir des instructions d'un processeur logique. Possède une plus grande résolution qu'un écran. +block.interplanetary-accelerator.description = Un énorme canon électromagnétique à rails. Accélère les Noyaux pour qu'ils échappent à la gravité de leur planète et leur permettent un déploiement interplanétaire. +block.repair-turret.description = Répare en continu l'unité endommagée la plus proche dans son périmètre. Accepte le liquide de refroidissement en option. + +#Erekir +block.core-bastion.description = Le cÅ“ur de votre base. Blindé. Une fois détruit, le secteur est perdu. +block.core-citadel.description = Le cÅ“ur de votre base. Très bien blindé. Stocke plus de ressources qu'un noyau Bastion. +block.core-acropolis.description = Le cÅ“ur de votre base. Exceptionnellement bien blindé. Stocke plus de ressources qu'un noyau Citadelle. +block.breach.description = Tire des munitions perforantes de béryllium ou de tungstène sur les cibles ennemies. +block.diffuse.description = Tire une rafale de balles dans un large cône. Peut repousser les cibles ennemies. +block.sublimate.description = Tire un jet de flammes continu sur les cibles ennemies. Perce les armures. +block.titan.description = Tire un obus d'artillerie massif sur les cibles au sol. Nécessite de l'hydrogène. +block.afflict.description = Tire une orbe massive chargée de balles à fragmentation. Nécessite de la chaleur. +block.disperse.description = Tire des rafales de balles anti-aériennes aux cibles volantes. +block.lustre.description = Tire un laser à cible unique se déplaçant lentement sur les cibles ennemies. +block.scathe.description = Lance un missile puissant sur les cibles au sol sur de grandes distances. +block.smite.description = Tire une rafale de balles perçantes émetteuse de foudre. +block.malign.description = Tire un barrage de charges lasers à tête chercheuse sur les cibles ennemies. Requiert beaucoup de chaleur. +block.silicon-arc-furnace.description = Raffine du silicium à partir de sable et de graphite. +block.oxidation-chamber.description = Produit de l'oxyde à partir de béryllium et d'ozone. Émet de la chaleur comme sous-produit. +block.electric-heater.description = Applique de la chaleur aux structures. Nécessite une grande quantité d'énergie. +block.slag-heater.description = Applique de la chaleur structures. Nécessite des scories. +block.phase-heater.description = Applique de la chaleur aux structures. Nécessite du tissu phasé. +block.heat-redirector.description = Redirige la chaleur accumulée aux autres blocs. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Répartit la chaleur dans trois directions de sortie. +block.electrolyzer.description = Décompose l'eau en hydrogène et en ozone. Les sorties de chaque gaz sont situées de part et d'autres du bloc, marquées par leur couleur correspondante. +block.atmospheric-concentrator.description = Concentre l'azote retenu dans l'atmosphère. Requiert de la chaleur. +block.surge-crucible.description = Forme de l'alliage superchargé à partir de scories et de silicium. Requiert de la chaleur. +block.phase-synthesizer.description = Synthétise du tissu phasé à partir de thorium, de sable, et d'ozone. Requiert de la chaleur. +block.carbide-crucible.description = Fusionne du tungstène et du graphite en carbure. Requiert de la chaleur. +block.cyanogen-synthesizer.description = Synthétise du cyanogène à partir d'arkycite et de graphite. Requiert de la chaleur. +block.slag-incinerator.description = Incinère des objets ou des liquides non-volatils. Nécéssite des scories. +block.vent-condenser.description = Condense les gaz d'évents en eau. Consomme de l'énergie. +block.plasma-bore.description = Lorsqu'il est placé face à un mur de minerai, il produit des matériaux indéfiniment. Requiert peu d'énergie.\nPeut utiliser de l'hydrogène pour booster l'efficacité. +block.large-plasma-bore.description = Une foreuse à plasma plus large. Capable d'extraire du tungstène et du thorium. Nécessite de l'hydrogène et de l'énergie.\nPeut utiliser de l'azote pour booster l'efficacité. +block.cliff-crusher.description = Écrase les murs, produisant du sable indéfiniment. Nécessite de l'énergie. L'efficacité varie en fonction du type de mur. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Lorsqu'il est placé sur du minerai, il produit des matériaux en rafales indéfiniment. Nécessite de l'énergie et de l'eau. +block.eruption-drill.description = Une foreuse à impact améliorée. Capable d'extraire du thorium. Requiert de l'hydrogène. +block.reinforced-conduit.description = Déplace les fluides. N'accepte pas les entrées sans conduit sur les côtés. +block.reinforced-liquid-router.description = Accepte les fluides depuis une direction et les distribue jusqu'à 3 directions équitablement. +block.reinforced-liquid-tank.description = Stocke une grande quantité de fluides. +block.reinforced-liquid-container.description = Stocke une quantité importante de fluides. +block.reinforced-bridge-conduit.description = Transporte les fluides par-dessus les structures et le terrain. +block.reinforced-pump.description = Pompe des liquides. Requiert de l'hydrogène. +block.beryllium-wall.description = Protège les structures des projectiles ennemis. +block.beryllium-wall-large.description = Protège les structures des projectiles ennemis. +block.tungsten-wall.description = Protège les structures des projectiles ennemis. +block.tungsten-wall-large.description = Protège les structures des projectiles ennemis. +block.carbide-wall.description = Protège les structures des projectiles ennemis. +block.carbide-wall-large.description = Protège les structures des projectiles ennemis. +block.reinforced-surge-wall.description = Protège les structures des projectiles ennemis, dégageant périodiquement des arcs électriques au contact. +block.reinforced-surge-wall-large.description = Protège les structures des projectiles ennemis, dégageant périodiquement des arcs électriques au contact. +block.shielded-wall.description = Protège les structures des projectiles ennemis, reflétant la plupart des balles lors de l'impact. Déploie un bouclier qui absorbe la plupart des projectiles lorsque de l'énergie est fournie. Conduit l'énergie. +block.blast-door.description = Un mur qui s'ouvre lorsque des unités terrestres alliées sont à portée. Ne peut pas être contrôlé manuellement. +block.duct.description = Déplace les objets. Ne peut stocker qu'un seul objet. +block.armored-duct.description = Déplace les objets. N'accepte pas les entrées qui ne sont pas des conduits sur les côtés. +block.duct-router.description = Distribue les objets de manière égale dans trois directions. N'accepte que les objets à l'arrière. Peut être configuré comme un trieur d'objets. +block.overflow-duct.description = Envoie les objets sur les côtés si le chemin avant est bloqué. +block.duct-bridge.description = Déplace les objets par-dessus les structures et le terrain. +block.duct-unloader.description = Décharge l'élément sélectionné du bloc derrière lui. Impossible de décharger des noyaux. +block.underflow-duct.description = L'opposé d'un conduit de débordement. Envoie les objets vers l'avant si les chemins gauche et droit sont bloqués. +block.reinforced-liquid-junction.description = Agit comme une jonction entre deux conduits qui se croisent. +block.surge-conveyor.description = Déplace les éléments par lots. Peut être accéléré avec de l'énergie. Conduit l'énergie. +block.surge-router.description = Distribue de manière égale les objets dans trois directions à partir de convoyeurs superchargés. Peut être accéléré avec de l'énergie. Conduit l'énergie. +block.unit-cargo-loader.description = Construit des drones cargo. Ces drones distribuent automatiquement les objets aux Points de Déchargement ayant le filtre correspondant. +block.unit-cargo-unload-point.description = Agit comme un point de déchargement pour les drones cargo. Accepte les objets qui correspondent au filtre sélectionné. +block.beam-node.description = Transmet l'énergie à d'autres blocs orthogonalement. Stocke une petite quantité d'énergie. +block.beam-tower.description = Transmet l'énergie à d'autres blocs orthogonalement. Stocke une grande quantité d'énergie. Longue portée. +block.turbine-condenser.description = Génère de l'énergie lorsqu'il est placé sur des évents. Produit une petite quantité d'eau. +block.chemical-combustion-chamber.description = Génère de l'énergie à partir d'arkycite et d'ozone. +block.pyrolysis-generator.description = Génère de grandes quantités d'énergie à partir d'arkycite et de scories. Produit de l'eau comme sous-produit. +block.flux-reactor.description = Génère de grandes quantités d'énergie lorsqu'il est chauffé. Requiert du cyanogène comme stabilisant. La puissance de sortie et les besoins en cyanogène sont proportionnels à l'apport de chaleur.\nExplose s'il n'y a pas assez de cyanogène. +block.neoplasia-reactor.description = Utilise de l'arkycite, de l'eau et du tissu phasé pour générer de grandes quantités d'énergie. Produit de la chaleur et du néoplasme dangereux comme sous-produit.\nExplose violemment si le néoplasme n'est pas retiré du réacteur via des conduits. +block.build-tower.description = Reconstruit automatiquement les structures à portée et assiste les autres unités en construction. +block.regen-projector.description = Répare lentement les structures alliées dans un périmètre carré. Nécessite de l'hydrogène.\nPeut utiliser du tissu phasé pour augmenter l'efficacité. +block.reinforced-container.description = Stocke une petite quantité d'objets. Le contenu peut être récupéré via des déchargeurs. N'augmente pas la capacité de stockage du noyau. +block.reinforced-vault.description = Stocke une grande quantité d'objets. Le contenu peut être récupéré via des déchargeurs. N'augmente pas la capacité de stockage du noyau. +block.tank-fabricator.description = Construit des unités Stell. Les unités de sortie peuvent être utilisées directement, ou transférées dans des refabricateurs pour une amélioration. +block.ship-fabricator.description = Construit des unités Elude. Les unités de sortie peuvent être utilisées directement, ou transférées dans des refabricateurs pour une amélioration. +block.mech-fabricator.description = Construit des unités Merui. Les unités de sortie peuvent être utilisées directement, ou transférées dans des refabricateurs pour une amélioration. +block.tank-assembler.description = Assemble de grands tanks à partir de blocs et d'unités. Le niveau de l'unité de sortie peut être augmenté en ajoutant des modules. +block.ship-assembler.description = Assemble de grands vaisseaux à partir de blocs et d'unités. Le niveau de l'unité de sortie peut être augmenté en ajoutant des modules. +block.mech-assembler.description = Assemble de grands mechs à partir de blocs et d'unités. Le niveau de l'unité de sortie peut être augmenté en ajoutant des modules. +block.tank-refabricator.description = Améliore les tanks au deuxième niveau. +block.ship-refabricator.description = Améliore les vaisseaux au deuxième niveau. +block.mech-refabricator.description = Améliore les mechs au deuxième niveau. +block.prime-refabricator.description = Améliore les unités au troisième niveau. +block.basic-assembler-module.description = Augmente le niveau d'assembleur lorsqu'il est placé à côté d'une limite de construction. Requiert de l'énergie. Peut être utilisé comme entrée de charge utile. +block.small-deconstructor.description = Déconstruit les structures et les unités saisies. Renvoie 100% du coût de construction. +block.reinforced-payload-conveyor.description = Déplace les charges utiles. +block.reinforced-payload-router.description = Distribue les charges utiles aux blocs adjacents. Fonctionne comme un trieur lorsqu'un filtre est défini. +block.payload-mass-driver.description = Structure de transport de charge utile à longue portée. Tire les charges utiles reçues vers les transporteurs de masse liés. +block.large-payload-mass-driver.description = Structure de transport de charge utile à longue portée. Tire les charges utiles reçues vers les transporteurs de masse liés. +block.unit-repair-tower.description = Répare toutes les unités à proximité. Requiert de l'ozone. +block.radar.description = Découvre progressivement le terrain et les unités ennemies dans un large rayon. Nécessite de l'énergie. +block.shockwave-tower.description = Endommage et détruit les projectiles ennemis dans un rayon. Nécessite du cyanogène. +block.canvas.description = Affiche une image simple avec une palette prédéfinie. Modifiable. + +unit.dagger.description = Tire des balles normales aux ennemis proches. +unit.mace.description = Tire des jets de flammes aux ennemis proches. +unit.fortress.description = Tire des balles d’artillerie à longue portée sur des cibles terrestres. +unit.scepter.description = Tire un barrage de balles super chargées aux ennemis proches. +unit.reign.description = Tire un barrage de grosses balles perçantes aux ennemis proches. +unit.nova.description = Tire des balles laser qui infligent des dégâts aux ennemis et réparent les structures alliées. Est capable de voler. +unit.pulsar.description = Tire des arcs électriques qui infligent des dégâts aux ennemis et réparent les structures alliées. Est capable de voler. +unit.quasar.description = Tire des faisceaux laser qui infligent des dégâts aux ennemis et réparent les structures alliées. Est capable de voler et est doté d'un champ de force. +unit.vela.description = Tire un rayon laser continu qui inflige des dégâts aux ennemis, cause des incendies aux structures ennemies et répare les structures alliées. Est capable de voler. +unit.corvus.description = Tire un rayon laser massif qui inflige des dégâts aux ennemis et répare les structures alliées. Peut marcher sur la plupart des terrains. +unit.crawler.description = Court vers un ennemi proche pour s'auto-détruire, causant une large explosion. +unit.atrax.description = Tire des orbes débilitants de scories sur des cibles terrestres. Peut marcher sur la plupart des terrains. +unit.spiroct.description = Tire des faisceaux laser sapants aux ennemis proches, le réparant aussi. Peut marcher sur la plupart des terrains. +unit.arkyid.description = Tire de larges faisceaux laser sapants aux ennemis proches, le réparant aussi. Peut marcher sur la plupart des terrains. +unit.toxopid.description = Tire de larges obus électriques et des lasers perçants aux ennemis proches. Peut marcher sur la plupart des terrains. +unit.flare.description = Tire des balles normales aux cibles terrestres. +unit.horizon.description = Largue des bombes sur des cibles terrestres. +unit.zenith.description = Tire des salves de missiles sur les ennemis proches. +unit.antumbra.description = Tire un barrage de balles aux ennemis proches. +unit.eclipse.description = Tire 2 lasers perçants et un barrage de balles explosives aux ennemis proches. +unit.mono.description = Mine automatiquement du cuivre et du plomb et le dépose dans un Noyau proche. +unit.poly.description = Reconstruit automatiquement les structures détruites (sauf les réacteurs à thorium) et assiste les autres unités lorsqu'elles construisent. +unit.mega.description = Répare automatiquement les structures endommagées. Capable de transporter des blocs et de petites unités terrestres. +unit.quad.description = Largue de grosses bombes sur des cibles terrestres, réparant les structures alliées et infligeant des dégâts aux ennemis. Capable de transporter des blocs et des unités terrestres de taille moyenne. +unit.oct.description = Protège les alliés proches avec son champ de force auto-régénérant. Capable de transporter des blocs et de grosses unités terrestres. +unit.risso.description = Tire un barrage de missiles et de balles aux ennemis proches. +unit.minke.description = Tire des obus et des balles normales aux ennemis proches. +unit.bryde.description = Tire des obus d'artillerie à longue portée et des missiles aux ennemis proches. +unit.sei.description = Tire un barrage de missiles et de balles perçantes aux ennemis proches. +unit.omura.description = Tire avec un canon à rails à longue portée, une puissante balle perçante aux ennemis proches. Possède une usine à flares. +unit.alpha.description = Défend le Noyau fragment contre les ennemis. Peut construire des structures. +unit.beta.description = Défend le Noyau fondation contre les ennemis. Peut construire des structures. +unit.gamma.description = Défend le Noyau épicentre contre les ennemis. Peut construire des structures. +unit.retusa.description = Tire des torpilles à tête chercheuse sur les ennemis proches. Répare les unités alliées. +unit.oxynoe.description = Tire des jets de flammes qui réparent les structures et endommage les ennemis proches. Cible les projectiles ennemis proches avec une tourelle de défense ponctuelle. +unit.cyerce.description = Tire des missiles à fragmentation sur les ennemis. Répare les unités alliées. +unit.aegires.description = Secoue toutes les unités et structures ennemies qui entrent dans son champ d'énergie. Répare tous les alliés. +unit.navanax.description = Tire des projectiles explosifs EMP, infligeant des dommages importants aux réseaux électriques ennemis et réparant les structures alliées. Fait fondre les ennemis proches avec 4 tourelles laser autonomes. + +#Erekir +unit.stell.description = Tire des balles standard aux ennemis proches. +unit.locus.description = Tire des balles en alternance aux ennemis proches. +unit.precept.description = Tire des grappes de balles perçantes aux ennemis proches. +unit.vanquish.description = Tire des larges balles perçantes qui se divisent aux ennemis proches. +unit.conquer.description = Tire des larges cascades de balles perçantes aux ennemis proches. +unit.merui.description = Tire des balles d’artillerie à longue portée sur des cibles terrestres. Peut marcher sur la plupart des terrains. +unit.cleroi.description = Tire 2 obus aux ennemis proches. Cible les projectiles ennemis afin de les détruire avec des tourelles. Peut marcher sur la plupart des terrains. +unit.anthicus.description = Tire des balles autoguidées à longue portée aux ennemis proches. Peut marcher sur la plupart des terrains. +unit.tecta.description = Tire des missiles autoguidés de plasma aux ennemis proches. Se protège avec un bouclier directionnel. Peut marcher sur la plupart des terrains. +unit.collaris.description = Tire des balles à fragmentation d'artillerie à longe portée aux ennemis proches. Peut marcher sur la plupart des terrains. +unit.elude.description = Tire une paire de balles autoguidées aux ennemis proches. Peut flotter au-dessus des étendues liquides. +unit.avert.description = Tire une paire de balles ayant une trajectoire tordue aux ennemis proches. +unit.obviate.description = Tire une paire d'orbes d'éclairs ayant une trajectoire tordue aux ennemis proches. +unit.quell.description = Tire des missiles autoguidés à longue portée aux ennemis proches. Désactive les structures de réparation ennemies proches. +unit.disrupt.description = Tire des missiles de suppression autoguidés à longue portée aux ennemis proches. Désactive les structures de réparation ennemies proches. +unit.evoke.description = Construit des structures pour défendre le Noyau bastion. Peut réparer des structures avec un rayon. +unit.incite.description = Construit des structures pour défendre le Noyau citadelle. Peut réparer des structures avec un rayon. +unit.emanate.description = Construit des structures pour défendre le Noyau acropole. Peut réparer des structures avec un rayon. + +lst.read = Lit un nombre depuis un bloc de mémoire relié au processeur. +lst.write = Écrit un nombre dans un bloc de mémoire relié au processeur. +lst.print = Ajoute du texte dans la mémoire tampon de l'imprimante.\nNe montrera aucun texte tant que [accent]Print Flush[] ne sera pas utilisé. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Ajoute une opération dans la mémoire tampon de dessin.\nNe montrera aucune image tant que [accent]Draw Flush[] ne sera pas utilisé. +lst.drawflush = Affiche les opérations [accent]Draw[] en file d'attente vers un écran. +lst.printflush = Affiche les opérations [accent]Print[] en file d'attente vers un bloc de message. +lst.getlink = Obtient un lien de processeur par index. Commence à 0. +lst.control = Contrôle un bâtiment. +lst.radar = Localise des unités dans la portée d'un bâtiment. +lst.sensor = Récupère des données depuis un bâtiment ou une unité. +lst.set = Définit une variable. +lst.operation = Effectue une opération sur 1 ou 2 variables. +lst.end = Saute au sommet de la série d’instructions. +lst.wait = Attendre un certain nombre de secondes. +lst.stop = Stoppe l'exéction du processeur. +lst.lookup = Recherche d'un type d'objet/liquide/unité/bloc par ID.\nLe nombre total de chaque type peut être consulté avec:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Saute conditionnellement vers une autre instruction. +lst.unitbind = Se lie à une unité du type donné et la stocke dans [accent]@unit[]. +lst.unitcontrol = Contrôle l'unité actuellement liée. +lst.unitradar = Localise des unités dans la portée de l'unité actuellement liée. +lst.unitlocate = Localise une position ou un type spécifique de bâtiment, n'importe où sur la carte.\nRequiert une unité reliée. +lst.getblock = Obtient les données d'une tuile à n'importe quel emplacement. +lst.setblock = Définit les données d'une tuile à n'importe quel emplacement. +lst.spawnunit = Fait apparaître une unité à un emplacement. +lst.applystatus = Ajoute ou enlève un effet de statut d'une unité. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simule un déclenchement de vague à n'importe quel emplacement.\nCela n'incrémente pas le compteur de vaugues. +lst.explosion = Crée une explosion à un emplacement. +lst.setrate = Définit la vitesse d'exécution d'un processeur en instructions/tick. +lst.fetch = Cherche les unités, noyaux, joueurs ou constructions par index. Commence à 0 et termine par le nombre retourné. +lst.packcolor = Compresse les composants RGBA [0, 1] en un seul nombre pour les opérations de dessins ou les changements de règles. +lst.setrule = Change une règle du jeu. +lst.flushmessage = Affiche un message sur l'écran depuis la mémoire tampon de texte.\nAttendra la fin du message précédent avant l'affichage du nouveau. +lst.cutscene = Manipule la caméra du joueur. +lst.setflag = Définit une variable globale qui peut être lue par tous les processeurs. +lst.getflag = Vérifie si une variable globale est présente. +lst.setprop = Change une propriété d'une unité ou d'un bâtiment. +lst.effect = Crée un effet de particules. +lst.sync = Synchronise une variable dans le réseau.\nLimité à 20 fois par seconde et par variable. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Crée un marqueur dans le monde.\nUn ID pour identifier le marqueur doit être donné.\nLes marqueurs sont limités à 20,000 par monde. +lst.setmarker = Change une propriété d'un marqueur.\nL'ID utilisé doit être le même que celui de l'instruction "Make Marker". +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Les unités contrôlées par des processeurs ne peuvent pas construire ici. + +lenum.type = Type de bâtiment/unité.\nPar exemple, pour tout routeur, cela retournera [accent]@router[]. +lenum.shoot = Tire à une position donnée. +lenum.shootp = Tire à une unité/bâtiment avec la prédiction de mouvement. +lenum.config = La configuration d'un bâtiment. Par exemple, l'objet sélectionné dans un trieur. +lenum.enabled = Retourne si le bloc est activé ou pas. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = La couleur d'un illuminateur. +laccess.controller = Le contrôleur de l'Unité.\nSi l'Unité est contrôlée par un processeur, cela retournera le processeur en question.\nSi l'Unité est en formation, cela retournera le leader de la formation.\nSinon, renvoie l’unité elle-même. +laccess.dead = Retourne si l'Unité/Bâtiment est morte/détruit ou plus valide. +laccess.controlled = Retourne:\n[accent]@ctrlProcessor[] si le contrôleur de l'Unité est un processeur\n[accent]@ctrlPlayer[] si l'Unité/Bâtiment est contrôlé par un joueur\n[accent]@ctrlFormation[] si l'Unité est en formation\nSinon, retourne 0. +laccess.progress = Progression de l'action, 0 à 1.\nRenvoie la progression de la production, du rechargement de la tourelle ou de la construction. +laccess.speed = La vitesse maximale d'une unité, en blocs/sec. +laccess.id = L'ID d'une unité/bloc/ressource/liquide.\nCeci est l'inverse de l'instruction de recherche. + +lcategory.unknown = Inconnu +lcategory.unknown.description = Instructions sans catégorie. +lcategory.io = Entrée & Sortie +lcategory.io.description = Modifie le contenu des blocs de mémoire et la mémoire tampon des processeurs. +lcategory.block = Contrôle des Blocs +lcategory.block.description = Interagit avec les blocs. +lcategory.operation = Opérations +lcategory.operation.description = Opérations logiques. +lcategory.control = Contrôle des Flux +lcategory.control.description = Manipule l'ordre d'exécution. +lcategory.unit = Contrôle des Unités +lcategory.unit.description = Ordonne des commandes aux unités. +lcategory.world = Contrôle du Monde +lcategory.world.description = Manipule le comportement du monde. + +graphicstype.clear = Remplit l’écran d’une couleur. +graphicstype.color = Définit une couleur pour les prochaines opérations de dessin. +graphicstype.col = Équivalent à l'instruction "color", mais compressée.\nLes couleurs compressées sont représentées sous forme de codes hexadécimaux avec un préfixe [accent]%[].\nExemple: [accent]%ff0000[] est rouge. +graphicstype.stroke = Définit la largeur d'une ligne. +graphicstype.line = Dessine un segment de droite. +graphicstype.rect = Dessine un rectangle. +graphicstype.linerect = Dessine le contour d'un rectangle. +graphicstype.poly = Dessine un polygone régulier. +graphicstype.linepoly = Dessine le contour d'un polygone régulier. +graphicstype.triangle = Dessine un triangle. +graphicstype.image = Dessine une image provenant du contenu du jeu.\nexemple: [accent]@router[] ou [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Toujours [accent]true[]. +lenum.idiv = Division entière. +lenum.div = Division.\nRetourne [accent]null[] lors d'une division par zéro. +lenum.mod = Modulo. +lenum.equal = Égalité. Conversion des types.\nLes objets non-nuls comparés avec des nombres deviennent 1, sinon 0. +lenum.notequal = Inégalité. Conversion des types. +lenum.strictequal = Égalité stricte. Ne convertit pas les types.\nPeut être utilisé pour vérifier les valeurs [accent]null[]. +lenum.shl = Décalage de bits vers la gauche. +lenum.shr = Décalage de bits vers la droite. +lenum.or = Opération binaire OR. +lenum.land = Opération logique AND. +lenum.and = Opération binaire AND. +lenum.not = Opération binaire flip. +lenum.xor = Opération binaire XOR. + +lenum.min = Le minimum des 2 nombres. +lenum.max = Le maximum des 2 nombres. +lenum.angle = Angle d'un vecteur en degrés. +lenum.anglediff = Distance absolue entre 2 angles en degrés. +lenum.len = Longueur d'un vecteur. + +lenum.sin = Calcule le Sinus, en degrés. +lenum.cos = Calcule le Cosinus, en degrés. +lenum.tan = Calcule la Tangente, en degrés. + +lenum.asin = Arc sinus, en degrés. +lenum.acos = Arc cosinus, en degrés. +lenum.atan = Tangente de l'arc, en degrés. + +#ceci n'est pas une erreur, c'est la notation officielle des plages de valeurs +lenum.rand = Nombre aléatoire dans la plage [0, valeur). +lenum.log = Logarithme naturel (ln). +lenum.log10 = Logarithme de base 10. +lenum.noise = Bruit simplex 2D. +lenum.abs = Valeur absolue. +lenum.sqrt = Racine carrée. + +lenum.any = N'importe quelle unité. +lenum.ally = Unité alliée. +lenum.attacker = Unité avec des armes. +lenum.enemy = Unité ennemie. +lenum.boss = Gardien. +lenum.flying = Unité volante. +lenum.ground = Unité terrestre. +lenum.player = Unité contrôlée par un joueur. + +lenum.ore = Gisement de minerai. +lenum.damaged = Bâtiments alliés endommagés. +lenum.spawn = Point d'apparition ennemi.\nPeut être un noyau ou une position. +lenum.building = Bâtiment dans un groupe spécifique. + +lenum.core = N'importe quel noyau. +lenum.storage = Bâtiments de stockage, un coffre-fort par exemple. +lenum.generator = Bâtiments générant de l'énergie. +lenum.factory = Bâtiments traitant des ressources. +lenum.repair = Points de réparation. +lenum.battery = N'importe quelle batterie. +lenum.resupply = Points de rechargement.\nUtile seulement lorsque [accent]"munitions"[] sont limitées. +lenum.reactor = Réacteur à Impact/Thorium. +lenum.turret = N'importe quelle tourelle. + +sensor.in = Les bâtiments/unités à analyser. + +radar.from = Bâtiment de détection.\nLa portée du détecteur est limitée à la portée du bâtiment. +radar.target = Filtre pour les unités à détecter. +radar.and = Filtres additionnels +radar.order = Ordre de filtrage. 0 pour inverser. +radar.sort = Valeur par laquelle les résultats sont triés. +radar.output = Variable dans laquelle écrire l'unité retournée. + +unitradar.target = Filtre pour les unités à détecter. +unitradar.and = Filtres additionnels +unitradar.order = Ordre de filtrage. 0 pour inverser. +unitradar.sort = Valeur par laquelle les résultats sont triés. +unitradar.output = Variable dans laquelle écrire l'unité retournée. + +control.of = Bâtiment à contrôler. +control.unit = Unité/bâtiment à viser. +control.shoot = S’il faut tirer ou non. + +unitlocate.enemy = S'il faut détecter les bâtiments ennemis au non. +unitlocate.found = Retourne un booléen si l'objet a été trouvé ou non. +unitlocate.building = Retourne une variable pour le bâtiment localisé. +unitlocate.outx = Retourne la coordonnée X. +unitlocate.outy = Retourne la coordonnée Y. +unitlocate.group = Le groupe de bâtiments à rechercher. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = L'Unité ne bouge plus, mais elle continue de construire/miner.\nL'état par défaut. +lenum.stop = Empêche l'unité de bouger/miner/construire. +lenum.unbind = Désactive complètement le contrôle par processeur.\nL'unité reprend son comportement standard. +lenum.move = Bouge vers la position exacte. +lenum.approach = Approche une position avec un rayon. +lenum.pathfind = Détermine un itinéraire et bouge vers le point d'apparition ennemi. +lenum.autopathfind = Recherche automatiquement le chemin vers le noyau ennemi ou la zone d'apparition ennemie le plus proche.\nCeci est le même que la détection de chemin de la vague ennemie. +lenum.target = Tire vers la position donnée. +lenum.targetp = Tire sur une cible avec la prédiction de mouvement. +lenum.itemdrop = Lâche un objet. +lenum.itemtake = Prend un objet depuis un bâtiment. +lenum.paydrop = Lâche le chargement actuel. +lenum.paytake = Prend un chargement à la position actuelle. +lenum.payenter = Entrez/atterrissez sur le bloc de charge utile sur lequel se trouve l'unité. +lenum.flag = Drapeau numérique d'une unité. +lenum.mine = Mine à une position donnée. +lenum.build = Construit une structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Vérifie si l'unité est près de la position. +lenum.boost = Active/Désactive le boost. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_fr_BE.properties b/core/assets/bundles/bundle_fr_BE.properties deleted file mode 100644 index 8975031cb6..0000000000 --- a/core/assets/bundles/bundle_fr_BE.properties +++ /dev/null @@ -1,1335 +0,0 @@ -credits.text = Créé par [royal]Anuken[] - [sky]anukendev@gmail.com[] -credits = Crédits -contributors = Traducteurs et contributeurs -discord = Rejoignez le discord de Mindustry ! -link.discord.description = Le discord officiel de Mindustry -link.reddit.description = Le subreddit de Mindustry -link.github.description = Code source du jeu -link.changelog.description = Liste des mises à jour -link.dev-builds.description = Versions instables de développement -link.trello.description = Trello officiel pour les fonctionnalités planifiées. -link.itch.io.description = Site itch.io avec les versions téléchargeables pour ordinateur. -link.google-play.description = Page Google Play du jeu -link.f-droid.description = F-Droid catalogue listing -link.wiki.description = Wiki officiel de Mindustry -link.suggestions.description = Suggérer des nouvelles fonctionallitées -linkfail = L'ouverture du lien a échoué!\nL'URL a été copiée dans votre presse-papier. -screenshot = Capture d'écran enregistrée sur {0} -screenshot.invalid = Carte trop grande, potentiellement pas assez de mémoire pour la capture d'écran. -gameover = Le base a été détruite. -gameover.pvp = L'équipe[accent] {0}[] a gagnée ! -highscore = [accent]Nouveau meilleur score ! -copied = Copié. -indev.popup = [accent]La v6[] est actuellement en [accent]alpha[].\n[lightgray]Cela signifie :[]\n[scarlet]- La campagne est totalement incomplète[]\n- Il manque du contenu\n - La plupart des [scarlet]IA d'unités[] ne fonctionne pas correctement\n- De nombreuses unités ne sont pas terminées\n- Tout ce que vous voyez est susceptible d'être modifié ou supprimé.\n\nMerci de rapporter les bugs/crash sur [accent]Github[]. -indev.notready = Cette partie du jeu n'est pas encore prête - -load.sound = Son -load.map = Maps -load.image = Images -load.content = Contenu -load.system = Système -load.mod = Mods -load.scripts = Scripts - -be.update = Une nouvelle version est disponible: -be.update.confirm = Voulez vous la télécharger et recommencer maintenant ? -be.updating = En train de mettre à jour... -be.ignore = Ignorer -be.noupdates = Aucune mise à jour n'as été trouvée. -be.check = Chercher des mises à jour - -schematic = Schéma -schematic.add = Enregistrer Schéma... -schematics = Schémas -schematic.replace = Un schéma avec ce nom existe déjà. Voulez vous le remplacer ? -schematic.exists = Un schéma avec ce nom existe déjà. -schematic.import = Importer le Schéma... -schematic.exportfile = Exporter Dossier -schematic.importfile = Importer Dossier -schematic.browseworkshop = Parcourir l'Atelier -schematic.copy = Copier dans le presse-papier -schematic.copy.import = Importer du presse-papier -schematic.shareworkshop = Partager sur l'Atelier -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Retourner Schéma -schematic.saved = Schéma enregistré. -schematic.delete.confirm = Ce Schéma sera définitivement supprimé. -schematic.rename = Renommer Schéma -schematic.info = {0}x{1}, {2} blocks -schematic.disabled = [scarlet] Schémas désactivés ![]\nVous n'êtes pas autorisés à utiliser des schémas sur cette [accent]map[] ou ce [accent]serveur. - -stat.wave = Vagues vaincues:[accent] {0} -stat.enemiesDestroyed = Ennemies détruits:[accent] {0} -stat.built = Bâtiments construits:[accent] {0} -stat.destroyed = Bâtiments détruits:[accent] {0} -stat.deconstructed = Bâtiments déconstruits:[accent] {0} -stat.delivered = Ressources transférées: -stat.playtime = Temps Joué:[accent] {0} -stat.rank = Rang Final: [accent]{0} - -globalitems = [accent]Global Items -map.delete = Êtes-vous sûr de vouloir supprimer cette carte ?"[accent]{0}[]"? -level.highscore = Meilleur score: [accent]{0} -level.select = Sélection de niveau -level.mode = Mode de jeu: -coreattack = -nearpoint = [[ [scarlet]QUITTEZ LE POINT D'APPARITION ENNEMI IMMÉDIATEMENT[] ]\nextermination imminente -database = Base de données -savegame = Sauvegarder la partie -loadgame = Charger la partie -joingame = Rejoindre la partie -customgame = Partie personnalisée -newgame = Nouvelle partie -none = -minimap = Minimap -position = Position -close = Fermer -website = Site Web -quit = Quitter -save.quit = Save & Quit -maps = Cartes -maps.browse = Feuilleter les maps -continue = Continuer -maps.none = [lightgray]Aucune carte trouvée! -invalid = Invalide -pickcolor = Choisir Couleur -preparingconfig = Préparation Configuration -preparingcontent = Préparation Contenu -uploadingcontent = Télécharger Contenu -uploadingpreviewfile = Télécharger Aperçu de Dossier -committingchanges = Commettre Changements -done = Fini -feature.unsupported = Votre appareil ne prend pas en charge cette fonctionnalité. - -mods.alphainfo = Tenez en compte que les mods sont en version alpha et [scarlet] qu'ils peuvent avoir des bugs[].\nVeuillez signaler tout les problèmes que vous encontrez sur le Github de Mindustry ou sur Discord. -mods = Mods -mods.none = [lightgray]Aucun Mod trouvé ! -mods.guide = Guide de Modding -mods.report = Signaler un Bug -mods.openfolder = Ouvrir Dossier Mod -mods.reload = Relancer -mods.reloadexit = Le jeu va quitter pour relancer les mods. -mod.display = [gray]Mod:[orange] {0} -mod.enabled = [lightgray]Activé -mod.disabled = [scarlet]Désactivé -mod.disable = Désactive -mod.content = Contenu: -mod.delete.error = Unable to delete mod. File may be in use. -mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missing dependencies: {0} -mod.erroredcontent = [scarlet]Content Errors -mod.errors = Errors have occurred loading content. -mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. -mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. -mod.enable = Enable -mod.requiresrestart = The game will now close to apply the mod changes. -mod.reloadrequired = [scarlet]Reload Required -mod.import = Import Mod -mod.import.file = Import File -mod.import.github = Import GitHub Mod -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! -mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod. -mod.remove.confirm = This mod will be deleted. -mod.author = [lightgray]Author:[] {0} -mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0} -mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again. -mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. - -about.button = À propos -name = Nom: -noname = Choisissez d'abord [accent]un pseudo[]. -planetmap = Planet Map -launchcore = Launch Core -filename = Nom du fichier: -unlocked = Nouveau bloc debloqué! -completed = [accent]Terminé -techtree = Arbre technologique -research.list = [lightgray]Recherche: -research = Recherche -researched = [lightgray]{0} recherché. -research.progress = {0}% complete -players = {0} joueurs -players.single = {0} joueur -players.search = search -players.notfound = [gray]no players found -server.closing = [accent]Fermeture du serveur ... -server.kicked.kick = Vous avez été expulsé du serveur ! -server.kicked.whitelist = You are not whitelisted here. -server.kicked.serverClose = Serveur fermé. -server.kicked.vote = Vous avez été expulsé par vote. Au revoir. -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.banned = Vous êtes banni de ce serveur. -server.kicked.typeMismatch = This server is not compatible with your build type. -server.kicked.playerLimit = Ce serveur est complet. Attendez qu'une place ce libére. -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.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.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.serverRestarting = Le serveur est entrain de redémarrer. -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 [lightgray]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[lightgray]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[lightgray]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 -invitefriends = Inviter des amis -hostserver.mobile = Héberger\nune partie -host = Héberger -hosting = [accent]Ouverture du serveur ... -hosts.refresh = Actualiser -hosts.discovering = Recherche de parties en LAN -hosts.discovering.any = Découverte des jeux -server.refreshing = Actualisation du serveur -hosts.none = [lightgray]Aucun jeu en LAN trouvé ! -host.invalid = [scarlet]Impossible de se\nconnecter à l'hôte. - -servers.local = Serveurs Locaux -servers.remote = Serveurs Distants -servers.global = Serveurs Communautaires - -trace = Suivre le joueur -trace.playername = Nom du joueur: [accent]{0} -trace.ip = IP: [accent]{0} -trace.id = ID Unique: [accent]{0} -trace.mobile = Client Mobile: [accent]{0} -trace.modclient = Client personnalisé: [accent]{0} -invalidid = ID client invalide ! Soumettre un rapport de bug -server.bans = Banni -server.bans.none = Aucun joueur banni trouvé ! -server.admins = Administrateurs -server.admins.none = Aucun administrateur trouvé ! -server.add = Ajouter un serveur -server.delete = Êtes-vous sûr de vouloir supprimer ce serveur ? -server.edit = Modifier le serveur -server.outdated = [crimson]Serveur obsolète ![] -server.outdated.client = [crimson]Client obsolète ![] -server.version = [lightgray]Version: {0} {1} -server.custombuild = [accent]Version personnalisée -confirmban = Êtes-vous sûr de vouloir bannir ce joueur ? -confirmkick = Êtes-vous sûr de vouloir expulser ce joueur ? -confirmvotekick = Êtes-vous sûr de vouloir voter que ce joueur soit banni ? -confirmunban = Êtes-vous sûr de vouloir annuler le ban de ce joueur ? -confirmadmin = Êtes-vous sûr de vouloir faire de ce joueur un administrateur ? -confirmunadmin = Êtes-vous sûr de vouloir supprimer le statut d'administrateur de ce joueur ? -joingame.title = Rejoindre une partie -joingame.ip = IP: -disconnect = Déconnecté. -disconnect.error = Un problème est survenu lors de la connection. -disconnect.closed = Connection fermée. -disconnect.timeout = Timed out. -disconnect.data = Les données du monde n'ont pas pu être chargées ! -cantconnect = Impossible de rejoindre le jeu ([accent]{0}[]). -connecting = [accent]Connexion... -connecting.data = [accent]Chargement des données du monde... -server.port = Port: -server.addressinuse = Adresse déjà utilisée ! -server.invalidport = Numéro de port incorrect ! -server.error = [crimson]Erreur lors de l'hébergement du serveur: [accent]{0} -save.new = Nouvelle sauvegarde -save.overwrite = Êtes-vous sûr de vouloir\nrecouvrir cette sauvegarde ? -overwrite = Recouvrir -save.none = Aucune sauvegarde trouvée ! -savefail = Échec de la sauvegarde ! -save.delete.confirm = Êtes-vous sûr de supprimer cette sauvegarde ? -save.delete = Supprimer -save.export = Exporter une\nSauvegarde -save.import.invalid = [accent]Cette sauvegarde est invalide! -save.import.fail = [crimson]L'importation de la sauvegarde\na échouée: [accent]{0} -save.export.fail = [crimson]L'exportation de la sauvegarde\na échouée: [accent]{0} -save.import = Importer une sauvegarde -save.newslot = Nom de la sauvegarde: -save.rename = Renommer -save.rename.text = Nouveau nom: -selectslot = Sélectionnez une sauvegarde. -slot = [accent]Emplacement {0} -editmessage = Modifier le Message -save.corrupted = [accent]Fichier de sauvegarde corrompu ou invalide!\nSi vous venez de mettre à jour votre jeu, c'est probablement dû à un changement du format de sauvegarde et [scarlet]non[] un bug. -empty = -on = Allumer -off = Éteint -save.autosave = Sauvegarde automatique {0} -save.map = Carte: {0} -save.wave = Vague {0} -save.mode = Mode de jeu {0} -save.date = Dernière sauvegarde: {0} -save.playtime = Temps de jeu: {0} -warning = Avertissement. -confirm = Confirmer -delete = Supprimer -view.workshop = View In Workshop -workshop.listing = Edit Workshop Listing -ok = OK -open = Ouvrir -customize = Personnaliser -cancel = Annuler -openlink = Ouvrir le lien -copylink = Copier le lien -back = Retour -data.export = Export Data -data.import = Import Data -data.openfolder = Open Data Folder -data.exported = Data exported. -data.invalid = Ceci ne sont pas des données de jeu valide. -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. -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... -reloading = [accent]Reloading Mods... -saving = [accent]Sauvegarde... -respawn = [accent][[{0}][] to respawn in core -cancelbuilding = [accent][[{0}][] to clear plan -selectschematic = [accent][[{0}][] to select+copy -pausebuilding = [accent][[{0}][] to pause building -resumebuilding = [scarlet][[{0}][] to resume building -wave = [accent]Vague {0} -wave.cap = [accent]Wave {0}/{1} -wave.waiting = [lightgray]Prochaine vague dans {0} -wave.waveInProgress = [lightgray]Vague en cours -waiting = [lightgray]En attente... -waiting.players = En attente de joueurs ... -wave.enemies = [lightgray]{0} Ennemis restants -wave.enemy = [lightgray]{0} Ennemi restant -wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. -wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. -loadimage = Charger l'image -saveimage = Sauvegarder l'image -unknown = Inconnu -custom = Personnalisé -builtin = Pré-fait -map.delete.confirm = Êtes-vous sûr de vouloir effacer cette carte ? Cette action est irréversible ! -map.random = [accent]Carte aléatoire -map.nospawn = Cette carte ne possède pas de base pour que le joueur puisse apparaître !Ajouter un [royal]base bleue[] sur cette carte dans l'éditeur. -map.nospawn.pvp = Cette carte ne contient aucune base ennemi dans lequel le joueur apparaît!\nAjoutez des bases [scarlet]rouge[] à cette carte dans l'éditeur. -map.nospawn.attack = Cette carte ne contient aucune base ennemi à attaquer! Ajoutez des bases [scarlet]rouge[] à cette carte dans l'éditeur. -map.invalid = Erreur lors du chargement de la carte: carte corrompue ou invalide. -workshop.update = Update Item -workshop.error = Error fetching workshop details: {0} -map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! -workshop.menu = Select what you would like to do with this item. -workshop.info = Item Info -changelog = Changelog (optional): -eula = Steam EULA -missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. -publishing = [accent]Publishing... -publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! -publish.error = Error publishing item: {0} -steam.error = Failed to initialize Steam services.\nError: {0} - -editor.brush = Pinceau -editor.openin = Ouvrir dans l'éditeur -editor.oregen = Génération des minerais -editor.oregen.info = Génération de minerais: -editor.mapinfo = Infos sur la carte -editor.author = Auteur: -editor.description = Description: -editor.nodescription = A map must have a description of at least 4 characters before being published. -editor.waves = Vagues: -editor.rules = Règles: -editor.generation = Generation: -editor.ingame = Modifier en jeu -editor.publish.workshop = Publish On Workshop -editor.newmap = Nouvelle carte -editor.center = Center -workshop = Workshop -waves.title = Vagues -waves.remove = Retirer -waves.never = -waves.every = tous les -waves.waves = vague(s) -waves.perspawn = par apparition -waves.shields = shields/wave -waves.to = à -waves.guardian = Guardian -waves.preview = Prévisualiser -waves.edit = Modifier... -waves.copy = Copier dans le Presse-papiers -waves.load = Coller depuis le Presse-papiers -waves.invalid = Vagues invalides dans le Presse-papiers. -waves.copied = Vagues copiées. -waves.none = Aucun ennemi défini.\nNotez que les dispositions vides seront automatiquement remplacées par la dispositions par défaut. - -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health - -editor.default = [lightgray] -details = Details... -edit = Modifier... -editor.name = Nom: -editor.spawn = Ajouter une unité -editor.removeunit = Retirer l'unité -editor.teams = Équipes -editor.errorload = Erreur lors du chargement du fichier:\n[accent]{0} -editor.errorsave = Erreur lors de la sauvegarde du fichier:\n[accent]{0} -editor.errorimage = C’est une image, pas une carte.\n\nSi vous souhaitez importer une carte 3.5/build 40, utilisez le bouton "Importer une carte héritée" dans l’éditeur. -editor.errorlegacy = Cette carte est trop ancienne et utilise un format de carte qui n'est plus pris en charge. -editor.errornot = Ce n'est pas un fichier de carte. -editor.errorheader = Ce fichier de carte n'est pas valide ou corrompu. -editor.errorname = La carte n'a pas de nom ! -editor.update = Mettre à jour -editor.randomize = Randomiser -editor.apply = Appliquer -editor.generate = Générer -editor.resize = Redimensionner -editor.loadmap = Charger une carte -editor.savemap = Sauvegarder une carte -editor.saved = Sauvegardé ! -editor.save.noname = Votre carte ne possède pas de nom ! Ajouter en un dans le menu 'Infos sur la carte'. -editor.save.overwrite = Une carte posséde déjà ce nom ! Choisissez un nom différent dans le menu 'Infos sur la carte'. -editor.import.exists = [scarlet]Importation impossible :[] Une carte nommé '{0}' existe déjà! -editor.import = Importation... -editor.importmap = Importer une carte -editor.importmap.description = Importer une carte déjà existante -editor.importfile = Importer un fichier -editor.importfile.description = Importer une carte à partir d'un fichier externe -editor.importimage = Importer la carte existante -editor.importimage.description = Importer une image de terrain à partir d'un fichier externe -editor.export = Exportation en cours... -editor.exportfile = Exporter un fichier -editor.exportfile.description = Exporter une carte -editor.exportimage = Exporter l'image du terrain -editor.exportimage.description = Exporter la carte sous forme d'image -editor.loadimage = Importer le terrain -editor.saveimage = Exportr le terrain -editor.unsaved = [scarlet] Vous avez des changements non sauvegardés ![] Êtes-vous sûr de vouloir quitter ? -editor.resizemap = Redimensionner\nla carte -editor.mapname = Nom de la carte: -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.exists = A map with this name already exists. -editor.selectmap = Sélectionnez une carte à charger: - -toolmode.replace = Remplacer -toolmode.replace.description = Dessine uniquement sur des blocs pleins. -toolmode.replaceall = Remplacer tout -toolmode.replaceall.description = Remplacez tous les blocs de la carte. -toolmode.orthogonal = Orthogonale -toolmode.orthogonal.description = Dessine uniquement des lignes orthogonales. -toolmode.square = Carré -toolmode.square.description = Pinceau carré. -toolmode.eraseores = Effacer les minerais -toolmode.eraseores.description = N'effacez que les minerais. -toolmode.fillteams = Remplir les équipes -toolmode.fillteams.description = Remplissez les équipes au lieu de blocs. -toolmode.drawteams = Tirage au sort des équipes -toolmode.drawteams.description = Dessinez des équipes au lieu de blocs. - -filters.empty = [lightgray]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous. -filter.distort = Déformation -filter.noise = Bruit -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select -filter.median = Median -filter.oremedian = Ore Median -filter.blend = Mélange -filter.defaultores = Minerais par défaut -filter.ore = Minerai -filter.rivernoise = Bruit des rivières -filter.mirror = Miroir -filter.clear = Nettoyer -filter.option.ignore = Ignorer -filter.scatter = Dispersement -filter.terrain = Terrain -filter.option.scale = Échelle -filter.option.chance = Chance -filter.option.mag = Magnitude -filter.option.threshold = Seuil -filter.option.circle-scale = Échelle du cercle -filter.option.octaves = Octaves -filter.option.falloff = Diminution -filter.option.angle = Angle -filter.option.amount = Amount -filter.option.block = Bloc -filter.option.floor = Sol -filter.option.flooronto = Sible au sol -filter.option.target = Target -filter.option.wall = Mur -filter.option.ore = Minerai -filter.option.floor2 = Sol secondaire -filter.option.threshold2 = Seuil secondaire -filter.option.radius = Rayon -filter.option.percentile = Centile - -width = Largeur: -height = Hauteur: -menu = Menu -play = Jouer -campaign = Campagne -load = Charger -save = Sauvegarder -fps = FPS: {0} -ping = Ping: {0}ms -language.restart = Veuillez redémarrez votre jeu pour le changement de langage prenne effet. -settings = Paramètres -tutorial = Tutoriel -tutorial.retake = Re-Take Tutorial -editor = Éditeur -mapeditor = Éditeur de carte - -abandon = Abandonner -abandon.text = Cette zone et toutes ses ressources seront perdues. -locked = Verrouillé -complete = [lightgray]Compléter: -requirement.wave = Reach Wave {0} in {1} -requirement.core = Destroy Enemy Core in {0} -requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Meilleur: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. -uncover = Découvrir -configure = Configurer le transfert des ressources. -loadout = Loadout -resources = Resources -bannedblocks = Banned Blocks -addall = Add All -launch.destination = Destination: {0} -configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} Débloquée. -zone.requirement.complete = Vague {0} atteinte:\n{1} Exigences de la zone complétées -zone.resources = Ressources détectées: -zone.objective = [lightgray]Objective: [accent]{0} -zone.objective.survival = Survive -zone.objective.attack = Détruire la base ennemi -add = Ajouter... -boss.health = Vie du BOSS - -connectfail = [crimson]Échec de la connexion au serveur: [accent]{0} -error.unreachable = Serveur inaccessible. -error.invalidaddress = Adresse invalide. -error.timedout = Expiration du délai !\nAssurez-vous que la redirection de port est configurée sur l'hôte et que l'adresse est correcte ! -error.mismatch = Erreur de paquet:\nPossible d'incompatibilité de version client/serveur.\nAssurez-vous que l'hôte et vous disposez de la dernière version de Mindustry ! -error.alreadyconnected = Déjà connecté. -error.mapnotfound = Fichier de carte introuvable ! -error.io = Network I/O error. -error.any = Erreur réseau inconnue. -error.bloom = Échec d'initialisation du flou lumineux.\nVotre appareil peut ne pas le supporter. - -weather.rain.name = Pluie -weather.snow.name = Neige -weather.sandstorm.name = Tempête de sable -weather.sporestorm.name = Tempête de spores -weather.fog.name = Brouillard - -sectors.unexplored = [lightgray] Inexploré -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Ressources du noyau insuffisantes - -planet.serpulo.name = Serpulo -planet.sun.name = Soleil - -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass - -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. - -settings.language = Langue -settings.data = Données du jeu -settings.reset = Valeur par défaut. -settings.rebind = Réatttribuer -settings.resetKey = Reset -settings.controls = Contrôles -settings.game = Jeu -settings.sound = Son -settings.graphics = Graphiques -settings.cleardata = Effacer les données du jeu... -settings.clear.confirm = Êtes-vous sûr d'effacer ces données ?\n[scarlet]Ceci est irréversible -settings.clearall.confirm = [scarlet]ATTENTION![]\nCet action effacera toutes les données , incluant les sauvegarges, les cartes, les déblocages et la configuration des touches.\nUne fois que vous aurez pressé 'Ok' le jeu effacera toutes les données et se fermera. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? -paused = En pause -clear = Clear -banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector -yes = Oui -no = Non -info.title = Info -error.title = [crimson]Une erreur s'est produite -error.crashtitle = Une erreur s'est produite -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} -block.unknown = [lightgray]Inconnu - -stat.input = Ressource(s) requise(s) -stat.output = Ressource(s) produite(s) -stat.booster = Booster -stat.tiles = Required Tiles -stat.affinities = Affinities -stat.powercapacity = Capacité d'énergie -stat.powershot = Énergie/Tir -stat.damage = Damage -stat.targetsair = Cible les unités aériennes -stat.targetsground = Cible les unités terrestres -stat.itemsmoved = Vitesse de déplacement -stat.launchtime = Temps entre chaque lancement -stat.shootrange = Portée -stat.size = Taille -stat.displaysize = Display Size -stat.liquidcapacity = Capacité en liquide -stat.powerrange = Distance de transmission -stat.linkrange = Link Range -stat.instructions = Instructions -stat.powerconnections = Max Connections -stat.poweruse = Énergie utilisée -stat.powerdamage = Énergie/Dégâts -stat.itemcapacity = Stockage -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = Production d'énergie de base -stat.productiontime = Temps de production -stat.repairtime = Temps pour la réparation totale du bloc -stat.speedincrease = Augmentation de la vitesse -stat.range = Portée -stat.drilltier = Forable -stat.drillspeed = Vitesse de forage de base -stat.boosteffect = Effet boostant -stat.maxunits = Maximum d'unitée active -stat.health = Santé -stat.buildtime = Temps de construction -stat.maxconsecutive = Max Consecutive -stat.buildcost = Coût de construction -stat.inaccuracy = Précision -stat.shots = Tirs -stat.reload = Tirs/Seconde -stat.ammo = Munition -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities - -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field - -bar.drilltierreq = Better Drill Required -bar.noresources = Missing Resources -bar.corereq = Core Base Required -bar.drillspeed = Vitesse de forage: {0}/s -bar.pumpspeed = Pump Speed: {0}/s -bar.efficiency = Efficacité: {0}% -bar.powerbalance = Énergie: {0} -bar.powerstored = Stored: {0}/{1} -bar.poweramount = Énergie: {0} -bar.poweroutput = Énergie en sortie: {0} -bar.powerlines = Connections: {0}/{1} -bar.items = Objets: {0} -bar.capacity = Capacity: {0} -bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] -bar.liquid = Liquide -bar.heat = Chaleur -bar.power = Énergie -bar.progress = Progression de la construction -bar.input = Input -bar.output = Output - -units.processorcontrol = [lightgray]Processor Controlled - -bullet.damage = [stat]{0}[lightgray] dégats -bullet.splashdamage = [stat]{0}[lightgray] dgt zone ~[stat] {1}[lightgray] tuiles -bullet.incendiary = [stat]incendiaire -bullet.homing = [stat]autoguidage -bullet.shock = [stat]choc -bullet.frag = [stat]frag -bullet.knockback = [stat]{0}[lightgray]recul -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]gel -bullet.tarred = [stat]goudronné -bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions -bullet.reload = [stat]{0}[lightgray]x vitesse de rechargement - -unit.blocks = Blocs -unit.blockssquared = blocks² -unit.powersecond = Énergie/seconde -unit.liquidsecond = Liquides/seconde -unit.itemssecond = Objets/seconde -unit.liquidunits = Unité de liquide -unit.powerunits = Unité d'énergie -unit.degrees = degrés -unit.seconds = secondes -unit.minutes = mins -unit.persecond = /sec -unit.perminute = /min -unit.timesspeed = x vitesse -unit.percent = % -unit.shieldhealth = shield health -unit.items = Objets -unit.thousands = k -unit.millions = mil -unit.billions = b -category.general = Général -category.power = Énergie -category.liquids = Liquides -category.items = Objets -category.crafting = Fabrication -category.function = Function -category.optional = Améliorations facultatives -setting.landscape.name = Verrouiller la rotation en mode paysage -setting.shadows.name = Ombres -setting.blockreplace.name = Automatic Block Suggestions -setting.linear.name = Filtrage linéaire -setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) -setting.buildautopause.name = Auto-Pause Building -setting.animatedwater.name = Eau animée -setting.animatedshields.name = Boucliers Animés -setting.antialias.name = Antialias[lightgray] (demande le redémarrage de l'appareil)[] -setting.playerindicators.name = Player Indicators -setting.indicators.name = Indicateurs d'alliés -setting.autotarget.name = Visée automatique -setting.keyboard.name = Contrôles Souris + Clavier -setting.touchscreen.name = Touchscreen Controls -setting.fpscap.name = Max FPS -setting.fpscap.none = Vide -setting.fpscap.text = {0} FPS -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.difficulty.training = Entraînement -setting.difficulty.easy = Facile -setting.difficulty.normal = Normal -setting.difficulty.hard = Difficile -setting.difficulty.insane = Êxtreme -setting.difficulty.name = Difficulté: -setting.screenshake.name = Tremblement d'écran -setting.effects.name = Montrer les effets -setting.destroyedblocks.name = Display Destroyed Blocks -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Conveyor Placement Pathfinding -setting.sensitivity.name = Contôle de la sensibilité -setting.saveinterval.name = Intervalle des sauvegardes auto -setting.seconds = {0} Secondes -setting.blockselecttimeout.name = Block Select Timeout -setting.milliseconds = {0} milliseconds -setting.fullscreen.name = Plein écran -setting.borderlesswindow.name = Fenêtre sans bordure[lightgray] (peut nécessiter un redémarrage) -setting.fps.name = Afficher FPS -setting.smoothcamera.name = Smooth Camera -setting.vsync.name = VSync -setting.pixelate.name = Pixélisé [lightgray](peut diminuer les performances)[] -setting.minimap.name = Montrer la minimap -setting.coreitems.name = Display Core Items (WIP) -setting.position.name = Show Player Position -setting.musicvol.name = Volume de la musique -setting.atmosphere.name = Show Planet Atmosphere -setting.ambientvol.name = Ambient Volume -setting.mutemusic.name = Couper la musique -setting.sfxvol.name = Volume des SFX -setting.mutesound.name = Couper les SFX -setting.crashreport.name = Envoyer des rapports d'incident anonymement. -setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility -setting.playerlimit.name = Player Limit -setting.chatopacity.name = Opacité du tchat -setting.lasersopacity.name = Power Laser Opacity -setting.bridgeopacity.name = Bridge Opacity -setting.playerchat.name = Afficher le tchat en jeu -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.beta = Note that beta versions of the game cannot make public lobbies. -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 = Annuler et quitter -setting.bloom.name = Flou lumineux -keybind.title = Paramétrer les touches -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.view.name = Voir -category.multiplayer.name = Multijoueur -category.blocks.name = Block Select -command.attack = Attaquer -command.rally = Rally -command.retreat = Retraite -command.idle = Idle -placement.blockselectkeys = \n[lightgray]Key: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit -keybind.clear_building.name = Clear Building -keybind.press = Appuyez sur une touche ... -keybind.press.axis = Appuyez sur un axe ou une touche... -keybind.screenshot.name = Map Screenshot -keybind.toggle_power_lines.name = Toggle Power Lasers -keybind.toggle_block_status.name = Toggle Block Statuses -keybind.move_x.name = Mouvement X -keybind.move_y.name = Mouvement Y -keybind.mouse_move.name = Follow Mouse -keybind.pan.name = Pan View -keybind.boost.name = Boost -keybind.schematic_select.name = Select Region -keybind.schematic_menu.name = Schematic Menu -keybind.schematic_flip_x.name = Flip Schematic X -keybind.schematic_flip_y.name = Flip Schematic Y -keybind.category_prev.name = Previous Category -keybind.category_next.name = Next Category -keybind.block_select_left.name = Block Select Left -keybind.block_select_right.name = Block Select Right -keybind.block_select_up.name = Block Select Up -keybind.block_select_down.name = Block Select Down -keybind.block_select_01.name = Category/Block Select 1 -keybind.block_select_02.name = Category/Block Select 2 -keybind.block_select_03.name = Category/Block Select 3 -keybind.block_select_04.name = Category/Block Select 4 -keybind.block_select_05.name = Category/Block Select 5 -keybind.block_select_06.name = Category/Block Select 6 -keybind.block_select_07.name = Category/Block Select 7 -keybind.block_select_08.name = Category/Block Select 8 -keybind.block_select_09.name = Category/Block Select 9 -keybind.block_select_10.name = Category/Block Select 10 -keybind.fullscreen.name = Basculer en plein écran -keybind.select.name = Sélectionner/Tirer -keybind.diagonal_placement.name = Placement en diagonal -keybind.pick.name = Choisir un bloc -keybind.break_block.name = Supprimer un bloc -keybind.deselect.name = Déselectionner -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command -keybind.shoot.name = Tirer -keybind.zoom.name = Zoom -keybind.menu.name = Menu -keybind.pause.name = Pause -keybind.pause_building.name = Pause/Resume Building -keybind.minimap.name = Mini-Map -keybind.chat.name = Tchat -keybind.player_list.name = Liste des joueurs -keybind.console.name = Console -keybind.rotate.name = Tourner -keybind.rotateplaced.name = Rotate Existing (Hold) -keybind.toggle_menus.name = Montrer/Cacher les menus -keybind.chat_history_prev.name = Reculer dans l'historique du tchat -keybind.chat_history_next.name = Suite de l'historique du tchat -keybind.chat_scroll.name = Faire défiler le tchat -keybind.drop_unit.name = Larguer une unité -keybind.zoom_minimap.name = Zoomer la minimap -mode.help.title = Description des modes de jeu -mode.survival.name = Survival -mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques. -mode.sandbox.name = Bac à sable -mode.sandbox.description = Ressources infinies et pas de compte à rebours pour les vagues. -mode.editor.name = Editor -mode.pvp.name = PvP -mode.pvp.description = Lutter contre d'autres joueurs pour gagner ! -mode.attack.name = Attaque -mode.attack.description = Pas de vagues, le but est de détruire la base ennemie. -mode.custom = Règles personnalisées - -rules.infiniteresources = Ressources infinies -rules.reactorexplosions = Reactor Explosions -rules.schematic = Schematics Allowed -rules.wavetimer = Temps de vague -rules.waves = Vague -rules.attack = Mode attaque -rules.buildai = AI Building -rules.enemyCheat = Ressources infinies pour l'IA -rules.blockhealthmultiplier = Block Health Multiplier -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Multiplicateur de vitesse de création d'unités -rules.unithealthmultiplier = Multiplicateur de la santé des unités -rules.unitdamagemultiplier = Multiplicateur de dégât des unités -rules.enemycorebuildradius = Rayon de non-construction autour de la base ennemi:[lightgray] (tuiles) -rules.wavespacing = Espacement des vagues:[lightgray] (sec) -rules.buildcostmultiplier = Multiplicateur de coût de construction -rules.buildspeedmultiplier = Multiplicateur de vitesse de construction -rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier -rules.waitForWaveToEnd = Les vagues attendent les ennemis -rules.dropzoneradius = Rayon de la zone de largage:[lightgray] (tuiles) -rules.unitammo = Units Require Ammo -rules.title.waves = Vagues -rules.title.resourcesbuilding = Ressources & Bâtiment -rules.title.enemy = Ennemis -rules.title.unit = Unités -rules.title.experimental = Experimental -rules.title.environment = Environment -rules.lighting = Lighting -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Ambient Light -rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.duration = Duration: - -content.item.name = Objets -content.liquid.name = Liquides -content.unit.name = Unités -content.block.name = Blocs - -item.copper.name = Cuivre -item.lead.name = Plomb -item.coal.name = Charbon -item.graphite.name = Graphite -item.titanium.name = Titane -item.thorium.name = Thorium -item.silicon.name = Silicium -item.plastanium.name = Plastanium -item.phase-fabric.name = Phase Fabric -item.surge-alloy.name = Alliage superchargé -item.spore-pod.name = Bulbe sporifère -item.sand.name = Sable -item.blast-compound.name = Mélange explosif -item.pyratite.name = Pyratite -item.metaglass.name = Métaverre -item.scrap.name = Ferraille -liquid.water.name = Eau -liquid.slag.name = Scorie -liquid.oil.name = Pétrole -liquid.cryofluid.name = Liquide Cryogénique - -unit.dagger.name = Poignard -unit.mace.name = Mace -unit.fortress.name = Forteresse -unit.nova.name = Nova -unit.pulsar.name = Pulsar -unit.quasar.name = Quasar -unit.crawler.name = Rampeur -unit.atrax.name = Atrax -unit.spiroct.name = Spiroct -unit.arkyid.name = Arkyid -unit.toxopid.name = Toxopid -unit.flare.name = Flare -unit.horizon.name = Horizon -unit.zenith.name = Zenith -unit.antumbra.name = Antumbra -unit.eclipse.name = Eclipse -unit.mono.name = Mono -unit.poly.name = Poly -unit.mega.name = Mega -unit.quad.name = Quad -unit.oct.name = Oct -unit.risso.name = Risso -unit.minke.name = Minke -unit.bryde.name = Bryde -unit.sei.name = Sei -unit.omura.name = Omura -unit.alpha.name = Alpha -unit.beta.name = Beta -unit.gamma.name = Gamma -unit.scepter.name = Scepter -unit.reign.name = Reign -unit.vela.name = Vela -unit.corvus.name = Corvus - -block.resupply-point.name = Point de rechargement -block.parallax.name = Parallax -block.cliff.name = Falaise -block.sand-boulder.name = Sable rocheux -block.grass.name = Herbe -block.slag.name = Scories -block.space.name = Space -block.salt.name = Sel -block.salt-wall.name = Mur de sel -block.pebbles.name = Cailloux -block.tendrils.name = Vrilles -block.sand-wall.name = Mur de sable -block.spore-pine.name = Pin sporifère -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder -block.snow-pine.name = Snow Pine -block.shale.name = Schiste -block.shale-boulder.name = Rocher de schiste -block.moss.name = Mousse -block.shrubs.name = Arbustes -block.spore-moss.name = Mousse sporifère -block.shale-wall.name = Shale Wall -block.scrap-wall.name = Mur de ferraille -block.scrap-wall-large.name = Grand mur de ferraille -block.scrap-wall-huge.name = Enorme mur de ferraille -block.scrap-wall-gigantic.name = Gigantesque mur de ferraille -block.thruster.name = Propulseur -block.kiln.name = Four -block.graphite-press.name = Presse à graphite -block.multi-press.name = Multi-Presse -block.constructing = {0}\n[lightgray](En construction) -block.spawn.name = Générateur d'ennemis -block.core-shard.name = Core: Shard -block.core-foundation.name = Core: Fondation -block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Eau profonde -block.water.name = Eau -block.tainted-water.name = Eau contaminée -block.darksand-tainted-water.name = Eau contaminée par le sable noir -block.tar.name = Pétrole -block.stone.name = Pierre -block.sand.name = Sable -block.darksand.name = Sable noire -block.ice.name = Glace -block.snow.name = Neige -block.craters.name = Cratères -block.sand-water.name = Eau (sable) -block.darksand-water.name = Eau (sable noir) -block.char.name = Carboniser -block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder -block.ice-snow.name = Neige glacée -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall -block.pine.name = Pin -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud -block.white-tree-dead.name = Arbre blanc mort -block.white-tree.name = Arbre blanc -block.spore-cluster.name = Grappe de spores -block.metal-floor.name = Sol métallique -block.metal-floor-2.name = Sol métallique 2 -block.metal-floor-3.name = Sol métallique 3 -block.metal-floor-5.name = Sol métallique 5 -block.metal-floor-damaged.name = Sol métallique endommagé -block.dark-panel-1.name = Panneau noir 1 -block.dark-panel-2.name = Panneau noir 2 -block.dark-panel-3.name = Panneau noir 3 -block.dark-panel-4.name = Panneau noir 4 -block.dark-panel-5.name = Panneau noir 5 -block.dark-panel-6.name = Panneau noir 6 -block.dark-metal.name = Métal noir -block.basalt.name = Basalt -block.hotrock.name = Roche chaude -block.magmarock.name = Roche de magma -block.copper-wall.name = Mur de cuivre -block.copper-wall-large.name = Grand mur de cuivre -block.titanium-wall.name = Mur de titane -block.titanium-wall-large.name = Grand mur de titane -block.plastanium-wall.name = Plastanium Wall -block.plastanium-wall-large.name = Large Plastanium Wall -block.phase-wall.name = Mur phasé -block.phase-wall-large.name = Grand mur phasé -block.thorium-wall.name = Mur en thorium -block.thorium-wall-large.name = Grand mur en thorium -block.door.name = Porte -block.door-large.name = Grande porte -block.duo.name = Duo -block.scorch.name = Brûleur -block.scatter.name = Disperseur -block.hail.name = Grêle -block.lancer.name = Lancier -block.conveyor.name = Convoyeur -block.titanium-conveyor.name = Convoyeur en titane -block.plastanium-conveyor.name = Convoyeur en plastanium -block.armored-conveyor.name = Convoyeur cuirassé -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. -block.junction.name = Jonction -block.router.name = Routeur -block.distributor.name = [accent]Distributeur[] -block.sorter.name = Trieur -block.inverted-sorter.name = Trieur inversé -block.message.name = Message -block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. -block.overflow-gate.name = Barrière de Débordement -block.underflow-gate.name = Barrière de Refoulement -block.silicon-smelter.name = Fonderie de silicium -block.phase-weaver.name = Tisseur à phase -block.pulverizer.name = Pulvérisateur -block.cryofluid-mixer.name = Refroidisseur -block.melter.name = Four à Fusion -block.incinerator.name = Incinérateur -block.spore-press.name = Presse à spores -block.separator.name = Séparateur -block.coal-centrifuge.name = Centrifugeuse à charbon -block.power-node.name = Transmetteur énergétique -block.power-node-large.name = Grand transmetteur énergétique -block.surge-tower.name = Tour de surtension -block.diode.name = Diode de batterie -block.battery.name = Batterie -block.battery-large.name = Grande batterie -block.combustion-generator.name = Générateur à combustion -block.steam-generator.name = Générateur à turbine -block.differential-generator.name = Générateur différentiel -block.impact-reactor.name = Réacteur à impact -block.mechanical-drill.name = Foreuse mécanique -block.pneumatic-drill.name = Foreuse à vérins -block.laser-drill.name = Foreuse Laser -block.water-extractor.name = Extracteur d'eau -block.cultivator.name = Cultivateur -block.conduit.name = Conduit -block.mechanical-pump.name = Pompe Mécanique -block.item-source.name = Source d'objets -block.item-void.name = Destructeur d'objets -block.liquid-source.name = Source de liquide -block.liquid-void.name = Vaporisateur -block.power-void.name = Absorbeur énergétique -block.power-source.name = Puissance infinie -block.unloader.name = Déchargeur -block.vault.name = Coffre-Fort -block.wave.name = Vague -block.tsunami.name = Tsunami -block.swarmer.name = Essaim -block.salvo.name = Salve -block.ripple.name = Percussion -block.phase-conveyor.name = Convoyeur phasé -block.bridge-conveyor.name = Pont -block.plastanium-compressor.name = Compresseur de plastanium -block.pyratite-mixer.name = Mixeur à pyratite -block.blast-mixer.name = Mixeur à explosion -block.solar-panel.name = Panneau solaire -block.solar-panel-large.name = Grand panneau solaire -block.oil-extractor.name = Extracteur de pétrole -block.repair-point.name = Point de Réparation -block.pulse-conduit.name = Conduit à Impulsion -block.plated-conduit.name = Plated Conduit -block.phase-conduit.name = Conduit à Phase -block.liquid-router.name = Routeur de Liquide -block.liquid-tank.name = Réservoir de Liquide -block.liquid-junction.name = Jonction à Liquide -block.bridge-conduit.name = Pont à liquide -block.rotary-pump.name = Pompe Rotative -block.thorium-reactor.name = Réacteur à Thorium -block.mass-driver.name = Transporteur de masse -block.blast-drill.name = Foreuse à explosion -block.thermal-pump.name = Pompe thermique -block.thermal-generator.name = Générateur thermique -block.alloy-smelter.name = Fonderie d'alliage superchargé -block.mender.name = Gardien -block.mend-projector.name = Projecteur soignant -block.surge-wall.name = Mur superchargé -block.surge-wall-large.name = Grand mur superchargé -block.cyclone.name = Cyclone -block.fuse.name = Fuse -block.shock-mine.name = Mines terrestre -block.overdrive-projector.name = Projecteur accélérant -block.force-projector.name = Projecteur de champ de force -block.arc.name = Arc -block.rtg-generator.name = G.T.R. -block.spectre.name = Spectre -block.meltdown.name = Meltdown -block.foreshadow.name = Foreshadow -block.container.name = Conteneur -block.launch-pad.name = Rampe de lancement -block.launch-pad-large.name = Grande rampe de lancement -block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = Mass Conveyor -block.payload-router.name = Payload Router -block.disassembler.name = Disassembler -block.silicon-crucible.name = Silicon Crucible -block.overdrive-dome.name = Overdrive Dome - -block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor -block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display -block.memory-cell.name = Memory Cell -block.memory-bank.name = Memory Bank - -team.blue.name = Bleu -team.crux.name = red -team.sharded.name = orange -team.orange.name = Orange -team.derelict.name = derelict -team.green.name = Vert -team.purple.name = Violet - -tutorial.next = [lightgray] -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.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper -tutorial.drill = Le minage manuel est inefficace.\n[accent]Des foreuses[]peuvent miner automatiquement.\nPlacez-en une sur un filon de cuivre. -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.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]Convoyeurs[] sont utilisés pour transporter des articles à la base.\nFaire une ligne de convoyeurs de la foreuse à la base.\n[accent]Maintenez le clique droit de la souris pour placer dans une ligne.[]\nMaintenir[accent] CTRL[] en sélectionnant une ligne à placer en diagonale.\n\n[accent]Placez 2 convoyeurs avec l'outil ligne, puis livrez un article dans la base. -tutorial.conveyor.mobile = [accent]Convoyeurs[] sont utilisés pour transporter des articles à la base.\nFaire une ligne de convoyeurs de la foreuse à la base.\n[accent] Placez dans une ligne en maintenant votre doigt appuyé pendant quelques secondes[] et en le faisant glisser dans une direction.\n\n[accent]Placez 2 convoyeurs avec l'outil ligne, puis livrez un article dans la base. -tutorial.turret = Des constructions défensives doivent être construites pour repousser [lightgray]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.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.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.unpause = Appuyez de nouveau sur espace pour reprendre le cour du jeu -tutorial.unpause.mobile = Appuyez de nouveau sur cette touche pour reprendre le cour du jeu -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.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.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.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.waves = Les [lightgray]ennemies[] approchent.\n\nDéfendez votre base durant 2 vagues.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre. -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.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. - -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.metaglass.description = Un composé de verre très résistant. Utilisation intensive pour la distribution et le stockage de liquides. -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.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.thorium.description = Un métal dense, et radioactif utilisé comme support structurel et comme carburant nucléaire. -item.scrap.description = Restes de vieilles structures et unités. Contient des traces de nombreux métaux différents. -item.silicon.description = Un matériau semi-conducteur extrêmement utile, avec des utilisations dans les panneaux solaires et beaucoup d'autre composants électroniques complexes. -item.plastanium.description = Un matériau léger et docile utilisé dans l'aviation avancée et dans les munitions à fragmentation. -item.phase-fabric.description = Une substance presque en apesanteur utilisée dans l'électronique de pointe et la technologie autoréparable. -item.surge-alloy.description = Un alliage avancé aux propriétés électriques uniques. -item.spore-pod.description = Utilisé pour l'obtention d'huile, d'explosifs et de carburants -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. -liquid.water.description = Couramment utilisé pour les machines de refroidissement et le traitement des déchets. -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.cryofluid.description = Le liquide de refroidissement le plus efficace. - -block.message.description = Stores a message. Used for communication between allies. -block.graphite-press.description = Compresse des morceaux de charbon en feuilles de graphite. -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.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.plastanium-compressor.description = Produit du plastanium à partir de pétrole et de titane. -block.phase-weaver.description = Produit un tissu de phase à partir de thorium radioactif et de grandes quantités de sable. -block.alloy-smelter.description = Produit un alliage de surtension à partir de titane, plomb, silicium et cuivre. -block.cryofluid-mixer.description = L'eau et le titane combinés forment un fluide cryo beaucoup plus efficace pour le refroidissement. -block.blast-mixer.description = Utilise du pétrole pour transformer la pyratite en un composé explosif moins inflammable mais plus explosif. -block.pyratite-mixer.description = Mélange le charbon, le plomb et le sable en pyratite hautement inflammable. -block.melter.description = Chauffe la pierre à des températures très élevées pour obtenir de la lave. -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.pulverizer.description = Brise la pierre en sable. Utile en cas de manque de sable naturel. -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.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.item-source.description = Sort infiniment les articles. Bac à sable seulement. -block.item-void.description = Détruit tous les objets qui y entrent sans utiliser d'énergie. Bac à sable seulement. -block.liquid-source.description = Débit infini de liquides. Bac à sable seulement. -block.liquid-void.description = Removes any liquids. Sandbox only. -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.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 = Un bloc défensif modérément fort.\nFournit une protection modérée contre les ennemis.\nS'étend sur plusieurs tuiles. -block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. -block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. -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.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.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.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 cliquant dessus.\nSi elle est ouverte, les ennemis peuvent tirer et se déplacer.\nS'étend sur plusieurs tuiles. -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.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.shock-mine.description = Endommage les ennemis qui marchent sur la mine. Presque invisible à l'ennemi. -block.conveyor.description = Bloc de transport d'articles standard.\nDéplace les objets et les déposes automatiquement dans des tourelles ou des usines. Rotatif. -block.titanium-conveyor.description = Bloc de transport d'articles avancé.\nDéplace les articles plus rapidement que les convoyeurs standard. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. -block.junction.description = Agit comme un pont pour deux bandes transporteuses qui se croisent.\nUtile dans les situations avec deux convoyeurs différents transportant des matériaux différents à des endroits différents. -block.bridge-conveyor.description = Bloc de transport d'articles avancé. Permet de transporter des objets sur plus de 3 tuiles de n'importe quel terrain ou bâtiment. -block.phase-conveyor.description = Bloc de transport d'articles avancé.\nUtilise le pouvoir de téléporter des articles vers un convoyeur de phase connecté sur plusieurs carreaux. -block.sorter.description = Trie les articles. Si un article correspond à la sélection, il peut passer. Autrement, l'article est distribué vers la gauche ou la droite. -block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. -block.router.description = Accepte les éléments d'une direction et les envoie dans 3 autres directions de manière égale. Utile pour séparer les matériaux d'une source en plusieurs cibles. -block.distributor.description = Un routeur avancé qui divise les articles en 7 autres directions de manière égale. [scarlet]Seule et unique ![] -block.overflow-gate.description = C'est la combinaison entre un routeur et un diviseur qui peut seulement distribuer à gauche et à droite si le chemin de devant est bloqué. -block.underflow-gate.description = Le contraire d'une barrière de débordement.\nEnvoie les ressources vers l'avant si les chemins de gauche et de droite sont bloqués. -block.mass-driver.description = Bloc de transport d'articles ultime.\nRecueille plusieurs objets et les envoie ensuite à un autre pilote de masse sur une longue distance. -block.mechanical-pump.description = Une pompe bon marché avec un débit lent, mais aucune consommation d'énergie. -block.rotary-pump.description = Une pompe avancée qui double la vitesse en utilisant l’énergie. -block.thermal-pump.description = La pompe ultime. Trois fois plus rapide qu'une pompe mécanique et la seule pompe capable de récupérer de la lave. -block.conduit.description = Bloc de transport liquide de base. Fonctionne comme un convoyeur, mais avec des liquides. Utilisation optimale avec des extracteurs, des pompes ou d’autres conduits. -block.pulse-conduit.description = Bloc de transport de liquide avancé. Transporte les liquides plus rapidement et stocke plus que des conduits standard. -block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. -block.liquid-router.description = Accepte les liquides d'une direction et les envoie dans 3 autres directions de manière égale. Peut également stocker une certaine quantité de liquide. Utile pour séparer les liquides d'une source à plusieurs cibles. -block.liquid-tank.description = Stocke une grande quantité de liquides. Utilisez-le pour créer des tampons en cas de demande non constante de matériaux ou comme protection pour le refroidissement des blocs vitaux. -block.liquid-junction.description = Agit comme un pont pour deux conduits de croisement. Utile dans les situations avec deux conduits différents transportant des liquides différents à des endroits différents. -block.bridge-conduit.description = Bloc de transport de liquide avancé. Permet de transporter des liquides jusqu'à 3 tuiles de n'importe quel terrain ou bâtiment. -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-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 = Un nÅ“ud d'alimentation extrêmement longue portée avec moins de connexions disponibles. -block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. -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.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.steam-generator.description = Plus efficace qu'un générateur de combustion, mais nécessite de l'eau supplémentaire. -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.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.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 = 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.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.blast-drill.description = L'extracteur ultime. Nécessite de grandes quantités d'énergie. -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.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 = 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 = La deuxième version de la base centrale. Mieux blindé. Stocke plus de ressources. -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. [lightgray]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. [lightgray]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.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 = 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.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 = Brûle les ennemis au sol les plus proches. Très efficace à courte portée. -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.lancer.description = Une tourelle de taille moyenne qui tire des faisceaux d’électricité chargés. -block.arc.description = Une petite tourelle qui tire de l'électricité dans un arc au hasard vers l'ennemi. -block.swarmer.description = Une tourelle de taille moyenne qui tire des missiles éclatés. -block.salvo.description = Une tourelle de taille moyenne qui tire des coups de salves. -block.fuse.description = Une grande tourelle qui tire de puissants faisceaux à courte portée. -block.ripple.description = Une grande tourelle d'artillerie qui tire plusieurs coups simultanément. -block.cyclone.description = Une grande tourelle à tir rapide. -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.repair-point.description = Soigne en permanence l'unité endommagée la plus proche à proximité. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties index 200f3e1530..76cc0bd15d 100644 --- a/core/assets/bundles/bundle_hu.properties +++ b/core/assets/bundles/bundle_hu.properties @@ -1,1001 +1,1508 @@ -#Fordította: Vajda Simon -credits.text = Created by [royal]Anuken[] - [sky]anukendev@gmail.com[] -credits = Credits -contributors = Fordítok és készítÅ‘k +credits.text = Készítette: [royal]Anuken[] – [sky]anukendev@gmail.com[] +credits = KészítÅ‘k +contributors = KözreműködÅ‘k és fordítók discord = Csatlakozz a Mindustry Discord szerverhez! -link.discord.description = Az eredeti Mindustry Discord chatszoba -link.reddit.description = A Mindustry subreddit +link.discord.description = Az eredeti Mindustry Discord csevegÅ‘szoba +link.reddit.description = A Mindustry subreddit link.github.description = A játék forráskódja link.changelog.description = Frissítési változások listája -link.dev-builds.description = Instabil fejlesztÅ‘i build-ek +link.dev-builds.description = Instabil fejlesztÅ‘i összeállítások link.trello.description = Hivatalos Trello tábla a tervezett funkcióknak -link.itch.io.description = itch.io oldal PC letöltésekkel -link.google-play.description = Google Play áruház listázás -link.f-droid.description = F-Droid katalógus listázás +link.itch.io.description = itch.io oldal PC-s letöltésekkel +link.google-play.description = Listázás a Google Play áruházban +link.f-droid.description = Listázás az F-Droidon link.wiki.description = Hivatalos Mindustry wiki link.suggestions.description = Új funkciók ajánlása -link.bug.description = Találtál egyett? Jelentsd itt -linkfail = Nem sikerült megnyitni a linket!\nAz URL a vágólapra lett másolva. +link.bug.description = Találtál egy szoftverhibát? Itt jelentheted +linkopen = Ez a kiszolgáló egy hivatkozást küldött. Biztosan megnyitod?\nAkár kártékony is lehet!\n\n[sky]{0} +linkfail = Nem sikerült megnyitni a hivatkozást!\nA webcím a vágólapra lett másolva. screenshot = KépernyÅ‘kép mentve ide: {0} -screenshot.invalid = Túl nagy a térkép, nincsen elég memória a képernyÅ‘képhez. -gameover = Játék vége -gameover.disconnect = Kapcsolat bontása -gameover.pvp = A[accent] {0}[] csapat nyert! -gameover.waiting = [accent]Várakozás a következÅ‘ mapra... +screenshot.invalid = A pálya túl nagy és nem áll rendelkezésre elegendÅ‘ memória a képernyÅ‘kép elkészítéséhez. +gameover = A játéknak vége +gameover.disconnect = A kapcsolat megszakadt +gameover.pvp = A(z)[accent] {0}[] csapat nyert! +gameover.waiting = [accent]Várakozás a következÅ‘ pályára… highscore = [accent]Új rekord! copied = Másolva. -indev.notready = A játéknak ez a része még nincsen kész -indev.campaign = [accent]Gratulálunk! Elérte a kampány végét! []\n\nEz a tartalom mostanáig terjedt. A bolygóközi utazás a jövÅ‘beli frissítésekben szerepel. +indev.notready = A játéknak ez a része még nincs kész load.sound = Hangok -load.map = Mapok +load.map = Pályák load.image = Képek load.content = Tartalom load.system = Rendszer load.mod = Modok -load.scripts = Szkriptek +load.scripts = Parancsfájlok -be.update = Új Bleeding Edge épület áll rendelkezésre: -be.update.confirm = Letölti és újra indítja? -be.updating = Frissítés... -be.ignore = MellÅ‘zés -be.noupdates = Nem találtunk frissítést. -be.check = Frissítések keresése. +be.update = Új Bleeding Edge verzió áll rendelkezésre: +be.update.confirm = Letöltöd és frissíted a játékot?\n\nAmint kész a frissítés, a játék automatikusan újraindul. +be.updating = Frissítés… +be.ignore = Most nem +be.noupdates = Nem található frissítés. +be.check = Frissítések keresése -mod.featured.dialog.title = Mod keresÅ‘ (WIP) +mods.browser = ModböngészÅ‘ mods.browser.selected = Mod kiválasztása mods.browser.add = Letöltés -mods.github.open = Megtekintés +mods.browser.reinstall = Újratelepítés +mods.browser.view-releases = Kiadások megtekintése +mods.browser.noreleases = [scarlet]Nem találhatók a kiadások\n[accent]Nem találhatók kiadások ehhez a modhoz. Nézd meg a tárolóját, hogy vannak-e kiadásai. +mods.browser.latest = [lightgray][Legújabb] +mods.browser.releases = Kiadások +mods.github.open = Tároló +mods.github.open-release = Kiadások oldala +mods.browser.sortdate = Rendezés dátum szerint +mods.browser.sortstars = Rendezés értékelés szerint -schematic = Schematic -schematic.add = Schematic mentése... -schematics = Schematicok -schematic.replace = Már van ilyen nevű schematic. Csere? -schematic.exists = Már van ilyen nevű schematic. -schematic.import = Schematic importálása... +schematic = Vázlat +schematic.add = Vázlat mentése… +schematics = Vázlatok +schematic.search = Vázlat keresése… +schematic.replace = Már van ilyen nevű vázlat. Lecseréled? +schematic.exists = Már van ilyen nevű vázlat. +schematic.import = Vázlat importálása… schematic.exportfile = Exportálás fájlba -schematic.importfile = Importálás fájlba -schematic.browseworkshop = Workshop megtekintése +schematic.importfile = Importálás fájlból +schematic.browseworkshop = Steam Műhely megtekintése schematic.copy = Másolás a vágólapra schematic.copy.import = Importálás a vágólapról -schematic.shareworkshop = Megosztás a Workshopon -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Schematic tükrözése -schematic.saved = Schematic mentve. -schematic.delete.confirm = Ez a Schematic törölve lesz. -schematic.rename = Schematic átnevezése +schematic.shareworkshop = Megosztás a Steam Műhelyben +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Vázlat tükrözése +schematic.saved = Vázlat elmentve. +schematic.delete.confirm = Ez a vázlat törölve lesz. +schematic.edit = Vázlat szerkesztése schematic.info = {0}x{1}, {2} blokk -schematic.disabled = [scarlet]Sémák letiltva[]\nNem használhat sematikákat ezen a [accent]mapon[] vagy [accent] szerveren. +schematic.disabled = [scarlet]Vázlatok letiltva[]\nNem használhatsz vázlatokat ezen a [accent]pályán[] vagy [accent]kiszolgálón. +schematic.tags = Címkék: +schematic.edittags = Címkék szerkesztése +schematic.addtag = Címke hozzáadása +schematic.texttag = Szövegcímke +schematic.icontag = Ikoncímke +schematic.renametag = Címke átnevezése +schematic.tagged = {0} Címkézve +schematic.tagdelconfirm = Biztosan törlöd ezt a címkét? +schematic.tagexists = Ez a címke már létezik. stats = Statisztika -stat.wave = Hullámok kivádve:[accent] {0} -stat.enemiesDestroyed = Kivédett ellenség:[accent] {0} -stat.built = Épített épületek:[accent] {0} -stat.destroyed = Szétrombolt épületek:[accent] {0} -stat.deconstructed = Törölt épületek:[accent] {0} -stat.delivered = Elindított erÅ‘források: -stat.playtime = Játszott idÅ‘:[accent] {0} -stat.rank = VégsÅ‘ értékelés: [accent]{0} +stats.wave = Túlélt hullámok +stats.unitsCreated = Létrehozott egységek +stats.enemiesDestroyed = LegyÅ‘zött egységek +stats.built = Épített építmények +stats.destroyed = Lerombolt építmények +stats.deconstructed = Lebontott építmények +stats.playtime = Játékban töltött idÅ‘ -globalitems = [accent]Összes item -map.delete = Biztosan törli ezt a mapot"[accent]{0}[]"? -level.highscore = Magas pontszám: [accent]{0} +globalitems = [accent]A bolygó nyersanyagai +map.delete = Biztosan törölni akarod a(z) „[accent]{0}[]†nevű pályát? +level.highscore = Legmagasabb pontszám: [accent]{0} level.select = Szint kiválasztása level.mode = Játékmód: -coreattack = < A mag támadás alatt! > -nearpoint = [[ [scarlet]AZONNAL HAGYD EL A LEDOBÃSI PONTOT[] ]\nveszélyes zóna -database = Mag adatbázis +coreattack = < A támaszpont támadás alatt áll! > +nearpoint = [[ [scarlet]AZONNAL HAGYD EL A LEDOBÃSI PONTOT![] ]\nA megsemmisülés fenyeget! +database = Támaszpont adatbázisa +database.button = Adatbázis savegame = Játék mentése loadgame = Játék betöltése -joingame = Csatlakozás játékhoz -customgame = Custom Game +joingame = Kapcsolódás egy játékhoz +customgame = Egyéni játék newgame = Új játék none = -minimap = Minimap +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Minitérkép position = Pozíció close = Bezárás website = Weboldal quit = Kilépés -save.quit = Mentés & Kilépés -maps = Mapok -maps.browse = Mapok keresése +save.quit = Mentés és kilépés +maps = Pályák +maps.browse = Pályák böngészése continue = Folytatás -maps.none = [lightgray]Nem találtunk ilyen mapot! +maps.none = [lightgray]Nem található ilyen pálya! invalid = Érvénytelen -pickcolor = Válasszon színt +pickcolor = Válassz színt preparingconfig = Konfiguráció elÅ‘készítése preparingcontent = Tartalom elÅ‘készítése uploadingcontent = Tartalom feltöltése -uploadingpreviewfile = ElÅ‘nézet feltöltése -committingchanges = Változások mentése +uploadingpreviewfile = ElÅ‘nézeti fájl feltöltése +committingchanges = Változások rögzítése done = Kész -feature.unsupported = Az eszköz nem támogatja ezt a funkciót. +feature.unsupported = Ez az eszköz nem támogatja ezt a funkciót. -mods.alphainfo = Figyelem! a modok alfa állapotban vannak, és[scarlet] nagyon sok lehet benne a hiba[].\nJelentsd be az esetleges hibákat a Mindustry GitHubon. +mods.initfailed = [red]âš [] Az elÅ‘zÅ‘ Mindustry példány elÅ‘készítése nem sikerült. Ezt valószínűleg egy rosszul működÅ‘ mod okozta.\n\nAz ismételt összeomlások elkerülése érdekében [red]minden mod le lett tiltva.[] mods = Modok -mods.none = [lightgray]Nincsen mod! -mods.guide = Mod készítési útmutató +mods.none = [lightgray]Nem találhatók modok! +mods.guide = Modkészítési útmutató mods.report = Hiba jelentése -mods.openfolder = Megnyitás mappából +mods.openfolder = Mappa megnyitása +mods.viewcontent = Tartalom megtekintése mods.reload = Újratöltés -mods.reloadexit = Indítsa újra a játékot, hogy betöltÅ‘djenek a modok. +mods.reloadexit = A játék most kilép, hogy újratöltse a modokat a következÅ‘ indításkor. +mod.installed = [[Telepítve] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Aktív -mod.disabled = [scarlet]Inaktív +mod.disabled = [red]Inaktív +mod.multiplayer.compatible = [gray]Többjátékos kompatibilis mod.disable = Letiltás +mod.version = Verzió: mod.content = Tartalom: -mod.delete.error = Nem lehet törölni a Modot. Lehet, hogy egy másik folyamat használja. -mod.requiresversion = [scarlet]Minimális játék verzió: [accent]{0} -mod.outdated = [scarlet]Nem kompatibilis V6-al (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Hiányzó függÅ‘ség: {0} -mod.erroredcontent = [scarlet]Tartalom hiba +mod.delete.error = Nem lehet törölni a modot. Lehet, hogy egy másik folyamat használja. + +mod.incompatiblegame = [red]Elavult játék +mod.incompatiblemod = [red]Inkompatibilis +mod.blacklisted = [red]Nem támogatott +mod.unmetdependencies = [red]Teljesítetlen függÅ‘ségek +mod.erroredcontent = [red]Hibás tartalom +mod.circulardependencies = [red]Körkörös függÅ‘ségek +mod.incompletedependencies = [red]Hiányos függÅ‘ségek + +mod.requiresversion.details = Szükséges játékverzió: [accent]{0}[]\nA játék ezen verziója elavult! A mod működéséhez újabb verzió szükséges (valószínűleg egy béta vagy alfa kiadás). +mod.outdatedv7.details = Ez a mod nem kompatibilis a játék legújabb verziójával! A mod készítÅ‘jének frissítenie kell azt és hozzá kell adnia ezt a [accent]mod.json[] fájlhoz: [accent]minGameVersion: 136[]. +mod.blacklisted.details = Ez a mod automatikusan tiltólistára került, mert a játék összeomlott tÅ‘le, vagy más problémát okozott. Ne használd! +mod.missingdependencies.details = Ez a mod függÅ‘ségeket hiányol: {0} +mod.erroredcontent.details = Ez a mod hibákat okozott a betöltésnél. Kérd meg a mod készítÅ‘jét, hogy javítsa Å‘ket. +mod.circulardependencies.details = Ennek a modnak egymástól függÅ‘ függÅ‘ségei vannak. +mod.incompletedependencies.details = Ez a mod nem tölthetÅ‘ be az érvénytelen vagy hiányzó függÅ‘ségek miatt: {0}. + +mod.requiresversion = Szükséges játékverzió: [red]{0}[] + mod.errors = Hiba történt a tartalom betöltése közben. -mod.noerrorplay = [scarlet]Vannak hibás Modok.[] Töröld le vagy javítsd ki a játék elÅ‘tt. -mod.nowdisabled = [scarlet]A '{0}' Modnak nincsen megfelelÅ‘ függÅ‘sége:[accent] {1}\n[lightgray]Ezeket elÅ‘bb le kell tölteni.\nEz a Mod automatikusan törölve lesz. +mod.noerrorplay = [red]Hibákkal rendelkezÅ‘ modjaid vannak.[] Kapcsold ki, vagy javítsd ki Å‘ket a játék elindítása elÅ‘tt. +mod.nowdisabled = [red]A(z) „{0}†modnak nincs megfelelÅ‘ függÅ‘sége:[accent] {1}\n[lightgray]Ezeket elÅ‘bb le kell tölteni.\nEz a mod automatikusan ki lesz kapcsolva. mod.enable = Engedélyezés -mod.requiresrestart = A játék kilép a módosítások alkalmazásához. -mod.reloadrequired = [scarlet]Újratöltés szükséges +mod.requiresrestart = A játék most kilép, hogy a módosítások érvénybe lépjenek a következÅ‘ indításkor. +mod.reloadrequired = [red]Újraindítás szükséges mod.import = Mod importálása mod.import.file = Fájl importálása -mod.import.github = GitHub Mod importálása -mod.jarwarn = [scarlet]A JAR modok eredendÅ‘en nem biztonságosak.[]\nGyÅ‘zÅ‘djön meg arról, hogy ezt a modot megbízható forrásból importálja! -mod.item.remove = Ez az elem része a [accent] '{0}'[] Modnak. A törléshez távolítsd el a Modot. -mod.remove.confirm = Ez a Mod törölve lesz. -mod.author = [LIGHT_GRAY]KészítÅ‘:[] {0} -mod.missing = Ez a mentés nemrég törölt vagy frissített Modokat tartalmaz. ElképzelhetÅ‘, hogy nem fog működni. Biztosan betöltöd?\n[lightgray]Modok:\n{0} -mod.preview.missing = MielÅ‘tt publikálod ezt a modot a workshopra, adj hozzá egy borítóképet.\nKészíts egy[accent] preview.png[] nevű képet a mod mappájába, majd próbáld újra. -mod.folder.missing = Csak mappa formában lehet feltölteni a workshopra.\nHogy átalakítsd, csomagold ki a ZIP-et egy mappába és töröld le a régit, Majd indítsd újra a játékot vagy töltsd újra a modot. -mod.scripts.disable = Az eszköz nem támogatja a szkriptekkel rendelkezÅ‘ modokat. \nA játékhoz le kell tiltania ezeket a modokat. +mod.import.github = Importálás GitHubról +mod.jarwarn = [scarlet]A JAR modok eredendÅ‘en nem biztonságosak.[]\nGyÅ‘zÅ‘dj meg arról, hogy ezt a modot megbízható forrásból importálod! +mod.item.remove = Ez az elem a(z)[accent] „{0}â€[] mod része. A törléséhez távolítsd el a modot. +mod.remove.confirm = Ez a mod törölve lesz. +mod.author = [lightgray]KészítÅ‘:[] {0} +mod.missing = Ez a mentés nemrég törölt vagy frissített modokat tartalmaz. ElképzelhetÅ‘, hogy nem fog működni. Biztosan betöltöd?\n[lightgray]Modok:\n{0} +mod.preview.missing = MielÅ‘tt közzéteszed ezt a modot a Steam Műhelyben, adj hozzá egy borítóképet.\nKészíts egy[accent] preview.png[] nevű képet a Mod mappájába, majd próbáld újra. +mod.folder.missing = Csak mappa formában lehet feltölteni a Steam Műhelybe.\nAhhoz, hogy átalakítsd, ki kell bontanod a ZIP-fájlt egy mappába és le kell törölnöd a régit, majd indítsd újra a játékot, vagy töltsd újra a modokat. +mod.scripts.disable = Ez az eszköz nem támogatja a parancsfájlokkal rendelkezÅ‘ modokat.\nA játékhoz tiltsd le ezeket a modokat. -about.button = KözreműködÅ‘k +about.button = Névjegy name = Név: -noname = Válassz egy[accent] nevet[] elÅ‘bb. -planetmap = Bolygó térkép -launchcore = Mag kilövése -filename = Fájl név: -unlocked = Új tartalom kinyitva! -available = Új kutatás áll rendelkezésre! -completed = [accent]Kész -techtree = Tech Tree -research.legacy = [accent]5.0[] kutatási adatok találhatók.\nSzeretné [accent] betölteni ezeket az adatokat [], vagy [accent] eldobni [], és újraindítani a kutatást az új kampányban (ajánlott)? +noname = ElÅ‘bb válassz egy[accent] nevet[]. +search = Keresés: +planetmap = Bolygótérkép +launchcore = Támaszpont kilövése +filename = Fájlnév: +unlocked = Új tartalom feloldva! +available = Új fejlesztés érhetÅ‘ el! +unlock.incampaign = < Oldd fel a hadjáratban a részletekért > +campaign.select = Válassz ki egy kezdÅ‘ hadjáratot +campaign.none = [lightgray]Válassz egy bolygót a kezdéshez.\nEzt bármikor megváltoztathatod. +campaign.erekir = Újabb, csiszoltabb tartalom. Többnyire lineáris játékmenet.\n\nSokkal nehezebb. Magasabb minÅ‘ségű pályák és élmények. +campaign.serpulo = Régebbi tartalom. A klasszikus élmény. Nyíltabb végű, több tartalommal.\n\nPotenciálisan kiegyensúlyozatlan pályák és hadjárat. Kevésbé csiszolt. +campaign.difficulty = Nehézségi szint +completed = [accent]Kifejlesztve +techtree = Technológiafa +techtree.select = Technológiafa kiválasztása +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = Betöltés research.discard = Eldobás -research.list = [lightgray]Fedezd fel: -research = Felfedezés -researched = [lightgray]{0} felfedezve. +research.list = [lightgray]Fejleszd ki: +research = Fejlesztés +researched = [lightgray]{0} kifejlesztve. research.progress = {0}% kész -players = {0} játékosok +players = {0} játékos players.single = {0} játékos -players.search = keresés -players.notfound = [gray]nincsen játékos -server.closing = [accent]Szerver bezárása... -server.kicked.kick = Ki lettél rúgva a szerverrÅ‘l! -server.kicked.whitelist = Nem vagy a fehérlistán. -server.kicked.serverClose = A szerver be lett zárva. -server.kicked.vote = Le lettél szavazva. Viszlát. -server.kicked.clientOutdated = Elavult verziót használsz! Frissítsd a játékot! -server.kicked.serverOutdated = Elavult a szerver! Kérd meg a tulajdonost, hogy frissítse! -server.kicked.banned = Ki vagy tiltva a szerverrÅ‘l. -server.kicked.typeMismatch = Ez a szerver nem kompatibilis a jelenlegi verzióddal. -server.kicked.playerLimit = Ez a szerver tele van. Várd ki a sorodat. -server.kicked.recentKick = Nemrég ki lettél rúgva.\nVárj egy kicsit. -server.kicked.nameInUse = Már van egy ilyen nevű játékos. +players.search = Keresés +players.notfound = [gray]Nem található játékos +server.closing = [accent]Kiszolgáló bezárása… +server.kicked.kick = Ki lettél rúgva a kiszolgálóról! +server.kicked.whitelist = Nem vagy az engedélyezési listán. +server.kicked.serverClose = A kiszolgáló be lett zárva. +server.kicked.vote = Ki lettél szavazva. Viszlát! +server.kicked.clientOutdated = Elavult játékverziót használsz! Frissítsd a játékot! +server.kicked.serverOutdated = Elavult a kiszolgáló! Kérd meg a tulajdonost, hogy frissítse! +server.kicked.banned = Ki vagy tiltva errÅ‘l a kiszolgálóról. +server.kicked.typeMismatch = Ez a kiszolgáló nem kompatibilis a jelenlegi játékverzióddal. +server.kicked.playerLimit = Ez a kiszolgáló tele van. Várd ki a sorodat. +server.kicked.recentKick = Nemrég lettél kirúgva.\nVárj egy kicsit az újbóli kapcsolódással. +server.kicked.nameInUse = Már van egy ilyen nevű játékos\nezen a kiszolgálón. server.kicked.nameEmpty = A kiválasztott név érvénytelen. -server.kicked.idInUse = Már csatlakozva vagy erre a szerverre! Nem lehet egyszerre két fiókot használni. -server.kicked.customClient = Ez a szerver nem támogatja a saját készítésű buildeket. Használj egy hivatalos változatot. +server.kicked.idInUse = Már kapcsolódva vagy ehhez a kiszolgálóhoz! Nem lehet egyszerre két fiókot használni. +server.kicked.customClient = Ez a kiszolgáló nem támogatja a saját készítésű játék-összeállításokat. Használj egy hivatalos változatot! server.kicked.gameover = Vége a játéknak! -server.kicked.serverRestarting = Ez a szerver újraindul. -server.versions = Te verziód:[accent] {0}[]\nSzerver verzió:[accent] {1}[] -host.info = Az [accent]host[] gomb kiszolgálót üzemeltet a [scarlet]6567[] porton.\nAzon a [lightgray] wifin vagy a helyi hálózaton [] bárki láthatja a szervert a szerverlistáján.\n\nHa azt szeretné, hogy az emberek bárhonnan IP-címmel csatlakozhassanak, [accent] port-továbbítás []\n\n[lightgray] Megjegyzés: Ha valakinek problémái vannak a LAN-játékhoz való csatlakozással, gyÅ‘zÅ‘djön meg arról, hogy a tűzfal beállításaiban engedélyezte-e a Mindustry hozzáférését a helyi hálózathoz. Ne feledje, hogy a nyilvános hálózatok néha nem teszik lehetÅ‘vé a kiszolgálók felderítését. -join.info = Itt megadhat egy [accent]szerver IP-t[] a csatlakozáshoz, vagy felfedezheti a [accent]helyi hálózat[] vagy [accent]globális[] szervereket, amelyekhez csatlakozni szeretne.\nMindkét LAN és WAN multiplayer támogatott.\n\n[lightgray]Ha IP-vel akarsz csatlakozni valakihez, akkor meg kell kérdezned a gazdagéptÅ‘l az IP-jét, amely megtalálható a "my ip" Google kereséssel. -hostserver = Másik játékos meghívása +server.kicked.serverRestarting = Ez a kiszolgáló újraindul. +server.versions = A te játékverziód:[accent] {0}[]\nA kiszolgáló verziója:[accent] {1}[] +host.info = A [accent]kiszolgáló indítása[] gomb egy kiszolgálót indít a [scarlet]6567-es[] porton.\nEzen a [lightgray]Wi-Fi-n vagy a helyi hálózaton[] bárki láthatja a kiszolgálót a kiszolgálólistán.\n\nHa azt szeretnéd, hogy bárki, aki ismeri az IP-címedet, bárhonnan kapcsolódhasson a kiszolgálódhoz, akkor a [accent]porttovábbítás[] beállítására lesz szükséged.\n\n[lightgray]Megjegyzés: ha problémáid vannak a LAN-játékhoz való kapcsolódással, gyÅ‘zÅ‘dj meg arról, hogy a tűzfal beállításaiban engedélyezted-e a Mindustry hozzáférését a helyi hálózathoz. Ne feledd, hogy a nyilvános hálózatok néha nem teszik lehetÅ‘vé a kiszolgálók felderítését. +join.info = Itt megadhatod egy [accent]kiszolgáló IP-címét[] a kapcsolódáshoz, vagy felfedezhetsz [accent]helyi[] vagy [accent]globális[] kiszolgálókat.\nA LAN és WAN többjátékos mód is támogatott.\n\n[lightgray]Ha valakihez IP-cím alapján szeretnél kapcsolódni, akkor meg kell tudnod az IP-címét, amelyet például a „my ip†webes kereséssel találhatsz meg. +hostserver = Többjátékos játék invitefriends = Barátok meghívása -hostserver.mobile = Játékos meghívása -host = meghívás -hosting = [accent]Szerver megnyitása... +hostserver.mobile = Többjátékos játék +host = Kiszolgáló nyitása +hosting = [accent]Kiszolgáló megnyitása… hosts.refresh = Frissítés -hosts.discovering = LAN játék keresése -hosts.discovering.any = Játék keresése -server.refreshing = Szerver frissítése -hosts.none = [lightgray]Nincsen helyi játék! -host.invalid = [scarlet]Nem sikerült csatlakozni. +hosts.discovering = LAN játékok felderítése +hosts.discovering.any = Játékok felderítése +server.refreshing = Kiszolgáló frissítése +hosts.none = [lightgray]Nem található helyi játék! +host.invalid = [scarlet]Nem sikerült kapcsolódni a kiszolgálóhoz. -servers.local = Lokális Szerverek -servers.remote = Távoli Szerverek -servers.global = Közösségi szerverek +servers.local = Helyi kiszolgálók +servers.local.steam = Nyitott játékok és helyi kiszolgálók +servers.remote = Távoli kiszolgálók +servers.global = Közösségi kiszolgálók -servers.disclaimer = A közösségi szervereket [accent]nem[] a fejlesztÅ‘ birtokolja és nem ellenÅ‘rzi.\n\nA szerverek tartalmazhatnak olyan felhasználók által létrehozott tartalmat, amely nem minden korosztály számára megfelelÅ‘. -servers.showhidden = Rejtett szerverek megjelenítése +servers.disclaimer = A közösségi kiszolgálókat [accent]nem[] a fejlesztÅ‘ birtokolja és ellenÅ‘rzi.\n\nA kiszolgálók tartalmazhatnak olyan felhasználók által létrehozott tartalmat, amely nem minden korosztály számára megfelelÅ‘. +servers.showhidden = Rejtett kiszolgálók megjelenítése server.shown = Látható server.hidden = Rejtett +viewplayer = Játékos figyelése: [accent]{0} trace = Játékos követése trace.playername = Játékos neve: [accent]{0} -trace.ip = IP: [accent]{0} +trace.ip = IP-cím: [accent]{0} trace.id = Azonosító: [accent]{0} +trace.language = Nyelv: [accent]{0} trace.mobile = Mobil kliens: [accent]{0} -trace.modclient = Nemhivatalos kliens: [accent]{0} -invalidid = Érvénytelen kliens ID! Submit a bug report. -server.bans = Tiltások +trace.modclient = Nem hivatalos kliens: [accent]{0} +trace.times.joined = Kapcsolódások száma: [accent]{0} +trace.times.kicked = Kirúgások száma: [accent]{0} +trace.ips = IP-címek: +trace.names = Nevek: +invalidid = Érvénytelen kliensazonosító (ID)! Küldj hibajelentést. + +player.ban = Kitiltás +player.kick = Kirúgás +player.trace = Követés +player.admin = Admin be/ki +player.team = Csapatváltás + +server.bans = Tiltólista server.bans.none = Nincsenek tiltott játékosok! server.admins = Adminok -server.admins.none = Nincsen admin! -server.add = Szerver hozzáadása -server.delete = Biztosan törlöd ezt a szervert? -server.edit = Szerver szerkesztése -server.outdated = [crimson]Elavult szerver![] -server.outdated.client = [crimson]Elavult kliens![] +server.admins.none = Nem található admin! +server.add = Kiszolgáló hozzáadása +server.delete = Biztosan törlöd ezt a kiszolgálót? +server.edit = Kiszolgáló szerkesztése +server.outdated = [scarlet]Elavult kiszolgáló![] +server.outdated.client = [scarlet]Elavult kliens![] server.version = [gray]v{0} {1} -server.custombuild = [accent]Saját Build -confirmban = Biztosan tiltod ezt a játékost? -confirmkick = Biztosan kirúgod ezt a játékost? -confirmvotekick = Biztosan ki akarod rúgatni ezt a játékost? +server.custombuild = [accent]Saját összeállítás +confirmban = Biztosan kitiltod a(z) „{0}[white]†nevű játékost? +confirmkick = Biztosan kirúgod a(z) „{0}[white]†nevű játékost? confirmunban = Biztosan újra engedélyezed ezt a játékost? -confirmadmin = Biztosan hozzá akarod adni ezt a játékost az adminokhoz? -confirmunadmin = Biztosan meg akarod szűntetni ennek a játékosnak az admin szátuszát? -joingame.title = Csatlakozás +confirmadmin = Biztosan elÅ‘lépteted a(z) „{0}[white]†nevű játékost adminná? +confirmunadmin = Biztosan meg akarod szüntetni a(z) „{0}[white]†nevű játékos adminisztrátori státuszát? +votekick.reason = Kiszavazás oka +votekick.reason.message = Valóban ki akarod szavazni a(z) „{0}[white]†nevű játékost?\nHa igen, írd be az okát: +joingame.title = Kapcsolódás a játékhoz joingame.ip = Cím: -disconnect = Leválasztva. -disconnect.error = Csatlakozási hiba. -disconnect.closed = Csatlakozás bezárva. +disconnect = Kapcsolat bontva. +disconnect.error = Kapcsolódási hiba. +disconnect.closed = Kapcsolat lezárva. disconnect.timeout = IdÅ‘túllépés. -disconnect.data = Nem sikerült betölteni az adatokat! -cantconnect = Nem sikerült csatlakozni ehhez: ([accent]{0}[]). -connecting = [accent]Csatlakozás... -reconnecting = [accent]Újra csatlakozás... -connecting.data = [accent]Betöltés... +disconnect.data = Nem sikerült betölteni a világ adatait! +disconnect.snapshottimeout = IdÅ‘túllépés történt az UDP-pillanatképek fogadása közben.\nEzt instabil hálózat vagy -kapcsolat okozhatja. +cantconnect = Nem sikerült kapcsolódni a(z) ([accent]{0}[]) játékhoz. +connecting = [accent]Kapcsolódás… +reconnecting = [accent]Újrakapcsolódás… +connecting.data = [accent]Világadatok betöltése… server.port = Port: -server.addressinuse = Már van ilyen cím! server.invalidport = Érvénytelen port! -server.error = [crimson]Nem sikerült megnyitni a szervert. +server.error.addressinuse = [scarlet]Nem sikerült megnyitni a kiszolgálót a 6567-es porton.[]\n\nGyÅ‘zÅ‘dj meg arról, hogy nem fut más Mindustry-kiszolgáló az eszközön vagy a hálózaton! +server.error = [scarlet]Kiszolgálóhiba. save.new = Új mentés save.overwrite = Biztosan felülírod\nezt a mentést? +save.nocampaign = A hadjáratból származó egyes mentési fájlok nem importálhatók. overwrite = Felülírás save.none = Nem található mentés! -savefail = Nem sikerült menteni! +savefail = Nem sikerült elmenteni a játékot! save.delete.confirm = Biztosan törlöd ezt a mentést? save.delete = Törlés -save.export = Exportálás +save.export = Mentés exportálása save.import.invalid = [accent]Ez a mentés érvénytelen! -save.import.fail = [crimson]Nem sikerült importálni a[accent]{0}[] mentést -save.export.fail = [crimson]Nem sikerült exportálni a[accent]{0}[] mentést -save.import = Importálás -save.newslot = Név: +save.import.fail = [scarlet]Nem sikerült importálni a(z) [accent]{0}[] mentést +save.export.fail = [scarlet]Nem sikerült exportálni a(z) [accent]{0}[] mentést +save.import = Mentés importálása +save.newslot = Mentés neve: save.rename = Ãtnevezés save.rename.text = Új név: selectslot = Válassz ki egy mentést. -slot = [accent]Slot {0} +slot = [accent]{0}. hely editmessage = Üzenet szerkesztése -save.corrupted = Érvénytelen fájl! +save.corrupted = A mentési fájl sérült vagy érvénytelen! empty = <üres> on = Be off = Ki +save.search = Keresés a mentett játékok között… save.autosave = Automatikus mentés: {0} -save.map = Térkép: {0} +save.map = Pálya: {0} save.wave = Hullám: {0} -save.mode = Mód: {0} -save.date = Utolsó Mentés: {0} +save.mode = Játékmód: {0} +save.date = Utolsó mentés: {0} save.playtime = JátékidÅ‘: {0} warning = Figyelmeztetés. -confirm = Rendben +confirm = MegerÅ‘sítés delete = Törlés -view.workshop = Megtekintés a Workshopban -workshop.listing = Workshop Listázás szerkesztése +view.workshop = Megtekintés a Steam Műhelyben +workshop.listing = Steam Műhely listázásának szerkesztése ok = OK open = Megnyitás customize = Szabályok módosítása cancel = Mégse -openlink = Link megnyitása -copylink = Link másolása +command = Parancs +command.queue = Sorba állítás +command.mine = Bányászás +command.repair = Javítás +command.rebuild = Újraépítés +command.assist = Segítség a játékosnak +command.move = Mozgás +command.boost = ErÅ‘sítés +command.enterPayload = Berakodás a raktérbe +command.loadUnits = Egységek felvétele +command.loadBlocks = Blokkok felvétele +command.unloadPayload = Kirakodás a raktérbÅ‘l +command.loopPayload = Folyamatos egységelszállítás +stance.stop = Parancsok visszavonása +stance.shoot = Viselkedés: lövés +stance.holdfire = Viselkedés: tüzet szüntess +stance.pursuetarget = Viselkedés: célpont követése +stance.patrol = Viselkedés: járÅ‘rözési útvonal +stance.ram = Viselkedés: ütközés\n[lightgray]Egyenes vonalú mozgás, útkeresés nélkül +openlink = Hivatkozás megnyitása +copylink = Hivatkozás másolása back = Vissza -crash.export = Összeomlási napló exportálása -crash.none = Nem található összeomlási napló. -crash.exported = Összeomlási napló exportálva. -data.export = Adatok Exportálása -data.import = Adatok Importálása -data.openfolder = Adat mappa megnyitása -data.exported = Adat exportálva. -data.invalid = Érvénytelen adatok. -data.import.confirm = KülsÅ‘ adat importálása felülírja[scarlet] minden[] jelenlegi állapotodat.\n[accent]Nem lehet visszavonni![]\n\nAmint kész az importálás, kilép a játék. -quit.confirm = Biztos kilépsz? -quit.confirm.tutorial = Biztosan tudod, mit csinálsz?\nA bevezetÅ‘t megtalálod itt:[accent] Beállítások->Játék->BevezetÅ‘ újrajátszása[] -loading = [accent]Betöltés... -reloading = [accent]Modok Újratöltése... -saving = [accent]Mentés... -respawn = Nyomd meg a [accent][[{0}][] gombot, hogy újra élegy a magban. -cancelbuilding = Használd a(z) [accent][[{0}][] gombot, hogy töröld a tervrajzot. -selectschematic = Használd a(z) [accent][[{0}][] gombot, hogy kijelölj és másolj. -pausebuilding = Használd a(z) [accent][[{0}][] gombot, hogy megállítsd az építkezést. -resumebuilding = Használd a(z) [scarlet][[{0}][] gombot, hogy folytasd az építkezést. -showui = A kezelÅ‘felület elrejtve.\nNyomja meg a(z) [accent][[{0}][] gombot a megjelenítéséhez. -wave = [accent]Hullám {0} -wave.cap = [accent]Hullám {0}/{1} -wave.waiting = [lightgray]KövetkezÅ‘ hullám {0} +max = Max +objective = A pálya célja +crash.export = Az összeomlási napló exportálása +crash.none = Nem található az összeomlási napló. +crash.exported = Az összeomlási napló exportálva. +data.export = Adatok exportálása +data.import = Adatok importálása +data.openfolder = Adatok mappájának megnyitása +data.exported = Adatok exportálva. +data.invalid = Ezek érvénytelen játékadatok. +data.import.confirm = A külsÅ‘ adatok importálása felülírja[scarlet] minden[] jelenlegi játékadatodat.\n[accent]Ezt a műveletet nem lehet visszavonni![]\n\nAmint kész az importálás, a játék automatikusan kilép. +quit.confirm = Biztosan kilépsz? +loading = [accent]Betöltés… +downloading = [accent]Letöltés… +saving = [accent]Mentés… +respawn = [accent][[{0}][] az újraéledéshez +cancelbuilding = [accent][[{0}][] a tervrajz törléséhez +selectschematic = [accent][[{0}][] a kijelöléshez és másoláshoz +pausebuilding = [accent][[{0}][] az építkezés megállításához +resumebuilding = [scarlet][[{0}][] az építkezés folytatásához +enablebuilding = [scarlet][[{0}][] az építkezés jóváhagyásához +showui = A kezelÅ‘felület elrejtve.\nNyomd meg a(z) [accent][[{0}][] gombot a kezelÅ‘felület megjelenítéséhez. +commandmode.name = [accent]Parancs mód +commandmode.nounits = [nincs egység] +wave = [accent]{0}. hullám +wave.cap = [accent]{0}./{1} hullám +wave.waiting = [lightgray]A következÅ‘ hullám elkezdÅ‘dik: {0} mp múlva wave.waveInProgress = [lightgray]Hullám folyamatban -waiting = [lightgray]Várakozás... -waiting.players = Várakozás a játékosokra... -wave.enemies = [lightgray]Fennmaradó ellenségek: {0} -wave.enemycores = [accent]{0}[lightgray] Ellenséges magok -wave.enemycore = [accent]{0}[lightgray] Ellenséges mag -wave.enemy = [lightgray]{0} Magmaradt ellenség -wave.guardianwarn = Az Å‘rzÅ‘ [accent]{0}[] hullám múlva érkezik. -wave.guardianwarn.one = Az Å‘rzÅ‘ [accent]{0}[] hullám múlva érkezik. -loadimage = Fénykép betöltése -saveimage = Fénykép mentése +waiting = [lightgray]Várakozás… +waiting.players = Várakozás a játékosokra… +wave.enemies = [lightgray]{0} ellenség maradt +wave.enemycores = [accent]{0}[lightgray] ellenséges támaszpont +wave.enemycore = [accent]{0}[lightgray] ellenséges támaszpont +wave.enemy = [lightgray]{0} ellenség maradt +wave.guardianwarn = Egy ÅrzÅ‘ érkezik [accent]{0}[] hullám múlva. +wave.guardianwarn.one = Egy ÅrzÅ‘ érkezik [accent]{0}[] hullám múlva. +loadimage = Kép betöltése +saveimage = Kép mentése unknown = Ismeretlen -custom = Egyedi +custom = Egyéni builtin = Beépített -map.delete.confirm = Biztosan törli ezt a mapot? Ez a művelet nem visszavonható! -map.random = [accent]Random Map -map.nospawn = Ez a map nem rendelkezik maggal, amelybe a játékos beleszülethet! Adjon hozzá egy [accent]narancssárga[] magot ehhez a maphoz a szerkesztÅ‘ben. -map.nospawn.pvp = Ezen a térképen nincsen ellenséges mag, amiba az másik csapat éledhet! Adjon hozzá [scarlet]nem narancssárga[] magok ehhez a maphoz a szerkesztÅ‘ben. -map.nospawn.attack = Ezen a térképen nincsen ellenséges mag! Adjon hozzá [scarlet]piros[] magot ehhez a maphoz a szerkesztÅ‘ben. -map.invalid = Hiba a map betöltésekor: sérült vagy érvénytelen mapfájl. -workshop.update = Item frisítése -workshop.error = Hiba történt a műhely részleteinek lekérésekor: {0} -map.publish.confirm = Biztos, hogy közzéteszi ezt a mapot?\n\n[lightgray] GyÅ‘zÅ‘djön meg róla, hogy elÅ‘ször elfogadta a Workshop EULA-t, különben a mapok nem jelennek meg! -workshop.menu = Válassza ki, mit szeretne csinálni ezzel az itemmel. -workshop.info = Item Infó -changelog = Changelog (opcionális): +map.delete.confirm = Biztosan törlöd ezt a pályát? Ezt a műveletet nem lehet visszavonni! +map.random = [accent]Véletlenszerű pálya +map.nospawn = Ez a pálya nem rendelkezik támaszponttal, amellyel a játékos kezdhetne. Adj hozzá egy {0} támaszpontot a pályához a szerkesztÅ‘ben. +map.nospawn.pvp = Ezen a pályán nincs ellenséges támaszpont, amellyel egy játékos kezdhet. Adj hozzá egy [scarlet]nem narancssárga[] támaszpontot a pályához a szerkesztÅ‘ben. +map.nospawn.attack = Ezen a pályán nincs ellenséges támaszpont. Adj hozzá {0} támaszpontot ehhez a pályához a szerkesztÅ‘ben. +map.invalid = Hiba történt a pálya betöltésekor: sérült vagy érvénytelen fájl. +workshop.update = Elem frissítése +workshop.error = Hiba történt a Steam Műhely részleteinek lekérdezésekor: {0} +map.publish.confirm = Biztosan közzéteszed ezt a pályát?\n\n[lightgray]GyÅ‘zÅ‘dj meg arról, hogy elfogadtad a Steam Műhely EULA-t, különben a pályáid nem jelennek meg. +workshop.menu = Válaszd ki, hogy mit szeretnél csinálni ezzel az elemmel. +workshop.info = Eleminformációk +changelog = Változáslista (nem kötelezÅ‘): +updatedesc = Cím és leírás felülírása eula = Steam EULA -missing = Ezt az elemet törölték vagy áthelyezték.\n[lightgray] A műhely adatait automatikusan leválasztották. -publishing = [accent]Publikálás... -publish.confirm = Biztosan közzéteszi ezt?\n\n[lightgray] GyÅ‘zÅ‘djön meg róla, hogy elÅ‘ször elfogadta a Workshop EULA-t, különben az itemei nem jelennek meg! -publish.error = Hiba az item publikálásakor: {0} -steam.error = Nem sikerült inicializálni a Steam szolgáltatásokat.\nHiba: {0} +missing = Ezt az elemet törölték vagy áthelyezték.\n[lightgray]A Steam Műhely adatai automatikusan le lettek választva. +publishing = [accent]Közzététel… +publish.confirm = Biztosan közzéteszed ezt az elemet?\n\n[lightgray]GyÅ‘zÅ‘dj meg arról, hogy elfogadtad a Steam Műhely EULA-t, különben az elemeid nem jelennek meg! +publish.error = Hiba az elem közzétételekor: {0} +steam.error = Nem sikerült elÅ‘készíteni a Steam szolgáltatásokat.\nHiba: {0} -editor.brush = Brush -editor.openin = Open In Editor -editor.oregen = Ore Generation -editor.oregen.info = Ore Generation: -editor.mapinfo = Map Info -editor.author = Author: -editor.description = Description: -editor.nodescription = A map must have a description of at least 4 characters before being published. -editor.waves = Waves: -editor.rules = Rules: -editor.generation = Generation: -editor.ingame = Edit In-Game -editor.publish.workshop = Publish On Workshop -editor.newmap = New Map -editor.center = Center -workshop = Workshop -waves.title = Waves -waves.remove = Remove -waves.never = -waves.every = every -waves.waves = wave(s) -waves.perspawn = per spawn -waves.shields = shields/wave -waves.to = to -waves.guardian = Guardian -waves.preview = Preview -waves.edit = Edit... -waves.copy = Copy to Clipboard -waves.load = Load from Clipboard -waves.invalid = Invalid waves in clipboard. -waves.copied = Waves copied. -waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +editor.planet = Bolygó: +editor.sector = Szektor: +editor.seed = Kiindulóérték: +editor.cliffs = Falak sziklákká +editor.brush = Méret +editor.openin = Megnyitás a szerkesztÅ‘ben +editor.oregen = Ércelőállítás +editor.oregen.info = Ércelőállítás: +editor.mapinfo = Pályainformációk +editor.author = SzerzÅ‘: +editor.description = Leírás: +editor.nodescription = A megosztás elÅ‘tt a pályának rendelkeznie kell egy legalább 4 karakteres leírással. +editor.waves = Hullámok +editor.rules = Szabályok +editor.generation = Előállítás +editor.objectives = Célok +editor.locales = Helyi csomagok +editor.worldprocessors = Világprocesszorok +editor.worldprocessors.editname = Név szerkesztése +editor.worldprocessors.none = [lightgray]Nem találhatók világprocesszor blokkok!\nAdj hozzá egyet a pályaszerkesztÅ‘ben, vagy használd az alábbi \ue813 hozzáadás gombot. +editor.worldprocessors.nospace = Nincs szabad hely egy világprocesszor elhelyezéséhez!\nKitöltötted a pályát struktúrákkal? Miért tetted ezt? +editor.worldprocessors.delete.confirm = Biztosan törölni akarod ezt a világprocesszort?\n\nHa falakkal van körülvéve, akkor egy környezeti fal fog a helyére kerülni. +editor.ingame = Szerkesztés a játékban +editor.playtest = Teszt a játékban +editor.publish.workshop = Közzététel a Steam Műhelyben +editor.newmap = Új pálya +editor.center = Ugrás középre +editor.search = Pályák keresése… +editor.filters = Pályák szűrése +editor.filters.mode = Játékmódok: +editor.filters.type = Pályatípus: +editor.filters.search = Keresés ebben: +editor.filters.author = SzerzÅ‘ +editor.filters.description = Leírás +editor.shiftx = X eltolás +editor.shifty = Y eltolás +workshop = Steam Műhely +waves.title = Hullámok +waves.remove = Eltávolítás +waves.every = minden +waves.waves = hullámonként +waves.health = élet: {0}% +waves.perspawn = kezdÅ‘pontonként +waves.shields = erÅ‘pajzs/hullám +waves.to = - +waves.spawn = kezdÅ‘pont: +waves.spawn.all = +waves.spawn.select = KezdÅ‘pont kiválasztása +waves.spawn.none = [scarlet]nem találhatók kezdÅ‘pontok a pályán +waves.max = egységkorlát +waves.guardian = ÅrzÅ‘ +waves.preview = ElÅ‘nézet +waves.edit = Szerkesztés… +waves.random = Véletlenszerű +waves.copy = Másolás a vágólapra +waves.load = Betöltés a vágólapról +waves.invalid = Érvénytelen hullámok a vágólapon. +waves.copied = Hullámok másolva. +waves.none = Nincs ellenség megadva.\nVedd figyelembe, hogy az üresen hagyott hullám-elrendezések automatikusan le lesznek cserélve az alapértelmezett elrendezésre. +waves.sort = Rendezési szempont +waves.sort.reverse = Rendezés visszafelé +waves.sort.begin = Kezdés +waves.sort.health = Élet +waves.sort.type = Típus +waves.search = Hullám keresése… +waves.filter = EgységszűrÅ‘ +waves.units.hide = Összes elrejtése +waves.units.show = Összes megjelenítése -#these are intentionally in lower case -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health +#Az alábbi szövegek szándékosan vannak kisbetűvel írva +wavemode.counts = típusokra bontva +wavemode.totals = összesítés +wavemode.health = életpontok -editor.default = [lightgray] -details = Details... -edit = Edit... -editor.name = Name: -editor.spawn = Spawn Unit -editor.removeunit = Remove Unit -editor.teams = Teams -editor.errorload = Error loading file. -editor.errorsave = Error saving file. -editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. -editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. -editor.errornot = This is not a map file. -editor.errorheader = This map file is either not valid or corrupt. -editor.errorname = Map has no name defined. Are you trying to load a save file? -editor.update = Update -editor.randomize = Randomize -editor.apply = Apply -editor.generate = Generate -editor.resize = Resize -editor.loadmap = Load Map -editor.savemap = Save Map -editor.saved = Saved! -editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. -editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. -editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists! -editor.import = Import... -editor.importmap = Import Map -editor.importmap.description = Import an already existing map -editor.importfile = Import File -editor.importfile.description = Import an external map file -editor.importimage = Import Image File -editor.importimage.description = Import an external map image file -editor.export = Export... -editor.exportfile = Export File -editor.exportfile.description = Export a map file -editor.exportimage = Export Terrain Image -editor.exportimage.description = Export an image file containing only basic terrain -editor.loadimage = Import Terrain -editor.saveimage = Export Terrain -editor.unsaved = Are you sure you want to exit?\n[scarlet]Any unsaved changes will be lost. -editor.resizemap = Resize Map -editor.mapname = Map Name: -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?\n"[accent]{0}[]" -editor.exists = A map with this name already exists. -editor.selectmap = Select a map to load: +all = Összes +editor.default = [lightgray] +details = Részletek… +edit = Szerkesztés +variables = Változók +logic.clear.confirm = Biztosan törölni akarod az összes kódot ebbÅ‘l a processzorból? +logic.globals = Beépített változók -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. +editor.name = Név: +editor.spawn = Egység létrehozása +editor.removeunit = Egység eltávolítása +editor.teams = Csapatok +editor.errorload = Hiba a fájl betöltése közben. +editor.errorsave = Hiba a fájl mentése közben. +editor.errorimage = Ez egy kép, nem pedig egy pálya. +editor.errorlegacy = Ez a pálya túl régi és olyan régi pálya formátumot használ, amely már nem támogatott. +editor.errornot = Ez nem egy pályafájl. +editor.errorheader = Ez a pályafájl érvénytelen vagy sérült. +editor.errorname = A pályának nincs neve. Mentést próbálsz betölteni? +editor.errorlocales = Hiba az érvénytelen helyi csomagok beolvasásakor. +editor.update = Frissítés +editor.randomize = Véletlenszerű +editor.moveup = Mozgás felfelé +editor.movedown = Mozgás lefelé +editor.copy = Másolás +editor.apply = Alkalmaz +editor.generate = Előállítás +editor.sectorgenerate = Szektor előállítása +editor.resize = Ãtméretezés +editor.loadmap = Pálya betöltése +editor.savemap = Pálya mentése +editor.savechanges = [scarlet]Nem mentett módosításaid vannak!\n\n[]Szeretnéd elmenteni Å‘ket? +editor.saved = Mentve! +editor.save.noname = A pályádnak nincs neve! Ãllíts be egyet a „pályainformációk†menüben. +editor.save.overwrite = A pályád felülír egy beépített pályát! Válassz egy másik nevet a „pályainformációk†menüben. +editor.import.exists = [scarlet]Nem lehet importálni:[] Már létezik a(z) „{0}†nevű beépített pálya! +editor.import = Importálás… +editor.importmap = Pálya importálása +editor.importmap.description = LétezÅ‘ pálya importálása +editor.importfile = Fájl importálása +editor.importfile.description = Egy külsÅ‘ pályafájl importálása +editor.importimage = Képfájl importálása +editor.importimage.description = Egy külsÅ‘ pályaképfájl importálása +editor.export = Exportálás… +editor.exportfile = Fájl exportálása +editor.exportfile.description = Exportálás egy pályafájlba +editor.exportimage = Domborzati kép exportálása +editor.exportimage.description = Csak alapvetÅ‘ domborzatot tartalmazó képfájl exportálása +editor.loadimage = Domborzat importálása +editor.saveimage = Domborzat exportálása +editor.unsaved = Biztosan ki akarsz lépni?\n[scarlet]A nem mentett módosításaid elvesznek. +editor.resizemap = Pálya átméretezése +editor.mapname = Pálya neve: +editor.overwrite = [accent]Vigyázz!\nEzzel felülírsz egy már létezÅ‘ pályát. +editor.overwrite.confirm = [scarlet]Vigyázz![] Ilyen nevű pálya már létezik. Biztosan felülírod?\n„[accent]{0}[]†+editor.exists = Ilyen nevű pálya már létezik. +editor.selectmap = Válassz ki egy pályát a betöltéshez: -filters.empty = [lightgray]No filters! Add one with the button below. -filter.distort = Distort -filter.noise = Noise -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select -filter.median = Median -filter.oremedian = Ore Median -filter.blend = Blend -filter.defaultores = Default Ores -filter.ore = Ore -filter.rivernoise = River Noise -filter.mirror = Mirror -filter.clear = Clear -filter.option.ignore = Ignore -filter.scatter = Scatter -filter.terrain = Terrain -filter.option.scale = Scale -filter.option.chance = Chance -filter.option.mag = Magnitude -filter.option.threshold = Threshold -filter.option.circle-scale = Circle Scale -filter.option.octaves = Octaves -filter.option.falloff = Falloff -filter.option.angle = Angle -filter.option.amount = Amount -filter.option.block = Block -filter.option.floor = Floor -filter.option.flooronto = Target Floor -filter.option.target = Target -filter.option.wall = Wall -filter.option.ore = Ore -filter.option.floor2 = Secondary Floor -filter.option.threshold2 = Secondary Threshold -filter.option.radius = Radius -filter.option.percentile = Percentile +toolmode.replace = Csere +toolmode.replace.description = Csak szilárd blokkokra rajzol. +toolmode.replaceall = Összes cseréje +toolmode.replaceall.description = Az összes blokkot lecseréli a pályán. +toolmode.orthogonal = MerÅ‘leges +toolmode.orthogonal.description = Csak merÅ‘leges vonalakat rajzol. +toolmode.square = Négyzet +toolmode.square.description = Négyzetes ecset. +toolmode.eraseores = Ércradír +toolmode.eraseores.description = Csak az érceket törli. +toolmode.fillteams = Csapatok kitöltése +toolmode.fillteams.description = Csapatok kitöltése a blokkok helyett. +toolmode.fillerase = Kitöltés törlése +toolmode.fillerase.description = Az azonos típusú blokkok törlése. +toolmode.drawteams = Csapatok rajzolása +toolmode.drawteams.description = Csapatok rajzolása blokkok helyett. +#Nem használt szövegek +toolmode.underliquid = Folyadékok alá +toolmode.underliquid.description = Padlók rajzolása a folyadékblokkok alá. + +filters.empty = [lightgray]Még nincs szűrÅ‘! Adj hozzá egyet a lenti gombra kattintva. + +filter.distort = Torzítás +filter.noise = Zaj +filter.enemyspawn = Ellenséges kezdÅ‘pont kiválasztása +filter.spawnpath = Útvonal a kezdÅ‘ponthoz +filter.corespawn = Támaszpont kiválasztása +filter.median = Medián +filter.oremedian = Érc medián +filter.blend = Vegyes +filter.defaultores = Alapértelmezett ércek +filter.ore = Érc +filter.rivernoise = Vízfolyás zaja +filter.mirror = Tükrözés +filter.clear = Törlés +filter.option.ignore = Elutasítás +filter.scatter = Szétszórás +filter.terrain = Domborzat +filter.logic = Logika + +filter.option.scale = Méretezés +filter.option.chance = Gyakoriság +filter.option.mag = Magnitúdó +filter.option.threshold = Küszöbérték +filter.option.circle-scale = Körskála +filter.option.octaves = Oktávok +filter.option.falloff = Esés +filter.option.angle = Szög +filter.option.tilt = Döntés +filter.option.rotate = Forgatás +filter.option.amount = Mennyiség +filter.option.block = Blokk +filter.option.floor = Talaj +filter.option.flooronto = Céltalaj +filter.option.target = Cél +filter.option.replacement = Csere +filter.option.wall = Fal +filter.option.ore = Érc +filter.option.floor2 = Másodlagos talaj +filter.option.threshold2 = Másodlagos küszöbérték +filter.option.radius = Sugár +filter.option.percentile = Százalék +filter.option.code = Kód +filter.option.loop = Hurok + +locales.info = Itt adhatsz hozzá különbözÅ‘ nyelvi csomagokat a pályádhoz. A nyelvi csomagokban minden tulajdonságnak van egy neve és egy értéke. Ezeket a tulajdonságokat a világprocesszorok és a pálya célkitűzései is használhatják a saját neveikkel. Támogatják a szövegformázást (a helyÅ‘rzÅ‘ket a tényleges értékükkel helyettesítik).\n\n[cyan]Példa tulajdonság:\n[]name: [accent]idÅ‘zítÅ‘[]\nvalue: [accent]Példa idÅ‘zítÅ‘, hátralévÅ‘ idÅ‘: {0}[]\n\n[cyan]Használat:\n[]Beállítás a pálya célkitűzésének szövegeként: [accent]@idÅ‘zítÅ‘\n\n[]Ãrd be egy világprocesszorba:\n[accent]localeprint „idÅ‘zítÅ‘â€\nformat time\n[gray](ahol az idÅ‘ egy külön számított változó) +locales.deletelocale = Biztosan törölni akarod ezt a nyelvi csomagot? +locales.applytoall = Változások alkalmazása az összes nyelvi csomagra +locales.addtoother = Hozzáadás más nyelvi csomagokhoz +locales.rollback = Visszaállítás az utoljára elfogadottra +locales.filter = TulajdonságszűrÅ‘ +locales.searchname = Név keresése… +locales.searchvalue = Érték keresése… +locales.searchlocale = Nyelvi csomag keresése… +locales.byname = Név szerint +locales.byvalue = Érték szerint +locales.showcorrect = Azon tulajdonságok megjelenítése, amelyek mindenhol egyedi értékekkel rendelkeznek és jelen vannak minden nyelvi csomagban. +locales.showmissing = Azon tulajdonságok megjelenítése, amelyek hiányoznak egyes nyelvi csomagokból +locales.showsame = Azon tulajdonságok megjelenítése, amelyek azonos értékekkel rendelkeznek különbözÅ‘ nyelvi csomagokban +locales.viewproperty = Megtekintés minden nyelvi csomagban +locales.viewing = A(z) „{0}†tulajdonság megtekintése +locales.addicon = Ikon hozzáadása width = Szélesség: height = Magasság: menu = Menü play = Játék -campaign = Kampány +campaign = Hadjárat load = Betöltés save = Mentés fps = FPS: {0} -ping = Ping: {0}ms -memory = Mem: {0}mb -memory2 = Mem:\n {0}mb +\n {1}mb -language.restart = Indítsa újra a játékot, hogy betöltÅ‘djenek a nyelvi beállítások. +ping = Ping: {0} ms +tps = TPS: {0} +memory = Mem: {0} MB +memory2 = Mem:\n {0} MB +\n {1} MB +language.restart = Indítsd újra a játékot, hogy a nyelvi beállítások érvénybe lépjenek. settings = Beállítások -tutorial = Tutorial -tutorial.retake = Re-Take Tutorial +tutorial = Oktatóanyag +tutorial.retake = Oktatóanyag újrajátszása editor = SzerkesztÅ‘ -mapeditor = Map szerkesztÅ‘ +mapeditor = PályaszerkesztÅ‘ -abandon = Abandon -abandon.text = This zone and all its resources will be lost to the enemy. +abandon = Feladás +abandon.text = Ez a szektor és minden nyersanyaga az ellenség kezére kerül. locked = Lezárva -complete = [lightgray]Complete: -requirement.wave = Reach Wave {0} in {1} -requirement.core = Destroy Enemy Core in {0} -requirement.research = Research {0} -requirement.produce = Produce {0} -requirement.capture = Capture {0} -launch.text = Indítás -research.multiplayer = Only the host can research items. -map.multiplayer = Only the host can view sectors. -uncover = Uncover -configure = Configure Loadout +complete = [lightgray]Feltételek: +requirement.wave = Juss el a(z) {0}. hullámig a(z) {1} szektorban +requirement.core = Pusztítsd el az ellenséges támaszpontot a(z) {0} szektorban +requirement.research = Fejleszd ki: {0} +requirement.produce = Gyártsd le: {0} +requirement.capture = Foglald el a(z) {0} szektort +requirement.onplanet = Szektor elfoglalása a(z) {0} bolygón +requirement.onsector = Landolj a(z) {0} szektorban +launch.text = Kilövés +map.multiplayer = Csak a kiszolgáló tekintheti meg a szektorokat. +uncover = Felfedés +configure = Rakomány szerkesztése -loadout = Loadout -resources = Resources -bannedblocks = Banned Blocks +objective.research.name = Fejlesztés +objective.produce.name = Megszerzés +objective.item.name = Nyersanyag megszerzése +objective.coreitem.name = Támaszpont nyersanyaga +objective.buildcount.name = Építésszámláló +objective.unitcount.name = Egységszámláló +objective.destroyunits.name = Egységek megsemmisítése +objective.timer.name = IdÅ‘zítÅ‘ +objective.destroyblock.name = Blokk megsemmisítése +objective.destroyblocks.name = Blokkok megsemmisítése +objective.destroycore.name = Támaszpont megsemmisítése +objective.commandmode.name = Parancs mód +objective.flag.name = JelölÅ‘ + +marker.shapetext.name = Szövegforma +marker.point.name = Pont +marker.shape.name = Alakzat +marker.text.name = Szöveg +marker.line.name = Vonal +marker.quad.name = Négyzet +marker.texture.name = Textúra + +marker.background = Háttér +marker.outline = Körvonal + +objective.research = [accent]Fejleszd ki:\n[]{0}[lightgray]{1} +objective.produce = [accent]Termelj:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Semmisítsd meg:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Semmisítsd meg: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Termelj: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Szállítás a támaszpontba:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Építs: [][lightgray]{0}[]db\n{1}[lightgray]{2} +objective.buildunit = [accent]Gyárts egységeket: [][lightgray]{0}[]db\n{1}[lightgray]{2} +objective.destroyunits = [accent]Semmisíts meg: [][lightgray]{0}[]db egységet +objective.enemiesapproaching = [accent]Ellenség érkezik: [lightgray]{0}[] mp múlva +objective.enemyescelating = [accent]Az ellenséges gyártás fokozódik: [lightgray]{0}[] mp múlva +objective.enemyairunits = [accent]Az ellenséges légi egységek gyártása elkezdÅ‘dik: [lightgray]{0}[] mp múlva +objective.destroycore = [accent]Semmisítsd meg az ellenséges támaszpontot +objective.command = [accent]Irányítsd az egységeket +objective.nuclearlaunch = [accent]âš  Rakétakilövés észlelve: [lightgray]{0} + +announce.nuclearstrike = [red]âš  BEÉRKEZÅ RAKÉTACSAPÃS âš \n[lightgray]Azonnal építs tartalék támaszpontokat! + +loadout = Rakomány +resources = Nyersanyagok +resources.max = Maximum +bannedblocks = Tiltott épületek +unbannedblocks = Újraengedélyezett épületek +objectives = Feladatok +bannedunits = Tiltott egységek +unbannedunits = Újraengedélyezett egységek +bannedunits.whitelist = Tiltott egységek engedélyezése +bannedblocks.whitelist = Tiltott épületek engedélyezése addall = Összes hozzáadása -launch.from = Launching From: [accent]{0} -launch.destination = Destination: {0} -configure.invalid = Amount must be a number between 0 and {0}. -add = Add... -boss.health = Guardian Health +launch.from = Kilövés a(z) [accent]{0} szektorból +launch.capacity = Nyersanyag-kapacitás a kilövéskor: [accent]{0} +launch.destination = Úti cél: {0} +landing.sources = Forrásszektorok: [accent]{0}[] +landing.import = Maximális összmennyiség: {0}[accent]{1}[lightgray]/perc +configure.invalid = A mennyiségnek 0 és {0} között kell lennie. +add = Hozzáadás… +guardian = ÅrzÅ‘ -connectfail = [scarlet]Csatlakozási hiba:\n\n[accent]{0} -error.unreachable = Server unreachable.\nIs the address spelled correctly? -error.invalidaddress = Invalid address. -error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! -error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! -error.alreadyconnected = Already connected. -error.mapnotfound = A map fájl nem található! +connectfail = [scarlet]Kapcsolódási hiba:\n\n[accent]{0} +error.unreachable = A kiszolgálót nem lehet elérni.\nBiztosan jól írtad be a címet? +error.invalidaddress = Érvénytelen cím. +error.timedout = IdÅ‘túllépés!\nGyÅ‘zÅ‘dj meg arról, hogy a porttovábbítás be van kapcsolva a kiszolgálógépen, és a cím helyes! +error.mismatch = Csomaghiba:\nLehetséges kliens- vagy kiszolgálóverzió-eltérés.\nGyÅ‘zÅ‘dj meg arról, hogy te és a kiszolgáló is a Mindustry legfrissebb verzióját használjátok! +error.alreadyconnected = Már kapcsolódva vagy. +error.mapnotfound = A pályafájl nem található! error.io = Internet I/O hiba. -error.any = Ismeretlen internet hiba. -error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.any = Ismeretlen hálózati hiba. +error.bloom = A bloom hatás elÅ‘készítése nem sikerült.\nElÅ‘fordulhat, hogy az eszköz nem támogatja. +error.moddex = A Mindustry nem tudja betölteni ezt a modot.\nAz eszközöd blokkolja a Java modok importálását az Android legújabb változásai miatt.\nEz a hiba nem lesz javítva, mert nincs ismert megoldás erre a problémára. -weather.rain.name = Rain -weather.snow.name = Snow -weather.sandstorm.name = Sandstorm -weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.rain.name = EsÅ‘ +weather.snowing.name = Hóesés +weather.sandstorm.name = Homokvihar +weather.sporestorm.name = Spóravihar +weather.fog.name = Köd -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: +campaign.playtime = \uf129 [lightgray]JátékidÅ‘ a szektorban: {0} +campaign.complete = [accent]Gratulálunk!\n\nLegyÅ‘zted az ellenséget a(z) {0} bolygón.\n[lightgray]Meghódítottad az utolsó szektor is. + +sectorlist = Szektorok +sectorlist.attacked = {0} támadás alatt +sectors.unexplored = [lightgray]Felderítetlen +sectors.resources = Nyersanyagok: +sectors.production = Termelés: sectors.export = Export: -sectors.time = IdÅ‘: -sectors.threat = Threat: -sectors.wave = Hullámok: -sectors.stored = Stored: +sectors.import = Import: +sectors.time = JátékidÅ‘ a szektorban: +sectors.threat = Fenyegetés: +sectors.wave = Hullám: +sectors.stored = Tárolt nyersanyagok: sectors.resume = Folytatás -sectors.launch = Launch +sectors.launch = Kilövés sectors.select = Kiválasztás -sectors.nonelaunch = [lightgray]none (sun) +sectors.launchselect = Célállomás kiválasztása +sectors.nonelaunch = [lightgray]semmi (nap) +sectors.redirect = Kilövőállások átirányítása sectors.rename = Szektor átnevezése sectors.enemybase = [scarlet]Ellenséges bázis -sectors.vulnerable = [scarlet]Vulnerable -sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged -sectors.survives = [accent]Survives {0} waves -sectors.go = Go -sector.curcapture = Sector Captured -sector.curlost = Elvesztett szektor -sector.missingresources = [scarlet]Insufficient Core Resources -sector.attacked = Sector [accent]{0}[white] under attack! -sector.lost = Sector [accent]{0}[white] lost! -#note: the missing space in the line below is intentional -sector.captured = Sector [accent]{0}[white]captured! +sectors.vulnerable = [scarlet]SebezhetÅ‘ +sectors.underattack = [scarlet]Támadás alatt! [accent]{0}%-ban sérült +sectors.underattack.nodamage = [scarlet]Nincs meghódítva +sectors.survives = [accent]Túlél {0} hullámot +sectors.go = Visszatérés +sector.abandon = Elhagyás +sector.abandon.confirm = Ebben a szektorban minden támaszpontod megsemmisül.\nBiztosan feladod ezt a szektort? +sector.curcapture = A szektor elfoglalva +sector.curlost = A szektor elveszett +sector.missingresources = [scarlet]Nincs elég nyersanyag +sector.attacked = A(z) [accent]{0}[white] szektor támadás alatt áll! +sector.lost = A(z) [accent]{0}[white] szektor elveszett! +sector.capture = A(z) [accent]{0}[white] szektor elfoglalva! +sector.capture.current = A szektor elfoglalva! +sector.changeicon = Ikon módosítása +sector.noswitch.title = A szektorváltás nem lehetséges +sector.noswitch = Nem válthatsz szektort, amíg egy meglévÅ‘ szektor támadás alatt áll.\n\nSzektor: [accent]{0}[] a(z) [accent]{1}[] bolygón +sector.view = A szektor megtekintése -threat.low = Gyenge +threat.low = Alacsony threat.medium = Közepes -threat.high = Nehéz +threat.high = Magas threat.extreme = Extrém -threat.eradication = Felszámolás +threat.eradication = Irtózatos -planets = Planets +difficulty.casual = Laza +difficulty.easy = Könnyű +difficulty.normal = Normál +difficulty.hard = Nehéz +difficulty.eradication = Irtózatos + +planets = Bolygók planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Nap -sector.impact0078.name = Impact 0078 -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass -sector.biomassFacility.name = Biomass Synthesis Facility -sector.windsweptIslands.name = Windswept Islands -sector.extractionOutpost.name = Extraction Outpost -sector.planetaryTerminal.name = Planetary Launch Terminal +sector.impact0078.name = 0078-as becsapódás +sector.groundZero.name = Becsapódási pont +sector.craters.name = A kráterek +sector.frozenForest.name = Fagyott erdÅ‘ +sector.ruinousShores.name = Romos partok +sector.stainedMountains.name = Foltos hegyek +sector.desolateRift.name = Kietlen hasadék +sector.nuclearComplex.name = Nukleáris termelési komplexum +sector.overgrowth.name = Túlburjánzás +sector.tarFields.name = KátránymezÅ‘k +sector.saltFlats.name = Sós síkságok +sector.fungalPass.name = Gombahágó +sector.biomassFacility.name = Biomassza-szintetizáló-létesítmény +sector.windsweptIslands.name = Szélfútta szigetek +sector.extractionOutpost.name = Kivonási helyÅ‘rség +sector.facility32m.name = 32M-es létesítmény +sector.taintedWoods.name = Szennyezett fák +sector.infestedCanyons.name = FertÅ‘zött kanyonok +sector.planetaryTerminal.name = Bolygó körüli kilövőállás +sector.coastline.name = Partvonal +sector.navalFortress.name = Haditengerészeti erÅ‘d +sector.polarAerodrome.name = Sarkvidéki légikikötÅ‘ +sector.atolls.name = Atollok +sector.testingGrounds.name = Gyakorlótér +sector.seaPort.name = Tengeri kikötÅ‘ +sector.weatheredChannels.name = Viharvert csatornák +sector.mycelialBastion.name = Micéliumbástya +sector.frontier.name = Frontvidék -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Mace units. Destroy it. -sector.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. -sector.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. -sector.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. -sector.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. -sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. -sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. -sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. -sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. -sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.groundZero.description = Az ideális helyszín, hogy ismét belekezdjünk. Alacsony ellenséges fenyegetés. Kevés nyersanyag.\nGyűjts annyi rezet és ólmot, amennyit csak tudsz.\nFolytasd a küldetést! +sector.frozenForest.description = Még itt, a hegyekhez közel is elterjedtek a spórák. A fagypont alatti hÅ‘mérséklet nem tudja örökké fogva tartani Å‘ket.\n\nFedezd fel az elektromosság erejét! Építs égetÅ‘erÅ‘műveket! Tanuld meg, hogyan használd a foltozókat! +sector.saltFlats.description = A sivatag peremén terülnek el a Sós síkságok. Kevés nyersanyag található errefelé.\n\nAz ellenség egy raktárkomplexumot létesített itt. Pusztítsd el a támaszpontjukat! KÅ‘ kövön ne maradjon! +sector.craters.description = Víz gyűlt össze ebben a kráterben, amely régi háborúk emlékét Å‘rzi. Szerezd vissza a területet. Gyűjts homokot! Olvassz üveget, és szivattyúzz vizet a fúróid és lövegtornyaid hűtéséhez! +sector.ruinousShores.description = A pusztaság mögött a partvonal húzódik. Valaha ezen a helyen egy partvédelmi rendszer állt. Nem sok minden maradt belÅ‘le. Csak a legalapvetÅ‘bb védelmi szerkezetek maradtak érintetlenül, minden más csak törmelék lett.\nFolytasd a terjeszkedést! Fedezd fel újra a technológiát! +sector.stainedMountains.description = Mélyebben a szárazföldön fekszenek a hegyek, a spóráktól még érintetlenül.\nTermeld ki a bÅ‘séges titán készleteket a körzetben. Tanuld meg felhasználni!\n\nAz ellenség itt nagyobb létszámban van jelen. Ne hagyj nekik idÅ‘t, hogy a legerÅ‘sebb egységeiket hadba állíthassák! +sector.overgrowth.description = Ez a terület közelebb esik a spórák forrásához, a spórák már kinÅ‘tték.\nAz ellenség egy helyÅ‘rséget létesített itt. Építs Mace egységeket! Pusztítsd el a bázist! +sector.tarFields.description = Egy olajtermelÅ‘ övezet peremvidéke a hegyek és a sivatag határán. Egy azon kevés szektorok közül, ahol még hasznosítható kátránykészletek találhatók.\nBár a terület elhagyatott, veszélyes ellenséges erÅ‘k fészkelnek a közelben. Ne becsüld alá Å‘ket!\n\n[lightgray]Fedezd fel az olajfeldolgozási lehetÅ‘ségeket, ha tudod! +sector.desolateRift.description = Ez egy rendkívül veszélyes zóna. Bár nyersanyagokban gazdag, kevés hely áll rendelkezésre. Magas a kockázat. Építs szárazföldi és légvédelmet, amint csak tudsz. Ne tévesszen meg a hosszú szünet az ellenség támadásai között. +sector.nuclearComplex.description = Egy néhai tóriumkitermelÅ‘ és feldolgozó létesítmény, romokban.\n[lightgray]Fedezd fel a tóriumot és a sokrétű felhasználását!\n\nAz ellenség nagy létszámban van jelen, és folyamatosan megfigyelés alatt tartják a környéket. +sector.fungalPass.description = Ãtmeneti terület a magas hegyek és a mélyebben fekvÅ‘, spórák uralta lapály között. Egy kisebb ellenséges megfigyelÅ‘ állomás található itt.\nSemmisítsd meg!\nHasználj Dagger és Crawler egységeket! Pusztítsd el a két támaszpontot! +sector.biomassFacility.description = A spórák származási helye. Ebben a létesítményben fejlesztették ki Å‘ket, és eredetileg itt is gyártották Å‘ket.\nFedezd fel az itt található technológiákat. Tenyészd ki a spórákat, és használd Å‘ket üzemanyagok vagy műanyagok gyártásához.\n\n[lightgray]A létesítmény pusztulása nyomán a spórák elszabadultak és szétszóródtak a légkörben. A helyi ökoszisztémában semmi sem tudta felvenni a versenyt egy ennyire invazív életformával. +sector.windsweptIslands.description = Távolabb, a partvonalon túl fekszik ez az elszigetelt szigetcsoport. A feljegyzések szerint egykor [accent]műanyagot[] gyártottak itt.\n\nVerd vissza az ellenség vízi egységeit! Ãllíts fel egy bázist a szigeteken! Fedezd fel az itt talált gyárakat! +sector.extractionOutpost.description = Egy távoli ellenséges támaszpont, amelyet az ellenség azért épített, hogy nyersanyagokat juttasson el más szektorokba.\n\nA szektorok közötti szállítási technológia elengedhetetlen a további hódításhoz. Pusztítsd el a bázist. Fejleszd ki a kilövőállást. +sector.impact0078.description = Itt nyugszanak az ebbe a csillagrendszerbe érkezÅ‘ elsÅ‘ csillagközi űrhajó maradványai.\n\nMents ki mindent a romok alól, amit csak lehet. Fedezd fel az épségben maradt technológiákat. +sector.planetaryTerminal.description = A végsÅ‘ célpont.\n\nEzen a vízparti bázison egy olyan építmény található, amely képes támaszpontokat kilÅ‘ni a közeli bolygókra. Rendkívül jól Å‘rzik.\n\nGyárts vízi egységeket, és semmisítsd meg az ellenséget a lehetÅ‘ leggyorsabban! Találd meg a kilövÅ‘szerkezetet! +sector.coastline.description = Ezen a helyen egy haditengerészeti egység technológiájának maradványait azonosították. Verd vissza az ellenséges támadásokat, foglald el ezt a szektort, és szerezd meg a technológiát. +sector.navalFortress.description = Az ellenség bázist létesített egy távoli, természetes erÅ‘dítményes szigeten. Pusztítsd el ezt az előőrsöt. Szerezd meg a fejlett hadihajó-technológiájukat, és fejleszd ki te is. +sector.cruxscape.name = Zord vidék +sector.geothermalStronghold.name = Geotermikus erÅ‘dítmény + +#A következÅ‘ sorokat ne fordítsd le! +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = A kezdet +sector.aegis.name = Égisz +sector.lake.name = Tó +sector.intersect.name = Metszéspont +sector.atlas.name = Atlasz +sector.split.name = Hasadék +sector.basin.name = Medence +sector.marsh.name = Mocsár +sector.peaks.name = Csúcsok +sector.ravine.name = Szurdok +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = ErÅ‘dítmény +sector.crevice.name = Repedés +sector.siege.name = Ostrom +sector.crossroads.name = Keresztutak +sector.karst.name = Karszt +sector.origin.name = Eredet + +sector.onset.description = Kezdd meg az Erekir meghódítását. Gyűjts nyersanyagokat, állíts elÅ‘ egységeket, és kezdd el a technológiai fejlesztéseket. +sector.aegis.description = Ez a szektor volfrám-lelÅ‘helyeket tartalmaz.\nFejleszd ki az [accent]ütvefúrót[], hogy ki tudd bányászni ezt a nyersanyagot, és pusztítsd el az ellenséges bázist a szektorban. +sector.lake.description = Az ebben a szektorban lévÅ‘ salakos tó nagymértékben korlátozza a használható egységeket. A lebegÅ‘egységek használata az egyetlen lehetÅ‘ség.\nFejleszd ki a [accent]repülÅ‘gépgyártót[], és állíts elÅ‘ egy [accent]Elude[] egységet, amilyen hamar csak lehet. +sector.intersect.description = A letapogatások arra utalnak, hogy ezt a szektort a leszállás után hamarosan több oldalról is megtámadják.\nÃllítsd fel gyorsan a védelmedet, és terjeszkedj minél gyorsabban.\n[accent]Mech[] egységekre lesz szükség a terület zord terepviszonyai miatt. +sector.atlas.description = Ez a szektor változatos tereppel rendelkezik, ezért az ütÅ‘képes támadáshoz többféle egységre lesz szükség.\nAz itt felfedezett ellenséges bázisok némelyikén való átjutáshoz is továbbfejlesztett egységekre lehet szükség.\nFejleszd ki az [accent]elektrolizátort[] és a [accent]TankújratervezÅ‘t[]. +sector.split.description = A minimális ellenséges jelenlét miatt ez a szektor tökéletes az új nyersanyagszállító technológiák tesztelésére. +sector.basin.description = JelentÅ‘s ellenséges jelenlét lett érzékelve ebben a szektorban.\nÉpíts gyorsan egységeket, és foglald el az ellenséges támaszpontokat, hogy megvethesd a lábad. +sector.marsh.description = Ebben a szektorban rengeteg arkicit található, de kevés a kürtÅ‘.\nÉpíts [accent]kémiai égetÅ‘kamrát[] az áramfejlesztéshez. +sector.peaks.description = A hegyvidéki terep ebben a szektorban a legtöbb egységet használhatatlanná teszi. Légi egységekre lesz szükség.\nVigyázz az ellenséges légvédelmi létesítményekkel. Lehetséges, hogy az ilyen létesítményeket hatástalanítani lehet a támogató épületeik célba vételével. +sector.ravine.description = A szektorban nem észlelhetÅ‘ ellenséges támaszpont, de ez egy fontos szállítási útvonal az ellenség számára, így változatos ellenséges erÅ‘kkel kell számolni.\nTermelj [accent]elektrometált[]. Építs [accent]Afflict[] lövegtornyokat. +sector.caldera-erekir.description = Ebben a szektorban a feltárható nyersanyagok több szigeten szétszóródva találhatók.\nFejleszd ki és helyezd üzembe a drónalapú szállítmányozást. +sector.stronghold.description = A nagy ellenséges tábor ebben a szektorban jelentÅ‘s mennyiségű [accent]tóriumot[] Å‘riz.\nHasználd magasabb szintű egységek és lövegtornyok fejlesztésére. +sector.crevice.description = Ebben a szektorban az ellenség kegyetlen támadóerÅ‘ket fog mozgósítani, hogy kiiktassa a bázisodat.\nA [accent]karbid[] és a [accent]pirolízis-erÅ‘mű[] kifejlesztése nélkülözhetetlen lehet a túléléshez. +sector.siege.description = Ebben a szektorban két párhuzamos kanyon található, amelyek két irányból érkezÅ‘ támadásokat tesznek lehetÅ‘vé.\nFejleszd ki a [accent]diciánt[], hogy még erÅ‘sebb tankegységeket hozhass létre.\nVigyázat: ellenséges, nagy hatótávolságú rakéták észlelve. A rakéták a becsapódásuk elÅ‘tt megsemmisíthetÅ‘k. +sector.crossroads.description = Az ellenséges támaszpontok ebben a szektorban változó terepviszonyok között alakultak ki. Ahhoz, hogy alkalmazkodni tudj, fejlessz ki különbözÅ‘ egységeket.\nEzenkívül egyes bázisokat erÅ‘pajzsok védenek. Találd ki, hogyan táplálják Å‘ket. +sector.karst.description = Ez a szektor gazdag a nyersanyagokban, de amint egy új támaszpont leszáll, az ellenség megtámadja azt.\nHasználd ki a nyersanyagokat és fedezd fel a [accent]tóritkvarcot[]. +sector.origin.description = Az utolsó szektor, jelentÅ‘s ellenséges jelenléttel.\nNem valószínű, hogy maradtak további fejlesztési lehetÅ‘ségek – koncentrálj az ellenséges támaszpontok elpusztítására. + +status.burning.name = ÉgÅ‘ +status.freezing.name = Fagyos +status.wet.name = Nedves +status.muddy.name = Sáros +status.melting.name = Olvadó +status.sapped.name = Kiszáradt +status.electrified.name = Elektromos +status.spore-slowed.name = Spórával lassított +status.tarred.name = Kátrányozott +status.overdrive.name = Túlhajtás +status.overclock.name = Túlhúzás +status.shocked.name = Sokkolt +status.blasted.name = Felrobbant +status.unmoving.name = Mozdulatlan +status.boss.name = ÅrzÅ‘ settings.language = Nyelvek -settings.data = Játék adatok -settings.reset = Visszaállítás az alapértelmezett értékekre -settings.rebind = Rebind -settings.resetKey = Visszaállítás +settings.data = Játékadatok +settings.reset = Alapértelmezett +settings.rebind = Ãtállítás +settings.resetKey = Vissza-\nállítás settings.controls = Irányítás settings.game = Játék settings.sound = Hangok settings.graphics = Grafika -settings.cleardata = Játék adatok törlése... -settings.clear.confirm = Biztosan törli ezeket az adatokat?\n A végrehajtottakat nem lehet visszavonni! -settings.clearall.confirm = [scarlet] FIGYELEM! []\n Ez törli az összes adatot, beleértve a mentéseket, a térképeket, a feloldásokat és a billentyűzárakat.\n Amint megnyomja az 'OK' gombot, a játék minden adatot töröl és automatikusan kilép. -settings.clearsaves.confirm = Biztosan törli az összes mentést? +settings.cleardata = Játékadatok törlése… +settings.clear.confirm = Biztosan törlöd ezeket az adatokat?\nEzt a műveletet nem lehet visszavonni! +settings.clearall.confirm = [scarlet]FIGYELEM![]\nEz törli az összes adatot, beleértve a mentéseket, pályákat, felfedezéseket és a billentyűbeállításokat.\nAz „OK†gomb megnyomásával a játék minden adatot töröl, és automatikusan kilép. +settings.clearsaves.confirm = Biztosan törlöd az összes mentést? settings.clearsaves = Mentések törlése -settings.clearresearch = Kutatások törlése -settings.clearresearch.confirm = Biztosan törli az összes kutatást? -settings.clearcampaignsaves = Kampány mentések törlése -settings.clearcampaignsaves.confirm = Biztosan törli az összes kampány mentést? -paused = [accent]< Megállítva > +settings.clearresearch = Fejlesztések törlése +settings.clearresearch.confirm = Biztosan törlöd az összes fejlesztést? +settings.clearcampaignsaves = Hadjáratmentések törlése +settings.clearcampaignsaves.confirm = Biztosan törlöd az összes hadjáratmentést? +paused = [accent]< Szünet > clear = Törlés banned = [scarlet]Kitiltva +unsupported.environment = [scarlet]Nem támogatott környezet yes = Igen no = Nem -info.title = Infó +info.title = Információ error.title = [scarlet]Hiba történt error.crashtitle = Hiba történt unit.nobuild = [scarlet]Az egység nem tud építeni lastaccessed = [lightgray]Utoljára megtekintve: {0} +lastcommanded = [lightgray]Utoljára irányítva: {0} block.unknown = [lightgray]??? -stat.description = Célja -stat.input = Input -stat.output = Output -stat.booster = Booster -stat.tiles = Required Tiles -stat.affinities = Affinities -stat.powercapacity = Power Capacity -stat.powershot = Power/Shot -stat.damage = Damage -stat.targetsair = Targets Air -stat.targetsground = Targets Ground -stat.itemsmoved = Move Speed -stat.launchtime = Time Between Launches -stat.shootrange = Range -stat.size = Size -stat.displaysize = Display Size -stat.liquidcapacity = Liquid Capacity -stat.powerrange = Power Range -stat.linkrange = Link Range -stat.instructions = Instructions -stat.powerconnections = Max Connections -stat.poweruse = Power Use -stat.powerdamage = Power/Damage -stat.itemcapacity = Item Capacity -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = Base Power Generation -stat.productiontime = Production Time -stat.repairtime = Block Full Repair Time -stat.weapons = Weapons -stat.bullet = Bullet -stat.speedincrease = Speed Increase -stat.range = Range -stat.drilltier = Drillables -stat.drillspeed = Base Drill Speed -stat.boosteffect = Boost Effect -stat.maxunits = Max Active Units -stat.health = Health -stat.buildtime = Build Time -stat.maxconsecutive = Max Consecutive -stat.buildcost = Build Cost -stat.inaccuracy = Inaccuracy -stat.shots = Shots -stat.reload = Shots/Second -stat.ammo = Ammo -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = Heat Capacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities -stat.canboost = Can Boost -stat.flying = Flying -stat.ammouse = Ammo Use +stat.showinmap = +stat.description = Rendeltetés +stat.input = Bemenet +stat.output = Kimenet +stat.maxefficiency = Maximális hatásfok +stat.booster = ErÅ‘sítÅ‘ +stat.tiles = Szükséges talaj +stat.affinities = Módosító körülmények +stat.opposites = Ellentettek +stat.powercapacity = Maximális tárolási kapacitás +stat.powershot = Ãram/lövés +stat.damage = Sebzés +stat.targetsair = Légi célpontok +stat.targetsground = Földi célpontok +stat.itemsmoved = Szállítási sebesség +stat.launchtime = Kilövések közötti idÅ‘ +stat.shootrange = Hatótávolság +stat.size = Méret +stat.displaysize = Felbontás +stat.liquidcapacity = Folyadékkapacitás +stat.powerrange = Hatótávolság +stat.linkrange = Kapcsolat hatótávolsága +stat.instructions = Utasítások +stat.powerconnections = Max. kapcsolatok +stat.poweruse = Ãramfogyasztás +stat.powerdamage = Ãram/sebzés +stat.itemcapacity = Nyersanyag-kapacitás +stat.memorycapacity = Memóriakapacitás +stat.basepowergeneration = Alap áramtermelés +stat.productiontime = Gyártási idÅ‘ +stat.repairtime = Teljes javítási idÅ‘ +stat.repairspeed = Javítási sebesség +stat.weapons = Fegyverek +stat.bullet = Lövedék +stat.moduletier = Modul szintje +stat.unittype = Egység típusa +stat.speedincrease = Gyorsítás +stat.range = Hatótávolság +stat.drilltier = KitermelhetÅ‘k +stat.drillspeed = Alap termelési sebesség +stat.boosteffect = ErÅ‘sítés hatása +stat.maxunits = Max. aktív egységek +stat.health = Életpontok +stat.armor = Páncél +stat.buildtime = Építési idÅ‘tartam +stat.maxconsecutive = Max. egymást követÅ‘ +stat.buildcost = Építési költség +stat.inaccuracy = Pontatlanság +stat.shots = Lövések +stat.reload = Tüzelési sebesség +stat.ammo = LÅ‘szer +stat.shieldhealth = ErÅ‘pajzs életereje +stat.cooldowntime = Újratöltés idÅ‘tartama +stat.explosiveness = Robbanékonyság +stat.basedeflectchance = Alap hárítási esély +stat.lightningchance = Villámlás esélye +stat.lightningdamage = Villámlás sebzése +stat.flammability = ÉghetÅ‘ség +stat.radioactivity = Radioaktivitás +stat.charge = Töltés +stat.heatcapacity = HÅ‘kapacitás +stat.viscosity = Viszkozitás +stat.temperature = HÅ‘mérséklet +stat.speed = Sebesség +stat.buildspeed = Építési sebesség +stat.minespeed = Termelési sebesség +stat.minetier = Termelési szint +stat.payloadcapacity = Raktérkapacitás +stat.abilities = Képességek +stat.canboost = ErÅ‘síthetÅ‘ +stat.flying = Repül +stat.ammouse = LÅ‘szerhasználat +stat.ammocapacity = LÅ‘szerkapacitás +stat.damagemultiplier = Sebzésszorzó +stat.healthmultiplier = ÉleterÅ‘szorzó +stat.speedmultiplier = Sebességszorzó +stat.reloadmultiplier = Újratöltési szorzó +stat.buildspeedmultiplier = Építési sebességszorzó +stat.reactive = Reakciók +stat.immunities = Immunitások +stat.healing = Gyógyulás +stat.efficiency = [stat]{0}% Hatásfok -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field -ability.movelightning = Movement Lightning +ability.forcefield = ErÅ‘pajzs +ability.forcefield.description = Olyan erÅ‘pajzsot vetít ki, amely elnyeli a lövedékeket +ability.repairfield = Javító mezÅ‘ +ability.repairfield.description = Megjavítja a közeli egységeket +ability.statusfield = ÃllapotmezÅ‘ +ability.statusfield.description = Ãllapothatást alkalmaz a közeli egységekre +ability.unitspawn = Gyár +ability.unitspawn.description = Egységeket gyárt +ability.shieldregenfield = ErÅ‘pajzs-regeneráló mezÅ‘ +ability.shieldregenfield.description = Regenerálja a közeli egységek erÅ‘pajzsát +ability.movelightning = Villámcsapás +ability.movelightning.description = Mozgás közben villámokat bocsát ki +ability.armorplate = Páncéllemez +ability.armorplate.description = Csökkenti a kapott sebzést lövés közben +ability.shieldarc = ErÅ‘pajzs-ív +ability.shieldarc.description = Olyan erÅ‘pajzsot vetít ki egy ívben, amely elnyeli a lövedékeket +ability.suppressionfield = Javítás elnyomása +ability.suppressionfield.description = Leállítja a közeli javítóépületeket +ability.energyfield = EnergiamezÅ‘ +ability.energyfield.description = Megrázza a közeli ellenségeket +ability.energyfield.healdescription = Megrázza a közeli ellenségeket, és gyógyítja a szövetségeseket +ability.regen = Regeneráció +ability.regen.description = IdÅ‘vel regenerálja a saját életerejét +ability.liquidregen = Folyadékelnyelés +ability.liquidregen.description = Folyadékot nyel el, hogy gyógyítsa magát +ability.spawndeath = Szétesés +ability.spawndeath.description = Megsemmisülésekor egységeket bocsát ki +ability.liquidexplode = Szétömlés +ability.liquidexplode.description = Megsemmisülésekor folyadék ömlik ki belÅ‘le -bar.drilltierreq = Better Drill Required -bar.noresources = Missing Resources -bar.corereq = Core Base Required -bar.drillspeed = Drill Speed: {0}/s -bar.pumpspeed = Pump Speed: {0}/s -bar.efficiency = Efficiency: {0}% -bar.powerbalance = Power: {0}/s -bar.powerstored = Stored: {0}/{1} -bar.poweramount = Power: {0} -bar.poweroutput = Power Output: {0} -bar.powerlines = Connections: {0}/{1} -bar.items = Items: {0} -bar.capacity = Capacity: {0} +ability.stat.firingrate = [stat]{0}/mp[lightgray] tüzelési sebesség +ability.stat.regen = [stat]{0}[lightgray] életerÅ‘/mp +ability.stat.pulseregen = [stat]{0}[lightgray] életerÅ‘/impulzus +ability.stat.shield = [stat]{0}[lightgray] maximális pajzs +ability.stat.repairspeed = [stat]{0}/mp[lightgray] javítási sebesség +ability.stat.slurpheal = [stat]{0}[lightgray] életerÅ‘/folyadékegység +ability.stat.cooldown = [stat]{0} mp[lightgray] újratöltÅ‘dés +ability.stat.maxtargets = [stat]{0}[lightgray] max. célpont +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] javítási mennyiség (azonos típusnál) +ability.stat.damagereduction = [stat]{0}%[lightgray] sebzéscsökkentés +ability.stat.minspeed = [stat]{0} mezÅ‘/mp[lightgray] min. sebesség +ability.stat.duration = [stat]{0} mp[lightgray] idÅ‘tartam +ability.stat.buildtime = [stat]{0} mp[lightgray] építési idÅ‘ + +bar.onlycoredeposit = Nyersanyagtárolás csak a támaszpontban. +bar.drilltierreq = ErÅ‘sebb fúró szükséges +bar.nobatterypower = Alacsony akkumulátor-töltöttség +bar.noresources = Hiányzó nyersanyagok +bar.corereq = Támaszpont szükséges +bar.corefloor = Támaszpont-zónamezÅ‘ szükséges +bar.cargounitcap = Az egység raktere megtelt +bar.drillspeed = Termelés: {0}/mp +bar.pumpspeed = Termelés: {0}/mp +bar.efficiency = Hatásfok: {0}% +bar.boost = ErÅ‘sítés: +{0}% +bar.powerbuffer = Akkumulátorok: {0}/{1} +bar.powerbalance = Ãram: {0}/mp +bar.powerstored = Eltárolva: {0}/{1} +bar.poweramount = Kapacitás: {0} +bar.poweroutput = Ãramtermelés: {0} +bar.powerlines = Kapcsolatok: {0}/{1} +bar.items = Nyersanyagok: {0} +bar.capacity = Tárhely: {0} bar.unitcap = {0} {1}/{2} -bar.liquid = Liquid -bar.heat = Heat -bar.power = Power -bar.progress = Build Progress -bar.input = Input -bar.output = Output +bar.liquid = Folyadék +bar.heat = HÅ‘ +bar.cooldown = Lehűlés +bar.instability = Instabilitás +bar.heatamount = HÅ‘: {0} +bar.heatpercent = HÅ‘: {0} ({1}%) +bar.power = Ãram +bar.progress = Építés állapota +bar.loadprogress = Ãllapot +bar.launchcooldown = Kilövés visszaszámlálása +bar.input = Bemenet +bar.output = Kimenet +bar.strength = [stat]{0}[lightgray]x erÅ‘ -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Processzorvezérelt -bullet.damage = [stat]{0}[lightgray] damage -bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles -bullet.incendiary = [stat]incendiary -bullet.sapping = [stat]sapping -bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag -bullet.buildingdamage = [stat]{0}%[lightgray] building damage -bullet.knockback = [stat]{0}[lightgray] knockback -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.healpercent = [stat]{0}[lightgray]% healing -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred -bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier -bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.damage = [stat]{0}[lightgray] sebzés +bullet.splashdamage = [stat]{0}[lightgray] területi sebzés ~[stat] {1}[lightgray] mezÅ‘ +bullet.incendiary = [stat]gyújtó +bullet.homing = [stat]nyomkövetÅ‘ +bullet.armorpierce = [stat]páncéltörÅ‘ +bullet.maxdamagefraction = [stat]{0}%[lightgray] sebzési határérték +bullet.suppression = [stat]{0} mp[lightgray] javításelnyomás ~[stat]{1}[lightgray] mezÅ‘ +bullet.interval = [stat]{0}/mp[lightgray] gyakoriságú lövedékek: +bullet.frags = [stat]{0}[lightgray]db repeszlövedék: +bullet.lightning = [stat]{0}[lightgray]db villámcsapás ~[stat]{1}[lightgray] sebzés +bullet.buildingdamage = [stat]{0}%[lightgray] épületsebzés +bullet.shielddamage = [stat]{0}%[lightgray] pajzssebzés +bullet.knockback = [stat]{0}[lightgray] hátralökés +bullet.pierce = [stat]{0}[lightgray]x átütÅ‘ erÅ‘ +bullet.infinitepierce = [stat]átütÅ‘ erÅ‘ +bullet.healpercent = [stat]{0}%[lightgray] javítás +bullet.healamount = [stat]{0}[lightgray] közvetlen javítás +bullet.multiplier = [stat]{0}[lightgray] lÅ‘szer/nyersanyag +bullet.reload = [stat]{0}%[lightgray] tüzelési sebesség +bullet.range = [stat]{0}[lightgray] mezÅ‘s hatótávolság +bullet.notargetsmissiles = [stat] Nem veszi célba a rakétákat +bullet.notargetsbuildings = [stat] Nem veszi célba az épületeket -unit.blocks = blocks -unit.blockssquared = blocks² -unit.powersecond = power units/second -unit.liquidsecond = liquid units/second -unit.itemssecond = items/second -unit.liquidunits = liquid units -unit.powerunits = power units -unit.degrees = degrees -unit.seconds = seconds -unit.minutes = mins -unit.persecond = /sec -unit.perminute = /min -unit.timesspeed = x speed +unit.blocks = blokk +unit.blockssquared = blokk² +unit.powersecond = áramegység/mp +unit.tilessecond = mezÅ‘/mp +unit.liquidsecond = folyadékegység/mp +unit.itemssecond = nyersanyag/mp +unit.liquidunits = folyadékegység +unit.powerunits = áramegység +unit.heatunits = hÅ‘egység +unit.degrees = fok +unit.seconds = másodperc +unit.minutes = perc +unit.persecond = /mp +unit.perminute = /perc +unit.timesspeed = x sebesség +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health -unit.items = items +unit.shieldhealth = erÅ‘pajzs életereje +unit.items = nyersanyag unit.thousands = k unit.millions = mil -unit.billions = b -unit.pershot = /shot -category.purpose = Purpose -category.general = General -category.power = Power -category.liquids = Liquids -category.items = Items -category.crafting = Input/Output -category.function = Function -category.optional = Optional Enhancements -setting.landscape.name = Lock Landscape +unit.billions = Mrd +unit.shots = lövés +unit.pershot = /lövés +category.purpose = Rendeltetés +category.general = Ãltalános +category.power = Ãram +category.liquids = Folyadékok +category.items = Nyersanyagok +category.crafting = Bemenet/kimenet +category.function = Funkció +category.optional = Lehetséges fejlesztések +setting.alwaysmusic.name = Folyamatos zenelejátszás +setting.alwaysmusic.description = Amikor engedélyezve van, akkor a zene folyamatosan szól a játékban.\nHa ki van kapcsolva, akkor csak véletlenszerű idÅ‘közönként szólal meg. +setting.skipcoreanimation.name = Támaszpont kilövés/leszállás animáció kihagyása +setting.landscape.name = FekvÅ‘ mód zárolása setting.shadows.name = Ãrnyékok -setting.blockreplace.name = Automatikus blokk javaslatok +setting.blockreplace.name = Automatikus blokkjavaslatok setting.linear.name = Lineáris szűrés -setting.hints.name = Tippek -setting.flow.name = Az erÅ‘forrás áramlási sebességének megjelenítése -setting.backgroundpause.name = Szünet a háttérben +setting.hints.name = Tanácsok +setting.logichints.name = Logikai tanácsok +setting.backgroundpause.name = Szüneteltetés a háttérben setting.buildautopause.name = Automatikus szünet építéskor -setting.animatedwater.name = Animált víz -setting.animatedshields.name = Animált pajzsok -setting.antialias.name = Antialias[lightgray] (újra kell indítani)[] -setting.playerindicators.name = Player Indicators -setting.indicators.name = Enemy Indicators -setting.autotarget.name = Auto-Target -setting.keyboard.name = Mouse+Keyboard Controls -setting.touchscreen.name = Touchscreen Controls -setting.fpscap.name = Max FPS -setting.fpscap.none = None +setting.doubletapmine.name = Bányászás dupla kattintással/koppintással +setting.commandmodehold.name = Lenyomva tartás a parancs módhoz +setting.distinctcontrolgroups.name = Egységenként legfeljebb egy vezérlÅ‘csoport +setting.modcrashdisable.name = Modok letiltása indításkori összeomláskor +setting.animatedwater.name = Animált felületek +setting.animatedshields.name = Animált erÅ‘pajzsok +setting.playerindicators.name = JátékosjelzÅ‘k +setting.indicators.name = EllenségjelzÅ‘k +setting.autotarget.name = Automatikus célzás +setting.keyboard.name = Irányítás egérrel és billentyűzettel +setting.touchscreen.name = Irányítás érintÅ‘képernyÅ‘vel +setting.fpscap.name = FPS-korlát +setting.fpscap.none = Nincs setting.fpscap.text = {0} FPS -setting.uiscale.name = UI Scaling[lightgray] (restart required)[] -setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = Training -setting.difficulty.easy = Könnyű -setting.difficulty.normal = közepes -setting.difficulty.hard = Nehéz -setting.difficulty.insane = Årült -setting.difficulty.name = Nehézség: -setting.screenshake.name = Screen Shake -setting.effects.name = Display Effects -setting.destroyedblocks.name = Display Destroyed Blocks -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Conveyor Placement Pathfinding -setting.sensitivity.name = Controller Sensitivity -setting.saveinterval.name = Save Interval -setting.seconds = {0} seconds -setting.milliseconds = {0} milliseconds -setting.fullscreen.name = Fullscreen -setting.borderlesswindow.name = Borderless Window[lightgray] (restart may be required) -setting.fps.name = Show FPS & Ping -setting.smoothcamera.name = Smooth Camera +setting.uiscale.name = Felület méretezése +setting.uiscale.description = A módosítások érvénybe lépéséhez újraindítás szükséges. +setting.swapdiagonal.name = Mindig átlós elhelyezés +setting.screenshake.name = KépernyÅ‘ rázkódása +setting.bloomintensity.name = Bloom intenzitása +setting.bloomblur.name = Bloom elmosása +setting.effects.name = Hatások megjelenítése +setting.destroyedblocks.name = Lerombolt építmények megjelenítése +setting.blockstatus.name = Blokkok állapotának megjelenítése +setting.conveyorpathfinding.name = Szállítószalag útvonalkeresése építéskor +setting.sensitivity.name = Kontroller érzékenysége +setting.saveinterval.name = Mentési idÅ‘köz +setting.seconds = {0} másodperc +setting.milliseconds = {0} ezredmásodperc +setting.fullscreen.name = Teljes képernyÅ‘ +setting.borderlesswindow.name = Keret nélküli ablak +setting.borderlesswindow.name.windows = Keret nélküli teljes képernyÅ‘ +setting.borderlesswindow.description = A változtatások érvénybe lépéséhez újraindításra lehet szükség. +setting.fps.name = FPS, memóriahasználat és ping megjelenítése +setting.console.name = Konzol engedélyezése +setting.smoothcamera.name = Egyenletes kamera setting.vsync.name = VSync -setting.pixelate.name = Pixelate -setting.minimap.name = Show Minimap -setting.coreitems.name = Display Core Items -setting.position.name = Show Player Position -setting.musicvol.name = Music Volume -setting.atmosphere.name = Show Planet Atmosphere -setting.ambientvol.name = Ambient Volume -setting.mutemusic.name = Mute Music -setting.sfxvol.name = SFX Volume -setting.mutesound.name = Mute Sound -setting.crashreport.name = Send Anonymous Crash Reports -setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility -setting.playerlimit.name = Player Limit -setting.chatopacity.name = Chat Opacity -setting.lasersopacity.name = Power Laser Opacity -setting.bridgeopacity.name = Bridge Opacity -setting.playerchat.name = Display Player Bubble Chat -setting.showweather.name = Show Weather Graphics -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. -public.confirm.really = If you want to play with friends, use [green]Invite Friend[] instead of a [scarlet]Public server[]!\nAre you sure you want to make your game [scarlet]public[]? -public.beta = Note that beta versions of the game cannot make public lobbies. -uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds... -uiscale.cancel = Cancel & Exit +setting.pixelate.name = Pixelesítés +setting.minimap.name = Minitérkép megjelenítése +setting.coreitems.name = Támaszpontban lévÅ‘ nyersanyagok megjelenítése +setting.position.name = Játékos pozíciójának megjelenítése +setting.mouseposition.name = Egér pozíciójának megjelenítése +setting.musicvol.name = Zene hangereje +setting.atmosphere.name = Bolygóatmoszféra megjelenítése +setting.drawlight.name = Sötét/világos fényhatások +setting.ambientvol.name = Környezeti hangerÅ‘ +setting.mutemusic.name = Zene némítása +setting.sfxvol.name = Hanghatások hangereje +setting.mutesound.name = Hang némítása +setting.crashreport.name = Névtelen összeomlási jelentések +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Automatikus mentés +setting.steampublichost.name = Nyilvános játék láthatósága +setting.playerlimit.name = Játékoskorlát +setting.chatopacity.name = CsevegÅ‘ átlátszatlansága +setting.lasersopacity.name = Villanyvezeték átlátszatlansága +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Híd átlátszatlansága +setting.playerchat.name = Játékosok csevegÅ‘buborékainak megjelenítése +setting.showweather.name = IdÅ‘járás-grafika megjelenítése +setting.hidedisplays.name = Logikai kijelzÅ‘k elrejtése +setting.macnotch.name = A felület igazítása a kijelzÅ‘ bevágásához +setting.macnotch.description = A változtatások érvénybe lépéséhez újraindítás szükséges +steam.friendsonly = Csak barátok +steam.friendsonly.tooltip = Csak a Steam-barátok tudnak kapcsolódni a játékodhoz.\nHa nem jelölöd be ezt a négyzetet, a játékod nyilvános lesz – bárki kapcsolódhat hozzá. +public.beta = Ne feledd, hogy a játék béta verziójában nem tudsz nyilvános szobát nyitni. +uiscale.reset = A felület mérete megváltozott.\nAz „OK†gombbal megerÅ‘sítheted ezt a méretet.\n[scarlet]Automatikus visszavonás és kilépés [accent] {0}[] másodperc múlva… +uiscale.cancel = Mégse és kilépés setting.bloom.name = Bloom -keybind.title = Rebind Keys -keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. -category.general.name = General -category.view.name = View -category.multiplayer.name = Multiplayer -category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle -placement.blockselectkeys = \n[lightgray]Key: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit -keybind.clear_building.name = Clear Building -keybind.press = Press a key... -keybind.press.axis = Press an axis or key... -keybind.screenshot.name = Map Screenshot -keybind.toggle_power_lines.name = Toggle Power Lasers -keybind.toggle_block_status.name = Toggle Block Statuses -keybind.move_x.name = Move X -keybind.move_y.name = Move Y -keybind.mouse_move.name = Follow Mouse -keybind.pan.name = Pan View -keybind.boost.name = Boost -keybind.schematic_select.name = Select Region -keybind.schematic_menu.name = Schematic Menu -keybind.schematic_flip_x.name = Flip Schematic X -keybind.schematic_flip_y.name = Flip Schematic Y -keybind.category_prev.name = Previous Category -keybind.category_next.name = Next Category -keybind.block_select_left.name = Block Select Left -keybind.block_select_right.name = Block Select Right -keybind.block_select_up.name = Block Select Up -keybind.block_select_down.name = Block Select Down -keybind.block_select_01.name = Category/Block Select 1 -keybind.block_select_02.name = Category/Block Select 2 -keybind.block_select_03.name = Category/Block Select 3 -keybind.block_select_04.name = Category/Block Select 4 -keybind.block_select_05.name = Category/Block Select 5 -keybind.block_select_06.name = Category/Block Select 6 -keybind.block_select_07.name = Category/Block Select 7 -keybind.block_select_08.name = Category/Block Select 8 -keybind.block_select_09.name = Category/Block Select 9 -keybind.block_select_10.name = Category/Block Select 10 -keybind.fullscreen.name = Toggle Fullscreen -keybind.select.name = Select/Shoot -keybind.diagonal_placement.name = Diagonal Placement -keybind.pick.name = Pick Block -keybind.break_block.name = Break Block -keybind.deselect.name = Deselect -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command -keybind.shoot.name = Shoot -keybind.zoom.name = Zoom -keybind.menu.name = Menu -keybind.pause.name = Pause -keybind.pause_building.name = Pause/Resume Building -keybind.minimap.name = Minimap -keybind.planet_map.name = Planet Map -keybind.research.name = Research -keybind.chat.name = Chat -keybind.player_list.name = Player List -keybind.console.name = Console -keybind.rotate.name = Rotate -keybind.rotateplaced.name = Rotate Existing (Hold) -keybind.toggle_menus.name = Toggle Menus -keybind.chat_history_prev.name = Chat History Prev -keybind.chat_history_next.name = Chat History Next -keybind.chat_scroll.name = Chat Scroll -keybind.chat_mode.name = Change Chat Mode -keybind.drop_unit.name = Drop Unit -keybind.zoom_minimap.name = Zoom Minimap -mode.help.title = Description of modes -mode.survival.name = Survival -mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play. -mode.sandbox.name = Sandbox -mode.sandbox.description = Infinite resources and no timer for waves. -mode.editor.name = Editor +keybind.title = Billentyűk átállítása +keybinds.mobile = [scarlet]A legtöbb billentyűfunkció mobilon nem működik. Csak a mozgás támogatott. +category.general.name = Ãltalános +category.view.name = Nézet +category.command.name = Egységparancs +category.multiplayer.name = Többjátékos +category.blocks.name = Blokkválasztás +placement.blockselectkeys = \n[lightgray]Kulcs: [{0}, +keybind.respawn.name = Újraéledés +keybind.control.name = Egység irányítása +keybind.clear_building.name = Épület törlése +keybind.press = Nyomj meg egy gombot… +keybind.press.axis = Nyomj meg egy kart vagy gombot… +keybind.screenshot.name = Pálya képernyÅ‘képe +keybind.toggle_power_lines.name = Villanyvezetékek be/ki +keybind.toggle_block_status.name = Blokkállapotok be/ki +keybind.move_x.name = Mozgás vízszintesen +keybind.move_y.name = Mozgás függÅ‘legesen +keybind.mouse_move.name = Egér követése +keybind.pan.name = Felderítés +keybind.boost.name = ErÅ‘sítés +keybind.command_mode.name = Parancs mód +keybind.command_queue.name = Egységparancsok sorba állítása +keybind.create_control_group.name = VezérlÅ‘csoport készítése +keybind.cancel_orders.name = Parancsok visszavonása + +keybind.unit_stance_shoot.name = Egység viselkedése: lövés +keybind.unit_stance_hold_fire.name = Egység viselkedése: tüzet szüntess +keybind.unit_stance_pursue_target.name = Egység viselkedése: célpont követése +keybind.unit_stance_patrol.name = Egység viselkedése: járÅ‘rözés +keybind.unit_stance_ram.name = Egység viselkedése: ütközés + +keybind.unit_command_move.name = Egységparancs: mozgás +keybind.unit_command_repair.name = Egységparancs: javítás +keybind.unit_command_rebuild.name = Egységparancs: újraépítés +keybind.unit_command_assist.name = Egységparancs: támogatás +keybind.unit_command_mine.name = Egységparancs: bányászás +keybind.unit_command_boost.name = Egységparancs: erÅ‘sítés +keybind.unit_command_load_units.name = Egységparancs: egységek berakodása +keybind.unit_command_load_blocks.name = Egységparancs: blokkok berakodása +keybind.unit_command_unload_payload.name = Egységparancs: kirakodás +keybind.unit_command_enter_payload.name = Egységparancs: berakodás +keybind.unit_command_loop_payload.name = Egységparancs: folyamatos egységelszállítás + +keybind.rebuild_select.name = Régió újraépítése +keybind.schematic_select.name = Terület kijelölése +keybind.schematic_menu.name = Vázlat menü +keybind.schematic_flip_x.name = Vázlat tükrözése vízszintesen +keybind.schematic_flip_y.name = Vázlat tükrözése függÅ‘legesen +keybind.category_prev.name = ElÅ‘zÅ‘ kategória +keybind.category_next.name = KövetkezÅ‘ kategória +keybind.block_select_left.name = Blokk váltás balra +keybind.block_select_right.name = Blokk váltás jobbra +keybind.block_select_up.name = Blokk váltás fel +keybind.block_select_down.name = Blokk váltás le +keybind.block_select_01.name = 1. kategória/blokk választása +keybind.block_select_02.name = 2. kategória/blokk választása +keybind.block_select_03.name = 3. kategória/blokk választása +keybind.block_select_04.name = 4. kategória/blokk választása +keybind.block_select_05.name = 5. kategória/blokk választása +keybind.block_select_06.name = 6. kategória/blokk választása +keybind.block_select_07.name = 7. kategória/blokk választása +keybind.block_select_08.name = 8. kategória/blokk választása +keybind.block_select_09.name = 9. kategória/blokk választása +keybind.block_select_10.name = 10. kategória/blokk választása +keybind.fullscreen.name = Teljes képernyÅ‘ be/ki +keybind.select.name = Kiválasztás/lövés +keybind.diagonal_placement.name = Ãtlós elhelyezés +keybind.pick.name = Blokk kiválasztása +keybind.break_block.name = Blokk törlése +keybind.select_all_units.name = Összes egység kijelölése +keybind.select_all_unit_factories.name = Összes egységgyár kijelölése +keybind.deselect.name = Blokk-kijelölés törlése +keybind.pickupCargo.name = Rakomány felvétele +keybind.dropCargo.name = Rakomány lerakása +keybind.shoot.name = Lövés +keybind.zoom.name = Nagyítás +keybind.menu.name = Menü +keybind.pause.name = Szünet +keybind.pause_building.name = Építés szüneteltetése/folytatása +keybind.minimap.name = Minitérkép +keybind.planet_map.name = Bolygótérkép +keybind.research.name = Fejlesztés +keybind.block_info.name = Blokk infó +keybind.chat.name = Csevegés +keybind.player_list.name = Játékosok listája +keybind.console.name = Konzol +keybind.rotate.name = Forgatás +keybind.rotateplaced.name = MeglévÅ‘ forgatása (nyomva tartva) +keybind.toggle_menus.name = Menük be/ki +keybind.chat_history_prev.name = Csevegés görgetése felfelé +keybind.chat_history_next.name = Csevegés görgetése lefelé +keybind.chat_scroll.name = Csevegés görgetése +keybind.chat_mode.name = Csevegési mód megváltoztatása +keybind.drop_unit.name = Egység eldobása +keybind.zoom_minimap.name = Nagyítás a minitérképen +mode.help.title = Játékmódok leírása +mode.survival.name = Túlélés +mode.survival.description = A normál mód. Korlátozott nyersanyagok, és automatikusan érkezÅ‘ hullámok.\n[gray]Ellenséges kezdÅ‘pont szükséges hozzá a pályán. +mode.sandbox.name = Homokozó +mode.sandbox.description = Végtelen nyersanyagforrás, nincs idÅ‘zítés a hullámokhoz. +mode.editor.name = SzerkesztÅ‘ mode.pvp.name = PvP -mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. -mode.attack.name = Attack -mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. -mode.custom = Custom Rules +mode.pvp.description = Harcolj más játékosok ellen.\n[gray]Legalább két különbözÅ‘ színű támaszpont szükséges hozzá a pályán. +mode.attack.name = Támadás +mode.attack.description = Pusztítsd el az ellenség bázisát. \n[gray]Piros támaszpont szükséges hozzá a pályán. +mode.custom = Egyéni szabályok -rules.infiniteresources = Infinite Resources -rules.reactorexplosions = Reactor Explosions -rules.schematic = Schematics Allowed -rules.wavetimer = Wave Timer -rules.waves = Waves -rules.attack = Attack Mode -rules.buildai = AI Building -rules.enemyCheat = Infinite AI (Red Team) Resources -rules.blockhealthmultiplier = Block Health Multiplier -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier -rules.unithealthmultiplier = Unit Health Multiplier -rules.unitdamagemultiplier = Unit Damage Multiplier -rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) -rules.wavespacing = Wave Spacing:[lightgray] (sec) -rules.buildcostmultiplier = Build Cost Multiplier -rules.buildspeedmultiplier = Build Speed Multiplier -rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier -rules.waitForWaveToEnd = Waves Wait for Enemies -rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) -rules.unitammo = Units Require Ammo -rules.title.waves = Waves -rules.title.resourcesbuilding = Resources & Building -rules.title.enemy = Enemies -rules.title.unit = Units -rules.title.experimental = Experimental -rules.title.environment = Environment -rules.lighting = Lighting -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Ambient Light -rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.always = Always -rules.weather.duration = Duration: +rules.invaliddata = Érvénytelen adatok vannak a vágólapon. +rules.hidebannedblocks = Tiltott épületek elrejtése +rules.infiniteresources = Végtelen nyersanyagforrás +rules.onlydepositcore = Csak a támaszpontok elhelyezése engedélyezett +rules.derelictrepair = Az elhagyatott épületek javításának engedélyezése +rules.reactorexplosions = Reaktorrobbanások +rules.coreincinerates = Többletnyersanyagok megsemmisítése a támaszpontban +rules.disableworldprocessors = Világprocesszorok letiltása +rules.schematic = Vázlatok engedélyezése +rules.wavetimer = Hullámok idÅ‘zítése +rules.wavesending = Hullámok küldése +rules.allowedit = Szabályok szerkesztésének engedélyezése +rules.allowedit.info = Amikor engedélyezve van, akkor a játékos szerkesztheti a szabályokat a játékban a „Szünet†menü bal alsó sarkában található gomb segítségével. +rules.alloweditworldprocessors = Világprocesszorok szerkesztésének engedélyezése +rules.alloweditworldprocessors.info = Amikor engedélyezve van, a világlogikai blokkok a szerkesztÅ‘n kívül is elhelyezhetÅ‘k és szerkeszthetÅ‘k. +rules.waves = Hullámok +rules.airUseSpawns = A légi egységek használjanak kezdÅ‘pontokat +rules.attack = Támadási mód +rules.buildai = BázisépítÅ‘ MI +rules.buildaitier = ÉpítÅ‘ MI szintje +rules.rtsai = RTS MI [red](WIP) +rules.rtsai.campaign = RTS Támadó MI +rules.rtsai.campaign.info = A „támadó†pályákon (ahol az ellenség is rendelkezik támaszponttal) az MI által irányított\negységek csoportosulnak, és intelligensebb módon támadják a játékosok bázisait. +rules.rtsminsquadsize = Minimális osztagméret +rules.rtsmaxsquadsize = Maximális osztagméret +rules.rtsminattackweight = Minimális támadási súly +rules.cleanupdeadteams = LegyÅ‘zött csapatok épületeinek törlése (PvP) +rules.corecapture = Támaszpont elfoglalása megsemmisítéskor +rules.polygoncoreprotection = Poligonális támaszpontvédelem +rules.placerangecheck = Elhelyezési tartomány ellenÅ‘rzése +rules.enemyCheat = Végtelen ellenséges csapaterÅ‘források +rules.blockhealthmultiplier = Épület életpontszorzója +rules.blockdamagemultiplier = Épület sebzésszorzója +rules.unitbuildspeedmultiplier = Egységgyártás sebességének szorzója +rules.unitcostmultiplier = Egység költségszorzója +rules.unithealthmultiplier = Egység életpontszorzója +rules.unitdamagemultiplier = Egység sebzésszorzója +rules.unitcrashdamagemultiplier = Egység ütközési sebzésszorzója +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Napenergia szorzója +rules.unitcapvariable = A támaszpontok befolyásolják a gyártható egységek darabszámát +rules.unitpayloadsexplode = A szállított rakományok az egységgel együtt felrobbannak +rules.unitcap = Alap egységdarabszám +rules.limitarea = Játékterület korlátozása +rules.enemycorebuildradius = Ellenséges támaszpont körüli tiltott építkezési zóna sugara:[lightgray] (mezÅ‘) +rules.extracorebuildradius = Tiltott építkezési zóna sugarának további mérete:[lightgray] (mezÅ‘) +rules.wavespacing = A hullámok közötti szünetek ideje:[lightgray] (mp) +rules.initialwavespacing = Az elsÅ‘ hullám elÅ‘tti szünet ideje:[lightgray] (mp) +rules.buildcostmultiplier = Építési költség szorzója +rules.buildspeedmultiplier = Építési sebesség szorzója +rules.deconstructrefundmultiplier = Bontási visszatérítés szorzója +rules.waitForWaveToEnd = Az ellenség kivárja a korábbi hullám végét +rules.wavelimit = A pálya érjen véget ennyi hullám után +rules.dropzoneradius = A ledobási zóna sugara:[lightgray] (mezÅ‘) +rules.unitammo = Az egységeknek lÅ‘szer kell [red](eltávolítható) +rules.enemyteam = Ellenséges csapat +rules.playerteam = Saját csapat +rules.title.waves = Hullámok +rules.title.resourcesbuilding = Nyersanyagforrások és épületek +rules.title.enemy = Ellenségek +rules.title.unit = Egységek +rules.title.experimental = Kísérleti +rules.title.environment = Környezet +rules.title.teams = Csapatok +rules.title.planet = Bolygó +rules.lighting = Világítás +rules.fog = A háború köde +rules.invasions = Ellenséges szektorokból érkezÅ‘ inváziók +rules.legacylaunchpads = Hagyományos kilövőállás-mechanizmus +rules.legacylaunchpads.info = LehetÅ‘vé teszi a kilövőállások használatát landolóállások nélkül, mint a v7.0-ban. +landingpad.legacy.disabled = [scarlet]\ue815 Letiltva[lightgray] (Hagyományos kilövőállás engedélyezve) +rules.showspawns = Ellenséges kezdÅ‘pontok megjelenítése a minitérképen +rules.randomwaveai = Kiszámíthatatlan ellenséges támadások (MI) +rules.fire = Tűz +rules.anyenv = +rules.explosions = Épület/egység robbanási sebzése +rules.ambientlight = Háttérvilágítás +rules.weather = IdÅ‘járás +rules.weather.frequency = Gyakoriság: +rules.weather.always = Mindig +rules.weather.duration = IdÅ‘tartam: -content.item.name = Items -content.liquid.name = Liquids -content.unit.name = Units -content.block.name = Blocks -content.sector.name = Sectors +rules.randomwaveai.info = A hullámokban érkezÅ‘ egységek a támaszpont vagy az áramfejlesztÅ‘k\nközvetlen támadása helyett véletlenszerű építményeket vesznek célba. +rules.placerangecheck.info = Megakadályozza, hogy a játékosok lövegtornyokat helyezzenek el az ellenséges épületek közelében.\nAmikor megpróbálnak egy lövegtornyot elhelyezni, az építési távolság megnÅ‘, így a lövegtorony nem fogja elérni az ellenséget. +rules.onlydepositcore.info = Megakadályozza, hogy az egységek nyersanyagokat helyezzenek el a támaszponton kívül más épületekbe. -item.copper.name = Copper -item.lead.name = Lead -item.coal.name = Coal -item.graphite.name = Graphite -item.titanium.name = Titanium -item.thorium.name = Thorium -item.silicon.name = Silicon -item.plastanium.name = Plastanium -item.phase-fabric.name = Phase Fabric -item.surge-alloy.name = Surge Alloy -item.spore-pod.name = Spore Pod -item.sand.name = Sand -item.blast-compound.name = Blast Compound -item.pyratite.name = Pyratite -item.metaglass.name = Metaglass -item.scrap.name = Scrap -liquid.water.name = Water -liquid.slag.name = Slag -liquid.oil.name = Oil -liquid.cryofluid.name = Cryofluid +content.item.name = Nyersanyagok +content.liquid.name = Folyadékok +content.unit.name = Egységek +content.block.name = Blokkok +content.status.name = Ãllapothatások +content.sector.name = Szektorok +content.team.name = Csapatok + +wallore = (Fal) + +item.copper.name = Réz +item.lead.name = Ólom +item.coal.name = Szén +item.graphite.name = Grafit +item.titanium.name = Titán +item.thorium.name = Tórium +item.silicon.name = Szilícium +item.plastanium.name = Műanyag +item.phase-fabric.name = Tóritkvarc +item.surge-alloy.name = Elektrometál +item.spore-pod.name = Spórakapszula +item.sand.name = Homok +item.blast-compound.name = Robbanóelegy +item.pyratite.name = Piratit +item.metaglass.name = Ólomüveg +item.scrap.name = Törmelék +item.fissile-matter.name = Hasadóanyag +item.beryllium.name = Berillium +item.tungsten.name = Volfrám +item.oxide.name = Oxid +item.carbide.name = Karbid +item.dormant-cyst.name = Nyugvó ciszta + +liquid.water.name = Víz +liquid.slag.name = Salak +liquid.oil.name = Olaj +liquid.cryofluid.name = HűtÅ‘folyadék +liquid.neoplasm.name = Neoplazma +liquid.arkycite.name = Arkicit +liquid.gallium.name = Gallium +liquid.ozone.name = Ózon +liquid.hydrogen.name = Hidrogén +liquid.nitrogen.name = Nitrogén +liquid.cyanogen.name = Dicián unit.dagger.name = Dagger unit.mace.name = Mace @@ -1023,6 +1530,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -1031,475 +1543,1156 @@ unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = ÖsszeszerelÅ‘ drón +unit.latum.name = Latum +unit.renale.name = Renale + block.parallax.name = Parallax -block.cliff.name = Cliff -block.sand-boulder.name = Sand Boulder -block.basalt-boulder.name = Basalt Boulder -block.grass.name = Grass -block.slag.name = Slag -block.space.name = Space -block.salt.name = Salt -block.salt-wall.name = Salt Wall -block.pebbles.name = Pebbles -block.tendrils.name = Tendrils -block.sand-wall.name = Sand Wall -block.spore-pine.name = Spore Pine -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder -block.snow-pine.name = Snow Pine -block.shale.name = Shale -block.shale-boulder.name = Shale Boulder -block.moss.name = Moss -block.shrubs.name = Shrubs -block.spore-moss.name = Spore Moss -block.shale-wall.name = Shale Wall -block.scrap-wall.name = Scrap Wall -block.scrap-wall-large.name = Large Scrap Wall -block.scrap-wall-huge.name = Huge Scrap Wall -block.scrap-wall-gigantic.name = Gigantic Scrap Wall -block.thruster.name = Thruster -block.kiln.name = Kiln -block.graphite-press.name = Graphite Press -block.multi-press.name = Multi-Press -block.constructing = {0} [lightgray](Constructing) -block.spawn.name = Enemy Spawn -block.core-shard.name = Core: Shard -block.core-foundation.name = Core: Foundation -block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Deep Water -block.water.name = Water -block.tainted-water.name = Tainted Water -block.darksand-tainted-water.name = Dark Sand Tainted Water -block.tar.name = Tar -block.stone.name = Stone -block.sand.name = Sand -block.darksand.name = Dark Sand -block.ice.name = Ice -block.snow.name = Snow -block.craters.name = Craters -block.sand-water.name = Sand water -block.darksand-water.name = Dark Sand Water -block.char.name = Char -block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder -block.ice-snow.name = Ice Snow -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall -block.pine.name = Pine -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud -block.white-tree-dead.name = White Tree Dead -block.white-tree.name = White Tree -block.spore-cluster.name = Spore Cluster -block.metal-floor.name = Metal Floor 1 -block.metal-floor-2.name = Metal Floor 2 -block.metal-floor-3.name = Metal Floor 3 -block.metal-floor-5.name = Metal Floor 4 -block.metal-floor-damaged.name = Metal Floor Damaged -block.dark-panel-1.name = Dark Panel 1 -block.dark-panel-2.name = Dark Panel 2 -block.dark-panel-3.name = Dark Panel 3 -block.dark-panel-4.name = Dark Panel 4 -block.dark-panel-5.name = Dark Panel 5 -block.dark-panel-6.name = Dark Panel 6 -block.dark-metal.name = Dark Metal -block.basalt.name = Basalt -block.hotrock.name = Hot Rock -block.magmarock.name = Magma Rock -block.copper-wall.name = Copper Wall -block.copper-wall-large.name = Large Copper Wall -block.titanium-wall.name = Titanium Wall -block.titanium-wall-large.name = Large Titanium Wall -block.plastanium-wall.name = Plastanium Wall -block.plastanium-wall-large.name = Large Plastanium Wall -block.phase-wall.name = Phase Wall -block.phase-wall-large.name = Large Phase Wall -block.thorium-wall.name = Thorium Wall -block.thorium-wall-large.name = Large Thorium Wall -block.door.name = Door -block.door-large.name = Large Door +block.cliff.name = Szirt +block.sand-boulder.name = Homokszikla +block.basalt-boulder.name = Bazaltszikla +block.grass.name = Fű +block.molten-slag.name = Salak +block.pooled-cryofluid.name = HűtÅ‘folyadék +block.space.name = Űr +block.salt.name = Só +block.salt-wall.name = Sófal +block.pebbles.name = Kavicsok +block.tendrils.name = Indák +block.sand-wall.name = Homokfal +block.spore-pine.name = SpórafenyÅ‘ +block.spore-wall.name = Spórafal +block.boulder.name = Szikla +block.snow-boulder.name = Havas szikla +block.snow-pine.name = Havas fenyÅ‘ +block.shale.name = Pala +block.shale-boulder.name = Palaszikla +block.moss.name = Moha +block.shrubs.name = Cserjék +block.spore-moss.name = Spóramoha +block.shale-wall.name = Palafal +block.scrap-wall.name = Törmelékfal +block.scrap-wall-large.name = Nagy törmelékfal +block.scrap-wall-huge.name = Hatalmas törmelékfal +block.scrap-wall-gigantic.name = Gigantikus törmelékfal +block.thruster.name = Hajtómű +block.kiln.name = Kemence +block.graphite-press.name = Grafitprés +block.multi-press.name = Grafitsajtoló +block.constructing = {0} [lightgray](építés alatt) +block.spawn.name = Ellenséges kezdÅ‘pont +block.remove-wall.name = Fal eltávolítása +block.remove-ore.name = Érc eltávolítása +block.core-shard.name = Szilánk +block.core-foundation.name = Alapítvány +block.core-nucleus.name = Atommag +block.deep-water.name = Mély víz +block.shallow-water.name = Víz +block.tainted-water.name = Szennyezett víz +block.deep-tainted-water.name = Mély szennyezett víz +block.darksand-tainted-water.name = Sötét homokkal szennyezett víz +block.tar.name = Kátrány +block.stone.name = KÅ‘ +block.sand-floor.name = Homok +block.darksand.name = Sötét homok +block.ice.name = Jég +block.snow.name = Hó +block.crater-stone.name = Kráterek +block.sand-water.name = Homokvíz +block.darksand-water.name = Sötét homokvíz +block.char.name = Faszén +block.dacite.name = Dácit +block.rhyolite.name = Riolit +block.dacite-wall.name = Dácitfal +block.dacite-boulder.name = Dácitszikla +block.ice-snow.name = Jéghó +block.stone-wall.name = KÅ‘fal +block.ice-wall.name = Jégfal +block.snow-wall.name = Hófal +block.dune-wall.name = Dűnefal +block.pine.name = FenyÅ‘ +block.dirt.name = Sár +block.dirt-wall.name = Sárfal +block.mud.name = Iszap +block.white-tree-dead.name = Kiszáradt fehér fa +block.white-tree.name = Fehér fa +block.spore-cluster.name = Spórafürt +block.metal-floor.name = 1. fémpadló +block.metal-floor-2.name = 2. fémpadló +block.metal-floor-3.name = 3. fémpadló +block.metal-floor-4.name = 4. fémpadló +block.metal-floor-5.name = 5. fémpadló +block.metal-floor-damaged.name = Sérült fémpadló +block.dark-panel-1.name = 1. sötét panel +block.dark-panel-2.name = 2. sötét panel +block.dark-panel-3.name = 3. sötét panel +block.dark-panel-4.name = 4. sötét panel +block.dark-panel-5.name = 5. sötét panel +block.dark-panel-6.name = 6. sötét panel +block.dark-metal.name = Sötét fém +block.basalt.name = Bazalt +block.hotrock.name = Forró kÅ‘zet +block.magmarock.name = Magmás kÅ‘zet +block.copper-wall.name = Rézfal +block.copper-wall-large.name = Nagy rézfal +block.titanium-wall.name = Titánfal +block.titanium-wall-large.name = Nagy titánfal +block.plastanium-wall.name = Műanyagfal +block.plastanium-wall-large.name = Nagy műanyagfal +block.phase-wall.name = Tóritkvarcfal +block.phase-wall-large.name = Nagy tóritkvarcfal +block.thorium-wall.name = Tóriumfal +block.thorium-wall-large.name = Nagy tóriumfal +block.door.name = Ajtó +block.door-large.name = Nagy ajtó block.duo.name = Duo block.scorch.name = Scorch block.scatter.name = Scatter block.hail.name = Hail block.lancer.name = Lancer -block.conveyor.name = Conveyor -block.titanium-conveyor.name = Titanium Conveyor -block.plastanium-conveyor.name = Plastanium Conveyor -block.armored-conveyor.name = Armored Conveyor -block.junction.name = Junction -block.router.name = Router -block.distributor.name = Distributor -block.sorter.name = Sorter -block.inverted-sorter.name = Inverted Sorter -block.message.name = Message -block.illuminator.name = Illuminator -block.overflow-gate.name = Overflow Gate -block.underflow-gate.name = Underflow Gate -block.silicon-smelter.name = Silicon Smelter -block.phase-weaver.name = Phase Weaver -block.pulverizer.name = Pulverizer -block.cryofluid-mixer.name = Cryofluid Mixer -block.melter.name = Melter -block.incinerator.name = Incinerator -block.spore-press.name = Spore Press -block.separator.name = Separator -block.coal-centrifuge.name = Coal Centrifuge -block.power-node.name = Power Node -block.power-node-large.name = Large Power Node -block.surge-tower.name = Surge Tower -block.diode.name = Battery Diode -block.battery.name = Battery -block.battery-large.name = Large Battery -block.combustion-generator.name = Combustion Generator -block.steam-generator.name = Steam Generator -block.differential-generator.name = Differential Generator -block.impact-reactor.name = Impact Reactor -block.mechanical-drill.name = Mechanical Drill -block.pneumatic-drill.name = Pneumatic Drill -block.laser-drill.name = Laser Drill -block.water-extractor.name = Water Extractor -block.cultivator.name = Cultivator -block.conduit.name = Conduit -block.mechanical-pump.name = Mechanical Pump -block.item-source.name = Item Source -block.item-void.name = Item Void -block.liquid-source.name = Liquid Source -block.liquid-void.name = Liquid Void -block.power-void.name = Power Void -block.power-source.name = Power Source -block.unloader.name = Unloader -block.vault.name = Vault +block.conveyor.name = Szállítószalag +block.titanium-conveyor.name = Titán szállítószalag +block.plastanium-conveyor.name = Műanyag szállítószalag +block.armored-conveyor.name = Páncélozott szállítószalag +block.junction.name = Ãtkötés +block.router.name = Elosztó +block.distributor.name = Szétosztó +block.sorter.name = Válogató +block.inverted-sorter.name = Fordított válogató +block.message.name = Üzenet +block.reinforced-message.name = MegerÅ‘sített üzenet +block.world-message.name = Világüzenet +block.world-switch.name = Világkapcsoló +block.illuminator.name = Világítótest +block.overflow-gate.name = Túlcsorduló kapu +block.underflow-gate.name = Alulcsorduló kapu +block.silicon-smelter.name = Szilíciumkohó +block.phase-weaver.name = TóritkvarcképzÅ‘ +block.pulverizer.name = Törmelékdaráló +block.cryofluid-mixer.name = HűtÅ‘folyadék-keverÅ‘ +block.melter.name = Olvasztó +block.incinerator.name = ÉgetÅ‘kamra +block.spore-press.name = Spóraprés +block.separator.name = Leválasztó +block.coal-centrifuge.name = Széncentrifuga +block.power-node.name = Villanyoszlop +block.power-node-large.name = Nagy villanyoszlop +block.surge-tower.name = Villanytorony +block.diode.name = Akkumulátordióda +block.battery.name = Akkumulátor +block.battery-large.name = Nagy akkumulátor +block.combustion-generator.name = ÉgetÅ‘erÅ‘mű +block.steam-generator.name = GÅ‘zerÅ‘mű +block.differential-generator.name = Differenciál-erÅ‘mű +block.impact-reactor.name = Ütközéses erÅ‘mű +block.mechanical-drill.name = Mechanikus fúró +block.pneumatic-drill.name = Pneumatikus fúró +block.laser-drill.name = Lézerfúró +block.water-extractor.name = Kútfúró torony +block.cultivator.name = Betakarító +block.conduit.name = CsÅ‘vezeték +block.mechanical-pump.name = Mechanikus szivattyú +block.item-source.name = Nyersanyagforrás +block.item-void.name = NyersanyagnyelÅ‘ +block.liquid-source.name = Folyadékforrás +block.liquid-void.name = FolyadéknyelÅ‘ +block.power-void.name = ÃramnyelÅ‘ +block.power-source.name = Ãramforrás +block.unloader.name = Kirakodó +block.vault.name = Raktár block.wave.name = Wave block.tsunami.name = Tsunami block.swarmer.name = Swarmer block.salvo.name = Salvo block.ripple.name = Ripple -block.phase-conveyor.name = Phase Conveyor -block.bridge-conveyor.name = Bridge Conveyor -block.plastanium-compressor.name = Plastanium Compressor -block.pyratite-mixer.name = Pyratite Mixer -block.blast-mixer.name = Blast Mixer -block.solar-panel.name = Solar Panel -block.solar-panel-large.name = Large Solar Panel -block.oil-extractor.name = Oil Extractor -block.repair-point.name = Repair Point -block.pulse-conduit.name = Pulse Conduit -block.plated-conduit.name = Plated Conduit -block.phase-conduit.name = Phase Conduit -block.liquid-router.name = Liquid Router -block.liquid-tank.name = Liquid Tank -block.liquid-junction.name = Liquid Junction -block.bridge-conduit.name = Bridge Conduit -block.rotary-pump.name = Rotary Pump -block.thorium-reactor.name = Thorium Reactor -block.mass-driver.name = Mass Driver -block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump -block.thermal-generator.name = Thermal Generator -block.alloy-smelter.name = Alloy Smelter -block.mender.name = Mender -block.mend-projector.name = Mend Projector -block.surge-wall.name = Surge Wall -block.surge-wall-large.name = Large Surge Wall +block.phase-conveyor.name = Tóritkvarc szállítószalag +block.bridge-conveyor.name = Szállítószalag-híd +block.plastanium-compressor.name = MűanyagsűrítÅ‘ +block.pyratite-mixer.name = PiratitkeverÅ‘ +block.blast-mixer.name = Robbanóelegy-keverÅ‘ +block.solar-panel.name = Napelem +block.solar-panel-large.name = Nagy napelem +block.oil-extractor.name = Olajfúró torony +block.repair-point.name = Javítási pont +block.repair-turret.name = Javítótorony +block.pulse-conduit.name = Impulzus-csÅ‘vezeték +block.plated-conduit.name = Lemezelt csÅ‘vezeték +block.phase-conduit.name = Tóritkvarc-csÅ‘vezeték +block.liquid-router.name = Folyadékelosztó +block.liquid-tank.name = Folyadéktartály +block.liquid-container.name = Folyadéktározó +block.liquid-junction.name = CsÅ‘vezeték-átkötés +block.bridge-conduit.name = CsÅ‘vezetékhíd +block.rotary-pump.name = Fogaskerekes szivattyú +block.thorium-reactor.name = TóriumerÅ‘mű +block.mass-driver.name = Tömegmozgató +block.blast-drill.name = Légrobbanásos fúró +block.impulse-pump.name = Impulzusszivattyú +block.thermal-generator.name = HÅ‘erÅ‘mű +block.surge-smelter.name = Elektrometál-olvasztó +block.mender.name = Foltozó +block.mend-projector.name = Foltozó-kivetítÅ‘ +block.surge-wall.name = Elektrometálfal +block.surge-wall-large.name = Nagy elektrometálfal block.cyclone.name = Cyclone block.fuse.name = Fuse -block.shock-mine.name = Shock Mine -block.overdrive-projector.name = Overdrive Projector -block.force-projector.name = Force Projector +block.shock-mine.name = Sokkoló taposóakna +block.overdrive-projector.name = Túlhajtó kivetítÅ‘ +block.force-projector.name = ErÅ‘pajzs-kivetítÅ‘ block.arc.name = Arc -block.rtg-generator.name = RTG Generator +block.rtg-generator.name = R. T. Generátor block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow -block.container.name = Container -block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.container.name = Konténer +block.launch-pad.name = Kilövőállás [lightgray](Hagyományos) +block.advanced-launch-pad.name = Kilövőállás +block.landing-pad.name = Landolóállás + block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = Payload Conveyor -block.payload-router.name = Payload Router -block.disassembler.name = Disassembler -block.silicon-crucible.name = Silicon Crucible -block.overdrive-dome.name = Overdrive Dome -#experimental, may be removed -block.block-forge.name = Block Forge -block.block-loader.name = Block Loader -block.block-unloader.name = Block Unloader -block.interplanetary-accelerator.name = Interplanetary Accelerator +block.ground-factory.name = Földiegységgyár +block.air-factory.name = RepülÅ‘gépgyár +block.naval-factory.name = Hadihajógyár +block.additive-reconstructor.name = Additív újratervezÅ‘ +block.multiplicative-reconstructor.name = Multiplikatív újratervezÅ‘ +block.exponential-reconstructor.name = Exponenciális újratervezÅ‘ +block.tetrative-reconstructor.name = Tetratív újratervezÅ‘ +block.payload-conveyor.name = Rakományszállító-szalag +block.payload-router.name = Rakomány-elosztó +block.duct.name = Szállítószalag +block.duct-router.name = Szállítószalag-elosztó +block.duct-bridge.name = Szállítószalaghíd +block.large-payload-mass-driver.name = Nagy rakomány-tömegmozgató +block.payload-void.name = RakománynyelÅ‘ +block.payload-source.name = Rakományforrás +block.disassembler.name = Szétválasztó +block.silicon-crucible.name = Szilíciumolvasztó +block.overdrive-dome.name = Túlhajtó búra +block.interplanetary-accelerator.name = Bolygóközi gyorsító +block.constructor.name = ÉpítÅ‘ +block.constructor.description = Legfeljebb 2×2-es mezÅ‘méretű épületeket gyárt. +block.large-constructor.name = Nagy építÅ‘ +block.large-constructor.description = Akár 4×4-es mezÅ‘méretű épületeket is gyárt. +block.deconstructor.name = Nagy lebontó +block.deconstructor.description = Lebontja az épületeket és az egységeket. Visszaadja az építési költség 100%-át. +block.payload-loader.name = Rakománycsomagoló +block.payload-loader.description = A folyadékokat és a nyersanyagokat blokkokba csomagolja. +block.payload-unloader.name = Rakománykibontó +block.payload-unloader.description = Kibontja a folyadékokból és nyersanyagokból álló blokkokat. +block.heat-source.name = HÅ‘forrás +block.heat-source.description = Nagy hÅ‘mennyiséget bocsát ki. Csak homokozó módban. -block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor -block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display -block.memory-cell.name = Memory Cell -block.memory-bank.name = Memory Bank +#Erekir +block.empty.name = Üres +block.rhyolite-crater.name = Riolit kráter +block.rough-rhyolite.name = Durva riolit +block.regolith.name = Regolit +block.yellow-stone.name = Sárga kÅ‘ +block.carbon-stone.name = SzénkÅ‘ +block.ferric-stone.name = Vasas kÅ‘ +block.ferric-craters.name = Vasas kráterek +block.beryllic-stone.name = Berilliumos kÅ‘ +block.crystalline-stone.name = Kristályos kÅ‘ +block.crystal-floor.name = Kristálytalaj +block.yellow-stone-plates.name = Sárga kÅ‘lemezek +block.red-stone.name = Vörös kÅ‘ +block.dense-red-stone.name = Sűrű vörös kÅ‘ +block.red-ice.name = Vörös jég +block.arkycite-floor.name = Arkicit +block.arkyic-stone.name = Arkicites kÅ‘ +block.rhyolite-vent.name = RiolitkürtÅ‘ +block.carbon-vent.name = SzénkürtÅ‘ +block.arkyic-vent.name = Arkicites kürtÅ‘ +block.yellow-stone-vent.name = SárgakÅ‘-kürtÅ‘ +block.red-stone-vent.name = VöröskÅ‘-kürtÅ‘ +block.crystalline-vent.name = Kristályos kürtÅ‘ +block.redmat.name = Vörös padló +block.bluemat.name = Kék padló +block.core-zone.name = Támaszpontzóna +block.regolith-wall.name = Regolitfal +block.yellow-stone-wall.name = SárgakÅ‘-fal +block.rhyolite-wall.name = Riolitfal +block.carbon-wall.name = Szénfal +block.ferric-stone-wall.name = VasaskÅ‘-fal +block.beryllic-stone-wall.name = BerilliumoskÅ‘-fal +block.arkyic-wall.name = Arkicites fal +block.crystalline-stone-wall.name = Kristályos kÅ‘fal +block.red-ice-wall.name = Vörösjég-fal +block.red-stone-wall.name = VöröskÅ‘-fal +block.red-diamond-wall.name = Vörösgyémánt-fal +block.redweed.name = Vörös fű +block.pur-bush.name = Lila bokor +block.yellowcoral.name = Sárga korall +block.carbon-boulder.name = Szénszikla +block.ferric-boulder.name = Vasas szikla +block.beryllic-boulder.name = Berilliumos szikla +block.yellow-stone-boulder.name = SárgakÅ‘-szikla +block.arkyic-boulder.name = Arkicites szikla +block.crystal-cluster.name = Kristályfürt +block.vibrant-crystal-cluster.name = Vibráló kristályfürt +block.crystal-blocks.name = Kristályblokkok +block.crystal-orbs.name = Kristálygömbök +block.crystalline-boulder.name = Kristályos szikla +block.red-ice-boulder.name = Vörösjég-szikla +block.rhyolite-boulder.name = Riolitszikla +block.red-stone-boulder.name = VöröskÅ‘-szikla +block.graphitic-wall.name = Grafitfal +block.silicon-arc-furnace.name = Szilícium-ívkemence +block.electrolyzer.name = Elektrolizátor +block.atmospheric-concentrator.name = Atmoszferikus sűrítÅ‘ +block.oxidation-chamber.name = Oxidációs kamra +block.electric-heater.name = Elektromos fűtÅ‘test +block.slag-heater.name = Salakos fűtÅ‘test +block.phase-heater.name = Tóritkvarcos fűtÅ‘test +block.heat-redirector.name = HÅ‘elvezetÅ‘ +block.small-heat-redirector.name = Kis hÅ‘elvezetÅ‘ +block.heat-router.name = HÅ‘elosztó +block.slag-incinerator.name = Salakos égetÅ‘kamra +block.carbide-crucible.name = Karbidolvasztó +block.slag-centrifuge.name = Salakcentrifuga +block.surge-crucible.name = Elektrometál-olvasztó +block.cyanogen-synthesizer.name = Diciánszintetizáló +block.phase-synthesizer.name = Tóritkvarc-szintetizáló +block.heat-reactor.name = HÅ‘erÅ‘mű +block.beryllium-wall.name = Berilliumfal +block.beryllium-wall-large.name = Nagy berilliumfal +block.tungsten-wall.name = Volfrámfal +block.tungsten-wall-large.name = Nagy volfrámfal +block.blast-door.name = Robbanásbiztos ajtó +block.carbide-wall.name = Karbidfal +block.carbide-wall-large.name = Nagy karbidfal +block.reinforced-surge-wall.name = MegerÅ‘sített elektrometálfal +block.reinforced-surge-wall-large.name = Nagy megerÅ‘sített elektrometálfal +block.shielded-wall.name = Pajzzsal védett fal +block.radar.name = Radar +block.build-tower.name = ÉpítÅ‘torony +block.regen-projector.name = Regeneráló kivetítÅ‘ +block.shockwave-tower.name = Sokkhullámtorony +block.shield-projector.name = ErÅ‘pajzs-kivetítÅ‘ +block.large-shield-projector.name = Nagy erÅ‘pajzs-kivetítÅ‘ +block.armored-duct.name = Páncélozott szállítószalag +block.overflow-duct.name = Túlcsorduló kapu +block.underflow-duct.name = Alulcsorduló kapu +block.duct-unloader.name = Szállítószalag-kirakodó +block.surge-conveyor.name = Elektrometál-szállítószalag +block.surge-router.name = Elektrometál-elosztó +block.unit-cargo-loader.name = Egységrakomány-berakodó +block.unit-cargo-unload-point.name = Egységrakomány-kirakodó pont +block.reinforced-pump.name = MegerÅ‘sített szivattyú +block.reinforced-conduit.name = MegerÅ‘sített csÅ‘vezeték +block.reinforced-liquid-junction.name = MegerÅ‘sített folyadékátkötés +block.reinforced-bridge-conduit.name = MegerÅ‘sített csÅ‘vezetékhíd +block.reinforced-liquid-router.name = MegerÅ‘sített folyadékelosztó +block.reinforced-liquid-container.name = MegerÅ‘sített folyadéktározó +block.reinforced-liquid-tank.name = MegerÅ‘sített folyadéktartály +block.beam-node.name = Sugárcsomópont +block.beam-tower.name = Sugártorony +block.beam-link.name = Sugárhálózat +block.turbine-condenser.name = Kondenzációs turbina +block.chemical-combustion-chamber.name = Kémiai égetÅ‘kamra +block.pyrolysis-generator.name = Pirolízis-erÅ‘mű +block.vent-condenser.name = Vízleválasztó +block.cliff-crusher.name = Sziklazúzó +block.large-cliff-crusher.name = Fejlett sziklazúzó +block.plasma-bore.name = Plazmafúró +block.large-plasma-bore.name = Fejlett plazmafúró +block.impact-drill.name = Ütvefúró +block.eruption-drill.name = Kitöréses fúró +block.core-bastion.name = Bástya +block.core-citadel.name = Citadella +block.core-acropolis.name = Akropolisz +block.reinforced-container.name = MegerÅ‘sített konténer +block.reinforced-vault.name = MegerÅ‘sített raktár +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = TankújratervezÅ‘ +block.mech-refabricator.name = MechújratervezÅ‘ +block.ship-refabricator.name = RepülÅ‘gép-újratervezÅ‘ +block.tank-assembler.name = TankösszeszerelÅ‘ +block.ship-assembler.name = RepülÅ‘gép-összeszerelÅ‘ +block.mech-assembler.name = MechösszeszerelÅ‘ +block.reinforced-payload-conveyor.name = MegerÅ‘sített rakományszállító-szalag +block.reinforced-payload-router.name = MegerÅ‘sített rakományelosztó +block.payload-mass-driver.name = Rakomány-tömegmozgató +block.small-deconstructor.name = Lebontó +block.canvas.name = Vászon +block.world-processor.name = Világprocesszor +block.world-cell.name = Világcella +block.tank-fabricator.name = Tankgyártó +block.mech-fabricator.name = Mechgyártó +block.ship-fabricator.name = RepülÅ‘gépgyártó +block.prime-refabricator.name = ElsÅ‘dleges újratervezÅ‘ +block.unit-repair-tower.name = Egységjavító torony +block.diffuse.name = Diffuse +block.basic-assembler-module.name = AlapvetÅ‘ összeszerelÅ‘ modul +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Fluxusreaktor +block.neoplasia-reactor.name = Neopláziareaktor -team.blue.name = blue -team.crux.name = red -team.sharded.name = orange -team.orange.name = orange -team.derelict.name = derelict -team.green.name = green -team.purple.name = purple +block.switch.name = Kapcsoló +block.micro-processor.name = Mikroprocesszor +block.logic-processor.name = Logikai processzor +block.hyper-processor.name = Hiperprocesszor +block.logic-display.name = Logikai kijelzÅ‘ +block.large-logic-display.name = Nagy logikai kijelzÅ‘ +block.memory-cell.name = Memóriacella +block.memory-bank.name = Memóriabank -hint.skip = Skip -hint.desktopMove = Use [accent][[WASD][] to move. -hint.zoom = [accent]Scroll[] to zoom in or out. -hint.mine = Move near the \uf8c4 copper ore and [accent]tap[] it to mine manually. -hint.desktopShoot = [accent][[Left-click][] to shoot. -hint.depositItems = To transfer items, drag from your ship to the core. -hint.respawn = To respawn as a ship, press [accent][[V][]. -hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] -hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. -hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it. -hint.placeDrill.mobile = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. -hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. -hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors. -hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uf838copper.\nUse conveyors and drills to supply them. -hint.breaking = [accent]Right-click[] and drag to break blocks. -hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. -hint.research = Use the \ue875 [accent]Research[] button to research new technology. -hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. -hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. -hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. -hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. -hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. -hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. -hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. -hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. -hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. -hint.command = Press [accent][[G][] to command nearby units of [accent]similar type[] into formation.\n\nTo command ground units, you must first control another ground unit. -hint.command.mobile = [accent][[Double-tap][] your unit to command nearby units into formation. -hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. -hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. -hint.payloadDrop = Press [accent]][] to drop a payload. -hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. -hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. -hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. -hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. -hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a  [accent]Foundation[] core over the ï¡© [accent]Shard[] core. Make sure it is free from nearby obstructions. -hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. -hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. -hint.coopCampaign = When playing the [accent]co-op campaign[], items that are produced in the current map will also be sent [accent]to your local sectors[].\n\nAny new research done by the host also carries over. +team.malis.name = Lila +team.crux.name = Piros +team.sharded.name = Narancssárga +team.derelict.name = Szürke +team.green.name = Zöld +team.blue.name = Kék -item.copper.description = Used in all types of construction and ammunition. -item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. -item.lead.description = Used in liquid transportation and electrical structures. -item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. -item.metaglass.description = Used in liquid distribution/storage structures. -item.graphite.description = Used in electrical components and turret ammunition. -item.sand.description = Used for production of other refined materials. -item.coal.description = Used for fuel and refined material production. -item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. -item.titanium.description = Used in liquid transportation structures, drills and aircraft. -item.thorium.description = Used in durable structures and as nuclear fuel. -item.scrap.description = Used in Melters and Pulverizers for refining into other materials. -item.scrap.details = Leftover remnants of old structures and units. -item.silicon.description = Used in solar panels, complex electronics and homing turret ammunition. -item.plastanium.description = Used in advanced units, insulation and fragmentation ammunition. -item.phase-fabric.description = Used in advanced electronics and self-repairing structures. -item.surge-alloy.description = Used in advanced weaponry and reactive defense structures. -item.spore-pod.description = Used for conversion into oil, explosives and fuel. -item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. -item.blast-compound.description = Used in bombs and explosive ammunition. -item.pyratite.description = Used in incendiary weapons and combustion-fueled generators. +hint.skip = Kihagyás +hint.desktopMove = Használd a [accent][[WASD][] gombokat a mozgáshoz. +hint.zoom = [accent]Görgess[] a nagyításhoz és kicsinyítéshez. +hint.desktopShoot = Használd a [accent]bal egérgombot[] a lövéshez. +hint.depositItems = A nyersanyagokat húzással helyezheted át a drónból a támaszpontba. +hint.respawn = Ahhoz, hogy drónként újraéledj, nyomd meg a [accent][[V][] gombot. +hint.respawn.mobile = Ãtvetted az irányítást egy egység vagy épület felett. Ahhoz, hogy drónként újraéledj, [accent]koppints a profilképre a bal felsÅ‘ sarokban.[] +hint.desktopPause = Nyomd meg a [accent][[szóközt][] a játék szüneteltetéséhez vagy folytatásához. +hint.breaking = [accent]Jobb egérgombbal[] és húzással lebonthatod a blokkokat. +hint.breaking.mobile = Használd a jobb alsó sarokban lévÅ‘ \ue817 [accent]kalapács[] gombot a blokkok törléséhez.\n\nTartsd lenyomva az ujjad és húzd, hogy nagyobb területet tudj kijelölni. +hint.blockInfo = Egy blokk információinak megtekintéséhez válaszd ki az épületet az [accent]építési menüben[], majd válaszd a [accent][[?][] gomb jobb oldalt. +hint.derelict = Az [accent]elhagyatott[] szerkezetek régi bázisok maradványai, amelyek már nem működnek.\n\nEzeket az épületeket le lehet [accent]bontani[] nyersanyagokért, vagy meg is lehet javítani Å‘ket. +hint.research = Használd a \ue875 [accent]technológiafa[] gombot, hogy új technológiákat fedezz fel. +hint.research.mobile = Használd a \ue875 [accent]technológiafa[] gombot a \ue88c [accent]menüben[], hogy új technológiákat fedezz fel. +hint.unitControl = Nyomd le a [accent][[bal Ctrl][] gombot, és kattints [accent]jobb egérgombbal[] a baráti egység vagy lövegtorony irányításához. +hint.unitControl.mobile = [accent][[Dupla koppintással][] a szövetséges egységek vagy lövegtornyok kézileg irányíthatók. +hint.unitSelectControl = Az egységek irányításához lépj be [accent]parancs módba[] a [accent]bal shift[] lenyomva tartásával.\nParancs módban az egységek kijelöléséhez kattints, és húzd az egeret. A [accent]jobb egérgombbal[] küldd az egységeket a helyszínre vagy a célponthoz. +hint.unitSelectControl.mobile = Az egységek irányításához lépj be [accent]parancs módba[] a bal alsó sarokban lévÅ‘ [accent]parancs[] gombbal.\nParancs módban az egységek kiválasztásához érintsd meg a kijelzÅ‘t és húzással jelöld ki az egységeket. Koppintással küldd az egységeket a helyszínre vagy a célponthoz. +hint.launch = Ha elegendÅ‘ nyersanyagot gyűjtöttél össze, akkor [accent]lÅ‘dd ki[] a támaszpontot a következÅ‘ szektorba, úgy, hogy megnyitod a \ue827 [accent]bolygótérképet[] a jobb alsó sarokban, és átforgatod az új helyszínre. +hint.launch.mobile = Ha elegendÅ‘ nyersanyagot gyűjtöttél össze, akkor [accent]lÅ‘dd ki[] a támaszpontot egy közeli szektorba, úgy, hogy kiválasztasz egy szektort a \ue88c [accent]menüben[] a \ue827 [accent]bolygótérképrÅ‘l[]. +hint.schematicSelect = Tartsd nyomja az [accent][[F][] gombot több épület kijelöléséhez és másolásához.\n\n[accent][[KözépsÅ‘ kattintással][] egy adott blokktípus másolható. +hint.rebuildSelect = Tartsd nyomva a [accent][[B][] gombot és húzással jelöld ki a megsemmisített blokkterveket.\nEz automatikusan újraépíti Å‘ket. +hint.rebuildSelect.mobile = Válaszd a \ue874 másolás gombot, majd koppints az \ue80f újraépítés gombra, és húzd a megsemmisült blokktervek kijelöléséhez.\nEz automatikusan újraépíti Å‘ket. +hint.conveyorPathfind = Tartsd nyomva a [accent][[bal ctrl][] gombot a szállítószalagok lerakása közben, hogy a játék útvonalat állítson elÅ‘. +hint.conveyorPathfind.mobile = Engedélyezd az \ue844 [accent]átlós módot[], és tegyél le egyszerre több szállítószalagot, hogy a játék útvonalat állítson elÅ‘. +hint.boost = Tartsd nyomva a [accent][[bal shift][] gombot, hogy átrepülj az akadályok felett.\n\nErre csak néhány földi egység képes. +hint.payloadPickup = Nyomd meg a [accent][[[] gombot a kis blokkok vagy egységek felemeléséhez. +hint.payloadPickup.mobile = [accent]Koppints és tartsd lenyomva az ujjad[] egy kis blokk vagy egység felemeléséhez. +hint.payloadDrop = Nyomd le a [accent]][] gombot a rakomány lerakásához. +hint.payloadDrop.mobile = [accent]Koppints és tartsd lenyomva az ujjad[] egy üres területen a rakomány lerakásához. +hint.waveFire = A vizet lÅ‘szerként használó [accent]Wave[] lövegtornyok automatikusan eloltják a közeli tüzeket. +hint.generator = Az \uf879 [accent]égetÅ‘erÅ‘mű[] szenet éget, és áramot ad át a vele érintkezÅ‘ épületeknek.\n\nAz áramszállítás távolsága további \uf87f [accent]villanyoszlopokkal[] növelhetÅ‘. +hint.guardian = Az [accent]Å‘rzÅ‘k[] páncélozottak. A gyenge lövedékek, mint a [accent]réz[] vagy az [accent]ólom[] [scarlet]nem hatásosak[] az ÅrzÅ‘ páncéljával szemben.\n\nHasználj magasabb szintű lövegtornyokat, vagy juttass \uf835 [accent]grafitot[] a \uf861 Duo / \uf859 Salvo lövegtornyokba, hogy leszedd az Å‘rzÅ‘ket. +hint.coreUpgrade = A támaszpont úgy fejleszthetÅ‘, hogy [accent]magasabb szintű támaszpontot teszel rá[].\n\nHelyezz egy \uf868 [accent]alapítvány[] támaszpontot a \uf869 [accent]szilánk[] támaszpontra. Figyelj rá, hogy ne legyenek az új támaszpont területén épületek. +hint.presetLaunch = A szürke [accent]landolási zónát tartalmazó szektorokba[], amilyen például a [accent]Fagyott erdÅ‘[], bárhonnan kilÅ‘hetsz. Nem szükséges hozzá szomszédos területet elfoglalnod.\n\nA [accent]számozott szektorokat[], mint ez is, a játékmenet szempontjából [accent]nem fontos[] elfoglalni. +hint.presetDifficulty = Ebben a szektorban [scarlet]magas az ellenséges fenyegetettségi szint[].\nAz ilyen szektorokba való indulás [accent]nem ajánlott[] megfelelÅ‘ technológia és felkészülés nélkül. +hint.coreIncinerate = Ha a támaszpont egy nyersanyagból elérte a maximumot, a beérkezÅ‘ további nyersanyagok azonnal [accent]megsemmisítésre kerülnek[]. +hint.factoryControl = Egy egységgyár [accent]kimeneti célpontjának[] beállításához kattints parancs módban egy gyárépületre, majd kattints jobb egérgombbal egy helyre.\nAz előállított egységek automatikusan odamennek. +hint.factoryControl.mobile = Egy egységgyár [accent]kimeneti célpontjának[] beállításához koppints parancs módban egy gyárépületre, majd koppints egy helyre.\nAz előállított egységek automatikusan odamennek. -liquid.water.description = Used for cooling machines and waste processing. -liquid.slag.description = Refined in separators into constituent metals, or sprayed at enemies as a weapon. -liquid.oil.description = Used in advanced material production and as incendiary ammunition. -liquid.cryofluid.description = Used as coolant in reactors, turrets and factories. +gz.mine = Menj a földön lévÅ‘ \uf8c4 [accent]rézérc[] közelébe, és kattints a bányászat megkezdéséhez. +gz.mine.mobile = Menj a földön lévÅ‘ \uf8c4 [accent]rézérc[] közelébe, és koppints a bányászat megkezdéséhez. +gz.research = Nyisd meg a \ue875 Technológia fát.\nFejleszd ki a \uf870 [accent]mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévÅ‘ \ue85e menübÅ‘l.\nKattints egy rézfoltra az elhelyezéséhez. +gz.research.mobile = Nyisd meg a \ue875 Technológia fát.\nFejleszd ki a \uf870 [accent]mechanikus fúrót[], majd válaszd ki a jobb alsó sarokban lévÅ‘ \ue85e menübÅ‘l.\nKattints egy rézfoltra az elhelyezéséhez.\n\nA megerÅ‘sítéshez nyomd meg a jobb alsó sarokban lévÅ‘ \ue800 [accent]pipát[]. +gz.conveyors = Fejleszd ki, és építs \uf896 [accent]szállítsszalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nKattints és húzd az egeret, hogy több szállítószalagot helyezz el.\nHasználd a [accent]görgÅ‘t[] a forgatáshoz. +gz.conveyors.mobile = Fejleszd ki, és építs \uf896 [accent]Szállítószalagokat[], hogy a kitermelt\nnyersanyagokat eljuttasd a fúróktól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. +gz.drills = BÅ‘vítsd a bányászati kapacitást.\nÉpíts több mechanikus fúrót.\nBányássz 100 rezet. +gz.lead = Az \uf837 [accent]ólom[] egy másik gyakran használt nyersanyag.\nÉpíts fúrókat az ólom kitermelésére. +gz.moveup = \ue804 Fedezd fel a szektort, hogy megtaláld a küldetés további utasításait! +gz.turrets = Fejleszd ki, és építs két \uf861 [accent]Duo[] lövegtornyot, hogy megvédd a támaszpontot.\nA Duo lövegtornyoknak \uf838 [accent]lÅ‘szerre[] van szükségük, amelyet szállítószalaggal juttathatsz el hozzájuk. +gz.duoammo = Szállítószalagok segítségével lásd el [accent]rézzel[] a Duo lövegtornyokat. +gz.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts \uf8ae [accent]Rézfalakat[] a lövegtornyok köré. +gz.defend = Az ellenség közeledik, készülj fel a védekezésre. +gz.aa = A légi egységeket nem lehet könnyen elintézni a hagyományos lövegtornyokkal.\nA \uf860 [accent]Scatter[] lövegtornyok kiváló légelhárítást biztosítanak, de lÅ‘szerként \uf837 [accent]ólomra[] van szükségük. +gz.scatterammo = Szállítószalagok segítségével lásd el \uf837 [accent]ólommal[] a Scatter lövegtornyokat. +gz.supplyturret = [accent]Lövegtorony ellátása +gz.zone1 = Ez az ellenség leszállóhelye. +gz.zone2 = Bármi, ami a hatósugarában épült, elpusztul, amikor egy hullám elindul. +gz.zone3 = Egy hullám most kezdÅ‘dik.\nKészülj fel! +gz.finish = Építs több lövegtornyot, bányássz több nyersanyagot,\nés védekezz az ellenséges hullámok ellen, hogy [accent]elfoglald a szektort[]. -block.resupply-point.description = Resupplies nearby units with copper ammunition. Not compatible with units that require battery power. -block.armored-conveyor.description = Moves items forward. Does not accept inputs from the sides. -block.illuminator.description = Emits light. -block.message.description = Stores a message for communication between allies. -block.graphite-press.description = Compresses coal into graphite. -block.multi-press.description = Compresses coal into graphite. Requires water as coolant. -block.silicon-smelter.description = Refines silicon from sand and coal. -block.kiln.description = Smelts sand and lead into metaglass. -block.plastanium-compressor.description = Produces plastanium from oil and titanium. -block.phase-weaver.description = Synthesizes phase fabric from thorium and sand. -block.alloy-smelter.description = Fuses titanium, lead, silicon and copper into surge alloy. -block.cryofluid-mixer.description = Mixes water and fine titanium powder to produce cryofluid. -block.blast-mixer.description = Produces blast compound from pyratite and spore pods. -block.pyratite-mixer.description = Mixes coal, lead and sand into pyratite. -block.melter.description = Melts down scrap into slag. -block.separator.description = Separates slag into its mineral components. -block.spore-press.description = Compresses spore pods into oil. -block.pulverizer.description = Crushes scrap into fine sand. -block.coal-centrifuge.description = Transforms oil into coal. -block.incinerator.description = Vaporizes any item or liquid it receives. -block.power-void.description = Voids all power inputted. Sandbox only. -block.power-source.description = Infinitely outputs power. Sandbox only. -block.item-source.description = Infinitely outputs items. Sandbox only. -block.item-void.description = Destroys any items. Sandbox only. -block.liquid-source.description = Infinitely outputs liquids. Sandbox only. -block.liquid-void.description = Removes any liquids. Sandbox only. -block.copper-wall.description = Protects structures from enemy projectiles. -block.copper-wall-large.description = Protects structures from enemy projectiles. -block.titanium-wall.description = Protects structures from enemy projectiles. -block.titanium-wall-large.description = Protects structures from enemy projectiles. -block.plastanium-wall.description = Protects structures from enemy projectiles. Absorbs lasers and electric arcs. Blocks automatic power connections. -block.plastanium-wall-large.description = Protects structures from enemy projectiles. Absorbs lasers and electric arcs. Blocks automatic power connections. -block.thorium-wall.description = Protects structures from enemy projectiles. -block.thorium-wall-large.description = Protects structures from enemy projectiles. -block.phase-wall.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. -block.phase-wall-large.description = Protects structures from enemy projectiles, reflecting most bullets upon impact. -block.surge-wall.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. -block.surge-wall-large.description = Protects structures from enemy projectiles, periodically releasing electric arcs upon contact. -block.door.description = A wall that can be opened and closed. -block.door-large.description = A wall that can be opened and closed. -block.mender.description = Periodically repairs blocks in its vicinity.\nOptionally uses silicon to boost range and efficiency. -block.mend-projector.description = Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. -block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. -block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric increases shield size. -block.shock-mine.description = Releases electric arcs upon enemy unit contact. -block.conveyor.description = Transports items forward. -block.titanium-conveyor.description = Transports items forward. Faster than a standard conveyor. -block.plastanium-conveyor.description = Transports items forward in batches. Accepts items at the back, and unloads them in three directions at the front. Requires multiple loading and unloading points for peak throughput. -block.junction.description = Acts as a bridge for two crossing conveyor belts. -block.bridge-conveyor.description = Transports items over terrain or buildings. -block.phase-conveyor.description = Instantly transports items over terrain or buildings. Longer range than the item bridge, but requires power. -block.sorter.description = If an input item matches the selection, it passes forward. Otherwise, the item is outputted to the left and right. -block.inverted-sorter.description = Similar to a standard sorter, but outputs selected items to the sides instead. -block.router.description = Distributes input items to 3 output directions equally. -block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. -block.distributor.description = Distributes input items to 7 output directions equally. -block.overflow-gate.description = Only outputs items to the left and right if the front path is blocked. Cannot be used next to other gates. -block.underflow-gate.description = Opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. Cannot be used next to other gates. -block.mass-driver.description = Long-range item transport structure. Collects batches of items and shoots them to other mass drivers. -block.mechanical-pump.description = Pumps and outputs liquids. Does not require power. -block.rotary-pump.description = Pumps and outputs liquids. Requires power. -block.thermal-pump.description = Pumps and outputs liquids. -block.conduit.description = Moves liquids forward. Used in conjunction with pumps and other conduits. -block.pulse-conduit.description = Moves liquids forward. Transports faster and stores more than standard conduits. -block.plated-conduit.description = Moves liquids forward. Does not accept input from the sides. Does not leak. -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. -block.liquid-tank.description = Stores a large amount of liquid. Outputs to all sides, similarly to a liquid router. -block.liquid-junction.description = Acts as a bridge for two crossing conduits. -block.bridge-conduit.description = Transports liquids over terrain or buildings. -block.phase-conduit.description = Transports liquids over terrain or buildings. Longer range than the bridge conduit, but requires power. -block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. -block.power-node-large.description = An advanced power node with greater range. -block.surge-tower.description = A long-range power node with fewer available connections. -block.diode.description = Moves battery power in one direction, but only if the other side has less power stored. -block.battery.description = Stores power in times of surplus energy. Outputs power in times of deficit. -block.battery-large.description = Stores power in times of surplus energy. Outputs power in times of deficit. Higher capacity than a regular battery. -block.combustion-generator.description = Generates power by burning flammable materials, such as coal. -block.thermal-generator.description = Generates power when placed in hot locations. -block.steam-generator.description = Generates power by burning flammable materials and converting water to steam. -block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. -block.rtg-generator.description = Uses the heat of decaying radioactive compounds to produce energy at a slow rate. -block.solar-panel.description = Provides a small amount of power from the sun. -block.solar-panel-large.description = Provides a small amount of power from the sun. More efficient than the standard solar panel. -block.thorium-reactor.description = Generates significant amounts of power from thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. -block.impact-reactor.description = Creates massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process. -block.mechanical-drill.description = When placed on ore, outputs items at a slow pace indefinitely. Only capable of mining basic resources. -block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill. -block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium. -block.blast-drill.description = The ultimate drill. Requires large amounts of power. -block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. -block.cultivator.description = Cultivates tiny concentrations of atmospheric spores into spore pods. -block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. -block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. -block.core-shard.description = Core of the base. Once destroyed, the sector is lost. -block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. -block.core-foundation.description = Core of the base. Well armored. Stores more resources than a Shard. -block.core-foundation.details = The second iteration. -block.core-nucleus.description = Core of the base. Extremely well armored. Stores massive amounts of resources. -block.core-nucleus.details = The third and final iteration. -block.vault.description = Stores a large amount of items of each type. Contents can be retrieved with an unloader. -block.container.description = Stores a small amount of items of each type. Contents can be retrieved with an unloader. -block.unloader.description = Unloads the selected item from nearby blocks. -block.launch-pad.description = Launches batches of items to selected sectors. -block.duo.description = Fires alternating bullets at enemies. -block.scatter.description = Fires clumps of lead, scrap or metaglass flak at enemy aircraft. -block.scorch.description = Burns any ground enemies close to it. Highly effective at close range. -block.hail.description = Fires small shells at ground enemies over long distances. -block.wave.description = Fires streams of liquid at enemies. Automatically extinguishes fires when supplied with water. -block.lancer.description = Charges and fires powerful beams of energy at ground targets. -block.arc.description = Fires arcs of electricity at ground targets. -block.swarmer.description = Fires homing missiles at enemies. -block.salvo.description = Fires quick salvos of bullets at enemies. -block.fuse.description = Fires three close-range piercing blasts at nearby enemies. -block.ripple.description = Shoots clusters of shells at ground enemies over long distances. -block.cyclone.description = Fires explosive clumps of flak at nearby enemies. -block.spectre.description = Fires large armor-piercing bullets at air and ground targets. -block.meltdown.description = Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. -block.foreshadow.description = Fires a large single-target bolt over long distances. -block.repair-point.description = Continuously repairs the closest damaged unit in its vicinity. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. -block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. -block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. -block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. -block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. -block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. -block.payload-conveyor.description = Moves large payloads, such as units from factories. -block.payload-router.description = Splits input payloads into 3 output directions. -block.command-center.description = Controls unit behavior with several different commands. -block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. -block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. -block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. -block.additive-reconstructor.description = Upgrades inputted units to the second tier. -block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. -block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. -block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. -block.switch.description = A toggleable switch. State can be read and controlled with logic processors. -block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. -block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. -block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. -block.memory-cell.description = Stores information for a logic processor. -block.memory-bank.description = Stores information for a logic processor. High capacity. -block.logic-display.description = Displays arbitrary graphics from a logic processor. -block.large-logic-display.description = Displays arbitrary graphics from a logic processor. -block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +onset.mine = Kattints bal egérgombbal a \uf748 [accent]berillium[] kibányászáshoz a falakból.\n\nA mozgáshoz használd a [accent][[WASD] gombokat. +onset.mine.mobile = Koppints a \uf748 [accent]berillium[] kibányászáshoz a falakból. +onset.research = Nyisd meg a \ue875 Technológia fát.\nFejleszd ki, és építs egy \uf73e [accent]kondenzációs turbinát[] a kürtÅ‘n.\nEz [accent]áramot[] fog termelni. +onset.bore = Fejleszd ki, és építs egy \uf741 [accent]plazmafúrót[].\nEz automatikusan bányássza ki a nyersanyagokat a falakból. +onset.power = Ahhoz, hogy [accent]árammal[] lásd el a plazmafúrót, fejleszd ki, és helyezz el egy \uf73d [accent]sugárcsomópontot[].\nSegítségükkel összekötheted a kondenzációs turbinát a plazmafúróval. +onset.ducts = Fejleszd ki, és építs \uf799 [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\nKattints, és húzd az egeret több szállítószalag elhelyezéséhez.\nHasználd a [accent]görgÅ‘t[] a forgatáshoz. +onset.ducts.mobile = Fejleszd ki, és építs \uf799 [accent]szállítószalagot[], hogy a kitermelt nyersanyagokat eljuttasd a plazmafúrótól a támaszpontba.\n\nTartsd lenyomva az ujjad és húzd el, hogy több szállítószalagot helyezz el. +onset.moremine = BÅ‘vítsd a bányászati kapacitást.\nHelyezz el több plazmavágót, és a támogatásukhoz használj sugárcsomópontokat és szállítószalagokat.\nBányássz 200 berilliumot. +onset.graphite = Az összetettebb épületekhez \uf835 [accent]grafit[] szükséges.\nÉpíts plazmavágókat a grafit kibányászásához. +onset.research2 = Kezdd el a [accent]gyárak[] fejlesztését.\nFejleszd ki a \uf74d [accent]sziklazúzót[] és a \uf779 [accent]szilícium-ívkemencét[]. +onset.arcfurnace = A szilícium-ívkemencének \uf834 [accent]homokra[] és \uf835 [accent]grafitra[] van szüksége, hogy \uf82f [accent]szilíciumot[] gyártson.\nTovábbá [accent]áram[] is szükséges a működéséhez. +onset.crusher = Használj \uf74d [accent]sziklazúzókat[], hogy homokot bányássz. +onset.fabricator = Használd az [accent]egységeket[], hogy felfedezd a pályát, megvédd az épületeket, és megtámadhasd velük az ellenséget. Fejleszd ki, és helyezz el egy \uf6a2 [accent]tankgyártót[]. +onset.makeunit = Ãllíts elÅ‘ egy egységet.\nHasználd a „?†gombot, hogy megnézd a kiválasztott gyár követelményeit. +onset.turrets = Az egységek hatékonyak, de hatásosan alkalmazva a [accent]lövegtornyok[] jobb védelmi képességeket biztosítanak.\nHelyezz el egy \uf6eb [accent]Breach[] lövegtornyot.\nA lövegtornyoknak \uf748 [accent]lÅ‘szerre[] van szüksége. +onset.turretammo = Szállítótalagok használatával lásd el a lövegtornyokat [accent]berillium[] lÅ‘szerrel. +onset.walls = A [accent]falak[] megakadályozhatják, hogy az épületekben károk keletkezzenek.\nÉpíts \uf6ee [accent]berilliumfalakat[] a lövegtornyok körül. +onset.enemies = Az ellenség közeledik, készülj fel a védekezésre. +onset.defenses = [accent]Ãllíts fel védelmet:[lightgray] {0} +onset.attack = Az ellenség most sebezhetÅ‘. Indíts ellentámadást! +onset.cores = Új támaszpont csak a [accent]támaszpontmezÅ‘re[] helyezhetÅ‘.\nAz új támaszpontok elÅ‘retolt bázisként működnek, és megosztják a nyersanyagkészletüket más támaszpontokkal.\nHelyezz el egy \uf725 támaszpontot. +onset.detect = Az ellenség 2 percen belül észrevesz téged.\nÃllíts fel védelmet, bányászatot és termelést. +onset.commandmode = Tartsd nyomva a [accent]shift[] gombot, hogy [accent]parancs módba[] lépj.\n[accent]Bal egérgombbal és húzással[] lehet egységeket kijelölni.\n[accent]Jobb egérgombbal[] az egységek mozgásra vagy támadásra utasíthatók. +onset.commandmode.mobile = Nyomd meg a [accent]parancs gombot[], hogy [accent]parancs módba[] lépj.\nTartsd nyomva az ujjad, majd [accent]húzd[] az egységek kiválasztásához.\n[accent]Koppintással[] az egységek mozgásra vagy támadásra utasíthatók. +aegis.tungsten = Volfrámot [accent]ütvefúróval[] lehet bányászni.\nEnnek az épületnek [accent]vízre[] és [accent]áramra[] van szüksége. -unit.dagger.description = Fires standard bullets at all nearby enemies. -unit.mace.description = Fires streams of flame at all nearby enemies. -unit.fortress.description = Fires long-range artillery at ground targets. -unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. -unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. -unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. -unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. -unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. -unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. -unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. -unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. -unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. -unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. -unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. -unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. -unit.flare.description = Fires standard bullets at nearby ground targets. -unit.horizon.description = Drops clusters of bombs on ground targets. -unit.zenith.description = Fires salvos of missiles at all nearby enemies. -unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. -unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. -unit.mono.description = Automatically mines copper and lead, depositing it into the core. -unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. -unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. -unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. -unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. -unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. -unit.minke.description = Fires shells and standard bullets at nearby ground targets. -unit.bryde.description = Fires long-range artillery shells and missiles at enemies. -unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. -unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. -unit.alpha.description = Defends the Shard core from enemies. Builds structures. -unit.beta.description = Defends the Foundation core from enemies. Builds structures. -unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +split.pickup = Egyes blokkok a támaszpont drónjával is felvehetÅ‘k.\nVedd fel ezt a [accent]konténert[] és helyezd egy [accent]rakománycsomagolóba[].\n(A felvétel és lerakás alapértelmezett gombjai: [[ és ].) +split.pickup.mobile = Egyes blokkok a támaszpont drónjával is felvehetÅ‘k.\nVedd fel ezt a [accent]konténert[] és helyezd egy [accent]rakománycsomagolóba[].\n(A felvételhez és lerakáshoz nyomd meg hosszan.) +split.acquire = Az egységek építéséhez volfrámot kell szerezned. +split.build = Az egységeket a fal másik oldalára kell eljuttatni.\nÉpíts két [accent]rakomány-tömegmozgatót[], egyet-egyet a fal mindkét oldalán.\nÃllítsd be a szállítási kapcsolatukat úgy, hogy kiválasztod az egyiket, majd kiválasztod a másikat. +split.container = A konténerekhez hasonlóan, az egységek is szállíthatók a [accent]rakomány-tömegmozgatóval[].\nÉpíts egy egységgyárat egy tömegmozgató mellé, hogy feltöltsd Å‘ket, majd küldd át Å‘ket a falon, hogy megtámadják az ellenséges bázist. + +item.copper.description = Széleskörűen használatos építkezésnél és lÅ‘szerként. +item.copper.details = Réz. Szokatlanul bÅ‘ségesen elterjedt fém a Serpulón. MegerÅ‘sítés nélkül strukturálisan gyenge. +item.lead.description = Folyadékszállításnál és elektromos eszközökben használatos. +item.lead.details = Sűrű. Közömbös. Széleskörűen használatos az akkumulátorokban.\nMegjegyzés: Valószínűleg mérgezÅ‘ a biológiai életformákra; nem mintha sok maradt volna errefelé. +item.metaglass.description = Folyadékszállító és -tárolóépületeknél használatos. +item.graphite.description = Elektromos alkatrészekben és lÅ‘szerként használatos. +item.sand.description = Egyéb finomított nyersanyagok gyártása során használatos. +item.coal.description = TüzelÅ‘anyagként és finomított nyersanyagok gyártásához használatos. +item.coal.details = Fosszilizálódott növényi anyagnak tűnik, jóval a „spóra incidens†elÅ‘ttrÅ‘l. +item.titanium.description = Folyadékszállító épületekben, fúrókban és gyárakban használatos. +item.thorium.description = Strapabíró szerkezetekben használatos nukleáris fűtÅ‘anyag. +item.scrap.description = Olvasztókban és porítókban használatos már nyersanyagok finomításához. +item.scrap.details = Åsi építmények és egységek hátrahagyott maradványai. +item.silicon.description = Napelemekben, összetett áramkörökben és nyomkövetÅ‘ lÅ‘szerekben használatos. +item.plastanium.description = Fejlett egységek alapanyagaként, hÅ‘szigetelésben és repeszlövedékekben használatos. +item.phase-fabric.description = Fejlett elektromos eszközökben és önjavító épületekben használatos. +item.surge-alloy.description = Fejlett fegyverzetekhez és aktív védelmi épületekhez használatos. +item.spore-pod.description = Olajjá, robbanószerré és tüzelÅ‘anyaggá alakításhoz használatos. +item.spore-pod.details = Spórák. Valószínűleg egy mesterséges életforma. Más életformák számára halálos gázt bocsátanak ki. SzélsÅ‘ségesen invazív. MegfelelÅ‘ körülmények között erÅ‘sen gyúlékony. +item.blast-compound.description = Bombákhoz és robbanólövedékekhez használatos. +item.pyratite.description = Gyújtólövedékekben és tüzelÅ‘anyag-alapú generátorokban használatos. + +#Erekir +item.beryllium.description = Sokféle épület- és lÅ‘szertípushoz használatos az Erekiren. +item.tungsten.description = Fúrókban, páncélokban és lÅ‘szerben használatos. A fejlettebb épületek építéséhez szükséges. +item.oxide.description = HÅ‘vezetÅ‘ként és szigetelÅ‘ként is használatos az áramtermelésben. +item.carbide.description = Fejlett szerkezetekben, nehezebb egységekhez és lÅ‘szerként használatos. + +liquid.water.description = Gépek hűtéséhez és törmelékfeldolgozáshoz használatos. +liquid.slag.description = Leválasztókban alkotófémekre finomítható. A folyadékot lÅ‘szerként használó tornyokban használható, például: Wave, Tsunami. +liquid.oil.description = Fejlett nyersanyagok gyártásához és gyújtólövedékhez használatos. +liquid.cryofluid.description = Reaktorokban, lövegtornyokban és gyárakban használatos hűtÅ‘folyadékként. + +#Erekir +liquid.arkycite.description = Kémiai reakciókban használatos energiatermelésre és anyagszintézisre. +liquid.ozone.description = Az anyaggyártásban oxidálószerként, illetve üzemanyagként használatos. Mérsékelten robbanékony. +liquid.hydrogen.description = A nyersanyagok kitermelésében, egységgyártásban és szerkezetjavításban használatos. Gyúlékony. +liquid.cyanogen.description = LÅ‘szerként, fejlett egységek építéséhez és különbözÅ‘ reakciókhoz használatos a fejlett blokkokban. ErÅ‘sen gyúlékony. +liquid.nitrogen.description = A nyersanyagok kitermelésénél, gáztermelésnél és egységgyártásnál is használatos. Semleges gáz. +liquid.neoplasm.description = A neopláziareaktor veszélyes biológiai mellékterméke. Gyorsan átterjed minden szomszédos víztartalmú blokkra, amelyhez hozzáér, és közben károsítja azokat. Sűrű folyadék. +liquid.neoplasm.details = Neoplazma. Egy kontrollálhatatlan, gyorsan osztódó, iszap állagú, szintetikus sejtmassza. Hőálló. Rendkívül veszélyes minden vízzel kapcsolatos szerkezetre.\n\nTúl összetett és instabil a szabványos elemzésekhez. Potenciális alkalmazási területe ismeretlen. Ajánlott elégetni a salakos égetÅ‘kamrákban. + +block.derelict = \uf77e [lightgray]Elhagyatott +block.armored-conveyor.description = Nyersanyagokat szállít. Nem fogad el oldalról nem szállítószalagról érkezÅ‘ nyersanyagot. +block.illuminator.description = Világít. +block.message.description = Üzenetet tárol a szövetségesek kommunikációjához. +block.reinforced-message.description = Üzenetet tárol a szövetségesek közötti kommunikációhoz. +block.world-message.description = A pályakészítésben használható üzenetblokk. Nem lehet megsemmisíteni. +block.graphite-press.description = Grafittá préseli a szenet. +block.multi-press.description = Grafittá sajtolja a szenet. Hűtéséhez víz szükséges. +block.silicon-smelter.description = A homokot és a szenet szilíciummá finomítja. +block.kiln.description = Ólomüveget olvaszt az ólomból és a homokból. +block.plastanium-compressor.description = Olaj és titán felhasználásával műanyagot gyárt. +block.phase-weaver.description = Tórium és homok keverékébÅ‘l tóritkvarcot állít elÅ‘. +block.surge-smelter.description = Titán, ólom, szilícium és réz ötvözésével elektrometált állít elÅ‘. +block.cryofluid-mixer.description = Finom titánpor vízhez keverésével hűtÅ‘folyadékot állít elÅ‘. +block.blast-mixer.description = Robbanóelegyet gyárt piratitból és spórakapszulából. +block.pyratite-mixer.description = Piratittá vegyíti a szenet, a homokot és az ólmot. +block.melter.description = Salakká olvasztja a törmeléket. +block.separator.description = Ãsványi összetevÅ‘ire bontja a salakot. +block.spore-press.description = Olajat sajtol a spórakapszulából. +block.pulverizer.description = Finom homokká darálja a törmeléket. +block.coal-centrifuge.description = Szénné alakítja az olajat. +block.incinerator.description = Megsemmisít minden nyersanyagot és folyadékot. +block.power-void.description = Elnyel minden áramot. Csak homokozó módban. +block.power-source.description = Végtelen áramot termel. Csak homokozó módban. +block.item-source.description = Végtelen nyersanyagot termel. Csak homokozó módban. +block.item-void.description = Megsemmisít minden nyersanyagot. Csak homokozó módban. +block.liquid-source.description = Végtelen folyadékot termel. Csak homokozó módban. +block.liquid-void.description = Megsemmisít minden folyadékot. Csak homokozó módban. +block.payload-source.description = Végtelen rakományt termel. Csak homokozó módban. +block.payload-void.description = Megsemmisít minden rakományt. Csak homokozó módban. +block.copper-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.copper-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.titanium-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.titanium-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.plastanium-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. Elnyeli a lézereket és az elektromos szikrákat. Gátolja a villanyvezetékek automatikus kapcsolódását. +block.plastanium-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. Elnyeli a lézereket és az elektromos szikrákat. Gátolja a villanyvezetékek automatikus kapcsolódását. +block.thorium-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.thorium-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.phase-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l, a legtöbb lövedék visszapattan róla. +block.phase-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l, a legtöbb lövedék visszapattan róla. +block.surge-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l, periodikusan elektromos kisüléseket generál, ha hozzáérnek. +block.surge-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l, periodikusan elektromos kisüléseket generál, ha hozzáérnek. +block.scrap-wall.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.scrap-wall-large.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.scrap-wall-huge.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.scrap-wall-gigantic.description = Megvédi az épületeket az ellenséges lövedékektÅ‘l. +block.door.description = Nyitható és zárható fal. +block.door-large.description = Nyitható és zárható fal. +block.mender.description = IdÅ‘nként javítja a közeli épületeket.\nSzilíciummal növelhetÅ‘ a hatósugara és hatásfoka. +block.mend-projector.description = Javítja a közeli épületeket.\nTóritkvarccal növelhetÅ‘ a hatósugara és hatásfoka. +block.overdrive-projector.description = Megöveli a környezÅ‘ épületek termelési sebességét.\nTóritkvarccal növelhetÅ‘ a hatósugara és hatásfoka. +block.force-projector.description = Hatszögletű erÅ‘pajzsot hoz létre maga körül, amely megvédi a benne lévÅ‘ épületeket és egységeket a sérüléstÅ‘l.\nTúlmelegszik, ha túl sok sérülést szenved. HűtÅ‘folyadék használatával megakadályozható a túlmelegedés. A tóritkvarc megnöveli az erÅ‘pajzs méretét. +block.shock-mine.description = Elektromos kisülést hoz létre, ha ellenséggel érintkezik. +block.conveyor.description = Nyersanyagokat szállít. +block.titanium-conveyor.description = Nyersanyagokat szállít. Gyorsabb a sima szállítószalagnál. +block.plastanium-conveyor.description = Nyersanyagokat szállít tömbösítve. Hátulról fogadja a nyersanyagokat, elöl három irányba osztja szét Å‘ket. Több kezdÅ‘- és végponttal növelhetÅ‘ az áteresztÅ‘képessége. +block.junction.description = Hídként működik két egymást keresztezÅ‘ szállítószalag között. +block.bridge-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. +block.phase-conveyor.description = Nyersanyagokat szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima szállítószalaghíd, de áramot fogyaszt. +block.sorter.description = Csak a kiválasztott nyersanyagot engedi tovább egyenesen, minden mást oldalra ad ki. +block.inverted-sorter.description = Hasonló a szokásos válogatóhoz, de a kiválasztott nyersanyagot oldalra adja ki. +block.router.description = Egyenletesen háromfelé osztja szét a beérkezÅ‘ nyersanyagokat. +block.router.details = Egy szükséges rossz. Nem ajánlott termelÅ‘egységek mellett használni, mert a kimenet eltömíti. +block.distributor.description = Egyenletesen, hétfelé osztja szét a beérkezÅ‘ nyersanyagokat. +block.overflow-gate.description = Csak akkor ad ki nyersanyagot oldalra, ha elÅ‘refelé már nem tud. +block.underflow-gate.description = A túlcsorduló kapu ellentettje. Csak akkor ad ki nyersanyagot elÅ‘refelé, ha oldalra már nem tud. +block.mass-driver.description = Nagy hatótávolságú nyersanyagszállító eszköz. Rakományokat gyűjt össze, és átlövi egy másik, hozzákapcsolt tömegmozgatónak. +block.mechanical-pump.description = Folyadékot szivattyúz és ad ki. Nem fogyaszt áramot. +block.rotary-pump.description = Folyadékot szivattyúz és ad ki. Ãramot fogyaszt. +block.impulse-pump.description = Folyadékot szivattyúz és ad ki. +block.conduit.description = Folyadékot szállít. Szivattyúkkal és egyéb csÅ‘vezetékekkel együtt használatos. +block.pulse-conduit.description = Folyadékot szállít. Gyorsabban szállít, és nagyobb tárolókapacitású, mint a szokásos csÅ‘vezeték. +block.plated-conduit.description = Folyadékot szállít. Nem fogad el folyadékot oldalról. Nem szivárog, ha nincs a végén semmi. +block.liquid-router.description = Egyenletesen háromfelé osztja szét a beérkezÅ‘ folyadékot. Bizonyos mennyiség tárolására is képes. +block.liquid-container.description = JelentÅ‘s mennyiségű folyadékot tárol. Minden oldalon kiadja, hasonlóan a folyadékelosztóhoz. +block.liquid-tank.description = Nagy mennyiségű folyadékot tárol. Minden oldalon kiadja, hasonlóan a folyadékelosztóhoz. +block.liquid-junction.description = Hídként működik két egymást keresztezÅ‘ csÅ‘vezeték között. +block.bridge-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. +block.phase-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. Nagyobb távolságra ér, mint a sima csÅ‘vezetékhíd. Ãramot fogyaszt. +block.power-node.description = Ãramot vezet az összekapcsolt csomópontokhoz. A szomszédos blokkokkal automatikusan kapcsolatba kerül megépítéskor. +block.power-node-large.description = Nagyobb villanyoszlop, nagyobb hatótávolsággal. +block.surge-tower.description = Hosszútávú villanyoszlop, kevesebb elérhetÅ‘ kapcsolattal. +block.diode.description = Az eltárolt áramot egy irányba engedi át, de csak akkor, ha a fogadó oldalon kevesebb van tárolva. +block.battery.description = Ãramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. +block.battery-large.description = Ãramot tárol el, ha túltermelés van. Leadja az áramot, ha hiány van. Nagyobb kapacitású a szokásos akkumulátornál. +block.combustion-generator.description = Ãramot termel éghetÅ‘ anyagok, például szén, elégetésével. +block.thermal-generator.description = Forró környezetben áramot termel. +block.steam-generator.description = ÉghetÅ‘ anyagok elégetésével és víz gÅ‘zzé alakításával áramot termel. +block.differential-generator.description = Nagy mennyiségű áramot termel. A hűtÅ‘folyadék és az égÅ‘ piratit hÅ‘mérséklet-különbségét használja ki. +block.rtg-generator.description = A radioaktív bomlás energiáját hasznosítja, hogy lassan, de biztosan áramot termeljen. +block.solar-panel.description = NapfénybÅ‘l állít elÅ‘ kevés áramot. +block.solar-panel-large.description = NapfénybÅ‘l állít elÅ‘ kevés áramot. Hatékonyabb a szokásos napelemnél. +block.thorium-reactor.description = JelentÅ‘s mennyiségű áramot termel tóriumból. Ãllandó hűtést igényel. Ha nincs megfelelÅ‘en hűtÅ‘folyadékkal ellátva, akkor felrobban. +block.impact-reactor.description = Csúcsra járatva rengeteg áramot termel. A reakció beindítása jelentÅ‘s áramfogyasztással jár. +block.mechanical-drill.description = Ércre helyezve lassú tempóban termeli ki az adott nyersanyagot. Csak alapvetÅ‘ nyersanyagok kitermelésére képes. +block.pneumatic-drill.description = Egy olyan, fejlettebb fúró, amely titán kitermelésére is alkalmas. Gyorsabban dolgozik a mechanikus fúrónál. +block.laser-drill.description = Lézerek használatával még gyorsabban tud dolgozni. Ãramot fogyaszt. Képes tóriumot kitermelni. +block.blast-drill.description = A technológia csúcsa. Nagy mennyiségű áramot fogyaszt. +block.water-extractor.description = Kiszivattyúzza a talajvizet. Olyan helyeken használatos, ahol nem érhetÅ‘ el felszíni vízforrás. +block.cultivator.description = A légkörben szálló spórákat kapszulákba sűríti. +block.cultivator.details = Visszaszerzett technológia. Hatalmas tömegű biomassza gyártására alkalmas a lehetÅ‘ leghatékonyabban. Valószínűleg a Serpulo felszínét ma borító spórák kezdeti inkubátora. +block.oil-extractor.description = Nagy mennyiségű áramot fogyaszt, továbbá homokot és vizet igényel az olajfúráshoz. +block.core-shard.description = Támaszpont. Ha elpusztul, a szektor elveszett. +block.core-shard.details = Az elsÅ‘ modell. Kompakt. Önsokszorosító. Egyszer használatos gyorsítórakétákkal van felszerelve, nem bolygóközi utazásra tervezték. +block.core-foundation.description = Támaszpont. Jól páncélozott. Több nyersanyagot tárol, mint a szilánk. +block.core-foundation.details = A második modell. +block.core-nucleus.description = Támaszpont. Rendkívül jól páncélozott. Hatalmas mennyiségű nyersanyag tárolására képes. +block.core-nucleus.details = A harmadik, végsÅ‘ modell. +block.vault.description = Nagy mennyiséget tárol minden nyersanyagtípusból. Növeli a támaszpont tárolókapacitását, ha egy támaszpont mellé van helyezve. A tartalma kirakodó segítségével nyerhetÅ‘ ki. +block.container.description = Kis mennyiséget tárol minden nyersanyagtípusból. Növeli a támaszpont tárolókapacitását, ha egy támaszpont mellé van helyezve. A tartalma kirakodó segítségével nyerhetÅ‘ ki. +block.unloader.description = Kirakodja a szomszédos épületekbÅ‘l a kiválasztott nyersanyagot. +block.launch-pad.description = Nyersanyagokat juttat el a kiválasztott szektorokba. +block.advanced-launch-pad.description = Nyersanyagokat juttat el a kiválasztott szektorokba. Egyszerre csak egy nyersanyagtípust fogad el. +block.advanced-launch-pad.details = Szuborbitális rendszer a nyersanyagok szektorok között történÅ‘ szállítására. +block.landing-pad.description = Fogadja a más szektorok kilövőállásaiból érkezÅ‘ nyersanyagokat. Nagy mennyiségű vízet igényel a landolások okozta hatásokkal szembeni védekezéshez. +block.duo.description = Változatos lövedékekkel lÅ‘ az ellenségre. +block.scatter.description = Ólom-, törmelék- vagy ólomüvegdarabokat lÅ‘ az ellenséges légi egységekre. +block.scorch.description = Megégeti az ellenség közeli földi egységeit. Kis távolságra nagyon hatékony. +block.hail.description = Kis lövedékeket lÅ‘ ki nagy távolságokra lévÅ‘ földi célpontokra. +block.wave.description = Folyadékot önt az ellenségre. Eloltja a tüzeket, ha vízzel van ellátva. +block.lancer.description = ErÅ‘s energiasugarakat lÅ‘ közeli földi célpontokra. +block.arc.description = Elektromos szikrákat kelt földi célpontok között. +block.swarmer.description = NyomkövetÅ‘ rakétákat lÅ‘ az ellenségre. +block.salvo.description = Gyors sorozatokat lÅ‘ az ellenségre. +block.fuse.description = Három kis hatótávolságú, átütÅ‘ erejű lövedéket lÅ‘ a közeli ellenségre. +block.ripple.description = Lövedékek csoportjával tüzel nagy távolságra lévÅ‘ földi célpontokra. +block.cyclone.description = Robbanó lövedékeket lÅ‘ közeli ellenségekre. +block.spectre.description = Nagy lövedékekkel tüzel légi és földi célpontokra. +block.meltdown.description = FeltöltÅ‘dés után folyamatos lézersugarat lÅ‘ a közeli ellenségekre. A működéséhez hűtÅ‘folyadékot igényel. +block.foreshadow.description = Egy nagy villámot lÅ‘ ki egy nagy távolságra lévÅ‘ célpontra. A magasabb maximális életerÅ‘vel rendelkezÅ‘ ellenségeket részesíti elÅ‘nyben. +block.repair-point.description = Folyamatosan javítja a hatósugarában lévÅ‘ legközelebbi sérült egységet. +block.segment.description = Megsemmisíti a beérkezÅ‘ lövedékeket. A lézerrel szemben hatástalan. +block.parallax.description = Vonónyalábot bocsát ki, amivel magához vonzza, és közben sebzi a légi egységeket. +block.tsunami.description = ErÅ‘s folyadékhullámot lÅ‘ az ellenségre. Eloltja a tüzeket, ha vízzel van ellátva. +block.silicon-crucible.description = Szilíciumot finomít homokból és szénbÅ‘l, piratitot igényel kiegészítÅ‘ hÅ‘forrásként. Forró környezetben még hatékonyabb. +block.disassembler.description = Ritka ásványi összetevÅ‘ire bontja le a salakot, alacsony hatásfokkal. Képes tóriumot kinyerni. +block.overdrive-dome.description = Megnöveli a környezÅ‘ épületek termelési sebességét. A működtetése tóritkvarcot és szilíciumot igényel. +block.payload-conveyor.description = Nagy méretű terhet mozgat, például gyárakból érkezÅ‘ egységeket. Mágneses. Használható súlytalanságban. +block.payload-router.description = Háromfelé osztja szét a beérkezÅ‘ terhet. RendezÅ‘ként is szolgál, ha van megadva szűrÅ‘. Mágneses. Használható súlytalanságban. +block.ground-factory.description = Földi egységeket gyárt. Az elkészült egységek azonnal hadra foghatók, vagy újratervezÅ‘kben továbbfejleszthetÅ‘k. +block.air-factory.description = Légi egységeket gyárt. Az elkészült egységek azonnal hadra foghatók, vagy újratervezÅ‘kben továbbfejleszthetÅ‘k. +block.naval-factory.description = Vízi egységeket gyárt. Az elkészült egységek azonnal hadra foghatók, vagy újratervezÅ‘kben továbbfejleszthetÅ‘k. +block.additive-reconstructor.description = Kettes szintre fejleszti a beérkezÅ‘ egységeket. +block.multiplicative-reconstructor.description = Hármas szintre fejleszti a beérkezÅ‘ egységeket. +block.exponential-reconstructor.description = Négyes szintre fejleszti a beérkezÅ‘ egységeket. +block.tetrative-reconstructor.description = Ötös szintre (a végsÅ‘re) fejleszti a beérkezÅ‘ egységeket. +block.switch.description = Kétállású kapcsoló. Az állapota logikai processzorokkal olvasható és vezérelhetÅ‘. +block.micro-processor.description = Logikai műveletek sorozatát hajtja végre egy ciklusban. Egységek vagy épületek irányítására használható. +block.logic-processor.description = Logikai műveletek sorozatát hajtja végre egy ciklusban. Egységek vagy épületek irányítására használható. Gyorsabb mint a mikroprocesszor. +block.hyper-processor.description = Logikai műveletek sorozatát hajtja végre egy ciklusban. Egységek vagy épületek irányítására használható. Gyorsabb mint a logikai processzor. +block.memory-cell.description = Információt tárol egy logikai processzor számára. +block.memory-bank.description = Információt tárol egy logikai processzor számára. Nagy kapacitású. +block.logic-display.description = TetszÅ‘leges ábrákat jelenít meg egy logikai processzor alapján. +block.large-logic-display.description = TetszÅ‘leges ábrákat jelenít meg egy logikai processzor alapján. +block.interplanetary-accelerator.description = Hatalmas elektromágneses sínágyútorony. Képes a támaszpontokat szökési sebességre gyorsítani a bolygóközi bevetéshez. +block.repair-turret.description = Folyamatosan javítja a hatósugarában lévÅ‘ legközelebbi sérült egységet. Opcionálisan elfogad hűtÅ‘folyadékot. + +#Erekir +block.core-bastion.description = Támaszpont. Páncélozott. Ha elpusztul, a szektor elveszett. +block.core-citadel.description = Támaszpont. Nagyon jól páncélozott. Több nyersanyagot tárol, mint a bástya. +block.core-acropolis.description = Támaszpont. Kivételesen jól páncélozott. Több nyersanyagot tárol, mint a citadella. +block.breach.description = ÃtütÅ‘ erejű berillium-, volfrám- vagy karbidlövedéket lÅ‘ az ellenséges célpontokra. +block.diffuse.description = Széles kúpban lÅ‘ ki lövedékeket. Visszalöki az ellenséges célpontokat. +block.sublimate.description = Folyamatos lángcsóvát lÅ‘ az ellenséges célpontokra. Ãtüti a páncélt. +block.titan.description = Hatalmas robbanóanyagú tüzérségi lövedéket lÅ‘ földi célpontokra. Hidrogént igényel. +block.afflict.description = Hatalmas töltésű repeszlövedék-gömböket lÅ‘ ki. HÅ‘t igényel. +block.disperse.description = ÉgÅ‘ repeszlövedékeket lÅ‘ légi célpontokra. +block.lustre.description = Lassan mozgó, egyszerre egy célpontra ható lézert lÅ‘ az ellenséges célpontokra. +block.scathe.description = Nagy erejű rakétát lÅ‘ ki jelentÅ‘s távolságokra lévÅ‘ földi célpontok ellen. +block.smite.description = ÃtütÅ‘ erejű, villámló lövedékeket lÅ‘ ki. +block.malign.description = LézertöltetekbÅ‘l álló célzott sortüzet zúdít az ellenséges célpontokra. JelentÅ‘s fűtést igényel. +block.silicon-arc-furnace.description = A homokot és a grafitot szilíciummá finomítja. +block.oxidation-chamber.description = A berilliumot és az ózont oxiddá alakítja. Melléktermékként hÅ‘t bocsát ki. +block.electric-heater.description = Fűti a vele szemben álló épületeket. Nagy mennyiségű áramot fogyaszt. +block.slag-heater.description = Fűti a vele szemben álló épületeket. Salakot igényel. +block.phase-heater.description = Fűti a vele szemben álló épületeket. Tóritkvarcot igényel. +block.heat-redirector.description = Más blokkokba irányítja át a felgyülemlett hÅ‘t. +block.small-heat-redirector.description = Más blokkokba irányítja át a felgyülemlett hÅ‘t. +block.heat-router.description = A felgyülemlett hÅ‘t három kimeneti irányba osztja szét. +block.electrolyzer.description = A vizet hidrogénné és ózonná alakítja. A keletkezÅ‘ gázokat két ellentétes irányba adja ki, amelyek a megfelelÅ‘ színnel vannak jelölve. +block.atmospheric-concentrator.description = Koncentrálja a légkörben lévÅ‘ nitrogént. HÅ‘t igényel. +block.surge-crucible.description = Salakból és szilíciumból elektrometált olvaszt. HÅ‘t igényel. +block.phase-synthesizer.description = Tóriumból, homokból és ózonból tóritkvarcot szintetizál. HÅ‘t igényel. +block.carbide-crucible.description = A grafitot és a volfrámot karbiddá olvasztja. HÅ‘t igényel. +block.cyanogen-synthesizer.description = ArkicitbÅ‘l és grafitból diciánt szintetizál. HÅ‘t igényel. +block.slag-incinerator.description = Elégeti a nem illékony nyersanyagokat vagy folyadékokat. Salakot igényel. +block.vent-condenser.description = A kürtÅ‘kbÅ‘l kiáramló gázokat vízzé kondenzálja. Ãramot fogyaszt. +block.plasma-bore.description = Ércfallal szemben elhelyezve, korlátlanul termel nyersanyagokat. Kis mennyiségű áramot fogyaszt.\nHidrogén felhasználásával növelhetÅ‘ a hatásfoka. +block.large-plasma-bore.description = Egy nagyobb plazmafúró. Képes a volfrám és a tórium bányászatára. Hidrogént igényel és áramot fogyaszt.\nNitrogén felhasználásával növelhetÅ‘ a hatásfoka. +block.cliff-crusher.description = FelÅ‘rli a falakat, és korlátlan mennyiségű homokot termel. Ãramot fogyaszt. A hatásfoka a fal típusától függÅ‘en változik. +block.large-cliff-crusher.description = FelÅ‘rli a falakat, és korlátlan mennyiségű homokot termel. Ãramot fogyaszt, és ózont igényel. A hatásfoka a fal típusától függÅ‘en változik, de volfrámmal növelhetÅ‘. +block.impact-drill.description = Ha ércre helyezik, korlátlan ideig, sorozatokban termeli ki a nyersanyagokat. Ãramot fogyaszt és vizet igényel. +block.eruption-drill.description = Továbbfejlesztett ütvefúró. Képes tóriumot bányászni. Hidrogént igényel. +block.reinforced-conduit.description = ElÅ‘re szállítja a folyadékokat. Nem fogad nem csÅ‘vezetékes bemeneteket oldalról. +block.reinforced-liquid-router.description = Egyenletesen osztja el a folyadékokat minden oldalra. +block.reinforced-liquid-tank.description = Nagy mennyiségű folyadékot tárol. +block.reinforced-liquid-container.description = JelentÅ‘s mennyiségű folyadékot tárol. +block.reinforced-bridge-conduit.description = Folyadékot szállít épületek és terepakadályok fölött. +block.reinforced-pump.description = Folyadékot szivattyúz és ad ki. Hidrogént igényel. +block.beryllium-wall.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. +block.beryllium-wall-large.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. +block.tungsten-wall.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. +block.tungsten-wall-large.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. +block.carbide-wall.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. +block.carbide-wall-large.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. +block.reinforced-surge-wall.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l, a lövedékekkel való érintkezésekor idÅ‘szakosan elektromos íveket bocsát ki. +block.reinforced-surge-wall-large.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l, a lövedékekkel való érintkezésekor idÅ‘szakosan elektromos íveket bocsát ki. +block.shielded-wall.description = Megvédi az építményeket az ellenséges lövedékektÅ‘l. Olyan erÅ‘pajzsot képez, amely a legtöbb lövedéket elnyeli, ha az áramellátás biztosítva van. Vezeti az áramot. +block.blast-door.description = Egy fal, amely kinyílik, ha szövetséges földi egységek vannak a közelében. Kézzel nem irányítható. +block.duct.description = ElÅ‘re mozgatja a nyersanyagokat. Csak egyetlen nyersanyag tárolására alkalmas. +block.armored-duct.description = ElÅ‘re mozgatja a nyersanyagokat. Csak szállítószalagos bemeneteket fogad el oldalról. +block.duct-router.description = A nyersanyagokat egyenlÅ‘en osztja el három irányba. Csak hátulról fogad el nyersanyagokat. Nyersanyag-válogatóként is beállítható. +block.overflow-duct.description = Csak akkor ad ki nyersanyagot oldalra, ha elÅ‘refelé már nem tud. +block.duct-bridge.description = Nyersanyagokat szállít épületek és terepakadályok fölött. +block.duct-unloader.description = A kiválasztott nyersanyagokat kirakodja a mögötte lévÅ‘ épületekbÅ‘l. Támaszpontokból nem tud kirakodni. +block.underflow-duct.description = A túlcsorduló kapu ellentettje. Csak akkor ad ki nyersanyagot elÅ‘refelé, ha oldalra már nem tud. +block.reinforced-liquid-junction.description = Csomópontként működik két egymást keresztezÅ‘ csÅ‘vezeték között. +block.surge-conveyor.description = A nyersanyagokat rakományokban mozgatja. Ãrammal felgyorsítható. Vezeti az áramot. +block.surge-router.description = Egyenletesen osztja el a nyersanyagokat három irányba az elektrometál-szállítószalagról. Ãrammal felgyorsítható. Vezeti az áramot. +block.unit-cargo-loader.description = Teherszállító drónokat épít. A drónok automatikusan eljuttatják a nyersanyagokat a megfelelÅ‘ szűrÅ‘vel rendelkezÅ‘ kirakodási pontokra. +block.unit-cargo-unload-point.description = A teherszállító drónok kirakodási pontjaként működik. Csak a kiválasztott szűrÅ‘nek megfelelÅ‘ nyersanyagokat fogadja be. +block.beam-node.description = MerÅ‘legesen áramot vezet a többi blokkhoz. Kis mennyiségű áramot tárol. +block.beam-tower.description = MerÅ‘legesen áramot vezet a többi blokkhoz. Nagy mennyiségű áramot tárol. Nagy hatótávolságú. +block.turbine-condenser.description = KürtÅ‘kre helyezve áramot termel. Kis mennyiségű vizet termel. +block.chemical-combustion-chamber.description = Ãramot termel arkicitbÅ‘l és ózonból. +block.pyrolysis-generator.description = Nagy mennyiségű áramot termel arkicitbÅ‘l és salakból. Melléktermékként vizet termel. +block.flux-reactor.description = Fűtés hatására nagy mennyiségű áramot termel. Stabilizátorként diciánt igényel. Az áramtermelés és a diciánigény arányos a hÅ‘bevitellel.\nFelrobban, ha nem áll rendelkezésre elegendÅ‘ dicián. +block.neoplasia-reactor.description = Arkicit, víz és tóritkvarc felhasználásával nagy mennyiségű áramot termel. Melléktermékként hÅ‘t és veszélyes neoplazmát termel.\nFelrobban, ha a neoplazmát nem távolítják el a reaktorból csÅ‘vezetékeken keresztül. +block.build-tower.description = Automatikusan újjáépíti a hatósugarában lévÅ‘ építményeket, és segíti a többi egységet az építkezésben. +block.regen-projector.description = Lassan javítja a szövetséges építményeket egy négyzet alakú területen. Hidrogént igényel.\nTóritkvarccal növelhetÅ‘ a hatásfoka. +block.reinforced-container.description = Kis mennyiségű nyersanyagot tud tárolni. A tartalma kirakodók segítségével nyerhetÅ‘ ki. Nem növeli a támaszpont tárolókapacitását. +block.reinforced-vault.description = Nagy mennyiségű nyersanyagot tud tárolni. A tartalma kirakodók segítségével nyerhetÅ‘ ki. Nem növeli a támaszpont tárolókapacitását. +block.tank-fabricator.description = Stell egységeket épít. Az elkészült egységek azonnal hadra foghatók, vagy újratervezÅ‘kben továbbfejleszthetÅ‘k. +block.ship-fabricator.description = Elude egységeket épít. Az elkészült egységek azonnal hadra foghatók, vagy újratervezÅ‘kben továbbfejleszthetÅ‘k. +block.mech-fabricator.description = Merui egységeket épít. Az elkészült egységek azonnal hadra foghatók, vagy újratervezÅ‘kben továbbfejleszthetÅ‘k. +block.tank-assembler.description = Nagy méretű tankokat állít össze a beadott blokkokból és egységekbÅ‘l. A kimeneti szint modulok hozzáadásával növelhetÅ‘. +block.ship-assembler.description = Nagy méretű repülÅ‘gépeket állít össze a beadott blokkokból és egységekbÅ‘l. A kimeneti szint modulok hozzáadásával növelhetÅ‘. +block.mech-assembler.description = Nagy méretű mecheket állít össze a beadott blokkokból és egységekbÅ‘l. A kimeneti szint modulok hozzáadásával növelhetÅ‘. +block.tank-refabricator.description = Kettes szintre fejleszti a beérkezÅ‘ tank típusú egységeket. +block.ship-refabricator.description = Kettes szintre fejleszti a beérkezÅ‘ repülÅ‘gép típusú egységeket. +block.mech-refabricator.description = Kettes szintre fejleszti a beérkezÅ‘ mech típusú egységeket. +block.prime-refabricator.description = Hármas szintre fejleszti a beérkezÅ‘ tank típusú egységeket. +block.basic-assembler-module.description = Növeli az összeszerelÅ‘ szintjét, ha annak az építési határvonala mellé helyezik. Ãramot fogyaszt. Használható nyersanyagrakomány-bemenetként. +block.small-deconstructor.description = Lebontja a beadott építményeket és egységeket. Visszaadja az építési költség 100%-át. +block.reinforced-payload-conveyor.description = ElÅ‘re mozgatja a rakományokat. +block.reinforced-payload-router.description = A rakományokat a szomszédos blokkokba osztja szét. A megfelelÅ‘ szűrÅ‘ beállítása esetén rakomány-válogatóként is beállítható. +block.payload-mass-driver.description = Nagy hatótávolságú rakományszállító eszköz. A kapott rakományokat egy másik, hozzákapcsolt rakomány-tömegmozgatónak lövi át. +block.large-payload-mass-driver.description = Nagyobb hatótávolságú rakományszállító eszköz, mint rakomány-tömegmozgató. A kapott rakományokat egy másik, hozzákapcsolt nagy rakomány-tömegmozgatónak lövi át. +block.unit-repair-tower.description = Javítja a közelében lévÅ‘ összes egységet. Ózont igényel. +block.radar.description = Fokozatosan feltárja a terepet és az ellenséges egységeket egy nagy sugarú körben. Ãramot fogyaszt. +block.shockwave-tower.description = Sérülést okoz és megsemmisíti az ellenséges lövedékeket egy körön belül. Diciánt igényel. +block.canvas.description = Egy egyszerű képet jelenít meg egy elÅ‘re meghatározott palettával. SzerkeszthetÅ‘. + +unit.dagger.description = Szokásos lövedékeket lÅ‘ a közeli ellenségekre. +unit.mace.description = Lángnyelveket küld a közeli ellenségek felé. +unit.fortress.description = Nagy hatótávolságú rakétákat lÅ‘ földi célpontokra. +unit.scepter.description = Töltött lövedékek záporát lövi közeli ellenségekre. +unit.reign.description = Méretes átütÅ‘ erejű lövedékeket zúdít minden közeli ellenségre. +unit.nova.description = Lézerlövedékeket lÅ‘ ki, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Repülésre alkalmas. +unit.pulsar.description = Elektromos szikrákat szór, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Repülésre alkalmas. +unit.quasar.description = ÃtütÅ‘ erejű lézersugarakat lÅ‘, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Repülésre alkalmas. ErÅ‘pajzsa van. +unit.vela.description = Folyamatos lézernyalábot bocsát ki, amelyek sebzik az ellenséges célpontokat, tüzet okoznak, és megjavítják a szövetséges épületeket. Repülésre alkalmas. +unit.corvus.description = Hatalmas lézersugarat lÅ‘, amelyek sebzik az ellenséges célpontokat, és megjavítják a szövetséges épületeket. Ãtlépi a legtöbb terepakadályt. +unit.crawler.description = Az ellenséghez rohan és megsemmisíti önmagát, nagy robbanást okozva. +unit.atrax.description = Bénító salakgolyókat lÅ‘ a földi célpontokra. A legtöbb terepakadályt átlépi. +unit.spiroct.description = Lézersugarakkal elszívja az ellenséges célpontok életerejét, miközben javítja önmagát. A legtöbb terepakadályt átlépi. +unit.arkyid.description = Nagy lézersugarakkal elszívja az ellenséges célpontok életerejét, miközben javítja önmagát. A legtöbb terepakadályt átlépi. +unit.toxopid.description = Kazettás elektromos bombákat és átütÅ‘ erejű lézert lÅ‘ az ellenségre. A legtöbb terepakadályt átlépi. +unit.flare.description = Szokásos lövedékeket lÅ‘ közeli földi célpontokra. +unit.horizon.description = Kazettás bombákat szór földi célpontokra. +unit.zenith.description = Rakétasorozatokat lÅ‘ közeli ellenségekre. +unit.antumbra.description = Lövedékek záporát zúdítja minden közeli ellenségre. +unit.eclipse.description = Két átütÅ‘ erejű lézersugarat és rengeteg lövedéket zúdít minden közeli ellenségre. +unit.mono.description = Automatikusan rezet és ólmot bányászik, a támaszpontba juttatva Å‘ket. +unit.poly.description = Automatikusan újjáépíti a lerombolt épületeket és segít más egységeknek az építkezésben. +unit.mega.description = Automatikusan javítja a sérült épületeket. Kis blokkok és földi egységek szállítására is alkalmas. +unit.quad.description = Plazmabombákat szór földi célpontokra, amelyek sebzik az ellenséget, de javítják a szövetséges épületeket. Közepes méretű földi egységek szállítására is alkalmas. +unit.oct.description = Megvédi a közeli szövetségeseket egy regeneráló pajzzsal. A legtöbb földi egység szállítására is alkalmas. +unit.risso.description = Rakéták és lövedékek záporát zúdítja minden közeli ellenségre. +unit.minke.description = Tüzérségi és szokásos lövedékeket lÅ‘ közeli földi célpontokra. +unit.bryde.description = Nagy távolságú tüzérségi lövedékeket és rakétákat lÅ‘ az ellenségre. +unit.sei.description = Rakéták és páncéltörÅ‘ lövedékek záporát zúdítja az ellenségre. +unit.omura.description = Nagy hatótávolságú átütÅ‘ erejű lövedékeket lÅ‘ az ellenségre. Flare egységeket gyárt. +unit.alpha.description = Megvédi a szilánk támaszpontot az ellenségtÅ‘l. Épületeket épít. +unit.beta.description = Megvédi az alapítvány támaszpontot az ellenségtÅ‘l. Épületeket épít. +unit.gamma.description = Megvédi az atommag támaszpontot az ellenségtÅ‘l. Épületeket épít. +unit.retusa.description = CélkövetÅ‘ torpedókat lÅ‘ ki minden közeli ellenségre. Javítja a szövetséges egységeket. +unit.oxynoe.description = Épületjavító lángcsóvát lÅ‘ az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket egy pontvédelmi toronnyal. +unit.cyerce.description = CélkeresÅ‘ kazettás rakétákat lÅ‘ ki az ellenségre. Javítja a szövetséges egységeket. +unit.aegires.description = Elektromosan sokkolja az összes ellenséges egységet és építményt, amely az energiamezejébe lép. Javítja az összes szövetségest. +unit.navanax.description = Robbanékony EMI-lövedékeket lÅ‘ ki, jelentÅ‘s károkat okozva az ellenséges energiahálózatokban, és megjavítva a szövetségesek építményeit. Szétolvasztja a közeli ellenséges célpontokat a 4 autonóm lézertornyával. + +#Erekir +unit.stell.description = Szokásos lövedékeket lÅ‘ ki az ellenséges célpontokra. +unit.locus.description = Változatos lövedékeket lÅ‘ ki az ellenséges célpontokra. +unit.precept.description = ÃtütÅ‘ erejű kazettás lövedékeket lÅ‘ ki az ellenséges célpontokra. +unit.vanquish.description = Nagy, átütÅ‘ erejű hasítólövedékeket lÅ‘ ki az ellenséges célpontokra. +unit.conquer.description = Nagy, átütÅ‘ erejű golyózáport lÅ‘ ki az ellenséges célpontokra. +unit.merui.description = Nagy hatótávolságú ágyúkkal lövi az ellenséges szárazföldi célpontokat. A legtöbb terepakadályt átlépi. +unit.cleroi.description = KettÅ‘s lövedékeket lÅ‘ ki az ellenséges célpontokra. Célba veszi az ellenséges lövedékeket a pontvédelmi tornyokkal. A legtöbb terepakadályt átlépi. +unit.anthicus.description = Nagy hatótávolságú célkövetÅ‘ rakétákat lÅ‘ ki az ellenséges célpontokra. A legtöbb terepakadályt átlépi. +unit.tecta.description = CélkövetÅ‘ plazmarakétákat lÅ‘ ki az ellenséges célpontokra. Irányított pajzzsal védi magát. A legtöbb terepakadályt átlépi. +unit.collaris.description = Nagy hatótávolságú repeszágyúval lövi az ellenséges célpontokat. A legtöbb terepakadályt átlépi. +unit.elude.description = CélkövetÅ‘ golyópárokat lÅ‘ ki az ellenséges célpontokra. Lebeg a folyadékfelületeket felett. +unit.avert.description = Forgó lövedékpárokat lÅ‘ ki az ellenséges célpontokra. +unit.obviate.description = Forgó, páros villámgömböket lÅ‘ ki az ellenséges célpontokra. +unit.quell.description = Nagy hatótávolságú célkövetÅ‘ rakétát lÅ‘ ki az ellenséges célpontokra. Elnyomja az ellenséges szerkezetjavító épületeket. Csak földi célpontokat támad. +unit.disrupt.description = Nagy hatótávolságú célkövetÅ‘ elnyomó rakétát lÅ‘ ki az ellenséges célpontokra. Elnyomja az ellenséges szerkezetjavító épületeket. Csak földi célpontokat támad. +unit.evoke.description = A bástya védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. 2×2-es épületek szállítására is alkalmas. +unit.incite.description = A citadella védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. 2×2-es épületek szállítására is alkalmas. +unit.emanate.description = Az akropolisz védelmére szolgáló építményeket épít. Sugárral javítja az építményeket. 2×2-es épületek szállítására is alkalmas. + +lst.read = Szám kiolvasása egy összekapcsolt memóriacellából. +lst.write = Szám beírása egy összekapcsolt memóriacellába. +lst.print = Szöveg hozzáadása a kiírási pufferhez.\nA [accent]Print Flush[] használatáig nem jelenít meg semmit. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = A szövegpufferben lévÅ‘ következÅ‘ helyÅ‘rzÅ‘ cseréje egy értékre.\nNem csinál semmit, ha a helyÅ‘rzÅ‘minta érvénytelen.\nHelyÅ‘rzÅ‘minta: „{[accent]number 0-9[]}â€\nPélda:\n[accent]print „test {0}â€\nformat „example†+lst.draw = Művelet hozzáadása a rajzpufferhez.\nA [accent]Draw Flush[] használatáig nem jelenít meg semmit. +lst.drawflush = Sorba állított [accent]Draw[] műveletek megjelenítése a kijelzÅ‘n. +lst.printflush = Sorba állított [accent]Print[] műveletek kiírása egy üzenetblokkba. +lst.getlink = A processzor hivatkozásának lekérése index alapján. 0-nál kezdÅ‘dik. +lst.control = Épület irányítása. +lst.radar = Egységek megkeresése az épület körül egy bizonyos hatótávolságban. +lst.sensor = Adatok lekérése egy épületrÅ‘l vagy egységrÅ‘l. +lst.set = Egy változó beállítása. +lst.operation = Egy művelet elvégzése 1-2 változóval. +lst.end = Ugrás az utasítási verem tetejére. +lst.wait = Várakozás bizonyos számú másodpercig. +lst.stop = A processzor futtatásának leállítása. +lst.lookup = Egy nyersanyag/folyadék/egység/épület típusának keresése azonosító alapján.\nAz egyes típusok összesített száma a következÅ‘kkel érhetÅ‘ el:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nA fordított művelethez használd az objektum [accent]@id[] értékét. +lst.jump = Feltételes ugrás egy másik utasításra. +lst.unitbind = Összekapcsolás a következÅ‘ egységtípussal, és tárolás a következÅ‘ben: [accent]@unit[]. +lst.unitcontrol = A jelenleg összekapcsolt egység vezérlése. +lst.unitradar = Egységek keresése a jelenleg összekapcsolt egység körül. +lst.unitlocate = Egy adott típusú pozíció/épület keresése bárhol a pályán.\nÖsszekapcsolt egységet igényel. +lst.getblock = MezÅ‘adatok lekérdezése tetszÅ‘leges helyen. +lst.setblock = MezÅ‘adatok beállítása tetszÅ‘leges helyen. +lst.spawnunit = Egység lerakása az adott helyen. +lst.applystatus = Ãllapothatás alkalmazása vagy törlése egy egységrÅ‘l. +lst.weathersense = EllenÅ‘rzés, hogy egy bizonyos típusú idÅ‘járás aktív-e. +lst.weatherset = Az idÅ‘járástípus jelenlegi állapotának megadása. +lst.spawnwave = Egy hullám indítása. +lst.explosion = Robbanás létrehozása az adott helyen. +lst.setrate = A processzor végrehajtási sebességének beállítása utasítás/órajelciklusban. +lst.fetch = Egységek, támaszpontok, játékosok, vagy épületek keresése index szerint.\nAz indexek 0-tól indulnak és a visszaadott számuknál végzÅ‘dnek. +lst.packcolor = Egyetlen számba tömöríti a [0, 1] RGBA komponenseket a rajzoláshoz vagy szabálymeghatározáshoz. +lst.setrule = Játékszabály beállítása. +lst.flushmessage = Üzenet megjelenítése a képernyÅ‘n a szövegpufferbÅ‘l. Ha a sikeres válasz változója [accent]@wait[],\nakkor, megvárja, amíg az elÅ‘zÅ‘ üzenet befejezÅ‘dik.\nMáskülönben azt adja ki, hogy az üzenet megjelenítése sikeres volt-e. +lst.cutscene = A játékos kamerájának mozgatása. +lst.setflag = Egy globális jelölÅ‘ beállítása, amely minden processzor által olvasható. +lst.getflag = EllenÅ‘rzés, hogy egy globális jelölÅ‘ be van-e állítva. +lst.setprop = Beállítja egy egység vagy épület tulajdonságát. +lst.effect = Részecskehatás létrehozása. +lst.sync = Egy változó szinkronizálása a hálózaton keresztül.\nMásodpercenként legfeljebb 20-szor hívható meg. +lst.playsound = Egy hangot játszik le.\nA hangerÅ‘ és a panoráma lehet globális érték, vagy a pozíció alapján kiszámított érték. +lst.makemarker = Új logikai jelölÅ‘ létrehozása a világban.\nMeg kell adni egy azonosítót a jelölÅ‘ azonosításához.\nA jelölÅ‘k száma jelenleg világonként 20 000-re van korlátozva. +lst.setmarker = Egy jelölÅ‘ tulajdonságának beállítása.\nA használt azonosítónak meg kell egyeznie a Make Marker utasításban megadottal.\nA [accent]null []értékek figyelmen kívül lesznek hagyva. +lst.localeprint = Hozzáadja a pálya nyelvi csomagjainak tulajdonságértékét a szövegpufferhez.\nA pálya nyelvi csomagjainak beállításait a térképszerkesztÅ‘ben ellenÅ‘rizheted: [accent]pályainformációk > nyelvi csomagok[].\nHa a kliens egy hordozható eszköz, akkor elÅ‘ször próbáld kiíratni a „.mobile†végzÅ‘désű tulajdonságot. + +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = A pi matematikai állandó (3.141…) +lglobal.@e = Az e matematikai állandó (2.718…) +lglobal.@degToRad = Ezzel a számmal szoroz a fok radiánra való átalakításához +lglobal.@radToDeg = Ezzel a számmal szoroz a radián fokra való átalakításához + +lglobal.@time = A jelenlegi mentés játékideje ezredmásodpercben +lglobal.@tick = A jelenlegi mentés játékideje, órajelciklusban (1 másodperc = 60 órajelciklus) +lglobal.@second = A jelenlegi mentés játékideje másodpercben +lglobal.@minute = A jelenlegi mentés játékideje percben +lglobal.@waveNumber = A jelenlegi hullám száma, ha a hullámok engedélyezve vannak +lglobal.@waveTime = Visszaszámláló a hullámokhoz, másodpercben +lglobal.@mapw = A pálya szélessége mezÅ‘ben +lglobal.@maph = A pálya magassága mezÅ‘ben + +lglobal.sectionMap = Pálya +lglobal.sectionGeneral = Ãltalános +lglobal.sectionNetwork = Hálózati/kliensoldali [Csak világprocesszor] +lglobal.sectionProcessor = Processzor +lglobal.sectionLookup = Keresés + +lglobal.@this = A kódot végrehajtó logikai blokk +lglobal.@thisx = A kódot végrehajtó blokk X koordinátája +lglobal.@thisy = A kódot végrehajtó blokk Y koordinátája +lglobal.@links = Az ehhez a processzorhoz kapcsolt épületek száma összesen +lglobal.@ipt = A processzor végrehajtási sebessége órajelciklusban (60 órajelciklus = 1 másodperc) + +lglobal.@unitCount = A játékban található egységtípusok száma összesen; a keresés utasítással együtt használatos +lglobal.@blockCount = A játékban található blokktípusok száma összesen; a keresés utasítással együtt használatos +lglobal.@itemCount = A játékban található nyersanyagtípusok száma összesen; a keres utasítással együtt használatos +lglobal.@liquidCount = A játékban található folyadéktípusok száma összesen; a keresés utasítással együtt használatos + +lglobal.@server = Igaz, ha a kód egy kiszolgálón, vagy egyjátékos módban fut, egyébként hamis +lglobal.@client = Igaz, ha a kód egy kiszolgálóhoz kapcsolódott kliensen fut + +lglobal.@clientLocale = A kódot futtató kliens területi beállítása. Például: hu_HU +lglobal.@clientUnit = A kódot futtató kliens egysége +lglobal.@clientName = A kódot futtató kliens játékosneve +lglobal.@clientTeam = A kódot futtató kliens csapatazonosítója +lglobal.@clientMobile = Igaz, ha a kódot futtató kliens egy hordozható eszköz, egyébként hamis + +logic.nounitbuild = [red]Az egységépítési logika itt nem megengedett. + +lenum.type = Az épület/egység típusa.\nPéldául bármilyen elosztó esetén a [accent]@router[] értéket adja vissza.\nNem karakterlánc. +lenum.shoot = Lövés egy adott pontra. +lenum.shootp = Lövés egy egységre/épületre sebesség-elÅ‘rejelzéssel. +lenum.config = Épületkonfiguráció, például nyersanyag-válogató. +lenum.enabled = Engedélyezve van-e a blokk. +laccess.currentammotype = Egy lövegtorony jelenlegi lÅ‘szer nyersanyaga/folyadéka. + +laccess.color = Megvilágítás színe. +laccess.controller = EgységvezérlÅ‘. Ha processzor vezérli, akkor a processzort adja vissza.\nKülönben magát az egységet adja vissza. +laccess.dead = Egy épület/egység megsemmisült-e, vagy érvénytelen-e. +laccess.controlled = Ezt adja vissza:\n[accent]@ctrlProcessor[], ha az egységvezérlÅ‘ egy processzor\n[accent]@ctrlPlayer[], ha az egység/épület vezérlÅ‘je a játékos\n[accent]@ctrlFormation[], ha az egység formációban van\nKülönben 0. +laccess.progress = Művelet elÅ‘rehaladása, 0 és 1 között.\nA termelés, a lövegtorony-újratöltés vagy az építés elÅ‘rehaladását adja vissza. +laccess.speed = Az egység legnagyobb sebessége, mezÅ‘/mp-ben. +laccess.id = Egy egység/blokk/nyersanyag/folyadék azonosítója.\nEz a keresési művelet fordítottja. + +lcategory.unknown = Ismeretlen +lcategory.unknown.description = Nem kategorizált utasítások. +lcategory.io = Bemenet és kimenet +lcategory.io.description = A memóriablokkok és processzorpufferek tartalmának módosítása. +lcategory.block = Blokkvezérlés +lcategory.block.description = Interakció a blokkokkal. +lcategory.operation = Műveletek +lcategory.operation.description = Logikai műveletek. +lcategory.control = Folyamatvezérlés +lcategory.control.description = A végrehajtási sorrend kezelése. +lcategory.unit = Egységvezérlés +lcategory.unit.description = Parancsok adása az egységeknek. +lcategory.world = Világ +lcategory.world.description = A világ viselkedésének szabályozása. + +graphicstype.clear = A kijelzÅ‘ kitöltése egy színnel. +graphicstype.color = Szín kiválasztása a következÅ‘ rajzolási műveletekhez. +graphicstype.col = A színnel egyenértékű, de csomagolva van.\nA csomagolt színeket hexa kódként írja ki egy [accent]%[] elÅ‘taggal.\nPéldául: a [accent]%ff0000[] piros lenne. +graphicstype.stroke = Vonalvastagság beállítása. +graphicstype.line = Vonalszakasz rajzolása. +graphicstype.rect = Téglalap kitöltése. +graphicstype.linerect = Téglalap körvonalának rajzolása. +graphicstype.poly = Egy szabályos sokszög kitöltése. +graphicstype.linepoly = Szabályos sokszög körvonalának rajzolása. +graphicstype.triangle = Egy háromszög kitöltése. +graphicstype.image = Kép rajzolása valamilyen tartalomról.\nPéldául: [accent]@router[] vagy [accent]@dagger[]. +graphicstype.print = Szöveget rajzol a kiírási pufferbÅ‘l.\nCsak ASCII karakterek használhatók.\nTörli a kiírás puffert. + +lenum.always = Mindig igaz. +lenum.idiv = Egész osztás. +lenum.div = Osztás.\nNullával való osztáskor a visszatérési érték [accent]null[]. +lenum.mod = Modulo. +lenum.equal = EgyenlÅ‘. Kényszeríti a típusokat.\nA nem null értékű objektumok értéke 1 lesz, egyébként 0. +lenum.notequal = Nem egyenlÅ‘. Kényszeríti a típusokat. +lenum.strictequal = Szigorúan egyenlÅ‘ség. Nem kényszeríti a típusokat.\nA [accent]null[] ellenÅ‘rzésére is használható. +lenum.shl = Biteltolás balra. +lenum.shr = Biteltolás jobbra. +lenum.or = Bitenkénti VAGY. +lenum.land = Logikai ÉS. +lenum.and = Bitenkénti ÉS. +lenum.not = Bitenkénti átfordítás. +lenum.xor = Bitenkénti KIZÃRÓ VAGY. + +lenum.min = Két szám minimuma. +lenum.max = Két szám maximuma. +lenum.angle = A vektor szöge fokban. +lenum.anglediff = Két szög abszolút távolsága fokban. +lenum.len = A vektor hossza. + +lenum.sin = Szinusz, fokban. +lenum.cos = Koszinusz, fokban. +lenum.tan = Tangens, fokban. + +lenum.asin = Arkusz szinusz, fokban. +lenum.acos = Arkusz koszinusz, fokban. +lenum.atan = Arkusz tangens, fokban. + +#Az alábbi zárójel nem elírás, nézz utána a „nyitott/zárt intervallum/tartomány jelöléseknek†+lenum.rand = Véletlenszerű decimális szám a [0, érték) tartományban. +lenum.log = Természetes logaritmus (ln). +lenum.log10 = 10-es alapú logaritmus. +lenum.noise = 2D-s szimplex zaj. +lenum.abs = Abszolút érték. +lenum.sqrt = Négyzetgyök. + +lenum.any = Bármelyik egység. +lenum.ally = Szövetséges egység. +lenum.attacker = Fegyveres egység. +lenum.enemy = Ellenséges egység. +lenum.boss = ÅrzÅ‘ egység. +lenum.flying = Légi egység. +lenum.ground = Földi egység. +lenum.player = Egy játékos által irányított egység. + +lenum.ore = ÉrclelÅ‘hely. +lenum.damaged = Sérült szövetséges épület. +lenum.spawn = Ellenséges kezdÅ‘pont.\nLehet támaszpont vagy pozíció. +lenum.building = Épület egy adott csoportban. + +lenum.core = Bármilyen támaszpont. +lenum.storage = Raktárépület, például raktár. +lenum.generator = Energiát termelÅ‘ épületek. +lenum.factory = Nyersanyagokat feldolgozó épületek. +lenum.repair = Javítási pontok. +lenum.battery = Bármilyen akkumulátor. +lenum.resupply = Utánpótlási pontok.\nCsak akkor van jelentÅ‘sége, amikor az [accent]„egység lÅ‘szereâ€[] engedélyezve van. +lenum.reactor = Ütközéses- vagy tóriumerÅ‘mű. +lenum.turret = Bármilyen lövegtorony. + +sensor.in = Az érzékelendÅ‘ épület/egység. + +radar.from = Az épület, ahonnan érzékelni kell.\nAz érzékelÅ‘ hatótávolságát az épület hatótávolsága korlátozza. +radar.target = SzűrÅ‘ az érzékelendÅ‘ egységekhez. +radar.and = További szűrÅ‘k. +radar.order = Rendezési sorrend. 0-tól visszafelé. +radar.sort = Az eredmények rendezésének metrikája. +radar.output = Változó, amelybe a kimeneti egységet írja. + +unitradar.target = ÉrzékelendÅ‘ egységek szűrése. +unitradar.and = További szűrÅ‘k. +unitradar.order = Rendezési sorrend. 0-tól visszafelé. +unitradar.sort = Az eredmények rendezésének metrikája. +unitradar.output = Változó, amelybe a kimeneti egységet írja. + +control.of = Irányítandó épület. +control.unit = Megcélozandó egység/épület. +control.shoot = LÅ‘jön-e. + +unitlocate.enemy = Felderítse-e az ellenséges épületeket. +unitlocate.found = Megtalálta-e az objektumot. +unitlocate.building = Kimeneti változó a megtalált épülethez. +unitlocate.outx = Kimenet X koordinátája. +unitlocate.outy = Kimenet Y koordinátája. +unitlocate.group = KeresendÅ‘ épületcsoport. + +playsound.limit = Ha igaz, megakadályozza a hang lejátszását,\nha már lejátszották ugyanabban a keretben. + +lenum.idle = Ne mozdulj, de folytasd az építkezést/bányászatot.\nAz alapértelmezett állapot. +lenum.stop = Mozgás/bányászás/építés leállítása. +lenum.unbind = A logikai vezérlés teljes kikapcsolása.\nA szokásos mesterséges intelligencia használatának folytatása. +lenum.move = Mozgás a pontos pozícióba. +lenum.approach = Egy pozíció megközelítése egy sugárral. +lenum.pathfind = Útkeresés a megadott pozícióhoz. +lenum.autopathfind = Automatikus útkeresés a legközelebbi ellenséges támaszponthoz vagy ledobási ponthoz.\nEz ugyanaz, mint a normál hullámos ellenséges útkeresés. +lenum.target = Lövés egy pozícióra. +lenum.targetp = Lövés egy célpontra sebesség-elÅ‘rejelzéssel. +lenum.itemdrop = Egy nyersanyag ledobása. +lenum.itemtake = Egy nyersanyag felvétele egy épületbÅ‘l. +lenum.paydrop = A jelenlegi rakomány ledobása. +lenum.paytake = Rakomány felvétele a jelenlegi helyen. +lenum.payenter = Belépés/leszállás a rakományblokkra, amelyen az egység van. +lenum.flag = Számjegyes egységjelölÅ‘. +lenum.mine = Bányászat egy helyen. +lenum.build = Egy épület építése. +lenum.getblock = Az épület-, talaj- és blokktípus lekérdezése a koordinátákon.\nAz egységnek a pozíciótartományon belül kell lennie, különben null értékkel tér vissza. +lenum.within = EllenÅ‘rzés, hogy az egység egy pozíció közelében van-e. +lenum.boost = ErÅ‘sítés indítása/leállítása. + +lenum.flushtext = Az írási puffer tartalmának ürítése a jelölÅ‘re, ha alkalmazható.\nHa a „fetch†igaz, akkor megpróbálja lekérni a tulajdonságokat a pálya nyelvi csomagjából vagy a játék csomagjából. +lenum.texture = A textúra neve közvetlenül a játék textúraatlaszából (ún. kebab-case elnevezési stílus használatával).\nHa a „printFlush†igaz, akkor a szöveges puffer tartalmát használja szöveges argumentumként. +lenum.texturesize = A textúra mérete mezÅ‘ben. A nulla érték a jelölÅ‘ szélességét az eredeti textúra méretére skálázza. +lenum.autoscale = Skálázva legyen-e a jelölÅ‘ a játékos nagyítási szintjének megfelelÅ‘en. +lenum.posi = Indexelt pozíció, vonal- és négyszögjelzÅ‘khöz használatos, ahol a nulla az elsÅ‘ pozíció. +lenum.uvi = A textúra pozíciója nullától egyig, négyzetjelölÅ‘khöz használatos. +lenum.colori = Indexelt szín, vonal- és négyzetjelölÅ‘khöz használatos, ahol a nulla az elsÅ‘ szín. + +lenum.wavetimer = Független attól, hogy a hullámok automatikusan indulnak-e az idÅ‘zítésre. Ha nem, akkor a hullámok a lejátszásgomb megnyomásakor indulnak. +lenum.wave = Jelenlegi hullámszám. Bármi lehet a nem-hullámalapú játékmódokban. +lenum.currentwavetime = Hullám-visszaszámlálás tickben. +lenum.waves = Független attól, hogy a hullámok egyáltalán elindíthatók-e. +lenum.wavesending = Független attól, hogy a hullámok kézzel elindíthatók-e a lejátszásgombbal. +lenum.attackmode = Meghatározza, hogy a játékmód támadó módban van-e. +lenum.wavespacing = A hullámok közötti idÅ‘ tickben. +lenum.enemycorebuildradius = Építési tilalmi zóna az ellenséges támaszpont körül. +lenum.dropzoneradius = Az ellenséges hullámok ledobási zónájának sugara. +lenum.unitcap = Alap egységdarabszám. Épületekkel tovább növelhetÅ‘. +lenum.lighting = Független attól, hogy a háttérfény engedélyezve van-e. +lenum.buildspeed = Az építési sebesség szorzója. +lenum.unithealth = Mennyi életponttal indulnak az egységek. +lenum.unitbuildspeed = Milyen gyorsan gyártanak egységeket az egységgyárak. +lenum.unitcost = Az egységek építéséhez szükséges erÅ‘források szorzója. +lenum.unitdamage = Mennyi sebzést okoznak az egységek. +lenum.blockhealth = Mennyi életponttal indulnak az épületek. +lenum.blockdamage = Mennyi sebzést okoznak az épületek (lövegtornyok). +lenum.rtsminweight = Minimális „támadási súly†szükséges ahhoz, hogy egy osztag támadjon. Minél magasabb az érték, annál megfontoltabbak az egységek. +lenum.rtsminsquad = A támadó osztagok minimális mérete. +lenum.maparea = A játszható területe a pályának. Minden, ami a területen kívülre esik, nem lesz elérhetÅ‘. +lenum.ambientlight = Háttérfény színe. Akkor használható, amikor a világítás engedélyezve van. +lenum.solarmultiplier = Megsokszorozza a napelemek teljesítményét. +lenum.dragmultiplier = Környezet-húzási szorzó. +lenum.ban = Épületek vagy egységek, amelyek nem építhetÅ‘k meg vagy helyezhetÅ‘k el a pályán. +lenum.unban = Egy egység vagy épület újraengedélyezése. diff --git a/core/assets/bundles/bundle_id_ID.properties b/core/assets/bundles/bundle_id_ID.properties new file mode 100644 index 0000000000..0b5eb9fa57 --- /dev/null +++ b/core/assets/bundles/bundle_id_ID.properties @@ -0,0 +1,2697 @@ +credits.text = Diciptakan oleh [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits = Kredit +contributors = Penerjemah dan Kontributor +discord = Bergabung di Discord Mindustry! +link.discord.description = Discord Mindustry resmi +link.reddit.description = Subreddit Mindustry +link.github.description = Sumber kode permainan +link.changelog.description = Daftar rekam pembaruan +link.dev-builds.description = Bentuk pengembangan kurang stabil +link.trello.description = Papan Trello resmi untuk fitur terencana +link.itch.io.description = Halaman itch.io dengan unduhan PC +link.google-play.description = Google Play Store +link.f-droid.description = F-Droid +link.wiki.description = Wiki Mindustry resmi +link.suggestions.description = Saran fitur baru +link.bug.description = Menemukan bug? Laporkan di sini +linkopen = Server ini mengirimkan Anda sebuah tautan. Apakah Anda yakin ingin membukanya?\n\n[sky]{0} +linkfail = Gagal membuka tautan!\nURL disalin ke papan klip. +screenshot = Tangkapan layar tersimpan di {0} +screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar. +gameover = Permainan Selesai +gameover.disconnect = Jaringan Terputus +gameover.pvp = Tim[accent] {0}[] menang! +gameover.waiting = [accent]Menunggu peta selanjutnya... +highscore = [accent]Rekor baru! +copied = Tersalin. +indev.notready = Bagian permainan saat ini belum siap + +load.sound = Suara +load.map = Peta +load.image = Gambar +load.content = Konten +load.system = Sistem +load.mod = Mod +load.scripts = Skrip + +be.update = Versi Bleeding Edge terbaru tersedia: +be.update.confirm = Unduh dan mulai ulang sekarang? +be.updating = Memperbarui... +be.ignore = Abaikan +be.noupdates = Tidak ada pembaruan yang ditemukan. +be.check = Periksa pembaruan + +mods.browser = Browser Mod +mods.browser.selected = Mod yang Dipilih +mods.browser.add = Pasang mod +mods.browser.reinstall = Pasang kembali +mods.browser.view-releases = Lihat Rilis +mods.browser.noreleases = [scarlet]Tidak Ada Rilis Ditemukan\n[accent]Tidak dapat menemukan rilis untuk mod ini. Periksa apakah repositori mod memiliki rilis publik. +mods.browser.latest = [lightgray][Terbaru] +mods.browser.releases = Rilis +mods.github.open = Repo +mods.github.open-release = Laman Rilis +mods.browser.sortdate = Urut berdasarkan waktu +mods.browser.sortstars = Urut berdasarkan bintang + +schematic = Skema +schematic.add = Menyimpan skema... +schematics = Kumpulan skema +schematic.search = Cari skema... +schematic.replace = Skema dengan nama tersebut sudah ada. Ganti dengan yang baru? +schematic.exists = Skema dengan nama tersebut sudah ada. +schematic.import = Mengimpor skema... +schematic.exportfile = Ekspor Berkas +schematic.importfile = Impor Berkas +schematic.browseworkshop = Cari di Workshop +schematic.copy = Salin ke papan klip +schematic.copy.import = Impor dari papan klip +schematic.shareworkshop = Bagikan di Workshop +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Balik Skema +schematic.saved = Skema telah disimpan. +schematic.delete.confirm = Skema ini akan benar-benar dihapus. +schematic.edit = Sunting Skema +schematic.info = {0}x{1}, {2} blok +schematic.disabled = [scarlet]Skema dimatikan[]\nPenggunaan skema tidak diperbolehkan di [accent]peta[] atau [accent]server[] ini. +schematic.tags = Tanda: +schematic.edittags = Ubah Tanda +schematic.addtag = Tambah Tanda +schematic.texttag = Tanda Teks +schematic.icontag = Tanda Ikon +schematic.renametag = Ubah Nama Tanda +schematic.tagged = {0} ditandai +schematic.tagdelconfirm = Ingin menghapus tanda ini? +schematic.tagexists = Tanda tersebut sudah ada. + +stats = Statistik +stats.wave = Gelombang Terkalahkan +stats.unitsCreated = Unit Terbentuk +stats.enemiesDestroyed = Musuh yang Dihancurkan +stats.built = Jumlah Blok yang Dibangun +stats.destroyed = Jumlah Blok Dihancurkan Musuh +stats.deconstructed = Jumlah Blok yang Dihancurkan Pemain +stats.playtime = Waktu Bermain + +globalitems = [accent]Bahan Keseluruhan +map.delete = Apakah Anda yakin ingin menghapus peta "[accent]{0}[]"? +level.highscore = Nilai Tertinggi: [accent]{0} +level.select = Pilih Level +level.mode = Mode Permainan: +coreattack = < Inti sedang diserang! > +nearpoint = [[ [scarlet]TINGGALKAN ZONA PENDARATAN SEGERA[] ]\npenghancuran akan terjadi +database = Basis Data Inti +database.button = Basis Data +savegame = Simpan Permainan +loadgame = Muat Permainan +joingame = Gabung Permainan +customgame = Permainan Kustom +newgame = Permainan Baru +none = +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Peta Kecil +position = Posisi +close = Tutup +website = Situs Web +quit = Keluar +save.quit = Simpan & Keluar +maps = Peta +maps.browse = Cari Peta +continue = Lanjutkan +maps.none = [lightgray]Peta tidak ditemukan! +invalid = Tidak Valid +pickcolor = Pilih Warna +preparingconfig = Menyiapkan Konfigurasi +preparingcontent = Menyiapkan Konten +uploadingcontent = Mengunggah Konten +uploadingpreviewfile = Mengunggah File Tinjauan +committingchanges = Membuat Perubahan +done = Selesai +feature.unsupported = Perangkat Anda tidak mendukung fitur ini. + +mods.initfailed = [red]âš [] Proses Memuat Mindustry sebelumnya gagal untuk dimulai. Kemungkinan besar disebabkan oleh mod yang bermasalah.\n\nUntuk menghindari kesalahan berulang, [red]semua mod telah dinonaktifkan.[] +mods = Mod +mods.none = [lightgray]Tidak ada mod yang ditemukan! +mods.guide = Panduan Modifikasi +mods.report = Laporkan Bug +mods.openfolder = Buka Folder Mod +mods.viewcontent = Buka Konten +mods.reload = Muat Ulang +mods.reloadexit = Game akan ditutup, untuk memuat ulang mod. +mod.installed = [[Terpasang] +mod.display = [gray]Mod:[orange] {0} +mod.enabled = [lightgray]Aktif +mod.disabled = [red]Nonaktif +mod.multiplayer.compatible = [gray]Kompatibel dalam Multipemain +mod.disable = Nonaktifkan +mod.version = Versi: +mod.content = Konten: +mod.delete.error = Tidak dapat menghapus mod. File mungkin sedang digunakan. + +mod.incompatiblegame = [red]Game telah Kedaluwarsa +mod.incompatiblemod = [red]Tidak Kompatibel +mod.blacklisted = [red]Tidak Didukung +mod.unmetdependencies = [red]Dependensi Tidak Terpenuhi +mod.erroredcontent = [scarlet]Konten Mengalami Kesalahan +mod.circulardependencies = [red]Dependensi Sirkular +mod.incompletedependencies = [red]Dependensi Tidak Lengkap + +mod.requiresversion.details = Membutuhkan versi game: [accent]{0}[]\nGame Anda telah kadaluarsa. Mod ini membutuhkan versi game yang lebih baru (kemungkinan versi beta/alpha) untuk berfungsi. +mod.outdatedv7.details = Mod ini tidak kompatibel dengan versi game ini. Pencipta harus memperbaruinya, and add [accent]minGameVersion: 136[] ke dalam file [accent]mod.json[]. +mod.blacklisted.details = Mod ini terdapat di dalam blacklist karena menyebabkan crash atau masalah lain dengan versi game saat ini. Mohon jangan dipakai. +mod.missingdependencies.details = Mod ini kekurangan dependensi: {0} +mod.erroredcontent.details = Mod ini menimbulkan masalah pada saat proses memuat. Tanyakan pembuat mod untuk memperbaikinya. +mod.circulardependencies.details = Mod ini memiliki dependensi yang membutuhkan satu sama lain. +mod.incompletedependencies.details = Mod ini gagal memuat karena kekurangan dependensi atau tidak valid: {0}. + +mod.requiresversion = Membutuhkan versi game: [red]{0} + +mod.errors = Terjadi kesalahan saat memuat konten. +mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Nonaktifkan mod yang bersangkutan atau perbaiki kesalahan tersebut sebelum bermain. +mod.nowdisabled = [scarlet]Mod '{0}' tidak memiliki dependensi:[accent] {1}\n[lightgray]Mod ini harus diunduh terlebih dahulu.\nMod ini akan dinonaktifkan secara otomatis. +mod.enable = Aktifkan +mod.requiresrestart = Game akan ditutup untuk mengaktifkan perubahan mod. +mod.reloadrequired = [scarlet]Mulai Ulang Dibutuhkan +mod.import = Impor Mod +mod.import.file = Impor File +mod.import.github = Impor dari GitHub +mod.jarwarn = [scarlet]Mod dari JAR sebenarnya tidak aman.[]\nPastikan Anda mengimpor mod dari sumber terpercaya! +mod.item.remove = Konten ini merupakan bagian dari mod[accent] '{0}'[]. Untuk menghilangkannya, hapus mod yang tersebut. +mod.remove.confirm = Mod ini akan dihapus. +mod.author = [lightgray]Pencipta:[] {0} +mod.missing = Simpanan ini berisikan mod yang telah diperbarui atau sudah lama tidak dipasang. Kerusakan simpanan dapat terjadi. Apakah Anda yakin ingin memuatnya?\n[lightgray]Mod:\n{0} +mod.preview.missing = Sebelum mengunggah mod ini ke workshop, Anda harus memberi gambar pratinjau.\nBeri sebuah gambar bernama[accent] preview.png[] ke dalam folder mod dan coba lagi. +mod.folder.missing = Hanya mod dengan format folder yang dapat diunggah ke workshop.\nUntuk mengubah mod menjadi folder, ekstrak mod dalam folder dan hapus arsip zip, kemudian mulai ulang game atau mod Anda. +mod.scripts.disable = Perangkat Anda tidak mendukung mod dengan skrip/JS. Anda harus menonaktifkan mod tersebut untuk dapat bermain. + +about.button = Tentang +name = Nama: +noname = Masukkan[accent] nama pemain[] dahulu. +search = Cari: +planetmap = Peta Planet +launchcore = Luncurkan Inti +filename = Nama File: +unlocked = Konten baru terbuka! +available = Penelitian baru tersedia! +unlock.incampaign = < Buka dalam kampanye untuk detail lebih lanjut > +campaign.select = Pilih untuk Memulai Kampanye +campaign.none = [lightgray]Pilih planet untuk memulai.\nPilihan ini dapat diubah setiap saat. +campaign.erekir = Konten baru yang disempurnakan. Kemajuan kampanye lebih linier.\n\nKualitas peta yang tinggi dan pengalaman lebih mantap. +campaign.serpulo = Konten lawas; pengalaman klasik. Lebih terbuka dan banyak konten.\n\nPeta dan mekanisme kampanye yang berpotensi tidak seimbang. Kurang halus +campaign.difficulty = Kesulitan +completed = [accent]Terselesaikan +techtree = Pohon Teknologi +techtree.select = Pemilihan Pohon Teknologi +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Muat +research.discard = Buang +research.list = [lightgray]Penelitian: +research = Penelitian +researched = [lightgray]{0} telah diteliti. +research.progress = {0}% diteliti +players = {0} pemain aktif +players.single = {0} pemain aktif +players.search = cari +players.notfound = [gray]tidak ada pemain ditemukan +server.closing = [accent]Menutup server... +server.kicked.kick = Anda telah dikeluarkan dari server! +server.kicked.whitelist = Anda tidak ada di dalam whitelist. +server.kicked.serverClose = Server ditutup. +server.kicked.vote = Anda dipilih untuk dikeluarkan. Sampai jumpa. +server.kicked.clientOutdated = Klien kedaluwarsa! Perbarui game Anda! +server.kicked.serverOutdated = Server kedaluwarsa! Tanyakan host untuk memperbarui! +server.kicked.banned = Anda telah dilarang untuk memasuki server ini. +server.kicked.typeMismatch = Server ini tidak cocok dengan versi build Anda. +server.kicked.playerLimit = Server ini penuh. Tunggu slot kosong. +server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sesaat sebelum masuk lagi. +server.kicked.nameInUse = Sudah ada pemain dengan nama tersebut\ndi server ini. +server.kicked.nameEmpty = Nama yang dipilih tidak valid. +server.kicked.idInUse = Anda telah berada di server ini! Menghubungkan dengan dua akun tidak diizinkan. +server.kicked.customClient = Server ini tidak mendukung build kostum. Unduh versi resmi. +server.kicked.gameover = Permainan telah berakhir! +server.kicked.serverRestarting = Server sedang dimulai ulang. +server.versions = Versi Anda:[accent] {0}[]\nVersi server:[accent] {1}[] +host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang di dalam [lightgray]Wi-Fi atau jaringan lokal[] yang sama dapat melihat server Anda di daftar server mereka.\n\nJika Anda ingin pemain dari mana saja memasuki server Anda dengan IP, [accent]port forwarding[] sangat dibutuhkan.\n\n[lightgray]Catatan: Jika seseorang mengalami masalah memasuki permainan lokal Anda, pastikan Mindustry memiliki akses ke jaringan lokal di pengaturan firewall Anda. Perlu diingat jaringan publik terkadang tidak mengizinkan pencarian server. +join.info = Di sini, Anda bisa memasukkan [accent]IP server[] untuk dihubungkan, serta mencari [accent]jaringan lokal[] atau server [accent]global[] untuk dihubungkan.\nLAN dan WAN mendukung multipemain.\n\n[lightgray]Jika Anda ingin bergabung dengan seseorang melalui IP, Anda perlu menanyakan host tentang IP mereka, yang dapat dicari dengan meng-google "my ip" melalui perangkat mereka. +hostserver = Host Permainan Multi Pemain +invitefriends = Undang Teman +hostserver.mobile = Host\nPermainan +host = Host +hosting = [accent]Membuka server... +hosts.refresh = Segarkan +hosts.discovering = Mencari permainan lokal +hosts.discovering.any = Mencari permainan +server.refreshing = Memuat ulang server +hosts.none = [lightgray]Permainan lokal tidak ditemukan! +host.invalid = [scarlet]Tidak dapat menyambung ke host. + +servers.local = Server Lokal +servers.local.steam = Permainan Publik & Server Lokal +servers.remote = Server Jarak Jauh +servers.global = Server Komunitas + +servers.disclaimer = Server komunitas [accent]tidak[] dimiliki atau diatur oleh pengembang.\n\nServer dapat berisi konten buatan pemain lain yang mungkin tidak sesuai untuk semua umur. +servers.showhidden = Tampilkan Server Tersembunyi +server.shown = Ditampilkan +server.hidden = Disembunyikan + +viewplayer = Melihat Pemain: [accent]{0} +trace = Lacak Pemain +trace.playername = Nama pemain: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Bahasa: [accent]{0} +trace.mobile = Klien Mobile: [accent]{0} +trace.modclient = Klien Modifikasi: [accent]{0} +trace.times.joined = Total Bergabung: [accent]{0} +trace.times.kicked = Total Dikeluarkan: [accent]{0} +trace.ips = IP: +trace.names = Nama: +invalidid = ID klien tidak valid! Kirimkan laporan bug. + +player.ban = Ban +player.kick = Keluarkan +player.trace = lacak +player.admin = Beri/Lepas Admin +player.team = Ganti Tim + +server.bans = Pemain Dilarang Masuk +server.bans.none = Tidak ada pemain yang tidak diizinkan masuk! +server.admins = Admin +server.admins.none = Tidak ada admin ditemukan! +server.add = Tambah Server +server.delete = Anda yakin ingin menghapus server ini? +server.edit = Sunting Server +server.outdated = [scarlet]Server Kedaluwarsa![] +server.outdated.client = [scarlet]Klien Kedaluwarsa![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Bentuk Modifikasi +confirmban = Anda yakin ingin melarang pemain ini untuk masuk lagi? +confirmkick = Anda yakin ingin mengeluarkan pemain ini? +confirmunban = Anda yakin ingin mengizinkan pemain ini untuk masuk lagi? +confirmadmin = Anda yakin ingin membuat pemain ini sebagai admin? +confirmunadmin = Anda yakin ingin menghapus status admin dari pemain ini? +votekick.reason = Pilih-Alasan dikeluarkan +votekick.reason.message = Anda yakin ingin memulai pemungutan suara untuk mengeluarkan "{0}[white]"?\nJika ya, masukkan alasan: +joingame.title = Gabung Permainan +joingame.ip = Alamat: +disconnect = Terputus. +disconnect.error = Sambungan bermasalah. +disconnect.closed = Sambungan ditutup. +disconnect.timeout = Waktu koneksi telah habis. +disconnect.data = Gagal memuat data dunia! +disconnect.snapshottimeout = Waktu koneksi habis selama menerima snapshot UDP.\nIni mungkin disebabkan oleh jaringan atau koneksi yang tidak stabil. +cantconnect = Gagal tersambung ke permainan ([accent]{0}[]). +connecting = [accent]Menghubungkan... +reconnecting = [accent]Menghubungkan kembali... +connecting.data = [accent]Memuat data dunia... +server.port = Port: +server.invalidport = Nomor port tidak valid! +server.error.addressinuse = [scarlet]Gagal membuka server di port 6567.[]\n\nPastikan tidak ada server Mindustry lain yang berjalan di perangkat atau jaringan Anda! +server.error = [scarlet]Terjadi kesalahan saat menghosting server: [accent]{0} +save.new = Simpanan Baru +save.overwrite = Anda yakin ingin menimpa \nsimpanan ini? +save.nocampaign = File simpanan individual dari kampanye tidak dapat diimpor. +overwrite = Timpa +save.none = Tidak ada simpanan! +savefail = Gagal menyimpan permainan! +save.delete.confirm = Anda yakin ingin menghapus simpanan ini? +save.delete = Hapus +save.export = Ekspor Simpanan +save.import.invalid = [accent]Simpanan ini tidak valid! +save.import.fail = [crimson]Gagal mengimpor simpanan: [accent]{0} +save.export.fail = [crimson]Gagal mengekspor simpanan: [accent]{0} +save.import = Impor Simpanan +save.newslot = Simpan nama: +save.rename = Ganti nama +save.rename.text = Nama baru: +selectslot = Pilih simpanan. +slot = [accent]Tempat {0} +editmessage = Atur Pesan +save.corrupted = File simpanan rusak atau tidak valid! +empty = +on = Aktif +off = Nonaktif +save.search = Cari permainan tersimpan... +save.autosave = Simpan otomatis: {0} +save.map = Peta: {0} +save.wave = Gelombang {0} +save.mode = Mode Permainan: {0} +save.date = Simpanan Terakhir: {0} +save.playtime = Waktu Bermain: {0} +warning = Peringatan. +confirm = Konfirmasi +delete = Hapus +view.workshop = Lihat di Workshop +workshop.listing = Sunting Daftar Workshop +ok = OK +open = Buka +customize = Sunting Peraturan +cancel = Batal +command = Perintah +command.queue = Antrian +command.mine = Tambang +command.repair = Perbaiki +command.rebuild = Bangun Kembali +command.assist = Bantu Pemain +command.move = Maju +command.boost = Pendorongan +command.enterPayload = Masukkan Muatan Blok +command.loadUnits = Muat Unit +command.loadBlocks = Muat Blok +command.unloadPayload = Turunkan Muatan +command.loopPayload = Perulangan Transfer Unit +stance.stop = Batalkan Perintah +stance.shoot = Posisi Unit: Menembak +stance.holdfire = Posisi Unit: Gencatan Senjata +stance.pursuetarget = Posisi Unit: Kejar Target +stance.patrol = Posisi Unit: Patroli Jalur +stance.ram = Posisi Unit: Seruduk\n[lightgray]Pergerakan lurus, tanpa pathfinding +openlink = Buka Tautan +copylink = Salin Tautan +back = Kembali +max = Batas Maximum +objective = Peta Tujuan +crash.export = Ekspor Laporan Error +crash.none = Tidak ada Laporan Error ditemukan. +crash.exported = Laporan Error diekspor. +data.export = Ekspor Data +data.import = Impor Data +data.openfolder = Buka Folder Data +data.exported = Data telah diekspor. +data.invalid = Data permainan ini tidak valid. +data.import.confirm = Mengimpor data eksternal akan menghapus [scarlet] semua[] data yang tersimpan.\n[accent]Ini tidak dapat dibatalkan![]\n\nSetelah data diimpor, game akan segera keluar. +quit.confirm = Apakah Anda yakin ingin keluar? +loading = [accent]Memuat... +downloading = [accent]Mengunduh... +saving = [accent]Menyimpan... +respawn = [accent][[{0}][] untuk muncul kembali ke inti +cancelbuilding = [accent][[{0}][] untuk menghapus rencana +selectschematic = [accent][[{0}][] untuk memilih+salin +pausebuilding = [accent][[{0}][] untuk jeda membangun +resumebuilding = [scarlet][[{0}][] untuk lanjut membangun +enablebuilding = [scarlet][[{0}][] untuk mulai membangun +showui = UI disembunyikan.\nTekan [accent][[{0}][] untuk menampilkan UI. +commandmode.name = [accent]Mode Perintah +commandmode.nounits = [unit kosong] +wave = [accent]Gelombang {0} +wave.cap = [accent]Gelombang {0}/{1} +wave.waiting = [lightgray]Gelombang di {0} +wave.waveInProgress = [lightgray]Gelombang sedang berlangsung +waiting = [lightgray]Menunggu... +waiting.players = Menunggu pemain lainnya... +wave.enemies = [lightgray]{0} Musuh Tersisa +wave.enemycores = [accent]{0}[lightgray] Inti Musuh +wave.enemycore = [accent]{0}[lightgray] Inti Musuh +wave.enemy = [lightgray]{0} Musuh Tersisa +wave.guardianwarn = Penjaga akan tiba dalam [accent]{0}[] gelombang. +wave.guardianwarn.one = Penjaga akan tiba dalam [accent]{0}[] gelombang. +loadimage = Memuat Gambar +saveimage = Simpan Gambar +unknown = Tidak diketahui +custom = Modifikasi +builtin = Bawaan +map.delete.confirm = Anda yakin ingin menghapus peta ini? Tindakan ini tidak bisa diubah! +map.random = [accent]Peta Acak +map.nospawn = Peta ini tidak memiliki inti agar pemain bisa muncul! Tambahkan inti [#{0}]{1}[] ke dalam peta di penyunting. +map.nospawn.pvp = Peta ini tidak memiliki inti agar pemain lawan bisa muncul! Tambahkan inti[scarlet] selain jingga[] ke dalam peta di penyunting. +map.nospawn.attack = Peta ini tidak memiliki inti musuh agar pemain bisa menyerang! Tambahkan inti [#{0}]{1}[] ke dalam peta di penyunting. +map.invalid = Terjadi kesalahan saat memuat peta: rusak atau file peta tidak valid. +workshop.update = Perbarui Konten +workshop.error = Terjadi kesalahan saat mengambil detail workshop: {0} +map.publish.confirm = Apakah Anda yakin untuk menerbitkan peta ini?\n\n[lightgray]Pastikan Anda setuju dengan Workshop EULA terlebih dahulu, atau peta Anda tidak akan muncul! +workshop.menu = Pilih apa yang Anda ingin lakukan dengan konten ini. +workshop.info = Informasi Konten +changelog = Catatan Pembaruan (opsional): +updatedesc = Timpa Judul & Deskripsi +eula = EULA Steam +missing = Konten ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop sekarang telah tidak terhubung secara otomatis. +publishing = [accent]Menerbitkan... +publish.confirm = Apakah Anda yakin untuk menerbitkan ini?\n\n[lightgray]Pastikan Anda setuju dengan EULA Workshop terlebih dahulu, atau konten Anda tidak akan muncul! +publish.error = Terjadi kesalahan saat menerbitkan konten: {0} +steam.error = Gagal untuk menjalankan layanan Steam.\nKesalahan: {0} + +editor.planet = Planet: +editor.sector = Sektor: +editor.seed = Benih: +editor.cliffs = Dinding Ke Tebing +editor.brush = Kuas +editor.openin = Buka di Penyuntingan +editor.oregen = Generasi Sumber Daya +editor.oregen.info = Generasi Sumber Daya: +editor.mapinfo = Info Peta +editor.author = Pencipta: +editor.description = Deskripsi: +editor.nodescription = Setiap peta harus memiliki deskripsi setidaknya 4 huruf sebelum diunggah. +editor.waves = Gelombang: +editor.rules = Peraturan: +editor.generation = Generasi: +editor.objectives = Tujuan +editor.locales = Paket Lokal +editor.worldprocessors = Prosesor Dunia +editor.worldprocessors.editname = Sunting Nama +editor.worldprocessors.none = [lightgray]Tidak ada blok prosesor dunia yang ditemukan!\nTambahkan satu di penyunting peta, atau gunakan \ue813 tombol Tambah di bawah. +editor.worldprocessors.nospace = Tidak ada ruang kosong untuk menempatkan prosesor dunia!\nApakah Anda mengisi peta dengan bangunan? Mengapa Anda melakukan ini? +editor.worldprocessors.delete.confirm = Apakah Anda yakin ingin menghapus prosesor dunia ini?\n\nJika dikelilingi tembok maka akan diganti dengan tembok lingkungan. +editor.ingame = Sunting dalam Permainan +editor.playtest = Tes Bermain +editor.publish.workshop = Unggah ke Workshop +editor.newmap = Peta Baru +editor.center = Pusat +editor.search = Cari peta... +editor.filters = Filter Peta +editor.filters.mode = Mode Permainan: +editor.filters.type = Tipe Peta: +editor.filters.search = Cari Dalam: +editor.filters.author = Pencipta +editor.filters.description = Deskripsi +editor.shiftx = Shift X +editor.shifty = Shift Y +workshop = Workshop +waves.title = Gelombang +waves.remove = Hapus +waves.every = setiap +waves.waves = gelombang +waves.health = darah: {0}% +waves.perspawn = per muncul +waves.shields = perisai/gelombang +waves.to = sampai +waves.spawn = Titik Pendaratan: +waves.spawn.all = +waves.spawn.select = Pilih Tempat Pendaratan Musuh +waves.spawn.none = [scarlet]tidak ada tempat pendaratan musuh di peta +waves.max = unit maks +waves.guardian = Penjaga +waves.preview = Pratinjau +waves.edit = Sunting... +waves.random = Acak +waves.copy = Salin ke Papan Klip +waves.load = Tempel dari Papan Klip +waves.invalid = Gelombang tidak valid di papan klip. +waves.copied = Gelombang tersalin. +waves.none = Tidak ada musuh yang didefinisikan.\nIngat bahwa susunan gelombang yang kosong akan diubah menjadi susunan gelombang standar secara otomatis. +waves.sort = Urut Berdasarkan +waves.sort.reverse = Urut Balik +waves.sort.begin = Mulai +waves.sort.health = Darah +waves.sort.type = Tipe +waves.search = Cari gelombang... +waves.filter = Filter Unit +waves.units.hide = Sembunyikan Semua +waves.units.show = Perlihatkan Semua + +#these are intentionally in lower case +wavemode.counts = jumlah +wavemode.totals = total +wavemode.health = darah + +all = Semua +editor.default = [lightgray] +details = Detail... +edit = Sunting +variables = Variabel +logic.clear.confirm = Apakah Anda yakin ingin menghapus semua kode dari prosesor ini? +logic.globals = Variabel Bawaan + +editor.name = Nama: +editor.spawn = Munculkan Unit +editor.removeunit = Hapus Unit +editor.teams = Tim +editor.errorload = Terjadi kesalahan saat memuat file. +editor.errorsave = Terjadi kesalahan saat menyimpan file. +editor.errorimage = Itu gambar, bukan peta. +editor.errorlegacy = Peta ini terlalu tua, dan memakai format peta "legacy" yang tidak didukung lagi. +editor.errornot = Ini bukan file peta. +editor.errorheader = File peta ini Kemungkinan tidak valid atau rusak. +editor.errorname = Peta tidak ada nama. Apakah Anda mencoba untuk memuat file simpanan? +editor.errorlocales = Terjadi kesalahan saat membaca paket lokal yang tidak valid. +editor.update = Perbarui +editor.randomize = Acak +editor.moveup = Pindah Ke Atas +editor.movedown = Pindah Ke Bawah +editor.copy = Salin +editor.apply = Terapkan +editor.generate = Generasi +editor.sectorgenerate = Generasi Sektor +editor.resize = Ubah Ukuran +editor.loadmap = Memuat Peta +editor.savemap = Simpan Peta +editor.savechanges = [scarlet]Anda memiliki perubahan yang belum disimpan!\n\n[]Apakah Anda ingin menyimpannya? +editor.saved = Tersimpan! +editor.save.noname = Peta Anda tidak ada nama! Tambahkan di menu 'info peta'. +editor.save.overwrite = Peta ini menimpa peta bawaan! Pilih nama yang berbeda di menu 'info peta'. +editor.import.exists = [scarlet]Tidak bisa mengimpor:[] peta bawaan bernama '{0}' sudah ada! +editor.import = Mengimpor... +editor.importmap = Impor Peta +editor.importmap.description = Mengimpor peta yang telah ada +editor.importfile = Impor File +editor.importfile.description = Mengimpor file peta eksternal +editor.importimage = Impor File Gambar +editor.importimage.description = Mengimpor file peta eksternal berbentuk gambar +editor.export = Ekspor... +editor.exportfile = Ekspor File +editor.exportfile.description = Mengekspor sebuah file peta +editor.exportimage = Ekspor Gambar Medan +editor.exportimage.description = Ekspor sebuah file gambar peta +editor.loadimage = Impor Medan +editor.saveimage = Ekspor Medan +editor.unsaved = Yakin ingin keluar?\n[scarlet]Perubahan yang belum disimpan akan hilang. +editor.resizemap = Ubah Ukuran Peta +editor.mapname = Nama Peta: +editor.overwrite = [accent]Peringatan!\nIni akan menimpa peta yang telah ada. +editor.overwrite.confirm = [scarlet]Peringatan![] Peta dengan nama ini sudah ada. Yakin ingin menimpanya?\n"[accent]{0}[]" +editor.exists = Sebuah peta dengan nama ini sudah ada. +editor.selectmap = Pilih peta untuk dimuat: + +toolmode.replace = Ganti +toolmode.replace.description = Menggambar pada blok padat. +toolmode.replaceall = Ganti Semua +toolmode.replaceall.description = Ganti semua blok di peta. +toolmode.orthogonal = Ortogonal +toolmode.orthogonal.description = Menggambar dalam garis ortogonal. +toolmode.square = Persegi +toolmode.square.description = Bangun persegi. +toolmode.eraseores = Hapus Bijih +toolmode.eraseores.description = Menghapus bijih. +toolmode.fillteams = Isi Tim +toolmode.fillteams.description = Mengisi tim bukannya blok. +toolmode.fillerase = Hapus +toolmode.fillerase.description = Hapus blok dengan tipe yang sama. +toolmode.drawteams = Gambar Tim +toolmode.drawteams.description = Menggambar tim bukannya blok. +#unused +toolmode.underliquid = Di Bawah Cairan +toolmode.underliquid.description = Gambarlah lantai di bawah ubin cair. + +filters.empty = [lightgray]Tidak ada penyaring! Tambahkan dengan tombol di bawah. + +filter.distort = Kerusakkan +filter.noise = Kebisingan +filter.enemyspawn = Pilih Titik Pendaratan Musuh +filter.spawnpath = Jalur ke Titik Pendaratan Musuh +filter.corespawn = Pilih Inti +filter.median = Median +filter.oremedian = Median Bijih +filter.blend = Campur +filter.defaultores = Sumber Daya Bawaan +filter.ore = Sumber Daya +filter.rivernoise = Kebisingan Sungai +filter.mirror = Cermin +filter.clear = Bersih +filter.option.ignore = Biarkan +filter.scatter = Penebaran +filter.terrain = Lahan +filter.logic = Logika + +filter.option.scale = Ukuran +filter.option.chance = Kemungkinan +filter.option.mag = Tingkat +filter.option.threshold = Ambang +filter.option.circle-scale = Ukuran Lingkaran +filter.option.octaves = Oktaf +filter.option.falloff = Kemerosotan +filter.option.angle = Sudut +filter.option.tilt = Miring +filter.option.rotate = Putar +filter.option.amount = Jumlah +filter.option.block = Blok +filter.option.floor = Lantai +filter.option.flooronto = Target Lantai +filter.option.target = Target +filter.option.replacement = Pengganti +filter.option.wall = Dinding +filter.option.ore = Sumber Daya +filter.option.floor2 = Lantai Sekunder +filter.option.threshold2 = Ambang Sekunder +filter.option.radius = Radius +filter.option.percentile = Perseratus +filter.option.code = Kode +filter.option.loop = Perulangan + +locales.info = Di sini, Anda dapat menambahkan paket lokal untuk bahasa tertentu ke peta Anda. Dalam paket lokal, setiap properti memiliki nama dan nilai. Properti ini dapat digunakan prosesor dunia dan tujuan dengan menggunakan namanya. Mereka mendukung pemformatan teks (mengganti placeholder dengan nilai sebenarnya).\n\n[cyan]Contoh properti:\n[]nama: [accent]waktu[]\nnilai: [accent]Contoh pengatur waktu, waktu tersisa: {0}[]\n\n[cyan]Penggunaan:\n[]Tetapkan sebagai teks tujuan: [accent]@timer\n\n[]Cetak dalam prosesor dunia:\n[accent]cetak lokal "timer"\nformat time\n[gray](di mana waktu adalah variabel yang dihitung secara terpisah) +locales.deletelocale = Apakah Anda yakin ingin menghapus paket lokal ini? +locales.applytoall = Terapkan Perubahan Ke Semua Paket Lokal +locales.addtoother = Tambahkan Ke Paket Lokal Lain +locales.rollback = Kembalikan ke yang terakhir diterapkan +locales.filter = Filter properti +locales.searchname = Cari nama... +locales.searchvalue = Cari nilai... +locales.searchlocale = Cari lokal... +locales.byname = Dengan nama +locales.byvalue = Dengan nilai +locales.showcorrect = Tampilkan properti yang ada di semua paket lokal dan memiliki nilai unik di mana pun +locales.showmissing = Tampilkan properti yang tidak ada di beberapa paket lokal +locales.showsame = Tampilkan properti yang memiliki nilai yang sama di lokasi berbeda +locales.viewproperty = Lihat di semua paket lokal +locales.viewing = Melihat properti "{0}" +locales.addicon = Tambahkan Ikon + +width = Lebar: +height = Tinggi: +menu = Menu +play = Bermain +campaign = Kampanye +load = Memuat +save = Simpan +fps = FPS: {0} +ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = Silahkan memulai ulang game agar pengaturan bahasa diterapkan +settings = Pengaturan +tutorial = Tutorial +tutorial.retake = Ulangi Tutorial +editor = Penyunting +mapeditor = Penyunting Peta + +abandon = Tinggalkan +abandon.text = Zona ini dan semua sumber daya di dalamnya akan berada di tangan musuh. +locked = Terkunci +complete = [lightgray]Selesaikan: +requirement.wave = Raih gelombang {0} dalam {1} +requirement.core = Hancurkan inti musuh dalam {0} +requirement.research = Riset {0} +requirement.produce = Produksi {0} +requirement.capture = Kuasai {0} +requirement.onplanet = Kendalikan Sektor Di {0} +requirement.onsector = Mendarat Di Sektor: {0} +launch.text = Luncurkan +map.multiplayer = Hanya host yang dapat melihat sektor. +uncover = Buka +configure = Konfigurasi Muatan + +objective.research.name = Riset +objective.produce.name = Peroleh +objective.item.name = Peroleh Suatu Bahan +objective.coreitem.name = Bahan Inti +objective.buildcount.name = Jumlah Bangunan +objective.unitcount.name = Jumlah Unit +objective.destroyunits.name = Hancurkan Unit +objective.timer.name = Waktu +objective.destroyblock.name = Hancurkan Blok +objective.destroyblocks.name = Hancurkan Blok +objective.destroycore.name = Hancurkan Inti +objective.commandmode.name = Mode Perintah +objective.flag.name = Bendera + +marker.shapetext.name = Teks Berbentuk +marker.point.name = Titik +marker.shape.name = Bentuk +marker.text.name = Teks +marker.line.name = Garis +marker.quad.name = Segi empat +marker.texture.name = Tekstur + +marker.background = Latar Belakang +marker.outline = Garis Luar + +objective.research = [accent]Riset:\n[]{0}[lightgray]{1} +objective.produce = [accent]Peroleh:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Hancurkan:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Hancurkan: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Peroleh: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Pindahkan ke Inti:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Bangun: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Buat Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Hancurkan: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Musuh akan datang dalam [lightgray]{0}[] +objective.enemyescelating = [accent]Produksi musuh meningkat dalam [lightgray]{0}[] +objective.enemyairunits = [accent]Produksi pasukan udara musuh dimulai dalam [lightgray]{0}[] +objective.destroycore = [accent]Hancurkan Inti Musuh +objective.command = [accent]Perintahkan Unit +objective.nuclearlaunch = [accent]âš  Terdeteksi peluncuran nuklir: [lightgray]{0} + +announce.nuclearstrike = [red]âš  SERANGAN NUKLIR âš \n[lightgray]bangun inti cadangan sesegera mungkin + +loadout = Muatan +resources = Sumber Daya +resources.max = Maks +bannedblocks = Blok yang Dilarang +unbannedblocks = Unbanned Blocks +objectives = Tujuan +bannedunits = Unit yang Dilarang +unbannedunits = Unbanned Units +bannedunits.whitelist = Unit yang Dilarang Sebagai Whitelist +bannedblocks.whitelist = Blok yang Dilarang Sebagai Whitelist +addall = Tambah Semua +launch.from = Meluncurkan Dari: [accent]{0} +launch.capacity = Kapasitas Barang yang Diluncurkan: [accent]{0} +launch.destination = Destinasi: {0} +landing.sources = Sumber Sektor: [accent]{0}[] +landing.import = Total Impor Maksimum: {0}[accent]{1}[lightgray]/mnt +configure.invalid = Jumlah harus berupa angka di antara 0 dan {0}. +add = Tambahkan... +guardian = Penjaga + +connectfail = [scarlet]Gagal menyambung ke server:\n\n[accent]{0} +error.unreachable = Server tidak dapat dihubungi.\nApakah alamatnya benar? +error.invalidaddress = Alamat tidak valid. +error.timedout = Kehabisan waktu!\nPastikan pemilik mempunyai port penerusan, dan alamatnya benar! +error.mismatch = Paket bermasalah:\nkemungkinan versi client/server berbeda.\nPastikan Anda dan host mempunyai versi terbaru Mindustry! +error.alreadyconnected = Sudah tersambung. +error.mapnotfound = File peta tidak ditemaukan! +error.io = Terjadi kesalahan jaringan I/O. +error.any = Terjadi kesalahan Jaringan tidak diketahui. +error.bloom = Gagal untuk menjalankan efek bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini. +error.moddex = Mindustry tidak dapat memuat mod ini.\nPerangkat Anda memblokir impor mod Java karena perubahan terbaru dari Android akhir akhir ini.\nIni tidak akan diperbaiki. Tidak ada solusi yang diketahui untuk masalah ini. + +weather.rain.name = Hujan +weather.snowing.name = Salju +weather.sandstorm.name = Badai Pasir +weather.sporestorm.name = Badai Spora +weather.fog.name = Kabut + +campaign.playtime = \uf129 [lightgray]Waktu bermain di sektor: {0} +campaign.complete = [accent]Selamat.\n\nMusuh di {0} telah dikalahkan.\n[lightgray]Sektor terakhir telah dikuasai. + +sectorlist = Sektor +sectorlist.attacked = {0} sedang diserang +sectors.unexplored = [lightgray]Belum Ditelusuri +sectors.resources = Sumber Daya: +sectors.production = Produksi: +sectors.export = Ekspor: +sectors.import = Impor: +sectors.time = Waktu: +sectors.threat = Tingkat: +sectors.wave = Gelombang: +sectors.stored = Terisi: +sectors.resume = Lanjutkan +sectors.launch = Luncurkan +sectors.select = Pilih +sectors.launchselect = Pilih Destinasi Peluncuran +sectors.nonelaunch = [lightgray]tidak ada (matahari) +sectors.redirect = Arahkan Ulang Alas Peluncur +sectors.rename = Ganti Nama Sektor +sectors.enemybase = [scarlet]Markas Musuh +sectors.vulnerable = [scarlet]Rawan diserang +sectors.underattack = [scarlet]Dalam Serangan! [accent]Kerusakan sebesar {0}% +sectors.underattack.nodamage = [scarlet]Belum Dikuasai +sectors.survives = [accent]Bertahan sebanyak {0} gelombang +sectors.go = Mulai +sector.abandon = Tinggalkan +sector.abandon.confirm = Inti di sektor ini akan meledak secara sendirinya.\nLanjutkan? +sector.curcapture = Sektor Dikuasai +sector.curlost = Sektor Gagal Bertahan +sector.missingresources = [scarlet]Sumber Daya Inti Tidak Cukup +sector.attacked = Sektor [accent]{0}[white] sedang diserang! +sector.lost = Sektor [accent]{0}[white] telah dihancurkan! +sector.capture = Sector [accent]{0}[white]Dikuasai! +sector.capture.current = Sektor Dikuasai! +sector.changeicon = Ubah Ikon +sector.noswitch.title = Tidak Dapat berpindah Sektor +sector.noswitch = Anda tidak boleh berpindah sektor jika salah satu sektor sedang di serang.\nSektor: [accent]{0}[] di [accent]{1}[] +sector.view = Lihat Sektor + +threat.low = Rendah +threat.medium = Sedang +threat.high = Tinggi +threat.extreme = Berbahaya +threat.eradication = Pemusnahan + +difficulty.casual = Kasual +difficulty.easy = Mudah +difficulty.normal = Normal +difficulty.hard = Susah +difficulty.eradication = Pemusnahan + +planets = Planet + +planet.serpulo.name = Serpulo +planet.erekir.name = Erekir +planet.sun.name = Matahari + +sector.impact0078.name = Benturan 0078 +sector.groundZero.name = Titik Awal +sector.craters.name = Kawah +sector.frozenForest.name = Hutan Beku +sector.ruinousShores.name = Pantai Yang Hancur +sector.stainedMountains.name = Gunung Bernoda +sector.desolateRift.name = Retakan Terpencil +sector.nuclearComplex.name = Kompleks Produksi Nuklir +sector.overgrowth.name = Pertumbuhan +sector.tarFields.name = Lahan Perminyakan Mentah +sector.saltFlats.name = Dataran Garam +sector.fungalPass.name = Lintasan Spora +sector.biomassFacility.name = Pabrik Sintesis Biomassa +sector.windsweptIslands.name = Pulau Bersemilir +sector.extractionOutpost.name = Pos Ekstraksi +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Pusat Peluncuran Planet +sector.coastline.name = Tepi Pantai +sector.navalFortress.name = Benteng Laut +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier + +sector.groundZero.description = Lokasi yang optimal untuk bermain satu kali lagi. Sangat sedikit musuh. Sedikit sumber daya.\nKumpulkan timah dan tembaga sebanyak yang Anda bisa.\nMulai dari sini. +sector.frozenForest.description = Di sini, dekat dengan gunung, spora sudah menyebar. Suhu dingin tidak dapat menahannya.\n\nMulailah hasilkan listrik. Bangun generator pembakar. Pelajari cara menggunakan mender. +sector.saltFlats.description = Di pinggiran padang pasir terdapat Daratan Garam. Beberapa sumber daya dapat ditemukan di sini.\n\nMusuh telah mendirikan penyimpanan sumber daya kompleks di sini. Hancurkan inti mereka. Jangan biarkan satupun tersisa. +sector.craters.description = Air banyak terkumpul di kawah ini, sebuah peninggalan dari perang masa lalu. Klaim area ini lagi. Kumpulkan pasir. Lebur metaglass. Pompa air untuk mendinginkan turret dan bor. +sector.ruinousShores.description = Keluar dari lembah gunung, terdapat garis pantai. Sebelumnya, area ini adalah garis pertahanan pantai. Sekarang tidak banyak yang tersisa. Hanya pertahanan dasar yang tersisa, yang lain telah hancur berkeping keping.\nBangun kembali pertahanan di sini. Pelajari lebih banyak teknologi. +sector.stainedMountains.description = Area ini terletak di dekat pegunungan, namun belum tersentuh oleh spora.\nTambang titanium yang ada di area ini. Pelajari fungsinya.\n\nMusuh jauh lebih kuat di sini. Jangan biarkan mereka meluncurkan unit yang lebih kuat. +sector.overgrowth.description = Area ini banyak ditumbuhi spora, karena dekat dengan sumber spora.\nMusuh telah membangun pangkalan di sini. Buat unit Mace. Hancurkan mereka. Klaim apapun yang tersisa. +sector.tarFields.description = Terletak di pinggiran zona produksi minyak, di antara gunung dan padang pasir. Salah satu dari beberapa area yang memiliki cadangan minyak yang dapat digunakan.\nMeskipun ditinggalkan, area ini terdapat pasukan musuh yang berbahaya di sekitarnya. Jangan meremehkan mereka.\n\n[lightgray]Pelajari proses penyulingan minyak bila memungkinkan. +sector.desolateRift.description = Zona yang sangat berbahaya. Banyak sumber daya, tetapi terdapat sedikit ruang. Sangat resiko kehancuran sangat tinggi. Buatlah pertahanan udara dan darat secepat yang Anda bisa. Jangan terlena dengan waktu antar gelombang yang lama. +sector.nuclearComplex.description = Sebuah fasilitas untuk memproduksi dan memproses torium, yang telah hancur.\n[lightgray]Pelajari torium dan cara penggunaanya.\n\nMusuh yang hadir di sini menyerang dalam jumlah besar, tak henti mengintai penyerang. +sector.fungalPass.description = Area ini terdapat di antara pegunungan yang lebih tinggi dengan yang lebih rendah, juga daerah yang dipenuhi spora. Musuh membangun markas pengintaian kecil di sini.\nHancurkan itu.\nGunakan unit Dagger dan Crawler. Hancurkan dua inti mereka. +sector.biomassFacility.description = Asal dari semua spora di planet ini. Tempat ini adalah fasilitas dimana spora dipelajari dan diproduksi.\nPelajari teknologi yang terkait dengannya. Budi dayakan spora untuk memproduksi bahan bakar dan plastik.\n\n[lightgray]Setelah fasilitas ini hancur, spora menyebar. Tidak ada di ekosistem lokal yang dapat bersaing dengan organisme invasif seperti itu. +sector.windsweptIslands.description = Jauh dari pantai terdapat sekumpulan pulau. Catatan yang ada mengatakan bahwa mereka memiliki struktur untuk memproduksi [accent]Plastanium[].\n\nKalahkan unit laut musuh. Bangun markas di kepulauan ini. Pelajari pabriknya. +sector.extractionOutpost.description = Sebuah pos jarak jauh, dibangun musuh untuk meluncurkan sumber daya ke sektor yang lain.\n\nTeknologi transportasi antar sektor dapat memudahkan untuk menaklukan lebih banyak sektor. Hancurkan markasnya. Pelajari Alas Peluncur mereka. +sector.impact0078.description = Di sini terletak sisa-sisa pesawat antarbintang yang pertama kali memasuki sistem ini.\n\nSelamatkan apapun yang ada dari sisa-sisa pesawat. Pelajari teknologi apa pun yang utuh. +sector.planetaryTerminal.description = Target terakhir.\n\nMarkas pesisir pantai ini memiliki struktur yang dapat meluncurkan inti ke planet di sekitarnya. Memiliki pertahanan yang sangat bagus.\n\nProduksi unit laut. Hancurkan musuh secepat mungkin. Pelajari struktur peluncuran mereka. +sector.coastline.description = Sisa-sisa teknologi Unit Laut telah terdeteksi di lokasi ini. Tolak serangan musuh, rebut sektor ini, dan dapatkan teknologinya. +sector.navalFortress.description = Musuh telah mendirikan markas di sebuah pulau terpencil, dibentengi secara alami. Hancurkan pangkalan ini. Dapatkan teknologi Unit Laut mereka yang canggih, dan telitilah +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold + +#do not translate +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = Serangan Awal +sector.aegis.name = Aegis +sector.lake.name = Danau +sector.intersect.name = Perempatan +sector.atlas.name = Atlas +sector.split.name = Pisahan +sector.basin.name = Cekungan +sector.marsh.name = Rawa +sector.peaks.name = Puncak +sector.ravine.name = Jurang +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = Benteng +sector.crevice.name = Retakan +sector.siege.name = Pengepungan +sector.crossroads.name = Simpangan +sector.karst.name = Kars +sector.origin.name = Origin + +sector.onset.description = Permulaan Penaklukan Erekir. Kumpulkan sumber daya, produksi unit, dan mulailah meneliti teknologi. +sector.aegis.description = Sektor ini mengandung deposit tungsten.\nRiset [accent]Bor Tumbukan[] untuk menambang sumber daya ini, dan hancurkan markas musuh di area tersebut. +sector.lake.description = Danau lava di sektor ini sangat membatasi pilihan unit yang kita gunakan. Unit Kapal adalah satu-satunya pilihan.\nRiset [accent]pabrikator kapal[] dan produksi unit [accent]elude[] secepat mungkin. +sector.intersect.description = Pemindai menunjukkan bahwa sektor ini akan diserang dari berbagai arah setelah kita mendarat.\nSegera siapkan pertahanan dan perluas wilayah secepat mungkin.\nUnit [accent]Mech[] akan dibutuhkan untuk dataran yang sulit dilalui. +sector.atlas.description = Sektor ini memiliki dataran yang unik dan akan membutuhkan beraneka ragam unit untuk menyerang secara efektif.\nUnit yang ditingkatkan mungkin dibutuhkan untuk melewati beberapa markas musuh yang kuat di sekitar sini.\nRiset [accent]Elektroliser[] dan [accent]Pabrikator Ulang Tank[]. +sector.split.description = Keberadaan musuh yang minim di sektor ini sangat bagus untuk menguji coba teknologi transportasi baru. +sector.basin.description = Kehadiran musuh dalam jumlah besar terdeteksi di sektor ini.\nBangun unit dengan cepat dan kuasai inti musuh untuk mendapatkan pijakan +sector.marsh.description = Sektor ini memiliki kelimpahan arkisit, namun memiliki ventilasi yang terbatas.\nBangun [accent]Ruang Pembakaran Kimia[] untuk menghasilkan tenaga. +sector.peaks.description = Medan pegunungan di sektor ini membuat sebagian besar unit tidak berguna. Unit terbang akan dibutuhkan.\nWaspadai instalasi anti-udara yang dimiliki musuh. Beberapa instalasi ini mungkin dapat dinonaktifkan dengan menargetkan bangunan pendukungnya. +sector.ravine.description = Jalur transportasi penting bagi musuh. Tidak ada inti musuh yang ditemukan di sini, namun hati-hati terhadap berbagai jenis musuh.\nProduksi [accent]paduan logam[]. Bangun menara [accent]Afflict[]. +sector.caldera-erekir.description = Sumber daya yang terdeteksi di sektor ini tersebar di beberapa pulau.\nRiset dan sebarkan transportasi berbasis drone. +sector.stronghold.description = Markas musuh yang besar di sektor ini menjaga simpanan [accent]torium[] dalam jumlah besar .\nGunakan itu untuk mengembangkan unit dan menara ke tingkat yang lebih tinggi. +sector.crevice.description = Musuh akan mengirimkan pasukan serangan yang hebat untuk menghancurkan markasmu di sektor ini.\nKembangkan [accent]karbit[] dan [accent]Generator Pirolisis[] mungkin imperatif untuk bertahan hidup. +sector.siege.description = Sektor ini memiliki dua ngarai paralel yang akan memaksa serangan dari dua arah.\nRiset [accent]sianogen[] untuk mendapatkan kemampuan untuk membuat unit tank yang lebih kuat.\nPeringatan: Rudal jarak jauh milik musuh telah terdeteksi. Rudal tersebut mungkin ditembak jatuh sebelum terjadi benturan. +sector.crossroads.description = Pangkalan musuh di sektor ini telah didirikan di berbagai medan. Riset unit yang berbeda untuk beradaptasi.\nSelain itu, beberapa markas telah dilindungi oleh perisai. Cari tahu bagaimana mereka diberi daya. +sector.karst.description = Sektor ini kaya akan sumber daya, namun akan diserang oleh musuh begitu inti baru mendarat.\nManfaatkan sumber daya dan riset [accent]phase fabric[]. +sector.origin.description = Sektor terakhir dengan kehadiran musuh yang signifikan.\nTidak ada peluang penelitian yang tersisa - fokuslah pada menghancurkan semua inti musuh. + +status.burning.name = Terbakar +status.freezing.name = Membeku +status.wet.name = Basah +status.muddy.name = Berlumpur +status.melting.name = Meleleh +status.sapped.name = Melemah +status.electrified.name = Terkena Listrik +status.spore-slowed.name = Spora Melambat +status.tarred.name = Berminyak +status.overdrive.name = Dipercepat +status.overclock.name = Melebihi Batas +status.shocked.name = Tersengat +status.blasted.name = Meledak +status.unmoving.name = Terdiam +status.boss.name = Penjaga + +settings.language = Bahasa +settings.data = Data Game +settings.reset = Atur Ulang ke Bawaan +settings.rebind = Ganti tombol +settings.resetKey = Atur ulang +settings.controls = Kontrol +settings.game = Permainan +settings.sound = Suara +settings.graphics = Grafik +settings.cleardata = Menghapus Data Permainan... +settings.clear.confirm = Anda yakin ingin menghapus data ini?\nApa yang sudah dilakukan tidak dapat dibatalkan! +settings.clearall.confirm = [scarlet]PERINGATAN![]\nIni akan menghapus semua data permainan, termasuk simpanan, peta, bukaan dan keybind.\nSetelah Anda menekan 'ok' permainan akan menghapus semua data dan keluar otomatis. +settings.clearsaves.confirm = Anda yakin ingin menghapus semua simpanan? +settings.clearsaves = Bersihkan Simpanan +settings.clearresearch = Bersihkan Penelitian +settings.clearresearch.confirm = Apakah Anda yakin ingin membersihkan semua penelitian kampanye? +settings.clearcampaignsaves = Bersihkan Simpanan Kampanye +settings.clearcampaignsaves.confirm = Apakah Anda yakin ingin membersihkan semua simpanan kampanye? +paused = [accent]< Jeda > +clear = Bersih +banned = [scarlet]Dilarang +unsupported.environment = [scarlet]Ruang Lingkup Tidak Cocok +yes = Ya +no = Tidak +info.title = Info +error.title = [scarlet]Sebuah kesalahan telah terjadi +error.crashtitle = Sebuah kesalahan telah terjadi +unit.nobuild = [scarlet]Unit tidak dapat membangun +lastaccessed = [lightgray]Terakhir Diakses: {0} +lastcommanded = [lightgray]Terakhir Diperintah: {0} +block.unknown = [lightgray]??? + +stat.showinmap = +stat.description = Kegunaan +stat.input = Pemasukan +stat.output = Pengeluaran +stat.maxefficiency = Batas Efisiensi +stat.booster = Pendorong +stat.tiles = Ubin yang Diperlukan +stat.affinities = Kecocokan +stat.opposites = Bertentangan +stat.powercapacity = Kapasitas Tenaga +stat.powershot = Tenaga/Tembakan +stat.damage = Damage +stat.targetsair = Target Udara +stat.targetsground = Target Darat +stat.itemsmoved = Kecepatan Barang +stat.launchtime = Waktu Antara Peluncuran +stat.shootrange = Jarak +stat.size = Ukuran +stat.displaysize = Ukuran Tampilan +stat.liquidcapacity = Kapasitas Zat Cair +stat.powerrange = Jarak Tenaga +stat.linkrange = Jarak Tautan +stat.instructions = Instruksi +stat.powerconnections = Batas Sambungan +stat.poweruse = Penggunaan Tenaga +stat.powerdamage = Tenaga/Tembakan +stat.itemcapacity = Kapasitas Item +stat.memorycapacity = Kapasitas Memori +stat.basepowergeneration = Dasar Generasi Tenaga +stat.productiontime = Waktu Produksi +stat.repairtime = Waktu Perbaikan Blok Penuh +stat.repairspeed = Kecepatan Perbaikan +stat.weapons = Senjata +stat.bullet = Peluru +stat.moduletier = Tingkatan Modul +stat.unittype = Jenis Unit +stat.speedincrease = Peningkatan Kecepatan +stat.range = Jarak +stat.drilltier = Sumber Daya yang Ditambang +stat.drillspeed = Kecepatan Bor Dasar +stat.boosteffect = Efek Pendorong +stat.maxunits = Batas Unit Aktif +stat.health = Darah +stat.armor = Pelindung +stat.buildtime = Waktu Pembuatan +stat.maxconsecutive = Batas Konsekutif +stat.buildcost = Biaya Bangunan +stat.inaccuracy = Melenceng +stat.shots = Tembakan +stat.reload = Kecepatan Penembakan +stat.ammo = Amunisi +stat.shieldhealth = Darah Perisai +stat.cooldowntime = Waktu Pendinginan +stat.explosiveness = Daya Ledak +stat.basedeflectchance = Peluang Defleksi Dasar +stat.lightningchance = Peluang Menghasilkan Petir +stat.lightningdamage = Damage Petir +stat.flammability = Daya Bakar +stat.radioactivity = Daya Radioaktif +stat.charge = Setruman +stat.heatcapacity = Kapasitas Panas +stat.viscosity = Kelekatan +stat.temperature = Suhu +stat.speed = Kecepatan +stat.buildspeed = Kecepatan Membangun +stat.minespeed = Kecepatan Menambang +stat.minetier = Tingkat Tambang +stat.payloadcapacity = Kapasitas Muatan +stat.abilities = Kemampuan +stat.canboost = Memiliki Pendorong +stat.flying = Terbang +stat.ammouse = Penggunaan Amunisi +stat.ammocapacity = Kapasitas Amunisi +stat.damagemultiplier = Penggandaan Kekuatan (dmg) +stat.healthmultiplier = Penggandaan Darah +stat.speedmultiplier = Penggandaan Kecepatan +stat.reloadmultiplier = Penggandaan Isi Ulang +stat.buildspeedmultiplier = Penggandaan Kecepatan Membangun +stat.reactive = Reaksi +stat.immunities = Kekebalan +stat.healing = Menyembuhkan +stat.efficiency = [stat]{0}% Efficiency + +ability.forcefield = Bidang Kekuatan +ability.forcefield.description = Memproyeksikan perisai kekuatan yang menyerap peluru +ability.repairfield = Bidang Perbaikan +ability.repairfield.description = Memperbaiki unit terdekat +ability.statusfield = Bidang Status +ability.statusfield.description = Menerapkan efek status ke unit terdekat +ability.unitspawn = Pabrik +ability.unitspawn.description = Membangun unit +ability.shieldregenfield = Bidang Regenerasi Perisai +ability.shieldregenfield.description = Meregenerasi perisai unit di sekitar +ability.movelightning = Pergerakan Petir +ability.movelightning.description = Melepaskan petir sambil bergerak +ability.armorplate = Pelindung Baja +ability.armorplate.description = Mengurangi kerusakan yang diterima saat menembak +ability.shieldarc = Perisai Busur +ability.shieldarc.description = Memproyeksikan perisai kekuatan dalam busur yang menyerap peluru +ability.suppressionfield = Bidang Penahan Regen +ability.suppressionfield.description = Menghentikan bangunan perbaikan di dekatnya +ability.energyfield = Bidang Energi +ability.energyfield.description = Menyengat musuh di sekitar +ability.energyfield.healdescription = Menyengat musuh di sekitar dan menyembuhkan sekutu +ability.regen = Regenerasi Diri Sendiri +ability.regen.description = Meregenerasi darah sendiri secara terus menerus +ability.liquidregen = Penyerapan Cairan +ability.liquidregen.description = Menyerap cairan untuk menyembuhkan dirinya sendiri +ability.spawndeath = Kematian-Munculkan +ability.spawndeath.description = Melepaskan unit saat mati +ability.liquidexplode = Kematian-Tumpahkan +ability.liquidexplode.description = Menumpahkan cairan saat mati + +ability.stat.firingrate = [stat]{0}/sec[lightgray] laju penembakan +ability.stat.regen = [stat]{0}[lightgray] darah/detik +ability.stat.pulseregen = [stat]{0}[lightgray] darah/denyut +ability.stat.shield = [stat]{0}[lightgray] perisai +ability.stat.repairspeed = [stat]{0}/sec[lightgray] kecepatan perbaikan +ability.stat.slurpheal = [stat]{0}[lightgray] darah/unit cair +ability.stat.cooldown = [stat]{0} sec[lightgray] waktu jeda +ability.stat.maxtargets = [stat]{0}[lightgray] target maksimal +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] jumlah jenis perbaikan yang sama +ability.stat.damagereduction = [stat]{0}%[lightgray] pengurangan kerusakan +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] kecepatan minimal +ability.stat.duration = [stat]{0} sec[lightgray] durasi +ability.stat.buildtime = [stat]{0} sec[lightgray] waktu membangun + +bar.onlycoredeposit = Hanya Penyetoran Inti yang Diizinkan +bar.drilltierreq = Membutuhkan Bor yang Lebih Baik +bar.nobatterypower = Daya Baterai Tidak Mencukupi +bar.noresources = Sumber Daya Tidak Cukup +bar.corereq = Membutuhkan Inti Markas +bar.corefloor = Ubin Zona Inti Dibutuhkan +bar.cargounitcap = Kapasitas Unit Kargo Telah Mencapai Batas +bar.drillspeed = Kecepatan Bor: {0}/s +bar.pumpspeed = Kecepatan Pompa: {0}/s +bar.efficiency = Efisiensi: {0}% +bar.boost = Pendorongan: +{0}% +bar.powerbuffer = Tenaga Baterai: {0}/{1} +bar.powerbalance = Tenaga: {0}/s +bar.powerstored = Disimpan: {0}/{1} +bar.poweramount = Tenaga: {0} +bar.poweroutput = Pengeluaran Tenaga: {0} +bar.powerlines = Sambungan: {0}/{1} +bar.items = Item: {0} +bar.capacity = Kapasitas: {0} +bar.unitcap = {0} {1}/{2} +bar.liquid = Zat Cair +bar.heat = Panas +bar.cooldown = Pendinginan +bar.instability = Instabilitas +bar.heatamount = Panas: {0} +bar.heatpercent = Panas: {0} ({1}%) +bar.power = Tenaga +bar.progress = Proses Pembangunan +bar.loadprogress = Proses Muatan +bar.launchcooldown = Jeda Peluncuran +bar.input = Masukan +bar.output = Keluaran +bar.strength = [stat]{0}[lightgray]x penguatan + +units.processorcontrol = [lightgray]Dikendalikan Prosesor + +bullet.damage = [stat]{0}[lightgray] kekuatan (dmg) +bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgray] kotak +bullet.incendiary = [stat]membakar +bullet.homing = [stat]mengejar +bullet.armorpierce = [stat]menembus pelindung +bullet.maxdamagefraction = [stat]{0}%[lightgray] batas kerusakan +bullet.suppression = [stat]{0}[lightgray] detik penahanan perbaikan ~ [stat]{1}[lightgray] ubin +bullet.interval = [stat]{0}/detik[lightgray] jarak antar peluru: +bullet.frags = [stat]{0}[lightgray]x pecahan: +bullet.lightning = [stat]{0}[lightgray]x petir ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] damage bangunan +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] terdorong +bullet.pierce = [stat]{0}[lightgray]x tembus +bullet.infinitepierce = [stat]tembus +bullet.healpercent = [stat]{0}[lightgray]% menyembuhkan +bullet.healamount = [stat]{0}[lightgray] perbaikan langsung +bullet.multiplier = [stat]{0}[lightgray]x penggandaan amunisi +bullet.reload = [stat]{0}[lightgray]x laju tembakan +bullet.range = [stat]{0}[lightgray] jarak ubin +bullet.notargetsmissiles = [stat] mengabaikan misil +bullet.notargetsbuildings = [stat] mengabaikan bangunan + +unit.blocks = blok +unit.blockssquared = blok² +unit.powersecond = unit tenaga/detik +unit.tilessecond = ubin/detik +unit.liquidsecond = unit zat cair/detik +unit.itemssecond = item/detik +unit.liquidunits = unit zat cair +unit.powerunits = unit tenaga +unit.heatunits = unit panas +unit.degrees = derajat +unit.seconds = detik +unit.minutes = menit +unit.persecond = /dtk +unit.perminute = /mnt +unit.timesspeed = x kecepatan +unit.multiplier = x +unit.percent = % +unit.shieldhealth = darah perisai +unit.items = item +unit.thousands = rb +unit.millions = jt +unit.billions = m +unit.shots = tembakan +unit.pershot = /tembakan +category.purpose = Kegunaan +category.general = Umum +category.power = Tenaga +category.liquids = Zat Cair +category.items = Barang +category.crafting = Pemasukan/Pengeluaran +category.function = Fungsi +category.optional = Pilihan Peningkatan +setting.alwaysmusic.name = Selalu Putar Musik +setting.alwaysmusic.description = Saat diaktifkan, musik akan selalu diputar berulang-ulang di dalam game. Saat dinonaktifkan, musik hanya diputar secara acak. +setting.skipcoreanimation.name = Lewati Animasi Peluncuran atau Pendaratan Inti +setting.landscape.name = Kunci Pemandangan +setting.shadows.name = Bayangan +setting.blockreplace.name = Saran Blok Otomatis +setting.linear.name = Filter Linear +setting.hints.name = Petunjuk +setting.logichints.name = Petunjuk Logika +setting.backgroundpause.name = Jeda di Latar +setting.buildautopause.name = Jeda Otomatis ketika Membangun +setting.doubletapmine.name = Ketuk Dua Kali untuk Menambang +setting.commandmodehold.name = Tahan Untuk Mode Perintah +setting.distinctcontrolgroups.name = Batasi Satu Grup Kontrol Per Unit +setting.modcrashdisable.name = Matikan Mod Ketika Ada Masalah Saat Memulai Game +setting.animatedwater.name = Animasi Perairan +setting.animatedshields.name = Animasi Perisai +setting.playerindicators.name = Indikasi Pemain +setting.indicators.name = Indikasi Musuh +setting.autotarget.name = Bidik Musuh Secara Otomatis +setting.keyboard.name = Kontrol Tetikus+Papan Ketik +setting.touchscreen.name = Kontrol Layar Sentuh +setting.fpscap.name = Batas FPS +setting.fpscap.none = Tidak Ada +setting.fpscap.text = {0} FPS +setting.uiscale.name = Skala UI +setting.uiscale.description = Mulai ulang diperlukan untuk menerapkan perubahan. +setting.swapdiagonal.name = Penaruhan Selalu Diagonal +setting.screenshake.name = Layar Getar +setting.bloomintensity.name = Intensitas Bloom +setting.bloomblur.name = Blur Bloom +setting.effects.name = Munculkan Efek +setting.destroyedblocks.name = Tunjukkan Blok yang Telah Hancur +setting.blockstatus.name = Tunjukan Status Blok +setting.conveyorpathfinding.name = Navigasi Konveyor/Pipa Otomatis +setting.sensitivity.name = Sensitivitas Kontroler +setting.saveinterval.name = Jarak Menyimpan +setting.seconds = {0} detik +setting.milliseconds = {0} milidetik +setting.fullscreen.name = Layar Penuh +setting.borderlesswindow.name = Jendela tak Berbatas +setting.borderlesswindow.name.windows = Layar Penuh tak Berbatas +setting.borderlesswindow.description = Mulai ulang mungkin diperlukan untuk menerapkan perubahan. +setting.fps.name = Tunjukkan FPS & Ping +setting.console.name = Hidupkan Konsol +setting.smoothcamera.name = Kamera Halus +setting.vsync.name = VSync +setting.pixelate.name = Mode Pixel +setting.minimap.name = Tunjukkan Peta Kecil +setting.coreitems.name = Tunjukkan Bahan Inti +setting.position.name = Tunjukkan Posisi Pemain +setting.mouseposition.name = Tunjukkan Posisi Tetikus +setting.musicvol.name = Volume Musik +setting.atmosphere.name = Tunjukkan Atmosfer Planet +setting.drawlight.name = Gambar Kegelapan atau Pencahayaan +setting.ambientvol.name = Volume Sekeliling +setting.mutemusic.name = Bisukan Musik +setting.sfxvol.name = Volume Suara Efek +setting.mutesound.name = Bisukan Suara +setting.crashreport.name = Laporkan Masalah Secara Anonim +setting.communityservers.name = Ambil Daftar Server Komunitas +setting.savecreate.name = Otomatis Menyimpan +setting.steampublichost.name = Visibilitas Game Publik +setting.playerlimit.name = Batas pemain +setting.chatopacity.name = Jelas-Beningnya Pesan +setting.lasersopacity.name = Jelas-Beningnya Laser Tenaga +setting.unitlaseropacity.name = Jelas-Beningnya Laser Unit Menambang +setting.bridgeopacity.name = Jelas-Beningnya Jembatan +setting.playerchat.name = Tunjukkan Pesan Pemain +setting.showweather.name = Perlihatkan Cuaca +setting.hidedisplays.name = Sembunyikan Tampilan Logika +setting.macnotch.name = Sesuaikan tampilan dengan batas layar +setting.macnotch.description = Mulai ulang diperlukan untuk menerapkan perubahan +steam.friendsonly = Hanya Teman +steam.friendsonly.tooltip = Mengatur bisa atau tidaknya teman Steam bergabung ke permainanmu.\nMenghapus centang pada kotak ini akan membuat permainan Anda menjadi publik - siapa saja dapat bergabung. +public.beta = Ingat bahwa game dalam versi beta tidak dapat membuat lobi publik. +uiscale.reset = Skala UI telah diubah.\nTekan "OK" untuk mengonfirmasi.\n[scarlet]Kembali dan keluar di[accent] {0}[] pengaturan... +uiscale.cancel = Batal & Keluar +setting.bloom.name = Bloom +keybind.title = Ganti Tombol +keybinds.mobile = [scarlet]Mayoritas tombol tidak didukung oleh perangkat ponsel. Hanya gerakan dasar yang didukung. +category.general.name = Umum +category.view.name = Melihat +category.command.name = Perintah Unit +category.multiplayer.name = Bermain Bersama +category.blocks.name = Pilih Blok +placement.blockselectkeys = \n[lightgray]Tombol: [{0}, +keybind.respawn.name = Muncul Kembali +keybind.control.name = Kendalikan Unit +keybind.clear_building.name = Hapus Bangunan +keybind.press = Tekan tombol... +keybind.press.axis = Tekan sumbu atau tombol... +keybind.screenshot.name = Tangkapan Layar Peta +keybind.toggle_power_lines.name = Aktifkan Laser Tenaga +keybind.toggle_block_status.name = Status Blok +keybind.move_x.name = Pindah X +keybind.move_y.name = Pindah Y +keybind.mouse_move.name = Ikuti Tetikus +keybind.pan.name = Tampilan Geser +keybind.boost.name = Dorongan +keybind.command_mode.name = Mode Perintah +keybind.command_queue.name = Antrian Perintah Unit +keybind.create_control_group.name = Buat Grup Kendali +keybind.cancel_orders.name = Batalkan Perintah + +keybind.unit_stance_shoot.name = Posisi Unit: Tembak +keybind.unit_stance_hold_fire.name = Posisi Unit: Tahan Tembakan +keybind.unit_stance_pursue_target.name = Posisi Unit: Mengejar Target +keybind.unit_stance_patrol.name = Posisi Unit: Patroli +keybind.unit_stance_ram.name = Posisi Unit: Tabrak + +keybind.unit_command_move.name = Perintah Unit: Bergerak +keybind.unit_command_repair.name = Perintah Unit: Perbaiki +keybind.unit_command_rebuild.name = Perintah Unit: Bangun kembali +keybind.unit_command_assist.name = Perintah Unit: Ikuti Player +keybind.unit_command_mine.name = Perintah Unit: Menambang +keybind.unit_command_boost.name = Perintah Unit: Mendorong +keybind.unit_command_load_units.name = Perintah Unit: Muat Unit +keybind.unit_command_load_blocks.name = Perintah Unit: Muat Blok +keybind.unit_command_unload_payload.name = Perintah Unit: Bongkar Muatan +keybind.unit_command_enter_payload.name = Perintah Unit: Masuk ke Muatan +keybind.unit_command_loop_payload.name = Perintah Unit: Perulangan Transfer Unit + +keybind.rebuild_select.name = Membangun Wilayah Kembali +keybind.schematic_select.name = Pilih Daerah +keybind.schematic_menu.name = Menu Skema +keybind.schematic_flip_x.name = Balik Skematik Horizontal +keybind.schematic_flip_y.name = Balik Skematik Vertikal +keybind.category_prev.name = Kategori Sebelumnya +keybind.category_next.name = Kategori Selanjutnya +keybind.block_select_left.name = Pilih Blok Kiri +keybind.block_select_right.name = Pilih Blok Kanan +keybind.block_select_up.name = Pilih Blok Atas +keybind.block_select_down.name = Pilih Blok Bawah +keybind.block_select_01.name = Kategori/Pilih Blok 1 +keybind.block_select_02.name = Kategori/Pilih Blok 2 +keybind.block_select_03.name = Kategori/Pilih Blok 3 +keybind.block_select_04.name = Kategori/Pilih Blok 4 +keybind.block_select_05.name = Kategori/Pilih Blok 5 +keybind.block_select_06.name = Kategori/Pilih Blok 6 +keybind.block_select_07.name = Kategori/Pilih Blok 7 +keybind.block_select_08.name = Kategori/Pilih Blok 8 +keybind.block_select_09.name = Kategori/Pilih Blok 9 +keybind.block_select_10.name = Kategori/Pilih Blok 10 +keybind.fullscreen.name = Aktifkan Layar Penuh +keybind.select.name = Pilih/Tembak +keybind.diagonal_placement.name = Penaruhan Diagonal +keybind.pick.name = Memilih Blok +keybind.break_block.name = Menghancurkan Blok +keybind.select_all_units.name = Pilih Semua Unit +keybind.select_all_unit_factories.name = Pilih Semua Pabrik Unit +keybind.deselect.name = Batal Memilih +keybind.pickupCargo.name = Angkat Muatan +keybind.dropCargo.name = Turunkan Muatan +keybind.shoot.name = Menembak +keybind.zoom.name = Perbesar +keybind.menu.name = Menu +keybind.pause.name = Jeda +keybind.pause_building.name = Jeda/Lanjut Membangun +keybind.minimap.name = Peta Kecil +keybind.planet_map.name = Peta Planet +keybind.research.name = Penelitian +keybind.block_info.name = Info Blok +keybind.chat.name = Pesan +keybind.player_list.name = Daftar Pemain +keybind.console.name = Papan Konsol +keybind.rotate.name = Putar +keybind.rotateplaced.name = Putar yang telah Dibangun (Tekan dan Tahan) +keybind.toggle_menus.name = Aktifkan Menu +keybind.chat_history_prev.name = Sejarah Pesan Sebelumnya +keybind.chat_history_next.name = Sejarah Pesan Setelahnya +keybind.chat_scroll.name = Gulir Pesan +keybind.chat_mode.name = Ubah Mode Pesan +keybind.drop_unit.name = Turunkan Unit +keybind.zoom_minimap.name = Perbesar Peta Kecil +mode.help.title = Deskripsi mode permainan +mode.survival.name = Bertahan Hidup +mode.survival.description = Mode normal. Sumber daya terbatas dan gelombang otomatis.\n[gray]Membutuhkan zona pendaratan musuh di dalam peta untuk bermain. +mode.sandbox.name = Sandbox/Bebas +mode.sandbox.description = Sumber daya tak terbatas dan tidak ada gelombang otomatis. +mode.editor.name = Penyunting +mode.pvp.name = PvP +mode.pvp.description = Lawan pemain lain dalam permainan lokal.\n[gray]Membutuhkan setidaknya 2 inti dengan warna berbeda di dalam peta untuk bermain. +mode.attack.name = Penyerangan +mode.attack.description = Hancurkan markas musuh. Membutuhkan inti merah di dalam peta untuk main. +mode.custom = Pengaturan Modifikasi + +rules.invaliddata = Data papan klip tidak valid. +rules.hidebannedblocks = Sembunyikan Blok Terlarang +rules.infiniteresources = Sumber Daya Tak Terbatas +rules.onlydepositcore = Hanya Izinkan Penyetoran Inti +rules.derelictrepair = Izinkan Perbaikan Blok +rules.reactorexplosions = Ledakan Reaktor +rules.coreincinerates = Penghangusan Luapan Inti +rules.disableworldprocessors = Nonaktifkan Prosesor Dunia +rules.schematic = Skema Diperbolehkan +rules.wavetimer = Pengaturan Waktu Gelombang +rules.wavesending = Pengiriman Gelombang +rules.allowedit = Izinkan Aturan Pengeditan +rules.allowedit.info = Ketika diaktifkan, pemain dapat mengedit aturan dalam game melalui tombol di sudut kiri bawah pada menu Jeda. +rules.alloweditworldprocessors = Izinkan Pengeditan Prosesor Dunia +rules.alloweditworldprocessors.info = Ketika diaktifkan, blok logika dunia dapat ditempatkan dan diedit bahkan di luar penyunting. +rules.waves = Gelombang +rules.airUseSpawns = Unit udara menggunakan titik pendaratan +rules.attack = Mode Penyerangan +rules.buildai = A.I. Pembangun Markas +rules.buildaitier = Tingkat A.I. Pembangun +rules.rtsai = A.I. RTS [red](WIP) +rules.rtsai.campaign = A.I. Serangan RTS +rules.rtsai.campaign.info = Dalam peta serangan, membuat unit berkelompok dan menyerang markas pemain dengan cara yang lebih cerdas. +rules.rtsminsquadsize = Ukuran Regu Minimum +rules.rtsmaxsquadsize = Ukuran Regu Maksimum +rules.rtsminattackweight = Berat Serangan Minimum +rules.cleanupdeadteams = Bersihkan Bangunan Tim yang Kalah (PvP) +rules.corecapture = Kuasai Inti Saat Penghancuran +rules.polygoncoreprotection = Poligon Pelindung Inti +rules.placerangecheck = Pemeriksaan Jarak Penempatan +rules.enemyCheat = Sumber Daya Musuh Tak Terbatas +rules.blockhealthmultiplier = Penggandaan Darah Blok +rules.blockdamagemultiplier = Penggandaan Kekuatan Blok +rules.unitbuildspeedmultiplier = Penggandaan Kecepatan Pembuatan Unit +rules.unitcostmultiplier = Penggandaan Bahan Pembuatan Unit +rules.unithealthmultiplier = Penggandaan Darah Unit +rules.unitdamagemultiplier = Penggandaan Kekuatan Unit +rules.unitcrashdamagemultiplier = Penggandaan Kerusakan Jatuhnya Unit +rules.unitminespeedmultiplier = Penggandaan Kecepatan Unit Menambang +rules.solarmultiplier = Penggandaan Tenaga Surya +rules.unitcapvariable = Inti Memengaruhi Batas Unit +rules.unitpayloadsexplode = Muatan yang Dibawa Meledak Bersama Unit +rules.unitcap = Batas Unit Dasar +rules.limitarea = Batas Area Peta +rules.enemycorebuildradius = Dilarang Membangun di Radius Inti Musuh :[lightgray] (ubin) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Jarak Gelombang:[lightgray] (detik) +rules.initialwavespacing = Jarak Gelombang Awal:[lightgray] (detik) +rules.buildcostmultiplier = Penggandaan Harga Bangunan +rules.buildspeedmultiplier = Penggandaan Waktu Pembangunan +rules.deconstructrefundmultiplier = Penggandaan Kembalinya Bahan Bangunan yang Dihancurkan +rules.waitForWaveToEnd = Gelombang Menunggu Musuh +rules.wavelimit = Peta Berakhir Setelah Gelombang +rules.dropzoneradius = Radius Zona Pendaratan :[lightgray] (ubin) +rules.unitammo = Unit Membutuhkan Amunisi [red](mungkin dihapus) +rules.enemyteam = Tim Musuh +rules.playerteam = Tim Pemain +rules.title.waves = Gelombang +rules.title.resourcesbuilding = Sumber Daya & Bangunan +rules.title.enemy = Musuh +rules.title.unit = Unit +rules.title.experimental = Eksperimental +rules.title.environment = Lingkungan +rules.title.teams = Tim +rules.title.planet = Planet +rules.lighting = Penerangan +rules.fog = Kabut Perang +rules.invasions = Invasi Sektor Musuh +rules.legacylaunchpads = Mekanisme Alas Peluncur Warisan +rules.legacylaunchpads.info = Mengizinkan penggunaan alas peluncur tanpa alas pendaratan, seperti pada versi 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Nonaktifkan[lightgray] (Alas Peluncur Warisan diaktifkan) +rules.showspawns = Tampilkan Titik Pendaratan Musuh +rules.randomwaveai = Gelombang AI yang Tak Terduga +rules.fire = Api +rules.anyenv = +rules.explosions = Kekuatan Ledakan Blok/Unit +rules.ambientlight = Cahaya Di Sekeliling +rules.weather = Cuaca +rules.weather.frequency = Frekuensi: +rules.weather.always = Selalu +rules.weather.duration = Durasi: + +rules.randomwaveai.info = Membuat unit yang muncul dalam gelombang menargetkan struktur bangunan secara acak alih-alih menyerang inti atau generator pembangkit listrik secara langsung. +rules.placerangecheck.info = Mencegah pemain menempatkan apa pun di dekat bangunan musuh. Ketika mencoba memasang menara, jangkauannya akan ditingkatkan sehingga menara tidak akan bisa menjangkau musuh. +rules.onlydepositcore.info = Mencegah unit menyimpan bahan ke dalam bangunan apa pun kecuali inti. + +content.item.name = Bahan +content.liquid.name = Zat Cair +content.unit.name = Unit +content.block.name = Blok +content.status.name = Status Efek +content.sector.name = Sektor +content.team.name = Fraksi + +wallore = (Dinding) + +item.copper.name = Tembaga +item.lead.name = Timah +item.coal.name = Batu Bara +item.graphite.name = Grafit +item.titanium.name = Titanium +item.thorium.name = Torium +item.silicon.name = Silikon +item.plastanium.name = Plastanium +item.phase-fabric.name = Phase Fabric +item.surge-alloy.name = Paduan Logam +item.spore-pod.name = Polong Spora +item.sand.name = Pasir +item.blast-compound.name = Senyawa Peledak +item.pyratite.name = Pyratit +item.metaglass.name = Metaglass +item.scrap.name = Rongsokan +item.fissile-matter.name = Bahan Fisil +item.beryllium.name = Berilium +item.tungsten.name = Tungsten +item.oxide.name = Oksida +item.carbide.name = Karbit +item.dormant-cyst.name = Kista Nonaktif + +liquid.water.name = Air +liquid.slag.name = Lava +liquid.oil.name = Minyak +liquid.cryofluid.name = Kriogenik +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arkisit +liquid.gallium.name = Galium +liquid.ozone.name = Ozon +liquid.hydrogen.name = Hidrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Sianogen + +unit.dagger.name = Dagger +unit.mace.name = Mace +unit.fortress.name = Fortress +unit.nova.name = Nova +unit.pulsar.name = Pulsar +unit.quasar.name = Quasar +unit.crawler.name = Crawler +unit.atrax.name = Atrax +unit.spiroct.name = Spiroct +unit.arkyid.name = Arkyid +unit.toxopid.name = Toxopid +unit.flare.name = Flare +unit.horizon.name = Horizon +unit.zenith.name = Zenith +unit.antumbra.name = Antumbra +unit.eclipse.name = Eclipse +unit.mono.name = Mono +unit.poly.name = Poly +unit.mega.name = Mega +unit.quad.name = Quad +unit.oct.name = Oct +unit.risso.name = Risso +unit.minke.name = Minke +unit.bryde.name = Bryde +unit.sei.name = Sei +unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax +unit.alpha.name = Alpha +unit.beta.name = Beta +unit.gamma.name = Gamma +unit.scepter.name = Scepter +unit.reign.name = Reign +unit.vela.name = Vela +unit.corvus.name = Corvus + +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Drone Perakit +unit.latum.name = Latum +unit.renale.name = Renale + +block.parallax.name = Paralaks +block.cliff.name = Bukit +block.sand-boulder.name = Batu Pasir Besar +block.basalt-boulder.name = Batu Basal Besar +block.grass.name = Rumput +block.molten-slag.name = Lava +block.pooled-cryofluid.name = Kriogenik +block.space.name = Luar Angkasa +block.salt.name = Garam +block.salt-wall.name = Bukit Garam +block.pebbles.name = Kerikil +block.tendrils.name = Sulur +block.sand-wall.name = Bukit Pasir +block.spore-pine.name = Cemara Spora +block.spore-wall.name = Bukit Spora +block.boulder.name = Batu Besar +block.snow-boulder.name = Batu Salju Besar +block.snow-pine.name = Pinus Salju +block.shale.name = Serpihan +block.shale-boulder.name = Serpihan Batu Besar +block.moss.name = Lumut +block.shrubs.name = Semak-Semak +block.spore-moss.name = Lumut Spora +block.shale-wall.name = Bukit Serpih +block.scrap-wall.name = Dinding Rongsokan +block.scrap-wall-large.name = Dinding Rongsokan Besar +block.scrap-wall-huge.name = Dinding Rongsokan Sangat Besar +block.scrap-wall-gigantic.name = Dinding Rongsokan Raksasa +block.thruster.name = Pendorong +block.kiln.name = Pembakar +block.graphite-press.name = Pencetak Grafit +block.multi-press.name = Multi-Cetak +block.constructing = {0} [lightgray](Membangun) +block.spawn.name = Titik Pendaratan Musuh +block.remove-wall.name = Hapus Dinding +block.remove-ore.name = Hapus Bijih +block.core-shard.name = Inti: Shard +block.core-foundation.name = Inti: Foundation +block.core-nucleus.name = Inti: Nucleus +block.deep-water.name = Air yang Dalam +block.shallow-water.name = Air +block.tainted-water.name = Air Tercemar +block.deep-tainted-water.name = Air Tercemar yang Dalam +block.darksand-tainted-water.name = Air Tercemar pada Pasir Hitam +block.tar.name = Minyak Mentah +block.stone.name = Batu +block.sand-floor.name = Pasir +block.darksand.name = Pasir Hitam +block.ice.name = Es +block.snow.name = Salju +block.crater-stone.name = Kawah +block.sand-water.name = Air pada Pasir +block.darksand-water.name = Air pada Pasir Hitam +block.char.name = Bara +block.dacite.name = Dasit +block.rhyolite.name = Riolit +block.dacite-wall.name = Dinding Dasit +block.dacite-boulder.name = Batu Besar Dasit +block.ice-snow.name = Salju Es +block.stone-wall.name = Dinding Batu +block.ice-wall.name = Dinding Es +block.snow-wall.name = Dinding Salju +block.dune-wall.name = Dinding Pasir +block.pine.name = Cemara +block.dirt.name = Tanah +block.dirt-wall.name = Dinding Tanah +block.mud.name = Lumpur +block.white-tree-dead.name = Pohon Putih Mati +block.white-tree.name = Pohon Putih +block.spore-cluster.name = Kumpulan Spora +block.metal-floor.name = Lantai Besi 1 +block.metal-floor-2.name = Lantai Besi 2 +block.metal-floor-3.name = Lantai Besi 3 +block.metal-floor-4.name = Lantai Besi 4 +block.metal-floor-5.name = Lantai Besi 5 +block.metal-floor-damaged.name = Lantai Besi Rusak +block.dark-panel-1.name = Panel Gelap 1 +block.dark-panel-2.name = Panel Gelap 2 +block.dark-panel-3.name = Panel Gelap 3 +block.dark-panel-4.name = Panel Gelap 4 +block.dark-panel-5.name = Panel Gelap 5 +block.dark-panel-6.name = Panel Gelap 6 +block.dark-metal.name = Besi Gelap +block.basalt.name = Basal +block.hotrock.name = Batu Panas +block.magmarock.name = Batu Magma +block.copper-wall.name = Dinding Tembaga +block.copper-wall-large.name = Dinding Tembaga Besar +block.titanium-wall.name = Dinding Titanium +block.titanium-wall-large.name = Dinding Titanium Besar +block.plastanium-wall.name = Dinding Plastanium +block.plastanium-wall-large.name = Dinding Plastanium Besar +block.phase-wall.name = Dinding Phase +block.phase-wall-large.name = Dinding Phase Besar +block.thorium-wall.name = Dinding Torium +block.thorium-wall-large.name = Dinding Torium Besar +block.door.name = Pintu +block.door-large.name = Pintu Besar +block.duo.name = Duo +block.scorch.name = Scorch +block.scatter.name = Scatter +block.hail.name = Hail +block.lancer.name = Lancer +block.conveyor.name = Konveyor +block.titanium-conveyor.name = Konveyor Berbahan Titanium +block.plastanium-conveyor.name = Konveyor Berbahan Plastanium +block.armored-conveyor.name = Konveyor Berlapis Baja +block.junction.name = Simpangan +block.router.name = Pengarah +block.distributor.name = Distributor +block.sorter.name = Penyortir +block.inverted-sorter.name = Penyortir Terbalik +block.message.name = Pesan +block.reinforced-message.name = Pesan yang Diperkuat +block.world-message.name = Pesan Dunia +block.world-switch.name = Saklar Dunia +block.illuminator.name = Lampu +block.overflow-gate.name = Gerbang Luapan +block.underflow-gate.name = Gerbang Luapan Terbalik +block.silicon-smelter.name = Pelebur Silikon +block.phase-weaver.name = Pengerajut Phase +block.pulverizer.name = Penghancur +block.cryofluid-mixer.name = Pencampur Kriogenik +block.melter.name = Pencair +block.incinerator.name = Insinerator +block.spore-press.name = Penekan Spora +block.separator.name = Pemisah Rongsokan +block.coal-centrifuge.name = Sentrifugal Batu Bara +block.power-node.name = Simpul Tenaga +block.power-node-large.name = Simpul Tenaga Besar +block.surge-tower.name = Tiang Listrik +block.diode.name = Dioda Baterai +block.battery.name = Baterai +block.battery-large.name = Baterai Besar +block.combustion-generator.name = Generator Pembakar +block.steam-generator.name = Generator Uap +block.differential-generator.name = Generator Diferensial +block.impact-reactor.name = Reaktor Tumbukan +block.mechanical-drill.name = Bor Mekanis +block.pneumatic-drill.name = Bor Pneumatik +block.laser-drill.name = Bor Laser +block.water-extractor.name = Pengekstrak Air +block.cultivator.name = Pembudidaya +block.conduit.name = Saluran +block.mechanical-pump.name = Pompa Mekanis +block.item-source.name = Sumber Bahan +block.item-void.name = Penghilang Bahan +block.liquid-source.name = Sumber Zat Cair +block.liquid-void.name = Penghilang Zat Zair +block.power-void.name = Penghilang Tenaga +block.power-source.name = Sumber Tenaga +block.unloader.name = Pembongkar +block.vault.name = Gudang +block.wave.name = Wave +block.tsunami.name = Tsunami +block.swarmer.name = Swarmer +block.salvo.name = Salvo +block.ripple.name = Ripple +block.phase-conveyor.name = Konveyor Berbahan Phase +block.bridge-conveyor.name = Jembatan Konvenyor +block.plastanium-compressor.name = Kompresor Plastanium +block.pyratite-mixer.name = Pencampur Pyratit +block.blast-mixer.name = Pencampur Bahan Peledak +block.solar-panel.name = Panel Surya +block.solar-panel-large.name = Panel Surya Besar +block.oil-extractor.name = Pengekstrak Minyak +block.repair-point.name = Titik Perbaikan +block.repair-turret.name = Menara Perbaikan +block.pulse-conduit.name = Saluran Denyut +block.plated-conduit.name = Saluran Terlapis +block.phase-conduit.name = Saluran Phase +block.liquid-router.name = Pengarah Cairan +block.liquid-tank.name = Tangki Cairan +block.liquid-container.name = Kontainer Cairan +block.liquid-junction.name = Simpangan Cairan +block.bridge-conduit.name = Jembatan Saluran +block.rotary-pump.name = Pompa Putaran +block.thorium-reactor.name = Reaktor Torium +block.mass-driver.name = Penembak Massal +block.blast-drill.name = Bor Ledakan Udara +block.impulse-pump.name = Pompa Suhu Panas +block.thermal-generator.name = Generator Panas +block.surge-smelter.name = Pelebur Paduan Logam +block.mender.name = Mender +block.mend-projector.name = Proyektor Mender +block.surge-wall.name = Dinding Logam +block.surge-wall-large.name = Dinding Logam Besar +block.cyclone.name = Cyclone +block.fuse.name = Fuse +block.shock-mine.name = Ranjau Kejut +block.overdrive-projector.name = Proyektor Pemercepat +block.force-projector.name = Proyektor Pelindung +block.arc.name = Arc +block.rtg-generator.name = Generator Radiasi +block.spectre.name = Spectre +block.meltdown.name = Meltdown +block.foreshadow.name = Foreshadow +block.container.name = Kontainer +block.launch-pad.name = Alas Peluncur (Warisan) +block.advanced-launch-pad.name = Alas Peluncur +block.landing-pad.name = Alas Pendaratan + +block.segment.name = Segment +block.ground-factory.name = Pabrik Unit Darat +block.air-factory.name = Pabrik Unit Udara +block.naval-factory.name = Pabrik Unit Laut +block.additive-reconstructor.name = Rekonstruktor Aditif +block.multiplicative-reconstructor.name = Rekonstruktor Multiplikatif +block.exponential-reconstructor.name = Rekonstruktor Eksponensial +block.tetrative-reconstructor.name = Rekonstruktor Tetratif +block.payload-conveyor.name = Konveyor Muatan +block.payload-router.name = Pengarah Muatan +block.duct.name = Pipa +block.duct-router.name = Pengarah Pipa +block.duct-bridge.name = Jembatan Pipa +block.large-payload-mass-driver.name = Penembak Muatan Massal Besar +block.payload-void.name = Penghilang Muatan +block.payload-source.name = Sumber Muatan +block.disassembler.name = Pembongkar Rongsokan +block.silicon-crucible.name = Tungku Peleburan Silikon +block.overdrive-dome.name = Kubah Proyektor Pemercepat +block.interplanetary-accelerator.name = Akselerator Antarplanet +block.constructor.name = Konstruktor +block.constructor.description = Membuat bangunan hingga ubin berukuran 2x2. +block.large-constructor.name = Konstruktor Besar +block.large-constructor.description = Membuat bangunan hingga ubin berukuran 4x4. +block.deconstructor.name = Dekonstruktor Besar +block.deconstructor.description = Mendekonstruksi bangunan dan unit. Mengembalikan 100% dari biaya pembuatan. +block.payload-loader.name = Pemuat Muatan +block.payload-loader.description = Memuat cairan dan item ke dalam blok. +block.payload-unloader.name = Pembongkar Muatan +block.payload-unloader.description = Membongkar muatan cairan dan item dari blok. +block.heat-source.name = Sumber Panas +block.heat-source.description = Blok ukuran 1x1 yang memberikan panas tak terhingga. + +#Erekir +block.empty.name = Kosong +block.rhyolite-crater.name = Kawah Riolit +block.rough-rhyolite.name = Riolit Kasar +block.regolith.name = Regolit +block.yellow-stone.name = Batu Kuning +block.carbon-stone.name = Batu Karbon +block.ferric-stone.name = Batu Besi +block.ferric-craters.name = Kawah Besi +block.beryllic-stone.name = Batu Berilik +block.crystalline-stone.name = Batu Kristal +block.crystal-floor.name = Lantai Kristal +block.yellow-stone-plates.name = Plat Batu Kuning +block.red-stone.name = Batu Merah +block.dense-red-stone.name = Batu Merah Padat +block.red-ice.name = Es Merah +block.arkycite-floor.name = Lantai Arkisit +block.arkyic-stone.name = Batu Arkisit +block.rhyolite-vent.name = Ventilasi Riolit +block.carbon-vent.name = Ventilasi Karbon +block.arkyic-vent.name = Ventilasi Arkisit +block.yellow-stone-vent.name = Ventilasi Batu Kuning +block.red-stone-vent.name = Ventilasi Batu Merah +block.crystalline-vent.name = Ventilasi Kristal +block.redmat.name = Matras Merah +block.bluemat.name = Matras Biru +block.core-zone.name = Zona Inti +block.regolith-wall.name = Dinding Regolit +block.yellow-stone-wall.name = Dinding Batu Kuning +block.rhyolite-wall.name = Dinding Riolit +block.carbon-wall.name = Dinding Karbon +block.ferric-stone-wall.name = Dinding Batu Besi +block.beryllic-stone-wall.name = Dinding Batu Berilik +block.arkyic-wall.name = Dinding Arkisit +block.crystalline-stone-wall.name = Dinding Batu Kristal +block.red-ice-wall.name = Dinding Es Merah +block.red-stone-wall.name = Dinding Batu Merah +block.red-diamond-wall.name = Dinding Berlian Merah +block.redweed.name = Rumput Merah +block.pur-bush.name = Semak Pur +block.yellowcoral.name = Terumbu Kuning +block.carbon-boulder.name = Batu Besar Karbon +block.ferric-boulder.name = Batu Besar Besi +block.beryllic-boulder.name = Batu Besar Berilik +block.yellow-stone-boulder.name = Batu Besar Kuning +block.arkyic-boulder.name = Batu Besar Arkisit +block.crystal-cluster.name = Bongkahan Kristal +block.vibrant-crystal-cluster.name = Bongkahan Kristal yang Bersinar +block.crystal-blocks.name = Blok Kristal +block.crystal-orbs.name = Bola Kristal +block.crystalline-boulder.name = Batu Besar Kristal +block.red-ice-boulder.name = Batu Besar Es Merah +block.rhyolite-boulder.name = Batu Besar Riolit +block.red-stone-boulder.name = Batu Besar Merah +block.graphitic-wall.name = Dinding Grafit +block.silicon-arc-furnace.name = Tungku Listrik Silikon +block.electrolyzer.name = Elektroliser +block.atmospheric-concentrator.name = Konsentrator Atmosfer +block.oxidation-chamber.name = Ruangan Oksidasi +block.electric-heater.name = Pemanas Listrik +block.slag-heater.name = Pemanas Lava +block.phase-heater.name = Pemanas Phase +block.heat-redirector.name = Pengalih Panas +block.small-heat-redirector.name = Pengalih Panas Kecil +block.heat-router.name = Pengarah Panas +block.slag-incinerator.name = Insinerator Lava +block.carbide-crucible.name = Tungku Peleburan Karbit +block.slag-centrifuge.name = Sentrifugal Lava +block.surge-crucible.name = Tungku Peleburan Logam +block.cyanogen-synthesizer.name = Penyintesis Sianogen +block.phase-synthesizer.name = Penyintesis Phase +block.heat-reactor.name = Reaktor Panas +block.beryllium-wall.name = Dinding Berilium +block.beryllium-wall-large.name = Dinding Berilium Besar +block.tungsten-wall.name = Dinding Tungsten +block.tungsten-wall-large.name = Dinding Tungsten Besar +block.blast-door.name = Pintu Blast +block.carbide-wall.name = Dinding Karbit +block.carbide-wall-large.name = Dinding Karbit Besar +block.reinforced-surge-wall.name = Dinding Logam yang Diperkuat +block.reinforced-surge-wall-large.name = Dinding Logam Besar yang Diperkuat +block.shielded-wall.name = Dinding Berperisai +block.radar.name = Radar +block.build-tower.name = Menara Pembangun +block.regen-projector.name = Proyektor Penyembuhan +block.shockwave-tower.name = Menara Gelombang Kejut +block.shield-projector.name = Proyektor Perisai +block.large-shield-projector.name = Proyektor Perisai Besar +block.armored-duct.name = Pipa Lapis Baja +block.overflow-duct.name = Pipa Luapan +block.underflow-duct.name = Pipa Luapan Terbalik +block.duct-unloader.name = Pipa Pembongkar Muatan +block.surge-conveyor.name = Konveyor Berbahan Logam +block.surge-router.name = Pengarah Berbahan Logam +block.unit-cargo-loader.name = Pemuat Unit Kargo +block.unit-cargo-unload-point.name = Titik Bongkar Muatan Unit Kargo +block.reinforced-pump.name = Pompa yang Diperkuat +block.reinforced-conduit.name = Saluran yang Diperkuat +block.reinforced-liquid-junction.name = Persimpangan Cairan yang Diperkuat +block.reinforced-bridge-conduit.name = Jembatan Saluran yang Diperkuat +block.reinforced-liquid-router.name = Pengarah Cairan yang Diperkuat +block.reinforced-liquid-container.name = Kontainer Cairan yang Diperkuatkan +block.reinforced-liquid-tank.name = Tangki Cairan yang Diperkuatkan +block.beam-node.name = Simpul Sinar +block.beam-tower.name = Menara Sinar +block.beam-link.name = Tautan Sinar +block.turbine-condenser.name = Kondensor Turbin +block.chemical-combustion-chamber.name = Ruang Pembakaran Kimia +block.pyrolysis-generator.name = Generator Pirolisis +block.vent-condenser.name = Kondensor Ventilasi +block.cliff-crusher.name = Penghancur Tebing +block.large-cliff-crusher.name = Penghancur Tebing Canggih +block.plasma-bore.name = Bor Plasma +block.large-plasma-bore.name = Bor Plasma Canggih +block.impact-drill.name = Bor Tumbukan +block.eruption-drill.name = Bor Erupsi +block.core-bastion.name = Inti: Bastion +block.core-citadel.name = Inti: Citadel +block.core-acropolis.name = Inti: Acropolis +block.reinforced-container.name = Kontainer yang Diperkuat +block.reinforced-vault.name = Gudang yang Diperkuat +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Pabrikator Ulang Tank +block.mech-refabricator.name = Pabrikator Ulang Mech +block.ship-refabricator.name = Pabrikator Ulang Kapal +block.tank-assembler.name = Perakitan Tank +block.ship-assembler.name = Perakitan Kapal +block.mech-assembler.name = Perakitan Mech +block.reinforced-payload-conveyor.name = Konveyor Muatan yang Diperkuat +block.reinforced-payload-router.name = Pengarah Muatan yang Diperkuat +block.payload-mass-driver.name = Penembak Muatan Massal +block.small-deconstructor.name = Dekonstruktor +block.canvas.name = Kanvas +block.world-processor.name = Prosessor Dunia +block.world-cell.name = Sel Dunia +block.tank-fabricator.name = Pabrikator Tank +block.mech-fabricator.name = Pabrikator Mech +block.ship-fabricator.name = Pabrikator Kapal +block.prime-refabricator.name = Pabrikator Ulang Perdana +block.unit-repair-tower.name = Menara Perbaikan Unit +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Modul Perakitan Dasar +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Reaktor Flux +block.neoplasia-reactor.name = Reaktor Neoplasia + +block.switch.name = Saklar +block.micro-processor.name = Prosesor Mikro +block.logic-processor.name = Prosesor Logika +block.hyper-processor.name = Prosesor Raksasa +block.logic-display.name = Tampilan Logika +block.large-logic-display.name = Tampilan Logika Besar +block.memory-cell.name = Sel Memori +block.memory-bank.name = Bank Memori + +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Derelik +team.green.name = Hijau +team.blue.name = Biru + +hint.skip = Lewati +hint.desktopMove = Gunakan [accent][[WASD][] untuk bergerak. +hint.zoom = [accent]Gulir[] untuk membesarkan atau mengecilkan layar. +hint.desktopShoot = [accent][[Klik Kanan][] untuk menembak. +hint.depositItems = Untuk memindahkan bahan, seret dari pesawatmu ke inti. +hint.respawn = Untuk muncul kembali seperti awal, tekan [accent][[V][]. +hint.respawn.mobile = Anda telah mengambil alih kendali dari sebuah unit atau bangunan. Untuk muncul kembali sebagai pesawat, [accent]ketuk avatar di kiri atas.[] +hint.desktopPause = Tekan [accent][[Spasi][] untuk menjeda dan menghentikan jeda permainan. +hint.breaking = [accent]Klik kanan[] dan tarik untuk menghancurkan blok. +hint.breaking.mobile = Aktifkan \ue817 [accent]palu[] di kanan bawah dan ketuk untuk menghancurkan blok.\n\nTahan jari Anda untuk beberapa saat lalu seret pada bagian yang dipilih untuk menghancurkannya. +hint.blockInfo = Lihat informasi dari sebuah blok dengan memilihnya di [accent]menu bangunan[], lalu pilih tombol [accent][[?][] di sebelah kanan. +hint.derelict = Bangunan berwarna [accent]abu-abu[] adalah sisa-sisa dari markas lama yang hancur dan tidak dapat berfungsi kembali.\n\nBangunan tersebut dapat [accent]didekonstruksi[] menjadi sumber daya. +hint.research = Gunakan tombol \ue875 [accent]Penelitian[] untuk mempelajari teknologi baru. +hint.research.mobile = Gunakan tombol \ue875 [accent]Penelitian[] di \ue88c [accent]Menu[] untuk mempelajari teknologi baru. +hint.unitControl = Tekan dan Tahan [accent][[L-ctrl][] dan [accent]klik[] untuk mengendalikan unit atau turret sekutu. +hint.unitControl.mobile = [accent][Ketuk dua kali[] untuk mengendalikan unit atau turret sekutu. +hint.unitSelectControl = Untuk mengendalikan unit, masuki [accent]mode perintah[] dengan menahan tombol [accent]L-shift.[]\nDalam mode perintah, klik dan seret untuk memilih unit. [accent]Klik Kanan[] pada suatu lokasi atau target untuk memerintahkan unit. +hint.unitSelectControl.mobile = Untuk mengendalikan unit, masuki [accent]mode perintah[] dengan menekan tombol [accent]perintah[] di pojok kanan bawah.\nDalam mode perintah, tekan layar untuk beberapa saat dan seret untuk memilih unit. ketuk pada suatu lokasi atau target untuk memerintahkan unit. +hint.launch = Ketika sumber daya sudah mencukupi, Anda dapat [accent]Meluncurkan Inti[] dengan memilih sektor terdekat dari \ue827 [accent]Peta[] di kanan bawah. +hint.launch.mobile = Ketika sumber daya sudah mencukupi, Anda bisa [accent]Meluncurkan Inti[] dengan memilih sektor terdekat dari \ue827 [accent]Peta[] dibagian \ue88c [accent]Menu[]. +hint.schematicSelect = Tahan tombol [accent][[F][] dan seret ke bangunan untuk menyalin bangunan.\n\n[accent][[Klik tengah][] untuk menyalin satu jenis blok. +hint.rebuildSelect = Tahan tombol [accent][[B][] dan seret untuk memilih bagian blok yang hancur.\nIni akan membangunnya kembali secara otomatis. +hint.rebuildSelect.mobile = Pilih Tombol \ue874 salin, lalu ketuk tombol \ue80f bangun kembali dan seret untuk memilih blok yang hancur.\nIni akan membangun ulang secara otomatis. +hint.conveyorPathfind = Tahan [accent][[L-Ctrl][] ketika menarik konveyor untuk membuat jalur secara otomatis. +hint.conveyorPathfind.mobile = Ketuk \ue844 [accent]mode diagonal[] dan tarik konveyor untuk membuat jalur secara otomatis. +hint.boost = Tahan [accent][[L-Shift][] untuk terbang dengan unit.\n\nHanya beberapa unit darat yang memiliki pendorong. +hint.payloadPickup = Tekan [accent][[[] untuk mengambil blok kecil atau unit. +hint.payloadPickup.mobile = [accent]Ketuk dan tahan[] untuk mengambil blok kecil atau unit. +hint.payloadDrop = Tekan [accent]][] untuk menurunkan muatan. +hint.payloadDrop.mobile = [accent]Tekan dan tahan[] di lokasi yang kosong untuk menurunkan muatan. +hint.waveFire = [accent]Wave[] yang terisi dengan air akan memadamkan air dalam jangkauannya. +hint.generator = \uf879 [accent]Generator Pembakar[] membakar batu bara dan menghasilkan energi ke blok yang berdekatan.\n\nTransmisi energi dapat diperluas dengan \uf87f [accent]Simpul Daya[]. +hint.guardian = Unit [accent]Penjaga[] adalah unit yang diperkuat. Amunisi lemah seperti [accent]Tembaga[] dan [accent]Timah[] [scarlet]tidak efektif[].\n\nGunakan menara yang lebih bagus atau amunisi yang lebih kuat seperti \uf835 [accent]Grafit[] \uf861Duo/\uf859Salvo untuk menghancurkan Penjaga. +hint.coreUpgrade = Inti dapat ditingkatkan dengan cara [accent]meletakkan Inti yang lebih besar di atasnya[].\n\nLetakan sebuah inti \uf868 [accent]Foundation[] diatas inti \uf869 [accent]Shard[]. Pastikan terdapat ruang kosong dari bangunan yang lain. +hint.presetLaunch = [accent]Zona pendaratan[] yang berwarna abu-abu, seperti [accent]Hutan Beku[], dapat diluncurkan dari mana saja. Sektor seperti ini tidak perlu diluncurkan dari sektor terdekat milik Anda.\n\n[accent]Sektor yang bernomor[], seperti yang ini, bersifat [accent]opsional[]. +hint.presetDifficulty = Sektor ini memiliki [scarlet]tingkat ancaman musuh yang tinggi[].\nMeluncurkan ke sektor tersebut [accent]tidak disarankan[] tanpa teknologi yang sesuai dan persiapan yang matang. +hint.coreIncinerate = Setelah inti penuh dengan suatu barang, barang yang sejenis akan [accent]dihanguskan[]. +hint.factoryControl = Untuk menentukan [accent]tempat keluar[] unit pabrik, klik blok pabrik ketika dalam mode perintah, lalu klik kanan lokasi yang diinginkan.\nUnit yang diproduksi akan langsung bergerak ke tempat yang ditentukan. +hint.factoryControl.mobile = Untuk menentukan [accent]tempat keluar[] unit pabrik, ketuk blok pabrik ketika dalam mode perintah, lalu ketuk lokasi yang diinginkan.\nUnit yang diproduksi akan langsung bergerak ke tempat yang ditentukan. + +gz.mine = Bergerak di dekat \uf8c4 [accent]bijih tembaga[] di tanah dan klik untuk mulai menambang. +gz.mine.mobile = Bergerak di dekat \uf8c4 [accent]bijih tembaga[] di tanah dan ketuk untuk mulai menambang. +gz.research = Buka \ue875 pohon teknologi.\nRiset \uf870 [accent]Bor Mekanis[], lalu pilih dari menu di kanan bawah.\nKlik pada tambalan tembaga untuk menempatkannya. +gz.research.mobile = Buka \ue875 pohon teknologi.\nRiset \uf870 [accent]Bor Mekanis[], lalu pilih dari menu di kanan bawah.\nKetuk pada tambalan tembaga untuk menempatkannya.\n\nKetuk \ue800 [accent]tanda centang[] di kanan bawah untuk mengonfirmasi. +gz.conveyors = Riset dan tempatkan \uf896 [accent]konveyor[] untuk memindahkan sumber daya yang ditambang\ndari bor ke inti.\n\nKlik dan seret untuk menempatkan beberapa konveyor.\n[accent]Gulir[] untuk memutar arah konveyor +gz.conveyors.mobile = Riset dan tempatkan \uf896 [accent]konveyor[] untuk memindahkan sumber daya yang ditambang\ndari bor ke inti.\n\nTahan jari Anda sebentar dan seret untuk menempatkan beberapa konveyor. +gz.drills = Perluas operasi penambangan.\ntempatkan lebih banyak Bor Mekanis.\nTambang 100 tembaga. +gz.lead = \uf837 [accent]Timah[] adalah sumber daya lain yang umum digunakan.\nSiapkan bor untuk menambang timah. +gz.moveup = \ue804 Bergerak ke atas untuk objektif lebih lanjut. +gz.turrets = Riset dan tempatkan 2 menara \uf861 [accent]Duo[] untuk mempertahankan inti.\nMenara Duo membutuhkan amunisi \uf838 [accent]tembaga[] dari konveyor. +gz.duoammo = Suplai menara Duo dengan [accent]tembaga[], menggunakan konveyor. +gz.walls = [accent]Dinding[] dapat menahan kerusakan yang mencapai bangunan.\nTempatkan \uf8ae [accent]dinding tembaga[] di sekitar menara. +gz.defend = Musuh datang, bersiaplah untuk bertahan. +gz.aa = Unit terbang tidak dapat dengan mudah dibunuh dengan menara standar.\nMenara \uf860 [accent]Scatter[] memberikan anti-udara yang sangat baik, tetapi membutuhkan \uf837 [accent]timah[] sebagai amunisi. +gz.scatterammo = Suplai Menara Scatter dengan [accent]timah[], menggunakan konveyor. +gz.supplyturret = [accent]Suplai Menara +gz.zone1 = Ini adalah zona pendaratan musuh. +gz.zone2 = Apa pun yang dibangun dalam radius tersebut \nakan hancur ketika gelombang mulai. +gz.zone3 = Gelombang akan dimulai sekarang. Bersiap. +gz.finish = Bangun lebih banyak menara, tambang lebih banyak sumber daya,\ndan bertahanlah terhadap semua gelombang untuk [accent]menaklukkan sektor[]. + +onset.mine = Klik untuk menambang \uf748 [accent]berilium[] dari dinding.\n\nGunakan tombol [accent][[WASD] untuk bergerak. +onset.mine.mobile = Ketuk untuk menambang \uf748 [accent]berilium[] dari dinding. +onset.research = Buka \ue875 pohon teknologi.\nRiset, dan tempatkan \uf73e [accent]kondensor turbin[] di ventilasi.\nIni akan menghasilkan [accent]tenaga[]. +onset.bore = Riset dan tempatkan \uf741 [accent]bor plasma[].\nIni secara otomatis mengekstraksi sumber daya dari dinding. +onset.power = Untuk [accent]menyalakan[] bor plasma, riset dan tempatkan \uf73d [accent]simpul sinar[].\nHubungkan kondensor turbin ke bor plasma. +onset.ducts = Riset dan tempatkan \uf799 [accent]pipa[] untuk memindahkan sumber daya yang ditambang dari bor plasma ke inti.\nklik dan seret untuk menempatkan beberapa saluran.\n[accent]Gulir[] untuk memutar. +onset.ducts.mobile = Riset dan tempatkan \uf799 [accent]saluran[] untuk memindahkan sumber daya yang ditambang dari bor plasma ke inti.\n\nTahan jari Anda sebentar dan seret untuk menempatkan beberapa saluran. +onset.moremine = Perluas operasi penambangan.\nTempatkan lebih banyak Bor Plasma dan gunakan simpul sinar dan pipa untuk menambangnya.\nTambang 200 berillium. +onset.graphite = Blok yang lebih kompleks membutuhkan \uf835 [accent]grafit[].\nSiapkan bor plasma untuk menambang grafit. +onset.research2 = Mulailah meneliti [accent]bangunan pabrik[].\nRiset \uf74d [accent]penghancur tebing[] dan \uf779 [accent]tungku listrik silikon[]. +onset.arcfurnace = Tungku Listrik Silikon membutuhkan \uf834 [accent]pasir[] dan \uf835 [accent]grafit[] untuk membuat \uf82f [accent]silikon[].\n[accent]Tenaga[] juga dibutuhkan. +onset.crusher = Gunakan \uf74d [accent]penghancur tebing[] untuk menambang pasir. +onset.fabricator = Gunakan [accent]unit[] untuk menjelajah peta, mempertahakan bangunan, dan menyerang musuh. Riset dan tempatkan \uf6a2 [accent]pabricator tank[]. +onset.makeunit = Produksi sebuah unit.\nGunakan tombol "?" untuk melihat persyaratan pabrik yang dipilih. +onset.turrets = Unit sangatlah efektif, namun [accent]menara[] memberikan kemampuan pertahanan yang lebih baik jika digunakan secara efektif.\nTempatkan menara \uf6eb [accent]Breach[].\nMenara membutuhkan amunisi \uf748 [accent]berilium[]. +onset.turretammo = Suplai menara dengan [accent]amunisi berillium.[] +onset.walls = [accent]Dinding[] dapat mencegah kerusakan yang datang pada bangunan.\nTempatkan beberapa \uf6ee [accent]dinding berillium[] di sekitar menara. +onset.enemies = Musuh datang, bersiaplah untuk bertahan. +onset.defenses = [accent]Siapkan pertahanan:[lightgray] {0} +onset.attack = Musuh dalam keadaan rentan diserang. Luncurkan Serangan balik. +onset.cores = Inti baru dapat ditempatkan di [accent]ubin inti[].\nInti baru berfungsi sebagai pangkalan depan dan berbagi sumber daya dengan inti lainnya.\nTempatkan inti\uf725. +onset.detect = Musuh akan dapat mendeteksi Anda dalam 2 menit.\nSiapkan pertahanan, penambangan, dan produksi. +onset.commandmode = Tahan [accent]shift[] untuk masuk ke[accent]mode perintah[].\n[accent]Klik kiri dan seret[] untuk memilih unit.\n[accent]Klik kanan[] untuk memerintahkan unit yang dipilih untuk bergerak atau menyerang. +onset.commandmode.mobile = Tekan [accent]tombol perintah[] untuk masuk ke [accent]mode perintah[].\nTekan dan tahan jari Anda, lalu [accent]seret[] untuk memilih unit.\n[accent]Ketuk[] untuk memerintahkan unit yang dipilih untuk bergerak atau menyerang. +aegis.tungsten = Tungsten dapat ditambang menggunakan [accent]bor tumbukan[].\nBangunan ini membutuhkan [accent]air[] dan [accent]tenaga[]. + +split.pickup = Beberapa blok dapat diambil oleh unit inti.\nAmbil [accent]kontainer ini[] dan letakan di [accent]pembongkar muatan[].\n(Tombol bawaan nya ialah [ dan ] untuk mengambil dan menurun kan) +split.pickup.mobile = Beberapa blok dapat diambil oleh unit inti.\nAmbil [accent]kontainer ini[] dan letakan di [accent]pembongkar muatan[].\n(Untuk mengambil atau menurunkan sesuatu, tekan lama blok tersebut) +split.acquire = Anda harus memperoleh beberapa tungsten untuk membangun unit. +split.build = Unit harus diangkut ke sisi lain tembok.\nTempatkan dua [accent]Penembak Muatan Massal[], satu di setiap sisi dinding.\nHubungkan Penembak dengan menekan salah satunya, lalu pilih penembak yang lain. +split.container = Mirip dengan kontainer, unit juga dapat diangkut menggunakan [accent]Penembak Muatan Massal[].\nTempatkan unit fabrikator berdekatan dengan penggerak massal untuk memuatnya, lalu kirim mereka melintasi dinding untuk menyerang markas musuh. + +item.copper.description = Digunakan pada semua tipe konstruksi dan amunisi. +item.copper.details = Tembaga. Logam yang sangat melimpah di Serpulo. Lemah secara struktural kecuali jika diperkuat. +item.lead.description = Digunakan pada transportasi cairan dan bangunan listrik. +item.lead.details = Padat. Lembam. Biasanya digunakan untuk baterai.\nCatatan: Kemungkinan beracun untuk kehidupan biologis. Bukan berarti tidak banyak di sini. +item.metaglass.description = Digunakan pada bangunan distribusi cairan atau penyimpanan. +item.graphite.description = Digunakan pada komponen listrik dan amunisi menara. +item.sand.description = Digunakan sebagai bahan produksi untuk material yang akan dimurnikan. +item.coal.description = Digunakan sebagai bahan bakar dan memurnikan material. +item.coal.details = Merupakan hasil dari tumbuhan yang menjadi fosil, sudah terjadi sangat lama sebelum spora menyebar. +item.titanium.description = Digunakan pada bangunan transportasi cairan, bor dan pesawat terbang. +item.thorium.description = Digunakan pada bangunan yang kuat dan sebagai bahan bakar nuklir. +item.scrap.description = Digunakan pada Pelebur dan Penghancur untuk dimurnikan menjadi material lain. +item.scrap.details = Sisa-sisa dari unit dan bangunan tua. +item.silicon.description = Digunakan pada panel surya, bahan elektronik yang kompleks dan amunisi yang bisa mengejar. +item.plastanium.description = Digunakan dalam unit canggih, isolasi dan amunisi fragmentasi. +item.phase-fabric.description = Digunakan di elektronik canggih dan teknologi perbaikan diri sendiri. +item.surge-alloy.description = Digunakan di pertahanan yang lebih canggih dan struktur pertahanan reaktif. +item.spore-pod.description = Digunakan untuk produksi minyak, bahan peledak dan bahan bakar. +item.spore-pod.details = Spora. Sepertinya bentuk kehidupan sintetis. Menghasilkan gas beracun yang meracuni kehidupan biologis lainnya. Sangat mudah menyebar. Sangat mudah terbakar dalam kondisi tertentu. +item.blast-compound.description = Digunakan sebagai bom dan amunisi peledak. +item.pyratite.description = Digunakan di senjata pembakar dan generator yang membutuhkan bahan mudah terbakar. + +#Erekir +item.beryllium.description = Digunakan pada banyak jenis konstruksi dan amunisi di Erekir. +item.tungsten.description = Digunakan dalam bor, pelindung dan amunisi. Dibutuhkan dalam pembangunan struktur yang lebih canggih +item.oxide.description = Digunakan sebagai konduktor panas dan isolator tenaga. +item.carbide.description = Digunakan dalam bangunan canggih, unit yang lebih berat, dan amunisi. + +liquid.water.description = Umumnya digunakan untuk mendinginkan mesin dan pengolahan limbah. +liquid.slag.description = Dapat dipadatkan menjadi logam tertentu, atau disemprotkan ke musuh sebagai senjata. +liquid.oil.description = Digunakan pada produksi material canggih dan sebagai amunisi yang mudah terbakar. +liquid.cryofluid.description = Digunakan sebagai pendingin di reaktor, menara, dan pabrik. + +#Erekir +liquid.arkycite.description = Digunakan dalam reaksi kimia untuk pembangkit listrik dan material sintesis. +liquid.ozone.description = Digunakan sebagai zat pengoksidasi dalam memproduki material, dan sebagai bahan bakar. Cukup eksplosif. +liquid.hydrogen.description = Digunakan dalam ekstraksi sumber daya, produksi unit, dan perbaikan bangunan. Mudah terbakar. +liquid.cyanogen.description = Digunakan untuk amunisi, pembangunan unit canggih, dan berbagai reaksi pada blok canggih. Sangat mudah terbakar. +liquid.nitrogen.description = Digunakan dalam ekstraksi sumber daya, pembuatan gas, dan produksi unit. Lembam. +liquid.neoplasm.description = Produk sampingan biologis yang berbahaya dari reaktor Neoplasia. Sangat cepat menyebar ketika menyentuh blok yang mengandung air yang ada di dekatnya, dan merusak blok tersebut secara perlahan. Kental. +liquid.neoplasm.details = Neoplasma. Sel sintetik Massa yang membelah dengan cepat dan tak terkendali dengan konsistensi seperti lumpur. Tahan panas. Sangat berbahaya bagi bangunan apa pun yang melibatkan air.\n\nTerlalu rumit dan tidak stabil untuk analisis standar. Potensi penerapan tidak diketahui. Dianjurkan untuk dibakar pada kolam lava. + +block.derelict = \uf77e [lightgray]Derelik +block.armored-conveyor.description = Memindahkan barang ke depan. Tidak dapat menerima masukan dari samping. +block.illuminator.description = Memancarkan cahaya. +block.message.description = Menyimpan pesan untuk komunikasi antar sekutu. +block.reinforced-message.description = Menyimpan pesan untuk komunikasi antar sekutu. +block.world-message.description = Blok pesan untuk digunakan dalam pembuatan peta. Tidak dapat dihancurkan. +block.graphite-press.description = Memadatkan bongkahan batu bara menjadi lempengan grafit. +block.multi-press.description = Memadatkan bongkahan batu bara menjadi lempengan grafit. Membutuhkan air sebagai pendingin. +block.silicon-smelter.description = Memproduksi silikon dari pasir dan batu bara. +block.kiln.description = Membakar pasir dan timah menjadi metaglass. +block.plastanium-compressor.description = Memproduksi plastanium dari minyak dan titanium. +block.phase-weaver.description = Memproduksi phase fabric dari torium dan pasir. +block.surge-smelter.description = Memproduksi campuran logam dari titanium, timah, silikon dan tembaga. +block.cryofluid-mixer.description = Mencampur air dan titanium untuk memproduksi cairan dingin. +block.blast-mixer.description = Memproduksi senyawa peledak dari pyratit dan polong spora. +block.pyratite-mixer.description = Mencampur batu bara, timah dan pasir menjadi pyratit. +block.melter.description = Melelehkan rongsokan menjadi lava. +block.separator.description = Memisahkan komponen mineral dari lava. +block.spore-press.description = Menekan polong spora menjadi minyak. +block.pulverizer.description = Menghancurkan kepingan menjadi pasir. +block.coal-centrifuge.description = Memadatkan minyak menjadi bongkahan batu bara. +block.incinerator.description = Menghancurkan item atau zat cair yang masuk. +block.power-void.description = Menghilangkan semua tenaga yang masuk ke dalamnya. Khusus mode sandbox. +block.power-source.description = Menghasilkan tenaga tak terhingga. Khusus mode sandbox. +block.item-source.description = Mengeluarkan bahan tak terhingga. Khusus mode sandbox. +block.item-void.description = Menghancurkan bahan yang masuk. Khusus mode sandbox. +block.liquid-source.description = Mengeluarkan zat cair tak terhingga. Khusus mode sandbox. +block.liquid-void.description = Menghancurkan zat cair yang masuk. Khusus mode sandbox. +block.payload-source.description = Mengeluarkan muatan tak terhingga. Khusus mode sandbox. +block.payload-void.description = Menghancurkan muatan apapun. Khusus mode sandbox. +block.copper-wall.description = Melindungi bangunan dari tembakan musuh. +block.copper-wall-large.description = Melindungi bangunan dari tembakan musuh. +block.titanium-wall.description = Melindungi bangunan dari tembakan musuh. +block.titanium-wall-large.description = Melindungi bangunan dari tembakan musuh. +block.plastanium-wall.description = Melindungi bangunan dari tembakan musuh. Mampu menyerap laser dan listrik. Memblokir koneksi simpul tenaga secara otomatis. +block.plastanium-wall-large.description = Melindungi bangunan dari tembakan musuh. Mampu menyerap laser dan listrik. Memblokir koneksi simpul tenaga secara otomatis. +block.thorium-wall.description = Melindungi bangunan dari tembakan musuh. +block.thorium-wall-large.description = Melindungi bangunan dari tembakan musuh. +block.phase-wall.description = Melindungi bangunan dari tembakan musuh, dan dapat memantulkan beberapa jenis peluru senjata. +block.phase-wall-large.description = Melindungi bangunan dari tembakan musuh, dan dapat memantulkan beberapa jenis peluru senjata. +block.surge-wall.description = Melindungi bangunan dari tembakan musuh, dan dapat mengeluarkan setruman listrik. +block.surge-wall-large.description = Melindungi bangunan dari tembakan musuh, dan dapat mengeluarkan setruman listrik. +block.scrap-wall.description = Melindungi bangunan dari tembakan musuh. +block.scrap-wall-large.description = Melindungi bangunan dari tembakan musuh. +block.scrap-wall-huge.description = Melindungi bangunan dari tembakan musuh. +block.scrap-wall-gigantic.description = Melindungi bangunan dari tembakan musuh. +block.door.description = Dinding yang bisa dibuka dan ditutup. +block.door-large.description = Dinding yang bisa dibuka dan ditutup. +block.mender.description = Menyembuhkan blok di sekelilingnya secara berkala.\nGunakan silikon untuk meningkatkan jangkauan dan efisiensi (Opsional). +block.mend-projector.description = Menyembuhkan blok di sekelilingnya secara berkala.\nGunakan phase fabric untuk meningkatkan jangkauan dan efisiensi (Opsional). +block.overdrive-projector.description = Menambah kecepatan bangunan sekitar.\nGunakan phase fabric untuk meningkatkan jangkauan dan efisiensi (Opsional). Efek Pemercepat tidak dapat ditumpuk. +block.force-projector.description = Menciptakan medan gaya heksagonal di sekelilingnya, melindungi bangunan dan unit di dalamnya dari kerusakan. Terlalu panas jika menerima banyak kerusakan. Gunakan cairan pendingin untuk mencegah panas berlebih (Opsional). Phase fabric meningkatkan ukuran perisai. +block.shock-mine.description = Mengeluarkan setruman listrik setelah diinjak musuh. +block.conveyor.description = Memindahkan barang ke depan. +block.titanium-conveyor.description = Memindahkan barang ke depan. Lebih cepat daripada konveyor biasa. +block.plastanium-conveyor.description = Memindahkan barang secara bertumpuk. Menerima barang dari belakang, dan membaginya ke tiga arah di depan. Membutuhkan beberapa titik pemuat dan pembongkar untuk hasil yang maksimal. +block.junction.description = Bertindak sebagai jembatan untuk dua konveyor yang bersimpangan. +block.bridge-conveyor.description = Memindahkan barang melewati tanah atau bangunan. +block.phase-conveyor.description = Memindahkan barang secara instan melewati tanah atau bangunan. Memiliki jarak yang lebih jauh daripada jembatan, namun membutuhkan tenaga. +block.sorter.description = Jika barang yang masuk cocok dengan seleksi, barang akan diperbolehkan lewat ke depan. Jika tidak, barang akan dikeluarkan ke kiri dan kanan. +block.inverted-sorter.description = Sama seperti penyortir, namun mengeluarkan barang terpilih ke samping. +block.router.description = Mendistribusikan barang ke 3 arah secara merata. +block.router.details = Bisa sangat menggangu. Jangan meletakannya disamping bangunan pabrik, karena laju pengeluaran barang dapat tersumbat. +block.distributor.description = Mendistribusikan barang ke 7 arah secara merata. +block.overflow-gate.description = Hanya mengeluarkan barang ke kiri dan ke kanan jika bagian depan tertutup. +block.underflow-gate.description = Kebalikan dari gerbang luapan. Mengeluarkan barang ke depan jika bagian kiri dan kanan tertutup. +block.mass-driver.description = Blok transportasi barang jarak jauh. Mengumpulkan sejumlah barang dan menembakkannya ke penembak massal lainnya. +block.mechanical-pump.description = Memompa dan mengeluarkan cairan. Tidak membutuhkan tenaga. +block.rotary-pump.description = Memompa dan mengeluarkan cairan. Membutuhkan tenaga. +block.impulse-pump.description = Memompa dan mengeluarkan cairan. +block.conduit.description = Memindahkan cairan ke depan. Digunakan dengan pompa dan saluran lainnya. +block.pulse-conduit.description = Memindahkan cairan ke depan. Mengantarkan lebih cepat dan banyak daripada saluran biasa. +block.plated-conduit.description = Memindahkan cairan ke depan. Tidak menerima cairan dari samping. Tidak bocor. +block.liquid-router.description = Menerima cairan dari satu arah dan mengeluarkannya ke 3 arah secara rata. Dapat digunakan untuk menyimpan sejumlah cairan. +block.liquid-container.description = Menyimpan jumlah cairan yang banyak. Mengeluarkan cairan ke segala arah, sama seperti pengarah cairan. +block.liquid-tank.description = Menyimpan jumlah cairan yang sangat banyak. Mengeluarkan cairan ke segala arah, sama seperti pengarah cairan. +block.liquid-junction.description = Bertindak sebagai jembatan untuk dua saluran yang bersimpangan. +block.bridge-conduit.description = Memindahkan cairan melewati tanah atau bangunan. +block.phase-conduit.description = Memindahkan cairan melewati tanah atau bangunan. Memiliki jarak yang lebih jauh daripada jembatan cairan, namun membutuhkan tenaga. +block.power-node.description = Mentransmisikan tenaga ke simpul tersambung. Simpul akan menerima atau memberi tenaga ke atau dari blok yang disambung. +block.power-node-large.description = Mempunyai radius yang lebih besar dari simpul listrik biasa. Dapat tersambung ke 15 simpul lainnya. +block.surge-tower.description = Sebuah menara listrik dengan jangkauan sangat jauh dengan sambungan yang sedikit. +block.diode.description = Tenaga baterai dapat mengalir hanya dari satu arah, tetapi hanya jika tenaga di sebelah lebih sedikit. +block.battery.description = Menyimpan tenaga pada saat tenaga berlebih. Memberikan tenaga pada saat tenaga berkurang. +block.battery-large.description = Menyimpan tenaga pada saat tenaga berlebih. Memberikan tenaga pada saat tenaga berkurang. Memiliki kapasitas yang besar daripada baterai biasa. +block.combustion-generator.description = Menghasilkan tenaga dengan membakar material yang mudah terbakar, seperti batu bara. +block.thermal-generator.description = Menghasilkan tenaga saat ditempatkan di lokasi yang panas. +block.steam-generator.description = Menghasilkan tenaga dengan membakar material yang mudah terbakar dan mengubah air menjadi uap. +block.differential-generator.description = Menghasilkan tenaga dalam jumlah banyak. Memanfaatkan perbedaan suhu cairan pendingin dan pyratit yang terbakar. +block.rtg-generator.description = Menggunakan panas dari senyawa radioaktif untuk memproduksi tenaga secara perlahan. +block.solar-panel.description = Menghasilkan sedikit tenaga dari sinar matahari. +block.solar-panel-large.description = Menghasilkan sedikit tenaga dari sinar matahari. Lebih efisien daripada panel surya biasa. +block.thorium-reactor.description = Menghasilkan tenaga yang besar dari konsumsi torium. Membutuhkan pendinginan konstan. Akan meledak jika jumlah cairan pendingin yang disediakan tidak mencukupi +block.impact-reactor.description = Menghasilkan tenaga dengan jumlah yang sangat banyak secara efisien. Membutuhkan banyak tenaga agar dapat menyalakan reaktor. +block.mechanical-drill.description = Ketika ditempatkan pada bijih, mengeluarkan bahan dengan kecepatan lambat tanpa batas. Hanya mampu menambang sumber daya dasar. +block.pneumatic-drill.description = Bor yang ditingkatkan, mampu menambang titanium. Menambang dengan kecepatan lebih cepat daripada bor mekanis. +block.laser-drill.description = Mengebor lebih cepat lewat teknologi laser, tapi membutuhkan tenaga. Dapat menambang torium. +block.blast-drill.description = Bor tercanggih. Membutuhkan banyak tenaga. +block.water-extractor.description = Memompa air dari tanah. Gunakan jika tidak ada sumber air di sekitar. +block.cultivator.description = Menumbuhkan konsentrasi spora yang kecil di atmosfer menjadi polong spora. +block.cultivator.details = Teknologi yang dipulihkan. Digunakan untuk memproduksi biomassa dalam jumlah besar secara efisien. Kemungkinan merupakan inkubator awal dari spora yang sekarang menutupi Serpulo. +block.oil-extractor.description = Menggunakan jumlah tenaga, pasir dan air yang banyak untuk diolah menjadi minyak. +block.core-shard.description = Inti markas. Jika hancur, sektormu akan hilang. +block.core-shard.details = Iterasi pertama. Padat. Bisa menggandakan dirinya (untuk menguasai sektor di sekitarnya). Dilengkapi dengan pendorong sekali pakai. Tidak didesain untuk perjalanan antar planet. +block.core-foundation.description = Inti markas. Lebih kuat. Menyimpan banyak sumber daya. +block.core-foundation.details = Iterasi kedua. +block.core-nucleus.description = Inti markas. Sangat kuat. Menyimpan sangat banyak sumber daya. +block.core-nucleus.details = Iterasi ketiga dan yang terakhir. +block.vault.description = Menyimpan semua tipe bahan dalam jumlah besar. Bahan dapat dikeluarkan dengan pembongkar muatan. +block.container.description = Menyimpan semua tipe bahan dalam jumlah kecil. Bahan dapat dikeluarkan dengan pembongkar muatan. +block.unloader.description = Mengeluarkan bahan yang ditentukan dari bangunan. +block.launch-pad.description = Meluncurkan muatan bahan ke sektor yang dipilih. +block.advanced-launch-pad.description = Meluncurkan muatan bahan ke sektor yang dipilih. Hanya menerima satu jenis item dalam satu waktu. +block.advanced-launch-pad.details = Sistem sub-orbital untuk transportasi sumber daya point-to-point. +block.landing-pad.description = Menerima muatan bahan dari alas peluncur di sektor lain. Membutuhkan air dalam jumlah besar untuk melindungi alas dari dampak pendaratan. +block.duo.description = Menembakkan peluru bergantian ke musuh. +block.scatter.description = Menembakkan gumpalan timah, rongsokan atau metaglass ke target udara. +block.scorch.description = Membakar musuh darat yang dekat dengannya. Sangat efektif dalam jarak dekat. +block.hail.description = Menembakkan peluru kecil ke musuh darat dari jarak jauh. +block.wave.description = Menembakkan aliran cairan ke musuh. Secara otomatis memadamkan api bila disuplai dengan air. +block.lancer.description = Memuat dan menembakkan sinar energi yang kuat ke target darat. +block.arc.description = Menembakkan busur listrik ke target darat +block.swarmer.description = Menembakkan misil yang mengejar ke arah musuh. +block.salvo.description = Menembakkan peluru cepat ke arah musuh. +block.fuse.description = Menembakkan tiga penusuk tajam jarak dekat ke musuh terdekat. +block.ripple.description = Menembakkan gugusan peluru ke musuh darat dari jarak jauh. +block.cyclone.description = Menembakkan gumpalan peledak ke musuh terdekat. +block.spectre.description = Menembakkan peluru besar yang menembus pelindung ke target udara dan darat. +block.meltdown.description = Mengisi dan menembakkan sinar laser secara terus-menerus ke musuh di sekitar. Membutuhkan pendingin untuk beroperasi. +block.foreshadow.description = Menembakkan baut besar jarak jauh yang hanya menembak satu target. Mengutamakan musuh dengan batas darah tertinggi. +block.repair-point.description = Memulihkan unit yang terluka di sekitar secara terus-menerus. +block.segment.description = Merusakkan dan menghancurkan proyektil yang datang. Proyektil laser tidak akan ditargetkan. +block.parallax.description = Menembakkan laser yang menarik target udara, juga merusaknya selama dalam proses. +block.tsunami.description = Menembakkan cairan dalam jumlah dan tekanan besar ke arah musuh. Dapat memadamkan api secara otomatis jika diisi dengan air. +block.silicon-crucible.description = Memurnikan silikon dari pasir dan batu bara, menggunakan pyratit sebagai sumber panas tambahan. Lebih efesien jika diletakkan di area yang panas. +block.disassembler.description = Memisahkan lava menjadi mineral langka dalam efesiensi rendah. Bisa memproduksi torium. +block.overdrive-dome.description = Menambahkan kecepatan pada bangunan di sekitarnya. Membutuhkan phase fabric dan silikon untuk bekerja. Efek Pemercepat tidak dapat ditumpuk. +block.payload-conveyor.description = Memindahkan muatan yang besar, seperti unit dari pabrik. +block.payload-router.description = Membagi muatan masukan menjadi 3 arah keluaran. +block.ground-factory.description = Memproduksi unit darat. Hasil unit dapat digunakan secara langsung, atau dipindahkan ke rekonstruktor untuk ditingkatkan. +block.air-factory.description = Memproduksi unit udara. Hasil unit dapat digunakan secara langsung, atau dipindahkan ke rekonstruktor untuk ditingkatkan. +block.naval-factory.description = Memproduksi unit laut. Hasil unit dapat digunakan secara langsung, atau dipindahkan ke rekonstruktor untuk ditingkatkan. +block.additive-reconstructor.description = Meningkatkan unit di dalamnya menjadi tingkat dua. +block.multiplicative-reconstructor.description = Meningkatkan unit di dalamnya menjadi tingkat tiga. +block.exponential-reconstructor.description = Meningkatkan unit di dalamnya menjadi tingkat empat. +block.tetrative-reconstructor.description = Meningkatkan unit di dalamnya menjadi tingkat lima dan terakhir. +block.switch.description = Sakelar yang dapat dialihkan. Status dapat dibaca dan dikendalikan dengan prosesor logika. +block.micro-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. +block.logic-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. Lebih cepat dibandingkan prosesor mikro. +block.hyper-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. Lebih cepat dibandingkan prosesor logika. +block.memory-cell.description = Menyimpan informasi untuk prosesor. +block.memory-bank.description = Menyimpan informasi untuk prosesor. Berkapasitas besar. +block.logic-display.description = Menampilkan grafik sembarang dari prosesor. +block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar. +block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet. +block.repair-turret.description = Memulihkan unit terdekat yang sekarat dalam jangkauan secara terus-menerus. Dapat menerima pendingin (Opsional). + +#Erekir +block.core-bastion.description = Inti markas. Terlindungi. Jika hancur, sektor jatuh ke tangan musuh. +block.core-citadel.description = Inti markas. Sangat terlindungi. Menyimpan lebih banyak sumber daya dari pada Inti Bastion. +block.core-acropolis.description = Inti markas. Sangat amat terlindungi. Menyimpan lebih banyak sumber daya dari pada Inti Citadel. +block.breach.description = Menembakkan amunisi yang menusuk ke arah musuh. +block.diffuse.description = Menembakkan semburan peluru dalam kerucut yang lebar. Mendorong musuh kebelakang. +block.sublimate.description = Menembakkan pancaran api terus menerus ke arah musuh. Menembus pelindung. +block.titan.description = Menembakkan peluru artileri eksplosif besar ke target darat. Membutuhkan hidrogen. +block.afflict.description = Menembakkan bola anti-peluru fragmentaris bermuatan besar. Membutuhkan pemanasan. +block.disperse.description = Menembakkan semburan anti-peluru ke target udara. +block.lustre.description = Menembakkan laser target tunggal yang bergerak lambat ke arahmusuh. +block.scathe.description = Meluncurkan rudal yang kuat ke target darat dalam jarak yang sangat jauh. +block.smite.description = Menembakan semburan peluru yang menusuk dan menyambar. +block.malign.description = Menembakkan rentetan muatan laser pelacak ke target musuh. Membutuhkan pemanasan ekstensif. +block.silicon-arc-furnace.description = Memurnikan silikon dari pasir dan grafit. +block.oxidation-chamber.description = Mengubah berilium dan ozon menjadi oksida. Memancarkan panas sebagai produk sampingan. +block.electric-heater.description = Pemanas yang menghadap ke arah blok. Membutuhkan daya yang besar. +block.slag-heater.description = Pemanas yang menghadap ke arah blok. Membutuhkan lava. +block.phase-heater.description = Pemanas yang menghadap ke arah blok. Membutuhkan phase fabric. +block.heat-redirector.description = Mengalihkan akumulasi panas ke blok lain. +block.small-heat-redirector.description = Mengalihkan akumulasi panas ke blok lain. +block.heat-router.description = Menyebarkan akumulasi panas ke tiga arah. +block.electrolyzer.description = Mengubah air menjadi gas hidrogen dan ozon. +block.atmospheric-concentrator.description = Mengkonsentrasikan nitrogen dari atmosfer. Membutuhkan panas. +block.surge-crucible.description = Membentuk Paduan Logam dari lava dan silikon. Membutuhkan panas. +block.phase-synthesizer.description = Mensintesis phase fabric dari torium, pasir, dan ozon. Membutuhkan panas. +block.carbide-crucible.description = Memadukan grafit dan tungsten menjadi karbida. Membutuhkan panas. +block.cyanogen-synthesizer.description = Mensintesis sianogen dari arkisit dan grafit. Membutuhkan panas. +block.slag-incinerator.description = Membakar benda atau cairan yang tidak mudah menguap. Membutuhkan lava. +block.vent-condenser.description = Mengondensasi gas ventilasi ke dalam air. Membutuhkan tenaga. +block.plasma-bore.description = Saat ditempatkan menghadap dinding bijih, mengeluarkan bahan tanpa batas. Membutuhkan daya dalam jumlah kecil. +block.large-plasma-bore.description = Bor plasma yang lebih besar. Mampu menambang tungsten dan torium. Membutuhkan hidrogen dan tenaga. +block.cliff-crusher.description = Menghancurkan dinding, mengeluarkan pasir tanpa batas. Membutuhkan tenaga. Efisiensi bervariasi berdasarkan jenis dinding. +block.large-cliff-crusher.description = Menghancurkan dinding, mengeluarkan pasir tanpa batas. Membutuhkan tenaga dan ozon. Efisiensi bervariasi berdasarkan jenis dinding. Gunakan Tungsten untuk meningkatkan efisiensi (Opsional). +block.impact-drill.description = Saat ditempatkan pada bijih, mengeluarkan bahan dalam ledakan tanpa batas. Membutuhkan listrik dan air. +block.eruption-drill.description = Bor tumbukan yang ditingkatkan. Mampu menambang torium. Membutuhkan hidrogen. +block.reinforced-conduit.description = Memindahkan cairan ke depan. Tidak menerima masukkan ke samping. +block.reinforced-liquid-router.description = Mendistribusikan cairan secara merata ke semua sisi. +block.reinforced-liquid-tank.description = Menyimpan sejumlah besar cairan. +block.reinforced-liquid-container.description = Menyimpan jumlah cairan yang cukup besar. +block.reinforced-bridge-conduit.description = Memindahkan cairan melintasi medan dan bangunan +block.reinforced-pump.description = Memompa dan mengeluarkan cairan. Membutuhkan hidrogen. +block.beryllium-wall.description = Melindungi bangunan dari proyektil musuh. +block.beryllium-wall-large.description = Melindungi bangunan dari proyektil musuh. +block.tungsten-wall.description = Melindungi bangunan dari proyektil musuh. +block.tungsten-wall-large.description = Melindungi bangunan dari proyektil musuh. +block.carbide-wall.description = Melindungi bangunan dari proyektil musuh. +block.carbide-wall-large.description = Melindungi bangunan dari proyektil musuh. +block.reinforced-surge-wall.description = Melindungi bangunan dari proyektil musuh, melepaskan listrik secara berkala saat proyektil mengenai dinding. +block.reinforced-surge-wall-large.description = Melindungi bangunan dari proyektil musuh, melepaskan listrik secara berkala saat proyektil mengenai dinding. +block.shielded-wall.description = Melindungi bangunan dari proyektil musuh. Menyebarkan perisai yang menyerap sebagian besar proyektil saat daya tersedia. Menghantarkan tenaga. +block.blast-door.description = Dinding yang terbuka ketika unit darat sekutu berada dalam jangkauan. Tidak dapat dikontrol secara manual. +block.duct.description = Memindahkan barang ke depan. Hanya mampu menyimpan satu barang. +block.armored-duct.description = Memindahkan barang ke depan. Tidak menerima masukan dari samping. +block.duct-router.description = Mendistribusikan barang secara merata ke tiga arah. Hanya menerima barang dari sisi belakang. Dapat dikonfigurasi sebagai penyortir barang. +block.overflow-duct.description = Hanya mengeluarkan barang ke samping jika jalur depan diblokir. +block.duct-bridge.description = Memindahkan barang di atas medan dan bangunan +block.duct-unloader.description = Membongkarkan barang yang dipilih dari blok di belakangnya. Tidak dapat membongkar dari inti. +block.underflow-duct.description = Kebalikan dari pipa luapan. Mengeluarkan barang ke depan jika jalur kiri dan kanan terblokir. +block.reinforced-liquid-junction.description = Bertindak sebagai persimpangan antara dua saluran penyeberangan. +block.surge-conveyor.description = Memindahkan barang secara berkelompok. Dapat dipercepat dengan tenaga. Menghantarkan tenaga. +block.surge-router.description = Mendistribusikan barang secara merata ke tiga arah dari konveyor lonjakan. Dapat dipercepat dengan tenaga. Menghantarkan tenaga. +block.unit-cargo-loader.description = Membuat unit kargo. Unit kargo secara otomatis mendistribusikan barang ke titik bongkar muatan unit kargo dengan filter yang cocok. +block.unit-cargo-unload-point.description = Bertindak sebagai titik bongkar muatan unit kargo. Menerima barang yang cocok dengan filter yang dipilih. +block.beam-node.description = Mentransmisikan daya ke blok lain secara ortogonal. Menyimpan sejumlah kecil daya. +block.beam-tower.description = Mentransmisikan daya ke blok lain secara ortogonal. Menyimpan sejumlah besar daya. Jarak jauh. +block.turbine-condenser.description = Menghasilkan tenaga ketika ditempatkan pada ventilasi. Menghasilkan sedikit air. +block.chemical-combustion-chamber.description = Menghasilkan tenaga dari arkisit dan ozon. +block.pyrolysis-generator.description = Menghasilkan tenaga dalam jumlah besar dari arkisit dan lava. Menghasilkan air sebagai produk sampingan. +block.flux-reactor.description = Menghasilkan daya dalam jumlah besar ketika dipanaskan. Membutuhkan sianogen sebagai penstabil. Daya yang dihasilkan dan kebutuhan sianogen sebanding dengan panas yang masuk.\nMeledak jika sianogen yang disediakan tidak mencukupi. +block.neoplasia-reactor.description = Menggunakan arkisit, air, dan phase fabric untuk menghasilkan daya dalam jumlah besar. Menghasilkan panas dan neoplasma yang berbahaya sebagai produk sampingan.\nMeledak hebat jika neoplasma tidak dikeluarkan dari reaktor melalui saluran. +block.build-tower.description = Secara otomatis membangun kembali bangunan dalam jangkauan dan membantu unit lain dalam konstruksi. +block.regen-projector.description = Perlahan memperbaiki bangunan sekutu di perimeter persegi. Membutuhkan hidrogen. Gunakan phase fabric untuk meningkatkan efisiensi (Opsional). +block.reinforced-container.description = Menyimpan sejumlah kecil barang. Isi kontainer dapat diambil melalui pembongkaran. Tidak dapat meningkatkan kapasitas penyimpanan inti. +block.reinforced-vault.description = Menyimpan sejumlah besar barang. Isi gudang dapat diambil melalui pembongkaran. Tidak dapat meningkatkan kapasitas penyimpanan inti. +block.tank-fabricator.description = Membangun unit Stell. Unit dapat digunakan secara langsung, atau dipindahkan ke pabrikator ulang untuk ditingkatkan. +block.ship-fabricator.description = Membangun unit Elude. Unit dapat digunakan secara langsung, atau dipindahkan ke pabrikator ulang untuk ditingkatkan. +block.mech-fabricator.description = Membangun unit Merui. Unit dapat digunakan secara langsung, atau dipindahkan ke pabrikator ulang untuk ditingkatkan. +block.tank-assembler.description = Merakit Unit Tank besar dari blok dan unit yang dimasukkan. Tingkat keluaran dapat ditingkatkan dengan menambahkan modul. +block.ship-assembler.description = Merakit Unit Kapal besar dari blok dan unit yang dimasukkan. Tingkat keluaran dapat ditingkatkan dengan menambahkan modul. +block.mech-assembler.description = Merakit Unit Mech besar dari blok dan unit yang dimasukkan. Tingkat keluaran dapat ditingkatkan dengan menambahkan modul. +block.tank-refabricator.description = Meningkatkan unit tank yang dimasukkan ke tingkat kedua. +block.ship-refabricator.description = Meningkatkan unit kapal yang dimasukkan ke tingkat kedua. +block.mech-refabricator.description = Meningkatkan unit mech yang dimasukkan ke tingkat kedua. +block.prime-refabricator.description = Meningkatkan unit yang dimasukkan ke tingkat ketiga. +block.basic-assembler-module.description = Meningkatkan tingkat perakit ketika ditempatkan di sebelah batas konstruksi. Membutuhkan tenaga. Dapat digunakan sebagai penerima muatan. +block.small-deconstructor.description = Mendekonstruksi bangunan dan unit yang dimasukkan. Mengembalikan 100% biaya pembangunan. +block.reinforced-payload-conveyor.description = Memindahkan muatan ke depan. +block.reinforced-payload-router.description = Mendistribusikan muatan ke blok yang berdekatan. Berfungsi sebagai penyortir ketika filter disetel. +block.payload-mass-driver.description = Struktur transportasi muatan jarak jauh. Menembak muatan ke penembak muatan massal yang terhubung. +block.large-payload-mass-driver.description = Struktur transportasi muatan jarak jauh. Menembak muatan ke penembak muatan massal yang terhubung. +block.unit-repair-tower.description = Memulihkan semua unit di sekitarnya. Membutuhkan ozon. +block.radar.description = Secara bertahap mengungkap medan dan unit musuh dalam radius besar. Membutuhkan tenaga. +block.shockwave-tower.description = Merusak dan menghancurkan proyektil musuh dalam radius. Membutuhkan sianogen. +block.canvas.description = Menampilkan gambar sederhana dengan palet yang telah ditentukan sebelumnya. Dapat diedit. + +unit.dagger.description = Menembak musuh terdekat dengan amunisi standar. +unit.mace.description = Menyerang musuh terdekat dengan cara membakarnya. +unit.fortress.description = Menembak musuh darat dengan artileri jarak jauh. +unit.scepter.description = Menembak semua musuh terdekat dengan rentetan peluru bermuatan listrik. +unit.reign.description = Menembak semua musuh terdekat dengan rentetan peluru tajam dalam jumlah banyak. +unit.nova.description = Menembak baut laser yang dapat merusak musuh dan memperbaiki bangunan sekutu. Dapat terbang. +unit.pulsar.description = Menembak petir yang dapat merusak musuh dan memperbaiki bangunan sekutu. Dapat terbang. +unit.quasar.description = Menembak sinar laser yang dapat menembus bangunan yang dapat merusak musuh dan memperbaiki bangunan sekutu. Dapat terbang. Memiliki perisai. +unit.vela.description = Menembak sinar laser besar secara terus menerus yang dapat merusak musuh, membakarnya dan memperbaiki bangunan sekutu. Dapat terbang. +unit.corvus.description = Menembak sinar laser besar yang dapat merusak musuh dan memperbaiki bangunan sekutu. Dapat berjalan diatas hampir semua medan. +unit.crawler.description = Berlari menuju musuh dan menghancurkan dirinya, yang dapat menghasilkan ledakan besar. +unit.atrax.description = Menembak musuh dengan cairan lava kepada target darat. Dapat berjalan diatas hampir semua medan. +unit.spiroct.description = Menembak laser pelemah kepada musuh, dapat memperbaiki dirinya dalam proses. Dapat berjalan diatas hampir semua medan. +unit.arkyid.description = Menembak laser pelemah besar kepada musuh, dapat memperbaiki dirinya dalam proses. Dapat berjalan diatas hampir semua medan. +unit.toxopid.description = Menembak gugusan peluru listrik besar dan laser penusuk kepada musuh. Dapat berjalan diatas hampir semua medan. +unit.flare.description = Menembak musuh darat terdekat dengan amunisi standar. +unit.horizon.description = Menjatuhkan gugusan bom kepada musuh darat. +unit.zenith.description = Menembak misil kepada musuh terdekat. +unit.antumbra.description = Menembak rentetan peluru kepada musuh terdekat. +unit.eclipse.description = Menembak dua sinar laser dan rentetan peluru kepada musuh terdekat. +unit.mono.description = Menambang tembaga dan timah secara otomatis, menyimpannya ke dalam inti. +unit.poly.description = Membangun kembali bangunan yang hancur secara otomatis dan membantu unit lain dalam pembangunan. +unit.mega.description = Memperbaiki bangunan secara otomatis. Dapat membawa bangunan dan unit darat kecil. +unit.quad.description = Menjatuhkan bom besar kepada target darat, yang bisa memberbaiki bangunan sekutu dan merusak musuh. Dapat membawa unit darat berukuran sedang. +unit.oct.description = Melindungi sekutu di sekitarnya dengan perisai yang dapat beregenerasi. Dapat membawa hampir semua unit darat. +unit.risso.description = Menembak rentetan misil dan peluru kepada semua musuh terdekat. +unit.minke.description = Menembak cangkang pembakar dan peluru standar kepada musuh darat terdekat. +unit.bryde.description = Menembak artileri jarak jauh dan misil kepada musuh. +unit.sei.description = Menembak rentetan misil dan peluru yang dapat menembus pelindung kepada musuh. +unit.omura.description = Menembak senapan rel jarak jauh penembus kepada musuh. Dapat memproduksi unit Flare. +unit.alpha.description = Melindungi Inti Shard dari musuh. Dapat membangun struktur. +unit.beta.description = Melindungi Inti Foundation dari musuh. Dapat membangun struktur. +unit.gamma.description = Melindungi Inti Nucleus dari musuh. Dapat membangun struktur. +unit.retusa.description = Menembak torpedo pelacak. Memperbaiki unit sekutu. +unit.oxynoe.description = Menembak aliran api pada musuh terdekat. Menargetkan proyektil musuh terdekat dengan titik menara pertahanan. +unit.cyerce.description = Menembak misil yang membidik otomatis secara beruntun pada musuh. Memperbaiki unit sekutu. +unit.aegires.description = Mengkejutkan semua bangunan dan unit musuh yang ada di dalam medan energi. Memperbaiki seluruh unit sekutu. +unit.navanax.description = Menembak proyektil elektromagnetik yang meledak, memberikan kerusakan yang signifikan pada jaringan tenaga musuh dan memperbaiki bangunan sekutu. Melelehkan musuh terdekat dengan 4 menara laser secara otomatis. + +#Erekir +unit.stell.description = Menembak peluru standar pada musuh. +unit.locus.description = Menembak peluru bergantian pada musuh. +unit.precept.description = Menembak gugusan peluru penusuk pada musuh. +unit.vanquish.description = Menembak peluru penusuk pemisahan besar pada musuh. +unit.conquer.description = Menembak peluru penusuk besar yang berpancar pada musuh. +unit.merui.description = Menembak artileri jarak jauh pada musuh di darat. Dapat melewati berbagai dataran. +unit.cleroi.description = Menembak peluru ganda pada musuh. Menargetkan proyektil musuh terdekat dengan titik menara pertahanan. Dapat melewati berbagai dataran. +unit.anthicus.description = Menembak misil pelacak jarak jauh pada musuh. Dapat melewati berbagai dataran. +unit.tecta.description = Menembak misil plasma pelacak pada musuh. Melindungi diri sendiri dengan perisai searah. Dapat melewati berbagai dataran. +unit.collaris.description = Menembak pecahan artileri jarak jauh pada musuh. Dapat melewati berbagai dataran. +unit.elude.description = Menembak sepasang peluru pelacak pada musuh. Dapat melayang diatas permukaan cairan. +unit.avert.description = Menembak sepasang peluru yang memutar pada musuh. +unit.obviate.description = Menembak sepasang bola listrik yang memutar pada musuh. +unit.quell.description = Menembak misil pelacak jarak jauh pada musuh. Menahan bangunan perbaikan musuh. +unit.disrupt.description = Menembak misil pelacak penekanan jarak jauh pada musuh. Menahan bangunan perbaikan musuh. +unit.evoke.description = Membangun struktur untuk melindungi Inti Bastion. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2. +unit.incite.description = Membangun struktur untuk melindungi Inti Citadel. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2. +unit.emanate.description = Membangun struktur untuk melindungi Inti Acropolis. Memperbaiki bangunan dengan sebuah sinar. Dapat membawa bangunan hingga ukuran 2x2 + +lst.read = Membaca angka dari memori sel yang dihubungkan. +lst.write = Menulis angka ke memori sel yang dihubungkan. +lst.print = Menambahkan teks ke daftar cetak.\nTidak dapat menampilkan apapun sampai [accent]Print Flush[] dipakai. +lst.printchar = Tambahkan karakter UTF-16 atau ikon konten ke buffer cetak.\nTidak menampilkan apa pun sampai [accent]Print Flush[] digunakan. +lst.format = Ganti placeholder berikutnya di buffer teks dengan sebuah nilai.\nTidak melakukan apa pun jika pola placeholder tidak valid.\nPola placeholder: "{[accent]nomor 0-9[]}"\nContoh:\n[accent]print "test {0}"\nformat "example" +lst.draw = Menambahkan perintah ke daftar gambar.\nTidak dapat menampilkan apapun sampai [accent]Draw Flush[] dipakai. +lst.drawflush = Mengeluarkan perintah [accent]Draw[] dari daftar antrean untuk ditampilkan. +lst.printflush = Mengeluarkan perintah [accent]Print[] dari daftar antrean untuk blok pesan. +lst.getlink = Dapatkan tautan prosesor dengan indeks. Dimulai dari 0. +lst.control = Mengendalikan bangunan. +lst.radar = Mendeteksi unit di sekitar bangunan dalam jarak. +lst.sensor = Mengambil data dari bangunan atau unit. +lst.set = Menentukan sebuah variabel. +lst.operation = Melakukan operasi pada 1-2 variabel. +lst.end = Loncati ke awal dari tumpukan perintah. +lst.wait = Memberi jeda dalam detik yang ditentukan. +lst.stop = Menghentikan eksekusi dari prosesor ini. +lst.lookup = Mencari tipe barang/cairan/unit/blok dengan ID.\nJumlah hitungan dari setiap tipe dapat dilihat dengan:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Loncati secara bersyarat ke pernyataan berikutnya. +lst.unitbind = Menautkan ke unit jenis berikutnya, dan menyimpannya di [accent]@unit[]. +lst.unitcontrol = Mengendalikan unit yang saat ini dihubungkan. +lst.unitradar = Mendeteksi unit lain di sekitar unit yang saat ini dihubungkan. +lst.unitlocate = Mendeteksi sebuah tipe tertentu dari posisi/bangunan di mana saja di peta.\nMembutuhkan unit yang dihubungkan. +lst.getblock = Mendapatkan data ubin di lokasi manapun. +lst.setblock = Menentukan data ubin di lokasi manapun. +lst.spawnunit = Munculkan unit pada tempat yang ditentukan. +lst.applystatus = Menerapkan atau menghapus status efek dari sebuah unit. +lst.weathersense = Periksa apakah jenis cuaca aktif. +lst.weatherset = Tetapkan suatu keadaan pada jenis cuaca saat ini. +lst.spawnwave = Simulasikan adanya gelombang pada lokasi acak.\nTidak akan ditambahkan pada jumlah gelombang keseluruhan. +lst.explosion = Membuat sebuah ledakan pada lokasi yang ditentukan. +lst.setrate = Menentukan kecepatan eksekusi prosesor dalam instruksi per tick. +lst.fetch = Mencari unit, inti, pemain atau bangunan dari indeks.\nIndeks dimulai dari 0 dan berakhir pada jumlah yang dikembalikan. +lst.packcolor = Memadatkan [0, 1] komponen RGBA menjadi satu angka untuk menggambar atau rule-setting. +lst.setrule = Menentukan suatu peraturan permainan. +lst.flushmessage = Tampilkan sebuah pesan di layar dari antrian teks.\nAkan menunggu hingga pesan sebelumnya selesai. +lst.cutscene = Mengendalikan kamera pemain. +lst.setflag = Menentukan global flag yang dapat dibaca oleh semua prosesor. +lst.getflag = Periksa apakah ada global flag yang ditentukan. +lst.setprop = Menetapkan properti unit atau bangunan. +lst.effect = Buat efek partikel. +lst.sync = Sinkronkan variabel di seluruh jaringan.\nHanya dipanggil paling banyak 10 kali per detik. +lst.playsound = Memutar suara. \nVolume dan kontrol suara dapat berupa nilai global, atau dihitung berdasarkan posisi. +lst.makemarker = Buat penanda logika baru di dunia.\nSebuah ID untuk mengidentifikasi penanda ini harus disediakan.\nPenanda saat ini dibatasi hingga 20.000 per dunia. +lst.setmarker = Tetapkan properti untuk penanda.\nID yang digunakan harus sama dengan instruksi Membuat Marker. +lst.localeprint = Tambahkan nilai properti peta lokal ke buffer teks.\nUntuk menyetel paket peta lokal di penyunting peta, cek [accent]Info Peta > Paket Lokal[].\nJika klien adalah perangkat seluler, coba cetak properti yang diakhiri dengan ".mobile" terlebih dahulu. + +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = Konstan matematikal pi (3.141...) +lglobal.@e = Konstan matematikal e (2.718...) +lglobal.@degToRad = Mengalikan dengan angka ini untuk mengubah derajat ke radian +lglobal.@radToDeg = Mengalikan dengan angka ini untuk mengubah radian ke derajat + +lglobal.@time = Waktu main dari simpanan saat ini, dalam milidetik +lglobal.@tick = Waktu main dari simpanan saat ini, dalam tick (1 detik = 60 tick) +lglobal.@second = Waktu main dari simpanan saat ini, dalam detik +lglobal.@minute = Waktu main dari simpanan saat ini, dalam menit +lglobal.@waveNumber = Angka gelombang saat ini, jika gelombang diaktifkan +lglobal.@waveTime = Pewaktu hitung mundur untuk gelombang, dalam detik +lglobal.@mapw = Lebar peta, dalam ubin. +lglobal.@maph = Tinggi peta, dalam ubin. + +lglobal.sectionMap = Peta +lglobal.sectionGeneral = Umum +lglobal.sectionNetwork = Jaringan/Sisi-klien [Hanya Prosesor Dunia] +lglobal.sectionProcessor = Prosesor +lglobal.sectionLookup = Pencarian + +lglobal.@this = Blok logika yang mengeksekusi suatu kode +lglobal.@thisx = Koordinat X dari blok yang mengeksekusi suatu kode +lglobal.@thisy = Koordinat Y dari blok yang mengeksekusi suatu kode +lglobal.@links = Jumlah total blok yang ditautkan ke prosesor ini +lglobal.@ipt = Kecepatan eksekusi dari prosesor dalam intruksi per tick (60 tick = 1 detik) + +lglobal.@unitCount = Jumlah total dari tipe pada konten unit di dalam game; digunakan dengan intruksi pencarian +lglobal.@blockCount = Jumlah total dari tipe pada konten blok di dalam game; digunakan dengan intruksi pencarian +lglobal.@itemCount = Jumlah total dari tipe pada konten item di dalam game; digunakan dengan intruksi pencarian +lglobal.@liquidCount = Jumlah total dari tipe pada konten cairan di dalam game; digunakan dengan intruksi pencarian + +lglobal.@server = True jika kode dijalankan di server atau di singleplayer, false sebaliknya +lglobal.@client = True jika kode dijalankan dalam sebuah klien disambungkan ke sebuah server + +lglobal.@clientLocale = Lokalisasi pada klien yang menjalankan suatu kode. Untuk contoh: en_US +lglobal.@clientUnit = Unit pada klien yang menjalankan suatu kode +lglobal.@clientName = Nama player pada klien yang menjalankan suatu kode +lglobal.@clientTeam = ID Tim pada klien yang menjalankan suatu kode +lglobal.@clientMobile = True jika kode dijalankan di server atau di singleplayer, false sebaliknya + +logic.nounitbuild = [red]Logika unit membangun tidak diizinkan. + +lenum.type = Bentuk dari bangunan/unit.\nMisalnya, untuk blok pengarah masa, akan tampil sebagai [accent]@router[].\nBukan string. +lenum.shoot = Menembak pada suatu posisi yang ditentukan. +lenum.shootp = Menembak pada unit/bangunan dengan prediksi kecepatan. +lenum.config = Pengaturan bangunan, misalnya menyortir barang. +lenum.enabled = Menentukan aktif tidaknya suatu blok. + +laccess.currentammotype = Bahan amunisi/cairan menara saat ini. +laccess.color = Warna lampu. +laccess.controller = Pengendali unit. Jika dikendalikan prosesor, mengembalikan prosesor.\nJika unit dalam barisan, mengembalikan leader.\nSebaliknya, mengembalikan unit itu sendiri. +laccess.dead = Menentukan apakah unit/bangunan itu hancur atau tidak ada lagi. +laccess.controlled = Mengembalikan:\n[accent]@ctrlProcessor[] bila pengendali unit adalah prosesor\n[accent]@ctrlPlayer[] bila pengendali unit/bangunan adalah pemain\n[accent]@ctrlFormation[] bila unit dalam formasi\nSebaliknya, 0. +laccess.progress = Memeriksa hasil kemajuan, 0 sampai 1.\nMengembalikan hasil laju produksi, pengisian ulang menara atau pembangunan. +laccess.speed = Kecepatan tertinggi dari suatu unit, dalam ubin/detik. +laccess.id = ID suatu unit/blok/bahan/cairan.\nIni adalah kebalikan dari operasi pencarian. + +lcategory.unknown = Tak Diketahui +lcategory.unknown.description = Instruksi tanpa kategori. +lcategory.io = Input & Output +lcategory.io.description = Ubah isi dari blok memori dan buffer prosesor. +lcategory.block = Kontrol Blok +lcategory.block.description = Interaksi dengan blok. +lcategory.operation = Operasi +lcategory.operation.description = Operasi logikal. +lcategory.control = Kontrol Aliran +lcategory.control.description = Mengatur eksekusi perintah. +lcategory.unit = Kontrol Unit +lcategory.unit.description = Memberikan perintah kepada unit. +lcategory.world = Dunia +lcategory.world.description = Kendalikan bagaimana dunia berjalan. + +graphicstype.clear = Mengisi tampilan dangan warna. +graphicstype.color = Menentukan warna untuk operasi mengambar selanjutnya. +graphicstype.col = Setara dengan color, namun dikemas.\nWarna yang dikemas ditulis dalam kode hex dengan awalan [accent]%[].\nContoh: [accent]%ff0000[] akan menjadi warna merah. +graphicstype.stroke = Menentukan lebar garis. +graphicstype.line = Menggambar segmen garis. +graphicstype.rect = Mengisi sebuah persegi panjang. +graphicstype.linerect = Menggambar sebuah garis persegi panjang. +graphicstype.poly = Mengisi sebuah poligon beraturan. +graphicstype.linepoly = Menggambar sebuah garis poligon beraturan. +graphicstype.triangle = Mengisi sebuah segitiga. +graphicstype.image = Membentuk sebuah gambar dari suatu konten.\nMisal: [accent]@router[] atau [accent]@dagger[]. +graphicstype.print = Mengambar teks dari buffer cetak.\nHanya karakter ASCII yang diperbolehkan.\nMenghapus buffer cetak. + +lenum.always = Selalu benar. +lenum.idiv = Pembagian integer. +lenum.div = Pembagian.\nMengembalikan [accent]null[] pada pembagian dengan nol. +lenum.mod = Modulus. +lenum.equal = Kesetaraan. Mengonversikan tipe.\nObjek bukan nol dibandingkan dengan angka menjadi 1, jika tidak 0. +lenum.notequal = Kesetaraan tanpa jenis pemaksaan. Mengonversikan tipe. +lenum.strictequal = Kesetaraan dengan jenis pemaksaan. Tidak mengonversikan tipe.\nDapat digunakan untuk memeriksa [accent]null[]. +lenum.shl = Bit-shift kiri. +lenum.shr = Bit-shift kanan. +lenum.or = Bitwise OR. +lenum.land = Logika AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. + +lenum.min = Minimum dari dua angka. +lenum.max = Maksimum dari dua angka. +lenum.angle = Sudut vektor dalam derajat. +lenum.anglediff = Jarak mutlak antara dua sudut dalam derajat. +lenum.len = Panjang vektor. + +lenum.sin = Sinus, dalam derajat. +lenum.cos = Kosinus, dalam derajat. +lenum.tan = Tangen, dalam derajat. + +lenum.asin = Arc sinus, dalam derajat. +lenum.acos = Arc kosinus, dalam derajat. +lenum.atan = Arc tangen, dalam derajat. + +#bukan typo, lihat 'daerah hasil fungsi' +lenum.rand = Angka acak dalam jarak [0, value). +lenum.log = Logaritma natural (ln). +lenum.log10 = Logaritma basis 10. +lenum.noise = Kebisingan simpleks 2D. +lenum.abs = Nilai absolut. +lenum.sqrt = Akar kuadrat. + +lenum.any = Unit apapun. +lenum.ally = Unit sekutu. +lenum.attacker = Unit dengan senjata. +lenum.enemy = Unit musuh. +lenum.boss = Unit penjaga. +lenum.flying = Unit terbang. +lenum.ground = Unit darat. +lenum.player = Unit yang dikendalikan oleh pemain. + +lenum.ore = Bahan tambang. +lenum.damaged = Bangunan sekutu yang rusak. +lenum.spawn = Titik mendaratnya musuh.\nDapat berupa inti atau suatu posisi. +lenum.building = Bangunan dalam suatu kumpulan. + +lenum.core = Inti apapun. +lenum.storage = Bangunan penyimpanan, misalnya gudang. +lenum.generator = Bangunan yang menghasilkan tenaga. +lenum.factory = Bangunan yang mengubah sumber daya. +lenum.repair = Tempat perbaikan. +lenum.battery = Baterai apapun. +lenum.resupply = Titik pemasok ulang.\nHanya berguna ketika [accent]"Amunisi Unit"[] dihidupkan. +lenum.reactor = Reaktor Benturan/Torium. +lenum.turret = Menara apapun. + +sensor.in = Bangunan/unit yang akan dilacak. + +radar.from = Bangunan yang akan dilacak.\nJarak pelacakan dibatasi oleh jarak bangunan. +radar.target = Saringan untuk unit yang akan dilacak. +radar.and = Penyaring tambahan. +radar.order = Menyortir perintah. 0 untuk memutar balik. +radar.sort = Metrik untuk mengurutkan hasil. +radar.output = Variabel untuk menuliskan perintah unit. + +unitradar.target = Saringan untuk unit yang akan dilacak. +unitradar.and = Penyaring tambahan. +unitradar.order = Menyortir perintah. 0 untuk memutar balik. +unitradar.sort = Metrik untuk mengurutkan hasil. +unitradar.output = Variabel untuk menuliskan perintah unit. + +control.of = Bangunan yang akan dikendalikan. +control.unit = Unit/bangunan yang akan ditargetkan. +control.shoot = Menentukan apakah akan menembak. + +unitlocate.enemy = Menentukan apakah akan menemukan bangunan musuh. +unitlocate.found = Menentukan ditemukannya objek tersebut. +unitlocate.building = Mengeluarkan variabel untuk bangunan yang terlihat. +unitlocate.outx = Mengeluarkan koordinat X. +unitlocate.outy = Mengeluarkan koordinat Y. +unitlocate.group = Kumpulan bangunan yang akan dicari. + +playsound.limit = Jika benar, cegah suara ini diputar \njika sudah diputar pada frame yang sama. + +lenum.idle = Tidak bergerak, namun tetap membangun/menambang.\nSifat awalan. +lenum.stop = Berhenti bergerak/menambang/membangun. +lenum.unbind = Mematikan kendali logika.\nLanjutkan A.I. standar. +lenum.move = Bergerak ke posisi yang ditentukan. +lenum.approach = Mendekati posisi dalam radius. +lenum.pathfind = Mencari arah ke tempat pendaratan musuh. +lenum.autopathfind = Secara otomatis menemukan jalur ke inti atau zona pendaratan musuh terdekat.\nIni sama dengan pathfinding musuh pada gelombang standar. +lenum.target = Menembak pada posisi. +lenum.targetp = Menembak target dengan perkiraan kecepatan. +lenum.itemdrop = Menjatuhkan bahan. +lenum.itemtake = Mengambil bahan dari suatu bangunan. +lenum.paydrop = Menurunkan muatan yang ada. +lenum.paytake = Membawa muatan pada lokasi ini. +lenum.payenter = Masuk/mendarat pada blok muatan yang saat ini unit sedang berdiri. +lenum.flag = Tanda numerik unit. +lenum.mine = Menambang pada sebuah posisi. +lenum.build = Membangun sebuah struktur. +lenum.getblock = Ambil tipe bangunan, lantai dan blok pada koordinat.\nUnit harus berada dalam jangkauan posisinya, jika tidak maka null akan dikembalikan. +lenum.within = Memeriksa apakah unit di dekat suatu posisi. +lenum.boost = Mulai/berhenti pendorong. + +lenum.flushtext = Flush cetak konten buffer ke penanda, jika ada.\nJika pengambilan disetel ke true, coba ambil properti dari paket peta lokal atau paket game. +lenum.texture = Nama tekstur langsung dari atlas tekstur game (menggunakan gaya penamaan kebab-case).\nJika printFlush disetel ke true, gunakan konten buffer teks sebagai argumen teks. +lenum.texturesize = Ukuran tekstur pada ubin. Nilai nol mengskalakan lebar penanda ke ukuran tekstur asli. +lenum.autoscale = Apakah akan menskalakan penanda sesuai dengan tingkat zoom pemain. +lenum.posi = Posisi terindeks, digunakan untuk penanda garis dan segi empat dengan indeks nol sebagai posisi pertama. +lenum.uvi = Posisi tekstur mulai dari nol hingga satu, digunakan untuk penanda segi empat. +lenum.colori = Warna terindeks, digunakan untuk penanda garis dan segi empat dengan indeks nol sebagai warna pertama. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_in_ID.properties b/core/assets/bundles/bundle_in_ID.properties deleted file mode 100644 index 7c82ca930e..0000000000 --- a/core/assets/bundles/bundle_in_ID.properties +++ /dev/null @@ -1,1503 +0,0 @@ -credits.text = Diciptakan oleh [royal]Anuken[] - [sky]anukendev@gmail.com[] -credits = Kredit -contributors = Penerjemah dan Kontributor -discord = Bergabung di Discord Mindustry! -link.discord.description = Discord Mindustry Resmi -link.reddit.description = Subreddit Mindustry -link.github.description = Sumber Kode Permainan -link.changelog.description = Daftar Rekam Pembaruan -link.dev-builds.description = Bentuk pengembangan (kurang stabil) -link.trello.description = Papan Trello resmi untuk fitur terencana -link.itch.io.description = Halaman itch.io dengan unduhan PC dan versi situs jaringan -link.google-play.description = Google Play Store -link.f-droid.description = Daftar katalog F-Droid -link.wiki.description = Wiki Mindustry resmi -link.suggestions.description = Saran fitur baru -link.bug.description = Menemukan bug? Laporkan di sini -linkfail = Gagal membuka tautan!\nURL disalin ke papan ke papan klip. -screenshot = Tangkapan layar disimpan di {0} -screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar. -gameover = Permainan Habis -gameover.disconnect = Terputus -gameover.pvp = Tim[accent] {0}[] menang! -gameover.waiting = [accent]Menunggu peta selanjutnya... -highscore = [accent]Rekor Baru! -copied = Tersalin. -indev.notready = Bagian tersebut saat ini belum siap -indev.campaign = [accent]Selamat! Kamu telah mencapai batas dari kampanye![]\n\nHanya sejauh ini yang kamu bisa. Perjalanan antarplanet akan ditambahkan di masa mendatang. - -load.sound = Suara -load.map = Peta -load.image = Gambar -load.content = Konten -load.system = Sistem -load.mod = Mod -load.scripts = Skrip - -be.update = Versi Bleeding Edge terbaru tersedia: -be.update.confirm = Unduh dan ulang kembali sekarang? -be.updating = Memperbarui... -be.ignore = Abaikan -be.noupdates = Tidak ada pembaruan yang ditemukan. -be.check = Cek versi baru - -mod.featured.title = Browser mod -mod.featured.dialog.title = Browser Mod -mods.browser.selected = Mod yang Dipilih -mods.browser.add = Unduh Mod -mods.github.open = Buka di GitHub - -schematic = Skema -schematic.add = Menyimpan skema... -schematics = Kumpulan skema -schematic.replace = Skema dengan nama tersebut sudah ada. Ganti dengan yang baru? -schematic.exists = Sebuah skema dengan nama tersebut sudah ada. -schematic.import = Mengimpor skema... -schematic.exportfile = Ekspor File -schematic.importfile = Impor File -schematic.browseworkshop = Cari di Workshop -schematic.copy = Salin ke papan klip -schematic.copy.import = Impor dari papan klip -schematic.shareworkshop = Bagikan di Workshop -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Balik Skema -schematic.saved = Skema telah disimpan. -schematic.delete.confirm = Skema ini akan benar-benar dihapus. -schematic.rename = Ganti nama Skema -schematic.info = {0}x{1}, {2} blok -schematic.disabled = [scarlet]Skema dilarang[]\nAnda tidak diperbolehkan untuk menggunakan skema di [accent]peta[] atau [accent]server ini. - -stats = Statistik -stat.wave = Gelombang Terkalahkan:[accent] {0} -stat.enemiesDestroyed = Musuh Terhancurkan:[accent] {0} -stat.built = Jumlah Blok yang Dibangun:[accent] {0} -stat.destroyed = Jumlah Blok Dihancurkan Musuh:[accent] {0} -stat.deconstructed = Jumlah Blok Dihancurkan Pemain:[accent] {0} -stat.delivered = Sumber Daya yang Diluncurkan: -stat.playtime = Waktu Bermain:[accent] {0} -stat.rank = Nilai Akhir: [accent]{0} - -globalitems = [accent]Item Global -map.delete = Apakah Anda yakin ingin menghapus peta "[accent]{0}[]"? -level.highscore = Nilai Tertinggi: [accent]{0} -level.select = Pilih Level -level.mode = Mode Permainan: -coreattack = < Inti sedang diserang! > -nearpoint = [[ [scarlet]TINGGALKAN TITIK JATUH SEGERA[] ]\npenghancuran akan terjadi -database = Basis Data Inti -savegame = Simpan Permainan -loadgame = Muat Permainan -joingame = Bermain Bersama -customgame = Permainan Modifikasi -newgame = Permainan Baru -none = -minimap = Peta Kecil -position = Posisi -close = Tutup -website = Situs Jaringan -quit = Keluar -save.quit = Simpan & Keluar -maps = Peta -maps.browse = Cari Peta -continue = Lanjutkan -maps.none = [lightgray]Peta tidak ditemukan! -invalid = Tidak valid -pickcolor = Pilih warna -preparingconfig = Menyiapkan Konfigurasi -preparingcontent = Menyiapkan Konten -uploadingcontent = Mengunggah Konten -uploadingpreviewfile = Mengunggah File Tinjauan -committingchanges = Membuat Perubahan -done = Selesai -feature.unsupported = Perangkat Anda tidak mendukung fitur ini. - -mods.alphainfo = Perlu diingat bahwa mod masih dalam perkembangan, dan[scarlet] bisa mengakibatkan kerusakan[].\nLapor isu atau masalah di Github atau Discord Mindustry. -mods = Mod -mods.none = [lightgray]Tidak ada mod yang ditemukan! -mods.guide = Panduan Modding -mods.report = Lapor Kesalahan -mods.openfolder = Buka Folder Mod -mods.reload = Muat Ulang -mods.reloadexit = Game akan keluar, untuk mengulang mod. -mod.display = [gray]Mod:[orange] {0} -mod.enabled = [lightgray]Aktif -mod.disabled = [scarlet]Nonaktif -mod.disable = Aktif -mod.content = Konten: -mod.delete.error = Tidak bisa menghapus mod. File mungkin sedang digunakan. -mod.requiresversion = [scarlet]Versi game minimal yang dibutuhkan: [accent]{0} -mod.outdated = [scarlet]Tidak cocok dengan V6 (minGameVersion: 105) -mod.missingdependencies = [scarlet]Ketergantungan hilang: {0} -mod.erroredcontent = [scarlet]Konten Mengalami Kesalahan -mod.errors = Kesalahan terjadi disaat memuat konten. -mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Antara nonaktifkan modnya atau perbaiki kesalahan tersebut sebelum bermain. -mod.nowdisabled = [scarlet]Mod '{0}' tidak memiliki ketergantungan:[accent] {1}\n[lightgray]Mod ini butuh untuk diunduh terlebih dahulu.\nMod ini akan dinonaktifkan secara otomatis. -mod.enable = Aktif -mod.requiresrestart = Game akan keluar untuk mengaktifkan mod. -mod.reloadrequired = [scarlet]Dibutuhkan untuk memuat ulang -mod.import = Impor Mod -mod.import.file = Impor File -mod.import.github = Impor Mod GitHub -mod.jarwarn = [scarlet]Mod dari JAR sebenarnya tidak aman.[]\nPastikan anda mengimpor mod dari sumber terpercaya! -mod.item.remove = Item ini merupakan bagian dari mod[accent] '{0}'[] mod. Untuk dihilangkan, hapus mod ini. -mod.remove.confirm = Mod ini akan dihapus. -mod.author = [lightgray]Pencipta:[] {0} -mod.missing = Simpanan ini mengandung mod yang telah diperbarui atau sudah lama tidak dipasang. Kemungkinan akan terjadi perubahan. Apakah Anda yakin untuk memuatnya?\n[lightgray]Mods:\n{0} -mod.preview.missing = Sebelum memposting mod di workshop, kamu harus memberi foto pratinjau.\nBeri sebuah foto berformat[accent] preview.png[] ke dalam folder mod dan ulang kembali. -mod.folder.missing = Hanya mod dengan format folder yang dapat diposting di workshop.\nUntuk mengubah mod menjadi folder, ekstrak file mod tersebut dan pastikan berbentuk sebuah folder, kemudian ulang game Anda atau mod Anda. -mod.scripts.disable = Perangkat anda tidak mendukung mod berformat skrip/JS. Anda harus menonaktifkan mod untuk lanjut bermain! - -about.button = Tentang -name = Nama: -noname = Pilih[accent] nama pemain[] dahulu. -planetmap = Peta Planet -launchcore = Luncurkan Inti -filename = Nama File: -unlocked = Konten baru terbuka! -available = Penelitian baru tersedia! -completed = [accent]Terselesaikan -techtree = Cabang Teknologi -research.legacy = Data penelitian [accent]5.0[] ditemukan.\nApakah kamu ingin [accent]memuat data ini[], atau [accent]mengabaikannya[] dan memulai ulang penelitian di kampanye terbaru (disarankan)? -research.load = Muat -research.discard = Abaikan -research.list = [lightgray]Penelitian: -research = Penelitian -researched = [lightgray]{0} telah diteliti. -research.progress = {0}% diteliti -players = {0} pemain aktif -players.single = {0} pemain aktif -players.search = Cari -players.notfound = [gray]Tidak ada pemain ditemukan -server.closing = [accent]Menutup server... -server.kicked.kick = Anda telah dikeluarkan dari server! -server.kicked.whitelist = Anda tidak ada di dalam whitelist. -server.kicked.serverClose = Server ditutup. -server.kicked.vote = Anda dipilih untuk dikeluarkan. Sampai jumpa! -server.kicked.clientOutdated = Client kadaluarsa! Perbarui game Anda! -server.kicked.serverOutdated = Server kadaluarsa! Tanya pemilik untuk memperbarui! -server.kicked.banned = Anda telah dilarang untuk memasuki server ini. -server.kicked.typeMismatch = Server ini tidak cocok dengan versi build Anda. -server.kicked.playerLimit = Server ini penuh. Tunggu slot kosong. -server.kicked.recentKick = Anda baru saja dikeluarkan dari server ini.\nTunggu sesaat sebelum masuk lagi. -server.kicked.nameInUse = Sudah ada pemain dengan nama tersebut \ndi server ini. -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.customClient = Server ini tidak mendukung versi modifikasi. Download versi resmi. -server.kicked.gameover = Permainan telah berakhir! -server.kicked.serverRestarting = Server sedang mengulang kembali. -server.versions = Versi Anda:[accent] {0}[]\nVersi server:[accent] {1}[] -host.info = Tombol [accent]host[] akan membuat server sementara di port [scarlet]6567[]. \nSemua orang yang memiliki [lightgray]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, dibutuhkan untuk melakukan [accent]port forwarding[].\n\n[lightgray]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[lightgray]Ingat: Tidak ada daftar server global; jika anda ingin bergabung dengan seseorang memakai IP, Anda perlu menanyakan host tentang IP mereka. -hostserver = Host Permainan -invitefriends = Undang Teman -hostserver.mobile = Host\nPermainan -host = Host -hosting = [accent]Membuka server... -hosts.refresh = Muat Ulang -hosts.discovering = Mencari permainan LAN -hosts.discovering.any = Mencari permainan -server.refreshing = Memuat ulang server -hosts.none = [lightgray]Tidak ditemukan game lokal! -host.invalid = [scarlet]Tidak bisa menyambung dengan pemilik. - -servers.local = Server Lokal -servers.remote = Server Jarak Jauh (Simpanan) -servers.global = Server Komunitas - -servers.disclaimer = Server komunitas [accent]tidak[] dimiliki atau diatur oleh pengembang.\n\nServer dapat berisi konten buatan pemain lain yang mungkin tidak sesuai untuk semua umur. -servers.showhidden = Tampilkan Server Tersembunyi -server.shown = Ditampilkan -server.hidden = Disembunyikan - -trace = Melacak Pemain -trace.playername = Nama pemain: [accent]{0} -trace.ip = IP: [accent]{0} -trace.id = ID Unik: [accent]{0} -trace.mobile = Client Mobile: [accent]{0} -trace.modclient = Client Modifikasi: [accent]{0} -invalidid = Client ID tidak valid! Laporkan masalah. -server.bans = Pemain Dilarang Masuk -server.bans.none = Tidak ada pemain yang tidak diberi izin masuk! -server.admins = Admin -server.admins.none = Tidak ada admin! -server.add = Tambahkan Server -server.delete = Anda yakin ingin menghapus server ini? -server.edit = Sunting Server -server.outdated = [crimson]Server Kadaluarsa![] -server.outdated.client = [crimson]Client Kadaluarsa![] -server.version = [lightgray]Versi: {0} {1} -server.custombuild = [accent]Bentuk Modifikasi -confirmban = Anda yakin ingin melarang pemain ini untuk masuk lagi? -confirmkick = Anda yakin ingin mengeluarkan pemain ini? -confirmvotekick = Anda yakin ingin memulai pemungutan suara untuk mengeluarkan pemain ini? -confirmunban = Anda yakin ingin mengizinkan pemain ini untuk masuk lagi? -confirmadmin = Anda yakin ingin membuat pemain ini sebagai admin? -confirmunadmin = Anda yakin ingin menghapus status admin dari pemain ini? -joingame.title = Bermain Bersama -joingame.ip = Alamat: -disconnect = Terputus. -disconnect.error = Koneksi bermasalah. -disconnect.closed = Koneksi ditutup. -disconnect.timeout = Waktu habis. -disconnect.data = Gagal memuat data server! -cantconnect = Gagal menyambung! ([accent]{0}[]). -connecting = [accent]Menghubungkan... -reconnecting = [accent]Menghubungkan kembali... -connecting.data = [accent]Memuat data server... -server.port = Port: -server.addressinuse = Alamat sudah ada! -server.invalidport = Nomor port tidak sah! -server.error = [crimson]Terjadi kesalahan saat menghosting server: [accent]{0} -save.new = Simpanan Baru -save.overwrite = Anda yakin ingin menindih \ntempat simpanan ini? -overwrite = Tindih -save.none = Tidak ada simpanan! -savefail = Gagal menyimpan permainan! -save.delete.confirm = Anda yakin ingin menghapus simpanan ini? -save.delete = Hapus -save.export = Ekspor Simpanan -save.import.invalid = [accent]Simpanan ini tidak valid! -save.import.fail = [crimson]Gagal mengimpor simpanan: [accent]{0} -save.export.fail = [crimson]Gagal mengekspor simpanan: [accent]{0} -save.import = Impor Simpanan -save.newslot = Simpan nama: -save.rename = Ganti nama -save.rename.text = Nama baru: -selectslot = Pilih simpanan. -slot = [accent]Tempat {0} -editmessage = Atur Pesan -save.corrupted = [accent]File simpanan rusak atau tidak sah!\nJika Anda baru saja memperbarui permainannya, ini karena perubahan di format penyimpanan dan [scarlet]bukan[] sebuah isu. -empty = -on = Aktif -off = Nonaktif -save.autosave = Simpan otomatis: {0} -save.map = Peta: {0} -save.wave = Gelombang {0} -save.mode = Mode Permainan: {0} -save.date = Simpanan Terakhir: {0} -save.playtime = Waktu Bermain: {0} -warning = Peringatan. -confirm = Konfirmasi -delete = Hapus -view.workshop = Lihat di Workshop -workshop.listing = Sunting Daftar Workshop -ok = OK -open = Buka -customize = Sunting Peraturan -cancel = Batal -openlink = Buka Tautan -copylink = Salin Tautan -back = Kembali -crash.export = Export Crash Logs -crash.none = No crash logs found. -crash.exported = Crash logs exported. -data.export = Ekspor Data -data.import = Impor Data -data.openfolder = Buka Folder Data -data.exported = Data telah di ekspor. -data.invalid = Data permainan ini tidak sah. -data.import.confirm = Mengimpor data eksternal akan menghapus [scarlet] semua[] data yang tersimpan.\n[accent]Tidak dapat diundur lagi![]\n\nSetelah data diimpor, game akan segera ditutup. -quit.confirm = Apakah Anda yakin ingin keluar? -quit.confirm.tutorial = Apakah Anda tahu apa yang dilakukan?\nTutorial dapat diulang di[accent] Pengaturan->Permainan->Ulang Tutorial.[] -loading = [accent]Memuat... -reloading = [accent]Memuat Ulang Mod... -saving = [accent]Menyimpan... -respawn = [accent][[{0}][] untuk muncul kembali ke inti -cancelbuilding = [accent][[{0}][] untuk menghapus rencana -selectschematic = [accent][[{0}][] untuk memilih+salin -pausebuilding = [accent][[{0}][] untuk berhenti membangun -resumebuilding = [scarlet][[{0}][] untuk lanjut membangun -showui = UI disembunyikan.\nTekan [accent][[{0}][] untuk menampilkan UI. -wave = [accent]Gelombang {0} -wave.cap = [accent]Gelombang {0}/{1} -wave.waiting = [lightgray]Gelombang di {0} -wave.waveInProgress = [lightgray]Gelombang sedang berlangsung -waiting = [lightgray]Menunggu... -waiting.players = Menunggu pemain lainnya... -wave.enemies = [lightgray]{0} Musuh Tersisa -wave.enemycores = [accent]{0}[lightgray] Inti Musuh -wave.enemycore = [accent]{0}[lightgray] Inti Musuh -wave.enemy = [lightgray]{0} Musuh Tersisa -wave.guardianwarn = Penjaga akan tiba dalam [accent]{0}[] gelombang. -wave.guardianwarn.one = Penjaga akan tiba dalam [accent]{0}[] gelombang. -loadimage = Memuat Gambar -saveimage = Simpan Gambar -unknown = Tak diketahui -custom = Modifikasi -builtin = Terpasang -map.delete.confirm = Anda yakin ingin menghapus peta ini? Aksi ini tidak bisa diubah! -map.random = [accent]Peta Acak -map.nospawn = Peta ini tidak memiliki inti agar pemain bisa muncul! Tambahkan inti [royal] biru[] kedalam peta di penyunting. -map.nospawn.pvp = Peta ini tidak memiliki inti agar pemain lawan bisa muncul! Tambahkan inti[scarlet] selain biru[] kedalam peta di penyunting. -map.nospawn.attack = Peta ini tidak memiliki inti musuh agar pemain bisa menyerang! Tambahkan inti[scarlet] merah[] kedalam peta di penyunting. -map.invalid = Terjadi kesalahan saat memuat peta: rusak atau file peta tidak valid. -workshop.update = Perbarui Item -workshop.error = Terjadi kesalahan saat mengambil detail workshop: {0} -map.publish.confirm = Apakah Anda yakin untuk menerbitkan peta ini?\n\n[lightgray]Pastikan Anda setuju dengan Workshop EULA terlebih dahulu, atau peta anda tidak akan muncul! -workshop.menu = Pilih apa yang Anda ingin lakukan dengan item ini. -workshop.info = Informasi item -changelog = Catatan Pembaruan (opsional): -eula = Steam EULA -missing = Item ini telah dihapus atau dipindah.\n[lightgray]Daftar Workshop sekarang telah tidak terhubung secara otomatis. -publishing = [accent]Menerbitkan... -publish.confirm = Apakah Anda yakin untuk menerbitkan item ini?\n\n[lightgray]Pastikan Anda setuju dengan Workshop EULA terlebih dahulu, atau item Anda tidak akan muncul! -publish.error = Terjadi kesalahan saat menerbitkan item: {0} -steam.error = Gagal untuk menginisialisasi layanan Steam.\nError: {0} - -editor.brush = Kuas -editor.openin = Buka di Penyunting -editor.oregen = Generasi Sumber Daya -editor.oregen.info = Generasi Sumber Daya: -editor.mapinfo = Info Peta -editor.author = Pencipta: -editor.description = Deskripsi: -editor.nodescription = Sebuah peta harus memiliki sebuah deskripsi atau 4 karakter sebelum diterbitkan. -editor.waves = Gelombang: -editor.rules = Peraturan: -editor.generation = Generasi: -editor.ingame = Sunting dalam Permainan -editor.publish.workshop = Terbitkan di Workshop -editor.newmap = Peta Baru -editor.center = Pusat -workshop = Workshop -waves.title = Gelombang -waves.remove = Hapus -waves.never = -waves.every = setiap -waves.waves = gelombang -waves.perspawn = per muncul -waves.shields = perisai/gelombang -waves.to = sampai -waves.guardian = Penjaga -waves.preview = Pratinjau -waves.edit = Sunting... -waves.copy = Salin ke Papan klip -waves.load = Tempel dari Papan klip -waves.invalid = Gelombang tidak valid di papan klip. -waves.copied = Gelombang tersalin. -waves.none = Tidak ada musuh yang didefinisikan.\nIngat bahwa susunan gelombang yang kosong akan diubah menjadi susunan gelombang standar secara otomatis. - -#memang sengaja diberi huruf kecil -wavemode.counts = jumlah -wavemode.totals = total -wavemode.health = darah - -editor.default = [lightgray] -details = Detail... -edit = Sunting... -editor.name = Nama: -editor.spawn = Munculkan Unit -editor.removeunit = Hapus Unit -editor.teams = Tim -editor.errorload = Terjadi kesalahan saat memuat file. -editor.errorsave = Terjadi kesalahan saat menyimpan file. -editor.errorimage = Itu gambar biasa, bukan peta. Jangan merubah ekstensi dan megharapkan akan berhasil.\n\nJika anda ingin mengimpor peta "Legacy", gunakan tombol 'Impor Peta Legacy ' di penyunting. -editor.errorlegacy = Peta ini terlalu tua, dan memakai format peta "legacy" yang tidak didukung lagi. -editor.errornot = Ini bukan merupakan file peta. -editor.errorheader = File peta ini bisa jadi tidak sah atau rusak. -editor.errorname = Peta tidak ada nama. -editor.update = Perbaruan -editor.randomize = Acak -editor.apply = Terapkan -editor.generate = Generasi -editor.resize = Ubah Ukuran -editor.loadmap = Memuat Peta -editor.savemap = Simpan Peta -editor.saved = Tersimpan! -editor.save.noname = Peta Anda tidak ada nama! Tambahkan di menu 'info peta'. -editor.save.overwrite = Peta ini menindih peta built-in! Pilih nama yang berbeda di menu 'info peta'. -editor.import.exists = [scarlet]Tidak bisa mengimpor:[] peta built-in bernama '{0}' sudah ada! -editor.import = Mengimpor... -editor.importmap = Impor Peta -editor.importmap.description = Mengimpor peta yang telah ada -editor.importfile = Impor File -editor.importfile.description = Mengimpor file peta dari luar -editor.importimage = Impor Peta "Legacy" -editor.importimage.description = Mengimpor peta legacy dari luar -editor.export = Ekspor... -editor.exportfile = Ekspor File -editor.exportfile.description = Mengekspor sebuah file peta -editor.exportimage = Expor Gambar Dunia -editor.exportimage.description = Ekspor sebuah file gambar peta -editor.loadimage = Impor Dunia -editor.saveimage = Ekspor Dunia -editor.unsaved = [scarlet]Anda memiliki perubahan belum disimpan![]\nYakin ingin keluar? -editor.resizemap = Ubah Ukuran Peta -editor.mapname = Nama Peta: -editor.overwrite = [accent]Peringatan!\nIni menindih peta yang telah ada. -editor.overwrite.confirm = [scarlet]Peringatan![] Peta dengan nama ini sudah ada. Yakin ingin menindihnya? -editor.exists = Sebuah peta dengan nama ini sudah ada. -editor.selectmap = Pilih peta untuk dimuat: - -toolmode.replace = Ganti -toolmode.replace.description = Hanya dapat digambar pada balok padat. -toolmode.replaceall = Ganti Semua -toolmode.replaceall.description = Ganti semua balok di peta. -toolmode.orthogonal = Ortogonal -toolmode.orthogonal.description = Hanya menggambar garis ortogonal. -toolmode.square = Persegi -toolmode.square.description = Sikat bangun persegi. -toolmode.eraseores = Hapus Bijih -toolmode.eraseores.description = Hanya menghapus bijih. -toolmode.fillteams = Isi Tim -toolmode.fillteams.description = Mengisi tim bukannya blok. -toolmode.drawteams = Gambar Tim -toolmode.drawteams.description = Menggambar tim bukannya blok. - -filters.empty = [lightgray]Tidak ada filter! Tambahkan dengan tombol dibawah. -filter.distort = Kerusakkan -filter.noise = Kebisingan -filter.enemyspawn = Pilih Munculnya Musuh -filter.spawnpath = Path To Spawn -filter.corespawn = Pilih Inti -filter.median = Median -filter.oremedian = Median Bijih -filter.blend = Campur -filter.defaultores = Bijih Standar -filter.ore = Sumber Daya -filter.rivernoise = Kebisingan Sungai -filter.mirror = Cermin -filter.clear = Bersih -filter.option.ignore = Biarkan -filter.scatter = Penebaran -filter.terrain = Lahan -filter.option.scale = Ukuran -filter.option.chance = Kemungkinan -filter.option.mag = Tingkat -filter.option.threshold = Ambang -filter.option.circle-scale = Ukuran Lingkaran -filter.option.octaves = Oktaf -filter.option.falloff = Kemerosotan -filter.option.angle = Sudut -filter.option.amount = Jumlah -filter.option.block = Blok -filter.option.floor = Lantai -filter.option.flooronto = Target Lantai -filter.option.target = Target -filter.option.wall = Dinding -filter.option.ore = Sumber Daya -filter.option.floor2 = Lantai Sekunder -filter.option.threshold2 = Ambang Sekunder -filter.option.radius = Radius -filter.option.percentile = Perseratus - -width = Lebar: -height = Tinggi: -menu = Menu -play = Bermain -campaign = Kampanye -load = Memuat -save = Simpan -fps = FPS: {0} -ping = Ping: {0}ms -memory = Mem: {0}mb -memory2 = Mem:\n {0}mb +\n {1}mb -language.restart = Silahkan mengulang kembali permainan agar pengaturan bahasa berpengaruh. -settings = Pengaturan -tutorial = Tutorial -tutorial.retake = Ulang Tutorial -editor = Penyunting -mapeditor = Penyunting Peta - -abandon = Tinggalkan -abandon.text = Zona ini dan semua sumber daya didalamnya akan berada di tangan musuh. -locked = Terkunci -complete = [lightgray]Mencapai: -requirement.wave = Capai gelombang {0} dalam {1} -requirement.core = Hancurkan inti musuh dalam {0} -requirement.research = Kembangkan {0} -requirement.produce = Produksi {0} -requirement.capture = Kuasai {0} -launch.text = Luncurkan -research.multiplayer = Hanya host yang dapat meneliti item. -map.multiplayer = Hanya host yang dapat melihat sektor. -uncover = Buka -configure = Konfigurasi Muatan - -loadout = Muatan -resources = Sumber Daya -bannedblocks = Balok yang dilarang -addall = Tambah Semua -launch.from = Meluncurkan Dari: [accent]{0} -launch.destination = Destinasi: {0} -configure.invalid = Jumlah harus berupa angka diantara 0 dan {0}. -add = Menambahkan... -boss.health = Darah Penjaga - -connectfail = [scarlet]Gagal menyambung ke server:\n\n[accent]{0} -error.unreachable = Server tak terjangkau.\nApakah alamatnya benar? -error.invalidaddress = Alamat tidak valid. -error.timedout = Kehabisan waktu!\nPastikan pemilik mempunyai port forwarding, dan alamatnya benar! -error.mismatch = Paket terjadi kekeliruan:\nbisa terjadi apabila versi client/server berbeda.\nPastikan Anda dan host mempunyai versi terbaru Mindustry! -error.alreadyconnected = Sudah tersambung. -error.mapnotfound = File peta tidak ditemaukan! -error.io = Terjadi kesalahan jaringan I/O. -error.any = Terjadi kesalahan Jaringan tidak diketahui. -error.bloom = Gagal untuk menginisialisasi bloom.\nPerangkat Anda mungkin tidak mendukung fitur ini. - -weather.rain.name = Hujan -weather.snow.name = Salju -weather.sandstorm.name = Badai Pasir -weather.sporestorm.name = Badai Spora -weather.fog.name = Kabut - -sectors.unexplored = [lightgray]Belum Ditelusuri -sectors.resources = Sumber Daya: -sectors.production = Produksi: -sectors.export = Ekspor: -sectors.time = Waktu: -sectors.threat = Tingkat: -sectors.wave = Gelombang: -sectors.stored = Terisi: -sectors.resume = Lanjutkan -sectors.launch = Luncurkan -sectors.select = Pilih -sectors.nonelaunch = [lightgray]tidak ada (matahari) -sectors.rename = Ganti Nama Sektor -sectors.enemybase = [scarlet]Markas Musuh -sectors.vulnerable = [scarlet]Rawan diserang -sectors.underattack = [scarlet]Dalam Serangan! [accent]kerusakan sebesar {0}% -sectors.survives = [accent]Bertahan sebanyak {0} gelombang -sectors.go = Mulai -sector.curcapture = Sektor Dikuasai -sector.curlost = Sektor Gagal Bertahan -sector.missingresources = [scarlet]Sumber Daya Inti Tidak Cukup -sector.attacked = Sektor [accent]{0}[white] sedang diserang! -sector.lost = Sektor [accent]{0}[white] telah dihancurkan! -#note: the missing space in the line below is intentional -sector.captured = Sektor [accent]{0}[white]ditaklukkan! - -threat.low = Rendah -threat.medium = Sedang -threat.high = Tinggi -threat.extreme = Ekstrem -threat.eradication = Pemusnahan - -planets = Planet - -planet.serpulo.name = Serpulo -planet.sun.name = Matahari - -sector.impact0078.name = Impact 0078 -sector.groundZero.name = Titik Nol -sector.craters.name = Kawah -sector.frozenForest.name = Hutan Yang Beku -sector.ruinousShores.name = Pantai Yang Hancur -sector.stainedMountains.name = Gunung Bernoda -sector.desolateRift.name = Retakan Terpencil -sector.nuclearComplex.name = Kompleks Produksi Nuklir -sector.overgrowth.name = Pertumbuhan -sector.tarFields.name = Lahan Tar -sector.saltFlats.name = Dataran Garam -sector.fungalPass.name = Lintasan Spora -sector.biomassFacility.name = Pabrik Sintesis Biomassa -sector.windsweptIslands.name = Pulau Bersemilir -sector.extractionOutpost.name = Pos Ekstraksi -sector.planetaryTerminal.name = Pusat Peluncuran Planet - -sector.groundZero.description = Lokasi yang optimal untuk bermain satu kali lagi. Sangat sedikit musuh. Beberapa sumber daya dapat dikumpulkan.\nKumpulkan timah dan tembaga sebanyak yang kamu bisa.\nMulai dari sini. -sector.frozenForest.description = Disini, dekat dengan gunung, spora sudah menyebar. Suhu dingin tidak dapat menahannya.\n\nHasilkan listrik. Bangun generator pembakar. Pelajari cara menggunakan mender. -sector.saltFlats.description = Di pinggiran padang pasir terdapat Daratan Garam. Beberapa sumber daya dapat ditemukan disini.\n\nMusuh telah membangun gudang disini. Hancurkan inti mereka. Jangan biarkan satupun tersisa. -sector.craters.description = Air banyak terkumpul di kawah ini, sebuah peninggalan dari perang masa lalu. Klaim area ini lagi. Kumpulkan pasir. Lebur metaglass. Pompa air untuk mendinginkan turret dan bor. -sector.ruinousShores.description = Keluar dari lembah gunung, terdapat garis pantai. Sebelumnya, area ini adalah garis pertahanan pantai. Sekarang tidak banyak yang tersisa. Hanya pertahanan dasar yang tersisa, yang lain hancur berkeping keping.\nBangun kembali pertahanan di sini. Pelajari lebih banyak teknologi. -sector.stainedMountains.description = Area ini terletak di dekat pegunungan, namun belum tersentuh oleh spora.\nTambang titanium yang ada di area ini. Pelajari fungsinya.\n\nMusuh jauh lebih kuat disini. Jangan biarkan mereka meluncurkan unit yang lebih kuat. -sector.overgrowth.description = Area ini banyak ditumbuhi spora, karena dekat dengan sumber spora.\nMusuh telah membangun basis disini. Bangun unit Mace. Hancurkan mereka. Klaim apapun yang tersisa. -sector.tarFields.description = Terletak di pinggiran zona produksi minyak, diantara gunung dan padang pasir. Salah satu dari beberapa area yang memiliki cadangan minyak yang dapat digunakan.\nMeskipun ditinggalkan, area ini terdapat pertahanan musuh yang sangat kuat disekitarnya. Jangan meremehkan mereka.\n\n[lightgray]Pelajari proses penyulingan minyak jika bisa. -sector.desolateRift.description = Zona yang sangat berbahaya. Banyak sumber daya, tetapi terdapat sedikit ruang. Sangat beresiko tinggi untuk dihancurkan. Keluar secepat yang kamu bisa. Jangan terlena karena waktu antara gelombang yang lama. -sector.nuclearComplex.description = Sebuah fasilitas untuk memproduksi dan memproses thorium, telah hancur.\n[lightgray]Pelajari thorium dan cara penggunaanya.\n\nMusuh disini menyerang dalam jumlah besar, yang siap untuk menghadapi siapapun. -sector.fungalPass.description = Area ini terdapat diantara pegunungan yang lebih tinggi dengan yang lebih rendah, juga daerah yang dipenuhi spora. Musuh membangun basis kecil disini.\nHancurkan itu.\nGunakan unit Dagger dan Crawler. Hancurkan dua inti mereka. -sector.biomassFacility.description = Asal dari semua spora di planet ini. Tempat ini adalah fasilitas dimana spora dipelajari dan diproduksi.\nPelajari teknologi yang terkait dengannya. Budi dayakan spora untuk memproduksi bahan bakar dan plastik.\n\n[lightgray]Setelah fasilitas ini hancur, spora menyebar. Tidak ada di ekosistem lokal yang dapat bersaing dengan organisme invasif seperti itu. -sector.windsweptIslands.description = Jauh dari pantai terdapat sekumpulan pulau. Catatan yang ada mengatakan bahwa mereka memiliki struktur untuk memproduksi [accent]Plastanium[].\n\nKalahkan unit laut musuh. Bangun basis di kepulauan ini. Pelajari pabriknya. -sector.extractionOutpost.description = Sebuah pos jarak jauh, dibangun musuh untuk meluncurkan sumber daya ke sektor yang lain.\n\nTeknologi tarnsportasi antar sektor dapat memudahkan untuk menaklukan lebih banyak sektor. Hancurkan basis itu. Pelajari Alas Peluncur mereka. -sector.impact0078.description = Di sini terletak sisa-sisa pesawat antarbintang yang pertama kali memasuki sistem ini.\n\nSelamatkan apapun yang ada dari sisa-sisa pesawat. Pelajari teknologi apa pun yang utuh. -sector.planetaryTerminal.description = Target terakhir.\n\nBasis pantai ini memiliki struktur yang dapat meluncurkan inti ke planet disekitarnya. Memiliki pertahanan yang sangat bagus.\n\nProduksi unit laut. Hancurkan musuh secepat mungkin. Pelajari struktur peluncuran mereka. - -settings.language = Bahasa -settings.data = Data Game -settings.reset = Atur ulang ke Default (standar) -settings.rebind = Ganti tombol -settings.resetKey = Atur ulang -settings.controls = Kontrol -settings.game = Permainan -settings.sound = Suara -settings.graphics = Grafik -settings.cleardata = Menghapus Data Permainan... -settings.clear.confirm = Anda yakin ingin menghapus data ini?\nWaktu tidak bisa diulang kembali! -settings.clearall.confirm = [scarlet]PERINGATAN![]\nIni akan menghapus semua data permainan, termasuk simpanan, peta, bukaan dan keybind.\nSetelah Anda menekan 'ok' permainan akan menghapus semua data dan keluar otomatis. -settings.clearsaves.confirm = Anda yakin ingin menghapus semua simpanan? -settings.clearsaves = Bersihkan Simpanan -settings.clearresearch = Bersihkan Penelitian -settings.clearresearch.confirm = Apakah Anda yakin ingin membersihkan semua penelitian kampanye? -settings.clearcampaignsaves = Bersihkan Simpanan Kampanye -settings.clearcampaignsaves.confirm = Apakah Anda yakin ingin membersihkan semua simpanan kampanye? -paused = [accent]< Jeda > -clear = Bersih -banned = [scarlet]Dilarang -yes = Ya -no = Tidak -info.title = Info -error.title = [crimson]Sebuah kesalahan telah terjadi -error.crashtitle = Sebuah kesalahan telah terjadi -unit.nobuild = [scarlet]Unit tidak dapat membangun -lastaccessed = [lightgray]Terakhir Diakses: {0} -block.unknown = [lightgray]??? - -stat.description = Kegunaan -stat.input = Masukan -stat.output = Pengeluaran -stat.booster = Pendorong -stat.tiles = Kotak yang dibutuhkan -stat.affinities = Afinitas -stat.powercapacity = Kapasitas Tenaga -stat.powershot = Tenaga/Tembakan -stat.damage = Kerusakan -stat.targetsair = Menargetkan Udara -stat.targetsground = Menargetkan Darat -stat.itemsmoved = Kecepatan Gerak -stat.launchtime = Waktu Diantara Peluncuran -stat.shootrange = Jarak -stat.size = Ukuran -stat.displaysize = Ukuran Tampilan -stat.liquidcapacity = Kapasitas Zat Cair -stat.powerrange = Jarak Tenaga -stat.linkrange = Jarak Tautan -stat.instructions = Instruksi -stat.powerconnections = Koneksi Maksimal -stat.poweruse = Penggunaan Tenaga -stat.powerdamage = Tenaga/Pukulan -stat.itemcapacity = Kapasitas Item -stat.memorycapacity = Kapasitas Memori -stat.basepowergeneration = Basis Generasi Tenaga -stat.productiontime = Waktu Produksi -stat.repairtime = Waktu Memperbaiki Blok Penuh -stat.weapons = Senjata -stat.bullet = Peluru -stat.speedincrease = Tambahan Kecepatan -stat.range = Jarak -stat.drilltier = Sumber Daya yang Bisa di Bor -stat.drillspeed = Basis Kecepatan Bor -stat.boosteffect = Efek Pendorong -stat.maxunits = Maks Unit Aktif -stat.health = Darah -stat.buildtime = Waktu Pembuatan -stat.maxconsecutive = Maks Konsekutif -stat.buildcost = Biaya Bangunan -stat.inaccuracy = Jarak Melenceng -stat.shots = Tembakan -stat.reload = Tembakan/Detik -stat.ammo = Amunisi -stat.shieldhealth = Darah Perisai -stat.cooldowntime = Waktu Pendinginan -stat.explosiveness = Ledakan -stat.basedeflectchance = Peluang Defleksi Dasar -stat.lightningchance = Peluang Menghasilkan Petir -stat.lightningdamage = Kerusakan Petir -stat.flammability = Pembakar -stat.radioactivity = Radiasi -stat.heatcapacity = Kapasitas Panas -stat.viscosity = Kelekatan -stat.temperature = Temperatur -stat.speed = Kecepatan -stat.buildspeed = Kecepatan Membangun -stat.minespeed = Kecepatan Menambang -stat.minetier = Tingkat Menambang -stat.payloadcapacity = Kapasitas Muatan -stat.commandlimit = Batas Perintah -stat.abilities = Kemampuan -stat.canboost = Dapat dipercepat -stat.flying = Terbang -stat.ammouse = Penggunaan Amunisi - -ability.forcefield = Bidang Kekuatan -ability.repairfield = Bidang Perbaikan -ability.statusfield = Bidang Status -ability.unitspawn = {0} Pabrik -ability.shieldregenfield = Bidang Regenerasi Perisai -ability.movelightning = Pergerakan Petir - -bar.drilltierreq = Membutuhkan Bor yang Lebih Baik -bar.noresources = Sumber Daya Tidak Ditemukan -bar.corereq = Memerlukan Inti Dasar -bar.drillspeed = Kecepatan Bor: {0}/s -bar.pumpspeed = Kecepatan Pompa: {0}/s -bar.efficiency = Daya Guna: {0}% -bar.powerbalance = Tenaga: {0}/s -bar.powerstored = Disimpan: {0}/{1} -bar.poweramount = Tenaga: {0} -bar.poweroutput = Pengeluaran Tenaga: {0} -bar.powerlines = Sambungan: {0}/{1} -bar.items = Item: {0} -bar.capacity = Kapasitas: {0} -bar.unitcap = {0} {1}/{2} -bar.liquid = Zat Cair -bar.heat = Panas -bar.power = Tenaga -bar.progress = Perkembangan Pembangunan -bar.input = Masukan -bar.output = Keluaran - -units.processorcontrol = [lightgray]Dikendalikan Prosesor - -bullet.damage = [stat]{0}[lightgray] kekuatan (dmg) -bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgray] kotak -bullet.incendiary = [stat]membakar -bullet.sapping = [stat]sapping -bullet.homing = [stat]mengejar -bullet.shock = [stat]mengkejut -bullet.frag = [stat]menyebar -bullet.buildingdamage = [stat]{0}%[lightgray] kerusakan bangunan -bullet.knockback = [stat]{0}[lightgray] pantulan kembali -bullet.pierce = [stat]{0}[lightgray]x tembus -bullet.infinitepierce = [stat]menembus -bullet.healpercent = [stat]{0}[lightgray]% menyembuhkan -bullet.freezing = [stat]membeku -bullet.tarred = [stat]tar -bullet.multiplier = [stat]{0}[lightgray]x multiplikasi amunisi -bullet.reload = [stat]{0}[lightgray]x rasio menembak - -unit.blocks = blok -unit.blockssquared = blok² -unit.powersecond = unit tenaga/detik -unit.liquidsecond = unit zat cair/detik -unit.itemssecond = item/detik -unit.liquidunits = unit zat cair -unit.powerunits = unit tenaga -unit.degrees = derajat -unit.seconds = detik -unit.minutes = menit -unit.persecond = /detik -unit.perminute = /menit -unit.timesspeed = x kecepatan -unit.percent = % -unit.shieldhealth = darah perisai -unit.items = item -unit.thousands = rb -unit.millions = jt -unit.billions = m -unit.pershot = /tembakan -category.purpose = Kegunaan -category.general = Umum -category.power = Tenaga -category.liquids = Zat Cair -category.items = Item -category.crafting = Pemasukan/Pengeluaran -category.function = Fungsi -category.optional = Peningkatan Opsional -setting.landscape.name = Kunci Pemandangan -setting.shadows.name = Bayangan -setting.blockreplace.name = Usulan Blok Otomatis -setting.linear.name = Filter Bergaris -setting.hints.name = Petunjuk -setting.flow.name = Tampilan Laju Aliran Sumber Daya -setting.backgroundpause.name = Jeda di Latar -setting.buildautopause.name = Jeda Otomatis saat Membangun -setting.animatedwater.name = Animasi Perairan -setting.animatedshields.name = Animasi Perisai -setting.antialias.name = Antialiasi[lightgray] (membutuhkan restart)[] -setting.playerindicators.name = Indikasi Pemain -setting.indicators.name = Indikasi Musuh/Teman Lain -setting.autotarget.name = Target Secara Otomatis -setting.keyboard.name = Kontrol Mouse+Papan Ketik -setting.touchscreen.name = Kontrol Layar Sentuh -setting.fpscap.name = Maksimal FPS -setting.fpscap.none = Tidak Ada -setting.fpscap.text = {0} FPS -setting.uiscale.name = Skala UI[lightgray] (butuh untuk mengulang game)[] -setting.swapdiagonal.name = Selalu Penaruhan Diagonal -setting.difficulty.training = Latihan -setting.difficulty.easy = Mudah -setting.difficulty.normal = Normal -setting.difficulty.hard = Susah -setting.difficulty.insane = Sangat sulit! -setting.difficulty.name = Tingkat Kesulitan: -setting.screenshake.name = Layar Getar -setting.effects.name = Munculkan Efek -setting.destroyedblocks.name = Tunjukkan Blok yang Telah Hancur -setting.blockstatus.name = Tunjukan Status Blok -setting.conveyorpathfinding.name = Navigasi Pengantar Otomatis -setting.sensitivity.name = Sensitivitas Kontroler -setting.saveinterval.name = Jarak Menyimpan -setting.seconds = {0} detik -setting.milliseconds = {0} milidetik -setting.fullscreen.name = Layar Penuh -setting.borderlesswindow.name = Jendela tak Berbatas[lightgray] (mungkin memerlukan mengulang kembali) -setting.fps.name = Tunjukkan FPS -setting.smoothcamera.name = Kamera Halus -setting.vsync.name = VSync -setting.pixelate.name = Mode Pixel[lightgray] (menonaktifkan animasi) -setting.minimap.name = Tunjukkan Peta Kecil -setting.coreitems.name = Tunjukkan Item Inti (WIP) -setting.position.name = Tunjukkan Posisi Pemain -setting.musicvol.name = Volume Musik -setting.atmosphere.name = Tunjukkan Atmosfer Planet -setting.ambientvol.name = Volume Sekeliling -setting.mutemusic.name = Diamkan Musik -setting.sfxvol.name = Volume Efek Suara -setting.mutesound.name = Diamkan Suara -setting.crashreport.name = Laporkan Masalah -setting.savecreate.name = Otomatis Menyimpan -setting.publichost.name = Visibilitas Game Publik -setting.playerlimit.name = Batas pemain -setting.chatopacity.name = Jelas-Beningnya Pesan -setting.lasersopacity.name = Jelas-Beningnya Tenaga Laser -setting.bridgeopacity.name = Jelas-Beningnya Jembatan -setting.playerchat.name = Tunjukkan Pesan dalam Permainan -setting.showweather.name = Perlihatkan Cuaca -public.confirm = Apakah kamu ingin mempublikasi permainanmu?\n[accent]Siapa saja bisa masuk ke permainanmu.\n[lightgray]Ini bisa diganti di Peraturan->Permainan->Visibilitas Game Publik. -public.confirm.really = Jika kamu ingin bermain dengan temanmu, gunakan [green]Undang Teman[] daripada [scarlet]server publik[]!\nApakah kamu yakin ingin membuat permainanmu [scarlet]publik[]? -public.beta = Ingat bahwa game versi beta tidak dapat membuat lobi publik. -uiscale.reset = Skala UI telah diubah.\nTekan "OK" untuk mengonfirmasi.\n[scarlet]Kembali dan keluar di[accent] {0}[] pengaturan... -uiscale.cancel = Batal & Keluar -setting.bloom.name = Bloom -keybind.title = Ganti Tombol -keybinds.mobile = [scarlet]Mayoritas tombol tidak didukung oleh perangkat ponsel Hanya gerakan dasar yang didukung. -category.general.name = Umum -category.view.name = Melihat -category.multiplayer.name = Bermain Bersama -category.blocks.name = Pilih Blok -command.attack = Serang -command.rally = Kumpul/Patroli -command.retreat = Mundur -command.idle = Diam di Tempat -placement.blockselectkeys = \n[lightgray]Tombol: [{0}, -keybind.respawn.name = Muncul Kembali -keybind.control.name = Kontrol Unit -keybind.clear_building.name = Hapus Bangunan -keybind.press = Tekan tombol... -keybind.press.axis = Tekan sumbu atau tombol... -keybind.screenshot.name = Tangkapan Layar Peta -keybind.toggle_power_lines.name = Aktifkan Tenaga Laser -keybind.toggle_block_status.name = Status Blok -keybind.move_x.name = Pindah X -keybind.move_y.name = Pindah Y -keybind.mouse_move.name = Ikuti Mouse -keybind.pan.name = Tampilan Geser -keybind.boost.name = Dorongan -keybind.schematic_select.name = Pilih Daerah -keybind.schematic_menu.name = Menu Skema -keybind.schematic_flip_x.name = Balik Skema X -keybind.schematic_flip_y.name = Balik Skema Y -keybind.category_prev.name = Kategori Sebelumnya -keybind.category_next.name = Kategori Selanjutnya -keybind.block_select_left.name = Pilih Blok Kiri -keybind.block_select_right.name = Pilih Blok Kanan -keybind.block_select_up.name = Pilih Blok Atas -keybind.block_select_down.name = Pilih Blok Bawah -keybind.block_select_01.name = Kategori/Pilih Blok 1 -keybind.block_select_02.name = Kategori/Pilih Blok 2 -keybind.block_select_03.name = Kategori/Pilih Blok 3 -keybind.block_select_04.name = Kategori/Pilih Blok 4 -keybind.block_select_05.name = Kategori/Pilih Blok 5 -keybind.block_select_06.name = Kategori/Pilih Blok 6 -keybind.block_select_07.name = Kategori/Pilih Blok 7 -keybind.block_select_08.name = Kategori/Pilih Blok 8 -keybind.block_select_09.name = Kategori/Pilih Blok 9 -keybind.block_select_10.name = Kategori/Pilih Blok 10 -keybind.fullscreen.name = Aktifkan Layar Penuh -keybind.select.name = Pilih/Tembak -keybind.diagonal_placement.name = Penaruhan Diagonal -keybind.pick.name = Memilih Blok -keybind.break_block.name = Menghancurkan Blok -keybind.deselect.name = Batal Memilih -keybind.pickupCargo.name = Muat Kargo -keybind.dropCargo.name = Turunkan Kargo -keybind.command.name = Perintah -keybind.shoot.name = Menembak -keybind.zoom.name = Perbesar -keybind.menu.name = Menu -keybind.pause.name = Jeda -keybind.pause_building.name = Jeda/Lanjut Membangun -keybind.minimap.name = Peta Kecil -keybind.planet_map.name = Peta Planet -keybind.research.name = Penelitian -keybind.chat.name = Pesan -keybind.player_list.name = Daftar pemain -keybind.console.name = Papan Konsol -keybind.rotate.name = Putar -keybind.rotateplaced.name = Putar yang ada (Tekan dan Tahan) -keybind.toggle_menus.name = Muncul Tidaknya Menu -keybind.chat_history_prev.name = Sejarah Pesan Sebelumnya -keybind.chat_history_next.name = Sejarah Pesan Setelahnya -keybind.chat_scroll.name = Scroll Pesan -keybind.drop_unit.name = Jatuhkan Unit -keybind.zoom_minimap.name = Perbesar Peta Kecil -mode.help.title = Deskripsi mode -mode.survival.name = Bertahan Hidup -mode.survival.description = Mode normal. Sumber daya terbatas dan gelombang otomatis. -mode.sandbox.name = Mode Sandbox/Bebas -mode.sandbox.description = Sumber daya tak terbatas dan tidak ada gelombang otomatis. -mode.editor.name = Sunting -mode.pvp.name = PvP -mode.pvp.description = Melawan pemain lain. Membutuhkan setidaknya 2 inti berbeda warna didalam peta untuk main. -mode.attack.name = Penyerangan -mode.attack.description = Hancurkan markas musuh. Membutuhkan inti merah di dalam peta untuk main. -mode.custom = Pengaturan Modifikasi - -rules.infiniteresources = Sumber Daya Tak Terbatas -rules.reactorexplosions = Ledakan Reaktor -rules.schematic = Skema Diperbolehkan -rules.wavetimer = Pengaturan Waktu Gelombang -rules.waves = Gelombang -rules.attack = Mode Penyerangan -rules.buildai = Bangunan A.I. -rules.enemyCheat = Sumber Daya A.I Musuh (Tim Merah) Tak Terbatas -rules.blockhealthmultiplier = Multiplikasi Darah Blok -rules.blockdamagemultiplier = Multiplikasi Kekuatan Blok -rules.unitbuildspeedmultiplier = Multiplikasi Kecepatan Munculnya Unit -rules.unithealthmultiplier = Multiplikasi Darah Unit -rules.unitdamagemultiplier = Multiplikasi Kekuatan Unit -rules.enemycorebuildradius = Dilarang Membangun Radius Inti Musuh :[lightgray] (blok) -rules.wavespacing = Jarak Gelombang:[lightgray] (detik) -rules.buildcostmultiplier = Multiplikasi Harga Bangunan -rules.buildspeedmultiplier = Multiplikasi Waktu Pembuatan Bangunan -rules.deconstructrefundmultiplier = Penggembalian Bahan Mendekonstruksi Blok -rules.waitForWaveToEnd = Gelombang menunggu musuh -rules.dropzoneradius = Radius Titik Muncul:[lightgray] (Blok) -rules.unitammo = Unit Membutuhkan Amunisi -rules.title.waves = Gelombang -rules.title.resourcesbuilding = Sumber Daya & Bangunan -rules.title.enemy = Musuh -rules.title.unit = Unit -rules.title.experimental = Eksperimental -rules.title.environment = Lingkungan -rules.lighting = Penerangan -rules.enemyLights = Sinar dari Musuh -rules.fire = Api -rules.explosions = Kekuatan Ledakan Blok/Unit -rules.ambientlight = Sinar Disekeliling -rules.weather = Cuaca -rules.weather.frequency = Frekuensi: -rules.weather.always = Selalu -rules.weather.duration = Durasi: - -content.item.name = Item -content.liquid.name = Zat Cair -content.unit.name = Unit -content.block.name = Blok -content.sector.name = Sektor - -item.copper.name = Tembaga -item.lead.name = Timah -item.coal.name = Batu Bara -item.graphite.name = Grafit -item.titanium.name = Titanium -item.thorium.name = Thorium -item.silicon.name = Silikon -item.plastanium.name = Plastanium -item.phase-fabric.name = Kain Phase -item.surge-alloy.name = Campuran Logam -item.spore-pod.name = Polong Spora -item.sand.name = Pasir -item.blast-compound.name = Senyawa Peledak -item.pyratite.name = Pyratit -item.metaglass.name = Metaglass -item.scrap.name = Rongsokan -liquid.water.name = Air -liquid.slag.name = Lava -liquid.oil.name = Minyak -liquid.cryofluid.name = Cairan Pendingin - -unit.dagger.name = Dagger -unit.mace.name = Mace -unit.fortress.name = Fortress -unit.nova.name = Nova -unit.pulsar.name = Pulsar -unit.quasar.name = Quasar -unit.crawler.name = Crawler -unit.atrax.name = Atrax -unit.spiroct.name = Spiroct -unit.arkyid.name = Arkyid -unit.toxopid.name = Toxopid -unit.flare.name = Flare -unit.horizon.name = Horizon -unit.zenith.name = Zenith -unit.antumbra.name = Antumbra -unit.eclipse.name = Eclipse -unit.mono.name = Mono -unit.poly.name = Poly -unit.mega.name = Mega -unit.quad.name = Quad -unit.oct.name = Oct -unit.risso.name = Risso -unit.minke.name = Minke -unit.bryde.name = Bryde -unit.sei.name = Sei -unit.omura.name = Omura -unit.alpha.name = Alpha -unit.beta.name = Beta -unit.gamma.name = Gamma -unit.scepter.name = Scepter -unit.reign.name = Reign -unit.vela.name = Vela -unit.corvus.name = Corvus - -block.resupply-point.name = Titik Pemasok Ulang -block.parallax.name = Parallax -block.cliff.name = Cliff -block.sand-boulder.name = Batu Pasir Besar -block.basalt-boulder.name = Batu Basal Besar -block.grass.name = Rumput -block.slag.name = Lahar -block.space.name = Luar Angkasa -block.salt.name = Garam -block.salt-wall.name = Bukit Garam -block.pebbles.name = Kerikil -block.tendrils.name = Sulur -block.sand-wall.name = Bukit Pasir -block.spore-pine.name = Cemara Spora -block.spore-wall.name = Bukit Spora -block.boulder.name = Batu Besar -block.snow-boulder.name = Batu Salju Besar -block.snow-pine.name = Pinus Salju -block.shale.name = Serpihan -block.shale-boulder.name = Serpihan Batu Besar -block.moss.name = Lumut -block.shrubs.name = Semak-Semak -block.spore-moss.name = Lumut Spora -block.shale-wall.name = Bukit Serpih -block.scrap-wall.name = Dinding Rongsokan -block.scrap-wall-large.name = Dinding Rongsokan Besar -block.scrap-wall-huge.name = Dinding Rongsokan Sangat Besar -block.scrap-wall-gigantic.name = Dinding Rongsokan Raksasa -block.thruster.name = Pendorong -block.kiln.name = Pengeringan -block.graphite-press.name = Pencetak Grafit -block.multi-press.name = Multi-Cetak -block.constructing = {0} [lightgray](Konstruksi) -block.spawn.name = Muncul Musuh -block.core-shard.name = Inti: Bagian -block.core-foundation.name = Inti: Pondasi -block.core-nucleus.name = Inti: Nukleus -block.deepwater.name = Air Dalam -block.water.name = Air -block.tainted-water.name = Air Ternoda -block.darksand-tainted-water.name = Air Ternodai Pasir Hitam -block.tar.name = Tar -block.stone.name = Batu -block.sand.name = Pasir -block.darksand.name = Pasir Hitam -block.ice.name = Es -block.snow.name = Salju -block.craters.name = Kawah -block.sand-water.name = Air Pasir -block.darksand-water.name = Air Pasir Hitam -block.char.name = Bara -block.dacite.name = Dasit -block.dacite-wall.name = Dinding Dasit -block.dacite-boulder.name = Batu Besar Dasit -block.ice-snow.name = Salju Es -block.stone-wall.name = Dinding Batu -block.ice-wall.name = Dinding Es -block.snow-wall.name = Dinding Salju -block.dune-wall.name = Dinding Pasir -block.pine.name = Cemara -block.dirt.name = Tanah -block.dirt-wall.name = Dinding Tanah -block.mud.name = Lumpur -block.white-tree-dead.name = Pohon Putih Mati -block.white-tree.name = Pohon Putih -block.spore-cluster.name = Kumpulan Spora -block.metal-floor.name = Lantai Besi 1 -block.metal-floor-2.name = Lantai Besi 2 -block.metal-floor-3.name = Lantai Besi 3 -block.metal-floor-5.name = Lantai Besi 4 -block.metal-floor-damaged.name = Lantai Besi Rusak -block.dark-panel-1.name = Panel Gelap 1 -block.dark-panel-2.name = Panel Gelap 2 -block.dark-panel-3.name = Panel Gelap 3 -block.dark-panel-4.name = Panel Gelap 4 -block.dark-panel-5.name = Panel Gelap 5 -block.dark-panel-6.name = Panel Gelap 6 -block.dark-metal.name = Besi Gelap -block.basalt.name = Basal -block.hotrock.name = Batu Panas -block.magmarock.name = Batu Lahar -block.copper-wall.name = Dinding Tembaga -block.copper-wall-large.name = Dinding Tembaga Besar -block.titanium-wall.name = Dinding Titanium -block.titanium-wall-large.name = Dinding Titanium Besar -block.plastanium-wall.name = Dinding Plastanium -block.plastanium-wall-large.name = Dinding Plastanium Besar -block.phase-wall.name = Dinding Phase -block.phase-wall-large.name = Dinding Phase Besar -block.thorium-wall.name = Dinding Thorium -block.thorium-wall-large.name = Dinding Thorium Besar -block.door.name = Pintu -block.door-large.name = Pintu Besar -block.duo.name = Duo -block.scorch.name = Penyembur Api -block.scatter.name = Scatter -block.hail.name = Meriam -block.lancer.name = Lancer -block.conveyor.name = Pengantar -block.titanium-conveyor.name = Pengantar Berbahan Titanium -block.plastanium-conveyor.name = Pengantar Berbahan Plastanium -block.armored-conveyor.name = Pengantar Berlapis Pelindung -block.junction.name = Simpangan -block.router.name = Pengarah -block.distributor.name = Distributor -block.sorter.name = Penyortir -block.inverted-sorter.name = Penyortir Terbalik -block.message.name = Pesan -block.illuminator.name = Lampu -block.overflow-gate.name = Gerbang Luap -block.underflow-gate.name = Gerbang Luap Terbalik -block.silicon-smelter.name = Pelebur Silikon -block.phase-weaver.name = Pengrajut Phase -block.pulverizer.name = Penghancur -block.cryofluidmixer.name = Penyampur Cairan Dingin -block.melter.name = Pencair -block.incinerator.name = Penghangus -block.spore-press.name = Penekan Spora -block.separator.name = Pemisah -block.coal-centrifuge.name = Sentrifugal Batu Bara -block.power-node.name = Simpul Tenaga -block.power-node-large.name = Tiang Listrik Besar -block.surge-tower.name = Tiang Listrik -block.diode.name = Dioda Baterai -block.battery.name = Baterai -block.battery-large.name = Baterai Besar -block.combustion-generator.name = Generator Pembakar -block.steam-generator.name = Generator Turbin -block.differential-generator.name = Generator Majemuk -block.impact-reactor.name = Reaktor Tumbukan -block.mechanical-drill.name = Bor Mekanik -block.pneumatic-drill.name = Bor Pneumatik -block.laser-drill.name = Bor Laser -block.water-extractor.name = Pengekstrak Air -block.cultivator.name = Pembudidaya -block.conduit.name = Pipa -block.mechanical-pump.name = Pompa Mekanik -block.item-source.name = Sumber Item -block.item-void.name = Penghilang Item -block.liquid-source.name = Sumber Zat Cair -block.liquid-void.name = Penghilang Zat Zair -block.power-void.name = Penghilang Tenaga -block.power-source.name = Sumber Tenaga -block.unloader.name = Pembongkar Muatan -block.vault.name = Gudang -block.wave.name = Penyemprot -block.tsunami.name = Tsunami -block.swarmer.name = Peluncur Misil -block.salvo.name = Salvo -block.ripple.name = Mortir -block.phase-conveyor.name = Pengantar Berbahan Phase -block.bridge-conveyor.name = Jembatan Pengantar -block.plastanium-compressor.name = Kompresor Plastanium -block.pyratite-mixer.name = Penyampur Pyratit -block.blast-mixer.name = Penyampur Bahan Peledak -block.solar-panel.name = Panel Surya -block.solar-panel-large.name = Panel Surya Besar -block.oil-extractor.name = Pengekstrak Minyak -block.repair-point.name = Tempat Perbaikan -block.pulse-conduit.name = Selang Denyut -block.plated-conduit.name = Pipa Terlapis -block.phase-conduit.name = Selang Phase -block.liquid-router.name = Pembagi Zat Cair -block.liquid-tank.name = Tank Zat Cair -block.liquid-junction.name = Simpangan Zat Cair -block.bridge-conduit.name = Jembatan Saluran -block.rotary-pump.name = Pompa Putaran -block.thorium-reactor.name = Reaktor Thorium -block.mass-driver.name = Penggerak Massal -block.blast-drill.name = Bor Ledakan Udara -block.thermal-pump.name = Pompa Suhu Panas -block.thermal-generator.name = Generator Panas -block.alloy-smelter.name = Pelebur Paduan Logam -block.mender.name = Mender -block.mend-projector.name = Mender Projektor -block.surge-wall.name = Dinding Listrik -block.surge-wall-large.name = Dinding Listrik Besar -block.cyclone.name = Cyclone -block.fuse.name = Fuse -block.shock-mine.name = Ranjau Listrik -block.overdrive-projector.name = Projektor Pemercepat -block.force-projector.name = Projektor Pelindung -block.arc.name = Busur Petir -block.rtg-generator.name = Generator Radiasi -block.spectre.name = Meriam Raksasa -block.meltdown.name = Meltdown -block.foreshadow.name = Foreshadow -block.container.name = Kontainer -block.launch-pad.name = Alas Peluncur -block.segment.name = Segment -block.command-center.name = Pusat Perintah -block.ground-factory.name = Pabrik Unit Darat -block.air-factory.name = Pabrik Unit Udara -block.naval-factory.name = Pabrik Unit Laut -block.additive-reconstructor.name = Rekonstruktor Aditif -block.multiplicative-reconstructor.name = Rekonstruktor Multiplikatif -block.exponential-reconstructor.name = Rekonstruktor Eksponensial -block.tetrative-reconstructor.name = Rekonstruktor Tetratif -block.payload-conveyor.name = Pengantar Massa -block.payload-router.name = Pengarah Massa -block.disassembler.name = Pembongkar -block.silicon-crucible.name = Pelebur Raksasa -block.overdrive-dome.name = Kubah Projektor Pemercepat -#experimental, may be removed -block.block-forge.name = Pemadu Blok -block.block-loader.name = Pemuat Blok -block.block-unloader.name = Pembongkar Blok -block.interplanetary-accelerator.name = Akselerator Antarplanet - -block.switch.name = Saklar -block.micro-processor.name = Prosesor Mikro -block.logic-processor.name = Prosesor Logika -block.hyper-processor.name = Prosesor Raksasa -block.logic-display.name = Tampilan Logika -block.large-logic-display.name = Tampilan Logika Besar -block.memory-cell.name = Sel Memori -block.memory-bank.name = Bank Memori - -team.blue.name = biru -team.crux.name = merah -team.sharded.name = kuning -team.orange.name = jingga -team.derelict.name = abu-abu -team.green.name = hijau -team.purple.name = ungu - -hint.skip = Lewati -hint.desktopMove = Tekan [accent][[WASD][] untuk bergerak. -hint.zoom = [accent]Skrol[] untuk membesarkan atau mengecilkan layar. -hint.mine = Dekati \uf8c4 bijih tembaga dan [accent]tekan[] untuk menambangnya secara manual. -hint.desktopShoot = [accent][[Klik][] untuk menembak. -hint.depositItems = Untuk mentransfer item, tarik item dari pesawatmu ke inti. -hint.respawn = Untuk muncul kembali seperti awal, tekan [accent][[V][]. -hint.respawn.mobile = Kamu telah mengambil alih kontrol dari sebuah unit/struktur. Untuk muncul kembali, [accent]tekan avatar di kiri atas.[] -hint.desktopPause = Tekan [accent][[Spasi][] untuk menjeda dan menghentikan jeda permainan. -hint.placeDrill = Pilih \ue85e [accent]Bor[] menu di kanan bawah, lalu pilih \uf870 [accent]Bor[] dan klik diatas bijih tembaga untuk menaruhnya. -hint.placeDrill.mobile = Pilih \ue85e[accent]Bor[] tab di menu di kanan bawah, lalu pilih \uf870 [accent]Bor[] dan klik diatas bijih tembaga untuk menaruhnya.\n\nTekan \ue800 [accent]checkmark[] di bawah kanan untuk menkonfirmasi pembangunan. -hint.placeConveyor = Pengantar dapat memindahkan item dari bor ke blok yang lain. Pilih \uf896 [accent]Pengantar[] dari menu \ue814 [accent]Distribusi[].\n\nKlik dan tarik untuk menaruh beberapa pengantar.\n[accent]Skrol[] untuk memutarnya. -hint.placeConveyor.mobile = Pengantar dapat memindahkan item dari bor ke blok yang lain. Pilih \uf896 [accent]Pengantar[] dari menu \ue814 [accent]Distribusi[].\n\nTahan jari kamu sebentar dan seret untuk menaruh beberapa pengantar. -hint.placeTurret = Taruh \uf861 [accent]Turret[] untuk mempertahankan basismu daru musuh.\n\nTurret membutuhkan amunisi - yang satu ini, \uf838copper.\nGunakan pengantar dan bor untuk mengisinya. -hint.breaking = [accent]Klik kanan[] dan tarik untuk menghancurkan blok. -hint.breaking.mobile = Aktifkan \ue817 [accent]palu[] di kanan bawah dan tekan untuk menghancurkan blok.\n\nTahan jari kamu sebentar dan seret untuk menghancurkannya. -hint.research = Gunakan tombol \ue875 [accent]Riset[] untuk mempelajari teknologi baru. -hint.research.mobile = Gunakan tombol \ue875 [accent]Riset[] di \ue88c [accent]Menu[] untuk mempelajari teknologi baru. -hint.unitControl = Tahan [accent][[L-ctrl][] dan [accent]klik[] untuk mengendalikan unit atau turret teman. -hint.unitControl.mobile = [accent][Klik dua kali[] untuk mengendalikan unit atau turret teman. -hint.launch = Ketika sumber daya sudah mencukupi, kamu bisa [accent]Meluncurkan[] dengan memilih sektor terdekat dari \ue827 [accent]Map[] di kanan bawah. -hint.launch.mobile = Ketika sumber daya sudah mencukupi, kamu bisa [accent]Meluncurkan[] dengan memilih sektor terdekat dari \ue827 [accent]Map[] di \ue88c [accent]Menu[]. -hint.schematicSelect = Tahan [accent][[F][] dan tarik ke bangunan untuk menyalin bangunan.\n\n[accent][[Klik tengah][] untuk menyalin blok setipe. -hint.conveyorPathfind = Tahan [accent][[L-Ctrl][] ketika menarik pengantar untuk membuat jalur secara otomatis. -hint.conveyorPathfind.mobile = Aktifkan \ue844 [accent]diagonal mode[] dan tarik pengantar untuk membuat jalur secara otomatis. -hint.boost = Tahan [accent][[L-Shift][] untuk terbang dengan unit sekarang.\n\nHanya beberapa unit darat yang memiliki pendorong. -hint.command = Tekan [accent][[G][] untuk memperintah unit sekitarmu kedalam formasi. -hint.command.mobile = [accent][[Klik dua kali][] unitmu untuk memperintah unit sekitarmu kedalam formasi. -hint.payloadPickup = Tekan [accent][[[] untuk membawa blok kecil atau unit. -hint.payloadPickup.mobile = [accent]Tekan dan tahan[] untuk membawa blok kecil atau unit. -hint.payloadDrop = Tekan [accent]][] untuk menurunkan muatan. -hint.payloadDrop.mobile = [accent]Tekan dan tahan[] di lokasi yang kosong untuk menurunkan muatan. -hint.waveFire = [accent]Wave[] yang terisi dengan air akan memadamkan air dalam jangkauannya. -hint.generator = \uf879 [accent]Generator Pembakar[] membakar batu bara dan menghasilkan energik ke blok yang berdekatan.\n\nTransmisi energi dapat diperluas menggunakan \uf87f [accent]Tiang Listrik[]. -hint.guardian = Unit [accent]Penjaga[] adalah unit yang diperkuat. Amunisi lemah seperti [accent]Tembaga[] dan [accent]Timah[] [scarlet]tidak berefek pada mereka[].\n\nGunakan turret yang lebih bagus atau gunakan amunisi yang lebih kuat seperti \uf835 [accent]Grafit[] \uf861Duo/\uf859Salvo untuk menghancurkan Penjaga. -hint.coreUpgrade = Inti dapat ditingkatkan dengan cara [accent]meletakkan yang lebih besar diatasnya[].\n\nLetakan sebuah inti  [accent]Fondasi[] diatas inti ï¡© [accent]Shard[]. Pastikan terdapat ruang kosong dari bangunan yang lain. -hint.presetLaunch = [accent]Zona pendaratan[]yang berwarna abu-abu, seperti [accent]Hutan yang Beku[], dapat diluncurkan dari mana saja. Sektor seperti ini tidak perlu diluncurkan dari sektor terdekat milik kamu.\n\n[accent]Sektor yang bernomor[], seperti yang ini, bisa [accent]dikuasai atau diabaikan[]. -hint.coreIncinerate = Setelah inti penuh dengan suatu barang, barang yang setipe akan [accent]dihancurkan[]. -hint.coopCampaign = Ketika bermain [accent]kampanye multiplayer[], barang yang diproduksi di map ini akan diberikan ke [accent]sektor kamu juga[].\n\nSetiap penelitian baru yang dilakukan oleh host juga akan diberikan kepadamu. - -item.copper.description = Bahan struktur yang berguna. Digunakan di semua tipe blok. -item.copper.details = Tembaga. Logam yang sangat melimpah di Serpulo. Lemah secara struktural kecuali jika diperkuat. -item.lead.description = Bahan dasar di awal permainan. Digunakan di elektronik dan blok transportasi zat cair. -item.lead.details = Padat. Lembam. Biasanya digunakan dalam baterai.\nCatatan : Kemungkinan beracun untuk kehidupan biologis. Bukan berarti tidak banyak disini. -item.metaglass.description = Kaca yang super-kuat. Digunakan untuk distribusi zar cair dan penyimpanan. -item.graphite.description = Karbon termineralisasi, dipakai untuk amunisi dan penyekatan listrik. -item.sand.description = Digunakan sebagai produksi untuk material yang akan dimurnikan. -item.coal.description = Digunakan sebagai bahan bakar dan memurnikan material. -item.coal.details = Hasil dari tumbuhan yang menjadi fosil, sudah terjadi sangat lama sebelum spora-spora menyebar. -item.titanium.description = Digunakan di transportasi zat cair, bor dan pesawat terbang. -item.thorium.description = Digunakan dalam struktur tahan lama dan sebagai bahan bakar nuklir. -item.scrap.description = Dilebur dan dimurnikan menjadi material lain. -item.scrap.details = Sisa sisa bangunan dan unit tua. -item.silicon.description = Digunakan di panel surya, bahan elektronik yang kompleks, dan amunisi yang bisa mengejar. -item.plastanium.description = Digunakan dalam unit canggih, isolasi dan amunisi fragmentasi . -item.phase-fabric.description = Digunakan di elektronik canggih dan teknologi perbaikan diri sendiri. -item.surge-alloy.description = Digunakan di pertahanan yang lebih canggih dan struktur pertahanan reaktif. -item.spore-pod.description = Digunakan untuk produksi minyak, bahan peledak dan bahan bakar. -item.spore-pod.details = Spora. Sepertinya bentuk kehidupan sintetis. Menghasilkan gas beracun yang meracuni kehidupan biologis lainnya. Sangat mudah menyebar. Sangat mudah terbakar dalam kondisi tertentu. -item.blast-compound.description = Senyawa yang digunakan sebagai bom dan amunisi peledak. -item.pyratite.description = Digunakan di senjata pembakar dan generator yang membutuhkan bahan mudah terbakar. - -liquid.water.description = Umumnya digunakan untuk mendinginkan bor dan turret. -liquid.slag.description = Berbagai campuran tipe logam yang meleleh. Dapat dipisahkan menjadi mineral masing-masing, atau disemprotkan ke musuh sebagai senjata. -liquid.oil.description = Digunakan di produksi material lanjutan dan sebagai amunisi yang mudah terbakar. -liquid.cryofluid.description = Digunakan sebagai pendingin di reaktor, turret, dan pabrik. - -block.resupply-point.description = Mengisi ulang amunisi unit terdekat dengan tembaga. Jika tidak bisa berarti unit tersebut membutuhkan baterai. -block.armored-conveyor.description = Memindahkan barang sama cepatnya dengan pengantar titanium, namun memiliki lebih banyak armor. Tidak dapat menerima masukan dari samping dari apapun kecuali dari pengantar. -block.illuminator.description = Sebuah lampu kecil untuk menerangi daerah sekitar. Perlu listrik untuk bekerja. -block.message.description = Menyimpan pesan. Digunakan untuk komunikasi antar sekutu. -block.graphite-press.description = Memadatkan bongkahan batu bara menjadi lempengan grafit murni. -block.multi-press.description = Versi pemadat grafit yang lebih bagus. Membutuhkan air sebagai pendingin. -block.silicon-smelter.description = Melebur pasir dengan batu bara untuk memproduksi silikon. -block.kiln.description = Membakar pasir dan timah menjadi kaca meta. Membutuhkan tenaga. -block.plastanium-compressor.description = Memproduksi plastanium dari minyak dan titanium. -block.phase-weaver.description = Memproduksi kain phase dari thorium dan banyak pasir. -block.alloy-smelter.description = Memproduksi campuran logam dari titanium, timah, silikon dan tembaga. -block.cryofluidmixer.description = Mencampur air dan titanium menjadi cairan dingin yang lebih efisien untuk pendingin. -block.blast-mixer.description = Menggunakan minyak untuk membentuk pyratite menjadi senyawa peledak yang kurang mudah terbakar tetapi lebih eksplosif. -block.pyratite-mixer.description = Mencampur batu bara, timah dan pasir menjadi pyratite yang sangat mudah terbakar. -block.melter.description = Melelehkan rongsokan menjadi lava. -block.separator.description = Mengekstrak komponen mineral dari lava. -block.spore-press.description = Menekan polong spora menjadi minyak. -block.pulverizer.description = Menghancurkan kepingan menjadi pasir. Berguna jika tidak ada pasir disekitar. -block.coal-centrifuge.description = Memadatkan minyak menjadi bongkahan batu bara. -block.incinerator.description = Menghancurkan mineral atau zat cair sisa. -block.power-void.description = Menghilangkan semua tenaga yang masuk kedalamnya. Sandbox eksklusif. -block.power-source.description = Menghasilkan tenaga tak terbatas. Sandbox eksklusif. -block.item-source.description = Mengeluarkan item tak terhingga. Sandbox eksklusif. -block.item-void.description = Menghancurkan item apa saja tanpa penggunaan tenaga. Sandbox eksklusif. -block.liquid-source.description = Mengeluarkan zat cair tak terhingga. Sandbox eksklusif. -block.liquid-void.description = Menghancurkan zat cair apa saja tanpa penggunaan tenaga. Sandbox eksklusif. -block.copper-wall.description = Blok pelindung murah.\nBerguna untuk melindungi inti dan menara di beberapa gelombang awal. -block.copper-wall-large.description = Blok pelindung murah.\nBerguna untuk melindungi inti dan menara di beberapa gelombang awal.\nSebesar 4 kotak. -block.titanium-wall.description = Blok pelindung kekuatan yang sedang.\nMemberi perlindungan yang sedang dari musuh. -block.titanium-wall-large.description = Blok pelindumg dengan kekuatan yang sedang.\nMemberi perlindungan yang sedang dari musuh.\nSebesar 4 kotak. -block.plastanium-wall.description = Dinding spesial yang menyerap listrik arca dan memblokir koneksi simpul tenaga otomatis. -block.plastanium-wall-large.description = Dinding spesial yang menyerap listrik arca dan memblokir koneksi simpul tenaga otomatis.\nSebesar 4 kotak. -block.thorium-wall.description = Blok pelindung yang kuat.\nPelindung bagus dari musuh. -block.thorium-wall-large.description = Blok pelindung yang kuat.\nPelindung bagus dari musuh.\nSebesar 4 blok. -block.phase-wall.description = Tidak sekuat dinding thorium tetapi akan memantulkan peluru senjata jika tidak terlalu kuat. -block.phase-wall-large.description = Tidak sekuat dinding thorium tetapi akan memantulkan peluru senjata jika tidak terlalu kuat. \nSebesar 4 blok. -block.surge-wall.description = Blok pelindung terkuat.\nMempunyai kemungkinan untuk menyetrum penyerang. -block.surge-wall-large.description = Blok pelindung terkuat.\nMempunyai kemungkinan untuk menyetrum penyerang. \nSebesar 4 blok. -block.door.description = Pintu kecil yang bisa dibuka-tutup dengan menekannya.\nJika dibuka, musuh bisa masuk dan menembak. -block.door-large.description = Pintu kecil yang bisa dibuka-tutup dengan menekannya.\nJika dibuka, musuh bisa masuk dan menembak.\nSebesar 4 blok. -block.mender.description = Menyembuhkan blok di sekelilingnya secara berkala. Menjaga keutuhan pertahanan di sela-sela gelombang.\nDapat menggunakan silikon untuk meningkatkan jangkauan dan efisiensi. -block.mend-projector.description = Versi mender yang lebih besar. Menyembuhkan blok di sekelilingnya secara berkala.\nDapat menggunakan phase untuk meningkatkan jangkauan dan efisiensi. -block.overdrive-projector.description = Menambah kecepatan bangunan sekitar, seperti bor dan pengantar. -block.force-projector.description = Membentuk medan gaya berbentuk heksagon disekitar, melindungi bangunan dan unit didalamnya dari tembakan. Dapat mengalami kelebihan panas jika membendung terlalu banyak kerusakan. Bisa menggunakan cairan untuk mendinginkan. Gunakan fabrik phase untuk memperbesar jangkauan. -block.shock-mine.description = Mencedera musuh yang menginjak ranjau. Hampir tak kasat mata kepada musuh. -block.conveyor.description = Blok transportasi dasar. Memindahkan item ke kubah ataupun pabrik. Bisa diputar. -block.titanium-conveyor.description = Blok transportasi canggih. Memindahkan item lebih cepat daripada pengantar biasa. -block.plastanium-conveyor.description = Memindahkan barang secara bertumpuk.\nMenerima barang dari belakang, dan membaginya ke tiga arah di depan.\nMembutuhkan beberapa titik pemuat dan pembongkar untuk hasil yang maksimal. -block.junction.description = Berguna seperti jembatan untuk dua pengantar yang bersimpangan. Berguna di situasi dimana dua pengantar berbeda membawa bahan berbeda ke lokasi yang berbeda. -block.bridge-conveyor.description = Blok transportasi item canggih. bisa memindahkan item hingga 3 blok panjang melewati apapun lapangan atau bangunan. -block.phase-conveyor.description = Blok transportasi canggih. Menggunakan tenaga untuk teleportasi item ke sambungan pengantar phase melewati beberapa blok. -block.sorter.description = Memilah Item. Jika item cocok dengan seleksi, itemnya diperbolehkan lewat. Jika tidak, item akan dikeluarkan dari kiri dan/atau kanan. -block.inverted-sorter.description = Sama seperti penyortir, melainkan mengeluarkan item terpilih ke samping. -block.router.description = Menerima bahan dari satu arah dan mengeluarkannya ke 3 arah yang sama. Bisa juga menyimpan sejumlah bahan. Berguna untuk memisahkan bahan dari satu sumber ke target yang banyak. -block.router.details = Bisa sangat menggangu. Jangan meletakannya disamping input produksi, karena bisa tersumbat oleh output. -block.distributor.description = Pemisah canggih yang memisah item ke 7 arah berbeda bersamaan. -block.overflow-gate.description = Kombinasi antara pemisah dan penyortir yang hanya mengeluarkan item ke kiri dan/atau ke kanan jika bagian depan tertutup. -block.underflow-gate.description = Kebalikan dari gerbang luap. Mengeluarkan ke depan jika kanan dan kiri tertutup. -block.mass-driver.description = Blok item transportasi tercanggih. Membawa beberapa item dan menembaknya ke penggerak massal lainnya dari arah yang jauh. -block.mechanical-pump.description = Pompa murah dengan pengeluaran yang pelan, tetapi tidak mengkonsumsi tenaga. -block.rotary-pump.description = Pompa canggih yang kecepatannya dua kali lipat jika menggunakan tenaga. -block.thermal-pump.description = Pompa Tercanggih. -block.conduit.description = Blok transportasi zat cair umum. Bekerja seperti pengantar, tetapi untuk zat cair. -block.pulse-conduit.description = Blok transportasi zat cair canggih. Memindahkan dan menyimpan zat cair lebih cepat dan banyak daripada saluran biasa. -block.plated-conduit.description = Sama seperti pengantar berlapis baja, tetapi menuju ke zat cair. Lebih sedikit bocor. -block.liquid-router.description = Menerima zat cair dari satu arah dan mengeluarkannya ke 3 arah yang sama. Bisa juga menyimpan sejumlah zat cair. Berguna untuk memisahkan zat cair dari satu sumber ke target yang banyak. -block.liquid-tank.description = Menyimpan jumlah zat cair yang banyak. Gunakan sebagai penyangga ketika kebutuhan zat cair tidak konstan atau sebagai penjaga untuk mendinginkan blok yang vital. -block.liquid-junction.description = Berguna seperti jembatan untuk dua saluran yang bersimpangan. Berguna di situasi dimana dua saluran berbeda membawa zat cair berbeda ke lokasi yang berbeda. -block.bridge-conduit.description = Blok transportasi zat cair canggih. bisa memindahkan zat cair hingga 3 blok panjang melewati apapun lapangan atau bangunan. -block.phase-conduit.description = Blok transportasi zat cair canggih. Menggunakan listrik untuk teleportasi zat zair ke saluran phase yang terhubung dari jarak jauh. -block.power-node.description = Membawa tenaga ke tiang tersambung. hingga empat sumber listrik, sambungan atau tiang lainnya yang bisa disambung. Tiang akan mendapatkan atau memberi tenaga ke/dari blok yang disambung. -block.power-node-large.description = Mempunyai radius lebih besar dari tiang listrik biasa dan bisa menyambung hingga enam sumber listrik, sambungan atau tiang lainnya. -block.surge-tower.description = Sebuah menara listrik dengan jangkauan sangat jauh tetapi sambungan yang sedikit. -block.diode.description = Tenaga baterai dapat mengalir hanya dari satu arah, tetapi hanya jika tenaga di sebelah lebih sedikit. -block.battery.description = Menyimpan tenaga jika ada kelimpahan dan memberikan tenaga jika ada kekurangan, asalkan ada kapasitas tersisa. -block.battery-large.description = Menyimpan lebih banyak tenaga daripada baterai biasa. -block.combustion-generator.description = Menghasilkan tenaga dengan membakar minyak atau bahan bakar. -block.thermal-generator.description = Menghasilkan tenaga disaat ditaruh di lokasi yang panas. -block.steam-generator.description = Lebih efisien daripada generator pembakar, tetapi membutuhkan tambahan air. -block.differential-generator.description = Menghasilkan tenaga dalam jumlah banyak. Memanfaatkan perbedaan suhu dingin cairan pendingin dan suhu panas pyratite. -block.rtg-generator.description = Generator yang tidak membutuhkan pendiginan tetapi lebih memberi sedikit tenaga daripada reaktor thorium. -block.solar-panel.description = Menghasilkan tenaga dalam jumlah kecil dari sinar matahari. -block.solar-panel-large.description = Menghasilkan lebih banyak tenaga dari panel surya biasa, tapi lebih mahal untuk dibangun. -block.thorium-reactor.description = Menghasilkan tenaga yang besar dari konsumsi thorium. Membutuhkan pendinginan konstan. Akan meledak jika tidak cukup pendingin . Pengeluaran tenaga tergantung kepenuhan. -block.impact-reactor.description = Sebuah generator yang lebih maju, dapat menghasilkan tenaga dengan jumlah yang sangat banyak. Memerlukan tenaga untuk menyalakan reaktor terlebih dahulu. -block.mechanical-drill.description = Bor murah. Saat ditaruh ditempat yang sesuai, mengeluarkan item dengan pelan tanpa batas. -block.pneumatic-drill.description = Bor lebih cepat dari bor mekanik dan bisa memproses bahan lebih keras dengan menggunakan tekanan udara. -block.laser-drill.description = Mengebor lebih cepat lewat teknologi laser, tapi membutuhkan tenaga. Bisa menambang thorium dengan bor ini. -block.blast-drill.description = Bor tercanggih. Membutuhkan banyak tenaga. -block.water-extractor.description = Mengekstrak air dari tanah. Gunakan jika tidak ada sumber air disekitar. -block.cultivator.description = Menumbuhkan konsentrasi spora yang kecil di atmosfer menjadi polong spora. -block.cultivator.details = Teknologi yang dipulihkan. Digunakan untuk memproduksi biomassa secara efesien. Kemungkinan merupakan inkubator awal dari spora yang sekarang menutupi Serpulo. -block.oil-extractor.description = Menggunakan tenaga cukup besar untuk mengekstrak minyak dari pasir. Gunakan jika tidak ada sumber minyak disekitar. -block.core-shard.description = Versi pertama dari pengulangan kapsul inti. Jika hancur, Semua kontak dengan daerah akan hilang. Jangan biarkan ini terjadi. -block.core-shard.details = Iterasi pertama. Padat. Bisa menggandakan dirinya (untuk menguasai sektor disekitarnya). Dilengkapi dengan pendorong yang sekali pakai. Tidak didesain untuk perjalanan antar planet. -block.core-foundation.description = Versi kedua dari inti. Lebih kuat. Menyimpan banyak sumber daya. -block.core-foundation.details = Iterasi kedua. -block.core-nucleus.description = Versi ketiga dan pengulangan terakhir dari kapsul inti. Sangat kuat. Menyimpan sangat banyak sumber daya. -block.core-nucleus.details = Iterasi ketiga dan yang terakhir. -block.vault.description = Menyimpan semua tipe item berkuantitas besar. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari gudang. -block.container.description = Menyimpan semua tipe item. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari kontainer. -block.unloader.description = Mengeluarkan item dari kontainer, gudang atau inti kedalam pengantar atau langsung ke blok yang dituju. Tipe item yang dimuat bisa diganti dengan mengetuk pembongkar muatan. -block.launch-pad.description = Meluncurkan beberapa item tanpa meninggalkan tempat. -block.duo.description = Menembakkan peluru bergantian ke musuh. -block.scatter.description = Menembakkan gumpalan timah, rongsokan atau metaglass ke musuh udara. -block.scorch.description = Membakar musuh darat yang dekat dengannya. Sangat efektif dalam jarak dekat. -block.hail.description = Menembakkan peluru kecil ke musuh darat dari jarak jauh. -block.wave.description = Menembakkan aliran cairan ke musuh. Secara otomatis memadamkan api saat disuplai dengan air. -block.lancer.description = Memuat dan menembakkan sinar energi yang kuat ke target darat. -block.arc.description = Menembak petir ke musuh darat. -block.swarmer.description = Menembakkan misil yang mengejar ke arah musuh. -block.salvo.description = Menembakkan peluru cepat ke arah musuh. -block.fuse.description = Menembakkan tiga penusuk tajam jarak dekat ke musuh terdekat. -block.ripple.description = Menembak cangkang berkelompok ke musuh darat dari jarak jauh. -block.cyclone.description = Menembakkan gumpalan peledak ke musuh terdekat. -block.spectre.description = Menembakkan peluru besar yang menembus lapis baja ke target udara dan darat. -block.meltdown.description = Mengisi dan menembakkan sinar laser yang terus-menerus ke musuh di sekitar. Membutuhkan pendingin untuk beroperasi. -block.foreshadow.description = Menembak baut besar jarak jauh yang hanya menembak satu target. -block.repair-point.description = Terus menerus memulihkan unit terluka disekitar. -block.segment.description = Merusakkan dan menghancurkan proyektil yang datang. Proyektil laser tidak akan ditargetkan. -block.parallax.description = Menembak laser yang menarik target udara, juga merusaknya selama dalam proses. -block.tsunami.description = Menembak cairan dalam jumlah dan tekanan besar ke arah musuh. Akan memadamkan api secara otomatis jika diisi dengan air. -block.silicon-crucible.description = Memurnikan silikon dari pasir dan batubara, menggunakan pyratit sebagai sumber panas tambahan. Lebih efesien jika diletakkan di area yang panas. -block.disassembler.description = Memisahkan lava menjadi mineral langka dalam efesiensi rendah. Bisa memproduksi thorium. -block.overdrive-dome.description = Menambah kecepatan kepada bangunan disekitarnya. Membutuhkan phase dan silikon untuk bekerja. -block.payload-conveyor.description = Memindahkan muatan yang besar, seperti unit dari pabrik. -block.payload-router.description = Membagi muatan masukan menjadi 3 arah keluaran. -block.command-center.description = Mengontrol perilaku unit dengan beberapa perintah berbeda. -block.ground-factory.description = Memproduksi unit darat. Hasil unit dapat digunakan secara langsung, atau dipindah ke rekonstruktor untuk ditingkatkan. -block.air-factory.description = Memproduksi unit udara. Hasil unit dapat digunakan secara langsung, atau dipindah ke rekonstruktor untuk ditingkatkan. -block.naval-factory.description = Memproduksi unit laut. Hasil unit dapat digunakan secara langsung, atau dipindah ke rekonstruktor untuk ditingkatkan. -block.additive-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat dua -block.multiplicative-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat tiga. -block.exponential-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat empat. -block.tetrative-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat lima dan terakhir. -block.switch.description = Sakelar yang dapat dialihkan. Status dapat dibaca dan dikontrol dengan prosesor logika. -block.micro-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. -block.logic-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. Lebih cepat dibandingkan prosesor mikro. -block.hyper-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. Lebih cepat dibandingkan prosesor logika. -block.memory-cell.description = Menyimpan informasi untuk prosesor. -block.memory-bank.description = Menyimpan informasi untuk prosesor. Berkapasitas besar. -block.logic-display.description = Menampilkan grafik sembarang dari prosesor. -block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar. -block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik raksasa. Meluncurkan Inti dengan kecepatan tinggi untuk peluncuran antarplanet. - -unit.dagger.description = Menembak musuh terdekat dengan amunisi standar. -unit.mace.description = Menyerang musuh terdekat dengan cara membakarnya. -unit.fortress.description = Menembak musuh darat dengan altileri jarak jauh. -unit.scepter.description = Menembak semua musuh terdekat dengan rentetan peluru bermuatan listrik. -unit.reign.description = Menembak semua musuh terdekat dengan gugusan peluru tajam dalam jumlah banyak. -unit.nova.description = Menembak baut laser yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. -unit.pulsar.description = Menembak petir yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. -unit.quasar.description = Menembak sinar laser yang dapat menembus bangunan yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat terbang. Memiliki perisai. -unit.vela.description = Menembak sinar laser besar dan kontinu yang dapat merusak musuh, membakarnya dan memperbaiki bangunan musuh. Dapat terbang. -unit.corvus.description = Menembak sinar laser besar yang dapat merusak musuh dan memperbaiki bangunan teman. Dapat berjalan diatas hampir semua medan. -unit.crawler.description = Berlari menuju musuh dan menghancurkan dirinya, yang dapat menghasilkan ledakan besar. -unit.atrax.description = Menembak musuh dengan cairan lava kepada target darat. Dapat berjalan diatas hampir semua medan. -unit.spiroct.description = Menembak laser pelemah kepada musuh, dapat memperbaiki dirinya dalam proses. Dapat berjalan diatas hampir semua medan. -unit.arkyid.description = Menembak laser pelemah besar kepada musuh, dapat memperbaiki dirinya dalam proses. Dapat berjalan diatas hampir semua medan. -unit.toxopid.description = Menembak gugusan cangkang energi besar dan laser penusuk kepada musuh. Dapat berjalan diatas hampir semua medan. -unit.flare.description = Menembak musuh darat terdekat dengan amunisi standar. -unit.horizon.description = Menjatuhkan gugusan bom kepada musuh darat. -unit.zenith.description = Menembak misil kepada musuh terdekat. -unit.antumbra.description = Menembak rentetan peluru kepada musuh terdekat. -unit.eclipse.description = Menembak dua sinar laser dan rentetan peluru kepada musuh terdekat. -unit.mono.description = Menambang tembaga dan timah secara otomatis, membawanya menuju inti. -unit.poly.description = Membangun kembali bangunan yang hancur secara otomatis dan membantu unit lain dalam pembangunan. -unit.mega.description = Memperbaiki bangunan secara otomatis. Dapat membawa bangunan dan unit darat kecil. -unit.quad.description = Menjatuhkan bom besar kepada target darat, yang bisa memberbaiki struktur teman dan merusak musuh. Dapat membawa unit darat berukuran sedang. -unit.oct.description = Melindungi teman disekitarnya dengan perisai yang dapat beregenerasi. Dapat membawa hampir semua unit darat. -unit.risso.description = Menembak misil dan peluru kepada semua musuh terdekat. -unit.minke.description = Menembak cangkang pembakar dan peluru standar kepada musuh darat terdekat. -unit.bryde.description = Menembak altileri jarak jauh dan misil kepada musuh. -unit.sei.description = Menembak rentetan misil dan peluru yang dapat menembus baju besi kepada musuh. -unit.omura.description = Menembak railgun jarak jauh kepada musuh. Dapat memproduksi unit flare. -unit.alpha.description = Melindungi Inti Bagian dari musuh. Dapat membangun. -unit.beta.description = Melindungi Inti Fondasi dari musuh. Dapat membangun. -unit.gamma.description = Melindungi Inti Nukleus dari musuh. Dapat membangun. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index dd1d40f0f7..408ed5bb19 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -2,17 +2,19 @@ credits.text = Creato da [royal]Anuken[] - [sky]anukendev@gmail.com[]\n\nVersion credits = Crediti contributors = Traduttori e Contributori discord = Entra nel server Discord di Mindustry! -link.discord.description = La chatroom ufficiale del server Discord di Mindustry +link.discord.description = Il server Discord ufficiale di Mindustry link.reddit.description = Il subreddit di Mindustry! link.github.description = Codice sorgente del gioco link.changelog.description = Elenco delle modifiche del gioco -link.dev-builds.description = Build di sviluppo versioni instabili +link.dev-builds.description = Build in sviluppo versioni instabili link.trello.description = Sezione ufficiale Trello per funzionalità pianificate link.itch.io.description = Pagina di itch.io con download per PC e versione web link.google-play.description = Elenco di Google Play Store link.f-droid.description = Catalogo F-Droid link.wiki.description = Wiki ufficiale di Mindustry link.suggestions.description = Suggerisci nuove funzionalità +link.bug.description = Trovato uno? Segnalalo qui +linkopen = Questo server ti ha inviato un link, sicuro di volerlo aprire?\n\n[sky]{0} linkfail = Impossibile aprire il link! L'URL è stato copiato negli appunti. screenshot = Screenshot salvato a {0} screenshot.invalid = Mappa troppo pesante, probabilmente non c'è abbastanza spazio sul disco. @@ -23,7 +25,6 @@ gameover.waiting = [accent]In attesa della prossima mappa... highscore = [accent]Nuovo record! copied = Copiato. indev.notready = Questa parte del gioco non è ancora pronta -indev.campaign = [accent]Congratulazioni! Hai raggiunto la fine della modalità campagna![]\n\nI contenuti per ora si fermano qui. In qualche aggiornamento futuro scoprirai i viaggi interplanetari. load.sound = Suoni load.map = Mappe @@ -39,10 +40,23 @@ be.updating = Aggiornamento in corso... be.ignore = Ignora be.noupdates = Nessun aggiornamento disponibile. be.check = Verifica aggiornamenti +mods.browser = Mod Browser +mods.browser.selected = Mod selezionata +mods.browser.add = Installa mod +mods.browser.reinstall = Reinstalla mod +mods.browser.view-releases = Vedi versioni +mods.browser.noreleases = [scarlet]Nessuna versione trovata\n[accent]Cerca se la mod ha delle versioni +mods.browser.latest = +mods.browser.releases = Versioni +mods.github.open = Repo +mods.github.open-release = Pagina delle versioni di Mindustry +mods.browser.sortdate = Ordinato per data +mods.browser.sortstars = Ordinato per stelle schematic = Schematica schematic.add = Salva Schematica... schematics = Schematiche +schematic.search = Search schematics... schematic.replace = Esiste già una schematica con questo nome. Sostituirla? schematic.exists = Esiste già una schematica con questo nome. schematic.import = Importa schematica @@ -55,19 +69,27 @@ schematic.shareworkshop = Condividi nel Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Ruota Schematica schematic.saved = Schematica salvata. schematic.delete.confirm = Questa schematica sarà cancellata definitivamente. -schematic.rename = Rinomina Schematica +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blocchi schematic.disabled = [scarlet]Schematiche disabilitate[]\nNon hai il permesso di usare schematiche in questa [accent]mappa[] o [accent]server. +schematic.tags = Tags: +schematic.edittags = Modifiga Tag +schematic.addtag = Aggiungi Tag +schematic.texttag = Tag di testo +schematic.icontag = Tag immagine +schematic.renametag = Rinomina Tag +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Eliminare il tag definitivamente? +schematic.tagexists = Tag già esistente. stats = Statistiche -stat.wave = Ondate Sconfitte:[accent] {0} -stat.enemiesDestroyed = Nemici Distrutti:[accent] {0} -stat.built = Costruzioni Erette:[accent] {0} -stat.destroyed = Costruzioni Distrutte:[accent] {0} -stat.deconstructed = Costruzioni Smantellate:[accent] {0} -stat.delivered = Risorse Lanciate: -stat.playtime = Tempo Di Gioco:[accent] {0} -stat.rank = Livello Finale: [accent]{0} +stats.wave = Ondate sconfitte +stats.unitsCreated = Unità create +stats.enemiesDestroyed = Nemici distrutti +stats.built = Edifici costruiti +stats.destroyed = Edifici distrutti +stats.deconstructed = Edifici smantellati +stats.playtime = Tempo giocato globalitems = [accent]Oggetti Globali map.delete = Sei sicuro di voler eliminare la mappa '[accent]{0}[]'? @@ -77,12 +99,15 @@ level.mode = Modalità di Gioco: coreattack = < Il Nucleo è sotto attacco! > nearpoint = [[ [scarlet]LASCIA LA ZONA NEMICA IMMEDIATAMENTE[] ]\nautodistruzione imminente database = Database Nucleo +database.button = Database savegame = Salva loadgame = Carica joingame = Unisciti al Gioco customgame = Gioco Personalizzato newgame = Nuova partita none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Minimappa position = Posizione close = Chiudi @@ -102,25 +127,39 @@ uploadingpreviewfile = Carico File di Anteprima committingchanges = Applicando le Modifiche done = Fatto feature.unsupported = Il tuo dispositivo non supporta questa funzione. - -mods.alphainfo = Tieni a mente che queste mod sono in alpha e[scarlet] possono contenere molti bug[]. Segnala eventuali problemi che trovi sulla pagina GitHub o sul server Discord di Mindustry. +mods.initfailed = [red]âš [] L'ultimo avvio di Mindustry non è riuscito. Questo potrebbe essere a causa delle mod.\n\nè consigliato disabilitare tutte le mod.[] mods = Mod mods.none = [lightgray]Nessuna mod trovata! mods.guide = Guida per il modding mods.report = Segnala un Bug mods.openfolder = Apri Cartella +mods.viewcontent = Vedi contenuto mods.reload = Ricarica mods.reloadexit = Il gioco si chiuderà per ricaricare le mod. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Abilitato mod.disabled = [scarlet]Disabilitato +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = Disabilita +mod.version = Version: mod.content = Contenuto: mod.delete.error = Impossibile eliminare questa mod. Il file potrebbe essere in uso. -mod.requiresversion = [scarlet]Versione minima richiesta: [accent]{0} -mod.outdated = [scarlet]Non compatibile con V6 (Versione minima: 105) -mod.missingdependencies = [scarlet]Dipendenze mancanti: {0} +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Errori di Contenuto +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Richiede la versione del gioco: [accent]{0}[]\nIl tuo gioco è obsoleto. Questa mod richiede una versione più recente del gioco (possibilmente una versione beta/alpha) per funzionare. +mod.outdatedv7.details = Questa mod è incompatibile con l'ultima versione del gioco. L'autore deve aggiornarla e aggiungere [accent]minGameVersion: 136[] al suo file [accent]mod.json[]. +mod.blacklisted.details = Questa mod è stata messa manualmente nella blacklist perchè provoca crash o altri problemi in questa versione del gioco. Non usarla. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Si sono verificati degli errori durante il caricamento del contenuto. mod.noerrorplay = [scarlet]Sono presenti delle mod con errori.[] Puoi disabilitare le mod affette oppure sistemarle prima di giocare. mod.nowdisabled = [scarlet]Alla mod '{0}' mancano delle dipendenze:[accent] {1}\n[lightgray]Queste mod devono essere scaricate prima.\nQuesta mod verrà disabilitata automaticamente. @@ -130,7 +169,7 @@ mod.reloadrequired = [scarlet]Riavvio necessario mod.import = Importa Mod mod.import.file = Importa File mod.import.github = Importa Mod da GitHub -mod.jarwarn = [scarlet]Le mod JAR mod sono intrinsecamente pericolose.[]\nAssicuratevi di star importando questa mod da una fonte affidabile!! +mod.jarwarn = [scarlet]Le mod JAR mod sono intrinsecamente [orange]pericolose[].[red]\nAssicuratevi di star importando questa mod da una fonte affidabile!! mod.item.remove = Questo item fa parte della mod[accent] '{0}'[]. Per rimuoverlo, disinstalla questa mod. mod.remove.confirm = Questa mod verrà eliminata. mod.author = [lightgray]Autore:[] {0} @@ -142,14 +181,23 @@ mod.scripts.disable = Il tuo dispositivo non supporta le mod con gli script. Dev about.button = Info name = Nome: noname = Scegli un[accent] nome[] prima di unirti. +search = Cerca: planetmap = Mappa Pianeta launchcore = Lancia Nucleo filename = Nome File: unlocked = Nuovo contenuto sbloccato! available = Nuova scoperta disponibile! +unlock.incampaign = < Scopri in campagnia per ulteriori informazioni > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Completato techtree = Albero Scoperte -research.legacy = Sono stati trovati dati dell'albero delle scoperte della [accent]v5.0[]\nVuoi [accent]caricare questi dati[], o [accent]scartarli[] e ricominciare le scoperte nella nuova campagna (consigliato)? +techtree.select = Seleziona albero delle scoperte +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = Carica research.discard = Scarta research.list = [lightgray]Ricerca: @@ -157,7 +205,7 @@ research = Albero Scoperte researched = [lightgray]{0} cercati. research.progress = {0}% completato players = {0} giocatori online -players.single = {0} giocatore online +players.single = {0} giocatori online players.search = Cerca players.notfound = [gray]Nessun giocatore trovato server.closing = [accent]Chiusura server... @@ -193,6 +241,7 @@ hosts.none = [lightgray]Nessuna partita locale trovata! host.invalid = [scarlet]Impossibile connettersi all'host. servers.local = Server Locali +servers.local.steam = Open Games & Local Servers servers.remote = Server Remoti servers.global = Server Community @@ -200,14 +249,25 @@ servers.disclaimer = I server della Community [accent]non[] appartengono o sono servers.showhidden = Mostra Server Nascosti server.shown = Visibile server.hidden = Nascosto +viewplayer = Spettatore di: [accent]{0} trace = Traccia Giocatore trace.playername = Nome del Giocatore: [accent]{0} trace.ip = IP: [accent]{0} trace.id = ID univoco: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Client Mobile: [accent]{0} trace.modclient = Client Personalizzato: [accent]{0} +trace.times.joined = Accessi: [accent]{0} +trace.times.kicked = Espulsioni: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = ID client non valido! Segnala un bug. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Lista Bans server.bans.none = Nessun giocatore bandito trovato! server.admins = Amministratori @@ -221,10 +281,11 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]Build Personalizzata confirmban = Sei sicuro di voler bandire "{0}[white]"? confirmkick = Sei sicuro di voler espellere "{0}[white]"? -confirmvotekick = Sei sicuro di voler votare per l'espulsione di "{0}[white]"? confirmunban = Sei sicuro di voler riammettere questo giocatore? confirmadmin = Sei sicuro di voler rendere "{0}[white]" un amministratore? confirmunadmin = Sei sicuro di voler rimuovere lo stato di amministratore da "{0}[white]"? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Unisciti alla Partita joingame.ip = Indirizzo: disconnect = Disconnesso. @@ -232,16 +293,18 @@ disconnect.error = Errore di connessione. disconnect.closed = Connessione chiusa. disconnect.timeout = Connessione scaduta. disconnect.data = Errore durante il caricamento del mondo! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Impossibile unirsi alla partita ([accent]{0}[]). connecting = [accent]Connessione in corso... reconnecting = [accent]Riconnessione in corso... connecting.data = [accent]Caricamento del mondo... server.port = Porta: -server.addressinuse = Indirizzo già in uso! server.invalidport = Numero porta non valido! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [scarlet]Errore nell'hosting del server. save.new = Nuovo Salvataggio save.overwrite = Sei sicuro di voler sovrascrivere questo salvataggio? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Sovrascrivi save.none = Nessun salvataggio trovato! savefail = Salvataggio del gioco non riuscito! @@ -262,6 +325,7 @@ save.corrupted = Salvataggio corrotto o non valido! empty = on = On off = Off +save.search = Ricerca giochi salvati... save.autosave = Salvataggio Automatico: {0} save.map = Mappa: {0} save.wave = Ondata: {0} @@ -277,9 +341,30 @@ ok = OK open = Apri customize = Personalizza cancel = Annulla +command = Comando +command.queue = [lightgray][Queuing] +command.mine = Mina +command.repair = Ripara +command.rebuild = Ricostruisci +command.assist = Aiuta giocatore +command.move = Muovi +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Apri Link copylink = Copia link back = Indietro +max = Max +objective = Map Objective crash.export = Esporta Logs del Crash crash.none = Nessun Log trovato. crash.exported = Crash logs esportati. @@ -290,16 +375,18 @@ data.exported = Dati esportati. data.invalid = Questi non sono dati di gioco validi. data.import.confirm = Importare dati di gioco esterni sovrascriverà[scarlet] tutti[] i tuoi progressi attuali.\n[accent]L'operazione è irreversibile![]\n\nUna volta importati i dati, il gioco si chiuderà immediatamente. quit.confirm = Sei sicuro di voler uscire? -quit.confirm.tutorial = Sei sicuro di sapere cosa stai facendo? Il tutorial può essere ripetuto in[accent]\nImpostazioni -> Gioco -> Ripeti il Tutorial.[] loading = [accent]Caricamento in Corso... -reloading = [accent]Ricaricamento delle mod... +downloading = [accent]Downloading... saving = [accent]Salvataggio in corso... respawn = [accent][[{0}][] per rinascere nel nucleo cancelbuilding = [accent][[{0}][] per pulire la selezione selectschematic = [accent][[{0}][] per selezionare+copiare pausebuilding = [accent][[{0}][] per smettere di costruire resumebuilding = [scarlet][[{0}][] per riprendere a costruire +enablebuilding = [scarlet][[{0}][] per abilitare la costruzione showui = Interfaccia utente nascosta.\nPremere [accent][[{0}][] per mostrarla nuovamente. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Ondata {0} wave.cap = [accent]Ondata {0}/{1} wave.waiting = [lightgray]Ondata tra {0} @@ -329,12 +416,17 @@ map.publish.confirm = Vuoi pubblicare questa mappa?\n\n[lightgray]Assicurati di workshop.menu = Seleziona cosa vorresti fare con questo elemento. workshop.info = Info Elemento changelog = Changelog (opzionale): +updatedesc = Sovrascrivere titolo e descrizione eula = Steam EULA missing = Questo prodotto è stato eliminato o spostato.\n[lightgray]L'elemento è stato scollegato automaticamente dal Workshop. publishing = [accent]Pubblicazione... publish.confirm = Sei sicuro di volerlo pubblicare?\n\n[lightgray]Assicurati di accettare il contratto EULA del Workshop o i tuoi prodotti non verranno mostrati! publish.error = Errore nella pubblicazione del prodotto: {0} steam.error = Impossibile inizializzare i servizi di Steam.\nErrore: {0} +editor.planet = Pianeta: +editor.sector = Settore: +editor.seed = Seme: +editor.cliffs = Walls To Cliffs editor.brush = Dimensioni Pennello editor.openin = Apri nell'Editor @@ -347,36 +439,72 @@ editor.nodescription = Una mappa deve avere una descrizione di almeno 4 caratter editor.waves = Ondate: editor.rules = Regole: editor.generation = Generazione: +editor.objectives = Obbiettivi +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Modifica in Gioco +editor.playtest = Playtest editor.publish.workshop = Pubblica nel Workshop editor.newmap = Nuova Mappa editor.center = Centro +editor.search = Ricerca mappe... +editor.filters = Filtri mappe +editor.filters.mode = Modalità di gioco: +editor.filters.type = Tipo mappa: +editor.filters.search = Cerca in: +editor.filters.author = Autore +editor.filters.description = Descrizione +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Ondate waves.remove = Rimuovi -waves.never = waves.every = sempre waves.waves = ondata/e +waves.health = salute: {0}% waves.perspawn = per generazione waves.shields = scudi/ondata waves.to = a +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Seleziona spawn +waves.spawn.none = [scarlet]nessuno spawn trovato nella mappa +waves.max = numero massimo unità waves.guardian = Guardiano waves.preview = Anteprima waves.edit = Modifica... +waves.random = Random waves.copy = Copia negli Appunti waves.load = Carica dagli Appunti waves.invalid = Ondate dagli appunti non valide. waves.copied = Ondate copiate. waves.none = Nessun nemico impostato.\nNota che le disposizioni di ondate vuote verranno automaticamente rimpiazzate con la disposizione predefinita. +waves.sort = Ordina per +waves.sort.reverse = Inverti ordine +waves.sort.begin = Inizia +waves.sort.health = Salute +waves.sort.type = Tipo +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Nascondi tutto +waves.units.show = Mostra tutto #Questi sono intenzionalmente in minuscolo wavemode.counts = conteggi wavemode.totals = totali wavemode.health = salute +all = All editor.default = [lightgray] details = Dettagli... edit = Modifica... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nome: editor.spawn = Piazza un'Unità editor.removeunit = Rimuovi un'Unità @@ -388,13 +516,19 @@ editor.errorlegacy = La mappa è troppo vecchia ed usa un formato che non è pi editor.errornot = Questo non è un file mappa. editor.errorheader = Il file di questa mappa non è valido o è corrotto. editor.errorname = Questa mappa è senza nome. Stai cercando di caricare un salvataggio? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Aggiorna editor.randomize = Casualizza +editor.moveup = Muovi in alto +editor.movedown = Muovi in basso +editor.copy = Copia editor.apply = Applica editor.generate = Genera +editor.sectorgenerate = Genera settore editor.resize = Ridimensiona editor.loadmap = Carica Mappa editor.savemap = Salva Mappa +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Salvato! editor.save.noname = La tua mappa non ha un nome! Impostane uno nel menu 'Info Mappa'. editor.save.overwrite = La tua mappa sovrascrive quelle incluse! Imposta un nome diverso nel menu 'Info Mappa'. @@ -433,8 +567,12 @@ toolmode.eraseores = Rimuovi Minerali toolmode.eraseores.description = Rimuove solo minerali. toolmode.fillteams = Riempi Squadre toolmode.fillteams.description = Riempe squadre al posto di blocchi. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Disegna Squadre toolmode.drawteams.description = Disegna squadre al posto di blocchi. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]Nessun filtro! Aggiungine uno cliccando il tasto sotto. filter.distort = Modifica @@ -453,6 +591,7 @@ filter.clear = Resetta Filtro filter.option.ignore = Ignora filter.scatter = Dispersione filter.terrain = Terreno +filter.logic = Logic filter.option.scale = Scala filter.option.chance = Probabilità filter.option.mag = Magnitudine @@ -461,17 +600,39 @@ filter.option.circle-scale = Modifica Diametro Cerchio filter.option.octaves = Ottavi filter.option.falloff = Cadere filter.option.angle = Angolo +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Quantità filter.option.block = Blocco filter.option.floor = Terreno filter.option.flooronto = Terreno Mirato filter.option.target = Obiettivo +filter.option.replacement = Sostituisci filter.option.wall = Muro filter.option.ore = Minerale filter.option.floor2 = Terreno Secondario filter.option.threshold2 = Soglia Secondaria filter.option.radius = Raggio filter.option.percentile = Percentuale +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Larghezza: height = Altezza: @@ -482,6 +643,7 @@ load = Carica save = Salva fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} memory = Memoria: {0}MB memory2 = Memoria:\n {0}MB +\n {1}MB language.restart = Riavvia il gioco affinché le impostazioni della lingua abbiano effetto. @@ -500,43 +662,98 @@ requirement.core = Distruggi il Nucleo Nemico in {0} requirement.research = Scopri {0} requirement.produce = Produci {0} requirement.capture = Cattura {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Lancia -research.multiplayer = Solo l'host può scoprire gli oggetti. map.multiplayer = Solo l'host può vedere i settori. uncover = Scopri configure = Configura Equipaggiamento +objective.research.name = Ricerca +objective.produce.name = Ottieni +objective.item.name = Ottieni oggetto +objective.coreitem.name = Core Item +objective.buildcount.name = Numero di costruzioni +objective.unitcount.name = Numero di unità +objective.destroyunits.name = Distruggi unità +objective.timer.name = Timer +objective.destroyblock.name = Distruggi blocco +objective.destroyblocks.name = Distruggi blocchi +objective.destroycore.name = Distruggi nuclei +objective.commandmode.name = Modalità comando +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Forma +marker.text.name = Testo +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Sfondo +marker.outline = Outline +objective.research = [accent]Ricerca:\n[]{0}[lightgray]{1} +objective.produce = [accent]Ottieni:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Distruggi:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Distruggi: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Ottieni: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Muovi nel nucleo:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Costruisci: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Costruisci unità: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Distruggi: [][lightgray]{0}[]x unità +objective.enemiesapproaching = [accent]Nemici in arrivo tra [lightgray]{0}[] +objective.enemyescelating = [accent]Produzione nemica in aumento tra [lightgray]{0}[] +objective.enemyairunits = [accent]La produzione aerea nemica comincia tra [lightgray]{0}[] +objective.destroycore = [accent]Distruggi il nucleo nemico +objective.command = [accent]Comanda Unità +objective.nuclearlaunch = [accent]âš  Lancio nucleare rilevato: [lightgray]{0} +announce.nuclearstrike = [red]âš  COLPO NUCLEARE IN ARRIVO âš  loadout = Equipaggiamento -resources = Risorse +resources = Risorse +resources.max = Max bannedblocks = Blocchi Banditi +unbannedblocks = Unbanned Blocks +objectives = Obbiettivi +bannedunits = Unità bandite +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Aggiungi Tutti launch.from = Partenza da: [accent]{0} +launch.capacity = Capacità di lancio oggetti: [accent]{0} launch.destination = Destinazione: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Il valore deve essere un numero compresto tra 0 e {0}. add = Aggiungi... -boss.health = Vita del Guardiano +guardian = Guardiano connectfail = [scarlet]Impossibile connettersi al server:\n\n[accent] {0} error.unreachable = Server irraggiungibile. L'indirizzo è scritto correttamente? error.invalidaddress = Indirizzo non valido. error.timedout = Tempo scaduto!\nAssicurati che l'host abbia il port forwarding impostato e che l'indirizzo sia corretto! -error.mismatch = Errore dei pacchetti:\nPossibile discordanza della versione client/server.\nAssicurati che tu e l'host possiediate l'ultima versione di Mindustry! +error.mismatch = Errore dei pacchetti:\nPossibile discordanza della versione client/server.\nAssicurati che tu e l'host possediate l'ultima versione di Mindustry! error.alreadyconnected = Già connesso. error.mapnotfound = Mappa non trovata! error.io = Errore I/O di rete. error.any = Errore di rete sconosciuto. error.bloom = Errore dell'avvio delle shaders.\nIl tuo dispositivo potrebbe non supportarle. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Pioggia -weather.snow.name = Neve +weather.snowing.name = Neve weather.sandstorm.name = Tempesta di Sabbia weather.sporestorm.name = Tempesta di Spore weather.fog.name = Nebbia +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Settore +sectorlist.attacked = {0} sotto attacco sectors.unexplored = [lightgray]Inesplorato sectors.resources = Risorse: sectors.production = Produzione: sectors.export = Merce: +sectors.import = Importa: sectors.time = Tempo: sectors.threat = Minaccia: sectors.wave = Ondata: @@ -544,30 +761,45 @@ sectors.stored = Immagazzinato: sectors.resume = Riprendi sectors.launch = Lancia sectors.select = Seleziona +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]nessuno (sole) +sectors.redirect = Redirect Launch Pads sectors.rename = Rinomina Settore sectors.enemybase = [scarlet]Base Nemica sectors.vulnerable = [scarlet]Vulnerabile sectors.underattack = [scarlet]Sotto attacco! [accent]{0}% danneggiato +sectors.underattack.nodamage = [scarlet]Non catturato sectors.survives = [accent]Sopravvissuto a {0} ondate sectors.go = Lancia +sector.abandon = Abbandona +sector.abandon.confirm = Il nucleo/i di questo settore si auto-distruggeranno.\nContinuare? sector.curcapture = Settore Catturato sector.curlost = Settore Perso sector.missingresources = [scarlet]Risorse del Nucleo Insufficienti sector.attacked = Settore [accent]{0}[white] sotto attacco! sector.lost = Settore [accent]{0}[white] perso! -#nota: lo spazio mancante nella linea sotto è intenzionale -sector.captured = Settore [accent]{0}[white]catturato! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Cambia icona +sector.noswitch.title = Impossibile cambiare settore +sector.noswitch = Non puoi cambiare settore mentre sei sotto attacco.\n\nSectore: [accent]{0}[] on [accent]{1}[] +sector.view = Vedi settore threat.low = Bassa threat.medium = Media threat.high = Alta threat.extreme = Estrema -threat.eradication = Eradicazione +threat.eradication = Catastrofe +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = Pianeti planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sole sector.impact0078.name = Impatto 0078 @@ -585,7 +817,19 @@ sector.fungalPass.name = Passo Fungino sector.biomassFacility.name = Struttura di Sintesi di Biomassa sector.windsweptIslands.name = Isole Ventose sector.extractionOutpost.name = Avamposto di Estrazione Mineraria +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Terminale di Lancio Planetario +sector.coastline.name = Coastline +sector.navalFortress.name = Fortezza navale +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = La posizione ottimale per ricominciare. Bassa minaccia nemica. Poche risorse.\nRaccogli quanto più piombo e rame possibile.\nParti. sector.frozenForest.description = Anche qui, più vicino alle montagne, le spore si sono diffuse. Le temperature gelide non possono contenerle per sempre.\n\nInizia l'avventura nell'energia. Costruisci generatori a combustione. Impara a usare i riparatori. @@ -603,6 +847,69 @@ sector.windsweptIslands.description = Oltre la fascia costiera si trova questo r sector.extractionOutpost.description = Un avamposto remoto, costruito dai nemici con l'obiettivo di lanciare risorse in altri settori.\n\nLa tecnologia di trasposto a settori-incrociati è essenziale per un ulteriore conquista. Distruggi la base. scopri la loro Rampa di Lancio. sector.impact0078.description = Qui giaciono i resti della nave da trasporto interstellare che fu la prima ad entrare in questo sistema.\n\nRecupera per quanto possibile dal relitto. Scopri qualsiasi tecnologia intatta. sector.planetaryTerminal.description = Il bersaglio finale.\n\nQuesta base costiera contiene una struttura capace di lanciare Nuclei ai pianeti locali. È estremamente protetto.\n\nProduci unità navali. Elimina il nemico il più rapidamente possibile. Scopri la struttura di lancio. +sector.coastline.description = In questo settore sono stati rilevati resti di tecnologia di unità navali. Respingi gli attacchi nemici, cattura il settore e acquisisci la tecnologia. +sector.navalFortress.description = Il nemico ha stabilito una base su un'isola remota e fortificata naturalmente. Distruggi questo avamposto. Acquisisci la loro tecnologia navale avanzata e fate ricerche. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Nome +sector.intersect.name = Intersezioni +sector.atlas.name = Atlas +sector.split.name = Dividi +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Settore di prova. Questo obbiettivo non è ancora stato creato. Aspetta ulteriori informazioni. +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Bruciatura +status.freezing.name = Congelamento +status.wet.name = Bagnato +status.muddy.name = Fangoso +status.melting.name = Fusione +status.sapped.name = Sfinimento +status.electrified.name = Elettrificato +status.spore-slowed.name = Rallentamento da spore +status.tarred.name = Tarred +status.overdrive.name = Potenziato +status.overclock.name = Overclock +status.shocked.name = Stordito +status.blasted.name = Blasted +status.unmoving.name = Immobile +status.boss.name = Guardiano settings.language = Lingua settings.data = Dati di Gioco @@ -625,21 +932,26 @@ settings.clearcampaignsaves.confirm = Sei sicuro di voler eliminare tutti i salv paused = [accent]< In Pausa > clear = Pulisci banned = [scarlet]Bandito -yes = Si +unsupported.environment = [scarlet]Ambiente non supportato +yes = Sì no = No info.title = Info error.title = [scarlet]Si è verificato un errore error.crashtitle = Si è verificato un errore unit.nobuild = [scarlet]L'unità non può costruire lastaccessed = [lightgray]Ultimo Accesso: {0} +lastcommanded = [lightgray]Ultimo comandato: {0} block.unknown = [lightgray]??? +stat.showinmap = stat.description = Obiettivo stat.input = Ingresso stat.output = Uscita +stat.maxefficiency = Efficienza massima stat.booster = Potenziamenti stat.tiles = Blocchi Richiesti stat.affinities = Affinità +stat.opposites = Opposti stat.powercapacity = Capacità Energetica stat.powershot = Energia/Colpo stat.damage = Danno @@ -659,11 +971,14 @@ stat.poweruse = Consumo Energetico stat.powerdamage = Energia/Danno stat.itemcapacity = Capacità Oggetti stat.memorycapacity = Capacità di Memoria -stat.basepowergeneration = Generazione Minina di Energia +stat.basepowergeneration = Generazione Minima di Energia stat.productiontime = Tempo di Produzione stat.repairtime = Tempo di Riparazione Completa +stat.repairspeed = Velocità di riparazione stat.weapons = Armi stat.bullet = Proiettile +stat.moduletier = Grado del modulo +stat.unittype = Unit Type stat.speedincrease = Potenziamento Velocità stat.range = Raggio stat.drilltier = Scavabili @@ -671,8 +986,9 @@ stat.drillspeed = Velocità di Scavo stat.boosteffect = Effetto Boost stat.maxunits = Unità Attive Massime stat.health = Salute +stat.armor = Armatura stat.buildtime = Tempo di Costruzione -stat.maxconsecutive = Limite Consecutive +stat.maxconsecutive = Limite Consecutivi stat.buildcost = Costo di Costruzione stat.inaccuracy = Inaccuratezza stat.shots = Colpi @@ -686,6 +1002,7 @@ stat.lightningchance = Probabilità di Fulmine stat.lightningdamage = Danno Fulmine stat.flammability = Infiammabilità stat.radioactivity = Radioattività +stat.charge = Carica elettrica stat.heatcapacity = Capacità Termica stat.viscosity = Viscosità stat.temperature = Temperatura @@ -694,24 +1011,77 @@ stat.buildspeed = Velocità Costruzione stat.minespeed = Velocità Estrazione stat.minetier = Livello Estrazione stat.payloadcapacity = Capacità di Carico -stat.commandlimit = Limite di Comando stat.abilities = Abilità stat.canboost = Capace di Potenziamento stat.flying = Volo +stat.ammouse = Consumo di munizioni +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Moltiplicatore danni +stat.healthmultiplier = Moltiplicatore salute +stat.speedmultiplier = Moltiplicatore velocità +stat.reloadmultiplier = Moltiplicatore ricarica +stat.buildspeedmultiplier = Moltiplicatore velocità di costruzione +stat.reactive = Reacts +stat.immunities = Immunità +stat.healing = Rigenerazione +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Campo di Forza +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Campo Riparativo +ability.repairfield.description = Repairs nearby units ability.statusfield = Campo di Stato -ability.unitspawn = {0} Fabbrica +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fabbrica +ability.unitspawn.description = Constructs units ability.shieldregenfield = Campo di Rigenerazione Scudo +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Movimento Fulminante +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Campo energetico +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Concesso solo il deposito al nucleo bar.drilltierreq = Miglior Trivella Richiesta +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Risorse Mancanti bar.corereq = Nucleo Richiesto +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Limite massimo di unità raggiunto bar.drillspeed = Velocità Scavo: {0}/s bar.pumpspeed = Velocità di Pompaggio: {0}/s bar.efficiency = Efficienza: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energia: {0}/s bar.powerstored = Immagazzinata: {0}/{1} bar.poweramount = Energia: {0} @@ -720,51 +1090,69 @@ bar.powerlines = Connessioni: {0}/{1} bar.items = Oggetti: {0} bar.capacity = Capacità: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unità disabilitata] bar.liquid = Liquido bar.heat = Calore +bar.cooldown = Cooldown +bar.instability = Instabilità +bar.heatamount = Calore: {0} +bar.heatpercent = Calore: {0} ({1}%) bar.power = Energia bar.progress = Progresso Costruzione +bar.loadprogress = Progresso +bar.launchcooldown = Tempo rimanente al lancio bar.input = Entrata bar.output = Uscita +bar.strength = [stat]{0}[lightgray]x forza units.processorcontrol = [lightgray]Controllato dal Processore bullet.damage = [stat]{0}[lightgray] danno bullet.splashdamage = [stat]{0}[lightgray] danno ad area ~[stat] {1}[lightgray] blocchi bullet.incendiary = [stat]incendiario -bullet.sapping = [stat]debilitante bullet.homing = [stat]autoguidato -bullet.shock = [stat]stordente -bullet.frag = [stat]a frammentazione +bullet.armorpierce = [stat]perforazione alle armature +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frammentazione: +bullet.lightning = [stat]{0}[lightgray]x fulmine ~ [stat]{1}[lightgray] danno +bullet.buildingdamage = [stat]{0}%[lightgray] danno alle costruzioni +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] contraccolpo bullet.pierce = [stat]{0}[lightgray]x perforazione bullet.infinitepierce = [stat]perforazione bullet.healpercent = [stat]{0}[lightgray]% guarigione -bullet.freezing = [stat]congelante -bullet.tarred = [stat]viscoso +bullet.healamount = [stat]{0}[lightgray] quantità di cura bullet.multiplier = [stat]{0}[lightgray]x moltiplicatore munizioni -bullet.reload = [stat]{0}[lightgray]x ricarica +bullet.reload = [stat]{0}%[lightgray] ricarica +bullet.range = [stat]{0}[lightgray] raggio in blocchi +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blocchi unit.blockssquared = blocchi² unit.powersecond = unità energetica/s +unit.tilessecond = blocchi/s unit.liquidsecond = unità liquide/s unit.itemssecond = oggetti/s unit.liquidunits = unità liquidi unit.powerunits = unità energetica +unit.heatunits = unità termica unit.degrees = gradi unit.seconds = secondi unit.minutes = minuti unit.persecond = /s unit.perminute = /min unit.timesspeed = x velocità +unit.multiplier = x unit.percent = % unit.shieldhealth = salute scudo unit.items = oggetti unit.thousands = k unit.millions = mln unit.billions = mld +unit.shots = shots +unit.pershot = /colpo category.purpose = Scopo category.general = Generali category.power = Energia @@ -773,17 +1161,23 @@ category.items = Oggetti category.crafting = Produzione category.function = Funzione category.optional = Miglioramenti Opzionali +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Salta il lancio del nucleo/Animazione setting.landscape.name = Visuale Orizontale setting.shadows.name = Ombre setting.blockreplace.name = Suggerimento Blocchi Automatico setting.linear.name = Filtro Lineare setting.hints.name = Suggerimenti -setting.flow.name = Visualizza Portata Nastri/Condotti +setting.logichints.name = Suggerimenti sulla logica setting.backgroundpause.name = Metti in pausa quando in background setting.buildautopause.name = Pausa Automatica nella Costruzione +setting.doubletapmine.name = Doppio click per minare +setting.commandmodehold.name = Tieni premuto per comandare +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disabilita le mod dopo un arresto anomalo setting.animatedwater.name = Fluidi Animati setting.animatedshields.name = Scudi Animati -setting.antialias.name = Antialias[lightgray] (richiede riavvio)[] setting.playerindicators.name = Indicatori Giocatori setting.indicators.name = Indicatori Nemici setting.autotarget.name = Mira Automatica @@ -793,14 +1187,11 @@ setting.fpscap.name = Limite FPS setting.fpscap.none = Niente setting.fpscap.text = {0} FPS setting.uiscale.name = Ridimensionamento Interfaccia[lightgray] (richiede il riavvio)[] +setting.uiscale.description = Riavvio necessario per applicare le modifiche. setting.swapdiagonal.name = Posizionamento Sempre Diagonale -setting.difficulty.training = Allenamento -setting.difficulty.easy = Facile -setting.difficulty.normal = Normale -setting.difficulty.hard = Difficile -setting.difficulty.insane = Impossibile -setting.difficulty.name = Difficoltà: setting.screenshake.name = Movimento dello Schermo +setting.bloomintensity.name = Intensità d'illuminazione (Bloom Intensity) +setting.bloomblur.name = Illuminazione sfocata (Bloom Blur) setting.effects.name = Visualizza Effetti setting.destroyedblocks.name = Visualizza Blocchi Distrutti setting.blockstatus.name = Visualizza Stato Blocchi @@ -811,28 +1202,40 @@ setting.seconds = {0} secondi setting.milliseconds = {0} millisecondi setting.fullscreen.name = Schermo Intero setting.borderlesswindow.name = Finestra Senza Bordi[lightgray] (potrebbe richiedere il riavvio) +setting.borderlesswindow.name.windows = Schermo intero senza bordi +setting.borderlesswindow.description = Potrebbe essere necessario il riavvio. setting.fps.name = Mostra FPS e Ping +setting.console.name = Attiva Console setting.smoothcamera.name = Visuale fluida setting.vsync.name = VSync setting.pixelate.name = Pixellato setting.minimap.name = Mostra Minimappa -setting.coreitems.name = Mostra Oggetti Nucleo (WIP) +setting.coreitems.name = Mostra Oggetti Nucleo setting.position.name = Mostra Posizione Giocatori +setting.mouseposition.name = Mostra mouse setting.musicvol.name = Volume Musica setting.atmosphere.name = Mostra Atmosfera Pianeta +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Volume Ambiente setting.mutemusic.name = Silenzia Musica setting.sfxvol.name = Volume Effetti setting.mutesound.name = Silenzia Suoni setting.crashreport.name = Invia rapporti anonimi sugli arresti anomali +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Salvataggi Automatici -setting.publichost.name = Gioco Visibile Pubblicamente +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Limite Giocatori setting.chatopacity.name = Opacità Chat setting.lasersopacity.name = Opacità Raggi Energetici +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Opacità Nastri e Condotti Sopraelevati setting.playerchat.name = Mostra Chat -public.confirm = Vuoi rendere la tua partita pubblica?\n[accent]Chiunque sarà in grado di accedere alle tue partite.\n[lightgray]Questo può essere modificato più tardi in Impostazioni->Gioco->Partite Pubbliche. +setting.showweather.name = Mostra grafica del meteo +setting.hidedisplays.name = Nascondi display logici +setting.macnotch.name = Adatta l'interfaccia per visualizzare la tacca +setting.macnotch.description = Riavvio necessario per applicare le modifiche +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Nota che le versioni beta del gioco non possono creare lobby pubbliche. uiscale.reset = La scala dell'interfaccia utente è stata modificata.\nPremere 'OK' per confermare questa scala.\n[scarlet]Ripristina ed esci in [accent] {0}[] secondi... uiscale.cancel = Annulla ed Esci @@ -841,12 +1244,9 @@ keybind.title = Configurazione Tasti keybinds.mobile = [scarlet]La maggior parte dei controlli qui non sono funzionano sui dispositivi mobili. È supportato solo il movimento di base. category.general.name = Generale category.view.name = Visualizzazione +category.command.name = Unit Command category.multiplayer.name = Multigiocatore category.blocks.name = Seleziona Blocco -command.attack = Attacca -command.rally = Guardia -command.retreat = Ritirata -command.idle = Inattivo placement.blockselectkeys = \n[lightgray]Tasto: [{0}, keybind.respawn.name = Rinasci keybind.control.name = Controlla Unità @@ -861,6 +1261,27 @@ keybind.move_y.name = Muovi Verticalmente keybind.mouse_move.name = Segui il Mouse keybind.pan.name = Vista Panoramica keybind.boost.name = Scatto +keybind.command_mode.name = Modalità di comando +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Seleziona Regione keybind.schematic_menu.name = Menu Schematica keybind.schematic_flip_x.name = Ruota Schematica Orizzontalmente @@ -886,10 +1307,11 @@ keybind.select.name = Seleziona/Spara keybind.diagonal_placement.name = Posiziona Diagonalmente keybind.pick.name = Scegli Blocco keybind.break_block.name = Rompi Blocco +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deseleziona keybind.pickupCargo.name = Raccogli Carico keybind.dropCargo.name = Rilascia Carico -keybind.command.name = Comanda keybind.shoot.name = Spara keybind.zoom.name = Zoom keybind.menu.name = Menu @@ -898,15 +1320,17 @@ keybind.pause_building.name = Interrompi/Riprendi Costruzione keybind.minimap.name = Minimappa keybind.planet_map.name = Mappa Pianeta keybind.research.name = Albero Scoperte +keybind.block_info.name = Block Info keybind.chat.name = Chat keybind.player_list.name = Lista dei Giocatori keybind.console.name = Console keybind.rotate.name = Ruota -keybind.rotateplaced.name = Ruota Blocco Esistente (premuto) +keybind.rotateplaced.name = Ruota Blocco Esistente (mantenere premuto) keybind.toggle_menus.name = Mostra/Nascondi Menu -keybind.chat_history_prev.name = Scorri Chat vero l'alto +keybind.chat_history_prev.name = Scorri Chat verso l'alto keybind.chat_history_next.name = Scorri Chat verso il basso keybind.chat_scroll.name = Scorri Chat +keybind.chat_mode.name = Cambia modalità chat keybind.drop_unit.name = Lascia Materiali keybind.zoom_minimap.name = Esegui Zoom Minimappa mode.help.title = Descrizione delle Modalità @@ -920,48 +1344,100 @@ mode.pvp.description = Combatti contro altri giocatori in locale.\n[gray]Per gio mode.attack.name = Schermaglia mode.attack.description = Distruggi la base nemica. \n[gray]Richiede un nucleo rosso nella mappa per essere giocata. mode.custom = Regole Personalizzate +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Risorse Infinite +rules.onlydepositcore = Deposito consentito solo al nucleo +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Esplosioni Reattore +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disabilita processori rules.schematic = Schematiche Consentite rules.wavetimer = Timer Ondate +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Ondate +rules.airUseSpawns = Air units use spawn points rules.attack = Modalità Attacco -rules.buildai = Costruzioni dell'AI -rules.enemyCheat = Risorse AI (Team Rosso) Infinite +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Dimensione minima squadra +rules.rtsmaxsquadsize = Dimensione massima squadra +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Cancella costruzioni delle squadre sconfitte (PvP) +rules.corecapture = Cattura nucleo alla distruzione +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Protezione del nucleo dalle costruzioni nemiche +rules.enemyCheat = Risorse AI (squadra Rossa) Infinite rules.blockhealthmultiplier = Moltiplicatore Salute Blocco rules.blockdamagemultiplier = Moltiplicatore Danno Blocco rules.unitbuildspeedmultiplier = Moltiplicatore Velocità Costruzione Unità +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Moltiplicatore Vita Unità rules.unitdamagemultiplier = Moltiplicatore Danno Unità +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Moltiplicatore energia solare +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limite dimensioni mappa rules.enemycorebuildradius = Raggio di protezione del Nucleo Nemico dalle costruzioni:[lightgray] (blocchi) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Tempo fra Ondate:[lightgray] (secondi) +rules.initialwavespacing = Tempo per la prima ondata:[lightgray] (sec) rules.buildcostmultiplier = Moltiplicatore Costo Costruzione rules.buildspeedmultiplier = Moltiplicatore Velocità Costruzione rules.deconstructrefundmultiplier = Moltiplicatore Rimborso di Smantellamento rules.waitForWaveToEnd = Le ondate aspettano fino a quando l'ondata precedente finisce +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Raggio di Generazione:[lightgray] (blocchi) rules.unitammo = Unità Richiedono Munizioni +rules.enemyteam = Squadra avversaria +rules.playerteam = Squadra giocatore rules.title.waves = Ondate rules.title.resourcesbuilding = Risorse e Costruzioni rules.title.enemy = Nemici rules.title.unit = Unità rules.title.experimental = Sperimentale rules.title.environment = Ambiente +rules.title.teams = squadre +rules.title.planet = pianeta rules.lighting = Illuminazione -rules.enemyLights = Illuminazione Nemica +rules.fog = Nebbia di guerra +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fuoco +rules.anyenv = rules.explosions = Danno da Esplosione Blocchi/Unità rules.ambientlight = Illuminazione\nAmbientale rules.weather = Meteo rules.weather.frequency = Frequenza: +rules.weather.always = sempre rules.weather.duration = Durata: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Oggetti content.liquid.name = Liquidi content.unit.name = Unità content.block.name = Blocchi +content.status.name = Effetti content.sector.name = Settori +content.team.name = Fazioni +wallore = (Mura) item.copper.name = Rame item.lead.name = Piombo @@ -972,18 +1448,34 @@ item.thorium.name = Torio item.silicon.name = Silicio item.plastanium.name = Plastanio item.phase-fabric.name = Tessuto di Fase -item.surge-alloy.name = Lega di Sovratensione +item.surge-alloy.name = Lega superconduttrice item.spore-pod.name = Baccello di Spore item.sand.name = Sabbia item.blast-compound.name = Composto Esplosivo item.pyratite.name = Pirite item.metaglass.name = Vetro Metallico item.scrap.name = Rottame + +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Berillio +item.tungsten.name = Tungsteno +item.oxide.name = Ossido +item.carbide.name = Carburo +item.dormant-cyst.name = Dormant Cyst + liquid.water.name = Acqua liquid.slag.name = Scoria liquid.oil.name = Petrolio liquid.cryofluid.name = Criofluido +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallio +liquid.ozone.name = Ozono +liquid.hydrogen.name = Idrogeno +liquid.nitrogen.name = Azoto +liquid.cyanogen.name = Cianogeno + unit.dagger.name = Pugnalatore unit.mace.name = Randellatore unit.fortress.name = Fortezza @@ -1010,6 +1502,12 @@ unit.minke.name = Cacciatorpediniere unit.bryde.name = Incrociatore unit.sei.name = Nave da Guerra unit.omura.name = Portaerei + +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -1017,14 +1515,36 @@ unit.scepter.name = Infiltratore unit.reign.name = Conquistatore unit.vela.name = Radiante unit.corvus.name = Disgregatore +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale -block.resupply-point.name = Punto di Rifornimento block.parallax.name = Parallasse block.cliff.name = Scogliera block.sand-boulder.name = Masso di Sabbia block.basalt-boulder.name = Masso di Basalto block.grass.name = Erba -block.slag.name = Scoria +block.molten-slag.name = Scoria +block.pooled-cryofluid.name = Criofluido block.space.name = Spazio block.salt.name = Sale block.salt-wall.name = Muro di Sale @@ -1052,24 +1572,28 @@ block.graphite-press.name = Pressa per Grafite block.multi-press.name = Multi Pressa block.constructing = {0}\n[lightgray](In Costruzione) block.spawn.name = Punto di Generazione Nemico +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Nucleo: Frammento block.core-foundation.name = Nucleo: Fondamento -block.core-nucleus.name = Nucleo: Kernel -block.deepwater.name = Acqua Profonda -block.water.name = Acqua +block.core-nucleus.name = Nucleo: Centrale +block.deep-water.name = Acqua Profonda +block.shallow-water.name = Acqua block.tainted-water.name = Acqua Contaminata +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Acqua Contaminata Scura block.tar.name = Catrame block.stone.name = Pietra -block.sand.name = Sabbia +block.sand-floor.name = Sabbia block.darksand.name = Sabbia Scura block.ice.name = Ghiaccio block.snow.name = Neve -block.craters.name = Crateri +block.crater-stone.name = Crateri block.sand-water.name = Acqua Sabbiosa block.darksand-water.name = Acqua Sabbiosa Scura block.char.name = Carbone block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Muro di Dacite block.dacite-boulder.name = Masso di Dacite block.ice-snow.name = Neve Ghiacciata @@ -1082,11 +1606,12 @@ block.dirt.name = Terra block.dirt-wall.name = Muro di Terra block.mud.name = Fango block.white-tree-dead.name = Albero Bianco Morto -block.white-tree.name = Albero Morto +block.white-tree.name = Albero Bianco block.spore-cluster.name = Agglomerato di Spore block.metal-floor.name = Pavimento Metallico 1 block.metal-floor-2.name = Pavimento Metallico 2 block.metal-floor-3.name = Pavimento Metallico 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Pavimento Metallico 4 block.metal-floor-damaged.name = Pavimento Metallico Danneggiato block.dark-panel-1.name = Pannello Scuro 1 @@ -1100,7 +1625,7 @@ block.basalt.name = Basalto block.hotrock.name = Roccia Bollente block.magmarock.name = Roccia Magmatica block.copper-wall.name = Muro di Rame -block.copper-wall-large.name = Muro di Rame Grande +block.copper-wall-large.name = Muro di Rame Grande block.titanium-wall.name = Muro di Titanio block.titanium-wall-large.name = Muro di Titanio Grande block.plastanium-wall.name = Muro di Plastanio @@ -1126,6 +1651,9 @@ block.distributor.name = Distributore Grande block.sorter.name = Filtro block.inverted-sorter.name = Filtro Inverso block.message.name = Messaggio +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Lanterna block.overflow-gate.name = Separatore per Eccesso block.underflow-gate.name = Separatore per Eccesso Inverso @@ -1174,23 +1702,25 @@ block.plastanium-compressor.name = Compressore al Plastanio block.pyratite-mixer.name = Miscelatore di Pirite block.blast-mixer.name = Miscelatore d'Esplosivi block.solar-panel.name = Pannello Solare -block.solar-panel-large.name = Pannello Solare Grande +block.solar-panel-large.name = Pannello Solare Grande block.oil-extractor.name = Estrattore di Petrolio block.repair-point.name = Punto di Riparazione +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Condotto a Impulsi block.plated-conduit.name = Condotto Placcato block.phase-conduit.name = Condotto di Fase block.liquid-router.name = Distributore di Liquidi block.liquid-tank.name = Serbatoio +block.liquid-container.name = Liquid Container block.liquid-junction.name = Giunzione Liquida block.bridge-conduit.name = Condotto Sopraelevato block.rotary-pump.name = Pompa a Turbina block.thorium-reactor.name = Reattore al Torio block.mass-driver.name = Lancia Materiali block.blast-drill.name = Trivella ad Impulsi -block.thermal-pump.name = Pompa Termica +block.impulse-pump.name = Pompa Termica block.thermal-generator.name = Generatore Termico -block.alloy-smelter.name = Altoforno +block.surge-smelter.name = Altoforno block.mender.name = Riparatore block.mend-projector.name = Riparatore Grande block.surge-wall.name = Muro di Sovratensione @@ -1207,26 +1737,191 @@ block.meltdown.name = Fusione block.foreshadow.name = Tenebra block.container.name = Contenitore block.launch-pad.name = Ascensore Spaziale -block.launch-pad-large.name = Ascensore Spaziale Avanzato +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segmentatore -block.command-center.name = Centro di Controllo block.ground-factory.name = Fabbrica Terrestre block.air-factory.name = Fabbrica Aerea block.naval-factory.name = Fabbrica Navale -block.additive-reconstructor.name = Ricostruttore Adattivo +block.additive-reconstructor.name = Ricostruttore Additivo block.multiplicative-reconstructor.name = Ricostruttore Moltiplicativo block.exponential-reconstructor.name = Ricostruttore Esponenziale block.tetrative-reconstructor.name = Ricostruttore Tetrattivo block.payload-conveyor.name = Trasportatore di Massa block.payload-router.name = Distributore di Carico +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassemblatore block.silicon-crucible.name = Crogiolo per Silicio block.overdrive-dome.name = Cupola di Overdrive -#sperimentale, potrebbero esseri rimossi -block.block-forge.name = Forgia per Blocco -block.block-loader.name = Caricatore Blocchi -block.block-unloader.name = Scaricatore Blocchi block.interplanetary-accelerator.name = Acceleratore Interplanetario +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Interruttore block.micro-processor.name = Micro Processore @@ -1236,43 +1931,40 @@ block.logic-display.name = Display Logico block.large-logic-display.name = Grande Display Logico block.memory-cell.name = Cella di Memoria block.memory-bank.name = Banca di Memoria - -team.blue.name = blu +team.malis.name = Malis team.crux.name = rosso team.sharded.name = arancione -team.orange.name = arancione team.derelict.name = abbandonato team.green.name = verde -team.purple.name = viola + +team.blue.name = blu hint.skip = Salta hint.desktopMove = Usa [accent][[WASD][] per muoverti. hint.zoom = [accent]Scorri[] per aumentare o ridurre la visuale. -hint.mine = Muoviti vicino il \uf8c4 minerale di rame e[accent]toccalo[] per minare manualmente. hint.desktopShoot = [accent][[Click-sinistro][] per sparare. -hint.depositItems = Per trasferire oggetti, trascinadalla tua nave al nucleo. +hint.depositItems = Per trasferire oggetti, trascina dalla tua nave al nucleo. hint.respawn = Per rinascere come nave, premi [accent][[V][]. hint.respawn.mobile = Hai cambiato il controllo a unità/strutture. Per rinascere come nave, [accent]tocca the l'avatar in alto a sinistra.[] hint.desktopPause = Premi[accent][[Space][] per mettere in pausa o riprendere il gioco. -hint.placeDrill = Seleziona la sezione delle \ue85e [accent]Trivelle[] nel menu in fondo a destra, dopo seleziona una \uf870 [accent]Trivella[] e cliccala su una risorsa di rame per piazzarla. -hint.placeDrill.mobile = Seleziona la sezione \ue85e [accent]Trivelle[] nel menu in fondo a destra, dopo seleziona una \uf870 [accent]Drill[] e cliccalo su una risorsa di rame per piazzarlo.\n\nPremi il \ue800 [accent]checkmark[] in fonod a destra per confermare. -hint.placeConveyor = I nastri trasportatori muovono oggetti dalle trivelle in altri blocchi. Seleziona un \uf896 [accent]Nastro[] dalla sezione \ue814 [accent]Distribuzione[].\n\nClicca e trascina per piazziare più nastri.\n[accent]Scorri[] per ruotare. -hint.placeConveyor.mobile = I nastri trasportatori muovono gli oggetti dalle trivelle ad altri blocchi. Seleziona un \uf896 [accent]Nastro Trasportatore[] dal menu \ue814 [accent]Distribuzione[].\n\nTieni premuto il dito per un secondo e trascinalo per disporre più nastri contemporaneamente. -hint.placeTurret = Posiziona \uf861 [accent]Torrette[] per difendere la tua base dai nemici.\n\n Le torrette richiedono munizioni- in questo caso, \uf838rame.\nUsa nastri e trivelle per rifornirli. hint.breaking = [accent]Click-destro[] e trascina per distruggere blocchi. -hint.breaking.mobile = Attivita il \ue817 [accent]martello[] in fondo a destra e tocca per distruggere blocchi.\n\nTieni premuto il tuo dito per un secondo e trascina per distruggere blocchi in una selezione. +hint.breaking.mobile = Attiva il \ue817 [accent]martello[] in fondo a destra e tocca per distruggere blocchi.\n\nTieni premuto il tuo dito per un secondo e trascina per distruggere blocchi in una selezione. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. hint.research = Usa il pulsante \ue875 [accent]Scopri[] per scoprire nuova tecnologia. hint.research.mobile = Usa il pulsante \ue875 [accent]Research[] nel \ue88c [accent]menu[] per scoprire una nuova tecnologia. hint.unitControl = Tieni premuto [accent][[L-ctrl][] e [accent]clic[] per controllare unità o torrette amichevoli. hint.unitControl.mobile = [accent][[Doppio-tocco][] per controllare unità o torrette amichevoli. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. hint.launch = Una volta che sono state raccolte abbastanza risorse, puoi[accent]Lanciare[] selezionando settori vicini dalla \ue827 [accent]Mappa[] in fondo a destra. hint.launch.mobile = Una volta che sono state raccolte abbastanza risorse, puoi[accent]Lanciare[] selezionando settori vicini dalla \ue827 [accent]Mappa[] nel \ue88c [accent]menu[]. hint.schematicSelect = Tieni premuto [accent][[F][] e trascina per selezionare blocchi da copiare ed incollare.\n\n[accent][[Middle Click][] per copiare un singolo tipo di blocco. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.conveyorPathfind = Tieni premuto [accent][[L-Ctrl][] mentre trascini nastri per generare automaticamente un percorso. hint.conveyorPathfind.mobile = Attiva la \ue844 [accent]modalità diagonale[] e trascina nastri per generare automaticamente un percorso. hint.boost = Tieni premuto [accent][[L-Shift][] per volare sopra gli ostacoli con la tua unità attuale.\n\nSolo poche unità terrestri possono farlo. -hint.command = Premi [accent][[G][] per comandare le unità vicine di [accent]simile tipologia[] in formazione.\n\nPer comandare unità terrestri, devi prima controllare un'altra unità terrestre. -hint.command.mobile = [accent][[Double-tap][] per comandare le unità vicine in formazione. hint.payloadPickup = Premi [accent][[[] per raccogliere piccoli blocchi o unità. hint.payloadPickup.mobile = [accent]Clicca e trattieni[] piccoli blocchi o unità per raccglierla. hint.payloadDrop = Premi [accent]][] per rilasciare un carico. @@ -1280,8 +1972,62 @@ hint.payloadDrop.mobile = [accent]Clicca e trattieni[] una posizione vuota per r hint.waveFire = [accent]Idrogetto[] torrette con acqua per munizioni spegneranno automaticamente incendi. hint.generator = \uf879 [accent]Generatori a Combustibile[] bruciano carbone e trasferiscono energia ai blocchi adiacenti.\n\nIl raggio di trasmissione dell'enrgia può essere esteso con \uf87f [accent]Nodo Energetico[]. hint.guardian = Unità [accent]Guardiano[] sono corazzate. Munizioni deboli come [accent]Rame[] e [accent]Piombo[] sono [scarlet]inefficaci[].\n\nUsa torrette di grado superiore o \uf835 [accent]Grafite[] \uf861Duo/\uf859Cannone Leggero per buttare giù il boss. -hint.coreUpgrade = I nuclei possono essere aggiornati [accent]piazzando nuclei di un livello superiore sopra di loro[].\n\nPiazzia un nucleo  [accent]Fondazione[] sopra il nucleo ï¡© [accent]Frammento[]. Assicurati che sia libero da ostacoli. +hint.coreUpgrade = I nuclei possono essere aggiornati [accent]piazzando nuclei di un livello superiore sopra di loro[].\n\nPiazzia un nucleo \uf868 [accent]Fondazione[] sopra il nucleo \uf869 [accent]Frammento[]. Assicurati che sia libero da ostacoli. hint.presetLaunch = [accent]Settori grigi d'atterraggio[], come [accent]Foresta Ghiacciata[], possono essere lanciati da ovunque. Non richiedono la cattura nei terrotori circostanti.\n\n[accent]Settori numerati[], come questo qui, sono [accent]opzionali[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Usato in molti tipi di costruzioni e munizioni. item.copper.details = Rame. Metallo anormalmente abbondante su Serpulo. Strutturalmente debole se non rinforzato. @@ -1304,23 +2050,35 @@ item.spore-pod.description = Utilizzato per la conversione in petrolio, esplosiv item.spore-pod.details = Spore. Probabilmente una forma di vita sintetica. Emettono gas tossici alle vita biologica. Estremamente invasive. Altamente infiammabili in certe condizioni. item.blast-compound.description = Un composto altamente volatile, utilizzato nella produzione di bombe ed esplosivi. Può essere utilizzato come combustibile anche se non è consigliabile. item.pyratite.description = Una sostanza molto infiammabile che viene utilizzata nelle armi da fuoco. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Usato per il raffreddamento di macchinari ed il trattamento dei rifiuti. liquid.slag.description = Raffinata nei separatori in diversi metalli o spruzzata sui nemici come munizione. liquid.oil.description = Usato nella produzione di materiali avanzati e come munizione incendiaria. liquid.cryofluid.description = Usato come refrigerante in reattori, torrette e macchinari. - -block.resupply-point.description = Rifornisce untià vicine con munizioni in rame. Incompatibile con unità che richiedono energia. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict block.armored-conveyor.description = Trasporta gli oggetti. Non accetta oggetti dai lati. block.illuminator.description = Emette luce. block.message.description = Memorizza un messaggio per le comunicazioni tra alleati. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Comprime il carbone in grafite. block.multi-press.description = Comprime il carbone in grafite. Necessite di acqua come refrigerante. block.silicon-smelter.description = Raffina il silicio da sabbia e carbone. block.kiln.description = Fonde sabbia e piombo in vetro metallico. block.plastanium-compressor.description = Produce plastanio da petrolio e titanio. block.phase-weaver.description = Sintetizza il tessuto di fase da torio e sabbia. -block.alloy-smelter.description = Fonde titanio, piombo, silicio e rame nella lega di sovratensione. +block.surge-smelter.description = Fonde titanio, piombo, silicio e rame nella lega di sovratensione. block.cryofluid-mixer.description = Miscela acqua e polvere di titanio per produrre il criofluido. block.blast-mixer.description = Produce composto esplosivo dalla pirite e dal baccello di spore. block.pyratite-mixer.description = Miscela carbone, piombo e sabbia in pirite. @@ -1336,6 +2094,8 @@ block.item-source.description = Genera oggetti infiniti. Disponibile solo nella block.item-void.description = Distrugge tutti gli oggetti che riceve. Disponibile solo nella modalità creativa. block.liquid-source.description = Genera liquidi infiniti. Disponibile solo nella modalità creativa. block.liquid-void.description = Distrugge qualsiasi liquido che riceve. Disponibile solo nella modalità creativa. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. block.copper-wall.description = Protegge le strutture dai proiettili nemici. block.copper-wall-large.description = Protegge le strutture dai proiettili nemici. block.titanium-wall.description = Protegge le strutture dai proiettili nemici. @@ -1348,6 +2108,10 @@ block.phase-wall.description = Protegge le strutture dai proiettili nemici rifle block.phase-wall-large.description = Protegge le strutture dai proiettili nemici riflettendone la maggior parte all'impatto. block.surge-wall.description = Protegge le strutture dai proiettili nemici rilasciando periodicamente archi elettrici al contatto. block.surge-wall-large.description = Protegge le strutture dai proiettili nemici rilasciando periodicamente archi elettrici al contatto. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Un muro che può essere aperto o chiuso. block.door-large.description = Un muro che può essere aperto o chiuso. block.mender.description = Ripara periodicamente i blocchi nelle sue vicinanze.\nAccetta silicio per aumentare la portata e l'efficienza. @@ -1357,7 +2121,7 @@ block.force-projector.description = Crea un campo di forza esagonale attorno a s block.shock-mine.description = Rilascia archi elettrici al contatto con un nemico. block.conveyor.description = Trasporta gli oggetti. block.titanium-conveyor.description = Trasporta gli oggetti. È più veloce di un nastro trasportatore standard. -block.plastanium-conveyor.description = Trasporta gli oggetti in lotti. Accetta gli oggetti dal retro e li scarica in tre direzioni. Necessita di molteplici punti di carico e scarico per aumentare la portata. +block.plastanium-conveyor.description = Trasporta gli oggetti in lotti. Accetta gli oggetti dal retro e li scarica in tre direzioni. Necessita di molteplici punti di carico e scarico per aumentare la portata. block.junction.description = Funge da ponte tra due nastri trasportatori che si incrociano. block.bridge-conveyor.description = Trasporta gli oggetti sopra blocchi e strutture. block.phase-conveyor.description = Trasporta gli oggetti sopra blocchi e strutture istantaneamente. Ha un raggio più ampio rispetto al nastro trasportatore sopraelevato, ma ha bisogno di energia per funzionare. @@ -1371,11 +2135,12 @@ block.underflow-gate.description = L'esatto opposto del separatore per eccesso. block.mass-driver.description = Struttura per il trasporto di oggetti a lungo raggio. Immagazzina lotti di oggetti e li spara ad un altro trasportatore di massa. block.mechanical-pump.description = Pompa liquidi. Non richiede energia. block.rotary-pump.description = Pompa liquidi. Richiede energia. -block.thermal-pump.description = Pompa liquidi. +block.impulse-pump.description = Pompa liquidi. block.conduit.description = Trasporta i liquidi. Spesso usato insieme a pompe e altri condotti. block.pulse-conduit.description = Trasporta i liquidi più velocemente. Ha una capacità maggiore rispetto ai condotti tradizionali. block.plated-conduit.description = Trasporta i liquidi. Non accetta liquidi dai lati. Non spande. block.liquid-router.description = Accetta liquidi da un lato e li divide equamente nelle 3 uscite. Può anche immagazzinare una piccola quantità di liquido. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Immagazzina una grande quantità di liquido. Emette il liquido che contiene da tutti i lati, simile ad un distributore di liquidi. block.liquid-junction.description = Funge da ponte tra due condotti che si incrociano. block.bridge-conduit.description = Trasporta i liquidi sopra blocchi e strutture. @@ -1413,6 +2178,9 @@ block.vault.description = Immagazzina grandi quantità di oggetti di ogni tipo. block.container.description = Imagazzina piccole quantità di oggetti di ogni tipo. Può essere svuotato con uno scaricatore. block.unloader.description = Scarica l'oggetto selezionato dai blocchi adiacenti. block.launch-pad.description = Lancia lotti di oggetti ai settori selezionati. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Spara proiettili ai nemici. block.scatter.description = Spara agglomerati di piombo, rottami o vetro metallico ai nemici aerei. block.scorch.description = Incenerisce qualsiasi unità terrena nelle vicinanze. Altamente efficace a distanza ravvicinata. @@ -1434,10 +2202,9 @@ block.parallax.description = Spara un raggio traente che avvicina i bersagli aer block.tsunami.description = Spara potenti getti di liquidi ai nemici. Quando alimentato ad acqua, estingue automaticamente gli incendi. block.silicon-crucible.description = Produce il silicio da sabbia e carbone usando la pirite come fonte di calore aggiuntiva. Aumenta la sua efficienza su terreni caldi. block.disassembler.description = Separa le scorie in diversi minerali, tra cui il torio. -block.overdrive-dome.description = Aumenta la velocità delle strutture vicine. Richiede tessuto di fase e silicio per funzionare. +block.overdrive-dome.description = Aumenta la velocità delle strutture vicine. Richiede tessuto di fase e silicio per funzionare. block.payload-conveyor.description = Trasporta carichi pesanti come le unità prodotte nelle fabbriche. block.payload-router.description = Divide equamente il carico dei trasportatori di massa in 3 direzioni. -block.command-center.description = Permette di controllare il comportamento delle unità con diversi comandi. block.ground-factory.description = Produce le unità terrene. Le unità prodotte possono essere utilizzate direttamente o trasferite nei ricostruttori per essere potenziate. block.air-factory.description = Produce le unità aeree. Le unità prodotte possono essere utilizzate direttamente o trasferite nei ricostruttori per essere potenziate. block.naval-factory.description = Produce le unità navali. Le unità prodotte possono essere utilizzate direttamente o trasferite nei ricostruttori per essere potenziate. @@ -1454,6 +2221,101 @@ block.memory-bank.description = Imagazzina le informazioni elaborate dai process block.logic-display.description = Visualizza la grafica arbitraria elaborata dal processore. block.large-logic-display.description = Visualizza la grafica arbitraria elaborata dal processore. block.interplanetary-accelerator.description = Una massiccia torre che utilizza potenti campi elettromagnetici. Accelera nuclei fino alla velocità di fuga per un impiego interplanetario. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. unit.dagger.description = Spara proiettili standard ai nemici vicini. unit.mace.description = Spara raffiche infuocate ai nemici vicini. @@ -1482,9 +2344,281 @@ unit.quad.description = Rilascia grandi bombe alle unità terrene, riparando le unit.oct.description = Protegge gli alleati nelle vicinanze con lo scudo rigenerante integrato. È in grado di trasportare la maggior parte delle unità terrene. unit.risso.description = Spara una raffica di missili e proiettili ai nemici nelle vicinanze. unit.minke.description = Spara proiettili incendiari e standard alle unità terrene. -unit.bryde.description = Spara proiettili e missili a lungo raggio ai nemici. +unit.bryde.description = Spara proiettili e missili a lungo raggio ai nemici. unit.sei.description = Spara raffiche di missili e proiettili corazzati e perforanti ai nemici. unit.omura.description = Utilizza un bullone sparatato grazie a due binari a scorrimento accelerati da un campo elettromagnetico. Lunga gittata e perforazione estrema. Costruisce unità flare. unit.alpha.description = Difende il nucleo Frammento dai nemici. Costruisce strutture. unit.beta.description = Difende il nucleo Fondamento dai nemici. Costruisce strutture. unit.gamma.description = Difende il nucleo Kernel dai nemici. Costruisce strutture. +unit.retusa.description = Lancia siluri di puntamento contro i nemici vicini. Ripara le unità alleate. +unit.oxynoe.description = Spara flussi di fiamme che riparano le strutture ai nemici vicini. Bersaglia i proiettili nemici nelle vicinanze con una torretta di difesa. +unit.cyerce.description = Spara missili a grappolo contro i nemici. Ripara le unità alleate. +unit.aegires.description = Scuote tutte le unità e le strutture nemiche che entrano nel suo campo energetico. Ripara tutti gli alleati. +unit.navanax.description = Spara proiettili EMP esplosivi, infliggendo danni significativi alle reti elettriche nemiche e riparando le strutture alleate. Scioglie i nemici vicini con 4 torrette laser autonome. +unit.stell.description = Spara proiettili standard contro i bersagli nemici. +unit.locus.description = Spara proiettili alternati contro i bersagli nemici. +unit.precept.description = Spara proiettili a grappolo perforanti contro i bersagli nemici. +unit.vanquish.description = Spara grandi proiettili perforanti contro i bersagli nemici. +unit.conquer.description = Spara grandi cascate di proiettili perforanti contro i bersagli nemici. +unit.merui.description = Spara con l'artiglieria a lungo raggio contro bersagli terrestri nemici. Può superare la maggior parte dei terreni. +unit.cleroi.description = Spara proiettili doppi contro i bersagli nemici. Bersaglia i proiettili nemici con le torrette di difesa. Può superare la maggior parte dei terreni. +unit.anthicus.description = Spara missili a lunga gittata contro i bersagli nemici. Può superare la maggior parte dei terreni. +unit.tecta.description = Spara missili al plasma a puntamento interno contro i bersagli nemici. Si protegge con uno scudo direzionale. Può superare la maggior parte dei terreni. +unit.collaris.description = Spara con l'artiglieria a frammentazione a lungo raggio contro gli obiettivi nemici. Può superare la maggior parte dei terreni. +unit.elude.description = Spara coppie di proiettili di puntamento contro i bersagli nemici. Può galleggiare su corpi liquidi. +unit.avert.description = Spara coppie di proiettili a spirale contro i bersagli nemici. +unit.obviate.description = Spara coppie di fulmini a spirale contro i bersagli nemici. +unit.quell.description = Spara missili di puntamento a lungo raggio contro gli obiettivi nemici. Sopprime i blocchi di riparazione delle strutture nemiche. +unit.disrupt.description = Spara missili di soppressione a lungo raggio contro gli obiettivi nemici. Sopprime i blocchi di riparazione delle strutture nemiche. +unit.evoke.description = Costruisce strutture per difendere il nucleo del Bastione. Ripara le strutture con un raggio. +unit.incite.description = Costruisce strutture per difendere il nucleo della Cittadella. Ripara le strutture con un raggio. +unit.emanate.description = Costruisce strutture per difendere il nucleo dell'Acropoli. Ripara le strutture con le travi. +lst.read = Leggi un numero da una cella di memoria collegata. +lst.write = Scrivi un numero in una cella di memoria collegata. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 7b43e80516..e7f7f5f09c 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -1,6 +1,6 @@ credits.text = 制作者 [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = クレジット -contributors = 翻訳や開発ã«å”力ã—ã¦ãã ã•ã£ãŸæ–¹ã€… +contributors = 翻訳や開発ã«å”力ã—ã¦ãã ã•ã£ãŸçš†æ§˜ discord = Mindustryã®Discordã«å‚加! link.discord.description = Mindustryã®å…¬å¼Discordグループ link.reddit.description = Mindustryã®subreddit @@ -13,7 +13,8 @@ link.google-play.description = Google Play ストアを開ã link.f-droid.description = F-Droid ã‚’é–‹ã link.wiki.description = å…¬å¼ Mindustry Wiki link.suggestions.description = æ–°æ©Ÿèƒ½ã‚’ææ¡ˆã™ã‚‹ -link.bug.description = Found one? Report it here +link.bug.description = ãƒã‚°ã‚’見ã¤ã‘ã¾ã—ãŸã‹ï¼Ÿãœã²ã“ã“ã‹ã‚‰å ±å‘Šã—ã¦ä¸‹ã•ã„。 +linkopen = ã“ã®ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰ãƒªãƒ³ã‚¯ãŒé€ä¿¡ã•れã¾ã—ãŸã€‚é–‹ãã¾ã™ã‹ï¼Ÿ\n\n[sky]{0} linkfail = リンクを開ã‘ã¾ã›ã‚“ã§ã—ãŸ!\nURLをクリップボードã«ã‚³ãƒ”ーã—ã¾ã—ãŸã€‚ screenshot = スクリーンショットを {0} ã«ä¿å­˜ã—ã¾ã—ãŸã€‚ screenshot.invalid = マップãŒåºƒã™ãŽã¾ã™ã€‚スクリーンショットã«å¿…è¦ãªãƒ¡ãƒ¢ãƒªãŒè¶³ã‚Šãªã„å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ @@ -23,8 +24,7 @@ gameover.pvp = [accent] {0}[] ãƒãƒ¼ãƒ ã®å‹åˆ©! gameover.waiting = [accent]次ã®ãƒžãƒƒãƒ—ã‚’å¾…ã£ã¦ã„ã¾ã™... highscore = [accent]ãƒã‚¤ã‚¹ã‚³ã‚¢ã‚’æ›´æ–°! copied = コピーã—ã¾ã—ãŸã€‚ -indev.notready = This part of the game isn't ready yet -indev.campaign = [accent]Congratulations! You've reached the end of the campaign![]\n\nThis is as far as the content goes right now. Interplanetary travel will be added in future updates. +indev.notready = ゲームã®ã“ã®è¦ç´ ã¯ã¾ã æº–備中ã§ã™ load.sound = サウンド load.map = マップ @@ -32,7 +32,7 @@ load.image = ç”»åƒ load.content = コンテンツ load.system = システム load.mod = MOD -load.scripts = Scripts +load.scripts = スクリプト be.update = æ–°ã—ã„Bleeding EdgeビルドãŒã‚りã¾ã™: be.update.confirm = ダウンロードã—ã¦å†èµ·å‹•ã—ã¾ã™ã‹ï¼Ÿ @@ -41,14 +41,23 @@ be.ignore = 無視ã™ã‚‹ be.noupdates = æ›´æ–°ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 be.check = 更新を確èªã—ã¾ã™ã€‚ -mod.featured.dialog.title = Mod ブラウザー (作業中) -mods.browser.selected = é¸æŠžã•れãŸmod +mods.browser = Modブラウザ +mods.browser.selected = é¸æŠžã•れãŸMod mods.browser.add = インストール +mods.browser.reinstall = å†ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ« +mods.browser.view-releases = リリースを表示 +mods.browser.noreleases = [scarlet]リリースãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“\n[accent]ã“ã®modã®ãƒªãƒªãƒ¼ã‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€‚modã®ãƒªãƒã‚¸ãƒˆãƒªã«ãƒªãƒªãƒ¼ã‚¹ãŒå…¬é–‹ã•れã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’確èªã—ã¦ãã ã•ã„。 +mods.browser.latest = <最新> +mods.browser.releases = リリース mods.github.open = 見る +mods.github.open-release = リリースページ +mods.browser.sortdate = æ–°ã—ã„ã‚‚ã®ã‹ã‚‰ä¸¦ã¹ã‚‹ +mods.browser.sortstars = ãŠæ°—ã«å…¥ã‚Šæ•°ã§ä¸¦ã¹ã‚‹ schematic = 設計図 schematic.add = 設計図をä¿å­˜ schematics = 設計図一覧 +schematic.search = Search schematics... schematic.replace = ãã®åå‰ã®è¨­è¨ˆå›³ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚上書ãã—ã¾ã™ã‹ï¼Ÿ schematic.exists = ãã®åå‰ã®è¨­è¨ˆå›³ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚ schematic.import = 設計図をインãƒãƒ¼ãƒˆ @@ -61,28 +70,37 @@ schematic.shareworkshop = ワークショップã§å…±æœ‰ã™ã‚‹ schematic.flip = [accent][[{0}][]/[accent][[{1}][]: å転 schematic.saved = 設計図をä¿å­˜ã—ã¾ã—ãŸã€‚ schematic.delete.confirm = ã“ã®è¨­è¨ˆå›³ã¯å®Œå…¨ã«å‰Šé™¤ã•れã¾ã™ã€‚よã‚ã—ã„ã§ã™ã‹ -schematic.rename = 設計図ã®åå‰ã‚’変更ã™ã‚‹ã€‚ +schematic.edit = Edit Schematic schematic.info = {1}x{0}, {2} ブロック schematic.disabled = [scarlet]設計図使用ä¸å¯[]\nã“ã®[accent]マップ[]ã€[accent]サーãƒãƒ¼[]ã§ã¯è¨­è¨ˆå›³ã®ä½¿ç”¨ã¯è¨±å¯ã•れã¦ã„ã¾ã›ã‚“。 +schematic.tags = ã‚¿ã‚°: +schematic.edittags = タグ編集 +schematic.addtag = タグを追加 +schematic.texttag = テキストタグ +schematic.icontag = アイコンタグ +schematic.renametag = ã‚¿ã‚°ã®åå‰å¤‰æ›´ +schematic.tagged = {0} tagged +schematic.tagdelconfirm = ã“ã®ã‚¿ã‚°ã‚’ã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã‹ï¼Ÿ +schematic.tagexists = ã“ã®ã‚¿ã‚°ã¯ã™ã§ã«å­˜åœ¨ã—ã¾ã™ã€‚ -stats = Stats -stat.wave = 防衛ã—ãŸã‚¦ã‚§ãƒ¼ãƒ–:[accent] {0} -stat.enemiesDestroyed = 敵ã«ç ´å£Šã•ã‚ŒãŸæ•°:[accent] {0} -stat.built = 建設ã—ãŸå»ºé€ ç‰©æ•°:[accent] {0} -stat.destroyed = 破壊ã—ãŸå»ºé€ ç‰©æ•°:[accent] {0} -stat.deconstructed = 解体ã—ãŸå»ºé€ ç‰©æ•°:[accent] {0} -stat.delivered = ç²å¾—ã—ãŸè³‡æº: -stat.playtime = プレイ時間:[accent] {0} -stat.rank = 最終ランク: [accent]{0} +stats = 戦績 +stats.wave = 防衛ã—ãŸã‚¦ã‚§ãƒ¼ãƒ– +stats.unitsCreated = 製造ã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆ +stats.enemiesDestroyed = 破壊ã—ãŸæ•µ +stats.built = 建造ã—ãŸå»ºç‰© +stats.destroyed = 破壊ã•れãŸå»ºç‰© +stats.deconstructed = 解体ã—ãŸå»ºç‰© +stats.playtime = プレイ時間 -globalitems = [accent]グローãƒãƒ«ã‚¢ã‚¤ãƒ†ãƒ  +globalitems = [accent]トータルアイテム map.delete = マップ "[accent]{0}[]" を削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? level.highscore = ãƒã‚¤ã‚¹ã‚³ã‚¢: [accent]{0} level.select = ãƒ¬ãƒ™ãƒ«é¸æŠž level.mode = ゲームモード: coreattack = < ã‚³ã‚¢ãŒæ”»æ’ƒã‚’å—ã‘ã¦ã„ã¾ã™! > nearpoint = [[ [scarlet]ç›´ã¡ã«å‡ºç¾ãƒã‚¤ãƒ³ãƒˆã‚ˆã‚Šé›¢è„±ã›ã‚ˆ[] ]\n殲滅ã•れã¾ã™ -database = コアデーターベース +database = コアデータベース +database.button = データベース savegame = ä¿å­˜ loadgame = 読ã¿è¾¼ã‚€ joingame = マルãƒãƒ—レイ @@ -90,6 +108,7 @@ customgame = カスタムプレイ newgame = æ–°ã—ãå§‹ã‚ã‚‹ none = <ãªã—> none.found = [lightgray]<見ã¤ã‹ã‚Šã¾ã›ã‚“> +none.inmap = [lightgray]<マップ内ã«ã‚りã¾ã›ã‚“> minimap = ミニマップ position = ä½ç½® close = é–‰ã˜ã‚‹ @@ -110,24 +129,39 @@ committingchanges = 変更をé©å¿œä¸­ done = 完了 feature.unsupported = ã‚ãªãŸã®ãƒ‡ãƒã‚¤ã‚¹ã¯ã“ã®æ©Ÿèƒ½ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。 -mods.alphainfo = Mod機能ã¯å®Ÿé¨“çš„ãªã‚‚ã®ã§ã™ã€‚[scarlet] エラーãŒå«ã¾ã‚Œã¦ã„ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™[]。\n å•題を発見ã—ãŸå ´åˆã¯ Mindustry GitHubã«å ±å‘Šã—ã¦ãã ã•ã„。 +mods.initfailed = [red]âš [] 以å‰ã®Mindustryã®åˆæœŸåŒ–ã«å¤±æ•—ã—ã¾ã—ãŸã€‚\nãŠãらãModã®èª¤ä½œå‹•ãŒåŽŸå› ã§ã™ã€‚\n\nクラッシュループを防ããŸã‚ã«ã€[red]å…¨ã¦ã®ModãŒç„¡åйã«ãªã£ã¦ã„ã¾ã™ã€‚[] mods = Mods mods.none = [lightgray]ModãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ! mods.guide = Mod作æˆã‚¬ã‚¤ãƒ‰ mods.report = ãƒã‚°ã‚’報告ã™ã‚‹ -mods.openfolder = MODã®ãƒ•ォルダを開ã +mods.openfolder = Modフォルダを開ã +mods.viewcontent = コンテンツを見る mods.reload = å†èª­ã¿è¾¼ã¿ mods.reloadexit = Modを読ã¿è¾¼ã‚€ç‚ºã«ã‚²ãƒ¼ãƒ ã‚’å†èµ·å‹•ã—ã¾ã™ã€‚ +mod.installed = [[インストール済ã¿] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]有効 mod.disabled = [scarlet]無効 +mod.multiplayer.compatible = [gray]マルãƒãƒ—レイã«å¯¾å¿œ mod.disable = 無効化 +mod.version = Version: mod.content = コンテンツ: -mod.delete.error = MODを削除ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ -mod.requiresversion = [scarlet]ModãŒè¦æ±‚ã™ã‚‹æœ€ä½Žãƒãƒ¼ã‚¸ãƒ§ãƒ³: [accent]{0} -mod.outdated = [scarlet]V6 ã¨ã®äº’æ›æ€§ãŒã‚りã¾ã›ã‚“ (minGameVersion ㌠105 未満) -mod.missingdependencies = [scarlet]ä¾å­˜é–¢ä¿‚ãŒã‚りã¾ã›ã‚“。: {0} +mod.delete.error = Modを削除ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ +mod.incompatiblegame = [red]æ—§ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç”¨ +mod.incompatiblemod = [red]éžå¯¾å¿œ +mod.blacklisted = [red]未対応 +mod.unmetdependencies = [red]ä¾å­˜é–¢ä¿‚エラー mod.erroredcontent = [scarlet]コンテンツエラー +mod.circulardependencies = [red]循環ä¾å­˜ +mod.incompletedependencies = [red]ä¸å®Œå…¨ãªä¾å­˜é–¢ä¿‚ +mod.requiresversion.details = ゲームã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¿…è¦ã§ã™: [accent]{0}[]\nã‚ãªãŸã®ã‚²ãƒ¼ãƒ ã¯å¤ããªã£ã¦ã„ã¾ã™ã€‚ã“ã®modãŒæ©Ÿèƒ½ã™ã‚‹ã«ã¯ã€ã‚²ãƒ¼ãƒ ã®æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ (ãŠãらãベータ/アルファリリース) ãŒå¿…è¦ã§ã™ã€‚ +mod.outdatedv7.details = ã“ã®modã¯ã‚²ãƒ¼ãƒ ã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨äº’æ›æ€§ãŒã‚りã¾ã›ã‚“。 mod製作者ã¯v7ã«å¯¾å¿œã—ãŸã‚ã¨ã€[accent]minGameVersion: 136[] ã‚’ [accent]mod.json[] ファイルã«è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ +mod.blacklisted.details = ã“ã®modã¯ã€ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ã‚²ãƒ¼ãƒ ã§ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã‚„ãã®ä»–ã®å•題を引ãèµ·ã“ã™ãŸã‚ã€æ‰‹å‹•ã§ãƒ–ラックリストã«ç™»éŒ²ã•れã¦ã„ã¾ã™ã€‚ 使用ã—ãªã„ã§ãã ã•ã„。 +mod.missingdependencies.details = ã“ã® mod ã¯æ¬¡ã® mod ã‚’å¿…è¦ã¨ã—ã¦ã„ã¾ã™: {0} +mod.erroredcontent.details = ã“ã®ã‚²ãƒ¼ãƒ ã¯ã€èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚modã®ä½œæˆè€…ã«ä¿®æ­£ã‚’ä¾é ¼ã—ã¦ãã ã•ã„。 +mod.circulardependencies.details = ã“ã® mod ã«ã¯ã€ç›¸äº’ã«ä¾å­˜ã™ã‚‹ä¾å­˜é–¢ä¿‚ãŒã‚りã¾ã™ã€‚ +mod.incompletedependencies.details = ä¾å­˜é–¢ä¿‚ãŒç„¡åйã¾ãŸã¯æ¬ æã—ã¦ã„ã‚‹ãŸã‚ã€ã“ã® mod をロードã§ãã¾ã›ã‚“: {0}。 +mod.requiresversion = ゲームã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå¿…è¦ã§ã™: [red]{0} mod.errors = コンテンツã®èª­ã¿è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ mod.noerrorplay = [scarlet]以下ã®Modã«ã‚¨ãƒ©ãƒ¼ãŒã‚りã¾ã™ã€‚[] Modを無効化ã™ã‚‹ã‹ã€ã‚¨ãƒ©ãƒ¼ã‚’修正ã—ã¦ãã ã•ã„。 mod.nowdisabled = [scarlet]{0} ä¾å­˜é–¢ä¿‚ãŒã‚りã¾ã›ã‚“。:[accent] {1}\n[lightgray]ã“れらã®Modã‚’ãƒ€ã‚¦ãƒ³ãƒ­ãƒ¼ãƒ‰ã—æœ‰åŠ¹åŒ–ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚\nãªãŠã€ã“ã®Modã¯è‡ªå‹•çš„ã«ç„¡åŠ¹åŒ–ã•れã¾ã™ã€‚ @@ -149,14 +183,23 @@ mod.scripts.disable = ãŠä½¿ã„ã®ãƒ‡ãƒã‚¤ã‚¹ã¯Scriptを使用ã—ãŸModをサ about.button = 情報 name = åå‰: noname = [accent]プレイヤーå[]を入力ã—ã¦ãã ã•ã„。 +search = 検索: planetmap = 惑星地図 launchcore = コアを打ã¡ä¸Šã’ã‚‹ filename = ファイルå: unlocked = æ–°ã—ã„è¦ç´ ã‚’アンロック! available = æ–°ã—ã„研究ãŒåˆ©ç”¨å¯èƒ½ã§ã™! +unlock.incampaign = < 詳細ã¯ã‚­ãƒ£ãƒ³ãƒšãƒ¼ãƒ³ã§ã‚¢ãƒ³ãƒ­ãƒƒã‚¯ã—ã¦ãã ã•ã„ > +campaign.select = é–‹å§‹ã™ã‚‹ã‚­ãƒ£ãƒ³ãƒšãƒ¼ãƒ³ã‚’é¸æŠž +campaign.none = [lightgray]キャンペーンを始ã‚る惑星をé¸ã‚“ã§ãã ã•ã„。\n惑星ã¯ã„ã¤ã§ã‚‚変更å¯èƒ½ã§ã™ã€‚ +campaign.erekir = より新ã—ãã€ã‚ˆã‚Šæ´—ç·´ã•れãŸã‚³ãƒ³ãƒ†ãƒ³ãƒ„。 ã»ã¼ä¸€è²«ã—ã¦é€²è¡Œã™ã‚‹ã‚­ãƒ£ãƒ³ãƒšãƒ¼ãƒ³ã€‚\n\n高å“質ã®ãƒžãƒƒãƒ—ã¨ç·åˆçš„ãªä½“験。 +campaign.serpulo = 昔ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„。クラシックãªä½“験。より自由ãªç™ºæƒ³ã€‚\n\nマップやキャンペーンã®ä»•組ã¿ãŒã‚¢ãƒ³ãƒãƒ©ãƒ³ã‚¹ã«ãªã‚‹å¯èƒ½æ€§ãŒã‚りã€ã‚ã¾ã‚Šæ´—ç·´ã•れã¦ãªã„。 +campaign.difficulty = Difficulty completed = [accent]完了 techtree = テックツリー -research.legacy = [accent]5.0[] ã®ç ”究データãŒè¦‹ã¤ã‹ã‚Šã¾ã—ãŸã€‚\n[accent]ã“ã®ãƒ‡ãƒ¼ã‚¿ã‚’読ã¿è¾¼ã¿ã¾ã™ã‹?[] ãれã¨ã‚‚ã€[accent]破棄ã—ã¦æ–°ã—ã„キャンペーンã§ç ”究をやり直ã—ã¾ã™ã‹?[](推奨) +techtree.select = テックツリーã®é¸æŠž +techtree.serpulo = セルプロ +techtree.erekir = エレキル research.load = ロード research.discard = 破棄 research.list = [lightgray]研究: @@ -168,7 +211,7 @@ players.single = {0} 人ãŒã‚ªãƒ³ãƒ©ã‚¤ãƒ³ players.search = 検索 players.notfound = [gray]プレイヤーãŒå­˜åœ¨ã—ã¾ã›ã‚“ server.closing = [accent]サーãƒãƒ¼ã‚’é–‰ã˜ã¦ã„ã¾ã™... -server.kicked.kick = ã‚ãªãŸã¯ã‚µãƒ¼ãƒã‹ã‚‰ã‚­ãƒƒã‚¯ã•れã¾ã—ãŸ! +server.kicked.kick = ã‚ãªãŸã¯ã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰ã‚­ãƒƒã‚¯ã•れã¾ã—ãŸ! server.kicked.whitelist = ã‚ãªãŸã¯ãƒ›ãƒ¯ã‚¤ãƒˆãƒªã‚¹ãƒˆã«è¿½åŠ ã•れã¦ã„ã¾ã›ã‚“。 server.kicked.serverClose = サーãƒãƒ¼ãŒé–‰ã˜ã‚‰ã‚Œã¾ã—ãŸã€‚ server.kicked.vote = ã‚ãªãŸã¯ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®æŠ•ç¥¨ã«ã‚ˆã‚Šã‚µãƒ¼ãƒãƒ¼ã‹ã‚‰ã‚­ãƒƒã‚¯ã•れã¾ã—ãŸã€‚ @@ -200,6 +243,7 @@ hosts.none = [lightgray]ローカル上ã®ã‚µãƒ¼ãƒãƒ¼ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ host.invalid = [scarlet]ãƒ›ã‚¹ãƒˆã«æŽ¥ç¶šã§ãã¾ã›ã‚“。 servers.local = ローカルサーãƒãƒ¼ +servers.local.steam = オープンゲーム & ローカルサーãƒãƒ¼ servers.remote = リモートサーãƒãƒ¼ servers.global = コミュニティサーãƒãƒ¼ @@ -207,14 +251,25 @@ servers.disclaimer = コミュニティサーãƒãƒ¼ã¯ã€[accent]é–‹ç™ºè€…ãŒæ‰€ servers.showhidden = éžè¡¨ç¤ºã®ã‚µãƒ¼ãƒãƒ¼ã‚’表示ã™ã‚‹ server.shown = 表示 server.hidden = éžè¡¨ç¤º +viewplayer = プレーヤーを表示: [accent]{0} trace = プレイヤーã®è¨˜éŒ² trace.playername = プレイヤーå: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = ユニークID: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = モãƒã‚¤ãƒ«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ: [accent]{0} trace.modclient = カスタムクライアント: [accent]{0} +trace.times.joined = å‚加回数: [accent]{0} +trace.times.kicked = キックã•れãŸå›žæ•°: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = 無効ãªã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆIDã§ã™! ãƒã‚°å ±å‘Šã—ã¦ãã ã•ã„。 +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Ban server.bans.none = Banã•れãŸãƒ—レイヤーã¯è¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ! server.admins = 管ç†è€… @@ -228,10 +283,11 @@ server.version = [lightgray]ãƒãƒ¼ã‚¸ãƒ§ãƒ³: {0} {1} server.custombuild = [accent]カスタムビルド confirmban = {0} ã‚’Banã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? confirmkick = {0} をキックã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? -confirmvotekick = {0} を投票キックã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? confirmunban = ã“ã®ãƒ—レイヤーã®Banを解除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? confirmadmin = {0} を管ç†è€…ã«ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? confirmunadmin = {0} を管ç†è€…ã‹ã‚‰å‰Šé™¤ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = サーãƒãƒ¼ã«å‚加 joingame.ip = アドレス: disconnect = 接続ãŒåˆ‡æ–­ã•れã¾ã—ãŸã€‚ @@ -239,16 +295,18 @@ disconnect.error = 接続ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€‚ disconnect.closed = 接続ãŒåˆ‡æ–­ã•れã¾ã—ãŸã€‚ disconnect.timeout = タイムアウトã—ã¾ã—ãŸã€‚ disconnect.data = ワールドデータã®èª­ã¿è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = ゲームã«å‚加ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚ ([accent]{0}[]) connecting = [accent]接続中... reconnecting = [accent]å†æŽ¥ç¶šä¸­... connecting.data = [accent]ワールドデータを読ã¿è¾¼ã¿ä¸­... server.port = ãƒãƒ¼ãƒˆ: -server.addressinuse = アドレスãŒã™ã§ã«ä½¿ç”¨ã•れã¦ã„ã¾ã™! server.invalidport = 無効ãªãƒãƒ¼ãƒˆç•ªå·ã§ã™! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]サーãƒãƒ¼ã®ãƒ›ã‚¹ãƒˆã‚¨ãƒ©ãƒ¼: [accent]{0} save.new = æ–°è¦ä¿å­˜ save.overwrite = ã“ã®ã‚¹ãƒ­ãƒƒãƒˆã«ä¸Šæ›¸ãã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? +save.nocampaign = キャンペーンã®å€‹åˆ¥ã®ã‚»ãƒ¼ãƒ–ファイルをインãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 overwrite = 上書ã save.none = セーブデータãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ! savefail = ゲームã®ä¿å­˜ã«å¤±æ•—ã—ã¾ã—ãŸ! @@ -269,6 +327,7 @@ save.corrupted = [accent]セーブファイルãŒç„¡åйã€ã¾ãŸã¯ç ´æã—ã¾ empty = <空> on = オン off = オフ +save.search = セーブデータを検索... save.autosave = 自動ä¿å­˜: {0} save.map = マップ: {0} save.wave = ウェーブ {0} @@ -284,9 +343,30 @@ ok = OK open = é–‹ã customize = カスタマイズ cancel = キャンセル +command = コマンド +command.queue = [lightgray][Queuing] +command.mine = 採掘 +command.repair = 修復 +command.rebuild = å†å»ºç¯‰ +command.assist = プレイヤーをアシスト +command.move = 移動 +command.boost = ブースト +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = リンクを開ã copylink = リンクをコピー back = 戻る +max = 最大 +objective = 地図上ã®ç›®çš„地 crash.export = クラッシュログを出力 crash.none = クラッシュログãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“。 crash.exported = クラッシュログを出力ã—ã¾ã—ãŸã€‚ @@ -297,25 +377,27 @@ data.exported = ゲームデータをエクスãƒãƒ¼ãƒˆã—ã¾ã—ãŸã€‚ data.invalid = ã“ã‚Œã¯æœ‰åйãªã‚²ãƒ¼ãƒ ãƒ‡ãƒ¼ã‚¿ã§ã¯ã‚りã¾ã›ã‚“。 data.import.confirm = ゲームデータをインãƒãƒ¼ãƒˆã™ã‚‹ã¨ã€ç¾åœ¨ã®ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ãŒå‰Šé™¤ã•れã¾ã™ã€‚\n[accent]ã“れã¯å…ƒã«æˆ»ã›ã¾ã›ã‚“![]\n\nインãƒãƒ¼ãƒˆãŒå®Œäº†ã™ã‚‹ã¨ã€ã‚²ãƒ¼ãƒ ã¯çµ‚了ã—ã¾ã™ã€‚ quit.confirm = 終了ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? -quit.confirm.tutorial = ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’終了ã—ã¾ã™ã‹?\nãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¯ [accent]設定->ゲーム->ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«[] ã‹ã‚‰å†åº¦å—ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ loading = [accent]読ã¿è¾¼ã¿ä¸­... -reloading = [accent]å†èª­ã¿è¾¼ã¿ä¸­... +downloading = [accent]ダウンロード中... saving = [accent]ä¿å­˜ä¸­... -respawn = [accent][[{0}][] to respawn in core +respawn = [accent][[{0}][] コアã‹ã‚‰ãƒªã‚¹ãƒãƒ¼ãƒ³ã™ã‚‹ cancelbuilding = [accent][[{0}][] é¸æŠžã‚’è§£é™¤ã™ã‚‹ selectschematic = [accent][[{0}][] é¸æŠžã—ã€ã‚³ãƒ”ーã™ã‚‹ pausebuilding = [accent][[{0}][] 建築を一時的ã«ä¸­æ–­ã™ã‚‹ resumebuilding = [scarlet][[{0}][] 建築をå†é–‹ã™ã‚‹ -showui = UI hidden.\nPress [accent][[{0}][] to show UI. +enablebuilding = [scarlet][[{0}][] 建築をå¯èƒ½ã«ã™ã‚‹ +showui = UI éžè¡¨ç¤º.\nUIを表示ã™ã‚‹ã«ã¯[accent][[{0}][] を押下 +commandmode.name = [accent]コマンドモード +commandmode.nounits = [no units] wave = [accent]ウェーブ {0} -wave.cap = [accent]Wave {0}/{1} +wave.cap = [accent]ウェーブ {0}/{1} wave.waiting = [lightgray]次ã®ã‚¦ã‚§ãƒ¼ãƒ–ã¾ã§ {0} ç§’ wave.waveInProgress = [lightgray]ウェーブ進行中 waiting = [lightgray]待機中... waiting.players = プレイヤーを待ã£ã¦ã„ã¾ã™... wave.enemies = [lightgray]æ•µã¯æ®‹ã‚Š {0} 体 -wave.enemycores = [accent]{0}[lightgray] Enemy Cores -wave.enemycore = [accent]{0}[lightgray] Enemy Core +wave.enemycores = [accent]{0}[lightgray] 敵性コア +wave.enemycore = [accent]{0}[lightgray] 敵性コア wave.enemy = [lightgray]æ•µã¯æ®‹ã‚Š {0} 体 wave.guardianwarn = [red][[警告][]ガーディアンãŒã‚㨠[accent]{0}[] ã‚¦ã‚§ãƒ¼ãƒ–ã§æ¥ã¾ã™ã€‚ wave.guardianwarn.one = [red][[警告][]ガーディアンãŒã‚㨠[accent]{0}[] ã‚¦ã‚§ãƒ¼ãƒ–ã§æ¥ã¾ã™ã€‚ @@ -326,9 +408,9 @@ custom = カスタム builtin = 組ã¿è¾¼ã¿ map.delete.confirm = マップを削除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? ã“れã¯å…ƒã«æˆ»ã™ã“ã¨ãŒã§ãã¾ã›ã‚“! map.random = [accent]ランダムマップ -map.nospawn = ã“ã®ãƒžãƒƒãƒ—ã«ã¯ãƒ—レイヤーãŒå‡ºç¾ã™ã‚‹ãŸã‚ã®ã‚³ã‚¢ãŒã‚りã¾ã›ã‚“! エディターã§[accent]オレンジ色[]ã®ã‚³ã‚¢ã‚’マップã«è¿½åŠ ã—ã¦ãã ã•ã„。 +map.nospawn = ã“ã®ãƒžãƒƒãƒ—ã«ã¯ãƒ—レイヤーãŒå‡ºç¾ã™ã‚‹ãŸã‚ã®ã‚³ã‚¢ãŒã‚りã¾ã›ã‚“! エディターã§{0}ã®ã‚³ã‚¢ã‚’マップã«è¿½åŠ ã—ã¦ãã ã•ã„。 map.nospawn.pvp = ã“ã®ãƒžãƒƒãƒ—ã«ã¯æ•µã®ãƒ—レイヤーãŒå‡ºç¾ã™ã‚‹ãŸã‚ã®ã‚³ã‚¢ãŒã‚りã¾ã›ã‚“! エディターã§[scarlet]オレンジ色ã§ã¯ãªã„[]コアをマップã«è¿½åŠ ã—ã¦ãã ã•ã„。 -map.nospawn.attack = ã“ã®ãƒžãƒƒãƒ—ã«ã¯æ”»æ’ƒã™ã‚‹ãŸã‚ã®æ•µã®ã‚³ã‚¢ãŒã‚りã¾ã›ã‚“! エディターã§[scarlet]赤色[]ã®ã‚³ã‚¢ã‚’マップã«è¿½åŠ ã—ã¦ãã ã•ã„。 +map.nospawn.attack = ã“ã®ãƒžãƒƒãƒ—ã«ã¯æ”»æ’ƒã™ã‚‹ãŸã‚ã®æ•µã®ã‚³ã‚¢ãŒã‚りã¾ã›ã‚“! エディターã§{0}ã®ã‚³ã‚¢ã‚’マップã«è¿½åŠ ã—ã¦ãã ã•ã„。 map.invalid = マップã®èª­ã¿è¾¼ã¿ã‚¨ãƒ©ãƒ¼: ファイルãŒç„¡åйã€ã¾ãŸã¯ç ´æã—ã¦ã„ã¾ã™ã€‚ workshop.update = æ›´æ–° workshop.error = ワークショップã®è©³ç´°ã‚’å–得中ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ: {0} @@ -336,13 +418,18 @@ map.publish.confirm = 本当ã«ã“ã®ãƒžãƒƒãƒ—を公開ã—ã¾ã™ã‹?\n\n[lightgr workshop.menu = ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã«å¯¾ã—ã¦è¡Œã†æ“ä½œã‚’é¸æŠžã—ã¦ãã ã•ã„。 workshop.info = アイテムã®è©³ç´° changelog = 更新履歴 (オプション): +updatedesc = Overwrite Title & Description eula = Steamã®ä½¿ç”¨è¨±è«¾å¥‘ç´„ missing = ã“ã®ã‚¢ã‚¤ãƒ†ãƒ ã¯å‰Šé™¤ã¾ãŸã¯ç§»å‹•ã•れã¦ã„ã¾ã™ã€‚\n[lightgray]ワークショップã®ãƒªã‚¹ãƒˆã¯è‡ªå‹•çš„ã«ãƒªãƒ³ã‚¯è§£é™¤ã•れã¾ã—ãŸã€‚ publishing = [accent]公開中... publish.confirm = 公開ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ\n\n[lightgray]最åˆã«ã€ãƒ¯ãƒ¼ã‚¯ã‚·ãƒ§ãƒƒãƒ—ã®ä½¿ç”¨è¨±è«¾å¥‘ç´„ã«åŒæ„ã™ã‚‹ã‹ç¢ºèªã—ã¦ãã ã•ã„。 publish.error = 公開中ã®ã‚¨ãƒ©ãƒ¼: {0} steam.error = Steam サービスã®åˆæœŸåŒ–ã«å¤±æ•—ã—ã¾ã—ãŸã€‚\nエラー: {0} +editor.planet = 惑星: +editor.sector = セクター: +editor.seed = シード値: +editor.cliffs = å£ã‚’å´–ã«ã™ã‚‹ editor.brush = ブラシ editor.openin = エディターã§é–‹ã editor.oregen = 鉱石ã®ç”Ÿæˆ @@ -354,36 +441,72 @@ editor.nodescription = マップを公開ã™ã‚‹ã«ã¯ã€å°‘ãªãã¨ã‚‚4文字 editor.waves = ウェーブ: editor.rules = ルール: editor.generation = 生æˆ: +editor.objectives = オブジェクティブ +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = ゲーム内ã§ç·¨é›†ã™ã‚‹ +editor.playtest = Playtest editor.publish.workshop = ワークショップã§å…¬é–‹ editor.newmap = æ–°ã—ã„マップ -editor.center = Center +editor.center = 中心 +editor.search = マップを検索... +editor.filters = マップをフィルターã™ã‚‹ +editor.filters.mode = ゲームモード: +editor.filters.type = マップタイプ: +editor.filters.search = 検索: +editor.filters.author = 作者 +editor.filters.description = 説明 +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = ワークショップ waves.title = ウェーブ waves.remove = 削除 -waves.never = <永久> waves.every = ウェーブ waves.waves = ã”ã¨ã«å‡ºç¾ +waves.health = health: {0}% waves.perspawn = ä½“å‡ºç¾ waves.shields = シールド/ウェーブ waves.to = ã‹ã‚‰ +waves.spawn = スãƒãƒ¼ãƒ³: +waves.spawn.all = +waves.spawn.select = スãƒãƒ¼ãƒ³é¸æŠž +waves.spawn.none = [scarlet] マップã«ã‚¹ãƒãƒ¼ãƒ³åœ°ç‚¹ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ +waves.max = 最大ユニット数 waves.guardian = ガーディアン waves.preview = プレビュー waves.edit = 編集... +waves.random = ランダム waves.copy = クリップボードã«ã‚³ãƒ”ー waves.load = クリップボードã‹ã‚‰èª­ã¿è¾¼ã‚€ waves.invalid = クリップボードã®ã‚¦ã‚§ãƒ¼ãƒ–ã¯ç„¡åйãªã‚¦ã‚§ãƒ¼ãƒ–ã§ã™ã€‚ waves.copied = ウェーブをコピーã—ã¾ã—ãŸã€‚ waves.none = 敵ãŒå®šç¾©ã•れã¦ã„ã¾ã›ã‚“。\n空ã®ã‚¦ã‚§ãƒ¼ãƒ–レイアウトã¯ãƒ‡ãƒ•ォルトã®ãƒ¬ã‚¤ã‚¢ã‚¦ãƒˆã«è‡ªå‹•çš„ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚ +waves.sort = 昇順 +waves.sort.reverse = é™é † +waves.sort.begin = é–‹å§‹ +waves.sort.health = 体力 +waves.sort.type = タイプ +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = ã™ã¹ã¦éžè¡¨ç¤º +waves.units.show = ã™ã¹ã¦è¡¨ç¤º -#these are intentionally in lower case +#these are intentionally in lower case = #these are intentionally in lower case wavemode.counts = æ•° wavemode.totals = ç·æ•° wavemode.health = ç·ä½“力 +all = All editor.default = [lightgray]<デフォルト> details = 詳細... edit = 編集... +variables = 変数 +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = åå‰: editor.spawn = ユニットを出㙠editor.removeunit = ユニットを消㙠@@ -395,13 +518,19 @@ editor.errorlegacy = ã“ã®ãƒžãƒƒãƒ—ã¯å¤ã„ã§ã™ã€‚今後ã€å¤ã„マップ editor.errornot = ã“れã¯ãƒžãƒƒãƒ—ファイルã§ã¯ã‚りã¾ã›ã‚“。 editor.errorheader = ã“ã®ãƒžãƒƒãƒ—ファイルã¯ç„¡åйã¾ãŸã¯ç ´æã—ã¦ã„ã¾ã™ã€‚ editor.errorname = マップã«åå‰ãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“。 +editor.errorlocales = Error reading invalid locale bundles. editor.update = æ›´æ–° editor.randomize = ランダム +editor.moveup = 上ã«ç§»å‹• +editor.movedown = 下ã«ç§»å‹• +editor.copy = コピー editor.apply = é©ç”¨ editor.generate = ç”Ÿæˆ +editor.sectorgenerate = ã‚»ã‚¯ã‚¿ãƒ¼ã‚’ç”Ÿæˆ editor.resize = リサイズ editor.loadmap = マップを読ã¿è¾¼ã‚€ editor.savemap = マップをä¿å­˜ +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = ä¿å­˜ã—ã¾ã—ãŸ! editor.save.noname = マップã«åå‰ãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“! メニュー㮠'マップ情報' ã‹ã‚‰è¨­å®šã—ã¦ãã ã•ã„。 editor.save.overwrite = 組ã¿è¾¼ã¿ãƒžãƒƒãƒ—を上書ãã—よã†ã¨ã—ã¦ã„ã¾ã™! メニュー㮠'マップ情報' ã‹ã‚‰ç•°ãªã‚‹åå‰ã«è¨­å®šã—ã¦ãã ã•ã„。 @@ -420,7 +549,7 @@ editor.exportimage = 地形画åƒã‚’エクスãƒãƒ¼ãƒˆ editor.exportimage.description = 地形ã®ã¿ã®ãƒžãƒƒãƒ—ç”»åƒã‚’エクスãƒãƒ¼ãƒˆã™ã‚‹ editor.loadimage = 地形をインãƒãƒ¼ãƒˆ editor.saveimage = 地形をエクスãƒãƒ¼ãƒˆ -editor.unsaved = [scarlet]ä¿å­˜ã•れã¦ã„ãªã„変更ãŒã‚りã¾ã™![]\n終了ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? +editor.unsaved = [scarlet]ä¿å­˜ã•れã¦ã„ãªã„変更ã¯å¤±ã‚れã¾ã™![]\n終了ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹? editor.resizemap = マップをリサイズ editor.mapname = マップå: editor.overwrite = [accent]警告!\nã™ã§ã«å­˜åœ¨ã™ã‚‹ãƒžãƒƒãƒ—を上書ãã—ã¾ã™ã€‚ @@ -429,56 +558,85 @@ editor.exists = ã™ã§ã«åŒã˜åå‰ã®ãƒžãƒƒãƒ—ãŒå­˜åœ¨ã—ã¾ã™ã€‚ editor.selectmap = 読ã¿è¾¼ã‚€ãƒžãƒƒãƒ—ã‚’é¸æŠž: toolmode.replace = ç½®æ› -toolmode.replace.description = 固体ブロックã®ã¿ã«æãã¾ã™ã€‚ +toolmode.replace.description = åŒç³»çµ±ã®ãƒ–ロックã®ã¿ã‚’ç½®æ›ã™ã‚‹ã€‚ toolmode.replaceall = å…¨ã¦ç½®æ› -toolmode.replaceall.description = ã“ã®ãƒžãƒƒãƒ—ã«ã‚ã‚‹ã™ã¹ã¦ã®ãƒ–ãƒ­ãƒƒã‚¯ã‚’ç½®ãæ›ãˆã¾ã™ã€‚ -toolmode.orthogonal = ç›´è§’ -toolmode.orthogonal.description = ç›´è§’ã®ç·šã‚’æãã¾ã™ã€‚ +toolmode.replaceall.description = マップ内ã®åŒãƒ–ロックをã™ã¹ã¦ç½®æ›ã™ã‚‹ã€‚ +toolmode.orthogonal = 水平垂直 +toolmode.orthogonal.description = 水平もã—ãã¯åž‚ç›´ã«ç·šã‚’æãã¾ã™ã€‚ toolmode.square = 四角形 toolmode.square.description = 四角形ã®ãƒ–ラシã§ã™ã€‚ toolmode.eraseores = 鉱石消ã—ゴム -toolmode.eraseores.description = 鉱石ã®ã¿ã‚’消ã—ã¾ã™ã€‚ -toolmode.fillteams = ãƒãƒ¼ãƒ ã§åŸ‹ã‚ã‚‹ -toolmode.fillteams.description = ブロックã®ä»£ã‚りã«ãƒãƒ¼ãƒ ã§åŸ‹ã‚ã¾ã™ã€‚ -toolmode.drawteams = ãƒãƒ¼ãƒ ã‚’æã -toolmode.drawteams.description = ブロックã®ä»£ã‚りã«ãƒãƒ¼ãƒ ã‚’æãã¾ã™ã€‚ +toolmode.eraseores.description = 鉱石ã®ã¿ã‚’消ã—ã¾ã™ã€‚(敵ã®å‡ºç¾å ´æ‰€å«ã‚€) +toolmode.fillteams = ãƒãƒ¼ãƒ ã‚’変更 +toolmode.fillteams.description = ãƒ–ãƒ­ãƒƒã‚¯ã®æ‰€å±žãƒãƒ¼ãƒ ã‚’上書ãã—ã¾ã™ã€‚ +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. +toolmode.drawteams = ãƒãƒ¼ãƒ ã‚’変更 +toolmode.drawteams.description = ãƒ–ãƒ­ãƒƒã‚¯ã®æ‰€å±žãƒãƒ¼ãƒ ã‚’上書ãã—ã¾ã™ã€‚ +toolmode.underliquid = 液体タイル +toolmode.underliquid.description = 液体タイルã®ã¿ã‚’ç½®æ›ã—ã¾ã™ã€‚ filters.empty = [lightgray]フィルターãŒè¨­å®šã•れã¦ã„ã¾ã›ã‚“! 下ã®ãƒœã‚¿ãƒ³ã‹ã‚‰ãƒ•ィルターを追加ã—ã¦ãã ã•ã„。 + filter.distort = ゆãŒã¿ filter.noise = ノイズ filter.enemyspawn = 敵スãƒãƒ¼ãƒ³ã‚»ãƒ¬ã‚¯ãƒˆ -filter.spawnpath = Path To Spawn +filter.spawnpath = スãƒãƒ¼ãƒ³ã¾ã§ã®é“ filter.corespawn = コアセレクト -filter.median = メディアン -filter.oremedian = メディアン (鉱石) +filter.median = 中央値 +filter.oremedian = 中央値 (鉱石) filter.blend = ブレンド filter.defaultores = デフォルトã®é‰±çŸ³ filter.ore = 鉱石 -filter.rivernoise = リãƒãƒ¼ãƒŽã‚¤ã‚º +filter.rivernoise = å·ã®ç”Ÿæˆ filter.mirror = å転 -filter.clear = クリアー +filter.clear = クリア filter.option.ignore = 無視 filter.scatter = 分散 filter.terrain = 地形 +filter.logic = Logic + filter.option.scale = スケール filter.option.chance = 確率 filter.option.mag = マグニãƒãƒ¥ãƒ¼ãƒ‰ -filter.option.threshold = スレッシュホールド +filter.option.threshold = 閾値 filter.option.circle-scale = サークルスケール filter.option.octaves = オクターブ -filter.option.falloff = フォールオフ +filter.option.falloff = 減衰 filter.option.angle = 角度 +filter.option.tilt = 傾ã +filter.option.rotate = 回転 filter.option.amount = é‡ filter.option.block = ブロック filter.option.floor = åœ°é¢ filter.option.flooronto = 対象ã®åœ°é¢ filter.option.target = ターゲット +filter.option.replacement = ç½®æ› filter.option.wall = å£ filter.option.ore = 鉱石 filter.option.floor2 = 2番目ã®åœ°é¢ -filter.option.threshold2 = 2番目ã®ã‚¹ãƒ¬ãƒƒã‚·ãƒ¥ãƒ›ãƒ¼ãƒ«ãƒ‰ +filter.option.threshold2 = 2番目ã®é–¾å€¤ filter.option.radius = åŠå¾„ filter.option.percentile = パーセンタイル +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = å¹…: height = 高ã•: @@ -489,9 +647,10 @@ load = 読ã¿è¾¼ã‚€ save = ä¿å­˜ fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} memory = Mem: {0}mb memory2 = Mem:\n {0}mb +\n {1}mb -language.restart = ゲームをå†èµ·å‹•後ã€è¨€èªžè¨­å®šãŒæœ‰åйã«ãªã‚Šã¾ã™ã€‚ +language.restart = ゲームをå†èµ·å‹•ã™ã‚‹ã¨ã€è¨€èªžè¨­å®šãŒæœ‰åйã«ãªã‚Šã¾ã™ã€‚ settings = 設定 tutorial = ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« tutorial.retake = ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ« @@ -504,112 +663,259 @@ locked = ロック complete = [lightgray]锿ˆæ¸ˆã¿: requirement.wave = {1} ã§ã‚¦ã‚§ãƒ¼ãƒ– {0} ã«åˆ°é” requirement.core = {0} ã®æ•µã®ã‚³ã‚¢ã‚’破壊 -requirement.research = 研究 {0} -requirement.produce = ç²å¾— {0} -requirement.capture = 制圧 {0} +requirement.research = 研究: {0} +requirement.produce = ç²å¾—: {0} +requirement.capture = 制圧: {0} +requirement.onplanet = {0} ã®åˆ¶å¾¡ã‚»ã‚¯ã‚¿ãƒ¼ +requirement.onsector = セクターã«ç€é™¸: {0} launch.text = 発射 -research.multiplayer = 研究ã§ãã‚‹ã®ã¯ãƒ›ã‚¹ãƒˆã®ã¿ã§ã™ã€‚ map.multiplayer = ホストã®ã¿ãŒã‚»ã‚¯ã‚¿ãƒ¼ã‚’表示ã§ãã¾ã™ã€‚ uncover = 開放 configure = ç©ã¿è·ã®è¨­å®š +objective.research.name = 研究 +objective.produce.name = 入手 +objective.item.name = アイテム入手 +objective.coreitem.name = コアアイテム +objective.buildcount.name = ビルド数 +objective.unitcount.name = ユニット数 +objective.destroyunits.name = ユニットを破壊ã™ã‚‹ +objective.timer.name = タイマー +objective.destroyblock.name = ブロックを破壊ã™ã‚‹ +objective.destroyblocks.name = ブロックを破壊ã™ã‚‹ +objective.destroycore.name = コアを破壊ã™ã‚‹ +objective.commandmode.name = コマンドモード +objective.flag.name = フラグ +marker.shapetext.name = テキストã®å½¢ +marker.point.name = Point +marker.shape.name = 図形 +marker.text.name = 文章 +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = 背景 +marker.outline = 輪郭 +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]入手:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]破壊:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]破壊: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]入手: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]コアã¸é€ã‚‹:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]建設: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]ユニット建造: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]破壊: [][lightgray]{0}[]x ユニット +objective.enemiesapproaching = [accent]敵㌠[lightgray]{0}[] ã«æŽ¥è¿‘ä¸­ +objective.enemyescelating = [accent][lightgray]{0} ã§æ•µã®ç”Ÿç”£ãŒæ—©ããªã‚‹ã€‚[] +objective.enemyairunits = [accent][lightgray]{0} ã§æ•µã®èˆªç©ºéƒ¨éšŠã®ç”Ÿç”£ãŒå§‹ã¾ã‚‹ã€‚[] +objective.destroycore = [accent]敵ã®ã‚³ã‚¢ã‚’破壊ã™ã‚‹ +objective.command = [accent]ユニットã®åˆ¶å¾¡ +objective.nuclearlaunch = [accent]âš  æ ¸ã®ç™ºå°„ãŒæ¤œå‡ºã•れã¾ã—ãŸ: [lightgray]{0} +announce.nuclearstrike = [red]âš  æ ¸ã®æ”»æ’ƒã‚’å—ã‘ã¦ã„ã¾ã™âš  loadout = ロードアウト resources = è³‡æº +resources.max = Max bannedblocks = ç¦æ­¢ãƒ–ロック +unbannedblocks = Unbanned Blocks +objectives = オブジェクティブ +bannedunits = ç¦æ­¢ãƒ¦ãƒ‹ãƒƒãƒˆ +unbannedunits = Unbanned Units +bannedunits.whitelist = ã€Œç¦æ­¢ãƒ¦ãƒ‹ãƒƒãƒˆã€ä»¥å¤–ã‚’ç¦æ­¢ã™ã‚‹ï¼ˆãƒ›ãƒ¯ã‚¤ãƒˆãƒªã‚¹ãƒˆï¼‰ +bannedblocks.whitelist = ã€Œç¦æ­¢ãƒ–ロックã€ä»¥å¤–ã‚’ç¦æ­¢ã™ã‚‹ï¼ˆãƒ›ãƒ¯ã‚¤ãƒˆãƒªã‚¹ãƒˆï¼‰ addall = ã™ã¹ã¦è¿½åŠ  launch.from = [accent]{0}[] ã‹ã‚‰ã®ç™ºå°„ -launch.destination = Destination: {0} +launch.capacity = 発射アイテム容é‡: [accent]{0} +launch.destination = 目的地: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = 値㯠0 ã‹ã‚‰ {0} ã®é–“ã§ãªã‘れã°ãªã‚Šã¾ã›ã‚“。 add = 追加... -boss.health = ボスã®HP +guardian = ガーディアン connectfail = [crimson]サーãƒãƒ¼ã¸æŽ¥ç¶šã§ãã¾ã›ã‚“ã§ã—ãŸ:\n\n[accent]{0} error.unreachable = サーãƒãƒ¼ã«åˆ°é”ã§ãã¾ã›ã‚“。\nã‚¢ãƒ‰ãƒ¬ã‚¹ã¯æ­£ã—ã„ã§ã™ã‹? error.invalidaddress = 無効ãªã‚¢ãƒ‰ãƒ¬ã‚¹ã§ã™ã€‚ -error.timedout = タイムアウトã—ã¾ã—ãŸ!\nホストãŒãƒãƒ¼ãƒˆé–‹æ”¾ã•れã¦ã„ã‚‹ã‹ã‚’確èªã—ã¦ãã ã•ã„。 +error.timedout = タイムアウトã—ã¾ã—ãŸ!\nホストãŒãƒãƒ¼ãƒˆé–‹æ”¾ã—ã¦ã„ã‚‹ã‹ã‚’確èªã—ã¦ãã ã•ã„。 error.mismatch = パケットエラー:\næã‚‰ãクライアント/サーãƒãƒ¼ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒä¸€è‡´ã—ã¦ã„ã¾ã›ã‚“。\nゲームã¨ã‚µãƒ¼ãƒãƒ¼ãŒæœ€æ–°ç‰ˆã®Mindustryã‹ã©ã†ã‹ã‚’確èªã—ã¦ãã ã•ã„! error.alreadyconnected = ã™ã§ã«æŽ¥ç¶šã•れã¦ã„ã¾ã™ã€‚ error.mapnotfound = マップファイルãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“! -error.io = ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼ã§ã™ã€‚ +error.io = I/O ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼ã§ã™ã€‚ error.any = 䏿˜Žãªãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ã‚¨ãƒ©ãƒ¼ã§ã™ã€‚ error.bloom = ブルームã®åˆæœŸåŒ–ã«å¤±æ•—ã—ã¾ã—ãŸã€‚\næã‚‰ãã‚ãªãŸã®ãƒ‡ãƒã‚¤ã‚¹ã§ã¯ãƒ–ルームãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã›ã‚“。 +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = 雨 -weather.snow.name = 雪 +weather.snowing.name = 雪 weather.sandstorm.name = ç ‚åµ weather.sporestorm.name = 胞å­åµ weather.fog.name = 霧 +campaign.playtime = \uf129 [lightgray]セクタープレイ時間: {0} +campaign.complete = [accent]ãŠã‚ã§ã¨ã†ã”ã–ã„ã¾ã™ã€‚\n\n{0} ã®æ•µã‚’倒ã—ã¾ã—ãŸã€‚\n[lightgray]最終セクターを制圧ã—ã¾ã—ãŸã€‚ +sectorlist = セクター +sectorlist.attacked = {0}ãŒæ”»æ’ƒã‚’å—ã‘ã¦ã„ã¾ã™ sectors.unexplored = [lightgray]æœªè¸æŸ» sectors.resources = 資æº: sectors.production = 生産: sectors.export = æ¬å‡º: +sectors.import = æ¬å…¥: sectors.time = 時間: sectors.threat = è„…å¨: sectors.wave = ウェーブ: -sectors.stored = ä¿å­˜æ¸ˆã¿: +sectors.stored = コアã®è³‡æº: sectors.resume = å†é–‹ sectors.launch = 打ã¡ä¸Šã’ sectors.select = é¸æŠž -sectors.nonelaunch = [lightgray]none (sun) +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]ç„¡ã— (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = セクターåを変更 sectors.enemybase = [scarlet]敵基地 -sectors.vulnerable = [scarlet]Vulnerable -sectors.underattack = [scarlet]攻撃をå—ã‘ã¾ã™! [accent]{0}% ç ´æ +sectors.vulnerable = [scarlet]脆弱 +sectors.underattack = [scarlet]攻撃をå—ã‘ã¦ã„ã¾ã™! [accent]{0}% ç ´æ +sectors.underattack.nodamage = [scarlet]未制圧 sectors.survives = [accent]{0} ウェーブ生存 sectors.go = Go +sector.abandon = 廃棄 +sector.abandon.confirm = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã®ã‚³ã‚¢ã¯è‡ªçˆ†ã—ã¾ã™ã€‚\n続行ã—ã¾ã™ã‹? sector.curcapture = 制圧ã—ãŸã‚»ã‚¯ã‚¿ãƒ¼ sector.curlost = 失ã‚れãŸã‚»ã‚¯ã‚¿ãƒ¼ sector.missingresources = [scarlet]資æºãŒè¶³ã‚Šã¾ã›ã‚“ sector.attacked = セクター [accent]{0}[white] ãŒæ”»æ’ƒã‚’å—ã‘ã¦ã„ã¾ã™! sector.lost = セクター [accent]{0}[white] 喪失! -#note: the missing space in the line below is intentional -sector.captured = セクター [accent]{0}[white]制圧! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = アイコンを変更 +sector.noswitch.title = セクターを切り替ãˆã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ +sector.noswitch = 既存ã®ã‚»ã‚¯ã‚¿ãƒ¼ãŒæ”»æ’ƒã‚’å—ã‘ã¦ã„ã‚‹é–“ã¯ã€ã‚»ã‚¯ã‚¿ãƒ¼ã‚’切り替ãˆã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。\n\nセクター: [accent]{0}[] on [accent]{1}[] +sector.view = セクターを表示 threat.low = 低 threat.medium = 中 threat.high = 高 -threat.extreme = éŽæ¿€ -threat.eradication = 根絶 +threat.extreme = éŽé…· +threat.eradication = ç ´æ»…çš„ +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = 惑星 planet.serpulo.name = セルプロ +planet.erekir.name = エレキル planet.sun.name = 太陽 -sector.impact0078.name = インパクト 0078 -sector.groundZero.name = グラウンド · ゼロ -sector.craters.name = ã‚¶ · クレーター -sector.frozenForest.name = フローズン · フォレスト -sector.ruinousShores.name = ルーイナス · ショアーズ -sector.stainedMountains.name = ステインド · マウンテン -sector.desolateRift.name = ディサレット · リフト -sector.nuclearComplex.name = ニュークリア · プロダクション · コンプレックス -sector.overgrowth.name = オーãƒãƒ¼ã‚°ãƒ­ã‚¦ã‚¹ -sector.tarFields.name = ター · フィールズ -sector.saltFlats.name = ソルト · フラッツ -sector.fungalPass.name = ファングル · パス -sector.biomassFacility.name = Biomass Synthesis Facility -sector.windsweptIslands.name = Windswept Islands -sector.extractionOutpost.name = Extraction Outpost -sector.planetaryTerminal.name = Planetary Launch Terminal +sector.impact0078.name = 墜è½åœ°ç‚¹ 0078 +sector.groundZero.name = 爆心地 +sector.craters.name = クレーター +sector.frozenForest.name = å‡ã£ãŸæ£® +sector.ruinousShores.name = è’廃ã—ãŸæµ·å²¸ +sector.stainedMountains.name = 汚染ã•れãŸå±±è„ˆ +sector.desolateRift.name = è’æ¶¼ãŸã‚‹å³¡è°· +sector.nuclearComplex.name = 原å­åŠ›ç”Ÿç”£æ–½è¨­ +sector.overgrowth.name = ç¹èŒ‚ã—ãŸèƒžå­åœ°å¸¯ +sector.tarFields.name = 石油埋蔵地 +sector.saltFlats.name = 塩田平野 +sector.fungalPass.name = 真èŒã®é“ +sector.biomassFacility.name = ãƒã‚¤ã‚ªãƒžã‚¹ç ”究施設 +sector.windsweptIslands.name = å¹ãã•らã—ã®åˆ—å³¶ +sector.extractionOutpost.name = è³‡æºæ¬å‡ºå‰å“¨åŸºåœ° +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = 惑星間発射ターミナル +sector.coastline.name = 海岸線 +sector.navalFortress.name = æµ·è»è¦å¡ž +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. -sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. -sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. -sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. -sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.groundZero.description = 奪回を始ã‚ã‚‹ã«ã¯æœ€é©ãªå ´æ‰€ã§ã™ã€‚敵ã®è„…å¨ã¯å°ã•ã„ã§ã™ãŒã€è³‡æºãŒä¹ã—ã„ã§ã™ã€‚\nã§ãã‚‹ã ã‘多ãã®éŠ…ã¨é‰›ã‚’集ã‚ã¾ã—ょã†ã€‚\nå§‹ã‚ã¾ã—ょã†ã€‚ +sector.frozenForest.description = ã“ã“ã§ã•ãˆã€å±±ã«è¿‘ã¥ãã»ã©èƒžå­ãŒåºƒãŒã£ã¦ã„ã¾ã™ã€‚\næ¥µå¯’ã®æ°—候もã§ã•ãˆèƒžå­ã‚’æ°¸é ã«å°ã˜è¾¼ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚\n\né›»æ°—ã«æŒ‘ã¿ã¾ã—ょã†ã€‚\nç«åŠ›ç™ºé›»æ©Ÿã‚’å»ºè¨­ã—ã€ä¿®å¾©æ©Ÿã®ä½¿ã„方を学ã³ã¾ã—ょã†ã€‚ +sector.saltFlats.description = ç ‚æ¼ ã®ã¯ãšã‚Œã«ã‚る平野ã§ã™ã€‚\nã“ã“ã«ã¯è³‡æºãŒã»ã¨ã‚“ã©ã‚りã¾ã›ã‚“。\n\n敵ã¯ã“ã“ã«è³‡æºè²¯è”µæ–½è¨­ã‚’建設ã—ã¾ã—ãŸã€‚\n彼らã®ã‚³ã‚¢ã‚’破壊ã—ã€æŽƒæ»…ã—ã¦ãã ã•ã„。 +sector.craters.description = éŽåŽ»ã®æˆ¦äº‰ã®å残ã§ã‚ã‚‹ã‚¯ãƒ¬ãƒ¼ã‚¿ãƒ¼ã«æ°´ãŒæºœã¾ã£ã¦ã„ã¾ã™ã€‚\nエリアをå–り戻ã—ã€ç ‚を集ã‚ã€ãƒ¡ã‚¿ã‚¬ãƒ©ã‚¹ã‚’精錬ã—ã¾ã—ょã†ã€‚\nタレットã¨ãƒ‰ãƒªãƒ«ã‚’冷å´ã™ã‚‹ãŸã‚ã«ã¯æ°´ã‚’ãƒãƒ³ãƒ—ã§é€ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ +sector.ruinousShores.description = è’れ地をéŽãŽã‚‹ã¨æµ·å²¸ç·šã§ã™ã€‚\nã“ã“ã«ã¯ã‹ã¤ã¦æ²¿å²¸é˜²è¡›éšŠãŒé…å‚™ã•れã¦ã„ã¾ã—ãŸãŒã€ã»ã¼æ®‹å­˜ã—ã¦ã„ã¾ã›ã‚“。\n最も基本的ãªé˜²è¡›æ–½è¨­ã®ã¿ãŒç„¡å‚·ã®ã¾ã¾æ®‹ã£ã¦ãŠã‚Šã€ãれ以外ã¯å…¨ã¦ç ´å£Šã•れã¦ã„ã¾ã™ã€‚\n外部拡張を続ã‘ã€ç ”ç©¶ã‚’å†ç™ºè¦‹ã—ã¦ã„ãã¾ã—ょã†ã€‚ +sector.stainedMountains.description = æ›´ã«å†…陸ã«ã¯ã€èƒžå­ã«æ±šæŸ“ã•れã¦ã„ãªã„å±±ãŒã‚りã¾ã™ã€‚\nã“ã®åœ°åŸŸã«ã¯ãƒã‚¿ãƒ³ãŒè±Šå¯Œã«ã‚りã¾ã™ã€‚抽出ã—ã¦ä½¿ã„方を学ã³ã¾ã—ょã†ã€‚\n\nã“ã“ã«ã¯ã‚ˆã‚Šå¤šãã®æ•µãŒè¥²æ¥ã—ã¾ã™ã€‚強力ãªãƒ¦ãƒ‹ãƒƒãƒˆã‚’é€ã‚‹æ™‚間を与ãˆãªã„ã§ãã ã•ã„。 +sector.overgrowth.description = ã“ã®ã‚¨ãƒªã‚¢ã¯ã€èƒžå­ã®ç™ºç”Ÿæºã«è¿‘ã生ã„茂ã£ã¦ã„ã¾ã™ã€‚\n敵ã¯ã“ã“ã«å‰å“¨åŸºåœ°ã‚’é…å‚™ã—ã¾ã—ãŸã€‚ユニットã®"メイス"を生産ã—ã€ç ´å£Šã—ã¦ãã ã•ã„。\n失ã£ãŸã‚‚ã®ã‚’å–り戻ã™ã®ã§ã™ã€‚ +sector.tarFields.description = å±±ã¨ç ‚æ¼ ã«æŒŸã¾ã‚ŒãŸã€çŸ³æ²¹ç”£å‡ºåœ°å¸¯ã®ã¯ãšã‚Œã§ã™ã€‚\n利用å¯èƒ½ãªçŸ³æ²¹ãŒåŸ‹è”µã™ã‚‹æ•°å°‘ãªã„エリアã®1ã¤ã§ã™ã€‚\n放棄ã•れãŸã‚¨ãƒªã‚¢ã§ã™ãŒã€è¿‘ãã«è„…å¨ã¨ãªã‚‹æ•µãŒã„ã¾ã™ã€‚\n\n[lightgray]å¯èƒ½ã§ã‚れã°çŸ³æ²¹ã«é–¢é€£ã™ã‚‹æ–½è¨­ã‚’研究ã—ã¾ã—ょã†ã€‚ +sector.desolateRift.description = éžå¸¸ã«å±é™ºãªåœ°å¸¯ã§ã™ã€‚資æºã¯è±Šå¯Œã§ã™ãŒã€é ˜åŸŸãŒå分ã«ã‚りã¾ã›ã‚“。破壊ã•れるリスクãŒé«˜ã„ãŸã‚ã€ä¸€åˆ»ã‚‚æ—©ãç«‹ã¡åŽ»ã‚Šã¾ã—ょã†ã€‚\næ•µã®æ”»æ’ƒé–“éš”ãŒé•·ã„ã§ã™ãŒã€æ°—を抜ã‹ãªã„ã§ãã ã•ã„。 +sector.nuclearComplex.description = 崩壊ã—ãŸãƒˆãƒªã‚¦ãƒ è£½é€ ãƒ»åŠ å·¥æ–½è¨­ã§ã™ã€‚\n[lightgray]トリウムã¨ãã®å¤šãã®ç”¨é€”を研究ã—ã¦ãã ã•ã„。\n\n多ãã®æ•µãŒã“ã“ã«å­˜åœ¨ã—ã€å¸¸ã«æ”»æ’ƒã‚’åµå¯Ÿã—ã¦ã„ã¾ã™ã€‚ +sector.fungalPass.description = 高山ã¨ã€èƒžå­ã®å¤šã„低地ã¨ã®é–“ã®é·ç§»åœ°åŸŸã§ã™ã€‚\nã“ã“ã«ã¯æ•µã®å°ã•ãªåµå¯ŸåŸºåœ°ãŒã‚りã¾ã™ã€‚\n破壊ã—ã¦ãã ã•ã„。\nダガーã¨ã‚¯ãƒ­ãƒ¼ãƒ©ãƒ¼ãƒ¦ãƒ‹ãƒƒãƒˆã‚’使ã„ã€2ã¤ã®æ•µã‚³ã‚¢ã®æŽ’除ã—ã¾ã—ょã†ã€ +sector.biomassFacility.description = 胞å­ã®ç™ºç”Ÿæºã§ã™ã€‚\nã“れらã¯èƒžå­ã®ç ”ç©¶ã®ãŸã‚ã«ã€æœ€åˆã«å»ºè¨­ã•ã‚ŒãŸæ–½è¨­ã§ã™ã€‚\nå†…éƒ¨ã«æ®‹ã•ã‚ŒãŸæŠ€è¡“ã‚’ç ”ç©¶ã—ã¾ã—ょã†ã€‚燃料ã¨ãƒ—ラスタニウムã®ç”Ÿç”£ã®ãŸã‚ã«èƒžå­ã‚’培養ã—ã¾ã™ã€‚\n\n[lightgray]ã“ã®æ–½è¨­ãŒæ´»å‹•åœæ­¢ã—ãŸãŸã‚ã«ã€èƒžå­ãŒæ”¾å‡ºã•れã¾ã—ãŸã€‚地域ã®ç”Ÿæ…‹ç³»ã«ã¯ã€ãã®ã‚ˆã†ãªä¾µç•¥çš„生物ã¨ç«¶åˆã™ã‚‹ã‚‚ã®ã¯ã‚りã¾ã›ã‚“。 +sector.windsweptIslands.description = 海岸をã•らã«é€²ã‚€ã¨ã€è¾ºé„™ãªåˆ—å³¶ãŒã‚りã¾ã™ã€‚記録ã«ã‚ˆã‚Œã°ã€ã“ã“ã«ã¯ã‹ã¤ã¦[accent]プラスタニウム[]ã®ç”Ÿç”£æ–½è¨­ãŒã‚りã¾ã—ãŸã€‚\n\næ•µã®æµ·è»ãƒ¦ãƒ‹ãƒƒãƒˆã‚’撃沈ã—ã¦ãã ã•ã„。島々ã«åŸºåœ°ã‚’建造ã—ã€ã“れらã®å·¥å ´ã‚’調査ã—ã¾ã—ょã†ã€‚ +sector.extractionOutpost.description = ä»–ã®ã‚»ã‚¯ã‚¿ãƒ¼ã¸è³‡æºã‚’輸é€ã™ã‚‹ãŸã‚ã«å»ºè¨­ã•ã‚ŒãŸæ•µã®é éš”地ã®å‰å“¨åŸºåœ°ã§ã™ã€‚\n\nã•らãªã‚‹å¾ä¼ã®ãŸã‚ã«ã¯ã€ã‚»ã‚¯ã‚¿ãƒ¼é–“を通ãšã‚‹è¼¸é€æŠ€è¡“ãŒä¸å¯æ¬ ã§ã™ã€‚基地を破壊ã—ã¦ãã ã•ã„。彼らã®ç™ºå°„å°ã‚’研究ã—ã¾ã—ょã†ã€‚ +sector.impact0078.description = ã“ã“ã«ã¯ã€æœ€åˆã«ã“ã®æ˜Ÿç³»ã«å…¥ã£ãŸæ˜Ÿé–“輸é€èˆ¹ã®æ®‹éª¸ãŒã‚りã¾ã™ã€‚\n\n残骸をå¯èƒ½ãªé™ã‚Šå›žåŽã—ã€è§£æžå¯èƒ½ãªæŠ€è¡“を研究ã—ã¾ã—ょã†ã€‚ +sector.planetaryTerminal.description = 最終目標ã§ã™ã€‚\n\nã“ã®æ²¿å²¸åŸºåœ°ã«ã¯ã€ã‚³ã‚¢ã‚’ä»–ã®æƒ‘æ˜Ÿã«æ‰“ã¡ä¸Šã’ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹å»ºé€ ç‰©ãŒã‚りã¾ã™ã€‚ã—ã‹ã—ã€æ¥µã‚ã¦å …固ã«å®ˆã‚‰ã‚Œã¦ã„ã¾ã™ã€‚\n\næµ·è»ãƒ¦ãƒ‹ãƒƒãƒˆã‚’生産ã—ã€å¯åŠçš„速やã‹ã«æ•µã‚’排除ã—ã¦ãã ã•ã„。\nãã—ã¦ã€ç™ºå°„場を研究ã—ã¾ã—ょã†ã€‚ +sector.coastline.description = ã“ã“ã§ã€æµ·è»ã®æŠ€è¡“ã®æ®‹éª¸ãŒç™ºè¦‹ã•れã¾ã—ãŸã€‚\næ•µã®æ”»æ’ƒã‚’退ã‘ã€å é ˜ã—ã€ãã®æŠ€è¡“ã‚’ç²å¾—ã—ã¾ã—ょã†ã€‚ +sector.navalFortress.description = 敵ã¯ã€è‡ªç„¶è¦å¡žåŒ–ã—ãŸé›¢å³¶ã«åŸºåœ°ã‚’設ã‘ã¦ã„ã¾ã™ã€‚ã“ã®å‰å“¨åŸºåœ°ã‚’破壊ã—ã¾ã—ょã†ã€‚\n彼らã®é«˜åº¦ãªè‰¦è‰‡æŠ€è¡“を入手ã—ã€ç ”ç©¶ã—ã¾ã—ょã†ã€‚ +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = オンセット +sector.aegis.name = イージス +sector.lake.name = レイク +sector.intersect.name = インターセクト +sector.atlas.name = アトラス +sector.split.name = スプリット +sector.basin.name = ベイシン +sector.marsh.name = マーシュ +sector.peaks.name = ピークス +sector.ravine.name = ラヴィーン +sector.caldera-erekir.name = カルデラ +sector.stronghold.name = ストロングホールド +sector.crevice.name = クレãƒã‚¹ +sector.siege.name = シージ +sector.crossroads.name = クロスロード +sector.karst.name = カルスト +sector.origin.name = オリジン +sector.onset.description = エレキルã®åˆ¶åœ§ã‚’é–‹å§‹ã—ã¾ã™ã€‚資æºã‚’集ã‚ã€ãƒ¦ãƒ‹ãƒƒãƒˆã‚’生産ã—ã€æŠ€è¡“ã®ç ”ç©¶ã‚’å§‹ã‚ã¾ã—ょã†ã€‚ + +sector.aegis.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã«ã¯ã€ã‚¿ãƒ³ã‚°ã‚¹ãƒ†ãƒ³ã®é‰±åºŠãŒã‚りã¾ã™ã€‚\nã“ã®è³‡æºã‚’採掘ã™ã‚‹ãŸã‚ã®[accent]インパクトドリル[]を研究ã—ã€ãã®åœ°åŸŸã®æ•µåŸºåœ°ã‚’破壊ã—ã¾ã—ょã†ã€‚ +sector.lake.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã«ã¯æº¶å²©æ¹–ãŒã‚りã€ä½¿ç”¨å¯èƒ½ãªãƒ¦ãƒ‹ãƒƒãƒˆãŒé™ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚\n[accent]戦艦工場[]を研究ã—ã€ä¸€åˆ»ã‚‚æ—©ã[accent]エリュード[]を生産ã—ã¾ã—ょã†ã€‚ +sector.intersect.description = セクターç€é™¸å¾Œã€ã™ãã«å¤šæ–¹é¢ã‹ã‚‰æ•µãŒæŠ¼ã—寄ã›ã¾ã™ã€‚\n速やã‹ã«é˜²å¾¡ã‚’固ã‚ã€åŸºåœ°ã‚’展開ã—ã¦ã„ãã¾ã—ょã†ã€‚\nè’れãŸåœ°å½¢ãªã®ã§ã€[accent]メカ[]ãŒå¿…è¦ã§ã™ã€‚ +sector.atlas.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã¯ã•ã¾ã–ã¾ãªåœ°å½¢ãŒã‚りã€ã“ã“ã®æ”»ç•¥ã«ã¯å¤šãã®ç¨®é¡žã®ãƒ¦ãƒ‹ãƒƒãƒˆãŒå¿…è¦ã§ã™ã€‚\nã¾ãŸã€ã“ã“ã®æ”»ç•¥ã«ã¯å¼·åŒ–ã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚\n[accent]電解装置[]ã¨[accent]戦車å†åР工工場[]を研究ã—ã¾ã—ょã†ã€‚ +sector.split.description = 敵ãŒå°‘ãªã„場所ã§ã™ã€‚ã“ã“ã§æ–°ã—ã„è¼¸é€æŠ€è¡“ã‚’å­¦ã³ã¾ã—ょã†ã€‚ +sector.basin.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã§ã¯å¤§ããªæ•µãŒç¢ºèªã•れã¦ã„ã¾ã™ã€‚\nç´ æ—©ãユニットを生産ã—ã€æ•µã®ã‚³ã‚¢ã‚’破壊ã—ã¾ã—ょã†ã€‚ +sector.marsh.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã«ã¯è±Šå¯Œãªã‚¢ãƒ¼ã‚­ã‚µã‚¤ãƒˆãŒã‚りã¾ã™ãŒã€ã‚¸ã‚§ãƒƒãƒˆãƒ›ãƒ¼ãƒ«ãŒé™ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚\n[accent]化学燃焼ãƒãƒ£ãƒ³ãƒãƒ¼[]を構築ã—ã¦é›»åŠ›ã‚’ç”Ÿæˆã—ã¦ãã ã•ã„。 +sector.peaks.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã¯å±±å²³åœ°å¸¯ã®ãŸã‚ã€ã»ã¨ã‚“ã©ã®ãƒ¦ãƒ‹ãƒƒãƒˆãŒå½¹ã«ç«‹ã¡ã¾ã›ã‚“。飛行ユニットãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚\n敵ã®å¯¾ç©ºæ–½è¨­ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã“ã‚Œã‚‰ã®æ–½è¨­ã¯ã€ãã®å‘¨è¾ºã®å»ºç‰©ã‚’破壊ã™ã‚‹ã“ã¨ã§ã€ç„¡åŠ¹åŒ–ã§ãã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ +sector.ravine.description = 敵ã«ã¨ã£ã¦é‡è¦ãªè¼¸é€è·¯ã§ã‚ã‚‹ã«ã‚‚ã‹ã‹ã‚らãšã€ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã§ã¯æ•µã®ã‚³ã‚¢ã¯æ¤œå‡ºã•れã¦ã„ã¾ã›ã‚“。ã•ã¾ã–ã¾ãªæ•µå‹¢åŠ›ãŒå­˜åœ¨ã™ã‚‹ã“ã¨ãŒäºˆæƒ³ã•れã¾ã™ã€‚\n[accent]サージåˆé‡‘[] を生産ã—〠[accent]アフリクト[] を建設ã—ã¾ã—ょã†ã€‚ +sector.caldera-erekir.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã§æ¤œå‡ºã•れãŸãƒªã‚½ãƒ¼ã‚¹ã¯ã€ã„ãã¤ã‹ã®å³¶ã€…ã«æ•£ã‚‰ã°ã£ã¦ã„ã¾ã™ã€‚\nドローンベースã®è¼¸é€æ‰‹æ®µã‚’研究ã—ã¦é…å‚™ã—ã¦ãã ã•ã„。 +sector.stronghold.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã«ã¯æ•µã®å¤§è¦æ¨¡ãªé‡Žå–¶åœ°ãŒã‚り〠[accent]トリウム[] ã®é‡è¦ãªé‰±è„ˆã‚’守ã£ã¦ã„ã¾ã™ã€‚\nãれを利用ã—ã¦ã€ã‚ˆã‚Šé«˜åº¦ãªãƒ¦ãƒ‹ãƒƒãƒˆã‚„タレットを研究ã—ã¦ãã ã•ã„。 +sector.crevice.description = 敵ã¯ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã®åŸºåœ°ã‚’破壊ã™ã‚‹ãŸã‚ã«ã€æ¿€ã—ã„æ”»æ’ƒéƒ¨éšŠã‚’é€ã‚Šè¾¼ã‚“ã§ãã¾ã™ã€‚\n[accent]炭化物[] 㨠[accent]パイロリシス発電機[] ã®é–‹ç™ºã¯ã€ç”Ÿã残るãŸã‚ã«ã¯å¿…è¦ä¸å¯æ¬ ã‹ã‚‚ã—れã¾ã›ã‚“。 +sector.siege.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã«ã¯ã€äºŒã¤ã®å¹³è¡Œã—ãŸå³¡è°·ãŒã‚りã€äºŒæ–¹å‘ã‹ã‚‰æ”»æ’ƒã•れã¦ã—ã¾ã„ã¾ã™ã€‚\n[accent]シアン[] を研究ã—ã¦ã€ã•らã«å¼·åŠ›ãªæˆ¦è»Šãƒ¦ãƒ‹ãƒƒãƒˆã‚’作æˆã™ã‚‹èƒ½åŠ›ã‚’ç²å¾—ã—ã¦ãã ã•ã„。\n注æ„: 敵ã®é•·è·é›¢ãƒŸã‚µã‚¤ãƒ«ãŒæ¤œå‡ºã•れã¾ã—ãŸã€‚ ミサイルã¯ç€å¼¾å‰ã«æ’ƒå¢œã•れるå¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ +sector.crossroads.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã®æ•µã®æ‹ ç‚¹ã¯ã€ã•ã¾ã–ã¾ãªåœ°å½¢ã«è¨­ç½®ã•れã¦ã„ã¾ã™ã€‚多種類ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’研究ã—ã€å¯¾å¿œã—ã¾ã—ょã†ã€‚\nã¾ãŸã€ã‚·ãƒ¼ãƒ«ãƒ‰ã§å®ˆã‚‰ã‚Œã¦ã„る拠点もã‚りã¾ã™ã€‚シールドã®å‹•力æºã‚’探ã—ã¾ã—ょã†ã€‚ +sector.karst.description = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã¯è³‡æºãŒè±Šå¯Œã§ã™ãŒã€æ–°ã—ã„コアãŒä¸Šé™¸ã™ã‚‹ã¨æ•µã®æ”»æ’ƒã‚’å—ã‘ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚\n資æºã‚’活用ã—〠[accent]フェーズファイãƒãƒ¼[] を研究ã—ã¦ãã ã•ã„。 +sector.origin.description = 敵ãŒå¤šã存在ã™ã‚‹æœ€å¾Œã®ã‚»ã‚¯ã‚¿ãƒ¼ã§ã™ã€‚\n研究ã§ããã†ãªã‚‚ã®ã¯ã‚‚ã†æ®‹ã£ã¦ã„ã¾ã›ã‚“。敵コアã®ç ´å£Šã«å°‚念ã—ã¾ã—ょã†ã€‚ + +status.burning.name = 燃焼 +status.freezing.name = å‡çµ +status.wet.name = 水濡れ +status.muddy.name = æ³¥ã ã‚‰ã‘ +status.melting.name = 溶解 +status.sapped.name = å¸åŽ +status.electrified.name = 帯電 +status.spore-slowed.name = éˆåŒ–èƒžå­ +status.tarred.name = 石油塗れ +status.overdrive.name = オーãƒãƒ¼ãƒ‰ãƒ©ã‚¤ãƒ– +status.overclock.name = オーãƒãƒ¼ã‚¯ãƒ­ãƒƒã‚¯ +status.shocked.name = 電撃 +status.blasted.name = 爆破 +status.unmoving.name = ç§»å‹•åœæ­¢ +status.boss.name = ガーディアン settings.language = 言語 settings.data = ゲームデータ @@ -632,6 +938,7 @@ settings.clearcampaignsaves.confirm = キャンペーンã®ã‚»ãƒ¼ãƒ–データを paused = [accent]< ãƒãƒ¼ã‚º > clear = 消去 banned = [scarlet]ä½¿ç”¨ç¦æ­¢ +unsupported.environment = [scarlet]サãƒãƒ¼ãƒˆã•れã¦ã„ãªã„環境 yes = ã¯ã„ no = ã„ã„㈠info.title = 情報 @@ -639,14 +946,18 @@ error.title = [crimson]エラーãŒç™ºç”Ÿã—ã¾ã—㟠error.crashtitle = エラーãŒç™ºç”Ÿã—ã¾ã—㟠unit.nobuild = [scarlet]構築ä¸å¯ lastaccessed = [lightgray]最終アクセス {0} +lastcommanded = [lightgray]最後ã®ã‚³ãƒžãƒ³ãƒ‰: {0} block.unknown = [lightgray]??? +stat.showinmap = <表示ã®ãƒžãƒƒãƒ—を読ã¿è¾¼ã‚€> stat.description = 説明 stat.input = æ¬å…¥ stat.output = æ¬å‡º +stat.maxefficiency = 最大効率 stat.booster = ブースト stat.tiles = å¿…è¦ãªã‚¿ã‚¤ãƒ« stat.affinities = 親和性 +stat.opposites = 排他性 stat.powercapacity = é›»åŠ›å®¹é‡ stat.powershot = 電力/ショット stat.damage = ダメージ @@ -669,8 +980,11 @@ stat.memorycapacity = ãƒ¡ãƒ¢ãƒªãƒ¼å®¹é‡ stat.basepowergeneration = åŸºæœ¬ç™ºé›»é‡ stat.productiontime = 製造速度 stat.repairtime = ブロックã®å®Œå…¨ä¿®å¾©é€Ÿåº¦ +stat.repairspeed = 修復速度 stat.weapons = 武器 stat.bullet = 弾丸 +stat.moduletier = モジュールレベル +stat.unittype = Unit Type stat.speedincrease = 速度å‘上 stat.range = 範囲 stat.drilltier = ドリル @@ -678,8 +992,9 @@ stat.drillspeed = 基本採掘速度 stat.boosteffect = ブースト効果 stat.maxunits = 最大ユニット数 stat.health = è€ä¹…値 +stat.armor = アーマー stat.buildtime = 建設時間 -stat.maxconsecutive = Max Consecutive +stat.maxconsecutive = 最大連鎖 stat.buildcost = 建設費用 stat.inaccuracy = 誤差 stat.shots = ショット @@ -693,6 +1008,7 @@ stat.lightningchance = 電撃確率 stat.lightningdamage = 電撃ダメージ stat.flammability = å¯ç‡ƒæ€§ stat.radioactivity = 放射能 +stat.charge = 帯電性 stat.heatcapacity = ç†±å®¹é‡ stat.viscosity = 粘度 stat.temperature = 温度 @@ -701,25 +1017,77 @@ stat.buildspeed = 建築速度 stat.minespeed = 採掘速度 stat.minetier = 採掘 stat.payloadcapacity = ç©è¼‰å®¹é‡ -stat.commandlimit = 指æ®ä¸Šé™ stat.abilities = 能力 stat.canboost = ブーストå¯èƒ½ stat.flying = 飛行 stat.ammouse = 使用弾薬 +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = ダメージå€çއ +stat.healthmultiplier = 体力å€çއ +stat.speedmultiplier = スピードå€çއ +stat.reloadmultiplier = リロードå€çއ +stat.buildspeedmultiplier = 建築速度å€çއ +stat.reactive = å応 +stat.immunities = è€æ€§ +stat.healing = 治癒 +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = フォースフィールド +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = リペアフィールド +ability.repairfield.description = Repairs nearby units ability.statusfield = ステータスフィールド -ability.unitspawn = {0} 生産 +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = 生産 +ability.unitspawn.description = Constructs units ability.shieldregenfield = シールドリペアフィールド +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = ムーブメントライトニング +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = シールドアーク +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = ãƒªã‚¸ã‚§ãƒæŠ‘åˆ¶ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = エãƒãƒ«ã‚®ãƒ¼ç¯„囲 +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = コアã«ã®ã¿æ¬å…¥ã§ãã¾ã™ã€‚ bar.drilltierreq = より高性能ãªãƒ‰ãƒªãƒ«ã‚’使用ã—ã¦ãã ã•ã„ -bar.noresources = Missing Resources -bar.corereq = Core Base Required +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = ä¸è¶³ã—ã¦ã„ã‚‹è³‡æº +bar.corereq = コアベースãŒå¿…è¦ +bar.corefloor = コアゾーンタイルãŒå¿…è¦ +bar.cargounitcap = 貨物ユニットã®å®¹é‡ã®ä¸Šé™ã«é”ã—ã¾ã—㟠bar.drillspeed = 採掘速度: {0}/ç§’ bar.pumpspeed = ãƒãƒ³ãƒ—ã®é€Ÿåº¦: {0}/s bar.efficiency = 効率: {0}% +bar.boost = ブースト: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = 電力å‡è¡¡: {0}/ç§’ bar.powerstored = ç·è“„é›»é‡: {0}/{1} bar.poweramount = è“„é›»é‡: {0} @@ -730,49 +1098,66 @@ bar.capacity = 容é‡: {0} bar.unitcap = {0} {1}/{2} bar.liquid = 液体 bar.heat = 熱 +bar.cooldown = Cooldown +bar.instability = ä¸å®‰å®šåº¦ +bar.heatamount = 熱: {0} +bar.heatpercent = 熱: {0} ({1}%) bar.power = 電力 bar.progress = å»ºè¨­çŠ¶æ³ +bar.loadprogress = 進æ—çŠ¶æ³ +bar.launchcooldown = 打ã¡ä¸Šã’後ã®ã‚¯ãƒ¼ãƒ«ãƒ€ã‚¦ãƒ³ bar.input = 入力 bar.output = 出力 +bar.strength = [stat]{0}[lightgray]x 強化 units.processorcontrol = [lightgray]プロセッサーã®åˆ¶å¾¡ä¸‹ bullet.damage = [stat]{0}[lightgray] ダメージ bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ ç´„[stat] {1}[lightgray] タイル bullet.incendiary = [stat]焼夷弾 -bullet.sapping = [stat]sapping bullet.homing = [stat]追尾弾 -bullet.shock = [stat]電撃 -bullet.frag = [stat]爆発弾 +bullet.armorpierce = [stat]アーマー貫通 +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x ライトニング ~ [stat]{1}[lightgray] ダメージ bullet.buildingdamage = [stat]{0}%[lightgray] 対物ダメージ +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] ノックãƒãƒƒã‚¯ bullet.pierce = [stat]{0}[lightgray]x レーザー弾 bullet.infinitepierce = [stat]レーザー弾 bullet.healpercent = [stat]{0}[lightgray]% 回復 -bullet.freezing = [stat]å‡çµ -bullet.tarred = [stat]タール弾 +bullet.healamount = [stat]{0}[lightgray] ç›´æŽ¥ä¿®ç† bullet.multiplier = [stat]弾薬 {0}[lightgray]å€ -bullet.reload = [stat]リロード速度 {0}[lightgray]å€ +bullet.reload = [stat]リロード速度 {0}[lightgray]% +bullet.range = [stat]{0}[lightgray] タイル範囲 +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = ブロック unit.blockssquared = ブロック² unit.powersecond = 電力/ç§’ +unit.tilessecond = タイル/ç§’ unit.liquidsecond = 液体/ç§’ unit.itemssecond = アイテム/ç§’ unit.liquidunits = 液体 unit.powerunits = 電力 +unit.heatunits = 熱æºè£…ç½® unit.degrees = 度 unit.seconds = ç§’ unit.minutes = 分 unit.persecond = /ç§’ unit.perminute = /分 unit.timesspeed = å€ã®é€Ÿåº¦ +unit.multiplier = x unit.percent = % unit.shieldhealth = シールド unit.items = アイテム unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots unit.pershot = /発 category.purpose = 説明 category.general = 一般 @@ -782,17 +1167,23 @@ category.items = アイテム category.crafting = æ¬å…¥/æ¬å‡º category.function = 役割 category.optional = 強化オプション +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = ã‚³ã‚¢ã®æ‰“ã¡ä¸Šã’/ç€é™¸ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ã‚’スキップ setting.landscape.name = 横画é¢ã§å›ºå®š setting.shadows.name = å½± setting.blockreplace.name = è‡ªå‹•ãƒ–ãƒ­ãƒƒã‚¯ææ¡ˆ setting.linear.name = リニアフィルター setting.hints.name = ヒント -setting.flow.name = è³‡æºæµé€šé‡ã®è¡¨ç¤º -setting.backgroundpause.name = ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ã§ä¸€æ™‚åœæ­¢ä¸­ -setting.buildautopause.name = オートãƒãƒ¼ã‚ºãƒ“ルディング +setting.logichints.name = ロジックã®ãƒ’ント +setting.backgroundpause.name = ãƒãƒƒã‚¯ã‚°ãƒ©ã‚¦ãƒ³ãƒ‰ä¸­ã¯ä¸€æ™‚åœæ­¢ã™ã‚‹ +setting.buildautopause.name = 常ã«å»ºç¯‰ä¸€æ™‚中断状態ã«ã™ã‚‹ +setting.doubletapmine.name = ãƒ€ãƒ–ãƒ«ã‚¿ãƒƒãƒ—ã§æŽ¡æŽ˜ã™ã‚‹ +setting.commandmodehold.name = コマンドモードã§é•·æŠ¼ã— +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = 起動時ã«ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ã—ãŸå ´åˆã«Modを無効ã«ã™ã‚‹ setting.animatedwater.name = æµä½“ã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ setting.animatedshields.name = シールドã®ã‚¢ãƒ‹ãƒ¡ãƒ¼ã‚·ãƒ§ãƒ³ -setting.antialias.name = アンãƒã‚¨ã‚¤ãƒªã‚¢ã‚¹[lightgray] (å†èµ·å‹•ãŒå¿…è¦)[] setting.playerindicators.name = ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã®æ–¹è§’表示 setting.indicators.name = æ•µã®æ–¹è§’表示 setting.autotarget.name = オートターゲット @@ -801,15 +1192,12 @@ setting.touchscreen.name = タッãƒã‚¹ã‚¯ãƒªãƒ¼ãƒ³æ“作 setting.fpscap.name = 最大FPS setting.fpscap.none = ãªã— setting.fpscap.text = {0} FPS -setting.uiscale.name = UIサイズ[lightgray] (å†èµ·å‹•ãŒå¿…è¦)[] +setting.uiscale.name = UIサイズ +setting.uiscale.description = å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚ setting.swapdiagonal.name = å¸¸ã«æ–œã‚設置 -setting.difficulty.training = トレーニング -setting.difficulty.easy = イージー -setting.difficulty.normal = ノーマル -setting.difficulty.hard = ãƒãƒ¼ãƒ‰ -setting.difficulty.insane = クレイジー -setting.difficulty.name = 難易度: setting.screenshake.name = ç”»é¢ã®æºã‚Œ +setting.bloomintensity.name = ãらã‚ãã®å¼·ã• +setting.bloomblur.name = å…‰ã®ã¼ã‚„ã‘ setting.effects.name = ç”»é¢åŠ¹æžœ setting.destroyedblocks.name = 破壊ã•れãŸãƒ–ロックを表示 setting.blockstatus.name = ブロックã®çŠ¶æ…‹ã‚’è¡¨ç¤º @@ -817,33 +1205,43 @@ setting.conveyorpathfinding.name = コンベアーé…置経路探索 setting.sensitivity.name = æ“作感度 setting.saveinterval.name = 自動ä¿å­˜é–“éš” setting.seconds = {0} ç§’ -setting.milliseconds = {0} milliseconds +setting.milliseconds = {0} ミリ秒 setting.fullscreen.name = フルスクリーン -setting.borderlesswindow.name = 境界ã®ç„¡ã„ウィンドウ[lightgray] (å†èµ·å‹•ãŒå¿…è¦ã«ãªã‚‹å ´åˆãŒã‚りã¾ã™) +setting.borderlesswindow.name = ボーダーレスウィンドウ +setting.borderlesswindow.name.windows = ボーダーレスフルスクリーン +setting.borderlesswindow.description = å†èµ·å‹•ãŒå¿…è¦ã«ãªã‚‹å ´åˆãŒã‚りã¾ã™ã€‚ setting.fps.name = FPSを表示 +setting.console.name = コンソールを有効ã«ã™ã‚‹ setting.smoothcamera.name = スムーズãªã‚«ãƒ¡ãƒ© setting.vsync.name = åž‚ç›´åŒæœŸ setting.pixelate.name = ピクセル化[lightgray] (アニメーションãŒç„¡åŠ¹åŒ–ã•れã¾ã™) setting.minimap.name = ミニマップを表示 -setting.coreitems.name = コアã®è³‡æºã‚’表示 (WIP) +setting.coreitems.name = コアã®è³‡æºã‚’表示 setting.position.name = プレイヤーã®ä½ç½®è¡¨ç¤º +setting.mouseposition.name = マウスã®ä½ç½®ã‚’表示 setting.musicvol.name = 音楽 éŸ³é‡ setting.atmosphere.name = 惑星ã®å¤§æ°—を表示 +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = 環境音 éŸ³é‡ setting.mutemusic.name = 音楽をミュート setting.sfxvol.name = 効果音 éŸ³é‡ setting.mutesound.name = 効果音をミュート setting.crashreport.name = 匿åã§ã‚¯ãƒ©ãƒƒã‚·ãƒ¥ãƒ¬ãƒãƒ¼ãƒˆã‚’é€ä¿¡ã™ã‚‹ +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = 自動ä¿å­˜ -setting.publichost.name = 誰ã§ã‚‚ゲームã«å‚加ã§ãるよã†ã«ã™ã‚‹ +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼æ•°åˆ¶é™ setting.chatopacity.name = ãƒãƒ£ãƒƒãƒˆã®é€æ˜Žåº¦ -setting.lasersopacity.name = レーザーã®é€æ˜Žåº¦ +setting.lasersopacity.name = 電線ã®é€æ˜Žåº¦ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = ブリッジã®é€æ˜Žåº¦ setting.playerchat.name = ゲーム内ã«ãƒãƒ£ãƒƒãƒˆã‚’表示 setting.showweather.name = 天気ã®ã‚°ãƒ©ãƒ•ィックを表示 -public.confirm = ゲームを公開ã—ã¾ã™ã‹ï¼Ÿ\n[accent]誰ã§ã‚‚ゲームã«å‚加ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚\n[lightgray]ã‚ã¨ã‹ã‚‰è¨­å®šã§å¤‰æ›´ã§ãã¾ã™ã€‚ -public.confirm.really = If you want to play with friends, use [green]Invite Friend[] instead of a [scarlet]Public server[]!\nAre you sure you want to make your game [scarlet]public[]? +setting.hidedisplays.name = æç”»ã•れã¦ã„るロジックディスプレイをéžè¡¨ç¤º +setting.macnotch.name = インターフェイスをノッãƒè¡¨ç¤ºã«é©å¿œã•ã›ã‚‹ +setting.macnotch.description = å†èµ·å‹•ãŒå¿…è¦ã§ã™ã€‚ +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = ベータ版ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。 uiscale.reset = UIサイズãŒå¤‰æ›´ã•れã¾ã—ãŸã€‚\nã“ã®ã¾ã¾ã§ã‚ˆã‘れã°ã€ŒOKã€ã‚’押ã—ã¦ãã ã•ã„。\n[scarlet][accent]{0}[] ç§’ã§å…ƒã®è¨­å®šã«æˆ»ã‚Šã¾ã™... uiscale.cancel = キャンセル & 終了 @@ -852,12 +1250,9 @@ keybind.title = キーãƒã‚¤ãƒ³ãƒ‰ã‚’å†è¨­å®š keybinds.mobile = [scarlet]モãƒã‚¤ãƒ«ã§ã¯å¤šãã®ã‚­ãƒ¼ãƒã‚¤ãƒ³ãƒ‰ãŒæ©Ÿèƒ½ã—ã¾ã›ã‚“。基本的ãªå‹•ãã®ã¿ãŒã‚µãƒãƒ¼ãƒˆã•れã¦ã„ã¾ã™ã€‚ category.general.name = 一般 category.view.name = 表示 +category.command.name = Unit Command category.multiplayer.name = マルãƒãƒ—レイ category.blocks.name = ブロックセレクト -command.attack = 攻撃 -command.rally = çµé›† -command.retreat = 後退 -command.idle = 待機 placement.blockselectkeys = \n[lightgray]キー: [{0}, keybind.respawn.name = リスãƒãƒ¼ãƒ³ keybind.control.name = ユニットをコントロール @@ -865,14 +1260,35 @@ keybind.clear_building.name = 建築ã®å–り消㗠keybind.press = キーを押ã—ã¦ãã ã•ã„... keybind.press.axis = 軸ã¾ãŸã¯ã‚­ãƒ¼ã‚’押ã—ã¦ãã ã•ã„... keybind.screenshot.name = スクリーンショット -keybind.toggle_power_lines.name = パワーレーザーã®åˆ‡ã‚Šæ›¿ãˆ +keybind.toggle_power_lines.name = 電線ã®è¡¨ç¤ºã®åˆ‡ã‚Šæ›¿ãˆ keybind.toggle_block_status.name = ブロックã®çŠ¶æ…‹è¡¨ç¤ºã®åˆ‡ã‚Šæ›¿ãˆ keybind.move_x.name = å·¦å³ç§»å‹• keybind.move_y.name = 上下移動 keybind.mouse_move.name = マウスを追ㆠ-keybind.pan.name = パン +keybind.pan.name = 視点移動 keybind.boost.name = ブースト -keybind.schematic_select.name = 地域ã®é¸æŠž +keybind.command_mode.name = コマンドモード +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = リージョンã®å†æ§‹ç¯‰ +keybind.schematic_select.name = ç¯„å›²é¸æŠž keybind.schematic_menu.name = 設計図メニュー keybind.schematic_flip_x.name = 設計図をX座標ã§å転 keybind.schematic_flip_y.name = 設計図をY座標ã§å転 @@ -897,18 +1313,20 @@ keybind.select.name = é¸æŠž/ショット keybind.diagonal_placement.name = æ–œã‚設置 keybind.pick.name = ブロックã®é¸æŠž keybind.break_block.name = ブロックã®ç ´å£Š +keybind.select_all_units.name = ã™ã¹ã¦ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’é¸æŠž +keybind.select_all_unit_factories.name = ã™ã¹ã¦ã®ãƒ¦ãƒ‹ãƒƒãƒˆå·¥å ´ã‚’é¸æŠž keybind.deselect.name = é¸æŠžè§£é™¤ keybind.pickupCargo.name = 貨物を拾ㆠkeybind.dropCargo.name = 貨物をé™ã‚ã™ -keybind.command.name = æŒ‡æ® keybind.shoot.name = ショット keybind.zoom.name = ズーム keybind.menu.name = メニュー keybind.pause.name = ãƒãƒ¼ã‚º -keybind.pause_building.name = 建築ã®ãƒãƒ¼ã‚º/レジューム +keybind.pause_building.name = 建築ã®ä¸€æ™‚中断/å†é–‹ keybind.minimap.name = ミニマップ keybind.planet_map.name = 惑星地図 keybind.research.name = 研究 +keybind.block_info.name = ブロック情報 keybind.chat.name = ãƒãƒ£ãƒƒãƒˆ keybind.player_list.name = プレイヤーリスト keybind.console.name = コンソール @@ -918,63 +1336,114 @@ keybind.toggle_menus.name = メニュー切り替㈠keybind.chat_history_prev.name = å‰ã®ãƒãƒ£ãƒƒãƒˆå±¥æ­´ keybind.chat_history_next.name = 次ã®ãƒãƒ£ãƒƒãƒˆå±¥æ­´ keybind.chat_scroll.name = ãƒãƒ£ãƒƒãƒˆã‚¹ã‚¯ãƒ­ãƒ¼ãƒ« -keybind.chat_mode.name = Change Chat Mode +keybind.chat_mode.name = ãƒãƒ£ãƒƒãƒˆãƒ¢ãƒ¼ãƒ‰ã®å¤‰æ›´ keybind.drop_unit.name = ドロップユニット keybind.zoom_minimap.name = ミニマップã®ã‚ºãƒ¼ãƒ  mode.help.title = モード説明 mode.survival.name = サãƒã‚¤ãƒãƒ« -mode.survival.description = 通常ã®ãƒ¢ãƒ¼ãƒ‰ã§ã™ã€‚ 資æºã‚‚é™ã‚‰ã‚Œã‚‹ä¸­ã€è‡ªå‹•çš„ã«ã‚¦ã‚§ãƒ¼ãƒ–ãŒé€²è¡Œã—ã¦ã„ãã¾ã™ã€‚\n[gray]プレイã™ã‚‹ã«ã¯ã€ãƒžãƒƒãƒ—ã«æ•µãŒå‡ºç¾ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ +mode.survival.description = 通常ã®ãƒ¢ãƒ¼ãƒ‰ã§ã™ã€‚資æºã‚‚é™ã‚‰ã‚Œã‚‹ä¸­ã€è‡ªå‹•çš„ã«ã‚¦ã‚§ãƒ¼ãƒ–ãŒé€²è¡Œã—ã¦ã„ãã¾ã™ã€‚\n[gray]ãƒžãƒƒãƒ—ã«æ•µã®å‡ºç¾è¨­å®šãŒå¿…è¦ã§ã™ã€‚ mode.sandbox.name = サンドボックス mode.sandbox.description = ç„¡é™ã®è³‡æºãŒã‚りã€ã‚¦ã‚§ãƒ¼ãƒ–を自由ã«é€²è¡Œã§ãã¾ã™ã€‚ -mode.editor.name = Editor +mode.editor.name = エディター mode.pvp.name = PvP -mode.pvp.description = エリア内ã§ä»–ã®ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã¨æˆ¦ã„ã¾ã™ã€‚\n[gray]プレイã™ã‚‹ã«ã¯ã€ãƒžãƒƒãƒ—ã«å°‘ãªãã¨ã‚‚二ã¤ã®ç•°ãªã‚‹è‰²ã®ã‚³ã‚¢ãŒå¿…è¦ã§ã™ã€‚ +mode.pvp.description = エリア内ã§ä»–ã®ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ã¨æˆ¦ã„ã¾ã™ã€‚\n[gray]マップã«å°‘ãªãã¨ã‚‚ç•°ãªã‚‹2色ã®ã‚³ã‚¢ãŒå¿…è¦ã§ã™ã€‚ mode.attack.name = アタック -mode.attack.description = ウェーブãŒãªãã€æ•µã®åŸºåœ°ã‚’破壊ã™ã‚‹ã“ã¨ã‚’目指ã—ã¾ã™ã€‚\n[gray]プレイã™ã‚‹ã«ã¯ã€ãƒžãƒƒãƒ—ã«èµ¤è‰²ã®ã‚³ã‚¢ãŒå¿…è¦ã§ã™ã€‚ +mode.attack.description = ウェーブãŒãªãã€æ•µã®åŸºåœ°ã‚’破壊ã™ã‚‹ã“ã¨ã‚’目指ã—ã¾ã™ã€‚\n[gray]マップã«èµ¤è‰²ã®ã‚³ã‚¢ãŒå¿…è¦ã§ã™ã€‚ mode.custom = カスタムルール +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = ç¦æ­¢ãƒ–ロックをéžè¡¨ç¤º rules.infiniteresources = 資æºã®ç„¡é™åŒ– +rules.onlydepositcore = コアã¸ã®æ¬å…¥ã®ã¿ã‚’è¨±å¯ +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = リアクターã®çˆ†ç™º +rules.coreincinerates = 余剰アイテムã®ç„¼å´ +rules.disableworldprocessors = ワールドプロセッサーを無効ã«ã™ã‚‹ rules.schematic = è¨­è¨ˆå›³ã‚’è¨±å¯ rules.wavetimer = ウェーブã®è‡ªå‹•進行 +rules.wavesending = ウェーブスキップ +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = ウェーブ +rules.airUseSpawns = Air units use spawn points rules.attack = アタックモード -rules.buildai = AI 建築 +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = ãƒãƒ¼ãƒ ã®æœ€å°‘人数 +rules.rtsmaxsquadsize = ãƒãƒ¼ãƒ ã®æœ€å¤§äººæ•° +rules.rtsminattackweight = æœ€å°æ”»æ’ƒåŠ› +rules.cleanupdeadteams = 敗北ã—ãŸãƒãƒ¼ãƒ ã®å»ºè¨­ç‰©ã‚’片付ã‘ã‚‹ (PvP) +rules.corecapture = 破壊時ã«ã‚³ã‚¢ã‚’å¥ªå– +rules.polygoncoreprotection = 多角形ã®å»ºè¨­ç¦æ­¢åŒºåŸŸã®è¨­å®š +rules.placerangecheck = é…置範囲ã®ç¢ºèª rules.enemyCheat = 敵(赤ãƒãƒ¼ãƒ )ã®è³‡æºã®ç„¡é™åŒ– rules.blockhealthmultiplier = ブロックã®ä½“力å€çއ rules.blockdamagemultiplier = ブロックã®ãƒ€ãƒ¡ãƒ¼ã‚¸å€çއ rules.unitbuildspeedmultiplier = ユニットã®è£½é€ é€Ÿåº¦å€çއ +rules.unitcostmultiplier = ユニットã®è£½é€ ã‚³ã‚¹ãƒˆå€çއ rules.unithealthmultiplier = ユニットã®ä½“力å€çއ rules.unitdamagemultiplier = ユニットã®ãƒ€ãƒ¡ãƒ¼ã‚¸å€çއ +rules.unitcrashdamagemultiplier = ユニットã®è¡çªãƒ€ãƒ¡ãƒ¼ã‚¸å€çއ +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = 太陽光ã®å€çއ +rules.unitcapvariable = コア数ã«ã‚ˆã£ã¦ãƒ¦ãƒ‹ãƒƒãƒˆä¸Šé™ã‚’変動 +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = åŸºç¤Žãƒ¦ãƒ‹ãƒƒãƒˆä¸Šé™æ•° +rules.limitarea = ãƒžãƒƒãƒ—ã‚¨ãƒªã‚¢ã‚’åˆ¶é™ rules.enemycorebuildradius = 敵コア周辺ã®å»ºè¨­ç¦æ­¢åŒºåŸŸã®åŠå¾„:[lightgray] (タイル) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = ウェーブ間ã®å¾…機時間:[lightgray] (ç§’) +rules.initialwavespacing = 第1ウェーブã®å¾…機時間 [lightgray] (ç§’) rules.buildcostmultiplier = 建設コストã®å€çއ rules.buildspeedmultiplier = 建設速度ã®å€çއ rules.deconstructrefundmultiplier = ブロック破壊時ã®é‚„å…ƒå€çއ rules.waitForWaveToEnd = 敵ãŒå€’ã•れるã¾ã§ã‚¦ã‚§ãƒ¼ãƒ–ã®é€²è¡Œã‚’中断 +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = 出ç¾ç¯„囲ã®åŠå¾„:[lightgray] (タイル) rules.unitammo = ユニットã¯å¼¾ä¸¸ãŒå¿…è¦ +rules.enemyteam = 敵ãƒãƒ¼ãƒ  +rules.playerteam = プレイヤーãƒãƒ¼ãƒ  rules.title.waves = ウェーブ rules.title.resourcesbuilding = è³‡æº & 建設 rules.title.enemy = 敵 rules.title.unit = ユニット rules.title.experimental = 実験的ãªã‚²ãƒ¼ãƒ ãƒ—レイ rules.title.environment = 環境 +rules.title.teams = ãƒãƒ¼ãƒ  +rules.title.planet = 惑星 rules.lighting = 霧 -rules.enemyLights = Enemy Lights -rules.fire = Fire +rules.fog = 戦場ã®éœ§ +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = ç«ç½ +rules.anyenv = rules.explosions = 爆発ダメージ rules.ambientlight = 霧ã®è‰² rules.weather = 気象 rules.weather.frequency = 頻度: -rules.weather.always = Always +rules.weather.always = 常時 rules.weather.duration = 継続時間: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = アイテム content.liquid.name = 液体 content.unit.name = ユニット content.block.name = ブロック +content.status.name = ステータス効果 content.sector.name = セクター +content.team.name = 派閥 +wallore = (å£) item.copper.name = 銅 item.lead.name = 鉛 @@ -992,10 +1461,24 @@ item.blast-compound.name = 爆発性化åˆç‰© item.pyratite.name = ピラタイト item.metaglass.name = メタガラス item.scrap.name = スクラップ +item.fissile-matter.name = 核分裂性物質 +item.beryllium.name = ベリリウム +item.tungsten.name = タングステン +item.oxide.name = 酸化物 +item.carbide.name = 炭化物 +item.dormant-cyst.name = 䏿´»æ€§ãªåš¢èƒž + liquid.water.name = æ°´ liquid.slag.name = スラグ liquid.oil.name = 石油 liquid.cryofluid.name = 冷崿°´ +liquid.neoplasm.name = ãƒã‚ªãƒ—ラズム +liquid.arkycite.name = アーキサイト +liquid.gallium.name = ガリウム +liquid.ozone.name = オゾン +liquid.hydrogen.name = æ°´ç´  +liquid.nitrogen.name = 窒素 +liquid.cyanogen.name = シアン unit.dagger.name = ダガー unit.mace.name = メイス @@ -1023,6 +1506,11 @@ unit.minke.name = ミンク unit.bryde.name = ブライド unit.sei.name = セイ unit.omura.name = オムラ +unit.retusa.name = レトゥーザ +unit.oxynoe.name = オキシノ +unit.cyerce.name = サイラス +unit.aegires.name = エイガース +unit.navanax.name = ナãƒãƒŠãƒƒã‚¯ã‚¹ unit.alpha.name = アルファ unit.beta.name = ベータ unit.gamma.name = ガンマ @@ -1030,14 +1518,36 @@ unit.scepter.name = セプター unit.reign.name = レイン unit.vela.name = ヴェラ unit.corvus.name = コーãƒã‚¹ +unit.stell.name = ステル +unit.locus.name = ローカス +unit.precept.name = プリセプト +unit.vanquish.name = ヴァンキッシュ +unit.conquer.name = コンカ― +unit.merui.name = メルイ +unit.cleroi.name = クレロイ +unit.anthicus.name = アンティカス +unit.tecta.name = テクタ +unit.collaris.name = コラリス +unit.elude.name = アルード +unit.avert.name = アヴァート +unit.obviate.name = オヴィエート +unit.quell.name = クヱル +unit.disrupt.name = ディスラプト +unit.evoke.name = エヴォーク +unit.incite.name = インサイト +unit.emanate.name = エマãƒãƒ¼ãƒˆ +unit.manifold.name = マニホールド +unit.assembly-drone.name = 組立ドローン +unit.latum.name = ラトゥム +unit.renale.name = レナール -block.resupply-point.name = 補給ãƒã‚¤ãƒ³ãƒˆ block.parallax.name = パララックス block.cliff.name = å´– block.sand-boulder.name = 巨大ãªç¤« block.basalt-boulder.name = 玄武岩ã®ç¤« block.grass.name = è‰ -block.slag.name = スラグ +block.molten-slag.name = スラグ +block.pooled-cryofluid.name = 冷崿°´ block.space.name = Space block.salt.name = 岩塩氷河 block.salt-wall.name = å¡©ã®å£ @@ -1065,24 +1575,28 @@ block.graphite-press.name = 黒鉛圧縮機 block.multi-press.name = マルãƒåœ§ç¸®æ©Ÿ block.constructing = {0}\n[lightgray](建設中) block.spawn.name = 敵ã®å‡ºç¾å ´æ‰€ +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = コア: シャード block.core-foundation.name = コア: ファンデーション block.core-nucleus.name = コア: ニュークリアス -block.deepwater.name = 深層水 -block.water.name = æ°´ -block.tainted-water.name = æ±šã‚ŒãŸæ°´ +block.deep-water.name = 深層水 +block.shallow-water.name = æ°´ +block.tainted-water.name = 汚水 +block.deep-tainted-water.name = 深層汚水 block.darksand-tainted-water.name = é»’ã„ç ‚ã§æ±šã‚ŒãŸæ°´ block.tar.name = タール block.stone.name = 石 -block.sand.name = ç ‚ +block.sand-floor.name = ç ‚ block.darksand.name = é»’ã„ç ‚ block.ice.name = æ°· block.snow.name = 雪 -block.craters.name = クレーター +block.crater-stone.name = クレーター block.sand-water.name = æ¿ã£ãŸæ°´ block.darksand-water.name = é»’ã„ç ‚ã§æ¿ã£ãŸæ°´ block.char.name = 焦ã’è·¡ block.dacite.name = デイサイト +block.rhyolite.name = æµç´‹å²© block.dacite-wall.name = デイサイトã®å£ block.dacite-boulder.name = デイサイトã®ç¤« block.ice-snow.name = 雪氷 @@ -1094,12 +1608,13 @@ block.pine.name = æ¾ã®æœ¨ block.dirt.name = æ³¥ block.dirt-wall.name = æ³¥ã®å£ block.mud.name = 汚泥 -block.white-tree-dead.name = ç™½ã„æž¯ã‚ŒãŸæ¨¹æœ¨ +block.white-tree-dead.name = 枯れãŸç™½ã„樹木 block.white-tree.name = ç™½ã„æ¨¹æœ¨ block.spore-cluster.name = 胞å­ã®æˆ¿ block.metal-floor.name = 金属製ã®åœ°é¢ 1 block.metal-floor-2.name = 金属製ã®åœ°é¢ 2 block.metal-floor-3.name = 金属製ã®åœ°é¢ 3 +block.metal-floor-4.name = 金属製ã®åœ°é¢ 4 block.metal-floor-5.name = 金属製ã®åœ°é¢ 5 block.metal-floor-damaged.name = 破壊ã•れãŸé‡‘属製ã®åœ°é¢ block.dark-panel-1.name = ダークパãƒãƒ« 1 @@ -1139,6 +1654,9 @@ block.distributor.name = ディストリビューター block.sorter.name = ソーター block.inverted-sorter.name = å転ソーター block.message.name = メッセージブロック +block.reinforced-message.name = 強化ã•れãŸãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ–ロック +block.world-message.name = ワールドメッセージブロック +block.world-switch.name = World Switch block.illuminator.name = イルミãƒãƒ¼ã‚¿ãƒ¼ block.overflow-gate.name = オーãƒãƒ¼ãƒ•ローゲート block.underflow-gate.name = アンダーフローゲート @@ -1190,20 +1708,22 @@ block.solar-panel.name = ソーラーパãƒãƒ« block.solar-panel-large.name = 大型ソーラーパãƒãƒ« block.oil-extractor.name = 石油抽出機 block.repair-point.name = 修復ãƒã‚¤ãƒ³ãƒˆ +block.repair-turret.name = 修復タレット block.pulse-conduit.name = パルスパイプ block.plated-conduit.name = メッキパイプ block.phase-conduit.name = フェーズパイプ block.liquid-router.name = 液体ルーター block.liquid-tank.name = 液体タンク +block.liquid-container.name = 液体コンテナ block.liquid-junction.name = 液体ジャンクション block.bridge-conduit.name = ブリッジパイプ block.rotary-pump.name = ロータリーãƒãƒ³ãƒ— block.thorium-reactor.name = トリウムリアクター block.mass-driver.name = マスドライãƒãƒ¼ block.blast-drill.name = エアブラストドリル -block.thermal-pump.name = サーマルãƒãƒ³ãƒ— +block.impulse-pump.name = サーマルãƒãƒ³ãƒ— block.thermal-generator.name = サーマル発電機 -block.alloy-smelter.name = åˆé‡‘溶鉱炉 +block.surge-smelter.name = åˆé‡‘溶鉱炉 block.mender.name = 修復機 block.mend-projector.name = 修復プロジェクター block.surge-wall.name = サージåˆé‡‘ã®å£ @@ -1220,26 +1740,191 @@ block.meltdown.name = メルトダウン block.foreshadow.name = フォーシャドウ block.container.name = コンテナー block.launch-pad.name = ç™ºå°„å° -block.launch-pad-large.name = å¤§åž‹ç™ºå°„å° +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = セグメント -block.command-center.name = å¸ä»¤å¡” block.ground-factory.name = 陸è»å·¥å ´ block.air-factory.name = 空è»å·¥å ´ block.naval-factory.name = æµ·è»å·¥å ´ -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = マスコンベアー +block.additive-reconstructor.name = 加法å¼å†æ§‹æˆå·¥å ´ +block.multiplicative-reconstructor.name = 乗法å¼å†æ§‹æˆå·¥å ´ +block.exponential-reconstructor.name = 指数å¼å†æ§‹æˆå·¥å ´ +block.tetrative-reconstructor.name = 超冪å¼å†æ§‹æˆå·¥å ´ +block.payload-conveyor.name = ペイロードコンベアー block.payload-router.name = ペイロードルーター +block.duct.name = ダクト +block.duct-router.name = ダクトルーター +block.duct-bridge.name = ダクトブリッジ +block.large-payload-mass-driver.name = 大型ペイロードマスドライãƒãƒ¼ +block.payload-void.name = ペイロードボイド +block.payload-source.name = ペイロードソース block.disassembler.name = ディスアセンブラー block.silicon-crucible.name = シリコンクルーシブル block.overdrive-dome.name = 加速ドーム -#experimental, may be removed -block.block-forge.name = ブロックフォージ -block.block-loader.name = ブロックç©è¼‰æ©Ÿ -block.block-unloader.name = ブロックæ¬å‡ºæ©Ÿ block.interplanetary-accelerator.name = 惑星間加速器 +block.constructor.name = コンストラクター +block.constructor.description = 最大ã§2x2ã®å¤§ãã•ã®æ§‹é€ ç‰©ã‚’建造ã—ã¾ã™ã€‚ +block.large-constructor.name = 大型コンストラクター +block.large-constructor.description = 最大ã§4x4ã®å¤§ãã•ã®æ§‹é€ ç‰©ã‚’建造ã—ã¾ã™ã€‚ +block.deconstructor.name = デコンストラクター +block.deconstructor.description = 構造物やユニットを解体ã—ã¾ã™ã€‚建造費ã®100ï¼…ãŒæˆ»ã£ã¦ãã¾ã™ã€‚ +block.payload-loader.name = ペイロードæ¬å…¥æ©Ÿ +block.payload-loader.description = 液体や資æºã‚’ãƒ–ãƒ­ãƒƒã‚¯ã«æ¬å…¥ã—ã¾ã™ã€‚ +block.payload-unloader.name = ペイロードæ¬å‡ºæ©Ÿ +block.payload-unloader.description = ブロックã‹ã‚‰æ¶²ä½“や資æºã‚’æ¬å‡ºã—ã¾ã™ã€‚ +block.heat-source.name = ç†±æº +block.heat-source.description = 1x1ã®ç†±æºã§ã™ã€‚ +block.empty.name = 空白 +block.rhyolite-crater.name = ライオライトクレーター +block.rough-rhyolite.name = ç²—ã„ライオライト +block.regolith.name = レゴリス +block.yellow-stone.name = 黄色ã„石 +block.carbon-stone.name = 炭素質ã®çŸ³ +block.ferric-stone.name = 鉄分質ã®çŸ³ +block.ferric-craters.name = 鉄分質ã®ã‚¯ãƒ¬ãƒ¼ã‚¿ãƒ¼ +block.beryllic-stone.name = ベリリウム質ã®çŸ³ +block.crystalline-stone.name = 水晶質ã®çŸ³ +block.crystal-floor.name = æ°´æ™¶ã®åºŠ +block.yellow-stone-plates.name = 黄色ã„çŸ³ã®æ¿ +block.red-stone.name = 赤ã„石 +block.dense-red-stone.name = 高密度ã®èµ¤ã„石 +block.red-ice.name = èµ¤ã„æ°· +block.arkycite-floor.name = アーキサイトã®åºŠ +block.arkyic-stone.name = アーキサイト質ã®çŸ³ +block.rhyolite-vent.name = ライオライトジェット +block.carbon-vent.name = カーボンジェット +block.arkyic-vent.name = アーキサイトジェット +block.yellow-stone-vent.name = イエローストーンジェット +block.red-stone-vent.name = レッドストーンジェット +block.crystalline-vent.name = クリスタルジェット +block.redmat.name = レッドマット +block.bluemat.name = ブルーマット +block.core-zone.name = コアゾーン +block.regolith-wall.name = レゴリスã®å£ +block.yellow-stone-wall.name = 黄色ã„石ã®å£ +block.rhyolite-wall.name = ライオライトã®å£ +block.carbon-wall.name = ç‚­ç´ ã®å£ +block.ferric-stone-wall.name = 鉄分質ã®çŸ³ã®å£ +block.beryllic-stone-wall.name = ベリリウム質ã®çŸ³ã®å£ +block.arkyic-wall.name = アーキサイトã®å£ +block.crystalline-stone-wall.name = 水晶質ã®çŸ³ã®å£ +block.red-ice-wall.name = èµ¤ã„æ°·ã®å£ +block.red-stone-wall.name = 赤ã„石ã®å£ +block.red-diamond-wall.name = 赤ã„ダイヤモンドã®å£ +block.redweed.name = レッドウィード +block.pur-bush.name = プルブッシュ +block.yellowcoral.name = イエローコーラル +block.carbon-boulder.name = 炭素質ã®ä¸¸çŸ³ +block.ferric-boulder.name = 鉄分質ã®ä¸¸çŸ³ +block.beryllic-boulder.name = ベリリウム質ã®ä¸¸çŸ³ +block.yellow-stone-boulder.name = 黄色ã„丸石 +block.arkyic-boulder.name = アーキサイト質ã®ä¸¸çŸ³ +block.crystal-cluster.name = æ°´æ™¶ã®å¡Š +block.vibrant-crystal-cluster.name = è¼ãæ°´æ™¶ã®å¡Š +block.crystal-blocks.name = 水晶ブロック +block.crystal-orbs.name = 水晶玉 +block.crystalline-boulder.name = 水晶質ã®ä¸¸çŸ³ +block.red-ice-boulder.name = èµ¤ã„æ°·ã®ä¸¸çŸ³ +block.rhyolite-boulder.name = ライオライトã®ä¸¸çŸ³ +block.red-stone-boulder.name = 赤ã„丸石 +block.graphitic-wall.name = 黒鉛ã®å£ +block.silicon-arc-furnace.name = シリコン放電炉 +block.electrolyzer.name = 電解装置 +block.atmospheric-concentrator.name = 窒素濃縮機 +block.oxidation-chamber.name = 酸化ãƒãƒ£ãƒ³ãƒãƒ¼ +block.electric-heater.name = 電気ヒーター +block.slag-heater.name = スラグヒーター +block.phase-heater.name = フェーズヒーター +block.heat-redirector.name = ヒートリダイレクター +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = ヒートルーター +block.slag-incinerator.name = スラグ焼å´ç‚‰ +block.carbide-crucible.name = 炭化物クルーシブル +block.slag-centrifuge.name = スラグé å¿ƒåˆ†é›¢æ©Ÿ +block.surge-crucible.name = サージクルーシブル +block.cyanogen-synthesizer.name = シアンシンセサイザー +block.phase-synthesizer.name = フェーズシンセサイザー +block.heat-reactor.name = ヒートリアクター +block.beryllium-wall.name = ベリリウムã®å£ +block.beryllium-wall-large.name = 大ããªãƒ™ãƒªãƒªã‚¦ãƒ ã®å£ +block.tungsten-wall.name = タングステンã®å£ +block.tungsten-wall-large.name = 大ããªã‚¿ãƒ³ã‚°ã‚¹ãƒ†ãƒ³ã®å£ +block.blast-door.name = ブラストドア +block.carbide-wall.name = 炭化物ã®å£ +block.carbide-wall-large.name = 大ããªç‚­åŒ–物ã®å£ +block.reinforced-surge-wall.name = 強化サージåˆé‡‘ã®å£ +block.reinforced-surge-wall-large.name = 大ããªå¼·åŒ–サージåˆé‡‘ã®å£ +block.shielded-wall.name = ã‚·ãƒ¼ãƒ«ãƒ‰å£ +block.radar.name = レーダー +block.build-tower.name = ビルドタワー +block.regen-projector.name = 復元プロジェクター +block.shockwave-tower.name = ショックウェーブタワー +block.shield-projector.name = シールドプロジェクター +block.large-shield-projector.name = 大型シールドプロジェクター +block.armored-duct.name = 装甲ダクト +block.overflow-duct.name = オーãƒãƒ¼ãƒ•ローダクト +block.underflow-duct.name = アンダーフローダクト +block.duct-unloader.name = ダクトæ¬å‡ºæ©Ÿ +block.surge-conveyor.name = サージコンベアー +block.surge-router.name = サージルーター +block.unit-cargo-loader.name = é‹é€ãƒ¦ãƒ‹ãƒƒãƒˆæ¬å…¥æ©Ÿ +block.unit-cargo-unload-point.name = é‹é€ãƒ¦ãƒ‹ãƒƒãƒˆæ¬å‡ºæ©Ÿ +block.reinforced-pump.name = 強化ãƒãƒ³ãƒ— +block.reinforced-conduit.name = 強化パイプ +block.reinforced-liquid-junction.name = 強化液体ジャンクション +block.reinforced-bridge-conduit.name = 強化液体ブリッジ +block.reinforced-liquid-router.name = 強化液体ルーター +block.reinforced-liquid-container.name = 強化液体コンテナー +block.reinforced-liquid-tank.name = 強化液体タンク +block.beam-node.name = ビームノード +block.beam-tower.name = ビームタワー +block.beam-link.name = ビームリンク +block.turbine-condenser.name = タービンコンデンサー +block.chemical-combustion-chamber.name = 化学燃焼室 +block.pyrolysis-generator.name = パイロリシス発電機 +block.vent-condenser.name = ジェットコンデンサー +block.cliff-crusher.name = クリフ掘削機 +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = プラズマ掘り +block.large-plasma-bore.name = 大ããªãƒ—ラズマ掘り +block.impact-drill.name = インパクトドリル +block.eruption-drill.name = イラプションドリル +block.core-bastion.name = コア:ãƒã‚¹ãƒ†ã‚£ã‚ªãƒ³ +block.core-citadel.name = コア:シタデル +block.core-acropolis.name = コア:アクロãƒãƒªã‚¹ +block.reinforced-container.name = 強化コンテナ +block.reinforced-vault.name = 強化ボールト +block.breach.name = ブリーム+block.sublimate.name = サブリメート +block.titan.name = タイタン +block.disperse.name = ディスパーズ +block.afflict.name = アフリクト +block.lustre.name = ラストル +block.scathe.name = スケース +block.tank-refabricator.name = 戦車å†åР工工場 +block.mech-refabricator.name = メカå†åР工工場 +block.ship-refabricator.name = 戦艦å†åР工工場 +block.tank-assembler.name = 戦車組立工場 +block.ship-assembler.name = 戦艦組立工場 +block.mech-assembler.name = メカ組立工場 +block.reinforced-payload-conveyor.name = 強化ペイロードコンベアー +block.reinforced-payload-router.name = 強化ペイロードルーター +block.payload-mass-driver.name = ペイロードマスドライãƒãƒ¼ +block.small-deconstructor.name = å°ã•ãªãƒ‡ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒ¼ +block.canvas.name = キャンãƒã‚¹ +block.world-processor.name = ワールドプロセッサー +block.world-cell.name = ワールドセル +block.tank-fabricator.name = 戦車工場 +block.mech-fabricator.name = メカ工場 +block.ship-fabricator.name = 戦艦工場 +block.prime-refabricator.name = 上級å†åР工工場 +block.unit-repair-tower.name = ユニット修ç†ã‚¿ãƒ¯ãƒ¼ +block.diffuse.name = ディフューズ +block.basic-assembler-module.name = 基本組立モジュール +block.smite.name = スマイト +block.malign.name = マライン +block.flux-reactor.name = フラックスリアクター +block.neoplasia-reactor.name = ãƒã‚ªãƒ—ラジアリアクター block.switch.name = スイッムblock.micro-processor.name = マイクロプロセッサー @@ -1249,98 +1934,160 @@ block.logic-display.name = ロジックディスプレイ block.large-logic-display.name = 大型ロジックディスプレイ block.memory-cell.name = メモリーセル block.memory-bank.name = メモリーãƒãƒ³ã‚¯ - -team.blue.name = ブルー +team.malis.name = マリス team.crux.name = レッド team.sharded.name = オレンジ -team.orange.name = オレンジ team.derelict.name = 廃墟 team.green.name = グリーン -team.purple.name = パープル + +team.blue.name = ブルー hint.skip = スキップ -hint.desktopMove = Use [accent][[WASD][] to move. -hint.zoom = [accent]Scroll[] to zoom in or out. -hint.mine = Move near the \uf8c4 copper ore and [accent]tap[] it to mine manually. -hint.desktopShoot = [accent][[Left-click][] to shoot. -hint.depositItems = To transfer items, drag from your ship to the core. -hint.respawn = To respawn as a ship, press [accent][[V][]. -hint.respawn.mobile = You have switched control a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] -hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. -hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it. -hint.placeDrill.mobile = Select the \ue85e[accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. -hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. -hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors. -hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uf838copper.\nUse conveyors and drills to supply them. -hint.breaking = [accent]Right-click[] and drag to break blocks. -hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. -hint.research = Use the \ue875 [accent]Research[] button to research new technology. -hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. -hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. -hint.unitControl.mobile = [accent][Double-tap[] to control friendly units or turrets. -hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. -hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. -hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. -hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. -hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. -hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. -hint.command = Press [accent][[G][] to command nearby units of [accent]similar type[] into formation.\n\nTo command ground units, you must first control another ground unit. -hint.command.mobile = [accent][[Double-tap][] your unit to command nearby units into formation. -hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. -hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. -hint.payloadDrop = Press [accent]][] to drop a payload. -hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. -hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. -hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. -hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. -hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a  [accent]Foundation[] core over the ï¡© [accent]Shard[] core. Make sure it is free from nearby obstructions. -hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. -hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. -hint.coopCampaign = When playing the [accent]co-op campaign[], items that are produced in the current map will also be sent [accent]to your local sectors[].\n\nAny new research done by the host also carries over. +hint.desktopMove = [accent][[WASD][]を使ã„移動ã—ã¾ã™ã€‚ +hint.zoom = [accent]マウスホイール[]ã§ã‚ºãƒ¼ãƒ ã‚¤ãƒ³ã€ã‚ºãƒ¼ãƒ ã‚¢ã‚¦ãƒˆã‚’ã—ã¾ã™ã€‚ +hint.desktopShoot = [accent][[左クリック][]ã§å°„æ’ƒã—ã¾ã™ã€‚ +hint.depositItems = アイテムを移ã™ã«ã¯ã€ã‚·ãƒƒãƒ—ã‹ã‚‰ã‚³ã‚¢ã¸ãƒ‰ãƒ©ãƒƒã‚°ã—ã¾ã™ã€‚ +hint.respawn = シップã¨ã—ã¦ãƒªã‚¹ãƒãƒ¼ãƒ³ã™ã‚‹ã«ã¯ã€[accent][[V][]を押ã—ã¾ã™ã€‚ +hint.respawn.mobile = ユニット/建造物ã®ã‚³ãƒ³ãƒˆãƒ­ãƒ¼ãƒ«ã‚’å¾—ã¾ã—ãŸã€‚シップã¨ã—ã¦ãƒªã‚¹ãƒãƒ¼ãƒ³ã™ã‚‹ã«ã¯ã€[accent]左上ã®ã‚¢ã‚¤ã‚³ãƒ³ã‚’タップã—ã¾ã™ã€‚[] +hint.desktopPause = [accent][[スペース][]を押ã—ã¦ã€ã‚²ãƒ¼ãƒ ã‚’ä¸€æ™‚åœæ­¢ã¨ä¸€æ™‚åœæ­¢ã®è§£é™¤ãŒã§ãã¾ã™ã€‚ +hint.breaking = [accent]å³ã‚¯ãƒªãƒƒã‚¯[]ã¨å³ã‚¯ãƒªãƒƒã‚¯ãƒ‰ãƒ©ãƒƒã‚°ã«ã‚ˆã‚Šãƒ–ロックを壊ã—ã¾ã™ã€‚ +hint.breaking.mobile = å³ä¸‹ã«ã‚ã‚‹\ue817 [accent]ãƒãƒ³ãƒžãƒ¼[]をアクティブã«ã—ã¦ã€ã‚¿ãƒƒãƒ—ã—ã¦ãƒ–ロックを壊ã—ã¾ã™ã€‚\n\n指を1秒間押ã—ãŸã¾ã¾ãƒ‰ãƒ©ãƒƒã‚°ã™ã‚‹ã¨ã€ç¯„å›²é¸æŠžãŒå‡ºæ¥ã¾ã™ã€‚ +hint.blockInfo = [accent]建築メニュー[]ã§ãƒ–ãƒ­ãƒƒã‚¯ã‚’é¸æŠžã—ã€å³å´ã®[accent][[?][]ボタンを押ã™ã¨ã€ãƒ–ãƒ­ãƒƒã‚¯ã®æƒ…å ±ãŒè¡¨ç¤ºã•れã¾ã™ã€‚ +hint.derelict = [accent]放棄[]ã•れã€ã™ã§ã«æ©Ÿèƒ½ã‚’失ã£ãŸå¤ã„åŸºåœ°å»ºé€ ç‰©ã®æ®‹éª¸ã§ã™ã€‚\n\nã“れらã¯[accent]解体[]ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€è³‡æºã«ãªã‚Šã¾ã™ã€‚ +hint.research = \ue875 [accent]研究[]ボタンを押ã—ã¦ã€æ–°ã—ã„テクノロジーを研究ã—ã¾ã™ã€‚ +hint.research.mobile = \ue88c [accent]メニュー[]ã®\ue875 [accent]研究[]ボタンを押ã—ã¦ã€æ–°ã—ã„テクノロジーを研究ã—ã¾ã™ã€‚ +hint.unitControl = [accent][[å·¦ctrl][]を押ã—ãªãŒã‚‰[accent]クリック[]ã™ã‚‹ã¨ã‚¿ãƒ¬ãƒƒãƒˆã‚„味方ユニットをæ“作ã§ãã¾ã™ã€‚ +hint.unitControl.mobile = [accent][ダブルタップ[]ã™ã‚‹ã¨å‘³æ–¹ãƒ¦ãƒ‹ãƒƒãƒˆã‚„タレットをæ“作ã§ãã¾ã™ã€‚ +hint.unitSelectControl = ユニットをæ“作ã™ã‚‹ã«ã¯ã€ [accent][[å·¦Shift][] を押ã—㦠[accent]コマンドモード[] ã«å…¥ã‚Šã¾ã™ã€‚\nコマンドモードã§ã¯ã€ã‚¯ãƒªãƒƒã‚¯ï¼†ãƒ‰ãƒ©ãƒƒã‚°ã§ãƒ¦ãƒ‹ãƒƒãƒˆã‚’é¸æŠžã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ [accent]å³ã‚¯ãƒªãƒƒã‚¯[] ã§å ´æ‰€ã‚„目標物を指定ã—ã€ãã“ã«ã„るユニットを指æ®ã§ãã¾ã™ã€‚ +hint.unitSelectControl.mobile = ユニットをæ“作ã™ã‚‹ã«ã¯ã€ [accent]command[] ボタンを押ã—㦠[accent]コマンドモード[] ã«ã—ã¾ã™ã€‚\nコマンドモードã§ã¯ã€é•·æŠ¼ã—&ドラッグã§ãƒ¦ãƒ‹ãƒƒãƒˆã‚’é¸æŠžã§ãã¾ã™ã€‚場所や目標をタップã™ã‚‹ã¨ã€ãã“ã«ã„るユニットã«å‘½ä»¤ã‚’出ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ +hint.launch = å分ãªè³‡æºã‚’確ä¿ã§ããŸã‚‰ã€å³ä¸‹ã®\ue827 [accent]マップ[]ã‹ã‚‰ã€è¿‘ãã®ã‚»ã‚¯ã‚¿ãƒ¼ã‚’é¸æŠžã—ã¦[accent]発射[]ã§ãã¾ã™ã€‚ +hint.launch.mobile = å分ãªè³‡æºã‚’確ä¿ã§ããŸã‚‰ã€\ue88c [accent]メニュー[]ã®\ue827 [accent]マップ[]ã‹ã‚‰ã€è¿‘ãã®ã‚»ã‚¯ã‚¿ãƒ¼ã‚’é¸æŠžã—ã¦[accent]発射[]ã§ãã¾ã™ã€‚ +hint.schematicSelect = [accent][[F][]を押ã—ãªãŒã‚‰ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ã€ã‚³ãƒ”ー&ペーストã™ã‚‹ãƒ–ãƒ­ãƒƒã‚¯ã‚’é¸æŠžã—ã¾ã™ã€‚\n\n[accent][[ミドルクリック][]ã«ã‚ˆã‚Šã€ï¼‘ã¤ã®ãƒ–ロックタイプをコピーã—ã¾ã™ã€‚ +hint.rebuildSelect = [accent][[B][] を押ã—ãŸã¾ã¾ãƒ‰ãƒ©ãƒƒã‚°ã—ã¦ã€ç ´å£Šã•れãŸãƒ–ãƒ­ãƒƒã‚¯è¨ˆç”»ã‚’é¸æŠžã—ã¾ã™ã€‚\nã“れã«ã‚ˆã‚Šã€ãれらãŒè‡ªå‹•çš„ã«å†å»ºç¯‰ã•れã¾ã™ã€‚ +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = [accent][[å·¦-Ctrl][]を押ã—ãªãŒã‚‰ã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ã‚’ドラッグã™ã‚‹ã¨ã€çµŒè·¯ãŒè‡ªå‹•生æˆã•れã¾ã™ã€‚ +hint.conveyorPathfind.mobile = \ue844 [accent]対角線モード[]を有効ã«ã—ã€ã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ã‚’ドラッグã™ã‚‹ã¨çµŒè·¯ãŒè‡ªå‹•生æˆã—ã¾ã™ã€‚ +hint.boost = [accent][[左シフト][]を押ã—ãŸã¾ã¾ã«ã™ã‚‹ã¨ã€æ“作中ã®ãƒ¦ãƒ‹ãƒƒãƒˆã¯éšœå®³ç‰©ã‚’飛ã³è¶Šãˆã¾ã™ã€‚\n\nå°‘æ•°ã®åœ°ä¸Šãƒ¦ãƒ‹ãƒƒãƒˆã®ã¿ãŒã“ã®ãƒ–ースターをæ­è¼‰ã—ã¦ã„ã¾ã™ã€‚ +hint.payloadPickup = [accent][[[]を押ã—ã¦ã€å°ã•ãªãƒ–ロックã¾ãŸã¯ãƒ¦ãƒ‹ãƒƒãƒˆã‚’æ ¼ç´ã—ã¾ã™ã€‚ +hint.payloadPickup.mobile = [accent]タップ&ホールド[]ã«ã‚ˆã‚Šã€å°ã•ãªãƒ–ロックã¾ãŸã¯ãƒ¦ãƒ‹ãƒƒãƒˆã‚’æ ¼ç´ã—ã¾ã™ã€‚ +hint.payloadDrop = [accent]][]を押ã™ã¨ã€ç©è¼‰ç‰©ã‚’é™ã‚ã—ã¾ã™ã€‚ +hint.payloadDrop.mobile = 空ã„ã¦ã„る場所を[accent]タップ&ホールド[]ã—ã¦ã€ç©è¼‰ç‰©ã‚’é™ã‚ã—ã¾ã™ã€‚ +hint.waveFire = [accent]ウェーブ[]ã‚¿ãƒ¬ãƒƒãƒˆã¯æ°´ã‚’æ¬å…¥ã™ã‚‹ã¨ã€è¿‘ãã®ç«ã‚’è‡ªå‹•çš„ã«æ¶ˆç«ã—ã¾ã™ã€‚ +hint.generator = \uf879 [accent]ç«åŠ›ç™ºé›»æ©Ÿ[]石炭を燃やã—ã€éš£æŽ¥ã™ã‚‹ãƒ–ロックã«é›»åŠ›ã‚’ä¾›çµ¦ã—ã¾ã™ã€‚\n\n電力供給範囲ã¯\uf87f [accent]é›»æºãƒŽãƒ¼ãƒ‰[]ã§æ‹¡å¼µã§ãã¾ã™ã€‚ +hint.guardian = [accent]ガーディアン[]ユニットã¯è£…甲をæ­è¼‰ã—ã¦ã„ã¾ã™ã€‚[accent]銅[]ã‚„[accent]鉛[]ãªã©ã®å¼±ã„弾薬ã¯[scarlet]効果ãŒã‚りã¾ã›ã‚“[]。\n\n強力ãªã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã€ã¾ãŸã¯\uf861デュオ/\uf859サルボーã®å¼¾è–¬ã«\uf835 [accent]黒鉛[]を使用ã—ã¦ã‚¬ãƒ¼ãƒ‡ã‚£ã‚¢ãƒ³ã‚’撃破ã—ã¦ãã ã•ã„。 +hint.coreUpgrade = コア㯠[accent]上ä½ã®ã‚³ã‚¢ã‚’é…ç½®ã™ã‚‹ã“ã¨ã§ã‚¢ãƒƒãƒ—グレードã§ãã¾ã™[]。\n\n \uf869 [accent]シャード[]コアã®ä¸Šã«ã€ \uf868 [accent]ファンデーション[]コアを置ãã¾ã™ã€‚è¿‘ãã«éšœå®³ç‰©ãŒãªã„ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。 +hint.presetLaunch = [accent]フローズン · フォレスト[]ãªã©ã®ç°è‰²ã®[accent]ç€é™¸ã‚¾ãƒ¼ãƒ³ã‚»ã‚¯ã‚¿ãƒ¼[]ã«ã¯ã€ã©ã“ã‹ã‚‰ã§ã‚‚発射ã§ãã‚‹ãŸã‚è¿‘ãã®é ˜åœŸã‚’確ä¿ã™ã‚‹å¿…è¦ã¯ã‚りã¾ã›ã‚“。\n\nã—ã‹ã—ã€ã“ã®ã‚ˆã†ãª[accent]æ•°å­—ã®ã‚»ã‚¯ã‚¿ãƒ¼[]ã§ã¯[accent]ã“ã®é™ã‚Šã§ã¯ã‚りã¾ã›ã‚“[]。 +hint.presetDifficulty = ã“ã®ã‚»ã‚¯ã‚¿ãƒ¼ã¯[scarlet]敵ã®è„…å¨ãƒ¬ãƒ™ãƒ«ãŒé«˜ã„ã§ã™[]。\nã“ã®ã‚ˆã†ãªã‚»ã‚¯ã‚¿ãƒ¼ã¸ã®å‡ºæ’ƒã¯ã€é©åˆ‡ãªæŠ€è¡“ã¨æº–å‚™ãªã—ã«ã¯[accent]ãŠå‹§ã‚ã§ãã¾ã›ã‚“[]。 +hint.coreIncinerate = コアã®ã‚¢ã‚¤ãƒ†ãƒ åŽç´æ•°ã®ä¸Šé™ã«é”ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã¯æ¬å…¥ã•れãš[accent]破棄[]ã•れã¾ã™ã€‚ +hint.factoryControl = ユニット工場㮠[accent]出力先[] を設定ã™ã‚‹ã«ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ¢ãƒ¼ãƒ‰ã§å·¥å ´ãƒ–ロックをクリックã—ã€ãã®å ´æ‰€ã‚’å³ã‚¯ãƒªãƒƒã‚¯ã—ã¾ã™ã€‚\nãã®å·¥å ´ã§ç”Ÿç”£ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ã€è‡ªå‹•çš„ã«ãã“ã«ç§»å‹•ã—ã¾ã™ã€‚ +hint.factoryControl.mobile = ユニット工場㮠[accent]出力先[] を設定ã™ã‚‹ã«ã¯ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ¢ãƒ¼ãƒ‰ã§å·¥å ´ãƒ–ロックをタップã—ã€å ´æ‰€ã‚’タップã—ã¦ãã ã•ã„。\nãã®å·¥å ´ã§ç”Ÿç”£ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆãŒè‡ªå‹•çš„ã«ãã“ã«ç§»å‹•ã—ã¾ã™ã€‚ +gz.mine = 地é¢ã® \uf8c4 [accent]銅鉱石[]ã®è¿‘ãã«ç§»å‹•ã—ã€ã‚¯ãƒªãƒƒã‚¯ã—ã¦æŽ¡æŽ˜ã‚’é–‹å§‹ã—ã¾ã™ã€‚ +gz.mine.mobile = 地é¢ã® \uf8c4 [accent]銅鉱石[]ã®è¿‘ãã«ç§»å‹•ã—ã€ã‚¿ãƒƒãƒ—ã—ã¦æŽ¡æŽ˜ã‚’é–‹å§‹ã—ã¾ã™ã€‚ +gz.research = \ue875 技術ツリーを開ãã¾ã™ã€‚\n\uf870 [accent]機械ドリル[] を探ã—ã¦ã€å³ä¸‹ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰é¸æŠžã—ã¾ã™ã€‚\n銅をクリックã—ã¦é…ç½®ã—ã¾ã™ã€‚ +gz.research.mobile = \ue875 技術ツリーを開ãã¾ã™ã€‚\n\uf870 [accent]機械ドリル[] を探ã—ã¦ã€å³ä¸‹ã®ãƒ¡ãƒ‹ãƒ¥ãƒ¼ã‹ã‚‰é¸æŠžã—ã¾ã™ã€‚\n銅をタップã—ã¦é…ç½®ã—ã¾ã™ã€‚\n\n\ue800 [accent]å³ä¸‹ã®ãƒã‚§ãƒƒã‚¯ãƒžãƒ¼ã‚¯[]ã§ç¢ºå®šã—ã¾ã™ã€‚ +gz.conveyors = \uf896 [accent]コンベア[] を研究ã—ã¦é…ç½®ã—ã€\n採掘ã—ãŸç´ æã‚’ドリルã‹ã‚‰ã‚³ã‚¢ã«ç§»ã—ã¾ã—ょã†ã€‚\n\nドラッグã—ã¦è¤‡æ•°ã®ã‚³ãƒ³ãƒ™ã‚¢ã‚’é…ç½®ã—ã¾ã™ã€‚\n[accent]マウスホイールをスクロール[] ã—ã¦å‘ãを変更ã—ã¾ã™ã€‚ +gz.conveyors.mobile = \uf896 [accent]コンベア[] を研究ã—ã¦é…ç½®ã—ã€\n採掘ã—ãŸç´ æã‚’ドリルã‹ã‚‰ã‚³ã‚¢ã«ç§»ã—ã¾ã—ょã†ã€‚\n\n長押ã—&ドラッグã—ã¦ã€è¤‡æ•°ã®ã‚³ãƒ³ãƒ™ã‚¢ã‚’é…ç½®ã—ã¾ã™ã€‚ +gz.drills = 採掘場所を拡大ã—ã¾ã—ょã†ã€‚\n機械ドリルをã•らã«é…ç½®ã—ã¾ã™ã€‚\n銅を 100個 採掘ã—ã¾ã—ょã†ã€‚ +gz.lead = \uf837 [accent]鉛[] も一般的ã«ä½¿ç”¨ã•れる素æã§ã™ã€‚\nドリルをé…ç½®ã—ã¦é‰›ã‚’採掘ã—ã¾ã—ょã†ã€‚ +gz.moveup = \ue804 ã•らãªã‚‹ç›®çš„ã®ãŸã‚ã«ä¸Šã«ç§»å‹•ã—ã¾ã—ょã†ã€‚ +gz.turrets = \uf861 [accent]デュオ[] を研究ã—ã¦äºŒã¤é…ç½®ã—ã€ã‚³ã‚¢ã‚’守りã¾ã™ã€‚\nデュオã«ã¯ã€ã‚³ãƒ³ãƒ™ã‚¢ã‹ã‚‰ã® \uf838 [accent]弾丸[] ãŒå¿…è¦ã§ã™ã€‚ +gz.duoammo = コンベアを使ã£ã¦ãƒ‡ãƒ¥ã‚ªã«[accent]銅[]を供給ã—ã¦ãã ã•ã„。 +gz.walls = [accent]å£[]ã¯å»ºç‰©ã«å¯¾ã™ã‚‹ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’防ãã“ã¨ãŒã§ãã¾ã™ã€‚\nタレットã®å‘¨ã‚Šã«\uf8ae [accent]銅ã®å£[]ã‚’é…ç½®ã—ã¾ã—ょã†ã€‚ +gz.defend = 敵ãŒè¿«ã£ã¦ãã¾ã—ãŸã€é˜²å¾¡ã™ã‚‹æº–備をã—ã¦ãã ã•ã„。 +gz.aa = 飛行ユニットã¯ã€æ¨™æº–ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã¯ç°¡å˜ã«ã¯å€’ã›ã¾ã›ã‚“。\n\uf860 [accent]スキャッター[] ã¯å„ªã‚ŒãŸå¯¾ç©ºé˜²è¡›ã‚’実ç¾ã§ãã¾ã™ãŒã€å¼¾ä¸¸ã¨ã—㦠\uf837 [accent]鉛[] ãŒå¿…è¦ã§ã™ã€‚ +gz.scatterammo = コンベアを使ã£ã¦ã€[accent]鉛[]をスキャッターã«ä¾›çµ¦ã—ã¦ãã ã•ã„。 +gz.supplyturret = [accent]タレットã¸ã®ä¾›çµ¦ +gz.zone1 = ã“ã“ã¯æ•µã®å‡ºç¾ãƒã‚¤ãƒ³ãƒˆã€‚ +gz.zone2 = ウェーブãŒå§‹ã¾ã‚‹ã¨ã€å††ã®ä¸­ã«æ§‹ç¯‰ã•れãŸã‚‚ã®ã¯ã™ã¹ã¦ç ´å£Šã•れã¾ã™ã€‚ +gz.zone3 = ã‚‚ã†ã™ãウェーブãŒå§‹ã¾ã‚Šã¾ã™ã€‚\n準備をã—ã¦ãã ã•ã„。 +gz.finish = より多ãã®ã‚¿ãƒ¬ãƒƒãƒˆã‚’建設ã—ã€ã‚ˆã‚Šå¤šãã®è³‡æºã‚’採掘ã—ã€\nã™ã¹ã¦ã®ã‚¦ã‚§ãƒ¼ãƒ–ã‹ã‚‰é˜²å¾¡ã—ã¦[accent]セクターをå é ˜[]ã—ã¦ãã ã•ã„。 +onset.mine = クリックã—㦠\uf748 [accent]ベリリウム[] ã‚’å£ã‹ã‚‰æŽ¡æŽ˜ã—ã¾ã—ょã†ã€‚\n\n移動ã™ã‚‹ã«ã¯ [accent][[WASD] を使用ã—ã¦ãã ã•ã„。 +onset.mine.mobile = å£ã‹ã‚‰\uf748 [accent]ベリリウム[]を採掘ã™ã‚‹ã«ã¯ã‚¿ãƒƒãƒ—ã—ã¦ãã ã•ã„。 +onset.research = \ue875 技術ツリーを開ãã¾ã™ã€‚\n \uf73e [accent]タービンコンデンサー[] を研究ã—ã€ã‚¸ã‚§ãƒƒãƒˆãƒ›ãƒ¼ãƒ«ã«é…ç½®ã—ã¾ã—ょã†ã€‚\nã“れã«ã‚ˆã‚Š [accent]電力[] ãŒç”Ÿæˆã•れã¾ã™ã€‚ +onset.bore = \uf741 [accent]プラズマ掘り[]を研究ã—ã¦é…ç½®ã—ã¾ã—ょã†ã€‚\nã“れã«ã‚ˆã‚Šã€å£ã‹ã‚‰ç´ æãŒè‡ªå‹•çš„ã«æŽ¡æŽ˜ã•れã¾ã™ã€‚ +onset.power = プラズマ掘りã«[accent]給電[]ã™ã‚‹ã«ã¯ã€\uf73d [accent]ビームノード[]を研究ã—ã¦é…ç½®ã—ã¾ã™ã€‚\nã‚¿ãƒ¼ãƒ“ãƒ³ã‚³ãƒ³ãƒ‡ãƒ³ã‚µãƒ¼ã‚’ãƒ—ãƒ©ã‚ºãƒžæŽ˜ã‚Šã«æŽ¥ç¶šã—ã¾ã™ã€‚ +onset.ducts = \uf799 [accent]ダクト[]を研究ã—ã¦é…ç½®ã—ã€æŽ¡æŽ˜ã—ãŸè³‡æºã‚’プラズマ掘りã‹ã‚‰ã‚³ã‚¢ã«ç§»ã—ã¾ã—ょã†ã€‚\nドラッグã—ã¦è¤‡æ•°ã®ãƒ€ã‚¯ãƒˆã‚’é…ç½®ã—ã¾ã™ã€‚\n[accent]マウスホイールをスクロール[]ã—ã¦å‘ãを変更ã—ã¾ã™ã€‚ +onset.ducts.mobile = \uf799 [accent]ダクト[] を研究ã—ã¦é…ç½®ã—ã€æŽ¡æŽ˜ã—ãŸè³‡æºã‚’プラズマ掘りã‹ã‚‰ã‚³ã‚¢ã«ç§»ã—ã¾ã—ょã†ã€‚\n\n長押ã—&ドラッグã—ã¦ã€è¤‡æ•°ã®ãƒ€ã‚¯ãƒˆã‚’é…ç½®ã—ã¾ã™ã€‚ +onset.moremine = 採掘場所を拡大ã—ã¾ã—ょã†ã€‚\nã•らã«ãƒ—ラズマ掘りをé…ç½®ã—ã€ãƒ“ームノードã¨ãƒ€ã‚¯ãƒˆã‚’使用ã—ã¦æŽ¡æŽ˜ã—ã¾ã™ã€‚\n200個ã®ãƒ™ãƒªãƒªã‚¦ãƒ ã‚’採掘ã—ã¾ã—ょã†ã€‚ +onset.graphite = より高度ãªãƒ–ロックã«ã¯ \uf835 [accent]黒鉛[] ãŒå¿…è¦ã§ã™ã€‚\n黒鉛を採掘ã™ã‚‹ãŸã‚ã«ãƒ—ラズマ掘りをé…ç½®ã—ã¾ã™ã€‚ +onset.research2 = [accent]工場[]ã®ç ”ç©¶ã‚’å§‹ã‚ã¾ã—ょã†ã€‚\n\uf74d [accent]クリフ掘削機[]ã¨\uf779 [accent]シリコン放電炉[]を研究ã—ã¦ãã ã•ã„。 +onset.arcfurnace = シリコン放電炉㧠\uf82f [accent]シリコン[] を作æˆã™ã‚‹ã«ã¯ã€\uf834 [accent]ç ‚[] 㨠\uf835 [accent]黒鉛[] ãŒå¿…è¦ã§ã™ã€‚\n[accent]電力[] ã‚‚å¿…è¦ã§ã™ã€‚ +onset.crusher = \uf74d [accent]クリフ掘削機[]を使ã£ã¦ç ‚を採掘ã—ã¾ã—ょã†ã€‚ +onset.fabricator = [accent]ユニット[]を使ã£ã¦ãƒžãƒƒãƒ—を探索ã—ã€å»ºç‰©ã‚’å®ˆã‚Šã€æ•µã‚’攻撃ã—ã¦ãã ã•ã„。 \uf6a2 [accent]戦車工場[]を研究ã—ã¦é…ç½®ã—ã¾ã™ã€‚ +onset.makeunit = ユニットを生産ã—ã¾ã™ã€‚\n[[?]を使用ã—ã¾ã™ã€‚ボタンをクリックã—ã¦ã€é¸æŠžã—ãŸå·¥å ´ã®æ¦‚è¦ã‚’確èªã—ã¾ã™ã€‚ +onset.turrets = ユニットã¯åŠ¹æžœçš„ã§ã™ãŒã€[accent]タレット[] ã¯åŠ¹æžœçš„ã«ä½¿ç”¨ã™ã‚Œã°ã‚ˆã‚Šå„ªã‚ŒãŸé˜²å¾¡èƒ½åŠ›ã‚’æä¾›ã—ã¾ã™ã€‚\n\uf6eb [accent]ブリーãƒ[] ã‚’é…ç½®ã—ã¾ã™ã€‚\nタレットã«ã¯ \uf748 [accent]弾丸[] ãŒå¿…è¦ã§ã™ã€‚ +onset.turretammo = タレットã«[accent]ベリリウム弾[]を供給ã—ã¦ãã ã•ã„。 +onset.walls = [accent]å£[]ã¯å»ºç‰©ã«å¯¾ã™ã‚‹ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’防ãã“ã¨ãŒã§ãã¾ã™ã€‚\nç ²å°ã®å‘¨å›²ã« \uf6ee [accent]ベリリウムã®å£[] ã‚’ã„ãã¤ã‹é…ç½®ã—ã¾ã—ょã†ã€‚ +onset.enemies = 敵ãŒè¿«ã£ã¦ãã¾ã—ãŸã€é˜²å¾¡ã™ã‚‹æº–備をã—ã¦ãã ã•ã„。 +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = 敵ã¯è„†å¼±ã§ã™ã€‚åæ’ƒã—ã¾ã—ょã†ï¼ +onset.cores = æ–°ã—ã„コア㯠[accent]コアタイル[] ã«é…ç½®ã§ãã¾ã™ã€‚\næ–°ã—ã„コアã¯å‰ç·šåŸºåœ°ã¨ã—ã¦æ©Ÿèƒ½ã—ã€ãƒªã‚½ãƒ¼ã‚¹ã‚¤ãƒ³ãƒ™ãƒ³ãƒˆãƒªã‚’ä»–ã®ã‚³ã‚¢ã¨å…±æœ‰ã—ã¾ã™ã€‚\n\uf725 コアをé…ç½®ã—ã¾ã—ょã†ã€‚ +onset.detect = 敵㯠2 分以内ã«ã‚ãªãŸã‚’見ã¤ã‘ã¾ã™ã€‚\né˜²å¾¡ã€æŽ¡æŽ˜ã€ç”Ÿç”£ã‚’用æ„ã—ã¾ã—ょã†ã€‚ +onset.commandmode = [accent]shift[] を押ã—ãªãŒã‚‰ [accent]コマンドモード[] ã«ç§»è¡Œã—ã¾ã™ã€‚\n[accent]左クリック&ドラッグ[] ã§ãƒ¦ãƒ‹ãƒƒãƒˆã‚’é¸æŠžã—ã¾ã™ã€‚\n[accent]å³ã‚¯ãƒªãƒƒã‚¯[] ã‚’ã™ã‚‹ã¨ã€é¸æŠžã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆã«ç§»å‹•や攻撃ãªã©ã®å‘½ä»¤ã‚’ã—ã¾ã™ã€‚ +onset.commandmode.mobile = [accent]コマンドボタン[] を押ã—㦠[accent]コマンドモード[] ã«ã—ã¾ã™ã€‚\n長押ã—ã—ãªãŒã‚‰ [accent]ドラッグ[] ã§ãƒ¦ãƒ‹ãƒƒãƒˆã‚’é¸æŠžã—ã¾ã™ã€‚\n[accent]タップ[] ã§é¸æŠžã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆã«ç§»å‹•や攻撃ãªã©ã®å‘½ä»¤ã‚’ã—ã¾ã™ã€‚ +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = 一部ã®ãƒ–ロックã¯ã‚³ã‚¢ãƒ¦ãƒ‹ãƒƒãƒˆã§æ‹¾ã†ã“ã¨ãŒã§ãã¾ã™ã€‚\nã“ã® [accent]コンテナ[] を拾ã„ã€[accent]ペイロードæ¬å…¥æ©Ÿ[] ã«é…ç½®ã—ã¾ã™ã€‚\n(デフォルトã®ã‚­ãƒ¼ã¯ [ and ] ã§ã€æ‹¾ã£ãŸã‚Šç½®ã„ãŸã‚Šã§ãã¾ã™ã€‚) +split.pickup.mobile = 一部ã®ãƒ–ロックã¯ã‚³ã‚¢ãƒ¦ãƒ‹ãƒƒãƒˆã§æ‹¾ã†ã“ã¨ãŒã§ãã¾ã™ã€‚\nã“ã®[accent]コンテナ[]を拾ã„ã€[accent]ペイロードæ¬å…¥æ©Ÿ[]ã«é…ç½®ã—ã¾ã™ã€‚\n(何ã‹ã‚’拾ã£ãŸã‚Šç½®ã„ãŸã‚Šã™ã‚‹ã«ã¯ã€é•·æŠ¼ã—ã—ã¾ã™ã€‚) +split.acquire = ユニットを構築ã™ã‚‹ã«ã¯ã€ã‚¿ãƒ³ã‚°ã‚¹ãƒ†ãƒ³ã‚’入手ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ +split.build = ユニットã¯å£ã®å対å´ã«è¼¸é€ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚\nå£ã®ä¸¡å´ã« 1 ã¤ãšã¤ã€2 ã¤ã® [accent]ペイロードマスドライãƒãƒ¼[] ã‚’é…ç½®ã—ã¾ã™ã€‚\nãã®ã†ã¡ã® 1 ã¤ã‚’é¸æŠžã—ã¦ãƒªãƒ³ã‚¯ã‚’設定ã—ã€æ¬¡ã«ã‚‚ㆠ1 ã¤ã‚’é¸æŠžã—ã¾ã™ã€‚ +split.container = コンテナã¨åŒæ§˜ã«ã€[accent]ペイロードマスドライãƒãƒ¼[]を使用ã—ã¦ãƒ¦ãƒ‹ãƒƒãƒˆã‚’輸é€ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚\nユニット工場をマスドライãƒãƒ¼ã®éš£ã«é…ç½®ã—ã¦ç©ã¿è¾¼ã¿ã€å£ã‚’è¶Šãˆã¦æ•µã®åŸºåœ°ã‚’攻撃ã—ã¾ã™ã€‚ -item.copper.description = 便利ãªé‰±çŸ³ã§ã™ã€‚様々ãªãƒ–ãƒ­ãƒƒã‚¯ã®ææ–™ã¨ã—ã¦å¹…広ã使ã‚れã¦ã„ã¾ã™ã€‚ -item.copper.details = セルプロã«è±Šå¯Œãªé‡‘属。補強ã—ãªã„é™ã‚Šæ§‹é€ çš„ã«å¼±ã„。 -item.lead.description = ä¸€èˆ¬çš„ã§æ‰‹è»½ãªé‰±çŸ³ã§ã™ã€‚機械や液体輸é€ãƒ–ロックãªã©ã«ä½¿ã‚れã¾ã™ã€‚ -item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. -item.metaglass.description = ã¨ã¦ã‚‚頑丈ãªå¼·åŒ–ガラスã§ã™ã€‚液体ã®è¼¸é€ã‚„タンクã¨ã—ã¦å¹…広ã使ã‚れã¦ã„ã¾ã™ã€‚ +item.copper.description = 便利ãªé‰±çŸ³ã§ã™ã€‚\n多様ãªãƒ–ãƒ­ãƒƒã‚¯ã®ææ–™ã¨ã—ã¦å¹…広ã使ã‚れã¦ã„ã¾ã™ã€‚ +item.copper.details = セルプロã«è±Šå¯Œãªé‡‘属ã§ã™ã€‚\n補強ã—ãªã„é™ã‚Šæ§‹é€ çš„ã«å¼±ã„ã§ã™ã€‚ +item.lead.description = ä¸€èˆ¬çš„ã§æ‰‹è»½ãªé‰±çŸ³ã§ã™ã€‚\n機械や液体輸é€ãƒ–ロックãªã©ã«ä½¿ã‚れã¾ã™ã€‚ +item.lead.details = 高密度ã§ä¸æ´»æ€§ã§ã™ã€‚ãƒãƒƒãƒ†ãƒªãƒ¼ã«ã‚ˆã利用ã•れã¾ã™ã€‚\nノート: ç”Ÿç‰©å­¦çš„ã«æœ‰æ¯’ã§ã‚ã‚‹å¯èƒ½æ€§ãŒã‚りã¾ã™ã€‚ã“ã®ã‚ãŸã‚Šã«ã¯ç”Ÿå‘½ãŒã‚ã¾ã‚Šè¦‹ã‚‰ã‚Œã¾ã›ã‚“。 +item.metaglass.description = ã¨ã¦ã‚‚頑丈ãªå¼·åŒ–ガラスã§ã™ã€‚\n液体ã®è¼¸é€ã‚„タンクã€å·¥å ´ãªã©ã«å¹…広ã使ã‚れã¦ã„ã¾ã™ã€‚ item.graphite.description = 弾薬や絶ç¸ä½“ã¨ã—ã¦åˆ©ç”¨ã•れã¦ã„ã¾ã™ã€‚ item.sand.description = åˆé‡‘ã‚„èžå‰¤ãªã©åºƒã使用ã•れã¦ã„ã‚‹ä¸€èˆ¬çš„ãªææ–™ã§ã™ã€‚ item.coal.description = ä¸€èˆ¬çš„ã§æœ‰ç”¨ãªç‡ƒæ–™ã§ã™ã€‚ -item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. -item.titanium.description = 希少ã§éžå¸¸ã«è»½é‡ãªé‡‘属ã§ã™ã€‚液体輸é€ã‚„ドリルã€èˆªç©ºæ©Ÿãªã©ã§ä½¿ã‚れã¾ã™ã€‚ -item.thorium.description = 放射性をæŒã¤é«˜å¯†åº¦ãªé‡‘属ã§ã™ã€‚å»ºé€ ç‰©ã®æ”¯ãˆã‚„核燃料ã¨ã—ã¦ä½¿ã‚れã¾ã™ã€‚ -item.scrap.description = 昔ã®å»ºé€ ç‰©ã‚„ãƒ¦ãƒ‹ãƒƒãƒˆã®æ®‹éª¸ã§ã™ã€‚様々ãªç¨®é¡žã®é‡‘属ãŒå¾®é‡ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ -item.scrap.details = Leftover remnants of old structures and units. +item.coal.details = 化石化ã—ãŸæ¤ç‰©ã®ã‚ˆã†ã§\n利用方法ãŒç¢ºç«‹ã•れるã¯ã‚‹ã‹å‰ã«å½¢æˆã•れã¾ã—ãŸã€‚ +item.titanium.description = 希少ã§éžå¸¸ã«è»½é‡ãªé‡‘属ã§ã™ã€‚\n液体輸é€ã‚„ドリルã€èˆªç©ºæ©Ÿãªã©ã§ä½¿ã‚れã¾ã™ã€‚ +item.thorium.description = 放射性をæŒã¤é«˜å¯†åº¦ãªé‡‘属ã§ã™ã€‚\nå»ºé€ ç‰©ã®æ”¯ãˆã‚„核燃料ã¨ã—ã¦ä½¿ã‚れã¾ã™ã€‚ +item.scrap.description = 昔ã®å»ºé€ ç‰©ã‚„ãƒ¦ãƒ‹ãƒƒãƒˆã®æ®‹éª¸ã§ã™ã€‚\n多種多様ã®é‡‘属ãŒå¾®é‡ã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚ +item.scrap.details = å¤ã„å»ºé€ ç‰©ã‚„ãƒ¦ãƒ‹ãƒƒãƒˆã®æ®‹éª¸ã§ã™ã€‚ item.silicon.description = éžå¸¸ã«æœ‰ç”¨ãªåŠå°Žä½“ã§ã‚½ãƒ¼ãƒ©ãƒ¼ãƒ‘ãƒãƒ«ã‚„多ãã®è¤‡é›‘ãªæ©Ÿæ¢°ã«å¿œç”¨ã§ãã¾ã™ã€‚ -item.plastanium.description = 軽é‡ã§ä¼¸ç¸®æ€§ã®ã‚ã‚‹ææ–™ã§ã™ã€‚高度ãªèˆªç©ºæ©Ÿã‚„分散型ã®å¼¾è–¬ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ -item.phase-fabric.description = 極ã‚ã¦è»½é‡ãªç´ æã§ã™ã€‚é«˜åº¦ãªæ©Ÿæ¢°ã‚„自己修復技術ã«ä½¿ç”¨ã•れã¾ã™ã€‚ +item.plastanium.description = 軽é‡ã§ä¼¸ç¸®æ€§ã®ã‚ã‚‹ææ–™ã§ã™ã€‚\n高度ãªèˆªç©ºæ©Ÿã‚„分散型ã®å¼¾è–¬ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ +item.phase-fabric.description = 極ã‚ã¦è»½é‡ãªç´ æã§ã™ã€‚\né«˜åº¦ãªæ©Ÿæ¢°ã‚„自己修復技術ã«ä½¿ç”¨ã•れã¾ã™ã€‚ item.surge-alloy.description = 電気的特性をæŒã£ãŸé«˜åº¦ãªåˆé‡‘ã§ã™ã€‚ item.spore-pod.description = 石油や爆薬ã€ç‡ƒæ–™ã¸ã®è»¢æ›ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ -item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. -item.blast-compound.description = 爆弾や爆発物ã«ä½¿ã‚れるä¸å®‰å®šãªåŒ–åˆç‰©ã§ã™ã€‚胞å­ã¨æ®ç™ºæ€§ç‰©è³ªã‹ã‚‰åˆæˆã•れã¾ã™ã€‚燃料ã¨ã—ã¦ç‡ƒã‚„ã™ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€ãŠå‹§ã‚ã—ã¾ã›ã‚“。 +item.spore-pod.details = äººå·¥ç”Ÿå‘½ä½“ã¨æ€ã‚れる胞å­ã§ã™ã€‚\nä»–ã®ç”Ÿç‰©ã«æœ‰æ¯’ãªã‚¬ã‚¹ã‚’放出ã—ã€éžå¸¸ã«ä¾µç•¥çš„ã§ã™ã€‚ç‰¹å®šã®æ¡ä»¶ä¸‹ã§éžå¸¸ã«é«˜ã„å¯ç‡ƒæ€§ã‚’æŒã¡ã¾ã™ã€‚ +item.blast-compound.description = 爆弾や爆発物ã«ä½¿ã‚れるä¸å®‰å®šãªåŒ–åˆç‰©ã§ã™ã€‚\n胞å­ã¨æ®ç™ºæ€§ç‰©è³ªã‹ã‚‰åˆæˆã•れã¾ã™ã€‚燃料ã¨ã—ã¦ç‡ƒã‚„ã™ã“ã¨ã‚‚ã§ãã¾ã™ãŒã€ãŠå‹§ã‚ã—ã¾ã›ã‚“。 item.pyratite.description = 焼夷兵器ãªã©ã«ä½¿ã‚れるéžå¸¸ã«ç‡ƒãˆã‚„ã™ã„物質ã§ã™ã€‚ +item.beryllium.description = エレキルã®å¤šãã®ç¨®é¡žã®å¼¾è–¬ã‚„建造物ã«ä½¿ç”¨ã•れã¦ã„ã¾ã™ã€‚ +item.tungsten.description = ドリルや装甲ã€å¼¾è–¬ã«ä½¿ç”¨ã•れã¾ã™ã€‚高度ãªå»ºé€ ç‰©ã®å»ºé€ ã«ã‚‚å¿…è¦ã§ã™ã€‚ +item.oxide.description = 熱を通ã—ã‚„ã™ã„性質をæŒã£ã¦ã„ã¾ã™ã€‚çµ¶ç¸ä½“ã«ã‚‚使用ã•れã¾ã™ã€‚ +item.carbide.description = 高度ãªå»ºé€ ç‰©ã‚„ユニットã€å¼¾è–¬ã«ä½¿ç”¨ã•れã¾ã™ã€‚ liquid.water.description = 機械ã®å†·å´ã‚„廃棄物ã®å‡¦ç†ãªã©å¹…広ã使ã‚れã¦ã„る液体ã§ã™ã€‚ -liquid.slag.description = 様々ãªç¨®é¡žã®é‰±çŸ³ãŒæ··ã–りåˆã£ã¦ã„ã¾ã™ã€‚ãれãžã‚Œã®é‰±çŸ³ã«åˆ†é¡žã™ã‚‹ã‹ã€å™´å°„ã™ã‚‹æ­¦å™¨ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ +liquid.slag.description = 多種多様ã®é‰±çŸ³ãŒæ··ã–りåˆã£ã¦ã„ã¾ã™ã€‚ãれãžã‚Œã®é‰±çŸ³ã«åˆ†é¡žã™ã‚‹ã‹ã€å™´å°„ã™ã‚‹æ­¦å™¨ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ liquid.oil.description = é«˜åº¦ãªææ–™ç”Ÿç”£ã§ä½¿ç”¨ã•れる液体ã§ã™ã€‚ 燃料ã¨ã—ã¦çŸ³ç‚­ã«å¤‰æ›ã—ãŸã‚Šã€æ­¦å™¨ã¨ã—ã¦å™´éœ§ã—ã¦ç™ºç«ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ liquid.cryofluid.description = æ°´ã¨ãƒã‚¿ãƒ‹ã‚¦ãƒ ã‹ã‚‰ä½œã‚‰ã‚Œã‚‹ä¸æ´»æ€§ã§éžè…é£Ÿæ€§ã®æ¶²ä½“ã§ã™ã€‚ éžå¸¸ã«é«˜ã„熱容é‡ã‚’æŒã£ã¦ã„ã‚‹ãŸã‚ã€å†·å´ã«ä½¿ç”¨ã•れã¾ã™ã€‚ +liquid.arkycite.description = ç™ºé›»ã‚„ææ–™åˆæˆãªã©ã®åŒ–å­¦å応ã«åˆ©ç”¨ã•れã¾ã™ã€‚ +liquid.ozone.description = 原料ã®è£½é€ æ™‚ã®é…¸åŒ–剤や燃料ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ 中程度ã®çˆ†ç™ºæ€§ãŒã‚りã¾ã™ã€‚ +liquid.hydrogen.description = 資æºã®æŠ½å‡ºã€ãƒ¦ãƒ‹ãƒƒãƒˆã®ç”Ÿç”£ã€å»ºé€ ç‰©ã®ä¿®å¾©ã«ä½¿ç”¨ã•れã¾ã™ã€‚ å¯ç‡ƒæ€§ã‚’æŒã¡ã¾ã™ã€‚ +liquid.cyanogen.description = 弾薬ã€é«˜åº¦ãªãƒ¦ãƒ‹ãƒƒãƒˆã®æ§‹ç¯‰ã€ãŠã‚ˆã³é«˜åº¦ãªãƒ–ロックã§ã®ã•ã¾ã–ã¾ãªå応ã«ä½¿ç”¨ã•れã¾ã™ã€‚å¯ç‡ƒæ€§ãŒéžå¸¸ã«é«˜ã„ã§ã™ã€‚ +liquid.nitrogen.description = è³‡æºæŠ½å‡ºã€ã‚¬ã‚¹ç”Ÿæˆã€ãƒ¦ãƒ‹ãƒƒãƒˆç”Ÿç”£ã«ä½¿ç”¨ã•れã¾ã™ã€‚ 化学的ã«å®‰å®šã—ã¦ã„ã¾ã™ã€‚ +liquid.neoplasm.description = æ–°å½¢æˆãƒªã‚¢ã‚¯ã‚¿ãƒ¼ã®å±é™ºãªç”Ÿç‰©å­¦çš„副産物。 隣接ã™ã‚‹æ°´ã‚’å«ã‚€ãƒ–ロックã«ç´ æ—©ã広ãŒã‚Šã€ãã®éŽç¨‹ã§ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¾ã™ã€‚ ãªã‚“ã‹ã€ã­ã°ã­ã°ã—ã¦ã„ã¾ã™ã€‚ +liquid.neoplasm.details = Neoplasm(ãƒã‚ªãƒ—ラズム)。急速ã«åˆ†è£‚ã™ã‚‹åˆæˆç´°èƒžã®åˆ¶å¾¡ä¸èƒ½ãªå¡Šã§ã€ãƒ‰ãƒ­ãƒ‰ãƒ­ã¨ã—ãŸç²˜æ€§ã‚’æŒã¤ã€‚熱ã«å¼·ã„ æ°´ã‚’å«ã‚€æ§‹é€ ç‰©ã«ã¯æ¥µã‚ã¦å±é™ºã€‚\n\n複雑ã§ä¸å®‰å®šãªãŸã‚ã€æ¨™æº–çš„ãªåˆ†æžãŒã§ããªã„。用途ã¯ä¸æ˜Žã€‚スラグã§ã®ç„¼å´ã‚’推奨ã™ã‚‹ã€‚ -block.resupply-point.description = è¿‘ãã®ãƒ¦ãƒ‹ãƒƒãƒˆã«éŠ…ã®å¼¾è–¬ã‚’補給ã—ã¾ã™ã€‚エãƒãƒ«ã‚®ãƒ¼ã‚’å¿…è¦ã¨ã™ã‚‹ãƒ¦ãƒ‹ãƒƒãƒˆã¨ã¯äº’æ›æ€§ãŒã‚りã¾ã›ã‚“。 +block.derelict = \ue815 [lightgray]放棄 block.armored-conveyor.description = ãƒã‚¿ãƒ³ã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ã¨åŒã˜é€Ÿåº¦ã§ã‚¢ã‚¤ãƒ†ãƒ ã‚’輸é€ã™ã‚‹ã“ã¨ãŒã§ãã€è€ä¹…性ã«å„ªã‚Œã¦ã„ã¾ã™ã€‚\nã¾ãŸã€ã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ä»¥å¤–ã«ã‚ˆã‚‹å´é¢ã¸ã®å…¥åŠ›ã‚’å—ã‘入れã¾ã›ã‚“。 block.illuminator.description = 電力ãŒå¿…è¦ãªå…‰æºã§ã™ã€‚ block.message.description = メッセージをä¿å­˜ã—ã€ä»²é–“é–“ã®é€šä¿¡ã«ä½¿ç”¨ã—ã¾ã™ã€‚ +block.reinforced-message.description = メッセージをä¿å­˜ã—ã€ä»²é–“é–“ã®é€šä¿¡ã«ä½¿ç”¨ã—ã¾ã™ã€‚ +block.world-message.description = ãƒžãƒƒãƒ—ä½œæˆæ™‚ã«ä½¿ç”¨ã™ã‚‹ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãƒ–ロックã§ã™ã€‚破壊ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。 block.graphite-press.description = 石炭を圧縮ã—ã€é»’鉛を生æˆã—ã¾ã™ã€‚ block.multi-press.description = 黒鉛圧縮機ã®ã‚¢ãƒƒãƒ—グレード版ã§ã™ã€‚æ°´ã¨é›»åŠ›ã‚’ä½¿ç”¨ã—ã¦ã€ã‚ˆã‚ŠåŠ¹çŽ‡çš„ã«çŸ³ç‚­ã‚’圧縮ã—ã¾ã™ã€‚ block.silicon-smelter.description = 石炭ã¨ç ‚ã‹ã‚‰ã‚·ãƒªã‚³ãƒ³ã‚’製造ã—ã¾ã™ã€‚ block.kiln.description = ç ‚ã¨é‰›ã‚’溶ã‹ã—ã¦ãƒ¡ã‚¿ã‚¬ãƒ©ã‚¹ã‚’生æˆã—ã¾ã™ã€‚å°‘é‡ã®é›»åŠ›ãŒå¿…è¦ã§ã™ã€‚ block.plastanium-compressor.description = オイルã¨ãƒã‚¿ãƒ³ã‹ã‚‰ãƒ—ラスタニウムを製造ã—ã¾ã™ã€‚ block.phase-weaver.description = 放射性トリウムã¨å¤šé‡ã®ç ‚ã‹ã‚‰ãƒ•ェーズファイãƒãƒ¼ã‚’製造ã—ã¾ã™ã€‚ -block.alloy-smelter.description = ãƒã‚¿ãƒ³ã‚„鉛ã€ã‚·ãƒªã‚³ãƒ³ã€éŠ…ã‹ã‚‰ã‚µãƒ¼ã‚¸åˆé‡‘を製造ã—ã¾ã™ã€‚ +block.surge-smelter.description = ãƒã‚¿ãƒ³ã‚„鉛ã€ã‚·ãƒªã‚³ãƒ³ã€éŠ…ã‹ã‚‰ã‚µãƒ¼ã‚¸åˆé‡‘を製造ã—ã¾ã™ã€‚ block.cryofluid-mixer.description = æ°´ã¨ãƒã‚¿ãƒ³ã‹ã‚‰å†·å´ã«åŠ¹çŽ‡çš„ãªå†·å´æ°´ã‚’製造ã—ã¾ã™ã€‚ block.blast-mixer.description = å¯ç‡ƒæ€§ã®ãƒ”ラタイトを石油を使用ã—ã¦ã•らã«çˆ†ç™ºæ€§åŒ–åˆç‰©ã«ã—ã¾ã™ã€‚ block.pyratite-mixer.description = 石炭ã€é‰›ã€ç ‚ã‹ã‚‰ç‡ƒãˆã‚„ã™ã„ピラタイトを製造ã—ã¾ã™ã€‚ -block.melter.description = çŸ³ã‚’ç†±ã§æº¶ã‹ã—ã¦æº¶å²©ã‚’生æˆã—ã¾ã™ã€‚ -block.separator.description = 石を水圧ã§ç •ãã€çŸ³ã«å«ã¾ã‚Œã‚‹æ§˜ã€…ãªé‰±çŸ³ã‚’回åŽã—ã¾ã™ã€‚ +block.melter.description = çŸ³ã‚’ç†±ã§æº¶ã‹ã—ã¦ã‚¹ãƒ©ã‚°ã‚’生æˆã—ã¾ã™ã€‚ +block.separator.description = スラグを分離ã—ã¦ã€å¤šæ§˜ãªé‰±çŸ³ã‚’回åŽã—ã¾ã™ã€‚ block.spore-press.description = 胞å­ãƒãƒƒãƒ‰ã‚’石油ã«åœ§ç¸®ã—ã¾ã™ã€‚ block.pulverizer.description = 石を砕ã„ã¦ç ‚ã«ã—ã¾ã™ã€‚自然ã®ç ‚ãŒãªã„å ´åˆã«æœ‰ç”¨ã§ã™ã€‚ block.coal-centrifuge.description = 石油を石炭ã¸åŠ å·¥ã—ã¾ã™ã€‚ @@ -1351,46 +2098,53 @@ block.item-source.description = アイテムを無é™ã«æ¬å‡ºã—ã¾ã™ã€‚サン block.item-void.description = 電力を必è¦ã¨ã›ãšã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’廃棄ã—ã¾ã™ã€‚サンドボックスモードã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚ block.liquid-source.description = 液体を無é™ã«æ¬å‡ºã—ã¾ã™ã€‚サンドボックスモードã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚ block.liquid-void.description = 液体を破棄ã§ãã¾ã™ã€‚サンドボックスモードã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚ -block.copper-wall.description = 安価ãªé˜²å£ãƒ–ロックã§ã™ã€‚\n最åˆã®ã‚¦ã‚§ãƒ¼ãƒ–ã§ã‚³ã‚¢ã‚„ターレットをä¿è­·ã™ã‚‹ã®ã«æœ‰ç”¨ã§ã™ã€‚ -block.copper-wall-large.description = 安価ãªå¤§åž‹é˜²å£ãƒ–ロックã§ã™ã€‚\n最åˆã®ã‚¦ã‚§ãƒ¼ãƒ–ã§ã‚³ã‚¢ã‚„ターレットをä¿è­·ã™ã‚‹ã®ã«æœ‰ç”¨ã§ã™ã€‚ +block.payload-source.description = ペイロードを無é™ã«æ¬å‡ºã—ã¾ã™ã€‚サンドボックスモードã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚ +block.payload-void.description = ペイロードを破棄ã§ãã¾ã™ã€‚サンドボックスモードã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚ +block.copper-wall.description = 安価ãªé˜²å£ãƒ–ロックã§ã™ã€‚\n最åˆã®ã‚¦ã‚§ãƒ¼ãƒ–ã§ã‚³ã‚¢ã‚„タレットをä¿è­·ã™ã‚‹ã®ã«æœ‰ç”¨ã§ã™ã€‚ +block.copper-wall-large.description = 安価ãªå¤§åž‹é˜²å£ãƒ–ロックã§ã™ã€‚\n最åˆã®ã‚¦ã‚§ãƒ¼ãƒ–ã§ã‚³ã‚¢ã‚„タレットをä¿è­·ã™ã‚‹ã®ã«æœ‰ç”¨ã§ã™ã€‚ block.titanium-wall.description = é©åº¦ã«å¼·åŠ›ãªé˜²å£ãƒ–ロックã§ã™ã€‚\nä¸­ç¨‹åº¦ã®æ”»æ’ƒã‹ã‚‰ä¿è­·ã—ã¾ã™ã€‚ block.titanium-wall-large.description = é©åº¦ã«å¼·åŠ›ãªå¤§åž‹é˜²å£ãƒ–ロックã§ã™ã€‚\nä¸­ç¨‹åº¦ã®æ”»æ’ƒã‹ã‚‰ä¿è­·ã—ã¾ã™ã€‚ -block.plastanium-wall.description = 電気アークをå¸åŽã—ã€é›»æºãƒŽãƒ¼ãƒ‰ã®è‡ªå‹•接続をブロックã™ã‚‹ç‰¹åˆ¥ãªå£ã§ã™ã€‚ -block.plastanium-wall-large.description = 電気アークをå¸åŽã—ã€é›»æºãƒŽãƒ¼ãƒ‰ã®è‡ªå‹•接続をブロックã™ã‚‹ç‰¹åˆ¥ã§å¤§åž‹ãªå£ã§ã™ã€‚ -block.thorium-wall.description = 強化ã•れãŸé˜²å£ãƒ–ロックã§ã™ã€‚\n敵ã‹ã‚‰ã®ä¿è­·ã«ã‚ˆã‚Šå¼·å›ºã§ã™ã€‚ -block.thorium-wall-large.description = 強化ã•れãŸå¤§åž‹é˜²å£ãƒ–ロックã§ã™ã€‚\n敵ã‹ã‚‰ã®ä¿è­·ã«ã‚ˆã‚Šå¼·å›ºã§ã™ã€‚ +block.plastanium-wall.description = レーザー弾や放電をå¸åŽã—ã€é›»æºãƒŽãƒ¼ãƒ‰ã®è‡ªå‹•接続をブロックã™ã‚‹ç‰¹åˆ¥ãªå£ã§ã™ã€‚ +block.plastanium-wall-large.description = レーザー弾や放電をå¸åŽã—ã€é›»æºãƒŽãƒ¼ãƒ‰ã®è‡ªå‹•接続をブロックã™ã‚‹ç‰¹åˆ¥ã§å¤§åž‹ãªå£ã§ã™ã€‚ +block.thorium-wall.description = より強固ã«å¼·åŒ–ã•れãŸé˜²å£ãƒ–ロックã§ã™ã€‚ +block.thorium-wall-large.description = より強固ã«å¼·åŒ–ã•れãŸå¤§åž‹é˜²å£ãƒ–ロックã§ã™ã€‚ block.phase-wall.description = トリウムã®å£ã»ã©å¼·å›ºã§ã¯ãªã„ãŒã€å¼·åŠ›ãªå¼¾ã§ãªã‘れã°å¼¾ãè¿”ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ block.phase-wall-large.description = トリウムã®å£ã»ã©å¼·å›ºã§ã¯ãªã„ãŒã€å¼·åŠ›ãªå¼¾ã§ãªã‘れã°å¼¾ãè¿”ã™ã“ã¨ãŒã§ãã¾ã™ã€‚ -block.surge-wall.description = 最も硬ã„防å£ãƒ–ロックã§ã™ã€‚\nãŸã¾ã«æ”»æ’ƒã•ã‚Œã‚‹ã¨æ•µã«é›»æ’ƒã‚’与ãˆã¾ã™ã€‚ -block.surge-wall-large.description = 最も硬ã„大型防å£ãƒ–ロックã§ã™ã€‚\nãŸã¾ã«æ”»æ’ƒã•ã‚Œã‚‹ã¨æ•µã«é›»æ’ƒã‚’与ãˆã¾ã™ã€‚ +block.surge-wall.description = 最も硬ã„防å£ãƒ–ロックã§ã™ã€‚\n攻撃ã•れるã¨ãŸã¾ã«æ”¾é›»ã—ã¦æ•µã‚’攻撃ã—ã¾ã™ã€‚ +block.surge-wall-large.description = 最も硬ã„大型防å£ãƒ–ロックã§ã™ã€‚\n攻撃ã•れるã¨ãŸã¾ã«æ”¾é›»ã—ã¦æ•µã‚’攻撃ã—ã¾ã™ã€‚ +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = å°ã•ãªãƒ‰ã‚¢ãƒ–ロックã§ã™ã€‚タップã™ã‚‹ã“ã¨ã§é–‹é–‰ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\nãŸã ã—ã€ãƒ‰ã‚¢ãŒé–‹ã„ã¦ã„ã‚‹å ´åˆã€å¼¾ã‚„敵も通éŽã§ãã¾ã™ã€‚ block.door-large.description = 大型ã®ãƒ‰ã‚¢ãƒ–ロックã§ã™ã€‚タップã™ã‚‹ã“ã¨ã§é–‹é–‰ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚\nãŸã ã—ã€ãƒ‰ã‚¢ãŒé–‹ã„ã¦ã„ã‚‹å ´åˆã€å¼¾ã‚„敵も通éŽã§ãã¾ã™ã€‚ block.mender.description = 定期的ã«å‘¨å›²ã®ãƒ–ロックを修復ã—ã¾ã™ã€‚ウェーブã®é–“も修復ã—ç¶šã‘ã¾ã™ã€‚\nオプションã§ã‚·ãƒªã‚³ãƒ³ã‚’利用ã—ã¦ã€ã•らã«åŠ¹çŽ‡çš„ã«ä¿®å¾©ãŒå‡ºæ¥ã¾ã™ã€‚ block.mend-projector.description = 修復機ã®ã‚¢ãƒƒãƒ—グレード版ã§ã™ã€‚定期的ã«å‘¨è¾ºã®ãƒ–ロックを修復ã—ã¾ã™ã€‚\nオプションã§ãƒ•ェーズファイãƒãƒ¼ã‚’利用ã—ã¦ã€ã•らã«åŠ¹çŽ‡çš„ã«ä¿®å¾©ãŒå‡ºæ¥ã¾ã™ã€‚ block.overdrive-projector.description = ドリルやコンベアーãªã©ã€è¿‘ãã®æ–½è¨­ã®åŠ¹çŽ‡ã‚’å‘上ã•ã›ã¾ã™ã€‚ block.force-projector.description = 周囲ã«å…­è§’å½¢ã®åŠ›å ´ã‚’ä½œã‚Šå‡ºã—ã€å†…部ã®å»ºé€ ç‰©ã‚„ユニットãªã©ã‚’守りã¾ã™ã€‚ -block.shock-mine.description = è¸ã‚“ã æ•µã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¾ã™ã€‚敵ã«è¦‹ãˆã‚‹ã“ã¨ã¯ã‚りã¾ã›ã‚“。 -block.conveyor.description = 一般的ãªã‚¢ã‚¤ãƒ†ãƒ è¼¸é€ãƒ–ロックã§ã™ã€‚ã‚¢ã‚¤ãƒ†ãƒ ã‚’å‰æ–¹ã«ç§»å‹•ã—ã€è‡ªå‹•çš„ã«ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã‚„機械ãªã©ã«æ¬å…¥ã—ã¾ã™ã€‚回転ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.shock-mine.description = 敵ãŒè¸ã‚“ã æ™‚ã«æ”¾é›»ã—ã€è¸ã‚“ã æ•µã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¾ã™ã€‚敵ã«è¦‹ãˆã‚‹ã“ã¨ã¯ã‚りã¾ã›ã‚“。 +block.conveyor.description = 一般的ãªã‚¢ã‚¤ãƒ†ãƒ è¼¸é€ãƒ–ロックã§ã™ã€‚ã‚¢ã‚¤ãƒ†ãƒ ã‚’å‰æ–¹ã«ç§»å‹•ã—ã€è‡ªå‹•çš„ã«ã‚¿ãƒ¬ãƒƒãƒˆã‚„機械ãªã©ã«æ¬å…¥ã—ã¾ã™ã€‚回転ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ block.titanium-conveyor.description = 改良ã•れãŸã‚¢ã‚¤ãƒ†ãƒ è¼¸é€ãƒ–ロックã§ã™ã€‚通常ã®ã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ã‚ˆã‚Šã‚‚速ãアイテムを輸é€ã—ã¾ã™ã€‚ block.plastanium-conveyor.description = アイテムをã¾ã¨ã‚ã¦è¼¸é€ã™ã‚‹ãƒ–ロックã§ã™ã€‚\n末端ã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å…¥ã—ã€å…ˆç«¯3æ–¹å‘ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å‡ºã—ã¾ã™ã€‚ block.junction.description = åå­—ã«äº¤å·®ã—ãŸã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ã‚’ãれãžã‚Œå‰æ–¹ã«æ¬å‡ºã—ã¾ã™ã€‚コンベアーã§è¤‡é›‘ãªæ§‹é€ ã‚’組ã¿ç«‹ã¦ã‚‹ã¨ãã«ä¾¿åˆ©ã§ã™ã€‚ block.bridge-conveyor.description = 高度ãªè¼¸é€ãƒ–ロックã§ã™ã€‚地形や建物を超ãˆã¦ã€3ブロック離れãŸå ´æ‰€ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’輸é€ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ block.phase-conveyor.description = 改良ã•れãŸã‚¢ã‚¤ãƒ†ãƒ è»¢é€ãƒ–ロックã§ã™ã€‚電力を使用ã—ã¦ã€é›¢ã‚ŒãŸå ´æ‰€ã«ã‚るフェーズコンベアーã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’転é€ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -block.sorter.description = アイテムを分別ã—ã¦æ¬å‡ºã—ã¾ã™ã€‚設定ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã¯é€šéŽã•ã›ã¾ã™ã€‚ä»–ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒæ¬å…¥ã•れるã¨å´é¢ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å‡ºã—ã¾ã™ã€‚ -block.inverted-sorter.description = アイテムを分別ã—ã¦æ¬å‡ºã—ã¾ã™ã€‚設定ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã¯å´é¢ã«æ¬å‡ºã•れã¾ã™ã€‚ä»–ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒæ¬å…¥ã•れるã¨ã‚¢ã‚¤ãƒ†ãƒ ã‚’通éŽã•ã›ã¾ã™ã€‚通常ã®ãƒ«ãƒ¼ã‚¿ãƒ¼ã¨å対ã®å‹•作をã—ã¾ã™ã€‚ -block.router.description = æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ã»ã‹ã®3æ–¹å‘ã«å‡ç­‰ã«æ¬å‡ºã—ã¾ã™ã€‚一ã¤ã®è³‡æºã‹ã‚‰è¤‡æ•°ã«åˆ†ã‘ã‚‹éš›ãªã©ã«ä½¿ã‚れã¾ã™ã€‚ -block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. -block.distributor.description = 高度ãªãƒ«ãƒ¼ã‚¿ãƒ¼ã§ã™ã€‚æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ã»ã‹ã®7æ–¹å‘ã«å‡ç­‰ã«åˆ†ã‘ã¦æ¬å‡ºã—ã¾ã™ã€‚ -block.overflow-gate.description = æ¬å‡ºå…ˆã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å…¥ã™ã‚‹ç©ºããŒãªã„å ´åˆã«å·¦å³ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å‡ºã—ã¾ã™ã€‚ +block.sorter.description = アイテムを分別ã—ã¦æ¬å‡ºã—ã¾ã™ã€‚設定ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã¯å‰é¢ã¸æ¬å‡ºã—ã¾ã™ã€‚ä»–ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒæ¬å…¥ã•れるã¨å´é¢ã«æ¬å‡ºã—ã¾ã™ã€‚ +block.inverted-sorter.description = アイテムを分別ã—ã¦æ¬å‡ºã—ã¾ã™ã€‚設定ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã¯å´é¢ã«æ¬å‡ºã—ã¾ã™ã€‚ä»–ã®ã‚¢ã‚¤ãƒ†ãƒ ãŒæ¬å…¥ã•れるã¨å‰é¢ã¸æ¬å‡ºã—ã¾ã™ã€‚ +block.router.description = æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ã»ã‹ã®3æ–¹å‘ã¸å‡ç­‰ã«æ¬å‡ºã—ã¾ã™ã€‚一ã¤ã®è³‡æºã‹ã‚‰è¤‡æ•°ã«åˆ†ã‘ã‚‹éš›ãªã©ã«ä½¿ã‚れã¾ã™ã€‚ +block.router.details = 最悪ã®è¨­ç½®ã¯ã€æ¬å…¥ã®ãŸã‚ã«ç”Ÿç”£æ–½è¨­ã«éš£æŽ¥ã•ã›ã‚‹ã“ã¨ã§ã™ã€‚æ¬å‡ºã‚¢ã‚¤ãƒ†ãƒ ã«ã‚ˆã‚Šè©°ã¾ã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ãŸã‚ãŠã™ã™ã‚ã§ãã¾ã›ã‚“。 +block.distributor.description = 高度ãªãƒ«ãƒ¼ã‚¿ãƒ¼ã§ã™ã€‚æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ã»ã‹ã®7æ–¹å‘ã¸å‡ç­‰ã«åˆ†ã‘ã¦æ¬å‡ºã—ã¾ã™ã€‚ +block.overflow-gate.description = æ¬å‡ºå…ˆã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å…¥ã™ã‚‹ç©ºããŒãªã„å ´åˆã¯å·¦å³ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å‡ºã—ã¾ã™ã€‚ block.underflow-gate.description = オーãƒãƒ¼ãƒ•ローゲートã®åå¯¾ã®æ©Ÿèƒ½ã‚’æŒã¡ã¾ã™ã€‚ å·¦å³ã«å‡ºåŠ›ã§ããªã„å ´åˆã€å‰é¢ã«å‡ºåŠ›ã—ã¾ã™ã€‚ block.mass-driver.description = é•·è·é›¢ã®è¼¸é€ãŒå¯èƒ½ãªä¸Šä½ã‚¢ã‚¤ãƒ†ãƒ è¼¸é€ãƒ–ロックã§ã™ã€‚離れãŸåˆ¥ã®ãƒžã‚¹ãƒ‰ãƒ©ã‚¤ãƒãƒ¼ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’発射ã—ã¾ã™ã€‚ block.mechanical-pump.description = 安価ãªãƒãƒ³ãƒ—ã§ã™ã€‚æ¬å‡ºé€Ÿåº¦ã¯é…ã„ã§ã™ãŒã€é›»åŠ›ã‚’ä½¿ã‚ãšä½¿ç”¨ã§ãã¾ã™ã€‚ -block.rotary-pump.description = 高度ãªãƒãƒ³ãƒ—ã§ã™ã€‚電力を使用ã—ã¦2å€é€Ÿãæ¬å‡ºã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -block.thermal-pump.description = 最高性能ã®ãƒãƒ³ãƒ—ã§ã™ã€‚ +block.rotary-pump.description = 高度ãªãƒãƒ³ãƒ—ã§ã™ã€‚電力ãŒå¿…è¦ã§ã™ãŒã€ã‚ˆã‚Šå¤šãæ¬å‡ºã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.impulse-pump.description = 最高性能ã®ãƒãƒ³ãƒ—ã§ã™ã€‚ block.conduit.description = ä¸€èˆ¬çš„ãªæ¶²ä½“輸é€ãƒ–ロックã§ã™ã€‚液体版ã®ã‚³ãƒ³ãƒ™ã‚¢ãƒ¼ã§ã™ã€‚ãƒãƒ³ãƒ—ã‚„ä»–ã®ãƒ‘イプã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ block.pulse-conduit.description = é«˜åº¦ãªæ¶²ä½“輸é€ãƒ–ロックã§ã™ã€‚通常ã®ãƒ‘イプより速ããŸãã•ã‚“ã®æ¶²ä½“を輸é€ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ block.plated-conduit.description = パルスパイプã¨åŒã˜é€Ÿåº¦ã§æ¶²ä½“を輸é€ã™ã‚‹ã“ã¨ãŒã§ãã€è€ä¹…性ã«å„ªã‚Œã¦ã„ã¾ã™ã€‚\nã¾ãŸã€ãƒ‘イプ以外ã«ã‚ˆã‚‹å´é¢ã¸ã®å…¥åŠ›ã‚’å—ã‘入れã¾ã›ã‚“。 -block.liquid-router.description = æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ã»ã‹ã®3æ–¹å‘ã«å‡ç­‰ã«æ¬å‡ºã—ã¾ã™ã€‚æ¶²ä½“ã®æ¼ã‚Œã‚’防ãã“ã¨ãŒã§ãã¾ã™ã€‚一ã¤ã®è³‡æºã‹ã‚‰è¤‡æ•°ã«åˆ†ã‘ã‚‹éš›ãªã©ã«ä½¿ã‚れã¾ã™ã€‚ +block.liquid-router.description = æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’ã»ã‹ã®3æ–¹å‘ã¸å‡ç­‰ã«æ¬å‡ºã—ã¾ã™ã€‚æ¶²ä½“ã®æ¼ã‚Œã‚’防ãã“ã¨ãŒã§ãã¾ã™ã€‚一ã¤ã®è³‡æºã‹ã‚‰è¤‡æ•°ã«åˆ†ã‘ã‚‹éš›ãªã©ã«ä½¿ã‚れã¾ã™ã€‚ +block.liquid-container.description = 中é‡ã®æ¶²ä½“ã‚’ä¿ç®¡ã—ã¦ãŠãã“ã¨ãŒã§ãã¾ã™ã€‚液体ルーターã¨åŒæ§˜ã«å››æ–¹ã¸æ¬å‡ºã§ãã¾ã™ã€‚ block.liquid-tank.description = 大é‡ã®æ¶²ä½“ã‚’ä¿ç®¡ã—ã¦ãŠãã“ã¨ãŒã§ãã¾ã™ã€‚需è¦ãŒä¸å®‰å®šãªè£½é€ è¨­å‚™ã‚„é‡è¦ãªæ–½è¨­ã®å†·å´æ°´ã®äºˆå‚™ãªã©ã¨ã—ã¦ä½¿ç”¨ã•れã¾ã™ã€‚ block.liquid-junction.description = パイプを他ã®ãƒ‘イプã¨äº¤å·®ã§ãるよã†ã«ã—ã¾ã™ã€‚ãれãžã‚Œæ¬å…¥ã—ãŸæ¶²ä½“ã‚’å‰æ–¹ã«æ¬å‡ºã—ã¾ã™ã€‚パイプã§è¤‡é›‘ãªæ§‹é€ ã‚’組ã¿ç«‹ã¦ã‚‹ã¨ããªã©ã«ä½¿ã‚れã¾ã™ã€‚ block.bridge-conduit.description = é«˜åº¦ãªæ¶²ä½“輸é€ãƒ–ロックã§ã™ã€‚地形や建物を超ãˆã¦ã€3ブロック離れãŸå ´æ‰€ã«æ¶²ä½“を輸é€ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ @@ -1416,33 +2170,36 @@ block.laser-drill.description = 電力を使用ã—ãŸãƒ¬ãƒ¼ã‚¶ãƒ¼æŠ€è¡“ã§ã‚ˆã‚Š block.blast-drill.description = 上ä½ã®ãƒ‰ãƒªãƒ«ã§ã™ã€‚大é‡ã®é›»åŠ›ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚ block.water-extractor.description = 地é¢ã‹ã‚‰æ°´ã‚’æ±²ã¿ä¸Šã’ã¾ã™ã€‚è¿‘ãã«æ¹–ãŒãªã„å ´åˆã«æœ‰ç”¨ã§ã™ã€‚ block.cultivator.description = 胞å­ã®å°ã•ãªé›†ã¾ã‚Šã‚’工業用ãƒãƒƒãƒ‰ã«åŸ¹é¤Šã—ã¾ã™ã€‚ -block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. +block.cultivator.details = å–り戻ã•れãŸãƒ†ã‚¯ãƒŽãƒ­ã‚¸ãƒ¼ã€‚大é‡ã®ãƒã‚¤ã‚ªãƒžã‚¹ã‚’å¯èƒ½ãªé™ã‚ŠåŠ¹çŽ‡çš„ã«ç”Ÿç”£ã—ã¾ã™ã€‚ãŠãã‚‰ãæœ€åˆã®åŸ¹é¤Šæ©Ÿã«ã‚ˆã‚Šã€ä»Šã‚»ãƒ«ãƒ—ロã¯èƒžå­ã«è¦†ã‚れã¦ã„ã¾ã™ã€ block.oil-extractor.description = 大é‡ã®é›»åŠ›ã‚’ä½¿ç”¨ã—ã¦ã€ç ‚ã‹ã‚‰çŸ³æ²¹ã‚’回åŽã—ã¾ã™ã€‚è¿‘ãã«æ²¹ç”°ãŒãªã„å ´åˆã«æœ‰ç”¨ã§ã™ã€‚ block.core-shard.description = 基本的ãªã‚³ã‚¢ã§ã™ã€‚一度破壊ã•れるã¨ã€ãã®åœ°åŸŸã¨ã®æŽ¥ç¶šãŒé€”çµ¶ãˆã¾ã™ã€‚破壊ã•れãªã„よã†ã«ã—ã¾ã—ょã†ã€‚ -block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. +block.core-shard.details = 最åˆã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã™ã€‚コンパクトã§è‡ªå·±è¤‡è£½å¯èƒ½ã€ä½¿ã„æ¨ã¦ã®ç™ºå°„スラスターを装備ã—ã¦ã„ã¾ã™ã€‚惑星間旅行用ã«ã¯è¨­è¨ˆã•れã¦ã„ã¾ã›ã‚“。 block.core-foundation.description = ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚¢ãƒƒãƒ—ã—ãŸã‚³ã‚¢ã§ã™ã€‚より堅ãã€ã‚ˆã‚Šå¤šãã®è³‡æºã‚’æ ¼ç´ã§ãã¾ã™ã€‚ -block.core-foundation.details = The second iteration. +block.core-foundation.details = 2番目ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã™ã€‚ block.core-nucleus.description = ã•らã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚¢ãƒƒãƒ—ã—ãŸã‚³ã‚¢ã§ã™ã€‚優れãŸè€ä¹…性ã¨å¤§é‡ã®è³‡æºã‚’æ ¼ç´ã§ãã¾ã™ã€‚ -block.core-nucleus.details = The third and final iteration. +block.core-nucleus.details = 3ç•ªç›®ã§æœ€çµ‚ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã™ã€‚ block.vault.description = å„種類ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’大é‡ã«ä¿ç®¡ã—ã¾ã™ã€‚隣接ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒŠãƒ¼ã‚„ボールåœã€ã‚³ã‚¢ã¯ä¸€ã¤ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ãƒ¦ãƒ‹ãƒƒãƒˆã¨ã—ã¦æ‰±ã‚れã¾ã™ã€‚[lightgray]æ¬å‡ºæ©Ÿ[]を使ã£ã¦ã€ãƒœãƒ¼ãƒ«ãƒˆã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å‡ºã§ãã¾ã™ã€‚ block.container.description = å„種類ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’å°‘é‡ãšã¤ä¿ç®¡ã—ã¾ã™ã€‚隣接ã™ã‚‹ã‚³ãƒ³ãƒ†ãƒŠãƒ¼ã‚„ボールåœã€ã‚³ã‚¢ã¯ä¸€ã¤ã®ã‚¹ãƒˆãƒ¬ãƒ¼ã‚¸ãƒ¦ãƒ‹ãƒƒãƒˆã¨ã—ã¦æ‰±ã‚れã¾ã™ã€‚ [lightgray]æ¬å‡ºæ©Ÿ[]を使ã£ã¦ã€ã‚³ãƒ³ãƒ†ãƒŠãƒ¼ã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ¬å‡ºã§ãã¾ã™ã€‚ block.unloader.description = コンテナやボールトã€ã‚³ã‚¢ã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’コンベアーã‹éš£æŽ¥ã™ã‚‹ãƒ–ãƒ­ãƒƒã‚¯ã«æ¬å‡ºã—ã¾ã™ã€‚æ¬å‡ºæ©Ÿã‚’タップã—ã¦æ¬å‡ºã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã‚’変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ block.launch-pad.description = 離脱ã™ã‚‹ã“ã¨ãªãã€ã‚¢ã‚¤ãƒ†ãƒ ã‚’回åŽã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ -block.duo.description = å°ã•ã安価ãªã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.scatter.description = ä¸­è¦æ¨¡ã®å¯¾ç©ºåž‹ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚敵ã«é‰›ã‚„スクラップã®å¡Šã€ãƒ¡ã‚¿ã‚¬ãƒ©ã‚¹ã‚’分散ã™ã‚‹ã‚ˆã†ã«ç™ºå°„ã—ã¾ã™ã€‚。 +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = å°ã•ã安価ãªã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.scatter.description = ä¸­è¦æ¨¡ã®å¯¾ç©ºåž‹ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚敵ã«é‰›ã‚„スクラップã®å¡Šã€ãƒ¡ã‚¿ã‚¬ãƒ©ã‚¹ã‚’分散ã™ã‚‹ã‚ˆã†ã«ç™ºå°„ã—ã¾ã™ã€‚ block.scorch.description = è¿‘ãã®åœ°ä¸Šã®æ•µã‚’燃やã—ã¾ã™ã€‚è¿‘è·é›¢ã ã¨éžå¸¸ã«åŠ¹æžœçš„ã§ã™ã€‚ -block.hail.description = å°åž‹ã®ç ²æ’ƒåž‹ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.wave.description = ãƒãƒ–ルã®é€£å°„攻撃をã™ã‚‹ä¸­åž‹ã®ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.lancer.description = ãƒãƒ£ãƒ¼ã‚¸ãƒ“ームを放ã¤ä¸­åž‹ã®ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.arc.description = å°åž‹ã®é›»æ’ƒåž‹ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚敵ã«å‘ã‹ã£ã¦ãƒ©ãƒ³ãƒ€ãƒ ãªåŠå††çжã«é›»æ’ƒã‚’放ã¡ã¾ã™ã€‚ -block.swarmer.description = ãƒãƒ¼ã‚¹ãƒˆãƒŸã‚µã‚¤ãƒ«ã§æ”»æ’ƒã™ã‚‹ä¸­åž‹ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.salvo.description = ä¸€æ–‰ã«æ”»æ’ƒã‚’行ã†ä¸­åž‹ã®ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.fuse.description = 短è·é›¢æ”»æ’ƒãŒå¾—æ„ãªå¤§åž‹ã®ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.ripple.description = åŒæ™‚ã«è¤‡æ•°ã‚·ãƒ§ãƒƒãƒˆã‚’発射ã™ã‚‹å¤§åž‹ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.cyclone.description = 大型ã®é€£å°„型ターレットã§ã™ã€‚ -block.spectre.description = 一度ã«2発ã®å¼·åŠ›ãªå¼¾ã‚’放ã¤å¤§åž‹ã®ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.meltdown.description = 強力ãªé•·è·é›¢æ”»æ’ƒãŒå¯èƒ½ãªå¤§åž‹ã®ã‚¿ãƒ¼ãƒ¬ãƒƒãƒˆã§ã™ã€‚ -block.foreshadow.description = 一ã¤ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’ç‹™ã†é«˜ç«åŠ›ã€é•·å°„程ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.hail.description = å°åž‹ã®ç ²æ’ƒåž‹ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.wave.description = ãƒãƒ–ルã®é€£å°„攻撃をã™ã‚‹ä¸­åž‹ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.lancer.description = ãƒãƒ£ãƒ¼ã‚¸ãƒ“ームを放ã¤ä¸­åž‹ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.arc.description = å°åž‹ã®é›»æ’ƒåž‹ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚敵ã«å‘ã‹ã£ã¦ãƒ©ãƒ³ãƒ€ãƒ ãªåŠå††çжã«é›»æ’ƒã‚’放ã¡ã¾ã™ã€‚ +block.swarmer.description = ãƒãƒ¼ã‚¹ãƒˆãƒŸã‚µã‚¤ãƒ«ã§æ”»æ’ƒã™ã‚‹ä¸­åž‹ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.salvo.description = ä¸€æ–‰ã«æ”»æ’ƒã‚’行ã†ä¸­åž‹ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.fuse.description = 短è·é›¢æ”»æ’ƒãŒå¾—æ„ãªå¤§åž‹ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.ripple.description = åŒæ™‚ã«è¤‡æ•°ã‚·ãƒ§ãƒƒãƒˆã‚’発射ã™ã‚‹å¤§åž‹ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.cyclone.description = 大型ã®é€£å°„型タレットã§ã™ã€‚ +block.spectre.description = 一度ã«2発ã®å¼·åŠ›ãªå¼¾ã‚’放ã¤å¤§åž‹ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.meltdown.description = 強力ãªé•·è·é›¢æ”»æ’ƒãŒå¯èƒ½ãªå¤§åž‹ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.foreshadow.description = 一ã¤ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’ç‹™ã†é«˜ç«åŠ›ã€é•·å°„程ã®ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚最大体力ãŒé«˜ã„敵を優先ã—ã¾ã™ã€‚ block.repair-point.description = è¿‘ãã®è² å‚·ã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆã‚’修復ã—ã¾ã™ã€‚ block.segment.description = 射程内ã«å…¥ã£ã¦ããŸå¼¾ä¸¸ã‚’破壊ã—ã¾ã™ã€‚レーザー弾ã¯ç ´å£Šã§ãã¾ã›ã‚“。 block.parallax.description = 航空ユニットを引ã込むビームを発射ã—ã€ãã®éŽç¨‹ã§ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¾ã™ã€‚ @@ -1452,7 +2209,6 @@ block.disassembler.description = スラグを低効率ã§è²´é‡ãªé‰±ç‰©æˆåˆ† block.overdrive-dome.description = è¿‘ãã®å»ºé€ ç‰©ã®é€Ÿåº¦ã‚’上ã’ã¾ã™ã€‚電気ã®ä»–ã«ã€ãƒ•ェーズファイãƒãƒ¼ã¨ã‚·ãƒªã‚³ãƒ³ãŒå¿…è¦ã§ã™ã€‚ block.payload-conveyor.description = 工場ã§ç”Ÿç”£ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆãªã©ã€å¤§ããªç‰©ã‚’輸é€ã—ã¾ã™ã€‚ block.payload-router.description = æ¬å…¥ã—ãŸç‰©ã‚’3æ–¹å‘ã«å‡ç­‰ã«æ¬å‡ºã—ã¾ã™ã€‚ -block.command-center.description = ã„ãã¤ã‹ã®ã‚³ãƒžãƒ³ãƒ‰ã§ãƒ¦ãƒ‹ãƒƒãƒˆã®å‹•作を制御ã—ã¾ã™ã€‚ block.ground-factory.description = 陸è»ãƒ¦ãƒ‹ãƒƒãƒˆã‚’生産ã—ã¾ã™ã€‚生産ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ç›´æŽ¥ä½¿ç”¨ã™ã‚‹ã ã‘ã§ãªãã€ã‚¢ãƒƒãƒ—グレードã®ãŸã‚ã«ç§»å‹•ã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ block.air-factory.description = 空è»ãƒ¦ãƒ‹ãƒƒãƒˆã‚’生産ã—ã¾ã™ã€‚生産ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ç›´æŽ¥ä½¿ç”¨ã™ã‚‹ã ã‘ã§ãªãã€ã‚¢ãƒƒãƒ—グレードã®ãŸã‚ã«ç§»å‹•ã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ block.naval-factory.description = æµ·è»ãƒ¦ãƒ‹ãƒƒãƒˆã‚’生産ã—ã¾ã™ã€‚生産ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ç›´æŽ¥ä½¿ç”¨ã™ã‚‹ã ã‘ã§ãªãã€ã‚¢ãƒƒãƒ—グレードã®ãŸã‚ã«ç§»å‹•ã•ã›ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ @@ -1469,37 +2225,404 @@ block.memory-bank.description = より多ãã®æƒ…報を格ç´ã—ã¾ã™ã€‚ block.logic-display.description = プロセッサã‹ã‚‰ã®ä»»æ„ã®ã‚°ãƒ©ãƒ•ィックを表示ã—ã¾ã™ã€‚ block.large-logic-display.description = プロセッサã‹ã‚‰ã®ä»»æ„ã®ã‚°ãƒ©ãƒ•ィックを表示ã—ã¾ã™ã€‚ block.interplanetary-accelerator.description = 巨大ãªé›»ç£ãƒ¬ãƒ¼ãƒ«ã‚¬ãƒ³ã‚¿ãƒ¯ãƒ¼ã§ã™ã€‚別惑星ã¸ã®å±•é–‹ã®ãŸã‚ã«ã‚³ã‚¢ã‚’é‡åŠ›åœè„±å‡ºå¯èƒ½é€Ÿåº¦ã¾ã§åŠ é€Ÿã—ã¾ã™ã€‚ +block.repair-turret.description = ç¯„å›²å†…ã®æå‚·ã—ãŸãƒ–ロックを近ã„é †ã«ç¶™ç¶šçš„ã«ä¿®å¾©ã—ã¾ã™ã€‚オプションã§å†·å´æ¶²ã‚’活用ã§ãã¾ã™ã€‚ +block.core-bastion.description = 基本的ãªå …ã„コアã§ã™ã€‚一度破壊ã•れるã¨ã€ã‚»ã‚¯ã‚¿ãƒ¼ã‚’失ã„ã¾ã™ã€‚破壊ã•れãªã„よã†ã«ã—ã¾ã—ょã†ã€‚ +block.core-citadel.description = ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚¢ãƒƒãƒ—ã—ãŸã‚³ã‚¢ã§ã™ã€‚ より優れãŸè€ä¹…ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ ãƒã‚¹ãƒ†ã‚£ã‚ªãƒ³ã‚³ã‚¢ã‚ˆã‚Šã‚‚多ãã®è³‡æºã‚’æ ¼ç´ã—ã¾ã™ã€‚ +block.core-acropolis.description = ã•らã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚¢ãƒƒãƒ—ã—ãŸã‚³ã‚¢ã§ã™ã€‚ éžå¸¸ã«å„ªã‚ŒãŸè€ä¹…ã‚’æŒã£ã¦ã„ã¾ã™ã€‚ シタデルコアよりも多ãã®è³‡æºã‚’æ ¼ç´ã—ã¾ã™ã€‚ +block.breach.description = ベリリウムやタングステンã®è²«é€šå¼¾ã‚’発射ã™ã‚‹ã‚¿ãƒ¬ãƒƒãƒˆã§ã™ã€‚ +block.diffuse.description = åºƒã„æ‰‡å½¢ã§å¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ 敵ã«ãƒŽãƒƒã‚¯ãƒãƒƒã‚¯ã‚’与ãˆã¾ã™ã€‚ +block.sublimate.description = 敵ã«ç‚Žã‚’å™´å°„ã—ã¾ã™ã€‚アーマーを貫通ã—ã¾ã™ã€‚ +block.titan.description = 水素を消費ã—ã¦åœ°ä¸Šç›®æ¨™ã«å‘ã‘ã¦åºƒç¯„囲ãªçˆ†ç™ºæ€§ã®ç ²å¼¾ã‚’発射ã—ã¾ã™ã€‚ +block.afflict.description = 熱を消費ã—大ããªå¸¯é›»ã—ãŸã‚ªãƒ¼ãƒ–を発射ã—ã€å››æ–¹å…«æ–¹ã«åˆ†è£‚ã—ã¾ã™ã€‚ +block.disperse.description = 空中ã®ç›®æ¨™ã«å¯¾ç©ºç ²ç«ã‚’発射ã—ã¾ã™ã€‚ +block.lustre.description = å˜ä¸€ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«å‘ã‘ã¦ã€ä½Žé€Ÿã®ãƒ¬ãƒ¼ã‚¶ãƒ¼ã‚’ç…§å°„ã—ã¾ã™ã€‚ +block.scathe.description = é ã離れãŸåœ°ä¸Šç›®æ¨™ã«å‘ã‘ã¦ã€å¼·åŠ›ãªãƒŸã‚µã‚¤ãƒ«ã‚’発射ã—ã¾ã™ã€‚ +block.smite.description = 閃光を放ã¤è²«é€šå¼¾ã‚’発射ã—ã¾ã™ã€‚ +block.malign.description = 大é‡ã®ç†±ã‚’使ã£ã¦ã€æ•µã«è¿½å°¾åž‹ã®ãƒ¬ãƒ¼ã‚¶ãƒ¼ã‚’発射ã—ã¾ã™ã€‚ +block.silicon-arc-furnace.description = ç ‚ã¨é»’鉛ã‹ã‚‰ã‚·ãƒªã‚³ãƒ³ã‚’製造ã—ã¾ã™ã€‚ +block.oxidation-chamber.description = ベリリウムã¨ã‚ªã‚¾ãƒ³ã‹ã‚‰é…¸åŒ–物ã¨å‰¯ç”£ç‰©ã¨ã—ã¦ç†±ã‚’製造ã—ã¾ã™ã€‚ +block.electric-heater.description = 大é‡ã®é›»åŠ›ã‚’æ¶ˆè²»ã—ã¦ã€å‘ã‹ã„åˆã£ãŸãƒ–ロックを加熱ã—ã¾ã™ã€‚ +block.slag-heater.description = スラグを用ã„ã¦ã€å‘ã‹ã„åˆã£ãŸãƒ–ロックを加熱ã—ã¾ã™ã€‚ +block.phase-heater.description = フェーズファイãƒãƒ¼ã‚’用ã„ã¦ã€å‘ã‹ã„åˆã£ãŸãƒ–ロックを加熱ã—ã¾ã™ã€‚ +block.heat-redirector.description = è“„ç©ã•れãŸç†±ã‚’ä»–ã®ãƒ–ロックã«ä¼ãˆã¾ã™ã€‚ +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = è“„ç©ã•れãŸç†±ã‚’3ã¤ã®å‡ºåŠ›æ–¹å‘ã«åˆ†æ•£ã•ã›ã¾ã™ã€‚ +block.electrolyzer.description = 水を電気分解ã—ã¦ã€æ°´ç´ ã¨ã‚ªã‚¾ãƒ³ã«å¤‰æ›ã—ã¾ã™ã€‚ +block.atmospheric-concentrator.description = 熱を利用ã—ã¦ã€å¤§æ°—中ã®çª’素を濃縮ã—ã¾ã™ã€‚ +block.surge-crucible.description = 熱を利用ã—ã¦ã€ã‚¹ãƒ©ã‚°ã¨ã‚·ãƒªã‚³ãƒ³ã‹ã‚‰ã‚µãƒ¼ã‚¸åˆé‡‘を製造ã—ã¾ã™ã€‚ +block.phase-synthesizer.description = 熱を利用ã—ã¦ãƒˆãƒªã‚¦ãƒ ã€ç ‚ã€ã‚ªã‚¾ãƒ³ã‹ã‚‰ãƒ•ェイズファイãƒãƒ¼ã‚’製造ã—ã¾ã™ã€‚ +block.carbide-crucible.description = 熱を利用ã—ã¦ã€é»’鉛ã¨ã‚¿ãƒ³ã‚°ã‚¹ãƒ†ãƒ³ã‚’èžåˆã•ã›ã¦ç‚­åŒ–物を製造ã—ã¾ã™ã€‚ +block.cyanogen-synthesizer.description = 熱を利用ã—ã¦ã€ã‚¢ãƒ¼ã‚­ã‚µã‚¤ãƒˆã¨é»’鉛ã‹ã‚‰ã‚·ã‚¢ãƒ³ã‚’製造ã—ã¾ã™ã€‚ +block.slag-incinerator.description = スラグを用ã„ã¦ã€ã‚¬ã‚¹ä»¥å¤–ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚„液体を焼å´ã—ã¾ã™ã€‚ +block.vent-condenser.description = 電力を消費ã—ã¦ã€ã‚¸ã‚§ãƒƒãƒˆãƒ›ãƒ¼ãƒ«ã®ã‚¬ã‚¹ã‚’æ°´ã«å‡ç¸®ã—ã¾ã™ã€‚ +block.plasma-bore.description = 鉱石ã®å£ã«å‘ã‘ã¦é…ç½®ã—ã¦é‰±çŸ³ã‚’掘りã—ã¾ã™ã€‚å°‘é‡ã®é›»åŠ›ãŒå¿…è¦ã§ã™ã€‚ +block.large-plasma-bore.description = 大ããプラズマ掘り。 タングステンã€ãƒˆãƒªã‚¦ãƒ ã®æŽ¡æŽ˜ãŒå¯èƒ½ã€‚ æ°´ç´ ã¨é›»åŠ›ãŒå¿…è¦ã§ã™ +block.cliff-crusher.description = 電力を消費ã—ã¦ã€å£ã‚’粉砕ã—ã€ç ‚を採掘ã—ã¾ã™ã€‚ 効率ã¯å£ã®ç¨®é¡žã«ã‚ˆã£ã¦ç•°ãªã‚Šã¾ã™ã€‚ +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = 鉱石ã®ä¸Šã«ç½®ãã¨ã€ä¸€å®šã®é–“éš”ã§ã‚¢ã‚¤ãƒ†ãƒ ã‚’採掘ã—ã¾ã™ã€‚ é›»åŠ›ã¨æ°´ãŒå¿…è¦ã§ã™ã€‚ +block.eruption-drill.description = 改良ã•れãŸã‚¤ãƒ³ãƒ‘クトドリルã§ã™ã€‚ ãƒˆãƒªã‚¦ãƒ ã®æŽ¡æŽ˜ãŒå¯èƒ½ã€‚ é›»åŠ›ã¨æ°´ç´ ãŒå¿…è¦ã§ã™ã€‚ +block.reinforced-conduit.description = 液体ã¾ãŸã¯æ°—体を輸é€ã—ã¾ã™ã€‚ å´é¢ã‹ã‚‰ã®æ¬å…¥ã‚’å—ã‘入れã¾ã›ã‚“。 +block.reinforced-liquid-router.description = 液体をã™ã¹ã¦ã®å‘ãã«å‡ç­‰ã«åˆ†é…ã—ã¾ã™ã€‚ +block.reinforced-liquid-tank.description = 大é‡ã®æ¶²ä½“ã‚’è“„ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.reinforced-liquid-container.description = 中é‡ã®æ¶²ä½“ã‚’è“„ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.reinforced-bridge-conduit.description = 構造物や地形ã®ä¸Šã«æ¶²ä½“を輸é€ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.reinforced-pump.description = 水素を消費ã—ã¦æ¶²ä½“ã‚’æ±²ã¿ä¸Šã’ã¦æŽ’å‡ºã—ã¾ã™ã€‚ +block.beryllium-wall.description = ベリリウムã§ã§ããŸå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚ +block.beryllium-wall-large.description = ベリリウムã§ã§ããŸå¤§ããªå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚ +block.tungsten-wall.description = タングステンã§ã§ããŸå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚ +block.tungsten-wall-large.description = タングステンã§ã§ããŸå¤§ããªå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚ +block.carbide-wall.description = 炭化物ã§ã§ããŸå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚ +block.carbide-wall-large.description = 炭化物ã§ã§ããŸå¤§ããªå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚ +block.reinforced-surge-wall.description = サージåˆé‡‘ã¨ã‚¿ãƒ³ã‚°ã‚¹ãƒ†ãƒ³ã§ã§ããŸå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã€æ”»æ’ƒã•れるã¨ãŸã¾ã«ã«é›»æ’ƒã‚’発生ã•ã›ã¾ã™ã€‚ +block.reinforced-surge-wall-large.description = サージåˆé‡‘ã¨ã‚¿ãƒ³ã‚°ã‚¹ãƒ†ãƒ³ã§ã§ããŸå¤§ããªå£ã§ã™ã€‚\næ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã€æ”»æ’ƒã•れるã¨ãŸã¾ã«é›»æ’ƒã‚’発生ã•ã›ã¾ã™ã€‚ +block.shielded-wall.description = æ•µã®æ”»æ’ƒã‹ã‚‰æ§‹é€ ç‰©ã‚’ä¿è­·ã—ã¾ã™ã€‚電力を供給ã™ã‚‹ã¨ã€ã»ã¨ã‚“ã©ã®å¼¾ä¸¸ã‚’å¸åŽã™ã‚‹ã‚·ãƒ¼ãƒ«ãƒ‰ã‚’展開ã—ã¾ã™ã€‚å£ã®ä¸­ã§é›»åŠ›ã‚’ä¼å°Žã—ã¾ã™ã€‚ +block.blast-door.description = 味方ã®åœ°ä¸Šãƒ¦ãƒ‹ãƒƒãƒˆãŒå°„程内ã«å…¥ã‚‹ã¨é–‹ãå£ã§ã™ã€‚ 手動ã§é–‹é–‰ã§ãã¾ã›ã‚“。 +block.duct.description = ã‚¢ã‚¤ãƒ†ãƒ ã‚’å‰æ–¹ã«è¼¸é€ã—ã¾ã™ã€‚ å˜ä¸€ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ã¿ã‚’æ ¼ç´ã§ãã¾ã™ã€‚ +block.armored-duct.description = ã‚¢ã‚¤ãƒ†ãƒ ã‚’å‰æ–¹ã«ç§»å‹•ã—ã¾ã™ã€‚å´é¢ã‹ã‚‰ã®ãƒ€ã‚¯ãƒˆä»¥å¤–ã®å…¥åŠ›ã¯å—ã‘付ã‘ã¾ã›ã‚“。 +block.duct-router.description = アイテムを 3 æ–¹å‘ã«å‡ç­‰ã«åˆ†é…ã—ã¾ã™ã€‚ è£å´ã‹ã‚‰ã®ã‚¢ã‚¤ãƒ†ãƒ ã®ã¿å—ã‘付ã‘ã¾ã™ã€‚ソーターã¨ã—ã¦ã®æ©Ÿèƒ½ã‚’å…¼ã­å‚™ãˆã¦ã„ã¾ã™ã€‚ +block.overflow-duct.description = 剿–¹ã«æ¬å‡ºã§ããªã„å ´åˆã®ã¿ã€å´é¢ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’出力ã—ã¾ã™ã€‚ +block.duct-bridge.description = 高度ãªè¼¸é€ãƒ–ロックã§ã™ã€‚地形や建物を超ãˆã¦ã€3ブロック離れãŸå ´æ‰€ã«ã‚¢ã‚¤ãƒ†ãƒ ã‚’輸é€ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.duct-unloader.description = コンテナやボールトã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’コンベアーã‹éš£æŽ¥ã™ã‚‹ãƒ–ãƒ­ãƒƒã‚¯ã«æ¬å‡ºã—ã¾ã™ã€‚æ¬å‡ºæ©Ÿã‚’タップã—ã¦æ¬å‡ºã™ã‚‹ã‚¢ã‚¤ãƒ†ãƒ ã‚’変更ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚コアã‹ã‚‰ã®æ¬å‡ºã¯ã§ãã¾ã›ã‚“。 +block.underflow-duct.description = オーãƒãƒ¼ãƒ•ローゲートã®åå¯¾ã®æ©Ÿèƒ½ã‚’æŒã¡ã¾ã™ã€‚ å·¦å³ã«å‡ºåŠ›ã§ããªã„å ´åˆã€å‰é¢ã«å‡ºåŠ›ã—ã¾ã™ã€‚ +block.reinforced-liquid-junction.description = 交差ã™ã‚‹ 2 ã¤ã®ãƒ‘イプ間ã®ã‚¸ãƒ£ãƒ³ã‚¯ã‚·ãƒ§ãƒ³ã¨ã—ã¦æ©Ÿèƒ½ã—ã¾ã™ã€‚ +block.surge-conveyor.description = アイテムをã¾ã¨ã‚ã¦ç§»å‹•ã—ã¾ã™ã€‚ 電力を使用ã™ã‚‹ã¨åŠ é€Ÿã§ãã¾ã™ã€‚ 電力をä¼ãˆã¾ã™ã€‚ +block.surge-router.description = サージコンベアーã‹ã‚‰3æ–¹å‘ã«å‡ç­‰ã«ç‰©ã‚’振り分ã‘ã¾ã™ã€‚ é€é›»ã«ä½¿ãˆã€é›»åŠ›ã‚’ä½¿ç”¨ã™ã‚‹ã¨åŠ é€Ÿã§ãã¾ã™ã€‚ +block.unit-cargo-loader.description = 輸é€ãƒ‰ãƒ­ãƒ¼ãƒ³ã‚’作æˆã—ã€æ¬å…¥ãƒã‚¤ãƒ³ãƒˆã¸æ¬å…¥ã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’é¸æŠžã—ãŸæ¬å‡ºãƒã‚¤ãƒ³ãƒˆã¸ã¨ã€è¼¸é€ãƒ‰ãƒ­ãƒ¼ãƒ³ãŒã‚¢ã‚¤ãƒ†ãƒ ã‚’自動的ã«è¼¸é€ã—ã¾ã™ã€‚ +block.unit-cargo-unload-point.description = 輸é€ãƒ‰ãƒ­ãƒ¼ãƒ³ã®æ¬å‡ºãƒã‚¤ãƒ³ãƒˆã¨ã—ã¦æ©Ÿèƒ½ã—ã¾ã™ã€‚ é¸æŠžã—ãŸã‚¢ã‚¤ãƒ†ãƒ ã‚’å—ã‘入れã¾ã™ã€‚ +block.beam-node.description = ä»–ã®ãƒ–ロックã«ç›´äº¤ã™ã‚‹ã‚ˆã†ã«é›»åŠ›ã‚’ä¼é€ã—ã¾ã™ã€‚å°‘é‡ã®é›»åŠ›ã‚’è“„ãˆã¾ã™ã€‚ +block.beam-tower.description = ä»–ã®ãƒ–ロックã«ç›´äº¤ã™ã‚‹ã‚ˆã†ã«é›»åŠ›ã‚’ä¼é€ã—ã¾ã™ã€‚大é‡ã®é›»åŠ›ã‚’è“„ãˆã€é•·è·é›¢ã®ä¼é€ãŒå¯èƒ½ã§ã™ã€‚ +block.turbine-condenser.description = ジェットホールã«ç½®ãã¨ç™ºé›»ã—ã¾ã™ã€‚å°‘é‡ã®æ°´ã‚’生æˆã—ã¾ã™ã€‚ +block.chemical-combustion-chamber.description = アーキサイトã¨ã‚ªã‚¾ãƒ³ã§ç™ºé›»ã—ã¾ã™ã€‚ +block.pyrolysis-generator.description = アーキサイトã¨ã‚¹ãƒ©ã‚°ã‹ã‚‰å¤§é‡ã®é›»åŠ›ã‚’ç”Ÿæˆã—ã¾ã™ã€‚ 副産物ã¨ã—ã¦æ°´ã‚’生æˆã—ã¾ã™ã€‚ +block.flux-reactor.description = 加熱ã™ã‚‹ã¨å¤§é‡ã®é›»åŠ›ã‚’ç”Ÿæˆã—ã¾ã™ã€‚安定剤ã«ã‚·ã‚¢ãƒ³ãŒå¿…è¦ã§ã€ç™ºé›»é‡ã¨ã‚·ã‚¢ãƒ³ã®æ¶ˆè²»é‡ã¯å…¥åŠ›ã•れる熱é‡ã«æ¯”例ã—ã¾ã™ã€‚\nシアンã®ä¾›çµ¦ãŒä¸è¶³ã™ã‚‹ã¨çˆ†ç™ºã—ã¾ã™ã€‚ +block.neoplasia-reactor.description = ã‚¢ãƒ¼ã‚­ã‚µã‚¤ãƒˆã¨æ°´ã¨ãƒ•ェーズファイãƒãƒ¼ã§å¤§é‡ã®é›»åŠ›ã‚’ç”Ÿæˆã—ã¾ã™ã€‚副産物ã¨ã—ã¦ç†±ã¨ãƒã‚ªãƒ—ラズムを生æˆã—ã¾ã™ã€‚\nãƒã‚ªãƒ—ラズムをパイプã§ãƒªã‚¢ã‚¯ã‚¿ãƒ¼ã‹ã‚‰å–り除ã‹ãªã„ã¨ã€çˆ†ç™ºå››æ•£ã—ã¾ã™ã€‚ +block.build-tower.description = 範囲内ã®ç ´å£Šã•ã‚ŒãŸæ§‹é€ ç‰©ã‚’自動的ã«å†å»ºç¯‰ã—ã€å»ºè¨­ä¸­ã®ä»–ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’支æ´ã—ã¾ã™ã€‚ +block.regen-projector.description = 周囲ã®å››è§’ã„範囲内ã®å»ºé€ ç‰©ã‚’ゆã£ãりã¨ä¿®å¾©ã—ã¾ã™ã€‚æ°´ç´ ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚ +block.reinforced-container.description = å°‘é‡ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’ä¿ç®¡ã—ã¾ã™ã€‚ ダクトæ¬å‡ºæ©Ÿã§ä¸­èº«ã‚’å–り出ã™ã“ã¨ãŒã§ãã¾ã™ã€‚コアã®å®¹é‡ã¯å¢—加ã—ã¾ã›ã‚“。 +block.reinforced-vault.description = 大é‡ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’ä¿ç®¡ã—ã¾ã™ã€‚ ダクトæ¬å‡ºæ©Ÿã§ä¸­èº«ã‚’å–り出ã™ã“ã¨ãŒã§ãã¾ã™ã€‚コアã®å®¹é‡ã¯å¢—加ã—ã¾ã›ã‚“。 +block.tank-fabricator.description = ステルを製作ã—ã¾ã™ã€‚出力ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—ã€å†åР工工場ã«ç§»å‹•ã—ã¦ã‚¢ãƒƒãƒ—グレードã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ +block.ship-fabricator.description = アルードを製作ã—ã¾ã™ã€‚出力ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—ã€å†åР工工場ã«ç§»å‹•ã—ã¦ã‚¢ãƒƒãƒ—グレードã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ +block.mech-fabricator.description = メルイを製作ã—ã¾ã™ã€‚出力ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆã¯ãã®ã¾ã¾ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã—ã€å†åР工工場ã«ç§»å‹•ã—ã¦ã‚¢ãƒƒãƒ—グレードã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ +block.tank-assembler.description = æ¬å…¥ã—ãŸãƒ–ロックやユニットã‹ã‚‰å¤§åž‹æˆ¦è»Šã‚’組ã¿ç«‹ã¦ã¾ã™ã€‚ 基本組立モジュールを追加ã™ã‚‹ã“ã¨ã§ã€å‡ºåŠ›ãƒ¬ãƒ™ãƒ«ã‚’ä¸Šã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.ship-assembler.description = æ¬å…¥ã•れãŸãƒ–ロックã¨ãƒ¦ãƒ‹ãƒƒãƒˆã‹ã‚‰å¤§åž‹æˆ¦è‰¦ã‚’組ã¿ç«‹ã¦ã¾ã™ã€‚ モジュールを追加ã™ã‚‹ã“ã¨ã§ã€å‡ºåŠ›ãƒ¬ãƒ™ãƒ«ã‚’ä¸Šã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.mech-assembler.description = æ¬å…¥ã•れãŸãƒ–ロックã¨ãƒ¦ãƒ‹ãƒƒãƒˆã‹ã‚‰å¤§åž‹ãƒ¡ã‚«ã‚’組ã¿ç«‹ã¦ã¾ã™ã€‚ モジュールを追加ã™ã‚‹ã“ã¨ã§ã€å‡ºåŠ›ãƒ¬ãƒ™ãƒ«ã‚’ä¸Šã’ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +block.tank-refabricator.description = æ¬å…¥ã—ãŸæˆ¦è»Šãƒ¦ãƒ‹ãƒƒãƒˆã‚’第2レベルã«ã‚¢ãƒƒãƒ—グレードã—ã¾ã™ã€‚ +block.ship-refabricator.description = æ¬å…¥ã•れãŸè‰¦èˆ¹ãƒ¦ãƒ‹ãƒƒãƒˆã‚’第2レベルã«ã‚¢ãƒƒãƒ—グレードã—ã¾ã™ã€‚ +block.mech-refabricator.description = æ¬å…¥ã—ãŸãƒ¡ã‚«ãƒ¦ãƒ‹ãƒƒãƒˆã‚’第2レベルã«ã‚¢ãƒƒãƒ—グレードã—ã¾ã™ã€‚ +block.prime-refabricator.description = æ¬å…¥ã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆã‚’第3レベルã«ã‚¢ãƒƒãƒ—グレードã—ã¾ã™ã€‚ +block.basic-assembler-module.description = 組立工場ã®å»ºè¨­ã‚¹ãƒšãƒ¼ã‚¹ã«éš£æŽ¥ã•ã›ã‚Œã°ã€ãƒ¦ãƒ‹ãƒƒãƒˆãƒ¬ãƒ™ãƒ«ãŒä¸ŠãŒã‚Šã¾ã™ã€‚電力ãŒå¿…è¦ã§ã™ã€‚ ペイロード入力ã¨ã—ã¦ä½¿ç”¨ã§ãã¾ã™ã€‚ +block.small-deconstructor.description = 入力ã•れãŸå»ºé€ ç‰©ã‚„ユニットを分解ã—ã¾ã™ã€‚建造費用ã®100%ãŒè¿”å´ã•れã¾ã™ã€‚ +block.reinforced-payload-conveyor.description = 工場ã§ç”Ÿç”£ã•れãŸãƒ¦ãƒ‹ãƒƒãƒˆãªã©ã€å¤§ããªç‰©ã‚’輸é€ã—ã¾ã™ã€‚ +block.reinforced-payload-router.description = æ¬å…¥ã—ãŸç‰©ã‚’3æ–¹å‘ã«å‡ç­‰ã«æ¬å‡ºã—ã¾ã™ã€‚フィルタãŒè¨­å®šã•れã¦ã„ã‚‹å ´åˆã€ã‚½ãƒ¼ã‚¿ã¨ã—ã¦æ©Ÿèƒ½ã—ã¾ã™ã€‚ +block.payload-mass-driver.description = ペイロード版マスドライãƒãƒ¼ã€‚入力ã•れãŸç‰©ã‚’ã€é€£å‹•ã™ã‚‹ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰ãƒžã‚¹ãƒ‰ãƒ©ã‚¤ãƒãƒ¼ã¸å°„出ã—ã¾ã™ã€‚ +block.large-payload-mass-driver.description = ペイロード版マスドライãƒãƒ¼ã€‚入力ã•れãŸç‰©ã‚’ã€é€£å‹•ã™ã‚‹å¤§åž‹ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰ãƒžã‚¹ãƒ‰ãƒ©ã‚¤ãƒãƒ¼ã¸å°„出ã—ã¾ã™ã€‚ +block.unit-repair-tower.description = 周辺ã®ã™ã¹ã¦ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’ä¿®ç†ã—ã¾ã™ã€‚ オゾンãŒå¿…è¦ã§ã™ã€‚ +block.radar.description = 大ããªåŠå¾„ã§åœ°å½¢ã¨æ•µãƒ¦ãƒ‹ãƒƒãƒˆã‚’å¾ã€…ã«ç™ºè¦‹ã—ã¾ã™ã€‚ é›»æºãŒå¿…è¦ã§ã™ã€‚ +block.shockwave-tower.description = åŠå¾„å†…ã®æ•µã®ç™ºå°„体ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¦ç ´å£Šã—ã¾ã™ã€‚ シアンãŒå¿…è¦ã§ã™ã€‚ +block.canvas.description = 定義済ã¿ã®ãƒ‘レットを使用ã—ã¦å˜ç´”ãªç”»åƒã‚’表示ã—ã¾ã™ã€‚ 編集å¯èƒ½ã€‚ -unit.dagger.description = Fires standard bullets at all nearby enemies. -unit.mace.description = Fires streams of flame at all nearby enemies. -unit.fortress.description = Fires long-range artillery at ground targets. -unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. -unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. -unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. -unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. -unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. -unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. -unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. -unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. -unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. -unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. -unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. -unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. -unit.flare.description = Fires standard bullets at nearby ground targets. -unit.horizon.description = Drops clusters of bombs on ground targets. -unit.zenith.description = Fires salvos of missiles at all nearby enemies. -unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. -unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. -unit.mono.description = Automatically mines copper and lead, depositing it into the core. -unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. -unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. -unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. -unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. -unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. -unit.minke.description = Fires shells and standard bullets at nearby ground targets. -unit.bryde.description = Fires long-range artillery shells and missiles at enemies. -unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. -unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. -unit.alpha.description = Defends the Shard core from enemies. Builds structures. -unit.beta.description = Defends the Foundation core from enemies. Builds structures. -unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.dagger.description = è¿‘ãã®æ•µã«æ¨™æº–çš„ãªå¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ +unit.mace.description = è¿‘ãã®æ•µã«ç«ç‚Žæ”¾å°„を発射ã—ã¾ã™ã€‚ +unit.fortress.description = 地上目標ã«é•·è·é›¢ç ²ã‚’発射ã—ã¾ã™ã€‚ +unit.scepter.description = è¿‘ãã®æ•µã«ãƒãƒ£ãƒ¼ã‚¸å¼¾ã‚’発射ã—ã¾ã™ã€‚ +unit.reign.description = è¿‘ãã®æ•µã«å¤§å£å¾„ã®è²«é€šå¼¾ã‚’発射ã—ã¾ã™ã€‚ +unit.nova.description = 敵ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã€å‘³æ–¹ã®å»ºé€ ç‰©ã‚’修復ã™ã‚‹å…‰ç·šã‚’発射ã—ã¾ã™ã€‚\n飛行å¯èƒ½ã€‚ +unit.pulsar.description = 敵ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã€å‘³æ–¹ã®å»ºé€ ç‰©ã‚’修復ã™ã‚‹é›»æ’ƒæ”»æ’ƒã‚’行ã„ã¾ã™ã€‚\n飛行å¯èƒ½ã€‚ +unit.quasar.description = 敵ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã€å‘³æ–¹ã®å»ºé€ ç‰©ã‚’修復ã™ã‚‹ãƒ¬ãƒ¼ã‚¶ãƒ¼å¼¾ã‚’発射ã—ã¾ã™ã€‚\n飛行å¯èƒ½ã€‚シールド形æˆã€‚ +unit.vela.description = 敵ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã€ç«ç½ã‚’引ãèµ·ã“ã—ã€å‘³æ–¹ã®å»ºé€ ç‰©ã‚’修復ã™ã‚‹ãƒ¬ãƒ¼ã‚¶ãƒ¼ç„¼å¤·å¼¾ã‚’発射ã—ã¾ã™ã€‚\n飛行å¯èƒ½ã€‚ +unit.corvus.description = 敵ã«ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã€å‘³æ–¹ã®å»ºé€ ç‰©ã‚’修復ã™ã‚‹å¤§ç«åŠ›ã®ãƒ¬ãƒ¼ã‚¶ãƒ¼å¼¾ã‚’発射ã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.crawler.description = 敵ã«å‘ã‹ã£ã¦èµ°ã‚Šè‡ªçˆ†ã—ã€å¤§çˆ†ç™ºã‚’èµ·ã“ã™ã€‚ +unit.atrax.description = 地上目標を消耗ã•ã›ã‚‹ã‚¹ãƒ©ã‚°å¼¾ã‚’発射ã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.spiroct.description = 敵ã«å¸åŽãƒ¬ãƒ¼ã‚¶ãƒ¼ãƒ“ームを発射ã—ã€ä¸ŽãˆãŸãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’自らã®ä½“力ã¨ã—ã¦å¸åŽã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.arkyid.description = 敵ã«å¤§å£å¾„ã®å¸åŽãƒ¬ãƒ¼ã‚¶ãƒ¼ãƒ“ームを発射ã—ã€ä¸ŽãˆãŸãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’自らã®ä½“力ã¨ã—ã¦å¸åŽã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.toxopid.description = 敵ã«å¤§å£å¾„ã®é›»æ’ƒã‚¯ãƒ©ã‚¹ã‚¿ãƒ¼ã‚·ã‚§ãƒ«ã¨è²«é€šãƒ¬ãƒ¼ã‚¶ãƒ¼ã‚’発射ã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.flare.description = è¿‘ãã®åœ°ä¸Šç›®æ¨™ã«æ¨™æº–çš„ãªå¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ +unit.horizon.description = 地上目標ã«ã‚¯ãƒ©ã‚¹ã‚¿ãƒ¼çˆ†å¼¾ã‚’投下ã—ã¾ã™ã€‚ +unit.zenith.description = è¿‘ãã®æ•µã«ãƒŸã‚µã‚¤ãƒ«ã‚’一斉発射ã—ã¾ã™ã€‚ +unit.antumbra.description = è¿‘ãã®æ•µã«å¼¾å¹•ã®ã‚ˆã†ã«å¼¾ä¸¸ã‚’連射ã—ã¾ã™ã€‚ +unit.eclipse.description = è¿‘ãã®æ•µã«2é–€ã®è²«é€šãƒ¬ãƒ¼ã‚¶ãƒ¼ã¨é«˜å°„ç ²ã®å¼¾å¹•を発射ã—ã¾ã™ã€‚ +unit.mono.description = 銅ã¨é‰›ã‚’è‡ªå‹•çš„ã«æŽ¡æŽ˜ã—ã€ã‚³ã‚¢ã«ç§»é€ã—ã¾ã™ã€‚ +unit.poly.description = 破壊ã•れãŸå»ºé€ ç‰©ã‚’自動的ã«å†æ§‹ç¯‰ã—ã€ã•らã«å»ºè¨­ã®æ”¯æ´ã‚’行ã„ã¾ã™ã€‚ +unit.mega.description = æå‚·ã—ãŸå»ºé€ ç‰©ã‚’自動的ã«ä¿®å¾©ã—ã¾ã™ã€‚\nå°åž‹ã®ãƒ–ロックã¨åœ°ä¸Šãƒ¦ãƒ‹ãƒƒãƒˆã‚’鋿¬ã§ãã¾ã™ã€‚ +unit.quad.description = 地上目標ã«å¤§åž‹çˆ†å¼¾ã‚’投下ã—ã€å‘³æ–¹ã®å»ºé€ ç‰©ã¯ä¿®å¾©ã—ã€æ•µã«ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¾ã™ã€‚\n中型ã®åœ°ä¸Šãƒ¦ãƒ‹ãƒƒãƒˆã‚’鋿¬ã§ãã¾ã™ã€‚ +unit.oct.description = シールド形æˆã¨ä¿®å¾©ã‚’行ã„ã€ä»˜è¿‘ã®å‘³æ–¹ã‚’守りã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°ä¸Šãƒ¦ãƒ‹ãƒƒãƒˆã‚’鋿¬ã§ãã¾ã™ã€‚ +unit.risso.description = è¿‘ãã®æ•µã«ãƒŸã‚µã‚¤ãƒ«ã¨å¼¾ä¸¸ã®å¼¾å¹•を発射ã—ã¾ã™ã€‚ +unit.minke.description = è¿‘ãã®åœ°ä¸Šç›®æ¨™ã«ç ²å¼¾ã¨æ¨™æº–çš„ãªå¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ +unit.bryde.description = 敵ã«é•·è·é›¢ç ²å¼¾ã¨ãƒŸã‚µã‚¤ãƒ«ã‚’発射ã—ã¾ã™ã€‚ +unit.sei.description = 敵ã«ãƒŸã‚µã‚¤ãƒ«ã¨å¾¹ç”²å¼¾ã®å¼¾å¹•を発射ã—ã¾ã™ã€‚ +unit.omura.description = 敵ã«é•·è·é›¢ã‹ã¤è²«é€šæ€§èƒ½ã‚’æŒã¤ãƒ¬ãƒ¼ãƒ«ã‚¬ãƒ³ãƒœãƒ«ãƒˆã‚’発射ã—ã¾ã™ã€‚\nフレアユニットを生産ã—ã¾ã™ã€‚ +unit.alpha.description = シャードコアを敵ã‹ã‚‰å®ˆã‚Šã¾ã™ã€‚\n建造物を建築ã—ã¾ã™ã€‚ +unit.beta.description = ファンデーションコアを敵ã‹ã‚‰å®ˆã‚Šã¾ã™ã€‚\n建造物を建築ã—ã¾ã™ã€‚ +unit.gamma.description = ニュークリアスコアを敵ã‹ã‚‰å®ˆã‚Šã¾ã™ã€‚\n建造物を建築ã—ã¾ã™ã€‚ +unit.retusa.description = è¿‘ãã®æ•µã«è¿½å°¾é­šé›·ã‚’発射ã—ã¾ã™ã€‚\n味方ユニットを修復ã—ã¾ã™ã€‚ +unit.oxynoe.description = 建造物修復ç«ç‚Žæ”¾å°„を発射ã—ã¾ã™ã€‚敵ã«ã¯ãƒ€ãƒ¡ãƒ¼ã‚¸ã‚’与ãˆã¾ã™ã€‚\n地点防空タレットã«ã‚ˆã£ã¦æ•µã®å¼¾ä¸¸ã‚’æ’ƒã¡è½ã¨ã—ã¾ã™ã€‚ +unit.cyerce.description = 敵ã«è¿½å°¾ã‚¯ãƒ©ã‚¹ã‚¿ãƒ¼ãƒŸã‚µã‚¤ãƒ«ã‚’発射ã—ã¾ã™ã€‚\n味方ユニットを修復ã—ã¾ã™ã€‚ +unit.aegires.description = エãƒãƒ«ã‚®ãƒ¼ãƒ•ィールド内ã®å…¨ã¦ã®æ•µãƒ¦ãƒ‹ãƒƒãƒˆã¨å»ºé€ ç‰©ã«ã¯é›»æ’ƒã‚’放ã¡ã€å…¨ã¦ã®å‘³æ–¹ãƒ¦ãƒ‹ãƒƒãƒˆã«ã¯ä¿®å¾©åŠ¹æžœã‚’ä¸Žãˆã¾ã™ã€‚ +unit.navanax.description = 爆発性ã®EMP弾を発射ã—ã€æ•µã®é›»åŠ›ç³»çµ±ã«ã¯é‡å¤§ãªæå‚·ã‚’与ãˆã€å‘³æ–¹ã®å»ºé€ ç‰©ã¯ä¿®å¾©ã—ã¾ã™ã€‚\n4é–€ã®è‡ªå¾‹åž‹ãƒ¬ãƒ¼ã‚¶ãƒ¼ã‚¿ãƒ¬ãƒƒãƒˆã§è¿‘ãã®æ•µã‚’溶ã‹ã—ã¾ã™ã€‚ +unit.stell.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«æ¨™æº–ã®å¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ +unit.locus.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«å¼¾ä¸¸ã‚’交互ã«ç™ºå°„ã—ã¾ã™ã€‚ +unit.precept.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«å‘ã‘ã¦è²«é€šã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚¿ãƒ¼å¼¾ã‚’発射ã—ã¾ã™ã€‚ +unit.vanquish.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«å¤§ããªåˆ†è£‚ã™ã‚‹è²«é€šå¼¾ã‚’発射ã—ã¾ã™ã€‚ +unit.conquer.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«å‘ã‘ã¦ã€è²«é€šã™ã‚‹å¤§ããªæ³¢çжã®å¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ +unit.merui.description = 敵ã®åœ°ä¸Šç›®æ¨™ã«é•·è·é›¢ç ²ã‚’発射ã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.cleroi.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«äºŒé‡ã®ç ²å¼¾ã‚’発射ã—ã¾ã™ã€‚é˜²è¡›ã‚¿ãƒ¬ãƒƒãƒˆã§æ•µã®å¼¾ä¸¸ã‚’ç‹™ã„ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.anthicus.description = é•·è·é›¢è¿½å°¾ãƒŸã‚µã‚¤ãƒ«ã‚’敵ã«ç™ºå°„ã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.tecta.description = 敵ã«è¿½å°¾åž‹é›»æ’ƒãƒŸã‚µã‚¤ãƒ«ã‚’発射ã—ã¾ã™ã€‚シールドã§èº«ã‚’守りã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.collaris.description = 敵ã«å‘ã‘ã¦é•·è·é›¢ã®ç ´ç‰‡ç ²ã‚’発射ã—ã¾ã™ã€‚\nã»ã¨ã‚“ã©ã®åœ°å½¢ã‚’無視ã§ãã¾ã™ã€‚ +unit.elude.description = 敵ã«ä¸€å¯¾ã®è¿½å°¾å¼¾ã‚’発射ã—ã¾ã™ã€‚\næ°´ã«æµ®ãã“ã¨ãŒã§ãã¾ã™ã€‚ +unit.avert.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ã€ã­ã˜ã‚ŒãŸä¸€å¯¾ã®å¼¾ä¸¸ã‚’発射ã—ã¾ã™ã€‚ +unit.obviate.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ã€ã­ã˜ã‚ŒãŸä¸€å¯¾ã®å¸¯é›»ã‚ªãƒ¼ãƒ–を発射ã—ã¾ã™ã€‚ +unit.quell.description = é•·è·é›¢è¿½å°¾ãƒŸã‚µã‚¤ãƒ«ã‚’敵ã«ç™ºå°„ã—ã¾ã™ã€‚敵ã®ä¿®å¾©ãƒ–ロックを抑制ã—ã¾ã™ã€‚ +unit.disrupt.description = 敵ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«é•·è·é›¢ãƒ›ãƒ¼ãƒŸãƒ³ã‚°æŠ‘制ミサイルを発射ã—ã¾ã™ã€‚ æ•µã®æ§‹é€ ä¿®å¾©ãƒ–ロックを抑制ã—ã¾ã™ã€‚ +unit.evoke.description = ãƒã‚¹ãƒ†ã‚£ã‚ªãƒ³ã‚³ã‚¢ã‚’敵ã‹ã‚‰å®ˆã‚Šã¾ã™ã€‚\nビームã§å»ºé€ ç‰©ã‚’修復ã—ã¾ã™ã€‚ +unit.incite.description = シタデルコアを敵ã‹ã‚‰å®ˆã‚Šã¾ã™ã€‚\nビームã§å»ºé€ ç‰©ã‚’修復ã—ã¾ã™ã€‚ +unit.emanate.description = アクロãƒãƒªã‚¹ã‚³ã‚¢ã‚’敵ã‹ã‚‰å®ˆã‚Šã¾ã™ã€‚\nビームã§å»ºé€ ç‰©ã‚’修復ã—ã¾ã™ã€‚ +lst.read = リンクã•れãŸãƒ¡ãƒ¢ãƒªã‚»ãƒ«ã‹ã‚‰æ•°å€¤ã‚’読ã¿å–りã¾ã™ã€‚ +lst.write = リンクã•れãŸãƒ¡ãƒ¢ãƒªã‚»ãƒ«ã«æ•°å€¤ã‚’書ãè¾¼ã¿ã¾ã™ã€‚ +lst.print = メッセージブロックã«ãƒ†ã‚­ã‚¹ãƒˆã‚’追加ã—ã¾ã™ã€‚[accent]Print Flush[] を使用ã™ã‚‹ã¾ã§ä½•も表示ã—ã¾ã›ã‚“。 +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = ãƒ­ã‚¸ãƒƒã‚¯ãƒ‡ã‚£ã‚¹ãƒ—ãƒ¬ã‚¤ã«æ“作を追加ã—ã¾ã™ã€‚[accent]Draw Flush[] を使用ã™ã‚‹ã¾ã§ä½•も表示ã—ã¾ã›ã‚“。 +lst.drawflush = キューã«å…¥ã‚Œã‚‰ã‚ŒãŸ [accent]Draw[] æ“作をディスプレイã«ãƒ•ラッシュã—ã¾ã™ã€‚ +lst.printflush = キューã«å…¥ã‚Œã‚‰ã‚ŒãŸ [accent]Print[] æ“作をメッセージ ブロックã«ãƒ•ラッシュã—ã¾ã™ã€‚ +lst.getlink = プロセッサーã®ãƒªãƒ³ã‚¯ã‚’番å·ã§å–å¾—ã—ã¾ã™ã€‚番å·ã¯0ã‹ã‚‰å§‹ã¾ã‚Šã¾ã™ã€‚ +lst.control = 建物を制御ã—ã¾ã™ã€‚ +lst.radar = 射程内ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’探ã—ã¾ã™ã€‚ +lst.sensor = 建物やユニットã®ãƒ‡ãƒ¼ã‚¿ã‚’å–å¾—ã—ã¾ã™ã€‚ +lst.set = 変数を定義ã—ã€æ•°å€¤ã‚’代入ã—ã¾ã™ã€‚ +lst.operation = 一ã¤ã‹ã‚‰äºŒã¤ã®å¤‰æ•°ã‚’使ã£ã¦æ¼”ç®—ã‚’ã—ã¾ã™ã€‚ +lst.end = 命令スタックã®å…ˆé ­ã«ã‚¸ãƒ£ãƒ³ãƒ—ã—ã¾ã™ã€‚ +lst.wait = 一定ã®ç§’æ•°å¾…ã¡ã¾ã™ã€‚ +lst.stop = ã“ã®ãƒ—ロセッサã®å®Ÿè¡Œã‚’åœæ­¢ã—ã¾ã™ã€‚ +lst.lookup = アイテム/液体/ユニット/ブロック ã®ã‚¿ã‚¤ãƒ—ã‚’IDã§æ¤œç´¢ã§ãã¾ã™ã€‚\nå„タイプã®ç·ã‚«ã‚¦ãƒ³ãƒˆæ•°ã¯ã€ä»¥ä¸‹ã®æ–¹æ³•ã§ã‚¢ã‚¯ã‚»ã‚¹å¯èƒ½ã§ã™ã€‚\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = æ¡ä»¶ä»˜ãã§åˆ¥ã®æ–‡ã«ã‚¸ãƒ£ãƒ³ãƒ—ã—ã¾ã™ã€‚ +lst.unitbind = 指定ã—ãŸåž‹ã®æ¬¡ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚’確ä¿ã—〠[accent]@unit[] ã«æ ¼ç´ã—ã¾ã™ã€‚ +lst.unitcontrol = ç¾åœ¨ç¢ºä¿ã•れã¦ã„るユニットを制御ã—ã¾ã™ã€‚ +lst.unitradar = ç¾åœ¨ç¢ºä¿ã—ã¦ã„るユニットã®å‘¨å›²ã«ãƒ¦ãƒ‹ãƒƒãƒˆã‚’é…ç½®ã—ã¾ã™ã€‚ +lst.unitlocate = マップ上ã®ä»»æ„ã®åº§æ¨™ã«ã‚ã‚‹ã€ç‰¹å®šã®ã‚¿ã‚¤ãƒ—ã®å ´æ‰€ã‚„建物を探ã—ã¾ã™ã€‚\nユニットを確ä¿ã™ã‚‹å¿…è¦ãŒã‚りã¾ã™ã€‚ +lst.getblock = ä»»æ„ã®åº§æ¨™ã®ã‚¿ã‚¤ãƒ«ã®æƒ…報をå–å¾—ã—ã¾ã™ã€‚ +lst.setblock = ä»»æ„ã®åº§æ¨™ã®ã‚¿ã‚¤ãƒ«ã®æƒ…報を変更ã—ã¾ã™ã€‚ +lst.spawnunit = ä»»æ„ã®åº§æ¨™ã«ãƒ¦ãƒ‹ãƒƒãƒˆã‚’スãƒãƒ¼ãƒ³ã•ã›ã¾ã™ã€‚ +lst.applystatus = ユニットã‹ã‚‰ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹åŠ¹æžœã‚’é©ç”¨ã¾ãŸã¯å‰Šé™¤ã™ã‚‹ã€‚ +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = ä»»æ„ã®åº§æ¨™ã§ç™ºç”Ÿã™ã‚‹ã‚¦ã‚§ãƒ¼ãƒ–をシミュレーションã—ã¾ã™ã€‚\nウェーブを進ã‚ã¾ã›ã‚“。 +lst.explosion = ã‚る場所ã§çˆ†ç™ºã‚’èµ·ã“ã—ã¾ã™ã€‚ +lst.setrate = プロセッサーã®å®Ÿè¡Œé€Ÿåº¦ã‚’1命令/tickã§è¨­å®šã—ã¾ã™ã€‚ +lst.fetch = ユニットã€ã‚³ã‚¢ã€ãƒ—レイヤーã€å»ºç‰©ã‚’番å·ã§æ¤œç´¢ã—ã¾ã™ã€‚\n番å·ã¯0ã‹ã‚‰å§‹ã¾ã‚Šã€è¿”ã•れãŸå›žæ•°ã§çµ‚ã‚りã¾ã™ã€‚ +lst.packcolor = [0, 1] RGBA æˆåˆ†ã‚’1ã¤ã®æ•°å€¤ã«ã¾ã¨ã‚ã¦ã€æç”»ã‚„ルール設定ã«åˆ©ç”¨ã—ã¾ã™ã€‚ +lst.setrule = ゲームルールを設定ã—ã¾ã™ã€‚ +lst.flushmessage = テキストãƒãƒƒãƒ•ã‚¡ã‹ã‚‰ç”»é¢ã«ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’表示ã—ã¾ã™ã€‚\nå‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒçµ‚了ã™ã‚‹ã¾ã§å¾…ã¡ã¾ã™ã€‚ +lst.cutscene = プレイヤーã®ã‚«ãƒ¡ãƒ©ã‚’æ“作ã—ã¾ã™ã€‚ +lst.setflag = 全プロセッサーã‹ã‚‰èª­ã¿å–れるグローãƒãƒ«ãƒ•ラグを設定ã—ã¾ã™ã€‚ +lst.getflag = グローãƒãƒ«ãƒ•ラグãŒè¨­å®šã•れã¦ã„ã‚‹ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]ã“ã“ã§ã¯ãƒ¦ãƒ‹ãƒƒãƒˆæ§‹ç¯‰ãƒ­ã‚¸ãƒƒã‚¯ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。 +lenum.type = ユニットや建物ã®ç¨®é¡žã‚’å–å¾—ã—ã¾ã™ã€‚\n例:任æ„ã®ãƒ«ãƒ¼ã‚¿ãƒ¼ã«å¯¾ã—ã¦ã€ [accent]@router[] ã‚’è¿”ã—ã¾ã™ã€‚\n文字列ã§ã¯ã‚りã¾ã›ã‚“。 +lenum.shoot = 指定ã—ãŸåº§æ¨™ã«å‘ã‹ã£ã¦æ’ƒã¡ã¾ã™ã€‚ +lenum.shootp = ä»»æ„ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚„建物を撃ã¡ã¾ã™ã€‚ +lenum.config = 建物ã®è¨­å®šã‚’å–å¾—ã—ã¾ã™ã€‚\n例:ソーターã«è¨­å®šã•れã¦ã„るアイテムãªã© +lenum.enabled = ãƒ–ãƒ­ãƒƒã‚¯ãŒæœ‰åйã‹ã©ã†ã‹ã‚’å–å¾—ã—ã¾ã™ã€‚ +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = イルミãƒãƒ¼ã‚¿ãƒ¼ã®è‰²ã‚’å–å¾—ã—ã¾ã™ã€‚ +laccess.controller = ユニットを制御ã—ã¦ã„ã‚‹ã‚‚ã®ã‚’å–å¾—ã—ã¾ã™ã€‚\nプロセッサ制御ã®å ´åˆã€åˆ¶å¾¡ã—ã¦ã„るプロセッサを返ã—ã¾ã™ã€‚\nã»ã‹ã®ãƒ¦ãƒ‹ãƒƒãƒˆã«åˆ¶å¾¡ã•れã¦ã„ã‚‹å ´åˆã€åˆ¶å¾¡ã—ã¦ã„るユニットを返ã—ã¾ã™ã€‚\nãれ以外ã®å ´åˆã¯ã€ãƒ¦ãƒ‹ãƒƒãƒˆè‡ªèº«ã‚’è¿”ã—ã¾ã™ã€‚ +laccess.dead = ãƒ¦ãƒ‹ãƒƒãƒˆã‚„å»ºç‰©ãŒæ©Ÿèƒ½ã—ã¦ã„ã‚‹ã‹ã©ã†ã‹ã€ã¾ãŸã¯ã‚‚ã†æœ‰åйã§ãªã„ã‹ã©ã†ã‹ã€‚ +laccess.controlled = ユニットや建物ãŒã©ã®ã‚ˆã†ã«åˆ¶å¾¡ã•れã¦ã„ã‚‹ã®ã‹ã‚’å–å¾—ã—ã¾ã™ã€‚\nプロセッサ制御ã®å ´åˆã€ [accent]@ctrlProcessor[] ã‚’è¿”ã—ã¾ã™ã€‚\nプレイヤー制御ã®å ´åˆã€ [accent]@ctrlPlayer[] ã‚’è¿”ã—ã¾ã™ã€‚\n隊列を組んã§ã„ã‚‹å ´åˆã€ [accent]@ctrlFormation[] ã‚’è¿”ã—ã¾ã™ã€‚\nãれ以外㯠0 ã‚’è¿”ã—ã¾ã™ã€‚ +laccess.progress = アクションã®é€²è¡Œçжæ³ã‚’0〜1ã§å–å¾—ã—ã¾ã™ã€‚\n生産ã€ãƒªãƒ­ãƒ¼ãƒ‰ã€ã¾ãŸã¯å»ºè¨­ã®é€²æ—状æ³ã‚’è¿”ã—ã¾ã™ã€‚ +laccess.speed = ãƒ¦ãƒ‹ãƒƒãƒˆã®æœ€é«˜é€Ÿåº¦ã‚’è¿”ã—ã¾ã™ã€‚(å˜ä½ï¼šã‚¿ã‚¤ãƒ«/秒) +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = 䏿˜Ž +lcategory.unknown.description = æœªåˆ†é¡žã®æŒ‡ç¤ºã§ã™ã€‚ +lcategory.io = 入出力 +lcategory.io.description = メモリブロックやプロセッサã®éš ã—変数ã®å†…容を変更ã—ã¾ã™ã€‚ +lcategory.block = ブロック制御 +lcategory.block.description = ブロックã¨é€£å‹•ã—ã¾ã™ã€‚ +lcategory.operation = 演算 +lcategory.operation.description = è«–ç†æ¼”ç®—ã‚’ã—ã¾ã™ã€‚ +lcategory.control = æµã‚Œåˆ¶å¾¡ +lcategory.control.description = 実行順åºã‚’管ç†ã—ã¾ã™ã€‚ +lcategory.unit = ユニット制御 +lcategory.unit.description = ユニットã«å‘½ä»¤ã‚’与ãˆã¾ã™ã€‚ +lcategory.world = 世界 +lcategory.world.description = ä¸–ç•Œã®æŒ¯ã‚‹èˆžã„をコントロールã—ã¾ã™ã€‚ +graphicstype.clear = ディスプレイを色ã§å¡—りã¤ã¶ã—ã¾ã™ã€‚ +graphicstype.color = æ¬¡ã«æç”»ã™ã‚‹è‰²ã‚’設定ã—ã¾ã™ã€‚ +graphicstype.col = coolorã¨åŒã˜ã§ã™ãŒã€è‰²ãŒã¾ã¨ã‚られã¦ã„ã¾ã™ã€‚\nã¾ã¨ã‚られãŸè‰²ã¯ [accent]%[] ã®æŽ¥é ­è¾žã‚’æŒã¤16進コードã§è¨˜è¿°ã•れã¾ã™ã€‚\n例: 赤㯠[accent]%ff0000[] ã§è¡¨ã•れã¾ã™ã€‚ +graphicstype.stroke = 線幅を設定ã—ã¾ã™ã€‚ +graphicstype.line = ç·šã‚’æãã¾ã™ã€‚ +graphicstype.rect = 塗りã¤ã¶ã•れãŸçŸ©å½¢ã‚’æãã¾ã™ã€‚ +graphicstype.linerect = 輪郭ã ã‘ã®çŸ©å½¢ã‚’æãã¾ã™ã€‚ +graphicstype.poly = 塗りã¤ã¶ã•れãŸå¤šè§’形をæãã¾ã™ã€‚ +graphicstype.linepoly = 輪郭ã ã‘ã®å¤šè§’形をæãã¾ã™ã€‚ +graphicstype.triangle = 塗りã¤ã¶ã•れãŸä¸‰è§’形をæãã¾ã™ã€‚ +graphicstype.image = 何らã‹ã®ã‚³ãƒ³ãƒ†ãƒ³ãƒ„ã®ã‚¤ãƒ¡ãƒ¼ã‚¸ã‚’æç”»ã—ã¾ã™ã€‚\n例: [accent]@router[] ã‚„ [accent]@dagger[]ãªã©ã€‚ +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = 常ã«trueã‚’è¿”ã—ã¾ã™ã€‚ +lenum.idiv = æ•´æ•°ã®å‰²ã‚Šç®—ã‚’ã—ã¾ã™ã€‚ +lenum.div = 割り算をã—ã¾ã™ã€‚\nゼロ除算㧠[accent]null[] ã‚’è¿”ã—ã¾ã™ã€‚ +lenum.mod = 割ã£ãŸã‚ã¾ã‚Šã‚’è¿”ã—ã¾ã™ã€‚ +lenum.equal = ç­‰ã—ã„ã‹ã©ã†ã‹ã‚’比較ã—ã¾ã™ã€‚型を強制ã—ã¾ã™ã€‚\næ•°å€¤ã¨æ¯”較ã•れるéžNULLオブジェクトã¯1ã«ãªã‚Šã€ãã†ã§ãªã„å ´åˆã¯0ã«ãªã‚‹ã€‚ +lenum.notequal = ç­‰ã—ããªã„ã‹ã©ã†ã‹ã‚’比較ã—ã¾ã™ã€‚型を強制ã—ã¾ã™ã€‚ +lenum.strictequal = ã‚ˆã‚ŠåŽ³å¯†ãªæ¯”較をã—ã¾ã™ã€‚åž‹ã®å¼·åˆ¶ã¯ã—ã¾ã›ã‚“。\n [accent]null[] ã®ãƒã‚§ãƒƒã‚¯ã«ä½¿ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ +lenum.shl = ビットを左ã«ã‚·ãƒ•トã—ã¾ã™ã€‚ +lenum.shr = ビットをå³ã«ã‚·ãƒ•トã—ã¾ã™ã€‚ +lenum.or = ビットå˜ä½ã§ã®OR演算をã—ã¾ã™ã€‚ +lenum.land = è«–ç†çš„ãªAND演算をã—ã¾ã™ã€‚ +lenum.and = ビットå˜ä½ã§ã®AND演算をã—ã¾ã™ã€‚ +lenum.not = ビットå˜ä½ã®å転をã—ã¾ã™ã€‚ +lenum.xor = ビットå˜ä½ã§ã®XOR演算をã—ã¾ã™ã€‚ +lenum.min = 二ã¤ã®å€¤ã‚’比較ã—ã€å°ã•ã„ã»ã†ã‚’è¿”ã—ã¾ã™ã€‚ +lenum.max = 二ã¤ã®å€¤ã‚’比較ã—ã€å¤§ãã„ã»ã†ã‚’è¿”ã—ã¾ã™ã€‚ +lenum.angle = ベクトルã®è§’度を度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = ベクトルã®é•·ã•を計算ã—ã¾ã™ã€‚ +lenum.sin = sinを度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.cos = cosを度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.tan = tanを度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.asin = asinを度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.acos = acosを度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.atan = atanを度ã§è¨ˆç®—ã—ã¾ã™ã€‚ +lenum.rand = 0ã‹ã‚‰ä»»æ„ã®å€¤ã¾ã§ã®ãƒ©ãƒ³ãƒ€ãƒ ãªå€¤ã‚’è¿”ã—ã¾ã™ã€‚ +lenum.log = 自然対数 (ln)を計算ã—ã¾ã™ã€‚ +lenum.log10 = 10 を底ã¨ã—ãŸå¯¾æ•°ã‚’計算ã—ã¾ã™ã€‚ +lenum.noise = 2次元シンプレックスノイズを計算ã—ã¾ã™ã€‚ +lenum.abs = 絶対値を計算ã—ã¾ã™ã€‚ +lenum.sqrt = 平方根を計算ã—ã¾ã™ã€‚ +lenum.any = ä»»æ„ã®ãƒ¦ãƒ‹ãƒƒãƒˆ +lenum.ally = 味方ã®ãƒ¦ãƒ‹ãƒƒãƒˆ +lenum.attacker = 武器をæŒã£ãŸãƒ¦ãƒ‹ãƒƒãƒˆ +lenum.enemy = 敵ã®ãƒ¦ãƒ‹ãƒƒãƒˆ +lenum.boss = ガーディアンユニット +lenum.flying = 飛行ユニット +lenum.ground = 地上ユニット +lenum.player = ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼ãŒæ“作ã™ã‚‹ãƒ¦ãƒ‹ãƒƒãƒˆ +lenum.ore = 鉱脈 +lenum.damaged = æå‚·ã—ãŸå»ºç‰© +lenum.spawn = 敵ã®ã‚¹ãƒãƒ¼ãƒ³åœ°ç‚¹\nコアã§ã‚‚場所ã§ã‚‚ã„ã„ã§ã™ã€‚ +lenum.building = 特定ã®ã‚°ãƒ«ãƒ¼ãƒ—ã®å»ºç‰© +lenum.core = ä»»æ„ã®ã‚³ã‚¢ +lenum.storage = ストレージ\n例: ボールト +lenum.generator = 発電所 +lenum.factory = 加工施設 +lenum.repair = 修復ãƒã‚¤ãƒ³ãƒˆ +lenum.battery = ä»»æ„ã®ãƒãƒƒãƒ†ãƒªãƒ¼ +lenum.resupply = 補給ãƒã‚¤ãƒ³ãƒˆ\n[accent]ユニット弾薬[] ãŒæœ‰åйãªå ´åˆã®ã¿ã€‚ +lenum.reactor = インパクトリアクターã‹ãƒˆãƒªã‚¦ãƒ ãƒªã‚¢ã‚¯ã‚¿ãƒ¼ +lenum.turret = ä»»æ„ã®ã‚¿ãƒ¬ãƒƒãƒˆ +sensor.in = 感知ã™ã‚‹å»ºç‰©ã‚„ユニット +radar.from = 検知ã™ã‚‹ã‚‚ã®\nセンサーã®ç¯„囲ã¯ã€å»ºç‰©ã®ç¯„囲ã«ã‚ˆã£ã¦åˆ¶é™ã•れã¾ã™ã€‚ +radar.target = ユニットを感知ã™ã‚‹ã¨ãã®ãƒ•ィルター +radar.and = 追加ã®ãƒ•ィルター +radar.order = ソート順。 0 ã‹ã‚‰é€†é †ã€‚ +radar.sort = çµæžœã‚’ä¸¦ã¹æ›¿ãˆã‚‹ãŸã‚ã®æŒ‡æ¨™ +radar.output = 検知ã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆã‚’出力ã™ã‚‹å¤‰æ•° +unitradar.target = ユニットを感知ã™ã‚‹ãŸã‚ã®ãƒ•ィルター +unitradar.and = 追加ã®ãƒ•ィルター +unitradar.order = ソート順。 0 ã‹ã‚‰é€†é †ã€‚ +unitradar.sort = çµæžœã‚’ä¸¦ã¹æ›¿ãˆã‚‹ãŸã‚ã®æŒ‡æ¨™ +unitradar.output = 検知ã—ãŸãƒ¦ãƒ‹ãƒƒãƒˆã‚’出力ã™ã‚‹å¤‰æ•° +control.of = 制御ã™ã‚‹å»ºç‰© +control.unit = 標的ã¨ã™ã‚‹ãƒ¦ãƒ‹ãƒƒãƒˆã‚„建物 +control.shoot = æ’ƒã¤ã‹ã©ã†ã‹ +unitlocate.enemy = 敵ã®å»ºç‰©ã®ä½ç½®ã‚’特定ã™ã‚‹ã‹ã©ã†ã‹ +unitlocate.found = 対象物を見ã¤ã‘ãŸã‹ã©ã†ã‹ +unitlocate.building = 見ã¤ã‘ãŸå»ºç‰©ã‚’出力ã™ã‚‹å¤‰æ•° +unitlocate.outx = X座標を出力ã™ã‚‹å¤‰æ•° +unitlocate.outy = Y座標を出力ã™ã‚‹å¤‰æ•° +unitlocate.group = 探ã™å»ºç‰©ã®ã‚°ãƒ«ãƒ¼ãƒ— +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = 移動ã¯ã—ã¾ã›ã‚“ãŒã€å»ºç¯‰ãƒ»æŽ¡æŽ˜ã¯ç¶šã‘ã¾ã™ã€‚ +lenum.stop = 移動・採掘・建造を中止ã—ã¾ã™ã€‚ +lenum.unbind = ロジック制御を完全ã«ç„¡åйã«ã—ã¾ã™ã€‚\n標準的ãªAI制御ã«ç§»è¡Œã—ã¾ã™ã€‚ +lenum.move = 正確ã«ã‚る座標ã«ç§»å‹•ã—ã¾ã™ã€‚ +lenum.approach = ã‚る座標ã«è¿‘ã¥ãã¾ã™ã€‚ +lenum.pathfind = 敵ã®ã‚¹ãƒãƒ¼ãƒ³ã¾ã§ã®é“を探ã—ã¾ã™ã€‚ +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = 指定ã—ãŸåº§æ¨™ã«å‘ã‹ã£ã¦æ’ƒã¡ã¾ã™ã€‚ +lenum.targetp = ä»»æ„ã®ãƒ¦ãƒ‹ãƒƒãƒˆã‚„建物を撃ã¡ã¾ã™ã€‚ +lenum.itemdrop = アイテムをドロップã—ã¾ã™ã€‚ +lenum.itemtake = 建物ã‹ã‚‰ã‚¢ã‚¤ãƒ†ãƒ ã‚’å–å¾—ã—ã¾ã™ã€‚ +lenum.paydrop = ç¾åœ¨ã®ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰ã‚’ドロップã—ã¾ã™ã€‚ +lenum.paytake = ç¾åœ¨åœ°ã®ãƒšã‚¤ãƒ­ãƒ¼ãƒ‰ã‚’å–å¾—ã—ã¾ã™ã€‚ +lenum.payenter = ユニットãŒä¹—ã£ã¦ã„るペイロードブロックã«é€²å…¥ã€ç€åœ°ã—ã¾ã™ã€‚ +lenum.flag = ユニットã®ãƒ•ラグã§ã™ã€‚ +lenum.mine = ä»»æ„ã®ä½ç½®ã‚’採掘ã—ã¾ã™ã€‚ +lenum.build = 建築をã—ã¾ã™ã€‚ +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = ユニットãŒåº§æ¨™ã®è¿‘ãã«ã‚ã‚‹ã‹ã©ã†ã‹ã‚’確èªã—ã¾ã™ã€‚ +lenum.boost = ブーストã®é–‹å§‹ã€åœæ­¢ã‚’ã—ã¾ã™ã€‚ +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_ko.properties b/core/assets/bundles/bundle_ko.properties index 6bba05f072..f0238a9414 100644 --- a/core/assets/bundles/bundle_ko.properties +++ b/core/assets/bundles/bundle_ko.properties @@ -4,27 +4,27 @@ contributors = 번역가와 ê¸°ì—¬ìž discord = Mindustry Discord ì„œë²„ì— ê°€ìž…í•˜ì„¸ìš”! link.discord.description = Mindustry Discord ê³µì‹ ëŒ€í™”ë°© link.reddit.description = Mindustry 서브레딧 -link.github.description = Mindustry 개발 홈페ì´ì§€ +link.github.description = Mindustry 소스코드 link.changelog.description = ì—…ë°ì´íЏ ë‚´ìš© ëª©ë¡ link.dev-builds.description = 불안정한 개발 버전 -link.trello.description = 출시 ì˜ˆì •ì¸ ê¸°ëŠ¥ì„ í•œë‹¤ê³  게시한 ê³µì‹ Trello 보드 +link.trello.description = 출시 예정 기능 계íšì„ 게시한 ê³µì‹ Trello 보드 link.itch.io.description = PC 다운로드가 있는 itch.io 페ì´ì§€ link.google-play.description = Google Play 스토어 ëª©ë¡ link.f-droid.description = F-Droid 카탈로그 ëª©ë¡ link.wiki.description = ê³µì‹ Mindustry 위키 link.suggestions.description = 새 기능 제안하기 link.bug.description = 버그 제보하기 +linkopen = ì´ ì„œë²„ì—서 당신ì—게 ë§í¬ë¥¼ 보냈습니다. ì •ë§ë¡œ 열어보시겠습니까?\n\n[sky]{0} linkfail = ë§í¬ë¥¼ ì—´ì§€ 못했습니다!\nURLì´ í´ë¦½ë³´ë“œì— 복사ë˜ì—ˆìŠµë‹ˆë‹¤. -screenshot = 스í¬ë¦° 캡처가 {0} ì— ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤. -screenshot.invalid = ë§µì´ ë„ˆë¬´ 커서 스í¬ë¦° ìº¡ì²˜ì— ì‚¬ìš©ë  ë©”ëª¨ë¦¬ê°€ 부족합니다. +screenshot = 스í¬ë¦°ìƒ·ì´ {0} ì— ì €ìž¥ë˜ì—ˆìŠµë‹ˆë‹¤. +screenshot.invalid = ë§µì´ ë„ˆë¬´ 커서 스í¬ë¦°ìƒ·ì— ì‚¬ìš©ë  ë©”ëª¨ë¦¬ê°€ 부족합니다. gameover = 게임 오버 gameover.disconnect = ì—°ê²° ëŠê¸° gameover.pvp = [accent]{0}[] íŒ€ì´ ìŠ¹ë¦¬í–ˆìŠµë‹ˆë‹¤! gameover.waiting = [accent]ë‹¤ìŒ ë§µ 기다리는 중... highscore = [accent]새로운 최고 ì ìˆ˜! -copied = 복사 +copied = ë³µì‚¬ë¨ indev.notready = ì´ ë¶€ë¶„ì€ ì•„ì§ ì¤€ë¹„ë˜ì§€ 않았습니다. -indev.campaign = [accent]ë‹¹ì‹ ì€ ìº íŽ˜ì¸ì˜ ëì— ë„달했습니다![]\n\nì´ê²ƒìœ¼ë¡œ 캠페ì¸ì— 있는 ëŒ€ë¶€ë¶„ì˜ ì½˜í…츠는 ë났으며, 행성 ê°„ ì—¬í–‰ì€ í–¥í›„ ì—…ë°ì´íŠ¸ì— ì¶”ê°€ë  ì˜ˆì •ìž…ë‹ˆë‹¤. load.sound = 소리 load.map = ë§µ @@ -36,44 +36,61 @@ load.scripts = 스í¬ë¦½íЏ be.update = 새로운 Bleeding Edge 버전 사용 가능: be.update.confirm = 지금 내려받고 다시 시작하시겠습니까? -be.updating = ì—…ë°ì´íЏ 중…. -be.ignore = 무시 +be.updating = ì—…ë°ì´íЏ 중… +be.ignore = 무시하기 be.noupdates = ì—…ë°ì´íŠ¸ê°€ 없습니다. -be.check = ì—…ë°ì´íЏ í™•ì¸ +be.check = ì—…ë°ì´íЏ 확ì¸í•˜ê¸° -mod.featured.dialog.title = 모드 íƒìƒ‰ (WIP) +mods.browser = 모드 íƒìƒ‰ê¸° mods.browser.selected = ì„ íƒëœ 모드 -mods.browser.add = 모드 설치 -mods.github.open = 깃허브 사ì´íЏ 열기 +mods.browser.add = 설치 +mods.browser.reinstall = 재설치 +mods.browser.view-releases = 릴리즈 보기 +mods.browser.noreleases = [scarlet]íƒìƒ‰ëœ 릴리즈 ì—†ìŒ\n[accent]ì´ ëª¨ë“œì˜ ì–´ë– í•œ ë¦´ë¦¬ì¦ˆë„ ì°¾ì§€ 못했습니다. ì´ ëª¨ë“œì˜ ì €ìž¥ì†Œì—서 ê³µê°œëœ ë¦´ë¦¬ì¦ˆê°€ 있는지 확ì¸í•˜ì„¸ìš”. +mods.browser.latest = <최신> +mods.browser.releases = 릴리즈 +mods.github.open = 저장소 보기 +mods.github.open-release = 릴리즈 페ì´ì§€ +mods.browser.sortdate = 최근 ì—…ë°ì´íЏ +mods.browser.sortstars = 추천(스타) 수 schematic = ì„¤ê³„ë„ schematic.add = ì„¤ê³„ë„ ì €ìž¥í•˜ê¸° -schematics = 설계ë„들 +schematics = ì„¤ê³„ë„ +schematic.search = ì„¤ê³„ë„ ê²€ìƒ‰í•˜ê¸° schematic.replace = 해당 ì´ë¦„ì˜ ì„¤ê³„ë„ê°€ ì´ë¯¸ 존재합니다. êµì²´í•˜ì‹œê² ìŠµë‹ˆê¹Œ? schematic.exists = 해당 ì´ë¦„ì˜ ì„¤ê³„ë„ê°€ ì´ë¯¸ 존재합니다. schematic.import = ì„¤ê³„ë„ ê°€ì ¸ì˜¤ê¸° schematic.exportfile = íŒŒì¼ ë‚´ë³´ë‚´ê¸° schematic.importfile = íŒŒì¼ ê°€ì ¸ì˜¤ê¸° -schematic.browseworkshop = 창작마당 검색 +schematic.browseworkshop = ì°½ìž‘ë§ˆë‹¹ì— ê²€ìƒ‰ schematic.copy = í´ë¦½ ë³´ë“œì— ë³µì‚¬ schematic.copy.import = í´ë¦½ 보드ì—서 가져오기 schematic.shareworkshop = ì°½ìž‘ë§ˆë‹¹ì— ê³µìœ  schematic.flip = [accent][[{0}][]/[accent][[{1}][]: ì„¤ê³„ë„ ë’¤ì§‘ê¸° -schematic.saved = ì„¤ê³„ë„ ì €ìž¥ë¨. +schematic.saved = ì„¤ê³„ë„ ì €ìž¥ë¨ schematic.delete.confirm = ì´ ì„¤ê³„ë„는 완전히 ì‚­ì œë  ê²ƒìž…ë‹ˆë‹¤. -schematic.rename = ì„¤ê³„ë„ ì´ë¦„ 바꾸기 +schematic.edit = ì„¤ê³„ë„ ìˆ˜ì • schematic.info = {0}x{1}, {2} ë¸”ë¡ schematic.disabled = [scarlet]ì„¤ê³„ë„ ë¹„í™œì„±í™”ë¨[]\nì´ [accent]ë§µ[] ë˜ëŠ” [accent]서버[] ì—서는 설계ë„를 사용할 수 없습니다. +schematic.tags = 태그: +schematic.edittags = 태그 수정하기 +schematic.addtag = 태그 추가하기 +schematic.texttag = í…스트 태그 +schematic.icontag = ì•„ì´ì½˜ 태그 +schematic.renametag = 태그 ì´ë¦„바꾸기 +schematic.tagged = {0} íƒœê·¸ë¨ +schematic.tagdelconfirm = ì´ íƒœê·¸ë¥¼ 완전히 삭제하시겠습니까? +schematic.tagexists = ì´ íƒœê·¸ëŠ” ì´ë¯¸ 존재합니다. -stats = 전투 ê²°ê³¼ -stat.wave = 패배한 단계:[accent] {0} -stat.enemiesDestroyed = íŒŒê´´ëœ ì :[accent] {0} -stat.built = 지어진 건물: [accent]{0} -stat.destroyed = íŒŒê´´ëœ ê±´ë¬¼: [accent]{0} -stat.deconstructed = í•´ì²´ëœ ê±´ë¬¼: [accent]{0} -stat.delivered = ì–»ì€ ìžì›: -stat.playtime = í”Œë ˆì´ ì‹œê°„: [accent] {0} -stat.rank = 최종 순위: [accent]{0} +stats = ê¸°ë¡ +stats.wave = ì§„í–‰ 단계 +stats.unitsCreated = ìƒì„±í•œ 유닛 +stats.enemiesDestroyed = 파괴한 ì  +stats.built = 건설한 건물 +stats.destroyed = 파괴한 건물 +stats.deconstructed = 철거한 건물 +stats.playtime = ì§„í–‰ 시간 globalitems = [accent]ì „ì²´ ìžì› map.delete = ì •ë§ë¡œ "[accent]{0}[]" ë§µì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ? @@ -81,15 +98,17 @@ level.highscore = 최고 ì ìˆ˜: [accent]{0} level.select = ë§µ ì„ íƒ level.mode = 게임 모드: coreattack = < 코어가 ê³µê²©ì„ ë°›ê³  있습니다! > -nearpoint = [[ [scarlet]즉시 ì  ì†Œí™˜êµ¬ì—­ì—서 떠나십시오[] ]\n단계가 시작하는 순간 ì¸ê·¼ 건물들과 ìœ ë‹›ë“¤ì´ ì „ë©¸ë©ë‹ˆë‹¤! +nearpoint = [[ [scarlet]즉시 ì  ì†Œí™˜êµ¬ì—­ì—서 떠나세요[] ]\n단계가 시작하는 순간 구역 ë‚´ì˜ ëª¨ë“  건물과 ìœ ë‹›ì´ íŒŒê´´ë©ë‹ˆë‹¤! database = 코어 ë°ì´í„°ë² ì´ìФ +database.button = ë°ì´í„°ë² ì´ìФ savegame = 게임 저장 loadgame = 게임 불러오기 -joingame = 게임 참여 +joingame = 서버 참여 customgame = ì‚¬ìš©ìž ì§€ì • 게임 newgame = 새 게임 none = < ì—†ìŒ > none.found = [lightgray]< ì°¾ì„ ìˆ˜ ì—†ìŒ > +none.inmap = [lightgray]< ë§µì— ì—†ìŒ > minimap = 미니맵 position = 위치 close = 닫기 @@ -110,25 +129,44 @@ committingchanges = ë°”ë€ ì  ì ìš© done = 완료 feature.unsupported = 기기가 ì´ ê¸°ëŠ¥ì„ ì§€ì›í•˜ì§€ 않습니다. -mods.alphainfo = 현재 모드는 ì •ì‹ ì¶œì‹œ ë²„ì „ì´ ì•„ë‹ˆë©°, [scarlet]오류가 ë§Žì„ ìˆ˜ 있습니다[].\n발견한 문제는 Mindustry Github ë˜ëŠ” Discordì— ë³´ê³ í•˜ì„¸ìš”. +mods.initfailed = [red]âš []ì´ì „ 민ë”스트리 실행과정ì—서 모드를 초기화하지 못했습니다. ìž˜ëª»ëœ ëª¨ë“œë¡œ ì¸í•´ ë°œìƒí•œ ê²ƒì¼ ìˆ˜ 있습니다.\n\n 게임 ì¶©ëŒ ë¬´í•œë°˜ë³µì„ ë§‰ê¸° 위해, [red]모든 모드가 비활성화ë˜ì—ˆìŠµë‹ˆë‹¤.[]\n\nì´ ì‹œìŠ¤í…œì„ ë¹„í™œì„±í™”í•˜ë ¤ë©´, [accent]설정->게임->로딩 중 ì¶©ëŒ ì‹œ 모드 비활성화[]ì„¤ì •ì„ ë„세요. mods = 모드 mods.none = [lightgray]모드를 ì°¾ì„ ìˆ˜ 없습니다! mods.guide = 모드 제작 ê°€ì´ë“œ mods.report = 버그 제보하기 mods.openfolder = í´ë” 열기 +mods.viewcontent = 콘í…츠 보기 mods.reload = 새로 고침 mods.reloadexit = ê²Œìž„ì´ ì¢…ë£Œëœ í›„ 모드를 불러올 것입니다. +mod.installed = [설치ë¨] mod.display = [gray]모드:[orange] {0} mod.enabled = [lightgray]í™œì„±í™”ë¨ mod.disabled = [scarlet]ë¹„í™œì„±í™”ë¨ +mod.multiplayer.compatible = [gray]멀티플레ì´ì–´ 호환 가능 mod.disable = 비활성화 +mod.version = Version: mod.content = 콘í…츠: mod.delete.error = 모드를 삭제할 수 없습니다. 파ì¼ì´ 사용 ì¤‘ì¼ ìˆ˜ 있습니다. -mod.requiresversion = [scarlet]필요한 최소 게임 버전: [accent]{0} -mod.outdated = [scarlet]V6 버전과 호환ë˜ì§€ ì•ŠìŒ (minGameVersionì´ 105 ì´í•˜ì¸ 모드는 사용할 수 없습니다.) -mod.missingdependencies = [scarlet]누ë½ëœ 요구 모드: {0} + +mod.incompatiblegame = [red]구버전 게임 +mod.incompatiblemod = [red]호환ë˜ì§€ ì•ŠìŒ +mod.blacklisted = [red]ì§€ì›í•˜ì§€ ì•ŠìŒ +mod.unmetdependencies = [red]ì¶©ì´‰ë˜ì§€ ì•Šì€ ì¢…ì†ì„± mod.erroredcontent = [scarlet]콘í…츠 오류 -mod.errors = 콘í…츠를 불러오는 ì¤‘ì— ì˜¤ë¥˜ê°€ ë°œìƒí•¨. +mod.circulardependencies = [red]순환 ì˜ì¡´ì„± +mod.incompletedependencies = [red]불완전한 ì˜ì¡´ì„± + +mod.requiresversion.details = 게임 버전 요구: [accent]{0}[]\në‹¹ì‹ ì˜ ê²Œìž„ì€ êµ¬ë²„ì „ìž…ë‹ˆë‹¤. ì´ ëª¨ë“œê°€ ìž‘ë™í•˜ë ¤ë©´ 최신 ë²„ì „ì˜ ê²Œìž„ì´ í•„ìš”í•©ë‹ˆë‹¤. (베타/알파 ë¦´ë¦¬ì¦ˆì¼ ê°€ëŠ¥ì„±ì´ ìžˆìŒ). +mod.outdatedv7.details = ì´ ëª¨ë“œëŠ” 최신 ë²„ì „ì˜ ê²Œìž„ê³¼ 호환ë˜ì§€ 않습니다. 반드시 작성ìžê°€ ì—…ë°ì´íŠ¸í•´ì•¼ 하고, [accent]mod.json[] 파ì¼ì— [accent]최소게임버전: 136[]ì„ ì¶”ê°€í•´ì•¼ 합니다. +mod.blacklisted.details = ì´ ëª¨ë“œëŠ” ì´ ë²„ì „ì˜ ê²Œìž„ì—서 ì¶©ëŒ ë˜ëŠ” 기타 문제를 ì¼ìœ¼í‚¤ëŠ” 것으로 ì¸í•´ 수ë™ìœ¼ë¡œ ë¸”ëž™ë¦¬ìŠ¤íŠ¸ì— ì˜¬ë¼ì™€ 있습니다. 사용하지 마세요. +mod.missingdependencies.details = ì´ ëª¨ë“œì—는 종ì†ì„±ì´ ì—†ìŒ: {0} +mod.erroredcontent.details = ì´ ê²Œìž„ì€ ë¡œë”©í•˜ëŠ” ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 모드 작성ìžì—게 수정하ë„ë¡ ìš”ì²­í•˜ì„¸ìš”. +mod.circulardependencies.details = ì´ ëª¨ë“œëŠ” 서로 ì˜ì¡´í•˜ëŠ” ì˜ì¡´ì„±ì„ 지니고 있습니다. +mod.incompletedependencies.details = 잘못ë˜ì—ˆê±°ë‚˜ 누ë½í•œ 종ì†ì„±ìœ¼ë¡œ ì¸í•´ ì´ ëª¨ë“œë¥¼ 불러올 수 없습니다: {0}. + +mod.requiresversion = 필요한 게임 버전: [red]{0} + +mod.errors = 콘í…츠를 불러오는 ì¤‘ì— ì˜¤ë¥˜ê°€ ë°œìƒí•¨ mod.noerrorplay = [scarlet]오류가 있는 모드가 있습니다.[] ì˜í–¥ì„ 받는 모드를 비활성화하거나 플레ì´í•˜ê¸° ì „ì— ì˜¤ë¥˜ë¥¼ 수정하세요. mod.nowdisabled = [scarlet]모드 '{0}'ì— í•„ìš”í•œ 종ì†ì„±ì´ 없습니다:[accent] {1}\n[lightgray]ì´ ëª¨ë“œë¥¼ 먼저 내려받아야 합니다.\nì´ ëª¨ë“œëŠ” ìžë™ìœ¼ë¡œ 비활성화ë©ë‹ˆë‹¤. mod.enable = 활성화 @@ -137,31 +175,40 @@ mod.reloadrequired = [scarlet]재시작 í•„ìš” mod.import = 모드 가져오기 mod.import.file = íŒŒì¼ ê°€ì ¸ì˜¤ê¸° mod.import.github = Github ì—서 모드 가져오기 -mod.jarwarn = [scarlet]JAR 모드는 안전하지 않습니다.[]\n신뢰할 수 있는 소스ì—서 ì–»ì€ ëª¨ë“œë§Œì„ ì‚¬ìš©í•´ì•¼ 합니다! -mod.item.remove = ì´ ìžì›ì€[accent] '{0}' ëª¨ë“œì˜ ì¼ë¶€ìž…니다. ì´ë¥¼ 제거하려면 해당 모드를 제거하세요. +mod.jarwarn = [scarlet]JAR 모드는 안전하지 않습니다.[]\n신뢰할 수 있는 개발ìžì—게서 ì–»ì€ ëª¨ë“œë§Œì„ ì‚¬ìš©í•´ì•¼ 합니다! +mod.item.remove = ì´ ì•„ì´í…œì€[accent] '{0}' ëª¨ë“œì˜ ì¼ë¶€ìž…니다. ì´ë¥¼ 제거하려면 해당 모드를 제거하세요. mod.remove.confirm = ì´ ëª¨ë“œê°€ ì‚­ì œë  ê²ƒìž…ë‹ˆë‹¤. mod.author = [lightgray]제작ìž:[] {0} -mod.missing = ì´ ì €ìž¥ 파ì¼ì—는 ìµœê·¼ì— ì—…ë°ì´íЏë˜ì—ˆê±°ë‚˜ 현재 ê¸°ê¸°ì— ì„¤ì¹˜ë˜ì§€ ì•Šì€ ëª¨ë“œê°€ í¬í•¨ë˜ì–´ 있습니다. 저장 파ì¼ì´ ì†ìƒë  수 있습니다. ì •ë§ë¡œ 불러오시겠습니까?\n[lighthray]모드들:\n{0} +mod.missing = ì´ ì €ìž¥ 파ì¼ì—는 ìµœê·¼ì— ì—…ë°ì´íЏë˜ì—ˆê±°ë‚˜ 현재 ê¸°ê¸°ì— ì„¤ì¹˜ë˜ì§€ ì•Šì€ ëª¨ë“œê°€ í¬í•¨ë˜ì–´ 있습니다. 저장 파ì¼ì´ ì†ìƒë  수 있습니다. ì •ë§ë¡œ 불러오시겠습니까?\n[lightgray]모드들:\n{0} mod.preview.missing = ì°½ìž‘ë§ˆë‹¹ì— ëª¨ë“œë¥¼ 올리기 ì „ì— ë¯¸ë¦¬ 보기 ì´ë¯¸ì§€ë¥¼ 추가해야 합니다.\n[accent]preview.png[] ë¼ëŠ” ì´ë¦„ì˜ ë¯¸ë¦¬ 보기 ì´ë¯¸ì§€ë¥¼ 모드 í´ë”ì— ë„£ê³  다시 시ë„하세요. -mod.folder.missing = 창작마당ì—는 í´ë” í˜•íƒœì˜ ëª¨ë“œë§Œ 게시할 수 있습니다.\n모드를 í´ë” 형태로 바꾸려면 모드 파ì¼ì„ 모드 í´ë”ì— ì••ì¶•ì„ í’€ê³  ì´ì „ 모드 파ì¼ì„ ì‚­ì œ 후, ê²Œìž„ì„ ìž¬ì‹œìž‘í•˜ê±°ë‚˜ 모드를 다시 불러오십시오. +mod.folder.missing = 창작마당ì—는 í´ë” í˜•íƒœì˜ ëª¨ë“œë§Œ 게시할 수 있습니다.\n모드를 í´ë” 형태로 바꾸려면 모드 파ì¼ì„ 모드 í´ë”ì— ì••ì¶•ì„ í’€ê³  ì´ì „ 모드 파ì¼ì„ ì‚­ì œ 후, ê²Œìž„ì„ ìž¬ì‹œìž‘í•˜ê±°ë‚˜ 모드를 다시 불러오세요. mod.scripts.disable = ì´ ê¸°ê¸°ëŠ” 스í¬ë¦½íŠ¸ê°€ 있는 모드를 ì§€ì›í•˜ì§€ 않습니다. ê²Œìž„ì„ í”Œë ˆì´í•˜ë ¤ë©´ ì´ ëª¨ë“œë¥¼ 비활성화해야 합니다. about.button = ì •ë³´ -name = 닉네임 : -noname = 먼저 [accent]닉네임[]ì„ ì„¤ì •í•˜ì„¸ìš”. +name = ì´ë¦„ : +noname = 먼저 [accent]플레ì´ì–´ ì´ë¦„[]ì„ ì„¤ì •í•˜ì„¸ìš”. +search = 검색: planetmap = 행성 ì§€ë„ launchcore = 코어 출격 -filename = íŒŒì¼ ì´ë¦„ : +filename = íŒŒì¼ ì´ë¦„: unlocked = 새로운 콘í…츠가 해금ë˜ì—ˆìŠµë‹ˆë‹¤! available = 새로운 콘í…츠 í•´ê¸ˆì´ ê°€ëŠ¥í•©ë‹ˆë‹¤! +unlock.incampaign = < 해금 후 ìƒì„¸ì •ë³´ ì—´ëžŒì´ ê°€ëŠ¥í•©ë‹ˆë‹¤ > +campaign.select = ìº íŽ˜ì¸ ì‹œìž‘ì§€ì  ì„ íƒí•˜ê¸° +campaign.none = [lightgray]시작할 í–‰ì„±ì„ ì„ íƒí•˜ì‹­ì‹œì˜¤.\n언제든지 전환할 수 있습니다. +campaign.erekir = [scarlet]ì‹ ê·œ 플레ì´ì–´ì—게 권장ë˜ì§€ 않습니다.[]\n\n보다 새롭고 ì„¸ë ¨ëœ ì»¨í…츠. 대부분 순차ì ìœ¼ë¡œ 캠페ì¸ì´ ì§„í–‰ë¨.\n\në” ì–´ë µê³ , ë” ë†’ì€ ì™„ì„±ë„ì˜ ë§µê³¼ 다채로운 경험. +campaign.serpulo = [accent]ì‹ ê·œ 플레ì´ì–´ì—게 추천합니다.[]\n\nì˜¤ëž˜ëœ ì½˜í…츠, ê³ ì „ì ì¸ 경험. ë” ê°œë°©ì ì´ê³ , ë” ë§Žì€ ì½˜í…츠.\n\n잠재ì ìœ¼ë¡œ 불균형한 맵과 ìº íŽ˜ì¸ ë©”ì»¤ë‹ˆì¦˜. ëœ ì„¸ë ¨ë¨. +campaign.difficulty = 난ì´ë„ completed = [accent]ì™„ë£Œë¨ techtree = 연구 ê¸°ë¡ -research.legacy = [accent]5.0[] 연구 ë°ì´í„°ë¥¼ 찾았습니다.\n[accent]ì´ ë°ì´í„°ë¥¼ 불러오시겠습니까?[], 아니면 ì´ ë°ì´í„°ë¥¼ 무시하고 캠페ì¸ì„ 새로 시작하시겠습니까? [accent]무시한 ë°ì´í„°ëŠ” ì‚­ì œë©ë‹ˆë‹¤.[] (권장ë¨) +techtree.select = 연구 ê¸°ë¡ ì„ íƒ +techtree.serpulo = 세르플로 +techtree.erekir = ì—르키아 research.load = 불러오기 research.discard = 무시하기 research.list = [lightgray]연구: research = 연구 -researched = [lightgray]{0} 연구 완료. +researched = [lightgray]{0} 연구 완료 research.progress = {0}% ì™„ë£Œë¨ players = {0} 플레ì´ì–´ players.single = {0} 플레ì´ì–´ @@ -170,18 +217,18 @@ players.notfound = [gray]플레ì´ì–´ë¥¼ ì°¾ì„ ìˆ˜ 없습니다. server.closing = [accent]서버를 닫는 중... server.kicked.kick = 서버ì—서 추방ë˜ì—ˆìŠµë‹ˆë‹¤! server.kicked.whitelist = ë‹¹ì‹ ì€ ì´ ì„œë²„ì˜ í™”ì´íŠ¸ë¦¬ìŠ¤íŠ¸ì— ë“±ë¡ë˜ì–´ 있지 않습니다. -server.kicked.serverClose = 서버 닫힘. -server.kicked.vote = ë‹¹ì‹ ì€ íˆ¬í‘œë¡œ 추방ë˜ì—ˆìŠµë‹ˆë‹¤. 안녕히 가세요! +server.kicked.serverClose = 서버 닫힘 +server.kicked.vote = ë‹¹ì‹ ì€ íˆ¬í‘œë¡œ 추방ë˜ì—ˆìŠµë‹ˆë‹¤. 안녕히 가세요. server.kicked.clientOutdated = 구버전 í´ë¼ì´ì–¸íŠ¸ìž…ë‹ˆë‹¤! ê²Œìž„ì„ ì—…ë°ì´íŠ¸í•˜ì„¸ìš”! server.kicked.serverOutdated = 구버전 서버입니다! 호스트ì—게 ì—…ë°ì´íŠ¸ë¥¼ 요청하세요! server.kicked.banned = ë‹¹ì‹ ì€ ì´ ì„œë²„ì—서 ì˜êµ¬ì ìœ¼ë¡œ 차단ë˜ì—ˆìŠµë‹ˆë‹¤. -server.kicked.typeMismatch = ì´ ì„œë²„ëŠ” 현재 빌드 유형과 호환ë˜ì§€ 않습니다. +server.kicked.typeMismatch = ì´ ì„œë²„ëŠ” 현재 빌드와 호환ë˜ì§€ 않습니다. server.kicked.playerLimit = ì„œë²„ì˜ ì¸ì›ì´ 꽉 찼습니다. 빈 ìŠ¬ë¡¯ì´ ìƒê¸¸ 때까지 기다려주세요. server.kicked.recentKick = ìµœê·¼ì— ì¶”ë°©ë˜ì—ˆìŠµë‹ˆë‹¤.\n추방 ì¿¨íƒ€ìž„ì´ ëë‚  때까지 기다리세요. server.kicked.nameInUse = ì´ ì„œë²„ì— í•´ë‹¹ ì´ë¦„ì„ ê°€ì§„ ì‚¬ëžŒì´ ìžˆìŠµë‹ˆë‹¤. server.kicked.nameEmpty = ì„¤ì •ëœ ë‹‰ë„¤ìž„ì´ ì—†ìŠµë‹ˆë‹¤. -server.kicked.idInUse = ë‹¹ì‹ ì€ ì´ë¯¸ ì´ ì„œë²„ì— ìžˆìŠµë‹ˆë‹¤! ë‘ ê°œì˜ ê³„ì •ìœ¼ë¡œ 연결하는건 허용ë˜ì§€ 않습니다. -server.kicked.customClient = ì´ ì„œë²„ëŠ” ì‚¬ìš©ìž ì •ì˜ ë¹Œë“œë¥¼ ì§€ì›í•˜ì§€ 않습니다. ê³µì‹ ë²„ì „ì„ ë‹¤ìš´ë¡œë“œ 하세요. +server.kicked.idInUse = ë‹¹ì‹ ì€ ì´ë¯¸ ì´ ì„œë²„ì— ìžˆìŠµë‹ˆë‹¤! ë‘ ê°œì˜ ê³„ì •ìœ¼ë¡œ 연결하는 ê±´ 허용ë˜ì§€ 않습니다. +server.kicked.customClient = ì´ ì„œë²„ëŠ” ì‚¬ìš©ìž ì •ì˜ ë¹Œë“œë¥¼ ì§€ì›í•˜ì§€ 않습니다. ê³µì‹ ë²„ì „ì„ ë‚´ë ¤ë°›ìœ¼ì„¸ìš”. server.kicked.gameover = 게임 오버! server.kicked.serverRestarting = 서버가 다시 시작ë˜ê³  있습니다. server.versions = ë‹¹ì‹ ì˜ ë²„ì „ : [accent] {0}[]\n서버 버전 : [accent] {1}[] @@ -200,24 +247,38 @@ hosts.none = [lightgray]LAN ê²Œìž„ì„ ì°¾ì„ ìˆ˜ 없습니다! host.invalid = [scarlet]ì„œë²„ì— ì—°ê²°í•  수 없습니다! servers.local = 로컬 서버 +servers.local.steam = 공개 서버 & 로컬 서버 servers.remote = ì›ê²© 서버 servers.global = 커뮤니티 서버 -servers.disclaimer = 커뮤니티 서버는 개발ìžê°€ 소유하거나 제어하지 [accent]않습니다[].\n\nì„œë²„ë“¤ì€ ì „ì—°ë ¹ëŒ€ì— ì í•©í•˜ì§€ ì•Šì€ ì‚¬ìš©ìž ì§€ì • 콘í…츠를 보유할 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. -servers.showhidden = 서버 숨기기 / ë³´ì´ê¸° +servers.disclaimer = 커뮤니티 서버는 개발ìžê°€ 소유하거나 제어하지 [accent]않습니다[].\n\nì¼ë¶€ 서버는 ì „ì—°ë ¹ëŒ€ì— ì í•©í•˜ì§€ ì•Šì€ ì‚¬ìš©ìž ì§€ì • 콘í…츠를 보유할 ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. +servers.showhidden = 숨겨진 서버 ë³´ì´ê¸°/숨기기 server.shown = 서버 숨기기 server.hidden = 서버 ë³´ì´ê¸° +viewplayer = 플레ì´ì–´ 보기: [accent]{0} trace = 플레ì´ì–´ ì •ë³´ 보기 trace.playername = 플레ì´ì–´ ì´ë¦„: [accent]{0} trace.ip = IP: [accent]{0} trace.id = UUID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = ëª¨ë°”ì¼ í´ë¼ì´ì–¸íЏ: [accent]{0} trace.modclient = ì‚¬ìš©ìž ì§€ì • í´ë¼ì´ì–¸íЏ: [accent]{0} +trace.times.joined = 입장 횟수: [accent]{0} +trace.times.kicked = 추방 횟수: [accent]{0} +trace.ips = IP: +trace.names = ì´ë¦„: invalidid = ìž˜ëª»ëœ í´ë¼ì´ì–¸íЏ ID입니다! 버그 보고서를 보내주세요. + +player.ban = 플레ì´ì–´ 차단 +player.kick = 플레ì´ì–´ 강퇴 +player.trace = 플레ì´ì–´ 찾기 +player.admin = ê´€ë¦¬ìž ê¶Œí•œ 부여 +player.team = 팀 변경하기 + server.bans = 차단 ëª©ë¡ server.bans.none = ì°¨ë‹¨ëœ í”Œë ˆì´ì–´ë¥¼ ì°¾ì„ ìˆ˜ 없습니다! -server.admins = 관리ìžë“¤ +server.admins = ê´€ë¦¬ìž server.admins.none = 관리ìžë¥¼ ì°¾ì„ ìˆ˜ 없습니다! server.add = 서버 추가 server.delete = ì •ë§ë¡œ ì´ ì„œë²„ë¥¼ 삭제하시겠습니까? @@ -228,27 +289,30 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]ì‚¬ìš©ìž ì •ì˜ ì„œë²„ confirmban = ì •ë§ë¡œ "{0}[white]" ì„(를) 차단하시겠습니까? confirmkick = ì •ë§ë¡œ "{0}[white]" ì„(를) 추방하시겠습니까? -confirmvotekick = ì •ë§ë¡œ "{0}[white]" ì„(를) 투표로 추방하시겠습니까? confirmunban = ì •ë§ë¡œ ì´ í”Œë ˆì´ì–´ë¥¼ 차단 해제하시겠습니까? -confirmadmin = ì •ë§ë¡œ "{0}[white]" ì„(를) 관리ìžë¡œ 임명하겠습니까? +confirmadmin = ì •ë§ë¡œ "{0}[white]" ì„(를) 관리ìžë¡œ 임명하시겠습니까? confirmunadmin = ì •ë§ë¡œ "{0}[white]"ì˜ ê´€ë¦¬ìžë¥¼ 박탈하시겠습니까? +votekick.reason = 강퇴 사유 +votekick.reason.message = "{0}[white]" ì„(를) 투표 추방하시려면 해당 사유를 ì ì–´ì£¼ì„¸ìš”: joingame.title = 게임 참가 joingame.ip = 주소: disconnect = ì—°ê²°ì´ ëŠì–´ì¡ŒìŠµë‹ˆë‹¤. -disconnect.error = ì—°ê²° 오류. +disconnect.error = ì—°ê²° 오류 disconnect.closed = ì—°ê²°ì´ ì¢…ë£Œë˜ì—ˆìŠµë‹ˆë‹¤. -disconnect.timeout = 시간 초과. +disconnect.timeout = 시간 초과 disconnect.data = ë§µ ë°ì´í„°ë¥¼ 로드하지 못했습니다! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = [accent]{0}[] ê²Œìž„ì— ì°¸ì—¬í•  수 없습니다. connecting = [accent] 연결중... reconnecting = [accent]재접ì†ì¤‘... connecting.data = [accent]ë§µ ë°ì´í„° 불러오는중... server.port = í¬íЏ: -server.addressinuse = ì´ë¯¸ 사용 ì¤‘ì¸ ì£¼ì†Œìž…ë‹ˆë‹¤! server.invalidport = ìž˜ëª»ëœ í¬íЏ 번호입니다! -server.error = [scarlet]서버 호스팅 오류. +server.error.addressinuse = [scarlet]í¬íЏ 6567ì—서 서버를 ì—´ì§€ 못했습니다.[]\n\n다른 Mindustry 서버가 ê·€í•˜ì˜ ìž¥ì¹˜ë‚˜ 네트워í¬ì—서 실행ë˜ê³  있지 않ì€ì§€ 확ì¸í•˜ì„¸ìš”! +server.error = [scarlet]서버 호스팅 오류 save.new = 새로 저장 save.overwrite = ì €ìž¥ëœ ìŠ¬ë¡¯ì„ ë®ì–´ì“°ì‹œê² ìŠµë‹ˆê¹Œ? +save.nocampaign = 캠페ì¸ì˜ 개별 저장 파ì¼ì„ 가져올 수 없습니다. overwrite = ë®ì–´ì“°ê¸° save.none = ì €ìž¥ëœ íŒŒì¼ì„ ì°¾ì„ ìˆ˜ 없습니다! savefail = ê²Œìž„ì„ ì €ìž¥í•˜ì§€ 못했습니다! @@ -262,13 +326,14 @@ save.import = 저장 가져오기 save.newslot = 저장 ì´ë¦„: save.rename = ì´ë¦„ 변경 save.rename.text = 새 ì´ë¦„: -selectslot = ì €ìž¥ìŠ¬ë¡¯ì„ ì„ íƒí•˜ì‹­ì‹œì˜¤. +selectslot = 저장 ìŠ¬ë¡¯ì„ ì„ íƒí•˜ì„¸ìš”. slot = [accent] 슬롯 {0} editmessage = 메시지 편집 save.corrupted = [accent]ì†ìƒë˜ì—ˆê±°ë‚˜ ìž˜ëª»ëœ ì €ìž¥ 파ì¼ìž…니다! empty = <비어있ìŒ> on = 활성화 off = 비활성화 +save.search = 세ì´ë¸Œ íŒŒì¼ ê²€ìƒ‰ save.autosave = ìžë™ì €ìž¥: {0} save.map = ë§µ: {0} save.wave = {0} 단계 @@ -284,9 +349,30 @@ ok = í™•ì¸ open = 열기 customize = ì‚¬ìš©ìž ì •ì˜ ê·œì¹™ cancel = 취소 +command = 명령 +command.queue = 대기 +command.mine = 채굴 +command.repair = 수리 +command.rebuild = 재건 +command.assist = 플레ì´ì–´ ì§€ì› +command.move = ì´ë™ +command.boost = 비행 +command.enterPayload = 화물 블ë¡ì— 들어가기 +command.loadUnits = 유닛 ì ìž¬ +command.loadBlocks = ë¸”ë¡ ì ìž¬ +command.unloadPayload = 화물 내려놓기 +command.loopPayload = 유닛 반복 ìš´ë°˜ +stance.stop = 명령 취소하기 +stance.shoot = 명령: 사격 +stance.holdfire = 명령: 사격 중지 +stance.pursuetarget = 명령: 타겟 추격 +stance.patrol = 명령: ì •ì°° +stance.ram = 명령 : ëŒê²©\n[lightgray] ìœ ë‹›ì´ ìž¥ì• ë¬¼ 여부를 확ì¸í•˜ì§€ 않고 ì¼ì§ì„ ìœ¼ë¡œ ì´ë™í•©ë‹ˆë‹¤. openlink = ë§í¬ 열기 copylink = ë§í¬ 복사 back = 뒤로가기 +max = 최대 +objective = ë§µ 목표 crash.export = 오류 로그 내보내기 crash.none = 오류 로그가 발견ë˜ì§€ 않았습니다. crash.exported = 오류 로그가 추출ë˜ì—ˆìŠµë‹ˆë‹¤. @@ -297,52 +383,59 @@ data.exported = ë°ì´í„°ë¥¼ 내보냈습니다. data.invalid = 유효한 게임 ë°ì´í„°ê°€ 아닙니다. data.import.confirm = 외부 ë°ì´í„°ë¥¼ 가져오면 현재 게임 ë°ì´í„°ë¥¼ [scarlet]모ë‘[] ë®ì–´ì“°ê²Œ ë©ë‹ˆë‹¤.\n[accent]ì´ ìž‘ì—…ì€ ì·¨ì†Œí•  수 없습니다![]\n\në°ì´í„°ë¥¼ 가져오면 ê²Œìž„ì´ ì¦‰ì‹œ 종료ë©ë‹ˆë‹¤. quit.confirm = ì •ë§ë¡œ 종료하시겠습니까? -quit.confirm.tutorial = íŠœí† ë¦¬ì–¼ì„ ì¢…ë£Œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n튜토리얼ì€[accent]설정->게임->튜토리얼[]ì—서 다시 하실 수 있습니다. loading = [accent]불러오는중... -reloading = [accent]모드 새로고침하는중... +downloading = [accent]내려받는중... saving = [accent]저장중... respawn = [accent][[{0}][] 키를 눌러 코어ì—서 부활 -cancelbuilding = [accent][[{0}][] 를 눌러 건설 계íšì„ 초기화 -selectschematic = [accent][[{0}][] 를 눌러 ì„ íƒ+복사 -pausebuilding = [accent][[{0}][] 를 눌러 ê±´ì„¤ì„ ì¼ì‹œì¤‘ì§€ -resumebuilding = [scarlet][[{0}][] 를 눌러 ê±´ì„¤ì„ ìž¬ê°œ -showui = [accent][[{0}][] 키를 눌러 UI를 활성화 -wave = [accent]{0} 단계 +cancelbuilding = [accent][[{0}][] 키를 눌러 건설 계íšì„ 초기화 +selectschematic = [accent][[{0}][] 키를 눌러 ì„ íƒ+복사 +pausebuilding = [accent][[{0}][] 키를 눌러 ê±´ì„¤ì„ ì¼ì‹œì¤‘ì§€ +resumebuilding = [scarlet][[{0}][] 키를 눌러 ê±´ì„¤ì„ ìž¬ê°œ +enablebuilding = [scarlet][[{0}][] 키를 눌러 ê±´ì„¤ì„ í™œì„± +showui = UIê°€ 숨겨졌습니다. [accent][[{0}][] 키를 눌러 UI를 활성화하세요. +commandmode.name = [accent]명령 모드 +commandmode.nounits = [유닛 ì—†ìŒ] +wave = [accent]{0}단계 wave.cap = [accent]단계 {0}/{1} wave.waiting = ë‹¤ìŒ ë‹¨ê³„ê¹Œì§€[lightgray] {0}ì´ˆ -wave.waveInProgress = [lightgray]단계 진행중 +wave.waveInProgress = [lightgray]단계 ì§„í–‰ 중 waiting = [lightgray]대기중... waiting.players = ìƒëŒ€ 플레ì´ì–´ë¥¼ 기다리는 중... -wave.enemies = [lightgray]ì  ìœ ë‹› {0}명 ë‚¨ìŒ +wave.enemies = [lightgray]ì  ìœ ë‹› {0}기 ë‚¨ìŒ wave.enemycores = [accent]{0}[lightgray] ì  ì½”ì–´ë“¤ wave.enemycore = [accent]{0}[lightgray] ì  ì½”ì–´ -wave.enemy = [lightgray]{0}명 ë‚¨ìŒ +wave.enemy = [lightgray]{0}기 ë‚¨ìŒ wave.guardianwarn = [accent]{0}[] 단계 í›„ì— ìˆ˜í˜¸ìžê°€ 접근합니다. wave.guardianwarn.one = [accent]{0}[] 단계 í›„ì— ìˆ˜í˜¸ìžê°€ 접근합니다. loadimage = 사진 불러오기 -saveimage = 사진 저장 +saveimage = 사진 저장하기 unknown = 알 수 ì—†ìŒ custom = ì‚¬ìš©ìž ì •ì˜ builtin = 내장 map.delete.confirm = ì •ë§ë¡œ ì´ ë§µì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ? ì´ ëª…ë ¹ì€ ì·¨ì†Œí•  수 없습니다! map.random = [accent]무작위 ë§µ -map.nospawn = ì´ ë§µì— í”Œë ˆì´ì–´ê°€ ìƒì„±ë  코어가 없습니다! 편집기ì—서 [accent]orange[] 코어를 ë§µì— ì¶”ê°€í•˜ì„¸ìš”. -map.nospawn.pvp = ì´ ë§µì—는 ì  í”Œë ˆì´ì–´ê°€ ìƒì„±ë  코어가 없습니다! 편집기ì—서 [royal]orange íŒ€ì´ ì•„ë‹Œ[] 코어를 추가하세요. -map.nospawn.attack = ì´ ë§µì—는 플레ì´ì–´ê°€ 공격할 수 있는 ì ì˜ 코어가 없습니다! ì—디터ì—서 [royal]빨간색[] ì½”ì–´ë“¤ì„ ë§µì— ì¶”ê°€í•˜ì„¸ìš”. +map.nospawn = ì´ ë§µì— í”Œë ˆì´ì–´ê°€ ìƒì„±ë  코어가 없습니다! 편집기ì—서 {0} 코어를 ë§µì— ì¶”ê°€í•˜ì„¸ìš”. +map.nospawn.pvp = ì´ ë§µì—는 ì  í”Œë ˆì´ì–´ê°€ ìƒì„±ë  코어가 없습니다! 편집기ì—서 [scarlet]주황색 íŒ€ì´ ì•„ë‹Œ[] 코어를 추가하세요. +map.nospawn.attack = ì´ ë§µì—는 플레ì´ì–´ê°€ 공격할 수 있는 ì  ì½”ì–´ê°€ 없습니다! 편집기ì—서 {0} 코어를 ë§µì— ì¶”ê°€í•˜ì„¸ìš”. map.invalid = ë§µ 로드 오류: ë§µ 파ì¼ì´ ì†ìƒë˜ì—ˆê±°ë‚˜ ìž˜ëª»ëœ íŒŒì¼ìž…니다. workshop.update = ì•„ì´í…œ ì—…ë°ì´íЏ workshop.error = 창작마당 세부 ì‚¬í•­ì„ ê°€ì ¸ì˜¤ëŠ” 중 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤: {0} map.publish.confirm = ì´ ë§µì„ ê²Œì‹œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?\n\n[lightgray]창작마당 EULAì— ë¨¼ì € ë™ì˜í•´ì•¼ 하며, 그렇지 않으면 ë§µì´ í‘œì‹œë˜ì§€ 않습니다! -workshop.menu = ì´ ì•„ì´í…œìœ¼ë¡œ 수행 í•  ìž‘ì—…ì„ ì„ íƒí•˜ì‹­ì‹œì˜¤. +workshop.menu = ì´ ì•„ì´í…œìœ¼ë¡œ 수행 í•  ìž‘ì—…ì„ ì„ íƒí•˜ì„¸ìš”. workshop.info = ì•„ì´í…œ ì •ë³´ -changelog = 변경 ì  (ì„ íƒ ì‚¬í•­) : +changelog = ë³€ê²½ì  (ì„ íƒ ì‚¬í•­): +updatedesc = 제목&설명 ë®ì–´ì“°ê¸° eula = 스팀 EULA missing = ì´ ì•„ì´í…œì€ ì‚­ì œë˜ê±°ë‚˜ ì´ë™ë˜ì—ˆìŠµë‹ˆë‹¤.\n[lightgray]창작마당 목ë¡ì´ ìžë™ìœ¼ë¡œ ì—°ê²° í•´ì œë˜ì—ˆìŠµë‹ˆë‹¤. -publishing = [accent]업로드 중... +publishing = [accent]게시 중... publish.confirm = ì´ê²ƒì„ 게시하시겠습니까?[lightgray]창작마당 EULAì— ë™ì˜í•´ì•¼ 합니다. 그렇지 않으면 ì•„ì´í…œì´ 표시ë˜ì§€ 않습니다! publish.error = ì•„ì´í…œ 게시 오류: {0} steam.error = 스팀 서비스를 초기화하지 못했습니다.\n오류: {0} +editor.planet = 행성: +editor.sector = 구역: +editor.seed = 시드: +editor.cliffs = ì–¸ë• ì „í™˜ editor.brush = 브러쉬 editor.openin = 편집기 열기 editor.oregen = 광물 무작위 ìƒì„± @@ -350,58 +443,101 @@ editor.oregen.info = 광물 무작위 ìƒì„±: editor.mapinfo = ë§µ ì •ë³´ editor.author = 제작ìž: editor.description = 설명: -editor.nodescription = ë§µì„ ì—…ë¡œë“œí•˜ë ¤ë©´ 최소 4ìž ì´ìƒì˜ ì„¤ëª…ì´ ìžˆì–´ì•¼ 합니다. -editor.waves = 단계: -editor.rules = 규칙: -editor.generation = 지형 ìƒì„±: -editor.ingame = ì¸ ê²Œìž„ 편집 +editor.nodescription = ë§µì„ ê³µìœ í•˜ë ¤ë©´ 최소 4ìž ì´ìƒì˜ ì„¤ëª…ì´ ìžˆì–´ì•¼ 합니다. +editor.waves = 단계 +editor.rules = 규칙 +editor.generation = 지형 ìƒì„± +editor.objectives = 목표 +editor.locales = 번역 팩 +editor.worldprocessors = 월드 프로세서 +editor.worldprocessors.editname = ì´ë¦„ 수정 +editor.worldprocessors.none = [lightgray]월드 프로세서 블ë¡ì„ ì°¾ì„ ìˆ˜ 없습니다!\në§µ 편집기ì—서 추가하거나 ì•„ëž˜ì˜ \ue813 추가 ë²„íŠ¼ì„ ì‚¬ìš©í•˜ì„¸ìš”. +editor.worldprocessors.nospace = 월드 프로세서를 배치할 여유 ê³µê°„ì´ ì—†ìŠµë‹ˆë‹¤!\në§µì„ ì „ë¶€ 구조물로 채웠나요? 왜 ì´ë ‡ê²Œ 했나요? +editor.worldprocessors.delete.confirm = ì´ ì›”ë“œ 프로세서를 삭제하시겠습니까?\n\nì£¼ë³€ì´ ë²½ìœ¼ë¡œ 둘러싸여 있다면 지형 벽으로 ëŒ€ì²´ë  ê²ƒìž…ë‹ˆë‹¤. +editor.ingame = ì¸ê²Œìž„ 편집 +editor.playtest = ë§µ 테스트 editor.publish.workshop = 창작마당 게시 -editor.newmap = ì‹ ê·œ ë§µ +editor.newmap = ë§µ 만들기 editor.center = 중앙 +editor.search = ë§µ 검색 +editor.filters = ë§µ í•„í„°ë§ +editor.filters.mode = 게임 모드: +editor.filters.type = ë§µ 유형: +editor.filters.search = 검색: +editor.filters.author = ì œìž‘ìž +editor.filters.description = 설명 +editor.shiftx = Xì¶• 밀기 +editor.shifty = Yì¶• 밀기 workshop = 창작마당 waves.title = 단계 waves.remove = ì‚­ì œ -waves.never = 여기까지 유닛 ìƒì„± waves.every = 매 waves.waves = 단계마다 -waves.perspawn = 마리씩 ìƒì„±ë¨ -waves.shields = 방어막 hp/단계 +waves.health = ì²´ë ¥: {0}% +waves.perspawn = 기씩 +waves.shields = ë°©ì–´ë§‰ë§Œí¼ ì†Œí™˜ waves.to = 부터 +waves.spawn = 소환: +waves.spawn.all = <ì „ì²´> +waves.spawn.select = ì  ì†Œí™˜ì§€ì  ì„ íƒ +waves.spawn.none = [scarlet] ì  ì†Œí™˜ì§€ì ì„ ì°¾ì„ ìˆ˜ 없습니다 +waves.max = 기까지 waves.guardian = ìˆ˜í˜¸ìž waves.preview = 미리보기 waves.edit = 편집 -waves.copy = í´ë¦½ë³´ë“œë¡œ 복사 +waves.random = 무작위 +waves.copy = í´ë¦½ë³´ë“œë¡œ 복사하기 waves.load = í´ë¦½ë³´ë“œì—서 불러오기 waves.invalid = í´ë¦½ë³´ë“œì— ìž˜ëª»ëœ ë‹¨ê³„ ë°ì´í„°ê°€ 있습니다. waves.copied = 단계 ë³µì‚¬ë¨ waves.none = ì  ë‹¨ê³„ê°€ 설정ë˜ì§€ 않았습니다.\në¹„ì–´ìžˆì„ ì‹œ ìžë™ìœ¼ë¡œ 기본 ì  ë‹¨ê³„ ë°ì´í„°ë¡œ 설정ë©ë‹ˆë‹¤. +waves.sort = ì •ë ¬ 기준 +waves.sort.reverse = ì •ë ¬ 뒤집기 +waves.sort.begin = 시작 단계 +waves.sort.health = ì²´ë ¥ +waves.sort.type = 유닛 유형 +waves.search = 단계 검색... +waves.filter = 유닛 í•„í„° +waves.units.hide = ëª¨ë‘ ìˆ¨ê¸°ê¸° +waves.units.show = ëª¨ë‘ ë³´ì´ê¸° #these are intentionally in lower case -wavemode.counts = 마리 +wavemode.counts = 기 wavemode.totals = ì´ wavemode.health = ì²´ë ¥ +all = ëª¨ë‘ editor.default = [lightgray]<기본값> -details = 설명 -edit = 편집 +details = 설명... +edit = 편집... +variables = 변수 +logic.clear.confirm = ì´ í”„ë¡œì„¸ì„œì˜ ëª¨ë“  코드를 삭제하시겠습니까? +logic.globals = 내장 변수 + editor.name = ì´ë¦„: editor.spawn = 유닛 ìƒì„± editor.removeunit = 유닛 ì‚­ì œ editor.teams = 팀 editor.errorload = 파ì¼ì„ 불러오지 못했습니다. editor.errorsave = 파ì¼ì„ 저장하지 못했습니다. -editor.errorimage = ì´ê²ƒì€ ë§µì´ ì•„ë‹ˆë¼ ì‚¬ì§„ìž…ë‹ˆë‹¤.\n\n3.5/build 40 ë§µì„ ê°€ì ¸ì˜¬ë ¤ë©´ 편집기ì—서 '예전 ë§µ 가져오기' ë²„íŠ¼ì„ ì‚¬ìš©í•˜ì„¸ìš”. -editor.errorlegacy = ì´ ë§µì€ ë„ˆë¬´ 오래ë˜ì–´ ë” ì´ìƒ ì§€ì›ë˜ì§€ 않는 구형 ë§µ 형ì‹ì„ 사용합니다. +editor.errorimage = ì´ê²ƒì€ ë§µì´ ì•„ë‹ˆë¼ ì‚¬ì§„ìž…ë‹ˆë‹¤. +editor.errorlegacy = ì´ ë§µì€ ë„ˆë¬´ 오래ëê³ , ë” ì´ìƒ ì§€ì›í•˜ì§€ 않는 구형 ë§µ 형ì‹ì„ 사용합니다. editor.errornot = ë§µ 파ì¼ì´ 아닙니다. editor.errorheader = ì´ ë§µ 파ì¼ì€ 유효하지 않거나 ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. editor.errorname = ë§µì— ì´ë¦„ì´ ì§€ì •ë˜ì–´ 있지 않습니다. 저장 파ì¼ì„ 불러오려고 시ë„하는 건가요? +editor.errorlocales = ìž˜ëª»ëœ ì–¸ì–´ íŒ©ì„ ì½ëŠ” ë™ì•ˆ 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. editor.update = ì—…ë°ì´íЏ editor.randomize = 무작위 +editor.moveup = 위로 ì´ë™ +editor.movedown = 아래로 ì´ë™ +editor.copy = 복사 editor.apply = ì ìš© editor.generate = ìƒì„± +editor.sectorgenerate = 구역 형성 editor.resize = ë§µ í¬ê¸°ì¡°ì • editor.loadmap = ë§µ 불러오기 editor.savemap = ë§µ 저장 +editor.savechanges = [scarlet]저장하지 ì•Šì€ ë³€ê²½ ì‚¬í•­ì´ ìžˆìŠµë‹ˆë‹¤!\n\n[]저장하시겠습니까? editor.saved = 저장ë¨! editor.save.noname = ë§µì— ì´ë¦„ì´ ì—†ìŠµë‹ˆë‹¤! 'ë§µ ì •ë³´' 메뉴ì—서 설정하세요. editor.save.overwrite = ì´ ë§µì€ ë‚´ìž¥ëœ ë§µì„ ë®ì–´ì”니다! 'ë§µ ì •ë³´' ì—서 다른 ì´ë¦„ì„ ì„ íƒí•˜ì„¸ìš”. @@ -413,7 +549,7 @@ editor.importfile = íŒŒì¼ ê°€ì ¸ì˜¤ê¸° editor.importfile.description = 외부 ë§µ íŒŒì¼ ê°€ì ¸ì˜¤ê¸° editor.importimage = 사진 íŒŒì¼ ê°€ì ¸ì˜¤ê¸° editor.importimage.description = 외부 ë§µ 사진 íŒŒì¼ ê°€ì ¸ì˜¤ê¸° -editor.export = 내보내기 +editor.export = 내보내기... editor.exportfile = íŒŒì¼ ë‚´ë³´ë‚´ê¸° editor.exportfile.description = ë§µ íŒŒì¼ ë‚´ë³´ë‚´ê¸° editor.exportimage = 지형 ì´ë¯¸ì§€ 내보내기 @@ -423,162 +559,271 @@ editor.saveimage = 지형 내보내기 editor.unsaved = [scarlet]ë³€ê²½ì‚¬í•­ì„ ì €ìž¥í•˜ì§€ 않았습니다![]\nì •ë§ë¡œ 나가시겠습니까? editor.resizemap = ë§µ í¬ê¸° ì¡°ì • editor.mapname = ë§µ ì´ë¦„: -editor.overwrite = [accept]경고!\nì´ê²ƒì€ 기존 ë§µì„ ë®ì–´ ì”니다. +editor.overwrite = [accept]경고!\nì´ ë§µì€ ê¸°ì¡´ ë§µì„ ë®ì–´ ì”니다. editor.overwrite.confirm = [scarlet]경고![] ì´ ì´ë¦„ì„ ê°€ì§„ ë§µì´ ì´ë¯¸ 있습니다. ë®ì–´ 쓰시겠습니까? editor.exists = ì´ ì´ë¦„ì˜ ë§µì´ ì´ë¯¸ 존재합니다. editor.selectmap = 불러올 ë§µì„ ì„ íƒí•˜ì„¸ìš”: toolmode.replace = 재배치 -toolmode.replace.description = 단단한 블ë¡ì—ë§Œ 그립니다. +toolmode.replace.description = 지형 블ë¡ì—ë§Œ 그립니다. toolmode.replaceall = ëª¨ë‘ ìž¬ë°°ì¹˜ toolmode.replaceall.description = ë§µì— ìžˆëŠ” 모든 블ë¡ì„ 재배치합니다. toolmode.orthogonal = ì§ê° -toolmode.orthogonal.description = ì§ê°ìœ¼ë¡œ 블ë¡ì„ 배치합니다. +toolmode.orthogonal.description = ì§ê°ìœ¼ë¡œë§Œ 블ë¡ì„ 배치합니다. toolmode.square = 정사ê°í˜• toolmode.square.description = 정사ê°í˜• í˜•íƒœì˜ ë¸ŒëŸ¬ì‹œë¡œ êµì²´í•©ë‹ˆë‹¤. toolmode.eraseores = ìžì› 초기화 toolmode.eraseores.description = ìžì›ë§Œ 초기화합니다. toolmode.fillteams = 팀 채우기 -toolmode.fillteams.description = ë¸”ë¡ ëŒ€ì‹  ì„ íƒí•œ 팀으로 ë¸”ë¡ íŒ€ì„ ì±„ì›ë‹ˆë‹¤. +toolmode.fillteams.description = 블ë¡ì˜ íŒ€ì„ ì„ íƒí•œ 팀으로 채ì›ë‹ˆë‹¤. +toolmode.fillerase = 유형별 지우기 +toolmode.fillerase.description = ê°™ì€ ìœ í˜•ì˜ ë¸”ë¡ì„ ì§€ì›ë‹ˆë‹¤. toolmode.drawteams = 팀 그리기 -toolmode.drawteams.description = ë¸”ë¡ ëŒ€ì‹  ì„ íƒí•œ 팀으로 ë¸”ë¡ íŒ€ì„ ê·¸ë¦½ë‹ˆë‹¤. +toolmode.drawteams.description = 블ë¡ì˜ íŒ€ì„ ì„ íƒí•œ 팀으로 그립니다. +#unused +toolmode.underliquid = ì•¡ì²´ 아래로 그리기 +toolmode.underliquid.description = ì•¡ì²´ íƒ€ì¼ ì•„ëž˜ì— ë°”ë‹¥ì„ ê·¸ë¦½ë‹ˆë‹¤. filters.empty = [lightgray]í•„í„°ê°€ 없습니다! 아래 ë²„íŠ¼ì„ ëˆŒëŸ¬ 하나를 추가하세요. + filter.distort = 왜곡 filter.noise = ë…¸ì´ì¦ˆ -filter.enemyspawn = ì  ì†Œí™˜ì§€ì  ì œí•œ +filter.enemyspawn = ì  ì†Œí™˜ì§€ì  ì„ íƒ filter.spawnpath = ìžë™ìƒì„±ëœ ì  ì´ë™ê²½ë¡œ í­ -filter.corespawn = 코어 1ê°œ 제한 +filter.corespawn = 코어 ì„ íƒ filter.median = 중앙값 -filter.oremedian = ìžì› 중앙값 -filter.blend = 블렌드 -filter.defaultores = 기본 ìžì› -filter.ore = ìžì› -filter.rivernoise = 협곡 ë…¸ì´ì¦ˆ +filter.oremedian = 광물 중앙값 +filter.blend = 가장ìžë¦¬ +filter.defaultores = 기본 광물 +filter.ore = 광물 +filter.rivernoise = ê°• ë…¸ì´ì¦ˆ filter.mirror = 거울 filter.clear = 초기화 filter.option.ignore = 무시 filter.scatter = í©ë¿Œë¦¬ê¸° filter.terrain = 지형 +filter.logic = ë¡œì§ + filter.option.scale = í¬ê¸° filter.option.chance = 배치 ë¹ˆë„ filter.option.mag = í¬ê¸° -filter.option.threshold = 경계선 +filter.option.threshold = í•œê³„ì  filter.option.circle-scale = ì› í¬ê¸° filter.option.octaves = 옥타브 filter.option.falloff = 경사 filter.option.angle = ê°ë„ +filter.option.tilt = 기울기 +filter.option.rotate = ë°©í–¥ filter.option.amount = 개수 filter.option.block = ë¸”ë¡ -filter.option.floor = 배치할 íƒ€ì¼ +filter.option.floor = íƒ€ì¼ filter.option.flooronto = ëŒ€ìƒ íƒ€ì¼ -filter.option.target = ëŒ€ìƒ íƒ€ì¼ +filter.option.target = ëŒ€ìƒ +filter.option.replacement = ë°”ê¿”ë„£ì„ íƒ€ì¼ filter.option.wall = ë²½ -filter.option.ore = ìžì› -filter.option.floor2 = 2층 바닥 +filter.option.ore = 광물 +filter.option.floor2 = 2번째 íƒ€ì¼ filter.option.threshold2 = 2번째 경계선 filter.option.radius = 반경 filter.option.percentile = 백분율 +filter.option.code = 코드 +filter.option.loop = 루프 -width = ë„“ì´: +locales.info = 여기ì—서 특정 ì–¸ì–´ì— ëŒ€í•œ 언어 íŒ©ì„ ë§µì— ì¶”ê°€í•  수 있습니다. 언어 팩ì—서 ê° ì†ì„±ì—는 ì´ë¦„ê³¼ ê°’ì´ ìžˆìŠµë‹ˆë‹¤. ì´ëŸ¬í•œ ì†ì„±ì€ ì´ë¦„ì„ ì‚¬ìš©í•˜ì—¬ 월드 프로세서와 목표ì—서 사용할 수 있습니다. í…스트 ì„œì‹ ì§€ì •(플레ì´ìŠ¤í™€ë”를 실제 값으로 대체)ì„ ì§€ì›í•©ë‹ˆë‹¤.\n\n[cyan]예시 ì†ì„±:\n[]ì´ë¦„: [accent]timer[]\nê°’: [accent]예시 타ì´ë¨¸, ë‚¨ì€ ì‹œê°„: {0}[]\n\n[cyan]사용법:\n[]ëª©í‘œì˜ í…스트로 설정: [accent]@timer\n\n[]월드 프로세서ì—서 Print:\n[accent]localeprint "timer"\nformat time\n[gray](여기서 ì‹œê°„ì€ ë³„ë„로 ê³„ì‚°ëœ ë³€ìˆ˜) +locales.deletelocale = ì´ ì–¸ì–´ íŒ©ì„ ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ? +locales.applytoall = 모든 언어 íŒ©ì— ë³€ê²½ 사항 ì ìš© +locales.addtoother = 다른 언어 íŒ©ì— ì¶”ê°€ +locales.rollback = 마지막으로 ì ìš©ëœ ìƒíƒœë¡œ 롤백 +locales.filter = ì†ì„± í•„í„° +locales.searchname = ì´ë¦„ 검색... +locales.searchvalue = ê°’ 검색... +locales.searchlocale = 언어 팩 검색... +locales.byname = ì´ë¦„으로 +locales.byvalue = 값으로 +locales.showcorrect = 모든 언어 íŒ©ì— ì¡´ìž¬í•˜ê³  모든 ê³³ì—서 고유한 ê°’ì„ ê°–ëŠ” ì†ì„±ì„ 표시 +locales.showmissing = ì¼ë¶€ 언어 팩ì—서 누ë½ëœ ì†ì„± 표시 +locales.showsame = 다른 언어 팩ì—서 ë™ì¼í•œ ê°’ì„ ê°–ëŠ” ì†ì„± 표시 +locales.viewproperty = 모든 언어 팩ì—서 보기 +locales.viewing = ì†ì„± 보기 "{0}" +locales.addicon = ì•„ì´ì½˜ 추가 + +width = 너비: height = 높ì´: menu = 메뉴 play = í”Œë ˆì´ campaign = ìº íŽ˜ì¸ load = 불러오기 -save = 저장 +save = 저장하기 fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} memory = Mem: {0}mb memory2 = Mem:\n {0}mb +\n {1}mb language.restart = 언어 ì„¤ì •ì„ ì ìš©í•˜ë ¤ë©´ ê²Œìž„ì„ ë‹¤ì‹œ 시작하세요. settings = 설정 tutorial = 튜토리얼 -tutorial.retake = íŠœí† ë¦¬ì–¼ì„ ë‹¤ì‹œ 시작하기 +tutorial.retake = 튜토리얼 재시작하기 editor = 편집기 mapeditor = ë§µ 편집기 abandon = í¬ê¸°í•˜ê¸° abandon.text = ì´ ì§€ì—­ê³¼ 모든 ìžì›ì´ ì ì—게 넘어갑니다. locked = ìž ê¹€ -complete = [lightgray]해금 ì¡°ê±´ : +complete = [lightgray]해금 ì¡°ê±´: requirement.wave = {1} 지역ì—서 {0}단계 달성 requirement.core = {0} 지역ì—서 ì  ì½”ì–´ë¥¼ 파괴 requirement.research = {0} 연구 +requirement.produce = {0} ìƒì‚° requirement.capture = {0} ì ë ¹ -bestwave = [lightgray]최고 단계: {0} +requirement.onplanet = {0} êµ¬ì—­ì„ ì œì–´ +requirement.onsector = {0} êµ¬ì—­ì— ì°©ë¥™ launch.text = 출격 -research.multiplayer = ìº íŽ˜ì¸ ë©€í‹° í”Œë ˆì´ ì‹œì—는 해당 ìº íŽ˜ì¸ ì„œë²„ì˜ í˜¸ìŠ¤íŠ¸ë§Œ 연구할 수 있습니다. -map.multiplayer = ìº íŽ˜ì¸ ë©€í‹° í”Œë ˆì´ ì‹œì—는 해당 ìº íŽ˜ì¸ ì„œë²„ì˜ í˜¸ìŠ¤íŠ¸ë§Œ 다른 ì„¹í„°ë“¤ì„ ë³´ê³ , ì´ë™ì´ 가능합니다. +map.multiplayer = ìº íŽ˜ì¸ ë©€í‹° í”Œë ˆì´ ì‹œì—는 해당 ìº íŽ˜ì¸ ì„œë²„ì˜ í˜¸ìŠ¤íŠ¸ë§Œ 다른 êµ¬ì—­ì„ ë³´ê³ , ì´ë™ì´ 가능합니다. uncover = 지역 개방 configure = 초기ìžì› 설정 +objective.research.name = 연구 +objective.produce.name = íšë“ +objective.item.name = íšë“한 ìžì› +objective.coreitem.name = 코어 ìžì› +objective.buildcount.name = 건설 횟수 +objective.unitcount.name = 유닛 횟수 +objective.destroyunits.name = 유닛 처치 +objective.timer.name = 타ì´ë¨¸ +objective.destroyblock.name = ë‹¨ì¼ ë¸”ë¡ íŒŒê´´ +objective.destroyblocks.name = 다수 ë¸”ë¡ íŒŒê´´ +objective.destroycore.name = 코어 파괴 +objective.commandmode.name = 명령 모드 +objective.flag.name = 플래그 + +marker.shapetext.name = ë„형과 ë¬¸ìž +marker.point.name = í¬ì¸íЏ +marker.shape.name = ë„형 +marker.text.name = ë¬¸ìž +marker.line.name = ë¼ì¸ +marker.quad.name = 쿼드 +marker.texture.name = í…스처 + +marker.background = ë°°ê²½ +marker.outline = 외곽선 + +objective.research = [accent]연구:\n[]{0}[lightgray]{1} +objective.produce = [accent]íšë“:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]파괴:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]파괴: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]íšë“: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]코어로 ìš´ë°˜:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]건설: [][lightgray]{0}[]ê°œ\n{1}[lightgray]{2} +objective.buildunit = [accent]유닛 ìƒì‚°: [][lightgray]{0}[]기\n{1}[lightgray]{2} +objective.destroyunits = [accent]처치: [][lightgray]{0}[]ê¸°ì˜ ìœ ë‹› +objective.enemiesapproaching = [accent]ì ì´ [lightgray]{0}[]ì´ˆ í›„ì— ë„착합니다 +objective.enemyescelating = [accent]ì ì˜ ìƒì‚°ëŸ‰ì´ ì¦ê°€í•˜ê³  있습니다[lightgray]{0}[] +objective.enemyairunits = [accent]ì ì˜ 공중 ìœ ë‹›ì´ ìƒì‚°ë˜ê³  있습니다[lightgray]{0}[] +objective.destroycore = [accent]ì ì˜ 코어를 파괴하세요 +objective.command = [accent]유닛 조종 +objective.nuclearlaunch = [accent]âš  í•µê³µê²©ì´ ê°ì§€ë˜ì—ˆìŠµë‹ˆë‹¤: [lightgray]{0} + +announce.nuclearstrike = [red]âš  핵 공습 ê°ì§€ âš  + loadout = 출격 resources = ìžì› -bannedblocks = ê¸ˆì§€ëœ ë¸”ë¡ë“¤ +resources.max = 최대 +bannedblocks = ê¸ˆì§€ëœ ë¸”ë¡ +unbannedblocks = Unbanned Blocks +objectives = 목표 +bannedunits = ê¸ˆì§€ëœ ê¸°ì²´ +unbannedunits = Unbanned Units +bannedunits.whitelist = ê¸ˆì§€ëœ ê¸°ì²´ë§Œ 활성화 +bannedblocks.whitelist = ê¸ˆì§€ëœ ë¸”ë¡ë§Œ 활성화 addall = ëª¨ë‘ ì¶”ê°€ -launch.from = ì ë ¹ 코어 송신 지역 : [accent]{0} +launch.from = 출격 출발지: [accent]{0}[] +launch.capacity = 출격 ìžì› 용량: [accent]{0} launch.destination = 목ì ì§€: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = 해당 ê°’ì€ 0ì—서 {0} 사ì´ì˜ 숫ìžì—¬ì•¼ 합니다. add = 추가... -boss.health = ìˆ˜í˜¸ìž ì²´ë ¥ +guardian = ìˆ˜í˜¸ìž -connectfail = [scarlet]ì—°ê²° 오류:\n\n[accent]{0} +connectfail = [scarlet]ì—°ê²° 오류:[]\n\n[][accent]{0}[] error.unreachable = ì„œë²„ì— ì—°ê²°í•˜ì§€ 못했습니다.\n서버 주소가 정확히 ìž…ë ¥ë˜ì—ˆë‚˜ìš”? error.invalidaddress = ìž˜ëª»ëœ ì£¼ì†Œìž…ë‹ˆë‹¤. error.timedout = 시간 초과!\nì„œë²„ì— í¬íЏ í¬ì›Œë”©ì´ 설정ë˜ì–´ 있고 주소가 올바른지 확ì¸í•˜ì„¸ìš”. -error.mismatch = 패킷 오류\ní´ë¼ì´ì–¸íЏ/서버 ë²„ì „ì´ ì¼ì¹˜í•˜ì§€ 않습니다.\nì ‘ì†í•˜ë ¤ëŠ” 서버가 최신 버전ì¸ì§€ 확ì¸í•˜ì„¸ìš”! +error.mismatch = 패킷 오류\ní´ë¼ì´ì–¸íŠ¸ì™€ 서버 ë²„ì „ì´ ì¼ì¹˜í•˜ì§€ 않습니다.\nì ‘ì†í•˜ë ¤ëŠ” 서버가 최신 버전ì¸ì§€ 확ì¸í•˜ì„¸ìš”! error.alreadyconnected = ì´ë¯¸ ì ‘ì† ì¤‘ìž…ë‹ˆë‹¤. error.mapnotfound = ë§µ 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다! -error.io = ë„¤íŠ¸ì›Œí¬ I/O 오류. -error.any = 알 수 없는 ë„¤íŠ¸ì›Œí¬ ì˜¤ë¥˜. -error.bloom = 블룸 그래픽 효과를 ì ìš©í•˜ì§€ 못했습니다.\në‹¹ì‹ ì˜ ê¸°ê¸°ê°€ ì´ ê¸°ëŠ¥ì„ ì§€ì›í•˜ì§€ 않는 ê²ƒì¼ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. +error.io = ë„¤íŠ¸ì›Œí¬ I/O 오류 +error.any = 알 수 없는 ë„¤íŠ¸ì›Œí¬ ì˜¤ë¥˜ +error.bloom = 블룸 그래픽 효과를 ì ìš©í•˜ì§€ 못했습니다.\n기기가 ì´ ê¸°ëŠ¥ì„ ì§€ì›í•˜ì§€ 않는 ê²ƒì¼ ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. +error.moddex = Mindustryê°€ 해당 모드를 로드할 수 없습니다.\n최근 Androidì˜ ë³€ê²½ìœ¼ë¡œ ì¸í•´ 기기ì—서 Java 모드 가져오기가 차단ë˜ì—ˆìŠµë‹ˆë‹¤.\n ì•„ì§ ì´ ë¬¸ì œì— ëŒ€í•œ 알려진 í•´ê²° ë°©ë²•ì€ ì—†ìŠµë‹ˆë‹¤. weather.rain.name = 비 -weather.snow.name = 눈 +weather.snowing.name = 눈 weather.sandstorm.name = 모래 í­í’ weather.sporestorm.name = í¬ìž í­í’ weather.fog.name = 안개 -sectors.unexplored = [lightgray]미개척지 +campaign.playtime = \uf129 [lightgray]지역 플레ì´íƒ€ìž„: {0} +campaign.complete = [accent]축하드립니다.\n\n {0} ì§€ì—­ì˜ ì ì´ 패배하였습니다\n[lightgray] 마지막 ì§€ì—­ì„ ì ë ¹í•˜ì˜€ìŠµë‹ˆë‹¤. + +sectorlist = 지역 ëª©ë¡ +sectorlist.attacked = {0} 공격받는 중 +sectors.unexplored = [lightgray]미개척지[] sectors.resources = ìžì›: -sectors.production = 분당 ìžì› ìƒì‚°ëŸ‰: -sectors.export = 분당 ìžì› 수출량: -sectors.time = 지역 ì§„í–‰ 시간: -sectors.threat = 지역 위험ë„: -sectors.wave = ì§„í–‰ 중 단계: -sectors.stored = ì €ìž¥ëœ ìžì› 목ë¡: +sectors.production = ìƒì‚°ëŸ‰: +sectors.export = 수출량: +sectors.import = 수입량: +sectors.time = ì§„í–‰ 시간: +sectors.threat = 위험ë„: +sectors.wave = 단계: +sectors.stored = 저장량: sectors.resume = 재개 sectors.launch = 출격 sectors.select = ì„ íƒ -sectors.nonelaunch = [lightgray]ì—†ìŒ (sun) -sectors.rename = 구역 ì´ë¦„ 변경 -sectors.enemybase = [scarlet]ì  ê¸°ì§€ -sectors.vulnerable = [scarlet]취약 -sectors.underattack = [scarlet]공격받고 있습니다! [accent]{0}% ì†ìƒë¨. -sectors.survives = [accent]{0} 단계 ì´ìƒ 버티세요. -sectors.go = 지역 ì§„ìž… -sector.curcapture = ì ë ¹ì§€ -sector.curlost = ìžƒì€ ì§€ì—­ -sector.missingresources = [scarlet]ìžì› 부족 -sector.attacked = [accent]{0}[white] ì§€ì—­ì´ ê³µê²©ë°›ê³  있습니다! -sector.lost = [accent]{0}[white] ì§€ì—­ì„ ìžƒì—ˆìŠµë‹ˆë‹¤... -#note: the missing space in the line below is intentional -sector.captured = [accent]{0}[white] ì§€ì—­ì„ ì ë ¹í–ˆìŠµë‹ˆë‹¤! +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]ì—†ìŒ (태양)[] +sectors.redirect = Redirect Launch Pads +sectors.rename = 지역 ì´ë¦„ 변경하기 +sectors.enemybase = [scarlet]ì  ê¸°ì§€[] +sectors.vulnerable = [scarlet]취약함[] +sectors.underattack = [scarlet]공격받고 있습니다! [accent]{0}% ì†ìƒë¨[] +sectors.underattack.nodamage = [scarlet]ì ë ¹ë˜ì§€ ì•ŠìŒ +sectors.survives = [accent]{0} 단계 버팀[] +sectors.go = ì§„ìž… +sector.abandon = í¬ê¸° +sector.abandon.confirm = ì´ ì§€ì—­ì˜ ì½”ì–´ê°€ ìží­í•©ë‹ˆë‹¤.\n계ì†í•˜ì‹œê² ìŠµë‹ˆê¹Œ? +sector.curcapture = 지역 ì ë ¹ë¨ +sector.curlost = 지역 ìžƒìŒ +sector.missingresources = [scarlet]코어 ìžì› 부족[] +sector.attacked = [accent]{0}[white] ì§€ì—­ì´ ê³µê²©ë°›ê³  있습니다![] +sector.lost = [accent]{0}[white] ì§€ì—­ì„ ìžƒì—ˆìŠµë‹ˆë‹¤![] +sector.capture = [accent]{0}[white] ì§€ì—­ì„ ì ë ¹í•˜ì˜€ìŠµë‹ˆë‹¤! +sector.capture.current = 지역 ì ë ¹! +sector.changeicon = ì•„ì´ì½˜ 바꾸기 +sector.noswitch.title = 지역 전환 불가능 +sector.noswitch = 기존 ì§€ì—­ì´ ê³µê²©ë°›ëŠ” ë™ì•ˆì€ ì§€ì—­ì„ ì „í™˜í•  수 없습니다.\n\n지역: [accent]{0}[] 중 [accent]{1}[] +sector.view = 지역 보기 threat.low = ë‚®ìŒ -threat.medium = 높지 않지만 ë‚®ì§€ë„ ì•ŠìŒ +threat.medium = 보통 threat.high = ë†’ìŒ threat.extreme = 매우 ë†’ìŒ threat.eradication = 극한 +difficulty.casual = ìºì£¼ì–¼ +difficulty.easy = 쉬움 +difficulty.normal = 보통 +difficulty.hard = 어려움 +difficulty.eradication = 극한 + planets = 태양계 planet.serpulo.name = 세르플로 +planet.erekir.name = ì—르키아 planet.sun.name = 태양 sector.impact0078.name = íí—ˆ : Impact 0078 -sector.groundZero.name = Zero 전초기지 +sector.groundZero.name = 전초기지 sector.craters.name = í¬ë ˆì´í„° sector.frozenForest.name = ì–¼ì–´ë¶™ì€ ìˆ² sector.ruinousShores.name = íŒŒê´´ëœ í•´ì•ˆê°€ @@ -592,134 +837,275 @@ sector.fungalPass.name = í¬ìž 지대 sector.biomassFacility.name = 유기물 합성 시설 sector.windsweptIslands.name = í­í’ì˜ ê²©ì „ì§€ sector.extractionOutpost.name = ìžì› 추출기지 +sector.facility32m.name = 32 M 시설 +sector.taintedWoods.name = ì˜¤ì—¼ëœ ì‚°ë¦¼ +sector.infestedCanyons.name = ê°ì—¼ëœ ê¹Šì€ í˜‘ê³¡ sector.planetaryTerminal.name = 대행성 출격단지 +sector.coastline.name = 해안선 +sector.navalFortress.name = í•´êµ° 요새 +sector.polarAerodrome.name = 극지 비행장 +sector.atolls.name = 환초 +sector.testingGrounds.name = 시험장 +sector.seaPort.name = 바다 항구 +sector.weatheredChannels.name = í’í™”ëœ ìˆ˜ë¡œ +sector.mycelialBastion.name = 균사 요새 +sector.frontier.name = êµ­ê²½ 지방 -sector.groundZero.description = ì´ ìž¥ì†ŒëŠ” 다시 ì‹œìž‘í•˜ê¸°ì— ìµœì ì˜ í™˜ê²½ì„ ì§€ë‹Œ 장소입니다. ì ì˜ 위협 ìˆ˜ì¤€ì´ ë‚®ìœ¼ë©°, ìžì›ì´ ê±°ì˜ ì—†ìŠµë‹ˆë‹¤.\n가능 한 ë§Žì€ ì–‘ì˜ êµ¬ë¦¬ì™€ ë‚©ì„ ìˆ˜ì§‘í•˜ì„¸ìš”.\nì´ì œ 출격할 시간입니다! -sector.frozenForest.description = ì´ê³³ì—서ë„, ì‚°ì— ê°€ê¹Œìš´ ê³³ì— í¬ìžê°€ í¼ì¡ŒìŠµë‹ˆë‹¤. 추운 온ë„ì—ì„œë„ í¬ìžë“¤ì„ ë§‰ì„ ìˆ˜ ì—†ì„ ê²ƒ 같습니다.\n화력 발전기를 건설하고, 멘ë”를 사용하는 ë°©ë²•ì„ ë°°ìš°ì„¸ìš”. -sector.saltFlats.description = ì´ ì†Œê¸ˆ ì‚¬ë§‰ì€ ë§¤ìš° 척박하여 ìžì›ì´ ê±°ì˜ ì—†ìŠµë‹ˆë‹¤.\n하지만 ìžì›ì´ í¬ì†Œí•œ ì´ê³³ì—ì„œë„ ì ë“¤ì˜ 요새가 발견ë˜ì—ˆìŠµë‹ˆë‹¤. ê·¸ë“¤ì„ ì‚¬ë§‰ì˜ ëª¨ëž˜ë¡œ 만들어버리십시오. -sector.craters.description = ë¬¼ì´ ê°€ë“한 ì´ í¬ë ˆì´í„°ì—는 옛 ì „ìŸì˜ ìœ ë¬¼ë“¤ì´ ìŒ“ì—¬ìžˆìŠµë‹ˆë‹¤.\nì´ê³³ì„ 다시 ì ë ¹í•´ ê°•í™” 유리를 제작하고 ë¬¼ì„ ëŒì–´ 올려 í¬íƒ‘ê³¼ ë“œë¦´ì— ê³µê¸‰í•˜ì—¬ ë” ì¢‹ì€ íš¨ìœ¨ë¡œ ë°©ì–´ì„ ì„ ê°•í™”í•˜ì‹­ì‹œì˜¤. -sector.ruinousShores.description = ì´ ì§€ì—­ì€ ê³¼ê±° 해안방어기지로 사용ë˜ì—ˆìŠµë‹ˆë‹¤.\n그러나 ì§€ê¸ˆì€ ê¸°ë³¸êµ¬ì¡°ë¬¼ë§Œ 남아있으니 ì´ ì§€ì—­ì„ ì–´ì„œ ì‹ ì†ížˆ 수리하여 외부로 ì„¸ë ¥ì„ í™•ìž¥í•œ ë’¤, 잃어버린 ê¸°ìˆ ì„ ë‹¤ì‹œ 회수하십시오. -sector.stainedMountains.description = ë” ì•ˆìª½ì—는 í¬ìžì— ì˜¤ì—¼ëœ ì‚°ë§¥ì´ ìžˆì§€ë§Œ, ì´ê³³ì€ ì•„ì§ í¬ìžì— 오염ë˜ì§€ 않았습니다.\nì´ ì§€ì—­ì—서 í‹°íƒ€ëŠ„ì„ ì±„êµ´í•˜ê³  ì´ê²ƒì„ 어떻게 사용하는지 배우십시오.\n\nì ë“¤ì€ ì´ê³³ì—서 ë” ê°•ë ¥í•©ë‹ˆë‹¤. ë” ê°•í•œ ìœ ë‹›ë“¤ì´ ë‚˜ì˜¬ 때까지 ì‹œê°„ì„ ë‚­ë¹„í•˜ì§€ 마십시오. -sector.overgrowth.description = ì´ê³³ì€ í¬ìžë“¤ì˜ ê·¼ì›ê³¼ 가까ì´ì— 있는 과성장 지대입니다. ì ì´ ì´ ê³³ì— ì „ì´ˆê¸°ì§€ë¥¼ 설립했습니다. 디거를 ìƒì‚°í•´ ì ì˜ 코어를 ë°•ì‚´ ë‚´ê³  우리가 잃어버린 ê²ƒë“¤ì„ ë˜ëŒë ¤ë°›ìœ¼ì‹­ì‹œì˜¤! -sector.tarFields.description = 산지와 사막 사ì´ì— 있는 ì„유 ìƒì‚°ì§€ì˜ 외곽 지역ì´ë©°, 사용 가능한 타르가 매장ë˜ì–´ 있는 í¬ê·€í•œ 지역 중 하나입니다. 버려진 지역ì´ì§€ë§Œ ì´ê³³ì—는 위험한 ì êµ°ë“¤ì´ 있습니다. ê·¸ë“¤ì„ ê³¼ì†Œí‰ê°€í•˜ì§€ 마십시오.\n\n[lightgray]ì„유 ìƒì‚°ê¸°ìˆ ì„ ìµížˆëŠ” ê²ƒì´ ë„ì›€ì´ ë  ê²ƒìž…ë‹ˆë‹¤. -sector.desolateRift.description = ê·¹ë„로 위험한 지역입니다. ìžì›ì€ í’부하지만, 사용 가능한 ê³µê°„ì€ ê±°ì˜ ì—†ìŠµë‹ˆë‹¤. 코어 íŒŒê´´ì˜ ìœ„í—˜ì„±ì´ ë†’ìœ¼ë‹ˆ 가능한 한 빨리 떠나십시오. ë˜í•œ, ì ì˜ 공격 딜레ì´ê°€ 길다고 안심하지 마십시오. -sector.nuclearComplex.description = 과거 í† ë¥¨ì˜ ìƒì‚°, 연구와 처리를 위해 ìš´ì˜ë˜ì—ˆë˜ 시설입니다. ì§€ê¸ˆì€ ê·¸ì € í허로 ì „ë½í–ˆìœ¼ë©°, ë‹¤ìˆ˜ì˜ ì ì´ ë°°ì¹˜ëœ ì§€ì—­ìž…ë‹ˆë‹¤. ê·¸ë“¤ì€ ëŠìž„ì—†ì´ ë‹¹ì‹ ì„ ê³µê²©í•  것입니다.\n\n[lightgray]í† ë¥¨ì˜ ë‹¤ì–‘í•œ ì‚¬ìš©ë²•ì„ ì—°êµ¬í•˜ê³  ìµížˆì‹­ì‹œì˜¤. -sector.fungalPass.description = ë†’ì€ ì‚°ê³¼ ë‚®ì€ ë•… 사ì´ì˜ 전환 지역. ìž‘ì€ ì  ì •ì°° 기지가 ì—¬ê¸°ì— ìžˆìŠµë‹ˆë‹¤.\nê·¸ê²ƒë“¤ì„ íŒŒê´´í•˜ì„¸ìš”.\n대거와 í¬ë¡¤ëŸ¬ ìœ ë‹›ì„ ì‚¬ìš©í•˜ì—¬ ë‘ê°œì˜ ì½”ì–´ë¥¼ 파괴하세요. -sector.biomassFacility.description = í¬ìžì˜ ì‹œìž‘ì´ ë˜ëŠ” 지역입니다. ì´ ì‹œì„¤ì€ í¬ìžë¥¼ 연구하고 ê·¸ê²ƒë“¤ì„ ê°€ìž¥ ì²˜ìŒ ìƒì‚°í–ˆìŠµë‹ˆë‹¤.\nì´ ì‹œì„¤ì— ê¸°ë¡ëœ ê¸°ìˆ ì„ ë°°ìš°ê³ , 연료와 플ë¼ìŠ¤í„°ëŠ„ì„ ìƒì‚°í•˜ê¸° 위해 í¬ìžë¥¼ 배양하세요. \n\n[lightgray]ì´ ì‹œì„¤ì´ ë¶•ê´´ëœ í›„ì—, 시설 ë‚´ì— ë°°ì–‘ë˜ë˜ í¬ìžë“¤ì´ 외부로 ë°©ì¶œë˜ì—ˆìŠµë‹ˆë‹¤. ì´ë¡œ ì¸í•´ ìƒíƒœê³„ êµëž€ì¢…ì¸ í¬ìžê°€ 지역 ìƒíƒœê³„ì—서 번ì‹í•˜ê²Œ ë˜ì—ˆê³ , ê·¸ ë¬´ì—‡ë„ ì´ ë¬´ìžë¹„하고 ìž‘ì€ ì¹¨ëžµìžì—게 대항할 수 없었습니다. -sector.windsweptIslands.description = 육지ì—서 멀리 떨어진 ì´ê³³ì—는 ìž‘ì€ êµ°ë„ê°€ 있습니다. ì´ ì§€ì—­ì„ ì¡°ì‚¬í•´ë³´ë©´ 한 때 [accent]플ë¼ìŠ¤í„°ëŠ„[]ì„ ìƒì‚°í•œ í”ì ì´ 남아있습니다.\n\n몰려오는 ì  í•´êµ°ì„ ë§‰ìœ¼ë©°, ì„¬ì— ê¸°ì§€ë¥¼ 건설하고, ê³µìž¥ë“¤ì„ ì—°êµ¬í•˜ì‹­ì‹œì˜¤. -sector.extractionOutpost.description = ì ì´ 다른 ì§€ì—­ì— ìžì›ì„ 보내기 위한 ìš©ë„로 건설한 보급기지입니다.\n\n강력한 ì ë“¤ì´ 지키고 있거나, 침공해올 ì˜ˆì •ì¸ ì§€ì—­ì„ íš¨ê³¼ì ìœ¼ë¡œ 침공/수호하기 위해서는 ìš°ë¦¬ë„ ì´ ìˆ˜ì†¡ ê¸°ìˆ ì´ í•„ìš”í•©ë‹ˆë‹¤. ì ì˜ 기지를 파괴하고, ê·¸ë“¤ì˜ ìˆ˜ì†¡ ê¸°ìˆ ì„ ì•½íƒˆí•˜ì‹­ì‹œì˜¤. -sector.impact0078.description = ì´ê³³ì—는 ì‹œìŠ¤í…œì— ì²˜ìŒ ì§„ìž…í•œ 우주 ìˆ˜ì†¡ì„ ì˜ ìž”í•´ê°€ 있습니다.\n\nìš°ì£¼ì„ ì´ íŒŒê´´ëœ ìž”í•´ì—서 최대한 ë§Žì€ ìžì›ì„ 회수하고, ì†ìƒë˜ì§€ ì•Šì€ ê·¸ë“¤ì˜ ê¸°ìˆ ì„ íšë“하세요. -sector.planetaryTerminal.description = ì´ í–‰ì„±ì—ì„œì˜ ë§ˆì§€ë§‰ 전투를 준비하세요.\n\nì ì´ í•„ì‚¬ì˜ ê°ì˜¤ë¡œ 지키고 있는 ì´ í•´ì•ˆ 기지엔 ìš°ì£¼ì— ì½”ì–´ë¥¼ 발사할 수 있는 ì‹œì„¤ì´ ìžˆìŠµë‹ˆë‹¤.\n\ní•´êµ°ì„ ìƒì‚°í•˜ì—¬ ì ì„ ì‹ ì†í•˜ê²Œ 제거하고, ê·¸ë“¤ì˜ ì½”ì–´ 발사 ê¸°ìˆ ì„ ì•½íƒˆí•˜ì‹­ì‹œì˜¤.\n\n[royal] 건투를 빕니다.[] +sector.groundZero.description = ì´ ìž¥ì†ŒëŠ” 다시 ì‹œìž‘í•˜ê¸°ì— ìµœì ì˜ í™˜ê²½ì„ ì§€ë…”ìŠµë‹ˆë‹¤. ì ì€ 위협ì ì´ì§€ 않지만, ìžì›ë„ í’부하진 않습니다.\n가능한 한 ë§Žì€ ì–‘ì˜ êµ¬ë¦¬ì™€ ë‚©ì„ ìˆ˜ì§‘í•˜ì‹­ì‹œì˜¤.\nì´ì œ 출격할 시간입니다! +sector.frozenForest.description = ì‚°ê³¼ 가까운 ì´ê³³ì—ë„, í¬ìžê°€ í¼ì¡ŒìŠµë‹ˆë‹¤. í˜¹í•œì˜ ì¶”ìœ„ì¡°ì°¨ í¬ìžê°€ í¼ì§€ëŠ” ê²ƒì„ ì–µëˆ„ë¥¼ 수 없습니다.\n화력 발전기를 건설하고, 멘ë”를 사용하는 ë°©ë²•ì„ ë°°ì›Œì•¼ 합니다. +sector.saltFlats.description = ì‚¬ë§‰ì˜ ë³€ë‘리ì—는 소금으로 ì´ë£¨ì–´ì§„ í‰ì›ì´ 있습니다. ì´ê³³ì—ì„  매우 ì ì€ ìžì›ë§Œ 발견ë˜ì—ˆìŠµë‹ˆë‹¤.\n\n하지만 ìžì›ì´ í¬ì†Œí•œ ì´ê³³ì—ì„œë„ ì ë“¤ì˜ 요새가 í¬ì°©ë˜ì—ˆìŠµë‹ˆë‹¤. ê·¸ë“¤ì„ ì‚¬ë§‰ì˜ ëª¨ëž˜ë¡œ 만들어버리세요! +sector.craters.description = ë¬¼ì´ ê°€ë“한 ì´ í¬ë ˆì´í„°ì—는 옛 ì „ìŸì˜ ìœ ë¬¼ë“¤ì´ ìŒ“ì—¬ìžˆìŠµë‹ˆë‹¤.\nì´ê³³ì„ 탈환하여 ê°•í™” 유리를 제련하고, í¬íƒ‘ê³¼ ë“œë¦´ì— ë¬¼ì„ ê³µê¸‰í•˜ì—¬ ë” ê°•ë ¥í•œ ë°©ì–´ì„ ì„ êµ¬ì¶•í•˜ì—¬ì•¼ 합니다. +sector.ruinousShores.description = í허를 지나서 나오는 해안선. 한때, ì´ê³³ì—는 해안 방어기지가 있었습니다.\në§Žì€ ë¶€ë¶„ì´ ì†Œì‹¤ë˜ì—ˆìŠµë‹ˆë‹¤. 기본ì ì¸ ë°©ì–´ ì‹œì„¤ì„ ì œì™¸í•œ 모든 ê²ƒì´ ê³ ì²  ë©ì–´ë¦¬ê°€ ë˜ì—ˆìŠµë‹ˆë‹¤. \n외부로 ì„¸ë ¥ì„ í™•ìž¥í•˜ê¸° 위한 첫 발걸ìŒìœ¼ë¡œ, 무너진 ì‹œì„¤ì„ ìž¬ê±´í•˜ê³  잃어버린 ê¸°ìˆ ì„ ë‹¤ì‹œ 회수하십시오. +sector.stainedMountains.description = ë” ë‚´ë¥™ì—는 ì•„ì§ í¬ìžì— 오염ë˜ì§€ ì•Šì€ ì‚°ë§¥ì´ ìžˆìŠµë‹ˆë‹¤.\nì´ ì§€ì—­ì—서 í‹°íƒ€ëŠ„ì„ ì±„êµ´í•˜ê³  ì´ê²ƒì„ 어떻게 사용하는지 배우십시오.\n\nì´ê³³ì€ ë” ê°•ë ¥í•œ ì ì´ 주둔하고 있습니다. ì ì´ 가장 강력한 ìœ ë‹›ì„ ì¤€ë¹„í•  ì‹œê°„ì„ ì£¼ì§€ 마십시오. +sector.overgrowth.description = ì´ê³³ì€ í¬ìžë“¤ì˜ ê·¼ì›ê³¼ 가까ì´ì— 있는 과성장 지대입니다. ì ì´ ì´ê³³ì— 전초기지를 설립했습니다. 대거를 ìƒì‚°í•´ ì ì˜ 기지를 ë°•ì‚´ ë‚´ê³  우리가 잃어버린 ê²ƒì„ ë˜ì°¾ì•„야 합니다! +sector.tarFields.description = 산지와 사막 사ì´ì— 있는 ì„유 ìƒì‚°ì§€ì˜ 외곽ì´ë©°, 사용 가능한 타르가 매장ë˜ì–´ 있는 í¬ê·€í•œ 지역 중 하나입니다. 버려진 지역ì´ì§€ë§Œ ì´ê³³ì—는 위험한 ì êµ°ì´ 있습니다. ê·¸ë“¤ì„ ê³¼ì†Œí‰ê°€í•˜ì§€ 마십시오.\n\n[lightgray]ì„유 ê°€ê³µê¸°ìˆ ì„ ìµížˆëŠ” ê²ƒì´ ë„ì›€ì´ ë  ê²ƒìž…ë‹ˆë‹¤. +sector.desolateRift.description = ê·¹ë„로 위험한 지역입니다. ìžì›ì€ í’부하지만, 사용 가능한 ê³µê°„ì€ ê±°ì˜ ì—†ìŠµë‹ˆë‹¤. ì ì˜ 공격 주기가 길지만, 기지가 íŒŒê´´ë  ìœ„í—˜ì´ ë†’ìœ¼ë‹ˆ 가능한 한 빨리 ë°©ì–´ì‹œì„¤ì„ êµ¬ì¶•í•˜ì—¬ì•¼ 합니다. +sector.nuclearComplex.description = 과거 í† ë¥¨ì˜ ìƒì‚°, 연구와 처리를 위해 ìš´ì˜ë˜ì—ˆë˜ 시설입니다. ì§€ê¸ˆì€ ê·¸ì € í허로 ì „ë½í•˜ì˜€ì§€ë§Œ, ë‹¤ìˆ˜ì˜ ì ì´ ë°°ì¹˜ëœ ì§€ì—­ìž…ë‹ˆë‹¤. ê·¸ë“¤ì€ ëŠìž„ì—†ì´ ë‹¹ì‹ ì„ ê³µê²©í•  것입니다.\n\n[lightgray]í† ë¥¨ì˜ ë‹¤ì–‘í•œ ì‚¬ìš©ë²•ì„ ì—°êµ¬í•˜ê³  ìµí˜€ 보세요. +sector.fungalPass.description = í¬ìžë¡œ 얼룩진 높고 ë‚®ì€ ì‚°ì´ ë§Œë‚˜ëŠ” ê³³. ì´ê³³ì—서 ì ì˜ 소규모 정찰기지를 발견하였습니다.\nê·¸ê²ƒë“¤ì„ íŒŒê´´í•˜ì‹­ì‹œì˜¤.\n대거와 í¬ë¡¤ëŸ¬ 기체를 사용하여 ë‘ ê°œì˜ ê¸°ì§€ë¥¼ 파괴하여야 합니다. +sector.biomassFacility.description = í¬ìžê°€ 탄ìƒí•œ ê³³. ì´ê³³ì€ í¬ìžë¥¼ 연구하고 최초로 ìƒì‚°í–ˆë˜ 시설입니다.\nì´ ì‹œì„¤ì— ë‚¨ì•„ìžˆëŠ” ê¸°ìˆ ì„ ìŠµë“하고, 연료와 플ë¼ìŠ¤í„°ëŠ„ì„ ìƒì‚°í•˜ê¸° 위해 í¬ìžë¥¼ 배양하십시오. \n\n[lightgray]ì´ ì‹œì„¤ì´ ë¶•ê´´í•œ 후ì—, 시설 ë‚´ì— ë°°ì–‘ë˜ë˜ ëŒ€ëŸ‰ì˜ í¬ìžê°€ 외부로 ë°©ì¶œë˜ì—ˆìŠµë‹ˆë‹¤. ì´ë¡œ ì¸í•´ ìƒíƒœê³„ êµëž€ì¢…ì¸ í¬ìžê°€ 지역 ìƒíƒœê³„ì—서 번ì‹í•˜ê²Œ ë˜ì—ˆê³ , ê·¸ ë¬´ì—‡ë„ ì´ ë¬´ìžë¹„하고 ìž‘ì€ ì¹¨ëžµìžì—게 대항할 수 없었습니다. +sector.windsweptIslands.description = 육지ì—서 멀리 떨어진 ì´ê³³ì—는 ìž‘ì€ êµ°ë„ê°€ 있습니다. 기ë¡ì— 따르면 한 때 [accent]플ë¼ìŠ¤í„°ëŠ„[]ì„ ìƒì‚°í•˜ëŠ” ì‹œì„¤ì´ ì¡´ìž¬í–ˆìŠµë‹ˆë‹¤.\n\n몰려오는 ì  í•´êµ°ì„ ë§‰ìœ¼ë©°, ì„¬ì— ê¸°ì§€ë¥¼ 구축하고, ê³µìž¥ë“¤ì„ ì—°êµ¬í•˜ì—¬ì•¼ 합니다. +sector.extractionOutpost.description = ì ì´ 다른 ì§€ì—­ì— ìžì›ì„ 보내기 위한 ìš©ë„로 건설한 보급기지입니다.\n\n강력한 ì ë“¤ì´ 지키고 있는 ì§€ì—­ì„ ê³µê²©í•˜ê±°ë‚˜, ì ì—게 침공당한 ì§€ì—­ì„ íš¨ê³¼ì ìœ¼ë¡œ 수호하기 위해서는 ìš°ë¦¬ë„ ì´ ìˆ˜ì†¡ ê¸°ìˆ ì´ í•„ìš”í•©ë‹ˆë‹¤. ì ì˜ 기지를 파괴하고, ê·¸ë“¤ì˜ ìˆ˜ì†¡ ê¸°ìˆ ì„ ê°•íƒˆí•˜ì‹­ì‹œì˜¤. +sector.impact0078.description = ì´ê³³ì—는 íƒœì–‘ê³„ì— ì²˜ìŒ ì§„ìž…í•œ 우주 ìˆ˜ì†¡ì„ ì˜ ìž”í•´ê°€ 존재합니다.\n\nìš°ì£¼ì„ ì´ íŒŒê´´ëœ ìž”í•´ì—서 최대한 ë§Žì€ ìžì›ì„ 회수하고, ì†ìƒë˜ì§€ ì•Šì€ ê·¸ë“¤ì˜ ê¸°ìˆ ì„ íšë“하십시오. +sector.planetaryTerminal.description = ì´ í–‰ì„±ì—ì„œì˜ ë§ˆì§€ë§‰ 전투를 준비하십시오.\n\nì ì´ í•„ì‚¬ì˜ ê°ì˜¤ë¡œ 지키고 있는 ì´ í•´ì•ˆ 기지엔 ìš°ì£¼ì— ì½”ì–´ë¥¼ 발사할 수 있는 ì‹œì„¤ì´ ìžˆìŠµë‹ˆë‹¤.\n\ní•´êµ°ì„ ìƒì‚°í•˜ì—¬ ì ì„ ì‹ ì†í•˜ê²Œ 제거하고, ê·¸ë“¤ì˜ í–‰ì„±ê°„ ì´ë™ ê¸°ìˆ ì„ ê°•íƒˆí•˜ì‹­ì‹œì˜¤.\n\n[royal] 건투를 빕니다.[] +sector.coastline.description = ì´ ìž¥ì†Œì—서 í•´ìƒ ìœ ë‹› ê¸°ìˆ ì˜ ìž”ìž¬ê°€ 발견ë˜ì—ˆìŠµë‹ˆë‹¤. ì ì˜ ê³µê²©ì„ ê²©í‡´í•˜ê³ , ì´ ì§€ì—­ì„ ì ë ¹í•˜ê³ , ê¸°ìˆ ì„ ìŠµë“하십시오. +sector.navalFortress.description = ì ì€ ìžì—°ì ìœ¼ë¡œ ìš”ìƒˆí™”ëœ ì™¸ë”´ ì„¬ì— ê¸°ì§€ë¥¼ 세웠습니다. ì´ ì „ì´ˆê¸°ì§€ë¥¼ 파괴하여 ì ì˜ ë°œì „ëœ í•¨ì„  ê±´ì¡° ê¸°ìˆ ì„ ìŠµë“하고 연구하십시오. +sector.cruxscape.name = í¬ëŸ­ìŠ¤ì¼€ì´í”„ +sector.geothermalStronghold.name = 지열 근거지 + +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = 시작 +sector.aegis.name = 보호 +sector.lake.name = 호수 +sector.intersect.name = êµì°¨ì§€ +sector.atlas.name = ì•„í‹€ë¼ìФ +sector.split.name = ë¶„ì—´ +sector.basin.name = 유역 +sector.marsh.name = 습지 +sector.peaks.name = 산봉우리 +sector.ravine.name = 협곡 +sector.caldera-erekir.name = ì¹¼ë°ë¼ +sector.stronghold.name = ê±°ì  +sector.crevice.name = 틈새 +sector.siege.name = í¬ìœ„ +sector.crossroads.name = êµì°¨ë¡œ +sector.karst.name = 카르스트 +sector.origin.name = ê·¼ì› + +sector.onset.description = ì—르키아 ì •ë³µì„ ì‹œìž‘í•˜ì„¸ìš”. ìžì›ì„ 모으고, ìœ ë‹›ì„ ìƒì‚°í•˜ê³ , 기술 연구를 시작하세요. +sector.aegis.description = ì´ êµ¬ì—­ì—는 í……ìŠ¤í… ë§¤ìž¥ì§€ê°€ 있습니다.\n[accent]충격 드릴[]ì„ ì—°êµ¬í•´ ì´ ìžì›ì„ 채굴하고 해당 ì§€ì—­ì˜ ì  ê¸°ì§€ë¥¼ 파괴하세요. +sector.lake.description = ì´ ì§€ì—­ì˜ ê´‘ìž¬ 호수는 ìœ ë‹›ì˜ í™œë™ ë²”ìœ„ë¥¼ í¬ê²Œ 제한시킵니다. í˜¸ë²„ë§ ìœ ë‹›ë§Œì´ ìœ ì¼í•œ ì„ íƒì§€ìž…니다.\n[accent]함선 재구성기[]를 연구하고 [accent]ì¼ë£¨ë“œ[]를 가능한 한 빨리 ìƒì‚°í•˜ì—¬ì•¼ 합니다. +sector.intersect.description = ì •ì°° ê²°ê³¼ ì´ ì§€ì—­ì€ ì°©ë¥™ ì§í›„ 여러 ë°©í–¥ì—서 ê³µê²©ë°›ì„ ê²ƒìœ¼ë¡œ 예측ë©ë‹ˆë‹¤.\në°©ì–´ì„ ì„ ë¹ ë¥´ê²Œ 구축하고 가능한 한 빠르게 확장하여야 합니다.\nì´ ì§€ì—­ì˜ í—˜ë‚œí•œ ì§€í˜•ì„ ìœ„í•´ì„œëŠ” [accent]기계[] ìœ ë‹›ì´ í•„ìš”í•  것입니다. +sector.atlas.description = ì´ ì§€ì—­ì€ ê°ê¸° 다른 ì§€í˜•ì„ í¬í•¨í•˜ê³  있으며, 효과ì ìœ¼ë¡œ 공격하기 위해서는 다양한 기체가 필요합니다.\nì´ê³³ì—서 ë°œê²¬ëœ ë” ê°•ë ¥í•œ ì ì˜ 기지를 통과하기 위해서는 ìƒìœ„ ë“±ê¸‰ì˜ ìœ ë‹›ì´ í•„ìš”í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤.\n[accent]ì „í•´ì¡°[]와 [accent]ì „ì°¨ 재조립기[]를 연구하세요. +sector.split.description = ì´ ì§€ì—­ì— ìµœì†Œí•œìœ¼ë¡œ 존재하는 ì  ì£¼ë‘”êµ°ì€ ìƒˆë¡œìš´ 운송 ê¸°ìˆ ì„ ì‹œí—˜í•˜ê¸°ì— ì™„ë²½í•©ë‹ˆë‹¤. +sector.basin.description = ì´ ì§€ì—­ì—는 ë§Žì€ ìˆ˜ì˜ ì ì´ 확ì¸ë˜ì—ˆìŠµë‹ˆë‹¤. ë°œíŒì„ 마련하기 위해 ì‹ ì†ížˆ ìœ ë‹›ì„ ìƒì‚°í•˜ì—¬ ì ì˜ 기지를 무력화 해야 합니다. +sector.marsh.description = ì´ ì§€ì—­ì€ ì•„ë¥´í‚¤ì‚¬ì´íŠ¸ê°€ í’부하지만 ë¶„ì¶œêµ¬ì˜ ìˆ˜ëŠ” 한정ì ìž…니다.\n[accent]í™”í•™ì  ì—°ì†Œì‹¤[]ì„ ê±´ì„¤í•˜ì—¬ ì „ë ¥ì„ ìƒì‚°í•˜ì„¸ìš”. +sector.peaks.description = ì´ ì§€ì—­ì˜ ì‚°ì•… ì§€í˜•ì€ ëŒ€ë¶€ë¶„ì˜ ìœ ë‹›ì„ ë¬´ìš©ì§€ë¬¼ë¡œ 만들었습니다. 비행 가능한 ìœ ë‹›ì´ í•„ìš”í•©ë‹ˆë‹¤.\nì ì˜ ë°©ê³µë§ì— 유ì˜í•˜ì‹­ì‹œì˜¤. ì¼ë¶€ ì‹œì„¤ì€ ì§€ì› ê±´ë¬¼ì„ ê³µê²©í•˜ì—¬ 무력화시킬 수 있습니다. +sector.ravine.description = ì ì˜ 중요한 ì´ë™ 경로ì´ê¸´ 하지만, 해당 구역ì—ì„  ì ì˜ 기지가 ê°ì§€ë˜ì§€ 않았습니다. 다양한 ì êµ°ì„ 맞닥뜨릴 것으로 예ìƒë©ë‹ˆë‹¤.\n[accent]설금[]ì„ ìƒì‚°í•˜ì—¬ í¬íƒ‘ [accent]어플릭트[]를 건설하세요. +sector.caldera-erekir.description = ì´ ì§€ì—­ì—서 íƒì§€ëœ ìžì›ì€ 여러 ì„¬ì— ë¶„ì‚°ë˜ì–´ 있습니다 .\në“œë¡ ì„ ê¸°ë°˜ìœ¼ë¡œ 한 ìš´ì†¡ìˆ˜ë‹¨ì„ ì—°êµ¬í•˜ê³  활용하세요. +sector.stronghold.description = ì´ ì§€ì—­ì˜ ëŒ€ê·œëª¨ ì  ì•¼ì˜ì§€ì—는 ì ë“¤ì´ 지키고 있는 ìƒë‹¹í•œ ì–‘ì˜ [accent]토륨[] 매장지가 있습니다.\në” ë†’ì€ ë“±ê¸‰ì˜ ìœ ë‹›ê³¼ í¬íƒ‘ì„ ì—°êµ¬í•  때 사용합니다. +sector.crevice.description = ì ë“¤ì€ ì´ ì§€ì—­ì—서 ë‹¹ì‹ ì˜ ê¸°ì§€ë¥¼ 제거하기 위해 맹렬한 공격부대를 보낼 것입니다.\n[accent]탄화물[]ê³¼ [accent]ì—´ë¶„í•´ 발전기[]를 연구하는 ê²ƒì€ ì‚´ì•„ë‚¨ê¸° 위해 반드시 필요합니다. +sector.siege.description = ì´ ì§€ì—­ì€ ë‘ ê°ˆëž˜ì˜ ê³µê²©ì„ ê°•ìš”í•˜ëŠ” ë‘ ê°œì˜ í‰í–‰ í˜‘ê³¡ì´ íŠ¹ì§•ìž…ë‹ˆë‹¤.\në” ê°•ë ¥í•œ ì „ì°¨ ìœ ë‹›ì„ ë§Œë“¤ê¸° 위한 ëŠ¥ë ¥ì„ ì–»ê¸° 위해 [accent]시아노ê²[]ì„ ì—°êµ¬í•˜ì‹œì˜¤.\n주ì˜: ì ì˜ 장거리 발사체가 ê°ì§€ë˜ì—ˆìŠµë‹ˆë‹¤. 미사ì¼ì€ ì¶©ëŒ ì „ì— ê²©ì¶”ë  ìˆ˜ 있습니다. +sector.crossroads.description = ì´ ì§€ì—­ì˜ ì  ê¸°ì§€ëŠ” 다양한 ì§€í˜•ì— ìœ„ì°¨í•˜ê³  있는 ê²ƒì´ í™•ì¸ ë˜ì—ˆìœ¼ë©° ì´ë¡œ ì¸í•´ 다양한 ìœ ë‹›ì´ í•„ìš”í•©ë‹ˆë‹¤. \në˜í•œ, ì¼ë¶€ 기지는 보호막으로 보호ë˜ê³  있습니다. ê·¸ë“¤ì´ ì–´ë–»ê²Œ ì „ë ¥ì„ ê³µê¸‰ë°›ëŠ”ì§€ 알아보아야 합니다. +sector.karst.description = ì´ ì§€ì—­ì€ ìžì›ì´ í’부하지만, 새로운 코어가 착륙하면 ì ì—게 ê³µê²©ì„ ë°›ì„ ê²ƒìž…ë‹ˆë‹¤.\nìžì›ì˜ ì´ì ì„ 활용하고 [accent]ìœ„ìƒ ì„¬ìœ []를 연구하세요. +sector.origin.description = ìƒë‹¹í•œ ì ì´ 존재하는 마지막 지역입니다.\n 모든 연구를 마쳤으니 ì˜¤ì§ ëª¨ë“  ì ì˜ 코어를 파괴하는 ë°ë§Œ 집중하세요. + +status.burning.name = 발화 +status.freezing.name = 빙결 +status.wet.name = ì –ìŒ +status.muddy.name = ì§ˆì²™í•´ì§ +status.melting.name = 융해 +status.sapped.name = 피로 +status.electrified.name = 과전류 +status.spore-slowed.name = í¬ìžê°ì† +status.tarred.name = ì¹¨ìœ ë¨ +status.overdrive.name = 과부하 +status.overclock.name = ê°€ì†í™” +status.shocked.name = ê°ì „ +status.blasted.name = íŒŒì† +status.unmoving.name = 멈춤 +status.boss.name = ìˆ˜í˜¸ìž settings.language = 언어 settings.data = 게임 ë°ì´í„° -settings.reset = 설정 초기화 -settings.rebind = 조작키 설정 -settings.resetKey = 조작키 설정 초기화 +settings.reset = 기본값으로 초기화 +settings.rebind = 설정 +settings.resetKey = 초기화 settings.controls = ì¡°ìž‘ settings.game = 게임 settings.sound = 소리 settings.graphics = 그래픽 settings.cleardata = 게임 ë°ì´í„° 초기화 settings.clear.confirm = ì •ë§ë¡œ ì´ ë°ì´í„°ë¥¼ 지우시겠습니까?\në˜ëŒë¦´ 수 없습니다! -settings.clearall.confirm = [scarlet]경고![]\nì´ ìž‘ì—…ì€ ì €ìž¥ëœ ë§µ, 맵파ì¼, 잠금 í•´ì œëœ ëª©ë¡ê³¼ 조작키 설정, 그리고 모든 ë°ì´í„°ë¥¼ 삭제합니다.\ní™•ì¸ ë²„íŠ¼ì„ ë‹¤ì‹œ 눌러 모든 ë°ì´í„°ë¥¼ 삭제하고 게임ì—서 나갑니다. +settings.clearall.confirm = [scarlet]경고![]\nì´ ìž‘ì—…ì€ ì €ìž¥ 파ì¼, ë§µ, í•´ê¸ˆëœ ì½˜í…츠와 조작키 ì„¤ì •ì„ í¬í•¨í•œ 모든 ë°ì´í„°ë¥¼ 삭제합니다.\ní™•ì¸ ë²„íŠ¼ì„ ë‹¤ì‹œ 눌러 모든 ë°ì´í„°ë¥¼ 삭제하고 게임ì—서 나갑니다.[] settings.clearsaves.confirm = ì •ë§ë¡œ 모든 ì €ìž¥ëœ íŒŒì¼ë“¤ì„ 삭제하시겠습니까? settings.clearsaves = 저장 초기화 settings.clearresearch = 연구 초기화 settings.clearresearch.confirm = ì •ë§ë¡œ 모든 연구를 삭제하시겠습니까? settings.clearcampaignsaves = ìº íŽ˜ì¸ ë§µ 초기화 settings.clearcampaignsaves.confirm = ì •ë§ë¡œ 캠페ì¸ì„ 초기화하시겠습니까? -paused = [accent]< ì¼ì‹œì •ì§€ > +paused = [accent]< ì¼ì‹œì •ì§€ >[] clear = 초기화 -banned = [scarlet]ì°¨ë‹¨ë¨ +banned = [scarlet]ê¸ˆì§€ë¨ +unsupported.environment = [scarlet]ì§€ì›ë˜ì§€ 않는 환경[] yes = O no = X info.title = ì •ë³´ -error.title = [scarlet]오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. -error.crashtitle = 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. -unit.nobuild = [scarlet]건설 불가 -lastaccessed = [lightgray]마지막 ì¡°ìž‘: {0} -block.unknown = [lightgray]??? +error.title = [scarlet]오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤[] +error.crashtitle = 오류가 ë°œìƒí–ˆìŠµë‹ˆë‹¤ +unit.nobuild = [scarlet]건설 불가[] +lastaccessed = [lightgray]마지막 ì ‘ê·¼: {0}[] +lastcommanded = [lightgray]마지막 명령어: {0} +block.unknown = [lightgray]???[] +stat.showinmap = <ë§µì„ ë¨¼ì € 불러와야 합니다> stat.description = 특성 stat.input = ìž…ë ¥ stat.output = 출력 +stat.maxefficiency = 최대 효율 stat.booster = ê°€ì† stat.tiles = 필요한 íƒ€ì¼ -stat.affinities = 친화력 -stat.powercapacity = 전력량 -stat.powershot = 전력량/ë°œ -stat.damage = 공격력 -stat.targetsair = 공중 공격 -stat.targetsground = ì§€ìƒ ê³µê²© +stat.affinities = 작용 가능 +stat.opposites = ìƒì„± +stat.powercapacity = ì „ë ¥ 용량 +stat.powershot = ì „ë ¥/ë°œ +stat.damage = 피해량 +stat.targetsair = 공중 조준 +stat.targetsground = ì§€ìƒ ì¡°ì¤€ stat.itemsmoved = ì´ë™ ì†ë„ -stat.launchtime = 발사 간격 +stat.launchtime = 출격 간격 stat.shootrange = 사거리 stat.size = í¬ê¸° stat.displaysize = 화면 í¬ê¸° -stat.liquidcapacity = ì•¡ì²´ 수용량 +stat.liquidcapacity = ì•¡ì²´ 용량 stat.powerrange = ì „ì„  ê¸¸ì´ -stat.linkrange = ê°ì§€ ê¸¸ì´ +stat.linkrange = ì—°ê²° ê¸¸ì´ stat.instructions = ì—°ì‚° ì†ë„ -stat.powerconnections = 최대 ì—°ê²° 개수 +stat.powerconnections = 최대 ì—°ê²° stat.poweruse = ì „ë ¥ 요구량 -stat.powerdamage = 전력량/피해량 -stat.itemcapacity = ìžì› 수용량 -stat.memorycapacity = 최대 변수 개수 -stat.basepowergeneration = 기본 발전량 +stat.powerdamage = ì „ë ¥/피해량 +stat.itemcapacity = ìžì› 용량 +stat.memorycapacity = 변수 용량 +stat.basepowergeneration = 기본 ì „ë ¥ 발전량 stat.productiontime = 소요 시간 -stat.repairtime = 건물 완전 복구 시간 +stat.repairtime = 건물 완전 수리 시간 +stat.repairspeed = 수리 ì†ë„ stat.weapons = 무기 stat.bullet = 탄환 +stat.moduletier = 모듈 등급 +stat.unittype = 유닛 유형 stat.speedincrease = ì†ë„ ì¦ê°€ stat.range = 사거리 -stat.drilltier = 채굴 가능 ìžì› +stat.drilltier = 채굴 가능 stat.drillspeed = 기본 채굴 ì†ë„ stat.boosteffect = 버프 효과 stat.maxunits = 최대 유닛 수 stat.health = ì²´ë ¥ +stat.armor = ë°©ì–´ë ¥ stat.buildtime = 건설 시간 -stat.maxconsecutive = 최대 ì²´ì¸ ê¸¸ì´ +stat.maxconsecutive = 최대 ì²´ì¸ stat.buildcost = 건설 비용 stat.inaccuracy = ì˜¤ì°¨ê° -stat.shots = 발사 당 탄 -stat.reload = ë°œ/ì´ˆ +stat.shots = 발사 수 +stat.reload = 발사 주기 stat.ammo = 탄약 -stat.shieldhealth = 보호막 ì²´ë ¥ +stat.shieldhealth = 보호막 ë‚´êµ¬ë„ stat.cooldowntime = 쿨타임 stat.explosiveness = í­ë°œì„± stat.basedeflectchance = 기본 반사 확률 -stat.lightningchance = 전격 확률 -stat.lightningdamage = 전격 공격량 -stat.flammability = 휘발성 +stat.lightningchance = 전격 ìƒì„± 확률 +stat.lightningdamage = 전격 피해량 +stat.flammability = ì¸í™”성 stat.radioactivity = 방사성 -stat.heatcapacity = 열용량 +stat.charge = 과충전율 +stat.heatcapacity = 비열 stat.viscosity = ì ì„± stat.temperature = ì˜¨ë„ stat.speed = ì†ë„ stat.buildspeed = 건설 ì†ë„ stat.minespeed = 채굴 ì†ë„ -stat.minetier = 채굴 í‹°ì–´ -stat.payloadcapacity = 화물 수용량 -stat.commandlimit = 지휘 한계 +stat.minetier = 채굴 등급 +stat.payloadcapacity = 화물 용량 stat.abilities = 능력 -stat.canboost = 부스터 +stat.canboost = ì´ë¥™ 가능 stat.flying = 비행 stat.ammouse = 탄약 사용 +stat.ammocapacity = 탄약 용량 +stat.damagemultiplier = 피해량 배수 +stat.healthmultiplier = ì²´ë ¥ 배수 +stat.speedmultiplier = ì´ë™ì†ë„ 배수 +stat.reloadmultiplier = 재장전 배수 +stat.buildspeedmultiplier = 건설ì†ë„ 배수 +stat.reactive = 작용 ë°›ìŒ +stat.immunities = ìƒíƒœì´ìƒ ë©´ì—­ +stat.healing = 회복량 +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = 보호막 필드 +ability.forcefield.description = íƒ„ì•½ì„ í¡ìˆ˜í•˜ëŠ” ë³´í˜¸ë§‰ì„ ë§Œë“¤ì–´ëƒ„ ability.repairfield = 수리 필드 +ability.repairfield.description = 근처 ìœ ë‹›ì„ ìˆ˜ë¦¬í•¨ ability.statusfield = ìƒíƒœì´ìƒ 필드 -ability.unitspawn = {0} 공장 +ability.statusfield.description = 근처 ìœ ë‹›ì— ìƒíƒœ 효과를 제공함 +ability.unitspawn = 공장 +ability.unitspawn.description = ìœ ë‹›ì„ ìƒì‚°í•¨ ability.shieldregenfield = 방어막 복구 필드 +ability.shieldregenfield.description = 근처 ìœ ë‹›ì˜ ë°©ì–´ë§‰ì„ ìž¬ìƒì„±í•¨ ability.movelightning = ê°€ì† ì „ê²© +ability.movelightning.description = ì´ë™í•˜ë©´ì„œ 번개를 방출함 +ability.armorplate = ìž¥ê°‘íŒ +ability.armorplate.description = 사격 시 받는 피해가 ê°ì†Œë¨ +ability.shieldarc = 호 보호막 +ability.shieldarc.description = íƒ„ì•½ì„ í¡ìˆ˜í•˜ëŠ” 호 í˜•íƒœì˜ ë³´í˜¸ë§‰ì„ ë§Œë“¤ì–´ëƒ„ +ability.suppressionfield = 재ìƒì„± 억제 필드 +ability.suppressionfield.description = 근처 수리 ê±´ë¬¼ì„ ìž ê¹ë™ì•ˆ 억제함 +ability.energyfield = ì—너지 필드 +ability.energyfield.description = 근처 ì ì„ ê°ì „시킴 +ability.energyfield.healdescription = 근처 ì ì—게 전기 ì¶©ê²©ì„ ì£¼ê³  ì•„êµ°ì„ ì¹˜ë£Œí•¨ +ability.regen = ìž¬ìƒ +ability.regen.description = ì‹œê°„ì´ ì§€ë‚¨ì— ë”°ë¼ ìŠ¤ìŠ¤ë¡œ ì²´ë ¥ì„ ìž¬ìƒí•¨ +ability.liquidregen = ì•¡ì²´ í¡ìˆ˜ +ability.liquidregen.description = 액체를 í¡ìˆ˜í•˜ì—¬ 스스로를 치유함 +ability.spawndeath = ìŠ¤í° ì£½ìŒ +ability.spawndeath.description = ì‚¬ë§ ì‹œ ìœ ë‹›ì„ ë°©ì¶œí•¨ +ability.liquidexplode = 유출 ì£½ìŒ +ability.liquidexplode.description = ì‚¬ë§ ì‹œ 액체를 ìŸìŒ -bar.drilltierreq = ë” ì¢‹ì€ ë“œë¦´ì´ í•„ìš” +ability.stat.firingrate = [stat]{0}/ì´ˆ[lightgray] 발사 ì†ë„ +ability.stat.regen = [stat]{0}[lightgray] ì²´ë ¥/ì´ˆ +ability.stat.pulseregen = [stat]{0}[lightgray] ì²´ë ¥/íŒŒë™ +ability.stat.shield = [stat]{0}[lightgray] 실드 +ability.stat.repairspeed = [stat]{0}/ì´ˆ[lightgray] 수리 ì†ë„ +ability.stat.slurpheal = [stat]{0}[lightgray] ì²´ë ¥/ì•¡ì²´ 단위 +ability.stat.cooldown = [stat]{0} ì´ˆ[lightgray] 쿨타임 +ability.stat.maxtargets = [stat]{0}[lightgray] 최대 목표 +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] ë™ì¼ 유형 회복량 +ability.stat.damagereduction = [stat]{0}%[lightgray] 피해 ê°ì†Œ +ability.stat.minspeed = [stat]{0} tiles/ì´ˆ[lightgray] 최소 ì†ë„ +ability.stat.duration = [stat]{0} ì´ˆ[lightgray] ì§€ì† ì‹œê°„ +ability.stat.buildtime = [stat]{0} ì´ˆ[lightgray] 건설 시간 + +bar.onlycoredeposit = 코어ì—ë§Œ 투입할 수 있습니다 +bar.drilltierreq = ë” ì¢‹ì€ ë“œë¦´ í•„ìš” +bar.nobatterypower = Insufficieny Battery Power bar.noresources = ìžì› 부족 -bar.corereq = 코어 í•„ìš” +bar.corereq = 기본 코어 í•„ìš” +bar.corefloor = 코어 구역 íƒ€ì¼ í•„ìš” +bar.cargounitcap = 화물 용량 최대치 ë„달 bar.drillspeed = 드릴 ì†ë„: {0}/s bar.pumpspeed = 펌프 ì†ë„: {0}/s bar.efficiency = 효율: {0}% +bar.boost = ê°€ì†: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = ì „ë ¥: {0}/s bar.powerstored = 저장량: {0}/{1} bar.poweramount = ì „ë ¥: {0} @@ -730,69 +1116,92 @@ bar.capacity = 용량: {0} bar.unitcap = {0} {1}/{2} bar.liquid = ì•¡ì²´ bar.heat = 발열 +bar.cooldown = Cooldown +bar.instability = 불안정 +bar.heatamount = ì—´: {0} +bar.heatpercent = ì—´: {0} ({1}%) bar.power = ì „ë ¥ -bar.progress = ìƒì‚° ì§„í–‰ë„ +bar.progress = 건설 ì§„í–‰ë„ +bar.loadprogress = ì§„í–‰ë„ +bar.launchcooldown = 발사 대기시간 bar.input = ìž…ë ¥ bar.output = 출력 +bar.strength = [stat]{0}[lightgray]x 치료 ì†ë„[][] -units.processorcontrol = [lightgray]프로세서 제어 중 +units.processorcontrol = [lightgray]프로세서 제어ë¨[] -bullet.damage = [stat]{0}[lightgray] ë°ë¯¸ì§€ -bullet.splashdamage = [stat]{0}[lightgray] 범위 ë°ë¯¸ì§€ ~ [stat] {1}[lightgray] íƒ€ì¼ -bullet.incendiary = [stat]ë°©í™” -bullet.sapping = [stat]í¡í˜ˆ -bullet.homing = [stat]ìœ ë„ -bullet.shock = [stat]전격 -bullet.frag = [stat]파편 -bullet.buildingdamage = [stat]{0}%[lightgray] 건물 피해량 -bullet.knockback = [stat]{0}[lightgray] 넉백 -bullet.pierce = [stat]{0}[lightgray]ë°° 관통 -bullet.infinitepierce = [stat]관통 -bullet.healpercent = [stat]{0}[lightgray]% 회복 -bullet.freezing = [stat]빙결 -bullet.tarred = [stat]타르 -bullet.multiplier = [stat]{0}[lightgray]ë°° 탄약 배수 -bullet.reload = [stat]{0}[lightgray]ë°° 발사 ì†ë„ +bullet.damage = [stat]{0}[lightgray] 피해량[][] +bullet.splashdamage = [stat]{0}[lightgray] 범위 피해량 ~ [stat]{1}[lightgray] 타ì¼[][][][] +bullet.incendiary = [stat]ë°©í™”[] +bullet.homing = [stat]유ë„[] +bullet.armorpierce = [stat]ë°©ì–´ 관통 +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] 수리 억제 ~ [stat]{1}[lightgray] íƒ€ì¼ +bullet.interval = [stat]{0}/sec[lightgray] 간격 탄환: +bullet.frags = [stat]{0}[lightgray]ê°œ 파편 탄환:[][] +bullet.lightning = [stat]{0}[lightgray]x 전격 ~ [stat]{1}[lightgray] 피해량[][][][] +bullet.buildingdamage = [stat]{0}%[lightgray] 건물 피해량[][] +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] 넉백[][] +bullet.pierce = [stat]{0}[lightgray]번 관통[][] +bullet.infinitepierce = [stat]관통[] +bullet.healpercent = [stat]{0}%[lightgray] 회복[][] +bullet.healamount = [stat]{0}[lightgray] ì§ì ‘ 수리 +bullet.multiplier = [stat]{0}[lightgray]ë°° 탄약 배수[][] +bullet.reload = [stat]{0}%[lightgray] 발사 ì†ë„[][] +bullet.range = [stat]{0}[lightgray]ë¸”ë¡ ì¶”ê°€ 범위 +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = ë¸”ë¡ unit.blockssquared = 블ë¡Â² unit.powersecond = ì „ë ¥/ì´ˆ +unit.tilessecond = 타ì¼/ì´ˆ unit.liquidsecond = ì•¡ì²´/ì´ˆ -unit.itemssecond = ê°œ/ì´ˆ +unit.itemssecond = ìžì›/ì´ˆ unit.liquidunits = ì•¡ì²´ unit.powerunits = ì „ë ¥ +unit.heatunits = ì—´ 단위 unit.degrees = ë„ unit.seconds = ì´ˆ unit.minutes = ë¶„ unit.persecond = /ì´ˆ unit.perminute = /ë¶„ unit.timesspeed = x ë°° +unit.multiplier = x unit.percent = % unit.shieldhealth = 보호막 ì²´ë ¥ unit.items = ìžì› unit.thousands = k unit.millions = m unit.billions = b +unit.shots = shots unit.pershot = /ë°œ -category.purpose = 기능 / ëª©ì  +category.purpose = ëª©ì  category.general = ì¼ë°˜ category.power = ì „ë ¥ category.liquids = ì•¡ì²´ category.items = ìžì› category.crafting = ìž…ë ¥/출력 category.function = 기능 -category.optional = ë³´ì¡° ìžì› +category.optional = ì„ íƒì  í–¥ìƒ +setting.alwaysmusic.name = í•­ìƒ ìŒì•… ìž¬ìƒ +setting.alwaysmusic.description = ì´ ê¸°ëŠ¥ì„ í™œì„±í™”í•˜ë©´, 게임 ë‚´ì—서 ìŒì•…ì´ í•­ìƒ ë°˜ë³µ 재ìƒë©ë‹ˆë‹¤.\n비활성화하면, 무작위 간격으로만 재ìƒë©ë‹ˆë‹¤. +setting.skipcoreanimation.name = 코어 발사/착륙 애니메ì´ì…˜ 건너뛰기 setting.landscape.name = 가로화면 잠금 setting.shadows.name = ê·¸ë¦¼ìž setting.blockreplace.name = ìžë™ ë¸”ë¡ ì œì•ˆ setting.linear.name = 선형 í•„í„°ë§ -setting.hints.name = 힌트 -setting.flow.name = ìžì› í름량 표시 +setting.hints.name = 힌트 표시 +setting.logichints.name = ë¡œì§ ížŒíŠ¸ 표시 setting.backgroundpause.name = 백그ë¼ìš´ë“œì—서 ì¼ì‹œì •ì§€ setting.buildautopause.name = 건설 ìžë™ ì¼ì‹œì •ì§€ +setting.doubletapmine.name = ì—°ì† í„°ì¹˜ë¡œ 채광 +setting.commandmodehold.name = 키를 누른 ìƒíƒœë¡œ 명령 +setting.distinctcontrolgroups.name = 유닛당 í•˜ë‚˜ì˜ ì œì–´ 그룹으로 제한 +setting.modcrashdisable.name = 로딩 중 ì¶©ëŒ ì‹œ 모드 비활성화 setting.animatedwater.name = ì•¡ì²´ 애니메ì´ì…˜ 효과 setting.animatedshields.name = 보호막 애니메ì´ì…˜ 효과 -setting.antialias.name = 위신호 제거 í•„í„°[lightgray] (재시작 í•„ìš”)[] setting.playerindicators.name = 플레ì´ì–´ 위치 표시기 setting.indicators.name = ì  ìœ„ì¹˜ 표시기 setting.autotarget.name = ìžë™ 조준 @@ -801,49 +1210,56 @@ setting.touchscreen.name = 터치스í¬ë¦° ì¡°ìž‘ setting.fpscap.name = 최대 FPS setting.fpscap.none = ì—†ìŒ setting.fpscap.text = {0} FPS -setting.uiscale.name = UI 스케ì¼ë§[lightgray] (재시작 í•„ìš”)[] +setting.uiscale.name = UI 스케ì¼ë§ +setting.uiscale.description = ì ìš©í•˜ë ¤ë©´ ìž¬ì‹œìž‘ì´ í•„ìš”í•©ë‹ˆë‹¤. setting.swapdiagonal.name = í•­ìƒ ëŒ€ê°ì„  배치 -setting.difficulty.training = 훈련 -setting.difficulty.easy = 무난 -setting.difficulty.normal = 보통 -setting.difficulty.hard = í˜¼ëˆ -setting.difficulty.insane = 박멸 -setting.difficulty.name = 난ì´ë„: setting.screenshake.name = 화면 í”들림 -setting.effects.name = 효과 ë³´ìž„ +setting.bloomintensity.name = ê´‘ì› ì„¸ê¸° +setting.bloomblur.name = ê´‘ì› ë²ˆì§ +setting.effects.name = ìž…ìž íš¨ê³¼ 표시 setting.destroyedblocks.name = íŒŒê´´ëœ ë¸”ë¡ í‘œì‹œ setting.blockstatus.name = ë¸”ë¡ ìƒíƒœ 표시 -setting.conveyorpathfinding.name = 컨베ì´ì–´ë¥¼ 배치할 때 ìžë™ìœ¼ë¡œ 경로 찾기 +setting.conveyorpathfinding.name = 컨베ì´ì–´ 배치 길찾기 setting.sensitivity.name = 컨트롤러 ê°ë„ setting.saveinterval.name = 저장 간격 -setting.seconds = {0}ì´ˆ -setting.milliseconds = {0}ms +setting.seconds = {0} ì´ˆ +setting.milliseconds = {0} 밀리초 setting.fullscreen.name = ì „ì²´ 화면 -setting.borderlesswindow.name = í…Œë‘리 없는 ì°½ 모드[lightgray] (ìž¬ì‹œìž‘ì´ í•„ìš”í•  수 있습니다) +setting.borderlesswindow.name = í…Œë‘리 없는 ì°½ 모드 +setting.borderlesswindow.name.windows = í…Œë‘리 없는 전체화면 +setting.borderlesswindow.description = ì ìš©í•˜ë ¤ë©´ ìž¬ì‹œìž‘ì´ í•„ìš”í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. setting.fps.name = FPS와 í•‘ 표시 +setting.console.name = 콘솔 활성화 setting.smoothcamera.name = 부드러운 ì‹œì  setting.vsync.name = ìˆ˜ì§ ë™ê¸°í™” setting.pixelate.name = 픽셀화 setting.minimap.name = 미니맵 표시 setting.coreitems.name = ì½”ì–´ì— ìžˆëŠ” ìžì› 표시 setting.position.name = 플레ì´ì–´ 위치 표시 +setting.mouseposition.name = 마우스 좌표 표시 setting.musicvol.name = ìŒì•… í¬ê¸° setting.atmosphere.name = 행성 배경화면 표시 +setting.drawlight.name = ì–´ë‘움, ê´‘ì› í‘œì‹œ setting.ambientvol.name = ë°°ê²½ìŒ í¬ê¸° setting.mutemusic.name = ìŒì†Œê±° setting.sfxvol.name = íš¨ê³¼ìŒ í¬ê¸° setting.mutesound.name = 소리 ë„기 setting.crashreport.name = ìµëª…으로 오류 보고서 ìžë™ 전송 +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = ìžë™ 저장 활성화 -setting.publichost.name = ë©€í‹°í”Œë ˆì´ ê³µìš© 서버로 표시 +setting.steampublichost.name = 공개 게임 가시성 setting.playerlimit.name = 플레ì´ì–´ 제한 setting.chatopacity.name = 채팅창 íˆ¬ëª…ë„ setting.lasersopacity.name = ì „ì„  íˆ¬ëª…ë„ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = í„°ë„ íˆ¬ëª…ë„ setting.playerchat.name = 채팅 ë§í’ì„  표시 setting.showweather.name = 날씨 그래픽 표시 -public.confirm = ê²Œìž„ì„ ëª¨ë‘ì—게 공개하시겠습니까?\n[accent]모든 플레ì´ì–´ê°€ ê²Œìž„ì— ì°¸ì—¬í•  수 있습니다.\n[lightgray]설정->게임->ë©€í‹°í”Œë ˆì´ ê³µìš© 서버로 표시ì—서 ë‚˜ì¤‘ì— ë³€ê²½í•  수 있습니다.\n\n[sky]ë²ˆì—­ìž ì¶”ê°€[]\n[accent]친구ë¼ë¦¬ 하려고 ì´ ê¸°ëŠ¥ì„ í™œì„±í™” 한 ë’¤ì—, 친구 ì™¸ì— ë‹¤ë¥¸ 플레ì´ì–´ê°€ ë“¤ì–´ì™”ì„ ë•Œ\n해당 플레ì´ì–´ë¥¼ 차단하는 행위는 비매너를 넘어서는 얌체 행위 ê·¸ ìžì²´ìž…니다.\nì •ë§ë¡œ [scarlet]ë§Žì€ ë‹¤ë¥¸ 플레ì´ì–´ë“¤ì´ 오길 ì›í•œë‹¤[]ë©´ 확ì¸í•˜ì„¸ìš”. -public.confirm.really = [red]친구하고 í”Œë ˆì´ í•˜ê³  싶으면 [scarlet]공용 서버[] ëŒ€ì‹ ì— [green]친구 초대[] 를 사용하세요. ì •ë§ë¡œ [scarlet]공용 서버[] 를 열겠습니까?[] +setting.hidedisplays.name = ë¡œì§ ë””ìŠ¤í”Œë ˆì´ ìˆ¨ê¹€ +setting.macnotch.name = 노치를 표시하ë„ë¡ ì¸í„°íŽ˜ì´ìФ ì¡°ì • +setting.macnotch.description = ì ìš©í•˜ë ¤ë©´ ìž¬ì‹œìž‘ì´ í•„ìš”í•©ë‹ˆë‹¤. +steam.friendsonly = 친구 ì „ìš© +steam.friendsonly.tooltip = ê²Œìž„ì— ìŠ¤íŒ€ 친구만 ì ‘ì†í•  수 ìžˆëŠ”ê°€ì— ëŒ€í•œ 여부입니다.ì²´í¬ë¥¼ 해제하면, 누구나 ì ‘ì†í•  수 있습니다. public.beta = 베타 ë²„ì „ì˜ ê²Œìž„ì€ ê³µê°œ 서버를 만들 수 없습니다. uiscale.reset = UI 스케ì¼ì´ 변경ë˜ì—ˆìŠµë‹ˆë‹¤.\n"확ì¸"ë²„íŠ¼ì„ ëˆŒëŸ¬ 저장하세요.\n[accent] {0}[][scarlet]ì´ˆ í›„ì— ì˜ˆì „ 설정으로 ë˜ëŒë¦¬ê³  ê²Œìž„ì„ ì¢…ë£Œí•©ë‹ˆë‹¤... uiscale.cancel = 취소 후 나가기 @@ -852,12 +1268,9 @@ keybind.title = 조작키 설정 keybinds.mobile = [scarlet]ëŒ€ë¶€ë¶„ì˜ ì¡°ìž‘í‚¤ ì„¤ì •ì€ ëª¨ë°”ì¼ì—서 ìž‘ë™í•˜ì§€ 않습니다. 기본 ì´ë™ë§Œ ì§€ì›ë©ë‹ˆë‹¤. category.general.name = ì¼ë°˜ category.view.name = 보기 +category.command.name = 유닛 지휘 category.multiplayer.name = 멀티플레ì´ì–´ category.blocks.name = ë¸”ë¡ ì„ íƒ -command.attack = 공격 -command.rally = 순찰 -command.retreat = 후퇴 -command.idle = 대기 placement.blockselectkeys = \n[lightgray]단축키: [{0}, keybind.respawn.name = ë¦¬ìŠ¤í° keybind.control.name = 유닛 제어 @@ -866,18 +1279,42 @@ keybind.press = 키를 누르세요... keybind.press.axis = 마우스 휠 ë˜ëŠ” 키를 누르세요... keybind.screenshot.name = ë§µ 스í¬ë¦° 캡처 keybind.toggle_power_lines.name = ì „ì„  ê°€ì‹œë„ ì„¤ì • -keybind.toggle_block_status.name = ë¸”ë¡ ìƒíƒœ ê°€ì‹œë„ +keybind.toggle_block_status.name = ë¸”ë¡ ìƒíƒœ ê°€ì‹œë„ keybind.move_x.name = Xì¶• ì´ë™ keybind.move_y.name = Yì¶• ì´ë™ keybind.mouse_move.name = 커서를 ë”°ë¼ì„œ ì´ë™ -keybind.pan.name = 펜 보기 -keybind.boost.name = 부스트 +keybind.pan.name = 팬 보기 +keybind.boost.name = ì´ë¥™ +keybind.command_mode.name = 명령 모드 +keybind.command_queue.name = 유닛 명령 대기 +keybind.create_control_group.name = 컨트롤 그룹 만들기 +keybind.cancel_orders.name = 명령 취소 + +keybind.unit_stance_shoot.name = 유닛 명령: 사격 +keybind.unit_stance_hold_fire.name = 유닛 명령: 사격 중지 +keybind.unit_stance_pursue_target.name = 유닛 명령: 타겟 추격 +keybind.unit_stance_patrol.name = 유닛 명령: ì •ì°° +keybind.unit_stance_ram.name = 유닛 명령: ëŒê²© + +keybind.unit_command_move.name = 유닛 제어: ì´ë™ +keybind.unit_command_repair.name = 유닛 제어: 수리 +keybind.unit_command_rebuild.name = 유닛 제어: 재건 +keybind.unit_command_assist.name = 유닛 제어: 플레ì´ì–´ ì§€ì› +keybind.unit_command_mine.name = 유닛 제어: 채굴 +keybind.unit_command_boost.name = 유닛 제어: 비행 +keybind.unit_command_load_units.name = 유닛 제어: 유닛 ì ìž¬ +keybind.unit_command_load_blocks.name = 유닛 제어: ë¸”ë¡ ì ìž¬ +keybind.unit_command_unload_payload.name = 유닛 제어: 화물 투하 +keybind.unit_command_enter_payload.name = 유닛 제어: 화물 ê±´ë¬¼ì— ì°©ë¥™/ì§„ìž… +keybind.unit_command_loop_payload.name = 유닛 제어: 유닛 반복 ìš´ë°˜ + +keybind.rebuild_select.name = 지역 재건 keybind.schematic_select.name = ì˜ì—­ 설정 keybind.schematic_menu.name = ì„¤ê³„ë„ ë©”ë‰´ keybind.schematic_flip_x.name = ì„¤ê³„ë„ Xì¶• 뒤집기 keybind.schematic_flip_y.name = ì„¤ê³„ë„ Yì¶• 뒤집기 -keybind.category_prev.name = ì´ì „ ëª©ë¡ -keybind.category_next.name = ë‹¤ìŒ ëª©ë¡ +keybind.category_prev.name = ì´ì „ 카테고리 +keybind.category_next.name = ë‹¤ìŒ ì¹´í…Œê³ ë¦¬ keybind.block_select_left.name = ë¸”ë¡ ì™¼ìª½ ì„ íƒ keybind.block_select_right.name = ë¸”ë¡ ì˜¤ë¥¸ìª½ ì„ íƒ keybind.block_select_up.name = ë¸”ë¡ ìœ„ìª½ ì„ íƒ @@ -892,23 +1329,25 @@ keybind.block_select_07.name = 카테고리/ë¸”ë¡ ì„ íƒ 7 keybind.block_select_08.name = 카테고리/ë¸”ë¡ ì„ íƒ 8 keybind.block_select_09.name = 카테고리/ë¸”ë¡ ì„ íƒ 9 keybind.block_select_10.name = 카테고리/ë¸”ë¡ ì„ íƒ 10 -keybind.fullscreen.name = ì „ì²´ 화면 +keybind.fullscreen.name = ì „ì²´ 화면 전환 keybind.select.name = ì„ íƒ/공격 keybind.diagonal_placement.name = 대ê°ì„  설치 keybind.pick.name = ë¸”ë¡ ì„ íƒ keybind.break_block.name = ë¸”ë¡ íŒŒê´´ +keybind.select_all_units.name = ì „ì²´ 유닛 ì„ íƒ +keybind.select_all_unit_factories.name = ì „ì²´ 유닛 공장 ì„ íƒ keybind.deselect.name = ì„ íƒí•´ì œ keybind.pickupCargo.name = 화물 집기 keybind.dropCargo.name = 화물 내려놓기 -keybind.command.name = 명령 -keybind.shoot.name = 사격 -keybind.zoom.name = 확대 +keybind.shoot.name = 발사 +keybind.zoom.name = 확대/축소 keybind.menu.name = 메뉴 keybind.pause.name = ì¼ì‹œì¤‘ì§€ keybind.pause_building.name = 건설 ì¼ì‹œì •ì§€/재개 keybind.minimap.name = 미니맵 keybind.planet_map.name = 행성 ì§€ë„ keybind.research.name = 연구 +keybind.block_info.name = ë¸”ë¡ ì •ë³´ keybind.chat.name = 채팅 keybind.player_list.name = 플레ì´ì–´ ëª©ë¡ keybind.console.name = 콘솔 @@ -918,64 +1357,117 @@ keybind.toggle_menus.name = 메뉴 ë³´ì´ê¸°/숨기기 keybind.chat_history_prev.name = ì´ì „ 채팅 ê¸°ë¡ keybind.chat_history_next.name = ë‹¤ìŒ ì±„íŒ… ê¸°ë¡ keybind.chat_scroll.name = 채팅 스í¬ë¡¤ -keybind.chat_mode = 대화 ëŒ€ìƒ ë³€ê²½ -keybind.drop_unit.name = 유닛 떨구기 +keybind.chat_mode.name = 채팅 모드 변경 +keybind.drop_unit.name = 유닛 내려놓기 keybind.zoom_minimap.name = 미니맵 확대 mode.help.title = 모드 설명 mode.survival.name = ìƒì¡´ -mode.survival.description = 기본 모드. ì œí•œëœ ìžì›ì´ 있으며, 단계가 ìžë™ìœ¼ë¡œ 시작합니다.\n[gray]플레ì´í•˜ë ¤ë©´ ë§µì— ì ì˜ 스í°ì§€ì ì´ 필요합니다. +mode.survival.description = 기본 모드. ì œí•œëœ ìžì›ì´ 있으며, 단계가 ìžë™ìœ¼ë¡œ 시작합니다.\n[gray]플레ì´í•˜ë ¤ë©´ ë§µì— ì  ìŠ¤í°ì§€ì ì´ 필요합니다. mode.sandbox.name = 샌드박스 mode.sandbox.description = 무한한 ìžì›ì´ 있으며, 단계 타ì´ë¨¸ê°€ 없습니다. mode.editor.name = 편집기 mode.pvp.name = PvP -mode.pvp.description = 다른 플레ì´ì–´ì™€ 현장ì—서 싸우십시오.\n[gray]플레ì´í•˜ë ¤ë©´ ë§µì— ë‹¤ë¥¸ 색ìƒì˜ 코어가 2ê°œ ì´ìƒ 있어야 합니다. +mode.pvp.description = 다른 플레ì´ì–´ì™€ 현장ì—서 싸우세요.\n[gray]플레ì´í•˜ë ¤ë©´ ë§µì— ë‹¤ë¥¸ 색ìƒì˜ 코어가 2ê°œ ì´ìƒ 있어야 합니다. mode.attack.name = 공격 -mode.attack.description = ì ì˜ 기지를 파괴하세요.\n[gray]플레ì´í•˜ë ¤ë©´ ë§µì— ë¹¨ê°„ìƒ‰ 코어가 필요합니다. +mode.attack.description = ì ì˜ 기지를 파괴하세요.\n[gray]플레ì´í•˜ë ¤ë©´ ë§µì— ì  ì½”ì–´ê°€ 필요합니다. mode.custom = ì‚¬ìš©ìž ì •ì˜ ê·œì¹™ +rules.invaliddata = ìž˜ëª»ëœ í´ë¦½ë³´ë“œ ë°ì´í„° 입니다. +rules.hidebannedblocks = ê¸ˆì§€ëœ ë¸”ë¡ ìˆ¨ê¸°ê¸° rules.infiniteresources = 무한 ìžì› +rules.onlydepositcore = ì˜¤ì§ ì½”ì–´ì—ë§Œ 투입 가능 +rules.derelictrepair = 잔해 ë¸”ë¡ ìˆ˜ë¦¬ 허용 rules.reactorexplosions = ì›ìžë¡œ í­ë°œ 허용 +rules.coreincinerates = 코어 ë°©í™” 비허용 +rules.disableworldprocessors = 월드 프로세서 비활성화 rules.schematic = ì„¤ê³„ë„ í—ˆìš© rules.wavetimer = 시간 ì œí•œì´ ìžˆëŠ” 단계 -rules.waves = ì¼ë°˜ 단계 +rules.wavesending = 단계 넘김 +rules.allowedit = 규칙 편집 허용 +rules.allowedit.info = ì´ ê¸°ëŠ¥ì„ í™œì„±í™”í•˜ë©´, 플레ì´ì–´ëŠ” ì¼ì‹œ ì •ì§€ ë©”ë‰´ì˜ ì™¼ìª½ í•˜ë‹¨ì— ìžˆëŠ” ë²„íŠ¼ì„ í†µí•´ 게임 ë‚´ì—서 ê·œì¹™ì„ íŽ¸ì§‘í•  수 있습니다. +rules.alloweditworldprocessors = 월드 프로세서 편집 허용 +rules.alloweditworldprocessors.info = ì´ ê¸°ëŠ¥ì„ í™œì„±í™”í•˜ë©´ 편집기 외부ì—ì„œë„ ì›”ë“œ ë¡œì§ ë¸”ë¡ì„ 배치하고 편집할 수 있습니다. +rules.waves = 단계 +rules.airUseSpawns = 공중 유닛 ìŠ¤í° ì§€ì  ì‚¬ìš© rules.attack = 공격 모드 -rules.buildai = AI 건설 -rules.enemyCheat = 무한 AI (빨간팀) ìžì› +rules.buildai = 기지 건설 AI +rules.buildaitier = 건설 AI 등급 +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS 공격 AI +rules.rtsai.campaign.info = 공격 ë§µì—서는 ìœ ë‹›ì„ ê·¸ë£¹í™”í•˜ì—¬ ë”ìš± 지능ì ì¸ ë°©ì‹ìœ¼ë¡œ 플레ì´ì–´ 기지를 공격합니다. +rules.rtsminsquadsize = 최소 부대 규모 +rules.rtsmaxsquadsize = 최대 부대 규모 +rules.rtsminattackweight = 최소 공격 중량 +rules.cleanupdeadteams = 패배한 팀 건물 정리하기 (PvP) +rules.corecapture = 코어 파괴 시 ì ë ¹ +rules.polygoncoreprotection = 다ê°í˜• 코어 건설 금지구역 +rules.placerangecheck = 배치 거리 í™•ì¸ +rules.enemyCheat = ì  AI 무한ìžì› rules.blockhealthmultiplier = ë¸”ë¡ ì²´ë ¥ 배수 -rules.blockdamagemultiplier = ë¸”ë¡ ê³µê²©ë ¥ 배수 -rules.unitbuildspeedmultiplier = 유닛 ìƒì‚° ì†ë„ 배수 +rules.blockdamagemultiplier = ë¸”ë¡ í”¼í•´ëŸ‰ 배수 +rules.unitbuildspeedmultiplier = 유닛 ìƒì‚°ì†ë„ 배수 +rules.unitcostmultiplier = 유닛 비용 배수 rules.unithealthmultiplier = 유닛 ì²´ë ¥ 배수 -rules.unitdamagemultiplier = 유닛 공격력 배수 -rules.enemycorebuildradius = ì  ì½”ì–´ 건설 금지구역 범위:[lightgray] (타ì¼) +rules.unitdamagemultiplier = 유닛 피해량 배수 +rules.unitcrashdamagemultiplier = 유닛 íŒŒì† í”¼í•´ëŸ‰ 배수 +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = 태양광 ì „ë ¥ 배수 +rules.unitcapvariable = 코어 유닛 수 제한 추가 +rules.unitpayloadsexplode = 들어올린 화물 유닛과 함께 í­ë°œ +rules.unitcap = 기본 유닛 제한 +rules.limitarea = ë§µ ì˜ì—­ 제한 +rules.enemycorebuildradius = ì  ì½”ì–´ 건설금지 범위:[lightgray] (타ì¼) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = 단계 간격:[lightgray] (ì´ˆ) -rules.buildcostmultiplier = 건설 ìžì›ì†Œëª¨ 배수 +rules.initialwavespacing = 첫 단계 간격:[lightgray] (ì´ˆ) +rules.buildcostmultiplier = 건설 비용 배수 rules.buildspeedmultiplier = 건설 ì†ë„ 배수 -rules.deconstructrefundmultiplier = í•´ì²´ 환불 배수 +rules.deconstructrefundmultiplier = ì² ê±° 환불 배수 rules.waitForWaveToEnd = 한 단계가 ë날때까지 대기 +rules.wavelimit = 특정 단계 ì´í›„ ë§µ 종료 rules.dropzoneradius = ìŠ¤í° êµ¬ì—­ 범위: [lightgray] (타ì¼) -rules.unitammo = 탄약 í•„ìš” +rules.unitammo = 유닛 탄약 í•„ìš” +rules.enemyteam = ì  íŒ€ +rules.playerteam = 플레ì´ì–´ 팀 rules.title.waves = 단계 -rules.title.resourcesbuilding = ìžì› & ê±´ì¶• +rules.title.resourcesbuilding = ìžì› & 건물 rules.title.enemy = ì  -rules.title.unit = 유닛 +rules.title.unit = 기체 rules.title.experimental = 실험ì ì¸ 기능 rules.title.environment = 환경 -rules.lighting = 조명 -rules.enemyLights = ìƒëŒ€ì—게 조명 -rules.fire = ë°©í™” -rules.explosions = 블ë¡/유닛 í­ë°œ ë°ë¯¸ì§€ -rules.ambientlight = ìžì—° 조명 -rules.weather = 날씨 +rules.title.teams = 팀 +rules.title.planet = 행성 +rules.lighting = 조명 표시 +rules.fog = ì „ìž¥ì˜ ì•ˆê°œ +rules.invasions = ì  ì§€ì—­ 침공 +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = ì  ìŠ¤í° í‘œì‹œ +rules.randomwaveai = 무작위 단계 AI +rules.fire = ë°©í™” 허용 +rules.anyenv = <모ë‘> +rules.explosions = 블ë¡/유닛 í­ë°œ 피해 +rules.ambientlight = 주변광 +rules.weather = 날씨 추가 rules.weather.frequency = 빈ë„: rules.weather.always = í•­ìƒ rules.weather.duration = ì§€ì† ì‹œê°„: +rules.randomwaveai.info = ë‹¨ê³„ì— ìƒì„±ëœ ìœ ë‹›ì´ ì½”ì–´ ë˜ëŠ” ì „ë ¥ ìƒì‚°ê¸°ë¥¼ 공격하는 대신 무작위 êµ¬ì¡°ë¬¼ì„ ê³µê²©í•˜ê²Œ ë©ë‹ˆë‹¤. +rules.placerangecheck.info = 플레ì´ì–´ê°€ ì  ê±´ë¬¼ ê·¼ì²˜ì— ê±´ì„¤ 불가 êµ¬ì—­ì„ ìƒì„±í•©ë‹ˆë‹¤. ë§Œì¼, 플레ì´ì–´ê°€ í¬íƒ‘ì„ ê±´ì„¤í•˜ê³ ìž í•  경우 ë°˜ê²½ì´ ì¦ê°€ë˜ì–´ ì  ê±´ë¬¼ì´ í¬íƒ‘ì˜ ì‚¬ì •ê±°ë¦¬ì— ë‹¿ì§€ 않게 ë©ë‹ˆë‹¤. +rules.onlydepositcore.info = 코어를 제외한 어떠한 건물ì—ë„ ìžì›ì„ 투하할 수 없게 만듭니다. + content.item.name = ìžì› content.liquid.name = ì•¡ì²´ -content.unit.name = 유닛 +content.unit.name = 기체 content.block.name = ë¸”ë¡ +content.status.name = ìƒíƒœ ì´ìƒ content.sector.name = 지역 +content.team.name = 파벌 +wallore = (ë²½) +#êµ³ì´ ì§ì—­ì€ ì•ˆí•´ë„ ë˜ê¸°ì— ì„¤ê¸ˆì€ í•´ë‹¹ ëª…ì¹­ì„ ìœ ì§€í•©ë‹ˆë‹¤ item.copper.name = 구리 item.lead.name = ë‚© item.coal.name = ì„탄 @@ -984,18 +1476,32 @@ item.titanium.name = 티타늄 item.thorium.name = 토륨 item.silicon.name = 실리콘 item.plastanium.name = 플ë¼ìŠ¤í„°ëŠ„ -item.phase-fabric.name = 메타 +item.phase-fabric.name = ìœ„ìƒ ì„¬ìœ  item.surge-alloy.name = 설금 -item.spore-pod.name = í¬ìž +item.spore-pod.name = í¬ìž 꼬투리 item.sand.name = 모래 item.blast-compound.name = í­ë°œë¬¼ item.pyratite.name = 파ì´ë¼íƒ€ì´íЏ item.metaglass.name = ê°•í™” 유리 item.scrap.name = ê³ ì²  +item.fissile-matter.name = 핵분열 물질 +item.beryllium.name = 베릴륨 +item.tungsten.name = í……ìŠ¤í… +item.oxide.name = 산화물 +item.carbide.name = 탄화물 +item.dormant-cyst.name = 휴면 낭종 + liquid.water.name = 물 liquid.slag.name = 광재 liquid.oil.name = ì„유 liquid.cryofluid.name = 냉ê°ìˆ˜ +liquid.neoplasm.name = ì‹ ìƒë¬¼ +liquid.arkycite.name = 아르키사ì´íЏ +liquid.gallium.name = 갈륨 +liquid.ozone.name = 오존 +liquid.hydrogen.name = 수소 +liquid.nitrogen.name = 질소 +liquid.cyanogen.name = ì‹œì•„ë…¸ê² unit.dagger.name = 대거 unit.mace.name = ë©”ì´ìФ @@ -1023,6 +1529,11 @@ unit.minke.name = 민케 unit.bryde.name = 브ë¼ì´ë“œ unit.sei.name = ì„¸ì´ unit.omura.name = ì˜¤ë¬´ë¼ +unit.retusa.name = 레투사 +unit.oxynoe.name = 옥시노 +unit.cyerce.name = 사ì´ì–´ìФ +unit.aegires.name = ì—어리어스 +unit.navanax.name = 나바낙스 unit.alpha.name = 알파 unit.beta.name = 베타 unit.gamma.name = ê°ë§ˆ @@ -1031,13 +1542,36 @@ unit.reign.name = ë ˆì¸ unit.vela.name = ë²¨ë¼ unit.corvus.name = 코르버스 -block.resupply-point.name = 보급 ì§€ì  +unit.stell.name = 스텔 +unit.locus.name = 로커스 +unit.precept.name = 프리셉트 +unit.vanquish.name = 뱅퀴시 +unit.conquer.name = 컨커 +unit.merui.name = ë©”ë£¨ì´ +unit.cleroi.name = í´ë ˆë¡œì´ +unit.anthicus.name = 안티쿠스 +unit.tecta.name = í…타 +unit.collaris.name = 콜ë¼ë¦¬ìФ +unit.elude.name = ì¼ë£¨ë“œ +unit.avert.name = 어버트 +unit.obviate.name = 오비ì—ì´íЏ +unit.quell.name = 퀠 +unit.disrupt.name = 디스럽트 +unit.evoke.name = ì´ë³´í¬ +unit.incite.name = ì¸ì‚¬ì´íЏ +unit.emanate.name = ì—머네ì´íЏ +unit.manifold.name = 매니í´ë“œ +unit.assembly-drone.name = 조립 드론 +unit.latum.name = ë¼íˆ¼ +unit.renale.name = ë¦¬ë„¤ì¼ + block.parallax.name = 패럴랙스 block.cliff.name = ì–¸ë• -block.sand-boulder.name = 사암 -block.basalt-boulder.name = 현무암 +block.sand-boulder.name = 사암 바위 +block.basalt-boulder.name = 현무암 바위 block.grass.name = 잔디 -block.slag.name = 용암 +block.molten-slag.name = 용암 +block.pooled-cryofluid.name = 냉ê°ìˆ˜ block.space.name = 우주 block.salt.name = 소금 block.salt-wall.name = 소금 ë²½ @@ -1065,24 +1599,28 @@ block.graphite-press.name = í‘ì—° 압축기 block.multi-press.name = 다중 압축기 block.constructing = {0} [lightgray](제작중) block.spawn.name = ì  ì†Œí™˜ì§€ì  +block.remove-wall.name = ë²½ 제거 +block.remove-ore.name = ê´‘ì„ ì œê±° block.core-shard.name = 코어: ì¡°ê° block.core-foundation.name = 코어: 기반 block.core-nucleus.name = 코어: 핵심 -block.deepwater.name = ê¹Šì€ ë¬¼ -block.water.name = 물 +block.deep-water.name = ê¹Šì€ ë¬¼ +block.shallow-water.name = 물 block.tainted-water.name = ì˜¤ì—¼ëœ ë¬¼ +block.deep-tainted-water.name = ì˜¤ì—¼ëœ ê¹Šì€ ë¬¼ block.darksand-tainted-water.name = ì˜¤ì—¼ëœ ì –ì€ ê²€ì€ ëª¨ëž˜ block.tar.name = 타르 block.stone.name = 바위 -block.sand.name = 모래 +block.sand-floor.name = 모래 block.darksand.name = ê²€ì€ ëª¨ëž˜ block.ice.name = ì–¼ìŒ block.snow.name = 눈 -block.craters.name = 구ë©ì´ +block.crater-stone.name = 구ë©ì´ block.sand-water.name = ì –ì€ ëª¨ëž˜ block.darksand-water.name = ì –ì€ ê²€ì€ ëª¨ëž˜ block.char.name = 숯 block.dacite.name = ì„ì˜ì•ˆì‚°ì•” +block.rhyolite.name = 유문암 block.dacite-wall.name = ì„ì˜ì•ˆì‚°ì•” ë²½ block.dacite-boulder.name = ì„ì˜ì•ˆì‚°ì•” block.ice-snow.name = ì–¼ìŒëˆˆ @@ -1100,6 +1638,7 @@ block.spore-cluster.name = í¬ìžë‚­ block.metal-floor.name = 금ì†ì œ 바닥 block.metal-floor-2.name = ê¸ˆì† íƒ€ì¼ 2 block.metal-floor-3.name = ê¸ˆì† íƒ€ì¼ 3 +block.metal-floor-4.name = ê¸ˆì† íƒ€ì¼ 4 block.metal-floor-5.name = ê¸ˆì† íƒ€ì¼ 5 block.metal-floor-damaged.name = ì†ìƒëœ ê¸ˆì† íƒ€ì¼ block.dark-panel-1.name = ê²€ì€ íŒ¨ë„ 1 @@ -1118,8 +1657,8 @@ block.titanium-wall.name = 티타늄 ë²½ block.titanium-wall-large.name = 대형 티타늄 ë²½ block.plastanium-wall.name = 플ë¼ìŠ¤í„°ëŠ„ ë²½ block.plastanium-wall-large.name = 대형 플ë¼ìŠ¤í„°ëŠ„ ë²½ -block.phase-wall.name = 메타 ë²½ -block.phase-wall-large.name = 대형 메타 ë²½ +block.phase-wall.name = ìœ„ìƒ ë²½ +block.phase-wall-large.name = 대형 ìœ„ìƒ ë²½ block.thorium-wall.name = 토륨 ë²½ block.thorium-wall-large.name = 대형 토륨 ë²½ block.door.name = 문 @@ -1139,13 +1678,16 @@ block.distributor.name = 대형 분배기 block.sorter.name = í•„í„° block.inverted-sorter.name = 반전 í•„í„° block.message.name = 메모 ë¸”ë¡ +block.reinforced-message.name = ë³´ê°•ëœ ë©”ëª¨ ë¸”ë¡ +block.world-message.name = 월드 메모 ë¸”ë¡ +block.world-switch.name = 월드 스위치 block.illuminator.name = 조명 block.overflow-gate.name = í¬í™” í•„í„° block.underflow-gate.name = 불í¬í™” í•„í„° block.silicon-smelter.name = 실리콘 제련소 -block.phase-weaver.name = 메타 합성기 +block.phase-weaver.name = ìœ„ìƒ ì œì¡°ê¸° block.pulverizer.name = 분쇄기 -block.cryofluid-mixer.name = 냉ê°ìˆ˜ 제조기 +block.cryofluid-mixer.name = 냉ê°ìˆ˜ 혼합기 block.melter.name = 융해기 block.incinerator.name = 소ê°ë¡œ block.spore-press.name = í¬ìž 압축기 @@ -1154,7 +1696,7 @@ block.coal-centrifuge.name = ì„탄 정제기 block.power-node.name = ì „ë ¥ 노드 block.power-node-large.name = 대형 ì „ë ¥ 노드 block.surge-tower.name = 설금 타워 -block.diode.name = ì „ë ¥ 비êµê¸° +block.diode.name = 다ì´ì˜¤ë“œ block.battery.name = 배터리 block.battery-large.name = 대형 배터리 block.combustion-generator.name = 화력 발전기 @@ -1172,7 +1714,7 @@ block.item-source.name = ìžì› 공급기 block.item-void.name = ìžì› 소멸기 block.liquid-source.name = ì•¡ì²´ 공급기 block.liquid-void.name = ì•¡ì²´ 소멸기 -block.power-void.name = 방전장치 +block.power-void.name = ì „ë ¥ 소멸기 block.power-source.name = ì „ë ¥ 공급기 block.unloader.name = ì–¸ë¡œë” block.vault.name = 창고 @@ -1181,7 +1723,7 @@ block.tsunami.name = 쓰나미 block.swarmer.name = 스웜 block.salvo.name = ì‚´ë³´ block.ripple.name = 립플 -block.phase-conveyor.name = 메타 컨베ì´ì–´ +block.phase-conveyor.name = ìœ„ìƒ ì»¨ë² ì´ì–´ block.bridge-conveyor.name = 다리 컨베ì´ì–´ block.plastanium-compressor.name = 플ë¼ìŠ¤í„°ëŠ„ 압축기 block.pyratite-mixer.name = 파ì´ë¼íƒ€ì´íЏ 혼합기 @@ -1190,24 +1732,26 @@ block.solar-panel.name = 태양 ì „ì§€íŒ block.solar-panel-large.name = 대형 태양 ì „ì§€íŒ block.oil-extractor.name = ì„유 추출기 block.repair-point.name = 수리 ì§€ì  +block.repair-turret.name = 수리 í¬íƒ‘ block.pulse-conduit.name = 펄스 파ì´í”„ block.plated-conduit.name = ë„ê¸ˆëœ íŒŒì´í”„ -block.phase-conduit.name = 메타 파ì´í”„ +block.phase-conduit.name = ìœ„ìƒ íŒŒì´í”„ block.liquid-router.name = ì•¡ì²´ 분배기 block.liquid-tank.name = ì•¡ì²´ íƒ±í¬ +block.liquid-container.name = ì•¡ì²´ 컨테ì´ë„ˆ block.liquid-junction.name = ì•¡ì²´ êµì°¨ê¸° block.bridge-conduit.name = 다리 파ì´í”„ block.rotary-pump.name = ë™ë ¥ 펌프 block.thorium-reactor.name = 토륨 ì›ìžë¡œ block.mass-driver.name = 매스 드ë¼ì´ë²„ block.blast-drill.name = ì••ì¶• 공기분사 드릴 -block.thermal-pump.name = 화력 펌프 +block.impulse-pump.name = 충격 펌프 block.thermal-generator.name = 지열 발전기 -block.alloy-smelter.name = 설금 제련소 +block.surge-smelter.name = 설금 제련소 block.mender.name = ë©˜ë” block.mend-projector.name = 수리 프로ì í„° block.surge-wall.name = 설금 ë²½ -block.surge-wall-large.name = í° ì„¤ê¸ˆ ë²½ +block.surge-wall-large.name = 대형 설금 ë²½ block.cyclone.name = 사ì´í´ë¡  block.fuse.name = 퓨즈 block.shock-mine.name = 전격 지뢰 @@ -1220,26 +1764,193 @@ block.meltdown.name = 멜트다운 block.foreshadow.name = í¬ì–´ì‰ë„ìš° block.container.name = 컨테ì´ë„ˆ block.launch-pad.name = 지역 ìžì› 수송기 -block.launch-pad-large.name = 대형 지역 ìžì› 수송기 +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = 세그먼트 -block.command-center.name = 유닛 지휘소 block.ground-factory.name = ì§€ìƒ ê³µìž¥ block.air-factory.name = í•­ê³µ 공장 block.naval-factory.name = í•´ì–‘ 공장 -block.additive-reconstructor.name = 재구성기 : Additive -block.multiplicative-reconstructor.name = 재구성기 : Multiplicative -block.exponential-reconstructor.name = 재구성기 : Exponential -block.tetrative-reconstructor.name = 재구성기 : Tetrative +block.additive-reconstructor.name = 재구성기: Additive +block.multiplicative-reconstructor.name = 재구성기: Multiplicative +block.exponential-reconstructor.name = 재구성기: Exponential +block.tetrative-reconstructor.name = 재구성기: Tetrative block.payload-conveyor.name = 화물 컨베ì´ì–´ block.payload-router.name = 화물 분배기 +block.duct.name = ë„ê´€ +block.duct-router.name = ë„ê´€ 분배기 +block.duct-bridge.name = ë„ê´€ 다리 +block.large-payload-mass-driver.name = 대형 화물 매스 드ë¼ì´ë²„ +block.payload-void.name = 화물 소멸기 +block.payload-source.name = 화물 공급기 block.disassembler.name = 광재 분해기 block.silicon-crucible.name = 실리콘 ë„가니 block.overdrive-dome.name = 대형 과부하 프로ì í„° -#experimental, may be removed / ì´ ì•„ëž˜ì˜ ë¸”ë¡ë“¤ì€ 테스트용 임시 블ë¡ë“¤ìž…니다. -block.block-forge.name = ë¸”ë¡ ì œìž‘ëŒ€ -block.block-loader.name = ë¸”ë¡ ë¡œë” -block.block-unloader.name = ë¸”ë¡ ì–¸ë¡œë” block.interplanetary-accelerator.name = 성간 코어 ê°€ì†ê¸° +block.constructor.name = ë¸”ë¡ ì œìž‘ëŒ€ +block.constructor.description = 최대 2x2 í¬ê¸°ì˜ 블ë¡ì„ 제작합니다. +block.large-constructor.name = 대형 ë¸”ë¡ ì œìž‘ëŒ€ +block.large-constructor.description = 최대 4x4 í¬ê¸°ì˜ 블ë¡ì„ 제작합니다. +block.deconstructor.name = 화물 분해기 +block.deconstructor.description = 블ë¡ê³¼ 기체를 분해합니다. 건설 ë¹„ìš©ì˜ 100%를 반환합니다. +block.payload-loader.name = 화물 ë¡œë” +block.payload-loader.description = 들어간 블ë¡ì— 액체와 ì•„ì´í…œì„ 저장합니다. +block.payload-unloader.name = 화물 ì–¸ë¡œë” +block.payload-unloader.description = 들어간 블ë¡ì—서 액체와 ì•„ì´í…œì„ 가져옵니다. +block.heat-source.name = ì—´ 공급기 +block.heat-source.description = 엄청난 ì–‘ì˜ ì—´ì„ ì¶œë ¥í•©ë‹ˆë‹¤. 샌드박스 ì „ìš©. + +#Erekir +block.empty.name = 공백 +block.rhyolite-crater.name = 유문암 구ë©ì´ +block.rough-rhyolite.name = 거친 유문암 +block.regolith.name = 표토 +block.yellow-stone.name = 노란 ëŒ +block.carbon-stone.name = 탄소 ëŒ +block.ferric-stone.name = ì² ê°• ëŒ +block.ferric-craters.name = ì² ê°• 구ë©ì´ +block.beryllic-stone.name = 녹주 ëŒ +block.crystalline-stone.name = 수정형 ëŒ +block.crystal-floor.name = 수정 íƒ€ì¼ +block.yellow-stone-plates.name = 황색 ì„ì¡°íŒ +block.red-stone.name = ë¶‰ì€ ëŒ +block.dense-red-stone.name = ê³ ë°€ë„ ë¶‰ì€ ëŒ +block.red-ice.name = ë¶‰ì€ ì–¼ìŒ +block.arkycite-floor.name = 아르키사ì´íЏ íƒ€ì¼ +block.arkyic-stone.name = 아르키사ì´íЏ ëŒ +block.rhyolite-vent.name = 유문암 분출구 +block.carbon-vent.name = 탄소 분출구 +block.arkyic-vent.name = 아르킥 분출구 +block.yellow-stone-vent.name = 노란 ëŒ ë¶„ì¶œêµ¬ +block.red-stone-vent.name = ë¶‰ì€ ëŒ ë¶„ì¶œêµ¬ +block.crystalline-vent.name = 수정형 분출구 +block.redmat.name = ë¶‰ì€ í™ +block.bluemat.name = 푸른 í™ +block.core-zone.name = 코어 구역 +block.regolith-wall.name = 표토 ë²½ +block.yellow-stone-wall.name = 노란 ëŒ ë²½ +block.rhyolite-wall.name = 유문암 ë²½ +block.carbon-wall.name = 탄소 ë²½ +block.ferric-stone-wall.name = ì² ê°• ëŒ ë²½ +block.beryllic-stone-wall.name = 녹주 ëŒ ë²½ +block.arkyic-wall.name = 아르킥 ë²½ +block.crystalline-stone-wall.name = 수정형 ëŒ ë²½ +block.red-ice-wall.name = ë¶‰ì€ ì–¼ìŒ ë²½ +block.red-stone-wall.name = ë¶‰ì€ ëŒ ë²½ +block.red-diamond-wall.name = ë¶‰ì€ ë‹¤ì´ì•„몬드 ë²½ +block.redweed.name = ë¶‰ì€ ìž¡ì´ˆ +block.pur-bush.name = ë³´ëžë¹› ë¤ë¶ˆ +block.yellowcoral.name = 노란 산호 +block.carbon-boulder.name = 탄소 바위 +block.ferric-boulder.name = ì² ê°• 바위 +block.beryllic-boulder.name = 녹주 바위 +block.yellow-stone-boulder.name = 노란 ëŒë°”위 +block.arkyic-boulder.name = 아르킥 바위 +block.crystal-cluster.name = 수정 í´ëŸ¬ìŠ¤í„° +block.vibrant-crystal-cluster.name = 선명한 수정 í´ëŸ¬ìŠ¤í„° +block.crystal-blocks.name = 수정 ë©ì–´ë¦¬ +block.crystal-orbs.name = 수정 구체 +block.crystalline-boulder.name = ìˆ˜ì •ê°™ì€ ë°”ìœ„ +block.red-ice-boulder.name = ë¶‰ì€ ì–¼ìŒ ë°”ìœ„ +block.rhyolite-boulder.name = 유문암 바위 +block.red-stone-boulder.name = ë¶‰ì€ ëŒ ë°”ìœ„ +block.graphitic-wall.name = 탄소화 ë²½ +block.silicon-arc-furnace.name = 실리콘 ì•„í¬ í™”ë¡œ +block.electrolyzer.name = ì „í•´ì¡° +block.atmospheric-concentrator.name = 대기 ë†ì¶•기 +block.oxidation-chamber.name = 산화실 +block.electric-heater.name = 전기 가열기 +block.slag-heater.name = 광재 가열기 +block.phase-heater.name = ìœ„ìƒ ê°€ì—´ê¸° +block.heat-redirector.name = ì—´ 전송기 +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = ì—´ 분배기 +block.slag-incinerator.name = 광재 소ê°ë¡œ +block.carbide-crucible.name = 탄화물 ë„가니 +block.slag-centrifuge.name = 광재 ì›ì‹¬ë¶„리기 +block.surge-crucible.name = 설금 ë„가니 +block.cyanogen-synthesizer.name = ì‹œì•„ë…¸ê² í•©ì„±ê¸° +block.phase-synthesizer.name = ìœ„ìƒ í•©ì„±ê¸° +block.heat-reactor.name = ì—´ ë°˜ì‘로 +block.beryllium-wall.name = 베릴륨 ë²½ +block.beryllium-wall-large.name = 대형 베릴륨 ë²½ +block.tungsten-wall.name = í……ìŠ¤í… ë²½ +block.tungsten-wall-large.name = 대형 í……ìŠ¤í… ë²½ +block.blast-door.name = ë°©í­ë¬¸ +block.carbide-wall.name = 탄화물 ë²½ +block.carbide-wall-large.name = 대형 탄화물 ë²½ +block.reinforced-surge-wall.name = ë³´ê°•ëœ ì„¤ê¸ˆ ë²½ +block.reinforced-surge-wall-large.name = ë³´ê°•ëœ ëŒ€í˜• 설금 ë²½ +block.shielded-wall.name = ë³´í˜¸ëœ ë²½ +block.radar.name = ë ˆì´ë” +block.build-tower.name = 건설 타워 +block.regen-projector.name = ìž¬ìƒ í”„ë¡œì í„° +block.shockwave-tower.name = 충격파 타워 +block.shield-projector.name = 방어막 프로ì í„° +block.large-shield-projector.name = 대형 방어막 프로ì í„° +block.armored-duct.name = 장갑 ë„ê´€ +block.overflow-duct.name = í¬í™” ë„ê´€ +block.underflow-duct.name = 불í¬í™” ë„ê´€ +block.duct-unloader.name = ì–¸ë¡œë” ë„ê´€ +block.surge-conveyor.name = 설금 컨베ì´ì–´ +block.surge-router.name = 설금 분배기 +block.unit-cargo-loader.name = 유닛 화물 ì ìž¬ì†Œ +block.unit-cargo-unload-point.name = 유닛 화물 í•˜ì—­ì§€ì  +block.reinforced-pump.name = ë³´ê°•ëœ íŽŒí”„ +block.reinforced-conduit.name = ë³´ê°•ëœ íŒŒì´í”„ +block.reinforced-liquid-junction.name = ë³´ê°•ëœ ì•¡ì²´ êµì°¨ê¸° +block.reinforced-bridge-conduit.name = ë³´ê°•ëœ ë‹¤ë¦¬ 파ì´í”„ +block.reinforced-liquid-router.name = ë³´ê°•ëœ ì•¡ì²´ 분배기 +block.reinforced-liquid-container.name = ë³´ê°•ëœ ì•¡ì²´ 컨테ì´ë„ˆ +block.reinforced-liquid-tank.name = ë³´ê°•ëœ ì•¡ì²´ íƒ±í¬ +block.beam-node.name = ë¹” 노드 +block.beam-tower.name = ë¹” 타워 +block.beam-link.name = ë¹” ë§í¬ +block.turbine-condenser.name = 터빈 ì‘결기 +block.chemical-combustion-chamber.name = í™”í•™ì  ì—°ì†Œì‹¤ +block.pyrolysis-generator.name = ì—´ë¶„í•´ 발전기 +block.vent-condenser.name = 분출구 ì‘결기 +block.cliff-crusher.name = ë²½ 분쇄기 +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = 플ë¼ì¦ˆë§ˆ 채광기 +block.large-plasma-bore.name = 대형 플ë¼ì¦ˆë§ˆ 채광기 +block.impact-drill.name = 충격 드릴 +block.eruption-drill.name = ë¶„í™” 드릴 +block.core-bastion.name = 코어: 요새 +block.core-citadel.name = 코어: 성채 +block.core-acropolis.name = 코어: ë„심 +block.reinforced-container.name = ë³´ê°•ëœ ì»¨í…Œì´ë„ˆ +block.reinforced-vault.name = ë³´ê°•ëœ ì°½ê³  +block.breach.name = 브리치 +block.sublimate.name = 서브리메ì´íЏ +block.titan.name = 티탄 +block.disperse.name = 디스í¼ìФ +block.afflict.name = 어플릭트 +block.lustre.name = 러스터 +block.scathe.name = 스ìºë“œ +block.tank-refabricator.name = ì „ì°¨ 재조립기 +block.mech-refabricator.name = 기계 재조립기 +block.ship-refabricator.name = 함선 재조립기 +block.tank-assembler.name = ì „ì°¨ 조립대 +block.ship-assembler.name = 함선 조립대 +block.mech-assembler.name = 기계 조립대 +block.reinforced-payload-conveyor.name = ë³´ê°•ëœ í™”ë¬¼ 컨베ì´ì–´ +block.reinforced-payload-router.name = ë³´ê°•ëœ í™”ë¬¼ 분배기 +block.payload-mass-driver.name = 화물 매스 드ë¼ì´ë²„ +block.small-deconstructor.name = 소형 화물 분해기 +block.canvas.name = ë„화지 +block.world-processor.name = 월드 프로세서 +block.world-cell.name = 월드 ì…€ +block.tank-fabricator.name = ì „ì°¨ 조립기 +block.mech-fabricator.name = 기계 조립기 +block.ship-fabricator.name = 함선 조립기 +block.prime-refabricator.name = ìƒê¸‰ 조립기 +block.unit-repair-tower.name = 유닛 수리 타워 +block.diffuse.name = 디퓨즈 +block.basic-assembler-module.name = 기본 조립 모듈 +block.smite.name = 스마ì´íЏ +block.malign.name = ë©€ë¼ì¸ +block.flux-reactor.name = 융제 ë°˜ì‘로 +block.neoplasia-reactor.name = ì‹ ìƒë¬¼ ë°˜ì‘로 block.switch.name = 스위치 block.micro-processor.name = 마ì´í¬ë¡œ 프로세서 @@ -1250,93 +1961,162 @@ block.large-logic-display.name = 대형 ë¡œì§ ë””ìŠ¤í”Œë ˆì´ block.memory-cell.name = 메모리 ì…€ block.memory-bank.name = 메모리 보관소 -team.blue.name = 파랑색 팀 -team.crux.name = 빨강색 팀 -team.sharded.name = 주황색 팀 -team.orange.name = 주황색 팀 -team.derelict.name = 버려진 팀 -team.green.name = ì´ˆë¡ìƒ‰ 팀 -team.purple.name = ë³´ë¼ìƒ‰ 팀 +team.malis.name = ë§ë¦¬ìФ +team.crux.name = í¬ëŸ­ìФ +team.sharded.name = 샤디드 +team.derelict.name = 잔해 +team.green.name = ì´ˆë¡íŒ€ +team.blue.name = 파랑팀 -hint.skip = 힌트 넘기기 -hint.desktopMove = [accent][[WASD][] 키를 ì´ìš©í•´ ìžì‹ ì˜ ìœ ë‹›ì„ ì¡°ì¢…í•˜ì„¸ìš”. -hint.zoom = [accent]마우스 스í¬ë¡¤[]를 사용해 확대 ë˜ëŠ” 축소가 가능합니다. -hint.mine = \uf8c4 ì£¼ë³€ì˜ êµ¬ë¦¬ê´‘ì„ì„ ìˆ˜ë™ìœ¼ë¡œ 채굴하려면 ê´‘ì„ì„ [accent]누르십시오[]. (추가설명)마우스가 ìžˆì„ ê²½ìš° 마우스 오른쪽 í´ë¦­ì„ 하면 채굴 ì¤‘ë‹¨ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤. -hint.desktopShoot = [accent][[마우스 왼í´ë¦­][]으로 발사할수 있습니다. -hint.depositItems = ì•„ì´í…œì„ 코어로 옮기려면, ë‹¹ì‹ ì˜ ê¸°ì²´ì˜ ì•„ì´í…œì„ 코어로 ëŒì–´ë†“으세요. -hint.respawn = ë‹¹ì‹ ì˜ ê¸°ì²´ë¥¼ 떠나려면 [accent][[V][]를 누르십시오. -hint.respawn.mobile = ë‹¹ì‹ ì€ ìœ ë‹› í˜¹ì€ í¬íƒ‘ì„ ì¡°ì¢…í•  수 있습니다. ë‹¹ì‹ ì˜ ê¸°ì²´ë¥¼ 떠나려면 [accent]왼쪽 ìœ„ì— ìžˆëŠ” 아바타를 누르십시오.[] -hint.desktopPause = ê²Œìž„ì„ ì¼ì‹œì •ì§€/재시작 하기 위해 [accent][[Space][]를 누르십시오. -hint.placeDrill = ë“œë¦´ì„ ì„¤ì¹˜í•˜ë ¤ë©´ 오른쪽 ì•„ëž˜ì˜ \ue85e [accent]드릴[]ì„ ì„ íƒí•˜ê³ , \uf870 [accent]드릴[]ì„ ì„ íƒí•´ì„œ 구리 ê´‘ì„ ìœ„ë¥¼ 누르십시오. -hint.placeDrill.mobile = 오른쪽 아래 ë©”ë‰´ì˜ \ue85e [accent]드릴[]ì„ ì„ íƒí•˜ê³ , \uf870 [accent]드릴[] 를 ì„ íƒí•´ì„œ 구리 ê´‘ì„ ìœ„ë¥¼ 누르십시오.\n\n설치를 완료하려면 오른쪽 ì•„ëž˜ì˜ \ue800 [accent]완료 버튼[]ì„ ëˆ„ë¥´ì‹­ì‹œì˜¤. -hint.placeConveyor = 컨베ì´ì–´ëŠ” ì•„ì´í…œì„ 드릴ì—서 다른 블ë¡ìœ¼ë¡œ ì´ë™ì‹œì¼œì¤ë‹ˆë‹¤. \ue814 [accent]ë¶„ë°°[] 카테고리ì—서 \uf896 [accent]컨베ì´ì–´[]를 ì„ íƒí•˜ì‹­ì‹œì˜¤.\n\ní´ë¦­í•˜ê±°ë‚˜ 드래그로 ë‹¤ìˆ˜ì˜ ì»¨ë² ì´ì–´ë¥¼ 설치할 수 있습니다.\ní´ë¦­í•˜ê³  놓지 않ì€ì±„로 마우스 [accent]íœ ì„ ëŒë¦¬ë©´ ëŒì•„갑니다. -hint.placeConveyor.mobile = 컨베ì´ì–´ëŠ” ì•„ì´í…œì„ 드릴ì—서 다른 블ë¡ìœ¼ë¡œ ì´ë™ì‹œì¼œì¤ë‹ˆë‹¤. \ue814 [accent]ë¶„ë°°[] 카테고리ì—서 \uf896 [accent]컨베ì´ì–´[]를 ì„ íƒí•˜ì‹­ì‹œì˜¤.\n\nì—¬ëŸ¬ê°œì˜ ì»¨ë² ì´ì–´ë¥¼ 놓으려면 ì†ê°€ë½ìœ¼ë¡œ 누른채로 ëŒì–´ì„œ 설치 범위를 지정하십시오. -hint.placeTurret = ì ì—게서 ë‹¹ì‹ ì˜ ê¸°ì§€ë¥¼ 막아내려면 \uf861 [accent]í¬íƒ‘[]를 설치하십시오.\n\ní¬íƒ‘ 탄약 í•„ìš” - ì§€ê¸ˆì€ \uf838 구리가 필요합니다.\n컨베ì´ì–´ë¥¼ 사용해 ë“œë¦´ì— êµ¬ë¦¬ë¥¼ 공급하십시오. -hint.breaking = 블ë¡ì„ 부수려면 [accent]오른í´ë¦­[]ì´ë‚˜ 드래그를 하십시오. -hint.breaking.mobile = ë¸”ëŸ­ì„ ë¶€ìˆ˜ë ¤ë©´ 오른쪽 ì•„ëž˜ì˜ \ue817 [accent]ë§ì¹˜[]를 눌러 í•´ì²´ 모드를 활성화 하십시오.\n\nì†ê°€ë½ìœ¼ë¡œ 누른채로 ëŒì–´ì„œ í•´ì²´ 범위를 지정하십시오. +hint.skip = 넘기기 +hint.desktopMove = [accent][[WASD][] 키를 ì´ìš©í•´ 움ì§ì´ì‹­ì‹œì˜¤. +hint.zoom = [accent]스í¬ë¡¤[]ì„ í†µí•´ 화면 확대/축소가 가능합니다. +hint.desktopShoot = [accent][[좌í´ë¦­][]으로 발사할 수 있습니다. +hint.depositItems = ìžì›ì„ 코어로 옮기려면, ìœ ë‹›ì˜ ìžì›ì„ 코어로 ëŒì–´ë‹¤ë†“으십시오. +hint.respawn = ìœ ë‹›ì„ ë– ë‚˜ë ¤ë©´ [accent][[V][]를 누르십시오. +hint.respawn.mobile = 유닛 í˜¹ì€ í¬íƒ‘ì„ ì¡°ì¢…í•  수 있습니다. ìœ ë‹›ì„ ë– ë‚˜ë ¤ë©´ [accent]왼쪽 ìœ„ì˜ ì•„ë°”íƒ€ë¥¼ 누르십시오.[] +hint.desktopPause = ê²Œìž„ì„ ì¼ì‹œ ì •ì§€/재개하기 위해 [accent][[Space][]를 누르십시오. +hint.breaking = 블ë¡ì„ 부수려면 [accent]ìš°í´ë¦­[]한 후 드래그하십시오. +hint.breaking.mobile = 블ë¡ì„ 부수려면 오른쪽 í•˜ë‹¨ì˜ \ue817 [accent]ë§ì¹˜[]를 눌러 í•´ì²´ 모드를 활성화하십시오.\n\nì†ê°€ë½ìœ¼ë¡œ 누른 채로 ëŒì–´ì„œ í•´ì²´ 범위를 지정하십시오. +hint.blockInfo = ë¸”ë¡ ì •ë³´ë¥¼ 확ì¸í•˜ë ¤ë©´, [accent]건설 목ë¡[]ì—서 블ë¡ì„ ì„ íƒí•œ 후 ì˜¤ë¥¸ìª½ì˜ [accent][[?][] ë²„íŠ¼ì„ ëˆ„ë¥´ì‹­ì‹œì˜¤. +hint.derelict = [accent]버려진[] êµ¬ì¡°ë¬¼ì€ ë” ì´ìƒ ìž‘ë™í•˜ì§€ 않는 ì˜¤ëž˜ëœ ê¸°ì§€ì˜ ë¶€ì„œì§„ 잔해입니다.\n\nì´ êµ¬ì¡°ë¬¼ì€ [accent]ì² ê±°[]하여 ìžì›ì„ ì–»ì„ ìˆ˜ 있습니다. hint.research = 새 ê¸°ìˆ ì„ ì—°êµ¬í•˜ë ¤ë©´ \ue875 [accent]연구[]ë²„íŠ¼ì„ ëˆ„ë¥´ì‹­ì‹œì˜¤. hint.research.mobile = 새 ê¸°ìˆ ì„ ì—°êµ¬í•˜ë ¤ë©´ \ue88c [accent]메뉴[] ì•„ëž˜ì˜ \ue875 [accent]연구[]ë²„íŠ¼ì„ ëˆ„ë¥´ì‹­ì‹œì˜¤. -hint.unitControl = ì•„êµ° 유닛과 í¬íƒ‘ì„ ì¡°ì¢…í•˜ë ¤ë©´ [accent][[왼쪽 ctrl][]ì„ ëˆ„ë¥¸ì±„ë¡œ [accent]í´ë¦­[] 하십시오. -hint.unitControl.mobile = ì•„êµ° 유닛과 í¬íƒ‘ì„ ì¡°ì¢…í•˜ë ¤ë©´ 해당 개체를 [accent]빠르게 ë‘번 누르십시오[]. -hint.launch = 충분한 ìžì›ì„ 모았으면, 오른쪽 ì•„ëž˜ì˜ \ue827 [accent]Map[]ì—서 주변 ì§€ì—­ì„ ì„ íƒí•´ì„œ [accent]Launch[]í•  수 있습니다. -hint.launch.mobile = 충분한 ìžì›ì„ 모았으면, 오른쪽 ì•„ëž˜ì˜ \ue88c [accent]메뉴[]ì— ìžˆëŠ” \ue827 [accent]Map[]ì—서 주변 ì§€ì—­ì„ ì„ íƒí•´ì„œ [accent]Launch[]í•  수 있습니다. -hint.schematicSelect = 블ë¡ì„ 복사하고 붙여넣으려면 [accent][[F][]를 누른채로 ëŒì–´ì„œ êµ¬ì—­ì„ ì§€ì •í•˜ì‹­ì‹œì˜¤. \n\n [accent][[마우스 휠][]ì„ ëˆ„ë¥´ë©´ í•œê°œì˜ ë¸”ë¡ë§Œ 복사할 수 있습니다. -hint.conveyorPathfind = [accent][[왼쪽 Ctrl][]ì„ ëˆ„ë¥¸ì±„ë¡œ 컨베ì´ì–´ë¥¼ 대ê°ì„ ìœ¼ë¡œ ëŒë©´ ê¸¸ì„ ìžë™ìœ¼ë¡œ 만들어ì¤ë‹ˆë‹¤. -hint.conveyorPathfind.mobile = \ue844 [accent]diagonal mode[]를 활성화하고 컨베ì´ì–´ë¥¼ 대ê°ì„ ìœ¼ë¡œ ëŒë©´ ê¸¸ì„ ìžë™ìœ¼ë¡œ 찾아ì¤ë‹ˆë‹¤. -hint.boost = ë‹¹ì‹ ì˜ ìœ ë‹›ê³¼ ê°™ì´ ìž¥ì• ë¬¼ì„ ë„˜ì–´ê°€ë ¤ë©´ [accent][[L-Shift][]ì„ ëˆ„ë¥´ê³  ì´ë™í•˜ì‹­ì‹œì˜¤. \n\n ì ì€ ìˆ˜ì˜ ì§€ìƒ ìœ ë‹›ë§Œ ë‚  수 있습니다. -hint.command = ì£¼ë³€ì˜ ì•„êµ° ìœ ë‹›ì„ ë°ë¦¬ê³  다니려면 비슷한 ë‹¨ê³„ì˜ ìœ ë‹› 무리 주변ì—서 [accent][[G][]를 누르십시오. \n\n ì§€ìƒ ìœ ë‹›ì„ ë°ë¦¬ê³  다니기 위해서는 먼저 다른 ì§€ìƒ ìœ ë‹›ì„ ì¡°ì¢…í•˜ê³  있어야 합니다. -hint.command.mobile = ì•„êµ° ìœ ë‹›ì„ ë°ë¦¬ê³  다니려면 비슷한 ë‹¨ê³„ì˜ ìœ ë‹› 무리 주변ì—서 [accent]빠르게 ë‘번 누르십시오[]. -hint.payloadPickup = ìž‘ì€ ë¸”ëŸ­ì´ë‚˜ ìœ ë‹›ì„ ì§‘ìœ¼ë ¤ë©´ [accent][[[]를 누르십시오. -hint.payloadPickup.mobile = ìž‘ì€ ë¸”ëŸ­ì´ë‚˜ ìœ ë‹›ì„ ì§‘ìœ¼ë ¤ë©´ [accent]ìž ê¹ ëˆ„ë¥´ì‹­ì‹œì˜¤[]. +hint.unitControl = ì•„êµ° 유닛과 í¬íƒ‘ì„ ì¡°ì¢…í•˜ë ¤ë©´ [accent][[왼쪽 ctrl][]ì„ ëˆ„ë¥¸ 채로 해당 개체를[accent]í´ë¦­[] 하십시오. +hint.unitControl.mobile = ì•„êµ° 유닛과 í¬íƒ‘ì„ ì¡°ì¢…í•˜ë ¤ë©´ 해당 개체를 [accent]빠르게 ë‘ ë²ˆ 누르십시오[]. +hint.unitSelectControl = ìœ ë‹›ì„ ì¡°ì¢…í•˜ë ¤ë©´, [accent]왼쪽 shift[]를 눌러 [accent]명령 모드[]를 활성화하시오.\n명령 모드가 활성화ë˜ì–´ ìžˆì„ ë•Œ 누르거나 ëŒì–´ì„œ ìœ ë‹›ì„ ì„ íƒí•©ë‹ˆë‹¤. [accent]ìš°í´ë¦­[]으로 유닛ì—게 ì´ë™ê³¼ ê³µê²©ì„ ëª…ë ¹í•  수 있습니다. +hint.unitSelectControl.mobile = ìœ ë‹›ì„ ì¡°ì¢…í•˜ë ¤ë©´, 왼쪽 ì•„ëž˜ì— ìžˆëŠ” [accent]명령[]ì„ ëˆŒëŸ¬ [accent]명령 모드[]를 활성화하시오.\n명령 모드가 활성화ë˜ì–´ ìžˆì„ ë•Œ 길게 누르거나 ëŒì–´ì„œ ìœ ë‹›ì„ ì„ íƒí•©ë‹ˆë‹¤. 눌러서 유닛ì—게 ì´ë™ê³¼ ê³µê²©ì„ ëª…ë ¹í•  수 있습니다. +hint.launch = 충분한 ìžì›ì„ 모았으면, 오른쪽 ì•„ëž˜ì˜ \ue827 [accent]ì§€ë„[]ì—서 주변 ì§€ì—­ì„ ì„ íƒí•´ì„œ [accent]출격[]í•  수 있습니다. +hint.launch.mobile = 충분한 ìžì›ì„ 모았으면, 오른쪽 ì•„ëž˜ì˜ \ue88c [accent]메뉴[]ì— ìžˆëŠ” \ue827 [accent]ì§€ë„[]ì—서 주변 ì§€ì—­ì„ ì„ íƒí•´ì„œ [accent]출격[]í•  수 있습니다. +hint.schematicSelect = [accent][[F][]를 누른 채로 ëŒì–´ì„œ 복사하고 ë¶™ì—¬ë„£ì„ ë¸”ë¡ì„ ì„ íƒí•˜ì‹­ì‹œì˜¤. \n\n [accent][[마우스 휠][]ì„ ëˆ„ë¥´ë©´ 한 ê°œì˜ ë¸”ë¡ë§Œ 복사할 수 있습니다. +hint.rebuildSelect = [accent][[B][]를 누르고 ëŒì–´ì„œ íŒŒê´´ëœ ë¸”ë¡ í”ì ì„ ì„ íƒí•˜ì„¸ìš”.\nì„ íƒëœ 블ë¡ì€ ìžë™ìœ¼ë¡œ 복구ë©ë‹ˆë‹¤. +hint.rebuildSelect.mobile = 복사버튼 \ue874 ì„ ì„ íƒí•˜ì‹œê³ , 재건축 버튼 \ue80f ì„ íƒ­ 하신 ë’¤, 드래그 하여 ë¸”ë¡ í”ì ì„ ì„ íƒí•˜ì„¸ìš”. ì„ íƒëœ 블ë¡ì€ ìžë™ìœ¼ë¡œ 복구ë©ë‹ˆë‹¤. +hint.conveyorPathfind = [accent][[왼쪽 Ctrl][]ì„ ëˆ„ë¥¸ 채로 컨베ì´ì–´ë¥¼ 대ê°ì„ ìœ¼ë¡œ ëŒë©´ ê¸¸ì„ ìžë™ìœ¼ë¡œ 만들어ì¤ë‹ˆë‹¤. +hint.conveyorPathfind.mobile = \ue844 [accent]ëŒ€ê° ëª¨ë“œ[]를 활성화하고 컨베ì´ì–´ë¥¼ 대ê°ì„ ìœ¼ë¡œ ëŒë©´ ê¸¸ì„ ìžë™ìœ¼ë¡œ 찾아ì¤ë‹ˆë‹¤. +hint.boost = [accent][[왼쪽 Shift][]를 눌러 탑승한 기체로 ìž¥ì• ë¬¼ì„ ë„˜ì„ ìˆ˜ 있습니다. \n\n ì¼ë¶€ ì§€ìƒ ìœ ë‹›ë§Œ ì´ë¥™í•  수 있습니다. +hint.payloadPickup = ìž‘ì€ ë¸”ë¡ì´ë‚˜ ìœ ë‹›ì„ ì§‘ìœ¼ë ¤ë©´ [accent][[[]를 누르십시오. +hint.payloadPickup.mobile = ìž‘ì€ ë¸”ë¡ì´ë‚˜ ìœ ë‹›ì„ ì§‘ìœ¼ë ¤ë©´ [accent]ìž ê¹ ëˆ„ë¥´ì‹­ì‹œì˜¤[]. hint.payloadDrop = 다시 내려놓으려면 [accent]][]를 누르십시오. hint.payloadDrop.mobile = 다시 내려놓으려면 빈 공간ì—서 [accent]í™”ë©´ì„ ìž ê¹ ëˆ„ë¥´ì‹­ì‹œì˜¤[]. -hint.waveFire = [accent]Wave[]í¬íƒ‘ì— íƒ„ì•½ìœ¼ë¡œ ë¬¼ì„ ë„£ìœ¼ë©´ ì£¼ë³€ì˜ ë¶ˆì„ ìžë™ìœ¼ë¡œ 꺼ì¤ë‹ˆë‹¤. -hint.generator = \uf879 [accent]화력 발전기[]는 ì„íƒ„ì„ íƒœì›Œì„œ 주변 블ë¡ì— ì „ë ¥ì„ ì „ë‹¬í•©ë‹ˆë‹¤.\n\n \uf87f ë” ë„“ì€ ë²”ìœ„ì˜ ë¸”ë¡ì— ì „ë ¥ì„ ì „ë‹¬í•˜ë ¤ë©´ [accent]Power Nodes[]를 사용하십시오. -hint.guardian = [accent]수호ìž[] ìœ ë‹›ë“¤ì€ ë°©ì–´ë ¥ì„ ê°€ì§‘ë‹ˆë‹¤. [accent]구리[]와 [accent]ë‚©[]ê°™ì€ ì•½í•œ 탄약으로는 [scarlet]아무런 íš¨ê³¼ë„ ì—†ìŠµë‹ˆë‹¤[].\n\n그런 수호ìžë¥¼ 없애려면 ë†’ì€ ë‹¨ê³„ì˜ í¬íƒ‘ ë˜ëŠ” \uf835 [accent]í‘ì—°[]ì„ íƒ„ì•½ìœ¼ë¡œ ë„£ì€ \uf861듀오/\uf859살보를 사용하십시오. -hint.coreUpgrade = 코어는 [accent]ìƒìœ„ 코어를 ìœ„ì— ì„¤ì¹˜í•¨[]ìœ¼ë¡œì¨ ì—…ê·¸ë ˆì´ë“œí•  수 있습니다.\n\n [accent]기반[] 코어를 ï¡© [accent]ì¡°ê°[] 코어 ìœ„ì— ì„¤ì¹˜í•˜ì‹­ì‹œì˜¤. ì£¼ë³€ì— ìž¥ì• ë¬¼ì´ ì—†ëŠ”ì§€ë„ í™•ì¸í•˜ì‹­ì‹œì˜¤. -hint.presetLaunch = [accent]ì–¼ì–´ë¶™ì€ ìˆ²[]ê³¼ ê°™ì€ íšŒìƒ‰[accent]ìº íŽ˜ì¸ ì§€ì—­[]ì€ ì–´ë””ì—서나 출격해서 올 수 있습니다. 주변 ì§€ì—­ì„ ì ë ¹í•˜ì§€ ì•Šì•„ë„ ë©ë‹ˆë‹¤.\n\nì´ì™€ ê°™ì€ [accent]네임드 지역[]ë“¤ì€ [accent]ì„ íƒì []입니다. -hint.coreIncinerate = 코어가 ì•„ì´í…œìœ¼ë¡œ ê°€ë“ ì°¬ í›„ì— ë°›ëŠ” 모든 ì•„ì´í…œë“¤ì€ [accent]소ê°[]ë  ê²ƒìž…ë‹ˆë‹¤. -hint.coopCampaign = [accent]í˜‘ë™ ìº íŽ˜ì¸[]ì„ í•  ë–„, 현재 ë§µì—서 ìƒì‚°ëœ ì•„ì´í…œë“¤ì€ [accent]ë‹¹ì‹ ì˜ ìº íŽ˜ì¸ ì§€ì—­ìœ¼ë¡œ[]ë„ ë³´ë‚´ì§‘ë‹ˆë‹¤.\n\n호스트가 새로 해금한 모든 ê²ƒë“¤ë„ ê°€ì ¸ê°‘ë‹ˆë‹¤. +hint.waveFire = [accent]파ë„[] í¬íƒ‘ì— ë¬¼ì„ ê³µê¸‰í•˜ë©´ ì£¼ë³€ì— ë°œìƒí•œ 화재를 ìžë™ìœ¼ë¡œ 진압합니다. +hint.generator = \uf879 [accent]화력 발전기[]는 ì„íƒ„ì„ íƒœì›Œì„œ 주변 블ë¡ì— ì „ë ¥ì„ ì „ë‹¬í•©ë‹ˆë‹¤.\n\n \uf87f ë” ë„“ì€ ë²”ìœ„ì˜ ë¸”ë¡ì— ì „ë ¥ì„ ì „ë‹¬í•˜ë ¤ë©´ [accent]ì „ë ¥ 노드[]를 활용하십시오. +hint.guardian = [accent]수호ìž[] ìœ ë‹›ì€ ë†’ì€ ì²´ë ¥ê³¼ ë°©ì–´ë ¥ì„ ê°€ì¡ŒìŠµë‹ˆë‹¤. [accent]구리[]와 [accent]ë‚©[]처럼 약한 탄약으로는 [scarlet]아무런 íš¨ê³¼ë„ ì—†ìŠµë‹ˆë‹¤[].\n\n수호ìžë¥¼ 제거하려면 ë†’ì€ ë‹¨ê³„ì˜ í¬íƒ‘ ë˜ëŠ” \uf835 [accent]í‘ì—°[]ì„ íƒ„ì•½ìœ¼ë¡œ ë„£ì€ \uf861듀오/\uf859살보를 사용하십시오. +hint.coreUpgrade = 코어는 [accent]ìƒìœ„ 코어를 ìœ„ì— ì„¤ì¹˜[]하여 업그레ì´ë“œí•  수 있습니다.\n\n [accent]기반[] 코어를 [accent]ì¡°ê°[] 코어 ìœ„ì— ì„¤ì¹˜í•˜ì‹­ì‹œì˜¤. ì£¼ë³€ì— ìž¥ì• ë¬¼ì´ ì—†ëŠ”ì§€ 확ì¸í•˜ì‹­ì‹œì˜¤. +hint.presetLaunch = [accent]ì–¼ì–´ë¶™ì€ ìˆ²[]ê³¼ ê°™ì€ íšŒìƒ‰[accent]ìº íŽ˜ì¸ ì§€ì—­[]ì€ ì–´ë””ì—서나 출격해서 올 수 있습니다. 주변 ì§€ì—­ì„ ì ë ¹í•˜ì§€ ì•Šì•„ë„ ë©ë‹ˆë‹¤.\n\nì´ì™€ ê°™ì€ [accent]네임드 지역[]ë“¤ì€ [accent]ì„ íƒì []입니다. +hint.presetDifficulty = ì´ ì§€ì—­ì€ [scarlet]위험ë„ê°€ 높ì€[] 지역입니다.\nì ì ˆí•œ 기술과 준비 ì—†ì´ ì´ëŸ° 지역들로 출격하는건 [accent]추천하지 않습니다[]. +hint.coreIncinerate = 코어가 ìžì›ìœ¼ë¡œ ê°€ë“ ì°¬ í›„ì— ë°›ëŠ” 모든 ìžì›ë“¤ì€ [accent]소ê°[]ë  ê²ƒìž…ë‹ˆë‹¤. +hint.factoryControl = 유닛 ê³µìž¥ì˜ [accent]출력 목ì ì§€[]를 설정하려면, 명령 모드ì—서 공장 블ë¡ì„ í´ë¦­í•œ 다ìŒ, 마우스 오른쪽 버튼으로 위치를 지정합니다.\nìƒì‚°ëœ ìœ ë‹›ì€ ìžë™ìœ¼ë¡œ 그곳으로 ì´ë™í•©ë‹ˆë‹¤. +hint.factoryControl.mobile = 유닛 ê³µìž¥ì˜ [accent]출력 목ì ì§€[]를 설정하려면, 명령 모드ì—서 공장 블ë¡ì„ í´ë¦­í•œ 다ìŒ, 눌러서 위치를 지정합니다.\nìƒì‚°ëœ ìœ ë‹›ì€ ìžë™ìœ¼ë¡œ 그곳으로 ì´ë™í•©ë‹ˆë‹¤. -item.copper.description = 가장 기본ì ì¸ 건설 재료. 모든 ìœ í˜•ì˜ ë¸”ë¡ì—서 광범위하게 사용ë©ë‹ˆë‹¤. -item.copper.details = í‰ë²”한 구리. ì„¸ë¥´í”Œë¡œì— ë¹„ì •ìƒì ìœ¼ë¡œ ë§Žì´ ë¶„í¬ë˜ì–´ 있습니다. 별다른 보강재 ì—†ì´ëŠ” êµ¬ì¡°ì  ë¬¸ì œ ë•Œë¬¸ì— ë‚´êµ¬ì„±ì´ ë¹„êµì  약합니다. -item.lead.description = 기본 초반 재료. ì „ìž ë° ì•¡ì²´ 수송 블ë¡ì—서 광범위하게 사용ë˜ëŠ” ìžì›ìž…니다. -item.lead.details = ë°€ë„ê°€ 높으며 ë°˜ì‘ì„±ì´ ì ì€ ìžì›. ë°°í„°ë¦¬ì— ì£¼ë¡œ 사용ë©ë‹ˆë‹¤. -item.metaglass.description = 초강력 방탄유리. ì•¡ì²´ ë¶„ë°° ë° ì €ìž¥ì— ê´‘ë²”ìœ„í•˜ê²Œ 사용ë©ë‹ˆë‹¤. -item.graphite.description = 탄약 ë° ì „ê¸° ë¶€í’ˆì— ì‚¬ìš©ë˜ëŠ” 무기질 탄소. -item.sand.description = 제련ì—서 합금 ë˜ëŠ” 플럭스ì—서 광범위하게 사용ë˜ëŠ” ì¼ë°˜ì ì¸ 재료. -item.coal.description = í™”ì„í™”ëœ ì‹ë¬¼ 물질. ì”¨ì•—ì´ ë‚˜ì˜¤ê¸° 훨씬 ì „ì— í˜•ì„±ë˜ì—ˆìŠµë‹ˆë‹¤. 연료 ë° ìžì› ìƒì‚°ì— 광범위하게 사용ë©ë‹ˆë‹¤. -item.coal.details = 발화 작용 ì´ì „, ì˜¤ëž˜ì „ì— ìƒì„±ëœ í™”ì„í™” ìž‘ìš©ì„ ê±°ì¹œ ì‹ë¬¼ì²´ë¡œ 보입니다. -item.titanium.description = ì•¡ì²´ 수송, 드릴ì´ë‚˜ í•­ê³µê¸°ì— ê´‘ë²”ìœ„í•˜ê²Œ 사용ë˜ëŠ” í¬ê·€ 초경량 금ì†. -item.thorium.description = êµ¬ì¡°ì  ì§€ì§€ ë° í•µì—°ë£Œë¡œ 사용ë˜ëŠ” ê³ ë°€ë„ì˜ ë°©ì‚¬ì„± 금ì†. -item.scrap.description = ì˜¤ëž˜ëœ ê±´ë¬¼ê³¼ ìœ ë‹›ì˜ ë‚¨ì€ ìž”í•´. ë¯¸ëŸ‰ì˜ ë‹¤ì–‘í•œ 금ì†ë“¤ì´ í¬í•¨ë˜ì–´ 있습니다. -item.scrap.details = ì˜¤ëž˜ëœ êµ¬ì¡°ë¬¼ê³¼ ìœ ë‹›ì˜ ìž”í•´. -item.silicon.description = 매우 유용한 ë°˜ë„ì²´. 복잡한 ì „ìž ìž¥ì¹˜ë‚˜ 유ë„íƒ„ì— ì‚¬ìš©ë©ë‹ˆë‹¤. -item.plastanium.description = 고급 기체 ë° íŒŒíŽ¸í™” íƒ„ì•½ì— ì‚¬ìš©ë˜ëŠ” ê°€ë³ê³  ì—°ì„±ì´ ìžˆëŠ” 재료입니다. -item.phase-fabric.description = 최첨단 ì „ìž ì œí’ˆê³¼ ìžê¸°ìˆ˜ë¦¬ ê¸°ìˆ ì— ì‚¬ìš©ë˜ëŠ” ê±°ì˜ ë¬´ì¤‘ë ¥ì— ê°€ê¹Œìš´ 물질입니다. -item.surge-alloy.description = ë…특한 ì „ê¸°ì  íŠ¹ì„±ì„ ê°€ì§„ 고급 합금. -item.spore-pod.description = ì‚°ì—… 목ì ì„ 위해 대기 ë†ë„ì—서 í•©ì„±ëœ í¬ìž 버섯. ì„유, í­ë°œë¬¼ ë° ì—°ë£Œë¡œ 전환하는 ë° ì‚¬ìš©ë©ë‹ˆë‹¤. -item.spore-pod.details = í¬ìž. 유기ì ì¸ ìƒëª…체로 íŒë‹¨ëœë‹¤. 타 ìœ ê¸°ì²´ì— ì¹˜ëª…ì ì¸ ë…가스를 내뿜는다. ì¹¨ìž…ì„±ì´ ë§¤ìš° 강하다. 특정 ì¡°ê±´ì—서 강력한 ì¸í™”ì„±ì„ ë³´ìž…ë‹ˆë‹¤. -item.blast-compound.description = í­íƒ„ê³¼ í­ë°œë¬¼ì— 사용ë˜ëŠ” 불안정한 화합물. í¬ìž 버섯 ë° ê¸°íƒ€ 휘발성 물질로 합성할 수 있습니다. 연료로 ì‚¬ìš©í•˜ì§€ 않는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤. -item.pyratite.description = ì†Œì´ ë¬´ê¸°ì—서 사용ë˜ëŠ” 가연성 매우 ë†’ì€ ë¬¼ì§ˆ. +gz.mine = 주변 ë•…ì— ìžˆëŠ” \uf8c4 [accent]구리 ê´‘ì„[]으로 ì´ë™í•˜ê³ , ê´‘ì„ì„ í´ë¦­í•´ì„œ ì±„êµ´ì„ ì‹œìž‘í•˜ì„¸ìš”. +gz.mine.mobile = 주변 ë•…ì— ìžˆëŠ” \uf8c4 [accent]구리 ê´‘ì„[]으로 ì´ë™í•˜ê³ , ê´‘ì„ì„ ëˆŒëŸ¬ì„œ ì±„êµ´ì„ ì‹œìž‘í•˜ì„¸ìš”. +gz.research = 오른쪽 í•˜ë‹¨ì— \ue875 연구 기ë¡ì„ í´ë¦­í•˜ê±°ë‚˜ [J]키를 눌러 여세요.\n\uf870 [accent]ê¸°ê³„ì‹ ë“œë¦´[]ì„ ì—°êµ¬í•˜ê³ , ê·¸ 후 연구 기ë¡ì„ 닫아서 오른쪽 ì•„ëž˜ì— ìžˆëŠ” 메뉴ì—서 해당 ë“œë¦´ì„ ì„ íƒí•˜ì„¸ìš”.\n구리 ê´‘ì„ ìœ„ì— í´ë¦­í•´ì„œ 배치합니다.\n(만약 바로 건설ë˜ëŠ”ê²Œ 불편하다면, 설정ì—서 건설 ìžë™ ì¼ì‹œì •지를 킬 수 있습니다.)[] +gz.research.mobile = 왼쪽 ìƒë‹¨ì— \ue875 연구 기ë¡ì„ 눌러 여세요.\n\uf870 [accent]ê¸°ê³„ì‹ ë“œë¦´[]ì„ ì—°êµ¬í•˜ê³ , ê·¸ 후 연구 메뉴를 닫아서 오른쪽 ì•„ëž˜ì— ìžˆëŠ” ë¸”ë¡ ë©”ë‰´ì—서 해당 ë“œë¦´ì„ ì„ íƒí•˜ì„¸ìš”.\n구리 ê´‘ì„ ìœ„ì— ëˆŒëŸ¬ì„œ 배치합니다.\n\n오른쪽 아래 \ue800 [accent]ì²´í¬ë§ˆí¬[]를 눌러 확정지으세요. +gz.conveyors = \uf896 ì´ì œ 연구 기ë¡ì„ 다시 ì—´ì–´ [accent]컨베ì´ì–´[]를 연구하고 배치하여 ì±„êµ´ëœ ìžì›ì„ 운반하세요.\n드릴ì—서 코어로 ë§ì´ì£ .\n\n컨베ì´ì–´ë¥¼ ì„ íƒí•˜ê³ , í´ë¦­í•˜ê³  드래그해서 컨베ì´ì–´ë¥¼ 길게 배치하세요.\n[accent]스í¬ë¡¤[]로 ë°©í–¥ì„ íšŒì „í•  수 있습니다.\nìžì›ì´ 부족하면 연구나 ê±´ì„¤ì´ ë¶ˆê°€ëŠ¥í•´ì§€ë‹ˆ 참고해주세요. +gz.conveyors.mobile = \uf896 ì´ì œ 연구 기ë¡ì„ 다시 ì—´ì–´ [accent]컨베ì´ì–´[]를 연구하고 배치하여 ì±„êµ´ëœ ìžì›ì„ 운반하세요.\n드릴ì—서 코어로 ë§ì´ì£ .\n\nì†ê°€ë½ì„ 길게 누르고 ëŒì–´ì„œ 컨베ì´ì–´ë¥¼ 길게 배치하세요.\nìžì›ì´ 부족하면 연구나 ê±´ì„¤ì´ ë¶ˆê°€ëŠ¥í•´ì§€ë‹ˆ 참고해주세요. +gz.drills = 채굴 ìž‘ì—…ì„ í™•ìž¥í•˜ì„¸ìš”.\nê¸°ê³„ì‹ ë“œë¦´ì„ ë” ë°°ì¹˜í•˜ì„¸ìš”.\n[accent]새 목표:[] 드릴로 구리를 채굴하고 컨베ì´ì–´ë¥¼ ì´ìš©í•´ [accent]구리 100ê°œ[]를 코어로 운반하기. +gz.lead = \uf837 [accent]ë‚©[]ì€ ì¼ë°˜ì ìœ¼ë¡œ 사용ë˜ëŠ” ë˜ ë‹¤ë¥¸ ìžì›ìž…니다.\në‚©ì„ ì±„êµ´í•˜ê¸° 위한 ë“œë¦´ì„ ê±´ì„¤í•˜ì„¸ìš”. +gz.moveup = \ue804 추가 목표를 위해 위로 ì´ë™í•˜ì„¸ìš”. +gz.turrets = ì´ ê²Œìž„ì˜ í•µì‹¬ì¸ '코어'를 보호하기 위해 \uf861 [accent]듀오[] í¬íƒ‘ì„ ì—°êµ¬í•˜ê³  2개를 설치하세요.\n듀오 í¬íƒ‘ì€ ì»¨ë² ì´ì–´ë¡œë¶€í„° \uf838 [accent]탄약[]ì„ ê³µê¸‰ë°›ì•„ì•¼ 합니다. +gz.duoammo = 컨베ì´ì–´ë¥¼ 활용하여, 듀오 í¬íƒ‘ì— [accent]구리[]를 공급하세요. +gz.walls = [accent]ë²½[]ì€ ê±´ë¬¼ë¡œ 날아오는 ê³µê²©ì„ ë§‰ì„ ìˆ˜ 있습니다. \ní¬íƒ‘ ì£¼ë³€ì— \uf8ae [accent]구리 ë²½[]ì„ ë°°ì¹˜í•˜ì„¸ìš”. +gz.defend = ì ì´ 다가옵니다, ë°©ì–´ 태세를 갖추세요. +gz.aa = 비행 ìœ ë‹›ì€ ê¸°ë³¸ í¬íƒ‘으로는 쉽게 처리할 수 없습니다.\n\uf860 [accent]스ìºí„°[] í¬íƒ‘ì€ í›Œë¥­í•œ 대공 방어를 ìžëž‘하지만, 탄환으로 \uf837 [accent]ë‚©[]ì´ í•„ìš”í•©ë‹ˆë‹¤. +gz.scatterammo = 컨베ì´ì–´ë¥¼ 활용하여, 스ìºí„° í¬íƒ‘ì— [accent]ë‚©[]ì„ ê³µê¸‰í•˜ì„¸ìš”. +gz.supplyturret = [accent]보급 í¬íƒ‘ +gz.zone1 = ì´ê±´ ì ì˜ 착륙 ì§€ì ìž…니다. +gz.zone2 = ë°˜ê²½ì— ì„¸ì›Œì§„ 모든 ê²ƒì€ ë‹¨ê³„ê°€ 시작ë˜ë©´ 파괴ë©ë‹ˆë‹¤. +gz.zone3 = 단계가 지금 시작ë©ë‹ˆë‹¤.\n준비하세요. +gz.finish = í¬íƒ‘ì„ ë” ê±´ì„¤í•˜ê³ , ìžì›ì„ ë” ì±„êµ´í•˜ê³ ,\n그리고 모든 단계를 막아내어 [accent]ì§€ì—­ì„ ì ë ¹[]하세요. ì´ê²ƒìœ¼ë¡œ íŠœí† ë¦¬ì–¼ì„ ë§ˆì¹©ë‹ˆë‹¤. í–‰ìš´ì„ ë¹•ë‹ˆë‹¤. -liquid.water.description = ê¸°ëŠ¥ì„±ì´ ë›°ì–´ë‚œ ì•¡ì²´. 냉ê°ê¸° ë° í기물 ì²˜ë¦¬ì— ì¼ë°˜ì ìœ¼ë¡œ 사용ë©ë‹ˆë‹¤. -liquid.slag.description = 다양한 ì¢…ë¥˜ì˜ ê¸ˆì†ë“¤ì´ 함께 섞여 녹아있습니다. 분리기를 ì´ìš©í•´ 다른 광물들로 분리하거나 탄약으로 사용해 ì  ë¶€ëŒ€ë¥¼ 향해 ì‚´í¬í•  수 있습니다. -liquid.oil.description = 고급 재료 ìƒì‚°ì— 사용ë˜ëŠ” ì•¡ì²´. ì„탄으로 전환하거나 무기로 뿌려서 ë¶ˆì„ ì§€ë¥¼ 수 있습니다. -liquid.cryofluid.description = 물과 티타늄으로 만든 비 ë¶€ì‹ì„± ì•¡ì²´. ì—´ ìš©ëŸ‰ì´ ë§¤ìš° 높으며 냉ê°ìˆ˜ë¡œ 광범위하게 사용ë©ë‹ˆë‹¤. +onset.mine = ë²½ì— ë¶™ì–´ìžˆëŠ” \uf748 [accent]베릴륨[]ì„ í´ë¦­í•˜ì—¬ 채굴하세요.\n\n[accent][WASD]로 움ì§ì´ì„¸ìš”. +onset.mine.mobile = ë²½ì— ë¶™ì–´ìžˆëŠ” \uf748 [accent]베릴륨[]ì„ ëˆŒëŸ¬ì„œ 채굴하세요. +onset.research = \ue875 연구 기ë¡ì„ 여세요.\n \uf73e [accent]터빈 ì‘결기[]를 연구하고, 연구 기ë¡ì„ 다시 ë‹«ì€ ë‹¤ìŒ, 구ë©ì´ ìœ„ì— ë°°ì¹˜í•˜ì„¸ìš”.\n[accent]ì „ë ¥[]ì„ ìƒì‚°í•©ë‹ˆë‹¤. +onset.bore = 다시 연구 기ë¡ì„ ì—´ì–´ \uf741 [accent]플ë¼ì¦ˆë§ˆ 채광기[]를 연구하고 배치하세요.\n벽으로부터 ìžë™ìœ¼ë¡œ ìžì›ì„ 채굴합니다. +onset.power = [accent]ì „ë ¥[]ì„ í”Œë¼ì¦ˆë§ˆ 채광기로 전달하기 위해선, \uf73d [accent]ë¹” 노드[]를 연구하고 배치하세요.\n터빈 ì‘결기와 플ë¼ì¦ˆë§ˆ 채광기를 연결하세요. +onset.ducts = \uf799 [accent]ë„ê´€[]ì„ ì—°êµ¬í•˜ê³  배치하여 플ë¼ì¦ˆë§ˆ 채광기ì—서 채굴한 ìžì›ì„ 코어로 운반하세요.\ní´ë¦­í•˜ê³  ëŒì–´ì„œ ë„ê´€ì„ ê¸¸ê²Œ 연결하세요.\n[accent]스í¬ë¡¤í•´ì„œ[]해서 ë°©í–¥ì„ íšŒì „í•  수 있습니다. +onset.ducts.mobile = \uf799 [accent]ë„ê´€[]ì„ ì—°êµ¬í•˜ê³  배치하여 플ë¼ì¦ˆë§ˆ 채광기ì—서 채굴한 ìžì›ì„ 코어로 운반하세요.\nì†ê°€ë½ì„ 길게 누르고 ëŒì–´ì„œ ë„ê´€ì„ ê¸¸ê²Œ 연결하세요. +onset.moremine = 채굴 ìž‘ì—…ì„ í™•ìž¥í•˜ì„¸ìš”.\në” ë§Žì€ í”Œë¼ì¦ˆë§ˆ 채광기를 배치하고 ë¹” 노드와 ë„ê´€ì„ ì‚¬ìš©í•˜ì—¬ 보조하세요.\n베릴륨 200ê°œ 채굴하기. +onset.graphite = ë” ë³µìž¡í•œ ê±´ë¬¼ì€ \uf835 [accent]í‘ì—°[]ì´ í•„ìš”í•©ë‹ˆë‹¤.\ní‘ì—°ì„ ì±„êµ´í•˜ëŠ” 플ë¼ì¦ˆë§ˆ 채광기를 배치하세요. +onset.research2 = [accent]공장[]ì„ ì—°êµ¬í•  시간입니다.\n \uf74d [accent]ë²½ 분쇄기[]와 \uf779 [accent]실리콘 ì•„í¬ í™”ë¡œ[]를 연구하세요. +onset.arcfurnace = ì•„í¬ í™”ë¡œëŠ” \uf834 [accent]모래[]와 \uf835 [accent]í‘ì—°[]ì„ ê°€ê³µí•˜ì—¬ \uf82f [accent]실리콘[]ì„ ìƒì‚°í•©ë‹ˆë‹¤.\n[accent]ì „ë ¥[] ë˜í•œ 필수입니다. +onset.crusher = \uf74d [accent]ë²½ 분쇄기[]를 사용하여 모래를 채굴하세요. +onset.fabricator = [accent]유닛[]ì€ ë§µì„ ì •ì°°í•˜ê±°ë‚˜, ê±´ë¬¼ì„ ë³´í˜¸í•˜ê±°ë‚˜, ì ì„ 공격할 때 활용할 수 있습니다. \uf6a2 [accent]ì „ì°¨ 재조립기[]를 연구하고 배치하세요. +onset.makeunit = ìœ ë‹›ì„ ìƒì‚°í•˜ì„¸ìš”.\n"?" ë²„íŠ¼ì„ ëˆŒëŸ¬ ì„ íƒí•œ ê³µìž¥ì˜ ìš”êµ¬ì‚¬í•­ì„ í™•ì¸í•  수 있습니다. +onset.turrets = ìœ ë‹›ì€ ìœ ìš©í•˜ì§€ë§Œ, [accent]í¬íƒ‘[]ì€ ì‚¬ìš©í•˜ê¸°ì— ë”°ë¼ ë” ë‚˜ì€ ë°©ì–´ ì„±ëŠ¥ì„ ë³´ì—¬ì¤ë‹ˆë‹¤.\n \uf6eb [accent]브리치[] í¬íƒ‘ì„ ë°°ì¹˜í•˜ì„¸ìš”.\ní¬íƒ‘ì€ \uf748 [accent]탄약[]ì´ í•„ìš”í•©ë‹ˆë‹¤. +onset.turretammo = í¬íƒ‘ì— [accent]베릴륨 탄약[]ì„ ê³µê¸‰í•˜ì„¸ìš”. +onset.walls = [accent]ë²½[]ì€ ê±´ë¬¼ë¡œ 날아오는 ê³µê²©ì„ ë§‰ì„ ìˆ˜ 있습니다. \ní¬íƒ‘ ì£¼ë³€ì— \uf6ee [accent]베릴륨 ë²½[]ì„ ë°°ì¹˜í•˜ì„¸ìš”. +onset.enemies = ì ì´ 다가옵니다, ë°©ì–´ 태세를 갖추세요. +onset.defenses = [accent]ë°©ì–´ 태세 갖추기:[lightgray] {0} +onset.attack = ì ì€ 취약한 ìƒíƒœìž…니다. 반격하세요. +onset.cores = 새로운 코어는 [accent]코어 타ì¼[]ìœ„ì— ë°°ì¹˜í•  수 있습니다.\n새로운 코어는 전진기지 ì—­í• ì„ í•˜ë©° 다른 코어와 ì €ìž¥ëœ ìžì›ì„ 공유합니다.\n \uf725 코어를 배치하세요. +onset.detect = ì ì€ 2ë¶„ ì´ë‚´ì— ë‹¹ì‹ ì„ íƒì§€í•  것입니다.\nìƒì‚°, 채굴, ë°©ì–´ì‹œì„¤ì„ êµ¬ì„±í•˜ì„¸ìš”. +onset.commandmode = [accent]shift[]를 눌러 [accent]명령 모드[]를 활성화하세요.\n[accent]좌í´ë¦­ê³¼ 드래그[]로 ìœ ë‹›ì„ ì„ íƒí•˜ì„¸ìš”.\n[accent]ìš°í´ë¦­[]으로 ì„ íƒëœ 유닛들ì—게 ì´ë™ ë˜ëŠ” 공격 ëª…ë ¹ì„ ë‚´ë¦¬ì„¸ìš”. +onset.commandmode.mobile = [accent]명령 버튼[]ì„ ëˆŒëŸ¬ [accent]명령 모드[]를 활성화하세요.\nì†ê°€ë½ì„ ê¾¹ 누르고, [accent]드래그[]해서 ìœ ë‹›ì„ ì„ íƒí•˜ì„¸ìš”.\n[accent]눌러서[] ì„ íƒëœ 유닛들ì—게 ì´ë™ ë˜ëŠ” 공격 ëª…ë ¹ì„ ë‚´ë¦¬ì„¸ìš”. ì´ê²ƒìœ¼ë¡œ ì—ë¥´í‚¤ì•„ì˜ íŠœí† ë¦¬ì–¼ì„ ë§ˆì¹©ë‹ˆë‹¤. í–‰ìš´ì„ ë¹•ë‹ˆë‹¤. +aegis.tungsten = 텅스í…ì„ ì±„êµ´í•˜ë ¤ë©´ [accent]충격 드릴[]ì´ í•„ìš”í•©ë‹ˆë‹¤.\n 충격 드릴ì€[accent]물[]ê³¼ [accent]ì „ë ¥[]ì„ í•„ìš”ë¡œ 합니다. -block.resupply-point.description = 주변 유닛들ì—게 구리 íƒ„ì•½ì„ ë³´ê¸‰í•©ë‹ˆë‹¤. 베터리 ì „ë ¥ì´ í•„ìš”í•œ ìœ ë‹›ë“¤ì€ í˜¸í™˜ë˜ì§€ 않습니다. -block.armored-conveyor.description = 앞으로 ì•„ì´í…œë“¤ì„ 운반합니다. 측면ì—서 ì•„ì´í…œë“¤ì„ 받아들ì´ì§€ 않습니다. +split.pickup = ì¼ë¶€ 블ë¡ì€ 코어 유닛으로 집어올릴 수 있습니다.\nì´ [accent]컨테ì´ë„ˆ[]를 집어올리고 [accent]화물 로ë”[] ì†ì— 내려놓으세요.\n(í™”ë¬¼ì„ ì§‘ì–´ì˜¬ë¦¬ê±°ë‚˜ 내리는 기본 키는 [ 그리고 ]입니다.) +split.pickup.mobile = ì¼ë¶€ 블ë¡ì€ 코어 유닛으로 집어올릴 수 있습니다.\nì´ [accent]컨테ì´ë„ˆ[]를 집어올리고 [accent]화물 로ë”[] ì†ì— 내려놓으세요.\n(무언가를 집어올리거나 내려놓으려면, 길게 누르세요.) +split.acquire = ìœ ë‹›ì„ ìƒì‚°í•˜ë ¤ë©´ 텅스í…ì„ ì±„êµ´í•´ì•¼ 합니다. +split.build = ìœ ë‹›ì„ ë²½ì˜ ë°˜ëŒ€íŽ¸ìœ¼ë¡œ 운반해야 합니다.\në‘ ê°œì˜ [accent]화물 매스 드ë¼ì´ë²„[]를 ê° ë²½ë©´ì— í•˜ë‚˜ì”© 배치하세요.\n둘 중 하나를 누른 ë‹¤ìŒ ë‹¤ë¥¸ 하나를 ì„ íƒí•˜ì—¬ ì—°ê²°ì„ ì„¤ì •í•©ë‹ˆë‹¤. +split.container = 컨테ì´ë„ˆì™€ 마찬가지로, ìœ ë‹›ë„ [accent]화물 매스 드ë¼ì´ë²„[]를 사용하여 운송할 수 있습니다.\n유닛 조립대를 매스 드ë¼ì´ë²„ ê·¼ì²˜ì— ë°°ì¹˜í•˜ì—¬ ìœ ë‹›ì„ ì ìž¬í•œ 후, ë²½ì„ ê°€ë¡œì§ˆëŸ¬ ë³´ë‚´ ì  ê¸°ì§€ë¥¼ 공격하게 만듭니다. + +item.copper.description = 모든 ì¢…ë¥˜ì˜ êµ¬ì¡°ë¬¼ ë° íƒ„ì•½ìœ¼ë¡œ 사용하는 기본 ìžì›ìž…니다. +item.copper.details = í‰ë²”한 구리. ì„¸ë¥´í”Œë¡œì— ë¹„ì •ìƒì ìœ¼ë¡œ ë§Žì´ ë¶„í¬ë˜ì–´ 있습니다. 기본ì ìœ¼ë¡œ 보강하지 않는 한 구조ì ìœ¼ë¡œ 약합니다. +item.lead.description = ì „ìž ë° ì•¡ì²´ 수송 블ë¡ì—서 광범위하게 사용하는 기본 ìžì›ìž…니다. +item.lead.details = ë°€ë„ê°€ 높으며 ë°˜ì‘ì„±ì´ ì ì€ ìžì›. ë°°í„°ë¦¬ì— ì£¼ë¡œ 사용ë©ë‹ˆë‹¤. +item.metaglass.description = ì•¡ì²´ ë¶„ë°° ë° ì €ìž¥ì— ê´‘ë²”ìœ„í•˜ê²Œ 사용합니다. +item.graphite.description = 탄약 ë° ì „ê¸° ë¶€í’ˆì— ì‚¬ìš©ë˜ëŠ” 무기질 탄소입니다. +item.sand.description = 다른 ì œë ¨ëœ ìžì›ì˜ ìƒì‚°ì— 사용ë©ë‹ˆë‹¤. +item.coal.description = 연료 ë° ìžì› ìƒì‚°ì— 광범위하게 사용ë©ë‹ˆë‹¤. +item.coal.details = í™”ì„í™”ëœ ì‹ë¬¼ 물질. ì”¨ì•—ì´ ë‚˜ì˜¤ê¸° 훨씬 ì „ì— í˜•ì„±ë˜ì—ˆìŠµë‹ˆë‹¤. +item.titanium.description = ì•¡ì²´ 수송 구조물, 드릴 ë° ê³µìž¥ì—서 광범위하게 사용ë˜ëŠ” í¬ê·€í•œ 초경량 금ì†ìž…니다. +item.thorium.description = 튼튼한 구조물과 핵 연료로 사용ë˜ëŠ” ê³ ë°€ë„ì˜ ë°©ì‚¬ì„± 금ì†ìž…니다. +item.scrap.description = 융해기와 분쇄기를 통해 다른 물질로 정제할 수 있습니다. +item.scrap.details = ì˜¤ëž˜ëœ êµ¬ì¡°ë¬¼ê³¼ ìœ ë‹›ì˜ ìž”í•´. ë¯¸ëŸ‰ì˜ ë‹¤ì–‘í•œ 금ì†ë“¤ì´ í¬í•¨ë˜ì–´ 있습니다. +item.silicon.description = 복잡한 ì „ìž ìž¥ì¹˜ë‚˜ 유ë„íƒ„ì— ì‚¬ìš©ë˜ëŠ” 유용한 ë°˜ë„체입니다. +item.plastanium.description = 고급 유닛, 절연 ë° íŒŒíŽ¸í™” íƒ„ì•½ì— ì‚¬ìš©ë©ë‹ˆë‹¤. +item.phase-fabric.description = 최첨단 ì „ìž ì œí’ˆê³¼ ìžê°€ 수리 ê¸°ìˆ ì— ì‚¬ìš©ë˜ëŠ” ê±°ì˜ ë¬´ì¤‘ë ¥ì— ê°€ê¹Œìš´ 물질입니다. +item.surge-alloy.description = 첨단 무기 ë° ë°˜ìž‘ìš© ë°©ì–´ êµ¬ì¡°ë¬¼ì— ì‚¬ìš©ë˜ëŠ” 고급 합금입니다. +item.spore-pod.description = ì„유, í­ë°œë¬¼ê³¼ 연료로 전환하는 ë° ì‚¬ìš©ë˜ëŠ” 합성 í¬ìž 버섯입니다. +item.spore-pod.details = í¬ìž, 합성 ìƒëª…체로 íŒë‹¨ë©ë‹ˆë‹¤. 타 ìœ ê¸°ì²´ì— ì¹˜ëª…ì ì¸ ë…가스를 내뿜으며. 매우 빠르게 í¼ì§‘니다. 특정한 ì¡°ê±´ì—서 ì¸í™”ì„±ì´ ë§¤ìš° 높습니다. +item.blast-compound.description = í­íƒ„ê³¼ í­ë°œì„± íƒ„ì•½ì— ì‚¬ìš©ë˜ëŠ” 불안정한 화합물입니다. +item.pyratite.description = ë°©í™” 무기와 연료를 연소하는 ë°œì „ê¸°ì— ì‚¬ìš©ë˜ëŠ” ê°€ì—°ì„±ì´ ë§¤ìš° ë†’ì€ ë¬¼ì§ˆìž…ë‹ˆë‹¤. + +#Erekir +item.beryllium.description = ì—ë¥´í‚¤ì•„ì˜ ì—¬ëŸ¬ ì¢…ë¥˜ì˜ ê±´ì¶•ë¬¼ê³¼ íƒ„ì•½ì— ì‚¬ìš©ë©ë‹ˆë‹¤. +item.tungsten.description = 드릴, 장갑 ë° íƒ„ì•½ì— ì‚¬ìš©ë©ë‹ˆë‹¤. 보다 ë°œì „ëœ êµ¬ì¡°ë¬¼ì„ ê±´ì„¤í•˜ëŠ” ë° í•„ìš”í•©ë‹ˆë‹¤. +item.oxide.description = ì „ì›ì˜ ì—´ì „ë„ì²´ ë° ì ˆì—°ì²´ë¡œ 사용ë©ë‹ˆë‹¤. +item.carbide.description = 첨단 구조물, 강력한 기체 ë° íƒ„ì•½ì— ì‚¬ìš©ë©ë‹ˆë‹¤. + +liquid.water.description = 냉ê°ê¸° ë° í기물 ì²˜ë¦¬ì— ì‚¬ìš©ë©ë‹ˆë‹¤. +liquid.slag.description = 분리기를 통해 다른 ìžì›ìœ¼ë¡œ 정제하거나 탄환으로 ì ë“¤ì—게 ì‚´í¬í•  수 있습니다. +liquid.oil.description = 고급 재료 ìƒì‚°, ì„탄으로 전환 ë° ì ë“¤ì—게 ì‚´í¬í•˜ì—¬ ë¶ˆì„ ì§€ë¥¼ 수 있습니다. +liquid.cryofluid.description = ì›ìžë¡œ, í¬íƒ‘ ë° ê³µìž¥ì—서 냉ê°ìˆ˜ë¡œ 사용ë˜ëŠ” 비부ì‹ì„± 액체입니다. + +#Erekir +liquid.arkycite.description = 발전 ë° ìž¬ë£Œ í•©ì„±ì„ ìœ„í•œ 화학 ë°˜ì‘ì— ì‚¬ìš©ë©ë‹ˆë‹¤. +liquid.ozone.description = 재료 ìƒì‚°ì—서 산화제로 사용ë˜ë©° ì—°ë£Œë¡œë„ ì‚¬ìš©ë©ë‹ˆë‹¤. ì ë‹¹í•œ í­ë°œì„± 물질입니다. +liquid.hydrogen.description = ìžì› 추출, 기체 ìƒì‚° ë° êµ¬ì¡°ë¬¼ ìˆ˜ë¦¬ì— ì‚¬ìš©ë©ë‹ˆë‹¤. 가연성 물질입니다. +liquid.cyanogen.description = 탄약, 첨단 ê¸°ì²´ì˜ êµ¬ì¶• ë° ì²¨ë‹¨ 블ë¡ì˜ 다양한 ë°˜ì‘ì— ì‚¬ìš©ë©ë‹ˆë‹¤. 강한 ì¸í™”성 물질입니다. +liquid.nitrogen.description = ìžì› 추출, 가스 ìƒì„± ë° ê¸°ì²´ ìƒì‚°ì— 사용ë©ë‹ˆë‹¤. 불활성 물질입니다. +liquid.neoplasm.description = ì‹ ìƒë¬¼ ë°˜ì‘ë¡œì˜ ìœ„í—˜í•œ ìƒë¬¼í•™ì  부산물. 접촉하는 즉시 ì¸ì ‘한 모든 수분 함유 블ë¡ìœ¼ë¡œ 빠르게 확산ë˜ë©°, ì§„í–‰ë˜ëŠ” ë™ì•ˆ 피해를 입힙니다. ì ì„±ì„ ë„는 물질입니다. +liquid.neoplasm.details = ì‹ ìƒë¬¼, ì§„í™ê³¼ 비슷한 ì ì„±ì„ 가졌으며, 통제 ë¶ˆëŠ¥ì˜ ì†ë„로 빠르게 확산ë˜ëŠ” í•©ì„±ì„¸í¬ ë©ì–´ë¦¬ 입니다. ê³ ì˜¨ì— ì €í•­ë ¥ì´ ìžˆìœ¼ë©°, ì¼ë°˜ì ì¸ ë¶„ì„으로는 너무나 복잡하고 불안정하여 ì•„ì§ ì •í™•í•œ í–‰ë™ ì–‘ì‹ì´ë‚˜ ìƒíƒœë¥¼ 확ì¸í•˜ì§€ 못 했습니다. ì—´ 저항. 물과 ê´€ë ¨ëœ êµ¬ì¡°ë¬¼ì—는 매우 위험합니다.\n\n 광재 ì›…ë©ì´ì— 소ê°í•˜ëŠ” ê²ƒì´ ë°”ëžŒì§í•©ë‹ˆë‹¤. + +block.derelict = \uf77e [lightgray]잔해 +block.armored-conveyor.description = ìžì›ì„ 앞으로 운반합니다. 측면ì—서 ìžì›ì„ 받아들ì´ì§€ 않습니다. block.illuminator.description = 발광합니다. block.message.description = ì•„êµ° ê°„ì˜ ì†Œí†µì„ ìœ„í•œ 메시지를 저장합니다. +block.reinforced-message.description = ë™ë§¹ ê°„ì˜ ì†Œí†µì„ ìœ„í•œ 메시지를 저장합니다. +block.world-message.description = ë§µ ì œìž‘ì— ì‚¬ìš©ë˜ëŠ” 메시지 블ë¡. 파괴할 수 없습니다. block.graphite-press.description = ì„íƒ„ì„ í‘연으로 압축합니다. -block.multi-press.description = ì„íƒ„ì„ í‘연으로 압축합니다. 냉ê°ìˆ˜ë¡œì¨ ë¬¼ì´ í•„ìš”í•©ë‹ˆë‹¤. -block.silicon-smelter.description = ì„탄과 모래로부터 ì‹¤ë¦¬ì½˜ì„ ì •ì œí•©ë‹ˆë‹¤. -block.kiln.description = 모래와 ë‚©ì„ ê°•í™” 유리로 재련합니다. +block.multi-press.description = ì„íƒ„ì„ í‘연으로 압축합니다. 냉ê°ìˆ˜ë¡œ ë¬¼ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.silicon-smelter.description = ì„탄과 모래ì—서 ì‹¤ë¦¬ì½˜ì„ ì •ì œí•©ë‹ˆë‹¤. +block.kiln.description = 모래와 ë‚©ì„ ê°•í™” 유리로 제련합니다. block.plastanium-compressor.description = ì„유와 티타늄으로 플ë¼ìŠ¤í„°ëŠ„ì„ ìƒì‚°í•©ë‹ˆë‹¤. -block.phase-weaver.description = 토륨과 모래로 메타를 합성합니다. -block.alloy-smelter.description = 티타늄, ë‚©, 실리콘, 구리를 결합하여 ì„¤ê¸ˆì„ ìƒì‚°í•©ë‹ˆë‹¤. -block.cryofluid-mixer.description = 물과 미세 티타늄 ë¶„ë§ì„ 냉ê°ìˆ˜ë¡œ 혼합합니다. +block.phase-weaver.description = 토륨과 모래를 ìœ„ìƒ ì„¬ìœ ë¡œ 합성합니다. +block.surge-smelter.description = 티타늄, ë‚©, 실리콘 ë° êµ¬ë¦¬ë¥¼ 설금으로 혼합합니다. +block.cryofluid-mixer.description = 물과 미세 티타늄 ë¶„ë§ì„ 냉ê°ìˆ˜ë¡œ 혼합합니다. block.blast-mixer.description = 파ì´ë¼íƒ€ì´íŠ¸ì™€ í¬ìžë¡œ í­ë°œë¬¼ì„ ìƒì‚°í•©ë‹ˆë‹¤. block.pyratite-mixer.description = ì„탄, ë‚©, 그리고 모래를 파ì´ë¼íƒ€ì´íŠ¸ë¡œ 혼합합니다. block.melter.description = ê³ ì² ì„ ê´‘ìž¬ë¡œ 녹입니다. @@ -1344,162 +2124,572 @@ block.separator.description = 광재를 광물들로 분리합니다. block.spore-press.description = í¬ìžë¥¼ ì„유로 압축합니다. block.pulverizer.description = ê³ ì² ì„ ê°ˆì•„ 모래로 만듭니다. block.coal-centrifuge.description = ì„유ì—서 ì„íƒ„ì„ ì¶”ì¶œí•©ë‹ˆë‹¤. -block.incinerator.description = 넘치는 ìžì›ì´ë‚˜ 액체를 ì¦ë°œì‹œí‚µë‹ˆë‹¤. -block.power-void.description = ìž…ë ¥ëœ ëª¨ë“  ì „ë ¥ì„ ë¬´íš¨í™”í•©ë‹ˆë‹¤. 샌드박스 ì „ìš©. -block.power-source.description = 무한한 ì „ë ¥ì„ ê³µê¸‰í•´ì£¼ëŠ” 블ë¡ìž…니다. 샌드박스 ì „ìš©. -block.item-source.description = ìžì›ì„ 무한대로 출력합니다. 샌드박스 ì „ìš©. -block.item-void.description = 모든 ìžì›ì„ 파괴합니다. 샌드박스 ì „ìš©. +block.incinerator.description = 들어오는 모든 ìžì›ê³¼ 액체를 소ê°ì‹œí‚µë‹ˆë‹¤. +block.power-void.description = ì „ë ¥ì„ ì œê±°í•©ë‹ˆë‹¤. 샌드박스 ì „ìš©. +block.power-source.description = ì „ë ¥ì„ ë¬´í•œížˆ 출력합니다. 샌드박스 ì „ìš©. +block.item-source.description = ìžì›ì„ 무한히 출력합니다. 샌드박스 ì „ìš©. +block.item-void.description = ìžì›ì„ 제거합니다. 샌드박스 ì „ìš©. block.liquid-source.description = 액체를 무한히 출력합니다. 샌드박스 ì „ìš©. block.liquid-void.description = 액체를 제거합니다. 샌드박스 ì „ìš©. -block.copper-wall.description = 저렴한 수비 블ë¡.\n초반 단계ì—서 코어와 í¬íƒ‘ì„ ë³´í˜¸í•˜ëŠ”ë° ìœ ìš©í•©ë‹ˆë‹¤. -block.copper-wall-large.description = 저렴한 수비 블ë¡.\n초반 단계ì—서 코어와 í¬íƒ‘ì„ ë³´í˜¸í•˜ëŠ”ë° ìœ ìš©í•©ë‹ˆë‹¤.\n여러 타ì¼ì„ 차지합니다. -block.titanium-wall.description = ì ë‹¹ížˆ 강한 ë°©ì–´ 블ë¡.\nì ì—게서 ì ì ˆí•œ 보호를 제공합니다. -block.titanium-wall-large.description = ì ë‹¹ížˆ 강한 ë°©ì–´ 블ë¡.\nì ì—게서 ì ì ˆí•œ 보호를 제공합니다.\n여러 타ì¼ì„ 차지합니다. -block.plastanium-wall.description = 전격 ê³µê²©ì„ í¡ìˆ˜í•˜ê³  ì „ë ¥ ë…¸ë“œì˜ ìžë™ ì—°ê²°ì„ ì°¨ë‹¨í•˜ëŠ” 특수 ìœ í˜•ì˜ ë²½. -block.plastanium-wall-large.description = 전격 ê³µê²©ì„ í¡ìˆ˜í•˜ê³  ì „ë ¥ ë…¸ë“œì˜ ìžë™ ì—°ê²°ì„ ì°¨ë‹¨í•˜ëŠ” 특수 ìœ í˜•ì˜ ë²½.\n여러 타ì¼ì„ 차지합니다. -block.thorium-wall.description = 강력한 ë°©ì–´ 블ë¡.\nì ìœ¼ë¡œë¶€í„° ì ì ˆí•œ 보호를 í•  수 있습니다. -block.thorium-wall-large.description = 강력한 ë°©ì–´ 블ë¡.\nì ìœ¼ë¡œë¶€í„° ì ì ˆí•œ 보호를 í•  수 있습니다.\n여러 타ì¼ì„ 차지합니다. -block.phase-wall.description = 특수 메타기반 반사 화합물로 ì½”íŒ…ëœ ë²½. ì´ì•Œ ëŒ€ë¶€ë¶„ì„ ë°˜ì‚¬ì‹œí‚µë‹ˆë‹¤. -block.phase-wall-large.description = 특수 메타기반 반사 화합물로 ì½”íŒ…ëœ ë²½. ì´ì•Œ ëŒ€ë¶€ë¶„ì„ ë°˜ì‚¬ì‹œí‚µë‹ˆë‹¤.\n여러 타ì¼ì„ 차지합니다. -block.surge-wall.description = ë‚´êµ¬ì„±ì´ ë§¤ìš° 강한 ë°©ì–´ 블ë¡.\nì´íƒ„ì´ ë‚ ì•„ì˜¤ë©´ ì¶©ì „ëŸ‰ì„ ë†’ì—¬ 무작위로 방출합니다. -block.surge-wall-large.description = ë‚´êµ¬ì„±ì´ ë§¤ìš° 강한 ë°©ì–´ 블ë¡.\nì´íƒ„ì´ ë‚ ì•„ì˜¤ë©´ ì¶©ì „ëŸ‰ì„ ë†’ì—¬ 무작위로 방출합니다.\n여러 타ì¼ì„ 차지합니다. -block.door.description = ìž‘ì€ ë¬¸. 탭하여 열거나 ë‹«ì„ ìˆ˜ 있습니다. -block.door-large.description = í° ë¬¸. 탭하여 열거나 ë‹«ì„ ìˆ˜ 있습니다.\n여러 타ì¼ì„ 차지합니다. -block.mender.description = ì£¼ë³€ì˜ ë¸”ë¡ì„ 주기ì ìœ¼ë¡œ 수리합니다. ê° ë‹¨ê³„ 사ì´ì˜ 방어를 유지하게 합니다.\nì„ íƒì ìœ¼ë¡œ ì‹¤ë¦¬ì½˜ì„ ì‚¬ìš©í•˜ì—¬ 범위와 íš¨ìœ¨ì„±ì„ í–¥ìƒí•©ë‹ˆë‹¤. -block.mend-projector.description = 소형 수리 프로ì í„°ì˜ ê°•í™” 버전. ì£¼ë³€ì˜ ë¸”ë¡ì„ 수리합니다.\nì„ íƒì ìœ¼ë¡œ 메타를 사용하여 범위와 íš¨ìœ¨ì„±ì„ í–¥ìƒí•©ë‹ˆë‹¤. -block.overdrive-projector.description = 주변 ê±´ë¬¼ì˜ ì†ë„를 높입니다.\nì„ íƒì ìœ¼ë¡œ 메타를 사용하여 범위와 íš¨ìœ¨ì„±ì„ ë†’ìž…ë‹ˆë‹¤. -block.force-projector.description = 건물과 ë‚´ë¶€ì˜ ìœ ë‹›ì„ ê³µê²©ìœ¼ë¡œë¶€í„° 보호하며, ê·¸ ì£¼ìœ„ì— ìœ¡ê°í˜• ì—­ìž¥ì„ í˜•ì„±í•©ë‹ˆë‹¤.\nê°‘ìžê¸° ë§Žì€ ì†ìƒì´ 피해를 받으면 과열ë˜ë©°, ì„ íƒì ìœ¼ë¡œ 냉ê°ìˆ˜ë¥¼ 사용하여 ê³¼ì—´ì„ ë°©ì§€í•  수 있고, 메타는 ì—­ìž¥ì˜ í¬ê¸°ë¥¼ 늘리는 ë° ì‚¬ìš©í•  수 있습니다. -block.shock-mine.description = 지뢰를 ë°Ÿê³  있는 ì ì—게 피해를 ì¤ë‹ˆë‹¤. ì ì—게는 ê±°ì˜ ë³´ì´ì§€ 않습니다. -block.conveyor.description = 기본 ìžì› 수송 ë ˆì¼. ìžì›ì„ ë°°ì¹˜ëœ ë°©í–¥ì„ ë”°ë¼ ì´ë™ì‹œì¼œ ìžë™ìœ¼ë¡œ ê±´ë¬¼ì— ë„£ì–´ì¤ë‹ˆë‹¤. 회전ì‹. -block.titanium-conveyor.description = 고급 ìžì› 수송 ë ˆì¼. 기본 컨베ì´ì–´ë³´ë‹¤ ìžì›ì„ ë” ë¹¨ë¦¬ ì´ë™ì‹œí‚µë‹ˆë‹¤. -block.plastanium-conveyor.description = ìžì›ì„ ì¼ê´„ì ìœ¼ë¡œ 운송시킵니다. 컨베ì´ì— ë’¤ì—서 ìžì›ì„ 받고 ì•žìª½ì— ì„¸ 방향으로 내보냅니다. -block.junction.description = 2ê°œì˜ ì»¨ë² ì´ì–´ 벨트를 êµì°¨ì‹œí‚¤ëŠ” 다리 ì—­í• ì„ í•©ë‹ˆë‹¤. 서로 다른 재료를 다른 장소로 운반하는 ë‘ ê°œì˜ ë‹¤ë¥¸ 컨베ì´ì–´ì˜ ìƒí™©ì—서 유용합니다. -block.bridge-conveyor.description = 고급 ìžì› 운송 블ë¡. 지형ì´ë‚˜ ê±´ë¬¼ì„ ë„˜ì–´ 최대 3ê°œ 타ì¼ì„ 건너뛰고 ìžì›ì„ 운송할 수 있습니다. -block.phase-conveyor.description = 고급 ìžì› 운송 블ë¡. ì „ë ¥ì„ ì‚¬ìš©í•˜ì—¬ 여러 타ì¼ì„ 통해 ì—°ê²°ëœ ì»¨ë² ì´ì–´ë¡œ ìžì›ì„ 순간ì´ë™ 시킵니다. -block.sorter.description = ìžì›ì„ 정렬합니다. ìžì›ì´ ì„ íƒê³¼ ì¼ì¹˜í•˜ë©´ 앞 방향으로 통과하며, 그렇지 않으면 왼쪽과 오른쪽으로 출력ë©ë‹ˆë‹¤. -block.inverted-sorter.description = 표준 분류기와 ê°™ì€ ìžì›ì„ 처리하지만, 대신 ì„ íƒëœ ìžì›ì„ 측면으로 출력합니다. -block.router.description = ìžì›ì„ 받아서 최대 3ê°œì˜ ë‹¤ë¥¸ 방향으로 ë™ì¼í•˜ê²Œ 출력합니다. í•˜ë‚˜ì˜ ì†ŒìŠ¤ì—서 여러 대ìƒìœ¼ë¡œ 재료를 분할하는 ë° ìœ ìš©í•©ë‹ˆë‹¤.\n\n[scarlet]공장ì—서 ìƒì‚°ëœ ìžì›ì€ 출력 ë•Œë¬¸ì— ë§‰ížˆê²Œ ë˜ë¯€ë¡œ, 절대로 공장 옆ì—서 사용하지 마십시오. -block.router.details = 필요악. 공장 ì˜†ì— ì„¤ì¹˜í•˜ëŠ” ê²ƒì€ ê·¸ ê³µìž¥ì˜ ì¶œë ¥ìœ¼ë¡œ ì¸í•´ ë§‰íž ìˆ˜ 있으므로 바람ì§í•˜ì§€ 못하다. -block.distributor.description = 고급 분배기. ìžì›ì„ 최대 7ê°œì˜ ë‹¤ë¥¸ 방향으로 ë™ì¼í•˜ê²Œ 분배합니다. -block.overflow-gate.description = ì „ë©´ 경로가 ì°¨ë‹¨ëœ ê²½ìš°ì—ë§Œ 왼쪽과 오른쪽으로 출력ë©ë‹ˆë‹¤. -block.underflow-gate.description = 오버플로 게ì´íŠ¸ì˜ ë°˜ëŒ€. 왼쪽 ë° ì˜¤ë¥¸ìª½ 경로가 차단ë˜ë©´ 전면으로 출력ë©ë‹ˆë‹¤. -block.mass-driver.description = ìµœê³ ì˜ ìžì› 운송 블ë¡. 여러 ìžì›ì„ 모아서 ìž¥ê±°ë¦¬ì— ê±¸ì³ ë‹¤ë¥¸ 매스 드ë¼ì´ë²„ì—게 발사합니다. ìž‘ë™í•˜ë ¤ë©´ ì „ì›ì´ 필요합니다. -block.mechanical-pump.description = ëŠë¦° ì†ë„로 액체를 í¼ ì˜¬ë¦¬ì§€ë§Œ, 전력를 사용하지 않는 펌프입니다. -block.rotary-pump.description = 고급 펌프. ë” ë§Žì€ ì•¡ì²´ë¥¼ í¼ ì˜¬ë¦¬ì§€ë§Œ, ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. -block.thermal-pump.description = 가장 강력한 펌프. -block.conduit.description = 기본 ì•¡ì²´ 운송 블ë¡. 액체를 앞으로 ì´ë™ì‹œí‚µë‹ˆë‹¤. 펌프 ë° ê¸°íƒ€ 파ì´í”„와 함께 사용ë©ë‹ˆë‹¤. -block.pulse-conduit.description = 고급 ì•¡ì²´ 운송 블ë¡. 액체를 ë” ë¹ ë¥´ê²Œ 운반하고 표준 파ì´í”„보다 ë” ë§Žì´ ì €ìž¥í•©ë‹ˆë‹¤. -block.plated-conduit.description = 펄스 파ì´í”„와 ê°™ì€ ì†ë„로 ì´ë™í•˜ì§€ë§Œ ë” ë†’ì€ ë°©ì–´ë ¥ì„ ê°€ì§€ê³  있습니다. 측면ì—서 ì•¡ì²´ë“¤ì„ ë°›ì•„ë“¤ì´ì§€ 않습니다.\nì•¡ì²´ê°€ 누설하지 않습니다. -block.liquid-router.description = 한 ë°©í–¥ì—서 액체를 받아 최대 3ê°œì˜ ë‹¤ë¥¸ 방향으로 ë™ì¼í•˜ê²Œ 출력합니다. ì¼ì •ëŸ‰ì˜ ì•¡ì²´ë¥¼ 저장할 ìˆ˜ë„ ìžˆìœ¼ë©° 한 소스ì—서 여러 대ìƒìœ¼ë¡œ 액체를 분할하는 ë° ìœ ìš©í•©ë‹ˆë‹¤. -block.liquid-tank.description = ëŒ€ëŸ‰ì˜ ì•¡ì²´ë¥¼ 저장합니다. 재료가 ì¼ì •하지 ì•Šì€ ìƒí™©ì—서 버í¼ë¥¼ ìƒì„±í•˜ê±°ë‚˜ 중요한 블ë¡ì„ 냉ê°í•˜ê¸° 위한 보호 장치로 사용하세요. -block.liquid-junction.description = ë‘ ê°œì˜ êµì°¨ 파ì´í”„를 위한 다리 ì—­í• ì„ í•©ë‹ˆë‹¤. 다른 액체를 다른 위치로 운반하는 ë‘ ê°œì˜ ë‹¤ë¥¸ 파ì´í”„ê°€ 있는 ìƒí™©ì—서 유용합니다. -block.bridge-conduit.description = 고급 ì•¡ì²´ 운송 블ë¡. 지형ì´ë‚˜ ê±´ë¬¼ì„ ë„˜ì–´ 최대 3ê°œ íƒ€ì¼ ìœ„ë¡œ 액체를 운반할 수 있습니다. -block.phase-conduit.description = 고급 ì•¡ì²´ 운송 블ë¡. ì „ë ¥ì„ ì‚¬ìš©í•˜ì—¬ 액체를 여러 타ì¼ì„ 건너뛰어 ì—°ê²°ëœ ë©”íƒ€ 파ì´í”„로 순간 ì´ë™ì‹œí‚µë‹ˆë‹¤. -block.power-node.description = ì—°ê²°ëœ ë…¸ë“œì— ì „ë ¥ì„ ì „ì†¡í•©ë‹ˆë‹¤. 노드는 ì¸ì ‘한 블ë¡ì—서 ì „ë ¥ì„ ê³µê¸‰ë°›ê±°ë‚˜ ì „ë ¥ì„ ê³µê¸‰í•©ë‹ˆë‹¤. -block.power-node-large.description = ë” ë„“ì€ ë²”ìœ„ì˜ ê³ ê¸‰ ì „ë ¥ 노드. -block.surge-tower.description = 사용 가능한 ì—°ê²° 수가 ì ì€ 장거리 ì „ë ¥ 노드. -block.diode.description = 배터리 ì „ë ¥ì€ ì´ ë¸”ë¡ì„ 통해 한 방향으로만 í를 수 있지만, 출력 ë°©í–¥ ë°°í„°ë¦¬ì˜ ì „ë ¥ì´ ë” ì ì€ 경우ì—ë§Œ 가능합니다. -block.battery.description = 전기가 넘ì³ë‚  때 ì „ë ¥ì„ ì €ìž¥í•  수 있습니다. ì „ë ¥ì— ì ìžê°€ ë°œìƒí•  때 ì „ë ¥ì„ ì¶œë ¥í•©ë‹ˆë‹¤. +block.payload-source.description = í™”ë¬¼ì„ ë¬´í•œížˆ 출력합니다. 샌드박스 ì „ìš©. +block.payload-void.description = í™”ë¬¼ì„ ì œê±°í•©ë‹ˆë‹¤. 샌드박스 ì „ìš©. +block.copper-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.copper-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤.\n여러 타ì¼ì„ 차지합니다. +block.titanium-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.titanium-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤.\n여러 타ì¼ì„ 차지합니다. +block.plastanium-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ë ˆì´ì €ì™€ ì „ê²©ì„ í¡ìˆ˜í•˜ê³  ë…¸ë“œì˜ ìžë™ ì „ì› ì—°ê²°ì„ ì°¨ë‹¨í•©ë‹ˆë‹¤. +block.plastanium-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ë ˆì´ì €ì™€ ì „ê²©ì„ í¡ìˆ˜í•˜ê³  ë…¸ë“œì˜ ìžë™ ì „ì› ì—°ê²°ì„ ì°¨ë‹¨í•©ë‹ˆë‹¤.\n여러 타ì¼ì„ 차지합니다. +block.thorium-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ë‚´êµ¬ì„±ì´ ê°•í•©ë‹ˆë‹¤. +block.thorium-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ë‚´êµ¬ì„±ì´ ê°•í•©ë‹ˆë‹¤.\n여러 타ì¼ì„ 차지합니다. +block.phase-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ì¶©ëŒí•œ 탄환 ëŒ€ë¶€ë¶„ì„ ë°˜ì‚¬í•©ë‹ˆë‹¤. +block.phase-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ì¶©ëŒí•œ 탄환 ëŒ€ë¶€ë¶„ì„ ë°˜ì‚¬í•©ë‹ˆë‹¤. \n여러 타ì¼ì„ 차지합니다. +block.surge-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ì ‘ì´‰ 시 무작위로 전격 ì•„í¬ë¥¼ 방출합니다. +block.surge-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ì ‘ì´‰ 시 무작위로 전격 ì•„í¬ë¥¼ 방출합니다.\n여러 타ì¼ì„ 차지합니다. +block.scrap-wall.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.scrap-wall-large.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.scrap-wall-huge.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.scrap-wall-gigantic.description = ì  ë°œì‚¬ì²´ë¡œë¶€í„° ì•„êµ° êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.door.description = 탭하여 열거나 ë‹«ì„ ìˆ˜ 있는 벽입니다. +block.door-large.description = 탭하여 열거나 ë‹«ì„ ìˆ˜ 있는 벽입니다.\n여러 타ì¼ì„ 차지합니다. +block.mender.description = 주변 블ë¡ì„ 주기ì ìœ¼ë¡œ 수리합니다.\nì„ íƒì ìœ¼ë¡œ ì‹¤ë¦¬ì½˜ì„ ì‚¬ìš©í•˜ì—¬ 범위와 íš¨ìœ¨ì„±ì„ í–¥ìƒí•  수 있습니다. +block.mend-projector.description = ì£¼ë³€ì˜ ë¸”ë¡ì„ 수리합니다.\nì„ íƒì ìœ¼ë¡œ ìœ„ìƒ ì„¬ìœ ë¥¼ 사용하여 범위와 íš¨ìœ¨ì„±ì„ í–¥ìƒí•  수 있습니다. +block.overdrive-projector.description = 주변 ê±´ë¬¼ì˜ ì†ë„를 높입니다.\nì„ íƒì ìœ¼ë¡œ ìœ„ìƒ ì„¬ìœ ë¥¼ 사용하여 범위와 íš¨ìœ¨ì„±ì„ í–¥ìƒí•  수 있습니다. +block.force-projector.description = ì£¼ìœ„ì— ìœ¡ê°í˜• ì—­ìž¥ì„ í˜•ì„±í•˜ì—¬ ë‚´ë¶€ì˜ ê±´ë¬¼ê³¼ ìœ ë‹›ì„ ê³µê²©ìœ¼ë¡œë¶€í„° 보호합니다. ì§€ì†í•´ì„œ ë§Žì€ í”¼í•´ë¥¼ ë°›ì„ ê²½ìš° 과열ë©ë‹ˆë‹¤.\nì„ íƒì ìœ¼ë¡œ 냉ê°ìˆ˜ë¥¼ 사용해서 과열 방지를, ìœ„ìƒ ì„¬ìœ ë¥¼ 사용해서 보호막 í¬ê¸°ë¥¼ ì¦ê°€ì‹œí‚¬ 수 있습니다. +block.shock-mine.description = 접촉한 ì  ìœ ë‹›ì—게 전격 ì•„í¬ë¥¼ 방출합니다. +block.conveyor.description = ìžì›ì„ 앞으로 운반합니다. 회전하여 ë°©í–¥ì„ ë°”ê¿€ 수 있습니다. +block.titanium-conveyor.description = ìžì›ì„ 앞으로 운반합니다. 컨베ì´ì–´ë³´ë‹¤ ë” ë¹ ë¦…ë‹ˆë‹¤. +block.plastanium-conveyor.description = ìžì›ì„ 묶어 앞으로 운반합니다. 컨베ì´ì— ë’¤ì—서 ìžì›ì„ 받고, 앞ì—서 세 방향으로 내보냅니다. 최대 ì²˜ë¦¬ëŸ‰ì„ ìœ„í•´ ë§Žì€ ìž…ì¶œë ¥ ì§€ì ì´ 필요합니다. +block.junction.description = 2ê°œì˜ ì»¨ë² ì´ì–´ 벨트를 êµì°¨í•˜ëŠ” 다리 ì—­í• ì„ í•©ë‹ˆë‹¤. +block.bridge-conveyor.description = 지형ì´ë‚˜ ê±´ë¬¼ì„ ë„˜ì–´ ìžì›ì„ 운반합니다. 최대 3ì¹¸ì˜ íƒ€ì¼ì„ 건너 ëŒ ìˆ˜ 있습니다. +block.phase-conveyor.description = 지형ì´ë‚˜ 건물 너머로 ìžì›ì„ 즉시 운반합니다. ì†ë„ê°€ 빠르고 다리 컨베ì´ì–´ë³´ë‹¤ 길지만, ìž‘ë™í•˜ë ¤ë©´ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.sorter.description = ìž…ë ¥ëœ ìžì›ì´ ì„ íƒê³¼ ì¼ì¹˜í•˜ë©´ 앞으로 통과하며, 그렇지 않으면 왼쪽과 오른쪽으로 출력합니다. +block.inverted-sorter.description = 필터와 비슷하지만, 대신 ì„ íƒëœ ìžì›ì„ 측면으로 출력합니다. +block.router.description = ìž…ë ¥ëœ ìžì›ì„ 최대 3ê°œì˜ ë‹¤ë¥¸ 방향으로 ë™ë“±í•˜ê²Œ 분배합니다.\n\n[scarlet]공장ì—서 ìƒì‚°ëœ ìžì›ìœ¼ë¡œ ì¸í•´ ìž…ë ¥ì´ ë§‰íž ìˆ˜ 있으므로, 절대로 공장 바로 옆ì—서 사용하지 마세요.[] +block.router.details = 필요악. ìžì› ìž…ë ¥ì„ ìœ„í•´ 공장 ì˜†ì— ì„¤ì¹˜í•˜ëŠ” ê²ƒì€ ê·¸ ê³µìž¥ì˜ ì¶œë ¥ìœ¼ë¡œ ì¸í•´ ë§‰íž ìˆ˜ 있으므로 사용하지 않는 ê²ƒì´ ì¢‹ìŒ. +block.distributor.description = ìž…ë ¥ëœ ìžì›ì„ 최대 7ê°œì˜ ë‹¤ë¥¸ 방향으로 ë™ë“±í•˜ê²Œ 분배합니다. +block.overflow-gate.description = 앞쪽 경로가 ì°¨ë‹¨ëœ ê²½ìš°ì—ë§Œ 왼쪽과 오른쪽으로 출력합니다. +block.underflow-gate.description = í¬í™” í•„í„°ì˜ ë°˜ëŒ€. 왼쪽 ë° ì˜¤ë¥¸ìª½ 경로가 차단ë˜ë©´ 앞쪽으로 출력합니다. +block.mass-driver.description = 장거리 ìžì› 운송 구조물. ìžì›ì„ 모아서 ì—°ê²°ëœ ë§¤ìŠ¤ 드ë¼ì´ë²„로 발사합니다. ìž‘ë™í•˜ë ¤ë©´ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.mechanical-pump.description = 액체를 í¼ ì˜¬ë¦½ë‹ˆë‹¤. ì „ë ¥ì´ í•„ìš”í•˜ì§€ 않습니다. +block.rotary-pump.description = 액체를 í¼ ì˜¬ë¦½ë‹ˆë‹¤. ìž‘ë™í•˜ë ¤ë©´ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.impulse-pump.description = 액체를 í¼ ì˜¬ë¦½ë‹ˆë‹¤. ìž‘ë™í•˜ë ¤ë©´ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.conduit.description = 액체를 앞으로 움ì§ìž…니다. 펌프 ë° ë‹¤ë¥¸ 파ì´í”„와 함께 사용합니다. +block.pulse-conduit.description = 액체를 앞으로 움ì§ìž…니다. 파ì´í”„보다 ë” ë¹ ë¥´ê²Œ 운반하고 ë” ë§Žì´ ì €ìž¥í•©ë‹ˆë‹¤. +block.plated-conduit.description = 액체를 앞으로 움ì§ìž…니다. 측면ì—서 액체를 받아들ì´ì§€ 않습니다. 액체를 누설하지 않습니다. +block.liquid-router.description = 한 ë°©í–¥ì—서 액체를 받아 최대 3ê°œì˜ ë‹¤ë¥¸ 방향으로 ë™ë“±í•˜ê²Œ 출력합니다. ì¼ì •ëŸ‰ì˜ ì•¡ì²´ë„ ì €ìž¥í•  수 있습니다. +block.liquid-container.description = ìƒë‹¹í•œ ì–‘ì˜ ì•¡ì²´ë¥¼ 저장합니다. ì•¡ì²´ 분배기와 비슷하게 모든 ë©´ì— ì¶œë ¥í•  수 있습니다. +block.liquid-tank.description = ë§Žì€ ì–‘ì˜ ì•¡ì²´ë¥¼ 저장합니다. ì•¡ì²´ 분배기와 비슷하게 모든 ë©´ì— ì¶œë ¥í•  수 있습니다. +block.liquid-junction.description = ë‘ ê°œì˜ êµì°¨ 파ì´í”„를 위한 다리 ì—­í• ì„ í•©ë‹ˆë‹¤. +block.bridge-conduit.description = 지형ì´ë‚˜ ê±´ë¬¼ì„ ë„˜ì–´ 액체를 운반합니다. 최대 3ì¹¸ì˜ íƒ€ì¼ì„ 건너 ëŒ ìˆ˜ 있습니다. +block.phase-conduit.description = 지형ì´ë‚˜ 건물 너머로 액체를 즉시 운반합니다. ì†ë„ê°€ 빠르고 다리 파ì´í”„보다 길지만, ìž‘ë™í•˜ë ¤ë©´ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.power-node.description = ì—°ê²°ëœ ë…¸ë“œë¡œ ì „ë ¥ì„ ì „ì†¡í•©ë‹ˆë‹¤. 노드는 ì¸ì ‘한 블ë¡ì—서 ì „ë ¥ì„ ê³µê¸‰ë°›ê±°ë‚˜ ì „ë ¥ì„ ê³µê¸‰í•©ë‹ˆë‹¤. +block.power-node-large.description = ë” ë„“ì€ ë²”ìœ„ì˜ ê³ ê¸‰ ì „ë ¥ 노드입니다. +block.surge-tower.description = 사용 가능한 ì—°ê²° 수가 ì ì€ 장거리 ì „ë ¥ 노드입니다. +block.diode.description = ë°°í„°ë¦¬ì— ì €ìž¥ëœ ì „ë ¥ì„ í•œ 방향으로 ì´ë™ì‹œí‚¤ì§€ë§Œ, 받는 쪽 ë°°í„°ë¦¬ì˜ ì „ë ¥ì´ ë” ì ì€ 경우ì—ë§Œ 가능합니다. +block.battery.description = ì „ë ¥ ìƒì‚°ëŸ‰ì´ 소모량보다 ë§Žì„ ê²½ìš° ì „ë ¥ì„ ì €ìž¥í•˜ê³ , ì „ë ¥ ì†Œëª¨ëŸ‰ì´ ìƒì‚°ëŸ‰ë³´ë‹¤ ë§Žì„ ê²½ìš° ì „ë ¥ì„ ì†Œëª¨í•©ë‹ˆë‹¤. block.battery-large.description = ì¼ë°˜ 배터리보다 훨씬 ë” ë§Žì€ ì „ë ¥ì„ ì €ìž¥í•©ë‹ˆë‹¤. -block.combustion-generator.description = ì„탄과 ê°™ì€ ê°€ì—°ì„± ë¬¼ì§ˆì„ ì—°ì†Œì‹œì¼œ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. -block.thermal-generator.description = ì—´ì´ ìžˆëŠ” ê³³ì— ì„¤ì¹˜í•˜ë©´ ì „ë ¥ì´ ìƒì„±ë©ë‹ˆë‹¤. -block.steam-generator.description = 고급 연소 발전기. ë” íš¨ìœ¨ì ì´ì§€ë§Œ ì¦ê¸°ë¥¼ ìƒì„±í•˜ê¸° 위해 ë¬¼ì´ í•„ìš”í•©ë‹ˆë‹¤. -block.differential-generator.description = ë§Žì€ ì–‘ì˜ ì „ë ¥ì„ ìƒì„±í•©ë‹ˆë‹¤. 냉ê°ìˆ˜ì™€ 불타는 파ì´ë¼íƒ€ì´íŠ¸ì˜ ì˜¨ë„ ì°¨ì´ë¥¼ ì´ìš©í•©ë‹ˆë‹¤. -block.rtg-generator.description = 간단하고 안정ì ì¸ 발전기. 붕괴하는 방사성 ë¬¼ì§ˆì˜ ì—´ì„ ì´ìš©í•˜ì—¬ ëŠë¦° ì†ë„로 ì „ë ¥ì„ ìƒì„±í•©ë‹ˆë‹¤. -block.solar-panel.description = 태양으로부터 ì†ŒëŸ‰ì˜ ì „ë ¥ì„ ìƒì„±í•©ë‹ˆë‹¤. -block.solar-panel-large.description = 표준 태양 ì „ì§€íŒë³´ë‹¤ 훨씬 ë” íš¨ìœ¨ì ì¸ 버전. -block.thorium-reactor.description = 토륨으로부터 ìƒë‹¹í•œ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. ì§€ì†ì ì¸ 냉ê°ì´ 필요하며, 충분한 ì–‘ì˜ ëƒ‰ê°ìˆ˜ê°€ 공급ë˜ì§€ 않으면 í¬ê²Œ í­ë°œí•©ë‹ˆë‹¤. ì „ë ¥ ì¶œë ¥ì€ í† ë¥¨ì˜ ì–‘ì— ë”°ë¼ ë‹¬ë¼ì§‘니다. -block.impact-reactor.description = 최고 효율로 ëŒ€ëŸ‰ì˜ ì „ë ¥ì„ ìƒì‚°í•  수 있는 고급 발전기. 프로세스를 시작하려면 ìƒë‹¹í•œ ì „ë ¥ ê³µê¸‰ì´ í•„ìš”í•©ë‹ˆë‹¤. -block.mechanical-drill.description = ê°€ê²©ì´ ì‹¼ 드릴. ì ì ˆí•œ 타ì¼ì— 설치하면 ìžì›ì„ 천천히 ëŠë¦° ì†ë„로 출력합니다. 기본 ìžì›ë§Œ 채굴할 수 있습니다. -block.pneumatic-drill.description = í‹°íƒ€ëŠ„ì„ ìº˜ 수 있는 í–¥ìƒëœ 드릴. ê¸°ê³„ì‹ ë“œë¦´ë³´ë‹¤ ë” ë¹ ë¥¸ ì†ë„로 채굴합니다. -block.laser-drill.description = ë ˆì´ì € ê¸°ìˆ ì„ í†µí•´ ë”ìš± 빠르게 채광할 수 있지만, ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. 토륨 채굴 가능. -block.blast-drill.description = 최ìƒìœ„ 드릴. ë§Žì€ ì–‘ì˜ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.combustion-generator.description = ì„íƒ„ê°™ì€ ê°€ì—°ì„± ë¬¼ì§ˆì„ ì—°ì†Œí•˜ì—¬ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.thermal-generator.description = 뜨거운 ê³³ì— ì„¤ì¹˜í•˜ì—¬ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.steam-generator.description = 가연성 ë¬¼ì§ˆì„ ì—°ì†Œì‹œí‚¤ê³  ë¬¼ì„ ì¦ê¸°ë¡œ 변환하여 ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.differential-generator.description = 냉ê°ìˆ˜ì™€ 불타는 파ì´ë¼íƒ€ì´íŠ¸ì˜ ì˜¨ë„차를 활용하여 ë§Žì€ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.rtg-generator.description = 붕괴하는 방사성 ë¬¼ì§ˆì˜ ì—´ì„ ì´ìš©í•˜ì—¬ 천천히 ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.solar-panel.description = 태양으로부터 ì ì€ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.solar-panel-large.description = 태양으로부터 ì ì€ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. 태양 ì „ì§€íŒë³´ë‹¤ ë” íš¨ìœ¨ì ìž…니다. +block.thorium-reactor.description = 토륨으로부터 ìƒë‹¹í•œ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. ì§€ì†ì ì¸ 냉ê°ì´ 필요하며, 냉ê°ìˆ˜ê°€ 충분히 공급ë˜ì§€ ì•Šì„ ê²½ìš° í¬ê²Œ í­ë°œí•©ë‹ˆë‹¤. +block.impact-reactor.description = 최대 효율로 엄청난 ì–‘ì˜ ì „ë ¥ì„ ìƒì„±í•©ë‹ˆë‹¤. 완전히 ê°€ë™í•˜ê¸° 위해서 ë§Žì€ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.mechanical-drill.description = ìžì› íƒ€ì¼ ìœ„ì— ì„¤ì¹˜í•˜ë©´, 멈추지 않고 ìžì›ì„ 천천히 ìƒì‚°í•©ë‹ˆë‹¤. +block.pneumatic-drill.description = í‹°íƒ€ëŠ„ì„ ì±„êµ´í•  수 있는 í–¥ìƒëœ 드릴. ê¸°ê³„ì‹ ë“œë¦´ë³´ë‹¤ ë” ë¹ ë¥¸ ì†ë„로 채굴합니다. +block.laser-drill.description = ë ˆì´ì € ê¸°ìˆ ì„ í†µí•´ 훨씬 ë” ë¹ ë¥´ê²Œ 채굴할 수 있지만, ìž‘ë™í•˜ë ¤ë©´ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. í† ë¥¨ì„ ì±„êµ´í•  수 있습니다. +block.blast-drill.description = 최ìƒìœ„ 드릴. ìž‘ë™í•˜ë ¤ë©´ ë§Žì€ ì–‘ì˜ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. block.water-extractor.description = 지하수를 추출합니다. ë¬¼ì„ êµ¬í•˜ê¸° 어려운 ê³³ì—서 사용합니다. -block.cultivator.description = 대기 ì¤‘ì˜ ìž‘ì€ ë†ë„ì˜ í¬ìžë¥¼ ì‚°ì—…ìš© í¬ìžë¡œ 배양합니다. -block.cultivator.details = ìž¬ë°œê²¬ëœ ê¸°ìˆ . 가장 효율ì ìœ¼ë¡œ ëŒ€ëŸ‰ì˜ ìœ ê¸°ì²´ë¥¼ ìƒì‚°í•  때 사용ëœë‹¤. 과거, ì„¸ë¥´í”Œë¡œì„ ë’¤ë®ì€ í¬ìžì˜ 최초 배양지로 íŒë‹¨ëœë‹¤. +block.cultivator.description = ëŒ€ê¸°ì— í¬í•¨ëœ 미세한 ë†ë„ì˜ í¬ìžë¥¼ ì‚°ì—…ìš© í¬ìžë¡œ 배양합니다. +block.cultivator.details = ë³µêµ¬ëœ ê¸°ìˆ . 최대한 효율ì ìœ¼ë¡œ ìƒë¬¼ìžì›ì„ ìƒì‚°í•  때 사용ë¨. 현재 세르플로를 ë’¤ë®ì€ í¬ìžì˜ 최초 ë°°ì–‘ì§€ì¼ ê°€ëŠ¥ì„±ì´ ë†’ìŒ. block.oil-extractor.description = ì„유를 추출하기 위해 ë§Žì€ ì–‘ì˜ ì „ë ¥ê³¼ 모래 ë° ë¬¼ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. -block.core-shard.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. 파괴ë˜ë©´ 해당 ì§€ì—­ê³¼ì˜ ëª¨ë“  ì—°ê²°ì´ ëŠì–´ì§‘니다. ì´ëŸ° ì¼ì´ ì¼ì–´ë‚˜ì§€ 않ë„ë¡ í•˜ì‹­ì‹œì˜¤. -block.core-shard.details = 첫 번째 버전. 휴대용. ìžê°€ë³µì œ 가능. ì¼íšŒìš© 출격 추진기를 가졌으며, 행성간 ì´ë™ì—는 ë¶€ì í•©í•¨. -block.core-foundation.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. ë” ë‚˜ì€ ë°©ì–´ë ¥ê³¼ ìžì›ì„ 저장합니다. -block.core-foundation.details = ë‘ ë²ˆì§¸ 버전. -block.core-nucleus.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. ë°©ì–´ë ¥ì´ ë§¤ìš° 높고 ëŒ€ëŸ‰ì˜ ìžì›ì„ 저장할 수 있습니다. +block.core-shard.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. 파괴ë˜ë©´ 해당 ì§€ì—­ì„ ìžƒìŠµë‹ˆë‹¤. +block.core-shard.details = 첫 번째 버전. 휴대용. ìžê°€ë³µì œ 가능. ì¼íšŒìš© 출격 추진기를 장착했으며, 행성간 ì´ë™ì—는 ë¶€ì í•©í•¨. +block.core-foundation.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤.코어: ì¡°ê°ë³´ë‹¤ 튼튼하고 ë” ë§Žì€ ì–‘ì˜ ìžì›ì„ 저장합니다. +block.core-foundation.details = ë‘ ë²ˆì§¸ 버전. +block.core-nucleus.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. 매우 튼튼하고 엄청나게 ë§Žì€ ì–‘ì˜ ìžì›ì„ 저장할 수 있습니다. block.core-nucleus.details = 세 번째, ê¶ê·¹ì˜ 버전. -block.vault.description = ê° ìœ í˜•ì˜ ë§Žì€ ì–‘ì˜ ìžì›ì„ 저장합니다. ì–¸ë¡œë” ë¸”ë¡ì„ 사용하여 창고ì—서 ìžì›ì„ 빼낼 수 있습니다. -block.container.description = ê° ìœ í˜•ì˜ ìžì›ì„ 소량 저장합니다. ì–¸ë¡œë” ë¸”ë¡ì„ 사용하여 컨테ì´ë„ˆì—서 ìžì›ì„ 빼낼 수 있습니다. -block.unloader.description = ê·¼ì²˜ì˜ ë¹„ 수송 블ë¡ì—서 ìžì›ì„ 빼냅니다. 눌러서 빼낼 ìžì›ì„ 변경할 수 있십니다. -block.launch-pad.description = 코어 출격 ì—†ì´ë„ ìžì›ì„ 묶어 출격시킬 수 있습니다. -block.duo.description = ì ì—게 íƒ„í™˜ì„ êµëŒ€í•˜ë©° 발사합니다. -block.scatter.description = ì êµ°ì—게 ë‚©, ê³ ì² , ë˜ëŠ” ê°•í™” 유리 ì¡°ê° ë©ì–´ë¦¬ë¥¼ 발사합니다. +block.vault.description = ê° ì¢…ë¥˜ë³„ë¡œ ë§Žì€ ì–‘ì˜ ìžì›ì„ 저장합니다. 코어 ì˜†ì— ë°°ì¹˜í•˜ë©´ 저장 ìš©ëŸ‰ì„ í™•ìž¥í•©ë‹ˆë‹¤. 언로ë”를 사용하여 ë‚´ìš©ë¬¼ì„ ë¹¼ë‚¼ 수 있습니다. +block.container.description = ê° ì¢…ë¥˜ë³„ë¡œ ì ì€ ì–‘ì˜ ìžì›ì„ 저장합니다. 코어 ì˜†ì— ë°°ì¹˜í•˜ë©´ 저장 ìš©ëŸ‰ì„ í™•ìž¥í•©ë‹ˆë‹¤. 언로ë”를 사용하여 ë‚´ìš©ë¬¼ì„ ë¹¼ë‚¼ 수 있습니다. +block.unloader.description = ì„ íƒí•œ ìžì›ì„ ê·¼ì²˜ì˜ ë¸”ë¡ì—서 빼냅니다. 수송 ë¸”ë¡ ë° í¬íƒ‘ì„ ëŒ€ìƒìœ¼ë¡œ ìž‘ë™í•˜ì§€ 않습니다. +block.launch-pad.description = ì„ íƒí•œ 지역으로 ìžì›ì„ 출격합니다. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = ì ì„ 향해 번갈아 íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +block.scatter.description = 공중 ëª©í‘œë¬¼ì„ í–¥í•´ ë‚©, ê³ ì² , ë˜ëŠ” 강화유리 ì¡°ê° ë©ì–´ë¦¬ë¥¼ 발사합니다. block.scorch.description = ì£¼ë³€ì˜ ëª¨ë“  ì§€ìƒ ì ì„ 불태ì›ë‹ˆë‹¤. 근거리ì—서 매우 효과ì ìž…니다. -block.hail.description = ìž¥ê±°ë¦¬ì— ê±¸ì³ ì§€ìƒ ì ì—게 ìž‘ì€ í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -block.wave.description = ì ì—게 ì•¡ì²´ 줄기를 발사합니다. ë¬¼ì´ ê³µê¸‰ë˜ë©´ ìžë™ìœ¼ë¡œ 화재를 진압합니다. -block.lancer.description = ì§€ìƒ ëª©í‘œë¬¼ì—게 강력한 ì—너지 ë¹”ì„ ì¶©ì „í•˜ì—¬ 발사합니다. -block.arc.description = ì§€ìƒ ëª©í‘œë¬¼ì—게 전격 ì•„í¬ë¥¼ 발사합니다. -block.swarmer.description = ì ì—게 유ë„íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -block.salvo.description = ì ì—게 ì´ì•Œì„ 빠르게 ì¼ì œížˆ 발사합니다. -block.fuse.description = 주변 ì ì—게 3ê°œì˜ ë‹¨ê±°ë¦¬ 관통 ë ˆì´ì €ë¥¼ 발사합니다. -block.ripple.description = ìž¥ê±°ë¦¬ì— ê±¸ì³ ì§€ìƒ ì ì—게 í¬íƒ„ 무리를 발사합니다. -block.cyclone.description = 근처 ì ì—게 í­ë°œ 파편 ë©ì–´ë¦¬ë¥¼ 발사합니다. -block.spectre.description = 공중 ë° ì§€ìƒ ëª©í‘œë¬¼ì—게 í° ê´€í†µ ì² ê°‘íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -block.meltdown.description = 주변 ì ì—게 ì§€ì†ì ì¸ ë ˆì´ì € ë¹”ì„ ì¶©ì „í•˜ì—¬ 발사합니다. ëƒ‰ê° ì•¡ì²´ê°€ 있어야 ìž‘ë™í•©ë‹ˆë‹¤. -block.foreshadow.description = ìž¥ê±°ë¦¬ì— ê±¸ì¹œ 거대한 ë‹¨ì¼ ëª©í‘œ ì €ê²©íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -block.repair-point.description = ì¸ê·¼ì— 가장 가까운 ìœ ë‹›ì„ ì§€ì†ì ìœ¼ë¡œ 치료합니다. -block.segment.description = 날아오는 발사체를 요격합니다. í° ë°œì‚¬ì²´ì—ê² ì¡°ì¤€ë˜ì§€ 않습니다. -block.parallax.description = 공중 ëª©í‘œë¬¼ì„ ëŒì–´ì˜¤ëŠ” ê²¬ì¸ ê´‘ì„ ì„ ë°œì‚¬í•˜ë©°, ê²¬ì¸ ê³¼ì •ì—서 ë°ë¯¸ì§€ë¥¼ ì¤ë‹ˆë‹¤. -block.tsunami.description = ì ì—게 강력한 ì•¡ì²´ 줄기를 발사합니다. ë¬¼ì´ ê³µê¸‰ë˜ë©´ ìžë™ìœ¼ë¡œ ì£¼ë³€ì˜ í™”ìž¬ë¥¼ 진압합니다. -block.silicon-crucible.description = 추가ì ìœ¼ë¡œ 파ì´ë¼íƒ€ì´íŠ¸ë¥¼ 사용하여 ë” ë†’ì€ ì˜¨ë„ì—서 ì„탄과 모래를 제련합니다. 뜨거운 ê³³ì—서 ë” íš¨ìœ¨ì ìž…니다. -block.disassembler.description = 광재를 ë‚®ì€ í™•ë¥ ë¡œ ë¯¸ëŸ‰ì˜ í¬ê·€í•œ 광물들로 분리합니다. í† ë¥¨ì„ ìƒì‚°í•  수 있습니다. -block.overdrive-dome.description = ì¸ê·¼ 블ë¡ë“¤ì„ 과부하시킵니다. ìž‘ë™í•˜ê¸° 위해 실리콘과 메타가 필요합니다. -block.payload-conveyor.description = 유닛ì´ë‚˜ ê³µìž¥ê°™ì´ í° í™”ë¬¼ë“¤ì„ ìš´ë°˜í•©ë‹ˆë‹¤. -block.payload-router.description = 3가지 방향으로 번갈아서 í™”ë¬¼ë“¤ì„ ìš´ë°˜í•©ë‹ˆë‹¤. -block.command-center.description = 4ê°œì˜ ëª…ë ¹ì–´ë“¤ë¡œ 유닛 í–‰ë™ì„ 제어합니다. -block.ground-factory.description = ì§€ìƒ ìœ ë‹›ë“¤ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ë“¤ì€ ë°”ë¡œ ì‚¬ìš©ë  ìˆ˜ 있고, ë˜ëŠ” 강화를 위해 ìž¬êµ¬ì„±ê¸°ì— ë“¤ì–´ê°€ì§ˆ 수 있습니다. -block.air-factory.description = 공중 ìœ ë‹›ë“¤ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ë“¤ì€ ë°”ë¡œ ì‚¬ìš©ë  ìˆ˜ 있고, ë˜ëŠ” 강화를 위해 ìž¬êµ¬ì„±ê¸°ì— ë“¤ì–´ê°€ì§ˆ 수 있습니다. -block.naval-factory.description = í•´ìƒ ìœ ë‹›ë“¤ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ë“¤ì€ ë°”ë¡œ ì‚¬ìš©ë  ìˆ˜ 있고, ë˜ëŠ” 강화를 위해 ìž¬êµ¬ì„±ê¸°ì— ë“¤ì–´ê°€ì§ˆ 수 있습니다. -block.additive-reconstructor.description = 들어온 ìœ ë‹›ë“¤ì„ ë‘ ë²ˆì§¸ 티어로 강화합니다. -block.multiplicative-reconstructor.description = 들어온 ìœ ë‹›ë“¤ì„ ì„¸ 번째 티어로 강화합니다. -block.exponential-reconstructor.description = 들어온 ìœ ë‹›ë“¤ì„ ë„¤ 번째 티어로 강화합니다. -block.tetrative-reconstructor.description = 들어온 ìœ ë‹›ë“¤ì„ ë‹¤ì„¯ 번째, ê¶ê·¹ì˜ 티어로 강화합니다. +block.hail.description = ìž¥ê±°ë¦¬ì— ê±¸ì³ ì§€ìƒ ì ì„ 향해 ìž‘ì€ í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +block.wave.description = ì ì„ 향해 ì•¡ì²´ 줄기를 발사합니다. ë¬¼ì´ ê³µê¸‰ë˜ë©´ ìžë™ìœ¼ë¡œ 화재를 진압합니다. +block.lancer.description = ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ 강력한 ì—너지 ë¹”ì„ ì¶©ì „í•˜ì—¬ 발사합니다. +block.arc.description = ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ 전격 ì•„í¬ë¥¼ 발사합니다. +block.swarmer.description = ì ì„ 향해 ìœ ë„ ë¯¸ì‚¬ì¼ì„ 발사합니다. +block.salvo.description = ì ì„ 향해 ì´ì•Œì„ 빠르게 ì¼ì œížˆ 발사합니다. +block.fuse.description = 가까운 ì ì„ 향해 3ë°œì˜ ë‹¨ê±°ë¦¬ 관통 ë ˆì´ì €ë¥¼ 발사합니다. +block.ripple.description = ìž¥ê±°ë¦¬ì— ê±¸ì³ ì§€ìƒ ì ì„ 향해 í¬íƒ„ 무리를 발사합니다. +block.cyclone.description = 근처 ì ì„ 향해 í­ë°œ 파편 ë©ì–´ë¦¬ë¥¼ 발사합니다. +block.spectre.description = 공중 ë° ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ í° ê´€í†µ ì² ê°‘íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +block.meltdown.description = 주변 ì ì„ 향해 ì§€ì†ì ì¸ ë ˆì´ì € ë¹”ì„ ì¶©ì „í•˜ì—¬ 발사합니다. ìž‘ë™í•˜ë ¤ë©´ ëƒ‰ê° ì•¡ì²´ê°€ 필요합니다. +block.foreshadow.description = ìž¥ê±°ë¦¬ì— ê±¸ì¹œ 거대한 ë‹¨ì¼ ëª©í‘œ ì €ê²©íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 최대 ì²´ë ¥ì´ ë†’ì€ ì ì„ 먼저 조준합니다. +block.repair-point.description = 피해를 ìž…ì€ ê°€ìž¥ 가까운 기체를 ì§€ì†ì ìœ¼ë¡œ 수리합니다. +block.segment.description = 날아오는 발사체를 요격합니다. 전격 ë° ë ˆì´ì € 발사체는 조준하지 않습니다. +block.parallax.description = 공중 ëª©í‘œë¬¼ì„ ëŒì–´ì˜¤ëŠ” ê²¬ì¸ ê´‘ì„ ì„ ë°œì‚¬í•˜ë©°, ê²¬ì¸ ì¤‘ì— í”¼í•´ë¥¼ 입힙니다. +block.tsunami.description = ì ì„ 향해 강력한 ì•¡ì²´ 줄기를 발사합니다. ë¬¼ì´ ê³µê¸‰ë˜ë©´ ìžë™ìœ¼ë¡œ 화재를 진압합니다. +block.silicon-crucible.description = 파ì´ë¼íƒ€ì´íŠ¸ë¥¼ 추가 ì—´ì›ìœ¼ë¡œ 사용하여 모래와 ì„탄ì—서 ì‹¤ë¦¬ì½˜ì„ ì •ì œí•©ë‹ˆë‹¤. 뜨거운 ê³³ì—서 ë” íš¨ìœ¨ì ìž…니다. +block.disassembler.description = 광재를 ë‚®ì€ íš¨ìœ¨ë¡œ ë¯¸ëŸ‰ì˜ í¬ê·€í•œ 광물들로 분리합니다. í† ë¥¨ì„ ìƒì‚°í•  수 있습니다. +block.overdrive-dome.description = 주변 ê±´ë¬¼ì˜ ì†ë„를 높입니다. ìž‘ë™í•˜ë ¤ë©´ ìœ„ìƒ ì„¬ìœ ì™€ ì‹¤ë¦¬ì½˜ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.payload-conveyor.description = 공장ì—서 ìƒì‚°ëœ 유닛 ê°™ì€ í° í™”ë¬¼ì„ ìš´ë°˜í•©ë‹ˆë‹¤. +block.payload-router.description = í™”ë¬¼ì„ 3가지 방향으로 번갈아 운반합니다. +block.ground-factory.description = ì§€ìƒ ìœ ë‹›ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ì€ ë°”ë¡œ 사용하거나 강화를 위해 재구성기로 ì´ë™í•  수 있습니다. +block.air-factory.description = 공중 ìœ ë‹›ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ì€ ë°”ë¡œ 사용하거나 강화를 위해 재구성기로 ì´ë™í•  수 있습니다. +block.naval-factory.description = í•´ìƒ ìœ ë‹›ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ì€ ë°”ë¡œ 사용하거나 강화를 위해 재구성기로 ì´ë™í•  수 있습니다. +block.additive-reconstructor.description = 들어온 ìœ ë‹›ì„ ë‘ ë²ˆì§¸ 단계로 강화합니다. +block.multiplicative-reconstructor.description = 들어온 ìœ ë‹›ì„ ì„¸ 번째 단계로 강화합니다. +block.exponential-reconstructor.description = 들어온 ìœ ë‹›ì„ ë„¤ 번째 티어로 강화합니다. +block.tetrative-reconstructor.description = 들어온 ìœ ë‹›ì„ ë‹¤ì„¯ 번째, 최종 단계로 강화합니다. block.switch.description = on/off 가능한 스위치입니다. 스위치 ìƒíƒœëŠ” í”„ë¡œì„¸ì„œì— ì˜í•´ ì½ížˆê±°ë‚˜ ì œì–´ë  ìˆ˜ 있습니다. block.micro-processor.description = ë¡œì§ ì‹¤í–‰ë¬¸ì„ ìˆœì„œëŒ€ë¡œ 무한히 실행합니다. 유닛 ë˜ëŠ” ê±´ë¬¼ì„ ì œì–´í•˜ëŠ” ë° ì“°ì¼ ìˆ˜ 있습니다. block.logic-processor.description = ë¡œì§ ì‹¤í–‰ë¬¸ì„ ìˆœì„œëŒ€ë¡œ 무한히 실행합니다. 유닛 ë˜ëŠ” ê±´ë¬¼ì„ ì œì–´í•˜ëŠ” ë° ì“°ì¼ ìˆ˜ 있습니다. 마ì´í¬ë¡œ 프로세서보다 실행 ì†ë„ê°€ ë” ë¹ ë¦…ë‹ˆë‹¤. block.hyper-processor.description = ë¡œì§ ì‹¤í–‰ë¬¸ì„ ìˆœì„œëŒ€ë¡œ 무한히 실행합니다. 유닛 ë˜ëŠ” ê±´ë¬¼ì„ ì œì–´í•˜ëŠ” ë° ì“°ì¼ ìˆ˜ 있습니다. ë¡œì§ í”„ë¡œì„¸ì„œë³´ë‹¤ 실행 ì†ë„ê°€ ë” ë¹ ë¦…ë‹ˆë‹¤. block.memory-cell.description = 프로세서를 위한 ë°ì´í„°ë¥¼ 저장합니다. -block.memory-bank.description = 프로세서를 위한 ë°ì´í„°ë¥¼ 저장합니다. 저장 ê³µê°„ì´ ì…€ë³´ë‹¤ í½ë‹ˆë‹¤. -block.logic-display.description = 프로세서를 ì´ìš©í•´ ê·¸ëž˜í”½ì„ ì¶œë ¥í•  수 있습니다. -block.large-logic-display.description = 프로세서를 ì´ìš©í•´ ê·¸ëž˜í”½ì„ ì¶œë ¥í•  수 있습니다. -block.interplanetary-accelerator.description = 거대한 ì „ìžê¸° ë ˆì¼ê±´ 타워. 코어를 행성 ê°„ ì´ë™ì„ 위한 탈출 ì†ë„까지 ê°€ì†í•©ë‹ˆë‹¤. +block.memory-bank.description = 프로세서를 위한 ë°ì´í„°ë¥¼ 저장합니다. í° ìš©ëŸ‰ì„ ì§€ë‹ˆê³  있습니다. +block.logic-display.description = 프로세서를 ì´ìš©í•´ ìž„ì˜ë¡œ ê·¸ëž˜í”½ì„ ì¶œë ¥í•  수 있습니다. +block.large-logic-display.description = 프로세서를 ì´ìš©í•´ ìž„ì˜ë¡œ ê·¸ëž˜í”½ì„ ì¶œë ¥í•  수 있습니다. +block.interplanetary-accelerator.description = 거대한 ì „ìžê¸° ë ˆì¼ê±´ 타워. 행성 ê°„ ì´ë™ì„ 위한 탈출 ì†ë„까지 코어를 ê°€ì†í•©ë‹ˆë‹¤. +block.repair-turret.description = 피해를 ìž…ì€ ê°€ìž¥ 가까운 ìœ ë‹›ì„ ì§€ì†ì ìœ¼ë¡œ 수리합니다. ì„ íƒì ìœ¼ë¡œ 냉ê°ìˆ˜ë¥¼ ë„£ì„ ìˆ˜ 있습니다. -unit.dagger.description = 주변 모든 ì ì—게 ì¼ë°˜ì ì¸ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -unit.mace.description = 주변 모든 ì ì—게 화염 줄기를 발사합니다. -unit.fortress.description = ì§€ìƒ ëª©í‘œë¬¼ì— ìž¥ê±°ë¦¬ í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -unit.scepter.description = 주변 모든 ì ì—게 ìž¥ì „ëœ íƒ„í™˜ì„ ì¼ì œížˆ 발사합니다. -unit.reign.description = 주변 모든 ì ì—게 거대한 관통 íƒ„í™˜ì„ ì¼ì œížˆ 발사합니다. -unit.nova.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” ë ˆì´ì € 볼트를 발사합니다. 비행할 수 있습니다. -unit.pulsar.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” ì „ê²©ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 비행할 수 있습니다. -unit.quasar.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” 관통 ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 비행할 수 있습니다. ì—­ìž¥ì„ ê°€ì§€ê³  있습니다. -unit.vela.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ë“¤ì„ ìˆ˜ë¦¬í•˜ëŠ” 거대한 ì§€ì†ì ì¸ ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 비행할 수 있습니다. +#Erekir +block.core-bastion.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. 튼튼합니다. 한번 파괴ë˜ë©´, êµ¬ì—­ì„ ìžƒìŠµë‹ˆë‹¤. +block.core-citadel.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. ë” íŠ¼íŠ¼í•©ë‹ˆë‹¤. 코어: 요새보다 ë” ë§Žì€ ì–‘ì˜ ìžì›ì„ 저장합니다. +block.core-acropolis.description = ê¸°ì§€ì˜ í•µì‹¬ìž…ë‹ˆë‹¤. 매우 튼튼합니다. 코어: 성채보다 ë” ë§Žì€ ì–‘ì˜ ìžì›ì„ 저장합니다. +block.breach.description = ì  ëŒ€ìƒì—게 관통하는 베릴륨 ë˜ëŠ” í……ìŠ¤í… íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +block.diffuse.description = ë„“ì€ ì›ë¿” 모양으로 íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. ì  ëŒ€ìƒì„ 뒤로 밀어냅니다. +block.sublimate.description = ì  ëŒ€ìƒì—게 í™”ì—¼ì„ ì—°ì† ë¶„ì‚¬í•©ë‹ˆë‹¤. ìž¥ê°‘ì„ ê´€í†µí•©ë‹ˆë‹¤. +block.titan.description = ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ 거대한 í­ë°œ í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 수소가 필요합니다. +block.afflict.description = ëŒ€ì „ëœ ê±°ëŒ€í•œ ì¡°ê°ë©ì–´ë¦¬ 구체를 발사합니다. ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.disperse.description = 공중 ëª©í‘œë¬¼ì„ í–¥í•´ 파편 í­ê²©ì„ 가합니다. +block.lustre.description = ì  ëŒ€ìƒì—게 ëŠë¦¬ê²Œ 움ì§ì´ëŠ” ë‹¨ì¼ í‘œì  ë ˆì´ì €ë¥¼ 발사합니다. +block.scathe.description = 매우 멀리있는 ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ 강력한 미사ì¼ì„ 발사합니다. +block.smite.description = 날카로운 번개를 내뿜는 관통 í­ë°œíƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +block.malign.description = ì  ëŒ€ìƒì„ 향해 ìœ ë„ ë ˆì´ì € 전하 세례를 í¼ë¶“습니다. ëŒ€ëŸ‰ì˜ ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.silicon-arc-furnace.description = 모래와 í‘ì—°ì—서 ì‹¤ë¦¬ì½˜ì„ ì •ì œí•©ë‹ˆë‹¤. +block.oxidation-chamber.description = 베릴륨과 ì˜¤ì¡´ì„ ì‚°í™”ë¬¼ë¡œ 전환합니다. 부산물로 ì—´ì„ ë°©ì¶œí•©ë‹ˆë‹¤. +block.electric-heater.description = 블ë¡ì— ì—´ì„ ê°€í•©ë‹ˆë‹¤. ë§Žì€ ì–‘ì˜ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.slag-heater.description = 블ë¡ì— ì—´ì„ ê°€í•©ë‹ˆë‹¤. 광재가 필요합니다. +block.phase-heater.description = 블ë¡ì— ì—´ì„ ê°€í•©ë‹ˆë‹¤. ìœ„ìƒ ì„¬ìœ ê°€ 필요합니다. +block.heat-redirector.description = 누ì ëœ ì—´ì„ ë‹¤ë¥¸ 블ë¡ìœ¼ë¡œ 전달합니다. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = ì¶•ì ëœ ì—´ì„ ì„¸ 가지 출력 방향으로 분산시킵니다. +block.electrolyzer.description = ë¬¼ì„ ìˆ˜ì†Œì™€ 오존 가스로 변환합니다. +block.atmospheric-concentrator.description = 대기ì—서 질소를 ë†ì¶•합니다. ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.surge-crucible.description = 광재와 실리콘으로 ì„¤ê¸ˆì„ í˜•ì„±í•©ë‹ˆë‹¤. ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.phase-synthesizer.description = 토륨, 모래 ë° ì˜¤ì¡´ìœ¼ë¡œë¶€í„° ìœ„ìƒ ì„¬ìœ ë¥¼ 합성합니다. ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.carbide-crucible.description = í‘ì—°ê³¼ 텅스í…ì„ íƒ„í™”ë¬¼ë¡œ 융합합니다. ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.cyanogen-synthesizer.description = 아르키사ì´íŠ¸ì™€ í‘연으로부터 시아노ê²ì„ 합성합니다. ì—´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.slag-incinerator.description = 비휘발성 ìžì› ë˜ëŠ” 액체를 소ê°í•©ë‹ˆë‹¤. 광재가 필요합니다. +block.vent-condenser.description = 분출구ì—서 나오는 가스를 물로 ì‘축합니다. ì „ë ¥ì„ ì†Œë¹„í•©ë‹ˆë‹¤. +block.plasma-bore.description = ê´‘ì„ ë²½ì„ í–¥í•˜ì—¬ 배치하면 ìžì›ì„ ëŠìž„ì—†ì´ ì¶œë ¥í•©ë‹ˆë‹¤. ì†ŒëŸ‰ì˜ ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.large-plasma-bore.description = ë” í° í”Œë¼ì¦ˆë§ˆ 채광기. 텅스í…ê³¼ í† ë¥¨ì„ ì±„êµ´í•  수 있습니다. 수소와 ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.cliff-crusher.description = ë²½ì„ ë¶€ìˆ˜ê³  모래를 ëŠìž„ì—†ì´ ë°°ì¶œí•©ë‹ˆë‹¤. ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. íš¨ìœ¨ì€ ë²½ì˜ ìœ í˜•ì— ë”°ë¼ ë‹¤ë¦…ë‹ˆë‹¤. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = ê´‘ì„ì— ë°°ì¹˜í•˜ë©´ ìžì›ì„ í•œë²ˆì— ëª°ì•„ì„œ, ëŠìž„ì—†ì´ ì¶œë ¥í•©ë‹ˆë‹¤. 전력과 ë¬¼ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.eruption-drill.description = ê°œì„ ëœ ì¶©ê²© 드릴. í† ë¥¨ì„ ì±„êµ´í•  수 있습니다. 수소가 필요합니다. +block.reinforced-conduit.description = 유체를 앞으로 ì´ë™í•©ë‹ˆë‹¤. 측면ì—서 파ì´í”„ê°€ 아닌 ìž…ë ¥ì„ í—ˆìš©í•˜ì§€ 않습니다. +block.reinforced-liquid-router.description = 유체를 모든 ë©´ì— ê· ë“±í•˜ê²Œ 분배합니다. +block.reinforced-liquid-tank.description = ëŒ€ëŸ‰ì˜ ìœ ì²´ë¥¼ 저장합니다. +block.reinforced-liquid-container.description = ìƒë‹¹ëŸ‰ì˜ 유체를 저장합니다. +block.reinforced-bridge-conduit.description = 구조물 ë° ì§€í˜• 위로 유체를 운반합니다. +block.reinforced-pump.description = 액체를 í¼ ì˜¬ë¦¬ê³  출력합니다. 수소가 필요합니다. +block.beryllium-wall.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.beryllium-wall-large.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.tungsten-wall.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.tungsten-wall-large.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.carbide-wall.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.carbide-wall-large.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. +block.reinforced-surge-wall.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•˜ë©°, 발사체와 접촉하면 주기ì ìœ¼ë¡œ 전기 ì•„í¬ë¥¼ 발사합니다. +block.reinforced-surge-wall-large.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•˜ë©°, 발사체와 접촉하면 주기ì ìœ¼ë¡œ 전기 ì•„í¬ë¥¼ 발사합니다. +block.shielded-wall.description = ì ì˜ 발사체로부터 êµ¬ì¡°ë¬¼ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ì „ì›ì´ ê³µê¸‰ë  ë•Œ ëŒ€ë¶€ë¶„ì˜ ë°œì‚¬ì²´ë¥¼ í¡ìˆ˜í•˜ëŠ” ë³´í˜¸ë§‰ì„ ì „ê°œí•©ë‹ˆë‹¤. ì¸ì ‘한 블ë¡ì— ì „ì›ì„ 공급합니다. +block.blast-door.description = ì•„êµ° ì§€ìƒ ìœ ë‹›ì´ ë²”ìœ„ ë‚´ì— ìžˆì„ ë•Œ 열리는 벽입니다. 수ë™ìœ¼ë¡œ 제어할 수 없습니다. +block.duct.description = ìžì›ì„ 앞으로 ì´ë™í•©ë‹ˆë‹¤. 한 ê°œì˜ ìžì›ë§Œ 저장할 수 있습니다. +block.armored-duct.description = ìžì›ì„ 앞으로 ì´ë™í•©ë‹ˆë‹¤. 측면ì—서 ë„ê´€ì´ ì•„ë‹Œ ìž…ë ¥ì„ í—ˆìš©í•˜ì§€ 않습니다. +block.duct-router.description = ìžì›ì„ 세 방향으로 균등하게 분배합니다. 뒤쪽ì—서만 ìžì›ì„ 받습니다. ìžì› 필터로 활용할 수 있습니다. +block.overflow-duct.description = 앞쪽 경로가 ì°¨ë‹¨ëœ ê²½ìš°ì—ë§Œ ìžì›ì„ 왼쪽과 오른쪽으로 출력합니다. +block.duct-bridge.description = 구조물 ë° ì§€í˜• 위로 ìžì›ì„ ì´ë™í•©ë‹ˆë‹¤. +block.duct-unloader.description = ì„ íƒí•œ ìžì›ì„ ë’¤ì˜ ë¸”ë¡ì—서 빼냅니다. 코어ì—서 빼낼 수 없습니다. +block.underflow-duct.description = í¬í™” ë„ê´€ì˜ ë°˜ëŒ€ìž…ë‹ˆë‹¤. 왼쪽 ë° ì˜¤ë¥¸ìª½ 경로가 ì°¨ë‹¨ëœ ê²½ìš° 앞쪽으로 출력합니다. +block.reinforced-liquid-junction.description = ë‘ ê°œì˜ êµì°¨ 파ì´í”„ 사ì´ì˜ 다리 ì—­í• ì„ í•©ë‹ˆë‹¤. +block.surge-conveyor.description = ìžì›ì„ ì¼ê´„ì ìœ¼ë¡œ ì´ë™í•©ë‹ˆë‹¤. ì „ë ¥ì„ ê³µê¸‰í•˜ì—¬ ê°€ì†í•  수 있습니다. ì¸ì ‘한 블ë¡ì— ì „ì›ì„ 공급합니다. +block.surge-router.description = 설금 컨베ì´ì–´ì—서 ìžì›ì„ 세 방향으로 균등하게 분배합니다. ì „ë ¥ì„ ê³µê¸‰í•˜ì—¬ ê°€ì†í•  수 있습니다. ì¸ì ‘한 블ë¡ì— ì „ì›ì„ 공급합니다. +block.unit-cargo-loader.description = 화물용 ë“œë¡ ì„ ì œìž‘í•©ë‹ˆë‹¤. ë“œë¡ ì€ ìžë™ìœ¼ë¡œ ìžì›ê³¼ ì¼ì¹˜í•˜ëŠ” 필터로 ì„¤ì •ëœ ê¸°ì²´ 화물 하역지ì ìœ¼ë¡œ 분배합니다. +block.unit-cargo-unload-point.description = 화물 ë“œë¡ ì˜ í•˜ì—­ì§€ì  ì—­í• ì„ í•©ë‹ˆë‹¤. ì„ íƒí•œ 필터와 ì¼ì¹˜í•˜ëŠ” ìžì›ì„ 받아들입니다. +block.beam-node.description = ì „ë ¥ì„ ë‹¤ë¥¸ 블ë¡ì— ì§ì„  방향으로 전송합니다. ì†ŒëŸ‰ì˜ ì „ë ¥ì„ ì €ìž¥í•©ë‹ˆë‹¤. +block.beam-tower.description = ì „ë ¥ì„ ë‹¤ë¥¸ 블ë¡ì— ì§ì„  방향으로 전송합니다. ëŒ€ëŸ‰ì˜ ì „ë ¥ì„ ì €ìž¥í•©ë‹ˆë‹¤. 장거리 ì—°ê²°ì´ ê°€ëŠ¥í•©ë‹ˆë‹¤. +block.turbine-condenser.description = ë¶„ì¶œêµ¬ì— ë°°ì¹˜í•  때 ì „ë ¥ì„ ë°œìƒì‹œí‚µë‹ˆë‹¤. ì†ŒëŸ‰ì˜ ë¬¼ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.chemical-combustion-chamber.description = 아르키사ì´íŠ¸ì™€ 오존으로 ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. +block.pyrolysis-generator.description = 아르키사ì´íŠ¸ì™€ 광재로 ë§Žì€ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. 부산물로 ë¬¼ì´ ë°œìƒí•©ë‹ˆë‹¤. +block.flux-reactor.description = 가열 시 ë§Žì€ ì–‘ì˜ ì „ë ¥ì„ ë°œìƒì‹œí‚µë‹ˆë‹¤. 안정제로 시아노ê²ì´ 필요합니다. ì „ë ¥ 출력 ë° ì‹œì•„ë…¸ê² ìš”êµ¬ëŸ‰ì€ ì—´ ìž…ë ¥ì— ë¹„ë¡€í•©ë‹ˆë‹¤.\n시아노ê²ì´ 부족할 경우 í­ë°œí•©ë‹ˆë‹¤. +block.neoplasia-reactor.description = 아르키사ì´íЏ, 물 ë° ìœ„ìƒ ì„¬ìœ ë¥¼ 사용하여 ë§Žì€ ì–‘ì˜ ì „ë ¥ì„ ìƒì‚°í•©ë‹ˆë‹¤. 부산물로 ì—´ê³¼ 위험한 ì‹ ìƒë¬¼ì´ ë°œìƒí•©ë‹ˆë‹¤.\në„ê´€ì„ í†µí•´ ë°˜ì‘로ì—서 ì‹ ìƒë¬¼ì´ 제거ë˜ì§€ 않으면 격렬하게 í­ë°œí•©ë‹ˆë‹¤. +block.build-tower.description = 범위 ë‚´ì˜ êµ¬ì¡°ë¬¼ì„ ìžë™ìœ¼ë¡œ 재구축하고 다른 ìœ ë‹›ì˜ ê±´ì„¤ì„ ì§€ì›í•©ë‹ˆë‹¤. +block.regen-projector.description = 정사ê°í˜• ë‘˜ë ˆì˜ ë²”ìœ„ ì•ˆì— ìžˆëŠ” ì•„êµ° êµ¬ì¡°ë¬¼ì„ ì²œì²œížˆ 수리합니다. 수소가 필요합니다. +block.reinforced-container.description = ì†ŒëŸ‰ì˜ ìžì›ì„ 저장합니다. ë‚´ìš©ë¬¼ì€ ì–¸ë¡œë”를 통해 빼낼 수 있습니다. ì½”ì–´ì˜ ì €ìž¥ ìš©ëŸ‰ì€ ëŠ˜ë¦¬ì§€ 않습니다. +block.reinforced-vault.description = ëŒ€ëŸ‰ì˜ ìžì›ì„ 저장합니다. ë‚´ìš©ë¬¼ì€ ì–¸ë¡œë”를 통해 빼낼 수 있습니다. ì½”ì–´ì˜ ì €ìž¥ ìš©ëŸ‰ì€ ëŠ˜ë¦¬ì§€ 않습니다. +block.tank-fabricator.description = 스텔 ìœ ë‹›ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ì€ ì§ì ‘ 사용하거나 강화를 위해 재조립 장치로 ì´ë™í•  수 있습니다. +block.ship-fabricator.description = ì¼ë£¨ë“œ ìœ ë‹›ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ì€ ì§ì ‘ 사용하거나 강화를 위해 재조립 장치로 ì´ë™í•  수 있습니다. +block.mech-fabricator.description = ë©”ë£¨ì´ ìœ ë‹›ì„ ìƒì‚°í•©ë‹ˆë‹¤. ìƒì‚°ëœ ìœ ë‹›ì€ ì§ì ‘ 사용하거나 강화를 위해 재조립 장치로 ì´ë™í•  수 있습니다. +block.tank-assembler.description = ìž…ë ¥ëœ ë¸”ë¡ê³¼ 유닛으로 대형 전차를 조립합니다. ëª¨ë“ˆì„ ì¶”ê°€í•˜ì—¬ 출력ë˜ëŠ” ìœ ë‹›ì˜ ë“±ê¸‰ì„ ìƒí–¥í•  수 있습니다. +block.ship-assembler.description = ìž…ë ¥ëœ ë¸”ë¡ê³¼ 유닛으로 대형 í•¨ì„ ì„ ì¡°ë¦½í•©ë‹ˆë‹¤. ëª¨ë“ˆì„ ì¶”ê°€í•˜ì—¬ 출력ë˜ëŠ” ìœ ë‹›ì˜ ë“±ê¸‰ì„ ìƒí–¥í•  수 있습니다. +block.mech-assembler.description = ìž…ë ¥ëœ ë¸”ë¡ê³¼ 유닛으로 대형 기계를 조립합니다. ëª¨ë“ˆì„ ì¶”ê°€í•˜ì—¬ 출력ë˜ëŠ” ìœ ë‹›ì˜ ë“±ê¸‰ì„ ìƒí–¥í•  수 있습니다. +block.tank-refabricator.description = ìž…ë ¥ëœ ì „ì°¨ ìœ ë‹›ì„ ë‘ ë²ˆì§¸ 등급으로 강화합니다. +block.ship-refabricator.description = ìž…ë ¥ëœ í•¨ì„  ìœ ë‹›ì„ ë‘ ë²ˆì§¸ 등급으로 강화합니다. +block.mech-refabricator.description = ìž…ë ¥ëœ ê¸°ê³„ ìœ ë‹›ì„ ë‘ ë²ˆì§¸ 등급으로 강화합니다. +block.prime-refabricator.description = ìž…ë ¥ëœ ìœ ë‹›ì„ ì„¸ 번째 등급으로 강화합니다. +block.basic-assembler-module.description = 조립 경계 ì˜†ì— ë°°ì¹˜í•˜ë©´ 조립대 ë“±ê¸‰ì´ ì¦ê°€í•©ë‹ˆë‹¤. ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. 화물 입력으로 사용할 수 있습니다. +block.small-deconstructor.description = ìž…ë ¥ëœ êµ¬ì¡°ë¬¼ ë° ìœ ë‹›ì„ ë¶„í•´í•©ë‹ˆë‹¤. 제작 ë¹„ìš©ì˜ 100%를 반환합니다. +block.reinforced-payload-conveyor.description = í™”ë¬¼ì„ ì•žìœ¼ë¡œ ì´ë™í•©ë‹ˆë‹¤. +block.reinforced-payload-router.description = í™”ë¬¼ì„ ì¸ì ‘ 블ë¡ìœ¼ë¡œ 분배합니다. í•„í„°ê°€ 설정ë˜ë©´ 필터로 ìž‘ë™í•©ë‹ˆë‹¤. +block.payload-mass-driver.description = 장거리 화물 운송 구조물. ë°›ì€ í™”ë¬¼ì„ ì—°ê²°ëœ í™”ë¬¼ 매스 드ë¼ì´ë²„로 발사합니다. +block.large-payload-mass-driver.description = 장거리 화물 운송 구조물. ë°›ì€ í™”ë¬¼ì„ ì—°ê²°ëœ í™”ë¬¼ 매스 드ë¼ì´ë²„로 발사합니다. +block.unit-repair-tower.description = ì£¼ë³€ì˜ ëª¨ë“  ìœ ë‹›ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. ì˜¤ì¡´ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.radar.description = ë„“ì€ ë°˜ê²½ì˜ ì§€í˜•ê³¼ ì  ìœ ë‹›ì„ ì„œì„œížˆ 파악합니다. ì „ë ¥ì´ í•„ìš”í•©ë‹ˆë‹¤. +block.shockwave-tower.description = 반경 ë‚´ ì ì˜ ë°œì‚¬ì²´ì— í”¼í•´ë¥¼ 입히고 파괴합니다. 시아노ê²ì´ 필요합니다. +block.canvas.description = 미리 ì •ì˜ëœ 팔레트를 사용하여 단순 ì´ë¯¸ì§€ë¥¼ 표시합니다. 편집 가능. + +unit.dagger.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 ì¼ë°˜ì ì¸ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.mace.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 화염 줄기를 발사합니다. +unit.fortress.description = ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ 장거리 í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.scepter.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 ìž¥ì „ëœ íƒ„í™˜ì„ ì¼ì œížˆ 발사합니다. +unit.reign.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 거대한 관통 íƒ„í™˜ì„ ì¼ì œížˆ 발사합니다. +unit.nova.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” ë ˆì´ì € 볼트를 발사합니다. ì´ë¥™í•  수 있습니다. +unit.pulsar.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” ì „ê²©ì„ ë°œì‚¬í•©ë‹ˆë‹¤. ì´ë¥™í•  수 있습니다. +unit.quasar.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” 관통 ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•©ë‹ˆë‹¤. ì´ë¥™í•  수 있습니다. ì—­ìž¥ì„ ê°€ì§€ê³  있습니다. +unit.vela.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” 거대한 ì§€ì†ì ì¸ ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•©ë‹ˆë‹¤. ì´ë¥™í•  수 있습니다. unit.corvus.description = ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” 거대한 ë ˆì´ì € 블레스트를 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. -unit.crawler.description = ì ì—게 달려들어서 거대한 í­ë°œì„ ì¼ìœ¼í‚¤ëŠ” ìží­ì„ 합니다. -unit.atrax.description = ì§€ìƒ ëª©í‘œë¬¼ì„ ì•½í™”í•˜ëŠ” 광재 구체를 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. -unit.spiroct.description = ì ì—게 í¡í˜ˆ ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•˜ë©°, í¡í˜ˆì„ 통해 ì²´ë ¥ì„ íšŒë³µí•©ë‹ˆë‹¤. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. -unit.arkyid.description = ì ì—게 í° í¡í˜ˆ ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•˜ë©°, í¡í˜ˆì„ 통해 ì²´ë ¥ì„ íšŒë³µí•©ë‹ˆë‹¤. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. -unit.toxopid.description = ì ì—게 í° ì „ê²© í¬íƒ„ 무리와 관통 ë ˆì´ì €ë¥¼ 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. -unit.flare.description = ì§€ìƒ ëª©í‘œë¬¼ì— ì¼ë°˜ì ì¸ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -unit.horizon.description = ì§€ìƒ ëª©í‘œë¬¼ì— í­íƒ„ì„ íˆ¬í•˜í•©ë‹ˆë‹¤. -unit.zenith.description = 주변 모든 ì ì—게 미사ì¼ì„ ì‚´í¬í•©ë‹ˆë‹¤. -unit.antumbra.description = 주변 모든 ì ì—게 íƒ„í™˜ë“¤ì„ ì¼ì œížˆ 발사합니다. -unit.eclipse.description = 주변 모든 ì ì—게 ë‘ ê°œì˜ ê´€í†µ ë ˆì´ì €ì™€ 대공 íƒ„ì„ ì¼ì œížˆ 발사합니다. -unit.mono.description = ìžë™ìœ¼ë¡œ 구리와 ë‚©ì„ ìºì„œ 코어로 넣습니다. -unit.poly.description = ìžë™ìœ¼ë¡œ 부서진 êµ¬ì¡°ë¬¼ì„ ìž¬ê±´ì„¤í•˜ê±°ë‚˜ 다른 ìœ ë‹›ë“¤ì˜ ê±´ì„¤ì„ ë³´ì¡°í•©ë‹ˆë‹¤. -unit.mega.description = ìžë™ìœ¼ë¡œ ì†ìƒëœ êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. 블ë¡ì´ë‚˜ ìž‘ì€ ì§€ìƒ ìœ ë‹›ë“¤ì„ ìˆ˜ì†¡í•  수 있습니다. -unit.quad.description = ì§€ìƒ ëª©í‘œë¬¼ì— ì ì—게 피해를 주고, ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” í° í­íƒ„ì„ íˆ¬í•˜í•©ë‹ˆë‹¤. 중간 í¬ê¸°ì˜ ì§€ìƒ ìœ ë‹›ë“¤ì„ ìˆ˜ì†¡í•  수 있습니다. -unit.oct.description = 주변 ì•„êµ°ë“¤ì„ ìž¬ìƒ ì—­ìž¥ìœ¼ë¡œ 보호합니다. ëŒ€ë¶€ë¶„ì˜ ì§€ìƒ ìœ ë‹›ë“¤ì„ ìˆ˜ì†¡í•  수 있습니다. -unit.risso.description = 주변 모든 ì ì—게 탄환과 미사ì¼ì„ ì¼ì œížˆ 발사합니다. -unit.minke.description = 주변 ì§€ìƒ ì ì—게 ì¼ë°˜ì ì¸ 탄환과 í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. -unit.bryde.description = ì ì—게 장거리 í¬íƒ„ê³¼ 미사ì¼ì„ 발사합니다. -unit.sei.description = ì ì—게 ë°©ì–´ë ¥ 관통 탄환과 미사ì¼ì„ ì¼ì œížˆ 발사합니다. -unit.omura.description = ì ì—게 장거리 관통 ë ˆì¼ê±´ì„ 발사합니다. 플레어를 ìƒì‚°í•©ë‹ˆë‹¤. -unit.alpha.description = ì ìœ¼ë¡œë¶€í„° 코어: ì¡°ê°ì„ 방어합니다. êµ¬ì¡°ë¬¼ì„ ì§“ìŠµë‹ˆë‹¤. -unit.beta.description = ì ìœ¼ë¡œë¶€í„° 코어: ê¸°ë°˜ì„ ë°©ì–´í•©ë‹ˆë‹¤. êµ¬ì¡°ë¬¼ì„ ì§“ìŠµë‹ˆë‹¤. -unit.gamma.description = ì ìœ¼ë¡œë¶€í„° 코어: í•µì‹¬ì„ ë°©ì–´í•©ë‹ˆë‹¤. êµ¬ì¡°ë¬¼ì„ ì§“ìŠµë‹ˆë‹¤. +unit.crawler.description = ì ì„ 향해 달려가 ìží­í•˜ë©°, í° í­ë°œì„ ì¼ìœ¼í‚µë‹ˆë‹¤. +unit.atrax.description = ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ 광재 구체를 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. +unit.spiroct.description = ì ì„ 향해 약화 ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•˜ë©°, ì´ ê³¼ì •ì—서 스스로 회복합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. +unit.arkyid.description = ì ì„ 향해 ë§Žì€ ì•½í™” ë ˆì´ì € ë¹”ì„ ë°œì‚¬í•˜ë©°, ì´ ê³¼ì •ì—서 스스로 회복합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. +unit.toxopid.description = ì ì„ 향해 í° ì „ê²© í¬íƒ„ 무리와 관통 ë ˆì´ì €ë¥¼ 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜• 위를 ë°Ÿì„ ìˆ˜ 있습니다. +unit.flare.description = ì§€ìƒ ëª©í‘œë¬¼ì„ í–¥í•´ ì¼ë°˜ì ì¸ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.horizon.description = ì§€ìƒ ëª©í‘œë¬¼ì— í­íƒ„ì„ íˆ¬í•˜í•©ë‹ˆë‹¤. +unit.zenith.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 미사ì¼ì„ 발사합니다. +unit.antumbra.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 íƒ„í™˜ì„ ì¼ì œížˆ 발사합니다. +unit.eclipse.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 ë‘ ê°œì˜ ê´€í†µ ë ˆì´ì €ì™€ 대공 íƒ„í™˜ì„ ì¼ì œížˆ 발사합니다. +unit.mono.description = ìžë™ìœ¼ë¡œ 구리와 ë‚©ì„ ì±„êµ´í•˜ì—¬ ì½”ì–´ì— ë„£ìŠµë‹ˆë‹¤. +unit.poly.description = ìžë™ìœ¼ë¡œ 부서진 êµ¬ì¡°ë¬¼ì„ ìž¬ê±´í•˜ê±°ë‚˜ 다른 ê¸°ì²´ì˜ ê±´ì„¤ì„ ë³´ì¡°í•©ë‹ˆë‹¤. +unit.mega.description = ìžë™ìœ¼ë¡œ ì†ìƒëœ êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. 블ë¡ì´ë‚˜ ìž‘ì€ ì§€ìƒ ê¸°ì²´ë¥¼ 수송할 수 있습니다. +unit.quad.description = ì§€ìƒ ëª©í‘œë¬¼ì— ì•„êµ° êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ê³  ì ì—게 피해를 입히는 í° í­íƒ„ì„ íˆ¬í•˜í•©ë‹ˆë‹¤. 중간 í¬ê¸°ì˜ ì§€ìƒ ê¸°ì²´ë¥¼ 수송할 수 있습니다. +unit.oct.description = 재ìƒí•˜ëŠ” 역장으로 주변 ì•„êµ°ì„ ë³´í˜¸í•©ë‹ˆë‹¤. ëŒ€ë¶€ë¶„ì˜ ì§€ìƒ ê¸°ì²´ë¥¼ 수송할 수 있습니다. +unit.risso.description = ì£¼ë³€ì˜ ëª¨ë“  ì ì„ 향해 탄환과 미사ì¼ì„ ì¼ì œížˆ 발사합니다. +unit.minke.description = ì£¼ë³€ì˜ ì§€ìƒ ì ì„ 향해 ì¼ë°˜ì ì¸ 탄환과 í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.bryde.description = ì ì„ 향해 장거리 í¬íƒ„ê³¼ 미사ì¼ì„ 발사합니다. +unit.sei.description = ì ì„ 향해 철갑탄과 미사ì¼ì„ ì¼ì œížˆ 발사합니다. +unit.omura.description = ì ì„ 향해 장거리 관통 ë ˆì¼ê±´ì„ 발사합니다. 플레어를 ìƒì‚°í•©ë‹ˆë‹¤. +unit.alpha.description = ì ìœ¼ë¡œë¶€í„° 코어: ì¡°ê°ì„ 방어합니다. 건설할 수 있습니다. +unit.beta.description = ì ìœ¼ë¡œë¶€í„° 코어: ê¸°ë°˜ì„ ë°©ì–´í•©ë‹ˆë‹¤. 건설할 수 있습니다. +unit.gamma.description = ì ìœ¼ë¡œë¶€í„° 코어: í•µì‹¬ì„ ë°©ì–´í•©ë‹ˆë‹¤. 건설할 수 있습니다. +unit.retusa.description = ì£¼ë³€ì˜ ì ì„ 향해 ìœ ë„ ì–´ë¢°ë¥¼ 발사합니다. ì•„êµ° ìœ ë‹›ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. +unit.oxynoe.description = ì£¼ë³€ì˜ ì ì„ 향해 êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•˜ëŠ” 화염줄기를 발사합니다. 요격 í¬íƒ‘으로 ì£¼ë³€ì˜ ì  íƒ„í™˜ì„ ìš”ê²©í•©ë‹ˆë‹¤. +unit.cyerce.description = ì£¼ë³€ì˜ ì ì„ 향해 ìœ ë„ ì§‘ì† ë¯¸ì‚¬ì¼ì„ 발사합니다. ì•„êµ° ìœ ë‹›ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. +unit.aegires.description = ì—너지 필드로 들어온 모든 ì  ê¸°ì²´ì™€ 구조물ì—게 ì¶©ê²©ì„ ì¤ë‹ˆë‹¤. 모든 ì•„êµ°ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. +unit.navanax.description = ì  ì „ë ¥ë§ì— ìƒë‹¹í•œ 피해를 주고 ì•„êµ° 블ë¡ì„ 수리하는 í­ë°œì„± EMP íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 4ê°œì˜ ìžìœ¨ ë ˆì´ì € í¬íƒ‘으로 주변 ì ì„ 녹입니다. + +#Erekir +unit.stell.description = ì  ëŒ€ìƒì—게 ì¼ë°˜ì ì¸ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.locus.description = ì  ëŒ€ìƒì—게 번갈아 나오는 íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.precept.description = ì  ëŒ€ìƒì—게 관통하는 ì§‘ì†íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.vanquish.description = ì  ëŒ€ìƒì—게 관통하는 거대한 ë¶„ì—´íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.conquer.description = ì  ëŒ€ìƒì—게 관통하는 거대한 íƒ„í™˜ì˜ í­í¬ë¥¼ 발사합니다. +unit.merui.description = ì§€ìƒ ì  ëŒ€ìƒì—게 장사정í¬ë¥¼ 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜•ì„ ë›°ì–´ë„˜ì„ ìˆ˜ 있습니다. +unit.cleroi.description = ì  ëŒ€ìƒì—게 ì´ì¤‘ í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. 집중 ë°©ì–´ í¬íƒ‘으로 ì ì˜ 발사체를 요격합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜•ì„ ë›°ì–´ë„˜ì„ ìˆ˜ 있습니다. +unit.anthicus.description = ì  ëŒ€ìƒì—게 장거리 ìœ ë„ ë°œì‚¬ì²´ë¥¼ 발사합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜•ì„ ë›°ì–´ë„˜ì„ ìˆ˜ 있습니다. +unit.tecta.description = ì  ëŒ€ìƒì—게 ìœ ë„ í”Œë¼ì¦ˆë§ˆ 발사체를 발사합니다. ì „ë°© 보호막으로 스스로를 보호합니다. ëŒ€ë¶€ë¶„ì˜ ì§€í˜•ì„ ë›°ì–´ë„˜ì„ ìˆ˜ 있습니다. +unit.collaris.description = ì  ëŒ€ìƒì—게 장거리 ë¶„ì—´í¬íƒ„ì„ ë°œì‚¬í•©ë‹ˆë‹¤. ëŒ€ë¶€ë¶„ì˜ ì§€í˜•ì„ ë›°ì–´ë„˜ì„ ìˆ˜ 있습니다. +unit.elude.description = ì  ëŒ€ìƒì—게 한 ìŒì˜ ìœ ë„ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. ì•¡ì²´ ìœ„ì— ë–  ìžˆì„ ìˆ˜ 있습니다. +unit.avert.description = ì  ëŒ€ìƒì—게 비틀리는 한 ìŒì˜ íƒ„í™˜ì„ ë°œì‚¬í•©ë‹ˆë‹¤. +unit.obviate.description = ì  ëŒ€ìƒì—게 비틀리는 한 ìŒì˜ 전기 구체를 발사합니다. +unit.quell.description = ì  ëŒ€ìƒì—게 장거리 ìœ ë„ ë°œì‚¬ì²´ë¥¼ 발사합니다. ì  êµ¬ì¡°ë¬¼ 수리 블ë¡ì„ 억제합니다. +unit.disrupt.description = ì  ëŒ€ìƒì—게 장거리 ìœ ë„ ì–µì œ 발사체를 발사합니다. ì  êµ¬ì¡°ë¬¼ 수리 블ë¡ì„ 억제합니다. +unit.evoke.description = 코어: 요새를 지켜내기 위해 êµ¬ì¡°ë¬¼ì„ ê±´ì„¤í•©ë‹ˆë‹¤. 빔으로 êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. +unit.incite.description = 코어: 성채를 지켜내기 위해 êµ¬ì¡°ë¬¼ì„ ê±´ì„¤í•©ë‹ˆë‹¤. 빔으로 êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. +unit.emanate.description = 코어: ë„ì‹¬ì„ ì§€ì¼œë‚´ê¸° 위해 êµ¬ì¡°ë¬¼ì„ ê±´ì„¤í•©ë‹ˆë‹¤. 빔으로 êµ¬ì¡°ë¬¼ì„ ìˆ˜ë¦¬í•©ë‹ˆë‹¤. + +lst.read = ì—°ê²°ëœ ë©”ëª¨ë¦¬ ì…€ì—서 숫ìžë¥¼ ì½ìŠµë‹ˆë‹¤. +lst.write = ì—°ê²°ëœ ë©”ëª¨ë¦¬ ì…€ì— ìˆ«ìžë¥¼ 작성합니다. +lst.print = 프린트 버í¼ì— í…스트를 추가합니다.\n[accent]Print Flush[]ê°€ 사용ë˜ê¸° 전까진 ì•„ë¬´ê²ƒë„ ë³´ì—¬ì£¼ì§€ 않습니다. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = í…스트 버í¼ì˜ ë‹¤ìŒ í”Œë ˆì´ìŠ¤í™€ë”를 값으로 바꿉니다.\nìžë¦¬ í‘œì‹œìž íŒ¨í„´ì´ ìœ íš¨í•˜ì§€ ì•Šì€ ê²½ìš° ì•„ë¬´ê²ƒë„ í•˜ì§€ 않습니다.\n플레ì´ìŠ¤í™€ë” íŒ¨í„´: "{[accent]number 0-9[]}"\n예:\n[accent]print "test {0}"\nformat "example" +lst.draw = 드로잉 버í¼ì— ì‹¤í–‰ë¬¸ì„ ì¶”ê°€í•©ë‹ˆë‹¤.\n[accent]Draw Flush[]ê°€ 사용ë˜ê¸° 전까진 ì•„ë¬´ê²ƒë„ ë³´ì—¬ì£¼ì§€ 않습니다. +lst.drawflush = ëŒ€ê¸°ì¤‘ì¸ [accent]Draw[]ì‹¤í–‰ë¬¸ì„ ë””ìŠ¤í”Œë ˆì´ì— 출력합니다. +lst.printflush = ëŒ€ê¸°ì¤‘ì¸ [accent]Print[]ì‹¤í–‰ë¬¸ì„ ë©”ì‹œì§€ 블ë¡ì— 출력합니다. +lst.getlink = 순서별로 í”„ë¡œì„¸ì„œì˜ ì—°ê²°ì„ ê°€ì ¸ì˜µë‹ˆë‹¤. 0부터 시작합니다. +lst.control = ê±´ë¬¼ì„ ì¡°ì¢…í•©ë‹ˆë‹¤. +lst.radar = 건물 ì£¼ë³€ì˜ ìœ ë‹›ì„ ê²€ìƒ‰í•©ë‹ˆë‹¤. +lst.sensor = 건물 ë˜ëŠ” ìœ ë‹›ì˜ ì •ë³´ë¥¼ 수집합니다. +lst.set = 변수를 설정합니다. +lst.operation = 1~2ê°œì˜ ë³€ìˆ˜ë¡œ 연산합니다. +lst.end = ì‹¤í–‰ì¤„ì˜ ê°€ìž¥ 위로 건너ëœë‹ˆë‹¤. +lst.wait = ì¼ì • 시간(ì´ˆ) ë™ì•ˆ 대기합니다. +lst.stop = ì´ í”„ë¡œì„¸ì„œì˜ ì‹¤í–‰ 중지합니다. +lst.lookup = id를 통해 특정 ìœ í˜•ì˜ ìžì›/ì•¡ì²´/유닛/블ë¡ì„ 조회합니다.\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\n...로 ê° ìœ í˜•ì˜ ì´ ê°¯ìˆ˜ë¥¼ 알 수 있습니다. +lst.jump = 조건부로 다른 실행문으로 건너ëœë‹ˆë‹¤. +lst.unitbind = type ì˜†ì— ìžˆëŠ” ìœ ë‹›ì„ ì§€ì •í•˜ê³ , [accent]@unit[]ì— ì €ìž¥í•©ë‹ˆë‹¤. +lst.unitcontrol = 현재 ì§€ì •ëœ ìœ ë‹›ì„ ì¡°ì¢…í•©ë‹ˆë‹¤. +lst.unitradar = 현재 ì§€ì •ëœ ìœ ë‹› ì£¼ë³€ì˜ ë‹¤ë¥¸ ìœ ë‹›ì„ ê²€ìƒ‰í•©ë‹ˆë‹¤. +lst.unitlocate = 특정 ìœ í˜•ì˜ ìœ„ì¹˜/ê±´ë¬¼ì„ ë§µ ìƒì—서 조회.\nì§€ì •ëœ ìœ ë‹›ì´ í•„ìš”í•©ë‹ˆë‹¤. +lst.getblock = 특정 ìœ„ì¹˜ì˜ íƒ€ì¼ ì •ë³´ë¥¼ 불러옵니다. +lst.setblock = 특정 ìœ„ì¹˜ì˜ íƒ€ì¼ ì •ë³´ 설정합니다. +lst.spawnunit = 특정 ìœ„ì¹˜ì— ìœ ë‹›ì„ ì†Œí™˜í•©ë‹ˆë‹¤. +lst.applystatus = 유닛ì—게 ìƒíƒœ ì´ìƒì„ ì ìš©í•˜ê±°ë‚˜ 삭제합니다. +lst.weathersense = ì–´ë–¤ ìœ í˜•ì˜ ë‚ ì”¨ê°€ 활ë™í•˜ëŠ”ì§€ 확ì¸í•©ë‹ˆë‹¤. +lst.weatherset = 날씨 ìœ í˜•ì˜ í˜„ìž¬ ìƒíƒœë¥¼ 설정합니다. +lst.spawnwave = 특정 ìœ„ì¹˜ì— ì´ì „ 단계를 실행합니다.\n실제로 단계가 넘어가지는 않습니다. +lst.explosion = 특정 ìœ„ì¹˜ì— í­ë°œì„ ìƒì„±í•©ë‹ˆë‹¤. +lst.setrate = 프로세서 실행 ì†ë„를 틱당 연산량으로 설정합니다. +lst.fetch = 유닛, 코어, 플레ì´ì–´ ë˜ëŠ” ê±´ë¬¼ì„ ì—”í‹°í‹° 번호로 조회합니다.\n번호는 0ì—서 시작하여 엔티티 번호-1ì—서 ë납니다. +lst.packcolor = 그리기 í˜¹ì€ ê·œì¹™ ì„¤ì •ì„ ìœ„í•´ [0, 1] RGBA ë‹¨ì¼ ìš”ì†Œë¡œ 묶습니다. +lst.setrule = 게임 ê·œì¹™ì„ ì„¤ì •í•©ë‹ˆë‹¤. +lst.flushmessage = í…스트 버í¼ë¡œë¶€í„° í™”ë©´ì— ë©”ì„¸ì§€ë¥¼ 표시합니다.\nì´ì „ 메세지가 ì™„ë£Œë  ë•Œê¹Œì§€ 기다립니다. +lst.cutscene = 플레ì´ì–´ ì¹´ë©”ë¼ë¥¼ 조작합니다. +lst.setflag = 모든 프로세서가 ì½ì„ 수 있는 ì „ì—­ 플래그 설정합니다. +lst.getflag = ì „ì—­ 플래그가 설정ë˜ì–´ 있는지 확ì¸í•©ë‹ˆë‹¤. +lst.setprop = 유닛 í˜¹ì€ ê±´ë¬¼ì˜ ì†ì„±ì„ 설정합니다. +lst.effect = íŒŒí‹°í´ íš¨ê³¼ë¥¼ 만듭니다. +lst.sync = ë„¤íŠ¸ì›Œí¬ ì „ì²´ì—서 변수를 ë™ê¸°í™”합니다.\n1ì´ˆì— ìµœëŒ€ 10번만 호출ë©ë‹ˆë‹¤. +lst.playsound = 소리를 재ìƒí•©ë‹ˆë‹¤.\n볼륨과 íŒ¬ì€ ì „ì—­ ê°’ì´ ë  ìˆ˜ë„ ìžˆê³ , 위치를 기준으로 ê³„ì‚°ë  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. +lst.makemarker = ì›”ë“œì— ìƒˆë¡œìš´ 논리 마커를 만듭니다.\n ì´ ë§ˆì»¤ë¥¼ ì‹ë³„í•  ID를 제공해야 합니다.\n 현재 마커는 월드당 20,000개로 제한ë˜ì–´ 있습니다. +lst.setmarker = ë§ˆì»¤ì˜ ì†ì„±ì„ 설정합니다.\nì‚¬ìš©ëœ ID는 마커 만들기 지침ì—서와 ë™ì¼í•´ì•¼ 합니다. +lst.localeprint = í…스트 버í¼ì— ë§µ 언어 팩 ì†ì„± ê°’ì„ ì¶”ê°€í•©ë‹ˆë‹¤.\në§µ 편집기ì—서 ë§µ 언어 íŒ©ì„ ì„¤ì •í•˜ë ¤ë©´ [accent]ë§µ ì •ë³´ > 언어 팩[]ì„ ì„ íƒí•©ë‹ˆë‹¤.\ní´ë¼ì´ì–¸íŠ¸ê°€ ëª¨ë°”ì¼ ê¸°ê¸°ì¸ ê²½ìš° 먼저 ".mobile"로 ë나는 ì†ì„±ì„ print하려고 시ë„합니다. + +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = ìˆ˜í•™ì  ìƒìˆ˜; 파ì´(pi) (3.141...) +lglobal.@e = ìˆ˜í•™ì  ìƒìˆ˜; ìžì—°ìƒìˆ˜(e) (2.718...) +lglobal.@degToRad = ì´ ìˆ«ìžë¥¼ 곱하여 ê°ë„를 ë¼ë””안으로 변환 +lglobal.@radToDeg = ì´ ìˆ«ìžë¥¼ 곱하여 ë¼ë””ì•ˆì„ ê°ë„로 변환 + +lglobal.@time = 현재 ì €ìž¥ì˜ ìž¬ìƒ ì‹œê°„(밀리초) +lglobal.@tick = 현재 ì €ìž¥ì˜ ìž¬ìƒ ì‹œê°„(틱 단위, 1ì´ˆ = 60틱) +lglobal.@second = 현재 ì €ìž¥ì˜ ìž¬ìƒ ì‹œê°„(ì´ˆ) +lglobal.@minute = 현재 저장 파ì¼ì˜ ìž¬ìƒ ì‹œê°„(ë¶„) +lglobal.@waveNumber = 현재 단계 번호(단계가 í™œì„±í™”ëœ ê²½ìš°) +lglobal.@waveTime = 단계 카운트다운 타ì´ë¨¸(ì´ˆ) +lglobal.@mapw = íƒ€ì¼ â€‹â€‹ë‹¨ìœ„ì˜ ë§µ 너비 +lglobal.@maph = íƒ€ì¼ â€‹â€‹ë‹¨ìœ„ì˜ ë§µ ë†’ì´ + +lglobal.sectionMap = ë§µ +lglobal.sectionGeneral = ì¼ë°˜ +lglobal.sectionNetwork = 네트워í¬/í´ë¼ì´ì–¸íЏ 측 [월드 프로세서 ì „ìš©] +lglobal.sectionProcessor = 프로세서 +lglobal.sectionLookup = 조회 + +lglobal.@this = 코드를 실행하는 ë¡œì§ ë¸”ë¡ +lglobal.@thisx = 코드를 실행하는 블ë¡ì˜ X 좌표 +lglobal.@thisy = 코드를 실행하는 블ë¡ì˜ Y 좌표 +lglobal.@links = ì´ í”„ë¡œì„¸ì„œì— ì—°ê²°ëœ ì´ ë¸”ë¡ ìˆ˜ +lglobal.@ipt = 틱당 명령어로 í‘œí˜„ëœ í”„ë¡œì„¸ì„œì˜ ì‹¤í–‰ ì†ë„(60틱 = 1ì´ˆ) + +lglobal.@unitCount = 게임ì—서 유닛 콘í…츠 ìœ í˜•ì˜ ì´ ìˆ˜; 조회 지침과 함께 ì‚¬ìš©ë¨ +lglobal.@blockCount = ê²Œìž„ì˜ ë¸”ë¡ ì½˜í…츠 ìœ í˜•ì˜ ì´ ìˆ˜; 조회 지침과 함께 ì‚¬ìš©ë¨ +lglobal.@itemCount = ê²Œìž„ì˜ ì•„ì´í…œ 콘í…츠 ìœ í˜•ì˜ ì´ ìˆ˜; 조회 지침과 함께 ì‚¬ìš©ë¨ +lglobal.@liquidCount = ê²Œìž„ì˜ ì•¡ì²´ 콘í…츠 ìœ í˜•ì˜ ì´ ìˆ˜; 조회 지침과 함께 ì‚¬ìš©ë¨ + +lglobal.@server = 코드가 서버 ë˜ëŠ” 싱글 플레ì´ì–´ì—서 실행ë˜ëŠ” 경우 true, 그렇지 ì•Šì€ ê²½ìš° false +lglobal.@client = 코드가 ì„œë²„ì— ì—°ê²°ëœ í´ë¼ì´ì–¸íЏì—서 실행ë˜ëŠ” 경우 true + +lglobal.@clientLocale = 코드를 실행하는 í´ë¼ì´ì–¸íŠ¸ì˜ ì–¸ì–´ 팩. 예: en_US (한국어는 ko_KR) +lglobal.@clientUnit = 코드를 실행하는 í´ë¼ì´ì–¸íŠ¸ì˜ ë‹¨ìœ„ +lglobal.@clientName = 코드를 실행하는 í´ë¼ì´ì–¸íŠ¸ì˜ í”Œë ˆì´ì–´ ì´ë¦„ +lglobal.@clientTeam = 코드를 실행하는 í´ë¼ì´ì–¸íŠ¸ì˜ íŒ€ ID +lglobal.@clientMobile = 코드를 실행하는 í´ë¼ì´ì–¸íŠ¸ê°€ 모바ì¼ì— 있는 경우 true, 그렇지 않으면 false + +logic.nounitbuild = [red]ìœ ë‹›ì˜ ê±´ì„¤ 로ì§ì€ 여기ì—서 허용ë˜ì§€ 않습니다. + +lenum.type = 건물/ìœ ë‹›ì˜ ìœ í˜•\n예로 분배기는 문ìžì—´ì´ ì•„ë‹ˆë¼ [accent]@router[]를 반환합니다. +lenum.shoot = 특정 ìœ„ì¹˜ì— ë°œì‚¬ +lenum.shootp = 목표물 ì†ë„를 예측하여 발사 +lenum.config = í•„í„°ì˜ ì•„ì´í…œê°™ì€ ê±´ë¬¼ì˜ ì„¤ì • +lenum.enabled = 블ë¡ì˜ 활성 여부 + +laccess.currentammotype = í¬íƒ‘ì˜ í˜„ìž¬ 탄약/ì•¡ì²´. +laccess.color = 조명 색ìƒ. +laccess.controller = 유닛 제어ìž. 프로세서가 제어하면, 프로세서를 반환합니다.\n다른 ìœ ë‹›ì— ì˜í•´ 지휘ë˜ë©´(G키), 지휘하는 ìœ ë‹›ì„ ë°˜í™˜í•©ë‹ˆë‹¤.\nê·¸ 외ì—는 ìžì‹ ì„ 반환합니다. +laccess.dead = 기체 ë˜ëŠ” 건물 사ë§/무효 여부. +laccess.controlled = 만약 유닛 제어ìžê°€ 프로세서ë¼ë©´ [accent]@ctrlProcessor[]를 반환합니다.\n만약 유닛/건물 제어ìžê°€ 플레ì´ì–´ë¼ë©´ [accent]@ctrlPlayer[]를 반환합니다.\n만약 유닛가 다른 ìœ ë‹›ì— ì˜í•´ 지휘ë˜ë©´(G키)[accent]@ctrlFormation[]를 반환합니다.\nê·¸ 외ì—는 0ì„ ë°˜í™˜í•©ë‹ˆë‹¤. +laccess.progress = 작업 진행률, 0 ì—서 1 로 ê°.\ní¬íƒ‘ 재장전ì´ë‚˜ 구조물 ì§„í–‰ë¥ ì„ ë°˜í™˜í•©ë‹ˆë‹¤. +laccess.speed = ê¸°ì²´ì˜ ìµœëŒ€ ì†ë„, 타ì¼/ì´ˆ. +laccess.id = 유닛/블ë¡/ì•„ì´í…œ/ì•¡ì²´ì˜ ID.\nì´ê²ƒì€ 조회 ìž‘ì—…ì˜ ì—­ìˆœìž…ë‹ˆë‹¤. + +lcategory.unknown = 알 수 ì—†ìŒ +lcategory.unknown.description = 분류ë˜ì§€ ì•Šì€ ì„¤ëª… +lcategory.io = ìž…ë ¥ & 출력 +lcategory.io.description = 메모리 ë¸”ë¡ ë° í”„ë¡œì„¸ì„œ 버í¼ì˜ ë‚´ìš©ì„ ìˆ˜ì • +lcategory.block = ë¸”ë¡ ì œì–´ +lcategory.block.description = 블ë¡ê³¼ ìƒí˜¸ 작용 +lcategory.operation = ì—°ì‚° +lcategory.operation.description = ë…¼ë¦¬ì  ì—°ì‚° +lcategory.control = í름 제어 +lcategory.control.description = 실행 순서 관리 +lcategory.unit = 기체 제어 +lcategory.unit.description = ê¸°ì²´ì— ëª…ë ¹ 하달 +lcategory.world = 세계 +lcategory.world.description = ì„¸ê³„ì— ìž‘ìš©í•˜ëŠ” 요소 제어 + +graphicstype.clear = ì´ ìƒ‰ìœ¼ë¡œ í™”ë©´ì„ ì±„ìš°ê¸° +graphicstype.color = 아래 그래픽 ì‹¤í–‰ë¬¸ë“¤ì˜ ìƒ‰ 설정하기 +graphicstype.col = color와 ë™ì¼í•˜ì§€ë§Œ, ë¬¶ìŒ ë‹¨ìœ„ìž…ë‹ˆë‹¤.\n묶여진 색ìƒì€ [accent]%[] ì ‘ë‘사가 있는 16진수 코드로 작성ë©ë‹ˆë‹¤.\n예시: [accent]%ff0000[] 는 빨강 +graphicstype.stroke = ì„  굵기 설정하기 +graphicstype.line = ì„ ë¶„ 그리기 +graphicstype.rect = ì§ì‚¬ê°í˜• 채우기 +graphicstype.linerect = ì§ì‚¬ê°í˜• 외곽선 그리기 +graphicstype.poly = 정다ê°í˜• 채우기 +graphicstype.linepoly = 정다ê°í˜• 외곽선 그리기 +graphicstype.triangle = 삼ê°í˜• 채우기 +graphicstype.image = ì¼ë¶€ 콘í…ì¸ ì˜ ì´ë¯¸ì§€ 그리기\n예: [accent]@router[] ë˜ëŠ” [accent]@dagger[]. +graphicstype.print = 프린트 버í¼ì—서 í…스트를 그립니다.\n프린트 버í¼ë¥¼ ì§€ì›ë‹ˆë‹¤. + +lenum.always = í•­ìƒ ì°¸ +lenum.idiv = 정수 나누기 +lenum.div = 나누기\n0으로 나누면 [accent]null[]ì„ ë°˜í™˜í•©ë‹ˆë‹¤. +lenum.mod = 나머지 +lenum.equal = ë™ì¹˜ 비êµ. 형변환 가능\nNullì´ ì•„ë‹Œ ê°ì²´ê°€ 숫ìžì™€ 비êµí•˜ë ¤ë©´ 1ì´ ë˜ê³ , 아니면 0ì´ ë©ë‹ˆë‹¤. +lenum.notequal = ë™ì¹˜ 부정. 형변환 가능 +lenum.strictequal = 엄격한 ë™ì¹˜ 비êµ. 형변환 불가능\n[accent]null[]ì„ í™•ì¸í•  때 쓸 수 있습니다. +lenum.shl = 왼쪽으로 비트 ì´ë™ +lenum.shr = 오른쪽으로 비트 ì´ë™ +lenum.or = ë¹„íŠ¸ì—°ì‚°ìž OR +lenum.land = ë…¼ë¦¬ì—°ì‚°ìž AND +lenum.and = ë¹„íŠ¸ì—°ì‚°ìž AND +lenum.not = ë¹„íŠ¸ì—°ì‚°ìž NOT +lenum.xor = ë¹„íŠ¸ì—°ì‚°ìž XOR + +lenum.min = ë‘ ìˆ˜ì˜ ìµœì†Ÿê°’ +lenum.max = ë‘ ìˆ˜ì˜ ìµœëŒ“ê°’ +lenum.angle = ë²¡í„°ì˜ ê°(ë„) +lenum.anglediff = ë‘ ê°ë„ 사ì´ì˜ 절대 거리(ë„). +lenum.len = ë²¡í„°ì˜ ê¸¸ì´ + +lenum.sin = 사ì¸(ë„) +lenum.cos = 코사ì¸(ë„) +lenum.tan = 탄젠트(ë„) + +lenum.asin = ì•„í¬ ì‚¬ì¸(ë„) +lenum.acos = ì•„í¬ ì½”ì‚¬ì¸(ë„) +lenum.atan = ì•„í¬ íƒ„ì  íŠ¸(ë„) + +#not a typo, look up 'range notation' +lenum.rand = 범위 ë‚´ 십진법 난수[0 ~ ê°’) +lenum.log = ìžì—° 로그(진수) +lenum.log10 = ìƒìˆ˜ 로그 +lenum.noise = 2D 심플렉스 ë…¸ì´ì¦ˆ +lenum.abs = 절댓값 +lenum.sqrt = 제곱근 + +lenum.any = 아무 유닛 +lenum.ally = ì•„êµ° 유닛 +lenum.attacker = 무기를 가진 유닛 +lenum.enemy = ì  ìœ ë‹› +lenum.boss = ìˆ˜í˜¸ìž ìœ ë‹› +lenum.flying = 공중 유닛 +lenum.ground = ì§€ìƒ ìœ ë‹› +lenum.player = 플레ì´ì–´ì— ì˜í•´ ì¡°ì¢…ëœ ìœ ë‹› + +lenum.ore = ê´‘ì„ ë§¤ìž¥ì§€ +lenum.damaged = ì†ìƒëœ ì•„êµ° 건물 +lenum.spawn = ì  ìŠ¤í° ì§€ì \n코어 ë˜ëŠ” ì§€ì ì¼ 수 있습니다. +lenum.building = 특정 건물 ì§‘ë‹¨ì— ì†í•œ 건물 + +lenum.core = 아무 코어 +lenum.storage = ì°½ê³ ê°™ì€ ì €ìž¥ 건물 +lenum.generator = ì „ë ¥ì„ ìƒì‚°í•˜ëŠ” 건물 +lenum.factory = ìžì›ì„ 변환하는 건물 +lenum.repair = 수리 ì§€ì  +lenum.battery = 배터리 +lenum.resupply = 보급 ì§€ì \n[accent]"기체 탄약 í•„ìš”"[]ê°€ 활성화ë˜ì—ˆì„ 때만 유ì˜ë¯¸í•©ë‹ˆë‹¤. +lenum.reactor = 핵융합로/토륨 ì›ìžë¡œ +lenum.turret = í¬íƒ‘ + +sensor.in = ê°ì§€í•  건물/기체 + +radar.from = ê°ì§€ë¥¼ í•  건물\nê°ì§€ 범위는 ê±´ë¬¼ì˜ ê°ì§€ ë²”ìœ„ì— ì˜í•´ 제한ë©ë‹ˆë‹¤. +radar.target = 유닛 ê°ì§€ í•„í„° +radar.and = 추가 í•„í„° +radar.order = ì •ë ¬ 순서. 0ì€ ë°˜ì „ +radar.sort = 결과를 정렬할 기준 +radar.output = ì°¾ì€ ìœ ë‹›ì„ ëŒ€ìž…í•  변수 + +unitradar.target = 유닛 ê°ì§€ í•„í„° +unitradar.and = 추가 í•„í„° +unitradar.order = ì •ë ¬ 순서. 0ì€ ë°˜ì „ +unitradar.sort = 결과를 정렬할 측정 수단 +unitradar.output = ì°¾ì€ ìœ ë‹›ì„ ëŒ€ìž…í•  변수 + +control.of = 조종할 건물 +control.unit = 조준할 유닛/건물 +control.shoot = 발사 여부 + +unitlocate.enemy = ì  ê±´ë¬¼ í¬í•¨ 여부 +unitlocate.found = ëŒ€ìƒ ë°œê²¬ 여부 +unitlocate.building = ì°¾ì€ ê±´ë¬¼ì„ ëŒ€ìž…í•  변수 +unitlocate.outx = X좌표 +unitlocate.outy = Y좌표 +unitlocate.group = ì°¾ì„ ê±´ë¬¼ 집단 + +playsound.limit = trueì¸ ê²½ìš°, ê°™ì€ í”„ë ˆìž„ì—서 ì´ë¯¸ 재ìƒëœ 사운드는 재ìƒë˜ì§€ 않습니다. + +lenum.idle = ì´ë™ ì •ì§€, 채광/건설 유지\n기본 ìƒíƒœìž…니다. +lenum.stop = ì´ë™/채광/건설 중단 +lenum.unbind = ë¡œì§ ì»¨íŠ¸ë¡¤ 완전 비활성화\n표준 AI를 다시 따릅니다. +lenum.move = 특정 위치로 ì´ë™ +lenum.approach = 특정 위치로 ë°˜ì§€ë¦„ë§Œí¼ ì ‘ê·¼ +lenum.pathfind = ì  ìŠ¤í° ì§€ì ìœ¼ë¡œ 길찾기 +lenum.autopathfind = 가장 가까운 ì ì˜ 코어ì´ë‚˜ 착륙 ì§€ì ê¹Œì§€ ìžë™ìœ¼ë¡œ 경로를 찾습니다.\nì´ê²ƒì€ ì¼ë°˜ì ì¸ 웨ì´ë¸Œ ì  ê²½ë¡œ 찾기와 ë™ì¼í•©ë‹ˆë‹¤. +lenum.target = 특정 ìœ„ì¹˜ì— ë°œì‚¬ +lenum.targetp = 목표물 ì†ë„를 예측하여 발사 +lenum.itemdrop = ì•„ì´í…œ 투하 +lenum.itemtake = 건물ì—서 ì•„ì´í…œ 수송 +lenum.paydrop = 현재 화물 투하 +lenum.paytake = 현재 위치ì—서 화물 수송 +lenum.payenter = 유닛 ì•„ëž˜ì˜ í™”ë¬¼ ê±´ë¬¼ì— ì°©ë¥™/ì§„ìž… +lenum.flag = 깃발 수 설정 +lenum.mine = 특정 위치ì—서 채광 +lenum.build = 구조물 건설 +lenum.getblock = 좌표ì—서 건물, 층, ë¸”ë¡ ìœ í˜•ì„ ê°€ì ¸ì˜µë‹ˆë‹¤.\n단위는 위치 범위 ë‚´ì— ìžˆì–´ì•¼ 하며, 그렇지 않으면 nullì´ ë°˜í™˜ë©ë‹ˆë‹¤. +lenum.within = 좌표 주변 기체 발견 여부 +lenum.boost = ì´ë¥™ 시작/중단 + +lenum.flushtext = 해당ë˜ëŠ” 경우, 프린트 버í¼ì˜ ë‚´ìš©ì„ ë§ˆì»¤ì— í”ŒëŸ¬ì‹œ.\nFetchê°€ true로 ì„¤ì •ëœ ê²½ìš°, ë§µ 언어 팩 ë˜ëŠ” 게임 번들ì—서 ì†ì„±ì„ 가져오려고 시ë„합니다. +lenum.texture = ê²Œìž„ì˜ texture atlasì—서 ì§ì ‘ 가져온 í…스처 ì´ë¦„(ì¼€ë°¥ì‹ ëª…ëª… ìŠ¤íƒ€ì¼ ì‚¬ìš©).\n printFlushê°€ true로 ì„¤ì •ëœ ê²½ìš°, í…스트 ì¸ìˆ˜ë¡œ í…스트 ë²„í¼ ë‚´ìš©ì„ ì‚¬ìš©í•©ë‹ˆë‹¤. +lenum.texturesize = 타ì¼ì˜ í…스처 í¬ê¸°. 0 ê°’ì€ ë§ˆì»¤ 너비를 ì›ëž˜ í…스처 í¬ê¸°ì— 맞게 조정합니다. +lenum.autoscale = 플레ì´ì–´ì˜ 확대/축소 ë ˆë²¨ì— ë§žì¶° ë§ˆì»¤ì˜ í¬ê¸°ë¥¼ ì¡°ì •í• ì§€ 여부. +lenum.posi = ì¸ë±ìФ 위치. ë¼ì¸ ë° ì¿¼ë“œ ë§ˆì»¤ì— ì‚¬ìš©ë˜ë©° ì¸ë±ìФ 0ì´ ì²« 번째 위치입니. +lenum.uvi = 0ì—서 1ê¹Œì§€ì˜ í…스처 위치, 쿼드 ë§ˆì»¤ì— ì‚¬ìš©. +lenum.colori = ì¸ë±ìŠ¤ëœ ìœ„ì¹˜, ì¸ë±ìФ 0ì´ ì²« 번째 색ìƒì´ë©° ë¼ì¸ ë° ì¿¼ë“œ ë§ˆì»¤ì— ì‚¬ìš©. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_lt.properties b/core/assets/bundles/bundle_lt.properties index 0a8290e544..3a75e62e14 100644 --- a/core/assets/bundles/bundle_lt.properties +++ b/core/assets/bundles/bundle_lt.properties @@ -13,15 +13,18 @@ link.google-play.description = Google Play parduotuvÄ—s elementas link.f-droid.description = F-Droid katalogo elementas link.wiki.description = Oficialus Mindustry wiki link.suggestions.description = PasiÅ«lykite naujas funkcijas +link.bug.description = Radot vienÄ…? PraneÅ¡kite Äia +linkopen = Å is serveris atsiuntÄ— jums nuorodÄ…. Ar jÅ«s norite atidaryti jÄ…?\n\n[sky]{0} linkfail = Nepavyko atidaryti nuorodos!\nURL nukopijuotas į jÅ«sų iÅ¡karpinÄ™. screenshot = Ekrano kopija iÅ¡saugota į {0} screenshot.invalid = ŽemÄ—lapis yra per didelis, potencialiai nepakanka vietos iÅ¡saugoti ekrano kopijÄ…. gameover = Žaidimas Baigtas +gameover.disconnect = Atsijungti gameover.pvp = [accent] {0}[] komanda laimÄ—jo! +gameover.waiting = [accent]Laukiama kito žemÄ—lapio... highscore = [accent]Naujas rekordas! copied = Nukopijuota. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +indev.notready = Å i žaidimo dalis dar neparuoÅ¡ta load.sound = Garsai load.map = ŽemÄ—lapiai @@ -37,10 +40,23 @@ be.updating = Naujinama... be.ignore = Ignoruoti be.noupdates = Naujinimų nerasta. be.check = IeÅ¡koti naujinimų +mods.browser = Modifikacijų narÅ¡yklÄ— +mods.browser.selected = Parinkta modifikacija +mods.browser.add = Ä®diegti +mods.browser.reinstall = Perdiegti +mods.browser.view-releases = PažiÅ«rÄ—ti leidimus +mods.browser.noreleases = [scarlet]Nerasti jokių leidimų\n[accent]NÄ—jo rasti leidimų Å¡iai modifikacijai. Patikrinkite ar modifikacijos repo yra paskelbtų leidimų. +mods.browser.latest = +mods.browser.releases = Leidimai +mods.github.open = Repo +mods.github.open-release = Leidimų puslapis +mods.browser.sortdate = Rūšioti pagal naujausius +mods.browser.sortstars = Rūšiuoti pagal žvaigždes schematic = Schema schematic.add = IÅ¡saugoti schemÄ…... schematics = Schemos +schematic.search = IeÅ¡koti schemas... schematic.replace = Schema Å¡iuo pavadinimu jau egzistuoja. Pakeisti? schematic.exists = Schema Å¡iuo pavadinimu jau egzistuoja. schematic.import = Importuoti schemÄ…... @@ -53,20 +69,28 @@ schematic.shareworkshop = Dalintis DirbtuvÄ—je schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Apversti schemÄ… schematic.saved = Schema iÅ¡saugota. schematic.delete.confirm = Å i schema bus negrįžtamai paÅ¡alinta. -schematic.rename = Pervadinti schemÄ… +schematic.edit = Redaguoti schemÄ… schematic.info = {0}x{1}, {2} blokai -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Schemos iÅ¡jungtos[]\nJums neleidžiama naudoti schemų Å¡iame [accent]žemÄ—lapyje[] ar [accent]serveryje. +schematic.tags = ŽymÄ—s: +schematic.edittags = Redaguoti žymes +schematic.addtag = PridÄ—ti žymÄ™ +schematic.texttag = Teksto žymÄ— +schematic.icontag = Piktogramos žymÄ— +schematic.renametag = Pervadinti žymÄ™ +schematic.tagged = {0} pažymÄ—ta +schematic.tagdelconfirm = VisiÅ¡kai iÅ¡trinti Å¡iÄ… žymÄ™? +schematic.tagexists = Å i žymÄ— jau egzistuoja. +stats = Statistikos +stats.wave = Bangos Praeitos +stats.unitsCreated = Units Created +stats.enemiesDestroyed = PrieÅ¡ai sunaikinti +stats.built = Pastatų pastata +stats.destroyed = Pastatų sugriauta +stats.deconstructed = Pastatų dekonstruta +stats.playtime = Laiko žaista -stat.wave = Ä®veikta bangų:[accent] {0} -stat.enemiesDestroyed = Sunaikinta priešų:[accent] {0} -stat.built = Pastatyta pastatų:[accent] {0} -stat.destroyed = Sunaikinta pastatų:[accent] {0} -stat.deconstructed = IÅ¡konstruota pastatų:[accent] {0} -stat.delivered = Paleisti resursai: -stat.playtime = Žaidimo trukmÄ—:[accent] {0} -stat.rank = Finalinis laipsnis: [accent]{0} - -globalitems = [accent]Global Items +globalitems = [accent]GlobalÅ«s Daiktai map.delete = Ar esate tikri, jog norite iÅ¡trinti žemÄ—lapį "[accent]{0}[]"? level.highscore = Rekordas: [accent]{0} level.select = Lygio pasirinkimas @@ -74,12 +98,15 @@ level.mode = Žaidimo režimas: coreattack = < Branduolys yra puolamas! > nearpoint = [[ [scarlet]NEDELSDAMI PALIKITE IÅ METIMO ZONÄ„[] ]\nneiÅ¡vengiamas sunaikinimas database = Branduolio duomenų dazÄ— +database.button = Database savegame = IÅ¡saugoti žaidimÄ… loadgame = Užkrauti žaidimÄ… joingame = Ä®eiti į žaidimÄ… customgame = Pasirinktinis žaidimas newgame = Naujas žaidimas none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Mini žemÄ—lapis position = Pozicija close = Uždaryti @@ -99,35 +126,49 @@ uploadingpreviewfile = Talpinamas peržiÅ«ros failas committingchanges = Daromi pakeitimai done = Baigta feature.unsupported = JÅ«sų įrenginys nepalaiko Å¡ios funkcijos. - -mods.alphainfo = Prisiminkite, jog modifikacijos vis dar yra alpha, ir[scarlet] gali bÅ«ti [].\nPraneÅ¡kite apie rastas klaidas Mindustry GitHub puslapyje arba Discord serveryje. +mods.initfailed = [red]âš [] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[] mods = Modifikacijos mods.none = [lightgray]Modifikacijos nerastos mods.guide = Modifikavimo pagalba mods.report = PraneÅ¡ti apie klaidas mods.openfolder = Atidaryti modifikacijų aplankÄ… +mods.viewcontent = PeržiÅ«rÄ—ti turinį mods.reload = Perkrauti -mods.reloadexit = The game will now exit, to reload mods. +mods.reloadexit = Žadimas dabar iÅ¡sijungs perkrauti modifikacijas. +mod.installed = [[Installed] mod.display = [gray]Modifikacijos:[orange] {0} mod.enabled = [lightgray]Ä®jungta mod.disabled = [scarlet]IÅ¡jungta +mod.multiplayer.compatible = [gray]Suderinama su keliais žaidÄ—jais mod.disable = IÅ¡jungti +mod.version = Version: mod.content = TÅ«rinys: mod.delete.error = Negalima iÅ¡trinti modifikacijos. Failas gali bÅ«ti naudojamas. -mod.requiresversion = [scarlet]Žemiausia privaloma žaidimo versija: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]TrÅ«kstamos priklausomybÄ—s: {0} +mod.incompatiblegame = [red]Pasenusi žaidimo versija +mod.incompatiblemod = [red]Nesuderinima +mod.blacklisted = [red]Nepalaikoma +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Turinio klaidos. +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Nebaigtos PriklausomybÄ—s +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = Å iai modifikacijai trÅ«ksta priklausomybių: {0} +mod.erroredcontent.details = Å i modifikacija kraunant sukÄ—lÄ— klaidų. PapraÅ¡ykite modifikacijos autoriaus pataisyti jas. +mod.circulardependencies.details = Å i modifikacija turi priklausomybių kurios priklauso nuo vieno kito. +mod.incompletedependencies.details = Å ios modifikacijos negalima užkrauti dÄ—l netinkamų arba trÅ«kstamų priklausomybių: {0}. +mod.requiresversion = Reikia žaidimo versijos: [red]{0} mod.errors = Ä®vyko klaida kraunant turinį. mod.noerrorplay = [scarlet]Turite modifikacijas su klaidomis.[] IÅ¡junkite modifikacijas su klaidomis arba patasykite jas prieÅ¡ žaidžiant. mod.nowdisabled = [scarlet]Modifikacijai '{0}' trÅ«ksta priklausomybių:[accent] {1}\n[lightgray] Å ios modifikacijos turi bÅ«ti atsisiųstos.\nÅ i modifikacija bus automatiÅ¡kai iÅ¡jungta. mod.enable = Ä®jungti -mod.requiresrestart = Žaidimas dabar iÅ¡sijungs modifikacijų pakeitimui. +mod.requiresrestart = Žaidimas dabar iÅ¡sijungs modifikacijų perkrovimui. mod.reloadrequired = [scarlet]Privalomas perkrovimas mod.import = Importuoti modifikacijÄ… mod.import.file = Importuoti failÄ… mod.import.github = Importuoti GitHub modifikacijÄ… -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! +mod.jarwarn = [scarlet]JAR modifikacijos iÅ¡ esmÄ—s yra nesaugios.[]\nÄ®sitikinkite, kad importuojate šį modifikacijÄ… iÅ¡ patikimo Å¡altinio! mod.item.remove = Å is elementas yra[accent] '{0}'[] modifikacijos dalis. NorÄ—dami panaikinti jÄ… turite paÅ¡alinti modifikacijÄ…. mod.remove.confirm = Å i modifikacija bus paÅ¡alinta. mod.author = [lightgray]Autorius:[] {0} @@ -139,20 +180,33 @@ mod.scripts.disable = Your device does not support mods with scripts. You must d about.button = Apie name = Vardas: noname = Pirma pasirinkite[accent] žaidÄ—jo vardÄ…[]. -planetmap = Planet Map -launchcore = Launch Core +search = IeÅ¡koti: +planetmap = Planetų žemÄ—laipis +launchcore = Paleisti branduolį filename = Failo pavadinimas: unlocked = Atrakintas naujas turinys! +available = Naujas turinys pasiekiamas! +unlock.incampaign = < Atrakinkite kampanijoje detalÄ—m > +campaign.select = Pasirinkite pradinÄ™ kampanija +campaign.none = [lightgray]Pasirinkite planetÄ… ant kurios pradÄ—ti.\nTai gali bÅ«ti pakeista bet kada. +campaign.erekir = Naujesnis, patobulintas turinys. Daugiausia linijinÄ— kampanijos eiga.\n\nAukÅ¡tesnÄ—s kokybÄ—s žemÄ—lapiai ir bendra patirtis. +campaign.serpulo = Senesnis turinys; klasikinÄ— versija. Atviresnis.\n\nPotencialiai nebalancuoti žemelapiai ir kampanijos mechanika. Mažiau tobulinta. +campaign.difficulty = Difficulty completed = [accent]IÅ¡rasta techtree = Technologijų Medis +techtree.select = Technologijų Medį parinkti +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Load +research.discard = Discard research.list = [lightgray]IÅ¡radimai: research = IÅ¡rasti researched = [lightgray]{0} iÅ¡rasta. -research.progress = {0}% complete +research.progress = {0}% baigta players = {0} žaidÄ—jai players.single = {0} žaidÄ—jas players.search = ieÅ¡koti -players.notfound = [gray]no players found +players.notfound = [gray]žaidÄ—jų nerasta server.closing = [accent]Uždaromas serveris... server.kicked.kick = JÅ«s buvote iÅ¡mestas iÅ¡ serverio! server.kicked.whitelist = JÅ«s nesate baltajame sÄ…raÅ¡e. @@ -186,16 +240,32 @@ hosts.none = [lightgray]Žaidimų vietiniame tinkle nerasta! host.invalid = [scarlet]Negalima prisijungti prie serverio. servers.local = Vietinio Tinklo Serveriai +servers.local.steam = Open Games & Local Servers servers.remote = Nuotoliniai Serveriai servers.global = GlobalÅ«s Serveriai +servers.disclaimer = Community servers are [accent]not[] owned or controlled by the developer.\n\nServers may contain user-generated content that is not appropriate for all ages. +servers.showhidden = Rodyti paslÄ—tus serverius +server.shown = Rodoma +server.hidden = PaslÄ—pta +viewplayer = Stebimas žaidÄ—jas: [accent]{0} trace = Sekti ŽaidÄ—jÄ… trace.playername = ŽaidÄ—jo vardas: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unikalus ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobilus Klientas: [accent]{0} trace.modclient = Custom Client: [accent]{0} +trace.times.joined = Sykių prisijungta: [accent]{0} +trace.times.kicked = Sykių iÅ¡mesta: [accent]{0} +trace.ips = IPs: +trace.names = Vardai: invalidid = Netaisyklingas kliento ID! PraneÅ¡kite apie klaidÄ…. +player.ban = Baninti +player.kick = IÅ¡mesti +player.trace = Sekti +player.admin = Perjungti admininistratorių +player.team = Keisti komandÄ… server.bans = Užblokavimai server.bans.none = Nerasta užblokuotų žaidÄ—jų! server.admins = Administratoriai @@ -209,10 +279,11 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]Custom Build confirmban = Ar esate tikras, jog norite užblokuoti šį žaidÄ—jÄ…? confirmkick = Ar esate tikras, jog norite iÅ¡mesti šį žaidÄ—jÄ…? -confirmvotekick = Ar esate tikras, jog norite iÅ¡balsuoti šį žaidÄ—jÄ…? confirmunban = Ar esate tikras, jog norite atblokuoti šį žaidÄ—jÄ…? confirmadmin = Ar esate tikras, jog norite šį žaidÄ—jÄ… padaryti administratoriumi? confirmunadmin = Ar esate tikras, jog norite atimti administratoriaus statusÄ… iÅ¡ Å¡io žaidÄ—jo? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Prisijungti prie žaidimo joingame.ip = IP Adresas: disconnect = Atsijungta. @@ -220,15 +291,18 @@ disconnect.error = Prisijungimo klaida. disconnect.closed = Prisijungimas uždarytas. disconnect.timeout = BaigÄ—si laikas. disconnect.data = Nepavyko užkrauti pasaulio informacijos! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Negalima prisijungti prie žaidimo ([accent]{0}[]). connecting = [accent]Prisijungiama... +reconnecting = [accent]Reconnecting... connecting.data = [accent]Kraunama pasaulio informacija... server.port = Prievadas: -server.addressinuse = Adresas jau naudojamas! server.invalidport = Negaliams prievado numeris! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Ä®vyko klaida. save.new = Naujas IÅ¡saugojimas save.overwrite = Ar esate tikras, jog\n norite perraÅ¡yti šį elementÄ…? +save.nocampaign = IndividualÅ«s iÅ¡saugojimo failai iÅ¡ kampanijos negali bÅ«ti importuoti. overwrite = PerraÅ¡yti save.none = Nerasta jokių iÅ¡saugojimų! savefail = Nepavyko iÅ¡saugoti žaidimo! @@ -249,6 +323,7 @@ save.corrupted = IÅ¡saugojimo failas yra sugadintas arba ! empty = on = Ä®jungta off = IÅ¡jungta +save.search = Search saved games... save.autosave = Automatinis iÅ¡saugojimas: {0} save.map = ŽemÄ—lapis: {0} save.wave = Banga {0} @@ -264,25 +339,52 @@ ok = Gerai open = Atidaryti customize = Keisti Taisykles cancel = AtÅ¡aukti +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Atidaryti NuorodÄ… copylink = Kopijuoti NuorodÄ… back = Sugrįžti +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. data.export = Eksportuoti duomenis data.import = Importuoti duomenis data.openfolder = Atidaryti duomenų aplankÄ… data.exported = Duomenys Eksportuoti. data.invalid = Tai nÄ—ra veikiantys žaidimo duomenys. -data.import.confirm = Importuojant iÅ¡orinius duomenis bus paÅ¡alinti[scarlet] visi esami duomenys[] +data.import.confirm = Importuojant iÅ¡orinius duomenis bus paÅ¡alinti[scarlet] visi esami duomenys[] quit.confirm = Ar tikrai norite iÅ¡eiti? -quit.confirm.tutorial = Ar esate tikras, jog žinote kÄ… darote?\nPradininkas gali bÅ«ti įjungtas iÅ¡ naujo paspaudus [accent] Nustatymai->Žaidimas->IÅ¡ naujo įjungti PradininkÄ….[] loading = [accent]Kraunama... -reloading = [accent]IÅ¡ naujo kraunamos modifikacijos... +downloading = [accent]Downloading... saving = [accent]IÅ¡saugoma... respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] plano iÅ¡valymui selectschematic = [accent][[{0}][] pasirinkimui+kopijavimui pausebuilding = [accent][[{0}][] statymo sustabdymui resumebuilding = [scarlet][[{0}][] statymo pratÄ™simui +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Banga {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]Banga po {0} @@ -290,19 +392,21 @@ wave.waveInProgress = [lightgray]Vyksta banga waiting = [lightgray]Laukiama... waiting.players = Laukiama žaidÄ—jų... wave.enemies = [lightgray]{0} LikÄ™ prieÅ¡ai +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core wave.enemy = [lightgray]{0} LikÄ™s prieÅ¡as wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. -loadimage = Užkrauti vaizdÄ… +loadimage = Užkrauti vaizdÄ… saveimage = IÅ¡saugoti vaizdÄ… unknown = Nežinomas custom = Pasirinktinis builtin = Integruotas map.delete.confirm = Ar esate tikras, jog norite iÅ¡paÅ¡alinti šį žemÄ—lapį? Å is veiksmas negali bÅ«ti atstatytas map.random = [accent]Atsitiktinis žemÄ—lapis -map.nospawn = Å iame žemÄ—lapyje nÄ—ra jokio branduolio atsirasti žaidÄ—jui! Ä®dÄ—kite[accent] oranžinį[] branduolį į žemÄ—lapį redaktoriuje. -map.nospawn.pvp = Å iame žemÄ—lapyje nÄ—ra jokio priešų branduolio atsirasti žaidÄ—jui! Ä®dÄ—kite[scarlet] ne oranžinį[] branduolį į žemÄ—lapį redaktoriuje. -map.nospawn.attack = Å iame žemÄ—lapyje nÄ—ra jokio prieÅ¡o branduolio, kurį reikia sunaikinti žaidÄ—jams! Ä®dÄ—kite[scarlet] raudonÄ…[] branduolį į žemÄ—lapį redaktoriuje. +map.nospawn = Å iame žemÄ—lapyje nÄ—ra jokio branduolio atsirasti žaidÄ—jui! Ä®dÄ—kite {0} branduolį į žemÄ—lapį redaktoriuje. +map.nospawn.pvp = Å iame žemÄ—lapyje nÄ—ra jokio priešų branduolio atsirasti žaidÄ—jui! Ä®dÄ—kite [scarlet]ne oranžinį[] branduolį į žemÄ—lapį redaktoriuje. +map.nospawn.attack = Å iame žemÄ—lapyje nÄ—ra jokio prieÅ¡o branduolio, kurį reikia sunaikinti žaidÄ—jams! Ä®dÄ—kite {0} branduolį į žemÄ—lapį redaktoriuje. map.invalid = Ä®vyko klaida kraunant žemÄ—lapį: sugadintas arba klaidingas žemÄ—lapio failas. workshop.update = Atnaujinti elementÄ… workshop.error = Klaida kraunant DirbtuvÄ—s duomenis: {0} @@ -310,12 +414,17 @@ map.publish.confirm = Ar tikrai norite publikuoti šį žemÄ—lapį?\n\n[lightgra workshop.menu = Pasirinkite kÄ… norite daryti su Å¡iuo elementu. workshop.info = Elemento informacija changelog = Pasikeitimai (neprivaloma): +updatedesc = Overwrite Title & Description eula = Steam EULA missing = Å is elementas buvo iÅ¡trintas arba pakeistas.\n[lightgray]Workshop'o elementas buvo automatiÅ¡kai atsietas. publishing = [accent]Publikuojama... publish.confirm = Ar tikrai norite publikuoti tai?\n\n[lightgray]Pirma įsitikinkite, jog sustinkate su Workshop'o EULA arba jÅ«sų elementai nebus rodomi! publish.error = Ä®vyko klaida publikuojant elementÄ…: {0} steam.error = Nepavyko inicijuoti Steam paslaugų.Klaida: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Teptukas editor.openin = Atidaryti redaktoriuje @@ -328,35 +437,71 @@ editor.nodescription = ŽemÄ—lapis privalo turÄ—ti apraÅ¡ymÄ… bent iÅ¡ 4 simboli editor.waves = Bangos: editor.rules = TaisyklÄ—s: editor.generation = Generacija: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Redaguoti žaidime +editor.playtest = Playtest editor.publish.workshop = Publikuoti DirbtuvÄ—je editor.newmap = Naujas žemÄ—lapis editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = DirbtuvÄ— waves.title = Bangos waves.remove = Panaikinti -waves.never = waves.every = kiekvienÄ… waves.waves = banga(os) +waves.health = health: {0}% waves.perspawn = per spawn waves.shields = shields/wave waves.to = iki +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = ApžiÅ«ra waves.edit = Redaguoti... +waves.random = Random waves.copy = Kopijuoti į iÅ¡karpinÄ™ waves.load = Užkrauti iÅ¡ iÅ¡karpinÄ—s waves.invalid = Klaidingos bangos iÅ¡ iÅ¡karpinÄ—s. waves.copied = Bangos nukopijuotos. waves.none = NÄ—ra nustatyta jokių priešų.\nÄ®siminkite, jog tuÅ¡ti bangų maketai bus pakeisti numatytuoju maketu. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Detaliau... edit = Redaguoti... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Pavadinimas: editor.spawn = Atradinti vienetÄ… editor.removeunit = Panaikinti vienetÄ… @@ -368,13 +513,19 @@ editor.errorlegacy = Å is žemÄ—lapis yra per senas ir naudoja senÄ… žemÄ—lapi editor.errornot = Tai nÄ—ra žemÄ—lapio formatas. editor.errorheader = Å is žemÄ—lapis yra netaisyklingas arba sugadintas. editor.errorname = Å is žemÄ—lapis neturi nustatyto pavadinimo. Ar bandote užkrauti iÅ¡saugotÄ… failÄ…? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Atnaujinti editor.randomize = SumaiÅ¡yti atsitiktinai +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Taikyti editor.generate = Generuoti +editor.sectorgenerate = Sector Generate editor.resize = Pakeisti dydį editor.loadmap = Užkrauti žemÄ—lapį editor.savemap = IÅ¡saugoti žemÄ—lapį +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = IÅ¡saugota! editor.save.noname = JÅ«sų žemÄ—lapis neturi pavadinimo! Nustatykite meniu 'žemÄ—lapio informacija'. editor.save.overwrite = JÅ«sų žemÄ—lapis perraÅ¡o integruotÄ… žemÄ—lapį! Pasirinkite skirtingÄ… pavadinimÄ… 'žemÄ—lapio informacija' meniu. @@ -413,8 +564,12 @@ toolmode.eraseores = IÅ¡trinti rÅ«das toolmode.eraseores.description = IÅ¡trinti tik rÅ«das. toolmode.fillteams = Užpildyti komandas toolmode.fillteams.description = Užpildykite komandas, o ne blokus. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = PieÅ¡ti komandas toolmode.drawteams.description = PieÅ¡kite komandas, o ne blokus. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]NÄ—ra filtrų! PridÄ—kite su mygtuku easanÄiu žemiau. filter.distort = IÅ¡kraipyti @@ -433,6 +588,7 @@ filter.clear = IÅ¡valyti filter.option.ignore = ignoruoti filter.scatter = IÅ¡sklaidyti filter.terrain = Reljefas +filter.logic = Logic filter.option.scale = Mastelis filter.option.chance = TikimybÄ— filter.option.mag = Didumas @@ -441,17 +597,39 @@ filter.option.circle-scale = Apskritimo mastelis filter.option.octaves = Oktavos filter.option.falloff = Mažėjimas filter.option.angle = Kampas +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Kiekis filter.option.block = Blokas filter.option.floor = Sluoksnis filter.option.flooronto = Pasirinktas sluoksnis filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Siena filter.option.ore = RÅ«da filter.option.floor2 = Antrasis sluoksnis filter.option.threshold2 = Antrasis slenkstis filter.option.radius = Spindulys filter.option.percentile = ProcentilÄ— +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Plotis: height = AukÅ¡tis: @@ -462,6 +640,9 @@ load = Krauti save = IÅ¡saugoti fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = PakeitÄ™ kalbÄ… turite perkrauti žaidimÄ…. settings = Nustatymai tutorial = Pamokymas @@ -476,57 +657,145 @@ complete = [lightgray]Ä®vykdyta: requirement.wave = Pasiekite {0} zonoje {1} requirement.core = Sunaikinkite priešų branduolį zonoje {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Bangos rekordas: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Only the host can view sectors. uncover = Atidengti configure = Keisti resursų kiekį +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  loadout = Loadout -resources = Resources +resources = Resources +resources.max = Max bannedblocks = Uždrausti blokai +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = PridÄ—ti visus +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Kiekis turi bÅ«ti numeris tarp 0 ir {0}. -zone.unlocked = [lightgray]{0} atrakinta. -zone.requirement.complete = Rekalavimai {0} įvykdyti:[lightgray]\n{1} -zone.resources = [lightgray]Aptikti resursai: -zone.objective = [lightgray]Tikslas: [accent]{0} -zone.objective.survival = IÅ¡gyventi -zone.objective.attack = Sunaikinti priešų branduolį add = PridÄ—ti... -boss.health = Boso gyvybÄ—s +guardian = Guardian connectfail = [crimson]Prisijungimo klaida:\n\n[accent]{0} error.unreachable = Serveris nepasiekiamas.\nAr adresas yra paraÅ¡ytas teisingai? error.invalidaddress = Klaidingas adresas. -error.timedout = BaigÄ—si Laikas!\nÄ®sitikinkite, jog serverio prievado ekspedijavimas yra sukonfigÅ«ruotas ir adresas yra geras. +error.timedout = BaigÄ—si Laikas!\nÄ®sitikinkite, jog serverio prievado ekspedijavimas yra sukonfigÅ«ruotas ir adresas yra geras. error.mismatch = Paketų klaida:\ngalimas kliento/serverio versijų nesutapimas.\nÄ®sitikinkite, jog jÅ«s ir serveris turi naujausiÄ… Mindustry versijÄ…! error.alreadyconnected = Jau prisijungta. error.mapnotfound = ŽemÄ—lapis nerastas! error.io = Tinklo I/O klaida. error.any = Nžinoma tinklo klaida. error.bloom = Nepavyko inicijuoti spindÄ—jimo.\nJÅ«sų įrenginys gali nepalaikyti Å¡ios funkcijos. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: sectors.production = Production: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Stored: sectors.resume = Resume sectors.launch = Launch sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Rename Sector +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -539,6 +808,22 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,6 +836,75 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = Kalba settings.data = Žaidimo Duomenys @@ -573,7 +927,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = [accent]< Sustabdyta > clear = IÅ¡valyti banned = [scarlet]Užblokuota -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Unsupported Environment yes = Taip no = Ne info.title = Informacija @@ -581,13 +935,18 @@ error.title = [crimson]Ä®vyko klaida error.crashtitle = Ä®vyko klaida unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Ä®eiga stat.output = IÅ¡eiga +stat.maxefficiency = Max Efficiency stat.booster = Stiprintuvas -stat.tiles = Privalomi +stat.tiles = Privalomi stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Energijos Talpumas stat.powershot = Energija per šūvį stat.damage = Žala @@ -610,6 +969,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Bazinis Energijos Generavimas stat.productiontime = Gamybos Laikas stat.repairtime = Pilnas bloko sutaisymo laikas +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = GreiÄio PadidÄ—jimas stat.range = Atstumas stat.drilltier = Gręžiama @@ -617,6 +981,7 @@ stat.drillspeed = Bazinis Grąžto Greitis stat.boosteffect = Pastiprinimo Efektas stat.maxunits = Maks. Aktyvių Vienetų Kiekis stat.health = GyvybÄ—s +stat.armor = Armor stat.buildtime = Statymo Laikas stat.maxconsecutive = Max Consecutive stat.buildcost = Statymo Kaina @@ -632,6 +997,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = HeatCapacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -640,21 +1006,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Privalomas Geresnis Grąžtas +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Grąžto Greitis: {0}/s bar.pumpspeed = Pompos Greitis: {0}/s bar.efficiency = Efektyvumas: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energija: {0}/s bar.powerstored = Sukaupta: {0}/{1} bar.poweramount = Energija: {0} @@ -663,13 +1085,19 @@ bar.powerlines = Connections: {0}/{1} bar.items = Daiktai: {0} bar.capacity = Talpumas: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Skystis bar.heat = KarÅ¡Äiai +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = JÄ—ga bar.progress = Statymo Progresas +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Ä®eiga bar.output = IÅ¡eiga +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,35 +1105,50 @@ bullet.damage = [stat]{0}[lightgray] žalos bullet.splashdamage = [stat]{0}[lightgray] zonos žalos ~[stat] {1}[lightgray] blokai bullet.incendiary = [stat]uždegantis bullet.homing = [stat]sekimas -bullet.shock = [stat]Å¡okas -bullet.frag = [stat]skilantis +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] numuÅ¡imas bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]Å¡aldantis -bullet.tarred = [stat]dervuotas +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x Å¡ovinių daugiklis bullet.reload = [stat]{0}[lightgray]x Å¡audymo greitis +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blokai unit.blockssquared = blocks² unit.powersecond = energijos per sekundÄ™ +unit.tilessecond = tiles/second unit.liquidsecond = skysÄio per sekundÄ™ unit.itemssecond = daiktų per sekundÄ™ unit.liquidunits = skysÄio vienetai unit.powerunits = energijos vienetai +unit.heatunits = heat units unit.degrees = laipsnių unit.seconds = sekundÄ—s unit.minutes = mins unit.persecond = /sek. unit.perminute = /min unit.timesspeed = x greiÄio +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = daiktai unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose category.general = Bendra category.power = Energija category.liquids = SkysÄiai @@ -713,16 +1156,23 @@ category.items = Daiktai category.crafting = Ä®eiga/IÅ¡eiga category.function = Function category.optional = Galimi Pagerinimai +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Užrakinti pasukimÄ… setting.shadows.name = Å ešėliai setting.blockreplace.name = Automatiniai Blokų PasiÅ«lymai setting.linear.name = Linijinis Filtravimas setting.hints.name = Užuominos -setting.flow.name = Rodyti Resursų Srauto Geritį[scarlet] (experimental) +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Automatinis Statybų Sustabdymas +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Vandens Animacija setting.animatedshields.name = Skydų Animacija -setting.antialias.name = Glodinimas[lightgray] (reikalingas perkrovimas)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Priešų/SÄ…jungininkų Indikatorius setting.autotarget.name = Automatinis Taikymas @@ -732,14 +1182,11 @@ setting.fpscap.name = Maks. FPS setting.fpscap.none = NÄ—ra setting.fpscap.text = {0} FPS setting.uiscale.name = UI mastelio keitimas[lightgray] (reikalingas perkrovimas)[] +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Visada Ä®strižinis PadÄ—jimas -setting.difficulty.training = Mokymai -setting.difficulty.easy = Lengvas -setting.difficulty.normal = Normalus -setting.difficulty.hard = Sunkus -setting.difficulty.insane = BeprotiÅ¡kas -setting.difficulty.name = Sunkumas: setting.screenshake.name = Ekrano DrebÄ—jimas +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Rodyti Efektus setting.destroyedblocks.name = Rodyti Sugriautus Blokus setting.blockstatus.name = Rodyti Blokų BÅ«senÄ… @@ -747,32 +1194,43 @@ setting.conveyorpathfinding.name = Konvejerio Paskirties Vietos Nustatymas setting.sensitivity.name = Valdymo Jautrumas setting.saveinterval.name = IÅ¡saugojimo Intervalas setting.seconds = {0} sekundžių -setting.blockselecttimeout.name = Maks. Bloko Pasirinkimo Laikas setting.milliseconds = {0} milisekundžių setting.fullscreen.name = Fullscreen setting.borderlesswindow.name = Langas Be PakrasÄių[lightgray] (gali reikÄ—ti perkrauti) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = Rodyti FPS ir Ping +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pikseliavimas setting.minimap.name = Rodyti Mini ŽemÄ—lapį -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Rodyti ŽaidÄ—jų Pozicijas +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Muzikos Garsumas setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Aplinkos Garsas setting.mutemusic.name = Nutildyti MuzikÄ… setting.sfxvol.name = SFX Garsumas setting.mutesound.name = Nutildyti Garsus setting.crashreport.name = Siųsti Anoniminius Strigties PraneÅ¡imus +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = AutomatiÅ¡kai Kurti IÅ¡saugojimus -setting.publichost.name = VieÅ¡ojo Žaidimo Matomumas +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = ŽaidÄ—jų Limitas setting.chatopacity.name = Pokalbių Lentos Nepermatomumas setting.lasersopacity.name = Elektros Tinklo Nepermatomumas +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Tilto Nepermatomumas setting.playerchat.name = Rodyti Pokalbių Teksto Burbulus VirÅ¡ ŽaidÄ—jų -public.confirm = Ar norite savo žaidimÄ… paversti vieÅ¡u?\n[accent]Bet kas galÄ—s įeiti į jÅ«sų žaidimÄ….\n[lightgray]Tai gali bÅ«ti pakeista nuÄ—jus į Nustatymai->Žaidimas->VieÅ¡ojo Žaidimo Matomumas. +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Pritaikykite sÄ…sajÄ…, kad bÅ«tų rodoma įpjova +setting.macnotch.description = Norint pritaikyti pakeitimus, reikia paleisti iÅ¡ naujo +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Ä®siminkite, jog beta versijoje negalima sukrti viešų kambarių. uiscale.reset = UI mastelis buvo pakeistas.\nSpauskite "GERAI", norÄ—dami palikti šį mastelį.\n[scarlet]AtÅ¡aukiama ir iÅ¡einama po[accent] {0}[] sekundžių... uiscale.cancel = AtÅ¡aukti ir IÅ¡eiti @@ -781,12 +1239,9 @@ keybind.title = Pakeisti Valdymo Mygtukus keybinds.mobile = [scarlet]Dauguma valdymo mygtukų neveikia telefone. Tik paparastas judÄ—jimas yra palaikomas. category.general.name = Bendra category.view.name = Vaizdas +category.command.name = Unit Command category.multiplayer.name = Žaidimas Tinkle category.blocks.name = Block Select -command.attack = Pulti -command.rally = Susitelkti -command.retreat = Atsitraukti -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1256,27 @@ keybind.move_y.name = JudÄ—jimas Y aÅ¡imi keybind.mouse_move.name = Sekti PelÄ™ keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Pasirinkite RegionÄ… keybind.schematic_menu.name = Schemų Meniu keybind.schematic_flip_x.name = Apversti schemÄ… per X ašį @@ -826,16 +1302,20 @@ keybind.select.name = Pasirinkti/Å auti keybind.diagonal_placement.name = Ä®strižas PadÄ—jimas keybind.pick.name = Pasirinkti BlokÄ… keybind.break_block.name = IÅ¡griauti BlokÄ… +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Panaikinti PasirinkimÄ… keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Å auti keybind.zoom.name = Keisti Vaizdo Mastelį keybind.menu.name = Meniu keybind.pause.name = Sustabdyti keybind.pause_building.name = Sustabdyti/TÄ™sti StatymÄ… keybind.minimap.name = Mini ŽemÄ—lapis +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Pakalbiai keybind.player_list.name = ŽaidÄ—jų SÄ…raÅ¡as keybind.console.name = KonsolÄ— @@ -845,6 +1325,7 @@ keybind.toggle_menus.name = Perjungti Meniu keybind.chat_history_prev.name = Pokalbių istorija Ankstesnis keybind.chat_history_next.name = Pokalbių istorija Pirmyn keybind.chat_scroll.name = Pokalbių Slinktis +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = IÅ¡mesti VienetÄ… keybind.zoom_minimap.name = Keisti Mini ŽemÄ—lapio Mastelį mode.help.title = Modifikacijų ApraÅ¡ymai @@ -858,47 +1339,100 @@ mode.pvp.description = Kovokite su kitais žmonÄ—msi vietiniame tinkle.\n[gray]N mode.attack.name = Puolimas mode.attack.description = Sunaikinkite priešų branduolį. \n[gray]Norint žaisti žemÄ—lapyje yra reikalingas branduolys su raudona spalva. mode.custom = PasirinktinÄ—s TaisyklÄ—s +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Neriboti Resursai +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reaktorių Sprogimai +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Bangų Laikmatis +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Bangos +rules.airUseSpawns = Air units use spawn points rules.attack = Puolimo Režimas -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = Neriboti Kompiuterio (Raudonosios Komandos) Resursai rules.blockhealthmultiplier = Blokų Gyvybių Daugiklis rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Vienetų Gamybos GreiÄio Daugiklis +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Vienetų Gyvybių Daugiklis rules.unitdamagemultiplier = Vienetų Žalos Daugiklis +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Nestatymo aplink priešų branduolį spindulys:[lightgray] (blokais) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Tarpai Tarp Bangų:[lightgray] (sek.) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Statymo Kainų Daugiklis rules.buildspeedmultiplier = Statymo GreiÄio Daugiklis rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Laukti, kol pasibaigs banga +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = IÅ¡metimo Zonos Spindulys:[lightgray] (blokais) rules.unitammo = Units Require Ammo +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = Bangos rules.title.resourcesbuilding = Resursai ir Pastatai rules.title.enemy = PrieÅ¡ai rules.title.unit = Vienetai rules.title.experimental = Eksperimentinis rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = ApÅ¡vietimas -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Aplinkos Å viesa rules.weather = Weather rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Daiktai content.liquid.name = SkysÄiai content.unit.name = Vienetai content.block.name = Blokai +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) item.copper.name = Varis item.lead.name = Å vinas @@ -916,10 +1450,23 @@ item.blast-compound.name = Sprogusis Junginys item.pyratite.name = Piratitas item.metaglass.name = Meta Stiklas item.scrap.name = Metalo Laužas +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Vanduo liquid.slag.name = Å lakas liquid.oil.name = Nafta liquid.cryofluid.name = Krio Skystis +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -947,6 +1494,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,13 +1506,35 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = SmÄ—lio Riedulys +block.basalt-boulder.name = Basalt Boulder block.grass.name = ŽolÄ— -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Druska block.salt-wall.name = Salt Wall @@ -988,24 +1562,28 @@ block.graphite-press.name = Grafito Presas block.multi-press.name = Multi Presas block.constructing = {0} [lightgray](Konstruojama) block.spawn.name = Priešų Atsiradimo Zona +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Branduolys: Å erdis block.core-foundation.name = Branduolys: Pagrindas block.core-nucleus.name = Branduolys: Centras -block.deepwater.name = Gilus Vanduo -block.water.name = Vanduo +block.deep-water.name = Gilus Vanduo +block.shallow-water.name = Vanduo block.tainted-water.name = UžterÅ¡tas Vanduo +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Tamsaus SmÄ—lio UžterÅ¡tas Vanduo block.tar.name = Derva block.stone.name = Akmuo -block.sand.name = SmÄ—lis +block.sand-floor.name = SmÄ—lis block.darksand.name = Tamsus SmÄ—lis block.ice.name = Ledas block.snow.name = Sniegas -block.craters.name = Krateriai +block.crater-stone.name = Krateriai block.sand-water.name = SmÄ—lio vanduo block.darksand-water.name = Tamsaus SmÄ—lio Vanduo block.char.name = Char block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Ledinis Sniegas @@ -1023,6 +1601,7 @@ block.spore-cluster.name = Spore Cluster block.metal-floor.name = Metalo Sluoksnis 1 block.metal-floor-2.name = Metalo Sluoksnis 2 block.metal-floor-3.name = Metalo Sluoksnis 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Metalo Sluoksnis 4 block.metal-floor-damaged.name = Metalo Sluoksnis Pažeistas block.dark-panel-1.name = Tamsioji PlokÅ¡tÄ— 1 @@ -1056,15 +1635,16 @@ block.conveyor.name = Konvejeris block.titanium-conveyor.name = Titaninis Konvejeris block.plastanium-conveyor.name = Plastaninis Konvejeris block.armored-conveyor.name = Å arvuotas Konvejeris -block.armored-conveyor.description = Juda tokuo paÄiu greiÄiu kaip titaninis konvejeris, taÄiau turi daugiau Å¡arvų. Nepriima įeigos iÅ¡ Å¡onų, iÅ¡skyrus kitus konvejerius. block.junction.name = SandÅ«ra block.router.name = MarÅ¡rutizatorius block.distributor.name = Skirstytuvas block.sorter.name = Rūšiuotojas block.inverted-sorter.name = Atbulinis Rūšiuotojas block.message.name = ŽinutÄ— +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Å viestuvas -block.illuminator.description = Mažas, kompaktiÅ¡kas, konfigÅ«ruojamas Å¡viesos Å¡altinis. Reikalinga energija funkcionavimui. block.overflow-gate.name = Perpildymo Užtvara block.underflow-gate.name = Neperpildymo Užtvara block.silicon-smelter.name = Silicio Lydykla @@ -1115,20 +1695,22 @@ block.solar-panel.name = SaulÄ—s Baterija block.solar-panel-large.name = DidelÄ— SaulÄ—s Baterija block.oil-extractor.name = Naftos Trauktuvas block.repair-point.name = Taisymo TaÅ¡kas +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Pulsinis Vamzdis block.plated-conduit.name = Padengtas Vamzdis block.phase-conduit.name = Fazinis Vamzdis block.liquid-router.name = SkysÄių MarÅ¡rutizatorius block.liquid-tank.name = SkysÄių Talpa +block.liquid-container.name = Liquid Container block.liquid-junction.name = SkysÄių SandÅ«ra block.bridge-conduit.name = Tiltinis Vamzdis block.rotary-pump.name = Rotacinis Siurblys block.thorium-reactor.name = Torio Reaktorius block.mass-driver.name = ElektromagnetinÄ— Katapulta block.blast-drill.name = Oro SrovÄ—s Grąžtas -block.thermal-pump.name = Å iluminÄ— Pompa +block.impulse-pump.name = Å iluminÄ— Pompa block.thermal-generator.name = Terminis Generatorius -block.alloy-smelter.name = Lydinio Lydykla +block.surge-smelter.name = Lydinio Lydykla block.mender.name = Taisytojas block.mend-projector.name = Taisymo Projektorius block.surge-wall.name = Viršįtampio Siena @@ -1145,9 +1727,9 @@ block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Talpykla block.launch-pad.name = Paleidimo AikÅ¡telÄ— -block.launch-pad-large.name = DidelÄ— Paleidimo AikÅ¡telÄ— +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1157,78 +1739,335 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor +block.micro-processor.name = Mikro Procesorius +block.logic-processor.name = Loginis Procesorius +block.hyper-processor.name = Hiper Procesorius block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = mÄ—lyna +team.malis.name = Malis team.crux.name = raudona team.sharded.name = oranžinÄ— -team.orange.name = oranžinÄ— team.derelict.name = apleista team.green.name = žalia -team.purple.name = violetinÄ— -tutorial.next = [lightgray] -tutorial.intro = JÅ«s įžengÄ—te į [scarlet] Mindustry PradininkÄ….[]\nNaudokite[accent] [[WASD][] norÄ—dami judÄ—ti.\n[accent]Naudoktie vidurinį pelÄ—s klavišą[] norÄ—dami pakeisti mastelį.\nPradÄ—kite nuo[accent] Vario kasimo[]. PajudÄ—kite arÄiau jo, tada spauskite ant Vario venos, kuri yra Å¡alia jÅ«sų, norÄ—dami kasti varį.\n\n[accent]{0}/{1} copper -tutorial.intro.mobile = JÅ«s įžengÄ—te į [scarlet] Mindustry PradininkÄ….[]\nBraukite per ekranÄ… norÄ—dami judÄ—ti.\n[accent]Braukite dviemis pirÅ¡tais prieÅ¡ingomis kryptimis[] norÄ—dami keisti mastelį.\nPradÄ—kite nuo[accent] Vario kasimo[]. PradÄ—kite nuo[accent] Vario kasimo[]. PajudÄ—kite arÄiau jo, tada spauskite ant Vario venos, kuri yra Å¡alia jÅ«sų, norÄ—dami kasti varį.\n\n[accent]{0}/{1} copper -tutorial.drill = Rankinis kasimas yra neefektyvus.\n[accent]Grąžtai[] gali gręžti automatiÅ¡kai.\nPaspauskite grąžtų skirtukÄ… esantį apaÄioje deÅ¡iniajame kampe.\nPasirinkite[accent] mechaninį grąžtÄ…[]. Pastatykite jį ant Vario venos.\nTaip pat galite pasirinkti grąžtÄ… paspaudÄ™[accent][[2][] ir [accent][[1][] vienu metu, nesvarbu koks skirtukas yra įjungtas.\n[accent]Paspauskite deÅ¡inį pelÄ—s klavišą[] norÄ—dami sustabydi statymÄ…. -tutorial.drill.mobile = Rankinis kasimas yra neefektyvus.\n[accent]Grąžtai[] gali gręžti automatiÅ¡kai.\nPaspauskite grąžtų skirtukÄ… esantį apaÄioje deÅ¡iniajame kampe.\nPasirinkite[accent] mechaninį grąžtÄ…[].\nPastatykite jį paspausdami ant Vario gyslos, tada paspauskite[accent] varnelÄ™[] esanÄiÄ… apaÄioje norint priimti pasirinkimÄ….\nSpauskite[accent] X mygtukÄ…[] norÄ—dami atÅ¡aukti pasirinkimÄ…. -tutorial.blockinfo = Kievienas blokas turi skirtingas statistikas. Kiekvienas grąžtas gali kasti tam tikras rÅ«das\nNorÄ—dami patirkinti daikto informacijÄ… ir statistikas[accent] spauskite "?" mygtukÄ…, kai yra pasirinktas blokas statybų menu.[]\n\n[accent]Dabar apžiÅ«rÄ—kite Mechaninio Grąžto statistikas.[] -tutorial.conveyor = [accent]Kovejeriai[] yra naudojami medžiagų transportavimui į branduolį.\nNutieskite konvejerių linjÄ… nuo grąžto iki branduolio.\n[accent]Laikykite paspaudÄ™ pelytÄ—s kairiajį klavišą norÄ—dami padÄ—ti konvejerius linija.[]\nLaikykite paspaudÄ™[accent] CTRL[] ir pelytÄ—s kairiajį klavišą norÄ—dami padÄ—ti konvejerius įstrižai.\nNaudokite pelÄ—s ratukÄ… blokų pasukimui prieÅ¡ juos dedant.\n[accent]PadÄ—kite 2 kovejerius su linijų įrankiu, tada pristatykite medžiagas į branduolį. -tutorial.conveyor.mobile = [accent]Kovejeriai[] yra naudojami medžiagų transportavimui į branduolį.\nNutieskite konvejerių linjÄ… nuo grąžto iki branduolio.\n[accent]PadÄ—kite kovejerius linija paspaudus kelioms sekundÄ—ms[] ir tempiant bet kuria kryptimi.\n\n[accent]PadÄ—kite 2 kovejerius su linijų įrankiu, tada pristatykite medžiagas į branduolį. -tutorial.turret = Kai medžiagos įeina į branduolį, jos gali bÅ«ti naudojamos statyboms.\nPrisiminkite, jog ne visos medžiagos gali bÅ«ti naudojamos statyboms.\nMedžiagos, kurios yra nenaudojamos statyboms, pvz.[accent] anglis[] ar[accent] metalo laužas[], negali įeiti į branduolį.\nTuri bÅ«ti naudojamos apsaugų struktÅ«ros norint apsisaugoti nuo [lightgray] prieÅ¡o[].\nPastatykite[accent] duo bokÅ¡tÄ…[] netoliese bazÄ—s. -tutorial.drillturret = Duo bokÅ¡tams reikalingi[accent] Vario Å¡oviniai[] Å¡audymui.\nPadÄ—kite grąžtÄ… netoliese bokÅ¡to.\nNuveskite konvejerius į bokÅ¡tÄ… norint tiekti Varį bokÅ¡tui Å¡oviniams.\n\n[accent]Pristatyta Å¡ovinių: 0/1 -tutorial.pause = Vykstant kovai galite[accent] sustabdyti žaidimÄ….[]\nTaip pat galite įtraukti pastatus į statybų eilÄ™.\n\n[accent]Paspauskite tarpÄ… norÄ—dami sustabdyti. -tutorial.pause.mobile = Vykstant kovai galite[accent] sustabdyti žaidimÄ….[]\nTaip pat galite įtraukti pastatus į statybų eilÄ™.\n\n[accent]Paspauskite mygtukÄ… esanti virÅ¡uje kairiajame kampe esantį mygtukÄ… norÄ—dami sustabdyti. -tutorial.unpause = Dabar paspauskite tarpÄ… dar kartÄ… pratÄ™simui. -tutorial.unpause.mobile = Dabar paspauskite mygtukÄ… dar kartÄ… pratÄ™simui. -tutorial.breaking = Blokai dažnai turi bÅ«ti panainkinti.\n[accent]Laikyte deÅ¡inį pelÄ—s klavišą ir tempkite pelÄ™[] norÄ—dami sunaikinti visus pasirinktus objektus.[]\n\n[accent]Sunaikinkite visus metalo laužo blokus esanÄius branduolio kairÄ—je naudojant pasirinkimÄ…. -tutorial.breaking.mobile = Blokai dažnai turi bÅ«ti panainkinti.\n[accent]Pasirinkite dekonstrukcijos režimÄ…[], tada spauskite ant bloko norint pradÄ—ti graitu.\nSunaikite zonÄ… palaikÄ™ paspaudÄ™ kelioms sekundÄ—ms[] ir tempdami bet kuria kryptimi.\nPaspauskite varnelÄ™ norÄ—dami priimti sunaikinimÄ…\n\n[accent]Sunaikinkite visus metalo laužo blokus esanÄius branduolio kairÄ—je naudojant pasirinkimÄ…. -tutorial.withdraw = Kai kuriose situacijose reikia paimti medžiagas reikia tiesiogiai iÅ¡ blokų.\nNorint padaryti tai [accent]paspauskite ant bloko[] su medžiagomis jame, po to [accent]paspauskite ant medžiagos[] esanÄios inventoriuje.\nDaugiau medžiagų galima pasiimti [accent]laikant paspaudus[].\n\n[accent]Pasiimkite Å¡iek tiek Vario iÅ¡ branduolio.[] -tutorial.deposit = Ä®dÄ—kite medžiagas į blokus tempdami nuo savo erdvÄ—laivio iki bloko.\n\n[accent]PadÄ—kite Varį atgal į branduolį[] -tutorial.waves = Ateina[lightgray] prieÅ¡ai[].\n\nGinkite savo branduolį dvi bangas.[accent] Paspauskite deÅ¡inį pelÄ—s klavišą[] norÄ—dami Å¡audyti.\nPastatykite daugiau bokÅ¡tų ir grąžtų. IÅ¡kaskite daugiau Vario. -tutorial.waves.mobile = Ateina [lightgray] prieÅ¡ai[].\n\nGinkite savo branduolį dvi bangas. JÅ«sų erdvÄ—laivis pradÄ—s Å¡audyti automatiÅ¡kai.\nPastatykite daugiau bokÅ¡tų ir grąžtų. IÅ¡kaskite daugiau Vario. -tutorial.launch = Kai pasieksite tam tikrÄ… bangÄ…, galÄ—site[accent] paleisti branduolį[] palikdami už savÄ™s gynybas už savÄ™s[accent] ir gaudami visus resursus, kurie yra branduolyje.[]\nÅ ie gauti resursai gali bÅ«ti naudojami iÅ¡rasti naujas technologijas.\n\n[accent]Paspauskite paleidimo mygtukÄ…. +team.blue.name = mÄ—lyna +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = PaprasÄiausia struktÅ«rinÄ— medžiaga. PlaÄiai naudojama visų tipų blokams. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = PagrindinÄ— pradinÄ— medžiaga. PlaÄiai naudojama elektronikoje ir skysÄių transportacijos blokams. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = Itin kietas stiklo junginys. PlaÄiai naudojamas skysÄių gabenimui ir laikymui. item.graphite.description = Mineralizuota anglis, kuri yra naudojama amunicijai ir elektronikos komponentams. item.sand.description = Dažnai sutinkama medžiaga, kuri yra plaÄiai naudojama lydymui. item.coal.description = SuakmenÄ—jusios augalinÄ—s medžiagos, susiformavusios dar prieÅ¡ sÄ—jos įvykį. PlaÄiai naudojama kurui ir resursų gamybai. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = Retas ir itin lengvas metalas. PlaÄiai naudojamas skysÄių gabenime, grąžtams ir lÄ—ktuvams. item.thorium.description = Tankus bei radioaktyvus metalas naudojamas struktÅ«riniam palaikymui ir branduoliniam kurui. item.scrap.description = Senų struktÅ«rų ir vienetų liekanos. SudÄ—tyje yra įvairių metalų pÄ—dsakų. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = YpaÄ naudingas puslaidininkas. Naudojama saulÄ—s baterijose, sudÄ—tingose elektronikose ir taikinių sekimo amunicijoje. item.plastanium.description = Lengva, plastiÅ¡ka medžiaga naudojama pažangiems lÄ—ktuvams ir skilanÄioje aminucijoje. item.phase-fabric.description = Beveik besvorÄ— medžiaga naudojama pažangesniuoje elektronikoje ir savitaisÄ—se technologijose. item.surge-alloy.description = Pažangus lydinys su unikaliomis elektrinÄ—mis savybÄ—mis. item.spore-pod.description = Sintetinių sporų kokonas, susintetintos iÅ¡ atmosferos industriniam naudojimui. Naudojama konversijai į naftÄ…, sprogmenis ir kurÄ…. +item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.blast-compound.description = Nestabilus junginys naudojamas bomboms ir sprogmenims. Susintetintas iÅ¡ sporų kokonų ir kitų lakiųjų medžiagų. Nerekomenduojama naudoti kaip kurÄ…. item.pyratite.description = YpaÄ degi medžiaga naudojama uždegantiems ginklams. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Naudingiausias skystis. Dažniausiai naudojamas įrenginių auÅ¡inimui ir atliekų perdirbimui. liquid.slag.description = Ä®vairių rūšių metalai susilydÄ™ tarpusavyjÄ™. Gali bÅ«ti atskirti į sudedamasias medžiagas arba iÅ¡purkÅ¡ti ant priešų. liquid.oil.description = Skystis, naudojamas pažangių medžiagų gamyboje. Gali bÅ«ti konvertuota į anglį arba gali bÅ«ti iÅ¡purkÅ¡ta ir padegta. liquid.cryofluid.description = InertiÅ¡kas, neÄ—sdinantis skystis gaminamas iÅ¡ vandens ir titano. Atlaiko ypaÄ didelį karÅ¡tį. PlaÄiai naudojamas kaip auÅ¡inimo skystis. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Juda tokuo paÄiu greiÄiu kaip titaninis konvejeris, taÄiau turi daugiau Å¡arvų. Nepriima įeigos iÅ¡ Å¡onų, iÅ¡skyrus kitus konvejerius. +block.illuminator.description = Mažas, kompaktiÅ¡kas, konfigÅ«ruojamas Å¡viesos Å¡altinis. Reikalinga energija funkcionavimui. block.message.description = Laiko žinutÄ™. Naudojama komunikacijai tarp sÄ…jungininkų. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Sukompresuoja anglies gabalus į grynas grafito plokÅ¡tes. block.multi-press.description = Patobulinta grafito preso versija. Pasitelkia vandenį ir energijÄ… greitam ir efektyviam anglies apdirbimui. block.silicon-smelter.description = Redukuoja smÄ—lį su gryna anglimi. Gamina silicį. block.kiln.description = Sulydo smÄ—lį ir stiklÄ… į junginį žinomÄ… kaip meta stiklas. Veikimui reikalinga nedaug energijos. block.plastanium-compressor.description = Gamina plastaniumÄ… iÅ¡ naftos ir titano. block.phase-weaver.description = Susintetina fazinį audinį iÅ¡ radioaktyvaus torio ir smÄ—lio. Veikimui reikalingas didžiulis kiekis energijos. -block.alloy-smelter.description = SumaiÅ¡o titanÄ…, Å¡vinÄ…, silicį ir varį į viršįtampį lydinį. +block.surge-smelter.description = SumaiÅ¡o titanÄ…, Å¡vinÄ…, silicį ir varį į viršįtampį lydinį. block.cryofluid-mixer.description = MaiÅ¡o vandenį ir smulkias titano dulkes į krio skystį. BÅ«tinas torio reaktoriaus naudojimui. block.blast-mixer.description = Susmulkina ir sumaiÅ¡o sporas su piratitu ir pagamina sprogųjį junginį. block.pyratite-mixer.description = SumaiÅ¡o anglį, Å¡vinÄ… ir smÄ—lį į itin degų piratitÄ…. @@ -1244,6 +2083,8 @@ block.item-source.description = IÅ¡duoda neribotÄ… kiekį medžiagų. Tik Sandbo block.item-void.description = Sunaikina visas įeinanÄias medžiagas. Tik Sandbox režime. block.liquid-source.description = IÅ¡duoda neribotÄ… kiekį skysÄių. Tik Sandbox režime. block.liquid-void.description = Sunaikina visus įeinanÄius skysÄius. Tik Sandbox režime. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. block.copper-wall.description = Pigus gynybinis blokas.\nNaudingas ginant branduolį ir bokÅ¡tus pirmose bangose. block.copper-wall-large.description = Pigus gynybinis blokas.\nNaudingas ginant branduolį ir bokÅ¡tus pirmose bangose.\nUžima kelias vietas. block.titanium-wall.description = Vidutinio stiprumo gynybinis blokas.\nUžtikrina vidutinÄ™ apsaugÄ… nuo priešų. @@ -1256,6 +2097,10 @@ block.phase-wall.description = Siena padengta specialiu faziniu pagrindu sukurtu block.phase-wall-large.description = Siena padengta specialiu faziniu pagrindu sukurtu junginiu. AtmuÅ¡a daugumÄ… Å¡ovinių.\nUžima kelias vietas. block.surge-wall.description = YpaÄ patvarus gynybinis blokas.\nKaupia krÅ«vį kontakto metu su Å¡oviniu atsitiktinai jį iÅ¡leisdamas. block.surge-wall-large.description = YpaÄ patvarus gynybinis blokas.\nKaupia krÅ«vį kontakto metu su Å¡oviniu atsitiktinai jį iÅ¡leisdamas.\nUžima kelias vietas. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Mažos durys. Gali bÅ«ti atidarytos ir uždarytos paspaudus. block.door-large.description = DidelÄ—s durys. Gali bÅ«ti atidarytos ir uždarytos paspaudus.\nUžima kelias vietas. block.mender.description = PeriodiÅ¡kai taiso blokus pasiekiamame plote. Palaiko gynybines konstrukcijas pataisytas tarp bangu.\nPapildomai naudoja silicį atstumo ir efektyvumo padidinimui. @@ -1272,17 +2117,19 @@ block.phase-conveyor.description = Pažangus daiktų gabenimo blokas. Naudoja en block.sorter.description = Rūšiuoja daiktus. Jei daiktas atitinka pasirinkimÄ…, jam leidžiama keliauti pirmyn. PrieÅ¡ingai, daiktas siunÄiamas į kairÄ™ ir deÅ¡inÄ™. block.inverted-sorter.description = Apdoroja daiktus kaip paprastas rūšiuotuvas, taÄiau pasirinktas daiktas siunÄiamas į kairÄ™ arba deÅ¡inÄ™, o kita į priekį. block.router.description = Priima daiktus, tada paskirsto daiktus į tris kryptis lygiomis dalimis. Naudingas paskirstant medžiagas iÅ¡ vieno Å¡altinio į daugiau jungÄių.\n\n[scarlet]Niekada nenaudokite prie pat gamyklos, nes iÅ¡ gamyklos iÅ¡einantis produktas gali užstrigti marÅ¡rutizatoriuje.[] +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = Pažangesnis marÅ¡rutizatorius. Paskirsto daiktus į septynias kryptis lygiomis dalimis. block.overflow-gate.description = IÅ¡veda medžiagas į kairÄ™ ir deÅ¡inÄ™, jei priekis yra užblokuotas. block.underflow-gate.description = Veikia prieÅ¡ingai nei perpildymo užtvara. IÅ¡veda medžiagas į priekį, jei kairÄ— ir deÅ¡inÄ— yra užblokuota. block.mass-driver.description = Tobuliausias daiktų gabenimo blokas. Surenka daiktus ir Å¡auna juos į kitÄ… elektromagnetinÄ™ katapultÄ… didelias atstumais. Veikimui reikalauja energijos. block.mechanical-pump.description = pigi pompa su lÄ—ta iÅ¡eiga, bet nenaudoja energijos. block.rotary-pump.description = PažangesnÄ— pompa. Pumpuoja daugiau skysÄių, bet reikalauja energijos. -block.thermal-pump.description = Tobuliausia pompa. +block.impulse-pump.description = Tobuliausia pompa. block.conduit.description = Paprastas vandens gabenimo blokas. Gabena skysÄius į priekį. Naudojamas kartu su siurbliais ir kitais vamzdžiais. block.pulse-conduit.description = Pažangus vandens gabenimo blokas. Gabena skysÄius greiÄiau ir talpina daugiau skysÄių negu standartinis vamzdis. block.plated-conduit.description = Gabena skysÄius tokiuo paÄiu greiÄiu kaip pulsinis vamzdis, taÄiau turi daugiau Å¡arvų. Nepriima skysÄių iÅ¡ Å¡onų, iÅ¡skyrus kitus vamzdžius.\nMažiau nutekina skysÄių. block.liquid-router.description = Priima skysÄius iÅ¡ vienos krypties ir paskirsto juos į tris skirtingas kryptis vienodai. Gali laikyti tam tikrÄ… kiekį skysÄių. Naudingas paskirstant sksyÄius iÅ¡ vieno Å¡altinio į daugiau jungÄių. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Laiko didelį kiekį skysÄių. Naudokite kÅ«riant buferius situacijose su nepastoviu skysÄių suvartojimu arba kaip apsaugÄ… auÅ¡inant svarbius blokus. block.liquid-junction.description = Veikia kaip tiltas dvejiems besikertantiems vamzdžiams. Naudingas situacijose, kai du skirtingi vamzdžiai neÅ¡a skirtingus skysÄius į skirtingas vietas. block.bridge-conduit.description = Pažangus skysÄių gabenimo blokas. Leidžia skysÄių gabenimÄ… per tris blokus, nesvarbu kas yra tuose trejuose yra. @@ -1308,15 +2155,21 @@ block.laser-drill.description = DÄ—l lazerio technologijų leidžia kasti medži block.blast-drill.description = Tobuliausias Grąžtas. Reikalauja didelio kiekio energijos. block.water-extractor.description = IÅ¡gauna vandenį. Naudojamas kur nÄ—ra pavirÅ¡inio vandens. block.cultivator.description = Atmosferoje iÅ¡augina mažus sporų kiekius į industrijai paruoÅ¡tus sporų kokonus. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. block.oil-extractor.description = Naudoja didelį kiekį energijos, smÄ—lio ir vandens naftos gamybai. block.core-shard.description = Pirma branduolio kapsulÄ—s iteracija. Kai sunaikintas, prarandami visi kontaktai su zona. Neleiskite tam nutikti. +block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = Antra branduolio kapsulÄ—s iteracija. Geriau Å¡arvuota. Laiko daugiau resursų. +block.core-foundation.details = The second iteration. block.core-nucleus.description = TreÄia ir paskutinÄ— branduolio kapsulÄ—s iteracija. Itin gerai apsaugota. Laiko didelius kiekius resursų. +block.core-nucleus.details = The third and final iteration. block.vault.description = Laiko didelį kiekį skirtingų rūšių medžiagų. Gali bÅ«ti naudojamas iÅ¡kroviklis daiktų paÄ—mimui iÅ¡ seifo. block.container.description = Laiko nedidelį kiekį skirtingų rūšių medžiagų. Gali bÅ«ti naudojamas iÅ¡kroviklis daiktų paÄ—mimui iÅ¡ talpyklos. block.unloader.description = Paima resursus iÅ¡ gretimų ne gabenimui skirtų pastatų. Paimamos medžiagos rūšis gali bÅ«ti pakeista paspaudus ant iÅ¡kroviklio. block.launch-pad.description = Paleidžia daiktų paketus be branduolio paleidimo. -block.launch-pad-large.description = Patobulinta paleidimo aikÅ¡telÄ—s versija. Laiko daugiau resursų. Gali bÅ«ti paleidžiama dažniau. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Mažas ir pigus bokÅ¡tas. Naudingas prieÅ¡ antžeminius vienetus. block.scatter.description = Pagrindinis bokÅ¡tas skirtas kovai su oro pajÄ—gomis. Å audo Å¡vino arba metalo laužo gabalais į prieÅ¡us. block.scorch.description = Degina visus netoliese esanÄius prieÅ¡us. Itin efektyvus artimame nuotolyje. @@ -1327,9 +2180,433 @@ block.arc.description = Mažas artimojo nuotolio elektros bokÅ¡tas. Å audo elekt block.swarmer.description = Vidutinio didžio raketsvaidis. Puola, tiek žemÄ™, tiek orÄ…. Å audo taikinius sekanÄias raketas. block.salvo.description = Didelis, pažangesnÄ— Duo bokÅ¡to versija. Å audo Å¡ovinių salvas į prieÅ¡us. block.fuse.description = Didelis, artimojo nuotolio energijos bokÅ¡tas. Å audo tris prasiskverbianÄius spindulius. -block.ripple.description = Itin galingas artilerijos bokÅ¡tas. Dideliais atstumais Å¡audo bÅ«rius artilerijos Å¡ovinius į prieÅ¡us. +block.ripple.description = Itin galingas artilerijos bokÅ¡tas. Dideliais atstumais Å¡audo bÅ«rius artilerijos Å¡ovinius į prieÅ¡us. block.cyclone.description = Didelis bokÅ¡tas puolantis, tiek žemÄ™, tiek orÄ…. Å audo sprogstanÄius Å¡ovinius į prieÅ¡us. block.spectre.description = MilžiniÅ¡kas dvivamzdis bokÅ¡tas. Å audo didelius, kiaurai per Å¡arvus einanÄius Å¡ovinius į taikinius esanÄius ant žemÄ—s ir ore. block.meltdown.description = MilžiniÅ¡ka lazerinÄ— patranka. Užsikrauna ir Å¡audo lazerinius spindulius į aplinkinius prieÅ¡us. Veikimui reikalingas auÅ¡inimo skystis. +block.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Pastoviai gydo artimiausius netoliese esanÄius vienetus. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_nl.properties b/core/assets/bundles/bundle_nl.properties index 6523ead319..b6567d21d8 100644 --- a/core/assets/bundles/bundle_nl.properties +++ b/core/assets/bundles/bundle_nl.properties @@ -2,71 +2,97 @@ credits.text = Gemaakt door [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Credits contributors = Vertalers en Bijdragers discord = Word lid van de Mindustry Discord! -link.discord.description = De officiële Mindustry discord chatroom +link.discord.description = De offici�le Mindustry discord chatroom link.reddit.description = De Mindustry subreddit -link.github.description = Game broncode +link.github.description = Spel Broncode link.changelog.description = Lijst van updates link.dev-builds.description = Onstabiele versies -link.trello.description = Officiële trello-bord voor geplande functies +link.trello.description = Offici�le trello-bord voor geplande functies link.itch.io.description = itch.io pagina met pc-downloads link.google-play.description = Google Play store vermelding link.f-droid.description = F-Droid catalogus vermelding -link.wiki.description = Officiële Mindustry wiki +link.wiki.description = Offici�le Mindustry wiki link.suggestions.description = Stel iets voor -linkfail = Kan link niet openen!\nDe URL is gekopieerd naar je klembord +link.bug.description = ��n gevonden? Rapporteer het hier. +linkopen = Deze server heeft je een link gestuurd. Weet je zeker dat je hem wilt openen?\n\n[sky]{0} +linkfail = Kon link niet openen!\nDe URL is gekopieerd naar je klembord screenshot = Schermafbeeling opgeslagen in {0} -screenshot.invalid = Map is te groot, Mogelijk niet genoeg geheugen beschikbaar voor een schermafbeelding. +screenshot.invalid = Map is te groot, er is mogelijk niet genoeg geheugen beschikbaar voor een schermafbeelding. gameover = Spel afgelopen -gameover.pvp = het[accent] {0}[] team heeft gewonnen! +gameover.disconnect = Disconnect +gameover.pvp = Het[accent] {0}[] team heeft gewonnen! +gameover.waiting = [accent]Wachten op de volgende map... highscore = [accent]Nieuw topscore! copied = Gekopieerd. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +indev.notready = Dit gedeelte van het spel is nog niet klaar -load.sound = Geluid +load.sound = Geluiden load.map = Kaarten load.image = Afbeeldingen -load.content = inhoud +load.content = Inhoud load.system = Systeem load.mod = Mods load.scripts = Scripts be.update = Er is een nieuwe Bleeding Edge versie beschikbaar: -be.update.confirm = Download en herstart? +be.update.confirm = Download en gelijk herstarten? be.updating = Updaten... be.ignore = Negeer be.noupdates = Geen updates gevonden. be.check = Check voor updates +mods.browser = Mod Browser +mods.browser.selected = Geselecteerde mod +mods.browser.add = Installeer +mods.browser.reinstall = Herinstalleren +mods.browser.view-releases = Bekijk Releases +mods.browser.noreleases = [scarlet]Geen Releases Gevonden\n[accent]Kon geen releases vinden voor deze mod. Controleer of de repository van de mod releases heeft gepubliceerd. +mods.browser.latest = +mods.browser.releases = Releases +mods.github.open = Repo +mods.github.open-release = Release Pagina +mods.browser.sortdate = Sorteer op recentst +mods.browser.sortstars = Sorteer op sterren + schematic = Ontwerp schematic.add = Bewaar ontwerp... schematics = Ontwerpen +schematic.search = Search schematics... schematic.replace = Er bestaat al een ontwerp met die naam. Overschrijven? -schematic.exists = A schematic by that name already exists. +schematic.exists = Een ontwerp met die naam bestaat al. schematic.import = Importeer ontwerp... schematic.exportfile = Exporteer bestand schematic.importfile = Importeer bestand schematic.browseworkshop = Blader werkplaats -schematic.copy = Kopiëren naar Klembord +schematic.copy = Kopi�ren naar Klembord schematic.copy.import = Importeren van Klembord schematic.shareworkshop = Delen op de Werkplaats schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Spiegel ontwerp schematic.saved = Ontwerp bewaard. schematic.delete.confirm = Dit ontwerp zal in een zwart gat verdwijnen. -schematic.rename = Hernoem ontwerp +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blokken -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Ontwerpen uitgeschakeld[]\nJe hebt geen toestemming om ontwerpen te gebruiken op deze [accent]map[] of [accent]server. +schematic.tags = Tags: +schematic.edittags = Wijzig Tags +schematic.addtag = Voeg Tag toe +schematic.texttag = Tekst Tag +schematic.icontag = Icoon Tag +schematic.renametag = Hernoem Tag +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Deze tag compleet verwijderen? +schematic.tagexists = Die tag bestaat al. -stat.wave = Waves Verslagen:[accent] {0} -stat.enemiesDestroyed = Vijanden Vernietigd:[accent] {0} -stat.built = Gebouwen Gebouwd:[accent] {0} -stat.destroyed = Gebouwen Vernietigd:[accent] {0} -stat.deconstructed = Gebouwen Gesloopt:[accent] {0} -stat.delivered = Middelen Gelanceerd: -stat.playtime = Time Played:[accent] {0} -stat.rank = Eindrang: [accent]{0} +stats = Statistieken +stats.wave = Waves Verslagen +stats.unitsCreated = Eenheden Gemaakt +stats.enemiesDestroyed = Vijanden Vernietigd +stats.built = Gebouwen Gebouwd +stats.destroyed = Gebouwen Gesloopt +stats.deconstructed = Gebouwen Gedeconstrueerd +stats.playtime = Tijd Gespeeld -globalitems = [accent]Global Items +globalitems = [accent]Planeet Materialen map.delete = Weet je zeker dat je de map wilt verwijderen? "[accent]{0}[]"? level.highscore = Topscore: [accent]{0} level.select = Selecteer Level @@ -74,13 +100,16 @@ level.mode = Spelmodus: coreattack = < Core wordt aangevallen! > nearpoint = [[ [scarlet]VERLAAT DE LANDINGSZONE ONMIDDELIJK[] ]\nlevensgevaarlijk database = Core Database +database.button = Database savegame = Opslaan loadgame = Laden joingame = Treed toe customgame = Aangepast spel newgame = Nieuw spel none = -minimap = Landkaart +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Minimap position = Positie close = Aflsuiten website = Website @@ -89,7 +118,7 @@ save.quit = Bewaar & Stop maps = Kaarten maps.browse = Blader door kaarten continue = Ga door -maps.none = [lightgray]Geen Kaart gevonden! +maps.none = [lightgray]Geen Kaarten gevonden! invalid = Ongeldig pickcolor = Kies kleur preparingconfig = Configuratie voorbereiden @@ -100,68 +129,100 @@ committingchanges = Wijzigingen aan het bewaren done = Klaar feature.unsupported = Je apparaat ondersteunt deze functionaliteit niet. -mods.alphainfo = Houd in gedachten dat mod ondersteuning nieuw is, en daarom[scarlet] mogelijk ontstabiel is[].\nVermeld problemen die je ermee ondervind in de Mindustry GitHub of Discord. +mods.initfailed = [red]?[] De vorige Mindustry instantie faalde te initialiseren. Dit werd waarschijnlijk veroorzaakt door misdragende mods.\n\nOm een crash loop te voorkomen, zijn [red]alle mods uitgeschakeld.[] mods = Mods mods.none = [lightgray]Geen mods gevonden! -mods.guide = Modding Handboek +mods.guide = Handboek voor modding mods.report = Rapporteer Bug -mods.openfolder = Open Mod Map -mods.reload = Reload -mods.reloadexit = The game will now exit, to reload mods. +mods.openfolder = Open Mod Folder +mods.viewcontent = Bekijk Inhoud +mods.reload = Herlaad +mods.reloadexit = Het spel zal nu afsluiten, om mods te herladen. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} -mod.enabled = [lightgray]Aan -mod.disabled = [scarlet]Uit +mod.enabled = [lightgray]Ingeschakeld +mod.disabled = [scarlet]Uitgeschakeld +mod.multiplayer.compatible = [gray]Geschikt voor meerdere speleres mod.disable = Deactiveer -mod.content = Content: +mod.version = Version: +mod.content = Inhoud: mod.delete.error = Mod verwijderen mislukt. Bestand mogelijk in gebruik. -mod.requiresversion = [scarlet]Vereist minimaal mindustry versie: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missende benodigdheden: {0} -mod.erroredcontent = [scarlet]Inhoud Fouten + +mod.incompatiblegame = [red]Verouderd spel +mod.incompatiblemod = [red]Onverenigbaar +mod.blacklisted = [red]Niet Ondersteund +mod.unmetdependencies = [red]Onbevredigde Afhankelijkheden +mod.erroredcontent = [scarlet]Fouten in de inhoud +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies + +mod.requiresversion.details = Vereist spelversie: [accent]{0}[]\nJouw spel is verouderd. Deze mod heeft een nieuwere versie van de game nodig (mogelijk een beta/alpha release) om te functioneren. +mod.outdatedv7.details = Deze mod is onverenigbaar met de nieuwste versie van het spel. De auteur moet het updaten en [accent]minGameVersion: 136[] toevoegen aan zijn/haar [accent]mod.json[] bestand. +mod.blacklisted.details = Deze mod is handmatig op de zwarte lijst gezet wegens het veroorzaken van crashes of andere problemen met deze versie van het spel. Gebruik het niet. +mod.missingdependencies.details = Deze mod mist afhankelijkheden: {0} +mod.erroredcontent.details = Deze mod veroorzaakte fouten tijdens het laden. Vraag de auteur van de mod om ze te op te lossen. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. + +mod.requiresversion = Vereist spelversie: [red]{0} + mod.errors = Er hebben zich fouten voordaan tijdens het laden van de inhoud. -mod.noerrorplay = [scarlet]Je mods bevatten fouten.[] Zet de mods uit of los de problemen op voordat je verder gaat. -mod.nowdisabled = [scarlet]Mod '{0}' mist een aantal benodigdheden:[accent] {1}\n[lightgray]Deze moet je eerst zelf downloaden.\nDeze mod is nu voor je uitgezet. +mod.noerrorplay = [red]Je mods bevatten fouten.[] Zet de mods uit of los de problemen op voordat je verder gaat met spelen. +mod.nowdisabled = [red]Mod '{0}' mist een aantal benodigdheden:[accent] {1}\n[lightgray]Deze moet je eerst zelf downloaden.\nDeze mod is nu voor je uitgezet. mod.enable = Activeer -mod.requiresrestart = Deze game zal nu herstarten om de veranderingen aan de mods door te voeren. -mod.reloadrequired = [scarlet]Herladen Vereist +mod.requiresrestart = Het spel zal nu afsluiten om de veranderingen aan de mods door te voeren. +mod.reloadrequired = [scarlet]Herstart Vereist mod.import = Importeer Mod -mod.import.file = Import File +mod.import.file = Importeer Bestand mod.import.github = Importeer GitHub Mod -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! +mod.jarwarn = [scarlet]JAR mods zijn van nature onveilig.[]\nZorg ervoor dat je deze mod van een vertrouwde bron importeert. mod.item.remove = Dit item is onderdeel van de[accent] '{0}'[] mod. Verwijder deze eerst. mod.remove.confirm = Deze mod zal worden verwijderd. mod.author = [lightgray]Auteur:[] {0} -mod.missing = Deze Save bevat mods die zijn geupdatet of die je niet meer hebt geinstaleerd. Je save kan mogelijk kapot gaat. Weet je zeker dat je het wilt proberen?\n[lightgray]Mods:\n{0} -mod.preview.missing = Voordat je je mod publiceert in de workshop moet je een thumbnail toevoegen.\nPlaats een afbeelding genaamd[accent] preview.png[] in de map van die mod en probeer opnieuw. -mod.folder.missing = Enkel mods in map formaat kunnen worden gepubliceerd in de workshop.\nOm een mod om te zetten in een map, unzip de mod en verwijder de zip, hetstart dan het spel of herlaad de mods. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. +mod.missing = Deze Save bevat mods die zijn geupdatet of die je niet meer hebt geinstaleerd. Er kan corruptie optreden in deze save. Weet je zeker dat je het wilt laden?\n[lightgray]Mods:\n{0} +mod.preview.missing = Voordat je je mod publiceert in de workshop moet je een thumbnail toevoegen.\nPlaats een afbeelding genaamd[accent] preview.png[] in de folder van die mod en probeer het opnieuw. +mod.folder.missing = Alleen mods in folder formaat kunnen worden gepubliceerd in de werkplaats.\nOm een mod om te zetten in een folder, unzip de mod en verwijder de zip, herstart dan het spel of herlaad de mods. +mod.scripts.disable = Uw apparaat ondersteunt geen mods met scripts. Je moet deze mods uitschakelen om het spel te kunnen spelen. about.button = Over name = Naam: noname = Maak eerst een[accent] Speler naam[]. -planetmap = Planet Map -launchcore = Launch Core +search = Zoek: +planetmap = Planeten kaart +launchcore = Lanceer core filename = Bestandsnaam: unlocked = Nieuwe inhoud ontgrendeld! +available = Nieuw onderzoek beschikbaar. +unlock.incampaign = < Ontgrendel in veldtocht voor details > +campaign.select = Selecteer een veldtocht om mee te starten +campaign.none = [lightgray]Kies een planeet om op te starten.\nJe kan op elk moment omschakelen naar de andere planeet. +campaign.erekir = Nieuwere, meer gepolijste inhoud. Grotendeels lineair veldtochtverloop.\n\nKaarten en algemene ervaring van hogere kwaliteit. +campaign.serpulo = Oudere inhoud; de klassieke ervaring. Meer open veldtochtverloop.\n\nKans op ongebalanceerde kaarten en veldtocht mechanismen. Minder gepolijst. +campaign.difficulty = Difficulty completed = [accent]Voltooid -techtree = Tech boom +techtree = Techniekboom +techtree.select = Techniekboom selectie +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Laad +research.discard = Wegdoen research.list = [lightgray]Onderzoek: research = Onderzoek researched = [lightgray]{0} Onderzocht. -research.progress = {0}% complete +research.progress = {0}% compleet players = {0} Spelers online players.single = {0} Speler online -players.search = search -players.notfound = [gray]no players found +players.search = zoek +players.notfound = [gray]geen spelers gevonden server.closing = [accent]Server aan het sluiten... server.kicked.kick = Je bent verwijderd van deze sessie. server.kicked.whitelist = Je staat niet op de whitelist. server.kicked.serverClose = Server afgesloten... -server.kicked.vote = Je bent ge vote-kicked. Tot ziens. -server.kicked.clientOutdated = Verouderde versie! Update jouw spel! +server.kicked.vote = Je bent weggestemd. Vaarwel. +server.kicked.clientOutdated = Verouderde client! Update jouw spel! server.kicked.serverOutdated = Verouderde server! Vraag de host om te upgraden! server.kicked.banned = Je bent gedegradeerd van deze server. -server.kicked.typeMismatch = Deze server is niet compatibel met jouw bouwtype. +server.kicked.typeMismatch = Deze server is niet verenigbaar met jouw bouwtype. server.kicked.playerLimit = Deze server is vol. Wacht voor een vrije plek. server.kicked.recentKick = Je bent reeds verwijderd.\nWacht voordat je opnieuw verbindt. server.kicked.nameInUse = Er is al iemand met die naam\nop deze server. @@ -171,48 +232,66 @@ server.kicked.customClient = Deze server ondersteunt geen aangepaste spellen . D server.kicked.gameover = Spel afgelopen server.kicked.serverRestarting = De server is aan het herstarten. server.versions = Jouw versie:[accent] {0}[]\nServer versie:[accent] {1}[] -host.info = De [accent]host[] knop hosts `een server op port [scarlet]6567[]. \nIedereen op hetzelfde [lightgray]wifi or locaal netwerk[] zou jouw server in hun serverlijst moeten zien.\n\nAls je wilt dan vrienden vanaf overal kunnen meedoen via IP, [accent]port forwarding[] is nodig.\n\n[lightgray]Note: IAls iemand moeilijkheden heeft met het meedoen aan jouw spel, kijk of je Mindustry in je firewall instellingen toegang hebt gegeven tot jouw locaal netwerk. -join.info = Hier kan je een [accent]server IP[] invoeren om te verbinden, of om[accent]locale netwerken[] te vinden.\nBeide LAN en WAN multiplayer is ondersteund.\n\n[lightgray]Note: Er is geen automatische globale serverlijst; Als je met iemands IP wil verbinden, Zou je moeten vragen om hun IP. -hostserver = Host Game +host.info = De [accent]host[] knop host een server op port [scarlet]6567[]. \nIedereen op dezelfde [lightgray]wifi of locaal netwerk[] zou jouw server in hun serverlijst moeten zien.\n\nAls je wilt dat vrienden vanaf overal kunnen meedoen via IP, dan is [accent]port forwarding[] vereist.\n\n[lightgray]Let op: Als iemand moeilijkheden heeft met het meedoen aan jouw spel, kijk of je Mindustry in je firewall instellingen toegang hebt gegeven tot jouw locaal netwerk. +join.info = Hier kan je een [accent]server IP[] invoeren om met een server te verbinden, of om[accent]locale netwerken[] te vinden.\nZowel LAN als WAN multiplayer is ondersteund.\n\n[lightgray]Let op: Er is geen automatische globale serverlijst; Als je met iemands IP wil verbinden, zou je moeten vragen om hun IP. +hostserver = Host Spel invitefriends = Nodig vrienden uit -hostserver.mobile = Host\nGame +hostserver.mobile = Host\nSpel host = Host hosting = [accent]Server openen... hosts.refresh = Herlaad -hosts.discovering = LAN games aan het zoeken -hosts.discovering.any = games aan het zoeken +hosts.discovering = LAN spellen aan het zoeken +hosts.discovering.any = spellen aan het zoeken server.refreshing = Herlaad server -hosts.none = [lightgray]Geen lokale games gevonden! +hosts.none = [lightgray]Geen lokale spellen gevonden! host.invalid = [scarlet]Kan niet verbinden met server. -servers.local = Local Servers -servers.remote = Remote Servers +servers.local = Lokale Servers +servers.local.steam = Open Spellen & Lokale Servers +servers.remote = Externe servers servers.global = Community Servers +servers.disclaimer = Community servers zijn [accent]niet[] in bezit of worden controlleerd door de ontwikkelaar.\n\nServers kunnen door gebruikers gegenereerde inhoud bevatten die niet geschikt is voor alle leeftijden. +servers.showhidden = Toon Verborgen Servers +server.shown = Weergegeven +server.hidden = Verborgen + +viewplayer = Viewing Player: [accent]{0} trace = Traceer Speler trace.playername = Speler naam: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unieke ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobiel apparaat: [accent]{0} -trace.modclient = Unofficieël: [accent]{0} +trace.modclient = Unofficie�l: [accent]{0} +trace.times.joined = Keren Aangesloten: [accent]{0} +trace.times.kicked = Keren uit het spel gezet: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Ongeldige speler ID! Raporteer deze bug. -server.bans = Bans +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team +server.bans = Verbannen server.bans.none = Geen gedegradeerde spelers gevonden! -server.admins = Admins -server.admins.none = Geen admins gevonden! -server.add = Voeg server to -server.delete = Weet je zeker dat je deze server wilt weggooien? +server.admins = Administrateurs +server.admins.none = Geen administrateurs gevonden! +server.add = Voeg server toe +server.delete = Weet je zeker dat je deze server wilt wegdoen? server.edit = Bewerk server server.outdated = [crimson]Server draait op een oudere versie![] -server.outdated.client = [crimson]Server draait en nieuwere versie![] +server.outdated.client = [crimson]Server draait op een nieuwere versie![] server.version = [lightgray]Versie: {0} {1} -server.custombuild = [accent]Custom Build +server.custombuild = [accent]Aangespaste Bouw confirmban = Weet je zeker dat je deze speler wilt verbannen? -confirmkick = Weet je zeker dat je deze speler wilt verwijderen? -confirmvotekick = Weet je zeker dat je deze speler weg wilt stemmen? -confirmunban = Weet je zeker dat je deze speler weer wil toelaten? -confirmadmin = Weet je zeker dat je deze speler admin wil geven? -confirmunadmin = Weet je zeker dat je de admin status van deze speler wilt intrekken? +confirmkick = Weet je zeker dat je deze speler uit het spel wilt zetten? +confirmunban = Weet je zeker dat je deze speler weer wilt toelaten? +confirmadmin = Weet je zeker dat je deze speler administrateur wilt geven? +confirmunadmin = Weet je zeker dat je de administrateurs status van deze speler wilt intrekken? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Treed toe joingame.ip = Adres: disconnect = Gesloten. @@ -220,15 +299,18 @@ disconnect.error = Verbindingsfout. disconnect.closed = Verbinding gestopt. disconnect.timeout = Verbinding afgekapt. disconnect.data = Kon de wereld niet laden! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Geen verbinding mogelijk ([accent]{0}[]). connecting = [accent]Aan het verbinden... +reconnecting = [accent]Aan het herverbinden... connecting.data = [accent]Wereld aan het laden... server.port = Poort: -server.addressinuse = Adres is al in gebruik! server.invalidport = Poort is geen geldig getal! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Fout met hosten: [accent]{0} save.new = Nieuwe Save save.overwrite = Weet je zeker dat je deze\nsave wilt overschrijven? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Overschrijf save.none = Geen saves gevonden! savefail = Bewaren is mislukt! @@ -245,10 +327,11 @@ save.rename.text = Nieuwe naam: selectslot = Selecteer een save. slot = [accent]Gleuf {0} editmessage = Bewerk bericht -save.corrupted = [accent]Save bestand misvormd of ongeldig!\nAls je net je game hebt geupdatet, is dit waarschijnlijk een verandering in hoe saves werken, dit is[scarlet]geen[] bug. +save.corrupted = [accent]Save misvormd of ongeldig!\nAls je net je game hebt geupdatet, is dit waarschijnlijk een verandering in hoe saves werken, dit is[scarlet]geen[] bug. empty = on = Aan off = Uit +save.search = Zoek opgeslagen spellen... save.autosave = Autosave: {0} save.map = Kaart: {0} save.wave = Ronde {0} @@ -264,35 +347,64 @@ ok = Oke open = Open customize = Aanpassen cancel = Annuleer +command = Commando +command.queue = [lightgray][Queuing] +command.mine = Mijn +command.repair = Repareer +command.rebuild = Herbouw +command.assist = Assist Speler +command.move = Beweeg +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Open Link copylink = Kopieer Link back = Terug +max = Max +objective = Map Doel +crash.export = Exporteer Crash Logs +crash.none = Geen crash logs gevonden. +crash.exported = Crash logs geexporteerd. data.export = Exporteer Data data.import = Importeer Data data.openfolder = Open Data Folder -data.exported = Data Geëxporteerd. +data.exported = Data Ge�xporteerd. data.invalid = Dit is geen geldige game data. data.import.confirm = Importeren van data verwijderd[scarlet] alle[] huidige data.\n[accent]Dit kan niet ongedaan worden gemaakt![]\n\nWanneer de data is geimport herstart de game automatisch. quit.confirm = Weet je zeker dat je wilt stoppen? -quit.confirm.tutorial = Weet je zeker dat je weet wat je doet?\nJe kan de tutorial opnieuw beginnen via[accent] Instellingen->Game->Herstart Tutorial.[] loading = [accent]Laden... -reloading = [accent]Mods herladen... +downloading = [accent]Downloaden... saving = [accent]Opslaan... -respawn = [accent][[{0}][] to respawn in core +respawn = [accent][[{0}][] om te respawnen in de core cancelbuilding = [accent][[{0}][] om blauwdruk te verwijderen -selectschematic = [accent][[{0}][] om te selecteren + kopiëren +selectschematic = [accent][[{0}][] om te selecteren + kopi�ren pausebuilding = [accent][[{0}][] om bouwen te pauzeren resumebuilding = [scarlet][[{0}][] om bouwen te hervatten +enablebuilding = [scarlet][[{0}][] om bouwen in te schakelen +showui = UI verborgen.\nDruk op [accent][[{0}][] om UI te laten zien. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Ronde {0} -wave.cap = [accent]Wave {0}/{1} +wave.cap = [accent]Golf {0}/{1} wave.waiting = [lightgray]Volgende ronde over {0} wave.waveInProgress = [lightgray]Ronde bezig waiting = [lightgray]Wachten... waiting.players = Wachten op spelers... wave.enemies = [lightgray]{0} Vijanden resterend +wave.enemycores = [accent]{0}[lightgray] Vijandelijke Cores +wave.enemycore = [accent]{0}[lightgray] Vijandelijke Core wave.enemy = [lightgray]{0} Vijand resterend -wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. -wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. +wave.guardianwarn = Bewaker nadert in [accent]{0}[] golven. +wave.guardianwarn.one = Bewaker nadert in [accent]{0}[] golf. loadimage = Laad afbeelding saveimage = Bewaar afbeelding unknown = Onbekend @@ -300,9 +412,9 @@ custom = Aangepast builtin = Ingebouwd map.delete.confirm = Weet je zeker dat je deze map wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt! map.random = [accent]Willekeurige map -map.nospawn = Deze map heeft geen cores voor de spelers om in te spawnen! Voeg een[royal] blauwe[] core toe aan de map via de editor. -map.nospawn.pvp = Deze map heeft geen cores voor je vijanden om in te spawnen! Voeg een[scarlet] rode[] core to aan de map via de editor. -map.nospawn.attack = Deze map bevat geen vijandige cores om aan te vallen! Voeg een[scarlet] rode[] core toe aan de map via de editor. +map.nospawn = Deze map heeft geen cores voor de spelers om in te spawnen! Voeg een {0} core toe aan de map via de editor. +map.nospawn.pvp = Deze map heeft geen cores voor je vijanden om in te spawnen! Voeg een [scarlet]rode[] core to aan de map via de editor. +map.nospawn.attack = Deze map bevat geen vijandige cores om aan te vallen! Voeg een {0} core toe aan de map via de editor. map.invalid = Fout tijdens laden van map: Ongeldig map bestand. workshop.update = Bijwerken workshop.error = Fout bij laden workshop info: {0} @@ -310,12 +422,17 @@ map.publish.confirm = Weet je zeker dat je deze map wilt publiceren?\n\n[lightgr workshop.menu = Selecteer wat je hiermee wilt doen. workshop.info = Informatie changelog = Update logboek (optioneel): +updatedesc = Overschrijf Titel & Beschrijving eula = Steam EULA -missing = Dit object is verwijderd of verplaatst.\n[lightgray]De workshop vermelding is nu niet meer gelinkt. +missing = Dit object is verwijderd of verplaatst.\n[lightgray]De lijst met workshops is nu automatisch ontkoppeld. publishing = [accent]Publiceren... publish.confirm = Weet je zeker dat je dit wilt publiceren?\n\n[lightgray]Zorg ervoor dat je de EULA van de workshop leest, anders zal je map niet zichtbaar zijn! publish.error = Fout met het publiceren: {0} steam.error = Fout met het opstarten van steam diensten.\nError: {0} +editor.planet = Planeet: +editor.sector = Sector: +editor.seed = Zaad: +editor.cliffs = Muren naar kliffen editor.brush = Kwast editor.openin = Bewerk in editor @@ -328,73 +445,115 @@ editor.nodescription = De kaart moet een beschrijving van minimaal 4 tekens hebb editor.waves = Rondes: editor.rules = Regels: editor.generation = Generatie: -editor.ingame = Bewerk In-Game +editor.objectives = Doelen +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. +editor.ingame = Bewerk In-Spel +editor.playtest = Speeltest editor.publish.workshop = Publiceer in Werkplaats editor.newmap = Nieuwe Kaart -editor.center = Center +editor.center = Centraaliseer +editor.search = Zoek kaarten... +editor.filters = Filter Kaarten +editor.filters.mode = Spelmodi: +editor.filters.type = Kaart Type: +editor.filters.search = Zoek In: +editor.filters.author = Auteur +editor.filters.description = Beschrijving +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Werkplaats waves.title = Rondes waves.remove = Verwijder -waves.never = waves.every = elke waves.waves = ronde(s) +waves.health = levenspunten: {0}% waves.perspawn = per keer -waves.shields = shields/wave +waves.shields = schilden/golven waves.to = tot -waves.guardian = Guardian +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]geen spawns gevonden in kaart +waves.max = maximale eenheden +waves.guardian = Bewaker waves.preview = Voorvertoning waves.edit = Bewerk... -waves.copy = Kopiër naar klembord +waves.random = Random +waves.copy = Kopieer naar klembord waves.load = Laad van klembord -waves.invalid = Ongeldige rondes in klenbord. -waves.copied = Rondes Gekopiëerd. -waves.none = Geen vijanden ingesteld.\nLege rondes worden automatisch gevuld met de standaard waardes. +waves.invalid = Ongeldige rondes in klembord. +waves.copied = Rondes Gekopi�erd. +waves.none = Geen vijanden ingesteld.\nLege ronden worden automatisch gevuld met de standaard waarden. +waves.sort = Sorteer Op +waves.sort.reverse = Omgekeerd Sorteren +waves.sort.begin = Begin +waves.sort.health = Levenspunten +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Verberg Alle +waves.units.show = Toon Alle -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health +wavemode.counts = telt +wavemode.totals = totalen +wavemode.health = levenspunten +all = All editor.default = [lightgray] details = Details... edit = Bewerk... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Naam: -editor.spawn = Voeg Unit toe -editor.removeunit = Verwijder Unit +editor.spawn = Voeg Eenheid toe +editor.removeunit = Verwijder Eenheid editor.teams = Teams editor.errorload = Fout bij laden van bestand:\n[accent]{0} editor.errorsave = Fout van bewaren van bestand:\n[accent]{0} editor.errorimage = Dat is een afbeelding, geen kaart. Laat de extenties met rust.\n\nAls je een oude kaart wilt importeren gebruik je de knop die hiervoor bedoeld is in de editor. editor.errorlegacy = Deze kaart is te oud, bestandsformaat word niet meer ondersteund. -editor.errornot = Dat is geen kaart bestand. -editor.errorheader = Dit map bestand is niet geldig of heeft en fout. +editor.errornot = Dat is geen kaartbestand. +editor.errorheader = Dit kaartbestand is ongeldig of corrupt. editor.errorname = Kaart heeft geen naam. +editor.errorlocales = Error reading invalid locale bundles. editor.update = Bijwerken editor.randomize = Willekeurig +editor.moveup = Beweeg Omhoog +editor.movedown = Beweeg Omlaag +editor.copy = Kopieer editor.apply = Gebruiken editor.generate = Genereer +editor.sectorgenerate = Sector Genereren editor.resize = Verander formaat editor.loadmap = Laad Kaart editor.savemap = Bewaar Kaart +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Bewaard! -editor.save.noname = je kaart heeft geen naam! Stel er een in via de kaart instellingen. +editor.save.noname = Je kaart heeft geen naam! Stel er ��n in het menu 'kaartinfo'. editor.save.overwrite = De naam van deze kaart is al in gebruik door een van het spel zelf, kies een andere. editor.import.exists = [scarlet]Importeren mislukt:[] een ingebouwde kaart met de naam '{0}' bestaat al! editor.import = Importeer... editor.importmap = Importeer kaart -editor.importmap.description = Importeer een al bestande kaart +editor.importmap.description = Importeer een al bestaande kaart editor.importfile = Importeer Bestand -editor.importfile.description = Importer een extern kaart bestand -editor.importimage = Importeer Klassieke Afbeelding +editor.importfile.description = Een extern kaartbestand importeren +editor.importimage = Afbeeldingsbestand Importeren editor.importimage.description = Importeer een oude afbeelding editor.export = Exporteer... editor.exportfile = Exporteer Bestand -editor.exportfile.description = Exporteer een kaart bestand +editor.exportfile.description = Exporteer een kaartbestand editor.exportimage = Exporteer Thumbnail editor.exportimage.description = Exporteer kaart thumbnail -editor.loadimage = Importeer Terein -editor.saveimage = Exporteer Terein -editor.unsaved = [scarlet]Je hebt onopgeslagen wijzigingen![]\nWeet je zeker dat je eruit wilt? -editor.resizemap = Verander kaart Formaat +editor.loadimage = Importeer Terrein +editor.saveimage = Exporteer Terrein +editor.unsaved = [scarlet]Weet u zeker dat u wilt afsluiten?[]\nAlle niet opgeslagen veranderingen zullen verloren gaan. +editor.resizemap = Kaart vergroten of verkleinen editor.mapname = Kaart Naam: editor.overwrite = [accent]Waarschuwing!\nDit overschrijft een bestaande kaart. editor.overwrite.confirm = [scarlet]Waarschuwing![] Een kaart met deze naam bestaat al. Weet je zeker dat je deze wilt overschrijven? @@ -412,46 +571,75 @@ toolmode.square.description = Vierkante kwast. toolmode.eraseores = Verwijder grondstoffen toolmode.eraseores.description = Verwijderd enkel grondstoffen. toolmode.fillteams = Vervang Teams -toolmode.fillteams.description = Vervangt teams in plaats van blokken. +toolmode.fillteams.description = Vervang teams in plaats van blokken. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Teken Teams toolmode.drawteams.description = Tekent teams in plaats van blokken. +toolmode.underliquid = Onder vloeistoffen +toolmode.underliquid.description = Teken vloeren onder vloeistoffen tegels. + +filters.empty = [lightgray]Geen filters! Voeg er ��n toe met de onderstaande knop. -filters.empty = [lightgray]Geen filters! Voeg een toe met onderstaande knop. filter.distort = Verdraai -filter.noise = Geluid -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select +filter.noise = Ruis +filter.enemyspawn = Vijandelijke Spawn Selecteren +filter.spawnpath = Pad Naar Spawn +filter.corespawn = Core Selecteren filter.median = Mediaan filter.oremedian = Ertsmediaan filter.blend = Meng filter.defaultores = Standaard Grondstoffen filter.ore = Grondstof -filter.rivernoise = Rivier Geluid +filter.rivernoise = Rivier Ruis filter.mirror = Spiegel filter.clear = Verwijder filter.option.ignore = Negeer filter.scatter = Verstrooi -filter.terrain = Terein +filter.terrain = Terrein +filter.logic = Logic + filter.option.scale = Schaal filter.option.chance = Verander filter.option.mag = Omvang filter.option.threshold = Drempel -filter.option.circle-scale = Formaat Rondje +filter.option.circle-scale = Formaat Circkel filter.option.octaves = Octaven -filter.option.falloff = Afval +filter.option.falloff = Falloff filter.option.angle = Hoek -filter.option.amount = Amount +filter.option.tilt = Kanteling +filter.option.rotate = Draai +filter.option.amount = Hoeveelheid filter.option.block = Blok filter.option.floor = Vloer -filter.option.flooronto = Doel Vloer -filter.option.target = Target +filter.option.flooronto = Doelvloer +filter.option.target = Doel +filter.option.replacement = Vervanging filter.option.wall = Muur filter.option.ore = Grondstof -filter.option.floor2 = Secundaire vloer +filter.option.floor2 = Secundaire Vloer filter.option.threshold2 = Secundaire Drempel filter.option.radius = Straal -filter.option.percentile = Percentage +filter.option.percentile = percentiel +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Breedte: height = Hoogte: @@ -462,7 +650,10 @@ load = Laad save = Bewaar fps = FPS: {0} ping = Ping: {0}ms -language.restart = Herstart het spel om de gewijzigde taal te laden. +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = Start je spel opnieuw op om de taalinstellingen in werking te laten treden. settings = Instellingen tutorial = Tutorial tutorial.retake = Herstart Tutorial @@ -475,58 +666,147 @@ locked = Op slot complete = [lightgray]Voltooid: requirement.wave = Bereik ronde {0} in {1} requirement.core = Vernietig vijandige core in {0} -requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Beste ronde: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. -uncover = Ontdek +requirement.research = Onderzoek {0} +requirement.produce = Produceer {0} +requirement.capture = Verover {0} +requirement.onplanet = Controlesector Op {0} +requirement.onsector = Land Op Sector: {0} +launch.text = Lanceer +map.multiplayer = Alleen de host kan sectoren bekijken. +uncover = Ontmasker configure = Configureer startinventaris -loadout = Loadout -resources = Resources + +objective.research.name = Onderzoek +objective.produce.name = Verkrijg +objective.item.name = Verkrijg Item +objective.coreitem.name = Core Item +objective.buildcount.name = Aantal Gebouwen +objective.unitcount.name = Aantal Eenheden +objective.destroyunits.name = Vernietig Eenheden +objective.timer.name = Timer +objective.destroyblock.name = Vernietig Blok +objective.destroyblocks.name = Vernietig Blokken +objective.destroycore.name = Vernietig Core +objective.commandmode.name = Commando Modus +objective.flag.name = Vlag +marker.shapetext.name = Vorm Tekst +marker.point.name = Point +marker.shape.name = Vorm +marker.text.name = Tekst +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Achtergrond +marker.outline = Omtrek +objective.research = [accent]Onderzoek:\n[]{0}[lightgray]{1} +objective.produce = [accent]Verkrijg:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Vernietig:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Vernietig: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Verkrijg: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Verplaats In Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Bouw: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Bouw Eenheid: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Vernietig: [][lightgray]{0}[]x Eenheden +objective.enemiesapproaching = [accent]Vijanden naderen in [lightgray]{0}[] +objective.enemyescelating = [accent]Vijandelijke productie stijgt in [lightgray]{0}[] +objective.enemyairunits = [accent]De productie van vijandelijke luchtmachteenheden begint in [lightgray]{0}[] +objective.destroycore = [accent]Vernietig Vijandelijke Core +objective.command = [accent]Commandeer Eenheden +objective.nuclearlaunch = [accent]? Nucleaire lancering gedetecteerd: [lightgray]{0} +announce.nuclearstrike = [red]? NUCLEAIRE AANVAL IN AANTOCHT ? +loadout = Uitrusting +resources = Materialen +resources.max = Max bannedblocks = Verboden Blokken +unbannedblocks = Unbanned Blocks +objectives = Doelen +bannedunits = Verboden eenheden +unbannedunits = Unbanned Units +bannedunits.whitelist = Verboden eenheden als whitelist +bannedblocks.whitelist = Verboden blokken als whitelist addall = Voeg Alles Toe -launch.destination = Destination: {0} +launch.from = Lanceren van: [accent]{0} +launch.capacity = Lanceercapaciteit: [accent]{0} +launch.destination = Bestemming: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Hoeveelheid moet een getal zijn tussen 0 en {0}. -zone.unlocked = [lightgray]{0} vrijgespeeld. -zone.requirement.complete = Ronde {0} bereikt:\n{1} zone vrijgespeeld. -zone.resources = Vindbare grondstoffen: -zone.objective = [lightgray]Doel: [accent]{0} -zone.objective.survival = Overleef -zone.objective.attack = Vernietig vijandige core add = Voeg toe... -boss.health = Levens Boss +guardian = Bewaker connectfail = [crimson]Kon niet verbinden met server:\n\n[accent]{0} error.unreachable = Server onbereikbaar.\nHeb je het adres goed gespeld? error.invalidaddress = Ongeldig adres. -error.timedout = Verbindingspoging duurde te lang!\nDubbelcheck dat je host is geportforward, en dat je het ip wel goed hebt ingetikt! -error.mismatch = Pakket fout:\nmogelijk is er een versie verschil tussen jou en de server.\nZorg ervoor dat beiden op de meest recente versie van Mindustry zitten! +error.timedout = Verbindingspoging duurde te lang!\nDubbelcheck dat je host is geportforward, en of je het IP wel goed hebt ingetikt! +error.mismatch = Pakket fout:\nmogelijk verschilt de versie van jou en de server.\nZorg ervoor dat jullie beiden op de meest recente versie van Mindustry zitten! error.alreadyconnected = Al verbonden. -error.mapnotfound = Kaart bestand niet gevonden! +error.mapnotfound = Kaartbestand niet gevonden! error.io = Netwerk I/O fout. error.any = Onbekende netwerk fout. error.bloom = Bloom aanzetten mislukt.\nJe apparaat ondersteunt het waarschijnlijk niet. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = Rain -weather.snow.name = Snow -weather.sandstorm.name = Sandstorm -weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.rain.name = Regen +weather.snowing.name = Sneeuw +weather.sandstorm.name = Zandstorm +weather.sporestorm.name = Schimmelstorm +weather.fog.name = Mist +campaign.playtime = \uf129 [lightgray]Sector Speeltijd: {0} +campaign.complete = [accent]Gefeliciteerd.\n\nDe vijand op {0} is verslagen.\n[lightgray]De laatste sector is veroverd. +sectorlist = Sectoren +sectorlist.attacked = {0} onder vuur -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +sectors.unexplored = [lightgray]Onverkend +sectors.resources = Grondstoffen: +sectors.production = Productie: +sectors.export = Export: +sectors.import = Import: +sectors.time = Tijd: +sectors.threat = Dreiging: +sectors.wave = Golf: +sectors.stored = Opgeslagen: +sectors.resume = Doorgaan +sectors.launch = Lanceer +sectors.select = Selecteer +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]geen (sun) +sectors.redirect = Redirect Launch Pads +sectors.rename = Hernoem Sector +sectors.enemybase = [scarlet]Vijandelijke Basis +sectors.vulnerable = [scarlet]Kwetsbaar +sectors.underattack = [scarlet]Onder vuur! [accent]{0}% beschadigd +sectors.underattack.nodamage = [scarlet]Onoverwonnen +sectors.survives = [accent]Overleeft {0} waves +sectors.go = Ga +sector.abandon = Verlaat +sector.abandon.confirm = De core(s) van deze sector zal(zullen) zichzelf vernietigen. Doorgaan? +sector.curcapture = Sector Veroverd +sector.curlost = Sector Verloren +sector.missingresources = [scarlet]Onvoeldoende Materialen in Core +sector.attacked = Sector [accent]{0}[white] onder vuur! +sector.lost = Sector [accent]{0}[white] verloren! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Verander icoon +sector.noswitch.title = Kan niet van sector wisselen +sector.noswitch = Je mag niet van sector wisselen terwijl een bestaande sector wordt aangevallen.\n\nSector: [accent]{0}[] op [accent]{1}[] +sector.view = Bekijk Sector +threat.low = Laag +threat.medium = Gemiddeld +threat.high = Hoog +threat.extreme = Extreem +threat.eradication = Uitroeiing +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planeten planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Zon +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -539,21 +819,107 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetery Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = De optimale locatie om nog een keer te beginnen. Lage vijandelijke dreiging. Enkele grondstoffen.\nVerzamel zoveel mogelijk lood en koper.\nGa door. +sector.frozenForest.description = Zelfs hier, dichter bij de bergen, hebben de schimmels zich verspreid. De koude temperaturen kunnen ze niet eeuwig tegenhouden.\n\nBegin de onderneming in energie. Bouw verbrandingsgeneratoren. Leer herstellers te gebruiken. +sector.saltFlats.description = Aan de rand van de woestijn liggen de Zoutvlaktes. Weinig grondstoffen zijn te vinden op deze locatie.\n\nDe vijand heeft hier een opslagplaats voor grondstoffen gebouwd. Roei hun core uit. Laat niets overeind staan. +sector.craters.description = Water heeft zich opgehoopt in deze krater, restant van de oude oorlogen. Herwin het gebied. Verzamel zand. Smelt glasvezel. Pomp water om geschuttorens en boormachines te koelen. +sector.ruinousShores.description = Voorbij het puin is de kustlijn. Ooit stond hier een kustbeschermingsinstallatie. Er is niet veel van overgebleven. Alleen de meest eenvoudige verdedigingswerken zijn onbeschadigd gebleven, al het andere tot schroot gereduceerd.\nGa door met de uitbreiding naar buiten. Herontdek de technologie. +sector.stainedMountains.description = Verder landinwaarts liggen de bergen, nog niet aangetast door schimmels.\nWin het overvloedige titanium in dit gebied. Leer het te gebruiken.\n\nDe vijandelijke aanwezigheid is hier groter. Geef ze geen tijd om hun sterkste eenheden te sturen. +sector.overgrowth.description = Dit gebied is overgroeid, dichter bij de bron van de schimmels.\nDe vijand heeft hier een voorpost gevestigd. Bouw mace-eenheden. Vernietig het. Herover wat verloren was gegaan. +sector.tarFields.description = De rand van een olieproductiezone, tussen de bergen en de woestijn. Een van de weinige gebieden met bruikbare teerreserves.\nHoewel verlaten, heeft dit gebied enkele gevaarlijke vijandelijke troepen in de buurt. Onderschat ze niet.\n\n[lightgray]Onderzoek olieverwerkingstechnologie indien mogelijk. +sector.desolateRift.description = Een extreem gevaarlijke zone. Veel grondstoffen, maar weinig ruimte. Hoog risico op vernietiging. Vertrek zo snel mogelijk. Laat je niet misleiden door de grote intervallen tussen vijandelijke aanvallen. +sector.nuclearComplex.description = Een voormalige faciliteit voor de productie en verwerking van thorium, gereduceerd tot ru�nes.\n[lightgray]Onderzoek het thorium en zijn vele toepassingen.\n\nDe vijand is hier in grote getallen aanwezig en zoekt voortdurend naar aanvallers. +sector.fungalPass.description = Een overgangsgebied tussen hoge bergen en lagere, met schimmels bezaaide gronden. Een kleine vijandelijke verkenningsbasis bevindt zich hier.\nVernietig het.\nGebruik Dolk en Kruiper eenheden. Schakel de twee cores uit. +sector.biomassFacility.description = De oorsprong van de schimmels. Dit is de faciliteit waar ze werden onderzocht en aanvankelijk geproduceerd.\nOnderzoek de technologie die erin zit. Kweek schimmels voor de productie van brandstof en plastic.\n\n[lightgray]Bij de ondergang van deze faciliteit werden de schimmels vrijgelaten. Niets in het lokale ecosysteem kon het opnemen tegen zo'n invasief organisme. +sector.windsweptIslands.description = Verderop langs de kustlijn ligt deze afgelegen keten van eilanden. Uit gegevens blijkt dat ze ooit [accent]Plastanium[]-producerende gebouwen hadden.\n\nScherm de marine-eenheden van de vijand af. Vestig een basis op de eilanden. Onderzoek deze fabrieken. +sector.extractionOutpost.description = Een afgelegen voorpost, gebouwd door de vijand om grondstoffen naar andere sectoren te lanceren.\n\nCross-sector transport technologie is essentieel voor verdere verovering. Vernietig de basis. Onderzoek hun lanceerplatforms. +sector.impact0078.description = Hier liggen overblijfselen van het interstellaire transportschip dat dit stelsel als eerste binnenkwam.\n\nHaal zoveel mogelijk uit het wrak. Onderzoek elk stuk nog intacte technologie. +sector.planetaryTerminal.description = Het einddoel.\n\nDeze kustbasis bevat een structuur die Cores kan lanceren naar lokale planeten. Het wordt extreem goed bewaakt.\n\nProduceer marine eenheden. Schakel de vijand zo snel mogelijk uit. Onderzoek de lanceerstructuur. +sector.coastline.description = Op deze locatie zijn resten van marinetechnologie gedetecteerd. Sla de vijandelijke aanvallen af, verover deze sector en verkrijg de technologie. +sector.navalFortress.description = De vijand heeft een basis gevestigd op een afgelegen, natuurlijk versterkt eiland. Vernietig deze voorpost. Verkrijg hun geavanceerde marinetechnologie en onderzoek die. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Begin de verovering van Erekir. Verzamel grondstoffen, produceer eenheden, en begin onderzoek naar technologie. +sector.aegis.description = Deze sector bevat afzettingen van wolfraam.\nOnderzoek de [accent]Klopboormachine[] om deze bron te mijnen en vernietig de vijandelijke basis in het gebied. +sector.lake.description = Het lava meer in deze sector beperkt de levensvatbare eenheden enorm. Een zwevende eenheid is de enige optie.\nOnderzoek de [accent]scheepsbouwerij[] en produceer zo snel mogelijk een [accent]elude[] eenheid. +sector.intersect.description = Scans geven aan dat deze sector snel na de landing van meerdere kanten zal worden aangevallen.\nZet snel verdedigingen op en breid zo snel mogelijk uit.\n[accent]Mech[] eenheden zullen nodig zijn voor het ruwe terrein. +sector.atlas.description = Deze sector bevat gevarieerd terrein en vereist een variatie aan eenheden om effectief aan te vallen.\nOpgewaardeerde eenheden kunnen ook van belang zijn om voorbij sommige van de moeilijkere gedetecteerde vijandelijke basissen te komen.\nOnderzoek de [accent]Elektrolyseur[] en de [accent]Tank Reconstructeur[]. +sector.split.description = De minimale vijandelijke aanwezigheid in deze sector maakt het perfect voor het testen van nieuwe transporttechnologie. +sector.basin.description = Grote vijandelijke aanwezigheid ontdekt in deze sector.\nProduceer snel eenheden en verover vijandelijke Cores om voet aan de grond te krijgen. +sector.marsh.description = Deze sector heeft een overvloed aan arkyciet, maar heeft beperkte openingen.\nBouw [accent]Chemische Verbrandingskamers[] om energie op te wekken. +sector.peaks.description = Het bergachtige terrein in deze sector maakt de meeste eenheden nutteloos. Vliegende eenheden zullen nodig zijn.\nLet op vijandelijke luchtafweerinstallaties. Het kan mogelijk zijn sommige van deze installaties uit te schakelen door op hun ondersteunende gebouwen te richten. +sector.ravine.description = Geen vijandelijke Cores ontdekt in de sector, hoewel het een belangrijke transportroute is voor de vijand. Verwacht een gevarieerd aantal vijandelijke troepen.\nProduceer [accent]golflegering[]. Construeer [accent]Afflict[] turrets. +sector.caldera-erekir.description = De in deze sector aangetroffen grondstoffen liggen verspreid over verschillende eilanden.\nOnderzoek en implementeer drone-gebasseerd veroer. +sector.stronghold.description = Het grote vijandelijke kampement in deze sector bewaakt aanzienlijke afzettingen van [accent]torium[].\nGebruik het om geavanceerdere eenheden en geschutstorens te ontwikkelen. +sector.crevice.description = De vijand zal felle aanvalstroepen sturen om je basis in deze sector uit te schakelen.\nOntwikkeling van [accent]carbid[] en de [accent]Pyrolysegenerator[] kan noodzakelijk zijn om te overleven. +sector.siege.description = Deze sector heeft twee parallelle ravijnen die een tweeledige aanval zullen forceren.\nOnderzoek [accent]cyanogeen[] om de mogelijkheid te krijgen om nog sterkere tankeenheden te cre�ren.\nAttentie: vijandelijke langeafstandsraketten zijn gedetecteerd. De raketten kunnen worden neergeschoten voordat ze inslaan. +sector.crossroads.description = De vijandelijke basissen in deze sector zijn gevestigd in verschillend terrein. Onderzoek verschillende eenheden om aan te passen.\nBovendien worden sommige basissen beschermd door schilden. Zoek uit hoe ze worden aangedreven. +sector.karst.description = Deze sector is rijk aan grondstoffen, maar zal door de vijand worden aangevallen zodra een nieuwe Core aan land komt.Profiteer van de grondstoffen en onderzoek [accent]fasestof[]. +sector.origin.description = De laatste sector met een aanzienlijke vijandelijke aanwezigheid.\nEr blijven geen waarschijnlijke onderzoeksmogelijkheden over - richt je alleen op het vernietigen van alle vijandelijke Cores. +status.burning.name = Aan het branden +status.freezing.name = Aan het vriezen +status.wet.name = Nat +status.muddy.name = Modderig +status.melting.name = Smelten +status.sapped.name = Ondermijnd +status.electrified.name = Ge�lektrificeerd +status.spore-slowed.name = Door Schimmel Vertraagd +status.tarred.name = Geteerd +status.overdrive.name = Overdrive +status.overclock.name = Overklok +status.shocked.name = Geschokt +status.blasted.name = Gestraald +status.unmoving.name = Onbeweeglijk +status.boss.name = Bewaker settings.language = Taal -settings.data = Game Data +settings.data = Spelgegevens settings.reset = Terug naar standaardinstellingen settings.rebind = Verander settings.resetKey = Reset @@ -561,33 +927,38 @@ settings.controls = Bediening settings.game = Spel settings.sound = Geluid settings.graphics = Grafisch -settings.cleardata = Wis Game Data... -settings.clear.confirm = Weet je zeker dat je deze data wilt verwijderen?\nDit is niet terug te draaien! -settings.clearall.confirm = [scarlet]WAARSCHUWING![]\nDit verwijderd alle data, inclusief saves, kaarten, technologie en bedienings-instellingen.\nAls je op doorgaat wist het spel al je data en stopt automatisch. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.cleardata = Wis Spelgegevens... +settings.clear.confirm = Weet je zeker dat je deze gegevens wilt verwijderen?\nDit is niet terug te draaien! +settings.clearall.confirm = [scarlet]WAARSCHUWING![]\nDit verwijderd alle gegevens, inclusief saves, kaarten, technologie en bedienings-instellingen.\nAls je op doorgaat wist het spel al je gegevens en stopt automatisch. +settings.clearsaves.confirm = Weet je zeker dat je al je saves wilt verwijderen? +settings.clearsaves = Wis Saves +settings.clearresearch = Wis Onderzoek +settings.clearresearch.confirm = Weet je zeker dat je al je onderzoek wilt verwijderen? +settings.clearcampaignsaves = Wis Veldtocht Saves +settings.clearcampaignsaves.confirm = Weet je zeker dat je al je veldtocht saves wilt verwijderen? paused = [accent]< Gepauzeerd > clear = Wis banned = [scarlet]Verbannen -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Niet-ondersteunde Omgeving yes = Ja no = Nee info.title = Informatie error.title = [crimson]Een fout is opgetreden error.crashtitle = Een fout is opgetreden -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} +unit.nobuild = [scarlet]Eenheid kan niet worden gebouwd +lastaccessed = [lightgray]Laatste Toegang: {0} +lastcommanded = [lightgray]Laatst Gecommandeerd: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Doel -stat.input = Input -stat.output = Output +stat.input = Invoer +stat.output = Uitvoer +stat.maxefficiency = Max effici�ntie stat.booster = Booster -stat.tiles = Required Tiles -stat.affinities = Affinities +stat.tiles = Benodigde Tegels +stat.affinities = Affiniteiten +stat.opposites = Tegenstellingen stat.powercapacity = Stroomcapaciteit stat.powershot = Stroom/Schot stat.damage = Schade @@ -597,212 +968,329 @@ stat.itemsmoved = Beweegingssnelheid stat.launchtime = Tijd tussen lanceringen stat.shootrange = Bereik stat.size = Formaat -stat.displaysize = Display Size +stat.displaysize = Weergavegrootte stat.liquidcapacity = Vloeistofcapaciteit stat.powerrange = Stroombereik -stat.linkrange = Link Range -stat.instructions = Instructions +stat.linkrange = Verbindingsbereik +stat.instructions = Instructies stat.powerconnections = Maximale Hoeveelheid Connecties stat.poweruse = Stroomverbruik stat.powerdamage = Stroom/Schade -stat.itemcapacity = Materiaalcapaciteit -stat.memorycapacity = Memory Capacity +stat.itemcapacity = Itemcapaciteit +stat.memorycapacity = Geheugencapaciteit stat.basepowergeneration = Standaard Stroom Generatie stat.productiontime = Productie Tijd stat.repairtime = Volledige Blok Repareertijd +stat.repairspeed = Repareersnelheid +stat.weapons = Wapens +stat.bullet = Kogel +stat.moduletier = Module Niveau +stat.unittype = Unit Type stat.speedincrease = Snelheidsverhoging stat.range = Bereik stat.drilltier = Valt te delven -stat.drillspeed = Standaard mine snelheid -stat.boosteffect = Boost Effect +stat.drillspeed = Standaard mijn snelheid +stat.boosteffect = Boost-effect stat.maxunits = Maximaal Actieve Units stat.health = Levenspunten +stat.armor = Pantser stat.buildtime = Bouwtijd -stat.maxconsecutive = Max Consecutive +stat.maxconsecutive = Max Opeenvolgend stat.buildcost = Bouwkosten stat.inaccuracy = Onnauwkeurigheid -stat.shots = Shoten +stat.shots = Schoten stat.reload = Schoten/Seconde stat.ammo = Ammunitie -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.shieldhealth = Schild Levenspunten +stat.cooldowntime = Afkoelingsperiode +stat.explosiveness = Explosiviteit +stat.basedeflectchance = Basis Afbuigingskans +stat.lightningchance = Bliksemkans +stat.lightningdamage = Bliksemschade +stat.flammability = Ontvlambaarheid +stat.radioactivity = Radioactiviteit +stat.charge = Lading +stat.heatcapacity = Warmtecapaciteit +stat.viscosity = Viscositeit +stat.temperature = Temperatuur +stat.speed = Snelheid +stat.buildspeed = Bouw Snelheid +stat.minespeed = Delvingssnelheid +stat.minetier = Delvingsniveau +stat.payloadcapacity = Ladingscapaciteit +stat.abilities = Capaciteiten +stat.canboost = Kan Boosten +stat.flying = Vliegende +stat.ammouse = Ammunitie gebruik +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Schade Vermenigvuldiger +stat.healthmultiplier = Levenspunten Vermenigvuldiger +stat.speedmultiplier = Snelheids Vermenigvuldiger +stat.reloadmultiplier = Herlaad vermenigvuldiger +stat.buildspeedmultiplier = Productiesnelheid Vermenigvuldiger +stat.reactive = Reageert +stat.immunities = Immuniteiten +stat.healing = Genezing +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Krachtveld +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Reparatieveld +ability.repairfield.description = Repairs nearby units +ability.statusfield = Statusveld +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fabriek +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Schild Regeneratie Veld +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Beweging Bliksem +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Schild Boog +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regeneratie Onderdrukkingsveld +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energieveld +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time -bar.drilltierreq = Betere miner nodig -bar.noresources = Missing Resources -bar.corereq = Core Base Required -bar.drillspeed = Mining Snelheid: {0}/s +bar.onlycoredeposit = Alleen materialen in de Core toegestaan. + +bar.drilltierreq = Betere boor nodig +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Er ontbreken materialen +bar.corereq = Core Basis Vereist +bar.corefloor = Core Zone Tegel Vereist +bar.cargounitcap = Vracht eenheid limiet bereikt +bar.drillspeed = Delvingssnelheid: {0}/s bar.pumpspeed = Pompsnelheid: {0}/s bar.efficiency = Rendement: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Stroom: {0} bar.powerstored = Opgeslagen: {0}/{1} bar.poweramount = Stroom: {0} -bar.poweroutput = Stroom Output: {0} -bar.powerlines = Connections: {0}/{1} -bar.items = Items: {0} +bar.poweroutput = Stroom uitvoer: {0} +bar.powerlines = Connecties: {0}/{1} +bar.items = Materialen: {0} bar.capacity = Capaciteit: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Vloeistof bar.heat = Warmte +bar.cooldown = Cooldown +bar.instability = Instabiliteit +bar.heatamount = Warmte: {0} +bar.heatpercent = Warmte: {0} ({1}%) bar.power = Stroom bar.progress = Bouw Voortgang -bar.input = Input -bar.output = Output +bar.loadprogress = Voortgang +bar.launchcooldown = Lancering Afkoelingstijd +bar.input = Invoer +bar.output = Uitvoer +bar.strength = [stat]{0}[lightgray]x sterkte -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Processor Gestuurd -bullet.damage = [stat]{0}[lightgray] dmg -bullet.splashdamage = [stat]{0}[lightgray] gebied dmg ~[stat] {1}[lightgray] tiles +bullet.damage = [stat]{0}[lightgray] schade +bullet.splashdamage = [stat]{0}[lightgray] gebied scade ~[stat] {1}[lightgray] tegels bullet.incendiary = [stat]brandstichtend bullet.homing = [stat]doelzoekend -bullet.shock = [stat]schok -bullet.frag = [stat]clusterbom +bullet.armorpierce = [stat]pantserdoorborend +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x fragment kogels: +bullet.lightning = [stat]{0}[lightgray]x bliksem ~ [stat]{1}[lightgray] schade +bullet.buildingdamage = [stat]{0}%[lightgray] gebouwschade +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] terugslag -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]bevriezend -bullet.tarred = [stat]pek +bullet.pierce = [stat]{0}[lightgray]x doorboor +bullet.infinitepierce = [stat]doorboor +bullet.healpercent = [stat]{0}[lightgray]% genezing +bullet.healamount = [stat]{0}[lightgray] directe reparatie bullet.multiplier = [stat]{0}[lightgray]x ammunitieverdubbelaar bullet.reload = [stat]{0}[lightgray]x herlaad +bullet.range = [stat]{0}[lightgray] tegels bereik +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blokken -unit.blockssquared = blocks² -unit.powersecond = stroomeenheid/seconde -unit.liquidsecond = vloeistofeenheid/seconde -unit.itemssecond = items/seconde -unit.liquidunits = vloeistofeenheid -unit.powerunits = stroomeenheid +unit.blockssquared = blokken� +unit.powersecond = stroom eenheden/seconde +unit.tilessecond = tegels/seconde +unit.liquidsecond = vloeistof eenheden/seconde +unit.itemssecond = materialen/seconde +unit.liquidunits = vloeistof eenheden +unit.powerunits = stroom eenheden +unit.heatunits = warmte eenheden unit.degrees = graden -unit.seconds = secondes -unit.minutes = mins +unit.seconds = seconden +unit.minutes = minuten unit.persecond = /sec unit.perminute = /min unit.timesspeed = x snelheid +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health -unit.items = items +unit.shieldhealth = levenspunten schild +unit.items = materialen unit.thousands = k -unit.millions = mil -unit.billions = b +unit.millions = mln +unit.billions = mjd +unit.shots = shots +unit.pershot = /schot +category.purpose = Doel category.general = Algemeen category.power = Stroom -category.liquids = Vloeisof -category.items = Items -category.crafting = Productie -category.function = Function +category.liquids = Vloeisoffen +category.items = Materialen +category.crafting = Invoer/Uitvoer +category.function = Functie category.optional = Optionele Verbeteringen +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Lancering/Land Animatie setting.landscape.name = Vergrendel Landschap setting.shadows.name = Schaduwen setting.blockreplace.name = Automatische Blok Suggesties -setting.linear.name = Linear Filtering +setting.linear.name = Linear Filteren setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logische Hints +setting.backgroundpause.name = Pauzeer in achtergrond setting.buildautopause.name = Pauzeer Bouw Automatisch +setting.doubletapmine.name = Dubbelklik om te delven +setting.commandmodehold.name = Vasthouden voor commandomodus +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Mods uitschakelen bij crash opstarten setting.animatedwater.name = Animeer Water setting.animatedshields.name = Animeer Schilden -setting.antialias.name = Antialias[lightgray] (herstart vereist)[] -setting.playerindicators.name = Player Indicators +setting.playerindicators.name = Spelersindicatoren setting.indicators.name = Toon Bondgenoten -setting.autotarget.name = Auto-Target +setting.autotarget.name = Automatisch Richten setting.keyboard.name = Muis+Toetsenbord Controls setting.touchscreen.name = Touchscreen Controls setting.fpscap.name = Max FPS setting.fpscap.none = Geen setting.fpscap.text = {0} FPS setting.uiscale.name = UI Schaal[lightgray] (herstart vereist)[] +setting.uiscale.description = Herstart vereist om veranderingen door te voeren. setting.swapdiagonal.name = Altijd Diagonaal Plaatsen -setting.difficulty.training = oefening -setting.difficulty.easy = makkelijk -setting.difficulty.normal = normaal -setting.difficulty.hard = moeilijk -setting.difficulty.insane = krankzinnig -setting.difficulty.name = Moeilijkheidsgraad: setting.screenshake.name = Schuddend Scherm +setting.bloomintensity.name = Bloom Intensiteit +setting.bloomblur.name = Bloom Waas setting.effects.name = Toon Effecten setting.destroyedblocks.name = Toon Vernietigde Blokken -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Lopendeband Plaats Hulp +setting.blockstatus.name = Toon Blok Status +setting.conveyorpathfinding.name = Transportband Plaats Hulp setting.sensitivity.name = Gevoeligheid Controller setting.saveinterval.name = Autosave Interval -setting.seconds = {0} Seconden -setting.blockselecttimeout.name = Block Select Timeout +setting.seconds = {0} seconden setting.milliseconds = {0} millisecondes -setting.fullscreen.name = Volledig scherm -setting.borderlesswindow.name = Borderless Venster[lightgray] (wellicht herstart vereist) -setting.fps.name = Show FPS -setting.smoothcamera.name = Smooth Camera +setting.fullscreen.name = Volledig Scherm +setting.borderlesswindow.name = Grenzeloos Venster[lightgray] (wellicht herstart vereist) +setting.borderlesswindow.name.windows = Grenzeloos Venster +setting.borderlesswindow.description = Een herstart kan vereist zijn om de wijzigingen door te voeren. +setting.fps.name = Toon FPS +setting.console.name = Console Inschakelen +setting.smoothcamera.name = Vloeiende Camera setting.vsync.name = VSync -setting.pixelate.name = Pixelate [lightgray](mogelijk verminderde performance) +setting.pixelate.name = Verpixel Spel [lightgray](mogelijk verminderde performance) setting.minimap.name = Toon Minimap -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Toon Core Materialen setting.position.name = Toon Speler Posities +setting.mouseposition.name = Toon Muis Positie setting.musicvol.name = Muziek Volume -setting.atmosphere.name = Show Planet Atmosphere -setting.ambientvol.name = Achtergronds Volume +setting.atmosphere.name = Toon Atmosfeer Planeet +setting.drawlight.name = Draw Darkness/Lighting +setting.ambientvol.name = Achtergrond Volume setting.mutemusic.name = Demp Muziek setting.sfxvol.name = SFX Volume setting.mutesound.name = Demp Geluid setting.crashreport.name = Stuur Anonieme Crashmeldingen +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Bewaar Saves Automatisch -setting.publichost.name = Publieke Server Zichtbaarheid -setting.playerlimit.name = Player Limit +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Spelerslijst setting.chatopacity.name = Chat Transparantie -setting.lasersopacity.name = Stroom Draad Transparantie -setting.bridgeopacity.name = Bridge Opacity -setting.playerchat.name = Toon chat -public.confirm = Wil je je game publiek maken?\n[accent]Iedereen kan dan je games joinen.\n[lightgray]Dit kan je later veranderen in Instellingen->Spel->Publieke Server Zichtbaarheid. -public.beta = Onthoud dat beta versies van het spel niet publiek kunnen lobbyen. -uiscale.reset = UI formaat is geweizigd.\nKlik op "OK" om het te bevestigen.\n[scarlet]Anders word het in[accent] {0}[] ongedaan gemaakt... -uiscale.cancel = Anuleer & Sluit +setting.lasersopacity.name = Stroomdraad Transparantie +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Brug Transparantie +setting.playerchat.name = Toon Chat +setting.showweather.name = Toon Weer Graphics +setting.hidedisplays.name = Verberg Logische Displays +setting.macnotch.name = Pas de interface aan om de inkeping weer te geven +setting.macnotch.description = Herstart vereist om veranderingen door te voeren +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. +public.beta = Onthoud dat b�ta versies geen publieke lobby's kunnen maken. +uiscale.reset = UI formaat is geweizigd.\nKlik op "OK" om het te bevestigen.\n[scarlet]Anders word het in[accent] {0}[] seconden ongedaan gemaakt... +uiscale.cancel = Annuleer & Sluit setting.bloom.name = Bloom -keybind.title = Verander Keys -keybinds.mobile = [scarlet]De meeste keybinds werken niet voor mobiel. Enkel standaard bewegingen zijn gesupport. +keybind.title = Herbind Toetsen +keybinds.mobile = [scarlet]De meeste toetscombinaties werken niet voor mobiele apparaten. Enkel standaard bewegingen zijn ondersteund. category.general.name = Algemeen category.view.name = Toon +category.command.name = Unit Command category.multiplayer.name = Multiplayer -category.blocks.name = Block Select -command.attack = Val aan -command.rally = Groepeer -command.retreat = Terugtrekken -command.idle = Idle +category.blocks.name = Selecteer Blok placement.blockselectkeys = \n[lightgray]Toets: [{0}, keybind.respawn.name = Respawn -keybind.control.name = Control Unit +keybind.control.name = Bediening Eenheid keybind.clear_building.name = Stop met bouwen keybind.press = Druk op een toets... -keybind.press.axis = Druk of swipe een toets... -keybind.screenshot.name = Map Schermafbeelding -keybind.toggle_power_lines.name = Wel/Geen Stroom Draden -keybind.toggle_block_status.name = Toggle Block Statuses +keybind.press.axis = Druk op een as of toets... +keybind.screenshot.name = Folder Schermafbeelding +keybind.toggle_power_lines.name = Wel/Geen Stroomdraden +keybind.toggle_block_status.name = Schakel Blokstatus in keybind.move_x.name = Beweeg x keybind.move_y.name = Beweeg y keybind.mouse_move.name = Volg Muis -keybind.pan.name = Pan View +keybind.pan.name = Schuif Weergave keybind.boost.name = Boost +keybind.command_mode.name = Commandomodus +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Herbouw Regio keybind.schematic_select.name = Selecteer gebied -keybind.schematic_menu.name = Ontwerp Menu +keybind.schematic_menu.name = Ontwerpmenu keybind.schematic_flip_x.name = Spiegel ontwerp X keybind.schematic_flip_y.name = Spiegel ontwerp Y keybind.category_prev.name = Vorige Categorie @@ -821,86 +1309,144 @@ keybind.block_select_07.name = Selecteer Categorie/Blok 7 keybind.block_select_08.name = Selecteer Categorie/Blok 8 keybind.block_select_09.name = Selecteer Categorie/Blok 9 keybind.block_select_10.name = Selecteer Categorie/Blok 10 -keybind.fullscreen.name = Schakel Fullscreen +keybind.fullscreen.name = Schakel Fullscreen In/Uit keybind.select.name = Selecteer/Schiet keybind.diagonal_placement.name = Plaats Diagonaal keybind.pick.name = Kies Blok keybind.break_block.name = Breek Blok +keybind.select_all_units.name = Selecteer Alle Eenheden +keybind.select_all_unit_factories.name = Selecteer Alle Eenheidsfabrieken keybind.deselect.name = Deselecteer -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command +keybind.pickupCargo.name = Pak Vracht Op +keybind.dropCargo.name = Laat Vracht Vallen keybind.shoot.name = Schiet keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pauze keybind.pause_building.name = Pauzeer/Hervat Bouwen keybind.minimap.name = Minimap +keybind.planet_map.name = Planetenkaart +keybind.research.name = Onderzoek +keybind.block_info.name = Blok Informatie keybind.chat.name = Chat -keybind.player_list.name = Speler list +keybind.player_list.name = Spelerslijst keybind.console.name = Console keybind.rotate.name = Roteer -keybind.rotateplaced.name = Roteer bestaand (Houd vast) -keybind.toggle_menus.name = Schakel menus -keybind.chat_history_prev.name = Chat geschiedenis ouder -keybind.chat_history_next.name = Chat geschiedenis nieuwer -keybind.chat_scroll.name = Chat scroll -keybind.drop_unit.name = Drop Unit -keybind.zoom_minimap.name = Zoom minimap -mode.help.title = Beschrijving van modes +keybind.rotateplaced.name = Roteer bestaand (Houdt vast) +keybind.toggle_menus.name = Schakel Menu's +keybind.chat_history_prev.name = Chat Geschiedenis Ouder +keybind.chat_history_next.name = Chat Geschiedenis Nieuwer +keybind.chat_scroll.name = Chat Scroll +keybind.chat_mode.name = Verander Chatmodus +keybind.drop_unit.name = Laat Eenheid Vallen +keybind.zoom_minimap.name = Zoom Minimap +mode.help.title = Beschrijving van Modi mode.survival.name = Overleving -mode.survival.description = De normale mode. Standaard grondstoffen en rondes met vijanden. +mode.survival.description = De normale modus. Standaard grondstoffen en automatisch inkomende golven van vijanden. mode.sandbox.name = Zandbak -mode.sandbox.description = Oneindige resources en geen automatische vijandelijke rondes. +mode.sandbox.description = Oneindige resources en geen automatische vijandelijke golven. mode.editor.name = Editor mode.pvp.name = PvP -mode.pvp.description = Vecht tegen andere spelers. +mode.pvp.description = Vecht tegen andere spelers.\n[gray]Vereist minstens 2 verschillend gekleurde cores in de kaart om te kunnen spelen. mode.attack.name = Aanvallen mode.attack.description = Geen rondes, maar met als doel de vijandlijke core(s) te vernietigen. -mode.custom = Aangepaste regels +mode.custom = Aangepaste Regels +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Verberg verboden blokken rules.infiniteresources = Oneindige Resources +rules.onlydepositcore = Alleen spullen in de core doen toestaan. +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Ontploffende Reactors -rules.schematic = Schematics Allowed -rules.wavetimer = Ronde timer -rules.waves = Rondes -rules.attack = Aanval modus -rules.buildai = AI Building -rules.enemyCheat = Oneindige AI grondstoffen -rules.blockhealthmultiplier = Blok Health Vermenigvulder -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Unit Spawn Snelheid Vermenigvulder -rules.unithealthmultiplier = Unit Health Vermenigvulder -rules.unitdamagemultiplier = Unit Damage Vermenigvulder +rules.coreincinerates = Core verbrandt overvloed aan materialen. +rules.disableworldprocessors = Zet Wereld-Processors Uit. +rules.schematic = Ontwerpen Toegestaan +rules.wavetimer = Vijandelijke Golven Timer +rules.wavesending = Golven Sturen +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. +rules.waves = Golven +rules.airUseSpawns = Air units use spawn points +rules.attack = Aanvalmodus +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Ploeg Grootte +rules.rtsmaxsquadsize = Max Ploeg Grootte +rules.rtsminattackweight = Min Aanvalsgewicht +rules.cleanupdeadteams = Ruim verslagen gebouwen van team op (PvP) +rules.corecapture = Verover Core Bij Vernietiging +rules.polygoncoreprotection = Veelhoekige Corebescherming +rules.placerangecheck = Plaatsingsbereik Controle +rules.enemyCheat = Oneindige AI Materialen +rules.blockhealthmultiplier = Blok Levenspunten Vermenigvuldiger +rules.blockdamagemultiplier = Blokschade Vermenigvuldiger +rules.unitbuildspeedmultiplier = Eenheid Spawnsnelheid Vermenigvuldiger +rules.unitcostmultiplier = Eenheidskosten Vermenigvuldiger +rules.unithealthmultiplier = Eenheid Levenspunten Vermenigvuldiger +rules.unitdamagemultiplier = Eenheid Schade Vermenigvuldiger +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Zonne-Energie Vermenigvuldiger +rules.unitcapvariable = Cores Dragen Bij Aan Eenheidslimiet +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Bais Eenheidlimiet +rules.limitarea = Limiteer Kaart Gebied rules.enemycorebuildradius = Niet-Bouw Bereik Vijandelijke Cores:[lightgray] (tegels) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Tijd Tussen Rondes:[lightgray] (sec) -rules.buildcostmultiplier = Bouw kosten Vermenigvulder -rules.buildspeedmultiplier = Bouw snelheid Vermenigvulder -rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier -rules.waitForWaveToEnd = Rondes wachten tot alles is verslagen +rules.initialwavespacing = Initi�le Golfafstand:[lightgray] (sec) +rules.buildcostmultiplier = Bouwkosten Vermenigvuldiger +rules.buildspeedmultiplier = Bouwsnelheid Vermenigvuldiger +rules.deconstructrefundmultiplier = Deconstructie Terugbetalings Vermenigvuldiger +rules.waitForWaveToEnd = Golven wachten tot alle vijanden zijn verslagen +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Vijandelijke Spawn Diameter:[lightgray] (tegels) -rules.unitammo = Units Require Ammo -rules.title.waves = Rondes +rules.unitammo = Eenheden Gebruiken Ammunitie +rules.enemyteam = Vijandelijk Team +rules.playerteam = Spelerteam +rules.title.waves = Golven rules.title.resourcesbuilding = Grondstoffen & Bouwen -rules.title.enemy = Tegenstanders -rules.title.unit = Units +rules.title.enemy = Vijanden +rules.title.unit = Eenheden rules.title.experimental = Experimenteel -rules.title.environment = Environment +rules.title.environment = Omgeving +rules.title.teams = Teams +rules.title.planet = Planeet rules.lighting = Belichting -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Mist -rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.duration = Duration: +rules.fog = Mist van de Oorlog +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Vuur +rules.anyenv = +rules.explosions = Blok/Eenheid Explosieschade +rules.ambientlight = Omgevingslicht +rules.weather = Weer +rules.weather.frequency = Frequentie: +rules.weather.always = Altijd +rules.weather.duration = Duur: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. -content.item.name = Items -content.liquid.name = Vloeisof -content.unit.name = Eenheiden +content.item.name = Materialen +content.liquid.name = Vloeistoffen +content.unit.name = Eenheden content.block.name = Blokken +content.status.name = Status Effecten +content.sector.name = Sectoren +content.team.name = Facties +wallore = (Muur) -item.copper.name = Coper +item.copper.name = Koper item.lead.name = Lood item.coal.name = Steenkool item.graphite.name = Grafiet @@ -908,18 +1454,31 @@ item.titanium.name = Titanium item.thorium.name = Thorium item.silicon.name = Silicium item.plastanium.name = Plastanium -item.phase-fabric.name = Phase Fabric -item.surge-alloy.name = Surge Alloy -item.spore-pod.name = Spore Pod +item.phase-fabric.name = Fasestof +item.surge-alloy.name = Golflegering +item.spore-pod.name = Schimmelcapsule item.sand.name = Zand -item.blast-compound.name = Blast Compound -item.pyratite.name = Pyratite -item.metaglass.name = Metaglas -item.scrap.name = Scrap +item.blast-compound.name = Ontploffingsverbinding +item.pyratite.name = Pyratiet +item.metaglass.name = Glasvezel +item.scrap.name = Schroot +item.fissile-matter.name = Splijtbare Materie +item.beryllium.name = Beryllium +item.tungsten.name = Wolfraam +item.oxide.name = Oxide +item.carbide.name = Carbid +item.dormant-cyst.name = Slapende Cyste liquid.water.name = Water -liquid.slag.name = Slag +liquid.slag.name = Lava liquid.oil.name = Olie liquid.cryofluid.name = Koelvloeistof +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arkyciet +liquid.gallium.name = Gallium +liquid.ozone.name = Ozon +liquid.hydrogen.name = Waterstof +liquid.nitrogen.name = Stikstof +liquid.cyanogen.name = Cyanogeen unit.dagger.name = Dolk unit.mace.name = Mace @@ -936,7 +1495,7 @@ unit.flare.name = Flare unit.horizon.name = Horizon unit.zenith.name = Zenith unit.antumbra.name = Antumbra -unit.eclipse.name = Eclipse +unit.eclipse.name = Eclips unit.mono.name = Mono unit.poly.name = Poly unit.mega.name = Mega @@ -947,6 +1506,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,77 +1518,104 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Spruitstuk +unit.assembly-drone.name = Montage Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax -block.cliff.name = Cliff +block.cliff.name = Klif block.sand-boulder.name = Zandkei +block.basalt-boulder.name = Basaltkei block.grass.name = Gras -block.slag.name = Slag -block.space.name = Space +block.molten-slag.name = Lava +block.pooled-cryofluid.name = Koelvloeistof +block.space.name = Ruimte block.salt.name = Zout -block.salt-wall.name = Salt Wall +block.salt-wall.name = Zoutmuur block.pebbles.name = Steentjes -block.tendrils.name = Tendrils -block.sand-wall.name = Sand Wall -block.spore-pine.name = Sporenden -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder -block.snow-pine.name = Sneeuwden -block.shale.name = Schalie -block.shale-boulder.name = Schalie Kei +block.tendrils.name = Ranken +block.sand-wall.name = Zandmuur +block.spore-pine.name = Schimmel Den +block.spore-wall.name = Schimmelmuur +block.boulder.name = Kei +block.snow-boulder.name = Sneeuwkei +block.snow-pine.name = Sneeuw Den +block.shale.name = Leisteen +block.shale-boulder.name = Leisteen Kei block.moss.name = Mos -block.shrubs.name = Bosje -block.spore-moss.name = Spore Moss -block.shale-wall.name = Shale Wall -block.scrap-wall.name = Oud ijzeren m -block.scrap-wall-large.name = Large Scrap Muur -block.scrap-wall-huge.name = Huge Scrap Muur -block.scrap-wall-gigantic.name = Gigantic Scrap Muur -block.thruster.name = Thruster +block.shrubs.name = Bosjes +block.spore-moss.name = Schimmelmos +block.shale-wall.name = Leisteen Muur +block.scrap-wall.name = Schrootmuur +block.scrap-wall-large.name = Grote Schrootmuur +block.scrap-wall-huge.name = Enorme Schrootmuur +block.scrap-wall-gigantic.name = Gigantische Schrootmuur +block.thruster.name = Stuwraket block.kiln.name = Glasoven -block.graphite-press.name = Grafiet Pers +block.graphite-press.name = Grafietpers block.multi-press.name = Super-Pers block.constructing = {0} [lightgray](Bouwen) block.spawn.name = Vijandelijke Spawn -block.core-shard.name = Core: Shard -block.core-foundation.name = Core: Foundation +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Core: Scherf +block.core-foundation.name = Core: Fundament block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Diep Water -block.water.name = Water +block.deep-water.name = Diep Water +block.shallow-water.name = Ondiep Water block.tainted-water.name = Vervuild Water -block.darksand-tainted-water.name = Donker Zand Vervuild Water -block.tar.name = Olie +block.deep-tainted-water.name = Diep Vervuild Water +block.darksand-tainted-water.name = Donkerzand Vervuild Water +block.tar.name = Teer block.stone.name = Steen -block.sand.name = Donker Zand -block.darksand.name = Donker Zand +block.sand-floor.name = Zand +block.darksand.name = Donkerzand block.ice.name = Ijs block.snow.name = Sneeuw -block.craters.name = Krarters -block.sand-water.name = Zand water -block.darksand-water.name = Donker Zand Water +block.crater-stone.name = Kraters +block.sand-water.name = Zand Water +block.darksand-water.name = Donkerzand Water block.char.name = Char -block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder -block.ice-snow.name = Ice Snow -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall +block.dacite.name = Daciet +block.rhyolite.name = Rhyoliet +block.dacite-wall.name = Dacieten Muur +block.dacite-boulder.name = Dacieten Kei +block.ice-snow.name = Ijssneeuw +block.stone-wall.name = Stenen Muur +block.ice-wall.name = Ijsmuur +block.snow-wall.name = Sneeuwmuur +block.dune-wall.name = Duinmuur block.pine.name = Den -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud +block.dirt.name = Aarde +block.dirt-wall.name = Aardemuur +block.mud.name = Modder block.white-tree-dead.name = Witte Boom Dood block.white-tree.name = Witte Boom -block.spore-cluster.name = Spore Cluster -block.metal-floor.name = Metalen Vloer +block.spore-cluster.name = Schimmel Cluster +block.metal-floor.name = Metalen Vloer 1 block.metal-floor-2.name = Metalen Vloer 2 block.metal-floor-3.name = Metalen Vloer 3 +block.metal-floor-4.name = Metalen Vloer 4 block.metal-floor-5.name = Metalen Vloer 5 -block.metal-floor-damaged.name = Metalen Vloer Beschadigd +block.metal-floor-damaged.name = Beschadigde Metalen Vloer block.dark-panel-1.name = Donker Paneel 1 block.dark-panel-2.name = Donker Paneel 2 block.dark-panel-3.name = Donker Paneel 3 @@ -1033,16 +1624,16 @@ block.dark-panel-5.name = Donker Paneel 5 block.dark-panel-6.name = Donker Paneel 6 block.dark-metal.name = Donker Metaal block.basalt.name = Basalt -block.hotrock.name = Lava Steen -block.magmarock.name = Magma Steen +block.hotrock.name = Hete Steen +block.magmarock.name = Magmasteen block.copper-wall.name = Koperen Muur block.copper-wall-large.name = Grote Koperen Muur block.titanium-wall.name = Titanium Muur block.titanium-wall-large.name = Grote Titanium Muur block.plastanium-wall.name = Plastanium Muur block.plastanium-wall-large.name = Grote Plastanium Muur -block.phase-wall.name = Phase Muur -block.phase-wall-large.name = Grote Phase Muur +block.phase-wall.name = Fase Muur +block.phase-wall-large.name = Grote Fase Muur block.thorium-wall.name = Thorium Muur block.thorium-wall-large.name = Grote Thorium Muur block.door.name = Deur @@ -1052,87 +1643,90 @@ block.scorch.name = Vlammenwerper block.scatter.name = Strooier block.hail.name = Hagel block.lancer.name = Lansier -block.conveyor.name = Lopende Band -block.titanium-conveyor.name = Titanium Lopende Band -block.plastanium-conveyor.name = Plastanium Conveyor -block.armored-conveyor.name = Gepantserde Lopende Band -block.armored-conveyor.description = Verplaatst items met dezelfde snelheid als een van titanium, maar heeft meer levenspunten. Accepteert alleen items van de zijkanten als het ook lopende banden zijn. +block.conveyor.name = Transportband +block.titanium-conveyor.name = Titanium Transportband +block.plastanium-conveyor.name = Plastanium Transportband +block.armored-conveyor.name = Gepantserde Transportband block.junction.name = Kruising -block.router.name = Router -block.distributor.name = Distributor +block.router.name = Verdeler +block.distributor.name = Distributeur block.sorter.name = Sorteerder block.inverted-sorter.name = Omgekeerder Sorteerder block.message.name = Bericht +block.reinforced-message.name = Gepansterd Bericht +block.world-message.name = Wereldbericht +block.world-switch.name = World Switch block.illuminator.name = Lamp -block.illuminator.description = Een kleine aanpasbare lamp, heeft stroom nodig. -block.overflow-gate.name = Overflow Gate -block.underflow-gate.name = Underflow Gate +block.overflow-gate.name = Overstroom Poort +block.underflow-gate.name = Onderstroom Poort block.silicon-smelter.name = Siliciumsmelter -block.phase-weaver.name = Phase Weaver -block.pulverizer.name = Vermorzelaar -block.cryofluid-mixer.name = Cryofluid Mixer +block.phase-weaver.name = Fase Wever +block.pulverizer.name = Verpulveraar +block.cryofluid-mixer.name = Koelvloeistof Mixer block.melter.name = Smelter block.incinerator.name = Verbrandingsoven block.spore-press.name = Schimmelpers block.separator.name = Afscheider -block.coal-centrifuge.name = Koolcentrifuge +block.coal-centrifuge.name = Steenkoolcentrifuge block.power-node.name = Stroompaal block.power-node-large.name = Grote Stroompaal block.surge-tower.name = Hoogspanningsmast block.diode.name = Batterij Diode block.battery.name = Batterij block.battery-large.name = Grote Batterij -block.combustion-generator.name = Fossiele Generator -block.steam-generator.name = Turbine Generator -block.differential-generator.name = Verschiltemperatuurgenerator -block.impact-reactor.name = Impact Reactor +block.combustion-generator.name = Verbrandingsgenerator +block.steam-generator.name = Turbinegenerator +block.differential-generator.name = Temperatuursverschilgenerator +block.impact-reactor.name = Impactreactor block.mechanical-drill.name = Mechanische Boor block.pneumatic-drill.name = Pneumatische Boor block.laser-drill.name = Lazerboor block.water-extractor.name = Waterput -block.cultivator.name = Cultivator +block.cultivator.name = Kweekmachine block.conduit.name = Pijp block.mechanical-pump.name = Mechanische Pomp -block.item-source.name = Item Source -block.item-void.name = Item Void -block.liquid-source.name = Liquid Source -block.liquid-void.name = Liquid Void -block.power-void.name = Power Void -block.power-source.name = Power Source -block.unloader.name = Unloader +block.item-source.name = Materiaalbron +block.item-void.name = Materiaalgat +block.liquid-source.name = Vloeistofbron +block.liquid-void.name = Vloeistofgat +block.power-void.name = Stroomgat +block.power-source.name = Stroombron +block.unloader.name = Losser block.vault.name = Kluis block.wave.name = Golf block.tsunami.name = Tsunami -block.swarmer.name = Swarmer +block.swarmer.name = Zwermer block.salvo.name = Salvo block.ripple.name = Ripple -block.phase-conveyor.name = Phase Conveyor -block.bridge-conveyor.name = Bridge Conveyor -block.plastanium-compressor.name = Plastanium Compressor -block.pyratite-mixer.name = Pyratite Mixer -block.blast-mixer.name = Blast Mixer +block.phase-conveyor.name = Fase-transportband +block.bridge-conveyor.name = Brug-transportband +block.plastanium-compressor.name = Plastaniumcompressor +block.pyratite-mixer.name = Pyratietmixer +block.blast-mixer.name = Ontploffingsmixer block.solar-panel.name = Zonnepaneel block.solar-panel-large.name = Groot zonnepaneel block.oil-extractor.name = Olieput -block.repair-point.name = Repair Point -block.pulse-conduit.name = Pulse Conduit +block.repair-point.name = Repareerpunt +block.repair-turret.name = Repareergeschutstoren +block.pulse-conduit.name = Impulsleiding block.plated-conduit.name = Gepantserde Pijp -block.phase-conduit.name = Phase Conduit -block.liquid-router.name = Liquid Router +block.phase-conduit.name = Faseleiding +block.liquid-router.name = Vloeistofverdeler block.liquid-tank.name = Vloeistoftank +block.liquid-container.name = Vloeistofcontainer block.liquid-junction.name = Vloeistofkruising -block.bridge-conduit.name = Bridge Conduit -block.rotary-pump.name = Rotary Pump +block.bridge-conduit.name = Brugleiding +block.rotary-pump.name = Draaipomp block.thorium-reactor.name = Thoriumreactor block.mass-driver.name = Mass Driver -block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermische Pomp +block.blast-drill.name = Luchtstraalboor +block.impulse-pump.name = Thermische Pomp block.thermal-generator.name = Thermische Generator -block.alloy-smelter.name = Legering Smelterij -block.mender.name = Mender -block.mend-projector.name = Mend Projector -block.surge-wall.name = Surge Muur -block.surge-wall-large.name = Grote Surge Muur +block.surge-smelter.name = Golflegering Smelterij +block.mender.name = Hersteller +block.mend-projector.name = Herstelprojector +block.surge-wall.name = Golflegeringen Muur +block.surge-wall-large.name = Grote Golflegeringen Muur block.cyclone.name = Cycloon block.fuse.name = Zekering block.shock-mine.name = Elektrische Landmijn @@ -1145,21 +1739,192 @@ block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Doos block.launch-pad.name = Lanceerplatform -block.launch-pad-large.name = Groot Lanceerplatform +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = Mass Conveyor -block.payload-router.name = Payload Router +block.ground-factory.name = Grondfabriek +block.air-factory.name = Luchtfabriek +block.naval-factory.name = Marinefabriek +block.additive-reconstructor.name = Additieve Reconstructeur +block.multiplicative-reconstructor.name = Multiplicatieve Reconstructeur +block.exponential-reconstructor.name = Exponenti�le Reconstructeur +block.tetrative-reconstructor.name = Tetratieve Reconstructeur +block.payload-conveyor.name = Massa-Transportband +block.payload-router.name = Vrachtverdeler + +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1169,66 +1934,153 @@ block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = blauw +team.malis.name = Malis team.crux.name = rood team.sharded.name = oranje -team.orange.name = oranje team.derelict.name = wees team.green.name = groen -team.purple.name = paars -tutorial.next = [lightgray] -tutorial.intro = Welkom bij de[scarlet] Mindustry Tutorial.[]\nBegin met het[accent] mijnen van koper[]. Klik op een vakje met koper om het te mijnen.\n\n[accent]{0}/{1} koper -tutorial.intro.mobile = Welkom bij de[scarlet] Mindustry Tutorial.[]\nSleep over het scherm om te bewegen.\n[accent]Knijp met 2 vingers [] om in en uit te zoomen.\nBegin met het[accent] mijnen van koper[]. Beweeg dichterbij, en klik er dan op.\n\n[accent]{0}/{1} koper -tutorial.drill = Met de hand mijnen is inefficient.\n[accent]Boren []kunnen automatisch voor je mijnen.\nPlaats een boor op koper. -tutorial.drill.mobile = Met de hand mijnen is inefficient.\n[accent]Boren []kunnen automatisch voor je mijnen.\nZoek de boren rechts onderin.\nSelecter de[accent] mechanische boor[].\nPlaats het op de koper door erop te klikken, druk dan op het[accent] vinkje[] om het bouwen te bevestigen.\nKlik op de[accent] X knop[] om het te anuleren. -tutorial.blockinfo = Elk blok heeft andere statistieken. Elke boor kan enkel bepaalde dingen mijnen.\nOm het van een blok te checken,[accent] druk op de "?" knop terwijl je het blok vast hebt.[]\n\n[accent]Lees de statatistieken van de Mechanische Boor maar eens.[] -tutorial.conveyor = [accent]Lopende Banden[] worden gebruikt om je items naar je core/basis te krijgen.\nLeg een lijn aan van je boren tot aan je core/basis. -tutorial.conveyor.mobile = [accent]Lopende Banden[] worden gebruikt om je items naar je core/basis te krijgen.\nLeg een lijn aan van je boren tot aan je core/basis.\n[accent] Doe dit door je vinger een paar seconden stil te houden[] en dan in een richting te slepen.\n\n[accent]{0}/{1} Lopende banden worden in 1x geplaatst\n[accent]0/1 items afgeleverd -tutorial.turret = Defensieve gebouwen moeten worden gebouwd tegen de[lightgray] vijand[].\nBouw een duo kannon bij je basis. -tutorial.drillturret = Duo's hebben[accent] koperen ammunitie []nodig om te schieten.\nPlaats een drill ernaast om het van koper te voorzien. -tutorial.pause = Tijdens een gevecht is het mogelijk[accent] het spel te pauzeren.[]\nJe kan nog wel je gebouwen plannen.\n\n[accent]Pauzeer het spel (spatie) nu. -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 = Doe het opnieuw om weer verder te gaan. -tutorial.unpause.mobile = Doe het opnieuw om weer verder te gaan. -tutorial.breaking = Vaak moet je blokken weer verwijderen.\n[accent]Houd rechts-klik ingedrukt[] om alle geselecteerde blokken te vernietigen.[]\n\n[accent]Vernietig de scrap blokken links van je core om verder te gaan. -tutorial.breaking.mobile = Vaak moet je blokken weer verwijderen.\n[accent]klik op de hamer voor vernietigigs-mode[], klik dan op een blok om het te breken.\nVernietig een heel gebied door je vinger een paar seconden still te houden en dan te slepen in een richting.\nKlik dan op het vinkje om het te bevestigen.\n\n[accent]Vernietig de scrap blokken links van je core om verder te gaan. -tutorial.withdraw = In sommige situaties, is het nodig om items uit een blok te kunnen pakken.\nOm dit te doen, [accent]klik je op een blok[] waar items in zitten, en dan [accent]op het item te klikken[] in het zwarte menu.\nMeerdere items tegelijk kan je eruit halen door [accent]het ingedrukt te houden[].\n\n[accent]Pak wat koper uit de core.[] -tutorial.deposit = Je kan de items weer terugstoppen door van je schip het terug te slepen naar waar je het wilt.\n\n[accent]Stop het nu weer terug in de core.[] -tutorial.waves = De[lightgray] vijand[] naderd.\n\nVerdedig je core voor 2 rondes. Bouw meer verdedigingen. -tutorial.waves.mobile = De[lightgray] vijand[] naderd.\n\nVerdedig je core voor 2 rondes. Je schip schiet automatisch op vijanden.\nBouw meer verdedigingen, en mine meer koper. -tutorial.launch = Tijdens sommige waves, kan je je core[accent] lanceren[], hiermee verlaat je de basis permanent[accent] maar je neemt wel alles dat in de core zit met je mee.[]\nMet deze grondstoffen kan je nieuwe technologieën onderzoeken.\n\n[accent]Druk op de lanceerknop. +team.blue.name = blauw +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Een nuttig materiaal voor gebouwen. Wordt erg vaak in blokken gebruikt. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = Een basismateriaal. Wordt veel gebruikt in elektronica en vloeistoftransport. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = Een supersterke glas-samenstelling. Veel gebruikt voor vloeistof transport en opslag. item.graphite.description = Gemineraliseerde koolstof, gebruikt voor ammunitie en elektrische isolatie. item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. item.coal.description = A common and readily available fuel. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = An extremely useful semiconductor, with applications in solar panels and many complex electronics. item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. 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.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. 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. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Commonly used for cooling machines and waste processing. 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 = Can be burnt, exploded or used as a coolant. liquid.cryofluid.description = The most efficient liquid for cooling things down. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Verplaatst items met dezelfde snelheid als een van titanium, maar heeft meer levenspunten. Accepteert alleen items van de zijkanten als het ook lopende banden zijn. +block.illuminator.description = Een kleine aanpasbare lamp, heeft stroom nodig. block.message.description = Stores a message. Used for communication between allies. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.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.surge-smelter.description = Produces surge alloy from titanium, lead, silicon and copper. block.cryofluid-mixer.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. @@ -1244,6 +2096,8 @@ block.item-source.description = Infinitely outputs items. Sandbox only. block.item-void.description = Destroys any items which go into it without using power. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-void.description = Removes any liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. 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.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies. @@ -1256,6 +2110,10 @@ block.phase-wall.description = Not as strong as a thorium wall but will deflect 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.surge-wall.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker. block.surge-wall-large.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.\nSpans multiple tiles. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. 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.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency. @@ -1272,17 +2130,19 @@ block.phase-conveyor.description = Advanced item transport block. Uses power to 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.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. block.router.description = Accepts items from one direction and outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets. +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = An advanced router which splits items to up to 7 other directions equally. block.overflow-gate.description = A combination splitter and router that only outputs to the left and right if the front path is blocked. block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are 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.mechanical-pump.description = A cheap pump with slow output, but no power consumption. block.rotary-pump.description = An advanced pump which doubles up speed by using power. -block.thermal-pump.description = The ultimate pump. Three times as fast as a mechanical pump and the only pump which is able to retrieve lava. +block.impulse-pump.description = The ultimate pump. Three times as fast as a mechanical pump and the only pump which is able to retrieve lava. block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits. block.pulse-conduit.description = Advanced liquid transport block. Transports liquids faster and stores more than standard conduits. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. 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.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stores a large amount of liquids. Use it for creating buffers when there is a non-constant demand of materials or as a safeguard for cooling vital blocks. block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. @@ -1308,15 +2168,21 @@ block.laser-drill.description = Allows drilling even faster through laser techno 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.cultivator.description = Cultivates spores with water in order to obtain biomatter. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. 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.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-foundation.details = The second iteration. block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.core-nucleus.details = The third and final iteration. block.vault.description = Stores a large amount of items of each type. Adjacent containers, vaults and cores will be treated as a single storage unit. An[lightgray] unloader[] can be used to retrieve items from the vault. block.container.description = Stores a small amount of items of each type. Adjacent containers, vaults and cores will be treated as a single storage unit. An[lightgray] unloader[] can be used to retrieve items from the container. 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.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = A small, cheap turret. 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. @@ -1331,5 +2197,429 @@ block.ripple.description = A large artillery turret which fires several shots si 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.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_nl_BE.properties b/core/assets/bundles/bundle_nl_BE.properties index 2f6d94840c..dcf4a0f4a7 100644 --- a/core/assets/bundles/bundle_nl_BE.properties +++ b/core/assets/bundles/bundle_nl_BE.properties @@ -13,14 +13,17 @@ link.google-play.description = Mindustry op Google Play link.f-droid.description = F-Droid catalogus link.wiki.description = Officiële Mindustry-wiki link.suggestions.description = Suggest new features +link.bug.description = Found one? Report it here +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Openen van link mislukt!\nDe link is gekopiëerd naar je klembord. screenshot = Locatie screenshot: {0} screenshot.invalid = Kaart te groot, mogelijks te weinig geheugen voor een screenshot te kunnen maken. gameover = Game Over +gameover.disconnect = Disconnect gameover.pvp = Het[accent] {0}[] team heeft gewonnen! +gameover.waiting = [accent]Waiting for next map... highscore = [accent]Nieuw record! copied = Gekopieerd. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. indev.notready = This part of the game isn't ready yet load.sound = Geluiden @@ -37,10 +40,23 @@ be.updating = Updating... be.ignore = Ignore be.noupdates = No updates found. be.check = Check for updates +mods.browser = Mod Browser +mods.browser.selected = Selected mod +mods.browser.add = Install +mods.browser.reinstall = Reinstall +mods.browser.view-releases = View Releases +mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published. +mods.browser.latest = +mods.browser.releases = Releases +mods.github.open = Repo +mods.github.open-release = Release Page +mods.browser.sortdate = Sort by recent +mods.browser.sortstars = Sort by stars schematic = Blauwdruk schematic.add = Blauwdruk Opslaan... schematics = Blauwdrukken +schematic.search = Search schematics... schematic.replace = Er bestaat al een blaudruk met deze naam. Vervangen? schematic.exists = A schematic by that name already exists. schematic.import = Importeer Blauwdruk... @@ -53,18 +69,26 @@ schematic.shareworkshop = Deel op Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic schematic.saved = Blauwdruk opgeslagen. schematic.delete.confirm = This schematic will be utterly eradicated. -schematic.rename = Blauwdruk Hernoemen +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blokken schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. - -stat.wave = Je overleefde tot aanvalsgolf: [accent]{0}[]. -stat.enemiesDestroyed = Vijanden vernietigd:[accent] {0} -stat.built = Gebouwen gebouwd:[accent] {0} -stat.destroyed = Gebouwen vernietigd:[accent] {0} -stat.deconstructed = Gebouwen afgebroken:[accent] {0} -stat.delivered = Gronstoffen meegenomen: -stat.playtime = Time Played:[accent] {0} -stat.rank = Eindresultaat: [accent]{0} +schematic.tags = Tags: +schematic.edittags = Edit Tags +schematic.addtag = Add Tag +schematic.texttag = Text Tag +schematic.icontag = Icon Tag +schematic.renametag = Rename Tag +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Delete this tag completely? +schematic.tagexists = That tag already exists. +stats = Stats +stats.wave = Waves Defeated +stats.unitsCreated = Units Created +stats.enemiesDestroyed = Enemies Destroyed +stats.built = Buildings Built +stats.destroyed = Buildings Destroyed +stats.deconstructed = Buildings Deconstructed +stats.playtime = Time Played globalitems = [accent]Global Items map.delete = Ben je zeker dat je de kaart "[accent]{0}[]" wilt verwijderen? @@ -74,12 +98,15 @@ level.mode = Speelmode: coreattack = < Kern wordt aangevallen! > nearpoint = [[ [scarlet]VERLAAT dit gebied onmiddelijk[] ]\nDirecte vernietiging... database = Kern Database +database.button = Database savegame = Opslaan loadgame = Openen joingame = Multiplayer customgame = Aangepaste versie newgame = Nieuw spel none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Kaartje position = Positie close = Sluit @@ -99,25 +126,39 @@ uploadingpreviewfile = Voorbeeldbestand Uploaden committingchanges = Veranderingen Toepassen done = Klaar feature.unsupported = Uw apparaat ondersteunt deze functie niet. - -mods.alphainfo = Mods zijn nog in alfa en [scarlet] kunnen zeer onstabiel zijn[].\nMeld problemen die je ondervindt op de Mindustry Github of Discord. +mods.initfailed = [red]âš [] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[] mods = Mods mods.none = [lightgray]Geen mods gevonden! mods.guide = Handleiding tot Modding mods.report = Bug Rapporteren mods.openfolder = Open Mod Folder +mods.viewcontent = View Content mods.reload = Reload mods.reloadexit = The game will now exit, to reload mods. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Ingeschakeld mod.disabled = [scarlet]Uitgeschakeld +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = Schakel uit +mod.version = Version: mod.content = Content: mod.delete.error = Kan mod niet verwijderen. Bestand is mogelijk in gebruik. -mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missing dependencies: {0} +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Content Errors +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Errors have occurred loading content. mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. mod.nowdisabled = [scarlet]De volgende vereisten ontbreken voor mod '{0}':[accent] {1}\n[lightgray]Deze mods moeten eerst gedownload worden.\nDeze mod wordt automatisch uitgeschakeld. @@ -139,12 +180,25 @@ mod.scripts.disable = Your device does not support mods with scripts. You must d about.button = Over name = Naam: noname = Kies eerst[accent] een naam[]. +search = Search: planetmap = Planet Map launchcore = Launch Core filename = Bestandsnaam: unlocked = Ontgrendeld! +available = New research available! +unlock.incampaign = < Unlock in campaign for details > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Voltooid techtree = Technische vooruitgang +techtree.select = Tech Tree Selection +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Load +research.discard = Discard research.list = [lightgray]Onderzoek: research = Onderzoek researched = [lightgray]{0} onderzocht. @@ -171,8 +225,8 @@ server.kicked.customClient = Deze server ondersteunt geen aangepaste versies (mo server.kicked.gameover = Game over! server.kicked.serverRestarting = The server is restarting. server.versions = Jouw versie:[accent] {0}[]\nServerversie:[accent] {1}[] -host.info = Ook de [accent]host[] knop hosts een server op poort [scarlet]6567[]. \nIedereen die verbonden is met dezelfde [lightgray]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[lightgray]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[lightgray]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. +host.info = Ook de [accent]host[] knop hosts een server op poort [scarlet]6567[]. \nIedereen die verbonden is met dezelfde [lightgray]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[lightgray]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[lightgray]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 = Open server voor LAN invitefriends = Nodig vrienden uit. hostserver.mobile = Open\nServer @@ -186,16 +240,32 @@ hosts.none = [lightgray]Geen games op je lokale netwerk gevonden. host.invalid = [scarlet]Kan niet verbinden met de host (server). servers.local = Local Servers +servers.local.steam = Open Games & Local Servers servers.remote = Remote Servers servers.global = Community Servers +servers.disclaimer = Community servers are [accent]not[] owned or controlled by the developer.\n\nServers may contain user-generated content that is not appropriate for all ages. +servers.showhidden = Show Hidden Servers +server.shown = Shown +server.hidden = Hidden +viewplayer = Viewing Player: [accent]{0} trace = Spelersinformatie trace.playername = Naam: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unieke ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobiele Client: [accent]{0} trace.modclient = Aangepaste Client: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Ongeldige client ID! Verstuur een bug report! +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Verbanningen server.bans.none = Geen verbannen spelers gevonden! server.admins = Administrators @@ -209,10 +279,11 @@ server.version = [lightgray]Versie: {0} {1} server.custombuild = [accent]Aangepaste versie confirmban = Ben je zeker dat je deze speler wilt verbannen? confirmkick = Ben je zeker dat je deze speler van de server wilt gooien? -confirmvotekick = Ben je zeker dat je een stemming wilt starten om deze speler uit de server to gooien? confirmunban = Ben je zeker dat je de verbanning wilt opheffen? confirmadmin = Ben je zeker dat je deze speler administrator wilt maken? confirmunadmin = Ben je zeker dat je de administratorstatus van deze speler wilt intrekken? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Verbinden met server joingame.ip = IP adres: disconnect = Verbinding verbroken. @@ -220,15 +291,18 @@ disconnect.error = Verbindingsfout. disconnect.closed = Verbinding afgesloten. disconnect.timeout = Het duurde te lang voordat de server antwoordde. disconnect.data = Laden van mapdata mislukt! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Kon niet tot het spel toetreden. ([accent]{0}[]). connecting = [accent]Verbinden... +reconnecting = [accent]Reconnecting... connecting.data = [accent]Laden map data... server.port = Poort: -server.addressinuse = Dit adres wordt al gebruikt! server.invalidport = Ongeldige poort! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Fout bij het openen van de server: [accent]{0} save.new = Nieuwe save save.overwrite = Ben je zeker dat je deze save\nwilt overschrijven? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Vervang save.none = Geen saves gevonden! savefail = Opslaan mislukt! @@ -249,6 +323,7 @@ save.corrupted = [accent]Het savebestand is corrupt of ongeldig.\nAls je zonet j empty = on = Aan off = Uit +save.search = Search saved games... save.autosave = Autosave: {0} save.map = Map: {0} save.wave = Golf {0} @@ -264,9 +339,33 @@ ok = OK open = Open customize = Pas aan cancel = Annuleer +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Open Link copylink = Kopiëer Link back = Terug +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. data.export = Exporteer Data data.import = Importeer Data data.openfolder = Open Data Folder @@ -274,15 +373,18 @@ data.exported = Data geëxporteerd. data.invalid = Dit is geen geldige speldata. 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. quit.confirm = Weet je zeker dat je wilt stoppen? -quit.confirm.tutorial = Ben je zeker dat je nu weet wat je doet?\nDe tutorial kan opnieuw gestart worden via[accent] Instellingen->Spel->Herneem Tutorial.[] loading = [accent]Aan het laden... -reloading = [accent]Mods Herladen... +downloading = [accent]Downloading... saving = [accent]Aan het opslaan... respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] om het plan te annuleren selectschematic = [accent][[{0}][] om te selecter+kopieren pausebuilding = [accent][[{0}][] om het bouwen te pauseren resumebuilding = [scarlet][[{0}][] om verder te gaan met bouwen +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Golf {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]Golf in {0} @@ -290,6 +392,8 @@ wave.waveInProgress = [lightgray]Golf bezig waiting = [lightgray]Wachten... waiting.players = Aan het wachten op spelers... wave.enemies = [lightgray]{0} Vijanden Over +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core wave.enemy = [lightgray]{0} Vijand Over wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. @@ -300,9 +404,9 @@ custom = Aangepast builtin = Ingebouwd map.delete.confirm = Weet je zeker dat je deze kaart wilt verwijderen? Deze actie kan niet ongedaan gemaakt worden! map.random = [accent]Willekeurige Map -map.nospawn = Deze map heeft geen cores voor spelers om te spawnen! Voeg een[royal] blauwe[] core toe in de mapbewerker. -map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Voeg een[scarlet] niet-blauwe[] core toe in de mapbewerker. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Voeg een[scarlet] rode[] core toe in de mapbewerker. +map.nospawn = Deze map heeft geen cores voor spelers om te spawnen! Voeg een {0} core toe in de mapbewerker. +map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Voeg een [scarlet]niet-blauwe[] core toe in de mapbewerker. +map.nospawn.attack = This map does not have any enemy cores for player to attack! Voeg een {0} core toe in de mapbewerker. map.invalid = Fout tijdens het laden van de map: Corrupt of ongeldig mapbestand. workshop.update = Update Item workshop.error = Error fetching workshop details: {0} @@ -310,12 +414,17 @@ map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]M workshop.menu = Select what you would like to do with this item. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = Steam EULA missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. publishing = [accent]Publishing... publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! publish.error = Error publishing item: {0} steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Brush editor.openin = Open In Editor @@ -328,35 +437,71 @@ editor.nodescription = A map must have a description of at least 4 characters be editor.waves = Waves: editor.rules = Rules: editor.generation = Generation: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Edit In-Game +editor.playtest = Playtest editor.publish.workshop = Publish On Workshop editor.newmap = New Map editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Waves waves.remove = Remove -waves.never = waves.every = every waves.waves = wave(s) +waves.health = health: {0}% waves.perspawn = per spawn waves.shields = shields/wave waves.to = to +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Preview waves.edit = Edit... +waves.random = Random waves.copy = Copy to Clipboard waves.load = Load from Clipboard waves.invalid = Invalid waves in clipboard. waves.copied = Waves copied. waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Details... edit = Edit... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Name: editor.spawn = Spawn Unit editor.removeunit = Remove Unit @@ -368,13 +513,19 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n editor.errornot = This is not a map file. editor.errorheader = This map file is either not valid or corrupt. editor.errorname = Map has no name defined. +editor.errorlocales = Error reading invalid locale bundles. editor.update = Update editor.randomize = Randomize +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Apply editor.generate = Generate +editor.sectorgenerate = Sector Generate editor.resize = Resize editor.loadmap = Load Map editor.savemap = Save Map +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Saved! editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. @@ -413,8 +564,12 @@ toolmode.eraseores = Erase Ores toolmode.eraseores.description = Erase only ores. toolmode.fillteams = Fill Teams toolmode.fillteams.description = Fill teams instead of blocks. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Draw Teams toolmode.drawteams.description = Draw teams instead of blocks. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]No filters! Add one with the button below. filter.distort = Distort @@ -433,6 +588,7 @@ filter.clear = Clear filter.option.ignore = Ignore filter.scatter = Scatter filter.terrain = Terrain +filter.logic = Logic filter.option.scale = Scale filter.option.chance = Chance filter.option.mag = Magnitude @@ -441,17 +597,39 @@ filter.option.circle-scale = Circle Scale filter.option.octaves = Octaves filter.option.falloff = Falloff filter.option.angle = Angle +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Block filter.option.floor = Floor filter.option.flooronto = Target Floor filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Wall filter.option.ore = Ore filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Width: height = Height: @@ -462,6 +640,9 @@ load = Load save = Save fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Please restart your game for the language settings to take effect. settings = Settings tutorial = Tutorial @@ -476,26 +657,71 @@ complete = [lightgray]Reach: requirement.wave = Reach Wave {0} in {1} requirement.core = Destroy Enemy Core in {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Best Wave: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Only the host can view sectors. uncover = Uncover configure = Configure Loadout +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  loadout = Loadout -resources = Resources +resources = Resources +resources.max = Max bannedblocks = Banned Blocks +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Add All +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} unlocked. -zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met. -zone.resources = Resources Detected: -zone.objective = [lightgray]Objective: [accent]{0} -zone.objective.survival = Survive -zone.objective.attack = Destroy Enemy Core add = Add... -boss.health = Boss Health +guardian = Guardian connectfail = [crimson]Failed to connect to server:\n\n[accent]{0} error.unreachable = Server unreachable.\nIs the address spelled correctly? @@ -507,26 +733,69 @@ error.mapnotfound = Map file not found! error.io = Network I/O error. error.any = Unknown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: sectors.production = Production: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Stored: sectors.resume = Resume sectors.launch = Launch sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Rename Sector +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -539,6 +808,22 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,6 +836,75 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = Language settings.data = Game Data @@ -573,7 +927,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = [accent]< Paused > clear = Clear banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Unsupported Environment yes = Yes no = No info.title = Info @@ -581,13 +935,18 @@ error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Input stat.output = Output +stat.maxefficiency = Max Efficiency stat.booster = Booster stat.tiles = Required Tiles stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Power Capacity stat.powershot = Power/Shot stat.damage = Damage @@ -610,6 +969,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Base Power Generation stat.productiontime = Production Time stat.repairtime = Block Full Repair Time +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = Speed Increase stat.range = Range stat.drilltier = Drillables @@ -617,6 +981,7 @@ stat.drillspeed = Base Drill Speed stat.boosteffect = Boost Effect stat.maxunits = Max Active Units stat.health = Health +stat.armor = Armor stat.buildtime = Build Time stat.maxconsecutive = Max Consecutive stat.buildcost = Build Cost @@ -632,6 +997,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = HeatCapacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -640,21 +1006,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Power: {0}/s bar.powerstored = Stored: {0}/{1} bar.poweramount = Power: {0} @@ -663,13 +1085,19 @@ bar.powerlines = Connections: {0}/{1} bar.items = Items: {0} bar.capacity = Capacity: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Liquid bar.heat = Heat +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = Power bar.progress = Build Progress +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,35 +1105,50 @@ bullet.damage = [stat]{0}[lightgray] damage bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] knockback bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blocks unit.blockssquared = blocks² unit.powersecond = power units/second +unit.tilessecond = tiles/second unit.liquidsecond = liquid units/second unit.itemssecond = items/second unit.liquidunits = liquid units unit.powerunits = power units +unit.heatunits = heat units unit.degrees = degrees unit.seconds = seconds unit.minutes = mins unit.persecond = /sec unit.perminute = /min unit.timesspeed = x speed +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = items unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose category.general = General category.power = Power category.liquids = Liquids @@ -713,16 +1156,23 @@ category.items = Items category.crafting = Input/Output category.function = Function category.optional = Optional Enhancements +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Lock Landscape setting.shadows.name = Shadows setting.blockreplace.name = Automatic Block Suggestions setting.linear.name = Linear Filtering setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animated Water setting.animatedshields.name = Animated Shields -setting.antialias.name = Antialias[lightgray] (requires restart)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Enemy/Ally Indicators setting.autotarget.name = Auto-Target @@ -732,14 +1182,11 @@ setting.fpscap.name = Max FPS setting.fpscap.none = None setting.fpscap.text = {0} FPS setting.uiscale.name = UI Scaling[lightgray] (requires restart)[] +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = training -setting.difficulty.easy = easy -setting.difficulty.normal = normal -setting.difficulty.hard = hard -setting.difficulty.insane = insane -setting.difficulty.name = Difficulty: setting.screenshake.name = Screen Shake +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Display Effects setting.destroyedblocks.name = Display Destroyed Blocks setting.blockstatus.name = Display Block Status @@ -747,32 +1194,43 @@ setting.conveyorpathfinding.name = Conveyor Placement Pathfinding setting.sensitivity.name = Controller Sensitivity setting.saveinterval.name = Autosave Interval setting.seconds = {0} Seconds -setting.blockselecttimeout.name = Block Select Timeout setting.milliseconds = {0} milliseconds setting.fullscreen.name = Fullscreen setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = Show FPS +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pixelate [lightgray](may decrease performance, disables animations) setting.minimap.name = Show Minimap -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Show Player Position +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Music Volume setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient Volume setting.mutemusic.name = Mute Music setting.sfxvol.name = SFX Volume setting.mutesound.name = Mute Sound setting.crashreport.name = Send Anonymous Crash Reports +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Chat Opacity setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity setting.playerchat.name = Display In-Game Chat -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Adapt interface to display notch +setting.macnotch.description = Restart required to apply changes +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Note that beta versions of the game cannot make public lobbies. uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings... uiscale.cancel = Cancel & Exit @@ -781,12 +1239,9 @@ keybind.title = Rebind Keys keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. category.general.name = General category.view.name = View +category.command.name = Unit Command category.multiplayer.name = Multiplayer category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1256,27 @@ keybind.move_y.name = Move y keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu keybind.schematic_flip_x.name = Flip Schematic X @@ -826,16 +1302,20 @@ keybind.select.name = Select/Shoot keybind.diagonal_placement.name = Diagonal Placement keybind.pick.name = Pick Block keybind.break_block.name = Break Block +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deselect keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Shoot keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pause keybind.pause_building.name = Pause/Resume Building keybind.minimap.name = Minimap +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Chat keybind.player_list.name = Player list keybind.console.name = Console @@ -845,6 +1325,7 @@ keybind.toggle_menus.name = Toggle menus keybind.chat_history_prev.name = Chat history prev keybind.chat_history_next.name = Chat history next keybind.chat_scroll.name = Chat scroll +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = Drop Unit keybind.zoom_minimap.name = Zoom minimap mode.help.title = Description of modes @@ -858,47 +1339,100 @@ mode.pvp.description = Fight against other players locally. mode.attack.name = Attack mode.attack.description = No waves, with the goal to destroy the enemy base. mode.custom = Custom Rules +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Infinite Resources +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Waves +rules.airUseSpawns = Air units use spawn points rules.attack = Attack Mode -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = Infinite AI (Red Team) Resources rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Unit Health Multiplier rules.unitdamagemultiplier = Unit Damage Multiplier +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Build Cost Multiplier rules.buildspeedmultiplier = Build Speed Multiplier rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Waves wait for enemies +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) rules.unitammo = Units Require Ammo +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = Waves rules.title.resourcesbuilding = Resources & Building rules.title.enemy = Enemies rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light rules.weather = Weather rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Items content.liquid.name = Liquids content.unit.name = Units content.block.name = Blocks +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) item.copper.name = Copper item.lead.name = Lead @@ -916,10 +1450,23 @@ item.blast-compound.name = Blast Compound item.pyratite.name = Pyratite item.metaglass.name = Metaglass item.scrap.name = Scrap +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Water liquid.slag.name = Slag liquid.oil.name = Oil liquid.cryofluid.name = Cryofluid +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -947,6 +1494,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,13 +1506,35 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = Sand Boulder +block.basalt-boulder.name = Basalt Boulder block.grass.name = Grass -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Salt block.salt-wall.name = Salt Wall @@ -988,24 +1562,28 @@ block.graphite-press.name = Graphite Press block.multi-press.name = Multi-Press block.constructing = {0} [lightgray](Constructing) block.spawn.name = Enemy Spawn +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Core: Shard block.core-foundation.name = Core: Foundation block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Deep Water -block.water.name = Water +block.deep-water.name = Deep Water +block.shallow-water.name = Water block.tainted-water.name = Tainted Water +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water block.tar.name = Tar block.stone.name = Stone -block.sand.name = Sand +block.sand-floor.name = Sand block.darksand.name = Dark Sand block.ice.name = Ice block.snow.name = Snow -block.craters.name = Craters +block.crater-stone.name = Craters block.sand-water.name = Sand water block.darksand-water.name = Dark Sand Water block.char.name = Char block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Ice Snow @@ -1023,6 +1601,7 @@ block.spore-cluster.name = Spore Cluster block.metal-floor.name = Metal Floor 1 block.metal-floor-2.name = Metal Floor 2 block.metal-floor-3.name = Metal Floor 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Metal Floor 4 block.metal-floor-damaged.name = Metal Floor Damaged block.dark-panel-1.name = Dark Panel 1 @@ -1056,15 +1635,16 @@ block.conveyor.name = Conveyor block.titanium-conveyor.name = Titanium Conveyor block.plastanium-conveyor.name = Plastanium Conveyor block.armored-conveyor.name = Armored Conveyor -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. block.junction.name = Junction block.router.name = Router block.distributor.name = Distributor block.sorter.name = Sorter block.inverted-sorter.name = Inverted Sorter block.message.name = Message +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.overflow-gate.name = Overflow Gate block.underflow-gate.name = Underflow Gate block.silicon-smelter.name = Silicon Smelter @@ -1115,20 +1695,22 @@ block.solar-panel.name = Solar Panel block.solar-panel-large.name = Large Solar Panel block.oil-extractor.name = Oil Extractor block.repair-point.name = Repair Point +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Pulse Conduit block.plated-conduit.name = Plated Conduit block.phase-conduit.name = Phase Conduit block.liquid-router.name = Liquid Router block.liquid-tank.name = Liquid Tank +block.liquid-container.name = Liquid Container block.liquid-junction.name = Liquid Junction block.bridge-conduit.name = Bridge Conduit block.rotary-pump.name = Rotary Pump block.thorium-reactor.name = Thorium Reactor block.mass-driver.name = Mass Driver block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump +block.impulse-pump.name = Thermal Pump block.thermal-generator.name = Thermal Generator -block.alloy-smelter.name = Alloy Smelter +block.surge-smelter.name = Surge Smelter block.mender.name = Mender block.mend-projector.name = Mend Projector block.surge-wall.name = Surge Wall @@ -1145,9 +1727,9 @@ block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Container block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1157,9 +1739,179 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1169,66 +1921,153 @@ block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = blue +team.malis.name = Malis team.crux.name = red team.sharded.name = orange -team.orange.name = orange team.derelict.name = derelict team.green.name = green -team.purple.name = purple -tutorial.next = [lightgray] -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.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper -tutorial.drill = Handmatig delven is inefficiënt.\n[accent]Boren []kunnen automatisch delven.\nPlaats er een op een koperader. -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]Transportbanden[] worden gebruikt om artikelen naar de kern te transporteren.\nMaak een lijn van transportbanden van de boor tot de kern. -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 = Er moeten verdedigingsstructuren worden gebouwd om de[lightgray] vijand[]af te weren.\nBouw een duo geschutstoren in de buurt van je basis. -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.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 = De [lightgray] vijand[] nadert.\n\nVerdedig jouw kern voor 2 golven. Bouw meer geschutstorens. -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.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. +team.blue.name = blue +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = A useful structure material. Used extensively in all types of blocks. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage. item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation. item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. item.coal.description = A common and readily available fuel. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = An extremely useful semiconductor, with applications in solar panels and many complex electronics. item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. 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.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. 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. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Commonly used for cooling machines and waste processing. 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 = Can be burnt, exploded or used as a coolant. liquid.cryofluid.description = The most efficient liquid for cooling things down. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. +block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.message.description = Stores a message. Used for communication between allies. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.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.surge-smelter.description = Produces surge alloy from titanium, lead, silicon and copper. block.cryofluid-mixer.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. @@ -1244,6 +2083,8 @@ block.item-source.description = Infinitely outputs items. Sandbox only. block.item-void.description = Destroys any items which go into it without using power. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-void.description = Removes any liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. 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.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies. @@ -1256,6 +2097,10 @@ block.phase-wall.description = Not as strong as a thorium wall but will deflect 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.surge-wall.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker. block.surge-wall-large.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.\nSpans multiple tiles. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. 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.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency. @@ -1272,17 +2117,19 @@ block.phase-conveyor.description = Advanced item transport block. Uses power to 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.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. block.router.description = Accepts items from one direction and outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets. +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = An advanced router which splits items to up to 7 other directions equally. block.overflow-gate.description = A combination splitter and router that only outputs to the left and right if the front path is blocked. block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are 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.mechanical-pump.description = A cheap pump with slow output, but no power consumption. block.rotary-pump.description = An advanced pump which doubles up speed by using power. -block.thermal-pump.description = The ultimate pump. +block.impulse-pump.description = The ultimate pump. block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits. block.pulse-conduit.description = Advanced liquid transport block. Transports liquids faster and stores more than standard conduits. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. 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.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stores a large amount of liquids. Use it for creating buffers when there is a non-constant demand of materials or as a safeguard for cooling vital blocks. block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. @@ -1308,15 +2155,21 @@ block.laser-drill.description = Allows drilling even faster through laser techno 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.cultivator.description = Cultivates tiny concentrations of spores into industry-ready pods. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. 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.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-foundation.details = The second iteration. block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.core-nucleus.details = The third and final iteration. block.vault.description = Stores a large amount of items of each type. An[lightgray] unloader[] can be used to retrieve items from the vault. block.container.description = Stores a small amount of items of each type. An[lightgray] unloader[] can be used to retrieve items from the container. 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.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. 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. @@ -1331,5 +2184,429 @@ block.ripple.description = A large artillery turret which fires several shots si 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.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_pl.properties b/core/assets/bundles/bundle_pl.properties index aa26f651db..e9f5038d41 100644 --- a/core/assets/bundles/bundle_pl.properties +++ b/core/assets/bundles/bundle_pl.properties @@ -7,24 +7,24 @@ link.reddit.description = Subreddit Mindustry link.github.description = Kod źródÅ‚owy gry link.changelog.description = Historia aktualizacji link.dev-builds.description = Niestabilne wersje gry -link.trello.description = Oficjalna tablica Trello z planowanym funkcjami -link.itch.io.description = Strona itch.io z oficjanymi wersjami do pobrania +link.trello.description = Oficjalna tablica Trello z planowanymi funkcjami +link.itch.io.description = Strona itch.io z oficjalnymi wersjami do pobrania link.google-play.description = Strona w sklepie Google Play -link.f-droid.description = Wykaz Katalogu F-Droid -link.wiki.description = Oficjana Wiki Mindustry +link.f-droid.description = Pozycja w F-Droid +link.wiki.description = Oficjalna Wiki Mindustry link.suggestions.description = Zaproponuj nowe funkcje link.bug.description = ZnalazÅ‚eÅ› błąd? ZgÅ‚oÅ› go tutaj +linkopen = Serwer wysÅ‚aÅ‚ ci link. Czy jesteÅ› pewnien, że chcesz go otworzyć?\n\n[sky]{0} linkfail = Nie udaÅ‚o siÄ™ otworzyć linku!\nURL zostaÅ‚ skopiowany. screenshot = Zapisano zrzut ekranu w {0} screenshot.invalid = Zrzut ekranu jest zbyt duży. Najprawdopodobniej brakuje miejsca w pamiÄ™ci urzÄ…dzenia. gameover = Koniec Gry gameover.disconnect = Odłącz gameover.pvp = ZwyciężyÅ‚a drużyna [accent]{0}[]! -gameover.waiting =[accent]Czekanie na nastÄ™pnÄ… mapÄ™... +gameover.waiting = [accent]Oczekiwanie na nastÄ™pnÄ… mapÄ™... highscore = [accent]Nowy rekord! copied = Skopiowano. indev.notready = Ta część gry nie jest jeszcze ukoÅ„czona -indev.campaign = [accent]UdaÅ‚o ci siÄ™ zakoÅ„czyć kampanie![]\n\nZawartość koÅ„czy siÄ™ na tym. Podróż miÄ™dzyplanetarna zostanie dodana w przyszÅ‚ych aktualizacjach. load.sound = DźwiÄ™ki load.map = Mapy @@ -41,16 +41,24 @@ be.ignore = Zignoruj be.noupdates = Nie znaleziono aktualizacji. be.check = Sprawdź aktualizacje -mod.featured.title = Wyszukiwarka Modów -mod.featured.dialog.title = Wyszukiwarka Modów +mods.browser = PrzeglÄ…darka Modów mods.browser.selected = Wybrany Mod -mods.browser.add = Zainstaluj Moda +mods.browser.add = Zainsta-\nluj Moda +mods.browser.reinstall = Przeins-\ntaluj +mods.browser.view-releases = Pokaż wydania +mods.browser.noreleases = [scarlet]Nie znaleziono wydaÅ„\n[accent]Nie znaleziono żadnych wydaÅ„ tego moda. Sprawdź czy ten mod posiada publiczne wydania w swoim repozytorium. +mods.browser.latest = +mods.browser.releases = Wydania mods.github.open = Otwórz w GitHub'ie +mods.github.open-release = Strona z wydaniem +mods.browser.sortdate = Sortuj wg ostatnich +mods.browser.sortstars = Sortuj wg gwiazdek schematic = Schemat schematic.add = Zapisz schemat... schematics = Schematy -schematic.replace = Schemat o takiej nazwie już istnieje. Czy chcesz go zastÄ…pić? +schematic.search = Wyszukaj schematy... +schematic.replace = Schemat o tej nazwie już istnieje. Czy chcesz go zastÄ…pić? schematic.exists = Schemat o tej nazwie już istnieje. schematic.import = Importuj Schemat... schematic.exportfile = Eksportuj plik @@ -62,21 +70,29 @@ schematic.shareworkshop = Podziel siÄ™ na Warsztacie schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Odwróć schemat schematic.saved = Schemat zapisany. schematic.delete.confirm = Ten schemat zostanie usuniÄ™ty. -schematic.rename = ZmieÅ„ nazwÄ™ schematu +schematic.edit = Edytuj Schemat schematic.info = {0}x{1}, {2} bloków schematic.disabled = [scarlet]Schematy sÄ… wyłączone[]\nNie możesz używać schematów na tej [accent]mapie[] lub [accent]serwerze. +schematic.tags = Tagi: +schematic.edittags = ZmieÅ„ Znacznik +schematic.addtag = Dodaj Znacznik +schematic.texttag = Tekst Znacznika +schematic.icontag = Ikona Znacznika +schematic.renametag = ZmieÅ„ NazwÄ™ Znacznika +schematic.tagged = {0} Otagowany +schematic.tagdelconfirm = Czy kompletnie usunąć znacznik? +schematic.tagexists = Taki znacznik już istnieje. stats = Statystyki -stat.wave = Fale powstrzymane:[accent] {0} -stat.enemiesDestroyed = Przeciwnicy zniszczeni:[accent] {0} -stat.built = Budynki zbudowane:[accent] {0} -stat.destroyed = Budynki zniszczone:[accent] {0} -stat.deconstructed = Budynki zrekonstruowane:[accent] {0} -stat.delivered = Surowce wystrzelone: -stat.playtime = Czas Gry:[accent] {0} -stat.rank = Ocena: [accent]{0} +stats.wave = Pokonane Fale +stats.unitsCreated = Wyprodukowane Jednostki +stats.enemiesDestroyed = Pokonani Wrogowie +stats.built = Zbudowane Budynki +stats.destroyed = Zniszczone Budynki +stats.deconstructed = Zdekonstruowane Budynki +stats.playtime = Przegrany Czas -globalitems = [accent]Global Items +globalitems = [accent]Wszystkie przedmioty map.delete = JesteÅ› pewny, że chcesz usunąć "[accent]{0}[]"? level.highscore = Rekord: [accent]{0} level.select = Wybrany poziom @@ -84,18 +100,21 @@ level.mode = Tryb gry: coreattack = < RdzeÅ„ jest atakowany! > nearpoint = [[ [scarlet]NATYCHMIAST OPUŚĆ PUNKT ZRZUTU[] ]\nnadciÄ…ga zniszczenie database = Centralna baza danych +database.button = Baza Danych savegame = Zapisz GrÄ™ loadgame = Wczytaj GrÄ™ joingame = Dołącz Do Gry customgame = WÅ‚asna Gra newgame = Nowa Gra none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Minimapa position = Pozycja close = Zamknij website = Strona Gry quit = Wyjdź -save.quit = Zapisz & Wyjdź +save.quit = Zapisz i Wyjdź maps = Mapy maps.browse = PrzeglÄ…daj Mapy continue = Kontynuuj @@ -110,30 +129,44 @@ committingchanges = Zatwierdzanie Zmian done = Gotowe feature.unsupported = Twoje urzÄ…dzenie nie wspiera tej funkcji. - -mods.alphainfo = PamiÄ™taj, że mody sÄ… wersji alpha, i[scarlet] mogÄ… być peÅ‚ne błędów[].\nZgÅ‚aszaj wszystkie znalezione problemy na Mindustry GitHub lub Discord. +mods.initfailed = [red]âš [] Inicjalizacja poprzedniej instancji Mindustry nie powiodÅ‚a siÄ™. Najprawdopodobniej byÅ‚o to spowodowane niewÅ‚aÅ›ciwym dziaÅ‚aniem modów.\n\nAby zapobiec pÄ™tli awarii, [red]wszystkie mody zostaÅ‚y wyłączone.[]\n\nAby wyłączyć tÄ™ funkcjÄ™, należy wyłączyć jÄ… w ustawieniach [accent]Ustawienia->Gra->Wyłącz mody w przypadku awarii podczas uruchamiania[]. mods = Mody mods.none = [lightgray]Nie znaleziono modów! mods.guide = Poradnik do modów -mods.report = ZgÅ‚oÅ› Błąd +mods.report = ZgÅ‚oÅ› błąd mods.openfolder = Otwórz folder z modami +mods.viewcontent = Zobacz zawartość mods.reload = PrzeÅ‚aduj mods.reloadexit = Gra zostanie teraz zamkniÄ™ta, aby ponownie zaÅ‚adować mody. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Włączony mod.disabled = [scarlet]Wyłączony +mod.multiplayer.compatible = [gray]Kompatybilny z trybem wieloosobowym mod.disable = Wyłącz +mod.version = Version: mod.content = Zawartość: mod.delete.error = Nie udaÅ‚o siÄ™ usunąć moda. Plik może być w użyciu. -mod.requiresversion = [scarlet]Wymaga gry w wersji co najmniej: [accent]{0} -mod.outdated = [scarlet]Niekompatybilne z wersjÄ… v6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]BrakujÄ…ce zależnoÅ›ci: {0} +mod.incompatiblegame = [red]PrzestarzaÅ‚a Gra +mod.incompatiblemod = [red]Niekompatybilne +mod.blacklisted = [red]Niewspierane +mod.unmetdependencies = [red]NiespeÅ‚nione Zależnośći mod.erroredcontent = [scarlet]Błędy ZawartoÅ›ci +mod.circulardependencies = [red]Zagnieżdżone zależnoÅ›ci +mod.incompletedependencies = [red]BrakujÄ…ce zależnoÅ›ci +mod.requiresversion.details = Wymaga wersji gry: [accent]{0}[]\nTwoja gra jest przestarzaÅ‚a. Ten mod potrzebuje nowszej wersji gry (możliwe, że wersji w fazie alfa/beta) aby mógÅ‚ funkcjonować. +mod.outdatedv7.details = Ten mod jest niekompatybilny z najnowszÄ… wersjÄ… gry. Autor musi go zaktualizować, i dodać [accent]minGameVersion: 136[] w pliku [accent]mod.json[]. +mod.blacklisted.details = Ten mod zostaÅ‚ rÄ™czenie przeniesiony na czarnÄ… listÄ™, ponieważ powodowaÅ‚ wyłączenia gry i inne problemy na tej wersji. Nie używaj go. +mod.missingdependencies.details = W tym modzie brakuje zależnośći: {0} +mod.erroredcontent.details = Ten mod spowodowaÅ‚ błędy przy uruchomianu. PoproÅ› autora moda o ich naprawienie. +mod.circulardependencies.details = Ten mod posiada zależnoÅ›ci, które sÄ… zależne od innych zależnoÅ›ci. +mod.incompletedependencies.details = Moda nie da siÄ™ zaÅ‚adować z powodu niepoprawnych lub brakujÄ…cych zależnoÅ›ci: {0}. +mod.requiresversion = Wymagana wersja gry: [red]{0} mod.errors = WystÄ…piÅ‚ błąd podczas Å‚adowania treÅ›ci. mod.noerrorplay = [scarlet]Twoje mody zawierajÄ… błędy.[] Wyłącz je lub napraw błędy przed rozpoczÄ™ciem gry. mod.nowdisabled = [scarlet]Brakuje zależnoÅ›ci dla moda '{0}':[accent] {1}\n[lightgray]Najpierw trzeba Å›ciÄ…gnąć te mody.\nMod zostanie automatycznie wyłączony. mod.enable = Włącz -mod.requiresrestart = Gra siÄ™ wyłączy aby wprowadzić zmiany moda. +mod.requiresrestart = Gra zostanie wyłączona aby wprowadzić zmiany w modzie. mod.reloadrequired = [scarlet]Wymagany restart mod.import = Importuj Mod mod.import.file = Importuj Plik @@ -144,24 +177,33 @@ mod.remove.confirm = Ten mod zostanie usuniÄ™ty. mod.author = [lightgray]Autor:[] {0} mod.missing = Ten zapis zawiera mody, które zostaÅ‚y niedawno zaktualizowane, bÄ…dź nie sÄ… już zainstalowane. Zapis może zostać uszkodzony. Czy jesteÅ› pewien, że chcesz go zaÅ‚adować?\n[lightgray]Mody:\n{0} mod.preview.missing = Przed opublikowaniem tego moda na Warsztacie musisz dodać zdjÄ™cie podglÄ…dowe.\nDodaj zdjÄ™cie o nazwie[accent] preview.png[] do folderu moda i spróbuj jeszcze raz. -mod.folder.missing = Jedynie mody w formie folderów mogÄ… siÄ™ znaleźć na Warsztacie.\nBy zamienić moda w folder, wyciÄ…gnij go z archiwum, umieść w folderze i usuÅ„ archiwum. Później uruchom ponownie grÄ™ lub zaÅ‚aduj ponownie mody. +mod.folder.missing = Jedynie mody w formie folderów mogÄ… siÄ™ znaleźć na Warsztacie.\nAby zamienić moda w folder, wyciÄ…gnij go z archiwum, umieść w folderze i usuÅ„ archiwum. Później uruchom ponownie grÄ™ lub zaÅ‚aduj ponownie mody. mod.scripts.disable = Twoje urzÄ…dzenie nie wspiera modów ze skryptami. Musisz wyłączyć te modyfikacje, aby móc grać. about.button = O Grze name = Nazwa: noname = Najpierw wybierz[accent] nazwÄ™ gracza[]. +search = Szukaj: planetmap = Mapa Planety launchcore = Wystrzel RdzeÅ„ filename = Nazwa Pliku: unlocked = Odblokowano nowÄ… zawartość! -available =Nowe Odkrycie dostÄ™pne +available = Nowe Odkrycie dostÄ™pne +unlock.incampaign = < Odblokuj w kampanii dla szczegółów > +campaign.select = Wybierz poczÄ…tkowÄ… kampaniÄ™ +campaign.none = [lightgray]Wybierz planetÄ™, na której chcesz zacząć.\nMożesz zmienić planetÄ™ w każdej chwili. +campaign.erekir = Nowsza, bardziej dopracowana zawartość. Kampania postÄ™puje bardziej liniowo.\n\nWyższej jakoÅ›ci mapy oraz rozgrywka. +campaign.serpulo = Starsza zawartość; klasyczne doÅ›wiadczenia. Bardziej otwarta.\n\nPotencjalnie niezbalansowane mapy i mechaniki. SÅ‚abiej dopracowana. +campaign.difficulty = Difficulty completed = [accent]UkoÅ„czony -techtree = Drzewo Technologiczne -research.legacy = Znaleziono badania z wersji [accent]5.0[].\nCzy chcesz [accent]zaÅ‚adować je[], albo [accent]usunąć[] dane z drzewa technologiczno (rekomendowane)? +techtree = Drzewo Techno-\nlogiczne +techtree.select = Wybór Drzewa Technologicznego +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = ZaÅ‚aduj research.discard = Odrzuć research.list = [lightgray]Badania: -research = Badaj +research = Badania researched = [lightgray]{0} zbadane. research.progress = {0}% ukoÅ„czone players = {0} graczy @@ -170,24 +212,24 @@ players.search = wyszukaj players.notfound = [gray]nie znaleziono graczy server.closing = [accent]Zamykanie serwera... server.kicked.kick = ZostaÅ‚eÅ› wyrzucony z serwera! -server.kicked.whitelist = Nie ma ciÄ™ tu na biaÅ‚ej liÅ›cie. +server.kicked.whitelist = Nie jesteÅ› na biaÅ‚ej liÅ›cie. server.kicked.serverClose = Serwer zostaÅ‚ zamkniÄ™ty. server.kicked.vote = ZostaÅ‚eÅ› wyrzucony z gry. Å»egnaj. -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.banned = ZostaÅ‚eÅ› zbanowany na tym serwerze. server.kicked.typeMismatch = Ten serwer jest niekompatybilny z twojÄ… wersjÄ… gry. server.kicked.playerLimit = Serwer peÅ‚ny. Poczekaj na wolne miejsce. -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łączeniem. server.kicked.nameInUse = Ta nazwa jest już zajÄ™ta na tym serwerze. server.kicked.nameEmpty = Wybrana przez Ciebie nazwa jest nieprawidÅ‚owa. -server.kicked.idInUse = JesteÅ› już na serwerze! ÅÄ…czenie siÄ™ z dwóch kont nie jest dozwolone. +server.kicked.idInUse = JesteÅ› już na serwerze! ÅÄ…czenie siÄ™ z dwóch kont jest niedozwolone. server.kicked.customClient = Ten serwer nie wspomaga wersji deweloperskich. Pobierz oficjalnÄ… wersjÄ™. server.kicked.gameover = Koniec gry! server.kicked.serverRestarting = Restart serwera. server.versions = Twoja wersja gry:[accent] {0}[]\nWersja gry serwera:[accent] {1}[] -host.info = Przycisk [accent]host[] hostuje serwer na porcie [scarlet]6567[]. \nKażdy w tej samej sieci [lightgray]wifi lub hotspocie[] powinien zobaczyć twój serwer na ich liÅ›cie serwerów.\n\nJeÅ›li chcesz, aby każdy z twoim IP mógÅ‚ dołączyć, musisz wykonać [accent]przekierowywanie portów[].\n\n[lightgray]Notka: JeÅ›li ktokolwiek ma problem z dołączeniem do gry lokalnej, upewnij siÄ™, że udostÄ™pniÅ‚eÅ› Mindustry dostÄ™p do sieci w ustawieniach zapory (firewall). Zauważ, że niektóre sieci publiczne mogÄ… nie zezwalać na wykrycie serwerów. -join.info = Tutaj możesz wpisać [accent]adres IP serwera[] aby do niego dołączyć lub wyszukać [accent]serwery w lokalnej sieci[] lub wyszukać [accent]publiczne[] serwery, do których możesz dołączyć.\nGra wieloosobowa na LAN i WAN jest wspierana.\n\n[lightgray]JeÅ›li chcesz dołączyć przez IP, musisz zapytać hosta o jego IP, które można znaleźć po wpisaniu "my ip" w przeglÄ…darce na urzÄ…dzeniu hosta. +host.info = Przycisk [accent]host[] hostuje serwer na porcie [scarlet]6567[]. \nKażdy w tej samej sieci [lightgray]Wi-Fi lub HotSpocie[] powinien zobaczyć twój serwer na ich liÅ›cie serwerów.\n\nJeÅ›li chcesz, aby każdy z twoim IP mógÅ‚ dołączyć, musisz wykonać [accent]przekierowywanie portów[].\n\n[lightgray]Notka: JeÅ›li ktokolwiek ma problem z dołączeniem do gry lokalnej, upewnij siÄ™, że udostÄ™pniÅ‚eÅ› Mindustry dostÄ™p do sieci w ustawieniach zapory sieciowej (firewall). Zauważ, że niektóre sieci publiczne mogÄ… nie zezwalać na wykrycie serwerów. +join.info = Tutaj możesz wpisać [accent]adres IP serwera[] aby do niego dołączyć lub wyszukać [accent]serwery w sieci lokalnej[] lub wyszukać [accent]publiczne[] serwery, do których możesz dołączyć.\nGra wieloosobowa na LAN i WAN jest wspierana.\n\n[lightgray]JeÅ›li chcesz dołączyć przez IP, musisz zapytać hosta o jego IP, które można znaleźć po wpisaniu "my ip" w przeglÄ…darce na urzÄ…dzeniu hosta. hostserver = Stwórz Serwer invitefriends = ZaproÅ› Znajomych hostserver.mobile = Hostuj GrÄ™ @@ -201,6 +243,7 @@ hosts.none = [lightgray]Brak serwerów w sieci LAN! host.invalid = [scarlet]Nie można połączyć siÄ™ z hostem. servers.local = Serwery Lokalne +servers.local.steam = Otwieraj Gry i Lokalne Serwery servers.remote = Serwery Zdalne servers.global = Serwery Publiczne @@ -208,17 +251,28 @@ servers.disclaimer = Serwery spoÅ‚ecznoÅ›ci [accent]nie sÄ…[] w posiadaniu ani n servers.showhidden = Pokaż Ukryte Serwery server.shown = Pokazane server.hidden = Ukryte +viewplayer = Viewing Player: [accent]{0} trace = Zlokalizuj Gracza trace.playername = Nazwa gracza: [accent]{0} trace.ip = IP: [accent]{0} trace.id = WyjÄ…tkowe ID: [accent]{0} +trace.language = JÄ™zyk: [accent]{0} trace.mobile = Klient Mobilny: [accent]{0} trace.modclient = Zmodowany klient: [accent]{0} -invalidid = ZÅ‚e ID klienta! UdostÄ™pnij raport błędu. +trace.times.joined = DołączyÅ‚: [accent]{0}[] razy +trace.times.kicked = Wyrzucony: [accent]{0}[] razy +trace.ips = Adresy IP: +trace.names = Nazwy: +invalidid = ZÅ‚e ID klienta! WyÅ›lij raport błędu. +player.ban = Zbanuj +player.kick = Wyrzuć +player.trace = Namierz +player.admin = Przyznaj uprawnienia administracyjne +player.team = ZmieÅ„ DrużynÄ™ server.bans = Bany server.bans.none = Nie znaleziono zbanowanych osób! -server.admins = Admini +server.admins = Administratorzy server.admins.none = Nie znaleziono adminów! server.add = Dodaj Serwer server.delete = Czy na pewno chcesz usunąć ten serwer? @@ -229,27 +283,30 @@ server.version = [gray]Wersja: {0} server.custombuild = [accent]Zmodowany klient confirmban = JesteÅ› pewny, że chcesz zbanować "{0}[white]"? confirmkick = JesteÅ› pewny, że chcesz wyrzucić "{0}[white]"? -confirmvotekick = JesteÅ› pewny, że chcesz gÅ‚osować za wyrzuceniem "{0}[white]"? confirmunban = JesteÅ› pewny, że chcesz odbanować tego gracza? -confirmadmin = JesteÅ› pewny, że chcesz dać rangÄ™ admina "{0}[white]"? -confirmunadmin = JesteÅ› pewny, że chcesz zabrać rangÄ™ admina "{0}[white]"? +confirmadmin = JesteÅ› pewny, że chcesz dać rangÄ™ administratora "{0}[white]"? +confirmunadmin = JesteÅ› pewny, że chcesz zabrać rangÄ™ administratora "{0}[white]"? +votekick.reason = Powód gÅ‚osowania +votekick.reason.message = Czy jesteÅ› pewien, że chcesz gÅ‚osować za wyrzuceniem "{0}[white]"?\nJeÅ›li tak, proszÄ™ podaj powód: joingame.title = Dołącz do gry -joingame.ip = IP: +joingame.ip = Adres IP: disconnect = Rozłączono. disconnect.error = Błąd połączenia. disconnect.closed = Połączenie zostaÅ‚o zamkniÄ™te. disconnect.timeout = Przekroczono limit czasu. disconnect.data = Nie udaÅ‚o siÄ™ zaÅ‚adować mapy! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Nie można dołączyć do gry ([accent]{0}[]). connecting = [accent]ÅÄ…czenie... reconnecting = [accent]Ponowne łączenie... connecting.data = [accent]Åadowanie danych Å›wiata... server.port = Port: -server.addressinuse = Adres jest już w użyciu! server.invalidport = NieprawidÅ‚owy numer portu. +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Błąd hostowania serwera: [accent]{0} save.new = Nowy zapis save.overwrite = Czy na pewno chcesz nadpisać zapis gry? +save.nocampaign = PojedyÅ„cze zapisy z kampani nie mogÄ… zostać zaimportowane. overwrite = Nadpisz save.none = Nie znaleziono zapisów gry! savefail = Nie udaÅ‚o siÄ™ zapisać gry! @@ -259,7 +316,7 @@ save.export = Eksportuj save.import.invalid = [accent]Zapis gry jest niepoprawny! save.import.fail = [crimson]Nie udaÅ‚o siÄ™ zaimportować zapisu: [accent]{0} save.export.fail = [crimson]Nie udaÅ‚o siÄ™ wyeksportować zapisu: [accent]{0} -save.import = Importuj Zapis +save.import = Importuj zapis save.newslot = Zapisz nazwÄ™: save.rename = ZmieÅ„ nazwÄ™ save.rename.text = Nowa nazwa: @@ -270,11 +327,12 @@ save.corrupted = Zapis gry jest uszkodzony lub nieprawidÅ‚owy! empty = on = Włączone off = Wyłączone +save.search = Szukanie zapisanych gier... save.autosave = Autozapis: {0} save.map = Mapa: {0} save.wave = Fala {0} -save.mode = Tryb Gry: {0} -save.date = Ostatnio Zapisane: {0} +save.mode = Tryb gry: {0} +save.date = Ostatnio zapisane: {0} save.playtime = Czas gry: {0} warning = Uwaga. confirm = Potwierdź @@ -285,29 +343,52 @@ ok = OK open = Otwórz customize = Dostosuj zasady cancel = Anuluj +command = Rozkazy +command.queue = [lightgray][Queuing] +command.mine = Kop +command.repair = Naprawiaj +command.rebuild = Odbudowywuj +command.assist = Asystuj Graczowi +command.move = Przemieść +command.boost = Przyspiesz +command.enterPayload = Enter Payload Block +command.loadUnits = ZaÅ‚aduj Jednostki +command.loadBlocks = ZaÅ‚aduj Bloki +command.unloadPayload = RozÅ‚aduj Åadunek +command.loopPayload = Loop Unit Transfer +stance.stop = Analuj Rozkazy +stance.shoot = Strzelaj +stance.holdfire = Wstrzymaj OgieÅ„ +stance.pursuetarget = GoÅ„ Cel +stance.patrol = Patroluj Obszar +stance.ram = Taranuj\n[lightgray]Ruch w prostej linii bez znajdowania drogi openlink = Otwórz Link copylink = Kopiuj Link back = Wróć -crash.export = Eksportuj logi błędów. +max = Maks. +objective = Cel Mapy +crash.export = Eksportuj Logi Błędów crash.none = Nie znaleziono logów błędów. -crash.exported = Logi zostaÅ‚y przeniesione. +crash.exported = Logi zostaÅ‚y wyeksportowane. data.export = Eksportuj Dane data.import = Importuj Dane -data.openfolder = Otwórz folder danych +data.openfolder = Otwórz Folder Danych data.exported = Dane wyeksportowane. data.invalid = NieprawidÅ‚owe dane gry. data.import.confirm = Zaimportowanie zewnÄ™trznych danych nadpisze[scarlet] wszystkie[] obecne dane gry.\n[accent]Nie można tego cofnąć![]\n\nGdy dane zostanÄ… zaimportowane, gra automatycznie siÄ™ wyłączy. quit.confirm = Czy na pewno chcesz wyjść? -quit.confirm.tutorial = JesteÅ› pewien?\nSamouczek może zostać powtórzony w[accent] Ustawienia->Gra->Ponów samouczek.[] loading = [accent]Åadowanie... -reloading = [accent]PrzeÅ‚adowywanie Modów... +downloading = [accent]Pobieranie... saving = [accent]Zapisywanie... respawn = [accent][[{0}][] by odrodzić siÄ™ w rdzeniu cancelbuilding = [accent][[{0}][] by wyczyÅ›cić plan selectschematic = [accent][[{0}][] by wybrać+skopiować pausebuilding = [accent][[{0}][] by wstrzymać budowÄ™ resumebuilding = [scarlet][[{0}][] by kontynuować budowÄ™ +enablebuilding = [scarlet][[{0}][] wznów budowÄ™ showui = Interfejs ukryty.\nNaciÅ›nij [accent][[{0}][] by go pokazać. +commandmode.name = [accent]Tryb poleceÅ„ +commandmode.nounits = [no units] wave = [accent]Fala {0} wave.cap = [accent]Fala {0}/{1} wave.waiting = [lightgray]Fala za {0} @@ -318,31 +399,36 @@ wave.enemies = PozostaÅ‚o [lightgray]{0} wrogów wave.enemycores = [accent]{0}[lightgray] Rdzeni Wroga wave.enemycore = [accent]{0}[lightgray] RdzeÅ„ Wroga wave.enemy = PozostaÅ‚ [lightgray]{0} wróg -wave.guardianwarn = Strażnik nadejdzie za [accent]{0}[] fale. -wave.guardianwarn.one = Strażnik nadejdzie za [accent]{0}[] fale. +wave.guardianwarn = Strażnik nadejdzie za [accent]{0}[] fal. +wave.guardianwarn.one = Strażnik nadejdzie za [accent]{0}[] falÄ™. loadimage = ZaÅ‚aduj Obraz saveimage = Zapisz Obraz unknown = Nieznane custom = WÅ‚asne builtin = Wbudowane -map.delete.confirm = JesteÅ› pewny, że chcesz usunąć tÄ™ mapÄ™? Nie bÄ™dzie można jej przywrócić! +map.delete.confirm = Czy jesteÅ› pewny, że chcesz usunąć tÄ™ mapÄ™? Nie bÄ™dzie można jej przywrócić! map.random = [accent]Losowa Mapa -map.nospawn = Ta mapa nie zawiera żadnego rdzenia! Dodaj [accent]pomaraÅ„czowy[] rdzeÅ„ do tej mapy w edytorze. -map.nospawn.pvp = Ta mapa nie ma żadnego rdzenia przeciwnika, aby mogli siÄ™ zrespić przeciwnicy! Dodaj[scarlet] inny niż pomaraÅ„czowy[] rdzeÅ„ do mapy w edytorze. -map.nospawn.attack = Ta mapa nie ma żadnego rdzenia przeciwnika, aby można byÅ‚o go zaatakować! Dodaj[scarlet] czerwony[] rdzeÅ„ do mapy w edytorze. +map.nospawn = Ta mapa nie zawiera żadnego rdzenia! Dodaj {0} rdzeÅ„ do tej mapy w edytorze. +map.nospawn.pvp = Ta mapa nie ma żadnego rdzenia przeciwnika, aby mogli siÄ™ zrespić przeciwnicy! Dodaj [scarlet]inny niż żółty[] rdzeÅ„ do mapy w edytorze. +map.nospawn.attack = Ta mapa nie ma żadnego rdzenia przeciwnika, aby można byÅ‚o go zaatakować! Dodaj {0} rdzeÅ„ do mapy w edytorze. map.invalid = Błąd podczas Å‚adowania mapy: uszkodzony lub niepoprawny plik mapy. workshop.update = Aktualizuj pozycjÄ™ workshop.error = Błąd podczas wczytywania szczegółów z Warsztatu: {0} map.publish.confirm = Czy jesteÅ› pewien, że chcesz opublikować tÄ™ mapÄ™?\n\n[lightgray]Najpierw upewnij siÄ™, że zgadzasz siÄ™ z umowÄ… EULA Warsztatu, w przeciwnym razie twoje mapy nie bÄ™dÄ… widoczne! -workshop.menu = Wybierz co chcesz zrobić z tÄ… pozycjÄ…. +workshop.menu = Wybierz, co chcesz zrobić z tÄ… pozycjÄ…. workshop.info = Informacja o pozycji changelog = Historia aktualizacji (opcjonalna): +updatedesc = ZastÄ…p TytuÅ‚ i Opis eula = Umowa Użytkownika KoÅ„cowego (EULA) Steam missing = Ta pozycja zostaÅ‚a przeniesiona bÄ…dź usuniÄ™ta.\n[lightgray]Pozycja na Warsztacie zostaÅ‚a automatycznie odłączona. publishing = [accent]Publikowanie... publish.confirm = Czy jesteÅ› pewien, że chcesz to opublikować?\n\n[lightgray]Najpierw upewnij siÄ™, że zgadzasz siÄ™ z umowÄ… EULA Warsztatu, w przeciwnym razie twoje pozycje nie bÄ™dÄ… widoczne! publish.error = Błąd podczas publikowania pozycji: {0} steam.error = Nie udaÅ‚o siÄ™ zainicjować serwisów Steam.\nBłąd: {0} +editor.planet = Planeta: +editor.sector = Sektor: +editor.seed = Ziarno: +editor.cliffs = Åšciany Na Klify editor.brush = PÄ™dzel editor.openin = Otwórz w Edytorze @@ -351,40 +437,76 @@ editor.oregen.info = Generacja Złóż: editor.mapinfo = Informacje o Mapie editor.author = Autor: editor.description = Opis: -editor.nodescription = Mapa musi posiadać opis o dÅ‚ugoÅ›ci co najmniej 4 znaków zanim zostanie opublikowana. +editor.nodescription = Mapa musi posiadać opis o dÅ‚ugoÅ›ci co najmniej 4 znaków, zanim zostanie opublikowana. editor.waves = Fale: editor.rules = Zasady: editor.generation = Generacja: +editor.objectives = Cele +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Edytuj w Grze +editor.playtest = Testuj MapÄ™ editor.publish.workshop = Opublikuj w Warsztacie editor.newmap = Nowa Mapa -editor.center = Center +editor.center = WyÅ›rodkuj +editor.search = Przeszukaj mapy... +editor.filters = Przefiltruj Mapy +editor.filters.mode = Tryby Gry: +editor.filters.type = Typ Mapy: +editor.filters.search = Szukaj W: +editor.filters.author = Autor +editor.filters.description = Opis +editor.shiftx = PrzesuniÄ™cie X +editor.shifty = PrzesuniÄ™cie Y workshop = Warsztat waves.title = Fale waves.remove = UsuÅ„ -waves.never = waves.every = co waves.waves = fal(e) +waves.health = zdrowie: {0}% waves.perspawn = co pojawienie waves.shields = tarcze/fala waves.to = do +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Wybierz Miejsce Odrodzania +waves.spawn.none = [scarlet]Brak punktów spawnu na mapie +waves.max = maks. jednostek waves.guardian = Strażnik waves.preview = PodglÄ…d waves.edit = Edytuj... +waves.random = Losowe waves.copy = Kopiuj Do Schowka waves.load = ZaÅ‚aduj Ze Schowka waves.invalid = NieprawidÅ‚owe fale w schowku. waves.copied = Fale zostaÅ‚y skopiowane. waves.none = Brak zdefiniowanych wrogów.\nPamiÄ™taj, że puste ukÅ‚ady fal zostanÄ… automatycznie zastÄ…pione ukÅ‚adem domyÅ›lnym. +waves.sort = Sortuj WedÅ‚ug +waves.sort.reverse = Odwrotne Sortowanie +waves.sort.begin = Rozpocznij +waves.sort.health = Zdrowie +waves.sort.type = Typ +waves.search = Wyszukaj Fale... +waves.filter = Filtr jednostek +waves.units.hide = Schowaj Wszystkie +waves.units.show = Pokaż Wszystkie #these are intentionally in lower case wavemode.counts = liczba wavemode.totals = sumy wavemode.health = życie +all = All editor.default = [lightgray] details = Detale... edit = Edytuj... +variables = Zmienne +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nazwa: editor.spawn = Stwórz JednostkÄ™ editor.removeunit = UsuÅ„ JednostkÄ™ @@ -396,13 +518,19 @@ editor.errorlegacy = Ta mapa jest zbyt stara i używa starszego formatu mapy, kt editor.errornot = To nie jest plik mapy. editor.errorheader = Ten plik mapy jest nieprawidÅ‚owy lub uszkodzony. editor.errorname = Mapa nie zawiera nazwy. Czy próbujesz zaÅ‚adować zapis gry? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Aktualizuj editor.randomize = Losuj +editor.moveup = PrzesuÅ„ w górÄ™ +editor.movedown = PrzesuÅ„ w dół +editor.copy = Kopiuj editor.apply = Zastosuj editor.generate = Generuj +editor.sectorgenerate = Generuj Sektor editor.resize = ZmieÅ„ Rozmiar editor.loadmap = ZaÅ‚aduj MapÄ™ editor.savemap = Zapisz MapÄ™ +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Zapisano! editor.save.noname = Twoja mapa nie ma nazwy! Ustaw jÄ… w 'Informacjach o mapie'. editor.save.overwrite = Ta mapa nadpisze wbudowanÄ… mapÄ™! Ustaw innÄ… nazwÄ™ w 'Informacjach o mapie'. @@ -441,8 +569,12 @@ toolmode.eraseores = Wymaż Rudy toolmode.eraseores.description = Usuwa tylko rudy. toolmode.fillteams = WypeÅ‚nij Drużyny toolmode.fillteams.description = WypeÅ‚nia drużyny zamiast bloków. +toolmode.fillerase = UsuÅ„ Typ +toolmode.fillerase.description = Usuwa bloki tego samego typu. toolmode.drawteams = Rysuj Drużyny toolmode.drawteams.description = Rysuje drużyny zamiast bloków. +toolmode.underliquid = Pod Cieczami +toolmode.underliquid.description = Narysuj podÅ‚ogi pod pÅ‚ynnymi obszarami. filters.empty = [lightgray]Brak filtrów! Dodaj jeden za pomocÄ… przycisku poniżej. filter.distort = ZnieksztaÅ‚canie @@ -461,6 +593,7 @@ filter.clear = Oczyść filter.option.ignore = Ignoruj filter.scatter = Rozprosz filter.terrain = Teren +filter.logic = Logika filter.option.scale = Skala filter.option.chance = Szansa filter.option.mag = Wielkość @@ -469,17 +602,39 @@ filter.option.circle-scale = Skala KoÅ‚a filter.option.octaves = Oktawy filter.option.falloff = Spadek filter.option.angle = KÄ…t +filter.option.tilt = Nachylenie +filter.option.rotate = Obróć filter.option.amount = Ilość filter.option.block = Blok filter.option.floor = PodÅ‚oga filter.option.flooronto = PodÅ‚oga Docelowa -filter.option.target = Target +filter.option.target = Cel +filter.option.replacement = ZastÄ…pienie filter.option.wall = Åšciana filter.option.ore = Ruda filter.option.floor2 = Druga PodÅ‚oga filter.option.threshold2 = Drugi Próg filter.option.radius = ZasiÄ™g filter.option.percentile = Procent +filter.option.code = Kod +filter.option.loop = PÄ™tla +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Czy na pewno chcesz usunąć ten pakiet lokalizacji? +locales.applytoall = Zastosuj Do Wszystkich Lokalizacji +locales.addtoother = Dodaj Do Innych Lokalizacji +locales.rollback = Cofnij do ostatnio zastosowanego +locales.filter = Filtr wÅ‚aÅ›ciwoÅ›ci +locales.searchname = Szukaj nazwy... +locales.searchvalue = Szukaj wartoÅ›ci... +locales.searchlocale = Szukaj lokalizacji... +locales.byname = Po nazwie +locales.byvalue = Po wartośći +locales.showcorrect = Pokaż wÅ‚aÅ›ciwoÅ›ci, które sÄ… obecne we wszystkich lokalizacjach i wszÄ™dzie majÄ… unikalne wartoÅ›ci +locales.showmissing = Pokaż wÅ‚aÅ›ciwoÅ›ci, których brakuje w niektórych lokalizacjach +locales.showsame = Pokaż wÅ‚aÅ›ciwoÅ›ci, które majÄ… te same wartoÅ›ci w różnych lokalizacjach +locales.viewproperty = WyÅ›wietlanie we wszystkich lokalizacjach +locales.viewing = WyÅ›wietlanie wÅ‚aÅ›ciwoÅ›ci "{0}" +locales.addicon = Dodaj IkonÄ™ width = Szerokość: height = Wysokość: @@ -490,61 +645,117 @@ load = Wczytaj save = Zapisz fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} memory = Pam: {0}mb memory2 = Pam:\n {0}mb +\n {1}mb language.restart = Uruchom grÄ™ ponownie, aby nowo ustawiony jÄ™zyk zaczÄ…Å‚ funkcjonować. settings = Ustawienia -tutorial = Poradnik +tutorial = Samouczek tutorial.retake = Ponów Samouczek editor = Edytor mapeditor = Edytor Map 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 zostanÄ… przejÄ™te przez przeciwników. locked = Zablokowane complete = [lightgray]UkoÅ„czone: requirement.wave = OsiÄ…gnij falÄ™ {0} w {1} -requirement.core = Zniszcz RdzeÅ„ wroga w {0} +requirement.core = Zniszcz rdzeÅ„ wroga w {0} requirement.research = Zbadaj {0} requirement.produce = Produkcja {0} requirement.capture = ZdobÄ…dź {0} +requirement.onplanet = Kontrolowane Sektory na {0} +requirement.onsector = WylÄ…duj na Sektorze: {0} launch.text = Wystrzel -research.multiplayer = Tylko host może odkrywać przedmoty. map.multiplayer = Tylko host może widzieć sektory uncover = Odkryj configure = Skonfiguruj Åadunek +objective.research.name = Zbadaj +objective.produce.name = ZdobÄ…dź +objective.item.name = ZdobÄ…dź Przedmiot +objective.coreitem.name = Przedmiot z Rdzenia +objective.buildcount.name = Liczba Budynków +objective.unitcount.name = Liczba Jednostek +objective.destroyunits.name = Zniszcz Jednostki +objective.timer.name = Stoper +objective.destroyblock.name = Zniszcz Blok +objective.destroyblocks.name = Zniszcz Bloki +objective.destroycore.name = Zniszcz RdzeÅ„ +objective.commandmode.name = Tryb PoleceÅ„ +objective.flag.name = Oznaczenie +marker.shapetext.name = Dostosuj Tekst +marker.point.name = Point +marker.shape.name = Figura +marker.text.name = Tekst +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = TÅ‚o +marker.outline = Kontur +objective.research = [accent]Zbadaj:\n[]{0}[lightgray]{1} +objective.produce = [accent]ZdobÄ…dź:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Zniszcz:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Zniszcz: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]ZdobÄ…dź: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]PrzenieÅ› do Rdzenia:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Buduj: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Zbudowane Jednostki: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Zniszczono: [][lightgray]{0}[]x Jednostek +objective.enemiesapproaching = [accent]Wrogowie zbliżą siÄ™ za [lightgray]{0}[] +objective.enemyescelating = [accent]Produkcja wrogich jednostek za [lightgray]{0}[] +objective.enemyairunits = [accent]Produkcja latajÄ…cych wrogich jednostek za [lightgray]{0}[] +objective.destroycore = [accent]Zniszcz RdzeÅ„ Przeciwnika +objective.command = [accent]Dowódź Jednostkami +objective.nuclearlaunch = [accent]âš  Wykryto wystrzaÅ‚ nuklearny: [lightgray]{0} +announce.nuclearstrike = [red]âš  NADCHODZI UDERZENIE NUKLEARNE âš  -loadout = Loadout -resources = Zasoby +loadout = Åadunek +resources = Zasoby +resources.max = Maks. bannedblocks = Zabronione bloki +unbannedblocks = Unbanned Blocks +objectives = Cele +bannedunits = Zabronione jednostki +unbannedunits = Unbanned Units +bannedunits.whitelist = Zablokowane jednostki jako biaÅ‚a lista +bannedblocks.whitelist = Zablokowane bloki jako biaÅ‚a lista addall = Dodaj wszystkie -launch.from = Wstrzelony Z: [accent]{0} +launch.from = Wystrzelony z: [accent]{0} +launch.capacity = Wystrzelona Ilość Przedmiotów: [accent]{0} launch.destination = Cel: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Ilość musi być liczbÄ… pomiÄ™dzy 0 a {0}. add = Dodaj... -boss.health = Zdrowie Strażnika +guardian = Zdrowie Strażnika 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.\nSprawdź, czy adres jest wpisany poprawnie. error.invalidaddress = Niepoprawny adres. error.timedout = Przekroczono limit czasu!\nUpewnij siÄ™, że host ma ustawione przekierowanie portu oraz sprawdź poprawność wpisanego adresu! -error.mismatch = Błąd pakietu:\nprawdopodobne niedopasowanie klienta/serwera.\nUpewnij siÄ™, że ty i host macie najnowszÄ… wersjÄ™ Mindustry! +error.mismatch = Błąd pakietu:\nprawdopodobne niedopasowanie klienta/serwera.\nUpewnij siÄ™, że ty i host macie takÄ… samÄ… wersjÄ™ Mindustry! error.alreadyconnected = JesteÅ› już połączony. error.mapnotfound = Plik mapy nie zostaÅ‚ znaleziony! error.io = Błąd sieciowy I/O. error.any = Nieznany błąd sieci. -error.bloom = Nie udaÅ‚o siÄ™ zaÅ‚adować bloom.\nTwoje urzÄ…dzenie może nie wspierać tej funkcji. +error.bloom = Nie udaÅ‚o siÄ™ zaÅ‚adować funkcji bloom.\nTwoje urzÄ…dzenie może nie wspierać tej funkcji. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Deszcz -weather.snow.name = Åšnieg +weather.snowing.name = Åšnieg weather.sandstorm.name = Burza piaskowa weather.sporestorm.name = Burza zarodników weather.fog.name = MgÅ‚a +campaign.playtime = \uf129 [lightgray]Czas gry na sektorze: {0} +campaign.complete = [accent]Gratulacje.\n\nWróg na sektorze {0} zostaÅ‚ pokonany.\n[lightgray]Ostatni sektor zostaÅ‚ podbity. +sectorlist = Sektory +sectorlist.attacked = {0} atakowanych sectors.unexplored = [lightgray]Niezbadane sectors.resources = Zasoby: sectors.production = Produkcja: sectors.export = Eksport: +sectors.import = Import: sectors.time = Czas: sectors.threat = Zagrożenie: sectors.wave = Fala: @@ -552,30 +763,45 @@ sectors.stored = Zmagazynowane: sectors.resume = Kontynuuj sectors.launch = Wystrzel sectors.select = Wybierz -sectors.nonelaunch = [lightgray]żaden (sÅ‚oÅ„ce) +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]Å»aden (SÅ‚oÅ„ce) +sectors.redirect = Redirect Launch Pads sectors.rename = ZmieÅ„ NazwÄ™ Sektora sectors.enemybase = [scarlet]Baza Wroga sectors.vulnerable = [scarlet]Wrażliwy sectors.underattack = [scarlet] Jest Atakowany! [accent]{0}% uszkodzono +sectors.underattack.nodamage = [scarlet]Nie przejÄ™ty sectors.survives = [accent]Przeżywa {0} fal sectors.go = Idź +sector.abandon = Porzuć +sector.abandon.confirm = Ten sektor zostanie samo-zniszczony.\nKontynuować? sector.curcapture = Sektor Podbity sector.curlost = Sektor Stracony sector.missingresources = [scarlet]NiewystarczajÄ…ce Zasoby Rdzenia sector.attacked = Sektor [accent]{0}[white] jest atakowany! sector.lost = Sektor [accent]{0}[white] zostaÅ‚ stracony! -#note: the missing space in the line below is intentional -sector.captured = Sektor [accent]{0}[white]zostaÅ‚ podbity! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = ZmieÅ„ IkonÄ™ +sector.noswitch.title = Nie można zmienić sektorów +sector.noswitch = Nie możesz zmieniać sektorów, gdy istniejÄ…cy sektor jest atakowany.\n\nSektor: [accent]{0}[] na [accent]{1}[] +sector.view = Zobacz Sektor threat.low = Niski threat.medium = Åšredni threat.high = Wysoki threat.extreme = Ekstremalny threat.eradication = Czystka +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = Planety planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = SÅ‚oÅ„ce sector.impact0078.name = Uderzenie 0078 @@ -593,24 +819,101 @@ sector.fungalPass.name = Grzybowa Przełęcz sector.biomassFacility.name = Obiekt Syntezy Biomasy sector.windsweptIslands.name = Wyspy Wiatru sector.extractionOutpost.name = Placówka Ekstrakcji +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Planetarny Terminal Startowy +sector.coastline.name = Linia Brzegowa +sector.navalFortress.name = Morska Forteca +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwiÄ™cej miedzi i oÅ‚owiu, tyle ile jest możliwe.\nPrzejdź do nastÄ™pnej strefy jak najszybciej. -sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniÅ‚y siÄ™. Niskie temperatury nie mogÄ… ich zatrzymać na zawsze.\n\nRozpocznij przedsiÄ™wziÄ™cie od prÄ…du. Buduj generatory spalinowe. Naucz siÄ™ korzystać z naprawiaczy. -sector.saltFlats.description = Na obrzeżach pustyni spoczywajÄ… Solne Równiny. Można tu znaleźć niewiele surowców.\n\nWrogowie zbudowali tu bazÄ™ skÅ‚adujÄ…cÄ… surowce. Zniszcz ich rdzeÅ„. Zniszcz wszystko co stanie ci na drodze. +sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz możliwie jak najwiÄ™cej miedzi i oÅ‚owiu.\nPrzejdź do nastÄ™pnej strefy jak najszybciej. +sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki siÄ™ rozprzestrzeniaÅ‚y. Niskie temperatury nie mogÄ… ich zatrzymać na zawsze.\n\nZacznij od produkcji prÄ…du. Buduj generatory spalinowe. Naucz siÄ™ korzystać z naprawiaczy. +sector.saltFlats.description = Na obrzeżach pustyni sÄ… Solne Równiny. Jest tu niewiele surowców.\n\nWrogowie zbudowali tu bazÄ™ skÅ‚adujÄ…cÄ… surowce. Zniszcz ich rdzeÅ„. Zniszcz wszystko co stanie ci na drodze. sector.craters.description = W tym kraterze zebraÅ‚a siÄ™ woda. PozostaÅ‚ość dawnych wojen. Odzyskaj ten teren. Wykop piasek. Wytop metaszkÅ‚o. Pompuj wodÄ™ do dziaÅ‚ek obronnych i wierteÅ‚ by je schÅ‚odzić -sector.ruinousShores.description = Za pustkowiami ciÄ…gnie siÄ™ linia brzegowa. KiedyÅ› znajdowaÅ‚a siÄ™ tu przybrzeżna linia obronna. Niewiele z niej zostaÅ‚o. OstaÅ‚y siÄ™ tylko podstawowe struktury obronne, z reszty zostaÅ‚ tylko zÅ‚om.\nKontynuuj eksploracje. Odkryj pozostawionÄ… tu technologiÄ™. -sector.stainedMountains.description = W głębi lÄ…du leżą góry, jeszcze nieskażone przez zarodniki.\nWydobÄ…dź obfity tytan w tym obszarze. Dowiedz siÄ™, jak z niego korzystać.\n\nObecność wroga jest tutaj wiÄ™ksza. Nie daj im czasu na wysÅ‚anie swoich najsilniejszych jednostek. -sector.overgrowth.description = Obszar ten jest zaroÅ›niÄ™ty, bliżej źródÅ‚a zarodników.\nWróg zaÅ‚ożyÅ‚ tu placówkÄ™. Zbuduj jednostki Nóż. Zniszcz to. Odzyskaj to, co nam odebrano. -sector.tarFields.description = Obrzeża strefy produkcji ropy, miÄ™dzy górami a pustyniÄ…. Jeden z niewielu obszarów z rezerwami użytecznej smoÅ‚y.\nMimo że ta strefa jest opuszczona, w pobliżu znajdujÄ… siÄ™ niebezpieczne siÅ‚y wroga. Nie lekceważ ich.\n\n[lightgray]JeÅ›li to możliwe, zbadaj technologiÄ™ przetwarzania oleju. -sector.desolateRift.description = Strefa wyjÄ…tkowo niebezpieczna. Obfita w zasoby ale maÅ‚o miejsca. Wysokie ryzyko zniszczenia. Opuść tÄ™ strefe jak najszybciej. Nie daj siÄ™ zwieść dÅ‚ugiemu odstÄ™powi miÄ™dzy atakami wroga. -sector.nuclearComplex.description = Dawny zakÅ‚ad produkcji i przetwarzania toru, zredukowny do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nWróg jest tutaj obecny w dużej iloÅ›ci, nieustannie poszukuje napastników. -sector.fungalPass.description = PrzejÅ›ciowy obszar pomiÄ™dzy wysokimi górami a nisko znajdujÄ…cymi siÄ™, ogarniÄ™tymi przez zarodniki równinami. Znajduje siÄ™ tu maÅ‚a postawiona przez wrogów baza zwiadowcza.\nZniszcz jÄ….\nUżyj jednostek Nóż i PeÅ‚zak. Zniszcz oba rdzenie. -sector.biomassFacility.description = Miejsce powstania zarodników. TutaÅ‚ byÅ‚y badane i poczÄ…tkowo produkowane.\nZbadaj zawartÄ… w nim technologiÄ™. Hoduj zarodniki dla paliwa i tworzyw sztucznych.\n\n[lightgray]Po upadku tej placówki zarodniki zostaÅ‚y uwolnione. Nic w lokalnym ekosystemie nie mogÅ‚o konkurować z tak inwazyjnym organizmem. -sector.windsweptIslands.description = Dalej za liniÄ… brzegowÄ… znajduje siÄ™ ten odlegÅ‚y Å‚aÅ„cuch wysp. Zapisy wyakzujÄ… ze byÅ‚y tu struktury produkujÄ…ce [accent]Plastan[].\n\nOdeprzyj morskie jednostki wroga. Załóż bazÄ™ na wyspach. Odkryj te fabryki. +sector.ruinousShores.description = Za pustkowiami ciÄ…gnie siÄ™ linia brzegowa. KiedyÅ› znajdowaÅ‚a siÄ™ tu przybrzeżna linia obronna. Niewiele z niej zostaÅ‚o. OstaÅ‚y siÄ™ tylko podstawowe struktury obronne, z reszty zostaÅ‚ tylko zÅ‚om.\nKontynuuj eksploracjÄ™. Odkryj pozostawionÄ… tu technologiÄ™. +sector.stainedMountains.description = W głębi lÄ…du leżą góry, jeszcze nieskażone przez zarodniki.\nWydobÄ…dź bogate zÅ‚oża tytanu w tym obszarze. Dowiedz siÄ™, jak z niego korzystać.\n\nObecność wroga jest tutaj wiÄ™ksza. Nie pozwól im na wysÅ‚anie ich najsilniejszych jednostek. +sector.overgrowth.description = Obszar ten jest zaroÅ›niÄ™ty, bliżej źródÅ‚a zarodników.\nWróg zaÅ‚ożyÅ‚ tu bazÄ™. Stwórz "Noże". Odzyskaj to, co nam odebrano. +sector.tarFields.description = Obrzeża strefy produkcji ropy, miÄ™dzy górami a pustyniÄ…. Jeden z niewielu obszarów z rezerwami użytecznej ropy.\nMimo że ta strefa jest opuszczona, w pobliżu znajdujÄ… siÄ™ niebezpieczne siÅ‚y wroga. Nie lekceważ ich.\n\n[lightgray]JeÅ›li to możliwe, zbadaj technologiÄ™ przetwarzania ropy. +sector.desolateRift.description = Strefa wyjÄ…tkowo niebezpieczna. Bogata w zasoby, ale maÅ‚a. Wysokie ryzyko zniszczenia. Opuść tÄ™ strefÄ™ jak najszybciej.\nUwaga: OdstÄ™py miÄ™dzy falami sÄ… dosyć dÅ‚ugie, co nie znaczy, że bÄ™dzie prosto! +sector.nuclearComplex.description = Dawny zakÅ‚ad produkcji i przetwarzania toru, zredukowany do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nOgromne zagrożenie ze strony wroga. +sector.fungalPass.description = PrzejÅ›ciowy obszar pomiÄ™dzy wysokimi górami a nisko znajdujÄ…cymi siÄ™, ogarniÄ™tymi przez zarodniki, równinami. Znajduje siÄ™ tu maÅ‚a, postawiona przez wrogów baza zwiadowcza.\nZniszcz jÄ… używajÄ…c jednostek takich jak "Nóż" czy "PeÅ‚zak". Zniszcz oba rdzenie. +sector.biomassFacility.description = Miejsce powstania zarodników. Tutaj byÅ‚y badane i poczÄ…tkowo produkowane.\nZbadaj zawartÄ… w nich technologiÄ™. Hoduj zarodniki dla paliwa i tworzyw sztucznych.\n\n[lightgray]Po upadku tej placówki zarodniki zostaÅ‚y uwolnione. Nic w lokalnym ekosystemie nie mogÅ‚o konkurować z tak inwazyjnym organizmem. +sector.windsweptIslands.description = Dalej za liniÄ… brzegowÄ… znajduje siÄ™ ten odlegÅ‚y Å‚aÅ„cuch wysp. Zapisy wykazujÄ…, że byÅ‚y tu struktury produkujÄ…ce [accent]Plastan[].\n\nOdeprzyj morskie jednostki wroga. Załóż bazÄ™ na wyspach. Odkryj te fabryki. sector.extractionOutpost.description = OdlegÅ‚a placówka zbudowana przez wroga w celu wystrzeliwania zasobów do innych sektorów.\n\nDo dalszych podbojów niezbÄ™dna jest miÄ™dzysektorowa technologia transportu. Zniszcz bazÄ™. Zbadaj ich Wyrzutnie. sector.impact0078.description = Tutaj leżą pozostaÅ‚oÅ›ci miÄ™dzygwiezdnego statku transportowego, który jako pierwszy wszedÅ‚ do tego ukÅ‚adu.\n\nWydobÄ…dź jak najwiÄ™cej z wraku. Zbadaj każdÄ… nienaruszonÄ… technologiÄ™. -sector.planetaryTerminal.description = Ostatni cel.\n\nTa baza przybrzeżna zawiera strukturÄ™ zdolnÄ… do wyrzucania rdzeni na lokalne planety. Jest wyjÄ…tkowo dobrze strzeżona.\n\nProdukuj jednostki morskie. Jak najszybciej wyeliminuj wroga. Zbadaj tÄ… strukturÄ™. +sector.planetaryTerminal.description = Ostatni cel.\n\nTa baza przybrzeżna zawiera strukturÄ™ zdolnÄ… do wystrzeliwania rdzeni na lokalne planety. Jest wyjÄ…tkowo dobrze strzeżona.\n\nProdukuj jednostki morskie. Jak najszybciej wyeliminuj wroga. Zbadaj tÄ… strukturÄ™. +sector.coastline.description = W tej lokalizacji zostaÅ‚y znalezione resztki technologii jednostek morskich. Odeprzyj ataki wroga, przejmij ten sektor i zdobÄ…dź technologiÄ™. +sector.navalFortress.description = Wróg zaÅ‚ożyÅ‚ bazÄ™ na odlegÅ‚ej, naturalnie ufortyfikowanej wyspie. Zniszcz tÄ™ bazÄ™. ZdobÄ…dź zaawansowanÄ… technologiÄ™ statków morskich i zbadaj jÄ…. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = PoczÄ…tek +sector.aegis.name = Egida +sector.lake.name = Jezioro +sector.intersect.name = PrzeciÄ™cie +sector.atlas.name = Atlas +sector.split.name = RozÅ‚am +sector.basin.name = Dorzecze +sector.marsh.name = Bagno +sector.peaks.name = Szczyty +sector.ravine.name = WÄ…wóz +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = Twierdza +sector.crevice.name = Szpara +sector.siege.name = Oblężenie +sector.crossroads.name = Rozdroże +sector.karst.name = Kras +sector.origin.name = Zalążek +sector.onset.description = Samouczkowy sektor. Cel nie zostaÅ‚ jeszcze ustalony. Oczekuj dalszych informacji. +sector.aegis.description = Wróg jest chroniony przez tarcze. Prototyp Niszczyciela tarcz znajduje siÄ™ na tym sektorze.\n Znajdź go. WypeÅ‚nij go wolframem i zniszcz tarcze wrogów. +sector.lake.description = Jezioro żużlu znajdujÄ…ce siÄ™ na tym sektorze znacznie ogranicza rodzaje jednostek, jakich można użyć. Statki sÄ… jedynÄ… sensownÄ… opcjÄ…. Odkryj [accent] Fabrykator Statków[] i wytwórz [accent] Wymykacze[] najszybciej jak siÄ™ da. +sector.intersect.description = Skany wskazujÄ… na możliwe ataki od razu po wylÄ…dowaniu. Przeciwnik może zaatakować z wielu stron.\nPrzygotuj obronÄ™ i infrastrukturÄ™ tak szybko jak to możliwe.\nAby poruszać siÄ™ w tak trudny terenie potrzebne bÄ™dÄ… [accent]Mechy[]. +sector.atlas.description = Ten sektor zawiera zróżnicowany teren i do skutecznego ataku bÄ™dzie trzeba użyć różnych jednostek.\nKonieczne może być uzycie ulepszonych jednostek ze wzglÄ™du na silne bazy wroga.\nZbadaj [accent]Elektrolizer[] oraz [accent]FabrykÄ™ CzoÅ‚gów[]. +sector.split.description = Minimalna obecność wroga w tym sektorze czyni go idealnym do testowania nowych technologii transportowych. +sector.basin.description = W sektorze wykryto znacznÄ… liczbÄ™ wrogich jednostek.\nWybuduj jednostki jak najszybciej i pozbÄ…dź sie wroga. +sector.marsh.description = Ten sektor jest bogaty w atrakycyt, ale ma maÅ‚o gejzerów .\nZbuduj [accent]ChemicznÄ… komorÄ™ spalania[] by generować prÄ…d. +sector.peaks.description = Górzyste uksztaÅ‚towanie terenu powoduje, że wiÄ™kszość jednostek staje siÄ™ bezużyteczna. BÄ™dziesz musiaÅ‚ wyprodukować latajÄ…ce jednostki.\nUważaj na wrogie dziaÅ‚ka przeciwlotnicze. Możesz unieszkodliwić niektóre dziaÅ‚ka, poprzez odciÄ™cie im zasobów lub zniszczenie innych budynków. +sector.ravine.description = W tym sektorze nie wykryto rdzeni wroga, jednakże jest on ważnym szlakiem transportowym dla wroga. Spodziewaj siÄ™ różnorodnych przeciwników.\nWyprodukuj [accent]elektrum[]. Zbuduj dziaÅ‚ka [accent]Cios. +sector.caldera-erekir.description = Zasoby wykryte w tym sektorze sÄ… rozproszone miÄ™dzy kilka wysp.\nZbadaj i wprowadź transport oparty na dronach. +sector.stronghold.description = Wróg postanowiÅ‚ zaÅ‚ożyć ogromnÄ… bazÄ™ na tym sektorze. Chroni niewielkie zÅ‚oża [accent]toru[]..\nWykorzystaj je do rozwoju jednostek i wieżyczek wyższego poziomu. +sector.crevice.description = Przeciwnik bÄ™dzie zaciekle walczyć by przejąć twojÄ… bazÄ™ w tym sektorze.\nWyprodukowanie [accent]karbidu[] i wybudowanie [accent]Generatora Pyrolizy[] może być wymagane do przetrwania. +sector.siege.description = Na tym sektorze znajdujÄ… siÄ™ dwa równolegÅ‚e kaniony, które zmuszÄ… ciÄ™ do walki na dwa fronty.\nZbadaj [accent]Cyjan[], aby móc wytwarzać dużo silniejsze czoÅ‚gi.\nUwaga: Wykryto wrogie rakiety dalekiego. Pociski powinny zostać zestrzelone. +sector.crossroads.description = Wrogie bazy w tym sektorze zostaÅ‚y zaÅ‚ożone w zróżnicowanym terenie. Zbadaj różne jednostki by siÄ™ przystosować.\nParÄ™ baz jest chronionych przez tarcze. Dowiedz siÄ™ jak sÄ… zasilane i je zniszcz. +sector.karst.description = Ten sektor jest bogaty w surowce. Zostaniesz zaatakowany niemalże od razu\nPrzejmij kontrolÄ™ nad surowcami i zbadaj [accent]Włókno Fazowe[]. +sector.origin.description = Finalny sektor, gdzie wróg jest wszÄ™dzie.\nBardzo zÅ‚e warunki do prowadzenia badaÅ„ - skup siÄ™ na niszczeniu wszystkich wrogich rdzeni. + +status.burning.name = Podpalenie +status.freezing.name = Zamrożenie +status.wet.name = Przemoczenie +status.muddy.name = ZabÅ‚ocenie +status.melting.name = Topnienie +status.sapped.name = OsÅ‚abienie +status.electrified.name = Naelektryzowanie +status.spore-slowed.name = Zarodnikowe Spowolnienie +status.tarred.name = OsmoÅ‚owanie +status.overdrive.name = Przyspieszenie +status.overclock.name = PodkrÄ™cenie +status.shocked.name = Porażenie +status.blasted.name = Wysadzenie +status.unmoving.name = Unieruchomienie +status.boss.name = Strażnik settings.language = JÄ™zyk settings.data = Dane Gry @@ -622,32 +925,37 @@ settings.game = Gra settings.sound = DźwiÄ™k settings.graphics = Grafika settings.cleardata = Wyczyść Dane Gry... -settings.clear.confirm = Czy jesteÅ› pewien że chcesz usunąć te dane?\nPo tym nie ma powrotu! -settings.clearall.confirm = [scarlet]UWAGA![]\nTo wykasuje wszystkie dane, włącznie z zapisanymi grami i mapami, ustawienami, i znanymi technologiami.\nKiedy naciÅ›niesz 'ok', gra usunie wszystkie swoje dane i automatycznie wyłączy siÄ™. -settings.clearsaves.confirm = JesteÅ› pewny że chcesz usunąć wszystkie zapisy? +settings.clear.confirm = Czy jesteÅ› pewien, że chcesz usunąć te dane?\nPo tym nie ma powrotu! +settings.clearall.confirm = [scarlet]UWAGA![]\nTo wykasuje wszystkie dane, włącznie z zapisami, drzewem technologicznym, mapami, ustawieniami i przypisanymi klawiszami.\nKiedy naciÅ›niesz 'OK', gra usunie wszystkie swoje dane i automatycznie siÄ™ wyłączy. +settings.clearsaves.confirm = Czy jesteÅ› pewien, że chcesz usunąć wszystkie zapisy? settings.clearsaves = UsuÅ„ Zapisy -settings.clearresearch = UsuÅ„ PostÄ™p Drzewa Tech. -settings.clearresearch.confirm = JesteÅ› pewny że chcesz usunąć caÅ‚y postÄ™p drzewa technologicznego? +settings.clearresearch = UsuÅ„ PostÄ™p Drzewa Technologicznego +settings.clearresearch.confirm = Czy jesteÅ› pewny, że chcesz usunąć caÅ‚y postÄ™p drzewa technologicznego? settings.clearcampaignsaves = UsuÅ„ Zapisy Kampanii -settings.clearcampaignsaves.confirm = JesteÅ› pewny że chcesz usunąć wszystkie zapisy kampanii? +settings.clearcampaignsaves.confirm = Czy jesteÅ› pewny, że chcesz usunąć wszystkie zapisy kampanii? paused = [accent]< Wstrzymano > clear = Wyczyść banned = [scarlet]Zbanowano +unsupported.environment = [scarlet]Niewspierane Åšrodowisko yes = Tak no = Nie info.title = Informacje error.title = [crimson]WystÄ…piÅ‚ błąd error.crashtitle = WystÄ…piÅ‚ błąd unit.nobuild = [scarlet]Jednostka nie może budować -lastaccessed = [lightgray]Osatino wpÅ‚ynÄ…Å‚: {0} +lastaccessed = [lightgray]Ostatnia interakcja: {0} +lastcommanded = [lightgray]Ostatnio zarzÄ…dzane: {0} block.unknown = [lightgray]??? +stat.showinmap = stat.description = Opis stat.input = WejÅ›cie stat.output = WyjÅ›cie +stat.maxefficiency = Maks. Efektywność stat.booster = Wzmacniacz stat.tiles = Wymagane Pola -stat.affinities = Uwydajnienie +stat.affinities = Uwydajnienia +stat.opposites = PrzeciwieÅ„stwa stat.powercapacity = Pojemność mocy stat.powershot = moc/strzaÅ‚ stat.damage = Obrażenia @@ -666,12 +974,15 @@ stat.powerconnections = Maksymalna ilość połączeÅ„ stat.poweruse = Zużycie prÄ…du stat.powerdamage = Moc/Zniszczenia stat.itemcapacity = Pojemność przedmiotów -stat.memorycapacity = Pojemość PamiÄ™ci +stat.memorycapacity = Pojemność pamiÄ™ci stat.basepowergeneration = Podstawowa generacja mocy stat.productiontime = Czas produkcji stat.repairtime = Czas peÅ‚nej naprawy bloku +stat.repairspeed = PrÄ™dkość napraw stat.weapons = Bronie stat.bullet = Pocisk +stat.moduletier = StopieÅ„ ModuÅ‚u +stat.unittype = Typ jednostki stat.speedincrease = ZwiÄ™kszenie prÄ™dkoÅ›ci stat.range = ZasiÄ™g stat.drilltier = Co może wykopać @@ -679,10 +990,11 @@ stat.drillspeed = Podstawowa szybkość kopania stat.boosteffect = Efekt wzmocnienia stat.maxunits = Maksymalna ilość jednostek stat.health = Zdrowie +stat.armor = Pancerz stat.buildtime = Czas budowy -stat.maxconsecutive = Maksymalnie Kolejny +stat.maxconsecutive = Maksymalnie kolejnych stat.buildcost = Koszt budowy -stat.inaccuracy = Niecelność +stat.inaccuracy = NiedokÅ‚adność stat.shots = StrzaÅ‚y stat.reload = Strzałów/SekundÄ™ stat.ammo = Amunicja @@ -694,32 +1006,86 @@ stat.lightningchance = Szansa Na BÅ‚yskawicÄ™ stat.lightningdamage = Obrażenia BÅ‚yskawic stat.flammability = Palność stat.radioactivity = Radioaktywność +stat.charge = Åadunek stat.heatcapacity = Pojemność Cieplna stat.viscosity = Lepkość stat.temperature = Temperatura -stat.speed = PrÄ™dość +stat.speed = PrÄ™dkość stat.buildspeed = PrÄ™dkość Budowy stat.minespeed = PrÄ™dkość Wydobycia stat.minetier = StopieÅ„ Wydobycia stat.payloadcapacity = Åadowność -stat.commandlimit = Limit Jednostek ZarzÄ…danych stat.abilities = UmiejÄ™tnoÅ›ci stat.canboost = Może przyspieszyć -stat.flying = Latanie +stat.flying = Może latać +stat.ammouse = Zużycie Amunicji +stat.ammocapacity = Pojemność Amunicji +stat.damagemultiplier = Mnożnik ObrażeÅ„ +stat.healthmultiplier = Mnożnik Zdrowia +stat.speedmultiplier = Mnożnik PrÄ™dkoÅ›ci +stat.reloadmultiplier = Mnożnik PrÄ™dkoÅ›ci PrzeÅ‚adowywania +stat.buildspeedmultiplier = Mnożnik PrÄ™dkoÅ›ci Budowania +stat.reactive = Reaguje +stat.immunities = OdpornoÅ›ci +stat.healing = Leczy +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Pole Mocy +ability.forcefield = Pole SiÅ‚owe +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Pole Naprawy +ability.repairfield.description = Repairs nearby units ability.statusfield = Pole Statusu -ability.unitspawn = Fabryka Jednostek {0} +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fabryka Jednostek +ability.unitspawn.description = Constructs units ability.shieldregenfield = Strefa Tarczy RegenerujÄ…cej +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = Pioruny Poruszania +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Åuk Tarczy +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Pole TÅ‚umienia Regeneracji +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Pole Energii +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneracja +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Dozwolone jest tylko przeniesienie z rdzenia bar.drilltierreq = Wymagane Lepsze WiertÅ‚o +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Brak Zasobów bar.corereq = Wymagany RdzeÅ„ +bar.corefloor = Wymagana strefa dla rdzenia +bar.cargounitcap = OsiÄ…gnieto Limit Åadunku Jednostki bar.drillspeed = PrÄ™dkość wiertÅ‚a: {0}/s bar.pumpspeed = PrÄ™dkość pompy: {0}/s bar.efficiency = Efektywność: {0}% +bar.boost = Przyspieszenie: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Moc: {0} bar.powerstored = Zmagazynowano: {0}/{1} bar.poweramount = Moc: {0} @@ -728,51 +1094,69 @@ bar.powerlines = Połączenia: {0}/{1} bar.items = Przedmiotów: {0} bar.capacity = Pojemność: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = PÅ‚yn bar.heat = CiepÅ‚o +bar.cooldown = Cooldown +bar.instability = Niestabilność +bar.heatamount = CiepÅ‚o: {0} +bar.heatpercent = CiepÅ‚o: {0} ({1}%) bar.power = PrÄ…d bar.progress = PostÄ™p Budowy +bar.loadprogress = PostÄ™p +bar.launchcooldown = Czas odnowienia wystrzaÅ‚u bar.input = WejÅ›cie bar.output = WyjÅ›cie +bar.strength = [stat]{0}[lightgray]x siÅ‚y -units.processorcontrol = [lightgray]Kontrolowany Procesorem +units.processorcontrol = [lightgray]Kontrolowany przez procesor bullet.damage = [stat]{0}[lightgray] Obrażenia bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki bullet.incendiary = [stat]zapalajÄ…cy -bullet.sapping = [stat]wyczerpujÄ…cy bullet.homing = [stat]naprowadzajÄ…cy -bullet.shock = [stat]piorunowy -bullet.frag = [stat]fragmentacyjny +bullet.armorpierce = [stat]przebijajÄ…cy pancerz +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] wyłączenie naprawy ~ [stat]{1}[lightgray] kratki +bullet.interval = [stat]{0}/sec[lightgray] czÄ™stotliwość strzaÅ‚u: +bullet.frags = [stat]{0}[lightgray]x pociski odÅ‚amkowe: +bullet.lightning = [stat]{0}[lightgray]x bÅ‚yskawice ~ [stat]{1}[lightgray] Obrażenia +bullet.buildingdamage = [stat]{0}%[lightgray] obrażeÅ„ budynkom +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] odrzut bullet.pierce = [stat]{0}[lightgray]x przebicia bullet.infinitepierce = [stat]przebijajÄ…cy bullet.healpercent = [stat]{0}[lightgray]% leczenia -bullet.freezing = [stat]zamrażajÄ…cy -bullet.tarred = [stat]smolny +bullet.healamount = [stat]{0}[lightgray] bezpoÅ›rednia naprawa bullet.multiplier = [stat]{0}[lightgray]x mnożnik amunicji bullet.reload = [stat]{0}[lightgray]x szybkość ataku +bullet.range = [stat]{0}[lightgray] zasiÄ™g ataku +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = bloki unit.blockssquared = bloki² unit.powersecond = jednostek prÄ…du na sekundÄ™ +unit.tilessecond = bloków na sekundÄ™ unit.liquidsecond = jednostek pÅ‚ynu na sekundÄ™ unit.itemssecond = przedmiotów na sekundÄ™ unit.liquidunits = jednostek pÅ‚ynu unit.powerunits = jednostek prÄ…du +unit.heatunits = jednostek ciepÅ‚a unit.degrees = stopnie unit.seconds = sekundy unit.minutes = mins unit.persecond = /sekundÄ™ unit.perminute = /min unit.timesspeed = x prÄ™dkość +unit.multiplier = x unit.percent = % unit.shieldhealth = życie tarczy unit.items = przedmioty unit.thousands = tys. -unit.millions = mln -unit.billions = b +unit.millions = mln. +unit.billions = mld. +unit.shots = strzaÅ‚y +unit.pershot = /strzaÅ‚ category.purpose = Opis category.general = Główne category.power = PrÄ…d @@ -781,34 +1165,37 @@ category.items = Przedmioty category.crafting = Przetwórstwo category.function = Funkcja category.optional = Dodatkowe ulepszenia +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = PomiÅ„ AnimacjÄ™ WystrzaÅ‚u/LÄ…dowania setting.landscape.name = Zablokuj tryb panoramiczny setting.shadows.name = Cienie setting.blockreplace.name = Automatyczne sugestie bloków -setting.linear.name = Filtrowanie Liniowe +setting.linear.name = Filtrowanie liniowe setting.hints.name = Podpowiedzi -setting.flow.name = WyÅ›wietl szybkość przepÅ‚ywu zasobów[scarlet] (eksperymentalne) +setting.logichints.name = Wskazówki dot. logiki setting.backgroundpause.name = Wstrzymaj w tle setting.buildautopause.name = Automatycznie zatrzymaj budowanie +setting.doubletapmine.name = Kliknij podwójnie, aby wydobywać +setting.commandmodehold.name = Przytrzymaj w Trybie Dowodzenia +setting.distinctcontrolgroups.name = Ograniczaj jednÄ… grupÄ™ kontrolnÄ… na jednostkÄ™ +setting.modcrashdisable.name = Wyłącz mody w przypadku awarii podczas uruchamiania setting.animatedwater.name = Animowana woda setting.animatedshields.name = Animowana tarcza -setting.antialias.name = Antyaliasing[lightgray] (wymaga restartu)[] -setting.playerindicators.name = Znaczniki Graczy -setting.indicators.name = Znaczniki Przyjaciół -setting.autotarget.name = Automatyczne Celowanie +setting.playerindicators.name = Znaczniki graczy +setting.indicators.name = Znaczniki przyjaciół +setting.autotarget.name = Automatyczne celowanie setting.keyboard.name = Sterowanie - Myszka+Klawiatura setting.touchscreen.name = Sterowanie - Ekran Dotykowy -setting.fpscap.name = Maksymalny FPS +setting.fpscap.name = Maksymalne FPS setting.fpscap.none = Nieograniczone setting.fpscap.text = {0} FPS -setting.uiscale.name = Skalowanie Interfejsu[lightgray] (wymaga restartu)[] +setting.uiscale.name = Skalowanie interfejsu[lightgray] (wymaga restartu)[] +setting.uiscale.description = Aby zastosować zmiany, wymagane jest ponowne uruchomienie. setting.swapdiagonal.name = Pozwala na ukoÅ›nÄ… budowÄ™ -setting.difficulty.training = Treningowy -setting.difficulty.easy = Åatwy -setting.difficulty.normal = Normalny -setting.difficulty.hard = Trudny -setting.difficulty.insane = Szalony -setting.difficulty.name = Poziom trudnoÅ›ci setting.screenshake.name = SiÅ‚a wstrzÄ…sów ekranu +setting.bloomintensity.name = Intensywaność Rozmycia +setting.bloomblur.name = Niewyraźność Rozmycia setting.effects.name = WyÅ›wietlanie efektów setting.destroyedblocks.name = WyÅ›wietl zniszczone bloki setting.blockstatus.name = WyÅ›wietl status bloków @@ -819,61 +1206,90 @@ setting.seconds = {0} sekund setting.milliseconds = {0} milisekund setting.fullscreen.name = PeÅ‚ny ekran setting.borderlesswindow.name = Bezramkowe okno[lightgray] (może wymagać restartu) +setting.borderlesswindow.name.windows = PeÅ‚ny ekran bez obramowania +setting.borderlesswindow.description = Restart może być wymagany, aby zastowasować zmiany. setting.fps.name = Pokazuj FPS oraz ping -setting.smoothcamera.name = GÅ‚adka Kamera +setting.console.name = Włącz konsolÄ™ +setting.smoothcamera.name = PÅ‚ynna kamera setting.vsync.name = Synchronizacja pionowa setting.pixelate.name = Pikselacja [lightgray](wyłącza animacje) -setting.minimap.name = Pokaż MinimapÄ™ -setting.coreitems.name = Poazuj Przedmoty W Rdzeniu (WIP) +setting.minimap.name = Pokaż minimapÄ™ +setting.coreitems.name = Pokazuj przedmioty w rdzeniu setting.position.name = Pokazuj poÅ‚ożenie gracza +setting.mouseposition.name = Pokazuj poÅ‚ożenie myszki setting.musicvol.name = GÅ‚oÅ›ność muzyki setting.atmosphere.name = Pokazuj atmosferÄ™ planety +setting.drawlight.name = Rysuj Cienie/ÅšwiatÅ‚a setting.ambientvol.name = GÅ‚oÅ›ność otoczenia setting.mutemusic.name = Wycisz muzykÄ™ setting.sfxvol.name = GÅ‚oÅ›ność dźwiÄ™ków setting.mutesound.name = Wycisz dźwiÄ™ki setting.crashreport.name = WysyÅ‚aj anonimowo dane o crashu gry -setting.savecreate.name = Automatyczne tworzenie zapisu -setting.publichost.name = Widoczność Gry Publicznej -setting.playerlimit.name = Limit Graczy +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Automatyczne tworzenie zapisów +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Limit graczy setting.chatopacity.name = Przezroczystość czatu setting.lasersopacity.name = Przezroczystość laserów zasilajÄ…cych +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Przezroczystość mostów -setting.playerchat.name = WyÅ›wietlaj czat w grze +setting.playerchat.name = WyÅ›wietlaj dymek czatu w grze setting.showweather.name = Pokaż pogodÄ™ -public.confirm = Czy chcesz ustawić swojÄ… grÄ™ jako publicznÄ…?\n[accent]Każdy bÄ™dzie mógÅ‚ dołączyć do Twojej gry.\n[lightgray]Można to później zmienić w Ustawienia->Gra->Widoczność Gry Publicznej. +setting.hidedisplays.name = Ukryj wyÅ›wietlacze logiczne +setting.macnotch.name = Dostosuj interfejs do wyÅ›wietlania wyciÄ™cia ekranu +setting.macnotch.description = Aby zastosować zmiany, wymagane jest ponowne uruchomienie +steam.friendsonly = Tylko Znajomi +steam.friendsonly.tooltip = Czy tylko Znajomi ze Steam bÄ™dÄ… mogli dołączyć do twojej gry?\nOdznaczenie tego okienka ustawi twojÄ… grÄ™ na publicznÄ… - każdy może dołączyć. public.beta = Wersje beta gry nie mogÄ… tworzyć publicznych pokoi. uiscale.reset = Skala interfejsu ulegÅ‚a zmianie.\nNaciÅ›nij "OK" by potwierdzić zmiany.\n[scarlet]Cofanie zmian i wyjÅ›cie z gry za[accent] {0}[] -uiscale.cancel = Anuluj i Wyjdź -setting.bloom.name = Efekt Bloom +uiscale.cancel = Anuluj i wyjdź +setting.bloom.name = Efekt Rozmycia keybind.title = ZmieÅ„ keybinds.mobile = [scarlet]WiÄ™kszość skrótów klawiszowych nie funkcjonuje w wersji mobilnej. Tylko podstawowe poruszanie siÄ™ jest wspierane. category.general.name = Ogólne category.view.name = WyÅ›wietl +category.command.name = ZarzÄ…dzanie JednostkÄ… category.multiplayer.name = Wielu graczy category.blocks.name = Wybierz Blok -command.attack = Atakuj -command.rally = Zbierz -command.retreat = Wycofaj -command.idle = Nieaktywny placement.blockselectkeys = \n[lightgray]Klawisz: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit +keybind.respawn.name = Odrodzenie +keybind.control.name = Kontroluj jednostkÄ™ keybind.clear_building.name = Wyczyść budynek keybind.press = NaciÅ›nij wybrany klawisz... keybind.press.axis = NaciÅ›nij oÅ› lub klawisz... keybind.screenshot.name = Zrzut ekranu mapy keybind.toggle_power_lines.name = ZmieÅ„ widoczność linii energetycznych -keybind.toggle_block_status.name = Przełączanie MiÄ™dzy Statusami Bloków +keybind.toggle_block_status.name = Przełączanie miÄ™dzy statusami bloków keybind.move_x.name = Poruszanie w poziomie keybind.move_y.name = Poruszanie w pionie keybind.mouse_move.name = Podążaj Za MyszÄ… keybind.pan.name = Widok Panoramiczny keybind.boost.name = Przyspiesz -keybind.schematic_select.name = Wybierz region -keybind.schematic_menu.name = Menu schematów -keybind.schematic_flip_x.name = Obróć schemat horyzontalnie -keybind.schematic_flip_y.name = Obróć schemat wertykalnie +keybind.command_mode.name = Tryb Komend +keybind.command_queue.name = Kolejka Rozkazów Jednostki +keybind.create_control_group.name = Stwórz GrupÄ™ Kontroli +keybind.cancel_orders.name = Anuluj Rozkazy +keybind.unit_stance_shoot.name = Strzel +keybind.unit_stance_hold_fire.name = Wstrzymaj ogieÅ„ +keybind.unit_stance_pursue_target.name = GoÅ„ Cel +keybind.unit_stance_patrol.name = Patroluj +keybind.unit_stance_ram.name = Taranuj +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Odbuduj Region +keybind.schematic_select.name = Wybierz Region +keybind.schematic_menu.name = Menu Schematów +keybind.schematic_flip_x.name = Obróć schemat w poziomie +keybind.schematic_flip_y.name = Obróć schemat w pionie keybind.category_prev.name = Poprzednia kategoria keybind.category_next.name = NastÄ™pna kategoria keybind.block_select_left.name = Zaznacz blok po lewej @@ -895,10 +1311,11 @@ keybind.select.name = Zaznacz keybind.diagonal_placement.name = Budowa po skosie keybind.pick.name = Wybierz Blok keybind.break_block.name = Zniszcz Blok +keybind.select_all_units.name = Wybierz Wszystkie Jednostki +keybind.select_all_unit_factories.name = Wybierz Wszystkie Fabryki Jednostek keybind.deselect.name = Odznacz keybind.pickupCargo.name = PodnieÅ› Åadunek keybind.dropCargo.name = Opuść Åadunek -keybind.command.name = Command keybind.shoot.name = Strzelanie keybind.zoom.name = Przybliżanie keybind.menu.name = Menu @@ -907,70 +1324,124 @@ keybind.pause_building.name = Wstrzymaj/kontynuuj budowÄ™ keybind.minimap.name = Minimapa keybind.planet_map.name = Mapa Planety keybind.research.name = Odkryj +keybind.block_info.name = Informacje o Bloku keybind.chat.name = Czat keybind.player_list.name = Lista graczy keybind.console.name = Konsola keybind.rotate.name = Obracanie -keybind.rotateplaced.name = Rotate Existing (Hold) +keybind.rotateplaced.name = Obracanie bloku pod kursorem (przytrzymaj) keybind.toggle_menus.name = Zmiana widocznoÅ›ci menu keybind.chat_history_prev.name = PrzewiÅ„ wiadomoÅ›ci w górÄ™ keybind.chat_history_next.name = PrzewiÅ„ wiadomoÅ›ci w dół keybind.chat_scroll.name = Przewijaj WiadomoÅ›ci +keybind.chat_mode.name = ZmieÅ„ tryb czatu keybind.drop_unit.name = Wyrzucanie przedmiot keybind.zoom_minimap.name = PowiÄ™kszenie mapy mode.help.title = Opis trybów mode.survival.name = Przeżycie -mode.survival.description = ZwykÅ‚y tryb. Limitowane surowce i fale przeciwników.\n[gray]Wymaga spawnów wroga na mapie, aby móc grać w tym trybie. -mode.sandbox.name = Sandbox +mode.survival.description = ZwykÅ‚y tryb. Limitowane surowce i fale przeciwników.\n[gray]Wymaga punktów spawnu wroga na mapie, aby móc grać w tym trybie. +mode.sandbox.name = Piaskownica mode.sandbox.description = NieskoÅ„czone surowce i fale bez odliczania. mode.editor.name = Edytor mode.pvp.name = PvP -mode.pvp.description = Walcz przeciwko innym graczom.\n[gray]Wymaga co najmniej dwóch rdzeni o róźnych kolorach na mapie, aby móc grać w tym trybie +mode.pvp.description = Walcz przeciwko innym graczom.\n[gray]Wymaga co najmniej dwóch rdzeni o róźnych kolorach na mapie, aby móc grać w tym trybie. mode.attack.name = Atak -mode.attack.description = Brak fal. Celem jest zniszczenie bazy przeciwnika.\n[gray]Wymaga czerwonego rdzenia na mapie, aby móc grać w tym trybie. +mode.attack.description = Celem jest zniszczenie bazy przeciwnika.\n[gray]Wymaga czerwonego rdzenia na mapie, aby móc grać w tym trybie. mode.custom = WÅ‚asny Tryb +rules.invaliddata = Niepoprawne dane ze schowka. +rules.hidebannedblocks = Ukryj zabronione bloki rules.infiniteresources = NieskoÅ„czone Zasoby +rules.onlydepositcore = Dozwól tylko przenoszenie z rdzenia +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Eksplozje Reaktorów -rules.schematic = Schematy SÄ… Dozwolone +rules.coreincinerates = RdzeÅ„ Spala Nadmiarowe Przedmioty +rules.disableworldprocessors = Wyłącz Procesor Åšwiata +rules.schematic = Zezwalaj na schematy rules.wavetimer = Zegar Fal +rules.wavesending = WysyÅ‚anie Fal +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Fale +rules.airUseSpawns = Air units use spawn points rules.attack = Tryb Ataku -rules.buildai = SI Może Budować -rules.enemyCheat = NieskoÅ„czone Zasoby SI (czerwonego zespoÅ‚u) +rules.buildai = AI Budowania Baz +rules.buildaitier = Poziom Budowania AI +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Minimalny Rozmiar SkÅ‚adu +rules.rtsmaxsquadsize = Maksymalny Rozmiar SkÅ‚adu +rules.rtsminattackweight = Minimalna Waga Ataku +rules.cleanupdeadteams = UsuÅ„ Budynki Pokonanej Drużyny (PvP) +rules.corecapture = Przejmij Zniszczony RdzeÅ„ +rules.polygoncoreprotection = WielokÄ…tna Ochrona Rdzenia +rules.placerangecheck = Sprawdzanie ZasiÄ™gu Podczas Umieszczenia +rules.enemyCheat = NieskoÅ„czone Zasoby SI (wroga) rules.blockhealthmultiplier = Mnożnik Å»ycia Bloków rules.blockdamagemultiplier = Mnożnik UszkodzeÅ„ Bloków rules.unitbuildspeedmultiplier = Mnożnik PrÄ™dkoÅ›ci Tworzenia Jednostek +rules.unitcostmultiplier = Mnożnik Kosztu Jednostek rules.unithealthmultiplier = Mnożnik Å»ycia Jednostek rules.unitdamagemultiplier = Mnożnik ObrażeÅ„ jednostek +rules.unitcrashdamagemultiplier = Obrażenia Zadawane Po Zniszczeniu +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Mnożnik Mocy Paneli SÅ‚onecznych +rules.unitcapvariable = Rdzenie majÄ… wpÅ‚yw na limit jednostek +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Podstawowy limit jednostek +rules.limitarea = Limit Obszaru Mapy rules.enemycorebuildradius = ZasiÄ™g Blokady Budowy Przy Rdzeniu Wroga:[lightgray] (kratki) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = OdstÄ™py MiÄ™dzy Falami:[lightgray] (sek) +rules.initialwavespacing = PoczÄ…tkowy OdstÄ™p PomiÄ™dzy Falami:[lightgray] (sek) rules.buildcostmultiplier = Mnożnik Kosztów Budowania rules.buildspeedmultiplier = Mnożnik PrÄ™dkoÅ›ci Budowania rules.deconstructrefundmultiplier = Mnożnik Zwrotu Dekonstrukcji rules.waitForWaveToEnd = Fale CzekajÄ… Na Przeciwników +rules.wavelimit = Mapa Konczy siÄ™ Po Fali rules.dropzoneradius = ZasiÄ™g Strefy Zrzutu:[lightgray] (kratki) rules.unitammo = Jednostki PotrzebujÄ… Amunicji +rules.enemyteam = Drużyna Wroga +rules.playerteam = Drużyna Gracza rules.title.waves = Fale rules.title.resourcesbuilding = Zasoby i Budowanie rules.title.enemy = Przeciwnicy rules.title.unit = Jednostki rules.title.experimental = Eksperymentalne -rules.title.environment = Environment +rules.title.environment = Otoczenie +rules.title.teams = Drużyny +rules.title.planet = Planet rules.lighting = OÅ›wietlenie -rules.enemyLights = Wrogowie EmitujÄ… ÅšwiatÅ‚o +rules.fog = MgÅ‚a Wojny +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = OgieÅ„ -rules.explosions = Uszkodzenia Wybuchu Klocka/Jednostki -rules.ambientlight = OtaczajÄ…ce ÅšwiatÅ‚o +rules.anyenv = +rules.explosions = Uszkodzenia Wybuchu Bloku/Jednostki +rules.ambientlight = OtaczajÄ…ce\nÅšwiatÅ‚o rules.weather = Pogoda rules.weather.frequency = CzÄ™stotliwość: +rules.weather.always = Zawsze rules.weather.duration = Czas trwania: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Przedmioty content.liquid.name = PÅ‚yny content.unit.name = Jednostki -content.block.name = Klocki +content.block.name = Bloki +content.status.name = Efekty Statusu content.sector.name = Sektory +content.team.name = Frakcje +wallore = (Åšciana) item.copper.name = Miedź item.lead.name = Ołów @@ -988,114 +1459,168 @@ item.blast-compound.name = Wybuchowy ZwiÄ…zek item.pyratite.name = Piratian item.metaglass.name = MetaszkÅ‚o item.scrap.name = ZÅ‚om +item.fissile-matter.name = MateriaÅ‚ Roszczepialny +item.beryllium.name = Beryl +item.tungsten.name = Wolfram +item.oxide.name = Tlenek Berylu +item.carbide.name = Karbid +item.dormant-cyst.name = DrzemiÄ…ca Torbiel liquid.water.name = Woda liquid.slag.name = Å»użel liquid.oil.name = Ropa liquid.cryofluid.name = Lodociecz +liquid.neoplasm.name = Neoplazma +liquid.arkycite.name = Arkycyt +liquid.gallium.name = CiekÅ‚y Gal +liquid.ozone.name = Ozon +liquid.hydrogen.name = Wodór +liquid.nitrogen.name = Azot +liquid.cyanogen.name = Cyjan unit.dagger.name = Nóż -unit.mace.name = Mace +unit.mace.name = Buzdygan unit.fortress.name = Forteca -unit.nova.name = Nova + +unit.nova.name = Nowa unit.pulsar.name = Pulsar -unit.quasar.name = Quasar +unit.quasar.name = Kwazar + unit.crawler.name = PeÅ‚zak unit.atrax.name = Atrax unit.spiroct.name = Spiroct unit.arkyid.name = Arkyid unit.toxopid.name = Toxopid -unit.flare.name = BÅ‚ysk + +unit.flare.name = Flara unit.horizon.name = Horyzont unit.zenith.name = Zenit unit.antumbra.name = Antumbra unit.eclipse.name = Zaćmienie -unit.mono.name = Mono -unit.poly.name = Poly + +unit.mono.name = Mrówka +unit.poly.name = Duszek unit.mega.name = Mega unit.quad.name = Quad unit.oct.name = Oct -unit.risso.name = Risso + +unit.risso.name = Delfin unit.minke.name = Minke -unit.bryde.name = Bryde -unit.sei.name = Sei +unit.bryde.name = PÅ‚etwal +unit.sei.name = Sejwal unit.omura.name = Omura -unit.alpha.name = Alpha + +unit.retusa.name = Retusa +unit.oxynoe.name = Oksynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegir +unit.navanax.name = Nawanaksa + +unit.alpha.name = Alfa unit.beta.name = Beta unit.gamma.name = Gamma -unit.scepter.name = Scepter -unit.reign.name = Reign -unit.vela.name = Vela +unit.scepter.name = Kostur +unit.reign.name = Imperator +unit.vela.name = Wela unit.corvus.name = Corvus +unit.stell.name = Stal +unit.locus.name = Lokus +unit.precept.name = Przestrzegacz +unit.vanquish.name = Pogromca +unit.conquer.name = Zdobywca +unit.merui.name = Merui +unit.cleroi.name = Kleroi +unit.anthicus.name = Dycyrtomina +unit.tecta.name = Tekta +unit.collaris.name = Sleipnir +unit.elude.name = Wymykacz +unit.avert.name = Awert +unit.obviate.name = Likwidator +unit.quell.name = TÅ‚umiciel +unit.disrupt.name = Rozrywacz -block.resupply-point.name = Punkt UzupeÅ‚nienia -block.parallax.name = Parallax +unit.evoke.name = SygnaÅ‚ek +unit.incite.name = NawoÅ‚ywacz +unit.emanate.name = Pochodnia + +unit.manifold.name = SkÅ‚adak +unit.assembly-drone.name = Dron Montażowy +unit.latum.name = Latum +unit.renale.name = Renale + +block.parallax.name = Paralaksa block.cliff.name = Klif block.sand-boulder.name = Piaskowy GÅ‚az block.basalt-boulder.name = Bazaltowy GÅ‚az block.grass.name = Trawa -block.slag.name = Å»użel -block.space.name = Space +block.molten-slag.name = Å»użel +block.pooled-cryofluid.name = Lodociecz +block.space.name = Kosmos block.salt.name = Sól block.salt-wall.name = Solna Åšciana block.pebbles.name = Kamyki -block.tendrils.name = Wić +block.tendrils.name = PnÄ…cza block.sand-wall.name = Piaskowa Åšciana -block.spore-pine.name = Sosna Zarodnikowa -block.spore-wall.name = Zarodinkowa Åšciana +block.spore-pine.name = Zarodnikowa Sosna +block.spore-wall.name = Zarodnikowa Åšciana block.boulder.name = GÅ‚az block.snow-boulder.name = Åšnieżny GÅ‚az -block.snow-pine.name = Sosna Å›niegowa +block.snow-pine.name = Åšnieżna Sosna block.shale.name = Åupek -block.shale-boulder.name = GÅ‚az Åupkowy +block.shale-boulder.name = Åupkowy GÅ‚az block.moss.name = Mech block.shrubs.name = Krzewy -block.spore-moss.name = Mech Zarodnikowy -block.shale-wall.name = Åšciana Z Åupku -block.scrap-wall.name = Åšciana ze ZÅ‚omu -block.scrap-wall-large.name = Duża Åšciana ze ZÅ‚omu -block.scrap-wall-huge.name = Ogromna Åšciana ze ZÅ‚omu -block.scrap-wall-gigantic.name = Gigantyczna Åšciana ze ZÅ‚omu +block.spore-moss.name = Zarodnikowy Mech +block.shale-wall.name = Åupkowy Mur +block.scrap-wall.name = ZÅ‚omowy Mur +block.scrap-wall-large.name = Duży ZÅ‚omowy Mur +block.scrap-wall-huge.name = Ogromny ZÅ‚omowy Mur +block.scrap-wall-gigantic.name = Gigantyczny ZÅ‚omowy Mur block.thruster.name = Silnik block.kiln.name = Wypalarka block.graphite-press.name = Grafitowa Prasa block.multi-press.name = Multi-Prasa block.constructing = {0} [lightgray](Budowa) block.spawn.name = Spawn wrogów +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = RdzeÅ„: OdÅ‚amek block.core-foundation.name = RdzeÅ„: Podstawa block.core-nucleus.name = RdzeÅ„: JÄ…dro -block.deepwater.name = Głęboka Woda -block.water.name = Woda +block.deep-water.name = Głęboka Woda +block.shallow-water.name = Woda block.tainted-water.name = Skażona Woda +block.deep-tainted-water.name = Głęboka Skażona Woda block.darksand-tainted-water.name = Skażona Woda z Ciemnym Piaskiem block.tar.name = SmoÅ‚a block.stone.name = KamieÅ„ -block.sand.name = Piasek +block.sand-floor.name = Piasek block.darksand.name = Czarny piasek block.ice.name = Lód block.snow.name = Åšnieg -block.craters.name = Kratery +block.crater-stone.name = Kratery block.sand-water.name = Woda z Piaskiem block.darksand-water.name = Woda z Ciemnym Piaskiem block.char.name = Popiół -block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder +block.dacite.name = Dacyt +block.rhyolite.name = Ryolit +block.dacite-wall.name = Dacytowa Åšciana +block.dacite-boulder.name = Dacytowy GÅ‚az block.ice-snow.name = Lodowy Åšnieg -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall +block.stone-wall.name = Kamienna Åšciana +block.ice-wall.name = Lodowa Åšciana +block.snow-wall.name = Åšnieżna Åšciana +block.dune-wall.name = Wydmowa Åšciana block.pine.name = Sosna -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud +block.dirt.name = Ziemia +block.dirt-wall.name = Ziemna Åšciana +block.mud.name = BÅ‚oto block.white-tree-dead.name = BiaÅ‚e Martwe Drzewo block.white-tree.name = BiaÅ‚e Drzewo block.spore-cluster.name = Skupisko Zarodników block.metal-floor.name = Metalowa PodÅ‚oga block.metal-floor-2.name = Metalowa PodÅ‚oga 2 block.metal-floor-3.name = Metalowa PodÅ‚oga 3 +block.metal-floor-4.name = Metalowa PodÅ‚oga 4 block.metal-floor-5.name = Metalowa PodÅ‚oga 5 block.metal-floor-damaged.name = Uszkodzona Metalowa PodÅ‚oga block.dark-panel-1.name = Ciemny Panel 1 @@ -1105,37 +1630,40 @@ block.dark-panel-4.name = Ciemny Panel 4 block.dark-panel-5.name = Ciemny Panel 5 block.dark-panel-6.name = Ciemny Panel 6 block.dark-metal.name = Ciemny Metal -block.basalt.name = Basalt +block.basalt.name = Bazalt block.hotrock.name = GorÄ…cy KamieÅ„ -block.magmarock.name = SkaÅ‚a magmowa -block.copper-wall.name = Miedziana Åšciana -block.copper-wall-large.name = Duża Miedziana Åšciana -block.titanium-wall.name = Tytanowa Åšciana -block.titanium-wall-large.name = Duża Tytanowa Åšciana -block.plastanium-wall.name = Åšciana z Plastanu -block.plastanium-wall-large.name = Duża Åšciana z Plastanu -block.phase-wall.name = Fazowa Åšciana -block.phase-wall-large.name = Duża Fazowa Åšciana -block.thorium-wall.name = Torowa Åšciana -block.thorium-wall-large.name = Duża Torowa Åšciana -block.door.name = Drzwi -block.door-large.name = Duże drzwi +block.magmarock.name = Magmowa SkaÅ‚a +block.copper-wall.name = Miedziany Mur +block.copper-wall-large.name = Duży Miedziany Mur +block.titanium-wall.name = Tytanowy Mur +block.titanium-wall-large.name = Duży Tytanowy Mur +block.plastanium-wall.name = Plastanowy Mur +block.plastanium-wall-large.name = Duży Plastanowy Mur +block.phase-wall.name = Fazowy Mur +block.phase-wall-large.name = Duży Fazowy Mur +block.thorium-wall.name = Torowy Mur +block.thorium-wall-large.name = Duży Torowy Mur +block.door.name = Wrota +block.door-large.name = Duże Wrota block.duo.name = Podwójne DziaÅ‚ko block.scorch.name = PÅ‚omieÅ„ block.scatter.name = Flak block.hail.name = Grad block.lancer.name = Lancer block.conveyor.name = PrzenoÅ›nik -block.titanium-conveyor.name = PrzenoÅ›nik Tytanowy -block.plastanium-conveyor.name = PrzenoÅ›nik Plastanowy -block.armored-conveyor.name = PrzenoÅ›nik Opancerzony +block.titanium-conveyor.name = Tytanowy PrzenoÅ›nik +block.plastanium-conveyor.name = Plastanowy PrzenoÅ›nik +block.armored-conveyor.name = Opancerzony PrzenoÅ›nik block.junction.name = WÄ™zeÅ‚ block.router.name = Rozdzielacz block.distributor.name = Dystrybutor block.sorter.name = Sortownik block.inverted-sorter.name = Odwrotny Sortownik block.message.name = Wiadomość -block.illuminator.name = Illuminator +block.reinforced-message.name = Wzmocniona Wiadomość +block.world-message.name = World Message +block.world-switch.name = World Switch +block.illuminator.name = RozÅ›wietlacz block.overflow-gate.name = Brama PrzepeÅ‚nieniowa block.underflow-gate.name = Brama Niedomiaru block.silicon-smelter.name = Huta Krzemu @@ -1150,33 +1678,33 @@ block.coal-centrifuge.name = Wirówka wÄ™glowa block.power-node.name = WÄ™zeÅ‚ PrÄ…du block.power-node-large.name = Duży WÄ™zeÅ‚ PrÄ…du block.surge-tower.name = Wieża Energetyczna -block.diode.name = Dioda baterii +block.diode.name = Dioda Baterii block.battery.name = Bateria block.battery-large.name = Duża Bateria block.combustion-generator.name = Generator Spalinowy block.steam-generator.name = Generator Parowy block.differential-generator.name = Generator Różnicowy block.impact-reactor.name = Reaktor Uderzeniowy -block.mechanical-drill.name = WiertÅ‚o Mechaniczne -block.pneumatic-drill.name = WiertÅ‚o Pneumatyczne -block.laser-drill.name = WiertÅ‚o Laserowe +block.mechanical-drill.name = Mechaniczne WiertÅ‚o +block.pneumatic-drill.name = Pneumatyczne WiertÅ‚o +block.laser-drill.name = Laserowe WiertÅ‚o block.water-extractor.name = Ekstraktor Wody block.cultivator.name = Spulchniacz block.conduit.name = Rura block.mechanical-pump.name = Mechaniczna Pompa -block.item-source.name = ŹródÅ‚o przedmiotów -block.item-void.name = Próżnia przedmiotów -block.liquid-source.name = ŹródÅ‚o pÅ‚ynów -block.liquid-void.name = Próżnia pÅ‚ynów -block.power-void.name = Próżnia prÄ…du -block.power-source.name = ŹródÅ‚o prÄ…du +block.item-source.name = ŹródÅ‚o Przedmiotów +block.item-void.name = Próżnia Przedmiotów +block.liquid-source.name = ŹródÅ‚o PÅ‚ynów +block.liquid-void.name = Próżnia PÅ‚ynów +block.power-void.name = Próżnia PrÄ…du +block.power-source.name = ŹródÅ‚o PrÄ…du block.unloader.name = Ekstraktor block.vault.name = Magazyn block.wave.name = StrumieÅ„ block.tsunami.name = Tsunami block.swarmer.name = DziaÅ‚o Rojowe block.salvo.name = DziaÅ‚o Salwowe -block.ripple.name = DziaÅ‚o Falowe +block.ripple.name = Gradobicie block.phase-conveyor.name = Transporter Fazowy block.bridge-conveyor.name = Most Transportowy block.plastanium-compressor.name = Kompresor Plastanu @@ -1186,39 +1714,41 @@ block.solar-panel.name = Panel SÅ‚oneczny block.solar-panel-large.name = Duży Panel SÅ‚oneczny block.oil-extractor.name = Ekstraktor Ropy block.repair-point.name = Punkt Naprawy -block.pulse-conduit.name = Rura Pulsacyjna -block.plated-conduit.name = Opancerzona rura +block.repair-turret.name = DziaÅ‚o Naprawcze +block.pulse-conduit.name = Tytanowa Rura +block.plated-conduit.name = Opancerzona Rura block.phase-conduit.name = Rura Fazowa block.liquid-router.name = Rozdzielacz PÅ‚ynów block.liquid-tank.name = Zbiornik PÅ‚ynów +block.liquid-container.name = Pojemnik PÅ‚ynów block.liquid-junction.name = ÅÄ…cznik PÅ‚ynów block.bridge-conduit.name = Most PÅ‚ynów block.rotary-pump.name = Wirowa Pompa block.thorium-reactor.name = Reaktor Torowy block.mass-driver.name = Katapulta Masy -block.blast-drill.name = WiertÅ‚o Wybuchowe -block.thermal-pump.name = Pompa Termalna +block.blast-drill.name = Wybuchowe WiertÅ‚o +block.impulse-pump.name = Impulsowa Pompa block.thermal-generator.name = Generator Termalny -block.alloy-smelter.name = Piec MieszajÄ…cy +block.surge-smelter.name = Piec MieszajÄ…cy block.mender.name = Naprawiacz -block.mend-projector.name = Projektor Napraw -block.surge-wall.name = Åšciana Elektrum -block.surge-wall-large.name = Duża Åšciana Elektrum +block.mend-projector.name = Projektor Naprawczy +block.surge-wall.name = Elektrumowy Mur +block.surge-wall-large.name = Duży Elektrumowy Mur block.cyclone.name = Cyklon block.fuse.name = Lont -block.shock-mine.name = Mina -block.overdrive-projector.name = Projektor Pola Overdrive +block.shock-mine.name = Mina Rażąca +block.overdrive-projector.name = Projektor Pola Przyspieszenia block.force-projector.name = Projektor Pola SiÅ‚owego block.arc.name = Piorun block.rtg-generator.name = Generator RTG block.spectre.name = Huragan -block.meltdown.name = Rozpad -block.foreshadow.name = Foreshadow +block.meltdown.name = Roztapiacz +block.foreshadow.name = Zeus block.container.name = Kontener block.launch-pad.name = Wyrzutnia -block.launch-pad-large.name = Duża Wyrzutnia +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Centrum Dowodzenia block.ground-factory.name = Fabryka Naziemna block.air-factory.name = Fabryka Powietrzna block.naval-factory.name = Fabryka Morska @@ -1228,165 +1758,399 @@ block.exponential-reconstructor.name = Rekonstruktor WykÅ‚adniczy block.tetrative-reconstructor.name = Rekonstruktor Tetratywny block.payload-conveyor.name = PrzenoÅ›nik Masowy block.payload-router.name = Rozdzielacz Åadunku +block.duct.name = Rura Próżniowa +block.duct-router.name = Rozdzielacz Próżniowy +block.duct-bridge.name = Most Próżniowy +block.large-payload-mass-driver.name = Duża Katapulta Åadunku +block.payload-void.name = Próżnia Åadunku +block.payload-source.name = ŹródÅ‚o Åadunku block.disassembler.name = RozkÅ‚adacz block.silicon-crucible.name = Tygiel Krzemu -block.overdrive-dome.name = KopuÅ‚a Pola Overdrive -#experimental, may be removed -block.block-forge.name = Piec Bloków -block.block-loader.name = Åadownik Bloków -block.block-unloader.name = Opróżniacz Bloków -block.interplanetary-accelerator.name = Przspieszacz MiÄ™dzyplanetarny +block.overdrive-dome.name = KopuÅ‚a Pola Przyspieszenia +block.interplanetary-accelerator.name = Przyspieszacz MiÄ™dzyplanetarny +block.constructor.name = Konstruktor +block.constructor.description = Produkuje struktury do rozmiaru 2x2 kratek. +block.large-constructor.name = Duży Konstruktor +block.large-constructor.description = Produkuje struktury do rozmiaru 4x4 kratek. +block.deconstructor.name = Dekonstruktor +block.deconstructor.description = Dekonstruuje struktury i jednostki. Zwraca 100% kosztów budowy. +block.payload-loader.name = Punkt ZaÅ‚adunkowy +block.payload-loader.description = Åaduje pÅ‚yny i surowce do bloków. +block.payload-unloader.name = Punkt RozÅ‚adunkowy +block.payload-unloader.description = RozÅ‚adowuje pÅ‚yny i surowce z bloków. +block.heat-source.name = ŹródÅ‚o CiepÅ‚a +block.heat-source.description = Blok dajÄ…cy nieskoÅ„czone ciepÅ‚o. + +block.empty.name = Pusty +block.rhyolite-crater.name = Ryolitowy Krater +block.rough-rhyolite.name = Szorstki Ryolit +block.regolith.name = Regolit +block.yellow-stone.name = Żółta SkaÅ‚a +block.carbon-stone.name = WÄ™glowa SkaÅ‚a +block.ferric-stone.name = Å»elazowa SkaÅ‚a +block.ferric-craters.name = Å»elazowa SkaÅ‚a +block.beryllic-stone.name = Berylowa SkaÅ‚a +block.crystalline-stone.name = KrysztaÅ‚owy kamieÅ„ +block.crystal-floor.name = KrysztaÅ‚owa PodÅ‚oga +block.yellow-stone-plates.name = Żółte Kamienne PÅ‚yty +block.red-stone.name = Czerwony KamieÅ„ +block.dense-red-stone.name = GÄ™sty Czerwony KamieÅ„ +block.red-ice.name = Czerwony Lód +block.arkycite-floor.name = Arkyiczna PodÅ‚oga +block.arkyic-stone.name = Arkyiczny KamieÅ„ +block.rhyolite-vent.name = Ryolitowy Gejzer +block.carbon-vent.name = WÄ™glowy Gejzer +block.arkyic-vent.name = Arkyiczny Gejzer +block.yellow-stone-vent.name = Żółty Kamienny Gejzer +block.red-stone-vent.name = Czerwony Kamienny Gejzer +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Strefa Rdzenia +block.regolith-wall.name = Regolitowa Åšciana +block.yellow-stone-wall.name = Żółta Kamienna Åšciana +block.rhyolite-wall.name = Ryolitowa Å›ciana +block.carbon-wall.name = WÄ™glowa Åšciana +block.ferric-stone-wall.name = Å»elazna Kamienna Åšciana +block.beryllic-stone-wall.name = Berylitowa Åšciana +block.arkyic-wall.name = Arkyiczna Åšciana +block.crystalline-stone-wall.name = KrysztaÅ‚owa Kamienna Åšciana +block.red-ice-wall.name = Åšciana z Czerwonego Lodu +block.red-stone-wall.name = Kamienna Czerwona Åšciana +block.red-diamond-wall.name = Czerwona Diamentowa Åšciana +block.redweed.name = Czerwony Chwast +block.pur-bush.name = Czysty Krzak +block.yellowcoral.name = Żółty Koralowiec +block.carbon-boulder.name = WÄ™glowy GÅ‚az +block.ferric-boulder.name = Å»elazny GÅ‚az +block.beryllic-boulder.name = Berylowy GÅ‚az +block.yellow-stone-boulder.name = Żółty Kamienny GÅ‚az +block.arkyic-boulder.name = Arkyiczny GÅ‚az +block.crystal-cluster.name = Gromada Kryształów +block.vibrant-crystal-cluster.name = WibrujÄ…ca Grupa Kryształów +block.crystal-blocks.name = KrysztaÅ‚owe Bloki +block.crystal-orbs.name = KrysztaÅ‚owe Kule +block.crystalline-boulder.name = KrysztaÅ‚owy GÅ‚az +block.red-ice-boulder.name = Czerwony Lodowy GÅ‚az +block.rhyolite-boulder.name = GÅ‚az Ryolitowy +block.red-stone-boulder.name = Czerwony Kamienny GÅ‚az +block.graphitic-wall.name = Grafitowa Åšciana +block.silicon-arc-furnace.name = Krzemowy Piec Åukowy +block.electrolyzer.name = Elektrolizer +block.atmospheric-concentrator.name = Skraplacz Atmosferyczny +block.oxidation-chamber.name = Komora UtleniajÄ…ca +block.electric-heater.name = Podgrzewacz Elektryczny +block.slag-heater.name = Podgrzewacz Å»użlowy +block.phase-heater.name = Podgrzewacz Fazowy +block.heat-redirector.name = Kierownik CiepÅ‚a +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Rozdzielacz CiepÅ‚a +block.slag-incinerator.name = Spalarnia Å»użla +block.carbide-crucible.name = Tygiel Karbidu +block.slag-centrifuge.name = Wirówka Å»użlu +block.surge-crucible.name = Tygiel Elektrum +block.cyanogen-synthesizer.name = Syntetyzer Cyjanu +block.phase-synthesizer.name = Fazowy Syntetyzer +block.heat-reactor.name = Reaktor Cieplny +block.beryllium-wall.name = Berylowy Mur +block.beryllium-wall-large.name = Duży Berylowy Mur +block.tungsten-wall.name = Wolframowy Mur +block.tungsten-wall-large.name = Duży Wolframowy Mur +block.blast-door.name = Dotykowe Wrota +block.carbide-wall.name = Karbidowy Mur +block.carbide-wall-large.name = Duży Karbidowy Mur +block.reinforced-surge-wall.name = Wzmocniony Elektrumowy Mur +block.reinforced-surge-wall-large.name = Duży Wzmocniony Elektrumowy Mur +block.shielded-wall.name = OsÅ‚onowy Mur +block.radar.name = Radar +block.build-tower.name = Wieża Budownicza +block.regen-projector.name = Projektor Regeneracji +block.shockwave-tower.name = Wieża Antybalistyczna +block.shield-projector.name = Projektor Ochronny +block.large-shield-projector.name = Duży Projektor Ochronny +block.armored-duct.name = Opancerzona Rura Próżniowa +block.overflow-duct.name = PrzeciwprzepeÅ‚nieniowa Rura Próżniowa +block.underflow-duct.name = Próżniowa Rura Niedomiaru +block.duct-unloader.name = Próżniowa Rura RozÅ‚adowujÄ…ca +block.surge-conveyor.name = Elektrumowy PrzenoÅ›nik +block.surge-router.name = Elektrumowy Rozdzielacz +block.unit-cargo-loader.name = Punkt ZaÅ‚adunku Jednostki Transportowej +block.unit-cargo-unload-point.name = Punkt RozÅ‚adunku Jednostki Transportowej +block.reinforced-pump.name = Wzmocniona Pompa +block.reinforced-conduit.name = Wzmocniona Rura +block.reinforced-liquid-junction.name = Wzmocniony ÅÄ…cznik PÅ‚ynów +block.reinforced-bridge-conduit.name = Wzmocniony Most PÅ‚ynów +block.reinforced-liquid-router.name = Wzmocniony Rozdzielacz PÅ‚ynów +block.reinforced-liquid-container.name = Wzmocniony Pojemnik PÅ‚ynów +block.reinforced-liquid-tank.name = Wzmocniony Zbiornik PÅ‚ynów +block.beam-node.name = WÄ™zeÅ‚ Promieni +block.beam-tower.name = Wieża Promieni +block.beam-link.name = ÅÄ…cznik Promieni +block.turbine-condenser.name = Turbina Parowa +block.chemical-combustion-chamber.name = Chemiczna Komora Spalania +block.pyrolysis-generator.name = Generator Pirolizy +block.vent-condenser.name = Skraplacz Pary +block.cliff-crusher.name = Rozdrabniacz Klifów +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plazmowe WiertÅ‚o +block.large-plasma-bore.name = Duże Plazmowe WiertÅ‚o +block.impact-drill.name = Uderzeniowe WiertÅ‚o +block.eruption-drill.name = Erupcyjne WiertÅ‚o +block.core-bastion.name = RdzeÅ„: Bastion +block.core-citadel.name = RdzeÅ„: Cytadela +block.core-acropolis.name = RdzeÅ„: Akropol +block.reinforced-container.name = Wzmocniony Kontener +block.reinforced-vault.name = Wzmocniony Magazyn +block.breach.name = WyÅ‚om +block.sublimate.name = Wyziew +block.titan.name = Tytan +block.disperse.name = Burza +block.afflict.name = Cios +block.lustre.name = BÅ‚ysk +block.scathe.name = ZamÄ™t +block.tank-refabricator.name = Konstruktor CzoÅ‚gów +block.mech-refabricator.name = Konstruktor Mechów +block.ship-refabricator.name = Konstruktor Statków +block.tank-assembler.name = Monter CzoÅ‚gów +block.ship-assembler.name = Monter Statków +block.mech-assembler.name = Monter Mechów +block.reinforced-payload-conveyor.name = Wzmocniony PrzenoÅ›nik Åadunku +block.reinforced-payload-router.name = Wzmocniony Rozdzielacz Åadunku +block.payload-mass-driver.name = Katapula Åadunku +block.small-deconstructor.name = MaÅ‚y Dekonstruktor +block.canvas.name = Płótno +block.world-processor.name = Procesor Åšwiata +block.world-cell.name = Komórka Åšwiata +block.tank-fabricator.name = Fabryka CzoÅ‚gów +block.mech-fabricator.name = Fabryka Mechów +block.ship-fabricator.name = Fabryka Statków +block.prime-refabricator.name = Główny Refabrykator +block.unit-repair-tower.name = Wieża Napraw +block.diffuse.name = Rozproszenie +block.basic-assembler-module.name = Podstawowy ModuÅ‚ Montażowy +block.smite.name = Karciciel +block.malign.name = Malign +block.flux-reactor.name = Reaktor Strumieniowy +block.neoplasia-reactor.name = Reaktor neoplazmowy block.switch.name = Przełącznik -block.micro-processor.name = Micro Procesor -block.logic-processor.name = Logiczny Procesor -block.hyper-processor.name = Hyper Procesor +block.micro-processor.name = Mikroprocesor +block.logic-processor.name = Procesor Logiczny +block.hyper-processor.name = Hiperprocesor block.logic-display.name = WyÅ›wietlacz Logiczny block.large-logic-display.name = Duży WyÅ›wietlacz Logiczny block.memory-cell.name = Komórka PamiÄ™ci block.memory-bank.name = Bank PamiÄ™ci - -team.blue.name = niebieski -team.crux.name = czerwony -team.sharded.name = żółty -team.orange.name = pomaraÅ„czowy -team.derelict.name = szary -team.green.name = zielony -team.purple.name = fioletowy +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Porzuceni +team.green.name = Zielony +team.blue.name = Niebieski hint.skip = PomiÅ„ hint.desktopMove = Użyj [accent][[WASD][] by siÄ™ poruszać. -hint.zoom = [accent]PrzewiÅ„[] by przybliżać lub oddlać obraz. -hint.mine = Zbliż siÄ™ do \uf8c4 rudy miedzi i [accent]kliknij[] by kopać manualnie. +hint.zoom = [accent]Użyj[] by przybliżać lub oddalać obraz. hint.desktopShoot = Kliknij [accent][[Lewy przycisk myszy][] by strzelać. -hint.depositItems = By przenosić przedmoty, przeciÄ…gij je ze swojego statku do rdzenia. +hint.depositItems = By przenosić przedmioty, przeciÄ…gij je ze swojego statku do rdzenia. hint.respawn = By siÄ™ odrodzić jako statek, kliknij [accent][[V][]. -hint.respawn.mobile = PrzełączyÅ‚eÅ› siÄ™ na innÄ… jednoskÄ™/strukturÄ™. By odrodzić siÄ™ jako statek, [accent]kliknij w awatar w górnym lewym rogu.[] -hint.desktopPause = NaciÅ›nij [accent][[SpacjÄ™][] by zatrzymać lub wznowić grÄ™. -hint.placeDrill = Wybierz \ue85e [accent]WiertÅ‚o[] w menu w prawym dolnym rogu, i wybierz wtedy \uf870 [accent]WiertÅ‚o[] i kliknij na miedzi by je postawić. -hint.placeDrill.mobile = Wybierz zakÅ‚adkÄ™ z \ue85e[accent]WiertÅ‚em[] w menu w prawym dolnym rogu, i wtedy wybierz \uf870 [accent]WietÅ‚o[] i kliknij na miedzi by je postawić.\n\nNaciÅ›nij \ue800 [accent]znak potwierdzenia[] w dolnym prawym rogu by potwierdzić. -hint.placeConveyor = PrzenoÅ›niki mogÄ… przenosić przedmioty z wierteÅ‚. Wybierz \uf896 [accent]PrzenoÅ›nik[] z zakÅ‚adki \ue814 [accent]Dystrybucja[].\n\nKliknij i przeciÄ…gnij by poÅ‚ożyć wiele przeciÄ…gników.\n[accent]PrzewiÅ„[] by obrócić. -hint.placeConveyor.mobile = PrzenoÅ›niki mogÄ… przenosić przedmioty z wierteÅ‚. Wybierz \uf896 [accent]PrzenoÅ›nik[] z zakÅ‚adki \ue814 [accent]Dystrybucja[].\n\nPrzytrzymaj palcem i przeciÄ…gij by poÅ‚ożyć wiele przeciÄ…gników. -hint.placeTurret = Postaw \uf861 [accent]DziaÅ‚ka[] by bronić siÄ™ przed wrogami.\n\nDziaÅ‚ka potzebujÄ… amunicji - w tym wypadku, \uf838copper.\nUżyj przenoÅ›ników i wierteÅ‚ by je naÅ‚adować. -hint.breaking = Użyj [accent]Prawego przycisku myszy[] i przeciÄ…gnij by zniszczyć bloki. -hint.breaking.mobile = Aktywuj \ue817 [accent]ikonÄ™ mÅ‚ota[] w dolnym prawym rogu by zniszczyć bloki.\n\nPrzytrymaj swój palec i przeciÄ…gij by wybrać wiele bloków do zniszczenia. -hint.research = Klikij przycisk \ue875 [accent]BadaÅ„[] by odkrwyać nowe technologie. -hint.research.mobile = Użyj przycisku \ue875 [accent]BadaÅ„[] w \ue88c [accent]Menu[] by odkrwyać nowe technologie. -hint.unitControl = Przytrzymaj [accent][[Lewy CTRL][] i [accent]kliknij[] to control by kontrolować sojusznicze jednostki i dziaÅ‚ka. +hint.respawn.mobile = PrzełączyÅ‚eÅ› siÄ™ na innÄ… jednostkÄ™/strukturÄ™. By odrodzić siÄ™ jako statek, [accent]kliknij w awatar w lewym górnym rogu.[] +hint.desktopPause = NaciÅ›nij [accent][[SpacjÄ™][], by zatrzymać lub wznowić grÄ™. +hint.breaking = Użyj [accent][Prawego przycisku myszy][] i przeciÄ…gnij by zniszczyć bloki. +hint.breaking.mobile = Aktywuj \ue817 [accent]ikonÄ™ mÅ‚ota[] w dolnym prawym rogu by zniszczyć bloki.\n\nPrzytrzymaj swój palec i przeciÄ…gnij by wybrać wiele bloków do zniszczenia. +hint.blockInfo = WyÅ›wietl informacje o bloku, wybierajÄ…c go w [accent]menu budowania[], a nastÄ™pnie wybierajÄ…c [accent][[?][] przycisk po prawej. +hint.derelict = [accent]Szare[] struktury sÄ… uszkodzonymi pozostaÅ‚oÅ›ciami starych baz, które już nie funkcjonujÄ….\n\nTe struktury można [accent]zdekonstruować[] dla surowców. +hint.research = Klikij przycisk \ue875 [accent]BadaÅ„[], by odkrywać nowe technologie. +hint.research.mobile = Użyj przycisku \ue875 [accent]BadaÅ„[] w \ue88c [accent]Menu[], by odkrywać nowe technologie. +hint.unitControl = Przytrzymaj [accent][[Lewy CTRL][] i [accent]kliknij[], by kontrolować sojusznicze jednostki i dziaÅ‚ka. hint.unitControl.mobile = [accent][Kliknij dwukrotnie[] by kontrolować sojusznicze jednostki i dziaÅ‚ka. -hint.launch = Gdy zebraÅ‚eÅ› wystarczajÄ…co materiałów możesz [accent]Wystrzelić[] wybierajÄ…c \ue827 [accent]Mape[] w dolnym prawym rogu. -hint.launch.mobile = Gdy zebraÅ‚eÅ› wystarczajÄ…co materiałów możesz [accent]Wystrzelić[] do pobliskich sektorów klikajÄ…c w \ue827 [accent]Mape[] w \ue88c [accent]Menu[]. -hint.schematicSelect = Przytrzymaj [accent][[F][] by kopiować i wkleić bloki.\n\n[accent][[Åšrodkowy przycisk myszy][] kopiuje pojedyÅ„czy blok. -hint.conveyorPathfind = PrzeciÄ…gij i przytrzymaj [accent][[Lewy CTRL][] w trakcie budowania przenoÅ›ników by wygenerować Å›cieżkÄ™. -hint.conveyorPathfind.mobile = Włącz \ue844 [accent]tryb ukoÅ›ny[] i przeciÄ…gnij w trakcie budowania przenoÅ›ników by wygenerować Å›cieżkÄ™. -hint.boost = Przytrzymaj [accent][[Lewy Shift][] by przelecieć ponad przeszkody.\n\nNie wszystkie jednostki tak mogÄ…. -hint.command = Kliknij [accent][[G][] by uksztaÅ‚tować formacje z pobliskich jednostek. -hint.command.mobile = [accent][[Podwójne klikniÄ™cie][] ksztaÅ‚tuje formacje z pobliskich jednostek. -hint.payloadPickup = Kliknij [accent][[[] by podnieść maÅ‚e bloki lub jednostki. +hint.unitSelectControl = Å»eby kontrolować jednostki wejdź w [accent]tryb komend[] trzymajÄ…c [accent]Lewy Shift.[]\nW trybie komend, kliknij i przeciÄ…gnij, żeby wybrać jednostki. Kliknij [accent]Prawym Przyciskiem Myszy[], żeby wyznaczyc jednostkom cel. +hint.unitSelectControl.mobile = Aby kontrolować jednostki, wejdź w [accent]tryb dowodzenia[] poprzez naciÅ›niÄ™cie przcisku [accent]dowodzenia[] w lewym dolnym rogu.\nPodczas gdy jesteÅ› w trybie dowodzenia, naciÅ›nij dÅ‚ugo i przeciÄ…gnij by wybrać jednostki. Stuknij w miejsce lub cel aby je tam wysÅ‚ać. +hint.launch = Gdy zebraÅ‚eÅ› wystarczajÄ…co materiałów możesz [accent]Wystrzelić[] wybierajÄ…c \ue827 [accent]MapÄ™[] w dolnym prawym rogu. +hint.launch.mobile = Gdy zebraÅ‚eÅ› wystarczajÄ…co materiałów możesz [accent]Wystrzelić[] do pobliskich sektorów klikajÄ…c w \ue827 [accent]MapÄ™[] w \ue88c [accent]Menu[]. +hint.schematicSelect = Przytrzymaj [accent][[F][] by kopiować i wkleić bloki.\n\n[accent][[Åšrodkowy przycisk myszy][] kopiuje pojedynczy blok. +hint.rebuildSelect = Przytrzymaj [accent][[B][] i przeciÄ…gnij, by zaznaczyć plany zniszczonych bloków.\nTo naprawi je automatycznie. +hint.rebuildSelect.mobile = wybierz \ue874 przycisk kopiowania, wtedy dotnij \ue80f przycisk odbudowy i przeciÄ…gnij by zaznaczyć plany zniszczonych bloków.\nTo naprawi je automatycznie. +hint.conveyorPathfind = PrzeciÄ…gij i przytrzymaj [accent][[Lewy CTRL][] w trakcie budowania przenoÅ›ników aby wygenerować Å›cieżkÄ™. +hint.conveyorPathfind.mobile = Włącz \ue844 [accent]tryb ukoÅ›ny[] i przeciÄ…gnij w trakcie budowania przenoÅ›ników aby wygenerować Å›cieżkÄ™. +hint.boost = Przytrzymaj [accent][[Lewy Shift][], by przelecieć ponad przeszkody.\n\nTylko część jednostek lÄ…dowych może to zrobić. +hint.payloadPickup = Kliknij [accent][[[], by podnieść maÅ‚e bloki lub jednostki. hint.payloadPickup.mobile = [accent]Kliknij i przytrzymaj[] maÅ‚y blok by go podnieść. -hint.payloadDrop = Kliknij [accent]][] by opuÅ›cić podniesoiny towar. -hint.payloadDrop.mobile = [accent]Kliknij i przytrzymaj[] w puste miejsce by opuÅ›cić podniesoiny towar. +hint.payloadDrop = Kliknij [accent]][], by opuÅ›cić podniesiony towar. +hint.payloadDrop.mobile = [accent]Kliknij i przytrzymaj[] w puste miejsce by opuÅ›cić podniesiony towar. hint.waveFire = [accent]StrumieÅ„[] wypeÅ‚niony wodÄ… bÄ™dzie gasić pobiskie pożary. -hint.generator = \uf879 [accent]Generatory Spalinowe[] spalajÄ… wÄ™giel i przekuzujÄ… moc do pobliskich bloków.\n\nMożesz powiÄ™kszyć odlegÅ‚ość transmitowanej mocy używająć \uf87f [accent]WÄ™zeÅ‚y PrÄ…du[]. -hint.guardian = Jednostki [accent]Strażnicze[] sÄ… uzbrojone. SÅ‚aba amunicja - taka jak [accent]Miedź[] oraz [accent]Ołów[] [scarlet]nie jest efektywna[].\n\nUżyj lepszych dziaÅ‚ek takich jak \uf835 [accent]NaÅ‚adowane Grafitem[] \uf861Duo/\uf859Salwa by pozbyć siÄ™ strażników. -hint.coreUpgrade = Rdzenie mogÄ… być ulepszone poprzez [accent]pÅ‚ożenie na nich rdzeÅ„ wyższego poziomu[].\n\nPołóż  rdzeÅ„ [accent]Fundacji[] na ï¡© rdzeÅ„:[accent]OdÅ‚amek[] core. Å»adna przeszkoda ani blok nie może stać na miejscu rdzenia. +hint.generator = \uf879 [accent]Generatory Spalinowe[] spalajÄ… wÄ™giel i przekazujÄ… moc do pobliskich bloków.\n\nMożesz powiÄ™kszyć odlegÅ‚ość transmitowanej mocy używajÄ…c \uf87f [accent]WÄ™zÅ‚y PrÄ…du[]. +hint.guardian = Jednostki [accent]Strażnicze[] sÄ… uzbrojone. SÅ‚aba amunicja - taka jak [accent]Miedź[] czy [accent]Ołów[] [scarlet]nie jest efektywna[].\n\nUżyj lepszych dziaÅ‚ek takich jak naÅ‚adowane \uf835 [accent]Grafitem[] \uf861 [accent]Podwójne DziaÅ‚ka[]/\uf859 [accent]DziaÅ‚a Salwowe[] by pozbyć siÄ™ strażników. +hint.coreUpgrade = Rdzenie mogÄ… być ulepszone poprzez [accent]postawienie na nich rdzenia wyższej generacji[].\n\nPostaw \uf868 RdzeÅ„: [accent]PodstawÄ™[] na \uf869 RdzeÅ„: [accent]OdÅ‚amek[]. Å»adna przeszkoda ani blok nie może stać na miejscu nowego rdzenia. hint.presetLaunch = Szare [accent]sektory[], takie jak [accent]Zamrożony Las[], to sektory do których możesz dotrzeć z każdego miejsca. Nie wymagajÄ… podbicia pobliskiego terenu.\n\n[accent]Ponumerowane sektory[], takie jak ten, [accent]sÄ… dodatkowe[]. +hint.presetDifficulty = Ten sektor ma [scarlet]wysoki poziom zagrożenia przez wroga[].\nWystrzeliwanie do takich sektorów jest [accent]nie zalecane[] bez odpowiedniej technologii i przygotowania. hint.coreIncinerate = Jak rdzeÅ„ zostanie w peÅ‚ni wypeÅ‚niony danym przedmiotem, reszta przedmiotów tego typu zostanie [accent]spalona[]. -hint.coopCampaign = Gdy grasz [accent]kooperacyjnÄ… kampanie[], przedmioty które sÄ… produkowane na mapie trafiÄ… także [accent]dotwoich lokalnych sektorów[].\n\nWszelkie nowe badania przeprowadzone przez hosta sÄ… również przenoszone. +hint.factoryControl = Aby ustawić punkt docelowy dla [accent]wyprodukowanych jednostek[], kliknij lewym przyciskiem na fabrykÄ™ w trybie poleceÅ„, a nastÄ™pnie prawym przyciskiem w miejsce docelowe.\nWyprodukowane przez niÄ… jednostki automatycznie siÄ™ tam przemieszczÄ…. +hint.factoryControl.mobile = Aby ustawić punkt docelowy dla [accent]wyprodukowanych jednoste[], dotknij fabryki w trybie poleceÅ„, a nastÄ™pnie miejsce docelowe.\nWyprodukowane przez niÄ… jednostki automatycznie siÄ™ tam przemieszczÄ…. +gz.mine = Przemieść siÄ™ w pobliże \uf8c4 [accent]rudy miedzi[] na ziemi i kliknij, aby zacząć kopać. +gz.mine.mobile = Przemieść siÄ™ w pobliże \uf8c4 [accent]rudy miedzi[] na ziemi i dotknij, aby zacząć kopać. +gz.research = Otwórz \ue875 drzewko technologiczne.\nZbadaj \uf870 [accent]Mechaniczne WiertÅ‚o[], NastÄ™pnie wybierz je z menu w prawym dolnym rogu.\nKliknij na zÅ‚oże miedzi, aby postawić na nim wiertÅ‚o. +gz.research.mobile = Otwórz \ue875 drzewko technologiczne.\nZbadaj \uf870 [accent]Mechaniczne WiertÅ‚o[], NastÄ™pnie wybierz je z menu w prawym dolnym rogu.\nDotknij zÅ‚oża miedzi aby postawić na nim wiertÅ‚o.\n\nKliknij w \ue800 [accent]fajkÄ™[] u doÅ‚u ekranu z prawej aby potwierdzić. +gz.conveyors = Zbadaj i postaw \uf896 [accent]przenoÅ›niki[], aby przemieÅ›cić wykopane surowce\nz wierteÅ‚ do rdzenia.\n\nNaciÅ›nij i przeciÄ…gnij aby postawic wiele przenoÅ›ników naraz.\n[accent]Użyj kółka myszki[], żeby obrócić. +gz.conveyors.mobile = Zbadaj i postaw \uf896 [accent]przenoÅ›niki[], aby przemieÅ›cić wykopane surowce\nz wierteÅ‚ do rdzenia.\n\nPrzytrzymaj przez sekundÄ™ i przeciÄ…gnij żeby postawić wiele przenoÅ›ników naraz. +gz.drills = Kontynuuj kopanie.\nStawiaj wiÄ™cej Mechanicznych WierteÅ‚.\nWydobÄ…dź 100 miedzi. +gz.lead = \uf837 [accent]Ołów[] jest kolejnym czÄ™sto używanym surowcem.\nPostaw wiertÅ‚a kopiÄ…ce ołów. +gz.moveup = \ue804 Przejdź do dalszych celów. +gz.turrets = Zbadaj i postaw 2 \uf861 [accent]Podwójne DziaÅ‚ka[] do obrony rdzenia.\nPodwójne dziaÅ‚ka wymagajÄ… \uf838 [accent]amunicji[] z przenoÅ›ników. +gz.duoammo = Dostarcz [accent]miedź[], do podwójnych dziaÅ‚ek przy użyciu przenoÅ›ników. +gz.walls = [accent]Mury[] mogÄ… zapobiec uszkodzeniu budynków.\nPostaw \uf8ae [accent]miedziane mury[] wokół dziaÅ‚ek. +gz.defend = Nadchodzi wróg, przygotuj siÄ™ do obrony. +gz.aa = LatajÄ…ce jednostki trudno zestrzelić standardowymi dziaÅ‚kami.\n\uf860 [accent]Flaki[] zapewniajÄ… Å›wietnÄ… powietrznÄ… obronÄ™, ale używajÄ… \uf837 [accent]oÅ‚owiu[] jako amunicji. +gz.scatterammo = Dostarcz [accent]oÅ‚owiu[]do Flaka używajÄ…c przenoÅ›ników. +gz.supplyturret = [accent]ZaÅ‚aduj DziaÅ‚ko +gz.zone1 = To jest strefa zrzutu wroga. +gz.zone2 = Wszytko co jest zbudowane w promieniu strefy zrzutu zostaje zniszczone z poczÄ…tkiem fali. +gz.zone3 = Teraz zacznie siÄ™ fala.\nPrzygotuj siÄ™. +gz.finish = Wybuduj wiÄ™cej dziaÅ‚ek, wykop wiÄ™cej surowców\ni obroÅ„ siÄ™ przed wszystkimi falami żeby [accent]przejąć sektor[]. +onset.mine = NaćiÅ›nij żeby wydobywać \uf748 [accent]beryl[] ze Å›cian.\n\nUżyj [accent][[WASD] aby siÄ™ poruszać. +onset.mine.mobile = Kliknij żeby wydobywać \uf748 [accent]beryl[] ze Å›cian. +onset.research = Otwórz\ue875 drzewo technologiczne.\nZbadaj, a nastÄ™pnie postaw \uf73e [accent]turbinÄ™ parowÄ…[] na gejzerze.\nTo zacznie generować [accent]prÄ…d[]. +onset.bore = Zbadaj i postaw \uf741 [accent]plazmowe wiertÅ‚o[].\nPlazmowe wiertÅ‚o automatycznie wydobywa surowce ze Å›cian. +onset.power = Å»eby [accent]zasilić[] plazmowe wiertÅ‚o, zbadaj i postaw \uf73d [accent]wÄ™zeÅ‚ promieni[].\nPołącz turbinÄ™ parowÄ… z wiertÅ‚em plazmowym. +onset.ducts = Zbadaj i postaw \uf799 [accent]rury próżniowe[], żeby móc przemieÅ›cić surowce z wiertÅ‚a plazmowego do rdzenia.\nKliknij i przeciÄ…gnij żeby postawić wiele rur próżniowych naraz.\n[accent]Użyj kółka myszki[] aby obrócić. +onset.ducts.mobile = Zbadaj i postaw \uf799 [accent]rury próżniowe[], żeby móc przemieÅ›cić surowce z wiertÅ‚a plazmowego do rdzenia.\n\nPrzytrzymaj sekundÄ™ i przeciÄ…gnij, aby postawic wiele rur próżniowych naraz. +onset.moremine = Kontynuuj kopanie.\nStawiaj wiÄ™cej WierteÅ‚ Plazmowych i używaj wÄ™złów promieni oraz rur próżniowych.\nWykop 200 berylu. +onset.graphite = Bardziej skomplikowane bloki wymagajÄ… \uf835 [accent]grafitu[].\nUstaw wiertÅ‚a plazmowe tak, żeby wydobywaÅ‚y grafit. +onset.research2 = Zacznij badać [accent]fabryki[].\nZbadaj \uf74d [accent]rozkruszacz klifów[] i \uf779 [accent]krzemowy piec Å‚ukowy[]. +onset.arcfurnace = Krzemowy piec Å‚ukowy potrzebuje \uf834 [accent]piasku[] i \uf835 [accent]grafitu[], żeby produkować \uf82f [accent]krzem[].\n[accent]PrÄ…t[] także jest potrzebny. +onset.crusher = Użyj \uf74d [accent]rozkuruszaczy klifów[], aby wydobyć piasek. +onset.fabricator = Używaj [accent]jednostek[], żeby eksplorować mapÄ™, bron budynki i atakuj wrogów. Zbadaj i postaw \uf6a2 [accent]fabrykÄ™ czoÅ‚gów[]. +onset.makeunit = Wyprodkuj jednostkÄ™.\nUżyj przycisku "?", żeby zobaczyć wymagania potrzebne do wybudowania obecnie wybranej fabryki. +onset.turrets = Jednostki sÄ… efektywne, ale [accent]dziaÅ‚ka[] zapewniajÄ… lepszÄ… efektywność jeÅ›li chodzi o obronÄ™.\nPostaw \uf6eb [accent]WyÅ‚om[].\nDziaÅ‚ka potrzebujÄ… \uf748 [accent]amuncji[]. +onset.turretammo = Dostarcz [accent]beryl[] do dziaÅ‚ka. +onset.walls = [accent]Mury[] chroniÄ… budynki przed obrażeniami.\nPostaw parÄ™ \uf6ee [accent]berylowych murów[] naokoÅ‚o dziaÅ‚ka. +onset.enemies = Nadchodzi wróg, przygotuj obronÄ™. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = Wróg jest wrażliwy na atak. Przeprowadź kontratak. +onset.cores = Nowe rdzenie mogÄ… być postawione tylko w [accent]strefach rdzenia[].\nNowy rdzeÅ„ dziaÅ‚a tak samo jak każdy poprzedni. Rdzenie współdzielÄ… surowce.\nPostaw nowy \uf725 rdzeÅ„. +onset.detect = Wróg wykryje ciÄ™ za 2 minuty.\nPrzygotuj obronÄ™, wydobywaj surowce i je produkuj. +onset.commandmode = Przytrzymaj [accent]shift[] aby wejść do [accent]trybu poleceÅ„[].\n[accent]Kliknij lewy przycisk myszy i przeciÄ…gnij[] aby wybrac jednostki.\n[accent]Kliknij prawy przycisk myszy[] aby rozkazać jednostkom siÄ™ przemieÅ›cić lub zaatakować. +onset.commandmode.mobile = NaciÅ›nij [accent]przycisk poleceÅ„[] aby wejść do [accent]trybu poleceÅ„[].\nPrzytrzymaj palec, a nastÄ™pnie [accent]przeciÄ…gnij[] aby zaznaczyć jednostki.\n[accent]Kliknij[] aby rozkazać jednostkom siÄ™ przemieÅ›cić lub zaatakować. +aegis.tungsten = Wolfram może być wykopany używajÄ…c [accent]wiertÅ‚a udeżeniowego[].\nTa struktura wymaga [accent]wody[] i [accent]zasilania[]. +split.pickup = Niektóre bloki mogÄ… zostać podniesione przez jednostkÄ™ rdzeniowÄ….\nPodnieÅ› ten [accent]kontener[] i postaw go w [accent]punkcie zaÅ‚adunkowym[].\n(DomyÅ›lne klawisze to [ i ], użyj ich, żeby podnieść lub upuÅ›cić blok.) +split.pickup.mobile = iektóre bloki mogÄ… zostać podniesione przez jednostkÄ™ rdzeniowÄ….\nPodnieÅ› ten [accent]kontener[] i postaw go w [accent]punkcie zaÅ‚adunkowym[].\n(Å»eby podnieść lub upuÅ›cić jakiÅ› blok, przytrzymaj go przez chwilÄ™.) +split.acquire = Å»eby wybudować jednostki musisz pozyskać trochÄ™ wolframu. +split.build = Jednostki trzeba przetransportować na drugÄ… stronÄ™.\nPosaw dwie [accent]Katapulty Åadunku[] po każdej ze stron.\nPołącz je klikajÄ…c najpierw jednÄ…, a nastepnie drugÄ…. +split.container = Podobnie jak kontenery jednostki także da siÄ™ transportować przy użyciu [accent]Katapult Åadunku[].\nPostaw fabrykÄ™ jednostek w taki sposób, żeby dotykaÅ‚a katapulty masy i byÅ‚a w niÄ… skierowana.\n WyÅ›lij jednostki na drugÄ… stronÄ™ i zaatakuj bazÄ™ wroga. -item.copper.description = Przydatny materiaÅ‚ budowlany. Szeroko używany w prawie każdej konstrukcji. -item.copper.details = Miedź. Nienormalnie obfity metal na Serpulo. Strukturalnie sÅ‚aba, chyba że zostanie wzmocniona. -item.lead.description = Podstawowy materiaÅ‚. Używany w przesyle przemiotów i pÅ‚ynów. Nie jest on przypadkiem szkodliwy? -item.lead.details = GÄ™sty. ObojÄ™tny. Intensywnie używany w bateriach. \nUwaga: prawdopodobnie toksyczny dla biologicznych form życia. Nie żeby zostaÅ‚o tu wiele. -item.metaglass.description = WyjÄ…tkowo wytrzymaÅ‚y stop szkÅ‚a. Szeroko używany w transporcie i przechowywaniu pÅ‚ynów. -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.copper.description = Używany we wszystkich rodzajach budowli i uzbrojeÅ„. +item.copper.details = Miedź. Niesamowicie obfity metal na Serpulo. Strukturalnie sÅ‚aby, chyba że zostanie wzmocniony. +item.lead.description = Używany w transporcie pÅ‚ynów i strukturach elektrycznych. +item.lead.details = GÄ™sty, obojÄ™tny metal używany w bateriach oraz amunicji fragmentacyjnej.\n\n[lightgray]Uwaga: Prawdopodobnie toksyczny dla biologicznych form życia. Nie, żeby zostaÅ‚o ich tu wiele...[] +item.metaglass.description = Używane w transporcie i przechowywaniu pÅ‚ynów. +item.graphite.description = Wykorzystywany w urzÄ…dzeniach elektrycznych oraz amunicji. +item.sand.description = ZwykÅ‚y materiaÅ‚ używany pospolicie w przepalaniu, stopach i jako topnik.\n\n[lightgray]Uwaga: Dostanie piaskiem po oczach nie jest przyjemne.[] item.coal.description = ZwykÅ‚y i Å‚atwo dostÄ™pny materiaÅ‚ energetyczny. Używany powszechnie jako paliwo oraz w produkcji surowców. item.coal.details = WyglÄ…da na skamieniałą materiÄ™ roÅ›linnÄ…, uformowanÄ… na dÅ‚ugo przed siewem. -item.titanium.description = Rzadki i bardzo lekki materiaÅ‚. Używany w bardzo zaawansowanym przewodnictwie, wiertÅ‚ach i samolotach. Poczuj siÄ™ jak Tytan! -item.thorium.description = Zwarty i radioaktywny materiaÅ‚ używany w strukturach i paliwie nuklearnym. Nie trzymaj go w rÄ™kach! -item.scrap.description = PozostaÅ‚oÅ›ci starych budynków i jednostek. SkÅ‚ada siÄ™ z maÅ‚ej iloÅ›ci wszystkiego. -item.scrap.details = PozostaÅ‚oÅ›ci po jednostkach oraz strukturach. -item.silicon.description = Niesamowicie przydatny półprzewodnik. Używany w panelach sÅ‚onecznych, skomplikowanej elektronice i pociskach samonaprowadzajÄ…cych. +item.titanium.description = Używany w transporcie cieczy, wydobyciu, strukturach obronnych i produkcyjnych.\n\n[lightgray]Głównie wydobywany jako dwutlenek, choć nadal użyteczny.[] +item.thorium.description = Używany w budowie wytrzymaÅ‚ych struktur obronnych i przemyÅ›le jÄ…drowym.\n\n[lightgray]ZÅ‚oża monacytów z tego systemu sÄ… bardzo czyste.[] +item.scrap.description = Używany w Przetapiaczach i Rozkruszaczach w celu rafinacji na przydatne materiaÅ‚y. +item.scrap.details = PozostaÅ‚oÅ›ci po jednostkach oraz strukturach. Mieszanka wielu surowców. Podobno można z niego zrobić każdy inny surowiec. +item.silicon.description = Używany praktycznie wszÄ™dzie, od amunicji samonaprowadzajÄ…cej przez elektronikÄ™ aż po konstrukcjÄ™ jednostek i broni. item.plastanium.description = Lekki i plastyczny materiaÅ‚ używany w amunicji odÅ‚amkowej i samolotach. -item.phase-fabric.description = Niewiarygodnie lekkie włókno używane w zaawansowanej elektronice i technologii samo-naprawiajÄ…cej -item.surge-alloy.description = Zaawansowany materiaÅ‚ z niesÅ‚ychanymi wartoÅ›ciami energetycznymi. -item.spore-pod.description = Syntetyczne zarodniki, które mogÄ… być przeksztaÅ‚cone na olej, materiaÅ‚y wybuchowe i paliwo. -item.spore-pod.details = Zarodniki. Prawdopodobnie syntetyczna forma życia. EmitujÄ… gazy toksyczne dla innych organizmów biologicznych. WyjÄ…tkowo inwazyjne. W pewnych warunkach wysoce Å‚atwopalny. -item.blast-compound.description = Niestabilny zwiÄ…zek używany w materiaÅ‚ach wybuchowych. Powstaje podczas syntezy z zarodników i innych lotnych substancji. Używanie go jako materiaÅ‚ energetyczny jest niewskazane. -item.pyratite.description = Niesamowicie palny zwiÄ…zek używany w zbrojeniu. Nielegalny w 9 paÅ„stwach. +item.phase-fabric.description = Używane w zaawansowanej elektronice, strukturach przyspieszajÄ…cych i samonaprawiajÄ…cych.\n\n[lightgray]Niesamowicie lekkie włókna torowo-kwarcowe.[] +item.surge-alloy.description = Niesamowicie ciężki stop używany w najsilniejszym uzbrojeniu oraz reaktywnych strukturach obronnych. +item.spore-pod.description = Syntetyczne zarodniki, które mogÄ… być przeksztaÅ‚cone na ropÄ™, materiaÅ‚y wybuchowe i paliwo. +item.spore-pod.details = Prawdopodobnie syntetyczna forma życia.\nUwaga: EmitujÄ… gazy toksyczne dla innych organizmów biologicznych. WyjÄ…tkowo inwazyjne. W pewnych warunkach silnie Å‚atwopalne. +item.blast-compound.description = Używany w bombach i amunicji wybuchowej.\n\n[lightgray]Uwaga: Powstaje podczas syntezy z zarodników i innych lotnych substancji. Używanie go jako materiaÅ‚ energetyczny jest niezalecane.[] +item.pyratite.description = Używany w broniach zapalajÄ…cych oraz generatorach spalinowych.\n\n[lightgray]Uwaga: Ołów w nim zawarty może zatruwać atmosferÄ™.[] +item.beryllium.description = Używany jako materiaÅ‚ budowlany oraz amunicja na Erekirze. +item.tungsten.description = Używany w wiertÅ‚ach i infrastrukturze wojennej. Jest konieczny do budowy bardziej zaawansowanej infrastruktury. +item.oxide.description = Używany jako przewodnik ciepÅ‚a i izolator mocy. +item.carbide.description = Używany w zaawansowanych strukturach, ciężkich jednostkach oraz jako amunicja. liquid.water.description = Powszechnie używana do schÅ‚adzania budowli i przetwarzania odpadów. -liquid.slag.description = Wiele różnych metali stopionych i zmieszanych razem. Może zostać rozdzielony na jego metale skÅ‚adowe, albo wystrzelony w wrogie jednostki i użyty jako broÅ„. -liquid.oil.description = Używany w do produkcji zÅ‚ożonych materiałów. Może zostać przetworzony na wÄ™giel, lub wystrzelony w wrogów przez wieżyczke. -liquid.cryofluid.description = ObojÄ™tna, niekorozyjna ciecz utworzona z wody i tytanu. +liquid.slag.description = Wiele różnych metali stopionych i zmieszanych razem.\n\nMoże zostać rozdzielony na jego metale skÅ‚adowe lub wystrzelony we wrogie jednostki. +liquid.oil.description = Używany w do produkcji zÅ‚ożonych materiałów.\n\nMoże zostać przetworzony na wÄ™giel lub wystrzelony we wrogów przez wieżyczkÄ™. +liquid.cryofluid.description = ObojÄ™tna, niekorozyjna ciecz utworzona z wody i tytanu.\n\nUżywana jako chÅ‚odziwo w reaktorach, rekonstruktorach i wieżyczkach. +liquid.arkycite.description = Stosowany w reakcjach chemicznych. Używany do wytwarzania energii i syntezy materiałów. +liquid.ozone.description = Stosowany jako utleniacz w produkcji materiałów oraz jako paliwo. Åšrednio wybuchowy. +liquid.hydrogen.description = Używany do wydobywania surowców, produkcji jednostek oraz dp naprawy struktur. Åatwopalny. +liquid.cyanogen.description = Używany jako amunicja oraz materiaÅ‚ do produkcji zaawansowanych jednostek czy też jako skÅ‚adnik różnych reakcji w zaawansowanych strukturach. Bardzo Å‚atwopalny. +liquid.nitrogen.description = Używany do wydobycia surowców, tworzenia gazów oraz produkcji jednostek. ObojÄ™tny. +liquid.neoplasm.description = Niebezpieczny biologiczny odpad powstajÄ…cy poprzez dziaÅ‚anie reaktora neoplazmowego. Åatwo siÄ™ rozprzestrzenia na bloki zawierajÄ…ce wodÄ™ niszczÄ…c je. Lepki. +liquid.neoplasm.details = Neoplazma. Niekontrolowana masa szybko dzielÄ…cych siÄ™ komórek syntetycznych o konsystencji szlamu. Odporna na ciepÅ‚o. Niesamowicie niebezpieczna dla wszelkich struktur zawierajÄ…cych wodÄ™.\n\nZbyt skomplikowana i niestabilna do standardowej analizy. Potencjalne zastosowania, póki co nieznane. Zaleca siÄ™ spalanie w jeziorach żużlowych. -block.resupply-point.description = WypeÅ‚nia pobliskie jednostki amunicjÄ… z miedzi. Nie jest kompatybilny z jednostkami, które wykorzystujÄ… energiÄ™ z baterii. -block.armored-conveyor.description = PrzesyÅ‚a przedmioty z takÄ… samÄ… szybkoÅ›ciÄ… jak PrzenoÅ›nik Tytanowy, ale jest bardziej odporny. WejÅ›ciami bocznymi mogÄ… być tylko inne przenoÅ›niki. -block.illuminator.description = MaÅ‚e, kompaktowe i konfigurowane źródÅ‚o Å›wiatÅ‚a. Wymaga energii do funkcjonowania. +block.derelict = \uf77e [lightgray]Wrak +block.armored-conveyor.description = PrzesyÅ‚a przedmioty z takÄ… samÄ… szybkoÅ›ciÄ… co Tytanowy PrzenoÅ›nik, ale jest bardziej odporny. WejÅ›ciami bocznymi mogÄ… być tylko inne przenoÅ›niki. +block.illuminator.description = MaÅ‚e, kompaktowe i konfigurowalne źródÅ‚o Å›wiatÅ‚a. Wymaga energii do funkcjonowania. block.message.description = Przechowuje wiadomość. Wykorzystywane do komunikacji pomiÄ™dzy sojusznikami. +block.reinforced-message.description = Przechowuje wiadomość. Wykorzystywane do komunikacji pomiÄ™dzy sojusznikami. +block.world-message.description = Wiadomość używana przez twórców map. Niezniszczalna. block.graphite-press.description = Kompresuje kawaÅ‚ki wÄ™gla w czyste blaszki grafitu. -block.multi-press.description = Ulepszona wersja prasy grafitowej. Używa wody i prÄ…du do kompresowania wÄ™gla szybko i efektywnie. +block.multi-press.description = Ulepszona wersja prasy grafitowej. Dodanie wody wytwarza grafit znacznie szybciej i efektywniej. block.silicon-smelter.description = Redukuje piasek za pomocÄ… wysoce czystego wÄ™gla w celu wytworzenia krzemu. -block.kiln.description = Stapia ołów i piasek na metaszkÅ‚o. Wymaga maÅ‚ej iloÅ›ci energii. -block.plastanium-compressor.description = Wytwarza plastan z oleju i tytanu. -block.phase-weaver.description = Produkuje Włókna Fazowe z radioaktywnego toru i dużych iloÅ›ci piasku. -block.alloy-smelter.description = Produkuje stop Elektrum z tytanu, oÅ‚owiu, krzemu i miedzi. -block.cryofluid-mixer.description = ÅÄ…czy wodÄ™ i tytan w lodociecz, który jest znacznie bardziej wydajny w chÅ‚odzeniu niż woda. -block.blast-mixer.description = Kruszy i miesza skupiska zarodników z piratytem, tworzÄ…c zwiÄ…zek wybuchowy. +block.kiln.description = Przetapia ołów i piasek na metaszkÅ‚o. +block.plastanium-compressor.description = Kompresuje ropÄ™ i tytan w wysoce rozciÄ…gliwy plastan. +block.phase-weaver.description = Produkuje włókna fazowe z radioaktywnego toru i dużych iloÅ›ci piasku. +block.surge-smelter.description = Produkuje Elektrum z tytanu, oÅ‚owiu, krzemu i miedzi. +block.cryofluid-mixer.description = ÅÄ…czy wodÄ™ i tytan w lodociecz, która jest znacznie bardziej wydajna w chÅ‚odzeniu niż woda. +block.blast-mixer.description = Kruszy i miesza skupiska zarodników z piratianem, tworzÄ…c wybuchowy zwiÄ…zek. block.pyratite-mixer.description = Miesza wÄ™giel, ołów i piasek tworzÄ…c bardzo Å‚atwopalny piratian. -block.melter.description = Przetapia zÅ‚om na żużel do dalszego przetwarzania lub użycia w wieżyczkach -block.separator.description = Oddziela użyteczne materiaÅ‚y z mieszaniny jakÄ… jest żużel. +block.melter.description = Przetapia zÅ‚om na żużel do dalszego przetwarzania lub użycia w wieżyczkach. +block.separator.description = Oddziela użyteczne materiaÅ‚y z mieszaniny, jakÄ… jest żużel. block.spore-press.description = Kompresuje kapsuÅ‚y zarodników pod ogromnym ciÅ›nieniem tworzÄ…c olej. block.pulverizer.description = Mieli zÅ‚om w drobny piasek. Przydatne, gdy brakuje naturalnego piasku. -block.coal-centrifuge.description = Zestala olej w kawaÅ‚ki wÄ™gla. -block.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-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-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-void.description = Usuwa każdÄ… ciecz. DostÄ™pny tylko w trybie sandbox. +block.coal-centrifuge.description = Zestala ropÄ™ w kawaÅ‚ki wÄ™gla. +block.incinerator.description = Pozbywa siÄ™ nadmiaru przedmiotów lub pÅ‚ynu. +block.power-void.description = Niszczy całą energiÄ™ wprowadzonÄ… do tego bloku. DostÄ™pny tylko w trybie piaskownicy. +block.power-source.description = Wydziela prÄ…d w nieskoÅ„czoność. DostÄ™pny tylko w trybie piaskownicy. +block.item-source.description = Wydziela przedmioty w nieskoÅ„czoność. DostÄ™pny tylko w trybie piaskownicy. +block.item-void.description = Niszczy wszystkie przedmioty, które do niego wchodzÄ…. Nie wymaga prÄ…du. DostÄ™pny tylko w trybie piaskownicy. +block.liquid-source.description = Wydziela ciecz w nieskoÅ„czoność. DostÄ™pny tylko w trybie piaskownicy. +block.liquid-void.description = Usuwa każdÄ… ciecz. DostÄ™pny tylko w trybie piaskownicy. +block.payload-source.description = NieskoÅ„czenie wyprowadza Å‚adunki. DostÄ™pny tylko w trybie piaskownicy. +block.payload-void.description = Niszczy przychodzÄ…cy Å‚adunek. DostÄ™pny tylko w trybie piaskownicy. block.copper-wall.description = Tani blok obronny.\nPrzydatny do ochrony rdzenia i wieżyczek w pierwszych kilku falach. 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 = Umiarkowanie silny blok obronny.\nZapewnia umiarkowanÄ… ochronÄ™ przed wrogami. block.titanium-wall-large.description = Umiarkowanie silny blok obronny.\nZapewnia umiarkowanÄ… ochronÄ™ przed wrogami.\nObejmuje wiele kratek. -block.plastanium-wall.description = Specjajny typ Å›ciany, który pochÅ‚ania Å‚uki elektryczne oraz blokuje automatyczne łączenie wÄ™złów. -block.plastanium-wall-large.description = Specjajny typ Å›ciany, który pochÅ‚ania Å‚uki elektryczne oraz blokuje automatyczne łączenie wÄ™złów.\nObejmuje wiele kratek. +block.plastanium-wall.description = Specjalny typ muru, który pochÅ‚ania Å‚uki elektryczne oraz blokuje automatyczne łączenie wÄ™złów. +block.plastanium-wall-large.description = Specjalny typ muru, który pochÅ‚ania Å‚uki elektryczne oraz blokuje automatyczne łączenie wÄ™złów.\nObejmuje wiele kratek. block.thorium-wall.description = Silny blok obronny.\nDobra ochrona przed wrogami. block.thorium-wall-large.description = Silny blok obronny.\nDobra ochrona przed wrogami.\nObejmuje wiele kratek. -block.phase-wall.description = Åšciana pokryta specjalnÄ… mieszankÄ… opartÄ… o Włókna Fazowe, która odbija wiÄ™kszość pocisków. -block.phase-wall-large.description = Åšciana pokryta specjalnÄ… mieszankÄ… opartÄ… o Włókna Fazowe, która odbija wiÄ™kszość pocisków.\nObejmuje wiele kratek. +block.phase-wall.description = Mur pokryty specjalnÄ… mieszankÄ… opartÄ… o Włókna Fazowe, która odbija wiÄ™kszość pocisków. +block.phase-wall-large.description = Mur pokryty specjalnÄ… mieszankÄ… opartÄ… o Włókna Fazowe, która odbija wiÄ™kszość pocisków.\nObejmuje wiele kratek. block.surge-wall.description = Ekstremalnie wytrzymaÅ‚y blok obronny.\nMa niewielkÄ… szansÄ™ na wywoÅ‚anie bÅ‚yskawicy w kierunku atakujÄ…cego. block.surge-wall-large.description = Ekstremalnie wytrzymaÅ‚y blok obronny.\nMa niewielkÄ… szansÄ™ na wywoÅ‚anie bÅ‚yskawicy w kierunku atakujÄ…cego.\nObejmuje wiele kratek. -block.door.description = MaÅ‚e drzwi, które można otwierać i zamykać, klikajÄ…c na nie.\nJeÅ›li sÄ… otwarte, wrogowie mogÄ… strzelać i siÄ™ przemieszczać przez nie. -block.door-large.description = Duże drzwi, które można otwierać i zamykać, klikajÄ…c na nie.\nJeÅ›li sÄ… otwarte, wrogowie mogÄ… strzelać i siÄ™ przemieszczać przez nie.\nObejmuje wiele kratek. -block.mender.description = Co jakiÅ› czas naprawia bloki w zasiÄ™gu. Utrzymuje struktury obronne w dobrym stanie.\nOpcjonalnie używa silikonu do zwiÄ™kszenia zasiÄ™gu i szybkoÅ›ci naprawy. -block.mend-projector.description = Ulepszona wersja Naprawiacza. Naprawia bloki w jego otoczeniu.\nMoże wykorzystywać włókno fazowe, aby zwiÄ™kszyć efektywność budowli. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = MaÅ‚e drzwi, które można otwierać i zamykać, klikajÄ…c na nie.\nJeÅ›li sÄ… otwarte, wrogowie mogÄ… przez nie strzelać oraz nimi przechodzić. +block.door-large.description = Duże drzwi, które można otwierać i zamykać, klikajÄ…c na nie.\nJeÅ›li sÄ… otwarte, wrogowie mogÄ… przez nie strzelać oraz nimi przechodzić.\nObejmujÄ… wiele kratek. +block.mender.description = Co jakiÅ› czas naprawia bloki w zasiÄ™gu. Utrzymuje struktury obronne w dobrym stanie.\nOpcjonalnie używa krzemu do zwiÄ™kszenia zasiÄ™gu i szybkoÅ›ci naprawy. +block.mend-projector.description = Ulepszona wersja Naprawiacza. Naprawia bloki w jego otoczeniu.\nMoże wykorzystywać włókno fazowe, aby zwiÄ™kszyć efektywność napraw. block.overdrive-projector.description = ZwiÄ™ksza szybkość budynków w zasiÄ™gu takich jak wiertÅ‚a czy przenoÅ›niki. Może wykorzystywać włókno fazowe, aby zwiÄ™kszyć zasiÄ™g i efektywność budowli. block.force-projector.description = Wytwarza pole siÅ‚owe w ksztaÅ‚cie szeÅ›ciokÄ…ta wokół siebie, chroniÄ…c budynki i jednostki wewnÄ…trz od obrażeÅ„ zadanych przez pociski. -block.shock-mine.description = Zadaje obrażenia jednostkom wroga którzy na niÄ… wejdÄ…. Ledwo widoczne dla wrogów. +block.shock-mine.description = Zadaje obrażenia jednostkom wroga, które wejdÄ… na niÄ…. Ledwo widoczne dla wrogów. block.conveyor.description = Podstawowy blok transportowy dla przedmiotów. Automatycznie przesyÅ‚a przedmioty naprzód do dziaÅ‚ek oraz maszyn. Można obrócić. block.titanium-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. PrzesyÅ‚a przedmioty szybciej od zwykÅ‚ego przenoÅ›nika. -block.plastanium-conveyor.description = Przenosi przedmity partiami. Przyjmuje przedmioty z tyÅ‚u i rozÅ‚adowuje je w trzech kierunkach z przodu. Wymaga wielu punktów Å‚adujÄ…cych i rozÅ‚adowujÄ…cych w celu osiÄ…gniÄ™cia maksymalnej przepustowoÅ›ci. +block.plastanium-conveyor.description = Przenosi przedmioty partiami. Przyjmuje przedmioty z tyÅ‚u i rozÅ‚adowuje je w trzech kierunkach z przodu. Wymaga wielu punktów Å‚adujÄ…cych i rozÅ‚adowujÄ…cych w celu osiÄ…gniÄ™cia maksymalnej przepustowoÅ›ci. block.junction.description = Używany jako most dla dwóch krzyżujÄ…cych siÄ™ przenoÅ›ników. Przydatne w sytuacjach kiedy dwa różne przenoÅ›niki transportujÄ… różne surowce do różnych miejsc. block.bridge-conveyor.description = Zaawansowany blok transportujÄ…cy. Pozwala na przenoszenie przedmiotów nawet do 3 bloków na każdym terenie, przez każdy budynek. block.phase-conveyor.description = Zaawansowany blok transportowy dla przedmiotów. Używa energii do teleportacji przedmiotów do połączonego transportera fazowego na spore odlegÅ‚oÅ›ci. block.sorter.description = Sortuje przedmioty. JeÅ›li przedmiot pasuje to przechodzi dalej, jeÅ›li nie - to przechodzi na boki. block.inverted-sorter.description = Sortuje przedmioty jak zwykÅ‚y sortownik, ale odpowiednie surowce wyciÄ…gane sÄ… na boki. -block.router.description = Akceptuje przedmioty z jednego miejsca i rozdziela je do trzech innych kierunków. Przydatne w rozdzielaniu materiałów z jednego źródÅ‚a do wielu celów.\n\n[scarlet]Nigdy nie używaj przy punkcje wejÅ›cia materiałów produkcyjnych, ponieważ zostanÄ… one zatkane przez materiaÅ‚y wyjÅ›ciowe.[] -block.router.details = Konieczne zÅ‚o. Nie zaleca siÄ™ stosowania obok nakÅ‚adów produkcyjnych, ponieważ zostanÄ… one zatkane. -block.distributor.description = Zaawansowany rozdzielacz, rozdzielajÄ…cy przedmioty do 7 innych kierunków. +block.router.description = Przyjmuje przedmioty z jednej strony i równo je dystrybuuje na przylegajÄ…ce przenoÅ›niki. \n\n[scarlet]Nigdy nie używaj przy wejÅ›ciu materiałów produkcyjnych, ponieważ zostanÄ… one zatkane przez materiaÅ‚y wyjÅ›ciowe.[]\n[scarlet]Cześć mu i chwaÅ‚a na wieki! +block.router.details = Nieuniknione zÅ‚o. Nie zaleca siÄ™ stosowania obok zakÅ‚adów produkcyjnych, ponieważ zostanÄ… one zatkane. +block.distributor.description = Zaawansowany rozdzielacz, który jest w stanie dystrybuuować przedmioty na wiÄ™c block.overflow-gate.description = Rozdzielacz, który przerzuca przedmioty, kiedy główna droga jest przepeÅ‚niona. -block.underflow-gate.description = Odwrotność bramy przepeÅ‚nieniowej, który przepuszcza przedmioty głównÄ… drogÄ…, gdy boczne drogi sÄ… przepeÅ‚nione. -block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odlegÅ‚oÅ›ci. +block.underflow-gate.description = Odwrotność bramy przepeÅ‚nieniowej, która przepuszcza przedmioty głównÄ… drogÄ…, gdy boczne drogi sÄ… przepeÅ‚nione. +block.mass-driver.description = Najlepszy blok do transportu przedmiotów. Zbiera wiele przedmiotów naraz, a potem wystrzeliwuje je do kolejnej katapulty masy na bardzo duże odlegÅ‚oÅ›ci. block.mechanical-pump.description = Tania pompa o niskiej wydajnoÅ›ci. Nie wymaga prÄ…du. block.rotary-pump.description = Zaawansowana pompa. Pompuje wiÄ™cej cieczy, ale wymaga zasilania. -block.thermal-pump.description = Najlepsza pompa. Pompuje ogromne iloÅ›ci cieczy, ale wymaga zasilaina. +block.impulse-pump.description = Najlepsza pompa. Pompuje ogromne iloÅ›ci cieczy, ale wymaga zasilania. block.conduit.description = Podstawowy blok do transportowania cieczy. Używany w połączeniu z pompami i innymi rurami. block.pulse-conduit.description = Zaawansowany blok do transportowania cieczy. Transportuje je szybciej i magazynuje wiÄ™cej niż standardowe rury. block.plated-conduit.description = PrzesyÅ‚a ciecze z takÄ… samÄ… szybkoÅ›ciÄ… co rura tytanowa, ale jest bardziej odporna. WejÅ›ciami bocznymi mogÄ… być tylko inne rury.\nWycieka z niej mniej cieczy. block.liquid-router.description = Akceptuje pÅ‚yny z jednego kierunku i wyprowadza je po równo do trzech innych kierunków. Może również przechowywać pewnÄ… ilość pÅ‚ynu. Przydatne do dzielenia pÅ‚ynów z jednego źródÅ‚a do wielu celów. +block.liquid-container.description = Przechowuje Å›redniÄ… ilość pÅ‚ynu. Posiada wyjÅ›cia na wszystkie strony, podobnie jak w przypadku rozdzielacza pÅ‚ynów. block.liquid-tank.description = Magazynuje duże iloÅ›ci cieczy. Użyj go do stworzenia buforu, gdy wystÄ™puje różne zapotrzebowanie na materiaÅ‚y lub jako zabezpieczenie dla chÅ‚odzenia ważnych bloków. block.liquid-junction.description = DziaÅ‚a jak most dla dwóch krzyżujÄ…cych siÄ™ rur. Przydatne w sytuacjach, kiedy dwie rury majÄ… różne ciecze do różnych lokacji. block.bridge-conduit.description = Zaawansowany blok przenoszÄ…cy ciecze. Pozwala na przenoszenie cieczy nawet do 3 bloków na każdym terenie, przez każdy budynek. @@ -1404,15 +2168,15 @@ block.differential-generator.description = Generuje duże iloÅ›ci prÄ…du. Wykorz block.rtg-generator.description = Prosty, niezawodny generator. Wykorzystuje ciepÅ‚o powstaÅ‚e z rozpadu izotopów promieniotwórczych. Nie wymaga chÅ‚odzenia, ale produkuje mniej energii od reaktora torowego. block.solar-panel.description = Wytwarza maÅ‚e iloÅ›ci prÄ…du wykorzystujÄ…c energiÄ™ sÅ‚onecznÄ…. block.solar-panel-large.description = Wytwarza o wiele wiÄ™cej prÄ…du niż zwykÅ‚y panel sÅ‚oneczny. -block.thorium-reactor.description = Produkuje bardzo duże iloÅ›ci prÄ…du z wysoce radioaktywnego toru. Wymaga ciÄ…gÅ‚ego chÅ‚odzenia. Silnie eksploduje jeÅ›li nie zostanie dostarczona wystarczajÄ…ca ilość chÅ‚odziwa. Produkcja energii zależy od zapeÅ‚nienia, produkujÄ…c bazowÄ… ilość energii przy caÅ‚kowitym zapeÅ‚nieniu. +block.thorium-reactor.description = Produkuje bardzo duże iloÅ›ci prÄ…du z wysoce radioaktywnego toru. Wymaga ciÄ…gÅ‚ego chÅ‚odzenia. Silnie eksploduje, jeÅ›li nie zostanie dostarczona wystarczajÄ…ca ilość chÅ‚odziwa. Produkcja energii zależy od zapeÅ‚nienia, produkujÄ…c bazowÄ… ilość energii przy caÅ‚kowitym zapeÅ‚nieniu. block.impact-reactor.description = Zaawansowany generator, zdolny do produkcji ogromnych iloÅ›ci prÄ…du u szczytu swoich możliwoÅ›ci. Wymaga znacznych iloÅ›ci energii do rozpoczÄ™cia procesu. block.mechanical-drill.description = Tanie wiertÅ‚o. Kiedy zostanie zbudowane na odpowiednich polach, wydobywa surowce w wolnym tempie. Może wydobywać tylko podstawowe rudy. block.pneumatic-drill.description = Ulepszone wiertÅ‚o, zdolne do wydobywania tytanu. Wydobywa w szybszym tempie niż wiertÅ‚o mechaniczne. block.laser-drill.description = Pozwala kopać jeszcze szybciej poprzez technologiÄ™ laserowÄ…, ale wymaga energii. Zdolne do wydobywania toru. block.blast-drill.description = Najlepsze wiertÅ‚o. Wymaga dużych iloÅ›ci energii. block.water-extractor.description = Wydobywa wodÄ™ z ziemi. Użyj go, gdy w pobliżu brakuje wody. -block.cultivator.description = Uprawia maÅ‚e skupiska zarodników i umieszcza je w gotowych do dalszego przetwarzania kapsuÅ‚ach. -block.cultivator.details = Odzyskana technologia. SÅ‚uży do jak najbardziej wydajnej produkcji ogromnych iloÅ›ci biomasy. Prawdopodobnie poczÄ…tkowy inkubator zarodników pokrywajÄ…cy teraz Serpulo. +block.cultivator.description = Hoduje zarodniki i umieszcza je w gotowych do dalszego przetwarzania kapsuÅ‚ach. +block.cultivator.details = Odzyskana technologia. SÅ‚uży do jak najbardziej wydajnej produkcji ogromnych iloÅ›ci biomasy. Prawdopodobnie poczÄ…tkowy inkubator zarodników pokrywajÄ…cych teraz Serpulo. block.oil-extractor.description = Używa bardzo dużych iloÅ›ci energii do ekstrakcji ropy z piasku. Używaj go w sytuacji kiedy nie ma bezpoÅ›redniego źródÅ‚a ropy w okolicy. block.core-shard.description = Pierwsza wersja rdzenia. Gdy zostaje zniszczony, wszelki kontakt do regionu zostaje utracony. Nie pozwól na to. block.core-shard.details = Pierwsza generacja. Kompaktowy. Samoreplikuje siÄ™. Wyposażony w jednorazowe silniki startowe. Nie jest przeznaczony do podróży miÄ™dzyplanetarnych. @@ -1420,82 +2184,482 @@ block.core-foundation.description = Druga wersja rdzenia. Lepiej opancerzony. Pr block.core-foundation.details = Druga generacja. block.core-nucleus.description = Trzecia i ostatnia wersja rdzenia. Bardzo dobrze opancerzony. Przechowuje ogromne iloÅ›ci surowców. block.core-nucleus.details = Trzecia i ostatnia generacja. -block.vault.description = Przechowuje duże iloÅ›ci przedmiotów każdego rodzaju. Użyj ekstraktora, aby rozÅ‚adować magazyn. -block.container.description = Przechowuje maÅ‚e iloÅ›ci przedmiotów każdego rodzaju. Użyj ekstraktora, aby rozÅ‚adować kontener. +block.vault.description = Przechowuje duże iloÅ›ci przedmiotów każdego rodzaju. Zawartość magazynu można wyciÄ…gnąć za pomocÄ… ekstraktorów. +block.container.description = Przechowuje maÅ‚e iloÅ›ci przedmiotów każdego rodzaju. Zawartość kontenera można wyciÄ…gnąć za pomocÄ… ekstraktorów. block.unloader.description = WyciÄ…ga przedmioty z przylegÅ‚ych bloków. Typ przedmiotu jaki zostanie wyciÄ…gniety może zostać zmieniony poprzez klikniÄ™cie. -block.launch-pad.description = WysyÅ‚a pakiety przedmiotów bez potrzeby wystrzeliwania rdżenia. -block.duo.description = MaÅ‚a, tania wieża. Przydatna przeciwko jednostkom naziemnym. -block.scatter.description = Åšredniej wielkoÅ›ci wieża przeciwlotnicza. Rozsiewa Å›ruty z oÅ‚owiu, zÅ‚omu lub metaszkÅ‚a na jednostki wroga. -block.scorch.description = Spala wszystkich wrogów naziemnych w pobliżu. Bardzo skuteczny z bliskiej odlegÅ‚oÅ›ci. -block.hail.description = MaÅ‚a wieża artyleryjska o dużym zasiÄ™gu. -block.wave.description = Åšredniej wielkoÅ›ci wieżyczka, która wystrzeliwuje strumienie cieczy. Automatycznie gasi ogieÅ„ jeÅ›li zasilana jest wodÄ…. -block.lancer.description = Åšredniej wielkoÅ›ci wieżyczka, która po naÅ‚adowaniu, wystrzeliwuje silne wiÄ…zki energii. -block.arc.description = MaÅ‚a wieża bliskiego zasiÄ™gu. Wystrzeliwuje wiÄ…zki elektryczne w kierunku wroga. -block.swarmer.description = Åšredniej wielkoÅ›ci wieżyczka, która wystrzeliwuje rakiety samonaprowadzajÄ…ce. -block.salvo.description = WiÄ™ksza, bardziej zaawansowana wersja Podwójnego DziaÅ‚ka, strzelajÄ…ca szybkimi salwami. -block.fuse.description = Duża wieża bliskiego zasiÄ™gu. Wystrzeliwuje trzy przeszywajÄ…ce wiÄ…zki w pobliskich wrogów. -block.ripple.description = Duża wieża artyleryjska, która strzela jednoczeÅ›nie kilkoma strzaÅ‚ami. -block.cyclone.description = Duża szybkostrzelna wieża. -block.spectre.description = Duże dziaÅ‚o dwulufowe, które strzela potężnymi pociskami przebijajÄ…cymi pancerz w jednostki naziemne i powietrzne. -block.meltdown.description = Duże dziaÅ‚o laserowe, które strzela potężnymi wiÄ…zkami dalekiego zasiÄ™gu. Wymaga chÅ‚odzenia. -block.foreshadow.description = Strzela potężnym pociskiem z daleka we wrogów. +block.launch-pad.description = WysyÅ‚a pakiety przedmiotów bez potrzeby wystrzeliwania rdzenia. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = Standardowa wieżyczka obronna, strzelajÄ…ca naprzemian pociskami w jednostki wroga. +block.scatter.description = Rażąca wieża przeciwlotnicza, rozsiewajÄ…ca Å›rut z oÅ‚owiu, zÅ‚omu lub metaszkÅ‚a w powietrzne jednostki wroga. +block.scorch.description = PodpalajÄ…ca wieżyczka obronna, szczególnie efektywna wobec grupek wrogów naziemnych. +block.hail.description = Standardowa wieżyczka artyleryjska o dużym zasiÄ™gu, strzelajÄ…ca we wrogów na ziemi. +block.wave.description = Strumieniowa wieża obronna, która automatycznie gasi ogieÅ„ jeÅ›li zasilana jest wodÄ…. +block.lancer.description = Laserowa wieża szturmowa, która po naÅ‚adowaniu, wystrzeliwuje silne wiÄ…zki energii w jednostki wroga na ziemi. +block.arc.description = Elektryczna wieżyczka o dużej niedokÅ‚adnoÅ›ci, wystrzeliwujÄ…ca Å‚uki elektryczne w kierunku jednostek wroga na ziemi. +block.swarmer.description = Rakietowa wieża artyleryjska, której pociski sÄ… zawsze samonaprowadzajÄ…ce. +block.salvo.description = Standardowa wieża szturmowa, strzelajÄ…ca szybkimi salwami pocisków we wrogów. +block.fuse.description = Duża wieża obronna, wystrzeliwujÄ…ca przeszywajÄ…ce wiÄ…zki we wrogie jednostki. +block.ripple.description = Duża wieża artyleryjska, która strzela jednoczeÅ›nie kilkoma pociskami posiadajÄ…cymi różne efekty. +block.cyclone.description = Duża wieża szturmowa, która strzela dużą iloÅ›ciÄ… pocisków. +block.spectre.description = Duże dziaÅ‚o szturmowe, które strzela potężnymi pociskami przebijajÄ…cymi pancerz wrogich jednostek. +block.meltdown.description = Duże laserowe dziaÅ‚o obronne, które strzela pojedynczÄ… ciÄ…głą podpalajÄ…cÄ… wiÄ…zkÄ…. Wymaga chÅ‚odzenia. +block.foreshadow.description = Duże dziaÅ‚o artyleryjskie, które strzela potężnym pociskiem z daleka w pojedyncze jednostki, najpierw eliminujÄ…c te najsilniejsze. block.repair-point.description = Bez przerw naprawia najbliższÄ… uszkodzonÄ… jednostkÄ™ w jego zasiÄ™gu. -block.segment.description = Uszkadza i niszczy wrogie pociskiski poza laserami. -block.parallax.description = Wykorzystuje laser, który przyciÄ…ga do siebie wrogów, zadajÄ…c im obrażenia. -block.tsunami.description = Strzela wielkim strumieniem cieczy we wrogów. Automatycznie gasi ogieÅ„, gdy jest podłączony do wody. +block.segment.description = Specjalna wieża obronna. Nie zadaje obrażeÅ„, lecz niszczy wrogie pociski i rakiety. Nie niszczy laserów i Å‚uków elektrycznych. +block.parallax.description = Laserowa wieża przeciwlotnicza, która strzela ciÄ…gÅ‚ym laserem w jednostki, przyciÄ…gajÄ…c je do siebie. +block.tsunami.description = Strumieniowe dziaÅ‚o obronne, które automatycznie gasi ogieÅ„, gdy jest podłączone do wody. block.silicon-crucible.description = Oczyszcza krzem z wÄ™gla i piasku wykorzystujÄ…c piratian. Bardziej efektywny w gorÄ…cych miejscach. -block.disassembler.description = Oddziela egzotyczne materiaÅ‚y z mieszaniny jakÄ… jest żużel z małą efektywnoÅ›ciÄ…. Może wyprodukować tor. -block.overdrive-dome.description = ZwiÄ™ksza szybkość budynków w zasiÄ™gu. Wymaga włókna fazowego oraz krzemu by dziaÅ‚ać. +block.disassembler.description = Oddziela egzotyczne materiaÅ‚y z mieszaniny, jakÄ… jest żużel. Nie jest zbyt efektywny. Może wyprodukować tor. +block.overdrive-dome.description = ZwiÄ™ksza szybkość budynków w zasiÄ™gu. Wymaga włókna fazowego oraz krzemu, by dziaÅ‚ać. block.payload-conveyor.description = Przenosi duże Å‚adunki, takie jak jednostki z fabryk. -block.payload-router.description = Dzieli wejÅ›cie z przewoźnika masowego i dzieli je w 3 różne strony. -block.command-center.description = Kontroluje zachowanie jednostek paroma różnymi komendami. -block.ground-factory.description = Produkuje jednostki naziemne. Jednostki mogÄ… być do razu wykorzystane lub przeniesone do rekonstrukota by je ulepszyć. -block.air-factory.description = Produkuje jednostki powietrzne. Jednostki mogÄ… być do razu wykorzystane lub przeniesone do rekonstrukota by je ulepszyć. -block.naval-factory.description = Produkuje jednostki morskie. Jednostki mogÄ… być do razu wykorzystane lub przeniesone do rekonstrukota by je ulepszyć. +block.payload-router.description = Dzieli wejÅ›cie z przenoÅ›nika masowego w 3 różne strony. +block.ground-factory.description = Produkuje jednostki naziemne. Jednostki mogÄ… być do razu wykorzystane lub przeniesione do rekonstruktora aby je ulepszyć. +block.air-factory.description = Produkuje jednostki powietrzne. Jednostki mogÄ… być do razu wykorzystane lub przeniesione do rekonstruktora aby je ulepszyć. +block.naval-factory.description = Produkuje jednostki morskie. Jednostki mogÄ… być do razu wykorzystane lub przeniesione do rekonstruktora aby je ulepszyć. block.additive-reconstructor.description = Ulepsza wsadzone jednostki do stopnia drugiego. block.multiplicative-reconstructor.description = Ulepsza wsadzone jednostki do stopnia trzeciego. block.exponential-reconstructor.description = Ulepsza wsadzone jednostki do stopnia czwartego. -block.tetrative-reconstructor.description = Ulepsza wsadzone jednostki do stopnia piÄ…tego i ostatniego. -block.switch.description = Jest Przełączalny. Stan jego może być odczytywany lub kontrolowany przez procesory. +block.tetrative-reconstructor.description = Ulepsza wsadzone jednostki do piÄ…tego, ostatniego stopnia. +block.switch.description = Jest przełączalny. Stan jego może być odczytywany lub kontrolowany przez procesory. block.micro-processor.description = Uruchamia sekwencjÄ™ instrukcji logicznych w pÄ™tli. Może być wykorzystany do kontroli bloków lub jednostek. -block.logic-processor.description = Uruchamia sekwencjÄ™ instrukcji logicznych w pÄ™tli. Może być wykorzystany do kontroli bloków lub jednostek. Szybszy niż mikro procesor. -block.hyper-processor.description = Uruchamia sekwencjÄ™ instrukcji logicznych w pÄ™tli. Może być wykorzystany do kontroli bloków lub jednostek. Szybszy niż logiczny procesor. -block.memory-cell.description = Przechowuje informacje dla procesora. -block.memory-bank.description = Przechowuje informacje dla procesora. Duża pojemność. +block.logic-processor.description = Uruchamia sekwencjÄ™ instrukcji logicznych w pÄ™tli. Może być wykorzystany do kontroli bloków lub jednostek. Szybszy niż mikroprocesor. +block.hyper-processor.description = Uruchamia sekwencjÄ™ instrukcji logicznych w pÄ™tli. Może być wykorzystany do kontroli bloków lub jednostek. Szybszy niż procesor logiczny. Wymaga chÅ‚odzenia. +block.memory-cell.description = Przechowuje dane dla procesora. +block.memory-bank.description = Przechowuje dane dla procesora. Duża pojemność. block.logic-display.description = WyÅ›wietla obraz z procesora. block.large-logic-display.description = WyÅ›wietla obraz z procesora. block.interplanetary-accelerator.description = Masywna elektromagnetyczna wieża. Przyspiesza rdzeÅ„ do prÄ™dkoÅ›ci ucieczki by wylÄ…dować na innych planetach. +block.repair-turret.description = Na bieżąco naprawia najbliższÄ… uszkodzonÄ… jednostkÄ™ w jej sÄ…siedztwie. Opcjonalnie akceptuje chÅ‚odziwo. +block.core-bastion.description = RdzeÅ„ bazy. Uzbrojony. Po zniszczeniu tracisz sektor. +block.core-citadel.description = RdzeÅ„ bazy. Bardzo dobrze uzbrojony. SkÅ‚aduje wiecej zasobów niż rdzeÅ„ Bastion. +block.core-acropolis.description = RdzeÅ„ bazy. WyjÄ…tkowo dobrze uzbrojony. SkÅ‚aduje wiecej zasobów niż rdzeÅ„ Cytadela. +block.breach.description = Strzela przebijajÄ…cymi kulami z berylu bÄ…dź wolframu we wrogie cele. +block.diffuse.description = Strzela seriÄ… pocisków na szerokim obszarze. Odpycha wrogie cele. +block.sublimate.description = Pali wrogie cele ciÄ…gÅ‚ym pÅ‚omieniem. Przebija pancerz. +block.titan.description = Wystrzeliwuje potężne pociski artyleryjskie w cele naziemne. Potrzebuje wodoru do dziaÅ‚ania. +block.afflict.description = Strzela masywnÄ… fragmentacyjnÄ… kulÄ…. Wymaga podgrzewania. +block.disperse.description = Celne i szybkostrzelne dziaÅ‚o przeciwlotnicze. +block.lustre.description = Strzela powolnym pojedynczym laserem we wrogie cele. +block.scathe.description = Wystrzeliwuje potężnÄ… rakietÄ™ w cele naziemne na gigantyczne odlegÅ‚oÅ›ci. +block.smite.description = Strzela salwami przebijajÄ…cych, uwalniajÄ…cych bÅ‚yskawice pocisków. +block.malign.description = Zasypuje przeciwników dziesiÄ…tkami pocisków naprowadzajÄ…cych mogÄ…cych uwolnić lasery. Wymaga silnego ogrzewania. +block.silicon-arc-furnace.description = Otrzymuje krzem z piasku i grafitu. +block.oxidation-chamber.description = Spala beryl w ozonie uzyskujÄ…c tlenek. Wytwarza ciepÅ‚o jako produkt uboczny. +block.electric-heater.description = Ogrzewa bloki naprzeciw, używajÄ…c do tego sporych ilośći prÄ…du. +block.slag-heater.description = Ogrzewa bloki naprzeciw, używajÄ…c do tego żużlu. +block.phase-heater.description = Ogrzewa bloki naprzeciw, używajÄ…c do tego włókna fazowego. +block.heat-redirector.description = Przekazuje zebrane ciepÅ‚o do bloku naprzeciw. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Rozprowadza zgromadzone ciepÅ‚o w trzech różnych kierunkach. +block.electrolyzer.description = Poddaje wodÄ™ elektrolizie, uzyskujÄ…c wodór i ozon w postaci gazowej. +block.atmospheric-concentrator.description = Koncentruje azot z atmosfery, używajÄ…c do tego ciepÅ‚a. +block.surge-crucible.description = Odlewa stop elektrum z żużlu i krzemu pobierajÄ…c ciepÅ‚o. DostarczajÄ…c wiÄ™ksze iloÅ›ci ciepÅ‚a można zwiÄ™kszyć wydajność procesu. +block.phase-synthesizer.description = Używa toru, piasku i ozonu do wytworzenia włókna fazowego, pobierajÄ…c jednoczeÅ›nie ciepÅ‚o. +block.carbide-crucible.description = Wytwarza karbid z grafitu i wolframu pobierajÄ…c przy tym ciepÅ‚o. +block.cyanogen-synthesizer.description = Syntezuje cyjan z arkycytu i grafitu używajÄ…c ciepÅ‚a. +block.slag-incinerator.description = Niszczy przedmioty bÄ…dź pÅ‚yny używajÄ…c żużlu. Niezalecane wprowadzanie gazów. +block.vent-condenser.description = Skrapla parÄ™ wodnÄ… z gejzeru. +block.plasma-bore.description = Wydobywa rudÄ™ znajdujÄ…cÄ… siÄ™ na Å›cianach. Wymaga minimalnej iloÅ›ci prÄ…du. Ilość rudy wydobytej co cykl zależy od iloÅ›ci bloków rudy naprzeciw wiertÅ‚a. +block.large-plasma-bore.description = WiÄ™ksze wiertÅ‚o plazmowe. Wydobywa rudÄ™ znajdujÄ…cÄ… siÄ™ na Å›cianach. Wymaga wiÄ™kszej iloÅ›ci prÄ…du i dodatkowo wodoru, ale może wydobyć wolfram i tor. Ilość rudy wydobytej co cykl zależy od iloÅ›ci bloków rudy naprzeciw wiertÅ‚a. +block.cliff-crusher.description = Kruszy Å›ciany, uzyskujÄ…c w ten sposób piasek. Wydajność zależy od rodzaju Å›ciany. Wymaga prÄ…du. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Kiedy stoi na rudzie, wydobywa surowce seriami. Wymaga prÄ…du i wody. +block.eruption-drill.description = Ulepszona wersja wiertÅ‚a wybuchowego. Zdolne do wydobycia toru. Potrzebuje wodoru do dziaÅ‚ania. +block.reinforced-conduit.description = SÅ‚uży do przemieszczania pÅ‚ynów i gazów. Od boku można podłączyć tylko inne rury. +block.reinforced-liquid-router.description = Równo rozdziela pÅ‚yn do wszystkich podłączonych rur. +block.reinforced-liquid-tank.description = Przechowuje duże iloÅ›ci pÅ‚ynów. +block.reinforced-liquid-container.description = Przechowuje umiarkowane iloÅ›ci pÅ‚ynów. +block.reinforced-bridge-conduit.description = Transportuje pÅ‚yny nad rozmaitymi przeszkodami. +block.reinforced-pump.description = Pompuje pÅ‚yny. Nie wymaga prÄ…du, ale potrzebuje wodoru. +block.beryllium-wall.description = Chroni budynki przed wrogimi pociskami. +block.beryllium-wall-large.description = Chroni budynki przed wrogimi pociskami. +block.tungsten-wall.description = Chroni budynki przed wrogimi pociskami. +block.tungsten-wall-large.description = Chroni budynki przed wrogimi pociskami. +block.carbide-wall.description = Chroni budynki przed wrogimi pociskami. +block.carbide-wall-large.description = Chroni budynki przed wrogimi pociskami. +block.reinforced-surge-wall.description = Chroni budynki przed wrogimi pociskami. Losowo uwalnia bÅ‚yskawice +block.reinforced-surge-wall-large.description = Chroni budynki przed wrogimi pociskami. Losowo uwalnia bÅ‚yskawice +block.shielded-wall.description = Chroni budynki przed wrogimi pociskami. Posiada tarczÄ™, która może absorbować pociski. Przewodzi prÄ…d. +block.blast-door.description = AOtwierajÄ… siÄ™ kiedy sojusznicze jednostki sÄ… w pobliżu. Nie można ich kontrolować rÄ™cznie. +block.duct.description = Transportuje przedmioty. Może przechować tylko jeden. +block.armored-duct.description = Transportuje przedmioty. Może przechować tylko jeden. Od boku nie akceptuje innego wejÅ›cia niż rura. +block.duct-router.description = Po równo rozdziela przedmioty w trzech kierunkach. Akceptuje wprowadzenie przedmiotów tylko od tyÅ‚u. Może zostać ustawiony jako sortownik. +block.overflow-duct.description = Odprowadza przedmioty na boki, kiedy droga z przodu jest zapeÅ‚niona. +block.duct-bridge.description = Transportuje przedmioty nad różnymi przeszkodami. +block.duct-unloader.description = RozÅ‚adowuje wybrany przedmiot z bloku z tyÅ‚u. Nie może wyjmować przedmiotów ze rdzenia. +block.underflow-duct.description = Odwrotność przepeÅ‚nieniowej rury próżniowej. Przepuszcza przedmioty do przodu tylko wtedy, gdy boczne wyjÅ›cia sÄ… zapeÅ‚nione. +block.reinforced-liquid-junction.description = Pozwala na przeciÄ™cie siÄ™ dwóch rur, bez mieszania ich zawartoÅ›ci. +block.surge-conveyor.description = Przenosi przedmioty partiami. Może być przyspieszony przy użyciu prÄ…du. Przewodzi prÄ…d. +block.surge-router.description = Równomiernie rozdziela przedmioty w trzy różne strony. Montowany na elektrumowych przenoÅ›nikach. Może być przyspieszony przy użyciu prÄ…du. Przewodzi prÄ…d. +block.unit-cargo-loader.description = Tworzy SkÅ‚adaki, które automatycznie rozdzielajÄ… przedmioty do Punktów RozÅ‚adunku z pasujÄ…cym filtrem. +block.unit-cargo-unload-point.description = PeÅ‚ni funkcjÄ™ punktu rozÅ‚adunkowego dla SkÅ‚adaków. Przyjmuje przedmioty pasujÄ…ce do wybranego filtra. +block.beam-node.description = PrzesyÅ‚a prÄ…d prostopadÅ‚ymi promieniami do innych struktur. Przechowuje niewielkÄ… ilość energii. +block.beam-tower.description = PrzesyÅ‚a prÄ…d prostopadÅ‚ymi promieniami do innych struktur. Przechowuje bardzo duże iloÅ›ci energii. DziaÅ‚a na dużą odlegÅ‚ość. +block.turbine-condenser.description = Po postawieniu na gejzerze produkuje prÄ…d oraz niewielkie iloÅ›ci wody. +block.chemical-combustion-chamber.description = Produkuje prÄ…d używajÄ…c do tego ozonu i arkycytu. +block.pyrolysis-generator.description = Wytwarza duże iloÅ›ci prÄ…du z żużlu i arkycytu. Woda jest produktem ubocznym. +block.flux-reactor.description = Generuje ogromne iloÅ›ci prÄ…du. Wymaga silnego ogrzewania. Cyjan używany jest jako stabilizator. Moc wyjÅ›ciowa i zapotrzebowanie na cyjan jest proporcjonalne do zapewnionego ogrzewania.\nWybucha w przypadku niedostarczenia wystarczajÄ…cej iloÅ›ci cyjanu. +block.neoplasia-reactor.description = Używa arkycytu, wody oraz włókna fazowego aby generować ogromne iloÅ›ci prÄ…du. Wydziela ciepÅ‚o oraz neoplazmÄ™ jako produkt uboczny.\nGwaÅ‚townie wybucha w przypadku nieodprowadzenia neoplazmy przy użyciu rur. +block.build-tower.description = Automatycznie odbudowuje struktury w swoim zasiÄ™gu i pomaga innym jednostkom budować. +block.regen-projector.description = Powoli naprawia sojusznicze jednostki w obrÄ™bie kwadratu. Wymaga wodoru. +block.reinforced-container.description = Przechowuje maÅ‚e iloÅ›ci przedmiotów. Zawartość może być wyjÄ™ta poprzez użycie rozÅ‚adowywacza lub ekstraktora. Nie powiÄ™ksza pojemnoÅ›ci rdzenia. +block.reinforced-vault.description = Przechowuje duże iloÅ›ci przedmiotów. Zawartość może być wyjÄ™ta poprzez użycie rozÅ‚adowywacza lub ekstraktora. Nie powiÄ™ksza pojemnoÅ›ci rdzenia. +block.tank-fabricator.description = Produkuje czoÅ‚gi Stal. Wytworzone jednostki mogÄ… zostać użyte do walki, bÄ…dź przeniesione do konstruktorów w celu ulepszenia. +block.ship-fabricator.description = Produkuje statki Elude. Wytworzone jednostki mogÄ… zostać użyte do walki, bÄ…dź przeniesione do konstruktorów w celu ulepszenia. +block.mech-fabricator.description = Produkuje mechy Merui. Wytworzone jednostki mogÄ… zostać użyte do walki, bÄ…dź przeniesione do konstruktorów w celu ulepszenia. +block.tank-assembler.description = SkÅ‚ada duże czoÅ‚gi z jednostek i bloków. Poziom wyjÅ›ciowego czoÅ‚gu może zostać zwiÄ™kszony poprzez postawienie moduÅ‚u. +block.ship-assembler.description = SkÅ‚ada duże statki z jednostek i bloków. Poziom wyjÅ›ciowego statku może zostać zwiÄ™kszony poprzez postawienie moduÅ‚u. +block.mech-assembler.description = SkÅ‚ada duże mechy z jednostek i bloków. Poziom wyjÅ›ciowego mechu może zostać zwiÄ™kszony poprzez postawienie moduÅ‚u. +block.tank-refabricator.description = Ulepsza czoÅ‚gi do drugiego poziomu. +block.ship-refabricator.description = Ulepsza statki do drugiego poziomu. +block.mech-refabricator.description = Ulepsza mechy do drugiego poziomu. +block.prime-refabricator.description = Ulepsza jednostki do trzeciego poziomu. +block.basic-assembler-module.description = ZwiÄ™ksza poziom skÅ‚adanych jednostek, kiedy jest postawiony obok miejsca budowy. Wymaga prÄ…du, ale może dostarczyć materiaÅ‚y do skÅ‚adania. +block.small-deconstructor.description = Niszczy wprowadzone budynki i jednostki. Zwraca wszystkie materiaÅ‚y użyte do budowy. +block.reinforced-payload-conveyor.description = Transportuje Å‚adunek. +block.reinforced-payload-router.description = Rozdziela Å‚adunek pomiÄ™dzy podłączone bloki. JeÅ›li filtr jest ustawiony, dziaÅ‚a jak sortownik. +block.payload-mass-driver.description = Blok pozwalajÄ…cy na transport Å‚adunku na dalekie odlegÅ‚oÅ›ci. Wystrzeliwuje otrzymany Å‚adunek do podłączonej katapulty. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Naprawia wszystkie jednostki w jego zasiÄ™gu, używajÄ…c ozonu. +block.radar.description = Stopniowo odkrywa teren i wrogie jednostki. Wymaga prÄ…du. +block.shockwave-tower.description = Uszkadza i niszczy wrogie pociski, używajÄ…c cyjanu. +block.canvas.description = WyÅ›wietla proste obrazki z predefinowanÄ… paletÄ…. Edytowalne. -unit.dagger.description = Strzela standardowymi pociskami w najbliższych wrogów. -unit.mace.description = Strzela strumieniami ognia w najbliższych wrogów. -unit.fortress.description = Strzela artyleriÄ… dalekiego zasiÄ™gu we wrogie jednostki na ziemi. -unit.scepter.description = Strzela salwÄ… naÅ‚adowanych pocisków we wszystkich przeciwników. -unit.reign.description = Strzela salwÄ… masywnych przebijajÄ…cych pocisków we wszystkich przeciwników. -unit.nova.description = Wystrzeliwuje pioruny, które uszkadzajÄ… przeciwników i leczÄ… sojusznicze struktury. Może latać. -unit.pulsar.description = Wystrzeliwuje elektryczne pioruny, które uszkadzajÄ… przeciwników i leczÄ… sojusznicze struktury. Może latać. -unit.quasar.description = Wystrzeliwuje wiÄ…zki laserowe, które uszkadzajÄ… przeciwników i leczÄ… sojusznicze struktury. Może latać. Posiada tarcze. -unit.vela.description = Wystrzeliwuje masywny ciÄ…gÅ‚y laser, który uszkadza przeciwników i leczy sojusznicze struktury. Może latać. -unit.corvus.description = Wystrzeliwuje masywny laserowy bÅ‚ysk, który uszkadza przeciwników i leczy sojusznicze struktury. Może przejść po wiÄ™kszoÅ›ci terenu. -unit.crawler.description = Wbiega w przeciwników i dokonuje samozniszczenia powodujÄ…c dużą eksplozje. -unit.atrax.description = Wystrzeliwuje wyniszczajÄ…ce kule żużlu w cele na ziemi. Może przejść po wiÄ™kszoÅ›ci terenu. -unit.spiroct.description = Strzela wyczerpujÄ…cymi życie laserami we wrogów, naprawiajÄ…c siebie. Może przejść po wiÄ™kszoÅ›ci terenu. -unit.arkyid.description = Strzela dużymi wyczerpujÄ…cymi życie laserami we wrogów, naprawiajÄ…c siebie. Może przejść po wiÄ™kszoÅ›ci terenu. -unit.toxopid.description = Strzela wielkimi elektrycznymi skupionymi kulami i przebijajÄ…cymi laserami we wrogów. Może przejść po wiÄ™kszoÅ›ci terenu. -unit.flare.description = Strzela standardowymi pociskami we jednostki naziemne. -unit.horizon.description = Upuszcza stos bomb na jednostki naziemne. -unit.zenith.description = Strzela salwÄ… rakiet w każdego pobliskiego wroga. -unit.antumbra.description = Strzela zaporÄ… rakiet w każdego pobliskiego wroga. -unit.eclipse.description = Strzela dwoma przebijajÄ…cymi laserami i pociskami przeciwlotniczymi we wrogów. -unit.mono.description = Automatycznie wykopuje miedź i ołów i odkÅ‚ada je do rdzenia. -unit.poly.description = Automatycznie naprawia zniszczone struktury i asystuje w budowie. -unit.mega.description = Automatycznie naprawia zniszczone struktury. Może podnosić maÅ‚e jednostki i bloki. -unit.quad.description = Upuszcza wielkie bomby na cele na ziemi, które uszkadzajÄ… przeciwników i leczÄ… sojusznicze struktury. Może podnosić jednostki naziemne Å›redniej wielkoÅ›ci. -unit.oct.description = Broni wszystkie jednostki tarczÄ… regeneracyjnÄ…. Może podnosić wiÄ™kszość jednostek naziemnych. -unit.risso.description = Strzela sporÄ… iloÅ›ciÄ… pocisków i rakiet w najbliższych przeciwników. -unit.minke.description = Strzela granatami i standardowymi pociskami w najbliższych przeciwników. -unit.bryde.description = Strzela granatami i rakietami na dużą odlegÅ‚ość we wrogów. -unit.sei.description = Strzela dużą iloÅ›ciÄ… rakiet oraz przebijajÄ…cych zbroje pocisków we wrogów. -unit.omura.description = Strzela przebijajÄ…cym superszybkim pociskiem we wrogów ze sporej odlegÅ‚oÅ›ci. Produkuje BÅ‚yski (jednostki). -unit.alpha.description = Chroni RdzeÅ„: OdÅ‚amek przed wrogami. Buduje struktury. -unit.beta.description = Chroni RdzeÅ„: Podstawa przed wrogami. Buduje struktury. -unit.gamma.description = Chroni RdzeÅ„: JÄ…dro przed wrogami. Buduje struktury. +unit.dagger.description = LÄ…dowa jednostka ofensywna, strzelajÄ…ca standardowymi pociskami we wrogie jednostki. +unit.mace.description = LÄ…dowa jednostka ofensywna, miotajÄ…ca strumieniami ognia we wrogie jednostki. +unit.fortress.description = LÄ…dowa jednostka szturmowa, której dalekosiężne pociski eliminujÄ… lÄ…dowe wrogie jednostki. +unit.scepter.description = LÄ…dowa jednostka ofensywna, strzelajÄ…ca gradem standardowych i salwami naÅ‚adowanych pocisków we wrogie jednostki. +unit.reign.description = Niebywale silna jednostka lÄ…dowa zasypujÄ…ca wrogów gradem ogromnych pocisków przebijajÄ…cych. + +unit.nova.description = LÄ…dowo-powietrzna jednostka wsparcia, wystrzeliwujÄ…ca leczÄ…ce dla sojuszniczych budynków i zabójcze dla wrogów pociski. +unit.pulsar.description = LÄ…dowo-powietrzna jednostka wsparcia, wystrzeliwujÄ…ca leczÄ…ce sojusznicze struktury wiÄ…zki energii. Zadaje spore obrażenia wrogom. +unit.quasar.description = LÄ…dowo-powietrzna jednostka szturmowa wyposażona w pole siÅ‚owe. Naprawia pobliskie struktury oraz skutecznie niszczy wrogów. +unit.vela.description = Jednostka kroczÄ…ca zdolna do lotu. Strzela potężnym laserem podpalajÄ…cym pobliskich wrogów i ich struktury. Naprawia pobliskie sojusznicze budowle. +unit.corvus.description = Niesamowicie silna jednostka kroczÄ…ca. Wystrzeliwuje potężny laser niszczÄ…cy wrogów w sporej odlegÅ‚oÅ›ci. Naprawia sojusznicze struktury. Potrafi pokonać niemalże każdÄ… przeszkodÄ™. + +unit.crawler.description = Drobna lÄ…dowa jednostka ofensywna, wbiegajÄ…ca we wrogów dokonujÄ…c samozniszczenia. +unit.atrax.description = LÄ…dowa jednostka ofensywna mogÄ…ca pokonać niemalże każdÄ… przeszkodÄ™, strzelajÄ…ca podpalajÄ…cymi kulami żużlu. +unit.spiroct.description = PajÄ™cza jednostka mogÄ…ca pokonać niemalże każdÄ… przeszkodÄ™. Ponadto, jej ataki mogÄ… jÄ… uleczyć i jednoczeÅ›nie przyciÄ…gnąć wrogów. +unit.arkyid.description = Jednostka szturmowa mogÄ…ca pokonać niemalże każdÄ… przeszkodÄ™, strzelajÄ…ca elektrycznymi pociskami oraz leczÄ…cymi jÄ… laserami. +unit.toxopid.description = Jednostka pajÄ™cza mogÄ…ca pokonać niemalże każdÄ… przeszkodÄ™. Na krótki dystans posÅ‚uguje siÄ™ przebijajÄ…cymi laserami, a na dÅ‚uższy strzela odÅ‚amkowym, uwalniajÄ…cym bÅ‚yskawice granatem. + +unit.flare.description = MaÅ‚a latajÄ…ca jednostka strzelajÄ…ca standardowymi pociskami we wrogie struktury. +unit.horizon.description = Jednostka latajÄ…ca zrzucajÄ…ca bomby kasetowe na cele naziemne. +unit.zenith.description = Lotnicza jednostka szturmowa, strzelajÄ…ca naprowadzajÄ…cymi rakietami we wszystkich pobliskich wrogów. +unit.antumbra.description = Lotnicza jednostka szturmowa, strzelajÄ…ca naprzemian naprowadzajÄ…cymi rakietami i potężnymi pociskami we wrogie jednostki. +unit.eclipse.description = Niebywale silna jednostka lotnicza, strzelajÄ…ca naprzemian przebijajÄ…cymi wiÄ…zkami laserowymi i gradem wybuchowych pocisków we wrogie jednostki. + +unit.mono.description = LatajÄ…cy dron niezdolny do samoobrony, wydobywajÄ…cy miedź i ołów na podstawie ich iloÅ›ci w rdzeniu. +unit.poly.description = Lotnicza jednostka wsparcia, bÄ™daca kombinacjÄ… wszystkich jednostek która może wydobywać surowce, asystować w budowie, naprawiać i odbudowywać zniszczone struktury, a w ostatecznoÅ›ci bronić rdzenia. +unit.mega.description = Lotnicza jednostka wsparcia, która automatycznie naprawia zniszczone struktury oraz może przenosić maÅ‚e jednostki i bloki. +unit.quad.description = Lotnicza jednostka szturmowa zrzucajÄ…ca potężne bomby na wrogie struktury i leczÄ…ca struktury sojusznicze. Może podnosić jednostki i bloki Å›redniej wielkośći. +unit.oct.description = Lotnicza jednostka posiadajÄ…ca sporÄ… tarczÄ™ chroniÄ…cÄ… i regenerujÄ…cÄ… życie pobliskich jednostek. Może podnieść wiÄ™kszość jednostek i bloków. + +unit.risso.description = Morska jednostka ofensywna, strzelajÄ…ca sporÄ… iloÅ›ciÄ… pocisków i rakiet we wrogie jednostki. +unit.minke.description = Morska jednostka ofensywna, strzelajÄ…ca granatami i wybuchowymi pociskami we wrogie jednostki. +unit.bryde.description = Morska jednostka ofensywna, strzelajÄ…ca dalekosiężnymi pociskami artyleryjskimi i rakietami we wrogie jednostki. +unit.sei.description = Morska jednostka szturmowa, strzelajÄ…ca barażami rakiet oraz salwami przebijajÄ…cych pocisków we wrogie jednostki. +unit.omura.description = Morski okaz szturmowy wyposażony w dwie platformy tworzÄ…ce Flary, strzelajÄ…cy przebijajÄ…cym superszybkim pociskiem we wrogie jednostki. + +unit.alpha.description = Lotnicza jednostka administracyjna, która wykonuje podstawowe instrukcje budownicze i wydobywcze. Broni rdzenia OdÅ‚amek. +unit.beta.description = Lotnicza jednostka administracyjna, która buduje i wykopuje surowce znacznie szybciej od poprzedniej wersji. Chroni rdzeÅ„ Podstawa przed wrogimi jednostkami. +unit.gamma.description = Lotnicza jednostka administracyjna, której wyjÄ…tkowo dobre uzbrojenie pozwala przeżyć kilka pierwszych fal bez budowy umocnieÅ„. Chroni rdzeÅ„ JÄ…dro przed wrogami. + +unit.retusa.description = Morska jednostka wsparcia, wystrzeliwujÄ…ca leczÄ…ce sojuszników naprowadzajÄ…ce torpedy we wrogie jednostki. +unit.oxynoe.description = Morska jednostka wsparcia, wystrzeliwujÄ…ca strumienie ognia leczÄ…ce sojusznicze jednostki i budynki. Specjalne dziaÅ‚o obronne niszczy także nadlatujÄ…ce rakiety i pociski. +unit.cyerce.description = Morska jednostka wsparcia, wystrzeliwujÄ…ca kapsuÅ‚y kasetowe oraz naprawiajÄ…ca sojusznicze jednostki za pomocÄ… dziaÅ‚ek naprawczych. +unit.aegires.description = Morska jednostka wsparcia. Razi wszystkie wrogie jednostki i budowle swojÄ… leczniczÄ… bÅ‚yskawicÄ…. Potrafi jednoczeÅ›nie naprawiać sojusznicze jednostki i niszczyć wrogie pociski. +unit.navanax.description = Morska jednostka wsparcia. Posiada automatyczne dziaÅ‚ka laserowe. Może także atakować bombami elektromagnetycznymi, które potrafiÄ… przyspieszyć sojusznicze budynki. + +unit.stell.description = Ostrzeliwuje wrogów zwykÅ‚ymi pociskami. +unit.locus.description = Strzela naprzemiennymi pociskami w przeciwników. +unit.precept.description = Strzela pociskami odÅ‚amkowymi z jednego dziaÅ‚a. +unit.vanquish.description = Wystrzeliwuje ogromne pociski odÅ‚amkowe. +unit.conquer.description = Wystrzeliwuje ogromne przebijajÄ…ce serie pocisków we wrogie cele. + +unit.merui.description = Wystrzeliwuje pociski o dalekim zasiÄ™gu w cele naziemne. Teren w wiÄ™kszoÅ›ci przypadków nie stanowi przeszkody. +unit.cleroi.description = Wystrzeliwuje podwójne pociski we wrogie cele. Namierza wrogie pociski przy pomocy dziaÅ‚. Teren w wiÄ™kszoÅ›ci przypadków nie stanowi przeszkody. +unit.anthicus.description = Strzela naprowadzajÄ…cymi pociskami dalekiego zasiÄ™gu we wrogie cele. Teren w wiÄ™kszoÅ›ci przypadków nie stanowi przeszkody. +unit.tecta.description = Strzela samonaprowadzajÄ…cymi plazmowymi pociskami we wrogie cele. Chroni siÄ™ tarczÄ… siÅ‚owÄ… umieszczonÄ… z przodu. Teren w wiÄ™kszoÅ›ci przypadków nie stanowi przeszkody. +unit.collaris.description = Wystrzeliwuje pociski odÅ‚amkowe na bardzo dużą odlegÅ‚ość. Teren w wiÄ™kszoÅ›ci przypadków nie stanowi przeszkody. + +unit.elude.description = Strzela parami pocisków samonaprowadzajÄ…cych we wrogie cele. Moze unosić siÄ™ nad cieczami. +unit.avert.description = Wystrzeliwuje skrÄ™cajÄ…ce siÄ™ pary pocisków w cele wroga. +unit.obviate.description = Wystrzeliwuje skrÄ™cajÄ…ce siÄ™ pary kul energii produkujÄ…cych wyÅ‚adowania w cele wroga. +unit.quell.description = Wystrzeliwuje pociski naprowadzajÄ…ce w cele wroga. Blokuje naprawianie siÄ™ wrogich struktur. +unit.disrupt.description = Wystrzeliwuje dalekosiężne pociski naprowadzajÄ…ce w cele wroga. Blokuje naprawianie siÄ™ wrogich struktur. + +unit.evoke.description = Lotnicza jednostka aministracyjna zdolna do wydobycia surowców, budowy oraz naprawy struktur przy użyciu wiÄ…zek naprawczych. Broni rdzenia Bastion budujÄ…c struktury. +unit.incite.description = Lotnicza jednostka aministracyjna zdolna do wydobycia surowców, budowy oraz naprawy struktur przy użyciu wiÄ…zek naprawczych. Nieco lepsza od poprzedniej wersji. Broni rdzenia Cytadela budujÄ…c struktury. +unit.emanate.description = Lotnicza jednostka aministracyjna zdolna do wydobycia surowców, budowy oraz naprawy struktur przy użyciu wiÄ…zek naprawczych. Znacznie lepsza od poprzednich wersji. Broni rdzenia Akropol budujÄ…c struktury. + +lst.read = Wczytuje liczbÄ™ z połączonej komórki pamiÄ™ci. +lst.write = Zapisuje liczbÄ™ do połączonej komórki pamiÄ™ci. +lst.print = Dodaje tekst do buforu drukujÄ…cego.\nNie wyÅ›wietla niczego dopóki [accent]Print Flush[] nie jest użyte. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Dodaje operacje do buforu rysujÄ…cego.\nNie wyÅ›wietla niczego dopóki [accent]Draw Flush[] nie jest użyte. +lst.drawflush = WyÅ›wietla oczekujÄ…ce operacje z funkcji [accent]Draw[] na wyÅ›wietlaczu. +lst.printflush = Dodaje oczekujÄ…ce operacje z funkcji [accent]Print[] do bloku wiadomoÅ›ci. +lst.getlink = Zdobywa połączenie procesora przez indeks. Zaczyna siÄ™ od 0. +lst.control = Kontroluje budynek. +lst.radar = Lokalizuje jednostki wokół budynku w jego zasiÄ™gu. +lst.sensor = Zdobywa dane z budynku lub jednostki. +lst.set = Ustawia zmiennÄ…. +lst.operation = Wykonuje operacjÄ™ na 1-2 zmiennych. +lst.end = Przeskakuje na poczÄ…tek stosu instrukcji. +lst.wait = Czeka okreÅ›lonÄ… liczbÄ™ sekund. +lst.stop = Zatrzymaj wykonywanie instrukcji tego procesora. +lst.lookup = Znajduje typ przedmiotu/cieczy/jednostki/bloku poprzez ID.\nCaÅ‚kowite zliczenia każdego typu można uzyskać za pomocÄ…:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Warunkowo przeskakuje do innego stanu. +lst.unitbind = PowiÄ…zuje z nastÄ™pnÄ… jednostkÄ… danego typu i przechowuje jÄ… w [accent]@unit[]. +lst.unitcontrol = Kontroluje obecnie powiÄ…zanÄ… jednostkÄ™. +lst.unitradar = Lokalizuje jednostki wokół obecnie powiÄ…zanej jednostki. +lst.unitlocate = Lokalizuje specyficzny typ pozycji/budynku gdziekolwiek na mapie.\nWymaga powiÄ…zanej jednostki. +lst.getblock = Uzyskaj dane dla dowolnej lokalizacji. +lst.setblock = Ustaw dane dla dowolnej lokalizacji. +lst.spawnunit = Odródź jednostkÄ™ w lokalizacji. +lst.applystatus = Zastosuj lub wyczyść efekty statusu jednostki. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Symuluj falÄ™ odradzajÄ…cÄ… siÄ™ w dowolnym miejscu.\nNie zwiÄ™kszy licznika fali. +lst.explosion = Stwórz eksplozjÄ™ w lokalizacji. +lst.setrate = Ustaw szybkość wykonywania procesora w instrukcjach/tick. +lst.fetch = Wyszukaj jednostki, rdzenie, graczy lub budynki wedÅ‚ug indeksu.\nIndeksy zaczynajÄ… siÄ™ od 0 i koÅ„czÄ… na ich zwróconej liczbie. +lst.packcolor = Spakuj [0, 1] komponenty RGBA w jednÄ… liczbÄ™ do rysowania lub ustawiania reguÅ‚. +lst.setrule = Ustaw zasady gry. +lst.flushmessage = WyÅ›wietl wiadomość na ekranie z bufora tekstowego.\nPoczeka najpierw na zakoÅ„czenie wyÅ›wietlania poprzedniej wiadomoÅ›ci. +lst.cutscene = Manipuluj kamerÄ… gracza. +lst.setflag = Ustaw globalnÄ… flagÄ™, którÄ… mogÄ… odczytać wszystkie procesory. +lst.getflag = Sprawdź, czy ustawiona jest flaga globalna. +lst.setprop = Ustaw wÅ‚aÅ›ciwość jednostki lub budynku. +lst.effect = Stwórz efekt czÄ…steczki. +lst.sync = Synchronizuje zmiennÄ… poprzez sieć.\nWywoÅ‚ywane maksymalnie 10 razy na sekundÄ™. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Stwórz nowy marker logiki.\nMusisz podać ID, aby móc go później zidentyfikować.\nLimit markerów to 20,000. +lst.setmarker = Ustaw wÅ‚aÅ›ciwoÅ›ci markera.\nID markera musi być takie samo jak podczas jego tworzenia. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Logika budowania jednostek nie jest tu dozwolona. + +lenum.type = Typ budynku/jednostki.\nnp. dla każdego rozdzielacza, zwróci [accent]@router[].\nNie jest Å‚aÅ„cuchem znaków (string). +lenum.shoot = Strzel w okreÅ›lonÄ… pozycje. +lenum.shootp = Strzel w jednostkÄ™/budynek z zachowaniem trajektorii. +lenum.config = Konfiguracja budynku, np. sortownika. +lenum.enabled = Sprawdza czy blok jest włączony. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Kolor iluminatora. +laccess.controller = Kontroler jednostki. JeÅ›li jest kontrolowana przez procesor, zwraca procesor.\nJeÅ›li we formacji, zwraca przywódcÄ™.\nW innym wypadku zwraca samÄ… jednostkÄ™. +laccess.dead = Sprawdza czy jednostka/budynek jest zniszczony lub już nie istnieje. +laccess.controlled = Zwraca:\n[accent]@ctrlProcessor[] jeÅ›li kontrolerem jednostki jest procesor\n[accent]@ctrlPlayer[] jeÅ›li kontrolerem jednostki/budynku jest gracz\n[accent]@ctrlFormation[] jeÅ›li jednostka jest w formacji\nW innym wypadku 0. +laccess.progress = PostÄ™p akcji, od 0 do 1.\nZwraca produkcjÄ™, przeÅ‚adowanie wieżyczki lub postÄ™p konstrukcji. +laccess.speed = Najwyższa prÄ™dkość jednostki, w kratkach/sec. +laccess.id = ID jednostki/bloku/przedmiotu/pÅ‚ynu.\nOdwrotnoÅ›c operacji wyszukiwania. + +lcategory.unknown = Inne +lcategory.unknown.description = Niezkategoryzowane instrukcje. +lcategory.io = WejÅ›cie i WyjÅ›cie +lcategory.io.description = Modyfikuj zawartość banków pamiÄ™ci oraz buforów procesorów. +lcategory.block = Kontrolowanie budynków +lcategory.block.description = Kontroluj budynki. +lcategory.operation = Operacje +lcategory.operation.description = Operacje logiczne. +lcategory.control = Kontrola kolejnoÅ›ci instrukcji +lcategory.control.description = ZarzÄ…dzaj kolejnoÅ›ciÄ… wykonywania instrukcji. +lcategory.unit = Kontrolowanie jednostek +lcategory.unit.description = Wydawaj polecenia jednostkom. +lcategory.world = Åšwiat +lcategory.world.description = Kontroluj zachowania Å›wiata. + +graphicstype.clear = WypeÅ‚nia wyÅ›wietlacz kolorem. +graphicstype.color = Ustawia kolor nastÄ™pnych operacji rysujÄ…cych. +graphicstype.col = Odpowiednik koloru, ale spakowany.\nSpakowane kolory sÄ… zapisywane jako kody szesnastkowe z prefiksem [accent]%[].\nPrzykÅ‚ad: [accent]%ff0000[] byÅ‚by czerwony. +graphicstype.stroke = Ustawia grubość linii. +graphicstype.line = Rysuje część linii. +graphicstype.rect = WypeÅ‚nia prostokÄ…t. +graphicstype.linerect = Rysuje obwód prostokÄ…ta. +graphicstype.poly = WypeÅ‚nia wielokÄ…t foremny. +graphicstype.linepoly = Rysuje obwód wielokÄ…ta foremnego. +graphicstype.triangle = WypeÅ‚nia trójkÄ…t. +graphicstype.image = Rysuje ikonÄ™ jakiejÅ› treÅ›ci.\nnp. [accent]@router[] lub [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Zawsze prawda. +lenum.idiv = Dzielenie liczb caÅ‚kowitych. +lenum.div = Dzielenie.\nZwraca [accent]null[] w trakcie dzielenia przez zero. +lenum.mod = Modulo. +lenum.equal = Równość. Wymusza typ.\nNiezerowe objekty połączone z liczbami stajÄ… siÄ™ 1, w innym wypadku 0. +lenum.notequal = Nierówność. Wymusza typ. +lenum.strictequal = ÅšcisÅ‚a równość. Nie wymusza typów.\nMoże być użyte do wykrycia [accent]null[]. +lenum.shl = PrzesuniÄ™cie bitowe w lewo. +lenum.shr = PrzesuniÄ™cie bitowe w prawo. +lenum.or = Bitowe OR (lub). +lenum.land = Logiczne AND (i). +lenum.and = Bitowe AND (i). +lenum.not = Bitowe NOT. +lenum.xor = Bitowe XOR. + +lenum.min = Minimum dwóch liczb. +lenum.max = Maksimum dwóch liczb. +lenum.angle = KÄ…t wektoru w stopniach. +lenum.anglediff = BezwzglÄ™dny dystans miÄ™dzy dwoma kÄ…tami w stopniach. +lenum.len = DÅ‚ugość wektoru. + +lenum.sin = Sinus, w stopniach. +lenum.cos = Cosinus, w stopniach. +lenum.tan = Tangens, w stopniach. +lenum.asin = Arc sinus, w stopniach. +lenum.acos = Arc cosinus, w stopniach. +lenum.atan = Arc tangens, w stopniach. + +#to nie literówka, spójrz na 'range notation' +lenum.rand = Losowa liczba w przedziale [0, wartość). +lenum.log = Logarytm naturalny (ln). +lenum.log10 = Logarytm o podstawie 10. +lenum.noise = Szum simplex 2D. +lenum.abs = Wartość bezwzglÄ™dna. +lenum.sqrt = Pierwiastek kwadratowy. + +lenum.any = Dowolna jednostka. +lenum.ally = Sojusznicza jednostka. +lenum.attacker = Jednostka z broniÄ…. +lenum.enemy = Przeciwnik. +lenum.boss = Strażnik. +lenum.flying = LatajÄ…ca jednostka. +lenum.ground = Jednostka lÄ…dowa. +lenum.player = Jednostka kontrolowana przez gracza. + +lenum.ore = ZÅ‚oże rudy. +lenum.damaged = Uszkodzony sojuszniczy budynek. +lenum.spawn = Punkt zrzutu przeciwnika.\nMoże być rdzeniem lub pozycjÄ…. +lenum.building = Budynek ze specyficznej grupy. + +lenum.core = Dowolny rdzeÅ„. +lenum.storage = Budynek przechowujÄ…cy, np. Magazyn. +lenum.generator = Budynki generujÄ…ce prÄ…d. +lenum.factory = Budynki przetwarzajÄ…ce surowce. +lenum.repair = Punkty naprawy. +lenum.battery = Dowolna bateria. +lenum.resupply = Punkty uzupeÅ‚niajÄ…ce.\nMa znaczenie tylko gdy tryb [accent]"Jednostki PotrzebujÄ… Amunicji"[] jest włączony. +lenum.reactor = Reaktor uderzeniowy/torowy. +lenum.turret = Dowolna wieżyczka. + +sensor.in = Wykrywany budynek/jednostka. + +radar.from = Budynek wykrywajÄ…cy.\nZasiÄ™g czujnika jest zależny od zasiÄ™gu budynku. +radar.target = Filtr wykrywanych jednostek. +radar.and = Dodatkowe filtry. +radar.order = Kolejność sortowania. 0 aby odwrócić. +radar.sort = Wartość, wedÅ‚ug której bÄ™dÄ… sortowane wyniki. +radar.output = Zmienna, do której zostanie przypisana jednostka wyjÅ›ciowa. + +unitradar.target = Filtr wykrywanych jednostek. +unitradar.and = Dodatkowe filtry. +unitradar.order = Kolejność sortowania. 0 aby odwrócić. +unitradar.sort = Wartość, wedÅ‚ug której bÄ™dÄ… sortowane wyniki. +unitradar.output = Zmienna, do której zostanie przypisana jednostka wyjÅ›ciowa. + +control.of = Kontrolowany budynek. +control.unit = Jednostka/budynek, bÄ™dÄ…ce celem ostrzaÅ‚u. +control.shoot = Kontrolka strzelania. + +unitlocate.enemy = Kontrolka zlokalizowania budynków przeciwnika. +unitlocate.found = Kontrolka znalezienia obiektu. +unitlocate.building = Zmienna wyjÅ›ciowa dla zlokalizowanego budynku. +unitlocate.outx = WyjÅ›ciowa współrzÄ™dna X. +unitlocate.outy = WyjÅ›ciowa współrzÄ™dna Y. +unitlocate.group = Grupa szukanych budynków. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = PrzestaÅ„ siÄ™ poruszać, jednak nadal buduj/wydobywaj.\nDomyÅ›lny stan. +lenum.stop = PrzestaÅ„ poruszać siÄ™/kopać/budować. +lenum.unbind = Kompletnie wyłącza kontrolÄ™ za pomocÄ… logiki.\nWznawia domyÅ›lnÄ… SI. +lenum.move = Przemieść siÄ™ do okreÅ›lonej pozycji. +lenum.approach = Zbliż siÄ™ do pozycji w promieniu. +lenum.pathfind = Odnajdź Å›cieżkÄ™ do punktu zrzutu przeciwników. +lenum.autopathfind = Automatycznie znajdujÄ™ drogÄ™ do najbliższego rdzenia wroga lub punktu zrzutu.\nDziaÅ‚a tak samo jak normalne znajdowanie drogi. +lenum.target = Strzel w okreÅ›lonÄ… pozycjÄ™. +lenum.targetp = Strzel w jednostkÄ™/budynek z zachowaniem trajektorii. +lenum.itemdrop = Upuść przedmiot. +lenum.itemtake = Zabierz przedmiot z budynku. +lenum.paydrop = Upuść obecny Å‚adunek. +lenum.paytake = PodnieÅ› Å‚adunek z obecnego miejsca. +lenum.payenter = Wejdź/wylÄ…duj na bloku Å‚adunku, na którym znajduje siÄ™ jednostka. +lenum.flag = Numeryczny znacznik jednostki. +lenum.mine = Kop na danej pozycji. +lenum.build = Buduj strukturÄ™. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Sprawdź czy jednostka jest w pobliżu pozycji. +lenum.boost = Zacznij/zakoÅ„cz przyspieszać. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_pt_BR.properties b/core/assets/bundles/bundle_pt_BR.properties index 0e597d2159..9ebde3f3dd 100644 --- a/core/assets/bundles/bundle_pt_BR.properties +++ b/core/assets/bundles/bundle_pt_BR.properties @@ -1,26 +1,29 @@ credits.text = Criado por [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Créditos -contributors = Tradutores e contribuidores +contributors = Tradutores e Contribuidores discord = Junte-se ao Discord do Mindustry! (Lá nós falamos em diversos idiomas!) link.discord.description = O Discord oficial do Mindustry link.reddit.description = O subreddit do Mindustry link.github.description = Código fonte do jogo. link.changelog.description = Lista de mudanças da atualização -link.dev-builds.description = Versões betas +link.dev-builds.description = Builds de desenvolvimento instáveis link.trello.description = Trello oficial para atualizações planejadas link.itch.io.description = Página do Itch.io com os downloads link.google-play.description = Página da Google Play store link.f-droid.description = Listamento de catalogo do F-Droid link.wiki.description = Wiki oficial do Mindustry link.suggestions.description = Sugira novos conteúdos +link.bug.description = Achou algum? Reporte-o aqui +linkopen = Este servidor lhe enviou um link. Você tem certeza de que quer abri-lo?\n\n[sky]{0} linkfail = Falha ao abrir o link\nO Url foi copiado para a área de transferência. -screenshot = Screenshot salvo para {0} +screenshot = Screenshot salva para {0} screenshot.invalid = Este mapa é grande demais, você pode estar potencialmente sem memória suficiente para captura de tela. -gameover = O núcleo foi destruído. +gameover = Fim de jogo. +gameover.disconnect = Desconectado gameover.pvp = O time[accent] {0}[] ganhou! +gameover.waiting = [accent]Esperando pelo próximo mapa... highscore = [accent]Novo recorde! -copied = Copiado -indev.popup = [accent]v6[] está atualmente em [accent]alpha[].\n[lightgray]Isso significa:[]\n[scarlet]- A campanha está inacabada[]\n- Está faltando conteúdo\n - A maioria das [scarlet]IAs das unidades[] não funciona adequadamente\n- A maioria das unidades estão inacabadas\n- Tudo o que você ver está sujeito a mudanças ou remoção.\n\nReporte bugs ou crashes em [accent]Github[]. +copied = Copiado. indev.notready = Essa parte do jogo ainda não esta pronta load.sound = Sons @@ -31,120 +34,179 @@ load.system = Sistema load.mod = Mods load.scripts = Scripts -be.update = Uma nova versão beta está disponível: +be.update = Uma nova versão de teste está disponível: be.update.confirm = Baixar e reiniciar o jogo agora? be.updating = Atualizando... -be.ignore = Ignore +be.ignore = Ignorar be.noupdates = Nenhuma atualização encontrada. -be.check = Cheque por atualizações +be.check = Checar por atualizações + +mods.browser = Navegador de mods +mods.browser.selected = Mod selecionado +mods.browser.add = Instalar +mods.browser.reinstall = Reinstalar +mods.browser.view-releases = Ver versões +mods.browser.noreleases = [scarlet]Nenhuma versão encontrada\n[accent]Não foi possível encontrar nenhuma versão do mod. Veja se o repositório do mod possui alguma versão publicada. +mods.browser.latest = +mods.browser.releases = Versões +mods.github.open = Repositório +mods.github.open-release = Página da versão + +mods.browser.sortdate = Ordenar por mais recente +mods.browser.sortstars = Ordenar por estrelas schematic = Esquema -schematic.add = Salvar esquema +schematic.add = Salvar esquema... schematics = Esquemas +schematic.search = Procurar esquemas... schematic.replace = Um esquema com esse nome já existe. Substituí-lo? -schematic.exists = Um esquema com esse nome já existe. Substituí-lo? +schematic.exists = Um esquema com esse nome já existe. schematic.import = Importar esquema... -schematic.exportfile = Exportar arquivo -schematic.importfile = Importar arquivo -schematic.browseworkshop = Navegar pela oficina +schematic.exportfile = Exportar Arquivo +schematic.importfile = Importar Arquivo +schematic.browseworkshop = Navegar pela Oficina schematic.copy = Copiar para a área de transferência schematic.copy.import = Importar da área de transferência schematic.shareworkshop = Compartilhar na Oficina -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Virar o Esquema +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Espelhar Esquema schematic.saved = Esquema salvo. schematic.delete.confirm = Esse esquema será apagado. Tem certeza? -schematic.rename = Renomear esquema +schematic.edit = Editar Esquema schematic.info = {0}x{1}, {2} blocos -schematic.disabled = [scarlet]Esquemas desativados[]\nVocê precisa de permissão para usar esquemas nesse [accent]mapa[] ou [accent]servidor. +schematic.disabled = [scarlet]Esquemas desativados[]\nVocê não tem permissão para usar esquemas nesse [accent]mapa[] ou [accent]servidor. +schematic.tags = Etiquetas: +schematic.edittags = Editar Etiquetas +schematic.addtag = Adicionar Etiqueta +schematic.texttag = Etiqueta de Texto +schematic.icontag = Etiqueta de Ãcone +schematic.renametag = Renomear Etiqueta +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Deletar essa etiqueta completamente? +schematic.tagexists = Essa etiqueta já existe. -stat.wave = Hordas derrotadas:[accent] {0} -stat.enemiesDestroyed = Inimigos destruídos:[accent] {0} -stat.built = Construções construídas:[accent] {0} -stat.destroyed = Construções destruídas:[accent] {0} -stat.deconstructed = Construções desconstruídas:[accent] {0} -stat.delivered = Recursos lançados: -stat.playtime = Tempo jogado:[accent] {0} -stat.rank = Classificação final: [accent]{0} +stats = Estatísticas +stats.wave = Hordas Derrotadas +stats.unitsCreated = Unidades Criadas +stats.enemiesDestroyed = Inimigos Destruídos +stats.built = Construções Feitas +stats.destroyed = Construções Destruídas +stats.deconstructed = Construções Desconstruídas +stats.playtime = Tempo Jogado -globalitems = [accent]Itens Globais -map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"? -level.highscore = Melhor\npontuação: [accent] {0} +globalitems = [accent]Itens do Planeta +map.delete = Você tem certeza que quer deletar o mapa "[accent]{0}[]"? +level.highscore = Melhor pontuação: [accent]{0} level.select = Seleção de fase level.mode = Modo de jogo: -coreattack = < O núcleo está sobre ataque! > -nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\nANIQUILAÇÃO IMINENTE -database = Banco de dados -savegame = Salvar jogo -loadgame = Carregar jogo -joingame = Entrar no jogo -customgame = Jogo customi-\nzado -newgame = Novo jogo +coreattack = < O Núcleo está sob ataque! > +nearpoint = [[ [scarlet]SAIA DO PONTO DE QUEDA IMEDIATAMENTE[] ]\naniquilação iminente +database = Banco de Dados do Núcleo +database.button = Banco de Dados +savegame = Salvar Jogo +loadgame = Carregar Jogo +joingame = Juntar-se ao Jogo +customgame = Jogo Customizado +newgame = Novo Jogo none = -minimap = Mini-mapa +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Minimapa position = Posição close = Fechar website = Site quit = Sair -save.quit = Salvar e sair +save.quit = Salvar e Sair maps = Mapas maps.browse = Pesquisar mapas continue = Continuar maps.none = [lightgray]Nenhum mapa encontrado! invalid = Inválido pickcolor = Escolher Cor -preparingconfig = Preparando configuração -preparingcontent = Preparando conteúdo -uploadingcontent = Fazendo upload do conteúdo -uploadingpreviewfile = Fazendo upload do arquivo de pré-visualização -committingchanges = Enviando mudanças +preparingconfig = Preparando Configuração +preparingcontent = Preparando Conteúdo +uploadingcontent = Fazendo Upload do Conteúdo +uploadingpreviewfile = Fazendo Upload do Arquivo de Pré-visualização +committingchanges = Enviando Mudanças done = Feito -feature.unsupported = Seu dispositivo não suporta essa função. +feature.unsupported = Seu dispositivo não suporta este recurso. -mods.alphainfo = Tenha em mente que os mods estão em alpha, e[scarlet] talvez eles contenham erros e instabilidades[].\nReporte quaisquer problemas no Discord ou GitHub do Mindustry. +mods.initfailed = [red]âš [] A instância anterior do Mindustry falhou ao inicializar. Provavelmente causado por mods com problema.\n\nPara previnir um loop de crash, [red]todos os mods foram desativados.[] mods = Mods mods.none = [lightgray]Nenhum mod encontrado! -mods.guide = Guia de mods +mods.guide = Guia de Criar Mods mods.report = Reportar um Bug -mods.openfolder = Abrir pasta de mods +mods.openfolder = Abrir Pasta de Mods +mods.viewcontent = Ver Conteúdo mods.reload = Recarregar -mods.reloadexit = O jogo vai fechar, para poder recarregar os mods. +mods.reloadexit = O jogo agora irá fechar, para recarregar os mods. +mod.installed = [[Instalado] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Ativado -mod.disabled = [scarlet]Desativado +mod.disabled = [red]Desativado +mod.multiplayer.compatible = [gray]Compatível com Multiplayer mod.disable = Desati-\nvar +mod.version = Version: mod.content = Conteúdo: mod.delete.error = Incapaz de deletar o mod. O arquivo talvez esteja em uso. -mod.requiresversion = [scarlet]Requer no mínimo versão [accent]{0} [scarlet]do jogo. -mod.outdated = [scarlet]Não compatível com a V6 (sem minGameVersion: 105) -mod.missingdependencies = [scarlet]Dependências ausentes: {0} +mod.incompatiblegame = [red]Jogo desatualizado +mod.incompatiblemod = [red]Incompatível +mod.blacklisted = [red]Não suportado +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Erros no conteúdo +mod.circulardependencies = [red]Dependências Mútuas +mod.incompletedependencies = [red]Dependências Incompletas + +mod.requiresversion.details = Requer a versão do jogo: [accent]{0}[]\nSeu jogo está desatualizado. Este mod requer uma versão mais recente do jogo (possivelmente uma versão beta/alfa) para funcionar. +mod.outdatedv7.details = Este mod é incompatível com a versão mais recente do jogo. O autor deve atualizá-lo e adicionar [accent]minGameVersion: 136[] ao seu arquivo [accent]mod.json[]. +mod.blacklisted.details = Este mod foi manualmente colocado na lista negra por causar falhas ou outros problemas com esta versão do jogo. Não use-o. +mod.missingdependencies.details = Este mod está com dependências ausentes: {0} +mod.erroredcontent.details = Este mod causou erros ao carregar. Peça ao autor do mod para corrigi-los. +mod.circulardependencies.details = Este mod possui dependências que dependem umas das outras. +mod.incompletedependencies.details = Este mod não pode ser carregado devido a dependências inválidas ou ausentes: {0}. + +mod.requiresversion = Requer a versão do jogo: [red]{0} + mod.errors = Ocorreram erros ao carregar o conteúdo. mod.noerrorplay = [scarlet]Você tem mods com erros.[] Desative os mods afetados ou conserte os erros antes de jogar. mod.nowdisabled = [scarlet]O Mod '{0}' está com dependências ausentes:[accent] {1}\n[lightgray]Esses Mods precisam ser baixados primeiro.\nEsse Mod será desativado automaticamente. mod.enable = Ativar mod.requiresrestart = O jogo irá fechar para aplicar as mudanças do mod. -mod.reloadrequired = [scarlet]Recarregamento necessário -mod.import = Importar mod +mod.reloadrequired = [scarlet]Recarregamento Necessário +mod.import = Importar Mod mod.import.file = Importar Arquivo -mod.import.github = Importar mod do GitHub -mod.jarwarn = [scarlet]mods JAR são altamente inseguros.[]\nTenha certeza que esse mod tenha uma fonte confiável! +mod.import.github = Importar Mod do GitHub +mod.jarwarn = [scarlet]Mods JAR são altamente inseguros.[]\nTenha certeza que esse mod tenha uma fonte confiável! mod.item.remove = Este item é parte do mod[accent] '{0}'[]. Para removê-lo, desinstale esse mod. mod.remove.confirm = Este mod será deletado. mod.author = [lightgray]Autor:[] {0} mod.missing = Esse jogo salvo foi criado antes de você atualizar ou desinstalar um mod. Pode ocorrer uma corrupção no salvamento. Você tem certeza que quer carregar?\n[lightgray]Mods:\n{0} mod.preview.missing = Antes de publicar esse mod na oficina, você deve adicionar uma imagem de pré-visualização.\nColoque uma imagem com o nome[accent] preview.png[] na pasta do mod e tente novamente. -mod.folder.missing = Somente mods no formato de pasta serão publicados na oficina.\nPara converter qualquer Mod em uma pasta, Simplesmente descompacte seu arquivo numa pasta e delete a compactação antiga, então reinicie seu jogo ou recarregue os mods. +mod.folder.missing = Somente mods no formato de pasta serão publicados na oficina.\nPara converter qualquer Mod em uma pasta, simplesmente descompacte seu arquivo numa pasta e delete o arquivo ZIP antigo, então reinicie seu jogo ou recarregue os mods. mod.scripts.disable = Seu dispositivo não suporta mods com scripts. Você precisa desabilitar esses mods para conseguir jogar. about.button = Sobre name = Nome: noname = Escolha[accent] um nome[] primeiro. +search = Procurar: planetmap = Mapa do Planeta -launchcore = Lançar núcleo -filename = Nome do arquivo: -unlocked = Novo bloco desbloqueado! +launchcore = Lançar Núcleo +filename = Nome do Arquivo: +unlocked = Novo conteúdo desbloqueado! +available = Nova pesquisa disponível! +unlock.incampaign = < Desbloqueie na campanha para mais detalhes > +campaign.select = Selecione uma Campanha Inicial +campaign.none = [lightgray]Selecione um planeta para começar.\nIsso pode ser alterado a qualquer momento. +campaign.erekir = Conteúdo mais novo e mais polido. Progressão de campanha principalmente linear.\n\nMapas de maior qualidade e experiência geral. +campaign.serpulo = Conteúdo mais antigo; a experiência clássica. Mais aberto, mais conteúdo.\n\nMapas e mecânicas de campanha potencialmente desbalanceados. Menos polido. +campaign.difficulty = Difficulty + completed = [accent]Completado techtree = Ãrvore Tecnológica +techtree.select = Seleção de Ãrvore Tecnológica +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Carregar +research.discard = Descartar research.list = [lightgray]Pesquise: research = Pesquisar researched = [lightgray]{0} Pesquisado. @@ -155,7 +217,7 @@ players.search = Procurar players.notfound = [gray]Nenhum jogador encontrado server.closing = [accent]Fechando servidor... server.kicked.kick = Você foi expulso do servidor! -server.kicked.whitelist = Você não está na whitelist do servidor. +server.kicked.whitelist = Você não está na lista branca do servidor. server.kicked.serverClose = Servidor fechado. server.kicked.vote = Você foi expulso desse servidor. Adeus. server.kicked.clientOutdated = Cliente desatualizado! Atualize seu jogo! @@ -168,155 +230,217 @@ server.kicked.nameInUse = Este nome já está sendo usado\nneste servidor. server.kicked.nameEmpty = Você deve ter pelo menos uma letra ou número no nome. server.kicked.idInUse = Você ja está neste servidor! Conectar com duas contas não é permitido. server.kicked.customClient = Este servidor não suporta versões customizadas. Baixe a versão original. -server.kicked.gameover = Fim de jogo! +server.kicked.gameover = Fim do jogo! server.kicked.serverRestarting = O servidor esta reiniciando. server.versions = Sua versão:[accent] {0}[]\nVersão do servidor:[accent] {1}[] -host.info = O botão de [accent]Hospedar[] hospeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [lightgray]Wi-fi ou internet local[] pode ver este servidor na lista de servidores.\n\nSe você quer poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é requerido.\n\n[lightgray]Nota: Se alguém 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[lightgray]Nota: Não há uma lista de servidores automáticos; Se você quer conectar ao IP de alguém, você precisa pedir o IP ao anfitrião. -hostserver = Hospedar servidor -invitefriends = Convidar amigos -hostserver.mobile = Hospedar\nJogo +host.info = O botão de [accent]Hospedar[] hospeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [lightgray]Wi-fi ou internet local[] pode ver este servidor na lista de servidores.\n\nSe você quiser poder entrar em qualquer servidor em seu ip, [accent]port forwarding[] é necessário.\n\n[lightgray]Nota: Se alguém está com problemas em conectar no seu servidor lan, tenha certeza que mindustry tem acesso a sua internet local nas configurações do seu 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[lightgray]Nota: Não há uma lista de servidores automáticos; Se você quiser se conectar ao IP de alguém, você precisa pedir o IP ao anfitrião. +hostserver = Hospedar Partida Multijogador +invitefriends = Convidar Amigos +hostserver.mobile = Hospedar Partida host = Hospedar hosting = [accent]Abrindo servidor... hosts.refresh = Recarregar -hosts.discovering = Descobrindo jogos em lan +hosts.discovering = Descobrindo jogos em LAN hosts.discovering.any = Descobrindo jogos server.refreshing = Atualizando servidor hosts.none = [lightgray]Nenhum jogo LAN encontrado! host.invalid = [scarlet]Não foi possivel hospedar -servers.local = Servidores locais -servers.remote = Servidores remotos -servers.global = Servidores da comunidade +servers.local = Servidores Locais +servers.local.steam = Jogos Públicos e Servidores Locais +servers.remote = Servidores Remotos +servers.global = Servidores da Comunidade -trace = Rastrear jogador +servers.disclaimer = Servidores da comunidade [accent]não[] controlados pelo desenvolvedor.\n\nOs servidores podem conter conteúdo não apropriado para todas as idades. +servers.showhidden = Mostrar servidores ocultos +server.shown = Mostrar +server.hidden = Ocultar + +viewplayer = Vendo o Jogador: [accent]{0} +trace = Rastrear Jogador trace.playername = Nome do jogador: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = ID unico: [accent]{0} -trace.mobile = Cliente móvel: [accent]{0} -trace.modclient = Cliente customizado: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Idioma: [accent]{0} +trace.mobile = Cliente Móvel: [accent]{0} +trace.modclient = Cliente Customizado: [accent]{0} +trace.times.joined = Vezes que se Juntou: [accent]{0} +trace.times.kicked = Vezes que foi Expulso: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = ID do cliente invalido! Reporte o bug + +player.ban = Banir +player.kick = Expulsar +player.trace = Rastrear +player.admin = Alternar Admin +player.team = Trocar Time + server.bans = Banidos server.bans.none = Nenhum jogador banido encontrado! server.admins = Administradores server.admins.none = Nenhum administrador encontrado! server.add = Adicionar servidor -server.delete = Certeza que quer deletar o servidor? -server.edit = Editar servidor -server.outdated = [crimson]Servidor desatualizado![] -server.outdated.client = [crimson]Cliente desatualizado![] -server.version = [lightgray]Versão: {0} -server.custombuild = [accent]Versão customizada -confirmban = Certeza que quer banir este jogador? -confirmkick = Certeza que quer expulsar o jogador? -confirmvotekick = Você tem certeza de que quer votar para expulsar este jogador? -confirmunban = Certeza que quer desbanir este jogador? -confirmadmin = Certeza que quer fazer este jogador um administrador? -confirmunadmin = Certeza que quer remover o status de adminstrador deste jogador? -joingame.title = Entrar no jogo -joingame.ip = IP: +server.delete = Você tem certeza que quer deletar esse servidor? +server.edit = Editar Servidor +server.outdated = [scarlet]Servidor Desatualizado![] +server.outdated.client = [scarlet]Cliente Desatualizado![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Versão Customizada +confirmban = Você tem certeza que quer banir "{0}[white]"? +confirmkick = Você tem certeza que quer expulsar "{0}[white]"? +confirmunban = Você tem certeza que quer desbanir este jogador? +confirmadmin = Você tem certeza que quer fazer "{0}[white]" um administrador? +confirmunadmin = Você tem certeza que quer remover o status de adminstrador do "{0}[white]"? +votekick.reason = Motivo para expulsar por votação +votekick.reason.message = Tem certeza de que deseja expulsar "{0}[white]" por votação?\nSe sim, digite o motivo: +joingame.title = Juntar-se ao jogo +joingame.ip = Endereço IP: disconnect = Desconectado. disconnect.error = Erro de conexão. disconnect.closed = Conexão fechada. disconnect.timeout = Tempo esgotado. -disconnect.data = Falha ao abrir os dados do mundo! +disconnect.data = Falha ao carregar os dados do mundo! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Impossível conectar ([accent]{0}[]). connecting = [accent]Conectando... +reconnecting = [accent]Reconectando... connecting.data = [accent]Carregando dados do mundo... -server.port = Port: -server.addressinuse = Senha em uso! -server.invalidport = Numero de port inválido! -server.error = [crimson]Erro ao hospedar o servidor: [accent]{0} -save.new = Novo save -save.overwrite = Você tem certeza que quer sobrescrever este save? -overwrite = sobrescrever -save.none = Nenhum save encontrado! +server.port = Porta: +server.invalidport = Numero de porta inválido! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [scarlet]Erro ao hospedar o servidor. +save.new = Novo Jogo Salvo +save.overwrite = Você tem certeza que quer sobrescrever este jogo salvo? +save.nocampaign = Arquivos de jogos salvos individuais da campanha não podem ser importados. + +overwrite = Sobrescrever +save.none = Nenhum jogo salvo encontrado! savefail = Falha ao salvar jogo! -save.delete.confirm = Certeza que quer deletar este save? +save.delete.confirm = Certeza que quer deletar este jogo salvo? save.delete = Deletar -save.export = Exportar save -save.import.invalid = [accent]Este save é inválido! -save.import.fail = [crimson]Falha ao importar save: [accent]{0} -save.export.fail = [crimson]Falha ao exportar save: [accent]{0} -save.import = Importar save -save.newslot = Nome do save: +save.export = Exportar Jogo Salvo +save.import.invalid = [accent]Este jogo salvo é inválido! +save.import.fail = [crimson]Falha ao importar jogo salvo: [accent]{0} +save.export.fail = [crimson]Falha ao exportar jogo salvo: [accent]{0} +save.import = Importar jogo salvo +save.newslot = Nome do jogo salvo: save.rename = Renomear -save.rename.text = Novo jogo: -selectslot = Selecione um lugar para salvar. -slot = [accent]Conexões {0} -editmessage = Editar mensagem -save.corrupted = [accent]Save corrompido ou inválido! +save.rename.text = Novo nome: +selectslot = Selecione um jogo salvo. +slot = [accent]Slot {0} +editmessage = Editar Mensagem +save.corrupted = [accent]Jogo salvo corrompido ou inválido! empty = on = Ligado off = Desligado +save.search = Procurando jogos salvos... save.autosave = Salvar automaticamente: {0} save.map = Mapa: {0} save.wave = Horda {0} save.mode = Modo de jogo: {0} -save.date = Último salvamento: {0} +save.date = Último Salvamento: {0} save.playtime = Tempo de jogo: {0} warning = Aviso. confirm = Confirmar delete = Excluir -view.workshop = Ver na oficina -workshop.listing = Editar a lista da oficina -ok = OK +view.workshop = Ver na Oficina +workshop.listing = Editar a Lista da Oficina +ok = Certo open = Abrir -customize = Customizar +customize = Customizar Regras cancel = Cancelar +command = Comando +command.queue = Fila +command.mine = Minerar +command.repair = Reparar +command.rebuild = Reconstruir +command.assist = Auxiliar Jogador +command.move = Mover + +command.boost = Impulso +command.enterPayload = Inserir Bloco de Carga útil +command.loadUnits = Carregar Unidades +command.loadBlocks = Carregar Blocos +command.unloadPayload = Descarregar Carga +command.loopPayload = Loop Unit Transfer +stance.stop = Cancelar Ordens +stance.shoot = Modo: Atirar +stance.holdfire = Modo: Cessar Fogo +stance.pursuetarget = Modo: Perseguir Alvo +stance.patrol = Modo: Patrulhar Caminho +stance.ram = Modo: Vagar\n[lightgray]Andar em linha reta, ignorando o terreno + openlink = Abrir Link -copylink = Copiar link +copylink = Copiar Link back = Voltar -data.export = Exportar dados -data.import = Importar dados -data.openfolder = Abrir pasta de dados +max = Máximo +objective = Objetivo do Mapa +crash.export = Exportar Logs de Crashes +crash.none = Nenhum logs de Crashes Encontrado. +crash.exported = Logs de Crashes Exportado. +data.export = Exportar Dados +data.import = Importar Dados +data.openfolder = Abrir Pasta de Dados data.exported = Dados exportados. -data.invalid = Estes dados de jogo não são válidos. -data.import.confirm = Importar dados externos irá deletar[scarlet] todos[] os seus dados atuais.\n[accent]Isso não pode ser desfeito![]\n\nQuando sua data é importada, seu jogo ira sair imediatamente. +data.invalid = Esse dados de jogo não são válidos. +data.import.confirm = Importar dados externos irá deletar[scarlet] todos[] os seus dados atuais.\n[accent]Isso não pode ser desfeito![]\n\nQuando seus dados serão importados, seu jogo irá fechar imediatamente. quit.confirm = Você tem certeza que quer sair? -quit.confirm.tutorial = Você tem certeza que você sabe o que você esta fazendo?\nO tutorial pode ser refeito nas [accent] Configurações->Jogo->Refazer Tutorial.[] loading = [accent]Carregando... -reloading = [accent]Recarregando mods... +downloading = [accent]Baixando... saving = [accent]Salvando... -respawn = [accent][[{0}][] para nascer no núcleo +respawn = [accent][[{0}][] para renascer cancelbuilding = [accent][[{0}][] para cancelar a construção selectschematic = [accent][[{0}][] para selecionar + copiar -pausebuilding = [accent][[{0}][] para parar a construção +pausebuilding = [accent][[{0}][] para pausar a construção resumebuilding = [scarlet][[{0}][] para continuar a construção +enablebuilding = [scarlet][[{0}][] para habilitar construção +showui = Interface oculta.\nPressione [accent][[{0}][] para exibir a interface. +commandmode.name = [accent]Modo de Comando +commandmode.nounits = [sem unidades] + wave = [accent]Horda {0} wave.cap = [accent]Horda {0}/{1} -wave.waiting = Proxima horda em {0} +wave.waiting = [lightgray]Próxima horda em {0} wave.waveInProgress = [lightgray]Horda em progresso -waiting = Aguardando... +waiting = [lightgray]Esperando... waiting.players = Esperando por jogadores... -wave.enemies = [lightgray]{0} inimigos restantes -wave.enemy = [lightgray]{0} inimigo restante -wave.guardianwarn = Guardião se aproximando em [accent]{0}[] Hordas. -wave.guardianwarn.one = Guardião se aproximando em [accent]{0}[] Horda. -loadimage = Carregar\nimagem -saveimage = Salvar\nimagem +wave.enemies = [lightgray]{0} Inimigos Restantes +wave.enemycores = [accent]{0}[lightgray] Núcleos Inimigos +wave.enemycore = [accent]{0}[lightgray] Núcleo Inimigo +wave.enemy = [lightgray]{0} Inimigo Restante +wave.guardianwarn = Guardião se aproximando em [accent]{0}[] hordas. +wave.guardianwarn.one = Guardião se aproximando em [accent]{0}[] horda. +loadimage = Carregar Imagem +saveimage = Salvar Imagem unknown = Desconhecido custom = Customizado -builtin = Padrão -map.delete.confirm = Certeza que quer deletar este mapa? Isto não pode ser desfeito! -map.random = [accent]Mapa aleatório -map.nospawn = Este mapa não possui nenhum núcleo para o jogador nascer! Adicione um núcleo[accent] amarelo[] para este mapa no editor. -map.nospawn.pvp = Esse mapa não tem núcleos inimigos para os jogadores nascerem! Adicione[scarlet] núcleos vermelhos[] no mapa no editor. -map.nospawn.attack = Esse mapa não tem nenhum núcleo inimigo para o jogador atacar! coloque[scarlet] núcleos[] vermelhos no editor. +builtin = Embutido +map.delete.confirm = Você tem certeza que quer deletar este mapa? Isso não pode ser revertido! +map.random = [accent]Mapa Aleatório +map.nospawn = Este mapa não possui nenhum Núcleo para o jogador nascer! Adicione um Núcleo {0} para este mapa no editor. +map.nospawn.pvp = Esse mapa não tem Núcleos inimigos para os jogadores nascerem! Adicione [scarlet]Núcleos não-laranjas[] para este mapa no editor. +map.nospawn.attack = Esse mapa não tem nenhum Núcleo inimigo para o jogador atacar! Adicione um Núcleos {0} para este mapa no editor. map.invalid = Erro ao carregar o mapa: Arquivo de mapa invalido ou corrupto. -workshop.update = Atualizar item +workshop.update = Atualizar Item workshop.error = Erro buscando os detalhes da oficina: {0} map.publish.confirm = Você tem certeza de que quer publicar este mapa?\n\n[lightgray]Tenha certeza de que você concorda com o EULA da oficina primeiro, ou seus mapas não serão mostrados! workshop.menu = Selecione oquê você gostaria de fazer com esse item. workshop.info = Informação do item changelog = Mudanças (opcional): +updatedesc = Sobrescrever Título e Descrição eula = EULA da Steam missing = Este item foi deletado ou movido.\n[lightgray]O listamento da oficina foi automaticamente desligado. publishing = [accent]Publicando... publish.confirm = Você tem certeza de que quer publicar isso?\n\n[lightgray]Primeiramente tenha certeza de que você concorda com o EULA da oficina, ou seus itens não irão aparecer! -publish.error = Erro publicando o item: {0} +publish.error = Erro ao publicar o item: {0} steam.error = Falha em iniciar os serviços da Steam.\nErro: {0} +editor.planet = Planeta: +editor.sector = Setor: +editor.seed = Seed: +editor.cliffs = Paredes para Penhascos editor.brush = Pincel editor.openin = Abrir no editor editor.oregen = Geração de minério @@ -324,41 +448,78 @@ editor.oregen.info = Geração de minério: editor.mapinfo = Informação do mapa editor.author = Autor: editor.description = Descrição: -editor.nodescription = Um mapa deve ter uma descrição de no mínimo 4 caracteres antes de ser publicado. +editor.nodescription = Um mapa deve ter uma descrição de ao mínimo 4 caracteres antes de ser publicado. editor.waves = Hordas: editor.rules = Regras: editor.generation = Geração: +editor.objectives = Objetivos: +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Editar em jogo +editor.playtest = Jogar Teste editor.publish.workshop = Publicar na oficina editor.newmap = Novo mapa -editor.center = Center +editor.center = Centro +editor.search = Procurar mapas... +editor.filters = Filtrar mapas +editor.filters.mode = Modos de jogo: +editor.filters.type = Tipo: +editor.filters.search = Procurar em: +editor.filters.author = Autor +editor.filters.description = Descrição +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Oficina waves.title = Hordas waves.remove = Remover -waves.never = waves.every = a cada waves.waves = Horda(s) +waves.health = vida: {0}% waves.perspawn = por spawn waves.shields = Escudo/Horda waves.to = para -waves.guardian = Guardian +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Seletor de Spawn +waves.spawn.none = [scarlet]sem spawns no mapa +waves.max = quantidade máxima +waves.guardian = Guardião waves.preview = Pré-visualizar waves.edit = Editar... +waves.random = Random waves.copy = Copiar para área de transferência waves.load = Carregar da área de transferência waves.invalid = Hordas inválidas na área de transferência. waves.copied = Hordas copiadas. waves.none = Sem hordas definidas.\nNote que layouts vazios de hordas serão automaticamente substituídos pelo layout padrão. +waves.sort = Ordenar por +waves.sort.reverse = Inverter ordem +waves.sort.begin = Começar +waves.sort.health = Vida +waves.sort.type = Tipo +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Esconder tudo +waves.units.show = Mostrar tudo +#these are intentionally in lower case wavemode.counts = quantidade wavemode.totals = total wavemode.health = vida +all = All editor.default = [lightgray] details = Detalhes... edit = Editar... +variables = Variáveis +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nome: -editor.spawn = Criar unidade +editor.spawn = Spawnar unidade editor.removeunit = Remover unidade editor.teams = Times editor.errorload = Erro ao carregar arquivo:\n[accent]{0} @@ -368,13 +529,19 @@ editor.errorlegacy = Esse mapa é velho demais, e usa um formato de mapa legacy editor.errornot = Este não é um arquivo de mapa. editor.errorheader = Este arquivo de mapa não é mais válido ou está corrompido. editor.errorname = O mapa não tem nome definido. +editor.errorlocales = Error reading invalid locale bundles. editor.update = Atualizar editor.randomize = Aleatorizar +editor.moveup = Mover para Cima +editor.movedown = Mover para Baixo +editor.copy = Copiar editor.apply = Aplicar editor.generate = Gerar +editor.sectorgenerate = Gerar Setor editor.resize = Redimen-\nsionar editor.loadmap = Carregar\nmapa editor.savemap = Salvar\nmapa +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Salvo! editor.save.noname = Seu mapa não tem um nome! Coloque um no menu de "Informação do mapa" editor.save.overwrite = O seu mapa substitui um mapa já construído! Coloque um nome diferente no menu "Informação do mapa" @@ -413,16 +580,22 @@ toolmode.eraseores = Apagar minérios toolmode.eraseores.description = Apaga apenas minérios. toolmode.fillteams = Preencher times toolmode.fillteams.description = Muda o time do qual todos os blocos pertencem. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Desenhar times toolmode.drawteams.description = Muda o time do qual o bloco pertence. +#unused +toolmode.underliquid = sob líquidos +toolmode.underliquid.description = Desenhe pisos sob ladrilhos líquidos. + +filters.empty = [lightgray]Sem filtros! Adicione um usando o botão abaixo. -filters.empty = [lightgray]Sem filtro! Adicione um usando o botão abaixo. filter.distort = Distorcedor filter.noise = Geração aleatória -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select -filter.median = Medio +filter.enemyspawn = Seleção de Spawn do Inimigo +filter.spawnpath = Caminho para o Spawn +filter.corespawn = Seleção de Núcleo +filter.median = Médio filter.oremedian = Minério mediano filter.blend = Misturar filter.defaultores = Minérios padrão @@ -433,6 +606,8 @@ filter.clear = Excluir filter.option.ignore = Ignorar filter.scatter = Dispersão filter.terrain = Terreno +filter.logic = Logic + filter.option.scale = Escala filter.option.chance = Chance filter.option.mag = Magnitude @@ -441,17 +616,39 @@ filter.option.circle-scale = Escala de círculo filter.option.octaves = Oitavas filter.option.falloff = Caída filter.option.angle = Ângulo -filter.option.amount = Amount +filter.option.tilt = Inclinação +filter.option.rotate = Rotacionar +filter.option.amount = Quantidade filter.option.block = Bloco filter.option.floor = Chão filter.option.flooronto = Chão alvo -filter.option.target = Target +filter.option.target = Alvo +filter.option.replacement = Reposição filter.option.wall = Parede filter.option.ore = Minério filter.option.floor2 = Chão secundário filter.option.threshold2 = Margem secundária filter.option.radius = Raio filter.option.percentile = Percentual +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Largura: height = Altura: @@ -462,6 +659,9 @@ load = Carregar save = Salvar fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Por favor, reinicie seu jogo para a tradução ser aplicada. settings = Configu-\nrações tutorial = Tutorial @@ -472,85 +672,269 @@ mapeditor = Editor de mapa abandon = Abandonar abandon.text = Esta zona e todos os seus recursos serão perdidos para o inimigo. locked = Trancado -complete = [lightgray]Completo: +complete = [lightgray]Complete: requirement.wave = Alcançar a Horda {0} em {1} requirement.core = Destruir o núcleo inimigo em {0} -requirement.research = Research {0} +requirement.research = Pesquise {0} +requirement.produce = Produza {0} requirement.capture = Capture {0} -bestwave = [lightgray]Melhor: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. +requirement.onplanet = Controle o setor em {0} +requirement.onsector = Lance no setor: {0} +launch.text = Lançar +map.multiplayer = Apenas o host consegue ver os setores. uncover = Descobrir configure = Configurar carregamento -loadout = Loadout -resources = Resources + +objective.research.name = Pesquise +objective.produce.name = Obtenha +objective.item.name = Obtenha o Item +objective.coreitem.name = Item do Núcleo +objective.buildcount.name = Quantidade de Construções +objective.unitcount.name = Quantidade de Unidades +objective.destroyunits.name = Destrua Unidades +objective.timer.name = Timer +objective.destroyblock.name = Destrua Bloco +objective.destroyblocks.name = Destrua Blocos +objective.destroycore.name = Destrua o Núcleo +objective.commandmode.name = Modo de Comando +objective.flag.name = Flag + +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Texto +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture + +marker.background = Fundo +marker.outline = Contorno + +objective.research = [accent]Pesquise:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtenha:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destrua:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destrua: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtenha: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Mova para o Núcleo:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Construa: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Construa Unidade: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destrua: [][lightgray]{0}[]x Unidades +objective.enemiesapproaching = [accent]Inimigos se aproximando em [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destrua o Núcleo Inimigo +objective.command = [accent]Comande Unidades +objective.nuclearlaunch = [accent]âš  Lançamento Nuclear Detectado: [lightgray]{0} + +announce.nuclearstrike = [red]âš  ATAQUE NUCLEAR CHEGANDO âš  + +loadout = Carregamento +resources = Recursos +resources.max = Máximo bannedblocks = Blocos Banidos +unbannedblocks = Unbanned Blocks +objectives = Objetivos +bannedunits = Unidades Banidas +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Adicionar Todos -launch.destination = Destination: {0} +launch.from = Lançando de: [accent]{0} +launch.capacity = Capacidade para Lançamento de Itens: [accent]{0} +launch.destination = Destino: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = A quantidade deve ser um número entre 0 e {0}. -zone.unlocked = [lightgray]{0} Desbloqueado. -zone.requirement.complete = Horda {0} alcançada:\n{1} Requerimentos da zona alcançada. -zone.resources = Recursos detectados: -zone.objective = [lightgray]Objetivo: [accent]{0} -zone.objective.survival = Sobreviver -zone.objective.attack = Destruir o núcleo inimigo add = Adicionar... -boss.health = Vida do Chefão +guardian = Guardião connectfail = [crimson]Falha ao entrar no servidor: [accent]{0} error.unreachable = Servidor fora de alcance. error.invalidaddress = Endereço inválido. -error.timedout = Desconectado!\nTenha certeza que o anfitrião tenha feito redirecionamento de portas e que o endereço esteja correto! +error.timedout = Desconectado!\nTenha certeza que o anfitrião tenha feito o port forwarding e que o endereço esteja correto! error.mismatch = Erro de pacote:\nPossivel incompatibilidade com a versão do cliente/servidor.\nTenha certeza que você e o anfitrião tenham a última versão! error.alreadyconnected = Já conectado. error.mapnotfound = Arquivo de mapa não encontrado! error.io = Erro I/O de internet. error.any = Erro de rede desconhecido. error.bloom = Falha ao inicializar bloom.\nSeu dispositivo talvez não o suporte. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = Rain -weather.snow.name = Snow -weather.sandstorm.name = Sandstorm -weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.rain.name = Chuva +weather.snowing.name = Neve +weather.sandstorm.name = Tempestade de Areia +weather.sporestorm.name = Tempestade de Esporos +weather.fog.name = Névoa +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Parabéns.\n\nO inimigo em {0} foi derrotado.\n[lightgray]O setor final foi conquistado. -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +sectorlist = Setores +sectorlist.attacked = {0} sob ataque +sectors.unexplored = [lightgray]Inexplorado +sectors.resources = Recursos: +sectors.production = Produção: +sectors.export = Exportar: +sectors.import = Importar: +sectors.time = Tempo: +sectors.threat = Ameaça: +sectors.wave = Horda: +sectors.stored = Armazenado: +sectors.resume = Continuar +sectors.launch = Lançar +sectors.select = Selecionar +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]nenhum (sun) +sectors.redirect = Redirect Launch Pads +sectors.rename = Renomear Setor +sectors.enemybase = [scarlet]Base Inimiga +sectors.vulnerable = [scarlet]Vulnerável +sectors.underattack = [scarlet]Sob Ataque! [accent]{0}% danificado +sectors.underattack.nodamage = [scarlet]Não Capturado +sectors.survives = [accent]Sobreviva {0} hordas +sectors.go = Ir +sector.abandon = Abandonar +sector.abandon.confirm = O(s) Núcleo(s) desse setor vão se auto-destruir.\nContinuar? +sector.curcapture = Setor Capturado +sector.curlost = Setor Perdido +sector.missingresources = [scarlet]Recursos Insuficientes no Núcleo +sector.attacked = Setor [accent]{0}[white] sob ataque! +sector.lost = Setor [accent]{0}[white] perdido! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Trocar Ãcone +sector.noswitch.title = Incapaz de Mudar de Setores +sector.noswitch = Você não pode trocar de setor enquanto um setor existente estiver sob ataque.\n\nSetor: [accent]{0}[] em [accent]{1}[] +sector.view = Visualizar Setor + +threat.low = Baixa +threat.medium = Média +threat.high = Alta +threat.extreme = Extrema +threat.eradication = Erradicação +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + +planets = Planetas planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Sol -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass +sector.impact0078.name = Impacto 0078 +sector.groundZero.name = Marco Zero +sector.craters.name = As Crateras +sector.frozenForest.name = Floresta Congelada +sector.ruinousShores.name = Costas Ruinosas +sector.stainedMountains.name = Montanhas Manchadas +sector.desolateRift.name = Fenda Desolada +sector.nuclearComplex.name = Complexo de Produção Nuclear +sector.overgrowth.name = Supercrescimento +sector.tarFields.name = Campos de Petróleo +sector.saltFlats.name = Planícies de Sal +sector.fungalPass.name = Passagem Fúngica +sector.biomassFacility.name = Instalação de Síntese de Biomassa +sector.windsweptIslands.name = Ilhas Ventadas +sector.extractionOutpost.name = Posto Avançado de Extração +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Terminal de Lançamento Planetário. +sector.coastline.name = Litoral +sector.navalFortress.name = Fortaleza Naval +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = Um lugar bom para recomeçar. Baixa ameaça inimiga. Poucos recursos.\nConsiga o máximo possível de chumbo e cobre.\nContinue. +sector.frozenForest.description = Mesmo aqui, perto das montanhas, os esporos se espalharam. As temperaturas baixas não conseguirão contê-los para sempre.\n\nComeçe a aventura com energia. Construa geradores a combustão. Aprenda a usar reparadores. +sector.saltFlats.description = Nos arredores do deserto ficam as planícies de sal. Muitos recursos podem ser encontrados nesse local.\n\nO inimigo construiu um complexo de armazenamento de recursos aqui. Destrua o núcleo deles. Não deixe nada sobrando. +sector.craters.description = A água se acumulou nessa cratera, relíquias de guerras antigas. Re-conquiste a área. Colete areia. Faça metavidro. Use a água para melhorar suas brocas e torretas. +sector.ruinousShores.description = Passando o terreno desolado, está localizada a costa. Antigamente, este local abrigava uma rede de defesa costeira. Não restou muita coisa. Apenas as estruturas de defesas básicas permaneceram ilesas, o resto foi reduzido a sucata.\nContinue expandindo seus territórios, re-descubra a tecnologia. +sector.stainedMountains.description = Mais para o interior estão as montanhas, ainda não contaminadas pelos esporos.\nExtraia o titânio que é abundante nessa área. Aprenda a usá-lo.\n\nA presença inimiga é maior aqui. Não dê tempo a eles de trazerem fortes unidades. +sector.overgrowth.description = Essa área coberta por vegetação, próxima ao local de origem dos esporos.\nO inimigo estabeleceu um posto de controle aqui. Faça unidades Titan. Destrua eles. Recupere o que foi perdido. +sector.tarFields.description = Nos arredores de uma zone de produção de petróleo, entre as montanhas e o deserto. Uma das poucas áreas com reservas de piche utilizáveis.\nMesmo abandonada, essa área tem forças inimigas por perto. Não subestime-os.\n\n[lightgray]Pesquise a tecnologia de processamento de petróleo se possível. +sector.desolateRift.description = Uma zona extremamente perigosa. Uma zona com recursos abundantes, mas pouco espaço. Grande risco de destruição. Saia o quanto antes. Não se deixe levar pelo tempo entre os ataques inimigos. +sector.nuclearComplex.description = Uma antiga instalação de produção e processamento de tório, reduzida a ruínas.\n[lightgray]Pesquise sobre o tório e seu vários usos.\n\nO inimigo está presente aqui em grande número, constantemente procurando por atacantes. +sector.fungalPass.description = Uma área de transição entre altas montanhas e terras baixas, repletas de esporos. Uma pequena base de reconhecimento inimiga está aqui.\nDestrua o núcleo. +sector.biomassFacility.description = A origem dos esporos. Essa é a instalação onde eles foram pesquisados e produzidos inicialmente. Pesquise a tecnologia contido na instalação. Cultive esporos para a produção de combustíveis e plásticos. \n\nNo falecimento da instalação, os esporos foram liberados. Nada no ecossistema local conseguia competir com um organismo tão invasivo. +sector.windsweptIslands.description = Um pouco depois do literal tem essa remota série de ilhas. Registros mostram eles haviam estruturas produtoras de [accent]Plastânio[].\n\nAfase as unidades navais inimigas. Estabeleça uma base nas ilhas. Pesquise essas fábricas. +sector.extractionOutpost.description = Um posto avançado remoto, construído pelo inimigo com o objetivo de lançar recursos para outros setores.\n\nTecnologia de transporte entre setores é essencial para mais conquista de território. Destrua a base. Pesquise suas Plataformas de Lançamento. +sector.impact0078.description = Aqui repousas restos de um reservatório de transporte interestelar que entrou nesse sistema primeiro.\nSalve o quanto puder dos destroços. Pesquise qualquer tecnologia intacta. +sector.planetaryTerminal.description = O último alvo.\n\nEssa base costeira contém a estrutura capaz de lançar Núcleos para planetas locais. É extremamente bem guardado.\n\nProduza unidades navais. Elimine o inimigo o mais rápido o possível. pesquise a estrutura de lançamento. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = O Começo +sector.aegis.name = Aegis +sector.lake.name = O Lago +sector.intersect.name = Intersecção +sector.atlas.name = Atlas +sector.split.name = A Divisão +sector.basin.name = A Bacia +sector.marsh.name = O Brejo +sector.peaks.name = Picos +sector.ravine.name = Ravina +sector.caldera-erekir.name = Caldeira +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = O setor de tutorial. Este objetivo ainda não foi criado. Aguarde mais informações. +#TODO - no shield breaker anymore. +sector.aegis.description = O inimigo é protegido por escudos. Um módulo de quebra-escudos experimental foi detectado neste setor.\nLocalize esta estrutura. Forneça munição de tungstênio e destrua a base inimiga. +sector.lake.description = O lago de escória deste setor limita muito as unidades viáveis. Uma unidade flutuante é a única opção.\nPesquise o [accent]construtor de naves[] e produza uma unidade [accent]elude[] o mais rápido possível. +sector.intersect.description = Scanners sugerem que este setor será atacado de vários lados logo após o pouso.\nFaça defesas rapidamente e expanda o mais rápido possível.\nUnidades [accent]Mech[] serão necessárias para o terreno acidentado da área. +sector.atlas.description = Este setor contém terreno variado e exigirá uma variedade de unidades para atacar de forma eficaz.\nUnidades melhoradas também podem ser necessárias para passar por algumas das bases inimigas mais difíceis detectadas aqui.\nPesquise o [accent]Eletrolisador[] e o [accent]Refrabicador de Tanques[]. +sector.split.description = A presença mínima de inimigos neste setor o torna perfeito para testar novas tecnologias de transporte. +sector.basin.description = {Temporary}\n\nO último setor por enquanto. Considere isso um nível de desafio - mais setores serão adicionados em novas atualizações. +sector.marsh.description = Este setor tem abundância de arquicita, mas tem respiradouros limitados.\nConstrua [accent]Câmaras de Combustão Química[] para gerar energia. +sector.peaks.description = O terreno montanhoso neste setor torna a maioria das unidades inúteis. Unidades voadoras serão necessárias.\nEsteja ciente das instalações antiaéreas inimigas. Pode ser possível desativar algumas dessas instalações visando seus edifícios de apoio. +sector.ravine.description = Nenhum núcleo inimigo detectado no setor, embora seja uma importante rota de transporte para o inimigo. Espere uma variedade de forças inimigas.\nProduza [accent]liga de surto[]. Construa torretas [accent]Afflict[]. +sector.caldera-erekir.description = Os recursos detectados neste setor estão espalhados por várias ilhas.\nPesquise e implante transporte baseado em drones. +sector.stronghold.description = O grande acampamento inimigo neste setor guarda depósitos significativos de [accent]tório[].\nUse-o para desenvolver unidades e torres de nível superior. +sector.crevice.description = O inimigo enviará forças de ataque ferozes para destruir sua base neste setor.\nDesenvolver [accent]carbide[] e o [accent]gerador de pirólise[] pode ser imperativo para a sobrevivência. +sector.siege.description = Este setor apresenta dois desfiladeiros paralelos que forçarão um ataque em duas frentes.\nPesquise [accent]cianogênio[] para obter a capacidade de criar unidades de tanques ainda mais fortes.\nCuidado: mísseis inimigos de longo alcance foram detectados. Os mísseis podem ser derrubados antes do impacto. +sector.crossroads.description = As bases inimigas neste setor foram estabelecidas em terrenos variados. Pesquise diferentes unidades para adaptar.\nAlém disso, algumas bases são protegidas por escudos. Descubra como eles são alimentados. +sector.karst.description = Este setor é rico em recursos, mas será atacado pelo inimigo assim que um novo núcleo chegar.\nAproveite os recursos e pesquise [accent]fase de tecido[]. +sector.origin.description = O setor final com uma presença inimiga significativa.\nNenhuma oportunidade de pesquisa provável permanece - concentre-se apenas em destruir todos os núcleos inimigos. + +status.burning.name = Queimando +status.freezing.name = Congelando +status.wet.name = Molhado +status.muddy.name = Barrento +status.melting.name = Derretendo +status.sapped.name = Enfraquecido +status.electrified.name = Eletrificado +status.spore-slowed.name = Esporo-Desaceleração +status.tarred.name = Alcatroado +status.overdrive.name = Sobrecarga +status.overclock.name = Overclock +status.shocked.name = Chocado +status.blasted.name = Impactado +status.unmoving.name = Imóvel +status.boss.name = Guardião settings.language = Idioma settings.data = Dados do jogo @@ -564,52 +948,62 @@ settings.graphics = Gráficos settings.cleardata = Apagar dados settings.clear.confirm = Certeza que quer limpar a os dados?\nOque é feito não pode ser desfeito! settings.clearall.confirm = [scarlet]Aviso![]\nIsso vai limpar todo os arquivos, incluindo jogos salvos, mapas, teclas personalizadas e desbloqueados.\nQuando apertar 'ok' todos os arquivos serão apagados e o jogo irá sair automaticamente. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.clearsaves.confirm = Você tem certeza que quer apagar todos os seus saves? +settings.clearsaves = Apagar Saves +settings.clearresearch = Apagar Pesquisas +settings.clearresearch.confirm = Você tem certeza que quer apagar todas as suas pesquisas da campanha? +settings.clearcampaignsaves = Apagar Saves da Campanha +settings.clearcampaignsaves.confirm = Você tem certeza que quer apagar todos os seus saves da campanha? paused = Pausado clear = Limpo banned = [scarlet]BANIDO -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Ambiente não suportado yes = Sim no = Não info.title = [accent]Informação error.title = [crimson]Ocorreu um Erro. error.crashtitle = Ocorreu um Erro -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} +unit.nobuild = [scarlet]Unidades não podem construir +lastaccessed = [lightgray]Último Acesso: {0} +lastcommanded = [lightgray]Último Comando: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Propósito stat.input = Entrada stat.output = Saída +stat.maxefficiency = Eficiência Máxima stat.booster = Apoio -stat.tiles = Required Tiles -stat.affinities = Affinities +stat.tiles = Blocos Necessários +stat.affinities = Afinidades +stat.opposites = Opostos stat.powercapacity = Capacidade de Energia stat.powershot = Energia/tiro stat.damage = Dano stat.targetsair = Mira no ar stat.targetsground = Mira no chão stat.itemsmoved = Velocidade de movimento -stat.launchtime = Tempo entre Disparos. +stat.launchtime = Tempo entre Disparos stat.shootrange = Alcance stat.size = Tamanho -stat.displaysize = Display Size +stat.displaysize = Tamanho do Display stat.liquidcapacity = Capacidade de Líquido stat.powerrange = Alcance da Energia -stat.linkrange = Link Range -stat.instructions = Instructions +stat.linkrange = Alcance do Link +stat.instructions = Instruções stat.powerconnections = Conexões Máximas stat.poweruse = Uso de energia -stat.powerdamage = Dano/Poder +stat.powerdamage = Dano / Poder stat.itemcapacity = Capacidade de Itens -stat.memorycapacity = Memory Capacity +stat.memorycapacity = Capacidade de Memória stat.basepowergeneration = Geração de poder base stat.productiontime = Tempo de produção stat.repairtime = Tempo de reparo total do bloco +stat.repairspeed = Taxa de Reparo +stat.weapons = Armas +stat.bullet = Projétil +stat.moduletier = Tier do Módulo +stat.unittype = Unit Type stat.speedincrease = Aumento de velocidade stat.range = Distância stat.drilltier = Brocas @@ -617,129 +1011,212 @@ stat.drillspeed = Velocidade base da Broca stat.boosteffect = Efeito do Impulso stat.maxunits = Máximo de unidades ativas stat.health = Saúde +stat.armor = Armadura stat.buildtime = Tempo de construção -stat.maxconsecutive = Max Consecutive +stat.maxconsecutive = Máximo Consecutivo stat.buildcost = Custo de construção stat.inaccuracy = Imprecisão stat.shots = Tiros stat.reload = Tempo de recarga stat.ammo = Munição -stat.shieldhealth = Shield Health + +stat.shieldhealth = Vida do Escudo stat.cooldowntime = Tempo de espera -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.explosiveness = Explosividade +stat.basedeflectchance = Chance Base de Esquiva +stat.lightningchance = Chance de Raio +stat.lightningdamage = Dano por Raio +stat.flammability = Inflamabilidade +stat.radioactivity = Radioatividade +stat.charge = Carga de Eletricidade +stat.heatcapacity = Capacidade de Aquecimento +stat.viscosity = Viscosidade +stat.temperature = Temperatura +stat.speed = Velocidade +stat.buildspeed = Velocidade de Construção +stat.minespeed = Velocidade de Mineração +stat.minetier = Nível de Mineração +stat.payloadcapacity = Capacidade de Carga +stat.abilities = Habilidades +stat.canboost = Pode impulsionar +stat.flying = Voador +stat.ammouse = Consumo de Munição +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Multiplicador de Dano +stat.healthmultiplier = Multiplicador de Vida +stat.speedmultiplier = Multiplicador de Velocidade +stat.reloadmultiplier = Multiplicador de Recarregamento +stat.buildspeedmultiplier = Multiplicador de Velocidade de Construção +stat.reactive = Reage +stat.immunities = Imunidades +stat.healing = Reparo +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Campo de Força +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Campo de Reparação +ability.repairfield.description = Repairs nearby units +ability.statusfield = Campo de Status +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fábrica +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Raio de Regeneração do Escudo +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Raio de Movimento +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Arco do Escudo +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Campo de Energia +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time +bar.onlycoredeposit = Somente depósito no núcleo permitido bar.drilltierreq = Broca melhor necessária. -bar.noresources = Missing Resources -bar.corereq = Core Base Required +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Recursos Insuficientes +bar.corereq = Base do Núcleo Necessária +bar.corefloor = Zona do Núcleo Necessária +bar.cargounitcap = Limite da carga de unidade atingido bar.drillspeed = Velocidade da Broca: {0}/s bar.pumpspeed = Velocidade da Bomba: {0}/s bar.efficiency = Eficiência: {0}% +bar.boost = Impulso: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Energia: {0} bar.powerstored = Armazenada: {0}/{1} bar.poweramount = Energia: {0} bar.poweroutput = Saída de energia: {0} -bar.powerlines = Connections: {0}/{1} +bar.powerlines = Conexões: {0}/{1} bar.items = Itens: {0} bar.capacity = Capacidade: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] -bar.liquid = Liquido -bar.heat = Aquecer -bar.power = Poder +bar.liquid = Líquido +bar.heat = Calor +bar.cooldown = Cooldown +bar.instability = Instabilidade +bar.heatamount = Calor: {0} +bar.heatpercent = Calor: {0} ({1}%) +bar.power = Energia bar.progress = Progresso da construção +bar.loadprogress = Progresso +bar.launchcooldown = Cooldown de Lançamento bar.input = Entrada -bar.output = Sainda +bar.output = Saída +bar.strength = [stat]{0}[lightgray]x força -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]Controlado por Processador bullet.damage = [stat]{0}[lightgray] de dano bullet.splashdamage = [stat]{0}[lightgray] de dano em área ~[stat] {1}[lightgray] bloco(s) bullet.incendiary = [stat]Incendiário bullet.homing = [stat]Guiado -bullet.shock = [stat]Choque -bullet.frag = [stat]Fragmentação -bullet.knockback = [stat]{0}[lightgray]Impulso -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]Congelamento -bullet.tarred = [stat]Grudento +bullet.armorpierce = [stat]pentração de armadura +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x balas de fragmentação: +bullet.lightning = [stat]{0}[lightgray]x raio ~ [stat]{1}[lightgray] dano +bullet.buildingdamage = [stat]{0}%[lightgray] dano em construção +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] Impulso +bullet.pierce = [stat]{0}[lightgray]x perfuração +bullet.infinitepierce = [stat]perfuração +bullet.healpercent = [stat]{0}[lightgray]% reparo +bullet.healamount = [stat]{0}[lightgray] reparo direto bullet.multiplier = [stat]{0}[lightgray]x multiplicador de munição bullet.reload = [stat]{0}[lightgray]x cadência de tiro +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = Blocos -unit.blockssquared = blocks² -unit.powersecond = unidades de energia por segundo -unit.liquidsecond = líquido segundo -unit.itemssecond = itens por segundo -unit.liquidunits = unidades de liquido +unit.blockssquared = Blocos² +unit.powersecond = unidades de energia/seg +unit.tilessecond = blocos/seg +unit.liquidsecond = líquido/seg +unit.itemssecond = itens/seg +unit.liquidunits = unidades de líquido unit.powerunits = unidades de energia +unit.heatunits = unidades de calor unit.degrees = Graus unit.seconds = segundos unit.minutes = mins -unit.persecond = por segundo +unit.persecond = /segundo unit.perminute = /min unit.timesspeed = x Velocidade +unit.multiplier = x unit.percent = % -unit.shieldhealth = shield health +unit.shieldhealth = Saúde do escudo unit.items = itens unit.thousands = k unit.millions = m unit.billions = b +unit.shots = shots +unit.pershot = /disparo +category.purpose = Propósito category.general = Geral category.power = Energia category.liquids = Líquidos category.items = Itens category.crafting = Entrada/Saída -category.function = Function +category.function = Função category.optional = Melhoras opcionais +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Pular animação de lançamento/pouso do Núcleo setting.landscape.name = Travar panorama setting.shadows.name = Sombras setting.blockreplace.name = Sugestões automáticas de blocos setting.linear.name = Filtragem linear setting.hints.name = Dicas -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) -setting.buildautopause.name = Pausar construções automaticamente +setting.logichints.name = Dicas de Lógica +setting.backgroundpause.name = Pausar em segundo plano +setting.buildautopause.name = Pausar Automaticamente Quando for Construir +setting.doubletapmine.name = Clique Duplo Para Minerar +setting.commandmodehold.name = Segure para o modo de comando +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Desativar Mods em Crash de Começo setting.animatedwater.name = Ãgua animada setting.animatedshields.name = Escudos animados -setting.antialias.name = Filtro suavizante[lightgray] (reinicialização requerida)[] -setting.playerindicators.name = Player Indicators +setting.playerindicators.name = Indicador de Jogadores setting.indicators.name = Indicador de aliados/inimigos -setting.autotarget.name = Alvo automatico +setting.autotarget.name = Alvo automático setting.keyboard.name = Controles de mouse e teclado setting.touchscreen.name = Controles de Touchscreen setting.fpscap.name = FPS Máximo setting.fpscap.none = Nenhum setting.fpscap.text = {0} FPS setting.uiscale.name = Escala da\ninterface[lightgray] (reinicialização requerida)[] +setting.uiscale.description = Reinicialização necessária para aplicar as alterações. setting.swapdiagonal.name = Sempre colocação diagonal -setting.difficulty.training = Treinamento -setting.difficulty.easy = Fácil -setting.difficulty.normal = Normal -setting.difficulty.hard = Difícil -setting.difficulty.insane = Insano -setting.difficulty.name = Dificuldade -setting.screenshake.name = Balanço da Tela +setting.screenshake.name = Vibração da Tela +setting.bloomintensity.name = Itensidade do Bloom +setting.bloomblur.name = Desfoque do Bloom setting.effects.name = Efeitos setting.destroyedblocks.name = Mostrar Blocos Destruídos setting.blockstatus.name = Mostrar a Propriedade dos Blocos @@ -747,46 +1224,54 @@ setting.conveyorpathfinding.name = Esteiras Encontram Caminho setting.sensitivity.name = Sensibilidade do Controle setting.saveinterval.name = Intervalo de Auto Salvamento setting.seconds = {0} segundos -setting.blockselecttimeout.name = Tempo limite de seleção de blocos setting.milliseconds = {0} milissegundos setting.fullscreen.name = Tela Cheia setting.borderlesswindow.name = Janela sem borda[lightgray] (Pode precisar reiniciar) +setting.borderlesswindow.name.windows = Tela cheia sem borda +setting.borderlesswindow.description = Pode ser necessário reiniciar para aplicar as alterações. setting.fps.name = Mostrar FPS e Ping -setting.smoothcamera.name = Suavizar movimentos da câmera +setting.console.name = Ativar console +setting.smoothcamera.name = Suavizar movimentos da câmera setting.vsync.name = VSync setting.pixelate.name = Pixelizado [lightgray](Pode diminuir a performace) setting.minimap.name = Mostrar minimapa -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Mostrar Itens no Núcleo (WIP) setting.position.name = Mostrar a posição do Jogador +setting.mouseposition.name = Mostrar posição do mouse setting.musicvol.name = Volume da Música setting.atmosphere.name = Mostrar a atmosfera do planeta +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Volume do Ambiente setting.mutemusic.name = Desligar Música setting.sfxvol.name = Volume de Efeitos setting.mutesound.name = Desligar Som setting.crashreport.name = Enviar denúncias anônimas de erros +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Criar salvamentos automaticamente -setting.publichost.name = Visibilidade do jogo público -setting.playerlimit.name = Player Limit +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Limites de Player setting.chatopacity.name = Opacidade do chat setting.lasersopacity.name = Opacidade do laser +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Opacidade da ponte setting.playerchat.name = Mostrar chat em jogo -public.confirm = Você quer fazer sua partida pública?\n[accent]Qualquer um será capaz de entrar na sua partida.\n[lightgray]Isso pode ser mudado depois em Configurações->Jogo->Visibilidade da partida pública. -public.beta = Note que as versões beta do jogo não podem fazer salas publicas. +setting.showweather.name = Mostrar Gráficos do Clima +setting.hidedisplays.name = Ocultar Displays de Lógicos +setting.macnotch.name = Adaptar a interface para exibir o entalhe +setting.macnotch.description = Reinicialização necessária para aplicar as alterações +steam.friendsonly = Amigos apenas +steam.friendsonly.tooltip = Se apenas amigos do Steam poderão entrar no seu jogo.\nDesmarcar esta caixa tornará seu jogo público - qualquer pessoa pode entrar. +public.beta = Note que as versões beta do jogo não podem fazer salas públicas. uiscale.reset = A escala da interface foi mudada.\nPressione "OK" para confirmar esta escala.\n[scarlet]Revertendo e saindo em[accent] {0}[] segundos... uiscale.cancel = Cancelar e sair setting.bloom.name = Bloom keybind.title = Refazer teclas -keybinds.mobile = [scarlet]A maior parte das teclas aqui não são funcionais em dispositivos móveis. Apenas movimento básico é suportado. +keybinds.mobile = [scarlet]A maior parte das teclas aqui não são funcionais em dispositivos móveis. É unicamente suportado movimento básico. category.general.name = Geral category.view.name = Ver +category.command.name = Unit Command category.multiplayer.name = Multijogador category.blocks.name = Selecionar bloco -command.attack = Atacar -command.rally = Reunir -command.retreat = Recuar -command.idle = Ausente placement.blockselectkeys = \n[lightgray]Tecla: [{0}, keybind.respawn.name = Reaparecer keybind.control.name = Controlar unidade @@ -795,12 +1280,33 @@ keybind.press = Pressione uma tecla... keybind.press.axis = Pressione um eixo ou tecla... keybind.screenshot.name = Captura do mapa keybind.toggle_power_lines.name = Mudar lasers -keybind.toggle_block_status.name = Mostrar a propriedade dos blocos +keybind.toggle_block_status.name = Mostrar as propriedades dos blocos keybind.move_x.name = Mover no eixo x keybind.move_y.name = Mover no eixo Y keybind.mouse_move.name = Seguir o Cursor keybind.pan.name = Câmera livre keybind.boost.name = Impulsionar +keybind.command_mode.name = Modo de Comando +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Selecionar região keybind.schematic_menu.name = Menu de Esquemas keybind.schematic_flip_x.name = Girar o Esquema no eixo X @@ -822,20 +1328,24 @@ keybind.block_select_08.name = Categoria/Selecionar bloco 8 keybind.block_select_09.name = Categoria/Selecionar bloco 9 keybind.block_select_10.name = Categoria/Selecionar bloco 10 keybind.fullscreen.name = Alterar tela cheia -keybind.select.name = selecionar +keybind.select.name = Selecionar keybind.diagonal_placement.name = Posicionamento Diagonal keybind.pick.name = Pegar bloco keybind.break_block.name = Quebrar bloco -keybind.deselect.name = Desselecionar +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories +keybind.deselect.name = Desmarcar keybind.pickupCargo.name = Pegar Carga keybind.dropCargo.name = Soltar Carga -keybind.command.name = Comandar keybind.shoot.name = Atirar keybind.zoom.name = Ampliar keybind.menu.name = Menu keybind.pause.name = Pausar keybind.pause_building.name = Parar/Resumir a construção keybind.minimap.name = Minimapa +keybind.planet_map.name = Mapa do Planeta +keybind.research.name = Pesquisa +keybind.block_info.name = Informação do Bloco keybind.chat.name = Conversa keybind.player_list.name = Lista de jogadores keybind.console.name = Console @@ -845,60 +1355,114 @@ keybind.toggle_menus.name = Ativar menus keybind.chat_history_prev.name = Historico do chat anterior keybind.chat_history_next.name = Historico do próximo chat keybind.chat_scroll.name = Rolar chat +keybind.chat_mode.name = Mudar modo do chat keybind.drop_unit.name = Soltar unidade keybind.zoom_minimap.name = Ampliar minimapa mode.help.title = Descrição dos modos mode.survival.name = Sobrevivência mode.survival.description = O modo normal. Recursos limitados e hordas automáticas. -mode.sandbox.name = Criativo -mode.sandbox.description = Recursos infinitos e sem tempo para ataques. +mode.sandbox.name = Sandbox +mode.sandbox.description = Recursos infinitos não há tempo entre ondas. mode.editor.name = Editor mode.pvp.name = JxJ -mode.pvp.description = Lutar contra outros jogadores locais. +mode.pvp.description = Lute contra outros jogadores locais. mode.attack.name = Ataque mode.attack.description = Sem hordas, com o objetivo de destruir a base inimiga. mode.custom = Regras personalizadas +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Recursos infinitos +rules.onlydepositcore = Permitir apenas depósito no núcleo +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reatores explodem -rules.schematic = Schematics Allowed +rules.coreincinerates = Núcleo incinera itens em excesso +rules.disableworldprocessors = Desativar processadores mundiais +rules.schematic = Permitir Esquemas rules.wavetimer = Tempo de horda +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Hordas +rules.airUseSpawns = Air units use spawn points rules.attack = Modo de ataque -rules.buildai = Habilitar construção da IA +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Tamanho mínimo do esquadrão +rules.rtsmaxsquadsize = Tamanho máximo do esquadrão +rules.rtsminattackweight = Peso Mínimo de Ataque +rules.cleanupdeadteams = Limpar construções de equipes derrotadas (PvP) +rules.corecapture = Capturar Núcleo na Destruição +rules.polygoncoreprotection = Proteção de núcleo poligonal +rules.placerangecheck = Placement Range Check rules.enemyCheat = Recursos de IA Infinitos rules.blockhealthmultiplier = Multiplicador de vida do bloco -rules.blockdamagemultiplier = Block Damage Multiplier +rules.blockdamagemultiplier = Multiplicador de dano do bloco rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de unidade +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Multiplicador de vida de unidade rules.unitdamagemultiplier = Multiplicador de dano de Unidade -rules.enemycorebuildradius = Raio de "Não-criação" de core inimigo:[lightgray] (blocos) +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Multiplicador de Energia Solar +rules.unitcapvariable = Núcleos contribuem para a capacidade da unidade +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Capacidade base da Unidade +rules.limitarea = Limitar área do mapa +rules.enemycorebuildradius = Raio de "não-criação" de núcleo inimigo:[lightgray] (blocos) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Espaço de tempo entre hordas:[lightgray] (seg) +rules.initialwavespacing = Espaçamento de onda inicial:[lightgray] (seg) rules.buildcostmultiplier = Multiplicador de custo de construção rules.buildspeedmultiplier = Multiplicador de velocidade de construção -rules.deconstructrefundmultiplier = Multiplicador de reembolso de desconstrução +rules.deconstructrefundmultiplier = Multiplicador de reembolso de desconstrução rules.waitForWaveToEnd = Hordas esperam inimigos +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Raio da zona de spawn:[lightgray] (blocos) rules.unitammo = Unidades requerem munição +rules.enemyteam = Time Inimigo +rules.playerteam = Time do Jogador rules.title.waves = Hordas rules.title.resourcesbuilding = Recursos e Construções rules.title.enemy = Inimigos rules.title.unit = Unidades rules.title.experimental = Experimental rules.title.environment = Ambiente +rules.title.teams = Times +rules.title.planet = Planeta rules.lighting = Iluminação -rules.enemyLights = Enemy Lights +rules.fog = Névoa de Guerra +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fogo +rules.anyenv = rules.explosions = Dano de explosão de unidades/blocos rules.ambientlight = Luz ambiente rules.weather = Clima rules.weather.frequency = Frequência: +rules.weather.always = Sempre rules.weather.duration = Duração: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Itens content.liquid.name = Líquidos content.unit.name = Unidades content.block.name = Blocos +content.status.name = Efeitos de Status +content.sector.name = Setores +content.team.name = Facções +wallore = (Muro) item.copper.name = Cobre item.lead.name = Chumbo @@ -906,28 +1470,41 @@ item.coal.name = Carvão item.graphite.name = Grafite item.titanium.name = Titânio item.thorium.name = Tório -item.silicon.name = Sílicio +item.silicon.name = Silício item.plastanium.name = Plastânio -item.phase-fabric.name = Tecido de fase -item.surge-alloy.name = Liga de surto -item.spore-pod.name = Cápsula de esporos +item.phase-fabric.name = Tecido de Fase +item.surge-alloy.name = Liga de Surto +item.spore-pod.name = Casulo de Esporos item.sand.name = Areia -item.blast-compound.name = Composto de explosão +item.blast-compound.name = Composto Explosivo item.pyratite.name = Piratita item.metaglass.name = Metavidro item.scrap.name = Sucata +item.fissile-matter.name = Matéria Físsil +item.beryllium.name = Berílio +item.tungsten.name = Tungstênio +item.oxide.name = Óxido +item.carbide.name = Carboneto +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Ãgua liquid.slag.name = Escória liquid.oil.name = Petróleo -liquid.cryofluid.name = Fluído Criogênico +liquid.cryofluid.name = Criofluido +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gálio +liquid.ozone.name = Ozônio +liquid.hydrogen.name = Hidrogênio +liquid.nitrogen.name = Nitrogênio +liquid.cyanogen.name = Cianogênio -unit.dagger.name = Adaga +unit.dagger.name = Dagger unit.mace.name = Mace -unit.fortress.name = Fortaleza +unit.fortress.name = Fortress unit.nova.name = Nova unit.pulsar.name = Pulsar unit.quasar.name = Quasar -unit.crawler.name = Rastejante +unit.crawler.name = Rastejador unit.atrax.name = Atrax unit.spiroct.name = Spiroct unit.arkyid.name = Arkyid @@ -947,6 +1524,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,60 +1536,86 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Ponto de Reabastecimento +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Drone de Montagem +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Paralaxe block.cliff.name = Relevo -block.sand-boulder.name = Pedregulho de areia +block.sand-boulder.name = Pedregulho de Areia +block.basalt-boulder.name = Pedregulho de Basalto block.grass.name = Grama -block.slag.name = Escória -block.space.name = Space +block.molten-slag.name = Escória +block.pooled-cryofluid.name = Criofluido +block.space.name = Spaço block.salt.name = Sal block.salt-wall.name = Parede de Sal block.pebbles.name = Pedrinhas block.tendrils.name = Gavinhas -block.sand-wall.name = Sand Wall +block.sand-wall.name = Muro de Areia block.spore-pine.name = Pinheiro de esporo -block.spore-wall.name = Spore Wall +block.spore-wall.name = Muro de Esporos block.boulder.name = Rochedo -block.snow-boulder.name = Monte de neve -block.snow-pine.name = Pinheiro com neve +block.snow-boulder.name = Monte de Neve +block.snow-pine.name = Pinheiro com Neve block.shale.name = Folhelho block.shale-boulder.name = Pedra de Folhelho block.moss.name = Musgo block.shrubs.name = Arbusto block.spore-moss.name = Musgo de Esporos block.shale-wall.name = Parede de Folhelho -block.scrap-wall.name = Muro de sucata -block.scrap-wall-large.name = Muro grande de sucata -block.scrap-wall-huge.name = Muro enorme de sucata -block.scrap-wall-gigantic.name = Muro gigante de sucata +block.scrap-wall.name = Muro de Sucata +block.scrap-wall-large.name = Muro Grande de Sucata +block.scrap-wall-huge.name = Muro Enorme de Sucata +block.scrap-wall-gigantic.name = Muro Gigante de Sucata block.thruster.name = Propulsor block.kiln.name = Forno block.graphite-press.name = Prensa de grafite block.multi-press.name = Multi-Prensa block.constructing = {0}\n[lightgray](Construindo) -block.spawn.name = Ãrea inimiga -block.core-shard.name = Fragmento do núcleo -block.core-foundation.name = Fundação do núcleo -block.core-nucleus.name = Centro do núcleo -block.deepwater.name = Ãgua profunda -block.water.name = Ãgua -block.tainted-water.name = Ãgua contaminada -block.darksand-tainted-water.name = Ãgua contaminada sobre areia escura +block.spawn.name = Ãrea Inimiga +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Fragmento do Núcleo +block.core-foundation.name = Fundação do Núcleo +block.core-nucleus.name = Centro do Núcleo +block.deep-water.name = Ãgua Profunda +block.shallow-water.name = Ãgua +block.tainted-water.name = Ãgua Contaminada +block.deep-tainted-water.name = Ãgua Contaminada Poofunda +block.darksand-tainted-water.name = Ãgua Contaminda sobre Areia Escura block.tar.name = Piche block.stone.name = Pedra -block.sand.name = Areia +block.sand-floor.name = Areia block.darksand.name = Areia escura block.ice.name = Gelo block.snow.name = Neve -block.craters.name = Crateras -block.sand-water.name = Ãgua sobre areia -block.darksand-water.name = Ãgua sobre areia escura +block.crater-stone.name = Crateras +block.sand-water.name = Ãgua sobre Areia +block.darksand-water.name = Ãgua sobre Areia Escura block.char.name = Cinzas block.dacite.name = Dacito +block.rhyolite.name = Riólito block.dacite-wall.name = Parede de Dacito -block.dacite-boulder.name = Dacite Boulder +block.dacite-boulder.name = Pedregulho de Dacito block.ice-snow.name = Gelo com Neve block.stone-wall.name = Parede de Pedra block.ice-wall.name = Parede de Gelo @@ -1017,24 +1625,25 @@ block.pine.name = Pinheiro block.dirt.name = Terra block.dirt-wall.name = Parede de Terra block.mud.name = Lama -block.white-tree-dead.name = Ãrvore branca morta -block.white-tree.name = Ãrvore branca -block.spore-cluster.name = Aglomerado de esporos -block.metal-floor.name = Chão de metal -block.metal-floor-2.name = Chão de metal 2 -block.metal-floor-3.name = Chão de metal 3 -block.metal-floor-5.name = Chão de metal 5 -block.metal-floor-damaged.name = Chão de metal danificado -block.dark-panel-1.name = Painel escuro 1 -block.dark-panel-2.name = Painel escuro 2 -block.dark-panel-3.name = Painel escuro 3 -block.dark-panel-4.name = Painel escuro 4 -block.dark-panel-5.name = Painel escuro 5 -block.dark-panel-6.name = Painel escuro 6 -block.dark-metal.name = Metal escuro +block.white-tree-dead.name = Ãrvore Branca Morta +block.white-tree.name = Ãrvore Branca +block.spore-cluster.name = Aglomerado de Esporos +block.metal-floor.name = Chão de Metal +block.metal-floor-2.name = Chão de Metal 2 +block.metal-floor-3.name = Chão de Metal 3 +block.metal-floor-4.name = Chão de MEtal 4 +block.metal-floor-5.name = Chão de Metal 5 +block.metal-floor-damaged.name = Chão de Metal Danificado +block.dark-panel-1.name = Painel Escuro 1 +block.dark-panel-2.name = Painel Escuro 2 +block.dark-panel-3.name = Painel Escuro 3 +block.dark-panel-4.name = Painel Escuro 4 +block.dark-panel-5.name = Painel Escuro 5 +block.dark-panel-6.name = Painel Escuro 6 +block.dark-metal.name = Metal Escuro block.basalt.name = Basalto -block.hotrock.name = Rocha quente -block.magmarock.name = Rocha de magma +block.hotrock.name = Rocha Quente +block.magmarock.name = Rocha de Magma block.copper-wall.name = Muro de Cobre block.copper-wall-large.name = Muralha de Cobre block.titanium-wall.name = Muro de Titânio @@ -1046,45 +1655,46 @@ block.phase-wall-large.name = Muralha de Fase block.thorium-wall.name = Muro de Tório block.thorium-wall-large.name = Muralha de Tório block.door.name = Porta -block.door-large.name = Porta grande -block.duo.name = Torreta dupla -block.scorch.name = Lança-chamas -block.scatter.name = Dispersão -block.hail.name = Artilharia -block.lancer.name = Lanceiro +block.door-large.name = Porta Grande +block.duo.name = Duo +block.scorch.name = Scorch +block.scatter.name = Scatter +block.hail.name = Hail +block.lancer.name = Lancer block.conveyor.name = Esteira -block.titanium-conveyor.name = Esteira de titânio -block.plastanium-conveyor.name = Esteira de plastânio -block.armored-conveyor.name = Esteira blindada -block.armored-conveyor.description = Move os itens com a mesma velocidade das esteiras de titânio, mas tem mais armadura. Não aceita itens dos lados de nada além de outras esteiras. +block.titanium-conveyor.name = Esteira de Titânio +block.plastanium-conveyor.name = Esteira de Plastânio +block.armored-conveyor.name = Esteira Blindada block.junction.name = Junção block.router.name = Roteador block.distributor.name = Distribuidor block.sorter.name = Ordenador block.inverted-sorter.name = Ordenador invertido block.message.name = Mensagem +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Iluminador -block.illuminator.description = Uma pequena, compacta e configurável fonte de luz. Precisa de energia para funcionar. -block.overflow-gate.name = Portão de Fluxo -block.underflow-gate.name = Portão de Fluxo invertido -block.silicon-smelter.name = Fundidora de silicio -block.phase-weaver.name = Palheta de fase +block.overflow-gate.name = Portão de Sobrecarga +block.underflow-gate.name = Portão de Sobrecarga Invertido +block.silicon-smelter.name = Fundidora de Silício +block.phase-weaver.name = Palheta de Fase block.pulverizer.name = Pulverizador -block.cryofluid-mixer.name = Misturador de Crio Fluido -block.melter.name = Aparelho de fusão +block.cryofluid-mixer.name = Misturador de Criofluido +block.melter.name = Aparelho de Fusão block.incinerator.name = Incinerador -block.spore-press.name = Prensa de Esporo +block.spore-press.name = Prensa de Esporos block.separator.name = Separador -block.coal-centrifuge.name = Centrífuga de Carvão -block.power-node.name = Célula de energia -block.power-node-large.name = Célula de energia grande -block.surge-tower.name = Torre de surto +block.coal-centrifuge.name = Centrífugador de Carvão +block.power-node.name = Célula de Energia +block.power-node-large.name = Célula de Energia Grande +block.surge-tower.name = Torre de Surto block.diode.name = Diodo block.battery.name = Bateria -block.battery-large.name = Bateria grande -block.combustion-generator.name = Gerador à combustão -block.steam-generator.name = Gerador à vapor -block.differential-generator.name = Gerador diferencial +block.battery-large.name = Bateria Grande +block.combustion-generator.name = Gerador a Combustão +block.steam-generator.name = Gerador a Vapor +block.differential-generator.name = Gerador Diferencial block.impact-reactor.name = Reator De impacto block.mechanical-drill.name = Broca Mecânica block.pneumatic-drill.name = Broca Pneumática @@ -1093,243 +1703,972 @@ block.water-extractor.name = Extrator de água block.cultivator.name = Cultivador block.conduit.name = Cano block.mechanical-pump.name = Bomba Mecânica -block.item-source.name = Criador de itens -block.item-void.name = Destruidor de itens -block.liquid-source.name = Criador de líquidos -block.liquid-void.name = Destruidor de líquidos -block.power-void.name = Anulador de energia -block.power-source.name = Fonte de energia +block.item-source.name = Criador de Itens +block.item-void.name = Destruidor de Itens +block.liquid-source.name = Criador de Líquidos +block.liquid-void.name = Destruidor de Líquidos +block.power-void.name = Anulador de Energia +block.power-source.name = Fonte de Energia block.unloader.name = Descarregador block.vault.name = Cofre -block.wave.name = Onda +block.wave.name = Wave block.tsunami.name = Tsunami -block.swarmer.name = Enxame +block.swarmer.name = Swarmer block.salvo.name = Salvo -block.ripple.name = Morteiro -block.phase-conveyor.name = Transportador de Fase +block.ripple.name = Ripple +block.phase-conveyor.name = Esteira de Fase block.bridge-conveyor.name = Esteira-Ponte block.plastanium-compressor.name = Compressor de Plastânio block.pyratite-mixer.name = Misturador de Piratita block.blast-mixer.name = Misturador de Explosão block.solar-panel.name = Painel Solar block.solar-panel-large.name = Painel Solar Grande -block.oil-extractor.name = Bomba de Petróleo +block.oil-extractor.name = Extrator de Petróleo block.repair-point.name = Ponto de Reparo +block.repair-turret.name = Torre de Reparo block.pulse-conduit.name = Cano de Pulso block.plated-conduit.name = Cano Blindado block.phase-conduit.name = Cano de Fase block.liquid-router.name = Roteador de Líquido block.liquid-tank.name = Tanque de Líquido +block.liquid-container.name = Contêiner de Líquido block.liquid-junction.name = Junção de Líquido block.bridge-conduit.name = Cano Ponte -block.rotary-pump.name = Bomba rotatória -block.thorium-reactor.name = Reator nuclear -block.mass-driver.name = Catapulta eletromagnética -block.blast-drill.name = Broca de impacto -block.thermal-pump.name = Bomba térmica -block.thermal-generator.name = Gerador térmico -block.alloy-smelter.name = Fundidora de liga +block.rotary-pump.name = Bomba Rotatória +block.thorium-reactor.name = Reator de Tório +block.mass-driver.name = Catapulta Eletromagnética +block.blast-drill.name = Broca de Impacto +block.impulse-pump.name = Bomba Térmica +block.thermal-generator.name = Gerador Térmico +block.surge-smelter.name = Fundidora de Liga de Surto block.mender.name = Reparador -block.mend-projector.name = Projetor de reparo -block.surge-wall.name = Muro de liga de surto -block.surge-wall-large.name = Muralha de liga de surto -block.cyclone.name = Ciclone -block.fuse.name = Fusivel -block.shock-mine.name = Mina de choque -block.overdrive-projector.name = Projetor de sobrecarga -block.force-projector.name = Projetor de campo de força -block.arc.name = Tesla +block.mend-projector.name = Projetor de Reparo +block.surge-wall.name = Muro de Liga de Surto +block.surge-wall-large.name = Muralha de Liga de Surto +block.cyclone.name = Cyclone +block.fuse.name = Fuse +block.shock-mine.name = Mina de Choque +block.overdrive-projector.name = Projetor de Sobrecarga +block.force-projector.name = Projetor de Campo de Força +block.arc.name = Arc block.rtg-generator.name = Gerador GTR -block.spectre.name = Espectro -block.meltdown.name = Fusão +block.spectre.name = Spectre +block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow -block.container.name = Contâiner -block.launch-pad.name = Plataforma de lançamento -block.launch-pad-large.name = Plataforma de lançamento grande -block.segment.name = Segmento -block.command-center.name = Centro de Comando -block.ground-factory.name = Fábrica de unidades terrestres -block.air-factory.name = Fábrica de unidades aéreas -block.naval-factory.name = Fábrica de unidades navais +block.container.name = Contêiner +block.launch-pad.name = Plataforma de Lançamento +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Segment +block.ground-factory.name = Fábrica de Unidades Terrestres +block.air-factory.name = Fábrica de Unidades Aéreas +block.naval-factory.name = Fábrica de Unidades Navais block.additive-reconstructor.name = Reconstrutor Aditivo block.multiplicative-reconstructor.name = Reconstrutor Multiplicativo block.exponential-reconstructor.name = Reconstrutor Exponencial block.tetrative-reconstructor.name = Reconstrutor Tetrativo block.payload-conveyor.name = Esteira de Carga block.payload-router.name = Roteador de Carga +block.duct.name = Duto +block.duct-router.name = Duto Roteador +block.duct-bridge.name = Duto-Ponte +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Destruidor de Cargas +block.payload-source.name = Criador de Cargas block.disassembler.name = Desmontador -block.silicon-crucible.name = Fornalha De Silício +block.silicon-crucible.name = Crisol De Silício block.overdrive-dome.name = Domo de Sobrecarga +block.interplanetary-accelerator.name = Acelerador Interplanetário +block.constructor.name = Construtor +block.constructor.description = Fabrica estruturas de até 2x2 de tamanho. +block.large-constructor.name = Construtor Grande +block.large-constructor.description = Fabrica estruturas de até 4x4 de tamanho. +block.deconstructor.name = Desconstrutor +block.deconstructor.description = Desconstrói estruturas e unidades. Retorna 100% do custo de construção. +block.payload-loader.name = Carregador de Carga +block.payload-loader.description = Carregue líquidos e itens em blocos. +block.payload-unloader.name = Descarregador de Carga +block.payload-unloader.description = Descarrega líquidos e itens de blocos. +block.heat-source.name = Fonte de Calor +block.heat-source.description = Um bloco 1x1 que fornece calor infinito. +block.empty.name = Vazio +block.rhyolite-crater.name = Cratera de Riólito +block.rough-rhyolite.name = Riolito Ãspero +block.regolith.name = Regolito +block.yellow-stone.name = Pedra Amarela +block.carbon-stone.name = Pedra de Carbono +block.ferric-stone.name = Pedra Férrica +block.ferric-craters.name = Crateras Férricas +block.beryllic-stone.name = Pedra Berílica +block.crystalline-stone.name = Pedra Cristalina +block.crystal-floor.name = Chão de Cristal +block.yellow-stone-plates.name = Placas de Pedra Amarela +block.red-stone.name = Pedra Vermelha +block.dense-red-stone.name = Pedra Vermelha Densa +block.red-ice.name = Gelo Vermelho +block.arkycite-floor.name = Chão de Arkycite +block.arkyic-stone.name = Pedra Arkyic +block.rhyolite-vent.name = Ventilação de Riólito +block.carbon-vent.name = Ventilação de Carbono +block.arkyic-vent.name = Ventilação Arkyic +block.yellow-stone-vent.name = Ventilação de Pedra Amarela +block.red-stone-vent.name = Ventilação de Pedra Vermelha +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Zona do Núcleo +block.regolith-wall.name = Muro de Regolito +block.yellow-stone-wall.name = Muro de Pedra Amarela +block.rhyolite-wall.name = Muro de Riólito +block.carbon-wall.name = Muro de Carbono +block.ferric-stone-wall.name = Muro de Pedra Férrica +block.beryllic-stone-wall.name = Muro de Pedra Berílica +block.arkyic-wall.name = Muro Arkyic +block.crystalline-stone-wall.name = Muro de Parede Cristalina +block.red-ice-wall.name = Muro de Gelo Vermelho +block.red-stone-wall.name = Muro de Pedra Vermelha +block.red-diamond-wall.name = Muro de Diamante Vermelho +block.redweed.name = Erva Vermelha +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Coral Amarelo +block.carbon-boulder.name = Pedregulho de Carbono +block.ferric-boulder.name = Pedregulho Férrico +block.beryllic-boulder.name = Pedregulho Berílico +block.yellow-stone-boulder.name = Pedregulho de Pedra Amarela +block.arkyic-boulder.name = Pedregulho Arkyic +block.crystal-cluster.name = Aglomerado de Cristal +block.vibrant-crystal-cluster.name = Aglomerado de Cristal Vibrante +block.crystal-blocks.name = Blocos de Cristal +block.crystal-orbs.name = Orbes de Cristal +block.crystalline-boulder.name = Pedregulho Cristalino +block.red-ice-boulder.name = Pedregulho de Gelo Vermelho +block.rhyolite-boulder.name = Pedregulho de Riólito +block.red-stone-boulder.name = Pedregulho de Pedra Vermelha +block.graphitic-wall.name = Parede Grafítica +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Eletrolisador +block.atmospheric-concentrator.name = Concentrador Atmosférico +block.oxidation-chamber.name = Câmara de Oxidação +block.electric-heater.name = Aquecedor Elétrico +block.slag-heater.name = Aquecedor de Escória +block.phase-heater.name = Aquecedor de Fase +block.heat-redirector.name = Redirecionador de Calor +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Incinerador de Escória +block.carbide-crucible.name = Crisol de Carboneto +block.slag-centrifuge.name = Centrifugador de Escória +block.surge-crucible.name = Crisol de Surto +block.cyanogen-synthesizer.name = Sintetizador de Cianogênio +block.phase-synthesizer.name = Sintetizador de Fase +block.heat-reactor.name = Reator de Calor +block.beryllium-wall.name = Muro de Berílio +block.beryllium-wall-large.name = Muralha de Berílio +block.tungsten-wall.name = Muro de Tungstênio +block.tungsten-wall-large.name = Muralha de Tungstênio +block.blast-door.name = Porta de Segurança +block.carbide-wall.name = Muro de Carboneto +block.carbide-wall-large.name = Muralha de Carboneto +block.reinforced-surge-wall.name = Muro de Liga de Surto Reforçada +block.reinforced-surge-wall-large.name = Muralha de Liga de Surto Reforçada +block.shielded-wall.name = Muro Blindado +block.radar.name = Radar +block.build-tower.name = Torre de Construção +block.regen-projector.name = Projetor de Regeneração +block.shockwave-tower.name = Torre de Onda de Choque +block.shield-projector.name = Projetor de Escudo +block.large-shield-projector.name = Projetor de Escudo Grande +block.armored-duct.name = Duto Blindado +block.overflow-duct.name = Duto de Sobrecarga +block.underflow-duct.name = Duto de Sobrecarga Invertido +block.duct-unloader.name = Descarregador de Duto +block.surge-conveyor.name = Esteira de Liga de Surto +block.surge-router.name = Roteador de Liga de Surto +block.unit-cargo-loader.name = Unidade Carregadora de Carga +block.unit-cargo-unload-point.name = Ponto de Descarga da Unidade de Carga +block.reinforced-pump.name = Bomba Reforçada +block.reinforced-conduit.name = Cano Reforçado +block.reinforced-liquid-junction.name = Junção de Líquido Reforçada +block.reinforced-bridge-conduit.name = Cano Ponte Reforçado +block.reinforced-liquid-router.name = Roteador de Líquido Reforçado +block.reinforced-liquid-container.name = Contêiner de Líquido Reforçado +block.reinforced-liquid-tank.name = Tanque de Líquido Reforçado +block.beam-node.name = Célula de Feixe +block.beam-tower.name = Torre de Feixe +block.beam-link.name = Link do Feixe +block.turbine-condenser.name = Condensador de Turbina +block.chemical-combustion-chamber.name = Câmara de Combustão Química +block.pyrolysis-generator.name = Gerador de Pirólise +block.vent-condenser.name = Condensador de Ventilação +block.cliff-crusher.name = Esmagador de Penhasco +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Mineradora de Plasma +block.large-plasma-bore.name = Mineradora de Plasma Grande +block.impact-drill.name = Broca de Impacto +block.eruption-drill.name = Broca Eruptiva +block.core-bastion.name = Bastião do Núcleo +block.core-citadel.name = Cidadela do Núcleo +block.core-acropolis.name = Núcleo Acrópole +block.reinforced-container.name = Contêiner Reforçado +block.reinforced-vault.name = Cofre Rreforçado +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Refabricador de Tanque +block.mech-refabricator.name = Refabricador de Mech +block.ship-refabricator.name = Refrabricador de Nave +block.tank-assembler.name = Montador de Tanque +block.ship-assembler.name = Montador de Nave +block.mech-assembler.name = Montador de Mech +block.reinforced-payload-conveyor.name = Esteira de Carga Reforçada +block.reinforced-payload-router.name = Roteador de Carga Reforçado +block.payload-mass-driver.name = Catapulta de Carga Eletromagnética +block.small-deconstructor.name = Desconstrutor Pequeno +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Fabricador de Tanque +block.mech-fabricator.name = Fabricador de Mech +block.ship-fabricator.name = Fabricador de Nave +block.prime-refabricator.name = Refabricador Prime +block.unit-repair-tower.name = Torre de Reparo de Unidade +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Módulo Básico do Montador +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Reator de Fluxo +block.neoplasia-reactor.name = Reactor de Neoplasia block.switch.name = Alavanca block.micro-processor.name = Micro Processador block.logic-processor.name = Processador Lógico block.hyper-processor.name = Hiper Processador -block.logic-display.name = Monitor Lógico -block.large-logic-display.name = Monitor lógico grande -block.memory-cell.name = Célula de Memória -block.memory-bank.name = Memory Bank +block.logic-display.name = Monitor Lógico +block.large-logic-display.name = Monitor Lógico Grande +block.memory-cell.name = Célula de Memória +block.memory-bank.name = Banco de Memória -team.blue.name = Azul -team.crux.name = Vermelho -team.sharded.name = Fragmentado -team.orange.name = Alaranjado -team.derelict.name = Abandonado +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Derelict team.green.name = Verde -team.purple.name = Roxa +team.blue.name = Azul -tutorial.next = [lightgray] -tutorial.intro = Você entrou no Tutorial do[scarlet] Mindustry.[]\nUse[accent] [[WASD][] para se mover.\n[accent]Roda do mouse[] para aumentar e diminuir o zoom.\nComece[accent] minerando cobre[]. Toque em um veio de minério de cobre para fazer isso.\n\n[accent]{0}/{1} Cobre -tutorial.intro.mobile = Você entrou no Tutorial do[scarlet] Mindustry.[]\nPasse o dedo na tela para se mover.\n[accent]Use os dois dedos [] para alterar o zoom.\nComece[accent] minerando cobre[]. Se aproxime dele, e toque numa veia de cobre perto do seu núcleo.\n\n[accent]{0}/{1} Cobre -tutorial.drill = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nColoque uma num veio de cobre. -tutorial.drill.mobile = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nToque na aba de brocas no canto inferior direito.\nSelecione a[accent] broca mecânica[].\nToque em um veio de cobre para colocá-la, então pressione a[accent] marca de verificação[] abaixo para confirmar sua seleção.\nPressione o[accent] botão "X"[] para cancelar o posicionamento. -tutorial.blockinfo = Cada bloco tem diferentes status. Cada broca pode extrair certos minérios.\nPara checar as informações e os status de um bloco,[accent] toque o botão "?" enquanto o seleciona no menu de construção.[]\n\n[accent]Acesse os status da broca mecânica agora.[] -tutorial.conveyor = [accent]Esteiras[] São usadas para transportar itens até o núcleo.\nFaça uma linha de Esteiras da mineradora até o núcleo. -tutorial.conveyor.mobile = [accent]Esteiras[] são usadas para transportar itens até o núcleo.\nFaça uma linha de esteiras da broca até o núcleo.\n[accent] Coloque uma linha segurando por alguns segundos[] e arrastando em uma direção.\n\n[accent]{0}/{1} esteiras colocadas em linha\n[accent]0/1 itens entregues -tutorial.turret = Estruturas defensivas devem ser construidas para repelir[lightgray] 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 broca próxima à torre para carregá-la com o cobre minerado. -tutorial.pause = Durante uma batalha, você pode[accent] pausar o jogo.[]\nVocê pode enfileirar construções enquanto o jogo está pausado.\n\n[accent]Pressione a barra de espaço para pausar. -tutorial.pause.mobile = Durante uma batalha, você pode[accent] pausar o jogo.[]\nVocê pode enfileirar construções enquanto o jogo está pausado, contudo, os mesmos não serão construidos ate que os jogo seja despausado.\n\n[accent]Pressione este botão no canto superior direito para pausar. -tutorial.unpause = Agora pressione novamente a barra de espaço para despausar. -tutorial.unpause.mobile = Agora pressione novamente para despausar. -tutorial.breaking = Blocos precisam frequentemente ser destruídos.\n[accent]Segure e arraste o botão direito[] para destruir todos os blocos em uma seleção.[]\n\n[accent]Destrua todos esses blocos de sucata à esquerda do seu núcleo usando a seleção em área. -tutorial.breaking.mobile = Blocos precisam frequentemente ser destruídos.\n[accent]Selecione o modo de destruição (ícone de martelo)[], e toque em um bloco para começar a quebrar.\nDestrua uma área segurando seu dedo por alguns segundos[] e arrastando em uma direção.\nPressione o botão de "visto" para confirmar a destruição.\n\n[accent]Destrua todos esses blocos de sucata à esquerda do seu núcleo usando a seleção em área. -tutorial.withdraw = Em algumas situações é necessário pegar itens diretamente do bloco.\nPara fazer isto, [accent]toque em um bloco[] com itens e [accent]toque no item[] no inventário.\nMúltiplos itens podem ser removidos [accent]ao segurar[].\n\n[accent]Tire um pouco de cobre do núcleo.[] -tutorial.deposit = Deposite itens em blocos arrastando da sua nave até o bloco.\n\n[accent]Deposite seu cobre de volta no núcleo.[] -tutorial.waves = O[lightgray] inimigo[] se aproxima.\n\nDefenda seu núcleo por 2 hordas. Construa mais torretas. -tutorial.waves.mobile = O[lightgray] inimigo[] se aproxima.\n\nDefenda seu núcleo por 2 hordas. Seu drone vai atirar nos inimigos automaticamente.\nConstrua mais torretas e brocas. Minere mais cobre. -tutorial.launch = Quando você atinge uma horda específica, Você é capaz de[accent] lançar o núcleo[], deixando suas defesas para trás e[accent] obtendo todos os recursos em seu núcleo.[]\nEstes recursos podem ser usados para pesquisar novas tecnologias.\n\n[accent]Pressione o botão lançar. +hint.skip = Pular +hint.desktopMove = Use [accent][[WASD][] para mover. +hint.zoom = [accent]Scroll[] para dar e tirar zoom. +hint.desktopShoot = [accent][[Click-Esquerdo][] para atirar. +hint.depositItems = Para transferir itens, arraste da sua nave para o núcleo. +hint.respawn = Para respawnar como nave, aperte [accent][[V][]. +hint.respawn.mobile = Você mudou o controle para uma unidade/estrutura. Para respawnar como nave, [accent]toque no avatar no canto superior esquerdo.[] +hint.desktopPause = Aperte [accent][[Espaço][] para pausar e despausar o jogo. +hint.breaking = [accent]Clique-direito[] e arraste para quebrar blocos. +hint.breaking.mobile = Ative o \ue817 [accent]martelo[] no canto inferior direito e toque para quebrar blocos.\n\nSegure com seu dedo por um segundo e arraste para selecionar o que quebrar. +hint.blockInfo = Veja informações de um bloco, seleccionando-o no [accent]menu de construção[], então selecione o [accent][[?][] botão na direita. +hint.derelict = Estruturas [accent]abandonadas[] são restos quebrados de bases antigas que já não funcionam.\n\nEssas estruturas podem ser [accent]desconstruídas[] para ganhar recursos. +hint.research = Use o botão de \ue875 [accent]Pesquisa[] para pesquisar novas tecnologias. +hint.research.mobile = Use o botão de \ue875 [accent]Pesquisa[] no \ue88c [accent]Menu[] para pesquisar novas tecnologias. +hint.unitControl = Segure [accent][[L-ctrl][] e [accent]click[] para controlar suas unidades ou torretas. +hint.unitControl.mobile = [accent][[Toque duas vezes][] para controlar suas unidades ou torretas. +hint.unitSelectControl = Para controlar unidades, entre no [accent]modo de comando[] segurando [accent]Shift esquerdo.[]\nEnquanto no modo de comando, clique e segure pra selecionar unidades. Clique com o [accent]Botão direito[] em um lugar ou alvo para mandar as unidades para lá. +hint.unitSelectControl.mobile = Para controlar unidades, entre no [accent]modo de comando[] segurando o botão de [accent]comando[] no canto inferior esquerdo.\nEnquanto no modo de comando, segure e arraste pra selecionar unidades. Toque em algum lugar ou alvo para mandar as unidades para lá. +hint.launch = Quando recursos suficientes forem coletados, você pode [accent]Lançar[] selecionando setores próximos a partir do \ue827 [accent]Mapa[] no canto inferior direito. +hint.launch.mobile = Quando recursos suficientes forem coletados, você pode [accent]Lançar[] selecionando setores próximos a partir do \ue827 [accent]Mapa[] no \ue88c [accent]Menu[]. +hint.schematicSelect = Segure [accent][[F][] e arraste para selecionar blocos para copiar e colar.\n\n[accent][[Middle Click][] para copiar um bloco só. +hint.rebuildSelect = Segure [accent][[B][] e arraste para selecionar blocos destruídos.\nIsso irá reconstruí-los automaticamente. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Segure [accent][[L-Ctrl][] enquanto arrasta as esteiras para gerar automaticamente um caminho. +hint.conveyorPathfind.mobile = Ative o \ue844 [accent]modo diagonal[] e arraste as esteiras para gerar automaticamente um caminho. +hint.boost = Segure [accent][[L-Shift][] para voar sobre obstáculos com a sua unidade.\n\nApenas algumas unidades terrestres tem propulsores. +hint.payloadPickup = Pressione [accent][[[] para pegar pequenos blocos e unidades. +hint.payloadPickup.mobile = [accent]Toque e segure[] um pequeno bloco ou unidade para o pegar. +hint.payloadDrop = Pressione [accent]][] para soltar a carga. +hint.payloadDrop.mobile = [accent]Toque e segure[] em um local vazio para soltar ali a carga. +hint.waveFire = Torretas [accent]Onda[] com munição de água vão apagar automaticamente incêndios próximos. +hint.generator = \uf879 [accent]Geradores a Combustão[] queimam carvão e transmitem energia aos blocos ao lado.\n\nO alcance da transmissão de energia pode ser aumentado com \uf87f [accent]Células de Energia[]. +hint.guardian = Unidades [accent]Guardião[] são blindadas. Munições fracas como [accent]Cobre[] e [accent]Chumbo[] são [scarlet]não efetivas[].\n\nUse torretas melhores ou \uf835 [accent]Grafite[] \uf861Duo/\uf859Salvo como munição para derrotar Guardiões. +hint.coreUpgrade = Núcleos podem ser melhorados [accent]colocando núcelos melhores sobre eles[].\n\nColoque uma \uf868 [accent]Fundação do Núcleo[] sobre o \uf869 [accent]Fragmento do Núcleo[]. Tenha certeza de que está livre de obstruções próximas. +hint.presetLaunch = [accent]Zona de setores[] cinzas, como a [accent]Floresta Congelada[], podem ser lançadas de qualquer lugar. Elas não precisam da captura de território próximo.\n\n[accent]Setores numerados[], como esse aqui, são [accent]opcionais[]. +hint.presetDifficulty = Esse setor tem um [scarlet]alto nível de ameaça inimiga[].\nIr para esse setores [accent]não é recomendado[] sem ter tecnologia e preparação adequadas. +hint.coreIncinerate = Depois que o núcleo ter recebido até a capacidade máxima de um item, qualquer item do mesmo tipo que ele receber será [accent]incinerado[]. +hint.factoryControl = Para definir a [accent]o local de saída[] de uma fábrica de unidades, clique em uma fábrica enquanto estiver no modo de comando, depois clique com o botão direito em um local.\nAs unidades produzidas por ela se moverão automaticamente para lá. +hint.factoryControl.mobile = Para definir a [accent]o local de saída[] de uma fábrica de unidades, toque em uma fábrica enquanto estiver no modo de comando, depois toque em um local.\nAs unidades produzidas por ela se moverão automaticamente para lá. +gz.mine = Vá para perto do \uf8c4 [accent]minério de cobre[] no chão e clique para começar a minerar. +gz.mine.mobile = Vá para perto do \uf8c4 [accent]minério de cobre[] no chão e toque nele para começar a minerar. +gz.research = Abra a \ue875 árvore tecnológica.\nPesquise a \uf870 [accent]Broca mecânica[], Depois selecione-a pelo menu no canto inferior direito.\nClique no cobre para coloca-la. +gz.research.mobile = Abra a \ue875 árvore tecnológica.\nPesquise a \uf870 [accent]Broca mecânica[], Depois selecione-a pelo menu no canto inferior direito.\nClique no cobre para colocá-la.\n\nPressione a \ue800 [accent]confirmação[] no canto inferior direito para confirmar. +gz.conveyors = Pesquise e coloque \uf896 [accent]esteiras[] para mover os recursos minerados\ndas brocas para o núcleo.\n\nClique e arraste para pôr multiplas esteiras.\n[accent]Scroll[] para rotacionar. +gz.conveyors.mobile = Pesquise e coloque \uf896 [accent]esteiras[] para mover os recursos minerados\ndas brocas para o núcleo.\n\nSegure por um segundo e arraste para colocar múltiplas esteiras. +gz.drills = Expanda a mineração.\nColoque mais Brocas Mecânicas.\nMinere 100 cobres. +gz.lead = \uf837 [accent]Chumbo[] é outro recurso comumente usado.\nColoque brocas para minerar chumbo. +gz.moveup = \ue804 Vá para cima para outros objetivos. +gz.turrets = Pesquise e coloque 2 torretas \uf861 [accent]Duo[] para defender o núcleo.\ntorretas Duo requerem \uf838 [accent]munição[] de esteiras. +gz.duoammo = Abasteça as torretas Duo com [accent]cobre[], usando esteiras. +gz.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf8ae [accent]muros de cobre[] em volta das torretas. +gz.defend = Inimigos vindo, prepare-se para defender. +gz.aa = Unidades flutuantes não podem ser destruidas facilmente por torretas comuns.\nTorretas\uf860 [accent]Scatter[] Proveem ótima defesa aérea, mas requerem \uf837 [accent]chumbo[] como munição. +gz.scatterammo = Abasteça a torreta Scatter com [accent]chumbo[], usando esteiras. +gz.supplyturret = [accent]Abasteça a torreta +gz.zone1 = Essa é a zona de spawn inimigo. +gz.zone2 = Qualquer coisa construida nesta área será destruida quando uma horda começar. +gz.zone3 = Uma horda vai começar agora\nSe prepare. +gz.finish = Construa mais torretas, minere mais recursos,\ne se defenda de todas as hordas para [accent]capturar o setor[]. +onset.mine = Clique para minerar \uf748 [accent]berílio[] das paredes.\n\nUse [accent][[WASD] para se mover. +onset.mine.mobile = Toque para minerar \uf748 [accent]berílio[] das paredes. +onset.research = Abra a \ue875 árvore tecnológica.\nPesquise, e então coloque um \uf73e [accent]Condensador de Turbina[] na ventilação.\nIsso vai gerar [accent]energia[]. +onset.bore = Pesquise e coloque uma \uf741 [accent]Mineradora de Plasma[].\nEla minera recursos das paredes automaticamente. +onset.power = Para[accent]alimentar[] a Mineradora de Plasma, pesquise e coloque uma \uf73d [accent]Célula de Feixe[].\nConecte o condensador de turbina ao minerador de plasma. +onset.ducts = Pesquise e coloque \uf799 [accent]dutos[] para mover recursos minerados da mineradora de plasma para o núcleo.\nClique e segure para colocar múltiplos dutos.\n[accent]Scroll[] para rotacionar. +onset.ducts.mobile = Pesquise e coloque \uf799 [accent]dutos[] para mover recursos minerados da mineradora de plasma para o núcleo.\n\nSegure por um segundo e arraste para colocar múltiplos dutos. +onset.moremine = Expanda a mineração.\nColoque mais Mineradoras de Plasma, use as Células de Feixe e dutos para isso.\nMinere 200 berílios. +onset.graphite = Blocos mais complexos requerem \uf835 [accent]grafite[].\nColoque Mineradoras de Plasma para minerar grafite. +onset.research2 = Comece a pesquisar [accent]fábricas[].\nPesquise o \uf74d [accent]Esmagador de Penhasco[] e o \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = O arc furnace precisa de \uf834 [accent]areia[] e \uf835 [accent]grafite[] para criar \uf82f [accent]silício[].\n[accent]Energia[] também é necessária. +onset.crusher = Use o \uf74d [accent]Esmagador de Areia[] para minerar areia. +onset.fabricator = Use [accent]unidades[] para explorar o mapa, defender construções e atacar o inimigo. Pesquise e coloque um \uf6a2 [accent]Fabricador de Tanques[]. +onset.makeunit = Produza uma unidade.\nUse o botão "?" para ver os requisitos da fábrica selecionada. +onset.turrets = Unidades são efetivas, mas [accent]torretas[] proveem melhores capacidades defensivas se usadas efetivamente.\nColoque uma torreta \uf6eb [accent]Breach[].\nTorretas requerem \uf748 [accent]munição[]. +onset.turretammo = Abasteça a torreta com [accent]munição de berílio.[] +onset.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf6ee [accent]muros de berílio[] em volta das torretas. -item.copper.description = O material mais básico. Usado em todos os tipos de blocos. -item.lead.description = Material de começo basico. usado extensivamente em blocos de transporte de líquidos e eletrônicos. -item.metaglass.description = Composto de vidro super resistente. Extensivamente usado para distribuição e armazenagem de líquidos. -item.graphite.description = Carbono mineralizado, usado como munição e para isolação elétrica. -item.sand.description = Um material comum que é usado extensivamente em derretimento, tanto em ligas como em fluxo. -item.coal.description = Matéria vegetal fossilizada, formada muito depois de semeada. Usado extensivamente para produção de combustível e recursos. -item.titanium.description = Um material raro super leve usado extensivamente no transporte de líquidos, em brocas e drones aéreos. -item.thorium.description = Um metal denso e radioativo, Usado como suporte material e combustivel nuclear. -item.scrap.description = Pedaços remanescentes de estruturas e unidades destruidas. Contem traços de diferentes metais. -item.silicon.description = Condutor extremamente importante, com aplicação em paineis solares e dispositivos complexos. -item.plastanium.description = Material leve e maleável usado em drones aéreos avançados e como munição de fragmentação. -item.phase-fabric.description = Uma substância quase sem peso usada em eletrônica avançada e tecnologia de auto-reparo. -item.surge-alloy.description = Uma liga avançada com propriedades elétricas únicas. -item.spore-pod.description = Uma cápsula de esporos sintéticos, sintetizada de concentrações atmosféricas para propósitos industriais. Usada para conversão em petróleo, explosivos e combustíveis. -item.blast-compound.description = Um composto instável usado em bombas e em explosivos. Sintetizado de cápsulas de esporos e outras substâncias voláteis. Uso como combustível não é recomendado. -item.pyratite.description = Substância extremamente inflamável usada em armas incendiárias. -liquid.water.description = O líquido mais útil, comumente usado em resfriamento de máquinas e no processamento de lixo. Dá pra beber, também. -liquid.slag.description = Vários metais derretidos misturados juntos. Pode ser separado em seus minerais constituentes, ou jogado nas unidades inimigas como uma arma. -liquid.oil.description = Um líquido usado na produção de materias avançados. Pode ser convertido em carvão como combustível, ou pulverizado e incendiado como arma. -liquid.cryofluid.description = A maneira mais eficiente de resfriar qualquer coisa, até seu corpo quando está calor, mas não faça isto. +onset.enemies = Inimigo vindo, se prepare. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = O inimigo está vulnerável. Contra ataque. +onset.cores = Novos núcleos podem ser colocados em [accent]ladrilhos de núcleo[].\nNovos núcleos funcionam como bases avançadas e compartilham seus recursos com outros núcleos.\nColoque um \uf725 núcleo. +onset.detect = O inimigo poderá te detectar em 2 minutos.\nConstrua defesas, mineração e produção. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. -block.message.description = Armazena uma mensagem. Usado para comunicação entre aliados. -block.graphite-press.description = Comprime pedaços de carvão em lâminas de grafite puro. -block.multi-press.description = Uma versão melhorada da prensa de grafite. Usa água e energia para processar carvão rápida e eficientemente. -block.silicon-smelter.description = Reduz areia a silicio usando carvão puro. Produz silício. -block.kiln.description = Derrete chumbo e areia no composto conhecido como metavidro. Requer pequenas quantidades de energia. -block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio. -block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar. -block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto. -block.cryofluid-mixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório. -block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão. -block.pyratite-mixer.description = Mistura carvão, chumbo e areia em piratita altamente inflamável. -block.melter.description = Derrete sucata em escória para processamento posterior ou uso em torretas. -block.separator.description = Separa escória em seus minerais componentes, oferece o resultado refriado. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. + +#Serpulo +item.copper.description = Usado em todos os tipos de construção e munição. +item.copper.details = Cobre. Metal anormalmente abundante em Serpulo. Estruturalmente fraco a não ser que seja reforçado. +item.lead.description = Usado em transportação de líquido e estruturas elétricas. +item.lead.details = Denso. Inerte. Extensivamente usado em baterias.\nObservação: Provavelmente tóxico para formas de vida biológica. Não que tenha muito restando aqui. +item.metaglass.description = Usado para estruturas de distribuição e armazenagem de líquidos. +item.graphite.description = Usado em componentes elétricos e como munição de torretas. +item.sand.description = Usado na produção de outros materiais refinados. +item.coal.description = Usado como combustível e produção de materiais refinados. +item.coal.details = Parece ser matéria vegetal fossilizada, formada muito antes do evento da semeadura. +item.titanium.description = Usado em estruturas de transportação de líquido, brocas e fábricas. +item.thorium.description = Usado em estruturas duráveis e como combustível nuclear. +item.scrap.description = Usado em Aparelhos de Fusão e Pulverizadores para refinar em outros materiais. +item.scrap.details = Pedaços restantes de estruturas e unidades destruidas. Contém traços de diferentes metais. +item.silicon.description = Usado em paineis solares, eletrônicos complexos e como munição em torretas. +item.plastanium.description = Usado em unidades avançadas, isolamento e munição de fragmentação. +item.phase-fabric.description = Usado em eletrônicos avançados e estruturas reparadoras. +item.surge-alloy.description = Usada em armamento avançado e estruturas defensia reativas. +item.spore-pod.description = Usado para a conversão em óleo, explosivos e combustível. +item.spore-pod.details = Esporos. Provavelmente uma forma de vida sintética. Emite gases tóxicos para outras formas de vida biológica. Extremamente invasivo. Altamente inflamável em certas condições. +item.blast-compound.description = Usado em bombas e como munição explosiva. +item.pyratite.description = Usado em armas incendiárias e geradores a combustão. + +#Erekir +item.beryllium.description = Usado em muitos tipos de construção e munição em Erekir. +item.tungsten.description = Utilizado em brocas, armaduras e munições. Necessário na construção de estruturas mais avançadas. +item.oxide.description = Utilizado como condutor de calor e isolante para energia. +item.carbide.description = Utilizado em estruturas avançadas, unidades mais pesadas e munições. + +liquid.water.description = Usado para refrigerar máquinas e no processamento de lixo. +liquid.slag.description = Refinada em separadores em metais constituintes. Consumida em torretas de líquido como munição. +liquid.oil.description = Usado na produção de materiais avançados e como munição incendiária +liquid.cryofluid.description = Usado como refrigerador em reatores, torretas e fábricas. + +#Erekir +liquid.arkycite.description = Utilizado em reações químicas para geração de energia e síntese de materiais. +liquid.ozone.description = Utilizado como agente oxidante na produção de material e como combustível. Moderadamente explosivo. +liquid.hydrogen.description = Utilizado na extração de recursos, produção de unidades e reparo de estruturas. Inflamável. +liquid.cyanogen.description = Utilizado para munição, construção de unidades avançadas e várias reações em blocos avançados. Altamente inflamável. +liquid.nitrogen.description = Utilizado na extração de recursos, criação de gás e produção de unidades. Inerte. +liquid.neoplasm.description = Um subproduto biológico perigoso do reator de Neoplasia. Espalha-se rapidamente para qualquer bloco adjacente contendo água que ele toque, danificando-os no processo. Viscoso. +liquid.neoplasm.details = Neoplasma. Uma massa incontrolável de células sintéticas de rápida divisão com uma consistência semelhante à de lama. Resistente ao calor. Extremamente perigoso para qualquer estrutura que envolva água.\n\nMuito complexo e instável para análise padrão. Potenciais aplicações desconhecidas. Recomenda-se a incineração em piscinas de escória. +block.derelict = \uf77e [lightgray]Abandonado + +block.armored-conveyor.description = Move os itens com a mesma velocidade das esteiras de titânio, mas tem mais armadura. Não aceita itens dos lados de nada além de outras esteiras. +block.illuminator.description = Uma fonte de luz pequena, configurável e compacta. Precisa de energia para funcionar. + +block.message.description = Mostra uma mensagem. Usado para comunicação entre aliados. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. +block.graphite-press.description = Comprime carvão em Grafite. +block.multi-press.description = Comprime carvão em Grafite. Usa água como refrigerador. +block.silicon-smelter.description = Refina silício com carvão e areia. +block.kiln.description = Derrete areia e chumbo em Metavidro. +block.plastanium-compressor.description = Produz Plastânio a partir do petróleo e titânio. +block.phase-weaver.description = Sintetiza Tecido de Fase usando tório e areia. +block.surge-smelter.description = Funde Titânio, Chumbo, Silício e Cobre para produzir Liga de Surto. +block.cryofluid-mixer.description = Mistura água e pó fino de Titânio para produzir crio-fluido. +block.blast-mixer.description = Produz Composto Explosivo da piratita e capsulas de esporo. +block.pyratite-mixer.description = Mistura Carvão, Chumbo e Areia em Piratita. +block.melter.description = Derrete sucata em escória. +block.separator.description = Separa escória em seus minerais componentes. block.spore-press.description = Comprime cápsulas de esporos em petróleo. -block.pulverizer.description = Esmaga sucata em areia. Util quando esta em falta de areia natural. +block.pulverizer.description = Esmaga sucata em areia. block.coal-centrifuge.description = Solidifica petróleo em carvão. -block.incinerator.description = Se livra de itens em excesso ou liquidos. -block.power-void.description = Destroi qualquer energia que entre dentro. Apenas caixa de areia. -block.power-source.description = Infinitivamente da energia. Apenas caixa de areia. -block.item-source.description = Infinivamente da itens. Apenas caixa de areia. -block.item-void.description = Destroi qualquer item que entre sem requerir energia. Apenas caixa de areia. -block.liquid-source.description = Infinitivamente da Liquidos. Apenas caixa de areia. -block.liquid-void.description = Remove todos os líquidos. Apenas sandbox. -block.copper-wall.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo. -block.copper-wall-large.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo.\nOcupa múltiplos blocos. -block.titanium-wall.description = Um bloco defensivo moderadamente forte.\nProvidencia defesa moderada contra inimigos. -block.titanium-wall-large.description = Um bloco defensivo moderadamente forte.\nProvidencia defesa moderada contra inimigos.\nOcupa múltiplos blocos. +block.incinerator.description = Vaporiza qualquer item ou líquido que recebe. +block.power-void.description = Destrói qualquer energia que é recebida. Apenas no modo sandbox. +block.power-source.description = Gera energia infinita. Apenas no modo sandbox. +block.item-source.description = Cria itens infinitamente. Apenas no modo sandbox. +block.item-void.description = Destrói qualquer item que entrar. Apenas no modo sandbox. +block.liquid-source.description = Cria líquidos infinitamente. Apenas no modo sandbox. +block.liquid-void.description = Destrói qualquer líquido que entrar. Apenas no modo sandbox. +block.payload-source.description = Produz cargas infinitamete. Apenas sandbox. +block.payload-void.description = Destrói qualquer carga. Apenas. +block.copper-wall.description = Um bloco defensivo barato. Útil para proteger o núcleo e torretas no começo. +block.copper-wall-large.description = Um bloco defensivo barato. Útil para proteger o núcleo e torretas no começo. Ocupa múltiplos blocos. +block.titanium-wall.description = Um bloco defensivo moderadamente forte. Providencia defesa moderada contra inimigos. +block.titanium-wall-large.description = Um bloco defensivo moderadamente forte. Providencia defesa moderada contra inimigos. Ocupa múltiplos blocos. block.plastanium-wall.description = Um tipo especial de muro que absorve arcos elétricos e bloqueia conexões automáticas de células de energia. block.plastanium-wall-large.description = Um tipo especial de muro que absorve arcos elétricos e bloqueia conexões automáticas de células de energia.\nOcupa múltiplos blocos. -block.thorium-wall.description = Um bloco defensivo forte.\nBoa proteção contra inimigos. -block.thorium-wall-large.description = Um bloco defensivo forte.\nBoa proteção contra inimigos.\nOcupa múltiplos blocos. -block.phase-wall.description = Um muro revestido com um composto especial baseado em tecido de fase. Desvia a maioria das balas no impacto. -block.phase-wall-large.description = Um muro revestido com um composto especial baseado em tecido de fase. Desvia a maioria das balas no impacto.\nOcupa múltiplos blocos. -block.surge-wall.description = Um bloco defensivo extremamente durável.\nSe carrega com eletricidade no contato com as balas, soltando-s aleatoriamente. -block.surge-wall-large.description = Um bloco defensivo extremamente durável.\nSe carrega com eletricidade no contato com as balas, soltando-s aleatoriamente.\nOcupa multiplos blocos. +block.thorium-wall.description = Um bloco defensivo forte. Boa proteção contra inimigos. +block.thorium-wall-large.description = Um bloco defensivo forte. Boa proteção contra inimigos. Ocupa múltiplos blocos. +block.phase-wall.description = Um muro revestido com tecido de fase. Reflete a maioria das balas no impacto. +block.phase-wall-large.description = Um muro revestido com tecido de fase. Reflete a maioria das balas ao impacto. Ocupa múltiplos blocos. +block.surge-wall.description = Um bloco defensivo extremamente durável. Se carrega com eletricidade no contato com as balas, soltando-as aleatoriamente. +block.surge-wall-large.description = Um bloco defensivo extremamente durável. Se carrega com eletricidade no contato com as balas, soltando-as aleatoriamente. Ocupa multiplos blocos. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Uma pequeda porta. Pode ser aberta e fechada ao tocar. -block.door-large.description = Uma grande porta. Pode ser aberta e fechada ao tocar.\nOcupa múltiplos blocos. -block.mender.description = Periodicamente repara blocos vizinhos. Mantem as defesas reparadas em e entre ondas.\nPode usar silício para aumentar o alcance e a eficiência. -block.mend-projector.description = Uma versão melhorada do reparador. Repara blocos vizinhos.\nPode usar tecido de fase para aumentar o alcance e a eficiência. -block.overdrive-projector.description = Aumenta a velocidade de construções vizinhas.\nPode usar tecido de fase para aumentar o alcance e a eficiência. -block.force-projector.description = Cria um campo de força hexagonal ao redor de si, protegendo construções e unidades.\nSuperaquece se suportar muito dano. Pode usar líquidos para evitar superaquecimento. Pode-se usar tecido de fase para aumentar o tamanho do escudo. -block.shock-mine.description = Danifica inimigos em cima da mina. Quase invisivel ao inimigo. -block.conveyor.description = Bloco de transporte de item basico. Move os itens a frente e os deposita automaticamente em torretas ou construtores. Rotacionável. -block.titanium-conveyor.description = Bloco de transporte de item avançado. Move itens mais rapidos que esteiras padrões. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. -block.junction.description = Funciona como uma ponte Para duas esteiras que estejam se cruzando. Util em situações que tenha duas esteiras diferentes carregando materiais diferentes para lugares diferentes. -block.bridge-conveyor.description = Bloco de transporte de itens avancado. Possibilita o transporte de itens acima de 3 blocos de construção ou paredes. -block.phase-conveyor.description = Bloco de transporte de item avançado. Usa energia para teleportar itens a uma esteira de fase sobre uma severa distancia. -block.sorter.description = Filtra itens passando o selecionado para frente e os outros para os lados. -block.inverted-sorter.description = Filtra os itens como um ordenador normal, porém, os itens escolhidos sairão pelas laterais. -block.router.description = Aceita itens de uma direção e os divide em 3 direções igualmente. Util para espalhar materiais da fonte para multiplos alvos. -block.distributor.description = Um roteador avançado que espalhas os itens em 7 outras direções igualmente. -block.overflow-gate.description = Uma combinação de roteador e divisor Que apenas manda para a esquerda e Direita se a frente estiver bloqueada. -block.underflow-gate.description = O oposto de um portão de sobrecarga. Manda pra frente se a esquerda e a direita estiverem bloqueadas. -block.mass-driver.description = Bloco de transporte de itens supremo. Coleta itens severos e atira eles em outro mass driver de uma longa distancia. -block.mechanical-pump.description = Uma bomba barata com baixa saída de líquidos, mas sem consumo de energia. -block.rotary-pump.description = Uma bomba avançada. Bombeia mais líquido, mas requer energia. -block.thermal-pump.description = A bomba final. -block.conduit.description = Bloco básico de transporte de líquidos. Move líquidos para a frente. Usado em conjunto com bombas e outros canos. -block.pulse-conduit.description = Bloco avancado de transporte de liquido. Transporta liquidos mais rápido e armazena mais que os canos padrões. -block.plated-conduit.description = Move líquidos na mesma velocidade que canos de pulso, mas possui mais blindagem. Não aceita fluidos dos lados de nada além de outros canos.\nVaza menos. -block.liquid-router.description = Aceita liquidos de uma direcão e os joga em 3 direções igualmente. Pode armazenar uma certa quantidade de liquido. Útil para espalhar líquidos de uma fonte para múltiplos alvos. -block.liquid-tank.description = Armazena grandes quantidades de liquido. Use quando a demanda de materiais não for constante ou para guardar itens para resfriar blocos vitais. -block.liquid-junction.description = Age como uma ponte para dois canos que se cruzam. Útil em situações em que há dois cano carregando liquidos diferentes até localizações diferentes. -block.bridge-conduit.description = Bloco de transporte de liquidos avancados. Possibilita o transporte de liquido sobre 3 blocos acima de construções ou paredes -block.phase-conduit.description = Bloco avancado de transporte de liquido. Usa energia para teleportar liquidos para outro cano de fase em uma grande distância. +block.door-large.description = Uma grande porta. Pode ser aberta e fechada ao tocar. Ocupa múltiplos blocos. +block.mender.description = Periodicamente repara blocos vizinhos.\nOpicionalmente usa silício para aumentar o alcance e a eficácia. +block.mend-projector.description = Reparação de blocos em seu alcance.\nOpcionalmente usa tecido de fase para aumentar o alcance e a eficácia. +block.overdrive-projector.description = Aumenta a velocidade de construções vizinhas.\nOpcionalmente usa tecido de fase para aumentar o alcance e a eficácia. +block.force-projector.description = Cria um campo de força hexagonal ao redor de si, protegendo construções e unidades.\nSuperaquece se muito dano for recebido.\nOpcionalmente usa refrigeradores para evitar superaquecimento. Tecido de fase aumenta o tamanho do escudo. +block.shock-mine.description = Libera arcos elétricos em contato com unidades inimiga. +block.conveyor.description = Transporta itens para a frente. +block.titanium-conveyor.description = Move itens mais rapidos que esteiras padrões. +block.plastanium-conveyor.description = Transporta os itens para frente em lotes. Aceita itens na parte de trás, e os descarrega em três direções na frente. Requer múltiplos pontos de carga e descarga para o pico de produção. +block.junction.description = Funciona como uma ponte para duas esteiras que estejam se cruzando. +block.bridge-conveyor.description = Transporta itens sobre terrenos ou construções. +block.phase-conveyor.description = Transporta instantaneamente itens sobre terrenos ou construções. Maior alcance do que a esteira-ponte, mas requer energia. +block.sorter.description = Se um item de entrada corresponde à seleção, ele passa para frente. Caso contrário, o item é enviado para a esquerda ou para a direita. +block.inverted-sorter.description = Semelhante a um ordenador padrão, mas os itens selecionados vão para os lados. +block.router.description = Distribui igualmente os itens de entrada para 3 direções de saída. +block.router.details = Um mal necessário. Usar próximo de entradas de produção não é recomendado, pois ele vai entupir a saída de itens. +block.distributor.description = Espalha os itens em 7 direções igualmente. +block.overflow-gate.description = Apenas manda itens para a esquerda e direita se a frente estiver bloqueada. +block.underflow-gate.description = O oposto de um portão de sobrecarga. Apenas manda itens para frente se a esquerda e a direita estiverem bloqueadas. +block.mass-driver.description = Estrutura de transporte de itens de longo alcance. Coleta grupos de itens e os atira em outras catapultas electromagnéticas. +block.mechanical-pump.description = Bombeia líquidos. Não requer energia. +block.rotary-pump.description = Bombeia líquidos. Requer energia. +block.impulse-pump.description = Bombeia líquidos com o máximo de eficiência, mas requer uma quantidade maior de energia. +block.conduit.description = Move líquidos para frente. Usado em conjunto com bombas e outros canos. +block.pulse-conduit.description = Transporta mais rápido e armazena mais do que os canos padrão. +block.plated-conduit.description = Move líquidos na mesma velocidade que canos de pulso, mas possui blindagem. Não aceita entradas dos lados. Não vaza. +block.liquid-router.description = Aceita líquidos de uma direcão e os joga em 3 direções igualmente. Pode armazenar uma certa quantidade de líquido. +block.liquid-container.description = Armazena uma grande quantidade de líquido. Joga para todos os lados, de forma semelhante a um roteador de líquido. +block.liquid-tank.description = Armazena grandes quantidades de líquido. Manda para todos os lados, similarmente a um roteador de líquido. +block.liquid-junction.description = Age como uma ponte para dois canos que se cruzam. +block.bridge-conduit.description = Transporta líquidos sobre terrenos ou construções. +block.phase-conduit.description = Transporta líquidos sobre terrenos ou construções. Maior alcance do que o cano-ponte, mas requer energia. block.power-node.description = Transmite energia para células conectadas. A célula vai receber energia ou alimentar qualquer bloco adjacente. block.power-node-large.description = Uma célula de energia avançada com maior alcance e mais conexões. block.surge-tower.description = Uma célula de energia com um extremo alcance mas com menos conexões disponíveis. -block.diode.description = A energia de baterias pode fluir através desse bloco em apenas uma direção, mas apenas se o outro lado possuir menos energia armazenada. -block.battery.description = Armazena energia em tempos de energia excedente. Libera energia em tempos de déficit. +block.diode.description = Movimenta a energia da bateria em uma direção, mas somente se o outro lado tiver menos energia armazenada. +block.battery.description = Armazena energia em tempos de energia excedente. Libera energia quando falta. block.battery-large.description = Guarda muito mais energia que uma bateria comum. block.combustion-generator.description = Gera energia queimando materiais inflamáveis, como carvão. block.thermal-generator.description = Gera energia quando colocado em lugares quentes. block.steam-generator.description = Mais eficiente que o gerador à combustão, mas requer água adicional para a geração de vapor. -block.differential-generator.description = Gera grandes quantidades de energia. Utiliza a diferença de temperatura entre o Fluido Criogênico e a Piratita. -block.rtg-generator.description = Um Gerador termoelétrico de radioisótopos que não precisa de refriamento mas dá muito menos energia que o reator de tório. +block.differential-generator.description = Gera grandes quantidades de energia. Utiliza a diferença de temperatura entre o criofluido e a piratita. +block.rtg-generator.description = Um Gerador termoelétrico de radioisótopos que não precisa de resfriamento mas dá muito menos energia que o reator de tório. block.solar-panel.description = Gera pequenas quantidades de energia do sol. block.solar-panel-large.description = Uma versão significantemente mais eficiente que o painel solar padrão. -block.thorium-reactor.description = Gera altas quantidades de energia do torio radioativo. Requer resfriamento constante. Vai explodir violentamente Se resfriamento insuficiente for fornecido. +block.thorium-reactor.description = Gera altas quantidades de energia pelo tório. Requer resfriamento constante. Explodirá violentamente se o resfriamento for insuficiente. block.impact-reactor.description = Um gerador avançado, capaz de criar quantidades enormes de energia em seu poder total. Requer uma entrada significativa de energia ao iniciar. -block.mechanical-drill.description = Uma broca barata. Quando colocado em blocos apropriados, retira itens em um ritmo lento e indefinitavamente. -block.pneumatic-drill.description = Uma broca improvisada que é mais rápida e capaz de processar materiais mais duros usando a pressão do ar -block.laser-drill.description = Possibilita a mineração ainda mais rapida usando tecnologia a laser, Mas requer poder adcionalmente torio radioativo pode ser recuperado com essa mineradora -block.blast-drill.description = A melhor mineradora. Requer muita energia. -block.water-extractor.description = Extrai água subterrânea. Usado em locais sem água superficial disponível. +block.mechanical-drill.description = Quando colocado sobre minério, produz itens a um ritmo lento indefinidamente. Somente capaz de extrair recursos básicos. +block.pneumatic-drill.description = Uma broca melhorada, capaz de extrair Titânio. Minera a um ritmo mais rápido que uma broca mecânica. +block.laser-drill.description = Permite a perfuração ainda mais rápida através da tecnologia laser, mas requer energia. Capaz de minerar tório. +block.blast-drill.description = A melhor broca. Requer muita energia. +block.water-extractor.description = Extrai água subterrânea. Usado em locais sem água disponível na superficie. block.cultivator.description = Cultiva pequenas concentrações de esporos na atmosfera em cápsulas prontas. +block.cultivator.details = Tecnologia recuperada. Costumava produzir quantidades massivas de biomassa o mais eficiente o possível. Provavelmente o primeiro incubador de esporos cobrindo Serpulo agora. block.oil-extractor.description = Usa altas quantidades de energia para extrair petróleo da areia. Use quando não tiver fontes de petróleo por perto. -block.core-shard.description = A primeira iteração do núcleo. Uma vez destruído, todo o contato com a região é perdido. Não deixe isso acontecer. -block.core-foundation.description = A segunda versão do núcleo. Mais bem armadurado. Armazena mais recursos. -block.core-nucleus.description = A terceira e ultima iteração do núcleo. Extremamente bem armadurada. Guarda quantidades massivas de recursos. -block.vault.description = Carrega uma alta quantidade de itens. Usado para criar fontes Quando não tem uma necessidade constante de materiais. Um[lightgray] Descarregador[] pode ser usado para recuperar esses itens do container. -block.container.description = Carrega uma baixa quantidade de itens. Usado para criar fontes Quando não tem uma necessidade constante de materiais. Um[lightgray] Descarregador[] pode ser usado para recuperar esses itens do container. -block.unloader.description = Descarrega itens de um container, Descarrega em uma esteira ou diretamente em um bloco adjacente. O tipo de item que pode ser descarregado pode ser mudado clicando no descarregador. -block.launch-pad.description = Lança montes de itens sem qualquer necessidade de um lançamento de núcleo. -block.launch-pad-large.description = Uma versão melhorada da plataforma de lançamento. Guarda mais itens. Lança mais frequentemente. -block.duo.description = Uma pequena torre de baixo custo. Útil contra unidades terrestres. -block.scatter.description = Uma torre antiaérea essencial para a defesa. Dispara vários tiros aglomerados de chumbo, sucata ou metavidro. -block.scorch.description = Uma torre que queima qualquer unidade que estiver próxima. Altamente efetivo se for a queima-roupa. -block.hail.description = Uma pequena torre de artilharia com grande alcance. -block.wave.description = Uma torre de tamanho médio. Lança jatos de líquidos nos seus inimigos. Automaticamente apaga incêndios se for abastecido com água ou crio fluido. -block.lancer.description = Uma torre laser anti-terrestre média. Carrega e dispara poderosos feixes de energia. -block.arc.description = Uma pequena torre elétrica com curto alcance. Dispara arcos de eletricidade nos seus inimigos. -block.swarmer.description = Uma torre de mísseis de tamanho médio. Ataca ambos terrestre e aéreo disparando misseis teleguiados. -block.salvo.description = Uma grande, versão avançada da dupla. Dispara rápidas rajadas de tiros nos seus inimigos. -block.fuse.description = Uma torre grande com curto alcance. Dispara três feixes perfurantes nos seus inimigos. -block.ripple.description = Uma torre de artilharia extremamente poderosa. Dispara varios tiros aglomerados a uma grande distância nos seus inimigos. -block.cyclone.description = Uma grande torre que dispara balas explosivas que se fragmentam em unidades aéreas e terrestres próximas. -block.spectre.description = Um grande canhão massivo. Dispara grandes tiros perfuradores de blindagem em inimigos aéreos e terrestres. -block.meltdown.description = Um grande canhão laser massivo. Carrega e dispara um poderoso e persistente feixe nos seus inimigos. Requer um resfriamento para ser operada. +block.core-shard.description = O núcleo da base. Uma vez destruído, o setor é perdido. +block.core-shard.details = A primeira interação. Compacto. Auto-replicante. Equipado com propulsores de lançamento de uso único. Não projetado para viagens interplanetárias. +block.core-foundation.description = O núcleo da base. Bem blindado. Armazena mais recursos do que o Fragmento do Núcleo. +block.core-foundation.details = A segunda versão. +block.core-nucleus.description = O núcleo da base. Extremamente bem blindado. Armazena enormes quantidades de recursos. +block.core-nucleus.details = A terceira e última versão. +block.vault.description = Armazena uma grande quantidade de itens de cada tipo. Expande o armazenamento quando colocado próximo a um núcleo. O conteúdo pode ser recuperado com um descarregador +block.container.description = Armazena uma pequena quantidade de itens de cada tipo. Expande o armazenamento quando colocado próximo a um núcleo. O conteúdo pode ser recuperado com um descarregador. +block.unloader.description = Descarrega o item selecionado dos blocos próximos. +block.launch-pad.description = Lança lotes de itens para setores selecionados. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = Dispara balas alternadas em inimigos. +block.scatter.description = Dispara tiros aglomerados de chumbo, sucata ou metavidro em unidades aéreas. +block.scorch.description = Queima qualquer unidade que estiver próxima. Altamente efetivo se for de perto. +block.hail.description = Dispara pequenas cápsulas em inimigos terrestres a longas distâncias. +block.wave.description = Lança jatos de líquido nos seus inimigos. Automaticamente apaga incêndios se for abastecido com água ou criofluido. +block.lancer.description = Carrega e dispara poderosos feixes de energia. +block.arc.description = Dispara arcos de eletricidade em alvos terrestres. +block.swarmer.description = Dispara misseis teleguiados em inimigos. +block.salvo.description = Dispara rápidas rajadas de tiros em inimigos. +block.fuse.description = Dispara três feixes perfurantes em inimigos. +block.ripple.description = Dispara grupos de cápsulas em alvos terrestres a longas distâncias. +block.cyclone.description = Dispara aglomerados de fogo antiaéreo explosivos em inimigos próximos. +block.spectre.description = Dispara grandes balas em alvos aéreos e terrestres. +block.meltdown.description = Carrega e dispara um poderoso e persistente feixe de laser em inimigos. Requer refrigeradores para operar. +block.foreshadow.description = Dispara um feixe gigante de único alvo a grandes distâncias. Prioriza inimigos com maior vida máxima. block.repair-point.description = Continuamente repara a unidade danificada mais proxima. -block.segment.description = Destrói projéteis inimigos que se aproximam. Feixes não serão detectados. +block.segment.description = Destrói projéteis inimigos que se aproximam. Projéteis a laser não serão detectados. +block.parallax.description = Dispara um feixe de energia que puxa unidades aéreas, danificando-as no processo. +block.tsunami.description = Lança poderosos jatos de líquido em inimigos. Automaticamente apaga incêndios se for abastecido com água ou criofluido. +block.silicon-crucible.description = Refina silício com carvão e areia, usando piratita como uma fonte de calor adicional. Mais eficiente em locais quentes. +block.disassembler.description = Separa escória em traços de minerais componentes exóticos. Pode produzir tório. +block.overdrive-dome.description = Aumenta a velocidade de construções vizinhas. Requer tecido de fase e silício para operar. +block.payload-conveyor.description = Movimenta grandes cargas ,como unidades saindo das fábricas. Magnético. Utilizável em ambientes zero-G. +block.payload-router.description = Separa cargas recebidas em 3 direções de saída. +block.ground-factory.description = Produz unidades terrestres. Unidades produzidas podem ser usadas diretamente, ou movido em reconstrutores para melhorar. +block.air-factory.description = Produz unidades aéreas. Unidades produzidas podem ser usadas diretamente, ou movido em reconstrutores para melhorar. +block.naval-factory.description = Produz unidades navais. Unidades produzidas podem ser usadas diretamente, ou movido em reconstrutores para melhorar. +block.additive-reconstructor.description = Melhora unidades recebidas para o seu segundo nível. +block.multiplicative-reconstructor.description = Melhora unidades recebidas para o seu terceiro nível. +block.exponential-reconstructor.description = Melhora unidades recebidas para o seu quarto nível. +block.tetrative-reconstructor.description = Melhora unidades recebidas para o seu quinto e último nível. +block.switch.description = Uma alavanca alternável. O seu estado pode ser lido e controlado com processadores lógicos. +block.micro-processor.description = Executa uma sequência de instruções lógicas em um loop. Pode ser usado para controlar unidades e construções. +block.logic-processor.description = Executa uma sequência de instruções lógicas em um loop. Pode ser usado para controlar unidades e construções. Mais rápido que um micro processador. +block.hyper-processor.description = Executa uma sequência de instruções lógicas em um loop. Pode ser usado para controlar unidades e construções. Mais rápido que um processador lógico. +block.memory-cell.description = Guarda informações para um processador lógico. +block.memory-bank.description = Guarda informações para um processador lógico. Capacidade alta. +block.logic-display.description = Exibe gráficos arbitrários de um processador lógico. +block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico. +block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário. +block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante. + +#Erekir +block.core-bastion.description = O núcleo da base. Blindado. Uma vez destruído, o setor é perdido. +block.core-citadel.description = O núcleo da base. Muito bem blindado. Armazena mais recursos do que um Bastião do Núcleo. +block.core-acropolis.description = O núcleo da base. Excepcionalmente bem blindado. Armazena mais recursos do que a Cidadela do Núcleo. +block.breach.description = Dispara munições perfurantes de berílio ou tungstênio em alvos inimigos. +block.diffuse.description = Dispara balas em um cone largo. Empurra os alvos inimigos de volta. +block.sublimate.description = Dispara um jato contínuo de chamas sobre alvos inimigos. Penetra armadura. +block.titan.description = Dispara um enorme projétil de artilharia explosiva em alvos terrestres. Requer hidrogênio. +block.afflict.description = Dispara uma esfera maciça e carregada de fragmentos. Requer aquecimento. +block.disperse.description = Dispara projéteis em alvos aéreos. +block.lustre.description = Dispara um laser de movimento lento de alvo único em alvos inimigos. +block.scathe.description = Lança um poderoso míssil em alvos terrestres a grandes distâncias. +block.smite.description = Dispara balas perfurantes e emissoras de raios. +block.malign.description = Dispara uma barragem de cargas de laser teleguiadas em alvos inimigos. Exige aquecimento extensivo. +block.silicon-arc-furnace.description = Refina Silício a partir de areia e grafite. +block.oxidation-chamber.description = Converte Berílio e Ozônio em Oxido. Emite calor como um subproduto. +block.electric-heater.description = Aquece blocos a frente. Requer grandes quantidades de energia. +block.slag-heater.description = Aquece blocos a frente. Requer Escória. +block.phase-heater.description = Aquece blocos a frente. Requer Tecido de Fase +block.heat-redirector.description = Redireciona o calor acumulado para outros blocos. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converte Ãgua em Hidrogênio e gás de Ozônio. +block.atmospheric-concentrator.description = Concentra o Nitrogênio da atmosfera. Requer calor. +block.surge-crucible.description = Forma Liga de Surto a partir de Escória e Silício. Requer calor. +block.phase-synthesizer.description = Sintetiza Tecido de Fase a partir do Tório, Areia e Ozônio. Requer calor. +block.carbide-crucible.description = Funde Grafite e Tungstênio em Carboneto. Requer calor. +block.cyanogen-synthesizer.description = Sintetiza Cianogênio a partir de Arkycite e Grafite. Requer calor. +block.slag-incinerator.description = Incinera itens ou líquidos não voláteis. Requer escória. +block.vent-condenser.description = Condensa os gases de ventilação em água. Consome energia. +block.plasma-bore.description = Quando colocado de frente para uma parede de minério, produz itens por tempo indeterminado. Requer pequenas quantidades de energia. +block.large-plasma-bore.description = Uma Broca de Plasma maior. Capaz de extrair tungstênio e tório. Requer hidrogênio e energia. +block.cliff-crusher.description = Esmaga as paredes, produzindo areia indefinidamente. Requer energia. A eficiência varia de acordo com o tipo de parede. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Quando colocados sobre minério, os itens saem em rajadas indefinidamente. Requer energia e água. +block.eruption-drill.description = Uma Broca de Impacto melhorada. Capaz de minerar Tório. Requer Hidrogênio. +block.reinforced-conduit.description = Movimenta fluidos para frente. Não aceita entradas de outros blocos, a não ser canos, dos lados. +block.reinforced-liquid-router.description = Distribui fluidos igualmente para todos os lados. +block.reinforced-liquid-tank.description = Armazena uma grande quantidade de fluidos. +block.reinforced-liquid-container.description = Armazena uma quantidade considerável de fluidos. +block.reinforced-bridge-conduit.description = Transporta fluidos sobre estruturas e terrenos. +block.reinforced-pump.description = Bombeia e produz líquidos. Requer hidrogênio. +block.beryllium-wall.description = Protege estruturas contra projéteis inimigos. +block.beryllium-wall-large.description = Protege estruturas contra projéteis inimigos. +block.tungsten-wall.description = Protege estruturas contra projéteis inimigos. +block.tungsten-wall-large.description = Protege estruturas contra projéteis inimigos. +block.carbide-wall.description = Protege estruturas contra projéteis inimigos. +block.carbide-wall-large.description = Protege estruturas contra projéteis inimigos. +block.reinforced-surge-wall.description = Protege estruturas contra projéteis inimigos, lançando periodicamente arcos elétricos em contato com o projétil. +block.reinforced-surge-wall-large.description = Protege estruturas contra projéteis inimigos, lançando periodicamente arcos elétricos em contato com o projétil. +block.shielded-wall.description = Protege estruturas contra projéteis inimigos. Implanta um escudo que absorve a maioria dos projéteis quando energia é fornecida. Conduz energia. +block.blast-door.description = Uma parede que se abre quando as unidades terrestres aliadas estão no alcance. Não pode ser controlada manualmente. +block.duct.description = Move itens para frente. Só é capaz de armazenar um único item. +block.armored-duct.description = Move itens para frente. Não aceita entradas de blocos não-dutos dos lados. +block.duct-router.description = Distribui os itens igualmente em três direções. Aceita somente itens pela parte de trás. Pode ser configurado como um ordenador de itens. +block.overflow-duct.description = Só libera itens para os lados se a frente estiver bloqueada. +block.duct-bridge.description = Move itens sobre estruturas e terrenos. +block.duct-unloader.description = Descarrega o item selecionado do bloco atrás dele. Não pode descarregar do núcleo. +block.underflow-duct.description = O contrário de um duto de sobrecarga. Libera itens para a frente se os caminhos esquerdo e direito estiverem bloqueados. +block.reinforced-liquid-junction.description = Atua como uma junção entre dois canos se cruzando. +block.surge-conveyor.description = Move itens em lotes. Pode ser acelerado com energia. Conduz energia. +block.surge-router.description = Distribui igualmente os itens em três direções a partir de Esteiras de Liga de Surto. Podem ser acelerados com energia. Conduz energia. +block.unit-cargo-loader.description = Constrói drones de carga. Os drones distribuem automaticamente os itens aos pontos de descarga de carga com um filtro correspondente. +block.unit-cargo-unload-point.description = Atua como um ponto de descarga de drones de carga. Aceita itens que combinam com o filtro selecionado. +block.beam-node.description = Transmite energia para outros blocos ortogonalmente. Armazena uma pequena quantidade de energia. +block.beam-tower.description = Transmite energia para outros blocos ortogonalmente. Armazena uma grande quantidade de energia. Longo alcance. +block.turbine-condenser.description = Gera energia quando colocado em ventilações. Produz uma pequena quantidade de água. +block.chemical-combustion-chamber.description = Gera energia a partir de arkycite e ozônio. +block.pyrolysis-generator.description = Gera grandes quantidades de energia a partir de arkycite e escória. Produz água como subproduto. +block.flux-reactor.description = Gera grandes quantidades de energia quando aquecido. Requer cianogênio como estabilizador. A saída de energia e os requisitos de cianogênio são proporcionais à entrada de calor.\nExplode se o cianogênio for insuficiente. +block.neoplasia-reactor.description = Utiliza arkycite, água e tecido de fase para gerar grandes quantidades de energia. Produz calor e neoplasma perigoso como subproduto.\nExplode violentamente se o neoplasma não for removido do reator através de canos. +block.build-tower.description = Reconstrói automaticamente estruturas em alcance e auxilia outras unidades na construção. +block.regen-projector.description = Lentamente repara estruturas aliadas em um perímetro quadrado. Requer hidrogênio. +block.reinforced-container.description = Armazena uma pequena quantidade de itens. O conteúdo pode ser recuperado através de descarregadores. Não aumenta a capacidade de armazenamento do núcleo. +block.reinforced-vault.description = Armazena uma grande quantidade de itens. O conteúdo pode ser recuperado através de descarregadores. Não aumenta a capacidade de armazenamento do núcleo. +block.tank-fabricator.description = Constrói unidades Stell. As unidades produzidas podem ser usadas diretamente, ou movidas para refabricadores para atualização. +block.ship-fabricator.description = Constrói unidades Elude. As unidades produzidas podem ser usadas diretamente, ou movidas para refabricadores para atualização. +block.mech-fabricator.description = Constrói unidades Merui. As unidades produzidas podem ser usadas diretamente, ou movidas para refabricadores para atualização. +block.tank-assembler.description = Monta grandes tanques a partir dos blocos e unidades inseridos. O tier pode ser aumentado com a adição de módulos. +block.ship-assembler.description = Monta grandes naves a partir de blocos e unidades inseridos. O tier pode ser aumentado com a adição de módulos. +block.mech-assembler.description = Monta grandes mechs a partir de blocos e unidades inseridos. O tier pode ser aumentado com a adição de módulos. +block.tank-refabricator.description = Atualiza as unidades tanques inseridas para o segundo tier. +block.ship-refabricator.description = Atualiza as unidades naves inseridas para o segundo tier. +block.mech-refabricator.description = Atualiza as unidades mech inseridas para o segundo tier. +block.prime-refabricator.description = Atualiza as unidades inseridas para o terceiro tier. +block.basic-assembler-module.description = Aumenta o tier do montador quando colocado próximo a um limite de construção. Requer energia. Pode ser usado como entrada de carga. +block.small-deconstructor.description = Desconstrói as estruturas e unidades inseridos. Devolve 100% do custo de construção. +block.reinforced-payload-conveyor.description = Movimenta cargas para frente. +block.reinforced-payload-router.description = Distribui cargas em blocos adjacentes. Funciona como um ordenador quando um filtro é configurado. +block.payload-mass-driver.description = = Estrutura de transporte de carga útil de longo alcance. Atira cargas recebidas para Catapultas de Carga Eletromagnéticas conectadas. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repara todas as unidades em sua proximidade. Requer ozônio. +block.radar.description = Gradualmente descobre o terreno e as unidades inimigas em um grande raio. Requer energia. +block.shockwave-tower.description = Danifica e destrói projéteis inimigos em um raio. Requer cianogênio. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. + +unit.dagger.description = Dispara projéteis padrões em todos os inimigos em volta. +unit.mace.description = Dispara corrents de chamas em todos os inimigos em volta. +unit.fortress.description = Dispara artilharia de longo alcance em alvos terrestres. +unit.scepter.description = Dispara uma barragem de projéteis carregados em todos os inimigos em volta. +unit.reign.description = Dispara uma barragem de projéteis perfuradoes massivos em todos os inimigos em volta. +unit.nova.description = Dispara raios-lasers que danificam inimigos e repara estruturas aliadas. Capaz de voar. +unit.pulsar.description = Dispara arcos de eletricidade que danificam inimigos e repara estruturas aliadas. Capaz de voar. +unit.quasar.description = Dispara feixes penetradores de lasers que danificam inimigos e repara estruturas aliadas. Capaz de voar. Possui um escudo. +unit.vela.description = Dispara um massivo feixe de laser massivo que danificam inimigos, causa fogo e repara estruturas aliadas. Capaz de voar. +unit.corvus.description = Dispara um massivo laser que danificam inimigos e repara estruturas aliadas. Pode pisar em cima da maioria do terreno. +unit.crawler.description = Corre atrás de inimigos e se destrói, causando uma grande explosão. +unit.atrax.description = Dispara orbes debilitantes de escória em alvos terrestres. Pode pisar em cima da maioria do terreno. +unit.spiroct.description = Dispara lasers enfraquecedores em inimigos, se reparando no processo. Pode pisar em cima da maioria do terreno. +unit.arkyid.description = Dispara grandes lasers enfraquecedores em inimigos, se reparando no processo. Pode pisar em cima da maioria do terreno. +unit.toxopid.description = Dispara grande granadas agrupadas elétricas e lasers penetradoes em inimigos. Pode pisar em cima da maioria do terreno. +unit.flare.description = Dispara projéteis padrões em alvos terrestres. +unit.horizon.description = Larga aglomerados de bombas em alvos terrestres. +unit.zenith.description = Dispara salvos de mísseis em todos os inimigos em volta. +unit.antumbra.description = Dispara uma barragem de projéteis em todos os inimigos em volta. +unit.eclipse.description = Dispara dois lasers penetradores e uma barragem de fogo antiaéreo em todos os inimigos em volta. +unit.mono.description = Automaticamente minera cobre e chumbo, depositando-os no núcleo. +unit.poly.description = Automaticamente reconstrói estruturas destruídas e ajuda outras unidades em construção. +unit.mega.description = Automaticamente repara estruturas danificadas. Capaz de carregar blocos e unidades de chão pequenas. +unit.quad.description = Larga grandes bombas em alvos terrestres, reparando estruturas aliadas e danificando inimigos. Capaz de carregar unidades terrestres de tamanho médio. +unit.oct.description = Protege aliados em volta com o seu escudo regenerador. Capaz de carregar a maioria das unidades terrestres. +unit.risso.description = Dispara uma barragem de mísseis e projéteis em todos os inimigos em volta. +unit.minke.description = Dispara granadas e projéteis padrões em alvos terrestres. +unit.bryde.description = Dispara granadas de artilharia de longo alcance e mísseis em todos os inimigos em volta. +unit.sei.description = Dispara uma barragem de mísseis e projéteis penetradoras de armadura em inimigos. +unit.omura.description = Dispara um raio de longo alcance atravessador em inimigos. Constrói unidades flare. +unit.alpha.description = Defende o Fragmento do Núcleo de inimigos. Constrói estruturas. +unit.beta.description = Defende a Fundação do Núcleo de inimigos. Constrói estruturas. +unit.gamma.description = Defende o Centro do Núcleo de inimigos. Constrói estruturas. +unit.retusa.description = Atira torpedos teleguiados em inimigos próximos. Repara unidades aliadas. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Dispara fragmentos de mísseis em inimigos. Repara unidades aliadas. +unit.aegires.description = Causa choque a todas as unidades e estruturas inimigas que entram em seu campo de enrgia. Repara todos os aliados. +unit.navanax.description = Dispara projéteis de PEM explosivos, causando danos significativos às redes de energia inimigas e reparando as estruturas aliadas. Derrete os inimigos próximos com 4 torres laser autônomas. +unit.stell.description = Dispara balas padrão em alvos inimigos. +unit.locus.description = Dispara balas alternadas em alvos inimigos. +unit.precept.description = Atira balas de fragmentação perfurantes em alvos inimigos. +unit.vanquish.description = Dispara grandes balas de fragmentação perfurantes em alvos inimigos. +unit.conquer.description = Dispara grandes cascatas de balas perfurantes em alvos inimigos. +unit.merui.description = Dispara artilharia de longo alcance em alvos terrestres inimigos. Pode pisar sobre a maioria dos terrenos. +unit.cleroi.description = Dispara projéteis duplos em alvos inimigos. Ataca projéteis inimigos com torretas de defesa de ponto. Pode pisar sobre a maioria dos terrenos. +unit.anthicus.description = Atira mísseis teleguiados de longo alcance em alvos inimigos. Pode pisar sobre a maioria dos terrenos. +unit.tecta.description = Atira mísseis teleguiados de plasma em direção a alvos inimigos. Protege-se com um escudo direcional. Pode pisar sobre a maioria dos terrenos. +unit.collaris.description = Dispara artilharia de fragmentação de longo alcance em alvos inimigos. Pode pisar sobre a maioria dos terrenos. +unit.elude.description = Dispara pares de balas teleguiadas em alvos inimigos. Pode flutuar sobre regiões de líquido. +unit.avert.description = Dispara pares de balas em alvos inimigos. +unit.obviate.description = Dispara pares de orbes de relâmpagos em alvos inimigos. +unit.quell.description = Atira mísseis de longo alcance em alvos inimigos. Suprime os blocos de reparo de estruturas inimigas. +unit.disrupt.description = Dispara mísseis teleguiados de supressão de longo alcance em alvos inimigos. Suprime os blocos de reparo de estruturas inimigas. +unit.evoke.description = Constrói estruturas para defender o Bastião do Núcleo. Conserta estruturas com um feixe. +unit.incite.description = Constrói estruturas para defender a Cidadela do Núcleo. Repara estruturas com um feixe. +unit.emanate.description = Constrói estruturas para defender o Núcelo Acrópole. Repara estruturas com feixes. + +lst.read = Ler um número de uma célula de memória vinculada. +lst.write = Escrever um número de uma célula de memória vinculada. +lst.print = Adiciona texto ao buffer de impressão.\nNão exibe nada até [accent]Print Flush[] ser usado. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Adicionar uma operação ao buffer de desenho.\nNão exibe nada até [accent]Draw Flush[] ser usado. +lst.drawflush = Liberar operações [accent]Draw[] enfileiradas para um display. +lst.printflush = Liberar operações [accent]Print[] enfileiradas para um bloco de mensagem. +lst.getlink = Obtenha um link de processador por índice. Começa em 0. +lst.control = Controle uma construção. +lst.radar = Localize unidades ao redor de um prédio com alcance. +lst.sensor = Obtenha dados de um edifício ou unidade. +lst.set = Defina uma variável. +lst.operation = Execute uma operação em 1-2 variáveis. +lst.end = Pule para o topo da pilha de instruções. +lst.wait = Aguarde um determinado número de segundos. +lst.stop = Interrompa a execução deste processador. +lst.lookup = Pesquise um tipo de item/líquido/unidade/bloco por ID.\nAs contagens totais de cada tipo podem ser acessadas com:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Salte condicionalmente para outra instrução. +lst.unitbind = Vincule à próxima unidade de um tipo e armazene-a em [accent]@unit[]. +lst.unitcontrol = Controle a unidade atualmente vinculada. +lst.unitradar = Localize as unidades ao redor da unidade atualmente vinculada. +lst.unitlocate = Localize um tipo específico de posição/construção em qualquer lugar do mapa.\nRequer uma unidade vinculada. +lst.getblock = Obtenha dados de blocos em qualquer local. +lst.setblock = Defina os dados do bloco em qualquer local. +lst.spawnunit = Gere uma unidade em um local. +lst.applystatus = Aplique ou elimine um efeito de status de uma unidade. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Gerar uma onda. +lst.explosion = Crie uma explosão em um local. +lst.setrate = Defina a velocidade de execução do processador em instruções/tick. +lst.fetch = Pesquise unidades, núcleos, jogadores ou edifícios por índice.\nOs índices começam em 0 e terminam na contagem retornada. +lst.packcolor = Empacote [0, 1] componentes RGBA em um único número para desenho ou configuração de regra. +lst.setrule = Defina uma regra do jogo. +lst.flushmessage = Exibe uma mensagem na tela do buffer de texto.\nAguardará até que a mensagem anterior termine. +lst.cutscene = Manipule a câmera do jogador. +lst.setflag = Defina um sinalizador global que possa ser lido por todos os processadores. +lst.getflag = Verifique se um sinalizador global está definido. +lst.setprop = Define uma propriedade de uma unidade ou edifício. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Lógica de construção de unidades não é permitida aqui. + +lenum.type = Tipo de edifício/unidade.\ne.g. para qualquer roteador, isso retornará [accent]@router[].\não uma string. +lenum.shoot = Atire em uma posição. +lenum.shootp = Atire em uma unidade/edifício com previsão de velocidade. +lenum.config = Configuração do edifício, por ex. item classificador. +lenum.enabled = Se o bloco está ativado. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Cor do iluminador. +laccess.controller = Controlador de unidade. Se controlado pelo processador, retorna o processador.\nCaso contrário, retorna a própria unidade. +laccess.dead = Se uma unidade/edifício está morta ou não é mais válida. +laccess.controlled = Retorna:\n[accent]@ctrlProcessor[] se o controlador da unidade for o processador\n[accent]@ctrlPlayer[] se o controlador da unidade/edifício for o player\n[accent]@ctrlCommand[] se o controlador da unidade for um comando do player\nCaso contrário , 0. +laccess.progress = Progresso da ação, 0 a 1.\nRetorna a produção, a recarga da torre ou o progresso da construção. +laccess.speed = Velocidade máxima de uma unidade, em ladrilhos/seg. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. + +lcategory.unknown = Desconhecido +lcategory.unknown.description = Instruções não categorizadas. +lcategory.io = Entrada e Saída +lcategory.io.description = Modifica o conteúdo dos blocos de memória e buffers do processador. +lcategory.block = Controle de bloco +lcategory.block.description = Interaja com os blocos. +lcategory.operation = Operações +lcategory.operation.description = Operações lógicas. +lcategory.control = Controle de fluxo +lcategory.control.description = Gerencia ordem de execução. +lcategory.unit = Unidade de controle +lcategory.unit.description = Dá comandos às unidades. +lcategory.world = Mundo +lcategory.world.description = Controla como o mundo se comporta. + +graphicstype.clear = Preenche o visor com uma cor. +graphicstype.color = Define a cor para as próximas operações de desenho. +graphicstype.col = Equivalente à cor, mas agrupada.\nAs cores agrupadas são escritas como códigos hexadecimais com um prefixo [accent]%[].\nExemplo: [accent]%ff0000[] seria vermelho. +graphicstype.stroke = Define a largura da linha. +graphicstype.line = Desenha o segmento de linha. +graphicstype.rect = Preenche um retângulo. +graphicstype.linerect = Desenha um contorno retangular. +graphicstype.poly = Preenche um polígono regular. +graphicstype.linepoly = Desenha um contorno de polígono regular. +graphicstype.triangle = Preenche um triângulo. +graphicstype.image = Desenha uma imagem de algum conteúdo.\nex: [accent]@router[] ou [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Sempre verdade. +lenum.idiv = Divisão inteira. +lenum.div = Divisão.\nRetorna [accent]null[] na divisão por zero. +lenum.mod = Modulo. +lenum.equal = Igual. Coage tipos.\nObjetos não nulos comparados com números tornam-se 1, caso contrário, 0. +lenum.notequal = Não igual. Tipos de coerção. +lenum.strictequal = Igualdade estrita. Não coage tipos.Pode ser usado para verificar [accent]null[]. +lenum.shl = Deslocamento de bit para a esquerda. +lenum.shr = Deslocamento de bits para a direita. +lenum.or = OU bit a bit. +lenum.land = Lógico E. +lenum.and = E bit a bit. +lenum.not = Virar bit a bit. +lenum.xor = XOR bit a bit. +lenum.min = Mínimo de dois números. +lenum.max = Máximo de dois números. +lenum.angle = Ângulo do vetor em graus. +lenum.anglediff = Distância absoluta entre dois ângulos em graus. +lenum.len = Comprimento do vetor. + +lenum.sin = Seno, em graus. +lenum.cos = Cosseno, em graus. +lenum.tan = Tangente, em graus. + +lenum.asin = Arco seno, em graus. +lenum.acos = Arco cosseno, em graus. +lenum.atan = Arco tangente, em graus. + +lenum.rand = Decimal aleatório no intervalo [0, valor). +lenum.log = Logaritmo natural (ln). +lenum.log10 = Logaritmo de base 10. +lenum.noise = Ruído simplex 2D. +lenum.abs = Valor absoluto. +lenum.sqrt = Raiz quadrada. + +lenum.any = Qualquer unidade. +lenum.ally = Unidade aliada. +lenum.attacker = Unidade com uma arma. +lenum.enemy = Unidade inimiga. +lenum.boss = Unidade Guardiã. +lenum.flying = Unidade voadora. +lenum.ground = Ground unit. +lenum.player = Unidade controlada por um jogador. + +lenum.ore = Depósito de minério. +lenum.damaged = Edifício aliado danificado. +lenum.spawn = Ponto de geração do inimigo.\nPode ser um núcleo ou uma posição. +lenum.building = Construção em um grupo específico. + +lenum.core = Qualquer núcleo. +lenum.storage = Edifício de armazenamento, por ex. Cofre. +lenum.generator = Edifícios que geram energia. +lenum.factory = Edifícios que transformam recursos. +lenum.repair = Pontos de reparo. +lenum.battery = Qualquer bateria. +lenum.resupply = Pontos de reabastecimento.\nRelevante apenas quando [accent]"Unit Ammo"[] está habilitado. +lenum.reactor = Reator de impacto/tório. +lenum.turret = Qualquer torre. + +sensor.in = O edifício/unidade para sentir. + +radar.from = Construir para detectar.\nO alcance do sensor é limitado pelo alcance do edifício. +radar.target = Filtre as unidades a serem detectadas. +radar.and = Filtros adicionais. +radar.order = Ordem de classificação. 0 para inverter. +radar.sort = Métrica pela qual classificar os resultados. +radar.output = Variável para gravar a unidade de saída. + +unitradar.target = Filtre as unidades a serem detectadas. +unitradar.and = Filtros adicionais. +unitradar.order = Ordem de classificação. 0 para inverter. +unitradar.sort = Métrica pela qual classificar os resultados. +unitradar.output = Variável para gravar a unidade de saída. + +control.of = Construir para controlar. +control.unit = Unidade/edifício a visar. +control.shoot = Se atirar. + +unitlocate.enemy = Se deve localizar edifícios inimigos. +unitlocate.found = Se o objeto foi encontrado. +unitlocate.building = Variável de saída para edifício localizado. +unitlocate.outx = Coordenada X de saída. +unitlocate.outy = Coordenada Y de saída. +unitlocate.group = Grupo de construção para procurar. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Não se mova, mas continue construindo/minerando.\nO estado padrão. +lenum.stop = Pare de mover/mineração/construção. +lenum.unbind = Desabilite completamente o controle lógico.\nRetome AI padrão. +lenum.move = Mover para a posição exata. +lenum.approach = Aproxime-se de uma posição com um raio. +lenum.pathfind = Pathfind para o spawn inimigo. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Atire em uma posição. +lenum.targetp = Atire em um alvo com previsão de velocidade. +lenum.itemdrop = Solte um item. +lenum.itemtake = Pegue um item de um edifício. +lenum.paydrop = Solte a carga útil atual. +lenum.paytake = Pegue a carga no local atual. +lenum.payenter = Entre/pouse no bloco de carga em que a unidade está. +lenum.flag = Sinalizador de unidade numérica. +lenum.mine = Mina em uma posição. +lenum.build = Construa uma estrutura. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Verifique se a unidade está perto de uma posição. +lenum.boost = Iniciar/parar o reforço. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_pt_PT.properties b/core/assets/bundles/bundle_pt_PT.properties index 6e08cc7d3f..df4b45fe49 100644 --- a/core/assets/bundles/bundle_pt_PT.properties +++ b/core/assets/bundles/bundle_pt_PT.properties @@ -1,27 +1,30 @@ credits.text = Criado por [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Créditos contributors = Tradutores e contribuidores -discord = Junte-se ao Discord do Mindustry! (Lá falamos inglês) -link.discord.description = O discord oficial do Mindustry -link.reddit.description = The Mindustry subreddit +discord = Junte-se ao Discord do Mindustry! (Lá falamos várias linguas) +link.discord.description = O Discord oficial do Mindustry +link.reddit.description = O subreddit do Minustry link.github.description = Código-fonte do jogo. link.changelog.description = Lista de mudanças da atualização -link.dev-builds.description = Desenvolvimentos Instáveis -link.trello.description = Trello Oficial para Atualizações Planejadas -link.itch.io.description = Pagina da Itch.io com os Descarregamentos -link.google-play.description = Listamento do google play store -link.f-droid.description = F-Droid catalogue listing +link.dev-builds.description = Versões instáves em desenvolvimento +link.trello.description = Trello Oficial para atualizações planeadas +link.itch.io.description = Pagina da Itch.io com as transferências +link.google-play.description = Página da Google Play Store +link.f-droid.description = Lista do F-Droid link.wiki.description = Wiki oficial do Mindustry link.suggestions.description = Sugerir novas funcionalidades -linkfail = Falha ao abrir a ligação\nO Url foi copiado -screenshot = Screenshot gravado para {0} -screenshot.invalid = Mapa grande demais, Potencialmente sem memória suficiente para captura. +link.bug.description = Achou algum? Reporte-o aqui +linkopen = Este servidor enviou-lhe um link. Tem a certeza que o quer abrir?\n\n[sky]{0} +linkfail = Falha ao abrir a ligação\nO Url foi copiado para a área de transferência +screenshot = Captura de ecrã gravada em {0} +screenshot.invalid = Mapa grande demais, potencialmente sem memória suficiente para captura. gameover = O núcleo foi destruído. -gameover.pvp = O time[accent] {0}[] ganhou! +gameover.disconnect = Desconectar +gameover.pvp = A equipa [accent] {0}[] ganhou! +gameover.waiting = [accent]Aguardando pelo próximo mapa... highscore = [accent]Novo recorde! copied = Copiado. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = This part of the game isn't ready yet +indev.notready = Esta parte do jogo ainda não esta pronta load.sound = Sons load.map = Mapas @@ -31,18 +34,32 @@ load.system = Sistema load.mod = Mods load.scripts = Scripts -be.update = Uma nova versão do Bleeding Edge está disponível: +be.update = Uma nova versão Bleeding Edge está disponível: be.update.confirm = Transferir e reiniciar agora? be.updating = A atualizar... -be.ignore = Ignora +be.ignore = Ignorar be.noupdates = Atualizações não encontradas. -be.check = A Verificar por atualizações +be.check = Verificar por atualizações + +mods.browser = Navegador de mods +mods.browser.selected = Mod selecionado +mods.browser.add = Instalar +mods.browser.reinstall = Reinstalar +mods.browser.view-releases = Ver versões +mods.browser.noreleases = [scarlet]Nenhuma versão encontrada\n[accent]Não foi possível encontrar nenhuma versão do mod. Verifique se o repositório do mod tem alguma versão publicada. +mods.browser.latest = +mods.browser.releases = Versões +mods.github.open = Repositório +mods.github.open-release = Página da versão +mods.browser.sortdate = Ordenar por mais recente +mods.browser.sortstars = Ordenar por estrelas schematic = Esquema -schematic.add = Gravar Esquema... +schematic.add = Guardar Esquema... schematics = Esquemas +schematic.search = Procurar esquemas... schematic.replace = Um esquema com esse nome já existe. Deseja substituí-lo? -schematic.exists = A schematic by that name already exists. +schematic.exists = Um esquema com esse nome já existe. schematic.import = Importar Esquema... schematic.exportfile = Exportar Ficheiro schematic.importfile = Importar Ficheiro @@ -53,263 +70,359 @@ schematic.shareworkshop = Partilhar na Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Rodar Esquema schematic.saved = Esquema gravado. schematic.delete.confirm = Este esquema irá ser completamente apagado. -schematic.rename = Renomear Esquema +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blocos -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Esquemas desativados[]\nNão tens permissão para usar esquemas nesse [accent]mapa[] ou [accent]servidor. +schematic.tags = Etiquetas: +schematic.edittags = Editar Etiquetas +schematic.addtag = Adicionar Etiqueta +schematic.texttag = Etiqueta de Texto +schematic.icontag = Etiqueta de Ãcone +schematic.renametag = Alterar o nome da etiqueta +schematic.tagged = {0} Etiquetado/s +schematic.tagdelconfirm = Apagar esta etiqueta completamente? +schematic.tagexists = Essa etiqueta já existe. +stats = Estatísticas +stats.wave = Hordas Derrotadas +stats.unitsCreated = Unidades Criadas +stats.enemiesDestroyed = Inimigos destruídos +stats.built = Construções feitas +stats.destroyed = Construções destruídas +stats.deconstructed = Construções Desconstruídas +stats.playtime = Tempo de Jogo -stat.wave = Hordas derrotadas:[accent] {0} -stat.enemiesDestroyed = Inimigos Destruídos:[accent] {0} -stat.built = Construções construídas:[accent] {0} -stat.destroyed = Construções destruídas:[accent] {0} -stat.deconstructed = Construções desconstruídas:[accent] {0} -stat.delivered = Recursos lançados: -stat.playtime = Tempo jogado:[accent] {0} -stat.rank = Rank Final: [accent]{0} - -globalitems = [accent]Global Items -map.delete = Certeza que quer deletar o mapa "[accent]{0}[]"? +globalitems = [accent]Itens Globais +map.delete = Tens a certeza que queres apagar o mapa "[accent]{0}[]"? level.highscore = Melhor\npontuação: [accent] {0} -level.select = Seleção de Fase +level.select = Seleção de Nível level.mode = Modo de Jogo: coreattack = < O núcleo está sobre ataque! > -nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\nANIQUILAÇÃO IMINENTE -database = Banco do núcleo -savegame = Gravar Jogo +nearpoint = [[ [scarlet]SAIA DO PONTO DE SPAWN IMEDIATAMENTE[] ]\nAniquilação iminente +database = Banco de Dados do núcleo +database.button = Banco de Dados +savegame = Salvar Jogo loadgame = Carregar Jogo joingame = Entrar no Jogo -customgame = Jogo Customi-/nzado +customgame = Jogo Customizado newgame = Novo Jogo none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Mini-Mapa position = Posição close = Fechar website = Site quit = Sair -save.quit = Gravar e sair +save.quit = Salvar e sair maps = Mapas -maps.browse = Pesquisar mapas +maps.browse = Pesquisar Mapas continue = Continuar maps.none = [lightgray]Nenhum Mapa Encontrado! invalid = Inválido pickcolor = Pick Color -preparingconfig = Preparando configuração -preparingcontent = Preparando conteúdo -uploadingcontent = Enviando conteúdo -uploadingpreviewfile = Enviando ficheiro de pré-visualização -committingchanges = Enviando mudanças +preparingconfig = A preparar a configuração +preparingcontent = A preparar o conteúdo +uploadingcontent = A enviar o conteúdo +uploadingpreviewfile = A enviar o ficheiro de pré-visualização +committingchanges = A enviar mudanças done = Feito -feature.unsupported = O teu dispositivos não suporta esta característica. +feature.unsupported = O teu dispositivo não suporta este recurso. -mods.alphainfo = Lembre-se de que os mods estão em alfa, e [scarlet] pode estar cheio de falhas[].\nReporta qualquer problema que encontres no the Mindustry GitHub ou Discord. +mods.initfailed = [red]âš [] A instância anterior do Mindustry falhou ao inicializar. Provavelmente causado por mods com problema.\n\nPara previnir um loop de crash, [red]todos os mods foram desativados.[] mods = Mods -mods.none = [lightgray]Mods não encontrados! +mods.none = [lightgray]Nenhum mod encontrado! mods.guide = Guia de mods mods.report = Reportar Bug mods.openfolder = Abrir pasta de Mods -mods.reload = Reload -mods.reloadexit = The game will now exit, to reload mods. +mods.viewcontent = Ver Conteúdo +mods.reload = Recarregar +mods.reloadexit = O jogo vai fechar, para recarregar os mods. +mod.installed = [[Instalado] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Ativado mod.disabled = [scarlet]Desativado +mod.multiplayer.compatible = [gray]Compatível com Multiplayer mod.disable = Desativar -mod.content = Content: -mod.delete.error = Incapaz de apagar o mod. Ficheiro já em uso. -mod.requiresversion = [scarlet]Requer versão minima de jogo: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Dependências ausentes: {0} -mod.erroredcontent = [scarlet]Erros de conteudo +mod.version = Versão: +mod.content = Conteúdo: +mod.delete.error = Incapaz de apagar o mod. O ficheiro pode estar em uso. +mod.incompatiblegame = [red]Jogo Desatualizado +mod.incompatiblemod = [red]Incompatível +mod.blacklisted = [red]Não suportado +mod.unmetdependencies = [red]Dependências não satisfeitas +mod.erroredcontent = [scarlet]Erros no conteúdo +mod.circulardependencies = [red]Dependências redundantes +mod.incompletedependencies = [red]Dependências incompletas +mod.requiresversion.details = Requer a versão do jogo: [accent]{0}[]\nO teu jogo está desatualizado. Este mod requer uma versão mais recente do jogo (possivelmente uma versão beta/alfa) para funcionar. +mod.outdatedv7.details = Este mod é incompatível com a versão mais recente do jogo. O autor deve atualizá-lo e adicionar [accent]minGameVersion: 136[] ao seu arquivo [accent]mod.json[]. +mod.blacklisted.details = Este mod foi manualmente colocado na Lista Negra por causar falhas ou outros problemas com esta versão do jogo. Não o use. +mod.missingdependencies.details = Este mod tem dependências em falta: {0} +mod.erroredcontent.details = Este jogo causou erros ao carregar. Peça ao autor do mod para corrigi-los. +mod.circulardependencies.details = Este mod tem dependências que dependem umas das outras. +mod.incompletedependencies.details = Este mod não pôde ser carregado devido a dependências inválidas ou ausentes: {0}. +mod.requiresversion = Requer a versão do jogo: [red]{0} mod.errors = Ocorreram erros ao carregar o conteúdo. -mod.noerrorplay = [scarlet]Tens mods com erros.[] Desative os mods afetados ou corrija os erros antes de jogar. -mod.nowdisabled = [scarlet]Mod '{0}' está faltando dependências:[accent] {1}\n[lightgray]Esses mods precisam ser baixados primeiro. NEste mod será automaticamente desativado +mod.noerrorplay = [scarlet]Tens mods com erros.[] Desativa os mods afetados ou corrije os erros antes de jogar. +mod.nowdisabled = [scarlet]Mod '{0}' tem dependências em falta:[accent] {1}\n[lightgray]Estes mods precisam de ser baixados primeiro. Este mod será automaticamente desativado mod.enable = Ativar -mod.requiresrestart = O jogo será fechado agora para aplicar as alterações no mod. +mod.requiresrestart = O jogo irá fechar para aplicar as alterações do mod. mod.reloadrequired = [scarlet]É necessario recarregar mod.import = Importar Mod -mod.import.file = Import File +mod.import.file = Importar Ficheiro mod.import.github = Importar Mod pelo GitHub -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! -mod.item.remove = Este item faz parte do [accent] '{0}'[] mod. Para lhe remover, desinstala o mod. -mod.remove.confirm = Este mod irá ser apagado. +mod.jarwarn = [scarlet]Mods JAR são por natureza inseguros.[]\nTem a certeza de que estás a importar este mod de uma fonte confiável! +mod.item.remove = Este item faz parte do [accent] '{0}'[] mod. Para removê-lo, desinstala o mod. +mod.remove.confirm = Este mod será apagado. mod.author = [lightgray]Autor:[] {0} -mod.missing = Este save contém mods que foram recentemente atualizados ou que não estão mais instalados. Ao guardar pode ocorreu corrupção. Tem certeza de que deseja carregá-lo?\n[lightgray]Mods:\n{0} -mod.preview.missing = Antes de publicar este mod no workshop, você deve adicionar uma visualização da imagem.\nNome da imagem -> [accent] preview.png[] na pasta de mods e tenta outra vez. -mod.folder.missing = Apenas mods na pasta podem ser publicados no Workshop.\nPara converter qualquer mod para uma pasta, simplesmentes descomprime os ficheiros para a pasta e apague o ficheiro zip antigo, e depois reinicia o jogo ou os teus mods. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. +mod.missing = Este jogo salvo contém mods que foram recentemente atualizados ou que não estão mais instalados. Pode ocorrer corrupção ao guardar. Tens a certeza de que desejas carregá-lo?\n[lightgray]Mods:\n{0} +mod.preview.missing = Antes de publicar este mod na Workshop, você deve adicionar uma visualização da imagem.\nNome da imagem -> [accent] preview.png[] na pasta de mods e tentar outra vez. +mod.folder.missing = Apenas mods no formato de pasta podem ser publicados na Workshop.\nPara converter qualquer mod para uma pasta, simplesmente descomprime os ficheiros para a pasta e apague o ficheiro ZIP antigo, e depois reinicia o jogo ou recarrega os teus mods. +mod.scripts.disable = O teu dispositivo não suporta mods com scripts. Deves desativar estes mods para conseguir jogar. about.button = Sobre name = Nome: noname = Escolha[accent] um nome[] primeiro. -planetmap = Planet Map -launchcore = Launch Core -filename = Nome do ficheiro: -unlocked = Novo bloco Desbloqueado! + +search = Procurar: +planetmap = Mapa do Planeta +launchcore = Lançar Núcleo +filename = Nome do Ficheiro: +unlocked = Novo conteúdo desbloqueado! +available = Nova pesquisa disponível! +unlock.incampaign = < Desbloqueie na campanha para mais detalhes > +campaign.select = Selecione a campanha inicial +campaign.none = [lightgray]Selecione um planeta para onde começar.\nIsto pode ser mudado a qualquer momento. +campaign.erekir = Novo, conteúdo aperfeiçoado. Progresso de campanha quase linear.\n\nMapas e experiência geral de melhor qualidade. +campaign.serpulo = Conteúdo antigo, a experiência clássica. Mais amplo.\n\nMapas e mecânicas da campanha potencialmente desbalanceados. Menos aperfeiçoado. +campaign.difficulty = Dificuldade + completed = [accent]Completado -techtree = Ãrvore de tecnologia +techtree = Ãrvore da Tecnologia +techtree.select = Ãrvore da Tecnologia +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Carregar +research.discard = Descartar research.list = [lightgray]Pesquise: research = Pesquisa researched = [lightgray]{0} pesquisado. -research.progress = {0}% complete +research.progress = {0}% completo players = {0} Jogadores Ativos players.single = {0} Jogador Ativo -players.search = search -players.notfound = [gray]no players found -server.closing = [accent]Fechando servidor... -server.kicked.kick = Voce foi expulso do servidor! -server.kicked.whitelist = Você não está na lista branca do servidor. +players.search = Pesquisar +players.notfound = [gray]nenhum jogador encontrado +server.closing = [accent]A fechar servidor... +server.kicked.kick = Foste expulso do servidor! +server.kicked.whitelist = Não estás na lista branca do servidor. server.kicked.serverClose = Servidor Fechado. -server.kicked.vote = Você foi expulso desse servidor. Adeus. -server.kicked.clientOutdated = Cliente desatualizado! Atualize seu jogo! +server.kicked.vote = Foste expulso desse servidor por votação. Adeus. +server.kicked.clientOutdated = Cliente desatualizado! Atualiza o teu jogo! server.kicked.serverOutdated = Servidor desatualiado! Peça ao dono para atualizar! -server.kicked.banned = Você foi banido do servidor. -server.kicked.typeMismatch = Este servidor não é compatível com a sua versão. -server.kicked.playerLimit = Este servidor está cheio. Espere por uma vaga. -server.kicked.recentKick = Voce foi expulso recentemente.\nEspere para conectar de novo. -server.kicked.nameInUse = Este nome já está sendo usado\nneste servidor. -server.kicked.nameEmpty = Você deve ter pelo menos uma letra ou número no nome. -server.kicked.idInUse = Você ja está neste servidor! Conectar com duas contas não é permitido. -server.kicked.customClient = Este servidor não suporta versões customizadas. Baixe a versão original. -server.kicked.gameover = Fim de jogo! -server.kicked.serverRestarting = The server is restarting. -server.versions = Sua versão:[accent] {0}[]\nVersão do servidor:[accent] {1}[] -host.info = O [accent]Hospedar[]Botão Hospeda um servidor no Host[scarlet]6567[] e [scarlet]6568.[]\nQualquer um no [lightgray]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[lightgray]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[lightgray]Note: Não há uma lista de servidores automáticos; Se você quer conectar ao IP de alguém, você precisa pedir o IP ao anfitrião. -hostserver = Hospedar servidor +server.kicked.banned = Foste banido do servidor. +server.kicked.typeMismatch = Este servidor não é compatível com o teu tipo de versão. +server.kicked.playerLimit = Este servidor está cheio. Espera por uma vaga. +server.kicked.recentKick = Foste expulso recentemente.\nEspera para conectar de novo. +server.kicked.nameInUse = Este nome já está a ser usado\nneste servidor. +server.kicked.nameEmpty = O nome escolhido é inválido. +server.kicked.idInUse = Já estás conectado neste servidor! Conectar com duas contas não é permitido. +server.kicked.customClient = Este servidor não suporta versões customizadas. Transfere uma versão original. +server.kicked.gameover = Fim do jogo! +server.kicked.serverRestarting = O seridor está a reiniciar. +server.versions = A tua versão:[accent] {0}[]\nVersão do servidor:[accent] {1}[] +host.info = O botão de [accent]Hospedar[] hospeda um servidor na porta [scarlet]6567[] e [scarlet]6568.[]\nQualquer jogador na mesma [lightgray]Wi-Fi ou rede local[] pode ver este servidor na lista de servidores.\n\nSe você quiser que os jogadores entrem de qualquer sítio através do seu IP, [accent]port forwarding[] é necessário.\n\n[lightgray]Nota: Se alguém está com problemas a conectar ao seu servidor LAN, tenha a certeza que o Mindustry tem acesso à sua internet local nas configurações do seu firewall. Nota que nem todas as redes públicas permitem a deteção do servidor na rede. +join.info = Aqui podes inserir um [accent]IP de servidor[] para conectar, ou descobrir [accent]servidores[] da rede local or [accent]servidores[] no mundo.\nAmbos os servidores LAN e WAN são suportados.\n\n[lightgray]Se quiseres conectar ao servidor de alguém por IP, precisas de pedir ao anfitrião o IP, que pode ser descoberto ao pesquisar "meu IP" na Internet. +hostserver = Host Multiplayer Game invitefriends = Convidar amigos hostserver.mobile = Hospedar\nJogo host = Hospedar -hosting = [accent]Abrindo servidor... +hosting = [accent]A abrir servidor... hosts.refresh = Atualizar -hosts.discovering = Descobrindo jogos em lan -hosts.discovering.any = Descobrindo jogos +hosts.discovering = A descobrir jogos em LAN +hosts.discovering.any = A descobrir jogos server.refreshing = A atualizar servidor -hosts.none = [lightgray]Nenhum jogo lan encontrado! -host.invalid = [scarlet]Não foi possivel Hospedar. +hosts.none = [lightgray]Nenhum jogo local encontrado! +host.invalid = [scarlet]Não foi possivel conectar. servers.local = Servidores Locais +servers.local.steam = Jogos públicos e Servidores locais servers.remote = Servidores Remotos -servers.global = Servidores Globais +servers.global = Servidores da Comunidade -trace = Traçar jogador +servers.disclaimer = Servidores da comunidade [accent]não[] são controlados pelo desenvolvedor.\n\nOs servidores podem conter conteúdo não apropriado para todas as idades. +servers.showhidden = Mostrar servidores escondidos +server.shown = Mostrar +server.hidden = Esconder + +viewplayer = A assistir Jogador: [accent]{0} +trace = Rastrear jogador trace.playername = Nome do jogador: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = ID unico: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Idioma: [accent]{0} trace.mobile = Cliente móvel: [accent]{0} -trace.modclient = Cliente Customizado: [accent]{0} -invalidid = ID do cliente invalido! Reporte o bug. -server.bans = Banidos +trace.modclient = Cliente customizado: [accent]{0} +trace.times.joined = Vezes que entrou: [accent]{0} +trace.times.kicked = Vezes que foi expulso: [accent]{0} +trace.ips = IPs: +trace.names = Nomes: +invalidid = ID do cliente inválido! Reporte o bug. + +player.ban = Banir +player.kick = Expulsar +player.trace = Rastrear +player.admin = Alterar Admin +player.team = Trocar de Equipa +server.bans = Banimentos server.bans.none = Nenhum jogador banido encontrado! server.admins = Administradores server.admins.none = Nenhum administrador encontrado! server.add = Adicionar servidor -server.delete = Certeza que quer deletar o servidor? +server.delete = Tens a certeza que queres apagar o servidor? server.edit = Editar servidor server.outdated = [crimson]Servidor desatualizado![] server.outdated.client = [crimson]Cliente desatualizado![] server.version = [lightgray]Versão: {0} server.custombuild = [accent]Versão customizada -confirmban = Certeza que quer banir este jogador? -confirmkick = Certeza que quer expulsar o jogador? -confirmvotekick = Você tem certeza de que quer votar para expulsar este jogador? -confirmunban = Certeza que quer desbanir este jogador? -confirmadmin = Certeza que quer fazer este jogador um administrador? +confirmban = Tens a certeza de que queres banir "{0}[white]"? +confirmkick = Tens a certeza de que queres expulsar "{0}[white]"? +confirmunban = Tens a certeza de que queres desbanir este jogador? +confirmadmin = Tens a certeza de que queres fazer este jogador um administrador? confirmunadmin = Certeza que quer remover o estatus de adminstrador deste jogador? +votekick.reason = Razão de expulsão por votação +votekick.reason.message = Tens a certeza que queres expular "{0}[white]" por votação?\nSe sim, escreva o motivo: joingame.title = Entrar no jogo -joingame.ip = IP: +joingame.ip = Endereço IP: disconnect = Desconectado. disconnect.error = Erro de conexão. disconnect.closed = Conexão fechada. disconnect.timeout = Tempo esgotado. disconnect.data = Falha ao abrir os dados do mundo! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Impossível conectar ([accent]{0}[]). -connecting = [accent]Conectando... -connecting.data = [accent]Carregando dados do mundo... -server.port = Porte: -server.addressinuse = Endereço em uso! -server.invalidport = Numero de porta invalido! +connecting = [accent]A conectar... +reconnecting = [accent]A reconectar... +connecting.data = [accent]A carregar o dados do mundo... +server.port = Porta: +server.invalidport = Número de porta inválido! +server.error.addressinuse = [scarlet]Falhou ao iniciar o servidor na porta 6567.[]\n\nCertifica-te que não existem outros servidores do Mindustry em funcionamento no teu dispositivo ou rede local! server.error = [crimson]Erro ao hospedar o servidor: [accent]{0} -save.new = Novo gravamento -save.overwrite = Você tem certeza que quer sobrescrever este gravamento? -overwrite = Gravar sobre -save.none = Nenhum gravamento encontrado! -savefail = Falha ao gravar jogo! -save.delete.confirm = Certeza que quer deletar este gravamento? -save.delete = Deletar +save.new = Novo save +save.overwrite = Tens a certeza que queres sobrescrever\neste save? +save.nocampaign = Arquivos salvos individuais da campanha não podem ser importados. +overwrite = Sobrescrever +save.none = Nenhum save encontrado! +savefail = Falha ao salvar jogo! +save.delete.confirm = Tens a certeza que queres apagar este save? +save.delete = Apagar save.export = Exportar save -save.import.invalid = [accent]Este gravamento é inválido! -save.import.fail = [crimson]Falha ao importar gravamento: [accent]{0} -save.export.fail = [crimson]Falha ao exportar gravamento: [accent]{0} -save.import = Importar gravamento -save.newslot = Nome do gravamento: +save.import.invalid = [accent]Este save é inválido! +save.import.fail = [crimson]Falha ao importar o save: [accent]{0} +save.export.fail = [crimson]Falha ao exportar o save: [accent]{0} +save.import = Importar save +save.newslot = Nome do save: save.rename = Renomear save.rename.text = Novo jogo: -selectslot = Selecione um lugar para gravar. +selectslot = Selecione um lugar para salvar. slot = [accent]Slot {0} editmessage = Edit Message save.corrupted = [accent]Ficheiro corrompido ou inválido! empty = on = Ligado off = Desligado -save.autosave = Autogravar: {0} +save.search = Procurar jogos salvos... +save.autosave = Gravar automaticamente: {0} save.map = Mapa: {0} save.wave = Horda {0} -save.mode = Gamemode: {0} -save.date = Último gravamento: {0} -save.playtime = Tempo De Jogo: {0} +save.mode = Modo de jogo: {0} +save.date = Último save: {0} +save.playtime = Tempo de Jogo: {0} warning = Aviso. confirm = Confirmar -delete = Excluir -view.workshop = Ver na oficina -workshop.listing = Edit Workshop Listing +delete = Apagar +view.workshop = Ver na Workshop +workshop.listing = Editar a lista da Workshop ok = OK open = Abrir customize = Customizar cancel = Cancelar +command = Comando +command.queue = [lightgray][Queuing] + +command.mine = Minerar +command.repair = reparar +command.rebuild = Reconstruir +command.assist = Assistir jogador +command.move = Mover +command.boost = Impulsionar +command.enterPayload = Inserir bloco de carga +command.loadUnits = Carrgar Unidades +command.loadBlocks = Carregar Blocos +command.unloadPayload = Descarregar Carga +command.loopPayload = Loop Unit Transfer +stance.stop = Cancelar Pedidos +stance.shoot = Stance: Atirar +stance.holdfire = Stance: Não disparar +stance.pursuetarget = Stance: Perseguir alvo +stance.patrol = Stance: Caminho de Patrulha +stance.ram = Stance: Ram\n[lightgray]Movimento em linha reta, sem trajetória + openlink = Abrir Ligação copylink = Copiar ligação back = Voltar +max = Máximo +objective = Objetivo do Mapa +crash.export = Exportar registos de erros +crash.none = Não foram encontrados registos de erros. +crash.exported = Registos de erros exportados. data.export = Exportar dados data.import = Importar dados data.openfolder = Abrir pasta de dados data.exported = Dados exportados. data.invalid = Estes dados de jogo não são válidos. -data.import.confirm = Importar dados externos irá deletar[scarlet] todos[] os seus dados atuais.\n[accent]Isso não pode ser desfeito![]\n\nQuando sua data é importada, seu jogo ira sair imediatamente. -quit.confirm = Você tem certeza que quer sair? -quit.confirm.tutorial = Você tem certeza você sabe o que você esta fazendo?\nO tutorial pode ser refeito nas [accent] Configurações->Jogo->Refazer Tutorial.[] -loading = [accent]Carregando... -reloading = [accent]Recarregar mods... -saving = [accent]Gravando... -respawn = [accent][[{0}][] to respawn in core -cancelbuilding = [accent][[{0}][] para apagar o plano -selectschematic = [accent][[{0}][] para selecionar+copy -pausebuilding = [accent][[{0}][] para pausar construção -resumebuilding = [scarlet][[{0}][] para resumir construção +data.import.confirm = Importar dados externos irá sobescrever[scarlet] todos[] os seus dados atuais.\n[accent]Não pode ser revertido![]\n\nQuando os dados forem importados, seu jogo irá fechar imediatamente. +quit.confirm = Tens a certeza que queres sair? +loading = [accent]A carregar... +downloading = [accent]A transferir... +saving = [accent]A gravar... +respawn = [accent][[{0}][] para renascer +cancelbuilding = [accent][[{0}][] para cancelar a construção +selectschematic = [accent][[{0}][] para selecionar+copiar +pausebuilding = [accent][[{0}][] para pausar a construção +resumebuilding = [scarlet][[{0}][] para retomar a construção +enablebuilding = [scarlet][[{0}][] para ativar a construção +showui = Interface ocultada.\nPressiona [accent][[{0}][] para mostrá-la. +commandmode.name = [accent]Modo de comando +commandmode.nounits = [sem unidades] wave = [accent]Horda {0} -wave.cap = [accent]Wave {0}/{1} +wave.cap = [accent]Horda {0}/{1} wave.waiting = Horda em {0} -wave.waveInProgress = [lightgray]Horda Em Progresso -waiting = Aguardando... -waiting.players = Esperando por jogadores... +wave.waveInProgress = [lightgray]Horda em progresso +waiting = A aguardar... +waiting.players = À espera de jogadores... wave.enemies = [lightgray]{0} inimigos restantes -wave.enemy = [lightgray]{0} inimigo restante -wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. -wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. +wave.enemycores = [accent]{0}[lightgray] Núcleos inimigos +wave.enemycore = [accent]{0}[lightgray] Núcleo inimigo +wave.enemy = [lightgray]{0} Inimigo restante +wave.guardianwarn = Guardião aproximando-se em [accent]{0}[] hordas. +wave.guardianwarn.one = Guardião aproximando-se em [accent]{0}[] horda. loadimage = Carregar\nimagem -saveimage = Gravarr\nimagem +saveimage = Salvar\nimagem unknown = Desconhecido custom = Customizado builtin = Embutido -map.delete.confirm = Certeza que quer deletar este mapa? Isto não pode ser desfeito! +map.delete.confirm = Tens a certeza que queres apagar este mapa? Esta ação não pode ser desfeita! map.random = [accent]Mapa aleatório -map.nospawn = Este mapa não possui nenhum núcleo para o jogador nascer! Adicione um núcleo[accent] amarelo[] para este mapa no editor. -map.nospawn.pvp = Esse mapa não tem núcleos inimigos para os jogadores nascerem! Adicione[scarlet] Núcleos vermelhos[] no mapa no editor. -map.nospawn.attack = Esse mapa não tem nenhum núcleo inimigo para o jogador atacar! coloque[scarlet] Núcleos[] vermelhos no editor. -map.invalid = Erro ao carregar o mapa: Ficheiro de mapa invalido ou corrupto. +map.nospawn = Este mapa não possui nenhum núcleo para o jogador nascer! Adicione um {0} núcleo ao mapa no editor. +map.nospawn.pvp = Esse mapa não tem núcleos inimigos para os jogadores nascerem! Adicione núcleos [scarlet]vermelhos[] ao mapa no editor. +map.nospawn.attack = Esse mapa não tem nenhum núcleo inimigo para o jogador atacar! Adicione {0} núcleos ao mapa no editor. +map.invalid = Erro ao carregar o mapa: Ficheiro de mapa inválido ou corrompido. workshop.update = Atualizar Item -workshop.error = Error fetching workshop details: {0} -map.publish.confirm = Você tem certeza de que quer publicar este mapa?\n\n[lightgray]Tenha certeza de que você concorda com o EULA da oficina primeiro, ou seus mapas não serão mostrados! -workshop.menu = Seleciona o que tu gostarias de fazer com este item. +workshop.error = Erro ao buscar os detalhes da Workshop: {0} +map.publish.confirm = Tens a certeza que queres publicar este mapa?\n\n[lightgray]Certifica-te que concordas com o EULA da Workshop, ou os teus mapas não serão mostrados! +workshop.menu = Seleciona o que gostarias de fazer com este item. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = EULA do Steam missing = Este item foi apagodo ou movido.\n[lightgray]A listagem da oficina foi automaticamente desassociada. publishing = [accent]A publicar... @@ -317,6 +430,11 @@ publish.confirm = Tens a certeza que queres publicar isto?\n\n[lightgray]Certifi publish.error = Erro ao publicao os items: {0} steam.error = Falha ao iniciar os serviços da Steam.\nError: {0} +editor.planet = Planeta: +editor.sector = Setor: +editor.seed = Semente: +editor.cliffs = Paredes para Penhascos + editor.brush = Pincel editor.openin = Abrir no Editor editor.oregen = Geração de minério @@ -328,76 +446,119 @@ editor.nodescription = Um mapa deve ter uma descrição de no mínimo 4 caracter editor.waves = Hordas: editor.rules = Regras: editor.generation = Geração: +editor.objectives = Objectivos +editor.locales = Pacotes Locais +editor.worldprocessors = Processadores Globais +editor.worldprocessors.editname = Mudar Nome +editor.worldprocessors.none = [lightgray]Nenhum bloco de processadr global encontrado!\nAdiciona um no Editor, ou usa o botão \ue813 Adicionar abaixo. +editor.worldprocessors.nospace = Sem espaço disponível para colocar um processador global!\nPreencheste o mapa com estruturas? Porque farias isso? +editor.worldprocessors.delete.confirm = Tens a certeza que queres apagar este processador global?\n\nSe esiver rodeado de paredes, vai ser substituído por uma parede natural. editor.ingame = Editar em jogo -editor.publish.workshop = Publicar na oficina +editor.playtest = Testar +editor.publish.workshop = Publicar na Workshop editor.newmap = Novo mapa -editor.center = Center -workshop = Oficina +editor.center = Centrar +editor.search = Procurar mapas... +editor.filters = Filtrar Mapas +editor.filters.mode = Modos de jogo: +editor.filters.type = Tipo de Mapa: +editor.filters.search = Procurar em: +editor.filters.author = Autor +editor.filters.description = Descrição +editor.shiftx = Mover no eixo X +editor.shifty = Mover no eixo Y +workshop = Workshop waves.title = Hordas waves.remove = Remover -waves.never = waves.every = a cada -waves.waves = Hordas(s) +waves.waves = hordas(s) +waves.health = vida: {0}% waves.perspawn = por spawn -waves.shields = shields/wave +waves.shields = escudos/horda waves.to = para -waves.guardian = Guardian -waves.preview = Pré visualizar +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Seletor de spawn +waves.spawn.none = [scarlet]nenhum spawn encontrado no mapa +waves.max = quantidade máxima de unidades +waves.guardian = Guardião +waves.preview = Pré-visualizar waves.edit = Editar... +waves.random = Aleatório waves.copy = Copiar para área de transferência waves.load = Carregar da área de transferência waves.invalid = Hordas inválidas na área de transferência. waves.copied = Hordas copiadas. -waves.none = Sem hordas definidas.\nNote que layouts vazios de hordas serão automaticamente substituídos pelo layout padrão. +waves.none = Sem hordas definidas.\nNote que esquemas de hordas vazios serão automaticamente substituídos pelo esquema padrão. +waves.sort = Ordenar por +waves.sort.reverse = Inverter ordem +waves.sort.begin = Coneçar +waves.sort.health = Vida +waves.sort.type = Tipo +waves.search = Procurar hordas... +waves.filter = Filtro de Unidades +waves.units.hide = Ocultar Tudo +waves.units.show = Mostrar Tudo -wavemode.counts = counts -wavemode.totals = totals -wavemode.health = health +#these are intentionally in lower case +wavemode.counts = quantidade +wavemode.totals = total +wavemode.health = vida -editor.default = [lightgray] +all = Tudo +editor.default = [lightgray] details = Detalhes... edit = Editar... +variables = Variáveis +logic.clear.confirm = Tens a certeza que querea apagar todo o código deste procesador? +logic.globals = Variáveis Embutidas editor.name = Nome: -editor.spawn = Criar unidade -editor.removeunit = Remover unidade -editor.teams = Times +editor.spawn = Criar Unidade +editor.removeunit = Remover Unidade +editor.teams = Equipas editor.errorload = Erro ao carregar o ficheiro:\n[accent]{0} -editor.errorsave = Erro ao gravar o ficheiro:\n[accent]{0} -editor.errorimage = Isso é uma imagem, não um mapa. Não vá por aí mudando extensões esperando que funcione.\n\nSe você quer importar um mapa legacy, Use o botão 'Importar mapa legacy'no editor. -editor.errorlegacy = Esse mapa é velho demais, E usa um formato de mapa legacy que não é mais suportado. -editor.errornot = Este não é um ficheiro de mapa. -editor.errorheader = Este ficheiro de mapa não é mais válido ou está corrompido. -editor.errorname = O mapa não tem nome definido. +editor.errorsave = Erro ao salvar o ficheiro:\n[accent]{0} +editor.errorimage = Isto é uma imagem, não um mapa. +editor.errorlegacy = Este mapa é antigo demais, e usa um formato antigo que não é mais suportado. +editor.errornot = Isto não é um ficheiro de mapa. +editor.errorheader = Este ficheiro de mapa não está mais válido ou está corrompido. +editor.errorname = O mapa não tem nome definido. Estás a tentar carregar um ficheiro de save? +editor.errorlocales = Erro ao ler pacotes locais inválidos. editor.update = Atualizar editor.randomize = Aleatorizar +editor.moveup = Mover para Cima +editor.movedown = Mover para Baixo +editor.copy = Copiar editor.apply = Aplicar editor.generate = Gerar +editor.sectorgenerate = Geração de Setor editor.resize = Redimen-\nsionar editor.loadmap = Carregar\nmapa editor.savemap = Gravar\nmapa +editor.savechanges = [scarlet]Tens modificações não gravadas!\n\n[]Queres gravá-las? editor.saved = Gravado! -editor.save.noname = Seu mapa não tem um nome! Coloque um no menu de "Informação do mapa" -editor.save.overwrite = O seu mapa substitui um mapa já construído! Coloque um nome diferente no menu "Informação do mapa" -editor.import.exists = [scarlet]Não foi possivel importar:[] Um mapa construído chamado '{0}' Já existe! +editor.save.noname = O teu mapa não tem um nome! Coloca um no menu de "Informação do mapa" +editor.save.overwrite = O teu mapa substitui um mapa incorporado no jogo! Coloca um nome diferente no menu "Informação do mapa" +editor.import.exists = [scarlet]Não foi possivel importar:[] Um mapa incorporado chamado '{0}' já existe! editor.import = Importar... editor.importmap = Importar Mapa -editor.importmap.description = Importar um mapa existente +editor.importmap.description = Importar um mapa já existente editor.importfile = Importar ficheiro editor.importfile.description = Importar um ficheiro externo -editor.importimage = Importar imagem do terreno -editor.importimage.description = Importar uma imagem de terreno externa +editor.importimage = Importar Imagem de terreno +editor.importimage.description = Importar um ficheiro de imagem externo editor.export = Exportar... -editor.exportfile = Exportar ficheiro +editor.exportfile = Exportar Ficheiro editor.exportfile.description = Exportar um ficheiro de mapa -editor.exportimage = Exportar imagem de terreno -editor.exportimage.description = Exportar um ficheiro de imagem de mapa -editor.loadimage = Carregar\nImagem -editor.saveimage = Gravar\nImagem -editor.unsaved = [scarlet]Você tem alterações não gradavas![]\nTem certeza que quer sair? +editor.exportimage = Exportar Imagem de terreno +editor.exportimage.description = Exportar uma imagem com topografia básica apenas +editor.loadimage = Importar Terreno +editor.saveimage = Exportar Terreno +editor.unsaved = [scarlet]Tens alterações não gravadas![]\nTens a certeza que queres sair? editor.resizemap = Redimensionar Mapa editor.mapname = Nome do Mapa: -editor.overwrite = [accent]Aviso!\nIsso Substitui um mapa existente. -editor.overwrite.confirm = [scarlet]Aviso![] Um mapa com esse nome já existe. Tem certeza que deseja substituir? +editor.overwrite = [accent]Aviso!\nIsto sobesvreve um mapa já existente. +editor.overwrite.confirm = [scarlet]Aviso![] Um mapa com este nome já existe. Tens a certeza que desejas substituí-lo? editor.exists = Já existe um mapa com este nome. editor.selectmap = Selecione uma mapa para carregar: @@ -407,21 +568,28 @@ toolmode.replaceall = Substituir tudo toolmode.replaceall.description = Substituir todos os blocos no mapa toolmode.orthogonal = Linha reta toolmode.orthogonal.description = Desenha apenas linhas retas. -toolmode.square = Square +toolmode.square = Quadrado toolmode.square.description = Pincel quadrado. -toolmode.eraseores = Apagar minérios +toolmode.eraseores = Apagar Minérios toolmode.eraseores.description = Apaga apenas minérios. -toolmode.fillteams = Encher times -toolmode.fillteams.description = Muda o time do qual todos os blocos pertencem. -toolmode.drawteams = Desenhar times -toolmode.drawteams.description = Muda o time do qual o bloco pertence. +toolmode.fillteams = Preencher Equipas +toolmode.fillteams.description = Muda a equipa da qual todos os blocos pertencem. +toolmode.fillerase = Preencher Apagar +toolmode.fillerase.description = Apaga blocos do mesmo tipo. +toolmode.drawteams = Desenhar Euipas +toolmode.drawteams.description = Muda a equipa da qual o bloco pertence. -filters.empty = [lightgray]Sem filtro! Adicione um usando o botão abaixo. -filter.distort = Distorcedor +#unused +toolmode.underliquid = Debaixo de Líquidos +toolmode.underliquid.description = Desenha o fundo de poças de líquidos. + +filters.empty = [lightgray]Sem filtros! Adicione um com o botão abaixo. + +filter.distort = Distorcer filter.noise = Geração aleatória -filter.enemyspawn = Enemy Spawn Select -filter.spawnpath = Path To Spawn -filter.corespawn = Core Select +filter.enemyspawn = Selecionar Spawn inimigo +filter.spawnpath = Caminho para o Spawn +filter.corespawn = Selecionar Núcleo filter.median = Mediano filter.oremedian = Minério Mediano filter.blend = Misturar @@ -429,10 +597,11 @@ filter.defaultores = Minérios padrão filter.ore = Minério filter.rivernoise = Geração aleatória de rios filter.mirror = Espelhar -filter.clear = Excluir +filter.clear = Apagar filter.option.ignore = Ignorar filter.scatter = Dispersão filter.terrain = Terreno +filter.logic = Lógica filter.option.scale = Escala filter.option.chance = Chance filter.option.mag = Magnitude @@ -441,93 +610,218 @@ filter.option.circle-scale = Escala de círculo filter.option.octaves = Oitavas filter.option.falloff = Caída filter.option.angle = Ângulo -filter.option.amount = Amount +filter.option.tilt = Inclinação +filter.option.rotate = Rodar +filter.option.amount = Quantidade filter.option.block = Bloco filter.option.floor = Chão filter.option.flooronto = Chão alvo -filter.option.target = Target +filter.option.target = Alvo +filter.option.replacement = Substituto filter.option.wall = Parede filter.option.ore = Minério filter.option.floor2 = Chão secundário filter.option.threshold2 = Margem secundária filter.option.radius = Raio filter.option.percentile = Percentual +filter.option.code = Código +filter.option.loop = Loop +locales.info = Aqui podes adicionar pacotes locais para idiomas específicos no teu mapa. Nos pacotes locais, cada propriedade tem um nome e um valor. Estas propriedades podem ser usadas por processadroes globais ou objetivos que usem os seus nomes. Suportam formatação de texto (substituir espaços por valores atuais).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Tens a certeza que queres apagar este pacote local? +locales.applytoall = Aplicar Modificações a Todos os Locais +locales.addtoother = Adicionar a Outros Locais +locales.rollback = Reverter para último aplicado +locales.filter = Filtro de propriedade +locales.searchname = Procurar nome... +locales.searchvalue = Provurar valor... +locales.searchlocale = Procurar local... +locales.byname = Por nome +locales.byvalue = Por valor +locales.showcorrect = Mostrar propriedades que estão presentes em todos os locais e têm valores únicos em todo o lado +locales.showmissing = Mostrar propriedades que estão em falta em alguns locais +locales.showsame = Mostrar propriedades que têm valores iguais em locais diferentes +locales.viewproperty = Ver em todos os locais +locales.viewing = A ver propriedade "{0}" +locales.addicon = Adicionar Ãcone width = Largura: height = Altura: menu = Menu play = Jogar -campaign = Campa-/nnha +campaign = Campanha load = Carregar save = Gravar fps = FPS: {0} ping = Ping: {0}ms -language.restart = Por favor, reinicie seu jogo para a tradução tomar efeito. -settings = Configu-/nrações +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = Por favor, reinicia o teu jogo para aplicar a atradução. +settings = Configurações tutorial = Tutorial tutorial.retake = Refazer Tutorial editor = Editor mapeditor = Editor de mapa abandon = Abandonar -abandon.text = Esta zona e todos os seus recursos serão perdidos para o inimigo. -locked = Trancado +abandon.text = Este setor e todos os seus recursos serão perdidos para o inimigo. +locked = Bloqueado complete = [lightgray]Completo: -requirement.wave = Ronda alcançada {0} / {1} +requirement.wave = Horda alcançada {0} / {1} requirement.core = Destruir Núcleo Inimigo em {0} -requirement.research = Research {0} +requirement.research = Investigue {0} +requirement.produce = Produza {0} requirement.capture = Capture {0} -bestwave = [lightgray]Melhor: {0} -launch.text = Launch -research.multiplayer = Only the host can research items. +requirement.onplanet = Controlar setor em {0} +requirement.onsector = Aterrar no setor: {0} +launch.text = Lançar +#research.multiplayer = Apenas o anfitrião pode pesquisar itens +map.multiplayer = Apenas o anfitrião pode ver os setores + uncover = Descobrir -configure = Configurar carregamento -loadout = Loadout -resources = Resources +configure = Configurar Carregamento + +objective.research.name = Pesquisa +objective.produce.name = Obter +objective.item.name = Obter o Item +objective.coreitem.name = Item do Núcleo +objective.buildcount.name = Quantidade de Construções +objective.unitcount.name = Quantidade de Unidades +objective.destroyunits.name = Destruir Unidades +objective.timer.name = Temporizador +objective.destroyblock.name = Destruir Bloco +objective.destroyblocks.name = Destruir Blocos +objective.destroycore.name = Destruir o Núcleo +objective.commandmode.name = Modo de Comando +objective.flag.name = Etiqueta + +marker.shapetext.name = Forma do Texto +marker.point.name = Ponto +marker.shape.name = Forma +marker.text.name = Texto +marker.line.name = Linha +marker.quad.name = Quandrado +marker.texture.name = Textura +marker.background = Fundo +marker.outline = Rebordo + +objective.research = [accent]Pesquisa:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtém:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destrói:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destrói: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtém: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move para o Núcleo:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Constrói: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Constrói a Unidade: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destrói: [][lightgray]{0}[]x Unidades +objective.enemiesapproaching = [accent]Inimigos aproximando em [lightgray]{0}[] +objective.enemyescelating = [accent]Produção inimiga a aumentar em [lightgray]{0}[] +objective.enemyairunits = [accent]Produção de unidades aéreas inimigas a partir de [lightgray]{0}[] +objective.destroycore = [accent]Destrói o Núcleo Inimigo +objective.command = [accent]Comandar Unidades +objective.nuclearlaunch = [accent]âš  Lançamento Nuclear detetado: [lightgray]{0} + +announce.nuclearstrike = [red]âš  ATAQUE NUCLEAR APROXIMANDO-SE âš \n[lightgray]constrói núcleos de reserva imediatamente + +loadout = Carregamento +resources = Recursos +resources.max = Máximo bannedblocks = Blocos banidos -addall = Adiciona tudo -launch.destination = Destination: {0} +unbannedblocks = Unbanned Blocks +objectives = Objectivos +bannedunits = Unidades banidas +unbannedunits = Unbanned Units +bannedunits.whitelist = Unidades banidas como Lista branca +bannedblocks.whitelist = Blocos banidos como Lista branca +addall = Adicionar tudo +launch.from = A lançar de: [accent]{0} +launch.capacity = Capacidade de Itens de Lançamento: [accent]{0} +launch.destination = Destino: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = A quantidade deve ser um número entre 0 e {0}. -zone.unlocked = [lightgray]{0} Desbloqueado. -zone.requirement.complete = Horda {0} alcançada:\n{1} Requerimentos da zona alcançada. -zone.resources = Recursos detectados: -zone.objective = [lightgray]Objetivo: [accent]{0} -zone.objective.survival = Sobreviver -zone.objective.attack = Destruir o núcleo inimigo add = Adicionar... -boss.health = Saúde do chefe +guardian = Guardião connectfail = [crimson]Falha ao entrar no servidor: [accent]{0} -error.unreachable = Servidor inalcançável. +error.unreachable = Servidor inalcançável.\nO endereço está certo? error.invalidaddress = Endereço inválido. -error.timedout = Desconectado!\nTenha certeza que o anfitrião tenha feito redirecionamento de portas e que o endereço esteja correto! -error.mismatch = Erro de pacote:\nPossivel incompatibilidade com a versão do cliente/servidor.\nTenha certeza que você e o anfitrião tenham a última versão! +error.timedout = Desconectado!\nTem a certeza que o anfitrião configurou o port forwarding e que o endereço está correto! +error.mismatch = Erro de pacote:\nPossível incompatibilidade com a versão do cliente/servidor.\nTem a certeza que tu e o anfitrião têm a última versão! error.alreadyconnected = Já conectado. error.mapnotfound = Ficheiro de mapa não encontrado! error.io = Erro I/O de internet. error.any = Erro de rede desconhecido. -error.bloom = Falha ao inicializar bloom.\nSeu aparelho talvez não o suporte. +error.bloom = Falha ao inicializar bloom.\nTalvez o seu dispositivo não o suporte. +error.moddex = O Mindustry não consegue carregar este mod.\nO seu dispositivo está a bloquear a importação de mods Java devido a implementações do Android.\nAinda não foi encontrada uma solução. -weather.rain.name = Rain -weather.snow.name = Snow -weather.sandstorm.name = Sandstorm -weather.sporestorm.name = Sporestorm -weather.fog.name = Fog +weather.rain.name = Chuva +weather.snowing.name = Neve +weather.sandstorm.name = Tempestade de Areia +weather.sporestorm.name = Tempestade de Esporos +weather.fog.name = Nevoeiro -sectors.unexplored = [lightgray]Unexplored -sectors.resources = Resources: -sectors.production = Production: -sectors.stored = Stored: -sectors.resume = Resume -sectors.launch = Launch -sectors.select = Select -sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +campaign.playtime = \uf129 [lightgray]Tempo de Jogo do setor: {0} +campaign.complete = [accent]Parabéns.\n\nO Inimigo em {0} foi derrotado.\n[lightgray]O setor final foi conquistado. + +sectorlist = Setores +sectorlist.attacked = {0} sob ataque + +sectors.unexplored = [lightgray]Não explorado +sectors.resources = Recursos: +sectors.production = Produção: +sectors.export = Exportar: +sectors.import = Importar: +sectors.time = Tempo: +sectors.threat = Ameaça: +sectors.wave = Horda: +sectors.stored = Armazenado: +sectors.resume = Continuar +sectors.launch = Lançar +sectors.select = Selecionar +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]nenhum (sun) +sectors.redirect = Redirect Launch Pads +sectors.rename = Renomear Setor +sectors.enemybase = [scarlet]Base Inimiga +sectors.vulnerable = [scarlet]Vulnerável +sectors.underattack = [scarlet]Sob ataque! [accent]{0}% danificado +sectors.underattack.nodamage = [scarlet]Não Capturado +sectors.survives = [accent]Sobrevive {0} hordas +sectors.go = ir +sector.abandon = Abandonar +sector.abandon.confirm = O(s) núcleo(s) deste setor irão autodestruir-se.\nContinuar? +sector.curcapture = Setor Capturado +sector.curlost = Sector Perdido +sector.missingresources = [scarlet]Recursos Insuficientes no Núcleo +sector.attacked = Setor [accent]{0}[white] sob ataque! +sector.lost = Setor [accent]{0}[white] perdido! +sector.capture = Setor [accent]{0}[white]Capturado! +sector.capture.current = Setor Capturado! +sector.changeicon = Mudar ícone +sector.noswitch.title = Não foi possivel mudar de Setores +sector.noswitch = Não deves trocar de setores quando existe um sobre ataque.\n\nSetor: [accent]{0}[] em [accent]{1}[] +sector.view = Ver Setor + +threat.low = Baixo +threat.medium = Médio +threat.high = Alto +threat.extreme = Extremo +threat.eradication = Erradicação + +difficulty.casual = Casual +difficulty.easy = Fácil +difficulty.normal = Normal +difficulty.hard = Difícil +difficulty.eradication = Erradicação + +planets = Planetas planet.serpulo.name = Serpulo -planet.sun.name = Sun +planet.erekir.name = Erekir +planet.sun.name = Sol +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters sector.frozenForest.name = Frozen Forest @@ -539,366 +833,649 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. -sector.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. +sector.groundZero.description = Um bom lugar para recomeçar. Baixa ameaça inimiga. Poucos recursos.\nConsegue o máximo possível de chumbo e cobre.\nContinua. +sector.frozenForest.description = Mesmo aqui, perto das montanhas, os esporos espalharam-se. As temperaturas baixas não os podem conter para sempre.\n\nComeça a aventura com energia. Constrói geradores a combustão. Aprende a usar reparadores. +sector.saltFlats.description = Nos arredores do deserto ficam as planícies de sal. Poucos recursos podem ser encontrados neste local.\n\nO inimigo construiu um complexo de armazenamento de recursos aqui. Destrói o núcleo deles. Não deixes nada de sobra. +sector.craters.description = A água se acumulou nesta cratera, relíquia das guerras antigas. Reconquista a área. Recolhe areia. Faz metavidro. Usa a água para arrefecer brocas e torres. +sector.ruinousShores.description = Para além dos resíduos, está a linha costeira. Antigamente, este local abrigava uma rede de defesa costeira. Não restou muita coisa. Apenas as estruturas de defesas básicas permaneceram ilesas, o resto foi reduzido a sucata.\nContinua a expandir os teus territórios, redescobre a tecnologia. +sector.stainedMountains.description = Mais para o interior estão as montanhas, ainda não contaminadas pelos esporos.\nExtrai o titânio que é abundante nesta área. Aprende a usá-lo.\n\nA presença inimiga é maior aqui. Não lhes dês tempo de trazerem unidades mais fortes. +sector.overgrowth.description = Esta área coberta por vegetação, próxima ao local de origem dos esporos.\nO inimigo estabeleceu um posto de controlo aqui. Produz unidades Mace. Destrói-o. +sector.tarFields.description = A periferia de uma zona de produção de petróleo, entre as montanhas e o deserto. Uma das poucas áreas com reservas de alcatrão utilizáveis.\nMesmo abandonada, esta área tem forças inimigas perigosas por perto. Não os subestimes.\n\n[lightgray]Pesquisa a tecnologia de processamento de petróleo se possível. +sector.desolateRift.description = Uma zona extremamente perigosa. Recursos abundantes, mas pouco espaço. Grande risco de destruição. Constrói defesas aéreas e terrestres o mais rápido possível. Não te deixes levar pelo tempo entre os ataques inimigos. +sector.nuclearComplex.description = Uma antiga instalação de produção e processamento de tório, reduzida a ruínas.\n[lightgray]Investiga o tório e os seus vários usos.\n\nO inimigo está presente aqui em grande número, constantemente à procura por atacantes. +sector.fungalPass.description = Uma área de transição entre altas montanhas e terras baixas, repletas de esporos. Uma pequena base de reconhecimento inimiga está aqui.\nDestrua-a. Usa as unidades Dagger e Crawler. Desfaz os dois núcleos. +sector.biomassFacility.description = A origem dos esporos. Esta é a instalação onde eles foram pesquisados e produzidos inicialmente.\nPesquisa a tecnologia contida na instalação. Cultiva os esporos para a produção de combustíveis e plásticos.\n\n[lightgray]No falecimento da instalação, os esporos foram libertados. Nada no ecossistema local conseguia competir com um organismo tão invasivo. +sector.windsweptIslands.description = Um pouco depois do literal está esta série remota de ilhas. Registos mostram que haviam estruturas de produção de [accent]Plastânio[].\n\nDefende-te das unidades navais inimigas. Estabelece uma base nas ilhas. Pesquisa estas fábricas. +sector.extractionOutpost.description = Um posto avançado remoto, construído pelo inimigo com o objetivo de lançar recursos para outros setores.\n\nA tecnologia de transporte entre setores é essencial para conquistas de território posteriores. Destrói a base. Pesquisa as Plataformas de Lançamento deles. +sector.impact0078.description = Aqui repousam restos de uma nave de transporte interestelar que entrou pela primeira vez neste sistema.\nRecupera o máximo possível dos destroços. Pesquisa qualquer tecnologia intacta. +sector.planetaryTerminal.description = O último alvo.\n\nEssa base costeira contém a estrutura capaz de lançar Núcleos para planetas locais. Está extremamente bem protegida.\n\nProduz unidades navais. Elimina o inimigo o mais rápido possível. Pesquisa a estrutura de lançamento. +sector.coastline.description = Restos de tecnologia de unidades navais foram detetados nesta localização. Repele os ataques inimigos, captura o setor, e adquire a tecnologia. +sector.navalFortress.description = O inimigo estabeleceu uma base numa ilha remota e naturalmente fortificada. Destrói este posto. Adquire a tecnologia avançada de construção naval deles, e desenvolve-a. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold -settings.language = Linguagem +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon + +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Inicia a conquista de Erekir. Reúne recursos, produz unidades e começa a pesquisar tecnologia. +sector.aegis.description = Este setor contém depósitos de tungsténio.\nDesenvolve a [accent]Broca de Impacto[] para minerar este recurso, e destrói a base inimiga nesta área. +sector.lake.description = O lago de escória neste setor limita muito as unidades viáveis. Uma unidade flutuante é a única opção.\nPesquisa o [accent]Construtor de Naves[] e produza uma unidade [accent]Elude[] o mais rápido possível. +sector.intersect.description = Scans sugerem que este setor será atacado de vários lados logo após a aterragem.\nPrepara defesas rapidamente e expande o mais rápido possível.\nSerão necessárias unidades [accent]Mech[] para o terreno acidentado da área. +sector.atlas.description = Este setor contém terreno variado e exigirá uma variedade de unidades para atacar eficazmente.\nUnidades melhoradas também podem ser necessárias para passar por algumas das bases inimigas mais difíceis detectadas aqui.\nPesquisa o [accent]Eletrolisador[] e o [accent]Refrabicador de Tanques[]. +sector.split.description = A presença mínima de inimigos neste setor torna-o perfeito para testar novas tecnologias de transporte. +sector.basin.description = Grande presença inimiga detetada neste setor.\nConstrói unidades rapidamente e captura os núcleos inimigos para ganhar terreno. +sector.marsh.description = Este setor tem abundância de arquicita, mas tem respiradouros limitados.\nConstrói [accent]Câmaras de Combustão Química[] para gerar energia. +sector.peaks.description = O terreno montanhoso neste setor torna a maioria das unidades inúteis. Unidades voadoras serão necessárias.\nEsteja atento das instalações anti-aéreas inimigas. Pode ser possível desativar algumas dessas instalações ao atacar as suas construções de suporte. +sector.ravine.description = Nenhum núcleo inimigo detetado no setor, embora seja uma importante rota de transporte para o inimigo. Espera uma variedade de forças inimigas.\nProduz [accent]liga de surto[]. Constrói torres [accent]Afflict[]. +sector.caldera-erekir.description = Os recursos detetados neste setor estão espalhados por várias ilhas.\nPesquisa e implanta transporte baseado em drones. +sector.stronghold.description = O grande acampamento inimigo neste setor guarda depósitos significativos de [accent]tório[].\nUse-o para desenvolver unidades e torres de nível superior. +sector.crevice.description = O inimigo enviará forças de ataque ferozes para destruir a tua base neste setor.\nDesenvolver [accent]carbide[] e o [accent]Gerador de Pirólise[] pode ser indispensável para sobreviver. +sector.siege.description = Este setor apresenta dois desfiladeiros paralelos que forçarão um ataque em duas frentes.\nPesquisa o [accent]cianogénio[] para obter a capacidade de criar unidades de tanques ainda mais fortes.\nCuidado: mísseis inimigos de longo alcance foram detectados. Os mísseis podem ser derrubados antes do impacto. +sector.crossroads.description = As bases inimigas neste setor foram estabelecidas em terrenos variados. Pesquisa diferentes unidades para adaptar.\nAlém disso, algumas bases estão protegidas por escudos. Descobre como eles são alimentados. +sector.karst.description = Este setor é rico em recursos, mas será atacado pelo inimigo assim que um novo núcleo chegar.\nAproveita os recursos e pesquisa o [accent]tecido de fase[]. +sector.origin.description = O setor final com uma presença inimiga significativa.\nNenhuma oportunidade de pesquisa provável permanece - foca-te apenas em destruir todos os núcleos inimigos. +status.burning.name = Queimar +status.freezing.name = Congelar +status.wet.name = Molhado +status.muddy.name = Lama +status.melting.name = Derreter +status.sapped.name = Enfraquecer +status.electrified.name = Eletrificar +status.spore-slowed.name = Lentidão de Esporos +status.tarred.name = Tarred +status.overdrive.name = Sobrecarga +status.overclock.name = Overclock +status.shocked.name = Choque +status.blasted.name = Explosão +status.unmoving.name = Parado +status.boss.name = Guardião + +settings.language = Idioma settings.data = Dados do jogo settings.reset = Restaurar Padrões settings.rebind = Religar -settings.resetKey = Reset -settings.controls = Controles +settings.resetKey = Repor +settings.controls = Controlos settings.game = Jogo settings.sound = Som settings.graphics = Gráficos settings.cleardata = Apagar dados... -settings.clear.confirm = Certeza que quer limpar a os dados?\nOque é feito não pode ser desfeito! -settings.clearall.confirm = [scarlet]Aviso![]\nIsso vai limpar toda a data, Incluindo saves, mapas, Keybinds e desbloqueados.\nQuando apertar 'ok' Vai apagar toda a data e sair automaticamente. -settings.clearsaves.confirm = Are you sure you want to clear all your saves? -settings.clearsaves = Clear Saves -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? -paused = Pausado +settings.clear.confirm = Tens a certeza que queres limpar os dados?\nOque é feito não pode ser desfeito! +settings.clearall.confirm = [scarlet]AVISO![]\nIsto vai limpar todos os dados, incluindo saves, mapas, keybinds e desbloqueios.\nQuando apertar 'ok' o jogo vai apagar todos os dados e fechar automaticamente. +settings.clearsaves.confirm = Tens a certeza que queres apagar todos os teus saves? +settings.clearsaves = Apagar Saves +settings.clearresearch = Limpar Pesquisa +settings.clearresearch.confirm = Tens a certeza que queres apagar toda a tua pesquisa na campanha? +settings.clearcampaignsaves = Limpar Saves da Campanha +settings.clearcampaignsaves.confirm = Tens a certeza que queres limpar todos os teus saves da campanha? +paused = < Pausado > clear = Limpar banned = [scarlet]Banido -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Ambiente Não Suportado yes = Sim no = Não info.title = [accent]Informação error.title = [crimson]Ocorreu um Erro. error.crashtitle = Ocorreu um Erro -unit.nobuild = [scarlet]Unit can't build -lastaccessed = [lightgray]Last Accessed: {0} +unit.nobuild = [scarlet]Unidade não pode construir +lastaccessed = [lightgray]Último Acesso: {0} +lastcommanded = [lightgray]Último comando: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Finalidade stat.input = Entrada stat.output = Saida +stat.maxefficiency = Eficiência Máxima stat.booster = Booster -stat.tiles = Telhas Requeridas +stat.tiles = Blocos Necessários stat.affinities = Afinidades +stat.opposites = Opostos stat.powercapacity = Capacidade de Energia stat.powershot = Energia/tiro stat.damage = Dano -stat.targetsair = Mirar no ar -stat.targetsground = Mirar no chão +stat.targetsair = Mirar no Ar +stat.targetsground = Mirar no Chão stat.itemsmoved = Velocidade de movimento -stat.launchtime = Tempo entre tiros -stat.shootrange = Alcance +stat.launchtime = Tempo entre Tiros +stat.shootrange = Alcance de Tiro stat.size = Tamanho -stat.displaysize = Display Size +stat.displaysize = Mostrar Tamanho stat.liquidcapacity = Capacidade de Líquido stat.powerrange = Alcance da Energia -stat.linkrange = Link Range -stat.instructions = Instructions -stat.powerconnections = Max Connections -stat.poweruse = Uso de energia +stat.linkrange = Alcance do Link +stat.instructions = Instruções +stat.powerconnections = Conexões Máximas +stat.poweruse = Uso de Energia stat.powerdamage = Dano/Poder stat.itemcapacity = Capacidade de Itens -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = Geração de poder base -stat.productiontime = Tempo de produção -stat.repairtime = Tempo de reparo total do bloco -stat.speedincrease = Aumento de velocidade -stat.range = Distância -stat.drilltier = Furáveis -stat.drillspeed = Velocidade da broca base +stat.memorycapacity = Capacidade de Memória +stat.basepowergeneration = Geração de Poder Base +stat.productiontime = Tempo de Produção +stat.repairtime = Tempo de Reparo Total do Bloco +stat.repairspeed = Velocidade de Reparação +stat.weapons = Armas +stat.bullet = Bala +stat.moduletier = Nível do Módulo +stat.unittype = Tipo de Unidade +stat.speedincrease = Aumento de Velocidade +stat.range = Alcance +stat.drilltier = Brocas +stat.drillspeed = Velocidade base da Broca stat.boosteffect = Efeito do Boost -stat.maxunits = Máximo de unidades ativas +stat.maxunits = Máximo de Unidades Ativas stat.health = Saúde -stat.buildtime = Tempo de construção -stat.maxconsecutive = Max Consecutive -stat.buildcost = Custo de construção +stat.armor = Armor +stat.buildtime = Tempo de Construção +stat.maxconsecutive = Máximo Consecutivo +stat.buildcost = Custo de Construção stat.inaccuracy = Imprecisão stat.shots = Tiros -stat.reload = Tiros por segundo +stat.reload = Tiros por Segundo stat.ammo = Munição -stat.shieldhealth = Shield Health -stat.cooldowntime = Cooldown Time -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.shieldhealth = Vida do Escudo +stat.cooldowntime = Tempo de Espera +stat.explosiveness = Explosividade +stat.basedeflectchance = Probabilidade Base de Esquiva +stat.lightningchance = Probabilidade de Raio +stat.lightningdamage = Dano de Raio +stat.flammability = Inflamabilidade +stat.radioactivity = Radioatividade +stat.charge = Carga de Eletricidade +stat.heatcapacity = Capacidade de Calor +stat.viscosity = Viscosidade +stat.temperature = Temperatura +stat.speed = Velocidade +stat.buildspeed = Velocidade de Construção +stat.minespeed = Velocidade de Mineração +stat.minetier = Nível de Mineração +stat.payloadcapacity = Capacidade da Carga +stat.abilities = Habilidades +stat.canboost = Pode Impulsionar +stat.flying = Voar +stat.ammouse = Consumo de Munição +stat.ammocapacity = Capacidade de Munição +stat.damagemultiplier = Multiplicador de Dano +stat.healthmultiplier = Multiplicador de Vida +stat.speedmultiplier = Multiplicador de Velocidade +stat.reloadmultiplier = Multiplicador de Recarga +stat.buildspeedmultiplier = Multiplicador de Velocidade de COnstrução +stat.reactive = Reações +stat.immunities = Imunidade +stat.healing = Reparação +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = Campo de Força +ability.forcefield.description = Cria um campo de força que absorve as balas +ability.repairfield = Campo de Reparação +ability.repairfield.description = Repara unidades próximas +ability.statusfield = Campo de Estado +ability.statusfield.description = Aplica um estado a unidades próximas +ability.unitspawn = Fábrica +ability.unitspawn.description = Constrói unidades +ability.shieldregenfield = Campo de regeneração do escudo +ability.shieldregenfield.description = Regenera o escudo de unidades próximas +ability.movelightning = Raio de Movimento +ability.movelightning.description = Liberta raios enquanto se move +ability.armorplate = Placa de Armadura +ability.armorplate.description = Reduz o dano sofrido ao disparar +ability.shieldarc = Arco de Escudo +ability.shieldarc.description = Projeta um campo de escudo em forma de arco que absorve as balas +ability.suppressionfield = Supressão de Reparo +ability.suppressionfield.description = Pára reparações de estruturas próximas +ability.energyfield = Campo de Energia +ability.energyfield.description = Eletrocuta inimigos próximos +ability.energyfield.healdescription = Eletrocuta inimigos próximos e cura aliados +ability.regen = Regeneração +ability.regen.description = Regenera a própria vida com o tempo +ability.liquidregen = Absorção de Líquidos +ability.liquidregen.description = Absorve líquidos para curar-se a si próprio +ability.spawndeath = Spawns de Morte +ability.spawndeath.description = Liberta unidades aquando a morte +ability.liquidexplode = Derrame de morte +ability.liquidexplode.description = Derrama líquidos aquando a morte +ability.stat.firingrate = [stat]{0}/seg.[lightgray] taxa de disparo +ability.stat.regen = [stat]{0}[lightgray] vida/sec +ability.stat.pulseregen = [stat]{0}[lightgray] vida/pulso +ability.stat.shield = [stat]{0}[lightgray] escudo +ability.stat.repairspeed = [stat]{0}/seg.[lightgray] velocidade de reparação +ability.stat.slurpheal = [stat]{0}[lightgray] unidade de vida/líquido +ability.stat.cooldown = [stat]{0} seg.[lightgray] espera +ability.stat.maxtargets = [stat]{0}[lightgray] alvos máximos +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] quantidade de reparação do mesmo tipo +ability.stat.damagereduction = [stat]{0}%[lightgray] redução de dano +ability.stat.minspeed = [stat]{0} blocos/seg.[lightgray] velocidade mínima +ability.stat.duration = [stat]{0} seg.[lightgray] duração +ability.stat.buildtime = [stat]{0} seg.[lightgray] tempo de construção -bar.drilltierreq = Broca melhor necessária. -bar.noresources = Missing Resources -bar.corereq = Core Base Required -bar.drillspeed = Velocidade da broca: {0}/s -bar.pumpspeed = Pump Speed: {0}/s +bar.onlycoredeposit = Depósito no núcleo permitido apenas +bar.drilltierreq = Melhor broca necessária +bar.nobatterypower = Insufficient Battery Power +bar.noresources = Recursos Insuficientes +bar.corereq = Base de Núcleo Necessária +bar.corefloor = Chão de colocação do Núcleo Necessária +bar.cargounitcap = Limite de Carga Atingido +bar.drillspeed = Velocidade da Broca: {0}/s +bar.pumpspeed = Velocidade da Bomba: {0}/s bar.efficiency = Eficiência: {0}% -bar.powerbalance = Energia: {0} +bar.boost = Impulso: +{0}% +bar.powerbuffer = Batteries: {0}/{1} +bar.powerbalance = Energia: {0}/s + bar.powerstored = Armazenada: {0}/{1} bar.poweramount = Energia: {0} bar.poweroutput = Saída de energia: {0} -bar.powerlines = Connections: {0}/{1} +bar.powerlines = Conexões: {0}/{1} bar.items = Itens: {0} bar.capacity = Capacidade: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] -bar.liquid = Liquido -bar.heat = Aquecimento -bar.power = Poder -bar.progress = Progresso da construção -bar.input = Input -bar.output = Output +bar.liquid = Líquido +bar.heat = Calor +bar.cooldown = Cooldown +bar.instability = Instabilidade +bar.heatamount = Calor: {0} +bar.heatpercent = Calor: {0} ({1}%) -units.processorcontrol = [lightgray]Processor Controlled +bar.power = Poder +bar.progress = Progresso da Construção +bar.loadprogress = Progreso +bar.launchcooldown = Cooldown de Lançamento +bar.input = Entrada +bar.output = Saída +bar.strength = [stat]{0}[lightgray]x força + +units.processorcontrol = [lightgray]Controlado por Processador bullet.damage = [stat]{0}[lightgray] dano -bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray] Blocos -bullet.incendiary = [stat]Incendiário -bullet.homing = [stat]Guiado -bullet.shock = [stat]Choque -bullet.frag = [stat]Fragmentação -bullet.knockback = [stat]{0}[lightgray]Impulso -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]Congelamento -bullet.tarred = [stat]Grudento +bullet.splashdamage = [stat]{0}[lightgray] Dano em área ~[stat] {1}[lightgray] Bloco(s) +bullet.incendiary = [stat]incendiário +bullet.homing = [stat]guiado +bullet.armorpierce = [stat]perfuração de armadura +bullet.maxdamagefraction = [stat]{0}%[lightgray] limite de dano +bullet.suppression = [stat]{0} seg.[lightgray] supressão de reparação ~ [stat]{1}[lightgray] blocos +bullet.interval = [stat]{0}/seg.[lightgray] balas de intervalo: +bullet.frags = [stat]{0}[lightgray]x fragmentos de balas: +bullet.lightning = [stat]{0}[lightgray]x raio ~ [stat]{1}[lightgray] dano +bullet.buildingdamage = [stat]{0}%[lightgray] dano em construções +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] impulso +bullet.pierce = [stat]{0}[lightgray]x perfuração +bullet.infinitepierce = [stat]perfuração +bullet.healpercent = [stat]{0}[lightgray]% cura +bullet.healamount = [stat]{0}[lightgray] reparo direto bullet.multiplier = [stat]{0}[lightgray]x multiplicador de munição bullet.reload = [stat]{0}[lightgray]x cadência de tiro +bullet.range = [stat]{0}[lightgray] alcance de blocos +bullet.notargetsmissiles = [stat] ignora construções +bullet.notargetsbuildings = [stat] ignora mísseis unit.blocks = Blocos -unit.blockssquared = blocks² -unit.powersecond = Unidades de energia/segundo -unit.liquidsecond = Unidades de líquido/segundo -unit.itemssecond = itens/segundo -unit.liquidunits = Unidades de liquido +unit.blockssquared = Blocos² +unit.powersecond = Unidades de energia/seg. +unit.tilessecond = Blocos/seg. +unit.liquidsecond = Unidades de líquido/seg. +unit.itemssecond = Itens/seg. +unit.liquidunits = Unidades de líquido unit.powerunits = Unidades de energia +unit.heatunits = Unidades de calor unit.degrees = Graus unit.seconds = segundos -unit.minutes = mins -unit.persecond = por segundo +unit.minutes = minutos +unit.persecond = /seg. unit.perminute = /min -unit.timesspeed = x Velocidade +unit.timesspeed = x velocidade +unit.multiplier = x + unit.percent = % -unit.shieldhealth = shield health +unit.shieldhealth = saúde do escudo unit.items = itens -unit.thousands = k -unit.millions = mil -unit.billions = b +unit.thousands = m +unit.millions = M +unit.billions = B +unit.shots = disparos +unit.pershot = /dispasro + +category.purpose = Propósito category.general = Geral category.power = Poder category.liquids = Líquidos category.items = Itens -category.crafting = Construindo -category.function = Function -category.optional = Melhoras opcionais -setting.landscape.name = Travar panorama +category.crafting = Entrada/Saída +category.function = Função +category.optional = Melhorias opcionais +setting.alwaysmusic.name = Tocar Música Sempre +setting.alwaysmusic.description = Quando ativado, a música vai ser tocada sempre em loop durante o jogo.\nQUando desativado, só toca em intervalos aleatórios. +setting.skipcoreanimation.name = Passar Animação de Lançamento/Aterragem do Núcleo +setting.landscape.name = Bloquear Orientação setting.shadows.name = Sombras -setting.blockreplace.name = Automatic Block Suggestions +setting.blockreplace.name = Sugestões Automáticas de Blocos setting.linear.name = Filtragem linear -setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) -setting.buildautopause.name = Auto-Pause Building -setting.animatedwater.name = Ãgua animada -setting.animatedshields.name = Escudos animados -setting.antialias.name = Filtro suavizante[lightgray] (reinicialização requerida)[] -setting.playerindicators.name = Player Indicators -setting.indicators.name = Indicador de aliados -setting.autotarget.name = Alvo automatico -setting.keyboard.name = Controles de mouse e teclado -setting.touchscreen.name = Controles de Touchscreen -setting.fpscap.name = FPS Máximo +setting.hints.name = Dicas +setting.logichints.name = Dicas de Lógica +setting.backgroundpause.name = Pausar Jogo em Segundo Plano +setting.buildautopause.name = Auto-Pausar Construções +setting.doubletapmine.name = Duplo Toque para Minerar +setting.commandmodehold.name = Segurar para Modo de Comando +setting.distinctcontrolgroups.name = Limitar um Grupo de Controlo por Unidade +setting.modcrashdisable.name = Desativar Mods em Crash de Início do Jogo +setting.animatedwater.name = Ãgua Animada +setting.animatedshields.name = Escudos Animados +setting.playerindicators.name = Indicador de Jogadores +setting.indicators.name = Indicador de inimigos +setting.autotarget.name = Alvo Automático +setting.keyboard.name = Controlos de Rato e Teclado +setting.touchscreen.name = Controlos de Touchscreen +setting.fpscap.name = Limite de FPS setting.fpscap.none = Nenhum setting.fpscap.text = {0} FPS -setting.uiscale.name = Escala da IU[lightgray] (reinicialização requerida)[] -setting.swapdiagonal.name = Sempre colocação diagnoal -setting.difficulty.training = Treinamento -setting.difficulty.easy = Fácil -setting.difficulty.normal = Normal -setting.difficulty.hard = Difícil -setting.difficulty.insane = Insano -setting.difficulty.name = Dificuldade -setting.screenshake.name = Balanço do Ecrã + +setting.uiscale.name = Escala da IU[lightgray] (reinicío requerida)[] +setting.uiscale.description = Reinicío necessário para aplicar as alterações. +setting.swapdiagonal.name = Colocação Diagonal Sempre +setting.screenshake.name = Vibração do Ecrã +setting.bloomintensity.name = Intensidade do Bloom + +setting.bloomblur.name = Bloom Blur setting.effects.name = Efeitos -setting.destroyedblocks.name = Mostrar Blocos Destruidos -setting.blockstatus.name = Display Block Status -setting.conveyorpathfinding.name = Localização do caminho do transportador -setting.sensitivity.name = Sensibilidade do Controle -setting.saveinterval.name = Intervalo de autogravamento -setting.seconds = {0} Segundos -setting.blockselecttimeout.name = Tempo limite de seleção do bloco +setting.destroyedblocks.name = Mostrar Blocos Destruídos +setting.blockstatus.name = Mostrar Estado do Bloco +setting.conveyorpathfinding.name = Trajetória de Colocação de Tapetes Rolantes +setting.sensitivity.name = Sensibilidade dos Controlos +setting.saveinterval.name = Intervalo de auto-salvamento do jogo +setting.seconds = {0} segundos setting.milliseconds = {0} milissegundos -setting.fullscreen.name = Ecrã inteiro -setting.borderlesswindow.name = Janela sem borda[lightgray] (Pode precisar reiniciar) -setting.fps.name = Mostrar FPS -setting.smoothcamera.name = Smooth Camera -setting.vsync.name = VSync -setting.pixelate.name = Pixelizado [lightgray](Pode diminuir a performace) -setting.minimap.name = Mostrar minimapa -setting.coreitems.name = Display Core Items (WIP) -setting.position.name = Show Player Position +setting.fullscreen.name = Ecrã Inteiro +setting.borderlesswindow.name = Janela sem Bordas +setting.borderlesswindow.name.windows = Ecrã sem Bordas +setting.borderlesswindow.description = Pode ser necessário reiniciar para aplicar as alterações. +setting.fps.name = Mostrar FPS e Ping +setting.console.name = Ativar Consola +setting.smoothcamera.name = Câmara Suave +setting.vsync.name = Sincronização Vertical (VSync) +setting.pixelate.name = Pixelização +setting.minimap.name = Mostrar Minimapa +setting.coreitems.name = Mostrar Itens do Núcleo +setting.position.name = Mostrar Posição do Jogador +setting.mouseposition.name = Mostrar Posição do Rato setting.musicvol.name = Volume da Música -setting.atmosphere.name = Show Planet Atmosphere -setting.ambientvol.name = Volume do ambiente +setting.atmosphere.name = Mostrar Atmosfera do Planeta +setting.drawlight.name = Renderizar Iluminação/Escuro +setting.ambientvol.name = Volume do Ambiente setting.mutemusic.name = Desligar Música -setting.sfxvol.name = Volume de Efeitos +setting.sfxvol.name = Volume dos Efeitos setting.mutesound.name = Desligar Som -setting.crashreport.name = Enviar denuncias de crash anonimas -setting.savecreate.name = Criar gravamentos automaticamente -setting.publichost.name = Visibilidade do jogo público +setting.crashreport.name = Enviar Relatórios de Crash Anónimos +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Criar Gravações Automaticamente +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Limite de Jogadores -setting.chatopacity.name = Opacidade do chat -setting.lasersopacity.name = Opacidade do Power Laser -setting.bridgeopacity.name = Opacidade da Ponte -setting.playerchat.name = Mostrar chat em jogo -public.confirm = Queres que o teu jogo fique publico?\n[accent]Qualquer jogador vai conseguir juntar-se ao teu jogo.\n[lightgray]Isto pode ser alterado mais tarde in Settings->Game->Public Game Visibility. -public.beta = Observe que as versões beta do jogo não podem criar lobbies públicos. -uiscale.reset = A escala da IU foi mudada.\nPressione "OK" para confirmar esta escala.\n[scarlet]Revertendo e saindo em[accent] {0}[] settings... +setting.chatopacity.name = Opacidade do Chat +setting.lasersopacity.name = Opacidade do Poder do Laser +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Opacidade das Pontes +setting.playerchat.name = Mostrar Chat em Jogo +setting.showweather.name = Mostrar Gráficos do Clima +setting.hidedisplays.name = Ocultar Ecrãs Lógicos + +setting.macnotch.name = Adaptar a interface para exibir o entalhe +setting.macnotch.description = É necessário reiniciar para aplicar as alterações +steam.friendsonly = Amigos Apenas +steam.friendsonly.tooltip = Define se apenas amigos da Steam podem juntar-se ao teu jogo.\nDesativar esta opção fará o teu jogo público - qualquer um pode-se juntar ao teu mapa. +public.beta = Observa que as versões beta do jogo não podem criar lobbies públicos. +uiscale.reset = A escala da IU foi mudada.\nPressiona "OK" para confirmar esta escala.\n[scarlet]Revertendo e saindo em[accent] {0}[] segundos... uiscale.cancel = Cancelar e sair setting.bloom.name = Bloom -keybind.title = Refazer teclas -keybinds.mobile = [scarlet]A maior parte das teclas aqui não são funcionais em aparelhos móveis. Apenas movimento básico é suportado. +keybind.title = Revincular teclas +keybinds.mobile = [scarlet]A maior parte das teclas aqui não funcionam em dispositivos móveis. Apenas é suportado movimento básico. category.general.name = Geral category.view.name = Ver +category.command.name = Comando de Unidades category.multiplayer.name = Multijogador -category.blocks.name = Block Select -command.attack = Atacar -command.rally = Reunir -command.retreat = Recuar -command.idle = Idle -placement.blockselectkeys = \n[lightgray]Key: [{0}, -keybind.respawn.name = Respawn -keybind.control.name = Control Unit -keybind.clear_building.name = Limpar Edificio -keybind.press = Pressione uma tecla... -keybind.press.axis = Pressione uma Axis ou tecla... -keybind.screenshot.name = Captura do mapa -keybind.toggle_power_lines.name = Toggle Power Lasers -keybind.toggle_block_status.name = Toggle Block Statuses -keybind.move_x.name = mover_x -keybind.move_y.name = mover_y -keybind.mouse_move.name = Follow Mouse -keybind.pan.name = Pan View -keybind.boost.name = Boost -keybind.schematic_select.name = Selecionar região -keybind.schematic_menu.name = Menu esquemático -keybind.schematic_flip_x.name = Rodar esquema X -keybind.schematic_flip_y.name = Rodar esquema Y -keybind.category_prev.name = Previous Category -keybind.category_next.name = Next Category -keybind.block_select_left.name = Block Select Left -keybind.block_select_right.name = Block Select Right -keybind.block_select_up.name = Block Select Up -keybind.block_select_down.name = Block Select Down -keybind.block_select_01.name = Category/Block Select 1 -keybind.block_select_02.name = Category/Block Select 2 -keybind.block_select_03.name = Category/Block Select 3 -keybind.block_select_04.name = Category/Block Select 4 -keybind.block_select_05.name = Category/Block Select 5 -keybind.block_select_06.name = Category/Block Select 6 -keybind.block_select_07.name = Category/Block Select 7 -keybind.block_select_08.name = Category/Block Select 8 -keybind.block_select_09.name = Category/Block Select 9 -keybind.block_select_10.name = Category/Block Select 10 -keybind.fullscreen.name = Alterar ecrã inteiro -keybind.select.name = Selecionar -keybind.diagonal_placement.name = Colocação diagonal -keybind.pick.name = Pegar bloco -keybind.break_block.name = Quebrar bloco -keybind.deselect.name = Deselecionar -keybind.pickupCargo.name = Pickup Cargo -keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command + +category.blocks.name = Selecionador de Blocos +placement.blockselectkeys = \n[lightgray]Tecla: [{0}, +keybind.respawn.name = Renascer +keybind.control.name = Controlar Unidade +keybind.clear_building.name = Limpar Construção +keybind.press = Prime uma tecla... +keybind.press.axis = Prime um eixo ou uma tecla... +keybind.screenshot.name = Captura de Ecrã do Mapa +keybind.toggle_power_lines.name = Ativar Lasers de Energia +keybind.toggle_block_status.name = Ativar Estado de Blocos +keybind.move_x.name = Mover no Eixo X +keybind.move_y.name = Mover no Eixo Y +keybind.mouse_move.name = Seguir Rato +keybind.pan.name = Vista Panorâmica +keybind.boost.name = Impulso +keybind.command_mode.name = Modo de Comando +keybind.command_queue.name = Fila de Comando de Unidades +keybind.create_control_group.name = Criar Grupo de Controlo +keybind.cancel_orders.name = Cancelar Pedidos + +keybind.unit_stance_shoot.name = Postura de Unidade: Disparar +keybind.unit_stance_hold_fire.name = Postura de Unidade: Não Disparar +keybind.unit_stance_pursue_target.name = Postura de Unidade: Perseguir Alvo +keybind.unit_stance_patrol.name = Postura de Unidade: Patrulha +keybind.unit_stance_ram.name = Postura de Unidade: Forçar +keybind.unit_command_move.name = Controlo de Unidade: Mover +keybind.unit_command_repair.name = Controlo de Unidade: Reparar +keybind.unit_command_rebuild.name = Controlo de Unidade: Reconstruir +keybind.unit_command_assist.name = Controlo de Unidade: Assistir +keybind.unit_command_mine.name = Controlo de Unidade: Minerar +keybind.unit_command_boost.name = Controlo de Unidade: Impulsionar +keybind.unit_command_load_units.name = Controlo de Unidade: Carregar Unidades +keybind.unit_command_load_blocks.name = Controlo de Unidade: Carregar Blocos +keybind.unit_command_unload_payload.name = Controlo de Unidade: Descarregar Carga +keybind.unit_command_enter_payload.name = Controlo de Unidade: Inserir Carga +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer + +keybind.rebuild_select.name = Reconstruir Região +keybind.schematic_select.name = Selecionar Região +keybind.schematic_menu.name = Menu de Esquemas +keybind.schematic_flip_x.name = Rodar Esquema pelo eixo X +keybind.schematic_flip_y.name = Rodar Esquema pelo eixo Y +keybind.category_prev.name = Categoria Anterior +keybind.category_next.name = Próxima Categoria +keybind.block_select_left.name = Selecionar Bloco à Esquerda +keybind.block_select_right.name = Selecionar Bloco à Direita +keybind.block_select_up.name = Selecionar Bloco Acima +keybind.block_select_down.name = Seleconar Bloco Abaixo +keybind.block_select_01.name = Categoria/Seleção de Bloco 1 +keybind.block_select_02.name = Categoria/Seleção de Bloco 2 +keybind.block_select_03.name = Categoria/Seleção de Bloco 3 +keybind.block_select_04.name = Categoria/Seleção de Bloco 4 +keybind.block_select_05.name = Categoria/Seleção de Bloco 5 +keybind.block_select_06.name = Categoria/Seleção de Bloco 6 +keybind.block_select_07.name = Categoria/Seleção de Bloco 7 +keybind.block_select_08.name = Categoria/Seleção de Bloco 8 +keybind.block_select_09.name = Categoria/Seleção de Bloco 9 +keybind.block_select_10.name = Categoria/Seleção de Bloco 10 +keybind.fullscreen.name = Ativar/Desativar Ecrã Inteiro +keybind.select.name = Selecionar/Atirar +keybind.diagonal_placement.name = Colocação na Diagonal +keybind.pick.name = Pegar Bloco +keybind.break_block.name = Partir Bloco +keybind.select_all_units.name = Selecionar Todas as Unidades +keybind.select_all_unit_factories.name = Selecionar Todas as Fábricas +keybind.deselect.name = Desselecionar +keybind.pickupCargo.name = Pegar Carga +keybind.dropCargo.name = Largar Carga + keybind.shoot.name = Atirar keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pausar -keybind.pause_building.name = Pausar/Resumir construção +keybind.pause_building.name = Pausar/Resumir Construção keybind.minimap.name = Minimapa -keybind.chat.name = Conversa -keybind.player_list.name = Lista_de_jogadores -keybind.console.name = console -keybind.rotate.name = Girar -keybind.rotateplaced.name = Rodar existente (Hold) -keybind.toggle_menus.name = Ativar menus -keybind.chat_history_prev.name = Histórico do chat anterior -keybind.chat_history_next.name = Histórico do proximo chat -keybind.chat_scroll.name = Rolar chat -keybind.drop_unit.name = Soltar unidade -keybind.zoom_minimap.name = Zoom do minimapa +keybind.planet_map.name = Mapa do Planeta +keybind.research.name = Pesquisa +keybind.block_info.name = Informação do Bloco +keybind.chat.name = Chat +keybind.player_list.name = Lista de Jogadores +keybind.console.name = Consola +keybind.rotate.name = Rodar +keybind.rotateplaced.name = Rodar Existente (Manter) +keybind.toggle_menus.name = Ativar/Desativar Menus +keybind.chat_history_prev.name = Histórico do Chat Anterior +keybind.chat_history_next.name = Próximo Histórico do Chat +keybind.chat_scroll.name = Percorrer Chat +keybind.chat_mode.name = Mudar Modo de Chat +keybind.drop_unit.name = Largar Unidade +keybind.zoom_minimap.name = Zoom do Minimapa mode.help.title = Descrição dos mods + mode.survival.name = Sobrevivência -mode.survival.description = O modo normal. Recursos limitados e hordas automáticas. +mode.survival.description = O modo padrão. Recursos limitados e hordas automáticas. mode.sandbox.name = Sandbox -mode.sandbox.description = Recursos infinitos e sem tempo para ataques. +mode.sandbox.description = Recursos infinitos e sem temporizador para ataques. mode.editor.name = Editor -mode.pvp.name = JXJ -mode.pvp.description = Lutar contra outros jogadores locais. +mode.pvp.name = PvP +mode.pvp.description = Luta contra outros jogadores locais.\n[gray]Necessita de pelo menos 2 núcleos de cores diferentes para jogar. mode.attack.name = Ataque -mode.attack.description = Sem hordas, com o objetivo de destruir a base inimiga. +mode.attack.description = Destrói a base inimiga.\n[gray]Requer um núcleo de cor vermelha no mapa para jogar. mode.custom = Regras personalizadas -rules.infiniteresources = Recursos infinitos -rules.reactorexplosions = Reactor Explosions -rules.schematic = Schematics Allowed -rules.wavetimer = Tempo de horda +rules.invaliddata = Dados na área de transferência Inválidos +rules.hidebannedblocks = Ocultar Blocos Banidos + +rules.infiniteresources = Recursos Infinitos +rules.onlydepositcore = Permitir Apenas Depósito no Núcleo +rules.derelictrepair = Permitir Reparação de Blocos Derelict +rules.reactorexplosions = Esploções de Reatores +rules.coreincinerates = Núcleo destrói Itens em Excesso +rules.disableworldprocessors = Desativar Processadores Globais +rules.schematic = Esquemas Permitidos +rules.wavetimer = Tempo de Horda +rules.wavesending = Envio de Hordas +rules.allowedit = Permitir Edição de Regras +rules.allowedit.info = Quando ativado, o jogador pode editar as regras em jogo através do botão no canto sup. esq. nop menu de Pausa. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. + rules.waves = Hordas -rules.attack = Modo de ataque -rules.buildai = AI Building -rules.enemyCheat = Recursos de IA Infinitos -rules.blockhealthmultiplier = Block Health Multiplier -rules.blockdamagemultiplier = Block Damage Multiplier -rules.unitbuildspeedmultiplier = Multiplicador de velocidade de criação de unidade -rules.unithealthmultiplier = Multiplicador de vida de unidade -rules.unitdamagemultiplier = Multiplicador de dano de Unidade -rules.enemycorebuildradius = Raio de "Não-criação" de core inimigo:[lightgray] (blocos) -rules.wavespacing = Espaço entre hordas:[lightgray] (seg) -rules.buildcostmultiplier = Multiplicador de custo de construção -rules.buildspeedmultiplier = Multiplicador de velocidade de construção -rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier -rules.waitForWaveToEnd = hordas esperam inimigos -rules.dropzoneradius = Raio da zona de spawn:[lightgray] (blocos) -rules.unitammo = Units Require Ammo + +rules.airUseSpawns = Unidades Aéreas usam os Pontos de Spawn +rules.attack = Modo de Ataque +rules.buildai = Construtor de Base por IA +rules.buildaitier = Nível de Construtor IA +rules.rtsai = RTS AI [red](WIP) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Tamanho Mínimo de Esquadrão +rules.rtsmaxsquadsize = Tamanho Máximo de Esquadrão +rules.rtsminattackweight = Peso Mínimo de Ataque +rules.cleanupdeadteams = Limpar Construções Inimigas quando derrotadas (PvP) +rules.corecapture = Capturar Núcleo na Cestruição +rules.polygoncoreprotection = Proteção do Núcleo Poligonal +rules.placerangecheck = Verificação do intervalo de colocação +rules.enemyCheat = Recursos Infinitos para a Equipa Inimiga +rules.blockhealthmultiplier = Multiplicador de Vida do Bloco +rules.blockdamagemultiplier = Multiplicador de Dano do Bloco +rules.unitbuildspeedmultiplier = Multiplicador de Velocidade de Criação de Unidades +rules.unitcostmultiplier = Multiplicador de Custo de Unidades +rules.unithealthmultiplier = Multiplicador de Vida de Unidades +rules.unitdamagemultiplier = Multiplicador de Dano de Unidades +rules.unitcrashdamagemultiplier = Multiplicador de Dano de Unidades quando Destruídas. +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Multiplicador de Energia Solar +rules.unitcapvariable = Núcleos Contribuem para o Limite de Unidades +rules.unitpayloadsexplode = Cargas carregadas explodem junto com a Unidade +rules.unitcap = Limite básico de Unidades +rules.limitarea = Limitar Ãrea do Mapa +rules.enemycorebuildradius = Raio de Proteção Contra Construções do Núcleo Inimigo :[lightgray] (blocos) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Tempo entre Hordas:[lightgray] (seg.) +rules.initialwavespacing = Intervalo da Primeira Horda:[lightgray] (seg.) +rules.buildcostmultiplier = Multiplicador do Custo de Construção +rules.buildspeedmultiplier = Multiplicador do Velocidade de Construção +rules.deconstructrefundmultiplier = Multiplicador do Reemboso de Desconstrução +rules.waitForWaveToEnd = Hordas Esperam a Anterior Acabar +rules.wavelimit = Mapa Acaba após a Horda +rules.dropzoneradius = Raio da Zona de Spawn:[lightgray] (blocos) +rules.unitammo = UNidades Requerem Munição [red](pode ser removido) +rules.enemyteam = Equipa Inimiga +rules.playerteam = Equipa do jogador + rules.title.waves = Hordas rules.title.resourcesbuilding = Recursos e Construções rules.title.enemy = Inimigos rules.title.unit = Unidades rules.title.experimental = Experimental -rules.title.environment = Environment -rules.lighting = Lighting -rules.enemyLights = Enemy Lights -rules.fire = Fire -rules.explosions = Block/Unit Explosion Damage -rules.ambientlight = Ambient Light +rules.title.environment = Ambiente +rules.title.teams = Equipas +rules.title.planet = Planeta +rules.lighting = Iluminação +rules.fog = Névoa de guerra +rules.invasions = Invasões de Setores Inimigos +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Mostrar Spawn de Inimigos +rules.randomwaveai = IA de hordas imprevisível +rules.fire = Fogo +rules.anyenv = +rules.explosions = Dano de Explosão a Bloco/Unidade +rules.ambientlight = Luz Ambiente + rules.weather = Weather -rules.weather.frequency = Frequency: -rules.weather.duration = Duration: +rules.weather.frequency = Frequência: +rules.weather.always = Sempre +rules.weather.duration = Duração: +rules.randomwaveai.info = As unidades spawnadas por hordas atacam estruturas aleatórias em vez atacarem diretamente o núcleo ou geradores de energia. +rules.placerangecheck.info = Previne os jogadores de colocarem qualquer coisa perto de construções inimigas. Ao tentar colocar uma torre, o raio é aumentado, por isso a torre não conseguirá alcançar o inimigo. +rules.onlydepositcore.info = Previne as unidades de depositarem itens em qualquer construção excepto núcleos. content.item.name = Itens -content.liquid.name = Liquidos +content.liquid.name = Líquidos content.unit.name = Unidades content.block.name = Blocos +content.status.name = Efeitos de Estado +content.sector.name = Setores +content.team.name = Equipas +wallore = (Muro) item.copper.name = Cobre item.lead.name = Chumbo @@ -908,22 +1485,36 @@ item.titanium.name = Titânio item.thorium.name = Urânio item.silicon.name = Sílicio item.plastanium.name = Plastânio -item.phase-fabric.name = Tecido de fase -item.surge-alloy.name = Liga de surto -item.spore-pod.name = Cápsula de esporos +item.phase-fabric.name = Tecido de Fase +item.surge-alloy.name = Liga de Surto +item.spore-pod.name = Cápsula de Esporos item.sand.name = Areia -item.blast-compound.name = Composto de explosão +item.blast-compound.name = Composto de Explosão item.pyratite.name = Piratita item.metaglass.name = Metavidro item.scrap.name = Sucata +item.fissile-matter.name = Matéria Físsil +item.beryllium.name = Berílio +item.tungsten.name = Tungsténio +item.oxide.name = Óxido +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst + liquid.water.name = Ãgua liquid.slag.name = Escória liquid.oil.name = Petróleo -liquid.cryofluid.name = Crio Fluido +liquid.cryofluid.name = Criofluido +liquid.neoplasm.name = Neoplasma +liquid.arkycite.name = Arquicite +liquid.gallium.name = Gálio +liquid.ozone.name = Ozono +liquid.hydrogen.name = Hidrogénio +liquid.nitrogen.name = Nitrogénio +liquid.cyanogen.name = Cianogénio unit.dagger.name = Dagger unit.mace.name = Mace -unit.fortress.name = Fortaleza +unit.fortress.name = Fortress unit.nova.name = Nova unit.pulsar.name = Pulsar unit.quasar.name = Quasar @@ -947,6 +1538,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,97 +1550,124 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Drone de Montagem +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff -block.sand-boulder.name = Pedregulho de areia -block.grass.name = Grama -block.slag.name = Slag -block.space.name = Space +block.sand-boulder.name = Pedregulho de Areia +block.basalt-boulder.name = Pedregulho de Basalto +block.grass.name = Relva +block.molten-slag.name = Escória +block.pooled-cryofluid.name = Criofluido +block.space.name = Espaço block.salt.name = Sal -block.salt-wall.name = Salt Wall +block.salt-wall.name = Parede de Sal block.pebbles.name = Pedrinhas block.tendrils.name = Gavinhas -block.sand-wall.name = Sand Wall -block.spore-pine.name = Pinheiro de esporo -block.spore-wall.name = Spore Wall -block.boulder.name = Boulder -block.snow-boulder.name = Snow Boulder -block.snow-pine.name = Pinheiro com neve +block.sand-wall.name = Parede de Areia +block.spore-pine.name = Pinheiro de Esporos +block.spore-wall.name = Parede de Esporos +block.boulder.name = Pedregulho +block.snow-boulder.name = Bola de Neve +block.snow-pine.name = Pinheiro com Neve block.shale.name = Xisto -block.shale-boulder.name = Pedra de xisto +block.shale-boulder.name = Pedra de Xisto block.moss.name = Musgo block.shrubs.name = Arbusto -block.spore-moss.name = Musgo de esporos -block.shale-wall.name = Shale Wall -block.scrap-wall.name = Muro de sucata -block.scrap-wall-large.name = Muro grande de sucata -block.scrap-wall-huge.name = Muro enorme de sucata -block.scrap-wall-gigantic.name = Muro gigante de sucata +block.spore-moss.name = Musgo de Esporos +block.shale-wall.name = Muro de Xisto +block.scrap-wall.name = Muro de Sucata +block.scrap-wall-large.name = Muro Grande de Sucata +block.scrap-wall-huge.name = Muro Enorme de Ducata +block.scrap-wall-gigantic.name = Muro Gigante de Sucata block.thruster.name = Propulsor -block.kiln.name = Forno para metavidro -block.graphite-press.name = Prensa de grafite +block.kiln.name = Forno para Metavidro +block.graphite-press.name = Prensa de Grafite block.multi-press.name = Multi-Prensa -block.constructing = {0}\n[lightgray](Construindo) -block.spawn.name = Spawn dos inimigos -block.core-shard.name = Fragmento do núcleo -block.core-foundation.name = Fundação do núcleo -block.core-nucleus.name = Núcleo do núcleo -block.deepwater.name = Ãgua profunda -block.water.name = Ãgua -block.tainted-water.name = Ãgua contaminada -block.darksand-tainted-water.name = Ãgua contaminada sobre areia escura -block.tar.name = Piche +block.constructing = {0}\n[lightgray](A construir) +block.spawn.name = Spawn dos Inimigos +block.remove-wall.name = Remover Parede +block.remove-ore.name = Remover Minério +block.core-shard.name = Pedaço do Núcleo +block.core-foundation.name = Fundação do Núcleo +block.core-nucleus.name = Núcleo do Núcleo +block.deep-water.name = Ãguas Profundas +block.shallow-water.name = Ãgua +block.tainted-water.name = Ãgua Contaminada +block.deep-tainted-water.name = Ãgua Contaminada Profunda +block.darksand-tainted-water.name = Ãgua Contaminada sobre Areia Escura +block.tar.name = Alcatrão block.stone.name = Pedra -block.sand.name = Areia -block.darksand.name = Areia escura +block.sand-floor.name = Areia +block.darksand.name = Areia Escura block.ice.name = Gelo block.snow.name = Neve -block.craters.name = Crateras -block.sand-water.name = Ãgua sobre areia -block.darksand-water.name = Ãgua sobre areia escura +block.crater-stone.name = Crateras +block.sand-water.name = Ãgua sobre Areia +block.darksand-water.name = Ãgua sobre Areia Escura block.char.name = Char block.dacite.name = Dacite -block.dacite-wall.name = Dacite Wall -block.dacite-boulder.name = Dacite Boulder -block.ice-snow.name = Gelo de neve -block.stone-wall.name = Stone Wall -block.ice-wall.name = Ice Wall -block.snow-wall.name = Snow Wall -block.dune-wall.name = Dune Wall +block.rhyolite.name = Riolite +block.dacite-wall.name = Parede de Dacite +block.dacite-boulder.name = Pedreculho de Dacite +block.ice-snow.name = Gelo de Neve +block.stone-wall.name = Parede de Pedra +block.ice-wall.name = Parede de Gelo +block.snow-wall.name = Parede de Neve +block.dune-wall.name = Parede de Duna block.pine.name = Pinheiro -block.dirt.name = Dirt -block.dirt-wall.name = Dirt Wall -block.mud.name = Mud -block.white-tree-dead.name = Ãrvore branca morta -block.white-tree.name = Ãrvore branca -block.spore-cluster.name = Aglomerado de esporos -block.metal-floor.name = Chão de metal -block.metal-floor-2.name = Chão de metal 2 -block.metal-floor-3.name = Chão de metal 3 -block.metal-floor-5.name = Chão de metal 5 -block.metal-floor-damaged.name = Chão de metal danificado -block.dark-panel-1.name = Painel escuro 1 -block.dark-panel-2.name = Painel escuro 2 -block.dark-panel-3.name = Painel escuro 3 -block.dark-panel-4.name = Painel escuro 4 -block.dark-panel-5.name = Painel escuro 5 -block.dark-panel-6.name = Painel escuro 6 -block.dark-metal.name = Metal escuro -block.basalt.name = Basalt -block.hotrock.name = Rocha quente -block.magmarock.name = Rocha de magma +block.dirt.name = Terra +block.dirt-wall.name = Parede de Terra +block.mud.name = Lama +block.white-tree-dead.name = Ãrvore Branca Morta +block.white-tree.name = Ãrvore Branca +block.spore-cluster.name = Aglomerado de Esporos +block.metal-floor.name = Chão de Metal +block.metal-floor-2.name = Chão de Metal 2 +block.metal-floor-3.name = Chão de Metal 3 +block.metal-floor-4.name = Chão de Metal 4 +block.metal-floor-5.name = Chão de Metal 5 +block.metal-floor-damaged.name = Chão de Metal Danificado +block.dark-panel-1.name = Painel Escuro 1 +block.dark-panel-2.name = Painel Escuro 2 +block.dark-panel-3.name = Painel Escuro 3 +block.dark-panel-4.name = Painel Escuro 4 +block.dark-panel-5.name = Painel Escuro 5 +block.dark-panel-6.name = Painel Escuro 6 +block.dark-metal.name = Metal eEscuro +block.basalt.name = Basalto +block.hotrock.name = Rocha Quente +block.magmarock.name = Rocha de Magma block.copper-wall.name = Parede de Cobre -block.copper-wall-large.name = Parede de Cobre Grande -block.titanium-wall.name = Parede de titânio -block.titanium-wall-large.name = Parede de titânio grande -block.plastanium-wall.name = Plastanium Wall -block.plastanium-wall-large.name = Large Plastanium Wall -block.phase-wall.name = Parede de fase -block.phase-wall-large.name = Parde de fase grande -block.thorium-wall.name = Parede de tório -block.thorium-wall-large.name = Parede de tório grande +block.copper-wall-large.name = Parede Grande de Cobre +block.titanium-wall.name = Parede de Titânio +block.titanium-wall-large.name = Parede Grande de Titânio +block.plastanium-wall.name = Parede de Plastânio +block.plastanium-wall-large.name = Parede Grande de Plastânio +block.phase-wall.name = Parede de Fase +block.phase-wall-large.name = Parde Grande de Fase +block.thorium-wall.name = Parede de Tório +block.thorium-wall-large.name = Parede Grande de tório block.door.name = Porta block.door-large.name = Porta Grande block.duo.name = Dupla @@ -1052,39 +1675,40 @@ block.scorch.name = Queimada block.scatter.name = Dispersão block.hail.name = Granizo block.lancer.name = Lançador -block.conveyor.name = Esteira -block.titanium-conveyor.name = Esteira de Titânio -block.plastanium-conveyor.name = Plastanium Conveyor -block.armored-conveyor.name = Esteira Armadurada -block.armored-conveyor.description = Move os itens com a mesma velocidade das esteiras de titânio, mas tem mais armadura. Não aceita itens dos lados de nada além de outras esteiras. +block.conveyor.name = Tapete Rolante +block.titanium-conveyor.name = Tapete de Titânio +block.plastanium-conveyor.name = Tapete de Plastânio +block.armored-conveyor.name = Tapete Blindado block.junction.name = Junção block.router.name = Roteador block.distributor.name = Distribuidor block.sorter.name = Ordenador -block.inverted-sorter.name = Inverted Sorter +block.inverted-sorter.name = Ordenador Invertido block.message.name = Mensagem -block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. +block.reinforced-message.name = Mensagem Reforçada +block.world-message.name = Mensagem Global +block.world-switch.name = Interruptor Global +block.illuminator.name = Iluminador block.overflow-gate.name = Portão Sobrecarregado block.underflow-gate.name = Portão Desobrecarregado -block.silicon-smelter.name = Fundidora de silicio +block.silicon-smelter.name = Fundidora de Silício block.phase-weaver.name = Palheta de fase block.pulverizer.name = Pulverizador -block.cryofluid-mixer.name = Misturador de Crio Fluido -block.melter.name = Aparelho de fusão +block.cryofluid-mixer.name = Misturador de Criofluido +block.melter.name = Fundidor block.incinerator.name = Incinerador -block.spore-press.name = Prensa de Esporo +block.spore-press.name = Prensa de Esporos block.separator.name = Separador -block.coal-centrifuge.name = Centrifuga de carvão -block.power-node.name = Célula de energia -block.power-node-large.name = Célula de energia Grande -block.surge-tower.name = Torre de surto -block.diode.name = Battery Diode +block.coal-centrifuge.name = Centrifugadora de Carvão +block.power-node.name = Célula de Energia +block.power-node-large.name = Célula de Energia Grande +block.surge-tower.name = Torre de Surto +block.diode.name = Díodo de bateria block.battery.name = Bateria block.battery-large.name = Bateria Grande -block.combustion-generator.name = Gerador a combustão +block.combustion-generator.name = Gerador a Combustão block.steam-generator.name = Gerador de Turbina -block.differential-generator.name = Gerador diferencial +block.differential-generator.name = Gerador Diferencial block.impact-reactor.name = Reator De Impacto block.mechanical-drill.name = Broca Mecânica block.pneumatic-drill.name = Broca Pneumática @@ -1093,12 +1717,12 @@ block.water-extractor.name = Extrator de água block.cultivator.name = Cultivador block.conduit.name = Cano block.mechanical-pump.name = Bomba Mecânica -block.item-source.name = Criador de itens -block.item-void.name = Destruidor de itens -block.liquid-source.name = Criador de líquidos -block.liquid-void.name = Liquid Void -block.power-void.name = Anulador de energia -block.power-source.name = Criador de energia +block.item-source.name = Criador de Itens +block.item-void.name = Destruidor de Itens +block.liquid-source.name = Criador de Líquidos +block.liquid-void.name = Destruidor de Líquidos +block.power-void.name = Destruidor de Energia +block.power-source.name = Criador de Energia block.unloader.name = Descarregador block.vault.name = Cofre block.wave.name = Onda @@ -1106,129 +1730,403 @@ block.tsunami.name = Tsunami block.swarmer.name = Enxame block.salvo.name = Salvo block.ripple.name = Ondulação -block.phase-conveyor.name = Esteira de Fases -block.bridge-conveyor.name = Esteira-Ponte +block.phase-conveyor.name = Tapete de Fase +block.bridge-conveyor.name = Tapete-Ponte block.plastanium-compressor.name = Compressor de Plastânio block.pyratite-mixer.name = Misturador de Piratita block.blast-mixer.name = Misturador de Explosão block.solar-panel.name = Painel Solar block.solar-panel-large.name = Painel Solar Grande -block.oil-extractor.name = Extrator de petróleo -block.repair-point.name = Ponto de Reparo +block.oil-extractor.name = Extrator de Petróleo +block.repair-point.name = Ponto de Reparação +block.repair-turret.name = Torre de Reparação block.pulse-conduit.name = Cano de Pulso -block.plated-conduit.name = Plated Conduit +block.plated-conduit.name = Cano Revestido block.phase-conduit.name = Cano de Fase block.liquid-router.name = Roteador de Líquido block.liquid-tank.name = Tanque de Líquido +block.liquid-container.name = Contentor de Líquido block.liquid-junction.name = Junção de Líquido -block.bridge-conduit.name = Cano Ponte -block.rotary-pump.name = Bomba Rotatória +block.bridge-conduit.name = Cano-Ponte +block.rotary-pump.name = Bomba Rotativa block.thorium-reactor.name = Reator a Tório block.mass-driver.name = Drive de Massa block.blast-drill.name = Broca de Explosão -block.thermal-pump.name = Bomba térmica +block.impulse-pump.name = Bomba Térmica block.thermal-generator.name = Gerador Térmico -block.alloy-smelter.name = Fundidora de Liga +block.surge-smelter.name = Fundidora de Liga block.mender.name = Reparador -block.mend-projector.name = Projetor de reparo -block.surge-wall.name = Parede de liga de surto -block.surge-wall-large.name = Parede de liga de surto grande +block.mend-projector.name = Projetor de Reparo +block.surge-wall.name = Parede de Liga de Surto +block.surge-wall-large.name = Parede Grande de Liga de Surto block.cyclone.name = Ciclone -block.fuse.name = Fundir +block.fuse.name = Fusível block.shock-mine.name = Mina de Choque -block.overdrive-projector.name = Projetor de sobrecarga -block.force-projector.name = Projetor de campo de força +block.overdrive-projector.name = Projetor de Sobrecarga +block.force-projector.name = Projetor de Campo de Força block.arc.name = Arco Elétrico block.rtg-generator.name = Gerador GTR -block.spectre.name = Espectro +block.spectre.name = Espetro block.meltdown.name = Fusão block.foreshadow.name = Foreshadow -block.container.name = Contâiner -block.launch-pad.name = Plataforma de lançamento -block.launch-pad-large.name = Plataforma de lançamento grande +block.container.name = Contentor +block.launch-pad.name = Plataforma de Lançamento +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad + block.segment.name = Segment -block.command-center.name = Command Center -block.ground-factory.name = Ground Factory -block.air-factory.name = Air Factory -block.naval-factory.name = Naval Factory -block.additive-reconstructor.name = Additive Reconstructor -block.multiplicative-reconstructor.name = Multiplicative Reconstructor -block.exponential-reconstructor.name = Exponential Reconstructor -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = Mass Conveyor -block.payload-router.name = Payload Router -block.disassembler.name = Disassembler +block.ground-factory.name = Fábrica Terrestre +block.air-factory.name = Fábrica Aérea +block.naval-factory.name = Fábrica Naval +block.additive-reconstructor.name = Reconstrutor Aditivo +block.multiplicative-reconstructor.name = Reconstrutor Multiplicador +block.exponential-reconstructor.name = Reconstrutor Exponencial +block.tetrative-reconstructor.name = Reconstrutor Tetrativo +block.payload-conveyor.name = Tapete de Carga +block.payload-router.name = Roteador de Carga +block.duct.name = Conduta +block.duct-router.name = Roteador de Conduta +block.duct-bridge.name = Ponte de Conduta +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Destruidor de Carga +block.payload-source.name = Criador de Carga +block.disassembler.name = Desmontador block.silicon-crucible.name = Silicon Crucible -block.overdrive-dome.name = Overdrive Dome +block.overdrive-dome.name = Domo de Sobrecarga +block.interplanetary-accelerator.name = Acelerador Interplanetário +block.constructor.name = Construtor +block.constructor.description = Produz estruturas com tamanho até 2x2 blocos. +block.large-constructor.name = Construtor Grande +block.large-constructor.description = Produz estruturas com tamanho até 4x4 blocos. +block.deconstructor.name = Desconstrutor +block.deconstructor.description = Desconstrói estruturas e unidades. Recupera 100% do custo de produção. +block.payload-loader.name = Carregador de Carga +block.payload-loader.description = Carrega itens e líquidos em blocos. +block.payload-unloader.name = Descarregador de Carga +block.payload-unloader.description = Descarrega líquidos e itens de blocos. +block.heat-source.name = Fonte de Calor +block.heat-source.description = Um bloco de tamanho 1x1 que gera virtualmente calor infinito. +block.empty.name = Vazio -block.switch.name = Switch -block.micro-processor.name = Micro Processor -block.logic-processor.name = Logic Processor -block.hyper-processor.name = Hyper Processor -block.logic-display.name = Logic Display -block.large-logic-display.name = Large Logic Display -block.memory-cell.name = Memory Cell -block.memory-bank.name = Memory Bank +#Erekir +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Zona de Núcleo +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolizador +block.atmospheric-concentrator.name = Concentrador Atmosférico +block.oxidation-chamber.name = Câmara de Oxidação +block.electric-heater.name = Aquecedor Elétrico +block.slag-heater.name = Aquededor de Escória +block.phase-heater.name = Aquecedor de Fase +block.heat-redirector.name = Redirecionador de Calor +block.small-heat-redirector.name = Redirecionador de Calor Pequeno +block.heat-router.name = Roteador de Calor +block.slag-incinerator.name = Incinerador de Escória +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Centrifugador de Escória +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Sintetizador de Cianogénio +block.phase-synthesizer.name = Sintetizador de Fase +block.heat-reactor.name = Reator de Calor +block.beryllium-wall.name = Parede de Berílio +block.beryllium-wall-large.name = Parede Grande de Berílio +block.tungsten-wall.name = Parede de Tungsténio +block.tungsten-wall-large.name = Parede Grande de Tungsténio +block.blast-door.name = Blast Door +block.carbide-wall.name = Parede de Carbide +block.carbide-wall-large.name = Parede Grande de Carbide +block.reinforced-surge-wall.name = Parede de Surto Reforçadd +block.reinforced-surge-wall-large.name = Parede Grande de Surto Reforçado +block.shielded-wall.name = Parede Blindada +block.radar.name = Radar +block.build-tower.name = Torre de Construção +block.regen-projector.name = Projetor de Regeneração +block.shockwave-tower.name = Torre de Ondas de Choque +block.shield-projector.name = Projetor de Escudo +block.large-shield-projector.name = Projetor de Escudo Grande +block.armored-duct.name = Conduta Blindada +block.overflow-duct.name = Conduta de Sobrecarga +block.underflow-duct.name = Conduta de Desobrecarga +block.duct-unloader.name = Descarregador de Conduta +block.surge-conveyor.name = Tapete de Surto +block.surge-router.name = Roteador de Surto +block.unit-cargo-loader.name = Carregador de Carga de Unidades +block.unit-cargo-unload-point.name = Ponto de Descarregamento de Carga de Unidades +block.reinforced-pump.name = Bomba Reforçada +block.reinforced-conduit.name = Conduta Reforçada +block.reinforced-liquid-junction.name = Junção de Líquido Reforçada +block.reinforced-bridge-conduit.name = Ponte de Conduta Reforçada +block.reinforced-liquid-router.name = Roteador de Líquido Reforçado +block.reinforced-liquid-container.name = Contentor de Líquido Reforçado +block.reinforced-liquid-tank.name = Tanque de Líquido Reforçado +block.beam-node.name = Nó de Feixe +block.beam-tower.name = Torre de Feixe +block.beam-link.name = Conector de Feixe +block.turbine-condenser.name = Condensador de Turbina +block.chemical-combustion-chamber.name = Câmara de Combustão Química +block.pyrolysis-generator.name = Gerador de Pirólise +block.vent-condenser.name = Condensador de Ventilação +block.cliff-crusher.name = Destruidor de Arribas +block.large-cliff-crusher.name = Destruidor de Arribas Grande +block.plasma-bore.name = Mineradora de Plasma +block.large-plasma-bore.name = Mineradora Grande de Plasma +block.impact-drill.name = Broca de Impacto +block.eruption-drill.name = Broca de Erupção +block.core-bastion.name = Bastião do Núcleo +block.core-citadel.name = Citadela do Núcleo +block.core-acropolis.name = Acrópole do Núcleo +block.reinforced-container.name = Contentor Reforçado +block.reinforced-vault.name = Cofre Reforçado +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Refabricador de Tanque +block.mech-refabricator.name = Refabricador de Mech +block.ship-refabricator.name = Refabricador de Nave +block.tank-assembler.name = Montador de Tanque +block.ship-assembler.name = Montador de Nave +block.mech-assembler.name = Montador de Mech +block.reinforced-payload-conveyor.name = Tapete de Carga Reforçado +block.reinforced-payload-router.name = Roteador de Carga Reforçado +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Desconstrutor Pequeno +block.canvas.name = Tela +block.world-processor.name = Processador Global +block.world-cell.name = Célula Global +block.tank-fabricator.name = Fabricador de Tanque +block.mech-fabricator.name = Fabricador de Mech +block.ship-fabricator.name = Fabricador de Nave +block.prime-refabricator.name = Refabricador Princial +block.unit-repair-tower.name = Torre de Reparação de Unidades +block.diffuse.name = Difusor +block.basic-assembler-module.name = Módulo Básico de Montagem +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Reator de Fluxo +block.neoplasia-reactor.name = Reator de Neoplasma -team.blue.name = Azul -team.crux.name = Vermelho -team.sharded.name = orange -team.orange.name = Laranja -team.derelict.name = derelict +block.switch.name = Interruptor +block.micro-processor.name = Microprocessador +block.logic-processor.name = Processador Lógico +block.hyper-processor.name = Hiper-processador +block.logic-display.name = Ecrã Lógico +block.large-logic-display.name = Ecrã Lógico Grande +block.memory-cell.name = Célula de Memória +block.memory-bank.name = Banco de Memória +team.malis.name = Malis +team.crux.name = Vermelho (Crux) +team.sharded.name = Laranja (Sharded) +team.derelict.name = Derelict team.green.name = Verde -team.purple.name = Roxo +team.blue.name = Azul -tutorial.next = [lightgray] -tutorial.intro = Entraste no[scarlet] Tutorial do Mindustry.[]\nComeçe[accent] minerando cobre[]. Toque em um veio de minério de cobre para fazer isso.\n\n[accent]{0}/{1} copper -tutorial.intro.mobile = Entraste no[scarlet] Mindustry Tutorial.[]\nPasse o dedo na tela para mover.\n[accent]Use 2 dedos [] para manipular o zoom.\nComeça por by[accent] minerar cobre[].Aproxime-se dele e toque uma veia de minério de cobre perto do seu núcleo para fazer isso.\n\n[accent]{0}/{1} copper -tutorial.drill = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nColoque uma num veio de cobre. -tutorial.drill.mobile = Minerar manualmente é ineficiente.\n[accent]Brocas []podem minerar automaticamente.\nToque na aba de brocas no canto inferior direito.\nSelecione a[accent] broca mecânica[].\nToque em um veio de cobre para colocá-la, então pressione a[accent] marca de verificação[] abaixo para confirmar sua seleção.\nPressione o[accent] botão "X"[] para cancelar o posicionamento. -tutorial.blockinfo = Cada bloco tem diferentes status. Cada broca pode extrair certos minérios.\nPara checar as informações e os status de um bloco,[accent] toque o botão "?" enquanto o seleciona no menu de construção.[]\n\n[accent]Acesse os status da broca mecânica agora.[] -tutorial.conveyor = [accent]Esteiras[] São usadas para transportar itens até o núcleo.\nFaça uma linha de Esteiras da mineradora até o núcleo. -tutorial.conveyor.mobile = [accent]Esteiras[] são usadas para transportar itens até o núcleo.\nFaça uma linha de esteiras da broca até o núcleo.\n[accent] Coloque uma linha segurando por alguns segundos[] e arrastando em uma direção.\n\n[accent]{0}/{1} esteiras postas em linha\n[accent]0/1 itens entregues -tutorial.turret = Estruturas defensivas devem ser construidas para repelir[lightgray] o inimigo[].\nConstrua uma torre dupla perto de sua base. -tutorial.drillturret = Torretas duplas precisam de[accent] cobre[] como munição para atirar.\nColoque uma broca próxima à torre para carregá-la com o cobre minerado. -tutorial.pause = Durante uma batalha, você pode[accent] pausar o jogo.[]\nVocê pode enfileirar construções enquanto o jogo está pausado.\n\n[accent]Pressione a barra de espaço para pausar. -tutorial.pause.mobile = Durante uma batalha, você pode[accent] pausar o jogo.[]\nVocê pode enfileirar construções enquanto o jogo está pausado.\n\n[accent]Pressione este botão no canto superior direito para pausar. -tutorial.unpause = Agora pressione novamente a barra de espaço para despausar. -tutorial.unpause.mobile = Agora pressione novamente para despausar. -tutorial.breaking = Blocos precisam frequentemente ser destruídos.\n[accent]Segure e arraste o botão direito[] para destruir todos os blocos em uma seleção.[]\n\n[accent]Destrua todos esses blocos de sucata à esquerda do seu núcleo usando a seleção em área. -tutorial.breaking.mobile = Blocos precisam frequentemente ser destruídos.\n[accent]Selecione o modo de destruição (ícone de martelo)[], e toque em um bloco para começar a quebrar.\nDestrua uma área segurando seu dedo por alguns segundos[] e arrastando em uma direção.\nPressione o botão de "visto" para confirmar a destruição.\n\n[accent]Destrua todos esses blocos de sucata à esquerda do seu núcleo usando a seleção em área. -tutorial.withdraw = Em algumas situações é necessário pegar itens diretamente do bloco.\nPara fazer isto, [accent]toque em um bloco[] com itens e [accent]toque no item[] no inventário.\nMúltiplos itens podem ser removidos [accent]ao segurar[].\n\n[accent]Tire um pouco de cobre do núcleo.[] -tutorial.deposit = Deposite itens em blocos arrastando da sua nave até o bloco.\n\n[accent]Deposite seu cobre de volta no núcleo.[] -tutorial.waves = O[lightgray] inimigo[] se aproxima.\n\nDefenda seu núcleo por 2 hordas. Construa mais torretas. -tutorial.waves.mobile = O[lightgray] inimigo[] se aproxima.\n\nDefenda seu núcleo por 2 hordas. Seu drone vai atirar nos inimigos automaticamente.\nConstrua mais torretas e brocas. Minere mais cobre. -tutorial.launch = Quando você atinge uma horda específica, Você é capaz de[accent] lançar o núcleo[], deixando suas defesas para trás e[accent] obtendo todos os recursos em seu núcleo.[]\nEstes recursos podem ser usados para pesquisar novas tecnologias.\n\n[accent]Pressione o botão lançar. +hint.skip = Saltar +hint.desktopMove = Usa [accent][[WASD][] para mover. +hint.zoom = [accent]Scroll[] para aumentar/diminuir zoom. +hint.desktopShoot = [accent][[Botão esquerdo do rato][] para atirar. +hint.depositItems = Para transferir itens, arrasta da tua nave para o núcleo. +hint.respawn = Para renascer como nave, pressiona [accent][[V][]. +hint.respawn.mobile = Trocaste os controlos para uma unidade/estrutura. Para renascer como nave, [accent]toca no avatr no canto sup. esq.[] +hint.desktopPause = Pressiona [accent][[Espaço][] para pausar/retomar o jogo. +hint.breaking = Usa o [accent]botão direito do rato[] e arrasta. +hint.breaking.mobile = Ativa o \ue817 [accent]martelo[] em baixo à direita e clica para partir blocos.\n\nMantém o teu dedo permido por um seg. e arrasta para partir uma seleção. +hint.blockInfo = Vê as informações sobre um bloco ao selecioná-lo no [accent]menu de construção[], e depois selecionar o botão [accent][[?][] à direita. +hint.derelict = Estruturas [accent]Derelict[] são restos quebrados de bases antigas que já não funcionam.\n\nEssas estruturas podem ser [accent]desconstruídas[] para ganhar recursos. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Usa o botão de \ue875 [accent]Pesquisa[] para pesquisar novas tecnologias. +hint.unitControl = Segura a tecla [accent][[ctrl esq.][] e [accent]click[] para controlar unidades ou torres aliadas. +hint.unitControl.mobile = [accent][[Toca duas vezes][] para controlar unidades ou torres aliadas. +hint.unitSelectControl = Para controlar unidades, entra no [accent]modo de comando[] segurando [accent]Shift esquerdo.[]\nEnquanto no modo de comando, clica e segura pra selecionar unidades. Clica com o [accent]Botão direito[] nalgum lugar ou alvo para mandar as unidades para lá. +hint.unitSelectControl.mobile = Para controlar unidades, entra no [accent]modo de comando[] segurando o botão de [accent]comando[] no canto inf. esq.\nEnquanto no modo de comando, segura e arrasta pra selecionar unidades. Toque nalgum lugar ou alvo para mandar as unidades para lá. +hint.launch = Quando forem recolhidos recursos suficientes, podes [accent]Lançar[] ao selecionar setores próximos a partir do \ue827 [accent]Mapa[] no canto inferior direito. +hint.launch.mobile = Quando forem recolhidos recursos suficientes, podes [accent]Lançar[] ao selecionar setores próximos a partir do \ue827 [accent]Mapa[] no \ue88c [accent]Menu[]. +hint.schematicSelect = Segura a tecla [accent][[F][] e arrasta para selecionar blocos para copiar e colar.\n\n[accent][[Clique do meiro][] para copiar um bloco só. +hint.rebuildSelect = Segura a tecla [accent][[B][] e arrasta para selecionar blocos destruídos.\nIsto irá reconstruí-los automaticamente. +hint.rebuildSelect.mobile = Prime o \ue874 botão de copiar, e depois o botão de \ue80f reonstruir e arrasta para selecionar os planos de blocos destruídos.\nIsto irá reconstruí-los automaticamente. +hint.conveyorPathfind = Segura a tecla [accent][[Ctrl Esq][] enquanto desenhas os tapetes para gerar automaticamente um caminho. +hint.conveyorPathfind.mobile = Ativa o \ue844 [accent]modo diagonal[] e desenha os tapetes para gerar automaticamente um caminho. +hint.boost = Segura a tecla [accent][Shift Esq][] para voar sobre obstáculos com a tua unidade.\n\nApenas algumas unidades terrestres têm propulsores. +hint.payloadPickup = Prime [accent][[[] para pegar pequenos blocos e unidades. +hint.payloadPickup.mobile = [accent]Toca e segura[] para pegar pequenos blocos ou unidades. +#Translations beyond this point is pt_BR. When I'll have time I will rewrite them to pt_PT +hint.payloadDrop = Pressione [accent]][] para soltar a carga. +hint.payloadDrop.mobile = [accent]Toque e segure[] em um local vazio para soltar ali a carga. +hint.waveFire = Torretas [accent]Onda[] com munição de água vão apagar automaticamente incêndios próximos. +hint.generator = \uf879 [accent]Geradores a Combustão[] queimam carvão e transmitem energia aos blocos ao lado.\n\nO alcance da transmissão de energia pode ser aumentado com \uf87f [accent]Células de Energia[]. +hint.guardian = Unidades [accent]Guardião[] são blindadas. Munições fracas como [accent]Cobre[] e [accent]Chumbo[] são [scarlet]não efetivas[].\n\nUse torretas melhores ou \uf835 [accent]Grafite[] \uf861Duo/\uf859Salvo como munição para derrotar Guardiões. +hint.coreUpgrade = Núcleos podem ser melhorados [accent]colocando núcelos melhores sobre eles[].\n\nColoque uma \uf868 [accent]Fundação do Núcleo[] sobre o \uf869 [accent]Fragmento do Núcleo[]. Tenha certeza de que está livre de obstruções próximas. +hint.presetLaunch = [accent]Zona de setores[] cinzas, como a [accent]Floresta Congelada[], podem ser lançadas de qualquer lugar. Elas não precisam da captura de território próximo.\n\n[accent]Setores numerados[], como esse aqui, são [accent]opcionais[]. +hint.presetDifficulty = Esse setor tem um [scarlet]alto nível de ameaça inimiga[].\nIr para esse setores [accent]não é recomendado[] sem ter tecnologia e preparação adequadas. +hint.coreIncinerate = Depois que o núcleo ter recebido até a capacidade máxima de um item, qualquer item do mesmo tipo que ele receber será [accent]incinerado[]. +hint.factoryControl = Para definir a [accent]o local de saída[] de uma fábrica de unidades, clique em uma fábrica enquanto estiver no modo de comando, depois clique com o botão direito em um local.\nAs unidades produzidas por ela se moverão automaticamente para lá. +hint.factoryControl.mobile = Para definir a [accent]o local de saída[] de uma fábrica de unidades, toque em uma fábrica enquanto estiver no modo de comando, depois toque em um local.\nAs unidades produzidas por ela se moverão automaticamente para lá. +gz.mine = Vá para perto do \uf8c4 [accent]minério de cobre[] no chão e clique para começar a minerar. +gz.mine.mobile = Vá para perto do \uf8c4 [accent]minério de cobre[] no chão e toque nele para começar a minerar. +gz.research = Abra a \ue875 árvore tecnológica.\nPesquise a \uf870 [accent]Broca mecânica[], Depois selecione-a pelo menu no canto inferior direito.\nClique no cobre para coloca-la. +gz.research.mobile = Abra a \ue875 árvore tecnológica.\nPesquise a \uf870 [accent]Broca mecânica[], Depois selecione-a pelo menu no canto inferior direito.\nClique no cobre para colocá-la.\n\nPressione a \ue800 [accent]confirmação[] no canto inferior direito para confirmar. +gz.conveyors = Pesquise e coloque \uf896 [accent]esteiras[] para mover os recursos minerados\ndas brocas para o núcleo.\n\nClique e arraste para pôr multiplas esteiras.\n[accent]Scroll[] para rotacionar. +gz.conveyors.mobile = Pesquise e coloque \uf896 [accent]esteiras[] para mover os recursos minerados\ndas brocas para o núcleo.\n\nSegure por um segundo e arraste para colocar múltiplas esteiras. +gz.drills = Expanda a mineração.\nColoque mais Brocas Mecânicas.\nMinere 100 cobres. +gz.lead = \uf837 [accent]Chumbo[] é outro recurso comumente usado.\nColoque brocas para minerar chumbo. +gz.moveup = \ue804 Vá para cima para outros objetivos. +gz.turrets = Pesquise e coloque 2 torretas \uf861 [accent]Duo[] para defender o núcleo.\ntorretas Duo requerem \uf838 [accent]munição[] de esteiras. +gz.duoammo = Abasteça as torretas Duo com [accent]cobre[], usando esteiras. +gz.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf8ae [accent]muros de cobre[] em volta das torretas. +gz.defend = Inimigos vindo, prepare-se para defender. +gz.aa = Unidades flutuantes não podem ser destruidas facilmente por torretas comuns.\nTorretas\uf860 [accent]Scatter[] Proveem ótima defesa aérea, mas requerem \uf837 [accent]chumbo[] como munição. +gz.scatterammo = Abasteça a torreta Scatter com [accent]chumbo[], usando esteiras. +gz.supplyturret = [accent]Abasteça a torreta +gz.zone1 = Essa é a zona de spawn inimigo. +gz.zone2 = Qualquer coisa construida nesta área será destruida quando uma horda começar. +gz.zone3 = Uma horda vai começar agora\nSe prepare. +gz.finish = Construa mais torretas, minere mais recursos,\ne se defenda de todas as hordas para [accent]capturar o setor[]. + +onset.mine = Clique para minerar \uf748 [accent]berílio[] das paredes.\n\nUse [accent][[WASD] para se mover. +onset.mine.mobile = Toque para minerar \uf748 [accent]berílio[] das paredes. +onset.research = Abra a \ue875 árvore tecnológica.\nPesquise, e então coloque um \uf73e [accent]Condensador de Turbina[] na ventilação.\nIsso vai gerar [accent]energia[]. +onset.bore = Pesquise e coloque uma \uf741 [accent]Mineradora de Plasma[].\nEla minera recursos das paredes automaticamente. +onset.power = Para[accent]alimentar[] a Mineradora de Plasma, pesquise e coloque uma \uf73d [accent]Célula de Feixe[].\nConecte o condensador de turbina ao minerador de plasma. +onset.ducts = Pesquise e coloque \uf799 [accent]dutos[] para mover recursos minerados da mineradora de plasma para o núcleo.\nClique e segure para colocar múltiplos dutos.\n[accent]Scroll[] para rotacionar. +onset.ducts.mobile = Pesquise e coloque \uf799 [accent]dutos[] para mover recursos minerados da mineradora de plasma para o núcleo.\n\nSegure por um segundo e arraste para colocar múltiplos dutos. +onset.moremine = Expanda a mineração.\nColoque mais Mineradoras de Plasma, use as Células de Feixe e dutos para isso.\nMinere 200 berílios. +onset.graphite = Blocos mais complexos requerem \uf835 [accent]grafite[].\nColoque Mineradoras de Plasma para minerar grafite. +onset.research2 = Comece a pesquisar [accent]fábricas[].\nPesquise o \uf74d [accent]Esmagador de Penhasco[] e o \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = O arc furnace precisa de \uf834 [accent]areia[] e \uf835 [accent]grafite[] para criar \uf82f [accent]silício[].\n[accent]Energia[] também é necessária. +onset.crusher = Use o \uf74d [accent]Esmagador de Areia[] para minerar areia. +onset.fabricator = Use [accent]unidades[] para explorar o mapa, defender construções e atacar o inimigo. Pesquise e coloque um \uf6a2 [accent]Fabricador de Tanques[]. +onset.makeunit = Produza uma unidade.\nUse o botão "?" para ver os requisitos da fábrica selecionada. +onset.turrets = Unidades são efetivas, mas [accent]torretas[] proveem melhores capacidades defensivas se usadas efetivamente.\nColoque uma torreta \uf6eb [accent]Breach[].\nTorretas requerem \uf748 [accent]munição[]. +onset.turretammo = Abasteça a torreta com [accent]munição de berílio.[] +onset.walls = [accent]Muros[] podem previnir danos recebidos de atingir as construções.\nColoque \uf6ee [accent]muros de berílio[] em volta das torretas. +onset.enemies = Inimigo vindo, se prepare. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = O inimigo está vulnerável. Contra ataque. +onset.cores = Novos núcleos podem ser colocados em [accent]ladrilhos de núcleo[].\nNovos núcleos funcionam como bases avançadas e compartilham seus recursos com outros núcleos.\nColoque um \uf725 núcleo. +onset.detect = O inimigo poderá te detectar em 2 minutos.\nConstrua defesas, mineração e produção. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. + +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. + +#Serpulo item.copper.description = O material mais básico. Usado em todos os tipos de blocos. +item.copper.details = Cobre. Metal anormalmente abundante em Serpulo. Estruturalmente fraco a não ser que seja reforçado. item.lead.description = Material de começo basico. usado extensivamente em blocos de transporte de líquidos e eletrônicos. +item.lead.details = Denso. Inerte. Extensivamente usado em baterias.\nObservação: Provavelmente tóxico para formas de vida biológica. Não que tenha muito restando aqui. item.metaglass.description = Composto de vidro super resistente. Extensivamente usado para distribuição e armazenagem de líquidos. item.graphite.description = Carbono mineralizado, usado como munição e para isolação elétrica. item.sand.description = Um material comum que é usado extensivamente em derretimento, tanto em ligas como em fluxo. item.coal.description = Matéria vegetal fossilizada, formada muito depois de semeada. Usado extensivamente para produção de combustível e recursos. +item.coal.details = Parece ser matéria vegetal fossilizada, formada muito antes do evento da semeadura. item.titanium.description = Um material raro super leve usado extensivamente no transporte de líquidos, em brocas e drones aéreos. item.thorium.description = Um metal denso e radioativo, Usado como suporte material e combustivel nuclear. item.scrap.description = Pedaços remanescentes de estruturas e unidades destruidas. Contem traços de diferentes metais. +item.scrap.details = Pedaços restantes de estruturas e unidades destruidas. Contém traços de diferentes metais. item.silicon.description = Condutor extremamente importante, com aplicação em paineis solares e aparelhos complexos. item.plastanium.description = Material leve e maleável usado em drones aéreos avançados e como munição de fragmentação. item.phase-fabric.description = Uma substância quase sem peso usada em eletrônica avançada e tecnologia de auto-reparo. item.surge-alloy.description = Uma liga avançada com propriedades elétricas únicas. item.spore-pod.description = Uma cápsula de esporos sintéticos, sintetizada de concentrações atmosféricas para propósitos industriais. Usada para conversão em petróleo, explosivos e combustíveis. +item.spore-pod.details = Esporos. Provavelmente uma forma de vida sintética. Emite gases tóxicos para outras formas de vida biológica. Extremamente invasivo. Altamente inflamável em certas condições. item.blast-compound.description = Um composto instável usado em bombas e em explosivos. Sintetizado de cápsulas de esporos e outras substâncias voláteis. Uso como combustível não é recomendado. item.pyratite.description = Substância extremamente inflamável usada em armas incendiárias. + +#Erekir +item.beryllium.description = Usado em muitos tipos de construção e munição em Erekir. +item.tungsten.description = Utilizado em brocas, armaduras e munições. Necessário na construção de estruturas mais avançadas. +item.oxide.description = Utilizado como condutor de calor e isolante para energia. +item.carbide.description = Utilizado em estruturas avançadas, unidades mais pesadas e munições. + +#Serpulo liquid.water.description = O líquido mais útil, comumente usado em resfriamento de máquinas e no processamento de lixo. Dá pra beber, também. liquid.slag.description = Vários metais derretidos misturados juntos. Pode ser separado em seus minerais constituentes, ou jogado nas unidades inimigas como uma arma. liquid.oil.description = Um líquido usado na produção de materias avançados. Pode ser convertido em carvão como combustível, ou pulverizado e incendiado como arma. liquid.cryofluid.description = A maneira mais eficiente de resfriar qualquer coisa, até seu corpo quando está calor, mas não faça isto. +#Erekir +liquid.arkycite.description = Utilizado em reações químicas para geração de energia e síntese de materiais. +liquid.ozone.description = Utilizado como agente oxidante na produção de material e como combustível. Moderadamente explosivo. +liquid.hydrogen.description = Utilizado na extração de recursos, produção de unidades e reparo de estruturas. Inflamável. +liquid.cyanogen.description = Utilizado para munição, construção de unidades avançadas e várias reações em blocos avançados. Altamente inflamável. +liquid.nitrogen.description = Utilizado na extração de recursos, criação de gás e produção de unidades. Inerte. +liquid.neoplasm.description = Um subproduto biológico perigoso do reator de Neoplasia. Espalha-se rapidamente para qualquer bloco adjacente contendo água que ele toque, danificando-os no processo. Viscoso. +liquid.neoplasm.details = Neoplasma. Uma massa incontrolável de células sintéticas de rápida divisão com uma consistência semelhante à de lama. Resistente ao calor. Extremamente perigoso para qualquer estrutura que envolva água.\n\nMuito complexo e instável para análise padrão. Potenciais aplicações desconhecidas. Recomenda-se a incineração em piscinas de escória. + +#Serpulo +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Move os itens com a mesma velocidade das esteiras de titânio, mas tem mais armadura. Não aceita itens dos lados de nada além de outras esteiras. +block.illuminator.description = Uma fonte de luz pequena, configurável e compacta. Precisa de energia para funcionar. block.message.description = Armazena uma mensagem. Usado para comunicação entre aliados. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Comprime pedaços de carvão em lâminas de grafite puro. block.multi-press.description = Uma versão melhorada da prensa de grafite. Usa água e energia para processar carvão rápida e eficientemente. block.silicon-smelter.description = Reduz areia com carvão puro. Produz silício silicio. block.kiln.description = Derrete chumbo e areia no composto conhecido como metavidro. Requer pequenas quantidades de energia. block.plastanium-compressor.description = Produz plastânio usando petróleo e titânio. block.phase-weaver.description = Produz tecido de fase usando tório radioativo e areia. Requer massivas quantidades de energia para funcionar. -block.alloy-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto. +block.surge-smelter.description = Combina titânio, chumbo, silicio e cobre para produzir liga de surto. block.cryofluid-mixer.description = Mistura água e pó fino de titânio para produzir criofluido. Essencial para o uso do reator a tório. block.blast-mixer.description = Quebra e mistura aglomerados de esporos com piratita para produzir composto de explosão. block.pyratite-mixer.description = Mistura carvão, chumbo e areia em piratita altamente inflamável @@ -1243,19 +2141,25 @@ block.power-source.description = Infinitivamente da energia. Apenas caixa de are block.item-source.description = Infinivamente da itens. Apenas caixa de areia. block.item-void.description = Destroi qualquer item que entre sem requerir energia. Apenas caixa de areia. block.liquid-source.description = Infinitivamente da Liquidos. Apenas caixa de areia. -block.liquid-void.description = Removes any liquids. Sandbox only. +block.liquid-void.description = Destrói qualquer líquido que entrar. Apenas no modo sandbox. +block.payload-source.description = Produz cargas infinitamete. Apenas sandbox. +block.payload-void.description = Destrói qualquer carga. Apenas. block.copper-wall.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo. block.copper-wall-large.description = Um bloco defensivo e barato.\nUtil para proteger o núcleo e torretas no começo.\nOcupa múltiplos blocos. block.titanium-wall.description = Um bloco defensivo moderadamente forte.\nProvidencia defesa moderada contra inimigos. block.titanium-wall-large.description = Um bloco defensivo moderadamente forte.\nProvidencia defesa moderada contra inimigos.\nOcupa múltiplos blocos. -block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. -block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. +block.plastanium-wall.description = Um tipo especial de muro que absorve arcos elétricos e bloqueia conexões automáticas de células de energia. +block.plastanium-wall-large.description = Um tipo especial de muro que absorve arcos elétricos e bloqueia conexões automáticas de células de energia.\nOcupa múltiplos blocos. block.thorium-wall.description = Um bloco defensivo forte.\nBoa proteção contra inimigos. block.thorium-wall-large.description = Um bloco grande e defensivo.\nBoa proteção contra inimigos.\nOcupa multiplos blocos. block.phase-wall.description = Um muro revestido com um composto especial baseado em tecido de fase. Desvia a maioria das balas no impacto. block.phase-wall-large.description = Um muro revestido com um composto especial baseado em tecido de fase. Desvia a maioria das balas no impacto.\nSOcupa múltiplos blocos. block.surge-wall.description = Um bloco defensivo extremamente durável.\nSe carrega com eletricidade no contato com as balas, soltando-s aleatoriamente. block.surge-wall-large.description = Um bloco defensivo extremamente durável.\nSe carrega com eletricidade no contato com as balas, soltando-s aleatoriamente.\nOcupa multiplos blocos. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Uma pequeda porta. Pode ser aberta e fechada ao tocar. block.door-large.description = Uma grande porta. Pode ser aberta e fechada ao tocar.\nOcupa múltiplos blocos. block.mender.description = Periodicamente repara blocos vizinhos. Mantem as defesas reparadas em e entre ondas.\nPode usar silício para aumentar o alcance e a eficiência. @@ -1265,24 +2169,26 @@ block.force-projector.description = Cria um campo de forca hexagonal em volta de block.shock-mine.description = Danifica inimigos em cima da mina. Quase invisivel ao inimigo. block.conveyor.description = Bloco de transporte de item basico. Move os itens a frente e os deposita automaticamente em torretas ou construtores. Rotacionavel. block.titanium-conveyor.description = Bloco de transporte de item avançado. Move itens mais rapidos que esteiras padrões. -block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front. +block.plastanium-conveyor.description = Transporta os itens para frente em lotes. Aceita itens na parte de trás, e os descarrega em três direções na frente. Requer múltiplos pontos de carga e descarga para o pico de produção. block.junction.description = Funciona como uma ponte Para duas esteiras que estejam se cruzando. Util em situações que tenha duas esteiras diferentes carregando materiais diferentes para lugares diferentes. block.bridge-conveyor.description = Bloco de transporte de itens avancado. Possibilita o transporte de itens acima de 3 blocos de construção ou paredes. block.phase-conveyor.description = Bloco de transporte de item avançado. Usa energia para teleportar itens a uma esteira de fase sobre uma severa distancia. -block.sorter.description = [interact]Aperte no bloco para configurar[] -block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. +block.sorter.description = Se um item de entrada corresponde à seleção, ele passa para frente. Caso contrário, o item é enviado para a esquerda ou para a direita. +block.inverted-sorter.description = Semelhante a um ordenador padrão, mas os itens selecionados vão para os lados. block.router.description = Aceita itens de uma direção e os divide em 3 direções igualmente. Util para espalhar materiais da fonte para multiplos alvos. +block.router.details = Um mal necessário. Usar próximo de entradas de produção não é recomendado, pois ele vai entupir a saída de itens. block.distributor.description = Um roteador avancada que espalhas os itens em 7 outras direções igualmente. block.overflow-gate.description = Uma combinação de roteador e divisor Que apenas manda para a esquerda e Direita se a frente estiver bloqueada. block.underflow-gate.description = O oposto de um portão de transbordamento. Saídas para a frente se os caminhos esquerdo e direito estiverem bloqueados. block.mass-driver.description = Bloco de transporte de itens supremo. Coleta itens severos e atira eles em outro mass driver de uma longa distancia. block.mechanical-pump.description = Uma bomba barata com baixa saída de líquidos, mas sem consumo de energia. block.rotary-pump.description = Uma bomba avançada. Bombeia mais líquido, mas requer energia. -block.thermal-pump.description = A bomba final. +block.impulse-pump.description = A bomba final. block.conduit.description = Bloco básico de transporte de líquidos. Move líquidos para a frente. Usado em conjunto com bombas e outros canos. block.pulse-conduit.description = Bloco avancado de transporte de liquido. Transporta liquidos mais rápido e armazena mais que os canos padrões. -block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. +block.plated-conduit.description = Move líquidos na mesma velocidade que canos de pulso, mas possui blindagem. Não aceita entradas dos lados. Não vaza. block.liquid-router.description = Aceita liquidos de uma direcão e os joga em 3 direções igualmente. Pode armazenar uma certa quantidade de liquido. Util para espalhar liquidos de uma fonte para multiplos alvos. +block.liquid-container.description = Armazena uma grande quantidade de líquido. Joga para todos os lados, de forma semelhante a um roteador de líquido. block.liquid-tank.description = Armazena grandes quantidades de liquido. Use quando a demanda de materiais não for constante ou para guardar itens para resfriar blocos vitais. block.liquid-junction.description = Age como uma ponte para dois canos que se cruzam. Útil em situações em que há dois cano carregando liquidos diferentes até localizações diferentes. block.bridge-conduit.description = Bloco de transporte de liquidos avancados. Possibilita o transporte de liquido sobre 3 blocos acima de construções ou paredes @@ -1290,33 +2196,40 @@ block.phase-conduit.description = Bloco avancado de transporte de liquido. Usa e block.power-node.description = Transmite energia para células conectadas. A célula vai receber energia ou alimentar qualquer bloco adjacente. block.power-node-large.description = Uma célula de energia avançada com maior alcance e mais conexões. block.surge-tower.description = Uma célula de energia com um extremo alcance mas com menos conexões disponíveis. -block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. +block.diode.description = Movimenta a energia da bateria em uma direção, mas somente se o outro lado tiver menos energia armazenada. block.battery.description = Armazena energia em tempos de energia excedente. Libera energia em tempos de déficit. block.battery-large.description = Guarda muito mais energia que uma beteria comum. block.combustion-generator.description = Gera energia usando combustível ou petróleo. block.thermal-generator.description = Gera uma quantidade grande de energia usando lava. block.steam-generator.description = Mais eficiente que o gerador de Combustão, Mas requer agua adicional. -block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. +block.differential-generator.description = Gera grandes quantidades de energia. Utiliza a diferença de temperatura entre o criofluido e a piratita. block.rtg-generator.description = Um Gerador termoelétrico de radioisótopos Que não precisa de refriamento Mas da muito menos energia que o reator de torio. block.solar-panel.description = Gera pequenas quantidades de energia do sol. block.solar-panel-large.description = Da muito mais energia que o painel solar comum, Mas sua produção é mais cara. block.thorium-reactor.description = Gera altas quantidades de energia do torio radioativo. Requer resfriamento constante. Vai explodir violentamente Se resfriamento insuficiente for fornecido. -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 = Um gerador avançado, capaz de criar quantidades enormes de energia em seu poder total. Requer uma entrada significativa de energia ao iniciar. block.mechanical-drill.description = Uma broca barata. Quando posto em blocos apropriados, retira itens em um ritmo lento e indefinitavamente. block.pneumatic-drill.description = Uma broca improvisada que é mais rápida e capaz de processar materiais mais duros usando a pressão do ar block.laser-drill.description = Possibilita a mineração ainda mais rapida usando tecnologia a laser, Mas requer poder adcionalmente torio radioativo pode ser recuperado com essa mineradora block.blast-drill.description = A melhor mineradora. Requer muita energia. block.water-extractor.description = Extrai água do chão. Use quando não tive nenhum lago proximo block.cultivator.description = Cultiva o solo com agua para pegar bio materia. +block.cultivator.details = Tecnologia recuperada. Costumava produzir quantidades massivas de biomassa o mais eficiente o possível. Provavelmente o primeiro incubador de esporos cobrindo Serpulo agora. block.oil-extractor.description = Usa altas quantidades de energia Para extrair oleo da areia. Use quando não tiver fontes de oleo por perto block.core-shard.description = Primeira iteração da cápsula do núcleo. Uma vez destruida, o controle da região inteira é perdido. Não deixe isso acontecer. +block.core-shard.details = A primeira interação. Compacto. Auto-replicante. Equipado com propulsores de lançamento de uso único. Não projetado para viagens interplanetárias. block.core-foundation.description = A segunda versão do núcleo. Melhor armadura. Guarda mais recursos. +block.core-foundation.details = A segunda versão. block.core-nucleus.description = A terceira e ultima iteração do núcleo. Extremamente bem armadurada. Guarda quantidades massivas de recursos. +block.core-nucleus.details = A terceira e última versão. block.vault.description = Carrega uma alta quantidade de itens. Usado para criar fontes Quando não tem uma necessidade constante de materiais. Um[lightgray] Descarregador[] pode ser usado para recuperar esses itens do container. block.container.description = Carrega uma baixa quantidade de itens. Usado para criar fontes Quando não tem uma necessidade constante de materiais. Um[lightgray] Descarregador[] pode ser usado para recuperar esses itens do container. block.unloader.description = Descarrega itens de um container, Descarrega em uma esteira ou diretamente em um bloco adjacente. O tipo de item que pode ser descarregado pode ser mudado clicando no descarregador. block.launch-pad.description = Lança montes de itens sem qualquer necessidade de um lançamento de núcleo. -block.launch-pad-large.description = Uma versão melhorada da plataforma de lançamento. Guarda mais itens. Lança mais frequentemente. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. + block.duo.description = Uma torre pequena e barata. block.scatter.description = Uma torre anti aerea media. Joga montes de cobre ou sucata aos inimigos. block.scorch.description = Queima qualquer inimigo terrestre próximo. Altamente efetivo a curta distncia. @@ -1331,5 +2244,454 @@ block.ripple.description = Uma grande torre que atira simultaneamente. block.cyclone.description = Uma grande torre de tiro rapido. 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.foreshadow.description = Dispara um feixe gigante de único alvo a grandes distâncias. Prioriza inimigos com maior vida máxima. block.repair-point.description = Continuamente repara a unidade danificada mais proxima. -block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.segment.description = Destrói projéteis inimigos que se aproximam. Projéteis a laser não serão detectados. +block.parallax.description = Dispara um feixe de energia que puxa unidades aéreas, danificando-as no processo. +block.tsunami.description = Lança poderosos jatos de líquido em inimigos. Automaticamente apaga incêndios se for abastecido com água ou criofluido. +block.silicon-crucible.description = Refina silício com carvão e areia, usando piratita como uma fonte de calor adicional. Mais eficiente em locais quentes. +block.disassembler.description = Separa escória em traços de minerais componentes exóticos. Pode produzir tório. +block.overdrive-dome.description = Aumenta a velocidade de construções vizinhas. Requer tecido de fase e silício para operar. +block.payload-conveyor.description = Movimenta grandes cargas ,como unidades saindo das fábricas. +block.payload-router.description = Separa cargas recebidas em 3 direções de saída. +block.ground-factory.description = Produz unidades terrestres. Unidades produzidas podem ser usadas diretamente, ou movido em reconstrutores para melhorar. +block.air-factory.description = Produz unidades aéreas. Unidades produzidas podem ser usadas diretamente, ou movido em reconstrutores para melhorar. +block.naval-factory.description = Produz unidades navais. Unidades produzidas podem ser usadas diretamente, ou movido em reconstrutores para melhorar. +block.additive-reconstructor.description = Melhora unidades recebidas para o seu segundo nível. +block.multiplicative-reconstructor.description = Melhora unidades recebidas para o seu terceiro nível. +block.exponential-reconstructor.description = Melhora unidades recebidas para o seu quarto nível. +block.tetrative-reconstructor.description = Melhora unidades recebidas para o seu quinto e último nível. +block.switch.description = Uma alavanca alternável. O seu estado pode ser lido e controlado com processadores lógicos. +block.micro-processor.description = Executa uma sequência de instruções lógicas em um loop. Pode ser usado para controlar unidades e construções. +block.logic-processor.description = Executa uma sequência de instruções lógicas em um loop. Pode ser usado para controlar unidades e construções. Mais rápido que um micro processador. +block.hyper-processor.description = Executa uma sequência de instruções lógicas em um loop. Pode ser usado para controlar unidades e construções. Mais rápido que um processador lógico. +block.memory-cell.description = Guarda informações para um processador lógico. +block.memory-bank.description = Guarda informações para um processador lógico. Capacidade alta. +block.logic-display.description = Exibe gráficos arbitrários de um processador lógico. +block.large-logic-display.description = Exibe gráficos arbitrários de um processador lógico. +block.interplanetary-accelerator.description = Uma enorme torre eletromagnética. Acelera a velocidade de fuga dos núcleos para o desdobramento interplanetário. +block.repair-turret.description = Conserta continuamente a unidade danificada mais próxima a ela. Opcionalmente, aceita líquido refrigerante. + +#Erekir +block.core-bastion.description = O núcleo da base. Blindado. Uma vez destruído, o setor é perdido. +block.core-citadel.description = O núcleo da base. Muito bem blindado. Armazena mais recursos do que um Bastião do Núcleo. +block.core-acropolis.description = O núcleo da base. Excepcionalmente bem blindado. Armazena mais recursos do que a Cidadela do Núcleo. +block.breach.description = Dispara munições perfurantes de berílio ou tungstênio em alvos inimigos. +block.diffuse.description = Dispara balas em um cone largo. Empurra os alvos inimigos de volta. +block.sublimate.description = Dispara um jato contínuo de chamas sobre alvos inimigos. Penetra armadura. +block.titan.description = Dispara um enorme projétil de artilharia explosiva em alvos terrestres. Requer hidrogênio. +block.afflict.description = Dispara uma esfera maciça e carregada de fragmentos. Requer aquecimento. +block.disperse.description = Dispara projéteis em alvos aéreos. +block.lustre.description = Dispara um laser de movimento lento de alvo único em alvos inimigos. +block.scathe.description = Lança um poderoso míssil em alvos terrestres a grandes distâncias. +block.smite.description = Dispara balas perfurantes e emissoras de raios. +block.malign.description = Dispara uma barragem de cargas de laser teleguiadas em alvos inimigos. Exige aquecimento extensivo. +block.silicon-arc-furnace.description = Refina Silício a partir de areia e grafite. +block.oxidation-chamber.description = Converte Berílio e Ozono em Óxido. Emite calor como um subproduto. +block.electric-heater.description = Aquece blocos a frente. Requer grandes quantidades de energia. +block.slag-heater.description = Aquece blocos a frente. Requer Escória. +block.phase-heater.description = Aquece blocos a frente. Requer Tecido de Fase +block.heat-redirector.description = Redireciona o calor acumulado para outros blocos. +block.small-heat-redirector.description = Redireciona o calor acumulado para outros blocos. +block.heat-router.description = Espalha o calor acumulado em 3 direções. +block.electrolyzer.description = Converte Ãgua em Hidrogénio e gás de Ozono. +block.atmospheric-concentrator.description = Concentra o Nitrogénio da atmosfera. Requer calor. +block.surge-crucible.description = Forma Liga de Surto a partir de Escória e Silício. Requer calor. +block.phase-synthesizer.description = Sintetiza Tecido de Fase a partir do Tório, Areia e Ozono. Requer calor. +block.carbide-crucible.description = Funde Grafite e Tungsténio em Carboneto. Requer calor. +block.cyanogen-synthesizer.description = Sintetiza Cianogénio a partir de Arkycite e Grafite. Requer calor. +block.slag-incinerator.description = Incinera itens ou líquidos não voláteis. Requer escória. +block.vent-condenser.description = Condensa os gases de ventilação em água. Consome energia. +block.plasma-bore.description = Quando colocado de frente para uma parede de minério, produz itens por tempo indeterminado. Requer pequenas quantidades de energia. +block.large-plasma-bore.description = Uma Broca de Plasma maior. Capaz de extrair tungsténio e tório. Requer hidrogénio e energia. +block.cliff-crusher.description = Esmaga as paredes, produzindo areia indefinidamente. Requer energia. A eficiência varia de acordo com o tipo de parede. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Quando colocados sobre minério, os itens saem em rajadas indefinidamente. Requer energia e água. +block.eruption-drill.description = Uma Broca de Impacto melhorada. Capaz de minerar Tório. Requer Hidrogénio. +block.reinforced-conduit.description = Movimenta fluidos para frente. Não aceita entradas de outros blocos, a não ser canos, dos lados. +block.reinforced-liquid-router.description = Distribui fluidos igualmente para todos os lados. +block.reinforced-liquid-tank.description = Armazena uma grande quantidade de fluidos. +block.reinforced-liquid-container.description = Armazena uma quantidade considerável de fluidos. +block.reinforced-bridge-conduit.description = Transporta fluidos sobre estruturas e terrenos. +block.reinforced-pump.description = Bombeia e produz líquidos. Requer hidrogênio. +block.beryllium-wall.description = Protege estruturas contra projéteis inimigos. +block.beryllium-wall-large.description = Protege estruturas contra projéteis inimigos. +block.tungsten-wall.description = Protege estruturas contra projéteis inimigos. +block.tungsten-wall-large.description = Protege estruturas contra projéteis inimigos. +block.carbide-wall.description = Protege estruturas contra projéteis inimigos. +block.carbide-wall-large.description = Protege estruturas contra projéteis inimigos. +block.reinforced-surge-wall.description = Protege estruturas contra projéteis inimigos, lançando periodicamente arcos elétricos em contato com o projétil. +block.reinforced-surge-wall-large.description = Protege estruturas contra projéteis inimigos, lançando periodicamente arcos elétricos em contato com o projétil. +block.shielded-wall.description = Protege estruturas contra projéteis inimigos. Implanta um escudo que absorve a maioria dos projéteis quando energia é fornecida. Conduz energia. +block.blast-door.description = Uma parede que se abre quando as unidades terrestres aliadas estão no alcance. Não pode ser controlada manualmente. +block.duct.description = Move itens para frente. Só é capaz de armazenar um único item. +block.armored-duct.description = Move itens para frente. Não aceita entradas de blocos não-dutos dos lados. +block.duct-router.description = Distribui os itens igualmente em três direções. Aceita somente itens pela parte de trás. Pode ser configurado como um ordenador de itens. +block.overflow-duct.description = Só libera itens para os lados se a frente estiver bloqueada. +block.duct-bridge.description = Move itens sobre estruturas e terrenos. +block.duct-unloader.description = Descarrega o item selecionado do bloco atrás dele. Não pode descarregar do núcleo. +block.underflow-duct.description = O contrário de um duto de sobrecarga. Libera itens para a frente se os caminhos esquerdo e direito estiverem bloqueados. +block.reinforced-liquid-junction.description = Atua como uma junção entre dois canos se cruzando. +block.surge-conveyor.description = Move itens em lotes. Pode ser acelerado com energia. Conduz energia. +block.surge-router.description = Distribui igualmente os itens em três direções a partir de Esteiras de Liga de Surto. Podem ser acelerados com energia. Conduz energia. +block.unit-cargo-loader.description = Constrói drones de carga. Os drones distribuem automaticamente os itens aos pontos de descarga de carga com um filtro correspondente. +block.unit-cargo-unload-point.description = Atua como um ponto de descarga de drones de carga. Aceita itens que combinam com o filtro selecionado. +block.beam-node.description = Transmite energia para outros blocos ortogonalmente. Armazena uma pequena quantidade de energia. +block.beam-tower.description = Transmite energia para outros blocos ortogonalmente. Armazena uma grande quantidade de energia. Longo alcance. +block.turbine-condenser.description = Gera energia quando colocado em ventilações. Produz uma pequena quantidade de água. +block.chemical-combustion-chamber.description = Gera energia a partir de arkycite e ozônio. +block.pyrolysis-generator.description = Gera grandes quantidades de energia a partir de arkycite e escória. Produz água como subproduto. +block.flux-reactor.description = Gera grandes quantidades de energia quando aquecido. Requer cianogênio como estabilizador. A saída de energia e os requisitos de cianogênio são proporcionais à entrada de calor.\nExplode se o cianogênio for insuficiente. +block.neoplasia-reactor.description = Utiliza arkycite, água e tecido de fase para gerar grandes quantidades de energia. Produz calor e neoplasma perigoso como subproduto.\nExplode violentamente se o neoplasma não for removido do reator através de canos. +block.build-tower.description = Reconstrói automaticamente estruturas em alcance e auxilia outras unidades na construção. +block.regen-projector.description = Lentamente repara estruturas aliadas em um perímetro quadrado. Requer hidrogênio. +block.reinforced-container.description = Armazena uma pequena quantidade de itens. O conteúdo pode ser recuperado através de descarregadores. Não aumenta a capacidade de armazenamento do núcleo. +block.reinforced-vault.description = Armazena uma grande quantidade de itens. O conteúdo pode ser recuperado através de descarregadores. Não aumenta a capacidade de armazenamento do núcleo. +block.tank-fabricator.description = Constrói unidades Stell. As unidades produzidas podem ser usadas diretamente, ou movidas para refabricadores para atualização. +block.ship-fabricator.description = Constrói unidades Elude. As unidades produzidas podem ser usadas diretamente, ou movidas para refabricadores para atualização. +block.mech-fabricator.description = Constrói unidades Merui. As unidades produzidas podem ser usadas diretamente, ou movidas para refabricadores para atualização. +block.tank-assembler.description = Monta grandes tanques a partir dos blocos e unidades inseridos. O tier pode ser aumentado com a adição de módulos. +block.ship-assembler.description = Monta grandes naves a partir de blocos e unidades inseridos. O tier pode ser aumentado com a adição de módulos. +block.mech-assembler.description = Monta grandes mechs a partir de blocos e unidades inseridos. O tier pode ser aumentado com a adição de módulos. +block.tank-refabricator.description = Atualiza as unidades tanques inseridas para o segundo tier. +block.ship-refabricator.description = Atualiza as unidades naves inseridas para o segundo tier. +block.mech-refabricator.description = Atualiza as unidades mech inseridas para o segundo tier. +block.prime-refabricator.description = Atualiza as unidades inseridas para o terceiro tier. +block.basic-assembler-module.description = Aumenta o tier do montador quando colocado próximo a um limite de construção. Requer energia. Pode ser usado como entrada de carga. +block.small-deconstructor.description = Desconstrói as estruturas e unidades inseridos. Devolve 100% do custo de construção. +block.reinforced-payload-conveyor.description = Movimenta cargas para frente. +block.reinforced-payload-router.description = Distribui cargas em blocos adjacentes. Funciona como um ordenador quando um filtro é configurado. +block.payload-mass-driver.description = = Estrutura de transporte de carga útil de longo alcance. Atira cargas recebidas para Catapultas de Carga Eletromagnéticas conectadas. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repara todas as unidades em sua proximidade. Requer ozônio. +block.radar.description = Gradualmente descobre o terreno e as unidades inimigas em um grande raio. Requer energia. +block.shockwave-tower.description = Danifica e destrói projéteis inimigos em um raio. Requer cianogênio. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. + +unit.dagger.description = Dispara projéteis padrões em todos os inimigos em volta. +unit.mace.description = Dispara corrents de chamas em todos os inimigos em volta. +unit.fortress.description = Dispara artilharia de longo alcance em alvos terrestres. +unit.scepter.description = Dispara uma barragem de projéteis carregados em todos os inimigos em volta. +unit.reign.description = Dispara uma barragem de projéteis perfuradoes massivos em todos os inimigos em volta. +unit.nova.description = Dispara raios-lasers que danificam inimigos e repara estruturas aliadas. Capaz de voar. +unit.pulsar.description = Dispara arcos de eletricidade que danificam inimigos e repara estruturas aliadas. Capaz de voar. +unit.quasar.description = Dispara feixes penetradores de lasers que danificam inimigos e repara estruturas aliadas. Capaz de voar. Possui um escudo. +unit.vela.description = Dispara um massivo feixe de laser massivo que danificam inimigos, causa fogo e repara estruturas aliadas. Capaz de voar. +unit.corvus.description = Dispara um massivo laser que danificam inimigos e repara estruturas aliadas. Pode pisar em cima da maioria do terreno. +unit.crawler.description = Corre atrás de inimigos e se destrói, causando uma grande explosão. +unit.atrax.description = Dispara orbes debilitantes de escória em alvos terrestres. Pode pisar em cima da maioria do terreno. +unit.spiroct.description = Dispara lasers enfraquecedores em inimigos, se reparando no processo. Pode pisar em cima da maioria do terreno. +unit.arkyid.description = Dispara grandes lasers enfraquecedores em inimigos, se reparando no processo. Pode pisar em cima da maioria do terreno. +unit.toxopid.description = Dispara grande granadas agrupadas elétricas e lasers penetradoes em inimigos. Pode pisar em cima da maioria do terreno. +unit.flare.description = Dispara projéteis padrões em alvos terrestres. +unit.horizon.description = Larga aglomerados de bombas em alvos terrestres. +unit.zenith.description = Dispara salvos de mísseis em todos os inimigos em volta. +unit.antumbra.description = Dispara uma barragem de projéteis em todos os inimigos em volta. +unit.eclipse.description = Dispara dois lasers penetradores e uma barragem de fogo antiaéreo em todos os inimigos em volta. +unit.mono.description = Automaticamente minera cobre e chumbo, depositando-os no núcleo. +unit.poly.description = Automaticamente reconstrói estruturas destruídas e ajuda outras unidades em construção. +unit.mega.description = Automaticamente repara estruturas danificadas. Capaz de carregar blocos e unidades de chão pequenas. +unit.quad.description = Larga grandes bombas em alvos terrestres, reparando estruturas aliadas e danificando inimigos. Capaz de carregar unidades terrestres de tamanho médio. +unit.oct.description = Protege aliados em volta com o seu escudo regenerador. Capaz de carregar a maioria das unidades terrestres. +unit.risso.description = Dispara uma barragem de mísseis e projéteis em todos os inimigos em volta. +unit.minke.description = Dispara granadas e projéteis padrões em alvos terrestres. +unit.bryde.description = Dispara granadas de artilharia de longo alcance e mísseis em todos os inimigos em volta. +unit.sei.description = Dispara uma barragem de mísseis e projéteis penetradoras de armadura em inimigos. +unit.omura.description = Dispara um raio de longo alcance atravessador em inimigos. Constrói unidades flare. +unit.alpha.description = Defende o Fragmento do Núcleo de inimigos. Constrói estruturas. +unit.beta.description = Defende a Fundação do Núcleo de inimigos. Constrói estruturas. +unit.gamma.description = Defende o Centro do Núcleo de inimigos. Constrói estruturas. +unit.retusa.description = Atira torpedos teleguiados em inimigos próximos. Repara unidades aliadas. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Dispara fragmentos de mísseis em inimigos. Repara unidades aliadas. +unit.aegires.description = Causa choque a todas as unidades e estruturas inimigas que entram em seu campo de enrgia. Repara todos os aliados. +unit.navanax.description = Dispara projéteis de PEM explosivos, causando danos significativos às redes de energia inimigas e reparando as estruturas aliadas. Derrete os inimigos próximos com 4 torres laser autônomas. +unit.stell.description = Dispara balas padrão em alvos inimigos. +unit.locus.description = Dispara balas alternadas em alvos inimigos. +unit.precept.description = Atira balas de fragmentação perfurantes em alvos inimigos. +unit.vanquish.description = Dispara grandes balas de fragmentação perfurantes em alvos inimigos. +unit.conquer.description = Dispara grandes cascatas de balas perfurantes em alvos inimigos. +unit.merui.description = Dispara artilharia de longo alcance em alvos terrestres inimigos. Pode pisar sobre a maioria dos terrenos. +unit.cleroi.description = Dispara projéteis duplos em alvos inimigos. Ataca projéteis inimigos com torretas de defesa de ponto. Pode pisar sobre a maioria dos terrenos. +unit.anthicus.description = Atira mísseis teleguiados de longo alcance em alvos inimigos. Pode pisar sobre a maioria dos terrenos. +unit.tecta.description = Atira mísseis teleguiados de plasma em direção a alvos inimigos. Protege-se com um escudo direcional. Pode pisar sobre a maioria dos terrenos. +unit.collaris.description = Dispara artilharia de fragmentação de longo alcance em alvos inimigos. Pode pisar sobre a maioria dos terrenos. +unit.elude.description = Dispara pares de balas teleguiadas em alvos inimigos. Pode flutuar sobre regiões de líquido. +unit.avert.description = Dispara pares de balas em alvos inimigos. +unit.obviate.description = Dispara pares de orbes de relâmpagos em alvos inimigos. +unit.quell.description = Atira mísseis de longo alcance em alvos inimigos. Suprime os blocos de reparo de estruturas inimigas. +unit.disrupt.description = Dispara mísseis teleguiados de supressão de longo alcance em alvos inimigos. Suprime os blocos de reparo de estruturas inimigas. +unit.evoke.description = Constrói estruturas para defender o Bastião do Núcleo. Conserta estruturas com um feixe. +unit.incite.description = Constrói estruturas para defender a Cidadela do Núcleo. Repara estruturas com um feixe. +unit.emanate.description = Constrói estruturas para defender o Núcelo Acrópole. Repara estruturas com feixes. + +lst.read = Ler um número de uma célula de memória vinculada. +lst.write = Escrever um número de uma célula de memória vinculada. +lst.print = Adiciona texto ao buffer de impressão.\nNão exibe nada até [accent]Print Flush[] ser usado. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Adicionar uma operação ao buffer de desenho.\nNão exibe nada até [accent]Draw Flush[] ser usado. +lst.drawflush = Liberar operações [accent]Draw[] enfileiradas para um display. +lst.printflush = Liberar operações [accent]Print[] enfileiradas para um bloco de mensagem. +lst.getlink = Obtenha um link de processador por índice. Começa em 0. +lst.control = Controle uma construção. +lst.radar = Localize unidades ao redor de um prédio com alcance. +lst.sensor = Obtenha dados de um edifício ou unidade. +lst.set = Defina uma variável. +lst.operation = Execute uma operação em 1-2 variáveis. +lst.end = Pule para o topo da pilha de instruções. +lst.wait = Aguarde um determinado número de segundos. +lst.stop = Interrompa a execução deste processador. +lst.lookup = Pesquise um tipo de item/líquido/unidade/bloco por ID.\nAs contagens totais de cada tipo podem ser acessadas com:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Salte condicionalmente para outra instrução. +lst.unitbind = Vincule à próxima unidade de um tipo e armazene-a em [accent]@unit[]. +lst.unitcontrol = Controle a unidade atualmente vinculada. +lst.unitradar = Localize as unidades ao redor da unidade atualmente vinculada. +lst.unitlocate = Localize um tipo específico de posição/construção em qualquer lugar do mapa.\nRequer uma unidade vinculada. +lst.getblock = Obtenha dados de blocos em qualquer local. +lst.setblock = Defina os dados do bloco em qualquer local. +lst.spawnunit = Gere uma unidade em um local. +lst.applystatus = Aplique ou elimine um efeito de status de uma unidade. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Gerar uma onda. +lst.explosion = Crie uma explosão em um local. +lst.setrate = Defina a velocidade de execução do processador em instruções/tick. +lst.fetch = Pesquise unidades, núcleos, jogadores ou edifícios por índice.\nOs índices começam em 0 e terminam na contagem retornada. +lst.packcolor = Empacote [0, 1] componentes RGBA em um único número para desenho ou configuração de regra. +lst.setrule = Defina uma regra do jogo. +lst.flushmessage = Exibe uma mensagem na tela do buffer de texto.\nAguardará até que a mensagem anterior termine. +lst.cutscene = Manipule a câmera do jogador. +lst.setflag = Defina um sinalizador global que possa ser lido por todos os processadores. +lst.getflag = Verifique se um sinalizador global está definido. +lst.setprop = Define uma propriedade de uma unidade ou edifício. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. + +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Lógica de construção de unidades não é permitida aqui. + +lenum.type = Tipo de edifício/unidade.\ne.g. para qualquer roteador, isso retornará [accent]@router[].\não uma string. +lenum.shoot = Atire em uma posição. +lenum.shootp = Atire em uma unidade/edifício com previsão de velocidade. +lenum.config = Configuração do edifício, por ex. item classificador. +lenum.enabled = Se o bloco está ativado. + +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Cor do iluminador. +laccess.controller = Controlador de unidade. Se controlado pelo processador, retorna o processador.\nCaso contrário, retorna a própria unidade. +laccess.dead = Se uma unidade/edifício está morta ou não é mais válida. +laccess.controlled = Retorna:\n[accent]@ctrlProcessor[] se o controlador da unidade for o processador\n[accent]@ctrlPlayer[] se o controlador da unidade/edifício for o player\n[accent]@ctrlCommand[] se o controlador da unidade for um comando do player\nCaso contrário , 0. +laccess.progress = Progresso da ação, 0 a 1.\nRetorna a produção, a recarga da torre ou o progresso da construção. +laccess.speed = Velocidade máxima de uma unidade, em ladrilhos/seg. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. + +lcategory.unknown = Desconhecido +lcategory.unknown.description = Instruções não categorizadas. +lcategory.io = Entrada e Saída +lcategory.io.description = Modifica o conteúdo dos blocos de memória e buffers do processador. +lcategory.block = Controle de bloco +lcategory.block.description = Interaja com os blocos. +lcategory.operation = Operações +lcategory.operation.description = Operações lógicas. +lcategory.control = Controle de fluxo +lcategory.control.description = Gerencia ordem de execução. +lcategory.unit = Unidade de controle +lcategory.unit.description = Dá comandos às unidades. +lcategory.world = Mundo +lcategory.world.description = Controla como o mundo se comporta. + +graphicstype.clear = Preenche o visor com uma cor. +graphicstype.color = Define a cor para as próximas operações de desenho. +graphicstype.col = Equivalente à cor, mas agrupada.\nAs cores agrupadas são escritas como códigos hexadecimais com um prefixo [accent]%[].\nExemplo: [accent]%ff0000[] seria vermelho. +graphicstype.stroke = Define a largura da linha. +graphicstype.line = Desenha o segmento de linha. +graphicstype.rect = Preenche um retângulo. +graphicstype.linerect = Desenha um contorno retangular. +graphicstype.poly = Preenche um polígono regular. +graphicstype.linepoly = Desenha um contorno de polígono regular. +graphicstype.triangle = Preenche um triângulo. +graphicstype.image = Desenha uma imagem de algum conteúdo.\nex: [accent]@router[] ou [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Sempre verdade. +lenum.idiv = Divisão inteira. +lenum.div = Divisão.\nRetorna [accent]null[] na divisão por zero. +lenum.mod = Modulo. +lenum.equal = Igual. Coage tipos.\nObjetos não nulos comparados com números tornam-se 1, caso contrário, 0. +lenum.notequal = Não igual. Tipos de coerção. +lenum.strictequal = Igualdade estrita. Não coage tipos.Pode ser usado para verificar [accent]null[]. +lenum.shl = Deslocamento de bit para a esquerda. +lenum.shr = Deslocamento de bits para a direita. +lenum.or = OU bit a bit. +lenum.land = Lógico E. +lenum.and = E bit a bit. +lenum.not = Virar bit a bit. +lenum.xor = XOR bit a bit. + +lenum.min = Mínimo de dois números. +lenum.max = Máximo de dois números. +lenum.angle = Ângulo do vetor em graus. +lenum.anglediff = Distância absoluta entre dois ângulos em graus. +lenum.len = Comprimento do vetor. + +lenum.sin = Seno, em graus. +lenum.cos = Cosseno, em graus. +lenum.tan = Tangente, em graus. + +lenum.asin = Arco seno, em graus. +lenum.acos = Arco cosseno, em graus. +lenum.atan = Arco tangente, em graus. + +#not a typo, look up 'range notation' +lenum.rand = Decimal aleatório no intervalo [0, valor). +lenum.log = Logaritmo natural (ln). +lenum.log10 = Logaritmo de base 10. +lenum.noise = Ruído simplex 2D. +lenum.abs = Valor absoluto. +lenum.sqrt = Raiz quadrada. + +lenum.any = Qualquer unidade. +lenum.ally = Unidade aliada. +lenum.attacker = Unidade com uma arma. +lenum.enemy = Unidade inimiga. +lenum.boss = Unidade Guardiã. +lenum.flying = Unidade voadora. +lenum.ground = Ground unit. +lenum.player = Unidade controlada por um jogador. + +lenum.ore = Depósito de minério. +lenum.damaged = Edifício aliado danificado. +lenum.spawn = Ponto de geração do inimigo.\nPode ser um núcleo ou uma posição. +lenum.building = Construção em um grupo específico. + +lenum.core = Qualquer núcleo. +lenum.storage = Edifício de armazenamento, por ex. Cofre. +lenum.generator = Edifícios que geram energia. +lenum.factory = Edifícios que transformam recursos. +lenum.repair = Pontos de reparo. +lenum.battery = Qualquer bateria. +lenum.resupply = Pontos de reabastecimento.\nRelevante apenas quando [accent]"Unit Ammo"[] está habilitado. +lenum.reactor = Reator de impacto/tório. +lenum.turret = Qualquer torre. + +sensor.in = O edifício/unidade para sentir. + +radar.from = Construir para detectar.\nO alcance do sensor é limitado pelo alcance do edifício. +radar.target = Filtre as unidades a serem detectadas. +radar.and = Filtros adicionais. +radar.order = Ordem de classificação. 0 para inverter. +radar.sort = Métrica pela qual classificar os resultados. +radar.output = Variável para gravar a unidade de saída. + +unitradar.target = Filtre as unidades a serem detectadas. +unitradar.and = Filtros adicionais. +unitradar.order = Ordem de classificação. 0 para inverter. +unitradar.sort = Métrica pela qual classificar os resultados. +unitradar.output = Variável para gravar a unidade de saída. + +control.of = Construir para controlar. +control.unit = Unidade/edifício a visar. +control.shoot = Se atirar. + +unitlocate.enemy = Se deve localizar edifícios inimigos. +unitlocate.found = Se o objeto foi encontrado. +unitlocate.building = Variável de saída para edifício localizado. +unitlocate.outx = Coordenada X de saída. +unitlocate.outy = Coordenada Y de saída. +unitlocate.group = Grupo de construção para procurar. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Não se mova, mas continue construindo/minerando.\nO estado padrão. +lenum.stop = Pare de mover/mineração/construção. +lenum.unbind = Desabilite completamente o controle lógico.\nRetome AI padrão. +lenum.move = Mover para a posição exata. +lenum.approach = Aproxime-se de uma posição com um raio. +lenum.pathfind = Pathfind para o spawn inimigo. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Atire em uma posição. +lenum.targetp = Atire em um alvo com previsão de velocidade. +lenum.itemdrop = Solte um item. +lenum.itemtake = Pegue um item de um edifício. +lenum.paydrop = Solte a carga útil atual. +lenum.paytake = Pegue a carga no local atual. +lenum.payenter = Entre/pouse no bloco de carga em que a unidade está. +lenum.flag = Sinalizador de unidade numérica. +lenum.mine = Mina em uma posição. +lenum.build = Construa uma estrutura. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Verifique se a unidade está perto de uma posição. +lenum.boost = Iniciar/parar o reforço. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_ro.properties b/core/assets/bundles/bundle_ro.properties index 103b173a72..84b55cd27b 100644 --- a/core/assets/bundles/bundle_ro.properties +++ b/core/assets/bundles/bundle_ro.properties @@ -14,9 +14,10 @@ link.f-droid.description = Catalogul F-Droid link.wiki.description = Wikiul oficial al Mindustry link.suggestions.description = Sugerează noi funcÈ›ii link.bug.description = Ai găsit vreunul? Raportează-l aici +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Linkul nu a putut fi deschis!\nAdresa URL a fost copiată. screenshot = Captură de ecran salvată la {0} -screenshot.invalid = Harta e prea mare. Se poate să nu existe suficientă memorie pentru captura de ecran. +screenshot.invalid = Harta e prea mare. Se poate să nu existe suficientă memorie pentru captura de ecran gameover = Jocul s-a încheiat gameover.disconnect = Deconectare gameover.pvp = Echipa [accent] {0}[] este câștigătoare! @@ -24,12 +25,11 @@ gameover.waiting = [accent]Se aÈ™teaptă următoarea hartă... highscore = [accent]Scor maxim nou! copied = Copiat. indev.notready = Această secÈ›iune a jocului nu este gata încă. -indev.campaign = [accent]Felicitări! Ai ajuns la finalul campaniei![]\n\nAi mers cât de departe se poate momentan. Călătoria interplanetară va fi adăugată într-un update viitor. load.sound = Sunete -load.map = HărÈ›i +load.map = HărÈ›i load.image = Imagini -load.content = ConÈ›inut +load.content = ConÈ›inut load.system = Sistem load.mod = Moduri load.scripts = Scripturi @@ -41,15 +41,23 @@ be.ignore = Ignoră be.noupdates = Niciun update disponibil. be.check = Verifică updateurile -mod.featured.title = Mod browser -mod.featured.dialog.title = Mod Browser (Neterminat) +mods.browser = Browser de Moduri mods.browser.selected = Mod selectat -mods.browser.add = Instalează -mods.github.open = Vezi +mods.browser.add = Instalare +mods.browser.reinstall = Reinstal. +mods.browser.view-releases = View Releases +mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published. +mods.browser.latest = +mods.browser.releases = Releases +mods.github.open = Github +mods.github.open-release = Release Page +mods.browser.sortdate = Cele mai recente +mods.browser.sortstars = Cele mai multe stele schematic = Schemă schematic.add = Salvează Schema... schematics = Scheme +schematic.search = Search schematics... schematic.replace = O schemă cu acel nume există deja. O înlocuiÈ›i? schematic.exists = O schemă cu acel nume există deja. schematic.import = Importă Schema... @@ -59,22 +67,30 @@ schematic.browseworkshop = Intră pe Workshop schematic.copy = Copiază în Clipboard schematic.copy.import = Importă din Clipboard schematic.shareworkshop = Partajează pe Workshop -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: ÃŽntoarce Schema -schematic.saved = Schemă salvată. +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: ÃŽntoarce Schema +schematic.saved = Schemă salvată. schematic.delete.confirm = Schema această va fi È™tearsă permanent. -schematic.rename = RedenumeÈ™te Schema +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blocuri schematic.disabled = [scarlet]Schemele sunt dezactivate[]\nNu ai voie să foloseÈ™ti scheme pe această [accent]hartă[] sau [accent]server. +schematic.tags = Etichete: +schematic.edittags = Editează Etichetele +schematic.addtag = Adaugă Etichetă +schematic.texttag = Etichetă Text +schematic.icontag = Etichetă Iconiță +schematic.renametag = RedenumeÈ™te Eticheta +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Vrei să È™tergi permanent eticheta? +schematic.tagexists = Acea etichetă există deja. stats = InformaÈ›ii -stat.wave = Valuri ÃŽnvinse:[accent] {0} -stat.enemiesDestroyed = Inamici DistruÈ™i:[accent] {0} -stat.built = Structuri Construite:[accent] {0} -stat.destroyed = Structuri Distruse:[accent] {0} -stat.deconstructed = Structuri Deconstruite:[accent] {0} -stat.delivered = Resurse Lansate: -stat.playtime = Timp Joc:[accent] {0} -stat.rank = Rang Final: [accent]{0} +stats.wave = Waves Defeated +stats.unitsCreated = Units Created +stats.enemiesDestroyed = Enemies Destroyed +stats.built = Buildings Built +stats.destroyed = Buildings Destroyed +stats.deconstructed = Buildings Deconstructed +stats.playtime = Time Played globalitems = [accent]Materiale Totale map.delete = Sigur vrei să È™tergi harta "[accent]{0}[]"? @@ -84,51 +100,68 @@ level.mode = Mod de Joc: coreattack = < Nucleul este atacat! > nearpoint = [[ [scarlet]PLEACÄ‚ DE LA PUNCTUL DE LANSARE IMEDIAT[] ]\nanihilare imminentă database = Datele Nucleului -savegame = Salvează Jocul +database.button = Bază de date +savegame = Salvează Jocul loadgame = ÃŽncarcă Jocul joingame = Intră în Joc customgame = Personalizat newgame = Joc Nou -none.found = [lightgray] none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Minihartă position = PoziÈ›ie -close = ÃŽnchide +close = ÃŽnchide website = Site -quit = Abandonează +quit = Abandonează save.quit = Salvează È™i ÃŽnchide maps = HărÈ›i -maps.browse = Selectează HărÈ›i +maps.browse = Selectează HărÈ›i continue = Continuă maps.none = [lightgray]Nu s-au găsit hărÈ›i! invalid = Invalid pickcolor = Alege Culoarea -preparingconfig = Se PregăteÈ™te ConfiguraÈ›ia -preparingcontent = Se PregăteÈ™te ConÈ›inutul -uploadingcontent = Se ÃŽncarcă ConÈ›inutul -uploadingpreviewfile = Se ÃŽncarcă Previzualizarea FiÈ™ierului -committingchanges = Se ÃŽncarcă Schimbările +preparingconfig = Se PregăteÈ™te ConfiguraÈ›ia +preparingcontent = Se PregăteÈ™te ConÈ›inutul +uploadingcontent = Se ÃŽncarcă ConÈ›inutul +uploadingpreviewfile = Se ÃŽncarcă Previzualizarea FiÈ™ierului +committingchanges = Se ÃŽncarcă Schimbările done = Gata feature.unsupported = Dispozitivul tău nu suportă această funcÈ›ie. -mods.alphainfo = Modurile sunt încă în alpha È™i[scarlet] pot avea multe buguri[].\nRaportează orice probleme apărute pe Githubul Mindustry. +mods.initfailed = [red]âš [] InstanÈ›a Mindustry precedentă a eÈ™uat la iniÈ›ializare. De obicei se întâmplă din cauza unui mod care nu se acÈ›ionează cum trebuie.\n\nPt a preveni un lanÈ› de crashuri continue, [red]toate modurile au fost dezactivate.[]\n\nPoÈ›i dezactiva asta din [accent]Setări->Joc->Dezactivează Modurile în Cazul unui Crash la Pornire[]. mods = Moduri mods.none = [lightgray]Nu s-au găsit moduri! mods.guide = Ghid de Modding mods.report = Raportează Bug mods.openfolder = Deschide Folder -mods.reload = Reîncarcă +mods.viewcontent = Vezi ConÈ›inut +mods.reload = Reîncarcă mods.reloadexit = Jocul se va opri ca să reîncarce modurile. +mod.installed = [[Instalat] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Activat mod.disabled = [scarlet]Dezactivat +mod.multiplayer.compatible = [gray]Compatibil cu Multiplayer mod.disable = Dezactivează +mod.version = Version: mod.content = ConÈ›inut: mod.delete.error = Nu s-a putut È™terge modul. FiÈ™ierul ar putea fi în uz. -mod.requiresversion = [scarlet]Ai nevoie de versiunea de joc minimă: [accent]{0} -mod.outdated = [scarlet]Nu este compatibil cu V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]DependenÈ›e Lipsă: {0} +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Erori de ConÈ›inut +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Au apărut erori la încărcarea conÈ›inutului. mod.noerrorplay = [scarlet]Modurile tale au erori.[] Dezactivează modurile afectate sau repară erorile înainte să joci. mod.nowdisabled = [scarlet]Modul '{0}' are dependenÈ›e lipsă:[accent] {1}\n[lightgray]Mai întâi trebuie să descarci aceste moduri.\nAcest mod va fi dezactivat automat. @@ -150,18 +183,27 @@ mod.scripts.disable = Dispozitivul tău nu suportă moduri cu scripturi. Trebuie about.button = Despre name = Nume: noname = Mai întâi alege un [accent] nume de jucător[]. +search = Search: planetmap = Harta Planetei launchcore = Lansează Nucleu filename = Nume FiÈ™ier: unlocked = Nou conÈ›inut deblocat! available = PoÈ›i cerceta noi tehnologii! +unlock.incampaign = < Deblochează în campanie pt detalii > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Finalizat techtree = Cercetează -research.legacy = Au fost găsite date de cercetare din versiunea [accent]5.0[].\n DoreÈ™ti să [accent]păstrezi aceste date[], sau [accent]să renunÈ›i la ele[] È™i să reîncepi cercetarea în noua campanie (recomandat)? +techtree.select = Tech Tree Selection +techtree.serpulo = Serpulo +techtree.erekir = Erekir research.load = Păstrează Datele research.discard = Renunță research.list = [lightgray]Cercetare: -research = Cercetează +research = Cercetează researched = [lightgray]{0} cercetat. research.progress = {0}% finalizat players = {0} jucători @@ -191,7 +233,7 @@ join.info = Aici poÈ›i scrie un [accent]IP de server[] pt a te conecta sau pt a hostserver = GăzduieÈ™te Joc Multiplayer invitefriends = Invită Prieteni hostserver.mobile = GăzduieÈ™te Joc -host = GăzduieÈ™te +host = GăzduieÈ™te hosting = [accent]Se deschide serverul... hosts.refresh = Reîncarcă hosts.discovering = Se caută jocur LAN @@ -201,22 +243,34 @@ hosts.none = [lightgray]Nu s-au găsit jocuri locale! host.invalid = [scarlet]Nu s-a putut face conectarea la gazdă! servers.local = Servere Locale -servers.remote = Servere de la Distanță +servers.local.steam = Jocuri Deschise & Servere Locale +servers.remote = Servere de la Distanță servers.global = Servere ale Comunității servers.disclaimer = Serverele comunității [accent]nu[] sunt deÈ›inute sau controlate de către dezvoltator.\n\nServerele pot prezenta conÈ›inut generat de utilizatori care nu este potrivit tuturor vârstelor. servers.showhidden = Vezi Serverele Ascunse server.shown = AfiÈ™ate server.hidden = Ascunse +viewplayer = Viewing Player: [accent]{0} trace = UrmăreÈ™te Jucător trace.playername = Nume jucător: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = ID unic: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Client Mobil: [accent]{0} trace.modclient = Client Personalizat: [accent]{0} +trace.times.joined = A Intrat: de [accent]{0}[] ori +trace.times.kicked = Dat Afară: de [accent]{0}[] ori +trace.ips = IPs: +trace.names = Names: invalidid = ID client invalid! Raportează bugul. -server.bans = InterziÈ™i +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team +server.bans = InterziÈ™i server.bans.none = Nu s-au găsit jucători intreziÈ™i! server.admins = Admini server.admins.none = Nu s-au găsit admini! @@ -226,13 +280,14 @@ server.edit = Editează Server server.outdated = [scarlet]Server ÃŽnvechit![] server.outdated.client = [scarlet]Client ÃŽnvechit![] server.version = [gray]v{0} {1} -server.custombuild = [accent]Build Personalizat +server.custombuild = [accent]Build Personalizat confirmban = Sigur vrei să interzici jucătorul "{0}[white]"? confirmkick = Sigur vrei să-l dai afară pe "{0}[white]"? -confirmvotekick = Sigur vrei să-l dai afară pe "{0}[white]"? confirmunban = Sigur vrei ca acest jucător să nu mai fie interzis? confirmadmin = Sigur vrei să-l faci pe "{0}[white]" un admin? confirmunadmin = Sigur vrei ca "{0}[white]" să nu mai fie un admin? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Alătură-te Jocului joingame.ip = Adresă: disconnect = Deconectat. @@ -240,17 +295,19 @@ disconnect.error = Eroare de conexiune. disconnect.closed = Conexiune închisă. disconnect.timeout = ÃŽntârzie să răspundă. disconnect.data = Nu s-au putut încărca datele lumii! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Nu te-ai putut alătura jocului ([accent]{0}[]). connecting = [accent]Conectare... reconnecting = [accent]Reconectare... connecting.data = [accent]Se încarcă datele hărÈ›ii... server.port = Port: -server.addressinuse = Adresa este deja în uz! server.invalidport = Număr de port invalid! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [scarlet]Eroare la găzduirea serverului. save.new = Nouă Salvare save.overwrite = Sigur vrei să scrii peste \nacest slot de salvare? -overwrite = Scrie Peste +save.nocampaign = Individual save files from the campaign cannot be imported. +overwrite = Scrie peste save.none = Nu s-au găsit salvări! savefail = Salvarea jocului a eÈ™uat! save.delete.confirm = Sigur vrei să È™tergi această salvare? @@ -270,6 +327,7 @@ save.corrupted = FiÈ™ier salvare corupt sau invalid! empty = on = Pornit off = Oprit +save.search = Search saved games... save.autosave = Autosalvare: {0} save.map = Hartă: {0} save.wave = Valul {0} @@ -285,9 +343,30 @@ ok = OK open = Deschide customize = Personalizează Regulile cancel = Anulare +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Deschide Linkul copylink = Copiază Linkul -back = ÃŽnapoi +back = ÃŽnapoi +max = Maximum +objective = Map Objective crash.export = Exportă Crash Logs crash.none = Nu s-au găsit crash logs. crash.exported = Crash logs exportate. @@ -298,20 +377,22 @@ data.exported = Date exportate. data.invalid = Aceste date de joc nu sunt valide. data.import.confirm = Importul de date externe va suprascrie[scarlet] toate[] datele tale de joc curente.\n[accent]Acest proces este ireversibil![]\n\nOdată ce datele sunt importate, jocul tău se va opri imediat. quit.confirm = Sigur vrei să abandonezi? -quit.confirm.tutorial = Sigur È™tii ce faci?\nTutorialul poate fi reluat în[accent] Setări->Joc->Reia Tutorialul.[] loading = [accent]Se încarcă... -reloading = [accent]Se Reincarcă Modurile... +downloading = [accent]Se descarcă... saving = [accent]Se salvează... respawn = [accent][[{0}][] ca să te refaci în nucleu cancelbuilding = [accent][[{0}][] pt a curăța planul selectschematic = [accent][[{0}][] pt selectare+copiere pausebuilding = [accent][[{0}][] pt a face o pauză de la construit resumebuilding = [scarlet][[{0}][] pt a continua construitul +enablebuilding = [scarlet][[{0}][] pt a construi showui = Interfață ascunsă.\nApasă [accent][[{0}][] pt a vedea interfaÈ›a. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Valul {0} wave.cap = [accent]Valul {0}/{1} wave.waiting = [lightgray]Val în {0} -wave.waveInProgress = [lightgray]Val în desfășurare +wave.waveInProgress = [lightgray]Val în desfășurare waiting = [lightgray]ÃŽn aÈ™teptare... waiting.players = Se aÈ™teaptă jucătorii... wave.enemies = [lightgray]Mai sunt {0} inamici @@ -327,9 +408,9 @@ custom = Personalizată builtin = Prestabilită map.delete.confirm = EÈ™ti sigur că vrei să È™tergi această hartă? AcÈ›iunea este ireversibilă! map.random = [accent]Hartă Aleatorie -map.nospawn = Harta asta nu are niciun nucleu în care vor apărea jucătorii! Adaugă un nucleu[accent] portocaliu[] acestei hărÈ›i în editor. -map.nospawn.pvp = Această hartă nu are niciun nucleu inamic în care să apară jucătorii! Adaugă nuclee[scarlet] care nu sunt portocalii[] acestei hărÈ›i în editor. -map.nospawn.attack = Această hartă nu are niciun nucleu inamic pe care să îl atace jucătorii! Adaugă un nucleu[scarlet] roÈ™u[] acestei hărÈ›i în editor. +map.nospawn = Harta asta nu are niciun nucleu în care vor apărea jucătorii! Adaugă un nucleu {0} acestei hărÈ›i în editor. +map.nospawn.pvp = Această hartă nu are niciun nucleu inamic în care să apară jucătorii! Adaugă nuclee [scarlet]care nu sunt portocalii[] acestei hărÈ›i în editor. +map.nospawn.attack = Această hartă nu are niciun nucleu inamic pe care să îl atace jucătorii! Adaugă nuclee {0} acestei hărÈ›i în editor. map.invalid = Eroare la încărcarea hărÈ›ii: fiÈ™ier corupt sau invalid. workshop.update = Fă Update la Item workshop.error = Eroare la preluarea detaliilor din Workshop: {0} @@ -337,13 +418,18 @@ map.publish.confirm = Sigur vrei să publici această hartă?\n\n[lightgray] Asi workshop.menu = Selectează ce ai vrea să faci cu acest item. workshop.info = InformaÈ›ii despre Item changelog = Schimbări (opÈ›ional): +updatedesc = Overwrite Title & Description eula = Steam EULA (Termeni È™i CondiÈ›ii) missing = Acest item a fost È™ters sau mutat.\n[lightgray]Listarea de pe Workshop a fost automat dezlegată. publishing = [accent]Se Publică... publish.confirm = Sigur vrei să publici asta?\n\n[lightgray]Asigură-te că ai verificat Termenii È™i CondiÈ›iile Workshop mai întâi, sau itemurile tale nu vor apărea! publish.error = Eroare la publicarea itemului: {0} steam.error = IniÈ›ializarea serviciilor Steam a eÈ™uat.\nEroare: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = PereÈ›i >> Dealuri editor.brush = Pensulă editor.openin = Deschide în Editor editor.oregen = Generarea Minereurilor @@ -355,56 +441,96 @@ editor.nodescription = O hartă trebuie să aibă o descriere care să conÈ›ină editor.waves = Valuri: editor.rules = Reguli: editor.generation = Generare: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Editează în Joc +editor.playtest = Playtest editor.publish.workshop = Publică pe Workshop -editor.newmap = Hartă Nouă +editor.newmap = Hartă Nouă editor.center = Centrează +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Valuri waves.remove = Elimină -waves.never = waves.every = la fiecare waves.waves = val(uri) +waves.health = health: {0}% waves.perspawn = per apariÈ›ie waves.shields = scuturi/val waves.to = până la +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = unități maxime waves.guardian = Gardian waves.preview = Previzualizare waves.edit = Editează... +waves.random = Random waves.copy = Copiază în Clipboard waves.load = ÃŽncarcă din Clipboard waves.invalid = Valuri invalide în clipboard. waves.copied = Valuri copiate. waves.none = Niciun inamic definit.\nDe reÈ›inut că o listă de valuri goală va fi înlocuită automat cu lista de valuri prestabilită. +waves.sort = Sortează După +waves.sort.reverse = Inversează Sortarea +waves.sort.begin = ÃŽnceput +waves.sort.health = Viață +waves.sort.type = Tip +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Ascunde +waves.units.show = Vezi Tot #intenÈ›ionat cu literă mică wavemode.counts = numere wavemode.totals = totaluri wavemode.health = viață +all = All editor.default = [lightgray] details = Detalii... -edit = Editare... +edit = Editează... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Nume: editor.spawn = Adaugă Unitate editor.removeunit = ÃŽnlătură Unitate editor.teams = Echipe editor.errorload = Eroare la încărcarea fiÈ™ierului. -memory = Mem: {0}mb -memory2 = Mem:\n {0}mb +\n {1}mb editor.errorsave = Eroare la salvarea fiÈ™ierului. -editor.errorimage = Aceasta este o imagine, nu o hartă.\n\nDacă vrei să imporÈ›i o hartă din versiunile 3.5/build 40, foloseÈ™te butonul 'Importă Hartă Veche' din editor. +editor.errorimage = Aceasta este o imagine, nu o hartă. editor.errorlegacy = Hartă aceasta este prea veche, È™i foloseÈ™te un format învechit care nu mai este suportat. editor.errornot = Acesta nu este un fiÈ™ier cu o hartă. editor.errorheader = Acest fiÈ™ier de hartă este invalid sau corupf. editor.errorname = Harta nu are un nume definit. ÃŽncerci cumva să încarci un fiÈ™ier cu o salvare de joc? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Update editor.randomize = Aleatoriu -editor.apply = Aplică +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy +editor.apply = Aplică editor.generate = Generează +editor.sectorgenerate = Sector Generate editor.resize = Schimbă Dimensiune editor.loadmap = ÃŽncarcă Harta editor.savemap = Salvează Harta +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Salvat! editor.save.noname = Hartă ta nu are un nume! Setează unul în meniul 'InformaÈ›ii despre hartă'. editor.save.overwrite = Hartă ta suprascrie o hartă prestabilită! Alege un nume diferit în meniul 'InformaÈ›ii despre hartă'. @@ -415,12 +541,12 @@ editor.importmap.description = Importă o hartă deja existentă editor.importfile = Importă FiÈ™ier editor.importfile.description = Importă un fiÈ™ier hartă extern editor.importimage = Importă Hartă Veche (Imagine) -editor.importimage.description = Importă o hartă imagine externă +editor.importimage.description = Importă o hartă imagine externă editor.export = Exportă... editor.exportfile = Exportă FiÈ™ier -editor.exportfile.description = Exportă un fiÈ™ier hartă +editor.exportfile.description = Exportă un fiÈ™ier hartă editor.exportimage = Exportă o Hartă Imagine -editor.exportimage.description = Exportă o hartă imagine conÈ›inând doar teren de bază +editor.exportimage.description = Exportă o hartă imagine conÈ›inând doar teren de bază editor.loadimage = Importă Hartă Imagine editor.saveimage = Exportă Hartă Imagine editor.unsaved = Sigur vrei să ieÈ™i?\n[scarlet]Orice schimbări nesalvate vor fi pierdute. @@ -432,7 +558,7 @@ editor.exists = Există deja o hartă cu acelaÈ™i nume. editor.selectmap = Selectează o hartă de încărcat: toolmode.replace = ÃŽnlocuieÈ™te -toolmode.replace.description = Desenează doar pe blocurile solide. +toolmode.replace.description = Desenează doar peste blocurile solide. toolmode.replaceall = ÃŽnlocuieÈ™te-le pe toate toolmode.replaceall.description = ÃŽnlocuieÈ™te toate blocurile solide de pe hartă. toolmode.orthogonal = Ortogonal @@ -442,11 +568,16 @@ toolmode.square.description = Pensulă pătrată. toolmode.eraseores = Șterge Minereurile toolmode.eraseores.description = Șterge doar minereurile. toolmode.fillteams = Umplere Echipe -toolmode.fillteams.description = Umple hartă cu echipe în loc de blocuri. +toolmode.fillteams.description = Umple harta cu echipe în loc de blocuri. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Desenează Echipe toolmode.drawteams.description = Desenează echipe în loc de blocuri. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]Fără filtre! Adaugă unul folosind butonul de mai jos. + filter.distort = Distorsionare filter.noise = Zgomot Vizual filter.enemyspawn = Selectare Punct de Lansare Inamic @@ -457,41 +588,68 @@ filter.oremedian = Mediană Minereu filter.blend = Amestecare filter.defaultores = Minereuri Prestabilite filter.ore = Minereu -filter.rivernoise = Zgomot Vizual Râuri -filter.mirror = Oglindă -filter.clear = Curăță +filter.rivernoise = Zgomot Vizual Râuri +filter.mirror = Oglindă +filter.clear = Curăță filter.option.ignore = Ignoră -filter.scatter = ÃŽmprăștie +filter.scatter = ÃŽmprăștie filter.terrain = Teren +filter.logic = Logic + filter.option.scale = Scară -filter.option.chance = Șansă +filter.option.chance = Șansă filter.option.mag = Magnitudine filter.option.threshold = Cantitate filter.option.circle-scale = Scară circulară filter.option.octaves = Octave -filter.option.falloff = Cădere +filter.option.falloff = Cădere filter.option.angle = Unghi +filter.option.tilt = Tilt +filter.option.rotate = RoteÈ™te filter.option.amount = Cantitate filter.option.block = Bloc filter.option.floor = Podea filter.option.flooronto = Podea Èšintă filter.option.target = Èšintă +filter.option.replacement = ÃŽnlocuitor filter.option.wall = Perete filter.option.ore = Minereu filter.option.floor2 = Podea Secundară filter.option.threshold2 = Cantitate Secundară -filter.option.radius = Rază +filter.option.radius = Rază filter.option.percentile = Procent +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Lățime: height = ÃŽnălÈ›ime: menu = Meniu -play = Joacă +play = Joacă campaign = Campanie load = ÃŽncarcă save = Salvează fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = ReporneÈ™te jocul pentru ca setările de limbă să aibă efect. settings = Setări tutorial = Tutorial @@ -499,7 +657,7 @@ tutorial.retake = Reia Tutorial editor = Editor mapeditor = Editor HărÈ›i -abandon = Abandonează +abandon = Abandonează abandon.text = Zona aceasta È™i toate resursele ei vor fi cedate inamicului. locked = Blocat complete = [lightgray]Finalizat: @@ -508,21 +666,70 @@ requirement.core = Distruge Nucleul Inamic din {0} requirement.research = Cercetează {0} requirement.produce = Produ {0} requirement.capture = Capturează {0} -launch.text = Lansează -research.multiplayer = Doar gazda poate cerceta noi tehnologii. +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} +launch.text = Lansează map.multiplayer = Doar gazda poate vedea harta sectoarelor. uncover = Descoperă configure = Configurează ÃŽncărcarea +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  -loadout = ÃŽncărcare +loadout = ÃŽncărcare resources = Resurse +resources.max = Max bannedblocks = Blocuri Interzise +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Unități Interzise +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Adaugă-le pe toate launch.from = Lansează Din: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = DestinaÈ›ie: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Cantitatea trebuie să fie un număr între 0 È™i {0}. add = Adaugă... -boss.health = ViaÈ›a Gardianului +guardian = Gardian connectfail = [scarlet]Eroare de conexiune:\n\n[accent]{0} error.unreachable = Nu s-a putut ajunge la server.\nesigur adresa e scrisă corect? @@ -534,17 +741,23 @@ error.mapnotfound = FiÈ™ierul hărÈ›ii nu a fost găsit! error.io = Eroare de reÈ›ea I/O. error.any = Eroare de reÈ›ea necunoscută. error.bloom = IniÈ›ializarea strălucirii a eÈ™uat.\nS-ar putea ca dispozitivul tău să nu suporte funcÈ›ia. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Ploaie -weather.snow.name = Ninsoare +weather.snowing.name = Ninsoare weather.sandstorm.name = Furtună de nisip weather.sporestorm.name = Furtună de spori weather.fog.name = Ceață +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectoare +sectorlist.attacked = {0} sunt atacate sectors.unexplored = [lightgray]Neexplorat sectors.resources = Resurse: sectors.production = ProducÈ›ie: -sectors.export = Export: +sectors.export = Exportă: +sectors.import = Importă: sectors.time = Timp: sectors.threat = AmeninÈ›are: sectors.wave = Valul: @@ -552,30 +765,45 @@ sectors.stored = Stocat: sectors.resume = Revino sectors.launch = Lansare sectors.select = Selectează +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]nimic (soarele) +sectors.redirect = Redirect Launch Pads sectors.rename = RedenumeÈ™te Sectorul sectors.enemybase = [scarlet]Bază Inamică sectors.vulnerable = [scarlet]Vulnerabil sectors.underattack = [scarlet]Sectorul e atacat! [accent]{0}% deteriorat +sectors.underattack.nodamage = [scarlet]Uncaptured sectors.survives = [accent]SupravieÈ›uieÈ™te {0} valuri sectors.go = Start +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? sector.curcapture = Sector Capturat sector.curlost = Sector Pierdut sector.missingresources = [scarlet]Resurse din Nucleu Insuficiente sector.attacked = Sectorul [accent]{0}[white] este atacat! sector.lost = Ai pierdut sectorul [accent]{0}[white]! -#spaÈ›iul lipsă de mai jos e intenÈ›ionat -sector.captured = Ai capturat sectorul [accent]{0}[white]! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Schimbă IconiÈ›a +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector threat.low = Scăzută threat.medium = Medie threat.high = Mare threat.extreme = Extremă threat.eradication = Eradicare +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = Planete planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Soare sector.impact0078.name = Impact 0078 @@ -593,30 +821,107 @@ sector.fungalPass.name = Pasul Fungic sector.biomassFacility.name = Facilitatea de Sinteză a Biomasei sector.windsweptIslands.name = Insulele Măturate de Vânt sector.extractionOutpost.name = Avanpostul de ExtracÈ›ie +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Terminalul de Lansare Planetară +sector.coastline.name = Zona de Coastă +sector.navalFortress.name = FortăreaÈ›a Navală +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = LocaÈ›ia optimă pt a începe încă odată. Risc de inamici scăzut. PuÈ›ine resurse.\nAdună cât de mult plumb È™i cupru se poate.\nMergi mai departe. sector.frozenForest.description = Chiar È™i aici, aproape de munÈ›i, sporii s-au împrăștiat. Temperaturile reci nu-i pot reÈ›ine la infinit.\n\nÃŽncepe călătoria către electricitate. ConstruieÈ™te generatoare de combustie. ÃŽnvață să foloseÈ™ti reparatoare. sector.saltFlats.description = La periferia deÈ™ertului stau PodiÈ™urile Saline. PuÈ›ine resurse pot fi găsite în această locaÈ›ie.\n\nInamicul a ridicat un complex de depozitare aici. Distruge-le nucleul. Nu lăsa nimic în urmă. sector.craters.description = Apa s-a acumulat în acest crater, rămășiță a vechilor războaie. CucereÈ™te din nou zona. Adună nisip. Toarnă-l în metasticlă. Pompează apă pt a răci armele È™i burghiele. -sector.ruinousShores.description = După deÈ™erturi vine țărmul. Odată, locaÈ›ia aceasta a avut un sistem de apărare de coastă. N-a rămas mult din el. Doar structurile de apărare cele mai simple au rămas în picioare, restul fiind redus la fier vechi.\nContinuă expansiunea înspre exterior. Redescoperă tehnologia. -sector.stainedMountains.description = Mai spre mijlocul continentului sunt munÈ›ii, încă neatinÈ™i de spori.\nExtrage abundentele resurse de titan din zonă. ÃŽnvață cum să-l foloseÈ™ti.\n\nPrezenÈ›a inamicului e mai mare aici. Nu le da timp să-È™i trimită cele mai puternice unități. +sector.ruinousShores.description = După deÈ™erturi vine țărmul. Odată, locaÈ›ia aceasta avea un sistem de apărare de coastă. N-a rămas mult din el. Doar structurile de apărare cele mai simple au rămas în picioare, restul fiind redus la fier vechi.\nContinuă expansiunea înspre exterior. Redescoperă tehnologia. +sector.stainedMountains.description = Mai spre mijlocul continentului sunt munÈ›ii, încă neatinÈ™i de spori.\nExtrage abundentele resurse de titan din zonă. ÃŽnvață cum să-l foloseÈ™ti.\n\nPrezenÈ›a inamicului e mai mare aici. Nu le da timp să trimită cele mai puternice unități. sector.overgrowth.description = Această zonă este plină de buruieni, mai aproape de sursa sporilor.\nInamicul È™i-a stabilit un avanpost aici. ConstruieÈ™te unități Mace. Distruge-l. -sector.tarFields.description = O zonă aflată la periferia unui complex de producÈ›ie petrolieră, între munÈ›i È™i deÈ™ert. Una din puÈ›inele zone cu resurse utilizabile de È›iÈ›ei.\nDeÈ™i abandonată, în apropierea zonei se află de forÈ›e inamice periculoase. Nu le subestima.\n\n[lightgray]Cercetează tehnologie de procesare a petrolului pe cât posibil. +sector.tarFields.description = O zonă aflată la periferia unui complex de producÈ›ie petrolieră, între munÈ›i È™i deÈ™ert. Una din puÈ›inele zone cu resurse utilizabile de È›iÈ›ei.\nDeÈ™i abandonată, în apropierea zonei se află forÈ›e inamice periculoase. Nu le subestima.\n\n[lightgray]Cercetează tehnologia de procesare a petrolului pe cât posibil. sector.desolateRift.description = O zonă extrem de periculoasă. Multe resurse, dar puÈ›in spaÈ›iu. Mare risc de distrugere. Pleacă curând, cât mai curând. Nu te lăsa păcălit de pauzele mari dintre atacurile inamice. sector.nuclearComplex.description = O fostă facilitate pt producerea È™i procesarea de toriu, redusă la ruine.\n[lightgray]Cercetează toriul È™i multele sale utilizări.\n\nInamicul e prezent aici în mari numere, căutând constant atacatori. sector.fungalPass.description = O zonă de tranziÈ›ie dintre munÈ›ii înalÈ›i È™i zonele joase, pline cu spori. O mică bază de recunoaÈ™tere a inamicului este localizată aici.\nDistruge-o.\nFoloseÈ™te unități Dagger È™i Crawler. Distruge cele 2 nuclee. sector.biomassFacility.description = Originea sporilor. Aceasta este facilitatea în care au fost cercetaÈ›i È™i produÈ™i iniÈ›ial.\nCercetează tehnologia ce poate fi găsită aici. Cultivă spori pt producÈ›ia de combustibil È™i mase plastice.\n\n[lightgray]Când facilitatea a decăzut, sporii au fost eliberaÈ›i. Nimic din din ecosistemul local nu a putut concura cu un organism atât de invaziv. sector.windsweptIslands.description = Acest arhipelag izolat se află mai departe, după țărm. Datele arată că odată aveau structuri care produceau [accent]Plastaniu[].\n\nApără-te de unitățile navale ale inamicului. ConstruieÈ™te o bază pe insule. Cercetează fabricile necesare. sector.extractionOutpost.description = Un avanpost izolat, construit de inamic cu scopul de a lansa resurse către alte sectoare.\n\nTehnologia de transport intersectorial este esenÈ›ială pt cuceririle ce urmează. Distruge baza. Cercetează platformele lor de lansare. -sector.impact0078.description = Aici se află rămășiÈ›ele primei nave de transport interstelar care a intrat în acest sistem stelar.\n\nSalvează cât mai mult posibil din epavă. Cercetează orice tehnologie intactă. +sector.impact0078.description = Aici se află rămășiÈ›ele primei nave de transport interstelar care a intrat în acest sistem stelar.\n\nSalvează cât de mult posibil din epavă. Cercetează orice tehnologie intactă. sector.planetaryTerminal.description = Èšinta finală.\n\nAceastă bază de coastă conÈ›ine o structură capabilă să lanseze nuclee către alte planete locale. Este extrem de bine păzită.\n\nProdu unități navale. Elimină inamicul cât de rapid se poate. Cercetează structura de lansare. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. + +status.burning.name = Arde +status.freezing.name = ÃŽngheață +status.wet.name = Umed +status.muddy.name = Noroios +status.melting.name = TopeÈ™te +status.sapped.name = SlăbeÈ™te +status.electrified.name = Electrificat +status.spore-slowed.name = ÃŽncetinit de Spori +status.tarred.name = Păcurit +status.overdrive.name = Suprasolicitat +status.overclock.name = Overclock +status.shocked.name = Electrocutat +status.blasted.name = Explozie +status.unmoving.name = NemiÈ™cat +status.boss.name = Gardian settings.language = Limbă settings.data = Datele Jocului settings.reset = Resetează settings.rebind = Reatribuie -settings.resetKey = Resetează +settings.resetKey = Resetează settings.controls = Controale settings.game = Joc settings.sound = Sunet @@ -631,8 +936,9 @@ settings.clearresearch.confirm = Sigur vrei să È™tergi toate tehnologiile cerce settings.clearcampaignsaves = Șterge Salvările din Campanie settings.clearcampaignsaves.confirm = Sigur vrei să È™tergi toate salvările din campanie? paused = [accent]< Pauză > -clear = Curăță +clear = Curăță banned = [scarlet]Interzis +unsupported.environment = [scarlet]Mediu Neacceptat yes = Da no = Nu info.title = Info @@ -640,15 +946,19 @@ error.title = [scarlet]A apărut o eroare. error.crashtitle = A apărut o eroare. unit.nobuild = [scarlet]Unitatea nu poate construi. lastaccessed = [lightgray]Ultima Accesare: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = stat.description = Utilizare stat.input = Necesită stat.output = Produce +stat.maxefficiency = Max Efficiency stat.booster = ÃŽmbunătățiri stat.tiles = Teren Necesar -stat.affinities = Efecte Teren -stat.powercapacity = Capacitate electrică +stat.affinities = Afinități +stat.opposites = OpuÈ™i +stat.powercapacity = Capacitate electrică stat.powershot = Electricitate/GlonÈ› stat.damage = Forță stat.targetsair = LoveÈ™te Aeronave @@ -659,32 +969,36 @@ stat.shootrange = Rază stat.size = Mărime stat.displaysize = Mărime Monitor Logic stat.liquidcapacity = Capacitate Lichid -stat.powerrange = Rază Electrică +stat.powerrange = Rază Electrică stat.linkrange = Rază Legături -stat.instructions = InstrucÈ›iuni +stat.instructions = InstrucÈ›iuni stat.powerconnections = Maxim Conexiuni -stat.poweruse = Consum Electricitate +stat.poweruse = Consum Electricitate stat.powerdamage = Electricitate/ForÈ›a GlonÈ›ului stat.itemcapacity = Capacitate Materiale stat.memorycapacity = Capacitate Memorie stat.basepowergeneration = Generare Electricitate (Bază) stat.productiontime = Timp ProducÈ›ie stat.repairtime = Durată Reparare Bloc +stat.repairspeed = Viteză Reparare stat.weapons = Arme stat.bullet = GlonÈ› -stat.speedincrease = CreÈ™tere Viteză +stat.moduletier = Module Tier +stat.unittype = Unit Type +stat.speedincrease = CreÈ™tere Viteză stat.range = Rază stat.drilltier = Minabile stat.drillspeed = Viteză Burghiu (Bază) stat.boosteffect = Efect de ÃŽmbunătățire stat.maxunits = Maxim Unități Active stat.health = Viață +stat.armor = Armură stat.buildtime = Timp ConstrucÈ›ie stat.maxconsecutive = Maxim Consecutive stat.buildcost = Cost ConstrucÈ›ie stat.inaccuracy = InacurateÈ›e stat.shots = Lovituri -stat.reload = Lovituri/Secundă +stat.reload = Rata de Tragere stat.ammo = MuniÈ›ie stat.shieldhealth = Viață Scut stat.cooldowntime = Timp de Reîncărcare @@ -694,6 +1008,7 @@ stat.lightningchance = Șansă Fulger stat.lightningdamage = Forță Fulger stat.flammability = Inflamabilitate stat.radioactivity = Radioactivitate +stat.charge = Sarcină Electrică stat.heatcapacity = Capacitate de Căldură stat.viscosity = Vâscozitate stat.temperature = Temperatură @@ -702,25 +1017,77 @@ stat.buildspeed = Viteză ConstrucÈ›ie stat.minespeed = Viteză Minare stat.minetier = Minabile stat.payloadcapacity = Capacitate ÃŽncărcătură -stat.commandlimit = Nr Unități Comandate stat.abilities = Abilități stat.canboost = Are Propulsor stat.flying = Zboară stat.ammouse = Consum muniÈ›ie +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Multiplicator Forță +stat.healthmultiplier = Multiplicator Viață +stat.speedmultiplier = Multiplicator Viteză +stat.reloadmultiplier = Multiplicator Lovituri/sec +stat.buildspeedmultiplier = Multiplicator Viteză ConstrucÈ›ie +stat.reactive = ReacÈ›ionează la +stat.immunities = Immunities +stat.healing = Reparare +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Câmp de Forță +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Câmp de Reparare -ability.statusfield = Câmp Suprasolicitare Unități -ability.unitspawn = Fabrică de {0} -ability.shieldregenfield = Scurt Regenerabil +ability.repairfield.description = Repairs nearby units +ability.statusfield = Câmp de Stare +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fabrică +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Câmp Regenerare Scut +ability.shieldregenfield.description = Regenerates shields of nearby units ability.movelightning = MiÈ™care Fulger +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Câmp de Energie +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Burghiu Mai Bun Necesar -bar.noresources = Resurse lipsă -bar.corereq = Plasare pe Nucleu Necesară +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Resurse lipsă +bar.corereq = Plasare pe Nucleu Necesară +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Viteză Minare: {0}/s bar.pumpspeed = Viteză Pompare: {0}/s bar.efficiency = Eficiență: {0}% +bar.boost = Efect Grăbire: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Electricitate: {0}/s bar.powerstored = Stocată: {0}/{1} bar.poweramount = Electricitate: {0} @@ -730,50 +1097,67 @@ bar.items = Materiale: {0} bar.capacity = Capacitate: {0} bar.unitcap = {0} {1}/{2} bar.liquid = Lichid -bar.heat = Căldură -bar.power = Electricitate +bar.heat = Căldură +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) +bar.power = Electricitate bar.progress = Progres -bar.input = Necesită +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown +bar.input = Necesită bar.output = Produce +bar.strength = [stat]{0}[lightgray]x putere units.processorcontrol = [lightgray]Controlat de Procesor bullet.damage = [stat]{0}[lightgray] forță -bullet.splashdamage = [stat]{0}[lightgray] forță explozivă ~[stat] {1}[lightgray] pătrate +bullet.splashdamage = [stat]{0}[lightgray] forță pe raza ~[stat] {1}[lightgray] pătrate bullet.incendiary = [stat]incendiar -bullet.sapping = [stat]atragere inamici bullet.homing = [stat]cu radar -bullet.shock = [stat]È™oc -bullet.frag = [stat]fragil +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x fragmente: +bullet.lightning = [stat]{0}[lightgray]x fulgere ~ [stat]{1}[lightgray] forță bullet.buildingdamage = [stat]{0}%[lightgray] forță/clădire -bullet.knockback = [stat]{0} [lightgray]împingere -bullet.pierce = [stat]{0}[lightgray]x penetrare -bullet.infinitepierce = [stat]penetrare +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] împingere +bullet.pierce = [stat]{0}[lightgray]x penetrează +bullet.infinitepierce = [stat]penetrează bullet.healpercent = [stat]{0}[lightgray]% reparare -bullet.freezing = [stat]îngheÈ›at -bullet.tarred = [stat]lipicios +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x multiplicator muniÈ›ie bullet.reload = [stat]{0}[lightgray]x lovituri +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = blocuri unit.blockssquared = blocuri² unit.powersecond = electricitate/secundă +unit.tilessecond = pătrate/secundă unit.liquidsecond = unități lichid/secundă unit.itemssecond = materiale/secundă unit.liquidunits = unități lichid unit.powerunits = electricitate +unit.heatunits = heat units unit.degrees = grade unit.seconds = secunde unit.minutes = min unit.persecond = /sec unit.perminute = /min -unit.timesspeed = x viteză +unit.timesspeed = x viteză +unit.multiplier = x unit.percent = % unit.shieldhealth = viață scut unit.items = materiale unit.thousands = mii unit.millions = mil -unit.billions = b +unit.billions = mld +unit.shots = shots unit.pershot = /lovitură category.purpose = Utilizare category.general = General @@ -782,104 +1166,135 @@ category.liquids = Lichide category.items = Materiale category.crafting = Necesită/Produce category.function = FuncÈ›ionare -category.optional = ÃŽmbunătățiri opÈ›ionale +category.optional = ÃŽmbunătățiri opÈ›ionale +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Sari peste AnimaÈ›ia de Lansare/Aterizare a Nucleului setting.landscape.name = Blochează Mod Peisaj setting.shadows.name = Umbre setting.blockreplace.name = Sugestii Plasare Automats setting.linear.name = Filtrare Liniară setting.hints.name = Indicii -setting.flow.name = AfiÈ™ează Rata de Curgere a lichidelor -setting.buildautopause.name = Autopauză de la Construit +setting.logichints.name = Indicii Procesoare Logice setting.backgroundpause.name = Pune Pauză în Fundal +setting.buildautopause.name = Autopauză de la Construit +setting.doubletapmine.name = Dublu-Click pt a Mina +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Dezactivează Modurile în Cazul unui Crash la Pornire setting.animatedwater.name = SuprafeÈ›e Animate setting.animatedshields.name = Scuturi Animate -setting.antialias.name = Antialiasing[lightgray] (necesită repornire)[] -setting.playerindicators.name = Indicatori Jucător +setting.playerindicators.name = Indicatori Jucător setting.indicators.name = Indicatori Inamic setting.autotarget.name = Auto-Èšintire setting.keyboard.name = Controale Mouse+Tastatură setting.touchscreen.name = Controale Touchscreen setting.fpscap.name = FPS Maxim setting.fpscap.none = Niciuna -setting.fpscap.text = FPS (0) -setting.uiscale.name = Scară Interfață [lightgray] (repornirea necesară)[] +setting.fpscap.text = FPS {0} +setting.uiscale.name = Scară Interfață +setting.uiscale.description = Repornire necesară pt a aplica schimbările. setting.swapdiagonal.name = Plasează Mereu Diagonal -setting.difficulty.training = Antrenament -setting.difficulty.easy = UÈ™or -setting.difficulty.normal = Normal -setting.difficulty.hard = Greu -setting.difficulty.insane = Nebunesc -setting.difficulty.name = Dificultate: setting.screenshake.name = Agitare Ecran +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Vezi Efectele setting.destroyedblocks.name = Vezi Blocurile Distruse -setting.blockstatus.name = Vezi Statusul Blocului +setting.blockstatus.name = Vezi Starea Blocului setting.conveyorpathfinding.name = Găsirea Drumului la Plasarea Benzii setting.sensitivity.name = Sensibilitatea Controlului setting.saveinterval.name = Interval de Salvare setting.seconds = {0} secunde setting.milliseconds = {0} millisecunde setting.fullscreen.name = Ecran Complet -setting.borderlesswindow.name = Fereastră Fără Margine[lightgray] (repornirea poate fi necesară) +setting.borderlesswindow.name = Fereastră Fără Margine +setting.borderlesswindow.name.windows = Ecran Complet Fără Margine +setting.borderlesswindow.description = Repornirea poate fi necesară pt a aplica schimbările. setting.fps.name = Vezi FPS & Ping +setting.console.name = Enable Console setting.smoothcamera.name = Cameră Graduală setting.vsync.name = VSync setting.pixelate.name = Pixelează setting.minimap.name = Vezi Miniharta setting.coreitems.name = Vezi Materialele din Nucleu setting.position.name = Vezi PoziÈ›ia Jucătorului +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Volumul Muzicii -setting.atmosphere.name = Vezi Atmosfera Planetelor +setting.atmosphere.name = Vezi Atmosfera Planetelor +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Volum Ambiental setting.mutemusic.name = Muzica pe Mut setting.sfxvol.name = Volum Efecte Sonore setting.mutesound.name = Sunetul pe Mut setting.crashreport.name = Trimite Rapoarte de Crash anonime +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Auto-Creează Salvări -setting.publichost.name = Vizibilitatea Jocurilor Publice -setting.playerlimit.name = Limita Jucătorilor +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Limita Jucătorilor setting.chatopacity.name = Opacitate Chat setting.lasersopacity.name = Opacitate Laser Electric +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Opacitate Poduri setting.playerchat.name = Vezi Chat Temporar setting.showweather.name = Vezi Vremea -public.confirm = Vrei să îți faci jocul public?\n[accent]Oricine va putea intra în jocurile tale.\n[lightgray]PoÈ›i schimba asta mai târziu din Setări->Joc->Vizibilitatea Jocurilor Publice. -public.confirm.really = Dacă vrei să joci cu prietenii, foloseÈ™te butonul [green]Invită Prieteni[] în loc de un [scarlet]Server Public[]!\nSigur vrei să-È›i faci jocul [scarlet]public[]? +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = AdaptaÈ›i interfaÈ›a pentru a afiÈ™a notch-ul +setting.macnotch.description = Repornire necesară pt a aplica schimbările. +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = De reÈ›inut că versiunile beta ale jocului nu poate face servere publice. uiscale.reset = Scara interfeÈ›ei a fost schimbată.\nApasă "OK" pt a confirma această scară.\n[scarlet]Revin setările È™i se iese în [accent] {0}[] secunde... -uiscale.cancel = Anulare È™i ieÈ™ire -setting.bloom.name = Strălucire +uiscale.cancel = Anulare È™i ieÈ™ire +setting.bloom.name = Strălucire keybind.title = Reatribuie Taste keybinds.mobile = [scarlet]Majoritatea tastelor atribuite aici nu funcÈ›ionează pe mobil. Doar miÈ™cările direcÈ›ionale de bază sunt suportate. category.general.name = General category.view.name = Privire +category.command.name = Unit Command category.multiplayer.name = Multiplayer category.blocks.name = Selectare Bloc -command.attack = Atac -command.rally = Adunare -command.retreat = Retragere -command.idle = Inactiv placement.blockselectkeys = \n[lightgray]Taste: [{0}, keybind.respawn.name = Regenerare -keybind.control.name = Controlează Unități -keybind.clear_building.name = Șterge Clădirea +keybind.control.name = Controlează Unități +keybind.clear_building.name = Șterge Clădirea keybind.press = Apasă o tastă... keybind.press.axis = Apasă o axă sau o tastă... keybind.screenshot.name = Captură Hartă -keybind.toggle_power_lines.name = OpreÈ™te/PorneÈ™te Statusul Electricelor -keybind.toggle_block_status.name = OpreÈ™te/PorneÈ™te Statusul Blocurilor +keybind.toggle_power_lines.name = OpreÈ™te/PorneÈ™te Starea Electricelor +keybind.toggle_block_status.name = OpreÈ™te/PorneÈ™te Starea Blocurilor keybind.move_x.name = Mergi pe X keybind.move_y.name = Mergi pe Y keybind.mouse_move.name = UrmăreÈ™te Mouseul keybind.pan.name = MiÈ™că Harta keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Selectează Regiunea keybind.schematic_menu.name = Meniu Scheme keybind.schematic_flip_x.name = ÃŽntoarce Schema X keybind.schematic_flip_y.name = ÃŽntoarce Schema Y keybind.category_prev.name = Categoria precedentă keybind.category_next.name = Categoria următoare -keybind.block_select_left.name = Selectează Bloc Stânga +keybind.block_select_left.name = Selectează Bloc Stânga keybind.block_select_right.name = Selectează Bloc Dreapta keybind.block_select_up.name = Selectează Bloc Sus keybind.block_select_down.name = Selectează Bloc Jos @@ -898,22 +1313,24 @@ keybind.select.name = Selectează/Trage keybind.diagonal_placement.name = Plasare Diagonală keybind.pick.name = Ia Bloc keybind.break_block.name = Distruge Bloc +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deselectează keybind.pickupCargo.name = Ridică ÃŽncărcătura keybind.dropCargo.name = Aruncă ÃŽncărcătura -keybind.command.name = Comandă Unitățile keybind.shoot.name = Trage keybind.zoom.name = Zoom keybind.menu.name = Meniu keybind.pause.name = Pauză -keybind.pause_building.name = Pauză/Reia Construit +keybind.pause_building.name = Pauză/Reia ConstrucÈ›ie keybind.minimap.name = Minihartă keybind.planet_map.name = Harta Planetei keybind.research.name = Cercetare +keybind.block_info.name = InformaÈ›iile Blocului keybind.chat.name = Chat -keybind.player_list.name = Listă Jucători +keybind.player_list.name = Listă Jucători keybind.console.name = Consolă -keybind.rotate.name = RoteÈ™te +keybind.rotate.name = RoteÈ™te keybind.rotateplaced.name = RoteÈ™te Existent (Èšine) keybind.toggle_menus.name = PorneÈ™te/OpreÈ™te Meniuri keybind.chat_history_prev.name = Istoric Chat ÃŽnapoi @@ -931,51 +1348,102 @@ mode.editor.name = Editor mode.pvp.name = PvP mode.pvp.description = Luptă împotriva altor jucători local.\n[gray]E nevoie de 2 nuclee colorate diferit pe hartă pt a juca. mode.attack.name = Atac -mode.attack.description = Distruge baza inamicului. \n[gray]E nevoie de un nucleu roÈ™u pe hartă pt a juca. +mode.attack.description = Distruge baza inamicului. \n[gray]E nevoie de un nucleu Agresor (roÈ™u) pe hartă pt a juca. mode.custom = Reguli Personalizate +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Resurse Infinite +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactoarele Explodează +rules.coreincinerates = Nucleul Incinerează Resursele în Plus +rules.disableworldprocessors = Disable World Processors rules.schematic = Se Pot Folosi Scheme rules.wavetimer = Valuri pe Timp +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Valuri +rules.airUseSpawns = Air units use spawn points rules.attack = Modul Atac -rules.buildai = AI-ul ConstruieÈ™te +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = ÃŽndepărtează Clădirile Echipelor ÃŽnvinse (PvP) +rules.corecapture = Capturează Nucleele Distruse +rules.polygoncoreprotection = ProtecÈ›ie Poligonală a Nucleului +rules.placerangecheck = Placement Range Check rules.enemyCheat = Resurse infinite pt AI (echipa roÈ™ie) rules.blockhealthmultiplier = Multiplicatorul VieÈ›ii Blocurilor rules.blockdamagemultiplier = Multiplicatorul Deteriorării Blocurilor rules.unitbuildspeedmultiplier = Multiplicatorul Vitezei de Producere a Unităților +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Multiplicatorul VieÈ›ii Unităților rules.unitdamagemultiplier = Multiplicatorul Deteriorării Unităților +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Nucleele Contribuie la Limita Unităților +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Limita de Bază a Unităților +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Interzisă Construirea în Jurul Nucleului Inamic:[lightgray] (pătrate) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = SpaÈ›iul Dintre Valuri:[lightgray] (sec) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Multiplicatorul Costului ConstrucÈ›iei rules.buildspeedmultiplier = Multiplicatorul Vitezei de ConstrucÈ›ie rules.deconstructrefundmultiplier = Multiplicatorul Recompensei la DeconstrucÈ›ie rules.waitForWaveToEnd = Valurile AÈ™teaptă Inamicii +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Raza Zonei de Lansare:[lightgray] (pătrate) rules.unitammo = Unitățile Necesită MuniÈ›ie +rules.enemyteam = Echipa Inamică +rules.playerteam = Echipa Jucătorului rules.title.waves = Valuri -rules.title.resourcesbuilding = Resurse È™i Construit +rules.title.resourcesbuilding = Resurse È™i ConstrucÈ›ie rules.title.enemy = Inamici rules.title.unit = Unități rules.title.experimental = Experimental rules.title.environment = Mediu +rules.title.teams = Echipe +rules.title.planet = Planet rules.lighting = Luminozitate Ambientală -rules.enemyLights = Inamicii Luminează +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Foc +rules.anyenv = rules.explosions = Explozia Deteriorează Blocul/Unitatea rules.ambientlight = Ambient rules.weather = Vreme rules.weather.frequency = Frevență: rules.weather.always = ÃŽncontinuu rules.weather.duration = Durată: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Materiale content.liquid.name = Lichide content.unit.name = Unități content.block.name = Blocuri +content.status.name = Efecte de Stare content.sector.name = Sectoare +content.team.name = Factions +wallore = (Wall) item.copper.name = Cupru item.lead.name = Plumb @@ -993,10 +1461,24 @@ item.blast-compound.name = Compus Explozibil item.pyratite.name = Piratită item.metaglass.name = Metasticlă item.scrap.name = Fier Vechi +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst + liquid.water.name = Apă liquid.slag.name = Zgură liquid.oil.name = Petrol liquid.cryofluid.name = Criofluid +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -1024,21 +1506,48 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma -unit.scepter.name = Septer +unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale -block.resupply-point.name = Punct de Realimentare block.parallax.name = Parallax block.cliff.name = Deal block.sand-boulder.name = Bolovan de Nisip -block.grass.name = Iarbă block.basalt-boulder.name = Bolovan de Bazalt -block.slag.name = Zgură +block.grass.name = Iarbă +block.molten-slag.name = Zgură +block.pooled-cryofluid.name = Cryofluid block.space.name = Cosmos block.salt.name = Sare block.salt-wall.name = Perete de Sare @@ -1065,27 +1574,31 @@ block.kiln.name = Cuptor block.graphite-press.name = Presă de Grafit block.multi-press.name = Multi-Presă block.constructing = {0} [lightgray](ÃŽn ConstrucÈ›ie) -block.spawn.name = Punctul de Lansare Inamic +block.spawn.name = Punct Inamic de Lansare +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Nucleu: Shard block.core-foundation.name = Nucleu: Foundation block.core-nucleus.name = Nucleu: Core -block.deepwater.name = Apă Adâncă -block.water.name = Apă +block.deep-water.name = Apă Adâncă +block.shallow-water.name = Apă block.tainted-water.name = Apă Tulbure +block.deep-tainted-water.name = Apă Adâncă È™i Tulbure block.darksand-tainted-water.name = Apă Tulbure cu Nisip Negru block.tar.name = Păcură block.stone.name = Piatră -block.sand.name = Nisip +block.sand-floor.name = Nisip block.darksand.name = Nisip Negru block.ice.name = Gheață block.snow.name = Zăpadă -block.craters.name = Cratere +block.crater-stone.name = Cratere block.sand-water.name = Apă cu Nisip block.darksand-water.name = Apă cu Nisip Negru block.char.name = Turbă block.dacite.name = Dacit -block.dacite-boulder.name = Bolovan de Dacit +block.rhyolite.name = Riolit block.dacite-wall.name = Perete de Dacit +block.dacite-boulder.name = Bolovan de Dacit block.ice-snow.name = Gheață ÃŽnzăpezită block.stone-wall.name = Perete de Piatră block.ice-wall.name = Perete de Gheață @@ -1101,7 +1614,8 @@ block.spore-cluster.name = Grup de Spori block.metal-floor.name = Podea de Metal 1 block.metal-floor-2.name = Podea de Metal 2 block.metal-floor-3.name = Podea de Metal 3 -block.metal-floor-5.name = Podea de Metal 4 +block.metal-floor-4.name = Podea de Metal 4 +block.metal-floor-5.name = Podea de Metal 5 block.metal-floor-damaged.name = Podea de Metal Deteriorată block.dark-panel-1.name = Panou Negru 1 block.dark-panel-2.name = Panou Negru 2 @@ -1137,13 +1651,12 @@ block.armored-conveyor.name = Bandă Armată block.junction.name = IntersecÈ›ie block.router.name = Router block.distributor.name = Distributor -#experimental, pot fi È™terse în viitor -block.block-forge.name = Forjă de Blocuri -block.block-loader.name = ÃŽncărcător de Blocuri -block.block-unloader.name = Descărcător de Blocuri block.sorter.name = Sortator block.inverted-sorter.name = Sortator Invers block.message.name = Mesaj +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Iluminator block.overflow-gate.name = Poartă de Revărsare block.underflow-gate.name = Poartă de Subversare @@ -1174,9 +1687,9 @@ block.cultivator.name = Cultivator block.conduit.name = Conductă block.mechanical-pump.name = Pompă Mecanică block.item-source.name = Sursă de Material -block.item-void.name = Portal de Material +block.item-void.name = Vid de Material block.liquid-source.name = Sursă de Lichid -block.liquid-void.name = Portal de Lichid +block.liquid-void.name = Vid de Lichid block.power-void.name = Consumator de Electricitate block.power-source.name = Sursă de Electricitate block.unloader.name = Descărcător @@ -1195,39 +1708,41 @@ block.solar-panel.name = Panou Solar block.solar-panel-large.name = Panou Solar Mare block.oil-extractor.name = Extractor de Petrol block.repair-point.name = Punct de Reparare +block.repair-turret.name = Pistol de Reparare block.pulse-conduit.name = Conductă cu Puls block.plated-conduit.name = Conductă Armată block.phase-conduit.name = Conductă de Fază block.liquid-router.name = Router de Lichid block.liquid-tank.name = Rezervor de Lichid +block.liquid-container.name = Liquid Container block.liquid-junction.name = IntersecÈ›ie de Lichid block.bridge-conduit.name = Pod de Conductă block.rotary-pump.name = Pompă Rotativă block.thorium-reactor.name = Reactor de Toriu block.mass-driver.name = Distributor în Masă block.blast-drill.name = Burghiu Tornadă -block.thermal-pump.name = Pompă Termală +block.impulse-pump.name = Pompă Termală block.thermal-generator.name = Generator Termal -block.alloy-smelter.name = Topitorie Aliaj +block.surge-smelter.name = Topitorie Aliaj block.mender.name = Reparator block.mend-projector.name = Proiector de Reparare block.surge-wall.name = Perete de Aliaj block.surge-wall-large.name = Perete Mare de Aliaj block.cyclone.name = Ciclon block.fuse.name = Fuse -block.shock-mine.name = Mină cu Șocuri +block.shock-mine.name = Mină cu ElectroÈ™ocuri block.overdrive-projector.name = Proiector de Suprasolicitare block.force-projector.name = Proiector de Forță block.arc.name = Arc block.rtg-generator.name = Generator RTG -block.spectre.name = Specter +block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Container block.launch-pad.name = Platformă de Lansare -block.launch-pad-large.name = Platformă de Lansare Mare +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Centru de Comandă block.ground-factory.name = Fabrică Unități Artilerie block.air-factory.name = Fabrică Unități Aeriene block.naval-factory.name = Fabrică Unități Navale @@ -1237,10 +1752,179 @@ block.exponential-reconstructor.name = Reconstructor ExponenÈ›ial block.tetrative-reconstructor.name = Reconstructor Tetrativ block.payload-conveyor.name = Bandă în Masă block.payload-router.name = Router în Masă +block.duct.name = Canal +block.duct-router.name = Router de Canal +block.duct-bridge.name = Pod de Canal +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Vid de ÃŽncărcătură +block.payload-source.name = Sursă de ÃŽncărcătură block.disassembler.name = Dezasamblator block.silicon-crucible.name = Creuzet de Silicon block.overdrive-dome.name = Dom de Suprasolicitare block.interplanetary-accelerator.name = Accelerator Interplanetar +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = ÃŽntrerupător block.micro-processor.name = Microprocesor @@ -1250,43 +1934,40 @@ block.logic-display.name = Monitor Logic block.large-logic-display.name = Monitor Logic Mare block.memory-cell.name = Celulă de Memorie block.memory-bank.name = Bancă de Memorie +team.malis.name = Malis +team.crux.name = Agresor +team.sharded.name = Portocaliu +team.derelict.name = Ruină +team.green.name = Verde -team.blue.name = albastră -team.crux.name = roÈ™ie -team.sharded.name = portocalie -team.orange.name = portocalie -team.derelict.name = abandonată -team.green.name = verde -team.purple.name = mov +team.blue.name = Albastru hint.skip = Treci peste hint.desktopMove = FoloseÈ™te [accent][[WASD][] ca să te miÈ™ti. hint.zoom = [accent]Cu rotiÈ›a de la mouse[] poÈ›i ajusta zoomul. -hint.mine = Du-te lângă \uf8c4 minereul de cupru È™i [accent]dă click[] pe el pt a mina manual. hint.desktopShoot = [accent][[Click-stânga][] pt a trage cu armele navei. hint.depositItems = Pt a transfera materiale, trage-le din nava ta către nucleu. hint.respawn = Pt a te regenera ca navă în nucleu, apasă [accent][[V][]. hint.respawn.mobile = Acum controlezi o unitate/structură. Pt a te regenera ca navă în nucleu, [accent]dă click pe avatarul din colÈ›ul din stânga-sus.[] hint.desktopPause = Apasă pe [accent][[Space][] pt a da pauză jocului. Apasă din nou pt a ieÈ™i din modul pauză. -hint.placeDrill = Selectează tabul \ue85e [accent]Burghie[] din meniul din dreapta-jos, apoi selectează un \uf870 [accent]Burghiu[] È™i dă click pe un minereu de cupru pt a mina. -hint.placeDrill.mobile = Selectează tabul \ue85e [accent]Burghie[] din meniul din dreapta-jos, apoi selectează un \uf870 [accent]Burghiu[] È™i dă click un minereu de cupru pt a mina.\n\nApasă pe \ue800 [accent]bifa[] din dreapta-jos pt confirmare. -hint.placeConveyor = Benzile transportă materiale din burghie către alte blocuri. Selectează o \uf896 [accent]Bandă[] din tabul \ue814 [accent]DistribÈ›ie[].\n\nDă click pe ecran È™i trage pt a desena o linie de bandă.\nFoloseÈ™te [accent]rotiÈ›a mouseului[] pt rotire. -hint.placeConveyor.mobile = Benzile transportă materiale din burghie către alte blocuri. Selectează o \uf896 [accent]Bandă[] din tabul \ue814 [accent]DistribÈ›ie[].\n\nÈšine apăsat cu degetul pt o secundă È™i trage pt a desena o linie de bandă. -hint.placeTurret = ConstruieÈ™te \uf861 [accent]Arme[] pt a-È›i apăra baza de inamici.\n\nArmele necesită muniÈ›ie. Putem folosi \uf838cupru.\nAlimentează arma folosind benzi È™i burghie. hint.breaking = Èšine apăsat [accent]click-dreapta[] È™i trage pe ecran pt a distruge blocuri. hint.breaking.mobile = Activează \ue817 [accent]ciocanul[] din dreapta-jos È™i dă click pt a distruge blocuri.\n\nÈšine apăsat cu degetul pt o secundă È™i trage pt a distruge mai multe blocuri deodată. +hint.blockInfo = PoÈ›i vedea informaÈ›ii despre un bloc selectându-l în [accent]meniul de construcÈ›ie[] È™i dând click pe butonul [accent][[?][] din dreapta. +hint.derelict = [accent]Ruinele[] sunt rămășiÈ›e deteriorate ale bazelor vechi care nu mai funcÈ›ionează.\n\nAceste structuri pot fi [accent]deconstruite[] pt resurse. hint.research = FoloseÈ™te butonul \ue875 [accent]Cercetează[] pt a cerceta noi tehnologii. hint.research.mobile = FoloseÈ™te butonul \ue875 [accent]Cercetează[] din \ue88c [accent]Meniu[] pt a cerceta noi tehnologii. hint.unitControl = Èšine apăsat [accent][[Ctrl][] È™i [accent]dă click[] pt a controla unități aliate sau arme. hint.unitControl.mobile = [accent][[Dă dublu click][] pt a controla unități aliate sau arme. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. hint.launch = Odată ce s-au strâns suficiente resurse, poÈ›i [accent]Lansa[] către o altă zonă selectând sectoarele învecinate folosind \ue827 [accent]Harta[] din dreapta-jos. hint.launch.mobile = Odată ce s-au strâns suficiente resurse, poÈ›i [accent]Lansa[] către o altă zonă selectând sectoarele învecinate folosind \ue827 [accent]Harta[] din \ue88c [accent]Meniu[]. hint.schematicSelect = Èšine apăsat [accent][[F][] È™i trage pt a selecta blocuri pt copiere.\n\n[accent][[Click pe rotiță][] pt a copia un singur tip de bloc. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. hint.conveyorPathfind = Èšine apăsat [accent][[Ctrl][] în timp ce plasezi benzi pt a genera automat o cale între 2 puncte. hint.conveyorPathfind.mobile = Activează \ue844 [accent]modul diagonal[] È™i plasează benzi pt a genera automat o cale între 2 puncte. hint.boost = Èšine apăsat [accent][[Shift][] pt a zbura peste obstacole cu unitatea ta.\n\nDoar câteva unități de artilerie au propulsoare. -hint.command = Apasă [accent][[G][] pt a comanda unitățile [accent]similare[] din apropiere în formaÈ›ie.\n\nPt a comanda unități de artilerie, trebuie întâi să controlezi o unitate de artilerie. -hint.command.mobile = [accent][[Dublu-click][] pe unitatea ta pt a comanda unitățile [accent]similare[] din apropiere în formaÈ›ie. hint.payloadPickup = Apasă [accent][[[] pt a ridica blocuri mici sau unități. hint.payloadPickup.mobile = [accent]Èšine apăsat[] pe un bloc mic/o unitate pt a o ridica. hint.payloadDrop = Apasă [accent]][] pt a descărca încărcătura. @@ -1294,10 +1975,62 @@ hint.payloadDrop.mobile = [accent]Èšine apăsat[] pe o locaÈ›ie goală pt a desc hint.waveFire = Armele [accent]Wave[] încărcate cu apă vor stinge incendiile automat. hint.generator = \uf879 [accent]Generatoarele pe Combustie[] ard cărbunele È™i transmit electricitatea blocurilor învecinate.\n\nElectricitatea poate fi transmisă pe distanÈ›e lungi folosind \uf87f [accent]Noduri Electrice[]. hint.guardian = Unitățile [accent]Gardian[] au armuri puternice. MuniÈ›iile slabe precum [accent]Cuprul[] È™i [accent]Plumbul[] [scarlet]nu sunt eficiente[].\n\nFoloseÈ™te arme mai bune sau muniÈ›ie de \uf835 [accent]Grafit[] pt \uf861Duo/\uf859Salvo pt a nimici Gardianul. -hint.coreUpgrade = Un nucleu poate pot fi îmbunătățit [accent]plasând o alt nucleu mai bun peste el[].\n\nPlasează un nucleu  [accent]Foundation[] peste nucleul ï¡© [accent]Shard[]. Nucleul nu poate fi plasat decât pe alte nuclee. Asigură-te că nu sunt alte benzi sau obstacole care să împiedice plasarea. +hint.coreUpgrade = Un nucleu poate pot fi îmbunătățit [accent]plasând o alt nucleu mai bun peste el[].\n\nPlasează un nucleu \uf868 [accent]Foundation[] peste nucleul \uf869 [accent]Shard[]. Nucleul nu poate fi plasat decât pe alte nuclee. Asigură-te că nu sunt alte benzi sau obstacole care să împiedice plasarea. hint.presetLaunch = PoÈ›i lansa de oriunde în sectoarele gri, precum [accent]Pădurea Glacială[]. Ele sunt [accent]zone[] speciale [accent]de aterizare[]. Nu ai nevoie să capturezi sectoarele învecinate pt a lansa.\n\n[accent]Sectoarele numerotate[], ca acesta, sunt [accent]opÈ›ionale[]. +hint.presetDifficulty = Acest sector are un [scarlet]nivel ridicat de ameninÈ›are inamică[].\n[accent]Nu e recomandat[] să lansezi în asemenea sectoare fără pregătiri sau tehnologie adecvată. hint.coreIncinerate = După ce nucleul se umple până la refuz cu un tip de material, toate materialele în plus de acel tip care încearcă să între în nucleu sunt [accent]incinerate[]. -hint.coopCampaign = Când joci [accent]campania cooperând cu alÈ›i jucători[], materialele produse în sectorul curent vor fi transferate È™i către [accent]sectoarele tale locale[].\n\nDe asemenea, vei debloca tot ceea ce cercetează gazda. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = Folosit în tot felul de construcÈ›ii È™i muniÈ›ie. item.copper.details = Cupru. Metal anormal de abundent pe Serpulo. Structural slab dacă nu este consolidat. @@ -1308,7 +2041,7 @@ item.graphite.description = Folosit pt componente electrice È™i alimentarea arme item.sand.description = Folosit pt producÈ›ie sau alte materiale rafinate. item.coal.description = Folosit extensiv ca combustibil È™i pt producerea de materiale rafinate. item.coal.details = Pare să fie materie vegetală fosilizată, formată cu mult înainte de evenimentul însămânțării. -item.titanium.description = Folosit pt structuri transportatoare de lichid, burghie È™i aeronautică. +item.titanium.description = Folosit pt structuri transportatoare de lichid, burghie È™i în fabrici. item.thorium.description = Folosit în structuri durabile È™i combustibil nuclear. item.scrap.description = Folosit in topitoare È™i pulverizatoare pt a fi rafinat în alte materiale. item.scrap.details = RămășiÈ›e ale structurilor È™i unităților vechi. @@ -1320,23 +2053,36 @@ item.spore-pod.description = Folosită pt a fi convertită în petrol, explozibi item.spore-pod.details = Spori. Probabil o formă de viață sintetică. Emite gaze toxice altor forme de viață biologică. Nu că ar mai fi rămas prea multe aici. item.blast-compound.description = Folosit în bombe È™i muniÈ›ie explozibilă. item.pyratite.description = Folosită în armele incendiare È™i generatoarele pe bază de procese de combustie. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Folosită pt răcirea maÈ™inăriilor È™i procesarea deÈ™eurilor. -liquid.slag.description = Rafinată în separatoare înapoi în materialele constituente, sau pulverizată înspre unitățile inamice ca armă. -liquid.oil.description = Folosit în producerea avansată de materialet È™i ca muniÈ›ie incendiară. +liquid.slag.description = Rafinată înapoi în materialele constituente cu ajutorul separatoarelor sau pulverizată înspre unitățile inamice ca armă. +liquid.oil.description = Folosit în producerea avansată de materiale È™i ca muniÈ›ie incendiară. liquid.cryofluid.description = Folosit ca răcitor în reactoare, arme È™i fabrici. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. -block.resupply-point.description = Realimentează unitățile din apropiere cu muniÈ›ie de cupru. Nu este compatibil cu unitățile care se încarcă din baterii. +block.derelict = \ue815 [lightgray]Ruină block.armored-conveyor.description = Transportă materialele înainte. Nu acceptă materiale de pe lateral decât de la alte benzi. block.illuminator.description = Emite lumină. block.message.description = Păstrează un mesaj. Folosit pt comunicarea dintre aliaÈ›i. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.graphite-press.description = Compresează cărbunele în grafit. block.multi-press.description = Compresează cărbunele în grafit. Are nevoie de apă ca răcitor. block.silicon-smelter.description = Rafinează silicon din nisip È™i cărbune. block.kiln.description = Toarnă nisipul È™i plumbul în metasticlă. block.plastanium-compressor.description = Produce plastaniu din petrol È™i titan. block.phase-weaver.description = Sintetizează fibră-fază din toriu È™i nisip. -block.alloy-smelter.description = Combină titan, plumb, silicon È™i cupru pt a produce supra aliaj. +block.surge-smelter.description = Combină titan, plumb, silicon È™i cupru pt a produce supra aliaj. block.cryofluid-mixer.description = Amestecă apă È™i pudră fină de titan pt a produce criofluid. block.blast-mixer.description = Produce un compus explozibil din piratită È™i păstăi de spori. block.pyratite-mixer.description = Amestecă plumb, cărbune È™i nisip în piratită. @@ -1352,6 +2098,8 @@ block.item-source.description = Generează materiale la infinit. Doar în modul block.item-void.description = Distruge orice material. Doar în modul sandbox. block.liquid-source.description = Generează lichide la infinit. Doar în modul sandbox. block.liquid-void.description = Distruge orice lichid. Doar în modul sandbox. +block.payload-source.description = Generează încărcături la infinit. Doar în modul sandbox. +block.payload-void.description = Distruge orice încărcătură. Doar în modul sandbox. block.copper-wall.description = Protejează clădirile de proiectilele inamice. block.copper-wall-large.description = Protejează clădirile de proiectilele inamice. block.titanium-wall.description = Protejează clădirile de proiectilele inamice. @@ -1364,6 +2112,10 @@ block.phase-wall.description = Protejează clădirile de proiectilele inamice, r block.phase-wall-large.description = Protejează clădirile de proiectilele inamice, reflectând majoritatea gloanÈ›elor la impact. block.surge-wall.description = Protejează clădirile de proiectilele inamice, lansând periodic lasere electrice la contactul cu gloanÈ›ele. block.surge-wall-large.description = Protejează clădirile de proiectilele inamice, lansând periodic lasere electrice la contactul cu gloanÈ›ele. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Un perete care poate fi deschis sau închis. block.door-large.description = Un perete care poate fi deschis sau închis. block.mender.description = Repară periodic blocurile din vecinătate. \nPoate folosi silicon pt a îmbunătăți raza de acÈ›iune È™i eficienÈ›a. @@ -1382,16 +2134,17 @@ block.inverted-sorter.description = Similar sortatorului standard, dar materialu block.router.description = Distribuie materialele primite în alte 3 direcÈ›ii în mod egal. block.router.details = Un rău necesar. Nu folosi niciodată pt a introduce materiale în blocuri, căci vor fi blocate de produÈ™ii blocurilor. block.distributor.description = Distribuie materialele primite în alte 7 direcÈ›ii în mod egal. -block.overflow-gate.description = Transportă materialele doar la stânga È™i dreapta dacă drumul din față este blocat. Nu poate fi folosită lângă alte porÈ›i. -block.underflow-gate.description = Opusul porÈ›ii de revărsare. Transportă materialele în față dacă benzile din stânga È™i dreapta sunt blocate. Nu poate fi folosită lângă alte porÈ›i. -block.mass-driver.description = Dispozitiv folosit pt transportul materialelor pe distanÈ›e mari. Adună mai multe materiale È™i apoi le lansează până la un alt distributor în masă pe o rază mare. +block.overflow-gate.description = Transportă materialele doar la stânga È™i dreapta dacă drumul din față este blocat. +block.underflow-gate.description = Opusul porÈ›ii de revărsare. Transportă materialele în față dacă benzile din stânga È™i dreapta sunt blocate. +block.mass-driver.description = Structură de transport al materialelor pe distanÈ›e mari. Adună mai multe materiale È™i apoi le lansează către un alt distributor în masă. block.mechanical-pump.description = Pompează lichide din mediul înconjurător. Nu necesită electricitate. block.rotary-pump.description = Pompează lichide din mediul înconjurător. Necesită electricitate. -block.thermal-pump.description = Pompează lichide din mediul înconjurător. +block.impulse-pump.description = Pompează lichide din mediul înconjurător. block.conduit.description = ÃŽmpinge lichidele în față. Folosit cu pompe È™i alte conducte. block.pulse-conduit.description = ÃŽmpinge lichidele în față. Transportă lichidele mai rapid È™i stochează mai mult decât conductele standard. -block.plated-conduit.description = ÃŽmpinge lichidele în față. Nu acceptă lichide din lateral de la altceva în afară de conducte. Lichidul nu se varsă la exterior. +block.plated-conduit.description = ÃŽmpinge lichidele în față. Nu acceptă lichide din lateral de la altceva în afară de conducte. Lichidul nu se varsă la exterior. block.liquid-router.description = Acceptă lichide dintr-o direcÈ›ie È™i le distribuie în alte 3 direcÈ›ii în mod egal. Poate stoca o anumită cantitate de lichid. +block.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stochează o mare cantitate de lichid È™i îl lasă să curgă prin toate conductele adiacente, similar unui router de lichid. block.liquid-junction.description = AcÈ›ionează ca un pod pt două conducte care se intersectează. block.bridge-conduit.description = Transportă lichidele peste orice teren sau clădire. @@ -1401,7 +2154,7 @@ block.power-node-large.description = Un nod electric avansat cu o rază mare. block.surge-tower.description = Un nod electric cu o rază extrem de mare dar cu mai puÈ›ine conexiuni disponibile. block.diode.description = Transportă energia din baterii într-o direcÈ›ie, dar doar dacă partea cealaltă are mai puÈ›ină energie stocată. block.battery.description = Stochează electricitatea pt rezerve atunci când există un surplus în reÈ›ea. Oferă electricitate atunci când există un deficit. -block.battery-large.description = Stochează electricitatea pt rezerve atunci când există un surplus în reÈ›ea. Oferă electricitate atunci când există un deficit. Capacitate mai mare decât cea a bateriei obiÈ™nuite. +block.battery-large.description = Stochează electricitatea pt rezerve atunci când există un surplus în reÈ›ea. Oferă electricitate atunci când există un deficit. Capacitate mai mare decât cea a bateriei obiÈ™nuite. block.combustion-generator.description = Generează electricitate arzând materiale inflamabile, precum cărbunele. block.thermal-generator.description = Generează electricitate atunci când este plasat în locuri calde. block.steam-generator.description = Generează electricitate arzând materiale inflamabile È™i convertind apa în abur. @@ -1424,11 +2177,14 @@ block.core-shard.details = Prima versiune. Compact. Autoreprodus. Echipat cu pro block.core-foundation.description = Nucleul bazei. Bine armat. Stochează mai multe resurse decât nucleul Shard. block.core-foundation.details = A doua versiune. block.core-nucleus.description = Nucleul bazei. Extrem de bine armat. Stochează cantități masive de resurse. -block.core-nucleus.details = A treia È™i ultima versiune. +block.core-nucleus.details = A treia È™i ultima versiune. block.vault.description = Stochează o mare cantitate de materiale de orice tip. ConÈ›inutul poate fi recuperat folosind un descărcător. block.container.description = Stochează o mică cantitate de materiale de orice tip. ConÈ›inutul poate fi recuperat folosind un descărcător. block.unloader.description = Descarcă materialele din orice bloc din apropiere, mai puÈ›in cele de transport. block.launch-pad.description = Lansează grămezi de materiale către sectoarele selectate. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Trage cu gloanÈ›e alternante către inamici. block.scatter.description = Trage cu bucățele de plumb, fier vechi sau metasticlă către aeronavele inamice. block.scorch.description = Arde orice artilerie inamică din apropiere. Foarte eficient la distanță mică. @@ -1443,24 +2199,24 @@ block.ripple.description = LoveÈ™te cu capsule către inamici pe distanÈ›e mari. block.cyclone.description = Trage cu grămezi explozive de material către unitățile inamice din apropiere. block.spectre.description = Trage cu gloanÈ›e mari care penetrează scuturile inamicilor din apropiere. block.meltdown.description = Se încarcă È™i trage cu un laser continuu la inamicii din apropiere. Necesită răcitor pt a opera. +block.foreshadow.description = Trage către o È›intă cu un glonÈ› imens pe distanÈ›e lungi. Inamicii cu mai multă viață au prioritate. block.repair-point.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. block.segment.description = Deteriorează È™i distruge proiectilele din apropiere. Laserele nu sunt afectate. block.parallax.description = Trage cu o rază tractoare care atrage aeronavele inamice, deteriorându-le. block.tsunami.description = Trage jeturi puternice de lichid către inamici. Stinge focul automat când este alimentată cu apă. block.silicon-crucible.description = Rafinează silicon din nisip È™i cărbune, folosind piratită ca sursă adiÈ›ională de cărbune. Mai eficient când e plasat în locuri calde. block.disassembler.description = Separă zgura în componentele sale minerale exotice. Eficiență mică. Poate produce toriu. -block.overdrive-dome.description = GrăbeÈ™te blocurile din apropiere. Necesită fibră-fază È™i silicon pt a opera. +block.overdrive-dome.description = GrăbeÈ™te blocurile din apropiere. Necesită fibră-fază È™i silicon pt a opera. block.payload-conveyor.description = MiÈ™că încărcături mari, cum ar fi unitățile militare din fabrici. block.payload-router.description = Distribuie încărcătura primită în 3 direcÈ›ii diferite. -block.command-center.description = Controlează comportamentul unităților militare folosind diverse comenzi. block.ground-factory.description = Produce unități de artilerie. Unitățile produse pot fi folosite direct sau mutate în reconstructoare pt îmbunătățiri. block.air-factory.description = Produce unități aeriene. Unitățile produse pot fi folosite direct sau mutate în reconstructoare pt îmbunătățiri. block.naval-factory.description = Produce unități navale. Unitățile produse pot fi folosite direct sau mutate în reconstructoare pt îmbunătățiri. -block.additive-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, tranformându-le în unități de nivel doi. -block.multiplicative-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, tranformându-le în unități de nivel trei. -block.exponential-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, tranformându-le în unități de nivel patru. -block.tetrative-reconstructor.description =ÃŽmbunătățeÈ™te unitățile primite, tranformându-le în unități de ltimă generaÈ›ie: nivelul cinci. -block.switch.description = Un întrerupător. Poate fi pornit sau oprit. Statusul său poate fi citit È™i controlat de procesoarele logice. +block.additive-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, transformându-le în unități de nivel doi. +block.multiplicative-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, transformându-le în unități de nivel trei. +block.exponential-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, transformându-le în unități de nivel patru. +block.tetrative-reconstructor.description = ÃŽmbunătățeÈ™te unitățile primite, transformându-le în unități de ltimă generaÈ›ie: nivelul cinci. +block.switch.description = Un întrerupător. Poate fi pornit sau oprit. Starea sa poate fi citită È™i controlată de procesoarele logice. block.micro-processor.description = Rulează într-o buclă continuă o secvență de instrucÈ›iuni logice. Poate fi folosit pt a controla unități È™i diverse clădiri. block.logic-processor.description = Rulează într-o buclă continuă o secvență de instrucÈ›iuni logice. Poate fi folosit pt a controla unități È™i diverse clădiri. Mai rapid decât microprocesorul. block.hyper-processor.description = Rulează într-o buclă continuă o secvență de instrucÈ›iuni logice. Poate fi folosit pt a controla unități È™i diverse clădiri. Mai rapid decât procesorul logic. @@ -1469,6 +2225,101 @@ block.memory-bank.description = Stochează informaÈ›ie pt un procesor. Capacitat block.logic-display.description = AfiÈ™ează grafica transmisă de un procesor logic. block.large-logic-display.description = AfiÈ™ează grafica transmisă de un procesor logic. block.interplanetary-accelerator.description = Un turn masiv cu o armă railgun electromagnetică. Accelerează nucleele la viteză cosmică pt lansare interplanetară. +block.repair-turret.description = Repară încontinuu cea mai deteriorată unitate din vecinătate. Poate accepta răcitor. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. unit.dagger.description = Trage cu gloanÈ›e standard către toÈ›i inamicii din apropiere. unit.mace.description = Trage cu jeturi de flacără aprinsă către toÈ›i inamicii din apropiere. @@ -1482,8 +2333,8 @@ unit.vela.description = Trage cu un laser masiv, continuu, inflamabil care deter unit.corvus.description = Trage cu e explozie masivă de lasere care deteriorează inamicii È™i repară structurile aliate. Poate merge peste majoritatea terenurilor. unit.crawler.description = Aleargă către inamici È™i se autodistruge, cauzând o explozie. unit.atrax.description = Trage cu globuri de zgură care slăbesc artileria inamică. Poate merge peste majoritatea terenurilor. -unit.spiroct.description = Trage cu lasere care apropie inamicii, autoreparându-se în acest proces. Poate merge peste majoritatea terenurilor. -unit.arkyid.description = Trage cu lasere mari care apropie inamicii, autoreparându-se în acest proces. Poate merge peste majoritatea terenurilor. +unit.spiroct.description = Trage cu lasere care apropie È™i slăbesc inamicii, autoreparându-se în acest proces. Poate merge peste majoritatea terenurilor. +unit.arkyid.description = Trage cu lasere mari care apropie È™i slăbesc inamicii, autoreparându-se în acest proces. Poate merge peste majoritatea terenurilor. unit.toxopid.description = Trage cu capsule electrice mari È™i lasere care penetrează scuturile inamice. Poate merge peste majoritatea terenurilor. unit.flare.description = Trage cu gloanÈ›e standard la artileria inamică din apropiere. unit.horizon.description = Aruncă grămezi de bombe peste artileria inamică. @@ -1503,3 +2354,295 @@ unit.omura.description = Trage cu un railgun cu gloanÈ›e care penetrează scutur unit.alpha.description = Apără nucleul Shard de inamici. ConstruieÈ™te structuri. unit.beta.description = Apără nucleul Foundation de inamici. ConstruieÈ™te structuri. unit.gamma.description = Apără nucleul Core de inamici. ConstruieÈ™te structuri. +unit.retusa.description = Plasează mine de proximitate. Repară unitățile aliate. +unit.oxynoe.description = Trage cu jeturi de flacără către inamicii din apropiere, reparând structurile aliate. ÈšinteÈ™te proiectilele inamice din apropiere cu o armă care le deteriorează È™i distruge. +unit.cyerce.description = Trage cu bombe cu dispersie echipate cu radar către inamici. Repară unitățile aliate. +unit.aegires.description = Electrocutează toate unitățile È™i structurile inamice care intră în câmpul său de energie. Repară toÈ›i aliaÈ›ii. +unit.navanax.description = Trage cu proiectile EMP explozive, lovind reÈ›elele electrice inamice cu o forță semnificativă È™i reparând structurile aliate. TopeÈ™te inamicii din apropiere cu cele 4 arme autonome cu laser. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. + +lst.read = CiteÈ™te un număr dintr-o celulă de memorie conectată. +lst.write = Scrie un număr într-o celulă de memorie conectată. +lst.print = Adaugă text în bufferul de tipărire.\nNu tipăreÈ™te decât când se execută [accent]Print Flush[]. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Adaugă o operaÈ›ie în bufferul de desenare.\nNu afiÈ™ează decât când se execută [accent]Draw Flush[]. +lst.drawflush = AfiÈ™ează pe un monitor instrucÈ›iunile [accent]Draw[] aflate în aÈ™teptare. +lst.printflush = TipăreÈ™te într-un bloc Mesaj instrucÈ›iunile [accent]Print[] aflate în aÈ™teptare. +lst.getlink = ObÈ›ine o conexiune a procesorului după index. ÃŽncepe de la 0. +lst.control = Controlează o clădire. +lst.radar = Localizează unitățile aflate în jurul unei clădiri. Are o anumită rază de acÈ›iune. +lst.sensor = ObÈ›ine date de la o clădire sau unitate. +lst.set = Setează o variabilă. +lst.operation = Efectuează o operaÈ›ie pe 1-2 variabile. +lst.end = Sari la începutul listei de instrucÈ›iuni. +lst.wait = AÈ™teaptă un anumit număr de secunde. +lst.stop = Halt execution of this processor. +lst.lookup = Caută un tip de material/lichid/unitate/bloc după ID.\nNumărul total din fiecare tip poate fi accesat cu:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Dacă condiÈ›ia este adevărată, mergi la o altă instrucÈ›iune. +lst.unitbind = Controlează următoarea unitate de tipul selectat È™i reÈ›ine-o în [accent]@unit[]. +lst.unitcontrol = Controlează unitatea controlată de procesor. +lst.unitradar = Localizează unitățile din jurul unității controlate de procesor. +lst.unitlocate = Localizează o poziÈ›ie/clădire specifică oriunde pe hartă.\nNecesită o unitate controlată de procesor. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Nu ai voie să construieÈ™ti cu unitățile folosind procesoare. + +lenum.type = Tipul clădirii/unității.\nde ex.: pt orice Router, va returna [accent]@router[].\nNu e un È™ir de caractere. +lenum.shoot = LoveÈ™te către o locaÈ›ie. +lenum.shootp = LoveÈ™te către o unitate/clădire. Anticipează viteza È›intei È™i a proiectilului. +lenum.config = ConfiguraÈ›ia clădirii, de ex. materialul selectat pt Sortator. +lenum.enabled = Specifică dacă clădirea este pornită. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Culoarea iluminatorului. +laccess.controller = Controlorul unității. Dacă e controlată de procesor, returnează procesorul.\nDacă e într-o formaÈ›ie, returnează liderul.\nAltfel, returnează unitatea însăși. +laccess.dead = Specifică dacă o unitate sau clădire a murit/nu mai e validă. +laccess.controlled = Returnează:\n[accent]@ctrlProcessor[] dacă controlorul unității e procesor\n[accent]@ctrlPlayer[] dacă controlorul unității/clădirii e jucător\n[accent]@ctrlFormation[] dacă unitatea e într-o formaÈ›ie\nAltfel dă 0. +laccess.progress = Progresul acÈ›iunii, de la 0 la 1.\nReturnează progresul producÈ›iei, al construcÈ›iei sau reîncărcarea armelor. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. + +graphicstype.clear = Umple monitorul cu o culoare. +graphicstype.color = Setează culoarea pt următoarele instrucÈ›iuni Draw. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Setează grosimea liniei. +graphicstype.line = Desenează un segment de linie. +graphicstype.rect = Desenează un dreptunghi. +graphicstype.linerect = Desenează conturul unui dreptunghi. +graphicstype.poly = Desenează un poligon regulat. +graphicstype.linepoly = Desenează conturul unui poligon regulat. +graphicstype.triangle = Desenează un triunghi. +graphicstype.image = Desenează imaginea unui obiect din joc.\nde ex.: [accent]@router[] sau [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Mereu adevărat. +lenum.idiv = ÃŽmpărÈ›irea naturală a numerelor (int). +lenum.div = ÃŽmpărÈ›irea.\nReturnează [accent]null[] dacă împarÈ›i la 0. +lenum.mod = Modulo (restul împărÈ›irii). +lenum.equal = Egal. ConverteÈ™te tipurile variabilelor.\nObiectele nenule comparate cu numere devin 1, cele nule devin 0. +lenum.notequal = Nu e egal. ConverteÈ™te tipurile variabilelor. +lenum.strictequal = Egalitate strictă. Nu converteÈ™te tipurile variabilelor.\nPoate fi folosit pt a verifica dacă ceva este [accent]null[]. +lenum.shl = Shift left pe biÈ›i. +lenum.shr = Shift right pe biÈ›i. +lenum.or = OR/SAU. Èšine cont de biÈ›i. +lenum.land = Logical AND/ȘI logic. Nu È›ine cont de biÈ›i. +lenum.and = AND/ȘI. Èšine cont de biÈ›i. +lenum.not = NOT. Inversează biÈ›ii. +lenum.xor = XOR/disjuncÈ›ie exclusivă. Èšine cont de biÈ›i. + +lenum.min = Minimul a două numere. +lenum.max = Maximul a două numere. +lenum.angle = Unghiul unui vector în grade. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Lungimea unui vector. + +lenum.sin = Sinus în grade. +lenum.cos = Cosinus în grade. +lenum.tan = Tangentă în grade. + +lenum.asin = Arcsinus în grade. +lenum.acos = Arccosinus în grade. +lenum.atan = Arctangentă în grade. + +#cea de mai jos nu-i o greÈ™eală, caută pe net notarea intervalelor în matematică +lenum.rand = Număr natural aleatoriu în intervalul [0, val). +lenum.log = Logaritm natural (ln). +lenum.log10 = Logaritm în baza 10. +lenum.noise = 2D simplex noise. +lenum.abs = Valoarea absolută. +lenum.sqrt = Radical/rădăcina pătrată. + +lenum.any = Orice unitate. +lenum.ally = Unitate aliată. +lenum.attacker = Unitate cu armă. +lenum.enemy = Unitate inamică. +lenum.boss = Unitate gardian. +lenum.flying = Unitate care zboară. +lenum.ground = Unitate de artilerie. +lenum.player = Unitate controlată de un jucător. + +lenum.ore = Depozit de minereu. +lenum.damaged = Clădire aliată deteriorată. +lenum.spawn = Punct de lansare inamic.\nPoate fi un nucleu sau o poziÈ›ie. +lenum.building = Clădire dintr-un grup specific. + +lenum.core = Orice nucleu. +lenum.storage = Clădire de stocare, de ex. Containerul. +lenum.generator = Clădiri care generează electricitate. +lenum.factory = Clădiri care transformă resurse. +lenum.repair = Puncte de Reparare. +lenum.battery = Orice baterie. +lenum.resupply = Puncte de Realimentare.\nRelevant doar când [accent]"Unitățile Necesită MuniÈ›ie"[] este activată. +lenum.reactor = Reactor de Toriu/Impact. +lenum.turret = Orice armă. + +sensor.in = Clădirea/unitatea care trebuie detectată. + +radar.from = Clădirea de la care detectăm.\nRaza senzorului e limitată de raza de costrucÈ›ie. +radar.target = Filtru pt unitățile care trebuie detectate. +radar.and = Adaugă filtre. +radar.order = Ordinea de sortare. 0 pt a inversa ordinea. +radar.sort = Modul cum sortăm rezultatele. +radar.output = Variabila în care se va scrie unitatea detectată. + +unitradar.target = Filtru pt unitățile care trebuie detectate. +unitradar.and = Adaugă filtre. +unitradar.order = Ordinea de sortare. 0 pt a inversa ordinea. +unitradar.sort = Modul cum sortăm rezultatele. +unitradar.output = Variabila în care se reÈ›ine unitatea detectată. + +control.of = Clădirea de controlat. +control.unit = Unitatea/clădirea către care se È›inteÈ™te. +control.shoot = Specifică dacă armele trag. + +unitlocate.enemy = Specifică dacă se detectează clădirile inamice. +unitlocate.found = Specifică dacă obiectul a fost găsit. +unitlocate.building = Clădirea detectată. +unitlocate.outx = Coordonata X a obiectului detectat. +unitlocate.outy = Coordonata Y a obiectului detectat. +unitlocate.group = Grupul clădirilor de detectat. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Nu miÈ™ca, dar continuă să construieÈ™ti/minezi.\nModul prestabilit. +lenum.stop = OpreÈ™te acÈ›iunea curentă. Nu miÈ™ca/mina/construi. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Mergi la această poziÈ›ie. +lenum.approach = Apropie-te la o anumită distanță de poziÈ›ie. +lenum.pathfind = GăseÈ™te ruta către punctul de lansare inamic. Poate fi un nucleu. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = LoveÈ™te către o poziÈ›ie. +lenum.targetp = LoveÈ™te o È›intă. Anticipează viteza È›intei È™i a proiectilului. +lenum.itemdrop = Descarcă o bucată de material. +lenum.itemtake = Ia o bucată de material dintr-o clădire. +lenum.paydrop = Descarcă încărcătura curentă. +lenum.paytake = Ia o încărcătură de la locaÈ›ia curentă. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Oferă o etichetă numerică unității. +lenum.mine = Minează din această locaÈ›ie. +lenum.build = ConstruieÈ™te o structură. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Verifică dacă unitatea se află în apropierea poziÈ›iei. +lenum.boost = PorneÈ™te/opreÈ™te propulsorul. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_ru.properties b/core/assets/bundles/bundle_ru.properties index 23a3b55158..c07ecb18f3 100644 --- a/core/assets/bundles/bundle_ru.properties +++ b/core/assets/bundles/bundle_ru.properties @@ -1,4 +1,4 @@ -credits.text = Создатель [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nЕÑть недоработки в переводе или хотите найти Ñоюзников Ð´Ð»Ñ ÑовмеÑтной игры?\nПишите в оф. [accent]discord-Ñервер Mindustry[] в канал [accent]#руÑÑкий[].\n\nРедакторы и переводчики на руÑÑкий Ñзык:\n[blue]Prosta4ok_ua[green]#[yellow]6336\n[darkgray]XZimur[]\n[#30FF30]Beryllium\n[tan]Félix [slate]Córvus\n[orange]Vanguard\n[#a00000]The [red]Slaylord[][] +credits.text = Создатель [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nЕÑть недоработки в переводе или хотите найти Ñоюзников Ð´Ð»Ñ ÑовмеÑтной игры?\nПишите в оф. руÑÑкий [accent]discord-Ñервер Mindustry[].\n\nРедакторы и переводчики на руÑÑкий Ñзык:\n[blue]Prosta4ok_ua[green]#[yellow]6336\n[darkgray]XZimur[]\n[lightgray]routerchain\n[tan]Félix [slate]Córvus\n[orange]Vanguard\n[#a00000]Slotterleet[]\n[unlaunched]inflexibledarkness[]\n[white]lucin#0949[] credits = Ðвторы contributors = Переводчики и помощники discord = ПриÑоединÑйтеÑÑŒ к нашему Discord! @@ -13,18 +13,18 @@ link.google-play.description = Скачать Ð´Ð»Ñ Android Ñ Google Play link.f-droid.description = Скачать Ð´Ð»Ñ Android Ñ F-Droid link.wiki.description = ÐžÑ„Ð¸Ñ†Ð¸Ð°Ð»ÑŒÐ½Ð°Ñ Ð²Ð¸ÐºÐ¸ link.suggestions.description = Предложить новые возможноÑти -link.bug.description = Ðашли одну? Доложите о ней здеÑÑŒ +link.bug.description = Ðашли ошибку? Доложите о ней здеÑÑŒ +linkopen = Этот Ñервер отправил вам ÑÑылку. Ð’Ñ‹ уверены, что хотите ее открыть?\n\n[sky]{0} linkfail = Ðе удалоÑÑŒ открыть ÑÑылку!\nURL-Ð°Ð´Ñ€ÐµÑ Ð±Ñ‹Ð» Ñкопирован в буфер обмена. screenshot = Скриншот Ñохранён в {0} screenshot.invalid = Карта Ñлишком большаÑ, возможно, не хватает памÑти Ð´Ð»Ñ Ñкриншота. gameover = Игра окончена gameover.disconnect = Отключение -gameover.pvp = [accent]{0}[] команда победила! +gameover.pvp = Команда [accent]{0}[] победила! gameover.waiting = [accent]Ожидание Ñледующей карты... highscore = [accent]Ðовый рекорд! copied = Скопировано. indev.notready = Эта чаÑть игры ещё не готова -indev.campaign = [accent]ПоздравлÑем! Ð’Ñ‹ доÑтигли конца кампании![]\n\nЭто вÑÑ‘, что предоÑтавлÑет ÑÐµÐ¹Ñ‡Ð°Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ½Ñ‚. Межпланетные путешеÑÑ‚Ð²Ð¸Ñ Ð±ÑƒÐ´ÑƒÑ‚ добавлены в будущих обновлениÑÑ…. load.sound = Звуки load.map = Карты @@ -36,23 +36,31 @@ load.scripts = Скрипты be.update = ДоÑтупна Ð½Ð¾Ð²Ð°Ñ Ñборка Bleeding Edge: be.update.confirm = Загрузить её и перезапуÑтить игру ÑейчаÑ? -be.updating = ОбновлÑетÑÑ… +be.updating = ОбновлÑетÑÑ... be.ignore = Игнорировать be.noupdates = ÐžÐ±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ найдены. be.check = Проверить Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ -mod.featured.title = Обозреватель модов -mod.featured.dialog.title = Обозреватель модов +mods.browser = Браузер\nмодификаций mods.browser.selected = Выбранный мод -mods.browser.add = УÑтановить мод -mods.github.open = Открыть GitHub Ñтраницу +mods.browser.add = Скачать +mods.browser.reinstall = ПереуÑтановить +mods.browser.view-releases = ПоÑмотреть Релизы +mods.browser.noreleases = [scarlet]Релизы не найдены\n[accent]Ðе удалоÑÑŒ найти релизы Ð´Ð»Ñ Ñтого мода. Проверьте, еÑть ли в репозитории мода Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ один опубликованный релиз. +mods.browser.latest = <ПоÑледний> +mods.browser.releases = Релизы +mods.github.open = Сайт +mods.github.open-release = Страница релиза +mods.browser.sortdate = Сортировка по дате Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ +mods.browser.sortstars = Сортировка по количеÑтву звёзд schematic = Схема -schematic.add = Сохранить Ñхему… +schematic.add = Сохранить Ñхему... schematics = Схемы +schematic.search = ПоиÑк Ñхем... schematic.replace = Схема Ñ Ñ‚Ð°ÐºÐ¸Ð¼ названием уже ÑущеÑтвует. Заменить её? schematic.exists = Схема Ñ Ñ‚Ð°ÐºÐ¸Ð¼ названием уже ÑущеÑтвует. -schematic.import = Импортировать Ñхему… +schematic.import = Импортировать Ñхему... schematic.exportfile = ЭкÑпортировать файл schematic.importfile = Импортировать файл schematic.browseworkshop = ПроÑмотр МаÑтерÑкой @@ -62,19 +70,27 @@ schematic.shareworkshop = ПоделитьÑÑ Ð² МаÑтерÑкой schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Отразить Ñхему schematic.saved = Схема Ñохранена. schematic.delete.confirm = Эта Ñхема будет поджарена ИÑпепелителем. -schematic.rename = Переименовать Ñхему +schematic.edit = Редактировать Ñхему schematic.info = {0}x{1}, {2} блоков -schematic.disabled = [scarlet]Схемы отключены[]\nÐа Ñтой [accent]карте[] или [accent]Ñервере запрещено иÑпользование Ñхем. +schematic.disabled = [scarlet]Схемы отключены[]\nÐа Ñтой [accent]карте[] или [accent]Ñервере[] запрещено иÑпользование Ñхем. +schematic.tags = Теги: +schematic.edittags = Редактировать теги +schematic.addtag = Добавить тег +schematic.texttag = ТекÑтовый тег +schematic.icontag = Символьный тег +schematic.renametag = Переименовать тег +schematic.tagged = {0} отмечено +schematic.tagdelconfirm = Удалить Ñтот тег навÑегда? +schematic.tagexists = Такой тег уже ÑущеÑтвует. stats = СтатиÑтика -stat.wave = Волн отражено:[accent] {0} -stat.enemiesDestroyed = Врагов уничтожено:[accent] {0} -stat.built = Строений поÑтроено:[accent] {0} -stat.destroyed = Строений уничтожено:[accent] {0} -stat.deconstructed = Строений разобрано:[accent] {0} -stat.delivered = РеÑурÑов запущено: -stat.playtime = Ð’Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ñ‹:[accent] {0} -stat.rank = Финальный ранг: [accent]{0} +stats.wave = Волн отражено +stats.unitsCreated = Боевых единиц Ñоздано +stats.enemiesDestroyed = Врагов уничтожено +stats.built = ПоÑтроек возведено +stats.destroyed = ПоÑтроек уничтожено +stats.deconstructed = ПоÑтроек разобрано +stats.playtime = Проведённое Ð²Ñ€ÐµÐ¼Ñ globalitems = [accent]Общие предметы map.delete = Ð’Ñ‹ дейÑтвительно хотите удалить карту «[accent]{0}[]»? @@ -84,12 +100,15 @@ level.mode = Режим игры: coreattack = < Ядро находитÑÑ Ð¿Ð¾Ð´ атакой! > nearpoint = [[ [scarlet]ПОКИÐЬТЕ ТОЧКУ ВЫСÐДКИ ÐЕМЕДЛЕÐÐО[] ]\nаннигилÑÑ†Ð¸Ñ Ð½ÐµÐ¸Ð·Ð±ÐµÐ¶Ð½Ð° database = База данных Ñдра +database.button = База данных savegame = Сохранить игру loadgame = Загрузить игру joingame = Ð¡ÐµÑ‚ÐµÐ²Ð°Ñ Ð¸Ð³Ñ€Ð° customgame = ПользовательÑÐºÐ°Ñ Ð¸Ð³Ñ€Ð° newgame = ÐÐ¾Ð²Ð°Ñ Ð¸Ð³Ñ€Ð° none = <ничего> +none.found = [lightgray]<ничего не найдено> +none.inmap = [lightgray]<нет на карте> minimap = Мини-карта position = Координаты close = Закрыть @@ -110,24 +129,40 @@ committingchanges = ВнеÑение изменений done = Готово feature.unsupported = Ваше уÑтройÑтво не поддерживает Ñту возможноÑть. -mods.alphainfo = Имейте в виду, что модификации находÑÑ‚ÑÑ Ð² альфа-верÑии и [scarlet]могут Ñодержать много ошибок[]. Докладывайте о любых проблемах, которые вы найдете в Mindustry Github. +mods.initfailed = [red]âš [] Ðе удалоÑÑŒ инициализировать предыдущий запуÑк Mindustry. Это могло быть вызвано неиÑправными модификациÑми.\n\nЧтобы предотвратить зацикленные вылеты игры, [red]вÑе модификации были отключены.[] mods = Модификации mods.none = [lightgray]Модификации не найдены! -mods.guide = РуководÑтво по модам +mods.guide = РуководÑтво по модификациÑм mods.report = Доложить об ошибке mods.openfolder = Открыть папку Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñми +mods.viewcontent = ПроÑмотреть Ñодержимое mods.reload = Перезагрузить mods.reloadexit = Игра будет закрыта Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ модификаций. +mod.installed = [[УÑтановлено] mod.display = [gray]МодификациÑ:[orange] {0} -mod.enabled = [lightgray]Включён -mod.disabled = [scarlet]Выключен +mod.enabled = [lightgray]Включено +mod.disabled = [scarlet]Выключено +mod.multiplayer.compatible = [gray]ДоÑтупна в игре по Ñети mod.disable = Выкл. +mod.version = Version: mod.content = Содержимое: mod.delete.error = Ðевозможно удалить модификацию. Возможно, файл иÑпользуетÑÑ. -mod.requiresversion = [scarlet]Ð¢Ñ€ÐµÐ±ÑƒÐµÐ¼Ð°Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹: [accent]{0} -mod.outdated = [scarlet]Ðе ÑовмеÑтим Ñ V6 (нет "minGameVersion: 105") -mod.missingdependencies = [scarlet]Ðе найдены родительÑкие модификации: {0} +mod.incompatiblegame = [red]УÑÑ‚Ð°Ñ€ÐµÐ²ÑˆÐ°Ñ Ð¸Ð³Ñ€Ð° +mod.incompatiblemod = [red]ÐеÑовмеÑтимый +mod.blacklisted = [red]Ðеподдерживаемый +mod.unmetdependencies = [red]Ðе найдены завиÑимоÑти mod.erroredcontent = [scarlet]Ошибки Ñодержимого +mod.circulardependencies = [red]Цикличные завиÑимоÑти +mod.incompletedependencies = [red]ÐедопуÑтимые или отÑутÑтвующие завиÑимоÑти +mod.requiresversion.details = ТребуетÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹: [accent]{0}[]\nВаша игра уÑтарела. Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹ Ñтого мода требуетÑÑ Ð±Ð¾Ð»ÐµÐµ Ð½Ð¾Ð²Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹ (возможно, альфа/бета-верÑиÑ). +mod.outdatedv7.details = Этот мод неÑовмеÑтим Ñ Ð¿Ð¾Ñледней верÑией игры. Ðвтор должен обновить его и добавить [accent]minGameVersion: 136[] в файл [accent]mod.json[]. +mod.blacklisted.details = Этот мод был вручную занеÑен в черный ÑпиÑок из-за того, что он вызывал Ñбои или другие проблемы Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ верÑией игры. Ðе иÑпользуйте его. +mod.missingdependencies.details = Ð”Ð»Ñ Ñтого мода отÑутÑтвуют завиÑимоÑти: {0} +mod.erroredcontent.details = Этот мод вызвал ошибки при загрузке. ПопроÑите автора мода иÑправить их. +mod.circulardependencies.details = Этот мод имеет завиÑимоÑти, которые завиÑÑÑ‚ друг от друга. +mod.incompletedependencies.details = Этот мод не может быть загружен из-за недопуÑтимых или отÑутÑтвующих завиÑимоÑтей: {0}. + +mod.requiresversion = ТребуетÑÑ Ð²ÐµÑ€ÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹: [red]{0} mod.errors = Ошибки были вызваны загружаемым Ñодержимым. mod.noerrorplay = [scarlet]У Ð’Ð°Ñ ÐµÑть модификации Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°Ð¼Ð¸.[] Выключите проблемные модификации или иÑправьте ошибки перед игрой. mod.nowdisabled = [scarlet]Модификации '{0}' требуютÑÑ Ñ€Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÑкие модификации:[accent] {1}\n[lightgray]Сначала нужно загрузить их.\nЭта Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ автоматичеÑки отключена. @@ -136,27 +171,36 @@ mod.requiresrestart = Теперь игра закроетÑÑ, чтобы пр mod.reloadrequired = [scarlet]Ðеобходим перезапуÑк mod.import = Импортировать модификацию mod.import.file = Импортировать файл -mod.import.github = Импортировать мод Ñ GitHub -mod.jarwarn = [scarlet]JAR-модификации по Ñути не безопаÑны.[]\nУбедитеÑÑŒ, что вы импортируете Ñтот мод из надежного иÑточника! +mod.import.github = Импортировать модификацию Ñ GitHub +mod.jarwarn = [scarlet]JAR-модификации по Ñути не безопаÑны.[]\nУбедитеÑÑŒ, что вы импортируете Ñту модификацию из надёжного иÑточника! mod.item.remove = Этот предмет ÑвлÑетÑÑ Ñ‡Ð°Ñтью модификации [accent]«{0}[accent]»[white]. Чтобы удалить его, удалите Ñаму модификацию. mod.remove.confirm = Эта Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ удалена. mod.author = [lightgray]Ðвтор(Ñ‹):[] {0} mod.missing = Ð’ Ñтом Ñохранении еÑть Ñледы модификации, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¾Ñ‚ÑутÑтвует или уÑтановлена её Ð¾Ð±Ð½Ð¾Ð²Ð»Ñ‘Ð½Ð½Ð°Ñ Ð²ÐµÑ€ÑиÑ. Может произойти повреждение ÑохранениÑ. Ð’Ñ‹ уверены, что хотите загрузить его?\n[lightgray]Модификации:\n{0} mod.preview.missing = Перед публикацией Ñтой модификации в МаÑтерÑкой, вы должны добавить изображение предпроÑмотра.\nРазмеÑтите изображение Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼[accent] preview.png[] в папке модификации и попробуйте Ñнова. mod.folder.missing = Модификации могут быть опубликованы в МаÑтерÑкой только в виде папки.\nЧтобы конвертировать любой мод в папку, проÑто извлеките его из архива и удалите Ñтарый архив .zip, затем перезапуÑтите игру или перезагрузите модификации. -mod.scripts.disable = Ваше уÑтройÑтво не поддерживает модификации Ñо Ñкриптами. Отключите такие моды, чтобы играть. +mod.scripts.disable = Ваше уÑтройÑтво не поддерживает модификации Ñо Ñкриптами. Отключите такие модификации, чтобы играть. about.button = Об игре name = ИмÑ: -noname = Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° придумайте[accent] Ñебе имÑ[]. +noname = Ð”Ð»Ñ Ð½Ð°Ñ‡Ð°Ð»Ð° придумайте Ñебе[accent] имÑ[]. +search = ПоиÑк: planetmap = Карта планеты launchcore = ЗапуÑк Ñдра filename = Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°: unlocked = Ðовый контент разблокирован! available = ДоÑтупно новое иÑÑледование! +unlock.incampaign = < Разблокируйте в кампании Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð½Ð¾Ñтей > +campaign.select = Выберите Ñтартовую кампанию +campaign.none = [lightgray]Выберите планету, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð¹ хотите начать.\nПереключить планету можно в любое времÑ. +campaign.erekir = Ðовый, более отточенный контент. Ð’-оÑновном линейное продвижение по кампании.\n\nКарты и игровой процеÑÑ Ð±Ð¾Ð»ÐµÐµ выÑокого качеÑтва. +campaign.serpulo = Старый контент; клаÑÑичеÑкий опыт. Более вариативное прохождение.\n\nПотенциально неÑбаланÑированные карты и механики кампании. Менее отточено. +campaign.difficulty = Difficulty completed = [accent]Завершено techtree = Дерево\n технологий -research.legacy = Ðайдены данные иÑÑледований из [accent]5.0[].\nХотите [accent]загрузить Ñти данные[], или [accent]отказатьÑÑ Ð¾Ñ‚ них[] и перезапуÑтить иÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² новой кампании (рекомендуетÑÑ)? +techtree.select = Выбор дерева технологий +techtree.serpulo = Серпуло +techtree.erekir = Эрекир research.load = Загрузить research.discard = ОтказатьÑÑ research.list = [lightgray]ИÑÑледуйте: @@ -167,7 +211,7 @@ players = Игроков: {0} players.single = {0} игрок players.search = поиÑк players.notfound = [gray]игроки не найдены -server.closing = [accent]Закрытие Ñервера… +server.closing = [accent]Закрытие Ñервера... server.kicked.kick = Ð’Ð°Ñ Ð²Ñ‹Ð³Ð½Ð°Ð»Ð¸ Ñ Ñервера! server.kicked.whitelist = Ð’Ñ‹ не в белом ÑпиÑке Ñервера. server.kicked.serverClose = Сервер закрыт. @@ -191,7 +235,7 @@ hostserver = ЗапуÑтить многопользовательÑкий Ñе invitefriends = ПриглаÑить друзей hostserver.mobile = ЗапуÑтить Ñервер host = Открыть Ñервер -hosting = [accent]Открытие Ñервера… +hosting = [accent]Открытие Ñервера... hosts.refresh = Обновить hosts.discovering = ПоиÑк локальных игр hosts.discovering.any = ПоиÑк игр @@ -200,21 +244,32 @@ hosts.none = [lightgray]Локальных игр не обнаружено! host.invalid = [scarlet]Ðе удаётÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÑŒÑÑ Ðº хоÑту. servers.local = Локальные Ñерверы +servers.local.steam = Открытые игры и локальные Ñерверы servers.remote = Удалённые Ñерверы servers.global = Серверы ÑообщеÑтва - servers.disclaimer = Серверы ÑообщеÑтва [accent]не[] принадлежат разработчику и [accent]не[] контролируютÑÑ Ð¸Ð¼.\n\nСерверы могут Ñодержать пользовательÑкий контент, который не подходит Ð´Ð»Ñ Ð²Ñех возраÑтов. servers.showhidden = Отображать Ñкрытые Ñерверы server.shown = ОтображаетÑÑ server.hidden = Скрыт +viewplayer = ОтÑлеживаем игрока: [accent]{0} trace = ОтÑлеживать игрока trace.playername = Ð˜Ð¼Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ°: [accent]{0} trace.ip = IP: [accent]{0} trace.id = ID: [accent]{0} +trace.language = Язык: [accent]{0} trace.mobile = Мобильный клиент: [accent]{0} trace.modclient = ПользовательÑкий клиент: [accent]{0} +trace.times.joined = ПриÑоединÑлÑÑ Ñ€Ð°Ð·: [accent]{0} +trace.times.kicked = Был выгнан раз: [accent]{0} +trace.ips = Ð’Ñе IP: +trace.names = Ð’Ñе имена: invalidid = ÐедопуÑтимый ID клиента! Отправьте отчёт об ошибке. +player.ban = Заблокировать +player.kick = Выгнать +player.trace = ОтÑлеживать +player.admin = Переключить админиÑтратора +player.team = Сменить команду server.bans = Блокировки server.bans.none = Заблокированных игроков нет! server.admins = ÐдминиÑтраторы @@ -228,27 +283,30 @@ server.version = [gray]ВерÑиÑ: {0} {1} server.custombuild = [accent]ПользовательÑÐºÐ°Ñ Ñборка confirmban = Ð’Ñ‹ дейÑтвительно хотите заблокировать игрока «{0}[white]»? confirmkick = Ð’Ñ‹ дейÑтвительно хотите выгнать игрока «{0}[white]»? -confirmvotekick = Ð’Ñ‹ дейÑтвительно хотите голоÑованием выгнать игрока «{0}[white]»? confirmunban = Ð’Ñ‹ дейÑтвительно хотите разблокировать Ñтого игрока? confirmadmin = Ð’Ñ‹ дейÑтвительно хотите Ñделать игрока «{0}[white]» админиÑтратором? confirmunadmin = Ð’Ñ‹ дейÑтвительно хотите убрать игрока «{0}[white]» из админиÑтраторов? +votekick.reason = Причина голоÑÐ¾Ð²Ð°Ð½Ð¸Ñ +votekick.reason.message = Ð’Ñ‹ уверены, что хотите голоÑованием выгнать "{0}[white]"?\nЕÑли да, введите причину: joingame.title = ПриÑоединитьÑÑ Ðº игре -joingame.ip = ÐдреÑ: +joingame.ip = IP: disconnect = Отключено. disconnect.error = Ошибка ÑоединениÑ. disconnect.closed = Соединение закрыто. disconnect.timeout = Ð’Ñ€ÐµÐ¼Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸Ñтекло. disconnect.data = Ошибка при загрузке данных мира! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Ðе удаётÑÑ Ð¿Ñ€Ð¸ÑоединитьÑÑ Ðº игре ([accent]{0}[]). -connecting = [accent]Подключение… -reconnecting = [accent]Переподключение… -connecting.data = [accent]Загрузка данных мира… +connecting = [accent]Подключение... +reconnecting = [accent]Переподключение... +connecting.data = [accent]Загрузка данных мира... server.port = Порт: -server.addressinuse = Данный Ð°Ð´Ñ€ÐµÑ ÑƒÐ¶Ðµ иÑпользуетÑÑ! server.invalidport = Ðеверный номер порта! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [scarlet]Ошибка ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ñервера. save.new = Ðовое Ñохранение save.overwrite = Ð’Ñ‹ уверены, что хотите перезапиÑать\nÑтот Ñлот Ð´Ð»Ñ ÑохранениÑ? +save.nocampaign = Отдельные ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð¸Ð· кампании не могут быть импортированы. overwrite = ПерезапиÑать save.none = Ð¡Ð¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð½Ðµ найдены! savefail = Ðе удалоÑÑŒ Ñохранить игру! @@ -269,6 +327,7 @@ save.corrupted = [accent]Сохранённый файл повреждён ил empty = <пуÑто> on = Вкл off = Выкл +save.search = ПоиÑк Ñохранений... save.autosave = ÐвтоÑохранение: {0} save.map = Карта: {0} save.wave = Волна {0} @@ -284,9 +343,31 @@ ok = ОК open = Открыть customize = ÐаÑтроить правила cancel = Отмена +command = Командовать +command.queue = [lightgray][Queuing] +command.mine = Добывать +command.repair = Ремонтировать +command.rebuild = ВоÑÑтанавливать +command.assist = Помогать игроку +command.move = ДвигатьÑÑ +command.boost = Лететь +command.enterPayload = Войти в грузовой блок +command.loadUnits = Загрузить единицы +command.loadBlocks = Загрузить поÑтройки +command.unloadPayload = Выгрузить груз +command.loopPayload = Loop Unit Transfer +stance.stop = Отменить команду +stance.shoot = Положение: СтрелÑть +stance.holdfire = Положение: Удерживать огонь +stance.pursuetarget = Положение: ПреÑледовать цель +stance.patrol = Положение: Патрулировать путь +stance.ram = Положение: Таран\n[lightgray]Движение по прÑмой, без поиÑка пути + openlink = Открыть ÑÑылку copylink = Скопировать ÑÑылку back = Ðазад +max = Заполнить полноÑтью +objective = Цель карты crash.export = ЭкÑпорт отчёта об ошибках crash.none = Отчёты об ошибках не найдены. crash.exported = Отчёты об ошибках ÑкÑпортированы. @@ -295,24 +376,26 @@ data.import = Импортировать данные data.openfolder = Открыть папку Ñ Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ data.exported = Данные ÑкÑпортированы. data.invalid = Эти игровые данные ÑвлÑÑŽÑ‚ÑÑ Ð½ÐµÐ´ÐµÐ¹Ñтвительными. -data.import.confirm = Импорт внешних данных Ñотрёт[scarlet] вÑе[] ваши игровые данные.\n[accent]Это не может быть отменено![]\n\nКак только данные импортированы, ваша игра немедленно закроетÑÑ. +data.import.confirm = Импорт внешних данных Ñотрёт[scarlet] вÑе[] ваши игровые данные.\n[accent]Это не может быть отменено![]\n\nКак только данные будут импортированы, ваша игра немедленно закроетÑÑ. quit.confirm = Ð’Ñ‹ уверены, что хотите выйти? -quit.confirm.tutorial = Ð’Ñ‹ уверены, что знаете, что делаете?\nОбучение может быть повторно запущено через[accent] ÐаÑтройки->Игра->Открыть обучение.[] -loading = [accent]Загрузка… -reloading = [accent]Перезагрузка модификаций… -saving = [accent]Сохранение… +loading = [accent]Загрузка... +downloading = [accent]Скачивание... +saving = [accent]Сохранение... respawn = [accent][[{0}][] Ð´Ð»Ñ Ð²Ð¾Ð·Ñ€Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¸Ð· Ñдра cancelbuilding = [accent][[{0}][] Ð´Ð»Ñ Ð¾Ñ‡Ð¸Ñтки плана selectschematic = [accent][[{0}][] выделить и Ñкопировать pausebuilding = [accent][[{0}][] Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¾Ñтановки ÑтроительÑтва resumebuilding = [scarlet][[{0}][] Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ ÑтроительÑтва +enablebuilding = [scarlet][[{0}][] Ð´Ð»Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ ÑтроительÑтва showui = Ð˜Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ñкрыт.\nÐажмите [accent][[{0}][] Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñа. +commandmode.name = [accent]Режим ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð²Ð°Ð½Ð¸Ñ +commandmode.nounits = [нет единиц] wave = [accent]Волна {0} wave.cap = [accent]Волна {0}/{1} wave.waiting = [lightgray]Волна через {0} wave.waveInProgress = [lightgray]Волна продолжаетÑÑ -waiting = [lightgray]Ожидание… -waiting.players = Ожидание игроков… +waiting = [lightgray]Ожидание... +waiting.players = Ожидание игроков... wave.enemies = [lightgray]Враги: {0} wave.enemycores = [lightgray]ВражеÑких Ñдер: [accent]{0} wave.enemycore = [accent]{0}[lightgray] вражеÑкое Ñдро @@ -326,9 +409,9 @@ custom = ПользовательÑÐºÐ°Ñ builtin = Ð’ÑÑ‚Ñ€Ð¾ÐµÐ½Ð½Ð°Ñ map.delete.confirm = Ð’Ñ‹ дейÑтвительно хотите удалить Ñту карту? Это дейÑтвие не может быть отменено! map.random = [accent]Ð¡Ð»ÑƒÑ‡Ð°Ð¹Ð½Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° -map.nospawn = Эта карта не имеет ни одного Ñдра, в котором игрок может поÑвитьÑÑ! Добавьте[accent] оранжевое[] Ñдро на Ñту карту в редакторе. -map.nospawn.pvp = У Ñтой карты нет вражеÑких Ñдер, в которых игрок может поÑвитьÑÑ! Добавьте[scarlet] не оранжевое[] Ñдро на Ñту карту в редакторе. -map.nospawn.attack = У Ñтой карты нет вражеÑких Ñдер Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸ игроком! Добавьте[scarlet] краÑное[] Ñдро на Ñту карту в редакторе. +map.nospawn = Ðа Ñтой карте ни одного Ñдра, в котором игрок может поÑвитьÑÑ! Добавьте Ñдро команды {0} на Ñту карту в редакторе. +map.nospawn.pvp = Ðа Ñтой карте нет вражеÑких Ñдер, в которых игрок может поÑвитьÑÑ! Добавьте [scarlet]вражеÑкое[] Ñдро на Ñту карту в редакторе. +map.nospawn.attack = Ðа Ñтой карте нет вражеÑких Ñдер Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸ игроком! Добавьте Ñдро команды {0} на Ñту карту в редакторе. map.invalid = Ошибка загрузки карты: повреждённый или недопуÑтимый файл карты. workshop.update = Обновить Ñодержимое workshop.error = Ошибка загрузки информации из МаÑтерÑкой: {0} @@ -336,12 +419,17 @@ map.publish.confirm = Ð’Ñ‹ уверены, что хотите опублико workshop.menu = Выберите, что вы хотите Ñделать Ñ Ñтим предметом. workshop.info = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ предмете changelog = СпиÑок изменений (необÑзательно): +updatedesc = ПерезапиÑать заголовок и опиÑание eula = Лицензионное Ñоглашение Steam Ñ ÐºÐ¾Ð½ÐµÑ‡Ð½Ñ‹Ð¼ пользователем missing = Этот предмет был удалён или перемещён.\n[lightgray]ÐŸÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ñ Ð² МаÑтерÑкой была автоматичеÑки удалена. -publishing = [accent]Отправка… +publishing = [accent]Отправка... publish.confirm = Ð’Ñ‹ уверены, что хотите опубликовать Ñтот предмет?\n\n[lightgray]УбедитеÑÑŒ, что вы ÑоглаÑны Ñ EULA МаÑтерÑкой, иначе ваши предметы не будут отображатьÑÑ! publish.error = Ошибка отправки предмета: {0} steam.error = Ðе удалоÑÑŒ инициализировать ÑервиÑÑ‹ Steam.\nОшибка: {0} +editor.planet = Планета: +editor.sector = Сектор: +editor.seed = Сид: +editor.cliffs = Создать Ñкалы из Ñтен editor.brush = КиÑть editor.openin = Открыть в редакторе @@ -354,66 +442,109 @@ editor.nodescription = Чтобы опубликовать карту, она д editor.waves = Волны: editor.rules = Правила: editor.generation = ГенерациÑ: +editor.objectives = Цели +editor.locales = Ðаборы локалей +editor.worldprocessors = Мировые процеÑÑоры +editor.worldprocessors.editname = Изменить название +editor.worldprocessors.none = [lightgray]Ðе найдено ни одного блока мирового процеÑÑора\nДобавьте его в редакторе карт или воÑпользуйтеÑÑŒ кнопкой "\ue813 Добавить" ниже. +editor.worldprocessors.nospace = Ðет Ñвободного меÑта Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð¼Ð¸Ñ€Ð¾Ð²Ð¾Ð³Ð¾ процеÑÑора!\n Возможно на карте вÑÑ‘ занÑто Ñтруктурами +editor.worldprocessors.delete.confirm = Ð’Ñ‹ уверены, что хотите удалить Ñтот мировой процеÑÑор?\n\nЕÑли он окружен Ñтенами, он будет заменен Ñтеной окружениÑ. editor.ingame = Редактировать в игре +editor.playtest = Опробовать карту editor.publish.workshop = Опубликовать в МаÑтерÑкой editor.newmap = ÐÐ¾Ð²Ð°Ñ ÐºÐ°Ñ€Ñ‚Ð° editor.center = Центрировать +editor.search = ПоиÑк карт... +editor.filters = Фильтры +editor.filters.mode = Режимы игры: +editor.filters.type = Тип карты +editor.filters.search = ИÑкать по +editor.filters.author = Ðвтору +editor.filters.description = ОпиÑанию +editor.shiftx = Сдвиг по X +editor.shifty = Сдвиг по Y workshop = МаÑтерÑÐºÐ°Ñ waves.title = Волны waves.remove = Удалить -waves.never = ∞ waves.every = каждый waves.waves = волна(Ñ‹) +waves.health = прочноÑть: {0}% waves.perspawn = за поÑвление waves.shields = ед. щита/волну -waves.to = к +waves.to = до +waves.spawn = точка поÑвлениÑ: +waves.spawn.all = <везде> +waves.spawn.select = Выбрать точку поÑÐ²Ð»ÐµÐ½Ð¸Ñ +waves.spawn.none = [scarlet]не обнаружено точек поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð½Ð° карте! +waves.max = макÑимум единиц waves.guardian = Страж waves.preview = Предварительный проÑмотр -waves.edit = Редактировать… +waves.edit = Редактировать... +waves.random = Случайно waves.copy = Копировать в буфер обмена waves.load = Загрузить из буфера обмена waves.invalid = Ðеверные волны в буфере обмена. waves.copied = Волны Ñкопированы. waves.none = Враги не были определены.\nОбратите внимание, что пуÑтые волны будут автоматичеÑки заменены обычной волной. +waves.sort = Сортировать по +waves.sort.reverse = ÐžÐ±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ñортировка +waves.sort.begin = Ðачало +waves.sort.health = Здоровье +waves.sort.type = Тип +waves.search = ПоиÑк волн... +waves.filter = Фильтр единиц +waves.units.hide = Скрыть вÑе +waves.units.show = Показать вÑе -#these are intentionally in lower case +#они намеренно напиÑаны в нижнем региÑтре wavemode.counts = количеÑтво единиц wavemode.totals = вÑего единиц -wavemode.health = вÑего Ð·Ð´Ð¾Ñ€Ð¾Ð²ÑŒÑ +wavemode.health = вÑего прочноÑти +all = вÑего editor.default = [lightgray]<По умолчанию> -details = ПодробноÑти… -edit = Редактировать… +details = ПодробноÑти... +edit = Редактировать... +variables = Переменные +logic.clear.confirm = Ð’Ñ‹ уверены, что хотите удалить веÑÑŒ код из Ñтого процеÑÑора? + +logic.globals = Ð’Ñтроенные переменные editor.name = Ðазвание: editor.spawn = Создать боевую единицу editor.removeunit = Удалить боевую единицу editor.teams = Команды editor.errorload = Ошибка загрузки файла. editor.errorsave = Ошибка ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°. -editor.errorimage = Это изображение, а не карта.\n\nЕÑли вы хотите импортировать карту верÑии 3.5/40 Ñборки, то иÑпользуйте кнопку [accent][Импортировать уÑтаревшую карту][] в редакторе. +editor.errorimage = Это изображение, а не карта. editor.errorlegacy = Эта карта Ñлишком ÑÑ‚Ð°Ñ€Ð°Ñ Ð¸ иÑпользует уÑтаревший формат карты, который больше не поддерживаетÑÑ. editor.errornot = Это не файл карты. editor.errorheader = Этот файл карты недейÑтвителен или повреждён. editor.errorname = Карта не имеет имени. Может быть, вы пытаетеÑÑŒ загрузить Ñохранение? +editor.errorlocales = Ошибка при чтении недопуÑтимых наборов локалей. editor.update = Обновить editor.randomize = Случайно +editor.moveup = Выше +editor.movedown = Ðиже +editor.copy = Копировать editor.apply = Применить editor.generate = Сгенери-\nровать +editor.sectorgenerate = Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñектора editor.resize = Изменить\nразмер editor.loadmap = Загрузить\nкарту editor.savemap = Сохранить\nкарту +editor.savechanges = [scarlet]У Ð²Ð°Ñ ÐµÑть неÑохраненные изменениÑ!\n\n[]Ð’Ñ‹ хотите Ñохранить их? editor.saved = Сохранено! editor.save.noname = У вашей карты нет имени! Ðазовите её в меню Â«Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ карте». editor.save.overwrite = Ваша карта не может быть запиÑана поверх вÑтроенной карты! Введите другое название в меню Â«Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ карте» editor.import.exists = [scarlet]Ðе удалоÑÑŒ импортировать:[] карта Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ «{0}» уже ÑущеÑтвует! -editor.import = Импорт… +editor.import = Импорт... editor.importmap = Импортировать карту editor.importmap.description = Импортировать уже ÑущеÑтвующую карту editor.importfile = Импортировать файл editor.importfile.description = Импортировать файл карты извне editor.importimage = Импортировать файл Ð¸Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ editor.importimage.description = Импортировать изображение карты извне -editor.export = ЭкÑпорт… +editor.export = ЭкÑпорт... editor.exportfile = ЭкÑпортировать файл editor.exportfile.description = ЭкÑпорт файла карты editor.exportimage = ЭкÑпортировать ландшафт @@ -432,18 +563,23 @@ toolmode.replace = Заменить toolmode.replace.description = РиÑует только\nна Ñплошных блоках. toolmode.replaceall = Заменить вÑÑ‘ toolmode.replaceall.description = ЗаменÑет вÑе\nблоки на карте. -toolmode.orthogonal = ÐžÑ€Ñ‚Ð¾Ð³Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ -toolmode.orthogonal.description = РиÑует только\nортогональные линии. +toolmode.orthogonal = ПрÑÐ¼Ð¾ÑƒÐ³Ð¾Ð»ÑŒÐ½Ð°Ñ +toolmode.orthogonal.description = РиÑует только\nпрÑмоугольные линии. toolmode.square = Квадрат toolmode.square.description = ÐšÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¸Ñть. toolmode.eraseores = Стереть руды -toolmode.eraseores.description = Стереть только руды. +toolmode.eraseores.description = Стирает только руды. toolmode.fillteams = Изменить команду блоков toolmode.fillteams.description = ИзменÑет принадлежноÑть\nблоков к команде. +toolmode.fillerase = Стереть заливкой +toolmode.fillerase.description = Стирает вÑе блоки\nодного типа. toolmode.drawteams = Изменить команду блока toolmode.drawteams.description = ИзменÑет принадлежноÑть\nблока к команде. +toolmode.underliquid = Под жидкоÑÑ‚Ñми +toolmode.underliquid.description = РиÑует пол под плитками жидкоÑти. filters.empty = [lightgray]Ðет фильтров! Добавьте один при помощи кнопки ниже. + filter.distort = ИÑкажение filter.noise = Шум filter.enemyspawn = Случайный выбор \nточек выÑадки @@ -460,6 +596,8 @@ filter.clear = ОчиÑтить filter.option.ignore = Игнорировать filter.scatter = СеÑтель filter.terrain = Ландшафт +filter.logic = Логика + filter.option.scale = МаÑштаб фильтра filter.option.chance = Ð¨Ð°Ð½Ñ filter.option.mag = Сила Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ @@ -468,17 +606,39 @@ filter.option.circle-scale = МаÑштаб круга filter.option.octaves = ЦикличноÑть Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ filter.option.falloff = Спад цикличноÑти filter.option.angle = Угол +filter.option.tilt = Ðаклон +filter.option.rotate = Повернуть filter.option.amount = КоличеÑтво filter.option.block = Блок filter.option.floor = ПоверхноÑть filter.option.flooronto = Ð¦ÐµÐ»ÐµÐ²Ð°Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñть filter.option.target = Цель +filter.option.replacement = Замена filter.option.wall = Стена filter.option.ore = Руда filter.option.floor2 = Ð’Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ð¾Ñть filter.option.threshold2 = Вторичный предельный порог filter.option.radius = Ð Ð°Ð´Ð¸ÑƒÑ filter.option.percentile = Процентиль +filter.option.code = Код +filter.option.loop = Цикл +locales.info = ЗдеÑÑŒ вы можете добавить на карту наборы локалей Ð´Ð»Ñ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ñ‹Ñ… Ñзыков. Ð’ наборах локалей каждое ÑвойÑтво имеет Ð¸Ð¼Ñ Ð¸ значение. Эти ÑвойÑтва могут иÑпользоватьÑÑ Ð¼Ð¸Ñ€Ð¾Ð²Ñ‹Ð¼Ð¸ процеÑÑорами и целÑми по их именам. Они поддерживают форматирование текÑта (заменÑÑ Ð¿Ñ€Ð¾Ð¿ÑƒÑки реальными значениÑми).\n\n[cyan]Пример ÑвойÑтва:\n[]name: [accent]timer[]\nvalue: [accent]Пример таймера, оÑтавшееÑÑ Ð²Ñ€ÐµÐ¼Ñ: {0}[]\n\n[cyan]ИÑпользование:\n[]УÑтановите его как текÑÑ‚ цели: [accent]@timer\n\n[]Введите его в мировом процеÑÑоре:\n[accent]localeprint «timer»\nformat time\n[gray] (где time - отдельно вычиÑлÑÐµÐ¼Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ) +locales.deletelocale = Ð’Ñ‹ уверены, что хотите удалить Ñтот набор локалей? +locales.applytoall = Применить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÐºÐ¾ вÑем локалÑм +locales.addtoother = Добавить в другие локали +locales.rollback = Откат к поÑледнему примененному значению +locales.filter = Фильтр ÑвойÑтв +locales.searchname = ПоиÑк по имени... +locales.searchvalue = ПоиÑк значениÑ... +locales.searchlocale = ПоиÑк локали... +locales.byname = По имени +locales.byvalue = По значению +locales.showcorrect = Показать ÑвойÑтва, которые приÑутÑтвуют во вÑех локалÑÑ… и имеют везде уникальные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ +locales.showmissing = Показать ÑвойÑтва, отÑутÑтвующие в некоторых локалÑÑ… +locales.showsame = Показать ÑвойÑтва, которые имеют одинаковые Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² разных локалÑÑ… +locales.viewproperty = Смотреть во вÑех локалÑÑ… +locales.viewing = ПроÑмотр ÑвойÑтва "{0}" +locales.addicon = Добавить иконку width = Ширина: height = Ð’Ñ‹Ñота: @@ -489,8 +649,9 @@ load = Загрузить save = Сохранить fps = FPS: {0} ping = Пинг: {0}Ð¼Ñ -memory = Mem: {0}mb -memory2 = Mem:\n {0}mb +\n {1}mb +tps = TPS: {0} +memory = Mem: {0}МБ +memory2 = Mem:\n {0}МБ +\n {1}МБ language.restart = Перезагрузите игру, чтобы Ñзыковые наÑтройки вÑтупили в Ñилу. settings = ÐаÑтройки tutorial = Обучение @@ -507,21 +668,70 @@ requirement.core = Уничтожьте вражеÑкое Ñдро в зоне requirement.research = ИÑÑледуйте {0} requirement.produce = Произведите {0} requirement.capture = Захватите {0} +requirement.onplanet = Возьмите Ñектор под контроль на {0} +requirement.onsector = Ð’Ñ‹ÑадитеÑÑŒ на Ñектор: {0} launch.text = Ð’Ñ‹Ñадка -research.multiplayer = Только хоÑÑ‚ может иÑÑледовать предметы. map.multiplayer = Только хоÑÑ‚ может проÑматривать Ñекторы. uncover = РаÑкрыть configure = ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð²Ñ‹Ð³Ñ€ÑƒÐ·ÐºÐ¸ +objective.research.name = ИÑÑледовать +objective.produce.name = ПроизвеÑти +objective.item.name = ПроизвеÑти предмет +objective.coreitem.name = ПеремеÑтить в Ñдро +objective.buildcount.name = КоличеÑтво поÑтроек +objective.unitcount.name = КоличеÑтво единиц +objective.destroyunits.name = Уничтожить единицы +objective.timer.name = Таймер +objective.destroyblock.name = Уничтожить блок +objective.destroyblocks.name = Уничтожить блоки +objective.destroycore.name = Уничтожить Ñдро +objective.commandmode.name = Командовать единицей +objective.flag.name = Флаг +marker.shapetext.name = Фигура Ñ Ñ‚ÐµÐºÑтом +marker.point.name = Точка +marker.shape.name = Фигура +marker.text.name = ТекÑÑ‚ +marker.line.name = Ð›Ð¸Ð½Ð¸Ñ +marker.quad.name = Четырёхугольник +marker.texture.name = ТекÑтура +marker.background = Фон +marker.outline = Контур +objective.research = [accent]ИÑÑледуйте:\n[]{0}[lightgray]{1} +objective.produce = [accent]Произведите:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Уничтожьте:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Уничтожьте: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Получите: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]ПеремеÑтите в Ñдро:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]ПоÑтройте: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Произведите боевую единицу: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Уничтожьте: [][lightgray]{0}[]x боевых единиц +objective.enemiesapproaching = [accent]Враги прибудут через [lightgray]{0}[] +objective.enemyescelating = [accent]ВражеÑкое производÑтво возраÑтет через [lightgray]{0}[] +objective.enemyairunits = [accent]ПроизводÑтво вражеÑких воздушных единиц начнетÑÑ Ñ‡ÐµÑ€ÐµÐ· [lightgray]{0}[] +objective.destroycore = [accent]Уничтожьте вражеÑкое Ñдро +objective.command = [accent]Дайте команду боевым единицам +objective.nuclearlaunch = [accent]âš  Обнаружен Ñдерный удар: [lightgray]{0} +announce.nuclearstrike = [red]âš  ПРИБЛИЖÐЕТСЯ ЯДЕРÐЫЙ УДÐР âš \n[lightgray]Ñоздайте резервные Ñдра немедленно loadout = Груз resources = РеÑурÑÑ‹ +resources.max = МакÑимум bannedblocks = Запрещённые блоки +unbannedblocks = Unbanned Blocks +objectives = Цели +bannedunits = Запрещённые единицы +unbannedunits = Unbanned Units +bannedunits.whitelist = Запрещенные единицы как белый ÑпиÑок +bannedblocks.whitelist = Запрещенные блоки как белый ÑпиÑок addall = Добавить вÑÑ‘ launch.from = ЗапуÑк из: [accent]{0} +launch.capacity = ВмеÑтимоÑть запуÑкаемого предмета: [accent]{0} launch.destination = МеÑто назначениÑ: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = КоличеÑтво должно быть чиÑлом между 0 и {0}. -add = Добавить… -boss.health = Здоровье Ñтража +add = Добавить... +guardian = Страж connectfail = [scarlet]Ошибка подключениÑ:\n\n[accent]{0} error.unreachable = Сервер недоÑтупен.\nÐ’Ñ‹ уверены, что Ð°Ð´Ñ€ÐµÑ Ð²Ð²ÐµÐ´Ñ‘Ð½ корректно? @@ -533,17 +743,24 @@ error.mapnotfound = Файл карты не найден! error.io = Ð¡ÐµÑ‚ÐµÐ²Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° ввода-вывода. error.any = ÐеизвеÑÑ‚Ð½Ð°Ñ ÑÐµÑ‚ÐµÐ²Ð°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ°. error.bloom = Ðе удалоÑÑŒ инициализировать Ñвечение (Bloom).\nВозможно, ваше уÑтройÑтво не поддерживает его. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Дождь -weather.snow.name = Снегопад -weather.sandstorm.name = ÐŸÑ‹Ð»ÑŒÐ½Ð°Ñ Ð±ÑƒÑ€Ñ +weather.snowing.name = Снегопад +weather.sandstorm.name = ПеÑÑ‡Ð°Ð½Ð°Ñ Ð±ÑƒÑ€Ñ weather.sporestorm.name = Ð¡Ð¿Ð¾Ñ€Ð¾Ð²Ð°Ñ Ð±ÑƒÑ€Ñ weather.fog.name = Туман +campaign.playtime = \uf129 [lightgray]Общее Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ñ‹: {0} +campaign.complete = [accent]ПоздравлÑем.\n\nВражеÑÐºÐ°Ñ Ñ„Ñ€Ð°ÐºÑ†Ð¸Ñ Ð½Ð° планете {0} была повержена.\n[lightgray]ПоÑледний вражеÑкий Ñектор был захвачен. + +sectorlist = Секторы +sectorlist.attacked = {0} под атакой sectors.unexplored = [lightgray]Ðе иÑÑледовано sectors.resources = РеÑурÑÑ‹: sectors.production = Производит: sectors.export = ЭкÑпорт: +sectors.import = Импорт: sectors.time = ВремÑ: sectors.threat = Угроза: sectors.wave = Волна: @@ -551,30 +768,45 @@ sectors.stored = Ðакоплено: sectors.resume = Продолжить sectors.launch = Ð’Ñ‹Ñадка sectors.select = Выбор +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]нет (Ñолнце) +sectors.redirect = Redirect Launch Pads sectors.rename = Переименовать Ñектор sectors.enemybase = [scarlet]ВражеÑÐºÐ°Ñ Ð±Ð°Ð·Ð° sectors.vulnerable = [scarlet]УÑзвим sectors.underattack = [scarlet]Ðтакован! [accent]{0}% повреждений +sectors.underattack.nodamage = [scarlet]Ðе захвачен sectors.survives = [accent]ПродержитÑÑ {0} волн(Ñ‹) sectors.go = Перейти +sector.abandon = Покинуть +sector.abandon.confirm = Ð’Ñе Ñдра данного Ñектора будут Ñамоуничтожены.\nПродолжить? sector.curcapture = Сектор захвачен sector.curlost = Сектор потерÑн sector.missingresources = [scarlet]ÐедоÑтаточно реÑурÑов Ð´Ð»Ñ Ð²Ñ‹Ñадки sector.attacked = Сектор [accent]{0}[white] атакован! sector.lost = Сектор [accent]{0}[white] потерÑн! -#note: the missing space in the line below is intentional (недоÑтающий пробел управлÑетÑÑ ÐºÐ¾Ð´Ð¾Ð¼) -sector.captured = Сектор [accent]{0}[white]захвачен! +sector.capture = Сектор [accent]{0}[white] захвачен! +sector.capture.current = Сектор захвачен! +sector.changeicon = Изменить иконку +sector.noswitch.title = Перемещение между Ñекторами +sector.noswitch = Ð’Ñ‹ не можете переключатьÑÑ Ð¼ÐµÐ¶Ð´Ñƒ Ñекторами, пока ÑущеÑтвующий Ñектор находитÑÑ Ð¿Ð¾Ð´ атакой.\n\nСектор: [accent]{0}[] на [accent]{1}[] +sector.view = ПроÑмотр Ñектора threat.low = ÐÐ¸Ð·ÐºÐ°Ñ threat.medium = СреднÑÑ threat.high = Ð’Ñ‹ÑÐ¾ÐºÐ°Ñ threat.extreme = ЭкÑÑ‚Ñ€ÐµÐ¼Ð°Ð»ÑŒÐ½Ð°Ñ threat.eradication = ИÑтреблÑÑŽÑ‰Ð°Ñ +difficulty.casual = Casual +difficulty.easy = Ð›Ñ‘Ð³ÐºÐ°Ñ +difficulty.normal = ÐÐ¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ +difficulty.hard = Ð¡Ð»Ð¾Ð¶Ð½Ð°Ñ +difficulty.eradication = ИÑтреблÑÑŽÑ‰Ð°Ñ planets = Планеты planet.serpulo.name = Серпуло +planet.erekir.name = Эрекир planet.sun.name = Солнце sector.impact0078.name = Крушение 0078 @@ -592,24 +824,101 @@ sector.fungalPass.name = Грибной перевал sector.biomassFacility.name = Центр иÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¸Ð¾Ð¼Ð°ÑÑÑ‹ sector.windsweptIslands.name = Штормовой архипелаг sector.extractionOutpost.name = Ð”Ð¾Ð±Ñ‹Ð²Ð°ÑŽÑ‰Ð°Ñ Ð±Ð°Ð·Ð° +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Планетарный пуÑковой терминал +sector.coastline.name = Ð‘ÐµÑ€ÐµÐ³Ð¾Ð²Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ +sector.navalFortress.name = ÐŸÑ€Ð¸Ð±Ñ€ÐµÐ¶Ð½Ð°Ñ ÐºÑ€ÐµÐ¿Ð¾Ñть +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -sector.groundZero.description = ÐžÐ¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð»Ð¾ÐºÐ°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ñ‹Ñ… игр. ÐÐ¸Ð·ÐºÐ°Ñ Ð²Ñ€Ð°Ð¶ÐµÑÐºÐ°Ñ ÑƒÐ³Ñ€Ð¾Ð·Ð°. Ðемного реÑурÑов.\nСоберите как можно больше Ñвинца и меди.\nДвигайтеÑÑŒ дальше. +sector.groundZero.description = ÐžÐ¿Ñ‚Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ Ð»Ð¾ÐºÐ°Ñ†Ð¸Ñ Ñ‡Ñ‚Ð¾Ð±Ñ‹ начать Ñначала. ÐÐ¸Ð·ÐºÐ°Ñ Ð²Ñ€Ð°Ð¶ÐµÑÐºÐ°Ñ ÑƒÐ³Ñ€Ð¾Ð·Ð°. Ðемного реÑурÑов.\nСоберите как можно больше Ñвинца и меди.\nДвигайтеÑÑŒ дальше. sector.frozenForest.description = Даже здеÑÑŒ, ближе к горам, Ñпоры раÑпроÑтранилиÑÑŒ. Холодные температуры не могут Ñдерживать их вечно.\n\nÐачните вкладыватьÑÑ Ð² Ñнергию. ПоÑтройте генераторы внутреннего ÑгораниÑ. ÐаучитеÑÑŒ пользоватьÑÑ Ñ€ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼. sector.saltFlats.description = Ðа окраине пуÑтыни лежат ÑолÑные равнины. Ð’ Ñтой меÑтноÑти можно найти немного реÑурÑов.\n\nВраги возвели здеÑÑŒ ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑов. ИÑкорените их Ñдро. Ðе оÑтавьте ÐºÐ°Ð¼Ð½Ñ Ð½Ð° камне. sector.craters.description = Вода ÑкопилаÑÑŒ в Ñтом кратере, реликвии времён Ñтарых войн. ВоÑÑтановите облаÑть. Соберите пеÑок. Выплавьте метаÑтекло. Качайте воду Ð´Ð»Ñ Ð¾Ñ…Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ Ñ‚ÑƒÑ€ÐµÐ»ÐµÐ¹ и буров. sector.ruinousShores.description = Мимо пуÑтошей проходит Ð±ÐµÑ€ÐµÐ³Ð¾Ð²Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ. Когда-то здеÑÑŒ раÑполагалÑÑ Ð¼Ð°ÑÑив береговой обороны. Ðе так много от него оÑталоÑÑŒ. Только Ñамые базовые оборонительные ÑÐ¾Ð¾Ñ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¾ÑталиÑÑŒ невредимыми, вÑÑ‘ оÑтальное превратилоÑÑŒ в металлолом.\nПродолжайте ÑкÑпанÑию вовне. Переоткройте Ð´Ð»Ñ ÑÐµÐ±Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ð¸. sector.stainedMountains.description = Дальше, вглубь меÑтноÑти, лежат горы, еще не запÑтнанные Ñпорами.\nИзвлеките изобилие титана в Ñтой облаÑти. ÐаучитеÑÑŒ им пользоватьÑÑ.\n\nВражеÑкое приÑутÑтвие здеÑÑŒ Ñильнее. Ðе дайте им времени Ð´Ð»Ñ Ð¾Ñ‚Ð¿Ñ€Ð°Ð²ÐºÐ¸ Ñвоих Ñильнейших боевых единиц. sector.overgrowth.description = Эта зароÑÑˆÐ°Ñ Ð¾Ð±Ð»Ð°Ñть находитÑÑ Ð±Ð»Ð¸Ð¶Ðµ к иÑточнику Ñпор.\nВраг организовал здеÑÑŒ форпоÑÑ‚. ПоÑтройте боевые единицы «Булава». Уничтожьте его. Верните то, что было потерÑно. -sector.tarFields.description = Окраина зоны нефтедобычи, между горами и пуÑтыней. Один из немногих районов Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼Ð¸ запаÑами дёгтÑ.\nÐ¥Ð¾Ñ‚Ñ Ñта облаÑть заброшена, в ней поблизоÑти приÑутÑтвуют некоторые опаÑные вражеÑкие Ñилы. Ðе Ñтоит их недооценивать.\n\n[lightgray]ИÑÑледуйте технологию переработки нефти, еÑли возможно. +sector.tarFields.description = Окраина зоны нефтедобычи, между горами и пуÑтыней. Один из немногих районов Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ñ‹Ð¼Ð¸ запаÑами нефти.\nÐ¥Ð¾Ñ‚Ñ Ñта облаÑть заброшена, в ней поблизоÑти приÑутÑтвуют некоторые опаÑные вражеÑкие Ñилы. Ðе Ñтоит их недооценивать.\n\n[lightgray]ИÑÑледуйте технологию переработки нефти, еÑли возможно. sector.desolateRift.description = Чрезвычайно опаÑÐ½Ð°Ñ Ð·Ð¾Ð½Ð°. Обилие реÑурÑов, но мало меÑта. Ð’Ñ‹Ñокий риÑк разрушениÑ. ЭвакуироватьÑÑ Ð½ÑƒÐ¶Ð½Ð¾ как можно Ñкорее. Ðе раÑÑлаблÑйтеÑÑŒ во Ð²Ñ€ÐµÐ¼Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… перерывов между вражеÑкими атаками. sector.nuclearComplex.description = Бывший завод по производÑтву и переработке ториÑ, превращенный в руины.\n[lightgray]ИÑÑледуйте торий и варианты его многочиÑленного применениÑ.\n\nВраг приÑутÑтвует здеÑÑŒ в большом чиÑле, поÑтоÑнно Ñ€Ð°Ð·Ð²ÐµÐ´Ñ‹Ð²Ð°Ñ Ð½Ð°Ð¿Ð°Ð´Ð°ÑŽÑ‰Ð¸Ñ…. sector.fungalPass.description = ÐŸÐµÑ€ÐµÑ…Ð¾Ð´Ð½Ð°Ñ Ð¾Ð±Ð»Ð°Ñть между выÑокими горами и более низкими, покрытыми Ñпорами землÑми. ЗдеÑÑŒ раÑположена Ð½ÐµÐ±Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ€Ð°Ð·Ð²ÐµÐ´Ñ‹Ð²Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð±Ð°Ð·Ð° противника.\nУничтожьте ее.\nИÑпользуйте единицы «Кинжал» и «Ползун». ДоÑтаньте до обоих Ñдер. sector.biomassFacility.description = ПервоиÑточник Ñпор. Объект, на котором они были иÑÑледованы и изначально получены.\nИÑÑледуйте технологию, находÑщуюÑÑ Ð²Ð½ÑƒÑ‚Ñ€Ð¸. Культивируйте Ñпоры Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва топлива и плаÑтмаÑÑ.\n\n[lightgray]ПоÑле развала Ñтого объекта Ñпоры оказалиÑÑŒ выброшены наружу. Ðичто в меÑтной ÑкоÑиÑтеме не могло Ñоперничать Ñ Ñ‚Ð°ÐºÐ¸Ð¼ агреÑÑивным организмом. -sector.windsweptIslands.description = Дальше за береговой линией проÑтираетÑÑ Ñта Ð¾Ñ‚Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñ‡ÐµÑ€ÐµÐ´Ð° оÑтровов. СоглаÑно запиÑÑм, когда-то они раÑполагали [accent]плаÑтано[]производÑщими ÑооружениÑми.\n\nОтбейтеÑÑŒ от морÑких Ñил противника. ОбоÑнуйте базу на оÑтровах. Изучите Ñти заводы. +sector.windsweptIslands.description = Дальше за береговой линией проÑтираетÑÑ Ñта Ð¾Ñ‚Ð´Ð°Ð»ÐµÐ½Ð½Ð°Ñ Ñ‡ÐµÑ€ÐµÐ´Ð° оÑтровов. СоглаÑно запиÑÑм, когда-то они раÑполагали [accent]плаÑтанопроизводÑщими[] ÑооружениÑми.\n\nОтбейтеÑÑŒ от морÑких Ñил противника. Возведите базу на оÑтровах. Изучите Ñти заводы. sector.extractionOutpost.description = Отдаленный аванпоÑÑ‚, поÑтроенный противником Ñ Ñ†ÐµÐ»ÑŒÑŽ переброÑки реÑурÑов в другие Ñекторы.\n\nМежÑÐµÐºÑ‚Ð¾Ñ€Ð½Ð°Ñ Ñ‚Ñ€Ð°Ð½ÑÐ¿Ð¾Ñ€Ñ‚Ð½Ð°Ñ Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ð¸Ñ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ð° Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ³Ð¾ завоеваниÑ. Уничтожьте базу. Изучите их пуÑковые площадки. sector.impact0078.description = ЗдеÑÑŒ лежат оÑтатки межзвездного транÑпортного Ñудна, первым вошедшего в Ñту ÑиÑтему.\n\nИзвлеките как можно больше из обломков. Изучите любую уцелевшую технологию. sector.planetaryTerminal.description = ÐšÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ñ†ÐµÐ»ÑŒ.\n\nЭта Ð±ÐµÑ€ÐµÐ³Ð¾Ð²Ð°Ñ Ð±Ð°Ð·Ð° Ñодержит Ñооружение, ÑпоÑобное запуÑкать Ñдра к окреÑтным планетам. Оно крайне хорошо охранÑетÑÑ.\n\nПроизведите морÑкие единицы. Уничтожьте врага как можно Ñкорее. Изучите пуÑковую конÑтрукцию. +sector.coastline.description = Ð’ Ñтом меÑте были обнаружены оÑтатки древней военно-морÑкой технологии. Отбейте атаки противника, захватите Ñтот Ñектор и изучите Ñту технологию. +sector.navalFortress.description = Враг возвел базу на удаленном оÑтрове Ñ ÐµÑтеÑтвенными укреплениÑми. Уничтожьте её. Овладейте их технологией по производÑтву кораблей и изучите ее. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = Ðачало +sector.aegis.name = Защита +sector.lake.name = Озеро +sector.intersect.name = ПереÑечение +sector.atlas.name = ÐÑ‚Ð»Ð°Ñ +sector.split.name = РаÑкол +sector.basin.name = Котловина +sector.marsh.name = Болото +sector.peaks.name = Пики +sector.ravine.name = Ущелье +sector.caldera-erekir.name = Кальдера +sector.stronghold.name = Цитадель +sector.crevice.name = РаÑщелина +sector.siege.name = ОÑада +sector.crossroads.name = РаÑпутье +sector.karst.name = КарÑÑ‚ +sector.origin.name = ИÑточник +sector.onset.description = Собирайте реÑурÑÑ‹, иÑÑледуйте технологии Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ð¸Ð¸ производÑтва.\nÐачните атаку. +sector.aegis.description = Ð’ Ñтом Ñекторе еÑть залежи вольфрама.\nИÑÑледуйте [accent]Ударную дрель[], чтобы добыть Ñтот реÑÑƒÑ€Ñ Ð¸ уничтожить вражеÑкую базу в Ñтом регионе. +sector.lake.description = Шлаковое озеро в Ñтом Ñекторе Ñильно ограничивает Ð²Ð°Ñ Ð² выборе боевых единиц. ЕдинÑтвенным вариантом ÑвлÑÑŽÑ‚ÑÑ Ð¿Ð°Ñ€Ñщие единицы.\nИÑÑледуйте [accent]Сборщик кораблей[] и произведите единицы [accent]Уклонение[] как можно Ñкорее. +sector.intersect.description = Сканирование предполагает, что Ñтот Ñектор будет атакован Ñ Ð½ÐµÑкольких Ñторон вÑкоре поÑле приземлениÑ.\nУÑтановите оборону и начните иÑÑледовать территорию как можно Ñкорее.\n[accent]Мехи[] потребуютÑÑ Ð´Ð»Ñ Ð¿Ñ€ÐµÐ¾Ð´Ð¾Ð»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÑеченной меÑтноÑти, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð¿Ñ€ÐµÐ¾Ð±Ð»Ð°Ð´Ð°ÐµÑ‚ в Ñтом регионе. +sector.atlas.description = МеÑтноÑть Ñтого Ñектора очень разнообразна и потребует различные типы боевых единиц Ð´Ð»Ñ Ñффективной атаки.\nУлучшенные боевые единицы также могут понадобитьÑÑ, чтобы обойти обнаруженные здеÑÑŒ вражеÑкие базы.\nИÑÑледуйте [accent]Электролизер[] и [accent]Рефабрикатор танков[]. +sector.split.description = Минимальное вражеÑкое приÑутÑтвие в Ñтом Ñекторе делает его идеальным Ð´Ð»Ñ Ñ‚ÐµÑÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ транÑпортной технологии. +sector.basin.description = Ð’ Ñтом Ñекторе обнаружено большое вражеÑкое приÑутÑтвие.\nКак можно Ñкорее произведите боевые единицы и захватите вражеÑкие Ñдра, чтобы закрепитьÑÑ Ð² Ñтом регионе. +sector.marsh.description = Ð’ Ñтом Ñекторе находитÑÑ Ð°Ñ€ÐºÐ¸Ñ†Ð¸Ñ‚ в больших количеÑтвах, но ограничены жерла.\nСтройте [accent]химичеÑкие камеры ÑгораниÑ[] Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ Ñнергии. +sector.peaks.description = Из-за горной меÑтноÑти в Ñтом Ñекторе большинÑтво боевых единиц беÑполезны. ПонадобÑÑ‚ÑÑ Ð»ÐµÑ‚Ð°ÑŽÑ‰Ð¸Ðµ корабли.\nОÑтерегайтеÑÑŒ вражеÑких противовоздушных уÑтановок. ЕÑть возможноÑть отключить чаÑть из них, еÑли ÑнеÑти поддерживающие их поÑтройки. +sector.ravine.description = Этот Ñектор ÑвлÑетÑÑ Ð²Ð°Ð¶Ð½Ñ‹Ð¼ транÑпортным маршрутом Ð´Ð»Ñ Ð²Ñ€Ð°Ð³Ð°. ÐеÑÐ¼Ð¾Ñ‚Ñ€Ñ Ð½Ð° то, что вражеÑких Ñдер здеÑÑŒ не обнаружено, ожидайте Ñ€Ð°Ð·Ð½Ð¾Ð¾Ð±Ñ€Ð°Ð·Ð¸Ñ Ð²Ñ€Ð°Ð¶ÐµÑких атакующих Ñил.\nПроизведите [accent]кинетичеÑкий Ñплав[]. ПоÑтройте турели [accent]БедÑтвие[]. +sector.caldera-erekir.description = РеÑурÑÑ‹, обнаруженные в Ñтом Ñекторе, разброÑаны по неÑкольким оÑтровам.\nИÑÑледуйте и запуÑтите транÑпортную ÑиÑтему на оÑнове грузовых дронов. +sector.stronghold.description = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ð²Ñ€Ð°Ð¶ÐµÑÐºÐ°Ñ Ð±Ð°Ð·Ð° в Ñтом Ñекторе охранÑет огромные залежи [accent]ториÑ[].\nИÑпользуйте его Ð´Ð»Ñ Ð¸Ð·ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð±Ð¾ÐµÐ²Ñ‹Ñ… единиц и турелей более выÑокого уровнÑ. +sector.crevice.description = Своими атаками враг будет ÑроÑтно пытатьÑÑ ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶Ð¸Ñ‚ÑŒ вашу базу в Ñтом Ñекторе.\nИзучение [accent]карбида[] и [accent]Пиролизного генератора[] может оказатьÑÑ Ð½ÐµÐ¾Ð±Ñ…Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼ Ð´Ð»Ñ Ð²Ñ‹Ð¶Ð¸Ð²Ð°Ð½Ð¸Ñ. +sector.siege.description = Ð’ Ñтом Ñекторе еÑть два параллельных каньона, которые заÑтавÑÑ‚ Ð²Ð°Ñ Ð°Ñ‚Ð°ÐºÐ¾Ð²Ð°Ñ‚ÑŒ Ñ Ð´Ð²ÑƒÑ… Ñторон.\nИÑÑледуйте [accent]циан[], чтобы получить возможноÑть Ñоздавать еще более Ñильные танковые подразделениÑ.\nВнимание: были обнаружены вражеÑкие дальнобойные ракеты. Ракеты могут быть Ñбиты до попаданиÑ. +sector.crossroads.description = ВражеÑкие базы в Ñтом Ñекторе раÑположилиÑÑŒ на переÑеченной меÑтноÑти. ИÑÑледуйте разные типы боевых единиц, чтобы приÑпоÑобитьÑÑ Ðº ней.\nКроме того, некоторые базы защищены щитами. Ð’Ñ‹ÑÑните, как они получают Ñнергию. +sector.karst.description = Этот Ñектор богат реÑурÑами, но будет атакован противником Ñразу поÑле приземлениÑ.\nИÑпользуйте Ñти реÑурÑÑ‹ Ñ ÑƒÐ¼Ð¾Ð¼ и иÑÑледуйте [accent]фазовую ткань[]. +sector.origin.description = ПоÑледний Ñектор Ñ Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ñ‹Ð¼ вражеÑким приÑутÑтвием.\nВероÑтных возможноÑтей Ð´Ð»Ñ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ оÑталоÑÑŒ — ÑоÑредоточьтеÑÑŒ иÑключительно на уничтожении вÑех вражеÑких Ñдер. + +status.burning.name = Горение +status.freezing.name = Заморозка +status.wet.name = Мокрый +status.muddy.name = Ð’ грÑзи +status.melting.name = Плавление +status.sapped.name = ИÑтощение +status.electrified.name = ÐаÑлектризован +status.spore-slowed.name = Замедление Ñпорами +status.tarred.name = Ð’ нефти +status.overdrive.name = УÑкорение +status.overclock.name = Разгон +status.shocked.name = ЗарÑжен +status.blasted.name = Взорван +status.unmoving.name = Обездвижен +status.boss.name = Страж settings.language = Язык settings.data = Игровые данные @@ -620,7 +929,7 @@ settings.controls = Управление settings.game = Игра settings.sound = Звук settings.graphics = Графика -settings.cleardata = ОчиÑтить игровые данные… +settings.cleardata = ОчиÑтить игровые данные... settings.clear.confirm = Ð’Ñ‹ дейÑтвительно хотите очиÑтить Ñвои данные?\nЭто Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ! settings.clearall.confirm = [scarlet]ОСТОРОЖÐО![]\nЭто Ñотрёт вÑе данные, Ð²ÐºÐ»ÑŽÑ‡Ð°Ñ ÑохранениÑ, карты, прогреÑÑ ÐºÐ°Ð¼Ð¿Ð°Ð½Ð¸Ð¸ и наÑтройки управлениÑ.\nПоÑле того как вы нажмёте [accent][ОК][], игра уничтожит вÑе данные и автоматичеÑки закроетÑÑ. settings.clearsaves.confirm = Ð’Ñ‹ уверены, что хотите удалить вÑе ÑохранениÑ? @@ -632,6 +941,7 @@ settings.clearcampaignsaves.confirm = Ð’Ñ‹ уверены, что хотите paused = [accent]< Пауза > clear = ОчиÑтить banned = [scarlet]Запрещено +unsupported.environment = [scarlet]Ðеподдерживаемые уÑÐ»Ð¾Ð²Ð¸Ñ yes = Да no = Ðет info.title = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ @@ -639,14 +949,18 @@ error.title = [scarlet]Произошла ошибка error.crashtitle = Произошла ошибка unit.nobuild = [scarlet]Единица не может Ñтроить lastaccessed = [lightgray]ПоÑледнÑÑ ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¾Ñ‚ {0} +lastcommanded = [lightgray]ПоÑледнÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° от: {0} block.unknown = [lightgray]??? +stat.showinmap = <загрузите карту Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ> stat.description = Ðазначение stat.input = Вход stat.output = Выход +stat.maxefficiency = МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑффективноÑть stat.booster = УÑкоритель stat.tiles = Ðеобходимые плитки -stat.affinities = Увеличение ÑффективноÑти +stat.affinities = Множитель ÑффективноÑти +stat.opposites = ПротивоположноÑти stat.powercapacity = ВмеÑтимоÑть Ñнергии stat.powershot = ЭнергиÑ/выÑтрел stat.damage = Урон @@ -668,9 +982,12 @@ stat.itemcapacity = ВмеÑтимоÑть предметов stat.memorycapacity = Размер памÑти stat.basepowergeneration = Ð‘Ð°Ð·Ð¾Ð²Ð°Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñнергии stat.productiontime = Ð’Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва -stat.repairtime = Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ регенерации +stat.repairtime = Ð’Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð³Ð¾ ремонта +stat.repairspeed = СкороÑть ремонта stat.weapons = ÐžÑ€ÑƒÐ´Ð¸Ñ stat.bullet = СнарÑд +stat.moduletier = Уровень Ð¼Ð¾Ð´ÑƒÐ»Ñ +stat.unittype = Ð‘Ð¾ÐµÐ²Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð° stat.speedincrease = Увеличение ÑкороÑти stat.range = Ð Ð°Ð´Ð¸ÑƒÑ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ stat.drilltier = Бурит @@ -678,6 +995,7 @@ stat.drillspeed = Ð‘Ð°Ð·Ð¾Ð²Ð°Ñ ÑкороÑть Ð±ÑƒÑ€ÐµÐ½Ð¸Ñ stat.boosteffect = УÑкорÑющий Ñффект stat.maxunits = МакÑимальное количеÑтво активных единиц stat.health = ПрочноÑть +stat.armor = Ð‘Ñ€Ð¾Ð½Ñ stat.buildtime = Ð’Ñ€ÐµÐ¼Ñ ÑтроительÑтва stat.maxconsecutive = МакÑ. поÑледовательноÑть stat.buildcost = СтоимоÑть ÑтроительÑтва @@ -693,6 +1011,7 @@ stat.lightningchance = Ð¨Ð°Ð½Ñ ÑƒÐ´Ð°Ñ€Ð° молнии stat.lightningdamage = Урон молнии stat.flammability = ВоÑпламенÑемоÑть stat.radioactivity = РадиоактивноÑть +stat.charge = ЗарÑд stat.heatcapacity = ТеплоёмкоÑть stat.viscosity = Ð’ÑзкоÑть stat.temperature = Температура @@ -701,25 +1020,77 @@ stat.buildspeed = СкороÑть ÑтроительÑтва stat.minespeed = СкороÑть добычи stat.minetier = Уровень добычи stat.payloadcapacity = ГрузоподъёмноÑть -stat.commandlimit = Лимит ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð²Ð°Ð½Ð¸Ñ stat.abilities = СпоÑобноÑти stat.canboost = Может взлететь stat.flying = Летающий stat.ammouse = ИÑпользование боеприпаÑов +stat.ammocapacity = ВмеÑтимоÑть боеприпаÑов +stat.damagemultiplier = Множитель урона +stat.healthmultiplier = Множитель прочноÑти +stat.speedmultiplier = Множитель ÑкороÑти +stat.reloadmultiplier = Множитель перезарÑдки +stat.buildspeedmultiplier = Множитель ÑкороÑти ÑтроительÑтва +stat.reactive = Реактивен +stat.immunities = ÐевоÑприимчив +stat.healing = Ремонт +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Силовое поле +ability.forcefield.description = Создает Ñиловой щит, поглощающий пули ability.repairfield = Ремонтирующее поле +ability.repairfield.description = Ремонтирует близлежащие единицы ability.statusfield = УÑиливающее поле -ability.unitspawn = Завод единиц «{0}» +ability.statusfield.description = Ðакладывает Ñффект на ближайшие единицы +ability.unitspawn = Завод единиц � +ability.unitspawn.description = КонÑтруирует единицы ability.shieldregenfield = Поле воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‰Ð¸Ñ‚Ð° +ability.shieldregenfield.description = ВоÑÑтанавливает щиты ближайших юнитов ability.movelightning = Молнии при движении +ability.movelightning.description = ВыпуÑкает молнии при движении +ability.armorplate = БронеплаÑтина +ability.armorplate.description = Снижает урон, получаемый при Ñтрельбе +ability.shieldarc = Дуговой щит +ability.shieldarc.description = ВыпуÑкает Ñиловой щит по дуге, поглощающий пули +ability.suppressionfield = Поле Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ +ability.suppressionfield.description = ОÑтанавливает ремонтные Ð·Ð´Ð°Ð½Ð¸Ñ +ability.energyfield = ЭнергетичеÑкое поле +ability.energyfield.description = Электризует ближайших врагов +ability.energyfield.healdescription = Электризует ближайших врагов и лечит Ñоюзников +ability.regen = Ð ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ +ability.regen.description = ВоÑÑтанавливает ÑобÑтвенное здоровье Ñ Ñ‚ÐµÑ‡ÐµÐ½Ð¸ÐµÐ¼ времени +ability.liquidregen = Поглощение жидкоÑти +ability.liquidregen.description = Поглощает жидкоÑть Ð´Ð»Ñ ÑамовоÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ +ability.spawndeath = Смертельное порождение +ability.spawndeath.description = Создает единицы поÑле Ñмерти +ability.liquidexplode = Смертельное разлитие +ability.liquidexplode.description = Разливает жидкоÑть при Ñмерти +ability.stat.firingrate = [stat]{0}/Ñек[lightgray] темп Ñтрельбы +ability.stat.regen = [stat]{0}[lightgray] здоровьÑ/Ñек +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] щит +ability.stat.repairspeed = [stat]{0}/sec[lightgray] ÑкороÑть регенерации +ability.stat.slurpheal = [stat]{0}[lightgray] здоровьÑ/единица жидкоÑти +ability.stat.cooldown = [stat]{0} Ñек[lightgray] перезарÑдка +ability.stat.maxtargets = [stat]{0}[lightgray] макÑимум целей +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] тот же тип ремонта +ability.stat.damagereduction = [stat]{0}%[lightgray] Ñнижение урона +ability.stat.minspeed = [stat]{0} плиток/Ñек[lightgray] Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑть +ability.stat.duration = [stat]{0} Ñек[lightgray] продолжительноÑть +ability.stat.buildtime = [stat]{0} Ñек[lightgray] Ð²Ñ€ÐµÐ¼Ñ Ð¿Ð¾Ñтройки + +bar.onlycoredeposit = ДоÑтупен Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñдро bar.drilltierreq = ТребуетÑÑ Ð±ÑƒÑ€ получше +bar.nobatterypower = Insufficieny Battery Power bar.noresources = ÐедоÑтаточно реÑурÑов bar.corereq = ТребуетÑÑ Ð¾Ñнова Ñдра +bar.corefloor = ТребуетÑÑ Ð·Ð¾Ð½Ð° Ñдра +bar.cargounitcap = ДоÑтигнут предел грузовой единицы bar.drillspeed = СкороÑть бурениÑ: {0}/Ñ bar.pumpspeed = СкороÑть выкачиваниÑ: {0}/Ñ bar.efficiency = ЭффективноÑть: {0}% +bar.boost = УÑкорение: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = ЭнергиÑ: {0}/Ñ bar.powerstored = Ðакоплено: {0}/{1} bar.poweramount = ЭнергиÑ: {0} @@ -730,49 +1101,66 @@ bar.capacity = ВмеÑтимоÑть: {0} bar.unitcap = {0} {1}/{2} bar.liquid = ЖидкоÑти bar.heat = Ðагрев +bar.cooldown = Cooldown +bar.instability = ÐеÑтабильноÑть +bar.heatamount = Ðагрев: {0} +bar.heatpercent = Ðагрев: {0} ({1}%) bar.power = Ð­Ð½ÐµÑ€Ð³Ð¸Ñ bar.progress = ПрогреÑÑ ÑтроительÑтва +bar.loadprogress = ПрогреÑÑ +bar.launchcooldown = Лимит выÑадки bar.input = Ввод bar.output = Вывод +bar.strength = [stat]{0}[lightgray]x ÑффективноÑть units.processorcontrol = [lightgray]УправлÑетÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑÑором bullet.damage = [stat]{0}[lightgray] урона bullet.splashdamage = [stat]{0}[lightgray] урона в радиуÑе ~[stat] {1}[lightgray] блоков bullet.incendiary = [stat]зажигательный -bullet.sapping = [stat]иÑтощающий bullet.homing = [stat]ÑамонаводÑщийÑÑ -bullet.shock = [stat]шоковый -bullet.frag = [stat]оÑколочный +bullet.armorpierce = [stat]бронебойный +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} Ñек[lightgray] Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ€ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ в радиуÑе ~ [stat]{1}[lightgray] блоков +bullet.interval = [stat]{0}/Ñек[lightgray] интервальный(ых) ÑнарÑд(ов): +bullet.frags = [stat]{0}[lightgray]x оÑколочный(ых) ÑнарÑд(ов): +bullet.lightning = [stat]{0}[lightgray]x молнии ~ [stat]{1}[lightgray] урона bullet.buildingdamage = [stat]{0}%[lightgray] урона по поÑтройкам +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] отбраÑÑ‹Ð²Ð°Ð½Ð¸Ñ -bullet.pierce = [stat]{0}[lightgray]x пробитие +bullet.pierce = [stat]{0}[lightgray]x Ð¿Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸Ñ bullet.infinitepierce = [stat]беÑконечное пробитие -bullet.healpercent = [stat]{0}[lightgray]% Ð»ÐµÑ‡ÐµÐ½Ð¸Ñ -bullet.freezing = [stat]замораживающий -bullet.tarred = [stat]замедлÑющий, горючий +bullet.healpercent = [stat]{0}[lightgray]% ремонта +bullet.healamount = [stat]{0}[lightgray] прÑмой ремонт bullet.multiplier = [stat]{0}[lightgray]x множитель боеприпаÑов -bullet.reload = [stat]{0}[lightgray]x ÑкороÑть Ñтрельбы +bullet.reload = [stat]{0}%[lightgray] ÑкороÑть Ñтрельбы +bullet.range = [stat]{0}[lightgray] диапазон +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = блоков unit.blockssquared = блоков² unit.powersecond = единиц Ñнергии/Ñекунду +unit.tilessecond = плиток/Ñекунду unit.liquidsecond = жидкоÑтных единиц/Ñекунду unit.itemssecond = предметов/Ñекунду unit.liquidunits = жидкоÑтных единиц unit.powerunits = Ñнерг. единиц +unit.heatunits = единиц тепла unit.degrees = ° -unit.seconds = Ñек. -unit.minutes = мин. +unit.seconds = Ñек +unit.minutes = мин unit.persecond = /Ñек unit.perminute = /мин unit.timesspeed = x ÑкороÑть +unit.multiplier = x unit.percent = % unit.shieldhealth = прочноÑть щита unit.items = предметов unit.thousands = к unit.millions = М unit.billions = кM +unit.shots = выÑтрелы unit.pershot = /выÑтрел category.purpose = Ðазначение category.general = ОÑновные @@ -782,17 +1170,24 @@ category.items = Предметы category.crafting = Ввод/вывод category.function = ДейÑтвие category.optional = Дополнительные ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ +setting.alwaysmusic.name = Ð’Ñегда играть музыку +setting.alwaysmusic.description = ЕÑли включить Ñту функцию, музыка вÑегда будет воÑпроизводитьÑÑ Ð² игре по кругу.\nЕÑли выключить, она будет воÑпроизводитьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ через Ñлучайные промежутки времени. + +setting.skipcoreanimation.name = ПропуÑкать анимацию запуÑка/Ð¿Ñ€Ð¸Ð·ÐµÐ¼Ð»ÐµÐ½Ð¸Ñ Ñдра setting.landscape.name = Только альбомный (горизонтальный) режим setting.shadows.name = Тени setting.blockreplace.name = ÐвтоматичеÑÐºÐ°Ñ Ð·Ð°Ð¼ÐµÐ½Ð° блоков setting.linear.name = Ð›Ð¸Ð½ÐµÐ¹Ð½Ð°Ñ Ñ„Ð¸Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ð¸Ñ setting.hints.name = ПодÑказки -setting.flow.name = Показывать ÑкороÑть потока реÑурÑов +setting.logichints.name = ПодÑказки Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸ÐºÐ¸ setting.backgroundpause.name = Ð¤Ð¾Ð½Ð¾Ð²Ð°Ñ Ð¿Ð°ÑƒÐ·Ð° setting.buildautopause.name = ÐвтоматичеÑÐºÐ°Ñ Ð¿Ñ€Ð¸Ð¾Ñтановка ÑтроительÑтва +setting.doubletapmine.name = Добыча руды двойным нажатием +setting.commandmodehold.name = Удерживать Ð´Ð»Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð¾ÐµÐ²Ñ‹Ð¼Ð¸ единицами +setting.distinctcontrolgroups.name = Ограничение на одну контрольную группу на единицу +setting.modcrashdisable.name = Отключение модификаций поÑле вылета при запуÑке setting.animatedwater.name = Ðнимированные поверхноÑти setting.animatedshields.name = Ðнимированные щиты -setting.antialias.name = Сглаживание[lightgray] (требует перезапуÑка)[] setting.playerindicators.name = Индикаторы Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð² setting.indicators.name = Индикаторы Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ€Ð°Ð³Ð¾Ð² setting.autotarget.name = Ðвтозахват цели @@ -801,15 +1196,12 @@ setting.touchscreen.name = СенÑорное управление setting.fpscap.name = МакÑимальный FPS setting.fpscap.none = Ðеограниченный setting.fpscap.text = {0} FPS -setting.uiscale.name = МаÑштаб пользовательÑкого интерфейÑа[lightgray] (необходим перезапуÑк)[] +setting.uiscale.name = МаÑштаб пользовательÑкого интерфейÑа +setting.uiscale.description = Ð”Ð»Ñ Ð²ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñилу может потребоватьÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° игры. setting.swapdiagonal.name = Ð’Ñегда диагональное размещение -setting.difficulty.training = Обучение -setting.difficulty.easy = Ð›Ñ‘Ð³ÐºÐ°Ñ -setting.difficulty.normal = ÐÐ¾Ñ€Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ -setting.difficulty.hard = Ð¡Ð»Ð¾Ð¶Ð½Ð°Ñ -setting.difficulty.insane = Ð‘ÐµÐ·ÑƒÐ¼Ð½Ð°Ñ -setting.difficulty.name = СложноÑть: setting.screenshake.name = ТрÑÑка Ñкрана +setting.bloomintensity.name = ИнтенÑивноÑть ÑÐ²ÐµÑ‡ÐµÐ½Ð¸Ñ +setting.bloomblur.name = Размытие ÑÐ²ÐµÑ‡ÐµÐ½Ð¸Ñ setting.effects.name = Эффекты setting.destroyedblocks.name = Отображать уничтоженные блоки setting.blockstatus.name = Показывать ÑÑ‚Ð°Ñ‚ÑƒÑ Ð±Ð»Ð¾ÐºÐ° @@ -819,51 +1211,58 @@ setting.saveinterval.name = Интервал ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ setting.seconds = {0} Ñекунд setting.milliseconds = {0} миллиÑекунд setting.fullscreen.name = ПолноÑкранный режим -setting.borderlesswindow.name = Безрамочное окно[lightgray] (может потребоватьÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿ÑƒÑк) +setting.borderlesswindow.name = Безрамочное окно +setting.borderlesswindow.name.windows = ПолноÑкранный режим без полей +setting.borderlesswindow.description = Ð”Ð»Ñ Ð²ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñилу может потребоватьÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° игры. setting.fps.name = Показывать FPS и пинг +setting.console.name = Включить конÑоль setting.smoothcamera.name = ÐŸÐ»Ð°Ð²Ð½Ð°Ñ ÐºÐ°Ð¼ÐµÑ€Ð° setting.vsync.name = Ð’ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ð°Ñ ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ setting.pixelate.name = ПикÑÐµÐ»Ð¸Ð·Ð°Ñ†Ð¸Ñ setting.minimap.name = Отображать мини-карту setting.coreitems.name = Отображать предметы из Ñдра setting.position.name = Отображать координаты игрока +setting.mouseposition.name = Показывать позицию курÑора setting.musicvol.name = ГромкоÑть музыки setting.atmosphere.name = Отображать атмоÑферу планеты +setting.drawlight.name = Отображать тени/оÑвещение setting.ambientvol.name = ГромкоÑть Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ setting.mutemusic.name = Заглушить музыку setting.sfxvol.name = ГромкоÑть Ñффектов setting.mutesound.name = Заглушить звук setting.crashreport.name = ОтправлÑть анонимные отчёты о вылетах +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = ÐвтоматичеÑкое Ñоздание Ñохранений -setting.publichost.name = ОбщедоÑтупноÑть игры +setting.steampublichost.name = ВидимоÑть публичной игры setting.playerlimit.name = Ограничение игроков setting.chatopacity.name = ÐепрозрачноÑть чата setting.lasersopacity.name = ÐепрозрачноÑть лазеров ÑнергоÑÐ½Ð°Ð±Ð¶ÐµÐ½Ð¸Ñ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = ÐепрозрачноÑть моÑтов setting.playerchat.name = Отображать облака чата над игроками setting.showweather.name = Отображать погоду -public.confirm = Ð’Ñ‹ хотите, чтобы ваша игра Ñтала публичной?\n[accent] Любой игрок Ñможет приÑоединитьÑÑ Ðº вашим играм.\n[lightgray]Позже, Ñто можно будет изменить в ÐаÑтройки->Игра->ОбщедоÑтупноÑть игры. -public.confirm.really = ЕÑли вы хотите поиграть Ñ Ð´Ñ€ÑƒÐ·ÑŒÑми, то иÑпользуйте кнопку «[green]ПриглаÑить друзей[]» вмеÑто ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ [scarlet]публичного Ñервера[]!\nÐ’Ñ‹ уверены, что хотите Ñделать Ñвою игру [scarlet]публичной[]? +setting.hidedisplays.name = Скрыть логичеÑкие диÑплеи +setting.macnotch.name = Ðдаптировать Ð¸Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ðº вырезу на Ñкране +setting.macnotch.description = Ð”Ð»Ñ Ð²ÑÑ‚ÑƒÐ¿Ð»ÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ð¹ в Ñилу требуетÑÑ Ð¿ÐµÑ€ÐµÐ·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ° игры +steam.friendsonly = Только Ð´Ñ€ÑƒÐ·ÑŒÑ +steam.friendsonly.tooltip = Только ли Ð´Ñ€ÑƒÐ·ÑŒÑ Ð¸Ð· Steam могут приÑоединÑтьÑÑ Ðº вашей игре.\nУбрав Ñту галочку, вы Ñделаете вашу игру публичной - приÑоединитьÑÑ Ñможет любой желающий. public.beta = Имейте в виду, что бета-верÑÐ¸Ñ Ð¸Ð³Ñ€Ñ‹ не может делать игры публичными. -uiscale.reset = МаÑштаб пользовательÑкого интерфейÑа был изменён.\nÐажмите «ОК» Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñтого маÑштаба.\n[scarlet]Возврат наÑтроек и выход через[accent] {0}[] Ñекунд… +uiscale.reset = МаÑштаб пользовательÑкого интерфейÑа был изменён.\nÐажмите «ОК» Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ Ñтого маÑштаба.\n[scarlet]Возврат наÑтроек и выход через[accent] {0}[] Ñекунд... uiscale.cancel = Отменить & Выйти setting.bloom.name = Свечение keybind.title = ÐаÑтройка ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ keybinds.mobile = [scarlet]БольшинÑтво комбинаций клавиш здеÑÑŒ не работает на мобильных уÑтройÑтвах. ПоддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ базовое движение. category.general.name = ОÑновное category.view.name = ПроÑмотр +category.command.name = Командование единицой category.multiplayer.name = Ð¡ÐµÑ‚ÐµÐ²Ð°Ñ Ð¸Ð³Ñ€Ð° category.blocks.name = Выбор блока -command.attack = Ðтаковать -command.rally = Точка Ñбора -command.retreat = ОтÑтупить -command.idle = Ждать placement.blockselectkeys = \n[lightgray]Клавиша: [{0}, keybind.respawn.name = Возрождение в Ñдре keybind.control.name = Перехватить контроль над единицей keybind.clear_building.name = ОчиÑтить план ÑтроительÑтва -keybind.press = Ðажмите клавишу… -keybind.press.axis = Ðажмите оÑи или клавишу… +keybind.press = Ðажмите клавишу... +keybind.press.axis = Ðажмите оÑÑŒ или клавишу... keybind.screenshot.name = Скриншот карты keybind.toggle_power_lines.name = Отображение лазеров ÑнергоÑÐ½Ð°Ð±Ð¶ÐµÐ½Ð¸Ñ keybind.toggle_block_status.name = Отображение ÑтатуÑов блоков @@ -872,6 +1271,27 @@ keybind.move_y.name = Движение по оÑи Y keybind.mouse_move.name = Следовать за курÑором keybind.pan.name = Панорамирование камеры keybind.boost.name = Полёт/уÑкорение +keybind.command_mode.name = Командование боевыми единицами +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = ПереÑтроить в облаÑти keybind.schematic_select.name = Выбрать облаÑть keybind.schematic_menu.name = Меню Ñхем keybind.schematic_flip_x.name = Отразить Ñхему по оÑи X @@ -897,10 +1317,11 @@ keybind.select.name = Выбор/выÑтрел keybind.diagonal_placement.name = Диагональное размещение keybind.pick.name = Выбрать блок keybind.break_block.name = Разрушить блок +keybind.select_all_units.name = Выбрать вÑе единицы +keybind.select_all_unit_factories.name = Выбрать вÑе заводы единиц keybind.deselect.name = СнÑть выделение keybind.pickupCargo.name = ВзÑть груз keybind.dropCargo.name = СброÑить груз -keybind.command.name = Командовать группой keybind.shoot.name = Ð’Ñ‹Ñтрел keybind.zoom.name = МаÑштабирование keybind.menu.name = Меню @@ -909,6 +1330,7 @@ keybind.pause_building.name = ПриоÑтановить/возобновить keybind.minimap.name = Мини-карта keybind.planet_map.name = Карта планеты keybind.research.name = ИÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ +keybind.block_info.name = Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ блоке keybind.chat.name = Чат keybind.player_list.name = СпиÑок игроков keybind.console.name = КонÑоль @@ -928,53 +1350,105 @@ mode.sandbox.name = ПеÑочница mode.sandbox.description = БеÑконечные реÑурÑÑ‹ и нет таймера волн. [gray]Можно Ñамим вызвать волну. mode.editor.name = Редактор mode.pvp.name = PvP -mode.pvp.description = БоритеÑÑŒ против других игроков.\n[gray]Ð”Ð»Ñ Ð¸Ð³Ñ€Ñ‹ требуетÑÑ ÐºÐ°Ðº минимум 2 Ñдра разного цвета на карте. +mode.pvp.description = СражайтеÑÑŒ против других игроков.\n[gray]Ð”Ð»Ñ Ð¸Ð³Ñ€Ñ‹ требуетÑÑ ÐºÐ°Ðº минимум 2 Ñдра разного цвета на карте. mode.attack.name = Ðтака -mode.attack.description = Уничтожьте вражеÑкую базу.\n[gray]Ð”Ð»Ñ Ð¸Ð³Ñ€Ñ‹ требуетÑÑ ÐºÑ€Ð°Ñное Ñдро на карте. +mode.attack.description = Уничтожьте вражеÑкую базу.\n[gray]Ð”Ð»Ñ Ð¸Ð³Ñ€Ñ‹ требуетÑÑ Ð²Ñ€Ð°Ð¶ÐµÑкое Ñдро на карте. mode.custom = ПользовательÑкие правила - -rules.infiniteresources = БеÑконечные реÑурÑÑ‹ (Игрок) +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Скрыть запрещенные блоки +rules.infiniteresources = БеÑконечные реÑурÑÑ‹ +rules.onlydepositcore = Разрешен Ð¿ÐµÑ€ÐµÐ½Ð¾Ñ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в Ñдро +rules.derelictrepair = Разрешить починку покинутых поÑтроек rules.reactorexplosions = Взрывы реакторов -rules.schematic = Схемы разрешены +rules.coreincinerates = Ядро Ñжигает избыток реÑурÑов +rules.disableworldprocessors = Отключить мировые процеÑÑоры +rules.schematic = Разрешить Ñхемы rules.wavetimer = Интервал волн +rules.wavesending = Отправка волн +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Волны +rules.airUseSpawns = Air units use spawn points rules.attack = Режим атаки -rules.buildai = СтроительÑтво ИИ -rules.enemyCheat = БеÑконечные реÑурÑÑ‹ ИИ (краÑÐ½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°) -rules.blockhealthmultiplier = Множитель Ð·Ð´Ð¾Ñ€Ð¾Ð²ÑŒÑ Ð±Ð»Ð¾ÐºÐ¾Ð² +rules.buildai = ИИ Ñтроит базы +rules.buildaitier = Уровень баз ИИ +rules.rtsai = ИИ в реальном времени +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Минимальный размер отрÑда +rules.rtsmaxsquadsize = МакÑимальный размер отрÑда +rules.rtsminattackweight = Минимальный Ð²ÐµÑ Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸ + +rules.cleanupdeadteams = ОчиÑтка Ñтроений побежденных команд (PvP) +rules.corecapture = Захват Ñдра поÑле ÑƒÐ½Ð¸Ñ‡Ñ‚Ð¾Ð¶ÐµÐ½Ð¸Ñ +rules.polygoncoreprotection = ÐŸÐ¾Ð»Ð¸Ð³Ð¾Ð½Ð°Ð»ÑŒÐ½Ð°Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ð° Ñдер +rules.placerangecheck = Запретить размещение поÑтроек возле врага +rules.enemyCheat = БеÑконечные реÑурÑÑ‹ ИИ +rules.blockhealthmultiplier = Множитель прочноÑти блоков rules.blockdamagemultiplier = Множитель урона блоков rules.unitbuildspeedmultiplier = Множитель ÑкороÑти производÑтва боев. ед. -rules.unithealthmultiplier = Множитель Ð·Ð´Ð¾Ñ€Ð¾Ð²ÑŒÑ Ð±Ð¾ÐµÐ². ед. +rules.unitcostmultiplier = Множитель ÑтоимоÑти боев. ед. +rules.unithealthmultiplier = Множитель прочноÑти боев. ед. rules.unitdamagemultiplier = Множитель урона боев. ед. +rules.unitcrashdamagemultiplier = Множитель урона от Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð±Ð¾ÐµÐ². ед. +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Множитель Ñолнечной Ñнергии +rules.unitcapvariable = Ядра увеличивают лимит единиц +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Ðачальный лимит единиц +rules.limitarea = Ограничить облаÑть карты rules.enemycorebuildradius = Ð Ð°Ð´Ð¸ÑƒÑ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ враж. Ñдер:[lightgray] (блок.) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Интервал волн:[lightgray] (Ñек) +rules.initialwavespacing = Ð’Ñ€ÐµÐ¼Ñ Ð´Ð¾ первой волны:[lightgray] (Ñек) rules.buildcostmultiplier = Множитель затрат на ÑтроительÑтво rules.buildspeedmultiplier = Множитель ÑкороÑти ÑтроительÑтва rules.deconstructrefundmultiplier = Множитель возврата реÑурÑов при разборке rules.waitForWaveToEnd = Волны ожидают врагов +rules.wavelimit = Игра заканчиваетÑÑ Ð¿Ð¾Ñле волны rules.dropzoneradius = Ð Ð°Ð´Ð¸ÑƒÑ Ð·Ð¾Ð½Ñ‹ выÑадки врагов:[lightgray] (блоков) rules.unitammo = Боев. ед. требуют боеприпаÑÑ‹ +rules.enemyteam = Команда Врагов +rules.playerteam = Команда Игрока rules.title.waves = Волны rules.title.resourcesbuilding = РеÑурÑÑ‹ & ÑтроительÑтво rules.title.enemy = Враги rules.title.unit = Боевые единицы rules.title.experimental = ЭкÑпериментально rules.title.environment = Окружение +rules.title.teams = Команды +rules.title.planet = Планета rules.lighting = ОÑвещение -rules.enemyLights = ВражеÑкие огни +rules.fog = Туман войны +rules.invasions = Ð’Ñ‚Ð¾Ñ€Ð¶ÐµÐ½Ð¸Ñ Ð²Ñ€Ð°Ð³Ð¾Ð² на Ñектора +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Показывать поÑвление врагов +rules.randomwaveai = ÐепредÑказуемый ИИ волн + rules.fire = Огонь +rules.anyenv = <ЛюбаÑ> rules.explosions = Урон от взрывов блоков/единиц rules.ambientlight = Окружающий Ñвет rules.weather = Погода rules.weather.frequency = ПериодичноÑть: rules.weather.always = Ð’Ñегда rules.weather.duration = ДлительноÑть: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Предметы content.liquid.name = ЖидкоÑти content.unit.name = Боевые единицы content.block.name = Блоки +content.status.name = Эффекты ÑтатуÑа content.sector.name = Секторы +content.team.name = Фракции +wallore = (Стена) item.copper.name = Медь item.lead.name = Свинец @@ -992,10 +1466,24 @@ item.blast-compound.name = Ð’Ð·Ñ€Ñ‹Ð²Ñ‡Ð°Ñ‚Ð°Ñ ÑмеÑÑŒ item.pyratite.name = Пиротит item.metaglass.name = МетаÑтекло item.scrap.name = Металлолом +item.fissile-matter.name = ÐеÑÑ‚Ð°Ð±Ð¸Ð»ÑŒÐ½Ð°Ñ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ñ +item.beryllium.name = Бериллий +item.tungsten.name = Вольфрам +item.oxide.name = ОкÑид +item.carbide.name = Карбид +item.dormant-cyst.name = Ð”Ñ€ÐµÐ¼Ð»ÑŽÑ‰Ð°Ñ Ð¾Ð±Ð¾Ð»Ð¾Ñ‡ÐºÐ° + liquid.water.name = Вода liquid.slag.name = Шлак liquid.oil.name = Ðефть liquid.cryofluid.name = ÐšÑ€Ð¸Ð¾Ð³ÐµÐ½Ð½Ð°Ñ Ð¶Ð¸Ð´ÐºÐ¾Ñть +liquid.neoplasm.name = Ðеоплазма +liquid.arkycite.name = Ðркицит +liquid.gallium.name = Галлий +liquid.ozone.name = Озон +liquid.hydrogen.name = Водород +liquid.nitrogen.name = Ðзот +liquid.cyanogen.name = Циан unit.dagger.name = Кинжал unit.mace.name = Булава @@ -1023,6 +1511,11 @@ unit.minke.name = Минке unit.bryde.name = Брайд unit.sei.name = Сейвал unit.omura.name = Омура +unit.retusa.name = Ретуза +unit.oxynoe.name = ОкÑино +unit.cyerce.name = Ð¦Ð¸Ñ€Ñ +unit.aegires.name = Ð­Ð³Ð¸Ñ€ÐµÑ +unit.navanax.name = ÐÐ°Ð²Ð°Ð½Ð°ÐºÑ unit.alpha.name = Ðльфа unit.beta.name = Бета unit.gamma.name = Гамма @@ -1030,14 +1523,36 @@ unit.scepter.name = Скипетр unit.reign.name = ВлаÑть unit.vela.name = ÐŸÐ°Ñ€ÑƒÑ unit.corvus.name = Ворон +unit.stell.name = ОÑнова +unit.locus.name = Очаг +unit.precept.name = Заповедь +unit.vanquish.name = Покоритель +unit.conquer.name = Завоеватель +unit.merui.name = Меруй +unit.cleroi.name = Клерой +unit.anthicus.name = ÐÐ½Ñ‚Ð¸ÐºÑƒÑ +unit.tecta.name = Текта +unit.collaris.name = ÐšÐ¾Ð»Ð»Ð°Ñ€Ð¸Ñ +unit.elude.name = Уклонение +unit.avert.name = Отвлечение +unit.obviate.name = УÑтранение +unit.quell.name = Подавление +unit.disrupt.name = Разрушение +unit.evoke.name = ВоÑход +unit.incite.name = Призыв +unit.emanate.name = ИÑход +unit.manifold.name = Грузовой дрон +unit.assembly-drone.name = Сборочный дрон +unit.latum.name = Латум +unit.renale.name = Ренале -block.resupply-point.name = Пункт ÑÐ½Ð°Ð±Ð¶ÐµÐ½Ð¸Ñ block.parallax.name = ÐŸÐ°Ñ€Ð°Ð»Ð»Ð°ÐºÑ block.cliff.name = Скала block.sand-boulder.name = ПеÑчаный валун block.basalt-boulder.name = Базальтовый валун block.grass.name = Трава -block.slag.name = Шлак +block.molten-slag.name = Шлак +block.pooled-cryofluid.name = ÐšÑ€Ð¸Ð¾Ð³ÐµÐ½Ð½Ð°Ñ Ð¶Ð¸Ð´ÐºÐ¾Ñть block.space.name = КоÑÐ¼Ð¾Ñ block.salt.name = Соль block.salt-wall.name = СолÑÐ½Ð°Ñ Ñтена @@ -1065,24 +1580,28 @@ block.graphite-press.name = Графитный преÑÑ block.multi-press.name = Мульти-преÑÑ block.constructing = {0} [lightgray](СтроитÑÑ) block.spawn.name = Точка поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ€Ð°Ð³Ð¾Ð² +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Ядро: «ОÑколок» block.core-foundation.name = Ядро: «Штаб» block.core-nucleus.name = Ядро: «Ðтом» -block.deepwater.name = Глубоководье -block.water.name = Вода +block.deep-water.name = Глубоководье +block.shallow-water.name = Вода block.tainted-water.name = ЗагрÑÐ·Ð½Ñ‘Ð½Ð½Ð°Ñ Ð²Ð¾Ð´Ð° +block.deep-tainted-water.name = ЗагрÑзнённое глубоководье block.darksand-tainted-water.name = Тёмный пеÑок Ñ Ð·Ð°Ð³Ñ€Ñзнённой водой block.tar.name = Ðефть block.stone.name = Камень -block.sand.name = ПеÑок +block.sand-floor.name = ПеÑок block.darksand.name = Тёмный пеÑок block.ice.name = Лёд block.snow.name = Снег -block.craters.name = Кратеры +block.crater-stone.name = Кратеры block.sand-water.name = ПеÑок Ñ Ð²Ð¾Ð´Ð¾Ð¹ block.darksand-water.name = Тёмный пеÑок Ñ Ð²Ð¾Ð´Ð¾Ð¹ block.char.name = Ð’Ñ‹Ð¶Ð¶ÐµÐ½Ð½Ð°Ñ Ð·ÐµÐ¼Ð»Ñ block.dacite.name = Дацит +block.rhyolite.name = Риолит block.dacite-wall.name = Ð”Ð°Ñ†Ð¸Ñ‚Ð¾Ð²Ð°Ñ Ñтена block.dacite-boulder.name = Дацитовый валун block.ice-snow.name = ЗаÑнеженный лёд @@ -1100,7 +1619,8 @@ block.spore-cluster.name = Скопление Ñпор block.metal-floor.name = МеталличеÑкий пол 1 block.metal-floor-2.name = МеталличеÑкий пол 2 block.metal-floor-3.name = МеталличеÑкий пол 3 -block.metal-floor-5.name = МеталличеÑкий пол 4 +block.metal-floor-4.name = МеталличеÑкий пол 4 +block.metal-floor-5.name = МеталличеÑкий пол 5 block.metal-floor-damaged.name = Повреждённый металличеÑкий пол block.dark-panel-1.name = Ð¢Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ 1 block.dark-panel-2.name = Ð¢Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ 2 @@ -1139,6 +1659,9 @@ block.distributor.name = РаÑпределитель block.sorter.name = Сортировщик block.inverted-sorter.name = Инвертированный Ñортировщик block.message.name = Сообщение +block.reinforced-message.name = УÑиленное Ñообщение +block.world-message.name = Мировое Ñообщение +block.world-switch.name = World Switch block.illuminator.name = ОÑветитель block.overflow-gate.name = Избыточный затвор block.underflow-gate.name = Избыточный шлюз @@ -1190,24 +1713,26 @@ block.solar-panel.name = Ð¡Ð¾Ð»Ð½ÐµÑ‡Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ block.solar-panel-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ ÑÐ¾Ð»Ð½ÐµÑ‡Ð½Ð°Ñ Ð¿Ð°Ð½ÐµÐ»ÑŒ block.oil-extractor.name = ÐефтÑÐ½Ð°Ñ Ð²Ñ‹ÑˆÐºÐ° block.repair-point.name = Ремонтный пункт +block.repair-turret.name = Ð ÐµÐ¼Ð¾Ð½Ñ‚Ð½Ð°Ñ Ñ‚ÑƒÑ€ÐµÐ»ÑŒ block.pulse-conduit.name = ИмпульÑный трубопровод block.plated-conduit.name = Укреплённый трубопровод block.phase-conduit.name = Фазовый трубопровод block.liquid-router.name = ЖидкоÑтный маршрутизатор block.liquid-tank.name = ЖидкоÑтный бак +block.liquid-container.name = ЖидкоÑÑ‚Ð½Ð°Ñ Ñ†Ð¸Ñтерна block.liquid-junction.name = ЖидкоÑтный перекрёÑток block.bridge-conduit.name = МоÑтовой трубопровод block.rotary-pump.name = Роторный наÑÐ¾Ñ block.thorium-reactor.name = Ториевый реактор block.mass-driver.name = Ð­Ð»ÐµÐºÑ‚Ñ€Ð¾Ð¼Ð°Ð³Ð½Ð¸Ñ‚Ð½Ð°Ñ ÐºÐ°Ñ‚Ð°Ð¿ÑƒÐ»ÑŒÑ‚Ð° block.blast-drill.name = Ð’Ð¾Ð·Ð´ÑƒÑˆÐ½Ð°Ñ Ð±ÑƒÑ€Ð¾Ð²Ð°Ñ ÑƒÑтановка -block.thermal-pump.name = Термальный наÑÐ¾Ñ +block.impulse-pump.name = Термальный наÑÐ¾Ñ block.thermal-generator.name = Термальный генератор -block.alloy-smelter.name = ÐŸÐ»Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ ÐºÐ¸Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑкого Ñплава +block.surge-smelter.name = ÐŸÐ»Ð°Ð²Ð¸Ð»ÑŒÐ½Ñ ÐºÐ¸Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑкого Ñплава block.mender.name = Регенератор block.mend-projector.name = Ремонтирующий проектор -block.surge-wall.name = Стена из кинетичеÑкого Ñплава -block.surge-wall-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ñтена из кинетичеÑкого Ñплава +block.surge-wall.name = КинетичеÑÐºÐ°Ñ Ñтена +block.surge-wall-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ ÐºÐ¸Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñтена block.cyclone.name = Циклон block.fuse.name = Взрыватель block.shock-mine.name = Ð¨Ð¾ÐºÐ¾Ð²Ð°Ñ Ð¼Ð¸Ð½Ð° @@ -1220,9 +1745,9 @@ block.meltdown.name = ИÑпепелитель block.foreshadow.name = Знамение block.container.name = Контейнер block.launch-pad.name = ПуÑÐºÐ¾Ð²Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ° -block.launch-pad-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ð¿ÑƒÑÐºÐ¾Ð²Ð°Ñ Ð¿Ð»Ð¾Ñ‰Ð°Ð´ÐºÐ° +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Сегмент -block.command-center.name = Командный центр block.ground-factory.name = ÐÐ°Ð·ÐµÐ¼Ð½Ð°Ñ Ñ„Ð°Ð±Ñ€Ð¸ÐºÐ° block.air-factory.name = Ð’Ð¾Ð·Ð´ÑƒÑˆÐ½Ð°Ñ Ñ„Ð°Ð±Ñ€Ð¸ÐºÐ° block.naval-factory.name = МорÑÐºÐ°Ñ Ñ„Ð°Ð±Ñ€Ð¸ÐºÐ° @@ -1232,14 +1757,179 @@ block.exponential-reconstructor.name = ЭкÑпоненциальный реко block.tetrative-reconstructor.name = Тетративный реконÑтруктор block.payload-conveyor.name = Грузовой конвейер block.payload-router.name = Разгрузочный маршрутизатор +block.duct.name = Предметный канал +block.duct-router.name = Канальный маршрутизатор +block.duct-bridge.name = Канальный моÑÑ‚ +block.large-payload-mass-driver.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ð³Ñ€ÑƒÐ·Ð¾Ð²Ð°Ñ ÐºÐ°Ñ‚Ð°Ð¿ÑƒÐ»ÑŒÑ‚Ð° +block.payload-void.name = Грузовой вакуум +block.payload-source.name = Грузовой иÑточник block.disassembler.name = Разборщик block.silicon-crucible.name = Кремниевый тигель block.overdrive-dome.name = Сверхприводный купол -#experimental, may be removed -block.block-forge.name = Завод блоков -block.block-loader.name = Загрузчик блоков -block.block-unloader.name = Разгрузчик блоков block.interplanetary-accelerator.name = Межпланетный уÑкоритель +block.constructor.name = КонÑтруктор +block.constructor.description = Производит грузы размером 1x1 и 2x2 +block.large-constructor.name = Большой конÑтруктор +block.large-constructor.description = Производит грузы размером 3x3 и 4x4 +block.deconstructor.name = Большой деконÑтруктор +block.deconstructor.description = Разбирает грузы и боевые единицы Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸ÐµÐ¼ 100% иÑпользованных реÑурÑов на их производÑтво. +block.payload-loader.name = Грузовой загрузчик +block.payload-loader.description = Загружает жидкоÑти и реÑурÑÑ‹ в груз. +block.payload-unloader.name = Грузовой разгрузчик +block.payload-unloader.description = Выгружает жидкоÑти и реÑурÑÑ‹ из груза. +block.heat-source.name = ИÑточник тепла +block.heat-source.description = Блок 1x1, дающий практичеÑки беÑконечное количеÑтво тепла. +block.empty.name = ПуÑто +block.rhyolite-crater.name = Риолитовый кратер +block.rough-rhyolite.name = Грубый риолит +block.regolith.name = Реголит +block.yellow-stone.name = Жёлтый камень +block.carbon-stone.name = Углеродный камень +block.ferric-stone.name = ЖелезнÑк +block.ferric-craters.name = Железокаменные кратеры +block.beryllic-stone.name = Берилловый камень +block.crystalline-stone.name = КриÑталличеÑкий камень +block.crystal-floor.name = КриÑÑ‚Ð°Ð»ÑŒÐ½Ð°Ñ Ð·ÐµÐ¼Ð»Ñ +block.yellow-stone-plates.name = Жёлтые каменные плиты +block.red-stone.name = КраÑный камень +block.dense-red-stone.name = Плотный краÑный камень +block.red-ice.name = КраÑный лёд +block.arkycite-floor.name = Ðркицитовый пол +block.arkyic-stone.name = ÐркичеÑкий камень +block.rhyolite-vent.name = Риолитовое жерло +block.carbon-vent.name = Углеродное жерло +block.arkyic-vent.name = ÐркичеÑкое жерло +block.yellow-stone-vent.name = Жёлтокаменное жерло +block.red-stone-vent.name = КраÑнокаменное жерло +block.crystalline-vent.name = КриÑталличеÑкое жерло +block.redmat.name = КраÑÐ½Ð°Ñ Ð·ÐµÐ¼Ð»Ñ +block.bluemat.name = СинÑÑ Ð·ÐµÐ¼Ð»Ñ +block.core-zone.name = Зона Ñдра +block.regolith-wall.name = Ð ÐµÐ³Ð¾Ð»Ð¸Ñ‚Ð¾Ð²Ð°Ñ Ñтена +block.yellow-stone-wall.name = Ð–Ñ‘Ð»Ñ‚Ð¾ÐºÐ°Ð¼ÐµÐ½Ð½Ð°Ñ Ñтена +block.rhyolite-wall.name = Ð Ð¸Ð¾Ð»Ð¸Ñ‚Ð¾Ð²Ð°Ñ Ñтена +block.carbon-wall.name = Ð£Ð³Ð»ÐµÑ€Ð¾Ð´Ð½Ð°Ñ Ñтена +block.ferric-stone-wall.name = Ð–ÐµÐ»ÐµÐ·Ð¾ÐºÐ°Ð¼ÐµÐ½Ð½Ð°Ñ Ñтена +block.beryllic-stone-wall.name = Ð‘ÐµÑ€Ð¸Ð»Ð»Ð¾Ð²Ð°Ñ ÐºÐ°Ð¼ÐµÐ½Ð½Ð°Ñ Ñтена +block.arkyic-wall.name = ÐркичеÑÐºÐ°Ñ Ñтена +block.crystalline-stone-wall.name = КриÑталличеÑÐºÐ°Ñ ÐºÐ°Ð¼ÐµÐ½Ð½Ð°Ñ Ñтена +block.red-ice-wall.name = КраÑÐ½Ð°Ñ Ð»ÐµÐ´ÑÐ½Ð°Ñ Ñтена +block.red-stone-wall.name = КраÑÐ½Ð°Ñ ÐºÐ°Ð¼ÐµÐ½Ð½Ð°Ñ Ñтена +block.red-diamond-wall.name = КраÑÐ½Ð°Ñ Ð°Ð»Ð¼Ð°Ð·Ð½Ð°Ñ Ñтена +block.redweed.name = КраÑный ÑорнÑк +block.pur-bush.name = Фиолетовый куÑÑ‚ +block.yellowcoral.name = Желтый коралл +block.carbon-boulder.name = Углеродный валун +block.ferric-boulder.name = Железокаменный валун +block.beryllic-boulder.name = Берилловый валун +block.yellow-stone-boulder.name = Жёлтокаменный валун +block.arkyic-boulder.name = ÐркичеÑкий валун +block.crystal-cluster.name = КриÑталловый клаÑтер +block.vibrant-crystal-cluster.name = Яркий криÑталловый клаÑтер +block.crystal-blocks.name = КриÑтальные блоки +block.crystal-orbs.name = КриÑтальные Ñферы +block.crystalline-boulder.name = КриÑталличеÑкий валун +block.red-ice-boulder.name = КраÑный ледÑной валун +block.rhyolite-boulder.name = Риолитовый валун +block.red-stone-boulder.name = КраÑный каменный валун +block.graphitic-wall.name = Ð“Ñ€Ð°Ñ„Ð¸Ñ‚Ð¾Ð²Ð°Ñ Ñтена +block.silicon-arc-furnace.name = ÐšÑ€ÐµÐ¼Ð½Ð¸ÐµÐ²Ð°Ñ Ð´ÑƒÐ³Ð¾Ð²Ð°Ñ Ð¿ÐµÑ‡ÑŒ +block.electrolyzer.name = Электролизер +block.atmospheric-concentrator.name = ÐтмоÑферный концентратор +block.oxidation-chamber.name = ОкиÑÐ»Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐºÐ°Ð¼ÐµÑ€Ð° +block.electric-heater.name = ЭлектричеÑкий нагреватель +block.slag-heater.name = Шлаковый нагреватель +block.phase-heater.name = Фазовый нагреватель +block.heat-redirector.name = Тепловой перенаправитель +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Тепловой маршрутизатор +block.slag-incinerator.name = МуÑороÑÐ¶Ð¸Ð³Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð¿ÐµÑ‡ÑŒ +block.carbide-crucible.name = Карбидовый тигель +block.slag-centrifuge.name = Ð¨Ð»Ð°ÐºÐ¾Ð²Ð°Ñ Ñ†ÐµÐ½Ñ‚Ñ€Ð¸Ñ„ÑƒÐ³Ð° +block.surge-crucible.name = Тигель кинетичеÑкого Ñплава +block.cyanogen-synthesizer.name = Синтезатор циана +block.phase-synthesizer.name = Фазовый Ñинтезатор +block.heat-reactor.name = Тепловой реактор +block.beryllium-wall.name = Ð‘ÐµÑ€Ð¸Ð»Ð»Ð¸ÐµÐ²Ð°Ñ Ñтена +block.beryllium-wall-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ð±ÐµÑ€Ð¸Ð»Ð»Ð¸ÐµÐ²Ð°Ñ Ñтена +block.tungsten-wall.name = Ð’Ð¾Ð»ÑŒÑ„Ñ€Ð°Ð¼Ð¾Ð²Ð°Ñ Ñтена +block.tungsten-wall-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ð²Ð¾Ð»ÑŒÑ„Ñ€Ð°Ð¼Ð¾Ð²Ð°Ñ Ñтена +block.blast-door.name = ÐвтоматичеÑÐºÐ°Ñ Ð´Ð²ÐµÑ€ÑŒ +block.carbide-wall.name = ÐšÐ°Ñ€Ð±Ð¸Ð´Ð¾Ð²Ð°Ñ Ñтена +block.carbide-wall-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ ÐºÐ°Ñ€Ð±Ð¸Ð´Ð¾Ð²Ð°Ñ Ñтена +block.reinforced-surge-wall.name = УÑÐ¸Ð»ÐµÐ½Ð½Ð°Ñ ÐºÐ¸Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñтена +block.reinforced-surge-wall-large.name = Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ ÑƒÑÐ¸Ð»ÐµÐ½Ð½Ð°Ñ ÐºÐ¸Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑÐºÐ°Ñ Ñтена +block.shielded-wall.name = Ð­ÐºÑ€Ð°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñтена +block.radar.name = Радар +block.build-tower.name = Ð¡Ñ‚Ñ€Ð¾Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð±Ð°ÑˆÐ½Ñ +block.regen-projector.name = Регенерирующий проектор +block.shockwave-tower.name = Ударно-Ð²Ð¾Ð»Ð½Ð¾Ð²Ð°Ñ Ð±Ð°ÑˆÐ½Ñ +block.shield-projector.name = Экранный проектор +block.large-shield-projector.name = Большой Ñкранный проектор +block.armored-duct.name = Защищённый предметный канал +block.overflow-duct.name = Избыточный канальный затвор +block.underflow-duct.name = Избыточный канальный шлюз +block.duct-unloader.name = Канальный разгрузчик +block.surge-conveyor.name = КинетичеÑкий конвейер +block.surge-router.name = КинетичеÑкий маршрутизатор +block.unit-cargo-loader.name = Точка погрузки +block.unit-cargo-unload-point.name = Точка выгрузки +block.reinforced-pump.name = УÑиленный наÑÐ¾Ñ +block.reinforced-conduit.name = УÑиленный трубопровод +block.reinforced-liquid-junction.name = УÑиленный жидкоÑтный перекреÑток +block.reinforced-bridge-conduit.name = УÑиленный моÑтовой трубопровод +block.reinforced-liquid-router.name = УÑиленный жидкоÑтный маршрутизатор +block.reinforced-liquid-container.name = УÑÐ¸Ð»ÐµÐ½Ð½Ð°Ñ Ð¶Ð¸Ð´ÐºÐ¾ÑÑ‚Ð½Ð°Ñ Ñ†Ð¸Ñтерна +block.reinforced-liquid-tank.name = УÑиленный жидкоÑтный бак +block.beam-node.name = Лучевой узел +block.beam-tower.name = Ð›ÑƒÑ‡ÐµÐ²Ð°Ñ Ð±Ð°ÑˆÐ½Ñ +block.beam-link.name = Лучевой Ñоединитель +block.turbine-condenser.name = Турбинный конденÑатор +block.chemical-combustion-chamber.name = ХимичеÑÐºÐ°Ñ ÐºÐ°Ð¼ÐµÑ€Ð° ÑÐ³Ð¾Ñ€Ð°Ð½Ð¸Ñ +block.pyrolysis-generator.name = Пиролизный генератор +block.vent-condenser.name = Жерловой конденÑатор +block.cliff-crusher.name = Дробитель Ñкал +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Плазменный бур +block.large-plasma-bore.name = Большой плазменный бур +block.impact-drill.name = Ð£Ð´Ð°Ñ€Ð½Ð°Ñ Ð´Ñ€ÐµÐ»ÑŒ +block.eruption-drill.name = Ð˜Ð·Ð²ÐµÑ€Ð³Ð°ÑŽÑ‰Ð°Ñ Ð´Ñ€ÐµÐ»ÑŒ +block.core-bastion.name = Ядро: «БаÑтион» +block.core-citadel.name = Ядро: «Цитадель» +block.core-acropolis.name = Ядро: «Ðкрополь» +block.reinforced-container.name = УÑиленный контейнер +block.reinforced-vault.name = Укрепленное хранилище +block.breach.name = Разрыв +block.sublimate.name = ÐŸÐ»Ð°Ð¼Ñ +block.titan.name = Титан +block.disperse.name = Диапазон +block.afflict.name = БедÑтвие +block.lustre.name = СиÑние +block.scathe.name = Погибель +block.tank-refabricator.name = Рефабрикатор танков +block.mech-refabricator.name = Рефабрикатор мехов +block.ship-refabricator.name = Рефабрикатор кораблей +block.tank-assembler.name = Сборщик танков +block.ship-assembler.name = Сборщик кораблей +block.mech-assembler.name = Сборщик мехов +block.reinforced-payload-conveyor.name = Укрепленный грузовой конвейер +block.reinforced-payload-router.name = Укрепленный разгрузочный маршрутизатор +block.payload-mass-driver.name = Ð“Ñ€ÑƒÐ·Ð¾Ð²Ð°Ñ ÐºÐ°Ñ‚Ð°Ð¿ÑƒÐ»ÑŒÑ‚Ð° +block.small-deconstructor.name = ДеконÑтруктор +block.canvas.name = ХолÑÑ‚ +block.world-processor.name = Мировой процеÑÑор +block.world-cell.name = ÐœÐ¸Ñ€Ð¾Ð²Ð°Ñ Ñчейка памÑти +block.tank-fabricator.name = КонÑтруктор танков +block.mech-fabricator.name = КонÑтруктор мехов +block.ship-fabricator.name = КонÑтруктор кораблей +block.prime-refabricator.name = ОÑновной рефабрикатор +block.unit-repair-tower.name = Ð ÐµÐ¼Ð¾Ð½Ñ‚Ð¸Ñ€ÑƒÑŽÑ‰Ð°Ñ Ð±Ð°ÑˆÐ½Ñ +block.diffuse.name = Ð Ð°Ð·Ð±Ñ€Ð¾Ñ +block.basic-assembler-module.name = Базовый Ñборочный модуль +block.smite.name = Кара +block.malign.name = Злоба +block.flux-reactor.name = Потоковый реактор +block.neoplasia-reactor.name = Ðеоплазменный реактор block.switch.name = Переключатель block.micro-processor.name = МикропроцеÑÑор @@ -1249,54 +1939,105 @@ block.logic-display.name = ЛогичеÑкий диÑплей block.large-logic-display.name = Большой логичеÑкий диÑплей block.memory-cell.name = Ячейка памÑти block.memory-bank.name = Блок памÑти - -team.blue.name = СинÑÑ -team.crux.name = КраÑÐ½Ð°Ñ -team.sharded.name = ÐžÑ€Ð°Ð½Ð¶ÐµÐ²Ð°Ñ -team.orange.name = ÐžÑ€Ð°Ð½Ð¶ÐµÐ²Ð°Ñ +team.malis.name = ÐœÐ°Ð»Ð¸Ñ +team.crux.name = ÐгреÑÑоры +team.sharded.name = РаÑколотые team.derelict.name = ÐŸÐ¾ÐºÐ¸Ð½ÑƒÑ‚Ð°Ñ team.green.name = Ð—ÐµÐ»Ñ‘Ð½Ð°Ñ -team.purple.name = Ð¤Ð¸Ð¾Ð»ÐµÑ‚Ð¾Ð²Ð°Ñ +team.blue.name = СинÑÑ hint.skip = ПропуÑтить hint.desktopMove = ИÑпользуйте [accent][[WASD][], чтобы двигатьÑÑ. hint.zoom = [accent]Покрутите колеÑо мыши[] Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð±Ð»Ð¸Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ Ð¾Ñ‚Ð´Ð°Ð»ÐµÐ½Ð¸Ñ ÐºÐ°Ð¼ÐµÑ€Ñ‹. -hint.mine = ПриблизьтеÑÑŒ к \uf8c4 медной руде и [accent]нажмите[] на неё Ð´Ð»Ñ Ñ€ÑƒÑ‡Ð½Ð¾Ð¹ добычи. hint.desktopShoot = ИÑпользуйте [accent][[Левую кнопку мыши][] Ð´Ð»Ñ Ñтрельбы. hint.depositItems = Чтобы перенеÑти предметы, перетÑните их Ñ Ð²Ð°ÑˆÐµÐ³Ð¾ ÐºÐ¾Ñ€Ð°Ð±Ð»Ñ Ð² Ñдро. -hint.respawn = Чтобы заново поÑвитьÑÑ Ð² корабле нажмите [accent][[V][]. -hint.respawn.mobile = Ð’Ñ‹ переключили управление единицей/Ñтруктурой. Чтобы заново поÑвитьÑÑ Ð² корабле, [accent]нажмите на аватар Ñлева Ñверху.[] +hint.respawn = Чтобы заново поÑвитьÑÑ Ð² корабле, нажмите [accent][[V][]. +hint.respawn.mobile = Ð’Ñ‹ переключили управление единицей/поÑтройкой. Чтобы заново поÑвитьÑÑ Ð² корабле, [accent]нажмите на аватар Ñлева Ñверху.[] hint.desktopPause = Ðажмите [accent][[Пробел][] Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð¾Ñтановки и Ð²Ð¾Ð·Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð³Ñ€Ñ‹. -hint.placeDrill = Выберите в меню Ñправа внизу вкладку \ue85e [accent]Добычи[], затем выберите \uf870 [accent]Бур[] и нажмите на медные вкраплениÑ, чтобы размеÑтить его. -hint.placeDrill.mobile = Выберите в меню Ñправа внизу вкладку \ue85e [accent]Добычи[], затем выберите \uf870 [accent]Бур[] и коÑнитеÑÑŒ медных вкраплений, чтобы размеÑтить его.\n\nÐажмите \ue800 [accent]галочку[] Ñправа внизу Ð´Ð»Ñ Ð¿Ð¾Ð´Ñ‚Ð²ÐµÑ€Ð¶Ð´ÐµÐ½Ð¸Ñ. -hint.placeConveyor = Конвейеры перемещают предметы из буров в другие блоки. Выберите \uf896 [accent]Конвейер[] во вкладке \ue814 [accent]ТранÑпортировки[].\n\nÐажмите и перемеÑтите курÑор Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких конвейеров.\n[accent]Покрутите колеÑо мыши[] Ð´Ð»Ñ Ñмены направлениÑ. -hint.placeConveyor.mobile = Конвейеры перемещают предметы из буров в другие блоки. Выберите \uf896 [accent]Конвейер[] во вкладке \ue814 [accent]ТранÑпортировки[].\n\nУдерживайте палец Ñекунду, а затем перемеÑтите Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½ÐµÑкольких конвейеров. -hint.placeTurret = УÑтановите \uf861 [accent]Турели[] Ð´Ð»Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ Ñвоей базы от врагов.\n\nТурелÑм требуютÑÑ Ð±Ð¾ÐµÐ¿Ñ€Ð¸Ð¿Ð°ÑÑ‹ — в данном Ñлучае \uf838медные.\nИÑпользуйте конвейеры и буры Ð´Ð»Ñ Ð¸Ñ… подачи. hint.breaking = Выделите блоки в рамку [accent]правой кнопкой мыши[], чтобы разобрать их. hint.breaking.mobile = Ðктивируйте \ue817 [accent]молоток[] в правом нижнем углу и нажимайте на блоки, чтобы разобрать их. Удерживайте палец в течение Ñекунды и перемеÑтите, чтобы разобрать выделением. +hint.blockInfo = Ð”Ð»Ñ Ð¿Ñ€Ð¾Ñмотра информации о блоке, выберите его в [accent]меню ÑтроительÑтва[], затем нажмите на кнопку [accent][[?][] Ñправа. +hint.derelict = [accent]Покинутые[] поÑтройки - Ñто оÑтатки Ñтарых баз, которые больше не функционируют.\n\nОни могут быть [accent]разобраны[] Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñ€ÐµÑурÑов. hint.research = ИÑпользуйте кнопку \ue875 [accent]ИÑÑледований[], чтобы иÑÑледовать новые технологии. hint.research.mobile = ИÑпользуйте кнопку \ue875 [accent]ИÑÑледований[] в \ue88c [accent]Меню[], чтобы иÑÑледовать новые технологии. hint.unitControl = Зажмите [accent][[Л-Ctrl][] и [accent]нажмите левую кнопку мыши[], чтобы контролировать дружеÑтвенные единицы и турели. hint.unitControl.mobile = [accent]Дважды коÑнитеÑÑŒ[], чтобы контролировать дружеÑтвенные единицы и турели. +hint.unitSelectControl = Чтобы управлÑть боевыми единицами, войдите в [accent]режим командованиÑ[], зажав [accent]L-shift.[]\nÐ’ режиме комадованиÑ, нажмите и перетаÑкивайте Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° боевых единиц. Ðажмите [accent]правой кнопкой мыши[] по меÑту или цели, чтобы отправить их туда. +hint.unitSelectControl.mobile = Чтобы управлÑть боевыми единицами, войдите в [accent]режим командованиÑ[], нажав на кнопку [accent]"Командовать"[] внизу Ñлева.\nÐ’ режиме командованиÑ, зажмите и перетаÑкивайте Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° боевых единиц. Ðажмите пальцем по меÑту или цели, чтобы отправить их туда. hint.launch = Как только будет Ñобрано доÑтаточно реÑурÑов, вы Ñможете оÑущеÑтвить [accent]ЗапуÑк[], выбрав близлежащие Ñекторы на \ue827 [accent]Карте[] из правого нижнего угла. hint.launch.mobile = Как только будет Ñобрано доÑтаточно реÑурÑов, вы Ñможете оÑущеÑтвить [accent]ЗапуÑк[], выбрав близлежащие Ñекторы на \ue827 [accent]Карте[] в \ue88c [accent]Меню[]. hint.schematicSelect = Зажмите [accent][[F][] и перемеÑтите, чтобы выбрать блоки Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑтавки.\n\nЩелкните [accent][[колёÑиком][] по блоку Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ. +hint.rebuildSelect = Удерживайте [accent][[B][] и перетаÑкивайте, чтобы выбрать уничтоженные блоки.\nОни будут переÑтроены автоматичеÑки. +hint.rebuildSelect.mobile = Выберите кнопку \ue874 копированиÑ, затем нажмите кнопку \ue80f переÑтройки, и проведите Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° уничтоженных блоков.\nЭто переÑтроит их автоматичеÑки. hint.conveyorPathfind = Удерживайте [accent][[Л-Ctrl][] при размещении конвейеров Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой прокладки пути. hint.conveyorPathfind.mobile = Включите \ue844 [accent]диагональный режим[] и перетащите конвейеры Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑкой прокладки пути. hint.boost = Удерживайте [accent][[Л-Shift][], чтобы пролететь над препÑÑ‚ÑтвиÑми при помощи вашей единицы.\n\nТолько некоторые наземные единицы могут взлетать. -hint.command = Ðажмите [accent][[G][], чтобы объединить ближайшие единицы [accent]Ñхожего типа[] в группу.\n\nЧтобы управлÑть наземными единицами, вы должны Ñначала взÑть под контроль другую наземную единицу. -hint.command.mobile = [accent][[Дважды нажмите][] на вашу единицу, чтобы объединить ближайшие единицы в группу. hint.payloadPickup = Ðажмите [accent][[[], чтобы подобрать маленькие блоки или единицы. hint.payloadPickup.mobile = [accent]Ðажмите и удерживайте[] палец на маленьком блоке или единице, чтобы подобрать их. hint.payloadDrop = Ðажмите [accent]][], чтобы ÑброÑить груз. hint.payloadDrop.mobile = [accent]Ðажмите и удерживайте[] палец на пуÑтой локации, чтобы ÑброÑить туда груз. hint.waveFire = Турели [accent]Волна[] при подаче воды будут автоматичеÑки тушить пожары вокруг. -hint.generator = \uf879 [accent]Генераторы внутреннего ÑгораниÑ[] Ñжигают уголь и передают Ñнергию Ñ€ÑдомÑтоÑщим блокам.\n\nДальноÑть передачи Ñнергии может быть увеличена при помощи \uf87f [accent]Ñиловых узлов[]. -hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпаÑÑ‹, такие как [accent]медь[] и [accent]Ñвинец[], [scarlet]не Ñффективны[].\n\ИÑпользуйте турели выÑокого ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¸Ð»Ð¸ \uf835 [accent]графитные[] боеприпаÑÑ‹ в \uf861двойных турелÑÑ…/\uf859залпах, чтобы уничтожить Стража. -hint.coreUpgrade = Ядра могут быть улучшены путем [accent]Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½Ð°Ð´ ними Ñдер более выÑокого уровнÑ[].\n\nПомеÑтите Ñдро  [accent]Штаб[] поверх Ñдра ï¡© [accent]ОÑколок[]. УбедитеÑÑŒ, что никакие препÑÑ‚ÑÑ‚Ð²Ð¸Ñ Ð½Ðµ мешают ему. +hint.generator = \uf879 [accent]Генераторы внутреннего ÑгораниÑ[] Ñжигают уголь и передают Ñнергию Ñ€Ñдом ÑтоÑщим блокам.\n\nДальноÑть передачи Ñнергии может быть увеличена при помощи \uf87f [accent]Ñиловых узлов[]. +hint.guardian = [accent]Стражи[] бронированы. Слабые боеприпаÑÑ‹, такие как [accent]медь[] и [accent]Ñвинец[], [scarlet]не Ñффективны[].\n\nИÑпользуйте турели выÑокого ÑƒÑ€Ð¾Ð²Ð½Ñ Ð¸Ð»Ð¸ \uf835 [accent]графитные[] боеприпаÑÑ‹ в \uf861двойных турелÑÑ…/\uf859залпах, чтобы уничтожить Стража. +hint.coreUpgrade = Ядра могут быть улучшены путем [accent]Ñ€Ð°Ð·Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð½Ð°Ð´ ними Ñдер более выÑокого уровнÑ[].\n\nПомеÑтите Ñдро \uf868 [accent]Штаб[] поверх Ñдра \uf869 [accent]ОÑколок[]. УбедитеÑÑŒ, что никакие препÑÑ‚ÑÑ‚Ð²Ð¸Ñ Ð½Ðµ мешают ему. hint.presetLaunch = Ð’ Ñерые [accent]Ñекторы Ñ Ð¿Ð¾Ñадочными зонами[], такие как [accent]ЛедÑной леÑ[], можно запуÑкатьÑÑ Ð¸Ð· любого меÑта. Они не требуют захвата близлежащей территории.\n\n[accent]Ðумерованные Ñекторы[], такие как Ñтот, [accent]не обÑзательны[] Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ. +hint.presetDifficulty = У Ñтого Ñектора [scarlet]выÑокий уровень угрозы[].\nЗапуÑк на такие Ñектора [accent]не рекомендуетÑÑ[] без доÑтаточных технологий и подготовки. hint.coreIncinerate = ПоÑле того, как Ñдро будет заполнено предметом до отказа, любые лишние входÑщие предметы Ñтого типа будут [accent]Ñожжены[]. -hint.coopCampaign = Во Ð²Ñ€ÐµÐ¼Ñ Ð¸Ð³Ñ€Ñ‹ в [accent]кампанию по Ñети[], произведённые на текущей карте предметы будут также отправлены [accent]на ваши локальные Ñекторы[].\n\nЛюбое иÑÑледование Ñо Ñтороны хоÑта также будет перенеÑено. +hint.factoryControl = Чтобы уÑтановить [accent]меÑто вывода единиц[] фабрики, щелкните на блок фабрики в командном режиме, затем щелкните правой кнопкой мыши на ÑоответÑтвующее меÑто.\nЕдиницы, произведенные ею, автоматичеÑки перемеÑÑ‚ÑÑ‚ÑÑ Ñ‚ÑƒÐ´Ð°. +hint.factoryControl.mobile = Чтобы уÑтановить [accent]меÑто вывода единиц[] фабрики, нажмите на блок фабрики в командном режиме, затем нажмите на ÑоответÑтвующее меÑто.\nЕдиницы, произведенные ею, будут автоматичеÑки перемещены туда. + +gz.mine = ПриблизьтеÑÑŒ к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать. +gz.mine.mobile = ПриблизьтеÑÑŒ к \uf8c4 [accent]медной руде[] на земле и нажмите на нее, чтобы начать копать. +gz.research = Откройте дерево технологий \ue875.\nИÑÑледуйте \uf870 [accent]МеханичеÑкий бур[], затем выберите его в меню в правом нижнем углу.\nÐажмите на медную руду, чтобы начать ÑтроительÑтво бура. +gz.research.mobile = Откройте дерево технологий \ue875.\nИÑÑледуйте \uf870 [accent]МеханичеÑкий бур[], затем выберите его в меню Ñправа внизу.\nÐажмите на медную руду, чтобы размеÑтить бур.\n\nÐажмите на \ue800 [accent]галочку[] Ñправа внизу, чтобы подтвердить ÑтроительÑтво. +gz.conveyors = ИÑÑледуйте и размеÑтите \uf896 [accent]конвейеры[] Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ñ‹Ñ‚Ñ‹Ñ… реÑурÑов\nот буров до Ñдра.\n\nЗажмите и перетащите, чтобы размеÑтить неÑколько конвейеров.\n[accent]Scroll[] Ð´Ð»Ñ Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ. +gz.conveyors.mobile = ИÑÑледуйте и размеÑтите \uf896 [accent]конвейеры[] Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð´Ð¾Ð±Ñ‹Ñ‚Ñ‹Ñ… реÑурÑов\nот буровых до Ñдра.\n\nЗадержите палец на Ñекунду и перетащите его, чтобы размеÑтить неÑколько конвейеров. +gz.drills = \nУвеличьте объемы добычи.\nПомеÑтите больше механичеÑких буров.\nДобудьте 100 Ñлитков меди. +gz.lead = \uf837 [accent]Свинец[] - еще один чаÑто иÑпользуемый реÑурÑ.\nПодготовьте буры Ð´Ð»Ñ Ð´Ð¾Ð±Ñ‹Ñ‡Ð¸ Ñвинца. +gz.moveup = \ue804 ДвигайтеÑÑŒ вверх Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐ¸Ñ… указаний. +gz.turrets = ИÑÑледуйте и поÑтавьте 2 \uf861 [accent]Двойные турели[] Ð´Ð»Ñ Ð·Ð°Ñ‰Ð¸Ñ‚Ñ‹ Ñдра.\nДвойные турели требуют \uf838 [accent]боеприпаÑÑ‹[] Ñ ÐºÐ¾Ð½Ð²ÐµÐ¹ÐµÑ€Ð¾Ð². +gz.duoammo = Снабдите двойные турели [accent]медью[] Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ конвейеров. +gz.walls = [accent]Стены[] могут предотвратить повреждение близлежащих поÑтроек.\nПоÑтавьте \uf8ae [accent]медные Ñтены[] вокруг турелей. +gz.defend = Враг на подходе, приготовьтеÑÑŒ защищатьÑÑ. +gz.aa = Летающие боевые единицы не могут быть легко уничтожены Ñтандартными турелÑми.\n\uf860 РаÑÑеиватели[] предоÑтавлÑÑŽÑ‚ отличную противовоздушную оборону, но требуют \uf837 [accent]Ñвинец[] в качеÑтве боеприпаÑов. +gz.scatterammo = Снабдите РаÑÑеиватель [accent]Ñвинцом[] Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ конвейеров. +gz.supplyturret = [accent]Запитайте турель. +gz.zone1 = Это - вражеÑÐºÐ°Ñ Ð·Ð¾Ð½Ð° выÑадки. +gz.zone2 = Ð’Ñе, что поÑтроено в её радиуÑе, будет уничтожено Ñ Ð½Ð°Ñ‡Ð°Ð»Ð¾Ð¼ волны. +gz.zone3 = Волна начнётÑÑ Ð¿Ñ€Ñмо ÑейчаÑ.\nПриготовьтеÑÑŒ. +gz.finish = ПоÑтройте больше турелей, добудьте больше реÑурÑов,\nи отÑтойте вÑе волны, чтобы [accent]захватить Ñектор[]. + +onset.mine = Ðажмите, чтобы добыть \uf748 [accent]бериллий[] из Ñтен.\n\nИÑпользуйте [accent][[WASD] Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð²Ð¸Ð¶ÐµÐ½Ð¸Ñ. +onset.mine.mobile = Ðажмите, чтобы добыть \uf748 [accent]бериллий[] из Ñтен. +onset.research = Откройте \ue875 дерево иÑÑледований.\nИÑÑледуйте, затем поÑтавьте \uf73e [accent]турбинный конденÑатор[] на жерло.\nОна будет производить [accent]Ñнергию[]. +onset.bore = ИÑÑледуйте и поÑтавьте \uf741 [accent]плазменный бур[].\nОн будет автоматичеÑки добывать реÑурÑÑ‹ из Ñтен. +onset.power = Чтобы [accent]подключить[] плазменный бур, иÑÑледуйте и поÑтавьте \uf73d [accent]лучевой узел[].\nСоедините турбинный конденÑатор Ñ Ð¿Ð»Ð°Ð·Ð¼ÐµÐ½Ð½Ñ‹Ð¼ буром. +onset.ducts = ИÑÑледуйте и поÑтавьте \uf799 [accent]предметные каналы[] Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð·ÐºÐ¸ реÑурÑов из плазменного бура в Ñдро.\nПеретаÑкивайте Ð´Ð»Ñ ÑƒÑтановки неÑкольких каналов.\n[accent]Вращайте колёÑико мыши[] Ð´Ð»Ñ Ð¿Ð¾Ð²Ð¾Ñ€Ð¾Ñ‚Ð°. +onset.ducts.mobile = ИÑÑледуйте и поÑтавьте \uf799 [accent]предметные каналы[] Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ð¾Ð·ÐºÐ¸ реÑурÑов из плазменного бура в Ñдро.\nЗажмите палец на Ñекунду, затем перетаÑкивайте Ð´Ð»Ñ ÑƒÑтановки неÑкольких каналов. +onset.moremine = РаÑширьте добычу.\nПоÑтавьте больше плазменных буров и иÑпользуйте лучевые узлы и предметные каналы Ð´Ð»Ñ Ð¸Ñ… поддержки.\nДобудьте 200 бериллиÑ. +onset.graphite = Более продвинутые блоки требуют \uf835 [accent]графит[].\nПоÑтавьте плазменные буры Ð´Ð»Ñ Ð´Ð¾Ð±Ñ‹Ñ‡Ð¸ графита. +onset.research2 = Ðачните иÑÑледовать [accent]фабрики[].\nИÑÑледуйте \uf74d [accent]дробитель Ñкал[] и \uf779 [accent]кремниевую дуговую печь[]. +onset.arcfurnace = Ð”ÑƒÐ³Ð¾Ð²Ð°Ñ Ð¿ÐµÑ‡ÑŒ требует \uf834 [accent]пеÑок[] и \uf835 [accent]графит[] Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва \uf82f [accent]кремниÑ[].\nТакже нужна [accent]ÑнергиÑ[]. +onset.crusher = ИÑпользуйте \uf74d [accent]дробители Ñкал[] Ð´Ð»Ñ Ð´Ð¾Ð±Ñ‹Ñ‡Ð¸ пеÑка. +onset.fabricator = ИÑпользуйте [accent]боевые единицы[] Ð´Ð»Ñ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ°Ñ€Ñ‚Ñ‹, защиты поÑтроек и Ð½Ð°Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð° врага. ИÑÑледуйте и поÑтавьте \uf6a2 [accent]конÑтруктор танков[]. +onset.makeunit = Произведите боевую единицу.\nÐажмите на кнопку "?", чтобы узнать текущие необходимые реÑурÑÑ‹ Ð´Ð»Ñ Ñ„Ð°Ð±Ñ€Ð¸ÐºÐ¸. +onset.turrets = Боевые единицы Ñффективны, но [accent]турели[] предоÑтавлÑÑŽÑ‚ больший оборонный потенциал при их Ñффективном иÑпользовании.\nПоÑтавьте турель \uf6eb [accent]Разрыв[].\nТурели требуют \uf748 [accent]боеприпаÑÑ‹[]. +onset.turretammo = Снабдите турель [accent]бериллиевыми боеприпаÑами.[] +onset.walls = [accent]Стены[] могут предотвратить повреждение близлежащих поÑтроек.\nПоÑтавьте \uf6ee [accent]бериллиевые Ñтены[] вокруг турели. +onset.enemies = Враг на подходе, приготовьтеÑÑŒ защищатьÑÑ. +onset.defenses = [accent]Приготовьте оборону:[lightgray] {0} +onset.attack = Враг уÑзвим. Ðачните контратаку. +onset.cores = Ðовые Ñдра могут быть поÑтавлены на [accent]зоны Ñдра[].\nÐовые Ñдра функционируют как передовые базы и имеют общий инвентарь между другими Ñдрами.\nПоÑтавьте \uf725 Ñдро. +onset.detect = Враг обнаружит Ð²Ð°Ñ Ñ‡ÐµÑ€ÐµÐ· 2 минуты.\nПриготовьте оборону, добычу и производÑтво. +onset.commandmode = Удерживайте [accent]shift[], чтобы войти в [accent]режим командованиÑ[].\n[accent]Щелкните левой кнопкой мыши и выделите облаÑть[] Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° боевых единиц.\n[accent]Щелкните правой кнопкой мыши[], чтобы приказать выбранным единицам двигатьÑÑ Ð¸Ð»Ð¸ атаковать. +onset.commandmode.mobile = Ðажмите [accent]Командовать[], чтобы войти в [accent]режим командованиÑ[].\nЗажмите палец, затем [accent]выделите облаÑть[] Ð´Ð»Ñ Ð²Ñ‹Ð±Ð¾Ñ€Ð° боевых единиц.\n[accent]Ðажмите[], чтобы приказать выбранным единицам двигатьÑÑ Ð¸Ð»Ð¸ атаковать. +aegis.tungsten = Вольфрам может быть добыт [accent]ударной дрелью[].\nЭта поÑтройка требует [accent]воду[] и [accent]Ñнергию[]. + +split.pickup = Ðекоторые блоки можно подобрать боевой единицей Ñдра.\nВозьмите Ñтот [accent]контейнер[] и поÑтавьте его на [accent]грузовой загрузчик[].\n(Клавиши по умолчанию - [ и ] Ð´Ð»Ñ Ð¿Ð¾Ð´Ð½ÑÑ‚Ð¸Ñ Ð¸ разгрузки) +split.pickup.mobile = Ðекоторые блоки можно подобрать боевой единицей Ñдра.\nВозьмите Ñтот [accent]контейнер[] и поÑтавьте его на [accent]грузовой загрузчик[].\n(Чтобы поднÑть или разгрузить что-либо, удерживайте палец.) +split.acquire = Ð’Ñ‹ должны получить вольфрам Ð´Ð»Ñ Ð¿Ð¾Ñтройки боевых единиц. +split.build = Боевые единицы должны быть перенеÑены на другую Ñторону карты.\nПоÑтавьте две [accent]грузовые катапульты[], по одной Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ñтороны Ñтены.\nЧтобы Ñоединить их, нажмите на одну из катапульт, затем выберите другую. +split.container = Ðналогично Ñ ÐºÐ¾Ð½Ñ‚ÐµÐ¹Ð½ÐµÑ€Ð°Ð¼Ð¸, боевые единицы могут быть перенеÑены Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ [accent]грузовых катапульт[].\nПоÑтавьте конÑтруктор около катапульты Ð´Ð»Ñ Ð·Ð°Ð³Ñ€ÑƒÐ·ÐºÐ¸ боевых единиц, затем отправьте их через Ñтену Ð´Ð»Ñ Ð½Ð°Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ Ð½Ð° вражеÑкую базу. item.copper.description = ИÑпользуетÑÑ Ð²Ð¾ вÑех типах поÑтроек и боеприпаÑов. item.copper.details = Медь. Ðномально широко раÑпроÑтранённый металл на Серпуло. Структурно Ñлабый, еÑли не укреплён. @@ -1307,8 +2048,8 @@ item.graphite.description = ИÑпользуетÑÑ Ð² ÑлектричеÑки item.sand.description = ИÑпользуетÑÑ Ð² производÑтве других обработанных материалов. item.coal.description = ИÑпользуетÑÑ ÐºÐ°Ðº топливо и в производÑтве обработанных материалов. item.coal.details = Похоже, что Ñто окаменевшее раÑтительное вещеÑтво, образовавшееÑÑ Ð·Ð°Ð´Ð¾Ð»Ð³Ð¾ до ПоÑева. -item.titanium.description = Широко иÑпользуетÑÑ Ð² транÑпортировке жидкоÑтей, бурах и авиации. -item.thorium.description = ИÑпользуетÑÑ Ð² прочных поÑтройках и как Ñдерного топлива. +item.titanium.description = Широко иÑпользуетÑÑ Ð² транÑпортировке жидкоÑтей, бурах и фабриках. +item.thorium.description = ИÑпользуетÑÑ Ð² прочных поÑтройках и как Ñдерное топливо. item.scrap.description = ИÑпользуетÑÑ Ð² плавильнÑÑ… и измельчителÑÑ… Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… материалов. item.scrap.details = ОÑтатки Ñтарых поÑтроек и единиц. item.silicon.description = ИÑпользуетÑÑ Ð² Ñолнечных панелÑÑ…, Ñложной Ñлектронике и ÑамонаводÑщихÑÑ Ð±Ð¾ÐµÐ¿Ñ€Ð¸Ð¿Ð°Ñах Ð´Ð»Ñ Ñ‚ÑƒÑ€ÐµÐ»ÐµÐ¹. @@ -1316,26 +2057,39 @@ item.plastanium.description = ИÑпользуетÑÑ Ð² продвинутой item.phase-fabric.description = ИÑпользуетÑÑ Ð² продвинутой Ñлектронике и ÑамовоÑÑтанавливающихÑÑ Ð¿Ð¾Ñтройках. item.surge-alloy.description = ИÑпользуетÑÑ Ð² продвинутом вооружении и реактивных оборонительных поÑтройках. item.spore-pod.description = ИÑпользуетÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ в нефть, взрывчатку и топливо. -item.spore-pod.details = Споры. Похоже, ÑвлÑÑŽÑ‚ÑÑ ÑинтетичеÑкой формой жизни. ВыделÑÑŽÑ‚ газы, токÑичные Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… биологичеÑких форм жизни. Чрезвычайно инвазивны. Легко воÑпламенÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¸ определенных уÑловиÑÑ…. +item.spore-pod.details = Споры. Похоже, ÑвлÑÑŽÑ‚ÑÑ ÑинтетичеÑкой формой жизни. ВыделÑÑŽÑ‚ газы, токÑичные Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… биологичеÑких форм жизни. Чрезвычайно инвазивны. Легко воÑпламенÑÑŽÑ‚ÑÑ Ð¿Ñ€Ð¸ определённых уÑловиÑÑ…. item.blast-compound.description = ИÑпользуетÑÑ Ð² бомбах и взрывчатых вещеÑтвах. item.pyratite.description = ИÑпользуетÑÑ Ð² зажигательном оружии и твердотопливных генераторах. +item.beryllium.description = ИÑпользуетÑÑ Ð²Ð¾ многих блоках, единицах и боеприпаÑах на Эрекире. +item.tungsten.description = ИÑпользуетÑÑ Ð² буровых уÑтановках, броне и боеприпаÑах. ТребуетÑÑ Ð´Ð»Ñ ÑтроительÑтва более Ñовершенных конÑтрукций. +item.oxide.description = ИÑпользуетÑÑ Ð² качеÑтве проводника тепла и изолÑции. +item.carbide.description = ИÑпользуетÑÑ Ð² продвинутых конÑтрукциÑÑ…, более Ñ‚Ñжелых единицах и боеприпаÑах. liquid.water.description = ИÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ñ…Ð»Ð°Ð¶Ð´ÐµÐ½Ð¸Ñ Ð¼Ð°ÑˆÐ¸Ð½ и переработки отходов. liquid.slag.description = Может быть переработан в разделителе на ÑоÑтавлÑющие металлы или раÑпылён на врагов в качеÑтве оружиÑ. liquid.oil.description = ИÑпользуетÑÑ Ð² производÑтве продвинутых материалов и как зажигательный боеприпаÑ. liquid.cryofluid.description = ИÑпользуетÑÑ Ð² качеÑтве охлаждающей жидкоÑти Ð´Ð»Ñ Ñ€ÐµÐ°ÐºÑ‚Ð¾Ñ€Ð¾Ð², турелей и фабрик. +liquid.arkycite.description = ИÑпользуетÑÑ Ð² химичеÑких реакциÑÑ… Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва ÑлектроÑнергии и Ñинтеза материалов. +liquid.ozone.description = ИÑпользуетÑÑ ÐºÐ°Ðº окиÑлитель в производÑтве материалов и как топливо. Умеренно взрывоопаÑен. +liquid.hydrogen.description = ИÑпользуетÑÑ Ð¿Ñ€Ð¸ добыче реÑурÑов, производÑтве единиц и ремонте конÑтрукций. ЛегковоÑпламенÑющийÑÑ. +liquid.cyanogen.description = ИÑпользуетÑÑ Ð´Ð»Ñ Ð±Ð¾ÐµÐ¿Ñ€Ð¸Ð¿Ð°Ñов, ÑтроительÑтва продвинутых единиц и различных реакций в продвинутых блоках. ЛегковоÑпламенÑющиеÑÑ. +liquid.nitrogen.description = ИÑпользуетÑÑ Ð¿Ñ€Ð¸ добыче реÑурÑов и производÑтве единиц. Инертный. +liquid.neoplasm.description = ОпаÑный биологичеÑкий побочный продукт Ðеоплазмового реактора. БыÑтро раÑпроÑтранÑетÑÑ Ð½Ð° любой ÑоÑедний блок, Ñодержащий воду, Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ð°Ñ ÐµÐ³Ð¾ в процеÑÑе. Ð’ÑзкаÑ. +liquid.neoplasm.details = Ðеоплазма. ÐÐµÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð¼Ð°ÑÑа быÑтро делÑщихÑÑ ÑинтетичеÑких клеток Ñ ÐºÐ¾Ð½ÑиÑтенцией, напоминающей оÑадок. ТермоÑтойкаÑ. Чрезвычайно опаÑна Ð´Ð»Ñ Ð»ÑŽÐ±Ñ‹Ñ… поÑтроек, ÑвÑзанных Ñ Ð²Ð¾Ð´Ð¾Ð¹.\n\nСлишком Ñложна и неÑтабильна Ð´Ð»Ñ Ñтандартного анализа. Потенциальное применение неизвеÑтно. РекомендуетÑÑ Ñжигание в шлаковых баÑÑейнах. -block.resupply-point.description = СнарÑжает медными боеприпаÑами ближайшие боевые единицы. Ðе ÑовмеÑтим Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°Ð¼Ð¸, требующими Ð¿Ð¸Ñ‚Ð°Ð½Ð¸Ñ Ð¾Ñ‚ батареи. +block.derelict = \uf77e [lightgray]Заброшенный block.armored-conveyor.description = Перемещает предметы вперёд. Ðе принимает вход по бокам. block.illuminator.description = Излучает Ñвет. block.message.description = СохранÑет Ñообщение Ð´Ð»Ñ ÑвÑзи между Ñоюзниками. +block.reinforced-message.description = СохранÑет Ñообщение Ð´Ð»Ñ ÑвÑзи между Ñоюзниками. +block.world-message.description = Блок ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² Ñоздании карт. Ðе может быть уничтожен. block.graphite-press.description = Сжимает куÑки ÑƒÐ³Ð»Ñ Ð² лиÑты графита. block.multi-press.description = Сжимает куÑки ÑƒÐ³Ð»Ñ Ð² лиÑты графита. ТребуетÑÑ Ð²Ð¾Ð´Ð° в качеÑтве охлаждающей жидкоÑти. block.silicon-smelter.description = Синтезирует кремний из пеÑка и углÑ. block.kiln.description = ВыплавлÑет пеÑок и Ñвинец в метаÑтекло. block.plastanium-compressor.description = Производит плаÑтан из нефти и титана. block.phase-weaver.description = Синтезирует фазовую ткань из Ñ‚Ð¾Ñ€Ð¸Ñ Ð¸ пеÑка. -block.alloy-smelter.description = СоединÑет титан, Ñвинец, кремний и медь в кинетичеÑкий Ñплав. +block.surge-smelter.description = СоединÑет титан, Ñвинец, кремний и медь в кинетичеÑкий Ñплав. block.cryofluid-mixer.description = Смешивает воду и мелкий титановый порошок в криогенную жидкоÑть. block.blast-mixer.description = Производит взрывчатую ÑмеÑÑŒ из пиротита и Ñтручков Ñпор. block.pyratite-mixer.description = Смешивает уголь, Ñвинец и пеÑок в пиротит. @@ -1351,6 +2105,8 @@ block.item-source.description = ПоÑтоÑнно выдаёт предметы block.item-void.description = Уничтожает любые предметы. Только пеÑочница. block.liquid-source.description = ПоÑтоÑнно выдаёт жидкоÑть. Только пеÑочница. block.liquid-void.description = Уничтожает любые жидкоÑти. Только пеÑочница. +block.payload-source.description = ПоÑтоÑнно выдает грузы. Только пеÑочница. +block.payload-void.description = Уничтожает любые грузы. Только пеÑочница. block.copper-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. block.copper-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. block.titanium-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. @@ -1363,12 +2119,16 @@ block.phase-wall.description = Защищает поÑтройки от враж block.phase-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов, Ð¾Ñ‚Ñ€Ð°Ð¶Ð°Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½Ñтво пуль при ударе. block.surge-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов, периодичеÑки выпуÑкает ÑлектричеÑкий разрÑд при ударе. block.surge-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов, периодичеÑки выпуÑкает ÑлектричеÑкий разрÑд при ударе. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = Стена, которую можно открыть или закрыть нажатием. block.door-large.description = Стена, которую можно открыть или закрыть нажатием. block.mender.description = ПериодичеÑки ремонтирует блоки в непоÑредÑтвенной близоÑти.\nОпционально иÑпользует кремний Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÑŒÐ½Ð¾Ñти и ÑффективноÑти. block.mend-projector.description = ПериодичеÑки ремонтирует блоки в непоÑредÑтвенной близоÑти.\nОпционально иÑпользует фазовую ткань Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÑŒÐ½Ð¾Ñти и ÑффективноÑти. block.overdrive-projector.description = Увеличивает ÑкороÑть близлежащих зданий.\nОпционально иÑпользует фазовую ткань Ð´Ð»Ñ ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð°Ð»ÑŒÐ½Ð¾Ñти и ÑффективноÑти. -block.force-projector.description = Создает вокруг ÑÐµÐ±Ñ ÑˆÐµÑтиугольное Ñиловое поле, Ð·Ð°Ñ‰Ð¸Ñ‰Ð°Ñ Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸ боевые единицы внутри от повреждений.\nПерегреваетÑÑ, еÑли нанеÑено Ñлишком большое количеÑтво повреждений. Опционально иÑпользует охлаждающую жидкоÑть Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€ÐµÐ²Ð°. Ð¤Ð°Ð·Ð¾Ð²Ð°Ñ Ñ‚ÐºÐ°Ð½ÑŒ увеличивает размера щита. +block.force-projector.description = Создает вокруг ÑÐµÐ±Ñ ÑˆÐµÑтиугольное Ñиловое поле, Ð·Ð°Ñ‰Ð¸Ñ‰Ð°Ñ Ð·Ð´Ð°Ð½Ð¸Ñ Ð¸ боевые единицы внутри от повреждений.\nПерегреваетÑÑ, еÑли нанеÑено Ñлишком большое количеÑтво повреждений. Опционально иÑпользует охлаждающую жидкоÑть Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€ÐµÐ²Ð°. Ð¤Ð°Ð·Ð¾Ð²Ð°Ñ Ñ‚ÐºÐ°Ð½ÑŒ увеличивает размер щита. block.shock-mine.description = Ð’Ñ‹Ñвобождает ÑлектричеÑкий разрÑд при контакте Ñ Ð²Ñ€Ð°Ð¶ÐµÑкой единицей. block.conveyor.description = Перемещает предметы вперёд. block.titanium-conveyor.description = Перемещает предметы вперёд. БыÑтрее, чем Ñтандартный конвейер. @@ -1381,16 +2141,17 @@ block.inverted-sorter.description = Работает так же, как и ÑÑ‚ block.router.description = Равномерно раÑпределÑет входÑщие предметы по 3 выходÑщим направлениÑм. block.router.details = Ðеобходимое зло. Ðе рекомендуетÑÑ Ðº иÑпользованию как блок ввода возле производÑтвенных зданий, Ñ‚.к. может ÑлучитьÑÑ Ð·Ð°Ñ‚Ð¾Ñ€ выходным материалом. block.distributor.description = Равномерно раÑпределÑет входÑщие предметы по 7 выходÑщим направлениÑм. -block.overflow-gate.description = Выводит предметы по бокам, только еÑли передний путь заблокирован. ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вплотную к другим затворам или шлюзам. -block.underflow-gate.description = ПротивоположноÑть избыточного затвора. Выводит предметы вперёд только в том Ñлучае, еÑли боковые пути заблокированы. ÐÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вплотную к другим шлюзам или затворам. +block.overflow-gate.description = Выводит предметы по бокам, только еÑли передний путь заблокирован. +block.underflow-gate.description = ПротивоположноÑть избыточного затвора. Выводит предметы вперёд только в том Ñлучае, еÑли боковые пути заблокированы. block.mass-driver.description = ПоÑтройка Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ транÑпортировки предметов. Собирает неÑколько предметов и затем ÑтрелÑет ими в другие катапульты. block.mechanical-pump.description = Перекачивает и выводит жидкоÑти. Ðе требует Ñнергию. block.rotary-pump.description = Перекачивает и выводит жидкоÑти. Требует Ñнергию. -block.thermal-pump.description = Перекачивает и выводит жидкоÑти. +block.impulse-pump.description = Перекачивает и выводит жидкоÑти. block.conduit.description = Перемещает жидкоÑти вперёд. ИÑпользуетÑÑ Ð²Ð¼ÐµÑте Ñ Ð½Ð°ÑоÑами и другими трубопроводами. block.pulse-conduit.description = Перемещает жидкоÑти вперёд. Работает быÑтрее и вмещает в Ñебе больше, чем Ñтандартный трубопровод. block.plated-conduit.description = Перемещает жидкоÑти вперёд. Ðе принимает ввод по бокам. Ðе протекает. -block.liquid-router.description = Принимает жидкоÑти из одного Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ равномерно раÑпределÑет и до 3 других направлений. Также может хранить определенное количеÑтво жидкоÑти. +block.liquid-router.description = Принимает жидкоÑти из одного Ð½Ð°Ð¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸ равномерно раÑпределÑет их до 3 других. Также может хранить определённое количеÑтво жидкоÑти. +block.liquid-container.description = Хранит небольшое количеÑтво жидкоÑти. Выводит жидкоÑти во вÑе Ñтороны, подобно жидкоÑтному маршрутизатору. block.liquid-tank.description = Хранит большое количеÑтво жидкоÑти. Выводит жидкоÑти во вÑе Ñтороны, подобно жидкоÑтному маршрутизатору. block.liquid-junction.description = ДейÑтвует как моÑÑ‚ Ð´Ð»Ñ Ð´Ð²ÑƒÑ… переÑекающихÑÑ Ñ‚Ñ€ÑƒÐ±Ð¾Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð¾Ð². block.bridge-conduit.description = Перемещает жидкоÑти над любой меÑтноÑтью или зданиÑми. @@ -1405,7 +2166,7 @@ block.combustion-generator.description = Вырабатывает Ñнергию block.thermal-generator.description = Вырабатывает Ñнергию, когда размещён в горÑчих меÑтах. block.steam-generator.description = Вырабатывает Ñнергию путём ÑÐ¶Ð¸Ð³Ð°Ð½Ð¸Ñ Ð³Ð¾Ñ€ÑŽÑ‡Ð¸Ñ… материалов и Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð¾Ð´Ñ‹ в пар block.differential-generator.description = Вырабатывает большое количеÑтво Ñнергии. ИÑпользует разницу температур между криогенной жидкоÑтью и горÑщим пиротитом. -block.rtg-generator.description = ИÑпользует тепло раÑпадающихÑÑ Ñ€Ð°Ð´Ð¸Ð¾Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… Ñоединений Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ Ñнергии Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ ÑкороÑтью. +block.rtg-generator.description = ИÑпользует тепло раÑпадающихÑÑ Ñ€Ð°Ð´Ð¸Ð¾Ð°ÐºÑ‚Ð¸Ð²Ð½Ñ‹Ñ… Ñоединений Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ Ñнергии Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ ÑкороÑтью. block.solar-panel.description = ОбеÑпечивает небольшое количеÑтво Ñнергии от Ñолнца. block.solar-panel-large.description = ОбеÑпечивает небольшое количеÑтво Ñнергии от Ñолнца. Более Ñффективный вариант Ñтандартной Ñолнечной панели. block.thorium-reactor.description = Вырабатывает значительное количеÑтво Ñнергии из ториÑ. Требует поÑтоÑнного охлаждениÑ. ВзорвётÑÑ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ñилой при недоÑтаточном количеÑтве охлаждающей жидкоÑти. @@ -1428,6 +2189,9 @@ block.vault.description = Хранит большое количеÑтво пр block.container.description = Хранит небольшое количеÑтво предметов каждого типа. Предметы можно извлечь при помощи разгрузчика. block.unloader.description = Выгружает выбранный предмет из ÑоÑедних блоков. block.launch-pad.description = ЗапуÑкает партии предметов в выбранные Ñекторы. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = СтрелÑет по врагам чередующимиÑÑ Ð¿ÑƒÐ»Ñми. block.scatter.description = СтрелÑет куÑками Ñвинца, металлолома или метаÑтекла по вражеÑким воздушным единицам. block.scorch.description = Сжигает любых наземных врагов Ñ€Ñдом Ñ Ð½Ð¸Ð¼. Ð’Ñ‹ÑокоÑффективен на близком раÑÑтоÑнии. @@ -1441,7 +2205,7 @@ block.fuse.description = СтрелÑет Ñ‚Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð±Ð¸Ð²Ð°ÑŽÑ‰Ð¸Ð¼Ð¸ з block.ripple.description = СтрелÑет ÑкоплениÑми ÑнарÑдов по врагам на большой диÑтанции. block.cyclone.description = СтрелÑет разрывными ÑнарÑдами по ближайшим врагам. block.spectre.description = СтрелÑет крупными бронебойными ÑнарÑдами по воздушным и наземным целÑм. -block.meltdown.description = ЗарÑжает и ÑтрелÑет поÑтоÑнным лазерным лучом по ближайшим врагам. ТребуетÑÑ Ð¾Ñ…Ð»Ð°Ð¶Ð´Ð°ÑŽÑ‰Ð°Ñ Ð¶Ð¸Ð´ÐºÐ¾Ñть Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.meltdown.description = ЗарÑжает и ÑтрелÑет поÑтоÑнным лазерным лучом по ближайшим врагам. Требует охлаждающую жидкоÑть Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. block.foreshadow.description = СтрелÑет большим дальнобойным ÑнарÑдом, наноÑÑщим урон только по одной цели. block.repair-point.description = Ðепрерывно ремонтирует ближайшую поврежденную единицу в Ñвоём радиуÑе. block.segment.description = Повреждает и разрушает приближающиеÑÑ ÑнарÑды. Ðе взаимодейÑтвует Ñ Ð»Ð°Ð·ÐµÑ€Ð½Ñ‹Ð¼Ð¸ лучами. @@ -1449,17 +2213,16 @@ block.parallax.description = ПритÑгивает воздушные цели block.tsunami.description = СтрелÑет мощными потоками жидкоÑти по врагам. ÐвтоматичеÑки тушит пожары при подаче воды. block.silicon-crucible.description = Синтезирует кремний из пеÑка и углÑ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ð¿Ð¸Ñ€Ð¾Ñ‚Ð¸Ñ‚ как дополнительный иÑточник тепла. Более Ñффективен в горÑчих меÑтах. block.disassembler.description = РазделÑет шлак на крупицы ÑкзотичеÑких минеральных компонентов Ñ Ð½Ð¸Ð·ÐºÐ¾Ð¹ ÑффективноÑтью. Может производить торий. -block.overdrive-dome.description = Увеличивает ÑкороÑть близлежащих зданий. Требует фазовую ткань и кремний Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.overdrive-dome.description = Увеличивает ÑкороÑть близлежащих зданий. Требует фазовую ткань и кремний Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. block.payload-conveyor.description = Передвигает большие грузы, такие как единицы из фабрик. block.payload-router.description = РазделÑет входÑщие грузы на 3 выходÑщих направлениÑ. -block.command-center.description = УправлÑет поведением единиц при помощи различных команд. block.ground-factory.description = Производит наземные единицы. Вывод единиц может быть оÑущеÑтвлён напрÑмую, либо перенаправлен в реконÑтрукторы Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ. block.air-factory.description = Производит воздушные единицы. Вывод единиц может быть оÑущеÑтвлён напрÑмую, либо перенаправлен в реконÑтрукторы Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ. block.naval-factory.description = Производит морÑкие единицы. Вывод единиц может быть оÑущеÑтвлён напрÑмую, либо перенаправлен в реконÑтрукторы Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ. -block.additive-reconstructor.description = Улучшает введённые юниты до второго уровнÑ. -block.multiplicative-reconstructor.description = Улучшает введённые юниты до третьего уровнÑ. -block.exponential-reconstructor.description = Улучшает введённые юниты до четвёртого уровнÑ. -block.tetrative-reconstructor.description = Улучшает введённые юниты до пÑтого и поÑледнего уровнÑ. +block.additive-reconstructor.description = Улучшает введённые единицы до второго уровнÑ. +block.multiplicative-reconstructor.description = Улучшает введённые единицы до третьего уровнÑ. +block.exponential-reconstructor.description = Улучшает введённые единицы до четвёртого уровнÑ. +block.tetrative-reconstructor.description = Улучшает введённые единицы до пÑтого и поÑледнего уровнÑ. block.switch.description = Переключатель. СоÑтоÑние может быть Ñчитано и изменено при помощи логичеÑких процеÑÑоров. block.micro-processor.description = ВыполнÑет поÑледовательноÑть логичеÑких инÑтрукций в цикле. Может быть иÑпользован Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°Ð¼Ð¸ и поÑтройками. block.logic-processor.description = ВыполнÑет поÑледовательноÑть логичеÑких инÑтрукций в цикле. Может быть иÑпользован Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°Ð¼Ð¸ и поÑтройками. БыÑтрее, чем микропроцеÑÑор. @@ -1468,7 +2231,102 @@ block.memory-cell.description = Хранит информацию Ð´Ð»Ñ Ð»Ð¾Ð³ block.memory-bank.description = Хранит информацию Ð´Ð»Ñ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкого процеÑÑора. Ð‘Ð¾Ð»ÑŒÑˆÐ°Ñ Ñ‘Ð¼ÐºÐ¾Ñть. block.logic-display.description = Отображает произвольную графику из логичеÑкого процеÑÑора. block.large-logic-display.description = Отображает произвольную графику из логичеÑкого процеÑÑора. -block.interplanetary-accelerator.description = МаÑÑивный рельÑотронный уÑкоритель. УÑкорÑет Ñдро, позволÑÑ Ð¿Ñ€ÐµÐ¾Ð´Ð¾Ð»ÐµÑ‚ÑŒ гравитацию Ð´Ð»Ñ Ð¼ÐµÐ¶Ð¿Ð»Ð°Ð½ÐµÑ‚Ð½Ð¾Ð³Ð¾ Ñ€Ð°Ð·Ð²Ñ‘Ñ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ +block.interplanetary-accelerator.description = МаÑÑÐ¸Ð²Ð½Ð°Ñ ÑÐ»ÐµÐºÑ‚Ñ€Ð¾Ð¼Ð°Ð³Ð½Ð¸Ñ‚Ð½Ð°Ñ Ð±Ð°ÑˆÐ½Ñ-рельÑотрон. УÑкорÑет Ñдро, позволÑÑ Ð¿Ñ€ÐµÐ¾Ð´Ð¾Ð»ÐµÑ‚ÑŒ гравитацию Ð´Ð»Ñ Ð¼ÐµÐ¶Ð¿Ð»Ð°Ð½ÐµÑ‚Ð½Ð¾Ð³Ð¾ развёртываниÑ. +block.repair-turret.description = Ðепрерывно ремонтирует ближайшую поврежденную единицу в Ñвоем радиуÑе. Опционально иÑпользует охлаждающую жидкоÑть. +block.core-bastion.description = Ядро базы. Бронировано. ПоÑле уничтожениÑ, веÑÑŒ контакт Ñ Ñ€ÐµÐ³Ð¸Ð¾Ð½Ð¾Ð¼ терÑетÑÑ. +block.core-citadel.description = Ядро базы. Очень хорошо бронировано. Хранит больше реÑурÑов, чем Ñдро БаÑтион. +block.core-acropolis.description = Ядро базы. ИÑключительно хорошо бронировано. Хранит больше реÑурÑов, чем Ñдро Цитадель. +block.breach.description = СтрелÑет бронебойными бериллиевыми или вольфрамовыми боеприпаÑами по вражеÑким целÑм. +block.diffuse.description = СтрелÑет очередью пуль в широком конуÑе. ОтбраÑывает вражеÑкие цели назад. +block.sublimate.description = СтрелÑет непрерывной Ñтруей пламени по вражеÑким целÑм. Пробивает броню. +block.titan.description = СтрелÑет мощными фугаÑными ÑнарÑдами по наземным целÑм. Требует водород Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.afflict.description = СтрелÑет маÑÑивной зарÑженной раÑÑыпающейÑÑ Ñферой. Требует тепло Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.disperse.description = СтрелÑет шрапнелью по воздушным целÑм. +block.lustre.description = СтрелÑет медленно движущимÑÑ Ð»Ð°Ð·ÐµÑ€Ð¾Ð¼ по одной вражеÑкой цели. +block.scathe.description = ЗапуÑкает мощные ракеты по наземным целÑм на огромные раÑÑтоÑниÑ. +block.smite.description = СтрелÑет пучками бронебойных ÑнергетичеÑких пуль. +block.malign.description = СтрелÑет градом ÑамонаводÑщихÑÑ Ð»Ð°Ð·ÐµÑ€Ð½Ñ‹Ñ… зарÑдов по вражеÑким целÑм. Требует большое количеÑтво тепла Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.silicon-arc-furnace.description = Производит кремний из пеÑка и графита. +block.oxidation-chamber.description = Превращает бериллий и озон в окÑид. ВыделÑет тепло в качеÑтве побочного продукта. +block.electric-heater.description = Ðагревает блоки напротив ÑебÑ. Требует большое количеÑтво Ñнергии Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.slag-heater.description = Ðагревает блоки напротив ÑебÑ. Требует шлак Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.phase-heater.description = Ðагревает блоки напротив ÑебÑ. Требует фазовую ткань Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.heat-redirector.description = ПеренаправлÑет накопленное тепло на другие блоки. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = РаÑпределÑет накопленное тепло в трех направлениÑÑ…. +block.electrolyzer.description = Преобразует воду в водород и озон. +block.atmospheric-concentrator.description = Концентрирует азот из атмоÑферы. Требует тепло Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.surge-crucible.description = Производит кинетичеÑкий Ñплав из шлака и кремниÑ. Требует тепло Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.phase-synthesizer.description = Синтезирует фазовую ткань из ториÑ, пеÑка и озона. Требует тепло Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.carbide-crucible.description = ВыплавлÑет карбид из графита и вольфрама. Требует тепло Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.cyanogen-synthesizer.description = Синтезирует циан из аркицита и графита. Требует тепло Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.slag-incinerator.description = Сжигает уÑтойчивые предметы или жидкоÑти. Требует шлак Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.vent-condenser.description = КонденÑирует воду из газов жерла. Требует Ñнергию Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.plasma-bore.description = При размещении напротив Ñтены Ñ Ñ€ÑƒÐ´Ð¾Ð¹, поÑтоÑнно выводит предметы. Требует небольшое количеÑтво Ñнергии Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.large-plasma-bore.description = Большой плазменный бур. СпоÑобен добывать вольфрам и торий. Требует водород и Ñнергию Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.cliff-crusher.description = Дробит Ñтены, поÑтоÑнно Ð²Ñ‹Ð²Ð¾Ð´Ñ Ð¿ÐµÑок. Требует Ñнергию Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. ЭффективноÑть завиÑит от типа Ñтены. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = При размещении на ÑоответÑтвующей руде, поÑтоÑнно выводит предметы очередÑми. Требует Ñнергию и воду Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.eruption-drill.description = УÑовершенÑÑ‚Ð²Ð¾Ð²Ð°Ð½Ð½Ð°Ñ ÑƒÐ´Ð°Ñ€Ð½Ð°Ñ Ð´Ñ€ÐµÐ»ÑŒ. СпоÑобна добывать торий. Требует водород Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.reinforced-conduit.description = Перемещает жидкоÑти вперед. Ðе принимает ввод по бокам. +block.reinforced-liquid-router.description = Равномерно раÑпределÑет жидкоÑти во вÑе Ñтороны. +block.reinforced-liquid-tank.description = Хранит большое количеÑтво жидкоÑти. +block.reinforced-liquid-container.description = Хранит небольшое количеÑтво жидкоÑти. +block.reinforced-bridge-conduit.description = Перемещает жидкоÑти над любой меÑтноÑтью или зданиÑми. +block.reinforced-pump.description = Перекачивает и выводит жидкоÑти. Требует водород Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.beryllium-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. +block.beryllium-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. +block.tungsten-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. +block.tungsten-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. +block.carbide-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. +block.carbide-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. +block.reinforced-surge-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов, периодичеÑки выпуÑкает ÑлектричеÑкий разрÑд при ударе. +block.reinforced-surge-wall-large.description = Защищает поÑтройки от вражеÑких ÑнарÑдов, периодичеÑки выпуÑкает ÑлектричеÑкий разрÑд при ударе. +block.shielded-wall.description = Защищает поÑтройки от вражеÑких ÑнарÑдов. При подаче Ñнергии Ñоздает щит, который поглощает большинÑтво ÑнарÑдов. Проводит Ñнергию. +block.blast-door.description = Стена, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки открываетÑÑ, когда Ñ€Ñдом находÑÑ‚ÑÑ Ñоюзные наземные единицы. Ðе может управлÑтьÑÑ Ð²Ñ€ÑƒÑ‡Ð½ÑƒÑŽ. +block.duct.description = Перемещает предметы вперёд. Может хранить только один предмет. +block.armored-duct.description = Перемещает предметы вперёд. Ðе принимает ввод по бокам. +block.duct-router.description = РаÑпределÑет предметы поровну по трем направлениÑм. Принимает предметы только Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð¹ Ñтороны. Может быть наÑтроен как Ñортировщик предметов. +block.overflow-duct.description = Выводит предметы по бокам только в том Ñлучае, еÑли передний путь заблокирован. +block.duct-bridge.description = Перемещает предметы над меÑтноÑтью и зданиÑми. +block.duct-unloader.description = Выгружает выбранный предмет из блока позади него. Ðе может выгружать из Ñдер. +block.underflow-duct.description = ПротивоположноÑть избыточному канальному затвору. Выводит предметы вперед только в том Ñлучае, еÑли боковые выходы заблокированы. +block.reinforced-liquid-junction.description = ДейÑтвует как перекреÑток Ð´Ð»Ñ Ð´Ð²ÑƒÑ… переÑекающихÑÑ Ñ‚Ñ€ÑƒÐ±Ð¾Ð¿Ñ€Ð¾Ð²Ð¾Ð´Ð¾Ð². +block.surge-conveyor.description = Перемещает предметы пачками. Может быть уÑкорен подачей Ñнергии. Проводит Ñнергию. +block.surge-router.description = Равномерно раÑпределÑет предметы Ñ ÐºÐ¸Ð½ÐµÑ‚Ð¸Ñ‡ÐµÑких конвейеров в трех направлениÑÑ…. Может быть уÑкорен подачей Ñнергии. Проводит Ñнергию. +block.unit-cargo-loader.description = Производит грузовые дроны. Дроны автоматичеÑки раÑпределÑÑŽÑ‚ предметы по точкам разгрузки в завиÑимоÑти от уÑтановленного на них фильтра. +block.unit-cargo-unload-point.description = ДейÑтвует как точка разгрузки Ð´Ð»Ñ Ð³Ñ€ÑƒÐ·Ð¾Ð²Ñ‹Ñ… дронов. Принимает предметы, ÑоответÑтвующие выбранному фильтру. +block.beam-node.description = Передает Ñнергию по прÑмой. Хранит небольшое количеÑтво Ñнергии. +block.beam-tower.description = УÑовершенÑтвованный лучевой узел Ñ Ð±Ð¾Ð»ÑŒÑˆÐµÐ¹ дальноÑтью. Хранит большое количеÑтво Ñнергии. +block.turbine-condenser.description = Вырабатывает Ñнергию, когда размещен на жерле. Производит небольшое количеÑтво воды. +block.chemical-combustion-chamber.description = Генерирует Ñнергию из аркицита и озона. +block.pyrolysis-generator.description = Генерирует большое количеÑтво Ñнергии из аркицита и шлака. Производит воду в качеÑтве побочного продукта. +block.flux-reactor.description = Генерирует большое количеÑтво Ñнергии при получении тепла. Требует циан в качеÑтве Ñтабилизатора. Ð’Ñ‹Ñ€Ð°Ð±Ð°Ñ‚Ñ‹Ð²Ð°ÐµÐ¼Ð°Ñ ÑÐ½ÐµÑ€Ð³Ð¸Ñ Ð¸ требуемый циан пропорциональны количеÑтву тепла.\nВзрываетÑÑ Ð¿Ñ€Ð¸ недоÑтаточном количеÑтве циана. +block.neoplasia-reactor.description = ИÑпользует аркицит, воду и фазовую ткань Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð±Ð¾Ñ‚ÐºÐ¸ большого количеÑтва Ñнергии. Производит тепло и опаÑную неоплазму в качеÑтве побочного продукта.\nВзрываетÑÑ Ñ Ð±Ð¾Ð»ÑŒÑˆÐ¾Ð¹ Ñилой, еÑли неоплазма не выводитÑÑ Ð¿Ð¾ трубопроводам. +block.build-tower.description = ÐвтоматичеÑки воÑÑтанавливает разрушенные поÑтройки в пределах доÑÑгаемоÑти и помогает в ÑтроительÑтве другим единицам. +block.regen-projector.description = Медленно воÑÑтанавливает Ñоюзные поÑтройки в пределах квадрата. Требует водород Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.reinforced-container.description = Хранит небольшое количеÑтво предметов. Предметы можно извлечь при помощи разгрузчика. Ðе увеличивает вмеÑтимоÑть Ñдра. +block.reinforced-vault.description = Хранит большое количеÑтво предметов. Предметы можно извлечь при помощи разгрузчика. Ðе увеличивает вмеÑтимоÑть Ñдра. +block.tank-fabricator.description = Производит единицы «ОÑнова». Вывод единиц может быть оÑущеÑтвлён напрÑмую, либо перенаправлен в рефабрикаторы Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ. +block.ship-fabricator.description = Производит единицы «Уклонение». Вывод единиц может быть оÑущеÑтвлён напрÑмую, либо перенаправлен в рефабрикаторы Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ. +block.mech-fabricator.description = Производит единицы «Меруй». Вывод единиц может быть оÑущеÑтвлён напрÑмую, либо перенаправлен в рефабрикаторы Ð´Ð»Ñ ÑƒÐ»ÑƒÑ‡ÑˆÐµÐ½Ð¸Ñ. +block.tank-assembler.description = Собирает большие танки из введённых блоков и единиц. Уровень Ñобираемых единиц может быть увеличен путем Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹. +block.ship-assembler.description = Собирает большие корабли из введённых блоков и единиц. Уровень Ñобираемых единиц может быть увеличен путем Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹. +block.mech-assembler.description = Собирает большие мехи из введённых блоков и единиц. Уровень Ñобираемых единиц может быть увеличен путем Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ¹. +block.tank-refabricator.description = Улучшает введённые танки до второго уровнÑ. +block.ship-refabricator.description = Улучшает введённые корабли до второго уровнÑ. +block.mech-refabricator.description = Улучшает введённые мехи до второго уровнÑ. +block.prime-refabricator.description = Улучшает введённые единицы до третьего уровнÑ. +block.basic-assembler-module.description = Повышает уровень Ñборщика, еÑли размещён Ñ€Ñдом Ñ Ð³Ñ€Ð°Ð½Ð¸Ñ†ÐµÐ¹ ÑтроительÑтва. Требует Ñнергию Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. Может быть иÑпользован Ð´Ð»Ñ Ð²Ð²Ð¾Ð´Ð° грузов. +block.small-deconstructor.description = Разбирает грузы и боевые единицы Ñ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰ÐµÐ½Ð¸ÐµÐ¼ 100% иÑпользованных реÑурÑов на их производÑтво. +block.reinforced-payload-conveyor.description = Перемещает грузы вперёд. +block.reinforced-payload-router.description = Равномерно раÑпределÑет грузы на ÑоÑедние блоки. Работает как Ñортировщик, когда уÑтановлен фильтр. +block.payload-mass-driver.description = ПоÑтройка Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ транÑпортировки грузов. СтрелÑет полученными грузами в другие катапульты. +block.large-payload-mass-driver.description = ПоÑтройка Ð´Ð»Ñ Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ транÑпортировки грузов. СтрелÑет полученными грузами в другие катапульты. +block.unit-repair-tower.description = Ремонтирует вÑе Ñоюзные единицы поблизоÑти. Требует озон Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.radar.description = ПоÑтепенно разведывает меÑтноÑть в большом радиуÑе. Требует Ñнергию Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.shockwave-tower.description = Повреждает и разрушает приближающиеÑÑ ÑнарÑды. Требует циан Ð´Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹. +block.canvas.description = Отображает графичеÑкое изображение Ñ Ð¿Ñ€ÐµÐ´Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¹ палитрой. Редактируемый. unit.dagger.description = СтрелÑет Ñтандартными пулÑми по вÑем врагам поблизоÑти. unit.mace.description = СтрелÑет потоками Ð¾Ð³Ð½Ñ Ð¿Ð¾ вÑем врагам поблизоÑти. @@ -1495,11 +2353,303 @@ unit.poly.description = ÐвтоматичеÑки воÑÑтанавливае unit.mega.description = ÐвтоматичеÑки ремонтирует повреждённые поÑтройки. Может переноÑить блоки и небольшие единицы. unit.quad.description = СбраÑывает большие бомбы на наземные цели, воÑÑÑ‚Ð°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°Ñ Ñоюзные поÑтройки и Ð¿Ð¾Ð²Ñ€ÐµÐ¶Ð´Ð°Ñ Ð²Ñ€Ð°Ð³Ð¾Ð². Может переноÑить единицы Ñреднего размера. unit.oct.description = Защищает Ñоюзников поблизоÑти при помощи Ñвоего воÑÑтанавливающегоÑÑ Ñ‰Ð¸Ñ‚Ð°. Может переноÑить большинÑтво наземных единиц. -unit.risso.description = СтрелÑет залпом ракет и пуль по вÑем врагам поблизоÑти. -unit.minke.description = СтрелÑет зажигательными ÑнарÑдами и Ñтандартными пулÑми по наземным целÑм. +unit.risso.description = СтрелÑет залпами ракет и пуль по вÑем врагам поблизоÑти. +unit.minke.description = СтрелÑет артиллерийÑкими ÑнарÑдами и Ñтандартными пулÑми по наземным целÑм. unit.bryde.description = СтрелÑет дальнобойными артиллерийÑкими ÑнарÑдами и ракетами по врагам. -unit.sei.description = СтрелÑет залпом ракет и бронебойных пуль по врагам. +unit.sei.description = СтрелÑет залпами ракет и бронебойных пуль по врагам. unit.omura.description = СтрелÑет дальнобойным пробивающим ÑнарÑдом из рельÑотрона по врагам. Производит единицы «ВÑпышка». unit.alpha.description = Защищает Ñдро «ОÑколок» от врагов. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÑ‚Ñ€Ð¾Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. -unit.beta.description = Защищает Ñдро «Штаб» от врагов. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÑ‚Ñ€Ð¾Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +unit.beta.description = Защищает Ñдро «Штаб» от врагов. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÑ‚Ñ€Ð¾Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. unit.gamma.description = Защищает Ñдро «Ðтом» от врагов. ОÑÐ½Ð¾Ð²Ð½Ð°Ñ ÑÑ‚Ñ€Ð¾Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +unit.retusa.description = ЗапуÑкает ÑамонаводÑщиеÑÑ Ñ‚Ð¾Ñ€Ð¿ÐµÐ´Ñ‹ в ближайших противников. Ремонтирует Ñоюзные единицы. +unit.oxynoe.description = СтрелÑет потоками пламени, которые воÑÑтанавливают Ñоюзные поÑтройки и наноÑÑÑ‚ урон врагам. Разрушает ближайшие вражеÑкие ÑнарÑды Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ турели точечной защиты. +unit.cyerce.description = СтрелÑет по врагам ÑкоплениÑми ракет. Ремонтирует Ñоюзные единицы. +unit.aegires.description = Оглушает вÑе вражеÑкие единицы и поÑтройки, которые попадают в его ÑнергетичеÑкое поле. Ремонтирует вÑех Ñоюзников. +unit.navanax.description = ЗапуÑкает взрывные ЭМИ-ÑнарÑды, которые наноÑÑÑ‚ значительный урон Ñиловым узлам противника и ремонтируют Ñоюзные поÑтройки. Плавит ближайших врагов Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ 4 автономных лазерных турелей. +unit.stell.description = СтрелÑет Ñтандартными пулÑми по вражеÑким целÑм. +unit.locus.description = Поочередно ÑтрелÑет пулÑми по вражеÑким целÑм. +unit.precept.description = СтрелÑет бронебойными каÑÑетными пулÑми по вражеÑким целÑм. +unit.vanquish.description = СтрелÑет большими бронебойными пулÑми по вражеÑким целÑм. +unit.conquer.description = СтрелÑет большими бронебойными каÑкадами пуль по вражеÑким целÑм. +unit.merui.description = СтрелÑет дальнобойной артиллерией по наземным целÑм противника. Может перемещатьÑÑ Ð¿Ð¾ большинÑтву учаÑтков меÑтноÑти. +unit.cleroi.description = СтрелÑет парами ÑнарÑдов по вражеÑким целÑм. Поражает вражеÑкие ÑнарÑды Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ турелей точечной защиты. Может перемещатьÑÑ Ð¿Ð¾ большинÑтву учаÑтков меÑтноÑти. +unit.anthicus.description = СтрелÑет дальнобойными ÑамонаводÑщимиÑÑ Ñ€Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ по вражеÑким целÑм. Может перемещатьÑÑ Ð¿Ð¾ большинÑтву учаÑтков меÑтноÑти. +unit.tecta.description = СтрелÑет ÑамонаводÑщимиÑÑ Ð¿Ð»Ð°Ð·Ð¼ÐµÐ½Ð½Ñ‹Ð¼Ð¸ ракетами по вражеÑким целÑм. Защищает ÑÐµÐ±Ñ Ð´ÑƒÐ³Ð¾Ð²Ñ‹Ð¼ щитом. Может перемещатьÑÑ Ð¿Ð¾ большинÑтву учаÑтков меÑтноÑти. +unit.collaris.description = СтрелÑет дальнобойной оÑколочно-фугаÑной артиллерией по вражеÑким целÑм. Может перемещатьÑÑ Ð¿Ð¾ большинÑтву учаÑтков меÑтноÑти. +unit.elude.description = СтрелÑет парами ÑамонаводÑщихÑÑ Ð¿ÑƒÐ»ÑŒ по вражеÑким целÑм. Может парить над жидкоÑÑ‚Ñми. +unit.avert.description = СтрелÑет парами ÑкручивающихÑÑ Ð¿ÑƒÐ»ÑŒ по вражеÑким целÑм. +unit.obviate.description = СтрелÑет парами ÑкручивающихÑÑ ÑˆÐ°Ñ€Ð¾Ð²Ñ‹Ñ… молний по вражеÑким целÑм. +unit.quell.description = СтрелÑет дальнобойными ÑамонаводÑщимиÑÑ Ñ€Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ по вражеÑким целÑм. ПодавлÑет вражеÑкие ремонтирующие поÑтройки. +unit.disrupt.description = СтрелÑет дальнобойными ÑамонаводÑщимиÑÑ Ñ€Ð°ÐºÐµÑ‚Ð°Ð¼Ð¸ Ð¿Ð¾Ð´Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ вражеÑким целÑм. ПодавлÑет вражеÑкие ремонтирующие поÑтройки. +unit.evoke.description = Защищает Ñдро «БаÑтион» от врагов. Ремонтирует Ñоюзные поÑтройки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ луча. +unit.incite.description = Защищает Ñдро «Цитадель» от врагов. Ремонтирует Ñоюзные поÑтройки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ луча. +unit.emanate.description = Защищает Ñдро «Ðкрополь» от врагов. Ремонтирует Ñоюзные поÑтройки Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ лучей. + +lst.read = Считывает чиÑло из Ñоединённой Ñчейки памÑти. +lst.write = ЗапиÑывает чиÑло в Ñоединённую Ñчейку памÑти. +lst.print = ДобавлÑет текÑÑ‚ в текÑтовый буфер. Ðичего не отображает, пока не будет вызван [accent]Print Flush[]. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = ДобавлÑет операцию в буфер отриÑовки. Ðичего не отображает, пока не будет вызван [accent]Draw Flush[]. +lst.drawflush = СбраÑывает буфер [accent]Draw[] операций на диÑплей. +lst.printflush = СбраÑывает буфер [accent]Print[] операций в блок-Ñообщение. +lst.getlink = Получает Ñоединение процеÑÑора по индекÑу. Ðачинает Ñ 0. +lst.control = Контролирует блок. +lst.radar = Обнаруживает единицы вокруг поÑтройки Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ радиуÑом. +lst.sensor = Получает данные из поÑтройки или единицы. +lst.set = Задаёт значение переменной. +lst.operation = Совершает операцию над 1-2 переменными. +lst.end = Переходит к началу Ñтека операций. +lst.wait = Ждёт определённое количеÑтво Ñекунд. +lst.stop = ОÑтанавливает работу данного процеÑÑора. +lst.lookup = Ðаходит тип предмета/жидкоÑти/единицы/блока по ID.\nОбщее количеÑтво каждого типа может быть получено при помощи:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = УÑловно переходит к другой операции. +lst.unitbind = ПривÑзываетÑÑ Ðº единице определённого типа и ÑохранÑет её в [accent]@unit[]. +lst.unitcontrol = УправлÑет привÑзанной в данный момент единицей. +lst.unitradar = Обнаруживает единицы вокруг привÑзанной в данный момент единицы. +lst.unitlocate = Обнаруживает позицию/поÑтройку определённого типа где-либо на карте. Требует привÑзанную единицу. +lst.getblock = Получает данные о плитке в любом меÑте. +lst.setblock = УÑтанавливает плитку в любом меÑте. +lst.spawnunit = Создает боевую единицу на локации. +lst.applystatus = ПрименÑет или Ñнимает Ñффект ÑтатуÑа Ñ Ð±Ð¾ÐµÐ²Ð¾Ð¹ единицы. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Ð˜Ð¼Ð¸Ñ‚Ð°Ñ†Ð¸Ñ Ð²Ð¾Ð»Ð½Ñ‹, Ñоздаваемой в произвольном меÑте.\nСчетчик волн не увеличиваетÑÑ. +lst.explosion = Создает взрыв на локации. +lst.setrate = УÑтанавливает ÑкороÑть Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑÑора в инÑтрукциÑÑ…/тиках. +lst.fetch = Ищет единицы, Ñдра, игроков или зданий по индекÑу.\nИндекÑÑ‹ начинаютÑÑ Ñ 0 и заканчиваютÑÑ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÐ¼Ñ‹Ð¼ чиÑлом. +lst.packcolor = Упаковывает компоненты RGBA [0, 1] в один номер Ð´Ð»Ñ Ñ€Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ уÑтановки правил. +lst.setrule = УÑтанавливает игровое правило. +lst.flushmessage = Отображает Ñообщение из текÑтового буфера на Ñкране игрока.\nБудет ожидать окончание предыдущего ÑообщениÑ. +lst.cutscene = УправлÑет камерой игрока. +lst.setflag = УÑтанавливает глобальный флаг, который может быть прочитан вÑеми процеÑÑорами. +lst.getflag = ПроверÑет, уÑтановлен ли глобальный флаг. +lst.setprop = УÑтанавливает ÑвойÑтво единицы или поÑтройки. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]СтроительÑтво Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ процеÑÑоров здеÑÑŒ запрещено. + +lenum.type = Тип поÑтройки/единицы. \nÐапример, Ð´Ð»Ñ Ð¼Ð°Ñ€ÑˆÑ€ÑƒÑ‚Ð¸Ð·Ð°Ñ‚Ð¾Ñ€Ð° Ñто будет [accent]@router[].\nÐе Ñтрока. +lenum.shoot = Стрельба в определённую позицию. +lenum.shootp = Стрельба в единицу/поÑтройку Ñ Ñ€Ð°Ñчётом ÑкороÑти. +lenum.config = ÐšÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ñтройки, например, предмет Ñортировки. +lenum.enabled = Включён ли блок. +laccess.currentammotype = Текущий Ð±Ð¾ÐµÐ¿Ñ€Ð¸Ð¿Ð°Ñ Ñ‚ÑƒÑ€ÐµÐ»Ð¸. + +laccess.color = Цвет оÑветителÑ. +laccess.controller = Командующий единицей. ЕÑли единица управлÑетÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑÑором, возвращает процеÑÑор. ЕÑли в Ñтрою, возвращает командующего.\nÐ’ противном Ñлучае возвращает Ñаму единицу. +laccess.dead = ЯвлÑетÑÑ Ð»Ð¸ единица/поÑтройка неработающей или неÑущеÑтвующей. +laccess.controlled = Возвращает:\n[accent]@ctrlProcessor[] еÑли единица управлÑетÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑÑором\n[accent]@ctrlPlayer[] еÑли единица/поÑтройка управлÑетÑÑ Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð¼\n[accent]@ctrlFormation[] еÑли единица в Ñтрою\nÐ’ противном Ñлучае — 0. +laccess.progress = ПрогреÑÑ Ð´ÐµÐ¹ÑÑ‚Ð²Ð¸Ñ Ð¾Ñ‚ 0 до 1. Возвращает прогреÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ñтва, перезарÑдку турели или прогреÑÑ Ð¿Ð¾Ñтройки. +laccess.speed = МакÑÐ¸Ð¼Ð°Ð»ÑŒÐ½Ð°Ñ ÑкороÑть единицы, в плитках/Ñек. +laccess.id = Идентификатор единицы/блока/предмета/жидкоÑти.\nЭто Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¿Ð¾Ð¸Ñка. +lcategory.unknown = ÐеизвеÑтно +lcategory.unknown.description = Ðет категории. +lcategory.io = Ввод и вывод +lcategory.io.description = Изменение Ñодержимого блоков памÑти и буферов процеÑÑора. +lcategory.block = Управление блоками +lcategory.block.description = ВзаимодейÑтвие Ñ Ð±Ð»Ð¾ÐºÐ°Ð¼Ð¸. +lcategory.operation = Операции +lcategory.operation.description = ЛогичеÑкие операции. +lcategory.control = Управление поÑледовательноÑтью +lcategory.control.description = Управление порÑдком выполнениÑ. +lcategory.unit = Управление единицами +lcategory.unit.description = Командование единицами. +lcategory.world = Мир +lcategory.world.description = Управление поведением мира. + +graphicstype.clear = Заливка диÑÐ¿Ð»ÐµÑ Ñ†Ð²ÐµÑ‚Ð¾Ð¼. +graphicstype.color = УÑтановка цвета Ð´Ð»Ñ Ñледующих операций отриÑовки. +graphicstype.col = Эквивалент цвета, но упакованный.\nУпакованные цвета запиÑываютÑÑ Ð² виде шеÑтнадцатеричных кодов Ñ Ð¿Ñ€ÐµÑ„Ð¸ÐºÑом [accent]%[].\nПример: [accent]%ff0000[] будет краÑным. +graphicstype.stroke = УÑтановка толщины линии. +graphicstype.line = ОтриÑовка отрезка. +graphicstype.rect = ОтриÑовка закрашенного прÑмоугольника. +graphicstype.linerect = ОтриÑовка контура прÑмоугольника. +graphicstype.poly = ОтриÑовка закрашенного правильного многоугольника. +graphicstype.linepoly = ОтриÑовка контура правильного многоугольника. +graphicstype.triangle = ОтриÑовка закрашенного треугольника. +graphicstype.image = ОтриÑовка внутриигровых Ñпрайтов.\nÐапример: [accent]@router[] или [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Ð’Ñегда иÑтина. +lenum.idiv = ЦелочиÑленное деление. +lenum.div = Деление.\nВозвращает [accent]null[] при делении на ноль. +lenum.mod = ОÑтаток от делениÑ. +lenum.equal = Равно. Приводит типы.\nÐе-null объекты, по Ñравнению Ñ Ñ‡Ð¸Ñлами, ÑтановÑÑ‚ÑÑ 1, иначе — 0. +lenum.notequal = Ðе равно. Приводит типы. +lenum.strictequal = Строгое равенÑтво. Ðе приводит типы.\nМожет быть иÑпользовано Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ на [accent]null[]. +lenum.shl = Побитовый Ñдвиг влево. +lenum.shr = Побитовый Ñдвиг вправо. +lenum.or = Побитовое ИЛИ. +lenum.land = Булевое И. +lenum.and = Побитовое И. +lenum.not = Побитовое ÐЕ. +lenum.xor = Побитовое иÑключающее ИЛИ. + +lenum.min = Минимальное из двух чиÑел. +lenum.max = МакÑимальное из двух чиÑел. +lenum.angle = Угол вектора в градуÑах. +lenum.anglediff = ÐбÑÐ¾Ð»ÑŽÑ‚Ð½Ð°Ñ Ð´Ð¸ÑÑ‚Ð°Ð½Ñ†Ð¸Ñ Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ ÑƒÐ³Ð»Ð°Ð¼Ð¸, в градуÑах. +lenum.len = Длина вектора. + +lenum.sin = СинуÑ, в градуÑах. +lenum.cos = КоÑинуÑ, в градуÑах. +lenum.tan = ТангенÑ, в градуÑах. + +lenum.asin = ÐркÑинуÑ, в градуÑах. +lenum.acos = ÐрккоÑинуÑ, в градуÑах. +lenum.atan = ÐрктангенÑ, в градуÑах. + +#Ñто не ошибка, поищите 'обозначение диапазонов' +lenum.rand = Случайное чиÑло в диапазоне [0, значение). +lenum.log = Ðатуральный логарифм (ln). +lenum.log10 = Логарифм по оÑнованию 10. +lenum.noise = СимплекÑный шум, 2D. +lenum.abs = ÐбÑÐ¾Ð»ÑŽÑ‚Ð½Ð°Ñ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð°. +lenum.sqrt = Квадратный корень. + +lenum.any = Ð›ÑŽÐ±Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +lenum.ally = ДружеÑÐºÐ°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +lenum.attacker = Единица Ñ Ð¾Ñ€ÑƒÐ¶Ð¸ÐµÐ¼. +lenum.enemy = ВражеÑÐºÐ°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +lenum.boss = Страж. +lenum.flying = Ð›ÐµÑ‚Ð°ÑŽÑ‰Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +lenum.ground = ÐÐ°Ð·ÐµÐ¼Ð½Ð°Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +lenum.player = Единица, управлÑÐµÐ¼Ð°Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ¾Ð¼. + +lenum.ore = ИÑточник руды. +lenum.damaged = ÐŸÐ¾Ð²Ñ€ÐµÐ¶Ð´Ñ‘Ð½Ð½Ð°Ñ Ð´Ñ€ÑƒÐ¶ÐµÑÐºÐ°Ñ Ð¿Ð¾Ñтройка. +lenum.spawn = Точка поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ€Ð°Ð³Ð¾Ð².\nМожет быть Ñдром или позицией на карте. +lenum.building = ПоÑтройка определённой группы. + +lenum.core = Любое Ñдро. +lenum.storage = Здание хранениÑ, например, хранилище. +lenum.generator = ПоÑтройки, вырабатывающие Ñнергию. +lenum.factory = ПоÑтройки, перерабатывающие предметы. +lenum.repair = Ремонтные пункты. +lenum.battery = Любой аккумулÑтор. +lenum.resupply = Пункты ÑнабжениÑ.\nÐктуально только при включённом [accent]"Боев. ед. требуют боеприпаÑÑ‹"[]. +lenum.reactor = ИмпульÑный/ториевый реактор. +lenum.turret = Ð›ÑŽÐ±Ð°Ñ Ñ‚ÑƒÑ€ÐµÐ»ÑŒ. + +sensor.in = ПоÑтройка/единица Ð´Ð»Ñ Ñ€Ð°ÑпознаваниÑ. + +radar.from = ПоÑтройка, от которой раÑпознавать.\nДальноÑть ÑенÑора ограничена дальноÑтью поÑтройки. +radar.target = Фильтр Ð´Ð»Ñ Ñ€Ð°ÑÐ¿Ð¾Ð·Ð½Ð°Ð²Ð°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†. +radar.and = Дополнительные фильтры. +radar.order = ПорÑдок Ñортировки. 0 Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾. +radar.sort = Показатель Ð´Ð»Ñ Ñортировки результатов. +radar.output = ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи конечной единицы. + +unitradar.target = Фильтр Ð´Ð»Ñ Ñ€Ð°ÑÐ¿Ð¾Ð·Ð½Ð°Ð²Ð°Ð½Ð¸Ñ ÐµÐ´Ð¸Ð½Ð¸Ñ†. +unitradar.and = Дополнительные фильтры. +unitradar.order = ПорÑдок Ñортировки. 0 Ð´Ð»Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð¾Ð³Ð¾. +unitradar.sort = Показатель Ð´Ð»Ñ Ñортировки результатов. +unitradar.output = ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи конечной единицы. + +control.of = ПоÑтройка Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ. +control.unit = Единица/поÑтройка Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñ†ÐµÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ. +control.shoot = СтрелÑть ли. + +unitlocate.enemy = Обнаруживать ли вражеÑкие поÑтройки. +unitlocate.found = Ðайден ли объект. +unitlocate.building = ÐŸÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи обнаруженной поÑтройки. +unitlocate.outx = Вывод X координаты. +unitlocate.outy = Вывод Y координаты. +unitlocate.group = Группа поÑтроек Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка. +playsound.limit = ЕÑли значение равно true, предотвращает воÑпроизведение Ñтого звука,\n еÑли он уже воÑпроизводилÑÑ Ð² том же кадре. + +lenum.idle = ОÑтановка движениÑ, но продолжение ÑтроительÑтва/копаниÑ.\nСоÑтоÑние по умолчанию. +lenum.stop = ОÑтановка движениÑ/копаниÑ/ÑтроительÑтва. +lenum.unbind = ПолноÑтью отключает управление логикой.\nВоÑÑтанавливает Ñтандартный ИИ. +lenum.move = Перемещение в определённую позицию. +lenum.approach = Приближение к позиции Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ð¼ радиуÑом. +lenum.pathfind = Перемещение к точке поÑÐ²Ð»ÐµÐ½Ð¸Ñ Ð²Ñ€Ð°Ð³Ð¾Ð². +lenum.autopathfind = ÐвтоматичеÑкий поиÑк пути к ближайшему вражеÑкому Ñдру или точке выÑадки.\nЭто то же Ñамое, что и Ñтандартный поиÑк пути к врагу во Ð²Ñ€ÐµÐ¼Ñ Ð²Ð¾Ð»Ð½Ñ‹. +lenum.target = Стрельба в определённую позицию. +lenum.targetp = Стрельба в единицу/поÑтройку Ñ Ñ€Ð°Ñчётом ÑкороÑти. +lenum.itemdrop = СбраÑывание предметов. +lenum.itemtake = ВзÑтие предметов из поÑтройки. +lenum.paydrop = СбраÑывание текущего груза. +lenum.paytake = ВзÑтие груза на текущей позиции. +lenum.payenter = Войти/приземлитьÑÑ Ð½Ð° грузовой блок, на котором находитÑÑ ÐµÐ´Ð¸Ð½Ð¸Ñ†Ð°. +lenum.flag = ЧиÑловой флаг единицы. +lenum.mine = Копание в заданной позиции. +lenum.build = СтроительÑтво блоков. +lenum.getblock = Получает тип поÑтройки, пола и блока по заданным координатам.\nЕдиница должна быть в диапазоне позиции, иначе возвращаетÑÑ null. +lenum.within = Проверка на нахождение единицы Ñ€Ñдом Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸ÐµÐ¹. +lenum.boost = Включение/выключение полёта. +lenum.flushtext = СбраÑывает Ñодержимое текÑтового буфера, еÑли применимо. \nЕÑли значение fetch равно true, пытаеÑÑ Ð¿Ð¾Ð»ÑƒÑ‡Ð¸Ñ‚ÑŒ ÑвойÑтва из набора локали карты или набора локали игры. +lenum.texture = Ð˜Ð¼Ñ Ñ‚ÐµÐºÑтуры прÑмо из атлаÑа текÑтур игры (иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñтиль напиÑÐ°Ð½Ð¸Ñ Ñ Ð´ÐµÑ„Ð¸Ñами, например: build-tower) .\nЕÑли printFlush имеет значение true, то в качеÑтве текÑтового аргумента иÑпользуетÑÑ Ñодержимое текÑтового буфера. +lenum.texturesize = Размер текÑтуры в плитках. Ðулевое значение маÑштабирует ширину маркера до размера иÑходной текÑтуры. +lenum.autoscale = МаÑштабировать ли маркер в ÑоответÑтвии Ñ ÑƒÑ€Ð¾Ð²Ð½ÐµÐ¼ маÑÑˆÑ‚Ð°Ð±Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð³Ñ€Ð¾ÐºÐ°. +lenum.posi = ИндекÑÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ñ‹Ñ… и квадратных маркеров Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ индекÑом в качеÑтве первой позиции. +lenum.uvi = Положение текÑтуры в диапазоне от Ð½ÑƒÐ»Ñ Ð´Ð¾ единицы, иÑпользуетÑÑ Ð´Ð»Ñ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚Ð½Ñ‹Ñ… маркеров. +lenum.colori = ИндекÑÐ¸Ñ€ÑƒÐµÐ¼Ð°Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÐµÐ¼Ð°Ñ Ð´Ð»Ñ Ð»Ð¸Ð½ÐµÐ¹Ð½Ñ‹Ñ… и квадратных маркеров Ñ Ð½ÑƒÐ»ÐµÐ²Ñ‹Ð¼ индекÑом, ÑвлÑющимÑÑ Ð¿ÐµÑ€Ð²Ñ‹Ð¼ цветом. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_sr.properties b/core/assets/bundles/bundle_sr.properties new file mode 100644 index 0000000000..705bac3024 --- /dev/null +++ b/core/assets/bundles/bundle_sr.properties @@ -0,0 +1,2651 @@ +credits.text = Napravio [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits = Zasluge +contributors = Prevodioci i pomagaÄi +discord = Pridruži se Mindustry discordu! +link.discord.description = ZvaniÄno discord ćaskanje za Mindustry +link.reddit.description = Mindustry subredit +link.github.description = Izvorni kod za igru +link.changelog.description = Lista promena za ažuriranja +link.dev-builds.description = Nestabilne verzije u razvoju +link.trello.description = ZvaniÄna Trello tabla za planirane dodatke. +link.itch.io.description = itch.io stranica, gde se igra preuzima za PC +link.google-play.description = Google Play stranica igre +link.f-droid.description = F-Droid stranica igre +link.wiki.description = ZvaniÄna Mindustry vikipedia +link.suggestions.description = Preloži nove dodatke +link.bug.description = PronaÅ¡ao si greÅ¡ku? Prijavi je ovde +linkopen = Ovaj server vam je poslao link. Da li ste sigurni da ga želite otvoriti?\n\n[sky]{0} +linkfail = Nemoguće otvoriti link!\nURL adresa je iskopirana +screenshot = Snimanje ekrana izvrÅ¡eno {0} +screenshot.invalid = Mapa je prevelika, moguće je da nema dovoljno memorije za snimanje ekrana. +gameover = Igra gotova. +gameover.disconnect = Prekini vezu +gameover.pvp = [accent] {0}[] tim je pobedio! +gameover.waiting = [accent]ÄŒeka se na sledeću mapu... +highscore = [accent]Novi rekord! +copied = Iskopirano. +indev.notready = Ovaj deo igre joÅ¡ uvek nije spreman. + +load.sound = Zvukovi +load.map = Mape +load.image = Slike +load.content = Sadržaj +load.system = Sistem +load.mod = Modovi +load.scripts = Programi + +be.update = Nova razvojna verzija je spremna! +be.update.confirm = Skinuti sad i restartovati igru? +be.updating = Ažuriranje... +be.ignore = IgnoriÅ¡i +be.noupdates = Nema dostupnih ažuriranja. +be.check = Proveri za ažuriranja + +mods.browser = PregledaÄ modova +mods.browser.selected = Izabrani mod +mods.browser.add = Instaliraj +mods.browser.reinstall = Reinstaliraj +mods.browser.view-releases = Vidi Verzije +mods.browser.noreleases = [scarlet]Nema pronaÄ‘enih verzija!\n[accent]Ne može se naći verzija za ovaj mod. Proverite da li stranica moda ima objavljenu verziju. +mods.browser.latest = +mods.browser.releases = Verzije +mods.github.open = GitHub Stranica +mods.github.open-release = Otvori Stranicu +mods.browser.sortdate = Sortiraj od najnovijeg to najstarijeg +mods.browser.sortstars = Sortiraj po broju "zvezdica" + +schematic = Å eme +schematic.add = Snimi Å¡emu +schematics = Å eme +schematic.search = Search schematics... +schematic.replace = Već postoji Å¡ema pod ovim imenom. Zameniti? +schematic.exists = Å ema sa ovimn imenom već postoji. +schematic.import = Uvezi Å¡emu. +schematic.exportfile = Izvezi dokument +schematic.importfile = Uvezi dokument +schematic.browseworkshop = Pretraži radionicu +schematic.copy = Iskopiraj u privremenu memoriju +schematic.copy.import = Uvezi is privremene memoriju +schematic.shareworkshop = Podeli na radionici +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Prevrni Å¡emu. +schematic.saved = Å ema snimljena. +schematic.delete.confirm = Å ema će biti potpuno uniÅ¡tena. +schematic.edit = Edit Schematic +schematic.info = {0}x{1}, {2} blokova +schematic.disabled = [scarlet]Å ema onemogućena.[]\nZabranjena je upotreba Å¡ema na ovoj [accent]mapi[] ili na ovom [accent]serveru. +schematic.tags = Oznake: +schematic.edittags = Uredi Oznake +schematic.addtag = Dodaj Oznaku +schematic.texttag = Tekstualna Oznaka +schematic.icontag = Slikovna Oznaka +schematic.renametag = Preimenuj Oznaku +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Potpuno izbriÅ¡i oznaku? +schematic.tagexists = Ova oznaka već postoji. + +stats = Statistika +stats.wave = Talasa Poraženo +stats.unitsCreated = Jedinica Proizvedeno +stats.enemiesDestroyed = Neprijatelja UniÅ¡teno +stats.built = GraÄ‘evina SagraÄ‘eno +stats.destroyed = GraÄ‘ebina UniÅ¡teno +stats.deconstructed = GraÄ‘evina RazruÅ¡eno +stats.playtime = Vreme Igre + +globalitems = [accent]Ukupni Materijali +map.delete = Da li ste sigurni da želite izbrisati ovu mapu "[accent]{0}[]"? +level.highscore = Najbolji rezultat: [accent]{0} +level.select = Izabrati nivo +level.mode = Režim igre: +coreattack = < Jezgro je napadnuto! > +nearpoint = [[ [scarlet]NAPUSTI ZONU DOLASKA ODMAH[] ]\nauniÅ¡tenje je neizostavno +database = Baza Podataka +database.button = Baza Podataka +savegame = Snimi Igru +loadgame = UÄitaj Igru +joingame = PrikljuÄi se na Igru +customgame = Podesiva Igra +newgame = Nova Igra +none = +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Minimapa +position = Pozicija +close = Zatvori +website = Veb-stranica +quit = IzaÄ‘i +save.quit = Snimi i izaÄ‘i +maps = Mape +maps.browse = Pretraži mape +continue = Nastavi +maps.none = [lightgray]Nijedna mapa nije pronaÄ‘ena! +invalid = Neispravno +pickcolor = Izaberi boju +preparingconfig = Spremanje konfiguracije +preparingcontent = Spremanje sadržaja +uploadingcontent = KaÄenje sadržaja na internet +uploadingpreviewfile = KaÄenje pregledne datoteke na internet. +committingchanges = VrÅ¡enje izmena +done = Gotovo. +feature.unsupported = VaÅ¡ ureÄ‘aj ne podržava ovu funkciju + +mods.initfailed = [red]âš [] Mindustry se nije mogao podići prethodni put.. To je verovatno izazvano greÅ¡kom u vezi modova.\n\nDa bi se spreÄilo veÄno ispadanje, [red]svi modovi su onemogućeni..[] +mods = Modovi +mods.none = [lightgray]Modovi nisu pronaÄ‘eni! +mods.guide = VodiÄ za modovanje +mods.report = Prijavi greÅ¡ku +mods.openfolder = Otvori folder +mods.viewcontent = Pregledaj sadržaj +mods.reload = Ponovno uÄitaj +mods.reloadexit = Igra će se sada ugasiti, da ponovo uÄita modove. +mod.installed = [Instalirano] +mod.display = [gray]Mod:[orange] {0} +mod.enabled = [lightgray]Omogućeno +mod.disabled = [scarlet]Onemogućeno +mod.multiplayer.compatible = [gray]Podesan sa multiplejerom +mod.disable = Onemogući +mod.version = Version: +mod.content = Sadržaj: +mod.delete.error = Nemoguće izbrisati mod, datoteka je možda u upotrebi. +mod.incompatiblegame = [red]Zastarela Igra +mod.incompatiblemod = [red]Nije Podesan +mod.blacklisted = [red]Nema PodrÅ¡ku +mod.unmetdependencies = [red]Nedostaju Zavisni Modovi +mod.erroredcontent = [scarlet]GreÅ¡ka u sadržaju +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Zahteva verziju igre: [accent]{0}[]\nVaÅ¡a igra je zastarela. Ovaj mod zahteva novu verziju igre (po mogućstvu alfa/beta izdanje) da bi funkcionisala. +mod.outdatedv7.details = Ovaj mod nije podesan sa novijom verzijom igre. Autor mora da ga ažurira, i da doda [accent]minGameVersion: 136[] u [accent]mod.json[] datoteku. +mod.blacklisted.details = Ovaj mod nema podrÅ¡ku zato Å¡to stalno ispada ili prave razne greÅ¡ke u ovoj verziji igre. Ne koristi te ga. +mod.missingdependencies.details = Ovaj mod nema sledeće zavisne modove: {0} +mod.erroredcontent.details = Ova igra sadrži greÅ¡ke. Pitajte autora moda da ih popravi. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} +mod.errors = GreÅ¡ke su nastale tokom uÄitavanja sadržaja. +mod.noerrorplay = [scarlet]Imate modove sa greÅ¡kama.[] Onemogućite te modove, ili ispravite greÅ¡ke. +mod.nowdisabled = [scarlet]Mod '{0}'nema potrebne zavisne modove:[accent] {1}\n[lightgray]Ove modove treba instalirati prvo.\nMod se automatski onemogućava. +mod.enable = Omogući +mod.requiresrestart = Igra će se zatvoriti da ažurira modove. +mod.reloadrequired = [scarlet]Ponovno pokretanje potrebno +mod.import = Uvezi mod +mod.import.file = Uvezi datoteku +mod.import.github = Uvezi sa GitHub-a +mod.jarwarn = [scarlet]JAR modovi su Äesto nepouzdani i nebezbedni.[]\nBudite sigurni da je mod skinut sa verodostojnog izvora! +mod.item.remove = Ova stavka je deo [accent] '{0}'[] moda. Da je uklonite, onemogućite mod. +mod.remove.confirm = Mod će biti izbrisan. +mod.author = [lightgray]Autor:[] {0} +mod.missing = Ovaj snimak sadrži modove koji su ili promenjeni ili onemogućeni. Može doći do korupcije snimka. Da li ste sigurni da ga želite uÄitati?\n[lightgray]Modovi:\n{0} +mod.preview.missing = Pre objavljivanja moda u radionicu, neophodno je staviti sliku za mod.\nPostaviti sliku sa imenom: [accent] preview.png[] u folder moda i pokuÅ¡ati ponovo. +mod.folder.missing = Mod mora biti u obliku foldera da bi se objavio na radionicu.\nDa pretvorite bilo koji mod u folder, ekstraktujte fajl u neko folder, izbriÅ¡ite stari .zip, ponovo pokrenite igru i uÄitajte modove. +mod.scripts.disable = VaÅ¡ ureÄ‘aj ne podržava modove sa skriptama. Onemogućite te modove. + +about.button = ViÅ¡e Informacija +name = Ime: +noname = Izaberite [accent] ime igraÄa[] prvo. +search = Pretraži: +planetmap = Mapa Planete +launchcore = Lansirajte Jezgro +filename = Ime datoteke: +unlocked = Novi sadržaj otkljuÄan! +available = Nova tehnologija dostupna za izuÄavanje! +unlock.incampaign = < OtkljuÄajte u kampanji za viÅ¡e detalja > +campaign.select = Izaberite PoÄetnu Kampanju +campaign.none = [lightgray]Izaberite planetu gde bi ste poÄeli.\nOvo se može promeniti u svakom trenutku. +campaign.erekir = [accent]PreporuÄeno za novije igraÄe.[]\n\nNovije, poboljÅ¡ane funkcije. Uglavnom linearni tok kampanje.\n\nKvalitetniji doživljaji i mape. Veća težina. +campaign.serpulo = [scarlet]Nije preporuÄeno za novije igraÄe.[]\n\nStarije funkcije; renesansno iskustvo. Otvoreniji pristup.\n\nMoguće je da mape i tok kampanje nisu glatki i balansirani. +campaign.difficulty = Difficulty +completed = [accent]ZavrÅ¡eno. +techtree = Drvo Tehnologija +techtree.select = Izbor Drveća Tehnologija +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = UÄitajte +research.discard = Odbacite +research.list = [lightgray]Tehnologija: +research = IzuÄite +researched = [lightgray]{0} izuÄeno. +research.progress = {0}% zavrÅ¡eno +players = {0} broj igraÄa +players.single = {0} igraÄ +players.search = pretraži +players.notfound = [gray]igraÄi nisu pronaÄ‘eni +server.closing = [accent]Zatvaranje servera... +server.kicked.kick = IzbaÄeni ste iz servera! +server.kicked.whitelist = Ne nalazite se na beloj listi servera. +server.kicked.serverClose = Server zatvoren.. +server.kicked.vote = Izglasano je da budete izbaÄeni. DoviÄ‘enja. +server.kicked.clientOutdated = Zastarela igra - ažurirajte igru! +server.kicked.serverOutdated = Zastareli server - tražite od vlasnika servera da ažurira! +server.kicked.banned = Trajno ste izbaÄeni iz ovog servera. +server.kicked.typeMismatch = Ovaj server nije podesan sa vaÅ¡om verzijom igre. +server.kicked.playerLimit = Server je pun. SaÄekajte da se oslobodi mesto. +server.kicked.recentKick = Bili ste izbaÄeni skoro.\nSaÄekajte pre ponovnog povezivanja. +server.kicked.nameInUse = Ima neko sa tim imenom koji je prisutan \ntrenutno na serveru. +server.kicked.nameEmpty = VaÅ¡e izabrano ime nije validno. +server.kicked.idInUse = Već ste na ovom serveru, a prisustvo sa dva naloga je zabranjeno. +server.kicked.customClient = Ovaj server ne podržava svjojehodnu verziju. Preuzmite zvaniÄnu verziju. +server.kicked.gameover = Igra je zavrÅ¡ena! +server.kicked.serverRestarting = Server se ponovo pokreće. +server.versions = VaÅ¡a verzija:[accent] {0}[]\nVerzija Servera:[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. +join.info = Ovde, možete ukucati [accent]IP servera[] na kojem bi ste se povezali, ili otkrivanje [accent]lokalnih mreža[] ili [accent]zadružnih[] servera na koje bi ste se povezali.\nLAN i WAN onlajn igra je podržana.\n\n[lightgray]If you want to connect to someone by IP, you would need to ask the host for their IP, which can be found by googling "my ip" from their device. +hostserver = Host Multiplayer Game +invitefriends = Pozovi Prijatelje +hostserver.mobile = Host Game +host = Host +hosting = [accent]Otvaranje servera... +hosts.refresh = Osveži +hosts.discovering = Otkrivanje LAN igara +hosts.discovering.any = Otkrivanje igara +server.refreshing = Osvežavanje servera +hosts.none = [lightgray]Nije pronaÄ‘ena lokalna igra! +host.invalid = [scarlet]Can't connect to host. + +servers.local = Lokalni Serveri +servers.local.steam = Dostupne Igre i Lokalni Serveri +servers.remote = Dalji Serveri +servers.global = Zadružni Serveri + +servers.disclaimer = Zadružni serveri [accent]nisu[] pod vlasniÅ¡tvom ili upravljani od strane tvorca igre.\n\nServeri mogu da sadrže sadržaj napravljen od strane korisnika koji nisu prikladni za svakog. +servers.showhidden = Prikaži Skrivene Servere +server.shown = Prikazano +server.hidden = Skriveno +viewplayer = Posmatranje IgraÄa: [accent]{0} + +trace = Nadgledaj IgraÄa +trace.playername = Ime igraÄa: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = ID: [accent]{0} +trace.language = Language: [accent]{0} +trace.mobile = Telefonski Klijent: [accent]{0} +trace.modclient = Svojehodni Klijent: [accent]{0} +trace.times.joined = Puta Povezano: [accent]{0} +trace.times.kicked = Puta IzbaÄeno: [accent]{0} +trace.ips = IPs: +trace.names = Names: +invalidid = Invalid client ID! Submit a bug report. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team +server.bans = Bans +server.bans.none = No banned players found! +server.admins = Administratori +server.admins.none = Nema pronaÄ‘enih administratora! +server.add = Dodaj Server +server.delete = Da li želite da obriÅ¡ete ovaj server? +server.edit = Izmeni Server +server.outdated = [scarlet]Zastareli Server![] +server.outdated.client = [scarlet]Zastareli Klijent![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Svjojehodna Verzija +confirmban = Da li ste sigurni da želite da [scarlet]trajno[] izbacite "{0}[white]"? +confirmkick = Da li ste sigurni da želite da izbacite "{0}[white]"? +confirmunban = Are you sure you want to unban this player? +confirmadmin = Da li ste sigurni da želite da pretvorite "{0}[white]" u administratora? +confirmunadmin = Da li ste sigurni da želite ukloni Äin administratora sa "{0}[white]"? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: +joingame.title = Pridruži Se Igri +joingame.ip = Adresa: +disconnect = Veza je prekinuta. +disconnect.error = GreÅ¡ka u povezivanju. +disconnect.closed = Connection closed. +disconnect.timeout = Timed out. +disconnect.data = NeuspeÅ¡no uÄitavanje podataka! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. +cantconnect = Ne može se pridružiti igri ([accent]{0}[]). +connecting = [accent]Povezivanje... +reconnecting = [accent]Ponovno povezivanje... +connecting.data = [accent]UÄitavanje podataka... +server.port = Port: +server.invalidport = Invalid port number! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [scarlet]Error hosting server. +save.new = Novi Snimak +save.overwrite = Da li ste sigurni da želite da prerežete\novaj snimak? +save.nocampaign = Individual save files from the campaign cannot be imported. +overwrite = Prereži +save.none = Nema pronaÄ‘enih snimaka! +savefail = GreÅ¡ka u snimanju! +save.delete.confirm = Da li ste sigurni da želite da izbriÅ¡ete ovaj snimak? +save.delete = ObriÅ¡i +save.export = Izvezi Snimak +save.import.invalid = [accent]This save is invalid! +save.import.fail = [scarlet]GreÅ¡ka u uvozu snimka: [accent]{0} +save.export.fail = [scarlet]GreÅ¡ka u izvozu snimka: [accent]{0} +save.import = Uvezi Snimak +save.newslot = Ime snimka: +save.rename = Preimenuj +save.rename.text = Novo ime: +selectslot = Izaberi snimak. +slot = [accent]Slot {0} +editmessage = Izmeni Poruku +save.corrupted = Save file corrupted or invalid! +empty = +on = UkljuÄeno +off = IskljuÄeno +save.search = Pretraži snimljene igre... +save.autosave = Automatski snimak: {0} +save.map = Mapa: {0} +save.wave = Talas {0} +save.mode = Režim igre: {0} +save.date = Poslednji snimak: {0} +save.playtime = Vreme igre: {0} +warning = Upozorenje. +confirm = Potvrdi +delete = IzbriÅ¡i +view.workshop = Pogledaj u radionici +workshop.listing = Edit Workshop Listing +ok = OK +open = Otvori +customize = Podesi Pravila +cancel = Obustavi +command = Upravljaj +command.queue = [lightgray][Queuing] +command.mine = Iskopavaj +command.repair = Popravljaj +command.rebuild = Ponovna Gradnja +command.assist = Pomoć IgraÄu +command.move = Kretanje +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding +openlink = Otvori Link +copylink = Iskopiraj Link +back = Nazad +max = Maksimum +objective = Zadatak +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. +data.export = Izvezi Podatke +data.import = Uvezi Podatke +data.openfolder = Otvori Folder Datoteke +data.exported = Data exported. +data.invalid = Ovo nisu validni podaci igre. +data.import.confirm = Uvoz spoljaÅ¡nih podataka igre prerežuje[scarlet] sve[] vaÅ¡e trenutne podatke igre.\n[accent]Ovaj Äin je nepovratan!![]\n\nJednom kada se podaci uvezu, vaÅ¡a igra će odmah izaći. +quit.confirm = Da li ste sigurni da želite izaći? +loading = [accent]UÄitavanje... +downloading = [accent]Preuzimanje... +saving = [accent]Snimanje... +respawn = [accent][[{0}][] da se prizoveÅ¡ u jezgru +cancelbuilding = [accent][[{0}][] da oÄistiÅ¡ plan +selectschematic = [accent][[{0}][] da izabereÅ¡+kopiraÅ¡ +pausebuilding = [accent][[{0}][] da pauziraÅ¡ gradnju +resumebuilding = [scarlet][[{0}][] da nastaviÅ¡ gradnju +enablebuilding = [scarlet][[{0}][] da odobriÅ¡ gradnju +showui = UI je sakriven.\nPritisni [accent][[{0}][] da prikažeÅ¡ UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] +wave = [accent]Talas {0} +wave.cap = [accent]Talas {0}/{1} +wave.waiting = [lightgray]Talas za {0} +wave.waveInProgress = [lightgray]Talas je u toku +waiting = [lightgray]ÄŒeka se... +waiting.players = ÄŒeka se za igraÄe... +wave.enemies = [lightgray]{0} Neprijatelja Ostalo +wave.enemycores = [accent]{0}[lightgray] Neprijateljskih Jezgara +wave.enemycore = [accent]{0}[lightgray] Neprijateljskog Jezgra +wave.enemy = [lightgray]{0} Neprijatelj Ostalo +wave.guardianwarn = ÄŒuvar dolazi za [accent]{0}[] talasa. +wave.guardianwarn.one = ÄŒuvar dolazi za [accent]{0}[] talas. +loadimage = Nareži Sliku +saveimage = SaÄuvaj Sliku +unknown = Nepoznato +custom = Tkana +builtin = UgraÄ‘ena +map.delete.confirm = Da li ste sigurni da želite obrisati ovu mapu? Ovaj Äin je nepovratan! +map.random = [accent]NasumiÄna Mapa +map.nospawn = Ova mapa nema jezgra u kom će se stvoriti igraÄ! Dodaj {0} jezgro ovoj mapi u editor-u. +map.nospawn.pvp = Ova mapa nema neprijateljskih jezgara u kom će se stvoriti igraÄ! Dodaj jezgara[scarlet] od drugih timova[] ovoj mapi u editor-u. +map.nospawn.attack = Ova mapa nema neprijateljskih jezgara koje će igraÄ napadati! Dodaj {0} jezgara ovoj mapi u editor-u. +map.invalid = GreÅ¡ka prilikom uÄitavanja mape: datoteka mape sadrži neÄitljive delove. +workshop.update = Update Item +workshop.error = Error fetching workshop details: {0} +map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! +workshop.menu = Select what you would like to do with this item. +workshop.info = Item Info +changelog = Lista Promena (nije neophodna): +updatedesc = Prereži Ime i Opis +eula = Steam EULA +missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. +publishing = [accent]Objavljivanje... +publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! +publish.error = GreÅ¡ka pri objavljivanju: {0} +steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planeta: +editor.sector = Sektor: +editor.seed = Seme: + +editor.cliffs = Zidovi u Litice +editor.brush = ÄŒetka +editor.openin = Otvori u Editoru +editor.oregen = Generacija Rude +editor.oregen.info = Generacija Rude: +editor.mapinfo = Informacije o Mapi +editor.author = Autor: +editor.description = Opis: +editor.nodescription = Mapa mora imati opis ne manji od 4 simbola pre objave. +editor.waves = Talasi: +editor.rules = Pravila: +editor.generation = Generisanje: +editor.objectives = Zadaci +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. +editor.ingame = Izmeni "U Igri" +editor.playtest = Testiranje +editor.publish.workshop = Objavi u Radionicu +editor.newmap = Nova Mapa +editor.center = Centar +editor.search = Pretraži Mape... +editor.filters = Filtriraj Mape +editor.filters.mode = Tip Igre: +editor.filters.type = Tip Mape: +editor.filters.search = Pretraži U: +editor.filters.author = Autor +editor.filters.description = Opis +editor.shiftx = Pomeri X +editor.shifty = Pomeri Y +workshop = Radionica +waves.title = Talasi +waves.remove = Ukloni +waves.every = svakih +waves.waves = talas(a) +waves.health = snaga: {0}% +waves.perspawn = po tvorbi +waves.shields = Å¡tita/talasu +waves.to = do +waves.spawn = tvorba: +waves.spawn.all = +waves.spawn.select = Biranje Mesta Tvorbe +waves.spawn.none = [scarlet]nema mesto tvorbe u ovoj mapi +waves.max = maksimalno jedinica +waves.guardian = ÄŒuvar +waves.preview = Prikaz +waves.edit = Izmeni... +waves.random = Random +waves.copy = Kopiraj u Privremenu Memoriju +waves.load = UÄitaj iz Privremene Memorije +waves.invalid = U privremenoj memoriji se nalaze ne-validni talasi. +waves.copied = Talasi su kopirani. +waves.none = Nema definisanih neprijatelja.\nImajte na umu da će prazan skup talasa automatski biti zamenjen standardnim skupom. +waves.sort = Sortiraj Po +waves.sort.reverse = Suprotno Sortiraj +waves.sort.begin = PoÄetak +waves.sort.health = Snaga +waves.sort.type = Tip +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Sakrij Sve +waves.units.show = Pokaži Sve + +#these are intentionally in lower case +wavemode.counts = koliÄina +wavemode.totals = ukupno +wavemode.health = snaga +all = All + +editor.default = [lightgray] +details = Detalji... +edit = Izmeni... +variables = Varijabla +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables +editor.name = Ime: +editor.spawn = Prizovi Jedinicu +editor.removeunit = Ukloni Jedinicu +editor.teams = Timovi +editor.errorload = GreÅ¡ka prilikom Äitanja datoteke. +editor.errorsave = GreÅ¡ka prilikom saÄuvanja datoteke. +editor.errorimage = To je slika, a ne mapa. +editor.errorlegacy = Ova mapa je stara, i koristi format mape koji nije podržan. +editor.errornot = Ovo nije datoteka mape. +editor.errorheader = This map file is either not valid or corrupt. +editor.errorname = Mapa nema definisano ime. Da li pokuÅ¡avate da uÄitate saÄuvanu igru? +editor.errorlocales = Error reading invalid locale bundles. +editor.update = Aržuriraj +editor.randomize = NasumiÄno +editor.moveup = Pomeri Gore +editor.movedown = Pomeri Dole +editor.copy = Kopiraj +editor.apply = Uklopi +editor.generate = GeneriÅ¡i +editor.sectorgenerate = Sektorska Generacija +editor.resize = PreuveliÄaj +editor.loadmap = UÄitaj Mapu +editor.savemap = SaÄuvaj Mapu +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? +editor.saved = SaÄuvano! +editor.save.noname = VaÅ¡a mapa ne sadrži ime! Postavi neko u 'informacije o mapi' meniju. +editor.save.overwrite = VaÅ¡a mapa prerezuje ugraÄ‘enu mapu! Izaberi drugo ime u 'informacije o mapi' meniju. +editor.import.exists = [scarlet]Nemoguće preuzeti mapu:[] ugraÄ‘ena mapa '{0}' uveliko postoji! +editor.import = Preuzmi... +editor.importmap = Preuzmi Mapu +editor.importmap.description = Preuzmite već postojeću mapu +editor.importfile = Preuzmi Datoteku Mape +editor.importfile.description = Preuzmite spoljaÅ¡nju datoteku mape +editor.importimage = Preuzmi Slikovnu Datoteku +editor.importimage.description = Preuzmite spoljaÅ¡nju datoteku mape putem slike +editor.export = Export... +editor.exportfile = Export File +editor.exportfile.description = Export a map file +editor.exportimage = Export Terrain Image +editor.exportimage.description = Export an image file containing only basic terrain +editor.loadimage = UÄitaj Teren +editor.saveimage = SaÄuvaj Teren +editor.unsaved = Da li ste sigurni da želite da izaÄ‘ete?\n[scarlet]Bilo koja promena koja nije saÄuvana će biti izgubljena. +editor.resizemap = PreuveliÄaj Mapu +editor.mapname = Ime Mape: +editor.overwrite = [accent]Upozorenje!\n Ovo će da prereže postojeću mapu. +editor.overwrite.confirm = [scarlet]Upozorenje![] Mapa sa ovim imenom već postoji. Da li ste sigurni da želite da je prerežete? \n"[accent]{0}[]" +editor.exists = Mapa sa ovim imenom već postoji. +editor.selectmap = Izaberite mapu koju bi ste uÄitali: + +toolmode.replace = Zamena +toolmode.replace.description = Samo crtaj na Ävrstim blokovima. +toolmode.replaceall = Zameni Sve +toolmode.replaceall.description = Zameni sve blokove na mapi. +toolmode.orthogonal = Ortogonalno +toolmode.orthogonal.description = Crta u samo ortogonalnim crtama. +toolmode.square = Kocka +toolmode.square.description = Kockasta Äetka. +toolmode.eraseores = ObriÅ¡i Rude +toolmode.eraseores.description = Samo briÅ¡i rude. +toolmode.fillteams = Popuni Timove +toolmode.fillteams.description = Popuni timove umesto blokova. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. +toolmode.drawteams = Crtaj Timove +toolmode.drawteams.description = Crtaj timove umesto blokova. +toolmode.underliquid = Ispod TeÄnosti +toolmode.underliquid.description = Crtaj podove ispod teÄnosti. + +filters.empty = [lightgray]Nema filtera! Dodaj jedan preko dugmati ispod. + +filter.distort = Poremeti +filter.noise = Noise +filter.enemyspawn = Odabir Neprijateljske Tvorbe +filter.spawnpath = Put od Tvorbe +filter.corespawn = Izbor Jezgra +filter.median = Median +filter.oremedian = Ore Median +filter.blend = Utapanje +filter.defaultores = Default Ores +filter.ore = Ruda +filter.rivernoise = River Noise +filter.mirror = Ogledalo +filter.clear = OÄisti +filter.option.ignore = IgnoriÅ¡i +filter.scatter = Razbaci +filter.terrain = Teren +filter.logic = Logic + +filter.option.scale = Razmera +filter.option.chance = Å ansa +filter.option.mag = Magnituda +filter.option.threshold = Threshold +filter.option.circle-scale = Razmera Kruga +filter.option.octaves = Octave +filter.option.falloff = Falloff +filter.option.angle = Ugao +filter.option.tilt = Nagib +filter.option.rotate = Rotiraj +filter.option.amount = KoliÄina +filter.option.block = Blokovi +filter.option.floor = Pod +filter.option.flooronto = Ciljan Pod +filter.option.target = Ciljanje +filter.option.replacement = Zamena +filter.option.wall = Zid +filter.option.ore = Ruda +filter.option.floor2 = Drugi Pod +filter.option.threshold2 = Secondary Threshold +filter.option.radius = Radius +filter.option.percentile = Percentile +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon + +width = Å irina: +height = Visina: +menu = Menu +play = Igraj +campaign = Kampanja +load = UÄitaj +save = SaÄuvaj +fps = FPS: {0} +ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb +language.restart = Ponovo pokrenite vaÅ¡u igru da promenite jeziÄka podeÅ¡avanja. +settings = PodeÅ¡avanja +tutorial = Tutorijal +tutorial.retake = Ponovi Tutorijal +editor = Editor +mapeditor = Editor Mape + +abandon = Napusti +abandon.text = Ova zona i svi njeni resursi će biti izgubljeni od strane neprijatelja. +locked = zakljuÄano +complete = [lightgray]ZavrÅ¡eno: +requirement.wave = Dostići Talas {0} u {1} +requirement.core = UniÅ¡ti Neprijateljsko Jezgro u {0} +requirement.research = IzuÄi {0} +requirement.produce = Proizvedi {0} +requirement.capture = Zauzmi {0} +requirement.onplanet = KontroliÅ¡i Sektor Na {0} +requirement.onsector = Sleti Na Sektor: {0} +launch.text = Lansiraj +map.multiplayer = Only the host can view sectors. +uncover = Razotkrij +configure = KonfiguriÅ¡i Zalihe +objective.research.name = IzuÄi +objective.produce.name = Dobij +objective.item.name = Preuzmi Materijal +objective.coreitem.name = Materijal u Jezgru +objective.buildcount.name = Sagradi +objective.unitcount.name = Broj Jedinica +objective.destroyunits.name = UniÅ¡ti Jedinice +objective.timer.name = Å toperica +objective.destroyblock.name = UniÅ¡ti Blok +objective.destroyblocks.name = UniÅ¡ti Blokove +objective.destroycore.name = UniÅ¡ti Jezgro +objective.commandmode.name = UpravljaÄki Mod +objective.flag.name = Zastava +marker.shapetext.name = Tekst i Oblik +marker.point.name = Point +marker.shape.name = Oblik +marker.text.name = Tekst +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Pozadina +marker.outline = Outline +objective.research = [accent]IzuÄi:\n[]{0}[lightgray]{1} +objective.produce = [accent]Dobij:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]UniÅ¡ti:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]UniÅ¡ti: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Preuzmi: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Dostavi u jezgro:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Sagradi: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Proizvedi Jedinica: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]UniÅ¡ti: [][lightgray]{0}[]x Jedinica +objective.enemiesapproaching = [accent]Neprijatelji dolaze za: [lightgray]{0}[] +objective.enemyescelating = [accent]Neprijateljska proizvodnja se umnožava za [lightgray]{0}[] +objective.enemyairunits = [accent]Neprijateljska vazduÅ¡na proizvodnja poÄinje za [lightgray]{0}[] +objective.destroycore = [accent]UniÅ¡ti Neprijateljsko Jezgro +objective.command = [accent]Upravljaj Jedinicama +objective.nuclearlaunch = [accent]âš  Nuklearno lansiranje u toku: [lightgray]{0} + +announce.nuclearstrike = [red]âš  NUKLEARNI NAPAD JE NEIZBEŽAN âš \n[lightgray]smesta sagradite rezervna jezgra + +loadout = Loadout +resources = Resursi +resources.max = Maksimum +bannedblocks = Nedozvoljeni Blokovi +unbannedblocks = Unbanned Blocks +objectives = Zadaci +bannedunits = Nedozvoljene Jedinice +unbannedunits = Unbanned Units +bannedunits.whitelist = Nedozvoljene Jedinice Kao Bela Lista +bannedblocks.whitelist = Nedozvoljeni Blokovi Kao Bela Lista +addall = Dodaj Sve +launch.from = Lansirati Od: [accent]{0} +launch.capacity = Lansirni Kapacitet Materijala: [accent]{0} +launch.destination = Destinacija: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = KoliÄina mora biti izmeÄ‘u 0 i {0}. +add = Dodaj... +guardian = ÄŒuvar + +connectfail = [scarlet]GreÅ¡ka u povezivanju:\n\n[accent]{0} +error.unreachable = Server je nedostižan.\nDa li je adresa ispravno napisana? +error.invalidaddress = Adresa nije validna. +error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! +error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! +error.alreadyconnected = Već Povezan. +error.mapnotfound = Datoteka mape nije pronaÄ‘ena! +error.io = I/O mrežna greÅ¡ka. +error.any = Nepoznata greÅ¡ka u mreži. +error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. + +weather.rain.name = KiÅ¡a +weather.snowing.name = Sneg +weather.sandstorm.name = PeÅ¡Äana Oluja +weather.sporestorm.name = Sporna Oluja +weather.fog.name = Magla +campaign.playtime = \uf129 [lightgray]Vreme Igre na Sektoru: {0} +campaign.complete = [accent]ÄŒestitam.\n\nNeprijatelj na {0} je poražen.\n[lightgray]Poslednji sektor je zauzet. + +sectorlist = Sektori +sectorlist.attacked = {0} pod napadom +sectors.unexplored = [lightgray]Neistraženo +sectors.resources = Resursi: +sectors.production = Proizvodnja: +sectors.export = Izvoz: +sectors.import = Uvoz: +sectors.time = Vreme: +sectors.threat = Opasnost: +sectors.wave = Talas: +sectors.stored = Skladišćeno: +sectors.resume = Nastavi +sectors.launch = Lansiraj +sectors.select = Izaberi +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]nema (sunce) +sectors.redirect = Redirect Launch Pads +sectors.rename = Preimenuj Sektor +sectors.enemybase = [scarlet]Neprijateljska Baza +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Pod napadom! [accent]{0}% Å¡tete +sectors.underattack.nodamage = [scarlet]Nije zauzet +sectors.survives = [accent]Preživeće {0} talasa +sectors.go = Kreni +sector.abandon = Napusti +sector.abandon.confirm = Sva jezgra u ovom sektoru će se samouniÅ¡titi. Nastaviti? +sector.curcapture = Sektor Zauzet +sector.curlost = Sektor Izgubljen +sector.missingresources = [scarlet]Nedovoljnema Resursa u Jezgru +sector.attacked = Sektor [accent]{0}[white] je napadnut! +sector.lost = Sektor [accent]{0}[white] je izgubljen! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Promeni Ikonicu +sector.noswitch.title = Nije Moguće Promeniti Sektor +sector.noswitch = Ne možete promeniti sektor dok je drugi napadnut.\n\nSektor: [accent]{0}[] na [accent]{1}[] +sector.view = Vidi Sektor + +threat.low = Nisko +threat.medium = Srednje +threat.high = Visoko +threat.extreme = Ekstremno +threat.eradication = Istrebljenje +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + +planets = Planete + +planet.serpulo.name = Serpulo +planet.erekir.name = Erekir +planet.sun.name = Sunce + +sector.impact0078.name = Udar 0078 +sector.groundZero.name = PoÄetna Zona +sector.craters.name = Krateri +sector.frozenForest.name = Smrznuta Å uma +sector.ruinousShores.name = UruÅ¡ene Obale +sector.stainedMountains.name = Zatamnjene Planine +sector.desolateRift.name = Pakleni Prolaz +sector.nuclearComplex.name = Nuklearno Proizvodni Kompleks +sector.overgrowth.name = Prerasla Ravnica +sector.tarFields.name = Polja Katrana +sector.saltFlats.name = Slane Ravnice +sector.fungalPass.name = GljiviÄni Prolaz +sector.biomassFacility.name = BiosintetiÄko Postrojenje +sector.windsweptIslands.name = Vetrovita Ostrva +sector.extractionOutpost.name = Lansirna Utvrda +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetarno Lansirni Terminal +sector.coastline.name = Obala +sector.navalFortress.name = Pomorska TvrÄ‘ava +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier + +sector.groundZero.description = SavrÅ¡ena lokacija za ponovni poÄetak. Niska neprijateljska pretnja, ali i mala koliÄina resursa.\nSakupite sav bakar i svo olovo koje možete. Nastavite dalje. +sector.frozenForest.description = ÄŒak i ovde, u blizini planina, spore su se proÅ¡irile… ledene temperature ih neće veÄno zadržati.\n\nZapoÄnite upotrebu elektriciteta. Graditei sagorevne generatore. NauÄite primenu popravljaÄa. +sector.saltFlats.description = Na ivici pustinja nalaze se Slane Ravnice. Retko Å¡ta od resursa se može naći ovde..\n\nNeprijatelj je sazidao skladiÅ¡no postrenje ovde. UniÅ¡tite njihovo Jezgro. Sravnite sve sa zemljom. +sector.craters.description = Voda se nakupila u ovim kraterima, ostacima davnih ratova... Povratite sektor. Kopajte pesak. Topite olovno staklo. Pumpajte vodu da ohladite topove i buÅ¡ilice. +sector.ruinousShores.description = Posle pustinja leži obala. Davno, ovde se nalazio sistem obalske odbrane. Malo Å¡ta od njega ostade do danas. Samo najosnovnije odbrane ostadoÅ¡e, sve ostalo je svedeno na opiljke.\nNastavite Å¡irenje ka spoljaÅ¡njosti. Povratite tehnologiju. +sector.stainedMountains.description = Dalje u unutraÅ¡njosti nalaze se planine, joÅ¡ nezagaÄ‘ene sporama. \nKopajte titanijum, koji je prisutan u znaÄajnoj koliÄini. NauÄite sve njegove primene. .\n\nNeprijateljsko prisustvo ovde je veće… ne dajte im vremena da poÅ¡alju svoje najmoćnije jedinice... +sector.overgrowth.description = Ova oblast je potpuno zarasla, već bliska izvoru spora.\nNeprijatelj je ovde podigao utvrdu. Koristeći “Topuz†jedinice, uniÅ¡tite je. +sector.tarFields.description = PoÄetak zone ekstrakcije nafte, izmeÄ‘u planina i pustinja. Jedna od retkih oblasti sa upotrebljivim rezervama katrana.\nIako je oblast napuÅ¡tena, ovde se nalaze smažne neprijateljske jedinice. Ne potcenjujte ih..\n\n[lightgray]IzuÄite tehnologiju prerade nafte ako ste u mogućnosti. +sector.desolateRift.description = Zona ogromne opasnosti. Mnogo resursa, ali malo prostora. Povucite se Äim je moguće. Ne dajte se prevariti dugaÄkim razmacima izmeÄ‘u neprijateljskih napada. +sector.nuclearComplex.description = BivÅ¡e postrojenje za proizvodnju i preradu torijuma, sada niÅ¡ta viÅ¡e od ruÅ¡evina..\n[lightgray]IzuÄi torijum i njegove brojne primene.\n\nNeprijatlje je ovde prisutan u velikim brojevima, stalno tražeći nove pretnje... +sector.fungalPass.description = Prelazna oblast izmeÄ‘u planina i nižih, sporama obraslim oblastima. Neprijatelj ovde ima malu izvidniÄku bazu.\nRazorite je..\nKoristite “Bodež†i “PuzaĆjedinice. UniÅ¡tite dva Jezgra. +sector.biomassFacility.description = Poreklo spora. Ovo je postrojenje gde su prvo otkrivene i proizvedene.\nIzuÄtei tehnologiju koja leži unutra. Proizvodi spore za kompresiju u ugalj i plastiku.\n\n[lightgray]Po propasti ovog zlosrećnog postrojenja, spore behu osloboÄ‘ene. NiÅ¡ta u lokalnom ekosistemu se nije moglo takmiÄiti sa tako invazivnim organizmom... +sector.windsweptIslands.description = Dalje nakon obale leže zabaÄena ostrva. IzveÅ¡taji pokazuju da su se ovde nalazile strukture za proizvodnju [accent]Plastaniuma[].\n\nOterajte neprijateljsku mornaricu. Sagradite bazu na ostrvu. IzuÄite novu tehnologiju tih fabrika. +sector.extractionOutpost.description = ZabaÄena utvrda, sagraÄ‘ena od strane neprijatelja za lansiranje resursa u druge sektore..\n\nMeÄ‘usektorski transport je kljulÄan za dalje osvajanje. Zauzmite bazu. IzuÄite njihove Lansirne Rampe. +sector.impact0078.description = Ovde padoÅ¡e ostaci meÄ‘uzvezdane transportne letelice koja je prva uÅ¡la u sistem..\n\nSakupite sve Å¡to je ostalo celo, naÄ‘ite primenu za tu novu tehnologiju. +sector.planetaryTerminal.description = Krajnji cilj.\n\nOva obalska struktura ima objekat sposoban za lansiranje Jezgara na druge planete. Maksimalno je Äuvan.\n\nProizvodite brodove. ElimiÅ¡i neprijatelja Å¡to brže moguće. Sagradi Interplanetarni Akcelerator po osvanjanju sektora. +sector.coastline.description = Ostaci tehnologije pomorskih jedinica su detektovani u ovom sektoru. Odbijte neprijateljske napade, zauzmite ovaj sektor, i preuzmite tehnologiju. +sector.navalFortress.description = Neprijatelj je sagradio bazu na dalekom, prirodno-formiranom ostrvu. UniÅ¡tite ovu bazu. Preuzmite njihovu naprednu pomorsku tehnologiju, i izuÄi te je. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = ŽaÄetak +sector.aegis.name = Okrilje +sector.lake.name = Jezero +sector.intersect.name = Raskrsnica +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Sliv +sector.marsh.name = Bara +sector.peaks.name = Vrhovi +sector.ravine.name = Klisura +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = TvrÄ‘ava +sector.crevice.name = Pukotina +sector.siege.name = Opsada +sector.crossroads.name = Raskrsnica +sector.karst.name = Karst +sector.origin.name = Poreklo + +sector.onset.description = Tutorijalni sektor. Ovaj zadatak joÅ¡ nije izraÄ‘en. SakeÄajte za dodatne informacije. +sector.aegis.description = Ovaj sektor sadrži rude Volframa.\nIzuÄi [accent]Udarnu Drobilicu[] da bi ste mogli iskopati ovu rudu, takoÄ‘e uniÅ¡tite obližnju neprijateljsku bazu. +sector.lake.description = Istopljen metali u ovom sektoru smanjuje koliÄinu korisnih jedinica. Lebdeća jedinica je jedina opcija.\nIzuÄi [accent]fabrikator brodova[] i proizvedi [accent]izvrda[] jedinicu Å¡to pre moguće. +sector.intersect.description = Preliminarno skeniranje predlaže neprijateljske napade sa viÅ¡e strana odmah posle sletanja.\nPostavi odbranu i prikupi resurse Å¡to pre moguće\n[accent]Meka[] jedinice su neophodne za prelaz preko okolnog, grubog terena. +sector.atlas.description = Ovaj sektor sadrži razne vidove terena i zahteva razve vrste jedinica radi efikasnog sprovoÄ‘ena napada.\nUnapreÄ‘ene jedinice su takoÄ‘e potrebne da bi se izaÅ¡lo na kraj sa snažnijim bazama primećenim u sektoru.\nIzuÄi [accent]Elektrolizator[] i [accent]Refabrikator Tenkova[]. +sector.split.description = Minimalno prisustvo neprijatelja Äini ovaj sektor savrÅ¡enim za testiranje novih tehnologija transporta. +sector.basin.description = Veliko prisustvo neprijatelja primećeno.\nBrzo proizvedi jedine i uniÅ¡ti neprijateljska jezgra da bi imao osnovu. +sector.marsh.description = Ovaj sektor je bogat luÄarom, ali ima ograniÄen broj ventila.\nSagradi [accent]Hemijske Komore Sagorevanja[] za proizvodnju energije. +sector.peaks.description = Planine u ovom sektoru Äine većiunu jedinica beskoristnim. Lebdeće jedinice će biti neophodne.\nImajte na umu neprijateljski protiv-vazduÅ¡nu odbranu. Možda će biti moguće da nekoliko od ovih instalacija da se onesposobe pomoću ciljanja njihove potpore. +sector.ravine.description = Nema neprijateljskih jezgara u okolini; elem, ovo je bitna transportna ruta za neprijatelja. OÄekuj raznovrsnost neprijateljskih jedinica.\nProizvedi [accent]impulsnu leguru[]. Sagradi [accent]Afflict[] platformu. +sector.caldera-erekir.description = Resursi primećeni u sektoru su razbaÄeni na nekoliko ostrva.\nIzuÄi i pusti u pogon transport zasnovan na dronovima. +sector.stronghold.description = Velika neprijateljska baza Äuva znaÄajna nalaziÅ¡ta [accent]toriuma[].\nIskoristi ga za stvaranje boljih jedinica i platformi. +sector.crevice.description = Neprijatelj će slati snažne talase jedinica da ti uniÅ¡ti bazu unutar sektora.Stvaranje [accent]karbida[] i [accent]Generatora Pirolize[] će sigurno biti presudno za preživljavanje. +sector.siege.description = Ovaj sektor sadrži dva kanjona koja primoravaju napad sa dve strane.\nIzuÄi [accent]cioanogen[] da bi imao mogućnosti da proizvedeÅ¡ joÅ¡ moćnije tenkovske jedinice\nPažnja: neprijateljske rakete na dugi domet su primećene. Rakete mogu biti neutralisane pre kontakta. +sector.crossroads.description = Neprijateljske baze su sagraÄ‘ene sa raznolikim terenom. IzuÄi razliÄite jedinice da bi se snaÅ¡ao.\nTakoÄ‘e, Å¡titovi se nalaze unutar nekih baza. Shvati kako su snabdevane energijom. +sector.karst.description = Ovaj sektoj je bogat resursima, ali će biti napadnuto od strane neprijatelja Äim se jezgro spusti.\nIskoristite prednost sa resursima i izuÄite [accent]faznu tkaninu[]. +sector.origin.description = Poslednji sektor sa znaÄajnim prisustvom neprijatelja.\nNema prilike da se neÅ¡to dodatno izuÄi - sav fokus usmeri ka uniÅ¡tenju neprijateljskih jezgara. + +status.burning.name = Zapaljen +status.freezing.name = Zamrzavanje +status.wet.name = Mokar +status.muddy.name = Blatnjav +status.melting.name = Topljenje +status.sapped.name = Sapiran +status.electrified.name = Elektrifikovan +status.spore-slowed.name = Usporen Sporama +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Å okiran +status.blasted.name = Prasknut +status.unmoving.name = Nepokretljiv +status.boss.name = ÄŒuvar + +settings.language = Jezik +settings.data = Podaci +settings.reset = Vrati na podrazumevano +settings.rebind = Rebind +settings.resetKey = Resetuj +settings.controls = Kontrole +settings.game = Igra +settings.sound = Zvuk +settings.graphics = Grafika +settings.cleardata = RasÄisti podatke igre... +settings.clear.confirm = Da li ste sigurni da želite rasÄistiti ove podatke?\nÅ ta je bilo ne može se vratiti! +settings.clearall.confirm = [scarlet]UPOZORENJE![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. +settings.clearsaves.confirm = Da li ste sigurni da želite obrisati sve snimke? +settings.clearsaves = OÄisti Snimke +settings.clearresearch = OÄisti IzuÄavanja +settings.clearresearch.confirm = Da li ste sigurni da želite obrisati sva izuÄavanja unutar kampanje? +settings.clearcampaignsaves = OÄisti Snimke Kampanje +settings.clearcampaignsaves.confirm = Da li ste sigurni da želite obrisati sve snimke u kampanji? +paused = [accent]< Pauzirano > +clear = OÄisti +banned = [scarlet]Nedozvoljeno +unsupported.environment = [scarlet]Ne Podržava Prirodnu Sredinu +yes = Da +no = Ne +info.title = Informacije +error.title = [scarlet]GreÅ¡ka se desila +error.crashtitle = GreÅ¡ka se desila +unit.nobuild = [scarlet]Jedinica ne može graditi +lastaccessed = [lightgray]Poslednji Pristupio: {0} +lastcommanded = [lightgray]Poslednji Upravljao: {0} +block.unknown = [lightgray]??? + +stat.showinmap = +stat.description = Namena +stat.input = Ulaz +stat.output = Izlaz +stat.maxefficiency = Maksimalna Efikasnost +stat.booster = PojaÄivaÄ +stat.tiles = Potrebni blokovi +stat.affinities = Afiniteti +stat.opposites = Suprotnosti +stat.powercapacity = SkladiÅ¡te energije +stat.powershot = Energija po pucnju +stat.damage = Å teta +stat.targetsair = NiÅ¡ani vazduh +stat.targetsground = NiÅ¡ani zemlju +stat.itemsmoved = Brzina kretanja +stat.launchtime = Vreme izmeÄ‘u lansiranja +stat.shootrange = Domet +stat.size = VeliÄina +stat.displaysize = VeliÄina ekrana +stat.liquidcapacity = SkladiÅ¡te teÄnosti +stat.powerrange = Domet strujne veze +stat.linkrange = Domet veze +stat.instructions = Insturkcije +stat.powerconnections = Maksimalne veze +stat.poweruse = Upotreba energije +stat.powerdamage = Energija po jedinici Å¡tete +stat.itemcapacity = SkladiÅ¡te materijala +stat.memorycapacity = Kapacitet memorije +stat.basepowergeneration = Osnovna generacija struje +stat.productiontime = Vreme proizvodnje +stat.repairtime = Vreme popravke celog bloka +stat.repairspeed = Brzina popravke +stat.weapons = Oružja +stat.bullet = Metak +stat.moduletier = Nivo modula +stat.unittype = Unit Type +stat.speedincrease = Povećanje brzine +stat.range = Domet +stat.drilltier = Materijali koje je moguće kopati +stat.drillspeed = Osnovna brzina buÅ¡enja +stat.boosteffect = Efekat pojaÄivaÄa +stat.maxunits = Maksimalne aktivne jedinice +stat.health = Izdržljivost +stat.armor = Oklop +stat.buildtime = Vreme izgradnje +stat.maxconsecutive = Maksimalni konzekutivni +stat.buildcost = Cena izgradnje +stat.inaccuracy = Nepreciznost +stat.shots = Broj pucanja +stat.reload = Brzina paljbe +stat.ammo = Municija +stat.shieldhealth = Izdržljivost Å¡tita +stat.cooldowntime = Vreme hlaÄ‘enja +stat.explosiveness = Eksplozivnost +stat.basedeflectchance = Å ansa odbijanja +stat.lightningchance = Å ansa za stvaranje munje +stat.lightningdamage = Å teta munje +stat.flammability = Zapaljivost +stat.radioactivity = Radioaktivnost +stat.charge = ElektriÄni naboj +stat.heatcapacity = Termalni kapacitet +stat.viscosity = Viskoznost +stat.temperature = Temperatura +stat.speed = Brzina +stat.buildspeed = Brzina gradnje +stat.minespeed = Brzina kopanja +stat.minetier = Nivo kopanja +stat.payloadcapacity = Tovarni kapacitet +stat.abilities = Spospbnosti +stat.canboost = Može lebdeti +stat.flying = Leteća jedinica +stat.ammouse = Upotreba municije +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = UmnožavaÄ Å¡tete +stat.healthmultiplier = UmnožavaÄ izdržljivosti +stat.speedmultiplier = UmnožavaÄ brzine +stat.reloadmultiplier = UmnožavaÄ brzine paljbe +stat.buildspeedmultiplier = UmnožavaÄ brzine gradnje +stat.reactive = Reaguje sa +stat.immunities = Imuniteti +stat.healing = Popravlja +stat.efficiency = [stat]{0}% Efficiency + +ability.forcefield = Polje Sile +ability.forcefield.description = Projects a force shield that absorbs bullets +ability.repairfield = Polje Popravke +ability.repairfield.description = Repairs nearby units +ability.statusfield = Statusno Polje +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Fabrika +ability.unitspawn.description = Constructs units +ability.shieldregenfield = Brzina Obnove Å tita +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Munje Pri Kretanju +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = ElektroluÄni Å tit +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Polje PriguÅ¡ivanja Popravki +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energetsko Polje +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Dozvoljeno Dostavljanje Samo Unutar Jezgra + +bar.drilltierreq = Bolja BuÅ¡ilica Potrebna +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Nedostaju Resursi +bar.corereq = Potrebno Jezgro kao Osnova +bar.corefloor = Zahteva Zonu Jezgra +bar.cargounitcap = Dostigli Ste Maksimalni Broj Tovarnih Jedinica +bar.drillspeed = Brzina BuÅ¡enja: {0}/s +bar.pumpspeed = Brzina Pumpanja: {0}/s +bar.efficiency = Efikasnost: {0}% +bar.boost = PojaÄanje: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = Energija: {0}/s +bar.powerstored = Skladišćeno: {0}/{1} +bar.poweramount = KoliÄina: {0} +bar.poweroutput = Proizvedeno Energije: {0} +bar.powerlines = Povezano: {0}/{1} +bar.items = Materijali: {0} +bar.capacity = Kapacitet: {0} +bar.unitcap = {0} {1}/{2} +bar.liquid = TeÄnost +bar.heat = Toplota +bar.cooldown = Cooldown +bar.instability = Nestabilnost +bar.heatamount = KoliÄina Toplote: {0} +bar.heatpercent = KoliÄina Toplote: {0} ({1}%) +bar.power = Energija +bar.progress = Tok Gradnje +bar.loadprogress = Tok Pretovara +bar.launchcooldown = Launch Cooldown +bar.input = Ulaz +bar.output = Izlaz +bar.strength = [stat]{0}[lightgray]x snage + +units.processorcontrol = [lightgray]Procesno Upravljan + +bullet.damage = [stat]{0}[lightgray] Å¡teta +bullet.splashdamage = [stat]{0}[lightgray] oblasna Å¡teta ~[stat] {1}[lightgray] polja +bullet.incendiary = [stat]zapaljiv +bullet.homing = [stat]samonavoÄ‘enje +bullet.armorpierce = [stat]proboj oklopa +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x Å¡rapnela: +bullet.lightning = [stat]{0}[lightgray]x munja ~ [stat]{1}[lightgray] Å¡tete +bullet.buildingdamage = [stat]{0}%[lightgray] Å¡teta za strukture +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] odbacivanje +bullet.pierce = [stat]{0}[lightgray]x probijanje +bullet.infinitepierce = [stat]proboj +bullet.healpercent = [stat]{0}[lightgray]% popravljanje +bullet.healamount = [stat]{0}[lightgray] direktna popravka +bullet.multiplier = [stat]{0}[lightgray]x umnožavanje municije +bullet.reload = [stat]{0}[lightgray]x brzina paljbe +bullet.range = [stat]{0}[lightgray] domet +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles + +unit.blocks = blokova +unit.blockssquared = blokova² +unit.powersecond = jedinica energije/sekundi +unit.tilessecond = polja/sekundi +unit.liquidsecond = jedinica teÄnosti/sekundi +unit.itemssecond = materijala/sekundi +unit.liquidunits = jedinica teÄnosti +unit.powerunits = jedinica energije +unit.heatunits = jedinica toplote +unit.degrees = stepeni +unit.seconds = sekunde +unit.minutes = minuti +unit.persecond = /sekundi +unit.perminute = /minuti +unit.timesspeed = x brzina +unit.multiplier = x +unit.percent = % +unit.shieldhealth = snaga Å¡tita +unit.items = materijali +unit.thousands = hiljade +unit.millions = milioni +unit.billions = milijarde +unit.shots = shots +unit.pershot = /pucnju +category.purpose = Namena +category.general = OpÅ¡te +category.power = Energija +category.liquids = TeÄnosti +category.items = Resursi +category.crafting = Ulaz/izlaz +category.function = Funkcija +category.optional = Dotatna PoboljÅ¡anja +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = PreskoÄi animacije sletanja i poletanja Jezgra. +setting.landscape.name = ZakljuÄaj Orijentaciju +setting.shadows.name = Senke +setting.blockreplace.name = Automatski Predlogi Blokova +setting.linear.name = Linearni Filteri +setting.hints.name = Saveti +setting.logichints.name = LogiÄki Saveti +setting.backgroundpause.name = Pauziraj u Pozadini +setting.buildautopause.name = Automatski Pauziraj Gradnju +setting.doubletapmine.name = Pritisni Dva Puta za Iskopavanje +setting.commandmodehold.name = Drži za UpravljaÄki Mod +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Onesposobi Modove Prilikom Ispadanja +setting.animatedwater.name = Animirana PovrÅ¡ina +setting.animatedshields.name = Animirani Å titovi +setting.playerindicators.name = Indikatori IgraÄa +setting.indicators.name = Indikatori Neprijatelja +setting.autotarget.name = Auto-niÅ¡an +setting.keyboard.name = Kontrole "Tastatura i MiÅ¡" +setting.touchscreen.name = Kontrole "Ekran na Dodir" +setting.fpscap.name = Maksimalni FPS +setting.fpscap.none = Nema +setting.fpscap.text = {0} FPS +setting.uiscale.name = UI Skala +setting.uiscale.description = Restartovanje je zahtevano da bi se uÄitale promene. +setting.swapdiagonal.name = Uvek Dijagonalno Postavljanje +setting.screenshake.name = Screen Shake +setting.bloomintensity.name = Bloom Intezitet +setting.bloomblur.name = Bloom Magliranje +setting.effects.name = Prikazuj Efekte +setting.destroyedblocks.name = Prikazuj UniÅ¡tene Blokove +setting.blockstatus.name = Prikazuj Status Blokova +setting.conveyorpathfinding.name = Automatska Putanja Traka +setting.sensitivity.name = Osetljivost UpravljaÄa +setting.saveinterval.name = Interval ÄŒuvanja +setting.seconds = {0} sekundi +setting.milliseconds = {0} milisekundi +setting.fullscreen.name = Ceo Ekran +setting.borderlesswindow.name = BezgraniÄni Prozor +setting.borderlesswindow.name.windows = Ceo BezgraniÄni Ekran +setting.borderlesswindow.description = Restartovanje je zahtevano da bi se uÄitale promene. +setting.fps.name = Prikazuj FPS i Ping +setting.console.name = Osposobi Konzolu +setting.smoothcamera.name = Glatka Kamera +setting.vsync.name = VSync +setting.pixelate.name = Pikselizuj +setting.minimap.name = Prikaži Minimapu +setting.coreitems.name = Prikaži Materijale Unutar Jezgra +setting.position.name = Prikaži Poziciju IgraÄa +setting.mouseposition.name = Prilaži Poziciju MiÅ¡a +setting.musicvol.name = JaÄina Muzike +setting.atmosphere.name = Prikaži Atmosferu Planete +setting.drawlight.name = Draw Darkness/Lighting +setting.ambientvol.name = JaÄina Zvuka Ambijenta +setting.mutemusic.name = Nema Muzike +setting.sfxvol.name = JaÄina ZvuÄnih Efekata +setting.mutesound.name = Nema Zvuka +setting.crashreport.name = Send Anonymous Crash Reports +setting.communityservers.name = Fetch Community Server List +setting.savecreate.name = Automatski Snimaj Igru +setting.steampublichost.name = Public Game Visibility +setting.playerlimit.name = Limit IgraÄa +setting.chatopacity.name = Prozirnost ÄŒeta +setting.lasersopacity.name = Prozirnost Energetskih Lasera +setting.unitlaseropacity.name = Unit Mining Beam Opacity +setting.bridgeopacity.name = Prozirnost Mostova +setting.playerchat.name = Prikazuj ÄŒet Mehure IgraÄa +setting.showweather.name = Prikazuj Grafiku Vremena +setting.hidedisplays.name = Sakrij LogiÄke Displeje +setting.macnotch.name = Prilagodi interfejs da prikaže zarez +setting.macnotch.description = Restartovanje je zahtevano da bi se uÄitale promene +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. +public.beta = Note that beta versions of the game cannot make public lobbies. +uiscale.reset = UI skala se promenija.\nPritisnite "OK" da porvdite ovu skali.\n[scarlet]Vraćanje i izlazak za[accent] {0}[] sekundi... +uiscale.cancel = Obustavi i IzaÄ‘i +setting.bloom.name = Bloom +keybind.title = Rebind Keys +keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. +category.general.name = Generalno +category.view.name = Pogled +category.command.name = Unit Command +category.multiplayer.name = Multiplayer +category.blocks.name = Biranje Blokova +placement.blockselectkeys = \n[lightgray]Dugme: [{0}, +keybind.respawn.name = Prizovi iz Jezgra +keybind.control.name = KontroloÅ¡i Jedinicu +keybind.clear_building.name = OÄisti GraÄ‘evinu +keybind.press = Pritisni dugme... +keybind.press.axis = Pritisni dugme ili palicu... +keybind.screenshot.name = Snimak Mape +keybind.toggle_power_lines.name = Prikazuj Energetske Lasere +keybind.toggle_block_status.name = Prikazuj Statuse Blokova +keybind.move_x.name = Pomeri X +keybind.move_y.name = Pomeri Y +keybind.mouse_move.name = Prati MiÅ¡ +keybind.pan.name = Gledaj sa Daljine +keybind.boost.name = Lebdi +keybind.command_mode.name = UpravljaÄki Mod +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Ponovo Sagradi Region +keybind.schematic_select.name = Izaberi Region +keybind.schematic_menu.name = Menu Å ema +keybind.schematic_flip_x.name = Okreni Å emu X +keybind.schematic_flip_y.name = Okreni Å emu Y +keybind.category_prev.name = Prethodna Kategorija +keybind.category_next.name = Sledeća Kategorija +keybind.block_select_left.name = Odabir Bloka Levo +keybind.block_select_right.name = Odabir Bloka Desno +keybind.block_select_up.name = Odabir Bloka Gore +keybind.block_select_down.name = Odabir Bloka Dole +keybind.block_select_01.name = Kategorija/Blok Odabir 1 +keybind.block_select_02.name = Kategorija/Blok Odabir 2 +keybind.block_select_03.name = Kategorija/Blok Odabir 3 +keybind.block_select_04.name = Kategorija/Blok Odabir 4 +keybind.block_select_05.name = Kategorija/Blok Odabir 5 +keybind.block_select_06.name = Kategorija/Blok Odabir 6 +keybind.block_select_07.name = Kategorija/Blok Odabir 7 +keybind.block_select_08.name = Kategorija/Blok Odabir 8 +keybind.block_select_09.name = Kategorija/Blok Odabir 9 +keybind.block_select_10.name = Kategorija/Blok Odabir 10 +keybind.fullscreen.name = Toggle Fullscreen +keybind.select.name = Izaberi/Pucaj +keybind.diagonal_placement.name = Diagonalo Postavljanje +keybind.pick.name = Izaberi Blok +keybind.break_block.name = Razori Blok +keybind.select_all_units.name = Izaberi Sve Jedinice +keybind.select_all_unit_factories.name = Izaberi Sve Fabrike Jedinica +keybind.deselect.name = Deselect +keybind.pickupCargo.name = Uzmi Tovar +keybind.dropCargo.name = Spusti Tovar +keybind.shoot.name = Ispaljuj +keybind.zoom.name = Zoom +keybind.menu.name = Meni +keybind.pause.name = Pauziraj +keybind.pause_building.name = Pauziraj/Nastavi Gradnju +keybind.minimap.name = Minimapa +keybind.planet_map.name = Planetarna Mapa +keybind.research.name = IzuÄi +keybind.block_info.name = O Bloku +keybind.chat.name = ÄŒet +keybind.player_list.name = Lista IgraÄa +keybind.console.name = Konzola +keybind.rotate.name = Rotiraj +keybind.rotateplaced.name = Rotiraj Postojeće (Drži) +keybind.toggle_menus.name = Toggle Menus +keybind.chat_history_prev.name = Istorija ÄŒeta (Prethodna) +keybind.chat_history_next.name = Istorija ÄŒeta (Naredna) +keybind.chat_scroll.name = Chat Scroll +keybind.chat_mode.name = Menjaj Tip ÄŒeta +keybind.drop_unit.name = Spusti Jedinicu +keybind.zoom_minimap.name = Zumiraj Minimapu +mode.help.title = Opis Modova +mode.survival.name = Preživljavanje +mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play. +mode.sandbox.name = Sandbox +mode.sandbox.description = Infinite resources and no timer for waves. +mode.editor.name = Editor +mode.pvp.name = PvP +mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. +mode.attack.name = Napad +mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. +mode.custom = Svojevrsna Pravila +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Sakrij Nedozvoljena Sredstva + +rules.infiniteresources = BezkonaÄni Resursi +rules.onlydepositcore = Samo Dozvoli Dostavu u Jezgro +rules.derelictrepair = Allow Derelict Block Repair +rules.reactorexplosions = Eksplozije Reaktora +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Onesposobi Svetovne Procesore +rules.schematic = Å eme Su Dozvoljene +rules.wavetimer = Talasna Å toperica +rules.wavesending = Slanje Talasa +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. +rules.waves = Talasi +rules.airUseSpawns = Air units use spawn points +rules.attack = Mod Napada +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI [red](NedovrÅ¡eno) +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Minimalna VeliÄina Odreda +rules.rtsmaxsquadsize = Maksimalna VeliÄina Odreda +rules.rtsminattackweight = Minimalna Težina Napada +rules.cleanupdeadteams = PoÄisti GraÄ‘evine Poraženog Tima (PvP) +rules.corecapture = Zauzmi Jezgro Po UniÅ¡tenju +rules.polygoncoreprotection = Poligonalna ZaÅ¡tita Jezgra +rules.placerangecheck = Placement Range Check +rules.enemyCheat = BeskonaÄnost Neprijateljskih Resursa +rules.blockhealthmultiplier = Block Health Multiplier +rules.blockdamagemultiplier = Block Damage Multiplier +rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier +rules.unitcostmultiplier = Unit Cost Multiplier +rules.unithealthmultiplier = Unit Health Multiplier +rules.unitdamagemultiplier = Unit Damage Multiplier +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Jezgara Povećavaju Maksimalni Broj Jedinica +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Maksimalni Broj Jedinica (ne raÄunajući jezgra) +rules.limitarea = OgraniÄi Prostor Mape +rules.enemycorebuildradius = Radius Neprijateljskog jezgra bez gradnje:[lightgray] (polja) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Razmak IzmeÄ‘u Talasa:[lightgray] (sec) +rules.initialwavespacing = PoÄetni Razmak Talasa:[lightgray] (sec) +rules.buildcostmultiplier = Build Cost Multiplier +rules.buildspeedmultiplier = Build Speed Multiplier +rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier +rules.waitForWaveToEnd = Talasi ÄŒekaju Za Neprijatelje +rules.wavelimit = Map Ends After Wave +rules.dropzoneradius = Radijus Zone Prijema:[lightgray] (polja) +rules.unitammo = Jedinice Zahtevaju Municiju [red](može biti uklonjena) +rules.enemyteam = Neprilateljski Tim +rules.playerteam = Tim IgraÄa +rules.title.waves = Talasi +rules.title.resourcesbuilding = Resursi i GraÄ‘evine +rules.title.enemy = Neprijatelji +rules.title.unit = Jedinice +rules.title.experimental = Experimental +rules.title.environment = Okolina +rules.title.teams = Timovi +rules.title.planet = Planeta +rules.lighting = Osvetljenje +rules.fog = Magla Rata +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI +rules.fire = Plamen +rules.anyenv = +rules.explosions = Blokovna/JediniÄna Å teta Eksplozije +rules.ambientlight = Okolno Osvetljenje +rules.weather = Vreme +rules.weather.frequency = UÄestalost: +rules.weather.always = Stalno +rules.weather.duration = Dužina: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. + +content.item.name = Materijali +content.liquid.name = TeÄnosti +content.unit.name = Jedinice +content.block.name = Blokovi +content.status.name = Statusni Efekti +content.sector.name = Sektori +content.team.name = Factions +wallore = (Zid) + +item.copper.name = Bakar +item.lead.name = Olovo +item.coal.name = Ugalj +item.graphite.name = Grafit +item.titanium.name = Titanijum +item.thorium.name = Torijum +item.silicon.name = Silicijum +item.plastanium.name = Plastanijum +item.phase-fabric.name = Fazna Tkanina +item.surge-alloy.name = Impulsna Legura +item.spore-pod.name = Kapsula Spora +item.sand.name = Pesak +item.blast-compound.name = Eksplozivno Jedinjenje +item.pyratite.name = Piratit +item.metaglass.name = Meta-Staklo +item.scrap.name = Opiljci +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beriljium +item.tungsten.name = Volfram +item.oxide.name = Oksid +item.carbide.name = Karbid +item.dormant-cyst.name = Dormant Cyst + +liquid.water.name = Voda +liquid.slag.name = Å ljaka +liquid.oil.name = Nafta +liquid.cryofluid.name = KrioteÄnost +liquid.neoplasm.name = Neoplazma +liquid.arkycite.name = LuÄar +liquid.gallium.name = Gallium +liquid.ozone.name = Ozon +liquid.hydrogen.name = Vodonik +liquid.nitrogen.name = Azot +liquid.cyanogen.name = Cianogen + +unit.dagger.name = Bodež +unit.mace.name = Topuz +unit.fortress.name = TvrÄ‘ava +unit.nova.name = Nova +unit.pulsar.name = Pulsar +unit.quasar.name = Kvazar +unit.crawler.name = PuzaÄ +unit.atrax.name = Atraks +unit.spiroct.name = Spirokt +unit.arkyid.name = Arkid +unit.toxopid.name = Toksopid +unit.flare.name = Blesak +unit.horizon.name = Horizont +unit.zenith.name = Zenit +unit.antumbra.name = Antumbra +unit.eclipse.name = PomraÄenje +unit.mono.name = Mono +unit.poly.name = Poli +unit.mega.name = Mega +unit.quad.name = Kvad +unit.oct.name = Okt +unit.risso.name = Riso +unit.minke.name = Minke +unit.bryde.name = Bride +unit.sei.name = Sei +unit.omura.name = Omura +unit.retusa.name = Retuza +unit.oxynoe.name = Oksinoe +unit.cyerce.name = Cierce +unit.aegires.name = Aegires +unit.navanax.name = Navanaks +unit.alpha.name = Alfa +unit.beta.name = Beta +unit.gamma.name = Gama +unit.scepter.name = Skiptar +unit.reign.name = Vlast +unit.vela.name = Vela +unit.corvus.name = Korvus +unit.stell.name = Stell +unit.locus.name = Lokus +unit.precept.name = Propis +unit.vanquish.name = Savladaj +unit.conquer.name = Zavladaj +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthikus +unit.tecta.name = Tekta +unit.collaris.name = Okovratnik +unit.elude.name = Izvrda +unit.avert.name = Odvrat +unit.obviate.name = Preduhitro +unit.quell.name = Gasitelj +unit.disrupt.name = Lobomotija +unit.evoke.name = Izazvati +unit.incite.name = Podstaći +unit.emanate.name = Proizići +unit.manifold.name = Manifold +unit.assembly-drone.name = Dron Montiranja +unit.latum.name = Latum +unit.renale.name = Renale + +block.parallax.name = Odblesak +block.cliff.name = Litica +block.sand-boulder.name = PeÅ¡Äani Kamen +block.basalt-boulder.name = Bazaltni Kamen +block.grass.name = Trava +block.molten-slag.name = Å ljaka +block.pooled-cryofluid.name = KrioteÄnost +block.space.name = Svemir +block.salt.name = So +block.salt-wall.name = Solni Zid +block.pebbles.name = Å ljunak +block.tendrils.name = Rastinje +block.sand-wall.name = PeÅ¡Äani Zid +block.spore-pine.name = ÄŒetinar Spora +block.spore-wall.name = Zid Spora +block.boulder.name = Stena +block.snow-boulder.name = Snežni Kamen +block.snow-pine.name = Snežni ÄŒetinar +block.shale.name = Å kriljac +block.shale-boulder.name = Å kriljÄani Kamen +block.moss.name = Mahovina +block.shrubs.name = Žbunovi +block.spore-moss.name = Mahovina Spora +block.shale-wall.name = Å kriljÄani Zid +block.scrap-wall.name = Zid od Opiljaka +block.scrap-wall-large.name = Veliki Zid od Opiljaka +block.scrap-wall-huge.name = Ogromni Zid od Opiljaka +block.scrap-wall-gigantic.name = Džinovski Zid od Opiljaka +block.thruster.name = Potisnik +block.kiln.name = Pećnica +block.graphite-press.name = Grafitna Presa +block.multi-press.name = Multi-Presa +block.constructing = {0} [lightgray](U izgradnji) +block.spawn.name = Mesto Tvorbe Neprijatelja +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore +block.core-shard.name = Jezgro: Krhotina +block.core-foundation.name = Jezgro: Temelj +block.core-nucleus.name = Jezgro: Nukleus +block.deep-water.name = Duboka Voda +block.shallow-water.name = Voda +block.tainted-water.name = Zaprljana Voda +block.deep-tainted-water.name = Duboka Zaprljana Voda +block.darksand-tainted-water.name = Zaprljana Voda na Tamnom Pesku +block.tar.name = Katran +block.stone.name = Kamen +block.sand-floor.name = Pesak +block.darksand.name = Tamni Pesak +block.ice.name = Led +block.snow.name = Sneg +block.crater-stone.name = Krateri +block.sand-water.name = Voda na Pesku +block.darksand-water.name = Voda na Tamnom Pesku +block.char.name = Nagoretina +block.dacite.name = Dacit +block.rhyolite.name = Rilotit +block.dacite-wall.name = Dacitni Zid +block.dacite-boulder.name = Dacitni Kamen +block.ice-snow.name = Snežni Led +block.stone-wall.name = Kameni Zid +block.ice-wall.name = Ledeni Zid +block.snow-wall.name = Snežni Zid +block.dune-wall.name = Tamna PeÅ¡Äani Zid +block.pine.name = ÄŒetinar +block.dirt.name = Zemlja +block.dirt-wall.name = Zemljani Zid +block.mud.name = Blato +block.white-tree-dead.name = Mrtvo Belo Drvo +block.white-tree.name = Belo Drvo +block.spore-cluster.name = Kolonija Spora +block.metal-floor.name = Metalni Pod 1 +block.metal-floor-2.name = Metalni Pod 2 +block.metal-floor-3.name = Metalni Pod 3 +block.metal-floor-4.name = Metalni Pod 4 +block.metal-floor-5.name = Metalni Pod 5 +block.metal-floor-damaged.name = OÅ¡tećeni Metalni Pod +block.dark-panel-1.name = Tamna PloÄa 1 +block.dark-panel-2.name = Tamna PloÄa 2 +block.dark-panel-3.name = Tamna PloÄa 3 +block.dark-panel-4.name = Tamna PloÄa 4 +block.dark-panel-5.name = Tamna PloÄa 5 +block.dark-panel-6.name = Tamna PloÄa 6 +block.dark-metal.name = Tamni Metal +block.basalt.name = Bazalt +block.hotrock.name = Vrele Stene +block.magmarock.name = Magmatske Stene +block.copper-wall.name = Bakarni Zid +block.copper-wall-large.name = Veliki Bakarni Zid +block.titanium-wall.name = Titanijumski Zid +block.titanium-wall-large.name = Veliki Titanijumski Zid +block.plastanium-wall.name = Plastanijumski Zid +block.plastanium-wall-large.name = Veliki Plastanijumski Zid +block.phase-wall.name = Fazni Zid +block.phase-wall-large.name = Veliki Fazni Zid +block.thorium-wall.name = Torijumski Zid +block.thorium-wall-large.name = Veliki Torijumski Zid +block.door.name = Vrata +block.door-large.name = Velika Vrata +block.duo.name = Duo +block.scorch.name = Iskra +block.scatter.name = Rasprskati +block.hail.name = Grad +block.lancer.name = Koplje +block.conveyor.name = Pokretna Traka +block.titanium-conveyor.name = Titanijumska Traka +block.plastanium-conveyor.name = Plastanijumska Traka +block.armored-conveyor.name = Oklopna Traka +block.junction.name = Raskršće +block.router.name = Ruter +block.distributor.name = Distributor +block.sorter.name = Sorter +block.inverted-sorter.name = Naopaki Sorter +block.message.name = Poruka +block.reinforced-message.name = Armirana Poruka +block.world-message.name = Svetovna Poruka +block.world-switch.name = World Switch +block.illuminator.name = Svetlo +block.overflow-gate.name = Prelivna Kapija +block.underflow-gate.name = Podlivna Kapija +block.silicon-smelter.name = Silicijumska Pećnica +block.phase-weaver.name = Fazna TkaÄnica +block.pulverizer.name = UsitnjavaÄ +block.cryofluid-mixer.name = MeÅ¡alica KrioteÄnosti +block.melter.name = Topionica +block.incinerator.name = SpaljivaÄ +block.spore-press.name = Kompresor Spora +block.separator.name = RazdvajaÄ +block.coal-centrifuge.name = Centrifuga za Ugajl +block.power-node.name = Strujni ÄŒvor +block.power-node-large.name = Veliki Strujni ÄŒvor +block.surge-tower.name = Impulsni Toranj +block.diode.name = Baterijska Dioda +block.battery.name = Baterija +block.battery-large.name = Velika Baterija +block.combustion-generator.name = Generator Sagorevanja +block.steam-generator.name = Parna Turbina +block.differential-generator.name = Diferencijalni Generator +block.impact-reactor.name = Udarni Reaktor +block.mechanical-drill.name = MehaniÄka BuÅ¡ilica +block.pneumatic-drill.name = Pneumatska BuÅ¡ilica +block.laser-drill.name = Laserka BuÅ¡ilica +block.water-extractor.name = Hidrofor +block.cultivator.name = Kultivator +block.conduit.name = Cev +block.mechanical-pump.name = MehaniÄka Pumpa +block.item-source.name = Izvor Resursa +block.item-void.name = BrisaÄ Resursa +block.liquid-source.name = Izvor TeÄnosti +block.liquid-void.name = BrisaÄ TeÄnosti +block.power-void.name = BrisaÄ Struje +block.power-source.name = Izvor Strujue +block.unloader.name = IstovarivaÄ +block.vault.name = Trezor +block.wave.name = Talas +block.tsunami.name = Cunami +block.swarmer.name = Roj +block.salvo.name = Salvo +block.ripple.name = Impuls +block.phase-conveyor.name = Fazna Traka +block.bridge-conveyor.name = Premostna Traka +block.plastanium-compressor.name = Kompresor Plastanijuma +block.pyratite-mixer.name = MeÅ¡alica Piratita +block.blast-mixer.name = MeÅ¡alica Eksploziva +block.solar-panel.name = Solarni Panel +block.solar-panel-large.name = Veliki Solarni Panel +block.oil-extractor.name = Naftna BuÅ¡otina +block.repair-point.name = Popravna TaÄka +block.repair-turret.name = Popravni Top +block.pulse-conduit.name = Pulsna Cev +block.plated-conduit.name = Oklopna Cev +block.phase-conduit.name = Fazna Cev +block.liquid-router.name = Ruter TeÄnosti +block.liquid-tank.name = TeÄni Rezervoar +block.liquid-container.name = TeÄno SkladiÅ¡te +block.liquid-junction.name = Raskršće TeÄnosti +block.bridge-conduit.name = Premostna Cev +block.rotary-pump.name = Obrtna Pumpa +block.thorium-reactor.name = Nuklearni Reaktor +block.mass-driver.name = Akcelerator +block.blast-drill.name = VazduÅ¡na BuÅ¡ilica +block.impulse-pump.name = Impulsna Pumpa +block.thermal-generator.name = Termalni Generator +block.surge-smelter.name = Topionica Impulsne legure +block.mender.name = PopravljaÄ +block.mend-projector.name = Projektor Popravke +block.surge-wall.name = Impulsni Zid +block.surge-wall-large.name = Veliki Impulsni zid +block.cyclone.name = Ciklon +block.fuse.name = Fuzija +block.shock-mine.name = Å ok-mina +block.overdrive-projector.name = Projektor Ubrzanja +block.force-projector.name = Projektor Å tita +block.arc.name = Luk +block.rtg-generator.name = RTG Generator +block.spectre.name = Utvara +block.meltdown.name = Istopitelj +block.foreshadow.name = Predznak +block.container.name = Kontejner +block.launch-pad.name = Launch Pad +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = Segment +block.ground-factory.name = Zemna Fabrika +block.air-factory.name = VazduÅ¡na Fabrika +block.naval-factory.name = Morska Fabrika +block.additive-reconstructor.name = Dodatni Rekonstruktor +block.multiplicative-reconstructor.name = Multiplikativni Rekonstruktor +block.exponential-reconstructor.name = Eksponencijalni Rekonstruktor +block.tetrative-reconstructor.name = Tetrativni Rekonstruktor +block.payload-conveyor.name = Tovarna Traka +block.payload-router.name = Tovarni Ruter +block.duct.name = Kanal +block.duct-router.name = Kanalski Ruter +block.duct-bridge.name = Kanalski Most +block.large-payload-mass-driver.name = Veliki Tovarni Akcelerator +block.payload-void.name = BrisaÄ Tovara +block.payload-source.name = Izvor Tovara +block.disassembler.name = RastavljaÄ +block.silicon-crucible.name = Silikonska Topionica +block.overdrive-dome.name = Kupola Ubrzanja +block.interplanetary-accelerator.name = Interplanetarni Akcelerator +block.constructor.name = Zidar +block.constructor.description = Proizvodi graÄ‘evine do 2x2 veliÄine. +block.large-constructor.name = Vekiki Zidar +block.large-constructor.description = Proizvodi graÄ‘evine do 4x4 veliÄine. +block.deconstructor.name = RazlagaÄ +block.deconstructor.description = RazgraÄ‘uje graÄ‘evine i jedinice koje uÄ‘u unutra. Vraća se 100% cene gradnje. +block.payload-loader.name = Punilac Tovara +block.payload-loader.description = Puni u blokove teÄnosti i materijale. +block.payload-unloader.name = Praznilac Tovara +block.payload-unloader.description = Prazni iz blokova teÄnosti i materijale. +block.heat-source.name = Izvor Toplote +block.heat-source.description = 1x1 blok koji tehniÄki proizvodi beskonaÄno toplote. IskljuÄivo za Sandbox mod. +block.empty.name = Prazno +block.rhyolite-crater.name = Riolitni Krateri +block.rough-rhyolite.name = Grub Riolit +block.regolith.name = Regolit +block.yellow-stone.name = Žuta Stena +block.carbon-stone.name = UgljeniÄna Stena +block.ferric-stone.name = Železna Stena +block.ferric-craters.name = Železni Krateri +block.beryllic-stone.name = Berilijumska Stena +block.crystalline-stone.name = Kristalinska Stena +block.crystal-floor.name = Kristalni Pod +block.yellow-stone-plates.name = PloÄe Žute Stene +block.red-stone.name = Crvena Stena +block.dense-red-stone.name = Gusta Crvena Stena +block.red-ice.name = Crveni Led +block.arkycite-floor.name = LuÄarni Pod +block.arkyic-stone.name = LuÄarna Stena +block.rhyolite-vent.name = Riolitni Gejzir +block.carbon-vent.name = UgljeniÄni Gejzir +block.arkyic-vent.name = LuÄarni Gejzir +block.yellow-stone-vent.name = Gejzir Žute Stene +block.red-stone-vent.name = Gejzir Crvene Stene +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Zona Jezgra +block.regolith-wall.name = Regolitni Zid +block.yellow-stone-wall.name = Zid Žute Stene +block.rhyolite-wall.name = Riolitni Zid +block.carbon-wall.name = UgljeniÄni Zid +block.ferric-stone-wall.name = Zid Železne Stene +block.beryllic-stone-wall.name = Zid Berilijumske Stene +block.arkyic-wall.name = LuÄarni Zid +block.crystalline-stone-wall.name = Zid Kristalinske Stene +block.red-ice-wall.name = Zid Crvenog Leda +block.red-stone-wall.name = Zid Crvene Stene +block.red-diamond-wall.name = Crveni Dijamanstki Zid +block.redweed.name = Crvena Trava +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Žuti Koral +block.carbon-boulder.name = UgljeniÄni Kamen +block.ferric-boulder.name = Železni Kamen +block.beryllic-boulder.name = Berilijumski Kamen +block.yellow-stone-boulder.name = Kamen Žute Stene +block.arkyic-boulder.name = LuÄarni Kamen +block.crystal-cluster.name = Skup Kristala +block.vibrant-crystal-cluster.name = Vibrantni Skup Kristala +block.crystal-blocks.name = Kristalni Blokovi +block.crystal-orbs.name = Kristalne Kugle +block.crystalline-boulder.name = Kristalinski Kamen +block.red-ice-boulder.name = Kamen Crvenog Leda +block.rhyolite-boulder.name = Riolitni Kamen +block.red-stone-boulder.name = Kamen Crvene Stene +block.graphitic-wall.name = Grafitni Zid +block.silicon-arc-furnace.name = ElektrostatiÄna Silikonska Peć +block.electrolyzer.name = Elektrolizator +block.atmospheric-concentrator.name = Atmosferni Koncentrator +block.oxidation-chamber.name = Oksidaciona Komora +block.electric-heater.name = ElektriÄna Grejalica +block.slag-heater.name = Å ljakna Grejalica +block.phase-heater.name = Fazna Grejalica +block.heat-redirector.name = PreusmerivaÄ Toplote +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Grejni Ruter +block.slag-incinerator.name = Å ljakna Spalionica +block.carbide-crucible.name = Karbidna Topionica +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Impulsna Topionica +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Toplotni Reaktor +block.beryllium-wall.name = Berilijumski Zid +block.beryllium-wall-large.name = Veliki Berilijumski Zid +block.tungsten-wall.name = Volframski Zid +block.tungsten-wall-large.name = Veliki Volframski Zid +block.blast-door.name = ÄŒvrsta Vrata +block.carbide-wall.name = Karbidni Zid +block.carbide-wall-large.name = Veliki Karbidni Zid +block.reinforced-surge-wall.name = Armirani Impulsni Zid +block.reinforced-surge-wall-large.name = Veliki Armirani Impulsni Zid +block.shielded-wall.name = Å titni Zid +block.radar.name = Radar +block.build-tower.name = Toranj Gradnje +block.regen-projector.name = Projektor Regeneracije +block.shockwave-tower.name = Toranj Praska +block.shield-projector.name = Projektor Å tita +block.large-shield-projector.name = Veliki Projektor Å tita +block.armored-duct.name = Oklopljeni Kanal +block.overflow-duct.name = Prelivni Kanal +block.underflow-duct.name = Podlivni Kanal +block.duct-unloader.name = Kanalni Praznilac +block.surge-conveyor.name = Impulsna Traka +block.surge-router.name = Impulsni Ruter +block.unit-cargo-loader.name = UtovarivaÄ Tovarnih Jedinica +block.unit-cargo-unload-point.name = Tovarna Istovarna TaÄka +block.reinforced-pump.name = Armirana Pumpa +block.reinforced-conduit.name = Armirana Cev +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Armirana Mostna Cev +block.reinforced-liquid-router.name = Armirani TeÄni Ruter +block.reinforced-liquid-container.name = Armirani TeÄni Rezervoar +block.reinforced-liquid-tank.name = Armirani TeÄni Tanker +block.beam-node.name = Snopna Dioda +block.beam-tower.name = Snopni Toranj +block.beam-link.name = Snopni Link +block.turbine-condenser.name = Turbinski Kondezator +block.chemical-combustion-chamber.name = Elektrana Hemijskog Sagorevanja +block.pyrolysis-generator.name = Pirolizna Elektrana +block.vent-condenser.name = Gejzirni Kondezator +block.cliff-crusher.name = Planinolom +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plazma BuÅ¡ilica +block.large-plasma-bore.name = Velika Plazma BuÅ¡ilica +block.impact-drill.name = Udarna Drobilica +block.eruption-drill.name = Eruptivna Drobilica +block.core-bastion.name = Jezgro: Bastilja +block.core-citadel.name = Jezgro: Citadela +block.core-acropolis.name = Jezgro: Veliki Grad +block.reinforced-container.name = Armirani Kontejner +block.reinforced-vault.name = Armirani Trezor +block.breach.name = Proboj +block.sublimate.name = Sublimat +block.titan.name = Titan +block.disperse.name = RasprÅ¡ivaÄ +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Refabrikator Tenkova +block.mech-refabricator.name = Refabrikator MeÄana +block.ship-refabricator.name = Refabrikator Brodova +block.tank-assembler.name = Monter Tenkova +block.ship-assembler.name = Monter Brodova +block.mech-assembler.name = Monter MeÄana +block.reinforced-payload-conveyor.name = Armirana Tovarna Traka +block.reinforced-payload-router.name = Armirani Tovarni Ruter +block.payload-mass-driver.name = Tovarni Akcelerator +block.small-deconstructor.name = Mali RazlagaÄ +block.canvas.name = Kanvas +block.world-processor.name = Svetovni Procesor +block.world-cell.name = Svetovna Ćelija +block.tank-fabricator.name = Fabrikator Tenkova +block.mech-fabricator.name = Fabrikator Brodova +block.ship-fabricator.name = Fabrikator MeÄana +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Toranj JediniÄnih Popravki +block.diffuse.name = Difuzija +block.basic-assembler-module.name = Prosti Proizvodni Modul +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Fluksni Reaktor +block.neoplasia-reactor.name = Neoplasia Reaktor + +block.switch.name = PrekidaÄ +block.micro-processor.name = Mikro Procesor +block.logic-processor.name = LogiÄki Procesor +block.hyper-processor.name = Hiper Procesor +block.logic-display.name = LogiÄki Displej +block.large-logic-display.name = Veliki LogiÄki Displej +block.memory-cell.name = Memorijska Ćelija +block.memory-bank.name = Memorijska Banka +team.malis.name = BaÅ¡tovan +team.crux.name = Srž +team.sharded.name = Skrhani +team.derelict.name = ZabaÄen +team.green.name = zeleni +team.blue.name = plavi + +#don't mind this mess; i got college and am not really wanting to mess up translation progress trough automatic bundle updates + +hint.skip = Dalje +hint.desktopMove = Koristi [accent][[WASD][] da bi se kretao. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Levi-klik][] da bi pucao. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = Da se stvoriÅ¡ kao letelica, pritisni [accent][[V][]. +hint.respawn.mobile = Promenio si kontrolu u jedinicu/graÄ‘evinu. Da se stvoriÅ¡ kao letelica, [accent]pritisni avatar u gornjem levom uglu.[] +hint.desktopPause = Pritisni [accent][[Space][] da pauziraÅ¡, i posle nastaviÅ¡ igru. +hint.breaking = [accent]Desni-klik[] i vuci da bi razruÅ¡io blokove. +hint.breaking.mobile = Aktiviraj \ue817 [accent]Äekić[] u donjem desnom uglu i pritiskaj blokove ra ruÅ¡enje.\n\nDrži prst za trenutak i vuci ga za ruÅ¡enje u prostoru. +hint.blockInfo = Da bi video informacije o bloku [accent]meniju gradnje[], pritom izaberite [accent][[?][] dugme desno. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Koristi \ue875 [accent]IzuÄi[] dugme da bi izuÄio nove tehnologije. +hint.research.mobile = Koristi \ue875 [accent]IzuÄi[] dugme u \ue88c [accent]Meniju[] da bi izuÄio nove tehnologije. +hint.unitControl = Drži [accent][[L-ctrl][] i [accent]klikni[] da bi kontrolisao prijateljsku jedinicu ili platformu. +hint.unitControl.mobile = [accent][[Pritisni-dva-puta][] da bi kontrolisao prijateljsku jedinicu ili platformu. +hint.unitSelectControl = Da bi kontrolisao jedinice, uÄ‘i u [accent]komandni mod[] pomoću držanja [accent]L-shift.[]\nTokom komandnog moda, drži klik i vuci da bi izabrao jedinice. [accent]Desni-klik[] na lokaciju ili metu da bi komandovao jedinice tamo. +hint.unitSelectControl.mobile = Da bi kontrolisao jedinice, uÄ‘i u [accent]komandni mod[] pomoću pritiskanja [accent]komanda[] dugmeta u donjem levom uglu.\nTokom komadnog moda, dugo pritisni i prevuci da bi izabrao jedinice. Pritisni na lokaciju ili metu da bi komandovao jedinice tamo. +hint.launch = Jednom kada je dovoljno resursa skupljeno, možeÅ¡ [accent]Lansirati[] tako Å¡to bi izabrao obljižnji sektor iz \ue827 [accent]Mape[] u donjem desnom uglu. +hint.launch.mobile = Jednom kada je dovoljno resursa skupljeno, možeÅ¡ [accent]Lansirati[] tako Å¡to bi izabrao obljižnji sektor iz \ue827 [accent]Mape[] u \ue88c [accent]Meniju[]. +hint.schematicSelect = Drži [accent][[F][] i vuci da bi izabrao blokove da kopiraÅ¡ i postaviÅ¡.\n\n[accent][[Srednji Klick][] Da iskopiraÅ¡ samo jedan tip blokova. +hint.rebuildSelect = Drži [accent][[B][] i vuci da bi izabrao planove izabranih blokova.\nOvo će automatski ponovo da ih sagradi. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Drži [accent][[L-Ctrl][] dok vuÄeÅ¡ trake da automatski stvoriÅ¡ put. +hint.conveyorPathfind.mobile = Osposobi \ue844 [accent]dijagonalni mod[] dok vuÄeÅ¡ trake da automatski stvoriÅ¡ put. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Pritisni [accent][[[] da bi preuzeo male blokove ili jedinice. +hint.payloadPickup.mobile = [accent]Pritisni i drži[] mali blok ili jedinicu da bi ga preuzeo. +hint.payloadDrop = Pritisni [accent]][] da bi spustio tovar. +hint.payloadDrop.mobile = [accent]Pritisni i drži[] prazno mesto da bi spustio tovar tamo. +hint.waveFire = [accent]Talas[] platforma sa vodom kao municiom automatski gasi vatru. +hint.generator = \uf879 [accent]Generatori Sagorevanja[] sagorevaju ugalj i proizvode energiju.\n\nDomet prenosa energije se može povećati preko \uf87f [accent]Strujnog ÄŒvora[]. +hint.guardian = [accent]ÄŒuvari[] kao jedinice su oklopljenje. Slaba municija potput [accent]Bakra[] i [accent]Olovo[] [scarlet]nije efikasan[].\n\nKoristi platforme većeg tijera ili\uf835 [accent]Grafit[] \uf861Duo/\uf859Salvo municiju da bi se reÅ¡io Äuvara. +hint.coreUpgrade = Jezgra mogu da se unaprede [accent]postavljanjem većih jezgara preko njih[].\n\nPostavi [accent]Temelj[] preko [accent]Krhotina[] jezgra. Osigurajte da bude planiran prostor Äist. +hint.presetLaunch = [accent]Sektori sa ivicom[] sive boje, kao [accent]Zamrznutna Å uma[], se mogu lansiradi svuda. Oni ne zahtevaju zauzetu obljižnju teritoriju.\n\n[accent]Numerisani sektori[], potput ovog, su [accent]opcionalni[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = Kada je jezgro skroz puno sa specifiÄnim materijalom, svaka dodatna jedinica materijala koja je primljena će biti [accent]spaljena[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nJedinice proizvedene iz njih će se automatski pomeriti tamo. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nJedinice proizvedene iz njih će se automatski pomeriti tamo. +gz.mine = Pomerite se pored \uf8c4 [accent]bakarne rude[] na zemlji i klikni ga da bi zapoÄeo iskopavanje. +gz.mine.mobile = Pomerite se pored \uf8c4 [accent]bakarne rude[] na zemlji i pritisni ga da bi zapoÄeo iskopavanje. +gz.research = Otvorite \ue875 drvo tehnologija.IzuÄite \uf870 [accent]MehaniÄku Drobilicu[], pritom ga izaberi iz menija u donjem desnom uglu.\nKliknite ga na nalaziÅ¡te bakra da bi ga postavio. +gz.research.mobile = Otvorite \ue875 drvo tehnologija.IzuÄite \uf870 [accent]MehaniÄku Drobilicu[], pritom ga izaberi iz menija u donjem desnom uglu.\nPritisnite nalaziÅ¡te bakra da bi ga postavio..\n\nPritisnite \ue800 [accent]checkmark[] u donjem desnom uglu da potvrdite. +gz.conveyors = IzuÄite i postavite \uf896 [accent]pokretne trake[] da bi ste pomerili iskopane resurse\niz drobilice u jezgro.\n\nKliknite i držite da bi ste postavili viÅ¡e traka.\n[accent]Scroll[] da rotirate. +gz.conveyors.mobile = IzuÄite i postavite \uf896 [accent]pokretne trake[] da bi ste pomerili iskopane resurse\niz drobilice u jezgro.\n\nDržite vaÅ¡ prst na sekundu i vucite da bi ste postavili viÅ¡e traka. +gz.drills = ProÅ¡irite rudarsku operaciju.\nPostavite dodatne mehaniÄke drobilice.\nIskopajte 100 bakra. +gz.lead = \uf837 [accent]Olovo[] je takoÄ‘e Äesto korišćen resurs.\nPostavite drobilice za iskopavanje olova. +gz.moveup = \ue804 Krenite dalje za dodatne zadatke. +gz.turrets = IzuÄite i postavite 2 \uf861 [accent]Duo[] platforme za odbranu jezgra.\nDuo platforme zahtevaju \uf838 [accent]municiju[] preko pokretnih traka. +gz.duoammo = Snabdevajte Duo platforma sa [accent]bakrom[] pomoću pokretnih traka. +gz.walls = [accent]Zidovi[] mogu da spreÄe da se Å¡teta nanese na graÄ‘evine.\nPostavite \uf8ae [accent]bakarne zidove[] preko platformi. +gz.defend = Neprijatelj stiže, pripremite se za odbranu. +gz.aa = TeÅ¡ko se možete reÅ¡iti lebdećih jedinica sa standarnim platformama.\n\uf860 [accent]Razbaci[] platforme su savrÅ¡ena protiv-vazduÅ¡na odbrana, ali zahtevaju \uf837 [accent]olovo[] kao municiju. +gz.scatterammo = Snabdevajte Razbaci sa [accent]olovom[] pomoću pokretnih traka. +gz.supplyturret = [accent]Snabdevanje Platforme +gz.zone1 = Ovo je neprijateljska zona. +gz.zone2 = Sve sagraÄ‘eno u njoj će biti uniÅ¡teno kada se zapoÄne talas. +gz.zone3 = Talas će uskoro zapoÄeti.\nSpremi se. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Klikni da bi iskopao \uf748 [accent]berilijum[] iz zidova.\nKoristi [accent][[WASD] za kretanje. +onset.mine.mobile = Pritisni da bi iskopao \uf748 [accent]berilijum[] iz zidova. +onset.research = Otvori \ue875 drvo tehnologija.\nIzuÄi, i pritom postavi \uf73e [accent]Turbinski Kondezator[] na ventil.\nOvo će da proizvodi [accent]energiju[]. +onset.bore = IzuÄi i postavi \uf741 [accent]plazma buÅ¡ilicu[].\nOvo će automatski da iskopava rude sa zida. +onset.power = Da bi snabdevao plazma buÅ¡ilicu [accent]energijom[], izuÄite i postavite \uf73d [accent]snopnu diodu[].\nPovežite turbinski kondezator i plazma buÅ¡ilicu. +onset.ducts = IzuÄite i postavite \uf799 [accent]kanale[] da bi ste pomerili iskopane resurse iz plazma buÅ¡ilice u jezgro.\nKliknite i držite da bi ste postavili viÅ¡e kanala.\n[accent]Scroll[] da rotirate. +onset.ducts.mobile = IzuÄite i postavite \uf799 [accent]kanale[] da bi ste pomerili iskopane resurse iz plazma buÅ¡ilice u jezgro.\n\nDržite vaÅ¡ prst na sekundu i vucite da bi ste postavili viÅ¡e kanala. +onset.moremine = ProÅ¡irite rudarsku operaciju.\nPostavite dodatne Plazma BuÅ¡ilice i koristite snopne diode i kanale kao potporu.\nIskopajte 200 berilijuma. +onset.graphite = Složenije graÄ‘evine zahtevaju \uf835 [accent]grafit[].\nPostavite plazma buÅ¡ilice da bi ste iskopali grafit. +onset.research2 = ZapoÄnite izuÄavanje [accent]fabrika[].\nIzuÄite \uf74d [accent]planinolome[] i \uf779 [accent]elektroluÄnu silicijumsku pećnicu[]. +onset.arcfurnace = ElektroluÄna pećnica zahteva \uf834 [accent]pesak[] i \uf835 [accent]grafit[] da bi proizveo \uf82f [accent]silicijum[].\nIsto tako je potrebna [accent]Energija[]. +onset.crusher = Koristite \uf74d [accent]planilonome[] da kopate pesak. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Proizvedi jedinicu.\nKoristite "?" da bi ste videli Å¡ta fabrika zahteva. +onset.turrets = Jedinice su efikasne, ali [accent]platforme[] imaju veći odbrambeni potencijal ako su efikasno postavljene.\nPostavite \uf6eb [accent]Proboj[] platformu.\nPlatforme zahtevaju \uf748 [accent]municiju[]. +onset.turretammo = Snabdevajte platformu sa [accent]berilijumskom municijom.[] +onset.walls = [accent]Zidovi[] mogu da spreÄe da se Å¡teta nanese na graÄ‘evine.\nPostavite nekoliko \uf6ee [accent]berilijumskih zidova[] oko platformi. +onset.enemies = Neprijatelj dolazi, spremite se. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = Nova jezgra se mogu postaviti na [accent]poljima jezgra[].\nNova jezgra funkcioniÅ¡u kao prednje baze i dele resursni invetar sa ostalim jezgrima.\nPostavi \uf725 jezgro. +onset.detect = Neprijatelj će te primetiti za 2 minuta.\nPostavite odbranu, rudu i proizvodnju. +onset.commandmode = Drži [accent]shift[] da bi uÅ¡ao u [accent]komandni mod[].\n[accent]Levi-klik i vuci[] da izabereÅ¡ jedinice.\n[accent]Desni-klik[] da bi naredio jedinicama da se kreću ili napadaju. +onset.commandmode.mobile = Pritisni [accent]komandno dugme[] da bi uÅ¡ao [accent]komandni mod[].\nDrži prstom, pritom [accent]vuci[] da izabereÅ¡ jedinice.\n[accent]Pritisni[] da bi naredio jedinicama da se kreću ili napadaju. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = MoraÅ¡ preuzeti neÅ¡to volframa da bi proizvodio jedinice. +split.build = Jedinice moraju da se prenesu sa jedne strane zida na drugu.\nPostavite dva [accent]Tovarna Akceleratora[], jedan sa svake strane zida.\nDa bi se stvorila vezi izaberi jedan akcelerator, i onda izaberi drugi. +split.container = Kao sa kontejnerom, jedinice takoÄ‘e mogu da se transportuju preko [accent]Tovarnog Akceleratora[].\nPostavi fabrikator jedinica pored akceleratora da bi ga natovario, i pritom ga poÅ¡alji preko zida da bi napao neprijateljsku bazu. + +item.copper.description = Koristi se za sve graÄ‘evine. +item.copper.details = Bakar. Nenormalno prisutan na Serupulu, strukturno je slab ako nije ojaÄan. +item.lead.description = Koristi se za transport teÄnosti i elektroniku. +item.lead.details = Gusto. Inertno. Veoma primenljivo za baterije.\nNapomena: verovatno otrovno po bioloÅ¡ke oblike života. Nije kao da ih je ovde mnogo ostalo. +item.metaglass.description = Koristi se za transport i skladiÅ¡te teÄnosti. +item.graphite.description = Koristi se kao elektriÄna komponenta i municija za topove. +item.sand.description = Koristan za preradu drugih materijala. +item.coal.description = Koristi se za gorivo i preradu drugih materijala. +item.coal.details = Izgleda da je bioloÅ¡kog porekla, fosilizovan davno pre Zasejavanja... +item.titanium.description = Koristi se za transport teÄnosti, izgradnju struktura, topova i jedinica. +item.thorium.description = Koristi se kao izdržljiv graÄ‘evinski materijal, municija i nuklearno gorivo. +item.scrap.description = Pretapa i melje se za preradu u druge materijale. +item.scrap.details = Ostaci davnaÅ¡njih jedinica i struktura. +item.silicon.description = Koristi se za solarne ploÄe, topove, jedinice i naprednu elektroniku. Od silicijuma se pravi dirigovana municija. +item.plastanium.description = Koristi se za napredne jedinice, izloaciju i fragmentacionu municiju. +item.phase-fabric.description = Koristi se za naprednu elektroniku i samopopravljajuće strukture. +item.surge-alloy.description = Koristi se kao municija i reaktivna odbrana. +item.spore-pod.description = PreraÄ‘uje se u naftu ili plastiku, može se spaljivati kao gorivo. +item.spore-pod.details = Spore. Verovatno sintetiÄki obliki života. Emituje gasove otrovne po ostali život. Ekstremno invazivne. Visoko zapaljive u odreÄ‘enim uslovima. +item.blast-compound.description = Koristi se za bombe i eksplozivnu municiju. +item.pyratite.description = Koristi se kao zapaljiva municija i odliÄno gorivo za elektrane. +item.beryllium.description = Korišćen u raznim graÄ‘evinama i municiji na Erekir-u. +item.tungsten.description = Korišćena u drobilicama, oklopu i kao municija. Potrebna za gradnju naprednijih graÄ‘evina. +item.oxide.description = Korišćen kao preusmeravaÄ toplote i elektriÄni izolator. +item.carbide.description = Korišćena u naprednim graÄ‘evinama, većim jedinicama i municiji. + +liquid.water.description = Koristi se za hlaÄ‘enje maÅ¡ina i preradu otpada. +liquid.slag.description = Može se preraditi u RazdvajaÄima u druge resurse, može se sipati na neprijatelje kao oružje. +liquid.oil.description = Koristi se za proizvodnju naprednih materijala. Može se koristi kao pojaÄivaÄ vatre ako se sipa na neprijatelja dok gori. +liquid.cryofluid.description = Rashladna teÄnost za fabrike, reaktore i topove. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Korišćen kao oksidaciono sredstvo za proizvodnju materijala, i kao gorivo. Srednje eksplozivan. +liquid.hydrogen.description = Korišćen za iskopavanje ruda, proizvodnju jedinica i za popravke. Zapaljiv. +liquid.cyanogen.description = Korišćena za izgradnju većih jedinica, kao municija i za razne reakcije u naprednim graÄ‘evinama. Izuzetno Zapaljiv. +liquid.nitrogen.description = Korišćen za iskopavanje ruda, proizvodnju gasova i proizvodnju jedinica. Inertan. +liquid.neoplasm.description = Opasni bioloÅ¡ki njusproizvod Neoplasia reaktora. Brzo se Å¡iri na svaki povezani blok koji sadrži vodu koju dotakne, oÅ¡tećuju ih u procesu. Viskozna. +liquid.neoplasm.details = Neoplazma. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. + +block.derelict = [lightgray]ZabaÄen +block.armored-conveyor.description = Usmerava materijale ispred. Nema prijema sa bokova. +block.illuminator.description = Osvetljava okolinu. +block.message.description = SkladiÅ¡ti poruku radi komunikacije meÄ‘u saveznicima. +block.reinforced-message.description = SkladiÅ¡ti poruku radi komunikacije meÄ‘u saveznicima. +block.world-message.description = Blok poruke koji je korišćen za pravljenje mapa. Ne može da se uniÅ¡ti. +block.graphite-press.description = Pritiska ugalj, pretvarajući ga u grafit. +block.multi-press.description = Pritiska ugalj, pretvarajući ga u grafit. Zahteva vodu za hlaÄ‘enje. +block.silicon-smelter.description = Rafinira silicijum iz peska i uglja. +block.kiln.description = Topi pesak i olovo u meta-staklo. +block.plastanium-compressor.description = Proizvodi plastanijum iz nafte i titanijuma. +block.phase-weaver.description = Synthesizes phase fabric from thorium and sand. +block.surge-smelter.description = Fuses titanium, lead, silicon and copper into surge alloy. +block.cryofluid-mixer.description = MeÅ¡a vodu sa finom titanijumskom praÅ¡inom u krioteÄnost. +block.blast-mixer.description = Proizvodi eksplozivnu smeÅ¡u iz piratita i kapsula spora. +block.pyratite-mixer.description = MeÅ¡a ugalj, pesak i olovo u piratit. +block.melter.description = Topi opiljke u Å¡ljaku. +block.separator.description = Separates slag into its mineral components. +block.spore-press.description = Pritiska kapsule spora, pretvarajući je u naftu. +block.pulverizer.description = Drobi opiljke u fini pesak. +block.coal-centrifuge.description = TransformiÅ¡e naftu u ugalj. +block.incinerator.description = Spaljuje svaki materijal ili teÄnost koju primi. +block.power-void.description = Negira svu povezanu energiju. IskljuÄivo za Sandbox mod. +block.power-source.description = Bezkrajno ispuÅ¡ta energiju. IskljuÄivo za Sandbox mod. +block.item-source.description = Bezkrajno ispuÅ¡ta materijale. IskljuÄivo za Sandbox mod. +block.item-void.description = UniÅ¡tava svaki ubaÄeni materijal. IskljuÄivo za Sandbox mod. +block.liquid-source.description = Bezkrajno ispuÅ¡ta teÄnosti. IskljuÄivo za Sandbox mod. +block.liquid-void.description = UniÅ¡tava svaku ubaÄenu teÄnost. IskljuÄivo za Sandbox mod. +block.payload-source.description = Bezkrajno ispuÅ¡ta tovar. IskljuÄivo za Sandbox mod. +block.payload-void.description = UniÅ¡tava sav ubaÄen tovar. IskljuÄivo za Sandbox mod. +block.copper-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.copper-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.titanium-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.titanium-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.plastanium-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. Upija lasere i elektriÄne udare. Ne dopuÅ¡ta automatska povezivanja energije. +block.plastanium-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. Upija lasere i elektriÄne udare. Ne dopuÅ¡ta automatska povezivanja energije. +block.thorium-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.thorium-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.phase-wall.description = Å titi graÄ‘evine od neprijateljskih projektila, odbijajući većinu metaka pri udaru. +block.phase-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila, odbijajući većinu metaka pri udaru. +block.surge-wall.description = Å titi graÄ‘evine od neprijateljskih projektila, povremeno uzrokavajući elektriÄne udare pri kontaktu. +block.surge-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila, povremeno uzrokavajući elektriÄne udare pri kontaktu. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = Zid koji se može otvarati i zatvarati. +block.door-large.description = Zid koji se može otvarati i zatvarati. +block.mender.description = Povremeno popravlja blokove u okolini.\nMože koristiti silicijum da poveća domet i efikasnost. +block.mend-projector.description = Popravlja blokove u okolini.\nMože koristiti faznu tkaninu da poveća domet i efikasnost. +block.overdrive-projector.description = Ubrzava okolne graÄ‘evine.\nMože koristiti faznu tkaninu da poveća domet i efikasnost. +block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric increases shield size. +block.shock-mine.description = OslobaÄ‘a elektriÄne udare pri kontaktu sa neprijateljskim jedinicama. +block.conveyor.description = Usmerava materijale ispred. +block.titanium-conveyor.description = Usmerava materijale ispredd. Brži od standardnog transportera. +block.plastanium-conveyor.description = Usmerava materijale ispred u baÄvama. Prima materijale od pozadi, I izbacuje na tri strane spreda. Zahteva viÅ¡e ulaznih i izlaznih taÄaka za maksimalni protok. +block.junction.description = Acts as a bridge for two crossing conveyor belts. +block.bridge-conveyor.description = Prebacuje materijale preko terena i graÄ‘evina. +block.phase-conveyor.description = Momentalno prebacuje materijale preko terena i graÄ‘evina. Veći domet nego premostna traka, ali zahteva energiju. +block.sorter.description = Ako je prijemni materijal slaže sa izabranim, ide napred. U suprotnosti, materijal ide sa strane. +block.inverted-sorter.description = Kao standardni sorter, ali izabrani materijali idu sa strane. +block.router.description = DistribuiÅ¡e primljene materijale podjednako u 3 pravca. +block.router.details = Neophodno zlo. Predlaže se da se ne postavlja pored proizvodnog prijema, poÅ¡to će nastati zastoj od proizvoda. +block.distributor.description = DistribuiÅ¡e primljene materijale podjednako u 7 pravaca. +block.overflow-gate.description = Samo otpuÅ¡ta materijale sa strane u sluÄaju da je prednja strana nepropusna. +block.underflow-gate.description = Suprostnost nadlivne kapije. OtpuÅ¡ta materijale napred samo kad su obe strane nepropusne. +block.mass-driver.description = Visoko-dometna tranportna graÄ‘evina za materijale. Skuplja baÄve materijala i ispaljuje ih na druge akceleratore. +block.mechanical-pump.description = Pumpa teÄnosti. Ne zahteva energiju. +block.rotary-pump.description = Pumpa teÄnosti. Zahteva energiju. +block.impulse-pump.description = Pumpa teÄnosti. +block.conduit.description = Usmerava teÄnosti ka zadatom pravcu. Korišćen sa drugim cevima i pumpama. +block.pulse-conduit.description = Usmerava teÄnosti ka zadatom pravcu. Ima veći kapacitet i brže prenosi od standardnih cevi. +block.plated-conduit.description = Usmerava teÄnosti ka zadatom pravcu. Does not accept input from the sides. Ne curi. +block.liquid-router.description = Prima teÄnosti iz jednog pravca i otpuÅ¡ta podjednako u 3 pravca. TakoÄ‘e može da skladiÅ¡ti neÅ¡to teÄnosti. +block.liquid-container.description = SkladiÅ¡ti dobru koliÄinu teÄnosti. SliÄno teÄnom ruteru, otpuÅ¡ta u svaki pravac. +block.liquid-tank.description = SkladiÅ¡ti veliku koliÄinu teÄnosti. SliÄno teÄnom ruteru, otpuÅ¡ta u svaki pravac. +block.liquid-junction.description = Acts as a bridge for two crossing conduits. +block.bridge-conduit.description = Prebacuje teÄnosti preko terena ili graÄ‘evina. +block.phase-conduit.description = Momentalno prebacuje teÄnosti preko terena i graÄ‘evina. Veći domet nego premostna cev, ali zahteva energiju. +block.power-node.description = DistribuiÅ¡e energiju sa drugim Ävorovima. ÄŒvor takoÄ‘e Å¡alje i prima energiju sa susednim blokovima. +block.power-node-large.description = Napredni Ävor sa većim dometom. +block.surge-tower.description = Dugo-dometni Ävor sa samo nekoliko dostupnih povezivanja. +block.diode.description = Moves battery power in one direction, but only if the other side has less power stored. +block.battery.description = SkladiÅ¡ti viÅ¡ak energije. OtpuÅ¡ta energiju kad je deficit. +block.battery-large.description = SkladiÅ¡ti viÅ¡ak energije. OtpuÅ¡ta energiju kad je deficit. Veći kapacitet od standardne baterije. +block.combustion-generator.description = Stvara energiju prilikom sagorevanja zapaljivih materijala, potput uglja. +block.thermal-generator.description = Stvara energiju kada se nalazim u toploj sredini. +block.steam-generator.description = Stvara energiju prilikom sagorevanja zapaljivih materijala i sa tim vode u paru. +block.differential-generator.description = Stvara velku koliÄinu energije. Koristi temperaturnu razliku izmeÄ‘u krioteÄnosti i zapaljenog piratita. +block.rtg-generator.description = Koristi toplotu pri polakom razlaganju radioaktivnih elemenata za proizvodnju energije. +block.solar-panel.description = Proizvodi malu koliÄinu energije od sunca. +block.solar-panel-large.description = Proizvodi malu koliÄinu energije od sunca, ali viÅ¡e od standardnog panela. +block.thorium-reactor.description = Generates significant amounts of power from thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. +block.impact-reactor.description = Creates massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process. +block.mechanical-drill.description = Kada je postavljeno na rudi, polako i trajno otpuÅ¡ta materijale. Može samo iskopavati jednostavne resurse. +block.pneumatic-drill.description = PoboljÅ¡ana drobilica, može iskopavati titanijm. Otkopava brže nego mehaniÄka drobilica. +block.laser-drill.description = Omugućava joÅ¡ brže iskopavanje pomoću tehnologije lasera, ali zahteva energiju. Može iskopavati torijum. +block.blast-drill.description = Najefikasnija drobilica. Zahteva veliku koliÄinu energije. +block.water-extractor.description = Prikuplja podzemne vode. Korišćeno na mestima bez nadzemne vode. +block.cultivator.description = Prikuplja malu koliÄinu atmosfernih kultura spora u kapsule spora. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. +block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. +block.core-shard.description = Jezgro baze. Jednom uniÅ¡teno gubi se sector. +block.core-shard.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. +block.core-foundation.description = Jezgro baze. Dobro oklopljeno. SkladiÅ¡ti viÅ¡e resursa nego Krhotina. +block.core-foundation.details = The second iteration. +block.core-nucleus.description = Jezgro baze. Veoma dobro oklopljeno. SkladiÅ¡ti veliku koliÄinu resursa. +block.core-nucleus.details = The third and final iteration. +block.vault.description = SkladiÅ¡ti veliku koliÄinu od svake vrste materijala. Contents can be retrieved with an unloader. +block.container.description = SkladiÅ¡ti malu koliÄinu od svake vrste materijala. Contents can be retrieved with an unloader. +block.unloader.description = Istovaruje odreÄ‘eni materijal iz obližnih blokova. +block.launch-pad.description = Lansira baÄve resursa u izabrani sektor. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = Ispaljuje metke naizmeniÄno na neprijatelje. +block.scatter.description = Fires clumps of lead, scrap or metaglass flak at enemy aircraft. +block.scorch.description = Burns any ground enemies close to it. Highly effective at close range. +block.hail.description = Fires small shells at ground enemies over long distances. +block.wave.description = Fires streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.lancer.description = Charges and fires powerful beams of energy at ground targets. +block.arc.description = Fires arcs of electricity at ground targets. +block.swarmer.description = Fires homing missiles at enemies. +block.salvo.description = Ispaljuje brze rafale na neprijatelje. +block.fuse.description = Fires three close-range piercing blasts at nearby enemies. +block.ripple.description = Shoots clusters of shells at ground enemies over long distances. +block.cyclone.description = Fires explosive clumps of flak at nearby enemies. +block.spectre.description = Fires large armor-piercing bullets at air and ground targets. +block.meltdown.description = Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. +block.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. +block.repair-point.description = Stalno popravlja najbližu oÅ¡tećenu jedinicu u okolini. +block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = RafiniÅ¡e silicijum iz peska i uglja, koriÅ¡teći piratit kao dodatni izvor toplote. Efikasnija u toploj sredini. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Ubrzava rad okolnih graÄ‘evina. Za rad zahteva silicijum i faznu tkaninu. +block.payload-conveyor.description = Usmerava tovar, potput jedinica iz fabrika. +block.payload-router.description = Deli tovarni skup u 3 pravca. +block.ground-factory.description = Proizvodi zemne jedinice. Proizvod se može odmah koristiti, ili pomeren u rekonstruktore za doradu. +block.air-factory.description = Proizvodi vazduÅ¡ne jedinice. Proizvod se može odmah koristiti, ili pomeren u rekonstruktore za doradu. +block.naval-factory.description = Proizvodi morske jedinice. Proizvod se može odmah koristiti, ili pomeren u rekonstruktore za doradu. +block.additive-reconstructor.description = DoraÄ‘uje ubaÄene jedinice u drugi tier. +block.multiplicative-reconstructor.description = DoraÄ‘uje ubaÄene jedinice u treći tier. +block.exponential-reconstructor.description = DoraÄ‘uje ubaÄene jedinice u Äetvrti tier. +block.tetrative-reconstructor.description = DoraÄ‘uje ubaÄene jedinice u peti i konaÄni tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Jezgro baze. Oklopljeno. Jednom uniÅ¡teno gubi se sektor. +block.core-citadel.description = Jezgro baze. Izuzetno dobro oklopljeno. SkladiÅ¡ti viÅ¡e resursa od Bastilje jezgra. +block.core-acropolis.description = Jezgro baze. Izvrsno dobro oklopljeno. SkladiÅ¡ti viÅ¡e resursa od Citadele jezgra. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Ispaljuje rafale metaka u Å¡irokom uglu. Gura neprijateljske jedinice nazad. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = RafiniÅ¡e silicijum iz peska i grafita. +block.oxidation-chamber.description = Pretvara berilijum i ozon u kiseonik. IspuÅ¡ta toplotu kao njusproizvod. +block.electric-heater.description = Greje usmerene blokove. Zahteva veliku koliÄinu energije. +block.slag-heater.description = Greje usmerene blokove. Zahteva Å¡ljaku. +block.phase-heater.description = Greje usmerene blokove. Zahteva faznu tkaninu. +block.heat-redirector.description = Preusmerava sakupljenu toplotu u druge blokove. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Deli vodu na gasove vodonik i ozon. +block.atmospheric-concentrator.description = KoncentriÅ¡e azot iz atmosfere. Zahteva toplotu. +block.surge-crucible.description = Formira impulsnu rudu iz Å¡ljake i silicijuma. Zahteva toplotu. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Zahteva toplotu. +block.carbide-crucible.description = Pretvara volfram i grafit u karbid. Zahteva toplotu. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Zahteva toplotu. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Kondezuje ventilacione gasove u vodu. Zahteva energiju. +block.plasma-bore.description = Kada je postavljeno u smeru zidne rude, beskonaÄno ispuÅ¡ta materijale. Zahteva malo energije. +block.large-plasma-bore.description = Velika plazma buÅ¡ilica. Može iskopavati volfram i torium. Zahteva vodonik i energiju. +block.cliff-crusher.description = BeskonaÄno ispuÅ¡ta pesak lomeći stene. Zahteva energiju. Efikasnost zavisi od vrste zida. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Kada je postavljeno na rudi, beskonaÄno ispuÅ¡ta materijale u baÄvama. Zahteva energiju i vodu. +block.eruption-drill.description = PoboljÅ¡ana udarna drobilica. Može iskopavati torijum. Zahteva vodonik. +block.reinforced-conduit.description = Usmerava teÄnosti napred. Ne prihvata unos sa strane od blokova koje nisu cevi. +block.reinforced-liquid-router.description = Jednako distribuiÅ¡e teÄnosti u svim pravcima. +block.reinforced-liquid-tank.description = SkladiÅ¡ti veliku koliÄinu teÄnosti. +block.reinforced-liquid-container.description = SkladiÅ¡ti dobru koliÄinu teÄnosti. +block.reinforced-bridge-conduit.description = Prenosi teÄnosti preko terena i graÄ‘evina. +block.reinforced-pump.description = Pumpa teÄnosti. Zahteva vodonik. +block.beryllium-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.beryllium-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.tungsten-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.tungsten-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.carbide-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.carbide-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila. +block.reinforced-surge-wall.description = Å titi graÄ‘evine od neprijateljskih projektila, povremeno uzrokavajući elektriÄne udare pri kontaktu. +block.reinforced-surge-wall-large.description = Å titi graÄ‘evine od neprijateljskih projektila, povremeno uzrokavajući elektriÄne udare pri kontaktu. +block.shielded-wall.description = Å titi graÄ‘evine od neprijateljskih projektila. Stvara Å¡tit koji može primiti većinu metaka kada ima dovoljno energije. Provodi energiju. +block.blast-door.description = Zid koji se otvara kada su savezniÄke jedinice u blizini. Nemoguće je upravljati je ruÄno. +block.duct.description = Usmerava materijale ispred. +block.armored-duct.description = Usmerava materijale ispred. Ne prihvata unos sa strane od blokova koji nisu kanali. +block.duct-router.description = DistribuiÅ¡e materijale podjednako sa 3 strane. Prihvata materijale samo otpozadi. Može da se podesi kao sorter. +block.overflow-duct.description = Samo otpuÅ¡ta materijale sa strane u sluÄaju da je prednja strana nepropusna. +block.duct-bridge.description = Prenosi materijale preko terena i graÄ‘evina. +block.duct-unloader.description = Istovaruje materijale od bloka iza. Ne može istovarivati iz jezgra. +block.underflow-duct.description = Suprostnost nadlivnog kanala. OtpuÅ¡ta materijale napred samo kad su obe strane nepropusne. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Usmerava materijale u baÄvama. Može se ubrzati sa energijom. Provodi energiju. +block.surge-router.description = DistribuiÅ¡e materijale iz impulsnih traka podjednako sa 3 strane. Može se ubrzati sa energijom. Provodi energiju. +block.unit-cargo-loader.description = Proizvodi tovarne dronove. Dronovi automatski prenose materijale do Tovarne Istovarne TaÄke sa slažećim filterom. +block.unit-cargo-unload-point.description = Služi dronovima za mesto dostave materijala. Prima materijale koji su izabrane preko filtera. +block.beam-node.description = Prenosi energiju na druge blokove ortogonalno. SkladiÅ¡ti malu koliÄinu energije. +block.beam-tower.description = Prenosi energiju na druge blokove ortogonalno. SkladiÅ¡ti veću koliÄinu energije. Dugog dometa. +block.turbine-condenser.description = Proizvodi energiju kada je na ventilu. Proizvodi malu koliÄinu vode. +block.chemical-combustion-chamber.description = Proizvodi energiju od luÄara i ozona. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Proizvodi veliku koliÄinu energije iz primljene toplote. Zahteva cianogen kao stabilizator. Dobijena energija i potreban cianogen su srazmerni sa koliÄinom toplote.\nU sluÄaju nedovoljnog cianogena dolazi do ekplozije. +block.neoplasia-reactor.description = Koristi luÄar, faznu tkaninu i vodu da proizvede veliku koliÄinu energije. Proizvodi toplotu i opasnu neoplazmu kao njusproizvod.\nDolazi do jake eksplozije ako neoplasma se ne ispusti iz reaktora pomoću cevi. +block.build-tower.description = Automatski gradi uniÅ¡tene graÄ‘evine i pomaže drugim jedinicama u izgradnji novih. +block.regen-projector.description = Polako popravlja savezniÄke graÄ‘evine u kockastom dometu. Zahteva vodonik. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Proizvodi Stell jedinice. Proizvod se može odmah koristiti, ili pomeren u refabrikatore za doradu. +block.ship-fabricator.description = Proizvodi Elude jedinice. Proizvod se može odmah koristiti, ili pomeren u refabrikatore za doradu. +block.mech-fabricator.description = Proizvodi Merui jedinice. Proizvod se može odmah koristiti, ili pomeren u refabrikatore za doradu. +block.tank-assembler.description = Montira veće tenkove iz ubaÄenih blokova i jedinica. Output tier may be increased by adding modules. +block.ship-assembler.description = Montira veće tenkove iz ubaÄenih blokova i jedinica. Output tier may be increased by adding modules. +block.mech-assembler.description = Montira veće tenkove iz ubaÄenih blokova i jedinica. Output tier may be increased by adding modules. +block.tank-refabricator.description = DoraÄ‘uje ubaÄene tenkovske jedinice u drugi tier. +block.ship-refabricator.description = DoraÄ‘uje ubaÄene brodne jedinice u drugi tier. +block.mech-refabricator.description = DoraÄ‘uje ubaÄene meÄanske jedinice u drugi tier. +block.prime-refabricator.description = DoraÄ‘uje ubaÄene jedinice u treći tier. +block.basic-assembler-module.description = Povećava proizvodni tier kad je postavljen pored granice gradiliÅ¡ta. Zahteva energiju. Može da se koristi za prijem tovara. +block.small-deconstructor.description = RazgraÄ‘uje graÄ‘evine i jedinice koje uÄ‘u unutra. Vraća se 100% cene gradnje. +block.reinforced-payload-conveyor.description = Usmeruje tovar ispred. +block.reinforced-payload-router.description = DistribuiÅ¡e tovar izmeÄ‘u obljižnjih graÄ‘evina. FunkcioniÅ¡e kao sorter ako je podeÅ¡en filter. +block.payload-mass-driver.description = Visoko-dometna graÄ‘evina za transport tovara. Ispaljuje primljeni tovar na povezane tovarne akceleratore. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Popravlja sve jedinice u blizine. Zahteva ozon. +block.radar.description = Postepeno otkriva teren i neprijateljske jedinice u visokom videokrugu. Zahteva energiju. +block.shockwave-tower.description = OÅ¡tećuje i uniÅ¡tava neprijateljske projektile u dometu. Zahteva cianogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. + +unit.dagger.description = Ispaljuje standardne metke na sve neprijatelje u dometu. +unit.mace.description = Ispaljuje mlazeve plamena na sve neprijatelje u dometu. +unit.fortress.description = Ispaljuje dalekometne artiljerijske granate na mete na zemlji. +unit.scepter.description = Ispaljuje rafale naelektrisanih metaka na sve mete u dometu. +unit.reign.description = Ispaljuje rafale ogromnih probijajućih metaka na sve mete u dometu. +unit.nova.description = Ispaljuje lasere koji popravljaju savezniÄke, a oÅ¡tećuju protivniÄke strukure i jedinice. Može leteti. +unit.pulsar.description = Ispaljuje munje koji oÅ¡tećuju neprijatelje, a popravljaju saveznike. +unit.quasar.description = Ispaljuje probijajuće lasere na sve mete u dometu. Laseri oÅ¡tećuju neprijatelje, a popravljaju saveznike. Može leteti. Ima energetski Å¡tit. +unit.vela.description = Ispaljuje ogromni konstantni laserski zrak koji popravlja saveznike, a oÅ¡tećuje i pali neprijatelje. Ima dva popravna zraka. Može leteti. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Može da hoda preko većine terena. +unit.crawler.description = Dolazi do nepprijatelja i samouniÅ¡tava se, izazivaćuji veliku eksploziju. +unit.atrax.description = Ispaljuje pregrejanu Å¡ljaku na neprijatelje u dometu. Može pregaziti preko većine terena i zgrada. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Ispaljuje standardne metke na zemnim neprijateljima. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Ispaljuje rafal raketa na sve obljižnje neprijatelje. +unit.antumbra.description = Ispaljuje baraž metaka na sve obljižnje neprijatelje. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatski iskopava bakar i olovo, ostavljajući ga u jezgro. +unit.poly.description = Automatski ponovo gradi uniÅ¡tene graÄ‘evine i pomaže ostalim jedinicama u izgradnji. +unit.mega.description = Automatski popravlja oÅ¡tećene graÄ‘evine. Sposobno da prenosi blokove i male zemne jedinice. +unit.quad.description = Baca velike bombe na zemne mete, popravljajući prijateljske graÄ‘evine i nanoÅ¡eći Å¡tetu neprijateljima.Sposobno da prenosi zemne jedinice srednje veliÄine. +unit.oct.description = Å titi obljižnje saveznike sa regenerisajućim Å¡titom. Sposobno da prenosi većinu zemnih jedinica. +unit.risso.description = Ispaljuje baraž raketa i metaka na sve obljižnje neprijatelje. +unit.minke.description = ispaljuje granate i metke na obljižnje zemne mete. +unit.bryde.description = Ispaljuje dugo-dometne artiljerijske granate i rakete na neprijatelje. +unit.sei.description = Ispaljuje baraž raketa i oklopno-probojnih metaka na neprijatelje. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Gradi balkja jedinice. +unit.alpha.description = Å titi Krhotina jezgro od neprijatelja. Gradi graÄ‘evine. +unit.beta.description = Å titi Fondacija jezgro od neprijatelja. Gradi graÄ‘evine. +unit.gamma.description = Å titi Nukleus jezgro od neprijatelja. Gradi graÄ‘evine. +unit.retusa.description = Ispaljuje torpede na samonavoÄ‘enje na obljižnje neprijatelje. Popravljuje savezniÄke jedinice. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Å okira sve neprijateljske jedinice i graÄ‘evine koje mu uÄ‘u u energetsko polje. Popravljuje sve savezniÄke jedinice. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Ispaljuje standardne metke na neprijateljske mete. +unit.locus.description = Ispaljuje naizmeniÄne metke na neprijateljske mete. +unit.precept.description = Ispaljuje probojne fragmentacione metke na neprijateljske mete. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Ispaljuje dugo-dometnu artiljeriju na zemne mete. Može preći preko većine terena. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Može preći preko većine terena. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Može preći preko većine terena. +unit.tecta.description = Ispaljuje plazma rakete na neprijateljske mete. Å titi sebe sa usmerenim Å¡titom. Može preći preko većine terena. +unit.collaris.description = Ispaljuje dugo-dometnu fragmentacionu artiljeriju na neprijateljske mete. Može preći preko većine terena. +unit.elude.description = Ispaljuje mekte na samonavoÄ‘enje na neprijatelje. Može da pluta preko teÄnih tela. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Ispaljuje dugo-dometne rakete na neprijateljske mete. Onemogućava neprijateljske popravne blokove. +unit.disrupt.description = Ispaljuje dugo-dometne uguÅ¡ujuće rakete na neprijateljske mete. Onemogućava neprijateljske popravne blokove. +unit.evoke.description = Gradi graÄ‘evine da odbrani Bastilja jezgro. Popravlja graÄ‘evine sa laserom. +unit.incite.description = Gradi graÄ‘evine da odbrani Citadela jezgro. Popravlja graÄ‘evine sa laserom. +unit.emanate.description = Gradi graÄ‘evine da odbrani Veliki Grad jezgro. Popravlja graÄ‘evine sa laserom. + +lst.read = ÄŒita broj iz povezane memorijske ćelije. +lst.write = PiÅ¡e broj u povezanu memorijsku ćeliju. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Primi procesorski link po indeksu. PoÄinje kod 0. +lst.control = Upravljaj graÄ‘evinom. +lst.radar = Lociraj jedinice oko graÄ‘evine sa dometom. +lst.sensor = Primi podatke od graÄ‘evine ili jedinice. +lst.set = DefiniÅ¡i varijablu. +lst.operation = IzvrÅ¡i operaciju sa 1-2 varijable. +lst.end = SkoÄi do vrha skupa operacija. +lst.wait = SaÄekaj definisani broj sekundi. +lst.stop = Halt execution of this processor. +lst.lookup = Vidi vrstu materijala/teÄnosti/jedinice/bloka po ID-u.\nUkupne koliÄine svake vrste se mogu pristupiti sa:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Prizovi jedinicu na mestu. +lst.applystatus = Dodaj ili ukloni statusni efekat na jedinicu/e. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Izazovi eksploziju na mestu. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Postavi pravilo igre. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]Unit building logic is not allowed here. + +lenum.type = Vrsta graÄ‘evine/jedinice.\nnpr. za svaki ruter, ovo Å¡alje [accent]@router[].\nNot a string. +lenum.shoot = Ispaljuj na mestu. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Konfiguracija graÄ‘evine, npr. sortirani materijal. +lenum.enabled = Da li je ova graÄ‘evina osposobljena. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Boja iluminatora. +laccess.controller = UpravljaÄ jedinice. Ako upravljano putem procesora, Å¡alji "processor".\nAko je upravljano u formaciji, Å¡alji "lider".U ostalim sluÄajevima, Å¡alji jedinicu za sebe. +laccess.dead = Da li je graÄ‘evina/jedinica mrtva, ili viÅ¡e ne radi. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Maksimalna brzina jedinice, u polja/sekundi. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Nepoznato +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Kontrola Blokova +lcategory.block.description = Interakcije vezane sa blokovima. +lcategory.operation = Operacije +lcategory.operation.description = LogiÄke operacije. +lcategory.control = Kontrola Toka +lcategory.control.description = UreÄ‘uj tok izvoÄ‘enja. +lcategory.unit = Kontrola Jedinica +lcategory.unit.description = Davanje komandi jedinica. +lcategory.world = Svet +lcategory.world.description = Upravljaj funkcijama sveta. + +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = Uvek TaÄno. +lenum.idiv = Integer division. +lenum.div = Deljenje.Å alje [accent]null[] kada se deli sa nulom. +lenum.mod = Modulo. +lenum.equal = Jednakost. Primorava vrste.\nObjekti koji nisu [accent]null[] poreÄ‘eni sa brojevima postaju 1, u suprotnom 0. +lenum.notequal = Nejednakost. Primorava vrste. +lenum.strictequal = Zacrtana jednakost. Ne primorava vrste.\nMože se koristiti radi provere [accent]null[]-a. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. + +lenum.min = Minimum dva broja. +lenum.max = Maksimum dva broja. +lenum.angle = Ugao vektora u stepenima. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Dužina bektora. + +lenum.sin = Sinus, u stepenima. +lenum.cos = Cosinus, u stepenima. +lenum.tan = Tangenta, u stepenima. + +lenum.asin = Ark sinus, u stepenima. +lenum.acos = Ark cosinus, u stepenima. +lenum.atan = Ark tangenta, u stepenima. + +#not a typo, look up 'range notation' +lenum.rand = NasumiÄne decimale u dometu [0, vrednost). +lenum.log = Prirodni logaritam (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Apsolutna vrednost. +lenum.sqrt = Kvadratni koren. + +lenum.any = Bilo koja jedinica. +lenum.ally = SavezniÄka jedinica. +lenum.attacker = Jedinica sa oružijem. +lenum.enemy = Neprijateljska jedinica. +lenum.boss = ÄŒuvar. +lenum.flying = Leteća jedinica. +lenum.ground = Zemna jedinica. +lenum.player = Jedinica upravljana od strane igraÄa. + +lenum.ore = NalaziÅ¡te rude. +lenum.damaged = OÅ¡teÄena savezniÄka graÄ‘evina. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. + +lenum.core = Bilo koje jezgro. +lenum.storage = SkladiÅ¡nje graÄ‘evine, npr. Trezor. +lenum.generator = GraÄ‘evine koje proizvode energiju. +lenum.factory = Buildings that transform resources. +lenum.repair = Mesta za popravku. +lenum.battery = Bilo koja baterija. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. + +sensor.in = The building/unit to sense. + +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Dodatni filteri. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. + +unitradar.target = Filter for units to sense. +unitradar.and = Dodatni filteri. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. + +control.of = GraÄ‘evina za upravljanje. +control.unit = Jedinica/graÄ‘evina koja se niÅ¡ani. +control.shoot = Da li da puca. + +unitlocate.enemy = Da li da locira neprijateljske graÄ‘evine. +unitlocate.found = Da li je objekat pronaÄ‘en. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Grupa graÄ‘evina koja se traži. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Zaustavi kretanje, ali nastavi gradnju/iskopavanje.\nThe default state. +lenum.stop = Zaustavi kretanje/gradnju/iskopavanje. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Idi do taÄnog mesta. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Pucaj na mesto. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_sv.properties b/core/assets/bundles/bundle_sv.properties index 12c3e84a7b..da27d3d739 100644 --- a/core/assets/bundles/bundle_sv.properties +++ b/core/assets/bundles/bundle_sv.properties @@ -1,27 +1,30 @@ credits.text = Skapad av [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Medverkande contributors = Översättare och medarbetare -discord = GÃ¥ med Mindustrys Discord server! +discord = GÃ¥ med i Mindustrys Discord server! link.discord.description = Officiella Discord chattrummet för Mindustry -link.reddit.description = Mindustry subredditet +link.reddit.description = Mindustry subredditen link.github.description = Spelets källkod link.changelog.description = Lista av uppdateringar -link.dev-builds.description = Ostabila development builds +link.dev-builds.description = Ostabila utvecklings builds link.trello.description = Officiell Trello tavla för uppkommande funktioner -link.itch.io.description = itch.io med nedladdningar +link.itch.io.description = itch.io med nedladdningar för PC link.google-play.description = Mindustry pÃ¥ Google Play link.f-droid.description = F-Droid katalog listning link.wiki.description = Officiell wiki-sida för Mindustry link.suggestions.description = FöreslÃ¥ nya funktioner +link.bug.description = Hittat en? Rapportera den här +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Kunde inte öppna länken!\nLänken har kopierats till ditt urklipp. screenshot = Skärmdump har sparats till {0} screenshot.invalid = Karta för stor, potentiellt inte tillräckligt minne för skärmdump. -gameover = Spelet Slut +gameover = Spel Slut +gameover.disconnect = FrÃ¥nkoppla gameover.pvp = Laget [accent] {0}[] vann! +gameover.waiting = [accent]Väntar pÃ¥ nästa karta... highscore = [accent]Nytt rekord! copied = Kopierad. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. -indev.notready = Denna del av spelet är iunte färdig ännu +indev.notready = Denna del av spelet är inte färdig ännu load.sound = Ljud load.map = Kartor @@ -37,10 +40,23 @@ be.updating = Uppdaterar... be.ignore = Ignorera be.noupdates = Inga uppdateringar hittades. be.check = Leta efter uppdateringar +mods.browser = Mod Sökare +mods.browser.selected = Valt mod +mods.browser.add = Installera +mods.browser.reinstall = Ominstallera +mods.browser.view-releases = View Releases +mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published. +mods.browser.latest = [lightgray][Latest] +mods.browser.releases = Releases +mods.github.open = Repo +mods.github.open-release = Release Page +mods.browser.sortdate = Sortera efter senaste +mods.browser.sortstars = Sortera efter stjärnor schematic = Schematic schematic.add = Spara Schematic... schematics = Schematics +schematic.search = Search schematics... schematic.replace = En schematic med det namnet finns redan. Byt ut den? schematic.exists = En schematic med det namnet finns redan. schematic.import = Importera Schematic... @@ -53,33 +69,44 @@ schematic.shareworkshop = Dela pÃ¥ Workshoppen schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Vänd Schematic schematic.saved = Schematic sparad. schematic.delete.confirm = Den här schematicen kommer bli ytterst borttagen. -schematic.rename = Döp om Schematic +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} block -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Schematics inaktiverade[]\nDu fÃ¥r inte använda schematics pÃ¥ denna [accent]kartan[] eller [accent]servern. +schematic.tags = Taggar: +schematic.edittags = Redigera Taggar +schematic.addtag = Lägg till Taggar +schematic.texttag = Text Tagg +schematic.icontag = Ikon Tagg +schematic.renametag = Döp om Tagg +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Radera denna tagg fullständigt? +schematic.tagexists = Den taggen finns redan. +stats = Statistik +stats.wave = Besegrade VÃ¥gor +stats.unitsCreated = Enheter Skapade +stats.enemiesDestroyed = Besegrade Fiender +stats.built = Byggda Byggnader +stats.destroyed = Förstörda Byggnader +stats.deconstructed = Dekonstruerade Byggnader +stats.playtime = Tid Spelad -stat.wave = Besegrade vÃ¥gor:[accent] {0} -stat.enemiesDestroyed = Besegrade fiender:[accent] {0} -stat.built = Buildings Built:[accent] {0} -stat.destroyed = Buildings Destroyed:[accent] {0} -stat.deconstructed = Buildings Deconstructed:[accent] {0} -stat.delivered = Resources Launched: -stat.playtime = Tid Spelat:[accent] {0} -stat.rank = Slutgiltiga Rank: [accent]{0} - -globalitems = [accent]Global Items -map.delete = Är du säker pÃ¥ att du vill ta bort mappen "[accent]{0}[]"? -level.highscore = High Score: [accent]{0} +globalitems = [accent]Globala Objekt +map.delete = Är du säker pÃ¥ att du vill ta bort kartan "[accent]{0}[]"? +level.highscore = Högsta Poäng: [accent]{0} level.select = NivÃ¥val level.mode = Spelläge: coreattack = < Kärnan är under attack! > -nearpoint = [[ [scarlet]LÄMNA DROPPZONEN OMEDELBART[] ]\ndu dör snart +nearpoint = [[ [scarlet]LÄMNA DROPPZONEN OMEDELBART[] ]\nförintelse oundviklig database = Kärndatabas +database.button = Databas savegame = Spara Spel loadgame = Importera Spel -joingame = GÃ¥ med Spel +joingame = GÃ¥ med i Spel customgame = Anpassat Spel newgame = Nytt Spel -none = +none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Minikarta position = Position close = Stäng @@ -91,68 +118,95 @@ maps.browse = Bläddra bland kartor continue = Fortsätt maps.none = [lightgray]Inga kartor hittade! invalid = Ogiltig -pickcolor = Pick Color +pickcolor = Välj Färg preparingconfig = Förbereder konfiguration preparingcontent = Förbereder innehÃ¥ll uploadingcontent = Laddar upp innehÃ¥ll uploadingpreviewfile = Laddar upp förhandsgranskningsfil -committingchanges = Comitting Changes +committingchanges = Genomför Ändringar done = Klar feature.unsupported = Din enhet stödjer inte denna funktion. - -mods.alphainfo = Kom ihÃ¥g att moddar är i alpha, och[scarlet] kan vara väldigt buggiga[].\nReport any issues you find to the Mindustry GitHub or Discord. +mods.initfailed = [red]âš [] Den tidigare Mindustry instansen kunde inte initieras. Detta var troligtvis orsakat av misskötta moddar.\n\nFör att förhindra en kraschslinga, [red]har alla mods inaktiverats.[] mods = Moddar mods.none = [lightgray]Hittar inga Moddar! mods.guide = Modding Guide -mods.report = Report Bug -mods.openfolder = Open Mod Folder -mods.reload = Reload +mods.report = Rapportera Bug +mods.openfolder = Öppna Mod Mapp +mods.viewcontent = Visa InnehÃ¥ll +mods.reload = Ladda Om mods.reloadexit = Spelat kommer nu att starta om, för att ladda om moddarna. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Aktiverad mod.disabled = [scarlet]Inaktiverad +mod.multiplayer.compatible = [gray]Flerspelar Kompatibel mod.disable = Inaktivera -mod.content = Content: +mod.version = Version: +mod.content = InnehÃ¥ll: mod.delete.error = Kunde inte ta bort modden. Filen kanske används. -mod.requiresversion = [scarlet]Kräver som minst version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missing dependencies: {0} -mod.erroredcontent = [scarlet]Content Errors -mod.errors = Errors have occurred loading content. -mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. -mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. -mod.enable = Enable -mod.requiresrestart = The game will now close to apply the mod changes. +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies +mod.erroredcontent = [scarlet]InnehÃ¥lls Fel +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} +mod.errors = Fel har inträffat under laddning av innehÃ¥ll. +mod.noerrorplay = [scarlet]Du har moddar med fel.[] Stäng antingen av de drabbade moddarna eller fixa felen innan du spelar. +mod.nowdisabled = [scarlet]Mod '{0}' saknar beroenden:[accent] {1}\n[lightgray]Dessa mods mÃ¥ste laddas ned först.\nDetta mod kommer att inaktiveras automatiskt. +mod.enable = Aktivera +mod.requiresrestart = Spelet kommer nu att stängas av för att tillämpa mod ändringarna. mod.reloadrequired = [scarlet]Omstart krävs mod.import = Importera Mod mod.import.file = Importera Fil mod.import.github = Importera GitHub Mod -mod.jarwarn = [scarlet]JAR mods are inherently unsafe.[]\nMake sure you're importing this mod from a trustworthy source! -mod.item.remove = This item is part of the[accent] '{0}'[] mod. To remove it, uninstall that mod. -mod.remove.confirm = This mod will be deleted. -mod.author = [lightgray]Author:[] {0} -mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0} -mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again. -mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. +mod.jarwarn = [scarlet]JAR moddar är i sig osäkra.[]\nSe till att du importerar detta mod frÃ¥n en trovärdig källa! +mod.item.remove = Denna artikel är en del av[accent] '{0}'[] modden. För att ta bort den, avinstallera det moddet. +mod.remove.confirm = Detta mod kommer att raderas. +mod.author = [lightgray]Skapare:[] {0} +mod.missing = Denna sparfil innehÃ¥ller moddar som du nyligen har uppdaterat eller inte längre har installerade. Spar korruption kan förekomma. Är du säker pÃ¥ att du vill ladda den?\n[lightgray]Moddar:\n{0} +mod.preview.missing = Innan du publicerar detta mod i workshoppen, mÃ¥ste du lägga till en förhandsgransknings bild.\nPlacera en bild döpt[accent] preview.png[] i moddens mapp och försök igen. +mod.folder.missing = Endast moddar i mapp form kan bli publicerade pÃ¥ workshoppen.\nFör att konvertera ett mod till en mapp, packa helt enkelt upp filen i en mapp och ta bort den gamla zip-filen, starta sedan om ditt spel eller ladda om dina moddar. +mod.scripts.disable = Din enhet stödjer inte moddar med skripter. Du mÃ¥ste inaktivera dessa moddar för att kunna spela spelet. about.button = Om name = Namn: noname = Välj ett[accent] namn[] först. +search = Search: planetmap = Planet Karta -launchcore = Launch Core +launchcore = Avfyra Kärna filename = Filnamn: unlocked = Nytt innehÃ¥ll upplÃ¥st! +available = Ny forskning tillgänglig! +unlock.incampaign = < LÃ¥s upp i kampanjen för detaljer > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Avklarad techtree = Teknologiträd +techtree.select = Teknologiträd Väljare +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Ladda +research.discard = Kassera research.list = [lightgray]Forskning: research = Forskning researched = [lightgray]{0} framforskat. -research.progress = {0}% complete +research.progress = {0}% klart players = {0} spelare online players.single = {0} spelare online -players.search = search -players.notfound = [gray]no players found +players.search = sök +players.notfound = [gray]inga spelare hittade server.closing = [accent]Stänger server... server.kicked.kick = Du har blivit kickad frÃ¥n servern! server.kicked.whitelist = Du är inte vitlistad här. @@ -161,41 +215,57 @@ server.kicked.vote = Du har blivit utröstad. HejdÃ¥. server.kicked.clientOutdated = Utdaterad klient! Uppdatera ditt spel! server.kicked.serverOutdated = Utdaterad server! Be värden att uppdatera! server.kicked.banned = Du är bannad frÃ¥n servern. -server.kicked.typeMismatch = This server is not compatible with your build type. +server.kicked.typeMismatch = Den här servern är inte kompatibel med din build typ. server.kicked.playerLimit = Den här servern är full. Var god vänta pÃ¥ en öppning. -server.kicked.recentKick = Du har blivit kickad nyligen.\nVänta innan du kopplar igen. +server.kicked.recentKick = Du har blivit kickad nyligen.\nVänta innan du ansluter igen. server.kicked.nameInUse = NÃ¥gon med det namnet finns redan\npÃ¥ servern. server.kicked.nameEmpty = Ditt namn är ogiltigt. -server.kicked.idInUse = Du är redan pÃ¥ den här servern! Det är inte tillÃ¥tet att koppla med tvÃ¥ konton. -server.kicked.customClient = This server does not support custom builds. Ladda ned en officiell verision. -server.kicked.gameover = Game over! +server.kicked.idInUse = Du är redan pÃ¥ den här servern! Det är inte tillÃ¥tet att ansluta med tvÃ¥ konton. +server.kicked.customClient = Denna server tillÃ¥ter inte anpassade builds. Ladda ned en officiell version. +server.kicked.gameover = Spel slut! server.kicked.serverRestarting = Servern startar om. -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. -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 = Hosta Multiplayer Spel -invitefriends = Invite Friends -hostserver.mobile = Hosta\nSpel -host = Hosta +server.versions = Din version:[accent] {0}[]\nServer version:[accent] {1}[] +host.info = [accent]Värd[] knappen skapar en server pÃ¥ port [scarlet]6567[]. \nVem som helst pÃ¥ samma [lightgray]wifi eller lokala nätverk[] borde kunna se din server pÃ¥ deras server lista.\n\nOm du vill att personer ska kunna ansluta frÃ¥n var som helst med hjälp av IP, sÃ¥ är [accent]portvidarebefordran[] nödvändigt.\n\n[lightgray]Obs: Om nÃ¥gon har problem med att ansluta till ditt LAN spel, se till att du har gett Mindustry Ã¥tkomst till ditt lokala nätverk i dina brandväggsinställningar. Observera att offentliga nätverk ibland inte tillÃ¥ter serverupptäckt. +join.info = Här, kan du skriva en [accent]server IP[] för att ansluta till, eller upptäcka [accent]lokala nätverks[] servrar att ansluta till.\nBÃ¥de LAN och WAN multiplayer stöds.\n\n[lightgray]Obs: Det finns ingen automatisk global serverlista; om du vill ansluta till nÃ¥gon via IP, mÃ¥ste du be värden om deras IP. +hostserver = Bli Värd För Multiplayer Spel +invitefriends = Bjud In Vänner +hostserver.mobile = Bli Värd\nför Spel +host = Bli värd hosting = [accent]Öppnar server... -hosts.refresh = Refresh -hosts.discovering = Discovering LAN games -hosts.discovering.any = Discovering games -server.refreshing = Refreshing server -hosts.none = [lightgray]No local games found! -host.invalid = [scarlet]Can't connect to host. +hosts.refresh = Uppdatera +hosts.discovering = Upptäcker LAN spel +hosts.discovering.any = Upptäcker spel +server.refreshing = Uppdaterar server +hosts.none = [lightgray]Inga lokala spel hittades! +host.invalid = [scarlet]Kan inte ansluta till värd. -servers.local = Local Servers -servers.remote = Remote Servers -servers.global = Community Servers +servers.local = Lokala Servrar +servers.local.steam = Öppna Spel & Lokala Servrar +servers.remote = Fjärr Servrar +servers.global = Gemenskaps Servrar +servers.disclaimer = Gemenskaps servrar är [accent]inte[] ägda eller kontrollerade av utvecklaren.\n\nServrar kan innehÃ¥lla användargenererat innehÃ¥ll som inte är lämpligt för alla Ã¥ldrar. +servers.showhidden = Visa Dolda Servrar +server.shown = Visade +server.hidden = Dolda +viewplayer = Viewing Player: [accent]{0} trace = Trace Player trace.playername = Spelarnamn: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unique ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobile Client: [accent]{0} trace.modclient = Custom Client: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Invalid client ID! Submit a bug report. +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Bans server.bans.none = Inga bannade spelare hittades! server.admins = Administratörer @@ -209,10 +279,11 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]Custom Build confirmban = Are you sure you want to ban this player? confirmkick = Are you sure you want to kick this player? -confirmvotekick = Are you sure you want to vote-kick this player? confirmunban = Are you sure you want to unban this player? confirmadmin = Are you sure you want to make this player an admin? confirmunadmin = Are you sure you want to remove admin status from this player? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Join Game joingame.ip = Adress: disconnect = FrÃ¥nkopplad. @@ -220,15 +291,18 @@ disconnect.error = Kopplingsfel. disconnect.closed = Koppling stängd. disconnect.timeout = Timed out. disconnect.data = Failed to load world data! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Unable to join game ([accent]{0}[]). connecting = [accent]Ansluter... +reconnecting = [accent]Reconnecting... connecting.data = [accent]Loading world data... server.port = Port: -server.addressinuse = Address already in use! server.invalidport = Ogiltigt portnummer! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Error hosting server: [accent]{0} save.new = Ny sparfil save.overwrite = Are you sure you want to overwrite\nthis save slot? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = Skriv över save.none = Inga sparfiler hittade! savefail = Kunde inte spara spelet! @@ -249,6 +323,7 @@ save.corrupted = [accent]Save file corrupted or invalid!\nIf you have just updat empty = on = PÃ¥ off = Av +save.search = Search saved games... save.autosave = Autospara: {0} save.map = Map: {0} save.wave = VÃ¥g {0} @@ -264,9 +339,33 @@ ok = OK open = Öppna customize = Customize Rules cancel = Avbryt +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Öppna Länk copylink = Kopiera Länk back = Tillbaka +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. data.export = Exportera data data.import = Importera data data.openfolder = Open Data Folder @@ -274,15 +373,18 @@ data.exported = Data exporterad. 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. quit.confirm = Är du säker pÃ¥ att du vill avsluta? -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]Läser in... -reloading = [accent]Reloading Mods... +downloading = [accent]Downloading... saving = [accent]Sparar... respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] to clear plan selectschematic = [accent][[{0}][] to select+copy pausebuilding = [accent][[{0}][] to pause building resumebuilding = [scarlet][[{0}][] to resume building +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]VÃ¥g {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = [lightgray]VÃ¥g om {0} @@ -290,6 +392,8 @@ wave.waveInProgress = [lightgray]Wave in progress waiting = [lightgray]Väntar... waiting.players = Väntar pÃ¥ spelare... wave.enemies = [lightgray]{0} Fiender kvarvarande +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core wave.enemy = [lightgray]{0} Fiende kvar wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. @@ -300,9 +404,9 @@ custom = Anpassad builtin = Inbyggd map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! map.random = [accent]Random Map -map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] 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-orange[] cores to this map in the editor. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor. +map.nospawn = This map does not have any cores for the player to spawn in! Add a {0} 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-orange[] cores to this map in the editor. +map.nospawn.attack = This map does not have any enemy cores for player to attack! Add {0} cores to this map in the editor. map.invalid = Error loading map: corrupted or invalid map file. workshop.update = Update Item workshop.error = Error fetching workshop details: {0} @@ -310,12 +414,17 @@ map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]M workshop.menu = Select what you would like to do with this item. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = Steam EULA missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. publishing = [accent]Publishing... publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! publish.error = Error publishing item: {0} steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Pensel editor.openin = Open In Editor @@ -328,35 +437,71 @@ editor.nodescription = A map must have a description of at least 4 characters be editor.waves = VÃ¥gor: editor.rules = Regler: editor.generation = Generering: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Edit In-Game +editor.playtest = Playtest editor.publish.workshop = Publish On Workshop editor.newmap = New Map editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = VÃ¥gor waves.remove = Ta bort -waves.never = waves.every = var waves.waves = vÃ¥g(or) +waves.health = health: {0}% waves.perspawn = per spawn waves.shields = shields/wave waves.to = till +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Förhandsvisning waves.edit = Ändra... +waves.random = Random waves.copy = Kopiera till Urklipp waves.load = Läs frÃ¥n Urklipp waves.invalid = Invalid waves in clipboard. waves.copied = VÃ¥gor kopierade. waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Details... edit = Redigera... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Namn: editor.spawn = Spawn Unit editor.removeunit = Remove Unit @@ -368,13 +513,19 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n editor.errornot = This is not a map file. editor.errorheader = This map file is either not valid or corrupt. editor.errorname = Map has no name defined. Are you trying to load a save file? +editor.errorlocales = Error reading invalid locale bundles. editor.update = Uppdatera editor.randomize = Slumpa +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Verkställ editor.generate = Generera +editor.sectorgenerate = Sector Generate editor.resize = Resize editor.loadmap = Load Map editor.savemap = Save Map +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Sparad! editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. @@ -413,8 +564,12 @@ toolmode.eraseores = Erase Ores toolmode.eraseores.description = Erase only ores. toolmode.fillteams = Fyll Lag toolmode.fillteams.description = Fill teams instead of blocks. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Rita Lag toolmode.drawteams.description = Draw teams instead of blocks. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]No filters! Add one with the button below. filter.distort = Distort @@ -433,6 +588,7 @@ filter.clear = Rensa filter.option.ignore = Ignorera filter.scatter = Sprid filter.terrain = Terräng +filter.logic = Logic filter.option.scale = Skala filter.option.chance = Chans filter.option.mag = Magnitud @@ -441,17 +597,39 @@ filter.option.circle-scale = Cirkelskala filter.option.octaves = Oktaver filter.option.falloff = Falloff filter.option.angle = Vinkel +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Block filter.option.floor = Golv filter.option.flooronto = Target Floor filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Vägg filter.option.ore = Malm filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radie filter.option.percentile = Percentile +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Bredd: height = Höjd: @@ -462,6 +640,9 @@ load = Load save = Spara fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Starta om spelet för att sprÃ¥kinställningarna ska ta effekt. settings = Inställningar tutorial = Tutorial @@ -476,26 +657,71 @@ complete = [lightgray]NÃ¥: requirement.wave = Reach Wave {0} in {1} requirement.core = Destroy Enemy Core in {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Best Wave: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Only the host can view sectors. uncover = Uncover configure = Configure Loadout +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  loadout = Loadout -resources = Resources +resources = Resources +resources.max = Max bannedblocks = Banned Blocks +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Add All +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} unlocked. -zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met. -zone.resources = [lightgray]Resources Detected: -zone.objective = [lightgray]Objective: [accent]{0} -zone.objective.survival = Survive -zone.objective.attack = Destroy Enemy Core add = Lägg till... -boss.health = Boss Health +guardian = Guardian connectfail = [crimson]Connection error:\n\n[accent]{0} error.unreachable = Server unreachable.\nIs the address spelled correctly? @@ -507,26 +733,69 @@ error.mapnotfound = Map file not found! error.io = Network I/O error. error.any = Okänt nätverksfel. error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Oupptäckt sectors.resources = Resurser: sectors.production = Produktion: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Lagrade: sectors.resume = Ã…teruppta sectors.launch = Skjuta upp sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Byt namn pÃ¥ sektor +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = Kratrarna @@ -539,6 +808,22 @@ sector.overgrowth.name = Överväxt sector.tarFields.name = Tjärfält sector.saltFlats.name = Saltöken sector.fungalPass.name = Svamppass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,6 +836,75 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = SprÃ¥k settings.data = Spel Data @@ -573,7 +927,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = [accent]< Pausat > clear = Clear banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Unsupported Environment yes = Ja no = Nej info.title = Info @@ -581,13 +935,18 @@ error.title = [crimson]An error has occured error.crashtitle = An error has occured unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Inmatning stat.output = Utmatning +stat.maxefficiency = Max Efficiency stat.booster = Booster stat.tiles = Nödvändiga Tiles stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Power Capacity stat.powershot = Power/Shot stat.damage = Skada @@ -610,6 +969,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Base Power Generation stat.productiontime = Production Time stat.repairtime = Block Full Repair Time +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = Speed Increase stat.range = Range stat.drilltier = Drillables @@ -617,6 +981,7 @@ stat.drillspeed = Base Drill Speed stat.boosteffect = Boost Effect stat.maxunits = Max Active Units stat.health = Health +stat.armor = Armor stat.buildtime = Build Time stat.maxconsecutive = Max Consecutive stat.buildcost = Build Cost @@ -632,6 +997,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = HeatCapacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -640,21 +1006,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Bättre Borr Krävs +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Effektivitet: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Power: {0}/s bar.powerstored = Stored: {0}/{1} bar.poweramount = Power: {0} @@ -663,13 +1085,19 @@ bar.powerlines = Connections: {0}/{1} bar.items = FöremÃ¥l: {0} bar.capacity = Capacity: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Vätska bar.heat = Hetta +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = Power bar.progress = Build Progress +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,35 +1105,50 @@ bullet.damage = [stat]{0}[lightgray] skada bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] knockback bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier bullet.reload = [stat]{0}[lightgray]x fire rate +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = block unit.blockssquared = blocks² unit.powersecond = power units/second +unit.tilessecond = tiles/second unit.liquidsecond = liquid units/second unit.itemssecond = items/second unit.liquidunits = liquid units unit.powerunits = power units +unit.heatunits = heat units unit.degrees = grader unit.seconds = sekunder unit.minutes = mins unit.persecond = /sek unit.perminute = /min unit.timesspeed = x hastighet +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = föremÃ¥l unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose category.general = Allmänt category.power = Energi category.liquids = Vätskor @@ -713,16 +1156,23 @@ category.items = FöremÃ¥l category.crafting = Inmatning/Utmatning category.function = Function category.optional = Optional Enhancements +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Lock Landscape setting.shadows.name = Skuggor setting.blockreplace.name = Automatic Block Suggestions setting.linear.name = Linear Filtering setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animerat Vatten setting.animatedshields.name = Animerade Sköldar -setting.antialias.name = Antialias[lightgray] (requires restart)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Enemy/Ally Indicators setting.autotarget.name = Auto-Target @@ -732,14 +1182,11 @@ setting.fpscap.name = Begränsade FPS setting.fpscap.none = Inga setting.fpscap.text = {0} FPS setting.uiscale.name = UI Scaling[lightgray] (requires restart)[] +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = Träning -setting.difficulty.easy = Lätt -setting.difficulty.normal = Normalt -setting.difficulty.hard = SvÃ¥rt -setting.difficulty.insane = Galet -setting.difficulty.name = SvÃ¥righetsgrad: setting.screenshake.name = Skärmskak +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Visa Effekter setting.destroyedblocks.name = Display Destroyed Blocks setting.blockstatus.name = Display Block Status @@ -747,32 +1194,43 @@ setting.conveyorpathfinding.name = Conveyor Placement Pathfinding setting.sensitivity.name = Controller Sensitivity setting.saveinterval.name = Save Interval setting.seconds = {0} Sekunder -setting.blockselecttimeout.name = Block Select Timeout setting.milliseconds = {0} milliseconds setting.fullscreen.name = Fullskärm setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = Show FPS +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pixellera[lightgray] (disables animations) setting.minimap.name = Visa Minikarta -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Show Player Position +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Musikvolym setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient Volume setting.mutemusic.name = Stäng Av Musik setting.sfxvol.name = Ljudeffektvolym setting.mutesound.name = Stäng Av Ljudeffekter setting.crashreport.name = Skicka Anonyma Krashrapporter +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Chattgenomskinlighet setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity -setting.playerchat.name = Visa -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. +setting.playerchat.name = Visa +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Anpassa gränssnittet för att visa skÃ¥ra +setting.macnotch.description = Omstart krävs för att tillämpa ändringar +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Note that beta versions of the game cannot make public lobbies. 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.cancel = Avbryt och Avsluta @@ -781,12 +1239,9 @@ keybind.title = Rebind Keys keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. category.general.name = General category.view.name = View +category.command.name = Unit Command category.multiplayer.name = Multiplayer category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1256,27 @@ keybind.move_y.name = Move y keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu keybind.schematic_flip_x.name = Flip Schematic X @@ -826,16 +1302,20 @@ keybind.select.name = Select/Shoot keybind.diagonal_placement.name = Diagonal Placement keybind.pick.name = Pick Block keybind.break_block.name = Break Block +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Deselect keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Shoot keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pause keybind.pause_building.name = Pause/Resume Building keybind.minimap.name = Minimap +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = Chat keybind.player_list.name = Player list keybind.console.name = Console @@ -845,6 +1325,7 @@ keybind.toggle_menus.name = Toggle menus keybind.chat_history_prev.name = Chat history prev keybind.chat_history_next.name = Chat history next keybind.chat_scroll.name = Chat scroll +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = Drop Unit keybind.zoom_minimap.name = Zoom minimap mode.help.title = Description of modes @@ -858,47 +1339,100 @@ mode.pvp.description = Fight against other players locally.\n[gray]Requires at l mode.attack.name = Attack mode.attack.description = Destroy the enemy's base. No waves.\n[gray]Requires a red core in the map to play. mode.custom = Custom Rules +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Infinite Resources +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = VÃ¥gtimer +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = VÃ¥gor +rules.airUseSpawns = Air units use spawn points rules.attack = Attack Mode -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = Infinite AI (Red Team) Resources rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Unit Health Multiplier rules.unitdamagemultiplier = Unit Damage Multiplier +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Build Cost Multiplier rules.buildspeedmultiplier = Build Speed Multiplier rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Waves wait for enemies +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) rules.unitammo = Units Require Ammo +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = VÃ¥gor rules.title.resourcesbuilding = Resources & Building rules.title.enemy = Fiender rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light rules.weather = Weather rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = FöremÃ¥l content.liquid.name = Vätskor content.unit.name = Enheter content.block.name = Block +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) item.copper.name = Koppar item.lead.name = Bly @@ -916,10 +1450,23 @@ item.blast-compound.name = Sprängmedel item.pyratite.name = Pyratit item.metaglass.name = Metaglas item.scrap.name = Scrap +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Vatten liquid.slag.name = Slag liquid.oil.name = Olja liquid.cryofluid.name = Cryofluid +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -947,6 +1494,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,13 +1506,35 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = Sandbumling +block.basalt-boulder.name = Basalt Boulder block.grass.name = Gräs -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Salt block.salt-wall.name = Salt Wall @@ -988,24 +1562,28 @@ block.graphite-press.name = Grapfitpress block.multi-press.name = Multi-Press block.constructing = {0} [lightgray](Constructing) block.spawn.name = Enemy Spawn +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Core: Shard block.core-foundation.name = Core: Foundation block.core-nucleus.name = Core: Nucleus -block.deepwater.name = Djupt Vatten -block.water.name = Vatten +block.deep-water.name = Djupt Vatten +block.shallow-water.name = Vatten block.tainted-water.name = Tainted Water +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water block.tar.name = Tjära block.stone.name = Sten -block.sand.name = Sand +block.sand-floor.name = Sand block.darksand.name = Mörk Sand block.ice.name = Is block.snow.name = Snö -block.craters.name = Kratrar +block.crater-stone.name = Kratrar block.sand-water.name = Sandvatten block.darksand-water.name = Mörksandvatten block.char.name = Char block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Issnö @@ -1023,6 +1601,7 @@ block.spore-cluster.name = Spore Cluster block.metal-floor.name = Metal Floor 1 block.metal-floor-2.name = Metallgolv 2 block.metal-floor-3.name = Metallgolv 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Metallgolv 4 block.metal-floor-damaged.name = Skadat Metallgolv block.dark-panel-1.name = Mörk Panel 1 @@ -1056,15 +1635,16 @@ block.conveyor.name = Conveyor block.titanium-conveyor.name = Titanium Conveyor block.plastanium-conveyor.name = Plastanium Conveyor block.armored-conveyor.name = Armored Conveyor -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. block.junction.name = Korsning block.router.name = Router block.distributor.name = Distributor block.sorter.name = Sorterare block.inverted-sorter.name = Inverted Sorter block.message.name = Meddelande +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.overflow-gate.name = Överflödesgrind block.underflow-gate.name = Underflow Gate block.silicon-smelter.name = Kiselsmältare @@ -1115,20 +1695,22 @@ block.solar-panel.name = Solpanel block.solar-panel-large.name = Stor Solpanel block.oil-extractor.name = Oljeextraktor block.repair-point.name = Repairationspunkt +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Pulse Conduit block.plated-conduit.name = Plated Conduit block.phase-conduit.name = Phase Conduit block.liquid-router.name = Liquid Router block.liquid-tank.name = Vätsketank +block.liquid-container.name = Liquid Container block.liquid-junction.name = Vätskekorsning block.bridge-conduit.name = Bridge Conduit block.rotary-pump.name = Rotary Pump block.thorium-reactor.name = Thorium Reactor block.mass-driver.name = Mass Driver block.blast-drill.name = Airblast Drill -block.thermal-pump.name = Thermal Pump +block.impulse-pump.name = Thermal Pump block.thermal-generator.name = Thermal Generator -block.alloy-smelter.name = Alloy Smelter +block.surge-smelter.name = Surge Smelter block.mender.name = Mender block.mend-projector.name = Mend Projector block.surge-wall.name = Surge Wall @@ -1145,9 +1727,9 @@ block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Container block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1157,9 +1739,179 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1169,66 +1921,153 @@ block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = blÃ¥a +team.malis.name = Malis team.crux.name = röda team.sharded.name = orangea -team.orange.name = orangea team.derelict.name = derelicta team.green.name = gröna -team.purple.name = lila -tutorial.next = [lightgray] -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.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then 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.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\n[accent]Right-click[] to stop building. -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.\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\n[accent]0/1 items delivered -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\n[accent]0/1 items delivered -tutorial.turret = Defensive structures must be built to repel the[lightgray] enemy[].\nBuild a[accent] duo turret[] near your base. -tutorial.drillturret = Duo turrets require[accent] copper ammo []to shoot.\nPlace a drill near to the turret\n Lead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1 -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 right of your core. -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 right of your core. -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. Multiple 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[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper. -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.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. +team.blue.name = blÃ¥a +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = The most basic structural material. Used extensively in all types of blocks. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage. item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation. item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition. item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. 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 = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel. +item.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised. item.pyratite.description = An extremely flammable substance used in incendiary weapons. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing. 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 = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon. liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. +block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.message.description = Stores a message. Used for communication between allies. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.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 pure coal. Produces silicon. block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run. block.plastanium-compressor.description = Produces plastanium from oil and titanium. block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function. -block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. +block.surge-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. block.cryofluid-mixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage. block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound. block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite. @@ -1244,6 +2083,8 @@ block.item-source.description = Infinitely outputs items. Sandbox only. block.item-void.description = Destroys any items. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-void.description = Removes any liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. 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.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies. @@ -1256,6 +2097,10 @@ block.phase-wall.description = A wall coated with special phase-based reflective block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles. block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly. block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = A small door. Can be opened or closed by tapping. block.door-large.description = A large door. Can be opened and closed by tapping.\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. @@ -1272,17 +2117,19 @@ block.phase-conveyor.description = Advanced item transport block. Uses power to 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.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[] +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = An advanced router. Splits items to up to 7 other directions equally. block.overflow-gate.description = A combination splitter and router. Only outputs to the left and right if the front path is blocked. block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate. block.mechanical-pump.description = A cheap pump with slow output, but no power consumption. block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power. -block.thermal-pump.description = The ultimate pump. +block.impulse-pump.description = The ultimate pump. block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits. block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. 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.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks. block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. @@ -1308,15 +2155,21 @@ block.laser-drill.description = Allows drilling even faster through laser techno block.blast-drill.description = The ultimate drill. Requires large amounts of power. block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. 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.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-foundation.details = The second iteration. block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.core-nucleus.details = The third and final iteration. block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault. block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container. 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. block.launch-pad.description = Launches batches of items without any need for a core launch. -block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = A small, cheap turret. Useful against ground units. block.scatter.description = An essential 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. @@ -1331,5 +2184,429 @@ 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.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.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_th.properties b/core/assets/bundles/bundle_th.properties index 930887461d..1e7d4bdb92 100644 --- a/core/assets/bundles/bundle_th.properties +++ b/core/assets/bundles/bundle_th.properties @@ -1,26 +1,29 @@ credits.text = สร้างโดย [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = เครดิต -contributors = ผู้à¹à¸›à¸¥à¸ à¸²à¸©à¸²à¹à¸¥à¸°à¸œà¸¹à¹‰à¸Šà¹ˆà¸§à¸¢ -discord = เข้าร่วมเซิฟเวอร์ Discord ของ Mindustry สิ! -link.discord.description = เซิฟเวอร์ Discord อย่างเป็นทางà¸à¸²à¸£à¸‚อง Mindustry -link.reddit.description = ซับเรดดิท (subreddit) ของ Mindustry -link.github.description = source code ของเà¸à¸¡ -link.changelog.description = รายà¸à¸²à¸£à¸—ี่อัปเดต +contributors = ผู้à¹à¸›à¸¥à¸ à¸²à¸©à¸²à¹à¸¥à¸°à¸œà¸¹à¹‰à¸£à¹ˆà¸§à¸¡à¸žà¸±à¸’นา +discord = เข้าร่วมเซิร์ฟเวอร์ Discord ของ Mindustry สิ! +link.discord.description = พื้นที่พูดคุยอย่างเป็นทางà¸à¸²à¸£à¸‚อง Mindustry +link.reddit.description = Subreddit ของ Mindustry +link.github.description = à¹à¸«à¸¥à¹ˆà¸‡à¹‚ค้ดของเà¸à¸¡ +link.changelog.description = รายà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸”ต link.dev-builds.description = เวอร์ชั่นระหว่างพัฒนา (ไม่เสถียร) -link.trello.description = Trello board ทางà¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸Ÿà¸µà¹€à¸ˆà¸­à¸£à¹Œà¸•่างๆที่วางà¹à¸œà¸™à¹„ว้ +link.trello.description = บอร์ด Trello อย่างเป็นทางà¸à¸²à¸£à¸ªà¸³à¸«à¸£à¸±à¸šà¸Ÿà¸µà¹€à¸ˆà¸­à¸£à¹Œà¸•่างๆ ที่วางà¹à¸œà¸™à¹„ว้ link.itch.io.description = หน้าเว็บ itch.io สำหรับดาวน์โหลดบน PC -link.google-play.description = หน้า Google Play store ของเà¸à¸¡ -link.f-droid.description = หน้าà¹à¸„ตาลอค F-Droid ของเà¸à¸¡ -link.wiki.description = วิà¸à¸´à¸‚อง Mindustry อย่างเป็นทางà¸à¸²à¸£ -link.suggestions.description = เสนอฟีเจอร์ใหม่ -linkfail = ไม่สามารถเปิดลิ้งค์ได้\nคัดลอภURL ลงในคลิปบอร์ดà¹à¸¥à¹‰à¸§ -screenshot = Screenshot บันทึà¸à¸—ี่ {0} -screenshot.invalid = à¹à¸¡à¸žà¹ƒà¸«à¸à¹ˆà¹€à¸à¸´à¸™à¹„ป, หน่วยความจำอาจจะไม่พอสำหรับ screenshot. +link.google-play.description = หน้าร้านค้า Google Play ของเà¸à¸¡ +link.f-droid.description = หน้าà¹à¸„ตตาล็อภF-Droid ของเà¸à¸¡ +link.wiki.description = วิà¸à¸´à¸­à¸¢à¹ˆà¸²à¸‡à¹€à¸›à¹‡à¸™à¸—างà¸à¸²à¸£à¸‚อง Mindustry +link.suggestions.description = นำเสนอฟีเจอร์ใหม่ +link.bug.description = เจอบัค? รายงานที่นี่! +linkopen = เซิร์ฟเวอร์นี้ได้ส่งลิ้งค์ให้คุณ à¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¹„ม่ว่าจะเปิดลิ้งค์นี้?\n\n[sky]{0} +linkfail = ไม่สามารถเปิดลิ้งค์ได้\nได้ทำà¸à¸²à¸£à¸„ัดลอภURL ลงในคลิปบอร์ดà¹à¸¥à¹‰à¸§ +screenshot = ภาพหน้าจอได้ถูà¸à¸šà¸±à¸™à¸—ึà¸à¹„ปที่ {0} +screenshot.invalid = à¹à¸¡à¸žà¹ƒà¸«à¸à¹ˆà¹€à¸à¸´à¸™à¹„ป หน่วยความจำอาจจะไม่พอสำหรับภาพหน้าจอ gameover = จบเà¸à¸¡ -gameover.pvp = ทีมที่ชนะคือทีม[accent] {0}[]! +gameover.disconnect = ออภ+gameover.pvp = ทีมที่ชนะคือทีม [accent]{0}[]! +gameover.waiting = [accent]à¸à¸³à¸¥à¸±à¸‡à¸£à¸­à¹à¸¡à¸žà¹ƒà¸«à¸¡à¹ˆ... highscore = [accent]คะà¹à¸™à¸™à¸ªà¸¹à¸‡à¸ªà¸¸à¸”ใหม่! -copied = คัดลอà¸à¹à¸¥à¹‰à¸§. -indev.popup = [accent]เวอร์ชั่น v6[] ณ ขณะนี้อยู่ในช่วง [accent]alpha[].\n[lightgray]นั้นหมายถึง:[]\n[scarlet]- เคมเปà¸à¹„ม่ยังเสร็จสมบูรณ์ []\n- เนื้อหาบางอย่างขาดหาย\n - [scarlet]AI ของยูนิต[] ส่วนใหà¸à¹ˆà¸—ำงานได้à¹à¸šà¸šà¹„ม่สมบูรณ์\n- ยูนิตส่วนมาà¸à¸¢à¸±à¸‡à¹„ม่เสร็จ\n- ที่อย่างที่เห็นอาจเปลี่ยนà¹à¸›à¸¥à¸‡à¹„ด้หรือลบออà¸à¹‚ดยสิ้นเชิงในอนาคต\n\nà¹à¸ˆà¹‰à¸‡à¸šà¸±à¸„หรือปัà¸à¸«à¸²à¸—ี่พบเจอได้ที่ [accent]Github[]. +copied = คัดลอà¸à¹à¸¥à¹‰à¸§ indev.notready = ส่วนนี้ของเà¸à¸¡à¸¢à¸±à¸‡à¹„ม่พร้อมให้ใช้งาน load.sound = เสียง @@ -28,62 +31,88 @@ load.map = à¹à¸¡à¸ž load.image = รูป load.content = เนื้อหา load.system = ระบบ -load.mod = มอด +load.mod = ม็อด load.scripts = สคริปต์ -be.update = เวอร์ชั้นล่าสุดออà¸à¹à¸¥à¹‰à¸§: +be.update = เวอร์ชั่นรุ่นพัฒนาล่าสุดออà¸à¹à¸¥à¹‰à¸§: be.update.confirm = ดาวน์โหลดเวอร์ชั่นใหม่à¹à¸¥à¹‰à¸§à¸£à¸µà¸ªà¸•าร์ทเลยไหม? be.updating = à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸›à¹€à¸”ต... -be.ignore = ยà¸à¹€à¸¥à¸´à¸ -be.noupdates = ไม่พบà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸”ตใหม่. -be.check = ตรวจหาอัปเดตใหม่. +be.ignore = เพิà¸à¹€à¸‰à¸¢ +be.noupdates = ไม่พบอัปเดตใหม่ +be.check = ตรวจหาอัปเดตใหม่ + +mods.browser = ค้นหาม็อด +mods.browser.selected = เลือà¸à¹à¸¥à¹‰à¸§ +mods.browser.add = ติดตั้ง +mods.browser.reinstall = ติดตั้งใหม่ +mods.browser.view-releases = ดูเวอร์ชั่น +mods.browser.noreleases = [scarlet]ไม่พบเวอร์ชั่น\n[accent]ไม่สามารถหาเวอร์ชั่นใดๆ ของม็อดนี้เจอได้เลย โปรดตรวจสอบว่าà¹à¸«à¸¥à¹ˆà¸‡à¸‚องม็อดได้มีà¸à¸²à¸£à¸›à¸¥à¹ˆà¸­à¸¢à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¸¡à¸²à¹à¸¥à¹‰à¸§à¸«à¸£à¸·à¸­à¹„ม่ +mods.browser.latest = <ล่าสุด> +mods.browser.releases = เวอร์ชั่น +mods.github.open = à¹à¸«à¸¥à¹ˆà¸‡ +mods.github.open-release = หน้าเวอร์ชั่น +mods.browser.sortdate = เรียงตามล่าสุด +mods.browser.sortstars = เรียงตามคะà¹à¸™à¸™à¸”าว schematic = à¹à¸œà¸™à¸œà¸±à¸‡ -schematic.add = à¸à¸³à¸¥à¸±à¸‡à¸šà¸±à¸™à¸—ึà¸à¹à¸œà¸™à¸œà¸±à¸‡... +schematic.add = บันทึà¸à¹à¸œà¸™à¸œà¸±à¸‡... schematics = à¹à¸œà¸™à¸œà¸±à¸‡ -schematic.replace = มีà¹à¸œà¸™à¸œà¸±à¸‡à¸—ี่ใช้ชื่อนี้à¹à¸¥à¹‰à¸§. à¹à¸—นที่เลยไหม? +schematic.search = ค้นหาà¹à¸œà¸™à¸œà¸±à¸‡... +schematic.replace = มีà¹à¸œà¸™à¸œà¸±à¸‡à¸—ี่ใช้ชื่อนี้à¹à¸¥à¹‰à¸§ à¹à¸—นที่เลยไหม? schematic.exists = มีà¹à¸œà¸™à¸œà¸±à¸‡à¹ƒà¸™à¸Šà¸·à¹ˆà¸­à¸™à¸±à¹‰à¸™à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ schematic.import = นำเข้าà¹à¸œà¸™à¸œà¸±à¸‡... schematic.exportfile = ส่งออà¸à¹„ฟล์ schematic.importfile = นำเข้าไฟล์ -schematic.browseworkshop = ค้นหาเวิร์à¸à¸Šà¸­à¸› +schematic.browseworkshop = ค้นหาในเวิร์à¸à¸Šà¹‡à¸­à¸› schematic.copy = คัดลอà¸à¹„ปที่คลิปบอร์ด schematic.copy.import = นำเข้าจาà¸à¸„ลิปบอร์ด -schematic.shareworkshop = à¹à¸Šà¸£à¹Œà¸šà¸™à¹€à¸§à¸´à¸£à¹Œà¸à¸Šà¸­à¸› +schematic.shareworkshop = à¹à¸Šà¸£à¹Œà¸šà¸™à¹€à¸§à¸´à¸£à¹Œà¸à¸Šà¹‡à¸­à¸› schematic.flip = [accent][[{0}][]/[accent][[{1}][]: à¸à¸¥à¸±à¸šà¹à¸œà¸™à¸œà¸±à¸‡ -schematic.saved = บันทึà¸à¹à¸œà¸™à¸œà¸±à¸‡à¹à¸¥à¹‰à¸§. -schematic.delete.confirm = à¹à¸œà¸™à¸œà¸±à¸‡à¸™à¸µà¹‰à¸ˆà¸°à¸–ูà¸à¸à¸³à¸ˆà¸±à¸”ให้หมดสิ้นโดยสิ้นเชิง -schematic.rename = เปลี่ยนชื่อของà¹à¸œà¸™à¸œà¸±à¸‡ -schematic.info = {0}x{1}, {2} บล็อค -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.saved = บันทึà¸à¹à¸œà¸™à¸œà¸±à¸‡à¹à¸¥à¹‰à¸§ +schematic.delete.confirm = à¹à¸œà¸™à¸œà¸±à¸‡à¸™à¸µà¹‰à¸ˆà¸°à¸–ูà¸à¸à¸³à¸ˆà¸±à¸”ให้หมดสิ้นไม่เหลือซาภ+schematic.edit = à¹à¸à¹‰à¹„ขà¹à¸œà¸™à¸œà¸±à¸‡ +schematic.info = {0}x{1}, {2} บล็อภ+schematic.disabled = [scarlet]à¸à¸²à¸£à¹ƒà¸Šà¹‰à¹à¸œà¸™à¸œà¸±à¸‡à¸–ูà¸à¸›à¸´à¸”ไว้[]\nคุณไม่สามารถใช้à¹à¸œà¸™à¸œà¸±à¸‡à¹„ด้ใน[accent]à¹à¸¡à¸ž[]หรือ[accent]เซิร์ฟเวอร์[]นี้ +schematic.tags = à¹à¸—็à¸: +schematic.edittags = à¹à¸à¹‰à¹„ขà¹à¸—็ภ+schematic.addtag = เพิ่มà¹à¸—็ภ+schematic.texttag = à¹à¸—็à¸à¸‚้อความ +schematic.icontag = à¹à¸—็à¸à¹„อคอน +schematic.renametag = เปลี่ยนชื่อà¹à¸—็ภ+schematic.tagged = {0} ถูà¸à¹à¸—็ภ+schematic.tagdelconfirm = จะลบà¹à¸—็à¸à¸™à¸µà¹‰à¸—ั่วทั้งหมดเลยใช่ไหม? +schematic.tagexists = à¹à¸—็à¸à¸™à¸µà¹‰à¸¡à¸µà¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ -stat.wave = จำนวนคลื่น(รอบ)ที่à¸à¸³à¸ˆà¸±à¸”ได้:[accent] {0} -stat.enemiesDestroyed = จำนวนศัตรูที่ทำลายไปได้:[accent] {0} -stat.built = จำนวนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่สร้าง:[accent] {0} -stat.destroyed = จำนวนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องศัตรูที่ทำลายไปได้:[accent] {0} -stat.deconstructed = จำนวนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ถูà¸à¸—ำลายไป:[accent] {0} -stat.delivered = ทรัพยาà¸à¸£à¸—ี่ส่งไปได้: -stat.playtime = ระยะเวลาที่เล่นไป:[accent] {0} -stat.rank = ระดับ: [accent]{0} +stats = สถิติ +stats.wave = จำนวนคลื่นที่อยู่รอด +stats.unitsCreated = จำนวนยูนิตที่สร้าง +stats.enemiesDestroyed = จำนวนศัตรูที่ทำลาย +stats.built = จำนวนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่สร้าง +stats.destroyed = จำนวนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ถูà¸à¸—ำลาย +stats.deconstructed = จำนวนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ลบไป +stats.playtime = ระยะเวลาที่เล่นไป -globalitems = [accent]ไอเท็มโà¸à¸¥à¸šà¸­à¸¥ -map.delete = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¹à¸¡à¸žà¸Šà¸·à¹ˆà¸­ "[accent]{0}[]"? +globalitems = [accent]ไอเท็มทั้งหมด +map.delete = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¹à¸¡à¸ž "[accent]{0}[]"? level.highscore = คะà¹à¸™à¸™à¸ªà¸¹à¸‡à¸ªà¸¸à¸”: [accent]{0} level.select = เลือà¸à¸”่าน level.mode = เà¸à¸¡à¹‚หมด: -coreattack = < à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸à¸³à¸¥à¸±à¸‡à¸–ูà¸à¹‚จมตี! > -nearpoint = [[ [scarlet]ออà¸à¸ˆà¸²à¸à¸”รอปพอยท์ด่วน IMMEDIATELY[] ]\nà¸à¸²à¸£à¸—ำลายล้างà¸à¸³à¸¥à¸±à¸‡à¹ƒà¸à¸¥à¹‰à¹€à¸‚้ามา -database = à¸à¸²à¸™à¸‚้อมูลหลัภ+coreattack = < à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸–ูà¸à¹‚จมตี! > +nearpoint = [[ [scarlet]ออà¸à¸ˆà¸²à¸à¸ˆà¸¸à¸”เà¸à¸´à¸”ด่วน![] ]\nà¸à¸²à¸£à¸—ำลายล้างà¸à¸³à¸¥à¸±à¸‡à¹ƒà¸à¸¥à¹‰à¹€à¸‚้ามา +database = à¸à¸²à¸™à¸‚้อมูลà¹à¸à¸™à¸à¸¥à¸²à¸‡ +database.button = à¸à¸²à¸™à¸‚้อมูล savegame = เซฟเà¸à¸¡ loadgame = โหลดเà¸à¸¡ joingame = เข้าร่วมเà¸à¸¡ customgame = เà¸à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸”เอง newgame = เริ่มเà¸à¸¡à¹ƒà¸«à¸¡à¹ˆ none = <ไม่มี> +none.found = [lightgray]<ไม่พบอะไรเลย> +none.inmap = [lightgray]<ไม่มีในà¹à¸¡à¸ž> minimap = มินิà¹à¸¡à¸ž position = ตำà¹à¸«à¸™à¹ˆà¸‡ close = ปิด -website = เว็ปไซต์ +website = เว็บไซต์ quit = ออภsave.quit = เซฟà¹à¸¥à¹‰à¸§à¸­à¸­à¸ maps = à¹à¸¡à¸ž @@ -92,7 +121,7 @@ continue = ต่อ maps.none = [lightgray]ไม่มีà¹à¸¡à¸ž! invalid = ไม่ถูà¸à¸•้อง pickcolor = เลือà¸à¸ªà¸µ -preparingconfig = à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียม Config +preparingconfig = à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมค่าปรับà¹à¸•่ง preparingcontent = à¸à¸³à¸¥à¸±à¸‡à¹€à¸•รียมเนื้อหา uploadingcontent = à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸›à¹‚หลดเนื้อหา uploadingpreviewfile = à¸à¸³à¸¥à¸±à¸‡à¸­à¸±à¸›à¹‚หลดไฟล์พรีวิว @@ -100,135 +129,184 @@ committingchanges = à¸à¸³à¸¥à¸±à¸‡à¸—ำà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥ done = เรียบร้อย feature.unsupported = อุปà¸à¸£à¸“์ของคุณไม่รองรับฟีเจอร์นี้ -mods.alphainfo = จำไว้ว่ามอดนั้นยังอยู่ในขั้น alpha à¹à¸¥à¸°[scarlet] อาจจะมีบัค[].\nโปรดรายงานปัà¸à¸«à¸²à¸—ี่คุณพบใน Github ของ Mindustry หรือ ในเซิฟเวอร์ Discord -mods = มอด -mods.none = [lightgray]ไม่พบมอด! -mods.guide = คู่มือà¸à¸²à¸£à¸—ำมอด +mods.initfailed = [red]âš [] ไม่สามารถเปิดเà¸à¸¡ Mindustry ได้ อาจเà¸à¸´à¸”จาà¸à¸¡à¹‡à¸­à¸”ที่ทำงานผิดปà¸à¸•ิ\n\nเพื่อป้องà¸à¸±à¸™à¸à¸²à¸£à¹à¸„รชต่อเนื่อง [red]ม็อดทั้งหมดได้ทำà¸à¸²à¸£à¸›à¸´à¸”ตัวลง[] +mods = ม็อด +mods.none = [lightgray]ไม่พบม็อด! +mods.guide = คู่มือà¸à¸²à¸£à¸—ำม็อด mods.report = รายงานบัค -mods.openfolder = เปิดมอดโฟลเดอร์ +mods.openfolder = เปิดโฟลเดอร์ม็อด +mods.viewcontent = ดูเนื้อหาม็อด mods.reload = โหลดใหม่ -mods.reloadexit = เà¸à¸¡à¸ˆà¸°à¸­à¸­à¸à¹€à¸žà¸·à¹ˆà¸­à¸ˆà¸°à¹‚หลดมอด -mod.display = [gray]Mod:[orange] {0} +mods.reloadexit = เà¸à¸¡à¸ˆà¸°à¸­à¸­à¸à¹€à¸žà¸·à¹ˆà¸­à¸—ี่จะรีโหลดม็อด +mod.installed = [[ติดตั้งà¹à¸¥à¹‰à¸§] +mod.display = [gray]ม็อด:[orange] {0} mod.enabled = [lightgray]เปิดใช้งาน mod.disabled = [scarlet]ปิดใช้งาน +mod.multiplayer.compatible = [gray]ใช้งานได้à¸à¸±à¸šà¹‚หมดผู้เล่นหลายคน mod.disable = ปิดใช้งาน +mod.version = Version: mod.content = เนื้อหา: -mod.delete.error = ไม่สามารถลบมอดได้. ไฟล์อาจอยู่ในระหว่างà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™. -mod.requiresversion = [scarlet]เวอร์ชั่นเà¸à¸¡à¸‚ั้นต่ำที่ต้องà¸à¸²à¸£: [accent]{0} -mod.outdated = [scarlet]ไม่สามารถใช้ได้ในเวอร์ชั่น V6 (ไม่มี minGameVersion: 105) -mod.missingdependencies = [scarlet]dependencies หาย: {0} +mod.delete.error = ไม่สามารถลบม็อดออà¸à¹„ด้ ไฟล์อาจอยู่ในระหว่างà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™ +mod.incompatiblegame = [red]เà¸à¸¡à¸¥à¹‰à¸²à¸ªà¸¡à¸±à¸¢ +mod.incompatiblemod = [red]เข้าà¸à¸±à¸™à¹„ม่ได้ +mod.blacklisted = [red]ไม่ได้รับà¸à¸²à¸£à¸ªà¸™à¸±à¸šà¸ªà¸™à¸¸à¸™ +mod.unmetdependencies = [red]ม็อดพึ่งพาขาดหาย: {0} mod.erroredcontent = [scarlet]เนื้อหาผิดพลาด -mod.errors = มีข้อผิดพลาดเà¸à¸´à¸”ขึ้นระหว่าโหลดเนื้อหา -mod.noerrorplay = [scarlet]คุณมีมอดที่มีข้อผิดพลาด.[] à¸à¸£à¸¸à¸“าปิดมอดนั้นๆหรือà¹à¸à¹‰à¹„ขข้อผิดพลาดà¸à¹ˆà¸­à¸™à¸—ี่จะเล่น -mod.nowdisabled = [scarlet]มอด '{0}' ไม่มี dependencies:[accent] {1}\n[lightgray]จำเป็นต้องโหลดมอดพวà¸à¸™à¸µà¹‰à¸à¹ˆà¸­à¸™\nมอดนี้จะถูà¸à¸›à¸´à¸”ใช้งานโดยอัตโนมัติ +mod.circulardependencies = [red]ม็อดพึ่งพาวนลูป +mod.incompletedependencies = [red]ม็อดพึ่งพาไม่ครบ +mod.requiresversion.details = ต้องà¸à¸²à¸£à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¹€à¸à¸¡: [accent]{0}[]\nเà¸à¸¡à¸‚องคุณนั้นเà¸à¹ˆà¸²à¹€à¸à¸´à¸™à¹„ป ม็อดนี้ต้องà¸à¸²à¸£à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¹€à¸à¸¡à¸—ี่ใหม่à¸à¸§à¹ˆà¸²à¸™à¸µà¹‰ (อาจเป็นรุ่น beta/alpha) เพื่อที่จะทำงานได้ +mod.outdatedv7.details = ม็อดนี้ไม่สามารถใช้งานร่วมà¸à¸±à¸šà¹€à¸à¸¡à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¸¥à¹ˆà¸²à¸ªà¸¸à¸”ได้ ผู้พัฒนาม็อดจะต้องอัปเดตม็อด à¹à¸¥à¸°à¹€à¸žà¸´à¹ˆà¸¡ [accent]minGameVersion: 136[] ลงในไฟล์ [accent]mod.json[] ของม็อด +mod.blacklisted.details = ม็อดนี้ถูà¸à¸‚ึ้นบัà¸à¸Šà¸µà¸”ำเพราะทำให้เà¸à¸´à¸”ข้อขัดข้องà¹à¸¥à¸°à¸›à¸±à¸à¸«à¸²à¸­à¸·à¹ˆà¸™à¹† ในเวอร์ชั่นเà¸à¸¡à¸™à¸µà¹‰ ห้ามใช้เด็ดขาด +mod.missingdependencies.details = ม็อดนี้ขาดม็อดพึ่งพา: {0} +mod.erroredcontent.details = เà¸à¸¡à¹€à¸à¸´à¸”ปัà¸à¸«à¸²à¹ƒà¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸à¸²à¸£à¹‚หลด à¸à¸£à¸¸à¸“าสอบถามผู้พัฒนาม็อดเพื่อให้à¹à¸à¹‰à¹„ข +mod.circulardependencies.details = ม็อดนี้มีม็อดพึ่งพาที่พึ่งพาซึ่งà¸à¸±à¸™à¹à¸¥à¸°à¸à¸±à¸™ +mod.incompletedependencies.details = ม็อดนี้ไม่สามารถโหลดได้เนื่องจาà¸à¸¡à¹‡à¸­à¸”พึ่งพามีปัà¸à¸«à¸²à¸«à¸£à¸·à¸­à¸¡à¸µà¸¡à¹‡à¸­à¸”พึ่งพาไม่ครบ: {0} +mod.requiresversion = ต้องà¸à¸²à¸£à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¹€à¸à¸¡: [red]{0} +mod.errors = มีข้อผิดพลาดเà¸à¸´à¸”ขึ้นระหว่างโหลดเนื้อหา +mod.noerrorplay = [scarlet]คุณมีม็อดที่มีข้อผิดพลาด[] à¸à¸£à¸¸à¸“าปิดม็อดนั้นๆ หรือà¹à¸à¹‰à¹„ขข้อผิดพลาดà¸à¹ˆà¸­à¸™à¸—ี่จะเล่น +mod.nowdisabled = [scarlet]ม็อด '{0}' ขาดม็อดพื่งพา:[accent] {1}\n[lightgray]จำเป็นต้องโหลดม็อดพวà¸à¸™à¸µà¹‰à¸à¹ˆà¸­à¸™\nม็อดนี้จะถูà¸à¸›à¸´à¸”ใช้งานโดยอัตโนมัติ mod.enable = เปิดใช้งาน -mod.requiresrestart = เà¸à¸¡à¸ˆà¸°à¸›à¸´à¸”ลงเพื่อใส่มอด +mod.requiresrestart = เà¸à¸¡à¸ˆà¸°à¸›à¸´à¸”ตัวลงเพื่อติดตั้งม็อด mod.reloadrequired = [scarlet]จำเป็นต้องรีโหลด -mod.import = นำเข้ามอด +mod.import = นำเข้าม็อด mod.import.file = นำเข้าไฟล์ -mod.import.github = นำเข้ามอดจาภGithub -mod.jarwarn = [scarlet]มอดไฟล์ JAR นั้นค่อนข้างไม่ปลอดภัย.[]\nà¸à¸£à¸¸à¸“าเช็คให้à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸„ุณนำเข้ามอดนี้จะà¹à¸«à¸¥à¹ˆà¸‡à¸—ี่เชื่อถือได้! -mod.item.remove = ไอเทมนี้เป็นส่วนหนึ่งของมอด[accent] '{0}'[]. หาà¸à¸•้องà¸à¸²à¸£à¸™à¸³à¸­à¸­à¸ à¸à¸£à¸¸à¸“าถอดà¸à¸²à¸£à¸•ิดตั้งมอดนั้น -mod.remove.confirm = มอดนี้จะถูà¸à¸¥à¸š +mod.import.github = นำเข้าม็อดจาภGithub +mod.jarwarn = [scarlet]ม็อดไฟล์ JAR นั้นค่อนข้างไม่ปลอดภัย[]\nà¸à¸£à¸¸à¸“าเช็à¸à¹ƒà¸«à¹‰à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸„ุณนำเข้าม็อดนี้จะà¹à¸«à¸¥à¹ˆà¸‡à¸—ี่เชื่อถือได้! +mod.item.remove = ไอเท็มนี้เป็นส่วนหนึ่งของม็อด [accent]'{0}'[] หาà¸à¸•้องà¸à¸²à¸£à¸™à¸³à¸­à¸­à¸ à¸à¸£à¸¸à¸“าถอนà¸à¸²à¸£à¸•ิดตั้งม็อดนั้น +mod.remove.confirm = ม็อดนี้จะถูà¸à¸¥à¸šà¸­à¸­à¸à¹„ป mod.author = [lightgray]ผู้สร้าง:[] {0} -mod.missing = เซฟนี้มีมอดที่คุณอัปเดตหรือไม่ได้ติดตั้งà¹à¸¥à¹‰à¸§. อาจทำให้เซฟเสีย. คุณà¹à¸™à¹ˆà¸ˆà¸°à¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹‚หลดเซฟนี้?\n[lightgray]มอดที่ใช้:\n{0} -mod.preview.missing = à¸à¹ˆà¸­à¸™à¸—ี่จะนำมอดไปลงใน workshop, คุณต้องใส่รูปพรีวิวà¸à¹ˆà¸­à¸™\nใส่รูปชื่อ[accent] preview.png[] ลงในโฟลเดอร์ของมอดà¹à¸¥à¹‰à¸§à¸¥à¸­à¸‡à¸­à¸µà¸à¸„รั้ง -mod.folder.missing = มอดที่อยู่ในรูปà¹à¸šà¸šà¹‚ฟลเดอร์เท่านั้นที่สามารถลงใน workshop ได้\nunzip ไฟล์à¹à¸¥à¹‰à¸§à¸¥à¸šà¹„ฟล์ zip เà¸à¹ˆà¸² à¹à¸¥à¹‰à¸§à¸£à¸µà¸ªà¸•าร์ทเà¸à¸¡à¸«à¸£à¸·à¸­à¸£à¸µà¹‚หลดมอด -mod.scripts.disable = เครื่องของคุณไม่รองรับมอดที่มี scripts. คุณจำเป็นต้องปิดมอดเหล่านี้à¸à¹ˆà¸­à¸™à¸ˆà¸¶à¸‡à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–เล่นได้. +mod.missing = เซฟนี้มีม็อดที่คุณพึ่งอัปเดตหรือไม่ได้ติดตั้งà¹à¸¥à¹‰à¸§ อาจทำให้เซฟเสีย คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹‚หลดเซฟนี้?\n[lightgray]ม็อดที่ใช้:\n{0} +mod.preview.missing = à¸à¹ˆà¸­à¸™à¸—ี่จะนำม็อดไปลงในเวิร์à¸à¸Šà¹‡à¸­à¸› คุณต้องใส่รูปพรีวิวà¸à¹ˆà¸­à¸™\nใส่รูปชื่อ[accent] preview.png[] ลงในโฟลเดอร์ของม็อดà¹à¸¥à¹‰à¸§à¸¥à¸­à¸‡à¸­à¸µà¸à¸„รั้ง +mod.folder.missing = ม็อดที่อยู่ในรูปà¹à¸šà¸šà¹‚ฟลเดอร์เท่านั้นที่สามารถลงในเวิร์à¸à¸Šà¹‡à¸­à¸›à¹„ด้\nunzip ไฟล์à¹à¸¥à¹‰à¸§à¸¥à¸šà¹„ฟล์ zip เà¸à¹ˆà¸² à¹à¸¥à¹‰à¸§à¸£à¸µà¸ªà¸•าร์ทเà¸à¸¡à¸«à¸£à¸·à¸­à¸£à¸µà¹‚หลดม็อด +mod.scripts.disable = เครื่องของคุณไม่รองรับม็อดที่มีสคริปต์ คุณจำเป็นต้องปิดม็อดเหล่านี้à¸à¹ˆà¸­à¸™à¸ˆà¸¶à¸‡à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–เล่นได้ about.button = เà¸à¸µà¹ˆà¸¢à¸§à¸à¸±à¸š name = ชื่อ: -noname = ใส่ชื่อ[accent] ผู้เล่น[] à¸à¹ˆà¸­à¸™. -planetmap = à¹à¸œà¸™à¸—ี่ดาวเคราะห์ -launchcore = ส่ง Core +noname = ใส่ชื่อ[accent]ผู้เล่น[]à¸à¹ˆà¸­à¸™ +search = ค้นหา: +planetmap = à¹à¸œà¸™à¸—ี่ดาว +launchcore = ส่งà¹à¸à¸™à¸à¸¥à¸²à¸‡ filename = ชื่อไฟล์: -unlocked = เนื้อหาใหม่ปลดล็อค! -completed = [accent]สำเร็จ -techtree = ความคืบหน้าในà¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢ -research.list = [lightgray]วิจัย: +unlocked = ปลดล็อà¸à¹€à¸™à¸·à¹‰à¸­à¸«à¸²à¹ƒà¸«à¸¡à¹ˆ! +available = มีà¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢à¹ƒà¸«à¸¡à¹ˆà¸žà¸£à¹‰à¸­à¸¡à¸›à¸¥à¸”ล็อà¸! +unlock.incampaign = < ปลดล็อà¸à¹ƒà¸™à¹à¸„มเปà¸à¹€à¸žà¸·à¹ˆà¸­à¸”ูรายละเอียด > +campaign.select = เลือà¸à¹€à¸™à¸·à¹‰à¸­à¹€à¸£à¸·à¹ˆà¸­à¸‡à¸—ี่จะเริ่มต้น +campaign.none = [lightgray]โปรดเลือà¸à¸”าวที่จะเริ่มต้น\nคุณสามารถสลับà¸à¸¥à¸±à¸šà¹„ปตอนไหนà¸à¹‡à¹„ด้ +campaign.erekir = เนื้อหาที่ใหม่à¸à¸§à¹ˆà¸²à¹à¸¥à¸°à¸‚ัดเà¸à¸¥à¸²à¸¡à¸²à¸¡à¸²à¸à¸à¸§à¹ˆà¸² เนื้อเรื่องดำเนินเป็นเส้นตรงโดยซะส่วนใหà¸à¹ˆ\n\nà¹à¸¡à¸žà¸¡à¸µà¸„ุณภาพที่ดีà¸à¸§à¹ˆà¸² ให้ประสบà¸à¸²à¸£à¸“์โดยรวมที่มีคุณภาพ +campaign.serpulo = ประสบà¸à¸²à¸£à¸“์สุดคลาสสิภเนื้อหาเยอะà¸à¸§à¹ˆà¸² เปิดà¸à¸§à¹‰à¸²à¸‡à¸¡à¸²à¸à¸à¸§à¹ˆà¸²\n\nà¹à¸¡à¸žà¹à¸¥à¸°à¸à¸¥à¹„à¸à¸‚องà¹à¸„มเปà¸à¸­à¸²à¸ˆà¹„ม่สมดุล ขัดเà¸à¸¥à¸²à¸¡à¸²à¸™à¹‰à¸­à¸¢à¸à¸§à¹ˆà¸² +campaign.difficulty = Difficulty +completed = [accent]วิจัยà¹à¸¥à¹‰à¸§ +techtree = ต้นไม้เทคโนโลยี +techtree.select = เลือà¸à¸•้นไม้à¹à¸«à¹ˆà¸‡à¹€à¸—คโนโลยี +techtree.serpulo = เซอร์ปูโล่ +techtree.erekir = เอเรเà¸à¸µà¸¢à¸£à¹Œ +research.load = โหลด +research.discard = ทอดทิ้ง +research.list = [lightgray]à¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢: research = วิจัย -researched = [lightgray]{0} วิจัยà¹à¸¥à¹‰à¸§. -research.progress = เสร็จà¹à¸¥à¹‰à¸§ {0}% +researched = [lightgray]{0} วิจัยà¹à¸¥à¹‰à¸§ +research.progress = วิจัยà¹à¸¥à¹‰à¸§ {0}% players = {0} ผู้เล่น players.single = {0} ผู้เล่น players.search = ค้นหา players.notfound = [gray]ไม่พบผู้เล่น -server.closing = [accent]à¸à¸³à¸¥à¸±à¸‡à¸›à¸´à¸”เซิฟเวอร์... -server.kicked.kick = คุณถูà¸à¹€à¸•ะออà¸à¸ˆà¸²à¸à¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œ! -server.kicked.whitelist = คุณไม่ได้อยู่ใน whitelisted -server.kicked.serverClose = เซิฟเวอร์ถูà¸à¸›à¸´à¸”. -server.kicked.vote = คุณถูà¸à¹‚หวตเตะออà¸. บัยบาย. -server.kicked.clientOutdated = client เà¸à¹ˆà¸²! à¸à¸£à¸¸à¸“าอัปเดตเà¸à¸¡à¸‚องคุณ! -server.kicked.serverOutdated = server เà¸à¹ˆà¸²! โปรดถามเจ้าของเซิฟเพื่ออัปเดต! -server.kicked.banned = คุณถูà¸à¹à¸šà¸™à¹ƒà¸™à¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰ -server.kicked.typeMismatch = เซิฟเวอร์นี้ไม่เข้าà¸à¸±à¸š build type ของคุณ. -server.kicked.playerLimit = เซิฟเวอร์เต็ม. à¸à¸£à¸¸à¸“ารอให้เซิฟเวอร์ว่างà¸à¹ˆà¸­à¸™. -server.kicked.recentKick = คุณเพิ่งถูà¸à¹€à¸•ะออà¸à¸ˆà¸²à¸à¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰.\nà¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่เพื่อเข้าร่วมอีà¸à¸„รั้ง -server.kicked.nameInUse = มีคนที่ใช้ชืชื่อนี้\nอยู่ในเซิฟเวอร์à¹à¸¥à¹‰à¸§ +server.closing = [accent]à¸à¸³à¸¥à¸±à¸‡à¸›à¸´à¸”เซิร์ฟเวอร์... +server.kicked.kick = คุณถูà¸à¹€à¸•ะออà¸à¸ˆà¸²à¸à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ! +server.kicked.whitelist = คุณไม่ได้ถูà¸à¸£à¸±à¸šà¹€à¸Šà¸´à¸\nคนที่ถูà¸à¸£à¸±à¸šà¹€à¸Šà¸´à¸à¹€à¸—่านั้นที่จะเข้าได้ +server.kicked.serverClose = เซิร์ฟเวอร์ถูà¸à¸›à¸´à¸” +server.kicked.vote = คุณถูà¸à¹‚หวตให้เตะออภบัยบาย +server.kicked.clientOutdated = ไคลเอนต์ล้าสมัย! à¸à¸£à¸¸à¸“าอัปเดตเà¸à¸¡à¸‚องคุณ! +server.kicked.serverOutdated = เซิร์ฟเวอร์ล้าสมัย! โปรดถามโฮสต์เพื่อให้อัปเดต! +server.kicked.banned = คุณถูà¸à¹à¸šà¸™à¹ƒà¸™à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰ +server.kicked.typeMismatch = เซิร์ฟเวอร์นี้ไม่เข้าà¸à¸±à¸šà¸›à¸£à¸°à¹€à¸ à¸—เวอร์ชั่นของคุณ +server.kicked.playerLimit = เซิร์ฟเวอร์เต็ม à¸à¸£à¸¸à¸“ารอให้เซิร์ฟเวอร์ว่างà¸à¹ˆà¸­à¸™ +server.kicked.recentKick = คุณเพิ่งถูà¸à¹€à¸•ะออà¸à¸ˆà¸²à¸à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰\nà¸à¸£à¸¸à¸“ารอสัà¸à¸„รู่เพื่อเข้าร่วมอีà¸à¸„รั้ง +server.kicked.nameInUse = มีคนที่ใช้ชื่อนี้\nอยู่ในเซิร์ฟเวอร์à¹à¸¥à¹‰à¸§ server.kicked.nameEmpty = ชื่อของคุณไม่สามารถใช้ได้ -server.kicked.idInUse = คุณเชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ เราไม่อนุà¸à¸²à¸•ให้เชื่อมต่อ 2 บัà¸à¸Šà¸µà¹ƒà¸™à¹€à¸‹à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¹€à¸”ียวà¸à¸±à¸™ -server.kicked.customClient = เซิฟเวอร์นี้ไม่รองรับ builds ปรับà¹à¸•่ง. à¸à¸£à¸¸à¸“าโหลดของ official. +server.kicked.idInUse = คุณเชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§ เราไม่อนุà¸à¸²à¸•ให้เชื่อมต่อสองบัà¸à¸Šà¸µà¹ƒà¸™à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¹€à¸”ียวà¸à¸±à¸™ +server.kicked.customClient = เซิร์ฟเวอร์นี้ไม่รองรับเวอร์ชั่นที่ถูà¸à¸›à¸£à¸±à¸šà¹à¸•่ง à¸à¸£à¸¸à¸“าโหลดเวอร์ชั่นอย่างเป็นทางà¸à¸²à¸£à¸‚อง Mindustry server.kicked.gameover = จบเà¸à¸¡! -server.kicked.serverRestarting = เซิฟเวอร์à¸à¸³à¸¥à¸±à¸‡à¹€à¸£à¸´à¹ˆà¸¡à¹ƒà¸«à¸¡à¹ˆ. -server.versions = เวอร์ชั่นของคุณ:[accent] {0}[]\nเวอร์ชั่นของเซิฟเวอร์:[accent] {1}[] -host.info = ปุ่ม [accent]โฮสต์[] นั้นโฮสต์เซฟเวอร์ที่พอร์ท [scarlet]6567[]. \nทุà¸à¸„นที่อยู่ใน [lightgray]wifi หรือ local network[] เดียวà¸à¸±à¸™à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–เห็นเซิฟเวอร์ของคุณในลิสของเซิฟเวอร์ได้\n\nถ้าคุณต้องà¸à¸²à¸£à¹ƒà¸«à¹‰à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸­à¸·à¹ˆà¸™à¹†à¸ªà¸²à¸¡à¸²à¸£à¸–เชื่อมต่อได้จาà¸à¸—ุà¸à¸—ี่โดยใช้ IP, จำเป็นจะต้องใช้à¸à¸²à¸£ [accent]port forwarding[] \n\n[lightgray]Note: ถ้าผู้เล่นคนใดมีปัà¸à¸«à¸²à¹ƒà¸™à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ LAN ของคุณ เช็คให้à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸„ุณได้อนุà¸à¸²à¸•ให้ Mindustry เข้าถึง local network ของคุณในà¸à¸²à¸£à¸•ั้งค่า firewall. จำให้ว่า network สาธารณะบางครั้งไม่อนุà¸à¸²à¸•à¸à¸²à¸£à¸„้นหาเซิฟเวอร์ -join.info = คุณสามารถใส่ [accent]IP ของเซิฟเวอร์[] เพื่อที่จะเชื่อมต่อหรือค้นหา เซิฟเวอร์ที่ใช้[accent]local network[] จะสามารถเชื่อมโดยใช้\n LAN หรือ WAN à¸à¹‡à¹„ด้\n\n[lightgray]โน้ต: เà¸à¸¡à¸™à¸µà¹‰à¹„ม่มีระบบค้นหาเซิฟเวอร์ global ให้อัตโนมัติserver list; ถ้าคุณต้องà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อà¸à¸±à¸šà¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¹‚ดยใช้ IP, คุณจำเป็นต้องถาม IP ผู้เล่นที่โฮสต์เซิฟเวอร์นั้นๆ. -hostserver = โฮสต์เà¸à¸¡ Multiplayer +server.kicked.serverRestarting = เซิร์ฟเวอร์à¸à¸³à¸¥à¸±à¸‡à¹€à¸£à¸´à¹ˆà¸¡à¹ƒà¸«à¸¡à¹ˆ +server.versions = เวอร์ชั่นของคุณ:[accent] {0}[]\nเวอร์ชั่นของเซิร์ฟเวอร์:[accent] {1}[] +host.info = ปุ่ม[accent]โฮสต์[]นั้นโฮสต์เซิร์ฟเวอร์ที่พอร์ต [scarlet]6567[] \nทุà¸à¸„นที่อยู่ใน [lightgray]Wi-Fi หรือเครือข่ายท้องถิ่น[]เดียวà¸à¸±à¸™à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–เห็นเซิร์ฟเวอร์ของคุณในรายชื่อของ\nเซิร์ฟเวอร์ได้\n\nถ้าคุณต้องà¸à¸²à¸£à¹ƒà¸«à¹‰à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸­à¸·à¹ˆà¸™à¹† สามารถเชื่อมต่อได้จาà¸à¸—ุà¸à¸—ี่โดยใช้ IP คุณจำเป็นจะต้องใช้[accent]à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸•่อพอร์ต (Port Forwarding)[] \n\n[lightgray]โน๊ต: ถ้าผู้เล่นคนใดมีปัà¸à¸«à¸²à¹ƒà¸™à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ LAN ของคุณ เช็à¸à¹ƒà¸«à¹‰à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸„ุณได้อนุà¸à¸²à¸•ให้ Mindustry เข้าถึงเครือข่ายท้องถิ่นของคุณในà¸à¸²à¸£à¸•ั้งค่า Firewall จำไว้ว่าเครือข่ายสาธารณะบางครั้งอาจไม่อนุà¸à¸²à¸•à¸à¸²à¸£\nค้นหาเซิร์ฟเวอร์ +join.info = คุณสามารถใส่ [accent]IP ของเซิร์ฟเวอร์[]เพื่อที่จะเชื่อมต่อหรือค้นหาเซิร์ฟเวอร์ เซิร์ฟเวอร์ที่ใช้[accent]เครือข่ายท้องถิ่น[]จะสามารถเชื่อมโดยใช้\n LAN หรือ WAN à¸à¹‡à¹„ด้\n\n[lightgray]ถ้าคุณอยาà¸à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อà¸à¸±à¸šà¹ƒà¸„รบางคนโดยใช้ IP คุณต้องไปถามโฮสต์เอาว่า IP ของโฮสต์คืออะไร ซึ่งสามารถหาได้โดยà¸à¸²à¸£à¸„้นหาในà¸à¸¹à¹€à¸à¸´à¹‰à¸¥à¸§à¹ˆà¸² "ip ของฉัน" จาà¸à¹€à¸„รื่องของโฮสต์ +hostserver = โฮสต์เà¸à¸¡à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸«à¸¥à¸²à¸¢à¸„น invitefriends = ชวนเพื่อน hostserver.mobile = โฮสต์\nเà¸à¸¡ host = โฮสต์ -hosting = [accent]à¸à¸³à¸¥à¸±à¸‡à¹€à¸›à¸´à¸”เซิฟเวอร์... +hosting = [accent]à¸à¸³à¸¥à¸±à¸‡à¹€à¸›à¸´à¸”เซิร์ฟเวอร์... hosts.refresh = รีเฟรช -hosts.discovering = à¸à¸³à¸¥à¸±à¸‡à¸„้นหาเซิฟเวอร์ใน LAN -hosts.discovering.any = à¸à¸³à¸¥à¸±à¸‡à¸„้นหาเซิฟเวอร์ -server.refreshing = à¸à¸³à¸¥à¸±à¸‡à¸£à¸µà¹€à¸Ÿà¸£à¸Šà¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œ -hosts.none = [lightgray]ไม่พบเซิฟเวอร์ใน local! +hosts.discovering = à¸à¸³à¸¥à¸±à¸‡à¸„้นหาเซิร์ฟเวอร์ใน LAN +hosts.discovering.any = à¸à¸³à¸¥à¸±à¸‡à¸„้นหาเซิร์ฟเวอร์ +server.refreshing = à¸à¸³à¸¥à¸±à¸‡à¸£à¸µà¹€à¸Ÿà¸£à¸Šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ +hosts.none = [lightgray]ไม่พบเซิร์ฟเวอร์ท้องถิ่น! host.invalid = [scarlet]ไม่สามารถเชื่อมต่อà¸à¸±à¸šà¹‚ฮสต์ได้ -servers.local = เซิฟเวอร์ Local -servers.remote = เซิฟเวอร์ Remote -servers.global = เซิฟเวอร์ Community +servers.local = เซิร์ฟเวอร์ท้องถิ่น +servers.local.steam = เà¸à¸¡à¸ªà¸²à¸˜à¸²à¸£à¸“ะ & เซิร์ฟเวอร์ท้องถิ่น +servers.remote = เซิร์ฟเวอร์ทางไà¸à¸¥ +servers.global = เซิร์ฟเวอร์ของชุมชน -trace = Trace ผู้เล่น/ à¹à¸à¸°à¸£à¸­à¸¢à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™ +servers.disclaimer = ผู้พัฒนา[accent]ไม่ได้[]เป็นเจ้าของหรือควบคุมเซิร์ฟเวอร์ของชุมชน\n\nในเซิร์ฟเวอร์อาจมีเนื้อหาของผู้เล่นที่ไม่เหมาะà¸à¸±à¸šà¸—ุà¸à¹€à¸žà¸¨à¸—ุà¸à¸§à¸±à¸¢ +servers.showhidden = à¹à¸ªà¸”งเซิร์ฟเวอร์ที่ซ่อนไว้ +server.shown = à¹à¸ªà¸”ง +server.hidden = ซ่อน +viewplayer = ผู้เล่นที่ดูอยู่: [accent]{0} + +trace = à¹à¸à¸°à¸£à¸­à¸¢à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™ trace.playername = ชื่อผู้เล่น: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = ID พิเศษ: [accent]{0} -trace.mobile = Mobile Client : [accent]{0} -trace.modclient = Client à¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เอง: [accent]{0} -invalidid = client ID ไม่ถูà¸à¸•้อง! à¸à¸£à¸¸à¸“ารายงานบัคนี้ +trace.id = ID: [accent]{0} +trace.language = ภาษา: [accent]{0} +trace.mobile = ไคลเอนต์โทรศัพท์: [accent]{0} +trace.modclient = ไคลเอนต์ปรับà¹à¸•่ง: [accent]{0} +trace.times.joined = ครั้งที่เข้า: [accent]{0} +trace.times.kicked = ครั้งที่โดนเตะ: [accent]{0} +trace.ips = IPs: +trace.names = ชื่อ: +invalidid = ไคลเอนต์ ID ไม่ถูà¸à¸•้อง! à¸à¸£à¸¸à¸“ารายงานบัคนี้ +player.ban = à¹à¸šà¸™ +player.kick = เตะ +player.trace = à¹à¸à¸°à¸£à¸­à¸¢ +player.admin = ปรับสถานะà¹à¸­à¸”มิน +player.team = เปลี่ยนทีม server.bans = à¹à¸šà¸™ server.bans.none = ไม่พบผู้เล่นที่ถูà¸à¹à¸šà¸™! server.admins = à¹à¸­à¸”มิน server.admins.none = ไม่พบà¹à¸­à¸”มิน! -server.add = เพิ่มเซิฟเวอร์ -server.delete = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰? -server.edit = à¹à¸à¹‰à¹„ขเซิฟเวอร์ -server.outdated = [crimson]Server ล้าสมัย![] -server.outdated.client = [crimson]Client ล้าสมัย![] -server.version = [gray]เวอร์ชั่น{0} {1} -server.custombuild = [accent]Build +server.add = เพิ่มเซิร์ฟเวอร์ +server.delete = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸™à¸µà¹‰? +server.edit = à¹à¸à¹‰à¹„ขเซิร์ฟเวอร์ +server.outdated = [crimson]เซิร์ฟเวอร์ล้าสมัย![] +server.outdated.client = [crimson]ไคลเอนต์ล้าสมัย![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]เวอร์ชั่นปรับà¹à¸•่ง confirmban = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹à¸šà¸™à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸™à¸µà¹‰? confirmkick = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸•ะผู้เล่นนี้ออà¸? -confirmvotekick = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹‚หวตเตะผู้เล่นนี้ออà¸? confirmunban = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸¥à¸´à¸à¹à¸šà¸™à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸™à¸µà¹‰? -confirmadmin = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸„นนี้เป็นà¹à¸­à¸”มิน? -confirmunadmin = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¸ªà¸–านะà¸à¸²à¸£à¹€à¸›à¹‡à¸™à¹à¸­à¸”มินของผู้เล่นนี้ง? +confirmadmin = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹à¸•่งตั้งผู้เล่นคนนี้เป็นà¹à¸­à¸”มิน? +confirmunadmin = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¸ªà¸–านะà¸à¸²à¸£à¹€à¸›à¹‡à¸™à¹à¸­à¸”มินของผู้เล่นนี้? +votekick.reason = เหตุผลà¸à¸²à¸£à¹‚หวตเตะ +votekick.reason.message = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹‚หวตเตะ "{0}[white]"?\nถ้าใช่ โปรดระบุเหตุผล: joingame.title = เข้าร่วมเà¸à¸¡ joingame.ip = ที่อยู่: disconnect = ตัดà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อà¹à¸¥à¹‰à¸§ disconnect.error = à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อมีปัà¸à¸«à¸² disconnect.closed = à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อถูà¸à¸›à¸´à¸”à¹à¸¥à¹‰à¸§ -disconnect.timeout = Timed out. -disconnect.data = à¸à¸²à¸£à¹‚หลดข้อมูลของ world ผิดพลาด! -cantconnect = ไม่สามารถเข้าร่วมเซิฟเวอร์ ([accent]{0}[]). +disconnect.timeout = หมดเวลา +disconnect.data = à¸à¸²à¸£à¹‚หลดข้อมูลของโลà¸à¸œà¸´à¸”พลาด! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. +cantconnect = ไม่สามารถเข้าร่วมเซิร์ฟเวอร์ ([accent]{0}[]) connecting = [accent]à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ... -connecting.data = [accent]à¸à¸³à¸¥à¸±à¸‡à¹‚หลดข้อมูลของ world ... -server.port = Port: -server.addressinuse = มีคนใช้ Address นี้à¹à¸¥à¹‰à¸§! -server.invalidport = เลข port ไม่ถูà¸à¸•้อง! -server.error = [crimson]à¸à¸²à¸£à¹‚ฮตส์เซิฟเวอร์ผิดพลาด +reconnecting = [accent]à¸à¸³à¸¥à¸±à¸‡à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อใหม่... +connecting.data = [accent]à¸à¸³à¸¥à¸±à¸‡à¹‚หลดข้อมูลของโลภ... +server.port = พอร์ต: +server.invalidport = เลขพอร์ตไม่ถูà¸à¸•้อง! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! +server.error = [crimson]à¸à¸²à¸£à¹‚ฮสต์เซิร์ฟเวอร์ผิดพลาด save.new = เซฟใหม่ -save.overwrite = คุณà¹à¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸‹à¸Ÿà¸—ับ\nเซฟนี้? +save.overwrite = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸‹à¸Ÿà¸—ับ\nเซฟนี้? +save.nocampaign = ไม่สามารถนำเข้าไฟล์เซฟเดี่ยวๆ จาà¸à¹à¸„มเปà¸à¹„ด้ overwrite = เขียนทับ save.none = ไม่พบเซฟ! savefail = เซฟเà¸à¸¡à¸œà¸´à¸”พลาด! @@ -242,158 +320,236 @@ save.import = นำเข้าเซฟ save.newslot = ชื่อเซฟ: save.rename = เปลี่ยนชื่อ save.rename.text = ชื่อใหม่: -selectslot = เลือà¸à¹€à¸‹à¸Ÿ. -slot = [accent]Slot {0} +selectslot = เลือà¸à¹€à¸‹à¸Ÿ +slot = [accent]ช่องที่ {0} editmessage = à¹à¸à¹‰à¹„ขข้อความ save.corrupted = ไฟล์เซฟเสียหายหรือไม่ถูà¸à¸•้อง! empty = <ว่างเปล่า> on = เปิด off = ปิด +save.search = ค้นหาเซฟเà¸à¸¡... save.autosave = เซฟอัตโนมัติ: {0} save.map = à¹à¸¡à¸ž: {0} -save.wave = Wave {0} -save.mode = โหมดของเà¸à¸¡: {0} +save.wave = คลื่นที่ {0} +save.mode = เà¸à¸¡à¹‚หมด: {0} save.date = เซฟล่าสุด: {0} save.playtime = เวลาที่เล่นไป: {0} -warning = คำเตือน. +warning = คำเตือน confirm = ตà¸à¸¥à¸‡ delete = ลบ -view.workshop = เปิดใน Workshop -workshop.listing = à¹à¸à¹‰à¹„ข Workshop Listing +view.workshop = เปิดในเวิร์à¸à¸Šà¹‡à¸­à¸› +workshop.listing = à¹à¸à¹‰à¹„ขหน้ารายà¸à¸²à¸£à¹€à¸§à¸´à¸£à¹Œà¸à¸Šà¹‡à¸­à¸› ok = โอเค open = เปิด -customize = à¸à¸Žà¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เอง +customize = ตั้งค่าà¸à¸Ž cancel = ยà¸à¹€à¸¥à¸´à¸ +command = สั่งà¸à¸²à¸£ +command.queue = คิว +command.mine = ขุด +command.repair = ซ่อมà¹à¸‹à¸¡ +command.rebuild = สร้างใหม่ +command.assist = ช่วยเหลือผู้เล่น +command.move = ขยับ +command.boost = บูสต์ +command.enterPayload = เข้าบล็อà¸à¸šà¸£à¸£à¸—ุภ+command.loadUnits = โหลดยูนิต +command.loadBlocks = โหลดบล็อภ+command.unloadPayload = วางสิ่งบรรทุภ+command.loopPayload = วนซำ้à¸à¸²à¸£à¸‚นถ่ายยูนิต +stance.stop = ยà¸à¹€à¸¥à¸´à¸à¸„ำสั่ง +stance.shoot = ท่าที: ยิง +stance.holdfire = ท่าที: หยุดยิง +stance.pursuetarget = ท่าที: ไล่ตามเป้าหมาย +stance.patrol = ท่าที: ลาดตระเวน +stance.ram = ท่าที: พุ่งชน\n[lightgray]ขยับเป็นเส้นตรงโดยที่ไม่มีà¸à¸²à¸£à¸•รวจสอบเส้นทาง openlink = เปิดลิ้งค์ copylink = คัดลอà¸à¸¥à¸´à¹‰à¸‡à¸„์ back = à¸à¸¥à¸±à¸š +max = เต็ม +objective = เป้าหมายà¹à¸¡à¸ž +crash.export = ส่งออà¸à¸šà¸±à¸™à¸—ึà¸à¸‚้อขัดข้อง +crash.none = ไม่พบบันทึà¸à¸‚้อขัดข้อง +crash.exported = ส่งออà¸à¸šà¸±à¸™à¸—ึà¸à¸‚้อขัดข้องà¹à¸¥à¹‰à¸§ data.export = ส่งออà¸à¸‚้อมูล data.import = นำเข้าข้อมูล data.openfolder = เปิดโฟลเดอร์ข้อมูล -data.exported = ข้อมูลส่งออà¸à¹à¸¥à¹‰à¸§ -data.invalid = นี่ไม่ใช่ข้อมูลเà¸à¸¡à¸—ี่ถูà¸à¸•้อง. -data.import.confirm = à¸à¸²à¸£à¸™à¸³à¹€à¸‚้าข้อมูลจาà¸à¸ à¸²à¸¢à¸™à¸­à¸à¸ˆà¸°à¹€à¸‚ียนทับข้อมูลเà¸à¹ˆà¸²[scarlet]ทั้งหมด[]\n[accent]à¹à¸¥à¸°à¹„ม่สามารถย้อนà¸à¸¥à¸±à¸šà¹„ด้![]\n\nหลังจาà¸à¸—ี่นำข้อมูลà¹à¸¥à¹‰à¸§à¹€à¸à¸¡à¸ˆà¸°à¸›à¸´à¸”ลงโดยทันที +data.exported = ส่งออà¸à¸‚้อมูลà¹à¸¥à¹‰à¸§ +data.invalid = นี่ไม่ใช่ข้อมูลเà¸à¸¡à¸—ี่ถูà¸à¸•้อง +data.import.confirm = à¸à¸²à¸£à¸™à¸³à¹€à¸‚้าข้อมูลจาà¸à¸ à¸²à¸¢à¸™à¸­à¸à¸ˆà¸°à¹€à¸‚ียนทับข้อมูลเà¸à¹ˆà¸²[scarlet]ทั้งหมด[]\n[accent]à¹à¸¥à¸°à¸ˆà¸°à¹„ม่สามารถย้อนà¸à¸¥à¸±à¸šà¹„ด้![]\n\nหลังจาà¸à¸—ี่นำเข้าข้อมูลà¹à¸¥à¹‰à¸§à¹€à¸à¸¡à¸ˆà¸°à¸›à¸´à¸”ตัวลงโดยทันที quit.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸­à¸­à¸? -quit.confirm.tutorial = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸„ุณà¸à¸³à¸¥à¸±à¸‡à¸—ำอะไรอยู่?\nà¸à¸²à¸£à¸ªà¸­à¸™à¹€à¸¥à¹ˆà¸™à¸ªà¸²à¸¡à¸²à¸£à¸–เล่นได้อีà¸à¸„รั้งใน[accent] ตั้งค่า->เà¸à¸¡->เล่นà¸à¸²à¸£à¸ªà¸­à¸™à¹€à¸¥à¹ˆà¸™à¸­à¸µà¸à¸„รั้ง[] loading = [accent]à¸à¸³à¸¥à¸±à¸‡à¹‚หลด... -reloading = [accent]à¸à¸³à¸¥à¸±à¸‡à¸£à¸µà¹‚หลดมอด... +downloading = [accent]à¸à¸³à¸¥à¸±à¸‡à¸”าวน์โหลด... saving = [accent]à¸à¸³à¸¥à¸±à¸‡à¹€à¸‹à¸Ÿ... -respawn = [accent][[{0}]][]เพื่อเà¸à¸´à¸”ใหม่ที่ core -cancelbuilding = [accent][[{0}][]เพื่อเคลียà¹à¸œà¸™ -selectschematic = [accent][[{0}][]เพื่อเลือà¸à¹à¸¥à¸°à¸„ัดลอภ-pausebuilding = [accent][[{0}][]เพื่อหยุดà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸Šà¸±à¹ˆà¸§à¸„ราว -resumebuilding = [scarlet][[{0}][]เพื่อสร้างต่อ -wave = [accent]Wave {0} -wave.cap = [accent]Wave {0}/{1} -wave.waiting = [lightgray]Wave ในอีภ{0} -wave.waveInProgress = [lightgray]Wave à¸à¸³à¸¥à¸±à¸‡à¸”ำเนินà¸à¸²à¸£ +respawn = à¸à¸” [accent][[{0}][] เพื่อเà¸à¸´à¸”ใหม่ที่à¹à¸à¸™à¸à¸¥à¸²à¸‡ +cancelbuilding = à¸à¸” [accent][[{0}][] เพื่อเคลียร์à¹à¸œà¸™ +selectschematic = à¸à¸” [accent][[{0}][] เพื่อเลือà¸à¹à¸¥à¸°à¸„ัดลอภ+pausebuilding = à¸à¸” [accent][[{0}][] เพื่อหยุดà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸Šà¸±à¹ˆà¸§à¸„ราว +resumebuilding = à¸à¸” [scarlet][[{0}][] เพื่อสร้างต่อ +enablebuilding = à¸à¸” [scarlet][[{0}][] เพื่อเปิดใช้งานà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ +showui = หน้าต่างถูà¸à¸‹à¹ˆà¸­à¸™\nà¸à¸” [accent][[{0}][] เพื่อเปิดหน้าต่าง +commandmode.name = [accent]โหมดสั่งà¸à¸²à¸£ +commandmode.nounits = [ไม่มียูนิต] +wave = [accent]คลื่นที่ {0} +wave.cap = [accent]คลื่น {0}/{1} +wave.waiting = [lightgray]คลื่นต่อไปใน {0} +wave.waveInProgress = [lightgray]คลื่นà¸à¸³à¸¥à¸±à¸‡à¸”ำเนินà¸à¸²à¸£ waiting = [lightgray]à¸à¸³à¸¥à¸±à¸‡à¸£à¸­... waiting.players = รอผู้เล่น... -wave.enemies = ศัตรูคงเหลือ [lightgray]{0} -wave.enemy = ศัตรูคงเหลือ [lightgray]{0} -wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. -wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. +wave.enemies = ศัตรูคงเหลือ [lightgray]{0} [accent]ตัว +wave.enemycores = [accent]{0}[lightgray] à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸¨à¸±à¸•รู +wave.enemycore = [accent]{0}[lightgray] à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸¨à¸±à¸•รู +wave.enemy = ศัตรูคงเหลือ [lightgray]{0} [accent]ตัว +wave.guardianwarn = ผู้พิทัà¸à¸©à¹Œà¸ˆà¸°à¸›à¸£à¸²à¸à¸à¸•ัวในอีภ[accent]{0}[] คลื่น! +wave.guardianwarn.one = ผู้พิทัà¸à¸©à¹Œà¸ˆà¸°à¸›à¸£à¸²à¸à¸à¸•ัวในอีภ[accent]{0}[] คลื่น! เตรียมตัวให้พร้อม! loadimage = โหลดรูป saveimage = เซฟรูป unknown = ไม่ทราบ custom = à¸à¸³à¸«à¸™à¸”เอง -builtin = Built-In +builtin = ค่าเริ่มต้น map.delete.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¹à¸¡à¸žà¸™à¸µà¹‰? à¸à¸²à¸£à¸à¸£à¸°à¸—ำครั้งนี้ไม่สามารถย้อนà¸à¸¥à¸±à¸šà¹„ด้! map.random = [accent]สุ่มà¹à¸¡à¸ž -map.nospawn = à¹à¸¡à¸žà¸™à¸µà¹‰à¹„ม่มี core ที่จะให้ผู้เล่นเà¸à¸´à¸”! à¸à¸£à¸¸à¸“าใส่ core[accent] สีส้ม[] ใน editor -map.nospawn.pvp = à¹à¸¡à¸žà¸™à¸µà¹‰à¹„ม่มี core ของศัตรูสำหรับให้ผู้เล่นเà¸à¸´à¸”! à¸à¸£à¸¸à¸“าใส่ core[scarlet] ที่ไม่ใช่สีส้ม[] ใน editor -map.nospawn.attack = à¹à¸¡à¸žà¸™à¸µà¹‰à¹„ม่มี core ของศัตรูสำหรับให้ผู้เล่นโจมตี! à¸à¸£à¸¸à¸“าใส่ core[scarlet] สีà¹à¸”ง[] ใน editor +map.nospawn = à¹à¸¡à¸žà¸™à¸µà¹‰à¹„ม่มีà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹ƒà¸«à¹‰à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¹€à¸à¸´à¸”! à¸à¸£à¸¸à¸“าใส่à¹à¸à¸™à¸à¸¥à¸²à¸‡ {0} ลงในตัวà¹à¸à¹‰à¹„ข +map.nospawn.pvp = à¹à¸¡à¸žà¸™à¸µà¹‰à¹„ม่มีà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องศัตรูสำหรับให้ผู้เล่นเà¸à¸´à¸”! à¸à¸£à¸¸à¸“าใส่à¹à¸à¸™à¸à¸¥à¸²à¸‡[scarlet]ที่ไม่ใช่สีส้ม[] ลงในตัวà¹à¸à¹‰à¹„ข +map.nospawn.attack = à¹à¸¡à¸žà¸™à¸µà¹‰à¹„ม่มีà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องศัตรูสำหรับให้ผู้เล่นโจมตี! à¸à¸£à¸¸à¸“าใส่à¹à¸à¸™à¸à¸¥à¸²à¸‡ {0} ลงในตัวà¹à¸à¹‰à¹„ข map.invalid = โหลดà¹à¸¡à¸žà¸œà¸´à¸”พลาด: ไฟล์à¹à¸¡à¸žà¹€à¸ªà¸µà¸¢à¸«à¸²à¸¢à¸«à¸£à¸·à¸­à¹„ม่ถูà¸à¸•้อง workshop.update = อัปเดตไอเท็ม -workshop.error = ผิดพลาดในà¸à¸²à¸£à¸™à¸³ workshop มา รายละเอียดดังนี้: {0} -map.publish.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¹à¸¡à¸žà¸™à¸µà¹‰?\n\n[lightgray]คุณต้องà¹à¸™à¹ˆà¹ƒà¸ˆà¸à¹ˆà¸­à¸™à¸§à¹ˆà¸²à¸„ุณเห็นด้วยà¸à¸±à¸š Workshop EULA, มิฉนั้นà¹à¸¡à¸žà¸ˆà¸°à¹„ม่ปราà¸à¸! -workshop.menu = เล์อà¸à¸§à¹ˆà¸²à¸ˆà¸°à¸—ำอะไรà¸à¸±à¸šà¹„อเท็มนี้ +workshop.error = เà¸à¸´à¸”ข้อผิดพลาดในà¸à¸²à¸£à¸™à¸³à¹€à¸‚้าเวิร์à¸à¸Šà¹‡à¸­à¸› รายละเอียดดังนี้: {0} +map.publish.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¹à¸¡à¸žà¸™à¸µà¹‰?\n\n[lightgray]คุณต้องà¹à¸™à¹ˆà¹ƒà¸ˆà¸à¹ˆà¸­à¸™à¸§à¹ˆà¸²à¸„ุณเห็นด้วยà¸à¸±à¸š Workshop EULA มิฉะนั้นà¹à¸¡à¸žà¸‚องคุณจะไม่ปราà¸à¸! +workshop.menu = เลือà¸à¸§à¹ˆà¸²à¸ˆà¸°à¸—ำอะไรà¸à¸±à¸šà¹„อเท็มนี้ workshop.info = ข้อมูลไอเท็ม changelog = สิ่งที่เปลี่ยนไป (ไม่จำเป็น): +updatedesc = เขียนทับหัวข้อ & คำอธิบาย eula = Steam EULA -missing = ไอเท็มนี้ถูà¸à¸¥à¸šà¸«à¸£à¸·à¸­à¸¢à¹‰à¸²à¸¢\n[lightgray]ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อของ workshop listing à¹à¸¥à¹‰à¸§ +missing = ไอเท็มนี้ถูà¸à¸¥à¸šà¸«à¸£à¸·à¸­à¸¢à¹‰à¸²à¸¢\n[lightgray]ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อของหน้ารายà¸à¸²à¸£à¹€à¸§à¸´à¸£à¹Œà¸à¸Šà¹‡à¸­à¸›à¹à¸¥à¹‰à¸§ publishing = [accent]à¸à¸³à¸¥à¸±à¸‡à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆ... -publish.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¸ªà¸´à¹ˆà¸‡à¸™à¸µà¹‰?\n\n[lightgray]คุณต้องà¹à¸™à¹ˆà¹ƒà¸ˆà¸à¹ˆà¸­à¸™à¸§à¹ˆà¸²à¸„ุณเห็นด้วยà¸à¸±à¸š Workshop EULA, มิฉนั้นไอเท็มของคุณจะไม่ปราà¸à¸! -publish.error = à¸à¸²à¸£à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¹„อเท็มดังต่อไปนี้ผิดพลาด: {0} -steam.error = ไม่สามารถเริ่ม Steam service ได้\nError: {0} +publish.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¸ªà¸´à¹ˆà¸‡à¸™à¸µà¹‰?\n\n[lightgray]คุณต้องà¹à¸™à¹ˆà¹ƒà¸ˆà¸à¹ˆà¸­à¸™à¸§à¹ˆà¸²à¸„ุณเห็นด้วยà¸à¸±à¸š Workshop EULA มิฉะนั้นไอเท็มของคุณจะไม่ปราà¸à¸! +publish.error = เà¸à¸´à¸”ข้อผิดพลาดà¸à¸²à¸£à¹€à¸œà¸¢à¹à¸žà¸£à¹ˆà¹„อเท็มดังต่อไปนี้: {0} +steam.error = ไม่สามารถเริ่มà¸à¸²à¸£à¸šà¸£à¸´à¸à¸²à¸£ Steam ได้\nข้อผิดพลาด: {0} +editor.planet = ดาว: +editor.sector = เซ็à¸à¹€à¸•อร์: +editor.seed = ซีด: +editor.cliffs = เปลี่ยนà¸à¸³à¹à¸žà¸‡à¹€à¸›à¹‡à¸™à¸«à¸™à¹‰à¸²à¸œà¸² editor.brush = à¹à¸›à¸£à¸‡ -editor.openin = เปิดใน Editor +editor.openin = เปิดในตัวà¹à¸à¹‰à¹„ข editor.oregen = à¸à¸²à¸£à¹€à¸à¸´à¸”ของà¹à¸£à¹ˆ editor.oregen.info = à¸à¸²à¸£à¹€à¸à¸´à¸”ของà¹à¸£à¹ˆ: -editor.mapinfo = ข้อมูลของà¹à¸¡à¸ž +editor.mapinfo = ข้อมูลà¹à¸¡à¸ž editor.author = ผู้สร้าง: editor.description = คำอธิบาย: editor.nodescription = à¹à¸¡à¸žà¸ˆà¸³à¹€à¸›à¹‡à¸™à¸•้องมีคำอธิบายอย่างน้อย 4 ตัวอัà¸à¸©à¸£à¸ˆà¸¶à¸‡à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–เผยà¹à¸žà¸£à¹ˆà¹„ด้ -editor.waves = Waves: -editor.rules = à¸à¸Ž: -editor.generation = à¸à¸²à¸£à¹€à¸à¸´à¸”: +editor.waves = คลื่น +editor.rules = à¸à¸Ž +editor.generation = เจนเนอเรชั่น +editor.objectives = เป้าหมาย +editor.locales = ชุดภาษาท้องถิ่น +editor.worldprocessors = ตัวประมวลผลโลภ+editor.worldprocessors.editname = à¹à¸à¹‰à¹„ขชื่อ +editor.worldprocessors.none = [lightgray]ไม่พบตัวประมวลผลโลà¸à¹ƒà¸™à¹à¸¡à¸ž!\nสามารถไปเพิ่มในตัวà¹à¸à¹‰à¹„ขà¹à¸¡à¸ž หรือà¸à¸”ปุ่ม \ue813 เพิ่ม ด้านล่าง +editor.worldprocessors.nospace = ไม่มีพื้นที่ให้วางตัวประมวลผลโลà¸!\nนี่คุณวางสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ว้ทั่วà¹à¸¡à¸žà¹€à¸¥à¸¢à¸«à¸£à¸­? ทำไปทำไม? +editor.worldprocessors.delete.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¸•ัวประมวลผลโลà¸à¸™à¸µà¹‰?\n\nถ้าหาà¸à¸¡à¸±à¸™à¸–ูà¸à¸¥à¹‰à¸­à¸¡à¸”้วยà¸à¸³à¹à¸žà¸‡à¸˜à¸£à¸£à¸¡à¸Šà¸²à¸•ิ มันจะถูà¸à¹à¸—นที่ด้วยà¸à¸³à¹à¸žà¸‡à¸™à¸±à¹‰à¸™ editor.ingame = à¹à¸à¹‰à¹„ขในเà¸à¸¡ -editor.publish.workshop = เผยà¹à¸žà¸£à¹ˆà¸šà¸™ Workshop +editor.playtest = เล่นทดสอบ +editor.publish.workshop = เผยà¹à¸žà¸£à¹ˆà¸šà¸™à¹€à¸§à¸´à¸£à¹Œà¸à¸Šà¹‡à¸­à¸› editor.newmap = à¹à¸¡à¸žà¹ƒà¸«à¸¡à¹ˆ -editor.center = Center -workshop = Workshop -waves.title = Waves +editor.center = ศูนย์à¸à¸¥à¸²à¸‡à¹à¸¡à¸ž +editor.search = ค้นหาà¹à¸¡à¸ž... +editor.filters = ตัวà¸à¸£à¸­à¸‡à¹à¸¡à¸ž +editor.filters.mode = เà¸à¸¡à¹‚หมด: +editor.filters.type = ประเภทà¹à¸¡à¸ž: +editor.filters.search = ค้นหาจาà¸: +editor.filters.author = ผู้สร้าง +editor.filters.description = คำอธิบาย +editor.shiftx = เลื่อน X +editor.shifty = เลื่อน Y +workshop = เวิร์à¸à¸Šà¹‡à¸­à¸› +waves.title = คลื่น waves.remove = ลบ -waves.never = <ไม่เคย> waves.every = ทุà¸à¹† -waves.waves = wave(s) -waves.perspawn = ต่อสปาวน์ -waves.shields = เà¸à¸£à¸²à¸°/wave +waves.waves = คลื่น +waves.health = พลังชีวิต: {0}% +waves.perspawn = ต่อà¸à¸²à¸£à¹€à¸à¸´à¸” +waves.shields = เà¸à¸£à¸²à¸°/คลื่น waves.to = ถึง -waves.guardian = à¸à¸²à¸£à¹Œà¹€à¸”ียน +waves.spawn = จุดเà¸à¸´à¸”: +waves.spawn.all = <ทั้งหมด> +waves.spawn.select = เลือà¸à¸ˆà¸¸à¸”เà¸à¸´à¸” +waves.spawn.none = [scarlet]ไม่พบจุดเà¸à¸´à¸”ในà¹à¸¡à¸ž +waves.max = ยูนิตสูงสุด +waves.guardian = ผู้พิทัà¸à¸©à¹Œ waves.preview = พรีวิว waves.edit = à¹à¸à¹‰à¹„ข... +waves.random = สุ่ม waves.copy = คัดลอà¸à¹„ปยังคลิปบอร์ด waves.load = โหลดจาà¸à¸„ลิปบอร์ด -waves.invalid = waves ในคลิปบอร์ดไม่ถูà¸à¸•้อง -waves.copied = คัดลอภWaves à¹à¸¥à¹‰à¸§ -waves.none = ไม่ได้à¸à¸³à¸«à¸™à¸”ศัตรู\nwave layouts เปล่าจะถูà¸à¹à¸—นที่โดย layout ค่าเริ่มต้นของเà¸à¸¡ +waves.invalid = à¹à¸šà¸šà¸„ลื่นในคลิปบอร์ดไม่ถูà¸à¸•้อง +waves.copied = คัดลอà¸à¹à¸šà¸šà¸„ลื่นà¹à¸¥à¹‰à¸§ +waves.none = ไม่ได้à¸à¸³à¸«à¸™à¸”คลื่นศัตรู\nà¹à¸šà¸šà¸„ลื่นเปล่าจะถูà¸à¹à¸—นที่โดยà¹à¸šà¸šà¸„ลื่นค่าเริ่มต้นของเà¸à¸¡ +waves.sort = จัดเรียงตาม +waves.sort.reverse = เรียงย้อนà¸à¸¥à¸±à¸š +waves.sort.begin = เริ่มต้น +waves.sort.health = พลังชีวิต +waves.sort.type = ชนิด +waves.search = ค้นหาคลื่น... +waves.filter = ตัวà¸à¸£à¸­à¸‡à¸¢à¸¹à¸™à¸´à¸• +waves.units.hide = ซ่อนทั้งหมด +waves.units.show = à¹à¸ªà¸”งทั้งหมด +#these are intentionally in lower case wavemode.counts = จำนวน wavemode.totals = ทั้งหมด -wavemode.health = health +wavemode.health = พลังชีวิต +all = ทั้งหมด -editor.default = [lightgray]<ค่าเริ่่มต้น> -details = รสยละเอียด... +editor.default = [lightgray]<ค่าเริ่มต้น> +details = รายละเอียด... edit = à¹à¸à¹‰à¹„ข... +variables = ตัวà¹à¸›à¸£ +logic.clear.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸„ลียร์โค้ดทั้งหมดของตัวประมวลผลนี้? +logic.globals = ตัวà¹à¸›à¸£à¸„่าเริ่มต้น editor.name = ชื่อ: -editor.spawn = สปาวน์ยูนิต +editor.spawn = สร้างยูนิต editor.removeunit = ลบยูนิต editor.teams = ทีม editor.errorload = โหลดไฟล์ผิดพลาด editor.errorsave = เซฟไฟล์ผิดพลาด -editor.errorimage = ไฟล์นั้นคือไฟล์รูป ไม่ใช่à¹à¸¡à¸ž\n\nหาà¸à¸„ุณต้องà¸à¸²à¸£à¸™à¸³à¹€à¸‚้าไฟล์à¹à¸¡à¸žà¸ˆà¸²à¸à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™ 3.5/build 40 ใช้ปุ่ม 'นำเข้าà¹à¸¡à¸ž Legacy' ใน editor. -editor.errorlegacy = à¹à¸¡à¸žà¸™à¸µà¹‰à¹€à¸à¹ˆà¸²à¹€à¸à¸´à¸™à¹„ปà¹à¸¥à¸°à¹ƒà¸Šà¹‰à¸Ÿà¸­à¸£à¹Œà¹à¸¡à¹‡à¸•à¹à¸¡à¸ž legacy ที่ไม่สนับสนุนà¹à¸¥à¹‰à¸§ -editor.errornot = นี่ไม่ใช้ไฟล์à¹à¸¡à¸ž +editor.errorimage = ไฟล์นั้นคือไฟล์รูป ไม่ใช่à¹à¸¡à¸ž\n\nหาà¸à¸„ุณต้องà¸à¸²à¸£à¸™à¸³à¹€à¸‚้าไฟล์à¹à¸¡à¸žà¸ˆà¸²à¸à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™ 3.5/build 40 ใช้ปุ่ม 'นำเข้าà¹à¸¡à¸žà¸£à¸¹à¸›à¹à¸šà¸šà¹€à¸à¹ˆà¸²' ในตัวà¹à¸à¹‰à¹„ขà¹à¸¡à¸ž +editor.errorlegacy = à¹à¸¡à¸žà¸™à¸µà¹‰à¹€à¸à¹ˆà¸²à¹€à¸à¸´à¸™à¹„ปà¹à¸¥à¸°à¹ƒà¸Šà¹‰à¸£à¸¹à¸›à¹à¸šà¸šà¹à¸¡à¸žà¹à¸šà¸šà¹€à¸à¹ˆà¸²à¸—ี่ไม่สนับสนุนà¹à¸¥à¹‰à¸§ +editor.errornot = นี่ไม่ใช่ไฟล์à¹à¸¡à¸ž editor.errorheader = ไฟล์à¹à¸¡à¸žà¸™à¸µà¹‰à¹€à¸ªà¸µà¸¢à¸«à¸£à¸·à¸­à¹„ม่ถูà¸à¸•้อง -editor.errorname = à¹à¸¡à¸žà¹„ม่มีà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ชื่อ คุณà¸à¸³à¸¥à¸±à¸‡à¹‚หลดไฟล์เซฟอยู่หรือป่าว? +editor.errorname = à¹à¸¡à¸žà¹„ม่มีà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ชื่อ คุณà¸à¸³à¸¥à¸±à¸‡à¸žà¸¢à¸²à¸¢à¸²à¸¡à¹‚หลดไฟล์เซฟอยู่หรือไม่? +editor.errorlocales = เà¸à¸´à¸”ข้อผิดพลาดจาà¸à¸à¸²à¸£à¸­à¹ˆà¸²à¸™à¸Šà¸¸à¸”ภาษาที่ไม่ถูà¸à¸•้อง editor.update = อัปเดต editor.randomize = สุ่ม -editor.apply = ใช้ -editor.generate = à¸à¸²à¸£à¹€à¸à¸´à¸” +editor.moveup = ขยับขึ้น +editor.movedown = ขยับลง +editor.copy = คัดลอภ+editor.apply = ใช้งาน +editor.generate = เจนเนอเรท +editor.sectorgenerate = สร้างเซ็à¸à¹€à¸•อร์ editor.resize = เปลี่ยนขนาด editor.loadmap = โหลดà¹à¸¡à¸ž editor.savemap = เซฟà¹à¸¡à¸ž +editor.savechanges = [scarlet]คุณมีà¸à¸²à¸£à¹à¸à¹‰à¹„ขที่ยังไม่ได้เซฟ!\n\n[]คุณต้องà¸à¸²à¸£à¸—ี่จะเซฟมันหรือไม่? editor.saved = เซฟเรียบร้อย! editor.save.noname = à¹à¸¡à¸žà¸‚องคุณไม่มีชื่อ! สามารถตั้งชื่อได้ในเมนู 'ข้อมูลà¹à¸¡à¸ž' -editor.save.overwrite = à¹à¸¡à¸žà¸‚องคุณไปทับà¸à¸±à¸šà¹à¸¡à¸ž built-in! เปลี่ยนชื่อได้ในเมนู 'ข้อมูลà¹à¸¡à¸ž' -editor.import.exists = [scarlet]ไม่สามารถนำเข้าได้:[] มีà¹à¸¡à¸ž built-in map ชื่อ '{0}' อยู่à¹à¸¥à¹‰à¸§! -editor.import = à¸à¸³à¸¥à¸±à¸‡à¸™à¸³à¹€à¸‚้า... +editor.save.overwrite = à¹à¸¡à¸žà¸‚องคุณไปทับซ้อนà¸à¸±à¸šà¹à¸¡à¸žà¸„่าเริ่มต้น! เปลี่ยนชื่อได้ในเมนู 'ข้อมูลà¹à¸¡à¸ž' +editor.import.exists = [scarlet]ไม่สามารถนำเข้าได้:[] มีà¹à¸¡à¸žà¸„่าเริ่มต้นที่ชื่อ '{0}' อยู่à¹à¸¥à¹‰à¸§! +editor.import = นำเข้า... editor.importmap = นำเข้าà¹à¸¡à¸ž editor.importmap.description = นำเข้าà¹à¸¡à¸žà¸—ี่มีอยู่à¹à¸¥à¹‰à¸§ editor.importfile = นำเข้าไฟล์ editor.importfile.description = นำเข้าà¹à¸¡à¸žà¸ˆà¸²à¸à¹„ฟล์ภายนอภ-editor.importimage = นำเข้าà¹à¸¡à¸žà¹à¸šà¸š Legacy +editor.importimage = นำเข้าà¹à¸¡à¸žà¸£à¸¹à¸›à¹à¸šà¸šà¹€à¸à¹ˆà¸² editor.importimage.description = นำเข้าà¹à¸¡à¸žà¸ˆà¸²à¸à¹„ฟล์รูปภายนอภ-editor.export = à¸à¸³à¸¥à¸±à¸‡à¸ªà¹ˆà¸‡à¸­à¸­à¸... +editor.export = ส่งออà¸... editor.exportfile = ส่งออà¸à¹„ฟล์ editor.exportfile.description = ส่งออà¸à¹„ฟล์à¹à¸¡à¸ž -editor.exportimage = ส่งออà¸à¹„ฟล์รูป Terrain +editor.exportimage = ส่งออà¸à¹„ฟล์รูปพื้นที่ editor.exportimage.description = ส่งออà¸à¹„ฟล์รูปà¹à¸¡à¸ž -editor.loadimage = นำเข้า Terrain -editor.saveimage = ส่งออภTerrain -editor.unsaved = [scarlet]คุณมีà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸—ี่ยังไม่ได้เซฟ![]\nคุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸­à¸­à¸? +editor.loadimage = นำเข้าà¹à¸šà¸šà¸žà¸·à¹‰à¸™à¸—ี่ +editor.saveimage = ส่งออà¸à¹à¸šà¸šà¸žà¸·à¹‰à¸™à¸—ี่ +editor.unsaved = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸­à¸­à¸?\n[scarlet]à¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¸—ี่ยังไม่ได้เซฟจะถูà¸à¸—ิ้ง editor.resizemap = เปลี่ยนขนาดของà¹à¸¡à¸ž editor.mapname = ชื่อà¹à¸¡à¸ž: editor.overwrite = [accent]ตำเตือน!\nà¹à¸¡à¸žà¸™à¸µà¹‰à¸ˆà¸°à¹€à¸‚ียนทับà¸à¸±à¸šà¹à¸¡à¸žà¸—ี่มีอยู่à¹à¸¥à¹‰à¸§ @@ -402,30 +558,35 @@ editor.exists = มีà¹à¸¡à¸žà¸—ี่มีชื่อนี้อยู่ editor.selectmap = เลือà¸à¹à¸¡à¸žà¸—ี่จะโหลด: toolmode.replace = à¹à¸—นที่ -toolmode.replace.description = วาดเฉพาะบนบล็อคตัน +toolmode.replace.description = วาดเฉพาะบนบล็อà¸à¸•ัน toolmode.replaceall = à¹à¸—นที่ทั้งหมด -toolmode.replaceall.description = à¹à¸—นที่บล็อคทั้งหมดในà¹à¸¡à¸ž +toolmode.replaceall.description = à¹à¸—นที่บล็อà¸à¸—ั้งหมดในà¹à¸¡à¸ž toolmode.orthogonal = มุมฉาภ-toolmode.orthogonal.description = วาดเส้นมุมฉาà¸à¹€à¸—่านั้น. +toolmode.orthogonal.description = วาดเส้นมุมฉาà¸à¹€à¸—่านั้น toolmode.square = สี่เหลี่ยม toolmode.square.description = à¹à¸›à¸£à¸‡à¸£à¸¹à¸›à¸ªà¸µà¹ˆà¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡ toolmode.eraseores = ลบà¹à¸£à¹ˆ toolmode.eraseores.description = ลบเฉพาะà¹à¸£à¹ˆà¹€à¸—่านั้น toolmode.fillteams = เติมทีม -toolmode.fillteams.description = เติมทีมà¹à¸—นที่จะเป็นบล็อค +toolmode.fillteams.description = เติมทีมà¹à¸—นที่จะเป็นบล็อภ+toolmode.fillerase = เติมลบล้าง +toolmode.fillerase.description = ลบล้างบล็อà¸à¸Šà¸™à¸´à¸”เดียวà¸à¸±à¸™ toolmode.drawteams = วาดทีม -toolmode.drawteams.description = วาดทีมà¹à¸—นที่จะเป็นบล็อค +toolmode.drawteams.description = วาดทีมà¹à¸—นที่จะเป็นบล็อภ+toolmode.underliquid = ใต้พื้นของเหลว +toolmode.underliquid.description = วาดพื้นด้านใต้ช่องของเหลว + +filters.empty = [lightgray]ไม่มีฟิลเตอร์! เพิ่มฟิลเตอร์ด้วยปุ่มด้านล่างนี้ -filters.empty = [lightgray]ไม่มีฟิลเตอร์! เพิ่มด้วยปุ่มด้านล่างนี้ filter.distort = บิดเบือน filter.noise = นอยส์ -filter.enemyspawn = เบือà¸à¸—ี่เà¸à¸´à¸”ศัตรู -filter.spawnpath = Path To Spawn -filter.corespawn = เลือภCore +filter.enemyspawn = เลือà¸à¸ˆà¸¸à¸”เà¸à¸´à¸”ศัตรู +filter.spawnpath = ทางไปจุดเà¸à¸´à¸” +filter.corespawn = เลือà¸à¹à¸à¸™à¸à¸¥à¸²à¸‡ filter.median = เฉลี่ย filter.oremedian = เฉลี่ยà¹à¸£à¹ˆ filter.blend = ผสมผสาน -filter.defaultores = à¹à¸£à¹ˆà¸žà¸·à¹‰à¸™à¸à¸²à¸™ +filter.defaultores = à¹à¸£à¹ˆà¸„่าเริ่มต้น filter.ore = à¹à¸£à¹ˆ filter.rivernoise = นอยส์à¹à¸¡à¹ˆà¸™à¹‰à¸³ filter.mirror = สะท้อน @@ -433,25 +594,50 @@ filter.clear = เคลียร์ filter.option.ignore = เพิà¸à¹€à¸‰à¸¢ filter.scatter = à¸à¸£à¸°à¸ˆà¸²à¸¢ filter.terrain = พื้นผิว +filter.logic = ลอจิภ+ filter.option.scale = มาตราส่วน filter.option.chance = โอà¸à¸²à¸ª -filter.option.mag = à¹à¸¡à¹‡à¸„นิจูต -filter.option.threshold = Threshold -filter.option.circle-scale = สเà¸à¸¥à¸§à¸‡à¸à¸¥à¸¡ -filter.option.octaves = เลอะเลือน -filter.option.falloff = หลุด +filter.option.mag = à¹à¸¡à¸à¸™à¸´à¸ˆà¸¹à¸” +filter.option.threshold = เà¸à¸“ฑ์ +filter.option.circle-scale = อัตราวงà¸à¸¥à¸¡ +filter.option.octaves = อ็อà¸à¹€à¸—ฟ +filter.option.falloff = หลุดร่วง filter.option.angle = มุม +filter.option.tilt = เอียง +filter.option.rotate = หมุน filter.option.amount = จำนวน -filter.option.block = บล็อค +filter.option.block = บล็อภfilter.option.floor = พื้น -filter.option.flooronto = พื้น Target -filter.option.target = Target +filter.option.flooronto = พื้นเป้าหมาย +filter.option.target = เป้าหมาย +filter.option.replacement = à¹à¸—นที่ filter.option.wall = à¸à¸³à¹à¸žà¸‡ filter.option.ore = à¹à¸£à¹ˆ -filter.option.floor2 = พื้นชั้น 2 -filter.option.threshold2 = Threshold ชั้น 2 +filter.option.floor2 = พื้นชั้นสอง +filter.option.threshold2 = เà¸à¸“ฑ์ชั้นสอง filter.option.radius = รัศมี -filter.option.percentile = เปอร์เซ็น +filter.option.percentile = เปอร์เซ็นต์ไทล์ +filter.option.code = โค้ดคำสั่ง +filter.option.loop = วนลูป +#not translating all these yet: still unstable +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¸Šà¸¸à¸”ภาษาท้องถิ่นนี้? +locales.applytoall = เพิ่มà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡à¹„ปยังทุà¸à¸„่าภาษา +locales.addtoother = เพิ่มไปยังภาษาอื่น +locales.rollback = ย้อนà¸à¸¥à¸±à¸šà¹„ปเมื่อà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¸—ี่à¹à¸¥à¹‰à¸§ +locales.filter = ตัวà¸à¸£à¸­à¸‡à¸„่า +locales.searchname = ค้นหาชื่อ... +locales.searchvalue = ค้นหาค่า... +locales.searchlocale = ค้นหาภาษา... +locales.byname = ตามชื่อ +locales.byvalue = ตามค่า +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = ดูในทุà¸à¸„่าภาษา +locales.viewing = à¸à¸³à¸¥à¸±à¸‡à¸”ูค่า "{0}" +locales.addicon = เพิ่มไอคอน width = à¸à¸§à¹‰à¸²à¸‡: height = สูง: @@ -462,443 +648,806 @@ load = โหลด save = เซฟ fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = à¸à¸£à¸¸à¸“ารีสตาร์ทเพื่อที่จะให้เà¸à¸¡à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹€à¸›à¹‡à¸™à¸ à¸²à¸©à¸²à¸—ี่คุณเลือภsettings = ตั้งค่า tutorial = สอนเล่น tutorial.retake = เล่นà¸à¸²à¸£à¸ªà¸­à¸™à¹€à¸¥à¹ˆà¸™à¸­à¸µà¸à¸„รั้ง -editor = Editor -mapeditor = Editor ของà¹à¸¡à¸ž +editor = ตัวà¹à¸à¹‰à¹„ขà¹à¸¡à¸ž +mapeditor = à¹à¸à¹‰à¹„ขà¹à¸¡à¸ž -abandon = ทิ้ง -abandon.text = โซนนี้à¹à¸¥à¸°à¸—รัพยาà¸à¸£à¸—ั้งหมดจะà¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸‚องศัตรู -locked = ล็อค -complete = [lightgray]สำเร็จ: -requirement.wave = ถึง Wave ที่ {0} ใน {1} -requirement.core = ทำลาย Core ของศัตรูใน {0} -requirement.research = Research {0} -requirement.capture = Capture {0} -bestwave = [lightgray]Wave สูงสุด: {0} -launch.text = ส่ง -research.multiplayer = Only the host can research items. +abandon = ละทิ้ง +abandon.text = โซนนี้à¹à¸¥à¸°à¸—รัพยาà¸à¸£à¸—ั้งหมดจะถูà¸à¸¢à¸¶à¸”ไปเป็นของศัตรู +locked = ล็อภ+complete = [lightgray]ต้องมี: +requirement.wave = ถึงคลื่นที่ {0} ใน {1} +requirement.core = ทำลายà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องศัตรูใน {0} +requirement.research = วิจัย {0} +requirement.produce = ผลิต {0} +requirement.capture = ยึดครอง {0} +requirement.onplanet = ควบคุมเซ็à¸à¹€à¸•อร์บน {0} +requirement.onsector = ลงจอดบนเซ็à¸à¹€à¸•อร์: {0} +launch.text = ลุย! +map.multiplayer = โฮสต์เท่านั้นที่สามารถดูเซ็à¸à¹€à¸•อร์ได้ uncover = เปิดเผย -configure = ตั้งค่า Loadout -loadout = Loadout -resources = ทรัพยาà¸à¸£ -bannedblocks = บล็อคต้องห้าม +configure = ตั้งค่าทรัพยาà¸à¸£ +objective.research.name = วิจัย +objective.produce.name = เà¸à¹‡à¸šà¹€à¸à¸µà¹ˆà¸¢à¸§ +objective.item.name = เà¸à¹‡à¸šà¹„อเท็ม +objective.coreitem.name = ไอเท็มในà¹à¸à¸™à¸à¸¥à¸²à¸‡ +objective.buildcount.name = นับสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +objective.unitcount.name = จำนวนยูนิต +objective.destroyunits.name = ทำลายยูนิต +objective.timer.name = จับเวลา +objective.destroyblock.name = ทำลายบล็อภ+objective.destroyblocks.name = ทำลายหลายบล็อภ+objective.destroycore.name = ทำลายà¹à¸à¸™à¸à¸¥à¸²à¸‡ +objective.commandmode.name = โหมดสั่งà¸à¸²à¸£ +objective.flag.name = ธง +marker.shapetext.name = ข้อความในรูปทรง +marker.point.name = จุด +marker.shape.name = รูปทรง +marker.text.name = ข้อความ +marker.line.name = เส้นตรง +marker.quad.name = สี่เหลี่ยม +marker.texture.name = เทà¸à¹€à¸ˆà¸­à¸£à¹Œ +marker.background = พื้นหลัง +marker.outline = โครงร่าง +objective.research = [accent]วิจัย:\n[]{0}[lightgray]{1} +objective.produce = [accent]เà¸à¹‡à¸šà¹€à¸à¸µà¹ˆà¸¢à¸§:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]ทำลาย:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]ทำลาย: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]เà¸à¹‡à¸šà¹€à¸à¸µà¹ˆà¸¢à¸§: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]นำไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]สร้าง: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]ผลิตยูนิต: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]ทำลาย: [][lightgray]{0}[]x ยูนิต +objective.enemiesapproaching = [accent]ศัตรูจะปราà¸à¸à¸•ัวใน [lightgray]{0}[] +objective.enemyescelating = [accent]โรงงานศัตรูจะทวีความรุนà¹à¸£à¸‡à¸‚ึ้นใน [lightgray]{0}[] +objective.enemyairunits = [accent]à¸à¸²à¸£à¸œà¸¥à¸´à¸•ยานบินศัตรูจะเริ่มใน [lightgray]{0}[] +objective.destroycore = [accent]ทำลายà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸¨à¸±à¸•รู +objective.command = [accent]สั่งà¸à¸²à¸£à¸¢à¸¹à¸™à¸´à¸• +objective.nuclearlaunch = [accent]âš  ตรวจพบจรวดหัวรบปรมาณู: [lightgray]{0} +announce.nuclearstrike = [red]âš  !! ขีปนาวุธà¸à¸³à¸¥à¸±à¸‡à¸žà¸¸à¹ˆà¸‡à¹€à¸‚้ามา !! âš  + +loadout = ทรัพยาà¸à¸£à¹€à¸£à¸´à¹ˆà¸¡à¸•้น +resources = ทรัพยาà¸à¸£ +resources.max = เต็ม +bannedblocks = บล็อà¸à¸•้องห้าม +unbannedblocks = Unbanned Blocks +objectives = เป้าหมาย +bannedunits = ยูนิตต้องห้าม +unbannedunits = Unbanned Units +bannedunits.whitelist = ตั้งยูนิตต้องห้ามเป็นไวท์ลิสต์ +bannedblocks.whitelist = ตั้งบล็อà¸à¸•้องห้ามเป็นไวท์ลิสต์ addall = เพิ่มทั้งหมด -launch.destination = Destination: {0} -configure.invalid = จำนวนต้อยู่ระหว่าง 0 ถึง {0}. -zone.unlocked = [lightgray]{0} ปลดล็อคà¹à¸¥à¹‰à¸§ -zone.requirement.complete = ข้อเรียà¸à¸£à¹‰à¸­à¸‡à¸ªà¸³à¸«à¸£à¸±à¸š {0} สำเร็จà¹à¸¥à¹‰à¸§:[lightgray]\n{1} -zone.resources = [lightgray]ทรัพยาà¸à¸£à¸—ี่พบ: -zone.objective = [lightgray]เป้าหมาย: [accent]{0} -zone.objective.survival = เอาชีวิตรอด -zone.objective.attack = ทำลาย Core ของศัตรู +launch.from = ลงจอดจาà¸à¹€à¸‹à¹‡à¸à¹€à¸•อร์: [accent]{0} +launch.capacity = ความจุไอเท็มลงจอด: [accent]{0} +launch.destination = จุดหมายปลายทาง: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = จำนวนต้องอยู่ระหว่าง 0 ถึง {0} add = เพิ่ม... -boss.health = เลือดบอส +guardian = ผู้พิทัà¸à¸©à¹Œ connectfail = [crimson]à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อผิดพลาด:\n\n[accent]{0} -error.unreachable = เซิฟเวอร์ไม่สามารถเข้าถึงได้\nà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸—ี่อยู่เขียนถูà¸à¸•้อง? +error.unreachable = เซิร์ฟเวอร์ไม่สามารถเข้าถึงได้\nà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸—ี่อยู่เขียนถูà¸à¸•้อง? error.invalidaddress = ที่อยู่ไม่ถูà¸à¸•้อง -error.timedout = Timed out!\nเช็คให้à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸² port forwarding ของโฮสต์เปิดอยู่à¹à¸¥à¸°à¸—ี่อยู่นั้นถูà¸à¸•้อง! -error.mismatch = Packet error:\nอาจเà¸à¸´à¸”จาà¸à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¸‚อง client/server ไม่ตรงà¸à¸±à¸™\nเช็คให้à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¹ƒà¸Šà¹‰ Mindustry เวอร์ชั่นล่าสุด! +error.timedout = หมดเวลา!\nเช็à¸à¹ƒà¸«à¹‰à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸•่อพอร์ตของโฮสต์เปิดอยู่à¹à¸¥à¸°à¸—ี่อยู่นั้นถูà¸à¸•้อง! +error.mismatch = ข้อผิดพลาดของà¹à¸žà¹‡à¸„เà¸à¹‡à¸•:\nอาจเà¸à¸´à¸”จาà¸à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¸‚อง ไคลเอนต์/เซิร์ฟเวอร์ ไม่ตรงà¸à¸±à¸™\nเช็à¸à¹ƒà¸«à¹‰à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸„ุณà¹à¸¥à¸°à¹‚ฮสต์ใช้ Mindustry เวอร์ชั่นล่าสุด! error.alreadyconnected = เชื่อมต่ออยู่à¹à¸¥à¹‰à¸§ error.mapnotfound = ไม่พบไฟล์à¹à¸¡à¸ž -error.io = Network I/O error. -error.any = Unknown network error. -error.bloom = ไม่สามารถเริ่มต้น bloom ได้\nอุปà¸à¸£à¸“์ของคุณอาจไม่รองรับ +error.io = ข้อผิดพลาด I/O ของเครือข่าย +error.any = ข้อผิดพลาด: เครือข่ายที่ไม่รู้จัภ+error.bloom = ไม่สามารถเริ่มต้นบลูมได้\nอุปà¸à¸£à¸“์ของคุณอาจไม่รองรับ +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = à¸à¸™ -weather.snow.name = หิมะ +weather.snowing.name = หิมะตภweather.sandstorm.name = พายุทราย weather.sporestorm.name = พายุสปอร์ -weather.fog.name = Fog +weather.fog.name = หมอภ+campaign.playtime = \uf129 [lightgray]เวลาที่เล่นเซ็à¸à¹€à¸•อร์ไป: {0} +campaign.complete = [accent]ยินดีด้วย\n\nศัตรูบน {0} ได้ถูà¸à¸à¸³à¸ˆà¸±à¸”หมดสิ้นà¹à¸¥à¹‰à¸§\n[lightgray]เซ็à¸à¹€à¸•อร์สุดท้ายได้ถูà¸à¸¢à¸¶à¸”ครองà¹à¸¥à¹‰à¸§ + +sectorlist = เซ็à¸à¹€à¸•อร์ +sectorlist.attacked = {0} ถูà¸à¹‚จมตึ sectors.unexplored = [lightgray]ยังไม่ได้สำรวจ sectors.resources = ทรัพยาà¸à¸£: sectors.production = à¸à¸²à¸£à¸œà¸¥à¸´à¸•: -sectors.stored = เà¸à¹‡à¸š: -sectors.resume = ทำต่อ -sectors.launch = ส่ง +sectors.export = à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸­à¸­à¸: +sectors.import = à¸à¸²à¸£à¸™à¸³à¹€à¸‚้า: +sectors.time = เวลา: +sectors.threat = ภัยคุà¸à¸„าม: +sectors.wave = คลื่น: +sectors.stored = คลังไอเท็ม: +sectors.resume = ไปต่อ +sectors.launch = ลงจอด sectors.select = เลือภ-sectors.nonelaunch = [lightgray]none (sun) -sectors.rename = Rename Sector -sector.missingresources = [scarlet]Insufficient Core Resources +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]ไม่มี (ดวงอาทิตย์) +sectors.redirect = Redirect Launch Pads +sectors.rename = เปลี่ยนชื่อเซ็à¸à¹€à¸•อร์ +sectors.enemybase = [scarlet]à¸à¸²à¸™à¸—ัพศัตรู +sectors.vulnerable = [scarlet]เสี่ยงภัย +sectors.underattack = [scarlet]เซ็à¸à¹€à¸•อร์ถูà¸à¹‚จมตี! เสียหาย [accent]{0}% +sectors.underattack.nodamage = [scarlet]ยังไม่ถูà¸à¸¢à¸¶à¸”ครอง +sectors.survives = [accent]จะอยู่รอดได้ {0} คลื่น +sectors.go = ไป +sector.abandon = ทอดทิ้ง +sector.abandon.confirm = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องเซ็à¸à¹€à¸•อร์นี้จะทำลายตัวเอง\nดำเนินà¸à¸²à¸£à¸•่อหรือไม่? +sector.curcapture = ยึดครองà¹à¸¥à¹‰à¸§ +sector.curlost = เราเสียเซ็à¸à¹€à¸•อร์! +sector.missingresources = [scarlet]ขาดทรัพยาà¸à¸£à¹ƒà¸™à¸à¸²à¸£à¸¥à¸‡à¸ˆà¸­à¸” +sector.attacked = เซ็à¸à¹€à¸•อร์ [accent]{0}[white] ถูà¸à¹‚จมตี! +sector.lost = เราเสียเซ็à¸à¹€à¸•อร์ [accent]{0}[white]! +sector.capture = เรายึดครองเซ็à¸à¹€à¸•อร์ [accent]{0}[white] ได้à¹à¸¥à¹‰à¸§! +sector.capture.current = เรายึดครองเซ็à¸à¹€à¸•อร์นี้ได้à¹à¸¥à¹‰à¸§! +sector.changeicon = เปลี่ยนไอคอน +sector.noswitch.title = ไม่สามารถเปลี่ยนเซ็à¸à¹€à¸•อร์ได้ +sector.noswitch = คุณไม่สามารถเปลี่ยนเซ็à¸à¹€à¸•อร์ได้ระหว่างที่อีà¸à¹€à¸‹à¹‡à¸à¹€à¸•อร์à¸à¸³à¸¥à¸±à¸‡à¸–ูà¸à¹‚จมตีอยู่\n\nเซ็à¸à¹€à¸•อร์: [accent]{0}[] บนดาว [accent]{1}[] +sector.view = ดูเซ็à¸à¹€à¸•อร์ -planet.serpulo.name = Serpulo -planet.sun.name = Sun +threat.low = ต่ำ +threat.medium = à¸à¸¥à¸²à¸‡ +threat.high = สูง +threat.extreme = วิบัติภัย +threat.eradication = ทำลายล้าง +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication -sector.groundZero.name = Ground Zero -sector.craters.name = The Craters -sector.frozenForest.name = Frozen Forest -sector.ruinousShores.name = Ruinous Shores -sector.stainedMountains.name = Stained Mountains -sector.desolateRift.name = Desolate Rift -sector.nuclearComplex.name = Nuclear Production Complex -sector.overgrowth.name = Overgrowth -sector.tarFields.name = Tar Fields -sector.saltFlats.name = Salt Flats -sector.fungalPass.name = Fungal Pass +planets = ดาว -sector.groundZero.description = ที่ที่ดีที่สุดในà¸à¸²à¸£à¹€à¸£à¸´à¹ˆà¸¡à¸•้นอีà¸à¸„รั้ง. ศัตรูมีน้อย. ทรัพยาà¸à¸£à¸™à¹‰à¸­à¸¢à¸ƒ.\nเà¸à¹‡à¸šà¸•ะà¸à¸±à¹ˆà¸§à¹à¸¥à¸°à¸—องà¹à¸”งให้ได้มาà¸à¸—ี่สุด.\nà¹à¸¥à¹‰à¸§à¹„ปต่อ. -sector.frozenForest.description = à¹à¸¡à¹‰à¹à¸•่ที่นี่, ที่ที่อยู่ใà¸à¸¥à¹‰à¸ à¸¹à¹€à¸‚า, สปอร์à¸à¹‡à¸¢à¸±à¸‡à¹à¸žà¸£à¹ˆà¸¡à¸²à¸–ึงที่นี่. อาà¸à¸²à¸¨à¸—ี่เย็นเยือà¸à¹„ม่สามารถหยุดยั้งพวà¸à¸¡à¸±à¸™à¹„ด้ตลอดไป.\n\nเริ่มต้นà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹„ฟฟ้า. สร้างเครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้ถ่าน. เรียนรู้ที่จะใช้เครื่องซ่อมà¹à¸‹à¸¡. -sector.saltFlats.description = ณ ขอบของทะเลทราย เป็นที่ตั้งของ Salt Flats. สามารถพบทรัพยาà¸à¸£à¸šà¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¹„ด้ที่นี่.\n\nศัตรูได้ตั้งà¸à¸²à¸™à¹€à¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹„ว้ที่นี่. ทำลาย core ของพวà¸à¸¡à¸±à¸™. อย่าให้มีอะไรเหลือ. -sector.craters.description = น้ำขังอยู่ในหลุมอุà¸à¸à¸²à¸šà¸²à¸¨à¸™à¸µà¹‰, ที่นี้เป็นอนุสรณ์ของสองคราม. ยึดพื้นที่นี่มา. เà¸à¹‡à¸šà¸—ราย. เผาà¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้า. ปั๊มน้ำเพื่อมาหล่อเย็นป้อมปืนà¹à¸¥à¸°à¹à¸—่นขุดเจาะ. -sector.ruinousShores.description = ต่อจาà¸à¸‚องเสียต่างๆ, เป็นที่ตั้งของชายà¸à¸±à¹ˆà¸‡. ครั้งà¸à¹ˆà¸­à¸™, ที่นี่เคยเป็นที่ตั้งของà¸à¸²à¸™à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸Šà¸²à¸¢à¸à¸±à¹ˆà¸‡. ณ ตอนนี้à¹à¸—บจะไม่เหลือà¹à¸¥à¹‰à¸§. มีเหลือà¹à¸„่ระบบà¸à¸²à¸£à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸žà¸·à¹‰à¸™à¸à¸²à¸™, ทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸—ี่เหลือถูà¸à¸—ำลายเหลือเพียงà¹à¸„่เศษเหล็à¸.\nทำà¸à¸²à¸£à¸‚ยายà¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸ˆà¸•่อไป. ค้นพบà¸à¸±à¸šà¹€à¸—คโนโลยีอีà¸à¸„รั้ง. -sector.stainedMountains.description = เข้าลึà¸à¹„ปในพื้นที่ จะพบà¸à¸±à¸šà¸ à¸¹à¹€à¸‚า, ซึ่งยังไม่ถูà¸à¸ªà¸›à¸­à¸£à¹Œà¹à¸•ะต้อง.\nขุดไทเทเนียมที่อุดมสมบูรณ์ในพื้นที่นี้. เรียนรู้ที่จะใช้มัน.\n\nมีศัตรูมาà¸à¸‚ึ้นในบริเวณนี้. อย่าปล่อยให้พวà¸à¸¡à¸±à¸™à¸›à¸¥à¹ˆà¸­à¸¢à¸¢à¸¹à¸™à¸´à¸•ที่à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸—ี่สุดของพวà¸à¸¡à¸±à¸™à¸­à¸­à¸à¸¡à¸². -sector.overgrowth.description = พื้นที่นี้ถูà¸à¸›à¸à¸„ลุมไปด้วยพืช, ใà¸à¸¥à¹‰à¸à¸±à¸šà¹à¸«à¸¥à¹ˆà¸‡à¸à¸³à¹€à¸™à¸´à¸‚องสปอร์.\nศัตรูได้ตั้งà¸à¸²à¸™à¹€à¸à¹‰à¸²à¸£à¸°à¸§à¸±à¸‡à¹„ว้ที่นี่. สร้างยูนิตไททัน. ทำลายà¸à¸²à¸™à¸‹à¸°. à¹à¸¥à¹‰à¸§à¸™à¸³à¸ªà¸´à¹ˆà¸‡à¸—ี่ถูà¸à¸¢à¸¶à¸”ไปà¸à¸¥à¸±à¸šà¸„ืนมา. -sector.tarFields.description = ขอบของพื้นที่ผลิตน้ำมัน, อยู่ระหว่างภูเขาà¹à¸¥à¸°à¸—ะเลทราย. หนึ่งในพื้นที่ที่มีà¹à¸«à¸¥à¹ˆà¸‡à¸™à¹‰à¸³à¸¡à¸±à¸™à¸”ิบที่ใช้ได้.\nà¹à¸¡à¹‰à¸§à¹ˆà¸²à¸ˆà¸°à¸–ูà¸à¸—ิ้งร้าง, พื้นที่นี้ยังคงมีทัพของศัตรูอยู่ใà¸à¸¥à¹‰à¹†. อย่าประมาทà¸à¸±à¸šà¸žà¸§à¸à¸¡à¸±à¸™.\n\n[lightgray]วิจัยเทคโนโลยีà¸à¸²à¸£à¹à¸›à¸£à¸£à¸¹à¸›à¸™à¹‰à¸³à¸¡à¸±à¸™à¸«à¸²à¸à¹€à¸›à¹‡à¸™à¹„ปได้. -sector.desolateRift.description = เป็นพื้นที่ที่อันตรายมาà¸. ทรัพยาà¸à¸£à¸¡à¸²à¸à¸¡à¸²à¸¢, à¹à¸•่พื้นที่น้อย. ความเสี่ยงà¸à¸²à¸£à¹‚ดนทำลายล้างสูง. ออà¸à¹„ปจาà¸à¸—ี่นี่ให้ไวที่สุด. อย่าถูà¸à¸«à¸¥à¸­à¸à¹‚ดนระยะเวลาระหว่างà¸à¸²à¸£à¹‚จมตีของศัตรูที่เว้นไว้นานà¸à¸§à¹ˆà¸²à¸›à¸à¸•ิ. -sector.nuclearComplex.description = สถานที่ผลิตà¹à¸¥à¸°à¹à¸›à¸£à¸£à¸¹à¸›à¸—อเรี่ยมเà¸à¹ˆà¸², ถูà¸à¸—ำลายà¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸‹à¸²à¸.\n[lightgray]วิจัยทอเรี่ยมà¹à¸¥à¸°à¸§à¸´à¸˜à¸µà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸¡à¸±à¸™.\n\nศัตรูในบริเวณนี้มีจำนวนมาà¸, ตรวจตราหาผู้บุà¸à¸£à¸¸à¸à¸­à¸¢à¸¹à¹ˆà¸•ลอดเวลา. -sector.fungalPass.description = พื้นที่ระหว่างพื้นที่สูงà¹à¸¥à¸°à¸•่ำของภูเขา, พื้นที่นี้เต็มไปด้วยสปอร์. à¸à¸²à¸™à¸¥à¸²à¸”ตระเวนขนาดเล็à¸à¸‚องศัตรูตั้งอยู่ที่นี่.\nทำลายมันซะ.\nใช้ยูนิตเด็à¸à¹€à¸à¸­à¸£à¹Œà¹à¸¥à¸°à¸„รอว์เลอร์. ทำลาย core ทั้งสองซะ. +planet.serpulo.name = เซอร์ปูโล่ +planet.erekir.name = เอเรเà¸à¸µà¸¢à¸£à¹Œ +planet.sun.name = อาทิตย์ + +sector.impact0078.name = อิมà¹à¸žà¸„ 0078 +sector.groundZero.name = à¸à¸£à¸²à¸§à¸™à¹Œ ซีโร่ +sector.craters.name = บ่ออุà¸à¸à¸²à¸šà¸²à¸• +sector.frozenForest.name = ป่าหนาวเหน็บ +sector.ruinousShores.name = ชายà¸à¸±à¹ˆà¸‡à¸žà¸±à¸‡à¸—ลาย +sector.stainedMountains.name = ภูเขาหลาà¸à¸ªà¸µ +sector.desolateRift.name = รอยà¹à¸¢à¸à¸­à¸±à¸™à¸£à¸à¸£à¹‰à¸²à¸‡ +sector.nuclearComplex.name = à¸à¸²à¸™à¸œà¸¥à¸´à¸•นิวเคลียร์ +sector.overgrowth.name = โอเวอร์โà¸à¸£à¸§à¹Œà¸” +sector.tarFields.name = ราบลุ่มน้ำมัน +sector.saltFlats.name = ที่ราบเà¸à¸¥à¸·à¸­ +sector.fungalPass.name = ทางผ่านฟังà¸à¸±à¸¥ +sector.biomassFacility.name = สถานสังเคราะห์ชีวมวล +sector.windsweptIslands.name = หมู่เà¸à¸²à¸°à¸žà¸«à¸¸à¸§à¸²à¸¢à¸¸ +sector.extractionOutpost.name = ด่านส่งทรัพยาà¸à¸£ +sector.facility32m.name = à¸à¸²à¸™à¸œà¸¥à¸´à¸• 32 M +sector.taintedWoods.name = ป่ามลทิน +sector.infestedCanyons.name = หุบเขาอันมัวหมอง +sector.planetaryTerminal.name = ท่าปล่อยจรวดอวà¸à¸²à¸¨à¸¢à¸²à¸™ +sector.coastline.name = à¹à¸™à¸§à¸Šà¸²à¸¢à¸à¸±à¹ˆà¸‡ +sector.navalFortress.name = ปราà¸à¸²à¸£à¹à¸«à¹ˆà¸‡à¸§à¸²à¸£à¸µ +sector.polarAerodrome.name = à¸à¸²à¸™à¸šà¸´à¸™à¸‚ั้วโลภ+sector.atolls.name = อะทอลส์ +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier + +sector.groundZero.description = จุดที่ดีที่สุดในà¸à¸²à¸£à¸•ั้งต้นใหม่อีà¸à¸„รั้งนึง ศัตรูน้อย ทรัพยาà¸à¸£à¸™à¹‰à¸­à¸¢\nเà¸à¹‡à¸š[accent]ตะà¸à¸±à¹ˆà¸§[]à¹à¸¥à¸°[accent]ทองà¹à¸”ง[]ให้ได้มาà¸à¸—ี่สุด\nà¹à¸¥à¹‰à¸§à¸¥à¸¸à¸¢à¸•่อ +sector.frozenForest.description = à¹à¸¡à¹‰à¹à¸•่ที่นี่ ณ ที่ที่อยู่ใà¸à¸¥à¹‰à¸à¸±à¸šà¸ à¸¹à¹€à¸‚า [accent]สปอร์[]à¸à¹‡à¸¢à¸±à¸‡à¹à¸žà¸£à¹ˆà¸¡à¸²à¸–ึงที่นี่ได้ อาà¸à¸²à¸¨à¸­à¸±à¸™à¹à¸ªà¸™à¹€à¸¢à¹‡à¸™à¹€à¸¢à¸·à¸­à¸à¹„ม่สามารถหยุดยั้งพวà¸à¸¡à¸±à¸™à¹„ด้ตลอดไป\n\nเริ่มต้นà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹„ฟฟ้า สร้างเครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้ เรียนรู้ที่จะใช้เครื่องซ่อมà¹à¸‹à¸¡ +sector.saltFlats.description = ณ ชายขอบของทะเลทราย เป็นที่ตั้งของที่ราบเà¸à¸¥à¸·à¸­ สามารถพบทรัพยาà¸à¸£à¸šà¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¹„ด้ที่นี่\n\nศัตรูได้ตั้งà¸à¸²à¸™à¹€à¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹„ว้ จงทำลายà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องพวà¸à¸¡à¸±à¸™ อย่าให้มีอะไรเหลือ +sector.craters.description = น้ำได้สะสมรวมตัวà¸à¸±à¸™à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸«à¸¥à¸¸à¸¡à¸­à¸¸à¸à¸à¸²à¸šà¸²à¸¨à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰ ซึ่งเป็นมรดà¸à¸‚องสงครามอันเà¸à¹ˆà¸²à¹à¸à¹ˆ ยึดครองพื้นที่นี่มา ขุดทราย à¹à¸¥à¸°à¹€à¸œà¸²[accent]à¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้า[] ปั๊มน้ำขึ้นมาเพื่อมาหล่อเย็นป้อมปืนà¹à¸¥à¸°à¹€à¸„รื่องขุดเจาะ +sector.ruinousShores.description = ถัดมาจาà¸à¸—ะเลทราย เป็นที่ตั้งของชายà¸à¸±à¹ˆà¸‡ ที่ครั้งà¸à¹ˆà¸­à¸™à¹€à¸„ยเป็นที่ตั้งของà¸à¸²à¸™à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¹à¸™à¸§à¸Šà¸²à¸¢à¸à¸±à¹ˆà¸‡ ซึ่งทุà¸à¸žà¸±à¸‡à¸—ลายไปซะส่วนใหà¸à¹ˆà¹à¸¥à¹‰à¸§ มีเหลือà¹à¸„่ระบบà¸à¸²à¸£à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸žà¸·à¹‰à¸™à¸à¸²à¸™ ทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸—ี่เหลือถูà¸à¸—ำลายเหลือเพียงà¹à¸„่ซาà¸à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸\n\nทำà¸à¸²à¸£à¸‚ยายà¸à¸²à¸£à¸ªà¸³à¸£à¸§à¸ˆà¸•่อไป ค้นพบà¸à¸±à¸šà¹€à¸—คโนโลยีอีà¸à¸„รั้ง +sector.stainedMountains.description = เข้าลึà¸à¹„ปในพื้นที่ จะพบà¸à¸±à¸šà¸ à¸¹à¹€à¸‚า ซึ่งยังไม่ถูà¸à¸ªà¸›à¸­à¸£à¹Œà¹à¸•ะต้อง\nขุด[accent]ไทเทเนี่ยม[]ที่อุดมสมบูรณ์ในพื้นที่นี้ เรียนรู้ที่จะใช้มัน\n\nมีศัตรูปราà¸à¸à¸•ัวมาà¸à¸‚ึ้นในบริเวณนี้ อย่าปล่อยให้พวà¸à¸¡à¸±à¸™à¸ªà¹ˆà¸‡à¸¢à¸¹à¸™à¸´à¸•ที่à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸—ี่สุดออà¸à¸¡à¸² +sector.overgrowth.description = พื้นที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰à¸–ูà¸à¸›à¸à¸„ลุมไปด้วยพืชรà¸à¸£à¹‰à¸²à¸‡ เริ่มเข้าใà¸à¸¥à¹‰à¸à¸±à¸šà¹à¸«à¸¥à¹ˆà¸‡à¸•้นà¸à¸³à¹€à¸™à¸´à¸”ของสปอร์มาà¸à¸‚ึ้น\nศัตรูได้ตั้งà¸à¸²à¸™à¹€à¸à¹‰à¸²à¸£à¸°à¸§à¸±à¸‡à¹„ว้ที่นี่ สร้างยูนิตเมส ทำลายà¸à¸²à¸™à¸—ิ้งซะ\nวิจัย[accent]เครื่องพัฒนารุ่นยà¸à¸à¸³à¸¥à¸±à¸‡[]เพื่อผลิตยูนิตขนาดที่ใหà¸à¹ˆà¸‚ึ้น +sector.tarFields.description = ณ à¹à¸™à¸§à¸Šà¸²à¸¢à¸‚อบของà¹à¸«à¸¥à¹ˆà¸‡à¸œà¸¥à¸´à¸•น้ำมัน ระหว่างภูเขาà¸à¸±à¸šà¸—ะเลทราย เป็นหนึ่งในพื้นที่ที่มีà¹à¸«à¸¥à¹ˆà¸‡à¸™à¹‰à¸³à¸¡à¸±à¸™à¸”ินที่ใช้งานได้\nà¹à¸¡à¹‰à¸§à¹ˆà¸²à¸ˆà¸°à¸–ูà¸à¸—ิ้งร้าง à¹à¸•่พื้นที่นี้ยังคงมีà¸à¸²à¸™à¸—ัพของศัตรูอยู่ใà¸à¸¥à¹‰à¹† อย่าประมาทà¸à¸±à¸šà¸žà¸§à¸à¸¡à¸±à¸™\n\n[lightgray]วิจัยเทคโนโลยีà¸à¸²à¸£à¹à¸›à¸£à¸£à¸¹à¸›à¸™à¹‰à¸³à¸¡à¸±à¸™à¸«à¸²à¸à¹€à¸›à¹‡à¸™à¹„ปได้ +sector.desolateRift.description = เป็นพื้นที่ที่อันตรายมาภทรัพยาà¸à¸£à¸¡à¸²à¸à¸¡à¸²à¸¢ à¹à¸•่พื้นที่คับà¹à¸„บ ความเสี่ยงในà¸à¸²à¸£à¹‚ดนทำลายล้างสูง รีบสร้างà¸à¸²à¸™à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¹ƒà¸«à¹‰à¹€à¸£à¹‡à¸§à¸—ี่สุด อย่าหลงà¸à¸¥à¸£à¸°à¸¢à¸°à¹€à¸§à¸¥à¸²à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸à¸²à¸£à¹‚จมตีของศัตรูที่เว้นไว้นานà¸à¸§à¹ˆà¸²à¸›à¸à¸•ิ +sector.nuclearComplex.description = สถานที่ผลิตà¹à¸¥à¸°à¹à¸›à¸£à¸£à¸¹à¸›[accent]ทอเรี่ยม[]เà¸à¹ˆà¸² ถูà¸à¸—ำลายไม่เหลือสิ้น\nวิจัยทอเรี่ยมà¹à¸¥à¸°à¸§à¸´à¸˜à¸µà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸¡à¸±à¸™\n\nศัตรูในบริเวณนี้มีจำนวนมาภคอยตรวจตราหาผู้บุà¸à¸£à¸¸à¸à¸­à¸¢à¸¹à¹ˆà¸•ลอดเวลา +sector.fungalPass.description = ทางเปลี่ยนผ่านระหว่างพื้นที่เขาสูงà¸à¸±à¸šà¸—ี่ราบต่ำที่เต็มไปด้วยสปอร์ มีà¸à¸²à¸™à¸¥à¸²à¸”ตระเวนขนาดเล็à¸à¸‚องศัตรูตั้งอยู่ที่นี่\nทำลายมันซะ\nผลิตยูนิตà¹à¸”็à¸à¹€à¸à¸­à¸£à¹Œà¹à¸¥à¸°à¸„รอว์เลอร์ ทำลายà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องศัตรูไม่ให้เหลือซาภ+sector.biomassFacility.description = à¹à¸«à¸¥à¹ˆà¸‡à¸•้นà¸à¸³à¹€à¸™à¸´à¸”ของสปอร์ ที่นี่คือà¸à¸²à¸™à¸§à¸´à¸ˆà¸±à¸¢à¹à¸¥à¸°à¸œà¸¥à¸´à¸•สปอร์เริ่มà¹à¸£à¸\nวิจัยเทคโนโลยีที่อยู่ภายในนั้น เพาะชำ[accent]สปอร์[]เพื่อนำเป็นเชื้อเพลิงà¹à¸¥à¸°à¹ƒà¸Šà¹‰à¹ƒà¸™à¸à¸²à¸£à¸œà¸¥à¸´à¸•พลาสติà¸\n\n[gray]เมื่อสถานà¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰à¸–ึงจุดจบลง สปอร์à¸à¹‡à¸–ูà¸à¸›à¸¥à¹ˆà¸­à¸¢à¸­à¸­à¸à¸¡à¸² ไม่มีสิ่งใดในระบบนิเวศท้องถิ่นที่สามารถà¹à¸‚่งขันà¸à¸±à¸š\nสิ่งมีชีวิตที่à¹à¸žà¸£à¹ˆà¸à¸£à¸°à¸ˆà¸²à¸¢à¹ƒà¸™à¸£à¸°à¸”ับนี้ได้ +sector.windsweptIslands.description = เลยà¹à¸™à¸§à¸Šà¸²à¸¢à¸à¸±à¹ˆà¸‡à¹„ป จะพบà¸à¸±à¸šà¸«à¸¡à¸¹à¹ˆà¹€à¸à¸²à¸°à¸—ี่ตั้งอยู่ห่างไà¸à¸¥à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰ เคยมีบันทึà¸à¸§à¹ˆà¸²à¸—ี่นี่มีโรงงานผลิต[accent]พลาสตาเนี่ยม[]อยู่\n\nทำลายเรือศัตรู สร้างà¸à¸²à¸™à¸—ัพบนเà¸à¸²à¸° วิจัยโรงงานพวà¸à¸™à¸µà¹‰ +sector.extractionOutpost.description = ด่านที่อยู่ห่างไà¸à¸¥ สร้างโดยศัตรูเพื่อใช้ในà¸à¸²à¸£à¸‚นส่งทรัพยาà¸à¸£à¹„ปยังà¸à¸²à¸™à¸—ัพอื่น\n\nเทคโนโลยีà¸à¸²à¸£à¸ªà¹ˆà¸‡à¹„อเท็มข้ามเซ็à¸à¹€à¸•อร์เป็นสิ่งที่จำเป็นสำหรับà¸à¸²à¸£à¸žà¸´à¸Šà¸´à¸•ครั้งถัดๆ ไป บุà¸à¸—ำลายด่าน วิจัยà¸à¸²à¸™à¸ªà¹ˆà¸‡à¸‚อง +sector.impact0078.description = ณ ที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰à¸„ือเศษซาà¸à¸‚องยานขนส่งระหว่างดวงดาวที่เคยเข้ามายังระบบนี้\nเศษซาà¸à¹€à¸«à¸¥à¹‡à¸à¹à¸¥à¸°à¸«à¸´à¸¡à¸°à¸›à¸à¸„ลุมไปทั่วทั้งพื้นที่\n\nà¸à¸­à¸šà¸à¸¹à¹‰à¸‹à¸²à¸à¸¢à¸²à¸™à¹ƒà¸«à¹‰à¹„ด้มาà¸à¸—ี่สุด วิจัยเทคโนโลยีทั้งหมดที่ยังเหลือรอด\n\n\n[gray]อย่าประมาทà¸à¸±à¸šà¸à¸²à¸™à¸—ัพศัตรูที่อยู่ใà¸à¸¥à¹‰à¹† โดยอันขาด\nศัตรูจะส่งà¸à¸­à¸‡à¸à¸³à¸¥à¸±à¸‡à¸¡à¸²à¹‚จมตีเรื่อยๆ จนà¸à¸§à¹ˆà¸²à¸„ุณจะพ่ายà¹à¸žà¹‰ +sector.planetaryTerminal.description = เป้าหมายสุดท้าย\n\nà¸à¸²à¸™à¸—ัพติดชายหาดนี้มีสิ่งปลูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่สามารถส่งà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ปยังดาวที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียงได้ ซึ่งมันมีà¸à¸²à¸£à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸—ี่à¹à¸™à¹ˆà¸™à¸«à¸™à¸²à¸¡à¸²à¸\n\nผลิตยูนิตเรือ à¸à¸§à¸²à¸”ล้างศัตรูให้เร็วที่สุด วิจัยสิ่งประดิษà¸à¹Œà¸™à¸±à¹ˆà¸™ +sector.coastline.description = ถัดมาจาà¸à¸—ี่ราบเà¸à¸¥à¸·à¸­ เป็นที่ตั้งของà¹à¸™à¸§à¸Šà¸²à¸¢à¸à¸±à¹ˆà¸‡ พบเศษซาà¸à¸‚องเทคโนโลยียูนิตเรือที่ล้ำหน้าอยู่ในพื้นที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰\nขับไล่ศัตรูออà¸à¹„ป ยึดพื้นที่นี้มา วิจัยเทคโนโลยีนั้น +sector.navalFortress.description = ศัตรูได้ตั้งà¸à¸²à¸™à¸—ัพอยู่บนเà¸à¸²à¸°à¸«à¹ˆà¸²à¸‡à¹„à¸à¸¥à¸—ี่มีà¸à¸³à¹à¸žà¸‡à¸˜à¸£à¸£à¸¡à¸Šà¸²à¸•ิปà¸à¸›à¹‰à¸­à¸‡à¸à¸²à¸™à¹€à¸­à¸²à¹„ว้ ทำลายà¸à¸²à¸™à¸—ัพ ยึดà¹à¸¥à¸°à¸§à¸´à¸ˆà¸±à¸¢à¹€à¸—คโนโลยีเรือรบที่ล้ำหน้านั้นมา +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = à¸à¸²à¸£à¹€à¸£à¸´à¹ˆà¸¡à¸•้น +sector.aegis.name = อีจีส +sector.lake.name = ทะเลสาบสีชาด +sector.intersect.name = อินเตอร์เซค +sector.atlas.name = à¹à¸­à¸•ลาส +sector.split.name = สองà¸à¸±à¹ˆà¸‡ +sector.basin.name = à¹à¸­à¹ˆà¸‡à¸¢à¸¸à¸š +sector.marsh.name = บึงหนอง +sector.peaks.name = ยอดเขา +sector.ravine.name = หุบเหว +sector.caldera-erekir.name = à¹à¸­à¹ˆà¸‡à¸ à¸¹à¹€à¸‚าไฟ +sector.stronghold.name = ป้อมปราà¸à¸²à¸£ +sector.crevice.name = ร่องลึภ+sector.siege.name = à¸à¸²à¸£à¸£à¸¸à¸¡à¸¥à¹‰à¸­à¸¡ +sector.crossroads.name = ทางเชื่อม +sector.karst.name = คาสต์ +sector.origin.name = ต้นà¸à¸³à¹€à¸™à¸´à¸” + +sector.onset.description = ตั้งต้นà¸à¸²à¸£à¸šà¸¸à¸à¹‚จมตีเพื่อพิชิตดาว[accent]เอเรเà¸à¸µà¸¢à¸£à¹Œ[] เà¸à¹‡à¸šà¸—รัพยาà¸à¸£ สร้างยูนิต à¹à¸¥à¸°à¹€à¸£à¸´à¹ˆà¸¡à¸„้นคว้าวิจัยเทคโนโลยี +sector.aegis.description = พบà¸à¸²à¸£à¸ªà¸°à¸ªà¸¡à¸‚องà¹à¸«à¸¥à¹ˆà¸‡à¹à¸£à¹ˆà¸—ังสเตนในพื้นที่นี้\nวิจัย[accent]เครื่องขุดà¹à¸£à¸‡à¸à¸£à¸°à¹à¸—à¸[]เพื่อขุดทรัพยาà¸à¸£à¸™à¸µà¹‰ à¹à¸¥à¸°à¸—ำลายà¸à¸²à¸™à¸—ัพศัตรูที่อยู่ในพื้นที่ +sector.lake.description = ทะเลสาบà¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¹ƒà¸™à¸žà¸·à¹‰à¸™à¸—ี่นี้ทำให้ไม่สามารถใช้ยูนิตธรรมดาได้ จะต้องมียูนิตที่ลอยตัวเหนื้อพื้นดินเพื่อที่จะผ่านไปได้\nวิจัย[accent]เครื่องสรรค์สร้างยานบิน[]à¹à¸¥à¸°à¸œà¸¥à¸´à¸•ยูนิต[accent]เอลูด[]ให้เร็วที่สุดเท่าที่จะเป็นไปได้ +sector.intersect.description = เครื่องสà¹à¸à¸™à¹€à¸ªà¸™à¸­à¸§à¹ˆà¸²à¸žà¸·à¹‰à¸™à¸—ี่นี้จะถูà¸à¹‚จมตีจาà¸à¸«à¸¥à¸²à¸¢à¹† ด้านไม่นานหลังจาà¸à¸à¸²à¸£à¸¥à¸‡à¸ˆà¸­à¸”\nสร้างà¸à¸²à¸™à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¹ƒà¸«à¹‰à¹„วà¹à¸¥à¸°à¸‚ยายพื้นที่ให้เร็วที่สุด\nจำเป็นต้องมียูนิต[accent]จัà¸à¸£à¸à¸¥[]เพื่อสำรวจผ่านบนภูมิประเทศที่หยาบà¹à¸¥à¸°à¸‚รุขระในพื้นที่นี้ +sector.atlas.description = พื้นที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰à¸¡à¸µà¸ à¸¹à¸¡à¸´à¸›à¸£à¸°à¹€à¸—ศที่หลาà¸à¸«à¸¥à¸²à¸¢à¹à¸¥à¸°à¸ˆà¸³à¹€à¸›à¹‡à¸™à¸ˆà¸°à¸•้องมียูนิตหลาà¸à¸«à¸¥à¸²à¸¢à¸Šà¸™à¸´à¸”เพื่อให้à¸à¸²à¸£à¹‚จมตีมีประสิทธิภาพ\nยูนิตขั้นสูงอาจจำเป็นเพื่อต่อà¸à¸£à¸à¸±à¸šà¸à¸²à¸™à¸—ัพศัตรูที่à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸‚ึ้นในพื้นที่นี้\nวิจัย[accent]เครื่องà¹à¸¢à¸à¸ªà¸¥à¸²à¸¢à¹„ฟฟ้า[]à¹à¸¥à¸°[accent]เครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¸£à¸–ถัง[] +sector.split.description = จำนวนศัตรูอันน้อยนิดทำให้ที่นี่เป็นพื้นที่ที่เหมาะที่สุดในà¸à¸²à¸£à¸—ดสอบระบบà¸à¸²à¸£à¸‚นส่งใหม่ +sector.basin.description = ตรวจพบà¸à¸²à¸£à¸¡à¸µà¸­à¸¢à¸¹à¹ˆà¸‚องศัตรูจำนวนมาà¸à¹ƒà¸™à¸žà¸·à¹‰à¸™à¸—ี่นี้\nควรรีบสร้างยูนิตà¹à¸¥à¸°à¸¢à¸¶à¸”à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸¨à¸±à¸•รูเพื่อให้ตั้งหลัà¸à¹„ด้ +sector.marsh.description = พื้นที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰à¸¡à¸µà¸šà¹ˆà¸­à¸­à¸²à¸£à¹Œà¸„ย์ไซต์อยู่จำนวนมาภà¹à¸•่มีปล่องจำนวนจำà¸à¸±à¸”\nสร้าง[accent]ห้องเผาไหม้ทางเคมี[]เพื่อผลิตพลังงาน +sector.peaks.description = ภูมิประเทศà¹à¸šà¸šà¸‚ุนเขาในพื้นที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰à¸—ำให้ยูนิตปà¸à¸•ิใช้à¸à¸²à¸£à¹„ม่ได้ จำเป็นจะต้องมียูนิตที่บินได้เพื่อที่จะบุà¸à¹‚จมตี\nควรระวังป้อมปืนต่อต้านอาà¸à¸²à¸¨à¸¢à¸²à¸™à¸‚องศัตรูให้ดี มีความไปได้ที่จะสามารถตัดà¸à¸³à¸¥à¸±à¸‡à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¸šà¸²à¸‡à¸ªà¹ˆà¸§à¸™à¹„ด้โดยà¸à¸²à¸£à¸—ำลายสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่รองรับพวà¸à¸¡à¸±à¸™ +sector.ravine.description = ทางเชื่อมขนส่งทรัพยาà¸à¸£à¸—ี่สำคัà¸à¸‚องศัตรู ตรวจไม่พบà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸¨à¸±à¸•รูในพื่นที่นี้ à¹à¸•่à¸à¹‡à¸•้องเตรียมตัวรับมือà¸à¸±à¸šà¸à¸³à¸¥à¸±à¸‡à¸¨à¸±à¸•รูที่จะมาในหลาà¸à¸«à¸¥à¸²à¸¢à¸£à¸¹à¸›à¹à¸šà¸š\nผลิต[accent]เสิร์จอัลลอย[]à¹à¸¥à¹‰à¸§à¸ªà¸£à¹‰à¸²à¸‡à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™[accent]อัฟฟลิà¸à¸•์[]มาป้องà¸à¸±à¸™ +sector.caldera-erekir.description = ทรัพยาà¸à¸£à¸—ี่ถูà¸à¸•รวจพบในพื้นที่นี้นั้นà¸à¸£à¸°à¸ˆà¸±à¸”à¸à¸£à¸°à¸ˆà¸²à¸¢à¹„ปในหลายๆ เà¸à¸²à¸°\nวิจัยà¹à¸¥à¸°à¸žà¸±à¸’นาเทคโนโลยีà¸à¸²à¸£à¸‚นส่งด้วยโดรน +sector.stronghold.description = ปราà¸à¸²à¸£à¸‚นาดใหà¸à¹ˆà¸‚องศัตรูนี้à¸à¸³à¸¥à¸±à¸‡à¸›à¸à¸›à¹‰à¸­à¸‡à¹à¸«à¸¥à¹ˆà¸‡à¹à¸£à¹ˆ[accent]ทอเรี่ยม[]จำนวนมหาศาลในพื้นที่à¹à¸«à¹ˆà¸‡à¸™à¸µà¹‰\nจงใช้มันเพื่อนำไปพัฒนาป้อมปืนà¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ขั้นสูงà¸à¸§à¹ˆà¸² +sector.crevice.description = ศัตรูจะส่งà¸à¸³à¸¥à¸±à¸‡à¹‚จมตีที่ดุร้ายà¹à¸¥à¸°à¸—รงพลังเป็นพิเศษเพื่อที่จะทำลายà¸à¸²à¸™à¸—ัพของคุณในพื้นที่นี้\nวิจัยà¹à¸¥à¸°à¸žà¸±à¸’นา[accent]คาร์ไบต์[]à¸à¸±à¸š[accent]เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าไพโรไลซิส[]เพื่อเพิ่มโอà¸à¸²à¸ªà¸à¸²à¸£à¸­à¸¢à¸¹à¹ˆà¸£à¸­à¸”ในพื้นที่นี้ +sector.siege.description = พื้นที่นี้ประà¸à¸­à¸šà¹„ปด้วยหุบเขาคู่ขนานสองà¹à¸«à¹ˆà¸‡à¸—ี่ทำให้ต้องทำà¸à¸²à¸£à¸šà¸¸à¸à¹‚จมตีทั้งสองà¸à¸±à¹ˆà¸‡à¸žà¸£à¹‰à¸­à¸¡à¸à¸±à¸™\nวิจัย[accent]ไซยาโนเจน[]เพื่อที่จะสามารถสร้างยูนิตรถถังที่à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸‚ึ้น\nโปรดระวัง: ตรวจพบขีปนาวุธพิสัยไà¸à¸¥à¸‚องศัตรู สามารถทำลายหัวรบขีปนาวุธได้à¸à¹ˆà¸­à¸™à¸—ี่มันจะระเบิด +sector.crossroads.description = à¸à¸²à¸™à¸—ัพศัตรูในพื้นที่นี้ได้ถูà¸à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸™à¸žà¸·à¹‰à¸™à¸—ี่ที่หลาà¸à¸«à¸¥à¸²à¸¢ วิจัยยูนิตà¹à¸•่ละตัวเพื่อปรับใช้ในสถานà¸à¸²à¸£à¸“์ต่างๆ\nเพิ่มเติม: à¸à¸²à¸™à¸—ัพบางà¸à¸²à¸™à¹„ด้รับà¸à¸²à¸£à¸›à¸à¸›à¹‰à¸­à¸‡à¸”้วยโล่พลังงาน จงหาวิธีที่จะตัดพลังงานของโล่ออà¸à¹ƒà¸«à¹‰à¹„ด้ +sector.karst.description = พื้นที่นี้มีความอุดมสมบูรณ์ เต็มไปด้วยทรัพยาà¸à¸£ à¹à¸•่มันจะถูà¸à¸¨à¸±à¸•รูหมายโจมตีเมื่อมีà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹ƒà¸«à¸¡à¹ˆà¸¡à¸²à¸¥à¸‡à¸ˆà¸­à¸”\nใช้ทรัพยาà¸à¸£à¸—ี่อุดมสมบูรณ์มาวิจัย[accent]ใยเฟส[] à¹à¸¥à¸°à¸•่อต้านà¸à¸³à¸¥à¸±à¸‡à¸¨à¸±à¸•รูให้ได้ +sector.origin.description = เป้าหมายสุดท้าย ตรวจพบà¸à¸²à¸£à¸¡à¸µà¸­à¸¢à¸¹à¹ˆà¸‚องศัตรูจำนวนมหาศาล\nไม่มีà¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢à¸—ี่เป็นไปได้หลงเหลืออยู่à¹à¸¥à¹‰à¸§ มุ่งà¹à¸•่โจมดีà¸à¸²à¸™à¸—ัพของศัตรูให้หมดสิ้น + +status.burning.name = เผาไหม้ +status.freezing.name = à¹à¸Šà¹ˆà¹à¸‚็ง +status.wet.name = เปียภ+status.muddy.name = เปื้อนเปรอะ +status.melting.name = หลอมเหลว +status.sapped.name = อ่อนà¸à¸³à¸¥à¸±à¸‡ +status.electrified.name = ช็อตไฟฟ้า +status.spore-slowed.name = สปอร์สโลว์ +status.tarred.name = เปื้อนน้ำมัน +status.overdrive.name = โอเวอร์ไดรฟ์ +status.overclock.name = โอเวอร์คล็อภ+status.shocked.name = ช็อภ+status.blasted.name = ระเบิด +status.unmoving.name = หยุดนิ่ง +status.boss.name = ผู้พิทัà¸à¸©à¹Œ settings.language = ภาษา settings.data = ข้อมูลเà¸à¸¡ settings.reset = รีเซ็ตเป็นค่าเริ่มต้น settings.rebind = à¹à¸à¹‰à¹„ขปุ่ม -settings.resetKey = Reset +settings.resetKey = รีเซ็ต settings.controls = à¸à¸²à¸£à¸„วบคุม settings.game = เà¸à¸¡ settings.sound = เสียง settings.graphics = à¸à¸£à¸²à¸Ÿà¸´à¸ settings.cleardata = เคลียร์ข้อมูลเà¸à¸¡... -settings.clear.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸„ลียร์ข้อมูลเà¸à¸¡?\nสิ่งที่ทำไปà¹à¸¥à¹‰à¸§à¸ˆà¸°à¹„ม่สามารถย้อนà¸à¸¥à¸±à¸šà¹„ด้! -settings.clearall.confirm = [scarlet]คำเตือน![]\nà¸à¸²à¸£à¸à¸£à¸°à¸—ำนี้จะลบข้อมูลทั้งหมด นั้นรวมไปถึงเซฟ, à¹à¸¡à¸ž, สิ่งที่ปลดล็อคà¹à¸¥à¹‰à¸§à¹à¸¥à¸° keybinds.\nเมื่อคุณà¸à¸” 'โอเค' เà¸à¸¡à¸ˆà¸°à¸¥à¸šà¸‚้อมูลทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¹à¸¥à¸°à¸­à¸­à¸à¹‚ดยอัตโนมัติ +settings.clear.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸„ลียร์ข้อมูลนี้?\nสิ่งที่ทำไปà¹à¸¥à¹‰à¸§à¸ˆà¸°à¹„ม่สามารถย้อนà¸à¸¥à¸±à¸šà¹„ด้นะ! +settings.clearall.confirm = [scarlet]คำเตือน![]\nà¸à¸²à¸£à¸à¸£à¸°à¸—ำนี้จะลบข้อมูลทั้งหมด นั้นรวมไปถึงเซฟ à¹à¸¡à¸ž à¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢à¹à¸¥à¹‰à¸§à¹à¸¥à¸°à¸à¹‡à¸£à¸¹à¸›à¹à¸šà¸šà¸›à¸¸à¹ˆà¸¡à¸„วบคุม\nเมื่อคุณà¸à¸” 'โอเค' เà¸à¸¡à¸ˆà¸°à¸¥à¸šà¸‚้อมูลทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¹à¸¥à¸°à¸­à¸­à¸à¹‚ดยอัตโนมัติ settings.clearsaves.confirm = คุณà¹à¸™à¹ˆà¹ƒà¸ˆà¸«à¸£à¸·à¸­à¸§à¹ˆà¸²à¸„ุณต้องà¸à¸²à¸£à¹€à¸„ลียร์เซฟทั้งหมด? settings.clearsaves = เคลียร์เซฟ -settings.clearresearch = Clear Research -settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? -settings.clearcampaignsaves = Clear Campaign Saves -settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? +settings.clearresearch = เคลียร์à¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢ +settings.clearresearch.confirm = à¹à¸™à¹ˆà¹ƒà¸ˆà¸—ี่จะเคลียร์à¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢à¸«à¸£à¸·à¸­à¹„ม่? +settings.clearcampaignsaves = ลบเซฟà¹à¸„มเปภ+settings.clearcampaignsaves.confirm = à¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸ˆà¸°à¸¥à¸šà¹€à¸‹à¸Ÿà¹à¸„มเปà¸à¸«à¸£à¸·à¸­à¹„ม่? paused = [accent]< หยุดชั่วคราว > clear = เคลียร์ -banned = [scarlet]à¹à¸šà¸™ -unplaceable.sectorcaptured = [scarlet]ต้องà¸à¸²à¸£ captured sector -yes = ใช่ -no = ไม่ +banned = [scarlet]ถูà¸à¹à¸šà¸™ +unsupported.environment = [scarlet]ไม่รองรับในสภาพà¹à¸§à¸”ล้อมนี้ +yes = ได้ +no = ไม่ได้ info.title = ข้อมูล -error.title = [crimson]มีบางอย่างผิดพลาดเà¸à¸´à¸”ขึ้น -error.crashtitle = มีบางอย่างผิดพลาดเà¸à¸´à¸”ขึ้น -unit.nobuild = [scarlet]ยูนิตไม่สามารถสร้างได้ -lastaccessed = [lightgray]Last Accessed: {0} +error.title = [crimson]มีข้อผิดพลาดบางอย่างเà¸à¸´à¸”ขึ้น +error.crashtitle = มีข้อผิดพลาดบางอย่างเà¸à¸´à¸”ขึ้น +unit.nobuild = [scarlet]ยูนิตนี้à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ม่ได้ +lastaccessed = [lightgray]คนสุดท้ายที่เข้าถึง: {0} +lastcommanded = [lightgray]คนสุดท้ายที่สั่งà¸à¸²à¸£: {0} block.unknown = [lightgray]??? -stat.input = นำเข้า +stat.showinmap = <โหลดà¹à¸¡à¸žà¹€à¸žà¸·à¹ˆà¸­à¹à¸ªà¸”ง> +stat.description = วัตถุประสงค์ +stat.input = ต้องà¸à¸²à¸£ stat.output = ส่งออภ+stat.maxefficiency = ประสิทธิภาพสูงสุด stat.booster = บูสเตอร์ -stat.tiles = ต้องà¸à¸²à¸£ Tiles -stat.affinities = Affinities +stat.tiles = ช่องที่ต้องà¸à¸²à¸£ +stat.affinities = ความสัมพันธ์ +stat.opposites = ตรงข้าม stat.powercapacity = ความจุพลังงาน stat.powershot = หน่วยพลังงาน/นัด stat.damage = ดาเมจ -stat.targetsair = ยิงอาà¸à¸²à¸¨à¸¢à¸²à¸™ -stat.targetsground = ยิงภาคพื้นดิน -stat.itemsmoved = ความเร็วเคลื่อนที่ +stat.targetsair = ยิงอาà¸à¸²à¸¨ +stat.targetsground = ยิงพื้นดิน +stat.itemsmoved = ความเร็วà¸à¸²à¸£à¹€à¸„ลื่อนย้าย stat.launchtime = เวลาระหว่างà¸à¸²à¸£à¸ªà¹ˆà¸‡ stat.shootrange = ระยะยิง stat.size = ขนาด -stat.displaysize = ขนาดที่โชว์ -stat.liquidcapacity = จุของเหลว +stat.displaysize = ขนาดที่à¹à¸ªà¸”ง +stat.liquidcapacity = ความจุของเหลว stat.powerrange = ระยะพลังงาน -stat.linkrange = Link Range -stat.instructions = คำà¹à¸™à¸°à¸™à¸³ +stat.linkrange = ระยะà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ +stat.instructions = ความเร็วคำสั่ง stat.powerconnections = จำนวนà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อสูงสุด stat.poweruse = ใช้พลังงาน stat.powerdamage = หน่วยพลังงาน/ดาเมจ -stat.itemcapacity = จุไอเท็ม -stat.memorycapacity = Memory Capacity -stat.basepowergeneration = à¸à¸³à¹€à¸™à¸´à¸”พลังงานพื้นà¸à¸²à¸™ -stat.productiontime = เวลาที่ใช้ในà¸à¸²à¸£à¸œà¸¥à¸´à¸• -stat.repairtime = เวลาที่ใช้ในà¸à¸²à¸£à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¹ƒà¸«à¹‰à¸ªà¸¡à¸šà¸¹à¸£à¸“์ +stat.itemcapacity = ความจุไอเท็ม +stat.memorycapacity = ความจุหน่วยความจำ +stat.basepowergeneration = ผลิตพลังงานพื้นà¸à¸²à¸™ +stat.productiontime = เวลาในà¸à¸²à¸£à¸œà¸¥à¸´à¸• +stat.repairtime = เวลาในà¸à¸²à¸£à¸‹à¹ˆà¸­à¸¡à¸šà¸¥à¹‡à¸­à¸à¹ƒà¸«à¹‰à¹€à¸ªà¸£à¹‡à¸ˆ +stat.repairspeed = ความเร็วà¸à¸²à¸£à¸‹à¹ˆà¸­à¸¡ +stat.weapons = อาวุธ +stat.bullet = à¸à¸£à¸°à¸ªà¸¸à¸™ +stat.moduletier = ระดับหน่วยประà¸à¸­à¸š +stat.unittype = ชนิดยูนิต stat.speedincrease = เพิ่มความเร็ว stat.range = ระยะ -stat.drilltier = ขุดได้ -stat.drillspeed = ความเร็วขุดพื้นà¸à¸²à¸™ -stat.boosteffect = à¹à¸­à¸Ÿà¹€à¸Ÿà¹‡à¸„ของบูสต์ +stat.drilltier = à¹à¸£à¹ˆà¸—ี่ขุดได้ +stat.drillspeed = ความเร็วà¸à¸²à¸£à¸‚ุดเฉลี่ย +stat.boosteffect = เอฟเฟà¸à¸•์ของบูสต์ stat.maxunits = จำนวนยูนิตสูงสุด -stat.health = เลือด +stat.health = พลังชีวิต +stat.armor = เà¸à¸£à¸²à¸° stat.buildtime = เวลาในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ -stat.maxconsecutive = ติดต่อà¸à¸±à¸™à¸ªà¸¹à¸‡à¸ªà¸¸à¸” +stat.maxconsecutive = ติดต่อà¸à¸±à¸™à¹„ด้สูงสุด stat.buildcost = ใช้ stat.inaccuracy = ความคลาดเคลื่อน stat.shots = นัด -stat.reload = นัด/วินาที +stat.reload = อัตราà¸à¸²à¸£à¸¢à¸´à¸‡ stat.ammo = à¸à¸£à¸°à¸ªà¸¸à¸™ -stat.shieldhealth = เลือดของเà¸à¸£à¸²à¸° -stat.cooldowntime = เวลา Cooldown -stat.explosiveness = Explosiveness -stat.basedeflectchance = Base Deflect Chance -stat.lightningchance = Lightning Chance -stat.lightningdamage = Lightning Damage -stat.flammability = Flammability -stat.radioactivity = Radioactivity -stat.heatcapacity = HeatCapacity -stat.viscosity = Viscosity -stat.temperature = Temperature -stat.speed = Speed -stat.buildspeed = Build Speed -stat.minespeed = Mine Speed -stat.minetier = Mine Tier -stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit -stat.abilities = Abilities +stat.shieldhealth = พลังชีวิตโล่ +stat.cooldowntime = เวลาคูลดาวน์ +stat.explosiveness = à¹à¸£à¸‡à¸£à¸°à¹€à¸šà¸´à¸” +stat.basedeflectchance = โอà¸à¸²à¸ªà¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¸°à¸—้อนà¸à¸¥à¸±à¸š +stat.lightningchance = โอà¸à¸²à¸ªà¹€à¸à¸´à¸”สายฟ้า +stat.lightningdamage = ดาเมจสายฟ้า +stat.flammability = ความไวไฟ +stat.radioactivity = à¸à¸±à¸¡à¸¡à¸±à¸™à¸•ภาพรังสี +stat.charge = ชาร์จไฟฟ้า +stat.heatcapacity = ความจุความร้อน +stat.viscosity = ความหนืด +stat.temperature = อุณหภูมิ +stat.speed = ความเร็ว +stat.buildspeed = ความเร็วà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ +stat.minespeed = ความเร็วà¸à¸²à¸£à¸‚ุด +stat.minetier = à¹à¸£à¹ˆà¸—ี่ขุดได้ +stat.payloadcapacity = ความจุสิ่งบรรทุภ+stat.abilities = ทัà¸à¸©à¸° +stat.canboost = บูสต์ได้ +stat.flying = บินได้ +stat.ammouse = à¸à¸²à¸£à¹ƒà¸Šà¹‰à¸à¸£à¸°à¸ªà¸¸à¸™ +stat.ammocapacity = ความจุà¸à¸£à¸°à¸ªà¸¸à¸™ +stat.damagemultiplier = พหุคูณดาเมจ +stat.healthmultiplier = พหุคูณพลังชีวิต +stat.speedmultiplier = พหุคูณความเร็ว +stat.reloadmultiplier = พหุคูณà¸à¸²à¸£à¸£à¸µà¹‚หลด +stat.buildspeedmultiplier = พหุคูณความเร็วà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ +stat.reactive = ปà¸à¸´à¸à¸´à¸£à¸´à¸¢à¸² +stat.immunities = ต่อต้านสถานะ +stat.healing = à¸à¸²à¸£à¸£à¸±à¸à¸©à¸² +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field +ability.forcefield = โล่พลังงาน +ability.forcefield.description = ฉายโล่พลังงานที่ดูดซับà¸à¸£à¸°à¸ªà¸¸à¸™à¸•่างๆ +ability.repairfield = สนามซ่อมà¹à¸‹à¸¡ +ability.repairfield.description = ซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•ในรอบข้าง +ability.statusfield = สนามเอฟเฟà¸à¸•์ +ability.statusfield.description = เพิ่มเอฟเฟà¸à¸•์สถานะให้à¸à¸±à¸šà¸¢à¸¹à¸™à¸´à¸•รอบข้าง +ability.unitspawn = โรงงานยูนิต +ability.unitspawn.description = à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸¢à¸¹à¸™à¸´à¸•ออà¸à¸¡à¸²à¹„ด้ +ability.shieldregenfield = สนามรัà¸à¸©à¸²à¹‚ล่ +ability.shieldregenfield.description = ฟื้นฟูรัà¸à¸©à¸²à¹‚ล่ให้à¸à¸±à¸šà¸¢à¸¹à¸™à¸´à¸•รอบข้าง +ability.movelightning = สายฟ้าฟาด +ability.movelightning.description = ปลดปล่อยสายฟ้าในขณะที่เคลื่อนที่ +ability.armorplate = à¹à¸œà¹ˆà¸™à¹€à¸à¸£à¸²à¸°à¸›à¹‰à¸­à¸‡à¸à¸±à¸™ +ability.armorplate.description = ลดความเสียหายที่ได้รับในขณะที่ยิง +ability.shieldarc = โล่พลังงานโค้ง +ability.shieldarc.description = ฉายโล่พลังงานà¹à¸šà¸šà¹‚ค้งงอที่ดูดซับà¸à¸£à¸°à¸ªà¸¸à¸™à¸•่างๆ +ability.suppressionfield = สนามระงับà¸à¸²à¸£à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹ +ability.suppressionfield.description = ระงับยั้บยั้งà¸à¸²à¸£à¸—ำงานของเครื่องซ่อมà¹à¸‹à¸¡à¸‚องทีมศัตรูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียง +ability.energyfield = สนามพลังงาน +ability.energyfield.description = ช็อตไฟฟ้าศัตรูที่อยู่รอบข้าง +ability.energyfield.healdescription = ช็อตไฟฟ้าศัตรูที่อยู่รอบข้างà¹à¸¥à¸°à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹à¸£à¸±à¸à¸©à¸²à¸žà¸±à¸™à¸˜à¸¡à¸´à¸•ร +ability.regen = à¸à¸²à¸£à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹ +ability.regen.description = ฟื้นฟูสถานะสุขภาพà¹à¸¥à¸°à¸žà¸¥à¸±à¸‡à¸Šà¸µà¸§à¸´à¸•ของตัวเองเป็นระยะๆ +ability.liquidregen = ดูดซับของเหลว +ability.liquidregen.description = ดูดซับของเหลวเพื่อฟื้นฟูพลังชีวิตตัวเอง +ability.spawndeath = ตัวตายตัวà¹à¸—น +ability.spawndeath.description = ให้à¸à¸³à¹€à¸™à¸´à¸”ยูนิตออà¸à¸¡à¸²à¸«à¸¥à¸±à¸‡à¸„วามตาย +ability.liquidexplode = ระเบิดของเหลวà¹à¸«à¹ˆà¸‡à¸„วามตาย +ability.liquidexplode.description = à¸à¸£à¸°à¸ˆà¸²à¸¢à¸‚องเหลวไปทั่วพื้นหลังความตาย +ability.stat.firingrate = [stat]{0}/วิ[lightgray] อัตราà¸à¸²à¸£à¸¢à¸´à¸‡ +ability.stat.regen = [stat]{0}[lightgray] พลังชีวิต/วิ +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] เà¸à¸£à¸²à¸° +ability.stat.repairspeed = [stat]{0}/วิ[lightgray] ความเร็วà¸à¸²à¸£à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡ +ability.stat.slurpheal = [stat]{0}[lightgray] พลังชีวิต/หน่วยของเหลว +ability.stat.cooldown = [stat]{0} วิ[lightgray] คูลดาวน์ +ability.stat.maxtargets = [lightgray]เป้าหมายสูงสุด: [white]{0} +ability.stat.sametypehealmultiplier = [lightgray]รัà¸à¸©à¸²à¸Šà¸™à¸´à¸”เดียวà¸à¸±à¸™: [white]{0}% +ability.stat.damagereduction = [stat]{0}%[lightgray] ความเสียหายลดลง +ability.stat.minspeed = [stat]{0} ช่อง/วิ[lightgray] ความเร็วต่ำสุด +ability.stat.duration = [stat]{0} วิ[lightgray] ระยะเวลา +ability.stat.buildtime = [stat]{0} วิ[lightgray] ความในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ -bar.drilltierreq = จำเป็นต้องใช้เครื่องขุดที่ดีà¸à¸§à¹ˆà¸² -bar.noresources = ทรัพยาà¸à¸£à¸«à¸²à¸¢ -bar.corereq = à¸à¸²à¸™ Core ที่ต้องà¸à¸²à¸£ -bar.drillspeed = ความเร็วขุด: {0}/s -bar.pumpspeed = ความเร็วปั้ม: {0}/s + +bar.onlycoredeposit = ขนย้ายทรัพยาà¸à¸£à¸¥à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ด้เท่านั้น +bar.drilltierreq = ต้องมีเครื่องขุดที่ดีà¸à¸§à¹ˆà¸²à¸™à¸µà¹‰ +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = ขาดทรัพยาà¸à¸£ +bar.corereq = ต้องวางบนà¹à¸à¸™à¸à¸¥à¸²à¸‡ +bar.corefloor = ต้องวางบนช่องโซนà¹à¸à¸™à¸à¸¥à¸²à¸‡ +bar.cargounitcap = ถึงขีดจำà¸à¸±à¸”ยูนิตขนส่งà¹à¸¥à¹‰à¸§ +bar.drillspeed = ความเร็วà¸à¸²à¸£à¸‚ุด: {0}/วิ +bar.pumpspeed = ความเร็วà¸à¸²à¸£à¸›à¸±à¹‰à¸¡: {0}/วิ bar.efficiency = ประสิทธิภาพ: {0}% -bar.powerbalance = พลังงาน: {0}/s -bar.powerstored = เà¸à¹‡à¸šà¹à¸¥à¹‰à¸§: {0}/{1} +bar.boost = à¸à¸²à¸£à¹€à¸£à¹ˆà¸‡: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = พลังงาน: {0}/วิ +bar.powerstored = สะสมไว้: {0}/{1} bar.poweramount = พลังงาน: {0} bar.poweroutput = พลังงานออà¸: {0} -bar.powerlines = Connections: {0}/{1} +bar.powerlines = à¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อ: {0}/{1} bar.items = ไอเท็ม: {0} bar.capacity = ความจุ: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[ยูนิตถูà¸à¸›à¸´à¸”] bar.liquid = ของเหลว bar.heat = ความร้อน +bar.cooldown = Cooldown +bar.instability = ความไม่เสถียร +bar.heatamount = ความร้อน: {0} +bar.heatpercent = ความร้อน: {0} ({1}%) bar.power = พลังงาน -bar.progress = ความคืบหน้าในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ -bar.input = นำเข้า -bar.output = ส่งออภ+bar.progress = ความคืบหน้า +bar.loadprogress = ความคืบหน้า +bar.launchcooldown = คูลดาวน์à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸—รัพยาà¸à¸£ +bar.input = ด้านเข้า +bar.output = ด้านออภ+bar.strength = [lightgray]ความรุนà¹à¸£à¸‡ [stat]{0}[lightgray]x -units.processorcontrol = [lightgray]Processor Controlled +units.processorcontrol = [lightgray]ถูà¸à¸•ัวประมวลผลควบคุมอยู่ bullet.damage = [stat]{0}[lightgray] ดาเมจ bullet.splashdamage = [stat]{0}[lightgray] ดาเมจà¸à¸£à¸°à¸ˆà¸²à¸¢ ~[stat] {1}[lightgray] ช่อง bullet.incendiary = [stat]ติดไฟ -bullet.homing = [stat]ติดตาม -bullet.shock = [stat]ช็อค -bullet.frag = [stat]à¹à¸•à¸à¸­à¸­à¸ +bullet.homing = [stat]ติดตามตัว +bullet.armorpierce = [stat]เจาะเà¸à¸£à¸²à¸° +bullet.maxdamagefraction = [stat]{0}%[lightgray] ความเสียหายสูงสุด +bullet.suppression = [stat]{0} วิ[lightgray] ระงับà¸à¸²à¸£à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹ ~ [stat]{1}[lightgray] ช่อง +bullet.interval = [stat]{0}/วิ[lightgray] à¸à¸£à¸°à¸ªà¸¸à¸™à¸Šà¹ˆà¸§à¸‡à¸£à¸°à¸¢à¸°: +bullet.frags = [stat]{0}[lightgray]x à¸à¸£à¸°à¸ªà¸¸à¸™à¸à¸£à¸°à¸ˆà¸²à¸¢: +bullet.lightning = [stat]{0}[lightgray]x สายฟ้า ~ [stat]{1}[lightgray] ดาเมจ +bullet.buildingdamage = [lightgray]ดาเมจต่อสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ [stat]{0}%[lightgray] +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] ดันà¸à¸¥à¸±à¸š -bullet.pierce = [stat]{0}[lightgray]x pierce -bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]à¹à¸Šà¹ˆà¹à¸‚็ง -bullet.tarred = [stat]เปื้อนน้ำมัน -bullet.multiplier = [stat]{0}[lightgray]x จำนวนà¸à¸£à¸°à¸ªà¸¸à¸™à¸•่อ 1 ไอเท็ม -bullet.reload = [stat]{0}[lightgray]x ความเร็วยิง +bullet.pierce = [lightgray]เจาะทะลุ [stat]{0}[lightgray]x +bullet.infinitepierce = [stat]เจาะทะลุ +bullet.healpercent = [stat]{0}[lightgray]% รัà¸à¸©à¸² +bullet.healamount = [lightgray]รัà¸à¸©à¸²à¹‚ดยตรง [stat]{0}[lightgray] หน่วย +bullet.multiplier = [stat]{0}[lightgray] à¸à¸£à¸°à¸ªà¸¸à¸™/ไอเท็ม +bullet.reload = [lightgray]ความเร็วà¸à¸²à¸£à¸¢à¸´à¸‡ [stat]{0}[lightgray]% +bullet.range = [lightgray]ระยะยิง [stat]{0}[lightgray] ช่อง +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles -unit.blocks = บล็อค -unit.blockssquared = blocks² -unit.powersecond = หน่วยพลังงาน/วินาที -unit.liquidsecond = หน่วยของเหลว/วินาที +unit.blocks = บล็อภ+unit.blockssquared = บล็อà¸Â² +unit.powersecond = หน่วย/วินาที +unit.tilessecond = ช่อง/วินาที +unit.liquidsecond = หน่วย/วินาที unit.itemssecond = ไอเท็ม/วินาที unit.liquidunits = หน่วยของเหลว unit.powerunits = หน่วยพลังงาน +unit.heatunits = หน่วยความร้อน unit.degrees = องศา unit.seconds = วินาที -unit.minutes = mins -unit.persecond = /วินาที -unit.perminute = /min -unit.timesspeed = เท่าเร็วขึ้น +unit.minutes = นาที +unit.persecond = /วิ +unit.perminute = /นาที +unit.timesspeed = x เร็วขึ้น +unit.multiplier = x unit.percent = % -unit.shieldhealth = เลือดเà¸à¸£à¸²à¸° +unit.shieldhealth = พลังชีวิตโล่ unit.items = ไอเท็ม -unit.thousands = พัน -unit.millions = ล้าน -unit.billions = พันล้าน +unit.thousands = k +unit.millions = mil +unit.billions = b +unit.shots = นัด +unit.pershot = /à¸à¸²à¸£à¸¢à¸´à¸‡ +category.purpose = วัตถุประสงค์ category.general = ทั่วไป category.power = พลังงาน category.liquids = ของเหลว category.items = ไอเท็ม -category.crafting = นำเข้า/ส่งออภ-category.function = Function -category.optional = à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพทางเลือภ-setting.landscape.name = ล็อค Landscape à¹à¸™à¸§à¸™à¸­à¸™ +category.crafting = à¸à¸²à¸£à¸œà¸¥à¸´à¸• +category.function = ฟังค์ชั่น +category.optional = ทางเลือà¸à¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพ +setting.alwaysmusic.name = เล่นเพลงตลอดเวลา +setting.alwaysmusic.description = เมื่อเปิดใช้งาน เพลงจะเล่นในพื้นหลังวนอยู่ตลอดเวลาในเà¸à¸¡\nเมื่อปิดใช้งาน เพลงจะสุ่มเล่นในช่วงระยะเวลาหนึ่งเท่านั้น +setting.skipcoreanimation.name = ข้ามà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¹ˆà¸™à¸à¸²à¸£à¸šà¸´à¸™/ลงจอดของà¹à¸à¸™à¸à¸¥à¸²à¸‡ +setting.landscape.name = ล็อà¸à¸ à¸¹à¸¡à¸´à¸—ัศน์à¹à¸™à¸§à¸™à¸­à¸™ setting.shadows.name = เงา -setting.blockreplace.name = à¹à¸™à¸°à¸™à¸³à¸šà¸¥à¹‡à¸­à¸„โดยอัตโนมัติ +setting.blockreplace.name = à¹à¸™à¸°à¸™à¸³à¸šà¸¥à¹‡à¸­à¸à¹‚ดยอัตโนมัติ setting.linear.name = à¸à¸²à¸£à¸à¸£à¸­à¸‡à¹€à¸Šà¸´à¸‡à¹€à¸ªà¹‰à¸™ setting.hints.name = คำà¹à¸™à¸°à¸™à¸³ -setting.flow.name = à¹à¸ªà¸”งอัตราà¸à¸²à¸£à¹„หลของทรัพยาà¸à¸£[scarlet] (รุ่นทดลอง) +setting.logichints.name = คำà¹à¸™à¸°à¸™à¸³à¸¥à¸­à¸ˆà¸´à¸ +setting.backgroundpause.name = หยุดในพื้นหลัง setting.buildautopause.name = หยุดสร้างชั่วคราวà¹à¸šà¸šà¸­à¸±à¸•โนมัติ -setting.animatedwater.name = à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¹ˆà¸™à¸™à¹‰à¸³ -setting.animatedshields.name = à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¹ˆà¸™à¹€à¸à¸£à¸²à¸° -setting.antialias.name = Antialias[lightgray] (จำเป็นต้องรีสตาร์ท)[] +setting.doubletapmine.name = à¸à¸”สองครั้งเพื่อขุด +setting.commandmodehold.name = à¸à¸”ค้างเพื่อสั่งà¸à¸²à¸£ +setting.distinctcontrolgroups.name = จำà¸à¸±à¸”หนึ่งà¸à¸¥à¸¸à¹ˆà¸¡à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£à¸•่อยูนิต +setting.modcrashdisable.name = ปิดม็อดเมื่อเà¸à¸¡à¸‚ัดข้อง +setting.animatedwater.name = à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¹ˆà¸™à¸žà¸·à¹‰à¸™à¹à¸¥à¸°à¸™à¹‰à¸³ +setting.animatedshields.name = à¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¹ˆà¸™à¹‚ล่พลังงาน setting.playerindicators.name = ตัวบอà¸à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™ -setting.indicators.name = ตัวบอà¸à¸¨à¸±à¸•รู/พัà¸à¸žà¸§à¸ +setting.indicators.name = ตัวบอà¸à¸¨à¸±à¸•รู/พันธมิตร setting.autotarget.name = เล็งเป้าอัตโนมัติ -setting.keyboard.name = à¸à¸²à¸£à¸„วบคุมà¹à¸šà¸š เม้าส์+คีย์บอร์ด +setting.keyboard.name = à¸à¸²à¸£à¸„วบคุมà¹à¸šà¸šà¹€à¸¡à¹‰à¸²à¸ªà¹Œ + คีย์บอร์ด setting.touchscreen.name = à¸à¸²à¸£à¸„วบคุมà¹à¸šà¸šà¸«à¸™à¹‰à¸²à¸ˆà¸­à¸ªà¸±à¸¡à¸œà¸±à¸ª -setting.fpscap.name = FPS -setting.fpscap.none = ไม่มี +setting.fpscap.name = FPS สูงสุด +setting.fpscap.none = ∞ setting.fpscap.text = {0} FPS -setting.uiscale.name = ขนาด UI[lightgray] (จำเป็นต้องรีสตาร์ท)[] -setting.swapdiagonal.name = à¸à¸²à¸£à¸§à¸²à¸‡à¹€à¸›à¹‡à¸™à¹€à¸ªà¹‰à¸™à¸—à¹à¸¢à¸‡à¹€à¸ªà¸¡à¸­ -setting.difficulty.training = à¸à¸¶à¸à¸‹à¹‰à¸­à¸¡ -setting.difficulty.easy = ง่าย -setting.difficulty.normal = ปานà¸à¸¥à¸²à¸‡ -setting.difficulty.hard = ยาภ-setting.difficulty.insane = ยาà¸à¸¡à¸²à¸ -setting.difficulty.name = ระดับความยาà¸: +setting.uiscale.name = อัตราขนาด UI +setting.uiscale.description = อาจจะต้องรีสตาร์ทเพื่อใช้งานà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡ +setting.swapdiagonal.name = วางเป็นเส้นทà¹à¸¢à¸‡à¹€à¸ªà¸¡à¸­ setting.screenshake.name = à¸à¸²à¸£à¸ªà¸±à¹ˆà¸™à¸‚องจอ -setting.effects.name = à¹à¸ªà¸”งเอฟเฟ็ค -setting.destroyedblocks.name = à¹à¸ªà¸”งบล็อคที่ถูà¸à¸—ำลาย -setting.blockstatus.name = à¹à¸ªà¸”งสเตตัสของบล็อค -setting.conveyorpathfinding.name = Pathfinding -setting.sensitivity.name = ความไวของตัวควบคุม -setting.saveinterval.name = ระยะห่าวระหว่างเซฟ +setting.bloomintensity.name = ความรุนà¹à¸£à¸‡à¸‚องบลูม +setting.bloomblur.name = ความเบลอบลูม +setting.effects.name = à¹à¸ªà¸”งเอฟเฟà¸à¸•์ +setting.destroyedblocks.name = à¹à¸ªà¸”งบล็อà¸à¸—ี่ถูà¸à¸—ำลาย +setting.blockstatus.name = à¹à¸ªà¸”งสถานะของบล็อภ+setting.conveyorpathfinding.name = ตรวจสอบเส้นทางà¸à¸²à¸£à¸§à¸²à¸‡à¸ªà¸²à¸¢à¸žà¸²à¸™ +setting.sensitivity.name = ความเร็วของตัวควบคุม +setting.saveinterval.name = ระยะห่างระหว่างà¸à¸²à¸£à¹€à¸‹à¸Ÿ setting.seconds = {0} วินาที -setting.blockselecttimeout.name = à¸à¸²à¸£à¸«à¸¡à¸”เวลาในà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¸šà¸¥à¹‡à¸­à¸„ setting.milliseconds = {0} มิลลิวินาที setting.fullscreen.name = เต็มจอ -setting.borderlesswindow.name = วินโดว์à¹à¸šà¸šà¹„ร้ขอบ[lightgray] (อาจจะต้องรีตาร์ท) +setting.borderlesswindow.name = หน้าต่างà¹à¸šà¸šà¹„ร้ขอบ +setting.borderlesswindow.name.windows = จอเต็มà¹à¸šà¸šà¹„ร้ขอบ +setting.borderlesswindow.description = อาจจะต้องรีสตาร์ทเพื่อใช้งานà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡ setting.fps.name = à¹à¸ªà¸”ง FPS à¹à¸¥à¸° Ping -setting.smoothcamera.name = à¸à¸¥à¹‰à¸­à¸‡à¹à¸šà¸šà¸ªà¸¡à¸¹à¸— +setting.console.name = เปิดใช้งานคอนโซล +setting.smoothcamera.name = à¸à¸¥à¹‰à¸­à¸‡à¹à¸šà¸šà¸¥à¸·à¹ˆà¸™à¹„หล setting.vsync.name = VSync -setting.pixelate.name = Pixelate[lightgray] (ปิดใช้งานà¹à¸­à¸™à¸´à¹€à¸¡à¸Šà¸±à¹ˆà¸™) +setting.pixelate.name = ภาพà¸à¸£à¸²à¸Ÿà¸´à¸à¹à¸šà¸šà¸žà¸´à¸à¹€à¸‹à¸¥ setting.minimap.name = à¹à¸ªà¸”งมินิà¹à¸¡à¸ž -setting.coreitems.name = à¹à¸ªà¸”งไอเท็มใน Core (ยังไม่เสร็จสมบูรณ์) +setting.coreitems.name = à¹à¸ªà¸”งไอเท็มในà¹à¸à¸™à¸à¸¥à¸²à¸‡ setting.position.name = à¹à¸ªà¸”งตำà¹à¸«à¸™à¹ˆà¸‡à¸‚องผู้เล่น +setting.mouseposition.name = à¹à¸ªà¸”งตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸¡à¹‰à¸²à¸ªà¹Œ setting.musicvol.name = ระดับเสียงเพลง -setting.atmosphere.name = à¹à¸ªà¸”งชั้นบรรยาà¸à¸²à¸¨à¸‚องดาวเคราะห์ -setting.ambientvol.name = ระดับเสียงล้อมรอบ -setting.mutemusic.name = ปิดเพลง +setting.atmosphere.name = à¹à¸ªà¸”งชั้นบรรยาà¸à¸²à¸¨à¸‚องดาว +setting.drawlight.name = วาดà¹à¸ªà¸‡à¸ªà¸µà¹à¸¥à¸°à¸„วามมืด +setting.ambientvol.name = ระดับเสียงà¹à¸§à¸”ล้อม +setting.mutemusic.name = ปิดเสียงเพลง setting.sfxvol.name = ระดับเสียง SFX setting.mutesound.name = ปิดเสียง -setting.crashreport.name = ส่งรายงานà¸à¸²à¸£à¹à¸„รชà¹à¸šà¸šà¹„ม่ระบุตัวตน +setting.crashreport.name = ส่งรายงานข้อขัดข้องà¹à¸šà¸šà¹„ม่ระบุตัวตน +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = สร้างเซฟโดยอัตโนมัติ -setting.publichost.name = à¸à¸²à¸£à¸¡à¸­à¸‡à¹€à¸«à¹‡à¸™à¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸ªà¸²à¸˜à¸²à¸£à¸“ะ -setting.playerlimit.name = จัดà¸à¸±à¸”ผู้เล่น +setting.steampublichost.name = à¸à¸²à¸£à¸¡à¸­à¸‡à¹€à¸«à¹‡à¸™à¹€à¸à¸¡à¸ªà¸²à¸˜à¸²à¸£à¸“ะ +setting.playerlimit.name = จำà¸à¸±à¸”ผู้เล่น setting.chatopacity.name = ความโปร่งà¹à¸ªà¸‡à¸‚องà¹à¸Šà¸— -setting.lasersopacity.name = ความโปร่งà¹à¸ªà¸‡à¸‚องเลเซอร์พลังงาน +setting.lasersopacity.name = ความโปร่งà¹à¸ªà¸‡à¸‚องลำà¹à¸ªà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = ความโปร่งà¹à¸ªà¸‡à¸‚องสะพาน -setting.playerchat.name = à¹à¸ªà¸”งบับเบิ้ลà¹à¸Šà¸—ของผู้เล่น -public.confirm = คุณต้องà¸à¸²à¸£à¹ƒà¸«à¹‰à¹€à¸à¸¡à¸‚องคุณเปิดเป็นสาธารณะหรือไม่?\n[accent]ทุà¸à¸„นจะสามารถเข้าร่วมเà¸à¸¡à¸‚องคุณได้.\n[lightgray]คุณสามารถเปลี่ยนà¸à¸²à¸£à¸•ั้งค่านี้ได้ที่ ตั้งค่า->เà¸à¸¡->à¸à¸²à¸£à¸¡à¸­à¸‡à¹€à¸«à¹‡à¸™à¹€à¸‹à¸´à¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸ªà¸²à¸˜à¸²à¸£à¸“ะ. -public.beta = เà¸à¸¡à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¹€à¸šà¸•้าไม่สามารถเปิดเซิฟเวอร์สาธารณะได้ -uiscale.reset = ขนาดของ UI มีà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡\nà¸à¸” "โอเค" เพื่อยืนยันขนาดนี้.\n[scarlet]เปลี่ยนà¸à¸¥à¸±à¸šà¹„ปเป็นà¹à¸šà¸šà¹€à¸”ิมà¹à¸¥à¸°à¸­à¸­à¸à¹ƒà¸™à¸­à¸µà¸[accent] {0}[] วินาที... +setting.playerchat.name = à¹à¸ªà¸”งà¸à¸¥à¹ˆà¸­à¸‡à¹à¸Šà¸—บนผู้เล่น +setting.showweather.name = à¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿà¸´à¸à¸ªà¸ à¸²à¸žà¸­à¸²à¸à¸²à¸¨ +setting.hidedisplays.name = ซ่อนหน้าจอลอจิภ+setting.macnotch.name = ปรับอินเตอร์เฟซให้เข้าà¸à¸±à¸šà¸•ิ่งหน้าจอ +setting.macnotch.description = อาจจะต้องรีสตาร์ทเพื่อใช้งานà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡ +steam.friendsonly = เพื่อนเท่านั้น +steam.friendsonly.tooltip = ว่าจะให้à¹à¸„่เพื่อนเท่านั้นหรือไม่ที่จะสามารถเข้าร่วมเà¸à¸¡à¸‚องคุณได้\nหาà¸à¸„ุณติ๊à¸à¸Šà¹ˆà¸­à¸‡à¸™à¸µà¹‰à¸­à¸­à¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸—ำให้เà¸à¸¡à¸‚องคุณเปิดเป็นสาธารณะ - ใครๆà¸à¹‡à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–เข้าร่วมเà¸à¸¡à¸‚องคุณได้ +public.beta = เà¸à¸¡à¹€à¸§à¸­à¸£à¹Œà¸Šà¸±à¹ˆà¸™à¹€à¸šà¸•้าไม่สามารถเปิดเซิร์ฟเวอร์สาธารณะได้ +uiscale.reset = อัตราขนาดของ UI ได้มีà¸à¸²à¸£à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¹à¸›à¸¥à¸‡\nà¸à¸” "โอเค" เพื่อยืนยันขนาด UI นี้\n[scarlet]จะเปลี่ยนà¸à¸¥à¸±à¸šà¹„ปเป็นขนาดเดิมà¹à¸¥à¸°à¸­à¸­à¸à¹ƒà¸™à¸­à¸µà¸[accent] {0}[] วินาที... uiscale.cancel = ยà¸à¹€à¸¥à¸´à¸à¹à¸¥à¸°à¸­à¸­à¸ -setting.bloom.name = Bloom +setting.bloom.name = บลูม keybind.title = ตั้งค่าปุ่ม -keybinds.mobile = [scarlet]à¸à¸²à¸£à¸•ั้งค่าปุ่มส่วนใหà¸à¹ˆà¹„ม่สามารถใช้ในมือถือได้. เฉพาะà¸à¸²à¸£à¹€à¸„ลื่อนไหวพื้นà¸à¸²à¸™à¹€à¸—่านั้นที่ใช้ได้. +keybinds.mobile = [scarlet]à¸à¸²à¸£à¸•ั้งค่าปุ่มส่วนใหà¸à¹ˆà¹„ม่สามารถใช้ในมือถือได้ เฉพาะà¸à¸²à¸£à¹€à¸„ลื่อนไหวพื้นà¸à¸²à¸™à¹€à¸—่านั้นที่ใช้ได้ category.general.name = ทั่วไป -category.view.name = วิว -category.multiplayer.name = ผู้เล่นหลายคน -category.blocks.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸„ -command.attack = โจมตี -command.rally = ชุมนุม -command.retreat = ถอยà¸à¸¥à¸±à¸š -command.idle = อยู่เฉยๆ -placement.blockselectkeys = \n[lightgray]Key: [{0}, +category.view.name = à¸à¸²à¸£à¸¡à¸­à¸‡à¹€à¸«à¹‡à¸™ +category.command.name = คำสั่งยูนิต +category.multiplayer.name = โหมดผู้เล่นหลายคน +category.blocks.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸ +placement.blockselectkeys = \n[lightgray]ปุ่ม: [{0}, keybind.respawn.name = เà¸à¸´à¸”ใหม่ keybind.control.name = ควบคุมยูนิต -keybind.clear_building.name = เคลียร์สิ่งà¸à¹‡à¸ªà¸£à¹‰à¸²à¸‡ +keybind.clear_building.name = เคลียร์สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ keybind.press = à¸à¸”ปุ่มใดà¸à¹‡à¹„ด้... keybind.press.axis = à¸à¸”à¹à¸à¸™à¸«à¸£à¸·à¸­à¸›à¸¸à¹ˆà¸¡à¹ƒà¸”à¸à¹‡à¹„ด้... -keybind.screenshot.name = à¹à¸¡à¸ž Screenshot -keybind.toggle_power_lines.name = เปิดปิดเลเซอร์พลังงาน -keybind.toggle_block_status.name = เปิดปิดสถานะของบล็อค -keybind.move_x.name = เคลื่อนที่ในà¹à¸à¸™ x -keybind.move_y.name = เคลี่อนที่ในà¹à¸à¸™ y +keybind.screenshot.name = ถ่ายรูปà¹à¸¡à¸ž +keybind.toggle_power_lines.name = เปิด/ปิด ลำà¹à¸ªà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™ +keybind.toggle_block_status.name = เปิด/ปิด สถานะของบล็อภ+keybind.move_x.name = เคลื่อนที่ในà¹à¸à¸™ X +keybind.move_y.name = เคลี่อนที่ในà¹à¸à¸™ Y keybind.mouse_move.name = ตามเม้าส์ -keybind.pan.name = à¹à¸žà¸™à¸§à¸´à¸§ +keybind.pan.name = เคลื่อนà¸à¸²à¸£à¸¡à¸­à¸‡à¹€à¸«à¹‡à¸™ keybind.boost.name = บูสต์ -keybind.schematic_select.name = เลือà¸à¸ à¸¹à¸¡à¸´à¸ à¸²à¸„ -keybind.schematic_menu.name = เมนู Schematic -keybind.schematic_flip_x.name = à¸à¸¥à¸±à¸š Schematic ในà¹à¸à¸™ X -keybind.schematic_flip_y.name = à¸à¸¥à¸±à¸š Schematic ในà¹à¸à¸™ Y +keybind.command_mode.name = โหมดสั่งà¸à¸²à¸£ +keybind.command_queue.name = คิวคำสั่งยูนิต +keybind.create_control_group.name = สร้างà¸à¸¥à¸¸à¹ˆà¸¡à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£ +keybind.cancel_orders.name = ยà¸à¹€à¸¥à¸´à¸à¸„ำสั่ง +keybind.unit_stance_shoot.name = ท่าทียูนิต: ยิง +keybind.unit_stance_hold_fire.name = ท่าทียูนิต: หยุดยิง +keybind.unit_stance_pursue_target.name = ท่าทียูนิต: ไล่ตามเป้าหมาย +keybind.unit_stance_patrol.name = ท่าทียูนิต: ลาดตระเวน +keybind.unit_stance_ram.name = ท่าทียูนิต: พุ่งชน +keybind.unit_command_move.name = คำสั่งยูนิต: ขยับ +keybind.unit_command_repair.name = คำสั่งยูนิต: ซ่อมà¹à¸‹à¸¡ +keybind.unit_command_rebuild.name = คำสั่งยูนิต: สร้างใหม่ +keybind.unit_command_assist.name = คำสั่งยูนิต: ช่วยเหลือผู้เล่น +keybind.unit_command_mine.name = คำสั่งยูนิต: ขุด +keybind.unit_command_boost.name = คำสั่งยูนิต: บูสต์ +keybind.unit_command_load_units.name = คำสั่งยูนิต: โหลดยูนิต +keybind.unit_command_load_blocks.name = คำสั่งยูนิต: โหลดบล็อภ+keybind.unit_command_unload_payload.name = คำสั่งยูนิต: วางสิ่งบรรทุภ+keybind.unit_command_enter_payload.name = คำสั่งยูนิต: เข้าบล็อà¸à¸šà¸£à¸£à¸—ุภ+keybind.unit_command_loop_payload.name = คำสั่งยูนิต: วนซำ้à¸à¸²à¸£à¸‚นถ่ายยูนิต +keybind.rebuild_select.name = เลือà¸à¸žà¸·à¹‰à¸™à¸—ี่สร้างใหม่ +keybind.schematic_select.name = เลือà¸à¸žà¸·à¹‰à¸™à¸—ี่ +keybind.schematic_menu.name = เมนูà¹à¸œà¸™à¸œà¸±à¸‡ +keybind.schematic_flip_x.name = à¸à¸¥à¸±à¸šà¸”้านà¹à¸œà¸™à¸œà¸±à¸‡à¹à¸à¸™ X +keybind.schematic_flip_y.name = à¸à¸¥à¸±à¸šà¸”้านà¹à¸œà¸™à¸œà¸±à¸‡à¹à¸à¸™ Y keybind.category_prev.name = หมวดหมู่à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸² keybind.category_next.name = หมวดหมู่ถ้ดไป -keybind.block_select_left.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸„ ซ้าย -keybind.block_select_right.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸„ ขวา -keybind.block_select_up.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸„ ขึ้น -keybind.block_select_down.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸„ ลง -keybind.block_select_01.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 1 -keybind.block_select_02.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 2 -keybind.block_select_03.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 3 -keybind.block_select_04.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 4 -keybind.block_select_05.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 5 -keybind.block_select_06.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 6 -keybind.block_select_07.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 7 -keybind.block_select_08.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 8 -keybind.block_select_09.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 9 -keybind.block_select_10.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸„ 10 -keybind.fullscreen.name = เปิด/ปิด Fullscreen +keybind.block_select_left.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸ ซ้าย +keybind.block_select_right.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸ ขวา +keybind.block_select_up.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸ ขึ้น +keybind.block_select_down.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸ ลง +keybind.block_select_01.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 1 +keybind.block_select_02.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 2 +keybind.block_select_03.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 3 +keybind.block_select_04.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 4 +keybind.block_select_05.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 5 +keybind.block_select_06.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 6 +keybind.block_select_07.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 7 +keybind.block_select_08.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 8 +keybind.block_select_09.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 9 +keybind.block_select_10.name = หมวดหมู่/เลือà¸à¸šà¸¥à¹‡à¸­à¸ 10 +keybind.fullscreen.name = เปิด/ปิด เต็มจอ keybind.select.name = เลือà¸/ยิง keybind.diagonal_placement.name = วางเป็นà¹à¸™à¸§à¸—à¹à¸¢à¸‡ -keybind.pick.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸„ -keybind.break_block.name = ทุบบล็อค -keybind.deselect.name = ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸šà¸·à¸­à¸ -keybind.pickupCargo.name = ยà¸à¸‚องขึ้น -keybind.dropCargo.name = วางของลง -keybind.command.name = คำสั่ง +keybind.pick.name = เลือà¸à¸šà¸¥à¹‡à¸­à¸ +keybind.break_block.name = ทุบบล็อภ+keybind.select_all_units.name = เลือà¸à¸¢à¸¹à¸™à¸´à¸•ทั้งหมด +keybind.select_all_unit_factories.name = เลือà¸à¹‚รงงานยูนิตทั้งหมด +keybind.deselect.name = ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸ +keybind.pickupCargo.name = ยà¸à¸ªà¸´à¹ˆà¸‡à¸šà¸£à¸£à¸—ุà¸à¸‚ึ้น +keybind.dropCargo.name = วางสิ่งบรรทุà¸à¸¥à¸‡ keybind.shoot.name = ยิง keybind.zoom.name = ซูม keybind.menu.name = เมนู keybind.pause.name = หยุดชั่วคราว keybind.pause_building.name = หยุด/สร้างต่อ -keybind.minimap.name = มินิà¹à¸¡à¸° +keybind.minimap.name = มินิà¹à¸¡à¸ž +keybind.planet_map.name = à¹à¸œà¸™à¸—ี่ดาวเคราะห์ +keybind.research.name = à¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢ +keybind.block_info.name = ข้อมูลบล็อภkeybind.chat.name = à¹à¸Šà¸— keybind.player_list.name = รายชื่อผู้เล่น -keybind.console.name = คอนโซล์ +keybind.console.name = คอนโซล keybind.rotate.name = หมุน keybind.rotateplaced.name = หมุนที่มีอยู่ (à¸à¸”ค้าง) keybind.toggle_menus.name = เปิด/ปิด เมนู keybind.chat_history_prev.name = ประวัติà¹à¸Šà¸—à¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸² keybind.chat_history_next.name = ประวัติà¹à¸Šà¸—ถัดไป keybind.chat_scroll.name = เลื่อนà¹à¸Šà¸— -keybind.drop_unit.name = ดรอปยูนิต +keybind.chat_mode.name = เปลี่ยนโหมดà¹à¸Šà¸— +keybind.drop_unit.name = วางยูนิต keybind.zoom_minimap.name = ซูมมินิà¹à¸¡à¸ž mode.help.title = คำอธิบายโหมด mode.survival.name = เอาชีวิตรอด -mode.survival.description = โหมดปà¸à¸•ิ. ทรัพยาà¸à¸£à¸¡à¸µà¸ˆà¸³à¸à¸±à¸”à¹à¸¥à¸° wave มาโดยอัตโนมัติ.\n[gray]ต้องมีสปาวน์ของศัตรูเพื่อที่จะเล่น. +mode.survival.description = โหมดปà¸à¸•ิ ทรัพยาà¸à¸£à¸¡à¸µà¸ˆà¸³à¸à¸±à¸”à¹à¸¥à¸°à¸„ลื่นมาโดยอัตโนมัติ\n[gray]ต้องมีจุดเà¸à¸´à¸”ของศัตรูเพื่อที่จะเล่น mode.sandbox.name = โหมดอิสระ -mode.sandbox.description = ทรัพยาดรไม่จำà¸à¸±à¸”à¹à¸¥à¸° wave ไม่จับเวลา. -mode.editor.name = Editor +mode.sandbox.description = ทรัพยาà¸à¸£à¹„ม่จำà¸à¸±à¸”à¹à¸¥à¸°à¸„ลื่นไม่จับเวลา +mode.editor.name = ตัวà¹à¸à¹‰à¹„ข mode.pvp.name = PvP -mode.pvp.description = สู้à¸à¸±à¸šà¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸­à¸·à¹ˆà¸™.\n[gray]à¹à¸¡à¸žà¸ˆà¸³à¹€à¸›à¹‡à¸™à¸•้องมี 2 core ที่ไม่ใช่สีเดียวà¸à¸±à¸™. +mode.pvp.description = สู้à¸à¸±à¸šà¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸­à¸·à¹ˆà¸™\n[gray]à¹à¸¡à¸žà¸ˆà¸³à¹€à¸›à¹‡à¸™à¸•้องมีà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸ªà¸­à¸‡à¹à¸à¸™à¸—ี่ไม่ใช่สีเดียวà¸à¸±à¸™ mode.attack.name = โจมตี -mode.attack.description = ทำลายà¸à¸²à¸™à¸‚องศัตรู ไม่มี wave.\n[gray]จำเป็นต้องมี core สีà¹à¸”งเพื่อเล่น. +mode.attack.description = ทำลายà¸à¸²à¸™à¸‚องศัตรู \n[gray]จำเป็นต้องมีà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸ªà¸µà¹à¸”งเพื่อเล่น mode.custom = à¸à¸Žà¹à¸šà¸šà¸à¸³à¸«à¸™à¸”เอง +rules.invaliddata = ข้อมูลคลิปบอร์ดไม่ถูà¸à¸•้อง +rules.hidebannedblocks = ซ่อนบล็อà¸à¸•้องห้าม rules.infiniteresources = ทรัพยาà¸à¸£à¹„ม่จำà¸à¸±à¸” -rules.reactorexplosions = à¸à¸²à¸£à¸£à¸°à¹€à¸šà¸´à¸”ของ -rules.schematic = Schematics Allowed -rules.wavetimer = ตัวนับเวลาปล่อยคลื่น(รอบ) -rules.waves = คลื่น(รอบ) +rules.onlydepositcore = ขนย้ายทรัพยาà¸à¸£à¸¥à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ด้เท่านั้น +rules.derelictrepair = อนุà¸à¸²à¸•à¸à¸²à¸£à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸šà¸¥à¹‡à¸­à¸à¸—ิ้งร้าง +rules.reactorexplosions = เปิดà¸à¸²à¸£à¸£à¸°à¹€à¸šà¸´à¸”ของเตาปà¸à¸´à¸à¸£ +rules.coreincinerates = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹€à¸œà¸²à¸—รัพยาà¸à¸£à¸ªà¹ˆà¸§à¸™à¹€à¸à¸´à¸™ +rules.disableworldprocessors = ปิดà¸à¸²à¸£à¸—ำงานของตัวประมวลผลโลภ+rules.schematic = อนุà¸à¸²à¸•ให้ใช้à¹à¸œà¸™à¸œà¸±à¸‡ +rules.wavetimer = นับถอยหลังà¸à¸²à¸£à¸›à¸¥à¹ˆà¸­à¸¢à¸„ลื่น +rules.wavesending = à¸à¸”เพื่อปล่อยคลื่น +rules.allowedit = อนุà¸à¸²à¸•à¸à¸²à¸£à¹à¸à¹‰à¹„ขà¸à¸Ž +rules.allowedit.info = เมื่อเปิดใช้งาน ผู้เล่นจะสามารถà¹à¸à¹‰à¹„ขà¸à¸Žà¸‚องà¹à¸¡à¸žà¹ƒà¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¹€à¸à¸¡à¹„ด้ด้วยปุ่มล่างซ้ายในเมนู +rules.alloweditworldprocessors = อนุà¸à¸²à¸•à¸à¸²à¸£à¹à¸à¹‰à¹„ขตัวประมวลผลโลภ+rules.alloweditworldprocessors.info = เมื่อเปิดใช้งาน ตัวประมวลผลโลà¸à¸ˆà¸°à¸ªà¸²à¸¡à¸²à¸£à¸–ถูà¸à¸§à¸²à¸‡à¹à¸¥à¸°à¹à¸à¹‰à¹„ขได้à¹à¸¡à¹‰à¸ˆà¸°à¸­à¸¢à¸¹à¹ˆà¸ à¸²à¸¢à¸™à¸­à¸à¸•ัวà¹à¸à¹‰à¹„ข +rules.waves = คลื่น +rules.airUseSpawns = ยูนิตอาà¸à¸²à¸¨à¹ƒà¸Šà¹‰à¸ˆà¸¸à¸”เà¸à¸´à¸” rules.attack = โหมดà¸à¸²à¸£à¹‚จมตี -rules.buildai = สิ่à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚อง AI -rules.enemyCheat = AI (ทีมสีà¹à¸”ง) มีทรัพยาà¸à¸£à¹„ม่จำà¸à¸±à¸” -rules.blockhealthmultiplier = พหุคูณเลือดของบล็อค -rules.blockdamagemultiplier = พหุคูณดาเมจของบล็อค +rules.buildai = AI สร้างà¸à¸²à¸™à¸—ัพ +rules.buildaitier = ระดับà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸‚อง AI +rules.rtsai = RTS AI [red](ไม่เสถียร) +rules.rtsai.campaign = AI โจมตีà¹à¸šà¸š RTS +rules.rtsai.campaign.info = ในà¹à¸¡à¸žà¹‚จมตี จะทำให้ยูนิตรวมตัวà¸à¸±à¸™à¹à¸¥à¸°à¸ˆà¸¹à¹ˆà¹‚จมà¸à¸²à¸™à¸—ัพของผู้เล่นในวิถีà¸à¸²à¸£à¸„ำนวณที่ฉลาดมาà¸à¸à¸§à¹ˆà¸² +rules.rtsminsquadsize = ขนาดà¸à¸­à¸‡à¸—ัพเล็à¸à¸—ี่สุด +rules.rtsmaxsquadsize = ขนาดà¸à¸­à¸‡à¸—ัพใหà¸à¹ˆà¸—ี่สุด +rules.rtsminattackweight = ขนาดน้ำหนัà¸à¸à¸²à¸£à¹‚จมตีน้อยที่สุด +rules.cleanupdeadteams = ลบล้างสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸¨à¸±à¸•รูที่พ่ายà¹à¸žà¹‰ (PvP) +rules.corecapture = ยืดà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹€à¸¡à¸·à¹ˆà¸­à¸—ำลาย +rules.polygoncoreprotection = รัศมีปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹à¸šà¸šà¸«à¸¥à¸²à¸¢à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡ +rules.placerangecheck = ตรวจสอบระยะห่างà¸à¸²à¸£à¸§à¸²à¸‡ +rules.enemyCheat = ทีมศัตรูมีทรัพยาà¸à¸£à¹„ม่จำà¸à¸±à¸” +rules.blockhealthmultiplier = พหุคูณพลังชีวิตของบล็อภ+rules.blockdamagemultiplier = พหุคูณดาเมจของบล็อภrules.unitbuildspeedmultiplier = พหุคูณความเร็วในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸¢à¸¹à¸™à¸´à¸• -rules.unithealthmultiplier = พหุคูณเลือดของยูนิต +rules.unitcostmultiplier = พหูคุณราคาทรัพยาà¸à¸£à¸‚องยูนิต +rules.unithealthmultiplier = พหุคูณพลังชีวิตของยูนิต rules.unitdamagemultiplier = พหุคูณพลังโจมตีของยูนิต +rules.unitcrashdamagemultiplier = พหูคูณดาเมจà¸à¸²à¸£à¸•à¸à¸‚องยานยูนิต +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = พหูคุณพลังงานà¹à¸ªà¸‡à¸­à¸²à¸—ิตย์ +rules.unitcapvariable = เพิ่มจำนวนยูนิตสูงสุดต่อà¹à¸à¸™à¸à¸¥à¸²à¸‡ +rules.unitpayloadsexplode = สิ่งบรรทุà¸à¸£à¸°à¹€à¸šà¸´à¸”ไปพร้อมà¸à¸±à¸šà¸¢à¸¹à¸™à¸´à¸• +rules.unitcap = ขีดà¸à¸³à¸ˆà¸±à¸”ยูนิตสูงสุดพื้นà¸à¸²à¸™ +rules.limitarea = จำà¸à¸±à¸”พื้นที่à¹à¸¡à¸ž rules.enemycorebuildradius = รัศมีห้ามสร้างบริเวณà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องศัตรู:[lightgray] (ช่อง) -rules.wavespacing = ระยะเวลาระหว่างคลื่น(รอบ):[lightgray] (วินาที) -rules.buildcostmultiplier = พหุคูณจำนวนทรัพยาà¸à¸£à¸—ี่ใช้ในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ -rules.buildspeedmultiplier = พหุคูณความเร็วในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ -rules.deconstructrefundmultiplier = พหุคูณà¸à¸²à¸£à¸„ืนทรัพยาà¸à¸£à¹€à¸¡à¸·à¹ˆà¸­à¸—ำà¸à¸²à¸£à¸—ำลายสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ -rules.waitForWaveToEnd = คลื่น(รอบ)รอศัตรู +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = ระยะเวลาระหว่างคลื่น:[lightgray] (วินาที) +rules.initialwavespacing = ระยะเวลาระหว่างคลื่นà¹à¸£à¸:[lightgray] (วินาที) +rules.buildcostmultiplier = พหุคูณราคาทรัพยาà¸à¸£à¹ƒà¸™à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ +rules.buildspeedmultiplier = พหุคูณความเร็วà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡ +rules.deconstructrefundmultiplier = พหุคูณà¸à¸²à¸£à¸„ืนทรัพยาà¸à¸£à¹€à¸¡à¸·à¹ˆà¸­à¸—ำลาย +rules.waitForWaveToEnd = คลื่นจะรอศัตรู +rules.wavelimit = à¹à¸¡à¸žà¸ˆà¸šà¸«à¸¥à¸±à¸‡à¸„ลื่นที่ rules.dropzoneradius = รัศมีจุดเà¸à¸´à¸”ของศัตรู:[lightgray] (ช่อง) rules.unitammo = ยูนิตต้องใช้à¸à¸£à¸°à¸ªà¸¸à¸™ -rules.title.waves = คลื่น(รอบ) +rules.enemyteam = ทีมศัตรู +rules.playerteam = ทีมผู้เล่น +rules.title.waves = คลื่น rules.title.resourcesbuilding = ทรัพยาà¸à¸£à¹à¸¥à¸°à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ rules.title.enemy = ศัตรู rules.title.unit = ยูนิต -rules.title.experimental = Experimental +rules.title.experimental = ทดลอง rules.title.environment = สิ่งà¹à¸§à¸”ล้อม +rules.title.teams = ทีม +rules.title.planet = ดาว rules.lighting = à¹à¸ªà¸‡ -rules.enemyLights = Enemy Lights +rules.fog = หมอà¸à¹à¸«à¹ˆà¸‡à¸ªà¸‡à¸„ราม +rules.invasions = à¸à¸²à¸£à¸£à¸¸à¸à¸£à¸²à¸™à¸‚องà¸à¸²à¸™à¸—ัพศัตรู +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = à¹à¸ªà¸”งจุดเà¸à¸´à¸”ศัตรู +rules.randomwaveai = AI คลื่นà¹à¸šà¸šà¸„าดเดาไม่ได้ rules.fire = ไฟ -rules.explosions = ดาเมจบล็อค/ยูนิตระเบิด +rules.anyenv = <อะไรà¸à¹‡à¹„ด้> +rules.explosions = ดาเมจà¸à¸²à¸£à¸£à¸°à¹€à¸šà¸´à¸”ของบล็อà¸/ยูนิต rules.ambientlight = à¹à¸ªà¸‡à¸ˆà¸²à¸à¹à¸§à¸”ล้อม rules.weather = สภาพอาà¸à¸²à¸¨ rules.weather.frequency = ความถี่: +rules.weather.always = ตลอด rules.weather.duration = ระยะเวลา: +rules.randomwaveai.info = ทำให้ยูนิตที่เà¸à¸´à¸”จาà¸à¸„ลิ่นเล็งเป้าหมายสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¸ªà¸¸à¹ˆà¸¡à¹à¸—นที่จะมุ่งโจมตีà¹à¸•่à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸«à¸£à¸·à¸­à¹€à¸„รื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้า +rules.placerangecheck.info = ป้องà¸à¸±à¸™à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¹„ม่ให้วางอะไรใà¸à¸¥à¹‰à¹†à¸à¸±à¸šà¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸¨à¸±à¸•รู เมื่อวางป้อมปืน ระยะนั้นจะขยายออà¸à¸¡à¸²à¸à¸‚ึ้น เพื่อไม่ให้ป้อมปืนนั้นมีระยะยิงถึงศัตรู +rules.onlydepositcore.info = ป้องà¸à¸±à¸™à¸¢à¸¹à¸™à¸´à¸•ไม่ให้โอนถ่ายไอเท็มลงสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸”ๆ ยà¸à¹€à¸§à¹‰à¸™à¹à¸à¸™à¸à¸¥à¸²à¸‡ + content.item.name = ไอเท็ม content.liquid.name = ของเหลว content.unit.name = ยูนิต -content.block.name = บล็อค +content.block.name = บล็อภ+content.status.name = เอฟเฟà¸à¸•์สถานะ +content.sector.name = เซ็à¸à¹€à¸•อร์ +content.team.name = à¸à¹ˆà¸²à¸¢ +wallore = (à¸à¸³à¹à¸žà¸‡) item.copper.name = ทองà¹à¸”ง item.lead.name = ตะà¸à¸±à¹ˆà¸§ @@ -916,98 +1465,144 @@ item.blast-compound.name = สารระเบิด item.pyratite.name = ไพราไทต์ item.metaglass.name = à¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้า item.scrap.name = เศษเหล็ภ+item.fissile-matter.name = สสารฟิซไซล์ +item.beryllium.name = เบริลเลี่ยม +item.tungsten.name = ทังสเตน +item.oxide.name = อ๊อà¸à¹„ซด์ +item.carbide.name = คาร์ไบด์ +item.dormant-cyst.name = ดอร์à¹à¸¡à¸™à¸—์ซิสต์ + liquid.water.name = น้ำ -liquid.slag.name = เศษà¹à¸£à¹ˆ +liquid.slag.name = à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ liquid.oil.name = น้ำมัน -liquid.cryofluid.name = โครโรฟิวล์ +liquid.cryofluid.name = สารหล่อเย็น +liquid.neoplasm.name = นีโอพลาสม์ +liquid.arkycite.name = อาร์คย์ไซต์ +liquid.gallium.name = à¹à¸à¸¥à¹€à¸¥à¸µà¸¢à¸¡ +liquid.ozone.name = โอโซน +liquid.hydrogen.name = ไฮโดรเจน +liquid.nitrogen.name = ไนโตรเจน +liquid.cyanogen.name = ไซยาโนเจน unit.dagger.name = à¹à¸”็à¸à¹€à¸à¸­à¸£à¹Œ unit.mace.name = เมส unit.fortress.name = ฟอร์เทรส -unit.nova.name = โนว่า -unit.pulsar.name = พอวซ่า -unit.quasar.name = ควอซ่า +unit.nova.name = โนวา +unit.pulsar.name = พัลซ่าร์ +unit.quasar.name = ควอซ่าร์ unit.crawler.name = ครอว์เลอร์ -unit.atrax.name = เอà¹à¸—รซ +unit.atrax.name = เอà¹à¸—รคซ์ unit.spiroct.name = สปิรอคท์ -unit.arkyid.name = อาร์คิดย์ -unit.toxopid.name = โทโสพิด +unit.arkyid.name = อาร์ยคิด +unit.toxopid.name = ท็อคโซพิด unit.flare.name = à¹à¸Ÿà¸¥à¸£à¹Œ unit.horizon.name = ฮอไรซอน -unit.zenith.name = ซีนิท -unit.antumbra.name = à¹à¸­à¸™à¸—ัมบรา -unit.eclipse.name = อีคลิปส์ +unit.zenith.name = เซนิธ +unit.antumbra.name = รัตติà¸à¸²à¸¥ +unit.eclipse.name = อุปราคา unit.mono.name = โมโน -unit.poly.name = โพลี +unit.poly.name = โพลิ unit.mega.name = เมà¸à¹‰à¸² unit.quad.name = ควอด -unit.oct.name = ออà¸à¸„์ -unit.risso.name = ริสโส -unit.minke.name = มิงค์ +unit.oct.name = อ็อคท์ +unit.risso.name = ริสโซ่ +unit.minke.name = มิงà¸à¸µà¹‰ unit.bryde.name = ไบรดย์ -unit.sei.name = ไซย์ +unit.sei.name = เซย์ unit.omura.name = โอมูร่า +unit.retusa.name = เรธูซ่า +unit.oxynoe.name = อ๊อà¸à¸‹à¸´à¹‚นอ์ +unit.cyerce.name = เซียรส์ +unit.aegires.name = เอเà¸à¸µà¸¢à¹€à¸£à¸ª +unit.navanax.name = นาวาà¹à¸™à¹‡à¸„ซ์ unit.alpha.name = อัลฟ่า -unit.beta.name = บีตเา +unit.beta.name = เบต้า unit.gamma.name = à¹à¸à¸¡à¸¡à¹ˆà¸² -unit.scepter.name = สเซปเตอร์ -unit.reign.name = เรน +unit.scepter.name = ศัสตรา +unit.reign.name = ไอศวรรย์ unit.vela.name = เวล่า unit.corvus.name = คอร์วัส +unit.stell.name = สเตลล์ +unit.locus.name = โลคัส +unit.precept.name = พรีเซ็ปต์ +unit.vanquish.name = à¹à¸§à¸™à¸„วิซ +unit.conquer.name = คอนเควอร์ +unit.merui.name = เมรุย +unit.cleroi.name = เคลอรอย +unit.anthicus.name = à¹à¸­à¸™à¸˜à¸´à¸„ัส +unit.tecta.name = เทคต้า +unit.collaris.name = คอลลาริส +unit.elude.name = เอลูด +unit.avert.name = อเวิร์ต +unit.obviate.name = อ็อบวีเอท +unit.quell.name = คเวลล์ +unit.disrupt.name = ดิสรัปต์ +unit.evoke.name = อีโวค +unit.incite.name = อินไซต์ +unit.emanate.name = อิมาเนต +unit.manifold.name = à¹à¸¡à¸™à¸´à¹‚ฟลด์ +unit.assembly-drone.name = โดรนประà¸à¸­à¸šà¸£à¹ˆà¸²à¸‡ +unit.latum.name = ลาทัม +unit.renale.name = รีเนล -block.resupply-point.name = จุดเติมของ -block.parallax.name = พาราà¹à¸¥à¹‡à¸‹ -block.cliff.name = หน้าผ่า +block.parallax.name = พาราà¹à¸¥à¹‡à¸„ซ์ +block.cliff.name = หน้าผา block.sand-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸—ราย +block.basalt-boulder.name = à¸à¹‰à¸­à¸™à¸šà¸°à¸‹à¸­à¸¥à¸•์ block.grass.name = หà¸à¹‰à¸² -block.slag.name = Slag -block.space.name = Space +block.molten-slag.name = à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¸¥à¸°à¸¥à¸²à¸¢ +block.pooled-cryofluid.name = บ่อสารหล่อเย็น +block.space.name = อวà¸à¸²à¸¨ block.salt.name = เà¸à¸¥à¸·à¸­ block.salt-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸à¸¥à¸·à¸­ block.pebbles.name = à¸à¹‰à¸­à¸™à¸à¸£à¸§à¸” -block.tendrils.name = ไม้เลื้อย +block.tendrils.name = เถาวัลย์ block.sand-wall.name = à¸à¸³à¹à¸žà¸‡à¸—ราย block.spore-pine.name = ต้นสนสปอร์ block.spore-wall.name = à¸à¸³à¹à¸žà¸‡à¸ªà¸›à¸­à¸£à¹Œ -block.boulder.name = à¸à¹‰à¸­à¸¢à¸«à¸´à¸™à¹ƒà¸«à¸à¹ˆ -block.snow-boulder.name = หินหิมะใหà¸à¹ˆ -block.snow-pine.name = ต้นสนที่คลุมหิมะ +block.boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™ +block.snow-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸¡à¸° +block.snow-pine.name = ต้นสนหิมะ block.shale.name = หินดินดาน block.shale-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸”ินดาน block.moss.name = ตะไคร่น้ำ block.shrubs.name = พุ่มไม้ -block.spore-moss.name = พุ่มไม้สปอร์ +block.spore-moss.name = สปอร์ติดมอส block.shale-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¸”ินดาน block.scrap-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸ block.scrap-wall-large.name = à¸à¸³à¹à¸žà¸‡à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸à¸‚นาดใหà¸à¹ˆ -block.scrap-wall-huge.name = à¸à¸³à¹à¸žà¸‡à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸à¸‚นาดใหà¸à¹ˆà¸¡à¸²à¸ -block.scrap-wall-gigantic.name = à¸à¸³à¹à¸žà¸‡à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸à¸‚นาดยัà¸à¸©à¹Œ -block.thruster.name = ทรัสเตอร์ -block.kiln.name = เตาเผา +block.scrap-wall-huge.name = à¸à¸³à¹à¸žà¸‡à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸à¸‚นาดยัà¸à¸©à¹Œ +block.scrap-wall-gigantic.name = à¸à¸³à¹à¸žà¸‡à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸à¸‚นาดมหึมา +block.thruster.name = เครื่องยนต์จรวด +block.kiln.name = เตาเผาà¸à¸£à¸°à¸ˆà¸ block.graphite-press.name = เครื่องอัดà¸à¸£à¸²à¹„ฟต์ -block.multi-press.name = มัลติเพรสต์ +block.multi-press.name = เครื่องอัดสารพัดอย่าง block.constructing = {0} [lightgray](à¸à¸³à¸¥à¸±à¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡) block.spawn.name = จุดเà¸à¸´à¸”ศัตรู +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = à¹à¸à¸™à¸à¸¥à¸²à¸‡: ชาร์ด block.core-foundation.name = à¹à¸à¸™à¸à¸¥à¸²à¸‡: ฟาวน์เดชั่น block.core-nucleus.name = à¹à¸à¸™à¸à¸¥à¸²à¸‡: นิวเคลียส -block.deepwater.name = น้ำลึภ-block.water.name = น้ำ +block.deep-water.name = น้ำลึภ+block.shallow-water.name = น้ำ block.tainted-water.name = น้ำเสีย +block.deep-tainted-water.name = น้ำเสียลึภblock.darksand-tainted-water.name = น้ำเสียบนทรายดำ -block.tar.name = น้ำมันดิบ +block.tar.name = น้ำมันดิน block.stone.name = หิน -block.sand.name = ทราย +block.sand-floor.name = ทราย block.darksand.name = ทรายดำ block.ice.name = น้ำà¹à¸‚็ง block.snow.name = หิมะ -block.craters.name = หลุมอุà¸à¸à¸²à¸šà¸²à¸• +block.crater-stone.name = หลุมอุà¸à¸à¸²à¸šà¸²à¸• block.sand-water.name = น้ำบนทราย block.darksand-water.name = น้ำบนทรายดำ block.char.name = ถ่าน block.dacite.name = ดาไซต์ +block.rhyolite.name = ไรโอไลต์ block.dacite-wall.name = à¸à¸³à¹à¸žà¸‡à¸”าไซต์ -block.dacite-boulder.name = Dacite Boulder +block.dacite-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸”าไซต์ block.ice-snow.name = น้ำà¹à¸‚็งหิมะ block.stone-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™ block.ice-wall.name = à¸à¸³à¹à¸žà¸‡à¸™à¹‰à¸³à¹à¸‚็ง @@ -1017,24 +1612,25 @@ block.pine.name = ต้นสน block.dirt.name = ดิน block.dirt-wall.name = à¸à¸³à¹à¸žà¸‡à¸”ิน block.mud.name = โคลน -block.white-tree-dead.name = ต้นไม้ขาวที่ตายà¹à¸¥à¹‰à¸§ +block.white-tree-dead.name = ต้นไม้ขาวตาย block.white-tree.name = ต้มไม้ขาว block.spore-cluster.name = à¸à¸¥à¸¸à¹ˆà¸¡à¸ªà¸›à¸­à¸£à¹Œ -block.metal-floor.name = พื้นเหล็ภ1 -block.metal-floor-2.name = พื้นเหล็ภ2 -block.metal-floor-3.name = พื้นเหล็ภ3 -block.metal-floor-5.name = พื้นเหล็ภ4 -block.metal-floor-damaged.name = พื้นเหล็à¸à¸—ี่เสียหาย +block.metal-floor.name = พื้นโลหะ 1 +block.metal-floor-2.name = พื้นโลหะ 2 +block.metal-floor-3.name = พื้นโลหะ 3 +block.metal-floor-4.name = พื้นโลหะ 4 +block.metal-floor-5.name = พื้นโลหะ 5 +block.metal-floor-damaged.name = พื้นเหล็à¸à¸œà¸¸à¸žà¸±à¸‡ block.dark-panel-1.name = à¹à¸œà¹ˆà¸™à¸”ำ 1 block.dark-panel-2.name = à¹à¸œà¹ˆà¸™à¸”ำ 2 block.dark-panel-3.name = à¹à¸œà¹ˆà¸™à¸”ำ 3 block.dark-panel-4.name = à¹à¸œà¹ˆà¸™à¸”ำ 4 block.dark-panel-5.name = à¹à¸œà¹ˆà¸™à¸”ำ 5 block.dark-panel-6.name = à¹à¸œà¹ˆà¸™à¸”ำ 6 -block.dark-metal.name = เหล็à¸à¸”ำ +block.dark-metal.name = โลหะดำ block.basalt.name = บะซอลต์ block.hotrock.name = หินร้อน -block.magmarock.name = หินà¹à¸¡à¸à¸¡à¹ˆà¸² +block.magmarock.name = หินà¹à¸¡à¹‡à¸à¸¡à¹ˆà¸² block.copper-wall.name = à¸à¸³à¹à¸žà¸‡à¸—องà¹à¸”ง block.copper-wall-large.name = à¸à¸³à¹à¸žà¸‡à¸—องà¹à¸”งขนาดใหà¸à¹ˆ block.titanium-wall.name = à¸à¸³à¹à¸žà¸‡à¹„ทเทเนี่ยม @@ -1047,289 +1643,1024 @@ block.thorium-wall.name = à¸à¸³à¹à¸žà¸‡à¸—อเรี่ยม block.thorium-wall-large.name = à¸à¸³à¹à¸žà¸‡à¸—อเรี่ยมขนาดใหà¸à¹ˆ block.door.name = ประตู block.door-large.name = ประตูขนาดใหà¸à¹ˆ -block.duo.name = ดูโอ +block.duo.name = ดูโอ้ block.scorch.name = สคอร์ช -block.scatter.name = สà¹à¸„ทเทอร์ -block.hail.name = à¹à¸®à¸¥ +block.scatter.name = สà¹à¸à¹‡à¸•เตอร์ +block.hail.name = ลูà¸à¹€à¸«à¹‡à¸š block.lancer.name = à¹à¸¥à¸™à¹€à¸‹à¸­à¸£à¹Œ block.conveyor.name = สายพาน block.titanium-conveyor.name = สายพานไทเทเนี่ยม -block.plastanium-conveyor.name = สายพานพสาตตาเนี่ยม +block.plastanium-conveyor.name = สายพานพลาสตาเนี่ยม block.armored-conveyor.name = สายพานเสริมเà¸à¸£à¸²à¸° -block.armored-conveyor.description = เคลื่อนย้ายไอเท็มได้เร็วเทียบเท่าสายพานไทเทเนี่ยม à¹à¸•่มีเà¸à¸£à¸²à¸°à¸—ี่à¹à¸‚็งà¹à¸£à¸‡à¸à¸§à¹ˆà¸² ไม่สามารถรับไอเท็มจาà¸à¸”้านข้างà¹à¸¥à¸°à¸ˆà¸²à¸à¸ªà¸²à¸¢à¸žà¸²à¸™à¸Šà¸™à¸´à¸”อื่นนอà¸à¸ˆà¸²à¸à¸ªà¸²à¸¢à¸žà¸²à¸™à¸Šà¸™à¸´à¸”เดียวà¸à¸±à¸™. block.junction.name = ทางà¹à¸¢à¸ -block.router.name = ตัวà¸à¸£à¸°à¸ˆà¸²à¸¢ -block.distributor.name = ตัวà¹à¸ˆà¸à¸ˆà¹ˆà¸²à¸¢ -block.sorter.name = เครื่องà¹à¸¢à¸ -block.inverted-sorter.name = เครื่องà¹à¸¢à¸à¸à¸¥à¸±à¸šà¸”้าน -block.message.name = ตัวเà¸à¹‡à¸šà¸‚้อความ +block.router.name = เร้าเตอร์ +block.distributor.name = เครื่องà¹à¸ˆà¸à¸ˆà¹ˆà¸²à¸¢ +block.sorter.name = เครื่องคัดà¹à¸¢à¸ +block.inverted-sorter.name = เครื่องคัดà¹à¸¢à¸à¸à¸¥à¸±à¸šà¸”้าน +block.message.name = à¸à¸¥à¹ˆà¸­à¸‡à¸‚้อความ +block.reinforced-message.name = à¸à¸¥à¹ˆà¸­à¸‡à¸‚้อความเสริมà¸à¸³à¸¥à¸±à¸‡ +block.world-message.name = à¸à¸¥à¹ˆà¸­à¸‡à¸‚้อความโลภ+block.world-switch.name = สวิตช์โลภblock.illuminator.name = ตัวเปล่งà¹à¸ªà¸‡ -block.illuminator.description = à¹à¸«à¸¥à¹ˆà¸‡à¸à¸³à¹€à¸™à¸´à¸”à¹à¸ªà¸‡à¸‚นาดเล็ภสามารถดัดà¹à¸›à¸¥à¸‡à¹„ด้. จำเป็นต้องใช้พลังงานในà¸à¸²à¸£à¸—ำงาน. -block.overflow-gate.name = ประตูระบายไอเทม -block.underflow-gate.name = ประตูระบายไอเท็มย้อนà¸à¸¥à¸±à¸š -block.silicon-smelter.name = เตาเผาซิลิà¸à¸­à¸™ +block.overflow-gate.name = ประตูระบาย +block.underflow-gate.name = ประตูระบายข้าง +block.silicon-smelter.name = เตาหลอมซิลิà¸à¸­à¸™ block.phase-weaver.name = เครื่องทอใยเฟส -block.pulverizer.name = เครื่องบด +block.pulverizer.name = เครื่องบดอัด block.cryofluid-mixer.name = เครื่องผสมสารหล่อเย็น -block.melter.name = เตาหลอม -block.incinerator.name = เตาเผาขยะ +block.melter.name = เครื่องหลอมละลาย +block.incinerator.name = เตาเผาสลาย block.spore-press.name = เครื่องอัดสปอร์ -block.separator.name = เครื่องà¹à¸¢à¸ -block.coal-centrifuge.name = เครื่องสังเคราะห์ถ่านหิน +block.separator.name = เครื่องà¹à¸¢à¸à¸Šà¸´à¹‰à¸™à¸ªà¹ˆà¸§à¸™ +block.coal-centrifuge.name = เครื่องà¹à¸›à¸£à¸£à¸¹à¸›à¸–่านหิน block.power-node.name = ตัวจ่ายพลังงาน block.power-node-large.name = ตัวจ่ายพลังงานขนาดใหà¸à¹ˆ block.surge-tower.name = เสาเสิร์จ block.diode.name = ไดโอดà¹à¸šà¸•เตอรี่ block.battery.name = à¹à¸šà¸•เตอรี่ block.battery-large.name = à¹à¸šà¸•เตอรี่ขนาดใหà¸à¹ˆ -block.combustion-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้ถ่าน +block.combustion-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้ block.steam-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าไอน้ำ -block.differential-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าดิฟเฟอเร่นเตอร์ -block.impact-reactor.name = เตาปà¸à¸´à¸à¸£à¸“์อัดà¸à¸£à¸°à¹à¸—ภ+block.differential-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าอุณหภูมิต่าง +block.impact-reactor.name = เตาปà¸à¸´à¸à¸£à¸“์อิมà¹à¸žà¸„ block.mechanical-drill.name = เครื่องขุดเชิงà¸à¸¥ block.pneumatic-drill.name = เครื่องขุดอัดอาà¸à¸²à¸¨ block.laser-drill.name = เครื่องขุดเลเซอร์ -block.water-extractor.name = เครื่องขุดน้ำ -block.cultivator.name = เค้าติเวเตอร์ +block.water-extractor.name = เครื่องขุดน้ำบาดาล +block.cultivator.name = เครื่องสà¸à¸±à¸”สปอร์ block.conduit.name = ท่อน้ำ block.mechanical-pump.name = ปั๊มเชิงà¸à¸¥ block.item-source.name = จุดà¸à¸³à¹€à¸™à¸´à¸”ไอเท็ม -block.item-void.name = จุดลบไอเท็ม +block.item-void.name = หลุมดูดไอเท็ม block.liquid-source.name = จุดà¸à¸³à¹€à¸™à¸´à¸”ของเหลว -block.liquid-void.name = จุดลบของเหลว -block.power-void.name = จุดลบพลังงาน +block.liquid-void.name = หลุมดูดของเหลว +block.power-void.name = หลุมดูดพลังงาน block.power-source.name = จุดà¸à¸³à¹€à¸™à¸´à¸”พลังงาน -block.unloader.name = ตัวถ่ายไอเทม +block.unloader.name = ตัวถ่ายไอเท็ม block.vault.name = ตู้นิรภัย -block.wave.name = เวฟ -block.tsunami.name = Tsunami +block.wave.name = คลื่นสมุทร +block.tsunami.name = สึนามิ block.swarmer.name = สวอร์มเมอร์ block.salvo.name = ซัลโว -block.ripple.name = ริปเปิล +block.ripple.name = ริปเปิ้ล block.phase-conveyor.name = สายพานเฟส -block.bridge-conveyor.name = สายพานสะพาน -block.plastanium-compressor.name = เครื่องอัดพลาสตาเนียม +block.bridge-conveyor.name = สะพานไอเท็ม +block.plastanium-compressor.name = เครื่องอัดพลาสตาเนี่ยม block.pyratite-mixer.name = เครื่องผสมไพราไทต์ block.blast-mixer.name = เครื่องผสมสารระเบิด -block.solar-panel.name = à¹à¸œà¸‡à¹‚ซลาร์ -block.solar-panel-large.name = à¹à¸œà¸‡à¹‚ซลาร์ขนาดใหà¸à¹ˆ +block.solar-panel.name = à¹à¸œà¸‡à¹‚ซล่าเซลล์ +block.solar-panel-large.name = à¹à¸œà¸‡à¹‚ซล่าเซลล์ขนาดใหà¸à¹ˆ block.oil-extractor.name = เครื่องสà¸à¸±à¸”น้ำมัน -block.repair-point.name = จุดซ่อมà¹à¸‹à¸¡ +block.repair-point.name = จุดซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸• +block.repair-turret.name = ป้อมซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸• block.pulse-conduit.name = ท่อน้ำพัลซ์ block.plated-conduit.name = ท่อน้ำเสริมเà¸à¸£à¸²à¸° block.phase-conduit.name = ท่อน้ำเฟส -block.liquid-router.name = เครื่องà¸à¸£à¸°à¸ˆà¸²à¸¢à¸‚องเหลว -block.liquid-tank.name = ถังบรรจุน้ำ +block.liquid-router.name = เร้าเตอร์ของเหลว +block.liquid-tank.name = ถังบรรจุของเหลว +block.liquid-container.name = ตู้บรรจุของเหลว block.liquid-junction.name = ทางà¹à¸¢à¸à¸‚องเหลว -block.bridge-conduit.name = ท่อน้ำสะพาน -block.rotary-pump.name = ปั๊มà¹à¸šà¸šà¸«à¸¡à¸¸à¸™ +block.bridge-conduit.name = สะพานของเหลว +block.rotary-pump.name = ปั๊มโรตารี่ block.thorium-reactor.name = เตาปà¸à¸´à¸à¸£à¸“์ทอเรี่ยม block.mass-driver.name = เครื่องโอนถ่ายมวล -block.blast-drill.name = เครื่องขุดระเบิดอาà¸à¸²à¸¨ -block.thermal-pump.name = ปั๊มความร้อน -block.thermal-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าจาà¸à¸„วามร้อน -block.alloy-smelter.name = เตาเผาอัลลอย +block.blast-drill.name = เครื่องขุดà¹à¸­à¸£à¹Œà¸šà¸¥à¸²à¸ªà¸•์ +block.impulse-pump.name = ปั๊มà¹à¸£à¸‡à¸à¸£à¸°à¸•ุ้น +block.thermal-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าพลังอัคคี +block.surge-smelter.name = เตาหลอมเสิร์จ block.mender.name = เครื่องซ่อมà¹à¸‹à¸¡ block.mend-projector.name = เครื่องฉายซ่อมà¹à¸‹à¸¡ block.surge-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸ªà¸´à¸£à¹Œà¸ˆ block.surge-wall-large.name = à¸à¸³à¹à¸žà¸‡à¹€à¸ªà¸´à¸£à¹Œà¸ˆà¸‚นาดใหà¸à¹ˆ block.cyclone.name = ไซโคลน block.fuse.name = ฟิวส์ -block.shock-mine.name = à¸à¸±à¸šà¸£à¸°à¹€à¸šà¸´à¸”ไฟฟ้า +block.shock-mine.name = à¸à¸±à¸šà¸£à¸°à¹€à¸šà¸´à¸”ช็อภblock.overdrive-projector.name = เครื่องเร่งประสิทธิภาพ block.force-projector.name = เครื่องฉายสนามพลัง block.arc.name = อาร์ค block.rtg-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้า RTG -block.spectre.name = สเปคเตอร์ +block.spectre.name = สเป็คเตอร์ block.meltdown.name = เมลท์ดาวน์ -block.foreshadow.name = Foreshadow +block.foreshadow.name = ฟอร์ชาโดว์ block.container.name = ตู้เà¸à¹‡à¸šà¸‚อง -block.launch-pad.name = à¸à¸²à¸™à¸ªà¹ˆà¸‡à¸‚อง -block.launch-pad-large.name = à¸à¸²à¸™à¸ªà¹ˆà¸‡à¸‚องขนาดใหà¸à¹ˆ -block.segment.name = Segment -block.command-center.name = ศูนย์ควบคุม -block.ground-factory.name = โรงงานภาคพื้นดิน -block.air-factory.name = โรงงานภาคอาà¸à¸²à¸¨ -block.naval-factory.name = โรงงานทางน้ำ -block.additive-reconstructor.name = Reconstructor à¹à¸šà¸šà¸šà¸§à¸ -block.multiplicative-reconstructor.name = Reconstructor à¹à¸šà¸šà¸„ูณ -block.exponential-reconstructor.name = Reconstructor à¹à¸šà¸šà¹€à¸­à¹‡à¸à¹‚พเนนเชียว -block.tetrative-reconstructor.name = Tetrative Reconstructor -block.payload-conveyor.name = สายพาน Mass -block.payload-router.name = ตัวเปลี่ยเส้นทาง Payload -block.disassembler.name = ตัวชำà¹à¸«à¸¥à¸° +block.launch-pad.name = à¸à¸²à¸™à¸ªà¹ˆà¸‡à¸—รัพยาà¸à¸£ +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad +block.segment.name = เซ็à¸à¹€à¸¡à¸™à¸•์ +block.ground-factory.name = โรงงานยูนิตพื้นดิน +block.air-factory.name = โรงงานยูนิตอาà¸à¸²à¸¨ +block.naval-factory.name = โรงงานยูนิตน้ำ +block.additive-reconstructor.name = เครื่องพัฒนารุ่นบวภ+block.multiplicative-reconstructor.name = เครื่องพัฒนารุ่นคูณ +block.exponential-reconstructor.name = เครื่องพัฒนารุ่นยà¸à¸à¸³à¸¥à¸±à¸‡ +block.tetrative-reconstructor.name = เครื่องพัฒนารุ่นเตตร้า +block.payload-conveyor.name = สายพานบรรทุภ+block.payload-router.name = เร้าเตอร์บรรทุภ+block.duct.name = ท่อสูà¸à¸à¸²à¸à¸²à¸¨ +block.duct-router.name = เร้าเตอร์สูà¸à¸à¸²à¸à¸²à¸¨ +block.duct-bridge.name = สะพานสูà¸à¸à¸²à¸à¸²à¸¨ +block.large-payload-mass-driver.name = หอโอนถ่ายสิ่งบรรทุภ+block.payload-void.name = หลุมดูดสิ่งบรรทุภ+block.payload-source.name = จุดà¸à¸³à¹€à¸™à¸´à¸”สิ่งบรรทุภ+block.disassembler.name = เครื่องถอดà¹à¸¢à¸à¸ªà¹ˆà¸§à¸™à¸›à¸£à¸°à¸à¸­à¸š block.silicon-crucible.name = เบ้าหลอมซิลิคอน -block.overdrive-dome.name = โดม Overdrive +block.overdrive-dome.name = โดมเร่งประสิทธิภาพ +block.interplanetary-accelerator.name = à¸à¸²à¸™à¹€à¸£à¹ˆà¸‡à¸„วามเร็วระหว่างดาวเคราะห์ +block.constructor.name = เครื่องà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +block.constructor.description = สรรค์สร้างสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚นาดจนถึง 2x2 ช่อง +block.large-constructor.name = เครื่องà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚นาดใหà¸à¹ˆ +block.large-constructor.description = สรรค์สร้างสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚นาดจนถึง 4x4 ช่อง +block.deconstructor.name = เครื่องลบทำลาย +block.deconstructor.description = ลบทำลายสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸• คืนทรัพยาà¸à¸£à¸—ั้งหมดที่ใช้ในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +block.payload-loader.name = เครื่องโหลดสิ่งบรรทุภ+block.payload-loader.description = โหลดของเหลวà¹à¸¥à¸°à¹„อเท็มเข้าไปในบล็อภ+block.payload-unloader.name = เครื่องถ่ายสิ่งบรรทุภ+block.payload-unloader.description = ถ่ายของเหลวà¹à¸¥à¸°à¹„อเท็มออà¸à¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸ +block.heat-source.name = จุดà¸à¸³à¹€à¸™à¸´à¸”ความร้อน +block.heat-source.description = ส่งออà¸à¸„วามร้อนอย่างไม่จำà¸à¸±à¸” มีเฉพาะโหมดอิสระ +block.empty.name = ว่างเปล่า +block.rhyolite-crater.name = หลุมไรโอไลต์ +block.rough-rhyolite.name = ไรโอไลต์หยาบ +block.regolith.name = เรโà¸à¸¥à¸´à¸—ธ์ +block.yellow-stone.name = หินเหลือง +block.carbon-stone.name = หินคาร์บอน +block.ferric-stone.name = หินเฟอร์ริภ+block.ferric-craters.name = หลุมเฟอร์ริภ+block.beryllic-stone.name = หินเบริลลิค +block.crystalline-stone.name = หินตà¸à¸œà¸¥à¸¶à¸ +block.crystal-floor.name = พื้นคริสตัล +block.yellow-stone-plates.name = à¹à¸œà¹ˆà¸™à¸«à¸´à¸™à¹€à¸«à¸¥à¸·à¸­à¸‡ +block.red-stone.name = หินà¹à¸”ง +block.dense-red-stone.name = หินà¹à¸”งหนาà¹à¸™à¹ˆà¸™ +block.red-ice.name = น้ำà¹à¸‚็งà¹à¸”ง +block.arkycite-floor.name = พื้นอาร์คย์ไซต์ +block.arkyic-stone.name = หินอาร์ยคิค +block.rhyolite-vent.name = ปล่องไรโอไลต์ +block.carbon-vent.name = ปล่องคาร์บอน +block.arkyic-vent.name = ปล่องอาร์ยคิค +block.yellow-stone-vent.name = ปล่องหินเหลือง +block.red-stone-vent.name = ปล่องหินà¹à¸”ง +block.crystalline-vent.name = ปล่องหินตà¸à¸œà¸¥à¸·à¸ +block.redmat.name = à¹à¸¡à¸•à¹à¸”ง +block.bluemat.name = à¹à¸¡à¸•น้ำเงิน +block.core-zone.name = โซนà¹à¸à¸™à¸à¸¥à¸²à¸‡ +block.regolith-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸£à¹‚à¸à¸¥à¸´à¸—ธ์ +block.yellow-stone-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¹€à¸«à¸¥à¸·à¸­à¸‡ +block.rhyolite-wall.name = à¸à¸³à¹à¸žà¸‡à¹„รโอไลต์ +block.carbon-wall.name = à¸à¸³à¹à¸žà¸‡à¸„าร์บอน +block.ferric-stone-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¹€à¸Ÿà¸­à¸£à¹Œà¸£à¸´à¸ +block.beryllic-stone-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¹€à¸šà¸£à¸´à¸¥à¸¥à¸´à¸„ +block.arkyic-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¸­à¸²à¸£à¹Œà¸¢à¸„ิค +block.crystalline-stone-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¸•à¸à¸œà¸¥à¸¶à¸ +block.red-ice-wall.name = à¸à¸³à¹à¸žà¸‡à¸™à¹‰à¸³à¹à¸‚็งà¹à¸”ง +block.red-stone-wall.name = à¸à¸³à¹à¸žà¸‡à¸«à¸´à¸™à¹à¸”ง +block.red-diamond-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸žà¸Šà¸£à¹à¸”ง +block.redweed.name = สาหร่ายà¹à¸”ง +block.pur-bush.name = พุ่มเพอร์ +block.yellowcoral.name = ปะà¸à¸²à¸£à¸±à¸‡à¹€à¸«à¸¥à¸·à¸­à¸‡ +block.carbon-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸„าร์บอน +block.ferric-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¹€à¸Ÿà¸­à¸£à¹Œà¸£à¸´à¸ +block.beryllic-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¹€à¸šà¸£à¸´à¸¥à¸¥à¸´à¸„ +block.yellow-stone-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¹€à¸«à¸¥à¸·à¸­à¸‡ +block.arkyic-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸­à¸²à¸£à¹Œà¸¢à¸„ิค +block.crystal-cluster.name = à¸à¸£à¸°à¸ˆà¸¸à¸à¸„ริสตัล +block.vibrant-crystal-cluster.name = à¸à¸£à¸°à¸ˆà¸¸à¸à¸„ริสตัลสดใส +block.crystal-blocks.name = à¸à¹‰à¸­à¸™à¸šà¸¥à¹‡à¸­à¸à¸„ริสตัล +block.crystal-orbs.name = à¸à¹‰à¸­à¸™à¸¥à¸¹à¸à¹à¸à¹‰à¸§à¸„ริสตัล +block.crystalline-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸•à¸à¸œà¸¥à¸¶à¸ +block.red-ice-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¸™à¹‰à¸³à¹à¸‚็งà¹à¸”ง +block.rhyolite-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¹„รโอไลต์ +block.red-stone-boulder.name = à¸à¹‰à¸­à¸™à¸«à¸´à¸™à¹à¸”ง +block.graphitic-wall.name = à¸à¸³à¹à¸žà¸‡à¸œà¸¥à¸¶à¸à¸à¸£à¸²à¹„ฟต์ +block.silicon-arc-furnace.name = เตาหลอมไฟฟ้าซิลิà¸à¸­à¸™ +block.electrolyzer.name = เครื่องà¹à¸¢à¸à¸ªà¸¥à¸²à¸¢à¹„ฟฟ้า +block.atmospheric-concentrator.name = เครื่องหลอมรวมบรรยาà¸à¸²à¸¨ +block.oxidation-chamber.name = ห้องผสมผสานออà¸à¸‹à¸´à¹€à¸”ชัน +block.electric-heater.name = เครื่องอุ่นไฟฟ้า +block.slag-heater.name = เครื่องอุ่นà¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ +block.phase-heater.name = เครื่องอุ่นใยเฟส +block.heat-redirector.name = เครื่องเปลี่ยนเส้นทางความร้อน +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = เร้าเตอร์ความร้อน +block.slag-incinerator.name = เตาเผาสลายà¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ +block.carbide-crucible.name = เบ้าหลอมคาร์ไบด์ +block.slag-centrifuge.name = เครื่องà¹à¸›à¸£à¸£à¸¹à¸›à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ +block.surge-crucible.name = เบ้าหลอมเสิร์จ +block.cyanogen-synthesizer.name = เครื่องสังเคราะห์ไซยาโนเจน +block.phase-synthesizer.name = เครื่องสังเคราะห์ใยเฟส +block.heat-reactor.name = เตาปà¸à¸´à¸à¸£à¸“์ความร้อน +block.beryllium-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸šà¸£à¸´à¸¥à¹€à¸¥à¸µà¹ˆà¸¢à¸¡ +block.beryllium-wall-large.name = à¸à¸³à¹à¸žà¸‡à¹€à¸šà¸£à¸´à¸¥à¹€à¸¥à¸µà¹ˆà¸¢à¸¡à¸‚นาดใหà¸à¹ˆ +block.tungsten-wall.name = à¸à¸³à¹à¸žà¸‡à¸—ังสเตน +block.tungsten-wall-large.name = à¸à¸³à¹à¸žà¸‡à¸—ังสเตนขนาดใหà¸à¹ˆ +block.blast-door.name = ประตูนิรภัย +block.carbide-wall.name = à¸à¸³à¹à¸žà¸‡à¸„าร์ไบด์ +block.carbide-wall-large.name = à¸à¸³à¹à¸žà¸‡à¸„าร์ไบด์ขนาดใหà¸à¹ˆ +block.reinforced-surge-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸ªà¸´à¸£à¹Œà¸ˆà¹€à¸ªà¸£à¸´à¸¡à¸à¸³à¸¥à¸±à¸‡ +block.reinforced-surge-wall-large.name = à¸à¸³à¹à¸žà¸‡à¹€à¸ªà¸´à¸£à¹Œà¸ˆà¹€à¸ªà¸£à¸´à¸¡à¸à¸³à¸¥à¸±à¸‡à¸‚นาดใหà¸à¹ˆ +block.shielded-wall.name = à¸à¸³à¹à¸žà¸‡à¹€à¸ªà¸£à¸´à¸¡à¹‚ล่ +block.radar.name = เรดาร์ +block.build-tower.name = หอà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +block.regen-projector.name = เครื่องฉายฟึ้นฟู +block.shockwave-tower.name = หอปล่อยคลื่นà¸à¸£à¸°à¹à¸—ภ+block.shield-projector.name = เครื่องฉายโล่ +block.large-shield-projector.name = เครื่องฉายโล่ขนาดใหà¸à¹ˆ +block.armored-duct.name = ท่อสูà¸à¸à¸²à¸à¸²à¸¨à¹€à¸ªà¸£à¸´à¸¡à¹€à¸à¸£à¸²à¸° +block.overflow-duct.name = ท่อระบายสูà¸à¸à¸²à¸à¸²à¸¨ +block.underflow-duct.name = ท่อระบายข้างสูà¸à¸à¸²à¸à¸²à¸¨ +block.duct-unloader.name = ตัวถ่ายสูà¸à¸à¸²à¸à¸²à¸¨ +block.surge-conveyor.name = สายพานเสิร์จ +block.surge-router.name = เร้าเตอร์เสิร์จ +block.unit-cargo-loader.name = เครื่องโหลดยูนิตบรรทุภ+block.unit-cargo-unload-point.name = จุดถ่ายยูนิตบรรทุภ+block.reinforced-pump.name = ปั้มเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-conduit.name = ท่อน้ำเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-liquid-junction.name = ทางà¹à¸¢à¸à¸‚องเหลวเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-bridge-conduit.name = สะพานของเหลวเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-liquid-router.name = เร้าเตอร์ของเหลวเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-liquid-container.name = ตู้บรรจุของเหลวเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-liquid-tank.name = ถังบรรจุของเหลวเสริมà¸à¸³à¸¥à¸±à¸‡ +block.beam-node.name = โหนดลำà¹à¸ªà¸‡ +block.beam-tower.name = เสาลำà¹à¸ªà¸‡ +block.beam-link.name = ลิ้งค์ลำà¹à¸ªà¸‡ +block.turbine-condenser.name = เครื่องควบà¹à¸™à¹ˆà¸™à¸à¸±à¸‡à¸«à¸±à¸™ +block.chemical-combustion-chamber.name = ห้องเผาไหม้ทางเคมี +block.pyrolysis-generator.name = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าไพโรไลซิส +block.vent-condenser.name = เครื่องควบà¹à¸™à¹ˆà¸™à¸›à¸¥à¹ˆà¸­à¸‡ +block.cliff-crusher.name = เครื่องบดหน้าผา +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = เครื่องขุดเจาะพลาสม่า +block.large-plasma-bore.name = เครื่องขุดเจาะพลาสม่าขนาดใหà¸à¹ˆ +block.impact-drill.name = เครื่องขุดà¹à¸£à¸‡à¸à¸£à¸°à¹à¸—ภ+block.eruption-drill.name = เครื่องขุดà¹à¸£à¸‡à¸›à¸°à¸—ุ +block.core-bastion.name = à¹à¸à¸™à¸à¸¥à¸²à¸‡: บาสเชี่ยน +block.core-citadel.name = à¹à¸à¸™à¸à¸¥à¸²à¸‡: ซิทาเดล +block.core-acropolis.name = à¹à¸à¸™à¸à¸¥à¸²à¸‡: อะโครโพลิส +block.reinforced-container.name = ตู้เà¸à¹‡à¸šà¸‚องเสริมà¸à¸³à¸¥à¸±à¸‡ +block.reinforced-vault.name = ตู้นิรภัยเสริมà¸à¸³à¸¥à¸±à¸‡ +block.breach.name = บรีช +block.sublimate.name = ซับลิเมท +block.titan.name = ไททั่น +block.disperse.name = ดิสเพิร์ส +block.afflict.name = อัฟฟลิà¸à¸•์ +block.lustre.name = ลัสเตอร์ +block.scathe.name = สเà¸à¸‹à¸ªà¹Œ +block.tank-refabricator.name = เครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¸£à¸–ถัง +block.mech-refabricator.name = เครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¸ˆà¸±à¸à¸£à¸à¸¥ +block.ship-refabricator.name = เครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¸¢à¸²à¸™à¸šà¸´à¸™ +block.tank-assembler.name = เครื่องประà¸à¸­à¸šà¸£à¸–ถัง +block.ship-assembler.name = เครื่องประà¸à¸­à¸šà¸¢à¸²à¸™à¸šà¸´à¸™ +block.mech-assembler.name = เครื่องประà¸à¸­à¸šà¸ˆà¸±à¸à¸£à¸à¸¥ +block.reinforced-payload-conveyor.name = สายพานบรรทุà¸à¹€à¸ªà¸£à¸´à¸¡à¸à¸³à¸¥à¸±à¸‡ +block.reinforced-payload-router.name = เร้าเตอร์บรรทุà¸à¹€à¸ªà¸£à¸´à¸¡à¸à¸³à¸¥à¸±à¸‡ +block.payload-mass-driver.name = เครื่องโอนถ่ายสิ่งบรรทุภ+block.small-deconstructor.name = เครื่องลบทำลายขนาดเล็ภ+block.canvas.name = หน้าจอวาดรูป +block.world-processor.name = ตัวประมวลผลโลภ+block.world-cell.name = เซลล์โลภ+block.tank-fabricator.name = เครื่องสรรค์สร้างรถถัง +block.mech-fabricator.name = เครื่องสรรค์สร้างจัà¸à¸£à¸à¸¥ +block.ship-fabricator.name = เครื่องสรรค์สร้างยานบิน +block.prime-refabricator.name = เครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¹€à¸¢à¸µà¹ˆà¸¢à¸¡à¸¢à¸­à¸” +block.unit-repair-tower.name = หอซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸• +block.diffuse.name = ดิฟฟิวส์ +block.basic-assembler-module.name = หน่วยประà¸à¸­à¸šà¸à¸²à¸£à¸‚ั้นพื้นà¸à¸²à¸™ +block.smite.name = สไมต์ +block.malign.name = มาไลน์ +block.flux-reactor.name = เตาปà¸à¸´à¸à¸£à¸“์ฟลัà¸à¸‹à¹Œ +block.neoplasia-reactor.name = เตาปà¸à¸´à¸à¸£à¸“์นีโอพลาเซีย -block.switch.name = สวิชต์ -block.micro-processor.name = ตัวประมวลผล Micro -block.logic-processor.name = ตัวประมวลผล Logic -block.hyper-processor.name = ตัวประมวลผล Hyper -block.logic-display.name = ตัวà¹à¸ªà¸”ง Logic -block.large-logic-display.name = ตัวà¹à¸ªà¸”ง Logic ขนาดใหà¸à¹ˆ +block.switch.name = สวิตช์ +block.micro-processor.name = ตัวประมวลผลขนาดเล็ภ+block.logic-processor.name = ตัวประมวลผลลอจิภ+block.hyper-processor.name = ตัวประมวลผลไฮเปอร์ +block.logic-display.name = หน้าจอลอจิภ+block.large-logic-display.name = หน้าจอลอจิà¸à¸‚นาดใหà¸à¹ˆ block.memory-cell.name = เซลล์ความจำ -block.memory-bank.name = Memory Bank +block.memory-bank.name = ธนาคารความจำ -team.blue.name = น้ำเงิน -team.crux.name = à¹à¸”ง -team.sharded.name = ส้ม -team.orange.name = ส้ม -team.derelict.name = ไม่มี +team.malis.name = มาลิส +team.crux.name = ครัà¸à¸‹à¹Œ +team.sharded.name = ชาร์ด +team.derelict.name = ทิ้งร้าง team.green.name = เขียว -team.purple.name = ม่วง +team.blue.name = น้ำเงิน -tutorial.next = [lightgray]<à¸à¸”เพื่อดำเนินà¸à¸²à¸£à¸•่อ> -tutorial.intro = คุณได้เข้าสู่[scarlet] บทà¸à¸¶à¸à¸ªà¸­à¸™à¸‚อง Mindustry.[]\nใช้[accent] [[WASD][] เพื่อเคลื่อนที่.\n[accent]à¸à¸” [] ค้างระหว่างà¸à¸¥à¸´à¹‰à¸‡à¸¥à¸¹à¸à¸à¸¥à¸´à¹‰à¸‡à¹€à¸¡à¹‰à¸²à¸ªà¹Œ[] เพื่อซูมเข้าà¹à¸¥à¸°à¸­à¸­à¸.\nเริ่มด้วยà¸à¸²à¸£[accent] ขุดทองà¹à¸”ง[]. เคลื่อนที่ไปใà¸à¸¥à¹‰à¸¡à¸±à¸™, à¹à¸¥à¹‰à¸§à¸à¸”ที่สายà¹à¸£à¹ˆà¸—องà¹à¸”งใà¸à¸¥à¹‰à¹†à¸à¸±à¸šà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องคุณ\n\n[accent]ทองà¹à¸”ง {0}/{1} ชิ้น -tutorial.intro.mobile = คุณได้เข้าสู่[scarlet] บทà¸à¸¶à¸à¸ªà¸­à¸™à¸‚อง Mindustry.[]\nเลื่อนหน้าจอเพื่อเคลื่อนที่.\n[accent]ขยับสองนิ้วพร้อมà¸à¸±à¸™ []เพื่อซูมเข้าà¹à¸¥à¸°à¸­à¸­à¸.\nเริ่มด้วยà¸à¸²à¸£[accent] ขุดทองà¹à¸”ง[]. เคลื่อนที่ไปใà¸à¸¥à¹‰à¸¡à¸±à¸™, à¹à¸¥à¹‰à¸§à¸à¸”ที่สายà¹à¸£à¹ˆà¸—องà¹à¸”งใà¸à¸¥à¹‰à¹†à¸à¸±à¸šà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องคุณ\n\n[accent]ทองà¹à¸”ง {0}/{1} ชิ้น -tutorial.drill = ขุดด้วยตัวเองนั้นไม่ค่อยมีประสิทธิภาพ.\n[accent]เครื่องขุด []สามารถขุดได้à¹à¸šà¸šà¸­à¸±à¸•โนมัติ.\nà¸à¸”ที่หมวดเครื่องขุดที่มุมล่างขวา.\nเลือà¸[accent] เครื่องขุดเชิงà¸à¸¥[]. วางมันบนสายà¹à¸£à¹ˆà¸—องà¹à¸”งด้วยà¸à¸²à¸£à¸„ลิ๊à¸.\n[accent]คลิ๊à¸à¸‚วา[] เพื่อหยุดà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡. -tutorial.drill.mobile = ขุดด้วยตัวเองนั้นไม่ค่อยมีประสิทธิภาพ.\n[accent]เครื่องขุด []สามารถขุดได้à¹à¸šà¸šà¸­à¸±à¸•โนมัติ.\nà¸à¸”ที่หมวดเครื่องขุดที่มุมล่างขวา.\nเลือà¸[accent] เครื่องขุดเชิงà¸à¸¥[].\nวางมันบนสายà¹à¸£à¹ˆà¸—องà¹à¸”งด้วยà¸à¸²à¸£à¸à¸”à¹à¸¥à¹‰à¸§à¸à¸”ที่[accent] เครื่องหมายถูà¸[] ด้านล่างเพื่อยืนยันà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡.\nà¸à¸”[accent] ปุ่มà¸à¸²à¸à¸šà¸²à¸—[] เพื่อยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸§à¸²à¸‡. -tutorial.blockinfo = บล็อคà¹à¸•่ละบล็อคจะมีสถานะที่ต่างà¸à¸±à¸™. เครื่องขุดà¹à¸•่ละเครื่องจะขุดได้เฉพาะà¹à¸£à¹ˆà¸šà¸²à¸‡à¸Šà¸™à¸´à¸”.\nสามารถตรวจสอบข้อมูลà¹à¸¥à¸°à¸ªà¸–านะของบล็อคได้โดย,[accent] à¸à¸”ที่ปุ่ม "?" เมื่อเลือà¸à¸šà¸¥à¹‡à¸­à¸„นั้นๆในเมนูà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡.[]\n\n[accent]เข้าไปในสถานะของเครื่องขุดเชิงà¸à¸¥à¸”ูสิ.[] -tutorial.conveyor = [accent]สายพาน[] ใช้สำหรับขนส่งไอเท็มไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡.\nสร้างสายพานจาà¸à¹€à¸„รื่องขุดมายังà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸ªà¸´.\n[accent]à¸à¸”ปุ่มเม้าส์ค้างเพื่อสร้างเป็นเส้น.[]\nà¸à¸”[accent] CTRL[] ค้างตอนลาà¸à¹€à¸ªà¹‰à¸™à¹€à¸žà¸·à¹ˆà¸­à¸¥à¸²à¸à¹€à¸ªà¹‰à¸™à¸—à¹à¸¢à¸‡.\nใช้ลูà¸à¸à¸¥à¸´à¹‰à¸‡à¹€à¸¡à¹‰à¸²à¸ªà¹Œà¹€à¸žà¸·à¹ˆà¸­à¸«à¸¡à¸¸à¸™à¸šà¸¥à¹‡à¸­à¸„à¸à¹ˆà¸­à¸™à¸—ี่จะวาง.\n[accent]วางสายพาน 2 อันด้วยเครื่องมือลาà¸à¹€à¸ªà¹‰à¸™ à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¹„อเท็มไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡. -tutorial.conveyor.mobile = [accent]สายพาน[] ใช้สำหรับขนส่งไอเท็มไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡.\nวางสายพาน 2 อันด้วยเครื่องมือลาà¸à¹€à¸ªà¹‰à¸™ à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¹„อเท็มไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡.\n[accent] ลาà¸à¹€à¸ªà¹‰à¸™à¹‚ดยà¸à¸”ที่หน้าจอค้างสัภ1-2 วินาที[] à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹„ปทางที่ต้องà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡\n\n[accent]วางสายพาน 2 อันด้วยเครื่องมือลาà¸à¹€à¸ªà¹‰à¸™ à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¹„อเท็มไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡. -tutorial.turret = หลังจาà¸à¸—ีาไอเท็มเข้าà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹à¸¥à¹‰à¸§, เราจะสามารถใช้มันในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ด้.\nจงจำไว้ว่าไอเท็มบางอันเท่านั้นที่สามารถใช้ในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ด้.\nตัวอย่างไอเท็มที่ไม่ได้ใช่ในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ด้à¹à¸à¹ˆ[accent] ถ่านหิน[] à¹à¸¥à¸°[accent] เศษเหล็à¸[], ไม่สามารถใส่ในà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ด้.\nสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸Šà¸´à¸‡à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸ˆà¸³à¹€à¸›à¹‡à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸²à¸£à¸‚ับไล่[lightgray] ศัตรู[].\nสร้าง[accent] ป้อมปืนดูโอ้[] ใà¸à¸¥à¹‰à¸à¸±à¸šà¸à¸²à¸™à¸‚องคุณ. -tutorial.drillturret = ป้อมปืนดูโอ้ใช้[accent] ทองà¹à¸”งเป็นà¸à¸£à¸°à¸ªà¸¸à¸™ []ในà¸à¸²à¸£à¸¢à¸´à¸‡.\nวางเครื่องขุดใà¸à¸¥à¹‰à¸à¸±à¸šà¸›à¹‰à¸­à¸¡à¸›à¸·à¸™.\nสร้างสายพานไปยังป้อมปืนเพื่อที่จะเติมทองà¹à¸”งให้มัน.\n\n[accent]ส่งà¸à¸£à¸°à¸ªà¸¸à¸™à¹à¸¥à¹‰à¸§: 0/1 -tutorial.pause = ระหว่างà¸à¸²à¸£à¸•่อสู้, คุณสามารถ[accent]หยุดเà¸à¸¡à¸Šà¸±à¹ˆà¸§à¸„ราวได้.[]\nคุณอาจจะทำคิวà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸«à¸¢à¸¸à¸”เà¸à¸¡à¸Šà¸±à¹ˆà¸§à¸„ราว.\n\n[accent]à¸à¸” space เพื่อหยุดเà¸à¸¡à¸Šà¸±à¹ˆà¸§à¸„ราว. -tutorial.pause.mobile = ระหว่างà¸à¸²à¸£à¸•่อสู้, คุณสามารถ[accent] หยุดเà¸à¸¡à¸Šà¸±à¹ˆà¸§à¸„ราวได้.[]\nคุณอาจจะทำคิวà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸«à¸¢à¸¸à¸”เà¸à¸¡à¸Šà¸±à¹ˆà¸§à¸„ราว.\n\n[accent]à¸à¸”ปุ่มที่มุมบนซ้ายเพื่อหยุดเà¸à¸¡à¸Šà¸±à¹ˆà¸§à¸„ราว. -tutorial.unpause = à¸à¸” Space อีà¸à¸„รั้งเพื่อเล่นต่อ. -tutorial.unpause.mobile = à¸à¸”ปุ่มนั้นอีà¸à¸„รั้งเพื่อเล่นต่อ. -tutorial.breaking = บล็อคจำเป็นต้องทำลายบ่อยครั้ง.\n[accent]à¸à¸”คลิ๊à¸à¸‚วาค้าง[] เพื่อทำลายบล็อคที่เลือà¸.[]\n\n[accent]ทำลายบล็อคเศษเหล็à¸à¸—ั้งหมดที่ยู่ทางด้านซ้ายของà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องคุณโดยใช้à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¹à¸šà¸šà¸„ลุมพื้นที่. -tutorial.breaking.mobile = บล็อคจำเป็นต้องทำลายบ่อยครั้ง.\n[accent]เลือà¸à¹‚หมดทำลาย[], à¹à¸¥à¹‰à¸§à¸à¸”บล็อคที่ต้องà¸à¸²à¸£à¸—ำลายเพื่อเริ่มทำลายมัน.\nทำลายเป็นพื้นที่ด้วยà¸à¸²à¸£à¸à¸”ค้าง 1-2 วินาที[] à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¸„ลุมพื้นที่ที่ต้องà¸à¸²à¸£.\nà¸à¸”เครื่องหมายถูà¸à¹€à¸žà¸·à¹ˆà¸­à¸¢à¸·à¸™à¸¢à¸±à¸™à¸à¸²à¸£à¸—ำลาย.\n\n[accent]ทำลายบล็อคเศษเหล็à¸à¸—ั้งหมดที่ยู่ทางด้านซ้ายของà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องคุณโดยใช้à¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¹à¸šà¸šà¸„ลุมพื้นที่. -tutorial.withdraw = ในบางเหตุà¸à¸²à¸£à¸“์, à¸à¸²à¸£à¸™à¸³à¹„อเท็มออà¸à¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸„นั้นจำเป็น.\nวิธีทำคือ, [accent]à¸à¸”ที่บล็อค[] ที่มีไอเท็มอยู่, à¹à¸¥à¹‰à¸§ [accent]à¸à¸”ไอเท็ม[] ในช่องเà¸à¹‡à¸šà¸‚อง.\nไอเท็มหลายๆอันสามารถนำออà¸à¸¡à¸²à¹„ด้โดย [accent]à¸à¸”ค้างที่ช่องเà¸à¹‡à¸šà¸‚อง[].\n\n[accent]นำทองà¹à¸”งจำนวนหนึ่งออà¸à¸ˆà¸²à¸à¹à¸à¸™à¸à¸¥à¸²à¸‡.[] -tutorial.deposit = นำไอเท็มเข้าบล็อคโดยลาà¸à¹„อเท็มจาà¸à¸¢à¸²à¸™à¸‚องคุณไปที่บล็อคที่ต้องà¸à¸²à¸£.\n\n[accent]เอาทองà¹à¸”งà¸à¸¥à¸±à¸šà¹€à¸‚้าà¹à¸à¸™à¸à¸¥à¸²à¸‡.[] -tutorial.waves = [lightgray]ศัตรู[] à¸à¸³à¸¥à¸±à¸‡à¸¡à¸².\n\nปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องคุณ 2 คลื่น(รอบ).[accent] คลิ๊à¸[] เพื่อยิง.\nสร้างป้อมปืนà¹à¸¥à¸°à¹€à¸„รื่องขุดเพิ่มเพื่อขุดทองà¹à¸”งเพิ่มà¹à¸¥à¸°à¸›à¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡. -tutorial.waves.mobile = [lightgray]ศัตรู[] à¸à¸³à¸¥à¸±à¸‡à¸¡à¸².\n\nปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‚องคุณ 2 คลื่น(รอบ). ยานของคุณจะยิงศตรูโดยอัตโนมัติ.\nสร้างป้อมปืนà¹à¸¥à¸°à¹€à¸„รื่องขุดเพิ่มเพื่อขุดทองà¹à¸”งเพิ่มà¹à¸¥à¸°à¸›à¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡. -tutorial.launch = เมื่อถึงคลื่น(รอบ)เฉพาะà¹à¸¥à¹‰à¸§, คุณจะสามารถ[accent] ส่งà¹à¸à¸™à¸à¸¥à¸²à¸‡[], ทิ้งระบบป้องà¸à¸±à¸™à¸—ั้งหมดà¹à¸¥à¸°[accent] ได้รับทรัพยาà¸à¸£à¸—ั้งหมดในà¹à¸à¸™à¸à¸¥à¸²à¸‡.[]\nทรัพยาà¸à¸£à¸žà¸§à¸à¸™à¸µà¹‰à¸ªà¸²à¸¡à¸²à¸£à¸–นำไปใช้ในà¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢à¹€à¸—คโนโลยีใหม่ได้.\n\n[accent]à¸à¸”ปุ่มส่งสิ. +hint.skip = ข้าม +hint.desktopMove = à¸à¸” [accent][[WASD][] เพื่อขยับ +hint.zoom = [accent]เลื่อน[]เพื่อซูมเข้าหรือซูมออภ+hint.desktopShoot = à¸à¸” [accent][[คลิ๊à¸à¸‹à¹‰à¸²à¸¢][] เพื่อยิง +hint.depositItems = ถ้าจะขนย้ายไอเท็ม ให้ลาà¸à¹„อเท็มจาà¸à¸¢à¸²à¸™à¹„ปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡ +hint.respawn = ถ้าอยาà¸à¹€à¸à¸´à¸”ใหม่ ให้à¸à¸”ปุ่ม [accent][[V][] +hint.respawn.mobile = คุณà¸à¸³à¸¥à¸±à¸‡à¸„วบคุมยูนิตหรือบล็อà¸à¸­à¸¢à¸¹à¹ˆ ถ้าจะเà¸à¸´à¸”ใหม่เป็นยาน [accent]à¸à¸”ที่รูปอวาตาร์ซ้ายบน[] +hint.desktopPause = à¸à¸” [accent][[Space][] เพื่อหยุดชั่วคราวหรือเล่นต่อ +hint.breaking = [accent]คลิ๊à¸à¸‚วา[] à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¸—ำลายบล็อภ+hint.breaking.mobile = เปิดใช้ \ue817 [accent]ค้อน[] ตรงล่างขวาà¹à¸¥à¹‰à¸§à¹€à¸¥à¸·à¸­à¸à¹€à¸žà¸·à¹ˆà¸­à¸—ำลายบล็อà¸\n\nเอานิ้วจิ้มลงไปสัà¸à¹à¸›à¹Šà¸šà¸™à¸¶à¸‡à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸¥à¸·à¸­à¸à¸«à¸¥à¸²à¸¢à¹† อัน +hint.blockInfo = ดูข้อมูลของบล็อà¸à¹‚ดยà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¸ˆà¸²à¸[accent]เมนูà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡[] à¹à¸¥à¹‰à¸§à¸à¸”ที่รูป [accent][[?][] ตรงด้านขวา +hint.derelict = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ถูà¸[accent]ทิ้งร้าง[]คือเศษซาà¸à¸žà¸±à¸‡à¸—ลายของà¸à¸²à¸™à¹€à¸à¹ˆà¸²à¹à¸à¹ˆà¸—ี่ไม่สามารถใช้งานได้à¹à¸¥à¹‰à¸§\n\nสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸§à¸à¸™à¸µà¹‰à¸ªà¸²à¸¡à¸²à¸£à¸–[accent]ทุบทิ้ง[]เพื่อเà¸à¹‡à¸šà¹€à¸à¸µà¹ˆà¸¢à¸§à¸—รัพยาà¸à¸£à¸—ี่อยู่ในนั้นได้ +hint.research = à¸à¸”ปุ่ม \ue875 [accent]วิจัย[] เพื่อวิจัยเทคโนโลยีใหม่ๆ +hint.research.mobile = à¸à¸”ปุ่ม \ue875 [accent]วิจัย[] ใน \ue88c [accent]เมนู[] เพื่อวิจัยเทคโนโลยีใหม่ๆ +hint.unitControl = à¸à¸” [accent][[L-Ctrl][] ค้างไว้à¹à¸¥à¹‰à¸§à¸à¸”[accent]คลิ๊à¸[]เพื่อควบคุมยานพันธมิตรหรือป้อมปืน +hint.unitControl.mobile = [accent][[à¸à¸”สองครั้ง][] เพื่อควบคุมยานพันธมิตรหรือป้อมปืน +hint.unitSelectControl = เพื่อที่จะควบคุมยูนิต ให้เปิด[accent]โหมดสั่งà¸à¸²à¸£[]โดยà¸à¸²à¸£à¸à¸” [accent]L-shift[]\nระหว่างที่อยู่ในโหมดสั่งà¸à¸²à¸£ ให้คลิ๊à¸à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸¥à¸·à¸­à¸à¸¢à¸¹à¸™à¸´à¸• à¹à¸¥à¹‰à¸§[accent]คลิ๊à¸à¸‚วา[]ที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸«à¸£à¸·à¸­à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¹€à¸žà¸·à¹ˆà¸­à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£à¹ƒà¸«à¹‰à¸¢à¸¹à¸™à¸´à¸•ไปที่นั่น +hint.unitSelectControl.mobile = เพื่อที่จะควบคุมยูนิต ให้เปิด[accent]โหมดสั่งà¸à¸²à¸£[]โดยà¸à¸²à¸£à¸à¸”ปุ่ม[accent]สั่งà¸à¸²à¸£[]ที่ซ้ายล่างของจอ\nระหว่างที่อยู่ในโหมดสั่งà¸à¸²à¸£ ให้à¸à¸”ค้างà¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸¥à¸·à¸­à¸à¸¢à¸¹à¸™à¸´à¸• à¹à¸¥à¹‰à¸§à¸à¸”ที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸«à¸£à¸·à¸­à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¹€à¸žà¸·à¹ˆà¸­à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£à¹ƒà¸«à¹‰à¸¢à¸¹à¸™à¸´à¸•ไปที่นั่น +hint.launch = เมื่อเà¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹€à¸¢à¸­à¸°à¸žà¸­ คุณสามารถ[accent]ส่งà¹à¸à¸™à¸à¸¥à¸²à¸‡[]ไปยังเซ็à¸à¹€à¸•อร์ถัดไปโดยà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¹€à¸‹à¹‡à¸à¹€à¸•อร์จาภ\ue827 [accent]à¹à¸œà¸™à¸—ี่[] ตรงขวาล่าง +hint.launch.mobile = เมื่อเà¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹€à¸¢à¸­à¸°à¸žà¸­ คุณสามารถ[accent]ส่งà¹à¸à¸™à¸à¸¥à¸²à¸‡[]ไปยังเซ็à¸à¹€à¸•อร์ถัดไปโดยà¸à¸²à¸£à¹€à¸¥à¸·à¸­à¸à¹€à¸‹à¹‡à¸à¹€à¸•อร์จาภ\ue827 [accent]à¹à¸œà¸™à¸—ี่[] ใน \ue88c [accent]เมนู[] +hint.schematicSelect = à¸à¸” [accent][[F][] à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸¥à¸·à¸­à¸à¸šà¸¥à¹‡à¸­à¸à¸—ี่จะคัดลอà¸à¹à¸¥à¸°à¸§à¸²à¸‡\n\n[accent][[คลิ๊à¸à¸à¸¥à¸²à¸‡][] เพื่อคัดลอà¸à¸šà¸¥à¹‡à¸­à¸à¸Šà¸™à¸´à¸”เดียว +hint.rebuildSelect = à¸à¸” [accent][[B][] à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸¥à¸·à¸­à¸à¹à¸œà¸™à¸šà¸¥à¹‡à¸­à¸à¸—ี่ถูà¸à¸—ำลาย\nà¹à¸œà¸™à¸šà¸¥à¹‡à¸­à¸à¸—ี่เลือà¸à¸ˆà¸°à¸–ูà¸à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸«à¸¡à¹‰à¹‚ดยอัตโนมัติ +hint.rebuildSelect.mobile = à¸à¸”ปุ่ม \ue874 คัดลอภà¹à¸¥à¹‰à¸§à¸à¸”ปุ่ม \ue80f สร้างใหม่à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸¥à¸·à¸­à¸à¹à¸œà¸™à¸šà¸¥à¹‡à¸­à¸à¸—ี่ถูà¸à¸—ำลาย\nà¹à¸œà¸™à¸šà¸¥à¹‡à¸­à¸à¸—ี่เลือà¸à¸ˆà¸°à¸–ูà¸à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸«à¸¡à¹‰à¹‚ดยอัตโนมัติ +hint.conveyorPathfind = à¸à¸” [accent][[L-Ctrl][] ในขณะที่à¸à¸³à¸¥à¸±à¸‡à¸¥à¸²à¸à¸ªà¸²à¸¢à¸žà¸²à¸™à¹€à¸žà¸·à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸ªà¹‰à¸™à¸—างà¹à¸šà¸šà¸­à¸±à¸•โนมัติ +hint.conveyorPathfind.mobile = เปิดใช้งาน \ue844 [accent]โหมดà¹à¸™à¸§à¸—à¹à¸¢à¸‡[] à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¸ªà¸²à¸¢à¸žà¸²à¸™à¹€à¸žà¸·à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸ªà¹‰à¸™à¸—างà¹à¸šà¸šà¸­à¸±à¸•โนมัติ +hint.boost = à¸à¸” [accent][[L-Shift][] เพื่อบูสต์ข้ามสิ่งà¸à¸µà¸”ขวางด้วยยูนิตของคุณ\n\nยูนิตพื้นดินบางประเภทเท่านั้นที่บินได้ +hint.payloadPickup = à¸à¸” [accent][[[] เพื่อหยิบบล็อà¸à¹€à¸¥à¹‡à¸à¹† หรือยูนิต +hint.payloadPickup.mobile = [accent]à¸à¸”ค้างไว้[]ที่บล็อà¸à¹€à¸¥à¹‡à¸à¹† หรือตัวยูนิตเพื่อหยิบขึ้นมา +hint.payloadDrop = à¸à¸” [accent]][] เพื่อวางสิ่งที่บรรทุà¸à¸­à¸¢à¸¹à¹ˆ +hint.payloadDrop.mobile = [accent]à¸à¸”ค้างไว้[]ที่พื้นที่โล่งๆ เพื่อวางสิ่งที่บรรทุà¸à¸­à¸¢à¸¹à¹ˆ +hint.waveFire = ป้อมปืน[accent]คลื่นน้ำ[]หาà¸à¹€à¸•ิมน้ำเข้าไปจะช่วยดับไฟรอบข้างให้อัตโนมัติ +hint.generator = \uf879 [accent]เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้[]จะเผาถ่านà¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ปยังบล็อà¸à¸—ี่อยู่ใà¸à¸¥à¹‰à¹†\n\nระยะของพลังงานสามารถขยายได้ด้วย \uf87f [accent]ตัวจ่ายพลังงาน[] +hint.guardian = หน่วย[accent]ผู้พิทัà¸à¸©à¹Œ[]มีเà¸à¸£à¸²à¸°à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸«à¸™à¸²à¹à¸™à¹ˆà¸™ à¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸›à¸£à¸²à¸°à¸šà¸²à¸‡à¸­à¸¢à¹ˆà¸²à¸‡[accent]ทองà¹à¸”ง[]à¹à¸¥à¸°[accent]ตะà¸à¸±à¹ˆà¸§[][scarlet]ไม่มีประสิทธิภาพ[]\n\nควรใช้ป้อมปืนที่ดีà¸à¸§à¹ˆà¸²à¸™à¸µà¹‰à¸«à¸£à¸·à¸­à¹ƒà¸Šà¹‰ \uf835 [accent]à¸à¸£à¸²à¹„ฟท์[]ใส่ใน \uf861 ดูโอ/ \uf859 ซัลโวเป็นà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸žà¸·à¹ˆà¸­à¸—ำลายผู้พิทัà¸à¸©à¹Œ +hint.coreUpgrade = สามารถอัปเà¸à¸£à¸”à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ด้โดย[accent]วางà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸—ี่ใหà¸à¹ˆà¸à¸§à¹ˆà¸²à¸—ับมัน[]\n\nวาง \uf868 [accent]à¹à¸à¸™à¸à¸¥à¸²à¸‡: ฟาวน์เดชั่น[]ทับ \uf869 [accent]à¹à¸à¸™à¸à¸¥à¸²à¸‡: ชาร์ด[] ต้องà¹à¸™à¹ˆà¹ƒà¸ˆà¸§à¹ˆà¸²à¸£à¸­à¸šà¸‚้างมีที่ว่างà¸à¹ˆà¸­à¸™à¸ˆà¸°à¸§à¸²à¸‡ +hint.presetLaunch = [accent]เซ็à¸à¹€à¸•อร์ลงจอด[]สีเทา อย่างเช่น[accent]ป่าหนาวเหน็บ[] สามารถลงจอดจาà¸à¸—ี่ไหนที่ได้ในà¹à¸œà¸™à¸—ี่ พวà¸à¸™à¸±à¹‰à¸™à¹„ม่จำเป็นต้องยืดครองเซ็à¸à¹€à¸•อร์รอบข้างเพื่อส่งà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ป\n\n[accent]เซ็à¸à¹€à¸•อร์ที่มีเลข[] อย่างเช่นอันนี้[accent]ไม่จำเป็น[]ต้องยืดครอง +hint.presetDifficulty = เซ็à¸à¹€à¸•อร์นี้มี[scarlet]ระดับภัยคุà¸à¸„ามศัตรูสูง[]\n[accent]ไม่à¹à¸™à¸°à¸™à¸³[]ให้ลงจอดไปยังเซ็à¸à¹€à¸‹à¸­à¸£à¹Œà¸žà¸§à¸à¸™à¸±à¹‰à¸™à¸«à¸²à¸à¹„ม่มีà¸à¸²à¸£à¹€à¸•รียมพร้อมà¹à¸¥à¸°à¹€à¸—คโนโลยี +hint.coreIncinerate = เมื่อà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸¡à¸µà¸ˆà¸³à¸™à¸§à¸™à¹„อเท็มชนิดหนึ่งที่à¸à¸±à¸à¹€à¸à¹‡à¸šà¹„ว้เต็ม ไอเท็มชนิดนั้นที่เข้ามาเพิ่มจะ[accent]ถูà¸à¹€à¸œà¸²[] +hint.factoryControl = เพื่อที่จะตั้ง[accent]ตำà¹à¸«à¸™à¹ˆà¸‡à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸­à¸­à¸[]ของโรงงานยูนิต ให้à¸à¸”ที่โรงงานยูนิตในระหว่างที่อยู่ในโหมดสั่งà¸à¸²à¸£ à¹à¸¥à¹‰à¸§à¸à¸”คลิ๊à¸à¸‚วาที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ต้องà¸à¸²à¸£à¸•ั้ง\nยูนิตที่ถูà¸à¸œà¸¥à¸´à¸•จะขยับออà¸à¸¡à¸²à¸—ี่จุดที่ตั้งโดยอัตโนมัติ +hint.factoryControl.mobile = เพื่อที่จะตั้ง[accent]ตำà¹à¸«à¸™à¹ˆà¸‡à¸à¸²à¸£à¸ªà¹ˆà¸‡à¸­à¸­à¸[]ของโรงงานยูนิต ให้à¸à¸”ที่โรงงานยูนิตในระหว่างที่อยู่ในโหมดสั่งà¸à¸²à¸£ à¹à¸¥à¹‰à¸§à¸à¸”ที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ต้องà¸à¸²à¸£à¸•ั้ง\nยูนิตที่ถูà¸à¸œà¸¥à¸´à¸•จะขยับออà¸à¸¡à¸²à¸—ี่จุดที่ตั้งโดยอัตโนมัติ -item.copper.description = วัสดุà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸·à¹‰à¸™à¸à¸²à¸™. ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸šà¸¥à¹‡à¸­à¸„เà¸à¸·à¸­à¸šà¸—ุà¸à¸Šà¸™à¸´à¸”. -item.lead.description = ทรัพยาà¸à¸£à¸žà¸·à¹‰à¸™à¸à¸²à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸œà¸¹à¹‰à¹€à¸£à¸´à¹ˆà¸¡à¸•้นใหม่. ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸­à¸´à¹€à¸¥à¹‡à¸à¸—รอนิà¸à¸ªà¹Œà¹à¸¥à¸°à¸šà¸¥à¹‡à¸­à¸„ขนย้ายของเหลว. -item.metaglass.description = ส่วนผสมของà¸à¸£à¸°à¸ˆà¸à¸—ี่à¹à¸‚็งà¹à¸£à¸‡à¸¡à¸²à¸. ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¸à¸±à¸šà¸•ัวจ่ายของเหลวà¹à¸¥à¸°à¸—ี่เà¸à¹‡à¸šà¸‚อง. -item.graphite.description = เà¸à¸´à¸”จาà¸à¸à¸²à¸£à¸ˆà¸±à¸”เรียงตัวใหม่ของคาร์บอน, ใช้เป็นà¸à¸£à¸°à¸ªà¸¸à¸™à¹à¸¥à¸°à¸Šà¸´à¹‰à¸™à¸ªà¹ˆà¸§à¸™à¸­à¸¸à¸›à¸à¸£à¸“์ไฟฟ้า. -item.sand.description = ทรัพยาà¸à¸²à¸£à¸—ี่พบได้ทั่วไป ซึ่งใช้à¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸à¸²à¸£à¸«à¸¥à¸­à¸¡, ทั้งในอัลลอยà¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¸•ัวผสาน. -item.coal.description = ซาà¸à¸žà¸·à¸Šà¸—ี่ถับถมเมื่อนานมาà¹à¸¥à¹‰à¸§. ใช้เป็นเชื้อเพลิงà¹à¸¥à¸°à¸œà¸¥à¸´à¸•ทรัพยาà¸à¸£à¸­à¸¢à¹ˆà¸²à¸‡à¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢. -item.titanium.description = โลหะเบาซึ่งหายาภใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸à¸²à¸£à¸‚นย้ายของเหลว, เครื่องขุดเจาะà¹à¸¥à¸°à¸­à¸²à¸à¸²à¸¨à¸¢à¸²à¸™. -item.thorium.description = โลหะซึ่งหนาà¹à¸™à¹ˆà¸™à¹à¸¥à¸°à¸¡à¸µà¸à¸±à¸¡à¸¡à¸±à¸•ภาพรังสี ใช้เป็นตัวช่วยในสิ่งปลูà¸à¸ªà¸£à¹‰à¸²à¸‡à¸šà¸²à¸‡à¸›à¸£à¸°à¹€à¸ à¸—à¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¹€à¸Šà¸·à¹‰à¸­à¹€à¸žà¸¥à¸´à¸‡à¸™à¸´à¸§à¹€à¸„ลียร์. -item.scrap.description = เศษที่เหลือจาà¸à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•เà¸à¹ˆà¸². มีร่องรอยของโลหะหลายชนิดอยู่. -item.silicon.description = สารà¸à¸¶à¹ˆà¸‡à¸•ัวนำที่มีประโยชน์มาà¸. ใช้ในà¹à¸œà¸‡à¹‚ซลาร์, อุปà¸à¸£à¸“์อิเล็à¸à¸—รอนิà¸à¸—ี่ซับซ้อนà¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¸—ี่ยิงจาà¸à¸£à¸°à¸¢à¸°à¹„à¸à¸¥. -item.plastanium.description = วัสดุเบาà¹à¸¥à¸°à¸”ัดได้ ใช้ในอาà¸à¸²à¸¨à¸¢à¸²à¸™à¸‚ั้นสูงà¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸¸à¸™à¸à¸£à¸°à¸ˆà¸²à¸¢. -item.phase-fabric.description = วัสดุที่เà¸à¸·à¸­à¸šà¹„ร้น้ำหนัภใช้ในอิเล็à¸à¸—รอนิà¸à¸ªà¹Œà¸‚ั้นสูงà¹à¸¥à¸°à¹€à¸—คโนโลยีซ่อมà¹à¸‹à¸¡à¸•นเอง -item.surge-alloy.description = อัลลอยขั้นสูงที่มีคุณสมบัติทางไฟฟ้าที่จำเพาะ -item.spore-pod.description = à¸à¸£à¸°à¹€à¸›à¸²à¸°à¸‚องสปอร์สังเคราะห์, สังเคราะห์โดยà¸à¸²à¸£à¸£à¸§à¸šà¸£à¸§à¸¡à¸ˆà¸²à¸à¸­à¸²à¸à¸²à¸¨ ใช้ในอุตสาหà¸à¸£à¸£à¸¡. ใช้ในà¸à¸²à¸£à¸à¸¥à¸±à¹ˆà¸™à¹€à¸›à¹‡à¸™à¸™à¹‰à¸³à¸¡à¸±à¸™, สารระเบิดà¹à¸¥à¸°à¹€à¸Šà¸·à¹‰à¸­à¹€à¸žà¸¥à¸´à¸‡. -item.blast-compound.description = สารประà¸à¸­à¸šà¸—ี่ไม่เสถียร ใช้ในà¸à¸²à¸£à¸£à¸°à¹€à¸šà¸´à¸”. สังเคราะห์จาà¸à¸ªà¸›à¸­à¸£à¹Œà¹à¸¥à¸°à¸ªà¸²à¸£à¸£à¸°à¹€à¸«à¸¢à¸­à¸·à¹ˆà¸™à¹†. ไม่à¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¹€à¸›à¹‡à¸™à¹€à¸Šà¸·à¹‰à¸­à¹€à¸žà¸¥à¸´à¸‡. -item.pyratite.description = สารซึ่งติดไฟง่าย ใช้ในอาวุธเพลิง. -liquid.water.description = ของเหลวที่มีประโยชน์ที่สุด โดยทั่วไปใช้เป็นตัวหล่อเย็นà¹à¸¥à¸°à¸ˆà¸±à¸”à¸à¸²à¸£à¸‚องเสีย. -liquid.slag.description = โลหะชนิดต่างๆซึ่งหลอมรวมà¸à¸±à¸™. สามารถนำไปà¹à¸¢à¸à¹‚ลหะที่จำเป็นหรือเป็นอาวุธพ่นใส่ศัตรู. -liquid.oil.description = ของเหลวใช้ในà¸à¸²à¸£à¸œà¸¥à¸´à¸•วัสดุขั้นสูง. สามารถà¹à¸›à¸¥à¸‡à¹€à¹€à¸›à¹‡à¸™à¸–่านหินเพือใช้เป็นเชื้อเพลิง หรือเป็นอาวุธเพื่อพ่นใส่ศัตรูà¹à¸¥à¹‰à¸§à¸ˆà¸¶à¸‡à¸ˆà¸¸à¸”ไฟ. -liquid.cryofluid.description = ของเหลวเฉื่อยà¹à¸¥à¸°à¹„ม่à¸à¸±à¸”à¸à¸£à¹ˆà¸­à¸™ ผลิตจาà¸à¸™à¹‰à¸³à¹à¸¥à¸°à¹„ทเทเนี่ยม. มีสมบัติà¸à¸²à¸£à¸–่ายเทความร้อนสูง. ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸à¸²à¸£à¸«à¸¥à¹ˆà¸­à¹€à¸¢à¹‡à¸™. +gz.mine = ขยับเข้าไปใà¸à¸¥à¹‰à¹† à¸à¸±à¸š \uf8c4 [accent]à¹à¸£à¹ˆà¸—องà¹à¸”ง[]ที่อยู่บนพื้นà¹à¸¥à¹‰à¸§à¸„ลิ๊à¸à¹€à¸žà¸·à¹ˆà¸­à¹€à¸£à¸´à¹ˆà¸¡à¸à¸²à¸£à¸‚ุด +gz.mine.mobile = ขยับเข้าไปใà¸à¸¥à¹‰à¹† à¸à¸±à¸š \uf8c4 [accent]à¹à¸£à¹ˆà¸—องà¹à¸”ง[]ที่อยู่บนพื้นà¹à¸¥à¹‰à¸§à¸à¸”ที่à¹à¸£à¹ˆà¹€à¸žà¸·à¹ˆà¸­à¹€à¸£à¸´à¹ˆà¸¡à¸à¸²à¸£à¸‚ุด +gz.research = เปิด \ue875 ต้นไม้à¹à¸«à¹ˆà¸‡à¹€à¸—คโนโลยี\nวิจัย \uf870 [accent]เครื่องขุดเชิงà¸à¸¥[] à¹à¸¥à¹‰à¸§à¸à¸”เลือà¸à¸ˆà¸²à¸à¹€à¸¡à¸™à¸¹à¸•รงà¹à¸–บขวาล่าง\nคลิ๊à¸à¸—ี่à¸à¸¥à¸¸à¹ˆà¸¡à¹à¸£à¹ˆà¸—องà¹à¸”งเพื่อวางที่ขุด +gz.research.mobile = เปิด \ue875 ต้นไม้à¹à¸«à¹ˆà¸‡à¹€à¸—คโนโลยี\nวิจัย \uf870 [accent]เครื่องขุดเชิงà¸à¸¥[] à¹à¸¥à¹‰à¸§à¸à¸”เลือà¸à¸ˆà¸²à¸à¹€à¸¡à¸™à¸¹à¸•รงà¹à¸–บขวาล่าง\nà¸à¸”ที่à¸à¸¥à¸¸à¹ˆà¸¡à¹à¸£à¹ˆà¸—องà¹à¸”งเพื่อวางที่ขุด\n\nà¸à¸”ปุ่ม \ue800 [accent]ติ๊à¸à¸–ูà¸[]ที่à¹à¸–บล่างขวาเพื่อยืนยัน +gz.conveyors = วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf896 [accent]สายพาน[] เพื่อเคลื่อนย้ายทรัพยาà¸à¸£à¸—ี่ขุดมาได้\nจาà¸à¸—ี่ขุดไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡\n\nà¸à¸”คลิ๊à¸à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¸§à¸²à¸‡à¸ªà¸²à¸¢à¸žà¸²à¸™à¸«à¸¥à¸²à¸¢à¹† อันให้เป็นทาง\n[accent]หมุนเม้าส์[]เพื่อหมุน +gz.conveyors.mobile = วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf896 [accent]สายพาน[] เพื่อเคลื่อนย้ายทรัพยาà¸à¸£à¸—ี่ขุดมาได้\nจาà¸à¸—ี่ขุดไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡\n\nใช้นิ้วà¸à¸”ค้างที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸‹à¸±à¸à¸§à¸´à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¸§à¸²à¸‡à¸ªà¸²à¸¢à¸žà¸²à¸™à¸«à¸¥à¸²à¸¢à¹† อันให้เป็นทาง +gz.drills = ขยายปฎิบัติà¸à¸²à¸£à¸‚ุด\nวางเครื่องขุดเชิงà¸à¸¥à¹€à¸žà¸´à¹ˆà¸¡\nขุดทองà¹à¸”ง 100 ชิ้น +gz.lead = \uf837 [accent]ตะà¸à¸±à¹ˆà¸§[]เป็นทรัพยาà¸à¸£à¸­à¸µà¸à¸Šà¸™à¸´à¸”ที่ใช้à¸à¸±à¸™à¸­à¸¢à¹ˆà¸²à¸‡à¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢\nตั้งเครื่องขุดเพื่อขุดà¹à¸£à¹ˆà¸•ะà¸à¸±à¹ˆà¸§ +gz.moveup = \ue804 ขยับขึ้นเพื่อไปยังเป้าหมายถัดไป +gz.turrets = วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™ \uf861 [accent]ดูโอ้[]สองป้อมเพื่อปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู\nป้อมปืนดูโอ้ต้องà¸à¸²à¸£ \uf838 [accent]à¸à¸£à¸°à¸ªà¸¸à¸™[]จาà¸à¸ªà¸²à¸¢à¸žà¸²à¸™ +gz.duoammo = เติมà¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸«à¹‰à¹à¸à¹ˆà¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¸”ูโอ้ด้วย[accent]ทองà¹à¸”ง[] โดยใช้สายพาน +gz.walls = [accent]à¸à¸³à¹à¸žà¸‡[]สามารถป้องà¸à¸±à¸™à¸„วามเสียหายที่จะมาถึงให้ไม่ไปโดนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ด้\nวาง \uf8ae [accent]à¸à¸³à¹à¸žà¸‡à¸—องà¹à¸”ง[]รอบๆ ป้อมปืน +gz.defend = ศัตรูà¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¹€à¸‚้ามา เตรียมตัวป้องà¸à¸±à¸™à¹ƒà¸«à¹‰à¸”ี +gz.aa = ป้อมปืนมาตรà¸à¸²à¸™à¹„ม่สามารถจัดà¸à¸²à¸£à¸¢à¸¹à¸™à¸´à¸•บินได้เร็วพอ\nป้อมปืน \uf860 [accent]สà¹à¸à¹‡à¸•เตอร์[]นี้สามารถที่จะต่อต้านยูนิตบินได้อย่างดีเยี่ยม à¹à¸•่ต้องใช้ \uf837 [accent]ตะà¸à¸±à¹ˆà¸§[]เป็นà¸à¸£à¸°à¸ªà¸¸à¸™ +gz.scatterammo = เติมà¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸«à¹‰à¹à¸à¹ˆà¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¸ªà¹à¸à¹‡à¸•เตอร์ด้วย[accent]ตะà¸à¸±à¹ˆà¸§[] โดยใช้สายพาน +gz.supplyturret = [accent]เติมà¸à¸£à¸°à¸ªà¸¸à¸™à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™ +gz.zone1 = นี่คือจุดเà¸à¸´à¸”ของศัตรู +gz.zone2 = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¹ƒà¸™à¸£à¸±à¸¨à¸¡à¸µà¸ˆà¸°à¸–ูà¸à¸—ำลายเมื่อมีคลื่นใหม่เริ่มขึ้น +gz.zone3 = คลื่นà¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¹€à¸£à¸´à¹ˆà¸¡à¸‚ึ้นà¹à¸¥à¹‰à¸§\nเตรียมตัวให้พร้อม +gz.finish = สร้างป้อมปืนเพิ่ม ขุดทรัพยาà¸à¸£à¹ƒà¸«à¹‰à¹„ด้มาà¸à¸à¸§à¹ˆà¸²à¸™à¸µà¹‰\nà¹à¸¥à¹‰à¸§à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸„ลื่นทั้งหมดเพื่อ[accent]ยึดครองเซ็à¸à¹€à¸•อร์[] -block.message.description = เà¸à¹‡à¸šà¸‚้อความ. ใช้สื่อสารà¸à¸±à¸šà¸žà¸±à¸™à¸˜à¸¡à¸´à¸•ร. -block.graphite-press.description = อัดà¸à¹‰à¸­à¸™à¸–่านหินให้เป็นà¹à¸œà¹ˆà¸™à¸à¸£à¸²à¹„ฟต์บริสุทธิ์. -block.multi-press.description = เครื่องอัดà¸à¸£à¸²à¹„ฟต์ที่ได้รับà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸à¸£à¸”. ใช้น้ำà¹à¸¥à¸°à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹ƒà¸™à¸à¸²à¸£à¹à¸›à¸£à¸£à¸¹à¸›à¸–่านหินให้เร็วà¹à¸¥à¸°à¸¡à¸µà¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพมาà¸à¸‚ึ้น. -block.silicon-smelter.description = เผาทรายà¹à¸¥à¸°à¸–่านหินบริสุทธิ์. ผลิตซิลิà¸à¹‰à¸­à¸™ -block.kiln.description = เผาทรายà¹à¸¥à¸°à¸•ะà¸à¸±à¹ˆà¸§à¹€à¸›à¹‡à¸™à¸ªà¸²à¸£à¸›à¸£à¸°à¸à¸­à¸šà¸Šà¸·à¹ˆà¸­ à¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้า. จำเป็นต้องใช้พลังงานเล็à¸à¸™à¹‰à¸­à¸¢à¹ƒà¸™à¸à¸²à¸£à¸—ำ. -block.plastanium-compressor.description = ผลิตพลาสตาเนี่ยมจาà¸à¸™à¹‰à¸³à¸¡à¸±à¸™à¹à¸¥à¸°à¹„ทเทเนี่ยม. -block.phase-weaver.description = สังเคราะห์ใยเฟสจาà¸à¸—อเรี่ยมที่มีรังสีà¹à¸¥à¸°à¸—ราย. จำเป็นต้องใช้พลังงานจำนวนมาà¸à¸ˆà¸¶à¸‡à¸ˆà¸°à¸—ำงานง. -block.alloy-smelter.description = ผสมไทเทเนี่ยม, ตะà¸à¸±à¹ˆà¸§, ซิลิà¸à¹‰à¸­à¸™à¹à¸¥à¸°à¸—องà¹à¸”งเพื่อที่จะผลิตเซิร์จอัลลอย. -block.cryofluid-mixer.description = ผสมน้ำà¹à¸¥à¸°à¸œà¸‡à¹„ทเทเนี่ยมบริสุทธิ์เป็นไครโยฟลูอิด. สำคัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹€à¸•าปà¸à¸´à¸à¸£à¸“์ทอเรี่ยม. -block.blast-mixer.description = บอà¹à¸¥à¸°à¸œà¸ªà¸¡à¸ªà¸›à¸­à¸£à¹Œà¸à¸±à¸šà¹„พไรต์เพื่อผลิตสารประà¸à¸­à¸šà¸£à¸°à¹€à¸šà¸´à¸”. -block.pyratite-mixer.description = ผสมถ่านหิน, ตะà¸à¸±à¹ˆà¸§à¹à¸¥à¸°à¸—รายเข้าด้วยà¸à¸±à¸™à¹€à¸›à¹‡à¸™à¹„ฟไรต์ที่ติดไฟได้ง่าย. -block.melter.description = หลอมเศษเหล็à¸à¹€à¸›à¹‡à¸à¸à¸²à¸à¹à¸£à¹ˆà¹€à¸žà¸·à¹ˆà¸­à¹ƒà¸Šà¹‰à¸ªà¸³à¸«à¸£à¸±à¸šà¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¸•่อไปหรือใช้ในป้อมปืนเวฟ. -block.separator.description = à¹à¸¢à¸à¸à¸²à¸à¹à¸£à¹ˆà¸­à¸­à¸à¹€à¸›à¹‡à¸™à¸ªà¹ˆà¸§à¸™à¸›à¸£à¸°à¸à¸­à¸šà¹à¸£à¹ˆà¸˜à¸²à¸•ุของมัน. ส่งออà¸à¹à¸£à¹ˆà¸œà¸¥à¸¥à¸±à¸žà¸˜à¹Œà¹ƒà¸™à¸£à¸¹à¸›à¹à¸šà¸šà¸—ี่เย็นลงà¹à¸¥à¹‰à¸§. -block.spore-press.description = อัดà¸à¸£à¸°à¹€à¸›à¸²à¸°à¸ªà¸›à¸­à¸£à¹Œà¸”้วยà¹à¸£à¸‡à¸à¸”มหาศาลเพื่อสังเคราะห์น้ำมัน. -block.pulverizer.description = บดเศษเหล็à¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¸—รายละเอียด. -block.coal-centrifuge.description = ทำให้น้ำมันà¹à¸‚็งตัวเป็นà¸à¹‰à¸­à¸™à¸–่านหิน. -block.incinerator.description = ทำลายไอเท็มหรือของเหลวทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸—ี่ได้รับมา. -block.power-void.description = ทิ้งพลังงานทั้งหมดที่ได้รับ. เฉพาะ โหมดอิสระ เท่านั้น. -block.power-source.description = ส่งออà¸à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ม่จำà¸à¸±à¸”. เฉพาะ โหมดอิสระ เท่านั้น. -block.item-source.description = ส่งออà¸à¹„อเท็มไม่จำà¸à¸±à¸”. เฉพาะ โหมดอิสระ เท่านั้น. -block.item-void.description = ทำลายทุà¸à¹„อเท็ม . เฉพาะ โหมดอิสระ เท่านั้น. -block.liquid-source.description = ส่งออà¸à¸‚องเหลวไม่จำà¸à¸±à¸”. เฉพาะ โหมดอิสระ เท่านั้น. -block.liquid-void.description = ทิ้งของเหลวทุà¸à¸Šà¸™à¸´à¸”. เฉพาะ โหมดอิสระ เท่านั้น. -block.copper-wall.description = บล็อคป้องà¸à¸±à¸™à¸£à¸²à¸„าถูà¸.\nมีประโยชน์สำหรับป้องà¸à¸±à¸™ core à¹à¸¥à¸°à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¹ƒà¸™ wave à¹à¸£à¸à¹†. -block.copper-wall-large.description = บล็อคป้องà¸à¸±à¸™à¸£à¸²à¸„าถูà¸.\nมีประโยชน์สำหรับป้องà¸à¸±à¸™ core à¹à¸¥à¸°à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¹ƒà¸™ wave à¹à¸£à¸à¹†.\nคลอบคลุมหลายข่อง. -block.titanium-wall.description = บล็อคป้องà¸à¸±à¸™à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸›à¸²à¸™à¸à¸¥à¸²à¸‡.\nป้องà¸à¸±à¸™à¸¨à¸±à¸•รูได้ในระดับหนึ่ง. -block.titanium-wall-large.description = บล็อคป้องà¸à¸±à¸™à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸›à¸²à¸™à¸à¸¥à¸²à¸‡.\nป้องà¸à¸±à¸™à¸¨à¸±à¸•รูได้ในระดับหนึ่ง.\nคลอบคลุมหลายช่อง. -block.plastanium-wall.description = à¸à¸³à¹à¸žà¸‡à¸žà¸´à¹€à¸¨à¸©à¸—ี่สามารถดูดซับไฟฟ้าà¹à¸¥à¸°à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸à¸²à¸£à¸•่อไฟà¸à¸±à¸šà¹‚หนดพลังงานโดยอัตโนมัติได้. -block.plastanium-wall-large.description = à¸à¸³à¹à¸žà¸‡à¸žà¸´à¹€à¸¨à¸©à¸—ี่สามารถดูดซับไฟฟ้าà¹à¸¥à¸°à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸à¸²à¸£à¸•่อไฟà¸à¸±à¸šà¹‚หนดพลังงานโดยอัตโนมัติได้.\nคลอบคลุมหลายช่อง. -block.thorium-wall.description = บล็อคป้องà¸à¸±à¸™à¸—ี่à¹à¸‚็งà¹à¸£à¸‡.\nป้องà¸à¸±à¸™à¸¨à¸±à¸•รูได้อย่างดี. -block.thorium-wall-large.description = บล็อคป้องà¸à¸±à¸™à¸—ี่à¹à¸‚็งà¹à¸£à¸‡.\nป้องà¸à¸±à¸™à¸¨à¸±à¸•รูได้อย่างดี.\nคลอบคลุมหลายช่อง. -block.phase-wall.description = à¸à¸³à¹à¸žà¸‡à¸—ี่เคลือบด้วยวัสดุสะท้อนพิเศษจำพวภphase. เบี่ยงเบนà¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¹ˆà¸§à¸™à¹ƒà¸«à¸à¹ˆà¸—ี่รับมา. -block.phase-wall-large.description = à¸à¸³à¹à¸žà¸‡à¸—ี่เคลือบด้วยวัสดุสะท้อนพิเศษจำพวภphase. เบี่ยงเบนà¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¹ˆà¸§à¸™à¹ƒà¸«à¸à¹ˆà¸—ี่รับมา.\nคลอบคลุมหลายช่อง. -block.surge-wall.description = บล็อคป้องà¸à¸±à¸™à¸—ี่มีทนทานสูง.\nสะสมพลังงานจาà¸à¸à¸£à¸°à¸ªà¸¸à¸™, à¹à¸¥à¹‰à¸§à¸›à¸¥à¹ˆà¸­à¸¢à¸­à¸­à¸à¸¡à¸²à¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡. -block.surge-wall-large.description = บล็อคป้องà¸à¸±à¸™à¸—ี่มีทนทานสูง.\nสะสมพลังงานจาà¸à¸à¸£à¸°à¸ªà¸¸à¸™, à¹à¸¥à¹‰à¸§à¸›à¸¥à¹ˆà¸­à¸¢à¸­à¸­à¸à¸¡à¸²à¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡.\nคลอบคลุมหลายช่อง. -block.door.description = ประตูขนาดเล็à¸. สามารถเปิดได้โดยà¸à¸²à¸£à¸à¸”. -block.door-large.description = ประตูขนาดใหà¸à¹ˆ. สามารถเปิดà¹à¸¥à¸°à¸›à¸´à¸”ได้โดยà¸à¸²à¸£à¸à¸”.\nคลอบคลุมหลายช่อง. -block.mender.description = ซ่อมà¹à¸‹à¸¡à¸šà¸¥à¹‡à¸­à¸„ในวงของมันเป็นระยะๆ. ช่วยซ่อมà¹à¸‹à¸¡à¹à¸™à¸§à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡ wave.\nสามารถใช้ซิลิà¸à¹‰à¸­à¸™à¹€à¸žà¸·à¹ˆà¸­à¹€à¸žà¸´à¹ˆà¸¡à¸£à¸±à¸¨à¸¡à¸µà¹à¸¥à¸°à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพได้ -block.mend-projector.description = เมนเดอร์ที่ได้รับà¸à¸²à¸£à¸­à¸±à¸›à¹€à¸à¸£à¸”. ซ่อมà¹à¸‹à¸¡à¸šà¸¥à¹‡à¸­à¸„ในระยะของมัน.\nสามารถใช้ใยเฟสเพื่อเพิ่มระยะà¹à¸¥à¸°à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพได้. -block.overdrive-projector.description = เพิ่มความเร็วของสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸£à¸­à¸šà¹†.\nสามารถใช้ใยเฟสเพื่อเพิ่มระยะà¹à¸¥à¸°à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพ. -block.force-projector.description = สร้างสนามพลังงานหà¸à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¸£à¸­à¸šà¹†à¸•ัวเอง ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ภายในสนามพลังงานจาà¸à¸”าเมจ.\nจะร้อนจัดถ้าได้รับดาเมจมาà¸à¸žà¸­. สามารถใช้สารหล่อเย็นมาà¸à¸±à¸™à¸à¸²à¸£à¸£à¹‰à¸­à¸™à¸ˆà¸±à¸”ได้. สามารถเพิ่มขนาดสนามพลังด้วยใยเฟส. -block.shock-mine.description = ดาเมจศัตรูที่เหยียบ. à¹à¸–บจะล่องหนต่อศัตรู. -block.conveyor.description = บล็อคขนส่งไอเท็มพื้นà¸à¸²à¸™. เคลื่อนไอเท็มไปข้างหน้าà¹à¸¥à¸°à¹ƒà¸ªà¹ˆà¸¥à¸‡à¸šà¸¥à¹‡à¸­à¸„โดยอัตโนมัติ. สามารถหมุนได้. -block.titanium-conveyor.description = บล็อคขนส่งไอเท็มขั้นสูง. เคลื่อนไอเท็มเร็วà¸à¸§à¹ˆà¸²à¸ªà¸²à¸¢à¸žà¸²à¸™à¸—ั่วไป. -block.plastanium-conveyor.description = เคลื่อนย้ายไอเท็มเป็นชุด.\nรับไอดท็มจาà¸à¸”้านหลัง, à¹à¸¥à¸°à¸™à¸³à¸­à¸­à¸à¹„ปสามทางข้างหน้า. -block.junction.description = มีหน้าที่เป็นสะพานสำหรับสายพาน 2 สายข้ามà¸à¸±à¸™. มีประโยชน์สำหรับเวลาสายพาน 2 สายที่ขนไอเท็มมา 2 ชนิดไปยัง 2 สถานที่. -block.bridge-conveyor.description = บล็อคขนส่งไอเท็มขั้นสูง. ทำให้สามารถส่งไอเท็มข้ามบล็อคใดà¸à¹‡à¹„ด้ 3 ช่อง. -block.phase-conveyor.description = บล็อคขนส่งไอเท็มขั้นสูง. ใช้พลังงานเพื่อส่งไอเท็มไปยังสายพานเฟสอีà¸à¸­à¸±à¸™ ข้ามได้หลายช่อง. -block.sorter.description = à¹à¸¢à¸à¹„อเท็ม. ถ้าไอเท็มตรงà¸à¸±à¸šà¸—ี่เลือà¸à¹„ว้, จะผ่านได้. à¹à¸•่ถ้าไม่ตรง, ไอเท็มจะออà¸à¸—างซ้ายหรือขวา (ใช้ทางที่ไอเท็มเข้าเป็นหลัà¸) -block.inverted-sorter.description = à¹à¸¢à¸à¹„อเท็มคล้ายเครื่องà¹à¸¢à¸à¸˜à¸£à¸£à¸¡à¸”า, à¹à¸•่ไอเท็มที่เลือà¸à¸ˆà¸°à¸­à¸­à¸à¸‚้างà¹à¸—น. -block.router.description = รับไอเท็มà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸ 3 ทางเท่าๆà¸à¸±à¸™. มีประโยชน์สำหรับà¹à¸¢à¸à¹„อเท็มจาà¸à¹à¸«à¸¥à¹ˆà¸‡à¹€à¸”ียวไปหลายที่.\n\n[scarlet]อย่าวางไว้ติดà¸à¸±à¸šà¸—างส่งไอเท็มเข้าเพราะของออà¸à¸ˆà¸°à¹„ปอุดตันได้.[] -block.distributor.description = เร้าเตอร์ขั้นสูง. à¹à¸¢à¸à¹„อเท็มออภ7 ทางอย่างเท่าๆà¸à¸±à¸™. -block.overflow-gate.description = ของจะออà¸à¸ˆà¸²à¸à¸‚้างๆเมื่อทางข้างหน้ถูà¸à¸šà¸¥à¹‡à¸­à¸„เท่านั้น. -block.underflow-gate.description = ตรงข้ามà¸à¸±à¸šà¸›à¸£à¸°à¸•ูระบายไอเท็ม. ส่งออà¸à¹„อเท็มไปข้างหน้าหาà¸à¸—างซ้ายà¹à¸¥à¸°à¸‚วาถูà¸à¸šà¸¥à¹‡à¸­à¸„. -block.mass-driver.description = บล็อคขนส่งไอเท็มขั้นสุดยอด. รวบรวมไอเท็มจำนวนหนึ่งà¹à¸¥à¹‰à¸§à¸¢à¸´à¸‡à¹„ปหาà¹à¸¡à¸ªà¹„ดรเวอร์อีà¸à¸­à¸±à¸™à¸—ี่อยู่ไà¸à¸¥à¸­à¸­à¸à¹„ป. ต้องใช้พลังงานในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸‡à¸²à¸™. -block.mechanical-pump.description = ปั๊มราคาถูภเอ้าพุธต์ช้า à¹à¸•่ไม่ใช้พลังงาน. -block.rotary-pump.description = ปั๊มขั้นสูง. ปั๊มของเหลวได้มาà¸à¸‚ึ้นà¹à¸„่ใช้พลังงาน. -block.thermal-pump.description = ปั๊มขั้นสุดยอด. -block.conduit.description = บล็อคขนส่งของเหลวพื้นà¸à¸²à¸™. เคลื่อนของเหลวไปข้างหน้า. ใช้ร่วมà¸à¸±à¸šà¸›à¸±à¹Šà¸¡à¹à¸¥à¸°à¸£à¸²à¸‡à¸™à¹‰à¸³à¸­à¸·à¹ˆà¸™à¹†. -block.pulse-conduit.description = บล็อคขนส่งของเหลวขั้นสูง. เคลื่อนย้ายของเหลวเร็วขึ้นà¹à¸¥à¸°à¹€à¸à¹‡à¸šà¹€à¸¢à¸­à¸°à¸à¸§à¹ˆà¸²à¸£à¸²à¸‡à¸™à¹‰à¸³à¸˜à¸£à¸£à¸¡à¸”า. -block.plated-conduit.description = เคลื่อนย้ายของเหลวได้เร็วพอๆà¸à¸±à¸š ท่อน้ำพัลซ์, à¹à¸•่มีเà¸à¸£à¸²à¸°à¸—ี่หนาà¸à¸§à¹ˆà¸². ไม่รับของเหลวจาà¸à¸”้านข้างจาà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸­à¸·à¹ˆà¸™à¸™à¸­à¸à¸ˆà¸²à¸à¸—่อน้ำด้วยà¸à¸±à¸™à¹€à¸­à¸‡.\nรั่วน้อยà¸à¸§à¹ˆà¸². -block.liquid-router.description = รับของเหลวจาà¸à¸—างเดียวà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸ 3 ทางเท่าๆà¸à¸±à¸™. สามารถเà¸à¹‡à¸šà¸‚อง้หลวได้จำนวนหนึ่ง. มีประโยชน์สำหรับà¸à¸²à¸£à¹à¸¢à¸à¸‚องเหลวจาà¸à¹à¸«à¸¥à¹ˆà¸‡à¹€à¸”ียวไปหลายที่. -block.liquid-tank.description = เà¸à¹‡à¸šà¸‚องเหลวจำนวนมาà¸. ใช่สำหรับสร้างบัฟเฟอร์ในเวลาที่ความต้องà¸à¸²à¸£à¸‚องทรัพยาà¸à¸£à¹„ม่คงที่หรือเป็นตัวเซฟสำหรับบล็อคที่จำเป็นต้องใช้à¸à¸²à¸£à¸«à¸¥à¹ˆà¸­à¹€à¸¢à¹‡à¸™. -block.liquid-junction.description = ทำหน้าที่เป็นสะพานสำหรับรางน้ำ 2 รางที่ข้ามà¸à¸±à¸™à¸—ี่มีของเหลว 2 ชนิด ซึ่งต้องà¸à¸²à¸£à¸ˆà¸°à¹„ปคนละที่. -block.bridge-conduit.description = บล็อคขนส่งของเหลวขั้นสูง. ขนส่งของเหลวข้ามบล็อคใดๆà¸à¹‡à¹„ด้ถึง 3 ช่อง. -block.phase-conduit.description = บล็อคขนส่งของเหลวขั้นสูง. ใช้พลังงานเพื่อขนส่งของเหลวไปที่รางน้ำเฟสข้ามหลายช่อง. -block.power-node.description = ส่งพลังงานไปยังโหลดพลังงานที่เชื้อมต่อ. โหนดจะรับพลังงานจาà¸à¹‚หนดอื่นหรือà¹à¸«à¸¥à¹ˆà¸‡à¸œà¸¥à¸´à¸•à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¹„ปยังบล็อคที่ติดà¸à¸±à¸™. -block.power-node-large.description = โหนดพลังงานขั้นสูง มีระยะเชื่อมต่อà¸à¸§à¹‰à¸²à¸‡à¸‚ึ้น. -block.surge-tower.description = โหนดพลังงานที่มีระยะเชื่อมต่อไà¸à¸¥à¸¡à¸²à¸à¹à¸•่จำนสนà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อน้อย. -block.diode.description = พลังงานà¹à¸šà¸•เตอรี่สามารถไหลผ่านบล็อคนี้ได้เพียงทางเดียว à¹à¸•่เฉพาะเวลาที่อีà¸à¸”้านมีพลังงานน้อยà¸à¸§à¹ˆà¸²à¹€à¸—่านั้น. -block.battery.description = เà¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹€à¸›à¹‡à¸™à¸šà¸±à¸Ÿà¹€à¸Ÿà¸­à¸£à¹Œà¹€à¸§à¸¥à¸²à¸—ี่มีพลังงานเà¸à¸´à¸™. à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹€à¸¡à¸·à¹ˆà¸­à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ม่พอ. -block.battery-large.description = เà¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ด้เยอะà¸à¸§à¹ˆà¸²à¹à¸šà¸•เตอรี่ธรรมดา. -block.combustion-generator.description = ผลิตพลังงานโดยà¸à¸²à¸£à¸§à¸±à¸ªà¸”ุติดไฟ เช่นถ่านหิน. -block.thermal-generator.description = ผลิตพลังงานเมื่อวานในที่ร้อน (บนหินร้อนหรือหินà¹à¸¡à¹‡à¸„ม่า) -block.steam-generator.description = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้ขั้นสูง. ประสิทธิภาพสูงà¸à¸§à¹ˆà¸² à¹à¸•่ต้องใช้น้ำด้วยเพื่อผลิตไอน้ำ. -block.differential-generator.description = ผลิตไฟฟ้าจำนวนมาà¸. ใช้ความต่างของอุณหภูมิระหว่างไครโยฟลูอิดà¹à¸¥à¸°à¹„พไรต์ที่à¸à¸³à¸¥à¸±à¸‡à¹„หม้. -block.rtg-generator.description = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าที่ใช้ง่ายà¹à¸¥à¸°à¹„ว้ใจได้. ใช้ความร้อนจาà¸à¸à¸²à¸£à¸ªà¸¥à¸²à¸¢à¸‚องสารà¸à¸±à¸¡à¸¡à¸±à¸•ภาพรังสีเพื่อใช้ผลิตพลังงานอย่างช้าๆ. -block.solar-panel.description = ให้พลังงานจาà¸à¹à¸ªà¸‡à¸­à¸²à¸—ิตย์จำนวนน้อย. -block.solar-panel-large.description = เวอร์ชั่นของà¹à¸œà¸‡à¹‚ซล่าเซลล์ที่มีประสิทธิภาพมาà¸à¸‚ึ้นà¸à¸§à¹ˆà¸²à¹à¸œà¸‡à¹‚ซล่าเซลล์ธรรมดา. -block.thorium-reactor.description = ผลิตพลังงานจำนวนมาà¸à¸ˆà¸²à¸à¸—อเรี่ยม. จำเป็นต้องใช้สารหล่อเย็นตลอดเวลา. จะระเบิดอย่างรุนà¹à¸£à¸‡à¸«à¸²à¸à¹„ม่ได้รับสารหล่อเย็นในจำนวนที่ต้องà¸à¸²à¸£. จำนวนพลังงานที่ผลิตขึ้นอยู่à¸à¸±à¸šà¸„วามเต็ม à¹à¸¥à¸°à¸œà¸¥à¸´à¸•พลังงานเริ่มต้นที่ความสามารถสูงสุด. -block.impact-reactor.description = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าขั้นสูง, สามารถผลิตไฟฟ้าได้จำนวนมหาศาลที่ประสิทธิภาพสูงสุด. จำเป็นต้องใช้พลังงานจำนวนมาà¸à¹ƒà¸™à¸à¸²à¸£à¸ªà¸•าร์ทเครื่อง. -block.mechanical-drill.description = เครื่องขุดราคาถูà¸. เมื่อวางบนบล็อคที่ถูà¸à¸•้อง, จะส่งไอเท็มของมันออà¸à¸¡à¸²à¹€à¸£à¸·à¹ˆà¸­à¸¢à¹†à¹à¸šà¸šà¹„ม่มีที่สิ้นสุด. ขุดได้à¹à¸„่ทรัพยาà¸à¸£à¸žà¸·à¹‰à¸™à¸à¸²à¸™. -block.pneumatic-drill.description = เครื่องขุดได้รับà¸à¸²à¸£à¸›à¸£à¸±à¸šà¸›à¸£à¸¸à¸‡, สามารถขุดไทเทเนี่ยมได้. ขุดไวà¸à¸§à¹ˆà¸²à¹€à¸„รื่องขุดเชิงà¸à¸¥. -block.laser-drill.description = ขุดได้เร็วขึ้นด้วยเทคโนโลยีเลเซอร์ à¹à¸•่ต้องใช้พลังงาน. สามารถขุดทอเรี่ยมได้. -block.blast-drill.description = เครื่องขุดขั้นสุดยอด. ใช้พลังงานจำนวนมาà¸. -block.water-extractor.description = ขุดน้ำบาดาล. ใช้ในพื้นที่ที่ไม่มีน้ำบนดินให้ใช้. -block.cultivator.description = รวบรวมสปอร์ในชั้นบรรยาà¸à¸²à¸¨à¹€à¸›à¹‡à¸™à¸à¸£à¸°à¹€à¸›à¸²à¸°à¸ªà¸›à¸­à¸£à¹Œà¸ªà¸³à¸«à¸£à¸±à¸šà¸­à¸¸à¸•สาหà¸à¸£à¸£à¸¡. -block.oil-extractor.description = ใช้พลังงาน, ทรายà¹à¸¥à¸°à¸™à¹‰à¸³à¹€à¸žà¸·à¹ˆà¸­à¸‚ุดหาน้ำมัน. -block.core-shard.description = core รุ่นà¹à¸£à¸. เมื่อถูà¸à¸—ำลาย à¸à¸²à¸£à¸•ิดต่อà¸à¸±à¸šà¸žà¸·à¹‰à¸™à¸—ี่นั้นทั้งหมดจะหายไป. อย่าให้มันเà¸à¸´à¸”ขึ้น. -block.core-foundation.description = core รุ่นที่ 2 . เสริมเà¸à¸£à¸²à¸°à¸¡à¸²à¸à¸‚ึ้น. เà¸à¹‡à¸šà¸‚องได้เยอะขึ้น. -block.core-nucleus.description = core รุ่นที่ 3 à¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¸£à¸¸à¹ˆà¸™à¸ªà¸¸à¸”ท้าย. เสริมเà¸à¸£à¸²à¸°à¸”ีมาà¸. เà¸à¹‡à¸šà¸‚องได้มหาศาล. -block.vault.description = เà¸à¹‡à¸šà¸‚องà¹à¸•่ละชนิดได้เยอะ. สามารถใช้ตัวถ่ายของในà¸à¸²à¸£à¸”ึงของออà¸à¸¡à¸²à¹„ด้. -block.container.description = เà¸à¹‡à¸šà¸‚องà¹à¸•่ละชนิดได้น้อย. สามารถใช้ตัวถ่ายของในà¸à¸²à¸£à¸”ึงของออà¸à¸¡à¸²à¹„ด้. -block.unloader.description = ดึงของออà¸à¸¡à¸²à¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸„ที่ไม่ใช่บล็อคขนส่งใà¸à¸¥à¹‰à¹€à¸„ียง. สามารถเปลี่ยนชนิดของของที่จะดึงได้โดยà¸à¸²à¸£à¸à¸”. -block.launch-pad.description = ส่งของจำนวนหนึ่งได้เลยโดยไม่ต้องรอส่ง core. -block.launch-pad-large.description = à¸à¸²à¸™à¸ªà¹ˆà¸‡à¸‚องเวอร์ชั่นพัฒนาà¹à¸¥à¹‰à¸§. เà¸à¹‡à¸šà¹„อเท็มเยอะขึ้น. ส่งของบ่อยขึ้น. -block.duo.description = ป้อมปืนราคาถูà¸à¸‚นาดเล็à¸. มีประโยชน์สำหรับยูนิตภาคพื้นดิน. -block.scatter.description = ป้อมปืนต่อต้านอาà¸à¸²à¸¨à¸¢à¸²à¸™à¸«à¸¥à¸±à¸. ยิงà¸à¹‰à¸­à¸™à¸•ะà¸à¸±à¹ˆà¸§à¸«à¸£à¸·à¸­à¹€à¸¨à¸©à¹€à¸«à¸¥à¹‡à¸à¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รู. -block.scorch.description = เผาศัตรูภาคพื้นดินที่อยู่ใà¸à¸¥à¹‰à¹†. มีประสิทธิภาพสูงสุดเมื่อใช้ในระยะใà¸à¸¥à¹‰. -block.hail.description = ป้อมปืนใหà¸à¹ˆà¸‚นาดเล็à¸. -block.wave.description = ป้อมปืนขนาดà¸à¸¥à¸²à¸‡. พ่นของเหลวสานศัตรู. ดับไฟให้โดยอัตโนมัติถ้าใส่น้ำให้. -block.lancer.description = ป้อมปืนเลเซอร์ต่อต้านภาคพื้นดินขนาดà¸à¸¥à¸²à¸‡. ชาร์จà¹à¸¥à¸°à¸¢à¸´à¸‡à¸¥à¸³à¹à¸ªà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¸—ี่ทรงพลัง. -block.arc.description = ป้อมปืนไฟฟ้าระยะใà¸à¸¥à¹‰. ยิงสายฟ้าใส่ศัตรู. -block.swarmer.description = ป้อมยิงขีปนาวุธขนาดà¸à¸¥à¸²à¸‡. โจมตีศัตรูทั้งอาà¸à¸²à¸¨à¹à¸¥à¸°à¸ à¸²à¸„พื้นดิน. ยิงขีปนาวุธขนิดติดตาม. -block.salvo.description = ป้อมปืนดูโอเวอร์ชั่นขั้นสูงà¸à¸§à¹ˆà¸². ระดมยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รู. -block.fuse.description = ป้อมปืนระยะใà¸à¸¥à¹‰à¸‚นาดใหà¸à¹ˆ. ยิงลำà¹à¸ªà¸‡à¸—ะลุทะลวง 3 เส้นใส่ศัตรู. -block.ripple.description = ป้อมปืนใหà¸à¹ˆà¸—ี่มีพลังงานสูง. ยิงà¸à¸£à¸°à¸ˆà¸¸à¸à¸‚องà¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รูจาดระยะไà¸à¸¥. -block.cyclone.description = ป้อมปืนต่อต้านอาà¸à¸²à¸¨à¸¢à¸²à¸™à¹à¸¥à¸°à¸•่อต้านภาคพื้นดิน. ยิงà¸à¸£à¸°à¸ˆà¸¸à¸‚องà¸à¸£à¸°à¸ªà¸¸à¸™à¸£à¸°à¹€à¸šà¸´à¸”ใส่ยูนิตศัตรู. -block.spectre.description = ปืนใหà¸à¹ˆà¸¥à¸³à¸à¸¥à¹‰à¸­à¸‡à¸„ูขนาดยัà¸à¸©à¹Œ. ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸ˆà¸²à¸°à¹€à¸à¸£à¸²à¸°à¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รูทั้งบนอาà¸à¸²à¸¨à¹à¸¥à¸°à¸ à¸²à¸”พื้นดิน. -block.meltdown.description = ปืนใหà¸à¹ˆà¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¸‚นาดยัà¸à¸©à¹Œ. ชาร์จà¹à¸¥à¹‰à¸§à¸¢à¸´à¸‡à¸¥à¸³à¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รูที่อยู่ใà¸à¸¥à¹‰. จำเป็นต้องใช้สารหล่อเย็น. -block.repair-point.description = ซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•ที่อยู่ในรัศมีอย่างต่อเนื่อง. -block.segment.description = ทำดาเมจà¹à¸¥à¸°à¸—ำลายโปรเจà¸à¹„ตล์ที่à¸à¸³à¸¥à¸±à¸‡à¹€à¸‚้ามา. โปรเจà¸à¹„ตล์เลเซอร์จะไม่ถูà¸à¸¥à¹‡à¸­à¸„เป้าด้วยบล็อคนี้. +onset.mine = à¸à¸”คลิ๊à¸à¸‹à¹‰à¸²à¸¢à¹€à¸žà¸·à¹ˆà¸­à¸‚ุด \uf748 [accent]เบริลเลี่ยม[] จาà¸à¸à¸³à¹à¸žà¸‡\n\nà¸à¸” [accent][[WASD][] เพื่อขยับ +onset.mine.mobile = à¸à¸”ที่หน้าจอเพื่อขุด \uf748 [accent]เบริลเลี่ยม[] จาà¸à¸à¸³à¹à¸žà¸‡ +onset.research = เปิดหน้า \ue875 ต้นไม้à¹à¸«à¹ˆà¸‡à¹€à¸—คโนโลยี\nวิจัย à¹à¸¥à¹‰à¸§à¸§à¸²à¸‡ \uf73e [accent]เครื่องควบà¹à¸™à¹ˆà¸™à¸à¸±à¸‡à¸«à¸±à¸™[] บนปล่อง\nเครื่องนี้จะผลิต[accent]พลังงาน[] +onset.bore = วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf741 [accent]เครื่องขุดเจาะพลาสม่า[]\nเครื่องนี้จะขุดทรัพยาà¸à¸£à¸—ี่อยู่ในà¸à¸³à¹à¸žà¸‡à¹ƒà¸«à¹‰à¹‚ดยอัตโนมัติ +onset.power = เพื่อที่จะ[accent]จ่ายพลังงาน[]ให้à¸à¸±à¸šà¹€à¸„รื่องขุดเจาะพลาสม่า วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf73d [accent]โหนดลำà¹à¸ªà¸‡[]\nลาà¸à¹‚หนดเพื่อเชื่อมต่อเครื่องควบà¹à¸™à¹ˆà¸™à¸à¸±à¸‡à¸«à¸±à¸™à¸à¸±à¸šà¹€à¸„รื่องขุดเจาะพลาสม่า +onset.ducts = วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf799 [accent]ท่อสูà¸à¸à¸²à¸à¸²à¸¨[]เพื่อเคลื่อนย้ายทรัพยาà¸à¸£à¸—ี่ขุดมาได้จาà¸à¹€à¸„รื่องขุดเจาะพลาสม่าไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡\nà¸à¸”คลิ๊à¸à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¸§à¸²à¸‡à¸—่อสูà¸à¸à¸²à¸à¸²à¸¨à¸«à¸¥à¸²à¸¢à¹† ท่อให้เป็นทาง\n[accent]หมุนเม้าส์[]เพื่อหมุน +onset.ducts.mobile = วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf799 [accent]ท่อสูà¸à¸à¸²à¸à¸²à¸¨[]เพื่อเคลื่อนย้ายทรัพยาà¸à¸£à¸—ี่ขุดมาได้จาà¸à¹€à¸„รื่องขุดเจาะพลาสม่าไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡\n\nใช้นิ้วà¸à¸”ค้างที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸‹à¸±à¸à¸§à¸´à¹à¸¥à¹‰à¸§à¸¥à¸²à¸à¹€à¸žà¸·à¹ˆà¸­à¸§à¸²à¸‡à¸—่อสูà¸à¸à¸²à¸à¸²à¸¨à¸«à¸¥à¸²à¸¢à¹† ท่อให้เป็นทาง +onset.moremine = ขยายปฎิบัติà¸à¸²à¸£à¸‚ุด\nวางเครื่องขุดเจาะพลาสม่าเพิ่มà¹à¸¥à¹‰à¸§à¹ƒà¸Šà¹‰à¹‚หนดลำà¹à¸ªà¸‡à¹€à¸žà¸·à¹ˆà¸­à¸ˆà¹ˆà¸²à¸¢à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹ƒà¸«à¹‰à¸à¸±à¸šà¸¡à¸±à¸™\nขุดเบริลเลี่ยม 200 ชิ้น +onset.graphite = บล็อà¸à¸—ี่สูงขั้นà¸à¸§à¹ˆà¸²à¸ˆà¸³à¹€à¸›à¹‡à¸™à¸•้องใช้ \uf835 [accent]à¸à¸£à¸²à¹„ฟต์[]\nจัดตั้งเครื่องขุดเจาะพลาสม่าเพื่อขุดà¸à¸£à¸²à¹„ฟต์ +onset.research2 = เริ่มà¸à¸²à¸£à¸§à¸´à¸ˆà¸±à¸¢[accent]โรงงาน[]\nวิจัย \uf74d [accent]เครื่องบดหน้าผา[]à¹à¸¥à¸° \uf779 [accent]เตาหลอมไฟฟ้าซิลิà¸à¸­à¸™[] +onset.arcfurnace = เตาหลอมไฟฟ้าจะต้องใช้ \uf834 [accent]ทราย[]à¹à¸¥à¸° \uf835 [accent]à¸à¸£à¸²à¹„ฟต์[]เพื่อผลิต \uf82f [accent]ซิลิà¸à¸­à¸™[]\nà¸à¸²à¸£à¸œà¸¥à¸´à¸•จำเป็นจะต้องใช้[accent]พลังงาน[]ด้วย +onset.crusher = ใช้ \uf74d [accent]เครื่องบดหน้าผา[]เพื่อผลิตทราย +onset.fabricator = ใช้[accent]ยูนิต[]เพื่อสำรวจพื้นที่ ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ à¹à¸¥à¸°à¹‚จมตีศัตรู วิจัยà¹à¸¥à¸°à¸§à¸²à¸‡ \uf6a2 [accent]เครื่องสรรค์สร้างรถถัง[] +onset.makeunit = ผลิตยูนิตขึ้นมา\nใช้ปุ่ม "?" เพื่อดูความต้องà¸à¸²à¸£à¸—รัพยาà¸à¸£à¸‚องà¹à¸•่ละโรงงานที่เลือà¸à¸¡à¸² +onset.turrets = ยูนิตนั้นมีประสิทธิภาพ à¹à¸•่[accent]ป้อมปืน[]นั้นสามารถที่จะใช้ตั้งรับได้ดีà¸à¸§à¹ˆà¸²à¸«à¸²à¸à¹ƒà¸Šà¹‰à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸µà¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพ\nวางป้อมปืน \uf6eb [accent]บรีช[]\nป้อมปืนจำเป็นจะต้องใช้ \uf748 [accent]à¸à¸£à¸°à¸ªà¸¸à¸™[] +onset.turretammo = เติมà¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸«à¹‰à¹à¸à¹ˆà¸›à¹‰à¸­à¸¡à¸›à¸·à¸™à¸”้วย[accent]à¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸šà¸£à¸´à¸¥à¹€à¸¥à¸µà¹ˆà¸¢à¸¡[] +onset.walls = [accent]à¸à¸³à¹à¸žà¸‡[]สามารถป้องà¸à¸±à¸™à¸„วามเสียหายที่จะมาถึงให้ไม่ไปโดนสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹„ด้\nวางà¸à¸³à¹à¸žà¸‡ \uf6ee [accent]à¸à¸³à¹à¸žà¸‡à¹€à¸šà¸£à¸´à¸¥à¹€à¸¥à¸µà¹ˆà¸¢à¸¡[]รอบๆ ป้อมปืน +onset.enemies = ศัตรูà¸à¸³à¸¥à¸±à¸‡à¸ˆà¸°à¹€à¸‚้ามา เตรียมตัวป้องà¸à¸±à¸™à¹ƒà¸«à¹‰à¸”ี +onset.defenses = [accent]ติดตั้งà¹à¸™à¸§à¸›à¹‰à¸­à¸‡à¸à¸±à¸™:[lightgray] {0} +onset.attack = ศัตรูอ่อนà¹à¸­à¸¥à¸‡à¹à¸¥à¹‰à¸§ ตอบโต้à¸à¸¥à¸±à¸š +onset.cores = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹ƒà¸«à¸¡à¹ˆà¸ªà¸²à¸¡à¸²à¸£à¸–วางได้บน[accent]โซนà¹à¸à¸™à¸à¸¥à¸²à¸‡[]\nà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹ƒà¸«à¸¡à¹ˆà¸ˆà¸°à¸—ำหน้าที่เป็นà¸à¸²à¸™à¸—ัพด่านหน้าà¹à¸¥à¸°à¸ˆà¸°à¹à¸šà¹ˆà¸‡à¸›à¸±à¸™à¸—รัพยาà¸à¸£à¸à¸±à¸šà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸­à¸·à¹ˆà¸™à¹†\nวาง \uf725 à¹à¸à¸™à¸à¸¥à¸²à¸‡ +onset.detect = ศัตรูจะสามารถตรวจจับà¸à¸²à¸£à¸¡à¸µà¸­à¸¢à¸¹à¹ˆà¸‚องคุณได้ในอีภ2 นาที\nจัดตั้งà¸à¸­à¸‡à¸à¸³à¸¥à¸±à¸‡à¸›à¹‰à¸­à¸‡à¸à¸±à¸™ ปà¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£à¸‚ุด à¹à¸¥à¸°à¸à¸²à¸£à¸œà¸¥à¸´à¸• + +#Don't translate these yet! +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. + +split.pickup = บล็อà¸à¸šà¸²à¸‡à¸Šà¸™à¸´à¸”สามารถถูà¸à¸«à¸¢à¸´à¸šà¸‚ึ้นมาได้ด้วยยูนิตà¹à¸à¸™à¸à¸¥à¸²à¸‡\nบรรทุà¸[accent]ที่เà¸à¹‡à¸šà¸‚อง[]นี้มาà¹à¸¥à¹‰à¸§à¹€à¸­à¸²à¹„ปวางใน[accent]เครื่องโหลดสิ่งบรรทุà¸[]\n(ปุ่มค่าเริ่มต้นคือ [ สำหรับหยิบà¹à¸¥à¸° ] สำหรับวางบล็อà¸) +split.pickup.mobile = บล็อà¸à¸šà¸²à¸‡à¸Šà¸™à¸´à¸”สามารถถูà¸à¸«à¸¢à¸´à¸šà¸‚ึ้นมาได้ด้วยยูนิตà¹à¸à¸™à¸à¸¥à¸²à¸‡\nบรรทุà¸[accent]ตู้เà¸à¹‡à¸šà¸‚อง[]นี้มาà¹à¸¥à¹‰à¸§à¹€à¸­à¸²à¹„ปวางใน[accent]เครื่องโหลดสิ่งบรรทุà¸[]\n(เพื่อจะหยิบหรือวางสิ่งใดๆ ให้à¸à¸”ค้างที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ต้องà¸à¸²à¸£à¸«à¸¢à¸´à¸šà¸«à¸£à¸·à¸­à¸§à¸²à¸‡) +split.acquire = คุณต้องหาทังสเตนมาเพื่อสร้างยูนิต +split.build = ยูนิตจะต้องถูà¸à¸‚นย้ายไปยังอีà¸à¸à¸±à¹ˆà¸‡à¸‚องà¸à¸³à¹à¸žà¸‡\nวาง[accent]เครื่องโอนถ่ายสิ่งบรรทุà¸[]สองเครื่อง เครื่องจะà¸à¸±à¹ˆà¸‡à¸‚องà¸à¸³à¹à¸žà¸‡\nตั้งค่าà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อโดยà¸à¸²à¸£à¸à¸”ที่เครื่องหนึ่ง à¹à¸¥à¹‰à¸§à¹€à¸¥à¸´à¸­à¸à¸­à¸µà¸à¹€à¸„รื่อง +split.container = เหมือนà¸à¸±à¸™à¸à¸±à¸šà¸•ู้เà¸à¹‡à¸šà¸‚อง ยูนิตà¸à¹‡à¸ªà¸²à¸¡à¸²à¸£à¸–ถูà¸à¸‚นย้ายได้ด้วย[accent]เครื่องโอนถ่ายสิ่งบรรทุà¸[]\nวางเครื่องสรรค์สร้างยูนิตให้ติดà¸à¸±à¸šà¹€à¸„รื่องโอนถ่ายเพื่อที่จะโหลดมัน à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸¡à¸±à¸™à¸‚้ามà¸à¸³à¹à¸žà¸‡à¹ƒà¸«à¹‰à¸­à¸­à¸à¹„ปโจมตีà¸à¸²à¸™à¸—ัพศัตรู + +item.copper.description = วัสดุà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸·à¹‰à¸™à¸à¸²à¸™ ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸šà¸¥à¹‡à¸­à¸à¹à¸—บทุà¸à¸Šà¸™à¸´à¸” +item.copper.details = ทองà¹à¸”ง มีอยู่มาà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸œà¸´à¸”ปà¸à¸•ิบน[accent]เซอร์ปูโล่[] ไม่ค่อยà¹à¸‚็งà¹à¸£à¸‡à¸¢à¸à¹€à¸§à¹‰à¸™à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸ªà¸£à¸´à¸¡à¹€à¸à¸£à¸²à¸° +item.lead.description = ทรัพยาà¸à¸£à¸žà¸·à¹‰à¸™à¸à¸²à¸™à¸—ี่พบเจอได้ง่าย ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸­à¸´à¹€à¸¥à¹‡à¸à¸—รอนิà¸à¸ªà¹Œà¹à¸¥à¸°à¸šà¸¥à¹‡à¸­à¸à¸‚นย้ายของเหลว +item.lead.details = ทั้งหนาà¹à¸¥à¸°à¹€à¸‰à¸·à¹ˆà¸­à¸¢ ใช้à¸à¸±à¸™à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸²à¸à¹ƒà¸™à¹à¸šà¸•เตอรี่\n\nโน๊ต: มีà¹à¸™à¸§à¹‚น้มจะเป็นพิษต่อรูปà¹à¸šà¸šà¸ªà¸´à¹ˆà¸‡à¸¡à¸µà¸Šà¸µà¸§à¸´à¸•ทางชีวภาพ ไม่ใช่ว่ามันยังมีเหลืออยู่มาà¸à¸¡à¸²à¸¢à¸—ี่นี่ +item.metaglass.description = à¸à¸£à¸°à¸ˆà¸à¸—ี่à¹à¸‚็งà¹à¸£à¸‡à¹à¸¥à¸°à¸—นทานอย่างมาภใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¸à¸±à¸šà¸—่อน้ำà¹à¸¥à¸°à¸—ี่เà¸à¹‡à¸šà¸‚อง หรือนำไปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™à¸à¸£à¸°à¸ˆà¸²à¸¢à¹ƒà¸ªà¹ˆà¹ƒà¸™à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™ +item.graphite.description = เà¸à¸´à¸”จาà¸à¸à¸²à¸£à¸ˆà¸±à¸”เรียงตัวใหม่ของคาร์บอน ใช้เป็นชิ้นส่วนอุปà¸à¸£à¸“์ไฟฟ้าหรือนำไปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™ +item.sand.description = ทรัพยาà¸à¸²à¸£à¸—ี่พบได้ทั่วไป ใช้ในà¸à¸²à¸£à¹à¸›à¸£à¸£à¸¹à¸›à¹€à¸›à¹‡à¸™à¸§à¸±à¸ªà¸”ุอื่นๆ หรือนำไปเผาเป็น[accent]à¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้า[] +item.coal.description = ใช้เป็นเชื้อเพลิงà¹à¸¥à¸°à¸à¸²à¸£à¹à¸›à¸£à¸£à¸¹à¸›à¹€à¸›à¹‡à¸™à¸§à¸±à¸ªà¸”ุอื่นๆ +item.coal.details = ดูเหมือนจะเป็นซาà¸à¸žà¸·à¸Šà¸”ึà¸à¸”ำบรรพ์ เà¸à¸´à¸”ขึ้นนานà¸à¹ˆà¸­à¸™à¸à¸²à¸£à¹à¸žà¸£à¹ˆà¸žà¸±à¸™à¸˜à¸¸à¹Œà¸‚องสปอร์เสียอีภ+item.titanium.description = ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸à¸²à¸£à¸‚นย้ายของเหลว เครื่องขุดเจาะà¹à¸¥à¸°à¸­à¸²à¸à¸²à¸¨à¸¢à¸²à¸™ +item.thorium.description = ใช้ในà¸à¸²à¸£à¹€à¸ªà¸£à¸´à¸¡à¹€à¸à¸£à¸²à¸°à¸‚องสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸•่างๆ หรือนำไปเป็นเป็นเชื้อเพลิงนิวเคลียร์ +item.scrap.description = ใช้ในเตาหลอมà¹à¸£à¹ˆà¹à¸¥à¸°à¹€à¸„รื่องบดอัดเพื่อเปลี่ยนเป็นทรัพยาà¸à¸£à¸­à¸·à¹ˆà¸™à¹† +item.scrap.details = เศษที่เหลือจาà¸à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•เà¸à¹ˆà¸² มีร่องรอยของโลหะหลายชนิดอยู่ เà¸à¸´à¸”จาà¸à¸à¸²à¸™à¸—ัพโบราณในสมัยสงครามเà¸à¹ˆà¸²à¹à¸à¹ˆà¸–ูà¸à¸—ำลาย ทำให้วัสดุต่างๆ พังลงมารวมà¸à¸±à¸š +item.silicon.description = วัสดุà¸à¸¶à¹ˆà¸‡à¸•ัวนำที่มีประโยชน์มาภใช้ในà¹à¸œà¸‡à¹‚ซล่าเซลล์ อุปà¸à¸£à¸“์อิเล็à¸à¸—รอนิà¸à¸—ี่ซับซ้อน\nหรือนำไปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™à¸•ิดตามตัวสำหรับป้อมปืน +item.plastanium.description = วัสดุที่เบาà¹à¸¥à¸°à¸”ัดได้ ใช้ในอาà¸à¸²à¸¨à¸¢à¸²à¸™à¸‚ั้นสูง เป็นฉนวนà¸à¸±à¸™à¸„วามร้อนหรือนำไปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™à¸à¸£à¸°à¸ˆà¸²à¸¢ +item.phase-fabric.description = วัสดุที่เบาจนà¹à¸—บจะไร้น้ำหนัภใช้ในอิเล็à¸à¸—รอนิà¸à¸ªà¹Œà¸‚ั้นสูงà¹à¸¥à¸°à¹€à¸—คโนโลยีซ่อมà¹à¸‹à¸¡à¸•นเอง +item.surge-alloy.description = โลหะผสมขั้นสูงที่มีคุณสมบัติทางไฟฟ้าที่จำเพาะ\nใช้ในอาวุธขั้นสูงà¹à¸¥à¸°à¸à¸²à¸£à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸•่างๆ +item.spore-pod.description = à¸à¸£à¸°à¹€à¸›à¸²à¸°à¸‚องสปอร์สังเคราะห์ สังเคราะห์โดยà¸à¸²à¸£à¸ªà¸à¸±à¸”สปอร์ที่อยู่ในบรรยาà¸à¸²à¸¨\nใช้ในอุตสาหà¸à¸£à¸£à¸¡ ใช้ในà¸à¸²à¸£à¸à¸¥à¸±à¹ˆà¸™à¹€à¸›à¹‡à¸™à¸™à¹‰à¸³à¸¡à¸±à¸™ สารระเบิดà¹à¸¥à¸°à¹€à¸Šà¸·à¹‰à¸­à¹€à¸žà¸¥à¸´à¸‡ +item.spore-pod.details = สปอร์ น่าจะเป็นรูปà¹à¸šà¸šà¸Šà¸µà¸§à¸´à¸•สังเคราะห์ ปล่อยà¹à¸à¹‡à¸ªà¸—ี่เป็นพิษต่อระบบสิ่งมีชีวิตอื่น à¹à¸žà¸£à¹ˆà¸žà¸±à¸™à¸˜à¸¸à¹Œà¹à¸¥à¸°à¸£à¸¸à¸à¸£à¸²à¸™à¹€à¸£à¹‡à¸§à¸¡à¸²à¸à¹† ไวไฟอย่างมาà¸à¹ƒà¸™à¸šà¸²à¸‡à¸ªà¸ à¸²à¸§à¸° +item.blast-compound.description = ใช้ในà¸à¸²à¸£à¸£à¸°à¹€à¸šà¸´à¸”หรือนำไปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™à¸£à¸°à¹€à¸šà¸´à¸”จับคู่à¸à¸±à¸šà¸ªà¸²à¸£à¸«à¸¥à¹ˆà¸­à¹€à¸¢à¹‡à¸™\nเพื่อทำดาเมจอย่างมหาศาล ไม่à¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¹€à¸›à¹‡à¸™à¹€à¸Šà¸·à¹‰à¸­à¹€à¸žà¸¥à¸´à¸‡ +item.pyratite.description = วัสดุที่ติดไฟได้ง่าย ใช้ในอาวุธเพลิงหรือนำมาผลิตพลังงาน สามารถนำมาผลิตเป็น[accent]สารระเบิด[]ได้ + +#Erekir +item.beryllium.description = วัสดุà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸·à¹‰à¸™à¸à¸²à¸™ ใช้อย่างà¹à¸žà¸£à¹ˆà¸«à¸¥à¸²à¸¢à¹ƒà¸™à¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸«à¹‰à¸à¸±à¸šà¸šà¸¥à¹‡à¸­à¸à¹à¸—บทุà¸à¸Šà¸™à¸´à¸”ในดาวเอเรเà¸à¸µà¸¢à¸£à¹Œ +item.tungsten.description = ใช้ในเครื่องขุด เสริมเà¸à¸£à¸²à¸°à¸«à¸£à¸·à¸­à¸™à¸³à¹„ปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™ จำเป็นสำหรับà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่สูงขั้นà¸à¸§à¹ˆà¸² +item.oxide.description = ในเป็นตัวนำความร้อนà¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¸‰à¸™à¸§à¸™à¸ªà¸³à¸«à¸£à¸±à¸šà¹„ฟฟ้า +item.carbide.description = ใช้ในสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚ั้นสูง ยูนิตที่ร้ายà¸à¸²à¸ˆà¸¢à¸´à¹ˆà¸‡à¸à¸§à¹ˆà¸² à¹à¸¥à¸°à¸™à¸³à¹„ปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™ + +liquid.water.description = ใช้ในà¸à¸²à¸£à¸£à¸°à¸šà¸²à¸¢à¸„วามร้อนให้à¸à¸±à¸šà¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸à¸²à¸£à¸ˆà¸±à¸”à¸à¸²à¸£à¸‚องเสียต่างๆ +liquid.slag.description = สามารถนำไปà¹à¸¢à¸à¹€à¸›à¹‡à¸™à¸§à¸±à¸ªà¸”ุต่างๆ หรือเป็นอาวุธพ่นใส่ศัตรู +liquid.oil.description = ใช้ในà¸à¸²à¸£à¸œà¸¥à¸´à¸•วัสดุขั้นสูง สามารถà¹à¸›à¸£à¸£à¸¹à¸›à¹€à¸›à¹‡à¸™à¸–่านหินเพื่อใช้เป็นเชื้อเพลิง หรือเป็นอาวุธเพื่อพ่นใส่ศัตรูเพื่อให้ศัตรูติดสถานะ[accent]เปื้อนน้ำมัน[] +liquid.cryofluid.description = ของเหลวเฉื่อยà¹à¸¥à¸°à¹„ม่à¸à¸±à¸”à¸à¸£à¹ˆà¸­à¸™ ใช้ในà¸à¸²à¸£à¸«à¸¥à¹ˆà¸­à¹€à¸¢à¹‡à¸™à¹€à¸•าปà¸à¸´à¸à¸£à¸“์ สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¹‚รงงานต่างๆ + +#Erekir +liquid.arkycite.description = ใช้ในà¸à¸²à¸£à¸—ำปà¸à¸´à¸à¸´à¸£à¸´à¸¢à¸²à¸—างเคมีสำหรับà¸à¸²à¸£à¸à¸³à¹€à¸™à¸´à¸”พลังงานà¹à¸¥à¸°à¸à¸²à¸£à¸œà¸¥à¸´à¸•สร้างวัสดุต่างๆ +liquid.ozone.description = ใช้เป็นตัวช่วยà¸à¸²à¸£à¸­à¸­à¸à¸‹à¸´à¹„ดซ์ในà¸à¸²à¸£à¸œà¸¥à¸´à¸•วัสดุต่างๆ รวมไปถึงนำไปเป็นเชื้อเพลิง ค่อนข้างที่จะระเบิดได้ง่าย +liquid.hydrogen.description = ใช้ในà¸à¸²à¸£à¸ªà¸à¸±à¸”ทรัพยาà¸à¸£ à¸à¸²à¸£à¸œà¸¥à¸´à¸•ยูนิต à¹à¸¥à¸°à¸à¸²à¸£à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ ติดไฟได้ง่าย +liquid.cyanogen.description = ใช้ในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸¢à¸¹à¸™à¸´à¸•ขั้นสูง à¸à¸²à¸£à¸—ำปà¸à¸´à¸à¸´à¸£à¸´à¸¢à¸²à¸•่างๆ ในบล็อà¸à¸‚ั้นสูง หรือนำไปเป็นà¸à¸£à¸°à¸ªà¸¸à¸™ ไวต่อไฟเป็นอย่างมาภ+liquid.nitrogen.description = ใช้ในà¸à¸²à¸£à¸ªà¸à¸±à¸”ทรัพยาà¸à¸£ à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸à¹‡à¸ªà¹à¸¥à¸°à¸à¸²à¸£à¸œà¸¥à¸´à¸•ยูนิต มีสภาพเฉื่อย +liquid.neoplasm.description = ชีวมวลอันตรายที่เป็นผลพลอยได้จาà¸à¹€à¸•าปà¸à¸´à¸à¸£à¸™à¸µà¹‚อพลาเซีย à¹à¸žà¸£à¹ˆà¸à¸£à¸°à¸ˆà¸²à¸¢à¸­à¸¢à¹ˆà¸²à¸‡à¸£à¸§à¸”เร็วสู่บล็อà¸à¸—ี่บรรจุน้ำที่ชีวมวลนี้สัมผัส สร้างความเสียหายมันไปในระหว่างทาง หนืดข้น +liquid.neoplasm.details = นีโอพลาสม์ à¸à¹‰à¸­à¸™à¹€à¸‹à¸¥à¸¥à¹Œà¹€à¸™à¸·à¹‰à¸­à¸‡à¸­à¸à¸—ี่ถูà¸à¸ªà¸±à¸‡à¹€à¸„ราะห์ขึ้นà¹à¸¥à¸°à¸„วบคุมไม่ได้ ขยายตัวอย่างรวดเร็วโดยจับตัวà¸à¸±à¸™à¹€à¸›à¹‡à¸™à¸à¹‰à¸­à¸™ ทนทานต่อความร้อน เป็นอันตรายอย่างยิ่งต่อสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่เà¸à¸µà¹ˆà¸¢à¸§à¸‚้องà¸à¸±à¸šà¸™à¹‰à¸³\n\nซับซ้อนà¹à¸¥à¸°à¹„ม่เสถียรเà¸à¸´à¸™à¹„ปสำหรับà¸à¸²à¸£à¸§à¸´à¸™à¸´à¸ˆà¸‰à¸±à¸¢à¸‚ั้นพื้นà¸à¸²à¸™ ไม่ทราบส่วนผสมที่เป็นไปได้ à¹à¸™à¸°à¸™à¸³à¹€à¸›à¹‡à¸™à¸­à¸¢à¹ˆà¸²à¸‡à¸¢à¸´à¹ˆà¸‡à¹ƒà¸«à¹‰à¸™à¸³à¸¡à¸±à¸™à¹„ปเผาสลายในบ่อà¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ + +block.derelict = \uf77e [lightgray]ถูà¸à¸—ิ้งร้าง +block.armored-conveyor.description = เลื่อนไอเท็มไปข้างหน้า เร็วเท่าสายพานไทเทเนี่ยม à¹à¸•่มีเà¸à¸£à¸²à¸°à¸—ี่à¹à¸‚็งà¹à¸£à¸‡à¸à¸§à¹ˆà¸² ไม่รับไอเท็มจาà¸à¸”้านข้างยà¸à¹€à¸§à¹‰à¸™à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¸ªà¸²à¸¢à¸žà¸²à¸™à¸”้วยà¸à¸±à¸™à¹€à¸­à¸‡ +block.illuminator.description = ตัวเปล่งà¹à¸ªà¸‡à¸‚นาดà¸à¸°à¸—ัดรัด ส่องสว่างในที่มืดได้ดี\nà¹à¸–มยังà¸à¸³à¸«à¸™à¸”ค่าสีของà¹à¸ªà¸‡à¹„ด้อีà¸à¸”้วย... เจ๋งใช่มั้ยล่ะ +block.message.description = เà¸à¹‡à¸šà¸‚้อความ ใช้สื่อสารà¸à¸±à¸šà¸žà¸±à¸™à¸˜à¸¡à¸´à¸•ร +block.reinforced-message.description = เà¸à¹‡à¸šà¸‚้อความ ใช้สื่อสารà¸à¸±à¸šà¸žà¸±à¸™à¸˜à¸¡à¸´à¸•ร +block.world-message.description = à¸à¸¥à¹ˆà¸­à¸‡à¸‚้อความสำหรับà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¡à¸ž ไม่สามารถทำลายได้ +block.graphite-press.description = อัดà¸à¹‰à¸­à¸™à¸–่านหินให้เป็นà¹à¸œà¹ˆà¸™à¸à¸£à¸²à¹„ฟต์บริสุทธิ์ +block.multi-press.description = อัดà¸à¹‰à¸­à¸™à¸–่านหินให้เป็นà¹à¸œà¹ˆà¸™à¸à¸£à¸²à¹„ฟต์บริสุทธิ์ ใช้น้ำà¹à¸¥à¸°à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹ƒà¸™à¸à¸²à¸£à¹à¸›à¸£à¸£à¸¹à¸›à¸–่านหินให้เร็วà¹à¸¥à¸°à¸¡à¸µà¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพมาà¸à¸‚ึ้น +block.silicon-smelter.description = ผลิตซิลิà¸à¸­à¸™à¸ˆà¸²à¸à¸à¸²à¸£à¸«à¸¥à¸­à¸¡à¸—รายà¹à¸¥à¸°à¸–่านหินเข้าด้วยà¸à¸±à¸™ +block.kiln.description = เผาทรายà¹à¸¥à¸°à¸•ะà¸à¸±à¹ˆà¸§à¹€à¸›à¹‡à¸™à¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้า +block.plastanium-compressor.description = บีบอัดน้ำมันà¹à¸¥à¸°à¹„ทเทเนี่ยมเข้าด้วยà¸à¸±à¸™à¹€à¸žà¸·à¹ˆà¸­à¸œà¸¥à¸´à¸•พลาสตาเนี่ยม +block.phase-weaver.description = สังเคราะห์ใยเฟสจาà¸à¸—รายà¹à¸¥à¸°à¸—อเรี่ยม ใช้พลังงานจำนวนมาà¸à¹ƒà¸™à¸à¸²à¸£à¸—ำงาน +block.surge-smelter.description = หลอมรวมไทเทเนี่ยม ตะà¸à¸±à¹ˆà¸§ ซิลิà¸à¸­à¸™à¹à¸¥à¸°à¸—องà¹à¸”งเพื่อผลิตโลหะผสมเสิร์จ +block.cryofluid-mixer.description = ผสมน้ำà¹à¸¥à¸°à¸œà¸‡à¹„ทเทเนี่ยมบริสุทธิ์เป็นสารหล่อเย็น\nสำคัà¸à¸ªà¸³à¸«à¸£à¸±à¸šà¹€à¸•าปà¸à¸´à¸à¸£à¸“์ทอเรี่ยม +block.blast-mixer.description = ผสมสปอร์à¸à¸±à¸šà¹„พราไทต์เพื่อผลิตสารประà¸à¸­à¸šà¸£à¸°à¹€à¸šà¸´à¸” +block.pyratite-mixer.description = ผสมถ่านหิน ตะà¸à¸±à¹ˆà¸§à¹à¸¥à¸°à¸—รายเข้าด้วยà¸à¸±à¸™à¹€à¸›à¹‡à¸™à¹„พราไทต์ +block.melter.description = หลอมเศษเหล็à¸à¹€à¸›à¹‡à¸™à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¹€à¸žà¸·à¹ˆà¸­à¹ƒà¸Šà¹‰à¹ƒà¸™à¸à¸£à¸°à¸šà¸§à¸™à¸à¸²à¸£à¹à¸¢à¸à¹à¸£à¹ˆ\nหรือใช้เป็นอาวุธเผาศัตรู +block.separator.description = à¹à¸¢à¸à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¸­à¸­à¸à¹€à¸›à¹‡à¸™à¸ªà¹ˆà¸§à¸™à¸›à¸£à¸°à¸à¸­à¸šà¹à¸£à¹ˆà¸˜à¸²à¸•ุของมัน +block.spore-press.description = อัดà¸à¸£à¸°à¹€à¸›à¸²à¸°à¸ªà¸›à¸­à¸£à¹Œà¸”้วยà¹à¸£à¸‡à¸à¸”มหาศาลเพื่อสังเคราะห์น้ำมัน +block.pulverizer.description = บดเศษเหล็à¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¸—รายละเอียด +block.coal-centrifuge.description = à¹à¸›à¸£à¸£à¸¹à¸›à¸™à¹‰à¸³à¸¡à¸±à¸™à¹ƒà¸«à¹‰à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸–่านหิน +block.incinerator.description = เผาทำลายไอเท็มหรือของเหลวทุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¸—ี่ได้รับมา +block.power-void.description = ดูดพลังงานทั้งหมดที่ได้รับ มีเฉพาะโหมดอิสระ +block.power-source.description = ส่งออà¸à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¸­à¸¢à¹ˆà¸²à¸‡à¹„ม่จำà¸à¸±à¸” มีเฉพาะโหมดอิสระ +block.item-source.description = ส่งออà¸à¹„อเท็มอย่างไม่จำà¸à¸±à¸” มีเฉพาะโหมดอิสระ +block.item-void.description = ทำลายไอเท็มทุà¸à¸Šà¸™à¸´à¸”ที่เข้ามา มีเฉพาะโหมดอิสระ +block.liquid-source.description = ส่งออà¸à¸‚องเหลวอย่างไม่จำà¸à¸±à¸” มีเฉพาะโหมดอิสระ +block.liquid-void.description = ระเหยของเหลวทุà¸à¸Šà¸™à¸´à¸”ที่เข้ามา มีเฉพาะโหมดอิสระ +block.payload-source.description = ส่งออà¸à¸ªà¸´à¹ˆà¸‡à¸šà¸£à¸£à¸—ุà¸à¸­à¸¢à¹ˆà¸²à¸‡à¹„ม่จำà¸à¸±à¸” มีเฉพาะโหมดอิสระ +block.payload-void.description = ทำลายสิ่งบรรทุà¸à¸—ุà¸à¸Šà¸™à¸´à¸”ที่เข้ามา มีเฉพาะโหมดอิสระ +block.copper-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู +block.copper-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ครอบคลุมหลายช่อง +block.titanium-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸£à¸‡à¸­à¸¢à¸¹à¹ˆà¸™à¸´à¸”หน่อย +block.titanium-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸£à¸‡à¸­à¸¢à¸¹à¹ˆà¸™à¸´à¸”หน่อย ครอบคลุมหลายช่อง +block.plastanium-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ค่อนข้างà¹à¸‚็งà¹à¸£à¸‡\nสามารถดูดซับพลังงานไฟฟ้าà¹à¸¥à¸°à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œ à¹à¸¥à¸°à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸à¸²à¸£à¸•่อไฟà¸à¸±à¸šà¸•ัวจ่ายพลังงานโดยอัตโนมัติได้ +block.plastanium-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ค่อนข้างà¹à¸‚็งà¹à¸£à¸‡\nสามารถดูดซับพลังงานไฟฟ้าà¹à¸¥à¸°à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œ à¹à¸¥à¸°à¸›à¹‰à¸­à¸‡à¸à¸±à¸™à¸à¸²à¸£à¸•่อไฟà¸à¸±à¸šà¸•ัวจ่ายพลังงานโดยอัตโนมัติได้\nครอบคลุมหลายช่อง +block.thorium-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸£à¸‡à¸¡à¸²à¸ ป้องà¸à¸±à¸™à¸¨à¸±à¸•รูได้อย่างดี +block.thorium-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸£à¸‡à¸¡à¸²à¸ ป้องà¸à¸±à¸™à¸¨à¸±à¸•รูได้อย่างดี\nครอบคลุมหลายช่อง +block.phase-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ทนทานà¹à¸¥à¸°à¹à¸‚็งà¹à¸£à¸‡\nเคลือบด้วยวัสดุพิเศษที่สะท้อนà¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¹ˆà¸§à¸™à¹ƒà¸«à¸à¹ˆà¸—ี่รับมา +block.phase-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ทนทานà¹à¸¥à¸°à¹à¸‚็งà¹à¸£à¸‡\nเคลือบด้วยวัสดุพิเศษที่สะท้อนà¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¹ˆà¸§à¸™à¹ƒà¸«à¸à¹ˆà¸—ี่รับมา\nครอบคลุมหลายช่อง +block.surge-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸²à¸\nจะปล่อยพลังงานสายฟ้าออà¸à¸¡à¸²à¹€à¸›à¹‡à¸™à¸£à¸°à¸¢à¸°à¹† เมื่อถูà¸à¹‚จมตี +block.surge-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸²à¸\nจะปล่อยพลังงานสายฟ้าออà¸à¸¡à¸²à¹€à¸›à¹‡à¸™à¸£à¸°à¸¢à¸°à¹† เมื่อถูà¸à¹‚จมตี\nครอบคลุมหลายช่อง +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = à¸à¸³à¹à¸žà¸‡à¸—ี่สามารถเปิดà¹à¸¥à¸°à¸›à¸´à¸”ได้ ไว้ใช้เพื่อให้ยูนิตเดินผ่าน +block.door-large.description = à¸à¸³à¹à¸žà¸‡à¸—ี่สามารถเปิดà¹à¸¥à¸°à¸›à¸´à¸”ได้ ไว้ใช้เพื่อให้ยูนิตเดินผ่าน\nครอบคลุมหลายช่อง +block.mender.description = ซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸™à¸§à¸‡à¸‚องมันอย่างช้าๆ\nสามารถใช้ซิลิà¸à¸­à¸™à¹€à¸žà¸·à¹ˆà¸­à¹€à¸žà¸´à¹ˆà¸¡à¸£à¸°à¸¢à¸°à¹à¸¥à¸°à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพได้ +block.mend-projector.description = ซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸™à¸§à¸‡à¸‚องมันอย่างล้นเหลือ\nสามารถใช้ใยเฟสเพื่อเพิ่มระยะà¹à¸¥à¸°à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพได้ +block.overdrive-projector.description = เพิ่มความเร็วของสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸£à¸­à¸šà¹†\nสามารถใช้ใยเฟสเพื่อเพิ่มระยะà¹à¸¥à¸°à¸›à¸£à¸°à¸ªà¸´à¸—ธิภาพได้ +block.force-projector.description = สร้างสนามพลังงานหà¸à¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¸£à¸­à¸šà¹† ตัวเอง ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ภายในสนามพลังงานจาà¸à¸à¸²à¸£à¹‚จมตี\nจะร้อนจัดถ้าได้รับดาเมจมาà¸à¸žà¸­ สามารถใช้น้ำหรือสารหล่อเย็นมาระบายความร้อนได้ สามารถใช้ใยเฟสเพิ่มขนาดสนามพลังได้ +block.shock-mine.description = จะปล่อยพลังงานสายฟ้าเมื่อศัตรูเหยียบà¸à¸±à¸šà¸”ัภ+block.conveyor.description = เลื่อนไอเท็มไปข้างหน้า +block.titanium-conveyor.description = เลื่อนไอเท็มไปข้างหน้า เลื่อนเร็วà¸à¸§à¹ˆà¸²à¸ªà¸²à¸¢à¸žà¸²à¸™à¸›à¸à¸•ิ +block.plastanium-conveyor.description = เคลื่อนย้ายไอเท็มเป็นชุด\nรับไอเท็มจาà¸à¸”้านหลัง à¹à¸¥à¸°à¸™à¸³à¸­à¸­à¸à¹„ปด้านหน้าสามทิศทาง +block.junction.description = มีหน้าที่เป็นสะพานสำหรับสายพานสองสายข้ามà¸à¸±à¸™ มีประโยชน์สำหรับเวลาสายพานสองสาย\nขนไอเท็มสองชนิดไปยังสองสถานที่ +block.bridge-conveyor.description = เคลื่อนย้ายไอเท็มข้ามสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸à¸³à¹à¸žà¸‡ +block.phase-conveyor.description = เคลื่อนย้ายไอเท็มข้ามสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸à¸³à¹à¸žà¸‡à¸”้วยความเร็วà¹à¸ªà¸‡\nมีระยะที่ไà¸à¸¥à¸à¸§à¹ˆà¸²à¸ªà¸°à¸žà¸²à¸™à¹„อเท็ม à¹à¸•่ต้องใช้พลังงาน +block.sorter.description = ถ้าไอเท็มที่เข้าไปข้างในตรงà¸à¸±à¸šà¸—ี่เลือà¸à¹„ว้ à¸à¹‡à¸ˆà¸°à¸œà¹ˆà¸²à¸™à¹„ด้ à¹à¸•่ถ้าไม่ตรง ไอเท็มà¸à¹‡à¸ˆà¸°à¸–ูà¸à¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ปทางซ้ายขวาà¹à¸—น +block.inverted-sorter.description = à¹à¸¢à¸à¹„อเท็มคล้ายà¸à¸±à¸šà¹€à¸„รื่องคัดà¹à¸¢à¸à¸˜à¸£à¸£à¸¡à¸”า à¹à¸•่ไอเท็มที่เลือà¸à¸ˆà¸°à¸­à¸­à¸à¸—างซ้ายขวาà¹à¸—น +block.router.description = รับไอเท็มà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ปสามทางเท่าๆà¸à¸±à¸™ มีประโยชน์สำหรับà¹à¸¢à¸à¹„อเท็มจาà¸à¹à¸«à¸¥à¹ˆà¸‡à¹€à¸”ียวไปหลายที่ +block.router.details = สิ่งชั่วร้ายที่เราจำเป็นต้องใช้ ไม่à¹à¸™à¸°à¸™à¸³à¹ƒà¸«à¹‰à¹ƒà¸Šà¹‰à¸•ิดà¸à¸±à¸™à¸à¸±à¸šà¹‚รงงาน เพราะของจะถูà¸à¸­à¸¸à¸”ตันà¹à¸¥à¸°à¸›à¸™à¸à¸±à¸™à¸¡à¸±à¹ˆà¸§à¹„ปหมด +block.distributor.description = à¹à¸¢à¸à¹„อเท็มออà¸à¹€à¸›à¹‡à¸™à¹€à¸ˆà¹‡à¸”ทางเท่าๆ à¸à¸±à¸™ +block.overflow-gate.description = ไอเท็มจะถูà¸à¸£à¸°à¸šà¸²à¸¢à¸­à¸­à¸à¸—างซ้ายขวาเมื่อทางข้างหน้าถูà¸à¸›à¸´à¸”à¸à¸±à¹‰à¸™ +block.underflow-gate.description = ตรงข้ามà¸à¸±à¸šà¸›à¸£à¸°à¸•ูระบาย จะระบายไอเท็มไปข้างหน้าหาà¸à¸—างซ้ายà¹à¸¥à¸°à¸‚วาถูà¸à¸›à¸´à¸”à¸à¸±à¹‰à¸™ +block.mass-driver.description = บล็อà¸à¸‚นส่งไอเท็มทางไà¸à¸¥ รวบรวมไอเท็มจำนวนหนึ่งà¹à¸¥à¹‰à¸§\nยิงไปหาเครื่องโอนถ่ายมวลอีà¸à¹€à¸„รื่องที่อยู่ไà¸à¸¥à¸­à¸­à¸à¹„ป +block.mechanical-pump.description = ปั้มของเหลวขึ้นมา ไม่ใช้พลังงาน +block.rotary-pump.description = ปั๊มของเหลวได้มาà¸à¸‚ึ้น à¹à¸•่ต้องใช้พลังงาน +block.impulse-pump.description = ปั๊มขั้นสุดยอด ปั้มของเหลวขึ้นมาได้เป็นจำนวนมาภ+block.conduit.description = เคลื่อนย้ายของเหลวไปข้างหน้า ใช้ร่วมà¸à¸±à¸šà¸›à¸±à¹Šà¸¡à¹à¸¥à¸°à¸—่อน้ำอื่นๆ +block.pulse-conduit.description = เคลื่อนย้ายของเหลวไปข้างหน้า เคลื่อนย้ายได้เร็วขึ้นà¹à¸¥à¸°à¹€à¸à¹‡à¸šà¸‚องเหลวได้เยอะà¸à¸§à¹ˆà¸²à¸—่อน้ำธรรมดา +block.plated-conduit.description = เคลื่อนย้ายของเหลวไปข้างหน้า ไม่รับของเหลวจาà¸à¸”้านข้างยà¸à¹€à¸§à¹‰à¸™à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¸—่อน้ำด้วยà¸à¸±à¸™à¹€à¸­à¸‡\nไม่รั่วไหล à¹à¸¥à¸°à¸¡à¸µà¹€à¸à¸£à¸²à¸°à¸—ี่หนาà¸à¸§à¹ˆà¸² +block.liquid-router.description = รับของเหลวจาà¸à¸—างเดียวà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ปสามทางเท่าๆà¸à¸±à¸™ สามารถเà¸à¹‡à¸šà¸‚องเหลวได้จำนวนหนึ่ง\nมีประโยชน์สำหรับà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸‚องเหลวจาà¸à¸›à¸±à¹‰à¸¡à¹„ปยังหลายที่ +block.liquid-container.description = เà¸à¹‡à¸šà¸‚องเหลวจำนวนปานà¸à¸¥à¸²à¸‡ ส่งออà¸à¹„ปรอบด้านคล้ายà¸à¸±à¸š\nเร้าเตอร์ของเหลว เหมาะในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸à¸±à¸šà¹€à¸„รื่องโหลดà¹à¸¥à¸°à¸–่ายสิ่งบรรทุà¸à¸ªà¸³à¸«à¸£à¸±à¸š\nà¸à¸²à¸£à¸‚นส่งของเหลวทางไà¸à¸¥ +block.liquid-tank.description = เà¸à¹‡à¸šà¸‚องเหลวจำนวนมาภส่งออà¸à¹„ปรอบด้านคล้ายà¸à¸±à¸šà¹€à¸£à¹‰à¸²à¹€à¸•อร์ของเหลว\nเหมาะในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹€à¸žà¸·à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸à¸±à¸™à¸Šà¸™à¹ƒà¸™à¹€à¸§à¸¥à¸²à¸—ี่ของเหลวไม่คงที่\nหรือเวลาที่ใช้ของเหลวเป็นจำนวนมาภ+block.liquid-junction.description = ทำหน้าที่เป็นสะพานสำหรับท่อน้ำสองท่อตัดà¸à¸±à¸™à¸—ี่มีของเหลวสองชนิดà¹à¸¥à¹‰à¸§à¸ˆà¸°à¹„ปคนละที่ +block.bridge-conduit.description = เคลื่อนย้ายของเหลวข้ามสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸à¸³à¹à¸žà¸‡ +block.phase-conduit.description = เคลื่อนย้ายของเหลวข้ามสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸à¸³à¹à¸žà¸‡à¸”้วยความเร็วà¹à¸ªà¸‡\nมีระยะที่ไà¸à¸¥à¸à¸§à¹ˆà¸²à¸ªà¸°à¸žà¸²à¸™à¸‚องเหลว à¹à¸•่ต้องใช้พลังงาน +block.power-node.description = ส่งพลังงานไปยังตัวจ่ายพลังงานที่เชื่อมต่อ ตัวจ่ายจะรับพลังงานจาà¸à¸•ัวจ่ายอื่น\nหรือà¹à¸«à¸¥à¹ˆà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¹„ปยังบล็อà¸à¸—ี่ติดà¸à¸±à¸™ +block.power-node-large.description = ตัวจ่ายพลังงานขั้นสูง มีระยะเชื่อมต่อà¸à¸§à¹‰à¸²à¸‡à¸‚ึ้น เชื่อมต่อได้มาà¸à¸‚ึ้น +block.surge-tower.description = ตัวจ่ายพลังงานที่มีระยะเชื่อมต่อไà¸à¸¥à¸¡à¸²à¸à¹à¸•่เชื่อมต่อได้น้อย\nเหมาะในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹€à¸žà¸·à¹ˆà¸­à¸ªà¹ˆà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ปที่ไà¸à¸¥à¹† +block.diode.description = พลังงานà¹à¸šà¸•เตอรี่สามารถไหลผ่านบล็อà¸à¸™à¸µà¹‰à¹„ด้เพียงทางเดียว à¹à¸•่เฉพาะเวลาที่อีà¸à¸”้านมีพลังงานน้อยà¸à¸§à¹ˆà¸²à¹€à¸—่านั้น +block.battery.description = เà¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹€à¸›à¹‡à¸™à¸à¸±à¸™à¸Šà¸™à¹€à¸§à¸¥à¸²à¸—ี่มีพลังงานเà¸à¸´à¸™ à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹€à¸¡à¸·à¹ˆà¸­à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ม่พอ +block.battery-large.description = เà¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹€à¸›à¹‡à¸™à¸à¸±à¸™à¸Šà¸™à¹€à¸§à¸¥à¸²à¸—ี่มีพลังงานเà¸à¸´à¸™ à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹€à¸¡à¸·à¹ˆà¸­à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ม่พอ\nเà¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ด้เยอะà¸à¸§à¹ˆà¸²à¹à¸šà¸•เตอรี่ธรรมดา +block.combustion-generator.description = ผลิตพลังงานจาà¸à¸à¸²à¸£à¹€à¸œà¸²à¹„หม้วัสดุติดไฟ อย่างเช่นถ่านหิน +block.thermal-generator.description = ผลิตพลังงานเมื่อวางในพื้นที่ร้อน +block.steam-generator.description = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าเผาไหม้ขั้นสูง ประสิทธิภาพสูงà¸à¸§à¹ˆà¸² à¹à¸•่ต้องใช้น้ำด้วยเพื่อผลิตไอน้ำ +block.differential-generator.description = ผลิตไฟฟ้าจำนวนมาภใช้ความต่างของอุณหภูมิระหว่าง\nสารหล่อเย็นà¹à¸¥à¸°à¹„พราไทต์อันร้อนà¹à¸£à¸‡à¹€à¸žà¸·à¹ˆà¸­à¸œà¸¥à¸´à¸•พลังงานออà¸à¸¡à¸² +block.rtg-generator.description = เครื่องà¸à¸³à¹€à¸™à¸´à¸”ไฟฟ้าที่ใช้ง่ายà¹à¸¥à¸°à¹„ว้ใจได้\nใช้ความร้อนจาà¸à¸à¸²à¸£à¸ªà¸¥à¸²à¸¢à¸•ัวของสารà¸à¸±à¸¡à¸¡à¸±à¸™à¸•รังสีมาผลิตพลังงาน\nอย่างช้าๆ +block.solar-panel.description = ผลิตพลังงานจาà¸à¹à¸ªà¸‡à¸­à¸²à¸—ิตย์อย่างน้อยๆ +block.solar-panel-large.description = ผลิตพลังงานจาà¸à¹à¸ªà¸‡à¸­à¸²à¸—ิตย์อย่างพอประมาณ มีประสิทธิภาพมาà¸à¸à¸§à¹ˆà¸²à¹à¸œà¸‡à¹‚ซล่าเซลล์ธรรมดา +block.thorium-reactor.description = ผลิตพลังงานจำนวนมาà¸à¸ˆà¸²à¸à¸—อเรี่ยม ต้องมีสารหล่อเย็นมาระบายความร้อนอยู่ตลอดเวลา จะร้อนà¹à¸¥à¸°à¸£à¸°à¹€à¸šà¸´à¸”อย่างรุนà¹à¸£à¸‡à¸«à¸²à¸à¸‚าดสารหล่อเย็น +block.impact-reactor.description = สามารถผลิตไฟฟ้าได้จำนวนมหาศาลที่ประสิทธิภาพสูงสุด จำเป็นต้องใช้พลังงานจำนวนมาà¸à¹ƒà¸™à¸à¸²à¸£à¹€à¸”ินเครื่อง +block.mechanical-drill.description = เมื่อวางบนพื้นà¹à¸£à¹ˆ จะขุดà¹à¸£à¹ˆà¸™à¸±à¹‰à¸™à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¸Šà¹‰à¸²à¹†\nไปเรื่อยๆ ไม่มีที่สิ้นสุด ขุดได้à¹à¸„่ทรัพยาà¸à¸£à¸žà¸·à¹‰à¸™à¸à¸²à¸™ +block.pneumatic-drill.description = เครื่องขุดที่ได้รับà¸à¸²à¸£à¸›à¸£à¸±à¸šà¸›à¸£à¸¸à¸‡ สามารถขุดไทเทเนี่ยมได้ ขุดได้เร็วà¸à¸§à¹ˆà¸²à¹€à¸„รื่องขุดเชิงà¸à¸¥ +block.laser-drill.description = ขุดได้เร็วขึ้นด้วยเทคโนโลยีเลเซอร์ à¹à¸•่ต้องใช้พลังงาน\nสามารถขุดทอเรี่ยมได้ +block.blast-drill.description = เครื่องขุดขั้นสุดยอด ใช้พลังงานจำนวนมาภ+block.water-extractor.description = ขุดน้ำบาดาลจาà¸à¹ƒà¸•้พื้นดิน ใช้ในพื้นที่ที่ไม่มีน้ำบนดินให้ใช้ +block.cultivator.description = รวบรวมสปอร์ในชั้นบรรยาà¸à¸²à¸¨à¸¡à¸²à¸ªà¸à¸±à¸”เป็นà¸à¸£à¸°à¹€à¸›à¸²à¸°à¸ªà¸›à¸­à¸£à¹Œà¸ªà¸³à¸«à¸£à¸±à¸š\nอุตสาหà¸à¸£à¸£à¸¡ +block.cultivator.details = เทคโนโลยีที่à¸à¸­à¸šà¸à¸¹à¹‰à¸¡à¸²à¹„ด้ ใช้สำหรับสà¸à¸±à¸”ชีวมวลจำนวนมหาศาล\nอย่างมีประสิทธิภาพให้ได้มาà¸à¸—ี่สุด\nน่าจะเป็นศูนย์บ่มเพาะเริ่มà¹à¸£à¸à¸‚องสปอร์ที่ตอนนี้\nครอบคลุมดาว[accent]เซอร์ปูโล่[] +block.oil-extractor.description = ใช้พลังงานจำนวนมาà¸à¸à¸±à¸šà¸—รายà¹à¸¥à¸°à¸™à¹‰à¸³à¹€à¸žà¸·à¹ˆà¸­à¸‚ุดหาน้ำมัน +block.core-shard.description = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹€à¸›à¹‡à¸™à¹ƒà¸ˆà¸à¸¥à¸²à¸‡à¸‚องà¸à¸²à¸™à¸—ัพ เมื่อถูà¸à¸—ำลาย à¸à¸²à¸£à¸•ิดต่อà¸à¸±à¸šà¸žà¸·à¹‰à¸™à¸—ี่นั้นทั้งหมดจะหายไป อย่าให้มันเà¸à¸´à¸”ขึ้น +block.core-shard.details = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸£à¸¸à¹ˆà¸™à¹à¸£à¸ à¸à¸°à¸—ัดรัด สามารถà¹à¸¢à¸à¸£à¹ˆà¸²à¸‡à¹„ด้ ติดตั้งด้วยเครื่องยนต์จรวดสำหรับใช้ครั้งเดียว ไม่ได้ออà¸à¹à¸šà¸šà¸¡à¸²à¹€à¸žà¸·à¹ˆà¸­à¹„ปอวà¸à¸²à¸¨ +block.core-foundation.description = ใจà¸à¸¥à¸²à¸‡à¸‚องà¸à¸²à¸™à¸—ัพ เสริมเà¸à¸£à¸²à¸°à¸¡à¸²à¸à¸‚ึ้น เà¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹„ด้เยอะà¸à¸§à¹ˆà¸²à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸Šà¸²à¸£à¹Œà¸” +block.core-foundation.details = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸£à¸¸à¹ˆà¸™à¸—ี่สอง ยานบินเบต้าที่ดีà¸à¸§à¹ˆà¸²à¸ˆà¸°à¸›à¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸™à¸µà¹‰à¹„ว้ +block.core-nucleus.description = ใจà¸à¸¥à¸²à¸‡à¸‚องà¸à¸²à¸™à¸—ัพ เสริมเà¸à¸£à¸²à¸°à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¸”ีเยี่ยม เà¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹„ด้อย่างมหาศาล +block.core-nucleus.details = à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸£à¸¸à¹ˆà¸™à¸—ี่สามà¹à¸¥à¸°à¹€à¸›à¹‡à¸™à¸£à¸¸à¹ˆà¸™à¸ªà¸¸à¸”ท้าย สุดยอดยานบินà¹à¸à¸¡à¸¡à¹ˆà¸²à¸ˆà¸°à¸›à¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸™à¸µà¹‰à¹„ว้ +block.vault.description = เà¸à¹‡à¸šà¹„อเท็มà¹à¸•่ละชนิดได้จำนวนมาภสามารถใช้ตัวถ่ายไอเท็มในà¸à¸²à¸£à¸”ึงไอเท็มออà¸à¸¡à¸²à¹„ด้ +block.container.description = เà¸à¹‡à¸šà¹„อเท็มà¹à¸•่ละชนิดได้นิดหน่อย สามารถใช้ตัวถ่ายไอเท็มในà¸à¸²à¸£à¸”ึงไอเท็มออà¸à¸¡à¸²à¹„ด้ +block.unloader.description = ดึงไอเท็มที่à¸à¸³à¸«à¸™à¸”ไว้ออà¸à¸¡à¸²à¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸à¹ƒà¸à¸¥à¹‰à¹€à¸„ียง +block.launch-pad.description = ส่งไอเท็มเป็นชุดๆ ไปยังเซ็à¸à¹€à¸•อร์ที่à¸à¸³à¸«à¸™à¸”ไว้ +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = ป้อมปืนขนาดเล็ภยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸—ี่อยู่ในตัวมันใส่เป้าหมายศัตรู +block.scatter.description = ยิงà¸à¹‰à¸­à¸™à¸•ะà¸à¸±à¹ˆà¸§ เศษเหล็à¸à¸«à¸£à¸·à¸­à¸à¸£à¸°à¸ˆà¸à¹€à¸¡à¸•้าใส่ยานบินศัตรูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียง +block.scorch.description = เผาศัตรูพื้นดินที่อยู่ใà¸à¸¥à¹‰à¹† มีประสิทธิภาพสูงสุดเมื่อใช้ในระยะใà¸à¸¥à¹‰ +block.hail.description = ป้อมปืนใหà¸à¹ˆà¸‚นาดย่อม ยิงลูà¸à¸£à¸°à¹€à¸šà¸´à¸”ใส่ศัตรูพื้นดินจาà¸à¸£à¸°à¸¢à¸°à¹„à¸à¸¥ +block.wave.description = พ่นของเหลวสาดใส่ศัตรู จะดับไฟให้อัตโนมัติเมื่อใส่น้ำเข้าไป +block.lancer.description = ชาร์จà¹à¸¥à¹‰à¸§à¸¢à¸´à¸‡à¸¥à¸³à¹à¸ªà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¸­à¸±à¸™à¸—รงพลังใส่ศัตรูพื้นดิน +block.arc.description = ยิงสายฟ้าใส่ศัตรูพื้นดิน จะทำดาเมจมหาศาลเมื่อศัตรูเปียà¸à¸™à¹‰à¸³ +block.swarmer.description = ยิงขีปนาวุธติดตามตัวใส่ศัตรูทั้งอาà¸à¸²à¸¨à¹à¸¥à¸°à¸žà¸·à¹‰à¸™à¸”ิน +block.salvo.description = ป้อมปืนขนาดà¸à¸¥à¸²à¸‡ ระดมยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸«à¸™à¸±à¸à¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รูอย่างรวดเร็ว +block.fuse.description = ป้อมปืนระยะใà¸à¸¥à¹‰à¸‚นาดใหà¸à¹ˆ ยิงลำà¹à¸ªà¸‡à¹€à¸ˆà¸²à¸°à¸—ะลุสามà¹à¸‰à¸à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียง +block.ripple.description = ป้อมปืนใหà¸à¹ˆà¸­à¸±à¸™à¸—รงพลัง ยิงลูà¸à¸£à¸°à¹€à¸šà¸´à¸”เป็นà¸à¸£à¸°à¸ˆà¸¸à¸à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูพื้นดินจาà¸à¸£à¸°à¸¢à¸°à¹„à¸à¸¥ +block.cyclone.description = ป้อมปืนรวดเร็วดั่งพายุ ยิงà¸à¹‰à¸­à¸™à¸ªà¸°à¹€à¸à¹‡à¸”ระเบิดใส่เป้าหมายศัตรูอย่างรวดเร็ว +block.spectre.description = ปืนใหà¸à¹ˆà¸„ู่ขนาดยัà¸à¸©à¹Œ ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸ˆà¸²à¸°à¹€à¸à¸£à¸²à¸°à¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รูทั้งบนอาà¸à¸²à¸¨à¹à¸¥à¸°à¸žà¸·à¹‰à¸™à¸”ิน +block.meltdown.description = ชาร์จà¹à¸¥à¹‰à¸§à¸¢à¸´à¸‡à¸¥à¸³à¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹ƒà¸ªà¹ˆà¸¨à¸±à¸•รูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียงอย่างต่อเนื่อง ต้องมีของเหลวมาหล่อเย็นป้อมปืนเพื่อทำงาน +block.foreshadow.description = ป้อมปืนเรลà¸à¸±à¸™à¸‚นาดมหึมา ยิงลำà¹à¸ªà¸‡à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¹€à¸”ี่ยวขนาดใหà¸à¹ˆ\nมีระยะà¸à¸²à¸£à¸¢à¸´à¸‡à¹„à¸à¸¥à¸¡à¸²à¸ จะเลือà¸à¸¢à¸´à¸‡à¸¢à¸¹à¸™à¸´à¸•ที่มีพลังชีวิตมาà¸à¸—ี่สุดà¸à¹ˆà¸­à¸™ +block.repair-point.description = ซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•ที่อยู่ในรัศมีของมันอย่างต่อเนื่อง +block.segment.description = สร้างความเสียหายà¹à¸¥à¸°à¸—ำลายà¸à¸£à¸°à¸ªà¸¸à¸™à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¹€à¸‚้ามา ไม่สามารถทำลายลำà¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹„ด้ +block.parallax.description = ยิงลำà¹à¸ªà¸‡à¸—ี่ดึงยานบินศัตรูเข้ามาหา สร้างความเสียหายà¹à¸à¹ˆà¸žà¸§à¸à¸¡à¸±à¸™à¸£à¸°à¸«à¸§à¹ˆà¸²à¸‡à¸—าง +block.tsunami.description = ยิงà¸à¸£à¸°à¹à¸ªà¸‚องเหลวอันทรงพลังใส่ศัตรู จะดับไฟให้อัตโนมัติเมื่อใส่น้ำเข้าไป +block.silicon-crucible.description = หลอมซิลิà¸à¸­à¸™à¸ˆà¸²à¸à¸—รายà¹à¸¥à¸°à¸–่านหิน ใช้ไพราไทต์เป็นà¹à¸«à¸¥à¹ˆà¸‡à¸„วามร้อนเพิ่มเติม จะทำงานเร็วà¸à¸§à¹ˆà¸²à¸–้าตั้งอยู่ในพื้นที่ร้อน +block.disassembler.description = à¹à¸¢à¸à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¸­à¸­à¸à¹€à¸›à¹‡à¸™à¹à¸£à¹ˆà¸˜à¸²à¸•ุปริมาณเล็à¸à¸™à¹‰à¸­à¸¢à¹‚ดยมีประสิทธิภาพต่ำ สามารถผลิตทอเรี่ยมได้ +block.overdrive-dome.description = เร่งประสิทธิภาพสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸£à¸­à¸šà¸‚้างอย่างมหาศาล ต้องมีใยเฟสà¸à¸±à¸šà¸‹à¸´à¸¥à¸´à¸à¸­à¸™à¹€à¸žà¸·à¹ˆà¸­à¸—ำงาน +block.payload-conveyor.description = เคลื่อนย้ายสิ่งของบรรทุà¸à¸«à¸™à¸±à¸ อย่างเช่นยูนิต +block.payload-router.description = à¹à¸¢à¸à¸ªà¸´à¹ˆà¸‡à¸‚องบรรทุà¸à¸­à¸­à¸à¹€à¸›à¹‡à¸™à¸ªà¸²à¸¡à¸—ิศทาง +block.ground-factory.description = ผลิตยูนิตทางบภยูนิตที่ผลิตสามารถนำไปใช้ได้เลย หรือนำไปใส่ในเครื่องพัฒนาเพื่ออัปเà¸à¸£à¸” +block.air-factory.description = ผลิตยูนิตทางอาà¸à¸²à¸¨ ยูนิตที่ผลิตสามารถนำไปใช้ได้เลย หรือนำไปใส่ในเครื่องพัฒนาเพื่ออัปเà¸à¸£à¸” +block.naval-factory.description = ผลิตยูนิตเรือ ยูนิตที่ผลิตสามารถนำไปใช้ได้เลย หรือนำไปใส่ในเครื่องพัฒนาเพื่ออัปเà¸à¸£à¸” +block.additive-reconstructor.description = อัปเà¸à¸£à¸”ยูนิตที่อยู่ข้างในให้เป็นรุ่นที่สอง +block.multiplicative-reconstructor.description = อัปเà¸à¸£à¸”ยูนิตที่อยู่ข้างในให้เป็นรุ่นที่สาม +block.exponential-reconstructor.description = อัปเà¸à¸£à¸”ยูนิตที่อยู่ข้างในให้เป็นรุ่นที่สี่ +block.tetrative-reconstructor.description = อัปเà¸à¸£à¸”ยูนิตที่อยู่ข้างในให้เป็นรุ่นที่ห้าà¹à¸¥à¸°à¸£à¸¸à¹ˆà¸™à¸ªà¸¸à¸”ท้าย +block.switch.description = สวิตช์เปิดปิดได้ สามารถควบคุมหรืออ่านค่าได้ด้วยตัวประมวลผลลอจิภ+block.micro-processor.description = รันคำสั่งลอจิà¸à¹€à¸›à¹‡à¸™à¸¥à¸³à¸”ับวนไปวนมา สามารถใช้ควบคุมยูนิตหรือสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ ไม่ค่อยเร็วเท่าไหร่ +block.logic-processor.description = รันคำสั่งลอจิà¸à¹€à¸›à¹‡à¸™à¸¥à¸³à¸”ับวนไปวนมา สามารถใช้ควบคุมยูนิตหรือสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ ค่อนข้างเร็ว มีระยะà¸à¸²à¸£à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อที่ค่อนข้างไà¸à¸¥ +block.hyper-processor.description = รันคำสั่งลอจิà¸à¹€à¸›à¹‡à¸™à¸¥à¸³à¸”ับวนไปวนมา สามารถใช้ควบคุมยูนิตหรือสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ เร็วอย่างมาภà¹à¸¥à¸°à¹€à¸Šà¸·à¹ˆà¸­à¸¡à¸•่อได้ไà¸à¸¥à¸¡à¸²à¸ à¹à¸•่ต้องใช้สารหล่อเย็นในà¸à¸²à¸£à¸—ำงาน +block.memory-cell.description = เà¸à¹‡à¸šà¸‚้อมูลเป็นตัวเลขสำหรับตัวประมวลผลลอจิà¸à¹„ว้สื่อสารà¸à¸±à¸™à¹„ปมา +block.memory-bank.description = เà¸à¹‡à¸šà¸‚้อมูลเป็นตัวเลขสำหรับตัวประมวลผลลอจิà¸à¹„ว้สื่อสารà¸à¸±à¸™à¹„ปมา มีพื้นที่เยอะมาภ+block.logic-display.description = à¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿà¸´à¸à¹‚ดยควบคุมจาà¸à¸•ัวประมวลผลลอจิภ+block.large-logic-display.description = à¹à¸ªà¸”งà¸à¸£à¸²à¸Ÿà¸´à¸à¹‚ดยควบคุมจาà¸à¸•ัวประมวลผลลอจิภมีขนาดใหà¸à¹ˆà¸à¸§à¹ˆà¸² +block.interplanetary-accelerator.description = หอคอยเรลà¸à¸±à¸™à¹à¸¡à¹ˆà¹€à¸«à¸¥à¹‡à¸à¹„ฟฟ้าขนาดมหึมา เร่งความเร็วà¹à¸à¸™à¸à¸¥à¸²à¸‡à¹€à¸žà¸·à¹ˆà¸­à¸šà¸´à¸™à¸ªà¸¹à¹ˆà¸­à¸§à¸à¸²à¸¨à¹„ปยังดาวเคราะห์อื่นๆ +block.repair-turret.description = ซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•ที่อยู่ในรัศมีของมันอย่างต่อเนื่อง สามารถใช้ของเหลวมาหล่อเย็นเพื่อเพิ่มประสิทธิภาพได้ + +#Erekir +block.core-bastion.description = ใจà¸à¸¥à¸²à¸‡à¸‚องà¸à¸²à¸™à¸—ัพ เสริมเà¸à¸£à¸²à¸°à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¸”ี เมื่อถูà¸à¸—ำลาย à¸à¸²à¸£à¸•ิดต่อà¸à¸±à¸šà¸žà¸·à¹‰à¸™à¸—ี่นั้นทั้งหมดจะหายไป อย่าให้มันเà¸à¸´à¸”ขึ้น +block.core-citadel.description = ใจà¸à¸¥à¸²à¸‡à¸‚องà¸à¸²à¸™à¸—ัพ เสริมเà¸à¸£à¸²à¸°à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¸”ีเยี่ยม เà¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹„ด้เยอะà¸à¸§à¹ˆà¸²à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸šà¸²à¸ªà¹€à¸Šà¸µà¹ˆà¸¢à¸™ +block.core-acropolis.description = ใจà¸à¸¥à¸²à¸‡à¸‚องà¸à¸²à¸™à¸—ัพ เสริมเà¸à¸£à¸²à¸°à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¸ªà¸¸à¸”ยอด เà¸à¹‡à¸šà¸—รัพยาà¸à¸£à¹„ด้เยอะà¸à¸§à¹ˆà¸²à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‹à¸´à¸—าเดล +block.breach.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸šà¸£à¸´à¸¥à¹€à¸¥à¸µà¹ˆà¸¢à¸¡à¸«à¸£à¸·à¸­à¸—ังสเตนเจาะทะลุใส่เป้าหมายศัตรู +block.diffuse.description = ป้อมปืนระยะยิงสั้น ปะทุยิงà¸à¸¥à¸¸à¹ˆà¸¡à¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸™à¹à¸™à¸§à¸à¸§à¹‰à¸²à¸‡ à¸à¸£à¸°à¸ªà¸¸à¸™à¸ˆà¸°à¸œà¸¥à¸±à¸à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูให้ถอยห่างจาà¸à¸›à¹‰à¸­à¸¡à¸›à¸·à¸™ +block.sublimate.description = ยิงลำà¹à¸ªà¸‡à¹€à¸›à¸¥à¸§à¹„ฟเจาะเà¸à¸£à¸²à¸°à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูอย่างต่อเนื่อง +block.titan.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸›à¸·à¸™à¹ƒà¸«à¸à¹ˆà¸£à¸°à¹€à¸šà¸´à¸”ขนาดใหà¸à¹ˆà¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูพื้นดิน ต้องใช้ไฮโดรเจน +block.afflict.description = ยิงลูà¸à¹à¸à¹‰à¸§à¸ªà¸°à¹€à¸à¹‡à¸”ระเบิดสายฟ้าใส่เป้าหมายศัตรู ต้องใช้ความร้อน +block.disperse.description = ปะทุยิงà¸à¹‰à¸­à¸™à¸ªà¸°à¹€à¸à¹‡à¸”à¸à¸£à¸°à¸ªà¸¸à¸™à¹ƒà¸ªà¹ˆà¸¢à¸²à¸™à¸šà¸´à¸™à¸¨à¸±à¸•รู +block.lustre.description = ยิงลำà¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹€à¸„ลื่อนที่ช้าจ่อใส่เป้าหมายศัตรูที่จุดๆเดียว +block.scathe.description = ป้อมปืนพิสัยไà¸à¸¥à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸²à¸ ยิงขีปนาวุธทรงพลังใส่เป้าหมายศัตรูพื้นดินจาà¸à¸£à¸°à¸¢à¸°à¹„à¸à¸¥ ขีปนาวุธอาจถูà¸à¸¢à¸´à¸‡à¸ªà¸à¸±à¸”ระหว่างทางได้ +block.smite.description = บทลงโทษจาà¸à¸ªà¸§à¸£à¸£à¸„์ ปะทุยิงà¹à¸™à¸§à¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¸²à¸¢à¸Ÿà¹‰à¸²à¹€à¸ˆà¸²à¸°à¸à¸£à¸²à¸°à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู +block.malign.description = ระดมยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¸ªà¸²à¸¢à¸Ÿà¹‰à¸²à¸•ิดตามตัวจำนวนมาà¸à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู ต้องใช้ความร้อนจำนวนมาà¸à¹€à¸žà¸·à¹ˆà¸­à¸—ี่จะทำงานได้อย่างเต็มประสิทธิภาพ +block.silicon-arc-furnace.description = ผลิตซิลิà¸à¸­à¸™à¸ˆà¸²à¸à¸à¸²à¸£à¸«à¸¥à¸­à¸¡à¸—รายà¹à¸¥à¸°à¸à¸£à¸²à¹„ฟต์เข้าด้วยà¸à¸±à¸™ +block.oxidation-chamber.description = à¹à¸›à¸¥à¸‡à¹€à¸šà¸£à¸´à¸¥à¹€à¸¥à¸µà¹ˆà¸¢à¸¡à¹à¸¥à¸°à¹‚อโซนให้à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸­à¹Šà¸­à¸à¹„ซด์ ปล่อยความร้อนออà¸à¸¡à¸²à¸‹à¸¶à¹ˆà¸‡à¹€à¸›à¹‡à¸™à¸œà¸¥à¸¡à¸²à¸ˆà¸²à¸à¸›à¸Žà¸´à¸šà¸±à¸•ิà¸à¸²à¸£ +block.electric-heater.description = สร้างความร้อนขึ้นมาจาà¸à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™ ใช้พลังงานจำนวนมาภใช้โดยà¸à¸²à¸£à¸«à¸±à¸™à¸«à¸™à¹‰à¸²à¸¥à¸¹à¸à¸¨à¸£à¹„ปในทางที่ต้องà¸à¸²à¸£à¸ˆà¸°à¸›à¸¥à¹ˆà¸­à¸¢à¸„วามร้อนออà¸à¸¡à¸² +block.slag-heater.description = สร้างความร้อนขึ้นมาจาà¸à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ ใช้โดยà¸à¸²à¸£à¸«à¸±à¸™à¸«à¸™à¹‰à¸²à¸¥à¸¹à¸à¸¨à¸£à¹„ปในทางที่ต้องà¸à¸²à¸£à¸ˆà¸°à¸›à¸¥à¹ˆà¸­à¸¢à¸„วามร้อนออà¸à¸¡à¸² +block.phase-heater.description = สร้างความร้อนขึ้นมาจาà¸à¸à¸²à¸£à¸­à¸¸à¹ˆà¸™à¹ƒà¸¢à¹€à¸Ÿà¸ª ใช้โดยà¸à¸²à¸£à¸«à¸±à¸™à¸«à¸™à¹‰à¸²à¸¥à¸¹à¸à¸¨à¸£à¹„ปในทางที่ต้องà¸à¸²à¸£à¸ˆà¸°à¸›à¸¥à¹ˆà¸­à¸¢à¸„วามร้อนออà¸à¸¡à¸² +block.heat-redirector.description = เปลี่ยนทิศทางของความร้อนที่สะสมมาให้ไปหาบล็อà¸à¸—ี่มันหันหน้าเข้าใส่ +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = à¸à¸£à¸°à¸ˆà¸²à¸¢à¸„วามร้อนที่สะสมมาออà¸à¹„ปในสามทิศทาง +block.electrolyzer.description = เปลี่ยนน้ำให้à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¹à¸à¹‡à¸ªà¹„ฮโดรเจนà¹à¸¥à¸°à¹‚อโซนด้วยขบวนà¸à¸²à¸£à¸—างเคมี +block.atmospheric-concentrator.description = หลอมรวมไนโตรเจนจาà¸à¸Šà¸±à¹‰à¸™à¸šà¸£à¸£à¸¢à¸²à¸à¸²à¸¨ ใช้ความร้อนในà¸à¸²à¸£à¸—ำงาน +block.surge-crucible.description = หลอมรวมà¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¹à¸¥à¸°à¸‹à¸´à¸¥à¸´à¸à¸­à¸™à¹€à¸žà¸·à¹ˆà¸­à¸œà¸¥à¸´à¸•โลหะผสมเสิร์จ ใช้ความร้อนในà¸à¸²à¸£à¸—ำงาน +block.phase-synthesizer.description = สังเคราะห์ใยเฟสจาà¸à¸—อเรี่ยม ทรายà¹à¸¥à¸°à¹à¸à¹‡à¸ªà¹‚อโซน ใช้ความร้อนในà¸à¸²à¸£à¸—ำงาน +block.carbide-crucible.description = หลอมรวมà¸à¸£à¸²à¹„ฟต์à¹à¸¥à¸°à¸—ังสเตนเพื่อผลิตคาร์ไบต์ ใช้ความร้อนในà¸à¸²à¸£à¸—ำงาน +block.cyanogen-synthesizer.description = สังเคราะห์ไซยาโนเจนจาà¸à¸­à¸²à¸£à¹Œà¸„ย์ไซต์à¹à¸¥à¸°à¸à¸£à¸²à¹„ฟต์ ใช้ความร้อนในà¸à¸²à¸£à¸—ำงาน +block.slag-incinerator.description = เผาทำลายไอเท็มหรือของเหลวที่เสถียรทั้งหมดที่ได้รับมา ต้องใช้à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡à¹€à¸žà¸·à¹ˆà¸­à¸—ำงาน +block.vent-condenser.description = ควบà¹à¸™à¹ˆà¸™à¹à¸à¹‡à¸ªà¹ƒà¸™à¸›à¸¥à¹ˆà¸­à¸‡à¹ƒà¸«à¹‰à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸™à¹‰à¸³ ต้องใช้พลังงาน +block.plasma-bore.description = เมื่อหันหน้าเข้าหาà¹à¸£à¹ˆà¸à¸³à¹à¸žà¸‡ จะขุดà¹à¸£à¹ˆà¸™à¸±à¹‰à¸™à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¸Šà¹‰à¸²à¹† ไปเรื่อยๆ ไม่มีที่สิ้นสุด จำเป็นต้องใช้พลังงานเล็à¸à¸™à¹‰à¸­à¸¢ สามารถใช้ไฮโดรเจนเพื่อเพิ่มประสิทธิภาพà¸à¸²à¸£à¸‚ุดได้ +block.large-plasma-bore.description = เครื่องขุดเจาะพลาสม่าที่ใหà¸à¹ˆà¸à¸§à¹ˆà¸² สามารถขุดà¹à¸£à¹ˆà¸—ังสเตนà¹à¸¥à¸°à¸—อเรี่ยมได้ ต้องใช้ไฮโดรเจนà¹à¸¥à¸°à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹ƒà¸™à¸à¸²à¸£à¸—ำงาน สามารถใช้ไนโตรเจนเพื่อเพิ่มประสิทธิภาพà¸à¸²à¸£à¸‚ุดได้ +block.cliff-crusher.description = เมื่อหันหน้าเข้าหาà¸à¸³à¹à¸žà¸‡à¸—ี่ต้องà¸à¸²à¸£ จะบดขยี้à¸à¸³à¹à¸žà¸‡à¸™à¸±à¹‰à¸™ à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸œà¸‡à¸—รายละเอียดออà¸à¸¡à¸²à¸­à¸¢à¹ˆà¸²à¸‡à¹„ม่มีที่สิ้นสุด จำเป็นต้องใช้พลังงาน ประสิทธิภาพของà¸à¸²à¸£à¸šà¸”ขึ้นอยู่à¸à¸±à¸šà¸Šà¸™à¸´à¸”ของà¸à¸³à¹à¸žà¸‡à¸—ี่บด +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = เมื่อวางบนพื้นà¹à¸£à¹ˆ จะขุดà¹à¸£à¹ˆà¸™à¸±à¹‰à¸™à¹à¸¥à¸°à¸ªà¹ˆà¸‡à¸­à¸­à¸à¸¡à¸²à¹€à¸›à¹‡à¸™à¸à¸¥à¸¸à¹ˆà¸¡à¹„ปเรื่อยๆ ไม่มีที่สิ้นสุด จำเป็นต้องใช้พลังงานà¹à¸¥à¸°à¸™à¹‰à¸³ +block.eruption-drill.description = เครื่องขุดà¹à¸£à¸‡à¸à¸£à¸°à¹à¸—à¸à¸—ี่ได้รับà¸à¸²à¸£à¸›à¸£à¸±à¸šà¸›à¸£à¸¸à¸‡ สามารถขุดทอเรี่ยมได้ จำเป็นต้องใช้ไฮโดรเจน +block.reinforced-conduit.description = เคลื่อนย้ายของเหลวไปข้างหน้า ไม่รับของเหลวจาà¸à¸”้านข้างยà¸à¹€à¸§à¹‰à¸™à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¸—่อน้ำด้วยà¸à¸±à¸™à¹€à¸­à¸‡ +block.reinforced-liquid-router.description = รับของเหลวจาà¸à¸—างเดียวà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ปสามทางเท่าๆà¸à¸±à¸™ สามารถเà¸à¹‡à¸šà¸‚องเหลวได้จำนวนหนึ่ง\nมีประโยชน์สำหรับà¸à¸²à¸£à¸ªà¹ˆà¸‡à¸‚องเหลวจาà¸à¸›à¸±à¹‰à¸¡à¹„ปยังหลายที่ +block.reinforced-liquid-tank.description = เà¸à¹‡à¸šà¸‚องเหลวจำนวนมาภส่งออà¸à¹„ปรอบด้านคล้ายà¸à¸±à¸šà¹€à¸£à¹‰à¸²à¹€à¸•อร์ของเหลว\nเหมาะในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¹€à¸žà¸·à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸à¸±à¸™à¸Šà¸™à¹ƒà¸™à¹€à¸§à¸¥à¸²à¸—ี่ของเหลวไม่คงที่\nหรือเวลาที่ใช้ของเหลวเป็นจำนวนมาภ+block.reinforced-liquid-container.description = เà¸à¹‡à¸šà¸‚องเหลวจำนวนปานà¸à¸¥à¸²à¸‡ ส่งออà¸à¹„ปรอบด้านคล้ายà¸à¸±à¸š\nเร้าเตอร์ของเหลว เหมาะในà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸à¸±à¸šà¹€à¸„รื่องโหลดà¹à¸¥à¸°à¸–่ายสิ่งบรรทุà¸à¸ªà¸³à¸«à¸£à¸±à¸š\nà¸à¸²à¸£à¸‚นส่งของเหลวทางไà¸à¸¥ +block.reinforced-bridge-conduit.description = เคลื่อนย้ายของเหลวข้ามสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸à¸³à¹à¸žà¸‡ +block.reinforced-pump.description = ปั้มของเหลวขึ้นมา ต้องใช้ไฮโดรเจน +block.beryllium-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู +block.beryllium-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ครอบคลุมหลายช่อง +block.tungsten-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ค่อนข้างà¹à¸‚็งà¹à¸£à¸‡ +block.tungsten-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ค่อนข้างà¹à¸‚็งà¹à¸£à¸‡ ครอบคลุมหลายช่อง +block.carbide-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸²à¸ +block.carbide-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸à¸£à¹ˆà¸‡à¸­à¸¢à¹ˆà¸²à¸‡à¸¡à¸²à¸ ครอบคลุมหลายช่อง +block.reinforced-surge-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ทนทานà¹à¸¥à¸°à¹à¸‚็งà¹à¸£à¸‡ ปล่อยพลังงานสายฟ้าออà¸à¸¡à¸²à¹€à¸›à¹‡à¸™à¸£à¸°à¸¢à¸°à¹† เมื่อถูà¸à¹‚จมตี +block.reinforced-surge-wall-large.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู ทนทานà¹à¸¥à¸°à¹à¸‚็งà¹à¸£à¸‡ ปล่อยพลังงานสายฟ้าออà¸à¸¡à¸²à¹€à¸›à¹‡à¸™à¸£à¸°à¸¢à¸°à¹† เมื่อถูà¸à¹‚จมตี\nครอบคลุมหลายช่อง +block.shielded-wall.description = ป้องà¸à¸±à¸™à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸²à¸à¸¨à¸±à¸•รู à¹à¸‚็งà¹à¸£à¸‡à¸¡à¸²à¸ สร้างโล่พลังงานที่ดูดซับà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸à¸·à¸­à¸šà¸—ั้งหมดเมื่อได้รับพลังงาน มีคุณสมบัตินำไฟฟ้า +block.blast-door.description = à¸à¸³à¹à¸žà¸‡à¸—ี่จะเปิดเมื่อยูนิตพื้นดินพันธมิตรอยู่ในระยะ ไม่สามารถควบคุมได้ด้วยตนเอง +block.duct.description = เลื่อนไอเท็มไปข้างหน้า à¸à¸±à¸à¹€à¸à¹‡à¸šà¹„อเท็มได้à¹à¸„่ชิ้นเดียว +block.armored-duct.description = เลื่อนไอเท็มไปข้างหน้า เร็วเท่าท่อสูà¸à¸à¸²à¸à¸²à¸¨ à¹à¸•่มีเà¸à¸£à¸²à¸°à¸—ี่à¹à¸‚็งà¹à¸£à¸‡à¸à¸§à¹ˆà¸² ไม่รับไอเท็มจาà¸à¸”้านข้างยà¸à¹€à¸§à¹‰à¸™à¸§à¹ˆà¸²à¸ˆà¸°à¹€à¸›à¹‡à¸™à¸—่อสูà¸à¸à¸²à¸à¸²à¸¨à¸”้วยà¸à¸±à¸™à¹€à¸­à¸‡ +block.duct-router.description = รับไอเท็มà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ปสามทางเท่าๆà¸à¸±à¸™ รับไอเท็มเฉพาะจาà¸à¸”้านหลังเท่านั้น สามารถตั้งค่าให้เป็นเครื่องคัดà¹à¸¢à¸à¹„อเท็มได้ +block.overflow-duct.description = ไอเท็มจะถูà¸à¸£à¸°à¸šà¸²à¸¢à¸­à¸­à¸à¸—างซ้ายขวาเมื่อทางข้างหน้าถูà¸à¸›à¸´à¸”à¸à¸±à¹‰à¸™ +block.duct-bridge.description = เคลื่อนย้ายไอเท็มข้ามสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸à¸³à¹à¸žà¸‡ +block.duct-unloader.description = ดึงไอเท็มที่เลือà¸à¹„ว้ออà¸à¸¡à¸²à¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸à¹ƒà¸à¸¥à¹‰à¹€à¸„ียง ไม่สามารถดึงไอเท็มออà¸à¸¡à¸²à¸ˆà¸²à¸à¹à¸à¸™à¸à¸¥à¸²à¸‡à¹„ด้ +block.underflow-duct.description = ตรงข้ามà¸à¸±à¸šà¸—่อระบายสูà¸à¸à¸²à¸à¸²à¸¨ จะระบายไอเท็มไปข้างหน้าหาà¸à¸—างซ้ายà¹à¸¥à¸°à¸‚วาถูà¸à¸›à¸´à¸”à¸à¸±à¹‰à¸™ +block.reinforced-liquid-junction.description = ทำหน้าที่เป็นสะพานสำหรับท่อน้ำสองท่อตัดà¸à¸±à¸™à¸—ี่มีของเหลวสองชนิดà¹à¸¥à¹‰à¸§à¸ˆà¸°à¹„ปคนละที่ +block.surge-conveyor.description = เคลื่อนย้ายไอเท็มเป็นชุด\nรับไอเท็มจาà¸à¸”้านหลัง à¹à¸¥à¸°à¸™à¸³à¸­à¸­à¸à¹„ปด้านหน้าสามทิศทาง สามารถจ่ายพลังงานเพื่อเร่งความเร็วได้ มีคุณสมบัตินำไฟฟ้า +block.surge-router.description = รับไอเท็มจาà¸à¸ªà¸²à¸¢à¸žà¸²à¸™à¹€à¸ªà¸´à¸£à¹Œà¸ˆà¹à¸¥à¹‰à¸§à¸ªà¹ˆà¸‡à¸­à¸­à¸à¹„ปสามทางเท่าๆà¸à¸±à¸™ สามารถจ่ายพลังงานเพื่อเร่งความเร็วได้ มีคุณสมบัตินำไฟฟ้า +block.unit-cargo-loader.description = สร้างโดรนบรรทุà¸à¸‚ึ้นมา โดรนจะเคลื่อนย้ายจะà¹à¸ˆà¸à¸ˆà¹ˆà¸²à¸¢à¹„อเท็มจาà¸à¸šà¸¥à¹‡à¸­à¸à¸™à¸µà¹‰à¹„ปยังจุดถ่ายยูนิตบรรทุà¸à¸—ี่มีตัวà¸à¸£à¸­à¸‡à¹€à¸”ียวà¸à¸±à¸™à¸­à¸¢à¹ˆà¸²à¸‡à¹€à¸—่าๆà¸à¸±à¸™à¹‚ดยอัตโนมัติ +block.unit-cargo-unload-point.description = เป็นจุดสำหรับโดรนบรรทุà¸à¸—ี่จะถ่ายไอเท็มลง จะรับไอเท็มที่ตรงà¸à¸±à¸šà¸•ัวà¸à¸£à¸­à¸‡à¸—ี่ได้ตั้งไว้เท่านั้น +block.beam-node.description = ส่งพลังงานไปยังโหนดลำà¹à¸ªà¸‡à¸­à¸·à¹ˆà¸™à¹ƒà¸™à¹à¸™à¸§à¸•ั้งฉาภà¸à¸±à¸à¹€à¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ด้จำนวนเล็à¸à¸™à¹‰à¸­à¸¢ +block.beam-tower.description = ส่งพลังงานไปยังโหนดลำà¹à¸ªà¸‡à¸­à¸·à¹ˆà¸™à¹ƒà¸™à¹à¸™à¸§à¸•ั้งฉาภà¸à¸±à¸à¹€à¸à¹‡à¸šà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¹„ด้จำนวนมาภระยะไà¸à¸¥à¸à¸§à¹ˆà¸²à¹‚หนดลำà¹à¸ªà¸‡ +block.turbine-condenser.description = ผลิตพลังงานออà¸à¸¡à¸²à¹€à¸¡à¸·à¹ˆà¸­à¸§à¸²à¸‡à¸šà¸™à¸›à¸¥à¹ˆà¸­à¸‡ ผลิตน้ำจำนวนเล็à¸à¸™à¹‰à¸­à¸¢à¹€à¸›à¹‡à¸™à¸œà¸¥à¸¡à¸²à¸ˆà¸²à¸à¸à¸²à¸£à¸„วบà¹à¸™à¹ˆà¸™ +block.chemical-combustion-chamber.description = ผลิตพลังงานจาà¸à¸à¸²à¸£à¹€à¸œà¸²à¹„หม้ทางเคมีระหว่างอาร์คย์ไซต์à¹à¸¥à¸°à¹‚อโซน +block.pyrolysis-generator.description = ผลิตพลังงานจำนวนมาà¸à¸ˆà¸²à¸à¸­à¸²à¸£à¹Œà¸„ย์ไซต์à¹à¸¥à¸°à¹à¸£à¹ˆà¸«à¸¥à¸­à¸¡ ผลิตน้ำออà¸à¸¡à¸²à¸‹à¸¶à¹ˆà¸‡à¹€à¸›à¹‡à¸™à¸œà¸¥à¸¡à¸²à¸ˆà¸²à¸à¸›à¸Žà¸´à¸šà¸±à¸•ิà¸à¸²à¸£ +block.flux-reactor.description = ผลิตพลังงานจำนวนมาà¸à¸­à¸­à¸à¸¡à¸²à¹€à¸¡à¸·à¹ˆà¸­à¹„ด้รับความร้อน จำเป็นต้องใช้ไซยาโนเจนเป็นสารคงความเสถียรของเตาปà¸à¸´à¸à¸£à¸“์ พลังงานที่ผลิตà¹à¸¥à¸°à¸ˆà¸³à¸™à¸§à¸™à¹„ซยาโนเจนที่ต้องà¸à¸²à¸£\nจะà¹à¸›à¸£à¸œà¸±à¸™à¸•รงà¸à¸±à¸šà¸„วามร้อนที่ได้รับมา\nจะระเบิดหาà¸à¹€à¸•าปà¸à¸´à¸à¸£à¸“์ไม่ได้รับไซยาโนเจนที่เพียงพอ +block.neoplasia-reactor.description = ใช้อาร์คย์ไซต์ น้ำ à¹à¸¥à¸°à¹ƒà¸¢à¹€à¸Ÿà¸ªà¹€à¸žà¸·à¹ˆà¸­à¸œà¸¥à¸´à¸•พลังงานจำนวนมาภปล่อยความร้อนà¹à¸¥à¸°à¸™à¸µà¹‚อพลาสม์อันตรายซึ่งเป็นผลมาจาà¸à¸›à¸Žà¸´à¸šà¸±à¸•ิà¸à¸²à¸£\nจะระเบิดอย่างรุนà¹à¸£à¸‡à¸«à¸²à¸à¹„ม่ได้ใช้ท่อน้ำà¸à¸³à¸ˆà¸±à¸”นีโอพลาสม์ออà¸\nจาà¸à¹€à¸•าปà¸à¸´à¸à¸£à¸“์ให้ทันเวลา +block.build-tower.description = สร้างสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸™à¸£à¸°à¸¢à¸°à¸—ี่ถูà¸à¸—ำลายให้ใหม่โดยอัตโนมัติà¹à¸¥à¸°à¸Šà¹ˆà¸§à¸¢à¹€à¸«à¸¥à¸·à¸­à¸¢à¸¹à¸™à¸´à¸•อื่นในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +block.regen-projector.description = ซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸žà¸±à¸™à¸˜à¸¡à¸´à¸•รในพื้นที่สี่เหลี่ยมของมันอย่างช้าๆ ต้องใช้ไฮโดรเจน +block.reinforced-container.description = เà¸à¹‡à¸šà¹„อเท็มà¹à¸•่ละชนิดได้นิดหน่อย สามารถใช้ตัวถ่ายไอเท็มในà¸à¸²à¸£à¸”ึงไอเท็มออà¸à¸¡à¸²à¹„ด้ จะไม่เพิ่มความจุไอเท็มของà¹à¸à¸™à¸à¸¥à¸²à¸‡ +block.reinforced-vault.description = เà¸à¹‡à¸šà¹„อเท็มà¹à¸•่ละชนิดได้จำนวนมาภสามารถใช้ตัวถ่ายไอเท็มในà¸à¸²à¸£à¸”ึงไอเท็มออà¸à¸¡à¸²à¹„ด้ จะไม่เพิ่มความจุไอเท็มของà¹à¸à¸™à¸à¸¥à¸²à¸‡ +block.tank-fabricator.description = ผลิตยูนิตสเตลล์ ยูนิตที่ผลิตสามารถนำไปใช้ได้เลย หรือนำไปใส่ในเครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¹€à¸žà¸·à¹ˆà¸­à¸­à¸±à¸›à¹€à¸à¸£à¸” +block.ship-fabricator.description = ผลิตยูนิตเอลูด ยูนิตที่ผลิตสามารถนำไปใช้ได้เลย หรือนำไปใส่ในเครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¹€à¸žà¸·à¹ˆà¸­à¸­à¸±à¸›à¹€à¸à¸£à¸” +block.mech-fabricator.description = ผลิตยูนิตเมรุย ยูนิตที่ผลิตสามารถนำไปใช้ได้เลย หรือนำไปใส่ในเครื่องà¹à¸›à¸¥à¸‡à¸ªà¸ à¸²à¸žà¹€à¸žà¸·à¹ˆà¸­à¸­à¸±à¸›à¹€à¸à¸£à¸” +block.tank-assembler.description = ประà¸à¸­à¸šà¸£à¸–ถังขนาดใหà¸à¹ˆà¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ที่ใส่เข้าไป สามารถเพิ่มระดับของยูนิตที่ส่งออà¸à¸¡à¸²à¹„ด้โดยà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸«à¸™à¹ˆà¸§à¸¢à¸›à¸£à¸°à¸à¸­à¸šà¸à¸²à¸£ +block.ship-assembler.description = ประà¸à¸­à¸šà¸¢à¸²à¸™à¸šà¸´à¸™à¸‚นาดใหà¸à¹ˆà¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ที่ใส่เข้าไป สามารถเพิ่มระดับของยูนิตที่ส่งออà¸à¸¡à¸²à¹„ด้โดยà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸«à¸™à¹ˆà¸§à¸¢à¸›à¸£à¸°à¸à¸­à¸šà¸à¸²à¸£ +block.mech-assembler.description = ประà¸à¸­à¸šà¸ˆà¸±à¸à¸£à¸à¸¥à¸‚นาดใหà¸à¹ˆà¸ˆà¸²à¸à¸šà¸¥à¹‡à¸­à¸à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ที่ใส่เข้าไป สามารถเพิ่มระดับของยูนิตที่ส่งออà¸à¸¡à¸²à¹„ด้โดยà¸à¸²à¸£à¹€à¸žà¸´à¹ˆà¸¡à¸«à¸™à¹ˆà¸§à¸¢à¸›à¸£à¸°à¸à¸­à¸šà¸à¸²à¸£ +block.tank-refabricator.description = พัฒนายูนิตรถถังที่ถูà¸à¹ƒà¸ªà¹ˆà¹€à¸‚้าไปให้à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸¢à¸¹à¸™à¸´à¸•รุ่นที่สอง +block.ship-refabricator.description = พัฒนายูนิตยานบินที่ถูà¸à¹ƒà¸ªà¹ˆà¹€à¸‚้าไปให้à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸¢à¸¹à¸™à¸´à¸•รุ่นที่สอง +block.mech-refabricator.description = พัฒนายูนิตจัà¸à¸£à¸à¸¥à¸—ี่ถูà¸à¹ƒà¸ªà¹ˆà¹€à¸‚้าไปให้à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸¢à¸¹à¸™à¸´à¸•รุ่นที่สอง +block.prime-refabricator.description = พัฒนายูนิตที่ถูà¸à¹ƒà¸ªà¹ˆà¹€à¸‚้าไปให้à¸à¸¥à¸²à¸¢à¹€à¸›à¹‡à¸™à¸¢à¸¹à¸™à¸´à¸•รุ่นที่สาม +block.basic-assembler-module.description = เพิ่มระดับà¸à¸²à¸£à¸›à¸£à¸°à¸à¸­à¸šà¸‚องเครื่องประà¸à¸­à¸šà¹€à¸¡à¸·à¹ˆà¸­à¸§à¸²à¸‡à¹„ว้ติดà¸à¸±à¸šà¹€à¸‚ตà¸à¸²à¸£à¸›à¸£à¸°à¸à¸­à¸šà¸à¸²à¸£ จำเป็นใช้พลังงาน สามารถใช้เป็นทางเข้าของสิ่งบรรทุà¸à¹„ด้ +block.small-deconstructor.description = ลบทำลายสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸• คืนทรัพยาà¸à¸£à¸—ั้งหมดที่ใช้ในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +block.reinforced-payload-conveyor.description = เคลื่อนย้ายสิ่งของบรรทุà¸à¸«à¸™à¸±à¸ อย่างเช่นยูนิต +block.reinforced-payload-router.description = à¹à¸¢à¸à¸ªà¸´à¹ˆà¸‡à¸‚องบรรทุà¸à¸­à¸­à¸à¹€à¸›à¹‡à¸™à¸ªà¸²à¸¡à¸—ิศทาง จะทำงานเป็นเครื่องคัดà¹à¸¢à¸à¸«à¸²à¸à¹„ด้ตั้งตัวà¸à¸£à¸­à¸‡à¹€à¸­à¸²à¹„ว้ +block.payload-mass-driver.description = บล็อà¸à¸‚นส่งสิ่งบรรทุà¸à¸—างไà¸à¸¥\nยิงสิ่งบรรทุà¸à¹„ปยังเครื่องโอนถ่ายสิ่งบรรทุà¸à¸­à¸µà¸à¹€à¸„รื่องที่เชื่อมต่อไว้ +block.large-payload-mass-driver.description = บล็อà¸à¸‚นส่งสิ่งบรรทุà¸à¸—างไà¸à¸¥\nยิงสิ่งบรรทุà¸à¹„ปยังหอโอนถ่ายสิ่งบรรทุà¸à¸­à¸µà¸à¹€à¸„รื่องที่เชื่อมต่อไว้ +block.unit-repair-tower.description = ซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•ทั้งหมดที่อยู่ในรัศมีของมัน ต้องใช้โอโซนเพื่อทำงาน +block.radar.description = ค่อยๆ เปิดเผยพื้นที่à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ศัตรูในรัศมีขนาดใหà¸à¹ˆ ต้องใช้พลังงาน +block.shockwave-tower.description = สร้างความเสียหายà¹à¸¥à¸°à¸—ำลายà¸à¸£à¸°à¸ªà¸¸à¸™à¸‚องศัตรูในรัศมีของมัน ต้องใช้ไซยาโนเจนเพื่อทำงาน +block.canvas.description = à¹à¸ªà¸”งผลรูปวาดที่เรียบง่ายด้วยสีที่มีอยู่จำà¸à¸±à¸” สามารถปรับà¹à¸•่งได้ + +unit.dagger.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸˜à¸£à¸£à¸¡à¸”าใส่เป้าหมายศัตรู +unit.mace.description = ยิงเปลวไฟเผาไหม้ใส่เป้าหมายศัตรู +unit.fortress.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸›à¸·à¸™à¹ƒà¸«à¸à¹ˆà¸žà¸´à¸ªà¸±à¸¢à¹„à¸à¸¥à¹„ปที่เป้าหมายศัตรูพื้นดิน +unit.scepter.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸Šà¸²à¸£à¹Œà¸ˆà¹„ฟฟ้าใส่เป้าหมายศัตรู à¸à¸£à¸°à¸ªà¸¸à¸™à¸ˆà¸°à¸£à¸°à¹€à¸šà¸´à¸”ออà¸à¹€à¸›à¹‡à¸™à¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¸ªà¸²à¸¢à¸Ÿà¹‰à¸² สร้างความเสียหายà¹à¸à¹ˆà¸¢à¸¹à¸™à¸´à¸•รอบข้าง +unit.reign.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸ˆà¸²à¸°à¸—ะลุขนาดใหà¸à¹ˆà¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู à¸à¸£à¸°à¸ªà¸¸à¸™à¸ªà¸²à¸¡à¸²à¸£à¸–à¸à¸£à¸°à¸ˆà¸²à¸¢à¸•ัวไปโจมตีป้อมปืนที่หลบอยู่หลังà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.nova.description = ยิงเลเซอร์ที่สร้างความเสียหายให้à¸à¸±à¸šà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูà¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚อง\nพันธมิตร สามารถบินได้ +unit.pulsar.description = ยิงสายฟ้าที่สร้างความเสียหายให้เป้าหมายà¸à¸±à¸šà¸¨à¸±à¸•รูà¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚อง\nพันธมิตร สามารถบินได้ +unit.quasar.description = ยิงลำà¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹€à¸ˆà¸²à¸°à¸—ะลุที่สร้างความเสียหายให้à¸à¸±à¸šà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูà¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡\nสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องพันธมิตร มีโล่พลังงานเพื่อป้องà¸à¸±à¸™à¸£à¹ˆà¸²à¸‡à¸à¸²à¸¢à¸­à¸±à¸™à¸šà¸­à¸šà¸šà¸²à¸‡\nสามารถบินได้ +unit.vela.description = ยิงลำà¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¸•่อเนื่องขนาดใหà¸à¹ˆà¸—ี่สร้างความเสียหายให้à¸à¸±à¸šà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู ทำให้เà¸à¸´à¸”ไฟไหม้ à¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องพันธมิตร\nสามารถบินได้ +unit.corvus.description = ยิงลำà¹à¸ªà¸‡à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¸žà¸¥à¸±à¸‡à¸‡à¸²à¸™à¸‚นาดใหà¸à¹ˆà¸—ี่สร้างความเสียหายอย่างหนัà¸\nให้à¸à¸±à¸šà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูà¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องพันธมิตร สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.crawler.description = ขยับเข้าหาเป้าหมายศัตรูà¹à¸¥à¹‰à¸§à¸£à¸°à¹€à¸šà¸´à¸”ตัวเอง เà¸à¸´à¸”เป็นระเบิดขนาดใหà¸à¹ˆ +unit.atrax.description = ยิงลูà¸à¹à¸à¹‰à¸§à¸«à¸¥à¸­à¸¡à¸¥à¸°à¸¥à¸²à¸¢à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูพื้นดิน ทำให้เป้าหมายถูà¸à¹€à¸œà¸²à¹„หม้ สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.spiroct.description = ยิงเลเซอร์ลดทอนà¸à¸³à¸¥à¸±à¸‡à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู ซ่อมà¹à¸‹à¸¡à¸•ัวเองไปในตัว สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.arkyid.description = ยิงเลเซอร์ลดทอนà¸à¸³à¸¥à¸±à¸‡à¸ˆà¸³à¸™à¸§à¸™à¸¡à¸²à¸à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู ซ่อมà¹à¸‹à¸¡à¸•ัวเองไปในตัว สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.toxopid.description = ยิงระเบิดไฟฟ้าขนาดใหà¸à¹ˆà¹à¸¥à¸°à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹€à¸ˆà¸²à¸°à¸—ะลุใส่เป้าหมายศัตรู สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.flare.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸˜à¸£à¸£à¸¡à¸”าไปที่เป้าหมายศัตรูพื้นดินที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียง +unit.horizon.description = ทิ้งà¸à¸¥à¸¸à¹ˆà¸¡à¸£à¸°à¹€à¸šà¸´à¸”ขนาดเล็à¸à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูพื้นดิน +unit.zenith.description = ระดมยิงขีปนาวุธติดตามตัวใส่เป้าหมายศัตรู +unit.antumbra.description = สาดà¸à¸£à¸°à¸ªà¸¸à¸™à¸£à¸°à¹€à¸šà¸´à¸”à¹à¸¥à¸°à¸¢à¸´à¸‡à¸‚ีปนาวุธติดตามตัวใส่เป้าหมายศัตรู +unit.eclipse.description = ยิงเลเซอร์เจาะทะลุสองà¸à¸£à¸°à¸šà¸­à¸à¹à¸¥à¸°à¸¢à¸´à¸‡à¸à¸£à¸°à¸ªà¸¸à¸™à¸£à¸°à¹€à¸šà¸´à¸”ใส่เป้าหมายศัตรู +unit.mono.description = ขุดทองà¹à¸”งà¹à¸¥à¸°à¸•ะà¸à¸±à¹ˆà¸§à¹ƒà¸«à¹‰à¹‚ดยอัตโนมัติ à¹à¸¥à¹‰à¸§à¸™à¸³à¸à¸¥à¸±à¸šà¹€à¸‚้าไปยังà¹à¸à¸™à¸à¸¥à¸²à¸‡ +unit.poly.description = สร้างสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ถูà¸à¸—ำลายให้ใหม่โดยอัตโนมัติà¹à¸¥à¸°à¸„อยช่วยเหลือ\nยูนิตอื่นๆ ในà¸à¸²à¸£à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +unit.mega.description = ซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่เสียหายให้โดยอัตโนมัติ สามารถบรรทุà¸à¸šà¸¥à¹‡à¸­à¸à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•พื้นดินขนาดเล็à¸à¹„ด้ +unit.quad.description = ทิ้งระเบิดขนาดใหà¸à¹ˆà¸¥à¸‡à¸šà¸™à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸žà¸·à¹‰à¸™à¸”ิน ซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องพันธมิตรà¹à¸¥à¸°à¸ªà¸£à¹‰à¸²à¸‡à¸„วามเสียหายà¹à¸à¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู สามารถบรรทุà¸à¸¢à¸¹à¸™à¸´à¸•พื้นดินขนาดà¸à¸¥à¸²à¸‡à¹„ด้ +unit.oct.description = ปà¸à¸›à¹‰à¸­à¸‡à¸žà¸±à¸™à¸˜à¸¡à¸´à¸•รที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียงด้วยโล่พลังงาน สามารถบรรทุà¸à¸¢à¸¹à¸™à¸´à¸•ภาคพื้นดินได้à¹à¸—บทุà¸à¸•ัว +unit.risso.description = ยิงขีปนาวุธà¹à¸¥à¸°à¸ªà¸²à¸”à¸à¸£à¸°à¸ªà¸¸à¸™à¸ˆà¸³à¸™à¸§à¸™à¸¡à¸²à¸à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู +unit.minke.description = ยิงทั้งà¸à¸£à¸°à¸ªà¸¸à¸™à¸«à¸™à¸±à¸à¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸¸à¸™à¸˜à¸£à¸£à¸¡à¸”าไปยังเป้าหมายศัตรูพื้นดิน +unit.bryde.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸›à¸·à¸™à¹ƒà¸«à¸à¹ˆà¸žà¸´à¸ªà¸±à¸¢à¹„à¸à¸¥à¹à¸¥à¸°à¸‚ีปนาวุธติดตามตัวใส่เป้าหมายศัตรู +unit.sei.description = ยิงขีปนาวุธติดตามตัวà¹à¸¥à¸°à¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸ˆà¸²à¸°à¹€à¸à¸£à¸²à¸°à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู +unit.omura.description = ยิงลำà¹à¸ªà¸‡à¸›à¸·à¸™à¸£à¸²à¸‡à¹„ฟฟ้าเจาะทะลุระยะไà¸à¸¥à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู สร้างยูนิตà¹à¸Ÿà¸¥à¸£à¹Œ +unit.alpha.description = ปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸Šà¸²à¸£à¹Œà¸”จาà¸à¸¨à¸±à¸•รู สร้างสิ่งต่างๆ +unit.beta.description = ปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸Ÿà¸²à¸§à¸™à¹Œà¹€à¸”ชั่นจาà¸à¸¨à¸±à¸•รู สร้างสิ่งต่างๆ +unit.gamma.description = ปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸™à¸´à¸§à¹€à¸„ลียสจาà¸à¸¨à¸±à¸•รู สร้างสิ่งต่างๆ +unit.retusa.description = ยิงตอร์ปิโดติดตามตัวใส่ศัตรูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียง à¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•พันธมิตรที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียง +unit.oxynoe.description = ยิงเปลวไฟเผาไหม้ใส่ศัตรูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียงà¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องพันธมิตร\nทำลายà¸à¸£à¸°à¸ªà¸¸à¸™à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¹€à¸‚้ามาด้วยปืนป้องà¸à¸±à¸™à¸ˆà¸¸à¸”\nให้สถานะ[accent]โอเวอร์คล็อà¸[]à¹à¸à¹ˆà¸žà¸±à¸™à¸˜à¸¡à¸´à¸•รรอบข้าง ทำให้ยิงเร็วà¹à¸¥à¸°à¹à¸£à¸‡à¸‚ึ้น +unit.cyerce.description = ยิงขีปนาวุธพลาสม่าติดตามตัวเป็นà¸à¸£à¸°à¸ˆà¸¸à¸à¸£à¸°à¹€à¸šà¸´à¸”ใส่ศัตรู\nซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸•พันธมิตรที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียงด้วยปืนซ่อมà¹à¸‹à¸¡ +unit.aegires.description = ช็อตทุà¸à¹† สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•ศัตรูที่เข้ามาในสนามพลังงานของมัน\nด้วยสายฟ้าฟาด ซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸¢à¸¹à¸™à¸´à¸•พันธมิตร +unit.navanax.description = ยิงลูà¸à¸£à¸°à¹€à¸šà¸´à¸”คลื่นชีพจรà¹à¸¡à¹ˆà¹€à¸«à¸¥à¹‡à¸à¸‚นาดใหà¸à¹ˆ สร้างความเสียหายอย่างหนัà¸à¹ƒà¸«à¹‰à¸à¸±à¸šà¹€à¸„รือข่ายพลังงานศัตรู\nà¹à¸¥à¸°à¸‹à¹ˆà¸­à¸¡à¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องพันธมิตร\nหลอมละลายศัตรูที่อยู่ใà¸à¸¥à¹‰à¹€à¸„ียงด้วยป้อมปืนเลเซอร์อัตโนมัติสี่ป้อม + +#Erekir +unit.stell.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸˜à¸£à¸£à¸¡à¸”าใส่เป้าหมายศัตรู +unit.locus.description = สลับยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸¥à¹€à¸‹à¸­à¸£à¹Œà¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู +unit.precept.description = ยิงà¸à¸£à¸°à¸ˆà¸¸à¸à¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸ˆà¸²à¸°à¸—ะลุใส่เป้าหมายศัตรู +unit.vanquish.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¹à¸•à¸à¸à¸£à¸°à¸ˆà¸²à¸¢à¹€à¸ˆà¸²à¸°à¸—ะลุขนาดใหà¸à¹ˆà¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู ล้อขนาดยัà¸à¸©à¹Œà¸ªà¸²à¸¡à¸²à¸£à¸–เหยียบทับสร้างความเสียหายให้à¸à¸±à¸šà¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸¨à¸±à¸•รูได้ +unit.conquer.description = ระดมสาดà¸à¸£à¸°à¸ªà¸¸à¸™à¹€à¸ˆà¸²à¸°à¸—ะลุในà¹à¸™à¸§à¸•รงใส่เป้าหมายศัตรู ล้อขนาดยัà¸à¸©à¹Œà¸ªà¸²à¸¡à¸²à¸£à¸–เหยียบทับสร้างความเสียหายให้à¸à¸±à¸šà¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸¨à¸±à¸•รูได้ +unit.merui.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸›à¸·à¸™à¹ƒà¸«à¸à¹ˆà¸žà¸´à¸ªà¸±à¸¢à¹„à¸à¸¥à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รูพื้นดิน สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.cleroi.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸«à¸™à¸±à¸à¸„ู่ใส่เป้าหมายศัตรู ทำลายà¸à¸£à¸°à¸ªà¸¸à¸™à¸‚องศัตรูด้วยปืนป้องà¸à¸±à¸™à¸ˆà¸¸à¸” สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.anthicus.description = ยิงขีปนาวุธติดตามตัวพิสัยไà¸à¸¥à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.tecta.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸žà¸¥à¸²à¸ªà¸¡à¹ˆà¸²à¸•ิดตามตัวใส่เป้าหมายศัตรู ป้องà¸à¸±à¸™à¸•ัวเองด้วยโล่พลังงานà¹à¸šà¸šà¹‚ค้ง สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.collaris.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸›à¸·à¸™à¹ƒà¸«à¸à¹ˆà¹à¸•à¸à¸à¸£à¸°à¸ˆà¸²à¸¢à¸žà¸´à¸ªà¸±à¸¢à¹„à¸à¸¥à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู สามารถเหยียบข้ามà¸à¸³à¹à¸žà¸‡à¹„ด้ +unit.elude.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸•ิดตามตัวคู่ใส่เป้าหมายศัตรู สามารถลอยตัวเหนือผิวน้ำได้ +unit.avert.description = ยิงà¸à¸£à¸°à¸ªà¸¸à¸™à¸«à¸¡à¸¸à¸™à¸§à¸™à¸„ู่ใส่เป้าหมายศัตรู +unit.obviate.description = ยิงลูà¸à¹à¸à¹‰à¸§à¸ªà¸²à¸¢à¸Ÿà¹‰à¸²à¸«à¸¡à¸¸à¸™à¸§à¸™à¹ƒà¸ªà¹ˆà¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢à¸¨à¸±à¸•รู +unit.quell.description = ยิงจรวดติดตามตัวใส่เป้าหมายศัตรูพื้นดิน ยับยั้งเครื่องซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องศัตรู +unit.disrupt.description = ยิงจรวดยับยั้งติดตามตัวใส่เป้าหมายศัตรูพื้นดิน ยับยั้งเครื่องซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸‚องศัตรู +unit.evoke.description = สร้างสิ่งต่างๆ เพื่อปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸šà¸²à¸ªà¹€à¸Šà¸µà¹ˆà¸¢à¸™à¸ˆà¸²à¸à¸¨à¸±à¸•รู\nซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸”้วยลำà¹à¸ªà¸‡à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹ +unit.incite.description = สร้างสิ่งต่างๆ เพื่อปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸‹à¸´à¸—าเดลจาà¸à¸¨à¸±à¸•รู\nซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸”้วยลำà¹à¸ªà¸‡à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹ +unit.emanate.description = สร้างสิ่งต่างๆ เพื่อปà¸à¸›à¹‰à¸­à¸‡à¹à¸à¸™à¸à¸¥à¸²à¸‡à¸­à¸°à¹‚ครโพลิสจาà¸à¸¨à¸±à¸•รู\nซ่อมà¹à¸‹à¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸”้วยลำà¹à¸ªà¸‡à¸Ÿà¸·à¹‰à¸™à¸Ÿà¸¹ + +lst.read = อ่านเลขจาà¸à¹€à¸‹à¸¥à¸¥à¹Œà¸„วามจำที่เชื่อมต่อไว้ +lst.write = เขียนเลขไปยังเซลล์ความจำที่เชื่อมต่อไว้ +lst.print = เพิ่มข้อความไปยังคิวข้อความ\nข้อความจะยังไม่à¹à¸ªà¸”งจนà¸à¸§à¹ˆà¸²à¸ˆà¸°à¹ƒà¸Šà¹‰à¸„ำสั่ง [accent]Print Flush[] +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = à¹à¸—นที่ข้อความตัวà¹à¸—นถัดไปในบัฟเฟอร์ข้อความด้วยค่า\nจะไม่ทำอะไรหาà¸à¸£à¸¹à¸›à¹à¸šà¸šà¸‚้อความà¹à¸—นที่นั้นไม่ถูà¸à¸•้อง\nรูปà¹à¸šà¸šà¸‚้อความà¹à¸—นที่: "{[accent]ตัวเลข 0-9[]}"\nตัวอย่าง:\n[accent]print "ทดสอบ {0}"\nformat "สวัสดี" +lst.draw = เพิ่มรูปไปยังคิวà¸à¸²à¸£à¸§à¸²à¸”\nภาพจะยังไม่à¹à¸ªà¸”งจนà¸à¸§à¹ˆà¸²à¸ˆà¸°à¹ƒà¸Šà¹‰à¸„ำสั่ง [accent]Draw Flush[] +lst.drawflush = ปล่อยคิว [accent]Draw[] ไปยังหน้าจอลอจิà¸à¸—ี่เชื่อมต่อไว้ +lst.printflush = ปล่อยคิว [accent]Print[] ไปยังตัวเà¸à¹‡à¸šà¸‚้อความที่เชื่อมต่อไว้ +lst.getlink = รับลิงค์จาà¸à¸•ัวประมวลผลตามดัชนี เริ่มต้นที่ 0 +lst.control = ควบคุมสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +lst.radar = เรดาร์หายูนิตที่อยู่รอบๆ สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ โดยระยะà¸à¸²à¸£à¸•รวจสอบขึ้นอยู่à¸à¸±à¸šà¸£à¸°à¸¢à¸°à¸‚องสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +lst.sensor = รับข้อมูลจาà¸à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸«à¸£à¸·à¸­à¸¢à¸¹à¸™à¸´à¸• +lst.set = ตั้งตัวà¹à¸›à¸£ +lst.operation = ทำà¸à¸²à¸£à¸„ำนวณà¸à¸±à¸š 1-2 ตัวà¹à¸›à¸£ +lst.end = ย้อนà¸à¸¥à¸±à¸šà¹„ปยังด้านบนสุดของชุดคำสั่ง +lst.wait = รอเวลาเป็นวินาที +lst.stop = หยุดยั้งà¸à¸²à¸£à¸—ำงานของตัวประมวลผล +lst.lookup = ค้นหาชนิดไอเท็ม/ของเหลว/ยูนิต/บล็อà¸à¸•าม ID\nสามารถหาจำนวนนับทั้งหมดของà¹à¸•่ละชนิดได้ด้วย:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = ข้ามไปยังคำสั่งต่างๆ โดยสามารถตั้งเงื่อนไขได้ +lst.unitbind = เลือà¸à¸¢à¸¹à¸™à¸´à¸•ถัดไปเป็นชนิด à¹à¸¥à¸°à¹€à¸à¹‡à¸šà¸„่าไว้ในตัวà¹à¸›à¸£ [accent]@unit[] +lst.unitcontrol = ควบคุมยูนิตที่เลือà¸à¹„ว้ +lst.unitradar = ค้นหายูนิตรอบๆ ยูนิตที่เลือà¸à¹„ว้ +lst.unitlocate = ค้นหาตำà¹à¸«à¸™à¹ˆà¸‡/สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸‰à¸žà¸²à¸°à¸­à¸¢à¹ˆà¸²à¸‡à¸—ี่ใดà¸à¹‡à¹„ด้บนà¹à¸œà¸™à¸—ี่\nต้องมียูนิตที่เลือà¸à¹„ว้ +lst.getblock = รับข้อมูลของช่องที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹ƒà¸”ๆ +lst.setblock = ปรับà¹à¸•่งข้อมูลของช่องที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹ƒà¸”ๆ +lst.spawnunit = สร้างยูนิตมาที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”ไว้ +lst.applystatus = ใส่หรือล้างเอฟเฟà¸à¸•์สถานะจาà¸à¸¢à¸¹à¸™à¸´à¸• +lst.weathersense = ตรวจสอบว่าสภาพอาà¸à¸²à¸¨à¹ƒà¸”ๆ à¸à¸³à¸¥à¸±à¸‡à¸—ำงานอยู่หรือไม่ +lst.weatherset = ตั้งค่าสถานะในปัจจุบันของสภาพอาà¸à¸²à¸¨à¹ƒà¸”ๆ +lst.spawnwave = จำลองคลื่นที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹ƒà¸”ๆ +lst.explosion = สร้างระเบิดที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹ƒà¸”ๆ +lst.setrate = ตั้งค่าความเร็วà¸à¸²à¸£à¸ªà¸±à¹ˆà¸‡à¹€à¸›à¹‡à¸™à¸„ำสั่งใน คำสั่ง/ติภ+lst.fetch = ค้นหายูนิต à¹à¸à¸™à¸à¸¥à¸²à¸‡ ผู้เล่น หรือสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸•ามดัชนี\nดัชนีเริ่มที่ 0 à¹à¸¥à¸°à¸ˆà¸šà¸—ี่ค่าที่จะส่งà¸à¸¥à¸±à¸š +lst.packcolor = à¹à¸žà¹‡à¸„ [0, 1] ส่วนประà¸à¸­à¸š RGBA มาเป็นเลขบรรทัดเดียวสำหรับà¸à¸²à¸£à¸§à¸²à¸”หรือà¸à¸²à¸£à¸•ั้งค่าà¸à¸Ž +lst.setrule = ตั้งค่าà¸à¸Žà¸‚องเà¸à¸¡ +lst.flushmessage = à¹à¸ªà¸”งข้อความบนหน้าจอจาà¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸­à¸£à¹Œà¸‚้อความ\nถ้าตัวà¹à¸›à¸£à¸œà¸¥à¸¥à¸±à¸žà¸˜à¹Œà¸­à¸­à¸à¸¡à¸²à¹€à¸›à¹‡à¸™ [accent]@wait[]\nจะรอจนà¸à¸§à¹ˆà¸²à¸‚้อความà¸à¹ˆà¸­à¸™à¸«à¸™à¹‰à¸²à¸ˆà¸°à¹€à¸ªà¸£à¹‡à¸ˆà¸ªà¸´à¹‰à¸™\nนอà¸à¸ˆà¸²à¸à¸™à¸±à¹‰à¸™ จะส่งออà¸à¸§à¹ˆà¸²à¸à¸²à¸£à¹à¸ªà¸”งผลข้อความสำเร็จหรือไม่ +lst.cutscene = ควบคุมมุมà¸à¸¥à¹‰à¸­à¸‡à¸‚องผู้เล่น +lst.setflag = เซ็ตธงทั่วโลà¸à¸—ี่ตัวประมวลผลทุà¸à¸•ัวสามารถอ่านค่าได้ +lst.getflag = เช็à¸à¸§à¹ˆà¸²à¸˜à¸‡à¸—ั่วโลà¸à¸™à¸±à¹‰à¸™à¹„ด้ถูà¸à¹€à¸‹à¹‡à¸•อยู่รึเปล่า +lst.setprop = ตั้งค่าคุณสมบัติของยูนิตà¹à¸¥à¸°à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +lst.effect = เสà¸à¹€à¸­à¸Ÿà¹€à¸Ÿà¸à¸•์อนุภาค +lst.sync = ซิงค์หนึ่งตัวà¹à¸›à¸£à¸—ั่วทั้งเครือข่าย\nสามารถเรียà¸à¹ƒà¸Šà¹‰à¸„ำสั่งได้à¹à¸„่ 10 ครั้งต่อวินาทีอย่างมาภ+lst.playsound = เล่นเสียง\nระดับเสียงà¹à¸¥à¸°à¸à¸²à¸£à¹à¸žà¸™à¸ªà¸²à¸¡à¸²à¸£à¸–ใช้เป็นค่าสาà¸à¸¥à¹„ด้ หรือคำนวณเอาจาà¸à¸•ำà¹à¸«à¸™à¹ˆà¸‡à¸à¹‡à¹„ด้ +lst.makemarker = สร้างเครื่องหมายลอจิà¸à¹ƒà¸«à¸¡à¹ˆà¸‚ึ้นมาในà¹à¸¡à¸ž\nจะต้องเพิ่ม ID เข้าไปเพื่อบ่งชี้เครื่องหมายนี้\nเครื่องหมายจำà¸à¸±à¸”ได้à¹à¸„่ 20,000 ต่อà¹à¸¡à¸žà¹ƒà¸™à¸•อนนี้ +lst.setmarker = ตั้งค่าคุณสมบัติให้à¸à¸±à¸šà¹€à¸„รื่องหมาย\nID ของเครื่องหมายที่ใช้จะต้องเป็น ID เดียวà¸à¸±à¸™à¸à¸±à¸šà¹ƒà¸™à¸„ำสั่ง Make Marker\nค่า[accent]ว่างเปล่า[]จะถูà¸à¸‚้าม +lst.localeprint = เพิ่มค่าชุดภาษาท้องถิ่นของà¹à¸¡à¸žà¸¥à¸‡à¹„ปในบัฟเฟอร์ข้อความเพื่อตั้งค่าชุดภาษาของà¹à¸¡à¸žà¹ƒà¸™à¸•ัวà¹à¸à¹‰à¹„ข ให้เปิด [accent]ข้อมูลà¹à¸¡à¸ž > ชุดภาษาท้องถิ่น[].\nถ้าหาà¸à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸¡à¸·à¸­à¸–ือ ให้ลองปริ้นค่าโดยลงท้ายด้วย ".mobile" à¸à¹ˆà¸­à¸™ +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = ค่าว่างเปล่า +lglobal.@pi = ค่าคงตัวทางคณิตศาสตร์ pi (3.141...) +lglobal.@e = ค่าคงตัวทางคณิตศาสตร์ e (2.718...) +lglobal.@degToRad = คูณค่าด้วยเลขตัวนี้เพื่อà¹à¸›à¸¥à¸‡à¸­à¸‡à¸¨à¸²à¹€à¸›à¹‡à¸™à¹€à¸£à¹€à¸”ียน +lglobal.@radToDeg = คูณค่าด้วยเลขตัวนี้เพื่อà¹à¸›à¸¥à¸‡à¹€à¸£à¹€à¸”ียนเป็นองศา +lglobal.@time = ระยะเวลาที่เล่นไปของเซฟนี้ ในหน่วยมิลิวินาที +lglobal.@tick = ระยะเวลาที่เล่นไปของเซฟนี้ ในหน่วยติภ(1 วินาที = 60 ติà¸) +lglobal.@second = ระยะเวลาที่เล่นไปของเซฟนี้ ในหน่วยวินาที +lglobal.@minute = ระยะเวลาที่เล่นไปของเซฟนี้ ในหน่วยนาที +lglobal.@waveNumber = ลำดับคลื่นในปัจจุบัน หาà¸à¸„ลื่นเปิดใช้งาน +lglobal.@waveTime = เวลานับถอยหลังของคลื่นถัดไป ในหน่วยวินาที +lglobal.@mapw = ความà¸à¸§à¹‰à¸²à¸‡à¸‚องà¹à¸¡à¸ž ในหน่วยช่อง +lglobal.@maph = ความสูงของà¹à¸¡à¸ž ในหน่วยช่อง +lglobal.sectionMap = à¹à¸¡à¸ž +lglobal.sectionGeneral = ทั่วไป +lglobal.sectionNetwork = เครือข่าย/à¸à¸±à¹ˆà¸‡à¸œà¸¹à¹‰à¹€à¸¥à¹ˆà¸™ [เฉพาะตัวประมวลผลโลà¸] +lglobal.sectionProcessor = ตัวประมวลผล +lglobal.sectionLookup = à¸à¸²à¸£à¸„้นหา +lglobal.@this = บล็อà¸à¸¥à¸­à¸ˆà¸´à¸à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¹‚ค้ดนี้อยู่ +lglobal.@thisx = พิà¸à¸±à¸” X ของบล็อà¸à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¹‚ค้ดนี้อยู่ +lglobal.@thisy = พิà¸à¸±à¸” Y ของบล็อà¸à¸—ี่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¹‚ค้ดนี้อยู่ +lglobal.@links = จำนวนบล็อà¸à¸—ั้งหมดที่เชื่อมต่อà¸à¸±à¸šà¸•ัวประมวลผลนี้ +lglobal.@ipt = ความเร็วà¸à¸²à¸£à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£à¸‚องตัวประมวลผลนี้ ในหน่วยคำสั่งต่อติภ(60 ติภ= 1 วินาที) +lglobal.@unitCount = จำนวนเนื้อหาของชนิดยูนิตทั้งหมดที่อยู่ในเà¸à¸¡ ใช้à¸à¸±à¸šà¸„ำสั่ง Lookup +lglobal.@blockCount = จำนวนเนื้อหาของชนิดบล็อà¸à¸—ั้งหมดที่อยู่ในเà¸à¸¡ ใช้à¸à¸±à¸šà¸„ำสั่ง Lookup +lglobal.@itemCount = จำนวนเนื้อหาของชนิดไอเท็มทั้งหมดที่อยู่ในเà¸à¸¡ ใช้à¸à¸±à¸šà¸„ำสั่ง Lookup +lglobal.@liquidCount = จำนวนเนื้อหาของชนิดของเหลวทั้งหมดที่อยู่ในเà¸à¸¡ ใช้à¸à¸±à¸šà¸„ำสั่ง Lookup +lglobal.@server = เป็นจริงหาà¸à¹‚ค้ดà¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸šà¸™à¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œà¸«à¸£à¸·à¸­à¹ƒà¸™à¹‚หมดผู้เล่นคนเดียว นอà¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¹€à¸›à¹‡à¸™à¹€à¸—็จ +lglobal.@client = เป็นจริงหาà¸à¹‚ค้ดà¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸šà¸™à¸à¸±à¹ˆà¸‡à¹„คลเอนต์ที่เชื่อมต่อà¸à¸±à¸šà¹€à¸‹à¸´à¸£à¹Œà¸Ÿà¹€à¸§à¸­à¸£à¹Œ +lglobal.@clientLocale = ค่าภาษาของà¸à¸±à¹ˆà¸‡à¹„คลเอนต์ที่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸„ำสั่ง ยà¸à¸•ัวอย่างเช่น: th_TH +lglobal.@clientUnit = หน่วยของà¸à¸±à¹ˆà¸‡à¹„คลเอนต์ที่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸„ำสั่ง +lglobal.@clientName = ชื่อผู้เล่นของà¸à¸±à¹ˆà¸‡à¹„คลเอนต์ที่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸„ำสั่ง +lglobal.@clientTeam = ID ของทีมของà¸à¸±à¹ˆà¸‡à¹„คลเอนต์ที่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸„ำสั่ง +lglobal.@clientMobile = เป็นจริงหาà¸à¸à¸±à¹ˆà¸‡à¹„คลเอนต์ที่à¸à¸³à¸¥à¸±à¸‡à¸£à¸±à¸™à¸„ำสั่งบนอุปà¸à¸£à¸“์มือถือ นอà¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¹€à¸›à¹‡à¸™à¹€à¸—็จ + +logic.nounitbuild = [red]ไม่อนุà¸à¸²à¸•ให้ใช้ลอจิà¸à¸„วบคุมให้ยูนิตสร้างที่นี่ + +lenum.type = ชนิดของสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡/ยูนิต\nอย่างเช่น เร้าเตอร์ทุà¸à¸•ัวจะส่งà¸à¸¥à¸±à¸šà¸§à¹ˆà¸² [accent]@router[]\nไม่ใช่ค่าสตริง +lenum.shoot = ยิงไปที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢ +lenum.shootp = ยิงเป้าหมายโดยมีà¸à¸²à¸£à¸„ำนวณà¸à¸²à¸£à¸¢à¸´à¸‡ +lenum.config = à¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าของสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ เช่น ไอเท็มของเครื่องคัดà¹à¸¢à¸ +lenum.enabled = ว่าบล็อà¸à¹€à¸›à¸´à¸”ใช้งาน/ทำงานอยู่หรือเปล่า +laccess.currentammotype = ประเภทของà¸à¸£à¸°à¸ªà¸¸à¸™à¹„อเท็ม/ของเหลวในปัจจุบันของป้อมปืน + +laccess.color = สีของตัวเปล่งà¹à¸ªà¸‡ +laccess.controller = ผู้ควบคุมยูนิต ถ้าผู้ควบคุมคือตัวประมวลผล จะส่งà¸à¸¥à¸±à¸šà¸„่า processor\nนอà¸à¸™à¸±à¹‰à¸™ จะส่งà¸à¸¥à¸±à¸šà¸„่าตัวยูนิตเอง +laccess.dead = ว่าสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡/ยูนิตนั้นตายà¹à¸¥à¹‰à¸§à¸«à¸£à¸·à¸­à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ม่ได้à¹à¸¥à¹‰à¸§ +laccess.controlled = จะส่งà¸à¸¥à¸±à¸š:\n[accent]@ctrlProcessor[] ถ้าผู้ควบคุมคือตัวประมวลผลลอจิà¸\n[accent]@ctrlPlayer[] ถ้าสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡/ยูนิตถูà¸à¸„วบคุมโดยผู้เล่น\n[accent]@ctrlCommand[] ถ้ายูนิตถูà¸à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£à¹‚ดยผู้เล่นอยู่\nนอà¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¹€à¸›à¹‡à¸™ 0 +laccess.progress = ความคืบหน้าà¸à¸²à¸£à¸”ำเนินà¸à¸²à¸£à¸ˆà¸²à¸ 0 ถึง 1\nจะส่งà¸à¸¥à¸±à¸šà¸„่าà¸à¸²à¸£à¸œà¸¥à¸´à¸• à¸à¸²à¸£à¸£à¸µà¹‚หลดของป้อมปืน หรือความคืบหน้าในà¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +laccess.speed = ความเร็วสูงสุดของยูนิตในหน่วย ช่อง/วินาที +laccess.id = ID ของยูนิต/บล็อà¸/ไอเท็ม/ของเหลว\nคำสั่งนี้จะตรงà¸à¸±à¸™à¸‚้ามà¸à¸±à¸šà¸„ำสั่ง lookup + +lcategory.unknown = ไม่ทราบ +lcategory.unknown.description = คำสั่งที่ไม่อยู่ในหมวดหมู่ใดๆเลย +lcategory.io = นำเข้า & ส่งออภ+lcategory.io.description = เปลี่ยนค่าบล็อà¸à¸„วามจำà¹à¸¥à¸°à¸™à¸³à¹€à¸‚้าหรือส่งออà¸à¸„ำสั่งจาà¸à¸•ัวประมวลผล +lcategory.block = ควบคุมบล็อภ+lcategory.block.description = ปà¸à¸´à¸ªà¸±à¸¡à¸žà¸±à¸™à¸˜à¹Œà¸à¸±à¸šà¸šà¸¥à¹‡à¸­à¸ +lcategory.operation = ปà¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£ +lcategory.operation.description = ปà¸à¸´à¸šà¸±à¸•ิà¸à¸²à¸£à¸—างลอจิภ+lcategory.control = ควบคุมลำดับคำสั่ง +lcategory.control.description = ควบคุมลำดับà¸à¸²à¸£à¸ªà¸±à¹ˆà¸‡à¸à¸²à¸£à¸‚องคำสั่ง +lcategory.unit = ควบคุมยูนิต +lcategory.unit.description = ควบคุมยูนิตด้วยคำสั่งต่างๆ +lcategory.world = โลภ+lcategory.world.description = ควบคุมสภาวะà¹à¸¥à¸°à¸žà¸¤à¸•ิà¸à¸£à¸£à¸¡à¸‚องโลภ+ +graphicstype.clear = เติมจอà¹à¸ªà¸”งผลด้วยสี +graphicstype.color = ตั้งค่าสีสำหรับà¸à¸²à¸£à¸§à¸²à¸”ครั้งต่อไป +graphicstype.col = เหมือนà¸à¸±à¸šà¸„ำสั่ง color à¹à¸•่มีà¸à¸²à¸£à¹à¸žà¹‡à¸„\nสีที่à¹à¸žà¹‡à¸„จะถูà¸à¹€à¸‚ียนเป็นรหัสà¸à¸²à¸™à¸ªà¸´à¸šà¸«à¸à¹à¸¥à¸°à¸ˆà¸°à¸¡à¸µà¸­à¸±à¸à¸©à¸£à¸‚ึ้นต้นเป็น [accent]%[]\nตัวอย่าง: [accent]%ff0000[] (สีà¹à¸”ง) +graphicstype.stroke = ตั้งค่าความà¸à¸§à¹‰à¸²à¸‡à¸‚องเส้น +graphicstype.line = วาดส่วนของเส้นตรง +graphicstype.rect = เติมรูปเหลี่ยม +graphicstype.linerect = วาดโครงร่างสี่เหลี่ยม +graphicstype.poly = เติมรูปหลายเหลี่ยมปà¸à¸•ิ +graphicstype.linepoly = วาดโครงร่างรูปหลายเหลี่ยมปà¸à¸•ิ +graphicstype.triangle = เติมสามเหลี่ยม +graphicstype.image = วาดรูปสิ่งต่างๆ \nตัวอย่างเช่น: [accent]@router[] หรือ [accent]@dagger[] +graphicstype.print = วาดข้อความจาà¸à¸šà¸±à¸Ÿà¹€à¸Ÿà¸­à¸£à¹Œà¸‚้อความ\nใช้ตัวอัà¸à¸©à¸£ ASCII ได้เท่านั้น\nจะเคลียร์บัฟเฟอร์ข้อความ + +lenum.always = เป็นจริงเสมอ +lenum.idiv = หารจำนวนเต็ม +lenum.div = หาร\nจะส่งà¸à¸¥à¸±à¸š[accent]ค่าว่าง[] หาà¸à¸«à¸²à¸£à¸¨à¸¹à¸™à¸¢à¹Œ +lenum.mod = โมดูโล่ (หารหาเศษ) +lenum.equal = เท่าà¸à¸±à¸š à¹à¸šà¸šà¸šà¸±à¸‡à¸„ับประเภท\nสิ่งที่ไม่ใช่ค่าว่างเมื่อเทียบà¸à¸±à¸šà¸•ัวเลขจะส่งà¸à¸¥à¸±à¸šà¸„่า 1 นอà¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸ªà¹ˆà¸‡à¸à¸¥à¸±à¸šà¸„่า 0 +lenum.notequal = ไม่เท่าà¸à¸±à¸š บังคับประเภท +lenum.strictequal = เท่าà¸à¸±à¸šà¸—ี่เข้มงวด ไม่บังคับประเภท\nสามารถใช้ตรวจสอบหา[accent]ค่าว่าง[]ได้ +lenum.shl = เลื่อนบิตไปทางซ้าย +lenum.shr = เลื่อนบิตไปทางขวา +lenum.or = หรือ à¹à¸šà¸šà¸šà¸´à¸• +lenum.land = à¹à¸¥à¸° เชิงตรรà¸à¸° +lenum.and = à¹à¸¥à¸° à¹à¸šà¸šà¸šà¸´à¸• +lenum.not = à¸à¸¥à¸±à¸šà¸”้าน à¹à¸šà¸šà¸šà¸´à¸• +lenum.xor = à¹à¸¢à¸à¹€à¸‰à¸žà¸²à¸° à¹à¸šà¸šà¸šà¸´à¸• + +lenum.min = เทียบต่ำสุดของสองหมายเลข +lenum.max = เทียบสูงสุดของสองหมายเลข +lenum.angle = มุมของเวà¸à¹€à¸•อร์ หน่วยเป็นองศา +lenum.anglediff = ระยะทางสัมบูรณ์ระหว่างมุมสองมุม หน่วยเป็นองศา +lenum.len = ความยาวของเวà¸à¹€à¸•อร์ + +lenum.sin = ไซน์ หน่วยเป็นองศา +lenum.cos = โคไซน์ หน่วยเป็นองศา +lenum.tan = à¹à¸—นเจนต์ หน่วยเป็นองศา + +lenum.asin = อาร์คไซน์ หน่วยเป็นองศา +lenum.acos = อาร์คโคไซน์ หน่วยเป็นองศา +lenum.atan = อาร์คà¹à¸—นเจนต์ หน่วยเป็นองศา + +#not a typo, look up 'range notation' +lenum.rand = สุ่มทศนิยมในช่วง [0, ค่า) +lenum.log = ลอà¸à¸²à¸£à¸´à¸—ึมธรรมชาติ (ln) +lenum.log10 = ลอà¸à¸²à¸£à¸´à¸—ึมà¸à¸²à¸™à¸ªà¸´à¸š +lenum.noise = นอยส์ซิมเพล็à¸à¸‹à¹Œà¸ªà¸­à¸‡à¸¡à¸´à¸•ิ +lenum.abs = ค่าสัมบูรณ์ +lenum.sqrt = สà¹à¸„วร์รูท + +lenum.any = ยูนิตใดๆ +lenum.ally = ยูนิตพันธมิตร +lenum.attacker = ยูนิตที่มีอาวุธ +lenum.enemy = ยูนิตศัตรู +lenum.boss = ยูนิตผู้พิทัà¸à¸©à¹Œ +lenum.flying = ยูนิตอาà¸à¸²à¸¨ +lenum.ground = ยูนิตพื้นดิน +lenum.player = ยูนิตที่ถูà¸à¸„วบคุมโดยผู้เล่น + +lenum.ore = à¹à¸£à¹ˆà¸•ามพื้นต่างๆ +lenum.damaged = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่เสียหาย +lenum.spawn = จุดเà¸à¸´à¸”ของศัตรู\nอาจเป็นà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸«à¸£à¸·à¸­à¸•ำà¹à¸«à¸™à¹ˆà¸‡ +lenum.building = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹€à¸‰à¸žà¸²à¸°à¸à¸¥à¸¸à¹ˆà¸¡ + +lenum.core = à¹à¸à¸™à¸à¸¥à¸²à¸‡ +lenum.storage = บล็อà¸à¹€à¸à¹‡à¸šà¸‚อง เช่น ตู้นิรภัย +lenum.generator = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ผลิตพลังงาน +lenum.factory = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ผลิตทรัพยาà¸à¸£ +lenum.repair = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ซ่อมà¹à¸‹à¸¡à¸¢à¸¹à¸™à¸´à¸• +lenum.battery = à¹à¸šà¸•เตอรี่ใดๆ +lenum.resupply = จุดเติมà¸à¸£à¸°à¸ªà¸¸à¸™\nจะใช้งานได้ต่อเมื่อ [accent]"ยูนิตต้องใช้à¸à¸£à¸°à¸ªà¸¸à¸™"[] เปิดอยู่ +lenum.reactor = เตาปà¸à¸´à¸à¸£à¸“์ใดๆ +lenum.turret = ป้อมปืนใดๆ + +sensor.in = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡/ยูนิตให้ตรวจวัด + +radar.from = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่จะใช้ในà¸à¸²à¸£à¸„้นหา\nระยะเซนเซอร์จะขึ้นอยู่à¸à¸±à¸šà¸£à¸°à¸¢à¸°à¸‚องสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +radar.target = ตัวà¸à¸£à¸­à¸‡à¹ƒà¸™à¸à¸²à¸£à¸«à¸²à¸¢à¸¹à¸™à¸´à¸• +radar.and = ตัวà¸à¸£à¸­à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•ิม +radar.order = เรียงลำดับคำสั่ง\nใส่ค่า 0 เพื่อเรียงย้อนà¸à¸¥à¸±à¸š +radar.sort = เมตริà¸à¹€à¸žà¸·à¹ˆà¸­à¸ˆà¸±à¸”เรียงผลลัพย์ตาม +radar.output = ตัวà¹à¸›à¸£à¸‚องยูนิตที่มองหา + +unitradar.target = ตัวà¸à¸£à¸­à¸‡à¹ƒà¸™à¸à¸²à¸£à¸«à¸²à¸¢à¸¹à¸™à¸´à¸• +unitradar.and = ตัวà¸à¸£à¸­à¸‡à¹€à¸žà¸´à¹ˆà¸¡à¹€à¸•ิม +unitradar.order = เรียงลำดับคำสั่ง\nใส่ค่า 0 เพื่อเรียงย้อนà¸à¸¥à¸±à¸š +unitradar.sort = เมตริà¸à¹€à¸žà¸·à¹ˆà¸­à¸ˆà¸±à¸”เรียงผลลัพธ์ตาม +unitradar.output = ตัวà¹à¸›à¸£à¸‚องยูนิตที่มองหา + +control.of = สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹ƒà¸«à¹‰à¸„วบคุม +control.unit = ยูนิต/สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่จะเล็ง +control.shoot = ว่าจะยิงหรือไม่ + +unitlocate.enemy = ว่าจะหาสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸¨à¸±à¸•รูหรือไม่ +unitlocate.found = ตัวà¹à¸›à¸£à¸§à¹ˆà¸²à¸žà¸šà¹€à¸ˆà¸­à¸«à¸£à¸·à¸­à¹„ม่\nจะส่งà¸à¸¥à¸±à¸šà¸§à¹ˆà¸² true หาà¸à¸žà¸šà¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +unitlocate.building = ตัวà¹à¸›à¸£à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่มองหา +unitlocate.outx = ตัวà¹à¸›à¸£à¸žà¸´à¸à¸±à¸” X +unitlocate.outy = ตัวà¹à¸›à¸£à¸žà¸´à¸à¸±à¸” Y +unitlocate.group = à¸à¸¥à¸¸à¹ˆà¸¡à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่มองหา +playsound.limit = หาà¸à¸ˆà¸£à¸´à¸‡ จะหยุดยั้งไม่ให้เล่นเสียงนี้\nถ้าหาà¸à¸¡à¸±à¸™à¸–ูà¸à¹€à¸¥à¹ˆà¸™à¹„ปà¹à¸¥à¹‰à¸§à¹ƒà¸™à¹€à¸Ÿà¸£à¸¡à¹€à¸”ียวà¸à¸±à¸™ + +lenum.idle = หยุดขยับ à¹à¸•่ยังคงขุด/à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡\nสถานะเริ่มต้นของยูนิต +lenum.stop = หยุดขยับ/ขุด/à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +lenum.unbind = ยà¸à¹€à¸¥à¸´à¸à¸à¸²à¸£à¸„วบคุมลอจิà¸à¸—ั้งหมด\nเปลี่ยนไปใช้ AI ธรรมดาต่อ +lenum.move = ขยับไปที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”ไว้ +lenum.approach = เข้าใà¸à¸¥à¹‰à¸•ำà¹à¸«à¸™à¹ˆà¸‡à¹‚ดยà¸à¸³à¸«à¸™à¸”ระยะห่าง +lenum.pathfind = ขยับไปที่ตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”ไว้ โดยมีà¸à¸²à¸£à¸„ำนวณเพื่อเลี่ยงสิ่งà¸à¸µà¸”ขวาง +lenum.autopathfind = คำนวณเส้นทางที่ใà¸à¸¥à¹‰à¸—ี่สุดà¹à¸¥à¹‰à¸§à¸‚ยับไปหาà¹à¸à¸™à¸à¸¥à¸²à¸‡à¸«à¸£à¸·à¸­à¸ˆà¸¸à¸”เà¸à¸´à¸”ของศัตรูโดยอัตโนมัติ\nเหมือนà¸à¸±à¸™à¸à¸±à¸šà¸à¸²à¸£à¸„ำนวณเส้นทางของคลื่นศัตรู +lenum.target = ยิงไปที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢ +lenum.targetp = ยิงไปที่เป้าหมาย โดยมีà¸à¸²à¸£à¸„ำนวณความเร็ว +lenum.itemdrop = ปล่อยไอเท็ม +lenum.itemtake = หยิบไอเท็มจาà¸à¸ªà¸´à¹ˆà¸‡à¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +lenum.paydrop = วางสิ่งที่บรรทุà¸à¸­à¸¢à¸¹à¹ˆ +lenum.paytake = หยิบสิ่งบรรทุภณ จุดที่อยู่ +lenum.payenter = เข้าไป/ลงจอดบนบล็อà¸à¸šà¸£à¸£à¸—ุภณ จุดที่ยูนิตอยู่ +lenum.flag = ปัà¸à¸˜à¸‡à¸¢à¸¹à¸™à¸´à¸•เป็นหมายเลข +lenum.mine = ขุดที่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢ +lenum.build = สร้างสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡ +lenum.getblock = ดึงข้อมูลสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¹à¸¥à¸°à¸›à¸£à¸°à¹€à¸ à¸—ของสิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸—ี่ตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸›à¹‰à¸²à¸«à¸¡à¸²à¸¢\nยูนิตต้องอยู่ในระยะของตำà¹à¸«à¸™à¹ˆà¸‡\nบล็อà¸à¸•ันที่ไม่ใช่สิ่งà¸à¹ˆà¸­à¸ªà¸£à¹‰à¸²à¸‡à¸ˆà¸°à¸¡à¸µà¸Šà¸™à¸´à¸”เป็น [accent]@solid[] +lenum.within = ตรวจสอบว่ายูนิตนั้นอยู่ในระยะหรือไม่ +lenum.boost = เริ่ม/หยุดà¸à¸²à¸£à¸šà¸¹à¸ªà¸•์ +lenum.flushtext = ระบายเนื้อหาของบัฟเฟอร์ข้อความลงสู่เครื่องหมาย ถ้ามี\nถ้า fetch ถูà¸à¸•ั้งเป็นจริง จะพยายามดึงค่าจาà¸à¸„่าชุดภาษาท้องถิ่นหรือชุดภาษาในเà¸à¸¡ +lenum.texture = ชื่อเทà¸à¹€à¸ˆà¸­à¸£à¹Œà¸•รงมาจาà¸à¹à¸­à¸•ลาสเทà¸à¹€à¸ˆà¸­à¸£à¹Œà¸‚องเà¸à¸¡ (ใช้à¸à¸²à¸£à¸•ั้งชื่อà¹à¸šà¸š kebab-case)\nถ้า printFlush ถูà¸à¸•ั้งเป็นจริง จะใส่เนื้อหาของบัฟเฟอร์ข้อความไปในช่องข้อความ +lenum.texturesize = ขนาดของเทà¸à¹€à¸ˆà¸­à¸£à¹Œà¹ƒà¸™à¸«à¸™à¹ˆà¸§à¸¢à¸Šà¹ˆà¸­à¸‡ หาà¸à¸„่าเป็นศูนย์จะปรับขนาดของเครื่องหมายเป็นขนาดปà¸à¸•ิ +lenum.autoscale = ว่าจะให้เครื่องหมายเพิ่มลดขนาดตามระดับà¸à¸²à¸£à¸‹à¸¹à¸¡à¸‚องผู้เล่นหรือไม่ +lenum.posi = ตำà¹à¸«à¸™à¹ˆà¸‡à¹ƒà¸™à¸”ัชนี ใช้สำหรับเครื่องหมายเส้นตรงà¹à¸¥à¸°à¸ªà¸µà¹ˆà¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¸—ี่มีดัชนีศูนย์เป็นตำà¹à¸«à¸™à¹ˆà¸‡à¹€à¸£à¸´à¹ˆà¸¡à¸•้น +lenum.uvi = ตำà¹à¸«à¸™à¹ˆà¸‡à¸‚องเทà¸à¹€à¸ˆà¸­à¸£à¹Œà¹ƒà¸™à¸„าบระหว่างศูนย์ถึงหนึ่ง ใช้สำหรับเครื่องหมายสี่เหลี่ยม +lenum.colori = ค่าสีในดัชนี ใช้สำหรับเครื่องหมายเส้นตรงà¹à¸¥à¸°à¸ªà¸µà¹ˆà¹€à¸«à¸¥à¸µà¹ˆà¸¢à¸¡à¸—ี่มีดัชนีศูนย์เป็นสีเริ่มต้น +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_tk.properties b/core/assets/bundles/bundle_tk.properties index 8b9f3a97aa..1e094fe79f 100644 --- a/core/assets/bundles/bundle_tk.properties +++ b/core/assets/bundles/bundle_tk.properties @@ -13,14 +13,17 @@ link.google-play.description = Google Play magaza sayfasi link.f-droid.description = F-Droid catalogue listing link.wiki.description = Orjinal Mindustry Bilgilendirme Sayfasi link.suggestions.description = Suggest new features +link.bug.description = Found one? Report it here +linkopen = This server has sent you a link. Are you sure you want to open it?\n\n[sky]{0} linkfail = Link Acilamadi!\nLink sizin icin kopyalandi. screenshot = Screenshot saved to {0} screenshot.invalid = Map too large, potentially not enough memory for screenshot. gameover = Cekirdegin yok edildi. +gameover.disconnect = Disconnect gameover.pvp = The[accent] {0}[] team is victorious! +gameover.waiting = [accent]Waiting for next map... highscore = [accent]Yeni Yuksek skor! copied = Copied. -indev.popup = [accent]v6[] is currently in [accent]alpha[].\n[lightgray]This means:[]\n[scarlet]- The campaign is completely unfinished[]\n- Content is missing\n - Most [scarlet]Unit AI[] does not work properly\n- Many units are unfinished\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[]. indev.notready = This part of the game isn't ready yet load.sound = Sounds @@ -37,10 +40,23 @@ be.updating = Updating... be.ignore = Ignore be.noupdates = No updates found. be.check = Check for updates +mods.browser = Mod Browser +mods.browser.selected = Selected mod +mods.browser.add = Install +mods.browser.reinstall = Reinstall +mods.browser.view-releases = View Releases +mods.browser.noreleases = [scarlet]No Releases Found\n[accent]Couldn't find any releases for this mod. Check if the mod's repository has any releases published. +mods.browser.latest = +mods.browser.releases = Releases +mods.github.open = Repo +mods.github.open-release = Release Page +mods.browser.sortdate = Sort by recent +mods.browser.sortstars = Sort by stars schematic = Schematic schematic.add = Save Schematic... schematics = Schematics +schematic.search = Search schematics... schematic.replace = A schematic by that name already exists. Replace it? schematic.exists = A schematic by that name already exists. schematic.import = Import Schematic... @@ -53,18 +69,26 @@ schematic.shareworkshop = Share on Workshop schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic schematic.saved = Schematic saved. schematic.delete.confirm = This schematic will be utterly eradicated. -schematic.rename = Rename Schematic +schematic.edit = Edit Schematic schematic.info = {0}x{1}, {2} blocks schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. - -stat.wave = Waves Defeated:[accent] {0} -stat.enemiesDestroyed = Enemies Destroyed:[accent] {0} -stat.built = Buildings Built:[accent] {0} -stat.destroyed = Buildings Destroyed:[accent] {0} -stat.deconstructed = Buildings Deconstructed:[accent] {0} -stat.delivered = Resources Launched: -stat.playtime = Time Played:[accent] {0} -stat.rank = Final Rank: [accent]{0} +schematic.tags = Tags: +schematic.edittags = Edit Tags +schematic.addtag = Add Tag +schematic.texttag = Text Tag +schematic.icontag = Icon Tag +schematic.renametag = Rename Tag +schematic.tagged = {0} tagged +schematic.tagdelconfirm = Delete this tag completely? +schematic.tagexists = That tag already exists. +stats = Stats +stats.wave = Waves Defeated +stats.unitsCreated = Units Created +stats.enemiesDestroyed = Enemies Destroyed +stats.built = Buildings Built +stats.destroyed = Buildings Destroyed +stats.deconstructed = Buildings Deconstructed +stats.playtime = Time Played globalitems = [accent]Global Items map.delete = Su haritayi silmek istediginden emin misin? "[accent]{0}[]"? @@ -74,12 +98,15 @@ level.mode = Oyun Modu: coreattack = < Cekirdek Saldiri altinda! > nearpoint = [[ [scarlet]LEAVE DROP POINT IMMEDIATELY[] ]\nannihilation imminent database = Core Database +database.button = Database savegame = Oyunu kaydet loadgame = Devam et joingame = Oyuna katil customgame = Ozel oyun newgame = New Game none = +none.found = [lightgray] +none.inmap = [lightgray] minimap = Minimap position = Position close = Kapat @@ -99,25 +126,39 @@ uploadingpreviewfile = Uploading Preview File committingchanges = Comitting Changes done = Done feature.unsupported = Your device does not support this feature. - -mods.alphainfo = Keep in mind that mods are in alpha, and[scarlet] may be very buggy[].\nReport any issues you find to the Mindustry GitHub or Discord. +mods.initfailed = [red]âš [] The previous Mindustry instance failed to initialize. This was likely caused by misbehaving mods.\n\nTo prevent a crash loop, [red]all mods have been disabled.[] mods = Mods mods.none = [lightgray]No mods found! mods.guide = Modding Guide mods.report = Report Bug mods.openfolder = Open Mod Folder +mods.viewcontent = View Content mods.reload = Reload mods.reloadexit = The game will now exit, to reload mods. +mod.installed = [[Installed] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Enabled mod.disabled = [scarlet]Disabled +mod.multiplayer.compatible = [gray]Multiplayer Compatible mod.disable = Disable +mod.version = Version: mod.content = Content: mod.delete.error = Unable to delete mod. File may be in use. -mod.requiresversion = [scarlet]Requires min game version: [accent]{0} -mod.outdated = [scarlet]Not compatible with V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Missing dependencies: {0} +mod.incompatiblegame = [red]Outdated Game +mod.incompatiblemod = [red]Incompatible +mod.blacklisted = [red]Unsupported +mod.unmetdependencies = [red]Unmet Dependencies mod.erroredcontent = [scarlet]Content Errors +mod.circulardependencies = [red]Circular Dependencies +mod.incompletedependencies = [red]Incomplete Dependencies +mod.requiresversion.details = Requires game version: [accent]{0}[]\nYour game is outdated. This mod requires a newer version of the game (possibly a beta/alpha release) to function. +mod.outdatedv7.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 136[] to its [accent]mod.json[] file. +mod.blacklisted.details = This mod has been manually blacklisted for causing crashes or other issues with this version of the game. Do not use it. +mod.missingdependencies.details = This mod is missing dependencies: {0} +mod.erroredcontent.details = This game caused errors when loading. Ask the mod author to fix them. +mod.circulardependencies.details = This mod has dependencies that depends on each other. +mod.incompletedependencies.details = This mod is unable to be loaded due to invalid or missing dependencies: {0}. +mod.requiresversion = Requires game version: [red]{0} mod.errors = Errors have occurred loading content. mod.noerrorplay = [scarlet]You have mods with errors.[] Either disable the affected mods or fix the errors before playing. mod.nowdisabled = [scarlet]Mod '{0}' is missing dependencies:[accent] {1}\n[lightgray]These mods need to be downloaded first.\nThis mod will be automatically disabled. @@ -139,12 +180,25 @@ mod.scripts.disable = Your device does not support mods with scripts. You must d about.button = Hakkinda name = isim: noname = Pick a[accent] player name[] first. +search = Search: planetmap = Planet Map launchcore = Launch Core filename = File Name: unlocked = Yeni yapi acildi!! +available = New research available! +unlock.incampaign = < Unlock in campaign for details > +campaign.select = Select Starting Campaign +campaign.none = [lightgray]Select a planet to start on.\nThis can be switched at any time. +campaign.erekir = Newer, more polished content. Mostly linear campaign progression.\n\nHigher quality maps and overall experience. +campaign.serpulo = Older content; the classic experience. More open-ended.\n\nPotentially unbalanced maps and campaign mechanics. Less polished. +campaign.difficulty = Difficulty completed = [accent]Completed techtree = Tech Tree +techtree.select = Tech Tree Selection +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Load +research.discard = Discard research.list = [lightgray]Research: research = Research researched = [lightgray]{0} researched. @@ -186,16 +240,32 @@ hosts.none = [lightgray]internet oyunu bulunamadi! host.invalid = [scarlet]Oyuna baglanilamadi. servers.local = Local Servers +servers.local.steam = Open Games & Local Servers servers.remote = Remote Servers servers.global = Community Servers +servers.disclaimer = Community servers are [accent]not[] owned or controlled by the developer.\n\nServers may contain user-generated content that is not appropriate for all ages. +servers.showhidden = Show Hidden Servers +server.shown = Shown +server.hidden = Hidden +viewplayer = Viewing Player: [accent]{0} trace = Oyuncu isaretle trace.playername = Player name: [accent]{0} trace.ip = IP: [accent]{0} trace.id = Unik ID: [accent]{0} +trace.language = Language: [accent]{0} trace.mobile = Mobile Client: [accent]{0} trace.modclient = Ozel islemci Kullanicisi: [accent]{0} +trace.times.joined = Times Joined: [accent]{0} +trace.times.kicked = Times Kicked: [accent]{0} +trace.ips = IPs: +trace.names = Names: invalidid = Yanlis islemci Linki! Sorunu bildir +player.ban = Ban +player.kick = Kick +player.trace = Trace +player.admin = Toggle Admin +player.team = Change Team server.bans = Yasaklamalar server.bans.none = Yasaklananlar bulunamadi! server.admins = Yetkililer @@ -209,10 +279,11 @@ server.version = [lightgray]Versiyon: {0} server.custombuild = [accent]ozel yapi confirmban = Bu oyuncuyu kalici olarak atmak istedigine emin misin? confirmkick = Are you sure you want to kick this player? -confirmvotekick = Are you sure you want to vote-kick this player? confirmunban = Bu oyuncunun yasagini geri almak ister misin? confirmadmin = Bu oyuncuyu yetkili yapmak istedigine emin misin? confirmunadmin = Bu oyuncunun yetkisini almak istedigine emin misin? +votekick.reason = Vote-Kick Reason +votekick.reason.message = Are you sure you want to vote-kick "{0}[white]"?\nIf yes, please enter the reason: joingame.title = Oyuna katil joingame.ip = Link: disconnect = Cikildi @@ -220,15 +291,18 @@ disconnect.error = Connection error. disconnect.closed = Connection closed. disconnect.timeout = Timed out. disconnect.data = Oyunun geri yuklenemedi! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Unable to join game ([accent]{0}[]). connecting = [accent]Baglaniliyor +reconnecting = [accent]Reconnecting... connecting.data = [accent]Loading world data... server.port = Link: -server.addressinuse = Addres zaten kullaniliyor! server.invalidport = Geçersiz Oyun numarasi! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Oyun acarkes sorun olustu: [accent]{0} save.new = Yeni Kayit Dosyasi save.overwrite = Bu oyunun uzerinden\ngecmek istedigine emin\nmisin? +save.nocampaign = Individual save files from the campaign cannot be imported. overwrite = uzerinden gec save.none = Kayitli oyun bulunamadi savefail = Kaydedilemedi! @@ -249,6 +323,7 @@ save.corrupted = [accent]Kayit gecersiz!\nOyunu guncellediysen, bu buyuk ihtimal empty = on = Acik off = Kapali +save.search = Search saved games... save.autosave = Otomatik kayit: {0} save.map = Harita: {0} save.wave = Dalga {0} @@ -264,9 +339,33 @@ ok = Tamam open = Ac customize = Customize cancel = iptal +command = Command +command.queue = [lightgray][Queuing] +command.mine = Mine +command.repair = Repair +command.rebuild = Rebuild +command.assist = Assist Player +command.move = Move +command.boost = Boost +command.enterPayload = Enter Payload Block +command.loadUnits = Load Units +command.loadBlocks = Load Blocks +command.unloadPayload = Unload Payload +command.loopPayload = Loop Unit Transfer +stance.stop = Cancel Orders +stance.shoot = Stance: Shoot +stance.holdfire = Stance: Hold Fire +stance.pursuetarget = Stance: Pursue Target +stance.patrol = Stance: Patrol Path +stance.ram = Stance: Ram\n[lightgray]Straight line movement, no pathfinding openlink = Linki ac copylink = Linki kopyala back = Geri don +max = Max +objective = Map Objective +crash.export = Export Crash Logs +crash.none = No crash logs found. +crash.exported = Crash logs exported. data.export = Export Data data.import = Import Data data.openfolder = Open Data Folder @@ -274,15 +373,18 @@ 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. 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... -reloading = [accent]Reloading Mods... +downloading = [accent]Downloading... saving = [accent]Kaydediliyor... respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] to clear plan selectschematic = [accent][[{0}][] to select+copy pausebuilding = [accent][[{0}][] to pause building resumebuilding = [scarlet][[{0}][] to resume building +enablebuilding = [scarlet][[{0}][] to enable building +showui = UI hidden.\nPress [accent][[{0}][] to show UI. +commandmode.name = [accent]Command Mode +commandmode.nounits = [no units] wave = [accent]Dalga {0} wave.cap = [accent]Wave {0}/{1} wave.waiting = Dalganin baslamasina: {0} @@ -290,6 +392,8 @@ wave.waveInProgress = [lightgray]Wave in progress waiting = Bekleniyor... waiting.players = Waiting for players... wave.enemies = [lightgray]{0} Enemies Remaining +wave.enemycores = [accent]{0}[lightgray] Enemy Cores +wave.enemycore = [accent]{0}[lightgray] Enemy Core wave.enemy = [lightgray]{0} Enemy Remaining wave.guardianwarn = Guardian approaching in [accent]{0}[] waves. wave.guardianwarn.one = Guardian approaching in [accent]{0}[] wave. @@ -300,9 +404,9 @@ custom = Ozel builtin = Yapilandirilmis map.delete.confirm = Haritayi silmek istedigine emin misin? Bu geri alinamaz! map.random = [accent]Rasgele harita -map.nospawn = Haritada Oyncularin cikmasi icin cekirdek yok! Haritaya[royal]Mavi[] cekirdek ekle. -map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[scarlet] red[] cores to this map in the editor. -map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[scarlet] red[] cores to this map in the editor. +map.nospawn = Haritada Oyncularin cikmasi icin cekirdek yok! Haritaya {0} cekirdek ekle. +map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add [scarlet]non-orange[] cores to this map in the editor. +map.nospawn.attack = This map does not have any enemy cores for player to attack! Add {0} cores to this map in the editor. map.invalid = Harita yuklenemedi. Gecersiz yada bozuk dosya. workshop.update = Update Item workshop.error = Error fetching workshop details: {0} @@ -310,12 +414,17 @@ map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]M workshop.menu = Select what you would like to do with this item. workshop.info = Item Info changelog = Changelog (optional): +updatedesc = Overwrite Title & Description eula = Steam EULA missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. publishing = [accent]Publishing... publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! publish.error = Error publishing item: {0} steam.error = Failed to initialize Steam services.\nError: {0} +editor.planet = Planet: +editor.sector = Sector: +editor.seed = Seed: +editor.cliffs = Walls To Cliffs editor.brush = Firca editor.openin = Editorde ac @@ -328,35 +437,71 @@ editor.nodescription = A map must have a description of at least 4 characters be editor.waves = Waves: editor.rules = Rules: editor.generation = Generation: +editor.objectives = Objectives +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = Edit In-Game +editor.playtest = Playtest editor.publish.workshop = Publish On Workshop editor.newmap = New Map editor.center = Center +editor.search = Search maps... +editor.filters = Filter Maps +editor.filters.mode = Gamemodes: +editor.filters.type = Map Type: +editor.filters.search = Search In: +editor.filters.author = Author +editor.filters.description = Description +editor.shiftx = Shift X +editor.shifty = Shift Y workshop = Workshop waves.title = Waves waves.remove = Remove -waves.never = waves.every = every waves.waves = wave(s) +waves.health = health: {0}% waves.perspawn = per spawn waves.shields = shields/wave waves.to = to +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]no spawns found in map +waves.max = max units waves.guardian = Guardian waves.preview = Preview waves.edit = Edit... +waves.random = Random waves.copy = Copy to Clipboard waves.load = Load from Clipboard waves.invalid = Invalid waves in clipboard. waves.copied = Waves copied. waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +waves.sort = Sort By +waves.sort.reverse = Reverse Sort +waves.sort.begin = Begin +waves.sort.health = Health +waves.sort.type = Type +waves.search = Search waves... +waves.filter = Unit Filter +waves.units.hide = Hide All +waves.units.show = Show All wavemode.counts = counts wavemode.totals = totals wavemode.health = health +all = All editor.default = [lightgray] details = Details... edit = Edit... +variables = Vars +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = isim: editor.spawn = Spawn Unit editor.removeunit = Remove Unit @@ -368,13 +513,19 @@ editor.errorlegacy = This map is too old, and uses a legacy map format that is n editor.errornot = This is not a map file. editor.errorheader = This map file is either not valid or corrupt. editor.errorname = Map has no name defined. +editor.errorlocales = Error reading invalid locale bundles. editor.update = Update editor.randomize = Randomize +editor.moveup = Move Up +editor.movedown = Move Down +editor.copy = Copy editor.apply = Apply editor.generate = Yarat +editor.sectorgenerate = Sector Generate editor.resize = Boyutunu degistir editor.loadmap = Harita yukle editor.savemap = Haritayi kaydet +editor.savechanges = [scarlet]You have unsaved changes!\n\n[]Do you want to save them? editor.saved = Kaydedildi! editor.save.noname = Haritanin ismi yok! 'Harita bilgisinden' bi tane ekle editor.save.overwrite = Haritanin ismi varolan bir haritanin ismi ile ayni! 'Harita bilgisinden' degisik bir isim sec @@ -413,8 +564,12 @@ toolmode.eraseores = Erase Ores toolmode.eraseores.description = Erase only ores. toolmode.fillteams = Fill Teams toolmode.fillteams.description = Fill teams instead of blocks. +toolmode.fillerase = Fill Erase +toolmode.fillerase.description = Erase blocks of the same type. toolmode.drawteams = Draw Teams toolmode.drawteams.description = Draw teams instead of blocks. +toolmode.underliquid = Under Liquids +toolmode.underliquid.description = Draw floors under liquid tiles. filters.empty = [lightgray]No filters! Add one with the button below. filter.distort = Distort @@ -433,6 +588,7 @@ filter.clear = Clear filter.option.ignore = Ignore filter.scatter = Scatter filter.terrain = Terrain +filter.logic = Logic filter.option.scale = Scale filter.option.chance = Chance filter.option.mag = Magnitude @@ -441,17 +597,39 @@ filter.option.circle-scale = Circle Scale filter.option.octaves = Octaves filter.option.falloff = Falloff filter.option.angle = Angle +filter.option.tilt = Tilt +filter.option.rotate = Rotate filter.option.amount = Amount filter.option.block = Block filter.option.floor = Floor filter.option.flooronto = Target Floor filter.option.target = Target +filter.option.replacement = Replacement filter.option.wall = Wall filter.option.ore = Ore filter.option.floor2 = Secondary Floor filter.option.threshold2 = Secondary Threshold filter.option.radius = Radius filter.option.percentile = Percentile +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = Genislik: height = Yukseklik: @@ -462,6 +640,9 @@ load = Yukle save = Kaydet fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Lutfen dil degisiminin etkin olmasi icin oyunu yeniden baslatin settings = ayarlar tutorial = Tutorial @@ -476,26 +657,71 @@ complete = [lightgray]Complete: requirement.wave = Reach Wave {0} in {1} requirement.core = Destroy Enemy Core in {0} requirement.research = Research {0} +requirement.produce = Produce {0} requirement.capture = Capture {0} -bestwave = [lightgray]Best: {0} +requirement.onplanet = Control Sector On {0} +requirement.onsector = Land On Sector: {0} launch.text = Launch -research.multiplayer = Only the host can research items. +map.multiplayer = Only the host can view sectors. uncover = Uncover configure = Configure Loadout +objective.research.name = Research +objective.produce.name = Obtain +objective.item.name = Obtain Item +objective.coreitem.name = Core Item +objective.buildcount.name = Build Count +objective.unitcount.name = Unit Count +objective.destroyunits.name = Destroy Units +objective.timer.name = Timer +objective.destroyblock.name = Destroy Block +objective.destroyblocks.name = Destroy Blocks +objective.destroycore.name = Destroy Core +objective.commandmode.name = Command Mode +objective.flag.name = Flag +marker.shapetext.name = Shape Text +marker.point.name = Point +marker.shape.name = Shape +marker.text.name = Text +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture +marker.background = Background +marker.outline = Outline +objective.research = [accent]Research:\n[]{0}[lightgray]{1} +objective.produce = [accent]Obtain:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Destroy:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Destroy: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Obtain: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Build: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Build Unit: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Destroy: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Enemies approaching in [lightgray]{0}[] +objective.enemyescelating = [accent]Enemy production escalating in [lightgray]{0}[] +objective.enemyairunits = [accent]Enemy air unit production beginning in [lightgray]{0}[] +objective.destroycore = [accent]Destroy Enemy Core +objective.command = [accent]Command Units +objective.nuclearlaunch = [accent]âš  Nuclear launch detected: [lightgray]{0} +announce.nuclearstrike = [red]âš  NUCLEAR STRIKE INBOUND âš  loadout = Loadout -resources = Resources +resources = Resources +resources.max = Max bannedblocks = Banned Blocks +unbannedblocks = Unbanned Blocks +objectives = Objectives +bannedunits = Banned Units +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = Add All +launch.from = Launching From: [accent]{0} +launch.capacity = Launching Item Capacity: [accent]{0} launch.destination = Destination: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Amount must be a number between 0 and {0}. -zone.unlocked = [lightgray]{0} unlocked. -zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met. -zone.resources = Resources Detected: -zone.objective = [lightgray]Objective: [accent]{0} -zone.objective.survival = Survive -zone.objective.attack = Destroy Enemy Core add = Add... -boss.health = Boss Health +guardian = Guardian connectfail = [crimson]Su Oyuna baglanilamadi: [accent]{0} error.unreachable = Server unreachable. @@ -507,26 +733,69 @@ error.mapnotfound = Map file not found! error.io = Network I/O error. error.any = Unkown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. weather.rain.name = Rain -weather.snow.name = Snow +weather.snowing.name = Snow weather.sandstorm.name = Sandstorm weather.sporestorm.name = Sporestorm weather.fog.name = Fog +campaign.playtime = \uf129 [lightgray]Sector Playtime: {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = Sectors +sectorlist.attacked = {0} under attack sectors.unexplored = [lightgray]Unexplored sectors.resources = Resources: sectors.production = Production: +sectors.export = Export: +sectors.import = Import: +sectors.time = Time: +sectors.threat = Threat: +sectors.wave = Wave: sectors.stored = Stored: sectors.resume = Resume sectors.launch = Launch sectors.select = Select +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]none (sun) +sectors.redirect = Redirect Launch Pads sectors.rename = Rename Sector +sectors.enemybase = [scarlet]Enemy Base +sectors.vulnerable = [scarlet]Vulnerable +sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged +sectors.underattack.nodamage = [scarlet]Uncaptured +sectors.survives = [accent]Survives {0} waves +sectors.go = Go +sector.abandon = Abandon +sector.abandon.confirm = This sector's core(s) will self-destruct.\nContinue? +sector.curcapture = Sector Captured +sector.curlost = Sector Lost sector.missingresources = [scarlet]Insufficient Core Resources +sector.attacked = Sector [accent]{0}[white] under attack! +sector.lost = Sector [accent]{0}[white] lost! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Change Icon +sector.noswitch.title = Unable to Switch Sectors +sector.noswitch = You may not switch sectors while an existing sector is under attack.\n\nSector: [accent]{0}[] on [accent]{1}[] +sector.view = View Sector +threat.low = Low +threat.medium = Medium +threat.high = High +threat.extreme = Extreme +threat.eradication = Eradication +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication +planets = Planets planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Sun +sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -539,6 +808,22 @@ sector.overgrowth.name = Overgrowth sector.tarFields.name = Tar Fields sector.saltFlats.name = Salt Flats sector.fungalPass.name = Fungal Pass +sector.biomassFacility.name = Biomass Synthesis Facility +sector.windsweptIslands.name = Windswept Islands +sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons +sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. sector.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. @@ -551,6 +836,75 @@ sector.tarFields.description = The outskirts of an oil production zone, between sector.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. sector.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. sector.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. +sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism. +sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories. +sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads. +sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology. +sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure. +sector.coastline.description = Remnants of naval unit technology have been detected at this location. Repel the enemy attacks, capture this sector, and acquire the technology. +sector.navalFortress.description = The enemy has established a base on a remote, naturally-fortified island. Destroy this outpost. Acquire their advanced naval craft technology, and research it. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin +sector.onset.description = Commence the conquest of Erekir. Gather resources, produce units, and begin researching technology. + +sector.aegis.description = This sector contains deposits of tungsten.\nResearch the [accent]Impact Drill[] to mine this resource, and destroy the enemy base in the area. +sector.lake.description = This sector's slag lake greatly limits viable units. A hover unit is the only option.\nResearch the [accent]ship fabricator[] and produce an [accent]elude[] unit as soon as possible. +sector.intersect.description = Scans suggest that this sector will be attacked from multiple sides soon after landing.\nSet up defenses quickly and expand as soon as possible.\n[accent]Mech[] units will be required for the area's rough terrain. +sector.atlas.description = This sector contains varied terrain and will require a variety of units to attack effectively.\nUpgraded units may also be necessary to get past some of the tougher enemy bases detected here.\nResearch the [accent]Electrolyzer[] and the [accent]Tank Refabricator[]. +sector.split.description = The minimal enemy presence in this sector makes it perfect for testing new transport tech. +sector.basin.description = Large enemy presence detected in this sector.\nBuild units quickly and capture enemy cores to gain a foothold. +sector.marsh.description = This sector has an abundance of arkycite, but has limited vents.\nBuild [accent]Chemical Combustion Chambers[] to generate power. +sector.peaks.description = The mountainous terrain in this sector make most units useless. Flying units will be required.\nBe aware of enemy anti-air installations. It may be possible to disable some of these installations by targeting their supporting buildings. +sector.ravine.description = No enemy cores detected in the sector, although it's an important transportation route for the enemy. Expect variety of enemy forces.\nProduce [accent]surge alloy[]. Construct [accent]Afflict[] turrets. +sector.caldera-erekir.description = The resources detected in this sector are scattered across several islands.\nResearch and deploy drone-based transportation. +sector.stronghold.description = The large enemy encampment in this sector guards significant deposits of [accent]thorium[].\nUse it to develop higher tier units and turrets. +sector.crevice.description = The enemy will send fierce attack forces to take out your base in this sector.\nDeveloping [accent]carbide[] and the [accent]Pyrolysis Generator[] may be imperative for survival. +sector.siege.description = This sector features two parallel canyons that will force a two-pronged attack.\nResearch [accent]cyanogen[] to gain the capability to create even stronger tank units.\nCaution: enemy long-range missiles have been detected. The missiles may be shot down before impact. +sector.crossroads.description = The enemy bases in this sector have been established in varying terrain. Research different units to adapt.\nAdditionally, some bases are protected by shields. Figure out how they are powered. +sector.karst.description = This sector is rich in resources, but will be attacked by the enemy once a new core lands.\nTake advantage of the resources and research [accent]phase fabric[]. +sector.origin.description = The final sector with a significant enemy presence.\nNo probable research opportunities remain - focus solely on destroying all enemy cores. +status.burning.name = Burning +status.freezing.name = Freezing +status.wet.name = Wet +status.muddy.name = Muddy +status.melting.name = Melting +status.sapped.name = Sapped +status.electrified.name = Electrified +status.spore-slowed.name = Spore Slowed +status.tarred.name = Tarred +status.overdrive.name = Overdrive +status.overclock.name = Overclock +status.shocked.name = Shocked +status.blasted.name = Blasted +status.unmoving.name = Unmoving +status.boss.name = Guardian settings.language = Dil settings.data = Game Data @@ -573,7 +927,7 @@ settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your paused = Duraklatildi clear = Clear banned = [scarlet]Banned -unplaceable.sectorcaptured = [scarlet]Requires captured sector +unsupported.environment = [scarlet]Unsupported Environment yes = Evet no = Hayir info.title = [accent]Bilgi @@ -581,13 +935,18 @@ error.title = [crimson]Bir hata olustu error.crashtitle = Bir hata olustu unit.nobuild = [scarlet]Unit can't build lastaccessed = [lightgray]Last Accessed: {0} +lastcommanded = [lightgray]Last Commanded: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Purpose stat.input = Input stat.output = Output +stat.maxefficiency = Max Efficiency stat.booster = Booster stat.tiles = Required Tiles stat.affinities = Affinities +stat.opposites = Opposites stat.powercapacity = Guc kapasitesi stat.powershot = Guc/Saldiri hizi stat.damage = Damage @@ -610,6 +969,11 @@ stat.memorycapacity = Memory Capacity stat.basepowergeneration = Base Power Generation stat.productiontime = Production Time stat.repairtime = Block Full Repair Time +stat.repairspeed = Repair Speed +stat.weapons = Weapons +stat.bullet = Bullet +stat.moduletier = Module Tier +stat.unittype = Unit Type stat.speedincrease = Speed Increase stat.range = Range stat.drilltier = Kazilabilirler @@ -617,6 +981,7 @@ stat.drillspeed = Ana kazma hizi stat.boosteffect = Boost Effect stat.maxunits = Max Active Units stat.health = Can +stat.armor = Armor stat.buildtime = Build Time stat.maxconsecutive = Max Consecutive stat.buildcost = Build Cost @@ -632,6 +997,7 @@ stat.lightningchance = Lightning Chance stat.lightningdamage = Lightning Damage stat.flammability = Flammability stat.radioactivity = Radioactivity +stat.charge = Charge stat.heatcapacity = HeatCapacity stat.viscosity = Viscosity stat.temperature = Temperature @@ -640,21 +1006,77 @@ stat.buildspeed = Build Speed stat.minespeed = Mine Speed stat.minetier = Mine Tier stat.payloadcapacity = Payload Capacity -stat.commandlimit = Command Limit stat.abilities = Abilities +stat.canboost = Can Boost +stat.flying = Flying +stat.ammouse = Ammo Use +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Damage Multiplier +stat.healthmultiplier = Health Multiplier +stat.speedmultiplier = Speed Multiplier +stat.reloadmultiplier = Reload Multiplier +stat.buildspeedmultiplier = Build Speed Multiplier +stat.reactive = Reacts +stat.immunities = Immunities +stat.healing = Healing +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Force Field +ability.forcefield.description = Projects a force shield that absorbs bullets ability.repairfield = Repair Field +ability.repairfield.description = Repairs nearby units ability.statusfield = Status Field -ability.unitspawn = {0} Factory +ability.statusfield.description = Applies a status effect to nearby units +ability.unitspawn = Factory +ability.unitspawn.description = Constructs units ability.shieldregenfield = Shield Regen Field +ability.shieldregenfield.description = Regenerates shields of nearby units +ability.movelightning = Movement Lightning +ability.movelightning.description = Releases lightning while moving +ability.armorplate = Armor Plate +ability.armorplate.description = Reduces damage taken while shooting +ability.shieldarc = Shield Arc +ability.shieldarc.description = Projects a force shield in an arc that absorbs bullets +ability.suppressionfield = Regen Suppression Field +ability.suppressionfield.description = Stops nearby repair buildings +ability.energyfield = Energy Field +ability.energyfield.description = Zaps nearby enemies +ability.energyfield.healdescription = Zaps nearby enemies and heals allies +ability.regen = Regeneration +ability.regen.description = Regenerates own health over time +ability.liquidregen = Liquid Absorption +ability.liquidregen.description = Absorbs liquid to heal itself +ability.spawndeath = Death Spawns +ability.spawndeath.description = Releases units on death +ability.liquidexplode = Death Spillage +ability.liquidexplode.description = Spills liquid on death +ability.stat.firingrate = [stat]{0}/sec[lightgray] firing rate +ability.stat.regen = [stat]{0}[lightgray] health/sec +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] shield +ability.stat.repairspeed = [stat]{0}/sec[lightgray] repair speed +ability.stat.slurpheal = [stat]{0}[lightgray] health/liquid unit +ability.stat.cooldown = [stat]{0} sec[lightgray] cooldown +ability.stat.maxtargets = [stat]{0}[lightgray] max targets +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] same type repair amount +ability.stat.damagereduction = [stat]{0}%[lightgray] damage reduction +ability.stat.minspeed = [stat]{0} tiles/sec[lightgray] min speed +ability.stat.duration = [stat]{0} sec[lightgray] duration +ability.stat.buildtime = [stat]{0} sec[lightgray] build time + +bar.onlycoredeposit = Only Core Depositing Allowed bar.drilltierreq = Better Drill Required +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Missing Resources bar.corereq = Core Base Required +bar.corefloor = Core Zone Tile Required +bar.cargounitcap = Cargo Unit Cap Reached bar.drillspeed = Drill Speed: {0}/s bar.pumpspeed = Pump Speed: {0}/s bar.efficiency = Efficiency: {0}% +bar.boost = Boost: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Power: {0} bar.powerstored = Stored: {0}/{1} bar.poweramount = Power: {0} @@ -663,13 +1085,19 @@ bar.powerlines = Connections: {0}/{1} bar.items = Items: {0} bar.capacity = Capacity: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[unit disabled] bar.liquid = Liquid bar.heat = Heat +bar.cooldown = Cooldown +bar.instability = Instability +bar.heatamount = Heat: {0} +bar.heatpercent = Heat: {0} ({1}%) bar.power = Power bar.progress = Build Progress +bar.loadprogress = Progress +bar.launchcooldown = Launch Cooldown bar.input = Input bar.output = Output +bar.strength = [stat]{0}[lightgray]x strength units.processorcontrol = [lightgray]Processor Controlled @@ -677,35 +1105,50 @@ bullet.damage = [stat]{0}[lightgray] dmg bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles bullet.incendiary = [stat]incendiary bullet.homing = [stat]homing -bullet.shock = [stat]shock -bullet.frag = [stat]frag +bullet.armorpierce = [stat]armor piercing +bullet.maxdamagefraction = [stat]{0}%[lightgray] damage limit +bullet.suppression = [stat]{0} sec[lightgray] repair suppression ~ [stat]{1}[lightgray] tiles +bullet.interval = [stat]{0}/sec[lightgray] interval bullets: +bullet.frags = [stat]{0}[lightgray]x frag bullets: +bullet.lightning = [stat]{0}[lightgray]x lightning ~ [stat]{1}[lightgray] damage +bullet.buildingdamage = [stat]{0}%[lightgray] building damage +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] knockback bullet.pierce = [stat]{0}[lightgray]x pierce bullet.infinitepierce = [stat]pierce -bullet.freezing = [stat]freezing -bullet.tarred = [stat]tarred +bullet.healpercent = [stat]{0}[lightgray]% healing +bullet.healamount = [stat]{0}[lightgray] direct repair bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier bullet.reload = [stat]{0}[lightgray]x reload +bullet.range = [stat]{0}[lightgray] tiles range +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles unit.blocks = Yapilar unit.blockssquared = blocks² unit.powersecond = saniyede bir +unit.tilessecond = tiles/second unit.liquidsecond = Saniyede bir unit.itemssecond = Saniyede bir unit.liquidunits = Litre unit.powerunits = Volt +unit.heatunits = heat units unit.degrees = derece unit.seconds = saniye unit.minutes = mins unit.persecond = /sec unit.perminute = /min unit.timesspeed = x speed +unit.multiplier = x unit.percent = % unit.shieldhealth = shield health unit.items = esya unit.thousands = k unit.millions = mil unit.billions = b +unit.shots = shots +unit.pershot = /shot +category.purpose = Purpose category.general = General category.power = Guc category.liquids = sivilar @@ -713,16 +1156,23 @@ category.items = esyalar category.crafting = uretim category.function = Function category.optional = Optional Enhancements +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Skip Core Launch/Land Animation setting.landscape.name = Lock Landscape setting.shadows.name = Shadows setting.blockreplace.name = Automatic Block Suggestions setting.linear.name = Linear Filtering setting.hints.name = Hints -setting.flow.name = Display Resource Flow Rate[scarlet] (experimental) +setting.logichints.name = Logic Hints +setting.backgroundpause.name = Pause In Background setting.buildautopause.name = Auto-Pause Building +setting.doubletapmine.name = Double-Tap to Mine +setting.commandmodehold.name = Hold For Command Mode +setting.distinctcontrolgroups.name = Limit One Control Group Per Unit +setting.modcrashdisable.name = Disable Mods On Startup Crash setting.animatedwater.name = Animated Water setting.animatedshields.name = Animated Shields -setting.antialias.name = Antialias[lightgray] (requires restart)[] setting.playerindicators.name = Player Indicators setting.indicators.name = Ally Indicators setting.autotarget.name = Auto-Target @@ -732,14 +1182,11 @@ setting.fpscap.name = Max FPS setting.fpscap.none = Yok setting.fpscap.text = {0} FPS setting.uiscale.name = UI Scaling[lightgray] (requires restart)[] +setting.uiscale.description = Restart required to apply changes. setting.swapdiagonal.name = Always Diagonal Placement -setting.difficulty.training = training -setting.difficulty.easy = kolay -setting.difficulty.normal = orta -setting.difficulty.hard = zor -setting.difficulty.insane = cok zor -setting.difficulty.name = Zorluk derecesi: setting.screenshake.name = Ekran sallanmasi +setting.bloomintensity.name = Bloom Intensity +setting.bloomblur.name = Bloom Blur setting.effects.name = Efekleri goster setting.destroyedblocks.name = Display Destroyed Blocks setting.blockstatus.name = Display Block Status @@ -747,32 +1194,43 @@ setting.conveyorpathfinding.name = Conveyor Placement Pathfinding setting.sensitivity.name = Kumanda hassasligi setting.saveinterval.name = Otomatik kaydetme suresi setting.seconds = {0} Saniye -setting.blockselecttimeout.name = Block Select Timeout setting.milliseconds = {0} milliseconds setting.fullscreen.name = Tam ekran setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart) +setting.borderlesswindow.name.windows = Borderless Fullscreen +setting.borderlesswindow.description = Restart may be required to apply changes. setting.fps.name = FPS'i goster +setting.console.name = Enable Console setting.smoothcamera.name = Smooth Camera setting.vsync.name = VSync setting.pixelate.name = Pixelate [lightgray](may decrease performance) setting.minimap.name = Haritayi goster -setting.coreitems.name = Display Core Items (WIP) +setting.coreitems.name = Display Core Items setting.position.name = Show Player Position +setting.mouseposition.name = Show Mouse Position setting.musicvol.name = Ses yuksekligi setting.atmosphere.name = Show Planet Atmosphere +setting.drawlight.name = Draw Darkness/Lighting setting.ambientvol.name = Ambient Volume setting.mutemusic.name = Sesi kapat setting.sfxvol.name = Ses seviyesi setting.mutesound.name = Sesi kapat setting.crashreport.name = Send Anonymous Crash Reports +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Auto-Create Saves -setting.publichost.name = Public Game Visibility +setting.steampublichost.name = Public Game Visibility setting.playerlimit.name = Player Limit setting.chatopacity.name = Chat Opacity setting.lasersopacity.name = Power Laser Opacity +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Bridge Opacity setting.playerchat.name = Display In-Game Chat -public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. +setting.showweather.name = Show Weather Graphics +setting.hidedisplays.name = Hide Logic Displays +setting.macnotch.name = Kesgitlemek üçin interfeýsi uýgunlaÅŸdyryň +setting.macnotch.description = ÜýtgeÅŸmeleri ulanmak üçin täzeden baÅŸlaň +steam.friendsonly = Friends Only +steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join. public.beta = Note that beta versions of the game cannot make public lobbies. uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings... uiscale.cancel = Cancel & Exit @@ -781,12 +1239,9 @@ keybind.title = Tuslari ayarla keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. category.general.name = General category.view.name = Goster +category.command.name = Unit Command category.multiplayer.name = Cok oyunculu category.blocks.name = Block Select -command.attack = Attack -command.rally = Rally -command.retreat = Retreat -command.idle = Idle placement.blockselectkeys = \n[lightgray]Key: [{0}, keybind.respawn.name = Respawn keybind.control.name = Control Unit @@ -801,6 +1256,27 @@ keybind.move_y.name = Yukari/asagi hareket keybind.mouse_move.name = Follow Mouse keybind.pan.name = Pan View keybind.boost.name = Boost +keybind.command_mode.name = Command Mode +keybind.command_queue.name = Unit Command Queue +keybind.create_control_group.name = Create Control Group +keybind.cancel_orders.name = Cancel Orders +keybind.unit_stance_shoot.name = Unit Stance: Shoot +keybind.unit_stance_hold_fire.name = Unit Stance: Hold Fire +keybind.unit_stance_pursue_target.name = Unit Stance: Pursue Target +keybind.unit_stance_patrol.name = Unit Stance: Patrol +keybind.unit_stance_ram.name = Unit Stance: Ram +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Rebuild Region keybind.schematic_select.name = Select Region keybind.schematic_menu.name = Schematic Menu keybind.schematic_flip_x.name = Flip Schematic X @@ -826,16 +1302,20 @@ keybind.select.name = Sec/silahi sik keybind.diagonal_placement.name = Diagonal Placement keybind.pick.name = Pick Block keybind.break_block.name = Break Block +keybind.select_all_units.name = Select All Units +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Eldeki yapiyi birak keybind.pickupCargo.name = Pickup Cargo keybind.dropCargo.name = Drop Cargo -keybind.command.name = Command keybind.shoot.name = Sik keybind.zoom.name = Yaklas keybind.menu.name = Menu keybind.pause.name = Durdur keybind.pause_building.name = Pause/Resume Building keybind.minimap.name = Minimap +keybind.planet_map.name = Planet Map +keybind.research.name = Research +keybind.block_info.name = Block Info keybind.chat.name = konus keybind.player_list.name = Oyuncu listesi keybind.console.name = Konsol @@ -845,6 +1325,7 @@ keybind.toggle_menus.name = Menuleri ac'kapat keybind.chat_history_prev.name = Konusma gecmisi geri keybind.chat_history_next.name = Konusma gecmisi ileri keybind.chat_scroll.name = Konusma kaydir +keybind.chat_mode.name = Change Chat Mode keybind.drop_unit.name = Unit birak keybind.zoom_minimap.name = Haritayi yaklastir mode.help.title = Modlarin aciklamalari @@ -858,47 +1339,100 @@ mode.pvp.description = fight against other players locally. mode.attack.name = Attack mode.attack.description = No waves, with the goal to destroy the enemy base. mode.custom = Custom Rules +rules.invaliddata = Invalid clipboard data. +rules.hidebannedblocks = Hide Banned Blocks rules.infiniteresources = Infinite Resources +rules.onlydepositcore = Only Allow Core Depositing +rules.derelictrepair = Allow Derelict Block Repair rules.reactorexplosions = Reactor Explosions +rules.coreincinerates = Core Incinerates Overflow +rules.disableworldprocessors = Disable World Processors rules.schematic = Schematics Allowed rules.wavetimer = Wave Timer +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Waves +rules.airUseSpawns = Air units use spawn points rules.attack = Attack Mode -rules.buildai = AI Building +rules.buildai = Base Builder AI +rules.buildaitier = Builder AI Tier +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Min Squad Size +rules.rtsmaxsquadsize = Max Squad Size +rules.rtsminattackweight = Min Attack Weight +rules.cleanupdeadteams = Clean Up Defeated Team Buildings (PvP) +rules.corecapture = Capture Core On Destruction +rules.polygoncoreprotection = Polygonal Core Protection +rules.placerangecheck = Placement Range Check rules.enemyCheat = Infinite AI Resources rules.blockhealthmultiplier = Block Health Multiplier rules.blockdamagemultiplier = Block Damage Multiplier rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier +rules.unitcostmultiplier = Unit Cost Multiplier rules.unithealthmultiplier = Unit Health Multiplier rules.unitdamagemultiplier = Unit Damage Multiplier +rules.unitcrashdamagemultiplier = Unit Crash Damage Multiplier +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Solar Power Multiplier +rules.unitcapvariable = Cores Contribute To Unit Cap +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Base Unit Cap +rules.limitarea = Limit Map Area rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.initialwavespacing = Initial Wave Spacing:[lightgray] (sec) rules.buildcostmultiplier = Build Cost Multiplier rules.buildspeedmultiplier = Build Speed Multiplier rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier rules.waitForWaveToEnd = Waves wait for enemies +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) rules.unitammo = Units Require Ammo +rules.enemyteam = Enemy Team +rules.playerteam = Player Team rules.title.waves = Waves rules.title.resourcesbuilding = Resources & Building rules.title.enemy = Enemies rules.title.unit = Units rules.title.experimental = Experimental rules.title.environment = Environment +rules.title.teams = Teams +rules.title.planet = Planet rules.lighting = Lighting -rules.enemyLights = Enemy Lights +rules.fog = Fog of War +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Fire +rules.anyenv = rules.explosions = Block/Unit Explosion Damage rules.ambientlight = Ambient Light rules.weather = Weather rules.weather.frequency = Frequency: +rules.weather.always = Always rules.weather.duration = Duration: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = Esyalar content.liquid.name = Sivilar content.unit.name = Units content.block.name = Blocks +content.status.name = Status Effects +content.sector.name = Sectors +content.team.name = Factions +wallore = (Wall) item.copper.name = Bakir item.lead.name = Kursun @@ -916,10 +1450,23 @@ item.blast-compound.name = patlama birlesimi item.pyratite.name = Pyratite item.metaglass.name = Metaglass item.scrap.name = Scrap +item.fissile-matter.name = Fissile Matter +item.beryllium.name = Beryllium +item.tungsten.name = Tungsten +item.oxide.name = Oxide +item.carbide.name = Carbide +item.dormant-cyst.name = Dormant Cyst liquid.water.name = Su liquid.slag.name = Slag liquid.oil.name = Benzin liquid.cryofluid.name = kriyo sivisi +liquid.neoplasm.name = Neoplasm +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gallium +liquid.ozone.name = Ozone +liquid.hydrogen.name = Hydrogen +liquid.nitrogen.name = Nitrogen +liquid.cyanogen.name = Cyanogen unit.dagger.name = Dagger unit.mace.name = Mace @@ -947,6 +1494,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -954,13 +1506,35 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus - -block.resupply-point.name = Resupply Point +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale block.parallax.name = Parallax block.cliff.name = Cliff block.sand-boulder.name = Sand Boulder +block.basalt-boulder.name = Basalt Boulder block.grass.name = Grass -block.slag.name = Slag +block.molten-slag.name = Slag +block.pooled-cryofluid.name = Cryofluid block.space.name = Space block.salt.name = Salt block.salt-wall.name = Salt Wall @@ -988,24 +1562,28 @@ block.graphite-press.name = Graphite Press block.multi-press.name = Multi-Press block.constructing = {0}\n[lightgray](Constructing) block.spawn.name = Enemy Spawn +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Core: Shard block.core-foundation.name = Core: Foundation block.core-nucleus.name = Core: Nucleus -block.deepwater.name = su alti -block.water.name = su +block.deep-water.name = su alti +block.shallow-water.name = su block.tainted-water.name = Tainted Water +block.deep-tainted-water.name = Deep Tainted Water block.darksand-tainted-water.name = Dark Sand Tainted Water block.tar.name = Tar block.stone.name = tas -block.sand.name = kum +block.sand-floor.name = kum block.darksand.name = Dark Sand block.ice.name = buz block.snow.name = kar -block.craters.name = Craters +block.crater-stone.name = Craters block.sand-water.name = Sand water block.darksand-water.name = Dark Sand Water block.char.name = Char block.dacite.name = Dacite +block.rhyolite.name = Rhyolite block.dacite-wall.name = Dacite Wall block.dacite-boulder.name = Dacite Boulder block.ice-snow.name = Ice Snow @@ -1023,6 +1601,7 @@ block.spore-cluster.name = Spore Cluster block.metal-floor.name = Metal Floor block.metal-floor-2.name = Metal Floor 2 block.metal-floor-3.name = Metal Floor 3 +block.metal-floor-4.name = Metal Floor 4 block.metal-floor-5.name = Metal Floor 5 block.metal-floor-damaged.name = Metal Floor Damaged block.dark-panel-1.name = Dark Panel 1 @@ -1056,15 +1635,16 @@ block.conveyor.name = konvenyor block.titanium-conveyor.name = Titanyum konvenyor block.plastanium-conveyor.name = Plastanium Conveyor block.armored-conveyor.name = Armored Conveyor -block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. block.junction.name = ayirici block.router.name = dagitici block.distributor.name = yayici block.sorter.name = secici block.inverted-sorter.name = Inverted Sorter block.message.name = Message +block.reinforced-message.name = Reinforced Message +block.world-message.name = World Message +block.world-switch.name = World Switch block.illuminator.name = Illuminator -block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.overflow-gate.name = Kapali dagatici block.underflow-gate.name = Underflow Gate block.silicon-smelter.name = Silikon eritici @@ -1115,20 +1695,22 @@ block.solar-panel.name = gunes paneli block.solar-panel-large.name = genis gunes paneli block.oil-extractor.name = benzin ayirici block.repair-point.name = tamirci +block.repair-turret.name = Repair Turret block.pulse-conduit.name = Pulse borusu block.plated-conduit.name = Plated Conduit block.phase-conduit.name = Phase borusu block.liquid-router.name = sivi ayirici block.liquid-tank.name = sivi tanki +block.liquid-container.name = Liquid Container block.liquid-junction.name = sivi yonlendirici block.bridge-conduit.name = kopru borusu block.rotary-pump.name = donen boru block.thorium-reactor.name = Thorium Reaktoru block.mass-driver.name = kütle surucusu block.blast-drill.name = Patlatici kazici -block.thermal-pump.name = Termal pompa +block.impulse-pump.name = Termal pompa block.thermal-generator.name = Magma jeneratoru -block.alloy-smelter.name = Alloy eritici +block.surge-smelter.name = Alloy eritici block.mender.name = Mender block.mend-projector.name = Mend koruyucu block.surge-wall.name = kabarma duvari @@ -1145,9 +1727,9 @@ block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Container block.launch-pad.name = Launch Pad -block.launch-pad-large.name = Large Launch Pad +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Command Center block.ground-factory.name = Ground Factory block.air-factory.name = Air Factory block.naval-factory.name = Naval Factory @@ -1157,9 +1739,179 @@ block.exponential-reconstructor.name = Exponential Reconstructor block.tetrative-reconstructor.name = Tetrative Reconstructor block.payload-conveyor.name = Mass Conveyor block.payload-router.name = Payload Router +block.duct.name = Duct +block.duct-router.name = Duct Router +block.duct-bridge.name = Duct Bridge +block.large-payload-mass-driver.name = Large Payload Mass Driver +block.payload-void.name = Payload Void +block.payload-source.name = Payload Source block.disassembler.name = Disassembler block.silicon-crucible.name = Silicon Crucible block.overdrive-dome.name = Overdrive Dome +block.interplanetary-accelerator.name = Interplanetary Accelerator +block.constructor.name = Constructor +block.constructor.description = Fabricates structures up to 2x2 tiles in size. +block.large-constructor.name = Large Constructor +block.large-constructor.description = Fabricates structures up to 4x4 tiles in size. +block.deconstructor.name = Deconstructor +block.deconstructor.description = Deconstructs structures and units. Returns 100% of build cost. +block.payload-loader.name = Payload Loader +block.payload-loader.description = Load liquids and items into blocks. +block.payload-unloader.name = Payload Unloader +block.payload-unloader.description = Unloads liquids and items from blocks. +block.heat-source.name = Heat Source +block.heat-source.description = A 1x1 block that gives virtualy infinite heat. +block.empty.name = Empty +block.rhyolite-crater.name = Rhyolite Crater +block.rough-rhyolite.name = Rough Rhyolite +block.regolith.name = Regolith +block.yellow-stone.name = Yellow Stone +block.carbon-stone.name = Carbon Stone +block.ferric-stone.name = Ferric Stone +block.ferric-craters.name = Ferric Craters +block.beryllic-stone.name = Beryllic Stone +block.crystalline-stone.name = Crystalline Stone +block.crystal-floor.name = Crystal Floor +block.yellow-stone-plates.name = Yellow Stone Plates +block.red-stone.name = Red Stone +block.dense-red-stone.name = Dense Red Stone +block.red-ice.name = Red Ice +block.arkycite-floor.name = Arkycite Floor +block.arkyic-stone.name = Arkyic Stone +block.rhyolite-vent.name = Rhyolite Vent +block.carbon-vent.name = Carbon Vent +block.arkyic-vent.name = Arkyic Vent +block.yellow-stone-vent.name = Yellow Stone Vent +block.red-stone-vent.name = Red Stone Vent +block.crystalline-vent.name = Crystalline Vent +block.redmat.name = Redmat +block.bluemat.name = Bluemat +block.core-zone.name = Core Zone +block.regolith-wall.name = Regolith Wall +block.yellow-stone-wall.name = Yellow Stone Wall +block.rhyolite-wall.name = Rhyolite Wall +block.carbon-wall.name = Carbon Wall +block.ferric-stone-wall.name = Ferric Stone Wall +block.beryllic-stone-wall.name = Beryllic Stone Wall +block.arkyic-wall.name = Arkyic Wall +block.crystalline-stone-wall.name = Crystalline Stone Wall +block.red-ice-wall.name = Red Ice Wall +block.red-stone-wall.name = Red Stone Wall +block.red-diamond-wall.name = Red Diamond Wall +block.redweed.name = Redweed +block.pur-bush.name = Pur Bush +block.yellowcoral.name = Yellowcoral +block.carbon-boulder.name = Carbon Boulder +block.ferric-boulder.name = Ferric Boulder +block.beryllic-boulder.name = Beryllic Boulder +block.yellow-stone-boulder.name = Yellow Stone Boulder +block.arkyic-boulder.name = Arkyic Boulder +block.crystal-cluster.name = Crystal Cluster +block.vibrant-crystal-cluster.name = Vibrant Crystal Cluster +block.crystal-blocks.name = Crystal Blocks +block.crystal-orbs.name = Crystal Orbs +block.crystalline-boulder.name = Crystalline Boulder +block.red-ice-boulder.name = Red Ice Boulder +block.rhyolite-boulder.name = Rhyolite Boulder +block.red-stone-boulder.name = Red Stone Boulder +block.graphitic-wall.name = Graphitic Wall +block.silicon-arc-furnace.name = Silicon Arc Furnace +block.electrolyzer.name = Electrolyzer +block.atmospheric-concentrator.name = Atmospheric Concentrator +block.oxidation-chamber.name = Oxidation Chamber +block.electric-heater.name = Electric Heater +block.slag-heater.name = Slag Heater +block.phase-heater.name = Phase Heater +block.heat-redirector.name = Heat Redirector +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Heat Router +block.slag-incinerator.name = Slag Incinerator +block.carbide-crucible.name = Carbide Crucible +block.slag-centrifuge.name = Slag Centrifuge +block.surge-crucible.name = Surge Crucible +block.cyanogen-synthesizer.name = Cyanogen Synthesizer +block.phase-synthesizer.name = Phase Synthesizer +block.heat-reactor.name = Heat Reactor +block.beryllium-wall.name = Beryllium Wall +block.beryllium-wall-large.name = Large Beryllium Wall +block.tungsten-wall.name = Tungsten Wall +block.tungsten-wall-large.name = Large Tungsten Wall +block.blast-door.name = Blast Door +block.carbide-wall.name = Carbide Wall +block.carbide-wall-large.name = Large Carbide Wall +block.reinforced-surge-wall.name = Reinforced Surge Wall +block.reinforced-surge-wall-large.name = Large Reinforced Surge Wall +block.shielded-wall.name = Shielded Wall +block.radar.name = Radar +block.build-tower.name = Build Tower +block.regen-projector.name = Regen Projector +block.shockwave-tower.name = Shockwave Tower +block.shield-projector.name = Shield Projector +block.large-shield-projector.name = Large Shield Projector +block.armored-duct.name = Armored Duct +block.overflow-duct.name = Overflow Duct +block.underflow-duct.name = Underflow Duct +block.duct-unloader.name = Duct Unloader +block.surge-conveyor.name = Surge Conveyor +block.surge-router.name = Surge Router +block.unit-cargo-loader.name = Unit Cargo Loader +block.unit-cargo-unload-point.name = Unit Cargo Unload Point +block.reinforced-pump.name = Reinforced Pump +block.reinforced-conduit.name = Reinforced Conduit +block.reinforced-liquid-junction.name = Reinforced Liquid Junction +block.reinforced-bridge-conduit.name = Reinforced Bridge Conduit +block.reinforced-liquid-router.name = Reinforced Liquid Router +block.reinforced-liquid-container.name = Reinforced Liquid Container +block.reinforced-liquid-tank.name = Reinforced Liquid Tank +block.beam-node.name = Beam Node +block.beam-tower.name = Beam Tower +block.beam-link.name = Beam Link +block.turbine-condenser.name = Turbine Condenser +block.chemical-combustion-chamber.name = Chemical Combustion Chamber +block.pyrolysis-generator.name = Pyrolysis Generator +block.vent-condenser.name = Vent Condenser +block.cliff-crusher.name = Cliff Crusher +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plasma Bore +block.large-plasma-bore.name = Large Plasma Bore +block.impact-drill.name = Impact Drill +block.eruption-drill.name = Eruption Drill +block.core-bastion.name = Core Bastion +block.core-citadel.name = Core Citadel +block.core-acropolis.name = Core Acropolis +block.reinforced-container.name = Reinforced Container +block.reinforced-vault.name = Reinforced Vault +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Refabricator +block.mech-refabricator.name = Mech Refabricator +block.ship-refabricator.name = Ship Refabricator +block.tank-assembler.name = Tank Assembler +block.ship-assembler.name = Ship Assembler +block.mech-assembler.name = Mech Assembler +block.reinforced-payload-conveyor.name = Reinforced Payload Conveyor +block.reinforced-payload-router.name = Reinforced Payload Router +block.payload-mass-driver.name = Payload Mass Driver +block.small-deconstructor.name = Small Deconstructor +block.canvas.name = Canvas +block.world-processor.name = World Processor +block.world-cell.name = World Cell +block.tank-fabricator.name = Tank Fabricator +block.mech-fabricator.name = Mech Fabricator +block.ship-fabricator.name = Ship Fabricator +block.prime-refabricator.name = Prime Refabricator +block.unit-repair-tower.name = Unit Repair Tower +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basic Assembler Module +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Flux Reactor +block.neoplasia-reactor.name = Neoplasia Reactor block.switch.name = Switch block.micro-processor.name = Micro Processor @@ -1169,66 +1921,153 @@ block.logic-display.name = Logic Display block.large-logic-display.name = Large Logic Display block.memory-cell.name = Memory Cell block.memory-bank.name = Memory Bank - -team.blue.name = blue +team.malis.name = Malis team.crux.name = red team.sharded.name = orange -team.orange.name = orange team.derelict.name = derelict team.green.name = green -team.purple.name = purple -tutorial.next = [lightgray] -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.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers [] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then 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.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.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[lightgray] 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.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[lightgray] enemy[] approaches.\n\nDefend your core for 2 waves. Build more turrets. -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.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. +team.blue.name = blue +hint.skip = Skip +hint.desktopMove = Use [accent][[WASD][] to move. +hint.zoom = [accent]Scroll[] to zoom in or out. +hint.desktopShoot = [accent][[Left-click][] to shoot. +hint.depositItems = To transfer items, drag from your ship to the core. +hint.respawn = To respawn as a ship, press [accent][[V][]. +hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[] +hint.desktopPause = Press [accent][[Space][] to pause and unpause the game. +hint.breaking = [accent]Right-click[] and drag to break blocks. +hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection. +hint.blockInfo = View information of a block by selecting it in the [accent]build menu[], then selecting the [accent][[?][] button at the right. +hint.derelict = [accent]Derelict[] structures are broken remnants of old bases that no longer function.\n\nThese structures can be [accent]deconstructed[] for resources. +hint.research = Use the \ue875 [accent]Research[] button to research new technology. +hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology. +hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets. +hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets. +hint.unitSelectControl = To control units, enter [accent]command mode[] by holding [accent]L-shift.[]\nWhile in command mode, click and drag to select units. [accent]Right-click[] a location or target to command units there. +hint.unitSelectControl.mobile = To control units, enter [accent]command mode[] by pressing the [accent]command[] button in the bottom left.\nWhile in command mode, long-press and drag to select units. Tap a location or target to command units there. +hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right. +hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[]. +hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type. +hint.rebuildSelect = Hold [accent][[B][] and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.rebuildSelect.mobile = Select the \ue874 copy button, then tap the \ue80f rebuild button and drag to select destroyed block plans.\nThis will rebuild them automatically. +hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path. +hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path. +hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters. +hint.payloadPickup = Press [accent][[[] to pick up small blocks or units. +hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up. +hint.payloadDrop = Press [accent]][] to drop a payload. +hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there. +hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires. +hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[]. +hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down. +hint.coreUpgrade = Cores can be upgraded by [accent]placing higher-tier cores over them[].\n\nPlace a \uf868 [accent]Foundation[] core over the \uf869 [accent]Shard[] core. Make sure it is free from nearby obstructions. +hint.presetLaunch = Gray [accent]landing zone sectors[], such as [accent]Frozen Forest[], can be launched to from anywhere. They do not require capture of nearby territory.\n\n[accent]Numbered sectors[], such as this one, are [accent]optional[]. +hint.presetDifficulty = This sector has a [scarlet]high enemy threat level[].\nLaunching to such sectors is [accent]not recommended[] without proper technology and preparation. +hint.coreIncinerate = After the core is filled to capacity with an item, any extra items of that type it receives will be [accent]incinerated[]. +hint.factoryControl = To set a unit factory's [accent]output destination[], click a factory block while in command mode, then right-click a location.\nUnits produced by it will automatically move there. +hint.factoryControl.mobile = To set a unit factory's [accent]output destination[], tap a factory block while in command mode, then tap a location.\nUnits produced by it will automatically move there. +gz.mine = Move near the \uf8c4 [accent]copper ore[] on the ground and click to begin mining. +gz.mine.mobile = Move near the \uf8c4 [accent]copper ore[] on the ground and tap it to begin mining. +gz.research = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nClick on a copper patch to place it. +gz.research.mobile = Open the \ue875 tech tree.\nResearch the \uf870 [accent]Mechanical Drill[], then select it from the menu in the bottom right.\nTap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm. +gz.conveyors = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate. +gz.conveyors.mobile = Research and place \uf896 [accent]conveyors[] to move the mined resources\nfrom drills to the core.\n\nHold down your finger for a second and drag to place multiple conveyors. +gz.drills = Expand the mining operation.\nPlace more Mechanical Drills.\nMine 100 copper. +gz.lead = \uf837 [accent]Lead[] is another commonly used resource.\nSet up drills to mine lead. +gz.moveup = \ue804 Move up for further objectives. +gz.turrets = Research and place 2 \uf861 [accent]Duo[] turrets to defend the core.\nDuo turrets require \uf838 [accent]ammo[] from conveyors. +gz.duoammo = Supply the Duo turrets with [accent]copper[], using conveyors. +gz.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace \uf8ae [accent]copper walls[] around the turrets. +gz.defend = Enemy incoming, prepare to defend. +gz.aa = Flying units cannot easily be dispatched with standard turrets.\n\uf860 [accent]Scatter[] turrets provide excellent anti-air, but require \uf837 [accent]lead[] as ammo. +gz.scatterammo = Supply the Scatter turret with [accent]lead[], using conveyors. +gz.supplyturret = [accent]Supply Turret +gz.zone1 = This is the enemy drop zone. +gz.zone2 = Anything built in the radius is destroyed when a wave starts. +gz.zone3 = A wave will begin now.\nGet ready. +gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +onset.mine = Click to mine \uf748 [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. +onset.mine.mobile = Tap to mine \uf748 [accent]beryllium[] from walls. +onset.research = Open the \ue875 tech tree.\nResearch, then place a \uf73e [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. +onset.bore = Research and place a \uf741 [accent]plasma bore[].\nThis automatically mines resources from walls. +onset.power = To [accent]power[] the plasma bore, research and place a \uf73d [accent]beam node[].\nConnect the turbine condenser to the plasma bore. +onset.ducts = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\nClick and drag to place multiple ducts.\n[accent]Scroll[] to rotate. +onset.ducts.mobile = Research and place \uf799 [accent]ducts[] to move the mined resources from the plasma bore to the core.\n\nHold down your finger for a second and drag to place multiple ducts. +onset.moremine = Expand the mining operation.\nPlace more Plasma Bores and use beam nodes and ducts to support them.\nMine 200 beryllium. +onset.graphite = More complex blocks require \uf835 [accent]graphite[].\nSet up plasma bores to mine graphite. +onset.research2 = Begin researching [accent]factories[].\nResearch the \uf74d [accent]cliff crusher[] and \uf779 [accent]silicon arc furnace[]. +onset.arcfurnace = The arc furnace needs \uf834 [accent]sand[] and \uf835 [accent]graphite[] to create \uf82f [accent]silicon[].\n[accent]Power[] is also required. +onset.crusher = Use \uf74d [accent]cliff crushers[] to mine sand. +onset.fabricator = Use [accent]units[] to explore the map, defend buildings, and attack the enemy. Research and place a \uf6a2 [accent]tank fabricator[]. +onset.makeunit = Produce a unit.\nUse the "?" button to see selected factory requirements. +onset.turrets = Units are effective, but [accent]turrets[] provide better defensive capabilities if used effectively.\nPlace a \uf6eb [accent]Breach[] turret.\nTurrets require \uf748 [accent]ammo[]. +onset.turretammo = Supply the turret with [accent]beryllium ammo.[] +onset.walls = [accent]Walls[] can prevent oncoming damage from reaching buildings.\nPlace some \uf6ee [accent]beryllium walls[] around the turret. +onset.enemies = Enemy incoming, prepare to defend. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = The enemy is vulnerable. Counter-attack. +onset.cores = New cores can be placed on [accent]core tiles[].\nNew cores function as forward bases and share a resource inventory with other cores.\nPlace a \uf725 core. +onset.detect = The enemy will be able to detect you in 2 minutes.\nSet up defenses, mining, and production. +onset.commandmode = Hold [accent]shift[] to enter [accent]command mode[].\n[accent]Left-click and drag[] to select units.\n[accent]Right-click[] to order selected units to move or attack. +onset.commandmode.mobile = Press the [accent]command button[] to enter [accent]command mode[].\nHold down a finger, then [accent]drag[] to select units.\n[accent]Tap[] to order selected units to move or attack. +aegis.tungsten = Tungsten can be mined using an [accent]impact drill[].\nThis structure requires [accent]water[] and [accent]power[]. +split.pickup = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(Default keys are [ and ] to pick up and drop) +split.pickup.mobile = Some blocks can be picked up by the core unit.\nPick up this [accent]container[] and place it onto the [accent]payload loader[].\n(To pick up or drop something, long-press it.) +split.acquire = You must acquire some tungsten to build units. +split.build = Units must be transported to the other side of the wall.\nPlace two [accent]Payload Mass Drivers[], one on each side of the wall.\nSet up the link by pressing one of them, then selecting the other. +split.container = Similar to the container, units can also be transported using a [accent]Payload Mass Driver[].\nPlace a unit fabricator adjacent to a mass driver to load them, then send them across the wall to attack the enemy base. item.copper.description = ise yayar bir materyal. Kazma makineleriyle yada tasimayla alinabilir. +item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced. item.lead.description = Basit bir baslangic materyali. sivi tasimada kullanilabilir. +item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here. item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage. item.graphite.description = Mineralized carbon, used for ammunition and electrical insulation. item.sand.description = karistirma maddesi olark kullanilan yaygin bir madde. item.coal.description = Yaygin bir yakit. +item.coal.details = Appears to be fossilized plant matter, formed long before the seeding event. item.titanium.description = Nadir ve hafif bir materyal. Hava araclarinda, Kazma makinelerinde ve sivi tasima tuplerinde kullanilir. item.thorium.description = Nukleer yakit olarak kullanilan sert ve nukleer bir materyal. item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. +item.scrap.details = Leftover remnants of old structures and units. item.silicon.description = Gunes panellerinde ve gelismis materallerde kullanilan bir materyal item.plastanium.description = hafif bir madde, hava makinelerinde ve silahlara kursun olarak kullanilir. 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.spore-pod.details = Spores. Likely a synthetic life form. Emit gases toxic to other biological life. Extremely invasive. Highly flammable in certain conditions. item.blast-compound.description = Bombalar ve patlayicilarda kullanilabilir. Yakit olarak kullanilmasi tavsiye edilmez. item.pyratite.description = Yakici silahlar icin yakici bir madde. +item.beryllium.description = Used in many types of construction and ammunition on Erekir. +item.tungsten.description = Used in drills, armor and ammunition. Required in the construction of more advanced structures. +item.oxide.description = Used as a heat conductor and insulator for power. +item.carbide.description = Used in advanced structures, heavier units, and ammunition. liquid.water.description = Commonly used for cooling machines and waste processing. 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 = Can be burnt, exploded or used as a coolant. liquid.cryofluid.description = The most efficient liquid for cooling things down. +liquid.arkycite.description = Used in chemical reactions for power generation and material synthesis. +liquid.ozone.description = Used as an oxidizing agent in material production, and as fuel. Moderately explosive. +liquid.hydrogen.description = Used in resource extraction, unit production and structure repair. Flammable. +liquid.cyanogen.description = Used for ammunition, construction of advanced units, and various reactions in advanced blocks. Highly flammable. +liquid.nitrogen.description = Used in resource extraction, gas creation and unit production. Inert. +liquid.neoplasm.description = A dangerous biological byproduct of the Neoplasia reactor. Quickly spreads to any adjacent water-containing block it touches, damaging them in the process. Viscous. +liquid.neoplasm.details = Neoplasm. An uncontrollable mass of rapidly-dividing synthetic cells with a sludge-like consistency. Heat-resistant. Extremely dangerous to any structures involving water.\n\nToo complex and unstable for standard analysis. Potential applications unknown. Incineration in slag pools is recommended. +block.derelict = \uf77e [lightgray]Derelict +block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyors. +block.illuminator.description = A small, compact, configurable light source. Requires power to function. block.message.description = Stores a message. Used for communication between allies. +block.reinforced-message.description = Stores a message for communication between allies. +block.world-message.description = A message block for use in mapmaking. Cannot be destroyed. block.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 coke 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.surge-smelter.description = Produces surge alloy from titanium, lead, silicon and copper. block.cryofluid-mixer.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. @@ -1244,6 +2083,8 @@ block.item-source.description = Infinitely outputs items. Sandbox only. block.item-void.description = Destroys any items which go into it without using power. Sandbox only. block.liquid-source.description = Infinitely outputs liquids. Sandbox only. block.liquid-void.description = Removes any liquids. Sandbox only. +block.payload-source.description = Infinitely outputs payloads. Sandbox only. +block.payload-void.description = Destroys any payloads. Sandbox only. 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.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies. @@ -1256,6 +2097,10 @@ block.phase-wall.description = Not as strong as a thorium wall but will deflect 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.surge-wall.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker. block.surge-wall-large.description = The strongest defensive block.\nHas a small chance of triggering lightning towards the attacker.\nSpans multiple tiles. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. 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.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency. @@ -1272,17 +2117,19 @@ block.phase-conveyor.description = Advanced item transport block. Uses power to block.sorter.description = esyalari secer. rengi ayni olan esya ileriden, digerleri sagdan ve soldan devam eder block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. block.router.description = Accepts items from one direction and outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets. +block.router.details = A necessary evil. Using next to production inputs is not advised, as they will get clogged by output. block.distributor.description = An advanced router which splits items to up to 7 other directions equally. block.overflow-gate.description = sadece saga ve sola dagatir. onu kapalidir block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are 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.mechanical-pump.description = A cheap pump with slow output, but no power consumption. block.rotary-pump.description = An advanced pump which doubles up speed by using power. -block.thermal-pump.description = The ultimate pump. Three times as fast as a mechanical pump and the only pump which is able to retrieve lava. +block.impulse-pump.description = The ultimate pump. Three times as fast as a mechanical pump and the only pump which is able to retrieve lava. block.conduit.description = Basic liquid transport block. Works like a conveyor, but with liquids. Best used with extractors, pumps or other conduits. block.pulse-conduit.description = Advanced liquid transport block. Transports liquids faster and stores more than standard conduits. block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. 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.liquid-container.description = Stores a sizeable amount of liquid. Outputs to all sides, similarly to a liquid router. block.liquid-tank.description = Stores a large amount of liquids. Use it for creating buffers when there is a non-constant demand of materials or as a safeguard for cooling vital blocks. block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. @@ -1308,15 +2155,21 @@ block.laser-drill.description = Allows drilling even faster through laser techno 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.cultivator.description = Cultivates the soil with water in order to obtain biomatter. +block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo. 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.details = The first iteration. Compact. Self-replicating. Equipped with single-use launch thrusters. Not designed for interplanetary travel. block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-foundation.details = The second iteration. block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.core-nucleus.details = The third and final iteration. block.vault.description = Stores a large amount of items. Use it for creating buffers when there is a non-constant demand of materials. An[lightgray] unloader[] can be used to retrieve items from the vault. block.container.description = Stores a small amount of items. Use it for creating buffers when there is a non-constant demand of materials. An[lightgray] unloader[] can be used to retrieve items from the container. 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.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = A small, cheap turret. 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. @@ -1331,5 +2184,429 @@ block.ripple.description = A large artillery turret which fires several shots si 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.foreshadow.description = Fires a large single-target bolt over long distances. Prioritizes enemies with higher max health. block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. block.segment.description = Damages and destroys incoming projectiles. Laser projectiles are not targeted. +block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process. +block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations. +block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium. +block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate. +block.payload-conveyor.description = Moves large payloads, such as units from factories. +block.payload-router.description = Splits input payloads into 3 output directions. +block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading. +block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading. +block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading. +block.additive-reconstructor.description = Upgrades inputted units to the second tier. +block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier. +block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier. +block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier. +block.switch.description = A toggleable switch. State can be read and controlled with logic processors. +block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. +block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor. +block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor. +block.memory-cell.description = Stores information for a logic processor. +block.memory-bank.description = Stores information for a logic processor. High capacity. +block.logic-display.description = Displays arbitrary graphics from a logic processor. +block.large-logic-display.description = Displays arbitrary graphics from a logic processor. +block.interplanetary-accelerator.description = A massive electromagnetic railgun tower. Accelerates cores to escape velocity for interplanetary deployment. +block.repair-turret.description = Continuously repairs the closest damaged unit in its vicinity. Optionally accepts coolant. +block.core-bastion.description = Core of the base. Armored. Once destroyed, the sector is lost. +block.core-citadel.description = Core of the base. Very well armored. Stores more resources than a Bastion core. +block.core-acropolis.description = Core of the base. Exceptionally well armored. Stores more resources than a Citadel core. +block.breach.description = Fires piercing beryllium or tungsten ammunition at enemy targets. +block.diffuse.description = Fires a burst of bullets in a wide cone. Pushes enemy targets back. +block.sublimate.description = Fires a continuous jet of flame at enemy targets. Pierces armor. +block.titan.description = Fires a massive explosive artillery shell at ground targets. Requires hydrogen. +block.afflict.description = Fires a massive charged orb of fragmentary flak. Requires heating. +block.disperse.description = Fires bursts of flak at aerial targets. +block.lustre.description = Fires a slow-moving single-target laser at enemy targets. +block.scathe.description = Launches a powerful missile at ground targets over vast distances. +block.smite.description = Fires bursts of piercing, lightning-emitting bullets. +block.malign.description = Fires a barrage of homing laser charges at enemy targets. Requires extensive heating. +block.silicon-arc-furnace.description = Refines silicon from sand and graphite. +block.oxidation-chamber.description = Converts beryllium and ozone into oxide. Emits heat as a by-product. +block.electric-heater.description = Heats facing blocks. Requires large amounts of power. +block.slag-heater.description = Heats facing blocks. Requires slag. +block.phase-heater.description = Heats facing blocks. Requires phase fabric. +block.heat-redirector.description = Redirects accumulated heat to other blocks. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Spreads accumulated heat in three output directions. +block.electrolyzer.description = Converts water into hydrogen and ozone gas. +block.atmospheric-concentrator.description = Concentrates nitrogen from the atmosphere. Requires heat. +block.surge-crucible.description = Forms surge alloy from slag and silicon. Requires heat. +block.phase-synthesizer.description = Synthesizes phase fabric from thorium, sand, and ozone. Requires heat. +block.carbide-crucible.description = Fuses graphite and tungsten into carbide. Requires heat. +block.cyanogen-synthesizer.description = Synthesizes cyanogen from arkycite and graphite. Requires heat. +block.slag-incinerator.description = Incinerates non-volatile items or liquids. Requires slag. +block.vent-condenser.description = Condenses vent gases into water. Consumes power. +block.plasma-bore.description = When placed facing an ore wall, outputs items indefinitely. Requires small amounts of power. +block.large-plasma-bore.description = A larger plasma bore. Capable of mining tungsten and thorium. Requires hydrogen and power. +block.cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power. Efficiency varies based on type of wall. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = When placed on ore, outputs items in bursts indefinitely. Requires power and water. +block.eruption-drill.description = An improved impact drill. Capable of mining thorium. Requires hydrogen. +block.reinforced-conduit.description = Moves fluids forward. Doesn't accept non-conduit inputs to the sides. +block.reinforced-liquid-router.description = Distributes fluids equally to all sides. +block.reinforced-liquid-tank.description = Stores a large amount of fluids. +block.reinforced-liquid-container.description = Stores a sizeable amount of fluids. +block.reinforced-bridge-conduit.description = Transports fluids over structures and terrain. +block.reinforced-pump.description = Pumps and outputs liquids. Requires hydrogen. +block.beryllium-wall.description = Protects structures from enemy projectiles. +block.beryllium-wall-large.description = Protects structures from enemy projectiles. +block.tungsten-wall.description = Protects structures from enemy projectiles. +block.tungsten-wall-large.description = Protects structures from enemy projectiles. +block.carbide-wall.description = Protects structures from enemy projectiles. +block.carbide-wall-large.description = Protects structures from enemy projectiles. +block.reinforced-surge-wall.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.reinforced-surge-wall-large.description = Protects structures from enemy projectiles, periodically launching electric arcs upon projectile contact. +block.shielded-wall.description = Protects structures from enemy projectiles. Deploys a shield that absorbs most projectiles when power is provided. Conducts power. +block.blast-door.description = A wall that opens when allied ground units are in range. Cannot be manually controlled. +block.duct.description = Moves items forward. Only capable of storing a single item. +block.armored-duct.description = Moves items forward. Does not accept non-duct inputs from the sides. +block.duct-router.description = Distributes items equally across three directions. Only accepts items from the back side. Can be configured as an item sorter. +block.overflow-duct.description = Only outputs items to the sides if the front path is blocked. +block.duct-bridge.description = Moves items over structures and terrain. +block.duct-unloader.description = Unloads the selected item from the block behind it. Cannot unload from cores. +block.underflow-duct.description = Opposite of an overflow duct. Outputs to the front if the left and right paths are blocked. +block.reinforced-liquid-junction.description = Acts as a junction between two crossing conduits. +block.surge-conveyor.description = Moves items in batches. Can be sped up with power. Conducts power. +block.surge-router.description = Equally distributes items in three directions from surge conveyors. Can be sped up with power. Conducts power. +block.unit-cargo-loader.description = Constructs cargo drones. Drones automatically distribute items to Cargo Unload Points with a matching filter. +block.unit-cargo-unload-point.description = Acts as an unloading point for cargo drones. Accepts items that match the selected filter. +block.beam-node.description = Transmits power to other blocks orthogonally. Stores a small amount of power. +block.beam-tower.description = Transmits power to other blocks orthogonally. Stores a large amount of power. Long-range. +block.turbine-condenser.description = Generates power when placed on vents. Produces a small amount of water. +block.chemical-combustion-chamber.description = Generates power from arkycite and ozone. +block.pyrolysis-generator.description = Generates large amounts of power from arkycite and slag. Produces water as a byproduct. +block.flux-reactor.description = Generates large amounts of power when heated. Requires cyanogen as a stabilizer. Power output and cyanogen requirements are proportional to heat input.\nExplodes if insufficient cyanogen is provided. +block.neoplasia-reactor.description = Uses arkycite, water and phase fabric to generate large amounts of power. Produces heat and dangerous neoplasm as a byproduct.\nExplodes violently if neoplasm is not removed from the reactor via conduits. +block.build-tower.description = Automatically rebuilds structures in range and assists other units in construction. +block.regen-projector.description = Slowly repairs allied structures in a square perimeter. Requires hydrogen. +block.reinforced-container.description = Stores a small amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.reinforced-vault.description = Stores a large amount of items. Contents can be retrieved via unloaders. Does not increase core storage capacity. +block.tank-fabricator.description = Constructs Stell units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.ship-fabricator.description = Constructs Elude units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.mech-fabricator.description = Constructs Merui units. Outputted units can be used directly, or moved into refabricators for upgrading. +block.tank-assembler.description = Assembles large tanks out of inputted blocks and units. Output tier may be increased by adding modules. +block.ship-assembler.description = Assembles large ships out of inputted blocks and units. Output tier may be increased by adding modules. +block.mech-assembler.description = Assembles large mechs out of inputted blocks and units. Output tier may be increased by adding modules. +block.tank-refabricator.description = Upgrades inputted tank units to the second tier. +block.ship-refabricator.description = Upgrades inputted ship units to the second tier. +block.mech-refabricator.description = Upgrades inputted mech units to the second tier. +block.prime-refabricator.description = Upgrades inputted units to the third tier. +block.basic-assembler-module.description = Increases assembler tier when placed next to a construction boundary. Requires power. Can be used as a payload input. +block.small-deconstructor.description = Deconstructs inputted structures and units. Returns 100% of the build cost. +block.reinforced-payload-conveyor.description = Moves payloads forward. +block.reinforced-payload-router.description = Distributes payloads into adjacent blocks. Functions as a sorter when a filter is set. +block.payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Repairs all units in its vicinity. Requires ozone. +block.radar.description = Gradually uncovers terrain and enemy units in a large radius. Requires power. +block.shockwave-tower.description = Damages and destroys enemy projectiles in a radius. Requires cyanogen. +block.canvas.description = Displays a simple image with a pre-defined palette. Editable. +unit.dagger.description = Fires standard bullets at all nearby enemies. +unit.mace.description = Fires streams of flame at all nearby enemies. +unit.fortress.description = Fires long-range artillery at ground targets. +unit.scepter.description = Fires a barrage of charged bullets at all nearby enemies. +unit.reign.description = Fires a barrage of massive piercing bullets at all nearby enemies. +unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight. +unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight. +unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded. +unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight. +unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain. +unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion. +unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain. +unit.spiroct.description = Fires sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.arkyid.description = Fires large sapping laser beams at enemies, repairing itself in the process. Can step over most terrain. +unit.toxopid.description = Fires large electric cluster-shells and piercing lasers at enemies. Can step over most terrain. +unit.flare.description = Fires standard bullets at nearby ground targets. +unit.horizon.description = Drops clusters of bombs on ground targets. +unit.zenith.description = Fires salvos of missiles at all nearby enemies. +unit.antumbra.description = Fires a barrage of bullets at all nearby enemies. +unit.eclipse.description = Fires two piercing lasers and a barrage of flak at all nearby enemies. +unit.mono.description = Automatically mines copper and lead, depositing it into the core. +unit.poly.description = Automatically rebuilds destroyed structures and assists other units in construction. +unit.mega.description = Automatically repairs damaged structures. Capable of carrying blocks and small ground units. +unit.quad.description = Drops large bombs on ground targets, repairing allied structures and damaging enemies. Capable of carrying medium-sized ground units. +unit.oct.description = Protects nearby allies with its regenerating shield. Capable of carrying most ground units. +unit.risso.description = Fires a barrage of missiles and bullets at all nearby enemies. +unit.minke.description = Fires shells and standard bullets at nearby ground targets. +unit.bryde.description = Fires long-range artillery shells and missiles at enemies. +unit.sei.description = Fires a barrage of missiles and armor-piercing bullets at enemies. +unit.omura.description = Fires a long-range piercing railgun bolt at enemies. Constructs flare units. +unit.alpha.description = Defends the Shard core from enemies. Builds structures. +unit.beta.description = Defends the Foundation core from enemies. Builds structures. +unit.gamma.description = Defends the Nucleus core from enemies. Builds structures. +unit.retusa.description = Fires homing torpedoes at nearby enemies. Repairs allied units. +unit.oxynoe.description = Fires structure-repairing streams of flame at nearby enemies. Targets nearby enemy projectiles with a point defense turret. +unit.cyerce.description = Fires seeking cluster-missiles at enemies. Repairs allied units. +unit.aegires.description = Shocks all enemy units and structures that enter its energy field. Repairs all allies. +unit.navanax.description = Fires explosive EMP projectiles, dealing significant damage to enemy power networks and repairing allied structures. Melts nearby enemies with 4 autonomous laser turrets. +unit.stell.description = Fires standard bullets at enemy targets. +unit.locus.description = Fires alternating bullets at enemy targets. +unit.precept.description = Fires piercing cluster bullets at enemy targets. +unit.vanquish.description = Fires large piercing splitting bullets at enemy targets. +unit.conquer.description = Fires large piercing cascades of bullets at enemy targets. +unit.merui.description = Fires long-range artillery at enemy ground targets. Can step over most terrain. +unit.cleroi.description = Fires dual shells at enemy targets. Targets enemy projectiles with point defense turrets. Can step over most terrain. +unit.anthicus.description = Fires long-range homing missiles at enemy targets. Can step over most terrain. +unit.tecta.description = Fires homing plasma missiles at enemy targets. Protects itself with a directional shield. Can step over most terrain. +unit.collaris.description = Fires long-range fragmenting artillery at enemy targets. Can step over most terrain. +unit.elude.description = Fires pairs of homing bullets at enemy targets. Can float over bodies of liquid. +unit.avert.description = Fires twisting pairs of bullets at enemy targets. +unit.obviate.description = Fires twisting pairs of lightning orbs at enemy targets. +unit.quell.description = Fires long-range homing missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.disrupt.description = Fires long-range homing suppression missiles at enemy targets. Suppresses enemy structure repair blocks. +unit.evoke.description = Builds structures to defend the Bastion core. Repairs structures with a beam. +unit.incite.description = Builds structures to defend the Citadel core. Repairs structures with a beam. +unit.emanate.description = Builds structures to defend the Acropolis core. Repairs structures with beams. +lst.read = Read a number from a linked memory cell. +lst.write = Write a number to a linked memory cell. +lst.print = Add text to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = Add an operation to the drawing buffer.\nDoes not display anything until [accent]Draw Flush[] is used. +lst.drawflush = Flush queued [accent]Draw[] operations to a display. +lst.printflush = Flush queued [accent]Print[] operations to a message block. +lst.getlink = Get a processor link by index. Starts at 0. +lst.control = Control a building. +lst.radar = Locate units around a building with range. +lst.sensor = Get data from a building or unit. +lst.set = Set a variable. +lst.operation = Perform an operation on 1-2 variables. +lst.end = Jump to the top of the instruction stack. +lst.wait = Wait a certain number of seconds. +lst.stop = Halt execution of this processor. +lst.lookup = Look up an item/liquid/unit/block type by ID.\nTotal counts of each type can be accessed with:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Conditionally jump to another statement. +lst.unitbind = Bind to the next unit of a type, and store it in [accent]@unit[]. +lst.unitcontrol = Control the currently bound unit. +lst.unitradar = Locate units around the currently bound unit. +lst.unitlocate = Locate a specific type of position/building anywhere on the map.\nRequires a bound unit. +lst.getblock = Get tile data at any location. +lst.setblock = Set tile data at any location. +lst.spawnunit = Spawn unit at a location. +lst.applystatus = Apply or clear a status effect from a uniut. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Simulate a wave being spawned at a arbitrary location.\nWill not increment the wave counter. +lst.explosion = Create an explosion at a location. +lst.setrate = Set processor execution speed in instructions/tick. +lst.fetch = Lookup units, cores, players or buildings by index.\nIndices start at 0 and end at their returned count. +lst.packcolor = Pack [0, 1] RGBA components into a single number for drawing or rule-setting. +lst.setrule = Set a game rule. +lst.flushmessage = Display a message on the screen from the text buffer.\nWill wait until the previous message finishes. +lst.cutscene = Manipulate the player camera. +lst.setflag = Set a global flag that can be read by all processors. +lst.getflag = Check if a global flag is set. +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise +logic.nounitbuild = [red]Unit building logic is not allowed here. +lenum.type = Type of building/unit.\ne.g. for any router, this will return [accent]@router[].\nNot a string. +lenum.shoot = Shoot at a position. +lenum.shootp = Shoot at a unit/building with velocity prediction. +lenum.config = Building configuration, e.g. sorter item. +lenum.enabled = Whether the block is enabled. +laccess.currentammotype = Current ammo item/liquid of a turret. +laccess.color = Illuminator color. +laccess.controller = Unit controller. If processor controlled, returns processor.\nIf in a formation, returns leader.\nOtherwise, returns the unit itself. +laccess.dead = Whether a unit/building is dead or no longer valid. +laccess.controlled = Returns:\n[accent]@ctrlProcessor[] if unit controller is processor\n[accent]@ctrlPlayer[] if unit/building controller is player\n[accent]@ctrlFormation[] if unit is in formation\nOtherwise, 0. +laccess.progress = Action progress, 0 to 1.\nReturns production, turret reload or construction progress. +laccess.speed = Top speed of a unit, in tiles/sec. +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. +lcategory.unknown = Unknown +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = Input & Output +lcategory.io.description = Modify contents of memory blocks and processor buffers. +lcategory.block = Block Control +lcategory.block.description = Interact with blocks. +lcategory.operation = Operations +lcategory.operation.description = Logical operations. +lcategory.control = Flow Control +lcategory.control.description = Manage execution order. +lcategory.unit = Unit Control +lcategory.unit.description = Give units commands. +lcategory.world = World +lcategory.world.description = Control how the world behaves. +graphicstype.clear = Fill the display with a color. +graphicstype.color = Set color for next drawing operations. +graphicstype.col = Equivalent to color, but packed.\nPacked colors are written as hex codes with a [accent]%[] prefix.\nExample: [accent]%ff0000[] would be red. +graphicstype.stroke = Set line width. +graphicstype.line = Draw line segment. +graphicstype.rect = Fill a rectangle. +graphicstype.linerect = Draw a rectangle outline. +graphicstype.poly = Fill a regular polygon. +graphicstype.linepoly = Draw a regular polygon outline. +graphicstype.triangle = Fill a triangle. +graphicstype.image = Draw an image of some content.\nex: [accent]@router[] or [accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. +lenum.always = Always true. +lenum.idiv = Integer division. +lenum.div = Division.\nReturns [accent]null[] on divide-by-zero. +lenum.mod = Modulo. +lenum.equal = Equal. Coerces types.\nNon-null objects compared with numbers become 1, otherwise 0. +lenum.notequal = Not equal. Coerces types. +lenum.strictequal = Strict equality. Does not coerce types.\nCan be used to check for [accent]null[]. +lenum.shl = Bit-shift left. +lenum.shr = Bit-shift right. +lenum.or = Bitwise OR. +lenum.land = Logical AND. +lenum.and = Bitwise AND. +lenum.not = Bitwise flip. +lenum.xor = Bitwise XOR. +lenum.min = Minimum of two numbers. +lenum.max = Maximum of two numbers. +lenum.angle = Angle of vector in degrees. +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = Length of vector. +lenum.sin = Sine, in degrees. +lenum.cos = Cosine, in degrees. +lenum.tan = Tangent, in degrees. +lenum.asin = Arc sine, in degrees. +lenum.acos = Arc cosine, in degrees. +lenum.atan = Arc tangent, in degrees. +lenum.rand = Random decimal in range [0, value). +lenum.log = Natural logarithm (ln). +lenum.log10 = Base 10 logarithm. +lenum.noise = 2D simplex noise. +lenum.abs = Absolute value. +lenum.sqrt = Square root. +lenum.any = Any unit. +lenum.ally = Ally unit. +lenum.attacker = Unit with a weapon. +lenum.enemy = Enemy unit. +lenum.boss = Guardian unit. +lenum.flying = Flying unit. +lenum.ground = Ground unit. +lenum.player = Unit controlled by a player. +lenum.ore = Ore deposit. +lenum.damaged = Damaged ally building. +lenum.spawn = Enemy spawn point.\nMay be a core or a position. +lenum.building = Building in a specific group. +lenum.core = Any core. +lenum.storage = Storage building, e.g. Vault. +lenum.generator = Buildings that generate power. +lenum.factory = Buildings that transform resources. +lenum.repair = Repair points. +lenum.battery = Any battery. +lenum.resupply = Resupply points.\nOnly relevant when [accent]"Unit Ammo"[] is enabled. +lenum.reactor = Impact/Thorium reactor. +lenum.turret = Any turret. +sensor.in = The building/unit to sense. +radar.from = Building to sense from.\nSensor range is limited by building range. +radar.target = Filter for units to sense. +radar.and = Additional filters. +radar.order = Sorting order. 0 to reverse. +radar.sort = Metric to sort results by. +radar.output = Variable to write output unit to. +unitradar.target = Filter for units to sense. +unitradar.and = Additional filters. +unitradar.order = Sorting order. 0 to reverse. +unitradar.sort = Metric to sort results by. +unitradar.output = Variable to write output unit to. +control.of = Building to control. +control.unit = Unit/building to aim at. +control.shoot = Whether to shoot. +unitlocate.enemy = Whether to locate enemy buildings. +unitlocate.found = Whether the object was found. +unitlocate.building = Output variable for located building. +unitlocate.outx = Output X coordinate. +unitlocate.outy = Output Y coordinate. +unitlocate.group = Building group to look for. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. +lenum.idle = Don't move, but keep building/mining.\nThe default state. +lenum.stop = Stop moving/mining/building. +lenum.unbind = Completely disable logic control.\nResume standard AI. +lenum.move = Move to exact position. +lenum.approach = Approach a position with a radius. +lenum.pathfind = Pathfind to the enemy spawn. +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = Shoot a position. +lenum.targetp = Shoot a target with velocity prediction. +lenum.itemdrop = Drop an item. +lenum.itemtake = Take an item from a building. +lenum.paydrop = Drop current payload. +lenum.paytake = Pick up payload at current location. +lenum.payenter = Enter/land on the payload block the unit is on. +lenum.flag = Numeric unit flag. +lenum.mine = Mine at a position. +lenum.build = Build a structure. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Check if unit is near a position. +lenum.boost = Start/stop boosting. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_tr.properties b/core/assets/bundles/bundle_tr.properties index bfe05a9828..2b2e6072e8 100644 --- a/core/assets/bundles/bundle_tr.properties +++ b/core/assets/bundles/bundle_tr.properties @@ -1,28 +1,31 @@ credits.text = [royal]Anuken[] tarafından yapıldı - [sky]anukendev@gmail.com[] credits = Jenerik contributors = Çevirmenler ve Katkıda Bulunanlar -discord = Mindustry'nin Discord sunucusuna Katıl! +discord = Mindustry Discord sunucusuna katıl! link.discord.description = Resmi Mindustry Discord sunucusu -link.reddit.description = Mindustry subreddit'i +link.reddit.description = Mindustry subredditi link.github.description = Oyun kaynak kodu link.changelog.description = Güncelleme deÄŸiÅŸikliklerinin listesi -link.dev-builds.description = Dengesiz oyun sürümleri -link.trello.description = Planlanan özellikler için resmi Trello Sayfası +link.dev-builds.description = Kararsız oyun sürümleri +link.trello.description = Planlanan özellikler için resmi Trello sayfası link.itch.io.description = itch.io sayfası link.google-play.description = Google Play maÄŸaza sayfası -link.f-droid.description = F-Droid kataloÄŸu -link.wiki.description = Resmi Mindustry wikisi +link.f-droid.description = F-Droid sayfası +link.wiki.description = Resmi Mindustry vikisi link.suggestions.description = Yeni özellikler öner +link.bug.description = Hata mı buldun? Hemen ÅŸikayet et! +linkopen = Bu server sana bir link gönderdi. Açmak istediÄŸine emin misin?\n\n[sky]{0} linkfail = Link açılamadı!\nURL kopyalandı. screenshot = Ekran görüntüsü {0} konumuna kaydedildi screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok. -gameover = Kaybettin +gameover = Oyun Bitti +gameover.disconnect = BaÄŸlantı Koptu! gameover.pvp = [accent] {0}[] Takımı kazandı! +gameover.waiting = [accent]Sonraki Harita Bekleniyor... highscore = [accent]Yeni rekor! copied = Panoya Kopyalandı. -indev.popup = [accent]v6[] ÅŸu anda [accent]beta aÅŸamasındadır[].\n[lightgray]Bu demektir ki:[]\n[scarlet]- Mücadele modu tamamlanmamıştır[]\n- Müzik ve ses efektleri tamamlanmamıştır veya eksiktir\n- Gördüğün her ÅŸey deÄŸiÅŸime ya da kaldırılmaya açıktır.\n\nHataları ve çökmeleri [accent]Github[]'da bildir. indev.notready = Oyunun bu kısmı henüz hazır deÄŸil. - +#Ekozet abimize teÅŸekkür edelim. Baya ekleme yaptı buraya. load.sound = Sesler load.map = Haritalar load.image = Resimler @@ -30,66 +33,86 @@ load.content = İçerik load.system = Sistem load.mod = Modlar load.scripts = Betikler - +#the_pawsy tamam be, update atıyom... -RT be.update = Yeni bir erken eriÅŸim sürümü var: -be.update.confirm = Yüklenip yeniden baÅŸlatılsın mı? +be.update.confirm = İndirip yeniden baÅŸlatılsın mı? be.updating = Yeni sürüm yükleniyor... be.ignore = Hayır -be.noupdates = Yeni güncelleme bulunamadı. +be.noupdates = Yeni Sürüm Güncellemesi bulunamadı. be.check = Güncellemeleri kontrol et -mod.featured.title = Mod Tarayıcısı -mod.featured.dialog.title = Mod Tarayıcısı -mods.browser.selected = Seçilen Mod -mods.browser.add = Modu İndir -mods.github.open = Modun GitHub Sayfasını Aç +mods.browser = Mod Tarayıcı +mods.browser.selected = SeçilmiÅŸ Mod +mods.browser.add = Yükle +mods.browser.reinstall = Yeniden Yükle +mods.browser.view-releases = Sürümleri İncele +mods.browser.noreleases = [scarlet]Sürüm Bulunamadı\n[accent]Bu mod için yayımlanmış bir sürüm bulunamadı. +mods.browser.latest = +mods.browser.releases = Yayımlar +mods.github.open = Depo +mods.github.open-release = Yayım Sayfası +mods.browser.sortdate = En yeniye göre sırala +mods.browser.sortstars = Yıldız sayısına göre sırala schematic = Åžema schematic.add = Åžemayı Kaydet... schematics = Åžemalar -schematic.replace = Aynı isimde bir ÅŸema zaten var. Üzerine yazılsın mı? -schematic.exists = Aynı isimde bir ÅŸema zaten var. -schematic.import = Åžema İçeri Aktar... -schematic.exportfile = Dışa Aktar -schematic.importfile = İçe Aktar -schematic.browseworkshop = Atölyeyi incele +schematic.search = Åžema ara... +schematic.replace = Aynı adda bir ÅŸema zaten var. Üzerine yazılsın mı? +schematic.exists = Aynı adda bir ÅŸema zaten var. +schematic.import = Åžemayı İçeri Aktar... +schematic.exportfile = Dışarı Aktar +schematic.importfile = İçeri Aktar +schematic.browseworkshop = Atölyeyi araÅŸtır schematic.copy = Panoya Kopyala -schematic.copy.import = Panodan İçeri Aktar -schematic.shareworkshop = Atölyede Kaydet +schematic.copy.import = Panodan Yapıştır +schematic.shareworkshop = Atölyede paylaÅŸ schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Åžemayı döndür schematic.saved = Åžema Kaydedildi. schematic.delete.confirm = Bu ÅŸema tamamen yok edilecek. -schematic.rename = Åžemayı yeniden adlandır +schematic.edit = Åžemayı Düzenle schematic.info = {0}x{1}, {2} blok -schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. +schematic.disabled = [scarlet]Åžema devre dışı bırakıldı[]\nBu ÅŸemayı [accent]bu haritada[] veya [accent]server'da kullanma iznin yok. +schematic.tags = Etiketler: +schematic.edittags = Etiketleri Düzenle +schematic.addtag = Etiket Ekle +schematic.texttag = Yazı Etiketi +schematic.icontag = İkon Etiketi +schematic.renametag = Etiketi Yeniden Adlandır +schematic.tagged = {0} etiketlendi +schematic.tagdelconfirm = Bu Etiketi Silmek istediÄŸine emin misin? +schematic.tagexists = Böyle bir Etiket zaten var. -stat.wave = Yenilen Dalgalar:[accent] {0} -stat.enemiesDestroyed = Yok Edilen Düşmanlar:[accent] {0} -stat.built = İnÅŸa Edilen Yapılar:[accent] {0} -stat.destroyed = Yok Edilen Yapılar:[accent] {0} -stat.deconstructed = Yıkılan Yapılar:[accent] {0} -stat.delivered = Gönderilen Kaynaklar: -stat.playtime = Oynama Süresi:[accent] {0} -stat.rank = Rütbe: [accent]{0} +stats = İstatistikler +stats.wave = Kazanılan Dalgalar +stats.unitsCreated = Üretilen Birimler +stats.enemiesDestroyed = Yok Edilen Düşmanlar +stats.built = İnÅŸa Edilen Yapılar +stats.destroyed = Yıkılan Yapılar +stats.deconstructed = Kaldırılan Yapılar +stats.playtime = Oynanan Süre globalitems = [accent]Toplanan Kaynaklar map.delete = "[accent]{0}[]" haritasını silmek istediÄŸine emin misin? level.highscore = Rekor: [accent]{0} -level.select = Seviye Seçimi +level.select = Bölüm Seçimi level.mode = Oyun Modu: coreattack = < Merkez saldırı altında! > nearpoint = [[ [scarlet]İNİŞ PİSTİNDEN AYRIL[] ]\nimha tehlikesi -database = Çekirdek Veritabanı +database = Merkez Veritabanı +database.button = Veritabanı savegame = Oyunu Kaydet loadgame = Oyunu Yükle joingame = Oyuna Katıl customgame = Özel Oyun newgame = Yeni Oyun none = -minimap = Harita -position = Pozisyon +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Küçük Harita +position = Konum close = Kapat -website = Web sitesi +website = Genel aÄŸ sayfası quit = Çık save.quit = Kaydet & Çık maps = Haritalar @@ -106,24 +129,39 @@ committingchanges = DeÄŸiÅŸiklikler Uygulanıyor done = Bitti feature.unsupported = Cihazınızda bu özellik desteklenmemektedir. -mods.alphainfo = Modların alfa aÅŸamasında olduÄŸunu ve [scarlet]oldukça hatalı olabileceklerini[] unutmayın.\nBulduÄŸunuz sorunları Mindustry GitHub'ı veya Discord'una bildirin. +mods.initfailed = [red]âš [] NOLAMAZ! Mindustry Çöktü. Bu Büyük ihtimalle bir moddan kaynaklandı.\n\nSonsuz Çökmeyi önlemek için, [red]tüm modlar kapatıldı.[]\n\nBu özelliÄŸi kapamak için, [accent]Ayarlar->Oyun->Modları BaÅŸlangıçta Çökme Durumunda Kapat[]. mods = Modlar mods.none = [lightgray]Hiç mod bulunamadı! mods.guide = Mod Rehberi mods.report = Hata bildir mods.openfolder = Mod klasörünü aç +mods.viewcontent = İçeriÄŸi Görüntüle mods.reload = Yeniden Yükle mods.reloadexit = Modları yeniden yüklemek için oyun kapanacak. +mod.installed = [[Yüklendi] mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Etkin mod.disabled = [scarlet]Devre Dışı +mod.multiplayer.compatible = [gray]Çok Oyunculuya Uygun mod.disable = Devre Dışı Bırak +mod.version = Version: mod.content = İçerik: mod.delete.error = Mod silinemiyor. Dosya kullanımda olabilir. -mod.requiresversion = [scarlet]Gereken en düşük oyun versiyonu: [accent]{0} -mod.outdated = [scarlet]V6 ile uyumlu deÄŸil (minGameVersion: 105 yok) -mod.missingdependencies = [scarlet]Bu modun çalışması için gereken modlar: {0} +mod.incompatiblegame = [red]Eski Sürüm +mod.incompatiblemod = [red]Sürüm UyuÅŸmazlığı +mod.blacklisted = [red]Desteklenmeyen Sürüm +mod.unmetdependencies = [red]UyuÅŸmayan Modlar. mod.erroredcontent = [scarlet]İçerik hatası. +mod.circulardependencies = [red]Döngüsel Bağımlılıklar +mod.incompletedependencies = [red]Eksik Bağımlılıklar +mod.requiresversion.details = [accent]{0}[] oyun sürümü gerekiyor.\nSürümün eski. Bu mod, çalışmak için oyunun daha yeni bir sürümünü gerektiriyor (büyük ihtimal alpha/beta). +mod.outdatedv7.details = Bu mod, oyunun en son sürümüyle uyumsuz. Modun yapmıcısının [accent]mod.json[] dosyasına, [accent]minGameVersion: 146[] eklemesi gerekiyor. +mod.blacklisted.details = Bu mod, oyunun bu sürümüyle hata verdiÄŸinden veya baÅŸka sorunlar ötürü kara listeye alınmıştır. [#ff]KULLANMAYINIZ! +mod.missingdependencies.details = Bu Mod, ÅŸu ek modları gerektiriyor: {0} +mod.erroredcontent.details = Bu mod yüklenirken hata veriyor, yapımcıdan hataları düzeltmesini isteyin. +mod.circulardependencies.details = Bu modun birbirine baÄŸlı baÄŸlılıkları var. +mod.incompletedependencies.details = Eksik veya yanlış baÄŸlılıklardan dolayı mod yüklenemedi: {0}. +mod.requiresversion = Åžu oyun sürümü gerekiyor: [red]{0} mod.errors = İçerik yüklenirken bir hata oluÅŸtu. mod.noerrorplay = [scarlet]Hatalı modlarınız var.[] Oynamadan önce bu modları devre dışı bırakın veya dosyadaki hataları düzeltin. mod.nowdisabled = [scarlet]'{0}' modunun çalışması için gerekli olan modlardan bazıları bulunamadı:[accent] {1}\n[lightgray]Önce bu modların indirilmesi gerekmektedir.\nBu mod otomatik olarak devre dışı bırakılacaktır. @@ -132,25 +170,38 @@ mod.requiresrestart = Oyun mod deÄŸiÅŸikliklerini uygulamak için kapatılacak. mod.reloadrequired = [scarlet]Yeniden Yükleme Gerekli mod.import = Mod İçeri Aktar mod.import.file = Dosya İçeri Aktar -mod.import.github = GitHub Modu İçeri Aktar -mod.jarwarn = [scarlet]Jar modları doÄŸası gereÄŸi güvenli deÄŸildir.[]\nBu modu güvenilir bir kaynaktan içeri aktardığına emin ol! +mod.import.github = GitHub Modu İçeri Aktar +mod.jarwarn = [scarlet]Java modları doÄŸası gereÄŸi güvenli deÄŸildir.[]\nBu modu güvenilir bir kaynaktan içeri aktardığına emin ol! mod.item.remove = Bu eÅŸya[accent] '{0}'[] modunun bir parçası. Kaldırmak için modu silebilirsiniz. -mod.remove.confirm = Bu mod silinecek. +mod.remove.confirm = Bu mod silinecek mod.author = [lightgray]Yayıncı:[] {0} mod.missing = Bu kayıt yakın zamanda güncellediÄŸiniz ya da artık yüklü olmayan modlar içermekte. Kayıt bozulmaları yaÅŸanabilir. Kaydı yüklemek istediÄŸinizden emin misiniz?\n[lightgray]Modlar:\n{0} mod.preview.missing = Bu modu atölyede yayınlamadan önce bir resim önizlemesi eklemelisiniz.\nMod dosyasına [accent]preview.png[] adlı bir resim yerleÅŸtirin ve tekrar deneyin. mod.folder.missing = Atölyede sadece klasör halindeki modlar yayınlanabilir.Bir modu klasöre çevirmek için, sadece mod dosyalarını bir klasöre çıkarın ve eski sıkıştırılmış dosyayı silin, sonra da oyunu tekrar baÅŸlatın ya da modlarınızı tekrar yükleyin. -mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. +mod.scripts.disable = Cihazınız kod içeren modları desteklemiyor. \nOyunu oynamak için bu modları devre dışı bırakmalısınız. about.button = Hakkında name = İsim: noname = Bir[accent] kullanıcı adı[] seçmelisin. +search = Ara: planetmap = Gezegen Haritası launchcore = Kalkış filename = Dosya Adı: unlocked = Yeni içerik açıldı! +available = Yeni AraÅŸtırma Mümkün! +unlock.incampaign = < Detaylar için Mücadelede AraÅŸtır > +campaign.select = BaÅŸlangıç Mücadelesi Seç +campaign.none = [lightgray]BaÅŸlamak için bir gezegen seç.\nBu seçim herhangi bir zamanda deÄŸiÅŸtirlebilir. +campaign.erekir = Daha yeni ve cilalanmış içerikler. Genellikle kararlı ilerleme.\n\nDaha kaliteli haritalar ve deneyim (herhalde). +campaign.serpulo = Eski içerik; klasik deneyim. Daha serbest.\n\nDaha dengesiz harita ve deneyim. Cilayı unutmuÅŸlar iÅŸte... +campaign.difficulty = Zorluk completed = [accent]Tamamlandı techtree = Teknoloji AÄŸacı +techtree.select = Teknoloji AÄŸacı Seç +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Yükle +research.discard = Sil research.list = [lightgray]AraÅŸtırmalar: research = AraÅŸtır researched = [lightgray]{0} AraÅŸtırıldı. @@ -166,59 +217,77 @@ server.kicked.serverClose = Sunucu kapandı. server.kicked.vote = Oylama ile sunucudan atıldın. server.kicked.clientOutdated = Eski sürüm! Oyununu güncelle! server.kicked.serverOutdated = Geçersiz sunucu!\nKurucudan oyununu güncellemesini iste! -server.kicked.banned = Bu sunucudan yasaklandın. -server.kicked.typeMismatch = Bu sunucu senin inÅŸa türünle uyumlu deÄŸil. +server.kicked.banned = Bu Sunucudan Yasaklandın! [#ff]LOL\n-[yellow]RT[cyan]Omega +server.kicked.typeMismatch = Bu sunucu senin sürümünle uyumlu deÄŸil. server.kicked.playerLimit = Sunucu dolu. Yer açılmasını bekle. server.kicked.recentKick = Yakın bir zamanda bir sunucudan atıldın.\nBaÄŸlanmadan önce bir süre bekle. server.kicked.nameInUse = Sunucuda zaten o isimde biri var. server.kicked.nameEmpty = SeçtiÄŸin isim geçersiz. server.kicked.idInUse = Zaten bu sunucudasın! İki hesapla bir sunucuya baÄŸlanamazsın. -server.kicked.customClient = Bu sunucu özel sürümleri kabul etmiyor. Resmi bir sürüm indir. +server.kicked.customClient = Bu sunucu özel sürümleri kabul etmiyor. Resmî bir sürüm indir. server.kicked.gameover = Oyun bitti! -server.kicked.serverRestarting = Sunucu yeniden baÅŸlatılıyor. -server.versions = Kullandığın surum:[accent] {0}[]\nSunucunun sürümü:[accent] {1}[] -host.info = [accent]host[], [scarlet]6567[] portunda bir sunucuya ev sahipliÄŸi yapıyor. \nAynı [lightgray]wifi veya yerel aÄŸdaki[] herkes sunucu listelerinde senin sunucunu görebiliyor olmalı.\n\nEÄŸer diÄŸerlerinin herhangi bir yerden IP ile baÄŸlanabilmesini istiyorsan [accent]port yönlendirmesi[] gerekli.\n\n[lightgray]Not: EÄŸer birisi senin yerel aÄŸ oyununa katılmakta sorun yaşıyorsa güvenlik duvarı ayarlarında Mindustry'ye yerel aÄŸ baÄŸlantısı izni verdiÄŸinden emin olun. Halka açık aÄŸların zaman zaman sunucu aramaya engel olduÄŸunu unutmayın. -join.info = Burada, baÄŸlanmak istediÄŸin sunucunun [accent]IP[] adresini girebilir veya [accent]yerel aÄŸ[] sunucularını görebilirsin..\nHem yerel aÄŸ hem de geniÅŸ alan ağı çoklu oyuncu için destekleniyor.\n\n[lightgray]Not: Otomatik bir global sunucu listesi yok; eÄŸer birisine IP adresi kullanarak baÄŸlanmak istiyorsan IP adresini istemelisin. +server.kicked.serverRestarting = Sunucu yeniden baÅŸlatılıyor... +server.versions = Kullandığın Sürüm:[accent] {0}[]\nSunucunun Sürümü:[accent] {1}[] +host.info = [accent]Kurucu[], [scarlet]6567[] portunda bir sunucuya ev sahipliÄŸi yapıyor. \nAynı [lightgray]wifi veya yerel aÄŸdaki[] herkes sunucu listelerinde senin sunucunu görebiliyor olmalı.\n\nEÄŸer diÄŸerlerinin herhangi bir yerden IP ile baÄŸlanabilmesini istiyorsan [accent]port yönlendirmesi[] gerekli.\n\n[lightgray]Not: EÄŸer birisi senin yerel aÄŸ oyununa katılmakta sorun yaşıyorsa güvenlik duvarı ayarlarında Mindustry'ye yerel aÄŸ baÄŸlantısı izni verdiÄŸinden emin olun. Halka açık aÄŸların zaman zaman sunucu aramaya engel olduÄŸunu unutmayın. +join.info = Burada, baÄŸlanmak istediÄŸin sunucunun [accent]IP[] adresini girebilir veya [accent]yerel aÄŸ[] sunucularını görebilirsin..\nHem yerel aÄŸ hem de geniÅŸ alan ağı çoklu oyuncu için destekleniyor.\n\n[lightgray]Not: Otomatik bir küresel sunucu listesi yok; eÄŸer birisine IP adresi kullanarak baÄŸlanmak istiyorsan IP adresini istemelisin. hostserver = Çok Oyunculu Oyun Aç -invitefriends = ArkadaÅŸlarını Davet Et -hostserver.mobile = Oyun Kur -host = Kur +invitefriends = ArkadaÅŸlarını (Tabi Varsa) Davet Et +hostserver.mobile = Sunucu Kur +host = Sunucu Kur hosting = [accent]Sunucu açılıyor... hosts.refresh = Yenile -hosts.discovering = Yerel aÄŸ oyunu aranıyor +hosts.discovering = Yerel AÄŸ oyunu aranıyor hosts.discovering.any = Oyun aranıyor server.refreshing = Sunucu yenileniyor hosts.none = [lightgray]Yerel oyun bulunamadı! -host.invalid = [scarlet]Kurucuya baÄŸlanılamıyor. +host.invalid = [scarlet]Sunucuya baÄŸlanılamıyor. servers.local = Yerel Sunucular +servers.local.steam = Açık Oyunlar & Yerel Sunucular servers.remote = Uzak Sunucular servers.global = Topluluk Sunucuları +servers.disclaimer = Topluluk Sunucuları, [accent]Yapımcı tarafından yönetilmiyor!\n\nSunucularda, her yaÅŸa uygun olmayan yapı ve içerikler içerebilir! +servers.showhidden = Gizli Sunucuları Göster +server.shown = Görünür +server.hidden = Gizli +viewplayer = Oyuncu İzleniyor: [accent]{0} + trace = Oyuncuyu Takip Et trace.playername = Oyuncu İsmi: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = Özel ID: [accent]{0} +trace.id = Özel Kimlik: [accent]{0} +trace.language = Dil: [accent]{0} trace.mobile = Mobil Sürüm: [accent]{0} trace.modclient = Özel Sürüm: [accent]{0} -invalidid = Geçersiz Sürüm ID'si! Bir hata raporu gönder. +trace.times.joined = Girme Sayısı: [accent]{0} +trace.times.kicked = Atılma Sayısı: [accent]{0} +trace.ips = IPler: +trace.names = İsimler: +invalidid = Geçersiz Sürüm KimliÄŸi! Bir hata raporu gönder. +player.ban = Yasakla +player.kick = At +player.trace = İzini Sür +player.admin = Admin Aç/Kapa +player.team = Takım DeÄŸiÅŸtir server.bans = Yasaklılar server.bans.none = Yasaklanmış oyuncu bulunamadı! -server.admins = Yönetici +server.admins = Yöneticiler server.admins.none = Yönetici bulunamadı! server.add = Sunucu Ekle server.delete = Bu sunucuyu silmek istediÄŸine emin misin? server.edit = Sunucuyu Düzenle -server.outdated = [crimson]Güncel Olmayan Sunucu![] -server.outdated.client = [crimson]Güncel Olmayan Sürüm![] +server.outdated = [crimson]Sunucu Sürümü UyuÅŸmuyor![] +server.outdated.client = [crimson]Oyun Sürümü UyuÅŸmuyor![] server.version = [gray]v{0} {1} server.custombuild = [accent]Özel Sürüm confirmban = Bu kullanıcıyı yasaklamak istediÄŸine emin misin? confirmkick = Bu kullanıcıyı atmak istediÄŸine emin misin? -confirmvotekick = Bu kullanıcıyı oylayıp atmak istediÄŸinize emin misiniz? confirmunban = Bu kullanıcının yasağını kaldırmak istediÄŸine emin misin? confirmadmin = Bu kullanıcıyı bir yönetici yapmak istediÄŸine emin misin? confirmunadmin = Bu kullanıcının yönetici yetkilerini almak istediÄŸine istediÄŸine emin misin? +votekick.reason = Oylama Sebebi +votekick.reason.message = "{0}[white]" adlı kiÅŸiyi oylama ile atmak istediÄŸinize emin misiniz?\nEÄŸer istiyorsanız, lütfen sebebini giriniz: joingame.title = Oyuna Katıl joingame.ip = Adres: disconnect = BaÄŸlantı kesildi. @@ -226,19 +295,22 @@ disconnect.error = BaÄŸlantı hatası. disconnect.closed = BaÄŸlantı kapatıldı. disconnect.timeout = Zaman aşımı. disconnect.data = Dünya verisi yüklenemedi! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Oyuna girilemiyor ([accent]{0}[]). connecting = [accent]BaÄŸlanılıyor... +reconnecting = [accent]Yeniden BaÄŸlanılıyor... connecting.data = [accent]Dünya verisi yükleniyor... server.port = Port: -server.addressinuse = Adres zaten kullanılıyor! server.invalidport = Geçersiz port sayısı! +server.error.addressinuse = [scarlet]Port 6567 açılamadı.[]\n\nCihaz ve internetinde baÅŸka bir Mindustry sunucusu açık olmadığından emin ol! server.error = [crimson]Sunucu kurulamadı: [accent]{0} save.new = Yeni kayıt save.overwrite = Bu kaydın üstüne yazmak istediÄŸine\nemin misin? +save.nocampaign = Mücadeleden tek bir kayıt yüklenemez. overwrite = Üstüne yaz save.none = Kayıt bulunamadı! savefail = Oyun kaydedilemedi! -save.delete.confirm = Bu kaydı silmek istediÄŸine emin misin? +save.delete.confirm = Bu kaydı silmek istediÄŸine gerçekten emin misin? save.delete = Sil save.export = Kaydı Dışa Aktar save.import.invalid = [accent]Bu kayıt geçersiz! @@ -255,10 +327,11 @@ save.corrupted = [accent]Kayıt dosyası bozuk veya geçersiz! empty = on = Aç off = Kapa +save.search = Kayıtlı Oyun Ara... save.autosave = Otomatik kayıt: {0} save.map = Harita: {0} save.wave = Dalga {0} -save.mode = Oyun modu: {0} +save.mode = Oyun Modu: {0} save.date = Son Kayıt: {0} save.playtime = Oynama süresi: {0} warning = Uyarı. @@ -270,33 +343,62 @@ ok = Tamam open = Aç customize = Kuralları ÖzelleÅŸtir cancel = İptal +command = Komuta Modu +command.queue = [lightgray][Sıralanıyor] +command.mine = Kaz +command.repair = Tamir Et +command.rebuild = Yeniden İnÅŸaa Et +command.assist = Oyuncuya Yardım Et +command.move = Hareket Et +command.boost = Gazla +command.enterPayload = Kargo BloÄŸu Seç +command.loadUnits = Birim Yükle +command.loadBlocks = Blok Yükle +command.unloadPayload = Birim Bırak +command.loopPayload = Birim Transferini Döngüye Sok +stance.stop = Emri İptal Et +stance.shoot = DuruÅŸ: Saldırı +stance.holdfire = DuruÅŸ: Hazır Ol +stance.pursuetarget = DuruÅŸ: Hedefi Takip Et +stance.patrol = DuruÅŸ: Devriye Gez +stance.ram = DuruÅŸ: Düz\n[lightgray]Düz bir ol halinde ilerle. openlink = BaÄŸlantıyı Aç copylink = BaÄŸlantıyı Kopyala back = Geri +max = Maks +objective = Harita Görevi +crash.export = Çökme Hatasını Günlüğünü Dışarı Aktar +crash.none = Çökme Hatası Günlüğü Bulunamadı. +crash.exported = Çökme Hatası Günlüğü Dışarı Aktarıldı. data.export = Veriyi Dışa Aktar data.import = Veriyi İçe Aktar data.openfolder = Veri Klasörü Aç data.exported = Veri dışa aktarıldı. -data.invalid = Bu oyun verisi geçerli deÄŸil. +data.invalid = Bu oyun verisi geçerli deÄŸil. RIP data.import.confirm = Dışarıdan içeri veri aktarmak ÅŸu anki verilerinizin [scarlet]tamamını[] silecektir.[accent]Bu iÅŸlem geri alınamaz![]\n\nVeri içeri aktarıldığında oyundan çıkacaksınız. quit.confirm = Çıkmak istediÄŸinize emin misiniz? -quit.confirm.tutorial = Ne yaptığınıza emin misiniz?\nÖğreticiyi [accent] Ayarlar -> Oyun -> Öğreticiyi Yeniden Al[]'dan tekrar yapabilirsiniz. loading = [accent]Yükleniyor... -reloading = [accent]Modlar Yeniden Yükleniyor... +downloading = [accent]İndiriliyor... saving = [accent]Kayıt ediliyor... -respawn = [accent][[{0}][] Çekirdekte yeniden doÄŸ +respawn = [accent][[{0}][] Merkezde yeniden doÄŸ cancelbuilding = [accent][[{0}][] Planı temizle selectschematic = [accent][[{0}][] Seç ve kopyala pausebuilding = [accent][[{0}][] İnÅŸaatı durdur resumebuilding = [scarlet][[{0}][] İnÅŸaata devam et +enablebuilding = [scarlet][[{0}][] İnÅŸa Etmeyi BaÅŸlat +showui = Arayüz Kapalı.\nAçmak için [accent][[{0}][] bas. +commandmode.name = [accent]Komuta Modu +commandmode.nounits = [birim yok] wave = [accent]Dalga {0} wave.cap = [accent]Dalga {0}/{1} wave.waiting = [lightgray]{0} saniye içinde dalga baÅŸlayacak wave.waveInProgress = [lightgray]Dalga gerçekleÅŸiyor waiting = [lightgray]Bekleniliyor... waiting.players = Oyuncular bekleniliyor... -wave.enemies = [lightgray]{0} Tane Düşman Kaldı -wave.enemy = [lightgray]{0} Tane Düşman Kaldı +wave.enemies = [lightgray]{0} tane Düşman Kaldı +wave.enemycores = [accent]{0}[lightgray] Düşman Merkezler +wave.enemycore = [accent]{0}[lightgray] Düşman Merkez +wave.enemy = [lightgray]{0} tane Düşman Kaldı wave.guardianwarn = [accent]{0}[] dalga sonra gardiyan yaklaşıyor. wave.guardianwarn.one = [accent]{0}[] dalga sonra gardiyan yaklaşıyor. loadimage = Resim Aç @@ -306,9 +408,9 @@ custom = Özel builtin = YerleÅŸik map.delete.confirm = Bu haritayı silmek istediÄŸinizden emin misiniz? Bunu geri alamazsınız! map.random = [accent]Rastgele Harita -map.nospawn = Bu haritada oyuncunun doÄŸacağı hiç çekirdek yok! Editörden bu haritaya[accent] turuncu[] bir çekirdek ekleyin. -map.nospawn.pvp = Bu Haritada düşmanın doÄŸacağı hiç çekirdek yok! Editörden bu haritaya [scarlet]turuncu olmayan[] çekirdekler ekleyin. -map.nospawn.attack = Bu haritada oyuncunun saldıracağı hiç düşman çekirdeÄŸi yok! Editörden haritaya[scarlet] kırmızı[] çekirdekler ekleyin. +map.nospawn = Bu haritada oyuncunun doÄŸacağı hiç bir Merkez yok! Düzenleyiciden bu haritaya {0} bir Merkez ekleyin. +map.nospawn.pvp = Bu Haritada düşmanın doÄŸacağı hiç Merkez yok! Düzenleyiciden bu haritaya [scarlet]turuncu olmayan[] Merkezler ekleyin. +map.nospawn.attack = Bu haritada oyuncunun saldıracağı hiç düşman çekirdeÄŸi yok! Editörden haritaya {0} Merkezler ekleyin. map.invalid = Haritayı açarken hata oldu: bozulmuÅŸ ya da geçersiz harita dosyası.- workshop.update = Nesneyi Güncelle workshop.error = Atölye ayrıntılarını alırken hata oluÅŸtu: {0} @@ -316,13 +418,18 @@ map.publish.confirm = Bu haritayı yayınlamak istediÄŸinize emin misiniz?\n[lig workshop.menu = Bu eÅŸya ile ne yapmak istediÄŸinizi seçin. workshop.info = EÅŸya açıklaması changelog = DeÄŸiÅŸim Listesi (isteÄŸe baÄŸlı): +updatedesc = BaÅŸlık ve Açıklamanın Üzerine Yaz eula = Steam Kullanıcı SözleÅŸmesi missing = Bu eÅŸya silinmiÅŸ veya taşınmış.\n[lightgray]Workshop listesinden kaldırıldı. -publishing = [accent]Yayınlanıyor... +publishing = [accent]Yayımlanıyor... publish.confirm = Bunu yayınlamak istediÄŸinize emin misiniz?\n[lightgray]önce Atölye SözleÅŸmesine uyduÄŸunuza emin olun, yoksa yapıtlarınız gözükmeyecektir! -publish.error = Nesneyi yayınlarken hata oluÅŸtu: {0} +publish.error = Nesneyi yayımlarken hata oluÅŸtu: {0} steam.error = Steam hatası.\nHata kodu: {0} +editor.planet = Gezegen: +editor.sector = Sektör: +editor.seed = Tohum: +editor.cliffs = Duvardan Kayalığa editor.brush = Fırça editor.openin = Düzenleyici'de Aç editor.oregen = Maden OluÅŸumu @@ -334,76 +441,119 @@ editor.nodescription = Haritanın en az 4 harflik bir açıklaması olması gere editor.waves = Dalgalar: editor.rules = Kurallar: editor.generation = OluÅŸum: +editor.objectives = Görevler: +editor.locales = Dil Paketleri +editor.worldprocessors = Evrensel İşlemciler +editor.worldprocessors.editname = Adı Düzenle +editor.worldprocessors.none = [lightgray]Evrensel İşlemci bloÄŸu bulunamadı!\nHarita düzenleyicisinden ekleyin veya aÅŸağıdaki \ue813 Ekle butonunu kullanın. +editor.worldprocessors.nospace = Evrensel İşlemci yerleÅŸtirecek yer yok!\n Gerçekten bütün haritayı yapılarla mı doldurdun? Bunu neden yaparsın? +editor.worldprocessors.delete.confirm = Bu Evrensel İşlemciyi silmek istediÄŸine emin misin?\n\nEÄŸer etrafında duvar varsa bir doÄŸal duvarla yer deÄŸiÅŸtirilecek. editor.ingame = Oyun içinde düzenle +editor.playtest = Test Et editor.publish.workshop = Atölyede Yayınla editor.newmap = Yeni Harita editor.center = Ortala +editor.search = Harita Ara... +editor.filters = Harita Filtrele +editor.filters.mode = Oyun Modları: +editor.filters.type = Harita Türleri: +editor.filters.search = Ara: +editor.filters.author = Yapımcı +editor.filters.description = Açıklama +editor.shiftx = X Ekseninde Kaydır +editor.shifty = Y Ekseninde Kaydır workshop = Atölye waves.title = Dalgalar waves.remove = Kaldır -waves.never = waves.every = her waves.waves = dalga(lar) +waves.health = can: {0}% waves.perspawn = doÄŸma noktası başına waves.shields = kalkan/dalga waves.to = doÄŸru +waves.spawn = doÄŸma bölgesi: +waves.spawn.all = +waves.spawn.select = DoÄŸma Bölgesi Seçme +waves.spawn.none = [scarlet]bu haritada doÄŸma noktası bulunmuyor +waves.max = maks birim waves.guardian = Gardiyan waves.preview = Önizleme waves.edit = Düzenle... +waves.random = Rastgele waves.copy = Panodan kopyala waves.load = Panodan yükle waves.invalid = Panoda geçersiz dalga sayısı var. waves.copied = Dalgalar kopyalandı. waves.none = Düşman bulunamadı.\nBoÅŸ dalga düzenlerin otomatik olarak varsayılan düzenle deÄŸiÅŸtirileceÄŸini unutmayın +waves.sort = Sıralama ÖlçeÄŸi: +waves.sort.reverse = Ters Sırala +waves.sort.begin = BaÅŸla +waves.sort.health = Can +waves.sort.type = Tür +waves.search = Dalga ara... +waves.filter = Birim Filtresi +waves.units.hide = Hepsini Gizle +waves.units.show = Hepsini Göster +#bunlar özellikle küçük baÅŸlıyor. wavemode.counts = miktarlar wavemode.totals = toplamlar wavemode.health = can +all = Tüm editor.default = [lightgray] details = Detaylar... edit = Düzenle... +variables = DeÄŸiÅŸkenler +logic.clear.confirm = Bu iÅŸlemciden bütün kodları silmek istediÄŸinze emin misiniz? +logic.globals = Dahili DeÄŸiÅŸkenler editor.name = İsim: -editor.spawn = Eleman OluÅŸtur -editor.removeunit = Eleman Kaldır +editor.spawn = Birim OluÅŸtur +editor.removeunit = Birim Kaldır editor.teams = Takımlar editor.errorload = Dosya yüklerken hata oluÅŸtu:\n[accent]{0} editor.errorsave = Dosya kaydederken hata oluÅŸtu:\n[accent]{0} -editor.errorimage = Bu bir harita deÄŸil, bir resim.\n\nEÄŸer 3.5/build 40 bir haritayı içeri aktarmak istiyorsanız, editördeki "Legacy Harita İçeri Aktar" butonunu kullanın. +editor.errorimage = Bu bir harita deÄŸil, bir resim.\n\nEÄŸer 3.5/b40 bir haritayı içeri aktarmak istiyorsanız, düzenleyicideki "Legacy Harita İçeri Aktar" butonunu kullanın. editor.errorlegacy = Bu harita çok eski ve artık desteklenmeyen bir legacy harita biçimi kullanıyor. editor.errornot = Bu bir harita dosyası deÄŸil. editor.errorheader = Bu harita dosyası geçerli deÄŸil ya da bozuk. -editor.errorname = Haritanın ismi yok. Bir kayıt dosyası mı yüklemeye çalışıyorsunuz? +editor.errorname = Haritanın ismi yok!?! Bir kayıt dosyası mı yüklemeye çalışıyorsunuz? +editor.errorlocales = Yerel Paketleri okurkan hata oluÅŸtu. editor.update = Güncelle editor.randomize = Rastgele Yap +editor.moveup = Yukarı Kaydır +editor.movedown = AÅŸağı Kaydır +editor.copy = Kopyala editor.apply = Uygula -editor.generate = OluÅŸtur +editor.generate = OluÅŸum +editor.sectorgenerate = Sektör OluÅŸtur editor.resize = Yeniden Boyutlandır editor.loadmap = Harita Yükle -editor.savemap = Harita Kaydet +editor.savemap = Haritayı Kaydet +editor.savechanges = [scarlet]KaydedilmemiÅŸ deÄŸiÅŸiklikleriniz var!\n\n[]Kaydetmek ister misiniz? editor.saved = Kaydedildi! editor.save.noname = Haritanın bir ismi yok! 'Harita bilgileri' menüsünden bir isim seç. editor.save.overwrite = Haritan bir yerleÅŸik haritayla örtüşüyor! 'Harita bilgileri' menüsünden farklı bir isim seç. editor.import.exists = [scarlet]İçeri aktarılamadı:[] '{0}' isminde zaten bir yerleÅŸik harita var! -editor.import = İçeri Aktar... +editor.import = İçeri Aktar editor.importmap = Haritayı İçeri Aktar editor.importmap.description = Var olan bir haritayı içeri aktar editor.importfile = Dosyayı İçeri Aktar editor.importfile.description = Dışarıdaki bir harita dosyasını içeriye aktar editor.importimage = Eski Haritayı İçeri Aktar editor.importimage.description = Dışarıdaki bir resim-harita dosyasını içeriye aktar -editor.export = Dışarı Aktar... +editor.export = Dışarı Aktar editor.exportfile = Dosyayı Dışarı Aktar editor.exportfile.description = Harita dosyasını dışarıya aktar editor.exportimage = Arazi Görüntüsü Dışa Aktar editor.exportimage.description = Bir harita resim dosyasını dışa aktar editor.loadimage = Arazi İçeri Aktar editor.saveimage = Arazi Dışa Aktar -editor.unsaved = [scarlet]KaydedilmemiÅŸ deÄŸiÅŸiklikleriniz var![]\nÇıkmak istediÄŸinize emin misiniz? +editor.unsaved = [scarlet]KaydedilmemiÅŸ deÄŸiÅŸikliklerin var![]\nÇıkmak istediÄŸinize emin misiniz? editor.resizemap = Haritayı Yeniden Boyutlandır editor.mapname = Harita İsmi: editor.overwrite = [accent]Uyarı!\nBu iÅŸlem var olan bir haritanın üstüne yazar. -editor.overwrite.confirm = [scarlet]Uyarı![] Bu ada sahip bir harita zaten var. Onun üstüne yazmak ister misiniz? +editor.overwrite.confirm = [scarlet]Uyarı![] Bu ada sahip bir harita zaten var. Onun üstüne yazmak istediÄŸine emin misiniz? editor.exists = Bu ada sahip bir harita zaten var. editor.selectmap = Yüklemek için bir harita seçin: @@ -417,17 +567,22 @@ toolmode.square = Kare toolmode.square.description = Kare fırça. toolmode.eraseores = Maden Sil toolmode.eraseores.description = Sadece madenleri siler.. -toolmode.fillteams = Takımları Doldur +toolmode.fillteams = Takımları Doldur toolmode.fillteams.description = Bloklar yerine takımları doldurur. +toolmode.fillerase = Doldur Sil +toolmode.fillerase.description = Aynı türden blokları sil. toolmode.drawteams = Takım Çiz toolmode.drawteams.description = Bloklar yerine takımları çizer.. +toolmode.underliquid = Sıvı Altı +toolmode.underliquid.description = Sıvıların altına zemin koyma. + +filters.empty = [lightgray]Hiç filtre yok! AÅŸağıdaki düğmelerle bir adet ekle. -filters.empty = [lightgray]Hiç filtre yok! AÅŸağıdaki butonla bir adet ekleyin. filter.distort = Çarpıt filter.noise = Gürültü filter.enemyspawn = Düşman DoÄŸma Alanı Seçimi filter.spawnpath = DoÄŸma Noktasına Yol -filter.corespawn = Çekirdek Seçimi +filter.corespawn = Merkez Seçimi filter.median = Medyan filter.oremedian = Maden Medyanı filter.blend = GeçiÅŸ @@ -439,6 +594,8 @@ filter.clear = Temizle filter.option.ignore = Yoksay filter.scatter = Saç filter.terrain = Arazi +filter.logic = Mantık + filter.option.scale = Ölçek filter.option.chance = Åžans filter.option.mag = Genlik @@ -447,20 +604,42 @@ filter.option.circle-scale = Daire Ölçek filter.option.octaves = Oktavlar filter.option.falloff = Düşüş filter.option.angle = Açı +filter.option.tilt = EÄŸim +filter.option.rotate = Döndür filter.option.amount = Miktar filter.option.block = Blok filter.option.floor = Zemin filter.option.flooronto = Hedef Zemin -filter.option.target = Target +filter.option.target = Hedef +filter.option.replacement = DeÄŸiÅŸtirme filter.option.wall = Duvar filter.option.ore = Maden filter.option.floor2 = İkincil Duvar filter.option.threshold2 = İkincil EÅŸik filter.option.radius = Yarıçap filter.option.percentile = Yüzdelik +filter.option.code = Kod +filter.option.loop = Döngü +locales.info = Burada, haritanız için dil paketleri ekleyebilirsiniz. Dil paketlerinde, her sabitin bir adı ve de bir deÄŸeri olur. Bu sabitler adları ile evrensel iÅŸlemciler ve hedefler tarafından kullanılabilirler. Metin biçimlendirme desteklerler (placeholder deÄŸerleri asıllarıyla deÄŸiÅŸtirmeyi).\n\n[cyan]Örnek sabit:\n[]ad: [accent]timer[]\ndeÄŸer: [accent]Örnek zamanlayıcı, kalan zaman: {0}[]\n\n[cyan]Kullanım:\n[]Bir görevin metni olarak ayarla: [accent]@timer\n\n[]Evrensel iÅŸlemcide yazdır:\n[accent]localeprint "timer"\nformat time\n[gray](time burada ayrıca hesaplanan bir deÄŸiÅŸken) +locales.deletelocale = Bu dil paketini silmek istediÄŸinze emin misiniz? +locales.applytoall = DeÄŸiÅŸiklikleri Tüm Dil Paketlerine Uygula +locales.addtoother = DiÄŸer Dil Paketlerine Ekle +locales.rollback = Son uygulanana geri dön +locales.filter = Sabit filtresi +locales.searchname = Ad ara... +locales.searchvalue = DeÄŸer ara... +locales.searchlocale = Dil paketi ara... +locales.byname = Ada göre +locales.byvalue = DeÄŸere göre +locales.showcorrect = Bütün dil paketlerinde bulunan ve her yerde özel deÄŸeri olan sabitleri göster +locales.showmissing = Bazı dil paketlerinde eksik olan sabitleri göster +locales.showsame = Farklı dil paketlerinde aynı deÄŸere sahip sabitleri göster +locales.viewproperty = Bütün dillerde göster +locales.viewing = Sabit "{0}" gösteriliyor. +locales.addicon = Simge Ekle -width = Eni: -height = Boyu: +width = En: +height = Boy: menu = Menü play = Oyna campaign = Mücadele @@ -468,87 +647,197 @@ load = Yükle save = Kaydet fps = FPS: {0} ping = Ping: {0}ms +tps = TPS: {0} +memory = Mem: {0}mb +memory2 = Mem:\n {0}mb +\n {1}mb language.restart = Dil ayarlarının çalışması için lütfen oyunu yeniden baÅŸlatın. settings = Ayarlar tutorial = Öğretici -tutorial.retake = Öğreticiyi Yeniden Al +tutorial.retake = Öğreticiyi Yeniden Gör editor = Düzenleyici mapeditor = Harita Düzenleyicisi abandon = Terk Et -abandon.text = Bu bölge ve toplanan bütün kaynaklar düşmana kaybedilecek. +abandon.text = Bu bölge ve toplanan bütün kaynaklar düşmana kaybedilecek! locked = Kilitli complete = [lightgray]UlaÅŸ: requirement.wave = Bölge {1}'de Dalga {0} requirement.core = {0}`da Düşman ÇekirdeÄŸi Yok Et requirement.research = {0} araÅŸtır +requirement.produce = {0} üret requirement.capture = {0} sektörünü ele geçir -bestwave = [lightgray]En İyi Dalga: {0} +requirement.onplanet = Sektör {0} Kontrol Et +requirement.onsector = Sektör {0}e İniÅŸ Yap launch.text = Kalkış -research.multiplayer = Sadece kurucu araÅŸtırma yapabilir. +map.multiplayer = Sadece sunucu sahibi sektörleri görebilir. uncover = Aç configure = Ekipmanı Yapılandır +objective.research.name = AraÅŸtır +objective.produce.name = Üret +objective.item.name = Elde Et +objective.coreitem.name = Merkez EÅŸyası +objective.buildcount.name = Bina Sayısı +objective.unitcount.name = Birim Sayısı +objective.destroyunits.name = Birim Yoket +objective.timer.name = Sayaç +objective.destroyblock.name = Blok Yok Et +objective.destroyblocks.name = Blokları Yok Et +objective.destroycore.name = Merkezi Yok Et +objective.commandmode.name = Komuta Et +objective.flag.name = Bayrak +marker.shapetext.name = Åžekilli Yazı +marker.point.name = Nokta +marker.shape.name = Åžekil +marker.text.name = Yazı +marker.line.name = Hat +marker.quad.name = Dörtlü +marker.texture.name = Doku +marker.background = Arka Plan +marker.outline = Ana Hat +objective.research = [accent]AraÅŸtır:\n[]{0}[lightgray]{1} +objective.produce = [accent]Üret:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Yok Et:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Yok Et: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Elde Et: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Merkeze Taşı:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]İnÅŸa Et: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Birim İnÅŸa Et: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Yok Et: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Düşman saldırısına: [lightgray]{0}[] +objective.enemyescelating = [accent]Düşman üretimi [lightgray]{0}[] içinde hızlanacak. +objective.enemyairunits = [accent]Düşman hava birimi üretimi [lightgray]{0}[] içinde baÅŸlayacak. +objective.destroycore = [accent]Düşman Merkezini Yok Et +objective.command = [accent]Birimleri Kumanda Et +objective.nuclearlaunch = [accent]âš  Nükleer Saldırı tespit edildi: [lightgray]{0} +announce.nuclearstrike = [red]âš  NÜKLEER SALDIRI âš  + loadout = Yükleme resources = Kaynaklar +resources.max = Maks bannedblocks = Yasaklı Bloklar +unbannedblocks = Unbanned Blocks +objectives = Görevler +bannedunits = Yasaklı Birimler +unbannedunits = Unbanned Units +bannedunits.whitelist = Yasaklı Birimleri Beyazlisteye Ata +bannedblocks.whitelist = Yasaklı Binaları Beyazlisteye Ata addall = Hepsini Ekle +launch.from = [accent]{0} dan fırlatılıyor. +launch.capacity = Fırlatılan Malzeme Kapasitesi: [accent]{0} launch.destination = Varış Yeri: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = Miktar 0 ve {0} arasında bir sayı olmalı. -zone.unlocked = [lightgray]{0} kilidi açıldı. -zone.requirement.complete = {0}. dalgaya ulaşıldı:\n{1} bölge ÅŸartları karşılandı. -zone.resources = [lightgray]Tespit Edilen Kaynaklar: -zone.objective = [lightgray]Hedef: [accent]{0} -zone.objective.survival = Hayatta Kal -zone.objective.attack = Düşman Merkezini Yok Et add = Ekle... -boss.health = Boss Canı +guardian = Gardiyan connectfail = [crimson]BaÄŸlantı hatası:\n\n[accent]{0} error.unreachable = Sunucuya ulaşılamıyor.\nAdresin doÄŸru yazıldığına emin misiniz? error.invalidaddress = Geçersiz adres. -error.timedout = Zaman aşımı!\nSunucunun port yönlendirmeyi ayarladığına ve adresin doÄŸru olduÄŸuna emin olun! +error.timedout = Zaman aşımı!\nSunucunun port yönlendirmeyi ayarladığına ve adresin doÄŸru olduÄŸuna emin ol! error.mismatch = Paket hatası:\nSunucu ve alıcı arasında versiyon uyuÅŸmazlığı ihtimali var.\nHem sizde hem de sunucuda Mindustry'nin en son sürümü yüklü olduÄŸuna emin olun! error.alreadyconnected = Zaten baÄŸlanıldı. error.mapnotfound = Harita dosyası bulunamadı! error.io = AÄŸ I/O hatası. error.any = Bilinmeyen aÄŸ hatası. error.bloom = KamaÅŸma baÅŸlatılamadı.\nCihazınız bu özelliÄŸi desteklemiyor olabilir. +error.moddex = Mindustry bu modu yükleyemedi.\nAndroid'de son deÄŸiÅŸimlerden dolayı cihazın Java modlarını yükleyemiyor.\nBu sorunun bilinen bir çözümü yok, zaten oyunu git pc de oyna, mobil kontroller kanser... weather.rain.name = YaÄŸmur -weather.snow.name = Kar +weather.snowing.name = Kar weather.sandstorm.name = Kum Fırtınası -weather.sporestorm.name = Spor YaÄŸmuru +weather.sporestorm.name = Spor Fırtınası weather.fog.name = Sis +campaign.playtime = \uf129 [lightgray]Sektörde Oynama Süresi: {0} +campaign.complete = [accent]Tebrikler!.\n\n{0} üzerinde bulunan düşman bozguna uÄŸratılmıştır.\n[lightgray]Son sektör fethedilmiÅŸtir. GG! +sectorlist = Sektörler +sectorlist.attacked = {0} saldırı altında sectors.unexplored = [lightgray]KeÅŸfedilmemiÅŸ sectors.resources = Kaynaklar: sectors.production = Üretim: +sectors.export = İhracat: +sectors.import = İthalat: +sectors.time = Zaman: +sectors.threat = Zorluk: +sectors.wave = Dalga: sectors.stored = Depolanan: sectors.resume = Devam Et -sectors.launch = Kalkış +sectors.launch = Fırlat sectors.select = Seç +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]yok (güneÅŸ) +sectors.redirect = Redirect Launch Pads sectors.rename = Sektörü Yeniden Adlandır -sector.missingresources = [scarlet]Yetersiz Çekirdek Kaynakları +sectors.enemybase = [scarlet]Düşman Üs +sectors.vulnerable = [scarlet]Dayanıksız +sectors.underattack = [scarlet]Saldırı Altında! [accent]{0}% hasarlı +sectors.underattack.nodamage = [scarlet]ElegeçirilmemeiÅŸ +sectors.survives = [accent]{0} Dalgaya dayanabilir! +sectors.go = Git +sector.abandon = Terk Et +sector.abandon.confirm = Bu sektörün merkezi kendini imha edecek.\nDevam Et? +sector.curcapture = Sektör Elegeçirildi +sector.curlost = Sektör Kaybedildi +sector.missingresources = [scarlet]Yetersiz Merkez Kaynakları +sector.attacked = Sektör [accent]{0}[white] saldırı altında! +sector.lost = Sektör [accent]{0}[white] kaybedildi! +sector.capture = Sektör [accent]{0}[white]Ele geçirildi! +sector.capture.current = Sektör Ele geçirildi! +sector.changeicon = İkon DeÄŸiÅŸtir +sector.noswitch.title = Sektör DeÄŸiÅŸtirilemiyor +sector.noswitch = Bir Sektör saldırı altındayken baÅŸka bir sektöre geçemezsin.\n\nSektör: [accent]{1}[] deki [accent]{0}[] +sector.view = Sektörü Göster + +threat.low = Düşük +threat.medium = Orta +threat.high = Yüksek +threat.extreme = Aşırı +threat.eradication = İmkansız +difficulty.casual = Sakin +difficulty.easy = Kolay +difficulty.normal = Normal +difficulty.hard = Zor +difficulty.eradication = Absürd + +planets = Gezegenler planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = GüneÅŸ +sector.impact0078.name = Darbe 0078 sector.groundZero.name = Sıfır Noktası sector.craters.name = Kraterler sector.frozenForest.name = DonmuÅŸ Orman sector.ruinousShores.name = Harap Kıyılar sector.stainedMountains.name = Lekeli DaÄŸlar -sector.desolateRift.name = Issız Aralık -sector.nuclearComplex.name = Kompleks Nükleer Üretimi -sector.overgrowth.name = Fazla Büyüme -sector.tarFields.name = Katran Alanları +sector.desolateRift.name = Issız Kanyon +sector.nuclearComplex.name = Nükleer Santral Kompleksi +sector.overgrowth.name = Sarmaşık Sporlar +sector.tarFields.name = Katran Çölü sector.saltFlats.name = Tuz Düzlükleri sector.fungalPass.name = Mantar Geçidi +sector.biomassFacility.name = Sentetik Biyokütle Tesisi +sector.windsweptIslands.name = Rüzgarlı Adalar +sector.extractionOutpost.name = Kazı Üssü +sector.facility32m.name = 32 M Üssü +sector.taintedWoods.name = İsli Orman +sector.infestedCanyons.name = İstila EdilmiÅŸ Canyon +sector.planetaryTerminal.name = Gezegenler Arası Terminal +sector.coastline.name = Kıyı Åžeridi +sector.navalFortress.name = Deniz Kalesi +sector.polarAerodrome.name = Polar Havaalanı +sector.atolls.name = Atoller +sector.testingGrounds.name = Test Arazisi +sector.seaPort.name = Deniz Limanı +sector.weatheredChannels.name = Erezyonlu Kanallar +sector.mycelialBastion.name = Mantar Kale +sector.frontier.name = Öncü Üs sector.groundZero.description = Yeniden baÅŸlamak için ideal bölge. Düşük düşman tehlikesi ve az miktarda kaynak mevcut. Mümkün olduÄŸunca çok bakır ve kurÅŸun topla.\nİlerle. sector.frozenForest.description = Burada, daÄŸlara yakın bölgelerde bile sporlar etrafa yayıldı. Dondurucu soÄŸuk onları sonsuza dek durduramaz.\n\nEnerji kullanmaya baÅŸla. Termik jeneratörler inÅŸa et. Tamircileri kullanmayı öğren. -sector.saltFlats.description = Çölün kenar kısımlarında tuz düzlükleri uzanır. Bu konumda az miktarda kaynak bulunur.\n\nDüşman burada kompleks bir kaynak depolama sistemi inÅŸa etti. Çekirdeklerini yok et. Ayakta hiçbir ÅŸey bırakma. +sector.saltFlats.description = Çölün kenar kısımlarında tuz düzlükleri uzanır. Bu konumda az miktarda kaynak bulunur.\n\nDüşman burada kompleks bir kaynak depolama sistemi inÅŸa etti. Merkezlerini yok et. Ayakta hiçbir ÅŸey bırakma. sector.craters.description = Eski savaÅŸların bir anıtı olan bu kratere su dolmuÅŸ. Alanı yeniden ele geçir. Kum topla ve metacam üret. Taret ve matkapları soÄŸutmak için su pompala. sector.ruinousShores.description = Yıkıntıların ardında bir kıyı var. Bir zamanlar bu konum bir dizi kıyı defansına ev sahipliÄŸi yapmış. Geriye pek bir ÅŸey kalmamış. Sadece en temel savunma yapıları zarar görmeden kaldı, onun dışındaki her ÅŸey hurdaya geri dönüştü.\nDışa doÄŸru geniÅŸletmeye devam et. Teknolojiyi yeniden keÅŸfet. sector.stainedMountains.description = Daha uzaklarda daÄŸlar uzanıyor, daha sporlar tarafından istilaya uÄŸramamışlar.\nAlandaki serbest titanyumu çıkart ve kullanmasını öğren.\n\nDüşman varlığı burada daha fazla. Onların daha güçlü birimlerini göndermelerine izin verme. @@ -557,6 +846,75 @@ sector.tarFields.description = Bir petrol üretim bölgesinin eteklerinde, daÄŸl sector.desolateRift.description = Aşırı tehlikeli bir bölge. Bol kaynaklar, ama az yer mevcut. Yüksek yıkım riski. Mümkün olduÄŸunca çabuk ayrılmaya çalış. Düşman saldırıları arasındaki uzun mesafeye aldanma. sector.nuclearComplex.description = Toryum üretimi ve iÅŸlenmesi için eski bir tesistir, harabeye dönüşmüştür.\n[lightgray]Toryumu ve onun birçok kullanımını araÅŸtır. \n\nDüşman burada çok sayıda mevcut ve sürekli saldırganları arıyorlar. sector.fungalPass.description = Yüksek daÄŸlar ve daha alçak, sporla dolu topraklar arasında bir geçiÅŸ alanıdır. Burada küçük bir düşman keÅŸif üssü bulunuyor.\nOnu yok et.\nDagger ve Crawler birlikleri kullan. İki çekirdeÄŸi çıkar. +sector.biomassFacility.description = Sporların ana kaynağı. Burası, onların üretim yeri.\nOnların içindeki gücü araÅŸtır. Sporları parçala, enerji ve plastik üret..\n\n[lightgray]Bu Fabrika yıkıldığında, sporlar etrafa yayldı. Hiçbir yaÅŸam formu, bu forma üstün gelemedi. +sector.windsweptIslands.description = Kıyının hemen yanında, bir adalar topluluÄŸu. Kayıtlar bir zamanlar, [accent]Plastik[]-üreten binalar olduÄŸunu gösteriyor.\n\nDüşman gemilerini batır, bir üs inÅŸa et ve plastik üretmeye baÅŸla. +sector.extractionOutpost.description = Uzak bir üs, düşman tarafından inÅŸa edildiÄŸi düşünülüyor.\n\nSektörler arası aktarım, gelecek için çok önemli bir kademe. Üssü yok et, Fırlatış rampasını aç! +sector.impact0078.description = Burası, eskiden buraya düşmüş bir yıldızlar arası uzay gemisinin kalıntıları.\n\nOlabildiÄŸince çok ÅŸeyi araÅŸtır. Teknolojiden yararlan. +sector.planetaryTerminal.description = Son aÅŸama.\n\nBu üs, baÅŸka gezegenlere gitmeyi saÄŸlayan teknolojiyi barıdırıyor. Aşırı iyi bir ÅŸekilde korunuyor.\n\nOlabildiÄŸince hızlı bir ÅŸekilde gemi üret ve düşman üssü elegeçir. Gezegenler Arası Hızladırıcıyı aç! +sector.coastline.description = Bu bölgede denizel birim teknoloji kalıntıları tespit edildi. Düşman saldırılarını püskürt, sektörü ele geçir ve teknolojiyi kurtar. +sector.navalFortress.description = Düşman bu uzak adaya doÄŸal olarak korunan bir üs kurmuÅŸ. Bu üssü yok et. Onların geliÅŸmiÅŸ savaÅŸ gemisi teknolojilerini elde et ve araÅŸtır. +sector.cruxscape.name = Crux Düzlüğü +sector.geothermalStronghold.name = Jeotermal Sığınağı +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon +sector.onset.name = Yeni BaÅŸlangıç +sector.aegis.name = Siper +sector.lake.name = Göletçik +sector.intersect.name = KesiÅŸim +sector.atlas.name = Atlas +sector.split.name = Ayrılım +sector.basin.name = Havza +sector.marsh.name = Bataklık +sector.peaks.name = Doruk Noktası +sector.ravine.name = Kanyon +sector.caldera-erekir.name = Kaldera +sector.stronghold.name = Sığınak +sector.crevice.name = Çatlak +sector.siege.name = KuÅŸatma +sector.crossroads.name = KavÅŸak +sector.karst.name = Karst +sector.origin.name = BaÅŸlangıç +sector.onset.description = Öğretici Sektör. Bu Sektörün Görevleri daha belirlenmedi. Daha fazla bilgi için beklemede kal. +sector.aegis.description = Düşman Kalkanların arkasına Sığınmış Durumda! Bu Sektörde Deneysel bir Kalkan Kırıcı Bulunmakta.\nBu Yapıyı Bul, Tungsten ile çalıştır ve Düşman Base i Fethet! +sector.lake.description = Bu Sektörün Cürüf Gölü, birimleri büyük oranda engelliyor. Bir Hovercraft tek seçeneÄŸin.\n[accent]Gemi Fabrikatörünü[] araÅŸtır ve [accent]elude[] birimini olabildiÄŸince kısa sürede üret! +sector.intersect.description = Taramalar, bu Sektörün farklı yönlerden salıdırya uÄŸrayacağını belirtiyor.\nHızlı bir ÅŸekilde savunma kur.\n[accent]Mech[] birimleri bu Sektör için bir olmazssa olmaz! +sector.atlas.description = Bu Sektör, farklı tür saldırılar isteyen dengesiz bir araziden oluÅŸuyor.\nDüşman Üssünü yenebilmek için GeliÅŸtirilmiÅŸ birimler gerekebilir.\n[accent]Elektolizörü[] ve [accent]Tank Yeniden Yapılandırıcı[] yı araÅŸtırmadan bu sektör oldukça zor. +sector.split.description = Bu sektörde az düşman oluÅŸu burayı yeni taşıma teknolojisini test etmek için çok uygun bir yer yapıyor. UwU +sector.basin.description = Bu sektörde çok sayıda düşman tespit edildi.\nHızlıca birim üret ve düşman merkezlerini ele geçir. +sector.marsh.description = Bu sektörde bolca arkisit bulunuyor ancak az sayıda baca deliÄŸi var.\n[accent]Kimyasal Yanma Odası[] inÅŸa ederek elektrik üret. +sector.peaks.description = Bu sektördeki daÄŸlık arazi çoÄŸu birimi kullanışsız kılıyor. Uçan birimler gerekecektir.\nDüşman hava savunmalarına dikkat et. Hava savunmaların destekçi binalarını hedef alarak bazılarını devre dışı bırakmak mümkün olabilir. +sector.ravine.description = Burada düşman merkezi tespit edilemedi, ancak düşman için önemli bir geçiÅŸ rotası. DeÄŸiÅŸik türde birimler geçebilir.\n[accent]Akı[] üret. [accent]Afflict[] taretleri inÅŸa et. +sector.caldera-erekir.description = Bu haritadaki madenler çok sayıda adaya dağılmış durumda.\nDron taşımcılığını aç ve taşıma sistemi kur. +sector.stronghold.description = Bu sektörde düşmanlar senin [accent]toryum[] almanı engellemek için ellerinden geleni yapıyor!\nOnların HAİN planlarını boz ve teknolojini geliÅŸtir. +sector.crevice.description = Düşman senin üssünü ele geçirmek için çok sayıda birim gönderecek.\n[accent]Karbür[] elde et ve [accent]Piroliz Jeneratörü[]'nü aç. Bu hayatta kalmak için tek ÅŸansın olabilir! +sector.siege.description = Bu sektör, iki farklı kanyon içeriyor. İki tarafdan aynı anda savunmaya hazır ol.\n[accent]Siyanojen[] üret daha da güçlü tankları aç.\nDikkat: Uzun menzilli füzeler tespit edildi! Füzeler hedefe varmadan havada vurulabilir. +sector.crossroads.description = Bu sektördeki üsler farklı seviyelerde inÅŸa edilmiÅŸ. Adapte olmak için baÅŸka birimleri araÅŸtır.\nEk olarak, bazı üslerin koruma kalkanları bulunmakta. Nasıl çalıştıklarını bulmaya çalış. +sector.karst.description = Bu sektör kaynak bakımından zengin, ancak yeni bir merkez iniÅŸ yaptığı anda düşman üzerimize çökecek.\nKaynakları iyi deyerlendir ve [accent]faz[]'ı aç. +sector.origin.description = Güçlü düşmanları barındıran son sektör.\nDaha fazla uyumlu araÅŸtırma kalmadı - tüm gücünle düşmanı yenmeye çalış! + +status.burning.name = Yanıyor +status.freezing.name = Donuyor +status.wet.name = Islak +status.muddy.name = Çamurlu +status.melting.name = Eriyor +status.sapped.name = EmilmiÅŸ +status.electrified.name = ElektriklenmiÅŸ +status.spore-slowed.name = Sporlanmış +status.tarred.name = ZiftlenmiÅŸ +status.overdrive.name = Yüksek Hızlı +status.overclock.name = Hızlandırlımış +status.shocked.name = Çarpılmış +status.blasted.name = Patlatılmış +status.unmoving.name = SabitlenmiÅŸ +status.boss.name = Gardiyan settings.language = Dil settings.data = Oyun Verisi @@ -567,8 +925,8 @@ settings.controls = Kontroller settings.game = Oyun settings.sound = Ses settings.graphics = Grafikler -settings.cleardata = Oyun Verisini Sil... -settings.clear.confirm = Verileri silmek istediÄŸinizden emin misiniz?\nBu iÅŸlemi geri alamazsınız! +settings.cleardata = âš  Tüm Oyun Verisini Sil âš  +settings.clear.confirm = Verileri silmek istediÄŸinizden emin misiniz?\nBu iÅŸlemi geri alamazsınız!!! settings.clearall.confirm = [scarlet]Uyarı![]\nBu iÅŸlem kayıtlar, haritalar açılan bloklar ve tuÅŸ atamaları dahil bütün verileri silecektir.\n"Tamam" tuÅŸuna bastığınızda bütün verileriniz silinecek ve oyun kapanacaktır. settings.clearsaves.confirm = Tüm kayıtlarınızı silmek istediÄŸinizden emin misiniz? settings.clearsaves = Kayıtları Sil @@ -579,7 +937,7 @@ settings.clearcampaignsaves.confirm = Mücadele modundaki oynadığınız tüm s paused = [accent] clear = Temizle banned = [scarlet]Yasaklı -unplaceable.sectorcaptured = [scarlet]Ele geçirilmiÅŸ sektör gerekir +unsupported.environment = [scarlet]Desteklenmeyen Ortam yes = Evet no = Hayır info.title = Bilgi @@ -587,13 +945,18 @@ error.title = [crimson]Bir hata oldu error.crashtitle = Bir hata oldu unit.nobuild = [scarlet]Birlik inÅŸa edemiyor lastaccessed = [lightgray]Son EriÅŸme: {0} +lastcommanded = [lightgray]Son Kontrol Edilen: {0} block.unknown = [lightgray]??? +stat.showinmap = +stat.description = Açıklama stat.input = GiriÅŸ stat.output = Çıkış +stat.maxefficiency = Maks Verimlilik stat.booster = Güçlendirici stat.tiles = Gereken Kare -stat.affinities = Yakınlıklar +stat.affinities = Durum Özellikleri +stat.opposites = Zıtlıklar stat.powercapacity = Enerji Kapasitesi stat.powershot = Enerji/Atış stat.damage = Hasar @@ -615,7 +978,12 @@ stat.itemcapacity = EÅŸya Kapasitesi stat.memorycapacity = Bellek Kapasitesi stat.basepowergeneration = Temel Enerji Üretimi stat.productiontime = Üretim Süresi -stat.repairtime = Tamir Tamir Edilme Süresi +stat.repairtime = Tamir Edilme Süresi +stat.repairspeed = Tamir Hızı +stat.weapons = Silahlar +stat.bullet = Mermi +stat.moduletier = Modül Seviyesi +stat.unittype = Birlik Türü stat.speedincrease = Hız Artışı stat.range = Menzil stat.drilltier = Kazılabilenler @@ -623,44 +991,101 @@ stat.drillspeed = Temel Matkap Hızı stat.boosteffect = Hızlandırma Efekti stat.maxunits = Maksimum Aktif Birim stat.health = Can +stat.armor = Zırh stat.buildtime = İnÅŸaat Süresi stat.maxconsecutive = Art Arda En Fazla stat.buildcost = İnÅŸaat Fiyatı -stat.inaccuracy = İskalama Oranı +stat.inaccuracy = Iskalama Oranı stat.shots = Atışlar stat.reload = Atışlar/Sn stat.ammo = Mermi stat.shieldhealth = Kalkan Canı stat.cooldowntime = SoÄŸuma Süresi stat.explosiveness = Patlayıcılık -stat.basedeflectchance = Mermi Sekme Åžansı -stat.lightningchance = Yıldırım Çarpma Åžansı +stat.basedeflectchance = Mermi Sekme İhtimali +stat.lightningchance = Yıldırım Çarpma İhtimali stat.lightningdamage = Yıldırım Hasarı stat.flammability = Yanıcılık stat.radioactivity = Radyoaktivite +stat.charge = Elektrik Yükü stat.heatcapacity = Isı Kapasitesi -stat.viscosity = Viskosite +stat.viscosity = Viskozite stat.temperature = Sıcaklık stat.speed = Hız stat.buildspeed = İnÅŸa Hızı stat.minespeed = Kazı Hızı stat.minetier = Kazı Seviyesi stat.payloadcapacity = Yük Kapasitesi -stat.commandlimit = Komut Limiti stat.abilities = Kabiliyetler +stat.canboost = Gazlayabilir +stat.flying = Uçuyor +stat.ammouse = Mermi Kullanıyor +stat.ammocapacity = Mermi Kapasitesi +stat.damagemultiplier = Hasar Çarpanı +stat.healthmultiplier = Can Çarpanı +stat.speedmultiplier = Hız Çarpanı +stat.reloadmultiplier = Yeniden Yükleme Çarpanı +stat.buildspeedmultiplier = İnÅŸa Hızı Çarpanı +stat.reactive = Tepki Verir +stat.immunities = Bağışıklıklar +stat.healing = Tamir Eder +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = Güç Kalkanı +ability.forcefield.description = Mermilere karşı bir güç kalkanı açar ability.repairfield = Onarma Alanı +ability.repairfield.description = Etraftaki birimleri tamir eder ability.statusfield = Hızlandırma Alanı -ability.unitspawn = {0} BirliÄŸi Fabrikası +ability.statusfield.description = Etraftaki birimlere efekt uygular +ability.unitspawn = BirliÄŸi Fabrikası +ability.unitspawn.description = Birim inÅŸaa eder ability.shieldregenfield = Kalkan Yenileme Alanı +ability.shieldregenfield.description = Yakındaki birimlerin kalkanını yeniler +ability.movelightning = Hareket Enerjisi +ability.movelightning.description = Hareket ederken yıldırım yardırır +ability.armorplate = Zırh Plakası +ability.armorplate.description = AteÅŸ ederken alınan hasarı azaltır +ability.shieldarc = Ark Kalkanı +ability.shieldarc.description = Mermileri bloklayan bir arc ışını atar +ability.suppressionfield = Tamir Engelleme Alanı +ability.suppressionfield.description = Yakındaki tamircileri durdurur +ability.energyfield = Güç Kalkanı +ability.energyfield.description = Yakındaki düşmanları ÅŸoklar +ability.energyfield.healdescription = Yakındaki düşmanları ÅŸoklar, dostları tamir eder +ability.regen = Yenilenme +ability.regen.description = Kendi canını zamanla tamir eder +ability.liquidregen = Sıvı Emme +ability.liquidregen.description = Kendini tamir etmek için sıvı emer +ability.spawndeath = Son Bağırış +ability.spawndeath.description = Öldüğünde birim salar +ability.liquidexplode = Son İsyan +ability.liquidexplode.description = Ölürken sıvı fışkırtır +ability.stat.firingrate = [stat]{0}/sn[lightgray] ateÅŸ hızı +ability.stat.regen = [stat]{0}[lightgray] can/sn +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] kalkan +ability.stat.repairspeed = [stat]{0}/sn[lightgray] tamir hızı +ability.stat.slurpheal = [stat]{0}[lightgray] can/sıvı miktarı +ability.stat.cooldown = [stat]{0} sn[lightgray] bekleme süresi +ability.stat.maxtargets = [stat]{0}[lightgray] maks hedef +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] aynı tamir miktarı +ability.stat.damagereduction = [stat]{0}%[lightgray] hasar indüksiyonu +ability.stat.minspeed = [stat]{0} blok/sn[lightgray] min hız +ability.stat.duration = [stat]{0} sn[lightgray] süre +ability.stat.buildtime = [stat]{0} sn[lightgray] inÅŸa süresi +bar.onlycoredeposit = Sadece Merkeze Aktarım Mümkün -bar.drilltierreq = Daha İyi Matkap Gerekli -bar.noresources = Eksik Kaynaklar -bar.corereq = Çekirdek Tabanı Gerekli +bar.drilltierreq = Daha Güçlü Matkap Gerekli +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = Kaynak Yetersiz +bar.corereq = Merkez Tabanı Gerekli +bar.corefloor = Merkez Alan Zemini Gerekli +bar.cargounitcap = Kargo Birim Kapasitesine Ulaşıldı bar.drillspeed = Matkap Hızı: {0}/s bar.pumpspeed = Pompa Hızı: {0}/s bar.efficiency = Verim: {0}% +bar.boost = Hızlanış: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = Enerji: {0}/sn bar.powerstored = Depolanan: {0}/{1} bar.poweramount = Enerji: {0} @@ -669,13 +1094,19 @@ bar.powerlines = BaÄŸlantılar: {0}/{1} bar.items = EÅŸyalar: {0} bar.capacity = Kapasite: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[birlik engellendi] bar.liquid = Sıvı bar.heat = Isı +bar.cooldown = Cooldown +bar.instability = Dengesizlik +bar.heatamount = Isı: {0} +bar.heatpercent = Isı: {0} ({1}%) bar.power = Enerji bar.progress = İnÅŸa İlerlemesi +bar.loadprogress = İlerleme +bar.launchcooldown = Fırlatış Bekleme Süresi bar.input = Girdi bar.output = Çıktı +bar.strength = [stat]{0}[lightgray]x Güç units.processorcontrol = [lightgray]İşlemci Kontrolünde @@ -683,35 +1114,50 @@ bullet.damage = [stat]{0} [lightgray]hasar bullet.splashdamage = [stat]{0} [lightgray]alan hasarı ~[stat] {1} [lightgray]kare bullet.incendiary = [stat]yakıcı bullet.homing = [stat]güdümlü -bullet.shock = [stat]ÅŸoklayıcı -bullet.frag = [stat]parça tesirli +bullet.armorpierce = [stat]zırh delici +bullet.maxdamagefraction = [stat]{0}%[lightgray] hasar limiti +bullet.suppression = [stat]{0} sn[lightgray] tamir bastırması ~ [stat]{1}[lightgray] karolar +bullet.interval = [stat]{0}/sn[lightgray] ara mermiler: +bullet.frags = [stat]{0}[lightgray]x parçalı mermiler: +bullet.lightning = [stat]{0}[lightgray]x elektrik ~ [stat]{1}[lightgray] hasarı +bullet.buildingdamage = [stat]{0}%[lightgray] inÅŸa hasarı +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0} [lightgray]savurma bullet.pierce = [stat]{0}[lightgray]x delme bullet.infinitepierce = [stat]delme -bullet.freezing = [stat]dondurucu -bullet.tarred = [stat]katranlı +bullet.healpercent = [stat]{0}[lightgray]% ototamir +bullet.healamount = [stat]{0}[lightgray] direkt tamir bullet.multiplier = [stat]{0}[lightgray]x mermi çarpanı bullet.reload = [stat]{0}[lightgray]x atış hızı +bullet.range = [stat]{0}[lightgray] blok menzil +bullet.notargetsmissiles = [stat] binaları görmezden gelir +bullet.notargetsbuildings = [stat] füzeleri görmezden gelir unit.blocks = blok unit.blockssquared = blok² unit.powersecond = enerji birimi/saniye +unit.tilessecond = alan/saniye unit.liquidsecond = sıvı birimi/saniye unit.itemssecond = eÅŸya/saniye unit.liquidunits = sıvı birimi unit.powerunits = enerji birimi +unit.heatunits = ısı birimi unit.degrees = derece unit.seconds = saniye unit.minutes = dakika unit.persecond = /sn unit.perminute = /dk unit.timesspeed = x hız +unit.multiplier = x unit.percent = % unit.shieldhealth = kalkan canı unit.items = eÅŸya unit.thousands = k -unit.millions = mil +unit.millions = m unit.billions = b +unit.shots = atış +unit.pershot = /vuruÅŸ +category.purpose = Açıklama category.general = Genel category.power = Enerji category.liquids = Sıvılar @@ -719,66 +1165,81 @@ category.items = EÅŸyalar category.crafting = Üretim category.function = Fonksiyon category.optional = İsteÄŸe BaÄŸlı GeliÅŸtirmeler +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = Merkez Fırlatma/İnme Animasyonunu Atla setting.landscape.name = Yatayda sabitle setting.shadows.name = Gölgeler -setting.blockreplace.name = Otomatik Blok önerileri +setting.blockreplace.name = Otomatik Blok Önerileri setting.linear.name = Lineer Filtreleme setting.hints.name = İpuçları -setting.flow.name = Kaynak GeçiÅŸ Hızını Göster[scarlet] (deneysel) -setting.buildautopause.name = İnÅŸa etmeyi otomatik olarak durdur -setting.animatedwater.name = Animasyonlu Su -setting.animatedshields.name = Animasyonlu Kalkanlar -setting.antialias.name = DüzgünleÅŸtirme [lightgray](yeniden baÅŸlatma gerekebilir)[] +setting.logichints.name = İşlemci İpuçları +setting.backgroundpause.name = Arka Planda Durdur +setting.buildautopause.name = İnÅŸa Etmeyi Otomatik Olarak Durdur +setting.doubletapmine.name = Çift Tıklamayla Kaz +setting.commandmodehold.name = Komuta Modu için Basılı Tut +setting.distinctcontrolgroups.name = Birim Başı Bir Kontrol Grubuna Sınırla +setting.modcrashdisable.name = Çökmede Modları Kapa +setting.animatedwater.name = Hareketli Su +setting.animatedshields.name = Hareketli Kalkanlar setting.playerindicators.name = Oyuncu Belirteçleri setting.indicators.name = Düşman/Müttefik Belirteçleri setting.autotarget.name = Otomatik Hedef Alma setting.keyboard.name = Fare+Klavye Kontrolleri setting.touchscreen.name = Dokunmatik Ekran Kontrolleri setting.fpscap.name = Maksimum FPS -setting.fpscap.none = Limitsiz +setting.fpscap.none = Limitsiz ∞ setting.fpscap.text = {0} FPS setting.uiscale.name = Arayüz ÖlçeÄŸi [lightgray](yeniden baÅŸlatma gerekebilir)[] +setting.uiscale.description = DeÄŸiÅŸikleri uygulamak için yeniden baÅŸlatma gerekli. setting.swapdiagonal.name = Her Zaman Çapraz YerleÅŸtirme -setting.difficulty.training = EÄŸitim -setting.difficulty.easy = Kolay -setting.difficulty.normal = Normal -setting.difficulty.hard = Zor -setting.difficulty.insane = Çılgın -setting.difficulty.name = Zorluk: -setting.screenshake.name = Ekranı Salla +setting.screenshake.name = Ekran Sarsılması +setting.bloomintensity.name = Parlaklık Åžiddeti +setting.bloomblur.name = Parlaklık Bulanıklılığı setting.effects.name = Efektleri Görüntüle setting.destroyedblocks.name = Kırılmış Blokları Göster setting.blockstatus.name = Blok Durumunu Göster setting.conveyorpathfinding.name = Konveyör Yol Bulma -setting.sensitivity.name = Kontrolcü Hassasiyeti +setting.sensitivity.name = Kumanda Hassasiyeti setting.saveinterval.name = Kayıt Aralığı -setting.seconds = {0} Saniye -setting.blockselecttimeout.name = Blok Seçme Zaman Aşımı +setting.seconds = {0} saniye setting.milliseconds = {0} milisaniye setting.fullscreen.name = Tam Ekran -setting.borderlesswindow.name = Kenarsız Pencere [lightgray](yeniden açmak gerekebilir) +setting.borderlesswindow.name = Kenarsız Pencere +setting.borderlesswindow.name.windows = Kenrasız TamEkran +setting.borderlesswindow.description = Oyunu baÅŸtan açman gerekebilir. setting.fps.name = FPS Göster +setting.console.name = Konsolu AktifleÅŸtir setting.smoothcamera.name = YumuÅŸak GeçiÅŸli Kamera setting.vsync.name = VSync -setting.pixelate.name = PixelleÅŸtir [lightgray](animasyonları kapatır) +setting.pixelate.name = PikselleÅŸtir [lightgray](animasyonları kapatır) setting.minimap.name = Haritayı Göster -setting.coreitems.name = Çekirdekteki EÅŸyaları Göster [lightgray](üzerinde çalışılıyor) +setting.coreitems.name = Merkezdeki EÅŸyaları Göster [lightgray](üzerinde çalışılıyor) setting.position.name = Oyuncu Noktasını Göster -setting.musicvol.name = Müzik +setting.mouseposition.name = Fareyi Göster +setting.musicvol.name = Müzik Sesi setting.atmosphere.name = Gezegen Atmosferini Göster +setting.drawlight.name = Karanlığı/Aydınlığı Çiz setting.ambientvol.name = Çevresel Ses setting.mutemusic.name = MüziÄŸi Kapat setting.sfxvol.name = Oyun Sesi setting.mutesound.name = Sesi Kapat setting.crashreport.name = Anonim Çökme Raporları Gönder +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Otomatik Kayıt OluÅŸtur -setting.publichost.name = Halka Açık Oyunlar +setting.steampublichost.name = Herkese Açık Oyun Görünürlüğü setting.playerlimit.name = Oyuncu Limiti setting.chatopacity.name = MesajlaÅŸma Opaklığı setting.lasersopacity.name = Enerji Lazeri Opaklığı +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = Köprü Opaklığı setting.playerchat.name = Oyun-içi KonuÅŸmayı Göster -public.confirm = Oyununuzu halka açık yapmak ister misiniz?\n[accent]Oyunlarınıza herkes katılabilecektir.\n[lightgray]Bu seçenek daha sonra Ayarlar->Oyun->Halka Açık Oyunlar'dan deÄŸiÅŸtirilebilir. +setting.showweather.name = Hava Durmu Grafiklerini Göster +setting.hidedisplays.name = İşlemci İpuçlarını Gizle +setting.macnotch.name = Arayüzü çentik gösterecek ÅŸekilde uyarlayın +setting.macnotch.description = DeÄŸiÅŸikleri uygulamak için yeniden baÅŸlatma gerekli +steam.friendsonly = ArkadaÅŸlara özel +steam.friendsonly.tooltip = Sadece Steam arkadaÅŸlarının katılıp katılabilemeyeceÄŸini belirler.\nBu kutudan tiki kaldırmak oyununuzu herkese açık yapacaktır. public.beta = Oyunun beta sürümlerinin halka açık lobiler yapamayacağını unutmayın. uiscale.reset = Arayüz ölçeÄŸi deÄŸiÅŸtirildi.\nBu ölçeÄŸi onaylamak için "Tamam" butonuna basın.\n[accent] {0}[] [scarlet]saniye içinde eski ayarlara geri dönülüp oyundan çıkılıyor…[] uiscale.cancel = İptal Et ve Çık @@ -787,12 +1248,9 @@ keybind.title = TuÅŸları Yeniden Ata keybinds.mobile = [scarlet]Buradaki çoÄŸu tuÅŸ ataması mobilde geçerli deÄŸildir. Sadece temel hareket desteklenmektedir. category.general.name = Genel category.view.name = Görünüm +category.command.name = Birim Komutu category.multiplayer.name = Çok Oyunculu category.blocks.name = Blok Seçimi -command.attack = Saldır -command.rally = Toplan -command.retreat = Geri Çekil -command.idle = BoÅŸta placement.blockselectkeys = \n[lightgray]TuÅŸ: [{0}, keybind.respawn.name = Yeniden DoÄŸ keybind.control.name = BirliÄŸi Kontrol Et @@ -807,9 +1265,30 @@ keybind.move_y.name = y Ekseninde Hareket keybind.mouse_move.name = Fareyi Takip Et keybind.pan.name = Yatay Kaydırma Görünümü keybind.boost.name = Yükselt +keybind.command_mode.name = Komuta Modu +keybind.command_queue.name = Birim Komuta Sırası +keybind.create_control_group.name = Komuta Grubu OluÅŸtur +keybind.cancel_orders.name = Emri Hükümsüz Kıl +keybind.unit_stance_shoot.name = Birim DuruÅŸu: Saldır +keybind.unit_stance_hold_fire.name = Birim DuruÅŸu: Hazır Ol +keybind.unit_stance_pursue_target.name = Birim DuruÅŸu: Takip Et +keybind.unit_stance_patrol.name = Birim DuruÅŸu: Devriye Gez +keybind.unit_stance_ram.name = Birim DuruÅŸu: VUR +keybind.unit_command_move.name = Birim Komutu: Git +keybind.unit_command_repair.name = Birim Komutu: Tamir Et +keybind.unit_command_rebuild.name = Birim Komutu: Yeniden İnÅŸaa Et +keybind.unit_command_assist.name = Biirm Komutu: Yardım Et +keybind.unit_command_mine.name = Birim Komutu: Kaz +keybind.unit_command_boost.name = Birim Komutu: Gazla +keybind.unit_command_load_units.name = Birim Komutu: Birim Kargola +keybind.unit_command_load_blocks.name = Birim Komutu: Blok Kargola +keybind.unit_command_unload_payload.name = Birim Komutu: Kargo BoÅŸalt +keybind.unit_command_enter_payload.name = Birim Komutu: Kargoya Gir +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Alanı Geri İşaa Et keybind.schematic_select.name = Bölge Seç keybind.schematic_menu.name = Åžema Menüsü -keybind.schematic_flip_x.name = Åžemayı X ekseninde Döndür +keybind.schematic_flip_x.name = Åžemayı X Ekseninde Döndür keybind.schematic_flip_y.name = Åžemayı Y Ekseninde Döndür keybind.category_prev.name = Önceki Kategori keybind.category_next.name = Sonraki Kategori @@ -832,17 +1311,21 @@ keybind.select.name = Seç/AteÅŸ Et keybind.diagonal_placement.name = Çapraz YerleÅŸtirme keybind.pick.name = Blok Seç keybind.break_block.name = Blok Kır +keybind.select_all_units.name = Tüm Birimleri Seç +keybind.select_all_unit_factories.name = Select All Unit Factories keybind.deselect.name = Seçimleri Kaldır keybind.pickupCargo.name = Kargoyu Al keybind.dropCargo.name = Kargoyu Bırak -keybind.command.name = Komut keybind.shoot.name = AteÅŸ Et keybind.zoom.name = YakınlaÅŸtırma/UzaklaÅŸtırma keybind.menu.name = Menü keybind.pause.name = Durdur keybind.pause_building.name = İnÅŸaatı Duraklat/İnÅŸaata Devam Et keybind.minimap.name = Harita -keybind.chat.name = KonuÅŸ +keybind.planet_map.name = Gezegen Haritası +keybind.research.name = AraÅŸtırma +keybind.block_info.name = Blok Bilgisi +keybind.chat.name = Yazış keybind.player_list.name = Oyuncu Listesi keybind.console.name = Konsol keybind.rotate.name = Döndür @@ -851,60 +1334,114 @@ keybind.toggle_menus.name = Menüleri Aç/Kapa keybind.chat_history_prev.name = Sohbet geçmiÅŸi önceki keybind.chat_history_next.name = Sohbet geçmiÅŸi sonraki keybind.chat_scroll.name = Sohbet Kaydırma +keybind.chat_mode.name = KonuÅŸma Modunu DeÄŸiÅŸtir keybind.drop_unit.name = Birlik Düşürme keybind.zoom_minimap.name = Haritada YakınlaÅŸtırma/UzaklaÅŸtırma -mode.help.title = Modların açıklamaları +mode.help.title = Oyun Modlarının açıklamaları mode.survival.name = Hayatta Kalma mode.survival.description = Normal oyun oyun modu. Kaynak sınırlı ve dalgalar otomatik olarak gönderilir.\n[gray]Oynamak için haritada düşman doÄŸma noktaları olması gerekir. mode.sandbox.name = Yaratıcı -mode.sandbox.description = Sonsuz kaynaklar ve dalgalar için zamanlayıcı yok. +mode.sandbox.description = Sonsuz kaynak bulunur ve dalgalar için zamanlayıcı yok. Hayellerindeki her ÅŸeyi yapmayı dene ama sadece dene. mode.editor.name = Düzenleyici mode.pvp.name = PvP -mode.pvp.description = Yerel olarak baÅŸkaları ile savaÅŸ.\n[gray]Oynamak için haritada en az iki farklı renkli çekirdek olması gerekir. +mode.pvp.description = Yerel olarak baÅŸkaları ile savaÅŸ.\n[gray]Oynamak için haritada en az iki farklı renkli merkez olması gerekir. mode.attack.name = Saldırı -mode.attack.description = Düşman üssünü yok et. Dalga yok.\n[gray]Oynamak için haritada kırmızı çekirdek olması gerekir. +mode.attack.description = Düşman üssünü yok et. Dalga yok.\n[gray]Oynamak için haritada düşman merkezi olması gerekir. mode.custom = Özel Kurallar +rules.invaliddata = Hatalı pano verisi. +rules.hidebannedblocks = Yasaklı Blokları Sakla rules.infiniteresources = Sınırsız Kaynaklar +rules.onlydepositcore = Sadece Merkeze Aktarmaya İzin Ver +rules.derelictrepair = Kalıntıları Tamir Etmeye İzin Ver rules.reactorexplosions = Reaktör Patlamaları -rules.schematic = Schematics Allowed +rules.coreincinerates = Merkez TaÅŸanları Eritir +rules.disableworldprocessors = Evrensel İşlemcileri Devredışı Bırak +rules.schematic = Åžema Kullanılabilir rules.wavetimer = Dalga Zamanlayıcısı +rules.wavesending = Dalga Gönderiliyor +rules.allowedit = Ayaraları Düzenlemeye İzin Ver +rules.allowedit.info = Açıldığında, oyuncular durdurma tuÅŸunun altındaki bir tuÅŸ ile ayarları düzenleyebilir. +rules.alloweditworldprocessors = Evrensel İşlemcileri Düzenlemeye İzin Ver +rules.alloweditworldprocessors.info = Açıldığında, oyuncular evren iÅŸlemcileri oyun içinde düzenleyebilir. rules.waves = Dalgalar +rules.airUseSpawns = Hava Birimleri DoÄŸum Noktalarını Kullanır rules.attack = Saldırı Modu -rules.buildai = Yapay Zeka İnÅŸası -rules.enemyCheat = Sonsuz AI (Kırmızı Takım) Kaynakları -rules.blockhealthmultiplier = Blok Canı Çarpanı -rules.blockdamagemultiplier = Blok Hasarı Çarpanı -rules.unitbuildspeedmultiplier = Birim Üretim Hızı Çarpanı -rules.unithealthmultiplier = Birim Canı Çarpanı -rules.unitdamagemultiplier = Birim Hasarı Çapanı -rules.enemycorebuildradius = Düşman ÇekirdeÄŸi İnÅŸa Yasağı Yarıçapı: [lightgray](kare) +rules.buildai = Üs inÅŸa edici YZ +rules.buildaitier = İnÅŸaatçı YZ sınıfı +rules.rtsai = RTS YZ +rules.rtsai.campaign = RTS Saldırı YZ +rules.rtsai.campaign.info = Saldırı Haritalarında, yapay zekayı daha 'zeki' yapar. +rules.rtsminsquadsize = Asgari Gurup Boyutu +rules.rtsmaxsquadsize = Azami Gurup Boyutu +rules.rtsminattackweight = Asgari Saldırı Boyutu +rules.cleanupdeadteams = Kaybeden Takımın Bloklarını Temizle (PvP) +rules.corecapture = Yıkımda ÇekirdeÄŸi Elegeçir +rules.polygoncoreprotection = Çokgenli Merkez Koruması +rules.placerangecheck = İnÅŸa Menzilini DoÄŸrula +rules.enemyCheat = Sınırsız YZ (Düşman Takım) Kaynakları +rules.blockhealthmultiplier = Blok Can Çarpanı +rules.blockdamagemultiplier = Blok Hasar Çarpanı +rules.unitbuildspeedmultiplier = Birim Üretim Hız Çarpanı +rules.unitcostmultiplier = Birim Fiyat Çarpanı +rules.unithealthmultiplier = Birim Can Çarpanı +rules.unitdamagemultiplier = Birim Hasar Çapanı +rules.unitcrashdamagemultiplier = Birim Çakılma Hasar Çarpanı +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = GüneÅŸ Paneli Üretim Çarpanı +rules.unitcapvariable = Merkezler Birim Sınırını Etkiler +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Sabit Birim Sınırı +rules.limitarea = Haritayı Sınırla +rules.enemycorebuildradius = Düşman Merkezi İnÅŸa Yasağı Yarıçapı: [lightgray](kare) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Dalga Aralığı: [lightgray](sn) +rules.initialwavespacing = BaÅŸlangıç Dalga Aralığı:[lightgray] (sn) rules.buildcostmultiplier = İnÅŸa Ücreti Çarpanı rules.buildspeedmultiplier = İnÅŸa Hızı Çarpanı rules.deconstructrefundmultiplier = Yıkım İade Çarpanı rules.waitForWaveToEnd = Dalgalar Düşmanı Bekler +rules.wavelimit = Harita .. Dalgadan Sonra Biter rules.dropzoneradius = İniÅŸ Noktası Yarıçapı: [lightgray](kare) -rules.unitammo = Birlikler Mermi Gerektiriyor +rules.unitammo = Birlikler Mermi Gerektirir +rules.enemyteam = Düşman Takım +rules.playerteam = Oyuncu Takımı rules.title.waves = Dalgalar rules.title.resourcesbuilding = Kaynaklar & İnÅŸa rules.title.enemy = Düşmanlar rules.title.unit = Birlikler rules.title.experimental = Deneysel rules.title.environment = Çevre +rules.title.teams = Takımlar +rules.title.planet = Gezegen rules.lighting = Işıklandırma -rules.enemyLights = Enemy Lights +rules.fog = SavaÅŸ Sisi +rules.invasions = Düşman Sektör Saldırıları +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Düşman DoÄŸuÅŸ Noktalarını Göster +rules.randomwaveai = Tahmin Edilemez Dalgalar rules.fire = AteÅŸ +rules.anyenv = rules.explosions = Blok/Birlik Patlama Hasarı rules.ambientlight = Ortam Işığı -rules.weather = Hava +rules.weather = Hava Durumu rules.weather.frequency = Sıklık: +rules.weather.always = Her zaman rules.weather.duration = Süreklilik: +rules.randomwaveai.info = Düşman Birimler Rastgele Saldırır ve direkt çekirdeÄŸe veya enerji kaynaklarına gitmezler. +rules.placerangecheck.info = Oyuncuların düşman üssüne yakın inÅŸa etmesini engeller. Bu, silah kurarken daha da fazla. +rules.onlydepositcore.info = Birimlerin Merkez dışında malzeme aktarmasını engeller. -content.item.name = EÅŸyalar +content.item.name = Malzemeler content.liquid.name = Sıvılar content.unit.name = Birimler content.block.name = Bloklar +content.status.name = Durum Etkileri +content.sector.name = Sektörler +content.team.name = Takımlar +wallore = (Duvar) item.copper.name = Bakır item.lead.name = KurÅŸun @@ -912,20 +1449,34 @@ item.coal.name = Kömür item.graphite.name = Grafit item.titanium.name = Titanyum item.thorium.name = Toryum -item.silicon.name = Silikon +item.silicon.name = Silisyum item.plastanium.name = Plastanyum item.phase-fabric.name = Faz Örgüsü item.surge-alloy.name = Akı Alaşımı item.spore-pod.name = Spor Kapsülü item.sand.name = Kum item.blast-compound.name = Patlayıcı BileÅŸik -item.pyratite.name = Pirratit +item.pyratite.name = Piratit item.metaglass.name = Metacam item.scrap.name = Hurda +item.fissile-matter.name = Bölünebilir Madde +item.beryllium.name = Berilyum +item.tungsten.name = Tungsten +item.oxide.name = Oksit +item.carbide.name = Karbür +item.dormant-cyst.name = Etkin Olmayan Kist + liquid.water.name = Su liquid.slag.name = Cüruf liquid.oil.name = Petrol liquid.cryofluid.name = Kriyosıvı +liquid.neoplasm.name = Neoplazm +liquid.arkycite.name = Arkisit +liquid.gallium.name = Galyum +liquid.ozone.name = Ozon +liquid.hydrogen.name = Hidrojen +liquid.nitrogen.name = Azot +liquid.cyanogen.name = Siyanojen unit.dagger.name = Dagger unit.mace.name = Mace @@ -953,6 +1504,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -960,13 +1516,36 @@ unit.scepter.name = Scepter unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Manifold +unit.assembly-drone.name = Assembly Drone +unit.latum.name = Latum +unit.renale.name = Renale -block.resupply-point.name = Resupply Point block.parallax.name = Parallax block.cliff.name = Uçurum block.sand-boulder.name = Kumlu Kaya Parçaları +block.basalt-boulder.name = Bazalt Kaya block.grass.name = Çimen -block.slag.name = Cüruf +block.molten-slag.name = Cüruf +block.pooled-cryofluid.name = Kriyosıvı block.space.name = Uzay block.salt.name = Tuz block.salt-wall.name = Tuz Duvar @@ -976,7 +1555,7 @@ block.sand-wall.name = Kum Duvar block.spore-pine.name = Spor Çamı block.spore-wall.name = Spor Duvar block.boulder.name = Kaya Parçaları -block.snow-boulder.name = Karlı Kaya PArçaları +block.snow-boulder.name = Karlı Kaya Parçaları block.snow-pine.name = Karlı Çam block.shale.name = Åžist block.shale-boulder.name = Åžist Kayası @@ -990,30 +1569,34 @@ block.scrap-wall-huge.name = Dev Hurda Duvar block.scrap-wall-gigantic.name = Devasa Hurda Duvar block.thruster.name = İtici block.kiln.name = Fırın -block.graphite-press.name = Grafit Presi -block.multi-press.name = Çoklu-Pres +block.graphite-press.name = Grafit Ezici +block.multi-press.name = Çoklu-Ezici block.constructing = {0} [lightgray](İnÅŸa Ediliyor) -block.spawn.name = Düşman DoÄŸma Noktası +block.spawn.name = Düşman DoÄŸum Noktası +block.remove-wall.name = Duvar Kaldır +block.remove-ore.name = Maden Kaldır block.core-shard.name = Merkez: Parçacık block.core-foundation.name = Merkez: Temel block.core-nucleus.name = Merkez: Çekirdek -block.deepwater.name = Derin Su -block.water.name = Su +block.deep-water.name = Derin Su +block.shallow-water.name = Su block.tainted-water.name = Kirli Su +block.deep-tainted-water.name = Derin Kirli Su block.darksand-tainted-water.name = Kara Kumlu Kirli Su block.tar.name = Katran block.stone.name = TaÅŸ -block.sand.name = Kum +block.sand-floor.name = Kum block.darksand.name = Kara Kum block.ice.name = Buz block.snow.name = Kar -block.craters.name = Krater +block.crater-stone.name = Krater block.sand-water.name = Kumlu Su block.darksand-water.name = Kara Kumlu Su block.char.name = Kömür -block.dacite.name = Dakit -block.dacite-wall.name = Dakit Duvar -block.dacite-boulder.name = Dakit Kaya Parçaları +block.dacite.name = Daist +block.rhyolite.name = Riyolit +block.dacite-wall.name = Daist Duvar +block.dacite-boulder.name = Daist Kaya Parçaları block.ice-snow.name = Buzlu Kar block.stone-wall.name = TaÅŸ Duvar block.ice-wall.name = Buz Duvar @@ -1029,7 +1612,8 @@ block.spore-cluster.name = Spor Kümesi block.metal-floor.name = Metal Zemin 1 block.metal-floor-2.name = Metal Zemin 2 block.metal-floor-3.name = Metal Zemin 3 -block.metal-floor-5.name = Metal Zemin 4 +block.metal-floor-4.name = Metal Zemin 4 +block.metal-floor-5.name = Metal Zemin 5 block.metal-floor-damaged.name = Hasarlı Metal Zemin block.dark-panel-1.name = Kara Panel 1 block.dark-panel-2.name = Kara Panel 2 @@ -1062,30 +1646,31 @@ block.conveyor.name = Konveyör block.titanium-conveyor.name = Titanyum Konveyör block.plastanium-conveyor.name = Plastanyum Konveyör block.armored-conveyor.name = Zırhlı Konveyör -block.armored-conveyor.description = Materyalleri titanyum konveyörlerle aynı hızda taşır ama daha fazla zırha sahiptir. DiÄŸer konveyörler dışında yan taraflardan materyal kabul etmez. block.junction.name = KavÅŸak block.router.name = Yönlendirici block.distributor.name = Dağıtıcı block.sorter.name = Ayıklayıcı block.inverted-sorter.name = Ters Ayıklayıcı -block.message.name = Mesaj +block.message.name = Mesaj BloÄŸu +block.reinforced-message.name = GüçlendirilmiÅŸ Mesaj BloÄŸu +block.world-message.name = Evrensel Mesaj BloÄŸu +block.world-switch.name = Evrensel Åžalter block.illuminator.name = Aydınlatıcı -block.illuminator.description = Küçük, kompakt, yapılandırılabilir bir ışık kaynağı. Çalışması için enerji gerekir. block.overflow-gate.name = TaÅŸma Geçidi -block.underflow-gate.name = Yana TaÅŸma Geçidi -block.silicon-smelter.name = Silikon Fırını +block.underflow-gate.name = Ters TaÅŸma Geçidi +block.silicon-smelter.name = Silisyum Fırını block.phase-weaver.name = Faz Örücü -block.pulverizer.name = Pulverizatör -block.cryofluid-mixer.name = Kriyosıvı Mikseri +block.pulverizer.name = Ufalayıcı +block.cryofluid-mixer.name = Kriyosıvı Karıştırıcı block.melter.name = Eritici block.incinerator.name = Yakıcı -block.spore-press.name = Spor Presi +block.spore-press.name = Spor Ezici block.separator.name = Ayırıcı block.coal-centrifuge.name = Kömür Santrifüjü block.power-node.name = Enerji Noktası block.power-node-large.name = Büyük Enerji Noktası block.surge-tower.name = Akı Kulesi -block.diode.name = Batarya Diyotu +block.diode.name = Diyot block.battery.name = Batarya block.battery-large.name = Büyük Batarya block.combustion-generator.name = Termik Jeneratör @@ -1115,26 +1700,28 @@ block.ripple.name = Ripple block.phase-conveyor.name = Faz Konveyörü block.bridge-conveyor.name = Konveyör Köprüsü block.plastanium-compressor.name = Plastanyum Kompresörü -block.pyratite-mixer.name = Pirratit Mikseri +block.pyratite-mixer.name = Piratit Mikseri block.blast-mixer.name = Patlayıcı BileÅŸik Mikseri block.solar-panel.name = GüneÅŸ Paneli block.solar-panel-large.name = Büyük GüneÅŸ Paneli block.oil-extractor.name = Petrol Çıkarıcı block.repair-point.name = Tamir Noktası +block.repair-turret.name = Tamir Kulesi block.pulse-conduit.name = Dalga Borusu -block.plated-conduit.name = Kaplı Boru +block.plated-conduit.name = Yalıtımlı Boru block.phase-conduit.name = Faz Borusu block.liquid-router.name = Sıvı Yönlendiricisi block.liquid-tank.name = Sıvı Tankı +block.liquid-container.name = Sıvı Konteyneri block.liquid-junction.name = Sıvı KavÅŸağı block.bridge-conduit.name = Köprülü Boru block.rotary-pump.name = Döner Pompa block.thorium-reactor.name = Toryum Reaktörü block.mass-driver.name = Kütle Sürücüsü block.blast-drill.name = Hava Patlamalı Matkap -block.thermal-pump.name = Termal Pompa +block.impulse-pump.name = Termal Pompa block.thermal-generator.name = Termal Jeneratör -block.alloy-smelter.name = Alaşım Fırını +block.surge-smelter.name = Alaşım Fırını block.mender.name = Tamirci block.mend-projector.name = Büyük Tamirci block.surge-wall.name = Akı Duvarı @@ -1143,17 +1730,17 @@ block.cyclone.name = Cyclone block.fuse.name = Fuse block.shock-mine.name = Åžok Mayını block.overdrive-projector.name = Hızlandırma Projektörü -block.force-projector.name = Kalkan Projektörü +block.force-projector.name = Enerji Kalkan Projektörü block.arc.name = Arc -block.rtg-generator.name = RTG Jeneratörü +block.rtg-generator.name = RTG Jeneratör block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow block.container.name = Konteyner -block.launch-pad.name = Kalkış Pisti -block.launch-pad-large.name = Büyük Kalkış Pisti +block.launch-pad.name = Fıralatış Rampası +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Segment -block.command-center.name = Komuta Merkezi block.ground-factory.name = Yer Birimi Fabrikası block.air-factory.name = Hava Birimi Fabrikası block.naval-factory.name = Deniz Birimi Fabrikası @@ -1161,12 +1748,184 @@ block.additive-reconstructor.name = Eklemeli Yeniden Yapılandırıcı block.multiplicative-reconstructor.name = Çarpmalı Yeniden Yapılandırıcı block.exponential-reconstructor.name = Üstel Yeniden Yapılandırıcı block.tetrative-reconstructor.name = Dörtlü Yeniden Yapılandırıcı -block.payload-conveyor.name = Yük Konveyörü -block.payload-router.name = Yük Yönlendirici +block.payload-conveyor.name = Kargo Konveyörü +block.payload-router.name = Kargo Yönlendirici +block.duct.name = Tüp +block.duct-router.name = Tüp Yönlendirici +block.duct-bridge.name = Tüp Köprü +block.large-payload-mass-driver.name = Büyük Kargo Kütle Sürücü +block.payload-void.name = Kargo Yokedici +block.payload-source.name = Kargo Kaynağı block.disassembler.name = Sökücü -block.silicon-crucible.name = Büyük Silikon Fırını +block.silicon-crucible.name = Silisyum Krozesi block.overdrive-dome.name = Hızlandırma Kubbesi +block.interplanetary-accelerator.name = Gezegenler Arası Hızlandırıcı +#Düzgün tutun bu TR translatei uÄŸraÅŸtırıyonuz beni. -RTOmega (harbi ya XD) +block.constructor.name = İnÅŸaatçı +block.constructor.description = 2x2 ve daha küçük blokları inÅŸa edebilir. +block.large-constructor.name = Büyük İnÅŸaatçı +block.large-constructor.description = 4x4 ve daha küçük blokları inÅŸa edebilir. +block.deconstructor.name = Yıkıcı +block.deconstructor.description = Blok ve Birimleri yok eder, 100% iade saÄŸlar. +block.payload-loader.name = Kargo Yükleyici +block.payload-loader.description = Sıvı ve malzemeleri bloklara yükler. +block.payload-unloader.name = Kargo BoÅŸaltıcı +block.payload-unloader.description = Sıvı ve Malzemeleri bloklardan boÅŸaltır. +block.heat-source.name = Sonsuz Isı Kaynağı +block.heat-source.description = Neredeyese Sonsuz Isı Veren 1x1 bir blok. +block.empty.name = BoÅŸ +block.rhyolite-crater.name = Riyolit Krateri +block.rough-rhyolite.name = Kaba Riyolit +block.regolith.name = Regolit +block.yellow-stone.name = Sarı TaÅŸ +block.carbon-stone.name = Karbon TaÅŸ +block.ferric-stone.name = Ferrik TaÅŸ +block.ferric-craters.name = Ferrik Krater +block.beryllic-stone.name = Beril TaÅŸ +block.crystalline-stone.name = Kristal TaÅŸ +block.crystal-floor.name = Kristal Zemin +block.yellow-stone-plates.name = Sarı TaÅŸ Zemin +block.red-stone.name = Kızıl TaÅŸ +block.dense-red-stone.name = YoÄŸun Kızıl Kaya +block.red-ice.name = Kızıl Buz +block.arkycite-floor.name = Arkisit Zemin +block.arkyic-stone.name = Arkisit TaÅŸ +block.rhyolite-vent.name = Riyolit Baca +block.carbon-vent.name = Karbon Baca +block.arkyic-vent.name = Arkisit Baca +block.yellow-stone-vent.name = Sarı TaÅŸ Baca +block.red-stone-vent.name = Kızıl TaÅŸ Baca +block.crystalline-vent.name = Kristal Baca +block.redmat.name = KızılMat +block.bluemat.name = MaviMat +block.core-zone.name = Merkez Alanı +block.regolith-wall.name = Regolit Duvar +block.yellow-stone-wall.name = Sarı TaÅŸ Duvar +block.rhyolite-wall.name = Regolit Duvar +block.carbon-wall.name = Karbon Duvar +block.ferric-stone-wall.name = Demir TaÅŸ Duvar +block.beryllic-stone-wall.name = Berilik TaÅŸ Duvar +block.arkyic-wall.name = Arkisit Duvar +block.crystalline-stone-wall.name = Kristal TaÅŸ Duvar +block.red-ice-wall.name = Kızıl Buz Duvar +block.red-stone-wall.name = Kızıl TaÅŸ Duvar +block.red-diamond-wall.name = Kızıl Elmas Duvar +block.redweed.name = Kızıl Ot +block.pur-bush.name = Pur Çalı +block.yellowcoral.name = Sarı Mercan +block.carbon-boulder.name = Karbon Kaya +block.ferric-boulder.name = Demir Kaya +block.beryllic-boulder.name = Berilik Kaya +block.yellow-stone-boulder.name = Sarı TaÅŸ Kaya +block.arkyic-boulder.name = Arkisit Kaya +block.crystal-cluster.name = Kristal TopluluÄŸu +block.vibrant-crystal-cluster.name = Enerjik Kristal TopluluÄŸu +block.crystal-blocks.name = Kristal Blok +block.crystal-orbs.name = Kristal Küreler +block.crystalline-boulder.name = Kristal Kaya +block.red-ice-boulder.name = Kızıl Buz Kaya +block.rhyolite-boulder.name = Riyolit Kaya +block.red-stone-boulder.name = Kızıl Riyolit Kaya +block.graphitic-wall.name = Grafit Duvar +block.silicon-arc-furnace.name = Ark Silicon Fırın +block.electrolyzer.name = Elektrolizör +block.atmospheric-concentrator.name = Atmosferik YoÄŸunlaÅŸtırıcı +block.oxidation-chamber.name = Oksitleme Odası +block.electric-heater.name = Elektrikli Isıtıcı +block.slag-heater.name = Cürüflü Isıtıcı +block.phase-heater.name = Faz Isıtıcı +block.heat-redirector.name = Isı Aktarıcı +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Isı Yönlendirici +block.slag-incinerator.name = Cürüf Yakıcı +block.carbide-crucible.name = Karbür Krozesi +block.slag-centrifuge.name = Cürüf Sentrifüjü +block.surge-crucible.name = Akı Krozesi +block.cyanogen-synthesizer.name = Siyanojen Sentezleyici +block.phase-synthesizer.name = Faz Sentezleyici +block.heat-reactor.name = Isı Reaktörü +block.beryllium-wall.name = Berilyum Duvar +block.beryllium-wall-large.name = Büyük Berilyum Duvar +block.tungsten-wall.name = Tungsten Duvar +block.tungsten-wall-large.name = Büyük Tungsten Duvar +block.blast-door.name = Zırhlı Kapı +block.carbide-wall.name = Karbür Duvar +block.carbide-wall-large.name = Büyük Karbür Duvar +block.reinforced-surge-wall.name = Zırhlı Akı Duvar +block.reinforced-surge-wall-large.name = Büyük Zırhlı Akı Duvar +block.shielded-wall.name = Kalkanlı Duvar +block.radar.name = Radar +block.build-tower.name = İnÅŸa Kulesi +block.regen-projector.name = Tamir Projektörü +block.shockwave-tower.name = Åžokdalga Kulesi +block.shield-projector.name = Kalkan Projektörü +block.large-shield-projector.name = Büyük Kalkan Projektörü +block.armored-duct.name = Zırhlı Tüp +block.overflow-duct.name = TaÅŸma Tüpü +block.underflow-duct.name = Alt-TaÅŸma Tüpü +block.duct-unloader.name = Tüp BoÅŸaltıcı +block.surge-conveyor.name = Akı Konveyör +block.surge-router.name = Akı Yönlendirici +block.unit-cargo-loader.name = Birim Kargo Yükleyici +block.unit-cargo-unload-point.name = Birim Kargo BoÅŸaltma Noktası +block.reinforced-pump.name = GüçlendirilmiÅŸ Pompa +block.reinforced-conduit.name = GüçlendirilmiÅŸ Boru +block.reinforced-liquid-junction.name = GüçlendirilmiÅŸ Sıvı KavÅŸağı +block.reinforced-bridge-conduit.name = GüçlendirilmiÅŸ Köprü Borusu +block.reinforced-liquid-router.name = GüçlendirilmiÅŸ Sıvı Yönlendirici +block.reinforced-liquid-container.name = GüçlendirilmiÅŸ Sıvı Konteyneri +block.reinforced-liquid-tank.name = GüçlendirilmiÅŸ Sıvı Tankı +block.beam-node.name = Işın Noktası +block.beam-tower.name = Işın Kulesi +block.beam-link.name = Işın BaÄŸlantısı +block.turbine-condenser.name = Türbin Kondensatörü +block.chemical-combustion-chamber.name = Kimyasal Yanma Odası +block.pyrolysis-generator.name = Piroliz Jeneratörü +block.vent-condenser.name = Baca Sıkıştırıcı +block.cliff-crusher.name = Kayalık Delici +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Plazma Kayalık Kazıcı +block.large-plasma-bore.name = Büyük Plazma Kayalık Kazıcı +block.impact-drill.name = Darbeli Matkap +block.eruption-drill.name = Patlamalı Matkap +block.core-bastion.name = Merkez: Sur +block.core-citadel.name = Merkez: Kale +block.core-acropolis.name = Merkez: Akropolis +block.reinforced-container.name = GüçlendirilmiÅŸ Konteyner +block.reinforced-vault.name = GüçlendirilmiÅŸ Depo +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Tank Yeniden Yapılandırıcı +block.mech-refabricator.name = Robot Yeniden Yapılandırıcı +block.ship-refabricator.name = Gemi Yeniden Yapılandırıcı +block.tank-assembler.name = Tank İnÅŸaatcı +block.ship-assembler.name = Gemi İnÅŸaatcı +block.mech-assembler.name = Robot İnÅŸaatcı +block.reinforced-payload-conveyor.name = GüçlendirilmiÅŸ Kargo Konveyör +block.reinforced-payload-router.name = GüçlendirilmiÅŸ Kargo Yönlendirici +block.payload-mass-driver.name = Kargo Kütle Sürücü +block.small-deconstructor.name = Küçük Yapı Sökücü +block.canvas.name = Tuval +block.world-processor.name = Evrensel İşlemci +block.world-cell.name = Evrensel Bellek Hücresi +block.tank-fabricator.name = Tank Fabrikatörü +block.mech-fabricator.name = Robot Fabrikatörü +block.ship-fabricator.name = Gemi Fabrikatörü +block.prime-refabricator.name = Birincil Yeniden Yapılandırma Fabrikatörü +block.unit-repair-tower.name = Birim Tamir Kulesi +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Basit İnÅŸa Modülü +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Akım Reaktörü +block.neoplasia-reactor.name = Neoplazmik Reaktör +#ama tüp ne aga -Anti Dragon block.switch.name = Düğme block.micro-processor.name = Mikro İşlemci block.logic-processor.name = İşlemci @@ -1175,69 +1934,158 @@ block.logic-display.name = Ekran block.large-logic-display.name = Büyük Ekran block.memory-cell.name = Bellek Hücresi block.memory-bank.name = Bellek Bankası - -team.blue.name = mavi -team.crux.name = öz -team.sharded.name = parçalanmış -team.orange.name = turuncu -team.derelict.name = sahipsiz +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Kalıntı team.green.name = yeÅŸil -team.purple.name = mor - -tutorial.next = [lightgray] -tutorial.intro = [scarlet]Mindustry öğreticisine hoÅŸ geldiniz.[]\n[accent]Bakır kazarak[] baÅŸlayın. Bunu yapmak için merkezinize yakın bir bakır madenine dokunun.\n\n[accent]{0}/{1} bakır -tutorial.intro.mobile = [scarlet]Mindustry öğreticisine hoÅŸ geldiniz.[]\nHareket etmek için ekranı kaydırın.\nYakınlaÅŸtırmak ve uzaklaÅŸtırmak için [accent]iki parmakla kıstırın[].\n[accent]Bakır kazarak[] baÅŸlayın. Bunu yapmak için merkezinize yakın bir bakır madenine dokunun.\n\n[accent]{0}/{1} bakır -tutorial.drill = Manuel olarak kazmak verimsizdir.\n[accent]Matkaplar []otomatikman kazabilir.\nSaÄŸ alttaki matkap sekmesine tıklayınız.\n[accent]Mekanik matkabı[] seçiniz. Tıklayarak bir bakır madenine yerleÅŸtirin.\n Yapımı durdurmak için [accent]saÄŸ tıklayın[] ve yakınlaÅŸtırmak ve uzaklaÅŸtırmak için [accent]CTRL basılı tutarak tekerleÄŸi kaydırın[]. -tutorial.drill.mobile = Manuel olarak kazmak verimsizdir.\n[accent]Matkaplar []otomatik olarak kazabilir.\nSaÄŸ alttaki matkap sekmesine dokunun.\n[accent]Mekanik matkabı[] seçin. \nDokunarak bir bakır madenine yerleÅŸtirin, sonra seçiminizi onaylamak için alttaki [accent] tik düğmesine[] basın.\nYerleÅŸtirmenizi iptal etmek için [accent] X butonuna[] basın. -tutorial.blockinfo = Her bloÄŸun farklı istatistikleri vardır. Her matkap sadece belirli madenleri kazabilir.\nBir bloÄŸun bilgi ve istatistiklerine bakmak için,[accent] yapım menüsünde seçerken "?" tuÅŸuna dokunun.[]\n\n[accent]Åžimdi mekanik matkabın istatistiklerine eriÅŸin.[] -tutorial.conveyor = [accent]Konveyörler[] merkeze eÅŸyaları ulaÅŸtırmak için kullanılır.\nMatkaptan merkeze konveyörlerden oluÅŸan bir sıra yapın.\n[accent]Bir sıra halinde yerleÅŸtirmek için farenizi basılı tutun.[]\nÇaprazlama bir yol konveyör yerleÅŸtirmek için [accent]CTRL[] tuÅŸunu basılı tutun.\n\n[accent]Sıra aracı ile 2 konveyör yerleÅŸtirin, sonra bir eÅŸyayı merkeze götürün. -tutorial.conveyor.mobile = [accent]Konveyörler[] merkeze eÅŸyaları ulaÅŸtırmak için kullanılır.\nMatkaptan merkeze konveyörlerden oluÅŸan bir sıra yapın.\n[accent] Bir sıra halinde yerleÅŸtirmek için parmağınızı birkaç saniye basılı tutup[] bir yöne çekin.\n\n[accent]Sıra aracı ile 2 konveyör yerleÅŸtirin, sonra bir eÅŸyayı merkeze götürün. -tutorial.turret = Bir eÅŸya merkezinize girdiÄŸinde, inÅŸa için kullanılabilir.\nHer eÅŸyaların sadece inÅŸa için kullanılmadığını aklınızda tutun.\nİnÅŸa için kullanılmayan eÅŸyalar,[accent] kömür[] ya da[accent] hurda[] gibi materyaller merkeze konulamaz.\n[lightgray]Düşmanı[] püskürtmek için savunma yapıları inÅŸa edilmelidir.\nÜssünüze yakın bir yerde [accent] duo tareti[] inÅŸa edin. -tutorial.drillturret = Duo taretleri ateÅŸ etmek için [accent]bakır mühimmata[] ihtiyaç duyar.\nTaretin yakınına bir matkap yerleÅŸtirin.\nKonveyörleri tarete yönelterek tarete bakır ikmal edin.\n\n[accent]İkmal edilen mühimmat: 0/1 -tutorial.pause = Mücadele sırasında [accent]oyunu durdurabilirsiniz.[]\nOyun durmaktayken inÅŸaat emirlerini kuyruÄŸa alabilirsiniz.\n\n[accent]Oyunu durdurmak için boÅŸluk tuÅŸuna basın. -tutorial.pause.mobile = Mücadele sırasında [accent]oyunu durdurabilirsiniz.[]\nOyun durmaktayken inÅŸaat emirlerini kuyruÄŸa alabilirsiniz.\n\n[accent]Oyunu durdurmak için sol üstteki bu butona basın. -tutorial.unpause = Åžimdi devam etmek için boÅŸluk tuÅŸuna tekrar basın. -tutorial.unpause.mobile = Åžimdi devam etmek için butona tekrar basın. -tutorial.breaking = Blokların sık sık yok edilmesi gerekir.\n[accent]SaÄŸ fare butonuna basılı tutarak[] bir alan içindeki blokları seçip yok edebilirsiniz.[]\n\n[accent]ÇekirdeÄŸinizin solundaki bütün hurda bloklarını bu ÅŸekilde yok edin. -tutorial.breaking.mobile = Blokların sık sık yok edilmesi gerekir.\n[accent]Yıkım modunu seçin[], sonra bir bloÄŸa dokunarak onu yok edin. Ekrana birkaç saniye basılı tutarak bir alan içindeki blokları seçip yok edebilirsiniz.\nTik butonuna basarak yıkım iÅŸlemini onaylayın.\n\n[accent]ÇekirdeÄŸinizin solundaki bütün hurda bloklarını bu ÅŸekilde yok edin. -tutorial.withdraw = Bazı durumlarda bloklardan materyalleri direkt olarak almak gerekir.\nBunun için önce içinde materyaller olan [accent]bir bloÄŸa dokunun[], sonra envanterdeki [accent]malzemeye dokunun[].\n[accent]dokunup basılı tutarak[] birden fazla materyali alabilirsiniz.\n\nÇekirdekten biraz bakır alın. -tutorial.deposit = Malzemeleri geminizden hedef bloÄŸa sürükleyerek malzemeleri bırakabilirsiniz.\n\n[accent]Bakırı çekirdeÄŸe geri bırakın.[] -tutorial.waves = [lightgray]Düşman[] yaklaşıyor.\n\nÇekirdeÄŸi 2 dalga boyunca koruyun. AteÅŸ etmek için [accent]tıklayın[].\nDaha fazla taret ve matkap inÅŸa edin ve daha fazla bakır toplayın. -tutorial.waves.mobile = [lightgray]Düşman[] yaklaşıyor.\n\nÇekirdeÄŸi 2 dalga boyunca koruyun. Geminiz düşmanlara otomatik olarak ateÅŸ edecektir.\nDaha fazla taret ve matkap inÅŸa edin ve daha fazla bakır toplayın. -tutorial.launch = Belirli bir dalgaya ulaşınca, çekirdeÄŸi bulunduÄŸu bölgeden [accent]kaldırabilir[], bütün binalarınızı arkada bırakıp [accent]çekirdeÄŸinizdeki bütün materyallere sahip olabilirsiniz.[]Bu materyaller daha sonra yeni teknolojiler geliÅŸtirmek için kullanılabilir.\n\n[accent]Kalkış butonuna basın. - -item.copper.description = En basit materyal. Her türlü blokda kullanılır. +#Tüpü bilmem ama yeni çıkan erekir çok iyi deÄŸil mi -siyah pulsar +team.blue.name = mavi +#erekir cidden güzelmiÅŸ -siyah pulsar +hint.skip = Geç +hint.desktopMove = [accent][[WASD][] ile hareket et. +hint.zoom = [accent]Scroll[] ile Zoom yap. +hint.desktopShoot = [accent][[Sol Tılayarak][] ateÅŸ et. +hint.depositItems = Malzeme transferi için, kendi biriminden çekirdeÄŸe sürkle ve bıraz. +hint.respawn = Tekrar doÄŸmak için, [accent][[V][] ye bas. +hint.respawn.mobile = Bir Bina veya Birimi kontrol ediyorsun. Tekrar doÄŸmak için, [accent]sol üstteki avatara tıkla.[] +hint.desktopPause = [accent][[BoÅŸluk][] tuÅŸuna basarak oyunu durdurup yeniden baÅŸlata bilrisin. +hint.breaking = Blokları silmek için silmek istediÄŸiniz objelerin üstüne [accent]SaÄŸ Tıklayın[]. Birden fazla obje silmek için saÄŸ tuÅŸu basılı tutun ve farenizi sürükleyin. +hint.breaking.mobile = Ekranın saÄŸ altındaki \ue817 [accent]çekiç[] tuÅŸuna basın ve silmek istediÄŸiniz objelere tıklayın. \n\nBirden fazla obje silmek için parmağınızı ekranda 1 saniye basılı tutun ve parmağınızı sürükleyin. +hint.blockInfo = Bir blok hakkında bilgiyi görüntülemek için [accent]inÅŸa menüsüne[] tıklayın. Sonra saÄŸdaki [accent][[?][] sembolüne tıklayın. +hint.derelict = [accent]Sahipsiz[] binalar artık çalışmaz durumdadır. \n\nBu binaları [accent]yıkarsanız[] size malzeme verirler. +hint.research = \ue875 [accent]AraÅŸtırma[] sekmesini kullanarak yeni teknolojiler araÅŸtırabilirsiniz. +hint.research.mobile = \ue88c [accent]Menüdeki[] \ue875 [accent]AraÅŸtırma[] sekmesini kullanarak yeni teknolojiler araÅŸtırabilirsiniz. +hint.unitControl = Kendi takımınızdaki taret ve birimleri kontrol etmek için [accent][[Sol CTRL][] tuÅŸunu basılı tutarak istediÄŸiniz taretin yada birimin üstüne sol tıklayın. +hint.unitControl.mobile = Kendi takımınızdaki taret ve birimleri kontrol etmek için istediÄŸiniz taretin yada birimin üstüne [accent][[2 kere tıklayın.][] +hint.unitSelectControl = Birim kontrol etmek için [accent]komuta moduna[] geç: [accent]L-shift.[]\nKomuta modunda iken, basılı tut ve sürükle. Bir yere [accent]SaÄŸ-tık[]layarak birimleri oraya yönlendir. +hint.unitSelectControl.mobile = Birim kontrol etmek için [accent]komuta moduna[] geç: [accent]komuta[] düğmesine bas.\nKomuta modunda iken, basılı tut ve sürükle. Bir yere tıklayarak birimleri oraya yönlendir. +hint.launch = Yeterince kaynak topladıktan sonra, üssünüzü baÅŸka bir sektöre [accent]fırlatmak[] için saÄŸ alttaki \ue827 [accent]harita[] tuÅŸuna basın. +hint.launch.mobile = Yeterince kaynak topladıktan sonra, üssünüzü baÅŸka bir sektöre [accent]fırlatmak[] için saÄŸ alttaki \ue88c [accent]menüden[] \ue827 [accent]harita[] tuÅŸuna basın. +hint.schematicSelect = İstediÄŸiniz blokları kopyalayıp yapıştırmak için [accent][[F][] tuÅŸunu basılı tutun ve farenizi sürükleyin.\n\n[accent][[Orta TuÅŸ'a (Fare TekerleÄŸi'ne)][] basarak tek bir blok seçebilirsiniz. +hint.rebuildSelect = [accent][[B][] ye basılı tutarak, yok edilmiÅŸ blokları seç.\nBu binaları yeniden inÅŸa etmeni saÄŸlar. +hint.rebuildSelect.mobile = \ue874 kopya tuÅŸunu seç, sonra \ue80f yeniden inÅŸa tuÅŸuna bas ve yok olmuÅŸ blok planlarını seçmek için sürükle.\nBu onları otomatik olarak tekrardan inÅŸa edecektir. +hint.conveyorPathfind = Konveyörler ile yol yaparken bir noktadan diÄŸer noktaya otomatik yol oluÅŸturmak için [accent][[Sol CTRL][] tuÅŸunu basılı tutun. +hint.conveyorPathfind.mobile = Konveyörler ile yol yaparken bir noktadan diÄŸer noktaya otomatik yol oluÅŸturmak için \ue844 [accent]Çapraz Mod'u[] etkinleÅŸtirin. +hint.boost = Bazı yer birimleri duvarların, taretlerin, diÄŸer birimlerin üstünden uçma özelliÄŸi vardır. [accent][[Sol Shift][] tuÅŸunu basılı tutarak bazı yer üniteleri ile uçabilirsiniz. +hint.payloadPickup = Bazı birimlerin binaları ve birimleri alma özelliÄŸi vardır. Bir binanın yada birimin üstündeyken [accent][[[] tuÅŸuna basarak kendinizden küçük binaları ve birimleri alabilirsiniz. +hint.payloadPickup.mobile = Bazı birimlerin binaları ve birimleri alma özelliÄŸi vardır. Bir binaya yada birime [accent]Tıklayıp Basılı Tutarak[] kendinizden küçük binaları ve birimleri alabilirsiniz. +hint.payloadDrop = [accent]][] tuÅŸuna basarak taşıdğınız yükü bırakabilirsiniz. +hint.payloadDrop.mobile = BoÅŸ bir yere [accent]tıklayıp basılı tutarak[] taşıdığınız yükü bırakabilirsiniz. +hint.waveFire = [accent]Wave[] tareti su ile dolu olduÄŸu zaman etrafta çıkan yangınları otomatik olarak söndürür. +hint.generator = \uf879 [accent]Termik Jeneratör[] kömür yakarak enerji üretir.\n\nEnerjiyi bir yerden baÅŸka bir yere götürmek için \uf87f [accent]Enerji Noktalarını[] kullanırız. +hint.guardian = [accent]Gardiyan[] birimleri güçlü bir zırha sahiptir. [accent]bakır[] ve [accent]kurÅŸun[] gibi mermilere karşı [scarlet]Dayanıklıdır[].\n\nGardiyanları öldürmek için [accent]salvo[] gibi daha güçlü taretleri ve \uf835 [accent]grafit[] gibi daha çok hasar veren mermileri kullanın. +hint.coreUpgrade = Merkezinizi, [accent]merkezinizin üstüne daha geliÅŸmiÅŸ bir merkez[] koyarak geliÅŸtirebilirsiniz. \n\n[accent]Parçacık[] olarak adlandırılan fakirhanenizin üstüne [accent]Temel[] olarak adlandırılan merkezinizi koyun. Merkezinizin etrafında hiçbir yapı olmamalıdır. +hint.presetLaunch = [accent]DonmuÅŸ Ormanlar[] gibi [accent]ana sektörlere iniÅŸ[] herhangi bir yerden yapılabilir. Yakındaki bir sektörden fırlatma gerektirmez.\n\nBunun gibi [accent]sayı ile isimlendirilmiÅŸ[] sektörleri ele geçirmek [accent]isteÄŸe baÄŸlıdır.[]. +hint.presetDifficulty = Bu sektör, [scarlet]yüksek tehlike[] barındırıyor.\nBöyle bir sektöre hazırlıksız fırlatış yapmak [accent]tavsiye edilmez[]. +hint.coreIncinerate = Bir merkez aÄŸzına kadar dolduktan sonra, ekstra itemler [accent]eritilir[]. +hint.factoryControl = Bir Birim Fabrikasının [accent]üretim noktasını[] seçmek için Komuta modundayken sol tıkla ve ardından birimlerin gitmesini isteidÄŸin noktaya saÄŸ tıkla.\nÜretilen birimler, otomatik o noktaya gidecektir. +hint.factoryControl.mobile = Bir Birim Fabrikasının [accent]üretim noktasını[] seçmek için Komuta modundayken tıkla ve ardından birimlerin gitmesini isteidÄŸin noktaya tıkla.\nÜretilen birimler, otomatik o noktaya gidecektir. +gz.mine = \uf8c4 [accent]Bakır madeni[]nin yanına giderek üzerine tıklayarak kazmaya baÅŸla. +gz.mine.mobile = \uf8c4 [accent]Bakır madeni[]nin yanına giderek üzerine tıklayarak kazmaya baÅŸla. +gz.research = \ue875 Teknoloji AÄŸacını aç.\n\uf870 [accent]Mekanik Matkap[]'ı aç, ardından saÄŸ alttaki menüden seç.\nBakır madenine tıklayarak üzerine matkapı yerleÅŸtir. +gz.research.mobile = \ue875 Teknoloji AÄŸacını aç.\n\uf870 [accent]Mekanik Matkap[]'ı aç, ardından saÄŸ alttaki menüden seç.\nBakır madenine tıklayarak üzerine matkapı yerleÅŸtir.\n\nArdından \ue800 [accent]tik[] tuÅŸuna basarak inÅŸayı onayla. +gz.conveyors = \uf896 [accent]Konveyör[]'ü aç ve yerleÅŸtirerek madenleri merkeze taşı.\n\nBasılı tutup sürükleyerek birden fazla konveyör koy.\n[accent]Scroll[] ile döndür. +gz.conveyors.mobile = \uf896 [accent]Konveyör[]'ü aç ve yerleÅŸtirerek madenleri merkeze taşı.\n\nBasılı tutup sürükleyerek birden fazla konveyör koy. +gz.drills = Operasyonunu geniÅŸlet.\nDaha fazla Mekanik Matkap yerleÅŸtir.\n100 Bakır kaz. +gz.lead = \uf837 [accent]KurÅŸun[], kullanılan basit madenlerden biridir.\nKurÅŸun kazmak için matkap kullan. +gz.moveup = \ue804 Daha fazla talimat için yukarı ilerle. +gz.turrets = 2 adet\uf861 [accent]Duo[] tareti araÅŸtır ve koy.\nDuo tareti bakır\uf838 [accent]mermi[]ye ihtiyaç duyar. +gz.duoammo = Duo'ya konveyörler ile [accent]bakır[] besle. +gz.walls = [accent]Duvarlar[] gelen hasarı engelleyebilir.\nSilahların etrafına, koruma amçlı\uf8ae [accent]Bakır Duvar[] inÅŸa et. +gz.defend = DÜŞMAN GELİYO!!! Hazırlan. +gz.aa = Uçan birimler standart taretlerle kolay kolay durdurulamaz..\n\uf860 Onları daha kolay durdurmak için, [accent]Scatter[] tareti kullan, ancak mermi olarak\uf837 [accent]kurÅŸun[] gerektirir. +gz.scatterammo = Scatter taretini [accent]kurÅŸun[] ile besle. +gz.supplyturret = [accent]Tareti Besle +gz.zone1 = Burası düşman iniÅŸ noktası. +gz.zone2 = Buraya inÅŸa edilien her ÅŸey otomatik yok edilir! +gz.zone3 = Dalga baÅŸlamak üzere.\nHazır ol. Dikkat! ... Korkma sönmez bu ÅŸafak- +gz.finish = Daha fazla taret inÅŸa et, daha fazla maden kaz\nve tüm dalgaları yenerek [accent]sektörü feth et[]. Bol ÅŸans, RTOmega. +onset.mine = Tıklayarak, duvarlardan\uf748 [accent]berillyum[] kaz.\n\n[accent][[WASD] ile hareket et. +onset.mine.mobile = Tıklayarak, duvarlardan\uf748 [accent]berillyum[] kaz. +onset.research = \ue875 Teknoloji AÄŸacını aç.\n\uf73e [accent]Türbin Sıkıştırıcı[]'sını aç ve bir bacanın üstüne yerleÅŸtir.\nBu [accent]enerji[] üretecktir. +onset.bore = \uf741[accent]Plazma Kayalık Kazıcı[]'yı araÅŸtır ve koy.\nBu durvarlardan otomatik kum kazacak. +onset.power = Plazma kazıcıya [accent]enerji[] vermek için\uf73d [accent]Işın Noktası[]'nı araÅŸtır ve inÅŸa et.\nTürbin Sıkıştırıcısı'nı Plazma Kazıcıya baÄŸla. +onset.ducts = \uf799[accent]Tüp[]'ü aç ve konveyör gibi kullanarak madenleri merkeze taşı.\nTıklayığ basılı tutarak birden fazla tüp koy.\n[accent]Scroll[] ile döndür. +onset.ducts.mobile = \uf799[accent]Tüp[]'ü aç ve konveyör gibi kullanarak madenleri merkeze taşı.\nTıklayığ basılı tutarak birden fazla tüp koy. +onset.moremine = Kazı operasyonunu geniÅŸlet.\nDaha fazla Plazma Kayalık Kazıcı inÅŸa et.\n200 Berilyum kaz. +onset.graphite = Daha geliÅŸmiÅŸ bloklar\uf835 [accent]grafit[] gerektirir.\nGafit kazmak için Plazma Kayalık Kazıcıları inÅŸa et. +onset.research2 = [accent]Fabrikaları[] araÅŸtırmaya baÅŸla.\n\uf74d[accent]Kayalık Delici[] ve\uf779 [accent]Ark Silisyum Fırını[]'nı araÅŸtır. +onset.arcfurnace = Ark Fırın,\uf834 [accent]kum[] ve \uf835 [accent]grafit[]'ten \uf82f [accent]silisyum[] üret.\nBu iÅŸlem [accent]Enerji[] de gerektirir. +onset.crusher = \uf74d [accent]Kayalık Delici[] kullanarak kum kaz. +onset.fabricator = [accent]Birim[] kullanarak haritayı gez, binalarını koru ve düşmanları alt et. \uf6a2 [accent]Tank İnÅŸaatcı[]'sını araÅŸtır ve inÅŸa et. +onset.makeunit = Bir Birim üret.\n"?" tuÅŸunu kullanarak gereksinimleri görebilirsin. +onset.turrets = Birimler etkili, ancak [accent]taretler[] daha iyi bir savunma saÄŸlar.\n\uf6eb [accent]Breach[] taretini inÅŸa et.\nTaretler\uf748 [accent]mermi[]ye ihtiyaç duyar. +onset.turretammo = Tareti [accent]berilyum mermi[] ile besle. +onset.walls = [accent]Duvarlar[] gelen hasarı engelleyebilir.\nSilahların etrafına, koruma amçlı\uf8ae [accent]Berilyum Duvar[] inÅŸa et. +onset.enemies = DÜŞMAN GELİYO!!! Hazırlan. +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = Düşman zayıf! Hemen geri dal! +onset.cores = [accent]Merkez Zemin[]lerinin üzerine yeni merkezler inÅŸa edilebilir.\nTüm merkezler birbirleri ile malzemeleri paylaşır.\n\uf725 Bir merkez inÅŸa et. +onset.detect = Düşman seni 2 dakika içinde tespit edicek.\nSavunma, maden ve üretime baÅŸla. +onset.commandmode = [accent]Shift[] e basılı tutarak [accent]Komuta Modu[]na geç.\n[accent]Sol Tıklayıp sürekleyerek[] birim seç.\n[accent]SaÄŸ Tıklayarak[] Birimleri Yönlendir veya saldırt. +onset.commandmode.mobile = [accent]Komuta Düğmesine[] basarak [accent]Komuta Moduna[] gir.\nBir Parmağını basılı tut ve deÄŸirini [accent]sürükle[]yerek birim seç.\n[accent]Tıkla[]yarak birimleri saldırttırabilir veya yönlendirebilirsin. +aegis.tungsten = Tungsten [accent]darbeli matkap[] kullanılarak kazılabilir.\nBu bina [accent]su[] ve [accent]elektrik[] ister. +split.pickup = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n([ ve ] tuÅŸlarını kullan) +split.pickup.mobile = Bazı bloklar merkez birimi ile taşınabilir.\nBu [accent]Konteyner[]i kaldır ve [accent]Küyle Yükleyici[]ye koy.\n(Uzun basarak bir ÅŸeyi taşı.) +split.acquire = Birim üretmek için Tungsten kaz. +split.build = Birimler duvarın öbür tarafına taşınmalı.\nİki adet [accent]Kargo Kütle Sürücü[] inÅŸa et, duvarın iki farklı tarafında.\nBir tanesine tıklayarak birbirlerine baÄŸla. +split.container = Konteynerler gibi, birimler de [accent]Kargo Kütle Sürücü[] ile taşınabilir.\nKütle Sürücün yanına bir Birim İnÅŸaatcı inÅŸa et ve birim üreterek düşman üsse saldır. +#Yukarıdaki baÄŸzı cümleler Anti Dragon tarafından çevirildi. +item.copper.description = En basit materyal. Her türlü blokta kullanılır. +item.copper.details = Bakır. En basit materyal. Tüm alt düzey binalarda gerekir. Zayıf ve dayanıksızdır. item.lead.description = Basit bir materyal. Elektronikte ve sıvı taşımada kullanılır. +item.lead.details = YoÄŸun. DuraÄŸan. Pillerde yaygın olarak kullanılır.\nNot: YaÅŸam formlarına toksik. Tabi burda onlardan pek yok... item.metaglass.description = Süper sert camdan bir bileÅŸim. Sıvı dağıtımı ve depolamak için yaygın olarak kullanılır. item.graphite.description = Mineralize karbon. Mermi ve elektrik yalıtımında kullanılır. item.sand.description = Hem alaşım yapmada hem de arıtkan olarak metalurji iÅŸlemlerinde kullanılan bir malzeme. item.coal.description = Tohumlama olayından çok önce oluÅŸmuÅŸ, fosilleÅŸmiÅŸ bitki maddesi. Yaygın olarak yakıt ve kaynak üretimi için kullanılır. +item.coal.details = FosilleÅŸmiÅŸ bitki kalıntısına benziyor. Herhalde tohumlanmadan çok uzun zaman önce ölmüşler. item.titanium.description = Yaygın olarak sıvı taşımada, matkaplarda ve uçaklarda kullanılan nadir bir süper-hafif metal. item.thorium.description = Yapısal destek ve nükleer yakıt olarak kullanılan yoÄŸun, radyoaktif bir metal. item.scrap.description = Eski yapılar ve birimlerin kalıntıları. Birçok farklı metalden eser miktarları içerir. +item.scrap.details = Eski bina ve birimlerin kalıntıları. item.silicon.description = Kullanışlı bir yarı iletken. GüneÅŸ panellerinde, elektronikler ve güdümlü cephanesi için kullanılır. item.plastanium.description = GeliÅŸmiÅŸ uçak ve parçalama için kullanılan hafif, sünek bir malzeme. item.phase-fabric.description = GeliÅŸmiÅŸ elektronik ve kendi kendini tamir etme teknolojisınde kullanılan neredeyse ağırlıksız bir madde. item.surge-alloy.description = Kendine özgü elektriksel özelliklere sahip geliÅŸmiÅŸ bir alaşım. item.spore-pod.description = Endüstriyel kullanım için atmosferik partiküllerden üretilen sentetik sporlarla dolu bir kapsül. YaÄŸ, patlayıcı ve yakıt yapımı için kullanılır. +item.spore-pod.details = Spor. Büyük ihtimalle sentetik bir yaÅŸam formu. Tokisk bir gaz yayıyor. Aşırı istilacı. Aşırı yanıcı. item.blast-compound.description = Bomba ve patlayıcılarda kullanılan dengesiz bir bileÅŸim. Spor kapsülleri ve diÄŸer uçucu maddelerden sentezlenir. Yakıt olarak tavsiye edilmez. item.pyratite.description = Yakıcı silahlarda kullanılan son derece yanıcı bir madde. +item.beryllium.description = Erekirde mermi olarak kullanılır. +item.tungsten.description = Matkap, savunma ve üretim için kullanılır. Daha geliÅŸmiÅŸ binalarda kullanılır. +item.oxide.description = Enerji ve ısı taşımada kullanılır. +item.carbide.description = Daha geliÅŸmiÅŸ bina ve birimlerde kullanılır. + liquid.water.description = En kullanışlı sıvı. Makineleri soÄŸutmak ve atık iÅŸlenmesi için kullanılır. liquid.slag.description = ÇeÅŸitli tipte erimiÅŸ metallerin birbirine karışımı. BileÅŸenlerine ayrılabilir veya düşmanlara silah olarak püskürtülebilir. liquid.oil.description = İleri seviye malzeme üretiminde kullanılan bir sıvıdır. Yakıt olarak kömür haline getirilebilir veya püskürtülüp ateÅŸe verilerek bir silah olarak kullanılabilir. liquid.cryofluid.description = Su ve titanyumdan oluÅŸturulan inaktif bir sıvı. Son derece yüksek ısı kapasitesine sahiptir. SoÄŸutucu olarak yaygın olarak kullanılır. +liquid.arkycite.description = Sentez ve Kimyasal Reaksiyonlarda kullanılır. +liquid.ozone.description = Oksitlemede, üretimde ve enerji üretiminde kullanılır. Patlayıcı. +liquid.hydrogen.description = Maden çıkarmada, birim üretiminde ve taşımada kullanılır. Yanıcı. +liquid.cyanogen.description = Mermi olarak, geliÅŸmiÅŸ bina ve birimlerde kullanılır. Yüksek derecede Yanıcı. +liquid.nitrogen.description = Gaz çıkarmada ve üretimde kullanılır. DuraÄŸan. +liquid.neoplasm.description = Neoplazmik Reaktörün tehlikeli bir yan ürünü. Su ile taşınır ve su içerek tüm bloklara zarar verir. +liquid.neoplasm.details = Neoplazma. Kontrolsüz bölünen kanserli hücre topluluÄŸu. Isıya dayanıklı. Su içerek her binaya karşı aşırı tehlikeli.\n\nAnaliz için fazla dengesiz. Kullanımı bilmiyor. Cürüf göletlerinde eritmeniz öneirlir. [#ff]!SERPULOYA GÖTÜRME! +block.derelict = [lightgray]\ue815 Kalıntı +block.armored-conveyor.description = Materyalleri titanyum konveyörlerle aynı hızda taşır ama daha fazla zırha sahiptir. DiÄŸer konveyörler dışında yan taraflardan materyal kabul etmez. +block.illuminator.description = Küçük, kompakt, yapılandırılabilir bir ışık kaynağı. Çalışması için enerji gerekir. block.message.description = Bir mesajı saklar. Müttefikler arasındaki haberleÅŸmede kullanılır. +block.reinforced-message.description = Dostlarınla muhabbet için bir mesaj bloÄŸu. +block.world-message.description = Harita yapımcıları için bir mesaj bloÄŸu. Yokedilemez. block.graphite-press.description = Kömür parçalarını sıkıştırıp saf grafit tabakaları üretir. block.multi-press.description = Grafit presinin yükseltilmiÅŸ versiyonu. Kömürün hızlı ve verimli bir ÅŸekilde iÅŸlenmesi için su ve enerji kullanır. -block.silicon-smelter.description = Kumu saf kömürle eritip silikon üretir. +block.silicon-smelter.description = Kumu saf kömürle eritip silisyum üretir. block.kiln.description = Kum ve kurÅŸunu eritir ve metacam olarak bilinen malzemeyi oluÅŸturur. Çalıştırması için az miktar enerji gerekir. block.plastanium-compressor.description = Petrol ve titanyumdan plastanyum üretir. block.phase-weaver.description = Kum ve radyoaktif toryumdan faz örgüsü üretir. Çalışması için çok miktarda enerji gerekir. -block.alloy-smelter.description = Akı alaşımı üretmek için titanyum, kurÅŸun, silikon ve bakırı birleÅŸtirir. +block.surge-smelter.description = Akı alaşımı üretmek için titanyum, kurÅŸun, silisyum ve bakırı birleÅŸtirir. block.cryofluid-mixer.description = Su ve titanyum tozunu karıştırıp kriyosıvı üretir. Toryum reaktörü kullanımı için gereklidir. -block.blast-mixer.description = Patlayıcı bileÅŸen üretmek için spor kapsüllerini pirratit ile ezer ve karıştırır. -block.pyratite-mixer.description = Kömür, kurÅŸun ve kumu karıştırıp oldukça yanıcı olan pirratit üretir. +block.blast-mixer.description = Patlayıcı bileÅŸen üretmek için spor kapsüllerini Piratit ile ezer ve karıştırır. +block.pyratite-mixer.description = Kömür, kurÅŸun ve kumu karıştırıp oldukça yanıcı olan Piratit üretir. block.melter.description = Wave taretlerinde kullanılması veya daha çok iÅŸlemesi için hurdayı eritip cürufa çevirir. block.separator.description = Cürufu mineral bileÅŸenlerine ayırır. SoÄŸutulmuÅŸ bileÅŸenleri çıkarır. block.spore-press.description = YaÄŸ çıkartmak için aşırı basınç altında spor kapsüllerini sıkıştırır. @@ -1250,6 +2098,8 @@ block.item-source.description = Seçilen eÅŸyadan sonsuz verir. Sadece Yaratıc block.item-void.description = Verilen eÅŸyaları yok eder. Sadece Yaratıcı Modda. block.liquid-source.description = Seçilen sıvıyı sonsuz verir. Sadece Yaratıcı Modda. block.liquid-void.description = Verilen sıvıları yok eder. Sadece Yaratıcı Modda. +block.payload-source.description = Sınırsız bir ÅŸekilde Birim ve Kargo oluÅŸturur. Sadece Yaratıcı Modda. +block.payload-void.description = Tüm Yük ve Birimleri Yok Eder. Sadece Yaratıcı Modda. block.copper-wall.description = Ucuz bir savunma bloÄŸu.\nİlk birkaç dalgada merkezi ve silahları korumak için kullanışlıdır. block.copper-wall-large.description = Ucuz bir savunma bloÄŸu.\nİlk birkaç dalgada merkezi ve taretleri korumak için kullanışlıdır.\nBirçok blok alan kaplar. block.titanium-wall.description = Orta derecede güçlü savunma bloÄŸu.\nDüşmanlardan orta derecede koruma saÄŸlar. @@ -1262,9 +2112,13 @@ block.phase-wall.description = Özel faz örgüsü bazlı yansıtıcı materyal block.phase-wall-large.description = Özel faz bazlı yansıtıcı bileÅŸik ile kaplanmış bir duvar. ÇoÄŸu mermi çarpma anında geri sektirir.\nBirçok blok alan kaplar. block.surge-wall.description = Son derece dayanıklı bir savunma bloÄŸu.\nMermi temasıyla yükü toplar ve bu yükü rastgele serbest bırakır. block.surge-wall-large.description = Son derece dayanıklı bir savunma bloÄŸu.\nMermi temasıyla yükü toplar ve bu yükü rastgele serbest bırakır.\nBirçok blok alan kaplar. +block.scrap-wall.description = Binaları düşman mermilerinden korur. +block.scrap-wall-large.description = Binaları düşman mermilerinden korur. +block.scrap-wall-huge.description = Binaları düşman mermilerinden korur. +block.scrap-wall-gigantic.description = Binaları düşman mermilerinden korur. block.door.description = Küçük bir kapı. Dokunarak açılabilir veya kapatılabilir. block.door-large.description = Büyük bir kapı. Dokunarak açılabilir veya kapatılabilir.\nBirçok blok alan kaplar. -block.mender.description = Çevresindeki blokları periyodik olarak tamir eder. Savunmaları dalgalar arasında tamir eder.\nİsteÄŸe baÄŸlı olarak menzili ve verimi arttırmak için silikon kullanılabilir. +block.mender.description = Çevresindeki blokları periyodik olarak tamir eder. Savunmaları dalgalar arasında tamir eder.\nİsteÄŸe baÄŸlı olarak menzili ve verimi arttırmak için silisyum kullanılabilir. block.mend-projector.description = Tamircinin yükseltilmiÅŸ bir versiyonu. Çevresindeki blokları onarır.\nİsteÄŸe baÄŸlı olarak menzili ve verimliliÄŸi artırmak için faz örgüsü kullanılabilir. block.overdrive-projector.description = Yakınındaki binaların hızını artırır.\nİsteÄŸe baÄŸlı olarak menzili ve verimliliÄŸi artırmak için faz örgüsü kullanılabilir. block.force-projector.description = Kendi etrafında altıgen güç alanı oluÅŸturur. Çok fazla zarar gördüğünde aşırı ısınır ve kapanır.\nİsteÄŸe baÄŸlı olarak aşırı ısınmasını önlemek için soÄŸutma sıvısı,koruyucu boyutunu artırmak için ise faz örgüsü kullanılabilir. @@ -1278,51 +2132,59 @@ block.phase-conveyor.description = GeliÅŸmiÅŸ materyal taşıma bloÄŸu. Materyal block.sorter.description = Materyalleri ayıklar. EÄŸer materyal seçilen ile eÅŸleÅŸiyorsa geçmesine izin verilir. Yoksa materyal saÄŸa ya da sola atılır. block.inverted-sorter.description = Materyalleri sıradan bir ayıklayıcı gibi iÅŸler, ancak seçili öğeleri önden deÄŸil yanlardan geçirir. block.router.description = Materyalleri bir yönden alıp diÄŸer üç yöne eÅŸit olarak dağıtır. Materyalleri bir kaynaktan birden fazla hedefe iletmek için kullanılır.\n\n[scarlet]Asla üretim yapan binaların dibine yerleÅŸtirmeyin, yoksa istenmeyen materyaller tarafından tıkanabilir.[] +block.router.details = [#ff]Sakın, asla, kattiyen iki tanesini yan yana koyma! Yoksa Tüm Evren Parçalanabilir! block.distributor.description = GeliÅŸmiÅŸ bir yönlendirici. Materyalleri yedi farklı yöne dağıtabilir. block.overflow-gate.description = Ayırıcı ve yönlendiricinin bir karışımı. Materyalleri sadece ön kısım kapalı olduÄŸunda saÄŸa ve sola atar. block.underflow-gate.description = TaÅŸma geçidinin zıttıdır. Sol ve saÄŸ taraf kapalıysa materyalleri ön tarafa atar. block.mass-driver.description = En geliÅŸmiÅŸ materyal taşıma bloÄŸu. bir miktar materyalı alır ve onları uzak mesafedeki bir baÅŸka kütle sürücüsüne ateÅŸler. Çalışması için enerji gerekir. block.mechanical-pump.description = Hiç enerji harcamayan, düşük çıktılı, ucuz bir pompa. block.rotary-pump.description = Daha geliÅŸmiÅŸ bir pompa. Daha fazla sıvı depolar ama çalışması için enerji gerekir. -block.thermal-pump.description = En iyi pompa. +block.impulse-pump.description = En iyi pompa. Çalışması için enerji gerekir. block.conduit.description = Temel sıvı taşıma bloÄŸu. Sıvıları ileri taşır. Pompalar ve diÄŸer borularla birlikte kullanılır. block.pulse-conduit.description = GeliÅŸmiÅŸ bir sıvı taşıma bloÄŸu. Sıvıları normal borulardan daha hızlı taşır ve onlardan daha fazla sıvı alır. block.plated-conduit.description = Sıvıları dalga borusuyla aynı güçte taşır ancak daha fazla zırha sahiptir. Borular dışında baÅŸka bir ÅŸekilde yandan sıvı kabul etmez.\nDaha az sızıntı yapar. block.liquid-router.description = Sıvıları bir yönden alıp diÄŸer üç yöne eÅŸit olarak dağıtır. Ayrıca kendisi de bir miktar sıvı depolayabilir. Sıvıları bir kaynaktan birden fazla hedefe iletmek için kullanılır. +block.liquid-container.description = Az bir miktarda sıvı depolar, her yöne dağıtır. block.liquid-tank.description = Çok miktarda sıvıyı depolar. İhtiyaçları devamlı olmayan sıvıları yedek olarak saklamakta ya da önemli blokların devamlı olarak soÄŸutulmasında kullanılabilir. block.liquid-junction.description = Çakışan iki boru hattı arasında bir köprü görevi görür. İki farklı borunun farklı hedeflere farklı sıvıları taşıdığı durumlarda kullanışlıdır. block.bridge-conduit.description = GeliÅŸmiÅŸ sıvı taşıma bloÄŸu. Sıvıları her türlü arazi veya binanın üzerinden üç bloÄŸa kadar uzaÄŸa taşıyabilir. block.phase-conduit.description = GeliÅŸmiÅŸ sıvı taşıma bloÄŸu. Sıvıları kendisine baÄŸlı baÅŸka bir faz borusuna ışınlamak için enerji kullanır. -block.power-node.description = BaÄŸlı düğümlere enerji saÄŸlar. Ayrıca dibindeki bloklardan da enerji alıp onlara enerji verebilir. -block.power-node-large.description = Daha fazla menzil ve baÄŸlantıya sahip daha geliÅŸmiÅŸ bir güç düğümü -block.surge-tower.description = Daha az baÄŸlantı sayısına sahip oldukça uzun menzilli bir güç düğümü. +block.power-node.description = BaÄŸlı noktalara enerji aktarır. Ayrıca dibindeki bloklardan da enerji alıp onlara enerji verebilir. +block.power-node-large.description = Daha fazla menzil ve baÄŸlantıya sahip daha geliÅŸmiÅŸ bir enerji noktası. +block.surge-tower.description = Daha az baÄŸlantı sayısına sahip oldukça uzun menzilli bir enerji noktası. block.diode.description = Pil gücü, bu bloktan yalnızca diÄŸer tarafta daha az güç depolandığında sadece tek bir yöne akabilir. block.battery.description = Enerji fazlasını yedek olarak saklar. Enerji açığında sakladığı enerjiyi salar. block.battery-large.description = Sıradan bataryadan çok daha fazla enerji depolar. block.combustion-generator.description = Kömür gibi yanıcı materyalleri yakarak enerji üretir. block.thermal-generator.description = Sıcak bölgelere konulduÄŸunda enerji üretir. block.steam-generator.description = Daha geliÅŸmiÅŸ bir termik jeneratör. Daha verimlidir, ama buhar üretebilmek için suya ihtiyaç duyar. -block.differential-generator.description = Çok miktarda enerji üretir. Kriyosıvı ve yanan pirratit arasındaki sıcaklık farkından yararlanır. +block.differential-generator.description = Çok miktarda enerji üretir. Kriyosıvı ve yanan Piratit arasındaki sıcaklık farkından yararlanır. block.rtg-generator.description = Basit, güvenilir bir reaktör. Bozunan radyoaktif materyallerin ısısını kullanır. -block.solar-panel.description = GüneÅŸten küçük miktarda enerji üretir. +block.solar-panel.description = GüneÅŸten az miktarda enerji üretir. block.solar-panel-large.description = Standart güneÅŸ panelinin daha verimli bir versiyonu. block.thorium-reactor.description = Toryumdan, yüksek miktarda enerji üretir. Devamlı soÄŸutulmaya ihtiyacı vardır. Yeterli soÄŸutucu temin edilmezse ÅŸiddetle patlar. ürettiÄŸi enerji doluluk oranına baÄŸlıdır, tam dolu iken temel düzeyde enerji üretir. -block.impact-reactor.description = GeliÅŸmiÅŸ bir jeneratör, tam verimle dev miktarda enerji üretebilir. İşlemi baÅŸlatmak için dışarıdan bir miktar enerjiye ihtiyacı vardır. +block.impact-reactor.description = GeliÅŸmiÅŸ bir jeneratör, tam verimle çok yüksek miktarda enerji üretebilir. İşlemi baÅŸlatmak için dışarıdan bir miktar enerjiye ihtiyacı vardır. block.mechanical-drill.description = Ucuz bir matkap. DoÄŸru karelere konulduÄŸunda, bir materyalden yavaÅŸ ama durmaksızın üretir. Sadece temel kaynaklardan kazabilir. block.pneumatic-drill.description = Titanyumu kazabilen, daha geliÅŸmiÅŸ bir matkap. Mekanik matkaptan daha hızlıdır. block.laser-drill.description = Lazer teknolojisi sayesinde daha da hızlı kazmaya izin verir ancak çalışması için enerji gerekir. Toryumu kazabilir. block.blast-drill.description = En iyi matkap. Çalışması için çok miktarda enerji gerekir. block.water-extractor.description = Yeraltındaki suyu çıkarır. Hiç su bulunmayan yerlerde kullanılır. block.cultivator.description = Atmosferdeki küçük spor partiküllerini büyütüp endüstriyel kullanıma hazır kapsüllere çevirir. -block.oil-extractor.description = Çokça enerji, su kullanarak yerden petrol çıkarır. -block.core-shard.description = Çekirdek kapsülünün ilk versiyonu. Yok edilirse, bölge ile bütün iletiÅŸim kesilir. Bunun olmasına izin verme. -block.core-foundation.description = Çekirdek kapsülünün ikinci versiyonu. Daha iyi zırhlı ve daha çok materyal depolayabilir. -block.core-nucleus.description = Çekirdek kapsülünün üçüncü ve son versiyonu. Aşırı derecede zırhlı ve dev miktarda materyal depolayabilir. +block.cultivator.details = Geri Dönüştürülmüş Teknoloji. Yüksek miktarda bio kütle üretmede kullanılır. Serpulo yu kaplayan sporların kaynağı. +block.oil-extractor.description = Çokça enerji, su kullanarak kumdan petrol çıkarır. +block.core-shard.description = Merkez kapsülünün ilk versiyonu. Yok edilirse, bölge ile bütün iletiÅŸim kesilir. Bunun olmasına izin verme. +block.core-shard.details = İlk aÅŸama. Bu üstün makine, kendini kopyalama ve tek iniÅŸlik roket özelliklerine sahip. Gezegenler arası ulaşımda kullanılamaz! +block.core-foundation.description = Merkez kapsülünün ikinci versiyonu. Daha iyi zırhlı ve daha çok materyal depolayabilir. +block.core-foundation.details = İkinci AÅŸama. +block.core-nucleus.description = Merkez kapsülünün üçüncü ve son versiyonu. Aşırı derecede zırhlı ve çok yüksek miktarda materyal depolayabilir. +block.core-nucleus.details = Üçüncü ve Son AÅŸama. Daha sonrası var mı acaba? block.vault.description = Her materyalden az miktarda saklar. Materyalleri kasadan almak için bir boÅŸaltıcı bloÄŸu kullanılabilir. block.container.description = Her materyalden az miktarda saklar. Materyalleri konteynerden almak için bir boÅŸaltıcı bloÄŸu kullanılabilir. -block.unloader.description = Materyalleri bir konteyner, kasa, veya çekirdekten çıkarıp; bir konveyöre veya dibindeki bir bloÄŸa koyar. Çıkardığı materyal türü dokunularak deÄŸiÅŸtirilebilir. -block.launch-pad.description = Çekirdek kalkışına gerek duymadan materyalleri üsse gönderir. -block.launch-pad-large.description = Kalkış pistinin daha geliÅŸmiÅŸ bir versiyonu. Daha fazla materyali daha sık gönderebilir. +block.unloader.description = Materyalleri bir konteyner, depo veya merkezden çıkarıp; bir konveyöre veya dibindeki bir bloÄŸa koyar. Çıkardığı materyal türü dokunularak deÄŸiÅŸtirilebilir. +block.launch-pad.description = BaÅŸka Bir Sektöre item gönderir. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = Küçük, ucuz bir taret. Yer birimlerine karşı etkilidir. block.scatter.description = Önemli bir uçaksavar tareti. Düşman birimlerine hurda ya da kurÅŸun uçaksavar mermileri atar. block.scorch.description = Etrafındaki düşmanları ateÅŸe verir. Yakın mesafede çok etkilidir. @@ -1337,5 +2199,450 @@ block.ripple.description = Çok güçlü bir havan tareti. Uzak mesafedeki düş block.cyclone.description = Büyük bir anti hava ve anti kara tareti. Yakınındaki düşmanlara patlayıcı uçaksavar mermi kümeleri atar. block.spectre.description = Dev bir çift namlulu top. Hava ve kara birimlerine iri, zırh delici mermiler atar. block.meltdown.description = Dev bir lazer topu. Yüklenip yakındaki düşmanlara uzun süreli lazer ışınları yollar. Çalışması için soÄŸutucu gerekir. +block.foreshadow.description = Çok uzaktaki Tek bir hedefe inanılmaz güçlü bir ÅŸok ışını vurur. En fazla canı olan birimi hedef alır. block.repair-point.description = Kendisine en yakın hasarlı birimi tamir eder. block.segment.description = Gelen mermilere zarar verir ve onları yok eder. Lazer mermilere etki etmez. +block.parallax.description = Çekici bir ışın fırlatarak hava düşmanlarını kendine çeker. Onlara az da olsa zarar verir. +block.tsunami.description = Düşmanlara yüksek miktarda sıvı püskürtür. AteÅŸleri otomatik söndürür. +block.silicon-crucible.description = Kum ve kömürü, piratitle eriterek silisyum üretir. Sıcak ortamda daha iyi çalışır. +block.disassembler.description = Cürufü eser miktardaki egzotik bileÅŸenlerine düşük verimde ayırır. Toryum elde edebilir. +block.overdrive-dome.description = Yakındaki binaları hızlandırır. Çalışmak için silisyum ve faz gerektirir. +block.payload-conveyor.description = Büyük yükleri hareket ettirir. Birimler gibi. +block.payload-router.description = Büyük Yükleri 3 Ayrı yöne aktarır. +block.ground-factory.description = Yer Birimi üretir. Bu birimler direk kullanılabilir veya geliÅŸtirilebilir. +block.air-factory.description = Hava Birimi üretir. Bu birimler direk kullanılabilir veya geliÅŸtirilebilir. +block.naval-factory.description = Su Birimi üretir. Bu birimler direk kullanılabilir veya geliÅŸtirilebilir. +block.additive-reconstructor.description = Birimleri 2. seviyeye yükseltir. +block.multiplicative-reconstructor.description = Birimleri 3. seviyeye yükseltir. +block.exponential-reconstructor.description = Birimleri 4. seviyeye yükseltir. +block.tetrative-reconstructor.description = Birimleri 5. ve son seviyeye yükseltir. +block.switch.description = Aktif edilebilen bir düğme. +block.micro-processor.description = Birtakım iÅŸlemleri döngü halinde yapar. Birimleri ve binaları kontrol edebilir. +block.logic-processor.description = Birtakım iÅŸlemleri döngü halinde yapar. Birimleri ve binaları kontrol edebilir. Daha hızlı çalışır. +block.hyper-processor.description = Birtakım iÅŸlemleri döngü halinde yapar. Birimleri ve binaları kontrol edebilir. Daha-da hızlı çalışır. +block.memory-cell.description = Bilgi saklar. +block.memory-bank.description = Bilgi saklar. Yüksek kapasiteye sahiptir. +block.logic-display.description = Bir iÅŸlemciden bilgi alarak grafik gösteririr. +block.large-logic-display.description = Bir iÅŸlemciden bilgi alarak grafik gösteririr. +block.interplanetary-accelerator.description = Gezegenler Arası ulaşım ÅŸimdi parmaklarının ucunda... +block.repair-turret.description = Sürekli en yakın birimi tamir eder. SoÄŸutucu kullanabilir. +block.core-bastion.description = Ana Merkez. GüçlendirilmiÅŸ. Yok edildiÄŸinde sektör kaybedilir. +block.core-citadel.description = Ana Merkez. Yüksek Seviyede GüçlendirilmiÅŸ. Yok edildiÄŸinde sektör kaybedilir. Daha fazla malzeme depolar. +block.core-acropolis.description = Ana Merkez. Aşırı Yüksek Seviyede GüçlendirilmiÅŸ. Yok edildiÄŸinde sektör kaybedilir. Daha da fazla malzeme depolar. +block.breach.description = Düşmana delici berilyum mermilerle ateÅŸ eder. +block.diffuse.description = Koni ÅŸeklinde ateÅŸ eder. Düşmanı geri iter. +block.sublimate.description = Devamlı alev püskürtür. Zırh deler. +block.titan.description = Yer birimlerine devasa füzelerle ateÅŸ eder. Hidrojen gerektirir. +block.afflict.description = Devasa enerji küreleri fırlatır. Isı gerektirir. +block.disperse.description = Parçacıklı hava mermileri ateÅŸler. +block.lustre.description = Düşmanlara yavaÅŸ hareket eden ve tek bir birimi hedef alabilen lazer ateÅŸler. +block.scathe.description = Uzak yer birimerline çok uzun bir mesafeden füzelerle saldırır. +block.smite.description = Delici enerji saçıcı mermiler fırlatır. +block.malign.description = Takipçi lazerlerle saldırır. Yüksek mikatrda ısı ister. +block.silicon-arc-furnace.description = Kum ve grafitten silisyum üretir. Hayal Gibi... +block.oxidation-chamber.description = Beriliyum ve ozonu oksite çevirir. Yan ürün olarak ısı üretir. +block.electric-heater.description = Önündeki bloÄŸu ısıtır. Enerji gerektirir. +block.slag-heater.description = Önündeki bloÄŸu ısıtır. Cürüf gerektirir. +block.phase-heater.description = Önündeki bloÄŸu ısıtır. Faz gerektirir. +block.heat-redirector.description = Isıyı önündeki bloÄŸa aktarır. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = Isıyı üç yöne daÄŸtırır. +block.electrolyzer.description = Suyu Oksijen ve Hidrojene ayırır. Hâ‚‚O +block.atmospheric-concentrator.description = Atmosferden Nitrojen emcikler. Isı gerktirir. +block.surge-crucible.description = Silisyum ve cürüften Akı üretir. Isı gerktirir. +block.phase-synthesizer.description = Toryum, kum ve ozon'dan Faz üretir. Isı gerktirir. +block.carbide-crucible.description = Grafit ve Tungsteni birleÅŸtirip Karbür üretir. Isı gerktirir. +block.cyanogen-synthesizer.description = Arkyisit ve Grafiti birleÅŸtirip Siyanojen üretir. Isı gerktirir. +block.slag-incinerator.description = Her ÅŸeyi eriterek yok eder. Cürüf gerektirir. +block.vent-condenser.description = Baca gazlarını suya çevirir. Enerji gerektirir. +block.plasma-bore.description = Bir duvar madeninine bakarken sonsuza dek maden üretir. Az da olsa enerji gerektirir. +block.large-plasma-bore.description = Büyük bir duvar kazıcı. Tungsten ve Toryum kazabilir. Hidrojen ve Enerji gerektirir. +block.cliff-crusher.description = Duvarları parçalar ve Kum üretir. enerji gerektirir. Verimlilik duvar tipine göre deÄŸiÅŸir. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = Bir madenin üstüne konduÄŸu zaman ara ara maden kazar. Enerji ve su gerektirir. +block.eruption-drill.description = GeliÅŸmiÅŸ bir Matkap. Toryum kazabilir. Hidrojen gerektirir. +block.reinforced-conduit.description = Sıvıları iletir. Yandan baÅŸka borular dışında sıvı almaz. +block.reinforced-liquid-router.description = Tüm sıvıları eÅŸit dağıtır. +block.reinforced-liquid-tank.description = Daha Bol miktarda sıvı depolar. +block.reinforced-liquid-container.description = Bol miktarda sıvı depolar. +block.reinforced-bridge-conduit.description = Sıvıları bina ve duvarların üzerinden geçirmek için bir köprü. +block.reinforced-pump.description = Sıvı pompalar. Hidrojen gerektirir. +block.beryllium-wall.description = Binaları düşmanlardan korur. +block.beryllium-wall-large.description = Binaları Biraz daha iyi düşmanlardan korur. +block.tungsten-wall.description = Binaları Biraz daha da iyi düşmanlardan korur. +block.tungsten-wall-large.description = Binaları Daha iyi düşmanlardan korur. +block.carbide-wall.description = Binaları Daha da iyi düşmanlardan korur. +block.carbide-wall-large.description = Binaları Çok Daha iyi düşmanlardan korur. +block.reinforced-surge-wall.description = Binaları Çok Daha da iyi düşmanlardan korur, arada elektirik atar. +block.reinforced-surge-wall-large.description = Binaları Çok Daha Daha iyi düşmanlardan korur, arada elektirik atar. +block.shielded-wall.description = Binaları Daha da Çok Daha Daha iyi düşmanlardan korur. Enerji verince minik bir güç kalkanı oluÅŸturur. +block.blast-door.description = Dost birimlerin geçiÅŸini saÄŸlayan otomatik bir kapı. +block.duct.description = Malzemeleri taşır. +block.armored-duct.description = Malzemeleri taşır. Yanlardan Tüp dışında malzeme kabul etmez. +block.duct-router.description = Malzemeleri üç yana eÅŸit paylaşır. Sadece arkadan malzeme kabul eder. Ayrıca filtre haline getirilebilir. +block.overflow-duct.description = Yana sadece ön kapalıysa aktarır. +block.duct-bridge.description = Malzemeleri bina ve duvarların üstünden taşır. +block.duct-unloader.description = Arkasındaki bloktan spesifik bir malzemeyi çeker. Merkez üzerinde çalışmaz. +block.underflow-duct.description = Malzemeleri sadece yanlar kapalıysa öne aktarır. +block.reinforced-liquid-junction.description = KesiÅŸen iki boru arasında bir kavÅŸak. +block.surge-conveyor.description = Malzemeleri toplu taşır. Enerji ile hızlandırılabilir. +block.surge-router.description = Malzemeleri üç yöne eÅŸit paylaÅŸtırır. Enerji ile hızlandırılabilir. +block.unit-cargo-loader.description = Kargo Dronları üretir. Kargo Dronları otomatik malzemeleri noktalar arası taşır. +block.unit-cargo-unload-point.description = Kargo Dronları için malzeme bırakma noktası. +block.beam-node.description = X ve Y kordinatında enerji aktarır. Az da olsa enerji depolar. +block.beam-tower.description = X ve Y kordinatında enerji aktarır. Enerji depolar. Uzun Mesafeli. +block.turbine-condenser.description = Baca üstüne konunca enerji üretir. Azcık da su. +block.chemical-combustion-chamber.description = Arkisit ve Ozondan enerji üretir. +block.pyrolysis-generator.description = Arkisit ve Cürüften enerji üretir. Yan ürün olarak su çıkarır. +block.flux-reactor.description = Isıtıldığında bol mikatrda enerji üretir. Stabilize etmek için Siyanojen gerektirir. \nSiyanojen yetersizliÄŸinde BOOM! +block.neoplasia-reactor.description = Arkisit, su ve faz ile bol miktarda enerji üretir. Isı ve tehlikeli Neoplazma ortaya çıkarır.\nNeoplazma yok edilmezse patlar! +block.build-tower.description = Otomatik kırılan binaları geri iÅŸaa eder. Oyuncuya iÅŸaatta yardımcı olur. +block.regen-projector.description = Hidrojen kullanarak etrafındaki blokları tamir eder. +block.reinforced-container.description = Az da olsa malzeme depolar. Merkezle birleÅŸemez. +block.reinforced-vault.description = Malzeme depolar. Merkezle birleÅŸemez. +block.tank-fabricator.description = Stell birimleri üretir. Üretilen birimler direk kullanılabilir veya geliÅŸtirilebilir. +block.ship-fabricator.description = Elude birimleri üretir. Üretilen birimler direk kullanılabilir veya geliÅŸtirilebilir. +block.mech-fabricator.description = Merui birimleri üretir. Üretilen birimler direk kullanılabilir veya geliÅŸtirilebilir. +block.tank-assembler.description = Blok ve Birimleri bilrÅŸetirerek geliÅŸmiÅŸ Tanklar üretir. Modül takarak daha geliÅŸmiÅŸ birimler üretilebilir. +block.ship-assembler.description = Blok ve Birimleri bilrÅŸetirerek geliÅŸmiÅŸ Gemiler üretir. Modül takarak daha geliÅŸmiÅŸ birimler üretilebilir. +block.mech-assembler.description = Blok ve Birimleri bilrÅŸetirerek geliÅŸmiÅŸ Robotlar üretir. Modül takarak daha geliÅŸmiÅŸ birimler üretilebilir. +block.tank-refabricator.description = Tankları 2. seviyeye yükseltme modülü. +block.ship-refabricator.description = Gemileri 2. seviyeye yükseltme modülü. +block.mech-refabricator.description = Robotları 2. seviyeye yükseltme modülü. +block.prime-refabricator.description = Birimleri 3. seviyeye yükseltme modülü. +block.basic-assembler-module.description = Birim üretim seviyesini arttırır. Enerji gerektirir. +block.small-deconstructor.description = Bina ve Birimleri parçalar. Kullanılan malzemelerin 100% ünü geri iade eder. +block.reinforced-payload-conveyor.description = Kargoyu taşır. +block.reinforced-payload-router.description = Kargoyu üç yöne paylaÅŸtırır. Filtrelenebilir. +block.payload-mass-driver.description = Uzun mesafe kargo taşımacılığı yapar. +block.large-payload-mass-driver.description = Long-range payload transport structure. Shoots received payloads to linked payload mass drivers. +block.unit-repair-tower.description = Etrafındaki tüm birimleri tamir eder. Ozon gerektirir. +block.radar.description = Haritayı tarar. Enerji gerektirir. +block.shockwave-tower.description = Düşman mermilerinini parçalar. Siyanojen gerektirir. +block.canvas.description = Önceden tanımlanmış paletle basit bir fotoÄŸraf sergiler. Düzenlenebilir. +#burdan sonraki ve önceki her ÅŸeyi benim translate etmem gerekti!!! -RTOmega XD +unit.dagger.description = Düşmanlara basit mermilerle ateÅŸ eder. +unit.mace.description = Düşmanlara alev püskürtür. +unit.fortress.description = Düşmanlara uzun menzilli gülleler fırlatır. +unit.scepter.description = Düşmanlara akı yüklü mermiler fırlatır. +unit.reign.description = Düşmanlara devasa delici mermilerle ateÅŸ eder. +unit.nova.description = Minik lazerler atar ve binaları tamir eder. Uçabilir. +unit.pulsar.description = Minik elektroÅŸoklar atar ve binaları tamir eder. Uçabilir. +unit.quasar.description = Delici lazerlerle ateÅŸ eder ve binaları tamir eder. Uçabilir. +unit.vela.description = Uzun süreli büyük bir lazer ateÅŸ eder ve binaları tamir eder. Uçabilir. +unit.corvus.description = Çok Yüksek Menzilli devasa bir lazer atar. Her ÅŸeyi deler. Binaların üstünden yürüyebilir. +unit.crawler.description = Düşmana doÄŸru koÅŸar ve kendini imha eder. +unit.atrax.description = Cürüf topları fırlatır. Binaların üstünden yürüyebilir. +unit.spiroct.description = Emici lazerler ateÅŸ eder, kendini onarır. Binaların üstünden yürüyebilir. +unit.arkyid.description = Emici ilazerler ateÅŸ eder ve devasa bir gülle fırlatır. Binaların üstünden yürüyebilir. +unit.toxopid.description = Devasa bir enerji topu fırlatır. Binaların üstünden yürüyebilir. +unit.flare.description = Yakındakilere basit mermi atar. +unit.horizon.description = Yakındaki yer düşmanlarına bombarduman yapar. +unit.zenith.description = Swarmer-gibi füzeler fırlatır. +unit.antumbra.description = Büyük boyutta mermiler fırlatır. +unit.eclipse.description = Büyük mermiler fırlatır ve lazer atar. +unit.mono.description = Otomatik bir ÅŸekilde Bakır ve KurÅŸun kazar ve çekirdeÄŸe getirir. +unit.poly.description = Otomatik bir ÅŸekilde kırılmış binaları geri inÅŸa eder ve oyuncuya inÅŸatta yardımcı olur. +unit.mega.description = Otomatik bir ÅŸekilde hasarlı bolkları onarır. Blokları ve Birimleri taşıyabilir. +unit.quad.description = Büyük bombalar atar, hasarlı blokları onarır ve düşmanlara zarar verir. Bolkları ve Birimleri taşıyabilir. +unit.oct.description = Yakındaki birimleri korur ve tamir eder. Blokları ve Birimleri taşıyabilir. +unit.risso.description = Yakındaki düşmanlara Füze atar. +unit.minke.description = Yakındaki düşmanlara basit mermi ve toplarla saldırır. +unit.bryde.description = Düşmanlara uzun menzil havanıyla saldırır. +unit.sei.description = Düşmanlara füze atar ve devasa zırh delici mermilerle saldırır. +unit.omura.description = Uzun menzil bir ışın atıcıya sahiptir. Mermisi nerdeyse her bolÄŸu delebilir. Flare üretir. +unit.alpha.description = ÇekirdeÄŸi korur. Bina inÅŸa eder. +unit.beta.description = ÇekirdeÄŸi korur. Bina inÅŸa eder. +unit.gamma.description = ÇekirdeÄŸi korur. Bina inÅŸa eder. +unit.retusa.description = Sensörlü mayın döşer. Yakındakileri tamir eder. +unit.oxynoe.description = Tamir edici ateÅŸ fırlatır. Düşman mermilerini havada vurur. +unit.cyerce.description = Takipçi toplu füze atar. Yakındakileri tamir eder. +unit.aegires.description = Enerji alanına giren düşmanları ÅŸoklar. Yakındakileri tamir eder. +unit.navanax.description = Devasa patlayıcı EMP gülleleri fırlatır, düşman elektir sistemlerini yok eder ve müttefiklerini tamir eder. YaklaÅŸan düşmanları 4 mini oto-laser tareti ile eritir. +unit.stell.description = Hedef Düşmanlara standart mermilerle saldırır. +unit.locus.description = Hedef Düşmanlara deÄŸiÅŸken mermilerle saldırır. +unit.precept.description = Hedef Düşmanlara Delici Toplu Mermilerle saldırır. +unit.vanquish.description = Hedef Düşmanlara Büyük Delici Parçalı Mermilerle saldırır. +unit.conquer.description = Hedef Düşmanlara Büyük Delici Kademeli Mermilerle saldırır. +unit.merui.description = Yer Düşmanlarına Uzun-Mesafeli Toplarla saldırır. ÇoÄŸu araziden geçebilir. +unit.cleroi.description = Düşmanlara İkili kapsüllerle saldırır. Düşman mermilerini havada vurur. ÇoÄŸu araziden geçebilir. +unit.anthicus.description = Düşman Birimlere Uzun-Mesafe Takipçi Füzelerle saldırır. ÇoÄŸu araziden geçebilir. +unit.tecta.description = Düşman Birimlere Takipçi Plazma Füzeleri ile saldırır. Yönlü kalkanıyla kendini korur. ÇoÄŸu araziden geçebilir. +unit.collaris.description = Düşman Birimlere Uzun-Mesafeli Parçalı Toplarla saldırır. ÇoÄŸu araziden geçebilir. +unit.elude.description = Düşman Birimlere İkili Takipçi mermilerle saldırır. Sıvıların üzerinden geçebilir. +unit.avert.description = Düşman Birimlere Dönen Mermilerle ile saldırır. +unit.obviate.description = Düşman Birimlere Dönen Işın Topları ile saldırır. +unit.quell.description = Düşman Birimlere Uzun-Mesafe Takipçi Füzelerle saldırır. Düşman Tamir Bloklarını Bloklar. +unit.disrupt.description = Düşman Birimlere Uzun-Mesafe Takipçi Bloke-edici Füzelerle saldırır. Düşman Tamir Bloklarını Bloklar. +unit.evoke.description = Sur Merkezini korumak için binalar inÅŸa eder. Binaları Işınıyla Tamir Eder. +unit.incite.description = Kale Merkezini korumak için binalar inÅŸa eder. Binaları Işınıyla Tamir Eder. +unit.emanate.description = Akropolis Merkezini korumak için binalar inÅŸa eder. Binaları Işınıyla Tamir Eder. +#inÅŸaa->inÅŸa -ekozet +lst.read = BaÄŸlı hafıza kutusundaki numarayı okur. +lst.write = BaÄŸlı hafıza kutuaundaki numaraya yazar. +lst.print = Yazı yazar. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Yazı Haznesindeki son deÄŸeri baÅŸka bir deÄŸerle deÄŸiÅŸtirir.\nYerleÅŸtiricek deÄŸer boÅŸ ise hiç bir ÅŸey yapmaz.\nÖrnek DeÄŸer: "{[accent]sayı 0-9[]}"\nÖrnek:\n[accent]print "test {0}"\nformat "örnek" +lst.draw = Ekrana Çizer. +lst.drawflush = Ekrana Çizimi Aktarır. +lst.printflush = Mesaj bloÄŸuna metnini aktarır, +lst.getlink = BaÄŸlı blokları alır. +lst.control = Bir binayı yönet. +lst.radar = Bir silahın yakınındaki birimleri alıgılar, +lst.sensor = Bloklardan bilgi alır. +lst.set = Bir deÄŸiÅŸken ata. +lst.operation = DeÄŸiÅŸkenlerle iÅŸlem yap. +lst.end = Döngünün sonuna atla. +lst.wait = Belli süre bekler. +lst.stop = İşlemciyi durdurur. +lst.lookup = ID kullanarak herhangi bir blok, birim, bina vs ye bak.\nToplam sayı kullanımı:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = Bir yerden baÅŸka bir yere atla. +lst.unitbind = Bir birimi baÄŸla: [accent]@unit[]. +lst.unitcontrol = BaÄŸlı birimi kontrol et. +lst.unitradar = BaÄŸlı birimin etrafındaki birimleri tara. +lst.unitlocate = Etraftaki blokları algılar.\nBaÄŸlı birim gerektirir. +lst.getblock = Herhangi bir yerdeki blok bilgisini al. +lst.setblock = Herhangi bir yerdeki blok bilgisini deÄŸiÅŸtir. +lst.spawnunit = Herhangi bir yerde birim var et. +lst.applystatus = Bir Birime Durum Etkisi ekle. +lst.weathersense = Hava durumunu kontrol et. +lst.weatherset = Hava durumunu deÄŸiÅŸtir. +lst.spawnwave = Bellir bir noktada dalga baÅŸlat.\nDalga Zamanlayıcı OluÅŸturmaz! +lst.explosion = Bir Noktada Patlama oluÅŸtur. +lst.setrate = İşlemci Hızını Ayarla (iÅŸlem/tick) +lst.fetch = Numara ile Merkez, Birim veya Oyuncu Ara.\nNumaralar, 0dan baÅŸlar ve birim sayısında biter. +lst.packcolor = Derle [0, 1] RGBA bileÅŸenleri, çizim veya kural belirleme için tek bir sayıya dönüştürülür. +lst.setrule = Bir Oyun Kuralı Ata. +lst.flushmessage = Ekranda bir yazı göster.\nBir önceki yazı kaybolana kadar bekler. +lst.cutscene = Oyuncu Kamerasını hareket ettir. +lst.setflag = Tüm İşlemciler tarafından okunabilen bir Numara İşaretle. +lst.getflag = Evrensel İşaretli Numara Oku. +lst.setprop = Bir bina veya birime nitelik atar. +lst.effect = Parçacık efekti oluÅŸtur. +lst.sync = AÄŸ boyunca bir deÄŸiÅŸkeni senkronize et.\nSaniyede en fazla 10 kere yapılabilir. +lst.playsound = Bir ses çal.\nSes ÅŸiddeti bir küresel deÄŸer olabilir veya konuma göre belirlenebilir. +lst.makemarker = Dünyada yeni bir İşlemci İşareti koy.\nBu İşarete bir Kimlik adamalısın.\nDünya başına 20.000 limit bulunmakta. +lst.setmarker = Bir İşlemci İşareti için bir arazi seç.\nKimlik, İşaret Koyucudaki ile aynı olmalı. +lst.localeprint = Harita yerel paket özellik deÄŸerini metin arabelleÄŸine ekleyin.\nHarita düzenleyicide harita yerel ayar paketlerini ayarlamak için ÅŸunu iÅŸaretleyin: [accent]Harita Bilgisi > Yerel Paketler[].\nİstemci bir mobil cihazsa, önce ".mobile" ile biten bir özelliÄŸi yazdırmaya çalışır. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = Matematiksel sabit (Ï€) pi (3.141...) +lglobal.@e = Matematiksel sabit e (2.718...) +lglobal.@degToRad = Bu sayı ile çarparak dereceyi radyana çevir +lglobal.@radToDeg = Bu sayı ile çarparak radyanı dereceye çevir +lglobal.@time = Bu kayıttaki oynama süren, milisaniyesine kadar +lglobal.@tick = Bu kayıttaki oynama süren, tick halinde (1 sn = 60 tick) +lglobal.@second = Bu kayıttaki oynama süren, saniyeler halinde +lglobal.@minute = Bu kayıttaki oynama süren, dakikalar halinde +lglobal.@waveNumber = Åžuanki Dalga sayısı +lglobal.@waveTime = Bir sonraki dalga için süre, saniyeyle +lglobal.@mapw = Bloklarla Harita GeniÅŸliÄŸi +lglobal.@maph = Bloklarla Harita YüksekliÄŸi +lglobal.sectionMap = Harita +lglobal.sectionGeneral = Genel +lglobal.sectionNetwork = BaÄŸlantı/Oyuncu Tarafı [Sadece Evrensel İşlemci] +lglobal.sectionProcessor = İşlemci +lglobal.sectionLookup = Arat +lglobal.@this = Kodu çalıştıran iÅŸlemci +lglobal.@thisx = Kodu çalıştıran iÅŸlemcinin X kordinatı +lglobal.@thisy = Kodu çalıştıran iÅŸlemcinin Y kordinatı +lglobal.@links = Bu iÅŸlemciye baÄŸlı toplam blok sayısı +lglobal.@ipt = Tick hızıyla bu iÅŸlemcinin iÅŸlem hızı (60 tick = 1 sn) +lglobal.@unitCount = Oyundaki toplam birim türü sayısı, Aratla kullan. +lglobal.@blockCount = Oyundaki toplam blok türü sayısı, Aratla kullan. +lglobal.@itemCount = Oyundaki toplam malzeme türü sayısı, Aratla kullan. +lglobal.@liquidCount = Oyundaki toplam sıvı türü sayısı, Aratla kullan. +lglobal.@server = Oyun bir sunucuda veya tek kiÅŸilikte ise DoÄŸru, deÄŸil ise Yanlış geri dönüt +lglobal.@client = Oyun bir suncuya baÄŸlanmış bir oyuncu tarafından çalıştırılıyorsa DoÄŸru, deÄŸil ise Yanlış. +lglobal.@clientLocale = Oyunu çalıştıran oyuncunun yerel dili. Örnek: tr_TR +lglobal.@clientUnit = Oyunu çalıştıran oyuncunun birimi +lglobal.@clientName = Oyunu çalıştıran oyuncunun ismi +lglobal.@clientTeam = Oyunu çalıştıran oyuncunun takım kimliÄŸi +lglobal.@clientMobile = Oyuncu mobildeyse DoÄŸru, deÄŸil ise Yanlış geri dönüt + +logic.nounitbuild = [red]Birim İnÅŸası Yasak! + +lenum.type = Bir bina/birim türü.\nörnek: [accent]@router[]. +lenum.shoot = Bir konuma ateÅŸ et. +lenum.shootp = Belli bir birim veya binaya ateÅŸ et. +lenum.config = Bina yapılandırması, örnek: Ayıklayıcı Türü +lenum.enabled = Blok aktif mi? +laccess.currentammotype = Bir turretin içindeki ÅŸuanki mermi/sıvı. + +laccess.color = Aydınlatıcı Rengi +laccess.controller = Birim Kontrol edici. EÄŸer iÅŸlemci kontrol ediyorsa iÅŸlemci döner. \nFormasyon durumundaysa, lider döner.\nDiÄŸer ÅŸekilde, birimi kendi döner. +laccess.dead = Bir bina veya birim hala var mı? +laccess.controlled = Bir birim ne tarafından kontrol ediliyor? +laccess.progress = Bir ÅŸeyin oluÅŸ aÅŸaması, örnek: bir turetin yeniden doldurma süresindeki aÅŸama. +laccess.speed = Bir Birimin Maks hızı, blok/sn. +laccess.id = Bir birim/blok/eÅŸya/sıvı kimliÄŸi. \nBu arama operasyonun zıttıdır. +lcategory.unknown = ??? +lcategory.unknown.description = Kategorize edilmemiÅŸ talimatlar +lcategory.io = GiriÅŸ & Çıkış +lcategory.io.description = Bir Hafıza biloÄŸunun içeriÄŸini deÄŸiÅŸtirir. +lcategory.block = Blok Kontrol +lcategory.block.description = Bloklarla etkileÅŸ. +lcategory.operation = İşlemler +lcategory.operation.description = Logic İşlemler. +lcategory.control = Akış Kontrolü +lcategory.control.description = Çalışma Sırasını Kontrol et. +lcategory.unit = Birim Kontrol +lcategory.unit.description = Birimleri komuta et. +lcategory.world = Evrensel +lcategory.world.description = Evrenin Yasalarını, kaza ve kaderden bağımsız bir ÅŸekilde modifiye et. + +graphicstype.clear = Ekranı bir renkle kapla. +graphicstype.color = Bir sonraki çizim için Renk. +graphicstype.col = DerlenmiÅŸ renk.\nDerlenmiÅŸ renkler [accent]%[] ÅŸeklinde Hex kodlarıyla gösterilir.Örnek: [accent]%ffff00[] sarı demektir. +graphicstype.stroke = Çizgi Kalınlığını belirle. +graphicstype.line = Çizgiyi Belirle. +graphicstype.rect = Bir Dikdörtgeni doldur. +graphicstype.linerect = İçi boÅŸ Dikdörtgen çiz. +graphicstype.poly = İçi Dolu Çokgen Çiz. +graphicstype.linepoly = İçi BoÅŸ Çokgen Çiz. +graphicstype.triangle = İçi Dolu Üçgen Çiz. +graphicstype.image = Bir ikon çiz. \nörnek: [accent]@router[] veya [accent]@dagger[]. +graphicstype.print = Yazdırma arabelleÄŸinden metin çizer.\nYazdırma arabelleÄŸini temizler. + +lenum.always = Her Zaman DoÄŸru +lenum.idiv = Tamsayı Bölme +lenum.div = Bölme +lenum.mod = Mod +lenum.equal = EÅŸit +lenum.notequal = EÅŸit DeÄŸil +lenum.strictequal = Aynı +lenum.shl = Shift Sol +lenum.shr = Shift SaÄŸ +lenum.or = Veya +lenum.land = Çapraz Ve +lenum.and = Ve +lenum.not = DeÄŸil +lenum.xor = Çapraz Veya + +lenum.min = İki sayıdan en küçüğü. +lenum.max = İki sayıdan en büyüğü. +lenum.angle = İki ışının yaptığı açı. +lenum.anglediff = İki açı arasındaki derece cinsinden mutlak mesafe. +lenum.len = Bir Işının UzunluÄŸu. + +lenum.sin = Sinüs +lenum.cos = Kosinüs +lenum.tan = Tanjant + +lenum.asin = Ark Sinüs +lenum.acos = Ark Kosinüs +lenum.atan = Ark Tanjant + +#not a typo, look up 'range notation' +lenum.rand = [0 ile Sayı) arasında rastgele bir sayı. +lenum.log = Logaritma +lenum.log10 = Logaritma 10 +lenum.noise = 2D Noise +lenum.abs = Mutlak +lenum.sqrt = KareKök + +lenum.any = Herhangi bir Birim. +lenum.ally = Aynı Takımdan Birim. +lenum.attacker = Silahlı Birim. +lenum.enemy = Düşman Birim. +lenum.boss = Gardiyan Biri. +lenum.flying = Uçan Birim. +lenum.ground = Yürüyen Birim. +lenum.player = Oyuncu olan bir Birim. + +lenum.ore = Maden. +lenum.damaged = Hasarlı Aynı Takımdan bir Blok. +lenum.spawn = Düşman OluÅŸum Noktası +lenum.building = Bir guruptan bir blok. + +lenum.core = Herhangi bir Merkez +lenum.storage = Depolama BloÄŸu +lenum.generator = Enerji Üreten bir Blok +lenum.factory = Fabrika BloÄŸu +lenum.repair = Tamir BloÄŸu +lenum.battery = Pil +lenum.resupply = Mermi Aktarım BloÄŸu +lenum.reactor = Patlama/Toryum Reaktör +lenum.turret = Herhangi bir taret + +sensor.in = Algılanan Blok/Birim. + +radar.from = Algı OluÅŸturulan Blok. +radar.target = Algılanan Birimler için Filtre. +radar.and = Ekstra Filtre. +radar.order = Sıralama Filtresi. +radar.sort = Sıralama Sırası. +radar.output = Dışarı Aktarılan DeÄŸiÅŸken. + +unitradar.target = Algılanan Birim için Filtre. +unitradar.and = Ekstra Filtre. +unitradar.order = Sıralama Filtresi. +unitradar.sort = Sıralama Sırası. +unitradar.output = Dışarı Aktarılan DeÄŸiÅŸken. + +control.of = Kontrol Edilen. +control.unit = AteÅŸ ediceÄŸimiz Obje. +control.shoot = AteÅŸ edilsin mi? + +unitlocate.enemy = Düşman mı? +unitlocate.found = Obje bulundu mu? +unitlocate.building = Bulunan binanın Türü. +unitlocate.outx = X kordinatı. +unitlocate.outy = Y kordinatı. +unitlocate.group = Aranan binanın türü. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = Hareket etmez ancak kazmaya ve inÅŸa etmeye devam eder. +lenum.stop = Dur! +lenum.unbind = Mantık Kontrolü tamaman devre dışı bırak.\nNormal YZ'yı devreye sok. +lenum.move = Tam konuma git. +lenum.approach = Bir Konuma yaklaÅŸ. +lenum.pathfind = Düşman DoÄŸuÅŸ noktasına git. +lenum.autopathfind = Otomatik olarak en yakındaki düşman çekirdeÄŸi veya iniÅŸ pistine doÄŸru yolunu bulur.\nBu her dalgadaki düşmanların yol bulmasıyla aynıdır. +lenum.target = Bir alana ateÅŸ et. +lenum.targetp = Bir cisme ateÅŸ et. +lenum.itemdrop = Bir itemi bırak. +lenum.itemtake = Bir binadan item al. +lenum.paydrop = Kargoyu bırak. +lenum.paytake = Kargo al. +lenum.payenter = Bir birimi, kargo tutabilen bir bloÄŸa indir. +lenum.flag = Numara ile iÅŸaretle. +lenum.mine = Kaz. +lenum.build = Bina inÅŸa et. +lenum.getblock = Kordinattaki yapıyı, zemini ve blok türünü al.\nKonum birimin alanında olmalı yoksa null dönülür. +lenum.within = Bir birim menzil alanında mı? +lenum.boost = Gazlamaya baÅŸla/dur +lenum.flushtext = Varsa, yazdırma arabelleÄŸinin içeriÄŸini iÅŸaretleyiciye boÅŸaltın.\nGetirme doÄŸru olarak ayarlanmışsa, harita yerel dil paketinden veya oyun paketinden bilgileri getirmeye çalışır. +lenum.texture = DoÄŸrudan oyunun doku atlasından alınan doku adı (kebab-tarzı isimlendirme XD).\nprintFlush doÄŸru olarak ayarlanırsa metin arabelleÄŸi içeriÄŸini metin bağımsız deÄŸiÅŸkeni olarak kullanır. +lenum.texturesize = Zemindeki doku boyutu. Sıfır deÄŸeri, iÅŸaretleyici geniÅŸliÄŸini orijinal dokunun boyutuna ölçeklendirir. +lenum.autoscale = İşaretçinin oyuncunun yakınlaÅŸtırma düzeyine göre ölçeklenip ölçeklenmeyeceÄŸi. +lenum.posi = Sıfır indeksinin ilk konum olduÄŸu çizgi ve dörtlü iÅŸaretleyiciler için kullanılan indekslenmiÅŸ konum. +lenum.uvi = Dokunun sıfırdan bire kadar deÄŸiÅŸen konumu, dörtlü iÅŸaretçiler için kullanılır. +lenum.colori = Sıfır indeksinin ilk renk olduÄŸu çizgi ve dörtlü iÅŸaretleyiciler için kullanılan indekslenmiÅŸ konum. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index bdb83b4ca3..3753873745 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -1,5 +1,5 @@ credits.text = Створив [royal]Anuken[] — [sky]anukendev@gmail.com[]\n\nМаєте Ð¿Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð·Ð° грою або знайшли помилки в перекладі?\nДолучайтеÑÑ Ð´Ð¾ офіційного Ñервера Mindustry у Discord\nв канал #українÑька.\nУкраїнÑький перекладач — Prosta4ok_ua#6336. -credits = Творці +credits = Ðвтори contributors = Перекладачі та помічники discord = Офіційний Ñервер Mindustry в Discord link.discord.description = ПриєднуйтеÑÑŒ до Discord-Ñервера Mindustry @@ -13,17 +13,19 @@ link.google-play.description = Завантажити Ð´Ð»Ñ Android з Google P link.f-droid.description = Завантажити Ð´Ð»Ñ Android з F-Droid link.wiki.description = Офіційна ігрова Wiki link.suggestions.description = Запропонувати нові функції +link.bug.description = Знайшли хибу? Повідомте про неї тут +linkopen = Сервер надіÑлав вам поÑиланнÑ. Ви Ñправді хочете перейти за ним?\n\n[sky]{0} linkfail = Ðе вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ñ‚Ð¸ за поÑиланнÑм!\nURL-адреÑа Ñкопійована в буфер обміну. screenshot = ЗнÑток мапи збережено до {0} screenshot.invalid = Мапа занадто велика, тому, мабуть, не виÑтачає пам’Ñті Ð´Ð»Ñ Ð·Ð½Ñтку мапи. gameover = Гра завершена gameover.disconnect = Від’єднатиÑÑ -gameover.pvp = [accent]{0}[] команда перемогла! -gameover.waiting = [accent]Очікуємо наÑтупно мапу… +gameover.pvp = [accent]{0}[] перемогли! +gameover.waiting = [accent]Очікуємо наÑтупну мапу… highscore = [accent]Ðовий рекорд! copied = Скопійовано. indev.notready = Ð¦Ñ Ñ‡Ð°Ñтина гри ще не готова. -indev.campaign = [accent]ВітаннÑ! Ви доÑÑгли ÐºÑ–Ð½Ñ†Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½Ñ–Ñ—![]\n\nÐаразі це вÑе, що може запропонувати вам гра. Міжпланетні подорожі зʼÑвлÑтьÑÑ Ð² наÑтупних оновленнÑÑ…. + load.sound = Звуки load.map = Мапи load.image = Ð—Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ @@ -31,15 +33,31 @@ load.content = ЗміÑÑ‚ load.system = СиÑтема load.mod = Модифікації load.scripts = Скрипти + be.update = ДоÑтупна нова збірка Bleeding Edge: be.update.confirm = Завантажити та перезавантажити зараз? be.updating = ОновленнÑ… be.ignore = Ігнорувати be.noupdates = Оновлень не знайдено. be.check = Перевірити на наÑвніÑть оновлень + +mods.browser = ПереглÑдач модифікацій +mods.browser.selected = Вибрана Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ +mods.browser.add = УÑтановити +mods.browser.reinstall = ПеревÑтановити +mods.browser.view-releases = ПереглÑнути релізи +mods.browser.noreleases = [scarlet]Релізи відÑутні\n[accent]Ðе вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ жодного релізу цієї модифікації. Перевірте, чи Ñ” в репозиторії модифікації опубліковані релізи. +mods.browser.latest = <Ðайновіший> +mods.browser.releases = Релізи +mods.github.open = Відкрити репозиторій +mods.github.open-release = ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ +mods.browser.sortdate = Сортувати за давніÑтю +mods.browser.sortstars = Сортувати за популÑрніÑтю + schematic = Схема schematic.add = Зберегти Ñхему… schematics = Схеми +schematic.search = Шукати Ñхеми... schematic.replace = Схема з такою назвою вже Ñ”. Замінити Ñ—Ñ—? schematic.exists = Схема з такою назвою вже Ñ”. schematic.import = Імпортувати Ñхему… @@ -52,26 +70,29 @@ schematic.shareworkshop = Поширити в МайÑтерню schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Обернути Ñхему schematic.saved = Схема збережена. schematic.delete.confirm = Ви Ñправді хочете видалити цю Ñхему? -schematic.rename = Перейменувати Ñхему +schematic.edit = Редагувати Ñхему schematic.info = {0}x{1}, блоків: {2} -schematic.disabled = [scarlet]Схеми вимкнені[]\nВам не дозволÑєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати Ñхеми на цій [accent]мапі[] чи [accent]Ñервері. - -mod.featured.title = ПереглÑдач модифікацій -mod.featured.dialog.title = ПереглÑдач модифікацій -mods.browser.selected = Обрана Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ -mods.browser.add = УÑтановити модифікацію -mods.github.open = Відкрити в Github +schematic.disabled = [scarlet]Схеми вимкнено[]\nВам не дозволÑєтьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати Ñхеми на цій [accent]мапі[] чи [accent]Ñервері. +schematic.tags = Мітки: +schematic.edittags = Редагувати мітки +schematic.addtag = Додати мітку +schematic.texttag = ТекÑтова мітка +schematic.icontag = Мітка із значком +schematic.renametag = Перейменувати мітку +schematic.tagged = {0} з міткою +schematic.tagdelconfirm = Видалити цю мітку повніÑтю? +schematic.tagexists = Схожа мітка вже Ñ–Ñнує. stats = СтатиÑтика -stat.wave = Хвиль відбито:[accent] {0} -stat.enemiesDestroyed = Противників знищено:[accent] {0} -stat.built = Будівель збудовано:[accent] {0} -stat.destroyed = Будівель знищено:[accent] {0} -stat.deconstructed = Будівель деконÑтруйовано:[accent] {0} -stat.delivered = РеÑурÑів запущено: -stat.playtime = Ð§Ð°Ñ Ñƒ грі:[accent] {0} -stat.rank = Фінальний рахунок:[accent] {0} -globalitems = [accent]УÑього предметів +stats.wave = Хвиль відбито:[accent] {0} +stats.unitsCreated = Одиниць Ñтворено:[accent] {0} +stats.enemiesDestroyed = Противників знищено:[accent] {0} +stats.built = Будівель збудовано:[accent] {0} +stats.destroyed = Будівель знищено:[accent] {0} +stats.deconstructed = Будівель деконÑтруйовано:[accent] {0} +stats.playtime = Ð§Ð°Ñ Ñƒ грі:[accent] {0} + +globalitems = [accent]УÑього реÑурÑів map.delete = Ви впевнені, що хочете видалити мапу «[accent]{0}[]»? level.highscore = Рекорд: [accent]{0} level.select = Вибір мапи @@ -79,17 +100,20 @@ level.mode = Режим гри: coreattack = < Ядро перебуває під атакою! > nearpoint = [[ [scarlet]ЗÐЛИШТЕ ЗОÐУ ВИСÐДКИ ÐЕГÐЙÐО[] ]\nанігілÑÑ†Ñ–Ñ Ð½ÐµÐ¼Ð¸Ð½ÑƒÑ‡Ð° database = База даних Ñдра +database.button = База даних savegame = Зберегти гру loadgame = Завантажити гру -joingame = Мережева гра +joingame = БагатооÑібна гра customgame = КориÑтувацька гра newgame = Ðова гра none = <нічого> +none.found = [lightgray]<нічого не знайдено> +none.inmap = [lightgray]<на мапі нічого не знайдено> minimap = Мінімапа position = МіÑÑ†ÐµÐ·Ð½Ð°Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ close = Закрити website = ВебÑайт -quit = Вихід +quit = Вийти save.quit = Зберегти та вийти maps = Мапи maps.browse = ПереглÑд мап @@ -104,30 +128,48 @@ uploadingpreviewfile = Ð’Ð¸Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ попередньо committingchanges = ЗдійÑÐ½ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ done = Зроблено feature.unsupported = Ваш приÑтрій не підтримує цю функцію -mods.alphainfo = Майте на увазі, що модифікації перебувають в альфі, Ñ– [scarlet]можуть бути дуже неÑправними[].\nПовідомте про будь-Ñкі проблеми, Ñкі ви знайдете до Mindustry Github або Discord. + +mods.initfailed = [red]âš [] Попереднього разу не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Mindustry. Це, ймовірно, Ñпричинено неправильною поведінкою модифікацій.\n\nÐ”Ð»Ñ Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ð½ÐµÑкінченним аварійним циклам [red]необхідно вимкнути вÑÑ– модифікації.[]\n\nÐ”Ð»Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ñ†Ñ–Ñ”Ñ— функції перейдіть до [accent]ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ -> Гра -> Вимикати модифікації піÑÐ»Ñ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð¾Ð³Ð¾ запуÑку[]. mods = Модифікації mods.none = [lightgray]Модифікацій не знайдено! mods.guide = ПоÑібник із модифікацій mods.report = Повідомити про ваду mods.openfolder = Відкрити теку +mods.viewcontent = ПодивитиÑÑ Ð²Ð¼Ñ–ÑÑ‚ mods.reload = Перезавантажити mods.reloadexit = Гра зараз закриєтьÑÑ, щоби перезавантажити модифікації +mod.installed = [[УÑтановлено] mod.display = [gray]МодифікаціÑ:[orange] {0} mod.enabled = [lightgray]Увімкнено -mod.disabled = [scarlet]Вимкнено +mod.disabled = [scarlet]Вимкнена +mod.multiplayer.compatible = [gray]ДоÑтупна у багатооÑібній грі mod.disable = Вимкнути +mod.version = Version: mod.content = ЗміÑÑ‚: mod.delete.error = Ðеможливо видалити модифікацію. Файл, можливо, викориÑтовуєтьÑÑ. -mod.requiresversion = [scarlet]Ðеобхідна мінімальна верÑÑ–Ñ Ð³Ñ€Ð¸: [accent]{0} -mod.outdated = [scarlet]Ðе ÑуміÑна з V6 -mod.missingdependencies = [scarlet]ВідÑутні залежноÑті: {0} + +mod.incompatiblegame = [red]ЗаÑтаріла гра +mod.incompatiblemod = [red]ÐеÑуміÑно +mod.blacklisted = [red]Ðе підтримуєтьÑÑ +mod.unmetdependencies = [red]ВідÑутні залежноÑті mod.erroredcontent = [scarlet]Помилки під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ + +mod.circulardependencies = [red]Кругові залежноÑті +mod.incompletedependencies = [red]Ðеповні залежноÑті +mod.requiresversion.details = Ðеобхідна верÑÑ–Ñ Ð³Ñ€Ð¸: [accent]{0}[]\nВаша гра заÑтаріла. Мод потребує новішу верÑÑ–ÑŽ гри (можливо бета- чи альфа-верÑÑ–ÑŽ) Ð´Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸. +mod.outdatedv7.details = Ð¦Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð½Ðµ ÑуміÑна з оÑтанньою верÑією гри. Розробник модифікації має оновити Ñ—Ñ— та додати [accent]minGameVersion: 136[] у Ñвій [accent]mod.json[] файл. +mod.blacklisted.details = Цю модифікацію було вручну внеÑено у чорний ÑпиÑок за поÑтійні збої або інші проблеми з цією верÑією гри. Ðе викориÑтовуйте Ñ—Ñ—. +mod.missingdependencies.details = У цій модифікації відÑутні наÑтупні залежноÑті: {0} +mod.erroredcontent.details = Ð¦Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñпричинила помилки під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ. ПопроÑіть автора виправити Ñ—Ñ…. +mod.circulardependencies.details = Цей мод має залежноÑті, Ñкі залежать одна від одної. +mod.incompletedependencies.details = Цей мод неможливо завантажити через недійÑні або відÑутні залежноÑті: {0} +mod.requiresversion = Ðеобхідна верÑÑ–Ñ Ð³Ñ€Ð¸: [red]{0} mod.errors = Виникли помилки під Ñ‡Ð°Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ñту. -mod.noerrorplay = [scarlet]Ви маєте модифікації з помилками.[] Ðбо вимкніть проблемні модифікації, або виправте Ñ—Ñ…. -mod.nowdisabled = [scarlet]Модифікації «{0}» не виÑтачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити Ñпочатку.\nÐ¦Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð±ÑƒÐ´Ðµ автоматично вимкнена. +mod.noerrorplay = [red]Ви маєте модифікації з помилками.[] Ðбо вимкніть проблемні модифікації, або виправте Ñ—Ñ…. +mod.nowdisabled = [red]Модифікації «{0}» не виÑтачає залежних модифікацій:[accent] {1}\n[lightgray]Ці модифікації потрібно завантажити Ñпочатку.\nÐ¦Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ð±ÑƒÐ´Ðµ автоматично вимкнена. mod.enable = Увімкнути mod.requiresrestart = Ртепер гра закриєтьÑÑ, щоби заÑтоÑувати зміни модифікацій. -mod.reloadrequired = [scarlet]Потрібно Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ +mod.reloadrequired = [red]Потрібно Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ mod.import = Імпортувати модифікацію mod.import.file = Імпортувати файл mod.import.github = Імпортувати з GitHub @@ -135,21 +177,31 @@ mod.jarwarn = [scarlet]JAR-модифікації за Ñвоєю Ñуттю н mod.item.remove = Цей предмет Ñ” чаÑтиною модифікації [accent] «{0}»[]. Щоби видалити його, видаліть цю модифікацію. mod.remove.confirm = Цю модифікацію буде видалено. mod.author = [lightgray]Ðвтор:[] {0} -mod.missing = Це Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ñ–Ñтить модифікації, Ñкі ви нещодавно оновили або більше не вÑтановлювали. Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ зіпÑуватиÑÑ. Ви впевнені, що хочете завантажити його?\n[lightgray]Модифікації:\n{0} +mod.missing = Це Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ñ–Ñтить модифікації, що ви нещодавно оновили або більше не вÑтановлювали. Ð—Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð¶Ðµ зіпÑуватиÑÑ. Ви впевнені, що хочете завантажити його?\n[lightgray]Модифікації:\n{0} mod.preview.missing = До публікації цієї модифікації в МайÑтерні, ви муÑите додати Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ переглÑду.\nПоміÑтіть Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ð· назвою [accent] preview.png[] у теку з модифікаціÑми та Ñпробуйте знову. mod.folder.missing = Тільки модифікації у формі теці можуть бути опубліковані в МайÑтерні.\nЩоб перетворити будь-Ñку модифікацію в теку, проÑто розархівуйте цей файл у теку та видаліть Ñтарий архів, Ñ– потім перезапуÑтіть гру або перезавантажте ваші модифікації. mod.scripts.disable = Ваш приÑтрій не підтримує модифікації зі Ñкриптами. Вимкніть модифікацію Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку гри. + about.button = Про гру name = Ім’Ñ: noname = Спочатку придумайте[accent] Ñобі ім’Ñ[]. +search = Пошук: planetmap = Планетна мапа launchcore = ЗапуÑтити Ñдро filename = Ðазва файлу: unlocked = ДоÑтупний новий вміÑÑ‚! available = Ðове доÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾Ñтупно! +unlock.incampaign = < Розблокуйте в кампанії Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ð¾Ð´Ñ€Ð¾Ð±Ð¸Ñ†ÑŒ > +campaign.select = Виберіть початкову кампанію +campaign.none = [lightgray]Виберіть планету Ð´Ð»Ñ Ñтарту.\nЇї можна змінити в будь-Ñкий момент. +campaign.erekir = Ðовіший, більш відшліфований зміÑÑ‚. Переважно лінійний розвиток кампанії.\n\nВища ÑкіÑть мап та ліпший загальний доÑвід. +campaign.serpulo = Старий зміÑÑ‚; клаÑичний доÑвід. Більш відкрита.\n\nПотенційно незбаланÑовані мапи й механіки кампанії. Менш відшліфована. +campaign.difficulty = Difficulty completed = [accent]Завершено techtree = Дерево технологій -research.legacy = Були знайдені доÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð· [accent]5.0[].\nЧи бажаєте ви [accent]завантажити ці дані[] або [accent]ви хочете відмовитиÑÑ Ð²Ñ–Ð´ цього[] Ñ– почати доÑліджувати із Ñамого початку в новій кампанії (рекомендовано)? +techtree.select = Вибір дерева технологій +techtree.serpulo = Серпуло +techtree.erekir = Ерекір research.load = Завантажити research.discard = ВідмовитиÑÑ research.list = [lightgray]ДоÑлідженнÑ: @@ -180,7 +232,7 @@ server.kicked.serverRestarting = Сервер Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÑƒÑ”Ñ‚ÑŒÑ server.versions = Ваша верÑÑ–Ñ:[accent] {0}[]\nВерÑÑ–Ñ Ð½Ð° Ñервері:[accent] {1}[] host.info = Кнопка [accent]Сервер[] розміщує Ñервер на порті [scarlet]6567[].\nКориÑтувачі, Ñкі перебувають у тій же [lightgray]WiFi або локальній мережах[], мають побачити ваш Ñервер у Ñвоєму ÑпиÑку Ñерверів.\n\nЯкщо ви хочете, щоби люди могли приєднуватиÑÑ Ð· будь-Ñкої точки планети через IP, то потрібно зробити[accent] переадреÑÐ°Ñ†Ñ–Ñ Ð¿Ð¾Ñ€Ñ‚Ñƒ[].\n\n[lightgray]Примітка. Якщо у Ð²Ð°Ñ Ð²Ð¸Ð½Ð¸ÐºÐ»Ð¸ проблеми з приєднаннÑм до вашої локальної гри, переконайтеÑÑ, що ви надали Mindustry доÑтуп до вашої локальної мережі в налаштуваннÑÑ… брандмауера. Зауважте, що публічні мережі іноді не дають змогу виÑвити Ñервер. join.info = Тут ви можете ввеÑти [accent]IP Ñервера[] Ð´Ð»Ñ Ð¿Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ знайти Ñервери у [accent]локальній[] чи [accent]глобальній мережі[] Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð´Ð¾ них.\nПідтримуєтьÑÑ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð° мережа(LAN) Ñ– широкоÑмугова мережа(WAN).\n\n[lightgray] Примітка. Це не Ñ” автоматичним глобальним ÑпиÑком Ñерверів; Ñкщо ви хочете приєднатиÑÑ Ð´Ð¾ когоÑÑŒ через IP, вам доведетьÑÑ Ð¿Ð¾Ð¿Ñ€Ð¾Ñити влаÑника Ñервера дати Ñвій ip. -hostserver = ЗапуÑтити багатокориÑтувацький Ñервер +hostserver = ЗапуÑтити багатооÑібний Ñервер invitefriends = ЗапроÑити друзів hostserver.mobile = ЗапуÑтити Ñервер host = ЗапуÑтити @@ -191,21 +243,35 @@ hosts.discovering.any = Пошук ігор server.refreshing = ÐžÐ½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñервера hosts.none = [lightgray]Локальних ігор не знайдено host.invalid = [scarlet]Ðе вдалоÑÑ Ð¿Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð´Ð¾ Ñервера. + servers.local = Локальні Ñервери +servers.local.steam = Локальні Ñервери й Ñервери від гравців Steam servers.remote = Віддалені Ñервери servers.global = Глобальні Ñервери -servers.disclaimer = Сервери Ñпільноли [accent]не[] належать чи контролюютьÑÑ Ð²Ð»Ð°Ñником.\n\nСервери можуть міÑтити кориÑтувацький вміÑÑ‚, Ñкий не підходить Ð´Ð»Ñ ÑкогоÑÑŒ віку. +servers.disclaimer = Сервери Ñпільноти [accent]не[] належать чи контролюютьÑÑ Ð²Ð»Ð°Ñником.\n\nСервери можуть міÑтити кориÑтувацький вміÑÑ‚, що не підходить Ð´Ð»Ñ ÑкогоÑÑŒ віку. servers.showhidden = Показати приховані Ñервери server.shown = Показано server.hidden = Приховано + +viewplayer = ПереглÑд гравцÑ: [accent]{0} trace = Стежити за гравцем trace.playername = Ð†Ð¼â€™Ñ Ð³Ñ€Ð°Ð²Ñ†Ñ: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = Унікальний ідентифікатор: [accent]{0} +trace.id = Ідентифікатор: [accent]{0} +trace.language = Мова: [accent]{0} trace.mobile = Мобільний клієнт: [accent]{0} trace.modclient = КориÑтувацький клієнт: [accent]{0} +trace.times.joined = КількіÑть приєднань: [accent]{0} +trace.times.kicked = КількіÑть вигнань: [accent]{0} +trace.ips = IP: +trace.names = Імена: invalidid = Ðевірний ідентифікатор клієнта! Ðадішліть звіт про помилку. +player.ban = Заблокувати +player.kick = Вигнати +player.trace = ВідÑтежити +player.admin = Перемкнути адмініÑтратора +player.team = Змінити команду server.bans = Ð‘Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ server.bans.none = Заблокованих гравців немає! server.admins = ÐдмініÑтратори @@ -219,27 +285,30 @@ server.version = [gray]ВерÑÑ–Ñ: {0} {1} server.custombuild = [accent]КориÑтувацька збірка confirmban = Ви дійÑно хочете заблокувати «{0}[white]»? confirmkick = Ви дійÑно хочете вигнати «{0}[white]»? -confirmvotekick = Ви дійÑно хочете вигнати «{0}[white]» за допомогою голоÑуваннÑ? confirmunban = Ви дійÑно хочете розблокувати цього гравцÑ? confirmadmin = Ви дійÑно хочете зробити «{0}[white]» адмініÑтратором? confirmunadmin = Ви дійÑно хочете видалити ÑÑ‚Ð°Ñ‚ÑƒÑ Ð°Ð´Ð¼Ñ–Ð½Ñ–Ñтратора з «{0}[white]»? -joingame.title = Мережева гра +votekick.reason = Причина голоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° Ð²Ð¸Ð³Ð½Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ð²Ñ†Ñ +votekick.reason.message = Ви впевнені, що хочете вигнати голоÑуваннÑм "{0}[white]"?\nЯкщо так, то, будь лаÑка, вкажіть причину: +joingame.title = БагатооÑібна гра joingame.ip = IP: disconnect = Відключено. disconnect.error = Помилка з’єднаннÑ. disconnect.closed = Ð—â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¾. disconnect.timeout = Ð§Ð°Ñ Ð²Ð¸Ð¹ÑˆÐ¾Ð². disconnect.data = Ðе вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ Ñвітові дані! +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = Ðе вдалоÑÑ Ð¿Ñ–Ð´â€™Ñ”Ð´Ð½Ð°Ñ‚Ð¸ÑÑ Ð´Ð¾ гри ([accent]{0}[]). connecting = [accent]ПриєднаннÑ… -reconnecting = [accent]Повторне зʼєднаннÑ… +reconnecting = [accent]Повторне з’єднаннÑ… connecting.data = [accent]Ð—Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… Ñвіту… server.port = Порт: -server.addressinuse = Ð¦Ñ Ð°Ð´Ñ€ÐµÑа вже викориÑтовуєтьÑÑ! server.invalidport = ÐедійÑний номер порту! +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]Помилка ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñервера. save.new = Ðове Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ save.overwrite = Ви дійÑно хочете перезапиÑати це міÑце збереженнÑ? +save.nocampaign = Окремі файли Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð· кампанії не можна імпортувати. overwrite = ПерезапиÑати save.none = Збережень не знайдено! savefail = Ðе вдалоÑÑ Ð·Ð±ÐµÑ€ÐµÐ³Ñ‚Ð¸ гру! @@ -260,6 +329,7 @@ save.corrupted = Збережений файл пошкоджено або ві empty = <порожньо> on = Увімкнено off = Вимкнено +save.search = Пошук збережених ігор… save.autosave = ÐвтозбереженнÑ: {0} save.map = Мапа: {0} save.wave = Ð¥Ð²Ð¸Ð»Ñ {0} @@ -275,29 +345,52 @@ ok = Гаразд open = Відкрити customize = Ðалаштувати правила cancel = СкаÑувати +command = Командувати +command.queue = [lightgray][У черзі] +command.mine = Видобувати +command.repair = Ремонтувати +command.rebuild = Відбудовувати +command.assist = Допомагати гравцеві +command.move = РухатиÑÑ +command.boost = Летіти +command.enterPayload = Увійти до вантажного блока +command.loadUnits = Завантажити одиниці +command.loadBlocks = Завантажити блоки +command.unloadPayload = Вивантажити вантаж +command.loopPayload = Loop Unit Transfer +stance.stop = СкаÑувати накази +stance.shoot = ПозиціÑ: ÑтрілÑти +stance.holdfire = ПозиціÑ: припинити вогонь +stance.pursuetarget = ПозиціÑ: переÑлідувати ціль +stance.patrol = ПозиціÑ: шлÑÑ… Ð¿Ð°Ñ‚Ñ€ÑƒÐ»ÑŽÐ²Ð°Ð½Ð½Ñ +stance.ram = ПозиціÑ: на таран\n[lightgray]Рух по прÑмій лінії, без пошуку шлÑху openlink = Перейти за поÑиланнÑм copylink = Скопіювати поÑÐ¸Ð»Ð°Ð½Ð½Ñ back = Ðазад +max = МакÑ. +objective = Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ Ð¼Ð°Ð¿Ð¸ crash.export = ЕкÑпортувати аварійні звіти crash.none = Ðварійних звітів не знайдено crash.exported = Ðварійні звіти екÑпортовано data.export = Вивантажити дані data.import = Завантажити дані -data.openfolder = Відчинити теку з даними +data.openfolder = Відкрити теку з даними data.exported = Дані вивантажено. data.invalid = Це не дійÑні ігрові дані. data.import.confirm = Ð’Ð¸Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ–Ñ… даних перезапише[scarlet] ВСІ[] ваші поточні ігрові дані.\n[accent]Це неможливо ÑкаÑувати![]\n\nЯк тільки дані імпортуютьÑÑ, гра негайно закриєтьÑÑ. quit.confirm = Ви дійÑно хочете вийти? -quit.confirm.tutorial = Ви впевнені, що знаєте, що робите?\nÐÐ°Ð²Ñ‡Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° пройти наново[accent] ÐалаштуваннÑ->Гра->Пройти Ð½Ð°Ð²Ñ‡Ð°Ð½Ð½Ñ Ñ‰Ðµ раз.[] loading = [accent]ЗавантаженнÑ… -reloading = [accent]ÐŸÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ð¹â€¦ +downloading = [accent]ЗавантаженнÑ… saving = [accent]ЗбереженнÑ… respawn = [accent][[{0}][], щоби відродитиÑÑ Ð² Ñдрі -cancelbuilding = [accent][[{0}][], щоб очиÑтити план +cancelbuilding = [accent][[{0}][] Ð´Ð»Ñ Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð»Ð°Ð½Ñƒ selectschematic = [accent][[{0}][], щоби вибрати та Ñкопіювати -pausebuilding = [accent][[{0}][], щоби призупинити Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ -resumebuilding = [scarlet][[{0}][], щоби продовжити Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ +pausebuilding = [accent][[{0}][] Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ +resumebuilding = [scarlet][[{0}][] Ð´Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð²Ð¶ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ +enablebuilding = [scarlet][[{0}][] Ð´Ð»Ñ ÑƒÐ²Ñ–Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ showui = КориÑтувацький Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð¿Ñ€Ð¸Ñ…Ð¾Ð²Ð°Ð½Ð¾.\nÐатиÑніть [accent][[{0}][], щоби показати його знову. +commandmode.name = [accent]Режим ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ +commandmode.nounits = [одиниць немає] wave = [accent]Ð¥Ð²Ð¸Ð»Ñ {0} wave.cap = [accent]Ð¥Ð²Ð¸Ð»Ñ {0}/{1} wave.waiting = [lightgray]ÐаÑтупна хвилÑ\nчерез {0} @@ -317,9 +410,9 @@ custom = КориÑтувацька builtin = Вбудована map.delete.confirm = Ви дійÑно хочете видалити цю мапу? Цю дію неможливо буде ÑкаÑувати! map.random = [accent]Випадкова мапа -map.nospawn = Ð¦Ñ Ð¼Ð°Ð¿Ð° не має жодного Ñдра Ð´Ð»Ñ Ð¿Ð¾Ñви гравцÑ! Додайте [accent]помаранчеве[] Ñдро до цієї мапи в редакторі. -map.nospawn.pvp = У цієї мапи немає ворожих Ñдер, у Ñких гравець може з’ÑвитиÑÑ! Додайте [scarlet]не помаранчеве[] Ñдро до цієї мапи в редакторі. -map.nospawn.attack = У цієї мапи немає ворожих Ñдер, у Ñких гравець може з’ÑвитиÑÑ! Додайте [scarlet]червоне[] Ñдро до цієї мапи в редакторі. +map.nospawn = Ð¦Ñ Ð¼Ð°Ð¿Ð° не має жодного Ñдра Ð´Ð»Ñ Ð¿Ð¾Ñви гравцÑ! Додайте {0} Ñдро до цієї мапи в редакторі. +map.nospawn.pvp = У цієї мапи немає ворожих Ñдер, у Ñких гравець може з’ÑвитиÑÑ! Додайте [scarlet]вороже[] Ñдро до цієї мапи в редакторі. +map.nospawn.attack = У цієї мапи немає ворожих Ñдер Ð´Ð»Ñ Ð°Ñ‚Ð°ÐºÐ¸ гравцем! Додайте {0} Ñдро до цієї мапи в редакторі. map.invalid = Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°Ð¿Ð¸: пошкоджений або невірний файл мапи. workshop.update = Оновити предмет workshop.error = Помилка під Ñ‡Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ— з МайÑтерні: {0} @@ -327,68 +420,119 @@ map.publish.confirm = Ви дійÑно хочете опублікувати ц workshop.menu = Виберіть, що ви хочете зробити з цим предметом. workshop.info = Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ предмет changelog = Ð—Ð¼Ñ–Ð½Ð¾Ð¿Ð¸Ñ (за бажаннÑм): +updatedesc = ПерезапиÑати назву та Ð¾Ð¿Ð¸Ñ eula = Ліцензійна угода Steam missing = Цей предмет було видалено або переміщено.\n[lightgray]СпиÑок МайÑтерні тепер автоматично від’єднано. publishing = [accent]ПублікаціÑ… publish.confirm = Ви дійÑно хочете опублікувати це?\n\n[lightgray]ПереконайтеÑÑ, що ви Ñпочатку погоджуєтеÑÑ Ð· EULA МайÑтерні, або ваші предмети не з’ÑвлÑтьÑÑ! publish.error = Виникла помилка під Ñ‡Ð°Ñ Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ— предмета: {0} steam.error = Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ ÑервіÑи Steam.\nПомилка: {0} -editor.brush = Пензлик + +editor.planet = Планета: +editor.sector = Сектор: +editor.seed = Зерно: +editor.cliffs = Стіни в Ñкелі +editor.brush = Пензель editor.openin = Відкрити в редакторі editor.oregen = Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ñ€ÑƒÐ´ editor.oregen.info = Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ñ€ÑƒÐ´: editor.mapinfo = Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ мапу editor.author = Ðвтор: editor.description = ОпиÑ: -editor.nodescription = Мапа муÑить мати щонайменше 4 Ñимволи Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ—. -editor.waves = Хвилі: -editor.rules = Правила: -editor.generation = ГенераціÑ: +editor.nodescription = Мапа муÑить мати щонайменше 4 Ñимволи в опиÑÑ– Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ñ–ÐºÐ°Ñ†Ñ–Ñ—. +editor.waves = Хвилі +editor.rules = Правила +editor.generation = Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ +editor.objectives = Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ +editor.locales = Мовні пакети +editor.worldprocessors = Світові процеÑори +editor.worldprocessors.editname = Редагувати назву +editor.worldprocessors.none = [lightgray]Блоки Ñвітового процеÑора не знайдено!\nДодайте його у редакторі мапи або ÑкориÑтайтеÑÑ ÐºÐ½Ð¾Ð¿ÐºÐ¾ÑŽ \ue813 «Додати» нижче. +editor.worldprocessors.nospace = Ðемає вільного міÑÑ†Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñвітового процеÑора! \nВи заповнили карту Ñтруктурами? Ðавіщо ви це зробили? +editor.worldprocessors.delete.confirm = Ви Ñправді хочете видалити цей Ñвітовий процеÑор?\n\nЯкщо він оточений Ñтінами, його буде замінено Ñтіною оточеннÑ. editor.ingame = Редагувати в грі +editor.playtest = ПротеÑтувати в грі editor.publish.workshop = Опублікувати в МайÑтерні Steam editor.newmap = Ðова мапа editor.center = Центрувати +editor.search = Шукати мапи… +editor.filters = Фільтрувати мапи +editor.filters.mode = Режими гри: +editor.filters.type = Тип мапи: +editor.filters.search = Шукати в +editor.filters.author = Ðвтор +editor.filters.description = ÐžÐ¿Ð¸Ñ +editor.shiftx = Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° віÑÑÑŽ X +editor.shifty = Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° віÑÑÑŽ Y workshop = МайÑÑ‚ÐµÑ€Ð½Ñ waves.title = Хвилі waves.remove = Видалити -waves.never = <ніколи> waves.every = кожен waves.waves = хвилÑ(Ñ–) +waves.health = здоров’Ñ: {0}% waves.perspawn = за поÑву waves.shields = щитів за хвилю waves.to = до +waves.spawn = ПоÑва: +waves.spawn.all = <вÑюди> +waves.spawn.select = Вибір міÑÑ†Ñ Ð¿Ð¾Ñви +waves.spawn.none = [scarlet]на мапі не знайдено міÑць поÑви +waves.max = макÑ. одиниць waves.guardian = Вартовий waves.preview = Попередній переглÑд waves.edit = Редагувати… +waves.random = Випадково waves.copy = Копіювати в буфер обміну waves.load = Завантажити з буфера обміну waves.invalid = ÐедійÑні хвилі в буфері обміну. waves.copied = Хвилі Ñкопійовані. waves.none = Противники не були вÑтановлені.\nЗазначимо, що пуÑті хвилі будуть автоматично замінені звичайною хвилею. +waves.sort = Ð¡Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° +waves.sort.reverse = Зворотне ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ +waves.sort.begin = ХвилÑми +waves.sort.health = Здоров’Ñм +waves.sort.type = Типом +waves.search = Шукати хвилі... +waves.filter = Фільтр одиниць +waves.units.hide = Сховати вÑе +waves.units.show = Показати вÑе + +#these are intentionally in lower case wavemode.counts = кількіÑть wavemode.totals = уÑього wavemode.health = Ð·Ð´Ð¾Ñ€Ð¾Ð²â€™Ñ +all = All + editor.default = [lightgray]<За замовчуваннÑм> details = Подробиці… -edit = Редагувати… +edit = Змінити… +variables = Змінні +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = Built-in Variables editor.name = Ім’Ñ: editor.spawn = Створити бойову одиницю editor.removeunit = Видалити бойову одиницю editor.teams = Команди editor.errorload = Помилка Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ. editor.errorsave = Помилка Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ. -editor.errorimage = Це зображеннÑ, а не мапа.\n\nЯкщо ви хочете імпортувати заÑтарілу мапу, то викориÑтовуйте кнопку «Імпортувати заÑтарілу мапу» в редакторі. -editor.errorlegacy = Ð¦Ñ Ð¼Ð°Ð¿Ð° занадто Ñтара Ñ– викориÑтовує попередній формат мапи, Ñкий більше не підтримуєтьÑÑ. +editor.errorimage = Це зображеннÑ, а не мапа. +editor.errorlegacy = Ð¦Ñ Ð¼Ð°Ð¿Ð° занадто Ñтара Ñ– викориÑтовує попередній формат мапи, що більше не підтримуєтьÑÑ. editor.errornot = Це не мапа. editor.errorheader = Цей файл мапи недійÑний або пошкоджений. editor.errorname = Мапа не має назви. Може, ви намагаєтеÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ збереженнÑ? +editor.errorlocales = Виникла помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð¼Ð¾Ð²Ð½Ð¸Ñ… пакетів: недійÑний мовний пакет. editor.update = Оновити editor.randomize = Випадково +editor.moveup = ПіднÑти вище +editor.movedown = ОпуÑтити нижче +editor.copy = Скопіювати editor.apply = ЗаÑтоÑувати editor.generate = Згенерувати +editor.sectorgenerate = Згенерувати Ñектор editor.resize = Змінити\nрозмір editor.loadmap = Завантажити мапу editor.savemap = Зберегти мапу +editor.savechanges = [scarlet]У Ð²Ð°Ñ Ñ” незбережені зміни!\n\n[]Чи хочете ви Ñ—Ñ… зберегти? editor.saved = Збережено! editor.save.noname = Ваша мапа не має назви! УÑтановіть його в Â«Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ мапу». editor.save.overwrite = Ваша мапа перезапиÑує вбудовану мапу! Виберіть іншу назву в Â«Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ мапу». @@ -414,6 +558,7 @@ editor.overwrite = [accent]ПопередженнÑ!\nЦе перезапиÑу editor.overwrite.confirm = [scarlet]ПопередженнÑ![] Мапа з такою назвою вже Ñ”. Ви впевнені, що хочете перепиÑати Ñ—Ñ—?\n«[accent]{0}[]» editor.exists = Мапа з такою назвою вже Ñ”. editor.selectmap = Виберіть мапу Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ: + toolmode.replace = Замінити toolmode.replace.description = Малює тільки\nна Ñуцільних блоках. toolmode.replaceall = Замінити вÑе @@ -426,9 +571,16 @@ toolmode.eraseores = Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ñ€ÑƒÐ´ toolmode.eraseores.description = Видалити тільки руди. toolmode.fillteams = Змінити блок у команді toolmode.fillteams.description = Змінює належніÑть\nблоків до команди. +toolmode.fillerase = Видалити однотипне +toolmode.fillerase.description = ВидалÑÑ” однотипні блоки. toolmode.drawteams = Змінити команду блока toolmode.drawteams.description = Змінює належніÑть\nблока до команди. +#unused +toolmode.underliquid = Під рідинами +toolmode.underliquid.description = Малюйте поверхні під плитками рідин. + filters.empty = [lightgray]Ðемає фільтрів! Додайте хоча б один за допомогою кнопки нижче. + filter.distort = Ð¡Ð¿Ð¾Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ filter.noise = Шум filter.enemyspawn = Вибір точки поÑви противників @@ -445,6 +597,8 @@ filter.clear = ОчиÑтити filter.option.ignore = Ігнорувати filter.scatter = РозÑіювач filter.terrain = Ландшафт +filter.logic = Logic + filter.option.scale = МаÑштаб фільтра filter.option.chance = Ð¨Ð°Ð½Ñ filter.option.mag = Сила заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ @@ -453,17 +607,40 @@ filter.option.circle-scale = МаÑштаб круга filter.option.octaves = ЦиклічніÑть заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ filter.option.falloff = Спад циклічноÑті filter.option.angle = Кут +filter.option.tilt = Ðахил +filter.option.rotate = Повернути filter.option.amount = КількіÑть filter.option.block = Блок filter.option.floor = ÐŸÐ¾Ð²ÐµÑ€Ñ…Ð½Ñ filter.option.flooronto = Цільова Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ filter.option.target = Ціль +filter.option.replacement = Ð—Ð°Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ filter.option.wall = Стіна filter.option.ore = Руда filter.option.floor2 = Друга Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ filter.option.threshold2 = Вторинний граничний поріг filter.option.radius = Ð Ð°Ð´Ñ–ÑƒÑ filter.option.percentile = Спад +filter.option.code = Код +filter.option.loop = Цикл +locales.info = Тут ви можете додати на мапу мовні пакети Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¸Ñ… мов. У мовних пакетах кожна влаÑтивіÑть має назву Ñ– значеннÑ. Ці влаÑтивоÑті можуть бути викориÑтані Ñвітовими процеÑорами та завданнÑми їхніми назвами. Вони підтримують Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту (замінюючи заповнювачі на дійÑні значеннÑ).\n\n[cyan]Приклад влаÑтивоÑті:\n[]name: [accent]timer[]\nvalue: [accent]Приклад таймеру, чаÑу лишилоÑÑŒ: @[]\n\n[cyan]ВикориÑтаннÑ:\n[]УÑтановіть його Ñк текÑÑ‚ завданнÑ: [accent]@timer\n\n[]Ðадрукуйте його у Ñвітовому процеÑорі:\n[accent]localeprint "timer"\nformat time\n[gray](де Ñ‡Ð°Ñ - окремо обчиÑлена змінна) +locales.deletelocale = Ви Ñправді хочете видалити цей мовний пакет? +locales.applytoall = ЗаÑтоÑувати зміни до вÑÑ–Ñ… мовних пакетів +locales.addtoother = Додати до інших мовних пакетів +locales.rollback = ÐŸÐ¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ оÑтанньої заÑтоÑованої зміни +locales.filter = Фільтр влаÑтивоÑтей +locales.searchname = Шукати назву... +locales.searchvalue = Шукати значеннÑ... +locales.searchlocale = Шукати мовний пакет... +locales.byname = За назвою +locales.byvalue = За значеннÑм +locales.showcorrect = Показати влаÑтивоÑті, Ñкі приÑутні в уÑÑ–Ñ… мовних пакетах Ñ– мають унікальні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñкрізь +locales.showmissing = Показати влаÑтивоÑті, Ñкі відÑутні в деÑких мовних пакетах +locales.showsame = Показати влаÑтивоÑті, Ñкі мають однакові Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² різних мовних пакетах +locales.viewproperty = ПереглÑнути в уÑÑ–Ñ… мовних пакетах +locales.viewing = ПереглÑд влаÑтивоÑті "{0}" +locales.addicon = Додати значок + width = Ширина: height = ВиÑота: menu = Меню @@ -473,14 +650,16 @@ load = Завантажити save = Зберегти fps = FPS: {0} ping = Затримка: {0} Ð¼Ñ -memory = Mem: {0}мб -memory2 = Mem:\n {0}мб +\n {1}мб +tps = TPS: {0} +memory = Пам’Ñть: {0} мб +memory2 = Пам’Ñть:\n {0}мб +\n {1}мб language.restart = ПерезапуÑтіть Ñвою гру, щоби Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð²Ð¸ набули чинноÑті. settings = ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ tutorial = ÐÐ°Ð²Ñ‡Ð°Ð½Ð½Ñ tutorial.retake = Пройти Ð½Ð°Ð²Ñ‡Ð°Ð½Ð½Ñ Ñ‰Ðµ раз editor = Редактор mapeditor = Редактор мап + abandon = Покинути abandon.text = Ð¦Ñ Ð·Ð¾Ð½Ð° Ñ– вÑÑ– Ñ—Ñ— реÑурÑи будуть утрачені. locked = Заблоковано @@ -490,20 +669,76 @@ requirement.core = Знищте вороже Ñдро в зоні «{0}» requirement.research = ДоÑлідіть {0} requirement.produce = Виробіть {0} requirement.capture = Захопіть {0} +requirement.onplanet = УÑтановіть контроль над Ñектором на {0} +requirement.onsector = ПриземлітьÑÑ Ð½Ð° такий Ñектор: {0} launch.text = ЗапуÑк -research.multiplayer = Лише влаÑник Ñервера має змогу доÑліджувати предмети. map.multiplayer = Лише влаÑник може переглÑдати Ñектори. uncover = Розкрити configure = Ðалаштувати Ð²Ð¸Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ + +objective.research.name = ДоÑлідити +objective.produce.name = Отримати +objective.item.name = Отримати предмет +objective.coreitem.name = Предметів у Ñдрі +objective.buildcount.name = КількіÑть Ñпоруд +objective.unitcount.name = КількіÑть одиниць +objective.destroyunits.name = Знищити одиниці +objective.timer.name = Таймер +objective.destroyblock.name = Знищити блок +objective.destroyblocks.name = Знищити блоки +objective.destroycore.name = Знищити Ñдро +objective.commandmode.name = Режим ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ +objective.flag.name = Прапорець + +marker.shapetext.name = Форма текÑту +marker.point.name = Point +marker.shape.name = Форма +marker.text.name = ТекÑÑ‚ +marker.line.name = Ð›Ñ–Ð½Ñ–Ñ +marker.quad.name = Квад +marker.texture.name = ТекÑтура + +marker.background = Фон +marker.outline = Контур + +objective.research = [accent]ДоÑлідіть:\n[]{0}[lightgray]{1} +objective.produce = [accent]Виробіть:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Знищте:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Знищте: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Виробіть: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]ПереміÑтіть до Ñдра:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Збудуйте: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]СконÑтруюйте одиницю: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Знищте: [][lightgray]{0}[]x Units +objective.enemiesapproaching = [accent]Вороги наблизÑтьÑÑ Ñ‡ÐµÑ€ÐµÐ· [lightgray]{0}[] +objective.enemyescelating = [accent]ÐÐ°Ñ€Ð¾Ñ‰ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¾Ñ€Ð¾Ð¶Ð¾Ð³Ð¾ виробництва почнетьÑÑ Ñ‡ÐµÑ€ÐµÐ· [lightgray]{0}[] +objective.enemyairunits = [accent]Виробництво ворожих повітрÑних одиниць почнетьÑÑ Ñ‡ÐµÑ€ÐµÐ· [lightgray]{0}[] +objective.destroycore = [accent]Знищте вороже Ñдро +objective.command = [accent]Командуйте над одиницÑми +objective.nuclearlaunch = [accent]âš  ВиÑвлено Ñдерний запуÑк: [lightgray]{0} + +announce.nuclearstrike = [red]âš  ЯДЕРÐИЙ УДÐР ÐÐБЛИЖÐЄТЬСЯ âš  + loadout = Ð’Ð¸Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ resources = РеÑурÑи +resources.max = МакÑимум bannedblocks = Заборонені блоки +unbannedblocks = Unbanned Blocks +objectives = Ð—Ð°Ð²Ð´Ð°Ð½Ð½Ñ +bannedunits = Заборонені одиниці +unbannedunits = Unbanned Units +bannedunits.whitelist = Заборонені одиниці Ñк білий ÑпиÑок +bannedblocks.whitelist = Заборонені блоки Ñк білий ÑпиÑок addall = Додати вÑе launch.from = ЗапуÑк з [accent]{0} +launch.capacity = МіÑткіÑть предметів, що запуÑкаютьÑÑ: [accent]{0} launch.destination = Пункт призначеннÑ: {0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = КількіÑть має бути чиÑлом між 0 та {0}. add = Додати… -boss.health = Ð—Ð´Ð¾Ñ€Ð¾Ð²â€™Ñ Ð’Ð°Ñ€Ñ‚Ð¾Ð²Ð¾Ð³Ð¾ +guardian = Вартовий + connectfail = [crimson]Помилка з’єднаннÑ:\n\n[accent]{0} error.unreachable = Сервер не Ñ” доÑтупним.\nЧи правильно напиÑана адреÑа? error.invalidaddress = Ðекоректна адреÑа. @@ -514,15 +749,24 @@ error.mapnotfound = Файл мапи не знайдено! error.io = Мережева помилка введеннÑ-виведеннÑ. error.any = Ðевідома мережева помилка error.bloom = Ðе вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ ÑвітіннÑ.\nВаш приÑтрій, мабуть, не підтримує це. +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. + weather.rain.name = Дощ -weather.snow.name = Сніг +weather.snowing.name = Сніг weather.sandstorm.name = Піщана Ð±ÑƒÑ€Ñ weather.sporestorm.name = Спорова Ð±ÑƒÑ€Ñ weather.fog.name = Туман + +campaign.playtime = \uf129 [lightgray]Ð§Ð°Ñ Ð³Ñ€Ð¸ на Ñекторі: {0} +campaign.complete = [accent]Вітаємо.\n\nВорога на {0} розгромлено.\n[lightgray]Фінальний Ñектор підкорено. + +sectorlist = Сектори +sectorlist.attacked = {0} під атакою sectors.unexplored = [lightgray]Ðе доÑліджено sectors.resources = РеÑурÑи: sectors.production = Виробництво: sectors.export = ЕкÑпортуваннÑ: +sectors.import = ІмпортуваннÑ: sectors.time = ЧаÑ: sectors.threat = Загроза: sectors.wave = ХвилÑ: @@ -530,27 +774,47 @@ sectors.stored = Зберігає: sectors.resume = Продовжити sectors.launch = ЗапуÑтити sectors.select = Вибрати +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]нічого (Ñонце) +sectors.redirect = Redirect Launch Pads sectors.rename = ÐŸÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ð½Ð½Ñ Ñектору sectors.enemybase = [scarlet]Ворожа база sectors.vulnerable = [scarlet]Уразливий sectors.underattack = [scarlet]Ðтаковано! [accent]{0}% пошкоджено +sectors.underattack.nodamage = [scarlet]Ðе захоплено sectors.survives = [accent]ПротримайтеÑÑ {0} хвиль sectors.go = Перейти +sector.abandon = Покинути +sector.abandon.confirm = УÑÑ– Ñдра в цьому Ñекторі ÑамознищатьÑÑ.\nПродовжити? sector.curcapture = Сектор захоплено sector.curlost = Сектор втрачено sector.missingresources = [scarlet]ÐедоÑтатньо реÑурÑів у Ñдрі sector.attacked = Сектор [accent]{0}[white] під атакою! sector.lost = Сектор [accent]{0}[white] втрачено! -sector.captured = Сектор [accent]{0}[white]захоплено! +sector.capture = Sector [accent]{0}[white]Captured! +sector.capture.current = Sector Captured! +sector.changeicon = Змінити значок +sector.noswitch.title = Ðеможливо переключити Ñектори +sector.noswitch = Ви не можете змінювати Ñектори, поки поточний Ñектор піддаєтьÑÑ Ð°Ñ‚Ð°Ñ†Ñ–.\n\nСектор: [accent]{0}[] на [accent]{1}[] +sector.view = ПереглÑнути Ñектор + threat.low = низька threat.medium = ÑÐµÑ€ÐµÐ´Ð½Ñ threat.high = виÑока threat.extreme = екÑтремальна threat.eradication = викорінювальна +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication + planets = Планети -planet.serpulo.name = Cерпуло + +planet.serpulo.name = Серпуло +planet.erekir.name = Ерекір planet.sun.name = Сонце + sector.impact0078.name = Ðварійне Ð¿Ñ€Ð¸Ð·ÐµÐ¼Ð»ÐµÐ½Ð½Ñ 0078 sector.groundZero.name = Відправний пункт sector.craters.name = Кратери @@ -566,23 +830,103 @@ sector.fungalPass.name = Грибний перевал sector.biomassFacility.name = Центр доÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ñинтезу біомаÑи sector.windsweptIslands.name = ВітрÑні оÑтрови sector.extractionOutpost.name = Видобувна заÑтава +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Термінал планетарного запуÑку +sector.coastline.name = Ð£Ð·Ð±ÐµÑ€ÐµÐ¶Ð¶Ñ +sector.navalFortress.name = МорÑька Ñ„Ð¾Ñ€Ñ‚ÐµÑ†Ñ +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier + sector.groundZero.description = Оптимальне міÑце Ð´Ð»Ñ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¸Ñ… ігор. Ðизька ворожа загроза. Мало реÑурÑів.\nЗберіть Ñкомога більше Ñвинцю та міді.\nÐе затримуйтеÑÑŒ Ñ– йдіть далі. sector.frozenForest.description = Ðавіть тут, ближче до гір, уже поширилиÑÑ Ñпори. Холодна температура не змогла Ñтримати Ñ—Ñ… назавжди.\n\nЗважтеÑÑŒ Ñтворити енергію. Побудуйте генератори внутрішнього згораннÑ. ÐавчітьÑÑ ÐºÐ¾Ñ€Ð¸ÑтуватиÑÑ Ñ€ÐµÐ³ÐµÐ½ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð°Ð¼Ð¸. sector.saltFlats.description = Ðа околицÑÑ… пуÑтелі лежать СолÑні рівнини. У цьому міÑці небагато реÑурÑів.\n\nСаме тут противники Ñпорудили ÐºÐ¾Ð¼Ð¿Ð»ÐµÐºÑ Ð·Ñ– Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ€ÐµÑурÑів. Викорініть їхнє Ñдро. Ðе лишайте нічого цінного. sector.craters.description = У цьому кратері накопичилаÑÑ Ð²Ð¾Ð´Ð° — пережиток Ñтарих воєн. Відновіть міÑцевіÑть. Видобудьте піÑок. Виплавте метаÑкло. Качайте воду, щоб охолоджувати башти та бури. -sector.ruinousShores.description = Повз пуÑток — берегова лініÑ. КолиÑÑŒ у цьому міÑці розташувавÑÑ Ð±ÐµÑ€ÐµÐ³Ð¾Ð²Ð¸Ð¹ оборонний маÑив. Проте з тих давніх залишилоÑÑ Ð½Ðµ дуже й багато чого. Тільки оÑновні оборонні Ñпоруди лишилиÑÑ Ð½ÐµÑƒÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¼Ð¸, а вÑе інше перетворилоÑÑ Ð½Ð° брухт.\nПродовжуйте екÑпанÑÑ–ÑŽ назовні. ДоÑлідіть повторно забуті технології. +sector.ruinousShores.description = Повз пуÑтки — берегова лініÑ. КолиÑÑŒ у цьому міÑці розташувавÑÑ Ð±ÐµÑ€ÐµÐ³Ð¾Ð²Ð¸Ð¹ оборонний маÑив. Проте з тих давніх чаÑів залишилоÑÑ Ð½Ðµ дуже й багато чого. Тільки оÑновні оборонні Ñпоруди лишилиÑÑ Ð½ÐµÑƒÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð¸Ð¼Ð¸, а вÑе інше перетворилоÑÑ Ð½Ð° брухт.\nПродовжуйте екÑпанÑÑ–ÑŽ назовні. ДоÑлідіть повторно забуті технології. sector.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, що ще не заражені Ñпорами.\nВидобудьте надлишковий титан у цій міÑцевоÑті й дізнайтеÑÑ Ñк викориÑтовувати його.\n\nВорожа приÑутніÑть у цій міÑцевоÑті значно більша. Ðе дайте ворогам чаÑу надіÑлати Ñвої найÑильніші одиниці. -sector.overgrowth.description = Ближче до джерела Ñпор Ñ” територіÑ, що зароÑла.\nПротивник уÑтановив тут Ñвій форпоÑÑ‚. Побудуйте Титанів. Зруйнуйте укріпленнÑ. +sector.overgrowth.description = Ближче до джерела Ñпор Ñ” територіÑ, що зароÑла.\nПротивник уÑтановив тут Ñвій форпоÑÑ‚. Побудуйте титанів. Зруйнуйте укріпленнÑ. sector.tarFields.description = Між горами та пуÑтелею проÑÑ‚ÑгаєтьÑÑ ÐºÑ€Ð°Ð¹ зони видобутку нафти. Це один із небагатьох районів із кориÑними Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð¿Ð°Ñами дьогтю.\nÐе зважаючи на те, що Ñ†Ñ Ñ‚ÐµÑ€Ð¸Ñ‚Ð¾Ñ€Ñ–Ñ Ð¿Ð¾ÐºÐ¸Ð½ÑƒÑ‚Ð°, вона має поблизу небезпечні Ñили противника. Ðе варто Ñ—Ñ… недооцінювати.\n\n[lightgray]За можливіÑтю доÑлідіть технологію Ð¿ÐµÑ€ÐµÑ€Ð¾Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ñ„Ñ‚Ð¸. sector.desolateRift.description = Ðадзвичайно небезпечна зона. Багато реÑурÑів, але мало міÑцÑ. ВиÑокий ризик знищеннÑ. ЕвакуюватиÑÑ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾ Ñкомога швидше. Ðе розÑлаблÑйтеÑÑ Ð¼Ñ–Ð¶ ворожими атаками та знайдіть ахіллеÑову п’Ñту ворога. sector.nuclearComplex.description = Колишній об’єкт Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° та Ð¿ÐµÑ€ÐµÑ€Ð¾Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ð¾Ñ€Ñ–ÑŽ було зведено до руїн.\n[lightgray]ДоÑлідіть торій та його неÑкінченну кількіÑть заÑтоÑувань.\n\n Противник, Ñкий поÑтійно шукає нападників, приÑутній тут у великій кількоÑті, тому не барітьÑÑ Ð· евакуацією. sector.fungalPass.description = Перехідна зона між виÑокими й низькими горами, що заповнені Ñпорами. Тут розташована невелика розвідувальна база противника.\nЗнищте Ñ—Ñ—.\nВикориÑтовуйте Кинджалів Ñ– Плазунів. Зруйнуйте два Ñдра. -sector.biomassFacility.description = Батьківщина Ñпор. Це Ñаме той обʼєкт, у Ñкому вони вперше були доÑліджені та виготовлені.\nДоÑлідіть технологію, що міÑтитьÑÑ Ð²Ñередині. Вирощуйте Ñпори Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° палива та плаÑтмаÑ. \n\n[lightgray]ПіÑÐ»Ñ Ñ€ÑƒÐ¹Ð½Ð°Ñ†Ñ–Ñ— цього обʼєкта Ñпори Ñтали вільними. Ðіщо в міÑцевій екоÑиÑтемі не змогло ÑклаÑти конкуренцію такому загарбницькому організму. +sector.biomassFacility.description = Батьківщина Ñпор. Це Ñаме той об’єкт, у Ñкому вони вперше були доÑліджені та виготовлені.\nДоÑлідіть технологію, що міÑтитьÑÑ Ð²Ñередині. Вирощуйте Ñпори Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° палива та плаÑтмаÑ. \n\n[lightgray]ПіÑÐ»Ñ Ñ€ÑƒÐ¹Ð½Ð°Ñ†Ñ–Ñ— цього об’єкта Ñпори Ñтали вільними. Ðіщо в міÑцевій екоÑиÑтемі не змогло ÑклаÑти конкуренцію такому загарбницькому організму. sector.windsweptIslands.description = Далі, за береговою лінією, розташовуєтьÑÑ Ñ†ÐµÐ¹ віддалений ланцюжок оÑтровів. ЗапиÑи чітко вказують на те, що колиÑÑŒ вони мали Ñтруктури, що вироблÑли [accent]плаÑтаній[] \n\nВідбивайтеÑÑŒ від морÑьких підрозділів противника. Створіть базу на оÑтровах. ДоÑлідіть ці заводи. sector.extractionOutpost.description = Віддалений форпоÑÑ‚, побудований ворогом Ð´Ð»Ñ Ð·Ð°Ð¿ÑƒÑку реÑурÑів в інші Ñектори. \n\nМіжÑекторна транÑпортна Ñ‚ÐµÑ…Ð½Ð¾Ð»Ð¾Ð³Ñ–Ñ Ð¼Ð°Ñ” важливе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ð³Ð¾ завоюваннÑ. Знищте базу. ДоÑлідіть їхні пуÑкові майданчики. -sector.impact0078.description = Тут лежать залишки міжзорÑного транÑпортного Ñудна, Ñке вперше потрапило в цю ÑиÑтему. \n\nВилучіть Ñкомога більше кориÑного з уламків. ДоÑлідіть будь-Ñку вцілілу технологію. +sector.impact0078.description = Тут лежать залишки міжзорÑного транÑпортного Ñудна, що вперше потрапило в цю ÑиÑтему. \n\nВилучіть Ñкомога більше кориÑного з уламків. ДоÑлідіть будь-Ñку вцілілу технологію. sector.planetaryTerminal.description = Кінцева мета.\n\nÐ¦Ñ Ð¿Ñ€Ð¸Ð±ÐµÑ€ÐµÐ¶Ð½Ð° база міÑтить Ñтруктуру, здатну запуÑкати Ñдра на навколишні планети. Ðадзвичайно добре охоронÑєтьÑÑ.\n\nВироблÑÑ” війÑьково-морÑькі підрозділи. УÑуньте ворога Ñкомога швидше. ДоÑлідіть Ñтруктуру запуÑку. +sector.coastline.description = Ðа цьому міÑці виÑвлено залишки війÑьково-морÑьких одиниць. Відбийте атаки Ñупротивника, захопіть цей Ñектор та заволодійте технологією. +sector.navalFortress.description = Ворог Ñтворив базу на віддаленому, природно-укріпленому оÑтрові. Знищте цей форпоÑÑ‚. Заволодійте їхніми передовими технологіÑми морÑьких кораблів Ñ– доÑлідіть Ñ—Ñ…. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = Перший наÑтуп +sector.aegis.name = Егіда +sector.lake.name = Озеро +sector.intersect.name = Ð Ð¾Ð·Ð´Ð¾Ñ€Ñ–Ð¶Ð¶Ñ +sector.atlas.name = Ðтлант +sector.split.name = Розколина +sector.basin.name = Ставок +sector.marsh.name = Болото +sector.peaks.name = Вершини +sector.ravine.name = Яр +sector.caldera-erekir.name = Кальдера +sector.stronghold.name = Сторожова заÑтава +sector.crevice.name = ÐŸÑ€Ð¾Ð²Ð°Ð»Ð»Ñ +sector.siege.name = Облога +sector.crossroads.name = ПерехреÑÑ‚Ñ +sector.karst.name = КарÑÑ‚ +sector.origin.name = Джерело + +sector.onset.description = Зберіть реÑурÑи Ñ– доÑлідіть технології Ð´Ð»Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ð·Ð°Ñ†Ñ–Ñ— виробництва.\nПочніть атаку.\n +sector.aegis.description = Ворог захищений щитами. У цьому Ñекторі виÑвлено екÑпериментальний модуль зламувача щитів.\nЗнайдіть цю будівлю. Забезпечте Ñ—Ñ— вольфрамовими боєприпаÑами та знищіть ворожу базу. +sector.lake.description = Шлакове озеро в цьому Ñекторі значно обмежує вибір одиниць. Єдиний варіант — одиницÑ, що може підтримувати Ñебе над землею.\nДоÑлідіть [accent]корабельний виробник[] Ñ– виготовте одиницю [accent]УхилÑч[] Ñкомога швидше. +sector.intersect.description = Ð¡ÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð·ÑƒÑ”, що цей Ñектор буде атаковано з кількох Ñторін невдовзі піÑÐ»Ñ Ð¿Ñ€Ð¸Ð·ÐµÐ¼Ð»ÐµÐ½Ð½Ñ.Швидко підготуйте захиÑÑ‚ Ñ– розширте його Ñкнайшвидше.\nВам знадоблÑтьÑÑ [accent]Мехи[] Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¾Ð»Ð°Ð½Ð½Ñ Ð½ÐµÑ€Ñ–Ð²Ð½Ð¾Ñ— міÑцевоÑті. +sector.atlas.description = Цей Ñектор міÑтить різноманітну міÑцевіÑть Ñ– потребує різноманітних одиниць Ð´Ð»Ñ ÐµÑ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð¾Ñ— атаки.\nМодернізовані одиниці також можуть знадобитиÑÑ, щоби подолати деÑкі Ñкладніші бази противника, виÑвлені тут.\nДоÑлідіть [accent]Електролізер[] Ñ– [accent]Танковий рефабрикатор[]. +sector.split.description = Мінімальна ворожа приÑутніÑть в цьому Ñекторі робить його ідеальним Ð´Ð»Ñ Ñ‚ÐµÑÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð¾Ð²Ð¸Ñ… транÑпортних технологій. +sector.basin.description = У цьому Ñекторі виÑвлено велику приÑутніÑть ворога.\nШвидко Ñтворюйте одиниці та захоплюйте ворожі Ñдра, щоби закріпитиÑÑ. +sector.marsh.description = У цьому Ñекторі багато аркіциту, але мало отворів.\nСпоруджуйте [accent]камери хімічного згорÑннÑ[], щоби вироблÑти енергію. +sector.peaks.description = ГірÑька міÑцевіÑть в цьому Ñекторі робить більшіÑть одиниць непотрібними. ЗнадобитьÑÑ Ð¿Ñ€Ð¸ÑутніÑть повітрÑних одиниць.\nБудьте уважні до ворожої ППО. Можливо, вдаÑтьÑÑ Ð²Ð¸Ð²ÐµÑти з ладу деÑкі з цих уÑтановок, націлившиÑÑŒ на їхні допоміжні будівлі. +sector.ravine.description = Важливий транÑпортний маршрут Ð´Ð»Ñ Ð²Ð¾Ñ€Ð¾Ð³Ð°. У Ñекторі не виÑвлено Ñдер, але очікуєтьÑÑ Ð¿Ñ€Ð¸ÑутніÑть різноманітних Ñил противника.\nВиробіть [accent]кінетичний Ñплав[]. Побудуйте башти [accent]уражач[]. +sector.caldera-erekir.description = ВиÑвлені в цьому Ñекторі реÑурÑи розкидані по декількох оÑтровах.\nДоÑлідіть Ñ– розгорніть Ð¿ÐµÑ€ÐµÐ²ÐµÐ·ÐµÐ½Ð½Ñ Ð½Ð° базі дронів. +sector.stronghold.description = Великий ворожий табір в цьому Ñекторі охоронÑÑ” значні поклади [accent]торію[].\nВикориÑтайте його Ð´Ð»Ñ Ñ€Ð¾Ð·Ð²Ð¸Ñ‚ÐºÑƒ одиниць вищого Ñ€Ñ–Ð²Ð½Ñ Ñ– башт. +sector.crevice.description = Ворог відправить запеклі штурмові Ñили, щоби знищити вашу базу в цьому Ñекторі.\nРозробка [accent]карбіду[] Ñ– [accent]генератора піролізу[] може бути необхідною Ð´Ð»Ñ Ð²Ð¸Ð¶Ð¸Ð²Ð°Ð½Ð½Ñ. +sector.siege.description = У цьому Ñекторі Ñ” два паралельні каньйони, Ñкі змуÑÑть веÑти двоÑторонню атаку.\nДоÑлідіть [accent]ціаноген[], щоб отримати можливіÑть Ñтворювати ще Ñильніші танкові чаÑтини.\nУвага: виÑвлено ворожі ракети дальнього радіуÑу дії. Ракети можуть бути збиті до Ð²Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð² атмоÑферу. +sector.crossroads.description = Ворожі бази в цьому Ñекторі були Ñтворені на переÑіченій міÑцевоÑті. ДоÑлідіть різні одиниці, щоб приÑтоÑуватиÑÑ.\nДо того ж, деÑкі бази захищені щитами. З'ÑÑуйте, Ñк вони отримують енергію. +sector.karst.description = Цей Ñектор багатий на реÑурÑи, але буде атакований ворогом, Ñк тільки приземлитьÑÑ Ð½Ð¾Ð²Ðµ Ñдро.\nВикориÑтовуйте реÑурÑи та доÑлідіть [accent]фазову тканину[]. +sector.origin.description = ОÑтанній Ñектор зі значною приÑутніÑтю ворога.\nÐе залишаєтьÑÑ Ð¹Ð¼Ð¾Ð²Ñ–Ñ€Ð½Ð¸Ñ… можливоÑтей Ð´Ð»Ñ Ð´Ð¾Ñліджень, тому зоÑередьтеÑÑ Ð²Ð¸ÐºÐ»ÑŽÑ‡Ð½Ð¾ на знищенні вÑÑ–Ñ… ворожих Ñдер. + +status.burning.name = Ð“Ð¾Ñ€Ñ–Ð½Ð½Ñ +status.freezing.name = Ð—Ð°Ð¼ÐµÑ€Ð·Ð°Ð½Ð½Ñ +status.wet.name = ЗволоженіÑть +status.muddy.name = ЗабрудненіÑть грÑззю +status.melting.name = ÐŸÐ»Ð°Ð²Ð»ÐµÐ½Ð½Ñ +status.sapped.name = ВиÑнаженіÑть +status.electrified.name = ÐаелектризованіÑть +status.spore-slowed.name = СповільненіÑть через Ñпори +status.tarred.name = ÐŸÐ¾ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð½Ð°Ñ„Ñ‚Ð¾ÑŽ +status.overdrive.name = ÐŸÐµÑ€ÐµÐ²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ +status.overclock.name = ПриÑÐºÐ¾Ñ€ÐµÐ½Ð½Ñ +status.shocked.name = ÐŸÑ€Ð¸Ð³Ð¾Ð»Ð¾Ð¼ÑˆÐµÐ½Ð½Ñ +status.blasted.name = ÐŸÐ¾Ð½Ñ–Ð²ÐµÑ‡ÐµÐ½Ð½Ñ +status.unmoving.name = ÐезворушніÑть +status.boss.name = Вартовий + settings.language = Мова settings.data = Ігрові дані settings.reset = За замовчуваннÑм @@ -600,10 +944,11 @@ settings.clearsaves = ОчиÑтити Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ settings.clearresearch = ОчиÑтити доÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ settings.clearresearch.confirm = Ви Ñправді хочете очиÑтити доÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ ÐºÐ°Ð¼Ð¿Ð°Ð½Ñ–Ñ—? settings.clearcampaignsaves = ОчиÑтити Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð² кампанії -settings.clearcampaignsaves.confirm = Ви Ñправді хочете очиÑтити вÑÑ– збереженні в кампанії? +settings.clearcampaignsaves.confirm = Ви Ñправді хочете очиÑтити вÑÑ– Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ Ð² кампанії? paused = [accent]< Пауза > clear = ОчиÑтити banned = [scarlet]Заблоковано +unsupported.environment = [scarlet]Ðепідтримуване Ñередовище yes = Так no = ÐÑ– info.title = Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ @@ -611,13 +956,18 @@ error.title = [crimson]Виникла помилка error.crashtitle = Виникла помилка unit.nobuild = [scarlet]Ð¦Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ð½Ðµ може будувати lastaccessed = [lightgray]ОÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð° від {0} +lastcommanded = [lightgray]ОÑтанній наказ від {0} block.unknown = [lightgray]??? + +stat.showinmap = <завантажте мапу Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ñƒ> stat.description = ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ stat.input = Ввід stat.output = Вивід +stat.maxefficiency = МакÑимальна ефективніÑть stat.booster = ПриÑкорювач stat.tiles = Ðеобхідні плитки stat.affinities = Ð—Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті +stat.opposites = Ð—Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ ÐµÑ„ÐµÐºÑ‚Ð¸Ð²Ð½Ð¾Ñті stat.powercapacity = МіÑткіÑть енергії stat.powershot = Ð•Ð½ÐµÑ€Ð³Ñ–Ñ Ð·Ð° поÑтріл stat.damage = Шкода @@ -631,17 +981,20 @@ stat.displaysize = Розмір диÑплею stat.liquidcapacity = Рідинна міÑткіÑть stat.powerrange = Ð Ð°Ð´Ñ–ÑƒÑ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ñ– енергії stat.linkrange = Ð Ð°Ð´Ñ–ÑƒÑ Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ -stat.instructions = ІнÑтрукції +stat.instructions = Операції stat.powerconnections = МакÑимальна кількіÑть з’єднань stat.poweruse = Енергії викориÑтовує stat.powerdamage = Енергії за од. шкоди stat.itemcapacity = МіÑткіÑть предметів -stat.memorycapacity = ЄмніÑть пам’Ñті +stat.memorycapacity = МіÑткіÑть пам’Ñті stat.basepowergeneration = Базова Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ ÐµÐ½ÐµÑ€Ð³Ñ–Ñ— stat.productiontime = Ð§Ð°Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° stat.repairtime = Ð§Ð°Ñ Ð¿Ð¾Ð²Ð½Ð¾Ð³Ð¾ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑƒ +stat.repairspeed = ШвидкіÑть Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ stat.weapons = Ð—Ð±Ñ€Ð¾Ñ stat.bullet = Кулі +stat.moduletier = Рівень Ð¼Ð¾Ð´ÑƒÐ»Ñ +stat.unittype = Тип одиниці stat.speedincrease = Ð—Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ ÑˆÐ²Ð¸Ð´ÐºÐ¾Ñті stat.range = Ð Ð°Ð´Ñ–ÑƒÑ Ð´Ñ–Ñ— stat.drilltier = Видобуває @@ -649,12 +1002,13 @@ stat.drillspeed = Базова швидкіÑть Ð±ÑƒÑ€Ñ–Ð½Ð½Ñ stat.boosteffect = ПриÑкорювальний ефект stat.maxunits = МакÑимальна кількіÑть активних одиниць stat.health = Ð—Ð´Ð¾Ñ€Ð¾Ð²â€™Ñ +stat.armor = Ð‘Ñ€Ð¾Ð½Ñ stat.buildtime = Ð§Ð°Ñ Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ stat.maxconsecutive = МакÑимальна поÑлідовніÑть stat.buildcost = ВартіÑть Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ stat.inaccuracy = Розкид stat.shots = ПоÑтріли -stat.reload = ПоÑтріли за Ñек. +stat.reload = СкороÑтрільніÑть stat.ammo = БоєприпаÑи stat.shieldhealth = МіцніÑть щита stat.cooldowntime = ТриваліÑть Ð¾Ñ…Ð¾Ð»Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ @@ -664,6 +1018,7 @@ stat.lightningchance = Ð¨Ð°Ð½Ñ ÑƒÐ´Ð°Ñ€Ñƒ блиÑкавки stat.lightningdamage = Шкода від удару блиÑкавки stat.flammability = ЗаймиÑтіÑть stat.radioactivity = РадіоактивніÑть +stat.charge = ЗарÑд stat.heatcapacity = ТепломіÑткіÑть stat.viscosity = В’ÑзкіÑть stat.temperature = Температура @@ -672,23 +1027,77 @@ stat.buildspeed = ШвидкіÑть Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ stat.minespeed = ШвидкіÑть видобутку stat.minetier = Рівень видобутку stat.payloadcapacity = ВантажніÑть -stat.commandlimit = МакÑимум у загоні stat.abilities = ЗдібноÑті stat.canboost = Можна приÑкорити stat.flying = Літає -ability.forcefield = Щитове поле +stat.ammouse = Патронів викориÑтовує +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = Множник шкоди +stat.healthmultiplier = Множник Ð·Ð´Ð¾Ñ€Ð¾Ð²â€™Ñ +stat.speedmultiplier = Множник швидкоÑті +stat.reloadmultiplier = Множник перезарÑдки +stat.buildspeedmultiplier = Множник швидкоÑті Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ +stat.reactive = Реактивний +stat.immunities = Імунітети +stat.healing = Ð’Ñ–Ð´Ð½Ð¾Ð²Ð»ÑŽÐ²Ð°Ð½Ð½Ñ +stat.efficiency = [stat]{0}% Efficiency + +ability.forcefield = Силовий щит +ability.forcefield.description = Створює Ñилове поле, Ñкий поглинає кулі ability.repairfield = Ремонтувальне поле +ability.repairfield.description = Ремонтує найближчі одиниці ability.statusfield = Поле підÑÐ¸Ð»ÐµÐ½Ð½Ñ -ability.unitspawn = Завод одиниць «{0}» -ability.shieldregenfield = Поле, що відновлює щити +ability.statusfield.description = ЗаÑтоÑовує ефект Ñтану до ÑуÑідніх одиниць +ability.unitspawn = Завод одиниць +ability.unitspawn.description = Створює одиниці +ability.shieldregenfield = Щитовідновлювальне поле +ability.shieldregenfield.description = Відновлює щити ÑуÑідніх одиниць ability.movelightning = БлиÑкавки під Ñ‡Ð°Ñ Ñ€ÑƒÑ…Ñƒ -bar.drilltierreq = ПотребуєтьÑÑ ÐºÑ€Ð°Ñ‰Ð¸Ð¹ бур +ability.movelightning.description = ВипуÑкає блиÑкавки під Ñ‡Ð°Ñ Ñ€ÑƒÑ…Ñƒ +ability.armorplate = Бронеплита +ability.armorplate.description = Зменшує шкоду під Ñ‡Ð°Ñ Ñтрільби +ability.shieldarc = Щитова дуга +ability.shieldarc.description = Проєктує Ñиловий щит у виглÑді дуги, що поглинає кулі +ability.suppressionfield = Поле Ð¿Ñ€Ð¸Ð³Ð½Ñ–Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ +ability.suppressionfield.description = ЗупинÑєтьÑÑ Ð¿Ð¾Ð±Ð»Ð¸Ð·Ñƒ ремонтних будівель +ability.energyfield = Енергетичне поле +ability.energyfield.description = Вражає найближчих ворогів +ability.energyfield.healdescription = Вражає ворогів поблизу та зцілює Ñоюзників +ability.regen = Ð›Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ +ability.regen.description = Відновлює влаÑне здоров'Ñ Ð· чаÑом +ability.liquidregen = ÐŸÐ¾Ð³Ð»Ð¸Ð½Ð°Ð½Ð½Ñ Ñ€Ñ–Ð´Ð¸Ð½Ð¸ +ability.liquidregen.description = Поглинає рідину Ð´Ð»Ñ ÑÐ°Ð¼Ð¾Ð»Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ +ability.spawndeath = Смертельне Ð¿Ð¾Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ +ability.spawndeath.description = ВипуÑкає одиниць піÑÐ»Ñ Ñмерті +ability.liquidexplode = Смертельний розлив +ability.liquidexplode.description = Розливає рідину піÑÐ»Ñ Ñмерті +ability.stat.firingrate = [lightgray]ШвидкіÑть Ñтрільби[stat]{0} за Ñек. +ability.stat.regen = Ð’Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð´Ð¾Ñ€Ð¾Ð²'Ñ: [stat]{0} за Ñек. +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [lightgray]Щит: [stat]{0} +ability.stat.repairspeed = [lightgray]ШвидкіÑть відновленнÑ: [stat]{0} за Ñек. +ability.stat.slurpheal = [lightgray]Здоров'Ñ Ð·Ð° одиницю рідини: [stat]{0} +ability.stat.cooldown = [lightgray]ПерезарÑджаннÑ: [stat]{0} за Ñек. +ability.stat.maxtargets = [lightgray]МакÑимум цілей: [white]{0} +ability.stat.sametypehealmultiplier = [lightgray]Однотипне відновленнÑ: [white]{0}% +ability.stat.damagereduction = [lightgray]Ð—Ð¼ÐµÐ½ÑˆÐµÐ½Ð½Ñ ÑˆÐºÐ¾Ð´Ð¸: [stat]{0}% +ability.stat.minspeed = [lightgray]Мінімальна швидкіÑть: [stat]{0} плиток за Ñек. +ability.stat.duration = [lightgray]ТриваліÑть: [stat]{0} за Ñек. +ability.stat.buildtime = [lightgray]Ð§Ð°Ñ Ð¿Ð¾Ð±ÑƒÐ´Ð¾Ð²Ð¸: [stat]{0} за Ñек. + +bar.onlycoredeposit = Передача предметів дозволена лише до Ñдра +bar.drilltierreq = Потрібен ліпший бур +bar.nobatterypower = Insufficieny Battery Power bar.noresources = Бракує реÑурÑів bar.corereq = Ðеобхідне оÑновне Ñдро -bar.drillspeed = ШвидкіÑть буріннÑ: {0} за Ñ. -bar.pumpspeed = ШвидкіÑть викачуваннÑ: {0} за Ñ. +bar.corefloor = Ðеобхідні плитки зони Ñдра +bar.cargounitcap = ДоÑÑгнуто межі одиниць Ð´Ð»Ñ Ð²Ð°Ð½Ñ‚Ð°Ð¶Ñƒ +bar.drillspeed = ШвидкіÑть буріннÑ: {0} за Ñек. +bar.pumpspeed = ШвидкіÑть викачуваннÑ: {0} за Ñек. bar.efficiency = ЕфективніÑть: {0}% -bar.powerbalance = ЕнергіÑ: {0} за Ñ. +bar.boost = ПідÑиленнÑ: +{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = ЕнергіÑ: {0} за Ñек. bar.powerstored = Зберігає: {0}/{1} bar.poweramount = ЕнергіÑ: {0} bar.poweroutput = Вихідна енергіÑ: {0} @@ -696,67 +1105,94 @@ bar.powerlines = З’єднань: {0}/{1} bar.items = Предмети: {0} bar.capacity = МіÑткіÑть: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð°] bar.liquid = Рідина bar.heat = ÐÐ°Ð³Ñ€Ñ–Ð²Ð°Ð½Ð½Ñ +bar.cooldown = Cooldown +bar.instability = ÐеÑтабільніÑть +bar.heatamount = ÐагріваннÑ: {0} +bar.heatpercent = ÐагріваннÑ: {0} ({1}%) bar.power = Ð•Ð½ÐµÑ€Ð³Ñ–Ñ bar.progress = Хід Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ +bar.loadprogress = ÐŸÑ€Ð¾Ð³Ñ€ÐµÑ +bar.launchcooldown = ПерезарÑдка запуÑку bar.input = Ввід bar.output = Вивід +bar.strength = x[stat]{0}[lightgray] Ñила + units.processorcontrol = [lightgray]КеруєтьÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑором + bullet.damage = [stat]{0}[lightgray] шкода bullet.splashdamage = [stat]{0}[lightgray] шкода по ділÑнці ~[stat] {1}[lightgray] плиток bullet.incendiary = [stat]запальний -bullet.sapping = [stat]виÑнажує bullet.homing = [stat]ÑÐ°Ð¼Ð¾Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð½Ñ -bullet.shock = [stat]шок -bullet.frag = [stat]шкода по ділÑнці +bullet.armorpierce = [stat]бронебійніÑть +bullet.maxdamagefraction = [stat]{0}%[lightgray] Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑˆÐºÐ¾Ð´Ð¸ +bullet.suppression = [stat]{0}[lightgray] Ñек. Ð¿Ñ€Ð¸Ð³Ð½Ñ–Ñ‡ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ ~ [stat]{1}[lightgray] плит. +bullet.interval = [stat]{0} за Ñек. [lightgray] період між кулÑми: +bullet.frags = [stat]{0}[lightgray]x шкода по ділÑнці від ÑнарÑдів: +bullet.lightning = [stat]{0}[lightgray]x блиÑкавки ~ [stat]{1}[lightgray] шкоди +bullet.buildingdamage = [stat]{0}%[lightgray] шкода по будівлÑÑ… +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray] Ð²Ñ–Ð´ÐºÐ¸Ð´Ð°Ð½Ð½Ñ bullet.pierce = [stat]{0}[lightgray]x Ð¿Ñ€Ð¾Ð±Ð¸Ñ‚Ñ‚Ñ bullet.infinitepierce = [stat]Ð¿Ñ€Ð¾Ð±Ð¸Ñ‚Ñ‚Ñ bullet.healpercent = [stat]{0}[lightgray]% Ð»Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ -bullet.freezing = [stat]Ð·Ð°Ð¼Ð¾Ñ€Ð¾Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ -bullet.tarred = [stat]дьогтьовий +bullet.healamount = [stat]{0}[lightgray] безпоÑереднього ремонту bullet.multiplier = [stat]{0}[lightgray]x патронів -bullet.reload = [stat]{0}[lightgray]x швидкіÑть перезарÑÐ´Ð¶Ð°Ð½Ð½Ñ +bullet.reload = [stat]{0}%[lightgray] швидкіÑть перезарÑÐ´Ð¶Ð°Ð½Ð½Ñ +bullet.range = [stat]{0}[lightgray] плиток +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles + unit.blocks = блоки unit.blockssquared = блоків² -unit.powersecond = одиниць енергії за Ñекунду -unit.liquidsecond = одиниць рідини за Ñекунду -unit.itemssecond = предметів за Ñекунду +unit.powersecond = одиниць енергії за Ñек. +unit.tilessecond = плиток за Ñек. +unit.liquidsecond = одиниць рідини за Ñек. +unit.itemssecond = предметів за Ñек. unit.liquidunits = одиниць рідини unit.powerunits = одиниць енергії +unit.heatunits = одиниць Ð½Ð°Ð³Ñ€Ñ–Ð²Ð°Ð½Ð½Ñ unit.degrees = град. -unit.seconds = Ñ -unit.minutes = хв -unit.persecond = за Ñекунду -unit.perminute = за хвилину +unit.seconds = Ñек. +unit.minutes = хв. +unit.persecond = за Ñек. +unit.perminute = за хв. unit.timesspeed = x швидкіÑть +unit.multiplier = x unit.percent = % unit.shieldhealth = міцніÑть щита unit.items = предм. unit.thousands = Ñ‚Ð¸Ñ unit.millions = млн unit.billions = млрд +unit.shots = shots +unit.pershot = за поÑтріл category.purpose = ÐŸÑ€Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ category.general = Загальне category.power = Ð•Ð½ÐµÑ€Ð³Ñ–Ñ category.liquids = Рідини category.items = Предмети category.crafting = Виробництво -category.function = Стрільба +category.function = Функціонал category.optional = Додаткові Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = ПропуÑтити запуÑк Ñдра та анімацію Ð¿Ñ€Ð¸Ð·ÐµÐ¼Ð»ÐµÐ½Ð½Ñ setting.landscape.name = Тільки альбомний (горизонтальний) режим setting.shadows.name = Тіні setting.blockreplace.name = ÐŸÑ€Ð¾Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ автоматичної заміни блоків setting.linear.name = Лінійна Ñ„Ñ–Ð»ÑŒÑ‚Ñ€Ð°Ñ†Ñ–Ñ setting.hints.name = Підказки -setting.flow.name = Показувати темп швидкоÑті реÑурÑів -setting.backgroundpause.name = Пауза в разі згортанні +setting.logichints.name = Підказки під Ñ‡Ð°Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ з логікою +setting.backgroundpause.name = Пауза в разі Ð·Ð³Ð¾Ñ€Ñ‚Ð°Ð½Ð½Ñ setting.buildautopause.name = Ðвтоматичне Ð¿Ñ€Ð¸Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ð½Ñ Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ +setting.doubletapmine.name = Подвійне швидке натиÑÐºÐ°Ð½Ð½Ñ Ð´Ð»Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ видобутку +setting.commandmodehold.name = Утримуйте Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ñƒ в режим ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ +setting.distinctcontrolgroups.name = Обмежити одну групу контролю на одиницю +setting.modcrashdisable.name = Вимикати модифікації піÑÐ»Ñ Ð°Ð²Ð°Ñ€Ñ–Ð¹Ð½Ð¾Ð³Ð¾ запуÑку setting.animatedwater.name = Ðнімаційні рідини setting.animatedshields.name = Ðнімаційні щити -setting.antialias.name = ЗгладжуваннÑ[lightgray] (потребує перезапуÑку)[] setting.playerindicators.name = Позначки гравців setting.indicators.name = Позначки противників setting.autotarget.name = ÐвтоÑтрільба @@ -765,15 +1201,12 @@ setting.touchscreen.name = ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ ÑенÑорним екраном setting.fpscap.name = МакÑимальний FPS setting.fpscap.none = Жодне setting.fpscap.text = {0} FPS -setting.uiscale.name = МаÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького інтерфейÑу[lightgray] (потребує перезапуÑку)[] +setting.uiscale.name = МаÑÑˆÑ‚Ð°Ð±ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувацького інтерфейÑу +setting.uiscale.description = Потрібен перезапуÑк Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½. setting.swapdiagonal.name = Завжди діагональне Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ -setting.difficulty.training = ÐÐ°Ð²Ñ‡Ð°Ð½Ð½Ñ -setting.difficulty.easy = Легка -setting.difficulty.normal = Ðормальна -setting.difficulty.hard = Важка -setting.difficulty.insane = Ðеможлива -setting.difficulty.name = СкладніÑть: setting.screenshake.name = ТрÑÑка екрану +setting.bloomintensity.name = ІнтенÑивніÑть ÑÐ²Ñ–Ñ‚Ñ–Ð½Ð½Ñ +setting.bloomblur.name = Ð Ð¾Ð·Ð¼Ð¸Ñ‚Ñ‚Ñ ÑÐ²Ñ–Ñ‚Ñ–Ð½Ð½Ñ setting.effects.name = Ефекти setting.destroyedblocks.name = Показувати зруйновані блоки setting.blockstatus.name = Показувати Ñтан блоку @@ -783,43 +1216,52 @@ setting.saveinterval.name = Інтервал Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð½Ñ setting.seconds = {0} Ñекунд setting.milliseconds = {0} міліÑекунд setting.fullscreen.name = Повноекранний режим -setting.borderlesswindow.name = Вікно без полів[lightgray] (може потребувати перезапуÑку) +setting.borderlesswindow.name = Безрамкове вікно +setting.borderlesswindow.name.windows = Повне безрамкове вікно +setting.borderlesswindow.description = Можливо, потрібен перезапуÑк Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½. setting.fps.name = Показувати FPS Ñ– затримку до Ñервера +setting.console.name = Увімкнути конÑоль setting.smoothcamera.name = Гладка камера setting.vsync.name = Вертикальна ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ setting.pixelate.name = ПікÑÐµÐ»Ñ–Ð·Ð°Ñ†Ñ–Ñ setting.minimap.name = Показувати мінімапу setting.coreitems.name = Показувати предмети в Ñдрі setting.position.name = Показувати координати Ð³Ñ€Ð°Ð²Ñ†Ñ +setting.mouseposition.name = Показувати координати курÑора setting.musicvol.name = ГучніÑть музики setting.atmosphere.name = Показувати планетарну атмоÑферу +setting.drawlight.name = Малювати темрÑву/Ñвітло setting.ambientvol.name = Звуки Ð´Ð¾Ð²ÐºÑ–Ð»Ð»Ñ setting.mutemusic.name = Заглушити музику setting.sfxvol.name = ГучніÑть звукових ефектів setting.mutesound.name = Заглушити звук setting.crashreport.name = ВідÑилати анонімні звіти про аварійне Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð³Ñ€Ð¸ +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = Ðвтоматичне ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½ÑŒ -setting.publichost.name = ЗагальнодоÑтупніÑть гри +setting.steampublichost.name = ЗагальнодоÑтупніÑть гри setting.playerlimit.name = ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð³Ñ€Ð°Ð²Ñ†Ñ–Ð² setting.chatopacity.name = ÐепрозоріÑть чату setting.lasersopacity.name = ÐепрозоріÑть лазерів енергопоÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = ÐепрозоріÑть моÑтів setting.playerchat.name = Показувати хмару чата над гравцÑми -public.confirm = Ви хочете зробити цю гру загальнодоÑтупною?\n[accent]Будь-хто може приєднатиÑÑ Ð´Ð¾ вашої гри.\n[lightgray]Це можна змінити в ÐалаштуваннÑ->Гра->ЗагальнодоÑтупніÑть гри. +setting.showweather.name = Показувати погоду +setting.hidedisplays.name = Приховувати логічні диÑплеї +setting.macnotch.name = Ðдаптуйте Ñ–Ð½Ñ‚ÐµÑ€Ñ„ÐµÐ¹Ñ Ð´Ð»Ñ Ð¿Ð¾ÐºÐ°Ð·Ñƒ виїмки +setting.macnotch.description = Потрібен перезапуÑк Ð´Ð»Ñ Ð·Ð°ÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð¼Ñ–Ð½ +steam.friendsonly = Лише друзі +steam.friendsonly.tooltip = Чи лише друзі Steam зможуть приєднатиÑÑ Ð´Ð¾ вашої гри.Якщо знÑти цей прапорець, ваша гра Ñтане загальнодоÑтупною – будь-хто зможе приєднатиÑÑ. public.beta = Зауважте, що в бета-верÑÑ–Ñ— гри ви не можете робити публічні ігри. uiscale.reset = МаÑштаб кориÑтувацького інтерфейÑу було змінено.\nÐатиÑніть «Гаразд» Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ñ†ÑŒÐ¾Ð³Ð¾ маÑштабу.\n[scarlet]ÐŸÐ¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½ÑŒ Ñ– вихід через[accent] {0}[] Ñекунд… -uiscale.cancel = СкаÑувати Ñ– вийти +uiscale.cancel = СкаÑувати й вийти setting.bloom.name = Ð¡Ð²Ñ–Ñ‚Ñ–Ð½Ð½Ñ keybind.title = ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ keybinds.mobile = [scarlet]БільшіÑть прив’Ñзаних клавіш не функціональні Ð´Ð»Ñ Ð¼Ð¾Ð±Ñ–Ð»ÑŒÐ½Ð¸Ñ… приÑтроїв. ПідтримуєтьÑÑ Ð»Ð¸ÑˆÐµ базовий рух. category.general.name = Загальне category.view.name = ПереглÑд +category.command.name = Командувати одиницею category.multiplayer.name = Мережева гра category.blocks.name = Вибір блока -command.attack = Ðтака -command.rally = Точка збору -command.retreat = ВідÑтупити -command.idle = БездіÑльніÑть placement.blockselectkeys = \n[lightgray]Клавіші: [{0}, keybind.respawn.name = Ð’Ñ–Ð´Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ keybind.control.name = ÐšÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ– @@ -834,6 +1276,27 @@ keybind.move_y.name = Рух за віÑÑÑŽ Y keybind.mouse_move.name = РухатиÑÑ Ð·Ð° мишею keybind.pan.name = Політ камери за мишею keybind.boost.name = ПриÑÐºÐ¾Ñ€ÐµÐ½Ð½Ñ +keybind.command_mode.name = Режим ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ +keybind.command_queue.name = Черга команд одиниць +keybind.create_control_group.name = Створити контрольну групу +keybind.cancel_orders.name = СкаÑувати накази +keybind.unit_stance_shoot.name = ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ–: відкрити воонь +keybind.unit_stance_hold_fire.name = ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ–: припинити вогонь +keybind.unit_stance_pursue_target.name = ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ–: переÑлідувати ціль +keybind.unit_stance_patrol.name = ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ–: патрулювати +keybind.unit_stance_ram.name = ÐŸÐ¾Ð·Ð¸Ñ†Ñ–Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ–: на таран +keybind.unit_command_move.name = Unit Command: Move +keybind.unit_command_repair.name = Unit Command: Repair +keybind.unit_command_rebuild.name = Unit Command: Rebuild +keybind.unit_command_assist.name = Unit Command: Assist +keybind.unit_command_mine.name = Unit Command: Mine +keybind.unit_command_boost.name = Unit Command: Boost +keybind.unit_command_load_units.name = Unit Command: Load Units +keybind.unit_command_load_blocks.name = Unit Command: Load Blocks +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Команда одиниці: завантажити вантаж +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = Відбудувати регіон keybind.schematic_select.name = Вибрати ділÑнку keybind.schematic_menu.name = Меню Ñхем keybind.schematic_flip_x.name = Віддзеркалити за віÑÑÑŽ X @@ -859,10 +1322,11 @@ keybind.select.name = Вибір/ПоÑтріл keybind.diagonal_placement.name = Діагональне Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ keybind.pick.name = Вибрати блок keybind.break_block.name = Зламати блок +keybind.select_all_units.name = Вибрати вÑÑ– одиниці +keybind.select_all_unit_factories.name = Вибрати вÑÑ– заводи одиниць keybind.deselect.name = СкаÑувати keybind.pickupCargo.name = ВзÑти вантаж keybind.dropCargo.name = Скинути вантаж -keybind.command.name = ВзÑти ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð´ одиницÑми keybind.shoot.name = ПоÑтріл keybind.zoom.name = Ðаблизити keybind.menu.name = Меню @@ -871,6 +1335,7 @@ keybind.pause_building.name = Призупинити/продовжити буд keybind.minimap.name = Мінімапа keybind.planet_map.name = Планетна мапа keybind.research.name = ДоÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ +keybind.block_info.name = Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ блок keybind.chat.name = Чат keybind.player_list.name = СпиÑок гравців keybind.console.name = КонÑоль @@ -880,6 +1345,7 @@ keybind.toggle_menus.name = Меню Ð¿ÐµÑ€ÐµÐ¼Ð¸ÐºÐ°Ð½Ð½Ñ keybind.chat_history_prev.name = ÐŸÐ¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ñ‡Ð°Ñ‚Ñƒ keybind.chat_history_next.name = ÐаÑтупна Ñ–ÑÑ‚Ð¾Ñ€Ñ–Ñ Ñ‡Ð°Ñ‚Ñƒ keybind.chat_scroll.name = Прокрутка чату +keybind.chat_mode.name = Змінити режим чату keybind.drop_unit.name = Скинути бойову одиницю keybind.zoom_minimap.name = Збільшити мінімапу mode.help.title = ÐžÐ¿Ð¸Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ñ–Ð² гри @@ -888,51 +1354,107 @@ mode.survival.description = Звичайний режим. У цьому реж mode.sandbox.name = ПіÑÐ¾Ñ‡Ð½Ð¸Ñ†Ñ mode.sandbox.description = ÐеÑкінченні реÑурÑи та хвилі йдуть за вашим бажаннÑм. mode.editor.name = Редактор -mode.pvp.name = PVP +mode.pvp.name = ГПГ mode.pvp.description = БорітьÑÑ Ð¿Ñ€Ð¾Ñ‚Ð¸ інших гравців.\n[gray]Ð”Ð»Ñ Ð³Ñ€Ð¸ потрібно принаймні 2 Ñдра різного кольору на мапі. -mode.attack.name = Ðтака +mode.attack.name = ÐаÑтуп mode.attack.description = Зруйнуйте ворожу базу. \n[gray]Потрібно червоне Ñдро на мапі Ð´Ð»Ñ Ð³Ñ€Ð¸. mode.custom = КориÑтувацькі правила +rules.invaliddata = ÐедійÑні дані з клавіатури. +rules.hidebannedblocks = Приховати заборонені блоки + rules.infiniteresources = ÐеÑкінченні реÑурÑи +rules.onlydepositcore = Дозволити лише оÑновне Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñдер +rules.derelictrepair = Дозволити Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² Переможених rules.reactorexplosions = Вибухи реактора +rules.coreincinerates = Ядро Ñпалює надлишкові предмети +rules.disableworldprocessors = Вимкнути Ñвітові процеÑори rules.schematic = ВикориÑÑ‚Ð°Ð½Ð½Ñ Ñхем дозволено rules.wavetimer = Таймер Ð´Ð»Ñ Ñ…Ð²Ð¸Ð»ÑŒ +rules.wavesending = Ручне надÑÐ¸Ð»Ð°Ð½Ð½Ñ Ñ…Ð²Ð¸Ð»ÑŒ +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = Хвилі +rules.airUseSpawns = Air units use spawn points rules.attack = Режим атаки -rules.buildai = Ð‘ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¨Ð† +rules.buildai = Базовий ШІ-будівельник +rules.buildaitier = Рівень ШІ-будівельника +rules.rtsai = ШІ зі Ñтратегій реального чаÑу +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = Мінімальний розмір загону +rules.rtsmaxsquadsize = МакÑимальний розмір загону +rules.rtsminattackweight = Мінімальна ударна вага +rules.cleanupdeadteams = ОчиÑтити будівлі переможеної команди (ГПГ) +rules.corecapture = Ð—Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ Ñдра піÑÐ»Ñ Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ +rules.polygoncoreprotection = Полігональний захиÑÑ‚ Ñдер +rules.placerangecheck = Перевірка діапазону Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ rules.enemyCheat = ÐеÑкінченні реÑурÑи Ð´Ð»Ñ Ñ‡ÐµÑ€Ð²Ð¾Ð½Ð¾Ñ— команди ШІ rules.blockhealthmultiplier = Множник Ð·Ð´Ð¾Ñ€Ð¾Ð²â€™Ñ Ð±Ð»Ð¾ÐºÑ–Ð² rules.blockdamagemultiplier = Множник шкоди блоків rules.unitbuildspeedmultiplier = Множник швидкоÑті виробництва бойових одиниць +rules.unitcostmultiplier = Множник вартоÑті одиниць rules.unithealthmultiplier = Множник Ð·Ð´Ð¾Ñ€Ð¾Ð²â€™Ñ Ð±Ð¾Ð¹Ð¾Ð²Ð¸Ñ… одиниць rules.unitdamagemultiplier = Множник шкоди бойових одиниць +rules.unitcrashdamagemultiplier = Множник шкоди одиниці при зіткненні одиниць +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = Множник ÑонÑчної енергії +rules.unitcapvariable = Ядра збільшують Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð½Ð° кількіÑть одиниць +rules.unitpayloadsexplode = Carried Payloads Explode With The Unit +rules.unitcap = Початкове Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ +rules.limitarea = Обмежити територію мапи rules.enemycorebuildradius = Ð Ð°Ð´Ñ–ÑƒÑ Ð¾Ð±Ð¾Ñ€Ð¾Ð½Ð¸ Ð´Ð»Ñ Ð²Ð¾Ñ€Ð¾Ð¶Ð¾Ð³Ð¾ Ñдра:[lightgray] (плитки) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = Інтервал хвиль:[lightgray] (Ñекунди) +rules.initialwavespacing = Початковий інтервал хвиль:[lightgray] (Ñекунди) rules.buildcostmultiplier = Множник затрат на Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ rules.buildspeedmultiplier = Множник швидкоÑті Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ rules.deconstructrefundmultiplier = Множник Ð²Ñ–Ð´ÑˆÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð² разі демонтажу rules.waitForWaveToEnd = Хвилі чекають на Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ñ— -rules.dropzoneradius = Ð Ð°Ð´Ñ–ÑƒÑ Ð·Ð¾Ð½Ð¸ виÑадки:[lightgray] (у плитках) +rules.wavelimit = Мапа закінчуєтьÑÑ Ð¿Ñ–ÑÐ»Ñ Ñ…Ð²Ð¸Ð»Ñ– +rules.dropzoneradius = Ð Ð°Ð´Ñ–ÑƒÑ Ð·Ð¾Ð½Ð¸ виÑадки:[lightgray] (плитки) rules.unitammo = Бойові одиниці потребують боєприпаÑів +rules.enemyteam = Ворожа команда +rules.playerteam = Команда Ð³Ñ€Ð°Ð²Ñ†Ñ rules.title.waves = Хвилі rules.title.resourcesbuilding = РеÑурÑи й Ð±ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ rules.title.enemy = Противники rules.title.unit = Бойові одиниці rules.title.experimental = ЕкÑпериментальне rules.title.environment = Середовище +rules.title.teams = Команди +rules.title.planet = Планета rules.lighting = Світлотінь -rules.enemyLights = Ворожі вогні +rules.fog = Туман війни +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = Вогонь +rules.anyenv = <Будь-Ñка> rules.explosions = Шкода від вибухів блоків Ñ– одиниць rules.ambientlight = Ðавколишнє Ñвітло rules.weather = Погода rules.weather.frequency = ПовторюваніÑть: +rules.weather.always = Завжди rules.weather.duration = ТриваліÑть: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. + content.item.name = Предмети content.liquid.name = Рідини content.unit.name = Бойові одиниці content.block.name = Блоки -content.sector.name = Cектори +content.status.name = Ефекти Ñтану +content.sector.name = Сектори +content.team.name = Фракції + +wallore = (Стіна) + item.copper.name = Мідь item.lead.name = Свинець item.coal.name = Ð’ÑƒÐ³Ñ–Ð»Ð»Ñ @@ -949,10 +1471,25 @@ item.blast-compound.name = Вибухова Ñуміш item.pyratite.name = Пиротит item.metaglass.name = МетаÑкло item.scrap.name = Брухт +item.fissile-matter.name = Розщеплюваний матеріал +item.beryllium.name = Берилій +item.tungsten.name = Вольфрам +item.oxide.name = ОкÑид +item.carbide.name = Карбід +item.dormant-cyst.name = СплÑча кіÑта + liquid.water.name = Вода liquid.slag.name = Шлак liquid.oil.name = Ðафта liquid.cryofluid.name = Кріогенна рідина +liquid.neoplasm.name = Ðеоплазма +liquid.arkycite.name = Ðркицит +liquid.gallium.name = Галій +liquid.ozone.name = Озон +liquid.hydrogen.name = Водень +liquid.nitrogen.name = Ðзот +liquid.cyanogen.name = Ціан + unit.dagger.name = Кинджал unit.mace.name = Булава unit.fortress.name = Ð¤Ð¾Ñ€Ñ‚ÐµÑ†Ñ @@ -964,7 +1501,7 @@ unit.atrax.name = ÐÑ‚Ñ€Ð°ÐºÑ unit.spiroct.name = Павучник unit.arkyid.name = Ðркиїд unit.toxopid.name = Отруйник -unit.flare.name = Фальшфейєр +unit.flare.name = Спалах unit.horizon.name = Горизонт unit.zenith.name = Зеніт unit.antumbra.name = Тіньовик @@ -979,20 +1516,49 @@ unit.minke.name = Смугач unit.bryde.name = Брайд unit.sei.name = Сейвал unit.omura.name = Омура +unit.retusa.name = Ретуза +unit.oxynoe.name = ОкÑÐ¸Ð½Ð¾Ñ +unit.cyerce.name = Ð¡Ð°Ñ”Ñ +unit.aegires.name = Ð•Ò‘Ñ–Ñ€ÐµÑ +unit.navanax.name = ÐÐ°Ð²Ð°Ð½Ð°ÐºÑ unit.alpha.name = Ðльфа unit.beta.name = Бета unit.gamma.name = Гамма -unit.scepter.name = Верховна влада +unit.scepter.name = Скіпетр unit.reign.name = Верховний ПорÑдок unit.vela.name = ПульÑар Вітрил -unit.corvus.name = Ворон -block.resupply-point.name = Пункт поÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ +unit.corvus.name = Òава + +unit.stell.name = Стел +unit.locus.name = Ð›Ð¾ÐºÑƒÑ +unit.precept.name = Повчальник +unit.vanquish.name = Переможець +unit.conquer.name = Завойовник +unit.merui.name = Меруй +unit.cleroi.name = Клерой +unit.anthicus.name = ÐÐ½Ñ‚Ñ–ÐºÑƒÑ +unit.tecta.name = Текта +unit.collaris.name = ÐšÐ¾Ð»Ð°Ñ€Ñ–Ñ +unit.elude.name = УхилÑч +unit.avert.name = Запобігач +unit.obviate.name = Уникач +unit.quell.name = Придушувач +unit.disrupt.name = Розривник +unit.evoke.name = Провокатор +unit.incite.name = Підбурювач +unit.emanate.name = Випромінювач +unit.manifold.name = Колектор +unit.assembly-drone.name = Монтажний дрон +unit.latum.name = Латум +unit.renale.name = Реналь + block.parallax.name = ÐŸÐ°Ñ€Ð°Ð»Ð°ÐºÑ block.cliff.name = Ð¡ÐºÐµÐ»Ñ -block.sand-boulder.name = ПіÑочний валун -block.basalt-boulder.name = Базальтовий валун +block.sand-boulder.name = ПіÑочна брила +block.basalt-boulder.name = Базальтова брила block.grass.name = Трава -block.slag.name = Шлак +block.molten-slag.name = Шлак +block.pooled-cryofluid.name = Кріогенна рідина block.space.name = КоÑÐ¼Ð¾Ñ block.salt.name = Сіль block.salt-wall.name = СолÑна Ñтіна @@ -1005,7 +1571,7 @@ block.boulder.name = Брила block.snow-boulder.name = Снігова брила block.snow-pine.name = Сніжні ÑоÑни block.shale.name = Сланець -block.shale-boulder.name = Сланцевий валун +block.shale-boulder.name = Сланцева брила block.moss.name = Мох block.shrubs.name = Кущі block.spore-moss.name = Споровий мох @@ -1020,26 +1586,30 @@ block.graphite-press.name = Графітний Ð¿Ñ€ÐµÑ block.multi-press.name = ÐœÑƒÐ»ÑŒÑ‚Ð¸Ð¿Ñ€ÐµÑ block.constructing = {0}\n[lightgray](У процеÑÑ–) block.spawn.name = МіÑце поÑви противника +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = Ядро «Уламок» block.core-foundation.name = Ядро «Штаб» block.core-nucleus.name = Ядро «Ðтом» -block.deepwater.name = Ð“Ð»Ð¸Ð±Ð¾ÐºÐ¾Ð²Ð¾Ð´Ð´Ñ -block.water.name = Вода +block.deep-water.name = Ð“Ð»Ð¸Ð±Ð¾ÐºÐ¾Ð²Ð¾Ð´Ð´Ñ +block.shallow-water.name = Вода block.tainted-water.name = Забруднена вода +block.deep-tainted-water.name = Забруднене Ð³Ð»Ð¸Ð±Ð¾ÐºÐ¾Ð²Ð¾Ð´Ð´Ñ block.darksand-tainted-water.name = Темний піÑок із забрудненою водою block.tar.name = Дьоготь block.stone.name = Камінь -block.sand.name = ПіÑок +block.sand-floor.name = ПіÑок block.darksand.name = Темний піÑок block.ice.name = Лід block.snow.name = Сніг -block.craters.name = Кратери +block.crater-stone.name = Кратери block.sand-water.name = ПіÑок із водою block.darksand-water.name = Темний піÑок із водою block.char.name = Випалена Ð·ÐµÐ¼Ð»Ñ block.dacite.name = Дацит +block.rhyolite.name = Риоліт block.dacite-wall.name = Дацитова Ñтіна -block.dacite-boulder.name = Дацитовий валун +block.dacite-boulder.name = Дацитова брила block.ice-snow.name = Крижаний Ñніг block.stone-wall.name = Кам’Ñна Ñтіна block.ice-wall.name = Крижана Ñтіна @@ -1052,11 +1622,12 @@ block.mud.name = Багно block.white-tree-dead.name = Мертве біле дерево block.white-tree.name = Біле дерево block.spore-cluster.name = Ð¡ÐºÑƒÐ¿Ñ‡ÐµÐ½Ð½Ñ Ñпор -block.metal-floor.name = Металева підлога 1 -block.metal-floor-2.name = Металева підлога 2 -block.metal-floor-3.name = Металева підлога 3 -block.metal-floor-5.name = Металева підлога 4 -block.metal-floor-damaged.name = Пошкоджена металева підлога +block.metal-floor.name = Металева Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ 1 +block.metal-floor-2.name = Металева Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ 2 +block.metal-floor-3.name = Металева Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ 3 +block.metal-floor-4.name = Металева Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ 4 +block.metal-floor-5.name = Металева Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ 5 +block.metal-floor-damaged.name = Пошкоджена металева Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ block.dark-panel-1.name = Темна панель 1 block.dark-panel-2.name = Темна панель 2 block.dark-panel-3.name = Темна панель 3 @@ -1092,8 +1663,11 @@ block.junction.name = ПерехреÑÑ‚Ñ block.router.name = Маршрутизатор block.distributor.name = Розподілювач block.sorter.name = Сортувальник -block.inverted-sorter.name = Зворотній Ñортувальник +block.inverted-sorter.name = Зворотний Ñортувальник block.message.name = ÐŸÐ¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ +block.reinforced-message.name = ПоÑилене Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ +block.world-message.name = Світове Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ +block.world-switch.name = World Switch block.illuminator.name = ОÑвітлювач block.overflow-gate.name = Ðадмірний затвор block.underflow-gate.name = ÐедоÑтатній затвор @@ -1119,7 +1693,7 @@ block.impact-reactor.name = ІмпульÑний реактор block.mechanical-drill.name = Механічний бур block.pneumatic-drill.name = Пневматичний бур block.laser-drill.name = Лазерний бур -block.water-extractor.name = КонденÑатор води +block.water-extractor.name = ЕкÑтрактор води block.cultivator.name = Культиватор block.conduit.name = Трубопровід block.mechanical-pump.name = Механічна помпа @@ -1145,20 +1719,22 @@ block.solar-panel.name = СонÑчна панель block.solar-panel-large.name = Велика ÑонÑчна панель block.oil-extractor.name = ЕкÑтрактор нафти block.repair-point.name = Ремонтний пункт +block.repair-turret.name = Ремонтна башта block.pulse-conduit.name = ІмпульÑний трубопровід block.plated-conduit.name = Зміцнений трубопровід block.phase-conduit.name = Фазовий трубопровід block.liquid-router.name = Рідинний маршрутизатор block.liquid-tank.name = Рідинний резервуар +block.liquid-container.name = Рідинний контейнер block.liquid-junction.name = Рідинне перехреÑÑ‚Ñ block.bridge-conduit.name = МоÑтовий трубопровід -block.rotary-pump.name = Роторний наÑÐ¾Ñ +block.rotary-pump.name = Роторна помпа block.thorium-reactor.name = Торієвий реактор block.mass-driver.name = Електромагнітна катапульта block.blast-drill.name = Бурова уÑтановка -block.thermal-pump.name = Тепловий наÑÐ¾Ñ +block.impulse-pump.name = Теплова помпа block.thermal-generator.name = Теплогенератор -block.alloy-smelter.name = Сплавовий завод +block.surge-smelter.name = Сплавовий завод block.mender.name = Ремонтник block.mend-projector.name = Великий ремонтник block.surge-wall.name = Кінетична Ñтіна @@ -1175,9 +1751,9 @@ block.meltdown.name = Розплавлювач block.foreshadow.name = ПередвіÑник block.container.name = Сховище block.launch-pad.name = ПуÑковий майданчик -block.launch-pad-large.name = Великий пуÑковий майданчик +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = Сегмент -block.command-center.name = Командний центр block.ground-factory.name = Ðаземний завод block.air-factory.name = ПовітрÑний завод block.naval-factory.name = МорÑький завод @@ -1187,13 +1763,182 @@ block.exponential-reconstructor.name = ЕкÑпоненційний Ñ€ÐµÐºÐ¾Ð½Ñ block.tetrative-reconstructor.name = Тетративний реконÑтруктор block.payload-conveyor.name = Вантажний конвеєр block.payload-router.name = Розвантажувальний маршрутизатор +block.duct.name = Канал +block.duct-router.name = Канальний маршрутизатор +block.duct-bridge.name = Канальний міÑÑ‚ +block.large-payload-mass-driver.name = Велика вантажна катапульта +block.payload-void.name = Вантажний вакуум +block.payload-source.name = Вантажне джерело block.disassembler.name = Розбирач block.silicon-crucible.name = Кремнієвий тигель block.overdrive-dome.name = Великий приÑкорювач -block.block-forge.name = Блок-ÐºÑƒÐ·Ð½Ñ -block.block-loader.name = Блок-завантажувач -block.block-unloader.name = Блок-вивантажувач block.interplanetary-accelerator.name = Міжпланетний приÑкорювач +block.constructor.name = КонÑтруктор +block.constructor.description = ÐнглійÑька назва: Constructor\nЗбирає Ñпоруди. ДоÑтупні розміри Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ: 1x1, 2x2. +block.large-constructor.name = Великий конÑтруктор +block.large-constructor.description = ÐнглійÑька назва: Large Constructor\nЗбирає Ñпоруди. ДоÑтупні розміри Ð´Ð»Ñ Ð·Ð±Ð¸Ñ€Ð°Ð½Ð½Ñ: 1x1, 2x2, 3x3 та 4x4. +block.deconstructor.name = ДеконÑтруктор +block.deconstructor.description = ÐнглійÑька назва: Deconstructor\nДеконÑтруює Ñпоруди та одиниці. Повертає 100% вартоÑті збірки. +block.payload-loader.name = Вантажний завантажувач +block.payload-loader.description = ÐнглійÑька назва: Payload Loader\nЗавантажує рідини та предмети в блоки. +block.payload-unloader.name = Вантажний розвантажувач +block.payload-unloader.description = ÐнглійÑька назва: Payload Unloader\nРозвантажує рідини та предмети з блоків. +block.heat-source.name = Джерело тепла +block.heat-source.description = ÐнглійÑька назва: Heat Source\nБлок, що неÑкінченно вироблÑÑ” тепло. + +#Erekir +block.empty.name = Порожнеча +block.rhyolite-crater.name = Кратер ліпариту +block.rough-rhyolite.name = Грубий ліпарит +block.regolith.name = Реголіт +block.yellow-stone.name = Жовтий камінь +block.carbon-stone.name = Вуглецевий камінь +block.ferric-stone.name = Залізний камінь +block.ferric-craters.name = Залізні кратери +block.beryllic-stone.name = Берилієвий камінь +block.crystalline-stone.name = КриÑтальний камінь +block.crystal-floor.name = КриÑтальна Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ +block.yellow-stone-plates.name = Жовті кам’Ñні плити +block.red-stone.name = Червоний камінь +block.dense-red-stone.name = Щільний червоний камінь +block.red-ice.name = Червоний лід +block.arkycite-floor.name = Ðркицитова Ð¿Ð¾Ð²ÐµÑ€Ñ…Ð½Ñ +block.arkyic-stone.name = Ðркицитовий камінь +block.rhyolite-vent.name = Ліпаритове джерело +block.carbon-vent.name = Вуглецеве джерело +block.arkyic-vent.name = Ðркицитове джерело +block.yellow-stone-vent.name = Жовте кам’Ñне джерело +block.red-stone-vent.name = Червоне кам’Ñне джерело +block.crystalline-vent.name = КриÑталічне джерело +block.redmat.name = Редмат +block.bluemat.name = Блюмат +block.core-zone.name = Зона Ñдра +block.regolith-wall.name = Реголітова Ñтіна +block.yellow-stone-wall.name = Жовта кам’Ñна Ñтіна +block.rhyolite-wall.name = Ліпаритова Ñтіна +block.carbon-wall.name = Вуглецева Ñтіна +block.ferric-stone-wall.name = Залізно-кам’Ñна Ñтіна +block.beryllic-stone-wall.name = Берилієва кам’Ñна Ñтіна +block.arkyic-wall.name = Ðркицитова Ñтіна +block.crystalline-stone-wall.name = КриÑталічна кам’Ñна Ñтіна +block.red-ice-wall.name = Червона льодова Ñтіна +block.red-stone-wall.name = Червона кам’Ñна Ñтіна +block.red-diamond-wall.name = Червона діамантова Ñтіна +block.redweed.name = Червоний бур’Ñн +block.pur-bush.name = МорÑький кущ +block.yellowcoral.name = Жовтий корал +block.carbon-boulder.name = Вуглецева брила +block.ferric-boulder.name = Залізна брила +block.beryllic-boulder.name = Берилієва брила +block.yellow-stone-boulder.name = Жовта кам’Ñна брила +block.arkyic-boulder.name = Ðркицитова брила +block.crystal-cluster.name = Кришталевий клаÑтер +block.vibrant-crystal-cluster.name = ЯÑкравий кришталевий клаÑтер +block.crystal-blocks.name = Кришталеві блоки +block.crystal-orbs.name = Кришталеві Ñфери +block.crystalline-boulder.name = КриÑталічна брила +block.red-ice-boulder.name = Червона льодÑна брила +block.rhyolite-boulder.name = Ліпаритовий брила +block.red-stone-boulder.name = Червона кам’Ñна брила +block.graphitic-wall.name = Графітна Ñтіна +block.silicon-arc-furnace.name = Кремнієва дугова піч +block.electrolyzer.name = Електролізер +block.atmospheric-concentrator.name = ÐтмоÑферний концентратор +block.oxidation-chamber.name = ОкиÑлювальна камера +block.electric-heater.name = Електричний нагрівач +block.slag-heater.name = Шлаковий нагрівач +block.phase-heater.name = Фазовий нагрівач +block.heat-redirector.name = ПеренаправлÑч тепла +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = Тепловий маршрутизатор +block.slag-incinerator.name = Шлаковий ÑміттєÑпалювальний завод +block.carbide-crucible.name = Карбідний тигель +block.slag-centrifuge.name = Шлакова центрифуга +block.surge-crucible.name = Кінетичний тигель +block.cyanogen-synthesizer.name = Ціановий Ñинтезатор +block.phase-synthesizer.name = Фазовий Ñинтезатор +block.heat-reactor.name = Тепловий реактор +block.beryllium-wall.name = Берилієва Ñтіна +block.beryllium-wall-large.name = Велика берилієва Ñтіна +block.tungsten-wall.name = Вольфрамова Ñтіна +block.tungsten-wall-large.name = Велика вольфрамова Ñтіна +block.blast-door.name = ПоÑилені двері +block.carbide-wall.name = Карбідна Ñтіна +block.carbide-wall-large.name = Велика карбідна Ñтіна +block.reinforced-surge-wall.name = ПоÑилена кінетична Ñтіна +block.reinforced-surge-wall-large.name = Велика поÑилена кінетична Ñтіна +block.shielded-wall.name = Щитова Ñтіна +block.radar.name = Радар +block.build-tower.name = Будівельна вежа +block.regen-projector.name = Відновлювальний проєктор +block.shockwave-tower.name = Башта ударної хвилі +block.shield-projector.name = Щитовий проєктор +block.large-shield-projector.name = Великий щитовий проєктор +block.armored-duct.name = Броньований канал +block.overflow-duct.name = Ðадмірний канальний затвор +block.underflow-duct.name = ÐедоÑтатній канальний затвор +block.duct-unloader.name = Канальний розвантажувач +block.surge-conveyor.name = Кінетичний конвеєр +block.surge-router.name = Кінетичний маршрутизатор +block.unit-cargo-loader.name = Завантажувальна точка Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ +block.unit-cargo-unload-point.name = Розвантажувальна точка Ð´Ð»Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ +block.reinforced-pump.name = ПоÑилена помпа +block.reinforced-conduit.name = ПоÑилений трубопровід +block.reinforced-liquid-junction.name = ПоÑилене рідинне перехреÑÑ‚Ñ +block.reinforced-bridge-conduit.name = ПоÑилений моÑтовий трубопровід +block.reinforced-liquid-router.name = ПоÑилений рідинний маршрутизатор +block.reinforced-liquid-container.name = ПоÑилений рідинний контейнер +block.reinforced-liquid-tank.name = ПоÑилений рідинний резервуар +block.beam-node.name = Променевий вузол +block.beam-tower.name = Променева вежа +block.beam-link.name = Променевий з’єднувач +block.turbine-condenser.name = Турбінний конденÑатор +block.chemical-combustion-chamber.name = Камера хімічного згорÑÐ½Ð½Ñ +block.pyrolysis-generator.name = Пиролізовий генератор +block.vent-condenser.name = Джерельний конденÑатор +block.cliff-crusher.name = Дробарка Ñкель +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = Плазмовий бурильник +block.large-plasma-bore.name = Великий плазмовий бурильник +block.impact-drill.name = ІмпульÑний бур +block.eruption-drill.name = Вивергальний бур +block.core-bastion.name = Ядро «БаÑтіон» +block.core-citadel.name = Ядро «Цитадель» +block.core-acropolis.name = Ядро «Ðкрополь» +block.reinforced-container.name = ПоÑилене Ñховище +block.reinforced-vault.name = ПоÑилений Ñклад +block.breach.name = Прорив +block.sublimate.name = Ð¡ÑƒÐ±Ð»Ñ–Ð¼Ð°Ñ†Ñ–Ñ +block.titan.name = Титан +block.disperse.name = Розпорошувач +block.afflict.name = Уражач +block.lustre.name = БлиÑк +block.scathe.name = Знищувач +block.tank-refabricator.name = Танковий перебудовний завод +block.mech-refabricator.name = Меховий перебудовний завод +block.ship-refabricator.name = Корабельний перебудовний завод +block.tank-assembler.name = Танковий збирач +block.ship-assembler.name = Корабельний збирач +block.mech-assembler.name = Меховий збирач +block.reinforced-payload-conveyor.name = ПоÑилений вантажний конвеєр +block.reinforced-payload-router.name = ПоÑилений вантажний маршрутизатор +block.payload-mass-driver.name = Вантажна катапульта +block.small-deconstructor.name = Малий деконÑтруктор +block.canvas.name = Полотно +block.world-processor.name = Світовий процеÑор +block.world-cell.name = Світова комірка пам’Ñті +block.tank-fabricator.name = Танкобудівний завод +block.mech-fabricator.name = Мехобудівний завод +block.ship-fabricator.name = Кораблебудівний завод +block.prime-refabricator.name = Головний переробник +block.unit-repair-tower.name = Відновлювальна вежа +block.diffuse.name = Дифузатор +block.basic-assembler-module.name = Базовий збиральний модуль +block.smite.name = Занапащач +block.malign.name = Згубник +block.flux-reactor.name = Потоковий реактор +block.neoplasia-reactor.name = Ðеоплазмовий реактор + block.switch.name = Перемикач block.micro-processor.name = МікропроцеÑор block.logic-processor.name = Логічний процеÑор @@ -1202,251 +1947,730 @@ block.logic-display.name = Логічний диÑплей block.large-logic-display.name = Великий логічний диÑплей block.memory-cell.name = Комірка пам’Ñті block.memory-bank.name = Блок пам’Ñті -team.blue.name = Ð¡Ð¸Ð½Ñ -team.crux.name = Червона -team.sharded.name = Помаранчева -team.orange.name = Помаранчева -team.derelict.name = Знедолена -team.green.name = Зелена -team.purple.name = Фіолетова + +team.malis.name = Малізи +team.crux.name = Загарбники +team.sharded.name = Розколоті +team.derelict.name = Переможені +team.green.name = Зелені +team.blue.name = Сині + hint.skip = ПропуÑтити hint.desktopMove = ВикориÑтовуйте [accent][[WASD][], щоби рухатиÑÑ. hint.zoom = [accent]Прокручуйте коліщатком миші[], щоби збільшити чи зменшити маÑштаб мапи. -hint.mine = ÐаблизьтеÑÑŒ до  мідної руди Ñ– [accent]торкнітьÑÑ[] Ñ—Ñ—, щоби видобувати вручну. hint.desktopShoot = [accent][[ЛКМ][] Ð´Ð»Ñ Ñтрільби. hint.depositItems = Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ñ– предметів проÑто перетÑгніть із ÐºÐ¾Ñ€Ð°Ð±Ð»Ñ Ð² Ñдро. hint.respawn = Ð”Ð»Ñ Ð²Ñ–Ð´Ñ€Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ ÐºÐ¾Ñ€Ð°Ð±Ð»ÐµÐ¼ натиÑніть [accent][[V][]. hint.respawn.mobile = Ви контролюєте одиницю чи Ñтруктуру. Щоби відродитиÑÑ Ñк корабель, [accent]торкнітьÑÑ Ñвого аватара вгорі ліворуч.[] hint.desktopPause = ÐатиÑніть [accent][[Пробіл][], щоби зупинити чи продовжити гру. -hint.placeDrill = Виберіть у меню внизу праворуч вкладку  [accent]Бур[], потім виберіть ï¡° [accent]Механічний бур[] та натиÑніть на мідний клаптик Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ розміщеннÑ. -hint.placeDrill.mobile = Виберіть у меню внизу праворуч вкладку  [accent]Бур[], потім виберіть ï¡° [accent]Механічний бур[] та натиÑніть на мідний клаптик Ð´Ð»Ñ Ð¹Ð¾Ð³Ð¾ розміщеннÑ.\n\nÐатиÑніть внизу праворуч î € [accent]галку[] Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ. -hint.placeConveyor = Конвеєри переміщують предмети з бурів до інших блоків. Виберіть  [accent]конвеєр[] з вкладки î ” [accent]ТранÑпортуваннÑ[].\n\nÐатиÑніть Ñ– Ñ‚Ñгніть, щоби розміÑтити декілька конвеєрів.\n[accent]Прокручуйте коліщатком миші[], щоб обертати Ñ—Ñ…. -hint.placeConveyor.mobile = Конвеєри переміщують предмети з бурів до інших блоків. Виберіть  [accent]конвеєр[] з вкладки î ” [accent]ТранÑпортуваннÑ[].\n\nУтримуйте палець протÑгом Ñекунди Ñ– протÑгніть, щоби розміÑтити декілька конвеєрів. -hint.placeTurret = РозміÑтіть ï¡¡ [accent]башти[], щоби захиÑтити базу від ворогів.\n\nБашти потребують боєприпаÑів. У цьому випадку \uf838мідь.\nÐ”Ð»Ñ Ñ—Ñ— подачі викориÑтовуйте конвеєри та бури. -hhint.breaking = ÐатиÑніть [accent]ПКМ[] Ñ– Ñ‚Ñгніть, щоби зруйнувати блоки. -hint.breaking.mobile = Ðктивуйте î — [accent]молот[] внизу праворуч Ñ– торкнітьÑÑ Ð±Ð»Ð¾ÐºÑ–Ð², щоби Ñ—Ñ… розібрати.\n\nУтримуйте палець протÑгом Ñекунди Ñ– протÑгніть, щоби розібрати виділене. -hint.research = ВикориÑтовуйте кнопку  [accent]ДоÑлідженнÑ[] Ð´Ð»Ñ Ð´Ð¾ÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— технології. -hint.research.mobile = ВикориÑтовуйте  [accent]ДоÑлідженнÑ[] в  [accent]меню[] Ð´Ð»Ñ Ð´Ð¾ÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— технології. +hint.breaking = ÐатиÑніть [accent]ПКМ[] Ñ– Ñ‚Ñгніть, щоби зруйнувати блоки. +hint.breaking.mobile = Ðктивуйте \ue817 [accent]молот[] внизу праворуч Ñ– зробіть швидке натиÑÐºÐ°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð², щоби Ñ—Ñ… розібрати.\n\nУтримуйте палець протÑгом Ñекунди й протÑгніть, щоби розібрати виділене. +hint.blockInfo = ПодивітьÑÑ Ñ–Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–ÑŽ про блок. Перейдіть до [accent]меню будівництва[] Ñ– натиÑніть на кнопку [accent][[?][] праворуч. +hint.derelict = Будівлі [accent]Переможених[] Ñ” зламаними залишками Ñтарих баз, що більше не функціонують.\n\nЇх можна [accent]розібрати[] Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ€ÐµÑурÑів або відбудувати. +hint.research = ВикориÑтовуйте кнопку \ue875 [accent]ДоÑлідженнÑ[] Ð´Ð»Ñ Ð´Ð¾ÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— технології. +hint.research.mobile = ВикориÑтовуйте \ue875 [accent]ДоÑлідженнÑ[] в \ue88c [accent]меню[] Ð´Ð»Ñ Ð´Ð¾ÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ñ— технології. hint.unitControl = Утримуйте [accent][[лівий Ctrl][] Ñ– [accent]натиÑніть[] на одиницю чи башту, щоби контролювати Ñ—Ñ—. -hint.unitControl.mobile = [accent][ТоркнітьÑÑ Ð´Ð²Ñ–Ñ‡Ñ–[], щоби контролювати Ñоюзні одиниці чи башти. -hint.launch = Як тільки буде зібрано доÑтатньо реÑурÑів, ви зможете зробити [accent]ЗапуÑк[] за допомогою вибору найближчих Ñекторів î § [accent]мапи[] внизу праворуч. -hint.launch.mobile = Як тільки буде зібрано доÑтатньо реÑурÑів, ви зможете зробити [accent]ЗапуÑк[] за допомогою вибору найближчих Ñекторів з î § [accent]мапи[] у  [accent]меню[]. +hint.unitControl.mobile = [accent][Зробіть коротке натиÑÐºÐ°Ð½Ð½Ñ Ð´Ð²Ñ–Ñ‡Ñ–[], щоби контролювати Ñоюзні одиниці чи башти. +hint.unitSelectControl = Ð”Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñми увійдіть в [accent]режим командуваннÑ[], утримуючи [accent]лівий Shift[].\nПеребуваючи в командному режимі, натиÑніть Ñ– протÑгуйте Ð´Ð»Ñ Ð²Ð¸Ð±Ð¾Ñ€Ñƒ одиниць. ÐатиÑніть [accent]ПКМ[] на позицію або ціль, щоби віддати наказ одиницÑм, Ñкі там знаходÑтьÑÑ. +hint.unitSelectControl.mobile = Ð”Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñми увійдіть в [accent]режим командуваннÑ[], натиÑнувши кнопку [accent]командувати[] ліворуч знизу.\nПеребуваючи в командному режимі, зробіть довгий натиÑк Ñ– протÑгуйте Ð´Ð»Ñ Ð²Ð¸Ð±Ð¾Ñ€Ñƒ одиниць. ТоркнітьÑÑ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— або цілі, щоби віддати наказ одиницÑм, Ñкі там знаходÑтьÑÑ. +hint.launch = Як тільки буде зібрано доÑтатньо реÑурÑів, ви зможете зробити [accent]ЗапуÑк[] до наÑтупних Ñекторів \ue827 [accent]мапи[] внизу праворуч Ñ– перейти на нову локацію.. +hint.launch.mobile = Як тільки буде зібрано доÑтатньо реÑурÑів, ви зможете зробити [accent]ЗапуÑк[] за допомогою вибору найближчих Ñекторів з \ue827 [accent]мапи[] у \ue88c [accent]меню[]. hint.schematicSelect = Утримуйте [accent][[F][] Ñ– Ñ‚Ñгніть, щоби вибрати блоки Ð´Ð»Ñ Ñ—Ñ…Ð½ÑŒÐ¾Ð³Ð¾ подальшого ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ñ– вÑтавленнÑ.\n\nÐатиÑніть [accent][[СКМ][], щоби Ñкопіювати певний тип блоку. -hint.conveyorPathfind = Утримуйте [accent][[лівий Ctrl][], коли Ñ‚Ñгнете конвеєри, щоб автоматично проклаÑти шлÑÑ…. -hint.conveyorPathfind.mobile = Увімкніть î¡„ [accent]діагональний режим[] Ñ– Ñ‚Ñгніть конвеєри, щоб автоматично проклаÑти шлÑÑ…. -hint.boost = Утримуйте [accent][[лівий Shift][], щоби літати над перешкодами поточною одиницею.\n\nЛише декілька наземних одиниць мають цю перевагу. -hint.command = ÐатиÑніть [accent][[G][], щоб узÑти ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð´ найближчими одиницÑми [accent]Ñхожого типу[] Ñ– Ñформувати загін.\n\nЩоб командувати наземними одиницÑми, ви муÑите Ñпершу взÑти контроль над іншою наземною одиницею. -hint.command.mobile = [accent][[ТоркнітьÑÑ Ð´Ð²Ñ–Ñ‡Ñ–][] Ñвоєї одиниці, щоб узÑти ÐºÐ¾Ð¼Ð°Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ð´ найближчими Ñоюзними одиницÑми Ñ– Ñформувати загін. -hint.payloadPickup = ÐатиÑніть [accent][[[], щоби підібрати невеличкі блоки чи одиниці. -hint.payloadPickup.mobile = [accent]ТоркнітьÑÑ Ð¹ утримуйте[] невеличкий блок чи одиницю, щоби підібрати Ñ—Ñ…. -hint.payloadDrop = ÐатиÑніть [accent]][], щоби вивантажити вантаж. -hint.payloadDrop.mobile = [accent]ТоркнітьÑÑ[] вільного міÑÑ†Ñ Ð¹ [accent]утримуйте[], щоби вивантажити туди вантаж. -hint.waveFire = Башта [accent]ХвилÑ[] з водою буде автоматично гаÑити найближчі пожежі. -hint.generator =  [accent]Генератори внутрішнього згораннÑ[] Ñпалюють Ð²ÑƒÐ³Ñ–Ð»Ð»Ñ Ñ– передають енергію прилеглим блокам.\n\nÐ Ð°Ð´Ñ–ÑƒÑ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ñ– енергії можна збільшити за допомогою ï¡¿ [accent]Ñилових вузлів[]. -hint.guardian = [accent]Вартові[] одиниці броньовані. Слабкі боєприпаÑи, Ñк-от [accent]мідь[] чи [accent]Ñвинець[], [scarlet]не Ñ” ефективними[].\n\nВикориÑтовуйте башти вищого рангу чи ï µ [accent]графітові боєприпаÑи[] Ð´Ð»Ñ ÐŸÐ¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— башти чиЗалпу, щоб убити Вартових. -hint.coreUpgrade = Ядро можна покращити, Ñкщо [accent]розміÑтити поверх нього Ñдро вищого рівнÑ[].\n\nРозміÑтіть  Ñдро [accent]«Штаб»[] поверх ï¡© Ñдра [accent]«Уламок»[]. ПереконайтеÑÑŒ, що поблизу Ñдер немає перешкод (зайвих блоків). -hint.presetLaunch = Сірі [accent]Ñектори зони поÑадки[], Ñк-от [accent]Крижаний ліÑ[], можна запуÑтити з будь-Ñкого міÑцÑ. Вони не вимагають Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ ÑуÑідньої території.\n\n[accent]Ðумеровані Ñектори[], Ñк цей, [accent]необовʼÑзкові[]. -hint.coreIncinerate = ПіÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк Ñдро наповнитьÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¾Ð¼, будь-Ñкі додаткові предмети того ж типу, Ñкі воно отримує, будуть [accent]Ñпалені[]. +hint.rebuildSelect = Утримуючи [accent][[B][], протÑгніть, щоби вибрати зруйновані проєкти блоків.\nЦе призведе до їхньої автоматичної перебудови. +hint.rebuildSelect.mobile = ÐатиÑніть кнопку \ue874 копіюваннÑ, потім натиÑніть кнопку \ue80f перебудови Ñ– перетÑгніть, щоби вибрати знищені проєкти блоків.\nЦе призведе до їхньої автоматичної перебудови. -item.copper.description = ВикориÑтовуєтьÑÑ Ñƒ вÑÑ–Ñ… типах блоків Ñ– боєприпаÑах. +hint.conveyorPathfind = Утримуйте [accent][[лівий Ctrl][], коли Ñ‚Ñгнете конвеєри, щоб автоматично проклаÑти шлÑÑ…. +hint.conveyorPathfind.mobile = Увімкніть \ue844 [accent]діагональний режим[] Ñ– Ñ‚Ñгніть конвеєри, щоб автоматично проклаÑти шлÑÑ…. +hint.boost = Утримуйте [accent][[лівий Shift][], щоби літати над перешкодами поточною одиницею.\n\nЛише декілька наземних одиниць мають цю перевагу. +hint.payloadPickup = ÐатиÑніть [accent][[[], щоби підібрати невеличкі блоки чи одиниці. +hint.payloadPickup.mobile = [accent]ÐатиÑніть й утримуйте[] невеличкий блок чи одиницю, щоби підібрати Ñ—Ñ…. +hint.payloadDrop = ÐатиÑніть [accent]][], щоби вивантажити вантаж. +hint.payloadDrop.mobile = [accent]ÐатиÑніть[] на вільне міÑце й [accent]утримуйте[], щоби вивантажити туди вантаж. +hint.waveFire = Башта [accent]хвилÑ[] з водою буде автоматично гаÑити найближчі пожежі. +hint.generator = \uf879 [accent]Генератори внутрішнього згораннÑ[] Ñпалюють Ð²ÑƒÐ³Ñ–Ð»Ð»Ñ Ñ– передають енергію прилеглим блокам.\n\nÐ Ð°Ð´Ñ–ÑƒÑ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ñ– енергії можна збільшити за допомогою \uf87f [accent]Ñилових вузлів[]. +hint.guardian = [accent]Вартові[] одиниці броньовані. Слабкі боєприпаÑи, Ñк-от [accent]мідь[] чи [accent]Ñвинець[], [scarlet]не Ñ” ефективними[].\n\nВикориÑтовуйте башти вищого рангу чи \uf835 [accent]графітові боєприпаÑи[] Ð´Ð»Ñ ÐŸÐ¾Ð´Ð²Ñ–Ð¹Ð½Ð¾Ñ— башти чи\uf859Залпу, щоб убити Вартових. +hint.coreUpgrade = Ядро можна покращити, Ñкщо [accent]розміÑтити поверх нього Ñдро вищого рівнÑ[].\n\nРозміÑтіть \uf868 Ñдро [accent]«Штаб»[] поверх \uf869 Ñдра [accent]«Уламок»[]. ПереконайтеÑÑŒ, що поблизу Ñдер немає перешкод (зайвих блоків). +hint.presetLaunch = Сірі [accent]Ñектори зони поÑадки[], Ñк-от [accent]Крижаний ліÑ[], можна запуÑтити з будь-Ñкого міÑцÑ. Вони не вимагають Ð·Ð°Ñ…Ð¾Ð¿Ð»ÐµÐ½Ð½Ñ ÑуÑідньої території.\n\n[accent]Ðумеровані Ñектори[], Ñк цей, [accent]необов’Ñзкові[]. +hint.presetDifficulty = Цей Ñектор має [scarlet]виÑокий рівень ворожої загрози[].\nРобити запуÑк в такі [accent]не рекомендуєтьÑÑ[] без належних технологій та підготовки. +hint.coreIncinerate = ПіÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк Ñдро наповнитьÑÑ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ð¾Ð¼, будь-Ñкі додаткові предмети того ж типу, Ñкі воно отримує, будуть [accent]Ñпалені[]. +hint.factoryControl = Щоб уÑтановити [accent]міÑце виводу[] заводу одиниць, клацніть на неї у режимі командуваннÑ, потім клацніть ПКМ на міÑце призначеннÑ. \nВироблені нею одиниці автоматично переміÑÑ‚ÑтьÑÑ Ñ‚ÑƒÐ´Ð¸. +hint.factoryControl.mobile = Щоб уÑтановити [accent]міÑце виводу[] заводу одиниць, швидко натиÑніть на неї у режимі командуваннÑ, потім зробіть коротке натиÑÐºÐ°Ð½Ð½Ñ Ð½Ð° міÑце призначеннÑ. \nВироблені нею одиниці автоматично переміÑÑ‚ÑтьÑÑ Ñ‚ÑƒÐ´Ð¸. + +gz.mine = ÐаблизьтеÑÑ Ð´Ð¾ \uf8c4 [accent]мідної руди[] Ñ– почніть видобувати Ñ—Ñ—. +gz.mine.mobile = ÐаблизьтеÑÑ Ð´Ð¾ \uf8c4 [accent]мідної руди[] Ñ– торкнітьÑÑ Ñ—Ñ—, щоби почати видобуток. +gz.research = Відкрийте \ue875 дерево технологій.\nДоÑлідіть \uf870 [accent]механічний бур[], потім виберіть його з правого нижнього меню.\nÐатиÑніть на мідний клаптик, щоби почати видобуток. +gz.research.mobile = Відкрийте \ue875 дерево технологій.\nДоÑлідіть \uf870 [accent]механічний бур[], потім виберіть його з правого нижнього меню.\nТоркнітьÑÑ Ð´Ð¾ мідного клаптика, щоби розміÑтити його.\n\nÐатиÑніть на\ue800 [accent]галочку[] праворуч внизу Ð´Ð»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ. +gz.conveyors = ДоÑлідіть Ñ– розташуйте\uf896 [accent]конвеєри[], щоби переміщувати видобуті реÑурÑи\nвід бурів до Ñдра.\n\nÐатиÑніть Ñ– протÑгніть Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐºÑ–Ð»ÑŒÐºÐ¾Ñ… конвеєрів.\n[accent]Прокручуйте[] Ð´Ð»Ñ Ð¾Ð±ÐµÑ€Ñ‚Ð°Ð½Ð½Ñ. +gz.conveyors.mobile = ДоÑлідіть Ñ– розташуйте \uf896 [accent]конвеєри[], щоби переміщувати видобуті реÑурÑи\nвід бурів до Ñдра.\n\nУтримуйте Ñвій палець близько Ñекунди протÑгніть його Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ ÐºÑ–Ð»ÑŒÐºÐ¾Ñ… конвеєрів. +gz.drills = ÐароÑтіть видобуток кориÑних копалин.\nРозміÑтіть більше механічних бурів.\nВидобудьте 100 міді. +gz.lead = \uf837 [accent]Свинець[] Ñ” ще одним чаÑто викориÑтовуваним реÑурÑом.\nУÑтановіть бури, щоби розпочати видобуток. +gz.moveup = \ue804 РухайтеÑÑ Ð²Ð¿ÐµÑ€ÐµÐ´ до подальших цілей. +gz.turrets = ДоÑлідіть Ñ– розміÑтіть 2 \uf861 [accent]подвійні[] башти, щоби захиÑтити Ñдро.\nПодвійні башти потребують \uf838 [accent]боєприпаÑи[] з конвеєрів. +gz.duoammo = Забезпечте подвійні башти [accent]міддю[], викориÑтовуючи конвеєри. +gz.walls = [accent]Стіни[] можуть запобігти потраплÑнню зуÑтрічних пошкоджень на будівлі\nРозміÑтіть \uf8ae [accent]мідні Ñтіни[] навколо башт. +gz.defend = Ворог наÑтупає, приготуйтеÑÑ Ð´Ð¾ оборони. +gz.aa = ПовітрÑні одиниці не можуть бути легко знищені зі Ñтандартними баштами.\n\uf860 Башта [accent]розÑіювач[] забезпечує відмінну протиповітрÑну оборону, але потребує \uf837 [accent]Ñвинець[] Ñк боєприпаÑ. +gz.scatterammo = Забезпечте башту розÑіювач \uf837 [accent]Ñвинцем[], викориÑтовуючи конвеєр. +gz.supplyturret = [accent]ПоÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ Ð´Ð¾ башти +gz.zone1 = Це зона виÑадки ворога. +gz.zone2 = УÑе, що побудовано в цьому радіуÑÑ–, знищуєтьÑÑ, коли починаєтьÑÑ Ñ…Ð²Ð¸Ð»Ñ. +gz.zone3 = Зараз почнетьÑÑ Ñ…Ð²Ð¸Ð»Ñ.\nПриготуйетÑÑ +gz.finish = Збудуйте більше башт, видобудьте більше реÑурÑів \nÑ– захиÑтітьÑÑ Ð¿Ñ€Ð¾Ñ‚Ð¸ вÑÑ–Ñ… хвиль, щоби [accent]захопити Ñектор[]. + +onset.mine = ÐатиÑніть, щоби видобути \uf748 [accent]берилій[]зі Ñтін.\n\nÐ”Ð»Ñ Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовуйте [accent][[WASD]. +onset.mine.mobile = ТоркнітьÑÑ, щоби видобути \uf748 [accent]берилій[]зі Ñтін. +onset.research = Відкрийте \ue875 дерево технологій.\nДоÑлідіть, а потім розміÑтіть \uf73e [accent]Турбінний кондеÑатор[] на джерелі (отворі).\nЦе буде генерувати [accent]енергію[]. +onset.bore = ДоÑлідіть Ñ– розміÑтіть \uf741 [accent]плазмовий бурильник[].\nВін автоматично видобуває реÑурÑи зі Ñтін. +onset.power = Ð”Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ [accent]енергії[] до плазмового бурильника, доÑлідіть Ñ– розміÑтіть \uf73d [accent]променевий вузол[].\nПід’єднайте турбінний коденÑатор до плазмового бурильника. +onset.ducts = ДоÑлідіть Ñ– розміÑтіть \uf799 [accent]канали[], щоби переміщувати видобуті реÑурÑи від плазмового бурильника до Ñдра.\nÐатиÑніть Ñ– проÑÑ‚Ñгніть, щоби розміÑтити декілька каналів.\n[accent]Прокрутіть[], щоб обернути. +onset.ducts.mobile = ДоÑлідіть Ñ– розміÑтіть \uf799 [accent]канали[], щоби переміщувати видобуті реÑурÑи від плазмового бурильника до Ñдра.\n\nУтримуйте Ñвій палець близько Ñекунди Ñ– проÑÑ‚Ñгніть, щоби розміÑтити декілька каналів. +onset.moremine = ÐароÑтіть видобуток кориÑних копалин.\nРозміÑтіть більше плазмових бурильників Ñ– викориÑтайте променеві вузли та канали Ð´Ð»Ñ Ñ—Ñ…Ð½ÑŒÐ¾Ð³Ð¾ обÑлуговуваннÑ.\nВидобудьте 200 берилію. +onset.graphite = Складніші блоки потребують \uf835 [accent]графіту[].\nУÑтановіть плазмові бурильники Ð´Ð»Ñ Ð²Ð¸Ð´Ð¾Ð±ÑƒÐ²Ð°Ð½Ð½Ñ Ð³Ñ€Ð°Ñ„Ñ–Ñ‚Ñƒ. +onset.research2 = Почніть доÑÐ»Ñ–Ð´Ð¶ÐµÐ½Ð½Ñ [accent]заводів[].\nДоÑлідіть \uf74d [accent]дробарку Ñкель[] Ñ– \uf779 [accent]кремнієву дугову піч[]. +onset.arcfurnace = Дугова піч потребує \uf834 [accent]піÑок[] Ñ– \uf835 [accent]графіт[] Ð·Ð°Ð´Ð»Ñ \uf82f [accent]кремнію[].\n[accent]ЕнергіÑ[] також потрібна. +onset.crusher = ВикориÑтайте \uf74d [accent]дробарку Ñкель[], щоби видобути піÑок. +onset.fabricator = ВикориÑтовуйте [accent]одиниць[] Ð´Ð»Ñ Ð´Ð¾ÑлідженнÑ, захиÑту будівель та нападу на ворога. ДоÑлідіть Ñ– розміÑтіть \uf6a2 [accent]танкобудівний завод[]. +onset.makeunit = Виробіть одиницю.\nВикориÑтайте кнопку «?», щоби побачити вимоги Ð´Ð»Ñ Ð²Ð¸Ð±Ñ€Ð°Ð½Ð¾Ð³Ð¾ заводу. +onset.turrets = Одиниці ефективні, але [accent]башти[] забезпечують ліпші оборонні можливоÑті, Ñкщо Ñ—Ñ… ефективно викориÑтовувати.\nУÑтановіть \uf6eb башту [accent]Прорив[].\nБашти вимагають \uf748 [accent]боєприпаÑів[]. +onset.turretammo = Забезпечте башту [accent]берилієвими боєприпаÑами[]. +onset.walls = [accent]Стіни[] cможе запобігти потраплÑнню зуÑтрічної шкоди на будівлі.\nРозміÑтіть декілька \uf6ee [accent]берилієвих Ñтін[] навколо башти. +onset.enemies = Ворог наÑтупає, готуйтеÑÑ Ð´Ð¾ оборони. +onset.defenses = [accent]Підготуйте захиÑÑ‚:[lightgray] {0} +onset.attack = Ворог беззахиÑний. Контратакуйте. +onset.cores = Ðові Ñдра можуть бути розміщені на плитках [accent]зони Ñдра[].\nÐові Ñдра функціонують Ñк передові бази й мають Ñпільний інвентар реÑурÑів з іншими Ñдрами.\nРозміÑтіть \uf725 Ñдро. +onset.detect = Ворог зможе виÑвити Ð²Ð°Ñ Ð·Ð° 2 хвилини.\nОрганізуйте оборону, видобуток кориÑних копалин та виробництво. + +#Don't translate these yet! +onset.commandmode = Утримуйте [accent]Shift[], щоб увійти в [accent]режим командуваннÑ[].\n[accent]Зажміть ЛКМ Ñ– потÑгніть,[] щоб обрати одиниці.\n[accent]ВикориÑтовуйте ПКМ[], щоби наказати обраним одиницÑм рухатиÑÑ Ñ‡Ð¸ атакувати. +onset.commandmode.mobile = ÐатиÑніть кнопку [accent]Командувати[], щоб увійти [accent]в режим командуваннÑ[].\nУтримуйте палець Ñ– [accent]потÑгніть[], щоби вибрати одиниці.\n[accent] Зробіть коротке натиÑканнÑ[], щоби наказати обраним одиницÑм рухатиÑÑ Ñ‡Ð¸ атакувати. +aegis.tungsten = Вольфрам можна видобувати за допомогою [accent]імпульÑного буру[].\nÐ¦Ñ Ð±ÑƒÐ´Ñ–Ð²Ð»Ñ Ð¿Ð¾Ñ‚Ñ€ÐµÐ±ÑƒÑ” [accent]води[] та [accent]енергію[]. + +split.pickup = ДеÑкі блоки можуть бути підібрані оÑновною Ñдровою одиницею.\nПідніміть цей [accent]контейнер[] Ñ– поміÑтіть його до [accent]вантажного завантажувача[].\n(Клавіші за замовчуваннÑм - [[ Ñ– ] Ð´Ð»Ñ Ð¿Ñ–Ð´Ð½ÑÑ‚Ñ‚Ñ Ñ‚Ð° ÑкиданнÑ) +split.pickup.mobile = ДеÑкі блоки можуть бути підібрані оÑновною Ñдровою одиницею.\nПідніміть цей [accent]контейнер[] Ñ– поміÑтіть його до [accent]вантажного завантажувача[].\n(Щоб піднÑти або Ñкинути щоÑÑŒ, довго натиÑкайте на це щоÑÑŒ.) +split.acquire = Ви повинні діÑтати трохи вольфраму, щоби побудувати одиниці. +split.build = Одиниці повинні бути перенеÑені на іншу Ñторону Ñтіни.\nУÑтановіть дві [accent]великі вантажні катапульти[], по одній на кожну Ñторону Ñтіни.\nУÑтановіть зв’Ñзок, натиÑнувши на одну з них, а потім вибравши іншу. +split.container = Подібно до контейнера, одиниці також можуть бути перевезені за допомогою [accent]великої вантажної катапульти[].\nРозміÑтіть завод, що Ñтворює одиниці, поруч з вантажною катапультою, щоби завантажити одиниць, а потім відправити Ñ—Ñ… через Ñтіну в атаку на базу противника. + +item.copper.description = ÐнглійÑька назва: Copper\nВикориÑтовуєтьÑÑ Ñƒ вÑÑ–Ñ… типах блоків Ñ– боєприпаÑах. item.copper.details = Мідь. Ðапрочуд багато жил цієї руди на Серпуло. За Ñвоєю Ñтруктурою Ñлабка, Ñкщо не зміцнена. -item.lead.description = Широко викориÑтовуєтьÑÑ Ð² електроніці та в транÑпортуванні рідин. -item.lead.details = Сплав. Інертний. Широко викориÑтовуєтьÑÑ Ð² акумулÑторах.\nПримітка. Мабуть, токÑичний Ð´Ð»Ñ Ð±Ñ–Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ñ… форм життÑ. Ðе те щоби тут залишилоÑÑ Ð±Ð°Ð³Ð°Ñ‚Ð¾â€¦ -item.metaglass.description = ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ñƒ чи Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ€Ñ–Ð´Ð¸Ð½Ð¸. -item.graphite.description = ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð±Ð¾Ñ”Ð¿Ñ€Ð¸Ð¿Ð°Ñів та електричних компонентів. -item.sand.description = ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° інших удоÑконалених матеріалів. -item.coal.description = ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° палива Ñ– вдоÑконалених матеріалів. +item.lead.description = ÐнглійÑька назва: Lead\nШироко викориÑтовуєтьÑÑ Ð² електроніці та в транÑпортуванні рідин. +item.lead.details = Інертний Ñплав, що широко викориÑтовуєтьÑÑ Ð² акумулÑторах.\nПримітка. Мабуть, токÑичний Ð´Ð»Ñ Ð±Ñ–Ð¾Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¸Ñ… форм життÑ. Ðе те щоби Ñ—Ñ… тут залишилоÑÑ Ð±Ð°Ð³Ð°Ñ‚Ð¾â€¦ +item.metaglass.description = ÐнглійÑька назва: Metaglass\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ñƒ чи Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ€Ñ–Ð´Ð¸Ð½Ð¸. +item.graphite.description = ÐнглійÑька назва: Graphite\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð±Ð¾Ñ”Ð¿Ñ€Ð¸Ð¿Ð°Ñів та електричних компонентів. +item.sand.description = ÐнглійÑька назва: Sand\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° інших удоÑконалених матеріалів. +item.coal.description = ÐнглійÑька назва: Coal\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° палива Ñ– вдоÑконалених матеріалів. item.coal.details = ВиглÑдає Ñкам’Ñнілою роÑлинною речовиною, утвореною задовго до Сівби. -item.titanium.description = ВикориÑтовуєтьÑÑ Ð² транÑпортуванні рідин, бурів та авіації. -item.thorium.description = ВикориÑтовуєтьÑÑ Ð² міцних конÑтрукціÑÑ… Ñ– Ñк Ñдерне паливо. -item.scrap.description = ВикориÑтовуєтьÑÑ Ð² ПлавильнÑÑ… Ñ– Подрібнювачах Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ€Ð¾Ð±Ð»ÐµÐ½Ð½Ñ Ð² інші матеріали в інші матеріали. +item.titanium.description = ÐнглійÑька назва: Titanium\nВикориÑтовуєтьÑÑ Ð² транÑпортуванні будівель, бурів та в заводах. +item.thorium.description = ÐнглійÑька назва: Thorium\nВикориÑтовуєтьÑÑ Ð² міцних конÑтрукціÑÑ… Ñ– Ñк Ñдерне паливо. +item.scrap.description = ÐнглійÑька назва: Scrap\nВикориÑтовуєтьÑÑ Ð² ПлавильнÑÑ… Ñ– Подрібнювачах Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ€Ð¾Ð±Ð»ÐµÐ½Ð½Ñ Ð² інші матеріали. item.scrap.details = Залишки Ñтарих Ñпоруд та підрозділів. -item.silicon.description = ВикориÑтовуєтьÑÑ Ð² ÑонÑчних панелÑÑ…, Ñкладній електроніці та боєприпаÑах ÑÐ°Ð¼Ð¾Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð±Ð°ÑˆÑ‚. -item.plastanium.description = ВикориÑтовуєтьÑÑ Ð² передових одиницÑÑ… та у фрагментованих боєприпаÑах. -item.phase-fabric.description = ВикориÑтовуєтьÑÑ Ð² передовій електроніці й технології ÑамовідновленнÑ. -item.surge-alloy.description = ВикориÑтовуєтьÑÑ Ð² передовій зброї та реактивних захиÑних конÑтрукціÑÑ…. -item.spore-pod.description = ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° нафту, вибухівку та паливо. +item.silicon.description = ÐнглійÑька назва: Silicon\nВикориÑтовуєтьÑÑ Ð² ÑонÑчних панелÑÑ…, Ñкладній електроніці та боєприпаÑах ÑÐ°Ð¼Ð¾Ð½Ð°Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð±Ð°ÑˆÑ‚. +item.plastanium.description = ÐнглійÑька назва: Plastanium\nВикориÑтовуєтьÑÑ Ð² передових одиницÑÑ… та у фрагментованих боєприпаÑах. +item.phase-fabric.description = ÐнглійÑька назва: Phase Fabric\nВикориÑтовуєтьÑÑ Ð² передовій електроніці й технології ÑамовідновленнÑ. +item.surge-alloy.description = ÐнглійÑька назва: Surge Alloy\nВикориÑтовуєтьÑÑ Ð² передовій зброї та реактивних захиÑних конÑтрукціÑÑ…. +item.spore-pod.description = ÐнглійÑька назва: Spore Pod\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ð° нафту, вибухівку та паливо. item.spore-pod.details = Спори. Ðайімовірніше, Ñинтетична форма життÑ. ВиділÑють гази, токÑичні Ð´Ð»Ñ Ñ–Ð½ÑˆÐ¾Ð³Ð¾ біологічного життÑ. Ðадзвичайно загарбницька поведінка. ЛегкозаймиÑті при певних умовах. -item.blast-compound.description = ВикориÑтовуєтьÑÑ Ð² бомбах та в розривних боєприпаÑах. -item.pyratite.description = ВикориÑтовуєтьÑÑ Ð² запальній зброї Ñ– твердопаливних генераторах. -liquid.water.description = ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¾Ñ…Ð¾Ð»Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°ÑˆÐ¸Ð½ та Ð¿ÐµÑ€ÐµÑ€Ð¾Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ñ…Ð¾Ð´Ñ–Ð². -liquid.slag.description = ПерероблÑєтьÑÑ Ñƒ відокремлювачах у Ñкладові метали або розпорошуєтьÑÑ Ð½Ð° ворогів Ñк зброÑ. -liquid.oil.description = ВикориÑтовуєтьÑÑ Ñƒ виробництві передових матеріалів Ñ– Ñк запальні боєприпаÑи. -liquid.cryofluid.description = ВикориÑтовуєтьÑÑ Ñк теплоноÑій у реакторах, баштах Ñ– заводах. -block.resupply-point.description = Поповнює найближчі одиниці мідними боєприпаÑами. ÐеÑуміÑний з одиницÑми, що потребують зарÑду акумулÑтора. -block.armored-conveyor.description = Переміщує предмети вперед. Ðе приймає Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· боків ні з чого, крім інших конвеєрних Ñтрічок. -block.illuminator.description = Випромінює Ñвітло. -block.message.description = Зберігає Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼ÑƒÐ½Ñ–ÐºÐ°Ñ†Ñ–Ñ— між Ñоюзниками. -block.graphite-press.description = СтиÑкає Ð²ÑƒÐ³Ñ–Ð»Ð»Ñ Ð² графіт. -block.multi-press.description = СтиÑкає Ð²ÑƒÐ³Ñ–Ð»Ð»Ñ Ð² графіт. Потребує воду Ð´Ð»Ñ Ð¾Ñ…Ð¾Ð»Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ. -block.silicon-smelter.description = Синтезує піÑок із вугіллÑм Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÑ€ÐµÐ¼Ð½Ñ–ÑŽ. -block.kiln.description = ВиплавлÑÑ” піÑок та Ñвинець у метаÑкло. -block.plastanium-compressor.description = ВироблÑÑ” плаÑтаній із нафти й титану. -block.phase-weaver.description = Синтезує фазову тканину з торію та піÑку. -block.alloy-smelter.description = Поєднує титан, Ñвинець, кремній Ñ– мідь Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÑ–Ð½ÐµÑ‚Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ Ñплаву. -block.cryofluid-mixer.description = Змішує воду й подрібнений титан, щоби виробити кріогенну рідину. -block.blast-mixer.description = ВироблÑÑ” вибухову Ñуміш із піратиту Ñ– Ñпорових Ñтручків. -block.pyratite-mixer.description = Змішує вугіллÑ, Ñвинець та піÑок у легкозаймиÑтий пиротит. -block.melter.description = РозплавлÑÑ” брухт у шлак. -block.separator.description = Відокремлює шлак на його мінеральні компоненти. -block.spore-press.description = СтиÑкає Ñпорові Ñтручки Ð´Ð»Ñ ÑÐ¸Ð½Ñ‚ÐµÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ñ„Ñ‚Ð¸. -block.pulverizer.description = Подрібнює брухт у дрібний піÑок. -block.coal-centrifuge.description = Ðафта перетворюєтьÑÑ Ñƒ вугіллÑ. -block.incinerator.description = Випаровує будь-Ñкий предмет або рідину, що отримує. -block.power-void.description = Знищує будь-Ñку під’єднану енергію. Тільки піÑочницÑ. -block.power-source.description = ПоÑтійно генерує енергію. Тільки піÑочницÑ. -block.item-source.description = ПоÑтійно Ñтворює предмети. Тільки піÑочницÑ. -block.item-void.description = Руйнує будь-Ñкі предмети. Тільки піÑочницÑ. -block.liquid-source.description = ПоÑтійно вироблÑÑ” рідини. Тільки піÑочницÑ. -block.liquid-void.description = Випаровує будь-Ñкі рідини. Тільки піÑочницÑ. -block.copper-wall.description = Захищає Ñпоруди від ворожих ÑнарÑдів. -block.copper-wall-large.description = Захищає Ñпоруди від ворожих ÑнарÑдів. -block.titanium-wall.description = Захищає Ñпоруди від ворожих ÑнарÑдів. -block.titanium-wall-large.description = Захищає Ñпоруди від ворожих ÑнарÑдів. -block.plastanium-wall.description = Захищає Ñпоруди від ворожих ÑнарÑдів. Поглинає електричні дуги й лазери. Блокує автоматичні Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐµÐ½ÐµÑ€Ð³ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ñ… вузлів. -block.plastanium-wall-large.description = Захищає Ñпоруди від ворожих ÑнарÑдів. Поглинає електричні дуги й лазери. Блокує автоматичні Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐµÐ½ÐµÑ€Ð³ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ñ… вузлів. -block.thorium-wall.description = Захищає Ñпоруди від ворожих ÑнарÑдів. -block.thorium-wall-large.description = Захищає Ñпоруди від ворожих ÑнарÑдів. -block.phase-wall.description = Захищає Ñпоруди від ворожих ÑнарÑдів, відбиває більшіÑть куль у разі зіткненні. -block.phase-wall-large.description = Захищає Ñпоруди від ворожих ÑнарÑдів, відбиває більшіÑть куль у разі зіткненні. -block.surge-wall.description = Захищає Ñпоруди від ворожих ÑнарÑдів, періодично випуÑкає електричні дуги в разі зіткненні. -block.surge-wall-large.description = Захищає Ñпоруди від ворожих ÑнарÑдів, періодично випуÑкає електричні дуги в разі зіткненні. -block.door.description = Стіна, Ñку можна відчинити й зачинити. -block.door-large.description = Стіна, Ñку можна відчинити й зачинити. -block.mender.description = Періодично ремонтує блоки у Ñвоєму радіуÑÑ– дії.\nЗа бажаннÑм можна викориÑтати кремній Ð·Ð°Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑу дії й ефективноÑті. -block.mend-projector.description = Ремонтує блоки у Ñвоєму радіуÑÑ– дії.\nЗа бажаннÑм можна викориÑтати фазову тканину Ð·Ð°Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑу дії й ефективноÑті. -block.overdrive-projector.description = Збільшує швидкіÑть найближчих будівель.\nЗа бажаннÑм можна викориÑтати фазову тканину Ð·Ð°Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑу дії й ефективноÑті. -block.force-projector.description = Створює навколо Ñебе шеÑтикутне Ñилове поле, захищаючи будівлі та блоки вÑередині від пошкоджень.\nПерегріваєтьÑÑ, Ñкщо завдано занадто великої шкоди. За бажаннÑм можна викориÑтати теплоноÑій Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€Ñ–Ð²Ñƒ. Ð”Ð»Ñ Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ щита можна викориÑтовувати фазову тканину. -block.shock-mine.description = ВипуÑкає електричні дуги в разі контакту з ворогом. -block.conveyor.description = Переміщує елементи вперед. -block.titanium-conveyor.description = Переміщує предмети швидше, ніж звичайний конвеєр. -block.plastanium-conveyor.description = Переміщує предмети партіÑми. Приймає елементи на задній чаÑтині та вивантажує Ñ—Ñ… у трьох напрÑмках Ñпереду. Потребує кілька точок Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° Ñ€Ð¾Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¼Ð°ÐºÑимальної пропуÑкної здатноÑті. -block.junction.description = Діє Ñк міÑÑ‚ Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… перехреÑних конвеєрних Ñтрічок. -block.bridge-conveyor.description = ТранÑпортує предмети через будівлі або міÑцевіÑть -block.phase-conveyor.description = Миттєво транÑпортує предмети через міÑцевоÑті або будівлі. Більший діапазон, ніж у моÑтового конвеєра, але потребує енергії. -block.sorter.description = Якщо елемент відповідає вибраному, його можна передати. Ð’ іншому випадку елемент виводитьÑÑ Ð»Ñ–Ð²Ð¾Ñ€ÑƒÑ‡ та праворуч. -block.inverted-sorter.description = Схожий на звичайний Ñортувальник, але виводить обрані елементи на бокові Ñторони. -block.router.description = РозподілÑÑ” елементи, що надходÑть, порівну на 3 різні напрÑмки. +item.blast-compound.description = ÐнглійÑька назва: Blast Compound\nВикориÑтовуєтьÑÑ Ð² бомбах та в розривних боєприпаÑах. +item.pyratite.description = ÐнглійÑька назва: Pyratite\nВикориÑтовуєтьÑÑ Ð² запальній зброї й твердопаливних генераторах. + +#Erekir +item.beryllium.description = ÐнглійÑька назва: Beryllium\nВикориÑтовуєтьÑÑ Ð² багатьох типах будівництва та боєприпаÑів на Ерекірі. +item.tungsten.description = ÐнглійÑька назва: Tungsten\nВикориÑтовуєтьÑÑ Ð² бурах, броні та боєприпаÑах. Ðеобхідний при будівництві більш доÑконалих конÑтрукцій. +item.oxide.description = ÐнглійÑька назва: Oxide\nВикориÑтовуєтьÑÑ Ñк теплопровідник та ізолÑтор Ð´Ð»Ñ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾ÐµÐ½ÐµÑ€Ð³Ñ–Ñ—. +item.carbide.description = ÐнглійÑька назва: Carbide\nВикориÑтовуєтьÑÑ Ñƒ передових конÑтрукціÑÑ…, важких одиницÑÑ… та боєприпаÑах. + +liquid.water.description = ÐнглійÑька назва: Water\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¾Ñ…Ð¾Ð»Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¼Ð°ÑˆÐ¸Ð½ та Ð¿ÐµÑ€ÐµÑ€Ð¾Ð±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ñ…Ð¾Ð´Ñ–Ð². +liquid.slag.description = ÐнглійÑька назва: Slag\nПерероблÑєтьÑÑ Ñƒ відокремлювачах у Ñкладові метали або розпорошуєтьÑÑ Ð½Ð° ворогів Ñк зброÑ. +liquid.oil.description = ÐнглійÑька назва: Oil\nВикориÑтовуєтьÑÑ Ñƒ виробництві передових матеріалів Ñ– Ñк запальні боєприпаÑи. +liquid.cryofluid.description = ÐнглійÑька назва: Cryofluid\nВикориÑтовуєтьÑÑ Ñк теплоноÑій у реакторах, баштах Ñ– заводах. + +#Erekir +liquid.arkycite.description = ÐнглійÑька назва: Arkycite\nВикориÑтовуєтьÑÑ Ð² хімічних реакціÑÑ… Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° електроенергії та Ñинтезу матеріалів. +liquid.ozone.description = ÐнглійÑька назва: Ozone\nВикориÑтовуєтьÑÑ Ñк окиÑлювач у матеріальному виробництві, а також Ñк паливо. Трохи вибухонебезпечний. +liquid.hydrogen.description = ÐнглійÑька назва: Hydrogen\nЗаÑтоÑовуєтьÑÑ Ð¿Ñ€Ð¸ видобутку кориÑних копалин, виробництві одиниць та ремонті Ñпоруд. ЛегкозаймиÑтий. +liquid.cyanogen.description = ÐнглійÑька назва: Cyanogen\nВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð²Ð¸Ð³Ð¾Ñ‚Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð±Ð¾Ñ”Ð¿Ñ€Ð¸Ð¿Ð°Ñів, будівництва передових одиниць, Ð¿Ñ€Ð¾Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ€Ñ–Ð·Ð½Ð¸Ñ… реакцій в передових блоках. ЛегкозаймиÑтий. +liquid.nitrogen.description = ÐнглійÑька назва: Nitrogen\nВикориÑтовуєтьÑÑ Ð¿Ñ€Ð¸ видобутку кориÑних копалин, газоутворенні та агрегатному виробництві. Інертний. +liquid.neoplasm.description = ÐнглійÑька назва: Neoplasm\nÐебезпечний біологічний побічний продукт неоплазмового реактора. Швидко поширюєтьÑÑ Ð½Ð° будь-Ñкі ÑуÑідні водовміÑні блоки, Ñких торкаєтьÑÑ, пошкоджуючи Ñ—Ñ… в процеÑÑ–. В’Ñзка. +liquid.neoplasm.details = Ðеоплазма. Ðеконтрольована маÑа Ñинтетичних клітин, що швидко ділÑтьÑÑ, з конÑиÑтенцією, подібною до оÑаду. ТермоÑтійка. Ðадзвичайно небезпечна Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ-Ñких конÑтрукцій, пов’Ñзаних з водою.\n\nЗанадто Ñкладна Ñ– неÑтабільна Ð´Ð»Ñ Ð·Ð²Ð¸Ñ‡Ð°Ð¹Ð½Ð¾Ð³Ð¾ аналізу. Потенційне заÑтоÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ²Ñ–Ð´Ð¾Ð¼Ðµ. РекомендуєтьÑÑ ÑÐ¿Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð² шлакових баÑейнах. + +block.derelict = \uf77e [lightgray]Переможені +block.armored-conveyor.description = ÐнглійÑька назва: Armored Conveyor\nПереміщує предмети вперед. Ðе приймає Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð· боків ні з чого, крім інших конвеєрних Ñтрічок. +block.illuminator.description = ÐнглійÑька назва: Illuminator\nВипромінює Ñвітло. +block.message.description = ÐнглійÑька назва: Message\nЗберігає Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼ÑƒÐ½Ñ–ÐºÐ°Ñ†Ñ–Ñ— між Ñоюзниками. +block.reinforced-message.description = ÐнглійÑька назва: Reinforced Message\nЗберігає Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¼ÑƒÐ½Ñ–ÐºÐ°Ñ†Ñ–Ñ— між Ñоюзниками. +block.world-message.description = ÐнглійÑька назва: World Message\nБлок Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑÑ‚Ð°Ð½Ð½Ñ Ñƒ Ñтворенні мап. Ðе можна знищити. +block.graphite-press.description = ÐнглійÑька назва: Graphite Press\nСтиÑкає Ð²ÑƒÐ³Ñ–Ð»Ð»Ñ Ð² графіт. +block.multi-press.description = ÐнглійÑька назва: Multi Press\nСтиÑкає Ð²ÑƒÐ³Ñ–Ð»Ð»Ñ Ð² графіт. Потребує воду Ð´Ð»Ñ Ð¾Ñ…Ð¾Ð»Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ. +block.silicon-smelter.description = ÐнглійÑька назва: Silicon Smelter\nСинтезує піÑок із вугіллÑм Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐºÑ€ÐµÐ¼Ð½Ñ–ÑŽ. +block.kiln.description = ÐнглійÑька назва: Kiln\nВиплавлÑÑ” піÑок та Ñвинець у метаÑкло. +block.plastanium-compressor.description = ÐнглійÑька назва: Plastanium Compressor\nВироблÑÑ” плаÑтаній із нафти й титану. +block.phase-weaver.description = ÐнглійÑька назва: Phase Weaver\nСинтезує фазову тканину з торію та піÑку. +block.surge-smelter.description = ÐнглійÑька назва: Surge Smelter\nПоєднує титан, Ñвинець, кремній Ñ– мідь у кінетичний Ñплав. +block.cryofluid-mixer.description = ÐнглійÑька назва: Cryofluid Mixer\nЗмішує воду й подрібнений титан, щоби виробити кріогенну рідину. +block.blast-mixer.description = ÐнглійÑька назва: Blast Mixer\nВироблÑÑ” вибухову Ñуміш із пиротиту Ñ– Ñпорових Ñтручків. +block.pyratite-mixer.description = ÐнглійÑька назва: Pyratite Mixer\nЗмішує вугіллÑ, Ñвинець та піÑок у легкозаймиÑтий пиротит. +block.melter.description = ÐнглійÑька назва: Melter\nРозплавлÑÑ” брухт у шлак. +block.separator.description = ÐнглійÑька назва: Separator\nВідокремлює шлак на його мінеральні компоненти. +block.spore-press.description = ÐнглійÑька назва: Spore Press\nСтиÑкає Ñпорові Ñтручки Ð´Ð»Ñ ÑÐ¸Ð½Ñ‚ÐµÐ·ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð°Ñ„Ñ‚Ð¸. +block.pulverizer.description = ÐнглійÑька назва: Pulverizer\nПодрібнює брухт у дрібний піÑок. +block.coal-centrifuge.description = ÐнглійÑька назва: Coal Centrifuge\nÐафта перетворюєтьÑÑ Ñƒ вугіллÑ. +block.incinerator.description = ÐнглійÑька назва: Incinerator\nВипаровує будь-Ñкий предмет або рідину, що отримує. +block.power-void.description = ÐнглійÑька назва: Power Void\nЗнищує будь-Ñку під’єднану енергію. Тільки піÑочницÑ. +block.power-source.description = ÐнглійÑька назва: Power Source\nПоÑтійно генерує енергію. Тільки піÑочницÑ. +block.item-source.description = ÐнглійÑька назва: Item Source\nПоÑтійно Ñтворює предмети. Тільки піÑочницÑ. +block.item-void.description = ÐнглійÑька назва: Item Void\nРуйнує будь-Ñкі предмети. Тільки піÑочницÑ. +block.liquid-source.description = ÐнглійÑька назва: Liquid Source\nПоÑтійно вироблÑÑ” рідини. Тільки піÑочницÑ. +block.liquid-void.description = ÐнглійÑька назва: Liquid Void\nВипаровує будь-Ñкі рідини. Тільки піÑочницÑ. +block.payload-source.description = ÐнглійÑька назва: Payload Source\nÐеÑкінченно Ñтворює Ñ– виводить вантажі. Тільки піÑочницÑ. +block.payload-void.description = ÐнглійÑька назва: Payload Void\nЗнищує будь-Ñкі вантажі. Тільки піÑочницÑ. +block.copper-wall.description = ÐнглійÑька назва: Copper Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.copper-wall-large.description = ÐнглійÑька назва: Copper Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.titanium-wall.description = ÐнглійÑька назва: Titanium Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.titanium-wall-large.description = ÐнглійÑька назва: Titanium Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.plastanium-wall.description = ÐнглійÑька назва: Plastanium Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. Поглинає електричні дуги й лазери. Блокує автоматичні Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐµÐ½ÐµÑ€Ð³ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ñ… вузлів. +block.plastanium-wall-large.description = ÐнглійÑька назва: Plastanium Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. Поглинає електричні дуги й лазери. Блокує автоматичні Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ ÐµÐ½ÐµÑ€Ð³ÐµÑ‚Ð¸Ñ‡Ð½Ð¸Ñ… вузлів. +block.thorium-wall.description = ÐнглійÑька назва: Thorium Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.thorium-wall-large.description = ÐнглійÑька назва: Thorium Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.phase-wall.description = ÐнглійÑька назва: Phase Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів, відбиває більшіÑть куль у разі зіткненні. +block.phase-wall-large.description = ÐнглійÑька назва: Phase Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів, відбиває більшіÑть куль у разі зіткненні. +block.surge-wall.description = ÐнглійÑька назва: Surge Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів, періодично випуÑкає електричні дуги в разі зіткненні. +block.surge-wall-large.description = ÐнглійÑька назва: Surge Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів, періодично випуÑкає електричні дуги в разі зіткненні. +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. +block.door.description = ÐнглійÑька назва: Door\nСтіна, Ñку можна відчинити й зачинити. +block.door-large.description = ÐнглійÑька назва: Door Large\nСтіна, Ñку можна відчинити й зачинити. +block.mender.description = ÐнглійÑька назва: Mender\nПеріодично ремонтує блоки у Ñвоєму радіуÑÑ– дії.\nЗа бажаннÑм можна викориÑтати кремній Ð·Ð°Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑу дії й ефективноÑті. +block.mend-projector.description = ÐнглійÑька назва: Mend Projector\nРемонтує блоки у Ñвоєму радіуÑÑ– дії.\nЗа бажаннÑм можна викориÑтати фазову тканину Ð·Ð°Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑу дії й ефективноÑті. +block.overdrive-projector.description = ÐнглійÑька назва: Overdrive Projector\nЗбільшує швидкіÑть найближчих будівель.\nЗа бажаннÑм можна викориÑтати фазову тканину Ð·Ð°Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð°Ð´Ñ–ÑƒÑу дії й ефективноÑті. +block.force-projector.description = ÐнглійÑька назва: Force Projector\nСтворює навколо Ñебе шеÑтикутне Ñилове поле, захищаючи будівлі та блоки вÑередині від пошкоджень.\nПерегріваєтьÑÑ, Ñкщо завдано занадто великої шкоди. За бажаннÑм можна викориÑтати теплоноÑій Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð±Ñ–Ð³Ð°Ð½Ð½Ñ Ð¿ÐµÑ€ÐµÐ³Ñ€Ñ–Ð²Ñƒ. Ð”Ð»Ñ Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ щита можна викориÑтовувати фазову тканину. +block.shock-mine.description = ÐнглійÑька назва: Shock Mine\nВипуÑкає електричні дуги в разі контакту з ворогом. +block.conveyor.description = ÐнглійÑька назва: Conveyor\nПереміщує предмети вперед. +block.titanium-conveyor.description = ÐнглійÑька назва: Titanium Conveyor\nПереміщує предмети швидше, ніж звичайний конвеєр. +block.plastanium-conveyor.description = ÐнглійÑька назва: Plastanium Conveyor\nПереміщує предмети партіÑми. Приймає предмети на задній чаÑтині та вивантажує Ñ—Ñ… у трьох напрÑмках Ñпереду. Потребує кілька точок Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ‚Ð° Ñ€Ð¾Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¼Ð°ÐºÑимальної пропуÑкної здатноÑті. +block.junction.description = ÐнглійÑька назва: Junction\nДіє Ñк міÑÑ‚ Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… перехреÑних конвеєрних Ñтрічок. +block.bridge-conveyor.description = ÐнглійÑька назва: Bridge Conveyor\nТранÑпортує предмети через будівлі або міÑцевіÑть +block.phase-conveyor.description = ÐнглійÑька назва: Phase Conveyor\nМиттєво транÑпортує предмети через міÑцевоÑті або будівлі. Більший діапазон, ніж у моÑтового конвеєра, але потребує енергії. +block.sorter.description = ÐнглійÑька назва: Sorter\nЯкщо предмет відповідає вибраному, його можна передати. Ð’ іншому випадку предмет виводитьÑÑ Ð»Ñ–Ð²Ð¾Ñ€ÑƒÑ‡ та праворуч. +block.inverted-sorter.description = ÐнглійÑька назва: Inverted Sorter\nСхожий на звичайний Ñортувальник, але виводить обрані предмети на бокові Ñторони. +block.router.description = ÐнглійÑька назва: Router\nРозподілÑÑ” предмети, що надходÑть, порівну на 3 різні напрÑмки. block.router.details = Ðеобхідне зло. Ðе викориÑтовуйте поруч із входами до механізмів, оÑкільки вони, входи, будуть забиті вихідними предметами. -block.distributor.description = РозділÑÑ” предмети до 7 інших напрÑмків порівну. -block.overflow-gate.description = Вивантажує лише ліворуч Ñ– праворуч, Ñкщо передній шлÑÑ… заблокований. -block.underflow-gate.description = Повна протилежніÑть надмірному затвору. Виводить предмет прÑмо, Ñкщо лівий Ñ– правий шлÑÑ… заблоковано. -block.mass-driver.description = Ðайкращий блок Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½ÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ñ–Ð². Збирає кілька предметів, а потім виÑтрілює Ñ—Ñ… до іншої електромагнітної катапульти на велику відÑтань. Ð”Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ потребує енергіÑ. -block.mechanical-pump.description = Дешевий наÑÐ¾Ñ Ñ–Ð· повільним виходом, але не потребує енергоÑпоживаннÑ. -block.rotary-pump.description = УдоÑконалений наÑоÑ. ÐаÑоÑи більше викачують, але потребують енергію. -block.thermal-pump.description = Ðайкращий наÑоÑ. -block.conduit.description = ПереÑуває рідини вперед. ЗаÑтоÑовуєтьÑÑ Ñпільно з наÑоÑами та іншими трубопроводами. -block.pulse-conduit.description = ПереÑуває рідини вперед. Швидше транÑпортує Ñ– зберігає більше рідини, ніж Ñтандартні трубопроводи. -block.plated-conduit.description = ПереÑуває рідини вперед. Ðе приймає рідин із боків окрім інших трубопроводів. Ðе протікає. -block.liquid-router.description = Приймає рідини з одного напрÑмку та виводить Ñ—Ñ… до трьох інших напрÑмків порівну. Також може зберігати певну кількіÑть рідини. -block.liquid-tank.description = Зберігає велику кількіÑть рідини. Виводить воду на вÑÑ– Ñторони, через це Ñхожий на рідинний маршрутизатор. -block.liquid-junction.description = Діє Ñк міÑÑ‚ Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… трубопроводів. -block.bridge-conduit.description = ТранÑпортує рідину через міÑцевіÑть Ñ– будівлі. -block.phase-conduit.description = ТранÑпортує рідину через міÑцевіÑть Ñ– будівлі. Діапазон дії більший ніж у моÑтового трубопроводу -block.power-node.description = Передає Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð° приєднані вузли. Вузол буде отримувати Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ будь-Ñких ÑуÑідніх блоків або подавати Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ них. -block.power-node-large.description = Передовий вузол Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð· більшим радіуÑом дії. -block.surge-tower.description = Вузол Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð· меншою кількіÑтю доÑтупних з’єднань Ñ– з найбільшим радіуÑом дії. -block.diode.description = Ð–Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð°ÐºÑƒÐ¼ÑƒÐ»Ñтора може протікати через цей блок лише в одному напрÑмку, але лише в тому випадку, Ñкщо інша Ñторона має менше енергії. -block.battery.description = Зберігає енергію Ñк буфер у чаÑи надлишкової енергії. Виводить енергію в періоди дефіциту. -block.battery-large.description = Зберігає енергію Ñк буфер у чаÑи надлишкової енергії. Виводить енергію в періоди дефіциту. Більша ємніÑть ніж у звичайного акумулÑтора. -block.combustion-generator.description = ВироблÑÑ” енергію, Ñпалюючи легкозаймиÑті матеріали, Ñк-от вугіллÑ. -block.thermal-generator.description = ВироблÑÑ” енергію в разі Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð² Ñпекотних міÑцÑÑ…. -block.steam-generator.description = ВироблÑÑ” енергію, Ñпалюючи легкозаймиÑті матеріали й перетворює воду в пару. -block.differential-generator.description = ВироблÑÑ” велику кількіÑть енергії. ВикориÑтовує різницю температур між кріогенною рідиною й пиротитом, що горить. -block.rtg-generator.description = ВикориÑтовує тепло радіоактивних Ñполук, Ñкі розкладаютьÑÑ, Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐµÐ½ÐµÑ€Ð³Ñ–Ñ— з повільною швидкіÑтю. -block.solar-panel.description = Забезпечує невелику кількіÑть енергії від ÑонцÑ. -block.solar-panel-large.description = Забезпечує невелику кількіÑть енергії від ÑонцÑ. Значно ефективніша ніж Ñтандартна ÑонÑчна панель. -block.thorium-reactor.description = ВироблÑÑ” значну кількіÑть енергії з торію. Потребує поÑтійного охолодженнÑ. Сильно вибухне, Ñкщо подаватиметьÑÑ Ð½ÐµÐ´Ð¾ÑÑ‚Ð°Ñ‚Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–Ñть теплоноÑÑ–Ñ. -block.impact-reactor.description = Здатний Ñтворювати величезну кількіÑть енергії за макÑимальної ефективноÑті. Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑку процеÑу потрібно значні обÑÑги енергії. -block.mechanical-drill.description = Якщо розміÑтити на доречних плитках, то виводитиме предмети поÑтійно, але повільно. Придатний лише Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ… реÑурÑів. -block.pneumatic-drill.description = Поліпшений бур, здатний видобувати титан. Видобуває швидше, ніж механічний бур. -block.laser-drill.description = Дає змогу видобувати ще швидше за допомогою лазерної технології, але потребує енергії. Здатний видобувати торій. -block.blast-drill.description = Ðайкращий бур. Потребує великої кількоÑті енергії. -block.water-extractor.description = Викачує підземні води. ВикориÑтовуєтьÑÑ Ð² міÑцÑÑ…, де немає поверхневої води. -block.cultivator.description = Культивує невеликі концентрації Ñпор у Ñтручки. -block.cultivator.details = Відновлена технологіÑ. ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸Ñ‡ÐµÐ·Ð½Ð¾Ñ— кількоÑті біомаÑи Ñкомога ефективніше. Ймовірно, початковий інкубатор Ñпор, що зараз покриває Серпуло. -block.oil-extractor.description = ВикориÑтовуєтьÑÑ Ð²ÐµÐ»Ð¸ÐºÐ° кількіÑть енергії, піÑку та води Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ñ„Ñ‚Ð¸. -block.core-shard.description = Ядро бази. ПіÑÐ»Ñ Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñектор втрачаєтьÑÑ. Ðайперша верÑÑ–Ñ ÐºÐ°Ð¿Ñули Ñдра. ПіÑÐ»Ñ Ð¹Ð¾Ð³Ð¾ Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð²ÑÑ– контакти з регіоном втрачаютьÑÑ. Ðе допуÑтіть цього. -block.core-shard.details = Ðайперша верÑÑ–Ñ ÐºÐ°Ð¿Ñули Ñдра. Компактне. Самовідтворюванне. ОÑнащене одноразовими пуÑковими рушіÑми. Ðе призначено Ð´Ð»Ñ Ð¼Ñ–Ð¶Ð¿Ð»Ð°Ð½ÐµÑ‚Ð½Ð¸Ñ… подорожей. -block.core-foundation.description = Ядро бази. Добре броньоване. Зберігає більше реÑурÑів. +block.distributor.description = ÐнглійÑька назва: Distributor\nРозділÑÑ” предмети до 7 інших напрÑмків порівну. +block.overflow-gate.description = ÐнглійÑька назва: Overflow Gate\nВивантажує лише ліворуч Ñ– праворуч, Ñкщо передній шлÑÑ… заблокований. +block.underflow-gate.description = ÐнглійÑька назва: Underflow Gate\nПовна протилежніÑть надмірному затвору. Виводить предмет прÑмо, Ñкщо лівий Ñ– правий шлÑÑ… заблоковано. +block.mass-driver.description = ÐнглійÑька назва: Mass Driver\nÐайкращий блок Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½ÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ñ–Ð². Збирає кілька предметів, а потім виÑтрілює Ñ—Ñ… до іншої електромагнітної катапульти на велику відÑтань. Ð”Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ потребує енергію. +block.mechanical-pump.description = ÐнглійÑька назва: Mechanical Pump\nДешева помпа із повільним виходом, але не потребує енергоÑпоживаннÑ. +block.rotary-pump.description = ÐнглійÑька назва: Rotary Pump\nПоліпшена механічна помпа. Більше викачує, але потребує енергію. +block.impulse-pump.description = ÐнглійÑька назва: Impulse Pump\nÐайкраща помпа. +block.conduit.description = ÐнглійÑька назва: Conduit\nПереÑуває рідини вперед. ЗаÑтоÑовуєтьÑÑ Ñпільно з помпами та іншими трубопроводами. +block.pulse-conduit.description = ÐнглійÑька назва: Pulse Conduit\nПереÑуває рідини вперед. Швидше транÑпортує Ñ– зберігає більше рідини, ніж Ñтандартні трубопроводи. +block.plated-conduit.description = ÐнглійÑька назва: Plated Conduit\nПереÑуває рідини вперед. Ðе приймає рідин із боків окрім інших трубопроводів. Ðе протікає. +block.liquid-router.description = ÐнглійÑька назва: Liquid Router\nПриймає рідини з одного напрÑмку та виводить Ñ—Ñ… до трьох інших напрÑмків порівну. Також може зберігати певну кількіÑть рідини. +block.liquid-container.description = ÐнглійÑька назва: Liquid Container\nЗберігає чималу кількіÑть рідини. Виводить у вÑÑ– Ñторони, подібно до рідинного маршрутизатора. +block.liquid-tank.description = ÐнглійÑька назва: Liquid Tank\nЗберігає велику кількіÑть рідини. Виводить воду на вÑÑ– Ñторони, через це Ñхожий на рідинний маршрутизатор. +block.liquid-junction.description = ÐнглійÑька назва: Liquid Junction\nДіє Ñк міÑÑ‚ Ð´Ð»Ñ Ð´Ð²Ð¾Ñ… трубопроводів. +block.bridge-conduit.description = ÐнглійÑька назва: Bridge Conduit\nТранÑпортує рідину через міÑцевіÑть Ñ– будівлі. +block.phase-conduit.description = ÐнглійÑька назва: Phase Conduit\nТранÑпортує рідину через міÑцевіÑть Ñ– будівлі. Діапазон дії більший ніж у моÑтового трубопроводу. +block.power-node.description = ÐнглійÑька назва: Power Node\nПередає Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ð° приєднані вузли. Вузол буде отримувати Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ будь-Ñких ÑуÑідніх блоків або подавати Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ них. +block.power-node-large.description = ÐнглійÑька назва: Power Node Large\nПередовий вузол Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð· більшим радіуÑом дії. +block.surge-tower.description = ÐнглійÑька назва: Surge Tower\nВузол Ð¶Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð· меншою кількіÑтю доÑтупних з’єднань Ñ– з найбільшим радіуÑом дії. +block.diode.description = ÐнглійÑька назва: Diode\nÐ–Ð¸Ð²Ð»ÐµÐ½Ð½Ñ Ð°ÐºÑƒÐ¼ÑƒÐ»Ñтора може протікати через цей блок лише в одному напрÑмку, але лише в тому випадку, Ñкщо інша Ñторона має менше енергії. +block.battery.description = ÐнглійÑька назва: Battery\nЗберігає енергію Ñк буфер у чаÑи надлишкової енергії. Виводить енергію в періоди дефіциту. +block.battery-large.description = ÐнглійÑька назва: Battery Large\nЗберігає енергію Ñк буфер у чаÑи надлишкової енергії. Виводить енергію в періоди дефіциту. Більша ємніÑть ніж у звичайного акумулÑтора. +block.combustion-generator.description = ÐнглійÑька назва: Combustion Generator\nВироблÑÑ” енергію, Ñпалюючи легкозаймиÑті матеріали, Ñк-от вугіллÑ. +block.thermal-generator.description = ÐнглійÑька назва: Thermal Generator\nВироблÑÑ” енергію в разі Ñ€Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð² гарÑчих міÑцÑÑ…. +block.steam-generator.description = ÐнглійÑька назва: Steam Generator\nВироблÑÑ” енергію, Ñпалюючи легкозаймиÑті матеріали й перетворює воду в пару. +block.differential-generator.description = ÐнглійÑька назва: Differential Generator\nВироблÑÑ” велику кількіÑть енергії. ВикориÑтовує різницю температур між кріогенною рідиною й пиротитом, що горить. +block.rtg-generator.description = ÐнглійÑька назва: Rtg Generator\nВикориÑтовує тепло радіоактивних Ñполук, що розкладаютьÑÑ, Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ ÐµÐ½ÐµÑ€Ð³Ñ–Ñ— з повільною швидкіÑтю. +block.solar-panel.description = ÐнглійÑька назва: Solar Panel\nЗабезпечує невелику кількіÑть енергії від ÑонцÑ. +block.solar-panel-large.description = ÐнглійÑька назва: Solar Panel Large\nЗабезпечує невелику кількіÑть енергії від ÑонцÑ. Значно ефективніша ніж Ñтандартна ÑонÑчна панель. +block.thorium-reactor.description = ÐнглійÑька назва: Thorium Reactor\nВироблÑÑ” значну кількіÑть енергії з торію. Потребує поÑтійного охолодженнÑ. Сильно вибухне, Ñкщо подаватиметьÑÑ Ð½ÐµÐ´Ð¾ÑÑ‚Ð°Ñ‚Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–Ñть теплоноÑÑ–Ñ. +block.impact-reactor.description = ÐнглійÑька назва: Impact Reactor\nЗдатний Ñтворювати величезну кількіÑть енергії за макÑимальної ефективноÑті. Ð”Ð»Ñ Ð·Ð°Ð¿ÑƒÑку процеÑу потрібно значні обÑÑги енергії. +block.mechanical-drill.description = ÐнглійÑька назва: Mechanical Drill\nЯкщо розміÑтити на доречних плитках, то виводитиме предмети поÑтійно, але повільно. Придатний лише Ð´Ð»Ñ Ð±Ð°Ð·Ð¾Ð²Ð¸Ñ… реÑурÑів. +block.pneumatic-drill.description = ÐнглійÑька назва: Pneumatic Drill\nПоліпшений бур, здатний видобувати титан. Видобуває швидше, ніж механічний бур. +block.laser-drill.description = ÐнглійÑька назва: Laser Drill\nДає змогу видобувати ще швидше за допомогою лазерної технології, але потребує енергії. Здатний видобувати торій. +block.blast-drill.description = ÐнглійÑька назва: Blast Drill\nÐайкращий бур. Потребує великої кількоÑті енергії. +block.water-extractor.description = ÐнглійÑька назва: Water Extractor\nВикачує підземні води. ВикориÑтовуєтьÑÑ Ð² міÑцÑÑ…, де немає поверхневої води. +block.cultivator.description = ÐнглійÑька назва: Cultivator\nКультивує невеликі концентрації Ñпор у Ñтручки. +block.cultivator.details = Відновлена технологіÑ. ВикориÑтовуєтьÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð²ÐµÐ»Ð¸ÐºÐ¾Ñ— кількоÑті біомаÑи Ñкомога ефективніше. Ймовірно, початковий інкубатор Ñпор, що зараз покриває Серпуло. +block.oil-extractor.description = ÐнглійÑька назва: Oil Extractor\nВикориÑтовуєтьÑÑ Ð²ÐµÐ»Ð¸ÐºÐ° кількіÑть енергії, піÑку та води Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð½Ð°Ñ„Ñ‚Ð¸. +block.core-shard.description = ÐнглійÑька назва: Core Shard\nЯдро бази. ПіÑÐ»Ñ Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñектор втрачаєтьÑÑ. Ðайперша верÑÑ–Ñ ÐºÐ°Ð¿Ñули Ñдра. ПіÑÐ»Ñ Ð¹Ð¾Ð³Ð¾ Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð²ÑÑ– контакти з регіоном втрачаютьÑÑ. Ðе допуÑтіть цього. +block.core-shard.details = Ðайперша верÑÑ–Ñ ÐºÐ°Ð¿Ñули Ñдра. Компактне. Самовідтворюване. ОÑнащене одноразовими пуÑковими рушіÑми. Ðе призначено Ð´Ð»Ñ Ð¼Ñ–Ð¶Ð¿Ð»Ð°Ð½ÐµÑ‚Ð½Ð¸Ñ… подорожей. +block.core-foundation.description = ÐнглійÑька назва: Core Foundation\nЯдро бази. Добре броньоване. Зберігає більше реÑурÑів. block.core-foundation.details = Друга верÑÑ–Ñ Ñдра. -block.core-nucleus.description = Ядро бази. Ðапрочуд добре броньовано. Зберігає величезну кількіÑть реÑурÑів. +block.core-nucleus.description = ÐнглійÑька назва: Core Nucleus\nЯдро бази. Ðапрочуд добре броньовано. Зберігає величезну кількіÑть реÑурÑів. block.core-nucleus.details = Ð¢Ñ€ÐµÑ‚Ñ Ñ– фінальна верÑÑ–Ñ Ñдра. -block.vault.description = Зберігає велику кількіÑть предметів кожного типу. Блок розвантажувача може викориÑтовуватиÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ñ–Ð² зі Ñховища. -block.container.description = Зберігає малу кількіÑть предметів кожного типу. Блок розвантажувача може викориÑтовуватиÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ñ–Ð² зі Ñховища. -block.unloader.description = Вивантажує предмети з найближчих блоків -block.launch-pad.description = ЗапуÑкає партії предметів без необхідноÑті запуÑку Ñдра. -block.duo.description = ВиÑтрілює чергами куль у ворогів. -block.scatter.description = ВиÑтрілює ÑкупченнÑм Ñвинцю, брухту чи метаÑкла в повітрÑних противників. -block.scorch.description = Підпалює будь-Ñких наземних противників поблизу. ВиÑокоефективна на близькій відÑтані. -block.hail.description = ВиÑтрілює невеликі ÑнарÑди в наземних ворогів на великі відÑтані. -block.wave.description = ВиÑтрілює потоки рідин у ворогів. Ðвтоматично гаÑить пожежі в разі поÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ Ð²Ð¾Ð´Ð¸. -block.lancer.description = ЗарÑджає Ñ– виÑтрілює потужні пучки енергії в наземних противників. -block.arc.description = ВиÑтрілює дугами електрики в наземних противників. -block.swarmer.description = ЗапуÑкає ракети, що автоматично наводÑтьÑÑ Ð² противників. -block.salvo.description = ВиÑтрілює швидкий залп куль у противника. -block.fuse.description = ВиÑтрілює трьома променÑми, що пронизують броню, у малому радіуÑÑ– в противників. -block.ripple.description = ВиÑтрілює ÑкупченнÑм ÑнарÑдів у противників. -block.cyclone.description = Підпалює вибухові грудки ÑÐºÑƒÐ¿Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð½Ð¸ÐºÑ–Ð². -block.spectre.description = ВиÑтрілює великі бронебійні кулі в повітрÑні та наземні цілі. -block.meltdown.description = ЗарÑджає Ñ– виÑтрілює лазерним променем у найближчих противників. Ð”Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ потрібен теплоноÑій. -block.foreshadow.description = ВиÑтрілює великим болтом в одну ціль на велику диÑтанцію -block.repair-point.description = Безперервно ремонтує найближчу пошкоджену бойову одиницю у Ñвоєму радіуÑÑ– дії. -block.segment.description = Пошкоджує та руйнує вхідні ÑнарÑди. Окрім лазерних. -block.parallax.description = ПритÑгає ворожі повітрÑні одиниці, пошкоджуючи Ñ—Ñ… у процеÑÑ–. -block.tsunami.description = ВиÑтрілює потужними потоками рідини у ворогів. Ðвтоматично гаÑить пожежі в разі поÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ Ð²Ð¾Ð´Ð¸. -block.silicon-crucible.description = Очищає кремній від піÑку та вугіллÑ, викориÑтовуючи пиратит Ñк додаткове джерело тепла. Більш ефективний у жарких міÑцÑÑ…. -block.disassembler.description = ПоділÑÑ” шлак на незначні кількоÑті екзотичних мінеральних компонентів за низькою ефективноÑті. Може вироблÑти торій. -block.overdrive-dome.description = Збільшує швидкіÑть найближчих будівель. Потребує фазову тканину Ñ– кремній. -block.payload-conveyor.description = Переміщує великі вантажі, Ñк-от одиниці з заводів. -block.payload-router.description = РозділÑÑ” вантажі, що надходÑть, у 3 різні Ñторони. -block.command-center.description = Контролює поведінку одиниць за допомогою декількох різних команд. -block.ground-factory.description = ВироблÑÑ” наземних одиниць. Вивід одиниць можна здійÑнити безпоÑередньо на міÑцевіÑть, або ÑпрÑмувати до реконÑтрукторів Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. -block.air-factory.description = ВироблÑÑ” повітрÑних одиниць. Вивід одиниць можна здійÑнити безпоÑередньо на міÑцевіÑть, або ÑпрÑмувати до реконÑтрукторів Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. -block.naval-factory.description = ВироблÑÑ” одиниць. Вивід одиниць можна здійÑнити безпоÑередньо на міÑцевіÑть, або ÑпрÑмувати до реконÑтрукторів Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. -block.additive-reconstructor.description = Поліпшує введених одиниць до другого рівнÑ. -block.multiplicative-reconstructor.description = Поліпшує введених одиниць до третього рівнÑ. -block.exponential-reconstructor.description = Поліпшує введених одиниць до четвертого рівнÑ. -block.tetrative-reconstructor.description = Поліпшує введених одиниць до п’Ñтого Ñ– фінального рівнÑ. -block.switch.description = Перемикач. Стан можна читати й контролювати за допомогою логічних процеÑорів. -block.micro-processor.description = ЗапуÑкає поÑлідовніÑть логічних вказівок (інÑтрукцій) у неÑкінченному циклі. Може викориÑтовуватиÑÑ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² та будівель. -block.logic-processor.description = ЗапуÑкає поÑлідовніÑть логічних вказівок (інÑтрукцій) у неÑкінченному циклі. Може викориÑтовуватиÑÑ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² та будівель. Швидше ніж МікропроцеÑор. -block.hyper-processor.description = ЗапуÑкає поÑлідовніÑть логічних вказівок (інÑтрукцій) у неÑкінченному циклі. Може викориÑтовуватиÑÑ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² та будівель. Швидше ніж Логічний процеÑор -block.memory-cell.description = Зберігає інформацію Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑора. -block.memory-bank.description = Зберігає інформацію Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑора. ВиÑока міÑткіÑть. -block.logic-display.description = Показує довільну графіку з логічного процеÑора. -block.large-logic-display.description = Показує довільну графіку з логічного процеÑора. -block.interplanetary-accelerator.description = Велика електромагнітна башта-рейкотрон. ПриÑкорює Ñдра, щоби подолати планетне Ñ‚ÑÐ¶Ñ–Ð½Ð½Ñ Ð´Ð»Ñ Ð¼Ñ–Ð¶Ð¿Ð»Ð°Ð½ÐµÑ‚Ð½Ð¾Ð³Ð¾ розгортаннÑ. -unit.dagger.description = ВиÑтрілює Ñтандартними кулÑми в найближчих ворогах. -unit.mace.description = ВиÑтрілює потоками Ð¿Ð¾Ð»ÑƒÐ¼â€™Ñ Ð² найближчих ворогів. -unit.fortress.description = ВиÑтрілює з дальнобійної артилерії в наземних цілей. -unit.scepter.description = ВиÑтрілює шквалом зарÑджених куль у найближчих ворогів. -unit.reign.description = ВиÑтрілює шквалом маÑивних пронизливих куль у найближчих ворогів. -unit.nova.description = ВиÑтрілює лазерними болтами, Ñкі пошкоджують ворогів та відновлюють Ñоюзні Ñпоруди. Здатний до польоту. -unit.pulsar.description = ВипуÑкає дуги електрики, Ñкі завдають шкоди ворогам та відновлюють Ñоюзні Ñпоруди. Здатний до польоту. -unit.quasar.description = ВиÑтрілює пробивними лазерними промені, Ñкі пошкоджують ворогів та відновлюють Ñпоріднені конÑтрукції. Здатний до польоту. Захищений. -unit.vela.description = ВиÑтрілює маÑивним безперервним лазерним променем, Ñкий завдає шкоди ворогам, ÑпричинÑÑ” пожежі та відновлює Ñоюзні Ñпоруди. Здатний до польоту. -unit.corvus.description = СпричинÑÑ” маÑивний лазерний вибух, Ñкий завдає шкоди ворогам та відновлює Ñпоріднені Ñпоруди. Може переÑтупати через більшіÑть міÑцевоÑті. -unit.crawler.description = Біжить до ворогів Ñ– ÑамознищуєтьÑÑ, викликаючи великий вибух. -unit.atrax.description = Випалює виÑнажливі шари шлаку в наземних цілÑÑ…. Може переÑтупити більшіÑть міÑцевоÑті. -unit.spiroct.description = ВиÑтрілює виÑнажливими лазерними променÑми у ворогів, відновлюючиÑÑŒ водночаÑ. Може переÑтупати через більшіÑть міÑцевоÑті. -unit.arkyid.description = ВиÑтрілює у ворогів великими виÑнажливими лазерними променÑми, відновлюючиÑÑŒ при цьому. -unit.toxopid.description = ВиÑтрілює у ворогів великими електричними каÑетними ÑнарÑдами та пробивними лазерами. Може переÑтупати через більшіÑть міÑцевоÑті. -unit.flare.description = ВиÑтрілює Ñтандартними кулÑми в найближчі цілі. -unit.horizon.description = Кидає купу бомб на наземні цілі. -unit.zenith.description = ВиÑтрілює залпи ракет у вÑÑ–Ñ… найближчих ворогів. -unit.antumbra.description = ВиÑтрілює шквал куль у вÑÑ–Ñ… найближчих ворогів. -unit.eclipse.description = ВиÑтрілює двома пронизливими лазерами та шквалом куль у вÑÑ–Ñ… найближчих ворогів. -unit.mono.description = Ðвтоматично видобуває мідь Ñ– Ñвинець Ñ– кладе Ñ—Ñ… у Ñдро. -unit.poly.description = Ðвтоматично перебудовує зруйновані Ñпоруди та допомагає іншим одиницÑм у будівництві. -unit.mega.description = Ðвтоматично відновлює пошкоджені конÑтрукції. Здатний неÑти блоки та невеликі наземні блоки. -unit.quad.description = Кидає великі бомби на наземні цілі, відновлюючи Ñоюзні Ñпоруди та завдаючи шкоди ворогам. Здатний неÑти Ñередні наземні одиниці. -unit.oct.description = Захищає найближчих Ñоюзників Ñвоїм відновлювальним щитом. Здатний неÑти більшіÑть наземних одиниць. -unit.risso.description = ВиÑтрілює шквалом ракет Ñ– куль по вÑÑ–Ñ… найближчих ворогах. -unit.minke.description = ВиÑтрілює запальними ÑнарÑдами та Ñтандартними кулÑми по найближчих наземних цілÑÑ…. -unit.bryde.description = ВиÑтрілює у ворогів артилерійÑькими ÑнарÑдами та ракетами великої дальноÑті. -unit.sei.description = ВиÑтрілює у ворогів шквалом ракет Ñ– бронебійних куль. -unit.omura.description = ВиÑтрілює у ворогів далекобійним болтом, що пробиває броню. ВироблÑÑ” повітрÑних Фальшфеєрів. -unit.alpha.description = Захищає Ñдро «Уламок» від противників. Будує Ñпоруди. -unit.beta.description = Захищає Ñдро «Штаб» від противників. Будує Ñпоруди. -unit.gamma.description = Захищає Ñдро «Ðтом» від противників. Будує Ñпоруди. +block.vault.description = ÐнглійÑька назва: Vault\nЗберігає велику кількіÑть предметів кожного типу. Блок розвантажувача може викориÑтовуватиÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ñ–Ð² зі Ñховища. +block.container.description = ÐнглійÑька назва: Container\nЗберігає малу кількіÑть предметів кожного типу. Блок розвантажувача може викориÑтовуватиÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð¿Ñ€ÐµÐ´Ð¼ÐµÑ‚Ñ–Ð² зі Ñховища. +block.unloader.description = ÐнглійÑька назва: Unloader\nВивантажує предмети з найближчих блоків +block.launch-pad.description = ÐнглійÑька назва: Launch Pad\nЗапуÑкає партії предметів без необхідноÑті запуÑку Ñдра. +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. +block.duo.description = ÐнглійÑька назва: Duo\nВиÑтрілює чергами куль у ворогів. +block.scatter.description = ÐнглійÑька назва: Scatter\nВиÑтрілює ÑкупченнÑм Ñвинцю, брухту чи метаÑкла в повітрÑних противників. +block.scorch.description = ÐнглійÑька назва: Scorch\nПідпалює будь-Ñких наземних противників поблизу. ВиÑокоефективна на близькій відÑтані. +block.hail.description = ÐнглійÑька назва: Hail\nВиÑтрілює невеликі ÑнарÑди в наземних ворогів на великі відÑтані. +block.wave.description = ÐнглійÑька назва: Wave\nВиÑтрілює потоки рідин у ворогів. Ðвтоматично гаÑить пожежі в разі поÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ Ð²Ð¾Ð´Ð¸. +block.lancer.description = ÐнглійÑька назва: Lancer\nЗарÑджає Ñ– виÑтрілює потужні пучки енергії в наземних противників. +block.arc.description = ÐнглійÑька назва: Arc\nВиÑтрілює дугами електрики в наземних противників. +block.swarmer.description = ÐнглійÑька назва: Swarmer\nЗапуÑкає ракети, що автоматично наводÑтьÑÑ Ð² противників. +block.salvo.description = ÐнглійÑька назва: Salvo\nВиÑтрілює швидкий залп куль у противника. +block.fuse.description = ÐнглійÑька назва: Fuse\nВиÑтрілює трьома променÑми, що пронизують броню, у малому радіуÑÑ– в противників. +block.ripple.description = ÐнглійÑька назва: Ripple\nВиÑтрілює ÑкупченнÑм ÑнарÑдів у противників. +block.cyclone.description = ÐнглійÑька назва: Cyclone\nПідпалює вибухові грудки й виÑтрілює Ñ—Ñ… у ÑÐºÑƒÐ¿Ñ‡ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¸Ð²Ð½Ð¸ÐºÑ–Ð². +block.spectre.description = ÐнглійÑька назва: Spectre\nВиÑтрілює великі бронебійні кулі в повітрÑні та наземні цілі. +block.meltdown.description = ÐнглійÑька назва: Meltdown\nЗарÑджає Ñ– виÑтрілює лазерним променем у найближчих противників. Ð”Ð»Ñ Ñ€Ð¾Ð±Ð¾Ñ‚Ð¸ потрібен теплоноÑій. +block.foreshadow.description = ÐнглійÑька назва: Foreshadow\nВиÑтрілює великим болтом в одну ціль на велику диÑтанцію. +block.repair-point.description = ÐнглійÑька назва: Repair Point\nБезперервно ремонтує найближчу пошкоджену бойову одиницю у Ñвоєму радіуÑÑ– дії. Пріоритетні Ñоюзники з вищим макÑимальним здоров’Ñм. +block.segment.description = ÐнглійÑька назва: Segment\nПошкоджує та руйнує вхідні ÑнарÑди. Окрім лазерних. +block.parallax.description = ÐнглійÑька назва: Parallax\nПритÑгає ворожі повітрÑні одиниці, пошкоджуючи Ñ—Ñ… у процеÑÑ–. +block.tsunami.description = ÐнглійÑька назва: Tsunami\nВиÑтрілює потужними потоками рідини у ворогів. Ðвтоматично гаÑить пожежі в разі поÑÑ‚Ð°Ñ‡Ð°Ð½Ð½Ñ Ð²Ð¾Ð´Ð¸. +block.silicon-crucible.description = ÐнглійÑька назва: Silicon Crucible\nОчищає кремній від піÑку та вугіллÑ, викориÑтовуючи пиратит Ñк додаткове джерело тепла. Більш ефективний у жарких міÑцÑÑ…. +block.disassembler.description = ÐнглійÑька назва: Disassembler\nПоділÑÑ” шлак на незначні кількоÑті екзотичних мінеральних компонентів за низької ефективноÑті. Може вироблÑти торій. +block.overdrive-dome.description = ÐнглійÑька назва: Overdrive Dome\nЗбільшує швидкіÑть найближчих будівель. Потребує фазову тканину Ñ– кремній. +block.payload-conveyor.description = ÐнглійÑька назва: Payload Conveyor\nПереміщує великі вантажі, Ñк-от одиниці з заводів. +block.payload-router.description = ÐнглійÑька назва: Payload Router\nРозділÑÑ” вантажі, що надходÑть, у 3 різні Ñторони. +block.ground-factory.description = ÐнглійÑька назва: Ground Factory\nВироблÑÑ” наземних одиниць. Вивід одиниць можна здійÑнити безпоÑередньо на міÑцевіÑть, або ÑпрÑмувати до реконÑтрукторів Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. +block.air-factory.description = ÐнглійÑька назва: Air Factory\nВироблÑÑ” повітрÑних одиниць. Вивід одиниць можна здійÑнити безпоÑередньо на міÑцевіÑть, або ÑпрÑмувати до реконÑтрукторів Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. +block.naval-factory.description = ÐнглійÑька назва: Naval Factory\nВироблÑÑ” одиниць. Вивід одиниць можна здійÑнити безпоÑередньо на міÑцевіÑть, або ÑпрÑмувати до реконÑтрукторів Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. +block.additive-reconstructor.description = ÐнглійÑька назва: Additive Reconstructor\nПоліпшує введених одиниць до другого рівнÑ. +block.multiplicative-reconstructor.description = ÐнглійÑька назва: Multiplicative Reconstructor\nПоліпшує введених одиниць до третього рівнÑ. +block.exponential-reconstructor.description = ÐнглійÑька назва: Exponential Reconstructor\nПоліпшує введених одиниць до четвертого рівнÑ. +block.tetrative-reconstructor.description = ÐнглійÑька назва: Tetrative Reconstructor\nПоліпшує введених одиниць до п’Ñтого Ñ– фінального рівнÑ. +block.switch.description = ÐнглійÑька назва: Switch\nПеремикач. Стан можна читати й контролювати за допомогою логічних процеÑорів. +block.micro-processor.description = ÐнглійÑька назва: Micro Processor\nЗапуÑкає поÑлідовніÑть логічних вказівок (операцій) у неÑкінченному циклі. Може викориÑтовуватиÑÑ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² та будівель. +block.logic-processor.description = ÐнглійÑька назва: Logic Processor\nЗапуÑкає поÑлідовніÑть логічних вказівок (операцій) у неÑкінченному циклі. Може викориÑтовуватиÑÑ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² та будівель. Швидше ніж МікропроцеÑор. +block.hyper-processor.description = ÐнглійÑька назва: Hyper Processor\nЗапуÑкає поÑлідовніÑть логічних вказівок (операцій) у неÑкінченному циклі. Може викориÑтовуватиÑÑ Ð´Ð»Ñ ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð»Ð¾ÐºÑ–Ð² та будівель. Швидше ніж Логічний процеÑор +block.memory-cell.description = ÐнглійÑька назва: Memory Cell\nЗберігає інформацію Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑора. +block.memory-bank.description = ÐнглійÑька назва: Memory Bank\nЗберігає інформацію Ð´Ð»Ñ Ð»Ð¾Ð³Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ процеÑора. ВиÑока міÑткіÑть. +block.logic-display.description = ÐнглійÑька назва: Logic Display\nПоказує довільну графіку з логічного процеÑора. +block.large-logic-display.description = ÐнглійÑька назва: Large Logic Display\nПоказує довільну графіку з логічного процеÑора. +block.interplanetary-accelerator.description = ÐнглійÑька назва: Interplanetary Accelerator\nВелика електромагнітна башта-рейкотрон. ПриÑкорює Ñдра, щоби подолати планетне Ñ‚ÑÐ¶Ñ–Ð½Ð½Ñ Ð´Ð»Ñ Ð¼Ñ–Ð¶Ð¿Ð»Ð°Ð½ÐµÑ‚Ð½Ð¾Ð³Ð¾ розгортаннÑ. +block.repair-turret.description = ÐнглійÑька назва: Repair Turret\nБезпервно ремонтує найближчу пошкоджену одиницю. Ð”Ð»Ñ Ð¿Ñ€Ð¸ÑÐºÐ¾Ñ€ÐµÐ½Ð½Ñ Ñ€ÐµÐ¼Ð¾Ð½Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð¶Ð½Ð° охолодити. + +#Erekir +block.core-bastion.description = ÐнглійÑька назва: Core Bastion\nЯдро бази. Броньоване. ПіÑÐ»Ñ Ð·Ð½Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñектор втрачаєтьÑÑ. +block.core-citadel.description = ÐнглійÑька назва: Core Citadel\nЯдро бази. Дуже добре броньоване. Зберігає більше реÑурÑів, ніж Ñдро «БаÑтіон». +block.core-acropolis.description = ÐнглійÑька назва: Core Acropolis\nЯдро бази. Ðадзвичайно добре броньоване. Зберігає більше реÑурÑів, ніж Ñдро «Цитадель». +block.breach.description = ÐнглійÑька назва: Breach\nВеде вогонь по ворожих цілÑÑ… бронебійними берилієвими або вольфрамовими боєприпаÑами. +block.diffuse.description = ÐнглійÑька назва: Diffuse\nВиÑтрілює шквалом куль у формі широкого конуÑа. Відкидає ворожі цілі назад. +block.sublimate.description = ÐнглійÑька назва: Sublimate\nВеде вогонь безперервним Ñтруменем Ð¿Ð¾Ð»ÑƒÐ¼â€™Ñ Ð¿Ð¾ ворожих цілÑÑ…. Пробиває броню. +block.titan.description = ÐнглійÑька назва: Titan\nВеде вогонь оÑколково-фугаÑним артилерійÑьким ÑнарÑдом по наземних цілÑÑ…. Потребує водню. +block.afflict.description = ÐнглійÑька назва: Afflict\nСтрілÑÑ” маÑивною зарÑдженою кулею оÑколково-фугаÑних ÑнарÑдів. Потребує підігріву. +block.disperse.description = ÐнглійÑька назва: Disperse\nВеде вогонь зенітними чергами по повітрÑних цілÑм. +block.lustre.description = ÐнглійÑька назва: Lustre\nВеде вогонь по ворожих цілÑÑ… повільно рухомим одноцільовим лазером. +block.scathe.description = ÐнглійÑька назва: Scathe\nЗапуÑкає потужну ракету по наземних цілÑм на величезні відÑтані. +block.smite.description = ÐнглійÑька назва: Smite\nВогонь веде чергами зі шрапнельних, блиÑкавичних куль. +block.malign.description = ÐнглійÑька назва: Malign\nВипуÑкає шквал Ñамонавідних лазерних зарÑдів по ворожих цілÑÑ…. Потребує значного нагріву. +block.silicon-arc-furnace.description = ÐнглійÑька назва: Silicon Arc Furnace\nРафінує кремній з піÑку Ñ– графіту. +block.oxidation-chamber.description = ÐнглійÑька назва: Oxidation Chamber\nПеретворює берилій та озон в окÑид. ВиділÑÑ” тепло Ñк побічний продукт. +block.electric-heater.description = ÐнглійÑька назва: Electric Heater\nÐагріває лицьові блоки. Вимагає великої кількоÑті електроенергії. +block.slag-heater.description = ÐнглійÑька назва: Slag Heater\nÐагріває лицьові блоки. Потребує шлаку. +block.phase-heater.description = ÐнглійÑька назва: Phase Heater\nÐагріває лицьові блоки. Потрібна фазова тканина. +block.heat-redirector.description = ÐнглійÑька назва: Heat Redirector\nПеренаправлÑÑ” отримане тепло на інші блоки. +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = ÐнглійÑька назва: Heat Router\nРозподілÑÑ” отримане тепло в трьох вихідних напрÑмках. +block.electrolyzer.description = ÐнглійÑька назва: Electrolyzer\nПеретворює воду на водень та озоновий газ. +block.atmospheric-concentrator.description = ÐнглійÑька назва: Atmospheric Concentrator\nВбирає азот з атмоÑфери. Потребує тепла. +block.surge-crucible.description = ÐнглійÑька назва: Surge Crucible\nУтворює кінетичний Ñплав зі шлаку Ñ– кремнію. Потребує тепла. +block.phase-synthesizer.description = ÐнглійÑька назва: Phase Synthesizer\nСинтезує фазову тканину з торію, піÑку та озону. Потребує тепла. +block.carbide-crucible.description = ÐнглійÑька назва: Carbide Crucible\nПереплавлÑÑ” графіт Ñ– вольфрам в карбід. Потребує тепла. +block.cyanogen-synthesizer.description = ÐнглійÑька назва: Cyanogen Synthesizer\nСинтезує ціаноген з аркициту Ñ– графіту. Потребує тепла. +block.slag-incinerator.description = ÐнглійÑька назва: Slag Incinerator\nСпалює нелеткі предмети або рідини. Потребує шлаку. +block.vent-condenser.description = ÐнглійÑька назва: Vent Condenser\nКонденÑує гази із джерела у воду. Споживає енергію. +block.plasma-bore.description = ÐнглійÑька назва: Plasma Bore\nПри розміщенні лицем до рудної Ñтіни видає предмети неÑкінченно довго. Потребує невеликої кількоÑті енергії. +block.large-plasma-bore.description = ÐнглійÑька назва: Large Plasma Bore\nБільший плазмовий бурильник. Здатний видобувати вольфрам Ñ– торій. Потребує водню та енергії. +block.cliff-crusher.description = ÐнглійÑька назва: Cliff Crusher\nДробить Ñтіни, виводÑчи піÑок неÑкінченно довго. Вимагає енергію. ЕфективніÑть залежить від типу Ñтіни. +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = ÐнглійÑька назва: Impact Drill\nПри розміщенні на руді видає предмети ÑеріÑми до неÑкінченноÑті. Потребує енергії та води. +block.eruption-drill.description = ÐнглійÑька назва: Eruption Drill\nПоліпшений імпульÑний бур. Здатний видобувати торій. Потребує водню. +block.reinforced-conduit.description = ÐнглійÑька назва: Reinforced Conduit\nПереміщує рідини вперед. Ðе приймає нетрубоповідні входи з боків. +block.reinforced-liquid-router.description = ÐнглійÑька назва: Reinforced Liquid Router\nРівномірно розподілÑÑ” рідини на вÑÑ– Ñторони. +block.reinforced-liquid-tank.description = ÐнглійÑька назва: Reinforced Liquid Tank\nЗберігає велику кількіÑть рідини. +block.reinforced-liquid-container.description = ÐнглійÑька назва: Reinforced Liquid Container\nЗберігає значну кількіÑть рідини. +block.reinforced-bridge-conduit.description = ÐнглійÑька назва: Reinforced Bridge Conduit\nТранÑпортує рідини над Ñпорудами та міÑцевіÑтю. +block.reinforced-pump.description = ÐнглійÑька назва: Reinforced Pump\nПерекачує Ñ– виводить рідини. Потребує водню. +block.beryllium-wall.description = ÐнглійÑька назва: Beryllium Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.beryllium-wall-large.description = ÐнглійÑька назва: Beryllium Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.tungsten-wall.description = ÐнглійÑька назва: Tungsten Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.tungsten-wall-large.description = ÐнглійÑька назва: Tungsten Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.carbide-wall.description = ÐнглійÑька назва: Carbide Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.carbide-wall-large.description = ÐнглійÑька назва: Carbide Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів. +block.reinforced-surge-wall.description = ÐнглійÑька назва: Reinforced Surge Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів, періодично випуÑкаючи електричні дуги при зіткненні зі ÑнарÑдом. +block.reinforced-surge-wall-large.description = ÐнглійÑька назва: Reinforced Surge Wall Large\nЗахищає Ñпоруди від ворожих ÑнарÑдів, періодично випуÑкаючи електричні дуги при зіткненні зі ÑнарÑдом. +block.shielded-wall.description = ÐнглійÑька назва: Shielded Wall\nЗахищає Ñпоруди від ворожих ÑнарÑдів. Розгортає щит, Ñкий поглинає більшіÑть ÑнарÑдів при подачі живленнÑ. Проводить енергію. +block.blast-door.description = ÐнглійÑька назва: Blast Door\nСтіна, Ñка відкриваєтьÑÑ, коли наземні одиниці Ñоюзників знаходÑтьÑÑ Ð² межах доÑÑжноÑті. Ðе може управлÑтиÑÑ Ð²Ñ€ÑƒÑ‡Ð½Ñƒ. +block.duct.description = ÐнглійÑька назва: Duct\nПереміщує предмети вперед. Здатний зберігати лише один предмет. +block.armored-duct.description = ÐнглійÑька назва: Armored Duct\nПереміщує предмети вперед. Ðе приймає неканальні входи з боків. +block.duct-router.description = ÐнглійÑька назва: Duct Router\nРозподілÑÑ” речі рівномірно по трьох напрÑмках. Приймає предмети тільки зі зворотного боку. Може бути налаштований Ñк Ñортувальник предметів. +block.overflow-duct.description = ÐнглійÑька назва: Overflow Duct\nВиводить предмети в Ñторони тільки в тому випадку, Ñкщо передній шлÑÑ… заблокований. +block.duct-bridge.description = ÐнглійÑька назва: Duct Bridge\nПереміщує предмети по Ñпорудах та міÑцевоÑті. +block.duct-unloader.description = ÐнглійÑька назва: Duct Unloader\nВивантажує вибраний елемент з блоку, що знаходитьÑÑ Ð·Ð° ним. Ðеможливо вивантажити з Ñдер. +block.underflow-duct.description = ÐнглійÑька назва: Underflow Duct\nÐнтонім до надмірного затвора. Виводить на передню чаÑтину, Ñкщо лівий Ñ– правий шлÑхи заблоковані. +block.reinforced-liquid-junction.description = ÐнглійÑька назва: Reinforced Liquid Junction\nВиконує функцію Ð·â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð¼Ñ–Ð¶ двома перехреÑними каналами. +block.surge-conveyor.description = ÐнглійÑька назва: Surge Conveyor\nПереміщує предмети партіÑми. Можна приÑкорити за допомогою енергії. Проводить енергію. +block.surge-router.description = ÐнглійÑька назва: Surge Router\nРівномірно розподілÑÑ” предмети в трьох напрÑмках від кінетичних конвеєрів. Можна приÑкорити за допомогою енергії. Проводить енергію. +block.unit-cargo-loader.description = ÐнглійÑька назва: Unit Cargo Loader\nСтворює вантажні дрони. Дрони автоматично розподілÑють предмети по пунктах Ñ€Ð¾Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð·Ð° допомогою відповідного фільтра. +block.unit-cargo-unload-point.description = ÐнглійÑька назва: Unit Cargo Unload Point\nВиÑтупає в ÑкоÑті пункта Ñ€Ð¾Ð·Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð½Ð¸Ñ… дронів. Приймає вантажі, Ñкі відповідають вибраному фільтру. +block.beam-node.description = ÐнглійÑька назва: Beam Node\nПередає енергію іншим блокам ортогонально. ЗапаÑає невелику кількіÑть енергії. +block.beam-tower.description = ÐнглійÑька назва: Beam Tower\nПередає енергію іншим блокам ортогонально. Зберігає велику кількіÑть енергії. Має великий Ñ€Ð°Ð´Ñ–ÑƒÑ Ð´Ñ–Ñ—. +block.turbine-condenser.description = ÐнглійÑька назва: Turbine Condenser\nВироблÑÑ” енергію при розміщенні на джерелах. ВироблÑÑ” невелику кількіÑть води. +block.chemical-combustion-chamber.description = ÐнглійÑька назва: Chemical Combustion Chamber\nВироблÑÑ” енергію з аркициту та озону. +block.pyrolysis-generator.description = ÐнглійÑька назва: Pyrolysis Generator\nВироблÑÑ” велику кількіÑть електроенергії з аркициту та шлаку. ВироблÑÑ” воду Ñк побічний продукт. +block.flux-reactor.description = ÐнглійÑька назва: Flux Reactor\nПри нагріванні виділÑÑ” велику кількіÑть енергії. Потребує ціаногену Ñк Ñтабілізатора. Вихідна ÐµÐ½ÐµÑ€Ð³Ñ–Ñ Ñ– потреба в ціаногені пропорційні тепловому навантаженню.\nВибухає при недоÑтатній кількоÑті ціаногену. +block.neoplasia-reactor.description = ÐнглійÑька назва: Neoplasia Reactor\nВикориÑтовує аркіцит, воду Ñ– фазову тканину Ð´Ð»Ñ Ð²Ð¸Ñ€Ð¾Ð±Ð½Ð¸Ñ†Ñ‚Ð²Ð° великої кількоÑті енергії. ВироблÑÑ” тепло Ñ– небезпечні Ð½Ð¾Ð²Ð¾ÑƒÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñк побічний продукт.\nВибухає з Ñилою, Ñкщо Ð½Ð¾Ð²Ð¾ÑƒÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð½Ðµ видалити з реактора через трубопроводи. +block.build-tower.description = ÐнглійÑька назва: Build Tower\nÐвтоматично перебудовує Ñпоруди в зоні доÑÑжноÑті та допомагає іншим одиницÑм у будівництві. +block.regen-projector.description = ÐнглійÑька назва: Regen Projector\nПовільно ремонтує Ñуміжні Ñпоруди у квадратному периметрі. Потребує водню. +block.reinforced-container.description = ÐнглійÑька назва: Reinforced Container\nЗберігає невелику кількіÑть предметів. ВміÑÑ‚ можна отримати за допомогою розвантажувачів. Ðе збільшує ємніÑть оÑновного Ñховища. +block.reinforced-vault.description = ÐнглійÑька назва: Reinforced Vault\nЗберігає велику кількіÑть предметів. ВміÑÑ‚ можна отримати за допомогою розвантажувачів. Ðе збільшує ємніÑть Ñдра. +block.tank-fabricator.description = ÐнглійÑька назва: Tank Fabricator\nСтворює одиниці «Стел». Випущені одиниці можна викориÑтовувати безпоÑередньо або переміÑтити в переробний завод Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. +block.ship-fabricator.description = ÐнглійÑька назва: Ship Fabricator\nСтворює одиниці «УхилÑч». Випущені одиниці можна викориÑтовувати безпоÑередньо або переміÑтити в переробний завод Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. +block.mech-fabricator.description = ÐнглійÑька назва: Mech Fabricator\nСтворює одиниці «Меруй». Випущені одиниці можна викориÑтовувати безпоÑередньо або переміÑтити в переробний завод Ð´Ð»Ñ Ð¿Ð¾Ð»Ñ–Ð¿ÑˆÐµÐ½Ð½Ñ. +block.tank-assembler.description = ÐнглійÑька назва: Tank Assembler\nЗбирає великі танки з введених блоків та одиниць. Рівень виходу може бути збільшений шлÑхом Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð². +block.ship-assembler.description = ÐнглійÑька назва: Ship Assembler\nЗбирає великі кораблі з введених блоків та одиниць. Рівень виходу може бути збільшений шлÑхом Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð². +block.mech-assembler.description = ÐнглійÑька назва: Mech Assembler\nЗбирає великі мехи з введених блоків та одиниць. Рівень виходу може бути збільшений шлÑхом Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ–Ð². +block.tank-refabricator.description = ÐнглійÑька назва: Tank Refabricator\nПоліпшує введені танкові одиниці до другого рівнÑ. +block.ship-refabricator.description = ÐнглійÑька назва: Ship Refabricator\nПоліпшує введені корабельні одиниці до другого рівнÑ. +block.mech-refabricator.description = ÐнглійÑька назва: Mech Refabricator\nПоліпшує введені мехові одиниці до другого рівнÑ. +block.prime-refabricator.description = ÐнглійÑька назва: Prime Refabricator\nПоліпшує введені одиниці до другого рівнÑ. +block.basic-assembler-module.description = ÐнглійÑька назва: Basic Assembler Module\nПідвищує рівень збирача, Ñкщо його розміÑтити поруч з межею будівлі. Потребує енергії. Може викориÑтовуватиÑÑ Ñк вхід Ð´Ð»Ñ Ð²Ð°Ð½Ñ‚Ð°Ð¶Ñƒ. +block.small-deconstructor.description = ÐнглійÑька назва: Small Deconstructor\nДеконÑтруює введені конÑтрукції та блоки. Повертає 100% вартоÑті побудови. +block.reinforced-payload-conveyor.description = ÐнглійÑька назва: Reinforced Payload Conveyor\nПереміщує вантаж вперед. +block.reinforced-payload-router.description = ÐнглійÑька назва: Reinforced Payload Router\nРозподілÑÑ” вантажі в ÑуÑідні блоки. Функціонує Ñк Ñортувальник при вÑтановленому фільтрі. +block.payload-mass-driver.description = ÐнглійÑька назва: Payload Mass Driver\nСтруктура транÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð½Ñ‚Ð°Ð¶Ñƒ великої дальноÑті. ВиÑтрілює отриманий вантаж на зв’Ñзані вантажні катапульти. +block.large-payload-mass-driver.description = ÐнглійÑька назва: Large Payload Mass Driver\nСтруктура транÑÐ¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð°Ð½Ñ‚Ð°Ð¶Ñƒ великої дальноÑті. ВиÑтрілює отриманий вантаж на зв’Ñзані вантажні катапульти. +block.unit-repair-tower.description = ÐнглійÑька назва: Unit Repair Tower\nРемонтує вÑÑ– одиниці, що знаходÑтьÑÑ Ð¿Ð¾Ð±Ð»Ð¸Ð·Ñƒ. Потребує озону. +block.radar.description = ÐнглійÑька назва: Radar\nПоÑтупово проÑвлÑÑ” міÑцевіÑть та одиниці противника у великому радіуÑÑ–. Вимагає енергії. +block.shockwave-tower.description = ÐнглійÑька назва: Shockwave Tower\nПошкоджує та знищує ворожі ÑнарÑди в радіуÑÑ–. Потребує ціаногену. +block.canvas.description = ÐнглійÑька назва: Canvas\nПоказує проÑте Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ð· заздалегідь визначеною палітрою. Можна редагувати. + +unit.dagger.description = ÐнглійÑька назва: Dagger\nВиÑтрілює Ñтандартними кулÑми в найближчих ворогах. +unit.mace.description = ÐнглійÑька назва: Mace\nВиÑтрілює потоками Ð¿Ð¾Ð»ÑƒÐ¼â€™Ñ Ð² найближчих ворогів. +unit.fortress.description = ÐнглійÑька назва: Fortress\nВиÑтрілює з далекобійної артилерії в наземних цілей. +unit.scepter.description = ÐнглійÑька назва: Scepter\nВиÑтрілює шквалом зарÑджених куль у найближчих ворогів. +unit.reign.description = ÐнглійÑька назва: Reign\nВиÑтрілює шквалом маÑивних пронизливих куль у найближчих ворогів. +unit.nova.description = ÐнглійÑька назва: Nova\nВиÑтрілює лазерними болтами, що завдають шкоди ворогам та відновлюють Ñоюзні Ñпоруди. Здатний до польоту. +unit.pulsar.description = ÐнглійÑька назва: Pulsar\nВипуÑкає дуги електрики, що завдають шкоди ворогам та відновлюють Ñоюзні Ñпоруди. Здатний до польоту. +unit.quasar.description = ÐнглійÑька назва: Quasar\nВиÑтрілює пробивними лазерними променÑми, що пошкоджують ворогів та відновлюють Ñоюзні Ñпоруди. Здатний до польоту. Захищений. +unit.vela.description = ÐнглійÑька назва: Vela\nВиÑтрілює маÑивним безперервним лазерним променем, що завдає шкоди ворогам, ÑпричинÑÑ” пожежі та відновлює Ñоюзні Ñпоруди. Здатний до польоту. +unit.corvus.description = ÐнглійÑька назва: Corvus\nСпричинÑÑ” маÑивний лазерний вибух, що завдає шкоди ворогам та відновлює Ñпоріднені Ñпоруди. Може переÑтупати через більшіÑть міÑцевоÑті. +unit.crawler.description = ÐнглійÑька назва: Crawler\nБіжить до ворогів Ñ– ÑамознищуєтьÑÑ, викликаючи великий вибух. +unit.atrax.description = ÐнглійÑька назва: Atrax\nВипалює виÑнажливі шари шлаку в наземних цілÑÑ…. Може переÑтупити більшіÑть міÑцевоÑті. +unit.spiroct.description = ÐнглійÑька назва: Spiroct\nВиÑтрілює виÑнажливими лазерними променÑми у ворогів, відновлюючиÑÑŒ водночаÑ. Може переÑтупати через більшіÑть міÑцевоÑті. +unit.arkyid.description = ÐнглійÑька назва: Arkyid\nВиÑтрілює у ворогів великими виÑнажливими лазерними променÑми, відновлюючиÑÑŒ при цьому. +unit.toxopid.description = ÐнглійÑька назва: Toxopid\nВиÑтрілює у ворогів великими електричними каÑетними ÑнарÑдами та пробивними лазерами. Може переÑтупати через більшіÑть міÑцевоÑті. +unit.flare.description = ÐнглійÑька назва: Flare\nВиÑтрілює Ñтандартними кулÑми в найближчі цілі. +unit.horizon.description = ÐнглійÑька назва: Horizon\nКидає купу бомб на наземні цілі. +unit.zenith.description = ÐнглійÑька назва: Zenith\nВиÑтрілює залпи ракет у вÑÑ–Ñ… найближчих ворогів. +unit.antumbra.description = ÐнглійÑька назва: Antumbra\nВиÑтрілює шквал куль у вÑÑ–Ñ… найближчих ворогів. +unit.eclipse.description = ÐнглійÑька назва: Eclipse\nВиÑтрілює двома пронизливими лазерами та шквалом куль у вÑÑ–Ñ… найближчих ворогів. +unit.mono.description = ÐнглійÑька назва: Mono\nÐвтоматично видобуває мідь Ñ– Ñвинець Ñ– кладе Ñ—Ñ… у Ñдро. +unit.poly.description = ÐнглійÑька назва: Poly\nÐвтоматично перебудовує зруйновані Ñпоруди та допомагає іншим одиницÑм у будівництві. +unit.mega.description = ÐнглійÑька назва: Mega\nÐвтоматично відновлює пошкоджені Ñпоруди. Здатний неÑти блоки та невеликі наземні одиниці. +unit.quad.description = ÐнглійÑька назва: Quad\nКидає великі бомби на наземні цілі, відновлюючи Ñоюзні Ñпоруди та завдаючи шкоди ворогам. Здатний неÑти Ñередні наземні одиниці. +unit.oct.description = ÐнглійÑька назва: Oct\nЗахищає найближчих Ñоюзників Ñвоїм відновлювальним щитом. Здатний неÑти більшіÑть наземних одиниць. +unit.risso.description = ÐнглійÑька назва: Risso\nВиÑтрілює шквалом ракет Ñ– куль по вÑÑ–Ñ… найближчих ворогах. +unit.minke.description = ÐнглійÑька назва: Minke\nВиÑтрілює запальними ÑнарÑдами та Ñтандартними кулÑми по найближчих наземних цілÑÑ…. +unit.bryde.description = ÐнглійÑька назва: Bryde\nВиÑтрілює у ворогів артилерійÑькими ÑнарÑдами та ракетами великої дальноÑті. +unit.sei.description = ÐнглійÑька назва: Sei\nВиÑтрілює у ворогів шквалом ракет Ñ– бронебійних куль. +unit.omura.description = ÐнглійÑька назва: Omura\nВиÑтрілює у ворогів далекобійним болтом, що пробиває броню. ВироблÑÑ” повітрÑних Ñпалахів. +unit.alpha.description = ÐнглійÑька назва: Alpha\nЗахищає Ñдро «Уламок» від противників. Будує Ñпоруди. +unit.beta.description = ÐнглійÑька назва: Beta\nЗахищає Ñдро «Штаб» від противників. Будує Ñпоруди. +unit.gamma.description = ÐнглійÑька назва: Gamma\nЗахищає Ñдро «Ðтом» від противників. Будує Ñпоруди. +unit.retusa.description = ÐнглійÑька назва: Retusa\nВиÑтрілює Ñамонаведеними торпедами по ворогах. Ремонтує найближчі одиниці. +unit.oxynoe.description = ÐнглійÑька назва: Oxynoe\nВиÑтрілює потоками полум’Ñ, що ремонтують Ñпоруди та завдають шкоду ворогам. Захищає від ворожих ÑнарÑдів за допомогою башти точкової оборони. +unit.cyerce.description = ÐнглійÑька назва: Cyerce\nВиÑтрілює у ворогів навідними каÑетними ракетами. Ремонтує найближчі одиниці. +unit.aegires.description = ÐнглійÑька назва: Aegires\nЕлектризує ворожі одиниці та будівлі, що входÑть до його енергетичного полÑ. Ремонтує вÑÑ–Ñ… Ñоюзників. +unit.navanax.description = ÐнглійÑька назва: Navanax\nВиÑтрілює вибухонебезпечні ÑнарÑди електромагнітного імпульÑу, завдаючи значної шкоди ворожим енергетичним мережам та ремонтуючи Ñоюзницькі Ñпоруди. РозплавлÑÑ” ÑуÑідніх ворогів за допомогою 4 автономних лазерних веж. + +#Erekir +unit.stell.description = ÐнглійÑька назва: Stell\nВеде вогонь по ворожих цілÑÑ… звичайними кулÑми. +unit.locus.description = ÐнглійÑька назва: Locus\nВеде почерговий вогонь по ворожих цілÑÑ…. +unit.precept.description = ÐнглійÑька назва: Precept\nВеде вогонь по ворожих цілÑÑ… каÑетними кумулÑтивними кулÑми. +unit.vanquish.description = ÐнглійÑька назва: Vanquish\nВеде вогонь по ворожих цілÑÑ… великими пробивними оÑколково-фугаÑними кулÑми. +unit.conquer.description = ÐнглійÑька назва: Conquer\nВеде вогонь великими пробивними каÑкадами куль по ворожих цілÑÑ…. +unit.merui.description = ÐнглійÑька назва: Merui\nВеде вогонь з далекобійної артилерії по наземних цілÑÑ… противника. Може переÑуватиÑÑ Ð¿Ð¾ більшоÑті видів міÑцевоÑті. +unit.cleroi.description = ÐнглійÑька назва: Cleroi\nВеде вогонь здвоєними ÑнарÑдами по ворожих цілÑÑ…. Прицільно знищує ÑнарÑди противника за допомогою точкових захиÑних башт. Може переÑуватиÑÑ Ð¿Ð¾ більшоÑті видів міÑцевоÑті. +unit.anthicus.description = ÐнглійÑька назва: Anthicus\nВеде вогонь по ворожих цілÑÑ… ракетами дальнього радіуÑа дії з ÑамонаведеннÑм. Може переÑуватиÑÑ Ð¿Ð¾ більшоÑті видів міÑцевоÑті. +unit.tecta.description = ÐнглійÑька назва: Tecta\nВеде вогонь Ñамонавідними плазмовими ракетами по ворожих цілÑÑ…. ЗахищаєтьÑÑ Ð·Ð° допомогою щита ÑпрÑмованої дії. Може переÑуватиÑÑ Ð¿Ð¾ більшоÑті видів міÑцевоÑті. +unit.collaris.description = ÐнглійÑька назва: Collaris\nВеде дальній оÑколково-фугаÑний вогонь по ворожих цілÑÑ…. Може переÑуватиÑÑ Ð¿Ð¾ більшоÑті видів міÑцевоÑті. +unit.elude.description = ÐнглійÑька назва: Elude\nСтрілÑÑ” парами Ñамонавідних куль по ворожих цілÑÑ…. Може парити над об’єктами з рідиною. +unit.avert.description = ÐнглійÑька назва: Avert\nВеде вогонь по ворожих цілÑÑ… закрученими парами куль. +unit.obviate.description = ÐнглійÑька назва: Obviate\nСтрілÑÑ” по ворожих цілÑÑ… закрученими парами блиÑкавичних куль. +unit.quell.description = ÐнглійÑька назва: Quell\nВеде вогонь далекобійними Ñамонавідними ракетами по об’єктах противника. Блокує ремонтні пункти Ñупротивника. Ðтакує тільки наземні цілі. +unit.disrupt.description = ÐнглійÑька назва: Disrupt\nВеде вогонь ракетами дальнього радіуÑа дії з ÑамонаведеннÑм по об’єктах противника. Блокує ремонтні пункти Ñупротивника. Ðтакує тільки наземні цілі. +unit.evoke.description = ÐнглійÑька назва: Evoke\nБудує Ñпоруди Ð´Ð»Ñ Ð·Ð°Ñ…Ð¸Ñту Ñдра «БаÑтіон». Ремонтує Ñпоруди за допомогою променÑ. +unit.incite.description = ÐнглійÑька назва: Incite\nБудує Ñпоруди Ð´Ð»Ñ Ð·Ð°Ñ…Ð¸Ñту Ñдра «Цитадель». Ремонтує Ñпоруди за допомогою променÑ. +unit.emanate.description = ÐнглійÑька назва: Emanate\nБудує Ñпоруди Ð´Ð»Ñ Ð·Ð°Ñ…Ð¸Ñту Ñдра «Ðкрополь». Ремонтує Ñпоруди за допомогою променÑ. + +lst.read = Зчитує чиÑло із з’єднаної комірки пам’Ñті. +lst.write = ЗапиÑує чиÑлу у з’єднану комірку пам’Ñті. +lst.print = Додайте текÑÑ‚ до буфера друку.\nÐічого не відображає, поки [accent]Print Flush[] викориÑтовуєтьÑÑ. +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Замінити наÑтупний замінник у текÑтовому буфері значеннÑм.\nÐе робить нічого, Ñкщо шаблон заповнювача Ñ” недійÑним.\nШаблон заповнювача: "{[accent]number 0-9[]}"\nПриклад:\n[accent]print "test {0}"\nformat "example" +lst.draw = Додає операцію до буфера риÑунка.\nÐічого не відображає, поки [accent]Draw Flush[] викориÑтовуєтьÑÑ. +lst.drawflush = Скидає буфер операцій [accent]Draw[] на диÑплей. +lst.printflush = Скидає буфер операцій [accent]Print[] у блок «ПовідомленнÑ». +lst.getlink = Отримати поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° процеÑор за допомогою індекÑа. ПочинаєтьÑÑ Ð· 0. +lst.control = Контролює будівлю. +lst.radar = Ð—Ð½Ð°Ñ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ навколо будівлі у радіуÑÑ– дії. +lst.sensor = Отримати дані з певної будівлі чи одиниці. +lst.set = УÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½Ð½Ð¾Ñ—. +lst.operation = Виконує операцію над 1-2 змінними. +lst.end = Перейти до верхньої чаÑтини Ñтеку операцій. +lst.wait = Чекати певну кількіÑть Ñекунд. +lst.stop = ЗупинÑÑ” Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора. +lst.lookup = Знайти тип предмета, рідини, одиниці чи блоку за ідентифікатором.\nМожна отримати доÑтуп до загальної кількоÑті кожного типу через \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nÐ”Ð»Ñ Ð·Ð²Ð¾Ñ€Ð¾Ñ‚Ð½Ð¾Ñ— операції викориÑтовуйте [accent]@id[] об'єкта. +lst.jump = Умовне Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾ іншої операції. +lst.unitbind = Прив’Ñзка до одиниці певного типу та його Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ð² [accent]@unit[]. +lst.unitcontrol = Контролювати поточну прив’Ñзану одиницю. +lst.unitradar = Знайти одиницю Ð±Ñ–Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ñ‡Ð½Ð¾Ñ— прив’Ñзаної одиниці. +lst.unitlocate = ВиÑвлÑÑ” позицію чи будівлю певного типу де завгодно на мапі.\nПотрібна прив’Ñзана одиницÑ. +lst.getblock = Отримує дані плитки в будь-Ñкому міÑці. +lst.setblock = УÑтановлює дані плитки в будь-Ñкому міÑці. +lst.spawnunit = Породжує одиницю на певному міÑці. +lst.applystatus = ЗаÑтоÑовує або видалÑÑ” ефект Ñтану з одиниці. +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = Змодельовує хвилю, що виникає у довільному міÑці.\nÐе збільшує лічильник хвиль. +lst.explosion = Створює вибух у певному міÑці. +lst.setrate = УÑтановлює швидкіÑть Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора в інÑтрукціÑÑ… за такт. +lst.fetch = Пошук одиниць, Ñдер, гравців або будівель за індекÑом.\nІндекÑи починаютьÑÑ Ð· 0 Ñ– закінчуютьÑÑ Ð½Ð° поверненій кількоÑті. +lst.packcolor = Упаковує [0, 1] компоненти RGBA в єдине чиÑло Ð´Ð»Ñ Ð¼Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ вÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð». +lst.setrule = УÑтановлює ігрове правило. +lst.flushmessage = Показує Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð½Ð° екрані з текÑтового буфера.\nЧекатиме, поки не закінчитьÑÑ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½Ñ” повідомленнÑ. +lst.cutscene = Керує камерою гравцÑ. +lst.setflag = УÑтановлює глобальний прапорець, Ñкий можуть прочитати уÑÑ– процеÑори. +lst.getflag = ПеревірÑÑ”, чи вÑтановлено глобальний прапорець. +lst.setprop = УÑтановлює влаÑтивіÑть одиниці чи будівлі. +lst.effect = Створює ефект чаÑтинок. +lst.sync = Синхронізувати змінну по мережі.\nВикликаєтьÑÑ Ñ‰Ð¾Ð½Ð°Ð¹Ð±Ñ–Ð»ÑŒÑˆÐµ 10 разів за Ñекунду. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Створює новий логічний маркер у Ñвіті.\nПотрібно надати ідентифікатор Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— цього маркера.\nÐаразі кількіÑть маркерів на Ñвіт обмежена 20 тиÑÑчами. +lst.setmarker = УÑтановлює влаÑтивіÑть Ð´Ð»Ñ Ð¼Ð°Ñ€ÐºÐµÑ€Ð°.\nВикориÑтаний ідентифікатор має збігатиÑÑ Ð· інÑтрукцією «Створити маркер». +lst.localeprint = Додає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð»Ð°ÑтивоÑті мовного пакету мапи до текÑтового буфера.\nЩоби вÑтановити мовного пакету мапи в редакторі мапи, перейдіть до [accent]Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ мапу > Мовні пакети [].\nЯкщо клієнтом Ñ” мобільний приÑтрій, то Ñпочатку намагаєтьÑÑ Ð½Ð°Ð´Ñ€ÑƒÐºÑƒÐ²Ð°Ñ‚Ð¸ влаÑтивіÑть, що закінчуєтьÑÑ Ð½Ð° ".mobile". +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = Математична конÑтанта пі (3.141...) +lglobal.@e = Математична конÑтанта e (2.718...) +lglobal.@degToRad = Помножте на це чиÑло, щоб перевеÑти градуÑи в радіани +lglobal.@radToDeg = Помножте на це чиÑло, щоб перевеÑти радіани в градуÑи +lglobal.@time = Ð§Ð°Ñ Ð³Ñ€Ð¸ поточного збереженнÑ, у міліÑекундах +lglobal.@tick = Ð§Ð°Ñ Ð³Ñ€Ð¸ поточного збереженнÑ, in ticks (1 Ñекунда = 60 ticks) +lglobal.@second = Ð§Ð°Ñ Ð³Ñ€Ð¸ поточного збереженнÑ, в Ñекундах +lglobal.@minute = Ð§Ð°Ñ Ð³Ñ€Ð¸ поточного збереженнÑ, у хвилинах +lglobal.@waveNumber = Поточний номер хвилі, Ñкщо хвилі ввімкнено +lglobal.@waveTime = Таймер зворотного відліку Ð´Ð»Ñ Ñ…Ð²Ð¸Ð»ÑŒ, в Ñекундах +lglobal.@mapw = Ширина мапи в плитках +lglobal.@maph = ВиÑота мапи в плитках +lglobal.sectionMap = Мапа +lglobal.sectionGeneral = Загальне +lglobal.sectionNetwork = Мережа/КлієнтÑька чаÑтина [Тільки Ñвітовий процеÑор] +lglobal.sectionProcessor = ПроцеÑор +lglobal.sectionLookup = Пошук +lglobal.@this = Логічний блок, що виконує код +lglobal.@thisx = X координата блоку, що виконує код +lglobal.@thisy = Y координата блоку, що виконує код +lglobal.@links = Загальна кількіÑть блоків, пов'Ñзаних з цим процеÑором +lglobal.@ipt = ШвидкіÑть Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора в інÑтрукціÑÑ… за тик (60 ticks = 1 Ñекунда) +lglobal.@unitCount = Загальна кількіÑть типів вміÑту одиниць у грі; викориÑтовуєтьÑÑ Ð· інÑтрукцією lookup +lglobal.@blockCount = Загальна кількіÑть типів вміÑту блоків у грі; викориÑтовуєтьÑÑ Ð· інÑтрукцією lookup +lglobal.@itemCount = Загальна кількіÑть типів вміÑту предметів у грі; викориÑтовуєтьÑÑ Ð· інÑтрукцією lookup +lglobal.@liquidCount = Загальна кількіÑть типів вміÑту рідин у грі; викориÑтовуєтьÑÑ Ð· інÑтрукцією lookup +lglobal.@server = ІÑтина, Ñкщо код виконуєтьÑÑ Ð½Ð° Ñервері або в однооÑібній грі, інакше хиба +lglobal.@client = ІÑтина, Ñкщо код виконуєтьÑÑ Ð½Ð° клієнті, підключеному до Ñервера +lglobal.@clientLocale = Ð›Ð¾ÐºÐ°Ð»Ñ–Ð·Ð°Ñ†Ñ–Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð°, на Ñкому виконуєтьÑÑ ÐºÐ¾Ð´. Ðаприклад: en_US чи uk_UA +lglobal.@clientUnit = ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð°, що виконує код +lglobal.@clientName = Ім'Ñ Ð³Ñ€Ð°Ð²Ñ†Ñ ÐºÐ»Ñ–Ñ”Ð½Ñ‚Ð°, на Ñкому запущено код +lglobal.@clientTeam = Ідентифікатор команди клієнта, що запуÑкає код +lglobal.@clientMobile = ІÑтина, Ñкщо клієнт, на Ñкому виконуєтьÑÑ ÐºÐ¾Ð´, Ñ” мобільним, інакше хиба + +logic.nounitbuild = [red]Ð‘ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° допомогою процеÑорів заборонено. + +lenum.type = Тип будівлі чи одиниці.\nÐаприклад, Ð´Ð»Ñ Ð±ÑƒÐ´ÑŒ-Ñкого маршрутизатора (англ. router), Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ð²ÐµÑ€Ñ‚Ð°Ñ‚Ð¸Ð¼Ðµ [accent]@router[].\nÐе Ñ” Ñ€Ñдком. +lenum.shoot = СтрілÑти в зазначену позицію. +lenum.shootp = СтрілÑти в одиницю чи будівлю із передбаченнÑм швидкоÑті. +lenum.config = ÐšÐ¾Ð½Ñ„Ñ–Ð³ÑƒÑ€Ð°Ñ†Ñ–Ñ Ð±ÑƒÐ´Ñ–Ð²Ð»Ñ–, Ñк-от в Ñортувальника. +lenum.enabled = Чи блок увімкнено. +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = Колір оÑвітлювача. +laccess.controller = Керувач одиницÑми. Якщо процеÑор керує одиницею, повертає процеÑор.\nЯкщо у формуванні, повертаєтьÑÑ Ð»Ñ–Ð´ÐµÑ€.\nІнакше повертає Ñаму одиницю. +laccess.dead = Чи Ñ” Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ð°Ð±Ð¾ Ð±ÑƒÐ´Ñ–Ð²Ð»Ñ Ð¼ÐµÑ€Ñ‚Ð²Ð¾ÑŽ або недійÑною. +laccess.controlled = Повертає \n[accent]@ctrlProcessor[] Ñкщо Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽÑ”Ñ‚ÑŒÑÑ Ð¿Ñ€Ð¾Ñ†ÐµÑором;\n[accent]@ctrlPlayer[] Ñкщо Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ñ‡Ð¸ Ð±ÑƒÐ´Ñ–Ð²Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽÑ”Ñ‚ÑŒ гравцем\n[accent]@ctrlFormation[] Ñкщо Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ñƒ загоні (формуванні)\nІнакше — 0. +laccess.progress = ÐŸÑ€Ð¾Ð³Ñ€ÐµÑ Ð´Ñ–Ñ—, від 0 до 1.\nПовертає виробництво, Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð±Ð°ÑˆÑ‚Ð¸ або хід будівництва. +laccess.speed = МакÑимальна швидкіÑть одиниці, у плитках за Ñекунду. +laccess.id = Ідентифікатор одиниці/блоку/предмету/рідини.\nЦе зворотна Ð¾Ð¿ÐµÑ€Ð°Ñ†Ñ–Ñ Ð´Ð¾ операції пошуку. + +lcategory.unknown = Ðевідома ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ñ–Ñ +lcategory.unknown.description = Команди без категорії. +lcategory.io = Ввід та вивід +lcategory.io.description = Змінюйте вміÑÑ‚ комірок/блоків пам’Ñті та буфера процеÑора. +lcategory.block = Контроль блоків +lcategory.block.description = Взаємодійте з блоками. +lcategory.operation = Операції +lcategory.operation.description = Логічні операції. +lcategory.control = Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ ÐºÐ¾Ð´Ð¾Ð¼ +lcategory.control.description = Контролюйте порÑдок Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ¾Ð´Ñƒ. +lcategory.unit = Ð£Ð¿Ñ€Ð°Ð²Ð»Ñ–Ð½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñми +lcategory.unit.description = Віддавайте одиницÑм команди. +lcategory.world = Світ +lcategory.world.description = Контролюйте поведінку Ñвіту. + +graphicstype.clear = Залити диÑплей вказаним кольором. +graphicstype.color = УÑтановити колір Ð´Ð»Ñ Ð¿Ð¾Ð´Ð°Ð»ÑŒÑˆÐ¾Ñ— операції малюваннÑ. +graphicstype.col = Еквівалент кольору, але упакований.\nЗапаковані кольори запиÑуютьÑÑ Ñк шіÑтнадцÑткові коди з префікÑом [accent]%[].\nÐаприклад, [accent]%ff0000[] — це червоний. +graphicstype.stroke = УÑтановити ширину ліній. +graphicstype.line = ÐакреÑлити відрізок лінії. +graphicstype.rect = Залити кольором прÑмокутник. +graphicstype.linerect = Ðамалювати контур прÑмокутника. +graphicstype.poly = Залити кольором правильний багатокутник. +graphicstype.linepoly = Ðамалювати контур правильного багатокутника. +graphicstype.triangle = Залити кольором трикутник. +graphicstype.image = Ðамалювати Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ–Ð· деÑким вміÑтом.\nÐаприклад: [accent]@router[] чи [accent]@dagger[]. +graphicstype.print = Малює текÑÑ‚ з буфера друку.\nОчищає буфер друку. + +lenum.always = Завжди Ñ–Ñтинне. +lenum.idiv = Ціле діленнÑ. +lenum.div = ДіленнÑ.\nПовертає [accent]null[] при діленні на нуль. +lenum.mod = Залишок від діленнÑ. +lenum.equal = Рівно. ПримуÑове Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð².\nÐе-null об’єкти у порівнÑнні з чиÑлами Ñтають 1, інакше — 0. +lenum.notequal = Ðе рівно. ПримуÑове Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð². +lenum.strictequal = Сувора рівніÑть. ПримуÑового Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð² немає.\nМожна викориÑтати Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ на [accent]null[]. +lenum.shl = ЗÑув бітів ліворуч. +lenum.shr = ЗÑув бітів праворуч. +lenum.or = Побітове ÐБО (OR). +lenum.land = Побітове логічне І. +lenum.and = Побітове І. +lenum.not = Побітове запереченнÑ. +lenum.xor = Виключне ÐБО (XOR). + +lenum.min = Мінімум з двох чиÑел. +lenum.max = МакÑимум з двох чиÑел. +lenum.angle = Кут вектора у градуÑах. +lenum.anglediff = ÐбÑолютна відÑтань між двома кутами в градуÑах. +lenum.len = Довжина вектора. + +lenum.sin = СинуÑ, у градуÑах. +lenum.cos = КоÑинуÑ, у градуÑах. +lenum.tan = ТангенÑ, у градуÑах. + +lenum.asin = ÐркÑинуÑ, у градуÑах. +lenum.acos = ÐрккоÑинуÑ, у градуÑах. +lenum.atan = ÐрктангенÑ, у градуÑах. + +#not a typo, look up 'range notation' +lenum.rand = Випадкове деÑÑткове чиÑло у діапазоні [0, значеннÑ). +lenum.log = Ðатуральний логарифм (ln). +lenum.log10 = ДеÑÑтковий логарифм. +lenum.noise = Двовимірний ÑимлекÑ-шум. +lenum.abs = ÐбÑолютне значеннÑ. +lenum.sqrt = Квадратний корінь. + +lenum.any = Будь-Ñка одиницÑ. +lenum.ally = Союзна одиницÑ. +lenum.attacker = ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Ð·Ñ– зброєю. +lenum.enemy = Ворожа одиницÑ. +lenum.boss = ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Â«Ð’Ð°Ñ€Ñ‚Ð¾Ð²Ð¸Ð¹Â». +lenum.flying = ОдиницÑ, що літає. +lenum.ground = Ðаземна одиницÑ. +lenum.player = ОдиницÑ, керована гравцем. + +lenum.ore = Родовище руди. +lenum.damaged = Пошкоджені Ñоюзні будівлі. +lenum.spawn = Точка поÑви ворогів.\nМоже бути Ñдром чи позицією. +lenum.building = Ð‘ÑƒÐ´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— групи. + +lenum.core = Будь-Ñке Ñдро. +lenum.storage = СкладÑьке приміщеннÑ, Ñк-от Ñховище. +lenum.generator = Будівлі, що вироблÑють енергію. +lenum.factory = Будівлі, що видозмінюють реÑурÑи. +lenum.repair = Ремонтні пункти. +lenum.battery = Будь-Ñкий акумулÑтор. +lenum.resupply = Пункти поÑтачаннÑ.\nДоречні лише коли кориÑтувацьке правило [accent]«Бойові одиниці потребують боєприпаÑів»[] увімкнено. +lenum.reactor = ІмпульÑний чи торієвий реактор. +lenum.turret = Будь-Ñка башта. + +sensor.in = Ð‘ÑƒÐ´Ñ–Ð²Ð»Ñ Ñ‡Ð¸ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ð½Ð½Ñ. + +radar.from = Від Ñкої будівлі треба розпізнавати.\nÐ Ð°Ð´Ñ–ÑƒÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ð½Ð½Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð¾ радіуÑом будівництва. +radar.target = Фільтр Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ð½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ. +radar.and = Додаткові фільтри. +radar.order = ПорÑдок ÑортуваннÑ. 0 — ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ зворотному порÑдку. +radar.sort = Показник Ð´Ð»Ñ ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ–Ð². +radar.output = Змінна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñув вихідної одиниці. + +unitradar.target = Фільтр Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ð²Ð°Ð½Ð½Ñ Ð¾Ð´Ð¸Ð½Ð¸Ñ†ÑŒ. +unitradar.and = Додаткові фільтри. +unitradar.order = ПорÑдок ÑортуваннÑ. 0 — ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ зворотному порÑдку. +unitradar.sort = Показник Ð´Ð»Ñ ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚Ñ–Ð². +unitradar.output = Змінна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñув вихідної одиниці. + +control.of = Ð‘ÑƒÐ´Ñ–Ð²Ð»Ñ Ð´Ð»Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŽÐ²Ð°Ð½Ð½Ñ. +control.unit = ÐžÐ´Ð¸Ð½Ð¸Ñ†Ñ Ñ‡Ð¸ Ð±ÑƒÐ´Ñ–Ð²Ð»Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñ†Ñ–Ð»ÑŽÐ²Ð°Ð½Ð½Ñ. +control.shoot = Чи ÑтрілÑÑ”. + +unitlocate.enemy = Чи знаходити ворожі будівлі. +unitlocate.found = Чи був об’єкт знайдений. +unitlocate.building = Змінна Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñу знайденої будівлі +unitlocate.outx = Виводить координату X. +unitlocate.outy = Виводить координату Y. +unitlocate.group = Група будівель Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ. +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = ЗупинÑти рух, проте продовжути будувати чи видобувати.\nСтан за замовчуваннÑм. +lenum.stop = Зупинити або рух, або видобуток, або будівництво. +lenum.unbind = ПовніÑтю вимикає уÑÑŽ логіку.\nПродовжує Ñтандартний ШІ. +lenum.move = ПереміÑтити в точне положеннÑ. +lenum.approach = ÐÐ°Ð±Ð»Ð¸Ð¶ÐµÐ½Ð½Ñ Ð´Ð¾ позиції із зазначеним радіуÑом. +lenum.pathfind = Ð—Ð½Ð°Ð¹Ð´ÐµÐ½Ð½Ñ ÑˆÐ»Ñху до певної позиції. +lenum.autopathfind = Ðвтоматично прокладає шлÑÑ… до найближчого Ñдра або точки ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð²Ð¾Ñ€Ð¾Ð³Ð°.\nЦе те Ñаме, що Ñ– Ñтандартне Ð¿Ñ€Ð¾ÐºÐ»Ð°Ð´Ð°Ð½Ð½Ñ ÑˆÐ»Ñху у ворогів з хвиль. +lenum.target = Стрільба в задану позицію. +lenum.targetp = СтрілÑти в ціль із передбаченнÑм швидкоÑті. +lenum.itemdrop = Викинути предмет. +lenum.itemtake = ВзÑти предмет з будівлі. +lenum.paydrop = Скинути поточний вантаж. +lenum.paytake = Підібрати вантаж у поточному міÑцерозташуванні. +lenum.payenter = Увійти чи вийти з вантажного блока, над Ñким перебуває одиницÑ. +lenum.flag = ЧиÑловий прапорець одиниці. +lenum.mine = Видобувати у заданій позиції. +lenum.build = Побудувати будівлю. +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = Чи знаходитьÑÑ Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ Ð±Ñ–Ð»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—. +lenum.boost = Почати чи зупинити політ. +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_vi.properties b/core/assets/bundles/bundle_vi.properties index d45c16a170..1f904b1334 100644 --- a/core/assets/bundles/bundle_vi.properties +++ b/core/assets/bundles/bundle_vi.properties @@ -1,18 +1,20 @@ credits.text = ÄÆ°á»£c tạo ra bởi [royal]Anuken[] - [sky]anukendev@gmail.com[] credits = Danh đỠcontributors = Ngưá»i dịch và đóng góp -discord = Tham gia Mindustry Discord! -link.discord.description = Mindustry Discord chính thức -link.reddit.description = Mindustry subreddit +discord = Tham gia Discord cá»§a Mindustry! +link.discord.description = Discord chính thức cá»§a Mindustry +link.reddit.description = Subreddit cá»§a Mindustry link.github.description = Mã nguồn trò chÆ¡i -link.changelog.description = Danh sách các thay đổi. +link.changelog.description = Danh sách các thay đổi link.dev-builds.description = Các bản dá»±ng phát triển không ổn định -link.trello.description = Official Trello board cho các tính năng được lên kế hoạch -link.itch.io.description = itch.io page vá»›i bản tải xuống cho PC -link.google-play.description = Google Play store listing -link.f-droid.description = F-Droid listing -link.wiki.description = Mindustry wiki chính thức +link.trello.description = Bảng Trello chính thức cho các tính năng được lên kế hoạch +link.itch.io.description = Trang itch.io vá»›i bản tải xuống cho PC +link.google-play.description = Xem trên Google Play store +link.f-droid.description = Xem trên F-Droid +link.wiki.description = Wiki chính thức cá»§a Mindustry link.suggestions.description = Äá» xuất các tính năng má»›i +link.bug.description = Tìm thấy lá»—i? Báo cáo ở đây +linkopen = Máy chá»§ này đã gá»­i cho bạn má»™t liên kết. Có chắc muốn mở nó chứ?\n\n[sky]{0} linkfail = Không mở được liên kết!\nURL đã được sao chép vào bá»™ nhá»› tạm. screenshot = Ảnh chụp màn hình được lưu vào {0} screenshot.invalid = Bản đồ quá lá»›n, có khả năng không đủ bá»™ nhá»› để chụp ảnh màn hình. @@ -23,134 +25,186 @@ gameover.waiting = [accent]Äang đợi bản đồ tiếp theo... highscore = [accent]Äiểm cao má»›i! copied = Äã sao chép. indev.notready = Phần này cá»§a trò chÆ¡i chưa sẵn sàng -indev.campaign = [accent]Bạn đã đến cuối chiến dịch![]\n\nDu hành liên hành tinh sẽ được bổ sung trong các bản cập nhật tương lai. load.sound = Âm thanh load.map = Bản đồ load.image = Hình ảnh load.content = Ná»™i dung load.system = Hệ thống -load.mod = Mods -load.scripts = Scripts +load.mod = Danh sách mod +load.scripts = Ngữ lệnh -be.update = Äã tìm thấy bản cập nhật má»›i: +be.update = Äã tìm thấy bản dá»±ng má»›i cá»§a Bleeding Edge: be.update.confirm = Tải xuống và khởi động lại ngay bây giá»? be.updating = Äang cập nhật... -be.ignore = Bá» qua -be.noupdates = Không tìm thấy bản cập nhật má»›i. -be.check = Kiểm tra các bản cập nhật. +be.ignore = Phá»›t lá» +be.noupdates = Không tìm thấy bản cập nhật. +be.check = Kiểm tra các bản cập nhật -schematic = Schematic -schematic.add = Lưu Schematic... -schematics = Schematics -schematic.replace = Schematics có tên đó đã tồn tại. Thay thế nó? -schematic.exists = Schematics có tên đó đã tồn tại. -schematic.import = Nhập Schematic... +mods.browser = Duyệt mod +mods.browser.selected = Mod đã chá»n +mods.browser.add = Cài đặt +mods.browser.reinstall = Cài đặt lại +mods.browser.view-releases = Xem các bản phát hành +mods.browser.noreleases = [scarlet]Không Tìm Thấy Bản Phát Hành Nào\n[accent]Không thể tìm thấy bất cứ bản phát hành nào cho mod này. Hãy kiểm tra xem kho lưu trữ (repo) cá»§a mod đã có bản phát hành nào chưa. +mods.browser.latest = [lightgray][Má»›i nhất] +mods.browser.releases = Các bản phát hành +mods.github.open = Repo +mods.github.open-release = Trang phát hành +mods.browser.sortdate = Sắp xếp theo gần đây +mods.browser.sortstars = Sắp xếp theo sao + +schematic = Bản thiết kế +schematic.add = Lưu bản thiết kế... +schematics = Các bản thiết kế +schematic.search = Tìm kiếm các bản thiết kế... +schematic.replace = Bản thiết kế có tên đó đã tồn tại. Thay thế nó? +schematic.exists = Bản thiết kế có tên đó đã tồn tại. +schematic.import = Nhập Bản thiết kế... schematic.exportfile = Xuất tệp schematic.importfile = Nhập tệp schematic.browseworkshop = Duyệt qua Workshop -schematic.copy = Sao chép vào bá»™ nhá»› tạm -schematic.copy.import = Nhập từ bá»™ nhá»› tạm -schematic.shareworkshop = Chia sẻ từ Workshop -schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Lật Schematic -schematic.saved = Äã lưu Schematic. -schematic.delete.confirm = Schematic này sẽ bị xóa hoàn toàn. -schematic.rename = Äổi tên Schematic +schematic.copy = Sao chép vào Bá»™ nhá»› tạm +schematic.copy.import = Thêm từ Bá»™ nhá»› tạm +schematic.shareworkshop = Chia sẻ lên Workshop +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Lật bản thiết kế +schematic.saved = Äã lưu bản thiết kế. +schematic.delete.confirm = Bản thiết kế này sẽ bị xóa hoàn toàn. +schematic.edit = Chỉnh sá»­a bản thiết kế schematic.info = {0}x{1}, {2} khối -schematic.disabled = [scarlet]Tính năng Schematics đã bị tắt[]\nBạn không được sá»­ dụng schematic trong [accent]bản đồ[] hoặc [accent]máy chá»§. +schematic.disabled = [scarlet]Bản thiết kế đã bị tắt[]\nBạn không được sá»­ dụng bản thiết kế trong [accent]bản đồ[] hoặc [accent]máy chá»§. +schematic.tags = Thẻ: +schematic.edittags = Chỉnh sá»­a thẻ +schematic.addtag = Thêm thẻ +schematic.texttag = Thẻ văn bản +schematic.icontag = Thẻ biểu tượng +schematic.renametag = Äổi tên thẻ +schematic.tagged = {0} thẻ đã gắn +schematic.tagdelconfirm = Xóa hoàn toàn thẻ này? +schematic.tagexists = Thẻ đó đã tồn tại. stats = Thống kê -stat.wave = Äợt đã vượt qua:[accent] {0} -stat.enemiesDestroyed = Kẻ thù bị tiêu diệt:[accent] {0} -stat.built = Số công trình đã xây dá»±ng:[accent] {0} -stat.destroyed = Số công trình đã bị phá:[accent] {0} -stat.deconstructed = Số công trình được xây dá»±ng lại:[accent] {0} -stat.delivered = Lượng tài nguyên được phóng: -stat.playtime = Thá»i gian chÆ¡i:[accent] {0} -stat.rank = Xếp hạng: [accent]{0} +stats.wave = Äợt đã vượt qua +stats.unitsCreated = Số đơn vị đã tạo +stats.enemiesDestroyed = Số kẻ địch đã tiêu diệt +stats.built = Số công trình đã xây +stats.destroyed = Số công trình bị phá há»§y +stats.deconstructed = Số công trình đã phá dỡ +stats.playtime = Thá»i gian chÆ¡i -globalitems = [accent]Toàn bá»™ vật phẩm +globalitems = [accent]Vật phẩm cá»§a hành tinh map.delete = Bạn có chắc chắn muốn xóa bản đồ "[accent]{0}[]"? -level.highscore = Äiểm cao nhất: [accent]{0} +level.highscore = Äiểm cao: [accent]{0} level.select = Chá»n cấp độ -level.mode = Chế độ: -coreattack = < Căn cứ Ä‘ang bị tấn công! > -nearpoint = [[ [scarlet]RỜI KHỎI ÄIỂM THẢ NGAY LẬP TỨC[] ]\nsá»± há»§y diệt sắp xảy ra -database = CÆ¡ sở dữ liệu căn cứ +level.mode = Chế độ chÆ¡i: +coreattack = < Lõi Ä‘ang bị tấn công! > +nearpoint = [[ [scarlet]RỜI KHỎI ÄIỂM ÄÃP NGAY LẬP TỨC[] ]\nsá»± há»§y diệt sắp xảy ra +database = CÆ¡ sở dữ liệu cốt lõi +database.button = CÆ¡ sở dữ liệu savegame = Lưu trò chÆ¡i -loadgame = Tải trò chÆ¡i +loadgame = Tải lại màn chÆ¡i joingame = Tham gia trò chÆ¡i -customgame = Tùy chỉnh +customgame = Trò chÆ¡i tùy chỉnh newgame = Trò chÆ¡i má»›i -none = -minimap = Bản đồ mini +none = +none.found = [lightgray] +none.inmap = [lightgray] +minimap = Bản đồ nhá» position = Vị trí close = Äóng -website = Website +website = Trang web quit = Thoát save.quit = Lưu & Thoát -maps = Maps -maps.browse = Duyệt bản đồ +maps = Bản đồ +maps.browse = Duyệt qua bản đồ continue = Tiếp tục -maps.none = [lightgray]Không có bản đồ nào được tìm thấy! +maps.none = [lightgray]Không tìm thấy bản đồ! invalid = Không hợp lệ pickcolor = Chá»n màu preparingconfig = Äang chuẩn bị cấu hình preparingcontent = Äang chuẩn bị ná»™i dung uploadingcontent = Äang tải lên ná»™i dung uploadingpreviewfile = Äang tải lên tệp xem trước -committingchanges = Äang cập nhật các thay đổi +committingchanges = Äang á»§y thác các thay đổi done = Hoàn tất feature.unsupported = Thiết bị cá»§a bạn không há»— trợ tính năng này. -mods.alphainfo = Hãy nhá»› rằng các bản mod Ä‘ang ở giai Ä‘oạn alpha, và[scarlet] có thể chứa rất rất lá»—i[].\nBáo cáo bất kỳ vấn đỠnào bạn gặp phải tại Mindustry GitHub. -mods = Mods -mods.none = [lightgray]Không có mod nào được tìm thấy! +mods.initfailed = [red]âš [] Mindustry không khởi chạy được. Äiá»u này có thể do các mod bị lá»—i.\n\nÄể tránh gặp sá»± cố lặp lại, [red]tất cả các mod đã bị tắt.[] +mods = Danh sách mod +mods.none = [lightgray]Không tìm thấy mod! mods.guide = Hướng dẫn mod mods.report = Báo lá»—i mods.openfolder = Mở thư mục +mods.viewcontent = Xem ná»™i dung mods.reload = Tải lại -mods.reloadexit = Trò chÆ¡i sẽ đóng để tải lại mod. +mods.reloadexit = Trò chÆ¡i sẽ đóng để mod được tải lại. +mod.installed = [[Äã cài đặt] mod.display = [gray]Mod:[orange] {0} -mod.enabled = [lightgray]Äã Bật -mod.disabled = [scarlet]Äã Tắt +mod.enabled = [lightgray]Äã bật +mod.disabled = [red]Äã tắt +mod.multiplayer.compatible = [gray]Tương thích vá»›i chế độ nhiá»u ngưá»i chÆ¡i mod.disable = Tắt +mod.version = Phiên bản: mod.content = Ná»™i dung: mod.delete.error = Không thể xóa mod. Tệp có thể Ä‘ang được sá»­ dụng. -mod.requiresversion = [scarlet]Cần phiên bản tối thiểu: [accent]{0} -mod.outdated = [scarlet]Không tương thích vá»›i V6 (no minGameVersion: 105) -mod.missingdependencies = [scarlet]Thiếu phụ thuá»™c: {0} + +mod.incompatiblegame = [red]Trò chÆ¡i lá»—i thá»i +mod.incompatiblemod = [red]Không tương thích +mod.blacklisted = [red]Không được há»— trợ +mod.unmetdependencies = [red]Phụ thuá»™c chưa đáp ứng mod.erroredcontent = [scarlet]Lá»—i ná»™i dung +mod.circulardependencies = [red]Phụ thuá»™c tròn +mod.incompletedependencies = [red]Phụ thuá»™c chưa hoàn thiện + +mod.requiresversion.details = Yêu cầu phiên bản trò chÆ¡i: [accent]{0}[]\nPhiên bản cá»§a bạn đã lá»—i thá»i. Mod này yêu cầu phiên bản má»›i hÆ¡n cá»§a trò chÆ¡i (có thể là các bản phát hành beta/alpha) để hoạt động. +mod.outdatedv7.details = Mod này không tương thích vá»›i phiên bản má»›i nhất cá»§a trò chÆ¡i. Tác giả cần phải cập nhật nó, và thêm [accent]minGameVersion: 136[] vào tệp [accent]mod.json[]. +mod.blacklisted.details = Mod này đã bị đưa vào danh sách Ä‘en do gây ra các sá»± cố đối vá»›i phiên bản trò chÆ¡i này. Äừng sá»­ dụng nó. +mod.missingdependencies.details = Mod này thiếu các phụ thuá»™c: {0} +mod.erroredcontent.details = Mod này gây lá»—i khi tải. Vui lòng yêu cầu tác giả cá»§a mod sá»­a chúng. +mod.circulardependencies.details = Mod này có chứa các phụ thuá»™c mà chúng phụ thuá»™c lẫn nhau. +mod.incompletedependencies.details = Mod này không thể tải được do không hợp lệ hoặc thiếu các phụ thuá»™c: {0}. + +mod.requiresversion = Yêu cầu phiên bản trò chÆ¡i: [red]{0} + mod.errors = Äã xảy ra lá»—i khi tải ná»™i dung. -mod.noerrorplay = [scarlet]Bạn có mod bị lá»—i.[]Tắt các mod bị ảnh hưởng hoặc sá»­a chữa các lá»—i trước khi chÆ¡i. -mod.nowdisabled = [scarlet]Mod '{0}' cần mod này để chạy:[accent] {1}\n[lightgray]Trước tiên bạn cần tải các mod này xuống.\nBản mod này sẽ tá»± động tắt. +mod.noerrorplay = [red]Bạn có mod bị lá»—i.[] Tắt các mod bị ảnh hưởng hoặc sá»­a các lá»—i trước khi chÆ¡i. +mod.nowdisabled = [red]Mod '{0}' thiếu phụ thuá»™c:[accent] {1}\n[lightgray]Bạn cần tải các mod này xuống trước.\nBản mod này sẽ tá»± động tắt. mod.enable = Bật mod.requiresrestart = Trò chÆ¡i sẽ đóng để áp dụng các thay đổi cá»§a mod. mod.reloadrequired = [scarlet]Yêu cầu khởi động lại mod.import = Nhập Mod -mod.import.file = Nhập tệp +mod.import.file = Nhập từ tệp mod.import.github = Nhập từ GitHub -mod.jarwarn = [scarlet]JAR mod vốn dÄ© không an toàn.[]\nÄảm bảo rằng bạn Ä‘ang nhập bản mod này từ má»™t nguồn đáng tin cậy! -mod.item.remove = Mục này là má»™t phần cá»§a[accent] '{0}'[] mod. Äể xóa nó, hãy gỡ cài đặt mod này. +mod.jarwarn = [scarlet]Các mod JAR vốn dÄ© không an toàn.[]\nÄảm bảo rằng bạn Ä‘ang thêm mod này từ má»™t nguồn đáng tin cậy! +mod.item.remove = Mục này là má»™t phần cá»§a mod[accent] '{0}'[]. Äể xóa nó, hãy gỡ cài đặt mod đó. mod.remove.confirm = Mod này sẽ bị xóa. mod.author = [lightgray]Tác giả:[] {0} -mod.missing = Bản lưu này chứa các mod mà bạn đã cập nhật gần đây hoặc không còn cài đặt nữa. Có thể gây ra lá»—i khi mở. Bạn có chắc muốn mở nó?\n[lightgray]Mods:\n{0} -mod.preview.missing = Trước khi xuất bản bản mod này lên workshop, bạn phải thêm hình ảnh xem trước.\nÄặt má»™t hình ảnh có tên[accent] preview.png[] vào thư mục cá»§a mod và thá»­ lại. -mod.folder.missing = Chỉ có thể xuất bản các mod ở dạng thư mục lên workshop.\nÄể chuyển đổi bất kỳ mod nào thành má»™t thư mục, chỉ cần giải nén tệp cá»§a nó vào má»™t thư mục và xóa tệp nén cÅ©, sau đó khởi động lại trò chÆ¡i cá»§a bạn hoặc tải lại các bản mod cá»§a bạn. -mod.scripts.disable = Thiết bị cá»§a bạn không hổ trợ mod chứa scripts này. Bạn phải tắt các mod này để chÆ¡i trò chÆ¡i. +mod.missing = Bản lưu này chứa các mod mà bạn đã cập nhật gần đây hoặc không được cài đặt. Có thể gây ra lá»—i khi mở. Bạn có chắc muốn mở nó?\n[lightgray]Các mod:\n{0} +mod.preview.missing = Trước khi đăng bản mod này lên workshop, bạn phải thêm hình ảnh xem trước.\nÄặt má»™t hình ảnh có tên[accent] preview.png[] vào thư mục cá»§a mod và thá»­ lại. +mod.folder.missing = Chỉ có thể đăng các mod ở dạng thư mục lên workshop.\nÄể chuyển đổi bất kỳ mod nào thành má»™t thư mục, chỉ cần giải nén tệp cá»§a nó vào má»™t thư mục và xóa tệp nén cÅ©, sau đó khởi động lại trò chÆ¡i cá»§a bạn hoặc tải lại các bản mod cá»§a bạn. +mod.scripts.disable = Thiết bị cá»§a bạn không há»— trợ mod chứa các ngữ lệnh. Bạn phải tắt các mod này để chÆ¡i trò chÆ¡i. -about.button = Thông tin +about.button = Giá»›i thiệu name = Tên: -noname = Hãy nhập[accent] tên[] trước. +noname = Hãy nhập má»™t[accent] tên ngưá»i chÆ¡i[] trước. +search = Tìm kiếm: planetmap = Bản đồ hành tinh -launchcore = Phóng căn cứ +launchcore = Phóng lõi filename = Tên tệp: unlocked = Äã mở khóa ná»™i dung má»›i! available = Äã có mục nghiên cứu má»›i! -completed = [accent]Hoàn tất -techtree = Tiến trình -research.legacy = Dữ liệu nghiên cứu từ phiên bản[accent]5.0[] được tìm thấy.\nBạn có muốn [accent]tải dữ liệu này[], hoặc [accent]bá» qua[] và bắt đầu nghiên cứu lại trong chiến dịch má»›i (khuyến nghị)? -research.load = Tải +unlock.incampaign = < Mở khóa trong chiến dịch để biết thêm chi tiết > +campaign.select = Chá»n chiến dịch khởi đầu +campaign.none = [lightgray]Chá»n má»™t hành tinh để bắt đầu.\nCó thể thay đổi sang hành tinh khác bất cứ lúc nào. +campaign.erekir = Ná»™i dung má»›i và được trau chuốt. Quá trình chiến dịch liá»n mạch hÆ¡n.\n\nKhó hÆ¡n. Bản đồ chất lượng hÆ¡n và trải nghiệm tổng thể tốt hÆ¡n. +campaign.serpulo = Ná»™i dung cÅ©; trải nghiệm cÆ¡ bản. Tiến trình mở hÆ¡n, nhiá»u ná»™i dung hÆ¡n.\n\nRất có thể vẫn còn cÆ¡ chế bản đồ và chiến dịch bị mất cân bằng. Ãt được trau chuốt. +campaign.difficulty = Äá»™ khó +completed = [accent]Äã nghiên cứu +techtree = Cây công nghệ +techtree.select = Chá»n nhánh công nghệ +techtree.serpulo = Serpulo +techtree.erekir = Erekir +research.load = Nạp research.discard = Bá» qua research.list = [lightgray]Nghiên cứu: research = Nghiên cứu @@ -161,89 +215,107 @@ players.single = {0} ngưá»i chÆ¡i players.search = tìm kiếm players.notfound = [gray]không tìm thấy ngưá»i chÆ¡i server.closing = [accent]Äang đóng máy chá»§... -server.kicked.kick = Bạn đã bị kick khá»i máy chá»§! +server.kicked.kick = Bạn đã bị buá»™c rá»i khá»i máy chá»§! server.kicked.whitelist = Bạn không nằm trong danh sách được vào máy chá»§ này. server.kicked.serverClose = Máy chá»§ đã đóng. -server.kicked.vote = Bạn đã bị vote-kick. Tạm biệt. -server.kicked.clientOutdated = Phiên bản máy chá»§ này má»›i hÆ¡n phiên bản trò chÆ¡i! Hãy cập nhật trò chÆ¡i cá»§a bạn! -server.kicked.serverOutdated = Phiên bản máy chá»§ đã cÅ©! Hãy yêu cầu máy chá»§ đó cập nhật! +server.kicked.vote = Bạn đã bị bá» phiếu buá»™c rá»i. Tạm biệt. +server.kicked.clientOutdated = Phiên bản máy khách lá»—i thá»i! Hãy cập nhật trò chÆ¡i cá»§a bạn! +server.kicked.serverOutdated = Phiên bản máy chá»§ lá»—i thá»i! Hãy yêu cầu máy chá»§ đó cập nhật! server.kicked.banned = Bạn đã bị cấm trên máy chá»§ này. -server.kicked.typeMismatch = Máy chá»§ này không tương thích vá»›i phiên bản cá»§a bạn. +server.kicked.typeMismatch = Máy chá»§ này không tương thích vá»›i kiểu bản dá»±ng cá»§a bạn. server.kicked.playerLimit = Máy chá»§ đã đầy. Hãy chá» má»™t chá»— trống. -server.kicked.recentKick = Bạn đã bị kick gần đây.\nHãy chá» má»™t lúc sau đó kết nối lại. +server.kicked.recentKick = Bạn đã bị buá»™c rá»i gần đây.\nHãy chá» má»™t lúc sau đó kết nối lại. server.kicked.nameInUse = Có ai đó vá»›i cái tên này\nđã ở trong máy chá»§. server.kicked.nameEmpty = Tên bạn đã chá»n không hợp lệ. server.kicked.idInUse = Bạn đã ở trên máy chá»§ này! Bạn không được phép kết nối vá»›i hai tài khoản. -server.kicked.customClient = Máy chá»§ này không hổ trợ phiên bản tùy chỉnh. Hãy tải phiên bản chính thức. +server.kicked.customClient = Máy chá»§ này không há»— trợ bản dá»±ng tùy chỉnh. Hãy tải phiên bản chính thức. server.kicked.gameover = Trò chÆ¡i kết thúc! server.kicked.serverRestarting = Máy chá»§ Ä‘ang khởi động lại. server.versions = Phiên bản cá»§a bạn:[accent] {0}[]\nPhiên bản máy chá»§:[accent] {1}[] -host.info = Nút [accent]Mở máy chá»§[] mở máy chá»§ trên cổng [scarlet]6567[]. \nBất kỳ ai trên cùng [lightgray]wifi hoặc mạng cục bá»™[] sẽ có thể thấy máy chá»§ cá»§a bạn trong danh sách máy chá»§ cá»§a há».\n\nNếu bạn muốn má»i ngưá»i có thể kết nối từ má»i nÆ¡i bằng IP, [accent]port forwarding[] là bắt buá»™c.\n\n[lightgray]Lưu ý: Nếu ai đó Ä‘ang gặp sá»± cố khi kết nối vá»›i máy chá»§ trong mạng LAN cá»§a bạn, đảm bảo rằng bạn đã cho phép Mindustry truy cập vào mạng cục bá»™ cá»§a mình trong cài đặt tưá»ng lá»­a. Lưu ý rằng các mạng công cá»™ng đôi khi không cho phép khám phá máy chá»§. -join.info = Tại đây, bạn có thể nhập [accent]IP máy chá»§[] kết nối , hoặc khám phá [accent]mạng cục bá»™[] hay kết nối đến máy chá»§ [accent]toàn cầu[].\nCả mạng LAN và WAN Ä‘á»u được há»— trợ.\n\n[lightgray]Nếu bạn muốn kết nối vá»›i ai đó bằng IP, bạn sẽ cần phải há»i IP cá»§a há», có thể được tìm thấy bằng cách kiểm tra IP thiết bị cá»§a há». -hostserver = Mở máy chá»§. +host.info = Nút [accent]Mở máy chá»§[] mở máy chá»§ trên cổng [scarlet]6567[].\nBất kỳ ai trên cùng [lightgray]wifi hoặc mạng cục bá»™[] sẽ có thể thấy máy chá»§ cá»§a bạn trong danh sách máy chá»§ cá»§a há».\n\nNếu bạn muốn má»i ngưá»i có thể kết nối từ má»i nÆ¡i bằng IP, [accent]chuyển tiếp cổng (port forwarding)[] là bắt buá»™c.\n\n[lightgray]Lưu ý: Nếu ai đó Ä‘ang gặp sá»± cố khi kết nối vá»›i máy chá»§ trong mạng LAN cá»§a bạn, đảm bảo rằng bạn đã cho phép Mindustry truy cập vào mạng cục bá»™ cá»§a mình trong cài đặt tưá»ng lá»­a. Lưu ý rằng các mạng công cá»™ng đôi khi không cho phép khám phá máy chá»§. +join.info = Tại đây, bạn có thể nhập [accent]IP máy chá»§[] kết nối, hoặc khám phá [accent]mạng cục bá»™[] hay kết nối đến máy chá»§ [accent]toàn cầu[].\nCả mạng LAN và WAN Ä‘á»u được há»— trợ.\n\n[lightgray]Nếu bạn muốn kết nối vá»›i ai đó bằng IP, bạn sẽ cần phải há»i IP cá»§a há», có thể được tìm thấy bằng cách tra google vá»›i từ khóa "my ip" trên thiết bị cá»§a há». +hostserver = Mở máy chá»§ nhiá»u ngưá»i chÆ¡i invitefriends = Má»i bạn bè -hostserver.mobile = Mở máy chá»§ +hostserver.mobile = Mở máy chá»§ trò chÆ¡i host = Mở máy chá»§ hosting = [accent]Äang mở máy chá»§... hosts.refresh = Làm má»›i -hosts.discovering = Äang tìm máy chá»§ trong mạng LAN -hosts.discovering.any = Äang tìm máy chá»§ -server.refreshing = Làm má»›i máy chá»§ -hosts.none = [lightgray]Không có máy chá»§ cục bá»™ nào được tìm thấy! +hosts.discovering = Äang khám phá trò chÆ¡i trong mạng LAN +hosts.discovering.any = Äang khám phá trò chÆ¡i +server.refreshing = Äang làm má»›i máy chá»§ +hosts.none = [lightgray]Không có trò chÆ¡i cục bá»™ nào được tìm thấy! host.invalid = [scarlet]Không thể kết nối đến máy chá»§. servers.local = Máy chá»§ cục bá»™ -servers.remote = Máy chá»§ tùy chỉnh -servers.global = Máy chá»§ từ cá»™ng đồng +servers.local.steam = Trò chÆ¡i hiện có & Máy chá»§ cục bá»™ +servers.remote = Máy chá»§ từ xa +servers.global = Máy chá»§ cá»™ng đồng -servers.showhidden = Hiển thị Máy chá»§ Ẩn -server.shown = Hiện -server.hidden = Ẩn +servers.disclaimer = Các máy chỉ cá»™ng đồng [accent]không[] được sở hữu và kiểm soát bởi nhà phát triển.\n\nMáy chá»§ có thể chứa ná»™i dung do ngưá»i dùng tạo và không phù hợp vá»›i má»i lứa tuổi. +servers.showhidden = Hiện máy chá»§ ẩn +server.shown = Äã hiện +server.hidden = Äã ẩn -trace = Tìm ngưá»i chÆ¡i +viewplayer = Äang xem ngưá»i chÆ¡i: [accent]{0} +trace = Truy vết ngưá»i chÆ¡i trace.playername = Tên ngưá»i chÆ¡i: [accent]{0} trace.ip = IP: [accent]{0} -trace.id = Unique ID: [accent]{0} -trace.mobile = Mobile Client: [accent]{0} -trace.modclient = Custom Client: [accent]{0} -invalidid = Client ID không hợp lệ! Vui lòng gá»­i báo cáo lá»—i. +trace.id = Äịnh danh (ID): [accent]{0} +trace.language = Ngôn ngữ: [accent]{0} +trace.mobile = Máy khách di động: [accent]{0} +trace.modclient = Máy khách tùy chỉnh: [accent]{0} +trace.times.joined = Số lần tham gia: [accent]{0} +trace.times.kicked = Số lần bị buá»™c rá»i: [accent]{0} +trace.ips = Các IP: +trace.names = Các tên: +invalidid = Äịnh danh máy khách không hợp lệ! Vui lòng gá»­i báo cáo lá»—i. + +player.ban = Cấm +player.kick = Buá»™c rá»i +player.trace = Truy vết +player.admin = Hoán đổi quản trị viên +player.team = Äổi đội + server.bans = Cấm -server.bans.none = Không có ngưá»i chÆ¡i nào bị cấm! +server.bans.none = Không tìm thấy ngưá»i chÆ¡i nào bị cấm! server.admins = Quản trị viên -server.admins.none = Không có quản trị viên nào được tìm thấy! +server.admins.none = Không tìm thấy quản trị viên nào! server.add = Thêm máy chá»§ server.delete = Bạn có chắc chắn muốn xóa máy chá»§ này không? server.edit = Chỉnh sá»­a máy chá»§ server.outdated = [scarlet]Máy chá»§ lá»—i thá»i![] -server.outdated.client = [scarlet]Trò chÆ¡i lá»—i thá»i![] +server.outdated.client = [scarlet]Máy khách lá»—i thá»i![] server.version = [gray]v{0} {1} -server.custombuild = [accent]Phiên bản tùy chỉnh +server.custombuild = [accent]Bản dá»±ng tùy chỉnh confirmban = Bạn có chắc chắn muốn cấm "{0}[white]"? -confirmkick = Bạn có chắc chắn muốn kick "{0}[white]"? -confirmvotekick = Bạn có chắc chắn muốn vote-kick "{0}[white]"? +confirmkick = Bạn có chắc chắn muốn buá»™c "{0}[white]" rá»i Ä‘i? confirmunban = Bạn có chắc chắn muốn gỡ cấm ngưá»i chÆ¡i này? confirmadmin = Bạn có chắc chắn muốn thêm "{0}[white]" làm quản trị viên? -confirmunadmin = Bạn có chắc chắn muốn xóa quyá»n quản trị viên cá»§a "{0}[white]" ? +confirmunadmin = Bạn có chắc chắn muốn xóa quyá»n quản trị viên cá»§a "{0}[white]"? +votekick.reason = Lý do bá» phiếu buá»™c rá»i +votekick.reason.message = Bạn có chắc muốn bá» phiếu buá»™c rá»i cho "{0}[white]"?\nNếu có, xin hãy nhập lý do: joingame.title = Tham gia trò chÆ¡i joingame.ip = Äịa chỉ: -disconnect = Ngắt kết nối. +disconnect = Äã ngắt kết nối. disconnect.error = Lá»—i kết nối. disconnect.closed = Kết nối đã bị đóng. disconnect.timeout = Hết thá»i gian chá». disconnect.data = Không tải được dữ liệu thế giá»›i! +disconnect.snapshottimeout = Äã hết thá»i gian trong khi nhận ảnh chụp nhanh UDP.\nÄiá»u này xảy ra do mạng hoặc kết nối không ổn định. cantconnect = Không thể tham gia trò chÆ¡i ([accent]{0}[]). connecting = [accent]Äang kết nối... reconnecting = [accent]Äang kết nối lại... connecting.data = [accent]Äang tải dữ liệu thế giá»›i... server.port = Cổng: -server.addressinuse = Äịa chỉ Ä‘ang được sá»­ dụng! -server.invalidport = Cổng không hợp lệ! -server.error = [scarlet]Lá»—i máy chá»§. +server.invalidport = Số cổng không hợp lệ! +server.error.addressinuse = [scarlet]Mở máy chá»§ trên cổng 6567 thất bại.[]\n\nChắc rằng không có máy chá»§ Mindustry nào Ä‘ang chạy trên thiết bị hoặc mạng cá»§a bạn! +server.error = [scarlet]Lá»—i tạo máy chá»§. save.new = Bản lưu má»›i save.overwrite = Bạn có chắc muốn ghi đè\nbản lưu này? +save.nocampaign = Không thể nhập các tập tin đơn lẻ từ chiến dịch. overwrite = Ghi đè save.none = Không có bản lưu nào được tìm thấy! -savefail = Không thể lưu trò chÆ¡i này! +savefail = Không lưu được trò chÆ¡i! save.delete.confirm = Bạn có chắc chắn muốn xóa bản lưu này không? save.delete = Xóa save.export = Xuất bản lưu @@ -254,17 +326,18 @@ save.import = Nhập bản lưu save.newslot = Tên bản lưu: save.rename = Äổi tên save.rename.text = Tên má»›i: -selectslot = Hãy chá»n má»™t bản lưu. +selectslot = Chá»n má»™t bản lưu. slot = [accent]Vị trí {0} editmessage = Chỉnh sá»­a lá»i nhắn save.corrupted = Tệp bản lưu bị há»ng hoặc không hợp lệ! empty = on = Bật off = Tắt +save.search = Tìm kiếm màn chÆ¡i đã lưu... save.autosave = Tá»± động lưu: {0} save.map = Bản đồ: {0} save.wave = Äợt {0} -save.mode = Chế độ: {0} +save.mode = Chế độ chÆ¡i: {0} save.date = Lưu lần cuối: {0} save.playtime = Thá»i gian chÆ¡i: {0} warning = Cảnh báo. @@ -272,128 +345,199 @@ confirm = Xác nhận delete = Xóa view.workshop = Xem trong Workshop workshop.listing = Chỉnh sá»­a danh sách Workshop -ok = OK +ok = Äồng ý open = Mở -customize = Luật tùy chỉnh +customize = Quy tắc tùy chỉnh cancel = Há»§y -openlink = Mở link -copylink = Sao chép link +command = Mệnh lệnh +command.queue = Lệnh tuần tá»± +command.mine = Äào +command.repair = Sá»­a chữa +command.rebuild = Xây lại +command.assist = Há»— trợ Ngưá»i chÆ¡i +command.move = Di Chuyển +command.boost = Tăng cưá»ng +command.enterPayload = Nhập Khối hàng vào Công trình +command.loadUnits = Nhận ÄÆ¡n vị +command.loadBlocks = Nhận Khối công trình +command.unloadPayload = Dỡ Khối hàng +command.loopPayload = Lặp vận chuyển đơn vị +stance.stop = Há»§y Mệnh lệnh +stance.shoot = Tư thế: Bắn +stance.holdfire = Tư thế: Ngừng bắn +stance.pursuetarget = Tư thế: Bám Ä‘uổi Mục tiêu +stance.patrol = Tư thế: ÄÆ°á»ng tuần tra +stance.ram = Tư thế: Tông thẳng\n[lightgray]Äi theo đưá»ng thẳng, không tìm đưá»ng +openlink = Mở liên kết +copylink = Sao chép liên kết back = Quay lại -crash.export = Xuất Crash Logs -crash.none = Không có Crash Logs nào được tìm thấy. -crash.exported = Crash logs đã được xuất. +max = Tối Ä‘a +objective = Nhiệm vụ bản đồ +crash.export = Xuất Nhật ký sá»± cố +crash.none = Không có Nhật ký sá»± cố nào được tìm thấy. +crash.exported = Nhật ký sá»± cố đã được xuất. data.export = Xuất dữ liệu data.import = Nhập dữ liệu data.openfolder = Mở thư mục dữ liệu data.exported = Dữ liệu đã được xuất. data.invalid = Äây không phải dữ liệu trò chÆ¡i hợp lệ. -data.import.confirm = Nhập dữ liệu bên ngoài sẽ ghi đè[scarlet] tất cả[] dữ liệu trò chÆ¡i hiện tại.\n[accent]Äiá»u này không thể hoàn tác![]\n\nSau khi dữ liệu được nhập, trò chÆ¡i cá»§a bạn sẽ thoát ngay lập tức. +data.import.confirm = Nhập dữ liệu bên ngoài sẽ ghi đè[scarlet] tất cả[] dữ liệu trò chÆ¡i hiện tại cá»§a bạn.\n[accent]Äiá»u này không thể hoàn tác![]\n\nSau khi dữ liệu được nhập, trò chÆ¡i cá»§a bạn sẽ thoát ngay lập tức. quit.confirm = Bạn có chắc muốn thoát? -quit.confirm.tutorial = Bạn có chắc chắn biết mình Ä‘ang làm gì không?\nHướng dẫn có thể được thá»±c hiện lại trong[accent] Cài đặt->Trò chÆ¡i>Thá»±c hiện lại hướng dẫn.[] loading = [accent]Äang tải... -reloading = [accent]Äang tải lại Mods... +downloading = [accent]Äang tải xuống... saving = [accent]Äang lưu... -respawn = [accent][[{0}][] để hồi sinh tại căn cứ +respawn = [accent][[{0}][] để hồi sinh cancelbuilding = [accent][[{0}][] để há»§y xây -selectschematic = [accent][[{0}][] to để chá»n+sao chép +selectschematic = [accent][[{0}][] để chá»n+sao chép pausebuilding = [accent][[{0}][] để tạm dừng xây dá»±ng resumebuilding = [scarlet][[{0}][] để tiếp tục xây dá»±ng -showui = UI hidden.\nPress [accent][[{0}][] để hiện UI. +enablebuilding = [scarlet][[{0}][] để bật xây dá»±ng +showui = Äã ẩn giao diện.\nNhấn [accent][[{0}][] để hiện lại giao diện. +commandmode.name = [accent]Chế độ chỉ huy +commandmode.nounits = [không có đơn vị] wave = [accent]Äợt {0} wave.cap = [accent]Äợt {0}/{1} -wave.waiting = [lightgray]Kẻ địch xuất hiện sau {0} -wave.waveInProgress = [lightgray]Äịch Ä‘ang xuất hiện. -waiting = [lightgray]Chá»... -waiting.players = Äang chá» thêm ngưá»i chÆ¡i... +wave.waiting = [lightgray]Äợt kế tiếp sau {0} +wave.waveInProgress = [lightgray]Äợt Ä‘ang tấn công +waiting = [lightgray]Äang chá»... +waiting.players = Äang chá» ngưá»i chÆ¡i... wave.enemies = [lightgray]{0} Kẻ địch còn lại -wave.enemycores = [accent]{0}[lightgray] Căn cứ địch -wave.enemycore = [accent]{0}[lightgray] Căn cứ địch +wave.enemycores = [accent]{0}[lightgray] Lõi kẻ địch +wave.enemycore = [accent]{0}[lightgray] Lõi kẻ địch wave.enemy = [lightgray]{0} Kẻ địch còn lại -wave.guardianwarn = Boss sẽ xuất hiện sau [accent]{0}[] đợt. -wave.guardianwarn.one = Boss sẽ xuất hiện sau [accent]{0}[] đợt. +wave.guardianwarn = Trùm sẽ xuất hiện sau [accent]{0}[] đợt. +wave.guardianwarn.one = Trùm sẽ xuất hiện sau [accent]{0}[] đợt. loadimage = Tải hình ảnh saveimage = Lưu hình ảnh unknown = Không xác định custom = Tùy chỉnh -builtin = Xây trong +builtin = Có sẵn map.delete.confirm = Bạn có chắc chắn muốn xóa bản đồ này không? Hành động này không thể hoàn tác! map.random = [accent]Bản đồ ngẫu nhiên -map.nospawn = Bản đồ này không có bất kỳ căn cứ nào để ngưá»i chÆ¡i hồi sinh! Thêm má»™t căn cứ [accent] cam[] vào bản đồ ở trình chỉnh sá»­a. -map.nospawn.pvp = Bản đồ này không có bất kỳ căn cứ kẻ thù nào để ngưá»i chÆ¡i hồi sinh! Thêm má»™t căn cứ khác màu [scarlet]cam [] vào bản đồ ở trình chỉnh sá»­a. -map.nospawn.attack = Bản đồ này không có bất kỳ căn cứ kẻ thù nào để ngưá»i chÆ¡i tấn công! Thêm má»™t căn cứ màu[scarlet] Ä‘á»[] vào bản đồ ở trình chỉnh sá»­a. +map.nospawn = Bản đồ này không có bất kỳ lõi nào để ngưá»i chÆ¡i hồi sinh! Thêm má»™t lõi {0} vào bản đồ này ở trình chỉnh sá»­a. +map.nospawn.pvp = Bản đồ này không có bất kỳ lõi kẻ địch nào để ngưá»i chÆ¡i hồi sinh! Thêm má»™t lõi[scarlet] không phải màu cam[] vào bản đồ này ở trình chỉnh sá»­a. +map.nospawn.attack = Bản đồ này không có bất kỳ lõi kẻ địch nào để ngưá»i chÆ¡i tấn công! Thêm má»™t lõi {0} vào bản đồ này ở trình chỉnh sá»­a. map.invalid = Lá»—i khi tải bản đồ: tệp bản đồ bị há»ng hoặc không hợp lệ. workshop.update = Cập nhật mục -workshop.error = Lá»—i khi tìm nạp thông tin chi tiết ở workshop: {0} -map.publish.confirm = Bạn có chắc chắn muốn xuất bản bản đồ này không?\n\n[lightgray]Äảm bảo rằng bạn đồng ý vá»›i Workshop EULA trước, hoặc bản đồ cá»§a bạn sẽ không hiển thị! +workshop.error = Lá»—i khi tìm lấy chi tiết ở workshop: {0} +map.publish.confirm = Bạn có chắc chắn muốn xuất bản bản đồ này không?\n\n[lightgray]Äảm bảo rằng bạn đồng ý vá»›i Thá»a thuận cấp phép ngưá»i dùng cuối (EULA) cá»§a Workshop trước, hoặc bản đồ cá»§a bạn sẽ không hiển thị! workshop.menu = Chá»n những gì bạn muốn làm vá»›i mục này. workshop.info = Thông tin mục -changelog = Danh sách các thay đổi (không bắt buá»™c): -eula = Steam EULA +changelog = Nhật ký thay đổi (tùy chá»n): +updatedesc = Ghi đè Tiêu đỠ& Mô tả +eula = Thá»a thuận cấp phép ngưá»i dùng cuối (EULA) cá»§a Steam missing = Mục này đã bị xóa hoặc di chuyển.\n[lightgray]Danh sách workshop hiện đã được tá»± động há»§y liên kết. publishing = [accent]Äang xuất bản... -publish.confirm = Bạn có chắc chắn muốn xuất bản không?\n\n[lightgray]Äảm bảo rằng bạn đồng ý vá»›i Workshop EULA trước, hoặc mục cá»§a bạn sẽ không hiển thị! -publish.error = Lá»—i khi xuất bản: {0} +publish.confirm = Bạn có chắc chắn muốn xuất bản không?\n\n[lightgray]Äảm bảo rằng bạn đồng ý vá»›i Thá»a thuận cấp phép ngưá»i dùng cuối (EULA) cá»§a Workshop trước, hoặc mục cá»§a bạn sẽ không hiển thị! +publish.error = Lá»—i khi xuất bản mục: {0} steam.error = Không thể khởi chạy dịch vụ Steam.\nLá»—i: {0} -editor.brush = Kích thước +editor.planet = Hành tinh: +editor.sector = Khu vá»±c: +editor.seed = Mầm: +editor.cliffs = Chuyển tưá»ng thành vách đá +editor.brush = Cỡ cá» editor.openin = Mở trong trình chỉnh sá»­a -editor.oregen = Cấu trúc quặng -editor.oregen.info = Cấu trúc quặng: +editor.oregen = Tạo quặng +editor.oregen.info = Tạo quặng: editor.mapinfo = Thông tin bản đồ editor.author = Tác giả: editor.description = Mô tả: editor.nodescription = Bản đồ phải có mô tả ít nhất 4 ký tá»± trước khi được xuất bản. -editor.waves = Lượt: -editor.rules = Luật: -editor.generation = Cấu trúc: +editor.waves = Äợt +editor.rules = Quy tắc +editor.generation = Tạo ra +editor.objectives = Mục tiêu nhiệm vụ +editor.locales = Gói ngôn ngữ +editor.worldprocessors = Các bá»™ xá»­ lý thế giá»›i +editor.worldprocessors.editname = Sá»­a tên +editor.worldprocessors.none = [lightgray]không tìm thấy khối bá»™ xá»­ lý thế giá»›i nào!\nThêm má»™t bá»™ trong trình chỉnh sá»­a bản đồ, hoặc dùng nút \ue813 Thêm ở dưới. +editor.worldprocessors.nospace = Không có không gian trống để đặt má»™t bá»™ xá»­ lý thế giá»›i!\nCó phải bạn đã Ä‘iá»n đầy bản đồ bằng các công trình? Tại sao bạn lại làm vậy? +editor.worldprocessors.delete.confirm = Bạn có muốn xóa bá»™ xá»­ lý thế giá»›i này?\n\nNếu nó được bao quanh bởi các vách tưá»ng, nó sẽ được thay thế bằng vách tưá»ng quanh đó. editor.ingame = Chỉnh sá»­a trong trò chÆ¡i +editor.playtest = ChÆ¡i thá»­ editor.publish.workshop = Xuất bản lên Workshop editor.newmap = Bản đồ má»›i editor.center = Trung tâm +editor.search = Tìm kiếm bản đồ... +editor.filters = Lá»c bản đồ +editor.filters.mode = Chế độ chÆ¡i: +editor.filters.type = Kiểu bản đồ: +editor.filters.search = Tìm kiếm trong: +editor.filters.author = Tác giả +editor.filters.description = Mô tả +editor.shiftx = Dịch theo X +editor.shifty = Dịch theo Y workshop = Workshop waves.title = Äợt -waves.remove = Xóa -waves.never = +waves.remove = Loại bá» waves.every = má»—i waves.waves = đợt +waves.health = độ bá»n: {0}% waves.perspawn = má»—i lần xuất hiện waves.shields = khiên/đợt waves.to = đến -waves.guardian = Boss +waves.spawn = xuất hiện từ: +waves.spawn.all = +waves.spawn.select = Chá»n Ä‘iểm xuất hiện +waves.spawn.none = [scarlet]không tìm thấy Ä‘iểm xuất hiện nào trên bản đồ +waves.max = đơn vị tối Ä‘a +waves.guardian = Trùm waves.preview = Xem trước waves.edit = Chỉnh sá»­a... -waves.copy = Sao chép vào bá»™ nhá»› tạm -waves.load = Lấy từ bá»™ nhá»› tạm -waves.invalid = Lượt không hợp lệ trong bá»™ nhá»› tạm. -waves.copied = Äã sao chép lượt. -waves.none = Không có kẻ thù được xác định.\nLưu ý rằng bố cục má»—i đợt trống sẽ tá»± động được thay thế bằng bố cục mặc định. +waves.random = Ngẫu nhiên +waves.copy = Sao chép vào Bá»™ nhá»› tạm +waves.load = Nạp từ Bá»™ nhá»› tạm +waves.invalid = Äợt không hợp lệ trong bá»™ nhá»› tạm. +waves.copied = Äã sao chép các đợt. +waves.none = Không có kẻ địch được xác định.\nLưu ý rằng bố cục má»—i đợt trống sẽ tá»± động được thay thế bằng bố cục mặc định. +waves.sort = Sắp xếp theo +waves.sort.reverse = Äảo ngược sắp xếp +waves.sort.begin = Bắt đầu +waves.sort.health = Äá»™ bá»n +waves.sort.type = LoaÌ£i +waves.search = Tìm kiếm các đợt... +waves.filter = Bá»™ lá»c đơn vị +waves.units.hide = Ẩn tất cả +waves.units.show = Hiện tất cả #these are intentionally in lower case wavemode.counts = số lượng wavemode.totals = tổng số -wavemode.health = máu +wavemode.health = độ bá»n +all = Tất cả editor.default = [lightgray] details = Chi tiết... -edit = Chỉnh sá»­a... +edit = Chỉnh sá»­a +variables = Biến số +logic.clear.confirm = Bạn có muốn xóa sạch tất cả mã khá»i bá»™ xá»­ lý này? +logic.globals = Biến số sẵn có + editor.name = Tên: -editor.spawn = Thêm kẻ địch -editor.removeunit = Xóa kẻ địch +editor.spawn = ÄÆ¡n vị xuất hiện +editor.removeunit = Loại bỠđơn vị editor.teams = Äá»™i editor.errorload = Lá»—i khi tải tệp. editor.errorsave = Lá»—i khi lưu tệp. -editor.errorimage = Äó là má»™t hình ảnh, không phải bản đồ.\n\nNếu bạn muốn nhập má»™t bản đồ 3.5/build 40, sá»­ dụng nút 'Nhập bản đồ thay thế' trong trình chỉnh sá»­a. +editor.errorimage = Äó là má»™t hình ảnh, không phải bản đồ. editor.errorlegacy = Bản đồ này quá cÅ©, và sá»­ dụng định dạng bản đồ cÅ© không còn được há»— trợ. editor.errornot = Äây không phải là tệp bản đồ. editor.errorheader = Tệp bản đồ này không hợp lệ hoặc bị há»ng. editor.errorname = Bản đồ không có tên được xác định. Bạn Ä‘ang cố gắng tải má»™t bản lưu? +editor.errorlocales = Lá»—i khi Ä‘á»c gói ngôn ngữ không hợp lệ. editor.update = Cập nhật editor.randomize = Ngẫu nhiên +editor.moveup = Di chuyển lên +editor.movedown = Di chuyển xuống +editor.copy = Sao Chép editor.apply = Ãp dụng editor.generate = Tạo ra +editor.sectorgenerate = Tạo ra khu vá»±c editor.resize = Thay đổi kích thước -editor.loadmap = Mở bản đồ +editor.loadmap = Nạp bản đồ editor.savemap = Lưu bản đồ +editor.savechanges = [scarlet]Bạn có thay đổi chưa lưu!\n\n[]Bạn có muốn lưu chúng không? editor.saved = Äã lưu! editor.save.noname = Bản đồ cá»§a bạn không có tên! Hãy đặt má»™t cái tên trong 'Thông tin bản đồ'. editor.save.overwrite = Bản đồ cá»§a bạn ghi đè lên má»™t bản đồ đã có sẵn! Hãy chá»n má»™t cái tên khác trong 'Thông tin bản đồ'. @@ -418,7 +562,7 @@ editor.mapname = Tên bản đồ: editor.overwrite = [accent]Cảnh báo!\nÄiá»u này có thể ghi đè lên má»™t bản đồ hiện có. editor.overwrite.confirm = [scarlet]Cảnh báo![] Bản đồ có tên này đã tồn tại. Bạn có chắc chắn muốn ghi đè lên nó không?\n"[accent]{0}[]" editor.exists = Bản đồ có tên này đã tồn tại. -editor.selectmap = Chá»n bản đồ cần mở: +editor.selectmap = Chá»n bản đồ cần nạp: toolmode.replace = Thay thế toolmode.replace.description = Chỉ vẽ trên các khối rắn. @@ -430,133 +574,235 @@ toolmode.square = Vuông toolmode.square.description = Cá» vẽ vuông. toolmode.eraseores = Xóa quặng toolmode.eraseores.description = Chỉ xóa quặng. -toolmode.fillteams = Fill Teams -toolmode.fillteams.description = Fill teams instead of blocks. -toolmode.drawteams = Draw Teams -toolmode.drawteams.description = Draw teams instead of blocks. +toolmode.fillteams = Äiá»n đội +toolmode.fillteams.description = Äiá»n các đội thay cho các khối. +toolmode.fillerase = Äiá»n xóa +toolmode.fillerase.description = Xóa các khối cùng kiểu. +toolmode.drawteams = Vẽ đội +toolmode.drawteams.description = Vẽ các đội thay vì các khối. +#unused +toolmode.underliquid = Dưới chất lá»ng +toolmode.underliquid.description = Vẽ ná»n dưới các ô chất lá»ng. + +filters.empty = [lightgray]Không có bá»™ lá»c! Thêm má»™t bá»™ bằng nút bên dưới. -filters.empty = [lightgray]Không có bá»™ lá»c! Thêm má»™t cái bằng nút bên dưới. filter.distort = Cong vẹo filter.noise = Nhiá»…u -filter.enemyspawn = Khu vá»±c xuất hiện cá»§a kẻ thù -filter.spawnpath = Khu tạo ra -filter.corespawn = Chá»n Căn cứ -filter.median = Trung bình -filter.oremedian = Quặng Trung bình +filter.enemyspawn = Chá»n Ä‘iểm xuất hiện cá»§a kẻ địch +filter.spawnpath = ÄÆ°á»ng đến Ä‘iểm xuất hiện +filter.corespawn = Chá»n lõi +filter.median = Trung vị +filter.oremedian = Quặng Trung vị filter.blend = Trá»™n filter.defaultores = Quặng mặc định filter.ore = Quặng filter.rivernoise = Nhiá»…u sông filter.mirror = Äối xứng filter.clear = Xóa -filter.option.ignore = Bá» qua +filter.option.ignore = Phá»›t lá» filter.scatter = Phân tán filter.terrain = Äịa hình -filter.option.scale = Kích thước -filter.option.chance = Tá»· lệ +filter.logic = Logic + +filter.option.scale = Quy mô +filter.option.chance = CÆ¡ há»™i filter.option.mag = Äá»™ lá»›n filter.option.threshold = Ngưỡng -filter.option.circle-scale = Äá»™ lá»›n vòng tròn -filter.option.octaves = Octaves -filter.option.falloff = Falloff +filter.option.circle-scale = Quy mô vòng tròn +filter.option.octaves = Bát độ +filter.option.falloff = Suy giảm filter.option.angle = Góc +filter.option.tilt = Nghiêng +filter.option.rotate = Xoay filter.option.amount = Số lượng filter.option.block = Khối filter.option.floor = Ná»n -filter.option.flooronto = Ná»n thay thế +filter.option.flooronto = Ná»n đích filter.option.target = Mục tiêu +filter.option.replacement = Thay thế filter.option.wall = Tưá»ng filter.option.ore = Quặng filter.option.floor2 = Ná»n phụ filter.option.threshold2 = Ngưỡng phụ filter.option.radius = Bán kính filter.option.percentile = Phần trăm +filter.option.code = Mã +filter.option.loop = Lặp + +locales.info = Tại đây, bạn có thể thêm gói ngôn ngữ cho ngôn ngữ cụ thể vào bản đồ cá»§a bạn. Trong gói ngôn ngữ, má»—i thuá»™c tính có tên và giá trị. Những thuá»™c tính này có thể được sá»­ dụng bởi Bá»™ xá»­ lý thế giá»›i và Mục tiêu nhiệm vụ bằng tên cá»§a chúng. Chúng há»— trợ định dạng văn bản (thay thế từ giữ chá»— bằng giá trị thá»±c tế).\n\n[cyan]Ví dụ thuá»™c tính:\n[]tên: [accent]timer[]\ngiá trị: [accent]Bá»™ đếm thá»i gian ví dụ, thá»i gian còn lại: {0}[]\n\n[cyan]Cách dùng:\n[]Äặt làm văn bản cho Mục tiêu nhiệm vụ: [accent]@timer\n\n[]In nó trong Bá»™ xá»­ lý thế giá»›i:\n[accent]localeprint "timer"\nformat time\n[gray](vá»›i time là biến được tính toán riêng biệt) +locales.deletelocale = Bạn có chắc muốn xóa gói ngôn ngữ này? +locales.applytoall = Ãp dụng thay đổi cho tất cả gói ngôn ngữ +locales.addtoother = Thêm vào các gói ngôn ngữ khác +locales.rollback = Khôi phục lại lần áp dụng cuối +locales.filter = Bá»™ lá»c thuá»™c tính +locales.searchname = Tìm tên... +locales.searchvalue = Tìm giá trị... +locales.searchlocale = Tìm ngôn ngữ... +locales.byname = Theo tên +locales.byvalue = Theo giá trị +locales.showcorrect = Hiện thuá»™c tính có trong tất cả ngôn ngữ và có giá trị riêng biệt má»—i nÆ¡i +locales.showmissing = Hiện thuá»™c tính bị thiếu trong má»™t số ngôn ngữ +locales.showsame = Hiện thuá»™c tính có giá trị giống nhau trong các ngôn ngữ khác nhau +locales.viewproperty = Xem trong tất cả ngôn ngữ +locales.viewing = Äang xem thuá»™c tính "{0}" +locales.addicon = Thêm biểu tượng width = Chiá»u rá»™ng: height = Chiá»u cao: -menu = Menu +menu = Trình đơn play = ChÆ¡i campaign = Chiến dịch -load = Tải +load = Nạp save = Lưu fps = FPS: {0} ping = Ping: {0}ms -memory = Mem: {0}mb -memory2 = Mem:\n {0}mb +\n {1}mb +tps = TPS: {0} +memory = Bá»™ nhá»›: {0}mb +memory2 = Bá»™ nhá»›:\n {0}mb +\n {1}mb language.restart = Khởi động lại trò chÆ¡i cá»§a bạn để cài đặt ngôn ngữ có hiệu lá»±c. settings = Cài đặt tutorial = Hướng dẫn tutorial.retake = Thá»±c hiện lại Hướng dẫn -editor = Chỉnh sá»­a +editor = Trình chỉnh sá»­a mapeditor = Trình chỉnh sá»­a bản đồ -abandon = Bá» +abandon = Từ bá» abandon.text = Khu vá»±c này và tất cả tài nguyên cá»§a nó sẽ bị mất vào tay kẻ địch. locked = Äã khóa complete = [lightgray]Hoàn thành: requirement.wave = Äạt đến đợt {0} ở {1} -requirement.core = Phá há»§y căn cứ địch ở {0} +requirement.core = Phá há»§y lõi địch ở {0} requirement.research = Nghiên cứu {0} -requirement.produce = Sản lượng {0} +requirement.produce = Sản xuất {0} requirement.capture = Chiếm {0} +requirement.onplanet = Kiểm soát khu vá»±c {0} +requirement.onsector = Äáp xuống khu vá»±c: {0} launch.text = Phóng -research.multiplayer = Chỉ máy chá»§ má»›i có thể nghiên cứu các mục. map.multiplayer = Chỉ máy chá»§ má»›i có thể xem các khu vá»±c. uncover = Khám phá -configure = Tùy chỉnh vật phẩm +configure = Cấu hình vật phẩm khởi đầu -loadout = Vật phẩm +objective.research.name = Nghiên cứu +objective.produce.name = Nhận +objective.item.name = Nhận vật phẩm +objective.coreitem.name = Vật phẩm trong lõi +objective.buildcount.name = Xây công trình +objective.unitcount.name = Sản xuất đơn vị +objective.destroyunits.name = Tiêu diệt đơn vị +objective.timer.name = Hẹn giá» +objective.destroyblock.name = Phá huá»· khối +objective.destroyblocks.name = Phá huá»· khối +objective.destroycore.name = Phá huá»· lõi +objective.commandmode.name = Chế độ mệnh lệnh +objective.flag.name = Cá» + +marker.shapetext.name = Hình dạng văn bản +marker.point.name = Äiểm +marker.shape.name = Hình dạng +marker.text.name = Văn bản +marker.line.name = ÄÆ°á»ng kẻ +marker.quad.name = Tứ giác +marker.texture.name = Kết cấu + +marker.background = Ná»n +marker.outline = ÄÆ°á»ng viá»n + +objective.research = [accent]Nghiên cứu:\n[]{0}[lightgray]{1} +objective.produce = [accent]Nhận:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]Phá huá»·:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]Phá huá»·: [lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]Nhận: [][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Chuyển vào lõi:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]Xây: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]Tạo đơn vị: [][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]Tiêu diệt: [][lightgray]{0}[]x ÄÆ¡n vị +objective.enemiesapproaching = [accent]Kẻ địch đến sau [lightgray]{0}[] +objective.enemyescelating = [accent]Kẻ địch leo thang sản xuất sau [lightgray]{0}[] +objective.enemyairunits = [accent]Kẻ địch bắt đầu sản xuất đơn vị bay sau [lightgray]{0}[] +objective.destroycore = [accent]Phá huá»· lõi kẻ địch +objective.command = [accent]Mệnh lệnh đơn vị +objective.nuclearlaunch = [accent]âš  Phát hiện việc phóng tên lá»­a: [lightgray]{0} + +announce.nuclearstrike = [red]âš  TÊN LỬA SẮP VA CHẠM âš \nxây lõi dá»± phòng ngay + +loadout = Vật phẩm khởi đầu resources = Tài nguyên +resources.max = Tối Ä‘a bannedblocks = Khối bị cấm +unbannedblocks = Unbanned Blocks +objectives = Mục tiêu nhiệm vụ +bannedunits = ÄÆ¡n vị bị cấm +unbannedunits = Unbanned Units +bannedunits.whitelist = Chỉ dùng các đơn vị bị cấm +bannedblocks.whitelist = Chỉ dùng các khối bị cấm addall = Thêm tất cả launch.from = Äang phóng từ: [accent]{0} +launch.capacity = Trữ lượng vật phẩm khi phóng: [accent]{0} launch.destination = Äích đến: {0} +landing.sources = Khu vá»±c nguồn: [accent]{0}[] +landing.import = Tổng nhập tối Ä‘a: {0}[accent]{1}[lightgray]/phút configure.invalid = Số lượng phải là số trong khoảng 0 đến {0}. add = Thêm... -boss.health = Máu Boss +guardian = Trùm connectfail = [scarlet]Lá»—i kết nối:\n\n[accent]{0} -error.unreachable = Không thể truy cập máy chá»§.\nKiểm tra lại xem địa chỉ có đúng không? +error.unreachable = Không thể truy cập máy chá»§.\nÄịa chỉ liệu có đúng không? error.invalidaddress = Äịa chỉ không hợp lệ. -error.timedout = Hết thá»i gian chá»!\nÄảm bảo máy chá»§ đã thiết lập port forwarding, và địa chỉ đó là chính xác! -error.mismatch = Lá»—i packet:\nphiên bản máy khách / máy chá»§ có thể không khá»›p.\nÄảm bảo bạn và máy chá»§ có phiên bản Mindustry má»›i nhất! -error.alreadyconnected = Äã kết nối. +error.timedout = Hết thá»i gian chá»!\nÄảm bảo máy chá»§ đã thiết lập chuyển tiếp cổng, và địa chỉ đó là chính xác! +error.mismatch = Lá»—i gói tin:\nphiên bản máy khách/máy chá»§ có thể không khá»›p.\nÄảm bảo bạn và máy chá»§ có phiên bản Mindustry má»›i nhất! +error.alreadyconnected = Äã kết nối rồi. error.mapnotfound = Không tìm thấy tệp bản đồ! -error.io = Lá»—i Network I/O. +error.io = Lá»—i mạng đầu vào/ra. error.any = Lá»—i mạng không xác định. error.bloom = Không khởi tạo được hiệu ứng phát sáng.\nThiết bị cá»§a bạn có thể không há»— trợ. +error.moddex = Mindustry không thể nạp bản mod này.\nThiết bị cá»§a bạn Ä‘ang chặn nhập mod Java do thay đổi gần đây trong Android.\nVấn đỠnày không thể sá»­a được. Không có giải pháp tạm thá»i nào cho vấn đỠnày. weather.rain.name = Mưa -weather.snow.name = Tuyết +weather.snowing.name = Tuyết weather.sandstorm.name = Bão cát weather.sporestorm.name = Bão bào tá»­ weather.fog.name = Sương mù +campaign.playtime = \uf129 [lightgray]Thá»i gian chÆ¡i trên khu vá»±c: {0} +campaign.complete = [accent]Chúc mừng.\n\nKẻ địch trên {0} đã bị đánh bại.\n[lightgray]Khu vá»±c cuối cùng đã được chinh phục. + +sectorlist = Khu vá»±c +sectorlist.attacked = {0} Ä‘ang bị tấn công sectors.unexplored = [lightgray]Chưa được khám phá sectors.resources = Tài nguyên: sectors.production = Sản lượng: sectors.export = Xuất: +sectors.import = Nhập: sectors.time = Thá»i gian: sectors.threat = Mối Ä‘e dá»a: sectors.wave = Äợt: sectors.stored = Lưu trữ: sectors.resume = Tiếp tục sectors.launch = Phóng -sectors.select = Lá»±a chá»n -sectors.nonelaunch = [lightgray]trống (mặt trá»i) +sectors.select = ChoÌ£n +sectors.launchselect = Chá»n đích phóng +sectors.nonelaunch = [lightgray]không có (mặt trá»i) +sectors.redirect = Chuyển hướng bệ phóng sectors.rename = Äổi tên khu vá»±c sectors.enemybase = [scarlet]Căn cứ địch sectors.vulnerable = [scarlet]Dá»… bị tổn thất sectors.underattack = [scarlet]Äang bị tấn công! [accent]{0}% tổn thất +sectors.underattack.nodamage = [scarlet]Chưa được chiếm sectors.survives = [accent]Vượt qua {0} đợt sectors.go = Äi +sector.abandon = Rá»i bá» +sector.abandon.confirm = Những lõi ở đây sẽ tá»± huá»·.\nTiếp tục chứ? sector.curcapture = Khu vá»±c đã chiếm sector.curlost = Khu vá»±c đã mất -sector.missingresources = [scarlet]Không đủ tài nguyên căn cứ +sector.missingresources = [scarlet]Không đủ tài nguyên lõi sector.attacked = Khu vá»±c [accent]{0}[white] Ä‘ang bị tấn công! sector.lost = Khu vá»±c [accent]{0}[white] đã mất! -#note: the missing space in the line below is intentional -sector.captured = Khu vá»±c [accent]{0}[white]đã chiếm! +sector.capture = Khu vá»±c [accent]{0}[white] đã chiếm! +sector.capture.current = Khu vá»±c đã chiếm! +sector.changeicon = Thay đổi biểu tượng +sector.noswitch.title = Không thể đổi khu vá»±c +sector.noswitch = Bạn không thể đổi khu vá»±c khi má»™t khu vá»±c Ä‘ang bị tấn công.\n\nKhu vá»±c: [accent]{0}[] ở [accent]{1}[] +sector.view = Xem khu vá»±c threat.low = Thấp threat.medium = Trung bình @@ -564,12 +810,18 @@ threat.high = Cao threat.extreme = Cá»±c cao threat.eradication = Há»§y diệt +difficulty.casual = Giải triÌ +difficulty.easy = Dá»… +difficulty.normal = Vừa +difficulty.hard = Khó +difficulty.eradication = Há»§y diệt + planets = Hành tinh planet.serpulo.name = Serpulo +planet.erekir.name = Erekir planet.sun.name = Mặt trá»i -#Why we should translate this ?? sector.impact0078.name = Impact 0078 sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -585,108 +837,197 @@ sector.fungalPass.name = Fungal Pass sector.biomassFacility.name = Biomass Synthesis Facility sector.windsweptIslands.name = Windswept Islands sector.extractionOutpost.name = Extraction Outpost +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = Planetary Launch Terminal +sector.coastline.name = Coastline +sector.navalFortress.name = Naval Fortress +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier -#TODO: The Last -sector.groundZero.description = Vị trí tối ưu để bắt đầu má»™t lần nữa. Mối Ä‘e dá»a cá»§a kẻ thù thấp. Ãt tài nguyên.\nThu thập càng nhiá»u chì và đồng càng tốt.\nTiến lên. -sector.frozenForest.description = Ngay cả ở đây, gần núi hÆ¡n, các bào tá»­ đã phát tán. Nhiệt độ lạnh giá không thể chứa chúng mãi mãi.\n\nBắt đầu tham gia vào quyá»n lá»±c. Chế tạo máy phát Ä‘iện đốt. Há»c cách sá»­ dụng Máy sá»­a chữa. -sector.saltFlats.description = Ở vùng ngoại ô cá»§a sa mạc Salt Flats. Có thể tìm thấy ít tài nguyên ở khu vá»±c này.\n\nKẻ thù đã dá»±ng lên má»™t khu phức hợp lưu trữ tài nguyên ở đây. Loại bá» căn cứ cá»§a há». Không để lại gì. -sector.craters.description = Nước đã tích tụ trong miệng núi lá»­a này, di tích cá»§a các cuá»™c chiến tranh cÅ©. Hãy chiếm lại khu vá»±c. Thu gom cát, metaglass . BÆ¡m nước để làm mát súng và mÅ©i khoan. -sector.ruinousShores.description = Qua những chất thải, là bá» biển. Má»™t thá»i, vị trí này là nÆ¡i đặt má»™t hệ thống phòng thá»§ ven biển. Không còn lại nhiá»u. Chỉ những công trình phòng thá»§ cÆ¡ bản nhất vẫn không bị tổn thương, má»i thứ khác Ä‘á»u trở thành đống sắt vụn.\nTiếp tục mở rá»™ng ra bên ngoài. Khám phá lại công nghệ. -sector.stainedMountains.description = Xa hÆ¡n trong đất liá»n là những ngá»n núi, chưa bị bào tá»­ xâm hại.\nKhai thác titan dồi dào trong khu vá»±c này. Tìm hiểu làm thế nào để sá»­ dụng nó.\n\nSá»± hiện diện cá»§a kẻ thù ở đây lá»›n hÆ¡n. Äừng cho há» thá»i gian để có quân lính mạnh nhất cá»§a há». -sector.overgrowth.description = Khu vá»±c này cây cối má»c um tùm, gần nguồn bào tá»­ hÆ¡n.\nÄịch đã lập tiá»n đồn ở đây. Chế tạo Mace. Phá há»§y nó. Äòi lại thứ đã mất. -sector.tarFields.description = Vùng ngoại ô cá»§a khu sản xuất dầu, giữa núi và sa mạc. Má»™t trong số ít khu vá»±c có trữ lượng dầu có thể sá»­ dụng được.\nMặc dù bị bá» hoang, khu vá»±c này có má»™t số lá»±c lượng địch nguy hiểm gần đó. Äừng đánh giá thấp chúng.\n\n[lightgray]Nghiên cứu công nghệ chế biến dầu nếu có thể. -sector.desolateRift.description = Má»™t vùng cá»±c kỳ nguy hiểm. Tài nguyên dồi dào, nhưng ít không gian. Nguy cÆ¡ phá há»§y cao. Hãy rá»i Ä‘i càng sá»›m càng tốt. Äừng để bị lừa bởi khoảng cách dài giữa các cuá»™c tấn công cá»§a kẻ thù. -sector.nuclearComplex.description = Má»™t cÆ¡ sở trước đây để sản xuất và chế biến thorium, đã biến thành đống đổ nát.\n[lightgray]Nghiên cứu thorium và nhiá»u công dụng cá»§a nó.\n\nKẻ thù có mặt ở đây vá»›i số lượng rất lá»›n, liên tục lùng sục những kẻ tấn công. -sector.fungalPass.description = Khu vá»±c chuyển tiếp giữa vùng núi cao và vùng đất thấp hÆ¡n, đầy bào tá»­. Má»™t căn cứ trinh sát nhá» cá»§a địch được đặt tại đây.\nPhá há»§y nó.\nSá»­ dụng quân lính Dagger và Crawler. Phá há»§y hai căn cứ cá»§a địch. -sector.biomassFacility.description = Nguồn gốc cá»§a bào tá»­. Äây là cÆ¡ sở mà chúng được nghiên cứu và sản xuất ban đầu.\nNghiên cứu công nghệ có bên trong. Nuôi cấy bào tá»­ để sản xuất nhiên liệu và chất dẻo.\n\n[lightgray]Khi cÆ¡ sở này sụp đổ, các bào tá»­ đã được giải phóng. Không có gì trong hệ sinh thái địa phương có thể cạnh tranh vá»›i má»™t sinh vật xâm lấn như vậy. -sector.windsweptIslands.description = Xa hÆ¡n đưá»ng bá» biển là chuá»—i đảo xa xôi này. Hồ sÆ¡ cho thấy hỠđã từng có công trình sản xuất [accent]Plastanium[] .\n\nChống lại các lá»±c lượng hải quân cá»§a kẻ thù. Thiết lập căn cứ trên quần đảo. Nghiên cứu các nhà máy này. -sector.extractionOutpost.description = Má»™t tiá»n đồn xa, được kẻ thù xây dá»±ng vá»›i mục đích phóng nguồn lá»±c sang các khu vá»±c khác.\n\nCông nghệ vận tải xuyên ngành là Ä‘iá»u cần thiết để chinh phục hÆ¡n nữa. Phá há»§y căn cứ. Nghiên cứu bệ phóng cá»§a há». -sector.impact0078.description = Äây là tàn tích cá»§a tàu vận chuyển giữa các vì sao lần đầu tiên Ä‘i vào hệ thống này.\n\nLấy càng nhiá»u càng tốt từ đống đổ nát. Nghiên cứu bất kỳ công nghệ nguyên vẹn nào. -sector.planetaryTerminal.description = Mục tiêu cuối cùng.\n\nCăn cứ ven biển này chứa má»™t cấu trúc có khả năng phóng căn cứ tá»›i các hành tinh địa phương. Nó được bảo vệ cá»±c kỳ cẩn thận.\n\nSản xuất quân lính hải quân. Loại bá» kẻ thù càng nhanh càng tốt. Nghiên cứu cấu trúc phóng. +sector.groundZero.description = Vị trí tối ưu để bắt đầu má»™t lần nữa. Mối Ä‘e dá»a cá»§a kẻ địch thấp. Ãt tài nguyên.\nThu thập càng nhiá»u đồng và chì càng tốt.\nTiến lên. +sector.frozenForest.description = Dù ở đây, gần núi cao, các bào tá»­ vẫn bắt đầu phát tán. Nhiệt độ lạnh giá không thể giữ chúng lại mãi.\n\nBắt đầu tạo năng lượng. Hãy xây dá»±ng máy phát Ä‘iện đốt. Há»c cách sá»­ dụng máy sá»­a chữa. +sector.saltFlats.description = Ở vùng rìa sa mạc chính là Salt Flats. Có thể tìm thấy má»™t ít tài nguyên ở khu vá»±c này.\n\nKẻ địch đã dá»±ng lên má»™t khu phức hợp lưu trữ tài nguyên ở đây. Hãy loại bá» hoàn toàn căn cứ này. +sector.craters.description = Nước đã tích tụ trong miệng núi lá»­a ở đây, vốn là dấu tích cá»§a các cuá»™c chiến tranh cÅ©. Hãy chiếm lại khu vá»±c. Thu gom cát. Nung thá»§y tinh. BÆ¡m nước để làm mát súng và mÅ©i khoan. +sector.ruinousShores.description = Vượt qua những địa hình mấp mô, là bá» biển. Vị trí này từng là nÆ¡i đặt má»™t hệ thống phòng thá»§ ven biển. Không còn lại gì nhiá»u, chỉ những công trình phòng thá»§ cÆ¡ bản nhất vẫn không bị tổn thương, má»i thứ khác Ä‘á»u trở thành đống sắt vụn.\nTiếp tục mở rá»™ng ra bên ngoài. Khám phá lại công nghệ có ở đây. +sector.stainedMountains.description = Xa hÆ¡n trong đất liá»n là những ngá»n núi, chưa bị bào tá»­ xâm lấn.\nKhai thác titan dồi dào trong khu vá»±c này. Tìm hiểu làm thế nào để sá»­ dụng nó.\n\nSá»± hiện diện cá»§a kẻ địch ở đây lá»›n hÆ¡n. Äừng cho chúng thá»i gian để có đơn vị mạnh nhất cá»§a chúng. +sector.overgrowth.description = Khu vá»±c này phát triển quá mức, gần nguồn bào tá»­ hÆ¡n.\nÄịch đã lập tiá»n đồn ở đây. Chế tạo đơn vị Mace. Phá há»§y nó. +sector.tarFields.description = Vùng ngoại ô cá»§a khu sản xuất dầu, nằm giữa núi và sa mạc. Má»™t trong số ít khu vá»±c có trữ lượng dầu có thể sá»­ dụng được.\nMặc dù bị bá» hoang, khu vá»±c này có má»™t số lá»±c lượng địch nguy hiểm gần đó. Äừng đánh giá thấp chúng.\n\n[lightgray]Nghiên cứu công nghệ chế biến dầu nếu có thể. +sector.desolateRift.description = Má»™t vùng cá»±c kỳ nguy hiểm. Tài nguyên dồi dào, nhưng ít không gian. Nguy cÆ¡ thất thá»§ cao. Xây dá»±ng phòng thá»§ trên không và mặt đất sá»›m nhất có thể. Äừng để bị lừa bởi khoảng cách dài giữa các cuá»™c tấn công cá»§a kẻ địch. +sector.nuclearComplex.description = Má»™t cÆ¡ sở từng sản xuất và chế biến thori, đã biến thành đống đổ nát.\n[lightgray]Nghiên cứu thori và nhiá»u công dụng cá»§a nó.\n\nKẻ địch có mặt ở đây vá»›i số lượng rất lá»›n, liên tục lùng sục những kẻ tấn công. +sector.fungalPass.description = Khu vá»±c chuyển tiếp giữa vùng núi cao và vùng đất thấp hÆ¡n, đầy bào tá»­. Má»™t căn cứ trinh sát nhá» cá»§a địch được đặt tại đây.\nPhá há»§y nó.\nSá»­ dụng đơn vị Dagger và Crawler. Phá há»§y hai lõi cá»§a địch. +sector.biomassFacility.description = Nguồn gốc cá»§a bào tá»­. Äây là cÆ¡ sở mà chúng được nghiên cứu và sản xuất ban đầu.\nNghiên cứu công nghệ có ở đây. Nuôi cấy bào tá»­ để sản xuất nhiên liệu và chất dẻo.\n\n[lightgray]Khi cÆ¡ sở này sụp đổ, các bào tá»­ đã được giải phóng. Không có gì trong hệ sinh thái địa phương có thể cạnh tranh vá»›i má»™t dạng sống xâm lấn mạnh như vậy. +sector.windsweptIslands.description = Xa hÆ¡n đưá»ng bá» biển là chuá»—i đảo xa xôi này. Hồ sÆ¡ cho thấy hỠđã từng có công trình sản xuất [accent]Nhá»±a[].\n\nChống lại các lá»±c lượng hải quân cá»§a kẻ địch. Thiết lập căn cứ trên quần đảo. Nghiên cứu các nhà máy này. +sector.extractionOutpost.description = Má»™t tiá»n đồn xa, được kẻ địch xây dá»±ng vá»›i mục đích phóng nguồn lá»±c sang các khu vá»±c khác.\n\nCông nghệ vận chuyển qua lại giữa các khu vá»±c rất cần thiết cho việc mở rá»™ng chinh phục. Phá há»§y căn cứ. Nghiên cứu bệ phóng cá»§a há». +sector.impact0078.description = Äây là tàn tích cá»§a tàu vận chuyển giữa các vì sao đã từng đến được hệ sao này.\n\nLấy càng nhiá»u càng tốt từ đống đổ nát. Nghiên cứu bất kỳ công nghệ nguyên vẹn nào. +sector.planetaryTerminal.description = Mục tiêu cuối cùng.\n\nCăn cứ ven biển này chứa má»™t cấu trúc có khả năng phóng các lõi tá»›i các hành tinh lân cận. Nó được bảo vệ cá»±c kỳ cẩn thận.\n\nSản xuất đơn vị hải quân. Loại bá» kẻ địch càng nhanh càng tốt. Nghiên cứu cấu trúc phóng. +sector.coastline.description = Phát hiện tàn dư công nghệ cá»§a các đơn vị hải quân tại địa Ä‘iểm này. Äẩy lùi các cuá»™c tấn công cá»§a kẻ địch, chiếm khu vá»±c này, và lấy công nghệ. +sector.navalFortress.description = Kẻ địch đã thiết lập má»™t căn cứ từ xa, trên đảo tá»± nhiên. Phá há»§y tiá»n đồn này. Chiếm công nghệ chế tạo đơn vị hải quân tiên tiến cá»§a địch và nghiên cứu nó. +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold + +#do not translate +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = The Onset +sector.aegis.name = Aegis +sector.lake.name = Lake +sector.intersect.name = Intersect +sector.atlas.name = Atlas +sector.split.name = Split +sector.basin.name = Basin +sector.marsh.name = Marsh +sector.peaks.name = Peaks +sector.ravine.name = Ravine +sector.caldera-erekir.name = Caldera +sector.stronghold.name = Stronghold +sector.crevice.name = Crevice +sector.siege.name = Siege +sector.crossroads.name = Crossroads +sector.karst.name = Karst +sector.origin.name = Origin + +sector.onset.description = Bắt đầu hành trình chinh phục Erekir. Thu thập tài nguyên, sản xuất đơn vị, và bắt đầu nghiên cứu công nghệ. +sector.aegis.description = Khu vá»±c này chứa các kho lưu trữ cá»§a tungsten.\nNghiên cứu [accent]Máy khoan động lá»±c[] để khai thác tài nguyên này này, và phá há»§y căn cứ cá»§a địch ở khu vá»±c này. +sector.lake.description = Hồ xỉ nóng chảy cá»§a khu vá»±c này giá»›i hạn rất nhiá»u các loại đơn vị. Má»™t loại đơn vị lướt được là sá»± lá»±a chá»n duy nhất.\nNghiên cứu [accent]Máy chế tạo phi thuyá»n[] và sản xuất má»™t đơn vị [accent]elude[] nhanh nhất có thể. +sector.intersect.description = Việc thăm dò cho thấy khu vá»±c này sẽ bị tấn công từ nhiá»u hướng ngay sau khi đáp.\nThiết lập các lá»›p phòng thá»§ nhanh chóng và mở rá»™ng sá»›m nhất có thể.\n[accent]Máy cÆ¡ động[] sẽ là cần thiết cho địa hình khó khăn cá»§a khu vá»±c này. +sector.atlas.description = Khu vá»±c này có địa hình phong phú và sẽ cần nhiá»u loại đơn vị Ä‘a dạng để tấn công hiệu quả.\nCác loại đơn vị được nâng cấp cÅ©ng có thể cần thiết để vượt qua má»™t số căn cứ cá»§a địch được phát hiện ở đây.\nNghiên cứu [accent]Máy Ä‘iện phân[] và [accent]Máy chế tạo xe tăng[]. +sector.split.description = Sá»± hiện diện ít á»i cá»§a kẻ địch ở khu vá»±c này làm nó là má»™t khu vá»±c hoàn hảo để thá»­ nghiệm công nghệ vận chuyển má»›i. +sector.basin.description = Äã phát hiện sá»± hiện diện lá»›n mạnh cá»§a kẻ địch ở khu vá»±c này.\nSản xuất đơn vị nhanh chóng và chiếm được các lõi cá»§a địch để có được má»™t vị thế vững chắc. +sector.marsh.description = Khu vá»±c này có trữ lượng lá»›n arkycite, nhưng có rất ít các lá»— hÆ¡i nước.\nXây dá»±ng [accent]Bể Ä‘iện hóa[] để tạo năng lượng. +sector.peaks.description = Äịa hình đồi núi cá»§a khu vá»±c này khiến hầu hết các loại đơn vị vô dụng. Các loại đơn vị bay trở nên cần thiết.\nHãy cẩn thận vá»›i các công trình phòng thá»§ trên không cá»§a địch. Có thể bị vô hiệu hóa bằng cách tấn công các công trình há»— trợ. +sector.ravine.description = Má»™t tuyến đưá»ng vận chuyển quan trá»ng cho kẻ địch. Không phát hiện lõi nào trong khu vá»±c, nhưng dá»± Ä‘oán sẽ có nhiá»u loại kẻ địch Ä‘a dạng.\nSản xuất [accent]hợp kim[]. Xây dá»±ng bệ súng [accent]Afflict[]. +sector.caldera-erekir.description = Các tài nguyên được phát hiện ở khu vá»±c này được phân bố trên nhiá»u đảo.\nNghiên cứu và triển khai vận chuyển dá»±a trên máy bay không ngưá»i lái. +sector.stronghold.description = Các căn cứ cá»§a địch ở khu vá»±c này Ä‘ang bảo vệ má»™t lượng lá»›n [accent]thori[].\nSá»­ dụng nó để phát triển các loại đơn vị và bệ súng cao cấp hÆ¡n. +sector.crevice.description = Äịch sẽ gá»­i các đơn vị tấn công mạnh mẽ để triệt hạ căn cứ cá»§a bạn ở khu vá»±c này.\nPhát triển [accent]carbide[] và [accent]Máy nhiệt phân[] là Ä‘iá»u cần thiết để sống sót. +sector.siege.description = Khu vá»±c này có hai hẻm núi song song sẽ tạo ra má»™t cuá»™c tấn công theo hai hướng.\nNghiên cứu [accent]cyano[] để có thể chế tạo những đơn vị xe tăng mạnh hÆ¡n.\nChú ý: Phát hiện tên lá»­a tầm xa cá»§a kẻ địch. Các tên lá»­a có thể bị bắn hạ trước khi va chạm. +sector.crossroads.description = Các căn cứ cá»§a địch ở khu vá»±c này được xây dá»±ng trên các địa hình khác nhau. Nghiên cứu các loại đơn vị khác nhau sao cho phù hợp.\nNgoài ra, má»™t số căn cứ được bảo vệ bởi các máy chiếu khiên chắn. Tìm hiểu cách chúng được cung cấp năng lượng. +sector.karst.description = Khu vá»±c này có rất nhiá»u tài nguyên, nhưng sẽ bị địch tấn công khi má»™t lõi má»›i đáp xuống.\nTận dụng các tài nguyên và nghiên cứu [accent]sợi lượng tá»­[]. +sector.origin.description = Khu vá»±c cuối cùng vá»›i sá»± hiện diện cá»§a địch rất lá»›n.\nKhông còn bất cứ thứ gì cần nghiên cứu - tập trung hoàn toàn vào việc tiêu diệt tất cả các lõi cá»§a địch. + +status.burning.name = Äốt cháy +status.freezing.name = Äóng băng +status.wet.name = Ẩm ướt +status.muddy.name = Sa lầy +status.melting.name = Tan chảy +status.sapped.name = Ä‚n mòn +status.electrified.name = Nhiá»…m Ä‘iện +status.spore-slowed.name = Nhiá»…m bào tá»­ chậm +status.tarred.name = Nhiá»…m dầu +status.overdrive.name = Tăng cưá»ng +status.overclock.name = Gia tốc +status.shocked.name = Sốc +status.blasted.name = Nổ +status.unmoving.name = Bất động +status.boss.name = Trùm settings.language = Ngôn ngữ settings.data = Dữ liệu trò chÆ¡i settings.reset = Khôi phục vá» mặc định -settings.rebind = Sá»­a +settings.rebind = Gán lại settings.resetKey = Äặt lại settings.controls = Äiá»u khiển settings.game = Trò chÆ¡i settings.sound = Âm thanh settings.graphics = Äồ há»a settings.cleardata = Xóa dữ liệu trò chÆ¡i... -settings.clear.confirm = Bạn có chắc chắn muốn xóa dữ liệu này không?\nHành động này không thể hoàn tác! -settings.clearall.confirm = [scarlet]CẢNH BÃO![]\nThao tác này sẽ xóa tất cả dữ liệu, bao gồm bản đồ và các cài đặt.\nSau khi bạn nhấn vào 'ok' trò chÆ¡i sẽ xóa tất cả dữ liệu và tá»± động thoát. +settings.clear.confirm = Bạn có chắc chắn muốn xóa dữ liệu này không?\nThá»±c hiện xong không thể hoàn tác! +settings.clearall.confirm = [scarlet]CẢNH BÃO![]\nThao tác này sẽ xóa tất cả dữ liệu, bao gồm các bản lưu, bản đồ, mở khóa và phím đã gán. \nMá»™t khi bạn nhấn vào 'Äồng ý' thì trò chÆ¡i sẽ xóa tất cả dữ liệu và tá»± động thoát. settings.clearsaves.confirm = Bạn có chắc muốn xóa tất cả bản lưu? settings.clearsaves = Xóa bản lưu -settings.clearresearch = Xóa dữ liệu nghiên cứu -settings.clearresearch.confirm = Bạn có chắc muốn xóa tất cả dữ liệu nghiên cứu từ Chiến dịch? -settings.clearcampaignsaves = Xóa dữ liệu Chiến dịch -settings.clearcampaignsaves.confirm = Bạn có chắc muốn xóa toàn bá»™ dữ liệu Chiến dịch? +settings.clearresearch = Xóa nghiên cứu +settings.clearresearch.confirm = Bạn có chắc muốn xóa tất cả nghiên cứu từ chiến dịch? +settings.clearcampaignsaves = Xóa bản lưu chiến dịch +settings.clearcampaignsaves.confirm = Bạn có chắc muốn xóa toàn bá»™ bản lưu chiến dịch? paused = [accent]< Tạm dừng > clear = Xóa -banned = [scarlet]Cấm -yes = Có +banned = [scarlet]Bị cấm +unsupported.environment = [scarlet]Môi trưá»ng không được há»— trợ +yes = Có no = Không info.title = Thông tin error.title = [scarlet]Äã xảy ra lá»—i error.crashtitle = Äã xảy ra lá»—i -unit.nobuild = [scarlet]Quân lính/Công trình không thể xây dá»±ng +unit.nobuild = [scarlet]ÄÆ¡n vị không thể xây dá»±ng lastaccessed = [lightgray]Truy cập lần cuối: {0} +lastcommanded = [lightgray]ÄÆ°á»£c ra lệnh lần cuối: {0} block.unknown = [lightgray]??? -stat.description = Mô tả +stat.showinmap = +stat.description = Mục đích stat.input = Äầu vào -stat.output = Sản phẩm +stat.output = Äầu ra +stat.maxefficiency = Hiệu suất tối Ä‘a stat.booster = Tăng cưá»ng -stat.tiles = Yêu cầu khu vá»±c +stat.tiles = Yêu cầu ô ná»n stat.affinities = Phù hợp -stat.powercapacity = Dung lượng pin +stat.opposites = Äối nghịch +stat.powercapacity = Dung lượng Ä‘iện stat.powershot = Năng lượng/Phát bắn stat.damage = Sát thương stat.targetsair = Mục tiêu trên không stat.targetsground = Mục tiêu mặt đất stat.itemsmoved = Tốc độ dịch chuyển -stat.launchtime = Thá»i gian giữa các lần phóng. +stat.launchtime = Thá»i gian giữa các lần phóng stat.shootrange = Phạm vi stat.size = Kích thước -stat.displaysize = Kích thước màn hình +stat.displaysize = Kích thước hiển thị stat.liquidcapacity = Dung tích chất lá»ng stat.powerrange = Phạm vi năng lượng -stat.linkrange = Phạm vi kết nối -stat.instructions = Hướng dẫn +stat.linkrange = Phạm vi liên kết +stat.instructions = Chỉ lệnh stat.powerconnections = Số lượng kết nối tối Ä‘a stat.poweruse = Năng lượng sá»­ dụng stat.powerdamage = Năng lượng/Sát thương stat.itemcapacity = Sức chứa vật phẩm stat.memorycapacity = Dung lượng bá»™ nhá»› -stat.basepowergeneration = Năng lượng tạo ra (cÆ¡ bản) +stat.basepowergeneration = Năng lượng tạo ra cÆ¡ bản stat.productiontime = Thá»i gian sản xuất -stat.repairtime = Thá»i gian sá»­a +stat.repairtime = Thá»i gian hoàn thành sá»­a chữa +stat.repairspeed = Tốc độ sá»­a stat.weapons = VÅ© khí -stat.bullet = Äạn +stat.bullet = Loại đạn +stat.moduletier = Cấp mô-Ä‘un +stat.unittype = Kiểu đơn vị stat.speedincrease = Tăng tốc stat.range = Phạm vi -stat.drilltier = Khoang được -stat.drillspeed = Tốc độ khoang cÆ¡ bản +stat.drilltier = Khoan được +stat.drillspeed = Tốc độ khoan cÆ¡ bản stat.boosteffect = Hiệu ứng tăng cưá»ng -stat.maxunits = Số quân lính hoạt động tối Ä‘a +stat.maxunits = Số đơn vị hoạt động tối Ä‘a stat.health = Äá»™ bá»n +stat.armor = Giáp stat.buildtime = Thá»i gian xây -stat.maxconsecutive = Äầu ra tối Ä‘a -stat.buildcost = Chi phí +stat.maxconsecutive = Nối tiếp tối Ä‘a +stat.buildcost = Chi phí xây stat.inaccuracy = Äá»™ lệch stat.shots = Phát bắn -stat.reload = Phát bắn/Giây +stat.reload = Tốc độ bắn stat.ammo = Äạn stat.shieldhealth = Äá»™ bá»n khiên -stat.cooldowntime = Thá»i gian chá» +stat.cooldowntime = Thá»i gian hồi phục stat.explosiveness = Gây nổ stat.basedeflectchance = Tá»· lệ phản đạn stat.lightningchance = Tá»· lệ phóng Ä‘iện stat.lightningdamage = Sát thương tia Ä‘iện stat.flammability = Dá»… cháy stat.radioactivity = Phóng xạ +stat.charge = Tích Ä‘iện stat.heatcapacity = Nhiệt dung stat.viscosity = Äá»™ nhá»›t stat.temperature = Nhiệt độ @@ -694,25 +1035,78 @@ stat.speed = Vận tốc stat.buildspeed = Tốc độ xây stat.minespeed = Tốc độ đào stat.minetier = Cấp độ đào -stat.payloadcapacity = Sức chứa khối hàng -stat.commandlimit = Giá»›i hạn lệnh -stat.abilities = Khả năng -stat.canboost = Nâng cấp +stat.payloadcapacity = Tải trá»ng +stat.abilities = Khả năng +stat.canboost = Có thể tăng cưá»ng stat.flying = Bay +stat.ammouse = Sá»­ dụng đạn +stat.ammocapacity = Trữ lượng đạn +stat.damagemultiplier = Hệ số sát thương +stat.healthmultiplier = Hệ số độ bá»n +stat.speedmultiplier = Hệ số tốc độ +stat.reloadmultiplier = Hệ số hồi đạn +stat.buildspeedmultiplier = Hệ số tốc độ xây dá»±ng +stat.reactive = Phản ứng +stat.immunities = Miá»…n nhiá»…m +stat.healing = Hồi phục +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = Force Field -ability.repairfield = Repair Field -ability.statusfield = Status Field -ability.unitspawn = {0} Factory -ability.shieldregenfield = Shield Regen Field -ability.movelightning = Movement Lightning +ability.forcefield = Khiên trưá»ng lá»±c +ability.forcefield.description = Phát má»™t khiên trưá»ng lá»±c hấp thụ các loại đạn +ability.repairfield = Trưá»ng sá»­a chữa +ability.repairfield.description = Sá»­a chữa các đơn vị gần đó +ability.statusfield = Trưá»ng trạng thái +ability.statusfield.description = Ãp dụng hiệu ứng trạng thái vào các đơn vị gần đó +ability.unitspawn = Chế tạo +ability.unitspawn.description = Sản xuất đơn vị +ability.shieldregenfield = Trưá»ng hồi khiên +ability.shieldregenfield.description = Hồi phục khiên cho các đơn vị gần đó +ability.movelightning = Di chuyển phóng Ä‘iện +ability.movelightning.description = Giải phóng tia Ä‘iện khi di chuyển +ability.armorplate = Mảnh giáp +ability.armorplate.description = Giảm sát thương gánh chịu trong khi bắn +ability.shieldarc = Khiên vòng cung +ability.shieldarc.description = Phát má»™t khiên trưá»ng lá»±c vòng cung hấp thụ các loại đạn +ability.suppressionfield = Ngăn chặn sá»­a chữa +ability.suppressionfield.description = Dừng các công trình sá»­a chữa gần đó +ability.energyfield = Trưá»ng Ä‘iện từ +ability.energyfield.description = Giật Ä‘iện các kẻ địch gần đó +ability.energyfield.healdescription = Giật Ä‘iện các kẻ địch gần đó và hồi phục đồng minh +ability.regen = Tá»± hồi phục +ability.regen.description = Tá»± hồi phục độ bá»n theo thá»i gian +ability.liquidregen = Hấp thụ chất lá»ng +ability.liquidregen.description = Hấp thụ chất lá»ng để tá»± hồi phục +ability.spawndeath = Chết sản sinh +ability.spawndeath.description = Sinh ra đơn vị khi chết +ability.liquidexplode = Chết tràn dịch +ability.liquidexplode.description = Tràn chất lá»ng khi chết +ability.stat.firingrate = tốc độ bắn [stat]{0}/giây[lightgray] +ability.stat.regen = [stat]{0}[lightgray] độ bá»n/giây +ability.stat.pulseregen = [stat]{0}[lightgray] độ bá»n/xung nhịp +ability.stat.shield = [stat]{0}[lightgray] khiên tối Ä‘a +ability.stat.repairspeed = [stat]{0}/giây[lightgray] tốc độ sá»­a chữa +ability.stat.slurpheal = [stat]{0}[lightgray] độ bá»n/đơn vị chất lá»ng +ability.stat.cooldown = [stat]{0} giây[lightgray] hồi phục +ability.stat.maxtargets = [stat]{0}[lightgray] mục tiêu tối Ä‘a +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] số lượng sá»­a chữa cùng kiểu +ability.stat.damagereduction = [stat]{0}%[lightgray] giảm sát thương +ability.stat.minspeed = tốc độ tối thiểu [stat]{0} ô/giây[lightgray] +ability.stat.duration = thá»i hạn [stat]{0} giây[lightgray] +ability.stat.buildtime = thá»i gian xây [stat]{0} giây[lightgray] + +bar.onlycoredeposit = Chỉ được phép đưa vào lõi bar.drilltierreq = Cần máy khoan tốt hÆ¡n +bar.nobatterypower = Thiếu năng lượng pin bar.noresources = Thiếu tài nguyên -bar.corereq = Yêu cầu căn cứ +bar.corereq = Yêu cầu lõi cÆ¡ bản +bar.corefloor = Yêu cầu ô ná»n lõi +bar.cargounitcap = Äã đạt tải trá»ng tối Ä‘a bar.drillspeed = Tốc độ khoan: {0}/giây bar.pumpspeed = Tốc độ bÆ¡m: {0}/giây bar.efficiency = Hiệu suất: {0}% +bar.boost = Tăng tốc: +{0}% +bar.powerbuffer = Pin: {0}/{1} bar.powerbalance = Năng lượng: {0}/giây bar.powerstored = Lưu trữ: {0}/{1} bar.poweramount = Năng lượng: {0} @@ -721,271 +1115,395 @@ bar.powerlines = Số lượng kết nối: {0}/{1} bar.items = Vật phẩm: {0} bar.capacity = Sức chứa: {0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[quân lính bị vô hiệu hóa] bar.liquid = Chất lá»ng -bar.heat = Nhiệt độ +bar.heat = Nhiệt lượng +bar.cooldown = Hồi phục +bar.instability = Bất ổn định +bar.heatamount = Nhiệt lượng: {0} +bar.heatpercent = Nhiệt lượng: {0} ({1}%) bar.power = Năng lượng -bar.progress = Äang xây dá»±ng +bar.progress = Tiến độ xây dá»±ng +bar.loadprogress = Tiến độ +bar.launchcooldown = Hồi phóng bar.input = Äầu vào -bar.output = Sản phẩm +bar.output = Äầu ra +bar.strength = [stat]{0}[lightgray]x sức mạnh units.processorcontrol = [lightgray]Äiá»u khiển bởi bá»™ xá»­ lý bullet.damage = [stat]{0}[lightgray] sát thương bullet.splashdamage = [stat]{0}[lightgray] sát thương diện rá»™ng ~[stat] {1}[lightgray] ô -bullet.incendiary = [stat]cháy -bullet.sapping = [stat]sapping -bullet.homing = [stat]homing -bullet.shock = [stat]sốc -bullet.frag = [stat]frag -bullet.knockback = [stat]{0}[lightgray] bật lùi -bullet.pierce = [stat]{0}[lightgray]x xuyên giáp -bullet.infinitepierce = [stat]pierce -bullet.healpercent = [stat]{0}[lightgray]% sá»­a chá»­a -bullet.freezing = [stat]đóng băng -bullet.tarred = [stat]tarred -bullet.multiplier = [stat]{0}[lightgray]x lượng đạn -bullet.reload = [stat]{0}[lightgray]x tốc độ bắn +bullet.incendiary = [stat]gây cháy +bullet.homing = [stat]truy Ä‘uổi +bullet.armorpierce = [stat]xuyên giáp +bullet.maxdamagefraction = [stat]{0}%[lightgray] giá»›i hạn sát thương +bullet.suppression = [stat]{0}[lightgray] giây ngăn sá»­a chữa ~ [stat]{1}[lightgray] ô +bullet.interval = [stat]{0}/giây[lightgray] đạn ngắt quãng: +bullet.frags = [stat]{0}x[lightgray] đạn phá mảnh: +bullet.lightning = [stat]{0}[lightgray]x phóng Ä‘iện ~ [stat]{1}[lightgray] sát thương +bullet.buildingdamage = [stat]{0}%[lightgray] sát thương công trình +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray] đẩy lùi +bullet.pierce = [stat]{0}[lightgray]x xuyên thấu +bullet.infinitepierce = [stat]xuyên thấu +bullet.healpercent = [stat]{0}%[lightgray] sá»­a chữa +bullet.healamount = [stat]{0}[lightgray] sá»­a chữa trá»±c tiếp +bullet.multiplier = [stat]{0}[lightgray] đạn/vật phẩm +bullet.reload = [stat]{0}%[lightgray] tốc độ bắn +bullet.range = [stat]{0}[lightgray] ô phạm vi +bullet.notargetsmissiles = [stat] phá»›t lá» tên lá»­a +bullet.notargetsbuildings = [stat] phá»›t lá» công trình -unit.blocks = Khối -unit.blockssquared = Khối² +unit.blocks = khối +unit.blockssquared = khối² unit.powersecond = đơn vị năng lượng/giây +unit.tilessecond = ô/giây unit.liquidsecond = đơn vị chất lá»ng/giây unit.itemssecond = vật phẩm/giây unit.liquidunits = đơn vị chất lá»ng unit.powerunits = đơn vị năng lượng +unit.heatunits = đơn vị nhiệt unit.degrees = độ unit.seconds = giây unit.minutes = phút unit.persecond = /giây unit.perminute = /phút unit.timesspeed = x tốc độ +unit.multiplier = x unit.percent = % unit.shieldhealth = độ bá»n khiên unit.items = vật phẩm -unit.thousands = nghìn -unit.millions = triệu +unit.thousands = ng +unit.millions = tr unit.billions = tá»· -category.purpose = Mô tả +unit.shots = phát bắn +unit.pershot = /phát bắn +category.purpose = Mục đích category.general = Chung category.power = Năng lượng category.liquids = Chất lá»ng category.items = Vật phẩm -category.crafting = Vào/Sản phẩm +category.crafting = Äầu vào/ra category.function = Chức năng -category.optional = Cải tiến +category.optional = Cải tiến tùy chá»n +setting.alwaysmusic.name = Luôn phát nhạc +setting.alwaysmusic.description = Khi bật, âm nhạc sẽ luôn phát lặp lại khi chÆ¡i.\nKhi tắt, nó chỉ phát tại các khoảng thá»i gian ngẫu nhiên. +setting.skipcoreanimation.name = Bá» qua hiệu ứng phóng/đáp lõi setting.landscape.name = Khóa ngang -setting.shadows.name = Bóng đổ +setting.shadows.name = Äổ bóng setting.blockreplace.name = Tá»± động đỠxuất khối setting.linear.name = Lá»c tuyến tính setting.hints.name = Gợi ý -setting.flow.name = Hiện thị tốc độ chuyá»n tài nguyên +setting.logichints.name = Gợi ý Logic setting.backgroundpause.name = Tạm dừng trong ná»n setting.buildautopause.name = Tá»± động dừng xây dá»±ng -setting.animatedwater.name = Hiệu ứng nước -setting.animatedshields.name = Hiệu ứng khiên -setting.antialias.name = Khá»­ răng cưa[lightgray] (yêu cầu khởi động lại)[] -setting.playerindicators.name = Hướng ngưá»i chÆ¡i -setting.indicators.name = Hướng kẻ địch +setting.doubletapmine.name = Nhấn đúp để Äào +setting.commandmodehold.name = Nhấn giữ để vào chế độ mệnh lệnh +setting.distinctcontrolgroups.name = Giá»›i hạn má»™t nhóm Ä‘iá»u khiển cho má»—i đơn vị +setting.modcrashdisable.name = Tắt các mod khi gặp sá»± cố trong khởi động +setting.animatedwater.name = Chuyển động bá» mặt +setting.animatedshields.name = Chuyển động khiên +setting.playerindicators.name = Chỉ hướng ngưá»i chÆ¡i +setting.indicators.name = Chỉ hướng kẻ địch setting.autotarget.name = Tá»± động nhắm mục tiêu -setting.keyboard.name = Äiá»u khiển bằng chuá»™t+bàn phím -setting.touchscreen.name = Äiá»u khiển bằng màng hình cảm ứng +setting.keyboard.name = Äiá»u khiển bằng chuá»™t + bàn phím +setting.touchscreen.name = Äiá»u khiển bằng màn hình cảm ứng setting.fpscap.name = FPS tối Ä‘a -setting.fpscap.none = Không giá»›i hạn +setting.fpscap.none = Không có setting.fpscap.text = {0} FPS -setting.uiscale.name = Kích thước UI[lightgray] (yêu cầu khởi động lại)[] -setting.swapdiagonal.name = Äặt luôn theo đưá»ng chéo -setting.difficulty.training = Luyện tập -setting.difficulty.easy = Dá»… -setting.difficulty.normal = Vừa -setting.difficulty.hard = Khó -setting.difficulty.insane = Rất khó -setting.difficulty.name = Äá»™ khó: +setting.uiscale.name = Tỉ lệ giao diện +setting.uiscale.description = Cần khởi động lại để áp dụng các thay đổi. +setting.swapdiagonal.name = Luôn đặt theo đưá»ng chéo setting.screenshake.name = Rung chuyển khung hình +setting.bloomintensity.name = Mức độ phát sáng +setting.bloomblur.name = Xoá má» phát sáng setting.effects.name = Hiển thị hiệu ứng setting.destroyedblocks.name = Hiển thị khối bị phá setting.blockstatus.name = Hiển thị trạng thái khối -setting.conveyorpathfinding.name = Tìm đưá»ng dẫn băng chuyá»n +setting.conveyorpathfinding.name = Tìm đưá»ng dẫn băng chuyá»n khi đặt setting.sensitivity.name = Äá»™ nhạy Ä‘iá»u khiển setting.saveinterval.name = Khoảng thá»i gian lưu setting.seconds = {0} giây -setting.milliseconds = {0} mili giây -setting.fullscreen.name = Toàn màng hình -setting.borderlesswindow.name = Không viá»n[lightgray] (yêu cầu khởi động lại) -setting.fps.name = Hiển thị FPS & Ping -setting.smoothcamera.name = Chế độ mượt mà -setting.vsync.name = VSync +setting.milliseconds = {0} mili-giây +setting.fullscreen.name = Toàn màn hình +setting.borderlesswindow.name = Cá»­a sổ không viá»n +setting.borderlesswindow.name.windows = Toàn màn hình không viá»n +setting.borderlesswindow.description = Có thể cần khởi động lại để áp dụng các thay đổi. +setting.fps.name = Hiện FPS & Ping +setting.console.name = Bật Bảng Ä‘iá»u khiển +setting.smoothcamera.name = Khung quay mượt mà +setting.vsync.name = Äồng bá»™ dá»c (VSync) setting.pixelate.name = Äồ há»a pixel -setting.minimap.name = Hiển thị bảng đồ mini -setting.coreitems.name = Hiển thị vật phẩm trong căn cứ -setting.position.name = Hiển thị vị trí ngưá»i chÆ¡i +setting.minimap.name = Hiện bản đồ nhá» +setting.coreitems.name = Hiển thị vật phẩm trong lõi +setting.position.name = Hiện vị trí ngưá»i chÆ¡i +setting.mouseposition.name = Hiện vị trí trá» chuá»™t setting.musicvol.name = Âm lượng nhạc -setting.atmosphere.name = Hiển thị bầu khí quyển hành tinh -setting.ambientvol.name = Âm lượng tổng +setting.atmosphere.name = Hiện bầu khí quyển hành tinh +setting.drawlight.name = Vẽ Bóng tối/Ãnh sáng +setting.ambientvol.name = Âm lượng môi trưá»ng setting.mutemusic.name = Tắt nhạc -setting.sfxvol.name = Âm lượng SFX -setting.mutesound.name = Tắt tiếng -setting.crashreport.name = Gá»­i báo cáo sá»± cố -setting.savecreate.name = Tá»± động lưu -setting.publichost.name = Hiển thị trò chÆ¡i công khai +setting.sfxvol.name = Âm lượng hiệu ứng âm thanh (SFX) +setting.mutesound.name = Tắt âm +setting.crashreport.name = Gá»­i báo cáo sá»± cố ẩn danh +setting.communityservers.name = Lấy danh sách máy chá»§ cá»™ng đồng +setting.savecreate.name = Tá»± động tạo bản lưu +setting.steampublichost.name = Hiển thị trò chÆ¡i công khai setting.playerlimit.name = Giá»›i hạn ngưá»i chÆ¡i setting.chatopacity.name = Äá»™ má» trò chuyện setting.lasersopacity.name = Äá»™ má» kết nối năng lượng +setting.unitlaseropacity.name = Äá»™ má» tia khai khoáng cá»§a đơn vị setting.bridgeopacity.name = Äá»™ má» cầu setting.playerchat.name = Hiển thị bong bóng trò chuyện cá»§a ngưá»i chÆ¡i -public.confirm = Bạn có muốn công khai trò chÆ¡i cá»§a mình không?\n[accent]Bất kỳ ai cÅ©ng có thể tham gia trò chÆ¡i cá»§a bạn.\n[lightgray]Äiá»u này có thể được thay đổi sau trong Cài đặt-> Trò chÆ¡i-> Hiển thị trò chÆ¡i công khai. +setting.showweather.name = Hiện đồ há»a thá»i tiết +setting.hidedisplays.name = Ẩn hiển thị logic +setting.macnotch.name = Giao diện phù hợp vá»›i hiển thị tai thá» (notch) +setting.macnotch.description = Cần khởi động lại để áp dụng các thay đổi +steam.friendsonly = Chỉ bạn bè +steam.friendsonly.tooltip = Liệu chỉ bạn bè trên Steam má»›i có thể tham gia trò chÆ¡i cá»§a bạn hay không.\nBá» chá»n ô này sẽ làm trò chÆ¡i cá»§a bạn công khai - má»i ngưá»i có thể tham gia. public.beta = Lưu ý rằng phiên bản beta cá»§a trò chÆ¡i không thể tạo sảnh công khai. -uiscale.reset = Kích thước UI đã được thay đổi.\nNhấn "OK" để xác nhận.\n[scarlet]Hoàn lại và thoát trong[accent] {0}[] giây... +uiscale.reset = Tỉ lệ giao diện đã được thay đổi.\nNhấn "Äồng ý" để xác nhận tỉ lệ này.\n[scarlet]Hoàn lại và thoát trong[accent] {0}[] giây... uiscale.cancel = Há»§y & Thoát setting.bloom.name = Hiệu ứng phát sáng -keybind.title = Sá»­a phím +keybind.title = Gán lại phím keybinds.mobile = [scarlet]Hầu hết phím ở đây không hoạt động trên thiết bị di động. Chỉ há»— trợ di chuyển cÆ¡ bản. category.general.name = Chung category.view.name = Xem +category.command.name = Mệnh lệnh đơn vị category.multiplayer.name = Nhiá»u ngưá»i chÆ¡i category.blocks.name = Chá»n khối -command.attack = Tấn công -command.rally = Tập hợp -command.retreat = Rút lui -command.idle = Không hoạt động placement.blockselectkeys = \n[lightgray]Phím: [{0}, keybind.respawn.name = Hồi sinh -keybind.control.name = Äiá»u khiển quân lính +keybind.control.name = Äiá»u khiển đơn vị keybind.clear_building.name = Xóa công trình keybind.press = Nhấn má»™t phím... -keybind.press.axis = Nhấn má»™t tổ hợp phím hoặc má»™t phím... +keybind.press.axis = Nhấn má»™t trục xoay hoặc má»™t phím... keybind.screenshot.name = Chụp ảnh bản đồ -keybind.toggle_power_lines.name = Toggle Power Lasers -keybind.toggle_block_status.name = Toggle Block Statuses +keybind.toggle_power_lines.name = Ẩn/Hiện đưá»ng truyá»n năng lượng +keybind.toggle_block_status.name = Ẩn/Hiện trạng thái khối keybind.move_x.name = Di chuyển X keybind.move_y.name = Di chuyển Y keybind.mouse_move.name = Theo chuá»™t -keybind.pan.name = Xem Pan +keybind.pan.name = Di chuyển góc nhìn keybind.boost.name = Tăng tốc +keybind.command_mode.name = Chế độ mệnh lệnh +keybind.command_queue.name = Lệnh tuần tá»± đơn vị +keybind.create_control_group.name = Tạo nhóm Ä‘iá»u khiển +keybind.cancel_orders.name = Há»§y lệnh + +keybind.unit_stance_shoot.name = Tư thế đơn vị: Bắn +keybind.unit_stance_hold_fire.name = Tư thế đơn vị: Ngừng bắn +keybind.unit_stance_pursue_target.name = Tư thế đơn vị: Bám Ä‘uổi mục tiêu +keybind.unit_stance_patrol.name = Tư thế đơn vị: Tuần tra +keybind.unit_stance_ram.name = Tư thế đơn vị: Tông thẳng + +keybind.unit_command_move.name = Mệnh lệnh đơn vị: Di chuyển +keybind.unit_command_repair.name = Mệnh lệnh đơn vị: Sá»­a chữa +keybind.unit_command_rebuild.name = Mệnh lệnh đơn vị: Xây lại +keybind.unit_command_assist.name = Mệnh lệnh đơn vị: Há»— trợ +keybind.unit_command_mine.name = Mệnh lệnh đơn vị: Khai thác +keybind.unit_command_boost.name = Mệnh lệnh đơn vị: Tăng cưá»ng +keybind.unit_command_load_units.name = Mệnh lệnh đơn vị: Nhập đơn vị +keybind.unit_command_load_blocks.name = Mệnh lệnh đơn vị: Nhập khối công trình +keybind.unit_command_unload_payload.name = Mệnh lệnh đơn vị: Dỡ khối hàng +keybind.unit_command_enter_payload.name = Mệnh lệnh đơn vị: Vào khối hàng +keybind.unit_command_loop_payload.name = Mệnh lệnh đơn vị: Lặp vận chuyển đơn vi + +keybind.rebuild_select.name = Xây dá»±ng lại khu vá»±c keybind.schematic_select.name = Chá»n khu vá»±c -keybind.schematic_menu.name = Menu Schematic -keybind.schematic_flip_x.name = Lật Schematic X -keybind.schematic_flip_y.name = Lật Schematic Y +keybind.schematic_menu.name = Trình đơn bản thiết kế +keybind.schematic_flip_x.name = Lật bản thiết kế X +keybind.schematic_flip_y.name = Lật bản thiết kế Y keybind.category_prev.name = Danh mục trước keybind.category_next.name = Danh mục tiếp theo keybind.block_select_left.name = Chá»n khối trái keybind.block_select_right.name = Chá»n khối phải keybind.block_select_up.name = Chá»n khối trên keybind.block_select_down.name = Chá»n khối dưới -keybind.block_select_01.name = Danh mục/Khối 1 -keybind.block_select_02.name = Danh mục/Khối 2 -keybind.block_select_03.name = Danh mục/Khối 3 -keybind.block_select_04.name = Danh mục/Khối 4 -keybind.block_select_05.name = Danh mục/Khối 5 -keybind.block_select_06.name = Danh mục/Khối 6 -keybind.block_select_07.name = Danh mục/Khối 7 -keybind.block_select_08.name = Danh mục/Khối 8 -keybind.block_select_09.name = Danh mục/Khối 9 -keybind.block_select_10.name = Danh mục/Khối 10 -keybind.fullscreen.name = Chế độ toàn màn hình +keybind.block_select_01.name = Chá»n Danh mục/Khối 1 +keybind.block_select_02.name = Chá»n Danh mục/Khối 2 +keybind.block_select_03.name = Chá»n Danh mục/Khối 3 +keybind.block_select_04.name = Chá»n Danh mục/Khối 4 +keybind.block_select_05.name = Chá»n Danh mục/Khối 5 +keybind.block_select_06.name = Chá»n Danh mục/Khối 6 +keybind.block_select_07.name = Chá»n Danh mục/Khối 7 +keybind.block_select_08.name = Chá»n Danh mục/Khối 8 +keybind.block_select_09.name = Chá»n Danh mục/Khối 9 +keybind.block_select_10.name = Chá»n Danh mục/Khối 10 +keybind.fullscreen.name = Hoán chuyển toàn màn hình keybind.select.name = Chá»n/Bắn keybind.diagonal_placement.name = Äặt chéo -keybind.pick.name = Chá»n khối +keybind.pick.name = Nhặt khối keybind.break_block.name = Phá khối +keybind.select_all_units.name = Chá»n tất cả đơn vị +keybind.select_all_unit_factories.name = Chá»n tất cả các nhà máy đơn vị keybind.deselect.name = Bá» chá»n keybind.pickupCargo.name = Nhặt hàng keybind.dropCargo.name = Thả hàng -keybind.command.name = Lệnh keybind.shoot.name = Bắn keybind.zoom.name = Thu phóng -keybind.menu.name = Menu +keybind.menu.name = Trình đơn keybind.pause.name = Tạm dừng -keybind.pause_building.name = Tạm dừng/Tiếp tục Xây -keybind.minimap.name = Bản đồ mini +keybind.pause_building.name = Tạm dừng/Tiếp tục xây dá»±ng +keybind.minimap.name = Bản đồ nhá» keybind.planet_map.name = Bản đồ hành tinh keybind.research.name = Nghiên cứu +keybind.block_info.name = Thông tin khối keybind.chat.name = Trò chuyện keybind.player_list.name = Danh sách ngưá»i chÆ¡i keybind.console.name = Bảng Ä‘iá»u khiển keybind.rotate.name = Xoay -keybind.rotateplaced.name = Xoay hiện có (Giữ) -keybind.toggle_menus.name = Chuyển đổi Menus +keybind.rotateplaced.name = Xoay khối đã có (Giữ) +keybind.toggle_menus.name = Ẩn/Hiện Trình đơn keybind.chat_history_prev.name = Lịch sá»­ trò chuyện trước keybind.chat_history_next.name = Lịch sá»­ trò chuyện sau keybind.chat_scroll.name = Cuá»™n trò chuyện -keybind.drop_unit.name = Thả quân -keybind.zoom_minimap.name = Thu phóng bản đồ mini +keybind.chat_mode.name = Thay đổi chế độ trò chuyện +keybind.drop_unit.name = Thả đơn vị +keybind.zoom_minimap.name = Thu phóng bản đồ nhá» mode.help.title = Mô tả chế độ mode.survival.name = Sinh tồn -mode.survival.description = Chế độ bình thưá»ng. Tài nguyên hạn chế và lượt đến tá»± động.\n[gray]Yêu cầu nÆ¡i xuất hiện kẻ địch trong bản đồ để chÆ¡i. +mode.survival.description = Chế độ bình thưá»ng. Tài nguyên hạn chế và các đợt đến tá»± động.\n[gray]Yêu cầu nÆ¡i xuất hiện kẻ địch trong bản đồ để chÆ¡i. mode.sandbox.name = Tá»± do mode.sandbox.description = Tài nguyên vô hạn và không có thá»i gian chá» giữa các đợt. mode.editor.name = Chỉnh sá»­a mode.pvp.name = PvP -mode.pvp.description = Chiến đấu vá»›i những ngưá»i chÆ¡i khác trên cùng má»™t bản đồ.\n[gray]Cần ít nhất hai căn cứ có màu khác nhau để chÆ¡i. +mode.pvp.description = Chiến đấu vá»›i những ngưá»i chÆ¡i khác trên cùng má»™t bản đồ.\n[gray]Cần ít nhất hai lõi có màu khác nhau để chÆ¡i. mode.attack.name = Tấn công -mode.attack.description = Phá há»§y căn cứ cá»§a kẻ địch. \n[gray]Cần căn cứ màu đỠtrong bản đồ để chÆ¡i. -mode.custom = Tùy chỉnh luật +mode.attack.description = Phá há»§y căn cứ cá»§a kẻ địch. \n[gray]Cần lõi màu đỠtrong bản đồ để chÆ¡i. +mode.custom = Tùy chỉnh quy tắc -rules.infiniteresources = Tài nguyên vô hạn -rules.reactorexplosions = Nổ lò phản ứng -rules.schematic = Cho phép dùng schematic -rules.wavetimer = Äếm ngược đợt +rules.invaliddata = Dữ liệu bá»™ nhá»› tạm không hợp lệ. +rules.hidebannedblocks = Ẩn Các Khối Bị Cấm +rules.infiniteresources = Tài Nguyên Vô Hạn +rules.onlydepositcore = Chỉ Cho Phép ÄÆ°a Tài Nguyên Vào Lõi +rules.derelictrepair = Cho Phép Sá»­a Khối Bá» Hoang +rules.reactorexplosions = Nổ Nò Phản Ứng +rules.coreincinerates = Há»§y Vật Phẩm Khi Lõi Äầy +rules.disableworldprocessors = Vô Hiệu Hoá Bá»™ Xá»­ Lý Thế Giá»›i +rules.schematic = Cho Phép Dùng Bản Thiết Kế +rules.wavetimer = Äếm Ngược Äợt +rules.wavesending = Gá»­i đợt +rules.allowedit = Cho Phép Sá»­a Quy Tắc +rules.allowedit.info = Khi được bật, ngưá»i chÆ¡i có thể chỉnh sá»­a các quy tắc trong lúc chÆ¡i thông qua nút ở góc dưới bên trái cá»§a Trình đơn tạm dừng. +rules.alloweditworldprocessors = Cho Phép Chỉnh Sá»­a Bá»™ Xá»­ Lý Thế Giá»›i +rules.alloweditworldprocessors.info = Khi bật, Bá»™ xá»­ lý thế giá»›i có thể được đặt và chỉnh sá»­a ngay cả bên ngoài trình chỉnh sá»­a. rules.waves = Äợt -rules.attack = Chế độ tấn công -rules.buildai = AI Xây dá»±ng -rules.enemyCheat = Tài nguyên vô hạn (kẻ địch) -rules.blockhealthmultiplier = Hệ số độ bá»n khối -rules.blockdamagemultiplier = Hệ số sát thương cá»§a khối -rules.unitbuildspeedmultiplier = Hệ số tốc độ sản xuất lính -rules.unithealthmultiplier = Hệ số máu cá»§a quân lính -rules.unitdamagemultiplier = Hệ số sát thương cá»§a quân lính -rules.enemycorebuildradius = Bán kính không xây dá»±ng trong căn cứ cá»§a kẻ địch:[lightgray] (ô) -rules.wavespacing = Thá»i gian giữa các đợt:[lightgray] (giây) -rules.buildcostmultiplier = Hệ số chi phí xây dá»±ng -rules.buildspeedmultiplier = Hệ số tốc độ xây dá»±ng -rules.deconstructrefundmultiplier = Hệ số số vật phẩm hoàn lại khi phá công trình -rules.waitForWaveToEnd = Äợt chá» hết kẻ địch -rules.dropzoneradius = Bán kính vùng thả:[lightgray] (ô) -rules.unitammo = Quân lính cần đạn +rules.airUseSpawns = Các ÄÆ¡n Vị Không Quân Dùng Äiểm Xuất Hiện +rules.attack = Chế Äá»™ Tấn Công +rules.buildai = AI Xây Dá»±ng Căn Cứ +rules.buildaitier = Cấp Äá»™ AI Xây Dá»±ng +rules.rtsai = AI Chiến Thuật [red](WIP - Äang hoàn thiện) +rules.rtsai.campaign = AI chiến thuật tấn công +rules.rtsai.campaign.info = Trong bản đồ kiểu tấn công, làm các đơn vị tập hợp nhóm và tấn công căn cứ ngưá»i chÆ¡i theo phương pháp thông minh hÆ¡n. +rules.rtsminsquadsize = Kích Thước Äá»™i Hình Tối Thiểu +rules.rtsmaxsquadsize = Kích Thước Äá»™i Hình Tối Äa +rules.rtsminattackweight = Sức Tấn Công Tối Thiểu +rules.cleanupdeadteams = Dá»n Sạch Công Trình Cá»§a Äá»™i Bị Äánh Bại (PvP) +rules.corecapture = Chiếm Lõi Khi Phá Há»§y +rules.polygoncoreprotection = Bảo Vệ Lõi Kiểu Äa Giác +rules.placerangecheck = Kiểm Tra Phạm Vi Xây Dá»±ng +rules.enemyCheat = Tài Nguyên Kẻ Äịch Vô Hạn +rules.blockhealthmultiplier = Hệ Số Äá»™ Bá»n Khối +rules.blockdamagemultiplier = Hệ Số Sát Thương Cá»§a Khối +rules.unitbuildspeedmultiplier = Hệ Số Tốc Äá»™ Sản Xuất ÄÆ¡n Vị +rules.unitcostmultiplier = Hệ Số Chi Phí Sản Xuất ÄÆ¡n Vị +rules.unithealthmultiplier = Hệ Số Äá»™ Bá»n Cá»§a ÄÆ¡n Vị +rules.unitdamagemultiplier = Hệ Số Sát Thương Cá»§a ÄÆ¡n Vị +rules.unitcrashdamagemultiplier = Hệ Số Sát Thương Cá»§a ÄÆ¡n Vị Khi Bị Bắn RÆ¡i +rules.unitminespeedmultiplier = Hệ Số Tốc Äá»™ Khai Khoáng ÄÆ¡n Vị +rules.solarmultiplier = Hệ Số Năng Lượng Mặt Trá»i +rules.unitcapvariable = Lõi Tăng Giá»›i Hạn ÄÆ¡n Vị +rules.unitpayloadsexplode = Khối Hàng Mang Theo Phát Nổ Cùng ÄÆ¡n Vị +rules.unitcap = Giá»›i Hạn ÄÆ¡n Vị Ban Äầu +rules.limitarea = Giá»›i Hạn Kích Thước Bản Äồ +rules.enemycorebuildradius = Bán Kính Không Xây Dá»±ng Từ Lõi Cá»§a Kẻ Äịch:[lightgray] (ô) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = Giãn Cách Äợt:[lightgray] (giây) +rules.initialwavespacing = Giãn Cách Äợt Äầu:[lightgray] (giây) +rules.buildcostmultiplier = Hệ Số Chi Phí Xây Dá»±ng +rules.buildspeedmultiplier = Hệ Số Tốc Äá»™ Xây Dá»±ng +rules.deconstructrefundmultiplier = Hệ Số Hoàn Trả Khi Phá Dỡ +rules.waitForWaveToEnd = Äợt Chá» Hết Kẻ Äịch +rules.wavelimit = Bản Äồ Kết Thúc Sau Äợt +rules.dropzoneradius = Bán Kính Vùng Thả:[lightgray] (ô) +rules.unitammo = ÄÆ¡n Vị Cần Có Äạn [red](có thể bị loại bá») +rules.enemyteam = Äá»™i Kẻ Äịch +rules.playerteam = Äá»™i Ngưá»i ChÆ¡i rules.title.waves = Äợt -rules.title.resourcesbuilding = Tài nguyên & Xây dá»±ng -rules.title.enemy = Kẻ địch -rules.title.unit = Quân lính -rules.title.experimental = Thá»±c nghiệm -rules.title.environment = Môi trưá»ng -rules.lighting = Ãnh sáng -rules.enemyLights = Äèn địch +rules.title.resourcesbuilding = Tài Nguyên & Xây Dá»±ng +rules.title.enemy = Kẻ Dịch +rules.title.unit = ÄÆ¡n Vị +rules.title.experimental = Thá»­ Nghiệm +rules.title.environment = Môi Trưá»ng +rules.title.teams = Äá»™i +rules.title.planet = Hành Tinh +rules.lighting = Ãnh Sáng +rules.fog = Sương Mù Chiến Tranh +rules.invasions = Kẻ Äịch Xâm Lược Khu Vá»±c +rules.legacylaunchpads = CÆ¡ chế bệ phóng di sản +rules.legacylaunchpads.info = Cho phép dùng bệ phóng mà không cần bệ đáp, như trong bản 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Äã tắt[lightgray] (Bệ phóng di sản được bật) +rules.showspawns = Hiện Khu Kẻ Äịch Xuất Hiện +rules.randomwaveai = Äợt Tấn Công AI Không Äoán Trước rules.fire = Lá»­a -rules.explosions = Sát thương nổ cá»§a Khối/Quân lính -rules.ambientlight = Ãnh sáng môi trưá»ng -rules.weather = Thá»i tiết -rules.weather.frequency = Tần suất: -rules.weather.duration = Thá»i gian: +rules.anyenv = +rules.explosions = Sát Thương Nổ Cá»§a Khối/ÄÆ¡n Vị +rules.ambientlight = Ãnh Sáng Môi Trưá»ng +rules.weather = Thá»i Tiết +rules.weather.frequency = Tần Suất: +rules.weather.always = Luôn Có +rules.weather.duration = Thá»i Lượng: + +rules.randomwaveai.info = Làm các đơn vị xuất hiện trong các lượt nhắm vào công trình ngẫu nhiên thay vì tấn công trá»±c tiếp vào lõi hoặc máy phát năng lượng. +rules.placerangecheck.info = Ngăn chặn ngưá»i chÆ¡i khá»i việc đặt bất kỳ thứ gì gần công trình kẻ địch. Khi cố đặt má»™t bệ súng, phạm vi sẽ bị tăng lên, để bệ súng không thể bắn tá»›i kẻ địch. +rules.onlydepositcore.info = Ngăn chặn các đơn vị khá»i việc thả vật phẩm vào bất kỳ công trình nào ngoài lõi. content.item.name = Vật phẩm content.liquid.name = Chất lá»ng -content.unit.name = Quân lính +content.unit.name = ÄÆ¡n vị content.block.name = Khối +content.status.name = Hiệu ứng trạng thái content.sector.name = Khu vực +content.team.name = Phe + +wallore = (Tưá»ng) item.copper.name = Äồng item.lead.name = Chì item.coal.name = Than item.graphite.name = Than chì item.titanium.name = Titan -item.thorium.name = Thorium +item.thorium.name = Thori item.silicon.name = Silicon -item.plastanium.name = Plastanium -item.phase-fabric.name = Phase Fabric -item.surge-alloy.name = Surge Alloy +item.plastanium.name = Nhá»±a +item.phase-fabric.name = Sợi lượng tá»­ +item.surge-alloy.name = Hợp kim item.spore-pod.name = Vá» bào tá»­ item.sand.name = Cát item.blast-compound.name = Chất nổ -item.pyratite.name = Pyratite -item.metaglass.name = Metaglass +item.pyratite.name = Nhiệt thạch +item.metaglass.name = Thuá»· tinh item.scrap.name = Phế liệu +item.fissile-matter.name = Vật liệu phóng xạ +item.beryllium.name = Beryli +item.tungsten.name = Tungsten +item.oxide.name = Ôxit +item.carbide.name = Carbide +item.dormant-cyst.name = U nang bất hoạt + liquid.water.name = Nước liquid.slag.name = Xỉ nóng chảy liquid.oil.name = Dầu -liquid.cryofluid.name = Cryofluid +liquid.cryofluid.name = Chất làm lạnh +liquid.neoplasm.name = Tế bào tân sinh +liquid.arkycite.name = Arkycite +liquid.gallium.name = Gali +liquid.ozone.name = Ôzôn +liquid.hydrogen.name = Hy-dro lá»ng +liquid.nitrogen.name = Ni-tÆ¡ lá»ng +liquid.cyanogen.name = Cyano -#Why we should translate this ??? unit.dagger.name = Dagger unit.mace.name = Mace unit.fortress.name = Fortress @@ -1012,6 +1530,11 @@ unit.minke.name = Minke unit.bryde.name = Bryde unit.sei.name = Sei unit.omura.name = Omura +unit.retusa.name = Retusa +unit.oxynoe.name = Oxynoe +unit.cyerce.name = Cyerce +unit.aegires.name = Aegires +unit.navanax.name = Navanax unit.alpha.name = Alpha unit.beta.name = Beta unit.gamma.name = Gamma @@ -1020,13 +1543,36 @@ unit.reign.name = Reign unit.vela.name = Vela unit.corvus.name = Corvus -block.resupply-point.name = Äiểm tiếp tế +unit.stell.name = Stell +unit.locus.name = Locus +unit.precept.name = Precept +unit.vanquish.name = Vanquish +unit.conquer.name = Conquer +unit.merui.name = Merui +unit.cleroi.name = Cleroi +unit.anthicus.name = Anthicus +unit.tecta.name = Tecta +unit.collaris.name = Collaris +unit.elude.name = Elude +unit.avert.name = Avert +unit.obviate.name = Obviate +unit.quell.name = Quell +unit.disrupt.name = Disrupt +unit.evoke.name = Evoke +unit.incite.name = Incite +unit.emanate.name = Emanate +unit.manifold.name = Thiết bị bay vận chuyển +unit.assembly-drone.name = Thiết bị bay lắp ráp +unit.latum.name = Latum +unit.renale.name = Renale + block.parallax.name = Parallax block.cliff.name = Vách đá -block.sand-boulder.name = Tưá»ng cát -block.basalt-boulder.name = Tưá»ng đá basalt +block.sand-boulder.name = Tảng cát +block.basalt-boulder.name = Tảng đá huyá»n nhÅ© block.grass.name = Cá» -block.slag.name = Xỉ nóng chảy +block.molten-slag.name = Xỉ nóng chảy +block.pooled-cryofluid.name = Chất làm lạnh block.space.name = Không gian block.salt.name = Muối block.salt-wall.name = Tưá»ng muối @@ -1036,7 +1582,7 @@ block.sand-wall.name = Tưá»ng cát block.spore-pine.name = Cây thông bào tá»­ block.spore-wall.name = Tưá»ng bào tá»­ block.boulder.name = Tảng đá -block.snow-boulder.name = Tảng băng +block.snow-boulder.name = Tảng tuyết block.snow-pine.name = Cây thông tuyết block.shale.name = Äá phiến sét block.shale-boulder.name = Tảng đá phiến sét @@ -1044,41 +1590,45 @@ block.moss.name = Rêu block.shrubs.name = Bụi cây block.spore-moss.name = Rêu bào tá»­ block.shale-wall.name = Tưá»ng đá phiến sét -block.scrap-wall.name = Tưá»ng sắt vụn +block.scrap-wall.name = Tưá»ng phế liệu block.scrap-wall-large.name = Tưá»ng phế liệu lá»›n block.scrap-wall-huge.name = Tưá»ng phế liệu khổng lồ block.scrap-wall-gigantic.name = Tưá»ng phế liệu siêu khổng lồ -block.thruster.name = Thruster +block.thruster.name = Máy đẩy block.kiln.name = Lò nung -block.graphite-press.name = Máy nén thang chì -block.multi-press.name = Máy nén thang chì lá»›n +block.graphite-press.name = Máy nén than chì +block.multi-press.name = Máy nén than chì lá»›n block.constructing = {0} [lightgray](Äang xây dá»±ng) -block.spawn.name = Khu vá»±c tạo ra kẻ địch -block.core-shard.name = Căn cứ: CÆ¡ sở -block.core-foundation.name = Căn cứ: Trụ sở -block.core-nucleus.name = Căn cứ: Trung tâm -block.deepwater.name = Nước sâu -block.water.name = Nước -block.tainted-water.name = Nước nhiểm bẩn +block.spawn.name = Äiểm tạo ra kẻ địch +block.remove-wall.name = Loại bá» tưá»ng +block.remove-ore.name = Loại bá» khoáng sản +block.core-shard.name = Lõi: CÆ¡ sở +block.core-foundation.name = Lõi: Trụ sở +block.core-nucleus.name = Lõi: Trung tâm +block.deep-water.name = Nước sâu +block.shallow-water.name = Nước +block.tainted-water.name = Nước nhiá»…m bẩn +block.deep-tainted-water.name = Nước nhiá»…m bẩn sâu block.darksand-tainted-water.name = Nước nhiá»…m bẩn cát Ä‘en block.tar.name = Dầu block.stone.name = Äá -block.sand.name = Cát +block.sand-floor.name = Cát block.darksand.name = Cát Ä‘en block.ice.name = Băng block.snow.name = Tuyết -block.craters.name = Miệng núi lá»­a +block.crater-stone.name = Äá miệng núi lá»­a block.sand-water.name = Nước cát block.darksand-water.name = Nước cát Ä‘en -block.char.name = Char +block.char.name = Than block.dacite.name = Äá Dacit +block.rhyolite.name = Äá Ryolit block.dacite-wall.name = Tưá»ng Dacit block.dacite-boulder.name = Tảng đá Dacit block.ice-snow.name = Băng tuyết block.stone-wall.name = Tưá»ng đá block.ice-wall.name = Tưá»ng băng block.snow-wall.name = Tưá»ng tuyết -block.dune-wall.name = Dune Wall +block.dune-wall.name = Tưá»ng cồn cát block.pine.name = Cây thông block.dirt.name = Äất block.dirt-wall.name = Tưá»ng đất @@ -1089,8 +1639,9 @@ block.spore-cluster.name = Cụm bào tá»­ block.metal-floor.name = Ná»n kim loại 1 block.metal-floor-2.name = Ná»n kim loại 2 block.metal-floor-3.name = Ná»n kim loại 3 -block.metal-floor-5.name = Ná»n kim loại 4 -block.metal-floor-damaged.name = Ná»n kim loại bị hư há»ng +block.metal-floor-4.name = Ná»n kim loại 4 +block.metal-floor-5.name = Ná»n kim loại 5 +block.metal-floor-damaged.name = Ná»n kim loại bị há»ng block.dark-panel-1.name = Ná»n tối 1 block.dark-panel-2.name = Ná»n tối 2 block.dark-panel-3.name = Ná»n tối 3 @@ -1105,12 +1656,12 @@ block.copper-wall.name = Tưá»ng đồng block.copper-wall-large.name = Tưá»ng đồng lá»›n block.titanium-wall.name = Tưá»ng titan block.titanium-wall-large.name = Tưá»ng titan lá»›n -block.plastanium-wall.name = Tưá»ng Plastanium -block.plastanium-wall-large.name = Tưá»ng Plastanium lá»›n -block.phase-wall.name = Tưá»ng Phase -block.phase-wall-large.name = Tưá»ng Phase lá»›n -block.thorium-wall.name = Tưá»ng Thorium -block.thorium-wall-large.name = Tưá»ng Thorium lá»›n +block.plastanium-wall.name = Tưá»ng Nhá»±a +block.plastanium-wall-large.name = Tưá»ng Nhá»±a lá»›n +block.phase-wall.name = Tưá»ng lượng tá»­ +block.phase-wall-large.name = Tưá»ng lượng tá»­ lá»›n +block.thorium-wall.name = Tưá»ng Thori +block.thorium-wall-large.name = Tưá»ng Thori lá»›n block.door.name = Cá»­a block.door-large.name = Cá»­a lá»›n block.duo.name = Duo @@ -1120,30 +1671,33 @@ block.hail.name = Hail block.lancer.name = Lancer block.conveyor.name = Băng chuyá»n block.titanium-conveyor.name = Băng chuyá»n titan -block.plastanium-conveyor.name = Băng chuyá»n Plastanium -block.armored-conveyor.name = Băng chuyá»n bá»c thép -block.junction.name = Junction -block.router.name = Router -block.distributor.name = Distributor -block.sorter.name = Sorter -block.inverted-sorter.name = Sorter ngược +block.plastanium-conveyor.name = Băng chuyá»n nhá»±a +block.armored-conveyor.name = Băng chuyá»n bá»c giáp +block.junction.name = Giao Ä‘iểm +block.router.name = Bá»™ phân phát +block.distributor.name = Bá»™ phân phát lá»›n +block.sorter.name = Bá»™ lá»c +block.inverted-sorter.name = Bá»™ lá»c ngược block.message.name = Thông Ä‘iệp +block.reinforced-message.name = Thông Ä‘iệp [Gia cố] +block.world-message.name = Thông Ä‘iệp thế giá»›i +block.world-switch.name = Công tắc thế giá»›i block.illuminator.name = Äèn -block.overflow-gate.name = Overflow Gate -block.underflow-gate.name = Underflow Gate +block.overflow-gate.name = Cổng tràn +block.underflow-gate.name = Cổng tràn ngược block.silicon-smelter.name = Máy nấu silicon -block.phase-weaver.name = Máy tạo Phase +block.phase-weaver.name = Máy dệt lượng tá»­ block.pulverizer.name = Máy nghiá»n -block.cryofluid-mixer.name = Máy trá»™n Cryofluid -block.melter.name = Máy nung chảy -block.incinerator.name = Máy phân há»§y +block.cryofluid-mixer.name = Máy trá»™n chất làm lạnh +block.melter.name = Lò nung chảy +block.incinerator.name = Máy thiêu há»§y block.spore-press.name = Máy nén bào tá»­ block.separator.name = Máy phân tách -block.coal-centrifuge.name = Máy tạo than +block.coal-centrifuge.name = Máy ly tâm than block.power-node.name = Chốt Ä‘iện block.power-node-large.name = Chốt Ä‘iện lá»›n -block.surge-tower.name = Tháp Surge -block.diode.name = Diode pin +block.surge-tower.name = Tháp Ä‘iện hợp kim +block.diode.name = Chuyển dòng pin block.battery.name = Pin block.battery-large.name = Pin lá»›n block.combustion-generator.name = Máy phát Ä‘iện đốt cháy @@ -1151,10 +1705,10 @@ block.steam-generator.name = Máy phát Ä‘iện hÆ¡i nước block.differential-generator.name = Máy phát Ä‘iện vi sai block.impact-reactor.name = Lò phản ứng nhiệt hạch block.mechanical-drill.name = Máy khoan cÆ¡ khí -block.pneumatic-drill.name = Khoan khí nén +block.pneumatic-drill.name = Máy khoan khí nén block.laser-drill.name = Máy khoan laser block.water-extractor.name = Máy khoan nước -block.cultivator.name = Máy nuôi cấy bào tá»­ +block.cultivator.name = Máy nuôi cấy block.conduit.name = á»ng dẫn block.mechanical-pump.name = BÆ¡m cÆ¡ khí block.item-source.name = Nguồn vật phẩm @@ -1162,222 +1716,472 @@ block.item-void.name = Há»§y vật phẩm block.liquid-source.name = Nguồn chất lá»ng block.liquid-void.name = Há»§y chất lá»ng block.power-void.name = Há»§y năng lượng -block.power-source.name = Vô hạn năng lượng -block.unloader.name = Unloader -block.vault.name = Vault +block.power-source.name = Nguồn năng lượng +block.unloader.name = Äiểm dỡ hàng +block.vault.name = Kho chứa block.wave.name = Wave block.tsunami.name = Tsunami block.swarmer.name = Swarmer block.salvo.name = Salvo block.ripple.name = Ripple -block.phase-conveyor.name = Phase Conveyor -block.bridge-conveyor.name = Bridge Conveyor -block.plastanium-compressor.name = Máy nén Plastanium -block.pyratite-mixer.name = Máy trá»™n Pyratite +block.phase-conveyor.name = Băng chuyá»n lượng tá»­ +block.bridge-conveyor.name = Cầu dẫn băng chuyá»n +block.plastanium-compressor.name = Máy nén nhá»±a +block.pyratite-mixer.name = Máy trá»™n nhiệt thạch block.blast-mixer.name = Máy trá»™n chất nổ -block.solar-panel.name = Pin mặt trá»i -block.solar-panel-large.name = Pin mặt trá»i lá»›n +block.solar-panel.name = Tấm pin mặt trá»i +block.solar-panel-large.name = Tấm pin mặt trá»i lá»›n block.oil-extractor.name = Máy khoan dầu block.repair-point.name = Äiểm sá»­a chữa -block.pulse-conduit.name = á»ng dẫn titan -block.plated-conduit.name = á»ng dẫn bá»c thép -block.phase-conduit.name = á»ng dẫn Phase -block.liquid-router.name = Liquid Router -block.liquid-tank.name = Thùng chất lá»ng -block.liquid-junction.name = Liquid Junction -block.bridge-conduit.name = Bridge Conduit -block.rotary-pump.name = BÆ¡m Ä‘iện -block.thorium-reactor.name = Lò phản ứng Thorium -block.mass-driver.name = Mass Driver -block.blast-drill.name = Máy khoang thá»§y lá»±c -block.thermal-pump.name = BÆ¡m nhiệt +block.repair-turret.name = Súng sữa chữa +block.pulse-conduit.name = á»ng dẫn xung mạch +block.plated-conduit.name = á»ng dẫn bá»c giáp +block.phase-conduit.name = á»ng dẫn lượng tá»­ +block.liquid-router.name = Bá»™ phân phát chất lá»ng +block.liquid-tank.name = Bể chứa chất lá»ng +block.liquid-container.name = Thùng chứa chất lá»ng +block.liquid-junction.name = Giao Ä‘iểm chất lá»ng +block.bridge-conduit.name = Cầu ống dẫn +block.rotary-pump.name = BÆ¡m xoáy +block.thorium-reactor.name = Lò phản ứng Thori +block.mass-driver.name = Máy phóng Ä‘iện từ +block.blast-drill.name = Máy khoan khí nổ +block.impulse-pump.name = BÆ¡m xung lá»±c block.thermal-generator.name = Máy phát nhiệt Ä‘iện -block.alloy-smelter.name = Lò luyện hợp kim +block.surge-smelter.name = Lò luyện hợp kim block.mender.name = Máy sá»­a chữa -block.mend-projector.name = Máy sá»­a lá»›n -block.surge-wall.name = Tưá»ng Surge -block.surge-wall-large.name = Tưá»ng Surge lá»›n +block.mend-projector.name = Máy sá»­a chữa lá»›n +block.surge-wall.name = Tưá»ng hợp kim +block.surge-wall-large.name = Tưá»ng hợp kim lá»›n block.cyclone.name = Cyclone block.fuse.name = Fuse block.shock-mine.name = Mìn gây sốc -block.overdrive-projector.name = Máy tăng tốc -block.force-projector.name = Máy chiếu trưá»ng lá»±c (Khiên) +block.overdrive-projector.name = Máy chiếu tăng tốc +block.force-projector.name = Máy chiếu trưá»ng lá»±c block.arc.name = Arc -block.rtg-generator.name = Máy phát Ä‘iện RTG +block.rtg-generator.name = Máy phát diện đồng vị phóng xạ block.spectre.name = Spectre block.meltdown.name = Meltdown block.foreshadow.name = Foreshadow -block.container.name = Container -block.launch-pad.name = Bệ phóng -block.launch-pad-large.name = Bệ phóng lá»›n +block.container.name = Thùng chứa +block.launch-pad.name = Bệ phóng [lightgray](Di sản) +block.advanced-launch-pad.name = Bệ phóng +block.landing-pad.name = Bệ đáp + block.segment.name = Segment -block.command-center.name = Trung tâm chỉ huy -block.ground-factory.name = Nhà máy bá»™ binh +block.ground-factory.name = Nhà máy Bá»™ binh block.air-factory.name = Nhà máy Không quân -block.naval-factory.name = Nhà máy Hải quân -block.additive-reconstructor.name = Máy nâng cấp quân đội cấp 2 -block.multiplicative-reconstructor.name = Máy nâng cấp quân đội cấp 3 -block.exponential-reconstructor.name = Máy nâng cấp quân đội cấp 4 -block.tetrative-reconstructor.name = Máy nâng cấp quân đội cấp 5 +block.naval-factory.name = Nhà máy Hải quân +block.additive-reconstructor.name = Máy tái thiết cấp cá»™ng +block.multiplicative-reconstructor.name = Máy tái thiết cấp nhân +block.exponential-reconstructor.name = Máy tái thiết cấp mÅ© +block.tetrative-reconstructor.name = Máy tái thiết cấp lÅ©y thừa lặp block.payload-conveyor.name = Băng chuyá»n khối hàng -block.payload-router.name = Payload Router -block.disassembler.name = Máy phân tách lá»›n +block.payload-router.name = Bá»™ phân phát khối hàng +block.duct.name = á»ng chân không +block.duct-router.name = Bá»™ phân phát chân không +block.duct-bridge.name = Cầu dẫn chân không +block.large-payload-mass-driver.name = Máy phóng từ trưá»ng lá»›n +block.payload-void.name = Huá»· khối hàng +block.payload-source.name = Nguồn khối hàng +block.disassembler.name = Máy phân rã block.silicon-crucible.name = Máy nấu Silicon lá»›n -block.overdrive-dome.name = Máy tăng tốc lá»›n -#experimental, may be removed -block.block-forge.name = Block Forge -block.block-loader.name = Block Loader -block.block-unloader.name = Block Unloader +block.overdrive-dome.name = Máy chiếu tăng tốc lá»›n block.interplanetary-accelerator.name = Máy gia tốc liên hành tinh +block.constructor.name = Máy chế tạo +block.constructor.description = Chế tạo các khối có kích thước 2x2 ô. +block.large-constructor.name = Máy chế tạo lá»›n +block.large-constructor.description = Chế tạo các khối có kích thước lên đến 4x4 ô. +block.deconstructor.name = Máy tháo dỡ lá»›n +block.deconstructor.description = Tháo dỡ khối và đơn vị, trả lại 100% nguyên liệu. +block.payload-loader.name = Máy nạp vật phẩm +block.payload-loader.description = Nạp chất lá»ng và vật phẩm vào khối. +block.payload-unloader.name = Máy dỡ vật phẩm +block.payload-unloader.description = Lấy chất lá»ng và vật phẩm từ khối. +block.heat-source.name = Nguồn nhiệt +block.heat-source.description = Xuất ra lượng nhiệt lá»›n. Chỉ chế độ Tá»± do. + +#Erekir +block.empty.name = Trống +block.rhyolite-crater.name = Miệng núi lá»­a Rhyolit +block.rough-rhyolite.name = Rhyolit thô +block.regolith.name = Lá»›p đất mặt +block.yellow-stone.name = Äá vàng +block.carbon-stone.name = Äá Carbon +block.ferric-stone.name = Äá Ferric +block.ferric-craters.name = Miệng núi lá»­a Ferric +block.beryllic-stone.name = Äá Beryllic +block.crystalline-stone.name = Äá pha lê +block.crystal-floor.name = Ná»n pha lê +block.yellow-stone-plates.name = Tấm đá vàng +block.red-stone.name = Äá đỠ+block.dense-red-stone.name = Äá đỠdày +block.red-ice.name = Băng đỠ+block.arkycite-floor.name = Ná»n Arkycite +block.arkyic-stone.name = Äá Arkyic +block.rhyolite-vent.name = Lá»— hÆ¡i nước Rhyolit +block.carbon-vent.name = Lá»— hÆ¡i nước Carbon +block.arkyic-vent.name = Lá»— hÆ¡i nước Arkyic +block.yellow-stone-vent.name = Lá»— hÆ¡i nước đá vàng +block.red-stone-vent.name = Lá»— hÆ¡i nước đá đỠ+block.crystalline-vent.name = Lá»— hÆ¡i nước pha lê +block.redmat.name = Thảm đỠ+block.bluemat.name = Thảm xanh +block.core-zone.name = Vùng đặt lõi +block.regolith-wall.name = Tưá»ng đất mặt +block.yellow-stone-wall.name = Tưá»ng đá vàng +block.rhyolite-wall.name = Tưá»ng Rhyolit +block.carbon-wall.name = Tưá»ng Carbon +block.ferric-stone-wall.name = Tưá»ng đá Ferric +block.beryllic-stone-wall.name = Tưá»ng đá Beryllic +block.arkyic-wall.name = Tưá»ng Arkyic +block.crystalline-stone-wall.name = Tưá»ng đá pha lê +block.red-ice-wall.name = Tưá»ng băng đỠ+block.red-stone-wall.name = Tưá»ng đá đỠ+block.red-diamond-wall.name = Tưá»ng kim cương đỠ+block.redweed.name = Rêu đỠ+block.pur-bush.name = Bụi cây tím +block.yellowcoral.name = San hô vàng +block.carbon-boulder.name = Tảng đá Carbon +block.ferric-boulder.name = Tảng đá Ferric +block.beryllic-boulder.name = Tảng đá Beryllic +block.yellow-stone-boulder.name = Tảng đá vàng +block.arkyic-boulder.name = Tảng đá Arkyic +block.crystal-cluster.name = Cụm pha lê +block.vibrant-crystal-cluster.name = Cụm pha lê sống động +block.crystal-blocks.name = Khối pha lê +block.crystal-orbs.name = Quả cầu pha lê +block.crystalline-boulder.name = Tảng đá pha lê +block.red-ice-boulder.name = Tảng băng đỠ+block.rhyolite-boulder.name = Tảng đá Rhyolit +block.red-stone-boulder.name = Tảng đá đỠ+block.graphitic-wall.name = Tưá»ng than chì +block.silicon-arc-furnace.name = Lò tinh luyện Silicon +block.electrolyzer.name = Máy Ä‘iện phân +block.atmospheric-concentrator.name = Máy ngưng tụ khí quyển +block.oxidation-chamber.name = Bể Oxy hoá +block.electric-heater.name = Máy nhiệt từ Ä‘iện +block.slag-heater.name = Máy nhiệt từ xỉ +block.phase-heater.name = Máy nhiệt từ lượng tá»­ +block.heat-redirector.name = Khối Ä‘iá»u hướng nhiệt +block.small-heat-redirector.name = Khối Ä‘iá»u hướng nhiệt nhá» +block.heat-router.name = Khối phân phát nhiệt +block.slag-incinerator.name = Lò xỉ huá»· vật phẩm +block.carbide-crucible.name = Máy nấu Carbide +block.slag-centrifuge.name = Máy ly tâm xỉ +block.surge-crucible.name = Máy nấu hợp kim +block.cyanogen-synthesizer.name = Máy tổng hợp Cyano +block.phase-synthesizer.name = Máy tổng hợp lượng tá»­ +block.heat-reactor.name = Lò phản ứng nhiệt +block.beryllium-wall.name = Tưá»ng Beryl +block.beryllium-wall-large.name = Tưá»ng Beryl lá»›n +block.tungsten-wall.name = Tưá»ng Tungsten +block.tungsten-wall-large.name = Tưá»ng Tungsten lá»›n +block.blast-door.name = Cá»­a tá»± động +block.carbide-wall.name = Tưá»ng Carbide +block.carbide-wall-large.name = Tưá»ng Carbide lá»›n +block.reinforced-surge-wall.name = Tưá»ng Hợp kim cứng +block.reinforced-surge-wall-large.name = Tưá»ng Hợp kim cứng lá»›n +block.shielded-wall.name = Tưá»ng khiên chắn +block.radar.name = Máy quét +block.build-tower.name = Tháp xây dá»±ng +block.regen-projector.name = Máy chiếu hồi phục +block.shockwave-tower.name = Máy tạo xung Ä‘iện +block.shield-projector.name = Máy chiếu khiên chắn +block.large-shield-projector.name = Máy chiếu khiên chắn lá»›n +block.armored-duct.name = á»ng chân không bá»c giáp +block.overflow-duct.name = á»ng tràn chân không +block.underflow-duct.name = á»ng tràn ngược chân không +block.duct-unloader.name = Äiểm dỡ hàng chân không +block.surge-conveyor.name = Băng chuyá»n hợp kim +block.surge-router.name = Bá»™ phân phát hợp kim +block.unit-cargo-loader.name = Äiểm tải hàng đơn vị +block.unit-cargo-unload-point.name = Äiểm thả hàng đơn vị +block.reinforced-pump.name = Máy bÆ¡m gia cố +block.reinforced-conduit.name = á»ng dẫn gia cố +block.reinforced-liquid-junction.name = Äiểm giao chất lá»ng gia cố +block.reinforced-bridge-conduit.name = Cầu ống dẫn gia cố +block.reinforced-liquid-router.name = Bá»™ phân phát chất lá»ng gia cố +block.reinforced-liquid-container.name = Thùng chứa chất lá»ng gia cố +block.reinforced-liquid-tank.name = Bể chứa chất lá»ng gia cố +block.beam-node.name = Chốt tia Ä‘iện +block.beam-tower.name = Tháp tia Ä‘iện +block.beam-link.name = Liên kết tia Ä‘iện +block.turbine-condenser.name = Tua-bin Ä‘iện hÆ¡i nước +block.chemical-combustion-chamber.name = Bể Ä‘iện hoá +block.pyrolysis-generator.name = Máy phát Ä‘iện nhiệt phân +block.vent-condenser.name = Máy ngưng tụ hÆ¡i nước +block.cliff-crusher.name = Máy nghiá»n vách đá +block.large-cliff-crusher.name = Máy nghiá»n vách đá cao cấp +block.plasma-bore.name = Khoan plasma +block.large-plasma-bore.name = Khoan plasma cao cấp +block.impact-drill.name = Máy khoan động lá»±c +block.eruption-drill.name = Máy khoan siêu động lá»±c +block.core-bastion.name = Lõi: Pháo đài +block.core-citadel.name = Lõi: Thá»§ phá»§ +block.core-acropolis.name = Lõi: Äại đô +block.reinforced-container.name = Thùng chứa gia cố +block.reinforced-vault.name = Kho chứa gia cố +block.breach.name = Breach +block.sublimate.name = Sublimate +block.titan.name = Titan +block.disperse.name = Disperse +block.afflict.name = Afflict +block.lustre.name = Lustre +block.scathe.name = Scathe +block.tank-refabricator.name = Máy tái tạo xe tăng +block.mech-refabricator.name = Máy tái tạo máy cÆ¡ động +block.ship-refabricator.name = Máy tái tạo phi thuyá»n +block.tank-assembler.name = Máy lắp ráp xe tăng +block.ship-assembler.name = Máy lắp ráp phi thuyá»n +block.mech-assembler.name = Máy lắp ráp máy cÆ¡ động +block.reinforced-payload-conveyor.name = Băng chuyá»n khối hàng gia cố +block.reinforced-payload-router.name = Bá»™ phân phát khối hàng gia cố +block.payload-mass-driver.name = Máy phóng từ trưá»ng khối hàng +block.small-deconstructor.name = Máy tháo dỡ +block.canvas.name = Màn hình vẽ +block.world-processor.name = Bá»™ xá»­ lý thế giá»›i +block.world-cell.name = Bá»™ nhá»› thế giá»›i +block.tank-fabricator.name = Máy chế tạo xe tăng +block.mech-fabricator.name = Máy chế tạo cÆ¡ động +block.ship-fabricator.name = Máy chế tạo phi thuyá»n +block.prime-refabricator.name = Máy tái tạo hoàn thiện +block.unit-repair-tower.name = Tháp sá»­a chữa đơn vị +block.diffuse.name = Diffuse +block.basic-assembler-module.name = Mô-Ä‘un lắp ráp đơn vị +block.smite.name = Smite +block.malign.name = Malign +block.flux-reactor.name = Lò phản ứng thông lượng +block.neoplasia-reactor.name = Lò phản ứng siêu tân sinh block.switch.name = Công tắc -block.micro-processor.name = Bá»™ xá»­ lí mini -block.logic-processor.name = Bá»™ xá»­ lý -block.hyper-processor.name = Bá»™ xá»­ lý lá»›n -block.logic-display.name = Màng hình -block.large-logic-display.name = Màng hình lá»›n -block.memory-cell.name = Bá»™ nhá»› -block.memory-bank.name = Bá»™ nhá»› lá»›n +block.micro-processor.name = Bá»™ xá»­ lý vi cấp +block.logic-processor.name = Bá»™ xá»­ lý trung cấp +block.hyper-processor.name = Bá»™ xá»­ lý siêu cấp +block.logic-display.name = Màn hình hiển thị +block.large-logic-display.name = Màn hình hiển thị lá»›n +block.memory-cell.name = Ô bá»™ nhá»› +block.memory-bank.name = Khối bá»™ nhá»› -team.blue.name = Xanh dương -team.crux.name = Äá» -team.sharded.name = Cam -team.orange.name = Cam -team.derelict.name = không xác định +team.malis.name = Malis +team.crux.name = Crux +team.sharded.name = Sharded +team.derelict.name = Bá» hoang team.green.name = Xanh lá cây -team.purple.name = Tím +team.blue.name = Xanh dương hint.skip = Bá» qua hint.desktopMove = Sá»­ dụng [accent][[WASD][] để di chuyển. hint.zoom = [accent]Cuá»™n[] để phóng to hoặc thu nhá». -hint.mine = Di chuyển đến gần \uf8c4 khu vá»±c quặng đồng và [accent]nhấn[] vào để khai thác thá»§ công. -hint.desktopShoot = [accent][[chuá»™t trái][] để bắn. -hint.depositItems = Äể di chuyển các vật phẩm, hãy kéo từ tàu cá»§a bạn đến căn cứ. -hint.respawn = Äể hồi sinh như tàu cá»§a bạn, nhấn [accent][[V][]. -hint.respawn.mobile = Bạn đã chuyển Ä‘iá»u khiển má»™t quân lính/cấu trúc. Äể hồi sinh như má»™t con tàu, [accent]nhấn vào hình đại diện ở phía trên cùng bên trái.[] -hint.desktopPause = Nhấn [accent][[Space][] để tạm dừng và tiếp tục trò chÆ¡i. -hint.placeDrill = Chá»n mục \ue85e [accent]Máy khoan[] trong menu ở dưới cùng bên phải, sau đó chá»n má»™t \uf870 [accent]Máy khoan[] và nhấp vào quặng đồng để đặt nó. -hint.placeDrill.mobile = Chá»n mục \ue85e[accent]Máy khoan[] trong menu ở dưới cùng bên phải, sau đó chá»n má»™t \uf870 [accent]Máy khoan[] và chạm vào quặng đồng để đặt nó.\n\nNhấn nút \ue800 [accent]Xác nhận[] ở phía dưới cùng bên phải để xác nhận. -hint.placeConveyor = Băng chuyá»n di chuyển các mặt hàng từ các mÅ©i khoan sang các khối khác. Chá»n má»™t \uf896 [accent]Băng chuyá»n[] từ mục \ue814 [accent]Phân phối[].\n\nNhấp và kéo để đặt nhiá»u băng chuyá»n.\n[accent]Cuá»™n[] để xoay. -hint.placeConveyor.mobile = Băng chuyá»n di chuyển các vật phẩm từ khoan sang các khối khác. Chá»n má»™t \uf896 [accent]Băng chuyá»n[] từ mục \ue814 [accent]Phân phối[].\n\nGiữ ngón tay cá»§a bạn trong má»™t giây và kéo để đặt nhiá»u băng chuyá»n. -hint.placeTurret = Äặt \uf861 [accent]Súng[] để bảo vệ căn cứ cá»§a bạn khá»i kẻ thù.\n\nSúng cần đạn - trong trưá»ng hợp này sá»­ dụng \uf838Äồng.\nSá»­ dụng băng chuyá»n và máy khoan để cung cấp cho chúng. -hint.breaking = [accent]Chuá»™t phải[] và kéo để phá vỡ các khối. -hint.breaking.mobile = Kích hoạt \ue817 [accent]Cây búa[] ở phía dưới cùng bên phải và nhấn để phá vỡ các khối.\n\nGiữ ngón tay cá»§a bạn trong má»™t giây và kéo để phá khối trong vùng được chá»n. +hint.desktopShoot = [accent][[nhấn chuá»™t trái][] để bắn. +hint.depositItems = Äể di chuyển các vật phẩm, hãy kéo từ phi thuyá»n cá»§a bạn đến lõi. +hint.respawn = Äể hồi sinh dưới dạng phi thuyá»n, nhấn [accent][[V][]. +hint.respawn.mobile = Bạn đã chuyển Ä‘iá»u khiển má»™t đơn vị/công trình. Äể hồi sinh dưới dạng phi thuyá»n, [accent]nhấn vào hình đại diện ở phía trên cùng bên trái.[] +hint.desktopPause = Nhấn [accent][[Phím cách][] để tạm dừng và tiếp tục trò chÆ¡i. +hint.breaking = [accent]Nhấn chuá»™t phải[] và kéo để phá vỡ các khối. +hint.breaking.mobile = Kích hoạt \ue817 [accent]cây búa[] ở phía dưới cùng bên phải và nhấn để phá vỡ các khối.\n\nGiữ ngón tay cá»§a bạn trong má»™t giây và kéo để phá khối trong vùng được chá»n. +hint.blockInfo = Xem thông tin cá»§a má»™t khối bằng cách chá»n nó trong [accent]trình đơn xây dá»±ng[], Sau đó chá»n nút [accent][[?][] ở bên phải. +hint.derelict = [accent]Bá» hoang[] là các công trình bị há»ng cá»§a các căn cứ cÅ© mà không còn hoạt động.\n\nCác công trình này có thể [accent]được tháo dỡ[] để nhận được tài nguyên hoặc sá»­a chữa. hint.research = Sá»­ dụng nút \ue875 [accent]Nghiên cứu[] để nghiên cứu công nghệ má»›i. -hint.research.mobile = Sá»­ dụng nút \ue875 [accent]Nghiên cứu[] trong \ue88c [accent]Menu[] để nghiên cứu công nghệ má»›i. -hint.unitControl = Giữ [accent][[L-ctrl][] và [accent]click[] để Ä‘iá»u khiển quân lính cá»§a bạn hoặc súng. -hint.unitControl.mobile = [accent][Double-tap[] để Ä‘iá»u khiển quân lính cá»§a bạn hoặc súng. -hint.launch = Sau khi thu thập đủ tài nguyên, bạn có thể [accent]Phóng[] bằng cách chá»n các khu vá»±c lân cận từ \ue827 [accent]Bản đồ[] ở phía dưới cùng bên phải. -hint.launch.mobile = Sau khi thu thập đủ tài nguyên, bạn có thể [accent]Phóng[] bằng cách chá»n các khu vá»±c lân cận từ \ue827 [accent]Bản đồ[] trong \ue88c [accent]Menu[]. -hint.schematicSelect = Giữ [accent][[F][] và kéo để chá»n các khối để sao chép và dán.\n\n[accent][[Middle Click][] để sao chép má»™t khối. -hint.conveyorPathfind = Giữ [accent][[L-Ctrl][] trong khi kéo băng chuyá»n để tá»± động tạo đưá»ng dẫn. -hint.conveyorPathfind.mobile = Mở \ue844 [accent]chế độ đưá»ng chéo[] và kéo băng chuyá»n để tá»± động tạo đưá»ng dẫn. -hint.boost = Giữ [accent][[L-Shift][] bay qua các chướng ngại vật vá»›i quân lính hiện tại cá»§a bạn.\n\nChỉ má»™t số quân lính mặt đất có thể bay được. -hint.command = Nhấn [accent][[G][] để chỉ huy quân lính lân cận hoặc [accent]loại tương tá»±[].\n\nÄể chỉ huy các quân lính mặt đất, trước tiên bạn phải Ä‘iá»u khiển má»™t quân lính mặt đất khác. -hint.command.mobile = [accent][[Nhấn đúp][] quân lính cá»§a bạn để chỉ huy các quân lính lân cận thành đội. -hint.payloadPickup = Nhấn [accent][[[] để nhặt má»™t khối nhá» hoặc má»™t quân lính. -hint.payloadPickup.mobile = [accent]Nhấn và giữ[] má»™t khối nhá» hoặc má»™t quân lính để nhặt nó. -hint.payloadDrop = Nhấn [accent]][] để thả má»™t vật phẩm. -hint.payloadDrop.mobile = [accent]Nhấn và giữ[] tại má»™t khu vá»±c trống để thả vật phẩm. +hint.research.mobile = Sá»­ dụng nút \ue875 [accent]Nghiên cứu[] trong \ue88c [accent]Trình đơn[] để nghiên cứu công nghệ má»›i. +hint.unitControl = Giữ [accent][[Ctrl trái][] và [accent]nhấn chuá»™t[] để Ä‘iá»u khiển thá»§ công đơn vị cá»§a bạn hoặc súng. +hint.unitControl.mobile = [accent][[Nhấn đúp][] để Ä‘iá»u khiển thá»§ công đơn vị cá»§a bạn hoặc súng. +hint.unitSelectControl = Äể Ä‘iá»u khiển đơn vị, hãy nhấn [accent]chế độ mệnh lệnh[] bằng cách giữ [accent]Shift trái[].\nKhi ở chế độ mệnh lệnh, hãy nhấn và kéo để chá»n đơn vị. [accent]Nhấn chuá»™t phải[] vào má»™t vị trí hoặc mục tiêu để ra lệnh đơn vị đến đó. +hint.unitSelectControl.mobile = Äể Ä‘iá»u khiển đơn vị, hãy nhấn [accent]chế độ mệnh lệnh[] bằng cách nhấn nút [accent]mệnh lệnh[] ở phía dưới cùng bên trái.\nKhi ở chế độ mệnh lệnh, hãy nhấn giữ và kéo để chá»n đơn vị. Nhấp vào má»™t vị trí hoặc mục tiêu để ra lệnh đơn vị đến đó. +hint.launch = Má»™t khi thu thập đủ tài nguyên, bạn có thể [accent]Phóng[] bằng cách chá»n các khu vá»±c lân cận bằng cách mở \ue827 [accent]Bản đồ[] ở phía dưới cùng bên phải, và lướt chá»n vị trí má»›i. +hint.launch.mobile = Má»™t khi thu thập đủ tài nguyên, bạn có thể [accent]Phóng[] bằng cách chá»n các khu vá»±c lân cận từ \ue827 [accent]Bản đồ[] trong \ue88c [accent]Trình đơn[]. +hint.schematicSelect = Giữ [accent][[F][] và kéo để chá»n các khối để sao chép và dán.\n\n[accent][[Nhấn chuá»™t giữa][] để sao chép má»™t kiểu khối đơn lẻ. +hint.rebuildSelect = Giữ [accent][[B][] và kéo để chá»n các khối đã bị phá há»§y.\nChúng sẽ được tá»± động được xây lại. +hint.rebuildSelect.mobile = Chá»n nút \ue874 sao chép, sau đó nhấp nút \ue80f xây lại và kéo để chá»n khu vá»±c cá»§a các khối đã bị phá há»§y.\nViệc này sẽ giúp xây lại chúng má»™t cách tá»± động. +hint.conveyorPathfind = Giữ [accent][[Ctrl trái][] trong khi kéo băng chuyá»n để tá»± động tạo đưá»ng dẫn. +hint.conveyorPathfind.mobile = Bật \ue844 [accent]chế độ đưá»ng chéo[] và kéo băng chuyá»n để tá»± động tạo đưá»ng dẫn. +hint.boost = Giữ [accent][[Shift trái][] bay qua các chướng ngại vật vá»›i đơn vị hiện tại cá»§a bạn.\n\nChỉ má»™t số đơn vị mặt đất có thể bay được. +hint.payloadPickup = Nhấn [accent][[[] để nhặt má»™t khối nhá» hoặc má»™t đơn vị. +hint.payloadPickup.mobile = [accent]Nhấn và giữ[] má»™t khối nhá» hoặc má»™t đơn vị để nhặt nó. +hint.payloadDrop = Nhấn [accent]][] để thả má»™t khối hàng. +hint.payloadDrop.mobile = [accent]Nhấn và giữ[] tại má»™t khu vá»±c trống để thả khối hàng tại đó. hint.waveFire = [accent]Wave[] súng có nước làm đạn dược sẽ tá»± động dập tắt các đám cháy gần đó. hint.generator = \uf879 [accent]Máy phát Ä‘iện đốt cháy[] đốt than và truyá»n năng lượng cho các khối liá»n ká».\n\nPhạm vi truyá»n tải năng lượng có thể được mở rá»™ng vá»›i \uf87f [accent]Chốt Ä‘iện[]. -hint.guardian = [accent]Boss[] được bá»c giáp. Sá»­ dụng loại đạn yếu chẳng hạn như [accent]Äồng[] và [accent]Chì[] là [scarlet]không hiệu quả[].\n\nSá»­ dụng súng tiên tiến hÆ¡n hoặc sá»­ dụng \uf835 [accent]Than chì làm đạn [] \uf861Duo/\uf859Salvo đạn dược để hạ gục Boss. +hint.guardian = [accent]Trùm[] được bá»c giáp. Sá»­ dụng loại đạn yếu chẳng hạn như [accent]Äồng[] và [accent]Chì[] là [scarlet]không hiệu quả[].\n\nSá»­ dụng súng tiên tiến hÆ¡n hoặc sá»­ dụng \uf835 [accent]Than chì[] làm đạn \uf861Duo/\uf859Salvo đạn dược để hạ gục Trùm. +hint.coreUpgrade = Các lõi có thể được nâng cấp bằng cách [accent]đặt lõi cấp cao hÆ¡n trên chúng[].\n\nÄặt má»™t lõi \uf868 [accent]Trụ sở[] trên lõi \uf869 [accent]CÆ¡ sở[]. Äảm bảo không có vật cản gần đó. +hint.presetLaunch = [accent]Khu vá»±c đáp[] xám, như [accent]Frozen Forest[], có thể được phóng đến từ bất cứ đâu. Nó không yêu cầu chiếm các khu vá»±c lân cận.\n\n[accent]Các khu vá»±c được đánh số[], chẳng hạn như cái này, là [accent]không bắt buá»™c[]. +hint.presetDifficulty = Khu vá»±c này có [scarlet]mối Ä‘e dá»a thù địch cao[].\nPhóng đến khu vá»±c như vậy [accent]không được khuyến khích[] nếu không có công nghệ và chuẩn bị phù hợp. +hint.coreIncinerate = Sau khi lõi đầy má»™t loại vật phẩm, bất kỳ vật phẩm vào thuá»™c loại đó nhận được sẽ bị [accent]tiêu há»§y[]. +hint.factoryControl = Äể đặt [accent]Ä‘iểm đầu ra[] cá»§a má»™t nhà máy, nhấn vào má»™t khối nhà máy trong chế độ ra lệnh, sau đó nhấn chuá»™t phải vào má»™t vị trí.\nCác đơn vị sản xuất bởi nó sẽ tá»± động di chuyển đến đó. +hint.factoryControl.mobile = Äể đặt [accent]Ä‘iểm đầu ra[] cá»§a má»™t nhà máy, nhấp vào má»™t khối nhà máy trong chế độ ra lệnh, sau đó nhấp vào má»™t vị trí.\nCác đơn vị sản xuất bởi nó sẽ tá»± động di chuyển đến đó. -item.copper.description = Dùng trong tất cả các khu xây dá»±ng và các loại đạn dược. -item.copper.details = Äồng, là kim loại phổ biến trên Serpulo. Có cấu trúc yếu trừ khi được tôi luyện. -item.lead.description = Dùng trong vận chuyển chất lá»ng và cấu trúc liên quan đến Ä‘iện. -item.lead.details = Äặc, trÆ¡. Dùng nhiá»u trong pin.\nLưu ý: Có thể độc hại đối vá»›i các dạng sống sinh há»c. Không phải vì nó còn nhiá»u ở xung quanh đây. -item.metaglass.description = Dùng trong cấu trúc phân phối/lưu trữ chất lá»ng. -item.graphite.description = Dùng trong các bá»™ phận Ä‘iện và đạn dược. -item.sand.description = Dùng để sản xuất các vật liệu tinh chế khác. -item.coal.description = Dùng để sản xuất nhiên liệu và nguyên liệu sản xuất vật liệu tinh chế. +gz.mine = Di chuyển gần \uf8c4 [accent]quặng đồng[] trên đất và nhấn vào nó để bắt đầu khai thác. +gz.mine.mobile = Di chuyển gần \uf8c4 [accent]quặng đồng[] trên đất và nhấp vào nó để bắt đầu khai thác. +gz.research = Mở \ue875 cây công nghệ.\nNghiên cứu \uf870 [accent]Máy khoan cÆ¡ khí[], sau đó chá»n nó từ \ue85e trình đơn ở góc dưới bên phải.\nNhấp vào má»™t khoảng quặng đồng để đặt nó. +gz.research.mobile = Mở \ue875 cây công nghệ.\nNghiên cứu \uf870 [accent]Máy khoan cÆ¡ khí[], sau đó chá»n nó từ \ue85e trình đơn ở góc dưới bên phải.\nNhấp vào má»™t khoảng quặng đồng để đặt nó.\n\nNhấp vào \ue800 [accent]dấu tích[] ở góc dưới bên phải để xác nhận. +gz.conveyors = Nghiên cứu và đặt \uf896 [accent]băng chuyá»n[] để di chuyển các tài nguyên được khai thác\ntừ các máy khoan đến lõi.\n\nNhấn và kéo để đặt nhiá»u băng chuyá»n.\n[accent]Cuá»™n[] để xoay. +gz.conveyors.mobile = Nghiên cứu và đặt \uf896 [accent]băng chuyá»n[] để di chuyển các tài nguyên được khai thác\ntừ các máy khoan đến lõi.\n\nGiữ ngón tay má»™t giây và kéo để đặt nhiá»u băng chuyá»n. +gz.drills = Mở rá»™ng hoạt động khai thác.\nÄặt thêm Máy khoan cÆ¡ khí.\nKhai thác 100 đồng. +gz.lead = \uf837 [accent]Chì[] là má»™t tài nguyên được sá»­ dụng phổ biến.\nHãy đặt các máy khoan để khai thác chì. +gz.moveup = \ue804 Di chuyển lên để xem các nhiệm vụ tiếp theo. +gz.turrets = Nghiên cứu và đặt 2 súng \uf861 [accent]Duo[] để bảo vệ lõi.\nSúng Duo cần \uf838 [accent]đạn[] từ băng chuyá»n. +gz.duoammo = Tiếp đạn cho súng Duo bằng [accent]đồng[], sá»­ dụng băng chuyá»n. +gz.walls = [accent]Tưá»ng[] có thể ngăn chặn sát thương đến các công trình.\nÄặt \uf8ae [accent]tưá»ng đồng[] xung quanh các súng. +gz.defend = Quân địch Ä‘ang đến, hãy chuẩn bị phòng thá»§. +gz.aa = Các đơn vị bay không thể dá»… dàng bị bắn hạ vá»›i các súng tiêu chuẩn.\n\uf860 [accent]Scatter[] cung cấp tốt khả năng phòng không, nhưng cần \uf837 [accent]chì[] là đạn. +gz.scatterammo = Tiếp đạn cho súng Scatter bằng \uf837 [accent]chì[], sá»­ dụng băng chuyá»n. +gz.supplyturret = [accent]Cấp đạn cho súng +gz.zone1 = Äây là khu vá»±c quân địch đáp xuống. +gz.zone2 = Bất kỳ thứ gì được xây dá»±ng trong bán kính này sẽ bị phá há»§y khi má»™t đợt má»›i bắt đầu. +gz.zone3 = Má»™t đợt sẽ bắt đầu ngay bây giá».\nHãy chuẩn bị. +gz.finish = Äặt thêm các súng, khai thác thêm nguyên liệu,\nvà vượt qua tất cả các đợt để [accent]chiếm khu vá»±c[]. + +onset.mine = Nhấn để khai thác \uf748 [accent]beryl[] từ tưá»ng.\n\nSá»­ dụng [accent][[WASD] để di chuyển. +onset.mine.mobile = Nhấp để khai thác \uf748 [accent]beryl[] từ tưá»ng. +onset.research = Mở \ue875 cây công nghệ.\nNghiên cứu, sau đó đặt \uf73e [accent]tua-bin Ä‘iện tụ nước[] trên lá»— hÆ¡i nước.\nÄiá»u này sẽ tạo ra [accent]Ä‘iện[]. +onset.bore = Nghiên cứu và đặt \uf741 [accent]khoan plasma[].\nÄiá»u này sẽ tá»± động khai thác tài nguyên từ tưá»ng. +onset.power = Äể nối [accent]Ä‘iện[] cho khoan plasma, nghiên cứu và đặt \uf73d [accent]Chốt tia Ä‘iện[].\nKết nối tua-bin Ä‘iện hÆ¡i nước vá»›i khoan plasma. +onset.ducts = Nghiên cứu và đặt \uf799 [accent]ống chân không[] để di chuyển các tài nguyên được khai thác từ các máy khoan plasma đến lõi.\nNhấn và kéo để đặt nhiá»u ống chân không.\n[accent]Cuá»™n[] để xoay. +onset.ducts.mobile = Nghiên cứu và đặt \uf799 [accent]ống chân không[] để di chuyển các tài nguyên được khai thác từ các máy khoan plasma đến lõi.\n\nGiữ ngón tay má»™t giây và kéo để đặt nhiá»u ống chân không. +onset.moremine = Mở rá»™ng hoạt động khai thác.\nÄặt thêm Máy khoan plasma và sá»­ dụng chốt tia Ä‘iện và ống chân không để cùng phụ trợ chúng.\nKhai thác 200 beryl. +onset.graphite = Các khối phức tạp hÆ¡n cần \uf835 [accent]than chì[].\nÄặt khoan plasma để khai thác than chì. +onset.research2 = Bắt đầu nghiên cứu [accent]các nhà máy[].\nNghiên cứu \uf74d [accent]máy phá đá[] và \uf779 [accent]lò tinh luyện silicon[]. +onset.arcfurnace = Lò tinh luyện cần \uf834 [accent]cát[] và \uf835 [accent]than chì[] để tạo \uf82f [accent]silicon[].\nYêu cầu có [accent]Äiện[]. +onset.crusher = Sá»­ dụng \uf74d [accent]máy nghiá»n vách đá[] để khai thác cát. +onset.fabricator = Sá»­ dụng [accent]đơn vị[] để khám phá bản đồ, bảo vệ các công trình, và tấn công quân địch.\nNghiên cứu và đặt \uf6a2 [accent]máy chế tạo xe tăng[]. +onset.makeunit = Sản xuất má»™t đơn vị.\nSá»­ dụng nút "?" để xem các yêu cầu cá»§a máy đã chá»n. +onset.turrets = Các đơn vị rất hiệu quả, nhưng [accent]súng[] cung cấp khả năng phòng thá»§ tốt hÆ¡n nếu được sá»­ dụng hiệu quả.\nÄặt má»™t \uf6eb [accent]Breach[].\nSúng cần \uf748 [accent]đạn[]. +onset.turretammo = Tiếp đạn cho súng bằng [accent]beryl[] dùng ống chân không. +onset.walls = [accent]Tưá»ng[] có thể ngăn chặn sát thương đến các công trình.\nÄặt má»™t số \uf6ee [accent]tưá»ng beryl[] xung quanh súng. +onset.enemies = Quân địch Ä‘ang đến, hãy chuẩn bị phòng thá»§. +onset.defenses = [accent]Thiết lập phòng thá»§:[lightgray] {0} +onset.attack = Quân địch đã suy yếu. Hãy phản công. +onset.cores = Các lõi má»›i có thể được đặt trên [accent]ô đặt lõi[].\nCác lõi má»›i hoạt động như má»™t tiá»n cứ và chia sẻ kho tài nguyên vá»›i các lõi khác.\nÄặt má»™t \uf725 lõi. +onset.detect = Quân địch sẽ phát hiện bạn trong vòng 2 phút.\nHãy chuẩn bị phòng thá»§, khai thác, và sản xuất. +onset.commandmode = Giữ [accent]Shift[] để vào [accent]chế độ mệnh lệnh[].\n[accent]Nhấn chuá»™t trái và kéo[] để chá»n các đơn vị.\n[accent]Nhấn chuá»™t phải[] để ra lệnh các đơn vị di chuyển hoặc tấn công. +onset.commandmode.mobile = Nhấn vào [accent]nút mệnh lệnh[] để vào [accent]chế độ mệnh lệnh[].\nGiữ má»™t ngón tay, sau đó [accent]kéo[] để chá»n các đơn vị.\n[accent]Nhấp[] để ra lệnh các đơn vị di chuyển hoặc tấn công. +aegis.tungsten = Tungsten có thể khai thác bằng [accent]khoan thá»§y lá»±c[].\nCông trình này cần có [accent]nước[] và [accent]Ä‘iện[]. + +split.pickup = Má»™t số khối có thể được mang theo bởi đơn vị từ lõi.\nNhấn vào [accent]thùng chứa[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Phím mặc định là [[ và ] để mang theo và thả) +split.pickup.mobile = Má»™t số khối có thể được mang theo bởi đơn vị từ lõi.\nNhấp vào [accent]thùng chứa[] và đặt nó lên [accent]máy nạp vật phẩm[].\n(Äể mang theo hoặc thả thứ gì đó, ấn giữ nó má»™t chút.) +split.acquire = Bạn cần má»™t số tungsten để sản xuất đơn vị. +split.build = ÄÆ¡n vị phải được vận chuyển đến phía bên kia cá»§a tưá»ng.\nÄặt hai [accent]Máy phóng từ trưá»ng khối hàng[], má»™t ở má»—i bên cá»§a tưá»ng.\nÄặt liên kết bằng cách nhấp vào má»™t trong số chúng, sau đó chá»n cái còn lại. +split.container = Tương tá»± như thùng chứa, đơn vị cÅ©ng có thể được vận chuyển bằng [accent]Máy phóng từ trưá»ng khối hàng[].\nÄặt má»™t máy chế tạo đơn vị cạnh máy phóng từ trưá»ng để nạp chúng, sau đó gá»­i chúng qua tưá»ng để tấn công căn cứ địch. + +item.copper.description = Dùng trong tất cả các loại xây dá»±ng và các loại đạn dược. +item.copper.details = Äồng. Kim loại nhiá»u bất thưá»ng trên Serpulo. Có cấu trúc yếu trừ khi được tôi luyện. +item.lead.description = ÄÆ°á»£c dùng trong vận chuyển chất lá»ng và cấu trúc liên quan đến Ä‘iện. +item.lead.details = Äặc. TrÆ¡. Dùng cá»±c nhiá»u trong pin.\nLưu ý: Có thể độc hại đối vá»›i các dạng sống sinh há»c; không phải vì nó còn nhiá»u ở xung quanh đây. +item.metaglass.description = ÄÆ°á»£c dùng trong cấu trúc phân phối/lưu trữ chất lá»ng. +item.graphite.description = ÄÆ°á»£c dùng trong các bá»™ phận Ä‘iện và đạn súng. +item.sand.description = ÄÆ°á»£c dùng để sản xuất các vật liệu tinh chế khác. +item.coal.description = ÄÆ°á»£c dùng để sản xuất nhiên liệu và nguyên liệu sản xuất vật liệu tinh chế. item.coal.details = Có vẻ là vật chất hóa thạch cá»§a thá»±c vật, hình thành từ rất lâu trước khi được khai thác. -item.titanium.description = Dùng trong cấu trúc vận chuyển chất lá»ng, máy khoan và máy bay. -item.thorium.description = Dùng trong các công trình bá»n vững và có thể dùng làm nhiên liệu hạt nhân. -item.scrap.description = Dùng làm nguyên liệu cho Máy nung phế liệu và Máy nghiá»n để tinh luyện thành các vật liệu khác. -item.scrap.details = Tàn tích còn lại cá»§a các công trình và robot cÅ©. -item.silicon.description = Dùng trong các tấm pin mặt trá»i, thiết bị Ä‘iện tá»­ phức tạp và má»™t số loại đạn dược. -item.plastanium.description = Dùng trong các robot tiên tiến, các cấu trúc cách Ä‘iện và đạn tá»± phân mảnh. -item.phase-fabric.description = Dùng trong các thiết bị Ä‘iện tá»­ tiên tiến và các cấu trúc tá»± sá»­a chữa. -item.surge-alloy.description = Dùng trong các vÅ© khí tiên tiến và các cấu trúc phòng thá»§ phản ứng. -item.spore-pod.description = Dùng để chuyển đổi thành dầu, chất nổ và nhiên liệu. +item.titanium.description = ÄÆ°á»£c dùng trong cấu trúc vận chuyển chất lá»ng, máy khoan và các nhà máy. +item.thorium.description = ÄÆ°á»£c dùng trong các công trình bá»n vững và có thể dùng làm nhiên liệu hạt nhân. +item.scrap.description = ÄÆ°á»£c dùng trong Máy nung và Máy nghiá»n để tinh luyện thành các vật liệu khác. +item.scrap.details = Tàn tích còn lại cá»§a các công trình và đơn vị cÅ©. +item.silicon.description = ÄÆ°á»£c dùng trong các tấm pin mặt trá»i, thiết bị Ä‘iện tá»­ phức tạp và má»™t số loại đạn truy Ä‘uổi. +item.plastanium.description = ÄÆ°á»£c dùng trong các đơn vị tiên tiến, các cấu trúc cách Ä‘iện và đạn tá»± phân mảnh. +item.phase-fabric.description = ÄÆ°á»£c dùng trong các thiết bị Ä‘iện tá»­ tiên tiến và các cấu trúc tá»± sá»­a chữa. +item.surge-alloy.description = ÄÆ°á»£c dùng trong các vÅ© khí tiên tiến và các cấu trúc phòng thá»§ phản hồi. +item.spore-pod.description = ÄÆ°á»£c dùng để chuyển đổi thành dầu, chất nổ và nhiên liệu. item.spore-pod.details = Bào tá»­. Có thể là má»™t dạng sống tổng hợp. Phát thải khí độc đối vá»›i sinh vật khác. Cá»±c kỳ xâm lấn. Rất dá»… cháy trong má»™t số trưá»ng hợp nhất định. -item.blast-compound.description = Dùng trong bom hoặc đạn nổ. -item.pyratite.description = Dùng trong vÅ© khí gây cháy và máy phát Ä‘iện chạy bằng nhiên liệu đốt. +item.blast-compound.description = ÄÆ°á»£c dùng trong bom hoặc đạn nổ. +item.pyratite.description = ÄÆ°á»£c dùng trong vÅ© khí gây cháy và máy phát Ä‘iện chạy bằng nhiên liệu đốt. -liquid.water.description = Dùng để làm mát máy móc và xá»­ lý chất thải. -liquid.slag.description = Dùng để tách các kim loại, hoặc phun vào kẻ thù như má»™t loại vÅ© khí. -liquid.oil.description = Dùng trong sản xuất vật liệu tiên tiến và làm đạn gây cháycháy. -liquid.cryofluid.description = Dùng làm chất làm mát trong lò phản ứng, súng và nhà máy. +#Erekir +item.beryllium.description = ÄÆ°á»£c dùng trong nhiá»u loại công trình và đạn dược trên Erekir. +item.tungsten.description = ÄÆ°á»£c dùng trong các máy khoan, bá»c giáp và đạn dược. Yêu cầu trong việc xây dá»±ng các công trình cao cấp hÆ¡n. +item.oxide.description = ÄÆ°á»£c dùng làm chất dẫn nhiệt và cách Ä‘iện cho nguồn Ä‘iện. +item.carbide.description = ÄÆ°á»£c dùng trong các công trình tiên tiến, các đơn vị hạng nặng và đạn dược. -block.resupply-point.description = Cung cấp đạn đồng cho các quân lính ở gần. Không tương thích vá»›i quân lính sá»­ dụng Ä‘iện. -block.armored-conveyor.description = Vận chuyển vật phẩm vá» phía . Không nhận đầu vào từ phía bên. +liquid.water.description = ÄÆ°á»£c dùng để làm mát máy móc và xá»­ lý chất thải. +liquid.slag.description = Tinh chế để tách các kim loại thành phần. Dùng trong các loại súng chất lá»ng như má»™t loại đạn. +liquid.oil.description = ÄÆ°á»£c dùng trong sản xuất vật liệu tiên tiến và làm đạn gây cháy. +liquid.cryofluid.description = ÄÆ°á»£c dùng như chất làm mát trong lò phản ứng, súng và nhà máy. + +#Erekir +liquid.arkycite.description = ÄÆ°á»£c dùng trong các phản ứng hóa há»c để phát Ä‘iện và tổng hợp vật liệu. +liquid.ozone.description = ÄÆ°á»£c sá»­ dụng như má»™t chất ôxy hóa trong sản xuất vật liệu, và làm nhiên liệu. Gây nổ vừa phải. +liquid.hydrogen.description = ÄÆ°á»£c dùng trong khai thác tài nguyên, sản xuất đơn vị và sá»­a chữa công trình. Dá»… cháy. +liquid.cyanogen.description = ÄÆ°á»£c dùng cho đạn dược, xây dá»±ng các đơn vị tiên tiến và các phản ứng khác nhau trong các khối tiên tiến. Rất dá»… cháy. +liquid.nitrogen.description = ÄÆ°á»£c dùng trong khai thác tài nguyên, tạo khí và sản xuất đơn vị. TrÆ¡. +liquid.neoplasm.description = Má»™t sản phẩm phụ sinh há»c nguy hiểm cá»§a lò phản ứng Neoplasia. Lan nhanh sang bất kỳ khối chứa nước nào mà nó chạm vào, gây hư hại chúng. Nhá»›t. +liquid.neoplasm.details = Tế bào tân sinh. Má»™t khối lượng các tế bào tổng hợp phân chia nhanh chóng không kiểm soát vá»›i độ đặc giống như bùn. Kháng nhiệt. Cá»±c kỳ nguy hiểm cho bất cứ khối nào có liên quan đến nước.\n\nQuá phức tạp và không ổn định để được phân tích. Chưa rõ được tiá»m năng và ứng dụng cá»§a nó. Khuyến nghị đốt chúng trong xỉ nóng chảy. + +block.derelict = \uf77e [lightgray]Bá» hoang +block.armored-conveyor.description = Vận chuyển vật phẩm vá» phía trước. Không nhận đầu vào không phải băng chuyá»n từ phía bên cạnh. block.illuminator.description = Phát sáng. -block.message.description = Lưu trữ tin nhắn giao tiếp giữa đồng đội. +block.message.description = Lưu trữ thông Ä‘iệp giao tiếp giữa các đồng đội. +block.reinforced-message.description = Lưu trữ thông Ä‘iệp giao tiếp giữa các đồng đội. +block.world-message.description = Má»™t khối thông Ä‘iệp đùng để sá»­ dụng trong việc tạo bản đồ. Không thể bị phá há»§y. block.graphite-press.description = Nén than thành than chì. -block.multi-press.description = Nén than thành than chì. Cần nước làm chất làm mát. +block.multi-press.description = Nén than thành than chì. Cần nước làm mát. block.silicon-smelter.description = Tinh chế silicon từ cát và than. -block.kiln.description = Nấu chảy cát và chì thành metaglass. -block.plastanium-compressor.description = Sản xuất plastanium từ dầu và titan. -block.phase-weaver.description = Tổng hợp phase fabric từ thorium và cát. -block.alloy-smelter.description = Trá»™n titan, chì, silicon và đồng thành hợp kim surge. -block.cryofluid-mixer.description = Trá»™n nước và bá»™t titan để sản xuất cryofluid. -block.blast-mixer.description = Tạo ra hợp chất nổ từ pyratite và vá» bào tá»­. -block.pyratite-mixer.description = Trá»™n than, chì và cát thành pyratite. +block.kiln.description = Nấu chảy cát và chì thành thuá»· tinh. +block.plastanium-compressor.description = Sản xuất nhá»±a từ dầu và titan. +block.phase-weaver.description = Tổng hợp sợi lượng tá»­ từ thori và cát. +block.surge-smelter.description = Hợp nhất titan, chì, silicon và đồng thành hợp kim. +block.cryofluid-mixer.description = Trá»™n nước và bá»™t titan mịn để sản xuất chất làm mát. +block.blast-mixer.description = Tạo ra hợp chất nổ từ nhiệt thạch và vá» bào tá»­. +block.pyratite-mixer.description = Trá»™n than, chì và cát thành nhiệt thạch. block.melter.description = Nung phế liệu thành xỉ. block.separator.description = Tách xỉ thành các thành phần khoáng cá»§a nó. block.spore-press.description = Nén vá» bào tá»­ thành dầu. -block.pulverizer.description = Nghiá»n phế liệu thành cát. -block.coal-centrifuge.description = Biến dầu thành than. +block.pulverizer.description = Nghiá»n phế liệu thành cát mịn. +block.coal-centrifuge.description = Biến đổi dầu thành than. block.incinerator.description = Tiêu há»§y bất kỳ vật phẩm hoặc chất lá»ng nào mà nó nhận được. -block.power-void.description = Há»§y tất cả năng lượng nhận được. Chỉ có trong chế độ Sandbox. -block.power-source.description = Tạo ra năng lượng mãi mãi. Chỉ có trong chế độ Sandbox. -block.item-source.description = Tạo ra vật phẩm mãi mãi. Chỉ có trong chế độ Sandbox. -block.item-void.description = Há»§y má»i vật phẩm. Chỉ có trong chế độ Sandbox. -block.liquid-source.description = Tạo ra chất lá»ng mãi mãi. Chỉ có trong chế độ Sandbox. -block.liquid-void.description = Loại bá» má»i chất lá»ng. Chỉ có trong chế độ Sandbox. -block.copper-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ thù. -block.copper-wall-large.description = Bảo vệ nhiá»u công trình khá»i đạn cá»§a kẻ thù. -block.titanium-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ thù. -block.titanium-wall-large.description = Bảo vệ nhiá»u công trình khá»i đạn cá»§a kẻ thù. -block.plastanium-wall.description = Bảo vệ công trình khá»i đạn cá»§a kẻ thù. Hấp thụ tia laser và tia Ä‘iện. Chặn kết nối nguồn tá»± động. -block.plastanium-wall-large.description = Bảo vệ nhiá»u công trình khá»i đạn cá»§a kẻ thù. Hấp thụ tia laser và tia Ä‘iện. Chặn kết nối nguồn tá»± động. -block.thorium-wall.description = Bảo vệ công trình khá»i đạn cá»§a kẻ thù. -block.thorium-wall-large.description = Bảo vệ nhiá»u công trình khá»i đạn cá»§a kẻ thù. -block.phase-wall.description = Bảo vệ công trình khá»i đạn cá»§a kẻ thù, phản hầu hết đạn khi va chạm. -block.phase-wall-large.description = Bảo vệ nhiá»u công trình khá»i đạn cá»§a kẻ thù, phản hầu hết đạn khi va chạm. -block.surge-wall.description = Bảo vệ công trình khá»i đạn cá»§a kẻ thù, đôi khi tạo ra tia Ä‘iện khi bị bắn. -block.surge-wall-large.description = Bảo vệ nhiá»u công trình khá»i đạn cá»§a kẻ thù, đôi khi tạo ra tia Ä‘iện khi bị bắn. -block.door.description = Má»™t bức tưá»ng có thể đóng mở. -block.door-large.description = Má»™t bức tưá»ng có thể đóng mở. -block.mender.description = Sá»­a chữa định kỳ các khối trong vùng lân cận.\nSá»­ dụng silicon để tăng phạm vi và hiệu quả. -block.mend-projector.description = Sá»­a chữa các khối lân cận.\nSá»­ dụng silicon để tăng phạm vi và hiệu quả. -block.overdrive-projector.description = Tăng tốc độ làm việc cá»§a các công trình lân cận.\nSá»­ dụng phase fabric để tăng phạm vi và hiệu quả. -block.force-projector.description = Tạo ra má»™t trưá»ng lá»±c lục giác xung quanh nó, bảo vệ các tòa nhà và quân lính bên trong khá»i bị hư hại.\nQuá nóng nếu chịu quá nhiá»u sát thương. Sá»­ dụng chất làm mát để giảm nhiệt độ. Sá»­ dụng Phase fabric để tăng kích thước lá chắn. -block.shock-mine.description = Giải phóng tia Ä‘iện khi tiếp xúc vá»›i quân lính đối phương. +block.power-void.description = Há»§y tất cả năng lượng nhận được. Chỉ chế độ Tá»± do. +block.power-source.description = Tạo ra năng lượng vô hạn. Chỉ chế độ Tá»± do. +block.item-source.description = Tạo ra vật phẩm vô hạn. Chỉ chế độ Tá»± do. +block.item-void.description = Há»§y má»i vật phẩm. Chỉ chế độ Tá»± do. +block.liquid-source.description = Tạo ra chất lá»ng vô hạn. Chỉ chế độ Tá»± do. +block.liquid-void.description = Loại bá» má»i chất lá»ng. Chỉ chế độ Tá»± do. +block.payload-source.description = Tạo ra bất kỳ khối hàng nào. Chỉ chế độ Tá»± do. +block.payload-void.description = Phá há»§y bất kỳ khối hàng nào. Chỉ chế độ Tá»± do. +block.copper-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.copper-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.titanium-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.titanium-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.plastanium-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. Hấp thụ tia laser và tia Ä‘iện. Chặn kết nối Ä‘iện tá»± động. +block.plastanium-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. Hấp thụ tia laser và tia Ä‘iện. Chặn kết nối Ä‘iện tá»± động. +block.thorium-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.thorium-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.phase-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, phản hầu hết đạn khi va chạm. +block.phase-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, phản hầu hết đạn khi va chạm. +block.surge-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, thưá»ng phóng ra các tia Ä‘iện khi đạn va chạm. +block.surge-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, thưá»ng phóng ra các tia Ä‘iện khi đạn va chạm. +block.scrap-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.scrap-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.scrap-wall-huge.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.scrap-wall-gigantic.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.door.description = Má»™t bức tưá»ng có thể mở và đóng. +block.door-large.description = Má»™t bức tưá»ng có thể mở và đóng. +block.mender.description = Sá»­a chữa định kỳ các khối trong vùng lân cận.\nTùy chá»n sá»­ dụng silicon để tăng phạm vi và hiệu quả. +block.mend-projector.description = Sá»­a chữa các khối lân cận.\nTùy chá»n sá»­ dụng sợi lượng tá»­ để tăng phạm vi và hiệu quả. +block.overdrive-projector.description = Tăng tốc độ làm việc cá»§a các công trình gần đó.\nTùy chá»n sá»­ dụng sợi lượng tá»­ để tăng phạm vi và hiệu quả. Không cá»™ng dồn. +block.force-projector.description = Tạo ra má»™t trưá»ng lá»±c lục giác xung quanh nó, bảo vệ các công trình và đơn vị bên trong khá»i bị hư hại.\nQuá nóng nếu chịu quá nhiá»u sát thương. Tùy chá»n sá»­ dụng chất làm mát để chống quá nhiệt. Sá»­ dụng sợi lượng tá»­ để tăng kích thước lá chắn. +block.shock-mine.description = Giải phóng tia Ä‘iện khi tiếp xúc vá»›i đơn vị đối phương. block.conveyor.description = Vận chuyển vật phẩm vá» phía trước. block.titanium-conveyor.description = Vận chuyển vật phẩm vá» phía trước. Nhanh hÆ¡n băng chuyá»n tiêu chuẩn. -block.plastanium-conveyor.description = Vận chuyển vật phẩm vá» phía trước theo lô. Nhận các vật phẩm ở phía sau và dỡ chúng theo ba hướng ở phía trước. Yêu cầu nhiá»u Ä‘iểm tải và dỡ hàng để có hiệu quả cao nhất. -block.junction.description = Hoạt động như má»™t cầu nối cho hai băng chuyá»n băng qua. +block.plastanium-conveyor.description = Vận chuyển vật phẩm vá» phía trước theo lô. Nhận các vật phẩm ở phía sau và dỡ chúng theo ba hướng ở phía trước. Yêu cầu nhiá»u Ä‘iểm tải và dỡ hàng để có hiệu quả cao nhất. +block.junction.description = Hoạt động như má»™t cầu nối cho hai băng chuyá»n băng qua nhau. block.bridge-conveyor.description = Vận chuyển vật phẩm qua nhiá»u loại địa hình hoặc công trình. block.phase-conveyor.description = Vận chuyển tức thá»i vật phẩm qua địa hình hoặc công trình. Phạm vi dài hÆ¡n cầu nối, nhưng cần năng lượng. -block.sorter.description = Nếu vật phẩm giống vật được chá»n sẽ được chuyển đến trước, nếu không sẽ được chuyển qua trái hoặc phải. -block.inverted-sorter.description = Giống như máy phân loại, nhưng vật được chá»n sẽ được chuyển qua trái hoặc phải. +block.sorter.description = Nếu vật phẩm giống vật phẩm được chá»n, sẽ được chuyển đến trước. Nếu không, sẽ được chuyển qua trái hoặc phải. +block.inverted-sorter.description = Giống như bá»™ lá»c, nhưng vật phẩm được chá»n sẽ được chuyển qua trái hoặc phải. block.router.description = Phân phối các vật phẩm đầu vào thành 3 hướng đầu ra như nhau. -block.router.details = Không khuyên dùng cạnh đầu vào dây chuyá»n vì sẽ bị kẹt bởi đầu ra. +block.router.details = Má»™t Ä‘iá»u xấu không thể tránh khá»i. Không khuyên dùng cạnh đầu vào sản xuất, vì sẽ bị kẹt bởi đầu ra. block.distributor.description = Phân phối các vật phẩm đầu vào thành 7 hướng đầu ra như nhau. -block.overflow-gate.description = Chỉ đưa vật phẩm ra 2 phía nếu phía trước bị chặn, không thể đặt cạnh nhau. -block.underflow-gate.description = Ngược vá»›i cổng tràn, chỉ đưa vật phẩm đến trước khi hai bên bị chặn, không thể đặt cạnh nhau. -block.mass-driver.description = Cấu trúc vận chuyển vật phẩm tầm xa. Thu thập các lô vật phẩm và bắn chúng cho các mass driver khác. -block.mechanical-pump.description = BÆ¡m chất lá»ng, không yêu cầu năng lượng. -block.rotary-pump.description = BÆ¡m chất lá»ng, yêu cầu năng lượng. -block.thermal-pump.description = BÆ¡m chất lá»ng. -block.conduit.description = Äẩy chất lá»ng đến trước, dùng vá»›i bÆ¡m và các ống dẫn khác. -block.pulse-conduit.description = Äẩy chất lá»ng đến trước, vận chuyển nhanh và trữ nhiá»u hÆ¡n so vá»›i ống tiêu chuẩn. -block.plated-conduit.description = Äẩy chất lá»ng đến trước, không nhận đầu vào ở bên, không bị rò rỉ. -block.liquid-router.description = Nhận chất lá»ng từ má»™t phía và đưa Ä‘á»u ra ba phía còn lại. Có thể trữ má»™t lượng chất lá»ng nhất định. -block.liquid-tank.description = Trữ được nhiá»u chất lá»ng. ÄÆ°a Ä‘á»u ra má»i phía như bá»™ phân nhánh chất lá»ng. -block.liquid-junction.description = Chức năng như cầu cho hai ống nước băng chéo nhau. +block.overflow-gate.description = Chỉ đưa vật phẩm ra hai bên nếu phía trước bị chặn. +block.underflow-gate.description = Ngược vá»›i cổng tràn, chỉ đưa vật phẩm ra trước khi hai bên bị chặn. +block.mass-driver.description = Cấu trúc vận chuyển vật phẩm tầm xa. Thu thập các lô vật phẩm và bắn chúng cho các máy phóng Ä‘iện từ khác. +block.mechanical-pump.description = BÆ¡m và cho ra chất lá»ng. Không yêu cầu năng lượng. +block.rotary-pump.description = BÆ¡m và cho ra chất lá»ng. Yêu cầu năng lượng. +block.impulse-pump.description = BÆ¡m và cho ra chất lá»ng. +block.conduit.description = Äẩy chất lá»ng đến trước, được dùng để nối vá»›i bÆ¡m và các ống dẫn khác. +block.pulse-conduit.description = Äẩy chất lá»ng đến trước. Vận chuyển nhanh và trữ nhiá»u hÆ¡n so vá»›i ống tiêu chuẩn. +block.plated-conduit.description = Äẩy chất lá»ng đến trước. Không nhận đầu vào ở bên. Không bị rò rỉ. +block.liquid-router.description = Nhận chất lá»ng từ má»™t phía và phân phát Ä‘á»u ra 3 phía còn lại. Có thể trữ má»™t lượng chất lá»ng nhất định. +block.liquid-container.description = Lưu trữ má»™t lượng vừa phải chất lá»ng. ÄÆ°a Ä‘á»u ra má»i phía như bá»™ phân phát chất lá»ng. +block.liquid-tank.description = Trữ được má»™t lượng lá»›n chất lá»ng. ÄÆ°a Ä‘á»u ra má»i phía như bá»™ phân phát chất lá»ng. +block.liquid-junction.description = Chức năng như cầu cho hai ống dẫn băng qua nhau. block.bridge-conduit.description = Vận chuyển chất lá»ng qua nhiá»u loại địa hình hoặc công trình. block.phase-conduit.description = Vận chuyển chất lá»ng qua địa hình hoặc công trình. Phạm vi dài hÆ¡n cầu nối, nhưng cần năng lượng. block.power-node.description = Truyá»n năng lượng cho các chốt được kết nối. Chốt sẽ nhận năng lượng hoặc cấp năng lượng cho bất kỳ khối nào liá»n ká». @@ -1385,106 +2189,509 @@ block.power-node-large.description = Má»™t chốt Ä‘iện vá»›i phạm vi lá»›n block.surge-tower.description = Má»™t chốt Ä‘iện tầm xa vá»›i ít kết nối khả dụng hÆ¡n. block.diode.description = Di chuyển năng lượng trong pin theo má»™t hướng, nhưng chỉ khi phía bên kia có ít năng lượng được lưu trữ hÆ¡n. block.battery.description = Tích trữ năng lượng khi dư thừa. Xuất năng lượng khi thiếu hụt. -block.battery-large.description = Tích trữ năng lượng khi dư thừa. Xuất năng lượng khi thiếu hụt. Dung lượng cao hÆ¡n pin thông thưá»ng. -block.combustion-generator.description = Tạo ra năng lượng bằng cách đốt các vật liệu dá»… cháy như than. +block.battery-large.description = Tích trữ năng lượng khi dư thừa. Xuất năng lượng khi thiếu hụt. Dung lượng cao hÆ¡n pin thông thưá»ng. +block.combustion-generator.description = Tạo ra năng lượng bằng cách đốt các vật liệu dá»… cháy, như than. block.thermal-generator.description = Tạo ra năng lượng khi đặt ở những nÆ¡i nóng. block.steam-generator.description = Tạo ra năng lượng bằng cách đốt cháy các vật liệu dá»… cháy và chuyển nước thành hÆ¡i nước. -block.differential-generator.description = Tạo ra má»™t lượng lá»›n năng lượng. Sá»­ dụng sá»± chênh lệch nhiệt độ giữa cryofluid và pyratite Ä‘ang cháy. +block.differential-generator.description = Tạo ra má»™t lượng lá»›n năng lượng. Sá»­ dụng sá»± chênh lệch nhiệt độ giữa chất làm lạnh và nhiệt thạch Ä‘ang cháy. block.rtg-generator.description = Sá»­ dụng nhiệt cá»§a các hợp chất phóng xạ Ä‘ang phân há»§y để tạo ra năng lượng vá»›i tốc độ chậm. block.solar-panel.description = Cung cấp má»™t lượng nhá» năng lượng từ mặt trá»i. block.solar-panel-large.description = Cung cấp má»™t lượng nhá» năng lượng từ mặt trá»i. Hiệu quả hÆ¡n pin mặt trá»i tiêu chuẩn. -block.thorium-reactor.description = Tạo ra lượng năng lượng lá»›n từ thorium. Yêu cầu làm mát liên tục. Sẽ phát nổ dữ dá»™i nếu không cung cấp đủ chất làm mát. -block.impact-reactor.description = Tạo ra lượng năng lượng khổng lồ khi đạt hiệu quả cao nhất. Yêu cầu nguồn năng lượng lá»›n để bắt đầu quá trình. -block.mechanical-drill.description = Khi đặt trên quặng, xuất các vật phẩm vá»›i tốc độ chậm. Chỉ có khả năng khai thác các tài nguyên cÆ¡ bản. +block.thorium-reactor.description = Tạo ra lượng năng lượng lá»›n từ thori. Yêu cầu làm mát liên tục. Sẽ phát nổ dữ dá»™i nếu không cung cấp đủ chất làm mát. +block.impact-reactor.description = Tạo ra lượng năng lượng khổng lồ khi đạt hiệu quả cao nhất. Yêu cầu nguồn năng lượng lá»›n để khởi động quá trình. +block.mechanical-drill.description = Khi đặt trên quặng, xuất vô hạn các vật phẩm vá»›i tốc độ chậm. Chỉ có khả năng khai thác các tài nguyên cÆ¡ bản. block.pneumatic-drill.description = Máy khoan cải tiến, có khả năng khai thác titan. Khai thác vá»›i tốc độ nhanh hÆ¡n máy khoan cÆ¡ khí. -block.laser-drill.description = Cho phép khoan nhanh hÆ¡n nhá» công nghệ laser, nhưng đòi há»i năng lượng. Có khả năng khai thác thorium. +block.laser-drill.description = Cho phép khoan nhanh hÆ¡n nhá» công nghệ laser, nhưng đòi há»i năng lượng. Có khả năng khai thác thori. block.blast-drill.description = Máy khoan siêu cấp. Yêu cầu lượng năng lượng lá»›n. -block.water-extractor.description = Khai thác nước ngầm. ÄÆ°á»£c sá»­ dụng ở những nÆ¡i không có sẵn nước. -block.cultivator.description = Lá»c bào tá»­ có trong không khí và nuôi cấy thành vá» bào tá»­. +block.water-extractor.description = Khai thác nước ngầm. ÄÆ°á»£c dùng ở những nÆ¡i bá» mặt không có sẵn nước. +block.cultivator.description = Lá»c bào tá»­ có trong không khí để nuôi cấy thành vá» bào tá»­. block.cultivator.details = Công nghệ được phục hồi. ÄÆ°á»£c sá»­ dụng để sản xuất má»™t lượng lá»›n bào tá»­. Có thể là nÆ¡i á»§ ban đầu cá»§a các bào tá»­ hiện Ä‘ang bao phá»§ Serpulo. -block.oil-extractor.description = Sá»­ dụng lượng năng lượng năng lá»›n, sá»­ dụng cát và nước để khoan dầu. +block.oil-extractor.description = Sá»­ dụng lượng năng lượng lá»›n, cát và nước để khoan dầu. block.core-shard.description = Trung tâm cá»§a căn cứ. Sau khi bị phá há»§y, khu vá»±c này sẽ bị mất. -block.core-shard.details = Lần thá»­ đầu tiên. Gá»n nhẹ. Tá»± thay thế. ÄÆ°á»£c trang bị tên lá»­a đẩy dùng má»™t lần. Không được thiết kế để di chuyển giữa các hành tinh. -block.core-foundation.description = Core of the base. Well armored. Stores more resources than a Shard. -block.core-foundation.details = The second iteration. -block.core-nucleus.description = Lõi cá»§a căn cứ. Bá»c giáp chắc chắn. Lưu trữ lượng lá»›n tài nguyên. -block.core-nucleus.details = Lần thá»­ thứ ba và lần thá»­ cuối. -block.vault.description = Lưu trữ lượng lá»›n vật phẩm má»—i loại. Ná»™i dung có thể được lấy ra vá»›i Unloader. -block.container.description = Lưu trữ lượng lá»›n vật phẩm má»—i loại. Ná»™i dung có thể được lấy ra vá»›i Unloader. -block.unloader.description = Lấy các vật phẩm được chá»n từ các ô gần đó. -block.launch-pad.description = Phóng lô vật phẩm vào phân vùng. +block.core-shard.details = Cấp độ thứ nhất. Gá»n nhẹ. Tá»± thay thế. ÄÆ°á»£c trang bị tên lá»­a đẩy dùng má»™t lần. Không được thiết kế để di chuyển giữa các hành tinh. +block.core-foundation.description = Trung tâm cá»§a căn cứ. ÄÆ°á»£c bá»c giáp. Chứa được nhiá»u tài nguyên hÆ¡n Lõi: CÆ¡ sở. +block.core-foundation.details = Cấp độ thứ 2. +block.core-nucleus.description = Trung cá»§a căn cứ. Bá»c giáp chắc chắn. Lưu trữ lượng lá»›n tài nguyên. +block.core-nucleus.details = Cấp độ thứ 3 và cÅ©ng là cấp cuối cùng. +block.vault.description = Lưu trữ lượng lá»›n vật phẩm má»—i loại. Mở rá»™ng kho lưu trữ khi đặt kế bên má»™t lõi. Ná»™i dung có thể được lấy ra vá»›i Ä‘iểm dỡ hàng. +block.container.description = Lưu trữ lượng nhá» vật phẩm má»—i loại. Mở rá»™ng kho lưu trữ khi đặt kế bên má»™t lõi. Ná»™i dung có thể được lấy ra vá»›i Ä‘iểm dỡ hàng. +block.unloader.description = Lấy các vật phẩm được chá»n từ các khối gần đó. +block.launch-pad.description = Phóng lô vật phẩm vào khu vá»±c được chá»n. +block.advanced-launch-pad.description = Phóng lô vật phẩm vào khu vá»±c được chá»n. Chỉ nhận má»™t kiểu vật phẩm má»™t lúc. +block.advanced-launch-pad.details = Hệ thống tiểu quỹ đạo để vận chuyển tài nguyên từ Ä‘iểm này đến Ä‘iểm khác. +block.landing-pad.description = Nhận vật phẩm từ bệ phóng ở khu vá»±c khác. Cần má»™t lượng nước lá»›n để bảo vệ chống lại va chạm khi đáp. block.duo.description = Bắn xen kẽ đạn vào kẻ địch. -block.scatter.description = Bắn chì, phế liệu hoặc metaglass vào máy bay địch. -block.scorch.description = Äốt má»i kẻ địch trên mặt đất. Hiệu quả cao ở tầm gần. -block.hail.description = Phóng đạn nhá» vào kẻ địch trên mặt đất ở tầm xa. -block.wave.description = Phóng má»™t tia chất lá»ng vào kẻ địch. Tá»± chữa cháy nếu được cung cấp nước. -block.lancer.description = Tích tụ và phóng tia năng lượng mạnh vào kẻ địch trên mặt đất. -block.arc.description = Phóng tia Ä‘iện vào kẻ địch trên mặt đất. -block.swarmer.description = Bắn tên lá»­a homing vào kẻ địch. -block.salvo.description = Bắn đạn salvo vào kẻ địch. -block.fuse.description = Bắn ba đạn xuyên giáp tầm gần vào kẻ địch. +block.scatter.description = Bắn khối chì, phế liệu hoặc thuá»· tinh vào kẻ địch trên không. +block.scorch.description = Äốt má»i kẻ địch trên mặt đất ở gần. Hiệu quả cao ở tầm gần. +block.hail.description = Bắn đạn nhá» vào kẻ địch trên mặt đất ở tầm xa. +block.wave.description = Bắn má»™t tia chất lá»ng vào kẻ địch. Tá»± chữa cháy nếu được cung cấp nước. +block.lancer.description = Tích tụ và bắn tia năng lượng mạnh vào kẻ địch trên mặt đất. +block.arc.description = Bắn tia hồ quang Ä‘iện vào kẻ địch trên mặt đất. +block.swarmer.description = Bắn tên lá»­a truy Ä‘uổi vào kẻ địch. +block.salvo.description = Bắn loạt đạn nhanh vào kẻ địch. +block.fuse.description = Bắn ba tia đạn xuyên giáp tầm gần vào kẻ địch. block.ripple.description = Bắn cụm đạn vào kẻ địch trên mặt đất ở tầm xa. -block.cyclone.description = Bắn đạn nổ vào kẻ địch ở gần. -block.spectre.description = Bắn đạn xuyên giáp lá»›n ở kẻ địch trên không và trên mặt đất. -block.meltdown.description = Nạp và bắn má»™t tia laser liên tục vào kẻ địch ở gần. Cần có chất làm mát để hoạt động. -block.foreshadow.description = Bắn viên má»™t viên đạn tỉa lá»›n ở tầm xa. -block.repair-point.description = Liên tục sá»­a chữa robot ở gần trong phạm vi hoạt động. -block.segment.description = Gây hư hại và phá há»§y đạn đến. Ngoại trừ tia laser. -block.parallax.description = Bắn má»™t tia kéo máy bay địch và làm hư há»ng nó trong quá trình kéo. -block.tsunami.description = Phóng má»™t tia chất lá»ng mạnh vào kẻ địch. Tá»± chữa cháy nếu được cung cấp nước. -block.silicon-crucible.description = Tinh chế silicon từ cát và than, sá»­ dụng pyratite làm nguồn nhiệt phụ. Có hiệu quả cao hÆ¡n khi ở nÆ¡i nóng. -block.disassembler.description = Tách xỉ thành các kim loại khác nhau vá»›i hiệu suất thấp. Có thể sản xuất thorium. -block.overdrive-dome.description = Tăng tốc độ làm việc cá»§a các công trình lân cận. Sá»­ dụng phase fabric and silicon để hoạt động. -block.payload-conveyor.description = Di chuyển những khối hàng lá»›n, chẳng hạn như các quân lính từ nhà máy. -block.payload-router.description = Tách những khối hàng đầu vào thành 3 hướng đầu ra. -block.command-center.description = Kiểm soát hoạt động cá»§a cá»§a quân lính bằng má»™t số lệnh khác nhau. -block.ground-factory.description = Sản xuất binh lính bá»™ binh. Các quân lính đầu ra có thể được sá»­ dụng trá»±c tiếp, hoặc Ä‘em nâng cấp. -block.air-factory.description = Sản xuất binh lính không quân. Các quân lính đầu ra có thể được sá»­ dụng trá»±c tiếp, hoặc Ä‘em nâng cấp. -block.naval-factory.description = Sản xuất binh lính hải quân. Các quân lính đầu ra có thể được sá»­ dụng trá»±c tiếp, hoặc Ä‘em nâng cấp. -block.additive-reconstructor.description = Nâng cấp quân cá»§a bạn lên cấp hai. -block.multiplicative-reconstructor.description = Nâng cấp quân cá»§a bạn lên cấp ba. -block.exponential-reconstructor.description = Nâng cấp quân cá»§a bạn lên cấp bốn. -block.tetrative-reconstructor.description = Nâng cấp quân cá»§a bạn nên cấp năm (cuối cùng). -block.switch.description = Công tắc, trạng thái có thể được Ä‘á»c và Ä‘iá»u khiển vá»›i vi xá»­ lí logic. -block.micro-processor.description = Chạy tập hợp các chỉ dẫn trong má»™t vòng lặp, có thể dùng để Ä‘iá»u khiển robot và công trình. -block.logic-processor.description = Chạy tập hợp các chỉ dẫn trong má»™t vòng lặp, có thể dùng để Ä‘iá»u khiển robot và công trình. Nhanh hÆ¡n vi xá»­ lí micro. -block.hyper-processor.description = Chạy tập hợp các chỉ dẫn trong má»™t vòng lặp, có thể dùng để Ä‘iá»u khiển robot và công trình. Nhanh hÆ¡n vi xá»­ lí logic. -block.memory-cell.description = Lưu trữ thông tin cho bá»™ xá»­ lí logic. -block.memory-bank.description = Lưu trữ thông tin cho bá»™ xá»­ lí logic. Dung lượng cao. -block.logic-display.description = Hiển thị đồ há»a tùy ý từ bá»™ xá»­ lí logic. -block.large-logic-display.description = Hiển thị đồ há»a tùy ý từ bá»™ xá»­ lí logic. -block.interplanetary-accelerator.description = Tòa súng từ trưá»ng cỡ lá»›n. Tăng tốc vật phóng đến vận tốc thoát để di chuyển giữa các hành tinh. +block.cyclone.description = Bắn cụm đạn nổ vào kẻ địch ở gần. +block.spectre.description = Bắn đạn lá»›n ở kẻ địch trên không và trên mặt đất. +block.meltdown.description = Tích tụ và bắn má»™t tia laser liên tục vào kẻ địch ở gần. Cần có chất làm mát để hoạt động. +block.foreshadow.description = Bắn viên má»™t viên đạn tỉa lá»›n ở tầm xa. Ưu tiên kẻ địch có độ bá»n tối Ä‘a cao nhất. +block.repair-point.description = Liên tục sá»­a chữa đơn vị ở trong phạm vi hoạt động. +block.segment.description = Gây hư hại và phá há»§y đạn hướng đến. Không nhắm vào tia laser. +block.parallax.description = Bắn má»™t tia kéo mục tiêu trên không và làm hư há»ng nó trong quá trình kéo. +block.tsunami.description = Phóng má»™t tia chất lá»ng mạnh vào kẻ địch. Tá»± chữa cháy nếu được cung cấp nước hoặc chất làm mát. +block.silicon-crucible.description = Tinh chế silicon từ cát và than, sá»­ dụng nhiệt thạch làm nguồn nhiệt phụ. Có hiệu quả cao hÆ¡n khi ở nÆ¡i nóng. +block.disassembler.description = Tách xỉ thành lượng nhá» các thành phần khoáng chất lạ vá»›i hiệu suất thấp. Có thể sản xuất thori. +block.overdrive-dome.description = Tăng tốc độ làm việc cá»§a các công trình lân cận. Sá»­ dụng sợi lượng tá»­ và silicon để hoạt động. Không cá»™ng dồn. +block.payload-conveyor.description = Di chuyển những khối hàng lá»›n, chẳng hạn như các đơn vị từ nhà máy. Từ tính. Sá»­ dụng ở những môi trưá»ng không trá»ng lá»±c. +block.payload-router.description = Tách những khối hàng đầu vào thành 3 hướng đầu ra. Hoạt động như má»™t bá»™ lá»c khi được thiết lập. Từ tính. Sá»­ dụng ở những môi trưá»ng không trá»ng lá»±c. +block.ground-factory.description = Sản xuất đơn vị bá»™ binh. Các đơn vị đầu ra có thể được sá»­ dụng trá»±c tiếp, hoặc đưa vào máy tái thiết để nâng cấp. +block.air-factory.description = Sản xuất đơn vị không quân. Các đơn vị đầu ra có thể được sá»­ dụng trá»±c tiếp, hoặc đưa vào máy tái thiết để nâng cấp. +block.naval-factory.description = Sản xuất đơn vị hải quân. Các đơn vị đầu ra có thể được sá»­ dụng trá»±c tiếp, hoặc đưa vào máy tái thiết để nâng cấp. +block.additive-reconstructor.description = Nâng cấp đơn vị đầu vào lên cấp thứ hai. +block.multiplicative-reconstructor.description = Nâng cấp đơn vị đầu vào lên cấp thứ ba. +block.exponential-reconstructor.description = Nâng cấp đơn vị đầu vào lên cấp thứ bốn. +block.tetrative-reconstructor.description = Nâng cấp đơn vị đầu vào lên cấp thứ năm và là cấp cuối cùng. +block.switch.description = Công tắc có thể bật/tắt. Trạng thái có thể được Ä‘á»c và Ä‘iá»u khiển vá»›i xá»­ lý logic. +block.micro-processor.description = Chạy tập hợp các chỉ lệnh trong má»™t vòng lặp. Có thể dùng để Ä‘iá»u khiển đơn vị và công trình. +block.logic-processor.description = Chạy tập hợp các chỉ lệnh trong má»™t vòng lặp. Có thể dùng để Ä‘iá»u khiển đơn vị và công trình. Nhanh hÆ¡n bá»™ xá»­ lý vi cấp. +block.hyper-processor.description = Chạy tập hợp các chỉ lệnh trong má»™t vòng lặp. Có thể dùng để Ä‘iá»u khiển đơn vị và công trình. Nhanh hÆ¡n bá»™ xá»­ lý trung cấp. +block.memory-cell.description = Lưu trữ thông tin cho bá»™ xá»­ lý. +block.memory-bank.description = Lưu trữ thông tin cho bá»™ xá»­ lý. Dung lượng cao. +block.logic-display.description = Hiển thị đồ há»a tùy ý từ bá»™ xá»­ lý. +block.large-logic-display.description = Hiển thị đồ há»a tùy ý từ bá»™ xá»­ lý. +block.interplanetary-accelerator.description = Tòa tháp súng Ä‘iện từ cỡ lá»›n. Tăng tốc vật phóng đến vận tốc thoát để triển khai giữa các hành tinh. +block.repair-turret.description = Sá»­a chữa những đơn vị bị hư há»ng trong khu vá»±c nhất định. Tùy chá»n làm mát để tăng hiệu quả. -unit.dagger.description = Bắn đạn tiêu chuẩn vào tất cả kẻ địch xung quanh. -unit.mace.description = Phun lá»­a vào tất cả kẻ địch xung quanh. -unit.fortress.description = Bắn pháo tầm xa lên kẻ địch trên mặt đất. -unit.scepter.description = Bắn má»™t chùm đạn vào kẻ địch ở gần. -unit.reign.description = Bắn má»™t chùm đạn xuyên giáp vào kẻ địch ở gần. -unit.nova.description = Bắn tia laser làm tổn hại kẻ địch và sá»­a chữa các tòa nhà. Có khả năng bay. -unit.pulsar.description = Bắn tia Ä‘iện làm tổn hại kẻ địch và sá»­a chữa các tòa nhà. Có khả năng bay. -unit.quasar.description = Bắn tia laser xuyên giáp làm tổn hại kẻ địch và sá»­a chữa các tòa nhà. Có khả năng bay. ÄÆ°á»£c bá»c giáp. -unit.vela.description = Bắn tia laser liên tục xuyên giáp làm tổn hại kẻ địch, gây cháy và sá»­a chữa các tòa nhà. Có khả năng bay. -unit.corvus.description = Bắn Ä‘ia laser đánh bật kẻ địch và sá»­a chữa các tòa nhà. Có thể Ä‘i qua Ä‘a số địa hình. -unit.crawler.description = Chạy đến kẻ địch và nổ. -unit.atrax.description = Bắn cục xỉ vào kẻ địch trên mặt đất. Có thể Ä‘i qua Ä‘a số địa hình. -unit.spiroct.description = Bắn tia laser vào kẻ địch trên mặt đất và tá»± sá»­a chữa nó. Có thể Ä‘i qua Ä‘a số địa hình. -unit.arkyid.description = Bắn tia laser lá»›n vào kẻ địch trên mặt đất và tá»± sá»­a chữa chính nó. Có thể Ä‘i qua Ä‘a số địa hình. -unit.toxopid.description = Bắn chùm đạn Ä‘iện và tia laser xuyên giáp vào kẻ địch trên mặt đất và tá»± sá»­a chữa chính nó. Có thể Ä‘i qua Ä‘a số địa hình. -unit.flare.description = Bắn đạn thưá»ng vào kẻ địch tầm gần trên mặt đất. -unit.horizon.description = Thả chùm bom lên kẻ địch trên mặt đất. -unit.zenith.description = Bắn chùm tên lá»­a vào má»i kẻ địch tầm gần. -unit.antumbra.description = Bắn chùm đạn vào má»i kẻ địch tầm gần. -unit.eclipse.description = Bắn hai tia laser xuyên giáp và chùm flak vào má»i kẻ địch tầm gần. -unit.mono.description = Tá»± động khai thác đồng và chì, và vận chuyển vào căn cứ. -unit.poly.description = Tá»± động xây dá»±ng lại các công trình bị há»ng và há»— trợ các quân lính khác thi công. -unit.mega.description = Tá»± động sá»­a chữa các công trình bị há»ng. Có khả năng mang bá»™ binh nhá». -unit.quad.description = Thả bom to lên kẻ địch, sá»­a chữa các tòa nhà và tổn hại kẻ địch. Có khả năng mang bá»™ binh vừa. -unit.oct.description = Bảo vệ đồng minh vá»›i giáp. Có kả năng mang Ä‘a số bá»™ binh. -unit.risso.description = Bắn chùm tên lá»­a và đạn lên kẻ địch tầm gần. -unit.minke.description = Bắn đạn và đạn thưá»ng lên kẻ địch tầm gần trên mặt đất. -unit.bryde.description = Bắn đạn tầm xa và tên lá»­a vào kẻ địch. -unit.sei.description = Bắn chùm tên lá»­a và đạn xuyên giáp vào kẻ địch. -unit.omura.description = Bắn đạn từ trưá»ng xuyên giáp tầm xa vào kẻ địch. Tạo nên robot báo hiệu. -unit.alpha.description = Bảo vệ căn cứ cÆ¡ sở khá»i kẻ thù. Có thể xây dá»±ng. -unit.beta.description = Bảo vệ căn cứ trụ sở khá»i kẻ thù. Có thể xây dá»±ng. -unit.gamma.description = Bảo vệ căn cứ trung tâm khá»i kẻ thù. Có thể xây dá»±ng. +#Erekir +block.core-bastion.description = Trung tâm cá»§a căn cứ. Bá»c giáp. Má»™t khi bị phá há»§y, khu vá»±c sẽ mất. +block.core-citadel.description = Trung tâm cá»§a căn cứ. Bá»c giáp tốt hÆ¡n. Lưu trữ nhiá»u vật phẩm hÆ¡n lõi Pháo đài. +block.core-acropolis.description = Trung tâm cá»§a căn cứ. ÄÆ°á»£c bá»c giáp rất tốt. Lưu trữ nhiá»u vật phẩm hÆ¡n lõi Thá»§ Phá»§. +block.breach.description = Bắn các loại đạn xuyên thấu vào kẻ địch. +block.diffuse.description = Bắn má»™t loạt đạn mảnh theo hình nón. Äẩy kẻ địch vá» phía sau. +block.sublimate.description = Thổi tia lá»­a mạnh liên tục vào kẻ địch. Xuyên giáp. +block.titan.description = Bắn đạn pháo nổ khổng lồ vào các mục tiêu trên mặt đất. Yêu cầu hy-Ä‘rô lá»ng. +block.afflict.description = Bắn ra các mảnh vỡ cá»§a má»™t quả cầu tích Ä‘iện khổng lồ. Yêu cầu nhiệt. +block.disperse.description = Bắn các mảnh vỡ vào các mục tiêu trên không. +block.lustre.description = Bắn má»™t tia laser di chuyển chậm má»™t mục tiêu vào các mục tiêu cá»§a địch. +block.scathe.description = Phóng má»™t tên lá»­a mạnh vào các mục tiêu trên mặt đất ở khoảng cách lá»›n. +block.smite.description = Bắn viên đạn phát sáng nổ xuyên thấu. +block.malign.description = Bắn chùm hàng loạt những tia laser dẫn đưá»ng nhắm thẳng mục tiêu kẻ địch. Yêu cầu lượng nhệt lá»›n. +block.silicon-arc-furnace.description = Tinh chế silicone từ cát và than chì. +block.oxidation-chamber.description = Chuyển đổi beryl và ôzôn thành ôxit. Tạo ra nhiệt như sản phẩm phụ. +block.electric-heater.description = Làm nóng công trình. Yêu cầu má»™t lượng Ä‘iện lá»›n. +block.slag-heater.description = Làm nóng công trinh. Yêu cầu xỉ. +block.phase-heater.description = Làm nóng công trình. Yêu cầu sợi lượng tá»­. +block.heat-redirector.description = Chuyển lượng nhiệt nhận được sang các khối khác. +block.small-heat-redirector.description = Chuyển lượng nhiệt nhận được sang các khối khác. +block.heat-router.description = Phân phát nhiệt nhận được sang ba hướng đầu ra. +block.electrolyzer.description = Chuyển đổi nước thành hy-Ä‘rô lá»ng và khí ô-zôn. Các khí xuất hai hướng đối nhau, được đánh dấu bằng các màu tương ứng. +block.atmospheric-concentrator.description = Cô đặc ni-tÆ¡ từ khí quyển. Yêu cầu nhiệt. +block.surge-crucible.description = Tinh chế hợp kim từ xỉ và silicon. Yêu cầu nhiệt. +block.phase-synthesizer.description = Tổng hợp sợi lượng tá»­ từ thori, cát, và ôzôn. Yêu cầu nhiệt. +block.carbide-crucible.description = Kết hợp than chì và tungsten để tạo ra carbide. Yêu cầu nhiệt. +block.cyanogen-synthesizer.description = Tổng hợp cyano từ arkycite và than chì. Yêu cầu nhiệt. +block.slag-incinerator.description = Äốt các vật phẩm hoặc chất lá»ng không bay hÆ¡i. Yêu cầu xỉ. +block.vent-condenser.description = Ngưng tụ khí từ lá»— hÆ¡i nước để tạo ra nước. Tiêu thụ Ä‘iện. +block.plasma-bore.description = Khi được đặt đối diện vá»›i má»™t bức tưá»ng quặng, sản xuất vô hạn vật phẩm. Yêu cầu má»™t lượng Ä‘iện nhá».\nTùy chá»n sá»­ dụng hy-Ä‘rô lá»ng để tăng hiệu suất. +block.large-plasma-bore.description = Má»™t máy khoan plasma lá»›n hÆ¡n. Có thể khoan tungsten và thori. Yêu cầu hy-Ä‘rô lá»ng và Ä‘iện.\nTùy chá»n sá»­ dụng ni-tÆ¡ lá»ng để tăng hiệu suất. +block.cliff-crusher.description = Nghiá»n vách đá, xuất ra cát vô hạn. Yêu cầu năng lượng. Hiệu quả thay đổi dá»±a theo loại vách đá. +block.large-cliff-crusher.description = Nghiá»n vách đá, xuất ra cát vô hạn. Yêu cầu năng lượng và ôzôn. Hiệu quả thay đổi dá»±a theo loại vách đá. Tùy chá»n tiêu thụ tungsten để gia tăng hiệu suất. +block.impact-drill.description = Khi được đặt lên má»™t loại quặng, sản xuất vô hạn vật phẩm. Yêu cầu Ä‘iện và nước. +block.eruption-drill.description = Phiên bản cải tiến cá»§a máy khoan động lá»±c. Có thể khoan thori. Yêu cầu hy-Ä‘rô lá»ng. +block.reinforced-conduit.description = Di chuyển chất lá»ng vá» phía trước. Không nhận đầu vào nếu không phải ống dẫn từ các bên. +block.reinforced-liquid-router.description = Phân chia chất lá»ng Ä‘á»u cho tất cả các bên. +block.reinforced-liquid-tank.description = Lưu trữ má»™t lượng chất lá»ng lá»›n. +block.reinforced-liquid-container.description = Lưu trữ má»™t lượng chất lá»ng vừa phải. +block.reinforced-bridge-conduit.description = Vận chuyển chất lá»ng qua các công trình và địa hình. +block.reinforced-pump.description = BÆ¡m chất lá»ng lên. Yêu cầu hy-Ä‘rô lá»ng. +block.beryllium-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.beryllium-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.tungsten-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.tungsten-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.carbide-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.carbide-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch. +block.reinforced-surge-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, thưá»ng phóng ra các tia Ä‘iện khi đạn va chạm. +block.reinforced-surge-wall-large.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, thưá»ng phóng ra các tia Ä‘iện khi đạn va chạm. +block.shielded-wall.description = Bảo vệ các công trình khá»i đạn cá»§a kẻ địch, phản hồi hầu hết các loại đạn khi va chạm. Triển khai má»™t lá chắn chống đạn khi được cung cấp Ä‘iện. Dẫn Ä‘iện. +block.blast-door.description = Má»™t loại tưá»ng tá»± động mở ra khi đơn vị mặt đất Ä‘ang ở gần. Không thể Ä‘iá»u khiển má»™t cách thá»§ công. +block.duct.description = Di chuyển vật phẩm vá» phía trước. Chỉ có thể lưu trữ má»™t vật phẩm. +block.armored-duct.description = Di chuyển vật phẩm vá» phía trước. Không nhận đầu vào nếu không phải ống chân không từ các bên. +block.duct-router.description = Phân chia vật phẩm Ä‘á»u cho tất cả các bên. Chỉ nhận đầu vào từ phía sau. Có thể được cấu hình thành má»™t bá»™ sắp xếp vật phẩm. +block.overflow-duct.description = Chỉ xuất vật phẩm ra các bên nếu đưá»ng phía trước bị chặn. +block.duct-bridge.description = Vận chuyển vật phẩm qua các công trình và địa hình. +block.duct-unloader.description = Lấy ra vật phẩm đã chá»n từ khối phía sau nó. Không thể lấy ra từ các lõi. +block.underflow-duct.description = Ngược lại vá»›i má»™t ống tràn chân không. Xuất ra phía trước nếu các đưá»ng bên trái và phải bị chặn. +block.reinforced-liquid-junction.description = Làm cầu nối cho hai ống dẫn chất lá»ng giao nhau. +block.surge-conveyor.description = Di chuyển vật phẩm theo lô. Có thể được tăng tốc bằng Ä‘iện. Dẫn Ä‘iện. +block.surge-router.description = Phân chia vật phẩm Ä‘á»u cho tất cả các bên từ các băng chuyá»n hợp kim. Có thể được tăng tốc bằng Ä‘iện. Dẫn Ä‘iện. +block.unit-cargo-loader.description = Tạo thiết bị bay chở hàng. Thiết bị bay tá»± động phân phát các món đồ đến Äiểm thả hàng khá»›p vá»›i bá»™ lá»c. +block.unit-cargo-unload-point.description = Hoạt động như má»™t Ä‘iểm thả hàng cho thiết bị bay chở hàng. Nhận món đồ khá»›p vá»›i bá»™ lá»c đã chá»n. +block.beam-node.description = Truyá»n Ä‘iện cho các khối khác theo hướng thẳng. Lưu trữ má»™t lượng Ä‘iện nhá». +block.beam-tower.description = Truyá»n Ä‘iện cho các khối khác theo hướng thẳng. Lưu trữ má»™t lượng Ä‘iện lá»›n. Có phạm vi rá»™ng. +block.turbine-condenser.description = Tạo ra Ä‘iện khi được đặt trên các lá»— hÆ¡i nước. Tạo ra má»™t lượng nước nhá». +block.chemical-combustion-chamber.description = Tạo ra Ä‘iện từ arkycite và ôzôn. +block.pyrolysis-generator.description = Tạo ra má»™t lượng Ä‘iện lá»›n từ arkycite và xỉ nóng chảy. Tạo ra nước như má»™t sản phẩm phụ. +block.flux-reactor.description = Tạo ra má»™t lượng Ä‘iện lá»›n khi được làm nóng. Yêu cầu sá»­ dụng cyano như má»™t chất làm ổn định. Lượng Ä‘iện tạo ra và lượng tiêu thụ cyano tá»· lệ thuận vá»›i lượng nhiệt nhận được.\nPhát nổ nếu không cung cấp đủ cyano. +block.neoplasia-reactor.description = Sá»­ dụng arkycite, nước và sợi lượng tá»­ để tạo ra lượng Ä‘iện khổng lồ. Tạo ra nhiệt và lượng tế bào tân sinh nguy hiểm như sản phẩm phụ trong quá trình hoạt động.\nPhát nổ dữ dá»™i nếu tế bào tân sinh không được loại bá» khá»i lò phản ứng. +block.build-tower.description = Tá»± động xây dá»±ng lại các công trình trong phạm vi và há»— trợ các đơn vị khác trong quá trình xây dá»±ng. +block.regen-projector.description = Sá»­a chữa các công trình má»™t cách chậm rãi trong phạm vi hình vuông. Yêu cầu hy-Ä‘rô lá»ng.\nTùy chá»n sá»­ dụng sợi lượng tá»­ để tăng hiệu suất. +block.reinforced-container.description = Lưu trữ má»™t lượng nhá» vật phẩm. Ná»™i dung có thể được lấy ra thông qua các Ä‘iểm dỡ hàng. Không làm tăng khả năng lưu trữ cá»§a lõi. +block.reinforced-vault.description = Lưu trữ má»™t lượng lá»›n vật phẩm. Ná»™i dung có thể được lấy ra thông qua các Ä‘iểm dỡ hàng. Không làm tăng khả năng lưu trữ cá»§a lõi. +block.tank-fabricator.description = Chế tạo đơn vị Stell. Các đơn vị được chế tạo có thể được sá»­ dụng trá»±c tiếp hoặc được chuyển vào các máy tái chế tạo khác để được nâng cấp. +block.ship-fabricator.description = Chế tạo đơn vị Elude. Các đơn vị được chế tạo có thể được sá»­ dụng trá»±c tiếp hoặc được chuyển vào các máy tái chế tạo khác để được nâng cấp. +block.mech-fabricator.description = Chế tạo đơn vị Merui. Các đơn vị được chế tạo có thể được sá»­ dụng trá»±c tiếp hoặc được chuyển vào các máy tái chế tạo khác để được nâng cấp. +block.tank-assembler.description = Lắp ráp các xe tăng lá»›n từ các khối và đơn vị. Cấp độ đầu ra có thể được tăng bằng cách thêm các mô-Ä‘un. +block.ship-assembler.description = Lắp ráp các phi thuyá»n lá»›n từ các khối và đơn vị. Cấp độ đầu ra có thể được tăng bằng cách thêm các mô-Ä‘un. +block.mech-assembler.description = Lắp ráp các máy cÆ¡ động lá»›n từ các khối và đơn vị. Cấp độ đầu ra có thể được tăng bằng cách thêm các mô-Ä‘un. +block.tank-refabricator.description = Nâng cấp các xe tăng đầu vào lên cấp thứ hai. +block.ship-refabricator.description = Nâng cấp các phi thuyá»n đầu vào lên cấp thứ hai. +block.mech-refabricator.description = Nâng cấp các máy cÆ¡ động đầu vào lên cấp thứ hai. +block.prime-refabricator.description = Nâng cấp các đơn vị đầu vào lên cấp thứ ba. +block.basic-assembler-module.description = Tăng cấp lắp ráp khi đặt cạnh má»™t hệ thống lắp ráp. Yêu cầu Ä‘iện. Có thể sá»­ dụng như nÆ¡i nhập các khối hàng. +block.small-deconstructor.description = Tháo dỡ các công trình và đơn vị đầu vào. Trả lại 100% chi phí xây dá»±ng. +block.reinforced-payload-conveyor.description = Di chuyển khối hàng tiến vá» phía trước. +block.reinforced-payload-router.description = Phân chia các khối hàng vào các khối liá»n ká». Hoạt động như má»™t bá»™ lá»c khi được thiết lập. +block.payload-mass-driver.description = Công trình vận chuyển khối hàng tầm xa. Bắn các khối hàng nhận được đến các máy phóng từ trưá»ng được liên kết. +block.large-payload-mass-driver.description = Công trình vận chuyển khối hàng tầm xa. Bắn các khối hàng nhận được đến các máy phóng từ trưá»ng được liên kết. +block.unit-repair-tower.description = Sá»­a chữa tất cả các đơn vị trong phạm vi. Yêu cầu ôzôn. +block.radar.description = Rà soát địa hình và đơn vị kẻ địch má»™t cách từ từ trong môt phạm vi lá»›n. Yêu cầu Ä‘iện. +block.shockwave-tower.description = Phá há»§y và tiêu diệt các loại đạn cá»§a kẻ địch trong má»™t phạm vi. Yêu cầu cyano. +block.canvas.description = Hiển thị má»™t hình ảnh đơn giản vá»›i má»™t bảng màu được định sẵn. Có thể chỉnh sá»­a. + +unit.dagger.description = Bắn các viên đạn tiêu chuẩn vào các mục tiêu kẻ địch. +unit.mace.description = Phun tia lá»­a vào các mục tiêu kẻ địch. +unit.fortress.description = Bắn pháo tầm xa lên các mục tiêu kẻ địch trên mặt đất. +unit.scepter.description = Bắn má»™t chùm đạn tích tụ vào các mục tiêu kẻ địch. +unit.reign.description = Bắn má»™t chùm đạn xuyên giáp mạnh vào các mục tiêu kẻ địch. +unit.nova.description = Bắn tia laser gây sát thương lên các mục tiêu kẻ địch và sá»­a chữa các công trình đồng minh. Có khả năng bay. +unit.pulsar.description = Bắn tia Ä‘iện gây sát thương lên các mục tiêu kẻ địch và sá»­a chữa các công trình đồng minh. Có khả năng bay. +unit.quasar.description = Bắn tia laser xuyên giáp gây sát thương lên các mục tiêu kẻ địch và sá»­a chữa các công trình đồng minh. Có khả năng bay. Có lá chắn. +unit.vela.description = Bắn tia laser liên tục xuyên giáp gây sát thương lên các mục tiêu kẻ địch, gây cháy và sá»­a chữa các công trình đồng minh. Có khả năng bay. +unit.corvus.description = Bắn Ä‘ia laser cá»±c mạnh gây sát thương lên các mục tiêu kẻ địch và sá»­a chữa các công trình đồng minh. Có thể Ä‘i qua hầu hết loại địa hình. +unit.crawler.description = Chạy thẳng đến kẻ địch và tá»± há»§y, gây ra vụ nổ lá»›n. +unit.atrax.description = Phun tia xỉ nóng chảy gây suy nhược vào kẻ địch trên mặt đất. Có thể Ä‘i qua hầu hết loại địa hình. +unit.spiroct.description = Bắn tia laser gây ăn mòn vào các mục tiêu kẻ địch trên mặt đất và tá»± sá»­a chữa chính nó. Có thể Ä‘i qua hầu hết loại địa hình. +unit.arkyid.description = Bắn tia laser lá»›n gây ăn mòn vào các mục tiêu kẻ địch trên mặt đất và tá»± sá»­a chữa chính nó. Có thể Ä‘i qua hầu hết loại địa hình. +unit.toxopid.description = Bắn chùm đạn Ä‘iện và tia laser xuyên giáp vào các mục tiêu kẻ địch trên mặt đất. Có thể Ä‘i qua hầu hết loại địa hình. +unit.flare.description = Bắn đạn tiêu chuẩn vào các mục tiêu kẻ địch trên mặt đất. +unit.horizon.description = Thả chùm bom lên các mục tiêu kẻ địch trên mặt đất. +unit.zenith.description = Bắn chùm tên lá»­a vào các mục tiêu kẻ địch. +unit.antumbra.description = Bắn chùm đạn vào các mục tiêu kẻ địch. +unit.eclipse.description = Bắn hai tia laser xuyên giáp và pháo chùm vào các mục tiêu kẻ địch. +unit.mono.description = Tá»± động khai thác đồng và chì, vận chuyển vào lõi. +unit.poly.description = Tá»± động xây dá»±ng lại các công trình bị phá há»§y và há»— trợ các đơn vị khác thi công. +unit.mega.description = Tá»± động sá»­a chữa các công trình bị há»ng. Có khả năng mang theo má»™t số khối và đơn vị bá»™ binh nhá». +unit.quad.description = Thả bom plasma to lên kẻ địch, sá»­a chữa các công trình và sát thương các mục kẻ địch trên mặt đất. Có khả năng mang theo đơn vị bá»™ binh cỡ trung. +unit.oct.description = Bảo vệ đồng minh vá»›i lá chắn tá»± hồi phục. Có khả năng mang theo hầu hết các loại đơn vị bá»™ binh. +unit.risso.description = Bắn chùm tên lá»­a và đạn vào các mục tiêu kẻ địch. +unit.minke.description = Bắn chùm đạn và đạn tiêu chuẩn vào các mục tiêu kẻ địch trên mặt đất. +unit.bryde.description = Bắn đạn tầm xa và tên lá»­a vào các mục tiêu kẻ địch. +unit.sei.description = Bắn chùm tên lá»­a và đạn xuyên giáp vào các mục tiêu kẻ địch. +unit.omura.description = Bắn đạn Ä‘iện trưá»ng xuyên giáp tầm xa vào các mục tiêu kẻ địch. Tạo ra các đơn vị Flare. +unit.alpha.description = Bảo vệ lõi CÆ¡ sở khá»i kẻ địch. Có thể xây dá»±ng. +unit.beta.description = Bảo vệ lõi Trụ sở khá»i kẻ địch. Có thể xây dá»±ng. +unit.gamma.description = Bảo vệ lõi Trung tâm khá»i kẻ địch. Có thể xây dá»±ng. +unit.retusa.description = Bắn ngư lôi dẫn đưá»ng vào các mục tiêu kẻ địch. Sá»­a đơn vị đồng minh. +unit.oxynoe.description = Bắn luồng tia lá»­a sá»­a công trình vào các mục tiêu kẻ địch. Nhắm vào viên đạn kẻ địch vá»›i bệ súng phòng thá»§ mÅ©i nhá»n. +unit.cyerce.description = Bắn chùm tên lá»­a dẫn đưá»ng vào các mục tiêu kẻ địch. Sá»­a đơn vị đồng minh. +unit.aegires.description = Gây sốc lên tất cả đơn vị và công trình bên trong trưá»ng năng lượng cá»§a nó. Sá»­a chữa tất cả đồng minh. +unit.navanax.description = Bắn tia xung Ä‘iện từ (EMP) nổ, gây thiệt hại đáng kể lên mạng lưới năng lượng và sá»­a chữa công trình đồng minh. Nung chảy kẻ địch ở gần vá»›i 4 bệ súng laser tá»± hành. + +#Erekir +unit.stell.description = Bắn các viên đạn tiêu chuẩn vào các mục tiêu kẻ địch. +unit.locus.description = Bắn các viên đạn xen kẽ vào các mục tiêu kẻ địch. +unit.precept.description = Bắn các viên đạn phân cụm xuyên thấu vào các mục tiêu kẻ địch. +unit.vanquish.description = Bắn các viên đạn phân chia xuyên thấu lá»›n vào các mục tiêu kẻ địch. +unit.conquer.description = Bắn các viên đạn xếp tầng xuyên thấu vào các mục tiêu kẻ địch. +unit.merui.description = Bắn pháo tầm xa vào các mục tiêu kẻ địch trên mặt đất. Có thể Ä‘i qua hầu hết loại địa hình. +unit.cleroi.description = Bắn trái phá kép vào các mục tiêu kẻ địch. Nhắm vào viên đạn kẻ địch vá»›i các bệ súng phòng thá»§ mÅ©i nhá»n. Có thể Ä‘i qua hầu hết loại địa hình. +unit.anthicus.description = Bắn tên lá»­a dẫn đưá»ng tầm xa vào các mục tiêu kẻ địch. Có thể Ä‘i qua hầu hết loại địa hình. +unit.tecta.description = Bắn tên lá»­a plasma dẫn đưá»ng vào các mục tiêu kẻ địch. Tá»± bảo vệ chính nó vá»›i khiên định hướng. Có thể Ä‘i qua hầu hết loại địa hình. +unit.collaris.description = Bắn pháo phân mảnh tầm xa vào các mục tiêu kẻ địch. Có thể Ä‘i qua hầu hết loại địa hình. +unit.elude.description = Bắn má»™t cặp viên đạn dẫn đưá»ng vào các mục tiêu kẻ địch. Có thể lướt trên mặt chất lá»ng. +unit.avert.description = Bắn má»™t cặp viên đạn xoắn vào các mục tiêu kẻ địch. +unit.obviate.description = Bắn má»™t cặp cầu Ä‘iện xoắn vào các mục tiêu kẻ địch. +unit.quell.description = Bắn tên lá»­a dẫn đưá»ng tầm xa vào các mục tiêu kẻ địch. Ngăn chặn khối công trình sá»­a chữa cá»§a kẻ địch. Chỉ tấn công mục tiêu mặt đất. +unit.disrupt.description = Bắn tên lá»­a oanh tạc dẫn đưá»ng tầm xa vào các mục tiêu kẻ địch. Ngăn chặn khối công trình sá»­a chữa cá»§a kẻ địch. Chỉ tấn công mục tiêu mặt đất. +unit.evoke.description = Xây công trình để phòng thá»§ lõi Pháo đài. Sá»­a các công trình vá»›i má»™t tia sáng. Có khả năng mang khối công trình 2x2. +unit.incite.description = Xây công trình để phòng thá»§ lõi Thá»§ phá»§. Sá»­a các công trình vá»›i má»™t tia sáng. Có khả năng mang khối công trình 2x2. +unit.emanate.description = Xây công trình để phòng thá»§ lõi Äại đô. Sá»­a các công trình vá»›i chùm tia sáng. Có khả năng mang khối công trình 2x2. + +lst.read = Äá»c má»™t số từ bá»™ nhá»› được liên kết. +lst.write = Ghi má»™t số vào bá»™ nhá»› được liên kết. +lst.print = Thêm văn bản vào bá»™ đệm in.\nKhông hiển thị gì cho đến khi [accent]Print Flush[] được sá»­ dụng. +lst.printchar = Thêm má»™t ký tá»± UTF-16 hoặc biểu tượng ná»™i dung vào bá»™ đệm in.\nKhông hiển thị gì cho đến khi [accent]Print Flush[] được sá»­ dụng. +lst.format = Thay thế từ giữ chá»— tiếp theo trong bá»™ đệm văn bản bằng giá trị.\nKhông làm gì nếu khuôn mẫu từ giữ chá»— không hợp lệ.\nKhuôn mẫu từ giữ chá»—: "{[accent]số 0-9[]}"\nVí dụ:\n[accent]print "ví dụ {0}"\nformat "mẫu" +lst.draw = Thêm má»™t thao tác vào bá»™ đệm vẽ.\nKhông hiển thị gì cho đến khi [accent]Draw Flush[] được sá»­ dụng. +lst.drawflush = Äẩy các thao tác [accent]Draw[] theo trình tá»± đến màn hình. +lst.printflush = Äẩy các thao tác [accent]Print[] theo trình tá»± đến khối thông Ä‘iệp. +lst.getlink = Nhận liên kết bá»™ xá»­ lý theo chỉ số. Bắt đầu từ 0. +lst.control = Äiá»u khiển má»™t công trình. +lst.radar = Äịnh vị các đơn vị trong phạm vi xung quanh má»™t công trình. +lst.sensor = Lấy dữ liệu từ má»™t công trình hoặc đơn vị. +lst.set = Thiết đặt má»™t biến. +lst.operation = Thá»±c hiện má»™t thao tác trên 1-2 biến. +lst.end = Nhảy đến chỉ lệnh đầu tiên. +lst.wait = Chá» trong số giây nhất định. +lst.stop = Ngừng thá»±c thi khối xá»­ lý này. +lst.lookup = Tra cứu má»™t kiểu vật phẩm/chất lá»ng/đơn vị/khối bởi định danh (ID).\nTổng số đếm cá»§a má»—i kiểu có thể truy xuất qua:\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[]\nÄể thao tác ngược lại, dùng sense [accent]@id[] cá»§a vật thể đó. +lst.jump = Nhảy có Ä‘iá»u kiện qua lệnh khác. +lst.unitbind = Gắn kết đơn vị tiếp theo cá»§a má»™t kiểu, và lưu nó trong [accent]@unit[]. +lst.unitcontrol = Äiá»u khiển đơn vị Ä‘ang gắn kết. +lst.unitradar = Xác định đơn vị xung quanh đơn vị Ä‘ang gắn kết. +lst.unitlocate = Xác định má»™t kiểu cố định cá»§a vị trí/công trình bất kỳ đâu trên bản đồ.\nYêu cầu má»™t đơn vị Ä‘ang gắn kết. +lst.getblock = Lấy dữ liệu cá»§a ô tại vị trí bất kỳ. +lst.setblock = Chỉnh sá»­a dữ liệu cá»§a ô tại vị trí bất kỳ. +lst.spawnunit = Tạo ra đơn vị tại má»™t vị trí. +lst.applystatus = Ãp dụng hoặc loại bá» má»™t hiệu ứng trạng thái cho má»™t đơn vị. +lst.weathersense = Kiểm tra kiểu thá»i tiết có Ä‘ang hoạt động. +lst.weatherset = Thiết lập trạng thái hiện tại cá»§a kiểu thá»i tiết. +lst.spawnwave = Làm xuất hiện má»™t đợt. +lst.explosion = Tạo ra má»™t vụ nổ tại má»™t vị trí. +lst.setrate = Äặt tốc độ thá»±c thi khối xá»­ lý theo chỉ lệnh/tích-tắc. +lst.fetch = Tra cứu các đơn vị, lõi, ngưá»i chÆ¡i hoặc công trình bằng chỉ số.\nCác chỉ số bắt đầu từ 0 và kết thúc tại số lượng đếm cá»§a chúng. +lst.packcolor = Äóng gói màu thành phần RGBA [0, 1] thành má»™t số đơn dùng cho vẽ hoặc thiết lập quy tắc. +lst.setrule = Thiết đặt má»™t quy tắc trò chÆ¡i. +lst.flushmessage = Hiển thị má»™t tin nhắn trên màn hình từ bá»™ đệm văn bản.\nNếu giá trị [accent]thành công[] (success) trả vá» là [accent]@wait[],\nsẽ đợi cho đến khi tin nhắn trước đó hoàn tất.\nNgược lại, xuất ra liệu rằng tin nhắn đã hiển thị thành công. +lst.cutscene = Äiá»u khiển máy quay cá»§a ngưá»i chÆ¡i. +lst.setflag = Thiết đặt má»™t cá» toàn cục mà có thể Ä‘á»c được bởi tất cả khối xá»­ lý. +lst.getflag = Kiểm tra nếu cá» toàn cục được đặt. +lst.setprop = Thiết đặt má»™t thuá»™c tính cá»§a đơn vị hoặc công trình. +lst.effect = Tạo má»™t phần hiệu ứng nhá». +lst.sync = Äồng bá»™ biến số qua mạng.\nChỉ gá»i tối Ä‘a 20 lần má»—i giây cho má»—i biến. +lst.playsound = Phát má»™t âm thanh.\nÂm lượng và hướng xoay có thể là má»™t giá trị toàn cục, hoặc được tính toán dá»±a vào vị trí. +lst.makemarker = Tạo má»›i Ä‘iểm đánh dấu logic trên thế giá»›i.\nMá»™t định danh cho Ä‘iểm đánh dấu này phải được cung cấp.\nÄiểm đánh dấu hiện tại bị giá»›i hạn 20,000 trên má»—i thế giá»›i. +lst.setmarker = Thiết đặt má»™t thuá»™c tính cho má»™t Ä‘iểm đánh dấu.\nÄịnh danh phải giống như định danh ở chỉ lệnh Tạo Äiểm đánh dấu (Make Marker).\nGiá trị [accent]null[] sẽ bị phá»›t lá». +lst.localeprint = Thêm má»™t giá trị thuá»™c tính ngôn ngữ cá»§a bản đồ vào bá»™ đệm văn bản.\nÄể thiết đặt gói ngôn ngữ trong trình chỉnh sá»­a bản đồ, xem qua [accent]Thông tin bản đồ > Gói ngôn ngữ[].\nNếu máy khách là má»™t thiết bị di động, sẽ cố in thuá»™c tính kết thúc bằng ".mobile" trước tiên. + +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = Hằng số toán há»c pi (3.141...) +lglobal.@e = Hằng số toán há»c e (2.718...) +lglobal.@degToRad = Nhân vá»›i số này để chuyển từ độ (deg) sang radian (rad) +lglobal.@radToDeg = Nhân vá»›i số này để chuyển từ radian (rad) sang độ (deg) + +lglobal.@time = Thá»i gian chÆ¡i cá»§a bản lưu hiện tại, tính bằng mili-giây +lglobal.@tick = Thá»i gian chÆ¡i cá»§a bản lưu hiện tại, tính bằng tích-tắc (1 giây = 60 tích-tắc) +lglobal.@second = Thá»i gian chÆ¡i cá»§a bản lưu hiện tại, tính bằng giây +lglobal.@minute = Thá»i gian chÆ¡i cá»§a bản lưu hiện tại, tính bằng phút +lglobal.@waveNumber = Số đợt hiện tại, nếu chế độ đợt được bật +lglobal.@waveTime = Thá»i gian đếm ngược cá»§a đợt, tính bằng giây +lglobal.@mapw = Äá»™ rá»™ng bản đồ, tính bằng ô +lglobal.@maph = Äá»™ cao bản đồ, tính bằng ô + +lglobal.sectionMap = Bản đồ +lglobal.sectionGeneral = Chung +lglobal.sectionNetwork = Mạng/Máy khách [Chỉ Bá»™ xá»­ lý thế giá»›i] +lglobal.sectionProcessor = Bá»™ xá»­ lý +lglobal.sectionLookup = Tra cứu + +lglobal.@this = Khối logic Ä‘ang thá»±c thi Ä‘oạn mã +lglobal.@thisx = Tá»a độ x cá»§a khối Ä‘ang thá»±c thi Ä‘oạn mã +lglobal.@thisy = Tá»a độ y cá»§a khối Ä‘ang thá»±c thi Ä‘oạn mã +lglobal.@links = Tổng số khối đã liên kết đến bá»™ xá»­ lý này +lglobal.@ipt = Tốc độ thá»±c thi cá»§a bá»™ xá»­ lý tính bằng lệnh má»—i tích-tắc (60 tích-tắc = 1 giây) + +lglobal.@unitCount = Tổng số kiểu mẫu đơn vị trong trò chÆ¡i; được dùng vá»›i lệnh tra cứu (lookup) +lglobal.@blockCount = Tổng số kiểu mẫu khối trong trò chÆ¡i; được dùng vá»›i lệnh tra cứu (lookup) +lglobal.@itemCount = Tổng số kiểu mẫu vật phẩm trong trò chÆ¡i; được dùng vá»›i lệnh tra cứu (lookup) +lglobal.@liquidCount = Tổng số kiểu mẫu chất lá»ng trong trò chÆ¡i; được dùng vá»›i lệnh tra cứu (lookup) + +lglobal.@server = True nếu Ä‘oạn mã chạy trên máy chá»§ hoặc chÆ¡i đơn, ngược lại là false +lglobal.@client = True nếu Ä‘oạn mã chạy trên máy khách được kết nối đến máy chá»§ + +lglobal.@clientLocale = Ngôn ngữ cá»§a máy khách Ä‘ang chạy Ä‘oạn mã. Ví dụ: vi_VN +lglobal.@clientUnit = ÄÆ¡n vị máy khách Ä‘ang chạy Ä‘oạn mã +lglobal.@clientName = Tên ngưá»i chÆ¡i cá»§a máy khách Ä‘ang chạy Ä‘oạn mã +lglobal.@clientTeam = Äịnh danh đội cá»§a máy khách Ä‘ang chạy Ä‘oạn mã +lglobal.@clientMobile = True nếu máy khách Ä‘ang chạy Ä‘oạn mã trên thiết bị di động, ngược lại là false + +logic.nounitbuild = [red]Logic xây dá»±ng đơn vị không được phép ở đây. + +lenum.type = Kiểu cá»§a công trình/đơn vị.\nVí dụ cho Bá»™ phân phát (router), nó sẽ trả vá» [accent]@router[].\nKhông phải má»™t chuá»—i. +lenum.shoot = Bắn vào má»™t vị trí. +lenum.shootp = Bắn vào má»™t đơn vị/công trình vá»›i tốc độ dá»± Ä‘oán. +lenum.config = Cấu hình công trình, kiểu như vật phẩm cá»§a Khối sắp xếp. +lenum.enabled = Khối có Ä‘ang hoạt động. + +laccess.currentammotype = Äạn vật phẩm/chất lá»ng hiện tại cá»§a bệ súng. +laccess.color = Màu đèn chiếu sáng. +laccess.controller = Thứ Ä‘iá»u khiển đơn vị. Nếu khối xá»­ lý đã Ä‘iá»u khiển, trả vá» khối xá»­ lý.\nNgược lại, trả vá» chính đơn vị đó. +laccess.dead = ÄÆ¡n vị/công trình đã chết hoặc không còn hợp lệ hay không. +laccess.controlled = Trả vá»:\n[accent]@ctrlProcessor[] nếu Ä‘iá»u khiển là khối xá»­ lý\n[accent]@ctrlPlayer[] nếu Ä‘iá»u khiển đơn vị/công trình là ngưá»i chÆ¡i\n[accent]@ctrlCommand[] nếu Ä‘iá»u khiển đơn vị là má»™t mệnh lệnh ngưá»i chÆ¡i\nNgược lại, 0. +laccess.progress = Tiến trình thá»±c hiện, 0 đến 1.\nTrả vá» tiến trình sản xuất, nạp đạn bệ súng hoặc xây dá»±ng. +laccess.speed = Tốc độ cao nhất cá»§a đơn vị, tính bằng ô/giây. +laccess.id = Äịnh danh cá»§a má»™t đơn vị/khối/vật phẩm/chất lá»ng.\nViệc này làm ngược lại vá»›i thao tác tra cứu. + +lcategory.unknown = Không xác định +lcategory.unknown.description = Chỉ lệnh không được phân loại. +lcategory.io = Äầu Vào & Ra +lcategory.io.description = Chỉnh sá»­a ná»™i dung cá»§a khối ô nhá»› và bá»™ đệm khối xá»­ lý. +lcategory.block = Äiá»u khiển khối +lcategory.block.description = Tương tác vá»›i khối. +lcategory.operation = Các phép toán +lcategory.operation.description = Các phép toán logic. +lcategory.control = Äiá»u khiển luồng +lcategory.control.description = Quản lý trình tá»± thá»±c thi. +lcategory.unit = Äiá»u khiển đơn vị +lcategory.unit.description = Ra lệnh cho đơn vị. +lcategory.world = Thế giá»›i +lcategory.world.description = Kiểm soát hành vi cá»§a thế giá»›i. + +graphicstype.clear = Tô màu cho toàn màn hình. +graphicstype.color = Thiết đặt màu cho thao tác vẽ tiếp theo. +graphicstype.col = Tương tá»± màu, nhưng được đóng gói.\nMàu đã đóng gói được viết theo mã thập lục phân vá»›i tiá»n tố [accent]%[].\nVí dụ: [accent]%ff0000[] sẽ là màu Ä‘á». +graphicstype.stroke = Thiết đặt chiá»u rá»™ng Ä‘oạn thẳng. +graphicstype.line = Vẽ Ä‘oạn thẳng. +graphicstype.rect = Tô má»™t hình chữ nhật. +graphicstype.linerect = Vẽ đưá»ng viá»n má»™t hình chữ nhật. +graphicstype.poly = Tô má»™t Ä‘a giác Ä‘á»u. +graphicstype.linepoly = Vẽ đưá»ng viá»n má»™t Ä‘a giác Ä‘á»u. +graphicstype.triangle = Tô má»™t hình tam giác. +graphicstype.image = Vẽ hình ảnh má»™t số ná»™i dung.\nVí dụ: [accent]@router[] hoặc [accent]@dagger[]. +graphicstype.print = Vẽ văn bản từ bá»™ đệm in.\nChỉ được phép dùng các kí tá»± ASCII.\nLàm sạch bá»™ đệm. + +lenum.always = Luôn đúng. +lenum.idiv = Chia lấy phần nguyên. +lenum.div = Phép chia.\nTrả vá» [accent]rá»—ng (null)[] khi chia cho 0. +lenum.mod = Chia lấy phần dư. +lenum.equal = Bằng nhau. Ép kiểu.\nÄối tượng không-rá»—ng (non-null) so sánh vá»›i số sẽ thành 1, ngược lại là 0. +lenum.notequal = Không bằng nhau. Ép kiểu. +lenum.strictequal = Bằng nhau ràng buá»™c. Không ép kiểu.\nCó thể dùng để kiểm tra [accent]rá»—ng (null)[]. +lenum.shl = Nhảy bit sang trái. +lenum.shr = Nhảy bit sang phải. +lenum.or = Phép toán bit OR. +lenum.land = Phép toán logic AND. +lenum.and = Phép toán bit AND. +lenum.not = Phép toán lật bit. +lenum.xor = Phép toán bit XOR. + +lenum.min = Số nhá» nhất giữa hai số. +lenum.max = Số lá»›n nhất giữa hai số. +lenum.angle = Góc cá»§a vectÆ¡ tính bằng độ. +lenum.anglediff = Khoảng cách tuyệt đối giữa hai góc tính bằng độ. +lenum.len = Chiá»u dài cá»§a vectÆ¡. + +lenum.sin = Sin, tính bằng độ. +lenum.cos = Cos, tính bằng độ. +lenum.tan = Tan, tính bằng độ. + +lenum.asin = Sin nghịch đảo, tính bằng độ. +lenum.acos = Cos nghịch đảo, tính bằng độ. +lenum.atan = Tan nghịch đảo, tính bằng độ. + +#not a typo, look up 'range notation' +lenum.rand = Tạo ra số nguyên ngẫu nhiên trong phạm vi [0, giá trị). +lenum.log = Lôgarit tá»± nhiên (ln). +lenum.log10 = Lôgarit cÆ¡ số 10. +lenum.noise = Nhiá»…u đơn 2D. +lenum.abs = Giá trị tuyệt đối. +lenum.sqrt = Căn bậc hai. + +lenum.any = ÄÆ¡n vị bất kỳ. +lenum.ally = ÄÆ¡n vị đồng minh. +lenum.attacker = ÄÆ¡n vị vá»›i vÅ© khí. +lenum.enemy = ÄÆ¡n vị kẻ địch. +lenum.boss = Trùm. +lenum.flying = ÄÆ¡n vị không quân. +lenum.ground = ÄÆ¡n vị bá»™ binh. +lenum.player = ÄÆ¡n vị do ngưá»i chÆ¡i Ä‘iá»u khiển. + +lenum.ore = Má» quặng. +lenum.damaged = Công trình bị hư tổn cá»§a đồng minh. +lenum.spawn = Äiểm xuất hiện cá»§a kẻ địch.\nCó thể là má»™t lõi hoặc má»™t vị trí. +lenum.building = Công trình trong má»™t nhóm nhất định. + +lenum.core = Bất kỳ lõi nào. +lenum.storage = Khối lưu trữ, ví dụ như Nhà kho. +lenum.generator = Khối tạo ra năng lượng. +lenum.factory = Khối biến đổi vật phẩm. +lenum.repair = Äiểm sá»­a chữa. +lenum.battery = Bất kỳ pin. +lenum.resupply = Äiểm tiếp tế.\nChỉ phù hợp khi [accent]"ÄÆ¡n vị cần đạn"[] được bật. +lenum.reactor = Lò phản ứng Thori/Nhiệt hạch. +lenum.turret = Súng bất kỳ. + +sensor.in = Công trình/ÄÆ¡n vị để cảm biến. + +radar.from = Công trình để cảm biến.\nPhạm vi cảm biến bị giá»›i hạn bởi phạm vi cá»§a công trình. +radar.target = Bá»™ lá»c cho các đơn vị được cảm biến. +radar.and = Bá»™ lá»c bổ sung. +radar.order = Sắp xếp theo thứ tá»±. 0 để đảo ngược. +radar.sort = Số liệu để sắp xếp kết quả theo đó. +radar.output = Biến để ghi đơn vị được xuất ra. + +unitradar.target = Bá»™ lá»c cho các đơn vị được cảm biến. +unitradar.and = Bá»™ lá»c bổ sung. +unitradar.order = Sắp xếp theo thứ tá»±. 0 để đảo ngược. +unitradar.sort = Số liệu để sắp xếp kết quả theo đó. +unitradar.output = Biến để ghi đơn vị được xuất ra. + +control.of = Công trình được Ä‘iá»u khiển. +control.unit = ÄÆ¡n vị/Công trình để ngắm vào. +control.shoot = Có bắn hay không. + +unitlocate.enemy = Có định vị công trình kẻ địch hay không. +unitlocate.found = Äối tượng có tìm được hay không. +unitlocate.building = Biến xuất ra cho công trình đã định vị. +unitlocate.outx = Tá»a độ X xuất ra. +unitlocate.outy = Tá»a độ Y xuất ra. +unitlocate.group = Nhóm công trình để tìm kiếm. + +playsound.limit = Nếu [accent]true[], ngăn âm thanh này phát\nnếu nó đã phát trong chung má»™t khung hình. + +lenum.idle = Không di chuyển, nhưng vẫn xây dá»±ng/đào.\nTrạng thái mặc định. +lenum.stop = Dừng di chuyển/đào/xây dá»±ng. +lenum.unbind = Vô hiệu hóa hoàn toàn Ä‘iá»u khiển logic.\nKhôi phục AI tiêu chuẩn. +lenum.move = Di chuyển đến vị trí xác định. +lenum.approach = Tiếp cận má»™t vị trí vá»›i bán kính. +lenum.pathfind = Tìm đưá»ng đến má»™t vị trí xác định. +lenum.autopathfind = Tá»± động tìm đưá»ng đến lõi hoặc nÆ¡i hạ cánh gần nhất cá»§a kẻ địch.\nViệc này tương tá»± như việc tìm đưá»ng cá»§a kẻ địch trong các đợt. +lenum.target = Bắn vào má»™t vị trí. +lenum.targetp = Bắn vào má»™t mục tiêu vá»›i tốc độ dá»± Ä‘oán. +lenum.itemdrop = Thả má»™t vật phẩm. +lenum.itemtake = Lấy má»™t vật phẩm từ má»™t công trình. +lenum.paydrop = Thả khối hàng hiện tại. +lenum.paytake = Nhận khối hàng tại vị trí hiện tại. +lenum.payenter = Vào trong/hạ cánh trên khối hàng mà đơn vị Ä‘ang ở trên nó. +lenum.flag = CỠđơn vị kiểu số. +lenum.mine = Äào tại má»™t vị trí. +lenum.build = Xây má»™t công trình. +lenum.getblock = Lấy kiểu công trình, ná»n và khối tại tá»a độ.\nÄÆ¡n vị phải nằm trong phạm vi cá»§a vị trí, ngược lại null được trả vá». +lenum.within = Kiểm tra xem đơn vị có gần má»™t vị trí không. +lenum.boost = Bắt đầu/Dừng tăng tốc. + +lenum.flushtext = Äẩy ná»™i dung cá»§a bá»™ đệm cho Ä‘iểm đánh dấu, nếu có thể áp dụng.\nNếu [accent]fetch[] đặt là [accent]true[], sẽ cố truy vấn các thuá»™c tính từ gói ngôn ngữ cá»§a bản đồ hoặc trò chÆ¡i. +lenum.texture = Tên kết cấu lấy thẳng từ bản khung kết cấu cá»§a trò chÆ¡i (dùng kiểu tên kebab-case, tên-chữ-thưá»ng-chứa-gạch-nối).\nNếu printFlush đặt là true, sẽ sá»­ dụng ná»™i dung bá»™ đệm văn bản làm tham số văn bản. +lenum.texturesize = Kích thước cá»§a kết cấu bằng ô. Giá trị 0 chia tá»· lệ chiá»u rá»™ng cá»§a Ä‘iểm đánh dấu theo kích thước cá»§a kết cấu ban đầu. +lenum.autoscale = Có chia tá»· lệ Ä‘iểm đánh dấu tương ứng vá»›i mức thu phóng cá»§a ngưá»i chÆ¡i hay không. +lenum.posi = Vị trí theo chỉ số, dùng cho Ä‘iểm đánh dấu đưá»ng kẻ và tứ giác vá»›i 0 là vị trí đầu tiên. +lenum.uvi = Vị trí cá»§a kết cấu trong phạm vi từ 0 đến 1, dùng cho đánh dấu tứ giác. +lenum.colori = Màu theo chỉ số, dùng cho Ä‘iểm đánh dấu đưá»ng kẻ và tứ giác vá»›i 0 là màu đầu tiên. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/bundles/bundle_zh_CN.properties b/core/assets/bundles/bundle_zh_CN.properties index 4e5074ae4c..03e8d4b12f 100644 --- a/core/assets/bundles/bundle_zh_CN.properties +++ b/core/assets/bundles/bundle_zh_CN.properties @@ -3,28 +3,28 @@ credits = 致谢 contributors = 翻译者和贡献者 discord = 加入 Mindustry çš„ Discordï¼ link.discord.description = Mindustry 官方的 Discord èŠå¤©å®¤ -link.reddit.description = Mindustry çš„ reddit æ¿å— +link.reddit.description = Mindustry çš„ Reddit æ¿å— link.github.description = æ¸¸æˆæºä»£ç  link.changelog.description = 更新日志 link.dev-builds.description = ä¸ç¨³å®šçš„å¼€å‘版本 -link.trello.description = 官方列于 Trello 的功能计划表 +link.trello.description = 官方列于 Trello 的特性计划表 link.itch.io.description = itch.io 上的 PC 版下载 link.google-play.description = Google Play é¡µé¢ link.f-droid.description = F-Droid é¡µé¢ link.wiki.description = Mindustry 官方 Wiki link.suggestions.description = æå‡ºæ–°ç‰¹æ€§çš„建议 +link.bug.description = å‘现了 Bug ?在这里报告 +linkopen = 这个æœåС噍呿‚¨å‘é€äº†ä¸€æ¡é“¾æŽ¥ï¼Œä½ ç¡®å®šæƒ³è¦æ‰“开它å—?\n\n[sky]{0} linkfail = 打开链接失败ï¼\n网å€å·²å¤åˆ¶åˆ°æ‚¨çš„剪贴æ¿ã€‚ screenshot = å±å¹•截图已ä¿å­˜åˆ° {0} screenshot.invalid = 地图太大,å¯èƒ½æ²¡æœ‰è¶³å¤Ÿçš„内存用于截图。 gameover = 游æˆç»“æŸ gameover.disconnect = 断开连接 gameover.pvp = [accent] {0}[]é˜ŸèŽ·èƒœï¼ -gameover.waiting = [accent]正在更æ¢ä¸‹ä¸€å¼ åœ°å›¾... +gameover.waiting = [accent]正在更æ¢ä¸‹ä¸€å¼ åœ°å›¾â€¦ highscore = [accent]æ–°çºªå½•ï¼ copied = å·²å¤åˆ¶ -indev.popup = [accent]6.0[]ä»åœ¨[accent]测试版[].\n[lightgray]è¿™æ„味ç€:[]\n[scarlet]- 战役玩法完全没有完æˆ[]\n- 很多内容还没有åšå®Œ\n- 大多[scarlet]å•ä½AI[]无法正确地è¿è¡Œ\n- å•ä½ç³»ç»Ÿå®Œå…¨æ²¡æœ‰å®Œæˆ\n- 一切您所看到的内容都å¯èƒ½ä¼šç§»é™¤æˆ–调整。\n\n在[accent]Github[]æäº¤é”™è¯¯æŠ¥å‘Šã€‚ indev.notready = 这部分玩法还未开å‘完æˆã€‚ -indev.campaign = [accent]æ­å–œï¼æ‚¨å·²ç»åˆ°è¾¾æˆ˜å½¹æ¨¡å¼çš„结尾ï¼[]\n\n这是目å‰å†…容的全部。 未æ¥çš„æ›´æ–°ä¸­å°†æ·»åŠ è¡Œæ˜Ÿé™…æ—…è¡Œã€‚ load.sound = 音ä¹åŠ è½½ä¸­ load.map = 地图加载中 @@ -34,56 +34,81 @@ load.system = 系统加载中 load.mod = 模组加载中 load.scripts = 脚本加载中 -be.update = å‘çŽ°æ¸¸æˆæœ€æ–°ç‰ˆæœ¬: -be.update.confirm = 现在下载并é‡å¯æ¸¸æˆ? -be.updating = æ›´æ–°... +be.update = å‘çŽ°æ¸¸æˆæœ€æ–°BE版本: +be.update.confirm = 现在下载并é‡å¯æ¸¸æˆï¼Ÿ +be.updating = 更新中… be.ignore = 忽略 be.noupdates = 未å‘现更新。 be.check = 检测更新 +mods.browser = 模组æµè§ˆå™¨ +mods.browser.selected = 已选模组 +mods.browser.add = 安装 +mods.browser.reinstall = 釿–°å®‰è£… +mods.browser.view-releases = 查看版本 +mods.browser.noreleases = [scarlet]找ä¸åˆ°ä»»ä½•版本\n[accent]未能找到该模组有任何版本。请检查这个模组的github仓库是å¦å·²ç»å‘布了版本。 +mods.browser.latest = <最新> +mods.browser.releases = 版本 +mods.github.open = 查看 +mods.github.open-release = å‘å¸ƒé¡µé¢ +mods.browser.sortdate = æŒ‰æ—¶é—´æŽ’åº +mods.browser.sortstars = æŒ‰æ˜Ÿæ•°æŽ’åº + schematic = è“图 schematic.add = ä¿å­˜è“图… schematics = è“图 -schematic.replace = æ­¤åç§°çš„è“图已存在,是å¦è¦†ç›–? -schematic.exists = æ­¤åç§°çš„è“图已存在。 +schematic.search = 查找è“图中… +schematic.replace = 存在åŒåè“图,是å¦è¦†ç›–? +schematic.exists = 存在åŒåè“图。 schematic.import = 导入è“图… schematic.exportfile = 导出文件 -schematic.importfile = 导入è“图 +schematic.importfile = 从文件导入 schematic.browseworkshop = æµè§ˆåˆ›æ„å·¥åŠ -schematic.copy = å¤åˆ¶è“å›¾åˆ°å‰ªè´´æ¿ -schematic.copy.import = 从剪贴æ¿å¯¼å…¥è“图 -schematic.shareworkshop = 在创æ„å·¥åŠä¸Šåˆ†äº«è“图 +schematic.copy = å¤åˆ¶åˆ°å‰ªè´´æ¿ +schematic.copy.import = 从剪贴æ¿å¯¼å…¥ +schematic.shareworkshop = 在创æ„å·¥åŠä¸Šåˆ†äº« schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻转è“图 schematic.saved = è“图已ä¿å­˜ã€‚ -schematic.delete.confirm = 确认删除è“图? -schematic.rename = é‡å‘½åè“图 -schematic.info = {0}x{1},{2} ä¸ªæ–¹å— -schematic.disabled = [scarlet]è“图已ç¦ç”¨ï¼[]\n您ä¸èƒ½åœ¨æ­¤[accent]地图[]或[accent]æœåС噍[]上使用è“图. +schematic.delete.confirm = 确定删除è“图? +schematic.edit = Edit Schematic +schematic.info = {0}x{1},{2} 个建筑 +schematic.disabled = [scarlet]è“图已ç¦ç”¨ï¼[]\n您ä¸èƒ½åœ¨æ­¤[accent]地图[]或[accent]æœåС噍[]上使用è“图。 +schematic.tags = 标签: +schematic.edittags = 编辑标签 +schematic.addtag = 添加新标签 +schematic.texttag = 文字标签 +schematic.icontag = 图标标签 +schematic.renametag = é‡å‘½å标签 +schematic.tagged = {0} tagged +schematic.tagdelconfirm = 确定è¦å®Œå…¨åˆ é™¤è¿™ä¸ªæ ‡ç­¾å—? +schematic.tagexists = 此标签已ç»å­˜åœ¨ã€‚ stats = 统计资料 -stat.wave = 防守波数:[accent]{0} -stat.enemiesDestroyed = æ¶ˆç­æ•Œäººï¼š[accent]{0} -stat.built = 建造建筑:[accent]{0} -stat.destroyed = æ‘§æ¯å»ºç­‘:[accent]{0} -stat.deconstructed = 拆除建筑:[accent]{0} -stat.delivered = 装è¿èµ„æºï¼š -stat.playtime = 游玩时间:[accent] {0} -stat.rank = 最终评级:[accent]{0} +stats.wave = 防守波数 +stats.unitsCreated = 生产å•ä½ +stats.enemiesDestroyed = æ¶ˆç­æ•Œäºº +stats.built = 建造建筑 +stats.destroyed = æ‘§æ¯å»ºç­‘ +stats.deconstructed = 拆除建筑 +stats.playtime = 游玩时间 -globalitems = [accent]å…¨å±€ç‰©å“ -map.delete = 确定è¦åˆ é™¤â€œ[accent]{0}[]â€åœ°å›¾å—? +globalitems = [accent]è¡Œæ˜Ÿç‰©å“ +map.delete = 确定è¦åˆ é™¤åœ°å›¾â€œ[accent]{0}[]â€å—? level.highscore = 最高分:[accent]{0} level.select = é€‰æ‹©å…³å¡ level.mode = æ¸¸æˆæ¨¡å¼ï¼š -coreattack = < 核心正在å—到攻击ï¼> +coreattack = < 核心正在å—åˆ°æ”»å‡»ï¼ > nearpoint = [[ [scarlet]ç«‹å³ç¦»å¼€æ•Œäººå‡ºç”Ÿç‚¹[] ]\næ‘§æ¯åœ¨å³ database = 核心数æ®åº“ +database.button = æ•°æ®åº“ savegame = ä¿å­˜æ¸¸æˆ loadgame = è½½å…¥æ¸¸æˆ joingame = åŠ å…¥æ¸¸æˆ customgame = è‡ªå®šä¹‰æ¸¸æˆ newgame = æ–°æ¸¸æˆ none = <æ— > +none.found = [lightgray]<未å‘现> +none.inmap = [lightgray]<此地图中未å‘现> minimap = å°åœ°å›¾ position = ä½ç½® close = 关闭 @@ -101,200 +126,272 @@ preparingcontent = 正在准备内容 uploadingcontent = 正在上传内容 uploadingpreviewfile = 正在上传预览文件 committingchanges = 正在æäº¤æ›´æ”¹ -done = å·²å®Œæˆ -feature.unsupported = æ‚¨çš„è®¾å¤‡ä¸æ”¯æŒæ­¤åŠŸèƒ½ã€‚ +done = å®Œæˆ +feature.unsupported = æ‚¨çš„è®¾å¤‡ä¸æ”¯æŒæ­¤ç‰¹æ€§ã€‚ -mods.alphainfo = 请注æ„,测试版本中的模组[scarlet]很容易存在缺陷[]。\n在 Mindustry çš„ GitHub 或 Discord 上报告你å‘现的问题。 +mods.initfailed = [red]âš []Mindustry的上一次å¯åŠ¨å¤±è´¥äº†ï¼Œå¯èƒ½æ˜¯å¼‚常的模组导致的。 \n\n为了防止连续崩溃,[red]所有模组都被ç¦ç”¨äº†ã€‚[] mods = 模组 mods.none = [lightgray]æ²¡æœ‰æ‰¾åˆ°æ¨¡ç»„ï¼ mods.guide = 模组制作教程 mods.report = 报告 Bug mods.openfolder = 打开模组文件夹 -mods.reload = é‡è½½ -mods.reloadexit = 游æˆå°†é€€å‡ºä»¥é‡è½½æ¨¡ç»„。 -mod.display = [gray]模组:[orange] {0} +mods.viewcontent = 查看内容 +mods.reload = 釿–°åŠ è½½ +mods.reloadexit = 游æˆå°†é€€å‡ºä»¥é‡æ–°åŠ è½½æ¨¡ç»„ã€‚ +mod.installed = [[已安装] +mod.display = [gray]模组:[orange]{0} mod.enabled = [lightgray]å·²å¯ç”¨ -mod.disabled = [scarlet]å·²ç¦ç”¨ +mod.disabled = [scarlet]未å¯ç”¨ +mod.multiplayer.compatible = [gray]多人游æˆå…¼å®¹æ€§ mod.disable = ç¦ç”¨ +mod.version = Version: mod.content = 内容: -mod.delete.error = 无法删除模组。å¯èƒ½æ–‡ä»¶è¢«å ç”¨ã€‚ -mod.requiresversion = [scarlet]所需的游æˆç‰ˆæœ¬ï¼š[accent]{0} -mod.outdated = [scarlet]该模组å¯èƒ½ä¸èƒ½åœ¨6.0上正确地è¿è¡Œ(缺失 minGameVersion: 105) -mod.missingdependencies = [scarlet]缺少å‰ç½®æ¨¡ç»„:{0} +mod.delete.error = 无法删除模组。 文件å¯èƒ½æ­£è¢«å ç”¨ã€‚ + +mod.incompatiblegame = [red]游æˆç‰ˆæœ¬è¿‡ä½Ž +mod.incompatiblemod = [red]ä¸å…¼å®¹ +mod.blacklisted = [red]䏿”¯æŒ +mod.unmetdependencies = [red]缺少å‰ç½®æ¨¡ç»„ mod.erroredcontent = [scarlet]内容错误 -mod.errors = 读å–内容时å‘生错误. -mod.noerrorplay = [scarlet]你的模组å‘生了错误.[] ç¦ç”¨ç›¸å…³æ¨¡ç»„或修å¤é”™è¯¯åŽæ‰èƒ½è¿›å…¥æ¸¸æˆ. -mod.nowdisabled = [scarlet]“{0}â€æ¨¡ç»„缺少ä¾èµ–æ¡ä»¶ï¼š[accent] {1}\n[lightgray]需è¦å…ˆä¸‹è½½ä¸Šè¿°æ¨¡ç»„。\n此模组现在将自动ç¦ç”¨ã€‚ +mod.circulardependencies = [red]循环ä¾èµ– +mod.incompletedependencies = [red]缺失ä¾èµ– + +mod.requiresversion.details = 所需的最低游æˆç‰ˆæœ¬ï¼š[accent]{0}[]\n您的游æˆç‰ˆæœ¬è¿‡ä½Žã€‚ æ­¤æ¨¡ç»„éœ€è¦æ›´æ–°çš„æ¸¸æˆç‰ˆæœ¬ï¼ˆé€šå¸¸æ˜¯beta/alpha版本)æ‰èƒ½å·¥ä½œã€‚ +mod.outdatedv7.details = 此模组与最新版游æˆä¸å…¼å®¹ã€‚ 作者必须更新它,并在[accent]mod.json[]文件中写入[accent]minGameVersion: 136[]。 +mod.blacklisted.details = 此模组由于造æˆè¯¥ç‰ˆæœ¬æ¸¸æˆå´©æºƒæˆ–其他原因被手动ç¦ç”¨äº†ã€‚ ä¸è¦ä½¿ç”¨å®ƒã€‚ +mod.missingdependencies.details = 缺少å‰ç½®æ¨¡ç»„:{0} +mod.erroredcontent.details = 此模组在游æˆåŠ è½½æ—¶å‘生了错误。 请通知模组作者修å¤å®ƒã€‚ +mod.circulardependencies.details = 此模组与其他模组相互ä¾èµ–。 +mod.incompletedependencies.details = 由于ä¾èµ–项无效或缺失,此模组无法加载:{0}. +mod.requiresversion = éœ€è¦æ¸¸æˆç‰ˆæœ¬: [red]{0} + +mod.errors = 读å–内容时å‘生错误。 +mod.noerrorplay = [scarlet]您的模组å‘生了错误。 []ç¦ç”¨ç›¸å…³æ¨¡ç»„或修å¤é”™è¯¯åŽæ‰èƒ½è¿›å…¥æ¸¸æˆã€‚ +mod.nowdisabled = [scarlet]“{0}â€æ¨¡ç»„缺少ä¾èµ–的其他模组:[accent]{1}\n[lightgray]需è¦å…ˆä¸‹è½½ä¸Šè¿°æ¨¡ç»„。 \n此模组现在将被自动ç¦ç”¨ã€‚ mod.enable = å¯ç”¨ -mod.requiresrestart = 需è¦é‡å¯ä½¿æ¨¡ç»„生效。 +mod.requiresrestart = 游æˆå°†é€€å‡ºä»¥åº”用模组修改。 mod.reloadrequired = [scarlet]需è¦é‡å¯ mod.import = 导入模组 mod.import.file = 导入文件 mod.import.github = 从 GitHub 导入模组 -mod.jarwarn = [scarlet]JAR模组注定存在å±é™©æ€§ã€‚[]\nè¯·ç¡®ä¿æ­¤æ¨¡ç»„æ¥æºå®‰å…¨å¯é ï¼ -mod.item.remove = è¿™ä¸ªç‰©å“æ˜¯[accent] '{0}'[]模组的一部分. 删除物å“需è¦å…ˆå¸è½½æ­¤æ¨¡ç»„. +mod.jarwarn = [scarlet]JAR模组存在天然的å±é™©æ€§ã€‚ []\nè¯·ç¡®ä¿æ­¤æ¨¡ç»„æ¥æºå®‰å…¨å¯é ï¼ +mod.item.remove = è¿™ä¸ªç‰©å“æ˜¯[accent]'{0}'[]模组的一部分。 å¸è½½è¯¥æ¨¡ç»„å³å¯åˆ é™¤æ­¤ç‰©å“。 mod.remove.confirm = 此模组将被删除。 -mod.author = [lightgray]作者:[] {0} -mod.missing = æ­¤å­˜æ¡£åŒ…å«æ‚¨æœ€è¿‘已更新或者现在未安装的模组。存档å¯èƒ½ä¼šæŸå。确定è¦åŠ è½½å®ƒå—?\n[lightgray]模组:\n{0} -mod.preview.missing = 在创æ„å·¥åŠä¸­å‘布此模组å‰ï¼Œæ‚¨å¿…须添加一则预览图åƒã€‚\n请将å为[accent] preview.png[] çš„å›¾åƒæ”¾å…¥æ¨¡ç»„文件夹,然åŽé‡è¯•。 -mod.folder.missing = åªæœ‰æ–‡ä»¶å¤¹å½¢å¼çš„æ¨¡ç»„能在创æ„å·¥åŠä¸Šå‘布。\nè‹¥è¦å°†ä»»ä½•模组转æ¢ä¸ºæ–‡ä»¶å¤¹ï¼Œåªéœ€å°†å…¶æ–‡ä»¶è§£åŽ‹ç¼©åˆ°æ–‡ä»¶å¤¹ä¸­å¹¶åˆ é™¤æ—§åŽ‹ç¼©åŒ…ï¼Œç„¶åŽé‡æ–°å¯åŠ¨æ¸¸æˆæˆ–釿–°åŠ è½½æ¨¡ç»„ã€‚ -mod.scripts.disable = æ‚¨çš„è®¾å¤‡ä¸æ”¯æŒå«æœ‰è„šæœ¬çš„æ¨¡ç»„ã€‚å¿…é¡»ç¦ç”¨ç›¸å…³æ¨¡ç»„以进入游æˆã€‚ +mod.author = [lightgray]作者:[]{0} +mod.missing = æ­¤å­˜æ¡£åŒ…å«æ‚¨æœ€è¿‘更新或者尚未安装的模组,加载å¯èƒ½ä¼šå¯¼è‡´å­˜æ¡£æŸå。 确定è¦åŠ è½½å—?\n[lightgray]模组:\n{0} +mod.preview.missing = 在创æ„å·¥åŠä¸­å‘布此模组å‰ï¼Œæ‚¨å¿…须添加一张预览图片。 \n请将å为[accent]preview.png[]的图片放入模组文件夹,然åŽé‡è¯•。 +mod.folder.missing = åªæœ‰æ–‡ä»¶å¤¹å½¢å¼çš„æ¨¡ç»„能在创æ„å·¥åŠä¸Šå‘布。 \nè¦å°†æ¨¡ç»„转æ¢ä¸ºæ–‡ä»¶å¤¹ï¼Œåªéœ€å°†å…¶æ–‡ä»¶è§£åŽ‹ç¼©åˆ°æ–‡ä»¶å¤¹ä¸­å¹¶åˆ é™¤åŽ‹ç¼©åŒ…ï¼Œç„¶åŽé‡æ–°å¯åŠ¨æ¸¸æˆæˆ–釿–°åŠ è½½æ¨¡ç»„ã€‚ +mod.scripts.disable = æ‚¨çš„è®¾å¤‡ä¸æ”¯æŒå«æœ‰è„šæœ¬çš„æ¨¡ç»„ï¼Œå¿…é¡»ç¦ç”¨ç›¸å…³æ¨¡ç»„æ‰èƒ½è¿›å…¥æ¸¸æˆã€‚ about.button = 关于 name = å字: -noname = å…ˆå–一个[accent]玩家å[]。 +noname = å…ˆå–一个[accent]玩家åç§°[]。 +search = æœç´¢: planetmap = 行星地图 launchcore = å‘射核心 filename = 文件å: unlocked = è§£é”äº†æ–°å†…å®¹ï¼ +available = å¯ç ”ç©¶æ–°ç§‘æŠ€ï¼ +unlock.incampaign = < 在战役中解é”以显示详情 > +campaign.select = 选择战役出å‘点 +campaign.none = [lightgray]选择åˆå§‹æ˜Ÿçƒã€‚\nå¯ä»¥åœ¨ä»»æ„时刻切æ¢ã€‚ +campaign.erekir = 更新,更精致的内容。 战役大部分是线性的。\n\n难度更高,但地图质é‡ä¸Žæ•´ä½“体验也更好。 +campaign.serpulo = 较旧的内容; ç»å…¸çš„体验。 更加开放,且内容更丰富。\n\n地图与战役机制å¯èƒ½ä¸å¹³è¡¡ã€‚ æ›´ä¸å®Œç¾Žã€‚ +campaign.difficulty = Difficulty completed = [accent]己研究 techtree = 科技树 +techtree.select = 切æ¢ç§‘技树 +techtree.serpulo = 塞普罗 +techtree.erekir = 埃里克尔 +research.load = 加载 +research.discard = 丢弃 research.list = [lightgray]研究: research = 研究 researched = [lightgray]{0}己研究。 -research.progress = {0}% 完æˆåº¦ -players = {0} ä½çŽ©å®¶åœ¨çº¿ -players.single = {0} ä½çŽ©å®¶åœ¨çº¿ -players.search = 研究 +research.progress = {0}%完æˆåº¦ +players = {0}å玩家在线 +players.single = {0}å玩家在线 +players.search = æœç´¢ players.notfound = [gray]没有找到玩家。 -server.closing = [accent]æœåŠ¡å™¨å…³é—­â€¦ -server.kicked.kick = 你被踢出了æœåŠ¡å™¨ã€‚ -server.kicked.whitelist = ä½ ä¸åœ¨æœåŠ¡å™¨ç™½åå•中。 +server.closing = [accent]关闭æœåŠ¡å™¨â€¦ +server.kicked.kick = 您被踢出了æœåŠ¡å™¨ã€‚ +server.kicked.whitelist = 您ä¸åœ¨æœåŠ¡å™¨çš„ç™½åå•中。 server.kicked.serverClose = æœåŠ¡å™¨å·²å…³é—­ã€‚ server.kicked.vote = 您被投票踢出了æœåŠ¡å™¨ã€‚ -server.kicked.clientOutdated = 客户端过旧,请更新你的游æˆã€‚ -server.kicked.serverOutdated = æœåŠ¡å™¨è¿‡æ—§ï¼Œè¯·è”ç³»æœåŠ¡å™¨ç®¡ç†å‘˜å‡çº§æœåŠ¡å™¨ã€‚ +server.kicked.clientOutdated = 客户端版本过低,请更新您的游æˆã€‚ +server.kicked.serverOutdated = æœåŠ¡å™¨ç‰ˆæœ¬è¿‡ä½Žï¼Œè¯·è”ç³»æœåŠ¡å™¨ç®¡ç†å‘˜å‡çº§æœåŠ¡å™¨ã€‚ server.kicked.banned = 您在这个æœåŠ¡å™¨ä¸Šè¢«å°ç¦äº†ã€‚ -server.kicked.typeMismatch = æ­¤æœåŠ¡å™¨ä¸Žä½ çš„ä¸ç¨³å®šæµ‹è¯•版ä¸å…¼å®¹ã€‚ +server.kicked.typeMismatch = æ­¤æœåŠ¡å™¨ä¸Žæ‚¨çš„ä¸ç¨³å®šæµ‹è¯•版ä¸å…¼å®¹ã€‚ server.kicked.playerLimit = æœåŠ¡å™¨å·²æ»¡ï¼Œè¯·ç­‰å¾…ä¸€ä¸ªç©ºä½ã€‚ -server.kicked.recentKick = 你刚刚被踢出æœåŠ¡å™¨ã€‚\n请ç¨åŽé‡æ–°è¿žæŽ¥ï¼ -server.kicked.nameInUse = 您的å字与æœåŠ¡å™¨ä¸­çš„ä¸€ä¸ªäººé‡å¤äº†ã€‚ -server.kicked.nameEmpty = 无效的åå­—ï¼ -server.kicked.idInUse = 您已ç»è¿žæŽ¥äº†è¿™ä¸ªæœåС噍ï¼ä¸å…许在一å°è®¾å¤‡ä¸Šç”¨ä¸¤ä¸ªå®¢æˆ·ç«¯è¿žæŽ¥ã€‚ -server.kicked.customClient = 这个æœåС噍䏿”¯æŒè‡ªå®šä¹‰å®¢æˆ·ç«¯ã€‚请下载官方版本。 +server.kicked.recentKick = 您最近被踢出过æœåŠ¡å™¨ã€‚ \n请ç¨åŽé‡æ–°è¿žæŽ¥ï¼ +server.kicked.nameInUse = æœåŠ¡å™¨ä¸­æœ‰äººä¸Žæ‚¨é‡å了。 +server.kicked.nameEmpty = 玩家å称无效。 +server.kicked.idInUse = 您已ç»è¿žæŽ¥äº†è¿™ä¸ªæœåС噍ï¼ä¸å…许é‡å¤è¿žæŽ¥ã€‚ +server.kicked.customClient = 这个æœåС噍䏿”¯æŒè‡ªè¡Œç¼–译的客户端。 请下载官方版本。 server.kicked.gameover = 游æˆç»“æŸï¼ -server.kicked.serverRestarting = æœåŠ¡å™¨æ­£åœ¨é‡å¯. -server.versions = 客户端版本:[accent] {0}[]\næœåŠ¡å™¨ç‰ˆæœ¬ï¼š[accent] {1}[] -host.info = [accent]创建局域网游æˆ[]按钮会在[scarlet] 6567 []端å£è¿è¡Œä¸€ä¸ªæœåŠ¡å™¨ã€‚[]\n任何在åŒä¸€ä¸ª[lightgray] Wi-Fi 或本地网络[]下的人应该都å¯ä»¥åœ¨æœåŠ¡å™¨åˆ—è¡¨ä¸­çœ‹åˆ°ä½ çš„æœåŠ¡å™¨ã€‚\n\n如果你想让别人在任何地方都能通过 IP 地å€è¿žæŽ¥ï¼Œä½ éœ€è¦è®¾å®š[accent]端å£è½¬å‘[]。\n\n[lightgray]注æ„:如果æŸäººæ— æ³•连接到你的局域网游æˆï¼Œè¯·ç¡®ä¿ä½ åœ¨é˜²ç«å¢™è®¾ç½®é‡Œå…许了 Mindustry 访问本地网络。 -join.info = 您å¯ä»¥è¾“å…¥[accent]æœåŠ¡å™¨çš„ IP 地å€[]æ¥è¿žæŽ¥ï¼Œæˆ–寻找[accent]本地网络[]中的æœåС噍æ¥è¿žæŽ¥ã€‚\n支æŒå±€åŸŸç½‘或广域网的多人游æˆã€‚\n\n[lightgray]注æ„ï¼šæ²¡æœ‰å…¨çƒæœåŠ¡å™¨åˆ—è¡¨ï¼›å¦‚æžœä½ æƒ³é€šè¿‡ IP 地å€è¿žæŽ¥æŸä¸ªæœåŠ¡å™¨ï¼Œä½ éœ€è¦å‘æœä¸»è¯¢é—® IP 地å€ã€‚ -hostserver = 创建æœåС噍 -invitefriends = é‚€è¯·æœ‹å‹ -hostserver.mobile = 创建\næœåС噍 +server.kicked.serverRestarting = æœåŠ¡å™¨æ­£åœ¨é‡å¯ã€‚ +server.versions = 客户端版本:[accent]{0}[]\næœåŠ¡å™¨ç‰ˆæœ¬ï¼š[accent]{1}[] +host.info = [accent]创建[]按钮会在[scarlet]6567 []端å£å¯åŠ¨ä¸€ä¸ªæœåŠ¡å™¨ã€‚ []\nåŒä¸€ä¸ª[lightgray]Wi-Fi或局域网[]下的玩家,在æœåŠ¡å™¨åˆ—è¡¨ä¸­éƒ½åº”è¯¥èƒ½çœ‹åˆ°æ‚¨çš„æœåŠ¡å™¨ã€‚ \n\n如果您想让别人从任何地方通过IP地å€è¿žæŽ¥ï¼Œéœ€è¦è®¾å®š[accent]端å£è½¬å‘[]。 \n\n[lightgray]注æ„:如果æŸäººæ— æ³•连接到您的局域网游æˆï¼Œè¯·ç¡®ä¿åœ¨é˜²ç«å¢™é‡Œè®¾ç½®äº†å…许Mindustry访问本地网络。 注æ„公有网络有时å¯èƒ½ä¸å…许æœåС噍å‘现。 +join.info = 您å¯ä»¥è¾“å…¥[accent]æœåŠ¡å™¨çš„IP地å€[],也å¯ä»¥å¯»æ‰¾[accent]局域网[]或[accent]全局[]中的æœåС噍æ¥è¿žæŽ¥ã€‚ \n支æŒå±€åŸŸç½‘或广域网的多人游æˆã€‚ \n\n[lightgray]如果您想通过IP地å€è¿žæŽ¥æŸä¸ªæœåŠ¡å™¨ï¼Œéœ€è¦å‘æœåŠ¡å™¨å»ºç«‹è€…è¯¢é—®ä»–çš„IP地å€ã€‚ å¯ä»¥åœ¨æœåŠ¡å™¨æ‰€åœ¨çš„è®¾å¤‡ä¸Šç™¾åº¦â€œIP地å€â€æ¥èŽ·å–。 +hostserver = åˆ›å»ºå¤šäººæ¸¸æˆ +invitefriends = é‚€è¯·å¥½å‹ +hostserver.mobile = åˆ›å»ºå¤šäººæ¸¸æˆ host = 创建 -hosting = [accent]æ­£åœ¨å¼€å¯æœåŠ¡å™¨â€¦ +hosting = [accent]正在å¯åЍæœåŠ¡å™¨â€¦ hosts.refresh = 刷新 hosts.discovering = 正在æœç´¢å±€åŸŸç½‘æœåС噍 hosts.discovering.any = 正在æœç´¢æœåС噍 server.refreshing = 正在刷新æœåС噍 -hosts.none = [lightgray]未å‘现局域网游æˆï¼ +hosts.none = [lightgray]未å‘现局域网æœåŠ¡å™¨ï¼ host.invalid = [scarlet]无法连接æœåŠ¡å™¨ã€‚ servers.local = 本地æœåС噍 +servers.local.steam = 公开游æˆä¸Žæœ¬åœ°æœåС噍 servers.remote = 远程æœåС噍 -servers.global = å…¨çƒæœåС噍 +servers.global = 社区æœåС噍 +servers.disclaimer = 社区æœåС噍[accent]å¹¶éž[]由开å‘者拥有或管ç†ã€‚ \n\n其中å¯èƒ½æœ‰å…¶ä»–玩家制作的,ä¸é€‚åˆæ‰€æœ‰å¹´é¾„段的内容。 servers.showhidden = 显示éšè—çš„æœåС噍 server.shown = 显示 server.hidden = éšè— +viewplayer = 查看玩家: [accent]{0} trace = 跟踪玩家 trace.playername = 玩家å称:[accent]{0} -trace.ip = IP 地å€ï¼š[accent]{0} -trace.id = 唯一的 ID:[accent]{0} +trace.ip = IP地å€ï¼š[accent]{0} +trace.id = 玩家 ID:[accent]{0} +trace.language = 语言: [accent]{0} trace.mobile = 移动客户端:[accent]{0} trace.modclient = 自定义客户端:[accent]{0} -invalidid = 无效的客户端 IDï¼æäº¤ä¸€ä¸ªé”™è¯¯æŠ¥å‘Šã€‚ +trace.times.joined = 进入æœåŠ¡å™¨æ¬¡æ•°: [accent]{0} +trace.times.kicked = 踢出æœåŠ¡å™¨æ¬¡æ•°: [accent]{0} +trace.ips = 曾用IP: +trace.names = 曾用å: +invalidid = 无效的客户端IDï¼æäº¤ä¸€ä¸ªé”™è¯¯æŠ¥å‘Šã€‚ +player.ban = å°ç¦ +player.kick = 踢出 +player.trace = 追朔 +player.admin = 切æ¢ç®¡ç†å‘˜ +player.team = 改å˜é˜Ÿä¼ server.bans = 黑åå• server.bans.none = 没有被å°ç¦çš„çŽ©å®¶ï¼ server.admins = 管ç†å‘˜ -server.admins.none = 该æœåŠ¡å™¨æ²¡æœ‰ç®¡ç†å‘˜ï¼ +server.admins.none = 没有管ç†å‘˜ï¼ server.add = 添加æœåС噍 server.delete = 您确定è¦åˆ é™¤è¿™ä¸ªæœåС噍å—? server.edit = 编辑æœåС噍 -server.outdated = [crimson]æœåŠ¡å™¨è¿‡æ—§ï¼[] -server.outdated.client = [crimson]客户端过旧ï¼[] -server.version = [lightgray]版本:{0} {1} -server.custombuild = [accent]自定义 -confirmban = 确认å°ç¦è¿™å玩家? -confirmkick = 确定踢出这å玩家? -confirmvotekick = 确定投票踢出这å玩家? -confirmunban = ç¡®å®šå–æ¶ˆå°ç¦è¿™å玩家? -confirmadmin = 确定给予这å玩家管ç†å‘˜æƒé™ï¼Ÿ -confirmunadmin = ç¡®å®šå–æ¶ˆè¿™å玩家的管ç†å‘˜æƒé™ï¼Ÿ +server.outdated = [scarlet]æœåŠ¡å™¨ç‰ˆæœ¬è¿‡ä½Žï¼[] +server.outdated.client = [scarlet]客户端版本过低ï¼[] +server.version = [gray]版本:{0} {1} +server.custombuild = [accent]自行编译 +confirmban = 确定å°ç¦çŽ©å®¶â€œ{0}[white]â€ï¼Ÿ +confirmkick = 确定踢出玩家“{0}[white]â€ï¼Ÿ +confirmunban = 确定解å°è¿™å玩家? +confirmadmin = 确定给予玩家“{0}[white]â€ç®¡ç†å‘˜æƒé™ï¼Ÿ +confirmunadmin = 确定收回玩家“{0}[white]â€çš„管ç†å‘˜æƒé™ï¼Ÿ +votekick.reason = 投票踢出ç†ç”± +votekick.reason.message = 确定投票踢出玩家"{0}[white]"?\n如果是,请输入ç†ç”±ï¼š joingame.title = åŠ å…¥æ¸¸æˆ joingame.ip = 地å€ï¼š -disconnect = 已断开 +disconnect = 已断开连接 disconnect.error = 连接错误。 disconnect.closed = 连接关闭。 disconnect.timeout = 连接超时。 -disconnect.data = è¯»å–æœåŠ¡å™¨æ•°æ®å¤±è´¥ï¼ -cantconnect = 无法加入([accent]{0}[])。 +disconnect.data = åœ°å›¾åŠ è½½å¤±è´¥ï¼ +disconnect.snapshottimeout = 接收 UDP 快照时超时。\nè¿™å¯èƒ½æ˜¯ç”±ä¸ç¨³å®šçš„网络或连接引起的。 +cantconnect = 无法加入游æˆï¼ˆ[accent]{0}[])。 connecting = [accent]连接中… -connecting.data = [accent]加载中… +reconnecting = [accent]釿–°è¿žæŽ¥ä¸­â€¦ +connecting.data = [accent]地图加载中… server.port = 端å£ï¼š -server.addressinuse = 地å€å·²åœ¨ä½¿ç”¨ï¼ server.invalidport = 无效的端å£ï¼ -server.error = [crimson]创建æœåŠ¡å™¨é”™è¯¯ï¼š[accent]{0} +server.error.addressinuse = [scarlet]æ— æ³•åœ¨ç«¯å£ 6567 上打开æœåŠ¡å™¨ã€‚[]\n\nç¡®ä¿æ‚¨çš„设备或网络上没有其他 Mindustry æœåŠ¡å™¨æ­£åœ¨è¿è¡Œï¼ +server.error = [scarlet]创建æœåŠ¡å™¨é”™è¯¯ã€‚ save.new = 新存档 -save.overwrite = 您确定è¦è¦†ç›–这个存档å—? +save.overwrite = 确定è¦è¦†ç›–这个存档å—? +save.nocampaign = 无法导入战役中的å•个ä¿å­˜æ–‡ä»¶ã€‚ overwrite = 覆盖 save.none = æ²¡æœ‰æ‰¾åˆ°å­˜æ¡£ï¼ savefail = ä¿å­˜å¤±è´¥ï¼ -save.delete.confirm = 您确定è¦åˆ é™¤è¿™ä¸ªå­˜æ¡£å—? +save.delete.confirm = 确定è¦åˆ é™¤è¿™ä¸ªå­˜æ¡£å—? save.delete = 删除 save.export = 导出存档 -save.import.invalid = [accent]æ­¤å­˜æ¡£æ— æ•ˆï¼ -save.import.fail = [crimson]导入存档失败:[accent]{0} -save.export.fail = [crimson]导出存档失败:[accent]{0} +save.import.invalid = [accent]å­˜æ¡£æ— æ•ˆï¼ +save.import.fail = [scarlet]导入存档失败:[accent]{0} +save.export.fail = [scarlet]导出存档失败:[accent]{0} save.import = 导入存档 -save.newslot = ä¿å­˜çš„å称: +save.newslot = 存档å称: save.rename = é‡å‘½å save.rename.text = æ–°å称: selectslot = 选择一个存档。 -slot = [accent]å­˜æ¡£ä½ {0} +slot = [accent]存档ä½{0} editmessage = ç¼–è¾‘æ¶ˆæ¯ -save.corrupted = [accent]存档æŸå或无效ï¼\n如果您刚刚å‡çº§äº†æ¸¸æˆï¼Œé‚£ä¹ˆè¿™å¯èƒ½æ˜¯å› ä¸ºå­˜æ¡£æ ¼å¼æ”¹å˜äº†ï¼Œè€Œ[scarlet]䏿˜¯[] bug 。 +save.corrupted = 存档æŸåæˆ–æ— æ•ˆï¼ empty = < 空 > on = å¼€ off = å…³ +save.search = æœç´¢å·²ä¿å­˜çš„æ¸¸æˆâ€¦ save.autosave = 自动ä¿å­˜ï¼š{0} save.map = 地图:{0} save.wave = 波次:{0} -save.mode = 模å¼ï¼š{0} +save.mode = æ¸¸æˆæ¨¡å¼ï¼š{0} save.date = 最åŽä¿å­˜ï¼š{0} save.playtime = æ¸¸æˆæ—¶é—´ï¼š{0} warning = è­¦å‘Šï¼ -confirm = 确认 +confirm = 确定 delete = 删除 view.workshop = æµè§ˆåˆ›æ„å·¥åŠ workshop.listing = 编辑创æ„å·¥åŠç›®å½• ok = 确定 open = 打开 -customize = 自定义 +customize = 自定义规则 cancel = å–æ¶ˆ +command = 指挥 +command.queue = [lightgray][排队中] +command.mine = 挖矿 +command.repair = ç»´ä¿® +command.rebuild = é‡å»º +command.assist = å助建造 +command.move = 移动 +command.boost = 助推 +command.enterPayload = 进入载è·å»ºç­‘ +command.loadUnits = 拾å–å•ä½ +command.loadBlocks = 拾å–建筑 +command.unloadPayload = å¸è½½è½½è· +command.loopPayload = Loop Unit Transfer +stance.stop = å–æ¶ˆæŒ‡ä»¤ +stance.shoot = å§¿æ€: 射击 +stance.holdfire = å§¿æ€: åœç« +stance.pursuetarget = å§¿æ€: 追é€ç›®æ ‡ +stance.patrol = å§¿æ€: 路径巡逻 +stance.ram = å§¿æ€: 冲锋\n[lightgray]径直移动,ä¸è¿›è¡Œå¯»è·¯ã€‚ openlink = 打开链接 copylink = å¤åˆ¶é“¾æŽ¥ back = 返回 +max = 最大值 +objective = 任务目标 crash.export = 导出崩溃日志 -crash.none = 找ä¸åˆ°å´©æºƒæ—¥å¿—。 +crash.none = 未找到崩溃日志。 crash.exported = 崩溃日志已导出。 data.export = å¯¼å‡ºæ•°æ® data.import = å¯¼å…¥æ•°æ® data.openfolder = æ‰“å¼€æ•°æ®æ–‡ä»¶å¤¹ data.exported = æ•°æ®å·²å¯¼å‡ºã€‚ -data.invalid = éžæœ‰æ•ˆæ¸¸æˆæ•°æ®ã€‚ -data.import.confirm = å¯¼å…¥å¤–éƒ¨æ¸¸æˆæ•°æ®å°†è¦†ç›–本地[scarlet]全部[]çš„æ¸¸æˆæ•°æ®ã€‚\n[accent]æ­¤æ“作无法撤销ï¼[]\n\næ•°æ®å¯¼å…¥åŽå°†è‡ªåŠ¨é€€å‡ºæ¸¸æˆã€‚ +data.invalid = æ¸¸æˆæ•°æ®æ— æ•ˆã€‚ +data.import.confirm = å¯¼å…¥å¤–éƒ¨æ¸¸æˆæ•°æ®å°†è¦†ç›–本地[scarlet]全部[]çš„æ¸¸æˆæ•°æ®ã€‚ \n[accent]æ­¤æ“作无法撤销ï¼[]\n\næ•°æ®å¯¼å…¥åŽå°†è‡ªåŠ¨é€€å‡ºæ¸¸æˆã€‚ quit.confirm = 确定退出? -quit.confirm.tutorial = 确定è¦è·³è¿‡æ•™ç¨‹ï¼Ÿ\n您å¯ä»¥é€šè¿‡[accent]设置->游æˆ->é‡çŽ©æ•™ç¨‹[]æ¥é‡çŽ©æ•™ç¨‹ã€‚ loading = [accent]加载中… -reloading = [accent]é‡è½½æ¨¡ç»„中… +downloading = [accent]下载中… saving = [accent]ä¿å­˜ä¸­â€¦ -respawn = [accent][[{0}][]æ¥é‡ç”Ÿ -cancelbuilding = [accent][[{0}][]æ¥æ¸…除规划 -selectschematic = [accent][[{0}][]æ¥é€‰æ‹©å¤åˆ¶ -pausebuilding = [accent][[{0}][]æ¥æš‚åœå»ºé€  -resumebuilding = [scarlet][[{0}][]æ¥æ¢å¤å»ºé€  -showui = UIå·²éšè—\n按[accent][[{0}][]显示UI +respawn = 按[accent][[{0}][]é”®é‡ç”Ÿ +cancelbuilding = 按[accent][[{0}][]键清除规划 +selectschematic = 按ä½[accent][[{0}][]键选择å¤åˆ¶ +pausebuilding = 按[accent][[{0}][]键暂åœå»ºé€  +resumebuilding = 按[scarlet][[{0}][]é”®æ¢å¤å»ºé€  +enablebuilding = 按[scarlet][[{0}][]é”®å¯ç”¨å»ºé€  +showui = UIå·²éšè—\n按[accent][[{0}][]键显示UI +commandmode.name = [accent]æŒ‡æŒ¥æ¨¡å¼ +commandmode.nounits = [æ— å•ä½] wave = [accent]第{0}æ³¢ wave.cap = [accent]波次 {0}/{1} wave.waiting = [lightgray]下一波倒计时:{0}ç§’ @@ -302,8 +399,8 @@ wave.waveInProgress = [lightgray]æ³¢æ¬¡è¢­æ¥ waiting = [lightgray]等待中… waiting.players = 等待玩家中… wave.enemies = [lightgray]剩余 {0} 个敌人 -wave.enemycores = [accent]{0}[lightgray] 敌人核心 -wave.enemycore = [accent]{0}[lightgray] 敌人核心 +wave.enemycores = [accent]{0}[lightgray] 敌方核心 +wave.enemycore = [accent]{0}[lightgray] 敌方核心 wave.enemy = [lightgray]剩余 {0} 个敌人 wave.guardianwarn = Boss 将在[accent]{0}[]æ³¢åŽåˆ°æ¥ã€‚ wave.guardianwarn.one = Boss 将在[accent]{0}[]æ³¢åŽåˆ°æ¥ã€‚ @@ -311,258 +408,412 @@ loadimage = 加载图片 saveimage = ä¿å­˜å›¾ç‰‡ unknown = 未知 custom = 自定义 -builtin = 内置的 -map.delete.confirm = 您确定你想è¦åˆ é™¤è¿™å¼ åœ°å›¾å—?这个æ“ä½œæ— æ³•æ’¤é”€ï¼ +builtin = 内置 +map.delete.confirm = 您确定è¦åˆ é™¤è¿™å¼ åœ°å›¾å—?这个æ“ä½œæ— æ³•æ’¤é”€ï¼ map.random = [accent]éšæœºåœ°å›¾ -map.nospawn = 这个地图没有核心ï¼è¯·åœ¨ç¼–辑器中添加一个[royal]己方[]的核心。 -map.nospawn.pvp = 这个地图没有敌人的核心ï¼è¯·åœ¨ç¼–辑器中添加一个[royal]敌人[]的核心。 -map.nospawn.attack = 这个地图没有敌人的核心ï¼è¯·åœ¨ç¼–辑中å‘地图添加一个[scarlet]敌人[]的核心。 +map.nospawn = 这个地图缺少己方核心ï¼è¯·åœ¨åœ°å›¾ç¼–辑器中添加一个{0}队的核心。 +map.nospawn.pvp = 这个地图缺少对方核心ï¼è¯·åœ¨åœ°å›¾ç¼–辑器中添加一个[scarlet]除黄队以外[]的核心。 +map.nospawn.attack = 这个地图缺少敌方核心ï¼è¯·åœ¨åœ°å›¾ç¼–辑器中添加一个{0}队的核心。 map.invalid = 地图载入错误:地图文件å¯èƒ½å·²ç»æŸå。 -workshop.update = 更新地图 +workshop.update = 更新内容 workshop.error = 获å–创æ„å·¥åŠè¯¦ç»†ä¿¡æ¯æ—¶å‡ºé”™ï¼š{0} -map.publish.confirm = 确定上传此地图?\n\n[lightgray]ç¡®å®šä½ åŒæ„ Steam 创æ„å·¥åŠçš„æœ€ç»ˆç”¨æˆ·è®¸å¯å议,å¦åˆ™ä½ çš„地图将ä¸ä¼šè¢«å±•ç¤ºï¼ -workshop.menu = 选择此项目的目的。 +map.publish.confirm = 确定上传此地图?\n\n[lightgray]ç¡®å®šæ‚¨åŒæ„Steam创æ„å·¥åŠçš„æœ€ç»ˆç”¨æˆ·è®¸å¯å议,å¦åˆ™æ‚¨çš„åœ°å›¾å°†æ— æ³•å±•ç¤ºï¼ +workshop.menu = 选择è¦å¯¹æ­¤é¡¹ç›®è¿›è¡Œçš„æ“ä½œã€‚ workshop.info = é¡¹ç›®ä¿¡æ¯ changelog = 更新日志(å¯é€‰ï¼‰ï¼š -eula = Steam 最终用户许å¯åè®® -missing = 此项目已被删除或转移。\n[lightgray]链接已在创æ„å·¥åŠä¸­è¢«åˆ é™¤ã€‚ -publishing = [accent]正在å‘布... -publish.confirm = 确定å‘布?\n\n[lightgray]请确认您已ç»åŒæ„创æ„å·¥åŠçš„æœ€ç»ˆç”¨æˆ·è®¸å¯å议,å¦åˆ™æ‚¨çš„项目ä¸ä¼šå±•ç¤ºï¼ -publish.error = å‘布项目出错:{0} -steam.error = åˆå§‹åŒ– Steam æœåŠ¡å¤±è´¥ã€‚\n错误:{0} +updatedesc = 覆盖标题和æè¿° +eula = Steam最终用户许å¯åè®® +missing = 此项目已被删除或转移。 \n[lightgray]链接已在创æ„å·¥åŠä¸­è¢«åˆ é™¤ã€‚ +publishing = [accent]正在å‘布… +publish.confirm = 确定å‘布?\n\n[lightgray]è¯·ç¡®è®¤æ‚¨åŒæ„创æ„å·¥åŠçš„æœ€ç»ˆç”¨æˆ·è®¸å¯å议,å¦åˆ™æ‚¨çš„é¡¹ç›®æ— æ³•å±•ç¤ºï¼ +publish.error = å‘布项目时出错:{0} +steam.error = åˆå§‹åŒ–SteamæœåŠ¡å¤±è´¥ã€‚ \n错误:{0} -editor.brush = 笔刷 -editor.openin = 在编辑器中打开 -editor.oregen = çŸ¿çŸ³çš„ç”Ÿæˆ -editor.oregen.info = 矿石的生æˆï¼š +editor.planet = 星çƒ: +editor.sector = 区å—: +editor.seed = ç§å­: +editor.cliffs = 所有墙å£\n替æ¢ä¸ºæ‚¬å´– +editor.brush = ç¬”è§¦å¤§å° +editor.openin = 用地图编辑器打开 +editor.oregen = çŸ¿è„‰çš„ç”Ÿæˆ +editor.oregen.info = 矿脉的生æˆï¼š editor.mapinfo = åœ°å›¾ä¿¡æ¯ editor.author = 作者: editor.description = æè¿°ï¼š -editor.nodescription = 地图å‘布å‰ï¼Œæè¿°ä¸å¾—少于4个字符。 -editor.waves = 波数: -editor.rules = 规则: -editor.generation = 筛选器: +editor.nodescription = 地图需è¦è‡³å°‘4个字符的æè¿°æ‰èƒ½å‘布。 +editor.waves = 波次 +editor.rules = 规则 +editor.generation = ç”Ÿæˆ +editor.objectives = 目标 +editor.locales = 本地化语言包 +editor.worldprocessors = 世界处ç†å™¨ +editor.worldprocessors.editname = 命å +editor.worldprocessors.none = [lightgray]未找到世界处ç†å™¨ï¼\n请在地图编辑器中添加或使用下方的\ue813 添加按钮。 +editor.worldprocessors.nospace = 没有足够空间放置世界处ç†å™¨ï¼\n您是å¦åœ¨åœ°å›¾ä¸Šå¸ƒæ»¡äº†å»ºç­‘?为什么è¦è¿™æ ·åšï¼Ÿ +editor.worldprocessors.delete.confirm = 你确定è¦åˆ é™¤è¿™ä¸ªä¸–界处ç†å™¨å—?\n\n如果其周围有环境墙体,将由环境墙体å–代。 editor.ingame = 游æˆå†…编辑 +editor.playtest = 游æˆå†…测试 editor.publish.workshop = 上传到创æ„å·¥åŠ editor.newmap = 新地图 editor.center = 居中 +editor.search = æœç´¢åœ°å›¾â€¦ +editor.filters = 筛选地图 +editor.filters.mode = æ¸¸æˆæ¨¡å¼ï¼š +editor.filters.type = 地图类型: +editor.filters.search = 在特定关键è¯ä¸­è¿›è¡Œæœç´¢ï¼š +editor.filters.author = 作者 +editor.filters.description = æè¿° +editor.shiftx = x轴平移 +editor.shifty = y轴平移 workshop = 创æ„å·¥åŠ -waves.title = 波数 +waves.title = 波次 waves.remove = 移除 -waves.never = < æ— é™ > waves.every = æ¯ waves.waves = æ³¢ -waves.perspawn = æ¯æ¬¡ç”Ÿæˆ +waves.health = 生命值: {0}% +waves.perspawn = æ¯æ³¢ waves.shields = 护盾/æ³¢ waves.to = 至 +waves.spawn = 出生点: +waves.spawn.all = <全部> +waves.spawn.select = 出生点选择 +waves.spawn.none = [scarlet]地图上没有出生点 +waves.max = 最大å•使•° waves.guardian = Boss waves.preview = 预览 waves.edit = 编辑… +waves.random = éšæœº waves.copy = å¤åˆ¶åˆ°å‰ªè´´æ¿ waves.load = 从剪贴æ¿è¯»å– waves.invalid = 剪贴æ¿ä¸­çš„æ³¢æ¬¡ä¿¡æ¯æ— æ•ˆã€‚ waves.copied = 波次信æ¯å·²å¤åˆ¶ã€‚ -waves.none = 没有定义敌人。\n请注æ„,这将自动替æ¢ä¸ºé»˜è®¤çš„æ•Œäººåˆ—表。 +waves.none = 没有定义敌人波次。 \n注æ„,这将自动替æ¢ä¸ºé»˜è®¤çš„æ³¢æ¬¡åˆ—表。 +waves.sort = æŽ’åºæ–¹å¼ +waves.sort.reverse = åå‘æŽ’åº +waves.sort.begin = å‡ºåœºé¡ºåº +waves.sort.health = 生命值 +waves.sort.type = 类型 +waves.search = æœç´¢æ³¢æ¬¡... +waves.filter = å•ä½è¿‡æ»¤å™¨ +waves.units.hide = 全部éšè— +waves.units.show = 全部显示 #these are intentionally in lower case wavemode.counts = æ•°ç›® -wavemode.totals = 总和 +wavemode.totals = 总数 wavemode.health = 生命值 +all = All editor.default = [lightgray]<默认> details = 详情… edit = 编辑… +variables = å˜é‡ +logic.clear.confirm = æ‚¨ç¡®å®šè¦æ¸…除该处ç†å™¨çš„æ‰€æœ‰ä»£ç å—? +logic.globals = 内置å˜é‡ editor.name = å称: editor.spawn = 生æˆå•ä½ editor.removeunit = 移除å•ä½ editor.teams = é˜Ÿä¼ -editor.errorload = è¯»å–æ–‡ä»¶å‡ºé”™ï¼š\n[accent]{0} -editor.errorsave = ä¿å­˜æ–‡ä»¶å‡ºé”™ï¼š\n[accent]{0} -editor.errorimage = è¿™æ˜¯ä¸€å¹…å›¾ç‰‡ï¼Œä¸æ˜¯åœ°å›¾ã€‚请ä¸è¦æ›´æ”¹æ–‡ä»¶çš„æ‰©å±•åæ¥å¯¼å…¥ã€‚\n\nå¦‚æžœæ‚¨æƒ³å¯¼å…¥åœ°å›¾ï¼Œè¯·åœ¨ç¼–è¾‘å™¨ä¸­ä½¿ç”¨â€œå¯¼å…¥åœ°å›¾â€æŒ‰é’®ã€‚ +editor.errorload = è¯»å–æ–‡ä»¶å‡ºé”™ã€‚ +editor.errorsave = ä¿å­˜æ–‡ä»¶å‡ºé”™ã€‚ +editor.errorimage = è¿™æ˜¯ä¸€å¹…å›¾ç‰‡ï¼Œè€Œä¸æ˜¯åœ°å›¾ã€‚ editor.errorlegacy = 此地图太旧了,旧的地图格å¼å·²ä¸å†æ”¯æŒã€‚ editor.errornot = è¿™ä¸æ˜¯åœ°å›¾æ–‡ä»¶ã€‚ editor.errorheader = 此地图文件无效或已æŸå。 -editor.errorname = 地图没有定义å称。是å¦è¦åŠ è½½ä¸€ä¸ªå­˜æ¡£æ–‡ä»¶ï¼Ÿ +editor.errorname = 地图没有定义å称。 加载的å¯èƒ½æ˜¯å­˜æ¡£æ–‡ä»¶ï¼Ÿ +editor.errorlocales = è¯»å–æ— æ•ˆæœ¬åœ°åŒ–语言包时出错。 editor.update = æ›´æ–° -editor.randomize = éšæœºåŒ– +editor.randomize = 釿–°ç”Ÿæˆ +editor.moveup = 上移 +editor.movedown = 下移 +editor.copy = å¤åˆ¶ editor.apply = 应用 -editor.generate = ç”Ÿæˆ -editor.resize = è°ƒæ•´å¤§å° +editor.generate = è‡ªåŠ¨ç”Ÿæˆ +editor.sectorgenerate = 生æˆåŒºå— +editor.resize = 改å˜å°ºå¯¸ editor.loadmap = 载入地图 editor.savemap = ä¿å­˜åœ°å›¾ +editor.savechanges = [scarlet]您有未ä¿å­˜çš„æ›´æ”¹ï¼\n\n[]您想è¦ä¿å­˜ä»–们å—? editor.saved = å·²ä¿å­˜ï¼ -editor.save.noname = 您的地图没有åå­—ï¼åœ¨â€œåœ°å›¾ä¿¡æ¯â€èœå•里设置一个。 -editor.save.overwrite = 您的地图覆盖了一个内置的地图ï¼åœ¨â€œåœ°å›¾ä¿¡æ¯â€èœå•é‡Œé‡æ–°è®¾ç½®ä¸€ä¸ªä¸åŒçš„å称。 +editor.save.noname = 您还没有指定地图的åç§°ï¼åœ¨â€œåœ°å›¾ä¿¡æ¯â€èœå•里设置一个å称。 +editor.save.overwrite = 您正试图覆盖一张内置地图ï¼åœ¨â€œåœ°å›¾ä¿¡æ¯â€èœå•é‡Œé‡æ–°è®¾ç½®ä¸€ä¸ªå…¶ä»–çš„å称。 editor.import.exists = [scarlet]无法导入:[]存在å为“{0}â€çš„å†…ç½®åœ°å›¾ï¼ editor.import = 导入… -editor.importmap = 导入地图 -editor.importmap.description = 导入一个已ç»å­˜åœ¨çš„地图 +editor.importmap = 加载地图 +editor.importmap.description = 加载一张已ç»å­˜åœ¨çš„地图 editor.importfile = 导入文件 -editor.importfile.description = 导入一个外置的地图文件 -editor.importimage = å¯¼å…¥åœ°å½¢å›¾åƒ -editor.importimage.description = å¯¼å…¥ä¸€ä¸ªå¤–ç½®çš„åœ°å›¾å›¾åƒæ–‡ä»¶ +editor.importfile.description = 从游æˆå¤–导入一个地图文件 +editor.importimage = 导入图片 +editor.importimage.description = 从游æˆå¤–导入一个地图图片文件 editor.export = 导出… editor.exportfile = 导出文件 editor.exportfile.description = 导出一个地图文件 -editor.exportimage = 导出一个地形文件 -editor.exportimage.description = å¯¼å‡ºä¸€ä¸ªåœ°å›¾å›¾åƒæ–‡ä»¶ +editor.exportimage = 导出地形图片 +editor.exportimage.description = 将地形导出为一个图片文件 editor.loadimage = 导入地形 editor.saveimage = 导出地形 -editor.unsaved = [scarlet]更改未ä¿å­˜ï¼[]\n确定退出? -editor.resizemap = è°ƒæ•´åœ°å›¾å¤§å° +editor.unsaved = 确定退出?\n[scarlet]未ä¿å­˜çš„æ›´æ”¹å°†ä¼šä¸¢å¤±ï¼ +editor.resizemap = 改å˜åœ°å›¾å°ºå¯¸ editor.mapname = 地图å称: editor.overwrite = [accent]警告ï¼\n这将会覆盖一个已ç»å­˜åœ¨çš„地图。 -editor.overwrite.confirm = [scarlet]警告ï¼[]存在åŒå地图。你确定你想è¦è¦†ç›–? -editor.exists = å·²ç»å­˜åœ¨åŒå地图。 -editor.selectmap = 选择一个地图加载: +editor.overwrite.confirm = [scarlet]警告ï¼[]存在åŒå地图。 è¦è¦†ç›–å—?\n"[accent]{0}[]" +editor.exists = 存在åŒå地图。 +editor.selectmap = 加载一张地图: -toolmode.replace = æ›¿æ¢ -toolmode.replace.description = 仅在实心å—上绘制。 +toolmode.replace = 墙壿›¿æ¢ +toolmode.replace.description = 仅在墙å£ä¸Šç»˜åˆ¶å¢™å£ã€‚ toolmode.replaceall = å…¨éƒ¨æ›¿æ¢ -toolmode.replaceall.description = 替æ¢åœ°å›¾ä¸­çš„æ‰€æœ‰æ–¹å—。 -toolmode.orthogonal = 正交线 -toolmode.orthogonal.description = åªç»˜åˆ¶æ­£äº¤çº¿ã€‚ +toolmode.replaceall.description = 替æ¢åœ°å›¾ä¸­æ‰€æœ‰åŒç±»åœ°å½¢ã€‚ +toolmode.orthogonal = æ°´å¹³/垂直线 +toolmode.orthogonal.description = åªç»˜åˆ¶æ°´å¹³/垂直线。 toolmode.square = 方形 -toolmode.square.description = æ–¹å½¢åˆ·å­ -toolmode.eraseores = 清除矿石 -toolmode.eraseores.description = åªæ¸…除矿石。 -toolmode.fillteams = 填充团队 -toolmode.fillteams.description = å¡«å……å›¢é˜Ÿè€Œä¸æ˜¯æ–¹å—。 -toolmode.drawteams = 绘制团队 -toolmode.drawteams.description = ç»˜åˆ¶å›¢é˜Ÿè€Œä¸æ˜¯æ–¹å—。 +toolmode.square.description = 将笔触改为正方形。 +toolmode.eraseores = 擦除矿脉 +toolmode.eraseores.description = 仅擦除矿脉,ä¸å½±å“其他物体。 +toolmode.fillteams = å¡«å……é˜Ÿä¼ +toolmode.fillteams.description = ä¸å†å¡«å……æ–¹å—,而是填充队ä¼é¢œè‰²ã€‚ +toolmode.fillerase = 擦除åŒç±» +toolmode.fillerase.description = 擦除åŒç§ç§ç±»çš„æ–¹å—。 +toolmode.drawteams = ç»˜åˆ¶é˜Ÿä¼ +toolmode.drawteams.description = ä¸å†ç»˜åˆ¶æ–¹å—,而是绘制队ä¼é¢œè‰²ã€‚ +#未使用 +toolmode.underliquid = 水下地形 +toolmode.underliquid.description = 绘制ä½äºŽæ¶²ä½“下的地形 -filters.empty = [lightgray]没有过滤æ¡ä»¶ï¼ç”¨ä¸‹æ–¹çš„æŒ‰é’®æ·»åŠ ã€‚ -filter.distort = 扭曲程度 -filter.noise = 波动程度 -filter.enemyspawn = 敌人生æˆç‚¹é€‰æ‹© -filter.spawnpath = 敌人生æˆé€”径 +filters.empty = [lightgray]未创建生æˆå™¨ï¼ç”¨ä¸‹æ–¹çš„æŒ‰é’®åˆ›å»ºã€‚ + +filter.distort = 扭曲 +filter.noise = åœ°è¡¨éšæœºåŒ– +filter.enemyspawn = 敌人出生点选择 +filter.spawnpath = 敌人生æˆè·¯å¾„ filter.corespawn = 核心é™è½ç‚¹é€‰æ‹© -filter.median = 平凿•° -filter.oremedian = çŸ¿çŸ³å¹³å‡æ•° -filter.blend = æ··åˆç¨‹åº¦ -filter.defaultores = 默认矿石 -filter.ore = 矿石 -filter.rivernoise = æ²³æµæ³¢åŠ¨ç¨‹åº¦ +filter.median = 地形圆润化 +filter.oremedian = 矿脉圆润化 +filter.blend = é•¶è¾¹ +filter.defaultores = 默认的矿脉生æˆè§„则 +filter.ore = çŸ¿è„‰ç”Ÿæˆ +filter.rivernoise = æ²³æµéšæœºåŒ– filter.mirror = é•œåƒ -filter.clear = æ¸…ç† +filter.clear = æ›¿æ¢ filter.option.ignore = 忽略 -filter.scatter = 分散程度 -filter.terrain = 地形 -filter.option.scale = è§„æ¨¡å¤§å° -filter.option.chance = å‡ çŽ‡å¤§å° -filter.option.mag = 巨大程度 -filter.option.threshold = 最大阈值 -filter.option.circle-scale = 圆规模 -filter.option.octaves = 递增 -filter.option.falloff = é€’å‡ -filter.option.angle = è§’åº¦å¤§å° +filter.scatter = 散布 +filter.terrain = 地图边界 +filter.logic = Logic + +filter.option.scale = 缩放 +filter.option.chance = æ•£å¸ƒæ•°é‡ +filter.option.mag = æ¸—é€ +filter.option.threshold = 比例 +filter.option.circle-scale = åŠå¾„ +filter.option.octaves = 蔓延 +filter.option.falloff = 分散 +filter.option.angle = 角度 +filter.option.tilt = 倾斜 +filter.option.rotate = 中心对称 filter.option.amount = æ•°é‡ -filter.option.block = æ–¹å— -filter.option.floor = åœ°é¢ -filter.option.flooronto = 地é¢ç›®æ ‡ -filter.option.target = 目标 +filter.option.block = åœ°è¡¨æ–¹å— +filter.option.floor = 地表 +filter.option.flooronto = 替æ¢ç›®æ ‡ +filter.option.target = 替æ¢ç›®æ ‡ +filter.option.replacement = 替æ¢ä¸º filter.option.wall = 墙 -filter.option.ore = 矿石 -filter.option.floor2 = 二é‡åœ°é¢ -filter.option.threshold2 = 二é‡é˜ˆå€¼ -filter.option.radius = åŠå¾„å¤§å° +filter.option.ore = 矿脉 +filter.option.floor2 = 内层地形 +filter.option.threshold2 = 内层比例 +filter.option.radius = åŠå¾„ filter.option.percentile = 百分比 +filter.option.code = Code +filter.option.loop = Loop +locales.info = 在这里,您å¯ä»¥ä¸ºç‰¹å®šè¯­è¨€æ·»åŠ æœ¬åœ°åŒ–è¯­è¨€åŒ…åˆ°æ‚¨çš„åœ°å›¾ä¸­ã€‚åœ¨æœ¬åœ°åŒ–è¯­è¨€åŒ…ä¸­ï¼Œæ¯ä¸ªæ–‡æœ¬å±žæ€§éƒ½æœ‰ä¸€ä¸ªå称和一个值。这些文本属性å¯ä»¥ç”±ä¸–界处ç†å™¨å’Œæ¸¸æˆç›®æ ‡ä½¿ç”¨å®ƒä»¬çš„åç§°ã€‚å®ƒä»¬æ”¯æŒæ–‡æœ¬æ ¼å¼åŒ–(用实际值替æ¢å ä½ç¬¦ï¼‰ã€‚\n\n[cyan]示例文本属性:\n[]åç§°: [accent]timer[]值: [accent]示例计时器, 剩余时间: {0}[]\n\n[cyan]用法:\n[]将其设置为目标的文本: [accent]@timer\n\n[]在世界处ç†å™¨ä¸­æ‰“å°å®ƒï¼š\n[accent]localeprint "timer"\næ ¼å¼åŒ–æ—¶é—´\n[gray](时间是一个å•独计算的å˜é‡) +locales.deletelocale = 您确定è¦åˆ é™¤è¯¥æœ¬åœ°åŒ–语言包å—? +locales.applytoall = 将更改应用于所有本地化语言包 +locales.addtoother = 添加到其他本地化语言包 +locales.rollback = å›žæ»šåˆ°ä¸Šæ¬¡åº”ç”¨çš„çŠ¶æ€ +locales.filter = 文本属性过滤器 +locales.searchname = æœç´¢åç§°... +locales.searchvalue = æœç´¢å€¼... +locales.searchlocale = æœç´¢æœ¬åœ°åŒ–... +locales.byname = 按åç§° +locales.byvalue = 按值 +locales.showcorrect = 显示所有本地化语言包中存在并且在所有地方具有唯一值的文本属性 +locales.showmissing = 显示在æŸäº›æœ¬åœ°åŒ–语言包中缺失的文本属性 +locales.showsame = 显示在ä¸åŒæœ¬åœ°åŒ–语言包中具有相åŒå€¼çš„æ–‡æœ¬å±žæ€§ +locales.viewproperty = 在所有本地化语言包中查看 +locales.viewing = 查看文本属性 "{0}" +locales.addicon = 添加图标 width = 宽度: height = 高度: menu = èœå• play = å¼€å§‹æ¸¸æˆ campaign = æˆ˜å½¹æ¨¡å¼ -load = è½½å…¥æ¸¸æˆ +load = è¯»å– save = ä¿å­˜ fps = 帧数:{0} ping = 延迟:{0}毫秒 -memory = 内存: {0}mb -memory2 = 内存:\n {0}mb +\n {1}mb -language.restart = 为了使语言设置生效请é‡å¯æ¸¸æˆã€‚ +tps = TPS: {0} +memory = 内存:{0}MB +memory2 = 内存:\n {0}MB +\n {1}MB +language.restart = é‡å¯æ¸¸æˆåŽè¯­è¨€è®¾ç½®æ‰èƒ½ç”Ÿæ•ˆã€‚ settings = 设置 tutorial = 教程 tutorial.retake = é‡çŽ©æ•™ç¨‹ -editor = 编辑器 +editor = 地图编辑器 mapeditor = 地图编辑器 abandon = 放弃 -abandon.text = 这个区域åŠå…¶èµ„æºä¼šè¢«æ•Œäººé‡ç½®ã€‚ -locked = å·²é”定 -complete = [lightgray]完æˆï¼š -requirement.wave = {1}中的第{0}波次 -requirement.core = 在{0}ä¸­æ‘§æ¯æ•Œæ–¹æ ¸å¿ƒ -requirement.research = 研究 {0} -requirement.produce = 生产 {0} -requirement.capture = å é¢† {0} +abandon.text = 这个区å—åŠå…¶èµ„æºå°†ä¼šè½å…¥æ•Œæ‰‹ã€‚ +locked = é”定 +complete = [lightgray]è§£é”æ¡ä»¶ï¼š +requirement.wave = 在{1}åšæŒåˆ°ç¬¬{0}æ³¢ +requirement.core = æ‘§æ¯{0}的敌方核心 +requirement.research = 研究{0} +requirement.produce = 生产{0} +requirement.capture = å é¢†{0} +requirement.onplanet = 控制区å—{0} +requirement.onsector = ç€é™†åŒºå—:{0} launch.text = å‘å°„ -research.multiplayer = 仅有æœä¸»å¯ç ”究物å“。 -map.multiplayer = 仅有æœä¸»å¯æŸ¥çœ‹åŒºåŸŸã€‚ -uncover = è§£é” -configure = 设定装è¿çš„æ•°é‡ +map.multiplayer = åªæœ‰æœåŠ¡å™¨åˆ›å»ºè€…èƒ½æŸ¥çœ‹åŒºå—。 +uncover = å·²è§£é” +configure = 设定装è¿çš„物资 + +objective.research.name = 研究 +objective.produce.name = èŽ·å– +objective.item.name = 获å–ç‰©å“ +objective.coreitem.name = æ ¸å¿ƒç‰©å“ +objective.buildcount.name = å»ºé€ æ•°é‡ +objective.unitcount.name = å•使•°é‡ +objective.destroyunits.name = æ‘§æ¯å•ä½ +objective.timer.name = 计时器 +objective.destroyblock.name = æ‘§æ¯å»ºç­‘ +objective.destroyblocks.name = æ‘§æ¯å»ºç­‘ +objective.destroycore.name = æ‘§æ¯æ ¸å¿ƒ +objective.commandmode.name = æŒ‡æŒ¥æ¨¡å¼ +objective.flag.name = 标签 + +marker.shapetext.name = 带形状文本 +marker.point.name = 点 +marker.shape.name = 形状 +marker.text.name = 文本 +marker.line.name = 线 +marker.quad.name = 四边形 +marker.texture.name = Texture + +marker.background = 背景 +marker.outline = 轮廓 + +objective.research = [accent]研究:\n[]{0}[lightgray]{1} +objective.produce = [accent]生产:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]æ‘§æ¯ï¼š\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]æ‘§æ¯ï¼š[lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]获得:[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]移动至核心:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]建造:[][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]生产å•ä½ï¼š[][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]æ‘§æ¯å•ä½ï¼š[][lightgray]{0}[]x +objective.enemiesapproaching = [accent]敌人æ¥è¢­ï¼š[lightgray]{0}[] +objective.enemyescelating = [accent]敌方在[lightgray]{0}[]åŽæ‰©å¤§å•ä½ç”Ÿäº§ +objective.enemyairunits = [accent]敌方在[lightgray]{0}[]åŽå¼€å§‹ç”Ÿäº§ç©ºå†›å•ä½ +objective.destroycore = [accent]æ‘§æ¯æ•Œæ–¹æ ¸å¿ƒ +objective.command = [accent]指挥å•ä½ +objective.nuclearlaunch = [accent]âš  侦测到核打击:[lightgray]{0} + +announce.nuclearstrike = [red]âš  核打击接近中 âš \n[lightgray]立刻建造备用核心 loadout = è£…è¿ -resources = èµ„æº +resources = èµ„æº +resources.max = 最大 bannedblocks = ç¦ç”¨å»ºç­‘ -addall = 添加所有 -launch.from = å‘射地: [accent]{0} -launch.destination = 目的地: {0} -configure.invalid = æ•°é‡å¿…须是0到{0}之间的数字。 +unbannedblocks = Unbanned Blocks +objectives = 任务目标 +bannedunits = ç¦ç”¨å•ä½ +unbannedunits = Unbanned Units +bannedunits.whitelist = ä»…å¯ç”¨é€‰ä¸­çš„å•ä½ +bannedblocks.whitelist = ä»…å¯ç”¨é€‰ä¸­çš„建筑 +addall = å…¨éƒ¨è£…è¿ +launch.from = å‘射自:[accent]{0} +launch.capacity = 装è¿ç‰©å“: [accent]{0} +launch.destination = 目的地:{0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min +configure.invalid = æ•°é‡å¿…须在0到{0}之间。 add = 添加… -boss.health = Boss 生命值 +guardian = Boss -connectfail = [crimson]æœåŠ¡å™¨è¿žæŽ¥å¤±è´¥ï¼š[accent]{0} -error.unreachable = 无法访问æœåŠ¡å™¨ã€‚\n确定输对地å€äº†å—? +connectfail = [scarlet]æœåŠ¡å™¨è¿žæŽ¥å¤±è´¥ï¼š\n\n[accent]{0} +error.unreachable = 无法访问æœåŠ¡å™¨ã€‚ \n请检查输入的地å€ã€‚ error.invalidaddress = åœ°å€æ— æ•ˆã€‚ error.timedout = 连接超时ï¼\n请确认æœåŠ¡å™¨è®¾ç½®äº†ç«¯å£è½¬å‘ä¸”åœ°å€æ— è¯¯ï¼ -error.mismatch = æ•°æ®åŒ…错误。\nå¯èƒ½æ˜¯å®¢æˆ·ç«¯/æœåŠ¡å™¨çš„ç‰ˆæœ¬ä¸åŒ¹é…。\n请确ä¿å®¢æˆ·ç«¯å’ŒæœåŠ¡å™¨éƒ½æ˜¯æœ€æ–°çš„ç‰ˆæœ¬ï¼ -error.alreadyconnected = 已连接。 +error.mismatch = æ•°æ®åŒ…错误。 \nå¯èƒ½æ˜¯å®¢æˆ·ç«¯/æœåŠ¡å™¨çš„ç‰ˆæœ¬ä¸åŒ¹é…。 \n请确ä¿å®¢æˆ·ç«¯å’ŒæœåŠ¡å™¨éƒ½æ˜¯æœ€æ–°çš„ç‰ˆæœ¬ï¼ +error.alreadyconnected = å·²ç»å»ºç«‹è¿žæŽ¥ã€‚ error.mapnotfound = 找ä¸åˆ°åœ°å›¾æ–‡ä»¶ï¼ -error.io = 网络 I/O 错误。 +error.io = 网络I/O错误。 error.any = 未知网络错误。 -error.bloom = 未能åˆå§‹åŒ–特效。\n您的设备å¯èƒ½ä¸æ”¯æŒã€‚ +error.bloom = 未能åˆå§‹åŒ–光效。 \n您的设备å¯èƒ½ä¸æ”¯æŒã€‚ +error.moddex = Mindustry 无法加载此模组。\n您的设备由于最近的 Android 系统更新,正在阻止导入 Java 模组。\nç›®å‰å¯¹æ­¤é—®é¢˜å°šæ— å·²çŸ¥çš„解决方法 weather.rain.name = é™é›¨ -weather.snow.name = é™é›ª +weather.snowing.name = é™é›ª weather.sandstorm.name = 沙尘暴 -weather.sporestorm.name = å­¢å­é›¾ +weather.sporestorm.name = å­¢å­é£Žæš´ weather.fog.name = 雾 +campaign.playtime = \uf129 [lightgray]åŒºå—æ¸¸çŽ©æ—¶é—´ï¼š{0} +campaign.complete = [accent]æ­å–œï¼\n\n{0}上的敌军已被消ç­ã€‚\n[lightgray]最终区å—å·²è¢«å¾æœã€‚ + +sectorlist = 区å—列表 +sectorlist.attacked = {0}é­åˆ°æ”»å‡» sectors.unexplored = [lightgray]未探索 -sectors.resources = 资æº: -sectors.production = 产出: -sectors.export = 输出: -sectors.time = æ—¶é—´: -sectors.threat = å¨èƒ -sectors.wave = 进攻波: -sectors.stored = 贮存: +sectors.resources = 资æºï¼š +sectors.production = 产出: +sectors.export = 输出: +sectors.import = 输入: +sectors.time = 时间: +sectors.threat = å¨èƒï¼š +sectors.wave = 波次: +sectors.stored = 贮存: sectors.resume = ç»§ç»­ sectors.launch = å‘å°„ sectors.select = 选择 -sectors.nonelaunch = [lightgray]æ—  (太阳) +sectors.launchselect = Select Launch Destination +sectors.nonelaunch = [lightgray]无(自动销æ¯ï¼‰ +sectors.redirect = Redirect Launch Pads sectors.rename = é‡å‘½ååŒºå— -sectors.enemybase = [scarlet]敌人基地 -sectors.vulnerable = [scarlet]脆弱的 -sectors.underattack = [scarlet]é­åˆ°æ”»å‡»ï¼[accent]{0}% æŸæ¯åº¦ -sectors.survives = [accent]存活{0}æ³¢ +sectors.enemybase = [scarlet]敌方基地 +sectors.vulnerable = [scarlet]æ˜“å—æ”»å‡» +sectors.underattack = [scarlet]é­åˆ°æ”»å‡»ï¼[accent]{0}%æŸæ¯åº¦ +sectors.underattack.nodamage = [scarlet]未å é¢† +sectors.survives = [accent]预测å¯å®ˆ{0}æ³¢ sectors.go = 进入 +sector.abandon = é—弃 +sector.abandon.confirm = æ­¤åŒºå—æ ¸å¿ƒå°†è‡ªæ¯ã€‚\n确认? sector.curcapture = 区å—å·²å é¢† sector.curlost = 区å—已丢失 -sector.missingresources = [scarlet]核心资æºä¸è¶³ -sector.attacked = 区å—[accent]{0}[white]å—到攻击! -sector.lost = 区å—[accent]{0}[white]已丢失! -#note: the missing space in the line below is intentional -sector.captured = 区å—[accent]{0}[white]å·²å é¢†! +sector.missingresources = [scarlet]建造核心所需资æºä¸è¶³ +sector.attacked = 区å—[accent]{0}[white]å—åˆ°æ”»å‡»ï¼ +sector.lost = 区å—[accent]{0}[white]å·²ä¸¢å¤±ï¼ +sector.capture = 区å—[accent]{0}[white]å·²å é¢†! +sector.capture.current = 区å—å·²å é¢†! +sector.changeicon = 更改图标 +sector.noswitch.title = 无法切æ¢åŒºå— +sector.noswitch = 你无法在当å‰åŒºå—é­å—攻击时切æ¢åŒºå—。\n\n区å—:[accent]{0}[]ä½äºŽ[accent]{1}[] +sector.view = æŸ¥çœ‹åŒºå— threat.low = 低度 threat.medium = 中度 threat.high = 高度 threat.extreme = æžé«˜ -threat.eradication = æ‰«è¡ +threat.eradication = æ¯ç­ +difficulty.casual = Casual +difficulty.easy = Easy +difficulty.normal = Normal +difficulty.hard = Hard +difficulty.eradication = Eradication planets = 行星 planet.serpulo.name = 塞普罗 +planet.erekir.name = 埃里克尔 planet.sun.name = 太阳 sector.impact0078.name = 冲击区0078 @@ -580,278 +831,476 @@ sector.fungalPass.name = 真èŒé€šé“ sector.biomassFacility.name = ç”Ÿç‰©è´¨åˆæˆåŒº sector.windsweptIslands.name = 风å¹ç¾¤å²› sector.extractionOutpost.name = èƒå–å‰å“¨ +sector.facility32m.name = 工业区 32 M +sector.taintedWoods.name = 孢染丛林 +sector.infestedCanyons.name = èŒç–«å³¡è°· sector.planetaryTerminal.name = 行星å‘射终端 +sector.coastline.name = 边际海湾 +sector.navalFortress.name = 海军è¦å¡ž +sector.polarAerodrome.name = æžåœ°ç©ºæ¸¯ +sector.atolls.name = 环ç¤ç¾¤å²› +sector.testingGrounds.name = 实验ç¦åŒº +sector.seaPort.name = è¾¹æµ·æ¸¯å£ +sector.weatheredChannels.name = 风化海峡 +sector.mycelialBastion.name = èŒä¸å ¡åž’ +sector.frontier.name = 边陲哨站 -sector.groundZero.description = è¸ä¸Šæ—…程的最佳ä½ç½®ã€‚这儿的敌人å¨èƒå¾ˆå°ï¼Œä½†èµ„æºä¹Ÿå°‘。\n收集尽å¯èƒ½å¤šçš„铅和铜。\n出å‘å§ï¼ -sector.frozenForest.description = å³ä½¿æ˜¯é è¿‘山脉的这里,孢å­ä¹Ÿå·²ç»æ‰©æ•£ã€‚他们ä¸èƒ½é•¿æœŸåœç•™åœ¨å¯’冷的温度中。\n\n开始è¿ç”¨ç”µåŠ›ã€‚å»ºé€ ç«åŠ›å‘电机并学会使用修ç†è€…。 -sector.saltFlats.description = åœ¨æ²™æ¼ çš„éƒŠåŒºæœ‰ç›æ»©ã€‚在这个地方几乎找ä¸åˆ°èµ„æºã€‚\n\n敌人在这里建立了一个资æºå­˜å‚¨åŒºã€‚æ‘§æ¯ä»–们的核心。ä¸è¦ç•™ä¸‹ä»»ä½•东西。 -sector.craters.description = 水在这个ç«å±±å£ç§¯èšï¼Œè¿™æ˜¯æ—§æˆ˜äº‰çš„é—è¿¹ã€‚å¤ºä¸‹è¯¥åŒºåŸŸã€‚æ”¶é›†æ²™å­æ¥å†¶ç‚¼çŽ»ç’ƒã€‚ç”¨æ°´æ³µæŠ½æ°´æ¥åŠ é€Ÿç‚®å¡”å’Œé’»å¤´ã€‚ -sector.ruinousShores.description = 穿过è’地,就是海岸线。这个地方曾ç»å»ºé€ äº†ä¸€ä¸ªæµ·å²¸é˜²å¾¡çº¿ã€‚ä½†çŽ°åœ¨æ‰€å‰©æ— å‡ ï¼Œåªæœ‰æœ€åŸºæœ¬çš„防御结构ä»ç„¶æ¯«å‘æ— æŸï¼Œå…¶ä»–一切都被摧æ¯äº†ã€‚\nç»§ç»­å‘外扩展。继续研究科技。 -sector.stainedMountains.description = åœ¨æ›´è¿œçš„å†…é™†åœ°åŒºæ˜¯å±±è„‰ï¼Œä½†è¿™é‡Œæ²¡æœ‰è¢«å­¢å­æ±¡æŸ“。\n这一地区分布ç€ä¸°å¯Œçš„钛,学习如何使用它。\n\n这里的敌人势力更大,ä¸è¦ç»™ä»–们时间派出最强的部队。 -sector.overgrowth.description = 这个地区é è¿‘å­¢å­çš„æ¥æºï¼Œå› æ­¤ç”Ÿé•¿è¿‡åº¦ã€‚\n敌人在这里建立了一个å‰å“¨ç«™ã€‚建造尖刀å•使¥æ‘§æ¯å®ƒå¹¶æ‰¾å›žä¸¢å¤±çš„东西。 -sector.tarFields.description = 产油区边缘,ä½äºŽå±±è„‰å’Œæ²™æ¼ ä¹‹é—´ã€‚它少数几个有石油储é‡çš„地区之一。\nå°½ç®¡è¢«åºŸå¼ƒï¼Œè¿™é™„è¿‘ä»æœ‰ä¸€äº›å±é™©çš„æ•Œæ–¹å•ä½ã€‚ä¸è¦ä½Žä¼°ä»–们。\n\n[lightgray]如果å¯èƒ½ï¼Œç ”究石油加工技术。 -sector.desolateRift.description = éžå¸¸å±é™©çš„区域。这儿的资æºä¸°å¯Œä½†ç©ºé—´å¾ˆå°ã€‚敌人å分å±é™©ã€‚尽快离开,ä¸è¦è¢«æ•Œäººçš„æ”»å‡»é—´éš”太长所愚弄。 -sector.nuclearComplex.description = 以å‰ç”Ÿäº§å’ŒåŠ å·¥é’çš„è®¾æ–½å·²å˜æˆåºŸå¢Ÿã€‚\n[lightgray]研究é’åŠå…¶å¤šç§ç”¨é€”。\n\n敌人在这里大é‡å­˜åœ¨ï¼Œä¸æ–­æ¶ˆç­å…¥ä¾µè€…。 -sector.fungalPass.description = 介于高山和低矮孢å­ä¸›ç”Ÿçš„土地之间的过渡地带。这里有一个å°åž‹çš„æ•Œæ–¹ä¾¦å¯ŸåŸºåœ°ã€‚\n侦察它。\n使用尖刀和爬行者å•使¥æ‘§æ¯ä¸¤ä¸ªæ ¸å¿ƒã€‚ +sector.groundZero.description = è¸ä¸Šæ—…程的最佳ä½ç½®ã€‚ 这里的敌人å¨èƒå¾ˆå°ï¼Œä½†èµ„æºä¹Ÿå°‘。\n\n尽你所能收集铅和铜,出å‘å§ï¼ +sector.frozenForest.description = 一个é è¿‘山脉的地方。 å“ªæ€•æ˜¯åœ¨è¿™é‡Œï¼Œä¹Ÿæœ‰äº†å­¢å­æ‰©æ•£çš„痕迹。\n连æžå¯’也无法长久地约æŸå®ƒä»¬ã€‚\n\n开始è¿ç”¨ç”µåŠ›ï¼Œå»ºé€ ç«åŠ›å‘电机并学会使用修ç†å™¨ã€‚ +sector.saltFlats.description = ç›ç¢±è’滩,ä½äºŽæ²™æ¼ çš„边缘地带,几乎没有什么资æºã€‚\n敌人在这里建立了一个资æºå­˜å‚¨åŒºã€‚\n\næ‘§æ¯ä»–们的核心,片甲ä¸ç•™ã€‚ +sector.craters.description = 这片陨石地带有积水,它也是旧时战争的é—迹。\n\n夺下该区å—,收集沙å­å†¶ç‚¼çŽ»ç’ƒã€‚\n用水泵抽水加速炮塔和钻头。 +sector.ruinousShores.description = 穿过è’地就是海滩。\nè¿™é‡Œæ›¾ç»æœ‰ä¸€æ¡æµ·å²¸é˜²çº¿ï¼Œä½†çŽ°åœ¨å·²æ‰€å‰©æ— å‡ ã€‚\n一些基础的防御建筑还完好无æŸï¼Œé™¤æ­¤ä¹‹å¤–éƒ½å˜æˆäº†åºŸå¢Ÿã€‚\n\nç»§ç»­å‘外扩张并研究科技。 +sector.stainedMountains.description = 深入内陆地区便是山脉,这里目å‰è¿˜æœªè¢«å­¢å­æ±¡æŸ“。\n敌人势力更加强大,别给他们的精é”部队留下喘æ¯ä¹‹æœºã€‚\n\n这一地区分布ç€ä¸°å¯Œçš„钛,试ç€å¼€é‡‡å¹¶åˆ©ç”¨å®ƒã€‚ +sector.overgrowth.description = 这里的孢å­é è¿‘它最åˆçš„呿ºåœ°ï¼Œå› æ­¤å¾—以疯狂生长。\n\n敌人在此处建立了一个å‰å“¨ç«™ï¼Œå»ºé€ å°–刀å•使¥æ‘§æ¯å®ƒã€‚ +sector.tarFields.description = 产油区边缘,ä½äºŽå±±è„‰å’Œæ²™æ¼ ä¹‹é—´ã€‚ 它是为数ä¸å¤šè•´è—了石油的地区之一。\nå°½ç®¡è¿™é‡Œä¸€ç‰‡åºŸå¢Ÿï¼Œé™„è¿‘ä»æœ‰ä¸€äº›å±é™©çš„æ•Œæ–¹å•ä½ã€‚ ä¸è¦ä½Žä¼°ä»–们。\n\n[lightgray]尽你所能研究石油加工技术。 +sector.desolateRift.description = éžå¸¸å±é™©çš„区å—,资æºä¸°å¯Œä½†ç©ºé—´ç‹­çª„,敌人也å分å±é™©ã€‚\n\n尽快å‘展与防御,ä¸è¦å› æ•Œäººçš„进攻间隔太长而掉以轻心。 +sector.nuclearComplex.description = 曾用æ¥ç”Ÿäº§åŠ å·¥é’çš„è®¾æ–½ï¼Œå¦‚ä»Šå·²å˜æˆäº†åºŸå¢Ÿã€‚\n这里有大é‡çš„æ•Œäººï¼Œä¸æ–­æœå¯»ç€å…¥ä¾µè€…。\n\n[lightgray]研究é’以åŠå®ƒçš„å„ç§ç”¨é€”。 +sector.fungalPass.description = 一边是高山,å¦ä¸€è¾¹æ˜¯å­¢å­ä¸›ç”Ÿçš„平原。\n这里有一个敌方的å°åž‹ä¾¦å¯ŸåŸºåœ°ï¼Œæ‘§æ¯å®ƒã€‚\n\n使用尖刀和爬虫å•ä½ï¼Œæ‘§æ¯ä¸¤ä¸ªæ ¸å¿ƒã€‚ +sector.biomassFacility.description = å­¢å­çš„呿ºåœ°ï¼Œæœ‰ç ”究和生产孢å­çš„原始设施。\n[lightgray]è®¾æ–½æŸæ¯åŽï¼Œå­¢å­æ•£æ’­äº†å‡ºåŽ»ï¼ŒåŽŸç”Ÿç”Ÿæ€ç³»ç»Ÿå®Œå…¨æ— æ³•抵挡这ç§å¤–æ¥ç‰©ç§ã€‚\n\nç ”ç©¶è¿™é‡Œçš„ç§‘æŠ€ï¼ŒåŸ¹å…»å­¢å­æ¥åˆ¶é€ ç‡ƒæ–™å’Œèšåˆç‰©ã€‚ +sector.windsweptIslands.description = 海岸线之外åè½ç€è¿™ä¸€ä¸²ç¾¤å²›ã€‚ æ®è®°è½½è¿™é‡Œæ›¾æœ‰ç”Ÿäº§[accent]å¡‘é’¢[]的建筑。\n\n抵御敌人的海军,在岛上建立基地,研究生产建筑。 +sector.extractionOutpost.description = 一座é¥è¿œçš„å‰å“¨ï¼Œæ•Œäººå»ºé€ å®ƒå‘其他区å—å‘射资æºã€‚\n跨区å—è¿è¾“æ˜¯å¾æœè¿™ä¸ªæ˜Ÿçƒä¸å¯æˆ–缺的一项技术。\n\næ‘§æ¯æ•Œæ–¹åŸºåœ°ï¼Œç ”ç©¶å‘å°„å°ã€‚ +sector.impact0078.description = 最åˆè¿›å…¥è¿™ä¸ªæ˜Ÿç³»çš„æ˜Ÿé™…è¿è¾“船,残骸留在了这里。\n\nå°½é‡å›žæ”¶å¯ä»¥åˆ©ç”¨çš„资æºï¼Œç ”究科技。 +sector.planetaryTerminal.description = 最终目标。\n这座滨海基地有一个å¯ä»¥å°†æ ¸å¿ƒå‘å°„åˆ°å…¶ä»–è¡Œæ˜Ÿçš„å»ºç­‘ï¼Œé˜²å«æ£®ä¸¥ã€‚\n\n制造海军å•ä½ï¼Œå°½å¿«æ¶ˆç­æ•Œäººï¼Œç ”ç©¶å‘射建筑。 +sector.coastline.description = 这里探测到了海军å•ä½ç§‘技的é—迹。 击退敌人的进攻,å é¢†åŒºå—ï¼ŒèŽ·å–æŠ€æœ¯ã€‚ +sector.navalFortress.description = 敌人在一个有天然防御å±éšœçš„å远岛屿上建立了基地。 æ‘§æ¯å®ƒï¼Œå¹¶ç ”究高级海军科技。 +sector.cruxscape.name = 赤色总部 +sector.geothermalStronghold.name = 熔石è¦å¡ž +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + +sector.onset.name = å§‹å‘地区 +sector.aegis.name = 庇护å‰å“¨ +sector.lake.name = 岩浆湖 +sector.intersect.name = 交错丘陵 +sector.atlas.name = 风化山脉 +sector.split.name = 横断山谷 +sector.basin.name = 风蚀盆地 +sector.marsh.name = 芳油湿地 +sector.peaks.name = 横堑峰峦 +sector.ravine.name = 贫瘠峡谷 +sector.caldera-erekir.name = 破碎ç«å±± +sector.stronghold.name = 晶石è¦å¡ž +sector.crevice.name = 碳岩裂隙 +sector.siege.name = 平行岭谷 +sector.crossroads.name = åå­—è·¯å£ +sector.karst.name = 岩溶洞穴 +sector.origin.name = èµ·æº + +sector.onset.description = 收集资æºï¼Œç ”究科技以自动化生产。\n开始进攻。 +sector.aegis.description = è¿™ä¸ªåŒºå—æœ‰é’¨çŸ¿åºŠåˆ†å¸ƒã€‚\n研究[accent]冲击钻头[]挖掘钨,并摧æ¯è¿™é‡Œçš„æ•Œæ–¹åŸºåœ°ã€‚ +sector.lake.description = 这个区å—的岩浆湖é™åˆ¶äº†å¤§éƒ¨åˆ†å•ä½çš„移动,悬浮å•使˜¯å”¯ä¸€é€‰æ‹©ã€‚\n尽快研究[accent]飞船制造厂[]并生产一个[accent]挣脱[]。 +sector.intersect.description = æ‰«ææ˜¾ç¤ºï¼Œè¿™ä¸ªåŒºå—在ç€é™†åŽä¸ä¹…å°†å—到多方å‘的攻击。\n迅速建立防御并尽快扩张。\n[accent]机甲[]å•ä½å¯ç”¨äºŽåœ¨è¿™é‡Œçš„崎岖地形活动。 +sector.atlas.description = 这个区å—包å«å„ç§åœ°å½¢ï¼Œéœ€è¦å¤šå…µç§é…åˆè¿›è¡Œæœ‰æ•ˆè¿›æ”»ã€‚\n这里å‘现的一些更为åšå›ºçš„æ•Œæ–¹åŸºåœ°éœ€è¦ä½¿ç”¨é«˜çº§å•使‘§æ¯ã€‚\n研究[accent]电解机[]å’Œ[accent]å¦å…‹é‡æž„厂[]。 +sector.split.description = 这个区å—的敌人数é‡å¾ˆå°‘,éžå¸¸é€‚åˆæµ‹è¯•æ–°çš„è¿è¾“技术。 +sector.basin.description = è¿™ä¸ªåŒºå—æŽ¢æµ‹åˆ°äº†å¤§é‡æ•Œäººã€‚\n快速生产å•ä½å¹¶æ”»å æ•Œæ–¹æ ¸å¿ƒä»¥åœ¨æ­¤åœ°ç«‹è¶³ã€‚ +sector.marsh.description = è¿™ä¸ªåŒºå—æœ‰å¤§é‡èŠ³æ²¹ï¼Œä½†å–·å£æ•°é‡æœ‰é™ã€‚\n利用[accent]化学燃烧室[]å‘电。 +sector.peaks.description = 这个区å—的山区地形使大部分å•使¯«æ— ç”¨å¤„。 需è¦ä½¿ç”¨ç©ºå†›å•ä½ã€‚\næ³¨æ„æ•Œäººçš„防空设施。 å°è¯•切断它的供弹。 +sector.ravine.description = 这里是敌人的é‡è¦è¿è¾“路线。 区å—ä¸­æœªæŽ¢æµ‹åˆ°æ•Œæ–¹æ ¸å¿ƒï¼Œä½†é¢„è®¡ä¼šæœ‰å¤šç§æ•Œå†›ã€‚\n尽快生产[accent]巨浪åˆé‡‘[]并建造[accent]劫难[]炮塔。 +sector.caldera-erekir.description = 这个区å—的资æºåˆ†æ•£åœ¨å¤šä¸ªå²›å±¿ä¸Šã€‚\n研究并部署无人机è¿è¾“。 +sector.stronghold.description = 这个区å—的敌方基地守å«ç€å¤§é‡çš„[accent]é’[]。\n使用它研究高级å•ä½å’Œç‚®å¡”。 +sector.crevice.description = è¿™ä¸ªåŒºå—æ•Œäººçš„æ”»åŠ¿éžå¸¸çŒ›çƒˆã€‚\n尽快研究[accent]碳化物[]与[accent]热解å‘电机[]以求得生存。 +sector.siege.description = 这个区å—中的两æ¡å¹³è¡Œçš„山谷使你ä¸å¾—ä¸è¿›è¡ŒåŒçº¿ä½œæˆ˜ã€‚\n研究[accent]æ°°æ°”[]以生产更强力的å¦å…‹å•ä½ã€‚\n警告:侦测到敌方长è·ç¦»å¯¼å¼¹å¡”。 导弹命中å‰å¯è¢«æ‹¦æˆªã€‚ +sector.crossroads.description = 这个区å—的敌方基地建立在ä¸åŒçš„地形上。 å°è¯•研究多ç§å•ä½ä»¥è¿›æ”»ã€‚\næŸäº›æ•Œæ–¹åŸºåœ°æœ‰æŠ¤ç›¾ä¿æŠ¤ã€‚ å°è¯•切断它们的供电。 +sector.karst.description = 这个区å—资æºä¸°å¯Œï¼Œä½†æ•Œäººä¼šç«‹åˆ»å‘动进攻。\n充分利用资æºå¹¶ç ”ç©¶[accent]相织布[]。 +sector.origin.description = 最终区å—ï¼Œæ•Œäººæ•°é‡æžå¤šã€‚\n所有科技å‡å·²ç ”究完毕,åªéœ€ä¸“æ³¨äºŽæ‘§æ¯æ‰€æœ‰æ•Œæ–¹åŸºåœ°ã€‚ + +status.burning.name = 燃烧 +status.freezing.name = 冻结 +status.wet.name = 潮湿 +status.muddy.name = 泥泞 +status.melting.name = 熔化 +status.sapped.name = 弱化 +status.electrified.name = 麻痹 +status.spore-slowed.name = å­¢å­å‡é€Ÿ +status.tarred.name = 油浸 +status.overdrive.name = 过载 +status.overclock.name = 超频 +status.shocked.name = 电击 +status.blasted.name = 爆炸 +status.unmoving.name = 陿­¢ +status.boss.name = 守å«è€… settings.language = 语言 settings.data = æ¸¸æˆæ•°æ® -settings.reset = æ¢å¤é»˜è®¤è®¾ç½® +settings.reset = 全部æ¢å¤é»˜è®¤ settings.rebind = 釿–°ç»‘定 -settings.resetKey = é‡ç½®æŒ‰é”® +settings.resetKey = æ¢å¤é»˜è®¤ settings.controls = 控制 settings.game = æ¸¸æˆ settings.sound = 声音 -settings.graphics = å›¾åƒ +settings.graphics = 图形 settings.cleardata = æ¸…é™¤æ¸¸æˆæ•°æ®â€¦ -settings.clear.confirm = æ‚¨ç¡®å®šè¦æ¸…除此数æ®ï¼Ÿ\næ­¤æ“ä½œæ— æ³•æ’¤é”€ï¼ -settings.clearall.confirm = [scarlet]警告ï¼[]\n这将清除所有数æ®ï¼ŒåŒ…括存档ã€åœ°å›¾ã€è§£é”和按键绑定。\n按「是ã€åŽï¼Œæ¸¸æˆå°†åˆ é™¤æ‰€æœ‰æ•°æ®å¹¶è‡ªåŠ¨é€€å‡ºã€‚ -settings.clearsaves.confirm = æ‚¨ç¡®å®šè¦æ¸…除存档? +settings.clear.confirm = 确定清除此数æ®ï¼Ÿ\næ­¤æ“ä½œæ— æ³•æ’¤é”€ï¼ +settings.clearall.confirm = [scarlet]警告ï¼[]\n这将清除所有数æ®ï¼ŒåŒ…括存档〠地图〠解é”进度和按键绑定。\n按“确定â€åŽï¼Œæ¸¸æˆå°†åˆ é™¤æ‰€æœ‰æ•°æ®å¹¶è‡ªåŠ¨é€€å‡ºã€‚ +settings.clearsaves.confirm = 确定清除所有存档? settings.clearsaves = 清除存档 settings.clearresearch = 清除研究进度 -settings.clearresearch.confirm = æ‚¨ç¡®å®šè¦æ¸…除战役研究进度? +settings.clearresearch.confirm = 确定清除战役研究进度? settings.clearcampaignsaves = 清除战役进度 -settings.clearcampaignsaves.confirm = æ‚¨ç¡®å®šè¦æ¸…除战役进度? +settings.clearcampaignsaves.confirm = 确定清除战役进度? paused = [accent]< æš‚åœ > clear = 清除 -banned = [scarlet]å·²ç¦æ­¢ +banned = [scarlet]ç¦ç”¨ +unsupported.environment = [scarlet]䏿”¯æŒçš„环境 yes = 是 no = å¦ -info.title = [accent]详情 -error.title = [crimson]å‘生了一个错误 +info.title = 详情 +error.title = [scarlet]å‘生了一个错误 error.crashtitle = å‘生了一个错误 -unit.nobuild = [scarlet]å•使œªèƒ½å»ºé€  -lastaccessed = [lightgray]上次æ“作: {0} -block.unknown = [lightgray]??? +unit.nobuild = [scarlet]无法建造 +lastaccessed = [lightgray]上次æ“作:{0} +lastcommanded = [lightgray]上次指挥:{0} +block.unknown = [lightgray]?? +stat.showinmap = <è¿›å…¥åœ°å›¾åŽæ˜¾ç¤º> stat.description = ä»‹ç» stat.input = 输入 stat.output = 输出 -stat.booster = 增强物å“/液体 -stat.tiles = 所需地型 -stat.affinities = 相关 -stat.powercapacity = 能é‡å®¹é‡ -stat.powershot = 能é‡/å‘å°„ +stat.maxefficiency = 最高效率 +stat.booster = 强化所需 +stat.tiles = 所需地形 +stat.affinities = å½±å“å› ç´  +stat.opposites = 互斥 +stat.powercapacity = ç”µåŠ›å®¹é‡ +stat.powershot = 电力/å‘ stat.damage = 伤害 stat.targetsair = 攻击空中å•ä½ stat.targetsground = 攻击地é¢å•ä½ stat.itemsmoved = 移动速度 -stat.launchtime = å‘射间隔时间 +stat.launchtime = å‘å°„é—´éš” stat.shootrange = 范围 stat.size = 尺寸 stat.displaysize = 显示尺寸 stat.liquidcapacity = æ¶²ä½“å®¹é‡ -stat.powerrange = 能é‡èŒƒå›´ +stat.powerrange = 连接范围 stat.linkrange = 连接范围 -stat.instructions = æŒ‡ä»¤æ•°é‡ -stat.powerconnections = 最多连接 -stat.poweruse = ä½¿ç”¨èƒ½é‡ -stat.powerdamage = 功率/æŸä¼¤ +stat.instructions = 指令è¿è¡Œé€Ÿåº¦ +stat.powerconnections = 最大连接数 +stat.poweruse = 消耗电力 +stat.powerdamage = 电力/伤害 stat.itemcapacity = 物å“å®¹é‡ stat.memorycapacity = å†…å­˜å®¹é‡ -stat.basepowergeneration = 基础能æºè¾“出 +stat.basepowergeneration = 基础电力输出 stat.productiontime = 生产时间 stat.repairtime = å»ºç­‘å®Œå…¨ä¿®å¤æ—¶é—´ +stat.repairspeed = ä¿®ç†é€Ÿåº¦ stat.weapons = 武器 stat.bullet = å­å¼¹ +stat.moduletier = 模å—等级 +stat.unittype = å•ä½ç±»åž‹ stat.speedincrease = æé€Ÿ stat.range = 范围 stat.drilltier = å¯é’»æŽ¢çŸ¿ç‰© stat.drillspeed = 基础钻探速度 -stat.boosteffect = 增强效果 +stat.boosteffect = 强化效果 stat.maxunits = 最大å•使•°é‡ stat.health = 生命值 +stat.armor = 护甲 stat.buildtime = 建造时间 -stat.maxconsecutive = 最大连续 +stat.maxconsecutive = 连续放置é™åˆ¶ stat.buildcost = 建造花费 -stat.inaccuracy = 误差 +stat.inaccuracy = 射击误差 stat.shots = å‘å°„æ•° -stat.reload = æ¯ç§’å‘å°„æ•° +stat.reload = å¼€ç«é€Ÿçއ stat.ammo = å¼¹è¯ -stat.shieldhealth = 盾容 +stat.shieldhealth = æŠ¤ç›¾å®¹é‡ stat.cooldowntime = 冷崿—¶é—´ stat.explosiveness = 爆炸性 -stat.basedeflectchance = 基础å射几率 -stat.lightningchance = æ¿€å‘闪电几率 +stat.basedeflectchance = 基础å射概率 +stat.lightningchance = æ¿€å‘闪电概率 stat.lightningdamage = æ¿€å‘闪电伤害 stat.flammability = 燃烧性 stat.radioactivity = 放射性 +stat.charge = 放电性 stat.heatcapacity = çƒ­å®¹é‡ stat.viscosity = 粘度 stat.temperature = 温度 -stat.speed = 速度 +stat.speed = 移动速度 stat.buildspeed = 建造速度 stat.minespeed = 采矿速度 -stat.minetier = 采矿等级 -stat.payloadcapacity = è½½è´§å®¹é‡ -stat.commandlimit = æŒ‡æŒ¥ä¸Šé™ +stat.minetier = å¯é‡‡é›†çŸ¿ç‰© +stat.payloadcapacity = è½½è·å®¹é‡ stat.abilities = 能力 stat.canboost = å¯åŠ©æŽ¨ -stat.flying = å¯é£žè¡Œ +stat.flying = 空中å•ä½ +stat.ammouse = å¼¹è¯ +stat.ammocapacity = Ammo Capacity +stat.damagemultiplier = 伤害å€çއ +stat.healthmultiplier = 生命值å€çއ +stat.speedmultiplier = 移动速度å€çއ +stat.reloadmultiplier = å¼€ç«é€Ÿçއå€çއ +stat.buildspeedmultiplier = 建造速度å€çއ +stat.reactive = å应 +stat.immunities = å…ç–« +stat.healing = 治疗 +stat.efficiency = [stat]{0}% Efficiency ability.forcefield = 力墙场 +ability.forcefield.description = æŠ•å°„ä¸€ä¸ªèƒ½å¸æ”¶å­å¼¹çš„力场护盾 ability.repairfield = ä¿®å¤åœº +ability.repairfield.description = ä¿®å¤é™„è¿‘çš„å•ä½ ability.statusfield = 状æ€åœº -ability.unitspawn = {0} å•ä½å·¥åŽ‚ +ability.statusfield.description = 对附近的å•使–½åŠ çŠ¶æ€æ•ˆæžœ +ability.unitspawn = å•ä½ç”Ÿæˆ +ability.unitspawn.description = 建造å•ä½ ability.shieldregenfield = 护盾å†ç”Ÿåœº +ability.shieldregenfield.description = å†ç”Ÿé™„è¿‘å•ä½çš„æŠ¤ç›¾ ability.movelightning = 闪电助推器 +ability.movelightning.description = 移动时释放闪电 +ability.armorplate = è£…ç”²æ¿ +ability.armorplate.description = 在射击时å‡å°‘å—到的伤害 +ability.shieldarc = 弧形护盾 +ability.shieldarc.description = æŠ•å°„ä¸€ä¸ªå¼§å½¢çš„åŠ›åœºæŠ¤ç›¾ï¼Œèƒ½å¸æ”¶å­å¼¹ +ability.suppressionfield = ä¿®å¤åŽ‹åˆ¶åœº +ability.suppressionfield.description = 使附近的修å¤å»ºç­‘åœæ­¢å·¥ä½œ +ability.energyfield = 能é‡åœº +ability.energyfield.description = 对附近的敌人释放电击 +ability.energyfield.healdescription = å¯¹é™„è¿‘çš„æ•Œäººé‡Šæ”¾ç”µå‡»ï¼Œå¹¶æ²»ç–—å‹æ–¹ +ability.regen = å†ç”Ÿ +ability.regen.description = éšç€æ—¶é—´çš„æŽ¨ç§»æ¢å¤è‡ªå·±çš„生命值 +ability.liquidregen = æ¶²ä½“å¸æ”¶ +ability.liquidregen.description = 叿”¶æ¶²ä½“以治疗自身 +ability.spawndeath = 死亡产生å•ä½ +ability.spawndeath.description = 死亡时释放å•ä½ +ability.liquidexplode = 死亡溢液 +ability.liquidexplode.description = 死亡时释放液体 +ability.stat.firingrate = [stat]{0}/ç§’[lightgray] 射速 +ability.stat.regen = [stat]{0}/ç§’[lightgray] 生命æ¢å¤é€Ÿåº¦ +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray] 护盾 +ability.stat.repairspeed = [stat]{0}/ç§’[lightgray] ä¿®å¤é€Ÿåº¦ +ability.stat.slurpheal = [stat]{0}[lightgray] 生命/液体å•ä½ +ability.stat.cooldown = [stat]{0} ç§’[lightgray] 冷崿—¶é—´ +ability.stat.maxtargets = [stat]{0}[lightgray] 最大目标数 +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray] åŒç±»åž‹ä¿®å¤é‡ +ability.stat.damagereduction = [stat]{0}%[lightgray] 伤害å‡å… +ability.stat.minspeed = [stat]{0} æ ¼/ç§’[lightgray] 最低速度 +ability.stat.duration = [stat]{0} ç§’[lightgray] æŒç»­æ—¶é—´ +ability.stat.buildtime = [stat]{0} ç§’[lightgray] 建造时间 + +bar.onlycoredeposit = 仅核心å¯ä¸¢å…¥èµ„æº bar.drilltierreq = éœ€è¦æ›´é«˜çº§çš„钻头 -bar.noresources = ç¼ºå¤±èµ„æº -bar.corereq = 缺失核心基座 +bar.nobatterypower = Insufficieny Battery Power +bar.noresources = 资æºä¸è¶³ +bar.corereq = éœ€è¦æ ¸å¿ƒåŸºåº§ +bar.corefloor = éœ€è¦æ ¸å¿ƒåœ°æ¿ +bar.cargounitcap = 达到货è¿å•ä½ä¸Šé™ bar.drillspeed = 挖掘速度:{0}/ç§’ -bar.pumpspeed = 泵压速度:{0}/ç§’ +bar.pumpspeed = æ³µé€é€Ÿåº¦ï¼š{0}/ç§’ bar.efficiency = 效率:{0}% -bar.powerbalance = 能é‡ï¼š{0}/ç§’ -bar.powerstored = 储能:{0}/{1} -bar.poweramount = 能é‡ï¼š{0} -bar.poweroutput = 能é‡è¾“出:{0} -bar.powerlines = 链接: {0}/{1} +bar.boost = 超速:+{0}% +bar.powerbuffer = Battery Power: {0}/{1} +bar.powerbalance = 电力:{0}/ç§’ +bar.powerstored = 电力储存:{0}/{1} +bar.poweramount = 电力:{0} +bar.poweroutput = 电力输出:{0} +bar.powerlines = 连接数:{0}/{1} bar.items = 物å“:{0} bar.capacity = 容é‡ï¼š{0} bar.unitcap = {0} {1}/{2} -bar.limitreached = [scarlet]î Š {0} / {1}[white] {2}\n[lightgray][[已达å•ä½ä¸Šé™] bar.liquid = 液体 bar.heat = çƒ­é‡ +bar.cooldown = Cooldown +bar.instability = ä¸ç¨³å®šæ€§ +bar.heatamount = 热é‡: {0} +bar.heatpercent = 热é‡: {0} ({1}%) bar.power = 电力 bar.progress = 制造进度 +bar.loadprogress = 进度 +bar.launchcooldown = å‘å°„å†·å´ bar.input = 输入 bar.output = 输出 +bar.strength = [stat]{0}[lightgray]x效率 units.processorcontrol = [lightgray]由处ç†å™¨æŽ§åˆ¶ -bullet.damage = [stat]{0}[lightgray] 伤害 -bullet.splashdamage = [stat]{0}[lightgray] 范围伤害 ~[stat] {1}[lightgray] æ ¼ -bullet.incendiary = [stat] 燃烧 -bullet.sapping = [stat] 削弱 -bullet.homing = [stat] 追踪 -bullet.shock = [stat] 电击 -bullet.frag = [stat] 分裂 -bullet.knockback = [stat]{0}[lightgray] 击退 -bullet.pierce = [stat]{0}[lightgray]x ç©¿é€ -bullet.infinitepierce = [stat] ç©¿é€ -bullet.healpercent = [stat]{0}[lightgray]% ä¿®å¤ -bullet.freezing = [stat] 冰冻 -bullet.tarred = [stat] å‡é€Ÿ -bullet.multiplier = [stat]{0}[lightgray]x è£…å¼¹æ•°é‡ -bullet.reload = [stat]{0}[lightgray]x 装弹速度 +bullet.damage = [stat]{0}[lightgray]伤害 +bullet.splashdamage = [stat]{0}[lightgray]范围伤害~[stat] {1}[lightgray]æ ¼ +bullet.incendiary = [stat]燃烧 +bullet.homing = [stat]追踪 +bullet.armorpierce = [stat]穿甲 +bullet.maxdamagefraction = [stat]{0}%[lightgray] ä¼¤å®³ä¸Šé™ +bullet.suppression = [stat]{0}ç§’[lightgray] ä¿®å¤åŽ‹åˆ¶ ~ [stat]{1}[lightgray] æ ¼ +bullet.interval = [stat]{0}/ç§’[lightgray] 分裂å­å¼¹ï¼š +bullet.frags = [stat]{0}[lightgray]x分裂å­å¼¹ï¼š +bullet.lightning = [stat]{0}[lightgray]x闪电~[stat]{1}[lightgray]伤害 +bullet.buildingdamage = [stat]{0}%[lightgray]对建筑伤害 +bullet.shielddamage = [stat]{0}%[lightgray] shield damage +bullet.knockback = [stat]{0}[lightgray]击退 +bullet.pierce = [stat]{0}[lightgray]xç©¿é€ +bullet.infinitepierce = [stat]æ— é™ç©¿é€ +bullet.healpercent = [stat]{0}[lightgray]%ä¿®å¤ +bullet.healamount = [stat]{0}[lightgray]ä¿®å¤é‡ +bullet.multiplier = [stat]{0}[lightgray]xè£…å¡«å€æ•° +bullet.reload = [stat]{0}%[lightgray]å¼€ç«é€Ÿçއ +bullet.range = [stat]{0}[lightgray]射程(格) +bullet.notargetsmissiles = [stat] ignores buildings +bullet.notargetsbuildings = [stat] ignores missiles -unit.blocks = æ–¹å— -unit.blockssquared = 方嗲 -unit.powersecond = 能é‡/ç§’ +unit.blocks = æ ¼ +unit.blockssquared = 格² +unit.powersecond = 电力/ç§’ +unit.tilessecond = æ ¼/ç§’ unit.liquidsecond = 液体/ç§’ unit.itemssecond = 物å“/ç§’ unit.liquidunits = 液体 -unit.powerunits = èƒ½é‡ +unit.powerunits = 电力 +unit.heatunits = å•ä½çƒ­é‡ unit.degrees = 度 unit.seconds = ç§’ unit.minutes = 分 unit.persecond = /ç§’ unit.perminute = /分 -unit.timesspeed = å€ é€Ÿåº¦ +unit.timesspeed = x速度 +unit.multiplier = x unit.percent = % -unit.shieldhealth = 盾容 +unit.shieldhealth = æŠ¤ç›¾å®¹é‡ unit.items = ç‰©å“ unit.thousands = K unit.millions = M unit.billions = B -category.purpose = ä»‹ç» -category.general = 普通 -category.power = èƒ½é‡ +unit.shots = shots +unit.pershot = /å‘ +category.purpose = 用途 +category.general = 基础 +category.power = 电力 category.liquids = 液体 category.items = ç‰©å“ -category.crafting = 制造 +category.crafting = 输入/输出 category.function = 功能 -category.optional = å¯é€‰çš„增强 +category.optional = 强化(å¯é€‰ï¼‰ +setting.alwaysmusic.name = å§‹ç»ˆæ’­æ”¾éŸ³ä¹ +setting.alwaysmusic.description = å¯ç”¨æ—¶ï¼ŒéŸ³ä¹å°†åœ¨æ¸¸æˆä¸­å§‹ç»ˆå¾ªçŽ¯æ’­æ”¾ã€‚\nç¦ç”¨æ—¶ï¼ŒéŸ³ä¹ä»…ä¼šåœ¨éšæœºé—´é𔿒­æ”¾ã€‚ +setting.skipcoreanimation.name = 跳过核心å‘射与ç€é™†åŠ¨ç”» setting.landscape.name = é”å®šæ¨ªå± setting.shadows.name = å½±å­ setting.blockreplace.name = 自动推èåˆé€‚的建筑 setting.linear.name = 抗锯齿 setting.hints.name = æç¤º -setting.flow.name = 显示资æºä¼ é€é€Ÿåº¦[scarlet] -setting.backgroundpause.name = åœ¨èƒŒæ™¯ä¸­æš‚åœ +setting.logichints.name = 逻辑指令æç¤º +setting.backgroundpause.name = 游æˆåœ¨åŽå°æ—¶è‡ªåŠ¨æš‚åœ setting.buildautopause.name = 自动暂åœå»ºé€  -setting.animatedwater.name = æµåŠ¨çš„æ°´ -setting.animatedshields.name = 动æ€ç”»é¢ -setting.antialias.name = 抗锯齿 -setting.playerindicators.name = çŽ©å®¶æŒ‡ç¤ºç¯ -setting.indicators.name = é˜Ÿå‹æŒ‡ç¤ºå™¨ -setting.autotarget.name = 自动射击 +setting.doubletapmine.name = åŒå‡»é‡‡çŸ¿ +setting.commandmodehold.name = é•¿æŒ‰ä¿æŒæŒ‡æŒ¥æ¨¡å¼ +setting.distinctcontrolgroups.name = æ¯å•ä½é™åˆ¶ä¸€ä¸ªç¼–队 +setting.modcrashdisable.name = 游æˆå¯åŠ¨å´©æºƒåŽç¦ç”¨æ¨¡ç»„ +setting.animatedwater.name = åŠ¨æ€æ¶²ä½“ +setting.animatedshields.name = 动æ€åŠ›åœº +setting.playerindicators.name = 玩家指示器 +setting.indicators.name = 敌人指示器 +setting.autotarget.name = 自动瞄准 setting.keyboard.name = é¼ æ ‡+é”®ç›˜æ“æŽ§ setting.touchscreen.name = è§¦å±æ“控 -setting.fpscap.name = 最大FPS +setting.fpscap.name = 最大帧数 setting.fpscap.none = æ—  setting.fpscap.text = {0} FPS -setting.uiscale.name = UI缩放比例[lightgray](需è¦é‡æ–°å¯åŠ¨ï¼‰[] +setting.uiscale.name = UI缩放比例 +setting.uiscale.description = 需è¦é‡æ–°å¯åЍ setting.swapdiagonal.name = 总是斜线建造 -setting.difficulty.training = 训练 -setting.difficulty.easy = ç®€å• -setting.difficulty.normal = 普通 -setting.difficulty.hard = å›°éš¾ -setting.difficulty.insane = 疯狂 -setting.difficulty.name = 难度: setting.screenshake.name = å±å¹•抖动 -setting.effects.name = 显示效果 -setting.destroyedblocks.name = 显示摧æ¯çš„建筑 -setting.blockstatus.name = 显示方å—çŠ¶æ€ +setting.bloomintensity.name = 光效强度 +setting.bloomblur.name = 光效模糊 +setting.effects.name = 建筑特效 +setting.destroyedblocks.name = 显示已摧æ¯çš„建筑 +setting.blockstatus.name = æ˜¾ç¤ºå»ºç­‘çŠ¶æ€ setting.conveyorpathfinding.name = ä¼ é€å¸¦è‡ªåŠ¨å¯»è·¯ setting.sensitivity.name = æŽ§åˆ¶å™¨çµæ•度 setting.saveinterval.name = 自动ä¿å­˜é—´éš” -setting.seconds = {0} ç§’ -setting.milliseconds = {0} 毫秒 +setting.seconds = {0}ç§’ +setting.milliseconds = {0}毫秒 setting.fullscreen.name = å…¨å± -setting.borderlesswindow.name = 无边界窗å£[lightgray](å¯èƒ½éœ€è¦é‡å¯ï¼‰ -setting.fps.name = 显示 FPS 和网络延迟 -setting.smoothcamera.name = 镜头平滑 +setting.borderlesswindow.name = æ— è¾¹æ¡†çª—å£ +setting.borderlesswindow.name.windows = æ— è¾¹æ¡†å…¨å± +setting.borderlesswindow.description = å¯èƒ½éœ€è¦é‡å¯ +setting.fps.name = 显示帧数和网络延迟 +setting.console.name = å¯ç”¨æŽ§åˆ¶å° +setting.smoothcamera.name = 平滑镜头 setting.vsync.name = åž‚ç›´åŒæ­¥ -setting.pixelate.name = åƒç´ ç”»é¢ [lightgray] +setting.pixelate.name = åƒç´ ç”»é¢ setting.minimap.name = 显示å°åœ°å›¾ setting.coreitems.name = 显示核心物资 setting.position.name = æ˜¾ç¤ºçŽ©å®¶åæ ‡ +setting.mouseposition.name = æ˜¾ç¤ºé¼ æ ‡åæ ‡ setting.musicvol.name = 音ä¹éŸ³é‡ setting.atmosphere.name = 显示行星大气层 +setting.drawlight.name = 绘制阴影/光照 setting.ambientvol.name = çŽ¯å¢ƒéŸ³é‡ setting.mutemusic.name = ç¦ç”¨éŸ³ä¹ setting.sfxvol.name = éŸ³æ•ˆéŸ³é‡ setting.mutesound.name = ç¦ç”¨éŸ³æ•ˆ setting.crashreport.name = å‘é€åŒ¿å的崩溃报告 +setting.communityservers.name = 获å–社区æœåŠ¡å™¨åˆ—è¡¨ setting.savecreate.name = 自动创建存档 -setting.publichost.name = 游æˆå…¬å¼€å¯è§ -setting.playerlimit.name = 玩家é™åˆ¶ +setting.steampublichost.name = 公共游æˆå¯è§æ€§ +setting.playerlimit.name = 玩家数é‡é™åˆ¶ setting.chatopacity.name = èŠå¤©ç•Œé¢ä¸é€æ˜Žåº¦ -setting.lasersopacity.name = èƒ½é‡æ¿€å…‰ä¸é€æ˜Žåº¦ +setting.lasersopacity.name = 电力连接线ä¸é€æ˜Žåº¦ +setting.unitlaseropacity.name = å•ä½é‡‡çŸ¿å…‰æŸä¸é€æ˜Žåº¦ setting.bridgeopacity.name = æ¡¥æ¢ä¸é€æ˜Žåº¦ setting.playerchat.name = 显示玩家èŠå¤©æ°”泡 -public.confirm = 确定使您的游æˆå…¬å¼€å¯è§ï¼Ÿ\n[accent]其他人将å¯ä»¥åŠ å…¥åˆ°æ‚¨çš„æ¸¸æˆã€‚\n[lightgray]您之åŽå¯ä»¥åœ¨ 设置->游æˆ->游æˆå…¬å¼€å¯è§ 更改。 +setting.showweather.name = 显示天气效果 +setting.hidedisplays.name = 䏿˜¾ç¤ºé€»è¾‘绘图 +setting.macnotch.name = 立陶宛語 +setting.macnotch.description = 需è¦é‡æ–°å¯åЍ +steam.friendsonly = ä»…é™å¥½å‹ +steam.friendsonly.tooltip = 是å¦åªæœ‰ Steam 好勿‰èƒ½åŠ å…¥æ‚¨çš„æ¸¸æˆã€‚\nå–æ¶ˆé€‰ä¸­æ­¤é€‰é¡¹å°†ä½¿æ‚¨çš„æ¸¸æˆå…¬å¼€ - 任何人都å¯ä»¥åŠ å…¥ã€‚ public.beta = 请注æ„,测试版的游æˆä¸èƒ½å…¬å¼€å¯è§ã€‚ -uiscale.reset = UI 缩放比例已更改。\næŒ‰ä¸‹â€œç¡®å®šâ€æ¥æ‰§è¡Œç¼©æ”¾æ¯”例的更改。\n[accent]{0}[]ç§’åŽ[scarlet]将自动退出并还原设置。 +uiscale.reset = UI缩放比例已更改。\nç‚¹å‡»â€œç¡®å®šâ€æŽ¥å—æ›´æ”¹ã€‚\n[accent]{0}[]ç§’åŽ[scarlet]将自动退出并还原设置。 uiscale.cancel = å–æ¶ˆå¹¶é€€å‡º -setting.bloom.name = 特效 +setting.bloom.name = 光效 keybind.title = 釿–°ç»‘定按键 -keybinds.mobile = [scarlet]这里的大多数按键绑定在移动设备上都ä¸èƒ½ç”¨ã€‚仅支æŒåŸºæœ¬çš„移动。 +keybinds.mobile = [scarlet]除了基本的移动以外,大多数按键绑定在移动设备上无效。 category.general.name = 常规 category.view.name = 视图 -category.multiplayer.name = 多人 -category.blocks.name = é€‰æ‹©æ–¹å— -command.attack = 攻击 -command.rally = é›†åˆ -command.retreat = 撤退 -command.idle = 闲置 +category.command.name = å•使Œ‡æŒ¥ +category.multiplayer.name = å¤šäººæ¸¸æˆ +category.blocks.name = 建筑选择 placement.blockselectkeys = \n[lightgray]按键:[{0}, keybind.respawn.name = é‡ç”Ÿ keybind.control.name = 控制å•ä½ -keybind.clear_building.name = 清除建筑 +keybind.clear_building.name = 清除规划 keybind.press = 请按一个键… keybind.press.axis = 请按一个轴或键… -keybind.screenshot.name = 地图截图 -keybind.toggle_power_lines.name = 显示/éšè—èƒ½é‡æ ‡è¯†çº¿ -keybind.toggle_block_status.name = 显示/éšè—æ–¹å—çŠ¶æ€ +keybind.screenshot.name = 全地图截图 +keybind.toggle_power_lines.name = 显示/éšè—电力连接线 +keybind.toggle_block_status.name = 显示/éšè—å»ºç­‘çŠ¶æ€ keybind.move_x.name = 水平移动 keybind.move_y.name = 竖直移动 -keybind.mouse_move.name = è·Ÿéšé¼ æ ‡ -keybind.pan.name = 平移视图 -keybind.boost.name = 推进 -keybind.schematic_select.name = 选择区域 +keybind.mouse_move.name = å•ä½è·Ÿéšé¼ æ ‡ +keybind.pan.name = 鼠标控制镜头 +keybind.boost.name = å¯åŠ¨åŠ©æŽ¨ +keybind.command_mode.name = æŒ‡æŒ¥æ¨¡å¼ +keybind.command_queue.name = å•使Œ‡æŒ¥é˜Ÿåˆ— +keybind.create_control_group.name = åˆ›å»ºæ“æŽ§é˜Ÿä¼ +keybind.cancel_orders.name = å–æ¶ˆæŒ‡ä»¤ +keybind.unit_stance_shoot.name = å•ä½å§¿æ€ï¼šå°„击 +keybind.unit_stance_hold_fire.name = å•ä½å§¿æ€ï¼šåœç« +keybind.unit_stance_pursue_target.name = å•ä½å§¿æ€ï¼šè¿½é€ç›®æ ‡ +keybind.unit_stance_patrol.name = å•ä½å§¿æ€ï¼šå·¡é€» +keybind.unit_stance_ram.name = å•ä½å§¿æ€ï¼šå†²é”‹ +keybind.unit_command_move.name = å•ä½å‘½ä»¤: 移动 +keybind.unit_command_repair.name = å•ä½å‘½ä»¤: ä¿®å¤ +keybind.unit_command_rebuild.name = å•ä½å‘½ä»¤: é‡å»º +keybind.unit_command_assist.name = å•ä½å‘½ä»¤: å助 +keybind.unit_command_mine.name = å•ä½å‘½ä»¤: 采矿 +keybind.unit_command_boost.name = å•ä½å‘½ä»¤: 助推 +keybind.unit_command_load_units.name = å•ä½å‘½ä»¤: 装载å•ä½ +keybind.unit_command_load_blocks.name = å•ä½å‘½ä»¤: 转载建筑 +keybind.unit_command_unload_payload.name = å•ä½å‘½ä»¤: å¸è½½æœ‰æ•ˆè½½è· +keybind.unit_command_enter_payload.name = å•ä½å‘½ä»¤: è¿›å…¥å…¥æœ‰æ•ˆè½½è· +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer + +keybind.rebuild_select.name = é‡å»ºå»ºç­‘ +keybind.schematic_select.name = 框选建筑 keybind.schematic_menu.name = è“图目录 keybind.schematic_flip_x.name = 水平翻转 keybind.schematic_flip_y.name = 竖直翻转 @@ -875,83 +1324,141 @@ keybind.fullscreen.name = 切æ¢å…¨å± keybind.select.name = 选择/射击 keybind.diagonal_placement.name = 斜线建造 keybind.pick.name = 选择建筑 -keybind.break_block.name = ç ´å建筑 +keybind.break_block.name = 拆除建筑 +keybind.select_all_units.name = 选择所有å•ä½ +keybind.select_all_unit_factories.name = 选择所有å•ä½å·¥åŽ‚ keybind.deselect.name = å–æ¶ˆé€‰æ‹© -keybind.pickupCargo.name = 拾å–货物 -keybind.dropCargo.name = 释放货物 -keybind.command.name = 指挥 +keybind.pickupCargo.name = 拾å–è½½è· +keybind.dropCargo.name = é‡Šæ”¾è½½è· keybind.shoot.name = 射击 keybind.zoom.name = 缩放 keybind.menu.name = èœå• keybind.pause.name = æš‚åœ keybind.pause_building.name = æš‚åœ/继续建造 -keybind.minimap.name = å°åœ°å›¾ -keybind.planet_map.name = 行星地图 -keybind.research.name = 研究 +keybind.minimap.name = 打开å°åœ°å›¾ +keybind.planet_map.name = 打开行星地图 +keybind.research.name = 打开科技树 +keybind.block_info.name = æ˜¾ç¤ºå»ºç­‘ä¿¡æ¯ keybind.chat.name = èŠå¤© keybind.player_list.name = 玩家列表 keybind.console.name = æŽ§åˆ¶å° keybind.rotate.name = 旋转 -keybind.rotateplaced.name = 旋转全部(长按) -keybind.toggle_menus.name = 显éšé€‰é¡¹ +keybind.rotateplaced.name = 旋转已放置的建筑(长按) +keybind.toggle_menus.name = 显示/éšè—UI keybind.chat_history_prev.name = èŠå¤©è®°å½•å‘å‰ keybind.chat_history_next.name = èŠå¤©è®°å½•å‘åŽ keybind.chat_scroll.name = èŠå¤©è®°å½•滚动 -keybind.drop_unit.name = æ¾å¼€å•ä½ +keybind.chat_mode.name = 切æ¢èŠå¤©æ¨¡å¼ +keybind.drop_unit.name = 释放å•ä½ keybind.zoom_minimap.name = å°åœ°å›¾ç¼©æ”¾ -mode.help.title = 模å¼è¯´æ˜Ž +mode.help.title = æ¸¸æˆæ¨¡å¼è¯´æ˜Ž mode.survival.name = 生存 -mode.survival.description = æ­£å¸¸çš„æ¸¸æˆæ¨¡å¼ï¼Œæœ‰é™çš„资æºï¼Œè‡ªåŠ¨çš„æ³¢æ¬¡ã€‚\n[gray]需è¦å‡»é€€å‘¨æœŸæ€§å‡ºçŽ°çš„æ•Œäººã€‚ +mode.survival.description = é€šå¸¸çš„æ¸¸æˆæ¨¡å¼ï¼Œèµ„æºæœ‰é™ï¼Œè‡ªåŠ¨ç”Ÿæˆæ•Œäººæ³¢æ¬¡ã€‚ \n[gray]需è¦åœ°å›¾ä¸­æœ‰æ•Œæ–¹å‡ºç”Ÿç‚¹å’Œå·±æ–¹æ ¸å¿ƒã€‚ mode.sandbox.name = 沙盒 -mode.sandbox.description = æ— é™çš„资æºï¼Œä¸ä¼šè‡ªåŠ¨ç”Ÿæˆæ•Œäººã€‚ -mode.editor.name = 编辑器 +mode.sandbox.description = æ— é™èµ„æºï¼Œä¸ä¼šè‡ªåŠ¨ç”Ÿæˆæ•Œäººæ³¢æ¬¡ã€‚ +mode.editor.name = 地图编辑器 mode.pvp.name = PvP -mode.pvp.description = 与本地玩家对战。\n[gray]需è¦åœ°å›¾ä¸­æœ‰ä¸åŒé˜Ÿä¼ï¼ˆé¢œè‰²ï¼‰çš„æ ¸å¿ƒã€‚ -mode.attack.name = 攻击 -mode.attack.description = æ²¡æœ‰æ³¢æ¬¡ï¼Œä½†éœ€è¦æ‘§æ¯æ•Œäººçš„基地。\n[gray]需è¦åœ°å›¾ä¸­æœ‰çº¢è‰²çš„æ ¸å¿ƒã€‚ +mode.pvp.description = 与其他玩家对战。 \n[gray]需è¦åœ°å›¾ä¸­æœ‰è‡³å°‘2ç§ä¸åŒé¢œè‰²çš„æ ¸å¿ƒã€‚ +mode.attack.name = 进攻 +mode.attack.description = æ‘§æ¯æ•Œäººçš„基地。 \n[gray]需è¦åœ°å›¾ä¸­æœ‰æ•Œæ–¹é˜Ÿä¼çš„æ ¸å¿ƒã€‚ mode.custom = è‡ªå®šä¹‰æ¨¡å¼ +rules.invaliddata = æ— æ•ˆå‰ªè´´æ¿æ•°æ®ã€‚ +rules.hidebannedblocks = éšè—ç¦ç”¨çš„建筑 rules.infiniteresources = æ— é™èµ„æº +rules.onlydepositcore = ä»…æ ¸å¿ƒå¯æ”¾å…¥èµ„æº +rules.derelictrepair = å…è®¸ä¿®å¤æ®‹éª¸å»ºç­‘ rules.reactorexplosions = å应堆爆炸 -rules.schematic = å¯ç”¨è“图 +rules.coreincinerates = 核心焚烧 +rules.disableworldprocessors = ç¦ç”¨ä¸–界处ç†å™¨ +rules.schematic = å…许使用è“图 rules.wavetimer = 波次计时器 +rules.wavesending = 波次å¯è·³æ³¢ +rules.allowedit = å…许编辑规则 +rules.allowedit.info = å¯ç”¨åŽï¼Œçީ家å¯ä»¥é€šè¿‡æš‚åœèœå•左下角的按钮在游æˆä¸­ç¼–辑规则。 +rules.alloweditworldprocessors = å…许编辑世界处ç†å™¨ +rules.alloweditworldprocessors.info = å¯ç”¨åŽï¼Œä¸–界逻辑å—å¯ä»¥å³ä½¿åœ¨ç¼–辑器外也能被放置和编辑。 + rules.waves = 波次 -rules.attack = æ”»å‡»æ¨¡å¼ -rules.buildai = AI建造 +rules.airUseSpawns = 空军å•ä½åˆ·æ€ªç‚¹ +rules.attack = è¿›æ”»æ¨¡å¼ +rules.buildai = 基础建筑者 AI +rules.buildaitier = 建筑者 AI 等级 +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = 在攻击地图中,使å•ä½èƒ½å¤Ÿç»„é˜Ÿå¹¶ä»¥æ›´æ™ºèƒ½çš„æ–¹å¼æ”»å‡»çŽ©å®¶åŸºåœ°ã€‚ +rules.rtsminsquadsize = 最å°éƒ¨é˜Ÿè§„模 +rules.rtsmaxsquadsize = 最大部队规模 +rules.rtsminattackweight = 最低进攻强度 +rules.cleanupdeadteams = 清除已战败队ä¼çš„建筑 +rules.corecapture = æ‘§æ¯æ ¸å¿ƒæ—¶å°†å…¶å é¢† +rules.polygoncoreprotection = æ ¹æ®æ ¸å¿ƒä½ç½®å¹³åˆ†å¯å»ºé€ åŒºåŸŸ +rules.placerangecheck = 敌对建筑周围ç¦å»º rules.enemyCheat = 敌人(红队)无é™èµ„æº -rules.blockhealthmultiplier = å»ºç­‘ç”Ÿå‘½å€æ•° -rules.blockdamagemultiplier = å»ºç­‘ä¼¤å®³å€æ•° -rules.unitbuildspeedmultiplier = å•ä½ç”Ÿäº§é€Ÿåº¦å€æ•° -rules.unithealthmultiplier = å•ä½ç”Ÿå‘½å€æ•° -rules.unitdamagemultiplier = å•ä½ä¼¤å®³å€æ•° -rules.enemycorebuildradius = 敌对核心éžå»ºè®¾åŒºåŠå¾„:[lightgray](格) -rules.wavespacing = 波次间隔时间:[lightgray](秒) -rules.buildcostmultiplier = å»ºè®¾èŠ±è´¹å€æ•° -rules.buildspeedmultiplier = å»ºè®¾æ—¶é—´å€æ•° -rules.deconstructrefundmultiplier = æ‹†é™¤è¿”è¿˜å€æ•° -rules.waitForWaveToEnd = 等待敌人时间 +rules.blockhealthmultiplier = 建筑生命å€çއ +rules.blockdamagemultiplier = 建筑伤害å€çއ +rules.unitbuildspeedmultiplier = å•ä½ç”Ÿäº§é€Ÿåº¦å€çއ +rules.unitcostmultiplier = å•ä½ç”Ÿäº§èŠ±è´¹å€çއ +rules.unithealthmultiplier = å•ä½ç”Ÿå‘½å€çއ +rules.unitdamagemultiplier = å•ä½ä¼¤å®³å€çއ +rules.unitcrashdamagemultiplier = å•ä½å æ¯ä¼¤å®³å€çއ +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier +rules.solarmultiplier = 太阳能å‘电å€çއ +rules.unitcapvariable = 核心å¯å¢žåŠ å•ä½ä¸Šé™ +rules.unitpayloadsexplode = å•使ºå¸¦è½½è·ä¸Žå•ä½ä¸€èµ·çˆ†ç‚¸ +rules.unitcap = 基础å•ä½ä¸Šé™ +rules.limitarea = é™åˆ¶åœ°å›¾æœ‰æ•ˆåŒºåŸŸ +rules.enemycorebuildradius = 敌方核心ä¸å¯å»ºé€ åŒºåŸŸåŠå¾„:[lightgray](格) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) +rules.wavespacing = 波次间隔:[lightgray](秒) +rules.initialwavespacing = 第一波间隔:[lightgray](秒) +rules.buildcostmultiplier = 建造花费å€çއ +rules.buildspeedmultiplier = 建造速度å€çއ +rules.deconstructrefundmultiplier = 拆除返还å€çއ +rules.waitForWaveToEnd = ç­‰å¾…æ³¢æ¬¡ç»“æŸ +rules.wavelimit = åœ°å›¾åœ¨æœ‰é™æ³¢æ¬¡åŽç»“æŸ rules.dropzoneradius = 敌人出生点ç¦åŒºå¤§å°ï¼š[lightgray](格) -rules.unitammo = å•使¶ˆè€—å­å¼¹ +rules.unitammo = å•使œ‰å¼¹è¯é™åˆ¶ +rules.enemyteam = æ•Œæ–¹é˜Ÿä¼ +rules.playerteam = çŽ©å®¶é˜Ÿä¼ rules.title.waves = 波次 rules.title.resourcesbuilding = 资æºå’Œå»ºé€  -rules.title.enemy = 敌人 +rules.title.enemy = AI 敌人 rules.title.unit = å•ä½ rules.title.experimental = 实验性 -rules.title.environment = 环境性 -rules.lighting = 光照 -rules.enemyLights = å•ä½å…‰ç…§ -rules.fire = ç«ç„° +rules.title.environment = 环境 +rules.title.teams = é˜Ÿä¼ +rules.title.planet = æ˜Ÿçƒ +rules.lighting = 环境光 +rules.fog = 战争迷雾 +rules.invasions = 敌方区å—入侵 +rules.legacylaunchpads = 旧版å‘å°„å°æœºåˆ¶ +rules.legacylaunchpads.info = å…许在没有ç€é™†åž«çš„æƒ…况下使用å‘å°„å°ï¼Œå¦‚åŒ 7.0 版本。 +landingpad.legacy.disabled = [scarlet]\ue815 ç¦ç”¨[lightgray] (旧版å‘å°„å°å·²å¯ç”¨) +rules.showspawns = 显示敌方刷怪点 +rules.randomwaveai = ä¸å¯é¢„测的波次 AI +rules.fire = å…许ç«ç„°äº§ç”Ÿå¹¶è”“å»¶ +rules.anyenv = <ä»»æ„> rules.explosions = 建筑/å•ä½çˆ†ç‚¸ä¼¤å®³ -rules.ambientlight = 环境光 -rules.weather = 气候 -rules.weather.frequency = 频率: -rules.weather.duration = æ—¶é•¿: +rules.ambientlight = 环境光颜色 +rules.weather = 天气 +rules.weather.frequency = 周期: +rules.weather.always = 永久 +rules.weather.duration = 时长: +rules.randomwaveai.info = 使波次生æˆçš„å•使”»å‡»éšæœºç»“æž„ï¼Œè€Œä¸æ˜¯ç›´æŽ¥æ”»å‡»æ ¸å¿ƒæˆ–å‘电机组。 +rules.placerangecheck.info = 防止玩家在敌方建筑附近放置任何东西。在å°è¯•放置炮塔时,范围会增大,因此炮塔无法接近敌人。 +rules.onlydepositcore.info = 阻止å•ä½å‘除核心区以外的任何建筑物存放物å“。 + content.item.name = ç‰©å“ content.liquid.name = 液体 -content.unit.name = 部队 -content.block.name = å— -content.sector.name = 区域 +content.unit.name = å•ä½ +content.block.name = 建筑 +content.status.name = çŠ¶æ€æ•ˆæžœ +content.sector.name = æˆ˜å½¹åŒºå— +content.team.name = é˜Ÿä¼ + +wallore = (墙) item.copper.name = 铜 item.lead.name = é“… @@ -961,19 +1468,32 @@ item.titanium.name = é’› item.thorium.name = é’ item.silicon.name = ç¡… item.plastanium.name = å¡‘é’¢ -item.phase-fabric.name = 相ä½ç‰© +item.phase-fabric.name = 相织布 item.surge-alloy.name = 巨浪åˆé‡‘ item.spore-pod.name = å­¢å­èš item.sand.name = æ²™ item.blast-compound.name = 爆炸混åˆç‰© -item.pyratite.name = ç¡« +item.pyratite.name = 硫化物 item.metaglass.name = 钢化玻璃 item.scrap.name = 废料 +item.fissile-matter.name = 裂å˜äº§ç‰© +item.beryllium.name = é“ +item.tungsten.name = é’¨ +item.oxide.name = 氧化物 +item.carbide.name = 碳化物 +item.dormant-cyst.name = 休眠囊肿 liquid.water.name = æ°´ liquid.slag.name = 矿渣 liquid.oil.name = 石油 liquid.cryofluid.name = 冷冻液 +liquid.neoplasm.name = 瘤液 +liquid.arkycite.name = 芳油 +liquid.gallium.name = é•“ +liquid.ozone.name = 臭氧 +liquid.hydrogen.name = 氢气 +liquid.nitrogen.name = 氮气 +liquid.cyanogen.name = æ°°æ°” unit.dagger.name = 尖刀 unit.mace.name = 战锤 @@ -1001,6 +1521,11 @@ unit.minke.name = 飞鲨 unit.bryde.name = 戟鲸 unit.sei.name = 蛟龙 unit.omura.name = 海神 +unit.retusa.name = 潜螺 +unit.oxynoe.name = 电鳗 +unit.cyerce.name = 江豚 +unit.aegires.name = 玄武 +unit.navanax.name = 龙王 unit.alpha.name = 阿尔法 unit.beta.name = è´å¡” unit.gamma.name = 伽马 @@ -1009,13 +1534,36 @@ unit.reign.name = 王座 unit.vela.name = ç¾æ˜Ÿ unit.corvus.name = 死星 -block.resupply-point.name = 补给点 -block.parallax.name = å·®æ‰°å…‰æŸ +unit.stell.name = 围护 +unit.locus.name = 循迹 +unit.precept.name = 准绳 +unit.vanquish.name = 徿œ +unit.conquer.name = 领主 +unit.merui.name = 天守 +unit.cleroi.name = å¤©èµ +unit.anthicus.name = å¤©ç¾ +unit.tecta.name = å¤©ç† +unit.collaris.name = å¤©å¸ +unit.elude.name = 挣脱 +unit.avert.name = é®è”½ +unit.obviate.name = 消散 +unit.quell.name = éæ­¢ +unit.disrupt.name = 悲怆 +unit.evoke.name = è‹é†’ +unit.incite.name = 策动 +unit.emanate.name = 呿•£ +unit.manifold.name = è´§è¿æ— äººæœº +unit.assembly-drone.name = è£…é…æ— äººæœº +unit.latum.name = Latum +unit.renale.name = Renale + +block.parallax.name = 差扰 block.cliff.name = 悬崖 block.sand-boulder.name = 砂岩 -block.basalt-boulder.name = 玄武岩巨石 +block.basalt-boulder.name = çŽ„æ­¦å²©çŸ³å— block.grass.name = è‰åœ° -block.slag.name = 矿渣 +block.molten-slag.name = 矿渣液 +block.pooled-cryofluid.name = 冷冻液 block.space.name = 太空 block.salt.name = ç›ç¢±åœ° block.salt-wall.name = ç›å¢™ @@ -1024,11 +1572,11 @@ block.tendrils.name = å·é¡» block.sand-wall.name = 沙墙 block.spore-pine.name = 孢孿 ‘ block.spore-wall.name = å­¢å­å¢™ -block.boulder.name = 巨石 -block.snow-boulder.name = 雪石 +block.boulder.name = çŸ³å— +block.snow-boulder.name = é›ªçŸ³å— block.snow-pine.name = 雪树 block.shale.name = 页岩地 -block.shale-boulder.name = 页岩巨石 +block.shale-boulder.name = é¡µå²©çŸ³å— block.moss.name = 苔藓地 block.shrubs.name = çŒæœ¨ä¸› block.spore-moss.name = å­¢å­è‹”藓地 @@ -1041,28 +1589,32 @@ block.thruster.name = 推进器残骸 block.kiln.name = 窑炉 block.graphite-press.name = 石墨压缩机 block.multi-press.name = 多é‡åŽ‹ç¼©æœº -block.constructing = {0}\n[lightgray](建造中) +block.constructing = {0}[lightgray](建造中) block.spawn.name = 敌人出生点 +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = åˆä»£æ ¸å¿ƒ block.core-foundation.name = 次代核心 block.core-nucleus.name = 终代核心 -block.deepwater.name = 深水 -block.water.name = æ°´ +block.deep-water.name = 深水 +block.shallow-water.name = æ°´ block.tainted-water.name = 污水 -block.darksand-tainted-water.name = æš—æ²™ 污水 +block.deep-tainted-water.name = 深污水 +block.darksand-tainted-water.name = 黑沙污水 block.tar.name = 石油 block.stone.name = 石头 -block.sand.name = æ²™å­ +block.sand-floor.name = æ²™å­ block.darksand.name = 黑沙 block.ice.name = 冰 block.snow.name = 雪 -block.craters.name = é™¨çŸ³å‘ -block.sand-water.name = æ²™ æ°´ -block.darksand-water.name = æš—æ²™ æ°´ +block.crater-stone.name = é™¨çŸ³å‘ +block.sand-water.name = 浅滩 +block.darksand-water.name = 黑沙浅滩 block.char.name = 焦土 -block.dacite.name = 英安岩 -block.dacite-wall.name = 英安岩墙 -block.dacite-boulder.name = 英安巨岩 +block.dacite.name = 安山岩 +block.rhyolite.name = æµçº¹å²© +block.dacite-wall.name = 安山岩墙 +block.dacite-boulder.name = å®‰å±±çŸ³å— block.ice-snow.name = 冰雪地 block.stone-wall.name = 石墙 block.ice-wall.name = 冰墙 @@ -1078,7 +1630,8 @@ block.spore-cluster.name = å­¢å­ç°‡ block.metal-floor.name = 金属地æ¿1 block.metal-floor-2.name = 金属地æ¿2 block.metal-floor-3.name = 金属地æ¿3 -block.metal-floor-5.name = 金属地æ¿4 +block.metal-floor-4.name = 金属地æ¿4 +block.metal-floor-5.name = 金属地æ¿5 block.metal-floor-damaged.name = æŸåçš„é‡‘å±žåœ°æ¿ block.dark-panel-1.name = æš—é¢æ¿1 block.dark-panel-2.name = æš—é¢æ¿2 @@ -1088,40 +1641,43 @@ block.dark-panel-5.name = æš—é¢æ¿5 block.dark-panel-6.name = æš—é¢æ¿6 block.dark-metal.name = 暗金属 block.basalt.name = 玄武岩 -block.hotrock.name = 热石头 -block.magmarock.name = 岩浆石头 +block.hotrock.name = ç¼çƒ­å²©çŸ³ +block.magmarock.name = 熔èžå²©çŸ³ block.copper-wall.name = 铜墙 block.copper-wall-large.name = 大型铜墙 block.titanium-wall.name = 钛墙 block.titanium-wall-large.name = 大型钛墙 block.plastanium-wall.name = 塑钢墙 block.plastanium-wall-large.name = 大型塑钢墙 -block.phase-wall.name = 相ä½ç‰©å¢™ -block.phase-wall-large.name = 大型相ä½ç‰©å¢™ +block.phase-wall.name = 相织布墙 +block.phase-wall-large.name = 大型相织布墙 block.thorium-wall.name = é’墙 block.thorium-wall-large.name = 大型é’墙 block.door.name = é—¨ block.door-large.name = 大门 -block.duo.name = åŒç®¡ç‚® -block.scorch.name = ç«ç„°ç‚® -block.scatter.name = 分裂炮 -block.hail.name = 冰雹炮 -block.lancer.name = è“瑟炮 +block.duo.name = åŒç®¡ +block.scorch.name = ç«ç„° +block.scatter.name = 分裂 +block.hail.name = 冰雹 +block.lancer.name = è“瑟 block.conveyor.name = ä¼ é€å¸¦ block.titanium-conveyor.name = 钛传é€å¸¦ block.plastanium-conveyor.name = 塑钢传é€å¸¦ block.armored-conveyor.name = 装甲传é€å¸¦ -block.junction.name = 连接器 +block.junction.name = 交å‰å™¨ block.router.name = 路由器 block.distributor.name = 分é…器 block.sorter.name = 分类器 block.inverted-sorter.name = åå‘分类器 block.message.name = ä¿¡æ¯æ¿ +block.reinforced-message.name = å¼ºåŒ–ä¿¡æ¯æ¿ +block.world-message.name = ä¸–ç•Œä¿¡æ¯æ¿ +block.world-switch.name = 世界开关 block.illuminator.name = 照明器 block.overflow-gate.name = 溢æµé—¨ block.underflow-gate.name = å呿º¢æµé—¨ block.silicon-smelter.name = 硅冶炼厂 -block.phase-weaver.name = 相ä½ç‰©ç¼–织器 +block.phase-weaver.name = 相织布编织器 block.pulverizer.name = 粉碎机 block.cryofluid-mixer.name = 冷冻液混åˆå™¨ block.melter.name = 熔炉 @@ -1129,9 +1685,9 @@ block.incinerator.name = 焚化炉 block.spore-press.name = å­¢å­åŽ‹ç¼©æœº block.separator.name = 分离机 block.coal-centrifuge.name = 煤炭离心机 -block.power-node.name = 能é‡èŠ‚ç‚¹ -block.power-node-large.name = 大型能é‡èŠ‚ç‚¹ -block.surge-tower.name = 波动能é‡å¡” +block.power-node.name = 电力节点 +block.power-node-large.name = 大型电力节点 +block.surge-tower.name = 巨浪电力塔 block.diode.name = 二æžç®¡ block.battery.name = 电池 block.battery-large.name = 大型电池 @@ -1150,16 +1706,16 @@ block.item-source.name = ç‰©å“æº block.item-void.name = 物å“黑洞 block.liquid-source.name = æ¶²ä½“æº block.liquid-void.name = 液体黑洞 -block.power-void.name = 能æºé»‘æ´ž -block.power-source.name = æ— é™èƒ½æº +block.power-void.name = 电力黑洞 +block.power-source.name = ç”µåŠ›æº block.unloader.name = 装å¸å™¨ block.vault.name = 仓库 block.wave.name = 波浪 block.tsunami.name = 海啸 block.swarmer.name = 蜂群 -block.salvo.name = é½å°„ç‚® +block.salvo.name = é½å°„ block.ripple.name = 浪涌 -block.phase-conveyor.name = 相ä½ç‰©ä¼ é€å¸¦æ¡¥ +block.phase-conveyor.name = 相织布传é€å¸¦æ¡¥ block.bridge-conveyor.name = ä¼ é€å¸¦æ¡¥ block.plastanium-compressor.name = 塑钢压缩机 block.pyratite-mixer.name = 硫化物混åˆå™¨ @@ -1168,29 +1724,31 @@ block.solar-panel.name = å¤ªé˜³èƒ½æ¿ block.solar-panel-large.name = å¤§åž‹å¤ªé˜³èƒ½æ¿ block.oil-extractor.name = 石油钻井 block.repair-point.name = 维修点 +block.repair-turret.name = 维修塔 block.pulse-conduit.name = 脉冲导管 block.plated-conduit.name = 电镀导管 -block.phase-conduit.name = 相ä½ç‰©å¯¼ç®¡æ¡¥ -block.liquid-router.name = 液体路由器 -block.liquid-tank.name = å‚¨æ¶²ç½ -block.liquid-junction.name = 液体交å‰å™¨ +block.phase-conduit.name = 相织布导管桥 +block.liquid-router.name = æµä½“路由器 +block.liquid-tank.name = æµä½“å‚¨ç½ +block.liquid-container.name = æµä½“容器 +block.liquid-junction.name = æµä½“交å‰å™¨ block.bridge-conduit.name = 导管桥 -block.rotary-pump.name = 回旋泵 +block.rotary-pump.name = 回转泵 block.thorium-reactor.name = é’å应堆 block.mass-driver.name = è´¨é‡é©±åЍ噍 block.blast-drill.name = 爆破钻头 -block.thermal-pump.name = 热能泵 +block.impulse-pump.name = 脉冲泵 block.thermal-generator.name = 热能å‘电机 -block.alloy-smelter.name = åˆé‡‘冶炼厂 -block.mender.name = ä¿®å¤å™¨ -block.mend-projector.name = ä¿®ç†æŠ•å½±å™¨ -block.surge-wall.name = 波动墙 -block.surge-wall-large.name = 大型波动墙 +block.surge-smelter.name = åˆé‡‘冶炼厂 +block.mender.name = ä¿®ç†å™¨ +block.mend-projector.name = ä¿®ç†æŠ•å½± +block.surge-wall.name = åˆé‡‘墙 +block.surge-wall-large.name = 大型åˆé‡‘墙 block.cyclone.name = 气旋 block.fuse.name = é›·å…‰ block.shock-mine.name = 脉冲地雷 -block.overdrive-projector.name = 超速投影器 -block.force-projector.name = 力墙投影器 +block.overdrive-projector.name = 超速投影 +block.force-projector.name = 力墙投影 block.arc.name = 电弧 block.rtg-generator.name = RTG å‘电机 block.spectre.name = å¹½çµ @@ -1198,9 +1756,9 @@ block.meltdown.name = ç†”æ¯ block.foreshadow.name = 厄兆 block.container.name = 容器 block.launch-pad.name = å‘å°„å° -block.launch-pad-large.name = 大型å‘å°„å° -block.segment.name = è£‚è§£å…‰æŸ -block.command-center.name = 指挥中心 +block.advanced-launch-pad.name = æ–°å‘å°„å° +block.landing-pad.name = ç€é™†å° +block.segment.name = 裂解 block.ground-factory.name = 陆军工厂 block.air-factory.name = 空军工厂 block.naval-factory.name = 海军工厂 @@ -1210,14 +1768,181 @@ block.exponential-reconstructor.name = 多幂级å•ä½é‡æž„工厂 block.tetrative-reconstructor.name = æ— é‡çº§å•ä½é‡æž„工厂 block.payload-conveyor.name = è½½è·ä¼ é€å¸¦ block.payload-router.name = è½½è·è·¯ç”±å™¨ +block.duct.name = 物å“ç®¡é“ +block.duct-router.name = 物å“管é“路由器 +block.duct-bridge.name = 物å“ç®¡é“æ¡¥ +block.large-payload-mass-driver.name = 大型载è·è´¨é‡é©±åЍ噍 +block.payload-void.name = è½½è·é»‘æ´ž +block.payload-source.name = è½½è·æº block.disassembler.name = 解离机 block.silicon-crucible.name = 热能å©åŸš -block.overdrive-dome.name = 超速穹顶投射器 -#experimental, may be removed -block.block-forge.name = æ–¹å—熔炉 -block.block-loader.name = æ–¹å—装载机 -block.block-unloader.name = æ–¹å—å¸è½½æœº +block.overdrive-dome.name = 超速穹顶 block.interplanetary-accelerator.name = 行星际加速器 +block.constructor.name = 构筑器 +block.constructor.description = 构筑 1x1 至 2x2 大å°çš„æ–¹å—。 +block.large-constructor.name = 大型构筑器 +block.large-constructor.description = 构筑 3x3 至 4x4 大å°çš„æ–¹å—。 +block.deconstructor.name = 大型解构器 +block.deconstructor.description = 解构方å—å’Œå•ä½ï¼Œè¿”还100%资æºã€‚ +block.payload-loader.name = è½½è·è£…载器 +block.payload-loader.description = å‘è½½è·æ–¹å—装载液体和物å“。 +block.payload-unloader.name = è½½è·å¸è½½å™¨ +block.payload-unloader.description = ä»Žè½½è·æ–¹å—å¸è½½æ¶²ä½“和物å“。 +block.heat-source.name = çƒ­é‡æº +block.heat-source.description = æ— é™è¾“出热é‡ï¼Œä»…陿²™ç›’。 + +#埃里克尔 +block.empty.name = 空 +block.rhyolite-crater.name = æµçº¹å²©å‘ +block.rough-rhyolite.name = ç²—ç³™æµçº¹å²© +block.regolith.name = æµçº¹å²© +block.yellow-stone.name = 黄石 +block.carbon-stone.name = 碳石 +block.ferric-stone.name = é“石 +block.ferric-craters.name = é“é™¨çŸ³å‘ +block.beryllic-stone.name = é“石 +block.crystalline-stone.name = 晶石 +block.crystal-floor.name = æ™¶çŸ³åœ°æ¿ +block.yellow-stone-plates.name = é»„çŸ³åœ°æ¿ +block.red-stone.name = 红石 +block.dense-red-stone.name = 高密红石 +block.red-ice.name = 红冰 +block.arkycite-floor.name = 芳油 +block.arkyic-stone.name = 芳石 +block.rhyolite-vent.name = æµçº¹çŸ³å–·å£ +block.carbon-vent.name = ç¢³çŸ³å–·å£ +block.arkyic-vent.name = èŠ³çŸ³å–·å£ +block.yellow-stone-vent.name = é»„çŸ³å–·å£ +block.red-stone-vent.name = çº¢çŸ³å–·å£ +block.crystalline-vent.name = æ™¶çŸ³å–·å£ +block.redmat.name = 红地垫 +block.bluemat.name = è“地垫 +block.core-zone.name = 核心区 +block.regolith-wall.name = 风化墙 +block.yellow-stone-wall.name = 黄石墙 +block.rhyolite-wall.name = æµçº¹å²©å¢™ +block.carbon-wall.name = 碳石墙 +block.ferric-stone-wall.name = é“石墙 +block.beryllic-stone-wall.name = é“石墙 +block.arkyic-wall.name = 芳石墙 +block.crystalline-stone-wall.name = 晶石墙 +block.red-ice-wall.name = 红冰墙 +block.red-stone-wall.name = 红石墙 +block.red-diamond-wall.name = 红钻墙 +block.redweed.name = 赤藻 +block.pur-bush.name = ç´«çŒæœ¨ä¸› +block.yellowcoral.name = 黄çŠç‘š +block.carbon-boulder.name = ç¢³çŸ³å— +block.ferric-boulder.name = é“çŸ³å— +block.beryllic-boulder.name = é“çŸ³å— +block.yellow-stone-boulder.name = é»„çŸ³å— +block.arkyic-boulder.name = èŠ³çŸ³å— +block.crystal-cluster.name = æ°´æ™¶ç°‡ +block.vibrant-crystal-cluster.name = 鲜艳水晶簇 +block.crystal-blocks.name = 风化晶体 +block.crystal-orbs.name = æ™¶çŸ³çƒ +block.crystalline-boulder.name = æ™¶çŸ³å— +block.red-ice-boulder.name = çº¢å†°çŸ³å— +block.rhyolite-boulder.name = æµçº¹çŸ³å— +block.red-stone-boulder.name = çº¢çŸ³å— +block.graphitic-wall.name = 石墨墙 +block.silicon-arc-furnace.name = 电弧硅炉 +block.electrolyzer.name = 电解机 +block.atmospheric-concentrator.name = 大气收集器 +block.oxidation-chamber.name = 氧化室 +block.electric-heater.name = 电制热机 +block.slag-heater.name = 矿渣制热机 +block.phase-heater.name = 相织制热机 +block.heat-redirector.name = 热é‡ä¼ è¾“机 +block.small-heat-redirector.name = å°åž‹çƒ­é‡ä¼ è¾“机 +block.heat-router.name = 热é‡è·¯ç”±å™¨ +block.slag-incinerator.name = 矿渣焚化炉 +block.carbide-crucible.name = 碳化物å©åŸš +block.slag-centrifuge.name = 矿渣离心机 +block.surge-crucible.name = åˆé‡‘å©åŸš +block.cyanogen-synthesizer.name = æ°°åˆæˆæœº +block.phase-synthesizer.name = ç›¸ç»‡å¸ƒåˆæˆæœº +block.heat-reactor.name = 热é‡å应堆 +block.beryllium-wall.name = é“墙 +block.beryllium-wall-large.name = 大型é“墙 +block.tungsten-wall.name = 钨墙 +block.tungsten-wall-large.name = 大型钨墙 +block.blast-door.name = 防爆闸门 +block.carbide-wall.name = 碳化物墙 +block.carbide-wall-large.name = 大型碳化物墙 +block.reinforced-surge-wall.name = 强化åˆé‡‘墙 +block.reinforced-surge-wall-large.name = 大型强化åˆé‡‘墙 +block.shielded-wall.name = 盾墙 +block.radar.name = é›·è¾¾ +block.build-tower.name = 建造塔 +block.regen-projector.name = å†ç”ŸæŠ•影器 +block.shockwave-tower.name = 震爆塔 +block.shield-projector.name = 护盾投影器 +block.large-shield-projector.name = 大型护盾投影器 +block.armored-duct.name = è£…ç”²ç®¡é“ +block.overflow-duct.name = 溢æµç®¡é“ +block.underflow-duct.name = å呿º¢æµç®¡ +block.duct-unloader.name = 管é“装å¸å™¨ +block.surge-conveyor.name = åˆé‡‘ä¼ é€å¸¦ +block.surge-router.name = åˆé‡‘路由器 +block.unit-cargo-loader.name = å•ä½ç‰©æµè£…载器 +block.unit-cargo-unload-point.name = å•ä½ç‰©æµå¸è½½ç‚¹ +block.reinforced-pump.name = 强化泵 +block.reinforced-conduit.name = 强化导管 +block.reinforced-liquid-junction.name = 强化æµä½“交å‰å™¨ +block.reinforced-bridge-conduit.name = 强化æµä½“带桥 +block.reinforced-liquid-router.name = 强化æµä½“路由器 +block.reinforced-liquid-container.name = 强化æµä½“容器 +block.reinforced-liquid-tank.name = 强化æµä½“å‚¨ç½ +block.beam-node.name = 激光节点 +block.beam-tower.name = 激光塔 +block.beam-link.name = 激光连接器 +block.turbine-condenser.name = 涡轮冷å‡å™¨ +block.chemical-combustion-chamber.name = 化学燃烧室 +block.pyrolysis-generator.name = 热解å‘生器 +block.vent-condenser.name = 排气冷å‡å™¨ +block.cliff-crusher.name = 墙å£ç²‰ç¢Žæœº +block.large-cliff-crusher.name = 高级墙å£ç²‰ç¢Žæœº +block.plasma-bore.name = 等离å­é’»æœº +block.large-plasma-bore.name = 大型等离å­é’»æœº +block.impact-drill.name = 冲击钻头 +block.eruption-drill.name = 爆裂钻头 +block.core-bastion.name = 城堡核心 +block.core-citadel.name = 堡垒核心 +block.core-acropolis.name = å«åŸŽæ ¸å¿ƒ +block.reinforced-container.name = 强化容器 +block.reinforced-vault.name = 强化仓库 +block.breach.name = 撕裂 +block.sublimate.name = å‡åŽ +block.titan.name = æ³°å¦ +block.disperse.name = 驱离 +block.afflict.name = 劫难 +block.lustre.name = 光辉 +block.scathe.name = 创伤 +block.tank-refabricator.name = å¦å…‹é‡æž„厂 +block.mech-refabricator.name = æœºç”²é‡æž„厂 +block.ship-refabricator.name = é£žèˆ¹é‡æž„厂 +block.tank-assembler.name = å¦å…‹ç»„装厂 +block.ship-assembler.name = 飞船组装厂 +block.mech-assembler.name = 机甲组装厂 +block.reinforced-payload-conveyor.name = 强化载è·ä¼ é€å¸¦ +block.reinforced-payload-router.name = 强化载è·è·¯ç”±å™¨ +block.payload-mass-driver.name = è½½è·è´¨é‡é©±åЍ噍 +block.small-deconstructor.name = 解构器 +block.canvas.name = ç”»æ¿ +block.world-processor.name = 世界处ç†å™¨ +block.world-cell.name = 世界内存元 +block.tank-fabricator.name = å¦å…‹åˆ¶é€ åŽ‚ +block.mech-fabricator.name = 机甲制造厂 +block.ship-fabricator.name = 飞船制造厂 +block.prime-refabricator.name = 高级å†é‡æž„工厂 +block.unit-repair-tower.name = å•ä½ç»´ä¿®å¡” +block.diffuse.name = 扩散 +block.basic-assembler-module.name = 基本装é…åŽ‚æ¨¡å— +block.smite.name = 天谴 +block.malign.name = é­”çµ +block.flux-reactor.name = 通é‡å应堆 +block.neoplasia-reactor.name = 瘤å˜å应堆 block.switch.name = 开关 block.micro-processor.name = 微型处ç†å™¨ @@ -1228,253 +1953,729 @@ block.large-logic-display.name = å¤§åž‹é€»è¾‘æ˜¾ç¤ºå± block.memory-cell.name = 内存元 block.memory-bank.name = 内存库 -team.blue.name = è“ +team.malis.name = ç´« team.crux.name = 红 team.sharded.name = 黄 -team.orange.name = æ©™ team.derelict.name = ç° team.green.name = 绿 -team.purple.name = ç´« +team.blue.name = è“ hint.skip = 跳过 -hint.desktopMove = 使用[accent][[WASD][]æ¥ç§»åЍ. -hint.zoom = 滚动[accent]鼠标滚轮[]放大或缩å°. -hint.mine = 移动到\uf8c4 铜矿附近并[accent]点按[]进行手动开采. -hint.desktopShoot = [accent][[鼠标左键][]射击. -hint.depositItems = è¦è½¬ç§»ç‰©å“,请将其从飞船上拖到核心。 -hint.respawn = è¦äºŽæ ¸å¿ƒä¸­é‡ç”Ÿï¼Œè¯·æŒ‰[accent][[V][]. -hint.respawn.mobile = æ‚¨å·²åˆ‡æ¢æŽ§åˆ¶å•å…ƒ/结构. 如果è¦é‡ç”Ÿé£žèˆ¹ï¼Œè¯·[accent]点击左上方的图标(您的å•å…ƒ/结构图标).[] -hint.desktopPause = 按[accent][[Space][]æš‚åœå’Œå–æ¶ˆæš‚åœæ¸¸æˆ. -hint.placeDrill = 选择å³ä¸‹è§’èœå•中的\ue85e [accent]钻头[]分类,然åŽé€‰æ‹©ä¸€ä¸ª\uf870 [accent]钻头[]ç„¶åŽå•击铜矿将其放置. -hint.placeDrill.mobile = 选择å³ä¸‹è§’èœå•中的\ue85e [accent]钻头[]分类,然åŽé€‰æ‹©ä¸€ä¸ª\uf870 [accent]钻头[],然åŽç‚¹å‡»é“œçŸ¿å°†å…¶æ”¾ç½®.\n\n点击å³ä¸‹è§’\ue800 [accent]å¤é€‰æ ‡è®°[]以确认. -hint.placeConveyor = ä¼ é€å¸¦å°†ç‰©å“从钻头移到其他方å—中。从\ue814 [accent]布局[]分类选择\uf896 [accent]ä¼ é€å¸¦[].\n\nå•击并拖动以放置多个传é€å¸¦.\n[accent]滚动[]以旋转. -hint.placeConveyor.mobile = ä¼ é€å¸¦å°†ç‰©å“从钻头移到其他å—中。从\ue814 [accent]布局[]分类选择\uf896 [accent]ä¼ é€å¸¦[].\n\né•¿æŒ‰ä¸€ç§’é’Ÿï¼Œç„¶åŽæ‹–动以放置多个传é€å¸¦. -hint.placeTurret = 放置\uf861 [accent]炮塔[]以抵御敌人,ä¿å«ä½ çš„æ ¸å¿ƒ.\n\n炮塔需è¦å¼¹è¯-\uf838 铜.\n使用传é€å¸¦å’Œé’»å¤´ä¸ºå®ƒä»¬ä¾›å¼¹ã€‚ -hint.breaking = [accent]å³å‡»[]并拖动以拆除方å—. -hint.breaking.mobile = 点击在å³ä¸‹è§’çš„\ue817 [accent]锤å­[]点击以拆除方å—.\n\næŒ‰ä½æ‰‹æŒ‡ä¸€ç§’é’Ÿï¼Œç„¶åŽæ‹–动并选择. -hint.research = 点击\ue875 [accent]科技树[]按钮研究新技术. -hint.research.mobile = 点击在\ue88c [accent]èœå•[]中的\ue875 [accent]科技树[]按钮以研究新技术. -hint.unitControl = 按ä½[accent][[L-ctrl][]å¹¶[accent]点击[]å‹å†›å•使ˆ–炮塔æ¥è¿›è¡ŒæŽ§åˆ¶ã€‚ -hint.unitControl.mobile = [accent][åŒå‡»][]å‹å†›å•使ˆ–炮塔æ¥è¿›è¡ŒæŽ§åˆ¶ã€‚ -hint.launch = 一旦收集到足够的资æºï¼Œæ‚¨å°±å¯ä»¥é€šè¿‡ä»Žå³ä¸‹è§’çš„\ue827 [accent]地图[]选择附近的区域[accent]å‘å°„[]核心. -hint.launch.mobile = 一旦收集到足够的资æºï¼Œæ‚¨å°±å¯ä»¥é€šè¿‡åœ¨\ue88c [accent]èœå•[]çš„\ue827 [accent]地图[]选择附近的区域[accent]å‘å°„[]核心. -hint.schematicSelect = 按ä½[accent][[F][]并拖动以选择è¦å¤åˆ¶å’Œç²˜è´´çš„å—.\n\n[accent][鼠标中键][]å¤åˆ¶å•个å—类型. -hint.conveyorPathfind = 按ä½[accent][[L-Ctrl][]拖动传é€å¸¦å¹¶ä½¿å…¶è‡ªåŠ¨å¯»è·¯. -hint.conveyorPathfind.mobile = å¯ç”¨\ue844 [accent]ä¼ é€å¸¦è‡ªåŠ¨å¯»è·¯[]并拖动,传é€å¸¦ä¼šè‡ªåŠ¨ç”Ÿæˆè·¯å¾„. -hint.boost = 按ä½[accent][[L-Shift][]用当å‰å•ä½é£žè¶Šéšœç¢ç‰©.\n\nä½†åªæœ‰å°‘数地é¢å•使œ‰åŠ©æŽ¨å™¨. -hint.command = 按ä½[accent][[G][]指挥附近的å•ä½ç¼–队. -hint.command.mobile = [accent][[åŒå‡»][]您的部队指挥附近的部队编队. -hint.payloadPickup = 按[accent][[[]æ¡èµ·å°æ–¹å—或å•ä½. -hint.payloadPickup.mobile = [accent]é•¿æŒ‰ä¸€ä¸ªå°æ–¹å—或一个å•使¥æ¡èµ·æ¥. -hint.payloadDrop = 按[accent]][]放下有效载è·. -hint.payloadDrop.mobile = [accent]点ä½[]一个空的ä½ç½®å°†æœ‰æ•ˆè½½è·ä¸¢åˆ°é‚£é‡Œ. -hint.waveFire = [accent]波浪[]炮塔加水弹è¯ä¼šè‡ªåŠ¨æ‰‘ç­é™„è¿‘çš„ç«. -hint.generator = \uf879 [accent]燃烧å‘电机[]燃烧煤炭并将电力传输到相邻方å—.\n\n用\uf87f [accent]能é‡èŠ‚ç‚¹[]å¯ä»¥æ‰©å±•电力传输范围. -hint.guardian = [accent]Boss[]å•ä½è£…甲厚é‡.[accent]铜[]å’Œ[accent]é“…[]这类较弱的å­å¼¹å¯¹å…¶[scarlet]作用ä¸ä½³[].\n\n使用高级别炮塔或使用\uf835 [accent]石墨[]作为\uf861 åŒç®¡ç‚®åŠ\uf859 é½å°„ç‚®çš„å¼¹è¯æ¥æ¶ˆç­Boss. +hint.desktopMove = 使用[accent][[WASD][]键移动。 +hint.zoom = 滚动[accent]鼠标滚轮[]放大或缩å°ã€‚ +hint.desktopShoot = [accent][[鼠标左键][]射击。 +hint.depositItems = è¦è½¬ç§»ç‰©å“,请将其从飞船上拖动到核心中。 +hint.respawn = è¦ä»¥åˆå§‹é£žèˆ¹çš„å½¢å¼é‡ç”Ÿï¼Œè¯·æŒ‰[accent][[V][]键。 +hint.respawn.mobile = 您正在控制æŸä¸ªå•使ˆ–建筑。 è¦ä»¥åˆå§‹é£žèˆ¹çš„å½¢å¼é‡ç”Ÿï¼Œè¯·[accent]点击左上方的图标(您的å•ä½/建筑图标)。[] +hint.desktopPause = 按[accent][[空格][]é”®æš‚åœæˆ–æ¢å¤æ¸¸æˆã€‚ +hint.breaking = 按ä½[accent]å³é”®[]拖动以拆除建筑。 +hint.breaking.mobile = 激活å³ä¸‹è§’çš„\ue817[accent]锤å­[]并点击以拆除建筑。 \n\né•¿æŒ‰ä¸€ç§’åŽæ‹–åŠ¨ï¼Œå¯æ‹†é™¤èŒƒå›´å†…多个建筑。 +hint.blockInfo = è¦æŸ¥çœ‹å»ºç­‘ä¿¡æ¯ï¼Œå¯ä»¥å…ˆåœ¨[accent]建造èœå•[]中选择建筑,然åŽç‚¹å‡»å³ä¾§çš„[accent][[?][]按钮。 +hint.derelict = [accent]废墟[]建筑是已废弃基地的残骸。 \n\nå¯ä»¥[accent]拆除[]这些建筑获å–资æºã€‚ +hint.research = 点击\ue875[accent]科技树[]按钮研究新科技。 +hint.research.mobile = 点击\ue88c[accent]èœå•[]中的\ue875[accent]科技树[]按钮以研究新科技。 +hint.unitControl = 按ä½[accent][[L-ctrl][]键并[accent]点击[]己方å•使ˆ–炮塔进行控制。 +hint.unitControl.mobile = [accent][åŒå‡»][]己方å•使ˆ–炮塔进行控制。 +hint.unitSelectControl = 按[accent]L-shift[]键进入[accent]指挥模å¼[]以控制å•ä½ã€‚\n在指挥模å¼ä¸‹ï¼Œç‚¹å‡»å¹¶æ‹–动框选å•ä½ã€‚[accent]å³é”®[]命令å•ä½ç§»åŠ¨æˆ–æ”»å‡»ã€‚ +hint.unitSelectControl.mobile = 按左下角的[accent]指挥[]按钮进入[accent]指挥模å¼[]以控制å•ä½ã€‚\n在指挥模å¼ä¸‹ï¼Œé•¿æŒ‰å¹¶æ‹–动框选å•ä½ã€‚[accent]点击[]命令å•ä½ç§»åŠ¨æˆ–æ”»å‡»ã€‚ +hint.launch = 一旦收集了足够的资æºï¼Œæ‚¨å°±å¯ä»¥é€šè¿‡å³ä¸‹è§’çš„\ue827[accent]地图[]选择附近的区å—[accent]å‘å°„[]核心。 +hint.launch.mobile = 一旦收集到足够的资æºï¼Œæ‚¨å°±å¯ä»¥é€šè¿‡\ue88c[accent]èœå•[]中的\ue827[accent]地图[]选择附近的区å—[accent]å‘å°„[]核心。 +hint.schematicSelect = 按ä½[accent][[F][]键用鼠标框选建筑以å¤åˆ¶ç²˜è´´ã€‚ \n\n[accent][鼠标中键][]å¤åˆ¶å•个建筑。 +hint.rebuildSelect = 按ä½[accent][[B][]用鼠标框选被摧æ¯çš„建筑以自动é‡å»ºã€‚ +hint.rebuildSelect.mobile = 选择\ue874å¤åˆ¶æŒ‰é’®ï¼Œç„¶åŽç‚¹å‡»\ue80fé‡å»ºæŒ‰é’®å¹¶æ‹–动以选中被摧æ¯çš„建筑。\n这将自动é‡å»ºè¿™äº›å»ºç­‘。 -item.copper.description = 用于所有类型的建筑和弹è¯ã€‚ -item.copper.details = 铜。在塞普罗上的异常丰富的金属。ä¸ç»åŠ å›ºï¼Œç»“æž„ä¼šè¾ƒè„†å¼±ã€‚ -item.lead.description = 用于液体输é€å’Œç”µæ°”结构。 -item.lead.details = 致密且呈惰性。广泛用于电池中。\n注æ„:å¯èƒ½å¯¹ç”Ÿç‰©ç”Ÿå‘½ä½“有毒。虽说这里还有很多。 -item.metaglass.description = 用于液体传输/储存结构。 -item.graphite.description = 用于电å­å…ƒä»¶å’Œç‚®å¡”å¼¹è¯ã€‚ +hint.conveyorPathfind = 按ä½[accent][[L-Ctrl][]键并拖动传é€å¸¦ï¼Œä½¿å…¶è‡ªåŠ¨å¯»è·¯ã€‚ +hint.conveyorPathfind.mobile = å¯ç”¨\ue844[accent]ä¼ é€å¸¦è‡ªåŠ¨å¯»è·¯[]åŽï¼Œæ‹–动传é€å¸¦å¯ä½¿å…¶è‡ªåŠ¨å¯»è·¯ã€‚ +hint.boost = 按ä½[accent][[L-Shift][]控制当å‰å•ä½åŠ©æŽ¨ï¼Œå¯é£žè¶Šéšœç¢ç‰©ã€‚ \n\nåªæœ‰ä¸€éƒ¨åˆ†åœ°é¢å•使œ‰åŠ©æŽ¨åŠŸèƒ½ã€‚ +hint.payloadPickup = 按[accent][[[]键拾å–å°åž‹å»ºç­‘或å•ä½ä½œä¸ºè½½è·ã€‚ +hint.payloadPickup.mobile = [accent]长按[]拾å–一个å°åž‹å»ºç­‘或å•ä½ä½œä¸ºè½½è·ã€‚ +hint.payloadDrop = 按[accent]][]键放下载è·ã€‚ +hint.payloadDrop.mobile = [accent]长按[]一个空的ä½ç½®å°†è½½è·æ”¾åœ¨é‚£é‡Œã€‚ +hint.waveFire = [accent]波浪[]ç‚®å¡”ä»¥æ°´ä½œå¼¹è¯æ—¶ï¼Œä¼šè‡ªåŠ¨æ‰‘ç­é™„è¿‘çš„ç«ç„°ã€‚ +hint.generator = \uf879[accent]ç«åŠ›å‘电机[]燃煤å‘电,并将电力输é€è‡³ç›¸é‚»å»ºç­‘。 \n\n用\uf87f[accent]电力节点[]å¯ä»¥æ‰©å±•电力输é€èŒƒå›´ã€‚ +hint.guardian = [accent]Boss[]å•ä½è£…甲厚é‡ã€‚ [accent]铜[]å’Œ[accent]é“…[]这类较弱的å­å¼¹å¯¹å…¶[scarlet]作用ä¸ä½³[]。 \n\n使用高级别炮塔或使用\uf835[accent]石墨[]作为\uf861åŒç®¡ç‚®åŠ\uf859é½å°„ç‚®çš„å¼¹è¯æ¥æ¶ˆç­Boss。 +hint.coreUpgrade = 核心å¯ä»¥é€šè¿‡[accent]在上é¢è¦†ç›–更高等级的核心[]进行å‡çº§ã€‚ \n\n在\uf869[accent]åˆä»£æ ¸å¿ƒ[]上放置一个\uf868[accent]次代核心[]。 ç¡®ä¿å‘¨å›´æ²¡æœ‰éšœç¢ç‰©ã€‚ +hint.presetLaunch = ç°è‰²çš„[accent]ç€é™†åŒºå—[],如[accent]冰冻森林[],从其他任何地方å‘射都å¯ä»¥åˆ°è¾¾ï¼Œä¸éœ€è¦å…ˆå é¢†é‚»è¿‘的区å—。 \n\n[accent]æ•°å­—ç¼–å·çš„区å—[],比如这个,å¯ä»¥[accent]选择性[]å é¢†ã€‚ +hint.presetDifficulty = 这个区å—å—æ•Œäºº[scarlet]å¨èƒç¨‹åº¦å¾ˆé«˜[]。 \nè§£é”适当的科技,并åšå¥½å……分准备,å¦åˆ™[accent]ä¸å»ºè®®[]å‘这里å‘射。 +hint.coreIncinerate = 核心内一ç§ç‰©å“达到容é‡ä¸Šé™åŽï¼ŒåŒç§ç‰©å“å†è¿›å…¥æ—¶ä¼šè¢«[accent]销æ¯[]。 +hint.factoryControl = 如果è¦è®¾ç½®æŸå•ä½å·¥åŽ‚çš„[accent]集åˆç‚¹[],在指挥模å¼ä¸‹ç‚¹å‡»è¯¥å•ä½å·¥åŽ‚ï¼Œç„¶åŽå³é”®ç‚¹å‡»æŸä½ç½®ï¼Œç”±å®ƒåˆ¶é€ çš„å•ä½å°†ä¼šè‡ªåŠ¨ç§»åŠ¨åˆ°é‚£é‡Œã€‚ +hint.factoryControl.mobile = 如果è¦è®¾ç½®æŸå•ä½å·¥åŽ‚çš„[accent]集åˆç‚¹[],在指挥模å¼ä¸‹ç‚¹å‡»è¯¥å•ä½å·¥åŽ‚ï¼Œç„¶åŽå†ç‚¹å‡»æŸä½ç½®ï¼Œç”±å®ƒåˆ¶é€ çš„å•ä½å°†ä¼šè‡ªåŠ¨ç§»åŠ¨åˆ°é‚£é‡Œã€‚ + +gz.mine = 接近\uf8c4[accent]铜矿[]并点击以手动开采。 +gz.mine.mobile = 接近\uf8c4[accent]铜矿[]并点击以手动开采。 +gz.research = 打开\ue875科技树。\n研究\uf870[accent]机械钻头[],然åŽåœ¨å³ä¸‹è§’çš„èœå•中将其选中。\n点击铜矿放置钻头。 +gz.research.mobile = 打开\ue875科技树。\n研究\uf870[accent]机械钻头[],然åŽåœ¨å³ä¸‹è§’çš„èœå•中将其选中。\n点击铜矿放置钻头。\n\n点击å³ä¸‹è§’çš„\ue800[accent]勾[]以确认。 +gz.conveyors = 研究并放置\uf896[accent]ä¼ é€å¸¦[]\n将钻头挖掘的矿物移至核心。\n\n点击并拖动以连续放置传é€å¸¦ã€‚\n滚动[accent]鼠标滚轮[]以转å‘。 +gz.conveyors.mobile = 研究并放置\uf896[accent]ä¼ é€å¸¦[]\n将钻头挖掘的矿物移至核心。\n\né•¿æŒ‰ä¸€ç§’ï¼Œç„¶åŽæ‹–动以连续放置传é€å¸¦ã€‚ +gz.drills = 扩大挖掘规模。\n放置更多的机械钻头。\n挖掘100铜。 +gz.lead = \uf837[accent]é“…[]是å¦ä¸€ç§å¸¸ç”¨èµ„æºã€‚\n用钻头挖掘铅矿。 +gz.moveup = \ue804扩张以推进任务。 +gz.turrets = 研究并放置2个\uf861[accent]åŒç®¡[]ä¿å«æ ¸å¿ƒã€‚\nåŒç®¡éœ€è¦ä¼ é€å¸¦ä¾›ç»™\uf838[accent]å¼¹è¯[]。 +gz.duoammo = 用传é€å¸¦ç»™åŒç®¡ä¾›ç»™[accent]铜[]。 +gz.walls = [accent]墙[]å¯ä»¥é˜²æ­¢å»ºç­‘å—到伤害。\n在炮塔周围放置一些\uf8ae[accent]铜墙[]。 +gz.defend = 敌人æ¥è¢­ï¼Œå‡†å¤‡é˜²å¾¡ã€‚ +gz.aa = 普通炮塔难以快速击è½ç©ºä¸­å•ä½ã€‚\n\uf860[accent]分裂[]防空能力出色,但使用[accent]é“…[]å¼¹è¯ã€‚ +gz.scatterammo = 用传é€å¸¦ç»™åˆ†è£‚供给[accent]é“…[]。 +gz.supplyturret = [accent]给炮塔供弹 +gz.zone1 = 这是敌人的出生点。 +gz.zone2 = 波次开始时,范围内的所有建筑都会被摧æ¯ã€‚ +gz.zone3 = 波次å³å°†å¼€å§‹ã€‚\nåšå¥½å‡†å¤‡ã€‚ +gz.finish = 建造更多炮塔,挖掘更多资æºï¼Œ\n击退所有波次以[accent]å é¢†åŒºå—[]。 + +onset.mine = 点击墙å£ä¸Šçš„\uf748[accent]é“矿[]以手动开采。\n\n使用[accent][[WASD]移动。 +onset.mine.mobile = 点击墙å£ä¸Šçš„\uf748[accent]é“矿[]以手动开采。 +onset.research = 打开\ue875科技树。\n研究\uf73e[accent]涡轮冷å‡å™¨[],并放置在喷å£ä¸Šã€‚\n它å¯ä»¥äº§ç”Ÿ[accent]电力[]。 +onset.bore = 研究并放置\uf741[accent]等离å­é’»æœº[]。\n它å¯ä»¥è‡ªåŠ¨æŒ–æŽ˜å¢™ä¸Šçš„èµ„æºã€‚ +onset.power = 为了给等离å­é’»æœºæä¾›[accent]电力[],研究并放置一个\uf73d[accent]激光节点[]。\n它会连接涡轮冷å‡å™¨ä¸Žç­‰ç¦»å­é’»æœºã€‚ +onset.ducts = 研究并放置\uf799[accent]物å“管é“[]将等离å­é’»æœºæŒ–掘的矿物移至核心。\n\n点击并拖动以连续放置物å“管é“。\n滚动[accent]鼠标滚轮[]以转å‘。 +onset.ducts.mobile = 研究并放置\uf799[accent]物å“管é“[]将等离å­é’»æœºæŒ–掘的矿物移至核心。\n\né•¿æŒ‰ä¸€ç§’ï¼Œç„¶åŽæ‹–动以连续放置物å“管é“。 +onset.moremine = 扩大挖掘规模。\n放置更多的等离å­é’»æœºï¼Œå¹¶ç”¨æ¿€å…‰èŠ‚ç‚¹ä¸Žç‰©å“ç®¡é“æ¥ä½¿å®ƒä»¬æ­£å¸¸å·¥ä½œã€‚\n挖掘200é“。 +onset.graphite = è¦å»ºé€ æ›´é«˜çº§çš„建筑,需è¦\uf835[accent]石墨[]。\n使用等离å­é’»æœºæŒ–掘石墨。 +onset.research2 = 开始研究[accent]工厂[]。\n研究\uf74d[accent]墙å£ç²‰ç¢Žæœº[]å’Œ\uf779[accent]电弧硅炉[]。 +onset.arcfurnace = 电弧硅炉需è¦\uf834[accent]æ²™[]与\uf835[accent]石墨[]以冶炼\uf82f[accent]ç¡…[]。\n它也需è¦[accent]电力[]。 +onset.crusher = 使用\uf74d[accent]墙å£ç²‰ç¢Žæœº[]挖掘沙。 +onset.fabricator = 使用[accent]å•ä½[]探索地图,进行防御,å‘动攻击。\n研究并放置一个\uf6a2[accent]å¦å…‹åˆ¶é€ åŽ‚[]。 +onset.makeunit = 生产å•ä½ã€‚\n点击"?"以显示生产å•使‰€éœ€èµ„æºã€‚ +onset.turrets = 使用å•ä½é˜²å¾¡å¾ˆæœ‰æ•ˆï¼Œä½†åˆç†ä½¿ç”¨[accent]炮塔[]å¯ä»¥æä¾›æ›´å¥½çš„防御力。\n放置一个\uf6eb[accent]撕裂[]。\n炮塔需è¦ä¾›ç»™\uf748[accent]å¼¹è¯[]。 +onset.turretammo = 给炮塔供给[accent]é“[]。 +onset.walls = [accent]墙[]å¯ä»¥é˜²æ­¢å»ºç­‘å—到伤害。\n在炮塔周围放置一些\uf6ee[accent]é“墙[]。 +onset.enemies = 敌人æ¥è¢­ï¼Œå‡†å¤‡é˜²å¾¡ã€‚ +onset.defenses = [accent]Set up defenses:[lightgray] {0} +onset.attack = 敌军基地å分脆弱。 å‘åŠ¨åæ”»ã€‚ +onset.cores = ä½ å¯ä»¥åœ¨[accent]核心地å—[]上建造新的核心。\næ–°æ ¸å¿ƒçš„åŠŸèƒ½ç±»ä¼¼äºŽå‰æ²¿åŸºåœ°ï¼Œä¸”与其他核心共享资æºä»“库。\n放置一个\uf725核心。 +onset.detect = 敌军将在2分钟内å‘现你。\n设立防御,挖掘矿物,并建造生产设施。 +onset.commandmode = 按ä½[accent]shift[]键进入[accent]指挥模å¼[]。\n按ä½[accent]鼠标左键[]框选å•ä½ã€‚\n[accent]å³é”®[]指挥所选å•ä½ç§»åŠ¨æˆ–æ”»å‡»ã€‚ +onset.commandmode.mobile = 点击左下角的[accent]指挥[]进入[accent]指挥模å¼[]。\n按ä½å±å¹•,[accent]拖动[]框选å•ä½ã€‚\n[accent]点击[]指挥所选å•ä½ç§»åŠ¨æˆ–æ”»å‡»ã€‚ +aegis.tungsten = é’¨å¯ä»¥ä½¿ç”¨[accent]冲击钻[]进行开采。\n该结构需è¦[accent]æ°´[]å’Œ[accent]电力[]。 + +split.pickup = 核心å•ä½å¯ä»¥æ‹¾å–一些方å—。\n拾å–这个[accent]强化容器[]并将其放到[accent]è½½è·è£…载器[]中。\n(默认使用快æ·é”®â€œ[â€æ‹¾å–è½½è·ï¼Œâ€œ]“放下载è·ï¼‰ +split.pickup.mobile = 核心å•ä½å¯ä»¥æ‹¾å–一些方å—。\n拾å–这个[accent]强化容器[]并将其放到[accent]è½½è·è£…载器[]中。\nï¼ˆé•¿æŒ‰ä»¥æ‹¾å–æˆ–放下载è·ï¼‰ +split.acquire = 你需è¦èŽ·å–é’¨æ¥ç”Ÿäº§å•ä½ã€‚ +split.build = å•ä½å¿…须被è¿è¾“到墙的å¦ä¸€ä¾§ã€‚\n在墙å£ä¸¤ä¾§å„放置一个[accent]è½½è·è´¨é‡é©±åЍ噍[]。\n点击其中一个,然åŽç‚¹å‡»å¦ä¸€ä¸ªä»¥è¿žæŽ¥å®ƒä»¬ã€‚ +split.container = 与强化容器类似,å•ä½ä¹Ÿå¯ä»¥ä½¿ç”¨[accent]è½½è·è´¨é‡é©±åЍ噍[]è¿è¾“。\n在载è·è´¨é‡é©±åŠ¨å™¨æ—æ”¾ç½®å•ä½åˆ¶é€ åނ以å‘其装载å•ä½ï¼Œç„¶åŽå°†å•ä½è¿è¾“到墙的å¦ä¸€ä¾§ï¼Œæ‘§æ¯æ•Œæ–¹åŸºåœ°ã€‚ + +item.copper.description = 用于建造大多数建筑,或作为弹è¯ä½¿ç”¨ã€‚ +item.copper.details = 铜,塞普罗星上异常丰富的金属。 ä¸ç»å¤„ç†çš„è¯ï¼Œç»“构很脆弱。 +item.lead.description = 用于建造液体输é€å’Œç”µåŠ›ç›¸å…³çš„å»ºç­‘ã€‚ +item.lead.details = 致密,惰性,广泛用于电池中。 \n注æ„:å¯èƒ½å¯¹ç”Ÿå‘½ä½“æœ‰æ¯’ï¼Œè™½è¯´è¿™é‡Œå·²ç»æ²¡æœ‰å¤šå°‘生物了。 +item.metaglass.description = ç”¨äºŽå»ºé€ è¾“é€æˆ–储存液体的建筑。 +item.graphite.description = 用于制造电å­å…ƒä»¶ï¼Œæˆ–作为炮塔弹è¯ã€‚ item.sand.description = ç”¨äºŽç”Ÿäº§å…¶ä»–ç²¾ç‚¼ææ–™ã€‚ -item.coal.description = ç”¨äºŽç‡ƒæ–™å’Œç²¾ç‚¼ææ–™ç”Ÿäº§ã€‚ -item.coal.details = 似乎是æ¤ç‰©çš„化石,在孢å­èšå‡ºçްå‰å¾ˆä¹…就形æˆäº†ã€‚ -item.titanium.description = 用于液体è¿è¾“结构ã€é’»å¤´å’Œé£žè¡Œå™¨ã€‚ -item.thorium.description = 用于è€ç”¨ç»“构和核燃料。 -item.scrap.description = 用于熔炉和粉碎机æ¥ç²¾ç‚¼æˆå…¶ä»–ææ–™ã€‚ -item.scrap.details = 旧结构和å•ä½çš„æ®‹ä½™ç‰©ã€‚ -item.silicon.description = 用于太阳能æ¿ï¼Œå¤æ‚的电气元件和追踪性弹è¯ã€‚ -item.plastanium.description = 用于先进å•ä½ã€ç»ç¼˜å’Œåˆ†è£‚性弹è¯ã€‚ -item.phase-fabric.description = 用于高级电å­è®¾å¤‡å’Œè‡ªä¿®å¤ç»“构。 -item.surge-alloy.description = 用于先进武器和å应防御结构。 -item.spore-pod.description = 用于转化æˆçŸ³æ²¹ã€çˆ†ç‚¸ç‰©å’Œç‡ƒæ–™ã€‚ -item.spore-pod.details = å­¢å­ã€‚å¯èƒ½æ˜¯äººå·¥åˆæˆçš„生命形å¼ã€‚释放对其他生物有毒的气体。æžå…·ä¾µç•¥æ€§ã€‚在æŸäº›æ¡ä»¶ä¸‹é«˜åº¦æ˜“燃。 -item.blast-compound.description = 用于炸弹和爆炸性弹è¯ã€‚ -item.pyratite.description = 用于燃烧武器和燃烧燃料å‘电机。 +item.coal.description = ç”¨ä½œç‡ƒæ–™ï¼Œæˆ–ç”¨äºŽç²¾ç‚¼ææ–™ç”Ÿäº§ã€‚ +item.coal.details = 似乎是æ¤ç‰©çš„化石,在孢å­å‡ºçŽ°å¾ˆä¹…å‰å°±å½¢æˆäº†ã€‚ +item.titanium.description = 用于液体输é€å»ºç­‘〠钻头和工厂。 +item.thorium.description = 用于è€ç”¨å»ºç­‘以åŠä½œä¸ºæ ¸ç‡ƒæ–™ã€‚ +item.scrap.description = 用于在熔炉和粉碎机中精炼æˆå…¶ä»–ææ–™ã€‚ +item.scrap.details = 废旧建筑和å•ä½çš„æ®‹éª¸ã€‚ +item.silicon.description = 用于太阳能æ¿ã€ 夿‚的电气元件或作为追踪性弹è¯ã€‚ +item.plastanium.description = 用于高级å•ä½ã€ ç»ç¼˜ææ–™ï¼Œæˆ–作为分裂性弹è¯ã€‚ +item.phase-fabric.description = 用于高级电å­è®¾å¤‡å’Œè‡ªä¿®å¤å»ºç­‘。 +item.surge-alloy.description = 用于先进武器和å应防御建筑。 +item.spore-pod.description = 用于转化æˆçŸ³æ²¹ã€ 爆炸混åˆç‰©æˆ–作为燃料。 +item.spore-pod.details = å­¢å­ã€‚ å¯èƒ½æ˜¯äººå·¥åˆæˆçš„生命形å¼ï¼Œé‡Šæ”¾å¯¹å…¶ä»–生物有毒的气体,æžå…·ä¾µç•¥æ€§ã€‚ 在æŸäº›æ¡ä»¶ä¸‹é«˜åº¦æ˜“燃。 +item.blast-compound.description = 用作炸弹或爆炸性弹è¯ã€‚ +item.pyratite.description = 用于ç«ç„°å‘射类武器和使用燃料的å‘电设备。 + +#埃里克尔 +item.beryllium.description = 用于埃里克尔的多ç§å»ºç­‘和弹è¯ã€‚ +item.tungsten.description = 用于钻头〠装甲和弹è¯ã€‚ 用于建造更先进的建筑。 +item.oxide.description = 用作热导体和ç»ç¼˜ä½“。 +item.carbide.description = 用于先进的建筑〠é‡åž‹å•ä½å’Œå¼¹è¯ã€‚ liquid.water.description = ç”¨äºŽå†·å´æœºå™¨å’ŒåºŸç‰©å¤„ç†ã€‚ liquid.slag.description = 在分离器中æç‚¼æˆé‡‘属æˆåˆ†ï¼Œæˆ–作为武器弹è¯å–·å‘敌人。 -liquid.oil.description = ç”¨äºŽå…ˆè¿›ææ–™ç”Ÿäº§å’Œç‡ƒçƒ§å¼¹è¯ã€‚ -liquid.cryofluid.description = 用作å应堆ã€ç‚®å¡”和工厂的冷å´å‰‚。 +liquid.oil.description = ç”¨äºŽå…ˆè¿›ææ–™ç”Ÿäº§å’Œå–·å°„类武器。 +liquid.cryofluid.description = 用作å应堆〠炮塔和工厂的冷å´å‰‚。 -block.resupply-point.description = 为附近的部队æä¾›é“œå¼¹è¯ã€‚与需è¦ç”µæ± ä¾›ç”µçš„设备ä¸å…¼å®¹ã€‚ -block.armored-conveyor.description = å‘剿–¹ç§»åŠ¨ç‰©å“ã€‚ä¸æŽ¥å—边上的输入。 -block.illuminator.description = 释放光æºã€‚ -block.message.description = ä¿å­˜ä¸€æ¡æ–‡å­—ä¿¡æ¯ã€‚用于队å‹ä¹‹é—´è¿›è¡Œäº¤æµã€‚ +#埃里克尔 +liquid.arkycite.description = 用于å‘ç”µå’Œåˆæˆææ–™çš„化学å应。 +liquid.ozone.description = ç”¨ä½œææ–™ç”Ÿäº§çš„æ°§åŒ–剂和燃料。 有一定爆炸性。 +liquid.hydrogen.description = 用于资æºå¼€é‡‡ã€ å•ä½ç”Ÿäº§å’Œç»“构修å¤ã€‚ 易燃。 +liquid.cyanogen.description = 用于构建高级建筑和å•ä½ï¼Œä¹Ÿç”¨ä½œå¼¹è¯ã€‚ 高度易燃。 +liquid.nitrogen.description = 用于资æºå¼€é‡‡ã€ 气体生产和å•ä½ç”Ÿäº§ã€‚ +liquid.neoplasm.description = 瘤å˜å应堆产出的å±é™©ç”Ÿç‰©æ€§å‰¯äº§ç‰©ã€‚ ä¼šå¾ˆå¿«æ‰©æ•£è‡³å®ƒèƒ½æŽ¥è§¦åˆ°çš„å«æ°´æ–¹å—å¹¶ç ´å它们。 有粘性。 +liquid.neoplasm.details = 瘤液。 ç”±ä¸€ç§æ— æ³•æŽ§åˆ¶å¹¶å¿«é€Ÿåˆ†è£‚çš„åˆæˆç»†èƒžå›¢ç»„æˆï¼Œå…·æœ‰æ±¡æ³¥çŠ¶çš„ç²˜ç¨ åº¦ã€‚ è€çƒ­ã€‚ 坹任何嫿œ‰æ°´çš„结构æžä¸ºå±é™©ã€‚\n\nä»Žæ ‡å‡†åˆ†æžæ¥çœ‹è¿‡äºŽå¤æ‚å’Œä¸ç¨³å®šï¼Œæ½œåœ¨çš„应用未知。 建议在矿渣池中焚æ¯ã€‚ + +block.derelict = \uf77e[lightgray]废墟 +block.armored-conveyor.description = å‘å‰è¿è¾“物å“ï¼Œä¸æŽ¥å—ä¾§é¢è¾“å…¥ï¼Œé™¤éžæ¥è‡ªå…¶ä»–ä¼ é€å¸¦ã€‚ +block.illuminator.description = æä¾›ç…§æ˜Žã€‚ +block.message.description = ä¿å­˜æ–‡å­—ä¿¡æ¯ï¼Œç”¨äºŽé˜Ÿå‹é—´è¿›è¡Œäº¤æµã€‚ +block.reinforced-message.description = ä¿å­˜æ–‡å­—ä¿¡æ¯ï¼Œç”¨äºŽé˜Ÿå‹é—´è¿›è¡Œäº¤æµã€‚ +block.world-message.description = ä¸€ä¸ªç”¨äºŽåˆ¶å›¾çš„ä¿¡æ¯æ¿ã€‚ 无法被摧æ¯ã€‚ block.graphite-press.description = 将煤炭压缩为石墨。 -block.multi-press.description = å°†ç…¤ç‚­åŽ‹ç¼©ä¸ºçŸ³å¢¨ã€‚éœ€è¦æ°´è¿›è¡Œå†·å´ã€‚ +block.multi-press.description = å°†ç…¤ç‚­åŽ‹ç¼©ä¸ºçŸ³å¢¨ï¼Œéœ€è¦æ°´è¿›è¡Œå†·å´ã€‚ block.silicon-smelter.description = 将沙和煤炭精炼为硅。 block.kiln.description = 将沙和铅熔炼为钢化玻璃。 block.plastanium-compressor.description = 用石油和钛生产塑钢。 -block.phase-weaver.description = 从é’å’Œæ²™åˆæˆç›¸ä½ç‰©ã€‚ -block.alloy-smelter.description = 将钛ã€é“…ã€ç¡…å’Œé“œç†”åˆæˆå·¨æµªåˆé‡‘。 +block.phase-weaver.description = 用é’å’Œæ²™åˆæˆç›¸ç»‡å¸ƒã€‚ +block.surge-smelter.description = 将钛〠铅〠硅和铜熔炼æˆå·¨æµªåˆé‡‘。 block.cryofluid-mixer.description = 将水和细钛粉混åˆåˆ¶æˆå†·å†»æ¶²ã€‚ -block.blast-mixer.description = 从硫化物和孢å­èšä¸­äº§ç”Ÿçˆ†ç‚¸åŒ–åˆç‰©ã€‚ -block.pyratite-mixer.description = 把煤ã€é“…å’Œæ²™å­æ··å’Œä¸ºç¡«åŒ–物。 -block.melter.description = 将废料熔化æˆçŸ¿æ¸£ã€‚ -block.separator.description = 将矿渣分离æˆçŸ¿ç‰©æˆåˆ†ã€‚ +block.blast-mixer.description = 利用硫化物和孢å­èšç”Ÿäº§çˆ†ç‚¸æ··åˆç‰©ã€‚ +block.pyratite-mixer.description = æŠŠç…¤ç‚­ã€ é“…å’Œæ²™å­æ··åˆæˆç¡«åŒ–物。 +block.melter.description = 将废料熔化æˆçŸ¿æ¸£æ¶²ã€‚ +block.separator.description = 将矿渣液分离æˆçŸ¿ç‰©æˆåˆ†ã€‚ block.spore-press.description = 将孢å­èšåŽ‹ç¼©æˆçŸ³æ²¹ã€‚ block.pulverizer.description = 将废料粉碎æˆç»†æ²™ã€‚ -block.coal-centrifuge.description = æŠŠçŸ³æ²¹å˜æˆç…¤ã€‚ +block.coal-centrifuge.description = æŠŠçŸ³æ²¹å˜æˆç…¤ç‚­ã€‚ block.incinerator.description = 熔èžå¹¶è’¸å‘å®ƒæŽ¥æ”¶åˆ°çš„ä»»ä½•ç‰©å“æˆ–液体。 -block.power-void.description = 消耗输入的所有能é‡ã€‚仅陿²™ç›’。 -block.power-source.description = æ— é™è¾“出能é‡ã€‚仅陿²™ç›’。 -block.item-source.description = æ— é™è¾“出物å“ã€‚ä»…é™æ²™ç›’。 -block.item-void.description = 销æ¯è¾“入的所有物å“ã€‚ä»…é™æ²™ç›’。 -block.liquid-source.description = æ— é™è¾“å‡ºæ¶²ä½“ã€‚ä»…é™æ²™ç›’。 -block.liquid-void.description = ç§»é™¤è¾“å…¥çš„æ‰€æœ‰æ¶²ä½“ã€‚ä»…é™æ²™ç›’。 -block.copper-wall.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ -block.copper-wall-large.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ -block.titanium-wall.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ -block.titanium-wall-large.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ -block.plastanium-wall.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚å¸æ”¶æ¿€å…‰å’Œç”µå¼§ã€‚阻止电力节点自动连接。 -block.plastanium-wall-large.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚å¸æ”¶æ¿€å…‰å’Œç”µå¼§ã€‚阻止电力节点自动连接。 -block.thorium-wall.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ -block.thorium-wall-large.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ -block.phase-wall.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚åœ¨å—æ”»å‡»æ—¶å射大多数å­å¼¹ã€‚ -block.phase-wall-large.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚åœ¨å—æ”»å‡»æ—¶å射大多数å­å¼¹ã€‚ -block.surge-wall.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚å—æ”»å‡»æ—¶å®šæœŸé‡Šæ”¾ç”µå¼§ã€‚ -block.surge-wall-large.description = ä¿æŠ¤å·±æ–¹ç»“æž„ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚å—æ”»å‡»æ—¶å®šæœŸé‡Šæ”¾ç”µå¼§ã€‚ +block.power-void.description = æ¶ˆè€—è¾“å…¥çš„æ‰€æœ‰ç”µåŠ›ï¼Œä»…é™æ²™ç›’。 +block.power-source.description = æ— é™è¾“å‡ºç”µåŠ›ï¼Œä»…é™æ²™ç›’。 +block.item-source.description = æ— é™è¾“出物å“ï¼Œä»…é™æ²™ç›’。 +block.item-void.description = 销æ¯è¾“入的所有物å“ï¼Œä»…é™æ²™ç›’。 +block.liquid-source.description = æ— é™è¾“å‡ºæ¶²ä½“ï¼Œä»…é™æ²™ç›’。 +block.liquid-void.description = è’¸å‘è¾“å…¥çš„æ‰€æœ‰æ¶²ä½“ï¼Œä»…é™æ²™ç›’。 +block.payload-source.description = æ— é™è¾“出载è·ï¼Œä»…陿²™ç›’。 +block.payload-void.description = 销æ¯è¾“入的所有载è·ï¼Œä»…陿²™ç›’。 +block.copper-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.copper-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.titanium-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.titanium-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.plastanium-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ èƒ½å¸æ”¶æ¿€å…‰å’Œç”µå¼§ï¼Œä½†ä¹Ÿä¼šé˜»æ­¢ç”µåŠ›èŠ‚ç‚¹è‡ªåŠ¨è¿žæŽ¥ã€‚ +block.plastanium-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ èƒ½å¸æ”¶æ¿€å…‰å’Œç”µå¼§ï¼Œä½†ä¹Ÿä¼šé˜»æ­¢ç”µåŠ›èŠ‚ç‚¹è‡ªåŠ¨è¿žæŽ¥ã€‚ +block.thorium-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.thorium-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.phase-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ å—大多数å­å¼¹æ”»å‡»æ—¶æœ‰æ¦‚率将其å弹。 +block.phase-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ å—大多数å­å¼¹æ”»å‡»æ—¶æœ‰æ¦‚率将其å弹。 +block.surge-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ å—æ”»å‡»æ—¶é—´æ–­é‡Šæ”¾ç”µå¼§ã€‚ +block.surge-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ å—æ”»å‡»æ—¶é—´æ–­é‡Šæ”¾ç”µå¼§ã€‚ +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = å¯ä»¥å¼€å…³çš„墙。 block.door-large.description = å¯ä»¥å¼€å…³çš„墙。 -block.mender.description = 定期修å¤é™„近的区å—。\nå¯ä½¿ç”¨ç¡…æ¥æé«˜èŒƒå›´å’Œæ•ˆçŽ‡ã€‚ -block.mend-projector.description = ä¿®å¤å…¶é™„近的区å—。\nå¯ä½¿ç”¨ç›¸ä½ç‰©æ¥æé«˜å°„程和效率。 -block.overdrive-projector.description = æé«˜é™„近建筑物的速度。\nå¯ä½¿ç”¨ç›¸ä½ç‰©æ¥æé«˜å°„程和效率。 -block.force-projector.description = 在自身周围创建一个六角形力场,使里é¢çš„建筑物和å•ä½å…å—伤害。\næŒç»­æ‰¿å—高伤害会导致过热,å¯ä»¥ä½¿ç”¨å†·å´æ¶²é™æ¸©ã€‚相织物å¯ç”¨äºŽå¢žåŠ æŠ¤ç›¾å¤§å°ã€‚ +block.mender.description = 定期修å¤é™„近的建筑。\nå¯ä½¿ç”¨ç¡…æé«˜èŒƒå›´å’Œæ•ˆçŽ‡ã€‚ +block.mend-projector.description = 定期修å¤é™„近的建筑。\nå¯ä½¿ç”¨ç›¸ç»‡å¸ƒæé«˜èŒƒå›´å’Œæ•ˆçŽ‡ã€‚ +block.overdrive-projector.description = æå‡é™„近建筑的工作效率。\nå¯ä½¿ç”¨ç›¸ç»‡å¸ƒæé«˜èŒƒå›´å’Œæ•ˆçŽ‡ã€‚ +block.force-projector.description = 在自身周围创建一个六边形力场,使里é¢çš„建筑和å•ä½å…å—伤害。\n承å—过多伤害会导致过热,å¯ä»¥ä½¿ç”¨å†·å´æ¶²é™æ¸©ã€‚ 相织布å¯ç”¨äºŽå¢žåŠ åŠ›åœºå°ºå¯¸ã€‚ block.shock-mine.description = 对踩到它的敌人释放电弧进行攻击。 -block.thermal-pump.description = 终级液泵。 -block.conveyor.description = 将物å“å‘å‰è¾“é€ã€‚ -block.titanium-conveyor.description = 将物å“å‘å‰è¾“é€ã€‚快于åˆçº§ä¼ é€å¸¦ã€‚ -block.plastanium-conveyor.description = 打包物å“进行è¿è¾“。\nåœ¨åŽæ–¹è¾“入物å“ï¼Œåœ¨å‰æ–¹ä¸‰ä¸ªæ–¹å‘输出物å“。需è¦å¤šä¸ªè£…载和å¸è½½ç‚¹æ‰èƒ½è¾¾åˆ°å³°å€¼è½½é‡ã€‚ +block.conveyor.description = å‘å‰è¿è¾“物å“。 +block.titanium-conveyor.description = å‘å‰è¿è¾“物å“,比åˆçº§ä¼ é€å¸¦æ›´å¿«ã€‚ +block.plastanium-conveyor.description = 打包物å“进行è¿è¾“。\nä»ŽåŽæ–¹è¾“入物å“,三个方å‘输出物å“。 需è¦å¤šä¸ªè£…载和å¸è½½ç‚¹æ‰èƒ½è¾¾åˆ°æœ€å¤§åžåé‡ã€‚ block.junction.description = 两æ¡äº¤å‰ä¼ é€å¸¦çš„æ¡¥æ¢ã€‚ -block.bridge-conveyor.description = 跨越任æ„地形或建筑物è¿è¾“物å“。 -block.phase-conveyor.description = 跨越任æ„åœ°å½¢æˆ–å»ºç­‘ç‰©å³æ—¶è¿è¾“物å“。比传é€å¸¦æ¡¥èŒƒå›´æ›´å¤§ï¼Œä½†éœ€è¦ç”µåŠ›ã€‚ -block.sorter.description = 如果物å“与所选ç§ç±»ç›¸åŒï¼Œåˆ™å…许其通过。å¦åˆ™ï¼Œç‰©å“将从左边和å³è¾¹è¾“出。 -block.inverted-sorter.description = åƒåˆ†ç±»å™¨ä¸€æ ·å¤„ç†ç‰©å“ï¼Œä½†å´æ˜¯å‘两侧输出选定的物å“。 +block.bridge-conveyor.description = 跨越任æ„地形或建筑è¿è¾“物å“。 +block.phase-conveyor.description = 跨越任æ„åœ°å½¢æˆ–å»ºç­‘å³æ—¶è¿è¾“物å“。 比传é€å¸¦æ¡¥èŒƒå›´æ›´å¤§ï¼Œä½†éœ€è¦ç”µåŠ›ã€‚ +block.sorter.description = 如果物å“与所选ç§ç±»ç›¸åŒï¼Œåˆ™å…许其通过。 å¦åˆ™ï¼Œç‰©å“å°†å‘两侧输出。 +block.inverted-sorter.description = åƒåˆ†ç±»å™¨ä¸€æ ·å¤„ç†ç‰©å“,ä¸è¿‡æ˜¯å‘两侧输出所选的物å“。 block.router.description = 将物å“å¹³å‡åˆ†é…到其他3个方å‘。 -block.router.details = 这是个好东西,也å¯ä»¥å¸¦æ¥éº»çƒ¦ã€‚ä¸å»ºè®®åœ¨å·¥åŽ‚æ—边使用,因为它们会被产出堵塞。 +block.router.details = 这是个好东西,但也会带æ¥éº»çƒ¦ã€‚ ä¸å»ºè®®åœ¨å·¥åŽ‚æ—边使用,因为它们会被产出堵塞。 block.distributor.description = 将物å“å¹³å‡åˆ†é…到其他7个方å‘。 -block.overflow-gate.description = 当剿–¹è¢«é˜»å¡žæ—¶æ‰ä¼šå‘左和å³è¾“出,用于处ç†å¤šä½™çš„物å“。 -block.underflow-gate.description = 与溢æµé—¨ç›¸å。 当左å³å‡å µå¡žæ—¶æ‰å‘剿–¹è¿è¾“。 -block.mass-driver.description = é•¿è·ç¦»ç‰©å“传输结构,收集若干物å“åŽå°†å…¶å°„到远处的å¦ä¸€ä¸ªè´¨é‡é©±åŠ¨å™¨ã€‚ -block.mechanical-pump.description = æ³µé€æ¶²ä½“,ä¸éœ€è¦èƒ½é‡ã€‚ -block.rotary-pump.description = æ³µé€æ¶²ä½“,需è¦èƒ½é‡ã€‚ -block.thermal-pump.description = æ³µé€æ¶²ä½“。 -block.conduit.description = å‘å‰ä¼ è¾“液体。用于从泵或其他导管中æå–液体。 -block.pulse-conduit.description = å‘å‰ä¼ è¾“æ¶²ä½“ã€‚æ¯”æ™®é€šå¯¼ç®¡æ›´å¿«åœ°è¾“é€æ¶²ä½“且能储存更多液体。 -block.plated-conduit.description = å‘å‰ä¼ è¾“æ¶²ä½“ã€‚ä¸æŽ¥å—侧边输入。ä¸ä¼šå‘生泄露。 -block.liquid-router.description = 接å—一个方å‘的液体并将它们平å‡è¾“出到其他3个方å‘ã€‚åŒæ—¶å¯ä»¥å‚¨å­˜ä¸€å®šé‡çš„æ¶²ä½“。 -block.liquid-tank.description = å‚¨å­˜å¤§é‡æ¶²ä½“ã€‚åƒæ¶²ä½“路由器å‘å„个方å‘输出液体。 -block.liquid-junction.description = 两æ¡äº¤å‰é“管的桥æ¢ã€‚ -block.bridge-conduit.description = 跨越任æ„地形或建筑物è¿è¾“液体。 -block.phase-conduit.description = 跨越任æ„地形或建筑物è¿è¾“液体。比导管桥范围更大,但需è¦ç”µåŠ›ã€‚ -block.power-node.description = å‘è¿žæŽ¥çš„èŠ‚ç‚¹ä¼ è¾“ç”µåŠ›ã€‚è¯¥èŠ‚ç‚¹å°†ä»Žä»»ä½•ç›¸é‚»çš„å—æŽ¥æ”¶ç”µåŠ›æˆ–å‘其供电。 -block.power-node-large.description = 具有更大范围的高级电æºèŠ‚ç‚¹ã€‚ -block.surge-tower.description = å¯ç”¨è¿žæŽ¥è¾ƒå°‘的远程电æºèŠ‚ç‚¹ã€‚ -block.diode.description = 仅当一侧存储的电é‡è¾ƒå°‘æ—¶å‘å¦ä¸€ä¾§ä¼ è¾“电池电é‡ã€‚ +block.overflow-gate.description = 当剿–¹è¢«é˜»å¡žæ—¶æ‰ä¼šå‘两侧输出,用于处ç†å¤šä½™çš„物å“。 +block.underflow-gate.description = 与溢æµé—¨ç›¸å,当两侧å‡å µå¡žæ—¶æ‰å‘å‰è¿è¾“。 +block.mass-driver.description = 远è·ç¦»ç‰©å“传输建筑,收集若干物å“åŽå°†å…¶å‘射到远处的å¦ä¸€ä¸ªè´¨é‡é©±åŠ¨å™¨ã€‚ +block.mechanical-pump.description = æ³µé€æ¶²ä½“,ä¸éœ€è¦ç”µåŠ›ã€‚ +block.rotary-pump.description = æ³µé€æ¶²ä½“,需è¦ç”µåŠ›ã€‚ +block.impulse-pump.description = æ³µé€æ¶²ä½“。 +block.conduit.description = å‘å‰ä¼ è¾“液体。 与泵或者其他导管è”åˆä½¿ç”¨ã€‚ +block.pulse-conduit.description = å‘å‰ä¼ è¾“液体。 比普通导管传输液体更快,且能储存更多液体。 +block.plated-conduit.description = å‘å‰ä¼ è¾“æ¶²ä½“ï¼Œä¸æŽ¥å—ä¾§é¢è¾“入。 ä¸ä¼šå‘生泄æ¼ã€‚ +block.liquid-router.description = 接å—一个方å‘的液体输入,并平å‡è¾“出到其他3个方å‘。 å¯ä»¥å‚¨å­˜ä¸€å®šé‡çš„æ¶²ä½“。 +block.liquid-container.description = 储存数é‡å¯è§‚çš„æ¶²ä½“ï¼Œå¹¶åƒæ¶²ä½“路由器一样æœå„个方å‘输出液体。 +block.liquid-tank.description = 储存大é‡çš„æ¶²ä½“ï¼Œå¹¶åƒæ¶²ä½“路由器一样æœå„个方å‘输出液体。 +block.liquid-junction.description = 两æ¡äº¤å‰å¯¼ç®¡çš„æ¡¥æ¢ã€‚ +block.bridge-conduit.description = 跨越任æ„地形或建筑物传输液体。 +block.phase-conduit.description = 跨越任æ„地形或建筑物传输液体。 比导管桥范围更大,但需è¦ç”µåŠ›ã€‚ +block.power-node.description = å‘连接的其他节点传输电力,也能从相邻的建筑接收电力或å‘其供电。 +block.power-node-large.description = 连接范围更大的高级电力节点。 +block.surge-tower.description = 用于远è·ç¦»è¿žæŽ¥çš„电力节点,但连接数较少。 +block.diode.description = å•å‘传输电力,仅当此方å‘上电力储备较少时起作用。 block.battery.description = 储存电网多余电力,并在电网供电ä¸è¶³æ—¶æ”¾ç”µã€‚ -block.battery-large.description = 储存电网多余电力,并在电网供电ä¸è¶³æ—¶æ”¾ç”µã€‚æ¯”æ™®é€šç”µæ± å®¹é‡æ›´é«˜ã€‚ -block.combustion-generator.description = 燃烧煤等å¯ç‡ƒææ–™å‘电。 +block.battery-large.description = 储存电网多余电力,并在电网供电ä¸è¶³æ—¶æ”¾ç”µã€‚ æ¯”æ™®é€šç”µæ± å®¹é‡æ›´é«˜ã€‚ +block.combustion-generator.description = 燃烧煤炭之类的å¯ç‡ƒææ–™å‘电。 block.thermal-generator.description = 放置在炽热的地形上能够å‘电。 -block.steam-generator.description = é€šè¿‡ç‡ƒçƒ§æ˜“ç‡ƒææ–™å¹¶å°†æ°´è½¬åŒ–为蒸汽æ¥å‘电。 -block.differential-generator.description = 利用低温æµä½“与燃烧的硫之间的温差产生大é‡èƒ½é‡ã€‚ -block.rtg-generator.description = 利用放射物的衰å˜äº§ç”Ÿçš„热é‡ä»¥ç¼“慢的速度产生能é‡ã€‚ -block.solar-panel.description = æä¾›å°‘é‡å¤ªé˜³èƒ½ã€‚ -block.solar-panel-large.description = æä¾›å°‘é‡å¤ªé˜³èƒ½ã€‚æ¯”æ ‡å‡†å¤ªé˜³èƒ½ç”µæ± æ¿æ›´é«˜æ•ˆã€‚ -block.thorium-reactor.description = 从放射性的é’中产生大é‡çš„能é‡ã€‚éœ€è¦æŒç»­å†·å´ã€‚å¦‚æžœå†·å´æ¶²ä¾›åº”ä¸è¶³ï¼Œä¼šå‰§çƒˆçˆ†ç‚¸ã€‚ -block.impact-reactor.description = 以最高效率产生大é‡çš„电力。但需è¦å¤§é‡çš„能é‡è¾“å…¥æ¥å¯åŠ¨ã€‚ -block.mechanical-drill.description = 放置在矿物上时,以缓慢的速度无é™è¾“出物å“。åªèƒ½å¼€é‡‡åŸºæœ¬èµ„æºã€‚ -block.pneumatic-drill.description = ä¸€ç§æ”¹è¿›çš„钻头,能开采钛。采矿速度比机械钻头快。 -block.laser-drill.description = 通过激光技术更快地开采,但需è¦èƒ½é‡ã€‚è¿™ç§é’»å¤´å¯ä»¥å¼€é‡‡æ”¾å°„性的é’。 -block.blast-drill.description = 终æžé’»å¤´ï¼Œéœ€è¦å¤§é‡èƒ½é‡ã€‚ -block.water-extractor.description = 从地下æå–水。用于当附近没有地表水时。 -block.cultivator.description = 将微尿µ“度的大气中的孢å­åŸ¹å…»æˆå­¢å­èšã€‚ -block.cultivator.details = æ¢å¤çš„æŠ€æœ¯ã€‚用于尽å¯èƒ½é«˜æ•ˆåœ°ç”Ÿäº§å¤§é‡çš„生物质。很å¯èƒ½æ˜¯çŽ°åœ¨è¦†ç›–äº†å¡žæ™®ç½—çš„æœ€åˆçš„å­¢å­åŸ¹å…»å™¨ã€‚ -block.oil-extractor.description = 使用大é‡èƒ½é‡ã€æ²™å­å’Œæ°´é’»å–石油。 -block.core-shard.description = 基地的核心。一旦被摧æ¯ï¼Œæ­¤åŒºå—就会丢失。 -block.core-shard.details = åˆä»£æ ¸å¿ƒã€‚åšå›ºä¸”å¯è‡ªæˆ‘å¤åˆ¶ã€‚ä¸å…·å¤‡æ˜Ÿé™…旅行的能力。 -block.core-foundation.description = 基地的核心。装甲优良。比åˆä»£æ ¸å¿ƒå®¹é‡æ›´å¤§ã€‚ +block.steam-generator.description = é€šè¿‡ç‡ƒçƒ§æ˜“ç‡ƒææ–™å¹¶å°†æ°´è½¬åŒ–为蒸汽å‘电。 +block.differential-generator.description = 利用低温æµä½“与燃烧的硫化物之间的温差产生大é‡ç”µåŠ›ã€‚ +block.rtg-generator.description = 利用放射物衰å˜äº§ç”Ÿçš„热é‡ç¼“慢地产生电力。 +block.solar-panel.description = 利用太阳能产生少é‡ç”µåŠ›ã€‚ +block.solar-panel-large.description = 利用太阳能产生少é‡ç”µåŠ›ï¼Œæ¯”æ ‡å‡†å¤ªé˜³èƒ½ç”µæ± æ¿æ›´é«˜æ•ˆã€‚ +block.thorium-reactor.description = 从放射性的é’中产生大é‡çš„ç”µåŠ›ï¼Œéœ€è¦æŒç»­å†·å´ã€‚ å¦‚æžœå†·å´æ¶²ä¾›åº”ä¸è¶³ï¼Œä¼šå‰§çƒˆçˆ†ç‚¸ã€‚ +block.impact-reactor.description = 达到最高效率时能产生巨é‡ç”µåŠ›ï¼Œä½†å¯åŠ¨æ—¶ä¹Ÿéœ€è¦è¾“入大é‡ç”µåŠ›ã€‚ +block.mechanical-drill.description = 放置在矿物上时,以缓慢的速度无é™è¾“出物å“。 åªèƒ½å¼€é‡‡åŸºæœ¬èµ„æºã€‚ +block.pneumatic-drill.description = ä¸€ç§æ”¹è¿›çš„钻头,能开采钛。 采矿速度比机械钻头快。 +block.laser-drill.description = 通过激光技术更快地开采,但需è¦ç”µåŠ›ã€‚ è¿™ç§é’»å¤´å¯ä»¥å¼€é‡‡æ”¾å°„性的é’。 +block.blast-drill.description = 终æžé’»å¤´ï¼Œéœ€è¦å¤§é‡ç”µåŠ›ã€‚ +block.water-extractor.description = 从地下æå–水,适用于附近没有地表水的情况。 +block.cultivator.description = 将大气中低浓度的孢å­åŸ¹å…»æˆå­¢å­èšã€‚ +block.cultivator.details = 一ç§å¤±ä¼ å·²ä¹…的技术,用于尽å¯èƒ½é«˜æ•ˆåœ°ç”Ÿäº§å¤§é‡ç”Ÿç‰©è´¨ã€‚ 现在覆盖了塞普罗的孢å­ï¼Œæœ€åˆçš„培养设备å¯èƒ½å°±æ˜¯å®ƒã€‚ +block.oil-extractor.description = 使用沙å­ã€ 水和大é‡ç”µåЛ钻å–石油。 +block.core-shard.description = 基地的核心。 一旦被摧æ¯ï¼Œæ­¤åŒºå—就会丢失。 +block.core-shard.details = åˆä»£æ ¸å¿ƒï¼Œåšå›ºä¸”能够自我维æŒã€‚ ä¸å…·å¤‡æ˜Ÿé™…旅行的能力。 +block.core-foundation.description = 基地的核心。 装甲优良。 容釿¯”åˆä»£æ ¸å¿ƒæ›´å¤§ã€‚ block.core-foundation.details = 次代核心。 -block.core-nucleus.description = 基地的核心。装甲æžä½³ã€‚容釿žå¤§ã€‚ +block.core-nucleus.description = 基地的核心。 装甲æžä½³ï¼Œå®¹é‡æžå¤§ã€‚ block.core-nucleus.details = 三代也是终代核心。 -block.vault.description = 存储æ¯ç§ç±»åž‹çš„大é‡ç‰©å“。å¯ä½¿ç”¨å¸è½½å™¨å¸è½½ç‰©å“。 -block.container.description = 存储æ¯ç§ç±»åž‹çš„å°‘é‡ç‰©å“。å¯ä½¿ç”¨å¸è½½å™¨å¸è½½ç‰©å“。 -block.unloader.description = 从周围方å—å¸è½½æŒ‡å®šç‰©å“。 +block.vault.description = 大é‡å­˜å‚¨å„ç§ç±»åž‹çš„物å“。 å¯ä½¿ç”¨è£…å¸å™¨å¸è½½ç‰©å“。 +block.container.description = å°‘é‡å­˜å‚¨å„ç§ç±»åž‹çš„物å“。 å¯ä½¿ç”¨è£…å¸å™¨å¸è½½ç‰©å“。 +block.unloader.description = 从周围的建筑å¸è½½æŒ‡å®šç‰©å“。 block.launch-pad.description = 将货物å‘射至指定区å—。 +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = äº¤æ›¿å‘æ•Œäººå‘å°„å­å¼¹ã€‚ -block.scatter.description = 呿•Œæœºå‘å°„é“…ã€åºŸæ–™æˆ–钢化玻璃高射炮弹。 -block.scorch.description = 焚烧任何é è¿‘å®ƒçš„åœ°é¢æ•Œäººã€‚è¿‘è·ç¦»é«˜æ•ˆ +block.scatter.description = 呿•Œæ–¹æˆ˜æœºå‘射铅〠废料或钢化玻璃高射炮弹。 +block.scorch.description = 焚烧任何é è¿‘å®ƒçš„åœ°é¢æ•Œäººã€‚ è¿‘è·ç¦»å†…å分有效。 block.hail.description = å‘远è·ç¦»åœ°é¢æ•Œäººå‘å°„å°åž‹ç‚®å¼¹ã€‚ -block.wave.description = 呿•Œäººå°„出液体æµã€‚ä½¿ç”¨æ°´ä½œå¼¹è¯æ—¶èƒ½å¤Ÿè‡ªåЍç­ç«ã€‚ -block.lancer.description = 充能并å‘地é¢å•ä½å‘射强力的的波æŸã€‚ +block.wave.description = 呿•Œäººå–·å°„液体æµã€‚ ä½¿ç”¨æ°´ä½œå¼¹è¯æ—¶èƒ½å¤Ÿè‡ªåЍç­ç«ã€‚ +block.lancer.description = 充能并å‘地é¢å•ä½å‘å°„å¼ºåŠ›èƒ½é‡æŸã€‚ block.arc.description = å‘地é¢å•ä½å‘射电弧。 block.swarmer.description = 呿•Œäººå‘射追踪导弹。 -block.salvo.description = 呿•Œäººå¿«é€Ÿå°„击å­å¼¹ã€‚ -block.fuse.description = å‘附近的敌人å‘射三次近è·ç¦»ç©¿é€æ€§çˆ†ç‚¸å­å¼¹ã€‚ +block.salvo.description = å¿«é€Ÿåœ°å‘æ•Œäººé½å°„å­å¼¹ã€‚ +block.fuse.description = å‘附近的敌人å‘射三å‘è¿‘è·ç¦»ç©¿é€æ€§çˆ†ç‚¸å­å¼¹ã€‚ block.ripple.description = å‘远è·ç¦»åœ°é¢æ•Œäººå‘射密集的炮弹。 -block.cyclone.description = å‘附近的敌人å‘射密集的高射炮弹。 +block.cyclone.description = å‘附近的敌人å‘射密集的爆炸å­å¼¹ã€‚ block.spectre.description = å‘空中和地é¢ç›®æ ‡å‘射大型穿甲å­å¼¹ã€‚ -block.meltdown.description = å‘附近的敌人å‘å°„æŒç»­çš„æ¿€å…‰æŸã€‚需è¦ä¾›å†·ã€‚ -block.foreshadow.description = å‘远è·ç¦»å•目标射击。 -block.repair-point.description = æŒç»­ä¿®å¤å…¶é™„è¿‘å—æŸæœ€ä¸¥é‡çš„å•ä½ã€‚ -block.segment.description = æ‘§æ¯è¢­æ¥çš„除激光以外的å­å¼¹æˆ–导弹。 -block.parallax.description = 通过牵引光æŸç‰µå¼•空中目标,并在这个过程中对其造æˆä¼¤å®³ã€‚ -block.tsunami.description = 呿•Œäººå°„出强力的液体æµã€‚ä½¿ç”¨æ°´ä½œå¼¹è¯æ—¶èƒ½å¤Ÿè‡ªåЍç­ç«ã€‚ -block.silicon-crucible.description = 从沙å­å’Œç…¤ä¸­æç‚¼ç¡…,用硫化物作为附加热æºã€‚在炙热地型上更高效。 -block.disassembler.description = 以低效率将矿渣分离æˆå¾®é‡çš„外æ¥çŸ¿ç‰©æˆåˆ†ã€‚能产生é’。 -block.overdrive-dome.description = æé«˜é™„近建筑物的速度。需è¦ç›¸ä½ç‰©å’Œç¡…æ¥å·¥ä½œã€‚ -block.payload-conveyor.description = 移动大型有效载è·ï¼Œä¾‹å¦‚从工厂生产的å•ä½ã€‚ -block.payload-router.description = 将输入的有效载è·å‘3个方å‘输出。 -block.command-center.description = 使用多个ä¸åŒçš„命令控制å•ä½ã€‚ -block.ground-factory.description = 产生陆军å•ä½ã€‚输出的å•ä½å¯ä»¥ç›´æŽ¥ä½¿ç”¨ï¼Œä¹Ÿå¯ä»¥ç§»å…¥é‡æž„厂进行å‡çº§ã€‚ -block.air-factory.description = 产生空军å•ä½ã€‚输出的å•ä½å¯ä»¥ç›´æŽ¥ä½¿ç”¨ï¼Œä¹Ÿå¯ä»¥ç§»å…¥é‡æž„厂进行å‡çº§ã€‚ -block.naval-factory.description = 产生海军å•ä½ã€‚输出的å•ä½å¯ä»¥ç›´æŽ¥ä½¿ç”¨ï¼Œä¹Ÿå¯ä»¥ç§»å…¥é‡æž„厂进行å‡çº§ã€‚ +block.meltdown.description = 充能并å‘附近的敌人å‘å°„æŒç»­çš„æ¿€å…‰æŸã€‚ 需è¦å†·å´æ¶²ã€‚ +block.foreshadow.description = å‘远è·ç¦»å•个目标射击。 优先攻击生命值上é™è¾ƒé«˜çš„å•ä½ã€‚ +block.repair-point.description = æŒç»­ä¿®å¤èŒƒå›´å†…å—æŸçš„å•ä½ã€‚ +block.segment.description = æ‘§æ¯æ¥è¢­çš„å­å¼¹æˆ–导弹,对激光无效。 +block.parallax.description = é€šè¿‡ç‰µå¼•å…‰æŸæ‹‰æ‰¯ç©ºä¸­ç›®æ ‡ï¼Œå¹¶å¯¹å…¶é€ æˆä¼¤å®³ã€‚ +block.tsunami.description = 呿•Œäººå–·å°„强力的液体æµã€‚ ä½¿ç”¨æ°´ä½œå¼¹è¯æ—¶èƒ½å¤Ÿè‡ªåЍç­ç«ã€‚ +block.silicon-crucible.description = 从沙å­å’Œç…¤ä¸­æç‚¼ç¡…,用硫化物作为附加热æºã€‚ 在炙热地形上更高效。 +block.disassembler.description = 以低效率将矿渣液分离æˆå¾®é‡çš„外æ¥çŸ¿ç‰©æˆåˆ†ã€‚ 能产生é’。 +block.overdrive-dome.description = æé«˜é™„近建筑物的工作效率。 需è¦ç›¸ç»‡å¸ƒå’Œç¡…。 +block.payload-conveyor.description = è¿é€å¤§åž‹è½½è·ï¼Œä¾‹å¦‚从工厂生产的å•ä½ã€‚ +block.payload-router.description = 将输入的载è·å‘3个方å‘è½®æµè¾“出。 +block.ground-factory.description = 生产陆军å•ä½ã€‚ 产出的å•ä½å¯ä»¥ç›´æŽ¥æŠ•入战场,也å¯ä»¥é€å…¥é‡æž„工厂进行å‡çº§ã€‚ +block.air-factory.description = 生产空军å•ä½ã€‚ 产出的å•ä½å¯ä»¥ç›´æŽ¥æŠ•入战场,也å¯ä»¥é€å…¥é‡æž„工厂进行å‡çº§ã€‚ +block.naval-factory.description = 生产海军å•ä½ã€‚ 产出的å•ä½å¯ä»¥ç›´æŽ¥æŠ•入战场,也å¯ä»¥é€å…¥é‡æž„工厂进行å‡çº§ã€‚ block.additive-reconstructor.description = 将输入的å•ä½å‡çº§åˆ°ç¬¬äºŒçº§ã€‚ block.multiplicative-reconstructor.description = 将输入的å•ä½å‡çº§åˆ°ç¬¬ä¸‰çº§ã€‚ block.exponential-reconstructor.description = 将输入的å•ä½å‡çº§åˆ°ç¬¬å››çº§ã€‚ -block.tetrative-reconstructor.description = 将输入的å•ä½å‡çº§åˆ°ç¬¬äº”级,也是最终æžã€‚ -block.switch.description = å¯åˆ‡æ¢å¼€å…³ã€‚状æ€å¯ä»¥ç”¨é€»è¾‘处ç†å™¨è¯»å–和控制。 -block.micro-processor.description = 在循环中è¿è¡Œä¸€ç³»åˆ—逻辑指令。å¯ç”¨äºŽæŽ§åˆ¶å•元和建筑物。 -block.logic-processor.description = 在循环中è¿è¡Œä¸€ç³»åˆ—逻辑指令。å¯ç”¨äºŽæŽ§åˆ¶å•元和建筑物。比微型处ç†å™¨å¿«ã€‚ -block.hyper-processor.description = 在循环中è¿è¡Œä¸€ç³»åˆ—逻辑指令。å¯ç”¨äºŽæŽ§åˆ¶å•元和建筑物。å¯ç”¨äºŽæŽ§åˆ¶å•元和建筑物。比逻辑处ç†å™¨å¿«ã€‚ +block.tetrative-reconstructor.description = 将输入的å•ä½å‡çº§åˆ°ç¬¬äº”çº§ï¼Œå³æœ€ç»ˆæžã€‚ +block.switch.description = å¯åˆ‡æ¢çš„开关。 开关状æ€å¯ä»¥ç”¨é€»è¾‘处ç†å™¨è¯»å–和控制。 +block.micro-processor.description = 循环è¿è¡Œä¸€ç³»åˆ—逻辑指令,å¯ç”¨äºŽæŽ§åˆ¶å•ä½å’Œå»ºç­‘物。 +block.logic-processor.description = 循环è¿è¡Œä¸€ç³»åˆ—逻辑指令,å¯ç”¨äºŽæŽ§åˆ¶å•ä½å’Œå»ºç­‘物。 比微型处ç†å™¨æ›´å¿«ã€‚ +block.hyper-processor.description = 循环è¿è¡Œä¸€ç³»åˆ—逻辑指令,å¯ç”¨äºŽæŽ§åˆ¶å•ä½å’Œå»ºç­‘物。 比逻辑处ç†å™¨æ›´å¿«ã€‚ block.memory-cell.description = 存储处ç†å™¨çš„ä¿¡æ¯ã€‚ -block.memory-bank.description = 存储处ç†å™¨çš„ä¿¡æ¯ã€‚å†…å­˜é‡æ›´å¤§ã€‚ -block.logic-display.description = 显示处ç†å™¨ä¸­çš„ä»»æ„图形。 -block.large-logic-display.description = 显示处ç†å™¨ä¸­çš„ä»»æ„图形。 -block.interplanetary-accelerator.description = 一个巨大的电ç£è½¨é“加速器。加速核心逃逸速度以进行星际部署。 +block.memory-bank.description = 存储处ç†å™¨çš„ä¿¡æ¯ã€‚ 容釿›´å¤§ã€‚ +block.logic-display.description = 显示处ç†å™¨ä¸­ç»˜åˆ¶çš„å„ç§å›¾åƒã€‚ +block.large-logic-display.description = 显示处ç†å™¨ä¸­ç»˜åˆ¶çš„å„ç§å›¾åƒã€‚ +block.interplanetary-accelerator.description = 一个巨大的电ç£è½¨é“加速器。 将核心加速至逃逸速度以进行星际部署。 +block.repair-turret.description = æŒç»­ä¿®å¤èŒƒå›´å†…å—æŸçš„å•ä½ã€‚ å¯ä»¥ç”¨å†·å´æ¶²å¼ºåŒ–。 -unit.dagger.description = 攻击附近所有敌人。å‘射标准å­å¼¹ã€‚ -unit.mace.description = 攻击附近所有敌人。å‘å°„ç«ç„°ã€‚ -unit.fortress.description = æ”»å‡»åœ°é¢æ•Œäººã€‚å‘射远程ç«ç‚®ã€‚ -unit.scepter.description = 攻击附近所有敌人。å‘射充能弹。 -unit.reign.description = 攻击附近所有敌人。å‘å°„ç©¿é€æ€§å­å¼¹ã€‚ -unit.nova.description = å‘å°„æ¿€å…‰å¼¹æ¥æ”»å‡»æ•Œäººå¹¶ä¿®å¤ç›Ÿå†›å»ºç­‘。能够飞行。 -unit.pulsar.description = å‘å°„ç”µå¼§æ¥æ”»å‡»æ•Œäººå¹¶ä¿®å¤ç›Ÿå†›å»ºç­‘。能够飞行。 -unit.quasar.description = å‘å°„ç©¿é€æ€§æ¿€å…‰æŸæ¥æ”»å‡»æ•Œäººå¹¶ä¿®å¤ç›Ÿå†›å»ºç­‘。能够飞行。拥有护盾。 -unit.vela.description = å‘射巨大的æŒç»­æ¿€å…‰æŸæ”»å‡»æ•Œäººï¼Œå¼•èµ·ç«ç¾å¹¶ä¿®å¤ç›Ÿå†›å»ºç­‘。能够飞行。 -unit.corvus.description = å‘射巨大的激光爆破æŸï¼Œæ‘§æ¯æ•Œäººå¹¶ä¿®å¤ç›Ÿå†›å»ºç­‘。å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ -unit.crawler.description = 冲呿•Œäººå¹¶è‡ªæ¯ï¼Œé€ æˆå¤§çˆ†ç‚¸ã€‚ -unit.atrax.description = å‘地é¢ç›®æ ‡å‘射削弱性的矿渣çƒä½“。å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ -unit.spiroct.description = 呿•Œäººå‘射激光æŸï¼Œå¹¶åœ¨æ­¤è¿‡ç¨‹ä¸­è‡ªæˆ‘ä¿®å¤ã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ -unit.arkyid.description = 呿•Œäººå‘射大釿¿€å…‰æŸï¼Œå¹¶åœ¨æ­¤è¿‡ç¨‹ä¸­è‡ªæˆ‘ä¿®å¤ã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ -unit.toxopid.description = 呿•Œäººå‘射大型电能集æŸç‚®å¼¹å’Œç©¿é€æ¿€å…‰ã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ -unit.flare.description = æ”»å‡»åœ°é¢æ•Œäººã€‚å‘射标准å­å¼¹ã€‚ -unit.horizon.description = æ”»å‡»åœ°é¢æ•Œäººã€‚投下炸弹。 -unit.zenith.description = 攻击附近所有敌人。å‘射导弹群。 -unit.antumbra.description = 攻击附近所有敌人。å‘射密集的å­å¼¹ã€‚ -unit.eclipse.description = 攻击附近所有敌人。å‘å°„ç©¿é€æ€§æ¿€å…‰å’Œåˆ†è£‚弹。 +#埃里克尔 +block.core-bastion.description = 基地的核心。 拥有装甲。 一旦被摧æ¯ï¼Œæ­¤åŒºå—就会丢失。 +block.core-citadel.description = 基地的核心。 装甲优良。 容釿¯”城堡核心更大。 +block.core-acropolis.description = 基地的核心。 装甲æžä½³ã€‚ 容釿¯”堡垒核心更大。 +block.breach.description = 呿•Œäººå‘射铿ˆ–钨穿é€å­å¼¹ã€‚ +block.diffuse.description = å‘剿–¹é”¥å½¢åŒºåŸŸå‘å°„å­å¼¹ã€‚ 并把敌人击退。 +block.sublimate.description = 呿•ŒäººæŒç»­å–·å°„ç«ç„°ã€‚ ç©¿é€æ•Œæ–¹è£…甲。 +block.titan.description = å‘åœ°é¢æ•Œäººå‘射巨大的爆炸炮弹。 éœ€è¦æ°¢æ°”。 +block.afflict.description = 呿•Œäººå‘射巨大的带电碎片弹。 需è¦çƒ­é‡ã€‚ +block.disperse.description = å‘空中敌人å‘射高射炮弹。 +block.lustre.description = 呿•Œäººå‘射慢速å•目标激光。 +block.scathe.description = å‘åœ°é¢æ•Œäººå‘å°„å¨åŠ›å¼ºå¤§çš„è¿œç¨‹å¯¼å¼¹ã€‚ +block.smite.description = 呿•Œäººå‘射放电穿é€å­å¼¹ã€‚ +block.malign.description = 呿•Œæ–¹å‘射一连串的激光导弹。 需è¦å¤§é‡çƒ­é‡ã€‚ +block.silicon-arc-furnace.description = 将沙和石墨精炼æˆç¡…。 +block.oxidation-chamber.description = å°†é“和臭氧转化为氧化物。 副产出热é‡ã€‚ +block.electric-heater.description = 加热æœå‘的建筑。 需è¦å¤§é‡ç”µåŠ›ã€‚ +block.slag-heater.description = 加热æœå‘的建筑。 需è¦çŸ¿æ¸£ã€‚ +block.phase-heater.description = 加热æœå‘的建筑。 需è¦ç›¸ç»‡å¸ƒã€‚ +block.heat-redirector.description = 将累积的热é‡ä¼ è¾“到其他建筑。 +block.small-heat-redirector.description = 将累积的热é‡ä¼ è¾“到其他建筑。 +block.heat-router.description = 将累积的热é‡å¹³å‡åˆ†é…到其它3个方å‘。 +block.electrolyzer.description = 将水电解为氢和臭氧气体。 +block.atmospheric-concentrator.description = 从大气中浓缩氮气。 需è¦çƒ­é‡ã€‚ +block.surge-crucible.description = ç”¨çŸ¿æ¸£å’Œç¡…åˆæˆå·¨æµªåˆé‡‘。 需è¦çƒ­é‡ã€‚ +block.phase-synthesizer.description = 用é’〠沙å­å’Œè‡­æ°§åˆæˆç›¸ç»‡å¸ƒã€‚ 需è¦çƒ­é‡ã€‚ +block.carbide-crucible.description = 将石墨和钨熔炼为碳化物。 需è¦çƒ­é‡ã€‚ +block.cyanogen-synthesizer.description = ç”¨èŠ³æ²¹å’ŒçŸ³å¢¨åˆæˆæ°°æ°”。 需è¦çƒ­é‡ã€‚ +block.slag-incinerator.description = 焚烧稳定的物å“和液体。 需è¦çŸ¿æ¸£ã€‚ +block.vent-condenser.description = å°†æŽ’å‡ºçš„æ°´è’¸æ°”å†·å‡æˆæ°´ã€‚ 消耗电力。 +block.plasma-bore.description = é¢å‘çŸ¿å£æ”¾ç½®æ—¶ï¼Œä»¥ç¼“慢的速度无é™äº§å‡ºç‰©å“。 需è¦å°‘é‡ç”µåŠ›ã€‚ +block.large-plasma-bore.description = 更大的等离å­é’»æœºã€‚ 能够开采钨和é’。 éœ€è¦æ°¢æ°”和电力。 +block.cliff-crusher.description = 粉碎墙å£ï¼Œä»¥ç¼“慢的速度无é™äº§å‡ºæ²™å­ã€‚ 需è¦ç”µåŠ›ã€‚ 效率因墙的类型而异。 +block.large-cliff-crusher.description = 粉碎墙å£ï¼ŒæŒç»­äº§å‡ºæ²™å­ã€‚ 需è¦ç”µåŠ›å’Œè‡­æ°§ã€‚ 效率因墙的类型而异。 å¯é€‰æ¶ˆè€—钨以æé«˜æ•ˆçŽ‡ã€‚ +block.impact-drill.description = 放置在矿物上时,以缓慢的速度无é™äº§å‡ºç‰©å“。 需è¦ç”µåŠ›å’Œæ°´ã€‚ +block.eruption-drill.description = 改进过的冲击钻头。 能够开采é’。 éœ€è¦æ°¢ã€‚ +block.reinforced-conduit.description = å‘å‰ä¼ è¾“æµä½“。 䏿ޥå—ä¾§é¢çš„éžå¯¼ç®¡è¾“入。 +block.reinforced-liquid-router.description = å°†æµä½“å¹³å‡åˆ†é…åˆ°æ‰€æœ‰ä¾§é¢æ–¹å‘。 +block.reinforced-liquid-tank.description = 储存大é‡çš„æµä½“ã€‚ +block.reinforced-liquid-container.description = 储存数é‡å¯è§‚çš„æµä½“。 +block.reinforced-bridge-conduit.description = 跨越任æ„地形或建筑物传输æµä½“。 +block.reinforced-pump.description = æ³µé€æ¶²ä½“。 éœ€è¦æ°¢æ°”。 +block.beryllium-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.beryllium-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.tungsten-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.tungsten-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.carbide-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.carbide-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ +block.reinforced-surge-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ å—æ”»å‡»æ—¶é—´æ–­é‡Šæ”¾ç”µå¼§ã€‚ +block.reinforced-surge-wall-large.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ å—æ”»å‡»æ—¶é—´æ–­é‡Šæ”¾ç”µå¼§ã€‚ +block.shielded-wall.description = ä¿æŠ¤å·±æ–¹å»ºç­‘ï¼ŒæŒ¡ä¸‹æ•Œæ–¹ç‚®å¼¹ã€‚ åˆ›å»ºä¸€ä¸ªåŠ›åœºï¼Œå¹¶åœ¨é€šç”µæ—¶å¸æ”¶å¤§éƒ¨åˆ†ç‚®å¼¹ã€‚ å¯ä»¥ä¼ å¯¼ç”µåŠ›ã€‚ +block.blast-door.description = 当己方地é¢å•ä½åœ¨èŒƒå›´å†…时自动打开的墙。 无法手动控制。 +block.duct.description = å‘å‰è¿è¾“物å“。 åªèƒ½å­˜å‚¨ä¸€ä¸ªç‰©å“。 +block.armored-duct.description = å‘å‰è¿è¾“物å“。 䏿ޥå—ä¾§é¢çš„éžç®¡é“输入。 +block.duct-router.description = 将物å“å¹³å‡åˆ†é…到其它3个方å‘。 åªæŽ¥å—背é¢çš„物å“。 å¯è¢«é…置为分类器。 +block.overflow-duct.description = 当剿–¹è¢«å µå¡žæ—¶æ‰ä¼šå‘两侧输出,用于处ç†å¤šä½™çš„物å“。 +block.duct-bridge.description = 跨越任æ„地形或建筑物传输物å“。 +block.duct-unloader.description = 从背åŽçš„建筑å¸è½½æŒ‡å®šç‰©å“。 无法从核心å¸è½½ã€‚ +block.underflow-duct.description = 与溢æµç®¡é“相å。 当两侧å‡å µå¡žæ—¶æ‰å‘å‰è¿è¾“。 +block.reinforced-liquid-junction.description = 两æ¡äº¤å‰å¼ºåŒ–导管的桥æ¢ã€‚ +block.surge-conveyor.description = 打包物å“进行è¿è¾“。 å¯ä»¥ç”¨ç”µåŠ›åŠ é€Ÿã€‚ å¯ä»¥ä¼ å¯¼ç”µåŠ›ã€‚ +block.surge-router.description = å°†åˆé‡‘ä¼ é€å¸¦ä¸Šçš„物å“å¹³å‡åˆ†é…到其它3个方å‘。 å¯ä»¥ç”¨ç”µåŠ›åŠ é€Ÿã€‚ å¯ä»¥ä¼ å¯¼ç”µåŠ›ã€‚ +block.unit-cargo-loader.description = å»ºé€ è´§è¿æ— äººæœºã€‚ 无人机通过需求自动将物å“分é…到å•ä½ç‰©æµå¸è½½ç‚¹ã€‚ +block.unit-cargo-unload-point.description = ä½œä¸ºè´§è¿æ— äººæœºçš„å¸è´§ç‚¹ã€‚接å—需求的物å“。 +block.beam-node.description = å‘其他互相垂直的节点传输电力。 存储少é‡ç”µåŠ›ã€‚ +block.beam-tower.description = å‘其他互相垂直的节点传输电力。 存储大é‡ç”µåŠ›ã€‚ 连接è·ç¦»è¿œã€‚ +block.turbine-condenser.description = 当放置在喷å£ä¸Šæ—¶äº§ç”Ÿç”µåŠ›ã€‚ åŒæ—¶äº§ç”Ÿå°‘釿°´ã€‚ +block.chemical-combustion-chamber.description = 利用芳油和臭氧å‘电。 +block.pyrolysis-generator.description = 使用矿渣热解芳油产生大é‡ç”µåŠ›ã€‚ åŒæ—¶äº§ç”Ÿæ°´ã€‚ +block.flux-reactor.description = 在加热时产生大é‡ç”µåŠ›ã€‚ éœ€è¦æ°°æ°”作为稳定剂。 电力输出和氰气需求与热é‡è¾“å…¥æˆæ¯”例。\n如果æä¾›çš„æ°°æ°”ä¸è¶³åˆ™ä¼šçˆ†ç‚¸ã€‚ +block.neoplasia-reactor.description = 利用芳油〠水和相织布产生大é‡ç”µåŠ›ã€‚ åŒæ—¶äº§ç”Ÿçƒ­é‡å’Œå±é™©çš„瘤液。\n如果瘤液未通过导管从å应堆中移除,则会剧烈爆炸。 +block.build-tower.description = 自动é‡å»ºèŒƒå›´å†…的建筑,并在其他å•ä½è¿›è¡Œå»ºé€ æ—¶æä¾›å助。 +block.regen-projector.description = 在方形范围内缓慢修å¤å·±æ–¹å»ºç­‘。 éœ€è¦æ°¢æ°”。 +block.reinforced-container.description = å°‘é‡å­˜å‚¨å„ç§ç±»åž‹çš„物å“。 å¯ä½¿ç”¨å¸è½½å™¨å¸è½½ç‰©å“。 ä¸ä¼šå¢žåŠ æ ¸å¿ƒå­˜å‚¨å®¹é‡ã€‚ +block.reinforced-vault.description = 大é‡å­˜å‚¨å„ç§ç±»åž‹çš„物å“。 å¯ä½¿ç”¨å¸è½½å™¨å¸è½½ç‰©å“。 ä¸ä¼šå¢žåŠ æ ¸å¿ƒå­˜å‚¨å®¹é‡ã€‚ +block.tank-fabricator.description = 生产å¦å…‹å•ä½ã€‚ 产出的å•ä½å¯ä»¥ç›´æŽ¥æŠ•入战场,也å¯ä»¥é€å…¥é‡æž„工厂进行å‡çº§ã€‚ +block.ship-fabricator.description = 生产飞船å•ä½ã€‚ 产出的å•ä½å¯ä»¥ç›´æŽ¥æŠ•入战场,也å¯ä»¥é€å…¥é‡æž„工厂进行å‡çº§ã€‚ +block.mech-fabricator.description = 生产机甲å•ä½ã€‚ 产出的å•ä½å¯ä»¥ç›´æŽ¥æŠ•入战场,也å¯ä»¥é€å…¥é‡æž„工厂进行å‡çº§ã€‚ +block.tank-assembler.description = 利用输入的方å—å’Œå•ä½ç»„装大型å¦å…‹ã€‚ å¯ä»¥é€šè¿‡æ·»åŠ åŸºæœ¬è£…é…åŽ‚æ¨¡å—æ¥å¢žåŠ è¾“å‡ºç­‰çº§ã€‚ +block.ship-assembler.description = 利用输入的方å—å’Œå•ä½ç»„装大型飞船。 å¯ä»¥é€šè¿‡æ·»åŠ åŸºæœ¬è£…é…åŽ‚æ¨¡å—æ¥å¢žåŠ è¾“å‡ºç­‰çº§ã€‚ +block.mech-assembler.description = 利用输入的方å—å’Œå•ä½ç»„装大型机甲。 å¯ä»¥é€šè¿‡æ·»åŠ åŸºæœ¬è£…é…åŽ‚æ¨¡å—æ¥å¢žåŠ è¾“å‡ºç­‰çº§ã€‚ +block.tank-refabricator.description = 将输入的å¦å…‹å•ä½å‡çº§åˆ°ç¬¬äºŒçº§ã€‚ +block.ship-refabricator.description = 将输入的飞船å•ä½å‡çº§åˆ°ç¬¬äºŒçº§ã€‚ +block.mech-refabricator.description = 将输入的机甲å•ä½å‡çº§åˆ°ç¬¬äºŒçº§ã€‚ +block.prime-refabricator.description = 将输入的å•ä½å‡çº§åˆ°ç¬¬ä¸‰çº§ã€‚ +block.basic-assembler-module.description = 当放置在构造边界æ—边时,增加输出等级。 需è¦ç”µåŠ›ã€‚ å¯ä»¥ç”¨ä½œè½½è·è¾“入。 +block.small-deconstructor.description = 解构方å—å’Œå•ä½ï¼Œè¿”还100%资æºã€‚ +block.reinforced-payload-conveyor.description = å‘å‰è¿è¾“è½½è·ã€‚ +block.reinforced-payload-router.description = 将载è·å‘3个方å‘è½®æµè¾“å‡ºã€‚è®¾ç½®è½½è·æ—¶å¯ç”¨ä½œåˆ†ç±»å™¨ã€‚ +block.payload-mass-driver.description = 远è·ç¦»è·è½½è¿è¾“建筑。 å‘相连的其它载è·è´¨é‡é©±åЍ噍å‘å°„è½½è·ã€‚ +block.large-payload-mass-driver.description = 远è·ç¦»è·è½½è¿è¾“建筑。 å‘相连的其它大型载è·è´¨é‡é©±åЍ噍å‘å°„è½½è·ã€‚ +block.unit-repair-tower.description = ä¿®å¤é™„近的所有å•ä½ã€‚ 需è¦è‡­æ°§ã€‚ +block.radar.description = 逿¸å‘现大范围内的地形和敌人å•ä½ã€‚ 需è¦ç”µåŠ›ã€‚ +block.shockwave-tower.description = ç ´å和摧æ¯åŠå¾„范围内的敌人炮弹。 éœ€è¦æ°°æ°”。 +block.canvas.description = 显示使用预定义的调色æ¿ç»˜åˆ¶çš„图åƒã€‚ 坿‰‹åŠ¨ç¼–è¾‘ã€‚ + +unit.dagger.description = 呿•Œäººå‘射标准å­å¼¹ã€‚ +unit.mace.description = 呿•Œäººå–·å°„ç«ç„°ã€‚ +unit.fortress.description = å‘åœ°é¢æ•Œäººå‘射远程ç«ç‚®ã€‚ +unit.scepter.description = 呿•Œäººå¿«é€Ÿå‘射带电å­å¼¹ã€‚ +unit.reign.description = 呿•Œäººå¿«é€Ÿå‘射大型穿é€å­å¼¹ã€‚ +unit.nova.description = å‘射激光弹攻击敌人并修å¤å·±æ–¹å»ºç­‘。 能够助推。 +unit.pulsar.description = å‘射电弧攻击敌人并修å¤å·±æ–¹å»ºç­‘。 能够助推。 +unit.quasar.description = å‘å°„ç©¿é€æ€§æ¿€å…‰æŸæ”»å‡»æ•Œäººå¹¶ä¿®å¤å·±æ–¹å»ºç­‘。 能够助推。 拥有护盾。 +unit.vela.description = å‘射巨大的æŒç»­æ¿€å…‰æŸæ”»å‡»æ•Œäººå¹¶å¼•起燃烧,修å¤å·±æ–¹å»ºç­‘。 能够助推。 +unit.corvus.description = å‘å°„å·¨å¤§çš„çˆ†å‘æ¿€å…‰æŸï¼Œæ‘§æ¯æ•Œäººå¹¶ä¿®å¤å·±æ–¹å»ºç­‘。 å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.crawler.description = 冲呿•Œäººå¹¶è‡ªæ¯ï¼Œé€ æˆå¤§èŒƒå›´çˆ†ç‚¸ã€‚ +unit.atrax.description = å‘地é¢ç›®æ ‡å‘射削弱性的çƒçŠ¶çŸ¿æ¸£æ¶²ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.spiroct.description = 呿•Œäººå‘射较弱的激光æŸï¼Œå¹¶åœ¨æ­¤è¿‡ç¨‹ä¸­è‡ªæˆ‘ä¿®å¤ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.arkyid.description = 呿•Œäººå‘射大型激光æŸï¼Œå¹¶åœ¨æ­¤è¿‡ç¨‹ä¸­è‡ªæˆ‘ä¿®å¤ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.toxopid.description = 呿•Œäººå‘射大型带电集æŸç‚®å¼¹å’Œç©¿é€æ€§æ¿€å…‰ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.flare.description = å‘åœ°é¢æ•Œäººå‘射标准å­å¼¹ã€‚ +unit.horizon.description = 呿­£ä¸‹æ–¹çš„åœ°é¢æ•ŒäººæŠ•掷炸弹。 +unit.zenith.description = 呿•Œäººå‘射多枚导弹。 +unit.antumbra.description = 呿•Œäººå‘射密集的å­å¼¹ã€‚ +unit.eclipse.description = 呿•Œäººå‘å°„ç©¿é€æ€§æ¿€å…‰å’Œçˆ†ç‚¸æ€§ç‚®å¼¹ã€‚ unit.mono.description = 自动开采铜和铅,并将其放入核心中。 -unit.poly.description = 自动é‡å»ºå—æŸç»“构,å助其他å•ä½å»ºé€ ã€‚ -unit.mega.description = 自动修å¤å—æŸç»“构。能够æºå¸¦æ–¹å—å’Œå°åž‹åœ°é¢éƒ¨é˜Ÿã€‚ -unit.quad.description = å‘地é¢ç›®æ ‡æŠ•掷大型炸弹,修å¤ç›Ÿå†›å»ºç­‘å¹¶æ‘§æ¯æ•Œäººã€‚能够æºå¸¦ä¸­åž‹åœ°é¢éƒ¨é˜Ÿã€‚ -unit.oct.description = 用它的å†ç”ŸæŠ¤ç›¾ä¿æŠ¤é™„近的盟å‹ã€‚能够æºå¸¦å¤§å¤šæ•°åœ°é¢éƒ¨é˜Ÿã€‚ -unit.risso.description = 攻击附近所有敌人。å‘射一连串的导弹和å­å¼¹ã€‚ -unit.minke.description = 攻击附近所有敌人。å‘射炮弹和标准å­å¼¹ã€‚ -unit.bryde.description = 攻击附近所有敌人。å‘å°„å‘射远程炮弹和导弹。 -unit.sei.description = 攻击附近所有敌人。å‘射一连串的导弹和穿甲弹。 -unit.omura.description = 攻击附近所有敌人。å‘射远程穿é€è½¨é“ç‚®ã€‚å¯æž„造星耀å•元。 -unit.alpha.description = ä¿æŠ¤åˆä»£æ ¸å¿ƒã€‚坿ž„建结构。 -unit.beta.description = ä¿æŠ¤æ¬¡ä»£æ ¸å¿ƒã€‚å¯æž„建结构。 -unit.gamma.description = ä¿æŠ¤ç»ˆä»£æ ¸å¿ƒã€‚å¯æž„建结构。 +unit.poly.description = 自动é‡å»ºè¢«æ‘§æ¯çš„建筑,并å助其他å•ä½è¿›è¡Œå»ºé€ ã€‚ +unit.mega.description = 自动修å¤å—æŸå»ºç­‘。 能够æºå¸¦å»ºç­‘å’Œå°åž‹åœ°é¢å•ä½ã€‚ +unit.quad.description = å‘地é¢ç›®æ ‡æŠ•掷等离å­ç‚¸å¼¹ï¼Œä¿®å¤å·±æ–¹å»ºç­‘å¹¶æ‘§æ¯æ•Œäººã€‚ 能够æºå¸¦ä¸­åž‹åœ°é¢å•ä½ã€‚ +unit.oct.description = 用它的å†ç”ŸæŠ¤ç›¾ä¿æŠ¤é™„近的己方å•ä½ã€‚ 能够æºå¸¦å¤§å¤šæ•°åœ°é¢å•ä½ã€‚ +unit.risso.description = 呿•Œäººå‘射一串导弹与å­å¼¹ã€‚ +unit.minke.description = 呿•Œäººå‘射炮弹和标准å­å¼¹ã€‚ +unit.bryde.description = 呿•Œäººå‘射远程炮弹和导弹。 +unit.sei.description = 呿•Œäººå‘射一串导弹与穿甲弹。 +unit.omura.description = 呿•Œäººå‘射远程穿é€è½¨é“炮。 自动生产星辉å•ä½ã€‚ +unit.alpha.description = ä¿æŠ¤åˆä»£æ ¸å¿ƒï¼Œå¯å»ºé€ å»ºç­‘。 +unit.beta.description = ä¿æŠ¤æ¬¡ä»£æ ¸å¿ƒï¼Œå¯å»ºé€ å»ºç­‘。 +unit.gamma.description = ä¿æŠ¤ç»ˆä»£æ ¸å¿ƒï¼Œå¯å»ºé€ å»ºç­‘。 +unit.retusa.description = 呿•Œäººå‘射追踪鱼雷,并修å¤å·±æ–¹å•ä½ã€‚ +unit.oxynoe.description = 呿•Œäººå‘å°„ç«ç„°æŸï¼Œå¹¶ä¿®å¤å·±æ–¹å»ºç­‘。 æ­è½½ä¸€å°å•点防御炮塔,能够防御æ¥è¢­çš„å­å¼¹ã€‚ +unit.cyerce.description = 呿•Œäººå‘射追踪集æŸå¯¼å¼¹ï¼Œå¹¶ä¿®å¤å·±æ–¹å•ä½ã€‚ +unit.aegires.description = 产生能é‡åœºï¼Œä½¿èŒƒå›´å†…的敌方建筑与å•ä½å—到电击,对己方则进行修å¤ã€‚ +unit.navanax.description = å‘射大型电ç£çˆ†å¼¹ï¼Œå¯¹æ•Œæ–¹ç”µç½‘é€ æˆæ˜¾è‘—ç ´åå¹¶ä¿®å¤å·±æ–¹å»ºç­‘。 æ­è½½4å°è‡ªåŠ¨æ¿€å…‰ç‚®å°ï¼Œèƒ½ç†”化é è¿‘的敌人。 + +#埃里克尔 +unit.stell.description = 呿•Œäººå‘射普通å­å¼¹ã€‚ +unit.locus.description = 呿•Œäººäº¤æ›¿å‘å°„å­å¼¹ã€‚ +unit.precept.description = 呿•Œäººå‘å°„ç©¿é€æ€§é›†æŸå­å¼¹ã€‚ +unit.vanquish.description = 呿•Œäººå‘å°„å¤§åž‹ç©¿é€æ€§åˆ†è£‚å­å¼¹ã€‚ +unit.conquer.description = 呿•Œäººå‘射大é‡å¤§åž‹ç©¿é€æ€§å­å¼¹ã€‚ +unit.merui.description = å‘åœ°é¢æ•Œäººå‘射远程ç«ç‚®ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.cleroi.description = 呿•Œäººå‘å°„åŒå‘炮弹。 æ­è½½ä¸€å°å•点防御炮塔,能够防御æ¥è¢­çš„å­å¼¹ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.anthicus.description = 呿•Œäººå‘射远程追踪导弹。 å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.tecta.description = 呿•Œäººå‘射等离å­è¿½è¸ªå¯¼å¼¹ã€‚ ç”¨å®ƒå‰æ–¹çš„æŠ¤ç›¾ä¿æŠ¤è‡ªå·±ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.collaris.description = 呿•Œäººå‘射远程分裂ç«ç‚®ã€‚ å¯ä»¥è·¨è¶Šå¤§å¤šæ•°åœ°å½¢ã€‚ +unit.elude.description = 呿•Œäººå‘射螺旋状追踪å­å¼¹ã€‚ å¯ä»¥åœ¨æ¶²ä½“上悬浮。 +unit.avert.description = 呿•Œäººå‘射螺旋状扭曲å­å¼¹ã€‚ +unit.obviate.description = 呿•Œäººå‘射螺旋状闪电çƒã€‚ +unit.quell.description = 呿•Œäººå‘射远程追踪导弹。 能够压制敌方修å¤å»ºç­‘。 +unit.disrupt.description = 呿•Œäººå‘射远程压制性追踪导弹。 能够压制敌方修å¤å»ºç­‘。 +unit.evoke.description = ä¿æŠ¤åŸŽå ¡æ ¸å¿ƒï¼Œå¯å»ºé€ å»ºç­‘。 使用激光æŸä¿®å¤å»ºç­‘。 +unit.incite.description = ä¿æŠ¤å ¡åž’æ ¸å¿ƒï¼Œå¯å»ºé€ å»ºç­‘。 使用激光æŸä¿®å¤å»ºç­‘。 +unit.emanate.description = ä¿æŠ¤å«åŸŽæ ¸å¿ƒï¼Œå¯å»ºé€ å»ºç­‘。 使用一对激光æŸä¿®å¤å»ºç­‘。 + +lst.read = ä»Žè¿žæŽ¥çš„å†…å­˜è¯»å–æ•°å­— +lst.write = å‘连接的内存写入数字 +lst.print = 添加文字到打å°ç¼“å­˜\n使用[accent]Print Flush[]åŽæ‰ä¼šçœŸæ­£æ˜¾ç¤º +lst.printchar = 呿‰“å°ç¼“存添加一个 UTF-16 字符或内容图标。\n直到使用 [accent]Print Flush[] åŽæ‰ä¼šçœŸæ­£æ˜¾ç¤ºã€‚ +lst.format = ç”¨ä¸€ä¸ªå€¼æ›¿æ¢æ–‡æœ¬ç¼“冲区中的下一个å ä½ç¬¦ã€‚\n如果å ä½ç¬¦æ¨¡å¼æ— æ•ˆï¼Œåˆ™ä¸ä¼šæ‰§è¡Œä»»ä½•æ“作。\nå ä½æ¨¡å¼: "{[accent]number 0-9[]}"\n示例:\n[accent]print "test {0}"\næ ¼å¼ "示例" +lst.draw = 添加绘图æ“作到绘图缓存\n使用[accent]Draw Flush[]åŽæ‰ä¼šçœŸæ­£æ˜¾ç¤º +lst.drawflush = 将绘图缓存中的[accent]Draw[]é˜Ÿåˆ—åˆ·æ–°åˆ°æ˜¾ç¤ºå± +lst.printflush = 将打å°ç¼“存中的[accent]Print[]é˜Ÿåˆ—åˆ·æ–°åˆ°ä¿¡æ¯æ¿ +lst.getlink = 获å–与处ç†å™¨è¿žæŽ¥çš„建筑\n建筑编å·ä»Ž0开始 +lst.control = 控制建筑 +lst.radar = 让建筑æœå¯»æ„ŸçŸ¥èŒƒå›´å†…çš„å•ä½ +lst.sensor = 从建筑或者å•ä½ä¸­èŽ·å–æ•°æ® +lst.set = ç»™å˜é‡èµ‹å€¼ +lst.operation = 使用1至2ä¸ªå‚æ•°æ‰§è¡Œè¿ç®—/函数 +lst.end = è·³è½¬è‡³ç¬¬ä¸€æ¡æŒ‡ä»¤ +lst.wait = 等待指定的秒数 +lst.stop = åœæ­¢è¯¥å¤„ç†å™¨çš„è¿è¡Œ +lst.lookup = æ ¹æ®ID查阅一ç§ç‰©å“/液体/å•ä½/建筑\nå„个分类中的项目总数是\n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] +lst.jump = æ ¹æ®æ¡ä»¶åˆ¤æ–­ï¼Œå†³å®šæ˜¯å¦è·³è½¬è‡³å¦ä¸€æ¡æŒ‡ä»¤ +lst.unitbind = 绑定æŸä¸ªç±»åž‹çš„下一个å•ä½ï¼Œæˆ–直接绑定指定的å•ä½\nå¹¶ä¿å­˜è‡³[accent]@unit[] +lst.unitcontrol = 控制已绑定的å•ä½ +lst.unitradar = 让绑定的å•使œå¯»æ„ŸçŸ¥èŒƒå›´å†…的其他å•ä½ +lst.unitlocate = 让绑定的å•使œå¯»æ•´ä¸ªåœ°å›¾ä¸­ç‰¹å®šçš„建筑或ä½ç½® +lst.getblock = 获å–ä»»æ„ä½ç½®çš„åœ°å—æ•°æ® +lst.setblock = 设置任æ„ä½ç½®çš„åœ°å—æ•°æ® +lst.spawnunit = 在指定ä½ç½®ç”Ÿæˆå•ä½ +lst.applystatus = 添加或清除å•ä½çš„ä¸€ä¸ªçŠ¶æ€æ•ˆæžœ +lst.weathersense = 检查特定ç§ç±»çš„å¤©æ°”å½“å‰æ˜¯å¦å¯ç”¨ã€‚ +lst.weatherset = 设置当å‰çжæ€ä¸ºç‰¹å®šç±»åž‹å¤©æ°”。 +lst.spawnwave = 在任æ„ä½ç½®ç”Ÿæˆä¸€æ³¢æ•Œäºº\nå¹¶ä¸è®°å½•在波数计数器中 +lst.explosion = 在æŸä¸ªä½ç½®ç”Ÿæˆçˆ†ç‚¸ +lst.setrate = 在指令/时间刻的时间下设置处ç†å™¨å¤„ç†é€Ÿåº¦ +lst.fetch = 按索引查找å•ä½ã€ 核心〠玩家或建筑物\n索引从 0 å¼€å§‹ï¼Œä»¥å…¶è¿”å›žçš„è®¡æ•°ç»“æŸ +lst.packcolor = å°†[0,1]范围内的RGBAåˆ†é‡æ•´åˆæˆå•个数字,用于绘图或规则设置 +lst.setrule = 设置地图规则 +lst.flushmessage = 在å±å¹•中央投影文字缓存区的内容\nä¼šç­‰å¾…ä¸Šä¸€ä¸ªæ–‡å­—æ˜¾ç¤ºç»“æŸ +lst.cutscene = 控制玩家游æˆè§†è§’ +lst.setflag = 设置一个å¯ä»¥è¢«æ‰€æœ‰å¤„ç†å™¨è¯»å–的全局标志。 +lst.getflag = 检查是å¦è®¾ç½®äº†å…¨å±€æ ‡å¿—。 +lst.setprop = 设置å•使ˆ–建筑物的属性。 +lst.effect = åˆ›å»ºä¸€ä¸ªç²’å­æ•ˆæžœã€‚ +lst.sync = åœ¨ç½‘ç»œä¸­åŒæ­¥ä¸€ä¸ªå˜é‡ã€‚\n最多æ¯ç§’调用10次。 +lst.playsound = 播放声音。\n音é‡å’Œå£°åœºä½ç½®å¯ä»¥æ˜¯å…¨å±€å€¼ï¼Œä¹Ÿå¯ä»¥æ ¹æ®ä½ç½®è®¡ç®—得出。 +lst.makemarker = 在世界中创建一个新的逻辑标记。\nå¿…é¡»æä¾›ä¸€ä¸ªç”¨äºŽæ ‡è¯†æ­¤æ ‡è®°çš„ID。\nç›®å‰æ¯ä¸ªä¸–界é™åˆ¶æœ€å¤š20000个标记。 +lst.setmarker = 为标记设置属性。\n使用的ID必须与制作标记指令中的相åŒã€‚ +lst.localeprint = 将地图本地化文本属性值添加到文本缓冲区中。\nè¦åœ¨åœ°å›¾ç¼–辑器中设置地图本地化包,请检查 [accent]åœ°å›¾ä¿¡æ¯ > 本地化包[]。\n如果客户端是移动设备,则å°è¯•首先打å°ä»¥ ".mobile" 结尾的属性。 +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = 数学常数 pi (3.141...) +lglobal.@e = 数学常数 e (2.718...) +lglobal.@degToRad = 将角度制转æ¢ä¸ºå¼§åº¦åˆ¶ +lglobal.@radToDeg = 将弧度制转æ¢ä¸ºè§’度制 +lglobal.@time = 当å‰ä¿å­˜çš„æ¸¸æˆæ—¶é—´ï¼Œä»¥æ¯«ç§’为å•ä½ +lglobal.@tick = 当å‰ä¿å­˜çš„æ¸¸æˆæ—¶é—´ï¼Œä»¥tick为å•ä½ï¼ˆ1ç§’ = 60 tick) +lglobal.@second = 当å‰ä¿å­˜çš„æ¸¸æˆæ—¶é—´ï¼Œä»¥ç§’为å•ä½ +lglobal.@minute = 当å‰ä¿å­˜çš„æ¸¸æˆæ—¶é—´ï¼Œä»¥åˆ†é’Ÿä¸ºå•ä½ +lglobal.@waveNumber = 如果å¯ç”¨äº†æ³¢æ¬¡ï¼Œåˆ™ä¸ºå½“剿³¢æ¬¡ç¼–å· +lglobal.@waveTime = 波次的倒计时计时器,以秒为å•ä½ +lglobal.@mapw = 地图宽度(å•ä½ï¼šæ ¼ï¼‰ +lglobal.@maph = 地图高度(å•ä½ï¼šæ ¼ï¼‰ +lglobal.sectionMap = 地图 +lglobal.sectionGeneral = 通用 +lglobal.sectionNetwork = 网络/客户端 [ä»…é™ä¸–界处ç†å™¨] +lglobal.sectionProcessor = 处ç†å™¨ +lglobal.sectionLookup = 查找 +lglobal.@this = 执行代ç çš„é€»è¾‘å— +lglobal.@thisx = 执行代ç çš„逻辑å—çš„ X åæ ‡ +lglobal.@thisy = 执行代ç çš„逻辑å—çš„ Y åæ ‡ +lglobal.@links = 连接到此处ç†å™¨çš„æ€»å—æ•° +lglobal.@ipt = 处ç†å™¨æ¯ tick 的执行速度(æ¯ç§’ 60 tick) +lglobal.@unitCount = 游æˆä¸­å•ä½å†…容的类型总数;与查找指令一起使用 +lglobal.@blockCount = 游æˆä¸­å—内容的类型总数;与查找指令一起使用 +lglobal.@itemCount = 游æˆä¸­ç‰©å“内容的类型总数;与查找指令一起使用 +lglobal.@liquidCount = 游æˆä¸­æ¶²ä½“内容的类型总数;与查找指令一起使用 +lglobal.@server = å¦‚æžœä»£ç æ­£åœ¨æœåŠ¡å™¨ä¸Šè¿è¡Œæˆ–å•人游æˆä¸­è¿è¡Œï¼Œåˆ™ä¸ºçœŸï¼Œå¦åˆ™ä¸ºå‡ +lglobal.@client = å¦‚æžœä»£ç æ­£åœ¨è¿žæŽ¥åˆ°æœåŠ¡å™¨çš„å®¢æˆ·ç«¯ä¸Šè¿è¡Œï¼Œåˆ™ä¸ºçœŸ +lglobal.@clientLocale = è¿è¡Œä»£ç çš„客户端的区域设置。例如:en_US +lglobal.@clientUnit = è¿è¡Œä»£ç çš„客户端的å•ä½ +lglobal.@clientName = è¿è¡Œä»£ç çš„客户端的玩家åç§° +lglobal.@clientTeam = è¿è¡Œä»£ç çš„客户端的团队 ID +lglobal.@clientMobile = 如果è¿è¡Œä»£ç çš„客户端在移动设备上,则为真,å¦åˆ™ä¸ºå‡ + + +logic.nounitbuild = [red]此处ä¸å…许处ç†å™¨æ“控å•ä½åŽ»å»ºè®¾ + +lenum.type = 建筑和å•ä½çš„类型,返回一个“类型â€è€Œéžå­—符串\n例如对路由器使用,会返回[accent]@router[] +lenum.shoot = 呿Ÿä¸ªä½ç½®çž„准/射击 +lenum.shootp = æ ¹æ®æå‰é‡å‘æŸä¸ªå•使ˆ–建筑瞄准/射击 +lenum.config = 建筑设置,例如分类器所设置的筛选物å“ç§ç±» +lenum.enabled = 建筑是å¦å·²å¯ç”¨ +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = 照明器å‘光的颜色 +laccess.controller = å•ä½çš„æŽ§åˆ¶æ–¹\n如果å•ä½ç”±å¤„ç†å™¨æŽ§åˆ¶ï¼Œè¿”回对应的处ç†å™¨\n如果å•ä½åœ¨ç¼–队中,返回编队的领队\n其他情况,返回å•ä½è‡ªèº« +laccess.dead = å•使ˆ–建筑是å¦å·²è¢«æ‘§æ¯æˆ–者已失效 +laccess.controlled = è‹¥å•ä½çš„æŽ§åˆ¶æ–¹æ˜¯å¤„ç†å™¨ï¼Œè¿”回[accent]@ctrlProcessor[]\nè‹¥å•ä½/建筑由玩家控制,返回[accent]@ctrlPlayer[]\nè‹¥å•ä½åœ¨ç¼–队中,返回[accent]@ctrlFormation[]\n其他情况,返回0 +laccess.progress = 进度,0到1之间的数值。 \n返回工厂生产〠炮塔装填,或者建筑建造的进度 +laccess.speed = å•ä½çš„æœ€é«˜é€Ÿåº¦ï¼ˆæ ¼/秒) +laccess.id = å•ä½/å—/物å“/液体的ID。\n这是 Lookup çš„å呿“作。 + +lcategory.unknown = 未知 +lcategory.unknown.description = 未分类的指令 +lcategory.io = 输入 & 输出 +lcategory.io.description = 修改内存å—和处ç†å™¨å†…存的内容 +lcategory.block = æŽ§åˆ¶æ–¹å— +lcategory.block.description = äº¤äº’æŽ§åˆ¶æ–¹å— +lcategory.operation = æ“作 +lcategory.operation.description = æ“作该逻辑 +lcategory.control = æŽ§åˆ¶é¡ºåº +lcategory.control.description = ç®¡ç†æ‰§è¡Œé¡ºåº +lcategory.unit = 控制å•ä½ +lcategory.unit.description = 指挥å•ä½ +lcategory.world = 世界 +lcategory.world.description = 控制世界的å„类设置 + +graphicstype.clear = ç”¨æŒ‡å®šçš„é¢œè‰²å¡«å……æ•´ä¸ªæ˜¾ç¤ºå± +graphicstype.color = 设置åŽç»­ç”»å›¾æ“作所使用的颜色 +graphicstype.col = 颜色代ç ã€‚\n为以[accent]%[]开头的å六进制代ç å½¢å¼ã€‚\n举例: [accent]%ff0000[] 为[red]红色 +graphicstype.stroke = 设置线æ¡å®½åº¦ +graphicstype.line = 绘制线段 +graphicstype.rect = 绘制实心矩形 +graphicstype.linerect = 绘制矩形轮廓 +graphicstype.poly = 绘制实心正多边形 +graphicstype.linepoly = 绘制正多边形轮廓 +graphicstype.triangle = 绘制实心三角形 +graphicstype.image = 画出æŸä¸ªæ¸¸æˆå†…容的图åƒ\n例如[accent]@router[]或者[accent]@dagger[] +graphicstype.print = 从打å°ç¼“冲区绘制文本。\n清除打å°ç¼“冲区。 + +lenum.always = æ— æ¡ä»¶è·³è½¬ +lenum.idiv = 整数除法,返回ä¸å¸¦å°æ•°çš„商 +lenum.div = 除法,除以0时返回[accent]null[] +lenum.mod = 求除法的余数 +lenum.equal = 相等。 转æ¢å‚数类型åŽè¿›è¡Œæ¯”较\n与数字进行比较时,null转æ¢ä¸º0,éžnull对象转æ¢ä¸º1 +lenum.notequal = ä¸ç›¸ç­‰ã€‚ 转æ¢å‚数类型åŽè¿›è¡Œæ¯”较 +lenum.strictequal = 严格相等。 ä¸è½¬æ¢å‚数类型\nå¯ç”¨äºŽå‡†ç¡®æ£€æŸ¥[accent]null[]对象 +lenum.shl = å·¦ç§»ä½ +lenum.shr = å³ç§»ä½ +lenum.or = æŒ‰ä½æˆ– +lenum.land = 逻辑与 +lenum.and = 按ä½ä¸Ž +lenum.not = 按ä½éž +lenum.xor = 按ä½å¼‚或 + +lenum.min = å–较å°å€¼ +lenum.max = å–较大值 +lenum.angle = 返回å‘é‡çš„è¾è§’(角度制) +lenum.anglediff = 返回两个角度之间的ç»å¯¹è·ç¦»ï¼ˆè§’度制)。 +lenum.len = 返回å‘é‡çš„长度 + +lenum.sin = 正弦(角度制) +lenum.cos = 余弦(角度制) +lenum.tan = 正切(角度制) + +lenum.asin = åæ­£å¼¦ï¼ˆè§’度制) +lenum.acos = å余弦(角度制) +lenum.atan = åæ­£åˆ‡ï¼ˆè§’度制) + +#not a typo, look up 'range notation'(括å·ä¸é…éžç¬”误,实乃区间表示法) +lenum.rand = å– [0, 傿•°ï¼‰èŒƒå›´å†…çš„ä¸€ä¸ªéšæœºæ•° +lenum.log = 自然对数(ln) +lenum.log10 = 以10为底的对数 +lenum.noise = 二维å•形噪声 +lenum.abs = ç»å¯¹å€¼ +lenum.sqrt = 开平方 + +lenum.any = ä»»æ„å•ä½ +lenum.ally = 己方å•ä½ +lenum.attacker = 有武器的å•ä½ +lenum.enemy = 敌方å•ä½ +lenum.boss = Bosså•ä½ +lenum.flying = 空中å•ä½ +lenum.ground = 地é¢å•ä½ +lenum.player = 玩家控制的å•ä½ + +lenum.ore = 矿脉 +lenum.damaged = å—æŸçš„己方建筑 +lenum.spawn = 敌人出生点\nå¯ä»¥æ˜¯æ ¸å¿ƒæˆ–者æŸä¸ªåæ ‡ +lenum.building = æŸä¸ªåˆ†ç±»ä¸‹çš„建筑 + +lenum.core = 核心 +lenum.storage = 仓储建筑(容器/仓库) +lenum.generator = å‘电建筑 +lenum.factory = 生产物å“的工厂 +lenum.repair = 维修点 +lenum.battery = 电池 +lenum.resupply = 补给点\n仅当å¯ç”¨äº†[accent]“å•使œ‰å¼¹è¯é™åˆ¶â€[]时生效 +lenum.reactor = é’å应堆/冲击å应堆 +lenum.turret = 炮塔 + +sensor.in = æ‰€èŽ·å–æ•°æ®çš„建筑或å•ä½ + +radar.from = 以哪个建筑为中心展开æœå¯»\næœå¯»è·ç¦»å—é™äºŽè¯¥å»ºç­‘的感知范围 +radar.target = 筛选æœå¯»çš„å•ä½ç±»åž‹ +radar.and = é¢å¤–的筛选æ¡ä»¶ +radar.order = æŽ’åºæ–¹å¼ï¼š1/true从å°åˆ°å¤§ï¼Œ0/falseå之 +radar.sort = æŽ’åºæ ‡å‡† +radar.output = 找到的å•ä½å­˜å…¥æ­¤å˜é‡ + +unitradar.target = 筛选æœå¯»çš„å•ä½ç±»åž‹ +unitradar.and = é¢å¤–的筛选æ¡ä»¶ +unitradar.order = æŽ’åºæ–¹å¼ï¼š1/true从å°åˆ°å¤§ï¼Œ0/falseå之 +unitradar.sort = æŽ’åºæ ‡å‡† +unitradar.output = 找到的å•ä½å­˜å…¥æ­¤å˜é‡ + +control.of = è¦æŽ§åˆ¶çš„å»ºç­‘ +control.unit = è¦çž„准的å•使ˆ–建筑 +control.shoot = 是å¦å°„击 + +unitlocate.enemy = æ˜¯å¦æœå¯»æ•Œæ–¹å»ºç­‘(0或false则æœå¯»å·±æ–¹å»ºç­‘) +unitlocate.found = 若找到,在此å˜é‡ä¸­å­˜å…¥true;未找到则存入false +unitlocate.building = 找到的建筑存入此å˜é‡ +unitlocate.outx = 存入找到的Xè½´åæ ‡ +unitlocate.outy = 存入找到的Yè½´åæ ‡ +unitlocate.group = 所æœå¯»çš„建筑分类 +playsound.limit = 如果为真,则阻止此声音在åŒä¸€å¸§å†…é‡å¤æ’­æ”¾ã€‚ + +lenum.idle = 原地ä¸åŠ¨ï¼Œä½†ç»§ç»­è¿›è¡Œæ‰‹ä¸Šçš„é‡‡çŸ¿/建造动作\nå•ä½çš„é»˜è®¤çŠ¶æ€ +lenum.stop = åœæ­¢ç§»åЍ/采矿/建造动作 +lenum.unbind = åœç”¨å•ä½çš„逻辑控制\næ¢å¤å¸¸è§„AI +lenum.move = 移动到æŸä¸ªä½ç½® +lenum.approach = é è¿‘æŸä¸ªä½ç½®è‡³ä¸€å®šçš„è·ç¦»å†… +lenum.pathfind = 寻路移动至敌人出生点 +lenum.autopathfind = "自动寻找最近的敌方核心或敌人生æˆç‚¹ã€‚\n这与波次中的敌人寻路相åŒã€‚" +lenum.target = 呿Ÿä¸ªä½ç½®çž„准/射击 +lenum.targetp = æ ¹æ®æå‰é‡å‘æŸä¸ªç›®æ ‡çž„准/射击 +lenum.itemdrop = å°†æºå¸¦çš„ç‰©å“æ”¾å…¥ä¸€åº§å»ºç­‘ +lenum.itemtake = 从建筑中å–出æŸç§ç‰©å“ +lenum.paydrop = å¸ä¸‹å½“å‰è½½è· +lenum.paytake = 从当å‰ä½ç½®æ‹¾å–è½½è· +lenum.payenter = 进入/é™è½åˆ°å•ä½ä¸‹æ–¹çš„è·è½½æ–¹å—中 +lenum.flag = ç»™å•ä½èµ‹äºˆæ•°å­—å½¢å¼çš„æ ‡è®° +lenum.mine = 从æŸä¸ªä½ç½®é‡‡é›†çŸ¿ç‰© +lenum.build = 建造建筑 +lenum.getblock = æ ¹æ®å标获å–建筑物ã€çŽ¯å¢ƒå—和环境墙体类型。\nå•ä½å¿…须在ä½ç½®èŒƒå›´å†…,å¦åˆ™è¿”回空值。 +lenum.within = 检查å•使˜¯å¦æŽ¥è¿‘了æŸä¸ªä½ç½® +lenum.boost = 开始/åœæ­¢åŠ©æŽ¨ +lenum.flushtext = 如果适用的è¯ï¼Œå°†æ‰“å°ç¼“冲区的内容刷新到标记。\n如果 fetch 设置为 true,则å°è¯•从地图本地化包或游æˆçš„包中获å–属性。 +lenum.texture = 直接æ¥è‡ªæ¸¸æˆçº¹ç†å›¾é›†çš„纹ç†å称(使用 kebab-case 命å风格)。\n如果 printFlush 设置为 trueï¼Œåˆ™å°†æ–‡æœ¬ç¼“å†²åŒºå†…å®¹ä½œä¸ºæ–‡æœ¬å‚æ•°æ¶ˆè€—。 +lenum.texturesize = 纹ç†çš„大å°ï¼ˆæ ¼ï¼‰ã€‚零值将标记宽度缩放为原始纹ç†çš„大å°ã€‚ +lenum.autoscale = æ˜¯å¦æ ¹æ®çŽ©å®¶çš„ç¼©æ”¾çº§åˆ«ç¼©æ”¾æ ‡è®°ã€‚ +lenum.posi = 索引ä½ç½®ï¼Œç”¨äºŽçº¿å’Œå››è¾¹å½¢æ ‡è®°ï¼Œç´¢å¼•零表示第一个ä½ç½®ã€‚ +lenum.uvi = 纹ç†çš„ä½ç½®èŒƒå›´ä»Žé›¶åˆ°ä¸€ï¼Œç”¨äºŽå››è¾¹å½¢æ ‡è®°ã€‚ +lenum.colori = 索引ä½ç½®ï¼Œç”¨äºŽçº¿å’Œå››è¾¹å½¢æ ‡è®°ï¼Œç´¢å¼•零表示第一个颜色。 + +lenum.wavetimer = 波次是å¦è‡ªåŠ¨å‡ºçŽ°åœ¨è®¡æ—¶å™¨ä¸Šã€‚å¦‚æžœæ²¡æœ‰ï¼ŒæŒ‰ä¸‹æ’­æ”¾æŒ‰é’®æ—¶ä¼šå‡ºçŽ°æ³¢æ¬¡ +lenum.wave = 当剿³¢æ•°ï¼Œå¯ä»¥æ˜¯éžæ³¢æ¬¡æ¨¡å¼ä¸‹çš„任何值 +lenum.currentwavetime = 波次倒计时(以tick为å•ä½ï¼‰ +lenum.waves = 波次是å¦å¯ä»¥ç”Ÿæˆ +lenum.wavesending = 是å¦å¯ä»¥é€šè¿‡æ’­æ”¾æŒ‰é’®æ‰‹åŠ¨ç”Ÿæˆæ³¢æ¬¡ +lenum.attackmode = ç¡®å®šæ¸¸æˆæ¨¡å¼æ˜¯å¦ä¸ºæ”»å‡»æ¨¡å¼ +lenum.wavespacing = 波形之间的时间(以tick为å•ä½ï¼‰ +lenum.enemycorebuildradius = 敌人核心åŠå¾„周围无建筑区 +lenum.dropzoneradius = 敌人出生点周围的åŠå¾„ +lenum.unitcap = 基本å•ä½ä¸Šé™ã€‚但ä»ç„¶å¯ä»¥é€šè¿‡æ–¹å—增加 +lenum.lighting = 是å¦å¯ç”¨çŽ¯å¢ƒç…§æ˜Ž +lenum.buildspeed = 建筑速度å€çއ +lenum.unithealth = å•ä½å—伤å‡å…, è®¡ç®—æ–¹å¼æ˜¯ä¼¤å®³é™¤ä»¥å‡å…值 +lenum.unitbuildspeed = å•元工厂建造å•元的速度 +lenum.unitcost = å•ä½å»ºè®¾æ‰€éœ€èµ„æºçš„å€çއ +lenum.unitdamage = å•ä½é€ æˆå¤šå°‘伤害 +lenum.blockhealth = æ–¹å—å—伤å‡å…, è®¡ç®—æ–¹å¼æ˜¯ä¼¤å®³é™¤ä»¥å‡å…值 +lenum.blockdamage = æ–¹å—(炮塔)造æˆçš„伤害有多大 +lenum.rtsminweight = 进攻å°é˜Ÿæ‰€éœ€çš„æœ€å°â€œä¼˜åŠ¿â€ã€‚越高->越谨慎 +lenum.rtsminsquad = 攻击å°é˜Ÿçš„æœ€å°è§„模 +lenum.maparea = 设置区域范围 +lenum.ambientlight = 环境光颜色,å¯ç”¨ç…§æ˜Žæ—¶ä½¿ç”¨ +lenum.solarmultiplier = 太阳能电池æ¿çš„功率输出å€çއ +lenum.dragmultiplier = 环境阻力乘数 +lenum.ban = æ— æ³•æ”¾ç½®æˆ–æž„å»ºçš„å—æˆ–å•å…ƒ +lenum.unban = å–æ¶ˆban diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 77a37663b1..a946efcbc5 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -5,7 +5,7 @@ discord = 加入 Mindustry çš„ Discord èŠå¤©å®¤ï¼ link.discord.description = 官方 Mindustry Discord èŠå¤©å®¤ link.reddit.description = Mindustry Reddit論壇 link.github.description = éŠæˆ²åŽŸå§‹ç¢¼ -link.changelog.description = éŠæˆ²æ›´æ–°æ¸…å–® +link.changelog.description = éŠæˆ²æ›´æ–°æ—¥èªŒ link.dev-builds.description = 開發中版本 link.trello.description = 官方 Trello 功能è¦åŠƒçœ‹æ¿ link.itch.io.description = itch.io é›»è…¦ç‰ˆä¸‹è¼‰ç¶²é  @@ -13,7 +13,8 @@ link.google-play.description = Google Play 商店é é¢ link.f-droid.description = F-Droid 目錄é é¢ link.wiki.description = 官方 Mindustry 維基 link.suggestions.description = 建議新功能 -link.bug.description = 找到臭蟲?在這裡回報 +link.bug.description = 發ç¾éŒ¯èª¤ï¼Ÿåœ¨é€™è£¡å›žå ± +linkopen = 網路連çµç”±ä¼ºæœå™¨æä¾›ã€‚ç¢ºå®šè¦æ‰“開連çµï¼Ÿ\n\n[sky]{0} linkfail = 無法打開連çµï¼\n我們已將該網å€è¤‡è£½åˆ°æ‚¨çš„剪貼簿。 screenshot = 截圖儲存到{0} screenshot.invalid = 地圖太大了,å¯èƒ½æ²’有足夠的記憶體用於截圖。 @@ -24,7 +25,6 @@ gameover.waiting = [accent]等待下一張地圖中…… highscore = [accent]新的高分紀錄! copied = 已複製。 indev.notready = é€™éƒ¨ä»½çš„éŠæˆ²å°šæœªå®Œæˆ -indev.campaign = [accent]æ­å–œä½ å®Œæˆæˆ°å½¹äº†ï¼[]\n\n這是截至目å‰çš„éŠæˆ²å…§å®¹ã€‚æ˜Ÿéš›æ—…è¡Œæœƒåœ¨æœªä¾†çš„æ›´æ–°åŠ å…¥éŠæˆ²~ load.sound = 音效載入中 load.map = 地圖載入中 @@ -41,14 +41,23 @@ be.ignore = 忽略 be.noupdates = 沒有新的更新。 be.check = æª¢æŸ¥æ˜¯å¦æœ‰æ–°çš„æ›´æ–° -mod.featured.dialog.title = 模組ç€è¦½å™¨ (尚未完æˆ) +mods.browser = 模組ç€è¦½å™¨ mods.browser.selected = 已鏿¨¡çµ„ mods.browser.add = å®‰è£ -mods.github.open = 查看 +mods.browser.reinstall = 釿–°å®‰è£ +mods.browser.view-releases = 檢視發行 +mods.browser.noreleases = [scarlet]無發行紀錄\n[accent]ç„¡æ³•æ‰¾åˆ°è©²æ¨¡çµ„çš„ä»»ä½•ç™¼è¡Œã€‚è«‹ç¢ºèªæ­¤æ¨¡çµ„æ˜¯å¦æœ‰ç™¼è¡¨ã€‚ +mods.browser.latest = <最新> +mods.browser.releases = 所有發行 +mods.github.open = 查看Github +mods.github.open-release = ç™¼è¡Œç¶²é  +mods.browser.sortdate = ä»¥æœ€è¿‘ç¯©é¸ +mods.browser.sortstars = ä»¥æ˜Ÿæ•¸ç¯©é¸ schematic = è—圖 schematic.add = 儲存è—圖…… schematics = è—圖 +schematic.search = æœå°‹è—圖... schematic.replace = 相åŒå稱的è—圖已經存在。是å¦å–代它? schematic.exists = 相åŒå稱的è—圖已經存在。 schematic.import = 匯入è—圖…… @@ -61,19 +70,27 @@ schematic.shareworkshop = åˆ†äº«åˆ°å·¥ä½œåŠ schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻轉è—圖 schematic.saved = è—圖已儲存。 schematic.delete.confirm = 該è—圖將被完全清除。 -schematic.rename = 釿–°å‘½åè—圖 +schematic.edit = 編輯è—圖 schematic.info = {0}x{1}, {2}方塊 -schematic.disabled = [scarlet]è—圖被進用[]\nä½ ä¸èƒ½åœ¨é€™å€‹[accent]地圖[] 或 [accent]伺æœå™¨ä¸­ä½¿ç”¨è—圖. +schematic.disabled = [scarlet]è—圖被進用[]\n您ä¸èƒ½åœ¨é€™å€‹[accent]地圖[]或[accent]伺æœå™¨ä¸­ä½¿ç”¨è—圖. +schematic.tags = 標籤: +schematic.edittags = 編輯標籤 +schematic.addtag = 新增標籤 +schematic.texttag = 文字標籤 +schematic.icontag = åœ–åƒæ¨™ç±¤ +schematic.renametag = 釿–°å‘½å +schematic.tagged = {0} 已被加上標籤 +schematic.tagdelconfirm = 確èªåˆªé™¤æ­¤æ¨™ç±¤ï¼Ÿ +schematic.tagexists = 該標籤已存在。 stats = 統計 -stat.wave = 打敗的波次:[accent]{0} -stat.enemiesDestroyed = 摧毀的敵人:[accent]{0} -stat.built = 建設的建築:[accent]{0} -stat.destroyed = 摧毀的建築:[accent]{0} -stat.deconstructed = 拆除的建築:[accent]{0} -stat.delivered = 發射的核心資æºï¼š -stat.playtime = éŠçŽ©æ™‚é–“ï¼š[accent] {0} -stat.rank = 最終排å:[accent]{0} +stats.wave = 防守波數 +stats.unitsCreated = ç”Ÿç”¢å–®ä½ +stats.enemiesDestroyed = 摧毀敵人 +stats.built = 建造建築 +stats.destroyed = æ‘§æ¯å»ºç¯‰ +stats.deconstructed = 拆除建築 +stats.playtime = éŠæˆ²æ™‚é–“ globalitems = [accent]å…¨åŸŸç‰©å“ map.delete = 確èªè¦åˆªé™¤ã€Œ[accent]{0}[]ã€åœ°åœ–嗎? @@ -82,13 +99,16 @@ level.select = 鏿“‡é—œå¡ level.mode = éŠæˆ²æ¨¡å¼ï¼š coreattack = 〈核心正在å—到攻擊ï¼ã€‰ nearpoint = ã€[scarlet]ç«‹å³é›¢é–‹ç©ºé™å€[]】\n湮滅å³å°‡ä¾†è‡¨ -database = 核心數據庫 +database = 核心資料庫 +database.button = 資料庫 savegame = å„²å­˜éŠæˆ² loadgame = è¼‰å…¥éŠæˆ² joingame = 多人連線 customgame = è‡ªè¨‚éŠæˆ² newgame = æ–°éŠæˆ² none = 〈沒有〉 +none.found = [lightgray]ã€ˆæŸ¥ç„¡çµæžœã€‰ +none.inmap = [lightgray]ã€ˆåœ°åœ–ä¸­ç„¡çµæžœã€‰ minimap = å°åœ°åœ– position = ä½ç½® close = 關閉 @@ -109,26 +129,42 @@ committingchanges = éžäº¤è®Šæ›´ done = å®Œæˆ feature.unsupported = 您的è£ç½®ä¸æ”¯æ´æ­¤åŠŸèƒ½ã€‚ -mods.alphainfo = 請記ä½ï¼Œæ¨¡çµ„ä»è™•æ–¼Alpha狀態,[scarlet]å¯èƒ½æœƒæœ‰å¾ˆå¤šè‡­èŸ²[]。\n請到Mindustry GitHub或Discord報告發ç¾çš„任何å•題。 +mods.initfailed = [red]âš [] Mindustry 無法啟動。這å¯èƒ½æ˜¯å› æ¨¡çµ„造æˆã€‚\n\n為了é¿å…䏿–·é–ƒé€€ï¼Œ[red]所有的模組已被åœç”¨ã€‚[] mods = 模組 mods.none = [lightgray]找ä¸åˆ°æ¨¡çµ„! mods.guide = æ¨¡çµ„æŒ‡å— mods.report = 回報錯誤 mods.openfolder = 開啟模組資料夾 +mods.viewcontent = 查看內容 mods.reload = 釿–°è¼‰å…¥ mods.reloadexit = éŠæˆ²å°‡æœƒçµæŸä»¥é‡æ–°è¼‰å…¥æ¨¡çµ„。 +mod.installed = [[已安è£] mod.display = [gray]模組:[orange]{0} mod.enabled = [lightgray]已啟用 mod.disabled = [scarlet]å·²ç¦ç”¨ +mod.multiplayer.compatible = [gray]與多人模å¼ç›¸å®¹ mod.disable = ç¦ç”¨ +mod.version = Version: mod.content = 內容: mod.delete.error = 無法刪除模組,檔案å¯èƒ½åœ¨ä½¿ç”¨ä¸­ã€‚ -mod.requiresversion = [scarlet]æœ€ä½ŽéŠæˆ²ç‰ˆæœ¬è¦æ±‚:[accent]{0} -mod.outdated = [scarlet]與 V6 ä¸ç›¸å®¹ï¼ˆç„¡ æœ€ä½ŽéŠæˆ²ç‰ˆæœ¬ï¼š105) -mod.missingdependencies = [scarlet]缺少ä¾è³´é—œä¿‚:{0} +mod.incompatiblegame = [red]éŠæˆ²ç‰ˆæœ¬éŽä½Ž +mod.incompatiblemod = [red]無法兼容 +mod.blacklisted = [red]䏿”¯æŒ +mod.unmetdependencies = [red]缺少å‰ç½®æ¨¡çµ„ mod.erroredcontent = [scarlet]內容錯誤 +mod.circulardependencies = [red]循環ä¾è³´éŒ¯èª¤ +mod.incompletedependencies = [red]ä¾è³´é …缺失 +mod.requiresversion.details = æ‰€éœ€æœ€ä½ŽéŠæˆ²ç‰ˆæœ¬ï¼š [accent]{0}[]\næ‚¨çš„éŠæˆ²ç‰ˆæœ¬éŽä½Žã€‚æ­¤æ¨¡çµ„éœ€è¦æ›´æ–°çš„éŠæˆ²ç‰ˆæœ¬ï¼ˆé€šå¸¸æ˜¯beta/alpha版本)æ‰èƒ½é‹ä½œ + +mod.outdatedv7.details = é€™å€‹æ¨¡çµ„èˆ‡éŠæˆ²çš„æœ€æ–°ç‰ˆæœ¬ä¸ç›¸å®¹ã€‚作者必須將其更新,並在其 mod.json 文件中添加 [accent]minGameVersion: 136[]。 +mod.blacklisted.details = 這個模組已被手動列入黑åå–®ï¼Œå› ç‚ºå®ƒåœ¨æ­¤ç‰ˆæœ¬çš„éŠæˆ²ä¸­å¼•起崩潰或其他å•題。請勿使用。 +mod.missingdependencies.details = 此模組缺少ä¾è³´é …:{0} +mod.erroredcontent.details = 此模組在加載時引發錯誤。請求模組作者修復它們。 +mod.circulardependencies.details = 這個模組具有相互ä¾è³´çš„ä¾è³´é …。 +mod.incompletedependencies.details = 由於無效或缺失的ä¾è³´é …,此模組無法加載:{0}。 +mod.requiresversion = 需è¦éŠæˆ²ç‰ˆæœ¬ï¼š[red]{0} mod.errors = 載入內容時發生錯誤 -mod.noerrorplay = [scarlet]你使用了有å•題的模組。[] éŠæˆ²å‰è«‹å…ˆåœç”¨ç›¸é—œæ¨¡çµ„或修正å•題。 +mod.noerrorplay = [scarlet]您使用了有å•題的模組。[] éŠæˆ²å‰è«‹å…ˆåœç”¨ç›¸é—œæ¨¡çµ„或修正å•題。 mod.nowdisabled = [scarlet]「{0}ã€æ¨¡çµ„缺少ä¾è³´é—œä¿‚:[accent] {1}\n[lightgray]必須先下載這些模組。\n此模組將被自動åœç”¨ã€‚ mod.enable = 啟用 mod.requiresrestart = éŠæˆ²å°‡ç«‹å³é—œé–‰ä»¥å¥—用模組變更。 @@ -148,14 +184,24 @@ mod.scripts.disable = 您的è£ç½®ä¸æ”¯æŒåŒ…嫿Œ‡ä»¤æª”的模組。您必須 about.button = 關於 name = å稱: noname = è«‹å…ˆé¸æ“‡ä¸€å€‹[accent]玩家å稱[]。 +search = æœå°‹: planetmap = 星çƒåœ°åœ– launchcore = 發射核心 filename = 檔案å稱︰ unlocked = å·²è§£éŽ–æ–°å…§å®¹ï¼ available = å¯ç ”ç©¶æ–°ç§‘æŠ€ï¼ +unlock.incampaign = <在戰役中解鎖> +campaign.select = 鏿“‡æˆ°å½¹å‡ºç™¼é»ž +campaign.none = [lightgray]鏿“‡åˆå§‹æ˜Ÿçƒã€‚\n星çƒéš¨æ™‚都å¯ä»¥åˆ‡æ›ã€‚ +campaign.erekir = æ›´æ–°ã€æ›´ç²¾ç·»çš„內容。戰役大部分都是連貫性的。\n\n難度更高,但有高å“質的地圖和整體的經驗。 +campaign.serpulo = 較舊的內容,經典的體驗。更加開放且有更多內容。\n\n有å¯èƒ½æœƒæœ‰ä¸å¹³è¡¡çš„åœ°åœ–ä»¥åŠæˆ°å½¹æ©Ÿåˆ¶ï¼Œè¼ƒä¸å®Œç¾Žã€‚ +campaign.difficulty = Difficulty + completed = [accent]å®Œæˆ techtree = 科技樹 -research.legacy = [accent]5.0[] 嵿¸¬åˆ°èˆŠæœ‰ç§‘技資料。\nè«‹å•è¦[accent]載入[]資料,還是[accent]放棄[]並é‡ç½®æ–°æˆ°å½¹çš„科技樹(建議)? +techtree.select = 鏿“‡ç§‘技樹 +techtree.serpulo = 蕈孢星 +techtree.erekir = 熾熱之境 research.load = 載入 research.discard = 放棄 research.list = [lightgray]研究︰ @@ -178,8 +224,8 @@ server.kicked.typeMismatch = 該伺æœå™¨èˆ‡æ‚¨çš„版本ä¸ç›¸å®¹ã€‚ server.kicked.playerLimit = 該伺æœå™¨å·²æ»¿ã€‚請等待玩家離開。 server.kicked.recentKick = 您最近曾被踢出伺æœå™¨ã€‚\nè«‹ç¨å¾Œå†é€²è¡Œé€£ç·šã€‚ server.kicked.nameInUse = 伺æœå™¨ä¸­å·²ç¶“\n有人有相åŒçš„å稱了。 -server.kicked.nameEmpty = ä½ çš„å稱必須至少包å«ä¸€å€‹å­—æ¯æˆ–數字。 -server.kicked.idInUse = 你已經在伺æœå™¨ä¸­ï¼ä¸å…許使用兩個帳號。 +server.kicked.nameEmpty = 您的å稱必須至少包å«ä¸€å€‹å­—æ¯æˆ–數字。 +server.kicked.idInUse = 您已經在伺æœå™¨ä¸­ï¼ä¸å…許使用兩個帳號。 server.kicked.customClient = 這個伺æœå™¨ä¸æ”¯æ´è‡ªè¨‚的客戶端,請下載官方版本。 server.kicked.gameover = éŠæˆ²çµæŸï¼ server.kicked.serverRestarting = 伺æœå™¨æ­£åœ¨é‡æ–°å•Ÿå‹•。 @@ -199,6 +245,7 @@ hosts.none = [lightgray]找ä¸åˆ°å€åŸŸç¶²è·¯ä¼ºæœå™¨ï¼ host.invalid = [scarlet]無法連線至伺æœå™¨ã€‚ servers.local = å€åŸŸä¼ºæœå™¨ +servers.local.steam = é–‹æ”¾éŠæˆ²é–“與å€åŸŸä¼ºæœå™¨ servers.remote = é ç«¯ä¼ºæœå™¨ servers.global = 社群伺æœå™¨ @@ -206,14 +253,25 @@ servers.disclaimer = 社群伺æœå™¨[accent]䏿˜¯[]ç”±é–‹ç™¼è€…æ“æœ‰æˆ–ç®¡ç† servers.showhidden = 顯示被隱è—的伺æœå™¨ server.shown = 已顯示 server.hidden = å·²éš±è— +viewplayer = 檢視玩家:[accent]{0} trace = 追蹤玩家 trace.playername = 玩家å稱:[accent]{0} trace.ip = IP:[accent]{0} trace.id = ID:[accent]{0} +trace.language = Language: [accent]{0} trace.mobile = 行動客戶端:[accent]{0} trace.modclient = 自訂客戶端:[accent]{0} +trace.times.joined = 加入次數:[accent]{0} +trace.times.kicked = 踢除次數:[accent]{0} +trace.ips = IP: +trace.names = åå­—: invalidid = 無效的客戶端 IDï¼è«‹éžäº¤éŒ¯èª¤å›žå ±ã€‚ +player.ban = å°éŽ– +player.kick = 踢除 +player.trace = 追蹤 +player.admin = 切æ›ç®¡ç†å“¡ +player.team = 切æ›éšŠä¼ server.bans = å°éŽ– server.bans.none = 沒有玩家被å°éŽ–ï¼ server.admins = 管ç†å“¡ @@ -227,10 +285,11 @@ server.version = [gray]v{0} {1} server.custombuild = [accent]自訂客戶端 confirmban = 您確定è¦å°éŽ–ã€Œ[white]{0}[]ã€å—Žï¼Ÿ confirmkick = 您確定è¦è¸¢å‡ºã€Œ[white]{0}[]ã€å—Žï¼Ÿ -confirmvotekick = æ‚¨ç¢ºå®šè¦æŠ•ç¥¨è¸¢å‡ºã€Œ[white]{0}[]ã€å—Ž? confirmunban = 您確定è¦è§£é™¤å°éŽ–é€™å€‹çŽ©å®¶å—Žï¼Ÿ confirmadmin = æ‚¨ç¢ºå®šè¦æ™‰å‡ã€Œ[white]{0}[]ã€ç‚ºç®¡ç†å“¡å—Žï¼Ÿ confirmunadmin = 您確定è¦è§£é™¤ã€Œ[white]{0}[]ã€çš„管ç†å“¡å—Žï¼Ÿ +votekick.reason = 投票踢出原因 +votekick.reason.message = ç¢ºå®šè¦æŠ•ç¥¨è¸¢å‡ºçŽ©å®¶"{0}[white]"?\n如果是,請輸入ç†ç”±ï¼š joingame.title = åŠ å…¥éŠæˆ² joingame.ip = IP ä½ç½®ï¼š disconnect = 已中斷連線。 @@ -238,16 +297,18 @@ disconnect.error = 連線錯誤。 disconnect.closed = 連線關閉。 disconnect.timeout = 連線逾時。 disconnect.data = ç„¡æ³•è¼‰å…¥åœ°åœ–è³‡æ–™ï¼ +disconnect.snapshottimeout = Timed out while receiving UDP snapshots.\nThis may be caused by an unstable network or connection. cantconnect = ç„¡æ³•åŠ å…¥éŠæˆ² ([accent]{0}[]). connecting = [accent]連線中…… reconnecting = [accent]釿–°é€£æŽ¥ä¸­â€¦â€¦ connecting.data = [accent]地圖資料載入中…… server.port = 連接埠: -server.addressinuse = 該ä½ç½®å·²è¢«ä½¿ç”¨ï¼ server.invalidport = ç„¡æ•ˆçš„é€£æŽ¥åŸ ï¼ +server.error.addressinuse = [scarlet]Failed to open server on port 6567.[]\n\nMake sure no other Mindustry servers are running on your device or network! server.error = [crimson]建立伺æœå™¨æ™‚發生錯誤。 save.new = 新存檔 save.overwrite = 您確定è¦è¦†å¯«å­˜æª”嗎? +save.nocampaign = 無法匯入單一戰役中的存檔。 overwrite = 覆寫 save.none = 找ä¸åˆ°å­˜æª”ï¼ savefail = å­˜æª”å¤±æ•—ï¼ @@ -268,6 +329,7 @@ save.corrupted = æ­¤å­˜æª”ç„¡æ•ˆæˆ–å·²ææ¯€ï¼ empty = 〈空白〉 on = 開啟 off = 關閉 +save.search = æœå°‹å„²å­˜çš„éŠæˆ²â€¦â€¦ save.autosave = 自動存檔:{0} save.map = 地圖:{0} save.wave = 波次:{0} @@ -283,9 +345,31 @@ ok = 確定 open = 開啟 customize = 自訂 cancel = å–æ¶ˆ +command = 命令 +command.queue = [lightgray][Queuing] +command.mine = 挖礦 +command.repair = 修復 +command.rebuild = é‡å»º +command.assist = å”助玩家 +command.move = 移動 +command.boost = 推進 +command.enterPayload = é€²å…¥è² è·æ–¹å¡Š +command.loadUnits = 拾å–å–®ä½ +command.loadBlocks = æ‹¾å–æ–¹å¡Š +command.unloadPayload = å¸ä¸‹è² è¼‰ +command.loopPayload = Loop Unit Transfer +stance.stop = å–æ¶ˆæŒ‡ä»¤ +stance.shoot = 狀態:射擊 +stance.holdfire = 狀態: åœç« +stance.pursuetarget = 狀態:追é€ç›®æ¨™ +stance.patrol = ç‹€æ…‹ï¼šè·¯å¾‘å·¡é‚ +stance.ram = 狀態:è¡é‹’\n[lightgray]直線移動,ä¸é€²è¡Œå°‹è·¯ã€‚ + openlink = é–‹å•Ÿé€£çµ copylink = è¤‡è£½é€£çµ back = 返回 +max = æœ€å¤§é‡ +objective = 地圖目標 crash.export = 匯出當機報告。 crash.none = 無當機報告。 crash.exported = 已匯出當機報告。 @@ -296,18 +380,20 @@ data.exported = 資料已匯出。 data.invalid = 這䏿˜¯æœ‰æ•ˆçš„éŠæˆ²è³‡æ–™ã€‚ data.import.confirm = 導入外部資料將會覆寫您目å‰[scarlet]所有的[]éŠæˆ²è³‡æ–™ï¼Œ\n[accent]此動作無法復原ï¼[]\n\nåŒ¯å…¥è³‡æ–™å¾Œï¼Œæ‚¨çš„éŠæˆ²å°‡ç«‹åˆ»çµæŸã€‚ quit.confirm = 您確定è¦çµæŸå—Žï¼Ÿ -quit.confirm.tutorial = 您確定您知é“自己在åšä»€éº¼å—Ž?\nå¯ä»¥åœ¨[accent] 設定->éŠæˆ²[] é¸é …中é‡è¨­æ•™å­¸ã€‚ loading = [accent]載入中…… -reloading = [accent]æ¨¡çµ„é‡æ–°è¼‰å…¥ä¸­â€¦â€¦ +downloading = [accent]下載中…… saving = [accent]儲存中…… respawn = [accent][[{0}][]é‡ç”Ÿ cancelbuilding = [accent][[{0}][]清除計畫 selectschematic = [accent][[{0}][]鏿“‡ä¸¦è¤‡è£½ pausebuilding = [accent][[{0}][]æš«åœå»ºé€  resumebuilding = [scarlet][[{0}][]繼續建造 +enablebuilding = [scarlet][[{0}][]啟用建造 showui = 已隱è—介é¢ã€‚\n按[accent][[{0}][]顯示介é¢ã€‚ +commandmode.name = [accent]æŒ‡æ®æ¨¡å¼ +commandmode.nounits = [no units] wave = [accent]第{0}æ³¢ -wave.cap = [accent]Wave {0}/{1} +wave.cap = [accent]æ³¢ {0}/{1} wave.waiting = [lightgray]將於{0}ç§’å¾ŒæŠµé” wave.waveInProgress = [lightgray]波次進行中 waiting = [lightgray]等待中…… @@ -325,9 +411,9 @@ custom = 自訂 builtin = 内建 map.delete.confirm = 確èªè¦åˆªé™¤åœ°åœ–å—Žï¼Ÿæ­¤å‹•ä½œç„¡æ³•å¾©åŽŸï¼ map.random = [accent]隨機地圖 -map.nospawn = 這個地圖沒有核心ï¼è«‹åœ¨ç·¨è¼¯å™¨ä¸­æ·»åР䏀個[accent]橘色[]的核心。 +map.nospawn = 這個地圖沒有核心ï¼è«‹åœ¨ç·¨è¼¯å™¨ä¸­æ·»åР䏀個{0}的核心。 map.nospawn.pvp = é€™å€‹åœ°åœ–æ²’æœ‰æ•µå°æ ¸å¿ƒè®“玩家é‡ç”Ÿï¼è«‹åœ¨ç·¨è¼¯å™¨ä¸­æ·»åР䏀個[scarlet]䏿˜¯æ©˜è‰²[]的核心。 -map.nospawn.attack = 這個地圖沒有敵人核心å¯ä»¥æ”»æ“Šï¼è«‹åœ¨ç·¨è¼¯å™¨ä¸­æ·»åР䏀個[scarlet]紅色[]的核心。 +map.nospawn.attack = 這個地圖沒有敵人核心å¯ä»¥æ”»æ“Šï¼è«‹åœ¨ç·¨è¼¯å™¨ä¸­æ·»åР䏀個{0}的核心。 map.invalid = 地圖載入錯誤:地圖å¯èƒ½å·²ç¶“ææ¯€ã€‚ workshop.update = æ›´æ–°é …ç›® workshop.error = æ“·å–工作åŠè©³ç´°è³‡è¨Šæ™‚出錯:{0} @@ -335,6 +421,7 @@ map.publish.confirm = 您確定è¦ç™¼å¸ƒæ­¤åœ°åœ–å—Ž?\n\n[lightgray]首先請先 workshop.menu = 鏿“‡æ‚¨è¦å°æ­¤é …目執行的動作。 workshop.info = 項目資訊 changelog = è®Šå‹•ç´€éŒ„ï¼ˆé¸æ“‡æ€§ï¼‰ï¼š +updatedesc = 更新標題和æè¿° eula = Steam EULA missing = 此項目已被刪除或移動。\n[lightgray]工作åŠåˆ—表ç¾åœ¨å·²è‡ªå‹•å–æ¶ˆé€£çµã€‚ publishing = [accent]發佈中…… @@ -342,6 +429,10 @@ publish.confirm = 您確定è¦ç™¼å¸ƒå—Žï¼Ÿ\n\n[lightgray]é¦–å…ˆç¢ºå®šæ‚¨åŒæ„ W publish.error = 發佈項目時發生å•題:{0} steam.error = Steam æœå‹™åˆå§‹åŒ–失敗。\n錯誤:{0} +editor.planet = 行星: +editor.sector = 地å€ï¼š +editor.seed = 種å­ï¼š +editor.cliffs = 牆轉為懸崖 editor.brush = 筆刷 editor.openin = 在編輯器中開啟 editor.oregen = ç¤¦çŸ³ç”Ÿæˆ @@ -353,54 +444,97 @@ editor.nodescription = 在地圖發佈å‰å¿…須有至少四個字以上的æè¿° editor.waves = 波次: editor.rules = è¦å‰‡ï¼š editor.generation = 自動生æˆï¼š +editor.objectives = 目標 +editor.locales = Locale Bundles +editor.worldprocessors = World Processors +editor.worldprocessors.editname = Edit Name +editor.worldprocessors.none = [lightgray]No world processor blocks found!\nAdd one in the map editor, or use the \ue813 Add button below. +editor.worldprocessors.nospace = No free space to place a world processor!\nDid you fill the map with structures? Why would you do this? +editor.worldprocessors.delete.confirm = Are you sure you want to delete this world processor?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall. editor.ingame = åœ¨éŠæˆ²ä¸­ç·¨è¼¯ +editor.playtest = 測試 editor.publish.workshop = 在工作åŠä¸Šç™¼ä½ˆ editor.newmap = 新地圖 editor.center = 中心 +editor.search = 尋找地圖… +editor.filters = 篩é¸åœ°åœ– +editor.filters.mode = éŠæˆ²æ¨¡å¼ï¼š +editor.filters.type = 地圖種類: +editor.filters.search = æœå°‹çš„資料夾: +editor.filters.author = 作者 +editor.filters.description = æè¿° +editor.shiftx = Xä½ç§» +editor.shifty = Yä½ç§» workshop = å·¥ä½œåŠ waves.title = 波次 waves.remove = 移除 -waves.never = 〈永ä¸ã€‰ waves.every = æ¯ waves.waves = 波次 +waves.health = è¡€é‡ï¼š{0}% waves.perspawn = æ¯æ¬¡ç”Ÿæˆ waves.shields = 護盾/波次 waves.to = 至 -waves.guardian = é ­ç›® +waves.spawn = spawn: +waves.spawn.all = +waves.spawn.select = Spawn Select +waves.spawn.none = [scarlet]地圖中找ä¸åˆ°é™è½å€ +waves.max = æœ€å¤§å–®ä½æ•¸ +waves.guardian = 守衛者 waves.preview = é è¦½ waves.edit = 編輯…… +waves.random = 隨機 waves.copy = 複製到剪貼簿 waves.load = 從剪貼簿載入 waves.invalid = 剪貼簿中的波次無效。 waves.copied = 波次已複製。 waves.none = 無自訂敵人。\n請注æ„,若沒有波次佈局將自動替æ›ç‚ºé è¨­ä½ˆå±€ã€‚ +waves.sort = 分類排åºï¼š +waves.sort.reverse = åå‘æŽ’åº +waves.sort.begin = é–‹å§‹ +waves.sort.health = è¡€é‡ +waves.sort.type = 兵種 +waves.search = æœå°‹æ³¢... +waves.filter = å–®ä½éŽæ¿¾ +waves.units.hide = å…¨éƒ¨éš±è— +waves.units.show = 全部顯示 -#校正用空行 +#these are intentionally in lower case wavemode.counts = æ•¸é‡ wavemode.totals = 總數 wavemode.health = 生命值 +all = All editor.default = [lightgray](é è¨­ï¼‰ details = 詳細資訊…… edit = 編輯…… +variables = 變數 +logic.clear.confirm = Are you sure you want to clear all code from this processor? +logic.globals = 內建變數 + editor.name = å稱: editor.spawn = é‡ç”Ÿå–®ä½ editor.removeunit = ç§»é™¤å–®ä½ editor.teams = éšŠä¼ editor.errorload = 載入檔案時發生å•題。 editor.errorsave = 儲存檔案時發生å•題。 -editor.errorimage = 這是圖片檔,而éžåœ°åœ–。ä¸è¦è©¦åœ–修改副檔å讓它å¯ä»¥ä½¿ç”¨ã€‚\n\n如果è¦åŒ¯å…¥åœ°å½¢åœ–ç‰‡æª”ï¼Œè«‹ä½¿ç”¨ç·¨è¼¯å™¨ä¸­çš„ã€ŒåŒ¯å…¥åœ°å½¢åœ–ç‰‡æª”ã€æŒ‰éˆ•。 +editor.errorimage = 這是圖片檔,而éžåœ°åœ–。 editor.errorlegacy = æ­¤åœ°åœ–å¤ªèˆŠï¼Œä¸¦ä½¿ç”¨ä¸æ”¯æ´çš„舊地圖格å¼ã€‚ editor.errornot = 這䏿˜¯åœ°åœ–檔。 editor.errorheader = æ­¤åœ°åœ–æª”ç„¡æ•ˆæˆ–å·²ææ¯€ã€‚ editor.errorname = 地圖沒有定義å稱。 +editor.errorlocales = 讀å–語言包時出錯。 editor.update = æ›´æ–° editor.randomize = 隨機化 +editor.moveup = å‘上移動 +editor.movedown = å‘下移動 +editor.copy = 複製 editor.apply = 使用 editor.generate = 產生 +editor.sectorgenerate = ç”¢ç”Ÿåœ°å€ editor.resize = èª¿æ•´å¤§å° editor.loadmap = 載入地圖 editor.savemap = 儲存地圖 +editor.savechanges = [scarlet]您有尚未ä¿å­˜çš„æ›´æ”¹ï¼\n\n[]您想è¦ä¿å­˜é€™äº›æ›´æ”¹å—Žï¼Ÿ editor.saved = å·²å„²å­˜ï¼ editor.save.noname = 您的地圖沒有å稱ï¼åœ¨ã€Œåœ°åœ–資訊ã€ç•«é¢è¨­å®šä¸€å€‹å稱。 editor.save.overwrite = 您的地圖覆寫了內建的地圖ï¼åœ¨ã€Œåœ°åœ–資訊ã€ç•«é¢è¨­å®šå…¶ä»–å稱。 @@ -419,7 +553,7 @@ editor.exportimage = 匯出地形圖片檔 editor.exportimage.description = 匯出地形圖片檔 editor.loadimage = 載入圖片 editor.saveimage = 儲存圖片 -editor.unsaved = [scarlet]尚未儲存變更ï¼[]\n您確定è¦é€€å‡ºå—Žï¼Ÿ +editor.unsaved = 您確定è¦é€€å‡ºå—Žï¼Ÿ\n[scarlet](å°‡éºå¤±æœªå„²å­˜çš„變更)[] editor.resizemap = èª¿æ•´åœ°åœ–å¤§å° editor.mapname = 地圖å稱: editor.overwrite = [accent]警告ï¼é€™å°‡æœƒè¦†è“‹ç¾æœ‰çš„地圖。 @@ -439,10 +573,16 @@ toolmode.eraseores = 清除礦物 toolmode.eraseores.description = 僅清除礦物。 toolmode.fillteams = 填充團隊 toolmode.fillteams.description = å¡«å……åœ˜éšŠè€Œéžæ–¹å¡Šã€‚ +toolmode.fillerase = æ¸…é™¤ç›¸åŒ +toolmode.fillerase.description = 清除相åŒç¨®é¡žçš„æ–¹å¡Šã€‚ toolmode.drawteams = 繪製團隊 toolmode.drawteams.description = ç¹ªè£½åœ˜éšŠè€Œéžæ–¹å¡Šã€‚ +#unused +toolmode.underliquid = 水下地形 +toolmode.underliquid.description = 繪製液體下的地形 filters.empty = [lightgray]æ²’æœ‰éŽæ¿¾å™¨ï¼ä½¿ç”¨ä¸‹é¢çš„æŒ‰éˆ•新增一個。 + filter.distort = 扭曲 filter.noise = 雜訊 filter.enemyspawn = 敵人é‡ç”Ÿé¸æ“‡ @@ -459,6 +599,8 @@ filter.clear = 清除 filter.option.ignore = 忽略 filter.scatter = 分散 filter.terrain = 地形 +filter.logic = é‚輯 + filter.option.scale = è¦æ¨¡ filter.option.chance = 機會 filter.option.mag = å¤§å° @@ -467,17 +609,39 @@ filter.option.circle-scale = åœ“å½¢è¦æ¨¡ filter.option.octaves = å€é » filter.option.falloff = 衰減 filter.option.angle = 角度 +filter.option.tilt = 歪斜 +filter.option.rotate = 旋轉 filter.option.amount = æ•¸é‡ filter.option.block = 方塊 filter.option.floor = åœ°æ¿ filter.option.flooronto = ç›®æ¨™åœ°æ¿ filter.option.target = 目標 +filter.option.replacement = å–代 filter.option.wall = 牆 filter.option.ore = 礦石 filter.option.floor2 = 次è¦åœ°æ¿ filter.option.threshold2 = 次è¦é–¾å€¼ filter.option.radius = åŠå¾‘ filter.option.percentile = 百分比 +filter.option.code = Code +filter.option.loop = Loop +locales.info = Here, you can add locale bundles for specific languages to your map. In locale bundles, each property has a name and a value. These properties can be used by world processors and objectives using their names. They support text formatting (replacing placeholders with actual values).\n\n[cyan]Example property:\n[]name: [accent]timer[]\nvalue: [accent]Example timer, time left: {0}[]\n\n[cyan]Usage:\n[]Set it as objective's text: [accent]@timer\n\n[]Print it in a world processor:\n[accent]localeprint "timer"\nformat time\n[gray](where time is a separately calculated variable) +locales.deletelocale = Are you sure you want to delete this locale bundle? +locales.applytoall = Apply Changes To All Locales +locales.addtoother = Add To Other Locales +locales.rollback = Rollback to last applied +locales.filter = Property filter +locales.searchname = Search name... +locales.searchvalue = Search value... +locales.searchlocale = Search locale... +locales.byname = By name +locales.byvalue = By value +locales.showcorrect = Show properties that are present in all locales and have unique values everywhere +locales.showmissing = Show properties that are missing in some locales +locales.showsame = Show properties that have same values in different locales +locales.viewproperty = View in all locales +locales.viewing = Viewing property "{0}" +locales.addicon = Add Icon width = 寬度: height = 長度: @@ -488,6 +652,7 @@ load = 載入 save = 儲存 fps = FPS:{0} ping = å»¶é²ï¼š{0}毫秒 +tps = TPS: {0} memory = Mem: {0}mb memory2 = Mem:\n {0}mb +\n {1}mb language.restart = è«‹é‡æ–°å•Ÿå‹•éŠæˆ²ä»¥ä½¿é¸å–的語言生效。 @@ -506,21 +671,76 @@ requirement.core = 在{0}摧毀敵人核心 requirement.research = 研究 {0} requirement.produce = 生產 {0} requirement.capture = æ•ç² {0} -bestwave = [lightgray]最高波次:{0} +requirement.onplanet = 控制å€åŸŸï¼š{0} +requirement.onsector = 登陸å€åŸŸï¼š{0} launch.text = 發射 -research.multiplayer = åªæœ‰ç®¡ç†è€…å¯ä»¥ä½¿ç”¨é€™å€‹ç‰©å“ +map.multiplayer = åªæœ‰ç®¡ç†è€…å¯ä»¥æŸ¥çœ‹åœ°åœ– uncover = 探索 -configure = 設定 +configure = 資æºé…ç½® + +objective.research.name = 研究 +objective.produce.name = 生產 +objective.item.name = ç²å–ç‰©å“ +objective.coreitem.name = æ ¸å¿ƒç‰©å“ +objective.buildcount.name = 建造 +objective.unitcount.name = è£½é€ å–®ä½ +objective.destroyunits.name = æ‘§æ¯€å–®ä½ +objective.timer.name = 計時器 +objective.destroyblock.name = 摧毀 +objective.destroyblocks.name = 摧毀 +objective.destroycore.name = 摧毀核心 +objective.commandmode.name = æŒ‡æ®æ¨¡å¼ +objective.flag.name = 全局Flag + +marker.shapetext.name = 稜框+文字標示 +marker.point.name = Point +marker.shape.name = 稜框標示 +marker.text.name = 文字標示 +marker.line.name = Line +marker.quad.name = Quad +marker.texture.name = Texture + +marker.background = å黑背景 +marker.outline = æé‚Š + +objective.research = [accent]研究:\n[]{0}[lightgray]{1} +objective.produce = [accent]å–得:\n[]{0}[lightgray]{1} +objective.destroyblock = [accent]摧毀:\n[]{0}[lightgray]{1} +objective.destroyblocks = [accent]摧毀:[lightgray]{0}[white]/{1}\n{2}[lightgray]{3} +objective.item = [accent]å–得:[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.coreitem = [accent]Move into Core:\n[][lightgray]{0}[]/{1}\n{2}[lightgray]{3} +objective.build = [accent]建造:[][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.buildunit = [accent]產生單ä½ï¼š[][lightgray]{0}[]x\n{1}[lightgray]{2} +objective.destroyunits = [accent]摧毀:[][lightgray]{0}[]x å–®ä½ +objective.enemiesapproaching = [accent]的人在 [lightgray]{0} 到é”[] +objective.enemyescelating = [accent]敵人在[lightgray]{0}[]後擴大單ä½ç”Ÿç”¢ +objective.enemyairunits = [accent]敵人在[lightgray]{0}[]後產生空è»å–®ä½ + +objective.destroycore = [accent]摧毀敵人核心 +objective.command = [accent]指æ®å–®ä½ +objective.nuclearlaunch = [accent]âš  嵿¸¬åˆ°æ ¸å½ˆæ‰“擊: [lightgray]{0} + +announce.nuclearstrike = [red]âš  核彈打擊入侵警告 âš  loadout = è£è¼‰ resources = è³‡æº -bannedblocks = åœç”¨æ–¹å¡Š +resources.max = 最大 +bannedblocks = ç¦ç”¨æ–¹å¡Š +unbannedblocks = Unbanned Blocks +objectives = 目標 +bannedunits = ç¦ç”¨å–®ä½ +unbannedunits = Unbanned Units +bannedunits.whitelist = Banned Units As Whitelist +bannedblocks.whitelist = Banned Blocks As Whitelist addall = 全部加入 launch.from = 發射來æºï¼š[accent]{0} +launch.capacity = 發射物å“容é‡ï¼š[accent]{0} launch.destination = 目的地:{0} +landing.sources = Source Sectors: [accent]{0}[] +landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min configure.invalid = 數值必須介於 0 到 {0}。 add = 新增…… -boss.health = é ­ç›®è¡€é‡ +guardian = é ­ç›® connectfail = [scarlet]伺æœå™¨é€£ç·šéŒ¯èª¤ï¼š\n\n[accent]{0} error.unreachable = 無法連線到伺æœå™¨ã€‚è«‹ç¢ºèªæ‹¼å­—æ˜¯å¦æ­£ç¢ºï¼Ÿ @@ -532,17 +752,23 @@ error.mapnotfound = 找ä¸åˆ°åœ°åœ–ï¼ error.io = 網路錯誤。 error.any = 未知網路錯誤。 error.bloom = åˆå§‹åŒ–特效失敗。\n您的è£ç½®å¯èƒ½ä¸æ”¯æ´ +error.moddex = Mindustry is unable to load this mod.\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue. -weather.rain.name = 雨 -weather.snow.name = 雪 +weather.rain.name = é™é›¨ +weather.snowing.name = é™é›ª weather.sandstorm.name = 沙塵暴 weather.sporestorm.name = å­¢å­é¢¨æš´ weather.fog.name = 霧 +campaign.playtime = \uf129 [lightgray]地å€éŠçŽ©æ™‚é–“ï¼š {0} +campaign.complete = [accent]Congratulations.\n\nThe enemy on {0} has been defeated.\n[lightgray]The final sector has been conquered. +sectorlist = åœ°å€ +sectorlist.attacked = {0} é­å—攻擊 sectors.unexplored = [lightgray]未探索 sectors.resources = 資æºï¼š sectors.production = 生產: -sectors.export = 出å£ï¼š +sectors.export = 輸出: +sectors.import = 輸入: sectors.time = 佔領時間: sectors.threat = å±éšªæ€§ï¼š sectors.wave = 波次: @@ -550,30 +776,45 @@ sectors.stored = 儲存: sectors.resume = 繼續 sectors.launch = 發射 sectors.select = é¸å– +sectors.launchselect = Select Launch Destination sectors.nonelaunch = [lightgray]無(太陽) +sectors.redirect = Redirect Launch Pads sectors.rename = 釿–°å‘½åå€åŸŸ sectors.enemybase = [scarlet]敵方基地 sectors.vulnerable = [scarlet]æ˜“å—æ”»æ“Š sectors.underattack = [scarlet]敵è»ä¾†è¥²ï¼ [accent]{0}% å—æ +sectors.underattack.nodamage = [scarlet]尚未佔領 sectors.survives = [accent]存活 {0} 波次 sectors.go = 進入 +sector.abandon = 放棄 +sector.abandon.confirm = 此地å€çš„æ ¸å¿ƒå°‡æœƒè‡ªæˆ‘銷毀\n是å¦ç¹¼çºŒ? sector.curcapture = å·²ä½”é ˜åœ°å€ sector.curlost = å·²å¤±åŽ»è©²åœ°å€ sector.missingresources = [scarlet]核心資æºä¸è¶³ sector.attacked = åœ°å€ [accent]{0}[white] é­å—æ”»æ“Šï¼ sector.lost = åœ°å€ [accent]{0}[white] æˆ°æ•—ï¼ -#note: 校正用空行 -sector.captured = æˆåŠŸä½”é ˜åœ°å€[accent]{0}[white]ï¼ +sector.capture = Sector [accent]{0}[white]已佔領! +sector.capture.current = 地å€å·²ä½”é ˜! +sector.changeicon = 更改圖標 +sector.noswitch.title = 無法切æ›åœ°å€ +sector.noswitch = ç•¶å‰åœ°å€é­å—攻擊時,無法切æ›åœ°å€\n\n地å€: [accent]{0}[] æ–¼ [accent]{1}[] +sector.view = æª¢è¦–åœ°å€ threat.low = 低 threat.medium = 中 threat.high = 高 threat.extreme = 極高 threat.eradication = 毀滅性 +difficulty.casual = ä¼‘é–’æ¨¡å¼ +difficulty.easy = ç°¡å–®æ¨¡å¼ +difficulty.normal = æ™®é€šæ¨¡å¼ +difficulty.hard = å›°é›£æ¨¡å¼ +difficulty.eradication = æ»…çµ•æ¨¡å¼ planets = 行星 planet.serpulo.name = 蕈孢星 +planet.erekir.name = 熾熱之境 planet.sun.name = 太陽 sector.impact0078.name = è¡æ“Š0078 @@ -585,30 +826,109 @@ sector.stainedMountains.name = 多色山脈 sector.desolateRift.name = è’è°· sector.nuclearComplex.name = 核能電網 sector.overgrowth.name = 雜è‰å¢ç”Ÿ -sector.tarFields.name = 油田 +sector.tarFields.name = 焦油田 sector.saltFlats.name = é¹½ç˜ -sector.fungalPass.name = 真èŒèµ°å»Š +sector.fungalPass.name = 真èŒå»Šé“ sector.biomassFacility.name = ç”Ÿç‰©è³ªåˆæˆå·¥å»  sector.windsweptIslands.name = 風之島 sector.extractionOutpost.name = èƒå–哨站 +sector.facility32m.name = Facility 32 M +sector.taintedWoods.name = Tainted Woods +sector.infestedCanyons.name = Infested Canyons sector.planetaryTerminal.name = 星際發射站 +sector.coastline.name = 海岸 +sector.navalFortress.name = 海上è¦å¡ž +sector.polarAerodrome.name = Polar Aerodrome +sector.atolls.name = Atolls +sector.testingGrounds.name = Testing Grounds +sector.seaPort.name = Sea Port +sector.weatheredChannels.name = Weathered Channels +sector.mycelialBastion.name = Mycelial Bastion +sector.frontier.name = Frontier sector.groundZero.description = 冿¬¡é–‹å§‹çš„æœ€ä½³ä½ç½®ã€‚敵人å¨è„…程度低。資æºå°‘。\n盡å¯èƒ½åœ°æŽ¡é›†é‰›èˆ‡éŠ…ã€‚\n繼續å‰é€²ã€‚ -sector.frozenForest.description = å³ä½¿æ˜¯åœ¨å¦‚æ­¤é è¿‘山脈的地方,孢å­ä¹Ÿå·²ç¶“擴散了。如此低溫也無法永é é止它們。\n\n開始冒險發電。建造ç«åŠ›ç™¼é›»æ©Ÿã€‚ä¸¦å­¸ç¿’ä½¿ç”¨ä¿®ç†å–®ä½ã€‚ +sector.frozenForest.description = å³ä½¿æ˜¯åœ¨å¦‚æ­¤é è¿‘山脈的地方,孢å­ä¹Ÿå·²ç¶“擴散了。低溫無法永é é止它們。\n\n開始探索電力。建造ç«åŠ›ç™¼é›»æ©Ÿã€‚å­¸ç¿’å¦‚ä½•ä¿®ç†æ–¹å¡Šã€‚ sector.saltFlats.description = é¹½ç˜åœ¨æ²™æ¼ çš„外åœã€‚此處資æºä¸å¤šã€‚\n\n敵人已在此建立了一座資æºå€‰åº«ã€‚剷除他們的核心。ä¸è¦ç•™ä¸‹ä»»ä½•æ±è¥¿ã€‚ -sector.craters.description = 在曾發生éŽå¤ä»£æˆ°çˆ­çš„ç«å±±å£ç©äº†å¾ˆå¤šæ°´ã€‚開墾這個å€åŸŸã€‚採集沙å­ã€‚煉製玻璃。抽水冷å»ç ²å¡”與鑽頭。 +sector.craters.description = 在曾發生éŽå¤ä»£æˆ°çˆ­çš„ç«å±±å£ç©äº†å¾ˆå¤šæ°´ã€‚開墾這個å€åŸŸã€‚採集沙å­ã€‚煉製玻璃。抽水冷å»ç ²å°èˆ‡é‘½é ­ã€‚ sector.ruinousShores.description = è¶ŠéŽå»¢æ£„物就是海岸線。此處曾設有海岸防禦陣線。但剩下的ä¸å¤šã€‚åªæœ‰æœ€åŸºæœ¬çš„é˜²ç¦¦çµæ§‹æ²’æœ‰ææ¯€ï¼Œå…¶ä»–的一切都已然變為廢墟。\n繼續å‘å¤–æ“´å±•ã€‚é‡æ–°ç™¼ç¾æŠ€è¡“。 sector.stainedMountains.description = 還未å—孢孿±¡æŸ“的山脈å‘內陸延伸。\n在此å€åŸŸé–‹æŽ¡éˆ¦é‡‘屬。學習如何使用它。\n\n這裡的敵人更為強大。ä¸è¦è®“他們有以最強大武力攻擊的機會。 -sector.overgrowth.description = æ­¤å€åŸŸé›œè‰å¢ç”Ÿï¼Œé›¢å­¢å­çš„æºé ­å¾ˆè¿‘ã€‚\n敵人在此建立了å‰å“¨ç«™ã€‚建造泰å¦å–®ä½ã€‚摧毀它。然後找回éºå¤±çš„æ±è¥¿ã€‚ +sector.overgrowth.description = æ­¤å€åŸŸé›œè‰å¢ç”Ÿï¼Œé›¢å­¢å­çš„æºé ­å¾ˆè¿‘ã€‚\n敵人在此建立了å‰å“¨ç«™ã€‚å»ºé€ é‡æ§Œæ©Ÿç”²ï¼ŒæŠŠé€™å¤·ç‚ºå¹³åœ°ã€‚ sector.tarFields.description = 產油å€çš„外åœï¼Œåœ¨å±±è„ˆèˆ‡æ²™æ¼ ä¹‹é–“。少數有油料儲備的地å€ã€‚\n雖然看似被廢棄,但此å€åŸŸé™„è¿‘ä»æœ‰ä¸€äº›å±éšªçš„æ•µè»ã€‚ä¸è¦å°çœ‹ä»–們。\n\n[lightgray]如果å¯ä»¥çš„話,請研究石油加工科技。 -sector.desolateRift.description = éžå¸¸å±éšªçš„å€åŸŸã€‚資æºè±å¯Œï¼Œä½†ç©ºé–“狹å°ã€‚有高破壞風險。盡快離開。ä¸è¦è¢«æ•µäººçš„æ”»æ“Šé–“è·å¤ªé•·è€Œè¢«æ„šå¼„。 -sector.nuclearComplex.description = 曾是釷的生產與加工設施,但ç¾åœ¨å·²æˆå»¢å¢Ÿã€‚\n[lightgray]研究釷åŠå…¶è¨±å¤šç”¨é€”。\n\n敵人éžå¸¸å¤šï¼Œä¸æ–·æœå°‹å¯æ”»æ“Šçš„å°è±¡ã€‚ +sector.desolateRift.description = éžå¸¸å±éšªçš„å€åŸŸã€‚資æºè±å¯Œï¼Œä½†ç©ºé–“狹å°ã€‚有高破壞風險。盡早設置防禦。ä¸è¦å› å¾ˆé•·çš„æ”»æ“Šé–“è·æ™‚é–“è¢«é¨™äº†ï¼ +sector.nuclearComplex.description = 曾是釷的生產與加工設施,但ç¾åœ¨å·²æˆå»¢å¢Ÿã€‚\n[lightgray]研究釷åŠå…¶è¨±å¤šç”¨é€”。\n\n這裡敵人éžå¸¸å¤šï¼Œæ­£ä¸æ–·æœå°‹å¯æ”»æ“Šçš„å°è±¡ã€‚ sector.fungalPass.description = 高山與滿是孢å­çš„ä½Žè°·é–“çš„éŽæ¸¡å€åŸŸã€‚這裡有敵人的å°åž‹åµå¯ŸåŸºåœ°ã€‚\n摧毀它。\n使用匕首機甲與爬行機甲。拿下兩個核心。 sector.biomassFacility.description = 「孢å­ã€çš„發æºåœ°ã€‚這項設施是éŽåŽ»ç ”ç©¶å’Œç”Ÿç”¢è©²ç”Ÿç‰©è³ªçš„åœ°æ–¹ã€‚\n研究éºç•™æ–¼æ­¤çš„æŠ€è¡“。培養孢å­ä»¥åŠ å·¥æˆç‡ƒæ–™å’Œèšåˆç‰©ã€‚\n\n[lightgray]åœ¨è¨­æ–½ææ¯€å¾Œï¼Œå­¢å­æ•£æ’­äº†å‡ºåŽ»ã€‚é¢å°å¦‚此強勢的外來種,當地生態系中沒有任何物種能與之匹敵…… sector.windsweptIslands.description = åè½æ–¼æµ·å²¸ç·šå¤–的一串群島。紀錄顯示此地éŽåŽ»æœ‰ç”Ÿç”¢[accent]塑鋼[]的建築物。抵禦敵方的海è»é€²æ”»ã€‚在島嶼上建造基地。研究這些工廠。 sector.extractionOutpost.description = 由敵方建造的é ç«¯å“¨ç«™ï¼Œç”¨ä¾†ç™¼å°„資æºåˆ°å…¶ä»–地å€ã€‚\n\n跨地å€é‹è¼¸æ˜¯å¾æœæ˜Ÿçƒä¸å¯æˆ–缺的技術。摧毀該基地。研究他們的發射å°ã€‚ -sector.impact0078.description = 沉ç¡åœ¨æ­¤çš„æ˜¯ç¬¬ä¸€å€‹é€²å…¥æœ¬æ˜Ÿç³»çš„æ˜Ÿéš›é‹è¼¸èˆ¹ã€‚\n\n回收任何能利用的æ±è¥¿ã€‚ç ”ç©¶ä»»ä½•å«æœ‰çš„科技。 +sector.impact0078.description = 沉ç¡åœ¨æ­¤çš„æ˜¯ç¬¬ä¸€å€‹é€²å…¥æœ¬æ˜Ÿç³»çš„æ˜Ÿéš›é‹è¼¸èˆ¹ã€‚\n\n回收任何能利用的æ±è¥¿ã€‚研究任何殘存的科技。 sector.planetaryTerminal.description = 最終目標。\n\n這麼濱海基地具有能夠發射核心到其他行星的建築。 其防禦éžå¸¸åš´å¯†ã€‚\n\n生產海上單ä½ã€‚盡速摧毀敵人。研究該發射建築。 +sector.coastline.description = 嵿¸¬åˆ°æµ·è»å–®ä½ç§‘技的éºè·¡ã€‚擊退敵人的進攻,佔領地å€ï¼Œä¸¦ç²å¾—科技。 +sector.navalFortress.description = 敵人已在這個有天然防禦å±éšœçš„åé å³¶å¶¼è¨­ç½®äº†ä¸€åº§æµ·è»åŸºåœ°ã€‚摧毀它。ç²å¾—海上科技的進階科技。 +sector.cruxscape.name = Cruxscape +sector.geothermalStronghold.name = Geothermal Stronghold +sector.facility32m.description = WIP, map submission by Stormride_R +sector.taintedWoods.description = WIP, map submission by Stormride_R +sector.atolls.description = WIP, map submission by Stormride_R +sector.frontier.description = WIP, map submission by Stormride_R +sector.infestedCanyons.description = WIP, map submission by Skeledragon +sector.polarAerodrome.description = WIP, map submission by hhh i 17 +sector.testingGrounds.description = WIP, map submission by dnx2019 +sector.seaPort.description = WIP, map submission by inkognito626 +sector.weatheredChannels.description = WIP, map submission by Skeledragon +sector.mycelialBastion.description = WIP, map submission by Skeledragon + + +sector.onset.name = 啟程之處 +sector.aegis.name = 神盾領域 +sector.lake.name = 岩漿之湖 +sector.intersect.name = 交會之地 +sector.atlas.name = 亞特拉斯 +sector.split.name = 分割地帶 +sector.basin.name = 沉ç©ç›†åœ° +sector.marsh.name = 芳油沼澤 +sector.peaks.name = 峰頂之境 +sector.ravine.name = é‹è¼¸æ·±è°· +sector.caldera-erekir.name = 熔岩群島 +sector.stronghold.name = å£å£˜è¦å¡ž +sector.crevice.name = 狹縫之界 +sector.siege.name = å¹³è¡Œçª„é“ +sector.crossroads.name = åå­—è·¯å£ +sector.karst.name = 岩溶洞窟 +sector.origin.name = 終局之戰 + +sector.onset.description = 新手教學地å€ã€‚尚無作戰目標,請等候後續指示。 +sector.aegis.description = 敵人å—護盾ä¿è­·ã€‚一個在實驗階段的護盾破壞器åè½åœ¨æ­¤å€åŸŸï¼Œæ‰¾åˆ°ä¸¦æä¾›éŽ¢åŽŸæ–™å•Ÿç”¨å®ƒã€‚æ‘§æ¯€æ•µæ–¹åŸºåœ°ã€‚ +sector.lake.description = 本地å€çš„熔渣湖嚴é‡é™ç¸®æ™®é€šå–®ä½çš„æ©Ÿå‹•æ€§ã€‚æ‡¸æµ®è‰‡æ˜¯å”¯ä¸€é¸æ“‡ã€‚\n研究 [accent]飛船兵工廠[] 並盡早生產 [accent]掙脫[] å–®ä½ã€‚ +sector.intersect.description = 掃æé¡¯ç¤ºæœ¬å€åŸŸæœƒåœ¨é™è½å¾Œé­å—å¤šé¢æ”»æ“Šã€‚快速築起防禦,加速擴張。必須建造\n [accent]機甲[] å–®ä½é€šéŽé™¡å³­çš„地形。 +sector.atlas.description = æœ¬åœ°å€æœ‰å¤šæ¨£åœ°å½¢ï¼Œå»ºé€ ä¸åŒå–®ä½ä»¥æœ‰æ•ˆé€²æ”»ã€‚é€™è£¡åµæ¸¬åˆ°å¤§åž‹æ•µæ–¹åŸºåœ°ï¼Œå¯èƒ½éœ€è¦ç”¨å‡ç´šéŽçš„å–®ä½çªç ´ã€‚\n研究 [accent]電解槽[] å’Œ [accent]戰車é‡å¡‘者[]。 +sector.split.description = è¼ƒå°‘æ•µè»æ´»å‹•é©åˆæœ¬åœ°å€æ¸¬è©¦æœ€æ–°çš„é‹è¼¸ç§‘技。 +sector.basin.description = 本å€åŸŸæœ‰å¤§é‡æ•µè»ã€‚\n儘快建造單ä½ä¸¦æ‘§æ¯€æ•µæ–¹åŸºåœ°ä»¥åœ¨æ­¤åœ°ç«‹è¶³ã€‚ +sector.marsh.description = æœ¬åœ°å€æœ‰å¤§é‡èŠ³æ²¹ï¼Œä½†åªæœ‰å°‘數的噴å£ã€‚ \n建造[accent]化學燃燒發電機[]以發電。 +sector.peaks.description = 本地å€çš„å±±å€åœ°å½¢ä½¿å¾—大多數單ä½ç„¡æ³•正常發æ®ã€‚需è¦ä½¿ç”¨é£›è¡Œå–®ä½ã€‚\nè«‹æ³¨æ„æ•µè»çš„防空設備,切斷這些設備的輔助建築å³å¯ä½¿å…¶åœæ­¢ç™¼å°„。 +sector.ravine.description = é›–ç„¶åœ¨æœ¬åœ°å€æ²’有發ç¾ä»»ä½•的敵人基地,但此地其實是敵è»çš„一個é‡è¦é‹è¼¸è·¯ç·šã€‚\n è«‹æº–å‚™å¥½å°æŠ—å¤šç¨®æ•µè»ã€‚\n儘快生產[accent]波浪åˆé‡‘[]並建造[accent]折磨[]砲塔。 +sector.caldera-erekir.description = æ ¹æ“šåµæ¸¬ï¼Œæœ¬å€åŸŸçš„資æºåˆ†ä½ˆåœ¨å¤šå€‹å³¶å¶¼ä¸Šã€‚\n研究並部署無人機é‹è¼¸è¨­å‚™ã€‚ +sector.stronghold.description = 本地å€çš„æ•µè»åŸºåœ°çš„守護者大é‡çš„[accent]釷[]\n使用它來研究高級的單ä½å’Œç‚®å¡”。 +sector.crevice.description = æ•µè»æœƒæ´¾é£çŒ›çƒˆçš„æ‰“擊攻擊來徹底擊潰您的基地。\n盡快研究[accent]碳化鎢[]åŠ[accent]熱解發電機[]以確ä¿ç”Ÿå­˜ã€‚ +sector.siege.description = 本å€åŸŸçš„å…©æ¢å¹³è¡Œå±±è°·ä½¿å¾—ä¸å¾—ä¸é€²è¡Œå…©ç·šä½œæˆ°ã€‚\n研究[accent]æ°°æ°£[]以生產更強的戰車單ä½ã€‚\nè­¦å‘Šï¼šåµæ¸¬åˆ°æ•µæ–¹é•·è·é›¢çš„導彈,導彈爆炸å‰å¯ä»¥è¢«æ””截。 +sector.crossroads.description = 本å€åŸŸçš„æ•µè»åŸºåœ°å»ºç«‹åœ¨å¤šç¨®çš„地形上。嘗試研究ä¸åŒçš„å–®ä½ä»¥é©æ‡‰æ­¤ç’°å¢ƒã€‚\n還有,有些敵è»åŸºåœ°æ˜¯è¢«è­·ç›¾ä¿è­·çš„,找出他們是如何被供電的。 +sector.karst.description = 本å€åŸŸçš„資æºè±å¯Œï¼Œä½†æ•µäººåœ¨ä¸€é™è½å°±æœƒé¦¬ä¸Šç™¼å‹•攻勢。\n利用資æºå„ªå‹¢ä»¥ç ”ç©¶[accent]相織布[]. +sector.origin.description = çµ‚å±€ä¹‹æˆ°ï¼Œæ•µäººæ•¸é‡æ¥µå¤šã€‚\n所有研究å‡å·²å®Œç•¢ï¼Œåªéœ€å°ˆæ³¨æ‘§æ¯€æ‰€æœ‰çš„人基地。 + +status.burning.name = 燃燒 +status.freezing.name = å‡çµ +status.wet.name = 浸濕 +status.muddy.name = 泥濘 +status.melting.name = èžåŒ– +status.sapped.name = é­å¸è¡€ +status.electrified.name = 觸電 +status.spore-slowed.name = å­¢å­ç·©é€Ÿ +status.tarred.name = 焦油 +status.overdrive.name = 超載 +status.overclock.name = 快轉 +status.shocked.name = 電擊 +status.blasted.name = 爆炸 +status.unmoving.name = éœæ­¢ +status.boss.name = 守衛者 settings.language = 語言 settings.data = éŠæˆ²è³‡æ–™ @@ -621,31 +941,36 @@ settings.sound = 音效 settings.graphics = 圖形 settings.cleardata = æ¸…é™¤éŠæˆ²è³‡æ–™â€¦â€¦ settings.clear.confirm = æ‚¨ç¢ºå®šè¦æ¸…除資料嗎?\næ­¤å‹•ä½œç„¡æ³•å¾©åŽŸï¼ -settings.clearall.confirm = [scarlet]警告ï¼[]\n這會清除所有資料,包括存檔ã€åœ°åœ–ã€è§£éŽ–é …ç›®å’Œå¿«æ·éµç¶å®šã€‚\n按「是ã€å¾Œï¼ŒéŠæˆ²å°‡åˆªé™¤æ‰€æœ‰è³‡æ–™ä¸¦è‡ªå‹•çµæŸã€‚ +settings.clearall.confirm = [scarlet]警告ï¼[]\n這會清除所有資料,包括存檔ã€åœ°åœ–ã€è§£éŽ–é …ç›®å’Œå¿«æ·éµç¶å®šã€‚\n按「確定ã€å¾Œï¼ŒéŠæˆ²å°‡åˆªé™¤æ‰€æœ‰è³‡æ–™ä¸¦è‡ªå‹•çµæŸã€‚ settings.clearsaves.confirm = æ‚¨ç¢ºå®šæ‚¨æƒ³è¦æ¸…除所有存檔嗎? settings.clearsaves = 清除存檔 settings.clearresearch = 清除研究 -settings.clearresearch.confirm = ä½ ç¢ºå®šè¦æ¸…除所有研究? +settings.clearresearch.confirm = æ‚¨ç¢ºå®šè¦æ¸…除所有研究? settings.clearcampaignsaves = 清除戰役紀錄 -settings.clearcampaignsaves.confirm = ä½ ç¢ºå®šè¦æ¸…除所有戰役紀錄? +settings.clearcampaignsaves.confirm = æ‚¨ç¢ºå®šè¦æ¸…除所有戰役紀錄? paused = [accent](已暫åœï¼‰ clear = 清除 banned = [scarlet]已被å°éŽ– +unsupported.environment = [scarlet]䏿”¯æ´çš„環境 yes = 是 no = å¦ info.title = 資訊 error.title = [crimson]發生錯誤 error.crashtitle = 發生錯誤 unit.nobuild = [scarlet]å–®ä½ä¸èƒ½å»ºé€  -lastaccessed = [lightgray]最後使用:{0} +lastaccessed = [lightgray]å‰ä¸€ä½¿ç”¨å–®ä½ï¼š{0} +lastcommanded = [lightgray]å‰ä¸€æŒ‡æ®å–®ä½ï¼š{0} block.unknown = [lightgray]??? +stat.showinmap = <加載地圖以顯示> stat.description = 用途 stat.input = 輸入 stat.output = 輸出 +stat.maxefficiency = 最高效率 stat.booster = 強化 stat.tiles = 需求方塊 -stat.affinities = 親和方塊 +stat.affinities = 加æˆå‚·å®³ +stat.opposites = è¡çªç‹€æ…‹ stat.powercapacity = è“„é›»é‡ stat.powershot = 能é‡/射擊 stat.damage = 傷害 @@ -668,8 +993,11 @@ stat.memorycapacity = è¨˜æ†¶é«”å®¹é‡ stat.basepowergeneration = 基礎能é‡ç”Ÿç”¢ stat.productiontime = 生產時間 stat.repairtime = 方塊完全修復時間 +stat.repairspeed = 修復速度 stat.weapons = 武器 stat.bullet = å­å½ˆ +stat.moduletier = 模組等級 +stat.unittype = å–®ä½é¡žåˆ¥ stat.speedincrease = 速度æå‡ stat.range = ç¯„åœ stat.drilltier = å¯é‘½å–礦物 @@ -677,12 +1005,13 @@ stat.drillspeed = 基本鑽å–速度 stat.boosteffect = 加速效果 stat.maxunits = 最大活èºå–®ä½ stat.health = è€ä¹…度 +stat.armor = è£ç”² stat.buildtime = 建設時間 stat.maxconsecutive = 最大連續 stat.buildcost = å»ºé€ æˆæœ¬ stat.inaccuracy = 誤差 stat.shots = 射擊數 -stat.reload = 射擊次數/ç§’ +stat.reload = 射擊速率 stat.ammo = 彈藥 stat.shieldhealth = 護盾生命值 stat.cooldowntime = 冷確時間 @@ -692,6 +1021,7 @@ stat.lightningchance = 燃燒機率 stat.lightningdamage = 燃燒傷害 stat.flammability = 易燃性 stat.radioactivity = 輻射性 +stat.charge = 蓄電力 stat.heatcapacity = ç†±å®¹é‡ stat.viscosity = é»åº¦ stat.temperature = 溫度 @@ -700,25 +1030,77 @@ stat.buildspeed = 建築速度 stat.minespeed = 挖掘速度 stat.minetier = 挖掘等級 stat.payloadcapacity = è² è·é‡ -stat.commandlimit = 指令é™åˆ¶ stat.abilities = 能力 -stat.canboost = å¯åŠ é€Ÿ -stat.flying = 飛行中 +stat.canboost = 推進器 +stat.flying = é£›è¡Œå–®ä½ stat.ammouse = 彈藥使用 +stat.ammocapacity = å½ˆè—¥å®¹é‡ +stat.damagemultiplier = å‚·å®³åŠ æˆ +stat.healthmultiplier = è¡€é‡åŠ æˆ +stat.speedmultiplier = é€Ÿåº¦åŠ æˆ +stat.reloadmultiplier = å°„é€ŸåŠ æˆ +stat.buildspeedmultiplier = å»ºé€ é€Ÿåº¦åŠ æˆ +stat.reactive = ç‹€æ…‹å‚·å®³åŠ æˆ +stat.immunities = å…ç–« +stat.healing = 治癒 +stat.efficiency = [stat]{0}% Efficiency -ability.forcefield = 防護罩 +ability.forcefield = 防護力場 +ability.forcefield.description = 投射一個å¯ä»¥å¸æ”¶å­å½ˆçš„防護力場 ability.repairfield = 維修力場 +ability.repairfield.description = 修復周åœçš„å–®ä½ ability.statusfield = 狀態力場 -ability.unitspawn = {0}工廠 +ability.statusfield.description = å°å‘¨åœçš„單使–½åŠ ç‹€æ…‹æ•ˆæžœ +ability.unitspawn = 工廠 +ability.unitspawn.description = å»ºé€ å–®ä½ ability.shieldregenfield = 護盾充能力場 +ability.shieldregenfield.description = 為周åœçš„å–®ä½é‡æ–°ç”Ÿæˆè­·ç›¾ ability.movelightning = 移動閃電 +ability.movelightning.description = 在移動時放出閃電 +ability.armorplate = è£ç”²æ¿ +ability.armorplate.description = 減少射擊時所å—到的傷害 +ability.shieldarc = 電弧護盾 +ability.shieldarc.description = æŠ•å°„ä¸€å€‹å¼§å½¢çš„åŠ›å ´è­·ç›¾ï¼Œèƒ½å¸æ”¶å­å½ˆ +ability.suppressionfield = 抑制修復力場 +ability.suppressionfield.description = åœæ­¢å‘¨é­çš„修復建築工作 +ability.energyfield = 能é‡å ´ +ability.energyfield.description = å°å‘¨åœæ•µäººç™¼å°„電擊 +ability.energyfield.healdescription = å°å‘¨åœæ•µäººç™¼å°„é›»æ¥µä¸¦æ²»ç™‚å‹æ–¹ +ability.regen = å†ç”Ÿ +ability.regen.description = 隨著時間的推移æ¢å¾©è‡ªå·±çš„生命值 +ability.liquidregen = æ¶²é«”å¸æ”¶ +ability.liquidregen.description = 叿”¶æ¶²é«”以治療自己 +ability.spawndeath = æ­»äº¡ç”¢ç”Ÿå–®ä½ +ability.spawndeath.description = åœ¨æ­»äº¡æ™‚ç”¢ç”Ÿå–®ä½ +ability.liquidexplode = 死亡溢液 +ability.liquidexplode.description = 在死亡時產生液體 +ability.stat.firingrate = [stat]{0}/ç§’[lightgray] 射擊速度 +ability.stat.regen = [stat]{0}[lightgray]生命æ¢å¾©/ç§’ +ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse +ability.stat.shield = [stat]{0}[lightgray]護盾 +ability.stat.repairspeed = [stat]{0}/ç§’[lightgray]修復速度 +ability.stat.slurpheal = [stat]{0}[lightgray]生命/æ¶²é«”å–®ä½ +ability.stat.cooldown = [stat]{0}ç§’[lightgray]冷廿™‚é–“ +ability.stat.maxtargets = [stat]{0}[lightgray]最大目標數 +ability.stat.sametypehealmultiplier = [stat]{0}%[lightgray]åŒé¡žåž‹ä¿®å¾©æ•¸é‡ +ability.stat.damagereduction = [stat]{0}%[lightgray]å‚·å®³æ¸›å… +ability.stat.minspeed = [stat]{0} æ ¼/ç§’[lightgray]最低速度 +ability.stat.duration = [stat]{0} ç§’[lightgray]æŒçºŒæ™‚é–“ +ability.stat.buildtime = [stat]{0} ç§’[lightgray]建造時間 + +bar.onlycoredeposit = 僅å…è¨±å‘æ ¸å¿ƒæ”¾ç½®ç‰©å“ bar.drilltierreq = éœ€è¦æ›´å¥½çš„鑽頭 +bar.nobatterypower = Insufficieny Battery Power bar.noresources = ç¼ºå°‘è³‡æº bar.corereq = 需由核心å‡ç´š +bar.corefloor = éœ€è¦æ ¸å¿ƒåœ°å¡Š +bar.cargounitcap = 逹到單ä½å®¹é‡ä¸Šé™ bar.drillspeed = 鑽頭速度:{0}/ç§’ bar.pumpspeed = 液體泵é€é€Ÿåº¦ï¼š{0}/ç§’ bar.efficiency = 效率:{0}% +bar.boost = 速度加æˆï¼š+{0}% +bar.powerbuffer = Battery Power: {0}/{1} bar.powerbalance = 能é‡è®ŠåŒ–:{0} bar.powerstored = 能é‡å­˜é‡ï¼š{0}/{1} bar.poweramount = 能é‡ï¼š{0} @@ -729,49 +1111,67 @@ bar.capacity = 容é‡ï¼š{0} bar.unitcap = {0} {1}/{2} bar.liquid = 液體 bar.heat = 熱 +bar.cooldown = Cooldown +bar.instability = ä¸ç©©å®šåº¦ +bar.heatamount = 熱: {0} +bar.heatpercent = 熱: {0} ({1}%) bar.power = èƒ½é‡ bar.progress = 建造進度 +bar.loadprogress = 進度 +bar.launchcooldown = 發射間隔 bar.input = 輸入 bar.output = 輸出 +bar.strength = [stat]{0}[lightgray]x 強度 units.processorcontrol = [lightgray]由微處ç†å™¨æŽ§åˆ¶ bullet.damage = [stat]{0}[lightgray]傷害 bullet.splashdamage = [stat]{0}[lightgray]範åœå‚·å®³ ~[stat] {1}[lightgray]æ ¼ bullet.incendiary = [stat]燃燒 -bullet.sapping = [stat]å¸è¡€ bullet.homing = [stat]追蹤 -bullet.shock = [stat]震懾 -bullet.frag = [stat]破片彈 +bullet.armorpierce = [stat]穿甲 +bullet.maxdamagefraction = [stat]{0}%[lightgray]å‚·å®³ä¸Šé™ +bullet.suppression = [stat]{0}ç§’[lightgray]抑制修復 ~ [stat]{1}[lightgray]æ ¼ +bullet.interval = [stat]{0}/ç§’[lightgray]分裂å­å½ˆï¼š +bullet.frags = [stat]{0}[lightgray]x 集æŸå­å½ˆ: +bullet.lightning = [stat]{0}[lightgray]x 電弧 ~ [stat]{1}[lightgray] 傷害 bullet.buildingdamage = [stat]{0}%[lightgray] 建築傷害 +bullet.shielddamage = [stat]{0}%[lightgray] shield damage bullet.knockback = [stat]{0}[lightgray]擊退 bullet.pierce = [stat]{0}[lightgray]×穿刺 bullet.infinitepierce = [stat]穿刺 bullet.healpercent = [stat]{0}[lightgray]% 回復 -bullet.freezing = [stat]å†·å‡ -bullet.tarred = [stat]焦油 +bullet.healamount = [stat]{0}[lightgray] 直接回復 bullet.multiplier = [stat]{0}[lightgray]Ã—å½ˆè—¥å€æ•¸ bullet.reload = [stat]{0}[lightgray]×射擊速率 +bullet.range = [stat]{0}[lightgray]射程(格) +bullet.notargetsmissiles = [stat] ignores missiles +bullet.notargetsbuildings = [stat] ignores buildings -unit.blocks = 方塊 -unit.blockssquared = 方塊² + +unit.blocks = æ ¼ +unit.blockssquared = 格² unit.powersecond = 能é‡å–®ä½/ç§’ +unit.tilessecond = æ ¼/ç§’ unit.liquidsecond = 液體單ä½/ç§’ unit.itemssecond = 物å“/ç§’ unit.liquidunits = æ¶²é«”å–®ä½ unit.powerunits = 能é‡å–®ä½ +unit.heatunits = 熱é‡å–®ä½ unit.degrees = 度 unit.seconds = ç§’ unit.minutes = 分 unit.persecond = /ç§’ unit.perminute = /分 unit.timesspeed = ×速度 +unit.multiplier = x unit.percent = % unit.shieldhealth = 護盾生命值 unit.items = ç‰©å“ -unit.thousands = åƒ -unit.millions = ç™¾è¬ -unit.billions = åå„„ +unit.thousands = K +unit.millions = M +unit.billions = B +unit.shots = 發 unit.pershot = /發 category.purpose = 用途 category.general = 一般 @@ -779,19 +1179,25 @@ category.power = èƒ½é‡ category.liquids = 液體 category.items = ç‰©å“ category.crafting = 需求 -category.function = 方法 -category.optional = å¯é¸çš„強化 +category.function = 功能 +category.optional = é¡å¤–的強化效果 +setting.alwaysmusic.name = Always Play Music +setting.alwaysmusic.description = When enabled, music will always play on loop in-game.\nWhen disabled, it only plays at random intervals. +setting.skipcoreanimation.name = è·³éŽæ ¸å¿ƒç™¼å°„/é™è½å‹•ç•« setting.landscape.name = éŽ–å®šæ°´å¹³ç•«é¢ setting.shadows.name = é™°å½± setting.blockreplace.name = 方塊建造建議 setting.linear.name = ç·šæ€§éŽæ¿¾ setting.hints.name = æç¤º -setting.flow.name = 顯示資æºè¼¸é€é€Ÿåº¦ -setting.backgroundpause.name = èƒŒæ™¯åŸ·è¡Œæ™‚æš«åœ +setting.logichints.name = é‚輯æç¤º +setting.backgroundpause.name = 背景執行時暫åœéŠæˆ² setting.buildautopause.name = 自動暫åœå»ºç¯‰ -setting.animatedwater.name = 液體動畫 -setting.animatedshields.name = 護盾動畫 -setting.antialias.name = 消除鋸齒[lightgray](需è¦é‡æ–°å•Ÿå‹•éŠæˆ²ï¼‰[] +setting.doubletapmine.name = 連續點擊以挖礦 +setting.commandmodehold.name = é•·æŒ‰é€²å…¥æŒ‡æ®æ¨¡å¼ +setting.distinctcontrolgroups.name = æ¯å–®ä½é™åˆ¶ä¸€å€‹ç·¨éšŠ +setting.modcrashdisable.name = 閃退後åœç”¨æ¨¡çµ„ +setting.animatedwater.name = 顯示液é¢å‹•ç•« +setting.animatedshields.name = 顯示護盾動畫 setting.playerindicators.name = ç›Ÿå‹æ¨™ç¤º setting.indicators.name = 敵方標示 setting.autotarget.name = 自動射擊 @@ -800,15 +1206,12 @@ setting.touchscreen.name = 觸控螢幕控制 setting.fpscap.name = 最大FPS setting.fpscap.none = ç„¡ setting.fpscap.text = {0}FPS -setting.uiscale.name = 使用者介é¢ç¸®æ”¾[lightgray](需è¦é‡æ–°å•Ÿå‹•éŠæˆ²ï¼‰[] +setting.uiscale.name = æ“作介é¢å¤§å° +setting.uiscale.description = 需è¦é‡æ–°å•Ÿå‹•éŠæˆ²ä»¥æ›´æ”¹å¤§å° setting.swapdiagonal.name = é è¨­å°è§’線放置 -setting.difficulty.training = 訓練 -setting.difficulty.easy = ç°¡å–® -setting.difficulty.normal = 普通 -setting.difficulty.hard = 困難 -setting.difficulty.insane = 瘋狂 -setting.difficulty.name = 難度: setting.screenshake.name = ç•«é¢æŠ–å‹• +setting.bloomintensity.name = ç«èŠ±å¼·åº¦ +setting.bloomblur.name = ç«èŠ±æ¨¡ç³Š setting.effects.name = 顯示特效 setting.destroyedblocks.name = 顯示被破壞的方塊 setting.blockstatus.name = 顯示方塊狀態 @@ -818,31 +1221,41 @@ setting.saveinterval.name = 自動存檔間隔 setting.seconds = {0}ç§’ setting.milliseconds = {0}毫秒 setting.fullscreen.name = 全螢幕 -setting.borderlesswindow.name = 無邊框視窗[lightgray](å¯èƒ½éœ€è¦é‡æ–°å•Ÿå‹•éŠæˆ²ï¼‰ +setting.borderlesswindow.name = 無邊框視窗 +setting.borderlesswindow.name.windows = 無邊框全螢幕 +setting.borderlesswindow.description = å¯èƒ½éœ€é‡æ–°å•Ÿå‹•éŠæˆ²ä»¥è®Šæ›´ setting.fps.name = 顯示FPSèˆ‡å»¶é² +setting.console.name = å•Ÿç”¨æ–æ¡¿ setting.smoothcamera.name = 平滑æ”影機 setting.vsync.name = åž‚ç›´åŒæ­¥ setting.pixelate.name = åƒç´ åŒ– setting.minimap.name = 顯示å°åœ°åœ– setting.coreitems.name = é¡¯ç¤ºæ ¸å¿ƒç‰©å“ setting.position.name = 顯示玩家ä½ç½® +setting.mouseposition.name = 顯示滑鼠座標 setting.musicvol.name = éŸ³æ¨‚éŸ³é‡ setting.atmosphere.name = 顯示星çƒå¤§æ°£å±¤ +setting.drawlight.name = 繪製陰影/光照 setting.ambientvol.name = ç’°å¢ƒéŸ³é‡ setting.mutemusic.name = éœéŸ³ setting.sfxvol.name = éŸ³æ•ˆéŸ³é‡ setting.mutesound.name = éœéŸ³ setting.crashreport.name = 傳é€åŒ¿å當機回報 +setting.communityservers.name = Fetch Community Server List setting.savecreate.name = 自動建立存檔 -setting.publichost.name = å…¬é–‹éŠæˆ²å¯è¦‹åº¦ +setting.steampublichost.name = å…¬é–‹éŠæˆ²å¯è¦‹æ€§ setting.playerlimit.name = 玩家數é™åˆ¶ setting.chatopacity.name = èŠå¤©æ¡†ä¸é€æ˜Žåº¦ setting.lasersopacity.name = é›·å°„ä¸é€æ˜Žåº¦ +setting.unitlaseropacity.name = Unit Mining Beam Opacity setting.bridgeopacity.name = æ©‹é€æ˜Žåº¦ setting.playerchat.name = åœ¨éŠæˆ²ä¸­é¡¯ç¤ºèŠå¤©è¦–窗 setting.showweather.name = 顯示天氣動畫 -public.confirm = æ‚¨æƒ³å…¬é–‹éŠæˆ²å—Žï¼Ÿ\n[accent]任何人都å¯ä»¥åŠ å…¥æ‚¨çš„éŠæˆ²ã€‚\n[lightgray]之後å¯ä»¥åœ¨ã€Œè¨­å®šã€â†’ã€ŒéŠæˆ²ã€â†’ã€Œå…¬é–‹éŠæˆ²å¯è¦‹åº¦ã€ä¸­é€²è¡Œæ›´æ”¹ã€‚ -public.confirm.really = 如果你想和朋å‹ä¸€èµ·éŠçŽ©ï¼Œå¯åˆ©ç”¨[green]邀請好å‹[]è€Œä¸æ˜¯[scarlet]公開伺æœå™¨[]ï¼\n你確定è¦å°‡ä¼ºæœè¨­ç‚º[scarlet]公開[]? +setting.hidedisplays.name = éš±è—é‚輯顯示 +setting.macnotch.name = 使界é¢é©æ‡‰é¡¯ç¤ºæ§½å£ +setting.macnotch.description = 需è¦é‡æ–°å•Ÿå‹•éŠæˆ²ä»¥æ›´æ”¹å¤§å° +steam.friendsonly = 僅é™å¥½å‹ +steam.friendsonly.tooltip = 是å¦åªæœ‰ Steam 好å‹å¯ä»¥åŠ å…¥æ‚¨çš„éŠæˆ²ã€‚\nå–æ¶ˆå‹¾é¸å¾Œï¼ŒéŠæˆ²ç‚ºå…¬é–‹çš„,任何人都å¯ä»¥åŠ å…¥ã€‚ public.beta = 請注æ„ï¼Œè©²éŠæˆ²çš„Betaç‰ˆæœ¬ç„¡æ³•å…¬é–‹éŠæˆ²å¤§å»³ã€‚ uiscale.reset = 使用者介é¢ç¸®æ”¾å·²è®Šæ›´\n按下「確定ã€ç¢ºèªé€™å€‹æ¯”例\n[scarlet][accent] {0}[] 秒後退出並還原設定 uiscale.cancel = å–æ¶ˆä¸¦é€€å‡º @@ -851,12 +1264,9 @@ keybind.title = 釿–°ç¶å®šæŒ‰éµ keybinds.mobile = [scarlet]此處的大多數快æ·éµåœ¨è¡Œå‹•è£ç½®ä¸Šå‡ç„¡æ³•é‹ä½œã€‚僅支æ´åŸºæœ¬ç§»å‹•。 category.general.name = 一般 category.view.name = 查看 +category.command.name = 單使Œ‡æ® category.multiplayer.name = 多人 category.blocks.name = é¸å–方塊 -command.attack = 攻擊 -command.rally = é›†çµ -command.retreat = 撤退 -command.idle = é–’ç½® placement.blockselectkeys = \n[lightgray]按éµï¼š[{0}, keybind.respawn.name = é‡ç”Ÿ keybind.control.name = æŽ§åˆ¶å–®ä½ @@ -871,6 +1281,27 @@ keybind.move_y.name = 垂直移動 keybind.mouse_move.name = 跟隨滑鼠 keybind.pan.name = 平移é¡é ­ keybind.boost.name = 加速 +keybind.command_mode.name = æŒ‡æ®æ¨¡å¼ +keybind.command_queue.name = 單使Œ‡æ®éšŠåˆ— +keybind.create_control_group.name = å‰µå»ºæ“æŽ§éšŠä¼ +keybind.cancel_orders.name = å–æ¶ˆæŒ‡ä»¤ +keybind.unit_stance_shoot.name = å–®ä½ç‹€æ…‹ï¼šå°„擊 +keybind.unit_stance_hold_fire.name = å–®ä½ç‹€æ…‹ï¼šåœç« +keybind.unit_stance_pursue_target.name = å–®ä½ç‹€æ…‹ï¼šè¿½é€ç›®æ¨™ +keybind.unit_stance_patrol.name = å–®ä½ç‹€æ…‹ï¼šå·¡é‚ +keybind.unit_stance_ram.name = å–®ä½ç‹€æ…‹ï¼šå†²é‹’ +keybind.unit_command_move.name = 單使Œ‡ä»¤ï¼šç§»å‹• +keybind.unit_command_repair.name = 單使Œ‡ä»¤ï¼šä¿®ç† +keybind.unit_command_rebuild.name = 單使Œ‡ä»¤ï¼šé‡å»º +keybind.unit_command_assist.name = 單使Œ‡ä»¤ï¼šå”助 +keybind.unit_command_mine.name = 單使Œ‡ä»¤ï¼šæŒ–礦 +keybind.unit_command_boost.name = 單使Œ‡ä»¤ï¼šæŽ¨é€² +keybind.unit_command_load_units.name = 單使Œ‡ä»¤ï¼šè£è¼‰å–®ä½ +keybind.unit_command_load_blocks.name = 單使Œ‡ä»¤ï¼šè£è¼‰æ–¹å¡Š +keybind.unit_command_unload_payload.name = Unit Command: Unload Payload +keybind.unit_command_enter_payload.name = Unit Command: Enter Payload +keybind.unit_command_loop_payload.name = Unit Command: Loop Unit Transfer +keybind.rebuild_select.name = é‡å»ºå€åŸŸ keybind.schematic_select.name = 鏿“‡å€åŸŸ keybind.schematic_menu.name = è—圖目錄 keybind.schematic_flip_x.name = X軸翻轉 @@ -896,10 +1327,11 @@ keybind.select.name = é¸å– keybind.diagonal_placement.name = å°è§’線放置 keybind.pick.name = 鏿“‡æ–¹å¡Š keybind.break_block.name = 移除方塊 +keybind.select_all_units.name = 鏿“‡æ‰€æœ‰å–®ä½ +keybind.select_all_unit_factories.name = 鏿“‡æ‰€æœ‰å–®ä½å·¥å»  keybind.deselect.name = å–æ¶ˆé¸å– keybind.pickupCargo.name = 撿起貨物 keybind.dropCargo.name = 丟棄貨物 -keybind.command.name = 指令 keybind.shoot.name = 射擊 keybind.zoom.name = 縮放 keybind.menu.name = 主é¸å–® @@ -908,6 +1340,7 @@ keybind.pause_building.name = æš«åœï¼ç¹¼çºŒå»ºé€  keybind.minimap.name = å°åœ°åœ– keybind.planet_map.name = 行星地圖 keybind.research.name = 研究 +keybind.block_info.name = 方塊資訊 keybind.chat.name = èŠå¤© keybind.player_list.name = 玩家列表 keybind.console.name = 終端機 @@ -931,49 +1364,102 @@ mode.pvp.description = å’Œå…¶ä»–çŽ©å®¶ç«¶çˆ­ã€æˆ°é¬¥ã€‚\n[gray]åœ°åœ–ä¸­éœ€è¦ mode.attack.name = 進攻 mode.attack.description = 目標是摧毀敵人的基地。\n[gray]åœ°åœ–ä¸­éœ€è¦æœ‰ä¸€å€‹ç´…色核心。 mode.custom = 自訂è¦å‰‡ +rules.invaliddata = ç„¡æ•ˆçš„å‰ªè²¼æ¿æ•¸æ“š +rules.hidebannedblocks = éš±è—ç¦ç”¨çš„建築 rules.infiniteresources = ç„¡é™è³‡æº +rules.onlydepositcore = 僅å…è¨±å‘æ ¸å¿ƒæ”¾ç½®ç‰©å“ +rules.derelictrepair = å…許修復殘骸建築 rules.reactorexplosions = 忇‰çˆçˆ†ç‚¸ +rules.coreincinerates = æ ¸å¿ƒéŠ·æ¯€ç‰©å“ +rules.disableworldprocessors = åœç”¨ä¸–界處ç†å™¨ rules.schematic = å…許使用è—圖 rules.wavetimer = 波次時間 +rules.wavesending = Wave Sending +rules.allowedit = Allow Editing Rules +rules.allowedit.info = When enabled, the player can edit rules in-game via the button in the bottom left corner of the Pause menu. +rules.alloweditworldprocessors = Allow Editing World Processors +rules.alloweditworldprocessors.info = When enabled, world logic blocks can be placed and edited even outside the editor. rules.waves = 波次 +rules.airUseSpawns = Air units use spawn points rules.attack = æ”»æ“Šæ¨¡å¼ -rules.buildai = 電腦自動建築 +rules.buildai = 基地建築者 AI +rules.buildaitier = 建築者 AI 等級 +rules.rtsai = RTS AI +rules.rtsai.campaign = RTS Attack AI +rules.rtsai.campaign.info = In attack maps, makes units group up and attack player bases in a more intelligent manner. +rules.rtsminsquadsize = 最å°éšŠä¼è¦æ¨¡ +rules.rtsmaxsquadsize = 最大隊ä¼è¦æ¨¡ +rules.rtsminattackweight = æœ€å°æ”»æ“ŠåŠ› +rules.cleanupdeadteams = 移除戰敗玩家的建築(å°æˆ°) +rules.corecapture = 佔領摧毀的核心 +rules.polygoncoreprotection = 核心ç¦ç¯‰å€å‘ˆå¤šé‚Šå½¢ +rules.placerangecheck = æª¢æŸ¥æ”¾ç½®ç¯„åœ rules.enemyCheat = 電腦無é™è³‡æº -rules.blockhealthmultiplier = 建築物è€ä¹…åº¦å€æ•¸ -rules.blockdamagemultiplier = å»ºç¯‰ç‰©å‚·å®³å€æ•¸ -rules.unitbuildspeedmultiplier = å–®ä½å»ºè¨­é€Ÿåº¦å€æ•¸ -rules.unithealthmultiplier = å–®ä½ç”Ÿå‘½å€¼å€æ•¸ -rules.unitdamagemultiplier = å–®ä½å‚·å®³å€æ•¸ +rules.blockhealthmultiplier = 建築物è€ä¹…åº¦åŠ æˆ +rules.blockdamagemultiplier = å»ºç¯‰ç‰©å‚·å®³åŠ æˆ +rules.unitbuildspeedmultiplier = å–®ä½å»ºè¨­é€Ÿåº¦åŠ æˆ +rules.unitcostmultiplier = å–®ä½ç”Ÿç”¢èŠ±è²»å€çއ +rules.unithealthmultiplier = å–®ä½è¡€é‡åŠ æˆ +rules.unitdamagemultiplier = å–®ä½å‚·å®³åŠ æˆ +rules.unitcrashdamagemultiplier = å–®ä½å¢œæ¯€å‚·å®³å€çއ +rules.unitminespeedmultiplier = Unit Mine Speed Multiplier + +rules.solarmultiplier = å¤ªé™½èƒ½é›»åŠ æˆ +rules.unitcapvariable = 核心é™åˆ¶å–®ä½ä¸Šé™ +rules.unitpayloadsexplode = 單使”œå¸¶ä¹‹è² è¼‰èˆ‡å–®ä½ä¸€èµ·çˆ†ç‚¸ +rules.unitcap = 基礎單ä½ä¸Šé™ +rules.limitarea = é™åˆ¶åœ°åœ–å€åŸŸ rules.enemycorebuildradius = æ•µäººæ ¸å¿ƒç¦æ­¢å»ºè¨­åŠå¾‘︰[lightgray](格) +rules.extracorebuildradius = Extra No-Build Radius:[lightgray] (tiles) rules.wavespacing = 波次間è·ï¸°[lightgray](秒) +rules.initialwavespacing = åˆå§‹ç­‰å¾…時間:[lightgray](秒) rules.buildcostmultiplier = å»ºè¨­æˆæœ¬å€æ•¸ rules.buildspeedmultiplier = å»ºè¨­é€Ÿåº¦å€æ•¸ rules.deconstructrefundmultiplier = 拆除資æºè¿”還比例 rules.waitForWaveToEnd = 等待所有敵人毀滅æ‰é–‹å§‹ä¸‹ä¸€æ³¢æ¬¡ +rules.wavelimit = Map Ends After Wave rules.dropzoneradius = 空é™å€åŠå¾‘:[lightgray](格) rules.unitammo = å–®ä½éœ€è¦å½ˆè—¥ +rules.enemyteam = æ•µæ–¹éšŠä¼ +rules.playerteam = çŽ©å®¶éšŠä¼ rules.title.waves = 波次 rules.title.resourcesbuilding = 資æºèˆ‡å»ºç¯‰ rules.title.enemy = 敵人 rules.title.unit = å–®ä½ rules.title.experimental = 實驗中 rules.title.environment = 環境 +rules.title.teams = 分隊 +rules.title.planet = æ˜Ÿçƒ rules.lighting = 光照 -rules.enemyLights = 敵方發光 +rules.fog = 戰爭迷霧 +rules.invasions = Enemy Sector Invasions +rules.legacylaunchpads = Legacy Launch Pad Mechanics +rules.legacylaunchpads.info = Allows using launch pads without landing pads, as in 7.0. +landingpad.legacy.disabled = [scarlet]\ue815 Disabled[lightgray] (Legacy Launch Pads enabled) +rules.showspawns = Show Enemy Spawns +rules.randomwaveai = Unpredictable Wave AI rules.fire = ç« +rules.anyenv = <ä»»æ„> rules.explosions = 方塊ï¼å–®ä½çˆ†ç‚¸å‚·å®³ rules.ambientlight = 環境光照 rules.weather = 天氣 rules.weather.frequency = 頻率: rules.weather.always = æ°¸é  rules.weather.duration = æŒçºŒæ™‚間: +rules.randomwaveai.info = Makes units spawned in waves target random structures instead of directly attacking the core or power generators. +rules.placerangecheck.info = Prevents players from placing anything near enemy buildings. When trying to place a turret, the range is increased, so the turret will not be able to reach the enemy. +rules.onlydepositcore.info = Prevents units from depositing items into any buildings except cores. content.item.name = ç‰©å“ content.liquid.name = 液體 content.unit.name = å–®ä½ content.block.name = 方塊 +content.status.name = 狀態效果 content.sector.name = åœ°å€ +content.team.name = éšŠä¼ + +wallore = (牆) item.copper.name = 銅 item.lead.name = 鉛 @@ -991,13 +1477,27 @@ item.blast-compound.name = 爆炸化åˆç‰© item.pyratite.name = ç«ç„°å½ˆ item.metaglass.name = 鋼化玻璃 item.scrap.name = 廢料 +item.fissile-matter.name = 裂變物質 +item.beryllium.name = 鈹 +item.tungsten.name = 鎢 +item.oxide.name = 氧化鈹 +item.carbide.name = 碳化鎢 +item.dormant-cyst.name = 休眠囊胞 + liquid.water.name = æ°´ liquid.slag.name = 熔渣 liquid.oil.name = 原油 liquid.cryofluid.name = 冷凿¶² +liquid.neoplasm.name = 囊胞液 +liquid.arkycite.name = 芳油 +liquid.gallium.name = 鎵液 +liquid.ozone.name = 臭氧 +liquid.hydrogen.name = æ°«æ°£ +liquid.nitrogen.name = 氮氣 +liquid.cyanogen.name = æ°°æ°£ unit.dagger.name = 匕首機甲 -unit.mace.name = ç”©æ£ +unit.mace.name = 釿§Œæ©Ÿç”² unit.fortress.name = è¦å¡ž unit.nova.name = 超新星 unit.pulsar.name = è„ˆè¡æ˜Ÿ @@ -1022,6 +1522,11 @@ unit.minke.name = 鬚鯨號 unit.bryde.name = 鯷鯨號 unit.sei.name = 塞鯨號 unit.omura.name = 角島鯨號 +unit.retusa.name = 凹塔螺 +unit.oxynoe.name = 囊舌 +unit.cyerce.name = æµ·å…” +unit.aegires.name = æµ·è›žè“ +unit.navanax.name = 海牛 unit.alpha.name = 阿爾法 unit.beta.name = è²å¡” unit.gamma.name = 伽瑪 @@ -1030,13 +1535,36 @@ unit.reign.name = å¸çŽ‹ unit.vela.name = 船帆座 unit.corvus.name = çƒé´‰åº§ -block.resupply-point.name = 補給點 +unit.stell.name = éµè¹„ +unit.locus.name = æ¬Šå¨ +unit.precept.name = 戒嚴 +unit.vanquish.name = 擊潰 +unit.conquer.name = 徿œ +unit.merui.name = æè¡› +unit.cleroi.name = æ©è³œ +unit.anthicus.name = ç½ç¦ +unit.tecta.name = å¤©ç† +unit.collaris.name = å¸å› +unit.elude.name = 掙脫 +unit.avert.name = é®è”½ +unit.obviate.name = å½±é€ +unit.quell.name = 終局 +unit.disrupt.name = 瓦解 +unit.evoke.name = 甦醒 +unit.incite.name = 激發 +unit.emanate.name = æ“´å¼µ +unit.manifold.name = 貨é‹ç„¡äººæ©Ÿ +unit.assembly-drone.name = è£é…無人機 +unit.latum.name = 囊胞蟲 +unit.renale.name = å­å›ŠèƒžèŸ² + block.parallax.name = 視差 block.cliff.name = å³­å£ block.sand-boulder.name = 沙礫巨岩 block.basalt-boulder.name = 玄武岩巨石 block.grass.name = è‰ -block.slag.name = 熔渣 +block.molten-slag.name = 熔渣 +block.pooled-cryofluid.name = 冷凿¶² block.space.name = 太空 block.salt.name = é¹½ block.salt-wall.name = 鹽牆 @@ -1064,24 +1592,28 @@ block.graphite-press.name = 石墨壓縮機 block.multi-press.name = 多é‡å£“縮機 block.constructing = {0}\n[lightgray](建設中) block.spawn.name = æ•µäººç”Ÿæˆ +block.remove-wall.name = Remove Wall +block.remove-ore.name = Remove Ore block.core-shard.name = 核心:碎片 block.core-foundation.name = 核心:基地 block.core-nucleus.name = æ ¸å¿ƒï¼šæ ¸å­ -block.deepwater.name = 深水 -block.water.name = æ°´ +block.deep-water.name = 深水 +block.shallow-water.name = æ°´ block.tainted-water.name = 污水 +block.deep-tainted-water.name = 深汙水 block.darksand-tainted-water.name = 黑沙污水 block.tar.name = 焦油 block.stone.name = 石頭 -block.sand.name = æ²™ +block.sand-floor.name = æ²™ block.darksand.name = 黑沙 block.ice.name = 冰 block.snow.name = 雪 -block.craters.name = å½ˆå‘ +block.crater-stone.name = å½ˆå‘ block.sand-water.name = 沙水 block.darksand-water.name = 黑沙水 block.char.name = 燒焦 block.dacite.name = 英安岩 +block.rhyolite.name = æµç´‹å²© block.dacite-wall.name = 英安岩牆 block.dacite-boulder.name = 英安岩石塊 block.ice-snow.name = 冰雪 @@ -1099,6 +1631,7 @@ block.spore-cluster.name = å­¢å­ç°‡ block.metal-floor.name = é‡‘å±¬åœ°æ¿ block.metal-floor-2.name = é‡‘å±¬åœ°æ¿ 2 block.metal-floor-3.name = é‡‘å±¬åœ°æ¿ 3 +block.metal-floor-4.name = é‡‘å±¬åœ°æ¿ 4 block.metal-floor-5.name = é‡‘å±¬åœ°æ¿ 5 block.metal-floor-damaged.name = æå£žçš„é‡‘å±¬åœ°æ¿ block.dark-panel-1.name = 黑颿¿ 1 @@ -1138,6 +1671,9 @@ block.distributor.name = 大型分é…器 block.sorter.name = 分類器 block.inverted-sorter.name = åå‘分類器 block.message.name = è¨Šæ¯æ¿ +block.reinforced-message.name = 強化訊æ¯ç‰ˆ +block.world-message.name = 世界訊æ¯ç‰ˆ +block.world-switch.name = World Switch block.illuminator.name = 照明燈 block.overflow-gate.name = 溢æµå™¨ block.underflow-gate.name = å呿º¢æµå™¨ @@ -1159,7 +1695,7 @@ block.battery-large.name = 大型電池 block.combustion-generator.name = 燃燒發電機 block.steam-generator.name = 渦輪發電機 block.differential-generator.name = 差動發電機 -block.impact-reactor.name = è¡æ“Šå應堆 +block.impact-reactor.name = è¡æ“Šåæ‡‰çˆ block.mechanical-drill.name = 機械鑽頭 block.pneumatic-drill.name = 氣動鑽頭 block.laser-drill.name = 雷射鑽頭 @@ -1175,11 +1711,11 @@ block.power-void.name = 能é‡è™›ç©º block.power-source.name = èƒ½é‡æº block.unloader.name = è£å¸å™¨ block.vault.name = 儲存庫 -block.wave.name = 波浪砲 +block.wave.name = 波浪 block.tsunami.name = 海嘯 -block.swarmer.name = 蜂æ“ç ² -block.salvo.name = 齊射砲 -block.ripple.name = 波紋砲 +block.swarmer.name = 蜂群 +block.salvo.name = 齊射 +block.ripple.name = 波紋 block.phase-conveyor.name = 相織傳é€å¸¶ block.bridge-conveyor.name = 輸é€å¸¶æ©‹ block.plastanium-compressor.name = 塑鋼壓縮機 @@ -1189,39 +1725,41 @@ block.solar-panel.name = å¤ªé™½èƒ½æ¿ block.solar-panel-large.name = å¤§åž‹å¤ªé™½èƒ½æ¿ block.oil-extractor.name = 原油鑽井 block.repair-point.name = 維修點 +block.repair-turret.name = ç¶­ä¿®æ©Ÿå° block.pulse-conduit.name = 脈è¡ç®¡ç·š block.plated-conduit.name = è£ç”²ç®¡ç·š block.phase-conduit.name = 相織管線 block.liquid-router.name = 液體分é…器 block.liquid-tank.name = 液體儲存槽 +block.liquid-container.name = 液體容器 block.liquid-junction.name = æ¶²é«”æ¨žç´ block.bridge-conduit.name = 管線橋 -block.rotary-pump.name = è¿´æ—‹æ³µ -block.thorium-reactor.name = 釷忇‰å † +block.rotary-pump.name = 迴轉幫浦 +block.thorium-reactor.name = 釷忇‰çˆ block.mass-driver.name = 質é‡é©…動器 block.blast-drill.name = 氣爆鑽頭 -block.thermal-pump.name = 熱能泵 +block.impulse-pump.name = è¡æ“Šæ³µ block.thermal-generator.name = 地熱發電機 -block.alloy-smelter.name = åˆé‡‘冶煉廠 +block.surge-smelter.name = åˆé‡‘ç†”çˆ block.mender.name = ä¿®ç†æ–¹å¡Š block.mend-projector.name = ä¿®ç†æŠ•å½±å™¨ block.surge-wall.name = 波動牆 block.surge-wall-large.name = 大型波動牆 -block.cyclone.name = 颶風砲 +block.cyclone.name = 颶風 block.fuse.name = èžåˆç ² block.shock-mine.name = è¡æ“Šåœ°é›· -block.overdrive-projector.name = 超速é‹è½‰æŠ•影器 -block.force-projector.name = 護盾投影器 -block.arc.name = 電弧砲 +block.overdrive-projector.name = 超速投放儀 +block.force-projector.name = 護盾投放儀 +block.arc.name = 電弧 block.rtg-generator.name = 放射性åŒä½ç´ ç†±ç™¼é›»æ©Ÿ -block.spectre.name = 鬼影砲 +block.spectre.name = 鬼影 block.meltdown.name = 熔毀砲 block.foreshadow.name = 狙擊砲 block.container.name = 容器 block.launch-pad.name = å°åž‹ç™¼å°„å° -block.launch-pad-large.name = å¤§åž‹ç™¼å°„å° +block.advanced-launch-pad.name = Launch Pad +block.landing-pad.name = Landing Pad block.segment.name = 片段 -block.command-center.name = 指æ®ä¸­å¿ƒ block.ground-factory.name = 地é¢å·¥å»  block.air-factory.name = 航空工廠 block.naval-factory.name = æµ·è»å·¥å»  @@ -1229,19 +1767,186 @@ block.additive-reconstructor.name = 二級é‡å¡‘者 block.multiplicative-reconstructor.name = 三級é‡å¡‘者 block.exponential-reconstructor.name = 四級é‡å¡‘者 block.tetrative-reconstructor.name = 五級é‡å¡‘者 -block.payload-conveyor.name = 原料輸é€å¸¶ -block.payload-router.name = 原料分é…器 +block.payload-conveyor.name = é‡ç‰©è¼¸é€å¸¶ +block.payload-router.name = é‡ç‰©åˆ†é…器 +block.duct.name = 類真空管 +block.duct-router.name = 真空管分é…器 +block.duct-bridge.name = 真空管橋 +block.large-payload-mass-driver.name = 巨型é‡ç‰©è³ªé‡é©…動器 +block.payload-void.name = 原料虛空 +block.payload-source.name = åŽŸæ–™æº block.disassembler.name = 還原機 block.silicon-crucible.name = çŸ½çˆ -block.overdrive-dome.name = 高速拱頂 -#以下為實驗性建築,未來å¯èƒ½ç§»é™¤ experimental, may be removed -block.block-forge.name = æ–¹å¡Šé‘„é€ åŠ -block.block-loader.name = 方塊è£è¼‰å™¨ -block.block-unloader.name = 方塊å¸è¼‰å™¨ +block.overdrive-dome.name = 超高速拱頂 block.interplanetary-accelerator.name = 星際加速站 +block.constructor.name = 建造器 +block.constructor.description = å»ºé€ é” 2x2 的方塊。 +block.large-constructor.name = 大型建造器 +block.large-constructor.description = å»ºé€ é” 4x4 的方塊。 +block.deconstructor.name = 拆解器 +block.deconstructor.description = 拆解方塊和單ä½ï¼Œè¿”還所有建造花費。 +block.payload-loader.name = é‡ç‰©è£è¼‰æ©Ÿ +block.payload-loader.description = å°‡ç‰©å“æˆ–是液體è£å…¥æ–¹å¡Šã€‚ +block.payload-unloader.name = é‡ç‰©å–物機 +block.payload-unloader.description = å°‡ç‰©å“æˆ–是液體從方塊å–出。 +block.heat-source.name = ç†±é‡æº +block.heat-source.description = 輸出大é‡ç†±çš„æ–¹å¡Šã€‚åƒ…é™æ²™ç›’。 -block.switch.name = 按鈕 -block.micro-processor.name = 微處ç†å™¨ +#Erekir +block.empty.name = 虛無 +block.rhyolite-crater.name = æµç´‹å²©éš•å‘ +block.rough-rhyolite.name = ç²—ç³™æµç´‹å²© +block.regolith.name = 風化層 +block.yellow-stone.name = 黃岩 +block.carbon-stone.name = 碳岩 +block.ferric-stone.name = éµå²© +block.ferric-craters.name = éµå²©éš•å‘ +block.beryllic-stone.name = 綠柱岩 +block.crystalline-stone.name = 晶岩 +block.crystal-floor.name = æ™¶é«”åœ°é¢ +block.yellow-stone-plates.name = é»ƒå²©åœ°é¢ +block.red-stone.name = 紅岩 +block.dense-red-stone.name = 質密紅岩 +block.red-ice.name = 紅冰 +block.arkycite-floor.name = 芳油池 +block.arkyic-stone.name = ç¥ç€çŸ³ +block.rhyolite-vent.name = æµç´‹å²©ç‡Œå£ +block.carbon-vent.name = ç¢³å™´å£ +block.arkyic-vent.name = ç¥ç€çŸ³å™´å£ +block.yellow-stone-vent.name = é»ƒå²©å™´å£ +block.red-stone-vent.name = ç´…å²©å™´å£ +block.crystalline-vent.name = æ™¶å²©å™´å£ +block.redmat.name = ç´…åœ°æ¿ +block.bluemat.name = è—åœ°æ¿ +block.core-zone.name = 核心地塊 +block.regolith-wall.name = 風化牆 +block.yellow-stone-wall.name = 黃岩牆 +block.rhyolite-wall.name = æµç´‹å²©ç‰† +block.carbon-wall.name = 碳牆 +block.ferric-stone-wall.name = éµå²©ç‰† +block.beryllic-stone-wall.name = 綠柱岩牆 +block.arkyic-wall.name = ç¥ç€å²©ç‰† +block.crystalline-stone-wall.name = 晶岩牆 +block.red-ice-wall.name = 紅冰牆 +block.red-stone-wall.name = 紅岩牆 +block.red-diamond-wall.name = 紅鑽牆 +block.redweed.name = 赤藻 +block.pur-bush.name = ç´«çŒæœ¨ +block.yellowcoral.name = 黃çŠç‘š +block.carbon-boulder.name = 碳岩巨石 +block.ferric-boulder.name = éµå²©å·¨çŸ³ +block.beryllic-boulder.name = 綠柱岩巨石 +block.yellow-stone-boulder.name = 黃岩巨石 +block.arkyic-boulder.name = ç¥ç€å²©å·¨çŸ³ +block.crystal-cluster.name = æ™¶ç°‡ +block.vibrant-crystal-cluster.name = 鮮豔晶簇 +block.crystal-blocks.name = 塊狀晶體 +block.crystal-orbs.name = çƒç‹€æ™¶é«” +block.crystalline-boulder.name = 晶岩巨石 +block.red-ice-boulder.name = 紅冰巨石 +block.rhyolite-boulder.name = æµç´‹å²©å·¨çŸ³ +block.red-stone-boulder.name = 紅岩巨石 +block.graphitic-wall.name = 石墨礦牆 +block.silicon-arc-furnace.name = é›»å¼§å†¶çŸ½çˆ +block.electrolyzer.name = 電解槽 +block.atmospheric-concentrator.name = 氮氣富集器 +block.oxidation-chamber.name = 氧化室 +block.electric-heater.name = 電加熱器 +block.slag-heater.name = 熔渣加熱器 +block.phase-heater.name = 相織布加熱器 +block.heat-redirector.name = 熱é‡é‡æ–°å®šå‘器 +block.small-heat-redirector.name = Small Heat Redirector +block.heat-router.name = 熱é‡åˆ†é…器 +block.slag-incinerator.name = ç†”æ¸£ç„šåŒ–çˆ +block.carbide-crucible.name = 碳化鎢å©å  +block.slag-centrifuge.name = 熔渣離心機 +block.surge-crucible.name = åˆé‡‘å©å  +block.cyanogen-synthesizer.name = æ°°æ°£åˆæˆå™¨ +block.phase-synthesizer.name = ç›¸ç¹”å¸ƒåˆæˆå™¨ +block.heat-reactor.name = ç†±åæ‡‰å † +block.beryllium-wall.name = 鈹牆 +block.beryllium-wall-large.name = 大型鈹牆 +block.tungsten-wall.name = 鎢牆 +block.tungsten-wall-large.name = 大型鎢牆 +block.blast-door.name = 防爆自動門 +block.carbide-wall.name = 碳化鎢牆 +block.carbide-wall-large.name = 大型碳化鎢牆 +block.reinforced-surge-wall.name = 強化åˆé‡‘牆 +block.reinforced-surge-wall-large.name = 大型強化åˆé‡‘牆 +block.shielded-wall.name = 護盾牆 +block.radar.name = 雷逹 +block.build-tower.name = 建造塔 +block.regen-projector.name = å†ç”ŸæŠ•影儀 +block.shockwave-tower.name = 震波塔 +block.shield-projector.name = 護盾投影儀 +block.large-shield-projector.name = 大型護盾投影儀 +block.armored-duct.name = è£ç”²çœŸç©ºç®¡ +block.overflow-duct.name = 真空管溢æµå™¨ +block.underflow-duct.name = åå‘真空管溢æµå™¨ +block.duct-unloader.name = 真空管è£å¸å™¨ +block.surge-conveyor.name = 波動輸é€å¸¶ +block.surge-router.name = 波動分é…器 +block.unit-cargo-loader.name = 貨物è£è¼‰å™¨ +block.unit-cargo-unload-point.name = 貨物å¸è¼‰é»ž +block.reinforced-pump.name = 強化幫補 +block.reinforced-conduit.name = 強化管線 +block.reinforced-liquid-junction.name = å¼·åŒ–æ¶²é«”æ¨žç´ +block.reinforced-bridge-conduit.name = 強化管線橋 +block.reinforced-liquid-router.name = 強化液體分é…器 +block.reinforced-liquid-container.name = 強化液體容器 +block.reinforced-liquid-tank.name = 強化液體槽 +block.beam-node.name = å…‰æŸç¯€é»ž +block.beam-tower.name = å…‰æŸå¡” +block.beam-link.name = å…‰æŸéˆæŽ¥ +block.turbine-condenser.name = 渦輪冷å‡å™¨ +block.chemical-combustion-chamber.name = 化學燃燒發電機 +block.pyrolysis-generator.name = 熱解發電機 +block.vent-condenser.name = 氣體冷å‡å™¨ +block.cliff-crusher.name = 牆體挖鑿機 +block.large-cliff-crusher.name = Advanced Cliff Crusher +block.plasma-bore.name = 電漿鑽頭 +block.large-plasma-bore.name = 大型電漿鑽頭 +block.impact-drill.name = è¡æ“Šé‘½é ­ +block.eruption-drill.name = 噴發鑽頭 +block.core-bastion.name = 核心:碉堡 +block.core-citadel.name = 核心:å£å£˜ +block.core-acropolis.name = 核心:衛城 +block.reinforced-container.name = 強化容器 +block.reinforced-vault.name = 強化存儲庫 +block.breach.name = çªç ´è€… +block.sublimate.name = æ˜‡è¯ +block.titan.name = 巨人 +block.disperse.name = 驅離者 +block.afflict.name = 折磨 +block.lustre.name = 餘光 +block.scathe.name = 毀æ +block.tank-refabricator.name = 戰車é‡å¡‘者 +block.mech-refabricator.name = 機甲é‡å¡‘者 +block.ship-refabricator.name = 飛船é‡å¡‘者 +block.tank-assembler.name = 釿ˆ°è»Šçµ„è£å»  +block.ship-assembler.name = 飛行艦組è£å»  +block.mech-assembler.name = 釿©Ÿç”²çµ„è£å»  +block.reinforced-payload-conveyor.name = 強化é‡ç‰©è¼¸é€å¸¶ +block.reinforced-payload-router.name = 強化é‡ç‰©åˆ†é…器 +block.payload-mass-driver.name = é‡ç‰©è³ªé‡é©…動器 +block.small-deconstructor.name = å°åž‹è§£æ§‹å™¨ +block.canvas.name = 畫布 +block.world-processor.name = 世界處ç†å™¨ +block.world-cell.name = 世界單元 +block.tank-fabricator.name = 戰車兵工廠 +block.mech-fabricator.name = 機甲兵工廠 +block.ship-fabricator.name = 飛船兵工廠 +block.prime-refabricator.name = 高級單ä½é‡å¡‘者 +block.unit-repair-tower.name = å–®ä½ç¶­ä¿®å¡” +block.diffuse.name = æ“´æ•£ +block.basic-assembler-module.name = 支æ´çµ„è£å»  +block.smite.name = 天譴 +block.malign.name = 熱核 +block.flux-reactor.name = 通é‡åæ‡‰çˆ +block.neoplasia-reactor.name = å›Šèƒžåæ‡‰çˆ + +block.switch.name = é–‹é—œ +block.micro-processor.name = 微型處ç†å™¨ block.logic-processor.name = é‚輯處ç†å™¨ block.hyper-processor.name = 超級處ç†å™¨ block.logic-display.name = 顯示器 @@ -1249,58 +1954,111 @@ block.large-logic-display.name = 大型顯示器 block.memory-cell.name = 記憶單元 block.memory-bank.name = 記憶體 -team.blue.name = è— +team.malis.name = ç´« team.crux.name = ç´… team.sharded.name = 黃 -team.orange.name = 橘 team.derelict.name = ç° team.green.name = ç¶  -team.purple.name = ç´« +team.blue.name = è— hint.skip = è·³éŽ hint.desktopMove = 使用[accent][[WASD][]來移動。 -hint.zoom = 滾動 [accent]滾輪[] 來放大縮å°ç•«é¢ã€‚ -hint.mine = é è¿‘並 [accent]點擊[] \uf8c4 銅礦以自行採礦。 +hint.zoom = 滾動[accent]滾輪[]來放大縮å°ç•«é¢ã€‚ hint.desktopShoot = [accent][[點擊左éµ][]射擊。 hint.depositItems = 從船身拖曳到核心以存放採完的礦物。 hint.respawn = 按[accent][[V][]以é‡ç”Ÿã€‚ -hint.respawn.mobile = ä½ ç›®å‰åœ¨æŽ§åˆ¶å–®ä½/建築。[accent]點擊左上角的頭åƒ[]é‡ç”Ÿã€‚ +hint.respawn.mobile = 您目å‰åœ¨æŽ§åˆ¶å–®ä½/建築。[accent]點擊左上角的頭åƒ[]é‡ç”Ÿã€‚ hint.desktopPause = 按[accent][[空白éµ][]æš«åœã€ç¹¼çºŒéŠæˆ²ã€‚ -hint.placeDrill = 點é¸å³ä¸‹ä»‹é¢çš„ \ue85e [accent]鑽頭[]é ã€‚鏿“‡ \uf870 [accent]鑽頭[]並點擊畫é¢å°‡é‘½é ­æ”¾åˆ°éŠ…ç¤¦ä¸Šã€‚ -hint.placeDrill.mobile = 點é¸å³ä¸‹ä»‹é¢çš„ \ue85e [accent]鑽頭[]é ã€‚鏿“‡ \uf870 [accent]鑽頭[]並點擊畫é¢å°‡é‘½é ­æ”¾åˆ°éŠ…ç¤¦ä¸Šã€‚\n\n按下 \ue800 [accent]勾勾[]來確èªå»ºé€ ã€‚ -hint.placeConveyor = [accent]輸é€å¸¶[]能夠將物å“é‹åˆ°å…¶ä»–地方。從 \ue814 [accent]é‹è¼¸[]é ä¸­é»žé¸ \uf896 [accent]輸é€å¸¶[]。\n\n按ä½ä¸¦æ‹–曳以建造多個輸é€å¸¶ã€‚\n[accent]滑動滾輪[]以旋轉。 -hint.placeConveyor.mobile = [accent]輸é€å¸¶[]能夠將物å“é‹åˆ°å…¶ä»–地方。從 \ue814 [accent]é‹è¼¸[]é ä¸­é»žé¸ \uf896 [accent]輸é€å¸¶[]。\n\n按ä½ç•«é¢è¶…éŽä¸€ç§’後拖曳以建造多個輸é€å¸¶ã€‚ -hint.placeTurret = 建造 \uf861 [accent]砲塔[]抵禦進犯的敵è»ã€‚\n\n砲塔需è¦å½ˆè—¥ï¼Œç¾åœ¨å‰‡æ˜¯éœ€è¦ \uf838銅。\n用輸é€å¸¶å’Œé‘½é ­ä¾›æ‡‰ç ²å¡”。 hint.breaking = [accent]按ä½å³éµ[]並拖曳以破壞方塊。 hint.breaking.mobile = 點亮å³ä¸‹è§’çš„ \ue817 [accent]éµéŽš[]圖案並點擊畫é¢å¯ç›´æŽ¥æ‹†é™¤æ–¹å¡Šã€‚\n\n按ä½ç•«é¢è¶…éŽä¸€ç§’後拖曳以連續摧毀多個方塊。 -hint.research = 使用 \ue875 [accent]研究[] 按鈕來研究新科技。 -hint.research.mobile = 使用 \ue875 [accent]研究[] 按鈕來研究新科技。 +hint.blockInfo = 點擊å„種方塊的[accent][[?][]按鈕以檢視該方塊的資訊 +hint.derelict = [accent]殘骸[]地圖上有先å‰åŸºåœ°ç•™ä¸‹çš„æ®˜éª¸ã€‚\n\nå¯ä»¥[accent]銷毀[]這些建築ç²å¾—資æºã€‚ +hint.research = 使用\ue875[accent]研究[]按鈕來研究新科技。 +hint.research.mobile = 使用\ue875[accent]研究[]按鈕來研究新科技。 hint.unitControl = 按ä½[accent][[L-ctrl][]並[accent]點擊[]以控制我方的機甲和砲å°ã€‚ hint.unitControl.mobile = [accent][[點擊兩下][]以控制我方的機甲和砲å°ã€‚ -hint.launch = 一旦è’集到足夠的資æºï¼Œä½ å¯ä»¥é€éŽå³ä¸‹è§’çš„ \ue827 [accent]地圖[]來é¸å–ä½ è¦[accent]發射[]çš„å€åŸŸã€‚ -hint.launch.mobile = 一旦è’集到足夠的資æºï¼Œä½ å¯ä»¥é€éŽé¸å–®ä¸­çš„ \ue827 [accent]地圖[]來é¸å–ä½ è¦[accent]發射[]çš„å€åŸŸã€‚ -hint.schematicSelect = 按ä½[accent][[F][]並拖曳å¯ä»¥é¸å–方塊並貼上。\n\n按下[accent][[滑鼠中éµ][]å¯ä»¥è¤‡è£½å–®ä¸€æ–¹å¡Šã€‚ +hint.unitSelectControl = è‹¥è¦æŽ§åˆ¶å–®ä½ï¼Œè«‹æŒ‰ä½[accent]L-Shift[]éµé€²å…¥[accent]æŒ‡æ®æ¨¡å¼[]。\nåœ¨æŒ‡æ®æ¨¡å¼ä¸‹ï¼Œå·¦éµé»žæ“Šä¸¦æ‹–曳以é¸å–å–®ä½ã€‚[accent]å³éµ[]點擊地點或目標來命令單ä½ç§»å‹•或攻擊。 +hint.unitSelectControl.mobile = è‹¥è¦æŽ§åˆ¶å–®ä½ï¼Œè«‹æŒ‰å·¦ä¸‹è§’çš„[accent]指æ®[]按鈕進入 [accent]æŒ‡æ®æ¨¡å¼[]。\nåœ¨æŒ‡æ®æ¨¡å¼ä¸‹ï¼Œé•·æŒ‰ä¸¦æ‹–曳以é¸å–å–®ä½ã€‚點擊地點或目標來命令單ä½ç§»å‹•或攻擊。 +hint.launch = 一旦è’集到足夠的資æºï¼Œæ‚¨å¯ä»¥é€éŽå³ä¸‹è§’çš„\ue827[accent]地圖[]來é¸å–您è¦[accent]發射[]çš„å€åŸŸã€‚ +hint.launch.mobile = 一旦è’集到足夠的資æºï¼Œæ‚¨å¯ä»¥é€éŽé¸å–®ä¸­çš„\ue827[accent]地圖[]來é¸å–您è¦[accent]發射[]çš„å€åŸŸã€‚ +hint.schematicSelect = 按ä½[accent][[F][]éµä¸¦æ‹–曳以é¸å–建築並複製ã€è²¼ä¸Šã€‚\n\n點擊[accent][滑鼠中éµ][]å¯ä»¥è¤‡è£½å–®ä¸€å»ºç¯‰ã€‚ +hint.rebuildSelect = 按ä½[accent][[B][]éµä¸¦æ‹–曳以é¸å–被摧毀的建築。\n這將自動é‡å»ºå®ƒå€‘。 +hint.rebuildSelect.mobile = 鏿“‡\ue874複製按鈕,然後點擊\ue80fé‡å»ºæŒ‰éˆ•並拖曳以é¸å–被摧毀的建築。\n這將自動é‡å»ºå®ƒå€‘。 + hint.conveyorPathfind = 在建造輸é€å¸¶æ™‚按下[accent][[L-Ctrl][]å¯ä»¥è‡ªå‹•產生路徑。 hint.conveyorPathfind.mobile = 啟用 \ue844 [accent]å°è§’線模å¼[]å¯ä»¥åœ¨å»ºé€ è¼¸é€å¸¶æ™‚自動產生路徑。 -hint.boost = 按ä½[accent][[L-Shift][]å¯ä»¥å¸¶è‘—你的機甲一起飛越障礙物\n\nåªæœ‰å°‘數陸行機甲有推進器。 -hint.command = 按下[accent][[G][]集çµé™„è¿‘[accent]相似類別[]的機甲進入編隊。\n\nä½ è¦å…ˆæŽ§åˆ¶ä¸€å°é™¸è¡Œæ©Ÿç”²æ‰èƒ½é›†çµå…¶ä»–陸行機甲。 -hint.command.mobile = [accent][[點擊兩下][]你的機甲使其他機甲進入編隊。 +hint.boost = 按ä½[accent][[L-Shift][]å¯ä»¥å¸¶è‘—您的機甲一起飛越障礙物\n\nåªæœ‰å°‘數陸行機甲有推進器。 hint.payloadPickup = 按下 [accent][[[] æ‹¾èµ·å°æ–¹å¡Šæˆ–機甲。 hint.payloadPickup.mobile = [accent]長按[]一個方塊或單ä½å¯å°‡å…¶æ‹¾èµ·ã€‚ hint.payloadDrop = 按下 [accent]][] å¯ä»¥æ”¾ä¸‹æŒæœ‰çš„æ–¹å¡Šæˆ–å–®ä½ã€‚ hint.payloadDrop.mobile = [accent]長按[]任何空白處å¯ä»¥æ”¾ä¸‹æŒæœ‰çš„æ–¹å¡Šæˆ–å–®ä½ã€‚ hint.waveFire = 以[accent]æ°´[]è£å¡«çš„[accent]波浪[]會自動撲滅附近ç«å‹¢ã€‚ -hint.generator = \uf879 [accent]燃燒發電機[]消耗煤炭產生能æºçµ¦ç›¸é„°çš„æ–¹å¡Šã€‚\n\n使用 \uf87f [accent]能é‡ç¯€é»ž[]增加電力涵蓋範åœã€‚ +hint.generator = \uf879 [accent]燃燒發電機[]消耗煤炭產生電力給相鄰的方塊。\n\n使用\uf87f[accent]能é‡ç¯€é»ž[]增加電力涵蓋範åœã€‚ hint.guardian = [accent]é ­ç›®[]æ“æœ‰åŽšå¯¦çš„è£ç”²ã€‚較弱的彈藥如[accent]銅[]å’Œ[accent]鉛[]並[scarlet]沒有效果[].\n\n使用更高等的砲臺或以\uf835 [accent]石墨[]é…åˆ\uf861雙砲ã€\uf859齊射砲摧毀頭目。 -hint.coreUpgrade = 核心å¯ä»¥é€éŽåœ¨ä¸Šé¢[accent]覆蓋一個更高等級的核心[]來å‡ç´šã€‚\n\n放置  [accent]核心:基地[] 到 ï¡© [accent]核心:碎片[] 上. ç¢ºä¿æ²’有其他障礙物。 -hint.presetLaunch = ç°è‰²çš„[accent]é™è½åœ°å€[],例如[accent]冰凿£®æž—[],å¯ç”±ä»»ä½•地å€ç™¼å°„。這類地å€ç„¡é ˆç”±ç›¸é„°åœ°å€é€²æ”»ã€‚\n\n[accent]數字編號地å€[]ï¼Œåƒæ˜¯é€™ä¸€å€‹ï¼Œå¯ä¸æ˜¯å®Œæˆæˆ°å½¹çš„å¿…è¦æ¢ä»¶ã€‚ +hint.coreUpgrade = 核心å¯ä»¥é€éŽåœ¨ä¸Šé¢[accent]覆蓋一個更高等級的核心[]來å‡ç´šã€‚\n\n放置 \uf868 [accent]核心:基地[] 到 \uf869 [accent]核心:碎片[] 上. ç¢ºä¿æ²’有其他障礙物。 +hint.presetLaunch = ç°è‰²çš„[accent]é™è½åœ°å€[],例如[accent]冰凿£®æž—[],å¯ç”±ä»»ä½•地å€ç™¼å°„。這類地å€ç„¡é ˆç”±ç›¸é„°åœ°å€é€²æ”»ã€‚\n\n[accent]數字編號地å€[]則是一般的å€åŸŸï¼Œå¯è‡ªç”±ä½”領,ä¸å½±éŸ¿æˆ°å½¹çš„完æˆã€‚ +hint.presetDifficulty = 此地å€ç‚º[scarlet]高å±éšªç­‰ç´š[]å€åŸŸã€‚\n[accent]ä¸å»ºè­°[]在準備好科技和資æºä»¥å‰ç™¼å°„至此å€åŸŸã€‚ hint.coreIncinerate = 當任一物å“的核心庫存滿了後,後續進入的åŒç¨®è³‡æºæœƒè¢«[accent]銷毀[]。 -hint.coopCampaign = éŠçŽ©[accent]多人åˆä½œæˆ°å½¹[]時,åŒåœ°åœ–所生產的資æºçš†æœƒè¢«é€å…¥[accent]自己的地å€[]。\n\n任何新科技也會單å‘åŒæ­¥åˆ°è‡ªå·±çš„科技。 +hint.factoryControl = è‹¥è¦è¨­ç½®å…µå·¥å» çš„[accent]集çµé»ž[]ï¼Œåœ¨æŒ‡æ®æ¨¡å¼ä¸­é»žé¸å·¥å» ï¼Œå†å³éµé»žæ“ŠæŒ‡å®šä½ç½®ã€‚\n此工廠產生的單ä½å°‡è‡ªå‹•移動到集çµé»žã€‚ +hint.factoryControl.mobile = è‹¥è¦è¨­ç½®å…µå·¥å» çš„[accent]集çµé»ž[]ï¼Œåœ¨æŒ‡æ®æ¨¡å¼ä¸­é¸å–工廠,å†é»žæ“ŠæŒ‡å®šä½ç½®ã€‚\n此工廠產生的單ä½å°‡è‡ªå‹•移動到集çµé»žã€‚ +gz.mine = 接近在地上的\uf8c4 [accent]銅礦[],然後點擊它來開始挖掘。 +gz.mine.mobile = 接近地上的\uf8c4[accent]銅礦[],然後點擊它來開始挖掘。 +gz.research = 打開\ue875科技樹。\n研究\uf870[accent]機械鑽頭[],然後在å³ä¸‹è§’çš„é¸å–®ä¸­å°‡å…¶é¸å–。\n點擊銅礦放置鑽頭。 +gz.research.mobile = 打開\ue875科技樹。\n研究\uf870[accent]機械鑽頭[],然後在å³ä¸‹è§’çš„é¸å–®ä¸­å°‡å…¶é¸å–。\n點擊銅礦放置鑽頭。\n\n點擊å³ä¸‹è§’çš„\ue800[accent]勾[]以確èªã€‚ +gz.conveyors = 研究並放置\uf896[accent]傳é€å¸¶[]\n將鑽頭挖掘的礦物移至核心。\n\n點擊並拖動以連續放置傳é€å¸¶ã€‚\n滾動[accent]滑鼠滾輪[]以轉å‘。 +gz.conveyors.mobile = 研究並放置\uf896[accent]傳é€å¸¶[]\n將鑽頭挖掘的礦物移至核心。\n\n長按一秒,然後拖動以連續放置傳é€å¸¶ã€‚ +gz.drills = æ“´å¤§æŒ–æŽ˜è¦æ¨¡ã€‚\n放置更多的機械鑽頭。\n挖掘100個銅。 +gz.lead = \uf837[accent]鉛[]是å¦ä¸€ç¨®å¸¸ç”¨è³‡æºã€‚\n用鑽頭挖掘鉛礦。 +gz.moveup = \ue804擴張以推進任務。 +gz.turrets = 研究並放置2個\uf861[accent]雙砲[]ä¿è¡›æ ¸å¿ƒã€‚\n雙砲需è¦å‚³é€å¸¶ä¾›çµ¦\uf838[accent]彈藥[]。 +gz.duoammo = 用傳é€å¸¶çµ¦é›™ç ²ä¾›çµ¦[accent]銅[]。 +gz.walls = [accent]牆[]å¯ä»¥é˜²æ­¢å»ºç¯‰å—到æå£žã€‚\nåœ¨ç ²å¡”å‘¨åœæ”¾ç½®ä¸€äº›\uf8ae[accent]銅牆[]。 +gz.defend = 敵人來襲,準備防禦。 +gz.aa = 普通砲塔難以快速擊è½ç©ºä¸­å–®ä½ã€‚\n\uf860[accent]驅離者[]防空能力出色,但使用[accent]鉛[]彈藥。 +gz.scatterammo = 用傳é€å¸¶çµ¦é©…離者供給[accent]鉛[]。 +gz.supplyturret = [accent]給砲塔供彈 +gz.zone1 = 這是敵人的出生點。 +gz.zone2 = 波次開始時,範åœå…§çš„æ‰€æœ‰å»ºç¯‰éƒ½æœƒè¢«æ‘§æ¯€ã€‚ +gz.zone3 = 波次å³å°‡é–‹å§‹ã€‚\nåšå¥½æº–備。 +gz.finish = 建造更多砲塔,挖掘更多資æºï¼Œ\n擊退所有波次以[accent]佔領å€åŸŸ[]。 +onset.mine = 點擊牆上的\uf748[accent]鈹礦[]進行手動開採。\n\n使用[accent][[WASD]移動。 +onset.mine.mobile = 點擊牆上的\uf748[accent]鈹礦[]進行手動開採。 +onset.research = 打開\ue875科技樹。\n研究\uf73e[accent]渦輪冷å‡å™¨[],然後將其放置在噴å£ä¸Šã€‚\n這將產生[accent]電力[]。 +onset.bore = 研究並放置\uf741[accent]電漿鑽頭[]。\n它å¯ä»¥è‡ªå‹•從牆å£ä¸ŠæŒ–掘資æºã€‚ +onset.power = 為了æä¾›é›»æ¼¿é‘½é ­[accent]電力[],研究並放置一個\uf73d[accent]å…‰æŸç¯€é»ž[]。\n將渦輪冷å‡å™¨é€£æŽ¥åˆ°é›»æ¼¿é‘½é ­ã€‚ +onset.ducts = 研究並放置\uf799[accent]類真空管[]將電漿鑽頭挖掘的礦物移至核心。\n\n點擊並拖動以連續放置類真空管。\n滾動[accent]滑鼠滾輪[]以旋轉。 +onset.ducts.mobile = 研究並放置\uf799[accent]類真空管[]將電漿鑽頭挖掘的礦物移至核心。\n\n長按一秒,然後拖動以連續放置類真空管。 +onset.moremine = æ“´å¤§é–‹æŽ¡è¦æ¨¡ã€‚\n放置更多的電漿鑽頭,並使用光æŸç¯€é»žå’Œé¡žçœŸç©ºç®¡ä¾†æ”¯æŒå®ƒå€‘。\n開採200個鈹。 +onset.graphite = 較複雜的方塊需è¦\uf835[accent]石墨[]。\n使用電漿鑽頭開採石墨。 +onset.research2 = 開始研究[accent]工廠[]。\n研究\uf74d[accent]牆體挖鑿機[]å’Œ\uf779[accent]電弧冶矽çˆ[]。 +onset.arcfurnace = 電弧冶矽çˆéœ€è¦\uf834[accent]æ²™[]å’Œ\uf835[accent]石墨[]來冶煉\uf82f[accent]矽[]。\nåŒæ™‚也需è¦[accent]電力[]。 +onset.crusher = 使用\uf74d[accent]牆體挖鑿機[]來開採沙。 +onset.fabricator = 使用[accent]å–®ä½[]探索地圖,ä¿è¡›å»ºç¯‰ç‰©ä¸¦é€²è¡Œæ”»æ“Šã€‚\n研究並放置一個\uf6a2[accent]戰車製造廠[]。 +onset.makeunit = 生產單ä½ã€‚\n點擊"?"以查看所é¸å·¥å» çš„需求資æºã€‚ +onset.turrets = å–®ä½å°æ–¼é˜²ç¦¦å¾ˆæœ‰æ•ˆï¼Œä½†åˆç†ä½¿ç”¨[accent]炮塔[]å¯ä»¥æä¾›æ›´å¥½çš„防禦能力。\n放置一個\uf6eb[accent]çªç ´è€…[]炮塔。\n炮塔需è¦ä¾›çµ¦\uf748[accent]彈藥[]。 +onset.turretammo = 為炮塔供應[accent]鈹[]彈藥。 +onset.walls = [accent]牆[]å¯ä»¥é˜²æ­¢å»ºç¯‰å—到傷害。\nåœ¨ç‚®å¡”å‘¨åœæ”¾ç½®ä¸€äº›\uf6ee[accent]鈹牆[]。 +onset.enemies = 敵人å³å°‡åˆ°ä¾†ï¼Œæº–備防禦。 +onset.defenses = [accent]建立防禦:[lightgray] {0} +onset.attack = 敵è»åŸºåœ°éžå¸¸è„†å¼±ã€‚ç™¼å‹•åæ“Šã€‚ +onset.cores = å¯ä»¥åœ¨[accent]核心地磚[]上建立新的核心。\n新的核心功能類似å‰é€²åŸºåœ°ï¼Œä¸¦èˆ‡å…¶ä»–基地共享資æºå€‰åº«ã€‚\n放置一個\uf725核心。 +onset.detect = 敵è»å°‡åœ¨ 2 分é˜å…§ç™¼ç¾æ‚¨ã€‚\n設置防禦ã€é–‹æŽ¡ç¤¦ç‰©å’Œå»ºé€ ç”Ÿç”¢è¨­æ–½ã€‚ +onset.commandmode = 按ä½[accent]Shift[]進入[accent]æŒ‡æ®æ¨¡å¼[]。\n[accent]å·¦éµé»žæ“Šä¸¦æ‹–曳[]以鏿“‡å–®ä½ã€‚\n[accent]å³éµé»žæ“Š[]以命令所é¸å–®ä½ç§»å‹•或進攻。 +onset.commandmode.mobile = 按下[accent]æŒ‡æ®æŒ‰éˆ•[]進入[accent]æŒ‡æ®æ¨¡å¼[]。\n長按一秒,然後[accent]拖曳[]以鏿“‡å–®ä½ã€‚\n[accent]點擊[]以命令所é¸å–®ä½ç§»å‹•或進攻。 + +aegis.tungsten = 鎢å¯ä»¥ä½¿ç”¨[accent]è¡æ“Šé‘½é ­[]來開採。\næ­¤çµæ§‹éœ€è¦[accent]æ°´[]å’Œ[accent]電力[]。 + +split.pickup = æŸäº›ç‰©å“å¯ä»¥è¢«æ ¸å¿ƒå–®ä½æ’¿èµ·ã€‚\n撿起這個[accent]容器[],然後放到[accent]é‡ç‰©è£è¼‰æ©Ÿ[]上。\n(é è¨­æ’¿èµ·èˆ‡æ”¾ä¸‹çš„æŒ‰éµåˆ†åˆ¥æ˜¯ [[ å’Œ ] ) +split.pickup.mobile = æŸäº›ç‰©å“å¯ä»¥è¢«æ ¸å¿ƒå–®ä½æ’¿èµ·ã€‚\n撿起這個[accent]容器[],然後放到 [accent]é‡ç‰©è£è¼‰æ©Ÿ[] 上。\n(è¦æ’¿èµ·æˆ–放下æ±è¥¿ï¼Œè«‹é•·æŒ‰è©²ç‰©å“。) +split.acquire = 您必須ç²å–一些鎢æ‰èƒ½å»ºé€ å–®ä½ã€‚ +split.build = å–®ä½å¿…須被é‹é€åˆ°ç‰†çš„å¦ä¸€é‚Šã€‚\n在牆的兩å´å„放一個[accent]é‡ç‰©è³ªé‡é©…動器[]。\né€šéŽæŒ‰å£“其中一個來設置連çµï¼Œç„¶å¾Œé¸æ“‡å¦ä¸€å€‹ã€‚ +split.container = 類似於容器,單ä½ä¹Ÿå¯ä»¥ä½¿ç”¨[accent]é‡ç‰©è³ªé‡é©…動器[]進行é‹è¼¸ã€‚\n將一個單ä½å…µå·¥å» æ”¾ç½®åœ¨é‡ç‰©è£è¼‰æ©Ÿæ—邊以è£è¼‰å®ƒå€‘,然後將它們é€åˆ°ç‰†çš„å¦ä¸€å´ä»¥é€²æ”»æ•µæ–¹åŸºåœ°ã€‚ + item.copper.description = æœ€åŸºæœ¬çš„çµæ§‹ææ–™ã€‚在å„種類型的方塊中廣泛使用。 item.copper.details = 銅,蕈孢星上異常常見的金屬。加工å‰çµæ§‹è„†å¼±ã€‚ item.lead.description = ä¸€ç¨®åŸºæœ¬çš„èµ·å§‹ææ–™ã€‚被廣泛用於電å­è¨­å‚™å’Œæ¶²é«”é‹è¼¸æ–¹å¡Šã€‚ -item.lead.details = 密度高ã€ç©©å®šã€‚廣泛用於電池中。\n附記:å¯èƒ½å°ç”Ÿç‰©æœ‰æ¯’性。å³ä¾¿é€™è£¡ä¹Ÿæ²’剩多少。 +item.lead.details = 密度高ã€ç©©å®šã€‚廣泛用於電池中。\n附記:å¯èƒ½å°ç”Ÿç‰©æœ‰æ¯’性。雖然這裡也沒剩多少。 item.metaglass.description = 一種超高強度的玻璃。廣泛用於液體分é…和儲存。 item.graphite.description = 礦化的碳,用於彈藥和電氣元件。 item.sand.description = ä¸€ç¨®å¸¸è¦‹çš„ææ–™ï¼Œå»£æ³›ç”¨æ–¼å†¶ç…‰ï¼ŒåŒ…括製作åˆé‡‘和作為助熔劑。 @@ -1308,33 +2066,46 @@ item.coal.description = é åœ¨ã€Œæ’­ç¨®ã€äº‹ä»¶å‰å°±å½¢æˆçš„æ¤ç‰©åŒ–çŸ³ã€‚ item.coal.details = 看似æ¤ç‰©åŒ–çŸ³ï¼Œå½¢æˆæ™‚é–“é æ—©æ–¼ã€Œæ’­ç¨®ã€äº‹ä»¶ã€‚ item.titanium.description = 一種罕見的超輕金屬,被廣泛é‹ç”¨æ–¼é‹è¼¸æ¶²é«”ã€é‘½é ­å’Œé£›è¡Œè¼‰å…·ã€‚ item.thorium.description = ä¸€ç¨®é«˜å¯†åº¦çš„æ”¾å°„æ€§é‡‘å±¬ï¼Œç”¨ä½œçµæ§‹æ”¯æ’和核燃料。 -item.scrap.description = èˆŠçµæ§‹å’Œå–®ä½çš„æ®˜éª¸ã€‚嫿œ‰å¾®é‡çš„å„種金屬。 +item.scrap.description = 舊建築和單ä½çš„æ®˜éª¸ã€‚嫿œ‰å¾®é‡çš„å„種金屬。 item.scrap.details = å¤è€å»ºç¯‰ã€å…µå™¨ç•™ä¸‹çš„æ®˜éª¸ã€‚ item.silicon.description = 一種éžå¸¸æœ‰ç”¨çš„åŠå°Žé«”,被用於太陽能電池æ¿ã€å¾ˆå¤šè¤‡é›œçš„é›»å­è¨­å‚™å’Œè¿½è¹¤å°Žå½ˆå½ˆè—¥ã€‚ item.plastanium.description = 一種輕é‡ã€å¯å»¶å±•çš„ææ–™ï¼Œç”¨æ–¼é«˜ç´šçš„飛行載具和破片彈藥。 item.phase-fabric.description = 一種近乎無é‡é‡çš„物質,用於先進的電å­è¨­å‚™å’Œè‡ªä¿®å¾©æŠ€è¡“。 item.surge-alloy.description = 一種具有ç¨ç‰¹é›»å­ç‰¹æ€§çš„高級åˆé‡‘。 -item.spore-pod.description = åˆæˆçš„å­¢å­èŽ¢ã€‚åˆæˆå¤§æ°£æ¿ƒåº¦çš„å­¢å­åšç‚ºå·¥æ¥­ç”¨é€”。用於轉化為原油ã€çˆ†ç‚¸ç‰©å’Œç‡ƒæ–™ã€‚ +item.spore-pod.description = å­¢å­èŽ¢ï¼Œå¾žå¤§æ°£ä¸­æ±²å–å­¢å­è€Œåˆæˆã€‚用於轉化為原油ã€çˆ†ç‚¸ç‰©å’Œç‡ƒæ–™ã€‚ item.spore-pod.details = 充滿孢å­ã€‚很å¯èƒ½æ˜¯äººé€ ç”Ÿç‰©ã€‚會釋放å°å…¶ä»–生物有毒的氣體。極具侵略性。特定情æ³ä¸‹æ¥µç‚ºæ˜“燃。 item.blast-compound.description = 用於炸彈和高爆彈的混åˆç‰©ã€‚ item.pyratite.description = 用於至燃武器和燃燒型發電機的物質。 +item.beryllium.description = 用於熾熱之境的建築和彈藥。 +item.tungsten.description = 用於鑽頭ã€è£ç”²å’Œå½ˆè—¥ã€‚åœ¨å»ºé€ æ›´å…ˆé€²çš„å»ºç¯‰æœ‰å…¶å¿…è¦æ€§ã€‚ +item.oxide.description = 作為熱導體和絕緣體。 +item.carbide.description = 用於高級的建築ã€é‡åž‹å–®ä½å’Œå½ˆè—¥ã€‚ -liquid.water.description = æœ€æœ‰ç”¨çš„æ¶²é«”ã€‚å¸¸ç”¨æ–¼å†·å»æ©Ÿå™¨å’Œå»¢ç‰©è™•ç†ã€‚ +liquid.water.description = æœ€å¸¸è¦‹çš„æ¶²é«”ã€‚å¸¸ç”¨æ–¼å†·å»æ©Ÿå™¨å’Œå»¢ç‰©è™•ç†ã€‚ liquid.slag.description = å„種ä¸åŒé¡žåž‹çš„熔èžé‡‘屬混åˆåœ¨ä¸€èµ·çš„æ¶²é«”。å¯ä»¥è¢«åˆ†è§£æˆå…¶æ‰€çµ„æˆä¹‹ç¤¦ç‰©ï¼Œæˆ–ä½œç‚ºæ­¦å™¨å‘æ•µæ–¹å–®ä½å™´ç‘。 liquid.oil.description = ç”¨æ–¼é€²éšŽææ–™è£½é€ çš„æ¶²é«”。å¯ä»¥è½‰åŒ–為煤炭作為燃料或噴ç‘呿•µæ–¹å–®ä½å¾Œé»žç‡ƒä½œç‚ºæ­¦å™¨ã€‚ -liquid.cryofluid.description = 一種安定,無è…è•æ€§çš„æ¶²é«”,用水åŠéˆ¦æ··åˆæˆã€‚具有很高的比熱。廣泛的用作冷å»åŠ‘ã€‚ +liquid.cryofluid.description = 一種安定,無è…è•æ€§çš„æ¶²é«”。具有很高的比熱,廣泛的用作工廠ã€ç ²å°ã€æˆ–忇‰çˆçš„冷å»åŠ‘ã€‚ +liquid.arkycite.description = ç”¨æ–¼ç™¼é›»èˆ‡åˆæˆææ–™çš„åŒ–å­¸åæ‡‰ã€‚ +liquid.ozone.description = ç”¨æ–¼ææ–™è£½é€ çš„æ°§åŒ–劑,以åŠä½œç‚ºç‡ƒæ–™ã€‚有中度爆炸性。 +liquid.hydrogen.description = 用於資æºé–‹æŽ¡ã€å–®ä½è£½é€ èˆ‡å»ºç¯‰ä¿®å¾©ã€‚易燃。 +liquid.cyanogen.description = 用於å­å½ˆã€è£½é€ å–®ä½èˆ‡åœ¨å…¶ä»–é«˜ç´šå»ºç¯‰ä¸Šçš„åæ‡‰ã€‚高度易燃。 +liquid.nitrogen.description = 用於資æºé–‹æŽ¡ã€æ°£é«”生產與單ä½è£½é€ ã€‚ç›¸å°æƒ°æ€§ã€‚ +liquid.neoplasm.description = å›Šèƒžåæ‡‰çˆæ‰€ç”Ÿç”¢å‡ºçš„å±éšªç”Ÿç‰©æ€§å‰¯ç”¢ç‰©ã€‚如果é‡åˆ°å«æœ‰æ°´çš„建築,囊胞液會擴散到那些建築上,並å°å…¶é€ æˆå‚·å®³ã€‚有粘性。 +liquid.neoplasm.details = å›Šèƒžæ¶²ï¼Œç”±ä¸€ç¨®ç„¡æ³•æŽ§åˆ¶ä¸¦å¿«é€Ÿåˆ†è£‚çš„åˆæˆç´°èƒžåœ˜çµ„æˆï¼Œå…·æœ‰åƒæ·¤æ³¥èˆ¬çš„é»ç¨ åº¦ã€‚è€ç†±ã€‚å°å«æœ‰æ°´çš„建築åŠå…¶å±éšªã€‚\n\n以ç¾åœ¨çš„æŠ€è¡“來說,由於其複雜性åŠå…¶ä¸ç©©å®šæ€§ï¼Œè¦é€²è¡Œæ¨™æº–分æžååˆ†å›°é›£ã€‚æ½›åœ¨çš„æ‡‰ç”¨ç›®å‰æœªçŸ¥ã€‚建議在熔渣池中焚毀。 -block.resupply-point.description = 補給銅礦彈藥給附近的單ä½ã€‚無法用於需è¦é›»æ± é›»åŠ›çš„å–®ä½ã€‚ +block.derelict = [lightgray]殘骸 block.armored-conveyor.description = 以與鈦輸é€å¸¶ç›¸åŒçš„速度移動物å“ï¼Œä½†æ“æœ‰æ›´é«˜çš„é˜²ç¦¦ã€‚ä¸æŽ¥å—任何從å´é¢è¼¸å…¥çš„資æºã€‚ block.illuminator.description = å°è€Œç¾Žçš„å…‰æºã€‚ block.message.description = 儲存一æ¢è¨Šæ¯ã€‚用於盟å‹ä¹‹é–“çš„æºé€šã€‚ +block.reinforced-message.description = 儲存一æ¢è¨Šæ¯ã€‚用於盟å‹ä¹‹é–“çš„æºé€šã€‚ +block.world-message.description = 一個用於製圖的訊æ¯ç‰ˆã€‚無法被銷毀。 block.graphite-press.description = 將煤炭壓縮æˆçŸ³å¢¨ã€‚ block.multi-press.description = 石墨壓縮機的å‡ç´šç‰ˆã€‚利用水和電力快速高效地處ç†ç…¤ç‚­ã€‚ block.silicon-smelter.description = 使用高純度焦炭還原沙å­ä»¥ç”Ÿç”¢çŸ½ã€‚ block.kiln.description = 將沙å­å’Œé‰›ç†”ç…‰æˆé‹¼åŒ–玻璃。需è¦å°‘é‡èƒ½é‡ã€‚ block.plastanium-compressor.description = 將原油和鈦壓縮製造塑鋼。 block.phase-weaver.description = 使用放射性的釷和大é‡çš„æ²™å­ç”Ÿç”¢ç›¸ç¹”布。 -block.alloy-smelter.description = 使用鈦ã€é‰›ã€çŸ½å’ŒéŠ…ä»¥ç”Ÿç”¢æ³¢å‹•åˆé‡‘。 +block.surge-smelter.description = 熔化鈦ã€é‰›ã€çŸ½ä»¥åŠéŠ…æˆçˆ²æ³¢å‹•åˆé‡‘。 block.cryofluid-mixer.description = æ··åˆæ°´å’Œç ”ç£¨çš„éˆ¦ç²‰è£½é€ å†·å»æ•ˆçŽ‡æ›´é«˜çš„å†·å‡æ¶²ã€‚å°é‡·å應堆是必è¦çš„。 block.blast-mixer.description = æ··åˆèƒžå­ç¢Žå¡Šå°‡ç«ç„°å½ˆè®Šæˆæ¯”è¼ƒä¸æ˜“燃但更具爆炸性的爆炸混åˆç‰©ã€‚ block.pyratite-mixer.description = æ··åˆç…¤ã€é‰›å’Œæ²™å­æ··åˆæˆç‚ºæ˜“燃的ç«ç„°å½ˆã€‚ @@ -1347,9 +2118,11 @@ block.incinerator.description = éŠ·æ¯€æ‰€æœ‰æŽ¥æ”¶çš„ç‰©å“æˆ–液體。 block.power-void.description = 銷毀所有輸入的能é‡ã€‚åƒ…é™æ²™ç›’。 block.power-source.description = ç„¡é™è¼¸å‡ºèƒ½é‡ã€‚åƒ…é™æ²™ç›’。 block.item-source.description = ç„¡é™è¼¸å‡ºç‰©å“ã€‚åƒ…é™æ²™ç›’。 -block.item-void.description = ä¸ä½¿ç”¨èƒ½é‡éŠ·æ¯€ä»»ä½•é€²å…¥å®ƒçš„ç‰©å“ã€‚åƒ…é™æ²™ç›’。 +block.item-void.description = 銷毀所有進入的物å“ã€‚åƒ…é™æ²™ç›’。 block.liquid-source.description = ç„¡é™è¼¸å‡ºæ¶²é«”ã€‚åƒ…é™æ²™ç›’。 block.liquid-void.description = éŠ·æ¯€æ‰€æœ‰è¼¸å…¥çš„æ¶²é«”ã€‚åƒ…é™æ²™ç›’。 +block.payload-source.description = ç„¡é™è¼¸å‡ºåŽŸæ–™ã€‚åƒ…é™æ²™ç›’。 +block.payload-void.description = éŠ·æ¯€æ‰€æœ‰é€²å…¥çš„åŽŸæ–™ã€‚åƒ…é™æ²™ç›’。 block.copper-wall.description = 一種便宜的防禦方塊。\n用於å‰å¹¾æ³¢é˜²è¡›æ ¸å¿ƒå’Œç ²å¡”。 block.copper-wall-large.description = 一種便宜的防禦方塊。\n用於å‰å¹¾æ³¢é˜²ç¦¦æ ¸å¿ƒå’Œç ²å¡”\n佔據多個方塊。 block.titanium-wall.description = 一個中等強度的防禦方塊。\næä¾›å°æ•µäººçš„é©åº¦ä¿è­·ã€‚ @@ -1362,6 +2135,10 @@ block.phase-wall.description = 沒有釷牆那麼堅固但特殊的相ä½åŒ–åˆ block.phase-wall-large.description = 沒有釷牆那麼堅固但特殊的相ä½åŒ–åˆç‰©å¡—層會使大多的å­å½ˆå離。\n佔據多個方塊。 block.surge-wall.description = 最強的防禦方塊。\næœ‰ä½Žæ©ŸçŽ‡å°æ”»æ“Šè€…觸發閃電。 block.surge-wall-large.description = 最強的防禦方塊。\næœ‰ä½Žæ©ŸçŽ‡å°æ”»æ“Šè€…觸發閃電。\n佔據多個方塊。 +block.scrap-wall.description = Protects structures from enemy projectiles. +block.scrap-wall-large.description = Protects structures from enemy projectiles. +block.scrap-wall-huge.description = Protects structures from enemy projectiles. +block.scrap-wall-gigantic.description = Protects structures from enemy projectiles. block.door.description = å¯ä»¥é€šéŽé»žæ“Šæ‰“開和關閉的一扇å°é–€ã€‚\n如果打開,敵人å¯ä»¥ç©¿éŽå®ƒå°„擊和移動。 block.door-large.description = å¯ä»¥é€šéŽé»žæ“Šæ‰“開和關閉的一扇大門。\n如果打開,敵人å¯ä»¥ç©¿éŽå®ƒå°„擊和移動。\n佔據多個方塊。 block.mender.description = 定期修復附近的建築物。在æ¯ä¸€æ³¢ä¹‹é–“ä¿æŒé˜²ç¦¦åŠ›çš„ä¿®å¾©ã€‚\nå¯é¸æ“‡ä½¿ç”¨çŸ½ä¾†æé«˜ç¯„åœå’Œæ•ˆçŽ‡ã€‚ @@ -1382,14 +2159,15 @@ block.router.details = å¿…è¦ä¹‹æƒ¡ã€‚ä¸å»ºè­°æ”¾ç½®åœ¨ç”Ÿç”¢å»ºç¯‰æ—,ä¸ç„¶ block.distributor.description = 高級的分é…器,å¯å°‡ç‰©å“å‡åˆ†åˆ°æœ€å¤š7個其他方å‘。 block.overflow-gate.description = 如果å‰é¢è¢«é˜»æ“‹ï¼Œå‰‡å‘左邊和å³é‚Šè¼¸å‡ºç‰©å“。 block.underflow-gate.description = åå‘的溢æµå™¨ã€‚如果å´é¢è¢«é˜»æ“‹ï¼Œå‰‡å‘剿–¹è¼¸å‡ºç‰©å“。 -block.mass-driver.description = 終極物å“é‹è¼¸æ–¹å¡Šã€‚收集大é‡ç‰©å“,然後將它們射å‘å¦ä¸€å€‹è³ªé‡é©…動器。需è¦èƒ½æºä»¥é‹ä½œã€‚ +block.mass-driver.description = 終極物å“é‹è¼¸æ–¹å¡Šã€‚收集大é‡ç‰©å“,然後將它們射å‘å¦ä¸€å€‹è³ªé‡é©…動器。需è¦é›»åЛ以é‹ä½œã€‚ block.mechanical-pump.description = 一種便宜的泵,輸出速度慢,但ä¸ä½¿ç”¨èƒ½é‡ã€‚ block.rotary-pump.description = 高級的泵。抽更多液體,但需è¦èƒ½é‡ã€‚ -block.thermal-pump.description = 終極的泵。 +block.impulse-pump.description = æ³µé€æ¶²é«”。 block.conduit.description = 基本液體é‹è¼¸æ–¹å¡Šã€‚將液體往å‰è¼¸é€ã€‚用於æå–å™¨ã€æ³µæˆ–其他管線。 block.pulse-conduit.description = 高級的液體é‹è¼¸æ–¹å¡Šã€‚比標準管線更快地輸é€ä¸¦å„²å­˜æ›´å¤šæ¶²é«”。 block.plated-conduit.description = 用和脈è¡ç®¡ç·šç›¸åŒçš„速率é‹é€æ¶²é«”,但有更強的è£ç”²ã€‚é™¤äº†å…¶ä»–ç®¡ç·šä»¥å¤–ï¼Œä¸æœƒæŽ¥å—來自å´é¢çš„其他液體\næ¯”è¼ƒä¸æœƒæ¼æ¶²ã€‚ block.liquid-router.description = 接å—來自一個方å‘的液體並將它們平å‡è¼¸å‡ºåˆ°æœ€å¤š3個其他方å‘。å¯ä»¥å„²å­˜ä¸€å®šé‡çš„æ¶²é«”。用於將液體從一個來æºåˆ†æˆå¤šå€‹ç›®æ¨™ã€‚ +block.liquid-container.description = 儲存å¯è§€çš„æ¶²é«”。由四邊輸出,與液體分é…器雷åŒã€‚ block.liquid-tank.description = å„²å­˜å¤§é‡æ¶²é«”ã€‚ç•¶æ¶²é«”éœ€æ±‚éžæ†å®šæ™‚ï¼Œä½¿ç”¨å®ƒä¾†å‰µå»ºç·©è¡æˆ–作為冷å»é‡è¦æ–¹å¡Šçš„ä¿éšœã€‚ block.liquid-junction.description = 作為兩個交å‰ç®¡ç·šçš„æ©‹æ¨‘。é©ç”¨æ–¼å…©æ¢ä¸åŒç®¡ç·šå°‡ä¸åŒæ¶²é«”é‹é€åˆ°ä¸åŒä½ç½®çš„æƒ…æ³ã€‚ block.bridge-conduit.description = 高級的液體é‹è¼¸æ–¹å¡Šã€‚å…è¨±è·¨éŽæœ€å¤š3個任何地形或建築物的方塊é‹è¼¸æ¶²é«”。 @@ -1408,7 +2186,7 @@ block.rtg-generator.description = 一種簡單ã€å¯é çš„發電機,使用放 block.solar-panel.description = é€éŽå¤ªé™½ç”¢ç”Ÿå°‘é‡çš„能é‡ã€‚ block.solar-panel-large.description = é€éŽå¤ªé™½ç”¢ç”Ÿå°‘é‡çš„能é‡ã€‚效率較普通太陽能æ¿é«˜ã€‚ block.thorium-reactor.description = 從高度放射性釷產生大é‡èƒ½é‡ã€‚éœ€è¦æŒçºŒå†·å»ã€‚如果供應的冷å»åŠ‘ä¸è¶³ï¼ŒæœƒåŠ‡çƒˆçˆ†ç‚¸ã€‚ç”¢ç”Ÿçš„èƒ½é‡å–決於釷è£è¼‰é‡ï¼Œæ»¿è¼‰æ™‚會é”到基礎發電功率。 -block.impact-reactor.description = 先進的發電機,在最高效率時能產生大é‡èƒ½é‡ã€‚需è¦å…ˆæ¶ˆè€—大é‡çš„èƒ½æºæ‰èƒ½å•Ÿå‹•。 +block.impact-reactor.description = 先進的發電機,在最高效率時能產生大é‡èƒ½é‡ã€‚需è¦å…ˆæ¶ˆè€—大é‡çš„電力æ‰èƒ½å•Ÿå‹•。 block.mechanical-drill.description = 一種便宜的鑽頭。當放置在é©ç•¶çš„æ–¹å¡Šä¸Šæ™‚ï¼Œä»¥ç·©æ…¢çš„é€Ÿåº¦ç„¡é™æœŸåœ°è¼¸å‡ºç‰©å“。åªèƒ½æŒ–掘基本的原料。 block.pneumatic-drill.description = 一種改進的鑽頭,å¯ä»¥æŒ–掘鈦。比機械鑽頭挖掘的更快。 block.laser-drill.description = 通éŽé›·å°„技術å¯ä»¥æ›´å¿«åœ°æŒ–掘,但需è¦èƒ½é‡ã€‚此外,這種鑽頭å¯ä»¥æŒ–掘放射性釷。 @@ -1427,6 +2205,9 @@ block.vault.description = 儲存大é‡çš„æ¯ä¸€ç¨®ç‰©å“。當物å“éœ€æ±‚éžæ† block.container.description = 儲存少é‡çš„æ¯ä¸€ç¨®ç‰©å“。當物å“éœ€æ±‚éžæ†å®šæ™‚,使用它來創建緩è¡ã€‚使用[lightgray]è£å¸å™¨[]以從容器æå–物å“。 block.unloader.description = 將物å“從容器ã€å€‰åº«æˆ–核心å¸è¼‰åˆ°å‚³è¼¸å¸¶ä¸Šæˆ–直接å¸è²¨åˆ°ç›¸é„°çš„æ–¹å¡Šä¸­ã€‚é€éŽé»žæ“Šå¸è²¨å™¨ä¾†æ›´æ”¹è¦å¸è²¨çš„物å“類型。 block.launch-pad.description = 無需發射核心å³å¯ç›´æŽ¥ç™¼å°„物å“。 +block.advanced-launch-pad.description = Launches batches of items to selected sectors. Only accepts one item type at a time. +block.advanced-launch-pad.details = Sub-orbital system for point-to-point transportation of resources. +block.landing-pad.description = Receives items from launch pads in other sectors. Requires large amounts of water to protect against impacts of landings. block.duo.description = 一種å°è€Œä¾¿å®œçš„砲塔。 block.scatter.description = ä¸å¯æˆ–ç¼ºçš„ä¸­åž‹é˜²ç©ºç ²å¡”ã€‚å‘æ•µæ–¹å–®ä½å™´å°„鉛塊ã€å»¢æ–™æˆ–是鋼化玻璃彈片。 block.scorch.description = 燃燒所有é è¿‘å®ƒçš„åœ°é¢æ•µäººã€‚在近è·é›¢éžå¸¸æœ‰æ•ˆã€‚ @@ -1439,19 +2220,18 @@ block.salvo.description = ä¸€ç¨®æ›´å¤§ã€æ›´å…ˆé€²ç‰ˆæœ¬çš„é›™ç‚®ã€‚å¿«é€Ÿåœ°å‘ block.fuse.description = 一種近è·çš„大型能é‡ç ²å¡”ã€‚å‘æ•µäººç™¼å°„三é“è²«ç©¿æ€§çš„èƒ½æºæŸã€‚ block.ripple.description = æ¥µç‚ºå¼·å¤§çš„è¿«æ“Šç‚®å¡”ã€‚ä¸€æ¬¡å‘æ•µäººç™¼å°„數發å­å½ˆã€‚ block.cyclone.description = 一種å°ç©ºå’Œå°åœ°çš„大型砲塔。å‘附近單ä½ç™¼å°„爆裂性的碎塊。 -block.spectre.description = 一種雙炮管的巨型砲塔。å‘空中åŠåœ°é¢æ•µäººç™¼å°„大型的穿甲彈。 +block.spectre.description = 一種雙炮管的巨型砲塔。å‘空中åŠåœ°é¢æ•µäººç™¼å°„大型的砲彈。 block.meltdown.description = 一種巨型雷射砲塔。充電並發射æŒçºŒæ€§çš„é›·å°„å…‰æŸã€‚需è¦å†·å»æ¶²ä»¥é‹ä½œã€‚ -block.foreshadow.description = åœ¨é æ–¹ç‹™æ“Šå–®ä¸€ç›®æ¨™ã€‚ +block.foreshadow.description = åœ¨é æ–¹ç‹™æ“Šå–®ä¸€ç›®æ¨™ã€‚優先攻擊總血é‡è¼ƒé«˜çš„å–®ä½ã€‚ block.repair-point.description = æŒçºŒæ²»ç™‚é™„è¿‘æœ€è¿‘çš„å—æå–®ä½ã€‚ block.segment.description = 傷害並摧毀來襲的砲彈。無法將雷射武器的光æŸä½œç‚ºç›®æ¨™ã€‚ block.parallax.description = 發射牽引光æŸï¼Œç‰½å¼•空中目標,並在此éŽç¨‹ä¸­æå£žå®ƒå€‘。 block.tsunami.description = 呿•µäººç™¼å°„強大的液體。如果æä¾›æ°´æœƒè‡ªå‹•æ»…ç«ã€‚ block.silicon-crucible.description = 使用ç«ç„°å½ˆä½œç‚ºé™„加熱æºï¼Œå¾žæ²™å­å’Œç…¤ç‚­ä¸­æç…‰çŸ½ã€‚åœ¨é«˜æº«åœ°å€æ•ˆçŽ‡æ›´é«˜ã€‚ block.disassembler.description = 以低效率將熔渣分離æˆå°‘é‡çš„礦物æˆåˆ†ã€‚å¯ç”Ÿç”¢é‡·ã€‚ -block.overdrive-dome.description = 用相織布和矽增加附近建築物的速度。 +block.overdrive-dome.description = 用相織布和矽增加附近建築物的速度。 block.payload-conveyor.description = ç§»å‹•å¤§åž‹ç‰©é«”ï¼Œåƒæ˜¯å¾žå·¥å» å‡ºä¾†çš„æ©Ÿç”²ã€‚ block.payload-router.description = 把大型物體分é…到三個方å‘。 -block.command-center.description = 用幾個ä¸åŒçš„æŒ‡ä»¤æŽ§åˆ¶æ©Ÿç”²çš„行為。 block.ground-factory.description = 生產陸行機甲,造好的機甲å¯ä»¥ç›´æŽ¥ä½¿ç”¨æˆ–者是é€é€²é‡å¡‘機å‡ç´šã€‚ block.air-factory.description = 生產空中機甲,造好的機甲å¯ä»¥ç›´æŽ¥ä½¿ç”¨æˆ–者是é€é€²é‡å¡‘機å‡ç´šã€‚ block.naval-factory.description = 生產海上機甲,造好的機甲å¯ä»¥ç›´æŽ¥ä½¿ç”¨æˆ–者是é€é€²é‡å¡‘機å‡ç´šã€‚ @@ -1464,12 +2244,108 @@ block.micro-processor.description = å覆執行所有的é‚輯指令。能控 block.logic-processor.description = å覆執行所有的é‚輯指令。能控制機甲和建築。速度較微處ç†å™¨å¿«ã€‚ block.hyper-processor.description = å覆執行所有的é‚輯指令。能控制機甲和建築。速度較é‚輯處ç†å™¨å¿«ã€‚ block.memory-cell.description = 為é‚輯處ç†å™¨å„²å­˜è³‡æ–™ã€‚ -block.memory-bank.description = 為é‚輯處ç†å™¨å„²å­˜è³‡æ–™ã€‚大容é‡ã€‚ +block.memory-bank.description = 為é‚輯處ç†å™¨å„²å­˜è³‡æ–™ã€‚具備更大容é‡ã€‚ block.logic-display.description = 顯示由處ç†å™¨è¼¸å‡ºçš„ä»»æ„圖åƒã€‚ block.large-logic-display.description = 顯示由處ç†å™¨è¼¸å‡ºçš„ä»»æ„圖åƒã€‚ block.interplanetary-accelerator.description = 巨大的電ç£ç ²å¡”。將核心加速至脫離速度以在其他星çƒéƒ¨ç½²ã€‚ +block.repair-turret.description = æŒçºŒä¿®å¾©æœ€é è¿‘çš„å—æå–®ä½ã€‚能使用冷å»åŠ‘ã€‚ +block.core-bastion.description = 基地的核心。具有è£ç”²ã€‚一旦所有基地核心被摧毀,此å€åŸŸå³æˆ°æ•—。 +block.core-citadel.description = 基地的核心。è£ç”²åŽšå¯¦ã€‚å„²å­˜çš„è³‡æºæ¯”核心:碉堡更多。 +block.core-acropolis.description = 基地的核心。è£ç”²æ¥µä½³ã€‚å„²å­˜çš„è³‡æºæ¯”核心:å£å£˜æ›´å¤šã€‚ +block.breach.description = å°æ•µæ–¹å–®ä½ç™¼å°„ç©¿é€æ€§çš„鈹或鎢砲彈。 +block.diffuse.description = 在寬廣的éŒå½¢ç¯„åœå…§ç™¼å°„砲彈,擊退敵方單ä½ã€‚ +block.sublimate.description = å°æ•µæ–¹å–®ä½ç™¼å°„連續的ç«ç„°å°„æµã€‚ç©¿é€æ•µæ–¹è­·ç›¾ã€‚ +block.titan.description = å°åœ°é¢å–®ä½ç™¼å°„å·¨å¤§çš„çˆ†ç‚¸ç ²å½ˆã€‚éœ€è¦æ°«æ°£ã€‚ +block.afflict.description = 發射大型的帶電破片高射炮彈。需è¦ç†±é‡ã€‚ +block.disperse.description = å°æ•µæ–¹ç©ºä¸­å–®ä½ç™¼å°„高射炮彈。 +block.lustre.description = å°æ•µæ–¹å–®ä½ç™¼å°„移動緩慢的單一目標雷射。 +block.scathe.description = å°é è™•的敵方地é¢å–®ä½ç™¼å°„強大的導彈。 +block.smite.description = ç™¼å°„ç©¿é€æ€§çš„閃電砲彈。 +block.malign.description = å°æ•µæ–¹å–®ä½ç™¼å°„一連串的追蹤雷射導彈。需è¦å¤§é‡ç†±é‡ã€‚ +block.silicon-arc-furnace.description = 從沙和石墨中æç…‰çŸ½ã€‚ +block.oxidation-chamber.description = 將鈹和臭氧轉化為氧化鈹。éŽç¨‹ä¸­ç”¢ç”Ÿç†±é‡ã€‚ +block.electric-heater.description = 加熱é¢å‘的建築。需è¦å¤§é‡çš„電力。 +block.slag-heater.description = 加熱é¢å‘的建築。需è¦ç†”渣。 +block.phase-heater.description = 加熱é¢å‘的建築。需è¦ç›¸ç¹”布。 +block.heat-redirector.description = 將累ç©çš„熱é‡é‡æ–°å°Žå‘到其他建築。 +block.small-heat-redirector.description = Redirects accumulated heat to other blocks. +block.heat-router.description = æœä¸‰å€‹æ–¹å‘傳播累ç©çš„熱é‡ã€‚ +block.electrolyzer.description = 將水轉æ›ç‚ºæ°«æ°£å’Œè‡­æ°§ã€‚è¼¸å‡ºçš„å…©ç¨®æ°£é«”æ–¼ç›¸åæ–¹å‘è¼¸å‡ºï¼Œç”±å°æ‡‰çš„é¡è‰²è¡¨ç¤ºã€‚ +block.atmospheric-concentrator.description = 從大氣中濃縮氮氣。需è¦ç†±é‡ã€‚ +block.surge-crucible.description = å¾žç†”æ¸£å’ŒçŸ½åˆæˆæ³¢å‹•åˆé‡‘。需è¦ç†±é‡ã€‚ +block.phase-synthesizer.description = å¾žé‡·ã€æ²™å­å’Œè‡­æ°§åˆæˆç›¸ç¹”布。需è¦ç†±é‡ã€‚ +block.carbide-crucible.description = 將石墨和鎢èžåˆæˆç¢³åŒ–鎢。需è¦ç†±é‡ã€‚ +block.cyanogen-synthesizer.description = å¾žèŠ³æ²¹å’ŒçŸ³å¢¨åˆæˆæ°°æ°£ã€‚需è¦ç†±é‡ã€‚ +block.slag-incinerator.description = ç‡ƒç‡’ç©©å®šçš„ç‰©å“æˆ–液體。需è¦ç†”渣。 +block.vent-condenser.description = 將噴å£çš„æ°£é«”å‡çµæˆæ°´ã€‚消耗電力。 +block.plasma-bore.description = 當放置在礦牆é¢å‰æ™‚,無é™çš„輸出物å“。需è¦å°‘é‡é›»åŠ›ã€‚ +block.large-plasma-bore.description = æ›´å¤§çš„é›»æ¼¿é‘½é ­ã€‚èƒ½å¤ æŒ–æŽ˜éŽ¢å’Œé‡·ã€‚éœ€è¦æ°«æ°£å’Œé›»åŠ›ã€‚ +block.cliff-crusher.description = 粉碎牆å£ï¼Œç„¡é™çš„輸出沙å­ã€‚需è¦é›»åŠ›ã€‚æ•ˆçŽ‡å–æ±ºæ–¼ç‰†å£é¡žåž‹ã€‚ +block.large-cliff-crusher.description = Crushes walls, outputting sand indefinitely. Requires power and ozone. Efficiency varies based on type of wall. Optionally consumes tungsten to increase efficiency. +block.impact-drill.description = 當放置在礦石上時,無é™çš„輸出物å“。需è¦é›»åŠ›å’Œæ°´ã€‚ +block.eruption-drill.description = æ”¹è‰¯åž‹è¡æ“Šé‘½é ­ã€‚èƒ½å¤ æŒ–æŽ˜é‡·ã€‚éœ€è¦æ°«æ°£ã€‚ +block.reinforced-conduit.description = 將液體å‘å‰ç§»å‹•ã€‚ä¸æŽ¥å—å´é‚Šçš„éžå¼·åŒ–管線輸入。 +block.reinforced-liquid-router.description = 將液體å‡å‹»åˆ†ä½ˆåˆ°æ‰€æœ‰å´é‚Šæ–¹å‘。 +block.reinforced-liquid-tank.description = 儲存大é‡çš„æ¶²é«”。 +block.reinforced-liquid-container.description = 儲存數é‡å¯è§€çš„æ¶²é«”。 +block.reinforced-bridge-conduit.description = 使液體å¯ä»¥ç©¿è¶Šå»ºç¯‰èˆ‡åœ°å½¢ã€‚ +block.reinforced-pump.description = æ³µé€ä¸¦è¼¸å‡ºæ¶²é«”ã€‚éœ€è¦æ°«æ°£ã€‚ +block.beryllium-wall.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚ +block.beryllium-wall-large.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚ +block.tungsten-wall.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚ +block.tungsten-wall-large.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚ +block.carbide-wall.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚ +block.carbide-wall-large.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚ +block.reinforced-surge-wall.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šï¼Œä¸¦å®šæœŸåœ¨ç ²å½ˆæŽ¥è§¸æ™‚發射電弧。 +block.reinforced-surge-wall-large.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šï¼Œä¸¦å®šæœŸåœ¨ç ²å½ˆæŽ¥è§¸æ™‚發射電弧。 +block.shielded-wall.description = ä¿è­·å»ºç¯‰å…å—æ•µæ–¹ç ²å½ˆçš„æ”»æ“Šã€‚在æä¾›èƒ½é‡æ™‚展開一個å¯ä»¥å¸æ”¶å¤§éƒ¨åˆ†ç ²å½ˆçš„護盾。å¯å°Žé›»ã€‚ +block.blast-door.description = ç•¶å‹è»åœ°é¢å–®ä½é€²å…¥ç¯„åœæ™‚,牆å£é–‹å•Ÿã€‚無法手動控制。 +block.duct.description = 將物å“å‘å‰ç§»å‹•。åªèƒ½å­˜å„²ä¸€å€‹ç‰©å“。 +block.armored-duct.description = 將物å“å‘å‰ç§»å‹•ã€‚ä¸æŽ¥å—å´é‚Šçš„éžé¡žçœŸç©ºç®¡è¼¸å…¥ã€‚ +block.duct-router.description = 在三個方å‘上å‡å‹»åˆ†ä½ˆç‰©å“ã€‚åªæŽ¥å—後方的物å“。å¯ä½œç‚ºç‰©å“分類器。 +block.overflow-duct.description = åªæœ‰åœ¨å‰æ–¹é€šé“被阻塞時,æ‰å‘å´é‚Šè¼¸å‡ºç‰©å“。 +block.duct-bridge.description = 使物å“å¯ä»¥ç©¿è¶Šå»ºç¯‰èˆ‡åœ°å½¢ã€‚ +block.duct-unloader.description = 從其後的建築å¸è¼‰æ‰€é¸æ“‡çš„物å“。無法從基地核心å¸è¼‰ã€‚ +block.underflow-duct.description = 溢æµå™¨çš„相åä½œç”¨ã€‚åªæœ‰å·¦å³é€šé“å‡è¢«é˜»å¡žæ™‚,æ‰å‘å‰è¼¸å‡ºã€‚ +block.reinforced-liquid-junction.description = 在兩個交å‰å¼·åŒ–管線之間起連接作用。 +block.surge-conveyor.description = 批é‡ç§»å‹•物å“。å¯ä»¥ç”¨é›»åŠ›åŠ é€Ÿã€‚å¯å°Žé›»ã€‚ +block.surge-router.description = 從波動輸é€å¸¶å‡å‹»åˆ†ä½ˆç‰©å“到三個方å‘。å¯ä»¥ç”¨èƒ½é‡åŠ é€Ÿã€‚å¯å°Žé›»ã€‚ +block.unit-cargo-loader.description = 構造貨物無人機。無人機自動將物å“分é…到具有é¸å®šç›¸åŒç‰©å“的貨物å¸è¼‰é»žã€‚ +block.unit-cargo-unload-point.description = 作為貨物無人機的å¸è¼‰é»žã€‚接å—èˆ‡éŽæ¿¾å™¨ç›¸åŒçš„物å“。 +block.beam-node.description = 垂直地å‘其他建築傳é€èƒ½é‡ã€‚儲存一å°éƒ¨åˆ†èƒ½é‡ã€‚ +block.beam-tower.description = 垂直地å‘其他建築傳é€èƒ½é‡ã€‚儲存大é‡èƒ½é‡ã€‚é è·é›¢ã€‚ +block.turbine-condenser.description = 放置在噴å£ä¸Šæ™‚生æˆé›»åŠ›ã€‚ç”¢ç”Ÿå°‘é‡æ°´ã€‚ +block.chemical-combustion-chamber.description = 從芳油和臭氧產生電力。 +block.pyrolysis-generator.description = 從芳油和熔渣生æˆå¤§é‡çš„電力。產生水作為副產物。 +block.flux-reactor.description = 當加熱時產生大é‡é›»åŠ›ã€‚éœ€è¦æ°°æ°£ä½œç‚ºç©©å®šåŠ‘ã€‚é›»åŠ›è¼¸å‡ºå’Œæ°°æ°£éœ€æ±‚èˆ‡åŠ ç†±è¼¸å…¥æˆæ­£æ¯”。\n如果æä¾›çš„æ°°æ°£ä¸è¶³ï¼Œå‰‡æœƒçˆ†ç‚¸ã€‚ +block.neoplasia-reactor.description = ä½¿ç”¨èŠ³æ²¹ã€æ°´å’Œç›¸ç¹”布生æˆå¤§é‡çš„電力。產生熱和å±éšªçš„囊胞液作為副產å“。\n如果ä¸é€šéŽå¼·åŒ–ç®¡ç·šå¾žåæ‡‰å™¨ä¸­åŽ»é™¤å›Šèƒžæ¶²ï¼Œå‰‡æœƒç™¼ç”ŸåŠ‡çƒˆçˆ†ç‚¸ã€‚ +block.build-tower.description = 自動é‡å»ºç¯„åœå…§çš„建築並å”助其他單ä½å»ºé€ ã€‚ +block.regen-projector.description = 慢慢修復周åœç¯„åœå…§çš„å‹è»å»ºç¯‰ã€‚需è¦è‡­æ°§ã€‚ +block.reinforced-container.description = 儲存一å°éƒ¨åˆ†ç‰©å“。內容å¯ä»¥é€šéŽå¸è¼‰å™¨å–出。ä¸å¢žåŠ åŸºåœ°æ ¸å¿ƒçš„å„²å­˜å®¹é‡ã€‚ +block.reinforced-vault.description = 儲存大é‡çš„物å“。內容å¯ä»¥é€šéŽå¸è¼‰å™¨å–出。ä¸å¢žåŠ åŸºåœ°æ ¸å¿ƒçš„å„²å­˜å®¹é‡ã€‚ +block.tank-fabricator.description = 建造戰車單ä½ã€‚輸出的單ä½å¯ä»¥ç›´æŽ¥ä½¿ç”¨ï¼Œæˆ–移入戰車é‡å¡‘者進行å‡ç´šã€‚ +block.ship-fabricator.description = 建造飛船單ä½ã€‚輸出的單ä½å¯ä»¥ç›´æŽ¥ä½¿ç”¨ï¼Œæˆ–移入飛船é‡å¡‘者進行å‡ç´šã€‚ +block.mech-fabricator.description = 建造機甲單ä½ã€‚輸出的單ä½å¯ä»¥ç›´æŽ¥ä½¿ç”¨ï¼Œæˆ–移入機甲é‡å¡‘者進行å‡ç´šã€‚ +block.tank-assembler.description = 通éŽè¼¸å…¥çš„æ–¹å¡Šå’Œå–®ä½çµ„è£å¤§åž‹æˆ°è»Šã€‚å¯ä»¥é€šéŽæ”¯æ´çµ„è£å» å¢žåŠ è¼¸å‡ºç­‰ç´šã€‚ +block.ship-assembler.description = 通éŽè¼¸å…¥çš„æ–¹å¡Šå’Œå–®ä½çµ„è£å¤§åž‹é£›èˆ¹ã€‚å¯ä»¥é€šéŽæ”¯æ´çµ„è£å» å¢žåŠ è¼¸å‡ºç­‰ç´šã€‚ +block.mech-assembler.description = 通éŽè¼¸å…¥çš„æ–¹å¡Šå’Œå–®ä½çµ„è£å¤§åž‹æ©Ÿç”²ã€‚å¯ä»¥é€šéŽæ”¯æ´çµ„è£å» å¢žåŠ è¼¸å‡ºç­‰ç´šã€‚ +block.tank-refabricator.description = 將輸入的戰車單ä½å‡ç´šåˆ°ç¬¬äºŒç´šã€‚ +block.ship-refabricator.description = 將輸入的飛船單ä½å‡ç´šåˆ°ç¬¬äºŒç´šã€‚ +block.mech-refabricator.description = 將輸入的機甲單ä½å‡ç´šåˆ°ç¬¬äºŒç´šã€‚ +block.prime-refabricator.description = 將輸入的單ä½å‡ç´šåˆ°ç¬¬ä¸‰ç´šã€‚ +block.basic-assembler-module.description = 當放置在建造邊界æ—邊時,å¯å¢žåŠ çµ„è£å» ç­‰ç´šã€‚需è¦é›»åŠ›ã€‚å¯ä»¥ç”¨ä½œé‡ç‰©è¼¸å…¥ã€‚ +block.small-deconstructor.description = 拆解輸入的建築和單ä½ã€‚è¿”å›žå»ºé€ æˆæœ¬çš„100%。 +block.reinforced-payload-conveyor.description = å°‡é‡ç‰©å‘å‰ç§»å‹•。 +block.reinforced-payload-router.description = å°‡é‡ç‰©å‡å‹»åˆ†é…åˆ°ç›¸é„°çš„æ–¹å¡Šã€‚è¨­ç½®éŽæ¿¾å™¨æ™‚,å¯ä»¥ä½œç‚ºåˆ†é¡žå™¨ä½¿ç”¨ã€‚ +block.payload-mass-driver.description = é è·é›¢é‡ç‰©é‹è¼¸å»ºç¯‰ã€‚將接收到的é‡ç‰©å°„擊到連接的é‡ç‰©è³ªé‡é©…動器。 +block.large-payload-mass-driver.description = é è·é›¢é‡ç‰©é‹è¼¸å»ºç¯‰ã€‚將接收到的é‡ç‰©å°„擊到連接的é‡ç‰©è³ªé‡é©…動器。 +block.unit-repair-tower.description = ä¿®å¾©å…¶å‘¨åœæ‰€æœ‰å–®ä½ã€‚需è¦è‡­æ°§ã€‚ +block.radar.description = 逿¼¸é¡¯ç¤ºå¤§ç¯„åœå…§çš„地形和敵方單ä½ã€‚需è¦é›»åŠ›ã€‚ +block.shockwave-tower.description = 在一定範åœå…§ç ´å£žå’Œæ‘§æ¯€æ•µæ–¹ç ²å½ˆã€‚éœ€è¦æ°°æ°£ã€‚ +block.canvas.description = 顯示使用é è¨­èª¿è‰²æ¿çš„簡單圖åƒã€‚å¯ç·¨è¼¯ã€‚ -unit.dagger.description = 發射普通å­å½ˆæ”»æ“Šæ‰€æœ‰é™„近敵人。 + +unit.dagger.description = 發射普通å­å½ˆæ”»æ“Šé™„近敵人。 unit.mace.description = 噴發烈焰攻擊所有附近敵人。 unit.fortress.description = 發射é ç¨‹è¿«ç ²æ”»æ“Šåœ°é¢ç›®æ¨™ã€‚ unit.scepter.description = 發射大é‡çºŒèƒ½å­å½ˆæ‰“擊所有附近敵人。 @@ -1502,3 +2378,298 @@ unit.omura.description = å°æ•µäººç™¼å°„é ç¨‹ç©¿é€åž‹ç ²å½ˆã€‚建造曳光戰 unit.alpha.description = 抵禦敵è»å°æ ¸å¿ƒï¼šç¢Žç‰‡çš„æ”»æ“Šã€‚建造建築物。 unit.beta.description = 抵禦敵è»å°æ ¸å¿ƒï¼šåŸºåœ°çš„æ”»æ“Šã€‚建造建築物。 unit.gamma.description = 抵禦敵è»å°æ ¸å¿ƒï¼šæ ¸å­çš„æ”»æ“Šã€‚建造建築物。 +unit.retusa.description = å°å‘¨é­æ•µäººç™¼å°„è¿½è¹¤é­šé›·ã€‚ä¿®å¾©å‹æ–¹å–®ä½ã€‚ +unit.oxynoe.description = 射出帶回復建築的ç«ç„°ã€‚å…·å°åž‹æ–¹é™£ç‚®ã€‚ +unit.cyerce.description = 發射追蹤集æŸé£›å½ˆã€‚ä¿®å¾©å‹æ–¹å–®ä½ã€‚ +unit.aegires.description = 電擊所有在能é‡å ´å…§çš„æ•µæ–¹å–®ä½ã€å»ºç¯‰ã€‚ä¿®å¾©å‹æ–¹å–®ä½ã€‚ +unit.navanax.description = 發射電ç£è„ˆè¡ç ²å½ˆã€‚èƒ½å°æ•µæ–¹é›»åŠ›å»ºç¯‰é€ æˆå¤§é‡å‚·å®³ï¼Œä¸¦ä¿®å¾©å‹æ–¹å»ºç¯‰ã€‚å…·4åº§é›·å°„è‡ªå‹•ç ²å°æ”»æ“Šé™„近敵人。 + +#Erekir +unit.stell.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„標準å­å½ˆã€‚ +unit.locus.description = 呿•µæ–¹ç›®æ¨™äº¤æ›¿ç™¼å°„å­å½ˆã€‚ +unit.precept.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„ç©¿é€æ€§é›†æŸå­å½ˆã€‚ +unit.vanquish.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„大型穿é€åˆ†è£‚å­å½ˆã€‚ +unit.conquer.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„大型穿é€é€£çºŒå­å½ˆä¸²ã€‚ +unit.merui.description = 呿•µæ–¹åœ°é¢ç›®æ¨™ç™¼å°„é ç¨‹ç‚®å½ˆã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•¸åœ°å½¢ã€‚ +unit.cleroi.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„雙彈。使用點防禦炮塔瞄準敵方砲彈。å¯ä»¥è·¨è¶Šå¤§å¤šæ•¸åœ°å½¢ã€‚ +unit.anthicus.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„é ç¨‹å°Žå½ˆã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•¸åœ°å½¢ã€‚ +unit.tecta.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„導彈。通éŽå‰æ–¹è¬¢ç›¾ä¿è­·è‡ªå·±ã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•¸åœ°å½¢ã€‚ +unit.collaris.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„é ç¨‹ç ´ç‰‡ç‚®å½ˆã€‚å¯ä»¥è·¨è¶Šå¤§å¤šæ•¸åœ°å½¢ã€‚ +unit.elude.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„æˆå°çš„導彈。å¯ä»¥æ¼‚浮在液體上。 +unit.avert.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„螺旋狀å­å½ˆå°ã€‚ +unit.obviate.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„螺旋狀閃電çƒå°ã€‚ +unit.quell.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„é ç¨‹å°Žå½ˆã€‚抑制敵方建築修復方塊。 +unit.disrupt.description = 呿•µæ–¹ç›®æ¨™ç™¼å°„é ç¨‹å°Žå½ˆã€‚抑制敵方建築修復方塊。 +unit.evoke.description = 建造建築以ä¿è­·æ ¸å¿ƒï¼šç¢‰å ¡ã€‚用光æŸä¿®å¾©å»ºç¯‰ã€‚ +unit.incite.description = 建造建築以ä¿è­·æ ¸å¿ƒï¼šå£å£˜ã€‚用光æŸä¿®å¾©å»ºç¯‰ã€‚ +unit.emanate.description = 建造建築以ä¿è­·æ ¸å¿ƒï¼šè¡›åŸŽã€‚用光æŸä¿®å¾©å»ºç¯‰ã€‚ + +lst.read = [accent]讀å–[]記憶體中的一項數值 +lst.write = [accent]寫入[]一項數值到記憶體中 +lst.print = 將文字加入輸出的暫存中,æ­é…[accent]Print Flush[], [accent]Flush message[]使用 +lst.printchar = Add a UTF-16 character or content icon to the print buffer.\nDoes not display anything until [accent]Print Flush[] is used. +lst.format = Replace next placeholder in text buffer with a value.\nDoes not do anything if placeholder pattern is invalid.\nPlaceholder pattern: "{[accent]number 0-9[]}"\nExample:\n[accent]print "test {0}"\nformat "example" +lst.draw = 將圖形加入顯示的暫存中,æ­é…[accent]Draw Flush[]使用 +lst.drawflush = 將所有暫存的[accent]Draw[]指令推到顯示器上 +lst.printflush = 將所有暫存的[accent]Print[]æŒ‡ä»¤æŽ¨åˆ°è¨Šæ¯æ¿ä¸Š +lst.getlink = 由連接順åºå›žå‚³é€£æŽ¥çš„建築,第一個從"0"é–‹å§‹ +lst.control = 控制一個建築 +lst.radar = 嵿¸¬å»ºç¯‰ç¯„åœå…§çš„å–®ä½ +lst.sensor = ç²å–該建築或單ä½çš„æ•¸æ“š +lst.set = 設一個變數 +lst.operation = 加減乘除和數字ã€ä½å…ƒé‹ç®— +lst.end = 跳到第一個é‡é ­é–‹å§‹åŸ·è¡Œ +lst.wait = 等待特定秒數 +lst.stop = Halt execution of this processor. +lst.lookup = 以 ID æœå°‹ç‰©å“/液體/å–®ä½/方塊。\nå„種類的總數å¯ç”± \n[accent]@unitCount[] / [accent]@itemCount[] / [accent]@liquidCount[] / [accent]@blockCount[] 讀å–。 +lst.jump = æ¢ä»¶å¼è·³åˆ°å…¶ä»–指令執行 +lst.unitbind = ç¶å®šä¸‹ä¸€åŒç¨®å–®ä½ï¼Œå­˜å…¥[accent]@unit[]中. +lst.unitcontrol = 控制ç¾åœ¨ç¶å®šçš„å–®ä½ +lst.unitradar = 嵿¸¬ç¶å®šå–®ä½é™„è¿‘çš„å–®ä½ +lst.unitlocate = 尋找整個地圖上特定的ä½ç½®/建築\n需è¦ç¶å®šçš„å–®ä½ +lst.getblock = ç”±ä½ç½®å–方塊數據 +lst.setblock = ç”±ä½ç½®è¨­ç½®æ–¹å¡Šæ•¸æ“š +lst.spawnunit = 在æŸä¸€ä½ç½®ç”Ÿæˆå–®ä½ +lst.applystatus = çˆ²å–®ä½æ·»åŠ æˆ–ç§»é™¤ç‹€æ…‹æ•ˆæžœ +lst.weathersense = Check if a type of weather is active. +lst.weatherset = Set the current state of a type of weather. +lst.spawnwave = 在æŸä¸€ä½ç½®ç”Ÿæˆä¸€æ³¢æ•µäºº\nä¸è¨ˆå…¥æ³¢æ•¸ +lst.explosion = 在æŸä¸€ä½ç½®è£½é€ çˆ†ç‚¸ +lst.setrate = 以指令/æ¯æ™‚刻設置處ç†å™¨é€Ÿåº¦ +lst.fetch = 按索引查找單ä½ã€æ ¸å¿ƒã€çŽ©å®¶æˆ–å»ºç¯‰ç‰©\n索引從 0 é–‹å§‹ï¼Œä»¥è¿”å›žçš„è¨ˆæ•¸çµæŸ +lst.packcolor = å°‡ [0, 1] 範åœå…§çš„ RGBA 分é‡åˆçˆ²å–®å€‹æ•¸å­—,用於繪圖或設置è¦å‰‡ +lst.setrule = è¨­ç½®éŠæˆ²è¦å‰‡ +lst.flushmessage = 从文本緩存中讀å–並於å±å¹•ä¸Šé¡¯ç¤ºä¸€æ¢æ¶ˆæ¯\næœƒç­‰å¾…ä¸Šä¸€æ¢æ¶ˆæ¯çµæŸ +lst.cutscene = 控制玩家é¡é ­ +lst.setflag = 設置一個全局flag,å¯è¢«æ‰€æœ‰è™•ç†å™¨è®€å– +lst.getflag = 檢查æŸä¸€å…¨å±€flag是å¦å­˜åœ¨ +lst.setprop = Sets a property of a unit or building. +lst.effect = Create a particle effect. +lst.sync = Sync a variable across the network.\nOnly invoked 10 times a second at most. +lst.playsound = Plays a sound.\nVolume and pan can be a global value, or calculated based on position. +lst.makemarker = Create a new logic marker in the world.\nAn ID to identify this marker must be provided.\nMarkers currently limited to 20,000 per world. +lst.setmarker = Set a property for a marker.\nThe ID used must be the same as in the Make Marker instruction. +lst.localeprint = Add map locale property value to the text buffer.\nTo set map locale bundles in map editor, check [accent]Map Info > Locale Bundles[].\nIf client is a mobile device, tries to print a property ending in ".mobile" first. +lglobal.false = 0 +lglobal.true = 1 +lglobal.null = null +lglobal.@pi = The mathematical constant pi (3.141...) +lglobal.@e = The mathematical constant e (2.718...) +lglobal.@degToRad = Multiply by this number to convert degrees to radians +lglobal.@radToDeg = Multiply by this number to convert radians to degrees +lglobal.@time = Playtime of current save, in milliseconds +lglobal.@tick = Playtime of current save, in ticks (1 second = 60 ticks) +lglobal.@second = Playtime of current save, in seconds +lglobal.@minute = Playtime of current save, in minutes +lglobal.@waveNumber = Current wave number, if waves are enabled +lglobal.@waveTime = Countdown timer for waves, in seconds +lglobal.@mapw = Map width in tiles +lglobal.@maph = Map height in tiles +lglobal.sectionMap = Map +lglobal.sectionGeneral = General +lglobal.sectionNetwork = Network/Clientside [World Processor Only] +lglobal.sectionProcessor = Processor +lglobal.sectionLookup = Lookup +lglobal.@this = The logic block executing the code +lglobal.@thisx = X coordinate of block executing the code +lglobal.@thisy = Y coordinate of block executing the code +lglobal.@links = Total number of blocks linked to this processors +lglobal.@ipt = Execution speed of the processor in instructions per tick (60 ticks = 1 second) +lglobal.@unitCount = Total number of types of unit content in the game; used with the lookup instruction +lglobal.@blockCount = Total number of types of block content in the game; used with the lookup instruction +lglobal.@itemCount = Total number of types of item content in the game; used with the lookup instruction +lglobal.@liquidCount = Total number of types of liquid content in the game; used with the lookup instruction +lglobal.@server = True if the code is running on a server or in singleplayer, false otherwise +lglobal.@client = True if the code is running on a client connected to a server +lglobal.@clientLocale = Locale of the client running the code. For example: en_US +lglobal.@clientUnit = Unit of client running the code +lglobal.@clientName = Player name of client running the code +lglobal.@clientTeam = Team ID of client running the code +lglobal.@clientMobile = True is the client running the code is on mobile, false otherwise + +logic.nounitbuild = [red]å–®ä½å»ºé€ é‚è¼¯å·²è¢«ç¦æ­¢ã€‚ + +lenum.type = 建築/å–®ä½ç¨®é¡žã€‚\nä¾‹ï¼šæ“æŽ§å–®ä½å»ºé€ å…‰çŸ›ç ²æ‡‰ä½¿ç”¨[accent]@lancer[],而éžå­—串 +lenum.shoot = å°è©²ä½ç½®é–‹ç« +lenum.shootp = å°æŒ‡å®šå–®ä½/建築開ç«ï¼Œå…·è‡ªçž„功能 +lenum.config = 建築設置,例如分類器篩选的物å“種類 +lenum.enabled = 確èªè©²å»ºç¯‰æ˜¯å¦å•Ÿç”¨ +laccess.currentammotype = Current ammo item/liquid of a turret. + +laccess.color = 照明燈é¡è‰² +laccess.controller = å–®ä½çš„æŽ§åˆ¶è€…。å—處ç†å™¨æŽ§åˆ¶æ™‚回傳處ç†å™¨ã€‚\n在隊形中回傳領導的單ä½ã€‚\nå¦å‰‡å›žå‚³å–®ä½è‡ªå·±ã€‚ +laccess.dead = 單使ˆ–建築是å¦å·²æ­»äº¡æˆ–ä¸å­˜åœ¨ã€‚ +laccess.controlled = 將回傳:\n處ç†å™¨æŽ§åˆ¶ï¼š[accent]@ctrlProcessor[]\n玩家控制:[accent]@ctrlPlayer[]\n在隊形中:[accent]@ctrlFormation[]\n其他:[accent]0[]。 +laccess.progress = 建造ã€ç”Ÿç”¢é€²åº¦ã€‚以 0 到 1 表示。以åŠç ²å°è£å¡«ã€‚ +laccess.speed = 單使œ€å¿«é€Ÿåº¦(æ ¼å­/ç§’) +laccess.id = ID of a unit/block/item/liquid.\nThis is the inverse of the lookup operation. + +lcategory.unknown = 未知 +lcategory.unknown.description = Uncategorized instructions. +lcategory.io = 輸入和輸出 +lcategory.io.description = 修改記憶體與處ç†å™¨å¿«å–。 +lcategory.block = 方塊控制 +lcategory.block.description = 與方塊互動。 +lcategory.operation = æ“作 +lcategory.operation.description = é‚輯æ“作。 +lcategory.control = æµç¨‹æŽ§åˆ¶ +lcategory.control.description = 控制指令埶行的順åºã€‚ +lcategory.unit = å–®ä½æŽ§åˆ¶ +lcategory.unit.description = çµ¦äºˆå–®ä½æŒ‡ä»¤ã€‚ +lcategory.world = 世界 +lcategory.world.description = 控制世界的行為 + +graphicstype.clear = é‡è£½ç‰ˆé¢ç‚ºæŒ‡å®šé¡è‰² +graphicstype.color = 為後續所有圖畫指令設定é¡è‰² +graphicstype.col = æ•´åˆå¾Œçš„色彩信æ¯\n以å六進制 [accent]%[] é–‹é ­\n例如: 紅色爲 [accent]%ff0000[] +graphicstype.stroke = 為後續所有圖畫指令設定直線寬度 +graphicstype.line = 畫一直線 +graphicstype.rect = 畫實心長方形 +graphicstype.linerect = 畫空心長方形 +graphicstype.poly = 畫實心正多邊形 +graphicstype.linepoly = 畫空心正多邊形 +graphicstype.triangle = 畫實心三角形 +graphicstype.image = 繪製內建圖畫\n如: [accent]@router[]或[accent]@dagger[]. +graphicstype.print = Draws text from the print buffer.\nClears the print buffer. + +lenum.always = æ°¸é  true (直接跳). +lenum.idiv = 整數除法,無æ¢ä»¶æ¨åŽ». +lenum.div = 除法.\n除以零時回傳 [accent]null[] +lenum.mod = Modulo,求餘數 +lenum.equal = 是å¦ç›¸ç­‰ï¼Œä¸ç®¡è³‡æ–™åž‹æ…‹ã€‚\néžnull 物件和數值相比時回傳1 +lenum.notequal = 是å¦ä¸ç›¸ç­‰ï¼Œä¸ç®¡è³‡æ–™åž‹æ…‹. +lenum.strictequal = 嚴格檢查是å¦ç›¸ç­‰ï¼Œæœƒæ¯”照資料型態。\nå¯ç”¨ä¾†æª¢æŸ¥[accent]null[] +lenum.shl = 左移nä½å…ƒ +lenum.shr = å³ç§»nä½å…ƒ +lenum.or = ä½å…ƒ OR +lenum.land = é‚輯 AND +lenum.and = ä½å…ƒ AND +lenum.not = ä½å…ƒ NOT +lenum.xor = ä½å…ƒ XOR + +lenum.min = 兩數å–å° +lenum.max = 兩數å–大 +lenum.angle = å‘é‡èˆ‡X軸夾角 +lenum.anglediff = Absolute distance between two angles in degrees. +lenum.len = å‘é‡é•·åº¦ + +lenum.sin = 度數sin值 +lenum.cos = 度數cos值 +lenum.tan = 度數tan值 + +lenum.asin = Arc sin,輸出度數 +lenum.acos = Arc cos,輸出度數 +lenum.atan = Arc tan,輸出度數 + +#not a typo, look up 'range notation' +lenum.rand = 產生隨機數值: [0, 值) +lenum.log = è‡ªç„¶å°æ•¸(lnã€log_e) +lenum.log10 = log_10 +lenum.noise = äºŒç¶­å–®å½¢å™ªè² +lenum.abs = å–絕å°å€¼ +lenum.sqrt = 開根號 + +lenum.any = ä»»ä½•å–®ä½ +lenum.ally = 勿–¹å–®ä½ +lenum.attacker = å…·æ­¦å™¨çš„å–®ä½ +lenum.enemy = æ•µæ–¹å–®ä½ +lenum.boss = é ­ç›®å–®ä½ +lenum.flying = é£›è¡Œå–®ä½ +lenum.ground = é™¸ä¸Šå–®ä½ +lenum.player = çŽ©å®¶å–®ä½ + +lenum.ore = 尋找礦物 +lenum.damaged = å°‹æ‰¾å—æå‹æ–¹å»ºç¯‰ +lenum.spawn = 敵方é‡ç”Ÿé»ž\nå¯ä»¥æ˜¯æ ¸å¿ƒæˆ–一個ä½ç½® +lenum.building = 尋找特定建築 + +lenum.core = 任何核心 +lenum.storage = 儲è—建築 +lenum.generator = 會發電的建築 +lenum.factory = 生產加工資æºçš„建築,如煉矽場 +lenum.repair = 維修點 +lenum.battery = 電池 +lenum.resupply = 補給點\nåªæœ‰åœ¨[accent]"å–®ä½éœ€è¦å½ˆè—¥"[]è¢«å•Ÿç”¨æ™‚æ‰æœ‰æ•ˆæžœ +lenum.reactor = è¡æ“Š/釷忇‰çˆ +lenum.turret = 任何砲塔 + +sensor.in = 想查閱的建築/å–®ä½ + +radar.from = 作為雷é”的建築\n嵿¸¬ç¯„åœåŒè©²å»ºç¯‰çš„ç¯„åœ +radar.target = æœç´¢æ¢ä»¶ +radar.and = é¡å¤–æ¢ä»¶ +radar.order = 輸出順åºï¼Œ1:è·é›¢æœ€è¿‘ã€è¡€é‡æœ€å¤§ +radar.sort = ç¯©é¸æ–¹å¼ +radar.output = 回傳該單ä½ç‚ºè®Šæ•¸ + +unitradar.target = æœç´¢æ¢ä»¶ +unitradar.and = é¡å¤–æ¢ä»¶ +unitradar.order = 輸出順åºï¼Œ1:è·é›¢æœ€è¿‘ã€è¡€é‡æœ€å¤§ +unitradar.sort = ç¯©é¸æ–¹å¼ +unitradar.output = 存該單ä½çš„變數 + +control.of = è¦æŽ§åˆ¶çš„å»ºç¯‰ +control.unit = 指定的建築/å–®ä½ +control.shoot = 是å¦é–‹ç« + +unitlocate.enemy = æœç´¢æ•µæ–¹æˆ–勿–¹å»ºç¯‰ +unitlocate.found = å›žå‚³æ˜¯å¦æ‰¾åˆ°å»ºç¯‰ +unitlocate.building = 回傳找到的建築為變數 +unitlocate.outx = 回傳 X 座標 +unitlocate.outy = 回傳 Y 座標 +unitlocate.group = æœç´¢å»ºç¯‰ç¨®é¡ž +playsound.limit = If true, prevents this sound from playing\nif it has already been played in the same frame. + +lenum.idle = é è¨­AI +lenum.stop = åœæ­¢ +lenum.unbind = 完全åœç”¨é‚輯控制\næ¢å¾©çˆ²åŽŸå§‹AI +lenum.move = 移動到指定ä½ç½® +lenum.approach = 移動到è·é›¢æŒ‡å®šä½ç½®ä¸€æ®µè·é›¢çš„地方 +lenum.pathfind = 由內建AIå‰å¾€æ•µæ–¹é‡ç”Ÿé»ž +lenum.autopathfind = Automatically pathfinds to the nearest enemy core or drop point.\nThis is the same as standard wave enemy pathfinding. +lenum.target = 射擊指定å€åŸŸ +lenum.targetp = 帶自瞄射擊指定的目標 +lenum.itemdrop = æ”¾ä¸‹ç‰©å“ +lenum.itemtake = 從建築拿å–ç‰©å“ +lenum.paydrop = 放下拾å–的負載 +lenum.paytake = 拾å–船身下方的單ä½/建築 +lenum.payenter = 進入/é™è½åˆ°è¼‰é‡æ–¹å¡Š +lenum.flag = å–®ä½ç·¨è™Ÿ(å¯ç•°) +lenum.mine = 挖指定ä½ç½®çš„礦物 +lenum.build = 建造一個建築 +lenum.getblock = Fetch building, floor and block type at coordinates.\nUnit must be in range of the position, otherwise null is returned. +lenum.within = 單使˜¯å¦åœ¨æŒ‡å®šç¯„åœå…§ +lenum.boost = 使用推進器 +lenum.flushtext = Flush print buffer's content to marker, if applicable.\nIf fetch is set to true, tries to fetch properties from map locale bundle or game's bundle. +lenum.texture = Texture name straight from game's texture atlas (using kebab-case naming style).\nIf printFlush is set to true, consumes text buffer content as text argument. +lenum.texturesize = Size of texture in tiles. Zero value scales marker width to original texture's size. +lenum.autoscale = Whether to scale marker corresponding to player's zoom level. +lenum.posi = Indexed position, used for line and quad markers with index zero being the first position. +lenum.uvi = Texture's position ranging from zero to one, used for quad markers. +lenum.colori = Indexed position, used for line and quad markers with index zero being the first color. +lenum.wavetimer = Whether the waves come automatically on a timer. If not, waves come when the play button is pressed. +lenum.wave = Current wave number. Can be anything in non-wave modes. +lenum.currentwavetime = Wave countdown in ticks. +lenum.waves = Whether waves are spawnable at all. +lenum.wavesending = Whether the waves can be manually summoned with the play button. +lenum.attackmode = Determines if gamemode is attack mode. +lenum.wavespacing = Time between waves in ticks. +lenum.enemycorebuildradius = No-build zone around enemy core radius. +lenum.dropzoneradius = Radius around enemy wave drop zones. +lenum.unitcap = Base unit cap. Can still be increased by blocks. +lenum.lighting = Whether ambient lighting is enabled. +lenum.buildspeed = Multiplier for building speed. +lenum.unithealth = How much health units start with. +lenum.unitbuildspeed = How fast unit factories build units. +lenum.unitcost = Multiplier of resources that units take to build. +lenum.unitdamage = How much damage units deal. +lenum.blockhealth = How much health blocks start with. +lenum.blockdamage = How much damage blocks (turrets) deal. +lenum.rtsminweight = Minimum "advantage" needed for a squad to attack. Higher -> more cautious. +lenum.rtsminsquad = Minimum size of attack squads. +lenum.maparea = Playable map area. Anything outside the area will not be interactable. +lenum.ambientlight = Ambient light color. Used when lighting is enabled. +lenum.solarmultiplier = Multiplies power output of solar panels. +lenum.dragmultiplier = Environment drag multiplier. +lenum.ban = Blocks or units that cannot be placed or built. +lenum.unban = Unban a unit or block. diff --git a/core/assets/contributors b/core/assets/contributors index 59f40b3ef2..08655bb08c 100644 --- a/core/assets/contributors +++ b/core/assets/contributors @@ -5,6 +5,7 @@ Timmeey86 Epowerj Baltazár Radics Dexapnow +Somka Milinai 키ì—르 skybldev @@ -27,8 +28,9 @@ William So beito BeefEX Lorex -è€æ»‘稽 +è€æ»‘稽/酪桦姬 Spico The Spirit Guy +RTOmega TunacanGamer kemalinanc13 Zachary @@ -39,6 +41,7 @@ Carter Gale Jan Polák JustYanns BasedUser +Rex Aliis BLucky-gh DinoWattz Jae @@ -91,7 +94,7 @@ DeltaNedas GioIacca9 SnakkiZXZ sk7725 -The Slaylord +Slotterleet ThePlayerA YellOw139 NgLamVN @@ -104,12 +107,69 @@ jalastram (freesound.org) newlocknew (freesound.org) dsmolenaers (freesound.org) Headphaze (freesound.org) +Michel Baradari (opengameart.org) +Michael Klier (opengameart.org) +Neoqueto (Darktech LDR Font) Nikolass VolasYouKnow Quick-Korx -Ãngel Rodríguez Aguilera +Angel-24 Catchears younggam simba-fs RedRadiation Marko Zajc +PCX-LK (CPX MC) +Phinner +BTA_Susideur +nilq +AsgerHB +AzCraft +foo +Skat +WilloIzCitron +SAMBUYYA +genNAowl +JniTrRny +TranquillyUnpleasant +Darkness6030 +hortiSquash +King-BR +citrusMarmelade +Evolveye +Jerzy Paciorkiewicz +YozoZChomutova +Qendolin +Goobrr +xem8k5å°æ¶é­” +BlueWolf +[Error_27] +code-explorer786 +Alex25820 +KayAyeAre +SMOLKEYS +1stvaliduser(SUS) +GlennFolker +BlackDeluxeCat +zenonet +AyuKo-o +JojoFR1 +Xasmedy +xStaBUx +WayZer +SITUVNgcd +Gabriel "red" Fondato +CoCo Snow +summoner +OpalSoPL +apollovy +BalaM314 +Redstonneur1256 +ApsZoldat +Mythril +hexagon-recursion +JasonP01 +BlueTheCube +sasha0552 +1ue999 +6-BennyLi-9 diff --git a/core/assets/cubemaps/stars/back.png b/core/assets/cubemaps/stars/back.png index 05f3375811..b0f9074a31 100644 Binary files a/core/assets/cubemaps/stars/back.png and b/core/assets/cubemaps/stars/back.png differ diff --git a/core/assets/cubemaps/stars/bottom.png b/core/assets/cubemaps/stars/bottom.png index bfcded64e3..089cefc75e 100644 Binary files a/core/assets/cubemaps/stars/bottom.png and b/core/assets/cubemaps/stars/bottom.png differ diff --git a/core/assets/cubemaps/stars/front.png b/core/assets/cubemaps/stars/front.png index 8e9dbcd437..7916c07721 100644 Binary files a/core/assets/cubemaps/stars/front.png and b/core/assets/cubemaps/stars/front.png differ diff --git a/core/assets/cubemaps/stars/left.png b/core/assets/cubemaps/stars/left.png index f99a70ab1b..f1ddf1b770 100644 Binary files a/core/assets/cubemaps/stars/left.png and b/core/assets/cubemaps/stars/left.png differ diff --git a/core/assets/cubemaps/stars/right.png b/core/assets/cubemaps/stars/right.png index f1c6f5c807..87f4c3c20f 100644 Binary files a/core/assets/cubemaps/stars/right.png and b/core/assets/cubemaps/stars/right.png differ diff --git a/core/assets/cubemaps/stars/top.png b/core/assets/cubemaps/stars/top.png index 078e1a3d3f..6cc55de5b2 100644 Binary files a/core/assets/cubemaps/stars/top.png and b/core/assets/cubemaps/stars/top.png differ diff --git a/core/assets/cursors/repair.png b/core/assets/cursors/repair.png new file mode 100644 index 0000000000..0604903f1d Binary files /dev/null and b/core/assets/cursors/repair.png differ diff --git a/core/assets/cursors/target.png b/core/assets/cursors/target.png new file mode 100644 index 0000000000..1b5d8d519d Binary files /dev/null and b/core/assets/cursors/target.png differ diff --git a/core/assets/fonts/font.woff b/core/assets/fonts/font.woff index c031c478de..92cf31f69a 100644 Binary files a/core/assets/fonts/font.woff and b/core/assets/fonts/font.woff differ diff --git a/core/assets/fonts/icon.ttf b/core/assets/fonts/icon.ttf index badd3e3b66..9359cde43a 100644 Binary files a/core/assets/fonts/icon.ttf and b/core/assets/fonts/icon.ttf differ diff --git a/core/assets/fonts/logic.ttf b/core/assets/fonts/logic.ttf new file mode 100644 index 0000000000..0270cdfe3c Binary files /dev/null and b/core/assets/fonts/logic.ttf differ diff --git a/core/assets/icons/icons.properties b/core/assets/icons/icons.properties index 008fb1289a..5c3bcdf0de 100755 --- a/core/assets/icons/icons.properties +++ b/core/assets/icons/icons.properties @@ -1,320 +1,599 @@ -63743=spawn|block-spawn-medium -63742=deepwater|block-deepwater-medium -63741=water|block-water-medium -63740=tainted-water|block-tainted-water-medium -63739=darksand-tainted-water|block-darksand-tainted-water-medium -63738=sand-water|block-sand-water-medium -63737=darksand-water|block-darksand-water-medium -63736=tar|block-tar-medium -63735=stone|block-stone-medium -63734=craters|block-craters-medium -63733=char|block-char-medium -63732=ignarock|block-ignarock-medium -63731=hotrock|block-hotrock-medium -63730=magmarock|block-magmarock-medium -63729=sand|block-sand-medium -63728=darksand|block-darksand-medium -63727=holostone|block-holostone-medium -63726=grass|block-grass-medium -63725=salt|block-salt-medium -63724=snow|block-snow-medium -63723=ice|block-ice-medium -63722=ice-snow|block-ice-snow-medium -63721=cliffs|block-cliffs-medium -63718=rock|block-rock-medium -63717=snowrock|block-snowrock-medium -63711=spore-pine|block-spore-pine-medium -63710=snow-pine|block-snow-pine-medium -63709=pine|block-pine-medium -63708=shrubs|block-shrubs-medium -63707=white-tree-dead|block-white-tree-dead-medium -63706=white-tree|block-white-tree-medium -63705=spore-cluster|block-spore-cluster-medium -63704=shale|block-shale-medium -63702=shale-boulder|block-shale-boulder-medium -63701=sand-boulder|block-sand-boulder-medium -63700=moss|block-moss-medium -63699=spore-moss|block-spore-moss-medium -63698=metal-floor|block-metal-floor-medium -63697=metal-floor-damaged|block-metal-floor-damaged-medium -63696=metal-floor-2|block-metal-floor-2-medium -63695=metal-floor-3|block-metal-floor-3-medium -63694=metal-floor-5|block-metal-floor-5-medium -63693=dark-panel-1|block-dark-panel-1-medium -63692=dark-panel-2|block-dark-panel-2-medium -63691=dark-panel-3|block-dark-panel-3-medium -63690=dark-panel-4|block-dark-panel-4-medium -63689=dark-panel-5|block-dark-panel-5-medium -63688=dark-panel-6|block-dark-panel-6-medium -63687=dark-metal|block-dark-metal-medium -63686=pebbles|block-pebbles-medium -63685=tendrils|block-tendrils-medium -63684=ore-copper|block-ore-copper-medium -63683=ore-lead|block-ore-lead-medium -63682=ore-scrap|block-ore-scrap-medium -63681=ore-coal|block-ore-coal-medium -63680=ore-titanium|block-ore-titanium-medium -63679=ore-thorium|block-ore-thorium-medium -63678=graphite-press|block-graphite-press-medium -63677=multi-press|block-multi-press-medium -63676=silicon-smelter|block-silicon-smelter-medium -63675=kiln|block-kiln-medium -63674=plastanium-compressor|block-plastanium-compressor-medium -63673=phase-weaver|block-phase-weaver-medium -63672=alloy-smelter|block-alloy-smelter-medium -63671=cryofluid-mixer|block-cryofluid-mixer-medium -63670=blast-mixer|block-blast-mixer-medium -63669=pyratite-mixer|block-pyratite-mixer-medium -63668=melter|block-melter-medium -63667=separator|block-separator-medium -63666=spore-press|block-spore-press-medium -63665=pulverizer|block-pulverizer-medium -63664=coal-centrifuge|block-coal-centrifuge-medium -63663=incinerator|block-incinerator-medium -63662=copper-wall|block-copper-wall-medium -63661=copper-wall-large|block-copper-wall-large-medium -63660=titanium-wall|block-titanium-wall-medium -63659=titanium-wall-large|block-titanium-wall-large-medium -63658=plastanium-wall|block-plastanium-wall-medium -63657=plastanium-wall-large|block-plastanium-wall-large-medium -63656=thorium-wall|block-thorium-wall-medium -63655=thorium-wall-large|block-thorium-wall-large-medium -63654=phase-wall|block-phase-wall-medium -63653=phase-wall-large|block-phase-wall-large-medium -63652=surge-wall|block-surge-wall-medium -63651=surge-wall-large|block-surge-wall-large-medium -63650=door|block-door-medium -63649=door-large|block-door-large-medium -63648=scrap-wall|block-scrap-wall-medium -63647=scrap-wall-large|block-scrap-wall-large-medium -63646=scrap-wall-huge|block-scrap-wall-huge-medium -63645=scrap-wall-gigantic|block-scrap-wall-gigantic-medium -63644=thruster|block-thruster-medium -63643=mender|block-mender-medium -63642=mend-projector|block-mend-projector-medium -63641=overdrive-projector|block-overdrive-projector-medium -63640=force-projector|block-force-projector-medium -63639=shock-mine|block-shock-mine-medium -63638=conveyor|block-conveyor-medium -63637=titanium-conveyor|block-titanium-conveyor-medium -63636=armored-conveyor|block-armored-conveyor-medium -63635=junction|block-junction-medium -63634=bridge-conveyor|block-bridge-conveyor-medium -63633=phase-conveyor|block-phase-conveyor-medium -63632=sorter|block-sorter-medium -63631=inverted-sorter|block-inverted-sorter-medium -63630=router|block-router-medium -63629=distributor|block-distributor-medium -63628=overflow-gate|block-overflow-gate-medium -63627=mass-driver|block-mass-driver-medium -63626=mechanical-pump|block-mechanical-pump-medium -63625=rotary-pump|block-rotary-pump-medium -63624=thermal-pump|block-thermal-pump-medium -63623=conduit|block-conduit-medium -63622=pulse-conduit|block-pulse-conduit-medium -63621=plated-conduit|block-plated-conduit-medium -63620=liquid-router|block-liquid-router-medium -63619=liquid-tank|block-liquid-tank-medium -63618=liquid-junction|block-liquid-junction-medium -63617=bridge-conduit|block-bridge-conduit-medium -63616=phase-conduit|block-phase-conduit-medium -63615=power-node|block-power-node-medium -63614=power-node-large|block-power-node-large-medium -63613=surge-tower|block-surge-tower-medium -63612=diode|block-diode-medium -63611=battery|block-battery-medium -63610=battery-large|block-battery-large-medium -63609=combustion-generator|block-combustion-generator-medium -63608=thermal-generator|block-thermal-generator-medium -63607=steam-generator|block-steam-generator-medium -63606=differential-generator|block-differential-generator-medium -63605=rtg-generator|block-rtg-generator-medium -63604=solar-panel|block-solar-panel-medium -63603=solar-panel-large|block-solar-panel-large-medium -63602=thorium-reactor|block-thorium-reactor-medium -63601=impact-reactor|block-impact-reactor-medium -63600=mechanical-drill|block-mechanical-drill-medium -63599=pneumatic-drill|block-pneumatic-drill-medium -63598=laser-drill|block-laser-drill-medium -63597=blast-drill|block-blast-drill-medium -63596=water-extractor|block-water-extractor-medium -63595=cultivator|block-cultivator-medium -63594=oil-extractor|block-oil-extractor-medium -63593=core-shard|block-core-shard-medium -63592=core-foundation|block-core-foundation-medium -63591=core-nucleus|block-core-nucleus-medium -63590=vault|block-vault-medium -63589=container|block-container-medium -63588=unloader|block-unloader-medium -63587=launch-pad|block-launch-pad-medium -63586=launch-pad-large|block-launch-pad-large-medium -63585=duo|block-duo-medium -63584=scatter|block-scatter-medium -63583=scorch|block-scorch-medium -63582=hail|block-hail-medium -63581=wave|block-wave-medium -63580=lancer|block-lancer-medium -63579=arc|block-arc-medium -63578=swarmer|block-swarmer-medium -63577=salvo|block-salvo-medium -63576=fuse|block-fuse-medium -63575=ripple|block-ripple-medium -63574=cyclone|block-cyclone-medium -63573=spectre|block-spectre-medium -63572=meltdown|block-meltdown-medium -63571=draug-factory|block-draug-factory-medium -63570=spirit-factory|block-spirit-factory-medium -63569=phantom-factory|block-phantom-factory-medium -63568=command-center|block-command-center-medium -63567=wraith-factory|block-wraith-factory-medium -63566=ghoul-factory|block-ghoul-factory-medium -63565=revenant-factory|block-revenant-factory-medium -63564=dagger-factory|block-dagger-factory-medium -63563=crawler-factory|block-crawler-factory-medium -63562=titan-factory|block-titan-factory-medium -63561=fortress-factory|block-fortress-factory-medium -63560=repair-point|block-repair-point-medium -63559=dart-mech-pad|block-dart-mech-pad-medium -63558=delta-mech-pad|block-delta-mech-pad-medium -63557=tau-mech-pad|block-tau-mech-pad-medium -63556=omega-mech-pad|block-omega-mech-pad-medium -63555=javelin-ship-pad|block-javelin-ship-pad-medium -63554=trident-ship-pad|block-trident-ship-pad-medium -63553=glaive-ship-pad|block-glaive-ship-pad-medium -63552=power-source|block-power-source-medium -63551=power-void|block-power-void-medium -63550=item-source|block-item-source-medium -63549=item-void|block-item-void-medium -63548=liquid-source|block-liquid-source-medium -63547=liquid-void|block-liquid-void-medium -63546=message|block-message-medium -63545=illuminator|block-illuminator-medium -63544=copper|item-copper-icon -63543=lead|item-lead-icon -63542=metaglass|item-metaglass-icon -63541=graphite|item-graphite-icon -63540=sand|item-sand-icon -63539=coal|item-coal-icon -63538=titanium|item-titanium-icon -63537=thorium|item-thorium-icon -63536=scrap|item-scrap-icon -63535=silicon|item-silicon-icon -63534=plastanium|item-plastanium-icon -63533=phase-fabric|item-phase-fabric-icon -63532=surge-alloy|item-surge-alloy-icon -63531=spore-pod|item-spore-pod-icon -63530=blast-compound|item-blast-compound-icon -63529=pyratite|item-pyratite-icon -63528=water|liquid-water-icon -63527=slag|liquid-slag-icon -63526=oil|liquid-oil-icon -63525=cryofluid|liquid-cryofluid-icon -63524=underflow-gate|block-underflow-gate-medium -63523=dart-ship-pad|block-dart-ship-pad-medium -63522=alpha-mech-pad|block-alpha-mech-pad-medium -63521=cliff|block-cliff-medium -63520=legacy-mech-pad|block-legacy-mech-pad-medium -63519=ground-factory|block-ground-factory-medium -63518=legacy-unit-factory|block-legacy-unit-factory-medium -63517=mass-conveyor|block-mass-conveyor-medium -63516=legacy-command-center|block-legacy-command-center-medium -63515=block-forge|block-block-forge-medium -63514=block-launcher|block-block-launcher-medium -63513=plastanium-conveyor|block-plastanium-conveyor-medium +63743=spawn|block-spawn-ui +63742=deepwater|block-deepwater-ui +63741=shallow-water|block-shallow-water-ui +63740=tainted-water|block-tainted-water-ui +63739=darksand-tainted-water|block-darksand-tainted-water-ui +63738=sand-water|block-sand-water-ui +63737=darksand-water|block-darksand-water-ui +63736=tar|block-tar-ui +63735=stone|block-stone-ui +63734=craters|block-craters-ui +63733=char|block-char-ui +63732=ignarock|block-ignarock-ui +63731=hotrock|block-hotrock-ui +63730=magmarock|block-magmarock-ui +63729=sand|block-sand-ui +63728=darksand|block-darksand-ui +63726=grass|block-grass-ui +63725=salt|block-salt-ui +63724=snow|block-snow-ui +63723=ice|block-ice-ui +63722=ice-snow|block-ice-snow-ui +63721=cliffs|block-cliffs-ui +63718=rock|block-rock-ui +63717=snowrock|block-snowrock-ui +63711=spore-pine|block-spore-pine-ui +63710=snow-pine|block-snow-pine-ui +63709=pine|block-pine-ui +63708=shrubs|block-shrubs-ui +63707=white-tree-dead|block-white-tree-dead-ui +63706=white-tree|block-white-tree-ui +63705=spore-cluster|block-spore-cluster-ui +63704=shale|block-shale-ui +63702=shale-boulder|block-shale-boulder-ui +63701=sand-boulder|block-sand-boulder-ui +63700=moss|block-moss-ui +63699=spore-moss|block-spore-moss-ui +63698=metal-floor|block-metal-floor-ui +63697=metal-floor-damaged|block-metal-floor-damaged-ui +63696=metal-floor-2|block-metal-floor-2-ui +63695=metal-floor-3|block-metal-floor-3-ui +63694=metal-floor-5|block-metal-floor-5-ui +63693=dark-panel-1|block-dark-panel-1-ui +63692=dark-panel-2|block-dark-panel-2-ui +63691=dark-panel-3|block-dark-panel-3-ui +63690=dark-panel-4|block-dark-panel-4-ui +63689=dark-panel-5|block-dark-panel-5-ui +63688=dark-panel-6|block-dark-panel-6-ui +63687=dark-metal|block-dark-metal-ui +63686=pebbles|block-pebbles-ui +63685=tendrils|block-tendrils-ui +63684=ore-copper|block-ore-copper-ui +63683=ore-lead|block-ore-lead-ui +63682=ore-scrap|block-ore-scrap-ui +63681=ore-coal|block-ore-coal-ui +63680=ore-titanium|block-ore-titanium-ui +63679=ore-thorium|block-ore-thorium-ui +63678=graphite-press|block-graphite-press-ui +63677=multi-press|block-multi-press-ui +63676=silicon-smelter|block-silicon-smelter-ui +63675=kiln|block-kiln-ui +63674=plastanium-compressor|block-plastanium-compressor-ui +63673=phase-weaver|block-phase-weaver-ui +63672=surge-smelter|block-surge-smelter-ui +63671=cryofluid-mixer|block-cryofluid-mixer-ui +63670=blast-mixer|block-blast-mixer-ui +63669=pyratite-mixer|block-pyratite-mixer-ui +63668=melter|block-melter-ui +63667=separator|block-separator-ui +63666=spore-press|block-spore-press-ui +63665=pulverizer|block-pulverizer-ui +63664=coal-centrifuge|block-coal-centrifuge-ui +63663=incinerator|block-incinerator-ui +63662=copper-wall|block-copper-wall-ui +63661=copper-wall-large|block-copper-wall-large-ui +63660=titanium-wall|block-titanium-wall-ui +63659=titanium-wall-large|block-titanium-wall-large-ui +63658=plastanium-wall|block-plastanium-wall-ui +63657=plastanium-wall-large|block-plastanium-wall-large-ui +63656=thorium-wall|block-thorium-wall-ui +63655=thorium-wall-large|block-thorium-wall-large-ui +63654=phase-wall|block-phase-wall-ui +63653=phase-wall-large|block-phase-wall-large-ui +63652=surge-wall|block-surge-wall-ui +63651=surge-wall-large|block-surge-wall-large-ui +63650=door|block-door-ui +63649=door-large|block-door-large-ui +63648=scrap-wall|block-scrap-wall-ui +63647=scrap-wall-large|block-scrap-wall-large-ui +63646=scrap-wall-huge|block-scrap-wall-huge-ui +63645=scrap-wall-gigantic|block-scrap-wall-gigantic-ui +63644=thruster|block-thruster-ui +63643=mender|block-mender-ui +63642=mend-projector|block-mend-projector-ui +63641=overdrive-projector|block-overdrive-projector-ui +63640=force-projector|block-force-projector-ui +63639=shock-mine|block-shock-mine-ui +63638=conveyor|block-conveyor-ui +63637=titanium-conveyor|block-titanium-conveyor-ui +63636=armored-conveyor|block-armored-conveyor-ui +63635=junction|block-junction-ui +63634=bridge-conveyor|block-bridge-conveyor-ui +63633=phase-conveyor|block-phase-conveyor-ui +63632=sorter|block-sorter-ui +63631=inverted-sorter|block-inverted-sorter-ui +63630=router|block-router-ui +63629=distributor|block-distributor-ui +63628=overflow-gate|block-overflow-gate-ui +63627=mass-driver|block-mass-driver-ui +63626=mechanical-pump|block-mechanical-pump-ui +63625=rotary-pump|block-rotary-pump-ui +63624=impulse-pump|block-impulse-pump-ui +63623=conduit|block-conduit-ui +63622=pulse-conduit|block-pulse-conduit-ui +63621=plated-conduit|block-plated-conduit-ui +63620=liquid-router|block-liquid-router-ui +63619=liquid-tank|block-liquid-tank-ui +63618=liquid-junction|block-liquid-junction-ui +63617=bridge-conduit|block-bridge-conduit-ui +63616=phase-conduit|block-phase-conduit-ui +63615=power-node|block-power-node-ui +63614=power-node-large|block-power-node-large-ui +63613=surge-tower|block-surge-tower-ui +63612=diode|block-diode-ui +63611=battery|block-battery-ui +63610=battery-large|block-battery-large-ui +63609=combustion-generator|block-combustion-generator-ui +63608=thermal-generator|block-thermal-generator-ui +63607=steam-generator|block-steam-generator-ui +63606=differential-generator|block-differential-generator-ui +63605=rtg-generator|block-rtg-generator-ui +63604=solar-panel|block-solar-panel-ui +63603=solar-panel-large|block-solar-panel-large-ui +63602=thorium-reactor|block-thorium-reactor-ui +63601=impact-reactor|block-impact-reactor-ui +63600=mechanical-drill|block-mechanical-drill-ui +63599=pneumatic-drill|block-pneumatic-drill-ui +63598=laser-drill|block-laser-drill-ui +63597=blast-drill|block-blast-drill-ui +63596=water-extractor|block-water-extractor-ui +63595=cultivator|block-cultivator-ui +63594=oil-extractor|block-oil-extractor-ui +63593=core-shard|block-core-shard-ui +63592=core-foundation|block-core-foundation-ui +63591=core-nucleus|block-core-nucleus-ui +63590=vault|block-vault-ui +63589=container|block-container-ui +63588=unloader|block-unloader-ui +63587=launch-pad|block-launch-pad-ui +63586=launch-pad-large|block-launch-pad-large-ui +63585=duo|block-duo-ui +63584=scatter|block-scatter-ui +63583=scorch|block-scorch-ui +63582=hail|block-hail-ui +63581=wave|block-wave-ui +63580=lancer|block-lancer-ui +63579=arc|block-arc-ui +63578=swarmer|block-swarmer-ui +63577=salvo|block-salvo-ui +63576=fuse|block-fuse-ui +63575=ripple|block-ripple-ui +63574=cyclone|block-cyclone-ui +63573=spectre|block-spectre-ui +63572=meltdown|block-meltdown-ui +63571=draug-factory|block-draug-factory-ui +63570=spirit-factory|block-spirit-factory-ui +63569=phantom-factory|block-phantom-factory-ui +63568=command-center|block-command-center-ui +63567=wraith-factory|block-wraith-factory-ui +63566=ghoul-factory|block-ghoul-factory-ui +63565=revenant-factory|block-revenant-factory-ui +63564=dagger-factory|block-dagger-factory-ui +63563=crawler-factory|block-crawler-factory-ui +63562=titan-factory|block-titan-factory-ui +63561=fortress-factory|block-fortress-factory-ui +63560=repair-point|block-repair-point-ui +63559=dart-mech-pad|block-dart-mech-pad-ui +63558=delta-mech-pad|block-delta-mech-pad-ui +63557=tau-mech-pad|block-tau-mech-pad-ui +63556=omega-mech-pad|block-omega-mech-pad-ui +63555=javelin-ship-pad|block-javelin-ship-pad-ui +63554=trident-ship-pad|block-trident-ship-pad-ui +63553=glaive-ship-pad|block-glaive-ship-pad-ui +63552=power-source|block-power-source-ui +63551=power-void|block-power-void-ui +63550=item-source|block-item-source-ui +63549=item-void|block-item-void-ui +63548=liquid-source|block-liquid-source-ui +63547=liquid-void|block-liquid-void-ui +63546=message|block-message-ui +63545=illuminator|block-illuminator-ui +63544=copper|item-copper-ui +63543=lead|item-lead-ui +63542=metaglass|item-metaglass-ui +63541=graphite|item-graphite-ui +63540=sand|item-sand-ui +63539=coal|item-coal-ui +63538=titanium|item-titanium-ui +63537=thorium|item-thorium-ui +63536=scrap|item-scrap-ui +63535=silicon|item-silicon-ui +63534=plastanium|item-plastanium-ui +63533=phase-fabric|item-phase-fabric-ui +63532=surge-alloy|item-surge-alloy-ui +63531=spore-pod|item-spore-pod-ui +63530=blast-compound|item-blast-compound-ui +63529=pyratite|item-pyratite-ui +63528=water|liquid-water-ui +63527=slag|liquid-slag-ui +63526=oil|liquid-oil-ui +63525=cryofluid|liquid-cryofluid-ui +63524=underflow-gate|block-underflow-gate-ui +63523=dart-ship-pad|block-dart-ship-pad-ui +63522=alpha-mech-pad|block-alpha-mech-pad-ui +63521=cliff|block-cliff-ui +63520=legacy-mech-pad|block-legacy-mech-pad-ui +63519=ground-factory|block-ground-factory-ui +63518=legacy-unit-factory|block-legacy-unit-factory-ui +63517=mass-conveyor|block-mass-conveyor-ui +63516=legacy-command-center|block-legacy-command-center-ui +63515=block-forge|block-block-forge-ui +63514=block-launcher|block-block-launcher-ui +63513=plastanium-conveyor|block-plastanium-conveyor-ui 63512=crater|crater -63511=naval-factory|block-naval-factory-medium -63510=air-factory|block-air-factory-medium -63509=basic-reconstructor|block-basic-reconstructor-medium -63508=block-loader|block-block-loader-medium -63507=block-unloader|block-block-unloader-medium -63506=core-silo|block-core-silo-medium -63505=data-processor|block-data-processor-medium -63504=payload-router|block-payload-router-medium -63503=silicon-crucible|block-silicon-crucible-medium -63502=segment|block-segment-medium -63501=large-overdrive-projector|block-large-overdrive-projector-medium -63500=disassembler|block-disassembler-medium -63499=advanced-reconstructor|block-advanced-reconstructor-medium -63498=reconstructor-basis|block-reconstructor-basis-medium -63497=reconstructor-morphism|block-reconstructor-morphism-medium -63496=reconstructor-functor|block-reconstructor-functor-medium -63495=reconstructor-prime|block-reconstructor-prime-medium -63494=additive-reconstructor|block-additive-reconstructor-medium -63493=multiplicative-reconstructor|block-multiplicative-reconstructor-medium -63492=exponential-reconstructor|block-exponential-reconstructor-medium -63491=tetrative-reconstructor|block-tetrative-reconstructor-medium -63490=resupply-point|block-resupply-point-medium -63489=parallax|block-parallax-medium -63488=dagger|unit-dagger-medium -63487=mace|unit-mace-medium -63486=fortress|unit-fortress-medium -63485=nova|unit-nova-medium -63484=pulsar|unit-pulsar-medium -63483=quasar|unit-quasar-medium -63482=crawler|unit-crawler-medium -63481=atrax|unit-atrax-medium -63480=spiroct|unit-spiroct-medium -63479=arkyid|unit-arkyid-medium -63478=flare|unit-flare-medium -63477=horizon|unit-horizon-medium -63476=zenith|unit-zenith-medium -63475=antumbra|unit-antumbra-medium -63474=eclipse|unit-eclipse-medium -63473=mono|unit-mono-medium -63472=poly|unit-poly-medium -63471=mega|unit-mega-medium -63470=risse|unit-risse-medium -63469=minke|unit-minke-medium -63468=bryde|unit-bryde-medium -63467=alpha|unit-alpha-medium -63466=beta|unit-beta-medium -63465=gamma|unit-gamma-medium -63464=block|unit-block-medium -63463=risso|unit-risso-medium -63462=overdrive-dome|block-overdrive-dome-medium -63461=logic-processor|block-logic-processor-medium -63460=micro-processor|block-micro-processor-medium -63459=logic-display|block-logic-display-medium -63458=switch|block-switch-medium -63457=memory-cell|block-memory-cell-medium -63456=payload-conveyor|block-payload-conveyor-medium -63455=hyper-processor|block-hyper-processor-medium -63454=toxopid|unit-toxopid-medium -63453=vestige|unit-vestige-medium -63452=cataclyst|unit-cataclyst-medium -63451=scepter|unit-scepter-medium -63450=reign|unit-reign-medium -63449=dirt|block-dirt-medium -63448=dirtwall|block-dirtwall-medium -63447=stone-wall|block-stone-wall-medium -63446=spore-wall|block-spore-wall-medium -63445=ice-wall|block-ice-wall-medium -63444=snow-wall|block-snow-wall-medium -63443=dune-wall|block-dune-wall-medium -63442=sand-wall|block-sand-wall-medium -63441=salt-wall|block-salt-wall-medium -63440=shale-wall|block-shale-wall-medium -63439=dirt-wall|block-dirt-wall-medium -63438=holostone-wall|block-holostone-wall-medium -63437=basalt|block-basalt-medium -63436=dacite|block-dacite-medium -63435=boulder|block-boulder-medium -63434=snow-boulder|block-snow-boulder-medium -63433=dacite-wall|block-dacite-wall-medium -63432=dacite-boulder|block-dacite-boulder-medium -63431=large-logic-display|block-large-logic-display-medium -63430=omura|unit-omura-medium -63429=mud|block-mud-medium -63428=sei|unit-sei-medium -63427=quad|unit-quad-medium -63426=oct|unit-oct-medium -63425=vela|unit-vela-medium -63424=corvus|unit-corvus-medium -63423=memory-bank|block-memory-bank-medium -63422=foreshadow|block-foreshadow-medium -63421=tsunami|block-tsunami-medium -63420=space|block-space-medium -63419=legacy-unit-factory-air|block-legacy-unit-factory-air-medium -63418=legacy-unit-factory-ground|block-legacy-unit-factory-ground-medium -63417=interplanetary-accelerator|block-interplanetary-accelerator-medium -63416=basalt-boulder|block-basalt-boulder-medium +63511=naval-factory|block-naval-factory-ui +63510=air-factory|block-air-factory-ui +63509=basic-reconstructor|block-basic-reconstructor-ui +63508=block-loader|block-block-loader-ui +63507=block-unloader|block-block-unloader-ui +63506=core-silo|block-core-silo-ui +63505=data-processor|block-data-processor-ui +63504=payload-router|block-payload-router-ui +63503=silicon-crucible|block-silicon-crucible-ui +63502=segment|block-segment-ui +63501=large-overdrive-projector|block-large-overdrive-projector-ui +63500=disassembler|block-disassembler-ui +63494=additive-reconstructor|block-additive-reconstructor-ui +63493=multiplicative-reconstructor|block-multiplicative-reconstructor-ui +63492=exponential-reconstructor|block-exponential-reconstructor-ui +63491=tetrative-reconstructor|block-tetrative-reconstructor-ui +63490=resupply-point|block-resupply-point-ui +63489=parallax|block-parallax-ui +63488=dagger|unit-dagger-ui +63487=mace|unit-mace-ui +63486=fortress|unit-fortress-ui +63485=nova|unit-nova-ui +63484=pulsar|unit-pulsar-ui +63483=quasar|unit-quasar-ui +63482=crawler|unit-crawler-ui +63481=atrax|unit-atrax-ui +63480=spiroct|unit-spiroct-ui +63479=arkyid|unit-arkyid-ui +63478=flare|unit-flare-ui +63477=horizon|unit-horizon-ui +63476=zenith|unit-zenith-ui +63475=antumbra|unit-antumbra-ui +63474=eclipse|unit-eclipse-ui +63473=mono|unit-mono-ui +63472=poly|unit-poly-ui +63471=mega|unit-mega-ui +63470=risse|unit-risse-ui +63469=minke|unit-minke-ui +63468=bryde|unit-bryde-ui +63467=alpha|unit-alpha-ui +63466=beta|unit-beta-ui +63465=gamma|unit-gamma-ui +63464=block|unit-block-ui +63463=risso|unit-risso-ui +63462=overdrive-dome|block-overdrive-dome-ui +63461=logic-processor|block-logic-processor-ui +63460=micro-processor|block-micro-processor-ui +63459=logic-display|block-logic-display-ui +63458=switch|block-switch-ui +63457=memory-cell|block-memory-cell-ui +63456=payload-conveyor|block-payload-conveyor-ui +63455=hyper-processor|block-hyper-processor-ui +63454=toxopid|unit-toxopid-ui +63453=vestige|unit-vestige-ui +63452=cataclyst|unit-cataclyst-ui +63451=scepter|unit-scepter-ui +63450=reign|unit-reign-ui +63449=dirt|block-dirt-ui +63447=stone-wall|block-stone-wall-ui +63446=spore-wall|block-spore-wall-ui +63445=ice-wall|block-ice-wall-ui +63444=snow-wall|block-snow-wall-ui +63443=dune-wall|block-dune-wall-ui +63442=sand-wall|block-sand-wall-ui +63441=salt-wall|block-salt-wall-ui +63440=shale-wall|block-shale-wall-ui +63439=dirt-wall|block-dirt-wall-ui +63437=basalt|block-basalt-ui +63436=dacite|block-dacite-ui +63435=boulder|block-boulder-ui +63434=snow-boulder|block-snow-boulder-ui +63433=dacite-wall|block-dacite-wall-ui +63432=dacite-boulder|block-dacite-boulder-ui +63431=large-logic-display|block-large-logic-display-ui +63430=omura|unit-omura-ui +63429=mud|block-mud-ui +63428=sei|unit-sei-ui +63427=quad|unit-quad-ui +63426=oct|unit-oct-ui +63425=vela|unit-vela-ui +63424=corvus|unit-corvus-ui +63423=memory-bank|block-memory-bank-ui +63422=foreshadow|block-foreshadow-ui +63421=tsunami|block-tsunami-ui +63420=space|block-space-ui +63419=legacy-unit-factory-air|block-legacy-unit-factory-air-ui +63418=legacy-unit-factory-ground|block-legacy-unit-factory-ground-ui +63417=interplanetary-accelerator|block-interplanetary-accelerator-ui +63416=basalt-boulder|block-basalt-boulder-ui +63415=none|status-none-ui +63414=burning|status-burning-ui +63413=freezing|status-freezing-ui +63412=unmoving|status-unmoving-ui +63411=slow|status-slow-ui +63410=wet|status-wet-ui +63409=muddy|status-muddy-ui +63408=melting|status-melting-ui +63407=sapped|status-sapped-ui +63406=spore-slowed|status-spore-slowed-ui +63405=tarred|status-tarred-ui +63404=overdrive|status-overdrive-ui +63403=overclock|status-overclock-ui +63402=shielded|status-shielded-ui +63401=boss|status-boss-ui +63400=shocked|status-shocked-ui +63399=blasted|status-blasted-ui +63398=corroded|status-corroded-ui +63397=disarmed|status-disarmed-ui +63385=duct|block-duct-ui +63376=repair-turret|block-repair-turret-ui +63374=payload-incinerator|block-payload-incinerator-ui +63373=payload-void|block-payload-void-ui +63372=payload-source|block-payload-source-ui +63368=retusa|unit-retusa-ui +63366=duct-router|block-duct-router-ui +63365=duct-bridge|block-duct-bridge-ui +63364=oxynoe|unit-oxynoe-ui +63363=cyerce|unit-cyerce-ui +63362=aegires|unit-aegires-ui +63361=electrified|status-electrified-ui +63360=navanax|unit-navanax-ui +63353=silicon-arc-furnace|block-silicon-arc-furnace-ui +63352=metal-floor-4|block-metal-floor-4-ui +63351=invincible|status-invincible-ui +63356=sharded|team-sharded +63357=crux|team-crux +63358=derelict|team-derelict +63350=deep-water|block-deep-water-ui +63348=molten-slag|block-molten-slag-ui +63347=crater-stone|block-crater-stone-ui +63346=deep-tainted-water|block-deep-tainted-water-ui +63345=pooled-cryofluid|block-pooled-cryofluid-ui +63344=empty|block-empty-ui +63343=liquid-container|block-liquid-container-ui +63342=deconstructor|block-deconstructor-ui +63341=constructor|block-constructor-ui +63340=large-constructor|block-large-constructor-ui +63339=payload-loader|block-payload-loader-ui +63338=payload-unloader|block-payload-unloader-ui +63337=rhyolite|block-rhyolite-ui +63336=rhyolite-crater|block-rhyolite-crater-ui +63335=regolith|block-regolith-ui +63334=yellow-stone|block-yellow-stone-ui +63333=carbon-stone|block-carbon-stone-ui +63332=ferric-stone|block-ferric-stone-ui +63331=ferric-craters|block-ferric-craters-ui +63330=beryllic-stone|block-beryllic-stone-ui +63329=red-ice|block-red-ice-ui +63328=redmat|block-redmat-ui +63327=bluemat|block-bluemat-ui +63326=regolith-wall|block-regolith-wall-ui +63325=yellow-stone-wall|block-yellow-stone-wall-ui +63324=rhyolite-wall|block-rhyolite-wall-ui +63323=carbon-wall|block-carbon-wall-ui +63322=ferric-stone-wall|block-ferric-stone-wall-ui +63321=beryllic-stone-wall|block-beryllic-stone-wall-ui +63320=red-ice-wall|block-red-ice-wall-ui +63319=redweed|block-redweed-ui +63318=pur-bush|block-pur-bush-ui +63317=yellowcoral|block-yellowcoral-ui +63315=carbon-boulder|block-carbon-boulder-ui +63314=ferric-boulder|block-ferric-boulder-ui +63313=beryllic-boulder|block-beryllic-boulder-ui +63312=wall-ore-beryllium|block-wall-ore-beryllium-ui +63311=graphitic-wall|block-graphitic-wall-ui +63310=cell-synthesis-chamber|block-cell-synthesis-chamber-ui +63309=cliff-crusher|block-cliff-crusher-ui +63308=beam-drill|block-beam-drill-ui +63307=nuclear-warhead|block-nuclear-warhead-ui +63306=warhead-assembler|block-warhead-assembler-ui +63305=ballistic-silo|block-ballistic-silo-ui +63304=beryllium|item-beryllium-ui +63303=fissile-matter|item-fissile-matter-ui +63302=dormant-cyst|item-dormant-cyst-ui +63301=neoplasm|liquid-neoplasm-ui +63297=plasma-bore|block-plasma-bore-ui +63296=steam-vent|block-steam-vent-ui +63295=pressure-turbine|block-pressure-turbine-ui +63294=turbine-condenser|block-turbine-condenser-ui +63293=beam-node|block-beam-node-ui +63291=beam-tower|block-beam-tower-ui +63290=build-tower|block-build-tower-ui +63289=tungsten|item-tungsten-ui +63288=ore-tungsten|block-ore-tungsten-ui +63287=impact-drill|block-impact-drill-ui +63286=carbide|item-carbide-ui +63285=evoke|unit-evoke-ui +63284=carbide-crucible|block-carbide-crucible-ui +63283=surge-duct|block-surge-duct-ui +63282=surge-conveyor|block-surge-conveyor-ui +63281=duct-unloader|block-duct-unloader-ui +63280=surge-router|block-surge-router-ui +63279=reinforced-conduit|block-reinforced-conduit-ui +63278=reinforced-liquid-router|block-reinforced-liquid-router-ui +63277=reinforced-liquid-container|block-reinforced-liquid-container-ui +63275=reinforced-liquid-tank|block-reinforced-liquid-tank-ui +63274=reinforced-bridge-conduit|block-reinforced-bridge-conduit-ui +63272=core-citadel|block-core-citadel-ui +63271=core-acropolis|block-core-acropolis-ui +63270=heat-reactor|block-heat-reactor-ui +63269=core-bastion|block-core-bastion-ui +63268=incite|unit-incite-ui +63267=oxidizer|block-oxidizer-ui +63266=reinforced-pump|block-reinforced-pump-ui +63265=oxide|item-oxide-ui +63264=oxygen|liquid-oxygen-ui +63263=hydrogen|liquid-hydrogen-ui +63262=electrolyzer|block-electrolyzer-ui +63261=ozone|liquid-ozone-ui +63260=reinforced-liquid-junction|block-reinforced-liquid-junction-ui +63259=oxidation-chamber|block-oxidation-chamber-ui +63258=surge-crucible|block-surge-crucible-ui +63257=emanate|unit-emanate-ui +63256=overflow-duct|block-overflow-duct-ui +63255=large-plasma-bore|block-large-plasma-bore-ui +63253=cyanogen-synthesizer|block-cyanogen-synthesizer-ui +63252=cyanogen|liquid-cyanogen-ui +63251=gallium|liquid-gallium-ui +63250=slag-centrifuge|block-slag-centrifuge-ui +63248=slag-incinerator|block-slag-incinerator-ui +63247=phase-synthesizer|block-phase-synthesizer-ui +63246=sublimate|block-sublimate-ui +63245=reinforced-container|block-reinforced-container-ui +63244=reinforced-vault|block-reinforced-vault-ui +63243=nitrogen|liquid-nitrogen-ui +63242=atmospheric-concentrator|block-atmospheric-concentrator-ui +63241=unit-cargo-loader|block-unit-cargo-loader-ui +63240=unit-cargo-unload-point|block-unit-cargo-unload-point-ui +63239=manifold|unit-manifold-ui +63238=arkycite-floor|block-arkycite-floor-ui +63237=arkycite|liquid-arkycite-ui +63236=chemical-combustion-chamber|block-chemical-combustion-chamber-ui +63235=arkyic-stone|block-arkyic-stone-ui +63234=yellow-stone-boulder|block-yellow-stone-boulder-ui +63233=pyrolysis-generator|block-pyrolysis-generator-ui +63232=wall-ore-tungsten|block-wall-ore-tungsten-ui +63231=regen-projector|block-regen-projector-ui +63230=titan|block-titan-ui +63228=small-deconstructor|block-small-deconstructor-ui +63227=barrier-projector|block-barrier-projector-ui +63225=vent-condenser|block-vent-condenser-ui +63224=electric-heater|block-electric-heater-ui +63223=phase-heater|block-phase-heater-ui +63222=arkyic-wall|block-arkyic-wall-ui +63221=heat-redirector|block-heat-redirector-ui +63220=vanquish|unit-vanquish-ui +63219=tungsten-wall|block-tungsten-wall-ui +63218=tungsten-wall-large|block-tungsten-wall-large-ui +63217=tank-assembler|block-tank-assembler-ui +63216=assembly-drone|unit-assembly-drone-ui +63214=beryllium-wall|block-beryllium-wall-ui +63213=beryllium-wall-large|block-beryllium-wall-large-ui +63212=quell|unit-quell-ui +63211=breach|block-breach-ui +63210=eruption-drill|block-eruption-drill-ui +63209=ship-assembler|block-ship-assembler-ui +63208=quell-missile|unit-quell-missile-ui +63206=mech-assembler|block-mech-assembler-ui +63205=ore-crystal-thorium|block-ore-crystal-thorium-ui +63204=ore-wall-beryllium|block-ore-wall-beryllium-ui +63203=ore-wall-tungsten|block-ore-wall-tungsten-ui +63202=arkyic-boulder|block-arkyic-boulder-ui +63201=crystalline-stone|block-crystalline-stone-ui +63200=crystalline-stone-wall|block-crystalline-stone-wall-ui +63199=crystal-cluster|block-crystal-cluster-ui +63198=crystalline-boulder|block-crystalline-boulder-ui +63197=crystal-floor|block-crystal-floor-ui +63196=vibrant-crystal-cluster|block-vibrant-crystal-cluster-ui +63195=red-ice-boulder|block-red-ice-boulder-ui +63194=crystal-blocks|block-crystal-blocks-ui +63193=yellow-stone-plates|block-yellow-stone-plates-ui +63192=rough-rhyolite|block-rough-rhyolite-ui +63191=rhyolite-boulder|block-rhyolite-boulder-ui +63190=red-stone|block-red-stone-ui +63189=dense-red-stone|block-dense-red-stone-ui +63188=red-stone-wall|block-red-stone-wall-ui +63186=red-stone-boulder|block-red-stone-boulder-ui +63185=red-diamond-wall|block-red-diamond-wall-ui +63184=crystal-orbs|block-crystal-orbs-ui +63183=conquer|unit-conquer-ui +63182=disrupt|unit-disrupt-ui +63180=disrupt-missile|unit-disrupt-missile-ui +63179=rhyolite-vent|block-rhyolite-vent-ui +63178=arkyic-vent|block-arkyic-vent-ui +63177=yellow-stone-vent|block-yellow-stone-vent-ui +63176=red-stone-vent|block-red-stone-vent-ui +63175=carbon-vent|block-carbon-vent-ui +63174=shield-projector|block-shield-projector-ui +63173=beam-link|block-beam-link-ui +63171=effect-drone|unit-effect-drone-ui +63170=world-processor|block-world-processor-ui +63169=reinforced-payload-conveyor|block-reinforced-payload-conveyor-ui +63168=reinforced-payload-router|block-reinforced-payload-router-ui +63167=disperse|block-disperse-ui +63166=large-shield-projector|block-large-shield-projector-ui +63165=payload-mass-driver|block-payload-mass-driver-ui +63164=world-cell|block-world-cell-ui +63163=carbide-wall|block-carbide-wall-ui +63162=carbide-wall-large|block-carbide-wall-large-ui +63160=ore-wall-thorium|block-ore-wall-thorium-ui +63159=core-zone|block-core-zone-ui +63158=fabricator|block-fabricator-ui +63157=stell|unit-stell-ui +63156=ore-beryllium|block-ore-beryllium-ui +63155=locus|unit-locus-ui +63154=avert|unit-avert-ui +63153=cleroi|unit-cleroi-ui +63152=tank-reconstructor|block-tank-reconstructor-ui +63151=mech-reconstructor|block-mech-reconstructor-ui +63150=ship-reconstructor|block-ship-reconstructor-ui +63149=radar|block-radar-ui +63148=turret-unit-build-tower|unit-turret-unit-build-tower-ui +63147=blast-door|block-blast-door-ui +63146=alphaaaa|alphaaaa +63145=malis|team-malis +63144=canvas|block-canvas-ui +63143=armored-duct|block-armored-duct-ui +63142=anthicus|unit-anthicus-ui +63141=anthicus-missile|unit-anthicus-missile-ui +63139=obviate|unit-obviate-ui +63138=tank-fabricator|block-tank-fabricator-ui +63137=mech-fabricator|block-mech-fabricator-ui +63136=ship-fabricator|block-ship-fabricator-ui +63135=unit-repair-tower|block-unit-repair-tower-ui +63134=merui|unit-merui-ui +63133=osc|unit-osc-ui +63132=precept|unit-precept-ui +63131=diffuse|block-diffuse-ui +63130=basic-assembler-module|block-basic-assembler-module-ui +63129=tecta|unit-tecta-ui +63128=collaris|unit-collaris-ui +63127=elude|unit-elude-ui +63126=refabricator|block-refabricator-ui +63125=prime-refabricator|block-prime-refabricator-ui +63124=latum|unit-latum-ui +63123=reinforced-surge-wall|block-reinforced-surge-wall-ui +63122=reinforced-surge-wall-large|block-reinforced-surge-wall-large-ui +63121=tank-refabricator|block-tank-refabricator-ui +63120=mech-refabricator|block-mech-refabricator-ui +63119=ship-refabricator|block-ship-refabricator-ui +63118=slag-heater|block-slag-heater-ui +63117=afflict|block-afflict-ui +63116=shielded-wall|block-shielded-wall-ui +63115=fracture|block-fracture-ui +63114=renale|unit-renale-ui +63113=lustre|block-lustre-ui +63112=scathe|block-scathe-ui +63111=scathe-missile|unit-scathe-missile-ui +63110=ravage|block-ravage-ui +63109=underflow-duct|block-underflow-duct-ui +63108=malign|block-malign-ui +63107=smite|block-smite-ui +63106=shockwave-tower|block-shockwave-tower-ui +63105=heat-source|block-heat-source-ui +63104=flux-reactor|block-flux-reactor-ui +63103=neoplasia-reactor|block-neoplasia-reactor-ui +63102=sand-floor|block-sand-floor-ui +63101=crystalline-vent|block-crystalline-vent-ui +63100=heat-router|block-heat-router-ui +63099=large-payload-mass-driver|block-large-payload-mass-driver-ui +63098=reinforced-message|block-reinforced-message-ui +63097=world-message|block-world-message-ui +63096=fast|status-fast-ui +63095=ranai|ranai +63094=cat|cat +63093=world-switch|block-world-switch-ui +63092=dynamic|status-dynamic-ui +63091=remove-wall|block-remove-wall-ui +63090=remove-ore|block-remove-ore-ui +63089=small-heat-redirector|block-small-heat-redirector-ui +63088=large-cliff-crusher|block-large-cliff-crusher-ui +63087=scathe-missile-phase|unit-scathe-missile-phase-ui +63086=scathe-missile-surge|unit-scathe-missile-surge-ui +63085=scathe-missile-surge-split|unit-scathe-missile-surge-split-ui +63084=advanced-launch-pad|block-advanced-launch-pad-ui +63083=landing-pad|block-landing-pad-ui diff --git a/core/assets/logicids.dat b/core/assets/logicids.dat new file mode 100644 index 0000000000..e690bd925b Binary files /dev/null and b/core/assets/logicids.dat differ diff --git a/core/assets/maps/aegis.msav b/core/assets/maps/aegis.msav new file mode 100644 index 0000000000..961e30718c Binary files /dev/null and b/core/assets/maps/aegis.msav differ diff --git a/core/assets/maps/archipelago.msav b/core/assets/maps/archipelago.msav index 24764ccf20..196113cdf8 100644 Binary files a/core/assets/maps/archipelago.msav and b/core/assets/maps/archipelago.msav differ diff --git a/core/assets/maps/atlas.msav b/core/assets/maps/atlas.msav new file mode 100644 index 0000000000..c769dcef39 Binary files /dev/null and b/core/assets/maps/atlas.msav differ diff --git a/core/assets/maps/atolls.msav b/core/assets/maps/atolls.msav new file mode 100644 index 0000000000..42a70ab90c Binary files /dev/null and b/core/assets/maps/atolls.msav differ diff --git a/core/assets/maps/basin.msav b/core/assets/maps/basin.msav new file mode 100644 index 0000000000..6cd15494fb Binary files /dev/null and b/core/assets/maps/basin.msav differ diff --git a/core/assets/maps/biomassFacility.msav b/core/assets/maps/biomassFacility.msav index 738d890f70..cd355b9c62 100644 Binary files a/core/assets/maps/biomassFacility.msav and b/core/assets/maps/biomassFacility.msav differ diff --git a/core/assets/maps/caldera-erekir.msav b/core/assets/maps/caldera-erekir.msav new file mode 100644 index 0000000000..a0f2611f2b Binary files /dev/null and b/core/assets/maps/caldera-erekir.msav differ diff --git a/core/assets/maps/coastline.msav b/core/assets/maps/coastline.msav new file mode 100644 index 0000000000..63f46969a1 Binary files /dev/null and b/core/assets/maps/coastline.msav differ diff --git a/core/assets/maps/craters.msav b/core/assets/maps/craters.msav index c52303c3a1..52aa3f3714 100644 Binary files a/core/assets/maps/craters.msav and b/core/assets/maps/craters.msav differ diff --git a/core/assets/maps/crevice.msav b/core/assets/maps/crevice.msav new file mode 100644 index 0000000000..b061f03a80 Binary files /dev/null and b/core/assets/maps/crevice.msav differ diff --git a/core/assets/maps/crossroads.msav b/core/assets/maps/crossroads.msav new file mode 100644 index 0000000000..535724643d Binary files /dev/null and b/core/assets/maps/crossroads.msav differ diff --git a/core/assets/maps/cruxscape.msav b/core/assets/maps/cruxscape.msav new file mode 100644 index 0000000000..33489c6854 Binary files /dev/null and b/core/assets/maps/cruxscape.msav differ diff --git a/core/assets/maps/desolateRift.msav b/core/assets/maps/desolateRift.msav index 71c433d81a..11d62928a0 100644 Binary files a/core/assets/maps/desolateRift.msav and b/core/assets/maps/desolateRift.msav differ diff --git a/core/assets/maps/domain.msav b/core/assets/maps/domain.msav new file mode 100644 index 0000000000..443c15b309 Binary files /dev/null and b/core/assets/maps/domain.msav differ diff --git a/core/assets/maps/extractionOutpost.msav b/core/assets/maps/extractionOutpost.msav index 7ce6a6904e..6ea0ae63dd 100644 Binary files a/core/assets/maps/extractionOutpost.msav and b/core/assets/maps/extractionOutpost.msav differ diff --git a/core/assets/maps/facility32m.msav b/core/assets/maps/facility32m.msav new file mode 100644 index 0000000000..a42a2deb39 Binary files /dev/null and b/core/assets/maps/facility32m.msav differ diff --git a/core/assets/maps/frontier.msav b/core/assets/maps/frontier.msav new file mode 100644 index 0000000000..765c4082ce Binary files /dev/null and b/core/assets/maps/frontier.msav differ diff --git a/core/assets/maps/frozenForest.msav b/core/assets/maps/frozenForest.msav index 09f7e2a546..57b06ee25d 100644 Binary files a/core/assets/maps/frozenForest.msav and b/core/assets/maps/frozenForest.msav differ diff --git a/core/assets/maps/fungalPass.msav b/core/assets/maps/fungalPass.msav index 2b593a2482..6ef6328c79 100644 Binary files a/core/assets/maps/fungalPass.msav and b/core/assets/maps/fungalPass.msav differ diff --git a/core/assets/maps/geothermalStronghold.msav b/core/assets/maps/geothermalStronghold.msav new file mode 100644 index 0000000000..e76157110d Binary files /dev/null and b/core/assets/maps/geothermalStronghold.msav differ diff --git a/core/assets/maps/glacier.msav b/core/assets/maps/glacier.msav index 73796f7643..cdb524a0d4 100644 Binary files a/core/assets/maps/glacier.msav and b/core/assets/maps/glacier.msav differ diff --git a/core/assets/maps/groundZero.msav b/core/assets/maps/groundZero.msav index bb169dbbc7..9ece04c2ba 100644 Binary files a/core/assets/maps/groundZero.msav and b/core/assets/maps/groundZero.msav differ diff --git a/core/assets/maps/impact0078.msav b/core/assets/maps/impact0078.msav index 08a71a5673..d73d5bad9d 100644 Binary files a/core/assets/maps/impact0078.msav and b/core/assets/maps/impact0078.msav differ diff --git a/core/assets/maps/infestedCanyons.msav b/core/assets/maps/infestedCanyons.msav new file mode 100644 index 0000000000..02f0c043de Binary files /dev/null and b/core/assets/maps/infestedCanyons.msav differ diff --git a/core/assets/maps/intersect.msav b/core/assets/maps/intersect.msav new file mode 100644 index 0000000000..df68823481 Binary files /dev/null and b/core/assets/maps/intersect.msav differ diff --git a/core/assets/maps/karst.msav b/core/assets/maps/karst.msav new file mode 100644 index 0000000000..f04b1216cb Binary files /dev/null and b/core/assets/maps/karst.msav differ diff --git a/core/assets/maps/labyrinth.msav b/core/assets/maps/labyrinth.msav index d63ca28bf9..9087a6da89 100644 Binary files a/core/assets/maps/labyrinth.msav and b/core/assets/maps/labyrinth.msav differ diff --git a/core/assets/maps/lake.msav b/core/assets/maps/lake.msav new file mode 100644 index 0000000000..e1a75c0035 Binary files /dev/null and b/core/assets/maps/lake.msav differ diff --git a/core/assets/maps/marsh.msav b/core/assets/maps/marsh.msav new file mode 100644 index 0000000000..13b23e2b22 Binary files /dev/null and b/core/assets/maps/marsh.msav differ diff --git a/core/assets/maps/mudFlats.msav b/core/assets/maps/mudFlats.msav index 1ba2e25ceb..adca422b83 100644 Binary files a/core/assets/maps/mudFlats.msav and b/core/assets/maps/mudFlats.msav differ diff --git a/core/assets/maps/mycelialBastion.msav b/core/assets/maps/mycelialBastion.msav new file mode 100644 index 0000000000..e4d41aab47 Binary files /dev/null and b/core/assets/maps/mycelialBastion.msav differ diff --git a/core/assets/maps/navalFortress.msav b/core/assets/maps/navalFortress.msav new file mode 100644 index 0000000000..2d9dda6171 Binary files /dev/null and b/core/assets/maps/navalFortress.msav differ diff --git a/core/assets/maps/nuclearComplex.msav b/core/assets/maps/nuclearComplex.msav index 1b15a5878b..a6d6169cfb 100644 Binary files a/core/assets/maps/nuclearComplex.msav and b/core/assets/maps/nuclearComplex.msav differ diff --git a/core/assets/maps/onset.msav b/core/assets/maps/onset.msav new file mode 100644 index 0000000000..62d0340842 Binary files /dev/null and b/core/assets/maps/onset.msav differ diff --git a/core/assets/maps/origin.msav b/core/assets/maps/origin.msav new file mode 100644 index 0000000000..c04eba0728 Binary files /dev/null and b/core/assets/maps/origin.msav differ diff --git a/core/assets/maps/overgrowth.msav b/core/assets/maps/overgrowth.msav index a51978cb0f..e13fd71bf5 100644 Binary files a/core/assets/maps/overgrowth.msav and b/core/assets/maps/overgrowth.msav differ diff --git a/core/assets/maps/passage.msav b/core/assets/maps/passage.msav new file mode 100644 index 0000000000..fb14ff3032 Binary files /dev/null and b/core/assets/maps/passage.msav differ diff --git a/core/assets/maps/peaks.msav b/core/assets/maps/peaks.msav new file mode 100644 index 0000000000..2413b06126 Binary files /dev/null and b/core/assets/maps/peaks.msav differ diff --git a/core/assets/maps/planetaryTerminal.msav b/core/assets/maps/planetaryTerminal.msav index 7c45ebfca2..96459e74e0 100644 Binary files a/core/assets/maps/planetaryTerminal.msav and b/core/assets/maps/planetaryTerminal.msav differ diff --git a/core/assets/maps/polarAerodrome.msav b/core/assets/maps/polarAerodrome.msav new file mode 100644 index 0000000000..b960bbd922 Binary files /dev/null and b/core/assets/maps/polarAerodrome.msav differ diff --git a/core/assets/maps/ravine.msav b/core/assets/maps/ravine.msav new file mode 100644 index 0000000000..271afb2bfa Binary files /dev/null and b/core/assets/maps/ravine.msav differ diff --git a/core/assets/maps/ruinousShores.msav b/core/assets/maps/ruinousShores.msav index 441fb2044d..22c4fe7908 100644 Binary files a/core/assets/maps/ruinousShores.msav and b/core/assets/maps/ruinousShores.msav differ diff --git a/core/assets/maps/saltFlats.msav b/core/assets/maps/saltFlats.msav index f4979da57b..e9b53e2691 100644 Binary files a/core/assets/maps/saltFlats.msav and b/core/assets/maps/saltFlats.msav differ diff --git a/core/assets/maps/seaPort.msav b/core/assets/maps/seaPort.msav new file mode 100644 index 0000000000..47148b8ce9 Binary files /dev/null and b/core/assets/maps/seaPort.msav differ diff --git a/core/assets/maps/shoreline.msav b/core/assets/maps/shoreline.msav deleted file mode 100644 index b0320b4350..0000000000 Binary files a/core/assets/maps/shoreline.msav and /dev/null differ diff --git a/core/assets/maps/siege.msav b/core/assets/maps/siege.msav new file mode 100644 index 0000000000..a3be106191 Binary files /dev/null and b/core/assets/maps/siege.msav differ diff --git a/core/assets/maps/split.msav b/core/assets/maps/split.msav new file mode 100644 index 0000000000..fdb7c01457 Binary files /dev/null and b/core/assets/maps/split.msav differ diff --git a/core/assets/maps/stainedMountains.msav b/core/assets/maps/stainedMountains.msav index b5ec28c9d4..ca4ad5dc6e 100644 Binary files a/core/assets/maps/stainedMountains.msav and b/core/assets/maps/stainedMountains.msav differ diff --git a/core/assets/maps/stronghold.msav b/core/assets/maps/stronghold.msav new file mode 100644 index 0000000000..d0315f7979 Binary files /dev/null and b/core/assets/maps/stronghold.msav differ diff --git a/core/assets/maps/taintedWoods.msav b/core/assets/maps/taintedWoods.msav new file mode 100644 index 0000000000..237bae65ba Binary files /dev/null and b/core/assets/maps/taintedWoods.msav differ diff --git a/core/assets/maps/tarFields.msav b/core/assets/maps/tarFields.msav index 04055ac8b7..36d33eb11c 100644 Binary files a/core/assets/maps/tarFields.msav and b/core/assets/maps/tarFields.msav differ diff --git a/core/assets/maps/testingGrounds.msav b/core/assets/maps/testingGrounds.msav new file mode 100644 index 0000000000..b02ba9da54 Binary files /dev/null and b/core/assets/maps/testingGrounds.msav differ diff --git a/core/assets/maps/veins.msav b/core/assets/maps/veins.msav index 3273feb74b..ad6a8b5c01 100644 Binary files a/core/assets/maps/veins.msav and b/core/assets/maps/veins.msav differ diff --git a/core/assets/maps/weatheredChannels.msav b/core/assets/maps/weatheredChannels.msav new file mode 100644 index 0000000000..f9ef2030e1 Binary files /dev/null and b/core/assets/maps/weatheredChannels.msav differ diff --git a/core/assets/maps/windsweptIslands.msav b/core/assets/maps/windsweptIslands.msav index 690a924716..32daa4dbff 100644 Binary files a/core/assets/maps/windsweptIslands.msav and b/core/assets/maps/windsweptIslands.msav differ diff --git a/core/assets/music/boss1.mp3 b/core/assets/music/boss1.mp3 deleted file mode 100644 index 4a54f750c9..0000000000 Binary files a/core/assets/music/boss1.mp3 and /dev/null differ diff --git a/core/assets/music/boss1.ogg b/core/assets/music/boss1.ogg new file mode 100644 index 0000000000..1ed21ad266 Binary files /dev/null and b/core/assets/music/boss1.ogg differ diff --git a/core/assets/music/boss2.mp3 b/core/assets/music/boss2.mp3 deleted file mode 100644 index cd9eaf1b25..0000000000 Binary files a/core/assets/music/boss2.mp3 and /dev/null differ diff --git a/core/assets/music/boss2.ogg b/core/assets/music/boss2.ogg new file mode 100644 index 0000000000..26c0cea224 Binary files /dev/null and b/core/assets/music/boss2.ogg differ diff --git a/core/assets/music/coreLaunch.ogg b/core/assets/music/coreLaunch.ogg new file mode 100644 index 0000000000..4dd82b35b8 Binary files /dev/null and b/core/assets/music/coreLaunch.ogg differ diff --git a/core/assets/music/editor.mp3 b/core/assets/music/editor.mp3 deleted file mode 100644 index 0b3a8e6182..0000000000 Binary files a/core/assets/music/editor.mp3 and /dev/null differ diff --git a/core/assets/music/editor.ogg b/core/assets/music/editor.ogg new file mode 100644 index 0000000000..c24a141c3b Binary files /dev/null and b/core/assets/music/editor.ogg differ diff --git a/core/assets/music/fine.ogg b/core/assets/music/fine.ogg new file mode 100644 index 0000000000..5b9dbe5ee4 Binary files /dev/null and b/core/assets/music/fine.ogg differ diff --git a/core/assets/music/game1.mp3 b/core/assets/music/game1.mp3 deleted file mode 100644 index bfb9b3d468..0000000000 Binary files a/core/assets/music/game1.mp3 and /dev/null differ diff --git a/core/assets/music/game1.ogg b/core/assets/music/game1.ogg new file mode 100644 index 0000000000..1688419305 Binary files /dev/null and b/core/assets/music/game1.ogg differ diff --git a/core/assets/music/game2.mp3 b/core/assets/music/game2.mp3 deleted file mode 100644 index baeddf2914..0000000000 Binary files a/core/assets/music/game2.mp3 and /dev/null differ diff --git a/core/assets/music/game2.ogg b/core/assets/music/game2.ogg new file mode 100644 index 0000000000..8d6d36c5b7 Binary files /dev/null and b/core/assets/music/game2.ogg differ diff --git a/core/assets/music/game3.mp3 b/core/assets/music/game3.mp3 deleted file mode 100644 index e7f8e34f75..0000000000 Binary files a/core/assets/music/game3.mp3 and /dev/null differ diff --git a/core/assets/music/game3.ogg b/core/assets/music/game3.ogg new file mode 100644 index 0000000000..9b0ad6179d Binary files /dev/null and b/core/assets/music/game3.ogg differ diff --git a/core/assets/music/game4.mp3 b/core/assets/music/game4.mp3 deleted file mode 100644 index c21cf226f0..0000000000 Binary files a/core/assets/music/game4.mp3 and /dev/null differ diff --git a/core/assets/music/game4.ogg b/core/assets/music/game4.ogg new file mode 100644 index 0000000000..586edefcfc Binary files /dev/null and b/core/assets/music/game4.ogg differ diff --git a/core/assets/music/game5.mp3 b/core/assets/music/game5.mp3 deleted file mode 100644 index 2bcc7e7a94..0000000000 Binary files a/core/assets/music/game5.mp3 and /dev/null differ diff --git a/core/assets/music/game5.ogg b/core/assets/music/game5.ogg new file mode 100644 index 0000000000..d306db44d3 Binary files /dev/null and b/core/assets/music/game5.ogg differ diff --git a/core/assets/music/game6.mp3 b/core/assets/music/game6.mp3 deleted file mode 100644 index 9e0cfc97d6..0000000000 Binary files a/core/assets/music/game6.mp3 and /dev/null differ diff --git a/core/assets/music/game6.ogg b/core/assets/music/game6.ogg new file mode 100644 index 0000000000..86b6e1531a Binary files /dev/null and b/core/assets/music/game6.ogg differ diff --git a/core/assets/music/game7.mp3 b/core/assets/music/game7.mp3 deleted file mode 100644 index 4a8d5187b8..0000000000 Binary files a/core/assets/music/game7.mp3 and /dev/null differ diff --git a/core/assets/music/game7.ogg b/core/assets/music/game7.ogg new file mode 100644 index 0000000000..2d49c70927 Binary files /dev/null and b/core/assets/music/game7.ogg differ diff --git a/core/assets/music/game8.mp3 b/core/assets/music/game8.mp3 deleted file mode 100644 index a2cebbc465..0000000000 Binary files a/core/assets/music/game8.mp3 and /dev/null differ diff --git a/core/assets/music/game8.ogg b/core/assets/music/game8.ogg new file mode 100644 index 0000000000..380fb2ce40 Binary files /dev/null and b/core/assets/music/game8.ogg differ diff --git a/core/assets/music/game9.mp3 b/core/assets/music/game9.mp3 deleted file mode 100644 index a852b4c4c9..0000000000 Binary files a/core/assets/music/game9.mp3 and /dev/null differ diff --git a/core/assets/music/game9.ogg b/core/assets/music/game9.ogg new file mode 100644 index 0000000000..c7d31cce41 Binary files /dev/null and b/core/assets/music/game9.ogg differ diff --git a/core/assets/music/land.mp3 b/core/assets/music/land.mp3 deleted file mode 100644 index 80720c478c..0000000000 Binary files a/core/assets/music/land.mp3 and /dev/null differ diff --git a/core/assets/music/land.ogg b/core/assets/music/land.ogg new file mode 100644 index 0000000000..d9ea5aa88c Binary files /dev/null and b/core/assets/music/land.ogg differ diff --git a/core/assets/music/launch.mp3 b/core/assets/music/launch.mp3 deleted file mode 100644 index 7aeb2a3340..0000000000 Binary files a/core/assets/music/launch.mp3 and /dev/null differ diff --git a/core/assets/music/launch.ogg b/core/assets/music/launch.ogg new file mode 100644 index 0000000000..22e1705652 Binary files /dev/null and b/core/assets/music/launch.ogg differ diff --git a/core/assets/music/menu.mp3 b/core/assets/music/menu.mp3 deleted file mode 100644 index 6423eba4b2..0000000000 Binary files a/core/assets/music/menu.mp3 and /dev/null differ diff --git a/core/assets/music/menu.ogg b/core/assets/music/menu.ogg new file mode 100644 index 0000000000..2768054f01 Binary files /dev/null and b/core/assets/music/menu.ogg differ diff --git a/core/assets/scripts/base.js b/core/assets/scripts/base.js index 368ebff42d..4cfe9ef574 100755 --- a/core/assets/scripts/base.js +++ b/core/assets/scripts/base.js @@ -1,23 +1,25 @@ "use strict"; -function log(context, obj){ - Vars.mods.scripts.log(context, String(obj)) -} - -const readString = path => Vars.mods.scripts.readString(path) -const readBytes = path => Vars.mods.scripts.readBytes(path) -const loadMusic = path => Vars.mods.scripts.loadMusic(path) -const loadSound = path => Vars.mods.scripts.loadSound(path) - -const readFile = (purpose, ext, cons) => Vars.mods.scripts.readFile(purpose, ext, cons); -const readBinFile = (purpose, ext, cons) => Vars.mods.scripts.readBinFile(purpose, ext, cons); -const writeFile = (purpose, ext, str) => Vars.mods.scripts.writeFile(purpose, ext, str); -const writeBinFile = (purpose, ext, bytes) => Vars.mods.scripts.writeBinFile(purpose, ext, bytes); - let scriptName = "base.js" let modName = "none" -const print = text => log(modName + "/" + scriptName, text); +const log = (context, obj) => Vars.mods.scripts.log(context, String(obj)) +const print = text => log(modName + "/" + scriptName, text) + +const newFloats = cap => Vars.mods.getScripts().newFloats(cap); + +//these are not strictly necessary, but are kept for edge cases +const run = method => new java.lang.Runnable(){run: method} +const boolf = method => new Boolf(){get: method} +const boolp = method => new Boolp(){get: method} +const floatf = method => new Floatf(){get: method} +const floatp = method => new Floatp(){get: method} +const cons = method => new Cons(){get: method} +const prov = method => new Prov(){get: method} +const func = method => new Func(){get: method} + +const newEffect = (lifetime, renderer) => new Effect.Effect(lifetime, new Effect.EffectRenderer({render: renderer})) +Call = Packages.mindustry.gen.Call //js 'extend(Base, ..., {})' = java 'new Base(...) {}' function extend(/*Base, ..., def*/){ @@ -36,19 +38,3 @@ function extend(/*Base, ..., def*/){ } return instance } - -//For backwards compatibility, use extend instead -const extendContent = extend; - -//these are not strictly necessary, but are kept for edge cases -const run = method => new java.lang.Runnable(){run: method} -const boolf = method => new Boolf(){get: method} -const boolp = method => new Boolp(){get: method} -const floatf = method => new Floatf(){get: method} -const floatp = method => new Floatp(){get: method} -const cons = method => new Cons(){get: method} -const prov = method => new Prov(){get: method} -const func = method => new Func(){get: method} - -const newEffect = (lifetime, renderer) => new Effect.Effect(lifetime, new Effect.EffectRenderer({render: renderer})) -Call = Packages.mindustry.gen.Call diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index 92a7fd5562..d91fe9950c 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -2,24 +2,26 @@ "use strict"; -function log(context, obj){ - Vars.mods.scripts.log(context, String(obj)) -} - -const readString = path => Vars.mods.scripts.readString(path) -const readBytes = path => Vars.mods.scripts.readBytes(path) -const loadMusic = path => Vars.mods.scripts.loadMusic(path) -const loadSound = path => Vars.mods.scripts.loadSound(path) - -const readFile = (purpose, ext, cons) => Vars.mods.scripts.readFile(purpose, ext, cons); -const readBinFile = (purpose, ext, cons) => Vars.mods.scripts.readBinFile(purpose, ext, cons); -const writeFile = (purpose, ext, str) => Vars.mods.scripts.writeFile(purpose, ext, str); -const writeBinFile = (purpose, ext, bytes) => Vars.mods.scripts.writeBinFile(purpose, ext, bytes); - let scriptName = "base.js" let modName = "none" -const print = text => log(modName + "/" + scriptName, text); +const log = (context, obj) => Vars.mods.scripts.log(context, String(obj)) +const print = text => log(modName + "/" + scriptName, text) + +const newFloats = cap => Vars.mods.getScripts().newFloats(cap); + +//these are not strictly necessary, but are kept for edge cases +const run = method => new java.lang.Runnable(){run: method} +const boolf = method => new Boolf(){get: method} +const boolp = method => new Boolp(){get: method} +const floatf = method => new Floatf(){get: method} +const floatp = method => new Floatp(){get: method} +const cons = method => new Cons(){get: method} +const prov = method => new Prov(){get: method} +const func = method => new Func(){get: method} + +const newEffect = (lifetime, renderer) => new Effect.Effect(lifetime, new Effect.EffectRenderer({render: renderer})) +Call = Packages.mindustry.gen.Call //js 'extend(Base, ..., {})' = java 'new Base(...) {}' function extend(/*Base, ..., def*/){ @@ -39,27 +41,15 @@ function extend(/*Base, ..., def*/){ return instance } -//For backwards compatibility, use extend instead -const extendContent = extend; - -//these are not strictly necessary, but are kept for edge cases -const run = method => new java.lang.Runnable(){run: method} -const boolf = method => new Boolf(){get: method} -const boolp = method => new Boolp(){get: method} -const floatf = method => new Floatf(){get: method} -const floatp = method => new Floatp(){get: method} -const cons = method => new Cons(){get: method} -const prov = method => new Prov(){get: method} -const func = method => new Func(){get: method} - -const newEffect = (lifetime, renderer) => new Effect.Effect(lifetime, new Effect.EffectRenderer({render: renderer})) -Call = Packages.mindustry.gen.Call - importPackage(Packages.arc) +importPackage(Packages.arc.audio) +importPackage(Packages.arc.files) +importPackage(Packages.arc.flabel) importPackage(Packages.arc.func) importPackage(Packages.arc.graphics) importPackage(Packages.arc.graphics.g2d) importPackage(Packages.arc.graphics.gl) +importPackage(Packages.arc.input) importPackage(Packages.arc.math) importPackage(Packages.arc.math.geom) importPackage(Packages.arc.scene) @@ -71,10 +61,13 @@ importPackage(Packages.arc.scene.ui.layout) importPackage(Packages.arc.scene.utils) importPackage(Packages.arc.struct) importPackage(Packages.arc.util) +importPackage(Packages.arc.util.io) +importPackage(Packages.arc.util.noise) +importPackage(Packages.arc.util.pooling) +importPackage(Packages.arc.util.serialization) +importPackage(Packages.arc.util.viewport) importPackage(Packages.mindustry) importPackage(Packages.mindustry.ai) -importPackage(Packages.mindustry.ai.formations) -importPackage(Packages.mindustry.ai.formations.patterns) importPackage(Packages.mindustry.ai.types) importPackage(Packages.mindustry.async) importPackage(Packages.mindustry.audio) @@ -85,8 +78,9 @@ importPackage(Packages.mindustry.editor) importPackage(Packages.mindustry.entities) importPackage(Packages.mindustry.entities.abilities) importPackage(Packages.mindustry.entities.bullet) -importPackage(Packages.mindustry.entities.comp) importPackage(Packages.mindustry.entities.effect) +importPackage(Packages.mindustry.entities.part) +importPackage(Packages.mindustry.entities.pattern) importPackage(Packages.mindustry.entities.units) importPackage(Packages.mindustry.game) importPackage(Packages.mindustry.gen) @@ -94,13 +88,19 @@ importPackage(Packages.mindustry.graphics) importPackage(Packages.mindustry.graphics.g3d) importPackage(Packages.mindustry.input) importPackage(Packages.mindustry.io) +importPackage(Packages.mindustry.io.versions) importPackage(Packages.mindustry.logic) importPackage(Packages.mindustry.maps) importPackage(Packages.mindustry.maps.filters) importPackage(Packages.mindustry.maps.generators) importPackage(Packages.mindustry.maps.planet) +importPackage(Packages.mindustry.mod) importPackage(Packages.mindustry.net) +importPackage(Packages.mindustry.service) importPackage(Packages.mindustry.type) +importPackage(Packages.mindustry.type.ammo) +importPackage(Packages.mindustry.type.unit) +importPackage(Packages.mindustry.type.weapons) importPackage(Packages.mindustry.type.weather) importPackage(Packages.mindustry.ui) importPackage(Packages.mindustry.ui.dialogs) @@ -113,7 +113,7 @@ importPackage(Packages.mindustry.world.blocks.defense) importPackage(Packages.mindustry.world.blocks.defense.turrets) importPackage(Packages.mindustry.world.blocks.distribution) importPackage(Packages.mindustry.world.blocks.environment) -importPackage(Packages.mindustry.world.blocks.experimental) +importPackage(Packages.mindustry.world.blocks.heat) importPackage(Packages.mindustry.world.blocks.legacy) importPackage(Packages.mindustry.world.blocks.liquid) importPackage(Packages.mindustry.world.blocks.logic) @@ -126,8 +126,8 @@ importPackage(Packages.mindustry.world.blocks.units) importPackage(Packages.mindustry.world.consumers) importPackage(Packages.mindustry.world.draw) importPackage(Packages.mindustry.world.meta) -importPackage(Packages.mindustry.world.meta.values) importPackage(Packages.mindustry.world.modules) +const AdminRequestEvent = Packages.mindustry.game.EventType.AdminRequestEvent const PlayerIpUnbanEvent = Packages.mindustry.game.EventType.PlayerIpUnbanEvent const PlayerIpBanEvent = Packages.mindustry.game.EventType.PlayerIpBanEvent const PlayerUnbanEvent = Packages.mindustry.game.EventType.PlayerUnbanEvent @@ -135,35 +135,60 @@ const PlayerBanEvent = Packages.mindustry.game.EventType.PlayerBanEvent const PlayerLeave = Packages.mindustry.game.EventType.PlayerLeave const PlayerConnect = Packages.mindustry.game.EventType.PlayerConnect const PlayerJoin = Packages.mindustry.game.EventType.PlayerJoin +const PlayerConnectionConfirmed = Packages.mindustry.game.EventType.PlayerConnectionConfirmed +const ConnectPacketEvent = Packages.mindustry.game.EventType.ConnectPacketEvent +const ConnectionEvent = Packages.mindustry.game.EventType.ConnectionEvent const UnitChangeEvent = Packages.mindustry.game.EventType.UnitChangeEvent +const UnitUnloadEvent = Packages.mindustry.game.EventType.UnitUnloadEvent +const UnitSpawnEvent = Packages.mindustry.game.EventType.UnitSpawnEvent const UnitCreateEvent = Packages.mindustry.game.EventType.UnitCreateEvent const UnitDrownEvent = Packages.mindustry.game.EventType.UnitDrownEvent +const UnitDamageEvent = Packages.mindustry.game.EventType.UnitDamageEvent +const UnitBulletDestroyEvent = Packages.mindustry.game.EventType.UnitBulletDestroyEvent const UnitDestroyEvent = Packages.mindustry.game.EventType.UnitDestroyEvent +const BuildingBulletDestroyEvent = Packages.mindustry.game.EventType.BuildingBulletDestroyEvent +const GeneratorPressureExplodeEvent = Packages.mindustry.game.EventType.GeneratorPressureExplodeEvent const BlockDestroyEvent = Packages.mindustry.game.EventType.BlockDestroyEvent const BuildSelectEvent = Packages.mindustry.game.EventType.BuildSelectEvent +const BuildRotateEvent = Packages.mindustry.game.EventType.BuildRotateEvent const BlockBuildEndEvent = Packages.mindustry.game.EventType.BlockBuildEndEvent const BlockBuildBeginEvent = Packages.mindustry.game.EventType.BlockBuildBeginEvent const ResearchEvent = Packages.mindustry.game.EventType.ResearchEvent const UnlockEvent = Packages.mindustry.game.EventType.UnlockEvent const StateChangeEvent = Packages.mindustry.game.EventType.StateChangeEvent +const CoreChangeEvent = Packages.mindustry.game.EventType.CoreChangeEvent +const BuildTeamChangeEvent = Packages.mindustry.game.EventType.BuildTeamChangeEvent const TileChangeEvent = Packages.mindustry.game.EventType.TileChangeEvent +const TilePreChangeEvent = Packages.mindustry.game.EventType.TilePreChangeEvent +const BuildDamageEvent = Packages.mindustry.game.EventType.BuildDamageEvent const GameOverEvent = Packages.mindustry.game.EventType.GameOverEvent +const BuildingCommandEvent = Packages.mindustry.game.EventType.BuildingCommandEvent const UnitControlEvent = Packages.mindustry.game.EventType.UnitControlEvent +const PayloadDropEvent = Packages.mindustry.game.EventType.PayloadDropEvent const PickupEvent = Packages.mindustry.game.EventType.PickupEvent const TapEvent = Packages.mindustry.game.EventType.TapEvent const ConfigEvent = Packages.mindustry.game.EventType.ConfigEvent const DepositEvent = Packages.mindustry.game.EventType.DepositEvent const WithdrawEvent = Packages.mindustry.game.EventType.WithdrawEvent const SectorCaptureEvent = Packages.mindustry.game.EventType.SectorCaptureEvent +const ClientChatEvent = Packages.mindustry.game.EventType.ClientChatEvent const PlayerChatEvent = Packages.mindustry.game.EventType.PlayerChatEvent +const TextInputEvent = Packages.mindustry.game.EventType.TextInputEvent +const MenuOptionChooseEvent = Packages.mindustry.game.EventType.MenuOptionChooseEvent +const ClientServerConnectEvent = Packages.mindustry.game.EventType.ClientServerConnectEvent const ClientPreConnectEvent = Packages.mindustry.game.EventType.ClientPreConnectEvent -const CommandIssueEvent = Packages.mindustry.game.EventType.CommandIssueEvent const SchematicCreateEvent = Packages.mindustry.game.EventType.SchematicCreateEvent +const SectorLaunchLoadoutEvent = Packages.mindustry.game.EventType.SectorLaunchLoadoutEvent const SectorLaunchEvent = Packages.mindustry.game.EventType.SectorLaunchEvent const LaunchItemEvent = Packages.mindustry.game.EventType.LaunchItemEvent const SectorInvasionEvent = Packages.mindustry.game.EventType.SectorInvasionEvent const SectorLoseEvent = Packages.mindustry.game.EventType.SectorLoseEvent +const SaveLoadEvent = Packages.mindustry.game.EventType.SaveLoadEvent +const WorldLoadEndEvent = Packages.mindustry.game.EventType.WorldLoadEndEvent +const WorldLoadBeginEvent = Packages.mindustry.game.EventType.WorldLoadBeginEvent const WorldLoadEvent = Packages.mindustry.game.EventType.WorldLoadEvent +const FileTreeInitEvent = Packages.mindustry.game.EventType.FileTreeInitEvent +const MusicRegisterEvent = Packages.mindustry.game.EventType.MusicRegisterEvent const ClientLoadEvent = Packages.mindustry.game.EventType.ClientLoadEvent const ContentInitEvent = Packages.mindustry.game.EventType.ContentInitEvent const BlockInfoEvent = Packages.mindustry.game.EventType.BlockInfoEvent @@ -172,12 +197,13 @@ const TurretAmmoDeliverEvent = Packages.mindustry.game.EventType.TurretAmmoDeliv const LineConfirmEvent = Packages.mindustry.game.EventType.LineConfirmEvent const TurnEvent = Packages.mindustry.game.EventType.TurnEvent const WaveEvent = Packages.mindustry.game.EventType.WaveEvent +const HostEvent = Packages.mindustry.game.EventType.HostEvent const ResetEvent = Packages.mindustry.game.EventType.ResetEvent const PlayEvent = Packages.mindustry.game.EventType.PlayEvent const DisposeEvent = Packages.mindustry.game.EventType.DisposeEvent const ServerLoadEvent = Packages.mindustry.game.EventType.ServerLoadEvent const ClientCreateEvent = Packages.mindustry.game.EventType.ClientCreateEvent -const SaveLoadEvent = Packages.mindustry.game.EventType.SaveLoadEvent +const SaveWriteEvent = Packages.mindustry.game.EventType.SaveWriteEvent const MapPublishEvent = Packages.mindustry.game.EventType.MapPublishEvent const MapMakeEvent = Packages.mindustry.game.EventType.MapMakeEvent const ResizeEvent = Packages.mindustry.game.EventType.ResizeEvent diff --git a/core/assets/shaders/arkycite.frag b/core/assets/shaders/arkycite.frag new file mode 100644 index 0000000000..863b3f6d64 --- /dev/null +++ b/core/assets/shaders/arkycite.frag @@ -0,0 +1,54 @@ +#define HIGHP + +#define S1 vec4(96.0, 131.0, 66.0, 255.0) / 255.0 +#define S2 vec3(132.0, 169.0, 79.0) / 255.0 +#define S3 vec3(210.0, 221.0, 118.0) / 255.0 + +#define NSCALE 170.0 / 2.0 +#define DSCALE 160.0 / 2.0 + +uniform sampler2D u_texture; +uniform sampler2D u_noise; + +uniform vec2 u_campos; +uniform vec2 u_resolution; +uniform float u_time; + +varying vec2 v_texCoords; + +void main(){ + vec2 c = v_texCoords.xy; + vec2 coords = (c * u_resolution) + u_campos; + + vec4 orig = texture2D(u_texture, c); + + float atime = u_time / 15000.0; + float noise = (texture2D(u_noise, (coords) / DSCALE + vec2(atime) * vec2(-0.9, 0.8)).r + texture2D(u_noise, (coords) / DSCALE + vec2(atime * 1.1) * vec2(0.8, -1.0)).r) / 2.0; + + noise = abs(noise - 0.5) * 7.0 + 0.23; + + float btime = u_time / 9000.0; + + c += (vec2( + texture2D(u_noise, (coords) / NSCALE + vec2(btime) * vec2(-0.9, 0.8)).r, + texture2D(u_noise, (coords) / NSCALE + vec2(btime * 1.1) * vec2(0.8, -1.0)).r + ) - vec2(0.5)) * 20.0 / u_resolution; + + vec4 color = texture2D(u_texture, c); + + if(noise > 0.85){ + if(color.g >= (S2).g - 0.1){ + color.rgb = S3; + }else{ + color.rgb = S2; + } + }else if(noise > 0.5){ + color.rgb = S2; + } + + if(orig.g > 0.01){ + color = max(S1, color); + } + + gl_FragColor = color; +} diff --git a/core/assets/shaders/atmosphere.frag b/core/assets/shaders/atmosphere.frag index f5f437f298..1c8c4966df 100644 --- a/core/assets/shaders/atmosphere.frag +++ b/core/assets/shaders/atmosphere.frag @@ -1,3 +1,5 @@ +#define HIGHP + const float PI = 3.14159265359; const float MAX = 10000.0; diff --git a/core/assets/shaders/blockbuild.frag b/core/assets/shaders/blockbuild.frag index fe877e873b..dc58d20761 100644 --- a/core/assets/shaders/blockbuild.frag +++ b/core/assets/shaders/blockbuild.frag @@ -1,3 +1,5 @@ +#define HIGHP + uniform sampler2D u_texture; uniform vec2 u_texsize; @@ -16,11 +18,17 @@ bool id(vec2 coords, vec4 base){ } bool cont(vec2 T, vec2 v){ - const float step = 3.0; + const float step = 3.5; vec4 base = texture2D(u_texture, T); return base.a > 0.1 && (id(T + vec2(0, step) * v, base) || id(T + vec2(0, -step) * v, base) || - id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base)); + id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base) || + id(T + vec2(step, step) * v, base) || id(T + vec2(step, -step) * v, base) || + id(T + vec2(-step, -step) * v, base) || id(T + vec2(-step, step) * v, base)); +} + +vec4 blend(vec4 dst, vec4 src){ + return src * src.a + dst * (1.0 - src.a); } void main(){ @@ -37,11 +45,11 @@ void main(){ float dst = (abs(center.x - coords.x) + abs(center.y - coords.y))/2.0; if((mod(u_time / 1.5 + value, 20.0) < 15.0 && cont(t, v))){ - gl_FragColor = v_color; + gl_FragColor = blend(color, v_color); }else if(dst > (1.0-u_progress) * (center.x)){ gl_FragColor = color; - }else if((dst + 1.0 > (1.0-u_progress) * (center.x)) && color.a > 0.1){ - gl_FragColor = v_color; + }else if((dst + 2.0 > (1.0-u_progress) * (center.x)) && color.a > 0.1){ + gl_FragColor = blend(color, v_color); }else{ gl_FragColor = vec4(0.0); } diff --git a/core/assets/shaders/caustics.frag b/core/assets/shaders/caustics.frag new file mode 100644 index 0000000000..ddc4b80bbc --- /dev/null +++ b/core/assets/shaders/caustics.frag @@ -0,0 +1,24 @@ +#define HIGHP + +#define NSCALE 200.0 / 1.8 + +uniform sampler2D u_texture; +uniform sampler2D u_noise; + +uniform vec2 u_campos; +uniform vec2 u_resolution; +uniform float u_time; + +varying vec2 v_texCoords; + +void main(){ + vec2 c = v_texCoords.xy; + vec2 coords = vec2(c.x * u_resolution.x + u_campos.x, c.y * u_resolution.y + u_campos.y); + + float btime = u_time / 3400.0; + vec4 noise1 = texture2D(u_noise, (coords) / NSCALE + vec2(btime) * vec2(-0.9, 0.8)); + vec4 noise2 = texture2D(u_noise, (coords) / NSCALE + vec2(btime * 1.1) * vec2(0.8, -1.0)); + //vec4 noise3 = texture2D(u_noise, (coords) / (NSCALE * 2.0) + vec2(btime * 0.9) * vec2(0.8, 1.0)); + + gl_FragColor = vec4(vec3(min(noise1.r, noise2.r)), 0.2); +} diff --git a/core/assets/shaders/clouds.vert b/core/assets/shaders/clouds.vert new file mode 100755 index 0000000000..869b40b964 --- /dev/null +++ b/core/assets/shaders/clouds.vert @@ -0,0 +1,20 @@ +attribute vec4 a_position; +attribute vec3 a_normal; +attribute vec4 a_color; + +uniform mat4 u_proj; +uniform mat4 u_trans; +uniform vec3 u_lightdir; +uniform vec3 u_ambientColor; +uniform float u_alpha; + +varying vec4 v_col; + +const vec3 diffuse = vec3(0.01); + +void main(){ + vec3 norc = u_ambientColor * (diffuse + vec3(clamp((dot(a_normal, u_lightdir) + 1.0) / 2.0, 0.0, 1.0))); + + v_col = a_color * vec4(norc, u_alpha); + gl_Position = u_proj * u_trans * a_position; +} diff --git a/core/assets/shaders/cryofluid.frag b/core/assets/shaders/cryofluid.frag new file mode 100644 index 0000000000..6bfac12520 --- /dev/null +++ b/core/assets/shaders/cryofluid.frag @@ -0,0 +1,33 @@ +#define HIGHP + +//shades of cryofluid +#define S1 vec3(53.0, 83.0, 93.0) / 100.0 +#define S2 vec3(68.0, 90.0, 97.0) / 100.0 +#define NSCALE 100.0 / 2.0 + +uniform sampler2D u_texture; +uniform sampler2D u_noise; + +uniform vec2 u_campos; +uniform vec2 u_resolution; +uniform float u_time; + +varying vec2 v_texCoords; + +void main(){ + vec2 c = v_texCoords.xy; + vec2 coords = vec2(c.x * u_resolution.x + u_campos.x, c.y * u_resolution.y + u_campos.y); + + float btime = u_time / 5000.0; + float wave = abs(sin(coords.x * 1.1 + coords.y) + 0.1 * sin(2.5 * coords.x) + 0.15 * sin(3.0 * coords.y)) / 30.0; + float noise = wave + (texture2D(u_noise, (coords) / NSCALE + vec2(btime) * vec2(-0.2, 0.8)).r + texture2D(u_noise, (coords) / NSCALE + vec2(btime * 1.1) * vec2(0.8, -1.0)).r) / 2.0; + vec4 color = texture2D(u_texture, c); + + if(noise > 0.54 && noise < 0.57){ + color.rgb = S2; + }else if (noise > 0.49 && noise < 0.62){ + color.rgb = S1; + } + + gl_FragColor = color; +} diff --git a/core/assets/shaders/fog.frag b/core/assets/shaders/fog.frag new file mode 100644 index 0000000000..6f474c7ddd --- /dev/null +++ b/core/assets/shaders/fog.frag @@ -0,0 +1,12 @@ +#define HIGHP +#define QUANT 0.3 + +uniform sampler2D u_texture; + +varying vec4 v_color; +varying vec2 v_texCoords; + +void main(){ + vec4 color = texture2D(u_texture, v_texCoords.xy); + gl_FragColor = vec4(1.0, 1.0, 1.0, (1.0 - floor(color.r / QUANT) * QUANT) * (step(color.r, 0.99))) * v_color; +} diff --git a/core/assets/shaders/mud.frag b/core/assets/shaders/mud.frag index 3858cdec63..c185c0e552 100644 --- a/core/assets/shaders/mud.frag +++ b/core/assets/shaders/mud.frag @@ -20,9 +20,9 @@ void main(){ vec4 color = texture2D(u_texture, c); if(noise > 0.54 && noise < 0.68){ - color.rgb *= 1.4; + color.rgb *= vec3(1.4); }else if(!(noise > 0.40 && noise < 0.54)){ - color.rgb *= 1.2; + color.rgb *= vec3(1.2); } gl_FragColor = color; diff --git a/core/assets/shaders/planet.vert b/core/assets/shaders/planet.vert index 182fe68972..7c73fb8aa5 100755 --- a/core/assets/shaders/planet.vert +++ b/core/assets/shaders/planet.vert @@ -6,20 +6,26 @@ uniform mat4 u_proj; uniform mat4 u_trans; uniform vec3 u_lightdir; uniform vec3 u_camdir; +uniform vec3 u_campos; uniform vec3 u_ambientColor; varying vec4 v_col; const vec3 diffuse = vec3(0.01); -const float shinefalloff = 4.0; -const float shinelen = 0.2; void main(){ - vec3 norc = u_ambientColor * (diffuse + vec3(clamp((dot(a_normal, u_lightdir) + 1.0) / 2.0, 0.0, 1.0))); - float shinedot = max((-dot(u_camdir, a_normal) - (1.0 - shinelen)) / shinelen, 0.0); - float albedo = (1.0 - a_color.a) * pow(shinedot, shinefalloff); - vec4 baseCol = vec4(a_color.rgb, 1.0); + vec3 specular = vec3(0.0, 0.0, 0.0); - v_col = mix(baseCol * vec4(norc, 1.0), vec4(1.0), albedo * norc.r); + //TODO this calculation is probably wrong + vec3 lightReflect = normalize(reflect(a_normal, u_lightdir)); + vec3 vertexEye = normalize(u_campos - (u_trans * a_position).xyz); + float specularFactor = dot(vertexEye, lightReflect); + if(specularFactor > 0.0){ + specular = vec3(1.0 * pow(specularFactor, 40.0)) * (1.0-a_color.a); + } + + vec3 norc = (u_ambientColor + specular) * (diffuse + vec3(clamp((dot(a_normal, u_lightdir) + 1.0) / 2.0, 0.0, 1.0))); + + v_col = vec4(a_color.rgb, 1.0) * vec4(norc, 1.0); gl_Position = u_proj * u_trans * a_position; } diff --git a/core/assets/shaders/shield.frag b/core/assets/shaders/shield.frag index d4fdd10998..098f62c7b1 100644 --- a/core/assets/shaders/shield.frag +++ b/core/assets/shaders/shield.frag @@ -18,24 +18,24 @@ void main(){ T += vec2(sin(coords.y / 3.0 + u_time / 20.0), sin(coords.x / 3.0 + u_time / 20.0)) / u_texsize; - vec4 color = texture2D(u_texture, T); - vec2 v = u_invsize; + vec4 color = texture2D(u_texture, T); + vec2 v = u_invsize; vec4 maxed = max(max(max(texture2D(u_texture, T + vec2(0, step) * v), texture2D(u_texture, T + vec2(0, -step) * v)), texture2D(u_texture, T + vec2(step, 0) * v)), texture2D(u_texture, T + vec2(-step, 0) * v)); - if(texture2D(u_texture, T).a < 0.9 && maxed.a > 0.9){ + if(texture2D(u_texture, T).a < 0.9 && maxed.a > 0.9){ - gl_FragColor = vec4(maxed.rgb, maxed.a * 100.0); - }else{ + gl_FragColor = vec4(maxed.rgb, maxed.a * 100.0); + }else{ - if(color.a > 0.0){ - if(mod(coords.x / u_dp + coords.y / u_dp + sin(coords.x / u_dp / 5.0) * 3.0 + sin(coords.y / u_dp / 5.0) * 3.0 + u_time / 4.0, 10.0) < 2.0){ - color *= 1.65; - } - - color.a = ALPHA; - } - - gl_FragColor = color; - } + if(color.a > 0.0){ + if(mod(coords.x / u_dp + coords.y / u_dp + sin(coords.x / u_dp / 5.0) * 3.0 + sin(coords.y / u_dp / 5.0) * 3.0 + u_time / 4.0, 10.0) < 2.0){ + color *= 1.65; + } + + color.a = ALPHA; + } + + gl_FragColor = color; + } } diff --git a/core/assets/shaders/shockwave.frag b/core/assets/shaders/shockwave.frag new file mode 100644 index 0000000000..d9397920e8 --- /dev/null +++ b/core/assets/shaders/shockwave.frag @@ -0,0 +1,42 @@ +#define MAX_SHOCKWAVES 64 +#define WAVE_RADIUS 5.0 +#define DIFF_SCL 1.5 +#define WAVE_POW 0.8 + +varying vec2 v_texCoords; + +uniform sampler2D u_texture; +uniform vec2 u_resolution; +uniform vec2 u_campos; +uniform vec4 u_shockwaves[MAX_SHOCKWAVES]; +uniform int u_shockwave_count; + +void main(){ + vec2 worldCoords = v_texCoords * u_resolution + u_campos; + vec2 uv = v_texCoords; + vec2 displacement = vec2(0.0, 0.0); + + for(int i = 0; i < MAX_SHOCKWAVES; i ++){ + vec4 wave = u_shockwaves[i]; + float radius = wave.z; + float dst = distance(worldCoords, wave.xy); + float strength = wave.w * (1.0 - abs(dst - radius) / WAVE_RADIUS); + + if(abs(dst - radius) <= WAVE_RADIUS){ + float diff = (dst - radius); + + float pdiff = 1.0 - pow(abs(diff * DIFF_SCL), WAVE_POW); + float diffTime = diff * pdiff; + vec2 relative = normalize(worldCoords - wave.xy); + + displacement += (relative * diffTime * strength) / u_resolution; + } + + if(i >= u_shockwave_count - 1){ + break; + } + } + + vec4 c = texture2D(u_texture, uv + displacement); + gl_FragColor = c; +} \ No newline at end of file diff --git a/core/assets/shaders/slag.frag b/core/assets/shaders/slag.frag index c038baf292..2750d32ecd 100755 --- a/core/assets/shaders/slag.frag +++ b/core/assets/shaders/slag.frag @@ -18,7 +18,7 @@ void main(){ vec2 c = v_texCoords.xy; vec2 coords = vec2(c.x * u_resolution.x + u_campos.x, c.y * u_resolution.y + u_campos.y); - float btime = u_time / 4000.0; + float btime = u_time / 5000.0; float noise = (texture2D(u_noise, (coords) / NSCALE + vec2(btime) * vec2(-0.9, 0.8)).r + texture2D(u_noise, (coords) / NSCALE + vec2(btime * 1.1) * vec2(0.8, -1.0)).r) / 2.0; vec4 color = texture2D(u_texture, c); diff --git a/core/assets/shaders/unitarmor.frag b/core/assets/shaders/unitarmor.frag new file mode 100644 index 0000000000..1e475fda17 --- /dev/null +++ b/core/assets/shaders/unitarmor.frag @@ -0,0 +1,21 @@ +uniform sampler2D u_texture; + +uniform float u_time; +uniform float u_progress; +uniform vec2 u_uv; +uniform vec2 u_uv2; +uniform vec2 u_texsize; + +varying vec4 v_color; +varying vec2 v_texCoords; + +void main(){ + vec2 coords = (v_texCoords - u_uv) / (u_uv2 - u_uv); + vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y); + + vec4 c = texture2D(u_texture, v_texCoords); + c.a *= u_progress; + c.a *= step(abs(sin(coords.y*3.0 + u_time)), 0.9); + + gl_FragColor = c * v_color; +} diff --git a/core/assets/shaders/unitbuild.frag b/core/assets/shaders/unitbuild.frag index d4657060da..9f4386aba7 100644 --- a/core/assets/shaders/unitbuild.frag +++ b/core/assets/shaders/unitbuild.frag @@ -1,5 +1,3 @@ -#define step 3.0 - uniform sampler2D u_texture; uniform float u_time; @@ -12,40 +10,17 @@ uniform vec2 u_texsize; varying vec4 v_color; varying vec2 v_texCoords; -bool id(vec4 v){ - return v.a > 0.1; -} - -bool id(vec2 coords, vec4 base){ - vec4 target = texture2D(u_texture, coords); - return target.a < 0.1 || (coords.x < u_uv.x || coords.y < u_uv.y || coords.x > u_uv2.x || coords.y > u_uv2.y); -} - -bool cont(vec2 T, vec2 v){ - vec4 base = texture2D(u_texture, T); - return base.a > 0.1 && - (id(T + vec2(0, step) * v, base) || id(T + vec2(0, -step) * v, base) || - id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base) || - id(T + vec2(step, step) * v, base) || id(T + vec2(-step, -step) * v, base) || - id(T + vec2(step, -step) * v, base) || id(T + vec2(-step, step) * v, base)); -} - void main(){ - vec2 coords = (v_texCoords.xy - u_uv) / (u_uv2 - u_uv); - vec2 t = v_texCoords.xy; + vec2 coords = (v_texCoords - u_uv) / (u_uv2 - u_uv); vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y); - vec4 c = texture2D(u_texture, v_texCoords.xy); + vec4 c = texture2D(u_texture, v_texCoords); float alpha = c.a; c.a *= u_progress; if(c.a > 0.01){ - float f = abs(sin(coords.x*2.0 + u_time)); - if(f > 0.9) - f = 1.0; - else - f = 0.0; + float f = step(abs(sin(coords.x*2.0 + u_time)), 0.9); c = mix(c, u_color, f * u_color.a); } diff --git a/core/assets/shaders/water.frag b/core/assets/shaders/water.frag index e7f4ee1016..30679b2da5 100644 --- a/core/assets/shaders/water.frag +++ b/core/assets/shaders/water.frag @@ -14,13 +14,13 @@ const float mth = 7.0; void main(){ vec2 c = v_texCoords; - vec2 v = vec2(1.0/u_resolution.x, 1.0/u_resolution.y); vec2 coords = vec2(c.x / v.x + u_campos.x, c.y / v.y + u_campos.y); float stime = u_time / 5.0; - vec3 color = texture2D(u_texture, c + vec2(sin(stime/3.0 + coords.y/0.75) * v.x, 0.0)).rgb * vec3(0.9, 0.9, 1); + vec4 sampled = texture2D(u_texture, c + vec2(sin(stime/3.0 + coords.y/0.75) * v.x, 0.0)); + vec3 color = sampled.rgb * vec3(0.9, 0.9, 1); float tester = mod((coords.x + coords.y*1.1 + sin(stime / 8.0 + coords.x/5.0 - coords.y/100.0)*2.0) + sin(stime / 20.0 + coords.y/3.0) * 1.0 + @@ -33,5 +33,5 @@ void main(){ color *= 1.2; } - gl_FragColor = vec4(color.rgb, 1.0); + gl_FragColor = vec4(color.rgb, min(sampled.a * 100.0, 1.0)); } diff --git a/core/assets/sounds/bioLoop.ogg b/core/assets/sounds/bioLoop.ogg new file mode 100644 index 0000000000..8face415ae Binary files /dev/null and b/core/assets/sounds/bioLoop.ogg differ diff --git a/core/assets/sounds/blaster.ogg b/core/assets/sounds/blaster.ogg new file mode 100644 index 0000000000..eaade08fd1 Binary files /dev/null and b/core/assets/sounds/blaster.ogg differ diff --git a/core/assets/sounds/bolt.ogg b/core/assets/sounds/bolt.ogg new file mode 100644 index 0000000000..7088f30da7 Binary files /dev/null and b/core/assets/sounds/bolt.ogg differ diff --git a/core/assets/sounds/build.ogg b/core/assets/sounds/build.ogg index 8235d41eb9..e39daef50b 100644 Binary files a/core/assets/sounds/build.ogg and b/core/assets/sounds/build.ogg differ diff --git a/core/assets/sounds/cannon.ogg b/core/assets/sounds/cannon.ogg new file mode 100644 index 0000000000..c8ee4264ff Binary files /dev/null and b/core/assets/sounds/cannon.ogg differ diff --git a/core/assets/sounds/drill.ogg b/core/assets/sounds/drill.ogg index f21898b646..ea75df8198 100644 Binary files a/core/assets/sounds/drill.ogg and b/core/assets/sounds/drill.ogg differ diff --git a/core/assets/sounds/drillCharge.ogg b/core/assets/sounds/drillCharge.ogg new file mode 100644 index 0000000000..a22f5efa1c Binary files /dev/null and b/core/assets/sounds/drillCharge.ogg differ diff --git a/core/assets/sounds/drillImpact.ogg b/core/assets/sounds/drillImpact.ogg new file mode 100644 index 0000000000..f14e992170 Binary files /dev/null and b/core/assets/sounds/drillImpact.ogg differ diff --git a/core/assets/sounds/dullExplosion.ogg b/core/assets/sounds/dullExplosion.ogg new file mode 100644 index 0000000000..37eb43c3a3 Binary files /dev/null and b/core/assets/sounds/dullExplosion.ogg differ diff --git a/core/assets/sounds/electricHum.ogg b/core/assets/sounds/electricHum.ogg new file mode 100644 index 0000000000..40a4a40761 Binary files /dev/null and b/core/assets/sounds/electricHum.ogg differ diff --git a/core/assets/sounds/extractLoop.ogg b/core/assets/sounds/extractLoop.ogg new file mode 100644 index 0000000000..a41369ed31 Binary files /dev/null and b/core/assets/sounds/extractLoop.ogg differ diff --git a/core/assets/sounds/flux.ogg b/core/assets/sounds/flux.ogg new file mode 100644 index 0000000000..39f64f3828 Binary files /dev/null and b/core/assets/sounds/flux.ogg differ diff --git a/core/assets/sounds/glow.ogg b/core/assets/sounds/glow.ogg new file mode 100644 index 0000000000..1d4764ead8 Binary files /dev/null and b/core/assets/sounds/glow.ogg differ diff --git a/core/assets/sounds/largeCannon.ogg b/core/assets/sounds/largeCannon.ogg new file mode 100644 index 0000000000..b5b7e3b81a Binary files /dev/null and b/core/assets/sounds/largeCannon.ogg differ diff --git a/core/assets/sounds/largeExplosion.ogg b/core/assets/sounds/largeExplosion.ogg new file mode 100644 index 0000000000..35e62f0c30 Binary files /dev/null and b/core/assets/sounds/largeExplosion.ogg differ diff --git a/core/assets/sounds/laserbeam.ogg b/core/assets/sounds/laserbeam.ogg new file mode 100644 index 0000000000..30cfe4f9a4 Binary files /dev/null and b/core/assets/sounds/laserbeam.ogg differ diff --git a/core/assets/sounds/malignShoot.ogg b/core/assets/sounds/malignShoot.ogg new file mode 100644 index 0000000000..1debfea2ea Binary files /dev/null and b/core/assets/sounds/malignShoot.ogg differ diff --git a/core/assets/sounds/mediumCannon.ogg b/core/assets/sounds/mediumCannon.ogg new file mode 100644 index 0000000000..84153aa7e5 Binary files /dev/null and b/core/assets/sounds/mediumCannon.ogg differ diff --git a/core/assets/sounds/mineDeploy.ogg b/core/assets/sounds/mineDeploy.ogg new file mode 100644 index 0000000000..69fb5d2f98 Binary files /dev/null and b/core/assets/sounds/mineDeploy.ogg differ diff --git a/core/assets/sounds/missileLarge.ogg b/core/assets/sounds/missileLarge.ogg new file mode 100644 index 0000000000..36ea32baf5 Binary files /dev/null and b/core/assets/sounds/missileLarge.ogg differ diff --git a/core/assets/sounds/missileLaunch.ogg b/core/assets/sounds/missileLaunch.ogg new file mode 100644 index 0000000000..f8a0765989 Binary files /dev/null and b/core/assets/sounds/missileLaunch.ogg differ diff --git a/core/assets/sounds/missileSmall.ogg b/core/assets/sounds/missileSmall.ogg new file mode 100644 index 0000000000..1ed8349395 Binary files /dev/null and b/core/assets/sounds/missileSmall.ogg differ diff --git a/core/assets/sounds/missileTrail.ogg b/core/assets/sounds/missileTrail.ogg new file mode 100644 index 0000000000..68ad990341 Binary files /dev/null and b/core/assets/sounds/missileTrail.ogg differ diff --git a/core/assets/sounds/pew_.ogg b/core/assets/sounds/pew_.ogg deleted file mode 100644 index 0c1df7f711..0000000000 Binary files a/core/assets/sounds/pew_.ogg and /dev/null differ diff --git a/core/assets/sounds/plantBreak.ogg b/core/assets/sounds/plantBreak.ogg new file mode 100644 index 0000000000..08d911b3e7 Binary files /dev/null and b/core/assets/sounds/plantBreak.ogg differ diff --git a/core/assets/sounds/pulseBlast.ogg b/core/assets/sounds/pulseBlast.ogg new file mode 100644 index 0000000000..9344179346 Binary files /dev/null and b/core/assets/sounds/pulseBlast.ogg differ diff --git a/core/assets/sounds/rockBreak.ogg b/core/assets/sounds/rockBreak.ogg new file mode 100644 index 0000000000..6a17a5edc2 Binary files /dev/null and b/core/assets/sounds/rockBreak.ogg differ diff --git a/core/assets/sounds/shockBlast.ogg b/core/assets/sounds/shockBlast.ogg new file mode 100644 index 0000000000..c4feef952f Binary files /dev/null and b/core/assets/sounds/shockBlast.ogg differ diff --git a/core/assets/sounds/shootAlt.ogg b/core/assets/sounds/shootAlt.ogg new file mode 100644 index 0000000000..e2c35502f6 Binary files /dev/null and b/core/assets/sounds/shootAlt.ogg differ diff --git a/core/assets/sounds/shootAltLong.ogg b/core/assets/sounds/shootAltLong.ogg new file mode 100644 index 0000000000..f0936a6683 Binary files /dev/null and b/core/assets/sounds/shootAltLong.ogg differ diff --git a/core/assets/sounds/shootSmite.ogg b/core/assets/sounds/shootSmite.ogg new file mode 100644 index 0000000000..6a24bb748c Binary files /dev/null and b/core/assets/sounds/shootSmite.ogg differ diff --git a/core/assets/sounds/spellLoop.ogg b/core/assets/sounds/spellLoop.ogg new file mode 100644 index 0000000000..b148ef3888 Binary files /dev/null and b/core/assets/sounds/spellLoop.ogg differ diff --git a/core/assets/sounds/titanExplosion.ogg b/core/assets/sounds/titanExplosion.ogg new file mode 100644 index 0000000000..57f0f8ca71 Binary files /dev/null and b/core/assets/sounds/titanExplosion.ogg differ diff --git a/core/assets/sounds/torch.ogg b/core/assets/sounds/torch.ogg new file mode 100644 index 0000000000..cd59e9f7b8 Binary files /dev/null and b/core/assets/sounds/torch.ogg differ diff --git a/core/assets/sounds/ui/chatMessage.ogg b/core/assets/sounds/ui/chatMessage.ogg new file mode 100644 index 0000000000..4d7e07ab4d Binary files /dev/null and b/core/assets/sounds/ui/chatMessage.ogg differ diff --git a/core/assets/sounds/ui/press.ogg b/core/assets/sounds/ui/press.ogg index 7085dc00a0..419cd38847 100644 Binary files a/core/assets/sounds/ui/press.ogg and b/core/assets/sounds/ui/press.ogg differ diff --git a/core/assets/sounds/wind3.ogg b/core/assets/sounds/wind3.ogg new file mode 100644 index 0000000000..315edc4146 Binary files /dev/null and b/core/assets/sounds/wind3.ogg differ diff --git a/core/assets/sounds/windowHide.ogg b/core/assets/sounds/windowHide.ogg deleted file mode 100644 index 9039d4e3b4..0000000000 Binary files a/core/assets/sounds/windowHide.ogg and /dev/null differ diff --git a/core/assets/sprites/caustics.png b/core/assets/sprites/caustics.png new file mode 100644 index 0000000000..69b344adcc Binary files /dev/null and b/core/assets/sprites/caustics.png differ diff --git a/core/assets/sprites/clouds.png b/core/assets/sprites/clouds.png new file mode 100644 index 0000000000..adcf7a97db Binary files /dev/null and b/core/assets/sprites/clouds.png differ diff --git a/core/assets/sprites/distortAlpha.png b/core/assets/sprites/distortAlpha.png new file mode 100644 index 0000000000..06810a4d71 Binary files /dev/null and b/core/assets/sprites/distortAlpha.png differ diff --git a/core/assets/sprites/planets/erekir.png b/core/assets/sprites/planets/erekir.png new file mode 100644 index 0000000000..f3e887205a Binary files /dev/null and b/core/assets/sprites/planets/erekir.png differ diff --git a/core/assets/sprites/planets/serpulo.png b/core/assets/sprites/planets/serpulo.png new file mode 100644 index 0000000000..b90097673e Binary files /dev/null and b/core/assets/sprites/planets/serpulo.png differ diff --git a/core/assets/sprites/rays.png b/core/assets/sprites/rays.png new file mode 100644 index 0000000000..28e281c510 Binary files /dev/null and b/core/assets/sprites/rays.png differ diff --git a/core/build.gradle b/core/build.gradle index caba473d6c..f7f291ef1a 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -1 +1,2 @@ sourceSets.main.java.srcDirs = ["src/", "$buildDir/generated/sources/annotationProcessor/java/main"] +sourceSets.main.kotlin.srcDirs = ["src/"] \ No newline at end of file diff --git a/core/convert_sounds.sh b/core/convert_sounds.sh deleted file mode 100755 index 02db793811..0000000000 --- a/core/convert_sounds.sh +++ /dev/null @@ -1,12 +0,0 @@ -#convert from stereo to mono -cd assets/sounds/ -for i in *.ogg; do - echo $i - ffmpeg -i "$i" -ac 1 "OUT_$i" -done - -find . -type f ! -name "OUT_*" -delete - -for file in OUT_*; do mv "$file" "${file#OUT_}"; done; - -cd ../../ diff --git a/core/src/mindustry/ClientLauncher.java b/core/src/mindustry/ClientLauncher.java index 978361898a..3e2fbca7df 100644 --- a/core/src/mindustry/ClientLauncher.java +++ b/core/src/mindustry/ClientLauncher.java @@ -4,11 +4,11 @@ import arc.*; import arc.assets.*; import arc.assets.loaders.*; import arc.audio.*; +import arc.files.*; import arc.graphics.*; import arc.graphics.g2d.*; import arc.math.*; import arc.util.*; -import arc.util.async.*; import mindustry.ai.*; import mindustry.core.*; import mindustry.ctype.*; @@ -18,7 +18,7 @@ import mindustry.gen.*; import mindustry.graphics.*; import mindustry.maps.*; import mindustry.mod.*; -import mindustry.net.Net; +import mindustry.net.*; import mindustry.ui.*; import static arc.Core.*; @@ -27,13 +27,20 @@ import static mindustry.Vars.*; public abstract class ClientLauncher extends ApplicationCore implements Platform{ private static final int loadingFPS = 20; - private long lastTime; + private long nextFrame; private long beginTime; + private long lastTargetFps = -1; private boolean finished = false; private LoadRenderer loader; @Override public void setup(){ + String dataDir = System.getProperty("mindustry.data.dir", OS.env("MINDUSTRY_DATA_DIR")); + if(dataDir != null){ + Core.settings.setDataDirectory(files.absolute(dataDir)); + } + + checkLaunch(); loadLogger(); loader = new LoadRenderer(); @@ -41,30 +48,101 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform loadFileLogger(); platform = this; + maxTextureSize = Gl.getInt(Gl.maxTextureSize); beginTime = Time.millis(); //debug GL information Log.info("[GL] Version: @", graphics.getGLVersion()); - Log.info("[GL] Max texture size: @", Gl.getInt(Gl.maxTextureSize)); + Log.info("[GL] Max texture size: @", maxTextureSize); Log.info("[GL] Using @ context.", gl30 != null ? "OpenGL 3" : "OpenGL 2"); - Log.info("[JAVA] Version: @", System.getProperty("java.version")); + if(NvGpuInfo.hasMemoryInfo()){ + Log.info("[GL] Total available VRAM: @mb", NvGpuInfo.getMaxMemoryKB()/1024); + } + if(maxTextureSize < 4096) Log.warn("[GL] Your maximum texture size is below the recommended minimum of 4096. This will cause severe performance issues."); + Log.info("[JAVA] Version: @", OS.javaVersion); + if(Core.app.isAndroid()){ + Log.info("[ANDROID] API level: @", Core.app.getVersion()); + } + long ram = Runtime.getRuntime().maxMemory(); + boolean gb = ram >= 1024 * 1024 * 1024; + if(!OS.isIos){ + Log.info("[RAM] Available: @ @", Strings.fixed(gb ? ram / 1024f / 1024 / 1024f : ram / 1024f / 1024f, 1), gb ? "GB" : "MB"); + } Time.setDeltaProvider(() -> { float result = Core.graphics.getDeltaTime() * 60f; - return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, 60f / 10f); + return (Float.isNaN(result) || Float.isInfinite(result)) ? 1f : Mathf.clamp(result, 0.0001f, maxDeltaClient); }); - batch = new SortedSpriteBatch(); + UI.loadColors(); + batch = new SpriteBatch(); assets = new AssetManager(); assets.setLoader(Texture.class, "." + mapExtension, new MapPreviewLoader()); tree = new FileTree(); - assets.setLoader(Sound.class, new SoundLoader(tree)); - assets.setLoader(Music.class, new MusicLoader(tree)); + assets.setLoader(Sound.class, new SoundLoader(tree){ + @Override + public void loadAsync(AssetManager manager, String fileName, Fi file, SoundParameter parameter){ + + } + + @Override + public Sound loadSync(AssetManager manager, String fileName, Fi file, SoundParameter parameter){ + if(parameter != null && parameter.sound != null){ + mainExecutor.submit(() -> parameter.sound.load(file)); + + return parameter.sound; + }else{ + Sound sound = new Sound(); + + mainExecutor.submit(() -> { + try{ + sound.load(file); + }catch(Throwable t){ + Log.err("Error loading sound: " + file, t); + } + }); + + return sound; + } + } + }); + assets.setLoader(Music.class, new MusicLoader(tree){ + @Override + public void loadAsync(AssetManager manager, String fileName, Fi file, MusicParameter parameter){} + + @Override + public Music loadSync(AssetManager manager, String fileName, Fi file, MusicParameter parameter){ + if(parameter != null && parameter.music != null){ + mainExecutor.submit(() -> { + try{ + parameter.music.load(file); + }catch(Throwable t){ + Log.err("Error loading music: " + file, t); + } + }); + + return parameter.music; + }else{ + Music music = new Music(); + + mainExecutor.submit(() -> { + try{ + music.load(file); + }catch(Throwable t){ + Log.err("Error loading music: " + file, t); + } + }); + + return music; + } + } + }); assets.load("sprites/error.png", Texture.class); atlas = TextureAtlas.blankAtlas(); Vars.net = new Net(platform.getNet()); + MapPreviewLoader.setupLoaders(); mods = new Mods(); schematics = new Schematics(); @@ -75,11 +153,7 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform Fonts.loadDefaultFont(); //load fallback atlas if max texture size is below 4096 - assets.load(new AssetDescriptor<>(Gl.getInt(Gl.maxTextureSize) >= 4096 ? "sprites/sprites.atlas" : "sprites/fallback/sprites.atlas", TextureAtlas.class)).loaded = t -> { - atlas = (TextureAtlas)t; - Fonts.mergeFontAtlas(atlas); - }; - + assets.load(new AssetDescriptor<>(maxTextureSize >= 4096 ? "sprites/sprites.aatls" : "sprites/fallback/sprites.aatls", TextureAtlas.class)).loaded = t -> atlas = t; assets.loadRun("maps", Map.class, () -> maps.loadPreviews()); Musics.load(); @@ -93,6 +167,9 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform content.createModContent(); }); + assets.load(mods); + assets.loadRun("mergeUI", PixmapPacker.class, () -> {}, () -> Fonts.mergeFontAtlas(atlas)); + add(logic = new Logic()); add(control = new Control()); add(renderer = new Renderer()); @@ -100,7 +177,6 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform add(netServer = new NetServer()); add(netClient = new NetClient()); - assets.load(mods); assets.load(schematics); assets.loadRun("contentinit", ContentLoader.class, () -> content.init(), () -> content.load()); @@ -130,6 +206,18 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform @Override public void update(){ + int targetfps = Core.settings.getInt("fpscap", 120); + boolean changed = lastTargetFps != targetfps && lastTargetFps != -1; + boolean limitFps = targetfps > 0 && targetfps <= 240; + + lastTargetFps = targetfps; + + if(limitFps && !changed){ + nextFrame += (1000 * 1000000) / targetfps; + }else{ + nextFrame = Time.nanos(); + } + if(!finished){ if(loader != null){ loader.draw(); @@ -137,15 +225,21 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform if(assets.update(1000 / loadingFPS)){ loader.dispose(); loader = null; - Log.info("Total time to load: @", Time.timeSinceMillis(beginTime)); + Log.info("Total time to load: @ms", Time.timeSinceMillis(beginTime)); for(ApplicationListener listener : modules){ listener.init(); } mods.eachClass(Mod::init); finished = true; Events.fire(new ClientLoadEvent()); + clientLoaded = true; super.resize(graphics.getWidth(), graphics.getHeight()); - app.post(() -> app.post(() -> app.post(() -> app.post(() -> super.resize(graphics.getWidth(), graphics.getHeight()))))); + app.post(() -> app.post(() -> app.post(() -> app.post(() -> { + super.resize(graphics.getWidth(), graphics.getHeight()); + + //mark initialization as complete + finishLaunch(); + })))); } }else{ asyncCore.begin(); @@ -155,21 +249,24 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform asyncCore.end(); } - 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){ - Threads.sleep((target - elapsed) / 1000000, (int)((target - elapsed) % 1000000)); + if(limitFps){ + long current = Time.nanos(); + if(nextFrame > current){ + long toSleep = nextFrame - current; + Threads.sleep(toSleep / 1000000, (int)(toSleep % 1000000)); } } + } - lastTime = Time.nanos(); + @Override + public void exit(){ + //on graceful exit, finish the launch normally. + Vars.finishLaunch(); } @Override public void init(){ + nextFrame = Time.nanos(); setup(); } @@ -182,6 +279,11 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform @Override public void pause(){ + //when the user tabs out on mobile, the exit() event doesn't fire reliably - in that case, just assume they're about to kill the app + //this isn't 100% reliable but it should work for most cases + if(mobile){ + Vars.finishLaunch(); + } if(finished){ super.pause(); } diff --git a/core/src/mindustry/Vars.java b/core/src/mindustry/Vars.java index d8928a434e..eacdd4bd2d 100644 --- a/core/src/mindustry/Vars.java +++ b/core/src/mindustry/Vars.java @@ -11,37 +11,52 @@ import arc.util.Log.*; import mindustry.ai.*; import mindustry.async.*; import mindustry.core.*; +import mindustry.ctype.*; +import mindustry.editor.*; import mindustry.entities.*; import mindustry.game.EventType.*; import mindustry.game.*; import mindustry.gen.*; +import mindustry.graphics.*; import mindustry.input.*; import mindustry.io.*; import mindustry.logic.*; import mindustry.maps.Map; import mindustry.maps.*; import mindustry.mod.*; -import mindustry.net.Net; import mindustry.net.*; +import mindustry.service.*; +import mindustry.ui.dialogs.*; import mindustry.world.*; +import mindustry.world.blocks.storage.*; +import mindustry.world.meta.*; import java.io.*; import java.nio.charset.*; import java.util.*; +import java.util.concurrent.*; import static arc.Core.*; public class Vars implements Loadable{ + /** Whether the game failed to launch last time. */ + public static boolean failedToLaunch = false; /** Whether to load locales.*/ public static boolean loadLocales = true; /** Whether the logger is loaded. */ public static boolean loadedLogger = false, loadedFileLogger = false; - /** Whether to enable various experimental features (e.g. cliffs) */ - public static boolean experimental = false; + /** Name of current Steam player. */ + public static String steamPlayerName = ""; + /** If true, the BE server list is always used. */ + public static boolean forceBeServers = false; + /** Default accessible content types used for player-selectable icons. */ + public static final ContentType[] defaultContentIcons = {ContentType.item, ContentType.liquid, ContentType.block, ContentType.unit}; + /** Default rule environment. */ + public static final int defaultEnv = Env.terrestrial | Env.spores | Env.groundOil | Env.groundWater | Env.oxygen; + /** Wall darkness radius. */ + public static final int darkRadius = 4; /** Maximum extra padding around deployment schematics. */ public static final int maxLoadoutSchematicPad = 5; - /** Maximum schematic size.*/ - public static final int maxSchematicSize = 32; /** All schematic base64 starts with this string.*/ public static final String schematicBaseStart ="bXNjaA"; /** IO buffer size. */ @@ -50,20 +65,18 @@ public class Vars implements Loadable{ public static final Charset charset = Charset.forName("UTF-8"); /** main application name, capitalized */ public static final String appName = "Mindustry"; - /** URL for itch.io donations. */ - public static final String donationURL = "https://anuke.itch.io/mindustry/purchase"; + /** Github API URL. */ + public static final String ghApi = "https://api.github.com"; /** URL for discord invite. */ public static final String discordURL = "https://discord.gg/mindustry"; - /** URL for sending crash reports to */ - public static final String crashReportURL = "http://192.99.169.18/report"; /** URL the links to the wiki's modding guide.*/ public static final String modGuideURL = "https://mindustrygame.github.io/wiki/modding/1-modding/"; - /** URL to the JSON file containing all the global, public servers. Not queried in BE. */ - public static final String serverJsonURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers.json"; - /** URL to the JSON file containing all the BE servers. Only queried in BE. */ - public static final String serverJsonBeURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers_be.json"; - /** URL to the JSON file containing all the BE servers. Only queried in the V6 alpha (will be removed once it's out). */ - public static final String serverJsonV6URL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers_v6.json"; + /** URLs to the JSON file containing all the BE servers. Only queried in BE. */ + public static final String[] serverJsonBeURLs = {"https://raw.githubusercontent.com/Anuken/MindustryServerList/master/servers_be.json", "https://cdn.jsdelivr.net/gh/anuken/mindustryserverlist/servers_be.json"}; + /** URLs to the JSON file containing all the stable servers. */ + public static final String[] serverJsonURLs = {"https://raw.githubusercontent.com/Anuken/MindustryServerList/master/servers_v8.json", "https://cdn.jsdelivr.net/gh/anuken/mindustryserverlist/servers_v8.json"}; + /** URLs to the JSON files containing the list of mods. */ + public static final String[] modJsonURLs = {"https://raw.githubusercontent.com/Anuken/MindustryMods/master/mods.json", "https://cdn.jsdelivr.net/gh/anuken/mindustrymods/mods.json"}; /** URL of the github issue report template.*/ public static final String reportIssueURL = "https://github.com/Anuken/Mindustry/issues/new?labels=bug&template=bug_report.md"; /** list of built-in servers.*/ @@ -78,12 +91,12 @@ public class Vars implements Loadable{ public static final int maxNameLength = 40; /** displayed item size when ingame. */ public static final float itemSize = 5f; - /** units outside of this bound will die instantly */ - public static final float finalWorldBounds = 500; - /** mining range for manual miners */ - public static final float miningRange = 70f; - /** range for building */ + /** units outside this bound will die instantly */ + public static final float finalWorldBounds = 250; + /** default range for building */ public static final float buildingRange = 220f; + /** scaling for unit circle collider radius, based on hitbox size */ + public static final float unitCollisionRadiusScale = 0.6f; /** range for moving items */ public static final float itemTransferRange = 220f; /** range for moving items for logic units */ @@ -92,18 +105,20 @@ public class Vars implements Loadable{ public static final float turnDuration = 2 * Time.toMinutes; /** chance of an invasion per turn, 1 = 100% */ public static final float baseInvasionChance = 1f / 100f; - /** how many turns have to pass before invasions start */ - public static final int invasionGracePeriod = 20; + /** how many minutes have to pass before invasions in a *captured* sector start */ + public static final float invasionGracePeriod = 20; /** min armor fraction damage; e.g. 0.05 = at least 5% damage */ public static final float minArmorDamage = 0.1f; - /** launch animation duration */ - public static final float launchDuration = 140f; + /** @deprecated see {@link CoreBlock#landDuration} instead! */ + public static final @Deprecated float coreLandDuration = 160f; /** size of tiles in units */ public static final int tilesize = 8; /** size of one tile payload (^2) */ public static final float tilePayload = tilesize * tilesize; - /** tile used in certain situations, instead of null */ - public static Tile emptyTile; + /** icon sizes for UI */ + public static final float iconXLarge = 8*6f, iconLarge = 8*5f, iconMed = 8*4f, iconSmall = 8*3f; + /** macbook screen notch height */ + public static float macNotchHeight = 32f; /** for map generator dialog */ public static boolean updateEditorOnChange = false; /** all choosable player colors in join/host dialog */ @@ -125,14 +140,41 @@ public class Vars implements Loadable{ Color.valueOf("4b5ef1"), Color.valueOf("2cabfe"), }; + /** Icons available to the user for customization in certain dialogs. */ + public static final String[] accessibleIcons = { + "effect", "power", "logic", "units", "liquid", "production", "defense", "turret", "distribution", "crafting", + "settings", "cancel", "zoom", "ok", "star", "home", "pencil", "up", "down", "left", "right", + "hammer", "warning", "tree", "admin", "map", "modePvp", "terrain", + "modeSurvival", "commandRally", "commandAttack", + }; + /** maximum TCP packet size */ + public static final int maxTcpSize = 1100; /** default server port */ public static final int port = 6567; /** multicast discovery port.*/ public static final int multicastPort = 20151; + /** Maximum char length of mod subtitles in browser/viewer. */ + public static final int maxModSubtitleLength = 40; /** multicast group for discovery.*/ public static final String multicastGroup = "227.2.7.7"; + /** Maximum delta time. If the actual delta time (*60) between frames is higher than this number, the game will start to slow down. */ + public static float maxDeltaClient = 6f, maxDeltaServer = 10f; + /** whether the graphical game client has loaded */ + public static boolean clientLoaded = false; + /** max GL texture size */ + public static int maxTextureSize = 2048; + /** Maximum schematic size.*/ + public static int maxSchematicSize = 64; + /** Whether to show sector info upon landing. */ + public static boolean showSectorLandInfo = true; + /** Whether to check for memory use before taking screenshots. */ + public static boolean checkScreenshotMemory = true; + /** Whether to prompt the user to confirm exiting. */ + public static boolean confirmExit = true; /** if true, UI is not drawn */ public static boolean disableUI; + /** if true, most autosaving is disabled. internal use only! */ + public static boolean disableSave; /** if true, game is set up in mobile mode, even on desktop. used for debugging */ public static boolean testMobile; /** whether the game is running on a mobile device */ @@ -145,8 +187,6 @@ public class Vars implements Loadable{ public static boolean headless; /** whether steam is enabled for this game */ public static boolean steam; - /** whether typing into the console is enabled - developers only */ - public static boolean enableConsole = false; /** whether to clear sector saves when landing */ public static boolean clearSectors = false; /** whether any light rendering is enabled */ @@ -172,18 +212,27 @@ public class Vars implements Loadable{ public static Fi schematicDirectory; /** data subdirectory used for bleeding edge build versions */ public static Fi bebuildDirectory; + /** file used to store launch ID */ + public static Fi launchIDFile; /** empty map, indicates no current map */ public static Map emptyMap; + /** empty tile for payloads */ + public static Tile emptyTile; /** map file extension */ public static final String mapExtension = "msav"; /** save file extension */ public static final String saveExtension = "msav"; /** schematic file extension */ public static final String schematicExtension = "msch"; + /** path to the java executable */ + public static String javaPath; /** list of all locales that can be switched to */ public static Locale[] locales; + //the main executor will only have at most [cores] number of threads active + public static ExecutorService mainExecutor = Threads.executor("Main Executor", OS.cores); + public static FileTree tree = new FileTree(); public static Net net; public static ContentLoader content; @@ -196,7 +245,9 @@ public class Vars implements Loadable{ public static BeControl becontrol; public static AsyncCore asyncCore; public static BaseRegistry bases; - public static GlobalConstants constants; + public static GlobalVars logicVars; + public static MapEditor editor; + public static GameService service = new GameService(); public static Universe universe; public static World world; @@ -204,6 +255,8 @@ public class Vars implements Loadable{ public static WaveSpawner spawner; public static BlockIndexer indexer; public static Pathfinder pathfinder; + public static ControlPathfinder controlPath; + public static FogControl fogControl; public static Control control; public static Logic logic; @@ -236,11 +289,16 @@ public class Vars implements Loadable{ } } - Arrays.sort(locales, Structs.comparing(l -> l.getDisplayName(l), String.CASE_INSENSITIVE_ORDER)); - locales = Seq.with(locales).and(new Locale("router")).toArray(Locale.class); + Arrays.sort(locales, Structs.comparing(LanguageDialog::getDisplayName, String.CASE_INSENSITIVE_ORDER)); + locales = Seq.with(locales).add(new Locale("router")).toArray(Locale.class); } Version.init(); + CacheLayer.init(); + + if(!headless){ + Log.info("[Mindustry] Version: @", Version.buildString()); + } dataDirectory = settings.getDataDirectory(); screenshotDirectory = dataDirectory.child("screenshots/"); @@ -252,7 +310,6 @@ public class Vars implements Loadable{ schematicDirectory = dataDirectory.child("schematics/"); bebuildDirectory = dataDirectory.child("be_builds/"); emptyMap = new Map(new StringMap()); - emptyTile = null; if(tree == null) tree = new FileTree(); if(mods == null) mods = new Mods(); @@ -264,13 +321,21 @@ public class Vars implements Loadable{ universe = new Universe(); becontrol = new BeControl(); asyncCore = new AsyncCore(); + if(!headless) editor = new MapEditor(); maps = new Maps(); spawner = new WaveSpawner(); indexer = new BlockIndexer(); pathfinder = new Pathfinder(); + controlPath = new ControlPathfinder(); + fogControl = new FogControl(); bases = new BaseRegistry(); - constants = new GlobalConstants(); + logicVars = new GlobalVars(); + javaPath = + new Fi(OS.prop("java.home")).child("bin/java").exists() ? new Fi(OS.prop("java.home")).child("bin/java").absolutePath() : + Core.files.local("jre/bin/java").exists() ? Core.files.local("jre/bin/java").absolutePath() : // Unix + Core.files.local("jre/bin/java.exe").exists() ? Core.files.local("jre/bin/java.exe").absolutePath() : // Windows + "java"; state = new GameState(); @@ -280,10 +345,35 @@ public class Vars implements Loadable{ modDirectory.mkdirs(); + Events.on(ContentInitEvent.class, e -> { + emptyTile = new Tile(Short.MAX_VALUE - 20, Short.MAX_VALUE - 20); + }); + mods.load(); maps.load(); } + /** Checks if a launch failure occurred. + * If this is the case, failedToLaunch is set to true. */ + public static void checkLaunch(){ + settings.setAppName(appName); + launchIDFile = settings.getDataDirectory().child("launchid.dat"); + + if(launchIDFile.exists()){ + failedToLaunch = true; + }else{ + failedToLaunch = false; + launchIDFile.writeString("go away"); + } + } + + /** Cleans up after a successful launch. */ + public static void finishLaunch(){ + if(launchIDFile != null){ + launchIDFile.delete(); + } + } + public static void loadLogger(){ if(loadedLogger) return; @@ -292,26 +382,28 @@ public class Vars implements Loadable{ Seq logBuffer = new Seq<>(); Log.logger = (level, text) -> { - String result = text; - String rawText = Log.format(stags[level.ordinal()] + "&fr " + text); - System.out.println(rawText); + synchronized(logBuffer){ + String result = text; + String rawText = Log.format(stags[level.ordinal()] + "&fr " + text); + System.out.println(rawText); - result = tags[level.ordinal()] + " " + result; + result = tags[level.ordinal()] + " " + result; - if(!headless && (ui == null || ui.scriptfrag == null)){ - logBuffer.add(result); - }else if(!headless){ - if(!OS.isWindows){ - for(String code : ColorCodes.values){ - result = result.replace(code, ""); + if(!headless && (ui == null || ui.consolefrag == null)){ + logBuffer.add(result); + }else if(!headless){ + if(!OS.isWindows){ + for(String code : ColorCodes.values){ + result = result.replace(code, ""); + } } - } - ui.scriptfrag.addMessage(Log.removeColors(result)); + ui.consolefrag.addMessage(Log.removeColors(result)); + } } }; - Events.on(ClientLoadEvent.class, e -> logBuffer.each(ui.scriptfrag::addMessage)); + Events.on(ClientLoadEvent.class, e -> logBuffer.each(ui.consolefrag::addMessage)); loadedLogger = true; } @@ -324,12 +416,11 @@ public class Vars implements Loadable{ try{ Writer writer = settings.getDataDirectory().child("last_log.txt").writer(false); LogHandler log = Log.logger; - //ignore it Log.logger = (level, text) -> { log.log(level, text); try{ - writer.write("[" + Character.toUpperCase(level.name().charAt(0)) +"] " + Log.removeColors(text) + "\n"); + writer.write("[" + Character.toUpperCase(level.name().charAt(0)) + "] " + Log.removeColors(text) + "\n"); writer.flush(); }catch(IOException e){ e.printStackTrace(); @@ -345,7 +436,7 @@ public class Vars implements Loadable{ } public static void loadSettings(){ - settings.setJson(JsonIO.json()); + settings.setJson(JsonIO.json); settings.setAppName(appName); if(steam || (Version.modifier != null && Version.modifier.contains("steam"))){ @@ -357,7 +448,12 @@ public class Vars implements Loadable{ settings.setAutosave(false); settings.load(); - Scl.setProduct(settings.getInt("uiscale", 100) / 100f); + //https://github.com/Anuken/Mindustry/issues/8483 + if(settings.getInt("uiscale") == 5){ + settings.put("uiscale", 100); + } + + Scl.setProduct(Math.max(settings.getInt("uiscale", 100), 25) / 100f); if(!loadLocales) return; @@ -371,7 +467,7 @@ public class Vars implements Loadable{ 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.")); + Time.run(10f, () -> ui.showInfo("Note: You have successfully loaded an external translation bundle.\n[accent]" + handle.absolutePath())); } }catch(Throwable e){ //no external bundle found @@ -397,8 +493,12 @@ public class Vars implements Loadable{ Core.bundle = I18NBundle.createBundle(handle, locale); //router - if(locale.getDisplayName().equals("router")){ - bundle.debug("router"); + if(locale.toString().equals("router")){ + I18NBundle defBundle = I18NBundle.createBundle(Core.files.internal("bundles/bundle")); + String router = Character.toString(Iconc.blockRouter); + for(String s : bundle.getKeys()){ + bundle.getProperties().put(s, Strings.stripColors(defBundle.get(s)).replaceAll("\\S", router)); + } } } } diff --git a/core/src/mindustry/ai/Astar.java b/core/src/mindustry/ai/Astar.java index df50547d22..23241e65cf 100644 --- a/core/src/mindustry/ai/Astar.java +++ b/core/src/mindustry/ai/Astar.java @@ -6,6 +6,8 @@ import arc.struct.*; import arc.util.*; import mindustry.world.*; +import java.util.*; + import static mindustry.Vars.*; public class Astar{ @@ -13,18 +15,18 @@ public class Astar{ private static final Seq out = new Seq<>(); private static final PQueue queue = new PQueue<>(200 * 200 / 4, (a, b) -> 0); - private static final IntFloatMap costs = new IntFloatMap(); + private static float[] costs; private static byte[][] rotations; - public static Seq pathfind(Tile from, Tile to, TileHueristic th, Boolf passable){ + public static Seq pathfind(Tile from, Tile to, TileHeuristic th, Boolf passable){ return pathfind(from.x, from.y, to.x, to.y, th, manhattan, passable); } - public static Seq pathfind(int startX, int startY, int endX, int endY, TileHueristic th, Boolf passable){ + public static Seq pathfind(int startX, int startY, int endX, int endY, TileHeuristic th, Boolf passable){ return pathfind(startX, startY, endX, endY, th, manhattan, passable); } - public static Seq pathfind(int startX, int startY, int endX, int endY, TileHueristic th, DistanceHeuristic dh, Boolf passable){ + public static Seq pathfind(int startX, int startY, int endX, int endY, TileHeuristic th, DistanceHeuristic dh, Boolf passable){ Tiles tiles = world.tiles; Tile start = tiles.getn(startX, startY); @@ -32,9 +34,14 @@ public class Astar{ GridBits closed = new GridBits(tiles.width, tiles.height); - costs.clear(); + if(costs == null || costs.length != tiles.width * tiles.height){ + costs = new float[tiles.width * tiles.height]; + } + + Arrays.fill(costs, 0); + queue.clear(); - queue.comparator = Structs.comparingFloat(a -> costs.get(a.pos(), 0f) + dh.cost(a.x, a.y, end.x, end.y)); + queue.comparator = Structs.comparingFloat(a -> costs[a.array()] + dh.cost(a.x, a.y, end.x, end.y)); queue.add(start); if(rotations == null || rotations.length != world.width() || rotations[0].length != world.height()){ rotations = new byte[world.width()][world.height()]; @@ -43,7 +50,7 @@ public class Astar{ boolean found = false; while(!queue.empty()){ Tile next = queue.poll(); - float baseCost = costs.get(next.pos(), 0f); + float baseCost = costs[next.array()]; if(next == end){ found = true; break; @@ -58,7 +65,7 @@ public class Astar{ if(!closed.get(child.x, child.y)){ closed.set(child.x, child.y); rotations[child.x][child.y] = child.relativeTo(next.x, next.y); - costs.put(child.pos(), newCost); + costs[child.array()] = newCost; queue.add(child); } } @@ -87,7 +94,7 @@ public class Astar{ float cost(int x1, int y1, int x2, int y2); } - public interface TileHueristic{ + public interface TileHeuristic{ float cost(Tile tile); default float cost(Tile from, Tile tile){ diff --git a/core/src/mindustry/ai/BaseAI.java b/core/src/mindustry/ai/BaseBuilderAI.java similarity index 58% rename from core/src/mindustry/ai/BaseAI.java rename to core/src/mindustry/ai/BaseBuilderAI.java index 85e6656d28..e9126f6ca5 100644 --- a/core/src/mindustry/ai/BaseAI.java +++ b/core/src/mindustry/ai/BaseBuilderAI.java @@ -14,31 +14,28 @@ import mindustry.game.Teams.*; import mindustry.gen.*; import mindustry.type.*; import mindustry.world.*; -import mindustry.world.blocks.defense.*; -import mindustry.world.blocks.distribution.*; +import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.production.*; import mindustry.world.blocks.storage.*; import mindustry.world.blocks.storage.CoreBlock.*; import static mindustry.Vars.*; -public class BaseAI{ +public class BaseBuilderAI{ private static final Vec2 axis = new Vec2(), rotator = new Vec2(); - private static final float correctPercent = 0.5f; - private static final int attempts = 4; + private static final int attempts = 6, coreUnitMultiplier = 2; private static final float emptyChance = 0.01f; private static final int timerStep = 0, timerSpawn = 1, timerRefreshPath = 2; + private static final float placeIntervalMin = 12f, placeIntervalMax = 2f; private static final int pathStep = 50; private static final Seq tmpTiles = new Seq<>(); private static int correct = 0, incorrect = 0; - private static boolean anyDrills; - private int lastX, lastY, lastW, lastH; - private boolean triedWalls, foundPath; + private boolean foundPath; - TeamData data; - Interval timer = new Interval(4); + final TeamData data; + final Interval timer = new Interval(4); IntSet path = new IntSet(); IntSet calcPath = new IntSet(); @@ -47,17 +44,26 @@ public class BaseAI{ int calcCount = 0; int totalCalcs = 0; - public BaseAI(TeamData data){ + public BaseBuilderAI(TeamData data){ this.data = data; } public void update(){ - if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){ + + //fill cores. + if(data.team.cores().size > 0){ + var core = data.team.cores().first(); + for(Item item : content.items()){ + core.items.set(item, core.getMaximumAccepted(item)); + } + } + + if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 6f) && data.hasCore()){ CoreBlock block = (CoreBlock)data.core().block; - int coreUnits = Groups.unit.count(u -> u.team == data.team && u.type == block.unitType); + int coreUnits = data.countType(block.unitType); //create AI core unit(s) - if(!state.isEditor() && coreUnits < data.cores.size){ + if(!state.isEditor() && coreUnits < data.cores.size * coreUnitMultiplier){ Unit unit = block.unitType.create(data.team); unit.set(data.cores.random()); unit.add(); @@ -88,61 +94,59 @@ public class BaseAI{ calculating = false; } }else{ - var field = pathfinder.getField(state.rules.waveTeam, Pathfinder.costGround, Pathfinder.fieldCore); + var field = pathfinder.getField(data.team, Pathfinder.costGround, Pathfinder.fieldCore); - int[][] weights = field.weights; - for(int i = 0; i < pathStep; i++){ - int minCost = Integer.MAX_VALUE; - int cx = calcTile.x, cy = calcTile.y; - boolean foundAny = false; - for(Point2 p : Geometry.d4){ - int nx = cx + p.x, ny = cy + p.y; + if(field.hasCompleteWeights()){ + int[] weights = field.completeWeights; + for(int i = 0; i < pathStep; i++){ + int minCost = Integer.MAX_VALUE; + int cx = calcTile.x, cy = calcTile.y; + boolean foundAny = false; + for(Point2 p : Geometry.d4){ + int nx = cx + p.x, ny = cy + p.y, packed = world.packArray(nx, ny); - Tile other = world.tile(nx, ny); - if(other != null && weights[nx][ny] < minCost && weights[nx][ny] != -1){ - minCost = weights[nx][ny]; - calcTile = other; - foundAny = true; + Tile other = world.tile(nx, ny); + if(other != null && weights[packed] < minCost && weights[packed] != -1){ + minCost = weights[packed]; + calcTile = other; + foundAny = true; + } } + + //didn't find anything, break out of loop, this will trigger a clear later + if(!foundAny){ + calcCount = Integer.MAX_VALUE; + break; + } + + calcPath.add(calcTile.pos()); + for(Point2 p : Geometry.d8){ + calcPath.add(Point2.pack(p.x + calcTile.x, p.y + calcTile.y)); + } + + //found the end. + if(calcTile.build instanceof CoreBuild b && b.team != data.team){ + //clean up calculations and flush results + calculating = false; + calcCount = 0; + path.clear(); + path.addAll(calcPath); + calcPath.clear(); + calcTile = null; + totalCalcs ++; + foundPath = true; + + break; + } + + calcCount ++; } - - //didn't find anything, break out of loop, this will trigger a clear later - if(!foundAny){ - calcCount = Integer.MAX_VALUE; - break; - } - - calcPath.add(calcTile.pos()); - for(Point2 p : Geometry.d8){ - calcPath.add(Point2.pack(p.x + calcTile.x, p.y + calcTile.y)); - } - - //found the end. - if(calcTile.build instanceof CoreBuild b && b.team == state.rules.defaultTeam){ - //clean up calculations and flush results - calculating = false; - calcCount = 0; - path.clear(); - path.addAll(calcPath); - calcPath.clear(); - calcTile = null; - totalCalcs ++; - foundPath = true; - - break; - } - - calcCount ++; } } } //only schedule when there's something to build. - if(foundPath && data.blocks.isEmpty() && timer.get(timerStep, Mathf.lerp(20f, 4f, data.team.rules().aiTier))){ - if(!triedWalls){ - tryWalls(); - triedWalls = true; - } + if((foundPath || !calculating) && data.plans.isEmpty() && timer.get(timerStep, Mathf.lerp(placeIntervalMin, placeIntervalMax, data.team.rules().buildAiTier))){ for(int i = 0; i < attempts; i++){ int range = 150; @@ -209,6 +213,16 @@ public class BaseAI{ } Tile wtile = world.tile(realX, realY); + if(tile.block instanceof PayloadConveyor || tile.block instanceof PayloadBlock){ + //near a building + for(Point2 point : Edges.getEdges(tile.block.size)){ + var t = world.build(tile.x + point.x, tile.y + point.y); + if(t != null){ + return false; + } + } + } + //may intersect AI path tmpTiles.clear(); if(tile.block.solid && wtile != null && wtile.getLinkedTilesAs(tile.block, tmpTiles).contains(t -> path.contains(t.pos()))){ @@ -218,7 +232,7 @@ public class BaseAI{ //make sure at least X% of resource requirements are met correct = incorrect = 0; - anyDrills = false; + boolean anyDrills = false; if(part.required instanceof Item){ for(Stile tile : result.tiles){ @@ -244,55 +258,9 @@ public class BaseAI{ //queue it for(Stile tile : result.tiles){ - data.blocks.add(new BlockPlan(cx + tile.x, cy + tile.y, tile.rotation, tile.block.id, tile.config)); + data.plans.add(new BlockPlan(cx + tile.x, cy + tile.y, tile.rotation, tile.block, tile.config)); } - lastX = cx - 1; - lastY = cy - 1; - lastW = result.width + 2; - lastH = result.height + 2; - - triedWalls = false; - return true; } - - private void tryWalls(){ - Block wall = Blocks.copperWall; - Building spawnt = state.rules.defaultTeam.core() != null ? state.rules.defaultTeam.core() : data.team.core(); - Tile spawn = spawnt == null ? null : spawnt.tile; - - if(spawn == null) return; - - for(int wx = lastX; wx <= lastX + lastW; wx++){ - for(int wy = lastY; wy <= lastY + lastH; wy++){ - Tile tile = world.tile(wx, wy); - - if(tile == null || !tile.block().alwaysReplace) continue; - - boolean any = false; - - for(Point2 p : Geometry.d8){ - if(Angles.angleDist(Angles.angle(p.x, p.y), spawn.angleTo(tile)) > 70){ - continue; - } - - Tile o = world.tile(tile.x + p.x, tile.y + p.y); - if(o != null && (o.block() instanceof PayloadAcceptor || o.block() instanceof PayloadConveyor)){ - break; - } - - if(o != null && o.team() == data.team && !(o.block() instanceof Wall)){ - any = true; - break; - } - } - - tmpTiles.clear(); - if(any && Build.validPlace(wall, data.team, tile.x, tile.y, 0) && !tile.getLinkedTilesAs(wall, tmpTiles).contains(t -> path.contains(t.pos()))){ - data.blocks.add(new BlockPlan(tile.x, tile.y, (short)0, wall.id, null)); - } - } - } - } -} +} \ No newline at end of file diff --git a/core/src/mindustry/ai/BaseRegistry.java b/core/src/mindustry/ai/BaseRegistry.java index 735e9162ef..d37f7b8826 100644 --- a/core/src/mindustry/ai/BaseRegistry.java +++ b/core/src/mindustry/ai/BaseRegistry.java @@ -39,8 +39,8 @@ public class BaseRegistry{ //load ore types and corresponding items for(Block block : content.blocks()){ - if(block instanceof OreBlock && block.asFloor().itemDrop != null){ - ores.put(block.asFloor().itemDrop, (OreBlock)block); + if(block instanceof OreBlock ore && ore.itemDrop != null && !ore.wallOre && !ores.containsKey(ore.itemDrop)){ + ores.put(ore.itemDrop, ore); }else if(block.isFloor() && block.asFloor().itemDrop != null && !oreFloors.containsKey(block.asFloor().itemDrop)){ oreFloors.put(block.asFloor().itemDrop, block.asFloor()); } diff --git a/core/src/mindustry/ai/BlockIndexer.java b/core/src/mindustry/ai/BlockIndexer.java index 683d04cc78..7f944a3eb0 100644 --- a/core/src/mindustry/ai/BlockIndexer.java +++ b/core/src/mindustry/ai/BlockIndexer.java @@ -4,262 +4,374 @@ import arc.*; import arc.func.*; import arc.math.*; import arc.math.geom.*; -import arc.struct.EnumSet; import arc.struct.*; import arc.util.*; import mindustry.content.*; -import mindustry.core.*; import mindustry.game.EventType.*; import mindustry.game.*; import mindustry.game.Teams.*; import mindustry.gen.*; +import mindustry.logic.*; import mindustry.type.*; import mindustry.world.*; -import mindustry.world.blocks.*; import mindustry.world.meta.*; -import java.util.*; - import static mindustry.Vars.*; /** Class used for indexing special target blocks for AI. */ public class BlockIndexer{ /** Size of one quadrant. */ - private static final int quadrantSize = 16; + private static final int quadrantSize = 20; + private static final Rect rect = new Rect(); + private static boolean returnBool = false; - /** Set of all ores that are being scanned. */ - private final ObjectSet scanOres = new ObjectSet<>(); - private final IntSet intSet = new IntSet(); - private final ObjectSet itemSet = new ObjectSet<>(); - /** Stores all ore quadtrants on the map. */ - private ObjectMap ores = new ObjectMap<>(); - /** Maps each team ID to a quarant. A quadrant is a grid of bits, where each bit is set if and only if there is a block of that team in that quadrant. */ - private GridBits[] structQuadrants; + private int quadWidth, quadHeight; + + /** Stores all ore quadrants on the map. Maps ID to qX to qY to a list of tiles with that ore. */ + private IntSeq[][][] ores; /** Stores all damaged tile entities by team. */ - private ObjectSet[] damagedTiles = new ObjectSet[Team.all.length]; + private Seq[] damagedTiles = new Seq[Team.all.length]; /** All ores available on this map. */ - private ObjectSet allOres = new ObjectSet<>(); + private ObjectIntMap allOres = new ObjectIntMap<>(); /** Stores teams that are present here as tiles. */ private Seq activeTeams = new Seq<>(Team.class); /** Maps teams to a map of flagged tiles by flag. */ - private TileArray[][] flagMap = new TileArray[Team.all.length][BlockFlag.all.length]; - /** Max units by team. */ - private int[] unitCaps = new int[Team.all.length]; - /** Maps tile positions to their last known tile index data. */ - private IntMap typeMap = new IntMap<>(); - /** Empty set used for returning. */ - private TileArray emptySet = new TileArray(); + private Seq[][] flagMap = new Seq[Team.all.length][BlockFlag.all.length]; + /** Counts whether a certain floor is present in the world upon load. */ + private boolean[] blocksPresent; /** Array used for returning and reusing. */ - private Seq returnArray = new Seq<>(); - /** Array used for returning and reusing. */ - private Seq breturnArray = new Seq<>(); + private Seq breturnArray = new Seq<>(Building.class); public BlockIndexer(){ + clearFlags(); + + Events.on(TilePreChangeEvent.class, event -> { + removeIndex(event.tile); + }); + Events.on(TileChangeEvent.class, event -> { - updateIndices(event.tile); + addIndex(event.tile); }); Events.on(WorldLoadEvent.class, event -> { - scanOres.clear(); - scanOres.addAll(Item.getAllOres()); - damagedTiles = new ObjectSet[Team.all.length]; - flagMap = new TileArray[Team.all.length][BlockFlag.all.length]; - unitCaps = new int[Team.all.length]; + damagedTiles = new Seq[Team.all.length]; + flagMap = new Seq[Team.all.length][BlockFlag.all.length]; activeTeams = new Seq<>(Team.class); - for(int i = 0; i < flagMap.length; i++){ - for(int j = 0; j < BlockFlag.all.length; j++){ - flagMap[i][j] = new TileArray(); + clearFlags(); + + allOres.clear(); + ores = new IntSeq[content.items().size][][]; + quadWidth = Mathf.ceil(world.width() / (float)quadrantSize); + quadHeight = Mathf.ceil(world.height() / (float)quadrantSize); + blocksPresent = new boolean[content.blocks().size]; + + //so WorldLoadEvent gets called twice sometimes... ugh + for(Team team : Team.all){ + var data = state.teams.get(team); + if(data != null){ + if(data.buildingTree != null) data.buildingTree.clear(); + if(data.turretTree != null) data.turretTree.clear(); } } - typeMap.clear(); - allOres.clear(); - ores = null; - - //create bitset for each team type that contains each quadrant - structQuadrants = new GridBits[Team.all.length]; - for(Tile tile : world.tiles){ process(tile); - if(tile.build != null && tile.build.damaged()){ - notifyTileDamaged(tile.build); - } + var drop = tile.drop(); - if(tile.drop() != null) allOres.add(tile.drop()); - } + if(drop != null){ + int qx = (tile.x / quadrantSize); + int qy = (tile.y / quadrantSize); - for(int x = 0; x < quadWidth(); x++){ - for(int y = 0; y < quadHeight(); y++){ - updateQuadrant(world.tile(x * quadrantSize, y * quadrantSize)); + //add position of quadrant to list + if(tile.block() == Blocks.air){ + if(ores[drop.id] == null){ + ores[drop.id] = new IntSeq[quadWidth][quadHeight]; + } + if(ores[drop.id][qx][qy] == null){ + ores[drop.id][qx][qy] = new IntSeq(false, 16); + } + ores[drop.id][qx][qy].add(tile.pos()); + allOres.increment(drop); + } } } - - scanOres(); }); } - public void updateIndices(Tile tile){ - if(typeMap.get(tile.pos()) != null){ - TileIndex index = typeMap.get(tile.pos()); - for(BlockFlag flag : index.flags){ - getFlagged(index.team)[flag.ordinal()].remove(tile); + public void removeIndex(Tile tile){ + var team = tile.team(); + if(tile.build != null && tile.isCenter()){ + var build = tile.build; + var flags = tile.block().flags; + var data = team.data(); + + if(flags.size > 0){ + for(BlockFlag flag : flags.array){ + getFlagged(team)[flag.ordinal()].remove(build); + } } - if(index.flags.contains(BlockFlag.unitModifier)){ - updateCap(index.team); + //no longer part of the building list + data.buildings.remove(build); + data.buildingTypes.get(build.block, () -> new Seq<>(false)).remove(build); + + //update the unit cap when building is removed + data.unitCap -= tile.block().unitCapModifier; + + //unregister building from building quadtree + if(data.buildingTree != null){ + data.buildingTree.remove(build); } + + //remove indexed turret + if(data.turretTree != null && build.block.attacks){ + data.turretTree.remove(build); + } + + //unregister damaged buildings + if(build.wasDamaged && damagedTiles[team.id] != null){ + damagedTiles[team.id].remove(build); + } + + //is no longer registered + build.wasDamaged = false; } + } + + public void addIndex(Tile tile){ process(tile); - updateQuadrant(tile); - } - private TileArray[] getFlagged(Team team){ - return flagMap[team.id]; - } + var drop = tile.drop(); + if(drop != null && ores != null){ + int qx = tile.x / quadrantSize; + int qy = tile.y / quadrantSize; - private GridBits structQuadrant(Team t){ - if(structQuadrants[t.id] == null){ - structQuadrants[t.id] = new GridBits(Mathf.ceil(world.width() / (float)quadrantSize), Mathf.ceil(world.height() / (float)quadrantSize)); - } - return structQuadrants[t.id]; - } + if(ores[drop.id] == null){ + ores[drop.id] = new IntSeq[quadWidth][quadHeight]; + } + if(ores[drop.id][qx][qy] == null){ + ores[drop.id][qx][qy] = new IntSeq(false, 16); + } - /** Updates all the structure quadrants for a newly activated team. */ - public void updateTeamIndex(Team team){ - if(structQuadrants == null) return; + int pos = tile.pos(); + var seq = ores[drop.id][qx][qy]; - //go through every tile... ouch - for(Tile tile : world.tiles){ - if(tile.team() == team){ - int quadrantX = tile.x / quadrantSize; - int quadrantY = tile.y / quadrantSize; - structQuadrant(team).set(quadrantX, quadrantY); + if(tile.block() == Blocks.air){ + //add the index if it is a valid new spot to mine at + if(!seq.contains(pos)){ + seq.add(pos); + allOres.increment(drop); + } + }else if(seq.contains(pos)){ //otherwise, it likely became blocked, remove it + seq.removeValue(pos); + allOres.increment(drop, -1); } } + + } + + /** @return whether a certain block is anywhere on this map. */ + public boolean isBlockPresent(Block block){ + return blocksPresent != null && blocksPresent[block.id]; + } + + private void clearFlags(){ + for(int i = 0; i < flagMap.length; i++){ + for(int j = 0; j < BlockFlag.all.length; j++){ + flagMap[i][j] = new Seq(); + } + } + } + + private Seq[] getFlagged(Team team){ + return flagMap[team.id]; } /** @return whether this item is present on this map. */ public boolean hasOre(Item item){ - return allOres.contains(item); + return allOres.get(item) > 0; } /** Returns all damaged tiles by team. */ - public ObjectSet getDamaged(Team team){ - breturnArray.clear(); - + public Seq getDamaged(Team team){ if(damagedTiles[team.id] == null){ - damagedTiles[team.id] = new ObjectSet<>(); + return damagedTiles[team.id] = new Seq<>(false); } - ObjectSet set = damagedTiles[team.id]; - for(Building build : set){ - if((!build.isValid() || build.team != team || !build.damaged()) || build.block instanceof ConstructBlock){ - breturnArray.add(build); - } - } + var tiles = damagedTiles[team.id]; + tiles.removeAll(b -> !b.damaged()); - for(Building tile : breturnArray){ - set.remove(tile); - } - - return set; + return tiles; } /** Get all allied blocks with a flag. */ - public TileArray getAllied(Team team, BlockFlag type){ + public Seq getFlagged(Team team, BlockFlag type){ return flagMap[team.id][type.ordinal()]; } @Nullable - public Tile findClosestFlag(float x, float y, Team team, BlockFlag flag){ - return Geometry.findClosest(x, y, getAllied(team, flag)); + public Building findClosestFlag(float x, float y, Team team, BlockFlag flag){ + return Geometry.findClosest(x, y, getFlagged(team, flag)); } public boolean eachBlock(Teamc team, float range, Boolf pred, Cons cons){ return eachBlock(team.team(), team.getX(), team.getY(), range, pred, cons); } - public boolean eachBlock(Team team, float wx, float wy, float range, Boolf pred, Cons cons){ - intSet.clear(); + public boolean eachBlock(@Nullable Team team, float wx, float wy, float range, Boolf pred, Cons cons){ - int tx = World.toTile(wx); - int ty = World.toTile(wy); + if(team == null){ + returnBool = false; - int tileRange = (int)(range / tilesize + 1); - boolean any = false; - - for(int x = -tileRange + tx; x <= tileRange + tx; x++){ - for(int y = -tileRange + ty; y <= tileRange + ty; y++){ - if(!Mathf.within(x * tilesize, y * tilesize, wx, wy, range)) continue; - - Building other = world.build(x, y); - - if(other == null) continue; - - if((team == null || other.team == team) && pred.get(other) && intSet.add(other.pos())){ - cons.get(other); - any = true; + allBuildings(wx, wy, range, b -> { + if(pred.get(b)){ + returnBool = true; + cons.get(b); } - } + }); + return returnBool; + }else{ + breturnArray.clear(); + + var buildings = team.data().buildingTree; + if(buildings == null) return false; + buildings.intersect(wx - range, wy - range, range*2f, range*2f, b -> { + if(b.within(wx, wy, range + b.hitSize() / 2f) && pred.get(b)){ + breturnArray.add(b); + } + }); } - return any; + int size = breturnArray.size; + var items = breturnArray.items; + for(int i = 0; i < size; i++){ + cons.get(items[i]); + items[i] = null; + } + breturnArray.size = 0; + + return size > 0; + } + + /** Does not work with null teams. */ + public boolean eachBlock(Team team, Rect rect, Boolf pred, Cons cons){ + if(team == null) return false; + + breturnArray.clear(); + + var buildings = team.data().buildingTree; + if(buildings == null) return false; + buildings.intersect(rect, b -> { + if(pred.get(b)){ + breturnArray.add(b); + } + }); + + int size = breturnArray.size; + var items = breturnArray.items; + for(int i = 0; i < size; i++){ + cons.get(items[i]); + items[i] = null; + } + breturnArray.size = 0; + + return size > 0; } /** Get all enemy blocks with a flag. */ - public Seq getEnemy(Team team, BlockFlag type){ - returnArray.clear(); + public Seq getEnemy(Team team, BlockFlag type){ + breturnArray.clear(); Seq data = state.teams.present; //when team data is not initialized, scan through every team. this is terrible if(data.isEmpty()){ for(Team enemy : Team.all){ - if(enemy == team) continue; - TileArray set = getFlagged(enemy)[type.ordinal()]; + if(enemy == team || (enemy == Team.derelict && !state.rules.coreCapture)) continue; + var set = getFlagged(enemy)[type.ordinal()]; if(set != null){ - for(Tile tile : set){ - returnArray.add(tile); - } + breturnArray.addAll(set); } } }else{ for(int i = 0; i < data.size; i++){ Team enemy = data.items[i].team; - if(enemy == team) continue; - TileArray set = getFlagged(enemy)[type.ordinal()]; + if(enemy == team || (enemy == Team.derelict && !state.rules.coreCapture)) continue; + var set = getFlagged(enemy)[type.ordinal()]; if(set != null){ - for(Tile tile : set){ - returnArray.add(tile); - } + breturnArray.addAll(set); } } } - return returnArray; + return breturnArray; } - public void notifyTileDamaged(Building entity){ - if(damagedTiles[entity.team.id] == null){ - damagedTiles[entity.team.id] = new ObjectSet<>(); + public void notifyHealthChanged(Building build){ + boolean damaged = build.damaged(); + + if(build.wasDamaged != damaged){ + if(damagedTiles[build.team.id] == null){ + damagedTiles[build.team.id] = new Seq<>(false); + } + + if(damaged){ + //is now damaged, add to array + damagedTiles[build.team.id].add(build); + }else{ + //no longer damaged, remove + damagedTiles[build.team.id].remove(build); + } + + build.wasDamaged = damaged; + } + } + + public void allBuildings(float x, float y, float range, Cons cons){ + breturnArray.clear(); + for(int i = 0; i < activeTeams.size; i++){ + Team team = activeTeams.items[i]; + var buildings = team.data().buildingTree; + if(buildings == null) continue; + buildings.intersect(x - range, y - range, range*2f, range*2f, breturnArray); } - damagedTiles[entity.team.id].add(entity); + var items = breturnArray.items; + int size = breturnArray.size; + for(int i = 0; i < size; i++){ + var b = items[i]; + if(b != null && b.within(x, y, range + b.hitSize()/2f)){ + cons.get(b); + } + items[i] = null; + } + breturnArray.size = 0; } public Building findEnemyTile(Team team, float x, float y, float range, Boolf pred){ + Building target = null; + float targetDist = 0; + for(int i = 0; i < activeTeams.size; i++){ Team enemy = activeTeams.items[i]; + if(enemy == team || (enemy == Team.derelict && !state.rules.coreCapture)) continue; - if(enemy == team || team == Team.derelict) continue; + Building candidate = indexer.findTile(enemy, x, y, range, b -> pred.get(b) && b.isDiscovered(team), true); + if(candidate == null) continue; - Building entity = indexer.findTile(enemy, x, y, range, pred, true); - if(entity != null){ - return entity; + //if a block has the same priority, the closer one should be targeted + float dist = candidate.dst(x, y) - candidate.hitSize() / 2f; + if(target == null || + //if its closer and is at least equal priority + (dist < targetDist && candidate.block.priority >= target.block.priority) || + // block has higher priority (so range doesnt matter) + (candidate.block.priority > target.block.priority)){ + target = candidate; + targetDist = dist; } } - return null; + return target; } public Building findTile(Team team, float x, float y, float range, Boolf pred){ @@ -269,59 +381,52 @@ public class BlockIndexer{ public Building findTile(Team team, float x, float y, float range, Boolf pred, boolean usePriority){ Building closest = null; float dst = 0; - float range2 = range * range; + var buildings = team.data().buildingTree; + if(buildings == null) return null; - for(int rx = Math.max((int)((x - range) / tilesize / quadrantSize), 0); rx <= (int)((x + range) / tilesize / quadrantSize) && rx < quadWidth(); rx++){ - for(int ry = Math.max((int)((y - range) / tilesize / quadrantSize), 0); ry <= (int)((y + range) / tilesize / quadrantSize) && ry < quadHeight(); ry++){ + breturnArray.clear(); + buildings.intersect(rect.setCentered(x, y, range * 2f), breturnArray); - if(!getQuad(team, rx, ry)) continue; + for(int i = 0; i < breturnArray.size; i++){ + var next = breturnArray.items[i]; - for(int tx = rx * quadrantSize; tx < (rx + 1) * quadrantSize && tx < world.width(); tx++){ - for(int ty = ry * quadrantSize; ty < (ry + 1) * quadrantSize && ty < world.height(); ty++){ - Building e = world.build(tx, ty); + if(!pred.get(next) || !next.block.targetable) continue; - if(e == null || e.team != team || !pred.get(e) || !e.block.targetable || e.team == Team.derelict) continue; - - float ndst = e.dst2(x, y); - if(ndst < range2 && (closest == null || - //this one is closer, and it is at least of equal priority - (ndst < dst && (!usePriority || closest.block.priority.ordinal() <= e.block.priority.ordinal())) || - //priority is used, and new block has higher priority regardless of range - (usePriority && closest.block.priority.ordinal() < e.block.priority.ordinal()))){ - dst = ndst; - closest = e; - } - } - } + float bdst = next.dst(x, y) - next.hitSize() / 2f; + if(bdst < range && (closest == null || + //this one is closer, and it is at least of equal priority + (bdst < dst && (!usePriority || closest.block.priority <= next.block.priority)) || + //priority is used, and new block has higher priority regardless of range + (usePriority && closest.block.priority < next.block.priority))){ + dst = bdst; + closest = next; } } return closest; } - /** - * Returns a set of tiles that have ores of the specified type nearby. - * While each tile in the set is not guaranteed to have an ore directly on it, - * each tile will at least have an ore within {@link #quadrantSize} / 2 blocks of it. - * Only specific ore types are scanned. See {@link #scanOres}. - */ - public TileArray getOrePositions(Item item){ - return ores.get(item, emptySet); - } - /** Find the closest ore block relative to a position. */ public Tile findClosestOre(float xp, float yp, Item item){ - Tile tile = Geometry.findClosest(xp, yp, getOrePositions(item)); - - if(tile == null) return null; - - for(int x = Math.max(0, tile.x - quadrantSize / 2); x < tile.x + quadrantSize / 2 && x < world.width(); x++){ - for(int y = Math.max(0, tile.y - quadrantSize / 2); y < tile.y + quadrantSize / 2 && y < world.height(); y++){ - Tile res = world.tile(x, y); - if(res.block() == Blocks.air && res.drop() == item){ - return res; + if(ores[item.id] != null){ + float minDst = 0f; + Tile closest = null; + for(int qx = 0; qx < quadWidth; qx++){ + for(int qy = 0; qy < quadHeight; qy++){ + var arr = ores[item.id][qx][qy]; + if(arr != null && arr.size > 0){ + Tile tile = world.tile(arr.first()); + if(tile.block() == Blocks.air){ + float dst = Mathf.dst2(xp, yp, tile.worldx(), tile.worldy()); + if(closest == null || dst < minDst){ + closest = tile; + minDst = dst; + } + } + } } } + return closest; } return null; @@ -332,177 +437,73 @@ public class BlockIndexer{ return findClosestOre(unit.x, unit.y, item); } - /** @return extra unit cap of a team. This is added onto the base value. */ - public int getExtraUnits(Team team){ - return unitCaps[team.id]; - } - - private void updateCap(Team team){ - TileArray capped = getFlagged(team)[BlockFlag.unitModifier.ordinal()]; - unitCaps[team.id] = 0; - for(Tile capper : capped){ - unitCaps[team.id] += capper.block().unitCapModifier; - } - } - private void process(Tile tile){ - if(tile.block().flags.size() > 0 && tile.team() != Team.derelict && tile.isCenter()){ - TileArray[] map = getFlagged(tile.team()); + var team = tile.team(); + //only process entity changes with centered tiles + if(tile.isCenter() && tile.build != null){ + var data = team.data(); - for(BlockFlag flag : tile.block().flags){ + if(tile.block().flags.size > 0 && tile.isCenter()){ + var map = getFlagged(team); - TileArray arr = map[flag.ordinal()]; - - arr.add(tile); - - map[flag.ordinal()] = arr; - } - - if(tile.block().flags.contains(BlockFlag.unitModifier)){ - updateCap(tile.team()); - } - - typeMap.put(tile.pos(), new TileIndex(tile.block().flags, tile.team())); - } - - if(!activeTeams.contains(tile.team())){ - activeTeams.add(tile.team()); - } - - if(ores == null) return; - - int quadrantX = tile.x / quadrantSize; - int quadrantY = tile.y / quadrantSize; - itemSet.clear(); - - Tile rounded = world.rawTile(Mathf.clamp(quadrantX * quadrantSize + quadrantSize / 2, 0, world.width() - 1), Mathf.clamp(quadrantY * quadrantSize + quadrantSize / 2, 0, world.height() - 1)); - - //find all items that this quadrant contains - for(int x = Math.max(0, rounded.x - quadrantSize / 2); x < rounded.x + quadrantSize / 2 && x < world.width(); x++){ - for(int y = Math.max(0, rounded.y - quadrantSize / 2); y < rounded.y + quadrantSize / 2 && y < world.height(); y++){ - Tile result = world.tile(x, y); - if(result == null || result.drop() == null || !scanOres.contains(result.drop()) || result.block() != Blocks.air) continue; - - itemSet.add(result.drop()); - } - } - - //update quadrant at this position - for(Item item : scanOres){ - TileArray set = ores.get(item); - - //update quadrant status depending on whether the item is in it - if(!itemSet.contains(item)){ - set.remove(rounded); - }else{ - set.add(rounded); - } - } - } - - private void updateQuadrant(Tile tile){ - if(structQuadrants == null) return; - - //this quadrant is now 'dirty', re-scan the whole thing - int quadrantX = tile.x / quadrantSize; - int quadrantY = tile.y / quadrantSize; - - for(Team team : activeTeams){ - GridBits bits = structQuadrant(team); - - //fast-set this quadrant to 'occupied' if the tile just placed is already of this team - if(tile.team() == team && tile.build != null && tile.block().targetable){ - bits.set(quadrantX, quadrantY); - continue; //no need to process futher - } - - bits.set(quadrantX, quadrantY, false); - - outer: - for(int x = quadrantX * quadrantSize; x < world.width() && x < (quadrantX + 1) * quadrantSize; x++){ - for(int y = quadrantY * quadrantSize; y < world.height() && y < (quadrantY + 1) * quadrantSize; y++){ - Building result = world.build(x, y); - //when a targetable block is found, mark this quadrant as occupied and stop searching - if(result != null && result.team == team){ - bits.set(quadrantX, quadrantY); - break outer; - } + for(BlockFlag flag : tile.block().flags.array){ + map[flag.ordinal()].add(tile.build); } } - } - } - private boolean getQuad(Team team, int quadrantX, int quadrantY){ - return structQuadrant(team).get(quadrantX, quadrantY); - } + //record in list of buildings + data.buildings.add(tile.build); + data.buildingTypes.get(tile.block(), () -> new Seq<>(false)).add(tile.build); - private int quadWidth(){ - return Mathf.ceil(world.width() / (float)quadrantSize); - } + //update the unit cap when new tile is registered + data.unitCap += tile.block().unitCapModifier; - private int quadHeight(){ - return Mathf.ceil(world.height() / (float)quadrantSize); - } - - private void scanOres(){ - ores = new ObjectMap<>(); - - //initialize ore map with empty sets - for(Item item : scanOres){ - ores.put(item, new TileArray()); - } - - for(Tile tile : world.tiles){ - int qx = (tile.x / quadrantSize); - int qy = (tile.y / quadrantSize); - - //add position of quadrant to list when an ore is found - if(tile.drop() != null && scanOres.contains(tile.drop()) && tile.block() == Blocks.air){ - ores.get(tile.drop()).add(world.tile( - //make sure to clamp quadrant middle position, since it might go off bounds - Mathf.clamp(qx * quadrantSize + quadrantSize / 2, 0, world.width() - 1), - Mathf.clamp(qy * quadrantSize + quadrantSize / 2, 0, world.height() - 1))); + if(!activeTeams.contains(team)){ + activeTeams.add(team); } + + //insert the new tile into the quadtree for targeting + if(data.buildingTree == null){ + data.buildingTree = new QuadTree<>(new Rect(0, 0, world.unitWidth(), world.unitHeight())); + } + data.buildingTree.insert(tile.build); + + if(tile.block().attacks && tile.build instanceof Ranged){ + if(data.turretTree == null){ + data.turretTree = new TurretQuadtree(new Rect(0, 0, world.unitWidth(), world.unitHeight())); + } + + data.turretTree.insert(tile.build); + } + + notifyHealthChanged(tile.build); } + + if(blocksPresent != null){ + if(!tile.block().isStatic()){ + blocksPresent[tile.floorID()] = true; + blocksPresent[tile.overlayID()] = true; + } + //bounds checks only needed in very specific scenarios + if(tile.blockID() < blocksPresent.length) blocksPresent[tile.blockID()] = true; + } + } - private static class TileIndex{ - public final EnumSet flags; - public final Team team; + static class TurretQuadtree extends QuadTree{ - public TileIndex(EnumSet flags, Team team){ - this.flags = flags; - this.team = team; - } - } - - public static class TileArray implements Iterable{ - Seq tiles = new Seq<>(false, 16); - IntSet contained = new IntSet(); - - public void add(Tile tile){ - if(contained.add(tile.pos())){ - tiles.add(tile); - } - } - - public void remove(Tile tile){ - if(contained.remove(tile.pos())){ - tiles.remove(tile); - } - } - - public int size(){ - return tiles.size; - } - - public Tile first(){ - return tiles.first(); + public TurretQuadtree(Rect bounds){ + super(bounds); } @Override - public Iterator iterator(){ - return tiles.iterator(); + public void hitbox(Building build){ + tmp.setCentered(build.x, build.y, ((Ranged)build).range() * 2f); + } + + @Override + protected QuadTree newChild(Rect rect){ + return new TurretQuadtree(rect); } } } diff --git a/core/src/mindustry/ai/ControlPathfinder.java b/core/src/mindustry/ai/ControlPathfinder.java new file mode 100644 index 0000000000..ba9e3e6c75 --- /dev/null +++ b/core/src/mindustry/ai/ControlPathfinder.java @@ -0,0 +1,1635 @@ +package mindustry.ai; + +import arc.*; +import arc.graphics.*; +import arc.graphics.g2d.*; +import arc.math.*; +import arc.math.geom.*; +import arc.struct.*; +import arc.util.*; +import mindustry.annotations.Annotations.*; +import mindustry.content.*; +import mindustry.core.*; +import mindustry.game.EventType.*; +import mindustry.game.*; +import mindustry.gen.*; +import mindustry.graphics.*; +import mindustry.world.*; + +import static mindustry.Vars.*; +import static mindustry.ai.Pathfinder.*; + +//https://webdocs.cs.ualberta.ca/~mmueller/ps/hpastar.pdf +//https://www.gameaipro.com/GameAIPro/GameAIPro_Chapter23_Crowd_Pathfinding_and_Steering_Using_Flow_Field_Tiles.pdf +public class ControlPathfinder implements Runnable{ + private static final int wallImpassableCap = 1_000_000; + private static final int solidCap = 7000; + + public static boolean showDebug; + + public static final PathCost + + costGround = (team, tile) -> + //deep is impassable + PathTile.allDeep(tile) ? impassable : + //impassable same-team or neutral block + PathTile.solid(tile) && ((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0) ? impassable : + //impassable synthetic enemy block + ((PathTile.team(tile) != team && PathTile.team(tile) != 0) && PathTile.solid(tile) ? wallImpassableCap : 0) + + 1 + + (PathTile.nearSolid(tile) ? 6 : 0) + + (PathTile.nearLiquid(tile) ? 8 : 0) + + (PathTile.deep(tile) ? 6000 : 0) + + (PathTile.damages(tile) ? 50 : 0), + + //same as ground but ignores liquids/deep stuff + costHover = (team, tile) -> + //impassable same-team or neutral block + PathTile.solid(tile) && ((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0) ? impassable : + //impassable synthetic enemy block + ((PathTile.team(tile) != team && PathTile.team(tile) != 0) && PathTile.solid(tile) ? wallImpassableCap : 0) + + 1 + + (PathTile.nearSolid(tile) ? 6 : 0), + + costLegs = (team, tile) -> + PathTile.legSolid(tile) ? impassable : 1 + + (PathTile.deep(tile) ? 6000 : 0) + + (PathTile.nearLegSolid(tile) ? 3 : 0), + + costNaval = (team, tile) -> + //impassable same-team neutral block, or non-liquid + (PathTile.solid(tile) && ((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0)) ? impassable : + (!PathTile.liquid(tile) ? 6000 : 1) + + //impassable synthetic enemy block + ((PathTile.team(tile) != team && PathTile.team(tile) != 0) && PathTile.solid(tile) ? wallImpassableCap : 0) + + (PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 6 : 0); + + public static final int + costIdGround = 0, + costIdHover = 1, + costIdLegs = 2, + costIdNaval = 3; + + public static final Seq costTypes = Seq.with( + costGround, + costHover, + costLegs, + costNaval + ); + + private static final long maxUpdate = Time.millisToNanos(12); + private static final int updateStepInterval = 200; + private static final int updateFPS = 30; + private static final int updateInterval = 1000 / updateFPS, invalidateCheckInterval = 1000; + + static final int clusterSize = 12; + + static final int[] offsets = { + 1, 0, //right: bottom to top + 0, 1, //top: left to right + 0, 0, //left: bottom to top + 0, 0 //bottom: left to right + }; + + static final int[] moveDirs = { + 0, 1, + 1, 0, + 0, 1, + 1, 0 + }; + + static final int[] nextOffsets = { + 1, 0, + 0, 1, + -1, 0, + 0, -1 + }; + + //maps team -> pathCost -> flattened array of clusters in 2D + //(what about teams? different path costs?) + Cluster[][][] clusters; + + int cwidth, cheight; + + //temporarily used for resolving connections for intra-edges + IntSet usedEdges = new IntSet(); + //tasks to run on pathfinding thread + TaskQueue queue = new TaskQueue(); + + //individual requests based on unit - MAIN THREAD ONLY + ObjectMap unitRequests = new ObjectMap<>(); + + Seq threadPathRequests = new Seq<>(false); + + //TODO: very dangerous usage; + //TODO - it is accessed from the main thread + //TODO - it is written to on the pathfinding thread + //maps position in world in (x + y * width format) | path type | team (bitpacked to long with FieldIndex.get) to a cache of flow fields + LongMap fields = new LongMap<>(); + //MAIN THREAD ONLY + Seq fieldList = new Seq<>(false); + + //these are for inner edge A* (temporary!) + IntFloatMap innerCosts = new IntFloatMap(); + PathfindQueue innerFrontier = new PathfindQueue(); + + //ONLY modify on pathfinding thread. + IntSet clustersToUpdate = new IntSet(); + IntSet clustersToInnerUpdate = new IntSet(); + + //PATHFINDING THREAD - requests that should be recomputed + ObjectSet invalidRequests = new ObjectSet<>(); + + /** Current pathfinding thread */ + @Nullable Thread thread; + + //path requests are per-unit + static class PathRequest{ + final Unit unit; + final int destination, team, costId; + //resulting path of nodes + final IntSeq resultPath = new IntSeq(); + + //node index -> total cost + @Nullable IntFloatMap costs = new IntFloatMap(); + //node index (NodeIndex struct) -> node it came from TODO merge them, make properties of FieldCache? + @Nullable IntIntMap cameFrom = new IntIntMap(); + //frontier for A* + @Nullable PathfindQueue frontier = new PathfindQueue(); + + //main thread only! + long lastUpdateId = state.updateId; + + //both threads + volatile boolean notFound = false; + volatile boolean invalidated = false; + //old field assigned before everything was recomputed + @Nullable volatile FieldCache oldCache; + + boolean lastRaycastResult = false; + int lastRaycastTile, lastWorldUpdate; + int lastTile; + @Nullable Tile lastTargetTile; + + PathRequest(Unit unit, int team, int costId, int destination){ + this.unit = unit; + this.costId = costId; + this.team = team; + this.destination = destination; + } + } + + static class FieldCache{ + final PathCost cost; + final int costId; + final int team; + final int goalPos; + //frontier for flow fields + final IntQueue frontier = new IntQueue(); + //maps cluster index to field weights; 0 means uninitialized + final IntMap fields = new IntMap<>(); + //packed (goalPos | costId | team) long key to use in the global fields map + final long mapKey; + + //main thread only! + long lastUpdateId = state.updateId; + + //TODO: how are the nodes merged? CAN they be merged? + + FieldCache(PathCost cost, int costId, int team, int goalPos){ + this.cost = cost; + this.team = team; + this.goalPos = goalPos; + this.costId = costId; + this.mapKey = FieldIndex.get(goalPos, costId, team); + } + } + + static class Cluster{ + IntSeq[] portals = new IntSeq[4]; + //maps rotation + index of portal to list of IntraEdge objects + LongSeq[][] portalConnections = new LongSeq[4][]; + } + + public ControlPathfinder(){ + + Events.on(ResetEvent.class, event -> stop()); + + Events.on(WorldLoadEvent.class, event -> { + stop(); + + //TODO: can the pathfinding thread even see these? + unitRequests = new ObjectMap<>(); + fields = new LongMap<>(); + fieldList = new Seq<>(false); + + clusters = new Cluster[256][][]; + cwidth = Mathf.ceil((float)world.width() / clusterSize); + cheight = Mathf.ceil((float)world.height() / clusterSize); + + + start(); + }); + + Events.on(TileChangeEvent.class, e -> { + + updateTile(e.tile); + + //TODO: recalculate affected flow fields? or just all of them? how to reflow? + }); + + //invalidate paths + Events.run(Trigger.update, () -> { + for(var req : unitRequests.values()){ + //skipped N update -> drop it + if(req.lastUpdateId <= state.updateId - 10 || !req.unit.isAdded()){ + req.invalidated = true; + //concurrent modification! + queue.post(() -> threadPathRequests.remove(req)); + Core.app.post(() -> unitRequests.remove(req.unit)); + } + } + + for(var field : fieldList){ + //skipped N update -> drop it + if(field.lastUpdateId <= state.updateId - 30){ + //make sure it's only modified on the main thread...? but what about calling get() on this thread?? + queue.post(() -> fields.remove(field.mapKey)); + Core.app.post(() -> fieldList.remove(field)); + } + } + }); + + if(showDebug){ + Events.run(Trigger.draw, () -> { + int team = player.team().id; + int cost = 0; + + Draw.draw(Layer.overlayUI, () -> { + Lines.stroke(1f); + + if(clusters[team] != null && clusters[team][cost] != null){ + for(int cx = 0; cx < cwidth; cx++){ + for(int cy = 0; cy < cheight; cy++){ + + var cluster = clusters[team][cost][cy * cwidth + cx]; + if(cluster != null){ + Lines.stroke(0.5f); + Draw.color(Color.gray); + Lines.stroke(1f); + + Lines.rect(cx * clusterSize * tilesize - tilesize/2f, cy * clusterSize * tilesize - tilesize/2f, clusterSize * tilesize, clusterSize * tilesize); + + + for(int d = 0; d < 4; d++){ + IntSeq portals = cluster.portals[d]; + if(portals != null){ + + for(int i = 0; i < portals.size; i++){ + int pos = portals.items[i]; + int from = Point2.x(pos), to = Point2.y(pos); + float width = tilesize * (Math.abs(from - to) + 1), height = tilesize; + + portalToVec(cluster, cx, cy, d, i, Tmp.v1); + + Draw.color(Color.brown); + Lines.ellipse(30, Tmp.v1.x, Tmp.v1.y, width / 2f, height / 2f, d * 90f - 90f); + + LongSeq connections = cluster.portalConnections[d] == null ? null : cluster.portalConnections[d][i]; + + if(connections != null){ + Draw.color(Color.forest); + for(int coni = 0; coni < connections.size; coni ++){ + long con = connections.items[coni]; + + portalToVec(cluster, cx, cy, IntraEdge.dir(con), IntraEdge.portal(con), Tmp.v2); + + float + x1 = Tmp.v1.x, y1 = Tmp.v1.y, + x2 = Tmp.v2.x, y2 = Tmp.v2.y; + Lines.line(x1, y1, x2, y2); + + } + } + } + } + } + } + } + } + } + + for(var fields : fieldList){ + try{ + for(var entry : fields.fields){ + int cx = entry.key % cwidth, cy = entry.key / cwidth; + for(int y = 0; y < clusterSize; y++){ + for(int x = 0; x < clusterSize; x++){ + int value = entry.value[x + y * clusterSize]; + Tmp.c1.a = 1f; + Lines.stroke(0.8f, Tmp.c1.fromHsv(value * 3f, 1f, 1f)); + Draw.alpha(0.5f); + Fill.square((x + cx * clusterSize) * tilesize, (y + cy * clusterSize) * tilesize, tilesize / 2f); + } + } + } + }catch(Exception ignored){} //probably has some concurrency issues when iterating but I don't care, this is for debugging + } + }); + + Draw.reset(); + }); + } + } + + public void updateTile(Tile tile){ + tile.getLinkedTiles(this::updateSingleTile); + } + + public void updateSingleTile(Tile t){ + int x = t.x, y = t.y, mx = x % clusterSize, my = y % clusterSize, cx = x / clusterSize, cy = y / clusterSize, cluster = cx + cy * cwidth; + + //is at the edge of a cluster; this means the portals may have changed. + if(mx == 0 || my == 0 || mx == clusterSize - 1 || my == clusterSize - 1){ + + if(mx == 0) queueClusterUpdate(cx - 1, cy); //left + if(my == 0) queueClusterUpdate(cx, cy - 1); //bottom + if(mx == clusterSize - 1) queueClusterUpdate(cx + 1, cy); //right + if(my == clusterSize - 1) queueClusterUpdate(cx, cy + 1); //top + + queueClusterUpdate(cx, cy); + //TODO: recompute edge clusters too. + }else{ + //there is no need to recompute portals for block updates that are not on the edge. + queue.post(() -> clustersToInnerUpdate.add(cluster)); + } + } + + void queueClusterUpdate(int cx, int cy){ + if(cx >= 0 && cy >= 0 && cx < cwidth && cy < cheight){ + queue.post(() -> clustersToUpdate.add(cx + cy * cwidth)); + } + } + + //debugging only! + void portalToVec(Cluster cluster, int cx, int cy, int direction, int portalIndex, Vec2 out){ + int pos = cluster.portals[direction].items[portalIndex]; + int from = Point2.x(pos), to = Point2.y(pos); + int addX = moveDirs[direction * 2], addY = moveDirs[direction * 2 + 1]; + float average = (from + to) / 2f; + + float + x = (addX * average + cx * clusterSize + offsets[direction * 2] * (clusterSize - 1) + nextOffsets[direction * 2] / 2f) * tilesize, + y = (addY * average + cy * clusterSize + offsets[direction * 2 + 1] * (clusterSize - 1) + nextOffsets[direction * 2 + 1] / 2f) * tilesize; + + out.set(x, y); + } + + /** Starts or restarts the pathfinding thread. */ + private void start(){ + stop(); + if(net.client()) return; + + thread = new Thread(this, "Control Pathfinder"); + thread.setPriority(Thread.MIN_PRIORITY); + thread.setDaemon(true); + thread.start(); + } + + /** Stops the pathfinding thread. */ + private void stop(){ + if(thread != null){ + thread.interrupt(); + thread = null; + } + queue.clear(); + } + + /** @return a cluster at coordinates; can be null if not cluster was created yet*/ + @Nullable Cluster getCluster(int team, int pathCost, int cx, int cy){ + return getCluster(team, pathCost, cx + cy * cwidth); + } + + /** @return a cluster at coordinates; can be null if not cluster was created yet*/ + @Nullable Cluster getCluster(int team, int pathCost, int clusterIndex){ + if(clusters == null) return null; + + Cluster[][] dim1 = clusters[team]; + + if(dim1 == null) return null; + + Cluster[] dim2 = dim1[pathCost]; + + //TODO: how can index out of bounds happen? || clusterIndex >= dim2.length + if(dim2 == null) return null; + + return dim2[clusterIndex]; + } + + /** @return the cluster at specified coordinates; never null. */ + Cluster getCreateCluster(int team, int pathCost, int cx, int cy){ + return getCreateCluster(team, pathCost, cx + cy * cwidth); + } + + /** @return the cluster at specified coordinates; never null. */ + Cluster getCreateCluster(int team, int pathCost, int clusterIndex){ + Cluster result = getCluster(team, pathCost, clusterIndex); + if(result == null){ + return updateCluster(team, pathCost, clusterIndex % cwidth, clusterIndex / cwidth); + }else{ + return result; + } + } + + Cluster updateCluster(int team, int pathCost, int cx, int cy){ + //TODO: what if clusters are null for thread visibility reasons? + + Cluster[][] dim1 = clusters[team]; + + if(dim1 == null){ + dim1 = clusters[team] = new Cluster[Team.all.length][]; + } + + Cluster[] dim2 = dim1[pathCost]; + + if(dim2 == null){ + dim2 = dim1[pathCost] = new Cluster[cwidth * cheight]; + } + + Cluster cluster = dim2[cy * cwidth + cx]; + if(cluster == null){ + cluster = dim2[cy * cwidth + cx] = new Cluster(); + }else{ + //reset data + for(var p : cluster.portals){ + if(p != null){ + p.clear(); + } + } + } + + PathCost cost = idToCost(pathCost); + + for(int direction = 0; direction < 4; direction++){ + int otherX = cx + Geometry.d4x(direction), otherY = cy + Geometry.d4y(direction); + //out of bounds, no portals in this direction + if(otherX < 0 || otherY < 0 || otherX >= cwidth || otherY >= cheight){ + continue; + } + + Cluster other = dim2[otherX + otherY * cwidth]; + IntSeq portals; + + if(other == null){ + //create new portals at direction + portals = cluster.portals[direction] = new IntSeq(4); + }else{ + //share portals with the other cluster + portals = cluster.portals[direction] = other.portals[(direction + 2) % 4]; + + //clear the portals, they're being recalculated now + portals.clear(); + } + + int addX = moveDirs[direction * 2], addY = moveDirs[direction * 2 + 1]; + int + baseX = cx * clusterSize + offsets[direction * 2] * (clusterSize - 1), + baseY = cy * clusterSize + offsets[direction * 2 + 1] * (clusterSize - 1), + nextBaseX = baseX + Geometry.d4[direction].x, + nextBaseY = baseY + Geometry.d4[direction].y; + + int lastPortal = -1; + boolean prevSolid = true; + + for(int i = 0; i < clusterSize; i++){ + int x = baseX + addX * i, y = baseY + addY * i; + + //scan for portals + if(solid(team, cost, x, y) || solid(team, cost, nextBaseX + addX * i, nextBaseY + addY * i)){ + int previous = i - 1; + //hit a wall, create portals between the two points + if(!prevSolid && previous >= lastPortal){ + //portals are an inclusive range + portals.add(Point2.pack(previous, lastPortal)); + } + prevSolid = true; + }else{ + //empty area encountered, mark the location of portal start + if(prevSolid){ + lastPortal = i; + } + prevSolid = false; + } + } + + //at the end of the loop, close any un-initialized portals; this is copy pasted code + int previous = clusterSize - 1; + if(!prevSolid && previous >= lastPortal){ + //portals are an inclusive range + portals.add(Point2.pack(previous, lastPortal)); + } + } + + updateInnerEdges(team, cost, cx, cy, cluster); + + return cluster; + } + + void updateInnerEdges(int team, int cost, int cx, int cy, Cluster cluster){ + updateInnerEdges(team, idToCost(cost), cx, cy, cluster); + } + + void updateInnerEdges(int team, PathCost cost, int cx, int cy, Cluster cluster){ + int minX = cx * clusterSize, minY = cy * clusterSize, maxX = Math.min(minX + clusterSize - 1, wwidth - 1), maxY = Math.min(minY + clusterSize - 1, wheight - 1); + + usedEdges.clear(); + + //clear all connections, since portals changed, they need to be recomputed. + cluster.portalConnections = new LongSeq[4][]; + + for(int direction = 0; direction < 4; direction++){ + var portals = cluster.portals[direction]; + if(portals == null) continue; + + int addX = moveDirs[direction * 2], addY = moveDirs[direction * 2 + 1]; + + for(int i = 0; i < portals.size; i++){ + usedEdges.add(Point2.pack(direction, i)); + + int + portal = portals.items[i], + from = Point2.x(portal), to = Point2.y(portal), + average = (from + to) / 2, + x = (addX * average + cx * clusterSize + offsets[direction * 2] * (clusterSize - 1)), + y = (addY * average + cy * clusterSize + offsets[direction * 2 + 1] * (clusterSize - 1)); + + for(int otherDir = 0; otherDir < 4; otherDir++){ + var otherPortals = cluster.portals[otherDir]; + if(otherPortals == null) continue; + + for(int j = 0; j < otherPortals.size; j++){ + + if(!usedEdges.contains(Point2.pack(otherDir, j))){ + + int + other = otherPortals.items[j], + otherFrom = Point2.x(other), otherTo = Point2.y(other), + otherAverage = (otherFrom + otherTo) / 2, + ox = cx * clusterSize + offsets[otherDir * 2] * (clusterSize - 1), + oy = cy * clusterSize + offsets[otherDir * 2 + 1] * (clusterSize - 1), + otherX = (moveDirs[otherDir * 2] * otherAverage + ox), + otherY = (moveDirs[otherDir * 2 + 1] * otherAverage + oy); + + //duplicate portal; should never happen. + if(Point2.pack(x, y) == Point2.pack(otherX, otherY)){ + continue; + } + + float connectionCost = innerAstar( + team, cost, + minX, minY, maxX, maxY, + x + y * wwidth, + otherX + otherY * wwidth, + (moveDirs[otherDir * 2] * otherFrom + ox), + (moveDirs[otherDir * 2 + 1] * otherFrom + oy), + (moveDirs[otherDir * 2] * otherTo + ox), + (moveDirs[otherDir * 2 + 1] * otherTo + oy) + ); + + if(connectionCost != -1f){ + if(cluster.portalConnections[direction] == null) cluster.portalConnections[direction] = new LongSeq[cluster.portals[direction].size]; + if(cluster.portalConnections[otherDir] == null) cluster.portalConnections[otherDir] = new LongSeq[cluster.portals[otherDir].size]; + if(cluster.portalConnections[direction][i] == null) cluster.portalConnections[direction][i] = new LongSeq(8); + if(cluster.portalConnections[otherDir][j] == null) cluster.portalConnections[otherDir][j] = new LongSeq(8); + + //TODO: can there be duplicate edges?? + cluster.portalConnections[direction][i].add(IntraEdge.get(otherDir, j, connectionCost)); + cluster.portalConnections[otherDir][j].add(IntraEdge.get(direction, i, connectionCost)); + } + } + } + } + } + } + } + + //distance heuristic: manhattan + private static float heuristic(int a, int b){ + int x = a % wwidth, x2 = b % wwidth, y = a / wwidth, y2 = b / wwidth; + return Math.abs(x - x2) + Math.abs(y - y2); + } + + private static int tcost(int team, PathCost cost, int tilePos){ + return cost.getCost(team, pathfinder.tiles[tilePos]); + } + + private static float tileCost(int team, PathCost type, int a, int b){ + //currently flat cost + return cost(team, type, b); + } + + /** @return -1 if no path was found */ + float innerAstar(int team, PathCost cost, int minX, int minY, int maxX, int maxY, int startPos, int goalPos, int goalX1, int goalY1, int goalX2, int goalY2){ + var frontier = innerFrontier; + var costs = innerCosts; + + frontier.clear(); + costs.clear(); + + //TODO: this can be faster and more memory efficient by making costs a NxN array... probably? + costs.put(startPos, 0); + frontier.add(startPos, 0); + + if(goalX2 < goalX1){ + int tmp = goalX1; + goalX1 = goalX2; + goalX2 = tmp; + } + + if(goalY2 < goalY1){ + int tmp = goalY1; + goalY1 = goalY2; + goalY2 = tmp; + } + + while(frontier.size > 0){ + int current = frontier.poll(); + + int cx = current % wwidth, cy = current / wwidth; + + //found the goal (it's in the portal rectangle) + if((cx >= goalX1 && cy >= goalY1 && cx <= goalX2 && cy <= goalY2) || current == goalPos){ + return costs.get(current); + } + + for(Point2 point : Geometry.d4){ + int newx = cx + point.x, newy = cy + point.y; + int next = newx + wwidth * newy; + + if(newx > maxX || newy > maxY || newx < minX || newy < minY || tcost(team, cost, next) == impassable) continue; + + float add = tileCost(team, cost, current, next); + + if(add < 0) continue; + + float newCost = costs.get(current) + add; + + if(newCost < costs.get(next, Float.POSITIVE_INFINITY)){ + costs.put(next, newCost); + float priority = newCost + heuristic(next, goalPos); + frontier.add(next, priority); + } + } + } + + return -1f; + } + + int makeNodeIndex(int cx, int cy, int dir, int portal){ + //to make sure there's only one way to refer to each node, the direction must be 0 or 1 (referring to portals on the top or right edge) + + //direction can only be 2 if cluster X is 0 (left edge of map) + if(dir == 2 && cx != 0){ + dir = 0; + cx --; + } + + //direction can only be 3 if cluster Y is 0 (bottom edge of map) + if(dir == 3 && cy != 0){ + dir = 1; + cy --; + } + + return NodeIndex.get(cx + cy * cwidth, dir, portal); + } + + //uses A* to find the closest node index to specified coordinates + //this node is used in cluster A* + /** @return MAX_VALUE if no node is found */ + private int findClosestNode(int team, int pathCost, int tileX, int tileY){ + int cx = tileX / clusterSize, cy = tileY / clusterSize; + + if(cx < 0 || cy < 0 || cx >= cwidth || cy >= cheight){ + return Integer.MAX_VALUE; + } + + PathCost cost = idToCost(pathCost); + Cluster cluster = getCreateCluster(team, pathCost, cx, cy); + int minX = cx * clusterSize, minY = cy * clusterSize, maxX = Math.min(minX + clusterSize - 1, wwidth - 1), maxY = Math.min(minY + clusterSize - 1, wheight - 1); + + int bestPortalPair = Integer.MAX_VALUE; + float bestCost = Float.MAX_VALUE; + + //A* to every node, find the best one (I know there's a better algorithm for this, probably dijkstra) + for(int dir = 0; dir < 4; dir++){ + var portals = cluster.portals[dir]; + if(portals == null) continue; + + for(int j = 0; j < portals.size; j++){ + + int + other = portals.items[j], + otherFrom = Point2.x(other), otherTo = Point2.y(other), + otherAverage = (otherFrom + otherTo) / 2, + ox = cx * clusterSize + offsets[dir * 2] * (clusterSize - 1), + oy = cy * clusterSize + offsets[dir * 2 + 1] * (clusterSize - 1), + otherX = (moveDirs[dir * 2] * otherAverage + ox), + otherY = (moveDirs[dir * 2 + 1] * otherAverage + oy); + + float connectionCost = innerAstar( + team, cost, + minX, minY, maxX, maxY, + tileX + tileY * wwidth, + otherX + otherY * wwidth, + (moveDirs[dir * 2] * otherFrom + ox), + (moveDirs[dir * 2 + 1] * otherFrom + oy), + (moveDirs[dir * 2] * otherTo + ox), + (moveDirs[dir * 2 + 1] * otherTo + oy) + ); + + //better cost found, update and return + if(connectionCost != -1f && connectionCost < bestCost){ + bestPortalPair = Point2.pack(dir, j); + bestCost = connectionCost; + } + } + } + + if(bestPortalPair != Integer.MAX_VALUE){ + return makeNodeIndex(cx, cy, Point2.x(bestPortalPair), Point2.y(bestPortalPair)); + } + + + return Integer.MAX_VALUE; + } + + //distance heuristic: manhattan + private float clusterNodeHeuristic(int team, int pathCost, int nodeA, int nodeB){ + int + clusterA = NodeIndex.cluster(nodeA), + dirA = NodeIndex.dir(nodeA), + portalA = NodeIndex.portal(nodeA), + clusterB = NodeIndex.cluster(nodeB), + dirB = NodeIndex.dir(nodeB), + portalB = NodeIndex.portal(nodeB), + rangeA = getCreateCluster(team, pathCost, clusterA).portals[dirA].items[portalA], + rangeB = getCreateCluster(team, pathCost, clusterB).portals[dirB].items[portalB]; + + float + averageA = (Point2.x(rangeA) + Point2.y(rangeA)) / 2f, + x1 = (moveDirs[dirA * 2] * averageA + (clusterA % cwidth) * clusterSize + offsets[dirA * 2] * (clusterSize - 1) + nextOffsets[dirA * 2] / 2f), + y1 = (moveDirs[dirA * 2 + 1] * averageA + (clusterA / cwidth) * clusterSize + offsets[dirA * 2 + 1] * (clusterSize - 1) + nextOffsets[dirA * 2 + 1] / 2f), + + averageB = (Point2.x(rangeB) + Point2.y(rangeB)) / 2f, + x2 = (moveDirs[dirB * 2] * averageB + (clusterB % cwidth) * clusterSize + offsets[dirB * 2] * (clusterSize - 1) + nextOffsets[dirB * 2] / 2f), + y2 = (moveDirs[dirB * 2 + 1] * averageB + (clusterB / cwidth) * clusterSize + offsets[dirB * 2 + 1] * (clusterSize - 1) + nextOffsets[dirB * 2 + 1] / 2f); + + return Math.abs(x1 - x2) + Math.abs(y1 - y2); + } + + @Nullable IntSeq clusterAstar(PathRequest request, int pathCost, int startNodeIndex, int endNodeIndex){ + var result = request.resultPath; + + if(startNodeIndex == endNodeIndex){ + result.clear(); + result.add(startNodeIndex); + return result; + } + + var team = request.team; + + if(request.costs == null) request.costs = new IntFloatMap(); + if(request.cameFrom == null) request.cameFrom = new IntIntMap(); + if(request.frontier == null) request.frontier = new PathfindQueue(); + + //note: these are NOT cleared, it is assumed that this function cleans up after itself at the end + //is this a good idea? don't know, might hammer the GC with unnecessary objects too + var costs = request.costs; + var cameFrom = request.cameFrom; + var frontier = request.frontier; + + cameFrom.put(startNodeIndex, startNodeIndex); + costs.put(startNodeIndex, 0); + frontier.add(startNodeIndex, 0); + + boolean foundEnd = false; + + while(frontier.size > 0){ + int current = frontier.poll(); + + if(current == endNodeIndex){ + foundEnd = true; + break; + } + + int cluster = NodeIndex.cluster(current), dir = NodeIndex.dir(current), portal = NodeIndex.portal(current); + int cx = cluster % cwidth, cy = cluster / cwidth; + + //invalid cluster index (TODO: how?) + if(cx >= cwidth || cy >= cheight || cx < 0 || cy < 0) continue; + + Cluster clust = getCreateCluster(team, pathCost, cluster); + LongSeq innerCons = clust.portalConnections[dir] == null || portal >= clust.portalConnections[dir].length ? null : clust.portalConnections[dir][portal]; + + //edges for the cluster the node is 'in' + if(innerCons != null){ + checkEdges(request, team, pathCost, current, endNodeIndex, cx, cy, innerCons); + } + + //edges that this node 'faces' from the other side + int nextCx = cx + Geometry.d4[dir].x, nextCy = cy + Geometry.d4[dir].y; + if(nextCx >= 0 && nextCy >= 0 && nextCx < cwidth && nextCy < cheight){ + Cluster nextCluster = getCreateCluster(team, pathCost, nextCx, nextCy); + int relativeDir = (dir + 2) % 4; + LongSeq outerCons = nextCluster.portalConnections[relativeDir] == null || nextCluster.portalConnections[relativeDir].length <= portal ? null : nextCluster.portalConnections[relativeDir][portal]; + if(outerCons != null){ + checkEdges(request, team, pathCost, current, endNodeIndex, nextCx, nextCy, outerCons); + } + } + } + + //null them out, so they get GC'ed later + //there's no reason to keep them around and waste memory, since this path may never be recalculated + request.costs = null; + request.cameFrom = null; + request.frontier = null; + + if(foundEnd){ + result.clear(); + + int cur = endNodeIndex; + while(cur != startNodeIndex){ + result.add(cur); + cur = cameFrom.get(cur); + } + + result.reverse(); + + return result; + } + return null; + } + + private void checkEdges(PathRequest request, int team, int pathCost, int current, int goal, int cx, int cy, LongSeq connections){ + for(int i = 0; i < connections.size; i++){ + long con = connections.items[i]; + float cost = IntraEdge.cost(con); + int otherDir = IntraEdge.dir(con), otherPortal = IntraEdge.portal(con); + int next = makeNodeIndex(cx, cy, otherDir, otherPortal); + + float newCost = request.costs.get(current) + cost; + + if(newCost < request.costs.get(next, Float.POSITIVE_INFINITY)){ + request.costs.put(next, newCost); + + request.frontier.add(next, newCost + clusterNodeHeuristic(team, pathCost, next, goal)); + request.cameFrom.put(next, current); + } + } + } + + private void updateFields(FieldCache cache, long nsToRun){ + var frontier = cache.frontier; + var fields = cache.fields; + var goalPos = cache.goalPos; + var pcost = cache.cost; + var team = cache.team; + + long start = Time.nanos(); + int counter = 0; + + //actually do the flow field part + while(frontier.size > 0){ + int tile = frontier.removeLast(); + int baseX = tile % wwidth, baseY = tile / wwidth; + int curWeightIndex = (baseX / clusterSize) + (baseY / clusterSize) * cwidth; + + //TODO: how can this be null??? serious problem! + int[] curWeights = fields.get(curWeightIndex); + if(curWeights == null) continue; + + int cost = curWeights[baseX % clusterSize + ((baseY % clusterSize) * clusterSize)]; + + if(cost != impassable){ + for(Point2 point : Geometry.d4){ + + int + dx = baseX + point.x, dy = baseY + point.y, + clx = dx / clusterSize, cly = dy / clusterSize; + + if(clx < 0 || cly < 0 || dx >= wwidth || dy >= wheight) continue; + + int nextWeightIndex = clx + cly * cwidth; + + int[] weights = nextWeightIndex == curWeightIndex ? curWeights : fields.get(nextWeightIndex); + + //out of bounds; not allowed to move this way because no weights were registered here + if(weights == null) continue; + + int newPos = tile + point.x + point.y * wwidth; + + //can't move back to the goal + if(newPos == goalPos) continue; + + if(dx - clx * clusterSize < 0 || dy - cly * clusterSize < 0) continue; + + int newPosArray = (dx - clx * clusterSize) + (dy - cly * clusterSize) * clusterSize; + + int otherCost = pcost.getCost(team, pathfinder.tiles[newPos]); + int oldCost = weights[newPosArray]; + + //a cost of 0 means uninitialized, OR it means we're at the goal position, but that's handled above + if((oldCost == 0 || oldCost > cost + otherCost) && otherCost != impassable){ + frontier.addFirst(newPos); + weights[newPosArray] = cost + otherCost; + } + } + } + + //every N iterations, check the time spent - this prevents extra calls to nano time, which itself is slow + if(nsToRun >= 0 && (counter++) >= updateStepInterval){ + counter = 0; + if(Time.timeSinceNanos(start) >= nsToRun){ + return; + } + } + } + } + + private void addFlowCluster(FieldCache cache, int cluster, boolean addingFrontier){ + addFlowCluster(cache, cluster % cwidth, cluster / cwidth, addingFrontier); + } + + private void addFlowCluster(FieldCache cache, int cx, int cy, boolean addingFrontier){ + //out of bounds + if(cx < 0 || cy < 0 || cx >= cwidth || cy >= cheight) return; + + var fields = cache.fields; + int key = cx + cy * cwidth; + + if(!fields.containsKey(key)){ + fields.put(key, new int[clusterSize * clusterSize]); + + if(addingFrontier){ + for(int dir = 0; dir < 4; dir++){ + int ox = cx + nextOffsets[dir * 2], oy = cy + nextOffsets[dir * 2 + 1]; + + if(ox < 0 || oy < 0 || ox >= cwidth || oy >= cheight) continue; + + var otherField = fields.get(ox + oy * cwidth); + + if(otherField == null) continue; + + int + relOffset = (dir + 2) % 4, + movex = moveDirs[relOffset * 2], + movey = moveDirs[relOffset * 2 + 1], + otherx1 = offsets[relOffset * 2] * (clusterSize - 1), + othery1 = offsets[relOffset * 2 + 1] * (clusterSize - 1); + + //scan the edge of the cluster + for(int i = 0; i < clusterSize; i++){ + int x = otherx1 + movex * i, y = othery1 + movey * i; + + //check to make sure it's not 0 (uninitialized flowfield data) + if(otherField[x + y * clusterSize] > 0){ + int worldX = x + ox * clusterSize, worldY = y + oy * clusterSize; + + //add the world-relative position to the frontier, so it recalculates + cache.frontier.addFirst(worldX + worldY * wwidth); + + if(showDebug){ + Core.app.post(() -> Fx.placeBlock.at(worldX *tilesize, worldY * tilesize, 1f)); + } + } + } + } + } + } + } + + private void initializePathRequest(PathRequest request, int team, int costId, int unitX, int unitY, int goalX, int goalY){ + PathCost pcost = idToCost(costId); + + int goalPos = (goalX + goalY * wwidth); + + int node = findClosestNode(team, costId, unitX, unitY); + int dest = findClosestNode(team, costId, goalX, goalY); + + if(dest == Integer.MAX_VALUE){ + request.notFound = true; + //no node found (TODO: invalid state??) + return; + } + + var nodePath = clusterAstar(request, costId, node, dest); + + //no result found, bail out. + if(nodePath == null){ + request.notFound = true; + //stop following the old path, it's not relevant now, it's just not possible to reach the destination anymore + request.oldCache = null; + return; + } + + FieldCache cache = fields.get(FieldIndex.get(goalPos, costId, team)); + //if true, extra values are added on the sides of existing field cells that face new cells. + boolean addingFrontier = true; + + //create the cache if it doesn't exist, and initialize it + if(cache == null){ + cache = new FieldCache(pcost, costId, team, goalPos); + fields.put(cache.mapKey, cache); + FieldCache fcache = cache; + //register field in main thread for iteration + Core.app.post(() -> fieldList.add(fcache)); + cache.frontier.addFirst(goalPos); + addingFrontier = false; //when it's a new field, there is no need to add to the frontier to merge the flowfield + } + + if(nodePath != null){ + int cx = unitX / clusterSize, cy = unitY / clusterSize; + + addFlowCluster(cache, cx, cy, addingFrontier); + + for(int i = -1; i < nodePath.size; i++){ + int + current = i == -1 ? node : nodePath.items[i], + cluster = NodeIndex.cluster(current), + dir = NodeIndex.dir(current), + dx = Geometry.d4[dir].x, + dy = Geometry.d4[dir].y, + ox = cluster % cwidth + dx, + oy = cluster / cwidth + dy; + + addFlowCluster(cache, cluster, addingFrontier); + + //store directional/flipped version of cluster + if(ox >= 0 && oy >= 0 && ox < cwidth && oy < cheight){ + int other = ox + oy * cwidth; + + addFlowCluster(cache, other, addingFrontier); + } + } + } + } + + private PathCost idToCost(int costId){ + return ControlPathfinder.costTypes.get(costId); + } + + public static boolean isNearObstacle(Unit unit, int x1, int y1, int x2, int y2){ + return raycast(unit.team().id, unit.type.pathCost, x1, y1, x2, y2); + } + + @Deprecated + public int nextTargetId(){ + return 0; + } + + @Deprecated + public boolean getPathPosition(Unit unit, int pathId, Vec2 destination, Vec2 out){ + return getPathPosition(unit, pathId, destination, out, null); + } + + @Deprecated + public boolean getPathPosition(Unit unit, int pathId, Vec2 destination, Vec2 out, @Nullable boolean[] noResultFound){ + return getPathPosition(unit, destination, destination, out, noResultFound); + } + + public boolean getPathPosition(Unit unit, Vec2 destination, Vec2 out, @Nullable boolean[] noResultFound){ + return getPathPosition(unit, destination, destination, out, noResultFound); + } + + public boolean getPathPosition(Unit unit, Vec2 destination, Vec2 mainDestination, Vec2 out, @Nullable boolean[] noResultFound){ + if(noResultFound != null){ + noResultFound[0] = false; + } + + int costId = unit.type.pathCostId; + PathCost cost = idToCost(costId); + + int + team = unit.team.id, + tileX = unit.tileX(), + tileY = unit.tileY(), + packedPos = world.packArray(tileX, tileY), + destX = World.toTile(mainDestination.x), + destY = World.toTile(mainDestination.y), + actualDestX = World.toTile(destination.x), + actualDestY = World.toTile(destination.y), + actualDestPos = actualDestX + actualDestY * wwidth, + destPos = destX + destY * wwidth; + + PathRequest request = unitRequests.get(unit); + + unit.hitboxTile(Tmp.r3); + //tile rect size has tile size factored in, since the ray cannot have thickness + float tileRectSize = tilesize + Tmp.r3.height; + + int lastRaycastTile = request == null || world.tileChanges != request.lastWorldUpdate ? -1 : request.lastRaycastTile; + boolean raycastResult = request != null && request.lastRaycastResult; + + //cache raycast results to run every time the world updates, and every tile the unit crosses + if(lastRaycastTile != packedPos){ + //near the destination, standard raycasting tends to break down, so use the more permissive 'near' variant that doesn't take into account edges of walls + raycastResult = unit.within(destination, tilesize * 2.5f) ? + !raycastRect(unit.x, unit.y, destination.x, destination.y, team, cost, tileX, tileY, actualDestX, actualDestY, tileRectSize) : + !raycast(team, cost, tileX, tileY, actualDestX, actualDestY); + + if(request != null){ + request.lastRaycastTile = packedPos; + request.lastRaycastResult = raycastResult; + request.lastWorldUpdate = world.tileChanges; + } + } + + //if the destination can be trivially reached in a straight line, do that. + if(raycastResult){ + out.set(destination); + return true; + } + + boolean any = false; + + long fieldKey = FieldIndex.get(destPos, costId, team); + + //use existing request if it exists. + if(request != null && request.destination == destPos){ + request.lastUpdateId = state.updateId; + + Tile tileOn = unit.tileOn(), initialTileOn = tileOn; + //TODO: should fields be accessible from this thread? + FieldCache fieldCache = null; + try{ + fieldCache = fields.get(fieldKey); + }catch(ArrayIndexOutOfBoundsException ignored){ //TODO fix this, rare crash due to remove() elsewhere + } + if(fieldCache == null) fieldCache = request.oldCache; + + if(fieldCache != null && tileOn != null){ + FieldCache old = request.oldCache; + FieldCache targetCache = old != null ? old : fieldCache; + boolean requeue = old == null; + //nullify the old field to be GCed, as it cannot be relevant anymore (this path is complete) + if(fieldCache != request.oldCache && fieldCache.frontier.isEmpty() && old != null){ + request.oldCache = null; + } + + fieldCache.lastUpdateId = state.updateId; + int maxIterations = 30; //TODO higher/lower number? is this still too slow? + int i = 0; + boolean recalc = false; + + if(packedPos == actualDestPos){ + request.lastTargetTile = tileOn; + //TODO last pos can change if the flowfield changes. + }else if(initialTileOn.pos() != request.lastTile || request.lastTargetTile == null){ + boolean anyNearSolid = false; + + //find the next tile until one near a solid block is discovered + while(i ++ < maxIterations){ + int value = getCost(targetCache, tileOn.x, tileOn.y, requeue); + + Tile current = null; + int minCost = 0; + for(int dir = 0; dir < 4; dir ++){ + Point2 point = Geometry.d4[dir]; + int dx = tileOn.x + point.x, dy = tileOn.y + point.y; + + Tile other = world.tile(dx, dy); + + if(other == null) continue; + + int packed = world.packArray(dx, dy); + int otherCost = getCost(targetCache, dx, dy, requeue), relCost = otherCost - value; + + if(relCost > 2 || otherCost <= 0){ + anyNearSolid = true; + } + + if((value == 0 || otherCost < value) && otherCost != impassable && ((otherCost != 0 && (current == null || otherCost < minCost)) || packed == actualDestPos || packed == destPos) && passable(unit.team.id, cost, packed)){ + current = other; + minCost = otherCost; + //no need to keep searching. + if(packed == destPos || packed == actualDestPos){ + break; + } + } + } + + //TODO raycast spam = extremely slow + //...flowfield integration spam is also really slow. + if(!(current == null || (costId == costIdGround && current.dangerous() && !tileOn.dangerous()))){ + + //when anyNearSolid is false, no solid tiles have been encountered anywhere so far, so raycasting is a waste of time + if(anyNearSolid && !(tileOn.dangerous() && costId == costIdGround) && raycastRect(unit.x, unit.y, current.x * tilesize, current.y * tilesize, team, cost, initialTileOn.x, initialTileOn.y, current.x, current.y, tileRectSize)){ + + //TODO this may be a mistake + if(tileOn == initialTileOn){ + recalc = true; + any = true; + } + + break; + }else{ + tileOn = current; + any = true; + + int a = current.array(); + + if(a == destPos || a == actualDestPos){ + break; + } + } + + }else{ + break; + } + } + + request.lastTargetTile = any ? tileOn : null; + if(showDebug && tileOn != null && Core.graphics.getFrameId() % 30 == 0){ + Fx.placeBlock.at(tileOn.worldx(), tileOn.worldy(), 1); + } + } + + if(request.lastTargetTile != null){ + if(showDebug && Core.graphics.getFrameId() % 30 == 0){ + Fx.breakBlock.at(request.lastTargetTile.worldx(), request.lastTargetTile.worldy(), 1); + } + out.set(request.lastTargetTile); + request.lastTile = recalc ? -1 : initialTileOn.pos(); + return true; + } + } + }else{ + //destroy the old one immediately, it's invalid now + if(request != null){ + request.lastUpdateId = -1000; + } + + //queue new request. + unitRequests.put(unit, request = new PathRequest(unit, team, costId, destPos)); + + PathRequest f = request; + + //on the pathfinding thread: initialize the request + queue.post(() -> { + threadPathRequests.add(f); + recalculatePath(f); + }); + + return false; + } + + if(noResultFound != null){ + noResultFound[0] = request.notFound; + } + return false; + } + + private void recalculatePath(PathRequest request){ + initializePathRequest(request, request.team, request.costId, request.unit.tileX(), request.unit.tileY(), request.destination % wwidth, request.destination / wwidth); + } + + private int getCost(FieldCache cache, int x, int y, boolean requeue){ + try{ + int[] field = cache.fields.get(x / clusterSize + (y / clusterSize) * cwidth); + if(field == null){ + if(!requeue) return 0; + //request a new flow cluster if one wasn't found; this may be a spammed a bit, but the function will return early once it's created the first time + queue.post(() -> addFlowCluster(cache, x / clusterSize, y / clusterSize, true)); + return 0; + } + return field[(x % clusterSize) + (y % clusterSize) * clusterSize]; + }catch(ArrayIndexOutOfBoundsException e){ + //TODO: this crashes because the fields are being added while they're accessed. really bad. needs a long-term solution and some way to cache the map lookup results. + //using an array instead of a map would be nice, but that can mean something like 2500 entries in a sparse array, which is pretty terrible... + return 0; + } + } + + private static boolean raycast(int team, PathCost type, int x1, int y1, int x2, int y2){ + int ww = wwidth, wh = wheight; + int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1; + int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1; + int e2, err = dx - dy; + + while(x >= 0 && y >= 0 && x < ww && y < wh){ + if(avoid(team, type, x + y * wwidth)) return true; + if(x == x2 && y == y2) return false; + + //diagonal ver + e2 = 2 * err; + if(e2 > -dy){ + err -= dy; + x += sx; + } + + if(e2 < dx){ + err += dx; + y += sy; + } + } + + return true; + } + + /** @return 0 if nothing was hit, otherwise the packed coordinates. This is an internal function and will likely be moved - do not use!*/ + public static int raycastFast(int team, PathCost type, int x1, int y1, int x2, int y2){ + int ww = world.width(), wh = world.height(); + int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1; + int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1; + int err = dx - dy; + + while(x >= 0 && y >= 0 && x < ww && y < wh){ + if(solid(team, type, x + y * wwidth, true)) return Point2.pack(x, y); + if(x == x2 && y == y2) return 0; + + //no diagonals + if(2 * err + dy > dx - 2 * err){ + err -= dy; + x += sx; + }else{ + err += dx; + y += sy; + } + } + + return 0; + } + + /** @return 0 if nothing was hit, otherwise the packed coordinates. This is an internal function and will likely be moved - do not use!*/ + public static int raycastFastAvoid(int team, PathCost type, int x1, int y1, int x2, int y2){ + int ww = world.width(), wh = world.height(); + int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1; + int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1; + int err = dx - dy; + + while(x >= 0 && y >= 0 && x < ww && y < wh){ + if(avoid(team, type, x + y * wwidth)) return Point2.pack(x, y); + if(x == x2 && y == y2) return 0; + + //no diagonals + if(2 * err + dy > dx - 2 * err){ + err -= dy; + x += sx; + }else{ + err += dx; + y += sy; + } + } + + return 0; + } + + private static boolean overlap(int team, PathCost type, int x, int y, float startX, float startY, float endX, float endY, float rectSize){ + if(x < 0 || y < 0 || x >= wwidth || y >= wheight) return false; + if(!nearPassable(team, type, x + y * wwidth)){ + return Intersector.intersectSegmentRectangleFast(startX, startY, endX, endY, x * tilesize - rectSize/2f, y * tilesize - rectSize/2f, rectSize, rectSize); + } + return false; + } + + private static boolean raycastRect(float startX, float startY, float endX, float endY, int team, PathCost type, int x1, int y1, int x2, int y2, float rectSize){ + int ww = wwidth, wh = wheight; + int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1; + int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1; + int e2, err = dx - dy; + + while(x >= 0 && y >= 0 && x < ww && y < wh){ + if( + !nearPassable(team, type, x + y * wwidth) || + overlap(team, type, x + 1, y, startX, startY, endX, endY, rectSize) || + overlap(team, type, x - 1, y, startX, startY, endX, endY, rectSize) || + overlap(team, type, x, y + 1, startX, startY, endX, endY, rectSize) || + overlap(team, type, x, y - 1, startX, startY, endX, endY, rectSize) + ) return true; + + if(x == x2 && y == y2) return false; + + //diagonal ver + e2 = 2 * err; + if(e2 > -dy){ + err -= dy; + x += sx; + } + + if(e2 < dx){ + err += dx; + y += sy; + } + } + + return true; + } + + private static boolean avoid(int team, PathCost type, int tilePos){ + int cost = cost(team, type, tilePos); + return cost == impassable || cost >= 2; + } + + private static boolean passable(int team, PathCost cost, int pos){ + int amount = cost.getCost(team, pathfinder.tiles[pos]); + return amount != impassable && amount < solidCap; + } + + private static boolean nearPassable(int team, PathCost cost, int pos){ + int amount = cost.getCost(team, pathfinder.tiles[pos]); + //for standard units: never consider deep water (cost = 6000) passable + //for leg units: consider it passable + return amount != impassable && amount < (cost == costLegs ? solidCap : 50); + } + + private static boolean solid(int team, PathCost type, int x, int y){ + return x < 0 || y < 0 || x >= wwidth || y >= wheight || solid(team, type, x + y * wwidth, true); + } + + private static boolean solid(int team, PathCost type, int tilePos, boolean checkWall){ + int cost = cost(team, type, tilePos); + return cost == impassable || cost >= solidCap; + } + + private static int cost(int team, PathCost cost, int tilePos){ + if(state.rules.limitMapArea && !Team.get(team).isAI()){ + int x = tilePos % wwidth, y = tilePos / wwidth; + if(x < state.rules.limitX || y < state.rules.limitY || x > state.rules.limitX + state.rules.limitWidth || y > state.rules.limitY + state.rules.limitHeight){ + return impassable; + } + } + return cost.getCost(team, pathfinder.tiles[tilePos]); + } + + private void clusterChanged(int team, int pathCost, int cx, int cy){ + int index = cx + cy * cwidth; + + for(var req : threadPathRequests){ + long mapKey = FieldIndex.get(req.destination, pathCost, team); + var field = fields.get(mapKey); + if((field != null && field.fields.containsKey(index)) || req.notFound){ + invalidRequests.add(req); + } + } + + } + + private void updateClustersComplete(int clusterIndex){ + for(int team = 0; team < clusters.length; team++){ + var dim1 = clusters[team]; + if(dim1 != null){ + for(int pathCost = 0; pathCost < dim1.length; pathCost++){ + var dim2 = dim1[pathCost]; + if(dim2 != null){ + var cluster = dim2[clusterIndex]; + if(cluster != null){ + updateCluster(team, pathCost, clusterIndex % cwidth, clusterIndex / cwidth); + clusterChanged(team, pathCost, clusterIndex % cwidth, clusterIndex / cwidth); + } + } + } + } + } + } + + private void updateClustersInner(int clusterIndex){ + for(int team = 0; team < clusters.length; team++){ + var dim1 = clusters[team]; + if(dim1 != null){ + for(int pathCost = 0; pathCost < dim1.length; pathCost++){ + var dim2 = dim1[pathCost]; + if(dim2 != null){ + var cluster = dim2[clusterIndex]; + if(cluster != null){ + updateInnerEdges(team, pathCost, clusterIndex % cwidth, clusterIndex / cwidth, cluster); + clusterChanged(team, pathCost, clusterIndex % cwidth, clusterIndex / cwidth); + } + } + } + } + } + } + + @Override + public void run(){ + long lastInvalidCheck = Time.millis() + invalidateCheckInterval; + + while(true){ + if(net.client()) return; + try{ + + + if(state.isPlaying()){ + queue.run(); + + clustersToUpdate.each(cluster -> { + updateClustersComplete(cluster); + + //just in case: don't redundantly update inner clusters after you've recalculated it entirely + clustersToInnerUpdate.remove(cluster); + }); + + clustersToInnerUpdate.each(cluster -> { + //only recompute the inner links + updateClustersInner(cluster); + }); + + clustersToInnerUpdate.clear(); + clustersToUpdate.clear(); + + //periodically check for invalidated paths + if(Time.timeSinceMillis(lastInvalidCheck) > invalidateCheckInterval){ + lastInvalidCheck = Time.millis(); + + var it = invalidRequests.iterator(); + while(it.hasNext()){ + var request = it.next(); + + //invalid request, ignore it + if(request.invalidated){ + it.remove(); + continue; + } + + long mapKey = FieldIndex.get(request.destination, request.costId, request.team); + + var field = fields.get(mapKey); + + if(field != null){ + //it's only worth recalculating a path when the current frontier has finished; otherwise the unit will be following something incomplete. + if(field.frontier.isEmpty()){ + + //remove the field, to be recalculated next update once recalculatePath is processed + fields.remove(field.mapKey); + Core.app.post(() -> fieldList.remove(field)); + + //once the field is invalidated, make sure that all the requests that have it stored in their 'old' field, so units don't stutter during recalculations + for(var otherRequest : threadPathRequests){ + if(otherRequest.destination == request.destination){ + otherRequest.oldCache = field; + + if(otherRequest != request){ + queue.post(() -> recalculatePath(otherRequest)); + } + } + } + + //the recalculation is done next update, so multiple path requests in the same batch don't end up removing and recalculating the field multiple times. + queue.post(() -> recalculatePath(request)); + //it has been processed. + it.remove(); + } + }else{ //there's no field, presumably because a previous request already invalidated it. + queue.post(() -> recalculatePath(request)); + it.remove(); + } + } + } + + //each update time (not total!) no longer than maxUpdate + for(FieldCache cache : fields.values()){ + updateFields(cache, maxUpdate); + } + } + + try{ + Thread.sleep(updateInterval); + }catch(InterruptedException e){ + //stop looping when interrupted externally + return; + } + }catch(Throwable e){ + e.printStackTrace(); + } + } + } + + @Struct + static class FieldIndexStruct{ + int pos; + @StructField(8) + int costId; + @StructField(8) + int team; + } + + @Struct + static class IntraEdgeStruct{ + @StructField(8) + int dir; + @StructField(8) + int portal; + + float cost; + } + + @Struct + static class NodeIndexStruct{ + @StructField(22) + int cluster; + @StructField(2) + int dir; + @StructField(8) + int portal; + } +} diff --git a/core/src/mindustry/ai/PathfindQueue.java b/core/src/mindustry/ai/PathfindQueue.java new file mode 100644 index 0000000000..aab2d7df82 --- /dev/null +++ b/core/src/mindustry/ai/PathfindQueue.java @@ -0,0 +1,146 @@ +package mindustry.ai; + +import arc.util.*; + +/** A priority queue. */ +@SuppressWarnings("unchecked") +public class PathfindQueue{ + private static final double CAPACITY_RATIO_LOW = 1.5f; + private static final double CAPACITY_RATIO_HI = 2f; + + /** + * Priority queue represented as a balanced binary heap: the two children of queue[n] are queue[2*n+1] and queue[2*(n+1)]. The + * priority queue is ordered by the elements' natural ordering: For each node n in the heap and each descendant d of n, n <= d. + * The element with the lowest value is in queue[0], assuming the queue is nonempty. + */ + public int[] queue; + /** Weights of each object in the queue. */ + public float[] weights; + /** The number of elements in the priority queue. */ + public int size = 0; + + public PathfindQueue(){ + this(12); + } + + public PathfindQueue(int initialCapacity){ + this.queue = new int[initialCapacity]; + this.weights = new float[initialCapacity]; + } + + public boolean empty(){ + return size == 0; + } + + /** + * Inserts the specified element into this priority queue. If {@code uniqueness} is enabled and this priority queue already + * contains the element, the call leaves the queue unchanged and returns false. + * @return true if the element was added to this queue, else false + * @throws ClassCastException if the specified element cannot be compared with elements currently in this priority queue + * according to the priority queue's ordering + * @throws IllegalArgumentException if the specified element is null + */ + public boolean add(int e, float weight){ + int i = size; + if(i >= queue.length) growToSize(i + 1); + size = i + 1; + if(i == 0){ + queue[0] = e; + weights[0] = weight; + }else{ + siftUp(i, e, weight); + } + return true; + } + + /** + * Retrieves, but does not remove, the head of this queue. If this queue is empty, {@code 0} is returned. + * @return the head of this queue + */ + public int peek(){ + return size == 0 ? 0 : queue[0]; + } + + /** Removes all of the elements from this priority queue. The queue will be empty after this call returns. */ + public void clear(){ + size = 0; + } + + /** + * Retrieves and removes the head of this queue, or returns {@code null} if this queue is empty. + * @return the head of this queue, or {@code null} if this queue is empty. + */ + public int poll(){ + if(size == 0) return 0; + int s = --size; + int result = queue[0]; + int x = queue[s]; + if(s != 0) siftDown(0, x, weights[s]); + return result; + } + + /** + * Inserts item x at position k, maintaining heap invariant by promoting x up the tree until it is greater than or equal to its + * parent, or is the root. + * @param k the position to fill + * @param x the item to insert + */ + private void siftUp(int k, int x, float weight){ + while(k > 0){ + int parent = (k - 1) >>> 1; + int e = queue[parent]; + if(weight >= weights[parent]) break; + queue[k] = e; + weights[k] = weights[parent]; + k = parent; + } + queue[k] = x; + weights[k] = weight; + } + + /** + * Inserts item x at position k, maintaining heap invariant by demoting x down the tree repeatedly until it is less than or + * equal to its children or is a leaf. + * @param k the position to fill + * @param x the item to insert + */ + private void siftDown(int k, int x, float weight){ + int half = size >>> 1; // loop while a non-leaf + while(k < half){ + int child = (k << 1) + 1; // assume left child is least + int c = queue[child]; + int right = child + 1; + if(right < size && weights[child] > weights[right]){ + c = queue[child = right]; + } + if(weight <= weights[child]) break; + queue[k] = c; + weights[k] = weights[child]; + k = child; + } + queue[k] = x; + weights[k] = weight; + } + + /** + * Increases the capacity of the array. + * @param minCapacity the desired minimum capacity + */ + private void growToSize(int minCapacity){ + if(minCapacity < 0) // overflow + throw new ArcRuntimeException("Capacity upper limit exceeded."); + int oldCapacity = queue.length; + // Double size if small; else grow by 50% + int newCapacity = (int)((oldCapacity < 64) ? ((oldCapacity + 1) * CAPACITY_RATIO_HI) : (oldCapacity * CAPACITY_RATIO_LOW)); + if(newCapacity < 0) // overflow + newCapacity = Integer.MAX_VALUE; + if(newCapacity < minCapacity) newCapacity = minCapacity; + + int[] newQueue = new int[newCapacity]; + float[] newWeights = new float[newCapacity]; + System.arraycopy(queue, 0, newQueue, 0, size); + System.arraycopy(weights, 0, newWeights, 0, size); + queue = newQueue; + weights = newWeights; + } +} \ No newline at end of file diff --git a/core/src/mindustry/ai/Pathfinder.java b/core/src/mindustry/ai/Pathfinder.java index 8c9a9cda6d..615568aed7 100644 --- a/core/src/mindustry/ai/Pathfinder.java +++ b/core/src/mindustry/ai/Pathfinder.java @@ -2,46 +2,50 @@ package mindustry.ai; import arc.*; import arc.func.*; +import arc.math.*; import arc.math.geom.*; import arc.struct.*; import arc.util.*; -import arc.util.async.*; import mindustry.annotations.Annotations.*; -import mindustry.content.*; import mindustry.core.*; import mindustry.game.EventType.*; import mindustry.game.*; import mindustry.gen.*; import mindustry.world.*; +import mindustry.world.blocks.environment.*; import mindustry.world.blocks.storage.*; import mindustry.world.meta.*; import static mindustry.Vars.*; +import static mindustry.world.meta.BlockFlag.*; public class Pathfinder implements Runnable{ - private static final long maxUpdate = Time.millisToNanos(7); + private static final long maxUpdate = Time.millisToNanos(8); private static final int updateFPS = 60; private static final int updateInterval = 1000 / updateFPS; - private static final int impassable = -1; - private static final int fieldTimeout = 1000 * 60 * 2; + + /** cached world size */ + static int wwidth, wheight; + + static final int impassable = -1; public static final int - fieldCore = 0, - fieldRally = 1; + fieldCore = 0; public static final Seq> fieldTypes = Seq.with( - EnemyCoreField::new, - RallyField::new + EnemyCoreField::new ); public static final int costGround = 0, costLegs = 1, - costNaval = 2; + costNaval = 2, + costHover = 3; public static final Seq costTypes = Seq.with( //ground - (team, tile) -> (PathTile.team(tile) == team.id || PathTile.team(tile) == 0) && PathTile.solid(tile) ? impassable : 1 + + (team, tile) -> + (PathTile.allDeep(tile) || ((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0) && PathTile.solid(tile)) ? impassable : 1 + PathTile.health(tile) * 5 + (PathTile.nearSolid(tile) ? 2 : 0) + (PathTile.nearLiquid(tile) ? 6 : 0) + @@ -49,21 +53,31 @@ public class Pathfinder implements Runnable{ (PathTile.damages(tile) ? 30 : 0), //legs - (team, tile) -> PathTile.legSolid(tile) ? impassable : 1 + + (team, tile) -> + PathTile.legSolid(tile) ? impassable : 1 + + (PathTile.deep(tile) ? 6000 : 0) + //leg units can now drown (PathTile.solid(tile) ? 5 : 0), //water - (team, tile) -> PathTile.solid(tile) || !PathTile.liquid(tile) ? 200 : 2 + + (team, tile) -> + (!PathTile.liquid(tile) ? 6000 : 1) + + PathTile.health(tile) * 5 + (PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 14 : 0) + - (PathTile.deep(tile) ? -1 : 0) + - (PathTile.damages(tile) ? 35 : 0) + (PathTile.deep(tile) ? 0 : 1) + + (PathTile.damages(tile) ? 35 : 0), + + //hover + (team, tile) -> + (((PathTile.team(tile) == team && !PathTile.teamPassable(tile)) || PathTile.team(tile) == 0) && PathTile.solid(tile)) ? impassable : 1 + + PathTile.health(tile) * 5 + + (PathTile.nearSolid(tile) ? 2 : 0) ); - //maps team, cost, type to flow field - Flowfield[][][] cache; + /** tile data, see PathTileStruct - kept as a separate array for threading reasons */ + int[] tiles = new int[0]; - /** tile data, see PathTileStruct */ - int[][] tiles = new int[0][0]; + /** maps team, cost, type to flow field*/ + Flowfield[][][] cache; /** unordered array of path data for iteration only. DO NOT iterate or access this in the main thread. */ Seq threadList = new Seq<>(), mainList = new Seq<>(); /** handles task scheduling on the update thread. */ @@ -79,20 +93,29 @@ public class Pathfinder implements Runnable{ stop(); //reset and update internal tile array - tiles = new int[world.width()][world.height()]; + tiles = new int[world.width() * world.height()]; + wwidth = world.width(); + wheight = world.height(); threadList = new Seq<>(); mainList = new Seq<>(); clearCache(); - for(Tile tile : world.tiles){ - tiles[tile.x][tile.y] = packTile(tile); + for(int i = 0; i < tiles.length; i++){ + Tile tile = world.tiles.geti(i); + tiles[i] = packTile(tile); } - preloadPath(getField(state.rules.waveTeam, costGround, fieldCore)); + //don't bother setting up paths unless necessary + if(state.rules.waveTeam.needsFlowField() && !net.client()){ + preloadPath(getField(state.rules.waveTeam, costGround, fieldCore)); + Log.debug("Preloading ground enemy flowfield."); + + //preload water on naval maps + if(spawner.getSpawns().contains(t -> t.floor().isLiquid)){ + preloadPath(getField(state.rules.waveTeam, costNaval, fieldCore)); + Log.debug("Preloading naval enemy flowfield."); + } - //preload water on naval maps - if(spawner.getSpawns().contains(t -> t.floor().isLiquid)){ - preloadPath(getField(state.rules.waveTeam, costNaval, fieldCore)); } start(); @@ -101,6 +124,35 @@ public class Pathfinder implements Runnable{ Events.on(ResetEvent.class, event -> stop()); Events.on(TileChangeEvent.class, event -> updateTile(event.tile)); + + //remove nearSolid flag for tiles + Events.on(TilePreChangeEvent.class, event -> { + Tile tile = event.tile; + + if(tile.solid()){ + for(int i = 0; i < 4; i++){ + Tile other = tile.nearby(i); + if(other != null){ + //other tile needs to update its nearSolid to be false if it's not solid and this tile just got un-solidified + if(!other.solid()){ + boolean otherNearSolid = false; + for(int j = 0; j < 4; j++){ + Tile othernear = other.nearby(i); + if(othernear != null && othernear.solid()){ + otherNearSolid = true; + break; + } + } + int arr = other.array(); + //the other tile is no longer near solid, remove the solid bit + if(!otherNearSolid && tiles.length > arr){ + tiles[arr] &= ~(PathTile.bitMaskNearSolid); + } + } + } + } + } + }); } private void clearCache(){ @@ -108,36 +160,60 @@ public class Pathfinder implements Runnable{ } /** Packs a tile into its internal representation. */ - private int packTile(Tile tile){ - boolean nearLiquid = false, nearSolid = false, nearGround = false; + public int packTile(Tile tile){ + boolean nearLiquid = false, nearSolid = false, nearLegSolid = false, nearGround = false, solid = tile.solid(), allDeep = tile.floor().isDeep(); for(int i = 0; i < 4; i++){ Tile other = tile.nearby(i); if(other != null){ - if(other.floor().isLiquid) nearLiquid = true; - if(other.solid()) nearSolid = true; - if(!other.floor().isLiquid) nearGround = true; + Floor floor = other.floor(); + boolean osolid = other.solid(); + if(floor.isLiquid && floor.isDeep()) nearLiquid = true; + //TODO potentially strange behavior when teamPassable is false for other teams? + if(osolid && !other.block().teamPassable) nearSolid = true; + if(!floor.isLiquid) nearGround = true; + if(!floor.isDeep()) allDeep = false; + if(other.legSolid()) nearLegSolid = true; + + //other tile is now near solid + if(solid && !tile.block().teamPassable){ + tiles[other.array()] |= PathTile.bitMaskNearSolid; + } } } + int tid = tile.getTeamID(); + return PathTile.get( - tile.build == null || !tile.solid() || tile.block() instanceof CoreBlock ? 0 : Math.min((int)(tile.build.health / 40), 80), - tile.getTeamID(), - tile.solid(), + tile.build == null || !solid || tile.block() instanceof CoreBlock ? 0 : Math.min((int)(tile.build.health / 40), 80), + tid == 0 && tile.build != null && state.rules.coreCapture ? 255 : tid, //use teamid = 255 when core capture is enabled to mark out derelict structures + solid, tile.floor().isLiquid, - tile.staticDarkness() >= 2 || (tile.floor().solid && tile.block() == Blocks.air), + tile.legSolid(), nearLiquid, nearGround, nearSolid, + nearLegSolid, tile.floor().isDeep(), - tile.floor().damageTaken > 0.00001f + tile.floor().damageTaken > 0.00001f, + allDeep, + tile.block().teamPassable ); } + public int get(int x, int y){ + return tiles[x + y * wwidth]; + } + /** Starts or restarts the pathfinding thread. */ private void start(){ stop(); - thread = Threads.daemon(this); + if(net.client()) return; + + thread = new Thread(this, "Pathfinder"); + thread.setPriority(Thread.MIN_PRIORITY); + thread.setDaemon(true); + thread.start(); } /** Stops the pathfinding thread. */ @@ -150,15 +226,14 @@ public class Pathfinder implements Runnable{ } /** Update a tile in the internal pathfinding grid. - * Causes a complete pathfinding reclaculation. Main thread only. */ + * Causes a complete pathfinding recalculation. Main thread only. */ public void updateTile(Tile tile){ if(net.client()) return; - int x = tile.x, y = tile.y; - tile.getLinkedTiles(t -> { - if(Structs.inBounds(t.x, t.y, tiles)){ - tiles[t.x][t.y] = packTile(t); + int pos = t.array(); + if(pos < tiles.length){ + tiles[pos] = packTile(t); } }); @@ -166,17 +241,19 @@ public class Pathfinder implements Runnable{ for(Flowfield path : mainList){ if(path != null){ synchronized(path.targets){ - path.targets.clear(); - path.getPositions(path.targets); + path.updateTargetPositions(); } } } + //mark every flow field as dirty, so it updates when it's done queue.post(() -> { for(Flowfield data : threadList){ - updateTargets(data, x, y); + data.dirty = true; } }); + + controlPath.updateTile(tile); } /** Thread implementation. */ @@ -189,34 +266,16 @@ public class Pathfinder implements Runnable{ if(state.isPlaying()){ queue.run(); - //total update time no longer than maxUpdate + //each update time (not total!) no longer than maxUpdate for(Flowfield data : threadList){ - updateFrontier(data, maxUpdate / threadList.size); - //TODO implement timeouts... or don't - /* - //remove flowfields that have 'timed out' so they can be garbage collected and no longer waste space - if(data.refreshRate > 0 && Time.timeSinceMillis(data.lastUpdateTime) > fieldTimeout){ - //make sure it doesn't get removed twice - data.lastUpdateTime = Time.millis(); + //if it's dirty and there is nothing to update, begin updating once more + if(data.dirty && data.frontier.size == 0){ + updateTargets(data); + data.dirty = false; + } - Team team = data.team; - - Core.app.post(() -> { - //remove its used state - if(fieldMap[team.id] != null){ - fieldMap[team.id].remove(data.target); - fieldMapUsed[team.id].remove(data.target); - } - //remove from main thread list - mainList.remove(data); - }); - - queue.post(() -> { - //remove from this thread list with a delay - threadList.remove(data); - }); - }*/ + updateFrontier(data, maxUpdate); } } @@ -265,8 +324,7 @@ public class Pathfinder implements Runnable{ synchronized(path.targets){ //make sure the position actually changed if(!(path.targets.size == 1 && tmpArray.size == 1 && path.targets.first() == tmpArray.first())){ - path.targets.clear(); - path.getPositions(path.targets); + path.updateTargetPositions(); //queue an update queue.post(() -> updateTargets(path)); @@ -274,8 +332,10 @@ public class Pathfinder implements Runnable{ } } - int[][] values = path.weights; - int value = values[tile.x][tile.y]; + //use complete weights if possible; these contain a complete flow field that is not being updated + int[] values = path.hasComplete ? path.completeWeights : path.weights; + int apos = tile.array(); + int value = values[apos]; Tile current = null; int tl = 0; @@ -285,42 +345,20 @@ public class Pathfinder implements Runnable{ Tile other = world.tile(dx, dy); if(other == null) continue; - if(values[dx][dy] < value && (current == null || values[dx][dy] < tl) && path.passable(dx, dy) && - !(point.x != 0 && point.y != 0 && (!path.passable(tile.x + point.x, tile.y) || !path.passable(tile.x, tile.y + point.y)))){ //diagonal corner trap + int packed = world.packArray(dx, dy); + + if(values[packed] < value && (current == null || values[packed] < tl) && path.passable(packed) && + !(point.x != 0 && point.y != 0 && (!path.passable(world.packArray(tile.x + point.x, tile.y)) || !path.passable(world.packArray(tile.x, tile.y + point.y))))){ //diagonal corner trap current = other; - tl = values[dx][dy]; + tl = values[packed]; } } - if(current == null || tl == impassable) return tile; + if(current == null || tl == impassable || (path.cost == costTypes.items[costGround] && current.dangerous() && !tile.dangerous())) return tile; return current; } - /** - * Clears the frontier, increments the search and sets up all flow sources. - * This only occurs for active teams. - */ - private void updateTargets(Flowfield path, int x, int y){ - if(!Structs.inBounds(x, y, path.weights)) return; - - if(path.weights[x][y] == 0){ - //this was a previous target - path.frontier.clear(); - }else if(!path.frontier.isEmpty()){ - //skip if this path is processing - return; - } - - //update cost of the tile TODO maybe only update the cost when it's not passable - path.weights[x][y] = path.cost.getCost(path.team, tiles[x][y]); - - //clear frontier to prevent contamination - path.frontier.clear(); - - updateTargets(path); - } - /** Increments the search and sets up flow sources. Does not change the frontier. */ private void updateTargets(Flowfield path){ @@ -331,18 +369,16 @@ public class Pathfinder implements Runnable{ //add targets for(int i = 0; i < path.targets.size; i++){ int pos = path.targets.get(i); - int tx = Point2.x(pos), ty = Point2.y(pos); - path.weights[tx][ty] = 0; - path.searches[tx][ty] = path.search; + path.weights[pos] = 0; + path.searches[pos] = path.search; path.frontier.addFirst(pos); } } } private void preloadPath(Flowfield path){ - path.targets.clear(); - path.getPositions(path.targets); + path.updateTargetPositions(); registerPath(path); updateFrontier(path, -1); } @@ -354,7 +390,7 @@ public class Pathfinder implements Runnable{ */ private void registerPath(Flowfield path){ path.lastUpdateTime = Time.millis(); - path.setup(tiles.length, tiles[0].length); + path.setup(tiles.length); threadList.add(path); @@ -362,28 +398,29 @@ public class Pathfinder implements Runnable{ Core.app.post(() -> mainList.add(path)); //fill with impassables by default - for(int x = 0; x < world.width(); x++){ - for(int y = 0; y < world.height(); y++){ - path.weights[x][y] = impassable; - } + for(int i = 0; i < tiles.length; i++){ + path.weights[i] = impassable; } //add targets for(int i = 0; i < path.targets.size; i++){ int pos = path.targets.get(i); - path.weights[Point2.x(pos)][Point2.y(pos)] = 0; + path.weights[pos] = 0; path.frontier.addFirst(pos); } } /** Update the frontier for a path. Pathfinding thread only. */ private void updateFrontier(Flowfield path, long nsToRun){ + boolean hadAny = path.frontier.size > 0; long start = Time.nanos(); - while(path.frontier.size > 0 && (nsToRun < 0 || Time.timeSinceNanos(start) <= nsToRun)){ - Tile tile = world.tile(path.frontier.removeLast()); - if(tile == null || path.weights == null) return; //something went horribly wrong, bail - int cost = path.weights[tile.x][tile.y]; + int counter = 0; + + while(path.frontier.size > 0){ + int tile = path.frontier.removeLast(); + if(path.weights == null) return; //something went horribly wrong, bail + int cost = path.weights[tile]; //pathfinding overflowed for some reason, time to bail. the next block update will handle this, hopefully if(path.frontier.size >= world.width() * world.height()){ @@ -394,47 +431,79 @@ public class Pathfinder implements Runnable{ if(cost != impassable){ for(Point2 point : Geometry.d4){ - int dx = tile.x + point.x, dy = tile.y + point.y; + int dx = (tile % wwidth) + point.x, dy = (tile / wwidth) + point.y; - if(dx < 0 || dy < 0 || dx >= tiles.length || dy >= tiles[0].length) continue; + if(dx < 0 || dy < 0 || dx >= wwidth || dy >= wheight) continue; - int otherCost = path.cost.getCost(path.team, tiles[dx][dy]); + int newPos = tile + point.x + point.y * wwidth; + int otherCost = path.cost.getCost(path.team.id, tiles[newPos]); - if((path.weights[dx][dy] > cost + otherCost || path.searches[dx][dy] < path.search) && otherCost != impassable){ - path.frontier.addFirst(Point2.pack(dx, dy)); - path.weights[dx][dy] = cost + otherCost; - path.searches[dx][dy] = (short)path.search; + if((path.weights[newPos] > cost + otherCost || path.searches[newPos] < path.search) && otherCost != impassable){ + path.frontier.addFirst(newPos); + path.weights[newPos] = cost + otherCost; + path.searches[newPos] = (short)path.search; } } } + + //every N iterations, check the time spent - this prevents extra calls to nano time, which itself is slow + if(nsToRun >= 0 && (counter++) >= 200){ + counter = 0; + if(Time.timeSinceNanos(start) >= nsToRun){ + return; + } + } + } + + //there WERE some things in the frontier, but now they are gone, so the path is done; copy over latest data + if(hadAny && path.frontier.size == 0){ + System.arraycopy(path.weights, 0, path.completeWeights, 0, path.weights.length); + path.hasComplete = true; } } public static class EnemyCoreField extends Flowfield{ + private final static BlockFlag[] randomTargets = {storage, generator, launchPad, factory, repair, battery, reactor, drill}; + private Rand rand = new Rand(); + @Override protected void getPositions(IntSeq out){ - for(Tile other : indexer.getEnemy(team, BlockFlag.core)){ - out.add(other.pos()); + if(state.rules.randomWaveAI && team == state.rules.waveTeam){ + rand.setSeed(state.rules.waves ? state.wave : (int)(state.tick / (5400)) + hashCode()); + + //maximum amount of different target flag types they will attack + int max = 1; + + for(int attempt = 0; attempt < 5 && max > 0; attempt++){ + var targets = indexer.getEnemy(team, randomTargets[rand.random(randomTargets.length - 1)]); + if(!targets.isEmpty()){ + boolean any = false; + for(Building other : targets){ + if((other.items != null && other.items.any()) || other.status() != BlockStatus.noInput){ + out.add(other.tile.array()); + any = true; + } + } + if(any){ + max --; + } + } + } + } + + for(Building other : indexer.getEnemy(team, BlockFlag.core)){ + out.add(other.tile.array()); } //spawn points are also enemies. if(state.rules.waves && team == state.rules.defaultTeam){ for(Tile other : spawner.getSpawns()){ - out.add(other.pos()); + out.add(other.array()); } } } } - public static class RallyField extends Flowfield{ - @Override - protected void getPositions(IntSeq out){ - for(Tile other : indexer.getAllied(team, BlockFlag.rally)){ - out.add(other.pos()); - } - } - } - public static class PositionTarget extends Flowfield{ public final Position position; @@ -445,7 +514,7 @@ public class Pathfinder implements Runnable{ @Override public void getPositions(IntSeq out){ - out.add(Point2.pack(World.toTile(position.getX()), World.toTile(position.getY()))); + out.add(world.packArray(World.toTile(position.getX()), World.toTile(position.getY()))); } } @@ -460,11 +529,18 @@ public class Pathfinder implements Runnable{ protected Team team = Team.derelict; /** Function for calculating path cost. Set before using. */ protected PathCost cost = costTypes.get(costGround); + /** Whether there are valid weights in the complete array. */ + protected volatile boolean hasComplete; + /** If true, this flow field needs updating. This flag is only set to false once the flow field finishes and the weights are copied over. */ + protected boolean dirty = false; /** costs of getting to a specific tile */ - public int[][] weights; + public int[] weights; /** search IDs of each position - the highest, most recent search is prioritized and overwritten */ - public int[][] searches; + public int[] searches; + /** the last "complete" weights of this tilemap. */ + public int[] completeWeights; + /** search frontier, these are Pos objects */ IntQueue frontier = new IntQueue(); /** all target positions; these positions have a cost of 0, and must be synchronized on! */ @@ -476,23 +552,35 @@ public class Pathfinder implements Runnable{ /** whether this flow field is ready to be used */ boolean initialized; - void setup(int width, int height){ - this.weights = new int[width][height]; - this.searches = new int[width][height]; - this.frontier.ensureCapacity((width + height) * 3); + void setup(int length){ + this.weights = new int[length]; + this.searches = new int[length]; + this.completeWeights = new int[length]; + this.frontier.ensureCapacity((length) / 4); this.initialized = true; } - protected boolean passable(int x, int y){ - return cost.getCost(team, pathfinder.tiles[x][y]) != impassable; + public boolean hasCompleteWeights(){ + return hasComplete && completeWeights != null; + } + + public void updateTargetPositions(){ + targets.clear(); + getPositions(targets); + } + + protected boolean passable(int pos){ + int amount = cost.getCost(team.id, pathfinder.tiles[pos]); + //edge case: naval reports costs of 6000+ for non-liquids, even though they are not technically passable + return amount != impassable && !(cost == costTypes.get(costNaval) && amount >= 6000); } /** Gets targets to pathfind towards. This must run on the main thread. */ protected abstract void getPositions(IntSeq out); } - interface PathCost{ - int getCost(Team traversing, int tile); + public interface PathCost{ + int getCost(int team, int tile); } /** Holds a copy of tile data for a specific tile position. */ @@ -514,9 +602,15 @@ public class Pathfinder implements Runnable{ boolean nearGround; //whether this block is near a solid object boolean nearSolid; + //whether this block is near a block that is solid for legged units + boolean nearLegSolid; //whether this block is deep / drownable boolean deep; //whether the floor damages boolean damages; + //whether all tiles nearby are deep + boolean allDeep; + //block teamPassable is true + boolean teamPassable; } } diff --git a/core/src/mindustry/ai/RtsAI.java b/core/src/mindustry/ai/RtsAI.java new file mode 100644 index 0000000000..b97e58e464 --- /dev/null +++ b/core/src/mindustry/ai/RtsAI.java @@ -0,0 +1,353 @@ +package mindustry.ai; + +import arc.*; +import arc.graphics.g2d.*; +import arc.math.*; +import arc.math.geom.*; +import arc.struct.*; +import arc.util.*; +import mindustry.*; +import mindustry.ai.types.*; +import mindustry.content.*; +import mindustry.core.*; +import mindustry.entities.*; +import mindustry.game.EventType.*; +import mindustry.game.Teams.*; +import mindustry.gen.*; +import mindustry.graphics.*; +import mindustry.logic.*; +import mindustry.ui.*; +import mindustry.world.*; +import mindustry.world.blocks.defense.turrets.BaseTurret.*; +import mindustry.world.blocks.defense.turrets.*; +import mindustry.world.blocks.storage.*; +import mindustry.world.blocks.storage.CoreBlock.*; +import mindustry.world.meta.*; + +public class RtsAI{ + static final Seq targets = new Seq<>(); + static final Seq squad = new Seq<>(false); + static final IntSet used = new IntSet(); + static final IntSet assignedTargets = new IntSet(), invalidTarget = new IntSet(); + static final float squadRadius = 140f; + static final int timeUpdate = 0, timerSpawn = 1, maxTargetsChecked = 15; + + //in order of priority?? + static final BlockFlag[] flags = {BlockFlag.generator, BlockFlag.factory, BlockFlag.core, BlockFlag.battery, BlockFlag.drill}; + static final ObjectFloatMap weights = new ObjectFloatMap<>(); + static final boolean debug = OS.hasProp("mindustry.debug"); + + final Interval timer = new Interval(10); + final TeamData data; + final ObjectSet damagedSet = new ObjectSet<>(); + final Seq damaged = new Seq<>(false); + + //must be static, as this class can get instantiated many times; event listeners are hard to clean up + static{ + Events.on(BuildDamageEvent.class, e -> { + if(e.build.team.rules().rtsAi){ + var ai = e.build.team.data().rtsAi; + if(ai != null){ + ai.damagedSet.add(e.build); + } + } + }); + } + + public RtsAI(TeamData data){ + this.data = data; + timer.reset(0, Mathf.random(60f * 2f)); + + //TODO remove: debugging! + + if(debug){ + Events.run(Trigger.draw, () -> { + + Draw.draw(Layer.overlayUI, () -> { + + float s = Fonts.outline.getScaleX(); + Fonts.outline.getData().setScale(0.5f); + for(var target : weights){ + Fonts.outline.draw("[sky]" + Strings.fixed(target.value, 2), target.key.x, target.key.y, Align.center); + } + Fonts.outline.getData().setScale(s); + }); + + }); + } + } + + public void update(){ + + if(timer.get(timeUpdate, 60f * 2f)){ + assignSquads(); + checkBuilding(); + } + } + + //TODO atrocious implementation + void checkBuilding(){ + if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 7f) && data.hasCore()){ + CoreBlock block = (CoreBlock)data.core().block; + int coreUnits = data.countType(block.unitType); + + //create AI core unit(s) at random cores + if(coreUnits < data.cores.size){ + Unit unit = block.unitType.create(data.team); + unit.set(data.cores.random()); + unit.add(); + Fx.spawn.at(unit); + } + } + } + + void assignSquads(){ + assignedTargets.clear(); + used.clear(); + damaged.addAll(damagedSet); + damagedSet.clear(); + + boolean didDefend = false; + + for(var unit : data.units){ + if(used.add(unit.id) && unit.isCommandable() && !unit.command().hasCommand() && !unit.command().isAttacking()){ + squad.clear(); + float rad = squadRadius + unit.hitSize*1.5f; + data.tree().intersect(unit.x - rad/2f, unit.y - rad/2f, rad, rad, squad); + + squad.truncate(data.team.rules().rtsMaxSquad); + + //remove overlapping squads + squad.removeAll(u -> (u != unit && used.contains(u.id)) || !u.isCommandable() || u.command().hasCommand() || ((u.flag == 0) != (unit.flag == 0))); + //mark used so other squads can't steal them + for(var item : squad){ + used.add(item.id); + } + + //TODO flawed, squads + if(handleSquad(squad, !didDefend)){ + didDefend = true; + } + } + } + + damaged.clear(); + } + + boolean handleSquad(Seq units, boolean noDefenders){ + if(units.isEmpty()) return false; + + float health = 0f, dps = 0f; + float ax = 0f, ay = 0f; + boolean targetAir = true, targetGround = true; + + for(var unit : units){ + if(!unit.type.targetAir) targetAir = false; + if(!unit.type.targetGround) targetGround = false; + + ax += unit.x; + ay += unit.y; + health += unit.health; + dps += unit.type.dpsEstimate; + } + ax /= units.size; + ay /= units.size; + + if(debug){ + Vars.ui.showLabel("Squad: " + units.size, 2f, ax, ay); + } + + Building defend = null; + boolean defendingCore = false; + + //there is something to defend, see if it's worth the time + if(damaged.size > 0){ + //TODO do the weights matter at all? + //for(var build : damaged){ + //float w = estimateStats(ax, ay, dps, health); + //weights.put(build, w); + //} + + //screw you java + float aax = ax, aay = ay; + + Building best = damaged.min(b -> { + //rush to core IMMEDIATELY + if(b instanceof CoreBuild){ + return -999999f; + } + + return b.dst(aax, aay); + }); + + //defend when close, or this is the only squad defending + //TODO will always rush to defense no matter what + if(best != null && (best instanceof CoreBuild || (units.size >= data.team.rules().rtsMinSquad || (units.size > 0 && units.first().flag != 0)) || best.within(ax, ay, 1000f))){ + defend = best; + + if(debug){ + Vars.ui.showLabel("Defend, dst = " + (int)(best.dst(ax, ay)), 8f, best.x, best.y); + } + + if(best instanceof CoreBuild){ + defendingCore = true; + } + } + } + + boolean tair = targetAir, tground = targetGround; + + //find aggressor, or else, the thing being attacked + Vec2 defendPos = null; + Teamc defendTarget = null; + if(defend != null){ + float checkRange = 350f; + + //TODO could be made faster by storing bullet shooter + Unit aggressor = Units.closestEnemy(data.team, defend.x, defend.y, checkRange, u -> u.checkTarget(tair, tground)); + if(aggressor != null){ + //do not target it directly - target the position? + //defendTarget = aggressor; + defendPos = new Vec2(aggressor.x, aggressor.y); + defendTarget = aggressor; + }else if(false){ //TODO currently ignored, no use defending against nothing + //should it even go there if there's no aggressor found? + Tile closest = defend.findClosestEdge(units.first(), Tile::solid); + if(closest != null){ + defendPos = new Vec2(closest.worldx(), closest.worldy()); + } + }else{ + float mindst = Float.MAX_VALUE; + Building build = null; + + //find closest turret to attack. + for(var turret : Vars.indexer.getEnemy(data.team, BlockFlag.turret)){ + if(turret.within(defend, ((Ranged)turret).range())){ + float dst = turret.dst2(defend); + if(dst < mindst){ + mindst = dst; + build = turret; + } + } + } + + if(build != null){ + defendTarget = build; + } + } + } + + boolean anyDefend = defendPos != null || defendTarget != null; + + invalidTarget.clear(); + + for(var unit : squad){ + if(unit.controller() instanceof CommandAI ai){ + invalidTarget.addAll(ai.unreachableBuildings); + } + } + + var build = anyDefend ? null : findTarget(ax, ay, units.size, dps, health, units.first().flag == 0, units.first().isFlying()); + + if(build != null || anyDefend){ + for(var unit : units){ + if(unit.isCommandable() && !unit.command().hasCommand()){ + if(defendPos != null && !unit.isPathImpassable(World.toTile(defendPos.x), World.toTile(defendPos.y))){ + unit.command().commandPosition(defendPos, true); + }else{ + //TODO stopAtTarget parameter could be false, could be tweaked + unit.command().commandTarget(defendTarget == null ? build : defendTarget, defendTarget != null); + } + + //assign a flag, so it will be "mobilized" more easily later + if(!defendingCore){ + unit.flag = 1; + } + } + } + } + + return anyDefend; + } + + @Nullable Building findTarget(float x, float y, int total, float dps, float health, boolean checkWeight, boolean air){ + if(total < data.team.rules().rtsMinSquad) return null; + + //flag priority? + //1. generator + //2. factory + //3. core + targets.clear(); + for(var flag : flags){ + targets.addAll(Vars.indexer.getEnemy(data.team, flag)); + } + targets.removeAll(b -> assignedTargets.contains(b.id) || invalidTarget.contains(b.pos())); + + if(targets.size == 0) return null; + + weights.clear(); + + //only check a maximum number of targets to prevent hammering the CPU with estimateStats calls + targets.shuffle(); + targets.truncate(maxTargetsChecked); + + for(var target : targets){ + weights.put(target, estimateStats(x, y, target.x, target.y, dps, health, air)); + } + + var result = targets.min( + Structs.comps( + //weight is most important? + Structs.comparingFloat(b -> (1f - weights.get(b, 0f)) + b.dst(x, y)/10000f), + //then distance TODO why weight above + Structs.comparingFloat(b -> b.dst2(x, y)) + ) + ); + + float weight = weights.get(result, 0f); + if(checkWeight && weight < data.team.rules().rtsMinWeight && total < Units.getCap(data.team)){ + return null; + } + + assignedTargets.add(result.id); + return result; + } + + //TODO extremely slow especially with many squads. + float estimateStats(float fromX, float fromY, float x, float y, float selfDps, float selfHealth, boolean air){ + float[] health = {0f}, dps = {0f}; + float extraRadius = 50f; + + for(var turret : Vars.indexer.getEnemy(data.team, BlockFlag.turret)){ + if(turret instanceof BaseTurretBuild t && turret.block instanceof Turret tb && ((tb.targetAir && air) || (tb.targetGround && !air)) && Intersector.distanceSegmentPoint(fromX, fromY, x, y, t.x, t.y) <= t.range() + extraRadius){ + health[0] += t.health; + dps[0] += t.estimateDps(); + } + } + + Tmp.r1.set(fromX, fromY, x - fromX, y - fromY).normalize().grow(140f * 2f); + + //add on extra radius, assume unit range is below that...? + Units.nearbyEnemies(data.team, Tmp.r1, other -> { + if(Intersector.distanceSegmentPoint(fromX, fromY, x, y, other.x, other.y) <= other.range() + extraRadius){ + health[0] += other.health; + dps[0] += other.type.dpsEstimate; + } + }); + + float hp = health[0], dp = dps[0]; + + float timeDestroyOther = Mathf.zero(selfDps, 0.001f) ? Float.POSITIVE_INFINITY : hp / selfDps; + float timeDestroySelf = Mathf.zero(dp) ? Float.POSITIVE_INFINITY : selfHealth / dp; + + //other can never be destroyed | other destroys self instantly + if(Float.isInfinite(timeDestroyOther) || Mathf.zero(timeDestroySelf)) return 0f; + //self can never be destroyed | self destroys other instantly + if(Float.isInfinite(timeDestroySelf) || Mathf.zero(timeDestroyOther)) return 100000f; + + //examples: + // self 10 sec / other 10 sec -> can destroy target with 100 % losses -> returns 1 + // self 5 sec / other 10 sec -> can destroy about half of other -> returns 0.5 (needs to be 2x stronger to defeat) + return timeDestroySelf / timeDestroyOther; + } +} diff --git a/core/src/mindustry/ai/UnitCommand.java b/core/src/mindustry/ai/UnitCommand.java new file mode 100644 index 0000000000..85eff6be00 --- /dev/null +++ b/core/src/mindustry/ai/UnitCommand.java @@ -0,0 +1,119 @@ +package mindustry.ai; + +import arc.*; +import arc.func.*; +import arc.scene.style.*; +import arc.struct.*; +import arc.util.*; +import mindustry.ai.types.*; +import mindustry.ctype.*; +import mindustry.entities.units.*; +import mindustry.gen.*; +import mindustry.input.*; + +/** Defines a pattern of behavior that an RTS-controlled unit should follow. Shows up in the command UI. */ +public class UnitCommand extends MappableContent{ + /** @deprecated now a content type, use the methods in Vars.content instead */ + @Deprecated + public static final Seq all = new Seq<>(); + + public static UnitCommand moveCommand, repairCommand, rebuildCommand, assistCommand, mineCommand, boostCommand, enterPayloadCommand, loadUnitsCommand, loadBlocksCommand, unloadPayloadCommand, loopPayloadCommand; + + /** Name of UI icon (from Icon class). */ + public final String icon; + /** Controller that this unit will use when this command is used. Return null for "default" behavior. */ + public final Func controller; + /** If true, this unit will automatically switch away to the move command when given a position. */ + public boolean switchToMove = true; + /** Whether to draw the movement/attack target. */ + public boolean drawTarget = false; + /** Whether to reset targets when switching to or from this command. */ + public boolean resetTarget = true; + /** */ + public boolean exactArrival = false; + /** Key to press for this command. */ + public @Nullable Binding keybind = null; + + public UnitCommand(String name, String icon, Func controller){ + super(name); + + this.icon = icon; + this.controller = controller == null ? u -> null : controller; + + all.add(this); + } + + public UnitCommand(String name, String icon, Binding keybind, Func controller){ + this(name, icon, controller); + this.keybind = keybind; + } + + public String localized(){ + return Core.bundle.get("command." + name); + } + + public TextureRegionDrawable getIcon(){ + return Icon.icons.get(icon, Icon.cancel); + } + + public char getEmoji() { + return (char)Iconc.codes.get(icon, Iconc.cancel); + } + + @Override + public ContentType getContentType(){ + return ContentType.unitCommand; + } + + @Override + public String toString(){ + return "UnitCommand:" + name; + } + + public static void loadAll(){ + + moveCommand = new UnitCommand("move", "right", Binding.unit_command_move, null){{ + drawTarget = true; + resetTarget = false; + }}; + repairCommand = new UnitCommand("repair", "modeSurvival", Binding.unit_command_repair, u -> new RepairAI()); + rebuildCommand = new UnitCommand("rebuild", "hammer", Binding.unit_command_rebuild, u -> new BuilderAI()); + assistCommand = new UnitCommand("assist", "players", Binding.unit_command_assist, u -> { + var ai = new BuilderAI(); + ai.onlyAssist = true; + return ai; + }); + mineCommand = new UnitCommand("mine", "production", Binding.unit_command_mine, u -> new MinerAI()); + boostCommand = new UnitCommand("boost", "up", Binding.unit_command_boost, u -> new BoostAI()){{ + switchToMove = false; + drawTarget = true; + resetTarget = false; + }}; + enterPayloadCommand = new UnitCommand("enterPayload", "downOpen", Binding.unit_command_enter_payload, null){{ + switchToMove = false; + drawTarget = true; + resetTarget = false; + }}; + loadUnitsCommand = new UnitCommand("loadUnits", "upload", Binding.unit_command_load_units, null){{ + switchToMove = false; + drawTarget = true; + resetTarget = false; + }}; + loadBlocksCommand = new UnitCommand("loadBlocks", "up", Binding.unit_command_load_blocks, null){{ + switchToMove = false; + drawTarget = true; + resetTarget = false; + exactArrival = true; + }}; + unloadPayloadCommand = new UnitCommand("unloadPayload", "download", Binding.unit_command_unload_payload, null){{ + switchToMove = false; + drawTarget = true; + resetTarget = false; + }}; + loopPayloadCommand = new UnitCommand("loopPayload", "resize", Binding.unit_command_loop_payload, null){{ + switchToMove = false; + drawTarget = true; + resetTarget = false; + }}; + } +} diff --git a/core/src/mindustry/ai/UnitGroup.java b/core/src/mindustry/ai/UnitGroup.java new file mode 100644 index 0000000000..0c0366cf29 --- /dev/null +++ b/core/src/mindustry/ai/UnitGroup.java @@ -0,0 +1,186 @@ +package mindustry.ai; + +import arc.*; +import arc.graphics.*; +import arc.math.*; +import arc.math.geom.*; +import arc.struct.*; +import arc.util.*; +import mindustry.*; +import mindustry.ai.Pathfinder.*; +import mindustry.async.*; +import mindustry.content.*; +import mindustry.core.*; +import mindustry.gen.*; + +public class UnitGroup{ + public Seq units = new Seq<>(); + public int collisionLayer; + public volatile float[] positions, originalPositions; + public volatile boolean valid; + + public void calculateFormation(Vec2 dest, int collisionLayer){ + this.collisionLayer = collisionLayer; + + float cx = 0f, cy = 0f; + for(Unit unit : units){ + cx += unit.x; + cy += unit.y; + } + cx /= units.size; + cy /= units.size; + positions = new float[units.size * 2]; + + + //all positions are relative to the center + for(int i = 0; i < units.size; i ++){ + Unit unit = units.get(i); + positions[i * 2] = unit.x - cx; + positions[i * 2 + 1] = unit.y - cy; + unit.command().groupIndex = i; + } + + //run on new thread to prevent stutter + Vars.mainExecutor.submit(() -> { + //unused space between circles that needs to be reached for compression to end + float maxSpaceUsage = 0.7f; + boolean compress = true; + + int compressionIterations = 0; + int physicsIterations = 0; + int totalIterations = 0; + int maxPhysicsIterations = Math.min(1 + (int)(Math.pow(units.size, 0.65) / 10), 6); + + //yep, new allocations, because this is a new thread. + IntQuadTree tree = new IntQuadTree(new Rect(0f, 0f, Vars.world.unitWidth(), Vars.world.unitHeight()), + (index, hitbox) -> hitbox.setCentered(positions[index * 2], positions[index * 2 + 1], units.get(index).hitSize)); + IntSeq tmpseq = new IntSeq(); + Vec2 v1 = new Vec2(); + Vec2 v2 = new Vec2(); + + //this algorithm basically squeezes all the circle colliders together, then proceeds to simulate physics to push them apart across several iterations. + //it's rather slow, but shouldn't be too much of an issue when run in a different thread + while(totalIterations++ < 40 && physicsIterations < maxPhysicsIterations){ + float spaceUsed = 0f; + + if(compress){ + compressionIterations ++; + + float maxDst = 1f, totalArea = 0f; + for(int a = 0; a < units.size; a ++){ + v1.set(positions[a * 2], positions[a * 2 + 1]).lerp(v2.set(0f, 0f), 0.3f); + positions[a * 2] = v1.x; + positions[a * 2 + 1] = v1.y; + + float rad = units.get(a).hitSize * Vars.unitCollisionRadiusScale; + + maxDst = Math.max(maxDst, v1.dst(0f, 0f) + rad); + totalArea += Mathf.PI * rad * rad; + } + + //total area of bounding circle + float boundingArea = Mathf.PI * maxDst * maxDst; + spaceUsed = totalArea / boundingArea; + + //ex: 60% (0.6) of the total area is used, this will not be enough to satisfy a maxSpaceUsage of 70% (0.7) + compress = spaceUsed <= maxSpaceUsage && compressionIterations < 20; + } + + //uncompress units + if(!compress || spaceUsed > 0.5f){ + physicsIterations++; + + tree.clear(); + + for(int a = 0; a < units.size; a++){ + tree.insert(a); + } + + for(int a = 0; a < units.size; a++){ + Unit unit = units.get(a); + float x = positions[a * 2], y = positions[a * 2 + 1], radius = unit.hitSize/2f; + + tmpseq.clear(); + tree.intersect(x - radius, y - radius, radius * 2f, radius * 2f, tmpseq); + for(int res = 0; res < tmpseq.size; res ++){ + int b = tmpseq.items[res]; + + //simulate collision physics + if(a != b){ + float ox = positions[b * 2], oy = positions[b * 2 + 1]; + Unit other = units.get(b); + + float rs = (radius + other.hitSize/2f) * 1.2f; + float dst = Mathf.dst(x, y, ox, oy); + + if(dst < rs){ + v2.set(x - ox, y - oy).setLength(rs - dst); + float mass1 = unit.hitSize, mass2 = other.hitSize; + float ms = mass1 + mass2; + float m1 = mass2 / ms, m2 = mass1 / ms; + float scl = 1f; + + positions[a * 2] += v2.x * m1 * scl; + positions[a * 2 + 1] += v2.y * m1 * scl; + + positions[b * 2] -= v2.x * m2 * scl; + positions[b * 2 + 1] -= v2.y * m2 * scl; + } + } + } + } + } + } + + originalPositions = positions.clone(); + + //raycast from the destination to the offset to make sure it's reachable + for(int a = 0; a < units.size; a ++){ + updateRaycast(a, dest, v1); + } + + valid = true; + + if(ControlPathfinder.showDebug){ + Core.app.post(() -> { + for(int i = 0; i < units.size; i ++){ + float x = positions[i * 2], y = positions[i * 2 + 1]; + + Fx.placeBlock.at(x + dest.x, y + dest.y, 1f, Color.green); + } + }); + } + }); + } + + public void updateRaycast(int index, Vec2 dest){ + updateRaycast(index, dest, Tmp.v1); + } + + private void updateRaycast(int index, Vec2 dest, Vec2 v1){ + if(collisionLayer != PhysicsProcess.layerFlying){ + + //coordinates in world space + float + x = originalPositions[index * 2] + dest.x, + y = originalPositions[index * 2 + 1] + dest.y; + + Unit unit = units.get(index); + + PathCost cost = unit.type.pathCost; + int res = ControlPathfinder.raycastFastAvoid(unit.team.id, cost, World.toTile(dest.x), World.toTile(dest.y), World.toTile(x), World.toTile(y)); + + //collision found, make the destination the point right before the collision + if(res != 0){ + v1.set(Point2.x(res) * Vars.tilesize - dest.x, Point2.y(res) * Vars.tilesize - dest.y); + v1.setLength(Math.max(v1.len() - Vars.tilesize - 4f, 0)); + positions[index * 2] = v1.x; + positions[index * 2 + 1] = v1.y; + } + + if(ControlPathfinder.showDebug){ + Core.app.post(() -> Fx.debugLine.at(unit.x, unit.y, 0f, Color.green, new Vec2[]{new Vec2(dest.x, dest.y), new Vec2(x, y)})); + } + } + } +} diff --git a/core/src/mindustry/ai/UnitStance.java b/core/src/mindustry/ai/UnitStance.java new file mode 100644 index 0000000000..8d4f59bb2e --- /dev/null +++ b/core/src/mindustry/ai/UnitStance.java @@ -0,0 +1,61 @@ +package mindustry.ai; + +import arc.*; +import arc.scene.style.*; +import arc.struct.*; +import arc.util.*; +import mindustry.ctype.*; +import mindustry.gen.*; +import mindustry.input.*; + +public class UnitStance extends MappableContent{ + /** @deprecated now a content type, use the methods in Vars.content instead */ + @Deprecated + public static final Seq all = new Seq<>(); + + public static UnitStance stop, shoot, holdFire, pursueTarget, patrol, ram; + + /** Name of UI icon (from Icon class). */ + public final String icon; + /** Key to press for this stance. */ + public @Nullable Binding keybind = null; + + public UnitStance(String name, String icon, Binding keybind){ + super(name); + this.icon = icon; + this.keybind = keybind; + + all.add(this); + } + + public String localized(){ + return Core.bundle.get("stance." + name); + } + + public TextureRegionDrawable getIcon(){ + return Icon.icons.get(icon, Icon.cancel); + } + + public char getEmoji() { + return (char) Iconc.codes.get(icon, Iconc.cancel); + } + + @Override + public ContentType getContentType(){ + return ContentType.unitStance; + } + + @Override + public String toString(){ + return "UnitStance:" + name; + } + + public static void loadAll(){ + stop = new UnitStance("stop", "cancel", Binding.cancel_orders); + shoot = new UnitStance("shoot", "commandAttack", Binding.unit_stance_shoot); + holdFire = new UnitStance("holdfire", "none", Binding.unit_stance_hold_fire); + pursueTarget = new UnitStance("pursuetarget", "right", Binding.unit_stance_pursue_target); + patrol = new UnitStance("patrol", "refresh", Binding.unit_stance_patrol); + ram = new UnitStance("ram", "rightOpen", Binding.unit_stance_ram); + } +} diff --git a/core/src/mindustry/ai/WaveSpawner.java b/core/src/mindustry/ai/WaveSpawner.java index afc8ab30db..7935418c5f 100644 --- a/core/src/mindustry/ai/WaveSpawner.java +++ b/core/src/mindustry/ai/WaveSpawner.java @@ -19,8 +19,9 @@ import mindustry.world.*; import static mindustry.Vars.*; public class WaveSpawner{ - private static final float margin = 40f, coreMargin = tilesize * 2f, maxSteps = 30; + private static final float margin = 0f, coreMargin = tilesize * 2f, maxSteps = 30; + private int tmpCount; private Seq spawns = new Seq<>(); private boolean spawning = false; private boolean any = false; @@ -55,7 +56,7 @@ public class WaveSpawner{ public void spawnEnemies(){ spawning = true; - eachGroundSpawn((spawnX, spawnY, doShockwave) -> { + eachGroundSpawn(-1, (spawnX, spawnY, doShockwave) -> { if(doShockwave){ doShockwave(spawnX, spawnY); } @@ -65,23 +66,33 @@ public class WaveSpawner{ if(group.type == null) continue; int spawned = group.getSpawned(state.wave - 1); + if(spawned == 0) continue; + + if(state.isCampaign()){ + //when spawning a boss, round down, so 1.5x (hard) * 1 boss does not result in 2 bosses + spawned = Math.max(1, group.effect == StatusEffects.boss ? + (int)(spawned * state.getPlanet().campaignRules.difficulty.enemySpawnMultiplier) : + Mathf.round(spawned * state.getPlanet().campaignRules.difficulty.enemySpawnMultiplier)); + } + + int spawnedf = spawned; if(group.type.flying){ float spread = margin / 1.5f; - eachFlyerSpawn((spawnX, spawnY) -> { - for(int i = 0; i < spawned; i++){ + eachFlyerSpawn(group.spawn, (spawnX, spawnY) -> { + for(int i = 0; i < spawnedf; i++){ Unit unit = group.createUnit(state.rules.waveTeam, state.wave - 1); unit.set(spawnX + Mathf.range(spread), spawnY + Mathf.range(spread)); - unit.add(); + spawnEffect(unit); } }); }else{ float spread = tilesize * 2; - eachGroundSpawn((spawnX, spawnY, doShockwave) -> { + eachGroundSpawn(group.spawn, (spawnX, spawnY, doShockwave) -> { - for(int i = 0; i < spawned; i++){ + for(int i = 0; i < spawnedf; i++){ Tmp.v1.rnd(spread); Unit unit = group.createUnit(state.rules.waveTeam, state.wave - 1); @@ -92,7 +103,7 @@ public class WaveSpawner{ } } - Time.runTask(121f, () -> spawning = false); + Time.run(121f, () -> spawning = false); } public void doShockwave(float x, float y){ @@ -101,12 +112,14 @@ public class WaveSpawner{ } public void eachGroundSpawn(Intc2 cons){ - eachGroundSpawn((x, y, shock) -> cons.get(World.toTile(x), World.toTile(y))); + eachGroundSpawn(-1, (x, y, shock) -> cons.get(World.toTile(x), World.toTile(y))); } - private void eachGroundSpawn(SpawnConsumer cons){ + private void eachGroundSpawn(int filterPos, SpawnConsumer cons){ if(state.hasSpawns()){ for(Tile spawn : spawns){ + if(filterPos != -1 && filterPos != spawn.pos()) continue; + cons.accept(spawn.worldx(), spawn.worldy(), true); } } @@ -114,6 +127,8 @@ public class WaveSpawner{ if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam) && !state.teams.playerCores().isEmpty()){ Building firstCore = state.teams.playerCores().first(); for(Building core : state.rules.waveTeam.cores()){ + if(filterPos != -1 && filterPos != core.pos()) continue; + Tmp.v1.set(firstCore).sub(core).limit(coreMargin + core.block.size * tilesize /2f * Mathf.sqrt2); boolean valid = false; @@ -146,28 +161,51 @@ public class WaveSpawner{ } } - private void eachFlyerSpawn(Floatc2 cons){ - for(Tile tile : spawns){ - float angle = Angles.angle(world.width() / 2, world.height() / 2, tile.x, tile.y); + private void eachFlyerSpawn(int filterPos, Floatc2 cons){ + boolean airUseSpawns = state.rules.airUseSpawns; - float trns = Math.max(world.width(), world.height()) * Mathf.sqrt2 * tilesize; - float spawnX = Mathf.clamp(world.width() * tilesize / 2f + Angles.trnsx(angle, trns), -margin, world.width() * tilesize + margin); - float spawnY = Mathf.clamp(world.height() * tilesize / 2f + Angles.trnsy(angle, trns), -margin, world.height() * tilesize + margin); - cons.get(spawnX, spawnY); + for(Tile tile : spawns){ + if(filterPos != -1 && filterPos != tile.pos()) continue; + + if(!airUseSpawns){ + + float angle = Angles.angle(world.width() / 2f, world.height() / 2f, tile.x, tile.y); + float trns = Math.max(world.width(), world.height()) * Mathf.sqrt2 * tilesize; + float spawnX = Mathf.clamp(world.width() * tilesize / 2f + Angles.trnsx(angle, trns), -margin, world.width() * tilesize + margin); + float spawnY = Mathf.clamp(world.height() * tilesize / 2f + Angles.trnsy(angle, trns), -margin, world.height() * tilesize + margin); + cons.get(spawnX, spawnY); + }else{ + cons.get(tile.worldx(), tile.worldy()); + } } if(state.rules.attackMode && state.teams.isActive(state.rules.waveTeam)){ - for(Building core : state.teams.get(state.rules.waveTeam).cores){ + for(Building core : state.rules.waveTeam.data().cores){ + if(filterPos != -1 && filterPos != core.pos()) continue; + cons.get(core.x, core.y); } } } + public int countGroundSpawns(){ + tmpCount = 0; + eachGroundSpawn((x, y) -> tmpCount ++); + return tmpCount; + } + + public int countFlyerSpawns(){ + tmpCount = 0; + eachFlyerSpawn(-1, (x, y) -> tmpCount ++); + return tmpCount; + } + public boolean isSpawning(){ return spawning && !net.client(); } - private void reset(){ + public void reset(){ + spawning = false; spawns.clear(); for(Tile tile : world.tiles){ @@ -177,9 +215,21 @@ public class WaveSpawner{ } } - private void spawnEffect(Unit unit){ - Call.spawnEffect(unit.x, unit.y, unit.type); - Time.run(30f, unit::add); + /** Applies the standard wave spawn effects to a unit - invincibility, unmoving. */ + public void spawnEffect(Unit unit){ + spawnEffect(unit, unit.angleTo(world.width()/2f * tilesize, world.height()/2f * tilesize)); + } + + /** Applies the standard wave spawn effects to a unit - invincibility, unmoving. */ + public void spawnEffect(Unit unit, float rotation){ + unit.rotation = rotation; + unit.apply(StatusEffects.unmoving, 30f); + unit.apply(StatusEffects.invincible, 60f); + unit.add(); + unit.unloaded(); + + Events.fire(new UnitSpawnEvent(unit)); + Call.spawnEffect(unit.x, unit.y, unit.rotation, unit.type); } private interface SpawnConsumer{ @@ -187,8 +237,9 @@ public class WaveSpawner{ } @Remote(called = Loc.server, unreliable = true) - public static void spawnEffect(float x, float y, UnitType type){ - Fx.unitSpawn.at(x, y, 0f, type); + public static void spawnEffect(float x, float y, float rotation, UnitType u){ + + Fx.unitSpawn.at(x, y, rotation, u); Time.run(30f, () -> Fx.spawn.at(x, y)); } diff --git a/core/src/mindustry/ai/formations/BoundedSlotAssignmentStrategy.java b/core/src/mindustry/ai/formations/BoundedSlotAssignmentStrategy.java deleted file mode 100644 index 62461bde31..0000000000 --- a/core/src/mindustry/ai/formations/BoundedSlotAssignmentStrategy.java +++ /dev/null @@ -1,44 +0,0 @@ -package mindustry.ai.formations; - - -import arc.struct.*; - -/** - * {@code BoundedSlotAssignmentStrategy} is an abstract implementation of {@link SlotAssignmentStrategy} that supports roles. - * Generally speaking, there are hard and soft roles. Hard roles cannot be broken, soft roles can. - *

- * This abstract class provides an implementation of the {@link #calculateNumberOfSlots(Seq) calculateNumberOfSlots} method that - * is more general (and costly) than the simplified implementation in {@link FreeSlotAssignmentStrategy}. It scans the assignment - * list to find the number of filled slots, which is the highest slot number in the assignments. - * @author davebaol - */ -public abstract class BoundedSlotAssignmentStrategy implements SlotAssignmentStrategy{ - - @Override - public abstract void updateSlotAssignments(Seq assignments); - - @Override - public int calculateNumberOfSlots(Seq assignments){ - // Find the number of filled slots: it will be the - // highest slot number in the assignments - int filledSlots = -1; - for(int i = 0; i < assignments.size; i++){ - SlotAssignment assignment = assignments.get(i); - if(assignment.slotNumber >= filledSlots) filledSlots = assignment.slotNumber; - } - - // Add one to go from the index of the highest slot to the number of slots needed. - return filledSlots + 1; - } - - @Override - public void removeSlotAssignment(Seq assignments, int index){ - int sn = assignments.get(index).slotNumber; - for(int i = 0; i < assignments.size; i++){ - SlotAssignment sa = assignments.get(i); - if(sa.slotNumber >= sn) sa.slotNumber--; - } - assignments.remove(index); - } - -} diff --git a/core/src/mindustry/ai/formations/DistanceAssignmentStrategy.java b/core/src/mindustry/ai/formations/DistanceAssignmentStrategy.java deleted file mode 100644 index 9713e66862..0000000000 --- a/core/src/mindustry/ai/formations/DistanceAssignmentStrategy.java +++ /dev/null @@ -1,51 +0,0 @@ -package mindustry.ai.formations; - -import arc.math.*; -import arc.math.geom.*; -import arc.struct.*; - -public class DistanceAssignmentStrategy implements SlotAssignmentStrategy{ - private final Vec3 vec = new Vec3(); - private final FormationPattern form; - - public DistanceAssignmentStrategy(FormationPattern form){ - this.form = form; - } - - @Override - public void updateSlotAssignments(Seq assignments){ - IntSeq slots = IntSeq.range(0, assignments.size); - - for(SlotAssignment slot : assignments){ - int mindex = 0; - float mcost = Float.MAX_VALUE; - - for(int i = 0; i < slots.size; i++){ - float cost = cost(slot.member, slots.get(i)); - if(cost < mcost){ - mcost = cost; - mindex = i; - } - } - - slot.slotNumber = slots.get(mindex); - slots.removeIndex(mindex); - - } - } - - @Override - public int calculateNumberOfSlots(Seq assignments){ - return assignments.size; - } - - @Override - public void removeSlotAssignment(Seq assignments, int index){ - assignments.remove(index); - } - - float cost(FormationMember member, int slot){ - form.calculateSlotLocation(vec, slot); - return Mathf.dst2(member.formationPos().x, member.formationPos().y, vec.x, vec.y); - } -} diff --git a/core/src/mindustry/ai/formations/Formation.java b/core/src/mindustry/ai/formations/Formation.java deleted file mode 100644 index db2ce02e14..0000000000 --- a/core/src/mindustry/ai/formations/Formation.java +++ /dev/null @@ -1,224 +0,0 @@ -package mindustry.ai.formations; - -import arc.math.*; -import arc.math.geom.*; -import arc.struct.*; - -/** - * A {@code Formation} coordinates the movement of a group of characters so that they retain some group organization. Characters - * belonging to a formation must implement the {@link FormationMember} interface. At its simplest, a formation can consist of - * moving in a fixed geometric pattern such as a V or line abreast, but it is not limited to that. Formations can also make use of - * the environment. Squads of characters can move between cover points using formation steering with only minor modifications, for - * example. - *

- * Formation motion is used in team sports games, squad-based games, real-time strategy games, and sometimes in first-person - * shooters, driving games, and action adventures too. It is a simple and flexible technique that is much quicker to write and - * execute and can produce much more stable behavior than collaborative tactical decision making. - * @author davebaol - */ -public class Formation{ - /** A list of slots assignments. */ - public Seq slotAssignments; - /** The anchor point of this formation. */ - public Vec3 anchor; - /** The formation pattern */ - public FormationPattern pattern; - /** The strategy used to assign a member to his slot */ - public SlotAssignmentStrategy slotAssignmentStrategy; - /** The formation motion moderator */ - public FormationMotionModerator motionModerator; - - private final Vec2 positionOffset; - private final Mat orientationMatrix = new Mat(); - - /** The location representing the drift offset for the currently filled slots. */ - private final Vec3 driftOffset; - - /** - * Creates a {@code Formation} for the specified {@code pattern} using a {@link FreeSlotAssignmentStrategy} and no motion - * moderator. - * @param anchor the anchor point of this formation, Cannot be {@code null}. - * @param pattern the pattern of this formation - * @throws IllegalArgumentException if the anchor point is {@code null} - */ - public Formation(Vec3 anchor, FormationPattern pattern){ - this(anchor, pattern, new FreeSlotAssignmentStrategy(), null); - } - - /** - * Creates a {@code Formation} for the specified {@code pattern} and {@code slotAssignmentStrategy} using no motion moderator. - * @param anchor the anchor point of this formation, Cannot be {@code null}. - * @param pattern the pattern of this formation - * @param slotAssignmentStrategy the strategy used to assign a member to his slot - * @throws IllegalArgumentException if the anchor point is {@code null} - */ - public Formation(Vec3 anchor, FormationPattern pattern, SlotAssignmentStrategy slotAssignmentStrategy){ - this(anchor, pattern, slotAssignmentStrategy, null); - } - - /** - * Creates a {@code Formation} for the specified {@code pattern}, {@code slotAssignmentStrategy} and {@code moderator}. - * @param anchor the anchor point of this formation, Cannot be {@code null}. - * @param pattern the pattern of this formation - * @param slotAssignmentStrategy the strategy used to assign a member to his slot - * @param motionModerator the motion moderator. Can be {@code null} if moderation is not needed - * @throws IllegalArgumentException if the anchor point is {@code null} - */ - public Formation(Vec3 anchor, FormationPattern pattern, SlotAssignmentStrategy slotAssignmentStrategy, - FormationMotionModerator motionModerator){ - if(anchor == null) throw new IllegalArgumentException("The anchor point cannot be null"); - this.anchor = anchor; - this.pattern = pattern; - this.slotAssignmentStrategy = slotAssignmentStrategy; - this.motionModerator = motionModerator; - - this.slotAssignments = new Seq<>(); - this.driftOffset = new Vec3(); - this.positionOffset = new Vec2(anchor.x, anchor.y).cpy(); - } - - /** Updates the assignment of members to slots */ - public void updateSlotAssignments(){ - pattern.slots = slotAssignments.size; - - // Apply the strategy to update slot assignments - slotAssignmentStrategy.updateSlotAssignments(slotAssignments); - - // Set the newly calculated number of slots - pattern.slots = slotAssignmentStrategy.calculateNumberOfSlots(slotAssignments); - - // Update the drift offset if a motion moderator is set - if(motionModerator != null) motionModerator.calculateDriftOffset(driftOffset, slotAssignments, pattern); - } - - /** - * Changes the pattern of this formation and updates slot assignments if the number of member is supported by the given - * pattern. - * @param pattern the pattern to set - * @return {@code true} if the pattern has effectively changed; {@code false} otherwise. - */ - public boolean changePattern(FormationPattern pattern){ - // Find out how many slots we have occupied - int occupiedSlots = slotAssignments.size; - - // Check if the pattern supports one more slot - if(pattern.supportsSlots(occupiedSlots)){ - this.pattern = pattern; - - // Update the slot assignments and return success - updateSlotAssignments(); - - return true; - } - - return false; - } - - /** Much more efficient than adding a single member. - * @return number of members added. */ - public int addMembers(Iterable members){ - int added = 0; - for(FormationMember member : members){ - if(pattern.supportsSlots(slotAssignments.size + 1)){ - slotAssignments.add(new SlotAssignment(member, slotAssignments.size)); - added ++; - } - } - - updateSlotAssignments(); - return added; - } - - /** - * Adds a new member to the first available slot and updates slot assignments if the number of member is supported by the - * current pattern. - * @param member the member to add - * @return {@code false} if no more slots are available; {@code true} otherwise. - */ - public boolean addMember(FormationMember member){ - // Check if the pattern supports one more slot - if(pattern.supportsSlots(slotAssignments.size + 1)){ - // Add a new slot assignment - slotAssignments.add(new SlotAssignment(member, slotAssignments.size)); - - // Update the slot assignments and return success - updateSlotAssignments(); - return true; - } - - return false; - } - - /** - * Removes a member from its slot and updates slot assignments. - * @param member the member to remove - */ - public void removeMember(FormationMember member){ - // Find the member's slot - int slot = findMemberSlot(member); - - // Make sure we've found a valid result - if(slot >= 0){ - // Remove the slot - // slotAssignments.removeIndex(slot); - slotAssignmentStrategy.removeSlotAssignment(slotAssignments, slot); - - // Update the assignments - updateSlotAssignments(); - } - } - - private int findMemberSlot(FormationMember member){ - for(int i = 0; i < slotAssignments.size; i++){ - if(slotAssignments.get(i).member == member) return i; - } - return -1; - } - - // debug - public SlotAssignment getSlotAssignmentAt(int index){ - return slotAssignments.get(index); - } - - // debug - public int getSlotAssignmentCount(){ - return slotAssignments.size; - } - - /** Writes new slot locations to each member */ - public void updateSlots(){ - positionOffset.set(anchor); - float orientationOffset = anchor.z; - if(motionModerator != null){ - positionOffset.sub(driftOffset); - orientationOffset -= driftOffset.z; - } - - // Get the orientation of the anchor point as a matrix - orientationMatrix.idt().rotate(anchor.z); - - // Go through each member in turn - for(int i = 0; i < slotAssignments.size; i++){ - SlotAssignment slotAssignment = slotAssignments.get(i); - - // Retrieve the location reference of the formation member to calculate the new value - Vec3 relativeLoc = slotAssignment.member.formationPos(); - float z = relativeLoc.z; - - // Ask for the location of the slot relative to the anchor point - pattern.calculateSlotLocation(relativeLoc, slotAssignment.slotNumber); - - // Transform it by the anchor point's position and orientation - relativeLoc.mul(orientationMatrix); - - // Add the anchor and drift components - relativeLoc.add(positionOffset.x, positionOffset.y, 0); - relativeLoc.z = z + orientationOffset; - } - - // Possibly reset the anchor point if a moderator is set - if(motionModerator != null){ - motionModerator.updateAnchorPoint(anchor); - } - } -} diff --git a/core/src/mindustry/ai/formations/FormationMember.java b/core/src/mindustry/ai/formations/FormationMember.java deleted file mode 100644 index 2fdf259f62..0000000000 --- a/core/src/mindustry/ai/formations/FormationMember.java +++ /dev/null @@ -1,16 +0,0 @@ -package mindustry.ai.formations; - -import arc.math.geom.*; - -/** - * Game characters coordinated by a {@link Formation} must implement this interface. Any {@code FormationMember} has a target - * location which is the place where it should be in order to stay in formation. This target location is calculated by the - * formation itself. - * @author davebaol - */ -public interface FormationMember{ - /** Returns the target location of this formation member. */ - Vec3 formationPos(); - - float formationSize(); -} diff --git a/core/src/mindustry/ai/formations/FormationMotionModerator.java b/core/src/mindustry/ai/formations/FormationMotionModerator.java deleted file mode 100644 index 65e55951c9..0000000000 --- a/core/src/mindustry/ai/formations/FormationMotionModerator.java +++ /dev/null @@ -1,52 +0,0 @@ -package mindustry.ai.formations; - -import arc.math.geom.*; -import arc.struct.*; - -/** - * A {@code FormationMotionModerator} moderates the movement of the formation based on the current positions of the members in its - * slots: in effect to keep the anchor point on a leash. If the members in the slots are having trouble reaching their targets, - * then the formation as a whole should be held back to give them a chance to catch up. - * @author davebaol - */ -public abstract class FormationMotionModerator{ - private Vec3 tempLocation; - - /** - * Update the anchor point to moderate formation motion. This method is called at each frame. - * @param anchor the anchor point - */ - public abstract void updateAnchorPoint(Vec3 anchor); - - /** - * Calculates the drift offset when members are in the given set of slots for the specified pattern. - * @param centerOfMass the output location set to the calculated drift offset - * @param slotAssignments the set of slots - * @param pattern the pattern - * @return the given location for chaining. - */ - public Vec3 calculateDriftOffset(Vec3 centerOfMass, Seq slotAssignments, FormationPattern pattern){ - // Clear the center of mass - centerOfMass.x = centerOfMass.y = 0; - float centerOfMassOrientation = 0; - - // Make sure tempLocation is instantiated - if(tempLocation == null) tempLocation = new Vec3(); - - // Go through each assignment and add its contribution to the center - float numberOfAssignments = slotAssignments.size; - for(int i = 0; i < numberOfAssignments; i++){ - pattern.calculateSlotLocation(tempLocation, slotAssignments.get(i).slotNumber); - centerOfMass.add(tempLocation); - centerOfMassOrientation += tempLocation.z; - } - - // Divide through to get the drift offset. - centerOfMass.scl(1f / numberOfAssignments); - centerOfMassOrientation /= numberOfAssignments; - centerOfMass.z = centerOfMassOrientation; - - return centerOfMass; - } - -} diff --git a/core/src/mindustry/ai/formations/FormationPattern.java b/core/src/mindustry/ai/formations/FormationPattern.java deleted file mode 100644 index 5fe84bcda9..0000000000 --- a/core/src/mindustry/ai/formations/FormationPattern.java +++ /dev/null @@ -1,29 +0,0 @@ -package mindustry.ai.formations; - -import arc.math.geom.*; - -/** - * The {@code FormationPattern} interface represents the shape of a formation and generates the slot offsets, relative to its - * anchor point. Since formations can be scalable the pattern must be able to determine if a given number of slots is supported. - *

- * Each particular pattern (such as a V, wedge, circle) needs its own instance of a class that implements this - * {@code FormationPattern} interface. - * @author davebaol - */ -public abstract class FormationPattern{ - public int slots; - /** Spacing between members. */ - public float spacing = 20f; - - /** Returns the location of the given slot index. */ - public abstract Vec3 calculateSlotLocation(Vec3 out, int slot); - - /** - * Returns true if the pattern can support the given number of slots - * @param slotCount the number of slots - * @return {@code true} if this pattern can support the given number of slots; {@code false} othervwise. - */ - public boolean supportsSlots(int slotCount){ - return true; - } -} diff --git a/core/src/mindustry/ai/formations/FreeSlotAssignmentStrategy.java b/core/src/mindustry/ai/formations/FreeSlotAssignmentStrategy.java deleted file mode 100644 index 89e51054d2..0000000000 --- a/core/src/mindustry/ai/formations/FreeSlotAssignmentStrategy.java +++ /dev/null @@ -1,34 +0,0 @@ -package mindustry.ai.formations; - - -import arc.struct.*; - -/** - * {@code FreeSlotAssignmentStrategy} is the simplest implementation of {@link SlotAssignmentStrategy}. It simply go through - * each assignment in the list and assign sequential slot numbers. The number of slots is just the length of the list. - *

- * Because each member can occupy any slot this implementation does not support roles. - * @author davebaol - */ -public class FreeSlotAssignmentStrategy implements SlotAssignmentStrategy{ - - @Override - public void updateSlotAssignments(Seq assignments){ - // A very simple assignment algorithm: we simply go through - // each assignment in the list and assign sequential slot numbers - for(int i = 0; i < assignments.size; i++){ - assignments.get(i).slotNumber = i; - } - } - - @Override - public int calculateNumberOfSlots(Seq assignments){ - return assignments.size; - } - - @Override - public void removeSlotAssignment(Seq assignments, int index){ - assignments.remove(index); - } - -} diff --git a/core/src/mindustry/ai/formations/SlotAssignment.java b/core/src/mindustry/ai/formations/SlotAssignment.java deleted file mode 100644 index c30cc6e226..0000000000 --- a/core/src/mindustry/ai/formations/SlotAssignment.java +++ /dev/null @@ -1,29 +0,0 @@ -package mindustry.ai.formations; - - -/** - * A {@code SlotAssignment} instance represents the assignment of a single {@link FormationMember} to its slot in the - * {@link Formation}. - * @author davebaol - */ -public class SlotAssignment{ - public FormationMember member; - public int slotNumber; - - /** - * Creates a {@code SlotAssignment} for the given {@code member}. - * @param member the member of this slot assignment - */ - public SlotAssignment(FormationMember member){ - this(member, 0); - } - - /** - * Creates a {@code SlotAssignment} for the given {@code member} and {@code slotNumber}. - * @param member the member of this slot assignment - */ - public SlotAssignment(FormationMember member, int slotNumber){ - this.member = member; - this.slotNumber = slotNumber; - } -} diff --git a/core/src/mindustry/ai/formations/SlotAssignmentStrategy.java b/core/src/mindustry/ai/formations/SlotAssignmentStrategy.java deleted file mode 100644 index 2ccea7aa15..0000000000 --- a/core/src/mindustry/ai/formations/SlotAssignmentStrategy.java +++ /dev/null @@ -1,20 +0,0 @@ -package mindustry.ai.formations; - -import arc.struct.*; - -/** - * This interface defines how each {@link FormationMember} is assigned to a slot in the {@link Formation}. - * @author davebaol - */ -public interface SlotAssignmentStrategy{ - - /** Updates the assignment of members to slots */ - void updateSlotAssignments(Seq assignments); - - /** Calculates the number of slots from the assignment data. */ - int calculateNumberOfSlots(Seq assignments); - - /** Removes the slot assignment at the specified index. */ - void removeSlotAssignment(Seq assignments, int index); - -} diff --git a/core/src/mindustry/ai/formations/SoftRoleSlotAssignmentStrategy.java b/core/src/mindustry/ai/formations/SoftRoleSlotAssignmentStrategy.java deleted file mode 100644 index 59c933c205..0000000000 --- a/core/src/mindustry/ai/formations/SoftRoleSlotAssignmentStrategy.java +++ /dev/null @@ -1,164 +0,0 @@ -package mindustry.ai.formations; - - -import arc.struct.*; -import arc.util.*; - -/** - * {@code SoftRoleSlotAssignmentStrategy} is a concrete implementation of {@link BoundedSlotAssignmentStrategy} that supports soft - * roles, i.e. roles that can be broken. Rather than a member having a list of roles it can fulfill, it has a set of values - * representing how difficult it would find it to fulfill every role. The value is known as the slot cost. To make a slot - * impossible for a member to fill, its slot cost should be infinite (you can even set a threshold to ignore all slots whose cost - * is too high; this will reduce computation time when several costs are exceeding). To make a slot ideal for a member, its slot - * cost should be zero. We can have different levels of unsuitable assignment for one member. - *

- * Slot costs do not necessarily have to depend only on the member and the slot roles. They can be generalized to include any - * difficulty a member might have in taking up a slot. If a formation is spread out, for example, a member may choose a slot that - * is close by over a more distant slot. Distance can be directly used as a slot cost. - *

- * IMPORTANVec2 NOTES: - *

    - *
  • In order for the algorithm to work properly the slot costs can not be negative.
  • - *
  • This algorithm is often not fast enough to be used regularly. However, slot assignment happens relatively seldom (when the - * player selects a new pattern, for example, or adds a member to the formation, or a member is removed from the formation).
  • - *
- * @author davebaol - */ -public class SoftRoleSlotAssignmentStrategy extends BoundedSlotAssignmentStrategy{ - protected SlotCostProvider slotCostProvider; - protected float costThreshold; - private BoolSeq filledSlots; - - /** - * Creates a {@code SoftRoleSlotAssignmentStrategy} with the given slot cost provider and no cost threshold. - * @param slotCostProvider the slot cost provider - */ - public SoftRoleSlotAssignmentStrategy(SlotCostProvider slotCostProvider){ - this(slotCostProvider, Float.POSITIVE_INFINITY); - } - - /** - * Creates a {@code SoftRoleSlotAssignmentStrategy} with the given slot cost provider and cost threshold. - * @param slotCostProvider the slot cost provider - * @param costThreshold is a slot-cost limit, beyond which a slot is considered to be too expensive to consider occupying. - */ - public SoftRoleSlotAssignmentStrategy(SlotCostProvider slotCostProvider, float costThreshold){ - this.slotCostProvider = slotCostProvider; - this.costThreshold = costThreshold; - - this.filledSlots = new BoolSeq(); - } - - @Override - public void updateSlotAssignments(Seq assignments){ - // Holds a list of member and slot data for each member. - Seq memberData = new Seq<>(); - - // Compile the member data - int numberOfAssignments = assignments.size; - for(int i = 0; i < numberOfAssignments; i++){ - SlotAssignment assignment = assignments.get(i); - - // Create a new member datum, and fill it - MemberAndSlots datum = new MemberAndSlots(assignment.member); - - // Add each valid slot to it - for(int j = 0; j < numberOfAssignments; j++){ - - // Get the cost of the slot - float cost = slotCostProvider.getCost(assignment.member, j); - - // Make sure the slot is valid - if(cost >= costThreshold) continue; - - SlotAssignment slot = assignments.get(j); - - // Store the slot information - CostAndSlot slotDatum = new CostAndSlot(cost, slot.slotNumber); - datum.costAndSlots.add(slotDatum); - - // Add it to the member's ease of assignment - datum.assignmentEase += 1f / (1f + cost); - } - - // Add member datum - memberData.add(datum); - } - - // Reset the array to keep track of which slots we have already filled. - if(numberOfAssignments > filledSlots.size) filledSlots.ensureCapacity(numberOfAssignments - filledSlots.size); - filledSlots.size = numberOfAssignments; - for(int i = 0; i < numberOfAssignments; i++) - filledSlots.set(i, false); - - // Arrange members in order of ease of assignment, with the least easy first. - memberData.sort(); - MEMBER_LOOP: - for(int i = 0; i < memberData.size; i++){ - MemberAndSlots memberDatum = memberData.get(i); - - // Choose the first slot in the list that is still empty (non-filled) - memberDatum.costAndSlots.sort(); - int m = memberDatum.costAndSlots.size; - for(int j = 0; j < m; j++){ - int slotNumber = memberDatum.costAndSlots.get(j).slotNumber; - - // Check if this slot is valid - if(!filledSlots.get(slotNumber)){ - // Fill this slot - SlotAssignment slot = assignments.get(slotNumber); - slot.member = memberDatum.member; - slot.slotNumber = slotNumber; - - // Reserve the slot - filledSlots.set(slotNumber, true); - - // Go to the next member - continue MEMBER_LOOP; - } - } - - // If we reach here, it's because a member has no valid assignment. - // - // TODO - // Some sensible action should be taken, such as reporting to the player. - throw new ArcRuntimeException("SoftRoleSlotAssignmentStrategy cannot find valid slot assignment for member " + memberDatum.member); - } - } - - static class CostAndSlot implements Comparable{ - float cost; - int slotNumber; - - public CostAndSlot(float cost, int slotNumber){ - this.cost = cost; - this.slotNumber = slotNumber; - } - - @Override - public int compareTo(CostAndSlot other){ - return Float.compare(cost, other.cost); - } - } - - static class MemberAndSlots implements Comparable{ - FormationMember member; - float assignmentEase; - Seq costAndSlots; - - public MemberAndSlots(FormationMember member){ - this.member = member; - this.assignmentEase = 0f; - this.costAndSlots = new Seq<>(); - } - - @Override - public int compareTo(MemberAndSlots other){ - return Float.compare(assignmentEase, other.assignmentEase); - } - } - - public interface SlotCostProvider{ - float getCost(FormationMember member, int slotNumber); - } -} diff --git a/core/src/mindustry/ai/formations/patterns/CircleFormation.java b/core/src/mindustry/ai/formations/patterns/CircleFormation.java deleted file mode 100644 index 9636d97036..0000000000 --- a/core/src/mindustry/ai/formations/patterns/CircleFormation.java +++ /dev/null @@ -1,26 +0,0 @@ -package mindustry.ai.formations.patterns; - -import arc.math.*; -import arc.math.geom.*; -import mindustry.ai.formations.*; - -public class CircleFormation extends FormationPattern{ - /** Angle offset. */ - public float angleOffset = 0; - - @Override - public Vec3 calculateSlotLocation(Vec3 outLocation, int slotNumber){ - if(slots > 1){ - float angle = (360f * slotNumber) / slots; - float radius = spacing / (float)Math.sin(180f / slots * Mathf.degRad); - outLocation.set(Angles.trnsx(angle, radius), Angles.trnsy(angle, radius), angle); - }else{ - outLocation.set(0, spacing * 1.1f, 360f * slotNumber); - } - - outLocation.z += angleOffset; - - return outLocation; - } - -} diff --git a/core/src/mindustry/ai/formations/patterns/SquareFormation.java b/core/src/mindustry/ai/formations/patterns/SquareFormation.java deleted file mode 100644 index 9d7ddab549..0000000000 --- a/core/src/mindustry/ai/formations/patterns/SquareFormation.java +++ /dev/null @@ -1,25 +0,0 @@ -package mindustry.ai.formations.patterns; - -import arc.math.*; -import arc.math.geom.*; -import mindustry.ai.formations.*; - -public class SquareFormation extends FormationPattern{ - - @Override - public Vec3 calculateSlotLocation(Vec3 out, int slot){ - //side of each square of formation - int side = Mathf.ceil(Mathf.sqrt(slots + 1)); - int cx = slot % side, cy = slot / side; - - //don't hog the middle spot - if(cx == side /2 && cy == side/2 && (side%2)==1){ - slot = slots; - - cx = slot % side; - cy = slot / side; - } - - return out.set(cx - (side/2f - 0.5f), cy - (side/2f - 0.5f), 0).scl(spacing); - } -} diff --git a/core/src/mindustry/ai/types/AssemblerAI.java b/core/src/mindustry/ai/types/AssemblerAI.java new file mode 100644 index 0000000000..c3db6f264b --- /dev/null +++ b/core/src/mindustry/ai/types/AssemblerAI.java @@ -0,0 +1,25 @@ +package mindustry.ai.types; + +import arc.math.*; +import arc.math.geom.*; +import mindustry.entities.units.*; + +public class AssemblerAI extends AIController{ + public Vec2 targetPos = new Vec2(); + public float targetAngle; + + @Override + public void updateMovement(){ + if(!targetPos.isZero()){ + moveTo(targetPos, 1f, 3f); + } + + if(unit.within(targetPos, 5f)){ + unit.lookAt(targetAngle); + } + } + + public boolean inPosition(){ + return unit.within(targetPos, 10f) && Angles.within(unit.rotation, targetAngle, 15f); + } +} diff --git a/core/src/mindustry/ai/types/BoostAI.java b/core/src/mindustry/ai/types/BoostAI.java new file mode 100644 index 0000000000..bed0428c5d --- /dev/null +++ b/core/src/mindustry/ai/types/BoostAI.java @@ -0,0 +1,21 @@ +package mindustry.ai.types; + +import mindustry.ai.*; +import mindustry.entities.units.*; + +//not meant to be used outside RTS-AI-controlled units +public class BoostAI extends AIController{ + + @Override + public void updateUnit(){ + if(unit.controller() instanceof CommandAI ai){ + ai.defaultBehavior(); + unit.updateBoosting(true); + + //auto land when near target + if(ai.attackTarget != null && unit.within(ai.attackTarget, unit.range())){ + unit.command().command(UnitCommand.moveCommand); + } + } + } +} diff --git a/core/src/mindustry/ai/types/BuilderAI.java b/core/src/mindustry/ai/types/BuilderAI.java index ce8b5ae92d..7932ad8d9c 100644 --- a/core/src/mindustry/ai/types/BuilderAI.java +++ b/core/src/mindustry/ai/types/BuilderAI.java @@ -1,6 +1,5 @@ package mindustry.ai.types; -import arc.math.*; import arc.struct.*; import arc.util.*; import mindustry.entities.*; @@ -13,20 +12,55 @@ import mindustry.world.blocks.ConstructBlock.*; import static mindustry.Vars.*; public class BuilderAI extends AIController{ - float buildRadius = 1500; + public static float buildRadius = 1500, retreatDst = 110f, retreatDelay = Time.toSeconds * 2f, defaultRebuildPeriod = 60f * 2f; + + public @Nullable Unit assistFollowing; + public @Nullable Unit following; + public @Nullable Teamc enemy; + public @Nullable BlockPlan lastPlan; + + public float fleeRange = 370f, rebuildPeriod = defaultRebuildPeriod; + public boolean alwaysFlee; + public boolean onlyAssist; + boolean found = false; - @Nullable Unit following; + float retreatTimer; + + public BuilderAI(boolean alwaysFlee, float fleeRange){ + this.alwaysFlee = alwaysFlee; + this.fleeRange = fleeRange; + } + + public BuilderAI(){ + } + + @Override + public void init(){ + //rebuild much faster with buildAI; there are usually few builder units so this is fine + if(rebuildPeriod == defaultRebuildPeriod && unit.team.rules().buildAi){ + rebuildPeriod = 10f; + } + } @Override public void updateMovement(){ if(target != null && shouldShoot()){ unit.lookAt(target); + }else if(!unit.type.flying){ + unit.lookAt(unit.prefRotation()); } unit.updateBuilding = true; + if(assistFollowing != null && assistFollowing.activelyBuilding()){ + following = assistFollowing; + } + + boolean moving = false; + if(following != null){ + retreatTimer = 0f; //try to follow and mimic someone //validate follower @@ -39,39 +73,68 @@ public class BuilderAI extends AIController{ //set to follower's first build plan, whatever that is unit.plans.clear(); unit.plans.addFirst(following.buildPlan()); + lastPlan = null; + }else if(unit.buildPlan() == null || alwaysFlee){ + //not following anyone or building + if(timer.get(timerTarget4, 40)){ + enemy = target(unit.x, unit.y, fleeRange, true, true); + } + + //fly away from enemy when not doing anything, but only after a delay + if((retreatTimer += Time.delta) >= retreatDelay || alwaysFlee){ + if(enemy != null){ + unit.clearBuilding(); + var core = unit.closestCore(); + if(core != null && !unit.within(core, retreatDst)){ + moveTo(core, retreatDst); + moving = true; + } + } + } } if(unit.buildPlan() != null){ - //approach request if building + if(!alwaysFlee) retreatTimer = 0f; + //approach plan if building BuildPlan req = unit.buildPlan(); - //clear break plan if another player is breaking something. + //clear break plan if another player is breaking something if(!req.breaking && timer.get(timerTarget2, 40f)){ for(Player player : Groups.player){ if(player.isBuilder() && player.unit().activelyBuilding() && player.unit().buildPlan().samePos(req) && player.unit().buildPlan().breaking){ unit.plans.removeFirst(); + //remove from list of plans + unit.team.data().plans.remove(p -> p.x == req.x && p.y == req.y); return; } } } boolean valid = - (req.tile() != null && req.tile().build instanceof ConstructBuild cons && cons.cblock == req.block) || - (req.breaking ? - Build.validBreak(unit.team(), req.x, req.y) : - Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation)); + !(lastPlan != null && lastPlan.removed) && + ((req.tile() != null && req.tile().build instanceof ConstructBuild cons && cons.current == req.block) || + (req.breaking ? + Build.validBreak(unit.team(), req.x, req.y) : + Build.validPlace(req.block, unit.team(), req.x, req.y, req.rotation))); if(valid){ - //move toward the request - moveTo(req.tile(), buildingRange - 20f); + //move toward the plan + moveTo(req.tile(), unit.type.buildRange - 20f, 20f); + moving = !unit.within(req.tile(), unit.type.buildRange - 10f); }else{ - //discard invalid request + //discard invalid plan unit.plans.removeFirst(); + lastPlan = null; } }else{ + if(assistFollowing != null){ + moveTo(assistFollowing, assistFollowing.type.hitSize + unit.type.hitSize/2f + 60f); + moving = !unit.within(assistFollowing, assistFollowing.type.hitSize + unit.type.hitSize/2f + 65f); + } + //follow someone and help them build - if(timer.get(timerTarget2, 60f)){ + if(timer.get(timerTarget2, 20f)){ found = false; Units.nearby(unit.team, unit.x, unit.y, buildRadius, u -> { @@ -82,9 +145,9 @@ public class BuilderAI extends AIController{ Building build = world.build(plan.x, plan.y); if(build instanceof ConstructBuild cons){ - float dist = Math.min(cons.dst(unit) - buildingRange, 0); + float dist = Math.min(cons.dst(unit) - unit.type.buildRange, 0); - //make sure you can reach the request in time + //make sure you can reach the plan in time if(dist / unit.speed() < cons.buildCost * 0.9f){ following = u; found = true; @@ -92,30 +155,52 @@ public class BuilderAI extends AIController{ } } }); + + if(onlyAssist){ + float minDst = Float.MAX_VALUE; + Player closest = null; + for(var player : Groups.player){ + if(!player.dead() && player.isBuilder() && player.team() == unit.team){ + float dst = player.dst2(unit); + if(dst < minDst){ + closest = player; + minDst = dst; + } + } + } + + assistFollowing = closest == null ? null : closest.unit(); + } } - float rebuildTime = (unit.team.rules().ai ? Mathf.lerp(15f, 2f, unit.team.rules().aiTier) : 2f) * 60f; - - //find new request - if(!unit.team.data().blocks.isEmpty() && following == null && timer.get(timerTarget3, rebuildTime)){ - Queue blocks = unit.team.data().blocks; + //find new plan + if(!onlyAssist && !unit.team.data().plans.isEmpty() && following == null && timer.get(timerTarget3, rebuildPeriod)){ + Queue blocks = unit.team.data().plans; BlockPlan block = blocks.first(); //check if it's already been placed - if(world.tile(block.x, block.y) != null && world.tile(block.x, block.y).block().id == block.block){ + if(world.tile(block.x, block.y) != null && world.tile(block.x, block.y).block() == block.block){ blocks.removeFirst(); - }else if(Build.validPlace(content.block(block.block), unit.team(), block.x, block.y, block.rotation)){ //it's valid. - //add build request. - unit.addBuild(new BuildPlan(block.x, block.y, block.rotation, content.block(block.block), block.config)); - //shift build plan to tail so next unit builds something else. + }else if(Build.validPlace(block.block, unit.team(), block.x, block.y, block.rotation) && (!alwaysFlee || !nearEnemy(block.x, block.y))){ //it's valid + lastPlan = block; + //add build plan + unit.addBuild(new BuildPlan(block.x, block.y, block.rotation, block.block, block.config)); + //shift build plan to tail so next unit builds something else blocks.addLast(blocks.removeFirst()); }else{ //shift head of queue to tail, try something else next time - blocks.removeFirst(); - blocks.addLast(block); + blocks.addLast(blocks.removeFirst()); } } } + + if(!unit.type.flying){ + unit.updateBoosting(unit.type.boostWhenBuilding || moving || unit.floorOn().isDuct || unit.floorOn().damageTaken > 0f || unit.floorOn().isDeep()); + } + } + + protected boolean nearEnemy(int x, int y){ + return Units.nearEnemy(unit.team, x * tilesize - fleeRange/2f, y * tilesize - fleeRange/2f, fleeRange, fleeRange); } @Override @@ -125,11 +210,11 @@ public class BuilderAI extends AIController{ @Override public boolean useFallback(){ - return state.rules.waves && unit.team == state.rules.waveTeam && !unit.team.rules().ai; + return state.rules.waves && unit.team == state.rules.waveTeam && !unit.team.rules().rtsAi; } @Override public boolean shouldShoot(){ - return !unit.isBuilding(); + return !unit.isBuilding() && unit.type.canAttack; } } diff --git a/core/src/mindustry/ai/types/CargoAI.java b/core/src/mindustry/ai/types/CargoAI.java new file mode 100644 index 0000000000..8fb522e900 --- /dev/null +++ b/core/src/mindustry/ai/types/CargoAI.java @@ -0,0 +1,193 @@ +package mindustry.ai.types; + +import arc.struct.*; +import arc.util.*; +import mindustry.*; +import mindustry.entities.units.*; +import mindustry.gen.*; +import mindustry.type.*; +import mindustry.world.blocks.units.UnitCargoUnloadPoint.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; + +public class CargoAI extends AIController{ + static Seq orderedItems = new Seq<>(); + static Seq targets = new Seq<>(); + + public static float emptyWaitTime = 60f * 2f, dropSpacing = 60f * 1.5f; + public static float transferRange = 20f, moveRange = 6f, moveSmoothing = 20f; + + public @Nullable UnitCargoUnloadPointBuild unloadTarget; + public @Nullable Item itemTarget; + public float noDestTimer = 0f; + public int targetIndex = 0; + + @Override + public void updateMovement(){ + if(!(unit instanceof BuildingTetherc tether) || tether.building() == null) return; + + var build = tether.building(); + + if(build.items == null) return; + + //empty, approach the loader, even if there's nothing to pick up (units hanging around doing nothing looks bad) + if(!unit.hasItem()){ + moveTo(build, moveRange, moveSmoothing); + + //check if ready to pick up + if(build.items.any() && unit.within(build, transferRange)){ + if(retarget()){ + findAnyTarget(build); + + //target has been found, grab items and go + if(unloadTarget != null){ + Call.takeItems(build, itemTarget, Math.min(unit.type.itemCapacity, build.items.get(itemTarget)), unit); + } + } + } + }else{ //the unit has an item, deposit it somewhere. + + //there may be no current target, try to find one + if(unloadTarget == null){ + if(retarget()){ + findDropTarget(unit.item(), 0, null); + + //if there is not even a single place to unload, dump items. + if(unloadTarget == null){ + unit.clearItem(); + } + } + }else{ + + //what if some prankster reconfigures or picks up the target while the unit is moving? we can't have that! + if(unloadTarget.item != itemTarget || unloadTarget.isPayload()){ + unloadTarget = null; + return; + } + + moveTo(unloadTarget, moveRange, moveSmoothing); + + //deposit in bursts, unloading can take a while + if(unit.within(unloadTarget, transferRange) && timer.get(timerTarget2, dropSpacing)){ + int max = unloadTarget.acceptStack(unit.item(), unit.stack.amount, unit); + + //deposit items when it's possible + if(max > 0){ + noDestTimer = 0f; + Call.transferItemTo(unit, unit.item(), max, unit.x, unit.y, unloadTarget); + + //try the next target later + if(!unit.hasItem()){ + targetIndex ++; + } + }else if((noDestTimer += dropSpacing) >= emptyWaitTime){ + //oh no, it's out of space - wait for a while, and if nothing changes, try the next destination + + //next targeting attempt will try the next destination point + targetIndex = findDropTarget(unit.item(), targetIndex, unloadTarget) + 1; + + //nothing found at all, clear item + if(unloadTarget == null){ + unit.clearItem(); + } + } + } + } + } + + } + + /** find target for the unit's current item */ + public int findDropTarget(Item item, int offset, UnitCargoUnloadPointBuild ignore){ + unloadTarget = null; + itemTarget = item; + + //autocast for convenience... I know all of these must be cargo unload points anyway + targets.selectFrom((Seq)(Seq)Vars.indexer.getFlagged(unit.team, BlockFlag.unitCargoUnloadPoint), u -> u.item == item); + + if(targets.isEmpty()) return 0; + + UnitCargoUnloadPointBuild lastStale = null; + + offset %= targets.size; + + int i = 0; + + for(var target : targets){ + if(i >= offset && target != ignore){ + if(target.stale){ + lastStale = target; + }else{ + unloadTarget = target; + targets.clear(); + return i; + } + } + i ++; + } + + //it's still possible that the ignored target may become available at some point, try that, so it doesn't waste items + if(ignore != null){ + unloadTarget = ignore; + }else if(lastStale != null){ //a stale target is better than nothing + unloadTarget = lastStale; + } + + targets.clear(); + return -1; + } + + public void findAnyTarget(Building build){ + unloadTarget = null; + itemTarget = null; + + //autocast for convenience... I know all of these must be cargo unload points anyway + var baseTargets = (Seq)(Seq)Vars.indexer.getFlagged(unit.team, BlockFlag.unitCargoUnloadPoint); + + if(baseTargets.isEmpty()) return; + + orderedItems.size = 0; + for(Item item : content.items()){ + if(build.items.get(item) > 0){ + orderedItems.add(item); + } + } + + //sort by most items in descending order, and try each one. + orderedItems.sort(i -> -build.items.get(i)); + + UnitCargoUnloadPointBuild lastStale = null; + + outer: + for(Item item : orderedItems){ + targets.selectFrom(baseTargets, u -> u.item == item); + + if(targets.size > 0) itemTarget = item; + + for(int i = 0; i < targets.size; i ++){ + var target = targets.get((i + targetIndex) % targets.size); + + lastStale = target; + + if(!target.stale){ + unloadTarget = target; + break outer; + } + } + } + + //if the only thing that was found was a "stale" target, at least try that... + if(unloadTarget == null && lastStale != null){ + unloadTarget = lastStale; + } + + targets.clear(); + } + + //unused, might change later + void sortTargets(Seq targets){ + //find sort by "most desirable" first + targets.sort(Structs.comps(Structs.comparingInt(b -> b.items.total()), Structs.comparingFloat(b -> b.dst2(unit)))); + } +} diff --git a/core/src/mindustry/ai/types/CommandAI.java b/core/src/mindustry/ai/types/CommandAI.java new file mode 100644 index 0000000000..48a465ceb9 --- /dev/null +++ b/core/src/mindustry/ai/types/CommandAI.java @@ -0,0 +1,516 @@ +package mindustry.ai.types; + +import arc.math.*; +import arc.math.geom.*; +import arc.struct.*; +import arc.util.*; +import mindustry.ai.*; +import mindustry.core.*; +import mindustry.entities.*; +import mindustry.entities.units.*; +import mindustry.gen.*; +import mindustry.world.*; +import mindustry.world.blocks.payloads.*; +import mindustry.world.meta.*; + +import static mindustry.Vars.*; + +public class CommandAI extends AIController{ + protected static final int maxCommandQueueSize = 50, avoidInterval = 10; + protected static final Vec2 vecOut = new Vec2(), vecMovePos = new Vec2(); + protected static final boolean[] noFound = {false}; + protected static final UnitPayload tmpPayload = new UnitPayload(null); + protected static final int transferStateNone = 0, transferStateLoad = 1, transferStateUnload = 2; + + public Seq commandQueue = new Seq<>(5); + public @Nullable Vec2 targetPos; + public @Nullable Teamc attackTarget; + /** Group of units that were all commanded to reach the same point. */ + public @Nullable UnitGroup group; + public int groupIndex = 0; + /** All encountered unreachable buildings of this AI. Why a sequence? Because contains() is very rarely called on it. */ + public IntSeq unreachableBuildings = new IntSeq(8); + /** ID of unit read as target. This is set up after reading. Do not access! */ + public int readAttackTarget = -1; + + protected boolean stopAtTarget, stopWhenInRange; + protected Vec2 lastTargetPos; + protected boolean blockingUnit; + protected float timeSpentBlocked; + protected float payloadPickupCooldown; + protected int transferState = transferStateNone; + + /** Stance, usually related to firing mode. */ + public UnitStance stance = UnitStance.shoot; + /** Current command this unit is following. */ + public UnitCommand command = UnitCommand.moveCommand; + /** Current controller instance based on command. */ + protected @Nullable AIController commandController; + /** Last command type assigned. Used for detecting command changes. */ + protected @Nullable UnitCommand lastCommand; + + public UnitCommand currentCommand(){ + return command == null ? UnitCommand.moveCommand : command; + } + + /** Attempts to assign a command to this unit. If not supported by the unit type, does nothing. */ + public void command(UnitCommand command){ + if(unit.type.commands.contains(command)){ + //clear old state. + unit.mineTile = null; + unit.clearBuilding(); + this.command = command; + } + } + + @Override + public boolean isLogicControllable(){ + return !hasCommand(); + } + + public boolean isAttacking(){ + return target != null && unit.within(target, unit.range() + 10f); + } + + @Override + public void updateUnit(){ + //this should not be possible + if(stance == UnitStance.stop) stance = UnitStance.shoot; + + //pursue the target if relevant + if(stance == UnitStance.pursueTarget && target != null && attackTarget == null && targetPos == null){ + commandTarget(target, false); + } + + //pursue the target for patrol, keeping the current position + if(stance == UnitStance.patrol && target != null && attackTarget == null){ + //commanding a target overwrites targetPos, so add it to the queue + if(targetPos != null){ + commandQueue.add(targetPos.cpy()); + } + commandTarget(target, false); + } + + //remove invalid targets + if(commandQueue.any()){ + commandQueue.removeAll(e -> e instanceof Healthc h && !h.isValid()); + } + + //assign defaults + if(command == null && unit.type.commands.size > 0){ + command = unit.type.defaultCommand == null ? unit.type.commands.first() : unit.type.defaultCommand; + } + + //update command controller based on index. + var curCommand = command; + if(lastCommand != curCommand){ + lastCommand = curCommand; + commandController = (curCommand == null ? null : curCommand.controller.get(unit)); + } + + //use the command controller if it is provided, and bail out. + if(commandController != null){ + if(commandController.unit() != unit) commandController.unit(unit); + commandController.updateUnit(); + }else{ + defaultBehavior(); + //boosting control is not supported, so just don't. + unit.updateBoosting(false); + } + } + + public void clearCommands(){ + commandQueue.clear(); + targetPos = null; + attackTarget = null; + } + + void tryPickupUnit(Payloadc pay){ + Unit target = Units.closest(unit.team, unit.x, unit.y, unit.type.hitSize * 2f, u -> u.isAI() && u != unit && u.isGrounded() && pay.canPickup(u) && u.within(unit, u.hitSize + unit.hitSize)); + if(target != null){ + Call.pickedUnitPayload(unit, target); + } + } + + @Override + public Teamc findMainTarget(float x, float y, float range, boolean air, boolean ground){ + if(!unit.type.autoFindTarget && !(targetPos == null || nearAttackTarget(unit.x, unit.y, unit.range()))){ + return null; + } + return super.findMainTarget(x, y, range, air, ground); + } + + public void defaultBehavior(){ + + if(!net.client() && unit instanceof Payloadc pay){ + payloadPickupCooldown -= Time.delta; + + //auto-drop everything + if(command == UnitCommand.unloadPayloadCommand && pay.hasPayload()){ + Call.payloadDropped(unit, unit.x, unit.y); + } + + //try to pick up what's under it + if(command == UnitCommand.loadUnitsCommand){ + tryPickupUnit(pay); + } + + //try to pick up a block + if(command == UnitCommand.loadBlocksCommand && (targetPos == null || unit.within(targetPos, 1f))){ + Building build = world.buildWorld(unit.x, unit.y); + + if(build != null && state.teams.canInteract(unit.team, build.team)){ + //pick up block's payload + Payload current = build.getPayload(); + if(current != null && pay.canPickupPayload(current)){ + Call.pickedBuildPayload(unit, build, false); + //pick up whole building directly + }else if(build.block.buildVisibility != BuildVisibility.hidden && build.canPickup() && pay.canPickup(build)){ + Call.pickedBuildPayload(unit, build, true); + } + } + } + } + + if(!net.client() && command == UnitCommand.enterPayloadCommand && unit.buildOn() != null && (targetPos == null || (world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y) == unit.buildOn()))){ + var build = unit.buildOn(); + tmpPayload.unit = unit; + if(build.team == unit.team && build.acceptPayload(build, tmpPayload)){ + Call.unitEnteredPayload(unit, build); + return; //no use updating after this, the unit is gone! + } + } + + updateVisuals(); + updateTargeting(); + + if(attackTarget != null && invalid(attackTarget)){ + attackTarget = null; + targetPos = null; + } + + //move on to the next target + if(attackTarget == null && targetPos == null){ + finishPath(); + } + + if(attackTarget != null){ + if(targetPos == null){ + targetPos = new Vec2(); + lastTargetPos = targetPos; + } + targetPos.set(attackTarget); + + if(unit.isGrounded() && attackTarget instanceof Building build && build.tile.solid() && unit.pathType() != Pathfinder.costLegs && stance != UnitStance.ram){ + Tile best = build.findClosestEdge(unit, Tile::solid); + if(best != null){ + targetPos.set(best); + } + } + } + + boolean alwaysArrive = false; + + float engageRange = unit.type.range - 10f; + boolean withinAttackRange = attackTarget != null && unit.within(attackTarget, engageRange) && stance != UnitStance.ram; + + if(targetPos != null){ + boolean move = true, isFinalPoint = commandQueue.size == 0; + vecOut.set(targetPos); + vecMovePos.set(targetPos); + + //the enter payload command requires an exact position + if(group != null && group.valid && groupIndex < group.units.size && command != UnitCommand.enterPayloadCommand){ + vecMovePos.add(group.positions[groupIndex * 2], group.positions[groupIndex * 2 + 1]); + } + + Building targetBuild = world.buildWorld(targetPos.x, targetPos.y); + + //TODO: should the unit stop when it finds a target? + if( + (stance == UnitStance.patrol && target != null && unit.within(target, unit.type.range - 2f) && !unit.type.circleTarget) || + (command == UnitCommand.enterPayloadCommand && unit.within(targetPos, 4f) || (targetBuild != null && unit.within(targetBuild, targetBuild.block.size * tilesize/2f * 0.9f))) || + (command == UnitCommand.loopPayloadCommand && unit.within(targetPos, 10f)) + ){ + move = false; + } + + if(unit.isGrounded() && stance != UnitStance.ram){ + //TODO: blocking enable or disable? + if(timer.get(timerTarget3, avoidInterval)){ + Vec2 dstPos = Tmp.v1.trns(unit.rotation, unit.hitSize/2f); + float max = unit.hitSize/2f; + float radius = Math.max(7f, max); + float margin = 4f; + blockingUnit = Units.nearbyCheck(unit.x + dstPos.x - radius/2f, unit.y + dstPos.y - radius/2f, radius, radius, + u -> u != unit && u.within(unit, u.hitSize/2f + unit.hitSize/2f + margin) && u.controller() instanceof CommandAI ai && ai.targetPos != null && + //stop for other unit only if it's closer to the target + (ai.targetPos.equals(targetPos) && u.dst2(targetPos) < unit.dst2(targetPos)) && + //don't stop if they're facing the same way + !Angles.within(unit.rotation, u.rotation, 15f) && + //must be near an obstacle, stopping in open ground is pointless + ControlPathfinder.isNearObstacle(unit, unit.tileX(), unit.tileY(), u.tileX(), u.tileY())); + } + + float maxBlockTime = 60f * 5f; + + if(blockingUnit){ + timeSpentBlocked += Time.delta; + + if(timeSpentBlocked >= maxBlockTime*2f){ + timeSpentBlocked = 0f; + } + }else{ + timeSpentBlocked = 0f; + } + + //if the unit is next to the target, stop asking the pathfinder how to get there, it's a waste of CPU + //TODO maybe stop moving too? + if(withinAttackRange){ + move = true; + noFound[0] = false; + vecOut.set(vecMovePos); + }else{ + move = controlPath.getPathPosition(unit, vecMovePos, targetPos, vecOut, noFound) && (!blockingUnit || timeSpentBlocked > maxBlockTime); + + //TODO: what to do when there's a target and it can't be reached? + /* + if(noFound[0] && attackTarget != null && attackTarget.within(unit, unit.type.range * 2f)){ + move = true; + vecOut.set(targetPos); + }*/ + } + + //rare case where unit must be perfectly aligned (happens with 1-tile gaps) + alwaysArrive = vecOut.epsilonEquals(unit.tileX() * tilesize, unit.tileY() * tilesize); + //we've reached the final point if the returned coordinate is equal to the supplied input + isFinalPoint &= vecMovePos.epsilonEquals(vecOut, 4.1f); + + //if the path is invalid, stop trying and record the end as unreachable + if(unit.team.isAI() && (noFound[0] || unit.isPathImpassable(World.toTile(vecMovePos.x), World.toTile(vecMovePos.y)))){ + if(attackTarget instanceof Building build){ + unreachableBuildings.addUnique(build.pos()); + } + attackTarget = null; + finishPath(); + return; + } + }else{ + vecOut.set(vecMovePos); + } + + if(move){ + if(unit.type.circleTarget && attackTarget != null){ + target = attackTarget; + circleAttack(80f); + }else{ + moveTo(vecOut, + withinAttackRange ? engageRange : + unit.isGrounded() ? 0f : + attackTarget != null && stance != UnitStance.ram ? engageRange : 0f, + unit.isFlying() ? 40f : 100f, false, null, isFinalPoint || alwaysArrive); + } + } + + //if stopAtTarget is set, stop trying to move to the target once it is reached - used for defending + if(attackTarget != null && stopAtTarget && unit.within(attackTarget, engageRange - 1f)){ + attackTarget = null; + } + + if(unit.isFlying() && move && (attackTarget == null || !unit.within(attackTarget, unit.type.range))){ + unit.lookAt(vecMovePos); + }else{ + faceTarget(); + } + + //reached destination, end pathfinding + if(attackTarget == null && unit.within(vecMovePos, command.exactArrival && commandQueue.size == 0 ? 1f : Math.max(5f, unit.hitSize / 2f))){ + finishPath(); + } + + if(stopWhenInRange && targetPos != null && unit.within(vecMovePos, engageRange * 0.9f)){ + finishPath(); + stopWhenInRange = false; + } + + }else if(target != null){ + faceTarget(); + } + } + + void finishPath(){ + //the enter payload command never finishes until they are actually accepted + if(command == UnitCommand.enterPayloadCommand && commandQueue.size == 0 && targetPos != null && world.buildWorld(targetPos.x, targetPos.y) != null && world.buildWorld(targetPos.x, targetPos.y).block.acceptsUnitPayloads){ + return; + } + + if(!net.client() && command == UnitCommand.loopPayloadCommand && unit instanceof Payloadc pay){ + + if(transferState == transferStateNone){ + transferState = pay.hasPayload() ? transferStateUnload : transferStateLoad; + } + + if(payloadPickupCooldown > 0f) return; + + if(transferState == transferStateUnload){ + //drop until there's a failure + int prev = -1; + while(pay.hasPayload() && prev != pay.payloads().size){ + prev = pay.payloads().size; + Call.payloadDropped(unit, unit.x, unit.y); + } + + //wait for everything to unload before running code below + if(pay.hasPayload()){ + return; + } + payloadPickupCooldown = 60f; + }else if(transferState == transferStateLoad){ + //pick up units until there's a failure + int prev = -1; + while(prev != pay.payloads().size){ + prev = pay.payloads().size; + tryPickupUnit(pay); + } + + //wait to load things before running code below + if(!pay.hasPayload()){ + return; + } + payloadPickupCooldown = 60f; + } + + //it will never finish + if(commandQueue.size == 0){ + return; + } + } + + transferState = transferStateNone; + + Vec2 prev = targetPos; + targetPos = null; + + if(commandQueue.size > 0){ + var next = commandQueue.remove(0); + if(next instanceof Teamc target){ + commandTarget(target, this.stopAtTarget); + }else if(next instanceof Vec2 position){ + commandPosition(position); + } + + if(prev != null && (stance == UnitStance.patrol || command == UnitCommand.loopPayloadCommand)){ + commandQueue.add(prev.cpy()); + } + + //make sure spot in formation is reachable + if(group != null){ + group.updateRaycast(groupIndex, next instanceof Vec2 position ? position : Tmp.v3.set(next)); + } + }else{ + if(group != null){ + group = null; + } + } + } + + @Override + public void removed(Unit unit){ + clearCommands(); + } + + public void commandQueue(Position location){ + if(targetPos == null && attackTarget == null){ + if(location instanceof Teamc t){ + commandTarget(t, this.stopAtTarget); + }else if(location instanceof Vec2 position){ + commandPosition(position); + } + }else if(commandQueue.size < maxCommandQueueSize && !commandQueue.contains(location)){ + commandQueue.add(location); + } + } + + @Override + public void afterRead(Unit unit){ + if(readAttackTarget != -1){ + attackTarget = Groups.unit.getByID(readAttackTarget); + readAttackTarget = -1; + } + } + + @Override + public boolean shouldFire(){ + return stance != UnitStance.holdFire; + } + + @Override + public void hit(Bullet bullet){ + if(unit.team.isAI() && bullet.owner instanceof Teamc teamc && teamc.team() != unit.team && attackTarget == null && + //can only counter-attack every few seconds to prevent rapidly changing targets + !(teamc instanceof Unit u && !u.checkTarget(unit.type.targetAir, unit.type.targetGround)) && timer.get(timerTarget4, 60f * 10f)){ + commandTarget(teamc, true); + } + } + + @Override + public boolean keepState(){ + return true; + } + + @Override + public Teamc findTarget(float x, float y, float range, boolean air, boolean ground){ + return !nearAttackTarget(x, y, range) ? super.findTarget(x, y, range, air, ground) : Units.isHittable(attackTarget, air, ground) ? attackTarget : null; + } + + public boolean nearAttackTarget(float x, float y, float range){ + return attackTarget != null && attackTarget.within(x, y, range + 3f + (attackTarget instanceof Sized s ? s.hitSize()/2f : 0f)); + } + + @Override + public boolean retarget(){ + //retarget faster when there is an explicit target + return attackTarget != null ? timer.get(timerTarget, 10) : timer.get(timerTarget, 20); + } + + public boolean hasCommand(){ + return targetPos != null; + } + + public void setupLastPos(){ + lastTargetPos = targetPos; + } + + @Override + public void commandPosition(Vec2 pos){ + if(pos == null) return; + + commandPosition(pos, false); + if(commandController != null){ + commandController.commandPosition(pos); + } + } + + public void commandPosition(Vec2 pos, boolean stopWhenInRange){ + if(pos == null) return; + + //this is an allocation, but it's relatively rarely called anyway, and outside mutations must be prevented + targetPos = lastTargetPos = pos.cpy(); + attackTarget = null; + this.stopWhenInRange = stopWhenInRange; + } + + @Override + public void commandTarget(Teamc moveTo){ + commandTarget(moveTo, false); + if(commandController != null){ + commandController.commandTarget(moveTo); + } + } + + public void commandTarget(Teamc moveTo, boolean stopAtTarget){ + attackTarget = moveTo; + this.stopAtTarget = stopAtTarget; + } + +} diff --git a/core/src/mindustry/ai/types/DefenderAI.java b/core/src/mindustry/ai/types/DefenderAI.java new file mode 100644 index 0000000000..01c38e69c6 --- /dev/null +++ b/core/src/mindustry/ai/types/DefenderAI.java @@ -0,0 +1,46 @@ +package mindustry.ai.types; + +import arc.math.*; +import mindustry.entities.*; +import mindustry.entities.units.*; +import mindustry.gen.*; + +import static mindustry.Vars.*; + +public class DefenderAI extends AIController{ + + @Override + public void updateMovement(){ + unloadPayloads(); + + if(target != null){ + moveTo(target, (target instanceof Sized s ? s.hitSize()/2f * 1.1f : 0f) + unit.hitSize/2f + 15f, 50f); + unit.lookAt(target); + } + } + + @Override + public void updateTargeting(){ + if(retarget()) target = findTarget(unit.x, unit.y, unit.range(), true, true); + } + + @Override + public Teamc findTarget(float x, float y, float range, boolean air, boolean ground){ + + //Sort by max health and closer target. + var result = Units.closest(unit.team, x, y, Math.max(range, 400f), u -> !u.dead() && u.type != unit.type && u.targetable(unit.team) && u.type.playerControllable, + (u, tx, ty) -> -u.maxHealth + Mathf.dst2(u.x, u.y, tx, ty) / 6400f); + if(result != null) return result; + + //return core if found + var core = unit.closestCore(); + if(core != null) return core; + + //for enemies, target the enemy core. + if(state.rules.waves && unit.team == state.rules.waveTeam){ + return unit.closestEnemyCore(); + } + + return null; + } +} diff --git a/core/src/mindustry/ai/types/FlyingAI.java b/core/src/mindustry/ai/types/FlyingAI.java index 239e48682a..a412c6f4da 100644 --- a/core/src/mindustry/ai/types/FlyingAI.java +++ b/core/src/mindustry/ai/types/FlyingAI.java @@ -2,61 +2,98 @@ package mindustry.ai.types; import arc.math.*; import mindustry.entities.units.*; +import mindustry.game.*; import mindustry.gen.*; import mindustry.world.meta.*; import static mindustry.Vars.*; +import static mindustry.world.meta.BlockFlag.*; public class FlyingAI extends AIController{ + final static Rand rand = new Rand(); + final static BlockFlag[] randomTargets = {core, storage, generator, launchPad, factory, repair, battery, reactor, drill}; @Override public void updateMovement(){ - if(target != null && unit.hasWeapons() && command() == UnitCommand.attack){ - if(!unit.type.circleTarget){ - moveTo(target, unit.range() * 0.8f); - unit.lookAt(target); + unloadPayloads(); + + if(target != null && unit.hasWeapons()){ + if(unit.type.circleTarget){ + circleAttack(120f); }else{ - attack(120f); + moveTo(target, unit.type.range * 0.8f); + unit.lookAt(target); } } - if(target == null && command() == UnitCommand.attack && state.rules.waves && unit.team == state.rules.defaultTeam){ - moveTo(getClosestSpawner(), state.rules.dropZoneRadius + 120f); - } - - if(command() == UnitCommand.rally){ - moveTo(targetFlag(unit.x, unit.y, BlockFlag.rally, false), 60f); + if(target == null && state.rules.waves && unit.team == state.rules.defaultTeam){ + moveTo(getClosestSpawner(), state.rules.dropZoneRadius + 130f); } } @Override - protected Teamc findTarget(float x, float y, float range, boolean air, boolean ground){ - Teamc result = target(x, y, range, air, ground); - if(result != null) return result; + public Teamc targetFlag(float x, float y, BlockFlag flag, boolean enemy){ + if(state.rules.randomWaveAI){ + if(unit.team == Team.derelict) return null; + var list = enemy ? indexer.getEnemy(unit.team, flag) : indexer.getFlagged(unit.team, flag); + if(list.isEmpty()) return null; - if(ground) result = targetFlag(x, y, BlockFlag.generator, true); - if(result != null) return result; - - if(ground) result = targetFlag(x, y, BlockFlag.core, true); - if(result != null) return result; - - return null; + Building closest = null; + float cdist = 0f; + for(Building t : list){ + if((t.items != null && t.items.any()) || t.status() != BlockStatus.noInput){ + float dst = t.dst2(x, y); + if(closest == null || dst < cdist){ + closest = t; + cdist = dst; + } + } + } + return closest; + }else{ + return super.targetFlag(x, y, flag, enemy); + } } - protected void attack(float circleLength){ - vec.set(target).sub(unit); + @Override + public Teamc findTarget(float x, float y, float range, boolean air, boolean ground){ + var result = findMainTarget(x, y, range, air, ground); - float ang = unit.angleTo(target); - float diff = Angles.angleDist(ang, unit.rotation()); + //if the main target is in range, use it, otherwise target whatever is closest + return checkTarget(result, x, y, range) ? target(x, y, range, air, ground) : result; + } - if(diff > 100f && vec.len() < circleLength){ - vec.setAngle(unit.vel().angle()); - }else{ - vec.setAngle(Mathf.slerpDelta(unit.vel().angle(), vec.angle(), 0.6f)); + @Override + public Teamc findMainTarget(float x, float y, float range, boolean air, boolean ground){ + var core = targetFlag(x, y, BlockFlag.core, true); + + if(core != null && Mathf.within(x, y, core.getX(), core.getY(), range)){ + return core; } - vec.setLength(unit.speed()); + if(state.rules.randomWaveAI){ + //when there are no waves, it's just random based on the unit + rand.setSeed(unit.type.id + (state.rules.waves ? state.wave : unit.id)); + //try a few random flags first + for(int attempt = 0; attempt < 5; attempt++){ + Teamc result = targetFlag(x, y, randomTargets[rand.random(randomTargets.length - 1)], true); + if(result != null) return result; + } + //try the closest target + Teamc result = target(x, y, range, air, ground); + if(result != null) return result; + }else{ + for(var flag : unit.type.targetFlags){ + if(flag == null){ + Teamc result = target(x, y, range, air, ground); + if(result != null) return result; + }else if(ground){ + Teamc result = targetFlag(x, y, flag, true); + if(result != null) return result; + } + } + } - unit.moveAt(vec); + return core; } } diff --git a/core/src/mindustry/ai/types/FlyingFollowAI.java b/core/src/mindustry/ai/types/FlyingFollowAI.java new file mode 100644 index 0000000000..f870f136f3 --- /dev/null +++ b/core/src/mindustry/ai/types/FlyingFollowAI.java @@ -0,0 +1,61 @@ +package mindustry.ai.types; + +import arc.math.*; +import mindustry.*; +import mindustry.entities.*; +import mindustry.entities.units.*; +import mindustry.gen.*; + +//TODO generally strange behavior +/** AI/wave team only! This is used for wave support flyers. */ +public class FlyingFollowAI extends FlyingAI{ + public Teamc following; + + @Override + public void updateMovement(){ + unloadPayloads(); + + if(following != null){ + moveTo(following, (following instanceof Sized s ? s.hitSize()/2f * 1.1f : 0f) + unit.hitSize/2f + 15f, 50f); + }else if(target != null && unit.hasWeapons()){ + moveTo(target, 80f); + } + + if(shouldFaceTarget()){ + unit.lookAt(target); + }else if(following != null){ + unit.lookAt(following); + } + + if(timer.get(timerTarget3, 30f)){ + following = Units.closest(unit.team, unit.x, unit.y, Math.max(unit.type.range, 400f), u -> !u.dead() && u.type != unit.type, (u, tx, ty) -> -u.maxHealth + Mathf.dst2(u.x, u.y, tx, ty) / 6400f); + } + } + + public boolean shouldFaceTarget(){ + return target != null && (following == null || unit.within(target, unit.range())); + } + + @Override + public void updateVisuals(){ + if(unit.isFlying()){ + if(unit.type.wobble) unit.wobble(); + + if(!shouldFaceTarget()){ + unit.lookAt(unit.prefRotation()); + } + } + } + + @Override + public AIController fallback(){ + return new FlyingAI(); + } + + @Override + public boolean useFallback(){ + //only AI teams use this controller + return Vars.state.rules.pvp || Vars.state.rules.waveTeam != unit.team; + } + +} diff --git a/core/src/mindustry/ai/types/FormationAI.java b/core/src/mindustry/ai/types/FormationAI.java deleted file mode 100644 index 8a4f351b4e..0000000000 --- a/core/src/mindustry/ai/types/FormationAI.java +++ /dev/null @@ -1,100 +0,0 @@ -package mindustry.ai.types; - -import arc.math.*; -import arc.math.geom.*; -import arc.util.*; -import mindustry.ai.formations.*; -import mindustry.entities.units.*; -import mindustry.gen.*; -import mindustry.world.blocks.storage.CoreBlock.*; - -public class FormationAI extends AIController implements FormationMember{ - public Unit leader; - - private Vec3 target = new Vec3(); - private @Nullable Formation formation; - - public FormationAI(Unit leader, Formation formation){ - this.leader = leader; - this.formation = formation; - } - - @Override - public void init(){ - target.set(unit.x, unit.y, 0); - } - - @Override - public void updateUnit(){ - - if(leader == null || leader.dead){ - unit.resetController(); - return; - } - - if(unit.type.canBoost){ - unit.elevation = Mathf.approachDelta(unit.elevation, unit.onSolid() ? 1f : leader.type.canBoost ? leader.elevation : 0f, 0.08f); - } - - unit.controlWeapons(true, leader.isShooting); - - unit.aim(leader.aimX(), leader.aimY()); - - if(unit.type.rotateShooting){ - unit.lookAt(leader.aimX(), leader.aimY()); - }else if(unit.moving()){ - unit.lookAt(unit.vel.angle()); - } - - Vec2 realtarget = vec.set(target).add(leader.vel.x, leader.vel.y); - - float speed = unit.realSpeed() * unit.floorSpeedMultiplier() * Time.delta; - unit.approach(Mathf.arrive(unit.x, unit.y, realtarget.x, realtarget.y, unit.vel, speed, 0f, speed, 1f).scl(1f / Time.delta)); - - if(unit.canMine() && leader.canMine()){ - if(leader.mineTile != null && unit.validMine(leader.mineTile)){ - unit.mineTile(leader.mineTile); - - CoreBuild core = unit.team.core(); - - if(core != null && leader.mineTile.drop() != null && unit.within(core, unit.type.range) && !unit.acceptsItem(leader.mineTile.drop())){ - if(core.acceptStack(unit.stack.item, unit.stack.amount, unit) > 0){ - Call.transferItemTo(unit, unit.stack.item, unit.stack.amount, unit.x, unit.y, core); - - unit.clearItem(); - } - } - }else{ - unit.mineTile(null); - } - } - - if(unit.canBuild() && leader.canBuild() && leader.activelyBuilding()){ - unit.clearBuilding(); - unit.addBuild(leader.buildPlan()); - } - } - - @Override - public void removed(Unit unit){ - if(formation != null){ - formation.removeMember(this); - unit.resetController(); - } - } - - @Override - public float formationSize(){ - return unit.hitSize * 1.1f; - } - - @Override - public boolean isBeingControlled(Unit player){ - return leader == player; - } - - @Override - public Vec3 formationPos(){ - return target; - } -} diff --git a/core/src/mindustry/ai/types/GroundAI.java b/core/src/mindustry/ai/types/GroundAI.java index 2a711235c9..602ceaea7c 100644 --- a/core/src/mindustry/ai/types/GroundAI.java +++ b/core/src/mindustry/ai/types/GroundAI.java @@ -2,13 +2,9 @@ package mindustry.ai.types; import arc.math.*; import mindustry.ai.*; -import mindustry.entities.*; import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.world.*; -import mindustry.world.meta.*; - -import java.util.*; import static mindustry.Vars.*; @@ -19,41 +15,36 @@ public class GroundAI extends AIController{ Building core = unit.closestEnemyCore(); - if(core != null && unit.within(core, unit.range() / 1.1f + core.block.size * tilesize / 2f)){ + if(core != null && unit.within(core, unit.range() / 1.3f + core.block.size * tilesize / 2f)){ target = core; - Arrays.fill(targets, core); + for(var mount : unit.mounts){ + if(mount.weapon.controllable && mount.weapon.bullet.collidesGround){ + mount.target = core; + } + } } - if((core == null || !unit.within(core, unit.range() * 0.5f)) && command() == UnitCommand.attack){ + if((core == null || !unit.within(core, unit.type.range * 0.5f))){ boolean move = true; if(state.rules.waves && unit.team == state.rules.defaultTeam){ Tile spawner = getClosestSpawner(); if(spawner != null && unit.within(spawner, state.rules.dropZoneRadius + 120f)) move = false; + if(spawner == null && core == null) move = false; + } + + //no reason to move if there's nothing there + if(core == null && (!state.rules.waves || getClosestSpawner() == null)){ + move = false; } if(move) pathfind(Pathfinder.fieldCore); } - if(command() == UnitCommand.rally){ - Teamc target = targetFlag(unit.x, unit.y, BlockFlag.rally, false); - - if(target != null && !unit.within(target, 70f)){ - pathfind(Pathfinder.fieldRally); - } - } - - if(unit.type.canBoost && !unit.onSolid()){ - unit.elevation = Mathf.approachDelta(unit.elevation, 0f, 0.08f); - } - - if(!Units.invalidateTarget(target, unit, unit.range()) && unit.type.rotateShooting){ - if(unit.type.hasWeapons()){ - unit.lookAt(Predict.intercept(unit, target, unit.type.weapons.first().bullet.speed)); - } - }else if(unit.moving()){ - unit.lookAt(unit.vel().angle()); + if(unit.type.canBoost && unit.elevation > 0.001f && !unit.onSolid()){ + unit.elevation = Mathf.approachDelta(unit.elevation, 0f, unit.type.riseSpeed); } + faceTarget(); } } diff --git a/core/src/mindustry/ai/types/HugAI.java b/core/src/mindustry/ai/types/HugAI.java new file mode 100644 index 0000000000..ff672ff5bc --- /dev/null +++ b/core/src/mindustry/ai/types/HugAI.java @@ -0,0 +1,63 @@ +package mindustry.ai.types; + +import arc.math.*; +import arc.math.geom.*; +import mindustry.ai.*; +import mindustry.core.*; +import mindustry.entities.*; +import mindustry.entities.units.*; +import mindustry.gen.*; +import mindustry.world.*; + +import static mindustry.Vars.*; + +public class HugAI extends AIController{ + + @Override + public void updateMovement(){ + + Building core = unit.closestEnemyCore(); + + if(core != null && unit.within(core, unit.range() / 1.1f + core.block.size * tilesize / 2f)){ + target = core; + for(var mount : unit.mounts){ + if(mount.weapon.controllable && mount.weapon.bullet.collidesGround){ + mount.target = core; + } + } + } + + boolean move = true; + + if(state.rules.waves && unit.team == state.rules.defaultTeam){ + Tile spawner = getClosestSpawner(); + if(spawner != null && unit.within(spawner, state.rules.dropZoneRadius + 120f)) move = false; + } + + //raycast for target + if(target != null && unit.within(target, unit.type.range) && !World.raycast(unit.tileX(), unit.tileY(), target.tileX(), target.tileY(), (x, y) -> { + for(Point2 p : Geometry.d4c){ + if(!unit.canPass(x + p.x, y + p.y)){ + return true; + } + } + return false; + })){ + if(unit.within(target, (unit.hitSize + (target instanceof Sized s ? s.hitSize() : 1f)) * 0.5f)){ + //circle target + unit.movePref(vec.set(target).sub(unit).rotate(90f).setLength(unit.speed())); + }else{ + //move toward target in a straight line + unit.movePref(vec.set(target).sub(unit).limit(unit.speed())); + } + }else if(move){ + pathfind(Pathfinder.fieldCore); + } + + if(unit.type.canBoost && unit.elevation > 0.001f && !unit.onSolid()){ + unit.elevation = Mathf.approachDelta(unit.elevation, 0f, unit.type.riseSpeed); + } + + faceTarget(); + } +} diff --git a/core/src/mindustry/ai/types/LogicAI.java b/core/src/mindustry/ai/types/LogicAI.java index a0eb6d1fa9..f6be1965b3 100644 --- a/core/src/mindustry/ai/types/LogicAI.java +++ b/core/src/mindustry/ai/types/LogicAI.java @@ -1,7 +1,6 @@ package mindustry.ai.types; import arc.math.*; -import arc.math.geom.*; import arc.struct.*; import arc.util.*; import mindustry.ai.*; @@ -9,19 +8,18 @@ import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.logic.*; import mindustry.world.*; -import mindustry.world.meta.*; import static mindustry.Vars.*; public class LogicAI extends AIController{ /** Minimum delay between item transfers. */ - public static final float transferDelay = 60f * 2f; + public static final float transferDelay = 60f * 1.5f; /** Time after which the unit resets its controlled and reverts to a normal unit. */ - public static final float logicControlTimeout = 10f * 60f; + public static final float logicControlTimeout = 60f * 10f; - public LUnitControl control = LUnitControl.stop; + public LUnitControl control = LUnitControl.idle; public float moveX, moveY, moveRad; - public float itemTimer, payTimer, controlTimer = logicControlTimeout, targetTimer; + public float controlTimer = logicControlTimeout, targetTimer; @Nullable public Building controller; public BuildPlan plan = new BuildPlan(); @@ -43,11 +41,14 @@ public class LogicAI extends AIController{ private ObjectSet radars = new ObjectSet<>(); + // LogicAI state should not be reset after reading. @Override - protected void updateMovement(){ - if(itemTimer >= 0) itemTimer -= Time.delta; - if(payTimer >= 0) payTimer -= Time.delta; + public boolean keepState(){ + return true; + } + @Override + public void updateMovement(){ if(targetTimer > 0f){ targetTimer -= Time.delta; }else{ @@ -68,27 +69,38 @@ public class LogicAI extends AIController{ moveTo(Tmp.v1.set(moveX, moveY), 1f, 30f); } case approach -> { - moveTo(Tmp.v1.set(moveX, moveY), moveRad - 7f, 7); + moveTo(Tmp.v1.set(moveX, moveY), moveRad - 7f, 7, true, null); } case pathfind -> { + if(unit.isFlying()){ + moveTo(Tmp.v1.set(moveX, moveY), 1f, 30f); + }else{ + if(controlPath.getPathPosition(unit, Tmp.v2.set(moveX, moveY), Tmp.v2, Tmp.v1, null)){ + moveTo(Tmp.v1, 1f, Tmp.v2.epsilonEquals(Tmp.v1, 4.1f) ? 30f : 0f); + } + } + } + case autoPathfind -> { Building core = unit.closestEnemyCore(); - if((core == null || !unit.within(core, unit.range() * 0.5f)) && command() == UnitCommand.attack){ + if((core == null || !unit.within(core, unit.range() * 0.5f))){ boolean move = true; + Tile spawner = null; if(state.rules.waves && unit.team == state.rules.defaultTeam){ - Tile spawner = getClosestSpawner(); + spawner = getClosestSpawner(); if(spawner != null && unit.within(spawner, state.rules.dropZoneRadius + 120f)) move = false; } - if(move) pathfind(Pathfinder.fieldCore); - } - - if(command() == UnitCommand.rally){ - Teamc target = targetFlag(unit.x, unit.y, BlockFlag.rally, false); - - if(target != null && !unit.within(target, 70f)){ - pathfind(Pathfinder.fieldRally); + if(move){ + if(unit.isFlying()){ + var target = core == null ? spawner : core; + if(target != null){ + moveTo(target, unit.range() * 0.5f); + } + }else{ + pathfind(Pathfinder.fieldCore); + } } } } @@ -98,13 +110,13 @@ public class LogicAI extends AIController{ } if(unit.type.canBoost && !unit.type.flying){ - unit.elevation = Mathf.approachDelta(unit.elevation, Mathf.num(boost || unit.onSolid()), 0.08f); + unit.elevation = Mathf.approachDelta(unit.elevation, Mathf.num(boost || unit.onSolid() || (unit.isFlying() && !unit.canLand())), unit.type.riseSpeed); } //look where moving if there's nothing to aim at - if(!shoot){ + if(!shoot || !unit.type.omniMovement){ unit.lookAt(unit.prefRotation()); - }else if(unit.hasWeapons() && unit.mounts.length > 0){ //if there is, look at the object + }else if(unit.hasWeapons() && unit.mounts.length > 0 && !unit.mounts[0].weapon.ignoreRotation){ //if there is, look at the object unit.lookAt(unit.mounts[0].aimX, unit.mounts[0].aimY); } } @@ -114,42 +126,29 @@ public class LogicAI extends AIController{ } @Override - protected void moveTo(Position target, float circleLength, float smooth){ - if(target == null) return; - - vec.set(target).sub(unit); - - float length = circleLength <= 0.001f ? 1f : Mathf.clamp((unit.dst(target) - circleLength) / smooth, -1f, 1f); - - vec.setLength(unit.realSpeed() * length); - if(length < -0.5f){ - vec.rotate(180f); - }else if(length < 0){ - vec.setZero(); - } - - unit.approach(vec); + public boolean checkTarget(Teamc target, float x, float y, float range){ + return false; } //always retarget @Override - protected boolean retarget(){ + public boolean retarget(){ return true; } @Override - protected boolean invalid(Teamc target){ + public boolean invalid(Teamc target){ return false; } @Override - protected boolean shouldShoot(){ + public boolean shouldShoot(){ return shoot && !(unit.type.canBoost && boost); } //always aim for the main target @Override - protected Teamc target(float x, float y, float range, boolean air, boolean ground){ + public Teamc target(float x, float y, float range, boolean air, boolean ground){ return switch(aimControl){ case target -> posTarget; case targetp -> mainTarget; diff --git a/core/src/mindustry/ai/types/MinerAI.java b/core/src/mindustry/ai/types/MinerAI.java index 28306deb84..eb4307021b 100644 --- a/core/src/mindustry/ai/types/MinerAI.java +++ b/core/src/mindustry/ai/types/MinerAI.java @@ -9,29 +9,29 @@ import mindustry.world.*; import static mindustry.Vars.*; public class MinerAI extends AIController{ - boolean mining = true; - Item targetItem; - Tile ore; + public boolean mining = true; + public Item targetItem; + public Tile ore; @Override - protected void updateMovement(){ + public void updateMovement(){ Building core = unit.closestCore(); if(!(unit.canMine()) || core == null) return; - if(unit.mineTile != null && !unit.mineTile.within(unit, unit.type.range)){ + if(!unit.validMine(unit.mineTile)){ unit.mineTile(null); } if(mining){ if(timer.get(timerTarget2, 60 * 4) || targetItem == null){ - targetItem = unit.team.data().mineItems.min(i -> indexer.hasOre(i) && unit.canMine(i), i -> core.items.get(i)); + targetItem = unit.type.mineItems.min(i -> indexer.hasOre(i) && unit.canMine(i), i -> core.items.get(i)); } //core full of the target item, do nothing if(targetItem != null && core.acceptStack(targetItem, 1, unit) == 0){ unit.clearItem(); - unit.mineTile(null); + unit.mineTile = null; return; } @@ -39,14 +39,14 @@ public class MinerAI extends AIController{ if(unit.stack.amount >= unit.type.itemCapacity || (targetItem != null && !unit.acceptsItem(targetItem))){ mining = false; }else{ - if(timer.get(timerTarget, 60) && targetItem != null){ + if(timer.get(timerTarget3, 60) && targetItem != null){ ore = indexer.findClosestOre(unit, targetItem); } if(ore != null){ - moveTo(ore, unit.type.range / 2f, 20f); + moveTo(ore, unit.type.mineRange / 2f, 20f); - if(unit.within(ore, unit.type.range)){ + if(ore.block() == Blocks.air && unit.within(ore, unit.type.mineRange)){ unit.mineTile = ore; } @@ -75,8 +75,4 @@ public class MinerAI extends AIController{ circle(core, unit.type.range / 1.8f); } } - - @Override - protected void updateTargeting(){ - } -} +} \ No newline at end of file diff --git a/core/src/mindustry/ai/types/MissileAI.java b/core/src/mindustry/ai/types/MissileAI.java new file mode 100644 index 0000000000..082c445048 --- /dev/null +++ b/core/src/mindustry/ai/types/MissileAI.java @@ -0,0 +1,49 @@ +package mindustry.ai.types; + +import arc.math.*; +import arc.util.*; +import mindustry.*; +import mindustry.entities.*; +import mindustry.entities.units.*; +import mindustry.gen.*; + +public class MissileAI extends AIController{ + public @Nullable Unit shooter; + + @Override + protected void resetTimers(){ + timer.reset(timerTarget, 5f); + } + + @Override + public void updateMovement(){ + unloadPayloads(); + + float time = unit instanceof TimedKillc t ? t.time() : 1000000f; + + if(time >= unit.type.homingDelay && shooter != null && !shooter.dead()){ + unit.lookAt(shooter.aimX, shooter.aimY); + } + + //move forward forever + unit.moveAt(vec.trns(unit.rotation, unit.type.missileAccelTime <= 0f ? unit.speed() : Mathf.pow(Math.min(time / unit.type.missileAccelTime, 1f), 2f) * unit.speed())); + + var build = unit.buildOn(); + + //kill instantly on enemy building contact + if(build != null && build.team != unit.team && (build == target || !build.block.underBullets)){ + unit.kill(); + } + } + + @Override + public Teamc target(float x, float y, float range, boolean air, boolean ground){ + return Units.closestTarget(unit.team, x, y, range, u -> u.checkTarget(air, ground) && !u.isMissile(), t -> ground && (!t.block.underBullets || (shooter != null && t == Vars.world.buildWorld(shooter.aimX, shooter.aimY)))); + } + + @Override + public boolean retarget(){ + //more frequent retarget due to high speed. TODO won't this lag? + return timer.get(timerTarget, 4f); + } +} diff --git a/core/src/mindustry/ai/types/RepairAI.java b/core/src/mindustry/ai/types/RepairAI.java index db20cc7d60..af0140eaba 100644 --- a/core/src/mindustry/ai/types/RepairAI.java +++ b/core/src/mindustry/ai/types/RepairAI.java @@ -1,14 +1,20 @@ package mindustry.ai.types; +import arc.util.*; import mindustry.entities.*; import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.world.blocks.ConstructBlock.*; public class RepairAI extends AIController{ + public static float retreatDst = 160f, fleeRange = 310f, retreatDelay = Time.toSeconds * 3f; + + @Nullable Teamc avoid; + float retreatTimer; + Building damagedTarget; @Override - protected void updateMovement(){ + public void updateMovement(){ if(target instanceof Building){ boolean shoot = false; @@ -22,25 +28,49 @@ public class RepairAI extends AIController{ unit.controlWeapons(false); } - if(target != null){ - if(!target.within(unit, unit.type.range * 0.65f) && target instanceof Building b && b.team == unit.team){ + if(target != null && target instanceof Building b && b.team == unit.team){ + if(unit.type.circleTarget){ + circleAttack(120f); + }else if(!target.within(unit, unit.type.range * 0.65f)){ moveTo(target, unit.type.range * 0.65f); } - unit.lookAt(target); + if(!unit.type.circleTarget){ + unit.lookAt(target); + } + } + + //not repairing + if(!(target instanceof Building)){ + if(timer.get(timerTarget4, 40)){ + avoid = target(unit.x, unit.y, fleeRange, true, true); + } + + if((retreatTimer += Time.delta) >= retreatDelay){ + //fly away from enemy when not doing anything + if(avoid != null){ + var core = unit.closestCore(); + if(core != null && !unit.within(core, retreatDst)){ + moveTo(core, retreatDst); + } + } + } + }else{ + retreatTimer = 0f; } } @Override - protected void updateTargeting(){ - Building target = Units.findDamagedTile(unit.team, unit.x, unit.y); + public void updateTargeting(){ + if(timer.get(timerTarget, 15)){ + damagedTarget = Units.findDamagedTile(unit.team, unit.x, unit.y); + if(damagedTarget instanceof ConstructBuild) damagedTarget = null; + } - if(target instanceof ConstructBuild) target = null; - - if(target == null){ + if(damagedTarget == null){ super.updateTargeting(); }else{ - this.target = target; + this.target = damagedTarget; } } } diff --git a/core/src/mindustry/ai/types/SuicideAI.java b/core/src/mindustry/ai/types/SuicideAI.java index 1143f31675..ed2e4ffded 100644 --- a/core/src/mindustry/ai/types/SuicideAI.java +++ b/core/src/mindustry/ai/types/SuicideAI.java @@ -1,21 +1,24 @@ package mindustry.ai.types; +import arc.math.geom.*; import mindustry.*; import mindustry.ai.*; +import mindustry.core.*; import mindustry.entities.*; -import mindustry.entities.units.*; import mindustry.gen.*; import mindustry.world.*; import mindustry.world.blocks.distribution.*; import mindustry.world.blocks.liquid.*; +import mindustry.world.blocks.storage.*; import mindustry.world.meta.*; +import static mindustry.Vars.*; + public class SuicideAI extends GroundAI{ static boolean blockedByBlock; @Override public void updateUnit(){ - if(Units.invalidateTarget(target, unit.team, unit.x, unit.y, Float.MAX_VALUE)){ target = null; } @@ -28,17 +31,17 @@ public class SuicideAI extends GroundAI{ boolean rotate = false, shoot = false, moveToTarget = false; + if(target == null){ + target = core; + } + if(!Units.invalidateTarget(target, unit, unit.range()) && unit.hasWeapons()){ rotate = true; - shoot = unit.within(target, unit.type.weapons.first().bullet.range() + + shoot = unit.within(target, unit.type.weapons.first().bullet.range + (target instanceof Building b ? b.block.size * Vars.tilesize / 2f : ((Hitboxc)target).hitSize() / 2f)); - if(unit.type.hasWeapons()){ - unit.aimLook(Predict.intercept(unit, target, unit.type.weapons.first().bullet.speed)); - } - //do not move toward walls or transport blocks - if(!(target instanceof Building build && ( + if(!(target instanceof Building build && !(build.block instanceof CoreBlock) && ( build.block.group == BlockGroup.walls || build.block.group == BlockGroup.liquids || build.block.group == BlockGroup.transportation @@ -46,15 +49,18 @@ public class SuicideAI extends GroundAI{ blockedByBlock = false; //raycast for target - boolean blocked = Vars.world.raycast(unit.tileX(), unit.tileY(), target.tileX(), target.tileY(), (x, y) -> { - Tile tile = Vars.world.tile(x, y); - if(tile != null && tile.build == target) return false; - if(tile != null && tile.build != null && tile.build.team != unit.team()){ - blockedByBlock = true; - return true; - }else{ - return tile == null || tile.solid(); + boolean blocked = World.raycast(unit.tileX(), unit.tileY(), target.tileX(), target.tileY(), (x, y) -> { + for(Point2 p : Geometry.d4c){ + Tile tile = Vars.world.tile(x + p.x, y + p.y); + if(tile != null && tile.build == target) return false; + if(tile != null && tile.build != null && tile.build.team != unit.team()){ + blockedByBlock = true; + return true; + }else{ + return tile == null || tile.solid(); + } } + return false; }); //shoot when there's an enemy block in the way @@ -65,30 +71,34 @@ public class SuicideAI extends GroundAI{ if(!blocked){ moveToTarget = true; //move towards target directly - unit.moveAt(vec.set(target).sub(unit).limit(unit.speed())); + unit.movePref(vec.set(target).sub(unit).limit(unit.speed())); } } } if(!moveToTarget){ - if(command() == UnitCommand.rally){ - Teamc target = targetFlag(unit.x, unit.y, BlockFlag.rally, false); + boolean move = true; - if(target != null && !unit.within(target, 70f)){ - pathfind(Pathfinder.fieldRally); + //stop moving toward the drop zone if applicable + if(core == null && state.rules.waves && unit.team == state.rules.defaultTeam){ + Tile spawner = getClosestSpawner(); + if(spawner != null && unit.within(spawner, state.rules.dropZoneRadius + 120f)){ + move = false; } - }else if(command() == UnitCommand.attack && core != null){ - pathfind(Pathfinder.fieldCore); } - if(unit.moving()) unit.lookAt(unit.vel().angle()); + if(move){ + pathfind(Pathfinder.fieldCore); + } } unit.controlWeapons(rotate, shoot); + + faceTarget(); } @Override - protected Teamc target(float x, float y, float range, boolean air, boolean ground){ + public Teamc target(float x, float y, float range, boolean air, boolean ground){ return Units.closestTarget(unit.team, x, y, range, u -> u.checkTarget(air, ground), t -> ground && !(t.block instanceof Conveyor || t.block instanceof Conduit)); //do not target conveyors/conduits } diff --git a/core/src/mindustry/async/AsyncCore.java b/core/src/mindustry/async/AsyncCore.java index a9d4cdd90d..9987bc31bd 100644 --- a/core/src/mindustry/async/AsyncCore.java +++ b/core/src/mindustry/async/AsyncCore.java @@ -2,6 +2,7 @@ package mindustry.async; import arc.*; import arc.struct.*; +import arc.util.*; import mindustry.game.EventType.*; import java.util.concurrent.*; @@ -10,19 +11,14 @@ import static mindustry.Vars.*; public class AsyncCore{ //all processes to be executed each frame - private final Seq processes = Seq.with( + public final Seq processes = Seq.with( new PhysicsProcess() ); //futures to be awaited private final Seq> futures = new Seq<>(); - private final ExecutorService executor = Executors.newFixedThreadPool(processes.size, r -> { - Thread thread = new Thread(r, "AsyncLogic-Thread"); - thread.setDaemon(true); - thread.setUncaughtExceptionHandler((t, e) -> Core.app.post(() -> { throw new RuntimeException(e); })); - return thread; - }); + private ExecutorService executor; public AsyncCore(){ Events.on(WorldLoadEvent.class, e -> { @@ -49,6 +45,16 @@ public class AsyncCore{ futures.clear(); + //init executor with size of potentially-modified process list + if(executor == null){ + executor = Executors.newFixedThreadPool(processes.size, r -> { + Thread thread = new Thread(r, "AsyncLogic-Thread"); + thread.setDaemon(true); + thread.setUncaughtExceptionHandler((t, e) -> Threads.throwAppException(e)); + return thread; + }); + } + //submit all tasks for(AsyncProcess p : processes){ if(p.shouldProcess()){ @@ -71,7 +77,7 @@ public class AsyncCore{ private void complete(){ //wait for all threads to stop processing - for(Future future : futures){ + for(var future : futures){ try{ future.get(); }catch(Throwable t){ diff --git a/core/src/mindustry/async/PhysicsProcess.java b/core/src/mindustry/async/PhysicsProcess.java index a60dab7f68..a38f28eeb2 100644 --- a/core/src/mindustry/async/PhysicsProcess.java +++ b/core/src/mindustry/async/PhysicsProcess.java @@ -10,11 +10,11 @@ import mindustry.entities.*; import mindustry.gen.*; public class PhysicsProcess implements AsyncProcess{ - private static final int - layers = 3, - layerGround = 0, - layerLegs = 1, - layerFlying = 2; + public static final int + layers = 3, + layerGround = 0, + layerLegs = 1, + layerFlying = 2; private PhysicsWorld physics; private Seq refs = new Seq<>(false); @@ -24,6 +24,7 @@ public class PhysicsProcess implements AsyncProcess{ @Override public void begin(){ if(physics == null) return; + boolean local = !Vars.net.client(); //remove stale entities refs.removeAll(ref -> { @@ -35,32 +36,32 @@ public class PhysicsProcess implements AsyncProcess{ return false; }); - //find Unit without bodies and assign them + //find Units without bodies and assign them for(Unit entity : group){ + if(entity == null || entity.type == null || !entity.type.physics) continue; - if(entity.physref() == null){ + if(entity.physref == null){ PhysicsBody body = new PhysicsBody(); - body.x = entity.x(); - body.y = entity.y(); + body.x = entity.x; + body.y = entity.y; body.mass = entity.mass(); - body.radius = entity.hitSize() / 2f; + body.radius = entity.hitSize * Vars.unitCollisionRadiusScale; PhysicRef ref = new PhysicRef(entity, body); refs.add(ref); - entity.physref(ref); + entity.physref = ref; physics.add(body); } //save last position - PhysicRef ref = entity.physref(); + PhysicRef ref = entity.physref; - ref.body.layer = - entity.type.allowLegStep ? layerLegs : - entity.isGrounded() ? layerGround : layerFlying; - ref.x = entity.x(); - ref.y = entity.y(); + ref.body.layer = entity.collisionLayer(); + ref.x = entity.x; + ref.y = entity.y; + ref.body.local = local || entity.isLocal(); } } @@ -147,21 +148,30 @@ public class PhysicsProcess implements AsyncProcess{ trees[i].clear(); } - for(int i = 0; i < bodies.size; i++){ - PhysicsBody body = bodies.items[i]; + var bodyItems = bodies.items; + int bodySize = bodies.size; + + for(int i = 0; i < bodySize; i++){ + PhysicsBody body = bodyItems[i]; body.collided = false; trees[body.layer].insert(body); } - for(int i = 0; i < bodies.size; i++){ - PhysicsBody body = bodies.items[i]; + for(int i = 0; i < bodySize; i++){ + PhysicsBody body = bodyItems[i]; + + //for clients, the only body that collides is the local one; all other physics simulations are handled by the server. + if(!body.local) continue; + body.hitbox(rect); seq.size = 0; trees[body.layer].intersect(rect, seq); + int size = seq.size; + var items = seq.items; - for(int j = 0; j < seq.size; j++){ - PhysicsBody other = seq.items[j]; + for(int j = 0; j < size; j++){ + PhysicsBody other = items[j]; if(other == body || other.collided) continue; @@ -173,10 +183,14 @@ public class PhysicsProcess implements AsyncProcess{ float ms = body.mass + other.mass; float m1 = other.mass / ms, m2 = body.mass / ms; + //first body is always local due to guard check above body.x += vec.x * m1 / scl; body.y += vec.y * m1 / scl; - other.x -= vec.x * m2 / scl; - other.y -= vec.y * m2 / scl; + + if(other.local){ + other.x -= vec.x * m2 / scl; + other.y -= vec.y * m2 / scl; + } } } body.collided = true; @@ -186,7 +200,7 @@ public class PhysicsProcess implements AsyncProcess{ public static class PhysicsBody implements QuadTreeObject{ public float x, y, radius, mass; public int layer = 0; - public boolean collided = false; + public boolean collided = false, local = true; @Override public void hitbox(Rect out){ diff --git a/core/src/mindustry/audio/SoundControl.java b/core/src/mindustry/audio/SoundControl.java index bed176f972..432a3c05b6 100644 --- a/core/src/mindustry/audio/SoundControl.java +++ b/core/src/mindustry/audio/SoundControl.java @@ -17,7 +17,7 @@ import static mindustry.Vars.*; /** Controls playback of multiple audio tracks.*/ public class SoundControl{ - protected static final float finTime = 120f, foutTime = 120f, musicInterval = 60 * 60 * 3f, musicChance = 0.6f, musicWaveChance = 0.46f; + public float finTime = 120f, foutTime = 120f, musicInterval = 3f * Time.toMinutes, musicChance = 0.8f, musicWaveChance = 0.46f; /** normal, ambient music, plays at any time */ public Seq ambientMusic = Seq.with(); @@ -28,6 +28,7 @@ public class SoundControl{ protected Music lastRandomPlayed; protected Interval timer = new Interval(4); + protected long lastPlayed; protected @Nullable Music current; protected float fade; protected boolean silenced; @@ -55,6 +56,10 @@ public class SoundControl{ })); setupFilters(); + + Events.on(ResetEvent.class, e -> { + lastPlayed = Time.millis(); + }); } protected void setupFilters(){ @@ -65,7 +70,7 @@ public class SoundControl{ protected void reload(){ current = null; fade = 0f; - ambientMusic = Seq.with(Musics.game1, Musics.game3, Musics.game6, Musics.game8, Musics.game9); + ambientMusic = Seq.with(Musics.game1, Musics.game3, Musics.game6, Musics.game8, Musics.game9, Musics.fine); darkMusic = Seq.with(Musics.game2, Musics.game5, Musics.game7, Musics.game4); bossMusic = Seq.with(Musics.boss1, Musics.boss2, Musics.game2, Musics.game5); @@ -76,6 +81,8 @@ public class SoundControl{ sound.setBus(uiBus); } } + + Events.fire(new MusicRegisterEvent()); } public void loop(Sound sound, float volume){ @@ -130,14 +137,21 @@ public class SoundControl{ Core.audio.soundBus.play(); setupFilters(); }else{ + //stopping a single audio bus stops everything else, yay! Core.audio.soundBus.stop(); + //play music bus again, as it was stopped above + Core.audio.musicBus.play(); + + Core.audio.soundBus.play(); } } + Core.audio.setPaused(Core.audio.soundBus.id, state.isPaused()); + if(state.isMenu()){ silenced = false; if(ui.planet.isShown()){ - play(Musics.launch); + play(ui.planet.state.planet.launchMusic); }else if(ui.editor.isShown()){ play(Musics.editor); }else{ @@ -150,10 +164,14 @@ public class SoundControl{ //this just fades out the last track to make way for ingame music silence(); - //play music at intervals - if(timer.get(musicInterval)){ + if(Core.settings.getBool("alwaysmusic")){ + if(current == null){ + playRandom(); + } + }else if(Time.timeSinceMillis(lastPlayed) > 1000 * musicInterval / 60f){ //chance to play it per interval if(Mathf.chance(musicChance)){ + lastPlayed = Time.millis(); playRandom(); } } @@ -172,7 +190,7 @@ public class SoundControl{ float avol = Core.settings.getInt("ambientvol", 100) / 100f; sounds.each((sound, data) -> { - data.curVolume = Mathf.lerpDelta(data.curVolume, data.volume * avol, 0.2f); + data.curVolume = Mathf.lerpDelta(data.curVolume, data.volume * avol, 0.11f); boolean play = data.curVolume > 0.01f; float pan = Mathf.zero(data.total, 0.0001f) ? 0f : sound.calcPan(data.sum.x / data.total, data.sum.y / data.total); @@ -198,7 +216,9 @@ public class SoundControl{ /** Plays a random track.*/ public void playRandom(){ - if(isDark()){ + if(state.boss() != null){ + playOnce(bossMusic.random(lastRandomPlayed)); + }else if(isDark()){ playOnce(darkMusic.random(lastRandomPlayed)); }else{ playOnce(ambientMusic.random(lastRandomPlayed)); @@ -207,7 +227,7 @@ public class SoundControl{ /** Whether to play dark music.*/ protected boolean isDark(){ - if(state.teams.get(player.team()).hasCore() && state.teams.get(player.team()).core().healthf() < 0.85f){ + if(player.team().data().hasCore() && player.team().data().core().healthf() < 0.85f){ //core damaged -> dark return true; } diff --git a/core/src/mindustry/audio/SoundLoop.java b/core/src/mindustry/audio/SoundLoop.java index d10eb02214..5b1baff79c 100644 --- a/core/src/mindustry/audio/SoundLoop.java +++ b/core/src/mindustry/audio/SoundLoop.java @@ -19,11 +19,15 @@ public class SoundLoop{ } public void update(float x, float y, boolean play){ + update(x, y, play, 1f); + } + + public void update(float x, float y, boolean play, float volumeScl){ if(baseVolume <= 0) return; if(id < 0){ if(play){ - id = sound.loop(sound.calcVolume(x, y) * volume * baseVolume, 1f, sound.calcPan(x, y)); + id = sound.loop(sound.calcVolume(x, y) * volume * baseVolume * volumeScl, 1f, sound.calcPan(x, y)); } }else{ //fade the sound in or out @@ -38,7 +42,7 @@ public class SoundLoop{ } } - Core.audio.set(id, sound.calcPan(x, y), sound.calcVolume(x, y) * volume * baseVolume); + Core.audio.set(id, sound.calcPan(x, y), sound.calcVolume(x, y) * volume * baseVolume * volumeScl); } } diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index d071e7dab9..e62a70f62a 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1,15 +1,20 @@ package mindustry.content; -import arc.*; import arc.graphics.*; -import arc.graphics.g2d.*; +import arc.math.*; import arc.struct.*; import mindustry.*; -import mindustry.ctype.*; +import mindustry.entities.*; +import mindustry.entities.abilities.*; import mindustry.entities.bullet.*; +import mindustry.entities.effect.*; +import mindustry.entities.part.DrawPart.*; +import mindustry.entities.part.*; +import mindustry.entities.pattern.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; +import mindustry.type.unit.*; import mindustry.world.*; import mindustry.world.blocks.*; import mindustry.world.blocks.campaign.*; @@ -17,10 +22,11 @@ import mindustry.world.blocks.defense.*; import mindustry.world.blocks.defense.turrets.*; import mindustry.world.blocks.distribution.*; import mindustry.world.blocks.environment.*; -import mindustry.world.blocks.experimental.*; +import mindustry.world.blocks.heat.*; import mindustry.world.blocks.legacy.*; import mindustry.world.blocks.liquid.*; import mindustry.world.blocks.logic.*; +import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.power.*; import mindustry.world.blocks.production.*; import mindustry.world.blocks.sandbox.*; @@ -30,103 +36,148 @@ import mindustry.world.consumers.*; import mindustry.world.draw.*; import mindustry.world.meta.*; +import static mindustry.Vars.*; import static mindustry.type.ItemStack.*; -public class Blocks implements ContentList{ +public class Blocks{ public static Block //environment - air, spawn, cliff, deepwater, water, taintedWater, tar, slag, stone, craters, charr, sand, darksand, dirt, mud, ice, snow, darksandTaintedWater, space, - dacite, stoneWall, dirtWall, sporeWall, iceWall, daciteWall, sporePine, snowPine, pine, shrubs, whiteTree, whiteTreeDead, sporeCluster, - iceSnow, sandWater, darksandWater, duneWall, sandWall, moss, sporeMoss, shale, shaleWall, shaleBoulder, sandBoulder, daciteBoulder, boulder, snowBoulder, basaltBoulder, grass, salt, - metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor5, basalt, magmarock, hotrock, snowWall, saltWall, + air, spawn, removeWall, removeOre, cliff, deepwater, water, taintedWater, deepTaintedWater, tar, slag, cryofluid, stone, craters, charr, sand, darksand, dirt, mud, ice, snow, darksandTaintedWater, space, empty, + dacite, rhyolite, rhyoliteCrater, roughRhyolite, regolith, yellowStone, redIce, redStone, denseRedStone, + arkyciteFloor, arkyicStone, + redmat, bluemat, + stoneWall, dirtWall, sporeWall, iceWall, daciteWall, sporePine, snowPine, pine, shrubs, whiteTree, whiteTreeDead, sporeCluster, + redweed, purbush, yellowCoral, + rhyoliteVent, carbonVent, arkyicVent, yellowStoneVent, redStoneVent, crystallineVent, + regolithWall, yellowStoneWall, rhyoliteWall, carbonWall, redIceWall, ferricStoneWall, beryllicStoneWall, arkyicWall, crystallineStoneWall, redStoneWall, redDiamondWall, + ferricStone, ferricCraters, carbonStone, beryllicStone, crystallineStone, crystalFloor, yellowStonePlates, + iceSnow, sandWater, darksandWater, duneWall, sandWall, moss, sporeMoss, shale, shaleWall, grass, salt, + coreZone, + //boulders + shaleBoulder, sandBoulder, daciteBoulder, boulder, snowBoulder, basaltBoulder, carbonBoulder, ferricBoulder, beryllicBoulder, yellowStoneBoulder, + arkyicBoulder, crystalCluster, vibrantCrystalCluster, crystalBlocks, crystalOrbs, crystallineBoulder, redIceBoulder, rhyoliteBoulder, redStoneBoulder, + metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, basalt, magmarock, hotrock, snowWall, saltWall, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6, darkMetal, pebbles, tendrils, //ores oreCopper, oreLead, oreScrap, oreCoal, oreTitanium, oreThorium, + oreBeryllium, oreTungsten, oreCrystalThorium, wallOreThorium, + + //wall ores + wallOreBeryllium, graphiticWall, wallOreTungsten, //crafting siliconSmelter, siliconCrucible, kiln, graphitePress, plastaniumCompressor, multiPress, phaseWeaver, surgeSmelter, pyratiteMixer, blastMixer, cryofluidMixer, melter, separator, disassembler, sporePress, pulverizer, incinerator, coalCentrifuge, + //crafting - erekir + siliconArcFurnace, electrolyzer, oxidationChamber, atmosphericConcentrator, electricHeater, slagHeater, phaseHeater, heatRedirector, smallHeatRedirector, heatRouter, slagIncinerator, + carbideCrucible, slagCentrifuge, surgeCrucible, cyanogenSynthesizer, phaseSynthesizer, heatReactor, + //sandbox - powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, illuminator, + powerSource, powerVoid, itemSource, itemVoid, liquidSource, liquidVoid, payloadSource, payloadVoid, illuminator, heatSource, //defense copperWall, copperWallLarge, titaniumWall, titaniumWallLarge, plastaniumWall, plastaniumWallLarge, thoriumWall, thoriumWallLarge, door, doorLarge, - phaseWall, phaseWallLarge, surgeWall, surgeWallLarge, mender, mendProjector, overdriveProjector, overdriveDome, forceProjector, shockMine, + phaseWall, phaseWallLarge, surgeWall, surgeWallLarge, + + //walls - erekir + berylliumWall, berylliumWallLarge, tungstenWall, tungstenWallLarge, blastDoor, reinforcedSurgeWall, reinforcedSurgeWallLarge, carbideWall, carbideWallLarge, + shieldedWall, + + mender, mendProjector, overdriveProjector, overdriveDome, forceProjector, shockMine, scrapWall, scrapWallLarge, scrapWallHuge, scrapWallGigantic, thruster, //ok, these names are getting ridiculous, but at least I don't have humongous walls yet + //defense - erekir + radar, + buildTower, + regenProjector, barrierProjector, shockwaveTower, + //campaign only + shieldProjector, + largeShieldProjector, + shieldBreaker, + //transport conveyor, titaniumConveyor, plastaniumConveyor, armoredConveyor, distributor, junction, itemBridge, phaseConveyor, sorter, invertedSorter, router, - overflowGate, underflowGate, massDriver, payloadConveyor, payloadRouter, + overflowGate, underflowGate, massDriver, + + //transport - alternate + duct, armoredDuct, ductRouter, overflowDuct, underflowDuct, ductBridge, ductUnloader, + surgeConveyor, surgeRouter, + + unitCargoLoader, unitCargoUnloadPoint, //liquid - mechanicalPump, rotaryPump, thermalPump, conduit, pulseConduit, platedConduit, liquidRouter, liquidTank, liquidJunction, bridgeConduit, phaseConduit, + mechanicalPump, rotaryPump, impulsePump, conduit, pulseConduit, platedConduit, liquidRouter, liquidContainer, liquidTank, liquidJunction, bridgeConduit, phaseConduit, + + //liquid - reinforced + reinforcedPump, reinforcedConduit, reinforcedLiquidJunction, reinforcedBridgeConduit, reinforcedLiquidRouter, reinforcedLiquidContainer, reinforcedLiquidTank, //power combustionGenerator, thermalGenerator, steamGenerator, differentialGenerator, rtgGenerator, solarPanel, largeSolarPanel, thoriumReactor, impactReactor, battery, batteryLarge, powerNode, powerNodeLarge, surgeTower, diode, + //power - erekir + turbineCondenser, ventCondenser, chemicalCombustionChamber, pyrolysisGenerator, fluxReactor, neoplasiaReactor, + beamNode, beamTower, beamLink, + //production mechanicalDrill, pneumaticDrill, laserDrill, blastDrill, waterExtractor, oilExtractor, cultivator, + cliffCrusher, largeCliffCrusher, plasmaBore, largePlasmaBore, impactDrill, eruptionDrill, //storage coreShard, coreFoundation, coreNucleus, vault, container, unloader, + //storage - erekir + coreBastion, coreCitadel, coreAcropolis, reinforcedContainer, reinforcedVault, //turrets duo, scatter, scorch, hail, arc, wave, lancer, swarmer, salvo, fuse, ripple, cyclone, foreshadow, spectre, meltdown, segment, parallax, tsunami, + //turrets - erekir + breach, diffuse, sublimate, titan, disperse, afflict, lustre, scathe, smite, malign, + //units - commandCenter, groundFactory, airFactory, navalFactory, additiveReconstructor, multiplicativeReconstructor, exponentialReconstructor, tetrativeReconstructor, - repairPoint, resupplyPoint, + repairPoint, repairTurret, + + //units - erekir + tankFabricator, shipFabricator, mechFabricator, + + tankRefabricator, shipRefabricator, mechRefabricator, + primeRefabricator, + + tankAssembler, shipAssembler, mechAssembler, + basicAssemblerModule, + + unitRepairTower, + + //payloads + payloadConveyor, payloadRouter, reinforcedPayloadConveyor, reinforcedPayloadRouter, payloadMassDriver, largePayloadMassDriver, smallDeconstructor, deconstructor, constructor, largeConstructor, payloadLoader, payloadUnloader, //logic message, switchBlock, microProcessor, logicProcessor, hyperProcessor, largeLogicDisplay, logicDisplay, memoryCell, memoryBank, + canvas, reinforcedMessage, + worldProcessor, worldCell, worldMessage, worldSwitch, //campaign - launchPad, launchPadLarge, interplanetaryAccelerator, + launchPad, advancedLaunchPad, landingPad, + interplanetaryAccelerator - //misc experimental - blockForge, blockLoader, blockUnloader; + ; - @Override - public void load(){ + public static void load(){ //region environment - air = new Floor("air"){ - { - alwaysReplace = true; - hasShadow = false; - useColor = false; - wall = this; - } + air = new AirBlock("air"); - @Override public void drawBase(Tile tile){} - @Override public void load(){} - @Override public void init(){} - @Override public boolean isHidden(){ return true; } + spawn = new SpawnBlock("spawn"); - @Override - public TextureRegion[] variantRegions(){ - if(variantRegions == null){ - variantRegions = new TextureRegion[]{Core.atlas.find("clear")}; - } - return variantRegions; - } - }; + removeWall = new RemoveWall("remove-wall"); - spawn = new OverlayFloor("spawn"){ - { - variants = 0; - needsSurface = false; - } - @Override - public void drawBase(Tile tile){} - }; + removeOre = new RemoveOre("remove-ore"); cliff = new Cliff("cliff"){{ inEditor = false; @@ -139,7 +190,7 @@ public class Blocks implements ContentList{ new ConstructBlock(i); } - deepwater = new Floor("deepwater"){{ + deepwater = new Floor("deep-water"){{ speedMultiplier = 0.2f; variants = 0; liquidDrop = Liquids.water; @@ -147,12 +198,13 @@ public class Blocks implements ContentList{ isLiquid = true; status = StatusEffects.wet; statusDuration = 120f; - drownTime = 140f; + drownTime = 200f; cacheLayer = CacheLayer.water; - albedo = 0.5f; + albedo = 0.9f; + supportsOverlay = true; }}; - water = new Floor("water"){{ + water = new Floor("shallow-water"){{ speedMultiplier = 0.5f; variants = 0; status = StatusEffects.wet; @@ -160,43 +212,61 @@ public class Blocks implements ContentList{ liquidDrop = Liquids.water; isLiquid = true; cacheLayer = CacheLayer.water; - albedo = 0.5f; + albedo = 0.9f; + supportsOverlay = true; }}; taintedWater = new Floor("tainted-water"){{ - speedMultiplier = 0.17f; + speedMultiplier = 0.5f; variants = 0; status = StatusEffects.wet; - statusDuration = 140f; - drownTime = 120f; + statusDuration = 90f; liquidDrop = Liquids.water; isLiquid = true; cacheLayer = CacheLayer.water; - albedo = 0.5f; + albedo = 0.9f; attributes.set(Attribute.spores, 0.15f); + supportsOverlay = true; + }}; + + deepTaintedWater = new Floor("deep-tainted-water"){{ + speedMultiplier = 0.18f; + variants = 0; + status = StatusEffects.wet; + statusDuration = 140f; + drownTime = 200f; + liquidDrop = Liquids.water; + isLiquid = true; + cacheLayer = CacheLayer.water; + albedo = 0.9f; + attributes.set(Attribute.spores, 0.15f); + supportsOverlay = true; }}; darksandTaintedWater = new ShallowLiquid("darksand-tainted-water"){{ speedMultiplier = 0.75f; statusDuration = 60f; - albedo = 0.5f; + albedo = 0.9f; attributes.set(Attribute.spores, 0.1f); + supportsOverlay = true; }}; sandWater = new ShallowLiquid("sand-water"){{ speedMultiplier = 0.8f; statusDuration = 50f; - albedo = 0.5f; + albedo = 0.9f; + supportsOverlay = true; }}; darksandWater = new ShallowLiquid("darksand-water"){{ speedMultiplier = 0.8f; statusDuration = 50f; - albedo = 0.5f; + albedo = 0.9f; + supportsOverlay = true; }}; tar = new Floor("tar"){{ - drownTime = 150f; + drownTime = 230f; status = StatusEffects.tarred; statusDuration = 240f; speedMultiplier = 0.19f; @@ -206,8 +276,24 @@ public class Blocks implements ContentList{ cacheLayer = CacheLayer.tar; }}; - slag = new Floor("slag"){{ + cryofluid = new Floor("pooled-cryofluid"){{ drownTime = 150f; + status = StatusEffects.freezing; + statusDuration = 240f; + speedMultiplier = 0.5f; + variants = 0; + liquidDrop = Liquids.cryofluid; + liquidMultiplier = 0.5f; + isLiquid = true; + cacheLayer = CacheLayer.cryofluid; + + emitLight = true; + lightRadius = 25f; + lightColor = Color.cyan.cpy().a(0.19f); + }}; + + slag = new Floor("molten-slag"){{ + drownTime = 230f; status = StatusEffects.melting; statusDuration = 240f; speedMultiplier = 0.19f; @@ -227,11 +313,14 @@ public class Blocks implements ContentList{ placeableOn = false; solid = true; variants = 0; + canShadow = false; }}; + empty = new EmptyFloor("empty"); + stone = new Floor("stone"); - craters = new Floor("craters"){{ + craters = new Floor("crater-stone"){{ variants = 3; blendGroup = stone; }}; @@ -257,7 +346,6 @@ public class Blocks implements ContentList{ magmarock = new Floor("magmarock"){{ attributes.set(Attribute.heat, 0.75f); attributes.set(Attribute.water, -0.75f); - updateEffect = Fx.magmasmoke; blendGroup = basalt; emitLight = true; @@ -265,7 +353,7 @@ public class Blocks implements ContentList{ lightColor = Color.orange.cpy().a(0.3f); }}; - sand = new Floor("sand"){{ + sand = new Floor("sand-floor"){{ itemDrop = Items.sand; playerUnmineable = true; attributes.set(Attribute.oil, 0.7f); @@ -286,7 +374,6 @@ public class Blocks implements ContentList{ statusDuration = 30f; attributes.set(Attribute.water, 1f); cacheLayer = CacheLayer.mud; - albedo = 0.35f; walkSound = Sounds.mud; walkSoundVolume = 0.08f; walkSoundPitchMin = 0.4f; @@ -299,7 +386,127 @@ public class Blocks implements ContentList{ dacite = new Floor("dacite"); + rhyolite = new Floor("rhyolite"){{ + attributes.set(Attribute.water, -1f); + }}; + + rhyoliteCrater = new Floor("rhyolite-crater"){{ + attributes.set(Attribute.water, -1f); + blendGroup = rhyolite; + }}; + + roughRhyolite = new Floor("rough-rhyolite"){{ + attributes.set(Attribute.water, -1f); + variants = 3; + }}; + + regolith = new Floor("regolith"){{ + attributes.set(Attribute.water, -1f); + }}; + + yellowStone = new Floor("yellow-stone"){{ + attributes.set(Attribute.water, -1f); + }}; + + carbonStone = new Floor("carbon-stone"){{ + attributes.set(Attribute.water, -1f); + variants = 4; + }}; + + ferricStone = new Floor("ferric-stone"){{ + attributes.set(Attribute.water, -1f); + }}; + + ferricCraters = new Floor("ferric-craters"){{ + variants = 3; + attributes.set(Attribute.water, -1f); + blendGroup = ferricStone; + }}; + + beryllicStone = new Floor("beryllic-stone"){{ + variants = 4; + }}; + + crystallineStone = new Floor("crystalline-stone"){{ + variants = 5; + }}; + + crystalFloor = new Floor("crystal-floor"){{ + variants = 4; + }}; + + yellowStonePlates = new Floor("yellow-stone-plates"){{ + variants = 3; + }}; + + redStone = new Floor("red-stone"){{ + attributes.set(Attribute.water, -1f); + variants = 4; + }}; + + denseRedStone = new Floor("dense-red-stone"){{ + attributes.set(Attribute.water, -1f); + variants = 4; + }}; + + redIce = new Floor("red-ice"){{ + dragMultiplier = 0.4f; + speedMultiplier = 0.9f; + attributes.set(Attribute.water, 0.4f); + }}; + + arkyciteFloor = new Floor("arkycite-floor"){{ + speedMultiplier = 0.3f; + variants = 0; + liquidDrop = Liquids.arkycite; + isLiquid = true; + //TODO no status for now + //status = StatusEffects.slow; + //statusDuration = 120f; + drownTime = 200f; + cacheLayer = CacheLayer.arkycite; + albedo = 0.9f; + }}; + + arkyicStone = new Floor("arkyic-stone"){{ + variants = 3; + }}; + + rhyoliteVent = new SteamVent("rhyolite-vent"){{ + parent = blendGroup = rhyolite; + attributes.set(Attribute.steam, 1f); + }}; + + carbonVent = new SteamVent("carbon-vent"){{ + parent = blendGroup = carbonStone; + attributes.set(Attribute.steam, 1f); + }}; + + arkyicVent = new SteamVent("arkyic-vent"){{ + parent = blendGroup = arkyicStone; + attributes.set(Attribute.steam, 1f); + }}; + + yellowStoneVent = new SteamVent("yellow-stone-vent"){{ + parent = blendGroup = yellowStone; + attributes.set(Attribute.steam, 1f); + }}; + + redStoneVent = new SteamVent("red-stone-vent"){{ + parent = blendGroup = denseRedStone; + attributes.set(Attribute.steam, 1f); + }}; + + crystallineVent = new SteamVent("crystalline-vent"){{ + parent = blendGroup = crystallineStone; + attributes.set(Attribute.steam, 1f); + }}; + + redmat = new Floor("redmat"); + bluemat = new Floor("bluemat"); + grass = new Floor("grass"){{ + //TODO grass needs a bush? classic had grass bushes. attributes.set(Attribute.water, 0.1f); }}; @@ -311,155 +518,290 @@ public class Blocks implements ContentList{ snow = new Floor("snow"){{ attributes.set(Attribute.water, 0.2f); + albedo = 0.7f; }}; ice = new Floor("ice"){{ dragMultiplier = 0.35f; speedMultiplier = 0.9f; attributes.set(Attribute.water, 0.4f); + albedo = 0.65f; }}; iceSnow = new Floor("ice-snow"){{ dragMultiplier = 0.6f; variants = 3; attributes.set(Attribute.water, 0.3f); + albedo = 0.6f; }}; shale = new Floor("shale"){{ variants = 3; - attributes.set(Attribute.oil, 1f); + attributes.set(Attribute.oil, 1.6f); + }}; + + moss = new Floor("moss"){{ + variants = 3; + attributes.set(Attribute.spores, 0.15f); + }}; + + coreZone = new Floor("core-zone"){{ + variants = 0; + allowCorePlacement = true; + }}; + + sporeMoss = new Floor("spore-moss"){{ + variants = 3; + attributes.set(Attribute.spores, 0.3f); }}; stoneWall = new StaticWall("stone-wall"){{ - variants = 2; + attributes.set(Attribute.sand, 1f); }}; sporeWall = new StaticWall("spore-wall"){{ - variants = 2; + taintedWater.asFloor().wall = deepTaintedWater.asFloor().wall = sporeMoss.asFloor().wall = this; }}; - dirtWall = new StaticWall("dirt-wall"){{ - variants = 2; - }}; + dirtWall = new StaticWall("dirt-wall"); - daciteWall = new StaticWall("dacite-wall"){{ - variants = 2; - }}; + daciteWall = new StaticWall("dacite-wall"); iceWall = new StaticWall("ice-wall"){{ - variants = 2; iceSnow.asFloor().wall = this; + albedo = 0.6f; }}; - snowWall = new StaticWall("snow-wall"){{ - variants = 2; - }}; + snowWall = new StaticWall("snow-wall"); duneWall = new StaticWall("dune-wall"){{ - variants = 2; - basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this; + hotrock.asFloor().wall = magmarock.asFloor().wall = basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this; + attributes.set(Attribute.sand, 2f); + }}; + + regolithWall = new StaticWall("regolith-wall"){{ + regolith.asFloor().wall = this; + attributes.set(Attribute.sand, 1f); + }}; + + yellowStoneWall = new StaticWall("yellow-stone-wall"){{ + yellowStone.asFloor().wall = slag.asFloor().wall = yellowStonePlates.asFloor().wall = this; + attributes.set(Attribute.sand, 1.5f); + }}; + + rhyoliteWall = new StaticWall("rhyolite-wall"){{ + rhyolite.asFloor().wall = rhyoliteCrater.asFloor().wall = roughRhyolite.asFloor().wall = this; + attributes.set(Attribute.sand, 1f); + }}; + + carbonWall = new StaticWall("carbon-wall"){{ + carbonStone.asFloor().wall = this; + attributes.set(Attribute.sand, 0.7f); + }}; + + ferricStoneWall = new StaticWall("ferric-stone-wall"){{ + ferricStone.asFloor().wall = this; + attributes.set(Attribute.sand, 0.5f); + }}; + + beryllicStoneWall = new StaticWall("beryllic-stone-wall"){{ + beryllicStone.asFloor().wall = this; + attributes.set(Attribute.sand, 1.2f); + }}; + + arkyicWall = new StaticWall("arkyic-wall"){{ + variants = 3; + arkyciteFloor.asFloor().wall = arkyicStone.asFloor().wall = this; + }}; + + crystallineStoneWall = new StaticWall("crystalline-stone-wall"){{ + variants = 4; + crystallineStone.asFloor().wall = crystalFloor.asFloor().wall = this; + }}; + + redIceWall = new StaticWall("red-ice-wall"){{ + redIce.asFloor().wall = this; + }}; + + redStoneWall = new StaticWall("red-stone-wall"){{ + redStone.asFloor().wall = denseRedStone.asFloor().wall = this; + attributes.set(Attribute.sand, 1.5f); + }}; + + redDiamondWall = new StaticTree("red-diamond-wall"){{ + variants = 3; }}; sandWall = new StaticWall("sand-wall"){{ - variants = 2; - sandWater.asFloor().wall = water.asFloor().wall = deepwater.asFloor().wall = this; + sandWater.asFloor().wall = water.asFloor().wall = deepwater.asFloor().wall = sand.asFloor().wall = this; + attributes.set(Attribute.sand, 2f); }}; saltWall = new StaticWall("salt-wall"); shrubs = new StaticWall("shrubs"); - shaleWall = new StaticWall("shale-wall"){{ - variants = 2; - }}; + shaleWall = new StaticWall("shale-wall"); sporePine = new StaticTree("spore-pine"){{ - variants = 0; + moss.asFloor().wall = this; }}; - snowPine = new StaticTree("snow-pine"){{ - variants = 0; - }}; + snowPine = new StaticTree("snow-pine"); - pine = new StaticTree("pine"){{ - variants = 0; - }}; + pine = new StaticTree("pine"); whiteTreeDead = new TreeBlock("white-tree-dead"); whiteTree = new TreeBlock("white-tree"); - sporeCluster = new Boulder("spore-cluster"){{ + sporeCluster = new Prop("spore-cluster"){{ variants = 3; + breakSound = Sounds.plantBreak; }}; - boulder = new Boulder("boulder"){{ + redweed = new Seaweed("redweed"){{ + variants = 3; + redmat.asFloor().decoration = this; + }}; + + purbush = new SeaBush("pur-bush"){{ + bluemat.asFloor().decoration = this; + }}; + + yellowCoral = new SeaBush("yellowcoral"){{ + lobesMin = 2; + lobesMax = 3; + magMax = 8f; + magMin = 2f; + origin = 0.3f; + spread = 40f; + sclMin = 60f; + sclMax = 100f; + }}; + + boulder = new Prop("boulder"){{ variants = 2; + stone.asFloor().decoration = craters.asFloor().decoration = charr.asFloor().decoration = this; }}; - snowBoulder = new Boulder("snow-boulder"){{ + snowBoulder = new Prop("snow-boulder"){{ variants = 2; snow.asFloor().decoration = ice.asFloor().decoration = iceSnow.asFloor().decoration = salt.asFloor().decoration = this; }}; - shaleBoulder = new Boulder("shale-boulder"){{ + shaleBoulder = new Prop("shale-boulder"){{ variants = 2; + shale.asFloor().decoration = this; }}; - sandBoulder = new Boulder("sand-boulder"){{ + sandBoulder = new Prop("sand-boulder"){{ variants = 2; + sand.asFloor().decoration = this; }}; - daciteBoulder = new Boulder("dacite-boulder"){{ + daciteBoulder = new Prop("dacite-boulder"){{ variants = 2; + dacite.asFloor().decoration = this; }}; - basaltBoulder = new Boulder("basalt-boulder"){{ + basaltBoulder = new Prop("basalt-boulder"){{ variants = 2; + basalt.asFloor().decoration = hotrock.asFloor().decoration = darksand.asFloor().decoration = magmarock.asFloor().decoration = this; }}; - moss = new Floor("moss"){{ + carbonBoulder = new Prop("carbon-boulder"){{ + variants = 2; + carbonStone.asFloor().decoration = this; + }}; + + ferricBoulder = new Prop("ferric-boulder"){{ + variants = 2; + ferricStone.asFloor().decoration = ferricCraters.asFloor().decoration = this; + }}; + + beryllicBoulder = new Prop("beryllic-boulder"){{ + variants = 2; + beryllicStone.asFloor().decoration = this; + }}; + + yellowStoneBoulder = new Prop("yellow-stone-boulder"){{ + variants = 2; + yellowStone.asFloor().decoration = regolith.asFloor().decoration = yellowStonePlates.asFloor().decoration = this; + }}; + + //1px outline + 4.50 gaussian shadow in gimp + arkyicBoulder = new Prop("arkyic-boulder"){{ variants = 3; - attributes.set(Attribute.spores, 0.15f); - wall = sporePine; + customShadow = true; + arkyicStone.asFloor().decoration = this; }}; - sporeMoss = new Floor("spore-moss"){{ + crystalCluster = new TallBlock("crystal-cluster"){{ variants = 3; - attributes.set(Attribute.spores, 0.3f); - wall = sporeWall; + clipSize = 128f; }}; - metalFloor = new Floor("metal-floor"){{ - variants = 0; - }}; - - metalFloorDamaged = new Floor("metal-floor-damaged"){{ + vibrantCrystalCluster = new TallBlock("vibrant-crystal-cluster"){{ variants = 3; + clipSize = 128f; }}; - metalFloor2 = new Floor("metal-floor-2"){{ - variants = 0; + crystalBlocks = new TallBlock("crystal-blocks"){{ + variants = 3; + clipSize = 128f; + shadowAlpha = 0.5f; + shadowOffset = -2.5f; }}; - metalFloor3 = new Floor("metal-floor-3"){{ - variants = 0; + crystalOrbs = new TallBlock("crystal-orbs"){{ + variants = 3; + clipSize = 128f; + shadowAlpha = 0.5f; + shadowOffset = -2.5f; }}; - metalFloor5 = new Floor("metal-floor-5"){{ - variants = 0; + crystallineBoulder = new Prop("crystalline-boulder"){{ + variants = 2; + crystallineStone.asFloor().decoration = this; }}; - darkPanel1 = new Floor("dark-panel-1"){{ variants = 0; }}; - darkPanel2 = new Floor("dark-panel-2"){{ variants = 0; }}; - darkPanel3 = new Floor("dark-panel-3"){{ variants = 0; }}; - darkPanel4 = new Floor("dark-panel-4"){{ variants = 0; }}; - darkPanel5 = new Floor("dark-panel-5"){{ variants = 0; }}; - darkPanel6 = new Floor("dark-panel-6"){{ variants = 0; }}; + redIceBoulder = new Prop("red-ice-boulder"){{ + variants = 3; + redIce.asFloor().decoration = this; + }}; + + rhyoliteBoulder = new Prop("rhyolite-boulder"){{ + variants = 3; + rhyolite.asFloor().decoration = roughRhyolite.asFloor().decoration = this; + }}; + + redStoneBoulder = new Prop("red-stone-boulder"){{ + variants = 4; + denseRedStone.asFloor().decoration = redStone.asFloor().decoration = this; + }}; + + metalFloor = new Floor("metal-floor", 0); + metalFloorDamaged = new Floor("metal-floor-damaged", 3); + + metalFloor2 = new Floor("metal-floor-2", 0); + metalFloor3 = new Floor("metal-floor-3", 0); + metalFloor4 = new Floor("metal-floor-4", 0); + metalFloor5 = new Floor("metal-floor-5", 0); + + darkPanel1 = new Floor("dark-panel-1", 0); + darkPanel2 = new Floor("dark-panel-2", 0); + darkPanel3 = new Floor("dark-panel-3", 0); + darkPanel4 = new Floor("dark-panel-4", 0); + darkPanel5 = new Floor("dark-panel-5", 0); + darkPanel6 = new Floor("dark-panel-6", 0); darkMetal = new StaticWall("dark-metal"); - pebbles = new DoubleOverlayFloor("pebbles"); + Seq.with(metalFloor, metalFloorDamaged, metalFloor2, metalFloor3, metalFloor4, metalFloor5, darkPanel1, darkPanel2, darkPanel3, darkPanel4, darkPanel5, darkPanel6) + .each(b -> b.asFloor().wall = darkMetal); + + pebbles = new OverlayFloor("pebbles"); tendrils = new OverlayFloor("tendrils"); @@ -498,6 +840,30 @@ public class Blocks implements ContentList{ oreScale = 25.380953f; }}; + oreBeryllium = new OreBlock(Items.beryllium); + + oreTungsten = new OreBlock(Items.tungsten); + + oreCrystalThorium = new OreBlock("ore-crystal-thorium", Items.thorium); + + wallOreThorium = new OreBlock("ore-wall-thorium", Items.thorium){{ + wallOre = true; + }}; + + wallOreBeryllium = new OreBlock("ore-wall-beryllium", Items.beryllium){{ + wallOre = true; + }}; + + graphiticWall = new StaticWall("graphitic-wall"){{ + itemDrop = Items.graphite; + variants = 3; + }}; + + //TODO merge with standard ore? + wallOreTungsten = new OreBlock("ore-wall-tungsten", Items.tungsten){{ + wallOre = true; + }}; + //endregion //region crafting @@ -510,7 +876,7 @@ public class Blocks implements ContentList{ size = 2; hasItems = true; - consumes.item(Items.coal, 2); + consumeItem(Items.coal, 2); }}; multiPress = new GenericCrafter("multi-press"){{ @@ -519,17 +885,18 @@ public class Blocks implements ContentList{ craftEffect = Fx.pulverizeMedium; outputItem = new ItemStack(Items.graphite, 2); craftTime = 30f; + itemCapacity = 20; size = 3; hasItems = true; hasLiquids = true; hasPower = true; - consumes.power(1.8f); - consumes.item(Items.coal, 3); - consumes.liquid(Liquids.water, 0.1f); + consumePower(1.8f); + consumeItem(Items.coal, 3); + consumeLiquid(Liquids.water, 0.1f); }}; - siliconSmelter = new GenericSmelter("silicon-smelter"){{ + siliconSmelter = new GenericCrafter("silicon-smelter"){{ requirements(Category.crafting, with(Items.copper, 30, Items.lead, 25)); craftEffect = Fx.smeltsmoke; outputItem = new ItemStack(Items.silicon, 1); @@ -537,13 +904,15 @@ public class Blocks implements ContentList{ size = 2; hasPower = true; hasLiquids = false; - flameColor = Color.valueOf("ffef99"); + drawer = new DrawMulti(new DrawDefault(), new DrawFlame(Color.valueOf("ffef99"))); + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.07f; - consumes.items(with(Items.coal, 1, Items.sand, 2)); - consumes.power(0.50f); + consumeItems(with(Items.coal, 1, Items.sand, 2)); + consumePower(0.50f); }}; - siliconCrucible = new AttributeSmelter("silicon-crucible"){{ + siliconCrucible = new AttributeCrafter("silicon-crucible"){{ requirements(Category.crafting, with(Items.titanium, 120, Items.metaglass, 80, Items.plastanium, 35, Items.silicon, 60)); craftEffect = Fx.smeltsmoke; outputItem = new ItemStack(Items.silicon, 8); @@ -551,25 +920,29 @@ public class Blocks implements ContentList{ size = 3; hasPower = true; hasLiquids = false; - flameColor = Color.valueOf("ffef99"); itemCapacity = 30; boostScale = 0.15f; + drawer = new DrawMulti(new DrawDefault(), new DrawFlame(Color.valueOf("ffef99"))); + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.07f; - consumes.items(with(Items.coal, 4, Items.sand, 6, Items.pyratite, 1)); - consumes.power(4f); + consumeItems(with(Items.coal, 4, Items.sand, 6, Items.pyratite, 1)); + consumePower(4f); }}; - kiln = new GenericSmelter("kiln"){{ + kiln = new GenericCrafter("kiln"){{ requirements(Category.crafting, with(Items.copper, 60, Items.graphite, 30, Items.lead, 30)); craftEffect = Fx.smeltsmoke; outputItem = new ItemStack(Items.metaglass, 1); craftTime = 30f; size = 2; hasPower = hasItems = true; - flameColor = Color.valueOf("ffc099"); + drawer = new DrawMulti(new DrawDefault(), new DrawFlame(Color.valueOf("ffc099"))); + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.07f; - consumes.items(with(Items.lead, 1, Items.sand, 1)); - consumes.power(0.60f); + consumeItems(with(Items.lead, 1, Items.sand, 1)); + consumePower(0.60f); }}; plastaniumCompressor = new GenericCrafter("plastanium-compressor"){{ @@ -583,11 +956,11 @@ public class Blocks implements ContentList{ hasPower = hasLiquids = true; craftEffect = Fx.formsmoke; updateEffect = Fx.plasticburn; - drawer = new DrawGlow(); + drawer = new DrawMulti(new DrawDefault(), new DrawFade()); - consumes.liquid(Liquids.oil, 0.25f); - consumes.power(3f); - consumes.item(Items.titanium, 2); + consumeLiquid(Liquids.oil, 0.25f); + consumePower(3f); + consumeItem(Items.titanium, 2); }}; phaseWeaver = new GenericCrafter("phase-weaver"){{ @@ -597,17 +970,18 @@ public class Blocks implements ContentList{ craftTime = 120f; size = 2; hasPower = true; - drawer = new DrawWeave(); + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawWeave(), new DrawDefault()); + envEnabled |= Env.space; ambientSound = Sounds.techloop; ambientSoundVolume = 0.02f; - consumes.items(with(Items.thorium, 4, Items.sand, 10)); - consumes.power(5f); - itemCapacity = 20; + consumeItems(with(Items.thorium, 4, Items.sand, 10)); + consumePower(5f); + itemCapacity = 30; }}; - surgeSmelter = new GenericSmelter("alloy-smelter"){{ + surgeSmelter = new GenericCrafter("surge-smelter"){{ requirements(Category.crafting, with(Items.silicon, 80, Items.lead, 80, Items.thorium, 70)); craftEffect = Fx.smeltsmoke; outputItem = new ItemStack(Items.surgeAlloy, 1); @@ -615,15 +989,15 @@ public class Blocks implements ContentList{ size = 3; hasPower = true; itemCapacity = 20; + drawer = new DrawMulti(new DrawDefault(), new DrawFlame()); - consumes.power(4f); - consumes.items(with(Items.copper, 3, Items.lead, 4, Items.titanium, 2, Items.silicon, 3)); + consumePower(4f); + consumeItems(with(Items.copper, 3, Items.lead, 4, Items.titanium, 2, Items.silicon, 3)); }}; - cryofluidMixer = new LiquidConverter("cryofluid-mixer"){{ + cryofluidMixer = new GenericCrafter("cryofluid-mixer"){{ requirements(Category.crafting, with(Items.lead, 65, Items.silicon, 40, Items.titanium, 60)); - outputLiquid = new LiquidStack(Liquids.cryofluid, 0.2f); - craftTime = 120f; + outputLiquid = new LiquidStack(Liquids.cryofluid, 12f / 60f); size = 2; hasPower = true; hasItems = true; @@ -631,24 +1005,28 @@ public class Blocks implements ContentList{ rotate = false; solid = true; outputsLiquid = true; - drawer = new DrawMixer(); + envEnabled = Env.any; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.water), new DrawLiquidTile(Liquids.cryofluid){{drawLiquidLight = true;}}, new DrawDefault()); + liquidCapacity = 36f; + craftTime = 120; + lightLiquid = Liquids.cryofluid; - consumes.power(1f); - consumes.item(Items.titanium); - consumes.liquid(Liquids.water, 0.2f); + consumePower(1f); + consumeItem(Items.titanium); + consumeLiquid(Liquids.water, 12f / 60f); }}; - pyratiteMixer = new GenericSmelter("pyratite-mixer"){{ + pyratiteMixer = new GenericCrafter("pyratite-mixer"){{ requirements(Category.crafting, with(Items.copper, 50, Items.lead, 25)); - flameColor = Color.clear; hasItems = true; hasPower = true; outputItem = new ItemStack(Items.pyratite, 1); + envEnabled |= Env.space; size = 2; - consumes.power(0.20f); - consumes.items(with(Items.coal, 1, Items.lead, 2, Items.sand, 2)); + consumePower(0.20f); + consumeItems(with(Items.coal, 1, Items.lead, 2, Items.sand, 2)); }}; blastMixer = new GenericCrafter("blast-mixer"){{ @@ -657,70 +1035,85 @@ public class Blocks implements ContentList{ hasPower = true; outputItem = new ItemStack(Items.blastCompound, 1); size = 2; + envEnabled |= Env.space; - consumes.items(with(Items.pyratite, 1, Items.sporePod, 1)); - consumes.power(0.40f); + consumeItems(with(Items.pyratite, 1, Items.sporePod, 1)); + consumePower(0.40f); }}; melter = new GenericCrafter("melter"){{ requirements(Category.crafting, with(Items.copper, 30, Items.lead, 35, Items.graphite, 45)); health = 200; - outputLiquid = new LiquidStack(Liquids.slag, 2f); + outputLiquid = new LiquidStack(Liquids.slag, 12f / 60f); + craftTime = 10f; hasLiquids = hasPower = true; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(), new DrawDefault()); - consumes.power(1f); - consumes.item(Items.scrap, 1); + consumePower(1f); + consumeItem(Items.scrap, 1); }}; separator = new Separator("separator"){{ requirements(Category.crafting, with(Items.copper, 30, Items.titanium, 25)); results = with( - Items.copper, 5, - Items.lead, 3, - Items.graphite, 2, - Items.titanium, 2 + Items.copper, 5, + Items.lead, 3, + Items.graphite, 2, + Items.titanium, 2 ); hasPower = true; craftTime = 35f; size = 2; - consumes.power(1f); - consumes.liquid(Liquids.slag, 0.07f); + consumePower(1.1f); + consumeLiquid(Liquids.slag, 4f / 60f); + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(), new DrawRegion("-spinner", 3, true), new DrawDefault()); }}; disassembler = new Separator("disassembler"){{ - requirements(Category.crafting, with(Items.graphite, 140, Items.titanium, 100, Items.silicon, 150, Items.surgeAlloy, 70)); + requirements(Category.crafting, with(Items.plastanium, 40, Items.titanium, 100, Items.silicon, 150, Items.thorium, 80)); results = with( - Items.sand, 4, - Items.graphite, 2, - Items.titanium, 2, - Items.thorium, 1 + Items.sand, 2, + Items.graphite, 1, + Items.titanium, 1, + Items.thorium, 1 ); hasPower = true; craftTime = 15f; size = 3; itemCapacity = 20; - consumes.power(4f); - consumes.item(Items.scrap); - consumes.liquid(Liquids.slag, 0.12f); + consumePower(4f); + consumeItem(Items.scrap); + consumeLiquid(Liquids.slag, 0.12f); + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(), new DrawRegion("-spinner", 3, true), new DrawDefault()); }}; sporePress = new GenericCrafter("spore-press"){{ requirements(Category.crafting, with(Items.lead, 35, Items.silicon, 30)); liquidCapacity = 60f; craftTime = 20f; - outputLiquid = new LiquidStack(Liquids.oil, 6f); + outputLiquid = new LiquidStack(Liquids.oil, 18f / 60f); size = 2; health = 320; hasLiquids = true; hasPower = true; craftEffect = Fx.none; - drawer = new DrawAnimation(); + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawPistons(){{ + sinMag = 1f; + }}, + new DrawDefault(), + new DrawLiquidRegion(), + new DrawRegion("-top") + ); - consumes.item(Items.sporePod, 1); - consumes.power(0.7f); + consumeItem(Items.sporePod, 1); + consumePower(0.7f); }}; pulverizer = new GenericCrafter("pulverizer"){{ @@ -730,30 +1123,399 @@ public class Blocks implements ContentList{ craftTime = 40f; updateEffect = Fx.pulverizeSmall; hasItems = hasPower = true; - drawer = new DrawRotator(); + drawer = new DrawMulti(new DrawDefault(), new DrawRegion("-rotator"){{ + spinSprite = true; + rotateSpeed = 2f; + }}, new DrawRegion("-top")); ambientSound = Sounds.grinding; ambientSoundVolume = 0.025f; - consumes.item(Items.scrap, 1); - consumes.power(0.50f); + consumeItem(Items.scrap, 1); + consumePower(0.50f); }}; coalCentrifuge = new GenericCrafter("coal-centrifuge"){{ requirements(Category.crafting, with(Items.titanium, 20, Items.graphite, 40, Items.lead, 30)); - craftEffect = Fx.smeltsmoke; + craftEffect = Fx.coalSmeltsmoke; outputItem = new ItemStack(Items.coal, 1); craftTime = 30f; size = 2; hasPower = hasItems = hasLiquids = true; + rotateDraw = false; - consumes.liquid(Liquids.oil, 0.1f); - consumes.power(0.7f); + consumeLiquid(Liquids.oil, 0.1f); + consumePower(0.7f); }}; incinerator = new Incinerator("incinerator"){{ requirements(Category.crafting, with(Items.graphite, 5, Items.lead, 15)); health = 90; - consumes.power(0.50f); + envEnabled |= Env.space; + consumePower(0.50f); + }}; + + //erekir + + siliconArcFurnace = new GenericCrafter("silicon-arc-furnace"){{ + requirements(Category.crafting, with(Items.beryllium, 70, Items.graphite, 80)); + craftEffect = Fx.none; + outputItem = new ItemStack(Items.silicon, 4); + craftTime = 50f; + size = 3; + hasPower = true; + hasLiquids = false; + envEnabled |= Env.space | Env.underwater; + envDisabled = Env.none; + itemCapacity = 30; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawArcSmelt(), new DrawDefault()); + fogRadius = 3; + researchCost = with(Items.beryllium, 150, Items.graphite, 50); + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.12f; + + consumeItems(with(Items.graphite, 1, Items.sand, 4)); + consumePower(6f); + }}; + + electrolyzer = new GenericCrafter("electrolyzer"){{ + requirements(Category.crafting, with(Items.silicon, 50, Items.graphite, 40, Items.beryllium, 130, Items.tungsten, 80)); + size = 3; + + researchCostMultiplier = 1.2f; + craftTime = 10f; + rotate = true; + invertFlip = true; + group = BlockGroup.liquids; + itemCapacity = 0; + + liquidCapacity = 50f; + + consumeLiquid(Liquids.water, 10f / 60f); + consumePower(1f); + + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawLiquidTile(Liquids.water, 2f), + new DrawBubbles(Color.valueOf("7693e3")){{ + sides = 10; + recurrence = 3f; + spread = 6; + radius = 1.5f; + amount = 20; + }}, + new DrawRegion(), + new DrawLiquidOutputs(), + new DrawGlowRegion(){{ + alpha = 0.7f; + color = Color.valueOf("c4bdf3"); + glowIntensity = 0.3f; + glowScale = 6f; + }} + ); + + ambientSound = Sounds.electricHum; + ambientSoundVolume = 0.08f; + + regionRotated1 = 3; + outputLiquids = LiquidStack.with(Liquids.ozone, 4f / 60, Liquids.hydrogen, 6f / 60); + liquidOutputDirections = new int[]{1, 3}; + }}; + + atmosphericConcentrator = new HeatCrafter("atmospheric-concentrator"){{ + requirements(Category.crafting, with(Items.oxide, 60, Items.beryllium, 180, Items.silicon, 150)); + size = 3; + hasLiquids = true; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.nitrogen, 4.1f), new DrawDefault(), new DrawHeatInput(), + new DrawParticles(){{ + color = Color.valueOf("d4f0ff"); + alpha = 0.6f; + particleSize = 4f; + particles = 10; + particleRad = 12f; + particleLife = 140f; + }}); + + researchCostMultiplier = 1.1f; + itemCapacity = 0; + liquidCapacity = 60f; + consumePower(2f); + ambientSound = Sounds.extractLoop; + ambientSoundVolume = 0.06f; + + heatRequirement = 6f; + + outputLiquid = new LiquidStack(Liquids.nitrogen, 4f / 60f); + + researchCost = with(Items.silicon, 2000, Items.oxide, 900, Items.beryllium, 2400); + }}; + + oxidationChamber = new HeatProducer("oxidation-chamber"){{ + requirements(Category.crafting, with(Items.tungsten, 120, Items.graphite, 80, Items.silicon, 100, Items.beryllium, 120)); + size = 3; + + outputItem = new ItemStack(Items.oxide, 1); + researchCostMultiplier = 1.1f; + + consumeLiquid(Liquids.ozone, 2f / 60f); + consumeItem(Items.beryllium); + consumePower(0.5f); + + rotateDraw = false; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidRegion(), new DrawDefault(), new DrawHeatOutput()); + ambientSound = Sounds.extractLoop; + ambientSoundVolume = 0.08f; + + regionRotated1 = 2; + craftTime = 60f * 2f; + liquidCapacity = 30f; + heatOutput = 5f; + }}; + + electricHeater = new HeatProducer("electric-heater"){{ + requirements(Category.crafting, with(Items.tungsten, 30, Items.oxide, 30, Items.beryllium, 30)); + + researchCostMultiplier = 4f; + + drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput()); + rotateDraw = false; + size = 2; + heatOutput = 3f; + regionRotated1 = 1; + ambientSound = Sounds.hum; + itemCapacity = 0; + consumePower(100f / 60f); + }}; + + slagHeater = new HeatProducer("slag-heater"){{ + requirements(Category.crafting, with(Items.tungsten, 50, Items.oxide, 20, Items.beryllium, 20)); + + researchCostMultiplier = 4f; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.slag), new DrawDefault(), new DrawHeatOutput()); + size = 3; + itemCapacity = 0; + liquidCapacity = 120f; + rotateDraw = false; + regionRotated1 = 1; + ambientSound = Sounds.hum; + consumeLiquid(Liquids.slag, 40f / 60f); + heatOutput = 8f; + + researchCost = with(Items.tungsten, 1200, Items.oxide, 900, Items.beryllium, 2400); + }}; + + phaseHeater = new HeatProducer("phase-heater"){{ + requirements(Category.crafting, with(Items.oxide, 30, Items.carbide, 30, Items.beryllium, 30)); + + drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput()); + size = 2; + heatOutput = 15f; + craftTime = 60f * 8f; + ambientSound = Sounds.hum; + consumeItem(Items.phaseFabric); + }}; + + heatRedirector = new HeatConductor("heat-redirector"){{ + requirements(Category.crafting, with(Items.tungsten, 10, Items.graphite, 10)); + + researchCostMultiplier = 10f; + + group = BlockGroup.heat; + size = 3; + drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(), new DrawHeatInput("-heat")); + regionRotated1 = 1; + }}; + + smallHeatRedirector = new HeatConductor("small-heat-redirector"){{ + requirements(Category.crafting, with(Items.surgeAlloy, 10, Items.graphite, 10)); + + researchCostMultiplier = 10f; + + group = BlockGroup.heat; + size = 2; + drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(), new DrawHeatInput("-heat")); + regionRotated1 = 1; + }}; + + heatRouter = new HeatConductor("heat-router"){{ + requirements(Category.crafting, with(Items.tungsten, 15, Items.graphite, 10)); + + researchCostMultiplier = 10f; + + group = BlockGroup.heat; + size = 3; + drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput(-1, false), new DrawHeatOutput(), new DrawHeatOutput(1, false), new DrawHeatInput("-heat")); + regionRotated1 = 1; + splitHeat = true; + }}; + + slagIncinerator = new ItemIncinerator("slag-incinerator"){{ + requirements(Category.crafting, with(Items.tungsten, 15)); + size = 1; + consumeLiquid(Liquids.slag, 0f); + }}; + + carbideCrucible = new HeatCrafter("carbide-crucible"){{ + requirements(Category.crafting, with(Items.tungsten, 110, Items.thorium, 150, Items.oxide, 60)); + craftEffect = Fx.none; + outputItem = new ItemStack(Items.carbide, 1); + craftTime = 60f * 2.25f; + size = 3; + itemCapacity = 20; + hasPower = hasItems = true; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawCrucibleFlame(), new DrawDefault(), new DrawHeatInput()); + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.09f; + + heatRequirement = 10f; + + consumeItems(with(Items.tungsten, 2, Items.graphite, 3)); + consumePower(2f); + }}; + + slagCentrifuge = new GenericCrafter("slag-centrifuge"){{ + requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.carbide, 70, Items.graphite, 60, Items.silicon, 40, Items.oxide, 40)); + + consumePower(2f / 60f); + + size = 3; + consumeItem(Items.sand, 1); + consumeLiquid(Liquids.slag, 40f / 60f); + liquidCapacity = 80f; + + var drawers = Seq.with(new DrawRegion("-bottom"), new DrawLiquidRegion(Liquids.slag){{ alpha = 0.7f; }}); + + for(int i = 0; i < 5; i++){ + int fi = i; + drawers.add(new DrawGlowRegion(-1f){{ + glowIntensity = 0.3f; + rotateSpeed = 3f / (1f + fi/1.4f); + alpha = 0.4f; + color = new Color(1f, 0.5f, 0.5f, 1f); + }}); + } + + drawer = new DrawMulti(drawers.add(new DrawDefault())); + + craftTime = 60f * 2f; + + outputLiquid = new LiquidStack(Liquids.gallium, 1f / 60f); + //TODO something else? + //outputItem = new ItemStack(Items.scrap, 1); + }}; + + surgeCrucible = new HeatCrafter("surge-crucible"){{ + requirements(Category.crafting, with(Items.silicon, 100, Items.graphite, 80, Items.tungsten, 80, Items.oxide, 80)); + + size = 3; + + itemCapacity = 20; + heatRequirement = 10f; + craftTime = 60f * 3f; + liquidCapacity = 80f * 5; + + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.9f; + + outputItem = new ItemStack(Items.surgeAlloy, 1); + + craftEffect = new RadialEffect(Fx.surgeCruciSmoke, 4, 90f, 5f); + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawCircles(){{ + color = Color.valueOf("ffc073").a(0.24f); + strokeMax = 2.5f; + radius = 10f; + amount = 3; + }}, new DrawLiquidRegion(Liquids.slag), new DrawDefault(), new DrawHeatInput(), + new DrawHeatRegion(){{ + color = Color.valueOf("ff6060ff"); + }}, + new DrawHeatRegion("-vents"){{ + color.a = 1f; + }}); + + consumeItem(Items.silicon, 3); + consumeLiquid(Liquids.slag, 40f / 60f); + consumePower(2f); + }}; + + cyanogenSynthesizer = new HeatCrafter("cyanogen-synthesizer"){{ + requirements(Category.crafting, with(Items.carbide, 50, Items.silicon, 80, Items.beryllium, 90)); + + heatRequirement = 5f; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.cyanogen), + new DrawParticles(){{ + color = Color.valueOf("89e8b6"); + alpha = 0.5f; + particleSize = 3f; + particles = 10; + particleRad = 9f; + particleLife = 200f; + reverse = true; + particleSizeInterp = Interp.one; + }}, new DrawDefault(), new DrawHeatInput(), new DrawHeatRegion("-heat-top")); + + size = 3; + + ambientSound = Sounds.extractLoop; + ambientSoundVolume = 0.08f; + + liquidCapacity = 80f; + outputLiquid = new LiquidStack(Liquids.cyanogen, 3f / 60f); + + consumeLiquid(Liquids.arkycite, 40f / 60f); + consumeItem(Items.graphite); + consumePower(2f); + }}; + + phaseSynthesizer = new HeatCrafter("phase-synthesizer"){{ + requirements(Category.crafting, with(Items.carbide, 90, Items.silicon, 100, Items.thorium, 100, Items.tungsten, 200)); + + size = 3; + + itemCapacity = 40; + heatRequirement = 8f; + craftTime = 60f * 2f; + liquidCapacity = 10f * 4; + + ambientSound = Sounds.techloop; + ambientSoundVolume = 0.04f; + + outputItem = new ItemStack(Items.phaseFabric, 1); + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawSpikes(){{ + color = Color.valueOf("ffd59e"); + stroke = 1.5f; + layers = 2; + amount = 12; + rotateSpeed = 0.5f; + layerSpeed = -0.9f; + }}, new DrawMultiWeave(){{ + glowColor = new Color(1f, 0.4f, 0.4f, 0.8f); + }}, new DrawDefault(), new DrawHeatInput(), new DrawHeatRegion("-vents"){{ + color = new Color(1f, 0.4f, 0.3f, 1f); + }}); + + consumeItems(with(Items.thorium, 2, Items.sand, 6)); + consumeLiquid(Liquids.ozone, 2f / 60f); + consumePower(8f); + }}; + + heatReactor = new HeatProducer("heat-reactor"){{ + requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.oxide, 70, Items.graphite, 20, Items.carbide, 10, Items.thorium, 80)); + size = 3; + craftTime = 60f * 10f; + + craftEffect = new RadialEffect(Fx.heatReactorSmoke, 4, 90f, 7f); + + itemCapacity = 20; + outputItem = new ItemStack(Items.fissileMatter, 1); + + consumeItem(Items.thorium, 3); + consumeLiquid(Liquids.nitrogen, 1f / 60f); }}; //endregion @@ -764,6 +1526,7 @@ public class Blocks implements ContentList{ copperWall = new Wall("copper-wall"){{ requirements(Category.defense, with(Items.copper, 6)); health = 80 * wallHealthMultiplier; + researchCostMultiplier = 0.1f; }}; copperWallLarge = new Wall("copper-wall-large"){{ @@ -785,17 +1548,19 @@ public class Blocks implements ContentList{ plastaniumWall = new Wall("plastanium-wall"){{ requirements(Category.defense, with(Items.plastanium, 5, Items.metaglass, 2)); - health = 130 * wallHealthMultiplier; + health = 125 * wallHealthMultiplier; insulated = true; absorbLasers = true; + schematicPriority = 10; }}; plastaniumWallLarge = new Wall("plastanium-wall-large"){{ requirements(Category.defense, ItemStack.mult(plastaniumWall.requirements, 4)); - health = 130 * wallHealthMultiplier * 4; + health = 125 * wallHealthMultiplier * 4; size = 2; insulated = true; absorbLasers = true; + schematicPriority = 10; }}; thoriumWall = new Wall("thorium-wall"){{ @@ -851,39 +1616,129 @@ public class Blocks implements ContentList{ }}; scrapWall = new Wall("scrap-wall"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, with(Items.scrap, 6)); + requirements(Category.defense, with(Items.scrap, 6)); health = 60 * wallHealthMultiplier; variants = 5; + buildCostMultiplier = 4f; }}; scrapWallLarge = new Wall("scrap-wall-large"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.mult(scrapWall.requirements, 4)); + requirements(Category.defense, ItemStack.mult(scrapWall.requirements, 4)); health = 60 * 4 * wallHealthMultiplier; size = 2; variants = 4; + buildCostMultiplier = 4f; }}; scrapWallHuge = new Wall("scrap-wall-huge"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.mult(scrapWall.requirements, 9)); + requirements(Category.defense, ItemStack.mult(scrapWall.requirements, 9)); health = 60 * 9 * wallHealthMultiplier; size = 3; variants = 3; + buildCostMultiplier = 4f; }}; scrapWallGigantic = new Wall("scrap-wall-gigantic"){{ - requirements(Category.defense, BuildVisibility.sandboxOnly, ItemStack.mult(scrapWall.requirements, 16)); + requirements(Category.defense, ItemStack.mult(scrapWall.requirements, 16)); health = 60 * 16 * wallHealthMultiplier; size = 4; + buildCostMultiplier = 4f; }}; thruster = new Thruster("thruster"){{ + requirements(Category.defense, BuildVisibility.sandboxOnly, with(Items.scrap, 96)); health = 55 * 16 * wallHealthMultiplier; size = 4; }}; + berylliumWall = new Wall("beryllium-wall"){{ + requirements(Category.defense, with(Items.beryllium, 6)); + health = 130 * wallHealthMultiplier; + armor = 2f; + buildCostMultiplier = 8f; + }}; + + berylliumWallLarge = new Wall("beryllium-wall-large"){{ + requirements(Category.defense, ItemStack.mult(berylliumWall.requirements, 4)); + health = 130 * wallHealthMultiplier * 4; + armor = 2f; + buildCostMultiplier = 5f; + size = 2; + }}; + + tungstenWall = new Wall("tungsten-wall"){{ + requirements(Category.defense, with(Items.tungsten, 6)); + health = 180 * wallHealthMultiplier; + armor = 14f; + buildCostMultiplier = 8f; + }}; + + tungstenWallLarge = new Wall("tungsten-wall-large"){{ + requirements(Category.defense, ItemStack.mult(tungstenWall.requirements, 4)); + health = 180 * wallHealthMultiplier * 4; + armor = 14f; + buildCostMultiplier = 5f; + size = 2; + }}; + + blastDoor = new AutoDoor("blast-door"){{ + requirements(Category.defense, with(Items.tungsten, 24, Items.silicon, 24)); + health = 175 * wallHealthMultiplier * 4; + armor = 14f; + size = 2; + }}; + + reinforcedSurgeWall = new Wall("reinforced-surge-wall"){{ + requirements(Category.defense, with(Items.surgeAlloy, 6, Items.tungsten, 2)); + health = 250 * wallHealthMultiplier; + lightningChance = 0.05f; + lightningDamage = 30f; + armor = 20f; + researchCost = with(Items.surgeAlloy, 20, Items.tungsten, 100); + }}; + + reinforcedSurgeWallLarge = new Wall("reinforced-surge-wall-large"){{ + requirements(Category.defense, ItemStack.mult(reinforcedSurgeWall.requirements, 4)); + health = 250 * wallHealthMultiplier * 4; + lightningChance = 0.05f; + lightningDamage = 30f; + armor = 20f; + size = 2; + researchCost = with(Items.surgeAlloy, 40, Items.tungsten, 200); + }}; + + carbideWall = new Wall("carbide-wall"){{ + requirements(Category.defense, with(Items.thorium, 6, Items.carbide, 6)); + health = 270 * wallHealthMultiplier; + armor = 16f; + }}; + + carbideWallLarge = new Wall("carbide-wall-large"){{ + requirements(Category.defense, ItemStack.mult(carbideWall.requirements, 4)); + health = 270 * wallHealthMultiplier * 4; + armor = 16f; + size = 2; + }}; + + shieldedWall = new ShieldWall("shielded-wall"){{ + requirements(Category.defense, ItemStack.with(Items.phaseFabric, 20, Items.surgeAlloy, 12, Items.beryllium, 12)); + consumePower(3f / 60f); + + outputsPower = false; + hasPower = true; + consumesPower = true; + conductivePower = true; + + chanceDeflect = 8f; + + health = 260 * wallHealthMultiplier * 4; + armor = 15f; + size = 2; + }}; + mender = new MendProjector("mender"){{ requirements(Category.effect, with(Items.lead, 30, Items.copper, 25)); - consumes.power(0.3f); + consumePower(0.3f); size = 1; reload = 200f; range = 40f; @@ -891,37 +1746,37 @@ public class Blocks implements ContentList{ phaseBoost = 4f; phaseRangeBoost = 20f; health = 80; - consumes.item(Items.silicon).boost(); + consumeItem(Items.silicon).boost(); }}; mendProjector = new MendProjector("mend-projector"){{ - requirements(Category.effect, with(Items.lead, 100, Items.titanium, 25, Items.silicon, 40)); - consumes.power(1.5f); + requirements(Category.effect, with(Items.lead, 100, Items.titanium, 25, Items.silicon, 40, Items.copper, 50)); + consumePower(1.5f); size = 2; reload = 250f; range = 85f; healPercent = 11f; phaseBoost = 15f; - health = 80 * size * size; - consumes.item(Items.phaseFabric).boost(); + scaledHealth = 80; + consumeItem(Items.phaseFabric).boost(); }}; overdriveProjector = new OverdriveProjector("overdrive-projector"){{ requirements(Category.effect, with(Items.lead, 100, Items.titanium, 75, Items.silicon, 75, Items.plastanium, 30)); - consumes.power(3.50f); + consumePower(3.50f); size = 2; - consumes.item(Items.phaseFabric).boost(); + consumeItem(Items.phaseFabric).boost(); }}; overdriveDome = new OverdriveProjector("overdrive-dome"){{ requirements(Category.effect, with(Items.lead, 200, Items.titanium, 130, Items.silicon, 130, Items.plastanium, 80, Items.surgeAlloy, 120)); - consumes.power(10f); + consumePower(10f); size = 3; range = 200f; speedBoost = 2.5f; useTime = 300f; hasBoost = false; - consumes.items(with(Items.phaseFabric, 1, Items.silicon, 1)); + consumeItems(with(Items.phaseFabric, 1, Items.silicon, 1)); }}; forceProjector = new ForceProjector("force-projector"){{ @@ -934,8 +1789,8 @@ public class Blocks implements ContentList{ cooldownLiquid = 1.2f; cooldownBrokenBase = 0.35f; - consumes.item(Items.phaseFabric).boost(); - consumes.power(4f); + itemConsumer = consumeItem(Items.phaseFabric).boost(); + consumePower(4f); }}; shockMine = new ShockMine("shock-mine"){{ @@ -948,15 +1803,106 @@ public class Blocks implements ContentList{ tendrils = 4; }}; + radar = new Radar("radar"){{ + requirements(Category.effect, BuildVisibility.fogOnly, with(Items.silicon, 60, Items.graphite, 50, Items.beryllium, 10)); + outlineColor = Color.valueOf("4a4b53"); + fogRadius = 34; + researchCost = with(Items.silicon, 70, Items.graphite, 70); + + consumePower(0.6f); + }}; + + buildTower = new BuildTurret("build-tower"){{ + requirements(Category.effect, with(Items.silicon, 150, Items.oxide, 40, Items.thorium, 60)); + outlineColor = Pal.darkOutline; + + range = 200f; + size = 3; + buildSpeed = 1.5f; + + consumePower(3f); + consumeLiquid(Liquids.nitrogen, 3f / 60f); + }}; + + regenProjector = new RegenProjector("regen-projector"){{ + requirements(Category.effect, with(Items.silicon, 80, Items.tungsten, 60, Items.oxide, 40, Items.beryllium, 80)); + size = 3; + range = 28; + baseColor = Pal.regen; + + consumePower(1f); + consumeLiquid(Liquids.hydrogen, 1f / 60f); + consumeItem(Items.phaseFabric).boost(); + + healPercent = 4f / 60f; + + Color col = Color.valueOf("8ca9e8"); + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawLiquidTile(Liquids.hydrogen, 9f / 4f), new DrawDefault(), new DrawGlowRegion(){{ + color = Color.sky; + }}, new DrawPulseShape(false){{ + layer = Layer.effect; + color = col; + }}, new DrawShape(){{ + layer = Layer.effect; + radius = 3.5f; + useWarmupRadius = true; + timeScl = 2f; + color = col; + }}); + }}; + + //TODO implement + if(false) + barrierProjector = new DirectionalForceProjector("barrier-projector"){{ + requirements(Category.effect, with(Items.surgeAlloy, 100, Items.silicon, 125)); + size = 3; + width = 50f; + length = 36; + shieldHealth = 2000f; + cooldownNormal = 3f; + cooldownBrokenBase = 0.35f; + + consumePower(4f); + }}; + + shockwaveTower = new ShockwaveTower("shockwave-tower"){{ + requirements(Category.effect, with(Items.surgeAlloy, 50, Items.silicon, 150, Items.oxide, 30, Items.tungsten, 100)); + size = 3; + consumeLiquids(LiquidStack.with(Liquids.cyanogen, 1.5f / 60f)); + consumePower(100f / 60f); + range = 170f; + reload = 80f; + }}; + + //TODO 5x5?? + shieldProjector = new BaseShield("shield-projector"){{ + requirements(Category.effect, BuildVisibility.editorOnly, with()); + + size = 3; + + consumePower(5f); + }}; + + largeShieldProjector = new BaseShield("large-shield-projector"){{ + requirements(Category.effect, BuildVisibility.editorOnly, with()); + + size = 4; + radius = 400f; + + consumePower(5f); + }}; + //endregion //region distribution conveyor = new Conveyor("conveyor"){{ - requirements(Category.distribution, with(Items.copper, 1), true); + requirements(Category.distribution, with(Items.copper, 1)); health = 45; speed = 0.03f; displayedSpeed = 4.2f; buildCostMultiplier = 2f; + researchCost = with(Items.copper, 5); }}; titaniumConveyor = new Conveyor("titanium-conveyor"){{ @@ -968,20 +1914,20 @@ public class Blocks implements ContentList{ plastaniumConveyor = new StackConveyor("plastanium-conveyor"){{ requirements(Category.distribution, with(Items.plastanium, 1, Items.silicon, 1, Items.graphite, 1)); - health = 75; + health = 90; speed = 4f / 60f; itemCapacity = 10; }}; armoredConveyor = new ArmoredConveyor("armored-conveyor"){{ requirements(Category.distribution, with(Items.plastanium, 1, Items.thorium, 1, Items.metaglass, 1)); - health = 180; + health = 280; speed = 0.08f; displayedSpeed = 11f; }}; junction = new Junction("junction"){{ - requirements(Category.distribution, with(Items.copper, 2), true); + requirements(Category.distribution, with(Items.copper, 2)); speed = 26; capacity = 6; health = 30; @@ -989,18 +1935,24 @@ public class Blocks implements ContentList{ }}; itemBridge = new BufferedItemBridge("bridge-conveyor"){{ - requirements(Category.distribution, with(Items.lead, 6, Items.copper, 6)); + requirements(Category.distribution, with(Items.lead, 10, Items.copper, 10)); + fadeIn = moveArrows = false; range = 4; speed = 74f; + arrowSpacing = 6f; bufferCapacity = 14; + buildCostMultiplier = 2f; }}; phaseConveyor = new ItemBridge("phase-conveyor"){{ requirements(Category.distribution, with(Items.phaseFabric, 5, Items.silicon, 7, Items.lead, 10, Items.graphite, 10)); range = 12; - canOverdrive = false; + arrowPeriod = 0.9f; + arrowTimeScl = 2.75f; hasPower = true; - consumes.power(0.30f); + pulse = true; + envEnabled |= Env.space; + consumePower(0.30f); }}; sorter = new Sorter("sorter"){{ @@ -1021,6 +1973,7 @@ public class Blocks implements ContentList{ distributor = new Router("distributor"){{ requirements(Category.distribution, with(Items.lead, 4, Items.copper, 4)); + buildCostMultiplier = 3f; size = 2; }}; @@ -1039,19 +1992,127 @@ public class Blocks implements ContentList{ requirements(Category.distribution, with(Items.titanium, 125, Items.silicon, 75, Items.lead, 125, Items.thorium, 50)); size = 3; itemCapacity = 120; - reloadTime = 200f; + reload = 200f; range = 440f; - consumes.power(1.75f); + consumePower(1.75f); }}; - payloadConveyor = new PayloadConveyor("payload-conveyor"){{ - requirements(Category.distribution, with(Items.graphite, 10, Items.copper, 20)); - canOverdrive = false; + //erekir transport blocks + + duct = new Duct("duct"){{ + requirements(Category.distribution, with(Items.beryllium, 1)); + health = 90; + speed = 4f; + researchCost = with(Items.beryllium, 5); }}; - payloadRouter = new PayloadRouter("payload-router"){{ - requirements(Category.distribution, with(Items.graphite, 15, Items.copper, 20)); - canOverdrive = false; + armoredDuct = new Duct("armored-duct"){{ + requirements(Category.distribution, with(Items.beryllium, 2, Items.tungsten, 1)); + health = 140; + speed = 4f; + armored = true; + researchCost = with(Items.beryllium, 300, Items.tungsten, 100); + }}; + + ductRouter = new DuctRouter("duct-router"){{ + requirements(Category.distribution, with(Items.beryllium, 10)); + health = 90; + speed = 4f; + regionRotated1 = 1; + solid = false; + researchCost = with(Items.beryllium, 30); + }}; + + overflowDuct = new OverflowDuct("overflow-duct"){{ + requirements(Category.distribution, with(Items.graphite, 8, Items.beryllium, 8)); + health = 90; + speed = 4f; + solid = false; + researchCostMultiplier = 1.5f; + }}; + + underflowDuct = new OverflowDuct("underflow-duct"){{ + requirements(Category.distribution, with(Items.graphite, 8, Items.beryllium, 8)); + health = 90; + speed = 4f; + solid = false; + researchCostMultiplier = 1.5f; + invert = true; + }}; + + ductBridge = new DuctBridge("duct-bridge"){{ + requirements(Category.distribution, with(Items.beryllium, 20)); + health = 90; + speed = 4f; + buildCostMultiplier = 2f; + researchCostMultiplier = 0.3f; + }}; + + ductUnloader = new DirectionalUnloader("duct-unloader"){{ + requirements(Category.distribution, with(Items.graphite, 20, Items.silicon, 20, Items.tungsten, 10)); + health = 120; + speed = 4f; + solid = false; + underBullets = true; + regionRotated1 = 1; + }}; + + surgeConveyor = new StackConveyor("surge-conveyor"){{ + requirements(Category.distribution, with(Items.surgeAlloy, 1, Items.tungsten, 1)); + health = 130; + //TODO different base speed/item capacity? + speed = 5f / 60f; + itemCapacity = 10; + + outputRouter = false; + hasPower = true; + consumesPower = true; + conductivePower = true; + + underBullets = true; + baseEfficiency = 1f; + consumePower(1f / 60f); + researchCost = with(Items.surgeAlloy, 30, Items.tungsten, 80); + }}; + + surgeRouter = new StackRouter("surge-router"){{ + requirements(Category.distribution, with(Items.surgeAlloy, 5, Items.tungsten, 1)); + health = 130; + + speed = 6f; + + hasPower = true; + consumesPower = true; + conductivePower = true; + baseEfficiency = 1f; + underBullets = true; + solid = false; + consumePower(3f / 60f); + }}; + + unitCargoLoader = new UnitCargoLoader("unit-cargo-loader"){{ + requirements(Category.distribution, with(Items.silicon, 80, Items.surgeAlloy, 50, Items.oxide, 20)); + + size = 3; + buildTime = 60f * 8f; + + consumePower(8f / 60f); + + //intentionally set absurdly high to make this block not overpowered + consumeLiquid(Liquids.nitrogen, 10f / 60f); + + itemCapacity = 200; + researchCost = with(Items.silicon, 2500, Items.surgeAlloy, 20, Items.oxide, 30); + }}; + + unitCargoUnloadPoint = new UnitCargoUnloadPoint("unit-cargo-unload-point"){{ + requirements(Category.distribution, with(Items.silicon, 60, Items.tungsten, 60)); + + size = 2; + + itemCapacity = 100; + + researchCost = with(Items.silicon, 3000, Items.oxide, 20); }}; //endregion @@ -1059,90 +2120,184 @@ public class Blocks implements ContentList{ mechanicalPump = new Pump("mechanical-pump"){{ requirements(Category.liquid, with(Items.copper, 15, Items.metaglass, 10)); - pumpAmount = 0.11f; + pumpAmount = 7f / 60f; + liquidCapacity = 20f; }}; rotaryPump = new Pump("rotary-pump"){{ requirements(Category.liquid, with(Items.copper, 70, Items.metaglass, 50, Items.silicon, 20, Items.titanium, 35)); pumpAmount = 0.2f; - consumes.power(0.3f); - liquidCapacity = 30f; + consumePower(0.3f); + liquidCapacity = 80f; hasPower = true; size = 2; }}; - thermalPump = new Pump("thermal-pump"){{ + impulsePump = new Pump("impulse-pump"){{ requirements(Category.liquid, with(Items.copper, 80, Items.metaglass, 90, Items.silicon, 30, Items.titanium, 40, Items.thorium, 35)); pumpAmount = 0.22f; - consumes.power(1.3f); - liquidCapacity = 40f; + consumePower(1.3f); + liquidCapacity = 200f; hasPower = true; size = 3; }}; conduit = new Conduit("conduit"){{ requirements(Category.liquid, with(Items.metaglass, 1)); + liquidCapacity = 20f; health = 45; }}; pulseConduit = new Conduit("pulse-conduit"){{ requirements(Category.liquid, with(Items.titanium, 2, Items.metaglass, 1)); - liquidCapacity = 16f; + liquidCapacity = 40f; liquidPressure = 1.025f; health = 90; }}; platedConduit = new ArmoredConduit("plated-conduit"){{ requirements(Category.liquid, with(Items.thorium, 2, Items.metaglass, 1, Items.plastanium, 1)); - liquidCapacity = 16f; + liquidCapacity = 50f; liquidPressure = 1.025f; health = 220; }}; liquidRouter = new LiquidRouter("liquid-router"){{ requirements(Category.liquid, with(Items.graphite, 4, Items.metaglass, 2)); - liquidCapacity = 20f; + liquidCapacity = 120f; + underBullets = true; + solid = false; + }}; + + liquidContainer = new LiquidRouter("liquid-container"){{ + requirements(Category.liquid, with(Items.titanium, 10, Items.metaglass, 15)); + liquidCapacity = 700f; + size = 2; + solid = true; }}; liquidTank = new LiquidRouter("liquid-tank"){{ - requirements(Category.liquid, with(Items.titanium, 25, Items.metaglass, 25)); + requirements(Category.liquid, with(Items.titanium, 30, Items.metaglass, 40)); size = 3; - liquidCapacity = 1500f; + solid = true; + liquidCapacity = 1800f; health = 500; }}; liquidJunction = new LiquidJunction("liquid-junction"){{ - requirements(Category.liquid, with(Items.graphite, 2, Items.metaglass, 2)); + requirements(Category.liquid, with(Items.graphite, 4, Items.metaglass, 8)); + solid = false; }}; - bridgeConduit = new LiquidExtendingBridge("bridge-conduit"){{ + bridgeConduit = new LiquidBridge("bridge-conduit"){{ requirements(Category.liquid, with(Items.graphite, 4, Items.metaglass, 8)); + fadeIn = moveArrows = false; + arrowSpacing = 6f; range = 4; hasPower = false; + liquidCapacity = 100f; }}; phaseConduit = new LiquidBridge("phase-conduit"){{ requirements(Category.liquid, with(Items.phaseFabric, 5, Items.silicon, 7, Items.metaglass, 20, Items.titanium, 10)); range = 12; + arrowPeriod = 0.9f; + arrowTimeScl = 2.75f; hasPower = true; canOverdrive = false; - consumes.power(0.30f); + pulse = true; + liquidCapacity = 100f; + consumePower(0.30f); + }}; + + //reinforced stuff + + reinforcedPump = new Pump("reinforced-pump"){{ + requirements(Category.liquid, with(Items.beryllium, 40, Items.tungsten, 30, Items.silicon, 20)); + consumeLiquid(Liquids.hydrogen, 1.5f / 60f); + + pumpAmount = 80f / 60f / 4f; + liquidCapacity = 160f; + size = 2; + }}; + + reinforcedConduit = new ArmoredConduit("reinforced-conduit"){{ + requirements(Category.liquid, with(Items.beryllium, 2)); + botColor = Pal.darkestMetal; + leaks = true; + liquidCapacity = 50f; + liquidPressure = 1.03f; + health = 250; + researchCostMultiplier = 3; + underBullets = true; + }}; + + reinforcedLiquidJunction = new LiquidJunction("reinforced-liquid-junction"){{ + requirements(Category.liquid, with(Items.graphite, 4, Items.beryllium, 8)); + buildCostMultiplier = 3f; + health = 250; + ((Conduit)reinforcedConduit).junctionReplacement = this; + researchCostMultiplier = 1; + solid = false; + underBullets = true; + }}; + + reinforcedBridgeConduit = new DirectionLiquidBridge("reinforced-bridge-conduit"){{ + requirements(Category.liquid, with(Items.graphite, 8, Items.beryllium, 20)); + range = 4; + hasPower = false; + liquidCapacity = 120f; + researchCostMultiplier = 1; + underBullets = true; + health = 250; + + ((Conduit)reinforcedConduit).rotBridgeReplacement = this; + }}; + + reinforcedLiquidRouter = new LiquidRouter("reinforced-liquid-router"){{ + requirements(Category.liquid, with(Items.graphite, 8, Items.beryllium, 4)); + liquidCapacity = 150f; + liquidPadding = 3f/4f; + researchCostMultiplier = 3; + underBullets = true; + solid = false; + health = 250; + }}; + + reinforcedLiquidContainer = new LiquidRouter("reinforced-liquid-container"){{ + requirements(Category.liquid, with(Items.tungsten, 10, Items.beryllium, 16)); + liquidCapacity = 1000f; + size = 2; + liquidPadding = 6f/4f; + researchCostMultiplier = 4; + solid = true; + health = 400; + }}; + + reinforcedLiquidTank = new LiquidRouter("reinforced-liquid-tank"){{ + requirements(Category.liquid, with(Items.tungsten, 40, Items.beryllium, 50)); + size = 3; + solid = true; + liquidCapacity = 2700f; + liquidPadding = 2f; + health = 900; }}; //endregion //region power powerNode = new PowerNode("power-node"){{ - requirements(Category.power, with(Items.copper, 1, Items.lead, 3)); + requirements(Category.power, with(Items.copper, 2, Items.lead, 6)); maxNodes = 10; laserRange = 6; + buildCostMultiplier = 2.5f; }}; powerNodeLarge = new PowerNode("power-node-large"){{ requirements(Category.power, with(Items.titanium, 5, Items.lead, 10, Items.silicon, 3)); size = 2; maxNodes = 15; - laserRange = 9.5f; + laserRange = 15f; }}; surgeTower = new PowerNode("surge-tower"){{ @@ -1150,6 +2305,7 @@ public class Blocks implements ContentList{ size = 2; maxNodes = 2; laserRange = 40f; + schematicPriority = -15; }}; diode = new PowerDiode("diode"){{ @@ -1158,47 +2314,74 @@ public class Blocks implements ContentList{ battery = new Battery("battery"){{ requirements(Category.power, with(Items.copper, 5, Items.lead, 20)); - consumes.powerBuffered(4000f); + consumePowerBuffered(4000f); + baseExplosiveness = 1f; }}; batteryLarge = new Battery("battery-large"){{ - requirements(Category.power, with(Items.titanium, 20, Items.lead, 40, Items.silicon, 20)); + requirements(Category.power, with(Items.titanium, 20, Items.lead, 50, Items.silicon, 30)); size = 3; - consumes.powerBuffered(50000f); + consumePowerBuffered(50000f); + baseExplosiveness = 5f; }}; - combustionGenerator = new BurnerGenerator("combustion-generator"){{ + combustionGenerator = new ConsumeGenerator("combustion-generator"){{ requirements(Category.power, with(Items.copper, 25, Items.lead, 15)); powerProduction = 1f; itemDuration = 120f; ambientSound = Sounds.smelter; ambientSoundVolume = 0.03f; + generateEffect = Fx.generatespark; + + consume(new ConsumeItemFlammable()); + consume(new ConsumeItemExplode()); + + drawer = new DrawMulti(new DrawDefault(), new DrawWarmupRegion()); }}; thermalGenerator = new ThermalGenerator("thermal-generator"){{ requirements(Category.power, with(Items.copper, 40, Items.graphite, 35, Items.lead, 50, Items.silicon, 35, Items.metaglass, 40)); powerProduction = 1.8f; generateEffect = Fx.redgeneratespark; + effectChance = 0.011f; size = 2; floating = true; ambientSound = Sounds.hum; ambientSoundVolume = 0.06f; }}; - steamGenerator = new BurnerGenerator("steam-generator"){{ + steamGenerator = new ConsumeGenerator("steam-generator"){{ requirements(Category.power, with(Items.copper, 35, Items.graphite, 25, Items.lead, 40, Items.silicon, 30)); powerProduction = 5.5f; itemDuration = 90f; - consumes.liquid(Liquids.water, 0.1f); + consumeLiquid(Liquids.water, 0.1f); hasLiquids = true; size = 2; + generateEffect = Fx.generatespark; ambientSound = Sounds.smelter; ambientSoundVolume = 0.06f; + + consume(new ConsumeItemFlammable()); + consume(new ConsumeItemExplode()); + + drawer = new DrawMulti( + new DrawDefault(), + new DrawWarmupRegion(), + new DrawRegion("-turbine"){{ + rotateSpeed = 2f; + }}, + new DrawRegion("-turbine"){{ + rotateSpeed = -2f; + rotation = 45f; + }}, + new DrawRegion("-cap"), + new DrawLiquidRegion() + ); }}; - differentialGenerator = new SingleTypeGenerator("differential-generator"){{ + differentialGenerator = new ConsumeGenerator("differential-generator"){{ requirements(Category.power, with(Items.copper, 70, Items.titanium, 50, Items.lead, 100, Items.silicon, 65, Items.metaglass, 50)); powerProduction = 18f; itemDuration = 220f; @@ -1206,28 +2389,37 @@ public class Blocks implements ContentList{ hasItems = true; size = 3; ambientSound = Sounds.steam; + generateEffect = Fx.generatespark; ambientSoundVolume = 0.03f; - consumes.item(Items.pyratite).optional(true, false); - consumes.liquid(Liquids.cryofluid, 0.1f); + drawer = new DrawMulti(new DrawDefault(), new DrawWarmupRegion(), new DrawLiquidRegion()); + + consumeItem(Items.pyratite); + consumeLiquid(Liquids.cryofluid, 0.1f); }}; - rtgGenerator = new DecayGenerator("rtg-generator"){{ + rtgGenerator = new ConsumeGenerator("rtg-generator"){{ requirements(Category.power, with(Items.lead, 100, Items.silicon, 75, Items.phaseFabric, 25, Items.plastanium, 75, Items.thorium, 50)); size = 2; powerProduction = 4.5f; itemDuration = 60 * 14f; + envEnabled = Env.any; + generateEffect = Fx.generatespark; + + itemDurationMultipliers.put(Items.phaseFabric, 210f / 14f); + drawer = new DrawMulti(new DrawDefault(), new DrawWarmupRegion()); + consume(new ConsumeItemRadioactive()); }}; solarPanel = new SolarGenerator("solar-panel"){{ - requirements(Category.power, with(Items.lead, 10, Items.silicon, 15)); - powerProduction = 0.1f; + requirements(Category.power, with(Items.lead, 10, Items.silicon, 8)); + powerProduction = 0.12f; }}; largeSolarPanel = new SolarGenerator("solar-panel-large"){{ - requirements(Category.power, with(Items.lead, 80, Items.silicon, 110, Items.phaseFabric, 15)); + requirements(Category.power, with(Items.lead, 60, Items.silicon, 70, Items.phaseFabric, 15)); size = 3; - powerProduction = 1.3f; + powerProduction = 1.6f; }}; thoriumReactor = new NuclearReactor("thorium-reactor"){{ @@ -1238,9 +2430,10 @@ public class Blocks implements ContentList{ health = 700; itemDuration = 360f; powerProduction = 15f; - consumes.item(Items.thorium); heating = 0.02f; - consumes.liquid(Liquids.cryofluid, heating / coolantPower).update(false); + + consumeItem(Items.thorium); + consumeLiquid(Liquids.cryofluid, heating / coolantPower).update(false); }}; impactReactor = new ImpactReactor("impact-reactor"){{ @@ -1251,22 +2444,239 @@ public class Blocks implements ContentList{ itemDuration = 140f; ambientSound = Sounds.pulse; ambientSoundVolume = 0.07f; + liquidCapacity = 80f; - consumes.power(25f); - consumes.item(Items.blastCompound); - consumes.liquid(Liquids.cryofluid, 0.25f); + consumePower(25f); + consumeItem(Items.blastCompound); + consumeLiquid(Liquids.cryofluid, 0.25f); + }}; + + //erekir + + beamNode = new BeamNode("beam-node"){{ + requirements(Category.power, with(Items.beryllium, 10)); + consumesPower = outputsPower = true; + health = 90; + range = 10; + fogRadius = 1; + researchCost = with(Items.beryllium, 5); + buildCostMultiplier = 2f; + + consumePowerBuffered(1000f); + }}; + + beamTower = new BeamNode("beam-tower"){{ + requirements(Category.power, with(Items.beryllium, 30, Items.oxide, 10, Items.silicon, 10)); + size = 3; + consumesPower = outputsPower = true; + range = 23; + scaledHealth = 90; + fogRadius = 2; + + consumePowerBuffered(40000f); + }}; + + beamLink = new LongPowerNode("beam-link"){{ + requirements(Category.power, BuildVisibility.editorOnly, with()); + size = 3; + maxNodes = 1; + laserRange = 1000f; + autolink = false; + laserColor2 = Color.valueOf("ffd9c2"); + laserScale = 0.8f; + scaledHealth = 130; + }}; + + turbineCondenser = new ThermalGenerator("turbine-condenser"){{ + requirements(Category.power, with(Items.beryllium, 60)); + attribute = Attribute.steam; + group = BlockGroup.liquids; + displayEfficiencyScale = 1f / 9f; + minEfficiency = 9f - 0.0001f; + powerProduction = 3f / 9f; + displayEfficiency = false; + generateEffect = Fx.turbinegenerate; + effectChance = 0.04f; + size = 3; + ambientSound = Sounds.hum; + ambientSoundVolume = 0.06f; + + drawer = new DrawMulti(new DrawDefault(), new DrawBlurSpin("-rotator", 0.6f * 9f){{ + blurThresh = 0.01f; + }}); + + hasLiquids = true; + outputLiquid = new LiquidStack(Liquids.water, 5f / 60f / 9f); + liquidCapacity = 20f; + fogRadius = 3; + researchCost = with(Items.beryllium, 15); + }}; + + chemicalCombustionChamber = new ConsumeGenerator("chemical-combustion-chamber"){{ + requirements(Category.power, with(Items.graphite, 40, Items.tungsten, 40, Items.oxide, 40f, Items.silicon, 30)); + powerProduction = 10f; + researchCost = with(Items.graphite, 2000, Items.tungsten, 1000, Items.oxide, 10, Items.silicon, 1500); + consumeLiquids(LiquidStack.with(Liquids.ozone, 2f / 60f, Liquids.arkycite, 40f / 60f)); + size = 3; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawPistons(){{ + sinMag = 3f; + sinScl = 5f; + }}, new DrawRegion("-mid"), new DrawLiquidTile(Liquids.arkycite, 37f / 4f), new DrawDefault(), new DrawGlowRegion(){{ + alpha = 1f; + glowScale = 5f; + color = Color.valueOf("c967b099"); + }}); + generateEffect = Fx.none; + + liquidCapacity = 20f * 5; + + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.06f; + }}; + + pyrolysisGenerator = new ConsumeGenerator("pyrolysis-generator"){{ + requirements(Category.power, with(Items.graphite, 50, Items.carbide, 50, Items.oxide, 60f, Items.silicon, 50)); + powerProduction = 25f; + + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawPistons(){{ + sinMag = 2.75f; + sinScl = 5f; + sides = 8; + sideOffset = Mathf.PI / 2f; + }}, new DrawRegion("-mid"), new DrawLiquidTile(Liquids.arkycite, 38f / 4f), new DrawDefault(), new DrawGlowRegion(){{ + alpha = 1f; + glowScale = 5f; + color = Pal.slagOrange; + }}); + + consumeLiquids(LiquidStack.with(Liquids.slag, 20f / 60f, Liquids.arkycite, 40f / 60f)); + size = 3; + + liquidCapacity = 30f * 5; + + outputLiquid = new LiquidStack(Liquids.water, 20f / 60f); + + generateEffect = Fx.none; + + ambientSound = Sounds.smelter; + ambientSoundVolume = 0.06f; + + researchCostMultiplier = 0.4f; + }}; + + fluxReactor = new VariableReactor("flux-reactor"){{ + requirements(Category.power, with(Items.graphite, 300, Items.carbide, 200, Items.oxide, 100, Items.silicon, 600, Items.surgeAlloy, 300)); + powerProduction = 240f; + maxHeat = 150f; + + consumeLiquid(Liquids.cyanogen, 9f / 60f); + liquidCapacity = 30f; + explosionMinWarmup = 0.5f; + + explosionRadius = 17; + explosionDamage = 2500; + + ambientSound = Sounds.flux; + ambientSoundVolume = 0.13f; + + size = 5; + + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawLiquidTile(Liquids.cyanogen), + new DrawRegion("-mid"), + new DrawSoftParticles(){{ + alpha = 0.35f; + particleRad = 12f; + particleSize = 9f; + particleLife = 120f; + particles = 27; + }}, + new DrawDefault(), + new DrawHeatInput(), + new DrawGlowRegion("-ventglow"){{ + color = Color.valueOf("32603a"); + }} + ); + }}; + + neoplasiaReactor = new HeaterGenerator("neoplasia-reactor"){{ + requirements(Category.power, with(Items.tungsten, 1000, Items.carbide, 300, Items.oxide, 150, Items.silicon, 500, Items.phaseFabric, 300, Items.surgeAlloy, 200)); + + size = 5; + liquidCapacity = 80f; + outputLiquid = new LiquidStack(Liquids.neoplasm, 20f / 60f); + explodeOnFull = true; + + heatOutput = 60f; + + consumeLiquid(Liquids.arkycite, 80f / 60f); + consumeLiquid(Liquids.water, 10f / 60f); + consumeItem(Items.phaseFabric); + + itemDuration = 60f * 3f; + itemCapacity = 10; + + explosionRadius = 9; + explosionDamage = 2000; + explodeEffect = new MultiEffect(Fx.bigShockwave, new WrapEffect(Fx.titanSmoke, Liquids.neoplasm.color), Fx.neoplasmSplat); + explodeSound = Sounds.largeExplosion; + + powerProduction = 140f; + + ambientSound = Sounds.bioLoop; + ambientSoundVolume = 0.2f; + + explosionPuddles = 80; + explosionPuddleRange = tilesize * 7f; + explosionPuddleLiquid = Liquids.neoplasm; + explosionPuddleAmount = 200f; + explosionMinWarmup = 0.5f; + + consumeEffect = new RadialEffect(Fx.neoplasiaSmoke, 4, 90f, 54f / 4f); + + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawLiquidTile(Liquids.arkycite, 3f), + new DrawCircles(){{ + color = Color.valueOf("feb380").a(0.8f); + strokeMax = 3.25f; + radius = 65f / 4f; + amount = 5; + timeScl = 200f; + }}, + + new DrawRegion("-center"), + + new DrawCells(){{ + color = Color.valueOf("c33e2b"); + particleColorFrom = Color.valueOf("e8803f"); + particleColorTo = Color.valueOf("8c1225"); + particles = 50; + range = 4f; + }}, + new DrawDefault(), + new DrawHeatOutput(), + new DrawGlowRegion("-glow"){{ + color = Color.valueOf("70170b"); + alpha = 0.7f; + }} + ); }}; //endregion power //region production mechanicalDrill = new Drill("mechanical-drill"){{ - requirements(Category.production, with(Items.copper, 12), true); + requirements(Category.production, with(Items.copper, 12)); tier = 2; drillTime = 600; size = 2; + //mechanical drill doesn't work in space + envEnabled ^= Env.space; + researchCost = with(Items.copper, 10); - consumes.liquid(Liquids.water, 0.05f).boost(); + consumeLiquid(Liquids.water, 0.05f).boost(); }}; pneumaticDrill = new Drill("pneumatic-drill"){{ @@ -1275,7 +2685,7 @@ public class Blocks implements ContentList{ drillTime = 400; size = 2; - consumes.liquid(Liquids.water, 0.06f).boost(); + consumeLiquid(Liquids.water, 0.06f).boost(); }}; laserDrill = new Drill("laser-drill"){{ @@ -1287,8 +2697,8 @@ public class Blocks implements ContentList{ updateEffect = Fx.pulverizeMedium; drillEffect = Fx.mineBig; - consumes.power(1.10f); - consumes.liquid(Liquids.water, 0.08f).boost(); + consumePower(1.10f); + consumeLiquid(Liquids.water, 0.08f).boost(); }}; blastDrill = new Drill("blast-drill"){{ @@ -1303,68 +2713,224 @@ public class Blocks implements ContentList{ drillEffect = Fx.mineHuge; rotateSpeed = 6f; warmupSpeed = 0.01f; + itemCapacity = 20; //more than the laser drill liquidBoostIntensity = 1.8f; - consumes.power(3f); - consumes.liquid(Liquids.water, 0.1f).boost(); + consumePower(3f); + consumeLiquid(Liquids.water, 0.1f).boost(); }}; waterExtractor = new SolidPump("water-extractor"){{ - requirements(Category.production, with(Items.copper, 25, Items.graphite, 25, Items.lead, 20)); + requirements(Category.production, with(Items.metaglass, 30, Items.graphite, 30, Items.lead, 30, Items.copper, 30)); result = Liquids.water; pumpAmount = 0.11f; size = 2; - liquidCapacity = 30f; + liquidCapacity = 40f; rotateSpeed = 1.4f; attribute = Attribute.water; + envRequired |= Env.groundWater; - consumes.power(1.5f); + consumePower(1.5f); }}; - cultivator = new Cultivator("cultivator"){{ + cultivator = new AttributeCrafter("cultivator"){{ requirements(Category.production, with(Items.copper, 25, Items.lead, 25, Items.silicon, 10)); outputItem = new ItemStack(Items.sporePod, 1); - craftTime = 140; + craftTime = 100; size = 2; hasLiquids = true; hasPower = true; hasItems = true; + liquidCapacity = 80f; - consumes.power(0.9f); - consumes.liquid(Liquids.water, 0.2f); + craftEffect = Fx.none; + envRequired |= Env.spores; + attribute = Attribute.spores; + + legacyReadWarmup = true; + drawer = new DrawMulti( + new DrawRegion("-bottom"), + new DrawLiquidTile(Liquids.water), + new DrawDefault(), + new DrawCultivator(), + new DrawRegion("-top") + ); + maxBoost = 2f; + + consumePower(80f / 60f); + consumeLiquid(Liquids.water, 18f / 60f); }}; oilExtractor = new Fracker("oil-extractor"){{ requirements(Category.production, with(Items.copper, 150, Items.graphite, 175, Items.lead, 115, Items.thorium, 115, Items.silicon, 75)); result = Liquids.oil; updateEffect = Fx.pulverize; - liquidCapacity = 50f; updateEffectChance = 0.05f; pumpAmount = 0.25f; size = 3; - liquidCapacity = 30f; + liquidCapacity = 40f; attribute = Attribute.oil; baseEfficiency = 0f; itemUseTime = 60f; - consumes.item(Items.sand); - consumes.power(3f); - consumes.liquid(Liquids.water, 0.15f); + consumeItem(Items.sand); + consumePower(3f); + consumeLiquid(Liquids.water, 0.15f); + }}; + + ventCondenser = new AttributeCrafter("vent-condenser"){{ + requirements(Category.production, with(Items.graphite, 20, Items.beryllium, 60)); + attribute = Attribute.steam; + group = BlockGroup.liquids; + minEfficiency = 9f - 0.0001f; + baseEfficiency = 0f; + displayEfficiency = false; + craftEffect = Fx.turbinegenerate; + drawer = new DrawMulti(new DrawRegion("-bottom"), new DrawBlurSpin("-rotator", 6f), new DrawRegion("-mid"), new DrawLiquidTile(Liquids.water, 38f / 4f), new DrawDefault()); + craftTime = 120f; + size = 3; + ambientSound = Sounds.hum; + ambientSoundVolume = 0.06f; + hasLiquids = true; + boostScale = 1f / 9f; + itemCapacity = 0; + outputLiquid = new LiquidStack(Liquids.water, 30f / 60f); + consumePower(0.5f); + liquidCapacity = 60f; + }}; + + cliffCrusher = new WallCrafter("cliff-crusher"){{ + requirements(Category.production, with(Items.graphite, 25, Items.beryllium, 20)); + consumePower(11 / 60f); + + drillTime = 110f; + size = 2; + attribute = Attribute.sand; + output = Items.sand; + fogRadius = 2; + researchCost = with(Items.beryllium, 100, Items.graphite, 40); + ambientSound = Sounds.drill; + ambientSoundVolume = 0.04f; + }}; + + largeCliffCrusher = new WallCrafter("large-cliff-crusher"){{ + requirements(Category.production, with(Items.silicon, 80, Items.surgeAlloy, 15, Items.beryllium, 100, Items.tungsten, 50)); + consumePower(30 / 60f); + + drillTime = 48f; + size = 3; + attribute = Attribute.sand; + output = Items.sand; + fogRadius = 3; + ambientSound = Sounds.drill; + ambientSoundVolume = 0.08f; + + consumeLiquid(Liquids.ozone, 1f / 60f); + + itemConsumer = consumeItem(Items.tungsten).boost(); + itemCapacity = 20; + boostItemUseTime = 60f * 10f; + + //alternatively, boost using nitrogen: + //consumeLiquid(Liquids.nitrogen, 3f / 60f).boost(); + }}; + + plasmaBore = new BeamDrill("plasma-bore"){{ + requirements(Category.production, with(Items.beryllium, 40)); + consumePower(0.15f); + + drillTime = 160f; + tier = 3; + size = 2; + range = 5; + fogRadius = 3; + researchCost = with(Items.beryllium, 10); + + consumeLiquid(Liquids.hydrogen, 0.25f / 60f).boost(); + }}; + + largePlasmaBore = new BeamDrill("large-plasma-bore"){{ + requirements(Category.production, with(Items.silicon, 100, Items.oxide, 25, Items.beryllium, 100, Items.tungsten, 70)); + consumePower(0.8f); + drillTime = 100f; + + tier = 5; + size = 3; + range = 6; + fogRadius = 4; + laserWidth = 0.7f; + itemCapacity = 20; + + consumeLiquid(Liquids.hydrogen, 0.5f / 60f); + consumeLiquid(Liquids.nitrogen, 3f / 60f).boost(); + + researchCost = with(Items.silicon, 1500, Items.oxide, 200, Items.beryllium, 3000, Items.tungsten, 1200); + }}; + + impactDrill = new BurstDrill("impact-drill"){{ + requirements(Category.production, with(Items.silicon, 70, Items.beryllium, 90, Items.graphite, 60)); + drillTime = 60f * 12f; + size = 4; + hasPower = true; + tier = 6; + drillEffect = new MultiEffect(Fx.mineImpact, Fx.drillSteam, Fx.mineImpactWave.wrap(Pal.redLight, 40f)); + shake = 4f; + itemCapacity = 40; + //can't mine thorium for balance reasons, needs better drill + blockedItem = Items.thorium; + researchCostMultiplier = 0.5f; + + drillMultipliers.put(Items.beryllium, 2.5f); + + fogRadius = 4; + + consumePower(160f / 60f); + consumeLiquid(Liquids.water, 10f/60f); + }}; + + eruptionDrill = new BurstDrill("eruption-drill"){{ + requirements(Category.production, with(Items.silicon, 200, Items.oxide, 20, Items.tungsten, 200, Items.thorium, 120)); + drillTime = 60f * 6f; + size = 5; + hasPower = true; + tier = 7; + //TODO better effect + drillEffect = new MultiEffect( + Fx.mineImpact, + Fx.drillSteam, + Fx.dynamicSpikes.wrap(Liquids.hydrogen.color, 30f), + Fx.mineImpactWave.wrap(Liquids.hydrogen.color, 45f) + ); + shake = 4f; + itemCapacity = 50; + arrowOffset = 2f; + arrowSpacing = 5f; + arrows = 2; + glowColor.a = 0.6f; + fogRadius = 5; + + drillMultipliers.put(Items.beryllium, 2.5f); + + //TODO different requirements + consumePower(6f); + consumeLiquids(LiquidStack.with(Liquids.hydrogen, 4f / 60f)); }}; //endregion //region storage coreShard = new CoreBlock("core-shard"){{ - requirements(Category.effect, BuildVisibility.editorOnly, with(Items.copper, 1000, Items.lead, 800)); + requirements(Category.effect, BuildVisibility.coreZoneOnly, with(Items.copper, 1000, Items.lead, 800)); alwaysUnlocked = true; + isFirstTier = true; unitType = UnitTypes.alpha; health = 1100; itemCapacity = 4000; size = 3; + buildCostMultiplier = 2f; unitCapModifier = 8; }}; @@ -1376,9 +2942,10 @@ public class Blocks implements ContentList{ health = 3500; itemCapacity = 9000; size = 4; + thrusterLength = 34/4f; unitCapModifier = 16; - researchCostMultiplier = 0.04f; + researchCostMultiplier = 0.07f; }}; coreNucleus = new CoreBlock("core-nucleus"){{ @@ -1388,163 +2955,408 @@ public class Blocks implements ContentList{ health = 6000; itemCapacity = 13000; size = 5; + thrusterLength = 40/4f; unitCapModifier = 24; - researchCostMultiplier = 0.06f; + researchCostMultiplier = 0.11f; }}; - vault = new StorageBlock("vault"){{ - requirements(Category.effect, with(Items.titanium, 250, Items.thorium, 125)); - size = 3; - itemCapacity = 1000; - flags = EnumSet.of(BlockFlag.storage); + coreBastion = new CoreBlock("core-bastion"){{ + //TODO cost + requirements(Category.effect, with(Items.graphite, 1000, Items.silicon, 1000, Items.beryllium, 800)); + + isFirstTier = true; + unitType = UnitTypes.evoke; + health = 4500; + itemCapacity = 2000; + size = 4; + thrusterLength = 34/4f; + armor = 5f; + alwaysUnlocked = true; + incinerateNonBuildable = true; + requiresCoreZone = true; + + //TODO should this be higher? + buildCostMultiplier = 0.7f; + + unitCapModifier = 15; + researchCostMultiplier = 0.07f; + }}; + + coreCitadel = new CoreBlock("core-citadel"){{ + requirements(Category.effect, with(Items.silicon, 4000, Items.beryllium, 4000, Items.tungsten, 3000, Items.oxide, 1000)); + + unitType = UnitTypes.incite; + health = 16000; + itemCapacity = 3000; + size = 5; + thrusterLength = 40/4f; + armor = 10f; + incinerateNonBuildable = true; + buildCostMultiplier = 0.7f; + requiresCoreZone = true; + + unitCapModifier = 15; + researchCostMultipliers.put(Items.silicon, 0.5f); + researchCostMultiplier = 0.17f; + }}; + + coreAcropolis = new CoreBlock("core-acropolis"){{ + requirements(Category.effect, with(Items.beryllium, 6000, Items.silicon, 5000, Items.tungsten, 5000, Items.carbide, 3000, Items.oxide, 3000)); + + unitType = UnitTypes.emanate; + health = 30000; + itemCapacity = 4000; + size = 6; + thrusterLength = 48/4f; + armor = 15f; + incinerateNonBuildable = true; + buildCostMultiplier = 0.7f; + requiresCoreZone = true; + + unitCapModifier = 15; + researchCostMultipliers.put(Items.silicon, 0.4f); + researchCostMultiplier = 0.1f; }}; container = new StorageBlock("container"){{ requirements(Category.effect, with(Items.titanium, 100)); size = 2; itemCapacity = 300; - flags = EnumSet.of(BlockFlag.storage); + scaledHealth = 55; }}; + vault = new StorageBlock("vault"){{ + requirements(Category.effect, with(Items.titanium, 250, Items.thorium, 125)); + size = 3; + itemCapacity = 1000; + scaledHealth = 55; + }}; + + //TODO move tabs? unloader = new Unloader("unloader"){{ requirements(Category.effect, with(Items.titanium, 25, Items.silicon, 30)); - speed = 6f; + speed = 60f / 11f; group = BlockGroup.transportation; }}; + reinforcedContainer = new StorageBlock("reinforced-container"){{ + requirements(Category.effect, with(Items.tungsten, 30, Items.graphite, 40)); + size = 2; + itemCapacity = 160; + scaledHealth = 120; + coreMerge = false; + }}; + + reinforcedVault = new StorageBlock("reinforced-vault"){{ + requirements(Category.effect, with(Items.tungsten, 125, Items.thorium, 70, Items.beryllium, 100)); + size = 3; + itemCapacity = 900; + scaledHealth = 120; + coreMerge = false; + }}; + //endregion //region turrets duo = new ItemTurret("duo"){{ - requirements(Category.turret, with(Items.copper, 35), true); + requirements(Category.turret, with(Items.copper, 35)); ammo( - Items.copper, Bullets.standardCopper, - Items.graphite, Bullets.standardDense, - Items.pyratite, Bullets.standardIncendiary, - Items.silicon, Bullets.standardHoming + Items.copper, new BasicBulletType(2.5f, 9){{ + width = 7f; + height = 9f; + lifetime = 60f; + ammoMultiplier = 2; + }}, + Items.graphite, new BasicBulletType(3.5f, 18){{ + width = 9f; + height = 12f; + reloadMultiplier = 0.6f; + ammoMultiplier = 4; + lifetime = 60f; + }}, + Items.silicon, new BasicBulletType(3f, 12){{ + width = 7f; + height = 9f; + homingPower = 0.1f; + reloadMultiplier = 1.5f; + ammoMultiplier = 5; + lifetime = 60f; + }} ); - spread = 4f; - shots = 2; - alternate = true; - reloadTime = 20f; - restitution = 0.03f; - range = 100; + shoot = new ShootAlternate(3.5f); + + recoils = 2; + drawer = new DrawTurret(){{ + for(int i = 0; i < 2; i ++){ + int f = i; + parts.add(new RegionPart("-barrel-" + (i == 0 ? "l" : "r")){{ + progress = PartProgress.recoil; + recoilIndex = f; + under = true; + moveY = -1.5f; + }}); + } + }}; + + recoil = 0.5f; + shootY = 3f; + reload = 20f; + range = 110; shootCone = 15f; ammoUseEffect = Fx.casing1; health = 250; inaccuracy = 2f; rotateSpeed = 10f; + coolant = consumeCoolant(0.1f); + researchCostMultiplier = 0.05f; + + limitRange(); }}; scatter = new ItemTurret("scatter"){{ requirements(Category.turret, with(Items.copper, 85, Items.lead, 45)); ammo( - Items.scrap, Bullets.flakScrap, - Items.lead, Bullets.flakLead, - Items.metaglass, Bullets.flakGlass + Items.scrap, new FlakBulletType(4f, 3){{ + lifetime = 60f; + ammoMultiplier = 5f; + shootEffect = Fx.shootSmall; + reloadMultiplier = 0.5f; + width = 6f; + height = 8f; + hitEffect = Fx.flakExplosion; + splashDamage = 22f * 1.5f; + splashDamageRadius = 24f; + }}, + Items.lead, new FlakBulletType(4.2f, 3){{ + lifetime = 60f; + ammoMultiplier = 4f; + shootEffect = Fx.shootSmall; + width = 6f; + height = 8f; + hitEffect = Fx.flakExplosion; + splashDamage = 27f * 1.5f; + splashDamageRadius = 15f; + }}, + Items.metaglass, new FlakBulletType(4f, 3){{ + lifetime = 60f; + ammoMultiplier = 5f; + shootEffect = Fx.shootSmall; + reloadMultiplier = 0.8f; + width = 6f; + height = 8f; + hitEffect = Fx.flakExplosion; + splashDamage = 30f * 1.5f; + splashDamageRadius = 20f; + fragBullets = 6; + fragBullet = new BasicBulletType(3f, 5){{ + width = 5f; + height = 12f; + shrinkY = 1f; + lifetime = 20f; + backColor = Pal.gray; + frontColor = Color.white; + despawnEffect = Fx.none; + collidesGround = false; + }}; + }} ); - reloadTime = 18f; - range = 160f; + + drawer = new DrawTurret(){{ + parts.add(new RegionPart("-mid"){{ + progress = PartProgress.recoil; + under = false; + moveY = -1.25f; + }}); + }}; + + reload = 18f; + range = 220f; size = 2; - burstSpacing = 5f; - shots = 2; targetGround = false; - recoilAmount = 2f; + shoot.shotDelay = 5f; + shoot.shots = 2; + + recoil = 1f; rotateSpeed = 15f; inaccuracy = 17f; shootCone = 35f; - health = 200 * size * size; + scaledHealth = 200; shootSound = Sounds.shootSnap; + coolant = consumeCoolant(0.2f); + researchCostMultiplier = 0.05f; + + limitRange(2); }}; scorch = new ItemTurret("scorch"){{ requirements(Category.turret, with(Items.copper, 25, Items.graphite, 22)); ammo( - Items.coal, Bullets.basicFlame, - Items.pyratite, Bullets.pyraFlame + Items.coal, new BulletType(3.35f, 17f){{ + ammoMultiplier = 3f; + hitSize = 7f; + lifetime = 18f; + pierce = true; + collidesAir = false; + statusDuration = 60f * 4; + shootEffect = Fx.shootSmallFlame; + hitEffect = Fx.hitFlameSmall; + despawnEffect = Fx.none; + status = StatusEffects.burning; + keepVelocity = false; + hittable = false; + }}, + Items.pyratite, new BulletType(4f, 60f){{ + ammoMultiplier = 6f; + hitSize = 7f; + lifetime = 18f; + pierce = true; + collidesAir = false; + statusDuration = 60f * 10; + shootEffect = Fx.shootPyraFlame; + hitEffect = Fx.hitFlameSmall; + despawnEffect = Fx.none; + status = StatusEffects.burning; + hittable = false; + }} ); - recoilAmount = 0f; - reloadTime = 6f; + recoil = 0f; + reload = 6f; coolantMultiplier = 1.5f; range = 60f; + shootY = 3; shootCone = 50f; targetAir = false; ammoUseEffect = Fx.none; health = 400; shootSound = Sounds.flame; + coolant = consumeCoolant(0.1f); }}; hail = new ItemTurret("hail"){{ requirements(Category.turret, with(Items.copper, 40, Items.graphite, 17)); ammo( - Items.graphite, Bullets.artilleryDense, - Items.silicon, Bullets.artilleryHoming, - Items.pyratite, Bullets.artilleryIncendiary + Items.graphite, new ArtilleryBulletType(3f, 20){{ + knockback = 0.8f; + lifetime = 80f; + width = height = 11f; + collidesTiles = false; + splashDamageRadius = 25f * 0.75f; + splashDamage = 33f; + }}, + Items.silicon, new ArtilleryBulletType(3f, 20){{ + knockback = 0.8f; + lifetime = 80f; + width = height = 11f; + collidesTiles = false; + splashDamageRadius = 25f * 0.75f; + splashDamage = 33f; + reloadMultiplier = 1.2f; + ammoMultiplier = 3f; + homingPower = 0.08f; + homingRange = 50f; + }}, + Items.pyratite, new ArtilleryBulletType(3f, 25){{ + hitEffect = Fx.blastExplosion; + knockback = 0.8f; + lifetime = 80f; + width = height = 13f; + collidesTiles = false; + splashDamageRadius = 25f * 0.75f; + splashDamage = 45f; + status = StatusEffects.burning; + statusDuration = 60f * 12f; + frontColor = Pal.lightishOrange; + backColor = Pal.lightOrange; + makeFire = true; + trailEffect = Fx.incendTrail; + ammoMultiplier = 4f; + }} ); targetAir = false; - reloadTime = 60f; - recoilAmount = 2f; - range = 230f; + reload = 60f; + recoil = 2f; + range = 235f; inaccuracy = 1f; shootCone = 10f; health = 260; shootSound = Sounds.bang; + coolant = consumeCoolant(0.1f); + limitRange(0f); }}; wave = new LiquidTurret("wave"){{ - requirements(Category.turret, with(Items.metaglass, 45, Items.lead, 75)); + requirements(Category.turret, with(Items.metaglass, 45, Items.lead, 75, Items.copper, 25)); ammo( - Liquids.water, Bullets.waterShot, - Liquids.slag, Bullets.slagShot, - Liquids.cryofluid, Bullets.cryoShot, - Liquids.oil, Bullets.oilShot + Liquids.water,new LiquidBulletType(Liquids.water){{ + knockback = 0.7f; + drag = 0.01f; + layer = Layer.bullet - 2f; + }}, + Liquids.slag, new LiquidBulletType(Liquids.slag){{ + damage = 4; + drag = 0.01f; + }}, + Liquids.cryofluid, new LiquidBulletType(Liquids.cryofluid){{ + drag = 0.01f; + }}, + Liquids.oil, new LiquidBulletType(Liquids.oil){{ + drag = 0.01f; + layer = Layer.bullet - 2f; + }} ); size = 2; - recoilAmount = 0f; - reloadTime = 2f; + recoil = 0f; + reload = 3f; inaccuracy = 5f; shootCone = 50f; liquidCapacity = 10f; shootEffect = Fx.shootLiquid; range = 110f; - health = 250 * size * size; + scaledHealth = 250; flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher); }}; + //TODO these may work in space, but what's the point? lancer = new PowerTurret("lancer"){{ - requirements(Category.turret, with(Items.copper, 60, Items.lead, 70, Items.silicon, 50)); + requirements(Category.turret, with(Items.copper, 60, Items.lead, 70, Items.silicon, 60, Items.titanium, 30)); range = 165f; - chargeTime = 40f; - chargeMaxDelay = 30f; - chargeEffects = 7; - recoilAmount = 2f; - reloadTime = 80f; - cooldown = 0.03f; - powerUse = 6f; - shootShake = 2f; + + shoot.firstShotDelay = 40f; + + recoil = 2f; + reload = 80f; + shake = 2f; shootEffect = Fx.lancerLaserShoot; smokeEffect = Fx.none; - chargeEffect = Fx.lancerLaserCharge; - chargeBeginEffect = Fx.lancerLaserChargeBegin; heatColor = Color.red; size = 2; - health = 280 * size * size; + scaledHealth = 280; targetAir = false; + moveWhileCharging = false; + accurateDelay = false; shootSound = Sounds.laser; + coolant = consumeCoolant(0.2f); + + consumePower(6f); shootType = new LaserBulletType(140){{ - colors = new Color[]{Pal.lancerLaser.cpy().mul(1f, 1f, 1f, 0.4f), Pal.lancerLaser, Color.white}; + colors = new Color[]{Pal.lancerLaser.cpy().a(0.4f), Pal.lancerLaser, Color.white}; + //TODO merge + chargeEffect = new MultiEffect(Fx.lancerLaserCharge, Fx.lancerLaserChargeBegin); + + buildingDamageMultiplier = 0.25f; hitEffect = Fx.hitLancer; - despawnEffect = Fx.none; hitSize = 4; lifetime = 16f; drawSize = 400f; collidesAir = false; length = 173f; + ammoMultiplier = 1f; + pierceCap = 4; }}; }}; @@ -1554,200 +3366,520 @@ public class Blocks implements ContentList{ damage = 20; lightningLength = 25; collidesAir = false; + ammoMultiplier = 1f; + + //for visual stats only. + buildingDamageMultiplier = 0.25f; + + lightningType = new BulletType(0.0001f, 0f){{ + lifetime = Fx.lightning.lifetime; + hitEffect = Fx.hitLancer; + despawnEffect = Fx.none; + status = StatusEffects.shocked; + statusDuration = 10f; + hittable = false; + lightColor = Color.white; + collidesAir = false; + buildingDamageMultiplier = 0.25f; + }}; }}; - reloadTime = 35f; + reload = 35f; shootCone = 40f; rotateSpeed = 8f; - powerUse = 3.3f; targetAir = false; range = 90f; shootEffect = Fx.lightningShoot; heatColor = Color.red; - recoilAmount = 1f; + recoil = 1f; size = 1; health = 260; shootSound = Sounds.spark; + consumePower(3.3f); + coolant = consumeCoolant(0.1f); }}; parallax = new TractorBeamTurret("parallax"){{ - requirements(Category.turret, with(Items.silicon, 120, Items.titanium, 90, Items.graphite, 30)); + requirements(Category.turret, with(Items.silicon, 160, Items.titanium, 110, Items.graphite, 50)); hasPower = true; size = 2; - force = 8f; - scaledForce = 7f; - range = 230f; - damage = 0.3f; - health = 160 * size * size; - rotateSpeed = 10; + force = 16f; + scaledForce = 9f; + range = 300f; + damage = 0.5f; + scaledHealth = 160; + rotateSpeed = 12; - consumes.powerCond(3f, (TractorBeamBuild e) -> e.target != null); + consumePower(3.3f); }}; swarmer = new ItemTurret("swarmer"){{ requirements(Category.turret, with(Items.graphite, 35, Items.titanium, 35, Items.plastanium, 45, Items.silicon, 30)); ammo( - Items.blastCompound, Bullets.missileExplosive, - Items.pyratite, Bullets.missileIncendiary, - Items.surgeAlloy, Bullets.missileSurge + Items.blastCompound, new MissileBulletType(3.7f, 10){{ + width = 8f; + height = 8f; + shrinkY = 0f; + splashDamageRadius = 30f; + splashDamage = 30f * 1.5f; + ammoMultiplier = 5f; + hitEffect = Fx.blastExplosion; + despawnEffect = Fx.blastExplosion; + + status = StatusEffects.blasted; + statusDuration = 60f; + }}, + Items.pyratite, new MissileBulletType(3.7f, 12){{ + frontColor = Pal.lightishOrange; + backColor = Pal.lightOrange; + width = 7f; + height = 8f; + shrinkY = 0f; + homingPower = 0.08f; + splashDamageRadius = 20f; + splashDamage = 30f * 1.5f; + makeFire = true; + ammoMultiplier = 5f; + hitEffect = Fx.blastExplosion; + status = StatusEffects.burning; + }}, + Items.surgeAlloy, new MissileBulletType(3.7f, 18){{ + width = 8f; + height = 8f; + shrinkY = 0f; + splashDamageRadius = 25f; + splashDamage = 25f * 1.4f; + hitEffect = Fx.blastExplosion; + despawnEffect = Fx.blastExplosion; + ammoMultiplier = 4f; + lightningDamage = 10; + lightning = 2; + lightningLength = 10; + }} ); - reloadTime = 30f; - shots = 4; - burstSpacing = 5; + + shoot = new ShootBarrel(){{ + barrels = new float[]{ + -4, -1.25f, 0, + 0, 0, 0, + 4, -1.25f, 0 + }; + shots = 4; + shotDelay = 5f; + }}; + + shootY = 4.5f; + reload = 30f; inaccuracy = 10f; - range = 190f; - xRand = 6f; + range = 240f; + consumeAmmoOnce = false; size = 2; - health = 300 * size * size; + scaledHealth = 300; shootSound = Sounds.missile; + envEnabled |= Env.space; + + limitRange(5f); + coolant = consumeCoolant(0.3f); }}; salvo = new ItemTurret("salvo"){{ - requirements(Category.turret, with(Items.copper, 100, Items.graphite, 90, Items.titanium, 60)); + requirements(Category.turret, with(Items.copper, 100, Items.graphite, 80, Items.titanium, 50)); ammo( - Items.copper, Bullets.standardCopper, - Items.graphite, Bullets.standardDense, - Items.pyratite, Bullets.standardIncendiary, - Items.silicon, Bullets.standardHoming, - Items.thorium, Bullets.standardThorium + Items.copper, new BasicBulletType(2.5f, 11){{ + width = 7f; + height = 9f; + lifetime = 60f; + ammoMultiplier = 2; + }}, + Items.graphite, new BasicBulletType(3.5f, 20){{ + width = 9f; + height = 12f; + reloadMultiplier = 0.6f; + ammoMultiplier = 4; + lifetime = 60f; + }}, + Items.pyratite, new BasicBulletType(3.2f, 18){{ + width = 10f; + height = 12f; + frontColor = Pal.lightishOrange; + backColor = Pal.lightOrange; + status = StatusEffects.burning; + hitEffect = new MultiEffect(Fx.hitBulletSmall, Fx.fireHit); + + ammoMultiplier = 5; + + splashDamage = 12f; + splashDamageRadius = 22f; + + makeFire = true; + lifetime = 60f; + }}, + Items.silicon, new BasicBulletType(3f, 15, "bullet"){{ + width = 7f; + height = 9f; + homingPower = 0.1f; + reloadMultiplier = 1.5f; + ammoMultiplier = 5; + lifetime = 60f; + }}, + Items.thorium, new BasicBulletType(4f, 29, "bullet"){{ + width = 10f; + height = 13f; + shootEffect = Fx.shootBig; + smokeEffect = Fx.shootBigSmoke; + ammoMultiplier = 4; + lifetime = 60f; + }} ); + drawer = new DrawTurret(){{ + parts.add(new RegionPart("-side"){{ + progress = PartProgress.warmup; + moveX = 0.6f; + moveRot = -15f; + mirror = true; + layerOffset = 0.001f; + moves.add(new PartMove(PartProgress.recoil, 0.5f, -0.5f, -8f)); + }}, new RegionPart("-barrel"){{ + progress = PartProgress.recoil; + moveY = -2.5f; + }}); + }}; + size = 2; - range = 150f; - reloadTime = 38f; - restitution = 0.03f; + range = 190f; + reload = 31f; + consumeAmmoOnce = false; ammoEjectBack = 3f; - cooldown = 0.03f; - recoilAmount = 3f; - shootShake = 1f; - burstSpacing = 3f; - shots = 4; + recoil = 0f; + shake = 1f; + shoot.shots = 4; + shoot.shotDelay = 3f; + ammoUseEffect = Fx.casing2; - health = 240 * size * size; + scaledHealth = 240; shootSound = Sounds.shootBig; + + limitRange(); + coolant = consumeCoolant(0.2f); }}; segment = new PointDefenseTurret("segment"){{ - requirements(Category.turret, with(Items.silicon, 130, Items.thorium, 80, Items.phaseFabric, 40)); + requirements(Category.turret, with(Items.silicon, 130, Items.thorium, 80, Items.phaseFabric, 40, Items.titanium, 40)); - health = 250 * size * size; - range = 160f; + scaledHealth = 250; + range = 180f; hasPower = true; - consumes.powerCond(8f, (PointDefenseBuild b) -> b.target != null); + consumePower(8f); size = 2; shootLength = 5f; - bulletDamage = 25f; - reloadTime = 9f; + bulletDamage = 30f; + reload = 8f; + envEnabled |= Env.space; }}; tsunami = new LiquidTurret("tsunami"){{ requirements(Category.turret, with(Items.metaglass, 100, Items.lead, 400, Items.titanium, 250, Items.thorium, 100)); ammo( - Liquids.water, Bullets.heavyWaterShot, - Liquids.slag, Bullets.heavySlagShot, - Liquids.cryofluid, Bullets.heavyCryoShot, - Liquids.oil, Bullets.heavyOilShot + Liquids.water, new LiquidBulletType(Liquids.water){{ + lifetime = 49f; + speed = 4f; + knockback = 1.7f; + puddleSize = 8f; + orbSize = 4f; + drag = 0.001f; + ammoMultiplier = 0.4f; + statusDuration = 60f * 4f; + damage = 0.2f; + layer = Layer.bullet - 2f; + }}, + Liquids.slag, new LiquidBulletType(Liquids.slag){{ + lifetime = 49f; + speed = 4f; + knockback = 1.3f; + puddleSize = 8f; + orbSize = 4f; + damage = 4.75f; + drag = 0.001f; + ammoMultiplier = 0.4f; + statusDuration = 60f * 4f; + }}, + Liquids.cryofluid, new LiquidBulletType(Liquids.cryofluid){{ + lifetime = 49f; + speed = 4f; + knockback = 1.3f; + puddleSize = 8f; + orbSize = 4f; + drag = 0.001f; + ammoMultiplier = 0.4f; + statusDuration = 60f * 4f; + damage = 0.2f; + }}, + Liquids.oil, new LiquidBulletType(Liquids.oil){{ + lifetime = 49f; + speed = 4f; + knockback = 1.3f; + puddleSize = 8f; + orbSize = 4f; + drag = 0.001f; + ammoMultiplier = 0.4f; + statusDuration = 60f * 4f; + damage = 0.2f; + layer = Layer.bullet - 2f; + }} ); size = 3; - recoilAmount = 0f; - reloadTime = 2f; - shots = 2; - velocityInaccuracy = 0.1f; + reload = 3f; + shoot.shots = 2; + velocityRnd = 0.1f; inaccuracy = 4f; - recoilAmount = 1f; - restitution = 0.04f; + recoil = 1f; shootCone = 45f; liquidCapacity = 40f; shootEffect = Fx.shootLiquid; range = 190f; - health = 250 * size * size; + scaledHealth = 250; + flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher); }}; fuse = new ItemTurret("fuse"){{ requirements(Category.turret, with(Items.copper, 225, Items.graphite, 225, Items.thorium, 100)); - reloadTime = 35f; - shootShake = 4f; + reload = 35f; + shake = 4f; range = 90f; - recoilAmount = 5f; - shots = 3; - spread = 20f; - restitution = 0.1f; + recoil = 5f; + + shoot = new ShootSpread(3, 20f); + shootCone = 30; size = 3; + envEnabled |= Env.space; - health = 220 * size * size; + scaledHealth = 220; shootSound = Sounds.shotgun; + coolant = consumeCoolant(0.3f); float brange = range + 10f; ammo( - Items.titanium, new ShrapnelBulletType(){{ - length = brange; - damage = 66f; - ammoMultiplier = 4f; - width = 17f; - reloadMultiplier = 1.3f; - }}, - Items.thorium, new ShrapnelBulletType(){{ - length = brange; - damage = 105f; - ammoMultiplier = 5f; - toColor = Pal.thoriumPink; - shootEffect = smokeEffect = Fx.thoriumShoot; - }} + Items.titanium, new ShrapnelBulletType(){{ + length = brange; + damage = 66f; + ammoMultiplier = 4f; + width = 17f; + reloadMultiplier = 1.3f; + }}, + Items.thorium, new ShrapnelBulletType(){{ + length = brange; + damage = 105f; + ammoMultiplier = 5f; + toColor = Pal.thoriumPink; + shootEffect = smokeEffect = Fx.thoriumShoot; + }} ); }}; ripple = new ItemTurret("ripple"){{ requirements(Category.turret, with(Items.copper, 150, Items.graphite, 135, Items.titanium, 60)); ammo( - Items.graphite, Bullets.artilleryDense, - Items.silicon, Bullets.artilleryHoming, - Items.pyratite, Bullets.artilleryIncendiary, - Items.blastCompound, Bullets.artilleryExplosive, - Items.plastanium, Bullets.artilleryPlastic + Items.graphite, new ArtilleryBulletType(3f, 20){{ + knockback = 0.8f; + lifetime = 80f; + width = height = 11f; + collidesTiles = false; + splashDamageRadius = 25f * 0.75f; + splashDamage = 33f; + }}, + Items.silicon, new ArtilleryBulletType(3f, 20){{ + knockback = 0.8f; + lifetime = 80f; + width = height = 11f; + collidesTiles = false; + splashDamageRadius = 25f * 0.75f; + splashDamage = 33f; + reloadMultiplier = 1.2f; + ammoMultiplier = 3f; + homingPower = 0.08f; + homingRange = 50f; + }}, + Items.pyratite, new ArtilleryBulletType(3f, 24){{ + hitEffect = Fx.blastExplosion; + knockback = 0.8f; + lifetime = 80f; + width = height = 13f; + collidesTiles = false; + splashDamageRadius = 25f * 0.75f; + splashDamage = 45f; + status = StatusEffects.burning; + statusDuration = 60f * 12f; + frontColor = Pal.lightishOrange; + backColor = Pal.lightOrange; + makeFire = true; + trailEffect = Fx.incendTrail; + ammoMultiplier = 4f; + }}, + Items.blastCompound, new ArtilleryBulletType(2f, 20, "shell"){{ + hitEffect = Fx.blastExplosion; + knockback = 0.8f; + lifetime = 80f; + width = height = 14f; + collidesTiles = false; + ammoMultiplier = 4f; + splashDamageRadius = 45f * 0.75f; + splashDamage = 55f; + backColor = Pal.missileYellowBack; + frontColor = Pal.missileYellow; + + status = StatusEffects.blasted; + }}, + Items.plastanium, new ArtilleryBulletType(3.4f, 20, "shell"){{ + hitEffect = Fx.plasticExplosion; + knockback = 1f; + lifetime = 80f; + width = height = 13f; + collidesTiles = false; + splashDamageRadius = 35f * 0.75f; + splashDamage = 45f; + fragBullet = new BasicBulletType(2.5f, 10, "bullet"){{ + width = 10f; + height = 12f; + shrinkY = 1f; + lifetime = 15f; + backColor = Pal.plastaniumBack; + frontColor = Pal.plastaniumFront; + despawnEffect = Fx.none; + collidesAir = false; + }}; + fragBullets = 10; + backColor = Pal.plastaniumBack; + frontColor = Pal.plastaniumFront; + }} ); targetAir = false; size = 3; - shots = 4; + shoot.shots = 4; inaccuracy = 12f; - reloadTime = 60f; + reload = 60f; ammoEjectBack = 5f; ammoUseEffect = Fx.casing3Double; ammoPerShot = 2; - cooldown = 0.03f; - velocityInaccuracy = 0.2f; - restitution = 0.02f; - recoilAmount = 6f; - shootShake = 2f; + velocityRnd = 0.2f; + scaleLifetimeOffset = 1f / 9f; + recoil = 6f; + shake = 2f; range = 290f; minRange = 50f; + coolant = consumeCoolant(0.3f); - health = 130 * size * size; + scaledHealth = 130; shootSound = Sounds.artillery; }}; cyclone = new ItemTurret("cyclone"){{ requirements(Category.turret, with(Items.copper, 200, Items.titanium, 125, Items.plastanium, 80)); ammo( - Items.metaglass, Bullets.fragGlass, - Items.blastCompound, Bullets.fragExplosive, - Items.plastanium, Bullets.fragPlastic, - Items.surgeAlloy, Bullets.fragSurge + Items.metaglass, new FlakBulletType(4f, 6){{ + ammoMultiplier = 2f; + shootEffect = Fx.shootSmall; + reloadMultiplier = 0.8f; + width = 6f; + height = 8f; + hitEffect = Fx.flakExplosion; + splashDamage = 45f; + splashDamageRadius = 25f; + fragBullet = new BasicBulletType(3f, 12, "bullet"){{ + width = 5f; + height = 12f; + shrinkY = 1f; + lifetime = 20f; + backColor = Pal.gray; + frontColor = Color.white; + despawnEffect = Fx.none; + }}; + fragBullets = 4; + explodeRange = 20f; + collidesGround = true; + }}, + Items.blastCompound, new FlakBulletType(4f, 8){{ + shootEffect = Fx.shootBig; + ammoMultiplier = 5f; + splashDamage = 45f; + splashDamageRadius = 60f; + collidesGround = true; + + status = StatusEffects.blasted; + statusDuration = 60f; + }}, + Items.plastanium, new FlakBulletType(4f, 8){{ + ammoMultiplier = 4f; + splashDamageRadius = 40f; + splashDamage = 37.5f; + fragBullet = new BasicBulletType(2.5f, 12, "bullet"){{ + width = 10f; + height = 12f; + shrinkY = 1f; + lifetime = 15f; + backColor = Pal.plastaniumBack; + frontColor = Pal.plastaniumFront; + despawnEffect = Fx.none; + }}; + fragBullets = 6; + hitEffect = Fx.plasticExplosion; + frontColor = Pal.plastaniumFront; + backColor = Pal.plastaniumBack; + shootEffect = Fx.shootBig; + collidesGround = true; + explodeRange = 20f; + }}, + Items.surgeAlloy, new FlakBulletType(4.5f, 13){{ + ammoMultiplier = 5f; + splashDamage = 50f * 1.5f; + splashDamageRadius = 38f; + lightning = 2; + lightningLength = 7; + shootEffect = Fx.shootBig; + collidesGround = true; + explodeRange = 20f; + }} ); - xRand = 4f; - reloadTime = 8f; + shootY = 10f; + + shoot = new ShootBarrel(){{ + barrels = new float[]{ + 0f, 1f, 0f, + 3f, 0f, 0f, + -3f, 0f, 0f, + }; + }}; + + recoils = 3; + drawer = new DrawTurret(){{ + for(int i = 3; i > 0; i--){ + int f = i; + parts.add(new RegionPart("-barrel-" + i){{ + progress = PartProgress.recoil; + recoilIndex = f - 1; + under = true; + moveY = -2f; + }}); + } + }}; + + reload = 8f; range = 200f; size = 3; - recoilAmount = 3f; + recoil = 1.5f; + recoilTime = 10; rotateSpeed = 10f; inaccuracy = 10f; shootCone = 30f; shootSound = Sounds.shootSnap; + coolant = consumeCoolant(0.3f); - health = 145 * size * size; + scaledHealth = 145; + limitRange(); }}; foreshadow = new ItemTurret("foreshadow"){{ @@ -1755,118 +3887,1978 @@ public class Blocks implements ContentList{ requirements(Category.turret, with(Items.copper, 1000, Items.metaglass, 600, Items.surgeAlloy, 300, Items.plastanium, 200, Items.silicon, 600)); ammo( - Items.surgeAlloy, new PointBulletType(){{ - shootEffect = Fx.instShoot; - hitEffect = Fx.instHit; - smokeEffect = Fx.smokeCloud; - trailEffect = Fx.instTrail; - despawnEffect = Fx.instBomb; - trailSpacing = 20f; - damage = 1350; - buildingDamageMultiplier = 0.3f; - speed = brange; - hitShake = 6f; - ammoMultiplier = 1f; - }} + Items.surgeAlloy, new RailBulletType(){{ + shootEffect = Fx.instShoot; + hitEffect = Fx.instHit; + pierceEffect = Fx.railHit; + smokeEffect = Fx.smokeCloud; + pointEffect = Fx.instTrail; + despawnEffect = Fx.instBomb; + pointEffectSpace = 20f; + damage = 1350; + buildingDamageMultiplier = 0.2f; + maxDamageFraction = 0.6f; + pierceDamageFactor = 1f; + length = brange; + hitShake = 6f; + ammoMultiplier = 1f; + }} ); maxAmmo = 40; - ammoPerShot = 4; + ammoPerShot = 5; rotateSpeed = 2f; - reloadTime = 200f; + reload = 200f; ammoUseEffect = Fx.casing3Double; - recoilAmount = 5f; - restitution = 0.009f; - cooldown = 0.009f; - shootShake = 4f; - shots = 1; + recoil = 5f; + cooldownTime = reload; + shake = 4f; size = 4; shootCone = 2f; shootSound = Sounds.railgun; - unitSort = (u, x, y) -> -u.maxHealth; + unitSort = UnitSorts.strongest; + envEnabled |= Env.space; coolantMultiplier = 0.4f; + scaledHealth = 150; - health = 150 * size * size; - coolantUsage = 1f; - - consumes.powerCond(10f, TurretBuild::isActive); + coolant = consumeCoolant(1f); + consumePower(10f); }}; spectre = new ItemTurret("spectre"){{ requirements(Category.turret, with(Items.copper, 900, Items.graphite, 300, Items.surgeAlloy, 250, Items.plastanium, 175, Items.thorium, 250)); ammo( - Items.graphite, Bullets.standardDenseBig, - Items.pyratite, Bullets.standardIncendiaryBig, - Items.thorium, Bullets.standardThoriumBig + Items.graphite, new BasicBulletType(7.5f, 50){{ + hitSize = 4.8f; + width = 15f; + height = 21f; + shootEffect = Fx.shootBig; + ammoMultiplier = 4; + reloadMultiplier = 1.7f; + knockback = 0.3f; + }}, + Items.thorium, new BasicBulletType(8f, 80){{ + hitSize = 5; + width = 16f; + height = 23f; + shootEffect = Fx.shootBig; + pierceCap = 2; + pierceBuilding = true; + knockback = 0.7f; + }}, + Items.pyratite, new BasicBulletType(7f, 70){{ + hitSize = 5; + width = 16f; + height = 21f; + frontColor = Pal.lightishOrange; + backColor = Pal.lightOrange; + status = StatusEffects.burning; + hitEffect = new MultiEffect(Fx.hitBulletSmall, Fx.fireHit); + shootEffect = Fx.shootBig; + makeFire = true; + pierceCap = 2; + pierceBuilding = true; + knockback = 0.6f; + ammoMultiplier = 3; + splashDamage = 20f; + splashDamageRadius = 25f; + }} ); - reloadTime = 6f; + reload = 7f; + recoilTime = reload * 2f; coolantMultiplier = 0.5f; - restitution = 0.1f; ammoUseEffect = Fx.casing3; - range = 200f; + range = 260f; inaccuracy = 3f; - recoilAmount = 3f; - spread = 8f; - alternate = true; - shootShake = 2f; - shots = 2; + recoil = 3f; + shoot = new ShootAlternate(8f); + shake = 2f; size = 4; shootCone = 24f; shootSound = Sounds.shootBig; - health = 160 * size * size; - coolantUsage = 1f; + scaledHealth = 160; + coolant = consumeCoolant(1f); + + limitRange(); }}; meltdown = new LaserTurret("meltdown"){{ requirements(Category.turret, with(Items.copper, 1200, Items.lead, 350, Items.graphite, 300, Items.surgeAlloy, 325, Items.silicon, 325)); shootEffect = Fx.shootBigSmoke2; shootCone = 40f; - recoilAmount = 4f; + recoil = 4f; size = 4; - shootShake = 2f; - range = 190f; - reloadTime = 90f; + shake = 2f; + range = 195f; + reload = 90f; firingMoveFract = 0.5f; - shootDuration = 220f; - powerUse = 17f; + shootDuration = 230f; shootSound = Sounds.laserbig; loopSound = Sounds.beam; loopSoundVolume = 2f; + envEnabled |= Env.space; - shootType = new ContinuousLaserBulletType(70){{ + shootType = new ContinuousLaserBulletType(78){{ length = 200f; hitEffect = Fx.hitMeltdown; + hitColor = Pal.meltdownHit; + status = StatusEffects.melting; drawSize = 420f; + timescaleDamage = true; incendChance = 0.4f; incendSpread = 5f; incendAmount = 1; + ammoMultiplier = 1f; }}; - health = 200 * size * size; - consumes.add(new ConsumeLiquidFilter(liquid -> liquid.temperature <= 0.5f && liquid.flammability < 0.1f, 0.5f)).update(false); + scaledHealth = 200; + coolant = consumeCoolant(0.5f); + consumePower(17f); + }}; + + breach = new ItemTurret("breach"){{ + requirements(Category.turret, with(Items.beryllium, 150, Items.silicon, 150, Items.graphite, 250)); + + Effect sfe = new MultiEffect(Fx.shootBigColor, Fx.colorSparkBig); + + ammo( + Items.beryllium, new BasicBulletType(7.5f, 85){{ + width = 12f; + hitSize = 7f; + height = 20f; + shootEffect = sfe; + smokeEffect = Fx.shootBigSmoke; + ammoMultiplier = 1; + pierceCap = 2; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Pal.berylShot; + frontColor = Color.white; + trailWidth = 2.1f; + trailLength = 10; + hitEffect = despawnEffect = Fx.hitBulletColor; + buildingDamageMultiplier = 0.3f; + }}, + Items.tungsten, new BasicBulletType(8f, 95){{ + width = 13f; + height = 19f; + hitSize = 7f; + shootEffect = sfe; + smokeEffect = Fx.shootBigSmoke; + ammoMultiplier = 1; + reloadMultiplier = 1f; + pierceCap = 4; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Pal.tungstenShot; + frontColor = Color.white; + trailWidth = 2.2f; + trailLength = 11; + hitEffect = despawnEffect = Fx.hitBulletColor; + rangeChange = 40f; + buildingDamageMultiplier = 0.3f; + }}, + Items.carbide, new BasicBulletType(12f, 325f/0.75f){{ + width = 15f; + height = 21f; + hitSize = 7f; + shootEffect = sfe; + smokeEffect = Fx.shootBigSmoke; + ammoMultiplier = 2; + reloadMultiplier = 0.2f; + hitColor = backColor = trailColor = Color.valueOf("ab8ec5"); + frontColor = Color.white; + trailWidth = 2.2f; + trailLength = 11; + trailEffect = Fx.disperseTrail; + trailInterval = 2f; + hitEffect = despawnEffect = Fx.hitBulletColor; + rangeChange = 7f*8f; + buildingDamageMultiplier = 0.3f; + //targetBlocks = false; + //targetMissiles = false; + trailRotation = true; + + fragBullets = 3; + fragRandomSpread = 0f; + fragSpread = 25f; + fragVelocityMin = 1f; + + fragBullet = new BasicBulletType(8.1f, 227f){{ + lifetime = 8f; + width = 11f; + height = 14f; + hitSize = 7f; + shootEffect = sfe; + ammoMultiplier = 1; + reloadMultiplier = 1f; + pierceCap = 2; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Color.valueOf("ab8ec5"); + frontColor = Color.white; + trailWidth = 1.8f; + trailLength = 11; + hitEffect = despawnEffect = Fx.hitBulletColor; + buildingDamageMultiplier = 0.2f; + }}; + }} + ); + + coolantMultiplier = 15f; + shootSound = Sounds.shootAlt; + + targetUnderBlocks = false; + shake = 1f; + ammoPerShot = 2; + drawer = new DrawTurret("reinforced-"); + shootY = -2; + outlineColor = Pal.darkOutline; + size = 3; + envEnabled |= Env.space; + reload = 40f; + recoil = 2f; + range = 190; + shootCone = 3f; + scaledHealth = 180; + rotateSpeed = 1.5f; + researchCostMultiplier = 0.05f; + + coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f)); + limitRange(12f); + }}; + + diffuse = new ItemTurret("diffuse"){{ + requirements(Category.turret, with(Items.beryllium, 150, Items.silicon, 200, Items.graphite, 200, Items.tungsten, 50)); + + ammo( + Items.graphite, new BasicBulletType(8f, 41){{ + knockback = 4f; + width = 25f; + hitSize = 7f; + height = 20f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareSparse; + ammoMultiplier = 1; + hitColor = backColor = trailColor = Color.valueOf("ea8878"); + frontColor = Pal.redLight; + trailWidth = 6f; + trailLength = 3; + hitEffect = despawnEffect = Fx.hitSquaresColor; + buildingDamageMultiplier = 0.2f; + }}, + Items.oxide, new BasicBulletType(8f, 120){{ + knockback = 3f; + width = 25f; + hitSize = 7f; + height = 20f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareSparse; + ammoMultiplier = 2; + hitColor = backColor = trailColor = Color.valueOf("a0b380"); + frontColor = Color.valueOf("e4ffd6"); + trailWidth = 6f; + trailLength = 3; + hitEffect = despawnEffect = Fx.hitSquaresColor; + buildingDamageMultiplier = 0.2f; + }}, + Items.silicon, new BasicBulletType(8f, 35){{ + knockback = 3f; + width = 25f; + hitSize = 7f; + height = 20f; + homingPower = 0.045f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareSparse; + ammoMultiplier = 1; + hitColor = backColor = trailColor = Color.valueOf("858a9b"); + frontColor = Color.valueOf("dae1ee"); + trailWidth = 6f; + trailLength = 6; + hitEffect = despawnEffect = Fx.hitSquaresColor; + buildingDamageMultiplier = 0.2f; + }} + ); + + shoot = new ShootSpread(15, 4f); + + coolantMultiplier = 15f; + + inaccuracy = 0.2f; + velocityRnd = 0.17f; + shake = 1f; + ammoPerShot = 3; + maxAmmo = 30; + consumeAmmoOnce = true; + targetUnderBlocks = false; + + shootSound = Sounds.shootAltLong; + + drawer = new DrawTurret("reinforced-"){{ + parts.add(new RegionPart("-front"){{ + progress = PartProgress.warmup; + moveRot = -10f; + mirror = true; + moves.add(new PartMove(PartProgress.recoil, 0f, -3f, -5f)); + heatColor = Color.red; + }}); + }}; + shootY = 5f; + outlineColor = Pal.darkOutline; + size = 3; + envEnabled |= Env.space; + reload = 30f; + recoil = 2f; + range = 125; + shootCone = 40f; + scaledHealth = 210; + rotateSpeed = 3f; + + coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f)); + limitRange(25f); + }}; + + sublimate = new ContinuousLiquidTurret("sublimate"){{ + requirements(Category.turret, with(Items.tungsten, 150, Items.silicon, 200, Items.oxide, 40, Items.beryllium, 400)); + + drawer = new DrawTurret("reinforced-"){{ + + Color heatc = Color.valueOf("fa2859"); + heatColor = heatc; + + parts.addAll( + new RegionPart("-back"){{ + progress = PartProgress.warmup; + mirror = true; + moveRot = 40f; + x = 22 / 4f; + y = -1f / 4f; + moveY = 6f / 4f; + under = true; + heatColor = heatc; + }}, + new RegionPart("-front"){{ + progress = PartProgress.warmup; + mirror = true; + moveRot = 40f; + x = 20 / 4f; + y = 17f / 4f; + moveX = 1f; + moveY = 1f; + under = true; + heatColor = heatc; + }}, + new RegionPart("-nozzle"){{ + progress = PartProgress.warmup; + mirror = true; + moveX = 8f / 4f; + heatColor = Color.valueOf("f03b0e"); + }}); + }}; + outlineColor = Pal.darkOutline; + + liquidConsumed = 10f / 60f; + targetInterval = 5f; + newTargetInterval = 30f; + targetUnderBlocks = false; + + float r = range = 130f; + + loopSound = Sounds.torch; + shootSound = Sounds.none; + loopSoundVolume = 1f; + + ammo( + Liquids.ozone, new ContinuousFlameBulletType(){{ + damage = 60f; + length = r; + knockback = 1f; + pierceCap = 2; + buildingDamageMultiplier = 0.3f; + + colors = new Color[]{Color.valueOf("eb7abe").a(0.55f), Color.valueOf("e189f5").a(0.7f), Color.valueOf("907ef7").a(0.8f), Color.valueOf("91a4ff"), Color.white}; + }}, + Liquids.cyanogen, new ContinuousFlameBulletType(){{ + damage = 130f; + rangeChange = 70f; + length = r + rangeChange; + knockback = 2f; + pierceCap = 3; + buildingDamageMultiplier = 0.3f; + + colors = new Color[]{Color.valueOf("465ab8").a(0.55f), Color.valueOf("66a6d2").a(0.7f), Color.valueOf("89e8b6").a(0.8f), Color.valueOf("cafcbe"), Color.white}; + flareColor = Color.valueOf("89e8b6"); + + lightColor = hitColor = flareColor; + }} + ); + + scaledHealth = 210; + shootY = 7f; + size = 3; + + researchCost = with(Items.tungsten, 400, Items.silicon, 400, Items.oxide, 80, Items.beryllium, 800); + }}; + + titan = new ItemTurret("titan"){{ + requirements(Category.turret, with(Items.tungsten, 250, Items.silicon, 300, Items.thorium, 400)); + + ammo( + //TODO another ammo type + Items.thorium, new ArtilleryBulletType(2.5f, 350, "shell"){{ + hitEffect = new MultiEffect(Fx.titanExplosion, Fx.titanSmoke); + despawnEffect = Fx.none; + knockback = 2f; + lifetime = 140f; + height = 19f; + width = 17f; + splashDamageRadius = 65f; + splashDamage = 350f; + scaledSplashDamage = true; + backColor = hitColor = trailColor = Color.valueOf("ea8878").lerp(Pal.redLight, 0.5f); + frontColor = Color.white; + ammoMultiplier = 1f; + hitSound = Sounds.titanExplosion; + + status = StatusEffects.blasted; + + trailLength = 32; + trailWidth = 3.35f; + trailSinScl = 2.5f; + trailSinMag = 0.5f; + trailEffect = Fx.none; + despawnShake = 7f; + + shootEffect = Fx.shootTitan; + smokeEffect = Fx.shootSmokeTitan; + + trailInterp = v -> Math.max(Mathf.slope(v), 0.8f); + shrinkX = 0.2f; + shrinkY = 0.1f; + buildingDamageMultiplier = 0.3f; + }}, + Items.carbide, new ArtilleryBulletType(2.5f, 500, "shell"){{ + hitEffect = new MultiEffect(Fx.titanExplosion, Fx.titanSmoke); + despawnEffect = Fx.none; + knockback = 3f; + lifetime = 140f; + height = 19f; + width = 17f; + splashDamageRadius = 55f; + splashDamage = 650f; + rangeChange = 10f*8f; + scaledSplashDamage = true; + backColor = hitColor = trailColor = Color.valueOf("ab8ec5"); + frontColor = Color.white; + ammoMultiplier = 1f; + hitSound = Sounds.titanExplosion; + + status = StatusEffects.blasted; + + trailLength = 32; + trailWidth = 3.35f; + trailSinScl = 2.5f; + trailSinMag = 0.5f; + trailEffect = Fx.disperseTrail; + trailInterval = 2f; + despawnShake = 7f; + + shootEffect = Fx.shootTitan; + smokeEffect = Fx.shootSmokeTitan; + trailRotation = true; + + trailInterp = v -> Math.max(Mathf.slope(v), 0.8f); + shrinkX = 0.2f; + shrinkY = 0.1f; + buildingDamageMultiplier = 0.2f; + }}, + Items.oxide, new ArtilleryBulletType(2.5f, 300, "shell"){{ + hitEffect = new MultiEffect(Fx.titanExplosionLarge, Fx.titanSmokeLarge, Fx.smokeAoeCloud); + despawnEffect = Fx.none; + knockback = 2f; + lifetime = 190f; + height = 19f; + width = 17f; + reloadMultiplier = 0.8f; + splashDamageRadius = 110f; + rangeChange = 8f; + splashDamage = 300f; + scaledSplashDamage = true; + hitColor = backColor = trailColor = Color.valueOf("a0b380"); + frontColor = Color.valueOf("e4ffd6"); + ammoMultiplier = 1f; + hitSound = Sounds.titanExplosion; + + status = StatusEffects.blasted; + + trailLength = 32; + trailWidth = 3.35f; + trailSinScl = 2.5f; + trailSinMag = 0.5f; + trailEffect = Fx.vapor; + trailInterval = 3f; + despawnShake = 7f; + + shootEffect = Fx.shootTitan; + smokeEffect = Fx.shootSmokeTitan; + + trailInterp = v -> Math.max(Mathf.slope(v), 0.8f); + shrinkX = 0.2f; + shrinkY = 0.1f; + buildingDamageMultiplier = 0.25f; + + fragBullets = 1; + fragBullet = new EmptyBulletType(){{ + lifetime = 60f * 2.5f; + bulletInterval = 20f; + intervalBullet = new EmptyBulletType(){{ + splashDamage = 30f; + collidesGround = true; + collidesAir = false; + collides = false; + hitEffect = Fx.none; + pierce = true; + instantDisappear = true; + splashDamageRadius = 90f; + buildingDamageMultiplier = 0.2f; + }}; + }}; + }} + ); + + shootSound = Sounds.mediumCannon; + ammoPerShot = 4; + maxAmmo = ammoPerShot * 3; + targetAir = false; + shake = 4f; + recoil = 1f; + reload = 60f * 2.3f; + shootY = 7f; + rotateSpeed = 1.4f; + minWarmup = 0.85f; + + newTargetInterval = 40f; + shootWarmupSpeed = 0.07f; + warmupMaintainTime = 120f; + + coolant = consume(new ConsumeLiquid(Liquids.water, 30f / 60f)); + coolantMultiplier = 3.75f; + + drawer = new DrawTurret("reinforced-"){{ + parts.addAll( + new RegionPart("-barrel"){{ + progress = PartProgress.recoil.curve(Interp.pow2In); + moveY = -5f * 4f / 3f; + heatColor = Color.valueOf("f03b0e"); + mirror = false; + }}, + new RegionPart("-side"){{ + heatProgress = PartProgress.warmup; + progress = PartProgress.warmup; + mirror = true; + moveX = 2f * 4f / 3f; + moveY = -0.5f; + moveRot = -40f; + under = true; + heatColor = Color.red.cpy(); + }}); + }}; + + shootWarmupSpeed = 0.08f; + + outlineColor = Pal.darkOutline; + + consumeLiquid(Liquids.hydrogen, 5f / 60f); + + scaledHealth = 250; + range = 390f; + size = 4; + }}; + + disperse = new ItemTurret("disperse"){{ + requirements(Category.turret, with(Items.thorium, 50, Items.oxide, 150, Items.silicon, 200, Items.beryllium, 350)); + + ammo( + Items.tungsten, new BasicBulletType(){{ + damage = 65; + speed = 8.5f; + width = height = 16; + shrinkY = 0.3f; + backSprite = "large-bomb-back"; + sprite = "mine-bullet"; + velocityRnd = 0.11f; + collidesGround = false; + collidesTiles = false; + shootEffect = Fx.shootBig2; + smokeEffect = Fx.shootSmokeDisperse; + frontColor = Color.white; + backColor = trailColor = hitColor = Color.sky; + trailChance = 0.44f; + ammoMultiplier = 3f; + + lifetime = 34f; + rotationOffset = 90f; + trailRotation = true; + trailEffect = Fx.disperseTrail; + + hitEffect = despawnEffect = Fx.hitBulletColor; + }}, + Items.thorium, new BasicBulletType(){{ + damage = 90; + reloadMultiplier = 0.85f; + speed = 9.5f; + width = height = 16; + pierceCap = 2; + shrinkY = 0.3f; + backSprite = "large-bomb-back"; + sprite = "mine-bullet"; + velocityRnd = 0.5f; + collidesGround = false; + collidesTiles = false; + shootEffect = Fx.shootBig2; + smokeEffect = Fx.shootSmokeDisperse; + frontColor = Color.white; + backColor = trailColor = hitColor = Color.valueOf("e89dbd"); + trailChance = 0.44f; + ammoMultiplier = 2f; + + lifetime = 34f; + rotationOffset = 90f; + trailRotation = true; + trailEffect = Fx.disperseTrail; + + hitEffect = despawnEffect = Fx.hitBulletColor; + }}, + Items.silicon, new BasicBulletType(){{ + damage = 35; + homingPower = 0.045f; + + reloadMultiplier = 0.9f; + speed = 9f; + width = height = 16; + shrinkY = 0.3f; + backSprite = "large-bomb-back"; + sprite = "mine-bullet"; + velocityRnd = 0.11f; + collidesGround = false; + collidesTiles = false; + shootEffect = Fx.shootBig2; + smokeEffect = Fx.shootSmokeDisperse; + frontColor = Color.valueOf("dae1ee"); + backColor = trailColor = hitColor = Color.valueOf("858a9b"); + ammoMultiplier = 3f; + + lifetime = 34f; + rotationOffset = 90f; + trailLength = 7; + //for chasing targets + extraRangeMargin = 32f; + + hitEffect = despawnEffect = Fx.hitBulletColor; + }}, + + Items.surgeAlloy, new BasicBulletType(){{ + reloadMultiplier = 0.5f; + damage = 65; + rangeChange = 8f * 3f; + lightning = 3; + lightningLength = 4; + lightningDamage = 18f; + lightningLengthRand = 3; + speed = 6f; + width = height = 16; + shrinkY = 0.3f; + backSprite = "large-bomb-back"; + sprite = "mine-bullet"; + velocityRnd = 0.11f; + collidesGround = false; + collidesTiles = false; + shootEffect = Fx.shootBig2; + smokeEffect = Fx.shootSmokeDisperse; + frontColor = Color.white; + backColor = trailColor = hitColor = Pal.surge; + trailChance = 0.44f; + ammoMultiplier = 3f; + + lifetime = 34f; + rotationOffset = 90f; + trailRotation = true; + trailEffect = Fx.disperseTrail; + + hitEffect = despawnEffect = Fx.hitBulletColor; + + bulletInterval = 4f; + + intervalBullet = new BulletType(){{ + collidesGround = false; + collidesTiles = false; + lightningLengthRand = 4; + lightningLength = 2; + lightningCone = 30f; + lightningDamage = 20f; + lightning = 1; + hittable = collides = false; + instantDisappear = true; + hitEffect = despawnEffect = Fx.none; + }}; + }} + ); + + reload = 9f; + shootY = 15f; + rotateSpeed = 5f; + shootCone = 30f; + consumeAmmoOnce = true; + shootSound = Sounds.shootBig; + + drawer = new DrawTurret("reinforced-"){{ + parts.add(new RegionPart("-side"){{ + mirror = true; + under = true; + moveX = 1.75f; + moveY = -0.5f; + }}, + new RegionPart("-mid"){{ + under = true; + moveY = -1.5f; + progress = PartProgress.recoil; + heatProgress = PartProgress.recoil.add(0.25f).min(PartProgress.warmup); + heatColor = Color.sky.cpy().a(0.9f); + }}, + new RegionPart("-blade"){{ + heatProgress = PartProgress.warmup; + heatColor = Color.sky.cpy().a(0.9f); + mirror = true; + under = true; + moveY = 1f; + moveX = 1.5f; + moveRot = 8; + }}); + }}; + + shoot = new ShootAlternate(){{ + spread = 4.7f; + shots = 4; + barrels = 4; + }}; + + targetGround = false; + inaccuracy = 8f; + + shootWarmupSpeed = 0.08f; + + outlineColor = Pal.darkOutline; + + scaledHealth = 280; + range = 310f; + size = 4; + + coolant = consume(new ConsumeLiquid(Liquids.water, 20f / 60f)); + coolantMultiplier = 6.25f; + + limitRange(16f); + }}; + + afflict = new PowerTurret("afflict"){{ + requirements(Category.turret, with(Items.surgeAlloy, 125, Items.silicon, 200, Items.graphite, 250, Items.oxide, 40)); + + shootType = new BasicBulletType(){{ + shootEffect = new MultiEffect(Fx.shootTitan, new WaveEffect(){{ + colorTo = Pal.surge; + sizeTo = 26f; + lifetime = 14f; + strokeFrom = 4f; + }}); + smokeEffect = Fx.shootSmokeTitan; + hitColor = Pal.surge; + + sprite = "large-orb"; + trailEffect = Fx.missileTrail; + trailInterval = 3f; + trailParam = 4f; + pierceCap = 2; + buildingDamageMultiplier = 0.5f; + fragOnHit = false; + speed = 5f; + damage = 180f; + lifetime = 80f; + width = height = 16f; + backColor = Pal.surge; + frontColor = Color.white; + shrinkX = shrinkY = 0f; + trailColor = Pal.surge; + trailLength = 12; + trailWidth = 2.2f; + despawnEffect = hitEffect = new ExplosionEffect(){{ + waveColor = Pal.surge; + smokeColor = Color.gray; + sparkColor = Pal.sap; + waveStroke = 4f; + waveRad = 40f; + }}; + despawnSound = Sounds.dullExplosion; + + //TODO shoot sound + shootSound = Sounds.cannon; + + fragBullet = intervalBullet = new BasicBulletType(3f, 35){{ + width = 9f; + hitSize = 5f; + height = 15f; + pierce = true; + lifetime = 35f; + pierceBuilding = true; + hitColor = backColor = trailColor = Pal.surge; + frontColor = Color.white; + trailWidth = 2.1f; + trailLength = 5; + hitEffect = despawnEffect = new WaveEffect(){{ + colorFrom = colorTo = Pal.surge; + sizeTo = 4f; + strokeFrom = 4f; + lifetime = 10f; + }}; + buildingDamageMultiplier = 0.3f; + homingPower = 0.2f; + }}; + + bulletInterval = 3f; + intervalRandomSpread = 20f; + intervalBullets = 2; + intervalAngle = 180f; + intervalSpread = 300f; + + fragBullets = 20; + fragVelocityMin = 0.5f; + fragVelocityMax = 1.5f; + fragLifeMin = 0.5f; + }}; + + drawer = new DrawTurret("reinforced-"){{ + parts.add(new RegionPart("-blade"){{ + progress = PartProgress.recoil; + heatColor = Color.valueOf("ff6214"); + mirror = true; + under = true; + moveX = 2f; + moveY = -1f; + moveRot = -7f; + }}, + new RegionPart("-blade-glow"){{ + progress = PartProgress.recoil; + heatProgress = PartProgress.warmup; + heatColor = Color.valueOf("ff6214"); + drawRegion = false; + mirror = true; + under = true; + moveX = 2f; + moveY = -1f; + moveRot = -7f; + }}); + }}; + + consumePower(5f); + heatRequirement = 10f; + maxHeatEfficiency = 2f; + + newTargetInterval = 40f; + + inaccuracy = 1f; + shake = 2f; + shootY = 4; + outlineColor = Pal.darkOutline; + size = 4; + envEnabled |= Env.space; + reload = 100f; + cooldownTime = reload; + recoil = 3f; + range = 350; + shootCone = 20f; + scaledHealth = 220; + rotateSpeed = 1.5f; + researchCostMultiplier = 0.04f; + + limitRange(9f); + }}; + + lustre = new ContinuousTurret("lustre"){{ + requirements(Category.turret, with(Items.silicon, 250, Items.graphite, 200, Items.oxide, 50, Items.carbide, 90)); + + shootType = new PointLaserBulletType(){{ + damage = 210f; + buildingDamageMultiplier = 0.3f; + hitColor = Color.valueOf("fda981"); + }}; + + drawer = new DrawTurret("reinforced-"){{ + var heatp = PartProgress.warmup.blend(p -> Mathf.absin(2f, 1f) * p.warmup, 0.2f); + + parts.add(new RegionPart("-blade"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.warmup; + heatColor = Color.valueOf("ff6214"); + mirror = true; + under = true; + moveX = 2f; + moveRot = -7f; + moves.add(new PartMove(PartProgress.warmup, 0f, -2f, 3f)); + }}, + new RegionPart("-inner"){{ + heatProgress = heatp; + progress = PartProgress.warmup; + heatColor = Color.valueOf("ff6214"); + mirror = true; + under = false; + moveX = 2f; + moveY = -8f; + }}, + new RegionPart("-mid"){{ + heatProgress = heatp; + progress = PartProgress.warmup; + heatColor = Color.valueOf("ff6214"); + moveY = -8f; + mirror = false; + under = true; + }}); + }}; + + scaleDamageEfficiency = true; + shootSound = Sounds.none; + loopSoundVolume = 1f; + loopSound = Sounds.laserbeam; + + shootWarmupSpeed = 0.08f; + shootCone = 360f; + + aimChangeSpeed = 0.9f; + rotateSpeed = 0.9f; + + shootY = 0.5f; + outlineColor = Pal.darkOutline; + size = 4; + envEnabled |= Env.space; + range = 250f; + scaledHealth = 210; + + unitSort = UnitSorts.strongest; + + consumeLiquid(Liquids.nitrogen, 6f / 60f); + consumePower(200f / 60f); + }}; + + scathe = new ItemTurret("scathe"){{ + requirements(Category.turret, with(Items.silicon, 450, Items.graphite, 400, Items.tungsten, 500, Items.oxide, 100, Items.carbide, 200)); + + predictTarget = false; + + ammo( + Items.carbide, new BulletType(0f, 0f){{ + shootEffect = Fx.shootBig; + smokeEffect = Fx.shootSmokeMissileColor; + hitColor = Pal.redLight; + ammoMultiplier = 1f; + + spawnUnit = new MissileUnitType("scathe-missile"){{ + speed = 4.6f; + maxRange = 6f; + lifetime = 60f * 5.5f; + outlineColor = Pal.darkOutline; + engineColor = trailColor = Pal.redLight; + engineLayer = Layer.effect; + engineSize = 3.1f; + engineOffset = 10f; + rotateSpeed = 0.25f; + trailLength = 18; + missileAccelTime = 50f; + lowAltitude = true; + loopSound = Sounds.missileTrail; + loopSoundVolume = 0.6f; + deathSound = Sounds.largeExplosion; + targetAir = false; + targetUnderBlocks = false; + + fogRadius = 6f; + + health = 210; + + weapons.add(new Weapon(){{ + shootCone = 360f; + mirror = false; + reload = 1f; + deathExplosionEffect = Fx.massiveExplosion; + shootOnDeath = true; + shake = 10f; + bullet = new ExplosionBulletType(1500f, 65f){{ + hitColor = Pal.redLight; + shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{ + lifetime = 10f; + strokeFrom = 4f; + sizeTo = 130f; + }}); + + collidesAir = false; + buildingDamageMultiplier = 0.25f; + + ammoMultiplier = 1f; + fragLifeMin = 0.1f; + fragBullets = 7; + fragBullet = new ArtilleryBulletType(3.4f, 32){{ + buildingDamageMultiplier = 0.3f; + drag = 0.02f; + hitEffect = Fx.massiveExplosion; + despawnEffect = Fx.scatheSlash; + knockback = 0.8f; + lifetime = 23f; + width = height = 18f; + collidesTiles = false; + splashDamageRadius = 40f; + splashDamage = 160f; + backColor = trailColor = hitColor = Pal.redLight; + frontColor = Color.white; + smokeEffect = Fx.shootBigSmoke2; + despawnShake = 7f; + lightRadius = 30f; + lightColor = Pal.redLight; + lightOpacity = 0.5f; + + trailLength = 20; + trailWidth = 3.5f; + trailEffect = Fx.none; + }}; + }}; + }}); + + abilities.add(new MoveEffectAbility(){{ + effect = Fx.missileTrailSmoke; + rotation = 180f; + y = -9f; + color = Color.grays(0.6f).lerp(Pal.redLight, 0.5f).a(0.4f); + interval = 7f; + }}); + }}; + }}, + + Items.phaseFabric, new BulletType(0f, 0f){{ + shootEffect = Fx.shootBig; + smokeEffect = Fx.shootSmokeMissileColor; + hitColor = Color.valueOf("ffd37f"); + ammoMultiplier = 5f; + reloadMultiplier = 0.8f; + + spawnUnit = new MissileUnitType("scathe-missile-phase"){{ + speed = 4f; + maxRange = 6f; + lifetime = 60f * 6.1f; + outlineColor = Pal.darkOutline; + engineColor = trailColor = Color.valueOf("ffd37f"); + engineLayer = Layer.effect; + engineSize = 3.1f; + engineOffset = 10f; + rotateSpeed = 0.2f; + trailLength = 18; + missileAccelTime = 50f; + lowAltitude = true; + loopSound = Sounds.missileTrail; + loopSoundVolume = 0.6f; + deathSound = Sounds.largeExplosion; + targetAir = false; + targetUnderBlocks = false; + + parts.add(new ShapePart(){{ + progress = PartProgress.constant(1f); + color = Pal.accent; + sides = 6; + radius = 3f; + rotateSpeed = 3f; + hollow = true; + layer = Layer.effect; + y = 1.8f; + }}); + + fogRadius = 6f; + + health = 500; + + weapons.add(new Weapon(){{ + shootCone = 360f; + mirror = false; + reload = 1f; + deathExplosionEffect = Fx.massiveExplosion; + shootOnDeath = true; + shake = 10f; + bullet = new ExplosionBulletType(400f, 120f){{ + hitColor = engineColor; + shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosion, Fx.scatheLight, new WaveEffect(){{ + lifetime = 10f; + strokeFrom = 4f; + sizeTo = 130f; + }}); + + collidesAir = false; + buildingDamageMultiplier = 0.1f; + + ammoMultiplier = 1f; + fragLifeMin = 0.1f; + fragBullets = 7; + fragBullet = new ArtilleryBulletType(3.4f, 32){{ + buildingDamageMultiplier = 0.2f; + drag = 0.02f; + hitEffect = Fx.massiveExplosion; + despawnEffect = Fx.scatheSlash; + knockback = 0.8f; + lifetime = 23f; + width = height = 18f; + collidesTiles = false; + splashDamageRadius = 56f; + splashDamage = 164f; + backColor = trailColor = hitColor = engineColor; + frontColor = Color.white; + smokeEffect = Fx.shootBigSmoke2; + despawnShake = 7f; + lightRadius = 30f; + lightColor = engineColor; + lightOpacity = 0.5f; + + trailLength = 20; + trailWidth = 3.5f; + trailEffect = Fx.none; + }}; + }}; + }}); + + abilities.add(new MoveEffectAbility(){{ + effect = Fx.missileTrailSmoke; + rotation = 180f; + y = -9f; + color = Color.grays(0.6f).lerp(Pal.redLight, 0.5f).a(0.4f); + interval = 7f; + }}); + + abilities.add(new ForceFieldAbility(90f, 0f, 2000f, 999999999f)); + + }}; + }}, + + Items.surgeAlloy, new BulletType(0f, 0f){{ + shootEffect = Fx.shootBig; + smokeEffect = Fx.shootSmokeMissileColor; + hitColor = Color.valueOf("f7e97e"); + + ammoMultiplier = 1f; + rangeChange = -8f*9f; + reloadMultiplier = 0.9f; + + spawnUnit = new MissileUnitType("scathe-missile-surge"){{ + speed = 4.4f; + maxRange = 6f; + lifetime = 60f * 1.4f; + outlineColor = Pal.darkOutline; + engineColor = trailColor = Color.valueOf("f7e97e"); + engineLayer = Layer.effect; + engineSize = 3.1f; + engineOffset = 10f; + rotateSpeed = 0.25f; + trailLength = 18; + missileAccelTime = 30f; + lowAltitude = true; + loopSound = Sounds.missileTrail; + loopSoundVolume = 0.6f; + deathSound = Sounds.largeExplosion; + targetAir = false; + targetUnderBlocks = false; + + fogRadius = 6f; + + health = 400; + + weapons.add(new Weapon(){{ + shootCone = 360f; + rotate = true; + rotationLimit = rotateSpeed = 0f; + reload = 1f; + deathExplosionEffect = Fx.massiveExplosion; + shootOnDeath = true; + shake = 10f; + bullet = new ExplosionBulletType(300f, 40f){{ + hitColor = engineColor; + shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosionSmall); + + collidesAir = false; + buildingDamageMultiplier = 0.1f; + + ammoMultiplier = 1f; + fragLifeMin = 0.1f; + fragBullets = 5; + fragRandomSpread = 0f; + fragSpread = 30f; + fragBullet = new BulletType(){{ + shootEffect = Fx.shootBig; + smokeEffect = Fx.shootSmokeMissileColor; + hitColor = engineColor; + ammoMultiplier = 1f; + + spawnUnit = new MissileUnitType("scathe-missile-surge-split"){{ + speed = 4.8f; + maxRange = 6f; + lifetime = 60f * 3.5f; + outlineColor = Pal.darkOutline; + engineColor = trailColor = Color.valueOf("f7e97e"); + engineLayer = Layer.effect; + engineSize = 2.2f; + engineOffset = 8f; + rotateSpeed = 1.4f; + trailLength = 12; + lowAltitude = true; + loopSound = Sounds.missileTrail; + loopSoundVolume = 0.6f; + deathSound = Sounds.largeExplosion; + targetAir = false; + targetUnderBlocks = false; + + fogRadius = 6f; + + health = 100; + + weapons.add(new Weapon(){{ + shootCone = 360f; + mirror = false; + reload = 1f; + deathExplosionEffect = Fx.massiveExplosion; + shootOnDeath = true; + shake = 10f; + bullet = new ExplosionBulletType(360f, 35f){{ + lightning = 6; + lightningDamage = 35f; + lightningLength = 8; + + hitColor = engineColor; + shootEffect = new MultiEffect(Fx.massiveExplosion, Fx.scatheExplosionSmall, Fx.scatheLightSmall, new WaveEffect(){{ + lifetime = 10f; + strokeFrom = 4f; + sizeTo = 100f; + }}); + + collidesAir = false; + buildingDamageMultiplier = 0.1f; + }}; + }}); + + abilities.add(new MoveEffectAbility(){{ + effect = Fx.missileTrailSmokeSmall; + rotation = 180f; + y = -9f; + color = Color.grays(0.6f).lerp(Color.valueOf("f7e97e"), 0.5f).a(0.4f); + interval = 5f; + }}); + }}; + }}; + }}; + }}); + + abilities.add(new MoveEffectAbility(){{ + effect = Fx.missileTrailSmoke; + rotation = 180f; + y = -9f; + color = Color.grays(0.6f).lerp(Color.valueOf("f7e97e"), 0.5f).a(0.4f); + interval = 7f; + }}); + }}; + }} + ); + + drawer = new DrawTurret("reinforced-"){{ + parts.add(new RegionPart("-blade"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.warmup; + heatColor = Color.red; + moveRot = -22f; + moveX = 0f; + moveY = -5f; + mirror = true; + children.add(new RegionPart("-side"){{ + progress = PartProgress.warmup.delay(0.6f); + heatProgress = PartProgress.recoil; + heatColor = Color.red; + mirror = true; + under = false; + moveY = -4f; + moveX = 1f; + + moves.add(new PartMove(PartProgress.recoil, 1f, 6f, -40f)); + }}); + }}, + new RegionPart("-mid"){{ + progress = PartProgress.recoil; + heatProgress = PartProgress.warmup.add(-0.2f).add(p -> Mathf.sin(9f, 0.2f) * p.warmup); + mirror = false; + under = true; + moveY = -5f; + }}, new RegionPart("-missile"){{ + progress = PartProgress.reload.curve(Interp.pow2In); + + colorTo = new Color(1f, 1f, 1f, 0f); + color = Color.white; + mixColorTo = Pal.accent; + mixColor = new Color(1f, 1f, 1f, 0f); + outline = false; + under = true; + + layerOffset = -0.01f; + + moves.add(new PartMove(PartProgress.warmup.inv(), 0f, -4f, 0f)); + }}); + }}; + + recoil = 0.5f; + + fogRadiusMultiplier = 0.4f; + coolantMultiplier = 15f; + shootSound = Sounds.missileLaunch; + + minWarmup = 0.94f; + newTargetInterval = 40f; + unitSort = UnitSorts.strongest; + shootWarmupSpeed = 0.03f; + targetAir = false; + targetUnderBlocks = false; + + shake = 6f; + ammoPerShot = 15; + maxAmmo = 45; + shootY = -1; + outlineColor = Pal.darkOutline; + size = 4; + envEnabled |= Env.space; + reload = 600f; + range = 1350; + shootCone = 1f; + scaledHealth = 220; + rotateSpeed = 0.9f; + + coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f)); + limitRange(); + }}; + + smite = new ItemTurret("smite"){{ + requirements(Category.turret, with(Items.oxide, 200, Items.surgeAlloy, 400, Items.silicon, 800, Items.carbide, 500, Items.phaseFabric, 300)); + + ammo( + Items.surgeAlloy, new BasicBulletType(7f, 250){{ + sprite = "large-orb"; + width = 17f; + height = 21f; + hitSize = 8f; + + shootEffect = new MultiEffect(Fx.shootTitan, Fx.colorSparkBig, new WaveEffect(){{ + colorFrom = colorTo = Pal.accent; + lifetime = 12f; + sizeTo = 20f; + strokeFrom = 3f; + strokeTo = 0.3f; + }}); + smokeEffect = Fx.shootSmokeSmite; + ammoMultiplier = 1; + pierceCap = 4; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Pal.accent; + frontColor = Color.white; + trailWidth = 2.8f; + trailLength = 9; + hitEffect = Fx.hitBulletColor; + buildingDamageMultiplier = 0.3f; + + despawnEffect = new MultiEffect(Fx.hitBulletColor, new WaveEffect(){{ + sizeTo = 30f; + colorFrom = colorTo = Pal.accent; + lifetime = 12f; + }}); + + trailRotation = true; + trailEffect = Fx.disperseTrail; + trailInterval = 3f; + + intervalBullet = new LightningBulletType(){{ + damage = 30; + collidesAir = false; + ammoMultiplier = 1f; + lightningColor = Pal.accent; + lightningLength = 5; + lightningLengthRand = 10; + + //for visual stats only. + buildingDamageMultiplier = 0.25f; + + lightningType = new BulletType(0.0001f, 0f){{ + lifetime = Fx.lightning.lifetime; + hitEffect = Fx.hitLancer; + despawnEffect = Fx.none; + status = StatusEffects.shocked; + statusDuration = 10f; + hittable = false; + lightColor = Color.white; + buildingDamageMultiplier = 0.25f; + }}; + }}; + + bulletInterval = 3f; + }} + ); + + shoot = new ShootMulti(new ShootAlternate(){{ + spread = 3.3f * 1.9f; + shots = barrels = 5; + }}, new ShootHelix(){{ + scl = 4f; + mag = 3f; + }}); + + shootSound = Sounds.shootSmite; + minWarmup = 0.99f; + coolantMultiplier = 15f; + + var haloProgress = PartProgress.warmup.delay(0.5f); + float haloY = -15f, haloRotSpeed = 1f; + + shake = 2f; + ammoPerShot = 2; + drawer = new DrawTurret("reinforced-"){{ + parts.addAll( + + new RegionPart("-mid"){{ + heatProgress = PartProgress.heat.blend(PartProgress.warmup, 0.5f); + mirror = false; + }}, + new RegionPart("-blade"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.warmup; + mirror = true; + moveX = 5.5f; + moves.add(new PartMove(PartProgress.recoil, 0f, -3f, 0f)); + }}, + new RegionPart("-front"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.recoil; + mirror = true; + under = true; + moveY = 4f; + moveX = 6.5f; + moves.add(new PartMove(PartProgress.recoil, 0f, -5.5f, 0f)); + }}, + new RegionPart("-back"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.warmup; + mirror = true; + under = true; + moveX = 5.5f; + }}, + new ShapePart(){{ + progress = PartProgress.warmup.delay(0.2f); + color = Pal.accent; + circle = true; + hollow = true; + stroke = 0f; + strokeTo = 2f; + radius = 10f; + layer = Layer.effect; + y = haloY; + rotateSpeed = haloRotSpeed; + }}, + new ShapePart(){{ + progress = PartProgress.warmup.delay(0.2f); + color = Pal.accent; + circle = true; + hollow = true; + stroke = 0f; + strokeTo = 1.6f; + radius = 4f; + layer = Layer.effect; + y = haloY; + rotateSpeed = haloRotSpeed; + }}, + new HaloPart(){{ + progress = haloProgress; + color = Pal.accent; + layer = Layer.effect; + y = haloY; + + haloRotation = 90f; + shapes = 2; + triLength = 0f; + triLengthTo = 20f; + haloRadius = 16f; + tri = true; + radius = 4f; + }}, + new HaloPart(){{ + progress = haloProgress; + color = Pal.accent; + layer = Layer.effect; + y = haloY; + + haloRotation = 90f; + shapes = 2; + triLength = 0f; + triLengthTo = 5f; + haloRadius = 16f; + tri = true; + radius = 4f; + shapeRotation = 180f; + }}, + new HaloPart(){{ + progress = haloProgress; + color = Pal.accent; + layer = Layer.effect; + y = haloY; + haloRotateSpeed = -haloRotSpeed; + + shapes = 4; + triLength = 0f; + triLengthTo = 5f; + haloRotation = 45f; + haloRadius = 16f; + tri = true; + radius = 8f; + }}, + new HaloPart(){{ + progress = haloProgress; + color = Pal.accent; + layer = Layer.effect; + y = haloY; + haloRotateSpeed = -haloRotSpeed; + + shapes = 4; + shapeRotation = 180f; + triLength = 0f; + triLengthTo = 2f; + haloRotation = 45f; + haloRadius = 16f; + tri = true; + radius = 8f; + }}, + new HaloPart(){{ + progress = haloProgress; + color = Pal.accent; + layer = Layer.effect; + y = haloY; + haloRotateSpeed = haloRotSpeed; + + shapes = 4; + triLength = 0f; + triLengthTo = 3f; + haloRotation = 45f; + haloRadius = 10f; + tri = true; + radius = 6f; + }} + ); + + for(int i = 0; i < 3; i++){ + int fi = i; + parts.add(new RegionPart("-blade-bar"){{ + progress = PartProgress.warmup; + heatProgress = PartProgress.warmup; + mirror = true; + under = true; + outline = false; + layerOffset = -0.3f; + turretHeatLayer = Layer.turret - 0.2f; + y = 44f / 4f - fi * 38f / 4f; + moveX = 2f; + + color = Pal.accent; + }}); + } + + for(int i = 0; i < 4; i++){ + int fi = i; + parts.add(new RegionPart("-spine"){{ + progress = PartProgress.warmup.delay(fi / 5f); + heatProgress = PartProgress.warmup; + mirror = true; + under = true; + layerOffset = -0.3f; + turretHeatLayer = Layer.turret - 0.2f; + moveY = -22f / 4f - fi * 3f; + moveX = 52f / 4f - fi * 1f + 2f; + moveRot = -fi * 30f; + + color = Pal.accent; + moves.add(new PartMove(PartProgress.recoil.delay(fi / 5f), 0f, 0f, 35f)); + }}); + } + }}; + + shootWarmupSpeed = 0.04f; + shootY = 15f; + outlineColor = Pal.darkOutline; + size = 5; + envEnabled |= Env.space; + warmupMaintainTime = 120f; + reload = 100f; + recoil = 2f; + range = 300; + trackingRange = range * 1.4f; + shootCone = 30f; + scaledHealth = 350; + rotateSpeed = 1.5f; + + coolant = consume(new ConsumeLiquid(Liquids.water, 15f / 60f)); + limitRange(); + + loopSound = Sounds.glow; + loopSoundVolume = 0.8f; + }}; + + malign = new PowerTurret("malign"){{ + requirements(Category.turret, with(Items.carbide, 200, Items.beryllium, 1000, Items.silicon, 500, Items.graphite, 500, Items.phaseFabric, 200)); + + var haloProgress = PartProgress.warmup; + Color haloColor = Color.valueOf("d370d3"), heatCol = Color.purple; + float haloY = -15f, haloRotSpeed = 1.5f; + + var circleProgress = PartProgress.warmup.delay(0.9f); + var circleColor = haloColor; + float circleY = 25f, circleRad = 11f, circleRotSpeed = 3.5f, circleStroke = 1.6f; + + shootSound = Sounds.malignShoot; + loopSound = Sounds.spellLoop; + loopSoundVolume = 1.3f; + + shootType = new FlakBulletType(8f, 70f){{ + sprite = "missile-large"; + + lifetime = 45f; + width = 12f; + height = 22f; + + hitSize = 7f; + shootEffect = Fx.shootSmokeSquareBig; + smokeEffect = Fx.shootSmokeDisperse; + ammoMultiplier = 1; + hitColor = backColor = trailColor = lightningColor = circleColor; + frontColor = Color.white; + trailWidth = 3f; + trailLength = 12; + hitEffect = despawnEffect = Fx.hitBulletColor; + buildingDamageMultiplier = 0.3f; + + trailEffect = Fx.colorSpark; + trailRotation = true; + trailInterval = 3f; + lightning = 1; + lightningCone = 15f; + lightningLength = 20; + lightningLengthRand = 30; + lightningDamage = 20f; + + homingPower = 0.17f; + homingDelay = 19f; + homingRange = 160f; + + explodeRange = 160f; + explodeDelay = 0f; + + flakInterval = 20f; + despawnShake = 3f; + + fragBullet = new LaserBulletType(65f){{ + colors = new Color[]{haloColor.cpy().a(0.4f), haloColor, Color.white}; + buildingDamageMultiplier = 0.25f; + width = 19f; + hitEffect = Fx.hitLancer; + sideAngle = 175f; + sideWidth = 1f; + sideLength = 40f; + lifetime = 22f; + drawSize = 400f; + length = 180f; + pierceCap = 2; + }}; + + fragSpread = fragRandomSpread = 0f; + + splashDamage = 0f; + hitEffect = Fx.hitSquaresColor; + collidesGround = true; + }}; + + size = 5; + drawer = new DrawTurret("reinforced-"){{ + parts.addAll( + + //summoning circle + new ShapePart(){{ + progress = circleProgress; + color = circleColor; + circle = true; + hollow = true; + stroke = 0f; + strokeTo = circleStroke; + radius = circleRad; + layer = Layer.effect; + y = circleY; + }}, + + new ShapePart(){{ + progress = circleProgress; + rotateSpeed = -circleRotSpeed; + color = circleColor; + sides = 4; + hollow = true; + stroke = 0f; + strokeTo = circleStroke; + radius = circleRad - 1f; + layer = Layer.effect; + y = circleY; + }}, + + //outer squares + + new ShapePart(){{ + progress = circleProgress; + rotateSpeed = -circleRotSpeed; + color = circleColor; + sides = 4; + hollow = true; + stroke = 0f; + strokeTo = circleStroke; + radius = circleRad - 1f; + layer = Layer.effect; + y = circleY; + }}, + + //inner square + new ShapePart(){{ + progress = circleProgress; + rotateSpeed = -circleRotSpeed/2f; + color = circleColor; + sides = 4; + hollow = true; + stroke = 0f; + strokeTo = 2f; + radius = 3f; + layer = Layer.effect; + y = circleY; + }}, + + //spikes on circle + new HaloPart(){{ + progress = circleProgress; + color = circleColor; + tri = true; + shapes = 3; + triLength = 0f; + triLengthTo = 5f; + radius = 6f; + haloRadius = circleRad; + haloRotateSpeed = haloRotSpeed / 2f; + shapeRotation = 180f; + haloRotation = 180f; + layer = Layer.effect; + y = circleY; + }}, + + //actual turret + new RegionPart("-mouth"){{ + heatColor = heatCol; + heatProgress = PartProgress.warmup; + + moveY = -8f; + }}, + new RegionPart("-end"){{ + moveY = 0f; + }}, + + new RegionPart("-front"){{ + heatColor = heatCol; + heatProgress = PartProgress.warmup; + + mirror = true; + moveRot = 33f; + moveY = -4f; + moveX = 10f; + }}, + new RegionPart("-back"){{ + heatColor = heatCol; + heatProgress = PartProgress.warmup; + + mirror = true; + moveRot = 10f; + moveX = 2f; + moveY = 5f; + }}, + + new RegionPart("-mid"){{ + heatColor = heatCol; + heatProgress = PartProgress.recoil; + + moveY = -9.5f; + }}, + + new ShapePart(){{ + progress = haloProgress; + color = haloColor; + circle = true; + hollow = true; + stroke = 0f; + strokeTo = 2f; + radius = 10f; + layer = Layer.effect; + y = haloY; + }}, + new ShapePart(){{ + progress = haloProgress; + color = haloColor; + sides = 3; + rotation = 90f; + hollow = true; + stroke = 0f; + strokeTo = 2f; + radius = 4f; + layer = Layer.effect; + y = haloY; + }}, + new HaloPart(){{ + progress = haloProgress; + color = haloColor; + sides = 3; + shapes = 3; + hollow = true; + stroke = 0f; + strokeTo = 2f; + radius = 3f; + haloRadius = 10f + radius/2f; + haloRotateSpeed = haloRotSpeed; + layer = Layer.effect; + y = haloY; + }}, + + new HaloPart(){{ + progress = haloProgress; + color = haloColor; + tri = true; + shapes = 3; + triLength = 0f; + triLengthTo = 10f; + radius = 6f; + haloRadius = 16f; + haloRotation = 180f; + layer = Layer.effect; + y = haloY; + }}, + new HaloPart(){{ + progress = haloProgress; + color = haloColor; + tri = true; + shapes = 3; + triLength = 0f; + triLengthTo = 3f; + radius = 6f; + haloRadius = 16f; + shapeRotation = 180f; + haloRotation = 180f; + layer = Layer.effect; + y = haloY; + }}, + + new HaloPart(){{ + progress = haloProgress; + color = haloColor; + sides = 3; + tri = true; + shapes = 3; + triLength = 0f; + triLengthTo = 10f; + shapeRotation = 180f; + radius = 6f; + haloRadius = 16f; + haloRotateSpeed = -haloRotSpeed; + haloRotation = 180f / 3f; + layer = Layer.effect; + y = haloY; + }}, + + new HaloPart(){{ + progress = haloProgress; + color = haloColor; + sides = 3; + tri = true; + shapes = 3; + triLength = 0f; + triLengthTo = 4f; + radius = 6f; + haloRadius = 16f; + haloRotateSpeed = -haloRotSpeed; + haloRotation = 180f / 3f; + layer = Layer.effect; + y = haloY; + }} + ); + + Color heatCol2 = heatCol.cpy().add(0.1f, 0.1f, 0.1f).mul(1.2f); + for(int i = 1; i < 4; i++){ + int fi = i; + parts.add(new RegionPart("-spine"){{ + outline = false; + progress = PartProgress.warmup.delay(fi / 5f); + heatProgress = PartProgress.warmup.add(p -> (Mathf.absin(3f, 0.2f) - 0.2f) * p.warmup); + mirror = true; + under = true; + layerOffset = -0.3f; + turretHeatLayer = Layer.turret - 0.2f; + moveY = 9f; + moveX = 1f + fi * 4f; + moveRot = fi * 60f - 130f; + + color = Color.valueOf("bb68c3"); + heatColor = heatCol2; + moves.add(new PartMove(PartProgress.recoil.delay(fi / 5f), 1f, 0f, 3f)); + }}); + } + }}; + + velocityRnd = 0.15f; + heatRequirement = 72f; + maxHeatEfficiency = 2f; + warmupMaintainTime = 120f; + consumePower(40f); + unitSort = UnitSorts.strongest; + shoot = new ShootSummon(0f, 0f, circleRad, 20f); + + minWarmup = 0.96f; + shootWarmupSpeed = 0.08f; + + shootY = circleY - 5f; + + outlineColor = Pal.darkOutline; + envEnabled |= Env.space; + reload = 7f; + range = 380; + trackingRange = range * 1.4f; + shootCone = 100f; + scaledHealth = 370; + rotateSpeed = 2.6f; + recoil = 0.5f; + recoilTime = 30f; + shake = 3f; }}; //endregion //region units - commandCenter = new CommandCenter("command-center"){{ - requirements(Category.units, ItemStack.with(Items.copper, 200, Items.lead, 250, Items.silicon, 250, Items.graphite, 100)); - size = 2; - health = size * size * 55; - }}; - groundFactory = new UnitFactory("ground-factory"){{ requirements(Category.units, with(Items.copper, 50, Items.lead, 120, Items.silicon, 80)); plans = Seq.with( new UnitPlan(UnitTypes.dagger, 60f * 15, with(Items.silicon, 10, Items.lead, 10)), - new UnitPlan(UnitTypes.crawler, 60f * 12, with(Items.silicon, 10, Items.coal, 20)), + new UnitPlan(UnitTypes.crawler, 60f * 10, with(Items.silicon, 8, Items.coal, 10)), new UnitPlan(UnitTypes.nova, 60f * 40, with(Items.silicon, 30, Items.lead, 20, Items.titanium, 20)) ); size = 3; - consumes.power(1.2f); + consumePower(1.2f); }}; airFactory = new UnitFactory("air-factory"){{ @@ -1876,16 +5868,17 @@ public class Blocks implements ContentList{ new UnitPlan(UnitTypes.mono, 60f * 35, with(Items.silicon, 30, Items.lead, 15)) ); size = 3; - consumes.power(1.2f); + consumePower(1.2f); }}; navalFactory = new UnitFactory("naval-factory"){{ requirements(Category.units, with(Items.copper, 150, Items.lead, 130, Items.metaglass, 120)); plans = Seq.with( - new UnitPlan(UnitTypes.risso, 60f * 45f, with(Items.silicon, 20, Items.metaglass, 35)) + new UnitPlan(UnitTypes.risso, 60f * 45f, with(Items.silicon, 20, Items.metaglass, 35)), + new UnitPlan(UnitTypes.retusa, 60f * 35f, with(Items.silicon, 15, Items.titanium, 20)) ); size = 3; - consumes.power(1.2f); + consumePower(1.2f); floating = true; }}; @@ -1893,8 +5886,8 @@ public class Blocks implements ContentList{ requirements(Category.units, with(Items.copper, 200, Items.lead, 120, Items.silicon, 90)); size = 3; - consumes.power(3f); - consumes.items(with(Items.silicon, 40, Items.graphite, 40)); + consumePower(3f); + consumeItems(with(Items.silicon, 40, Items.graphite, 40)); constructTime = 60f * 10f; @@ -1904,7 +5897,8 @@ public class Blocks implements ContentList{ new UnitType[]{UnitTypes.crawler, UnitTypes.atrax}, new UnitType[]{UnitTypes.flare, UnitTypes.horizon}, new UnitType[]{UnitTypes.mono, UnitTypes.poly}, - new UnitType[]{UnitTypes.risso, UnitTypes.minke} + new UnitType[]{UnitTypes.risso, UnitTypes.minke}, + new UnitType[]{UnitTypes.retusa, UnitTypes.oxynoe} ); }}; @@ -1912,8 +5906,8 @@ public class Blocks implements ContentList{ requirements(Category.units, with(Items.lead, 650, Items.silicon, 450, Items.titanium, 350, Items.thorium, 650)); size = 5; - consumes.power(6f); - consumes.items(with(Items.silicon, 130, Items.titanium, 80, Items.metaglass, 40)); + consumePower(6f); + consumeItems(with(Items.silicon, 130, Items.titanium, 80, Items.metaglass, 40)); constructTime = 60f * 30f; @@ -1923,7 +5917,8 @@ public class Blocks implements ContentList{ new UnitType[]{UnitTypes.poly, UnitTypes.mega}, new UnitType[]{UnitTypes.minke, UnitTypes.bryde}, new UnitType[]{UnitTypes.pulsar, UnitTypes.quasar}, - new UnitType[]{UnitTypes.atrax, UnitTypes.spiroct} + new UnitType[]{UnitTypes.atrax, UnitTypes.spiroct}, + new UnitType[]{UnitTypes.oxynoe, UnitTypes.cyerce} ); }}; @@ -1931,9 +5926,9 @@ public class Blocks implements ContentList{ requirements(Category.units, with(Items.lead, 2000, Items.silicon, 1000, Items.titanium, 2000, Items.thorium, 750, Items.plastanium, 450, Items.phaseFabric, 600)); size = 7; - consumes.power(13f); - consumes.items(with(Items.silicon, 850, Items.titanium, 750, Items.plastanium, 650)); - consumes.liquid(Liquids.cryofluid, 1f); + consumePower(13f); + consumeItems(with(Items.silicon, 850, Items.titanium, 750, Items.plastanium, 650)); + consumeLiquid(Liquids.cryofluid, 1f); constructTime = 60f * 60f * 1.5f; liquidCapacity = 60f; @@ -1944,7 +5939,8 @@ public class Blocks implements ContentList{ new UnitType[]{UnitTypes.fortress, UnitTypes.scepter}, new UnitType[]{UnitTypes.bryde, UnitTypes.sei}, new UnitType[]{UnitTypes.mega, UnitTypes.quad}, - new UnitType[]{UnitTypes.quasar, UnitTypes.vela} + new UnitType[]{UnitTypes.quasar, UnitTypes.vela}, + new UnitType[]{UnitTypes.cyerce, UnitTypes.aegires} ); }}; @@ -1952,9 +5948,9 @@ public class Blocks implements ContentList{ requirements(Category.units, with(Items.lead, 4000, Items.silicon, 3000, Items.thorium, 1000, Items.plastanium, 600, Items.phaseFabric, 600, Items.surgeAlloy, 800)); size = 9; - consumes.power(25f); - consumes.items(with(Items.silicon, 1000, Items.plastanium, 600, Items.surgeAlloy, 500, Items.phaseFabric, 350)); - consumes.liquid(Liquids.cryofluid, 3f); + consumePower(25f); + consumeItems(with(Items.silicon, 1000, Items.plastanium, 600, Items.surgeAlloy, 500, Items.phaseFabric, 350)); + consumeLiquid(Liquids.cryofluid, 3f); constructTime = 60f * 60f * 4; liquidCapacity = 180f; @@ -1965,26 +5961,321 @@ public class Blocks implements ContentList{ new UnitType[]{UnitTypes.scepter, UnitTypes.reign}, new UnitType[]{UnitTypes.sei, UnitTypes.omura}, new UnitType[]{UnitTypes.quad, UnitTypes.oct}, - new UnitType[]{UnitTypes.vela, UnitTypes.corvus} + new UnitType[]{UnitTypes.vela, UnitTypes.corvus}, + new UnitType[]{UnitTypes.aegires, UnitTypes.navanax} ); }}; - repairPoint = new RepairPoint("repair-point"){{ - requirements(Category.units, with(Items.lead, 15, Items.copper, 15, Items.silicon, 15)); - repairSpeed = 0.5f; - repairRadius = 65f; + repairPoint = new RepairTurret("repair-point"){{ + requirements(Category.units, with(Items.lead, 30, Items.copper, 30, Items.silicon, 20)); + repairSpeed = 0.45f; + repairRadius = 60f; + beamWidth = 0.73f; powerUse = 1f; + pulseRadius = 5f; }}; - resupplyPoint = new ResupplyPoint("resupply-point"){{ - requirements(Category.units, BuildVisibility.ammoOnly, with(Items.lead, 20, Items.copper, 15, Items.silicon, 15)); + repairTurret = new RepairTurret("repair-turret"){{ + requirements(Category.units, with(Items.silicon, 90, Items.thorium, 80, Items.plastanium, 60)); + size = 2; + length = 6f; + repairSpeed = 3f; + repairRadius = 145f; + powerUse = 5f; + beamWidth = 1.1f; + pulseRadius = 6.1f; + coolantUse = 0.16f; + coolantMultiplier = 1.6f; + acceptCoolant = true; + }}; + + //endregion + //region units - erekir + + tankFabricator = new UnitFactory("tank-fabricator"){{ + requirements(Category.units, with(Items.silicon, 200, Items.beryllium, 150)); + size = 3; + configurable = false; + plans.add(new UnitPlan(UnitTypes.stell, 60f * 35f, with(Items.beryllium, 40, Items.silicon, 50))); + researchCost = with(Items.beryllium, 200, Items.graphite, 80, Items.silicon, 80); + regionSuffix = "-dark"; + fogRadius = 3; + consumePower(2f); + }}; + + shipFabricator = new UnitFactory("ship-fabricator"){{ + requirements(Category.units, with(Items.silicon, 250, Items.beryllium, 200)); + + size = 3; + configurable = false; + plans.add(new UnitPlan(UnitTypes.elude, 60f * 40f, with(Items.graphite, 50, Items.silicon, 70))); + regionSuffix = "-dark"; + fogRadius = 3; + researchCostMultiplier = 0.5f; + consumePower(2f); + }}; + + mechFabricator = new UnitFactory("mech-fabricator"){{ + requirements(Category.units, with(Items.silicon, 200, Items.graphite, 300, Items.tungsten, 60)); + size = 3; + configurable = false; + plans.add(new UnitPlan(UnitTypes.merui, 60f * 40f, with(Items.beryllium, 50, Items.silicon, 70))); + regionSuffix = "-dark"; + fogRadius = 3; + researchCostMultiplier = 0.65f; + consumePower(2f); + }}; + + tankRefabricator = new Reconstructor("tank-refabricator"){{ + requirements(Category.units, with(Items.beryllium, 200, Items.tungsten, 80, Items.silicon, 100)); + regionSuffix = "-dark"; + + size = 3; + consumePower(3f); + consumeLiquid(Liquids.hydrogen, 3f / 60f); + consumeItems(with(Items.silicon, 40, Items.tungsten, 30)); + + constructTime = 60f * 30f; + researchCostMultiplier = 0.75f; + + upgrades.addAll( + new UnitType[]{UnitTypes.stell, UnitTypes.locus} + ); + }}; + + shipRefabricator = new Reconstructor("ship-refabricator"){{ + requirements(Category.units, with(Items.beryllium, 200, Items.tungsten, 100, Items.silicon, 150, Items.oxide, 40)); + regionSuffix = "-dark"; + + size = 3; + consumePower(2.5f); + consumeLiquid(Liquids.hydrogen, 3f / 60f); + consumeItems(with(Items.silicon, 60, Items.tungsten, 40)); + + constructTime = 60f * 50f; + + upgrades.addAll( + new UnitType[]{UnitTypes.elude, UnitTypes.avert} + ); + + researchCost = with(Items.beryllium, 500, Items.tungsten, 200, Items.silicon, 300, Items.oxide, 80); + }}; + + mechRefabricator = new Reconstructor("mech-refabricator"){{ + requirements(Category.units, with(Items.beryllium, 250, Items.tungsten, 120, Items.silicon, 150)); + regionSuffix = "-dark"; + + size = 3; + consumePower(2.5f); + consumeLiquid(Liquids.hydrogen, 3f / 60f); + consumeItems(with(Items.silicon, 50, Items.tungsten, 40)); + + constructTime = 60f * 45f; + researchCostMultiplier = 0.75f; + + upgrades.addAll( + new UnitType[]{UnitTypes.merui, UnitTypes.cleroi} + ); + }}; + + //yes very silly name + primeRefabricator = new Reconstructor("prime-refabricator"){{ + requirements(Category.units, with(Items.thorium, 250, Items.oxide, 200, Items.tungsten, 200, Items.silicon, 400)); + regionSuffix = "-dark"; + + researchCostMultipliers.put(Items.thorium, 0.2f); + + size = 5; + consumePower(5f); + consumeLiquid(Liquids.nitrogen, 10f / 60f); + consumeItems(with(Items.thorium, 80, Items.silicon, 100)); + + constructTime = 60f * 60f; + + upgrades.addAll( + new UnitType[]{UnitTypes.locus, UnitTypes.precept}, + new UnitType[]{UnitTypes.cleroi, UnitTypes.anthicus}, + new UnitType[]{UnitTypes.avert, UnitTypes.obviate} + ); + }}; + + tankAssembler = new UnitAssembler("tank-assembler"){{ + requirements(Category.units, with(Items.thorium, 500, Items.oxide, 150, Items.carbide, 80, Items.silicon, 500)); + regionSuffix = "-dark"; + size = 5; + plans.add( + new AssemblerUnitPlan(UnitTypes.vanquish, 60f * 50f, PayloadStack.list(UnitTypes.stell, 4, Blocks.tungstenWallLarge, 10)), + new AssemblerUnitPlan(UnitTypes.conquer, 60f * 60f * 3f, PayloadStack.list(UnitTypes.locus, 6, Blocks.carbideWallLarge, 20)) + ); + areaSize = 13; + researchCostMultiplier = 0.4f; + + consumePower(3f); + consumeLiquid(Liquids.cyanogen, 9f / 60f); + }}; + + shipAssembler = new UnitAssembler("ship-assembler"){{ + requirements(Category.units, with(Items.carbide, 100, Items.oxide, 200, Items.tungsten, 500, Items.silicon, 800, Items.thorium, 400)); + regionSuffix = "-dark"; + size = 5; + plans.add( + new AssemblerUnitPlan(UnitTypes.quell, 60f * 60f, PayloadStack.list(UnitTypes.elude, 4, Blocks.berylliumWallLarge, 12)), + new AssemblerUnitPlan(UnitTypes.disrupt, 60f * 60f * 3f, PayloadStack.list(UnitTypes.avert, 6, Blocks.carbideWallLarge, 20)) + ); + areaSize = 13; + + consumePower(3f); + consumeLiquid(Liquids.cyanogen, 12f / 60f); + }}; + + mechAssembler = new UnitAssembler("mech-assembler"){{ + requirements(Category.units, with(Items.carbide, 200, Items.thorium, 600, Items.oxide, 200, Items.tungsten, 500, Items.silicon, 900)); + regionSuffix = "-dark"; + size = 5; + //TODO different reqs + plans.add( + new AssemblerUnitPlan(UnitTypes.tecta, 60f * 70f, PayloadStack.list(UnitTypes.merui, 5, Blocks.tungstenWallLarge, 12)), + new AssemblerUnitPlan(UnitTypes.collaris, 60f * 60f * 3f, PayloadStack.list(UnitTypes.cleroi, 6, Blocks.carbideWallLarge, 20)) + ); + areaSize = 13; + + consumePower(3.5f); + consumeLiquid(Liquids.cyanogen, 12f / 60f); + }}; + + //TODO requirements / only accept inputs + basicAssemblerModule = new UnitAssemblerModule("basic-assembler-module"){{ + requirements(Category.units, with(Items.carbide, 300, Items.thorium, 500, Items.oxide, 200, Items.phaseFabric, 400)); + consumePower(4f); + regionSuffix = "-dark"; + researchCostMultiplier = 0.75f; + + size = 5; + }}; + + unitRepairTower = new RepairTower("unit-repair-tower"){{ + requirements(Category.units, with(Items.graphite, 90, Items.silicon, 90, Items.tungsten, 80)); size = 2; - range = 80f; - itemCapacity = 20; - ammoAmount = 5; + range = 100f; + healAmount = 1.5f; - consumes.item(Items.copper, 1); + consumePower(1f); + consumeLiquid(Liquids.ozone, 3f / 60f); + }}; + + //endregion + //region payloads + + payloadConveyor = new PayloadConveyor("payload-conveyor"){{ + requirements(Category.units, with(Items.graphite, 10, Items.copper, 10)); + canOverdrive = false; + }}; + + payloadRouter = new PayloadRouter("payload-router"){{ + requirements(Category.units, with(Items.graphite, 15, Items.copper, 10)); + canOverdrive = false; + }}; + + reinforcedPayloadConveyor = new PayloadConveyor("reinforced-payload-conveyor"){{ + requirements(Category.units, with(Items.tungsten, 10)); + moveTime = 35f; + canOverdrive = false; + health = 800; + researchCostMultiplier = 4f; + underBullets = true; + }}; + + reinforcedPayloadRouter = new PayloadRouter("reinforced-payload-router"){{ + requirements(Category.units, with(Items.tungsten, 15)); + moveTime = 35f; + health = 800; + canOverdrive = false; + researchCostMultiplier = 4f; + underBullets = true; + }}; + + payloadMassDriver = new PayloadMassDriver("payload-mass-driver"){{ + requirements(Category.units, with(Items.tungsten, 120, Items.silicon, 120, Items.graphite, 50)); + regionSuffix = "-dark"; + size = 3; + reload = 130f; + chargeTime = 90f; + range = 700f; + maxPayloadSize = 2.5f; + fogRadius = 5; + consumePower(0.5f); + }}; + + largePayloadMassDriver = new PayloadMassDriver("large-payload-mass-driver"){{ + requirements(Category.units, with(Items.thorium, 200, Items.tungsten, 200, Items.silicon, 200, Items.graphite, 100, Items.oxide, 30)); + regionSuffix = "-dark"; + size = 5; + reload = 130f; + chargeTime = 100f; + range = 1100f; + maxPayloadSize = 3.5f; + consumePower(3f); + }}; + + smallDeconstructor = new PayloadDeconstructor("small-deconstructor"){{ + requirements(Category.units, with(Items.beryllium, 100, Items.silicon, 100, Items.oxide, 40, Items.graphite, 80)); + regionSuffix = "-dark"; + itemCapacity = 100; + consumePower(1f); + size = 3; + deconstructSpeed = 1f; + }}; + + deconstructor = new PayloadDeconstructor("deconstructor"){{ + requirements(Category.units, with(Items.beryllium, 250, Items.oxide, 100, Items.silicon, 250, Items.carbide, 250)); + regionSuffix = "-dark"; + itemCapacity = 250; + consumePower(3f); + size = 5; + deconstructSpeed = 2f; + }}; + + constructor = new Constructor("constructor"){{ + requirements(Category.units, with(Items.silicon, 100, Items.beryllium, 150, Items.tungsten, 80)); + regionSuffix = "-dark"; + hasPower = true; + buildSpeed = 0.6f; + consumePower(2f); + size = 3; + //TODO expand this list + filter = Seq.with(Blocks.tungstenWallLarge, Blocks.berylliumWallLarge, Blocks.carbideWallLarge, Blocks.reinforcedSurgeWallLarge, Blocks.reinforcedLiquidContainer, Blocks.reinforcedContainer, Blocks.beamNode); + }}; + + //yes this block is pretty much useless + largeConstructor = new Constructor("large-constructor"){{ + requirements(Category.units, with(Items.silicon, 150, Items.oxide, 150, Items.tungsten, 200, Items.phaseFabric, 40)); + regionSuffix = "-dark"; + hasPower = true; + buildSpeed = 0.75f; + maxBlockSize = 4; + minBlockSize = 3; + size = 5; + + consumePower(2f); + }}; + + payloadLoader = new PayloadLoader("payload-loader"){{ + requirements(Category.units, with(Items.graphite, 50, Items.silicon, 50, Items.tungsten, 80)); + regionSuffix = "-dark"; + hasPower = true; + consumePower(2f); + size = 3; + fogRadius = 5; + }}; + + payloadUnloader = new PayloadUnloader("payload-unloader"){{ + requirements(Category.units, with(Items.graphite, 50, Items.silicon, 50, Items.tungsten, 30)); + regionSuffix = "-dark"; + hasPower = true; + consumePower(2f); + size = 3; + fogRadius = 5; }}; //endregion @@ -1992,7 +6283,7 @@ public class Blocks implements ContentList{ powerSource = new PowerSource("power-source"){{ requirements(Category.power, BuildVisibility.sandboxOnly, with()); - powerProduction = 100000f / 60f; + powerProduction = 1000000f / 60f; alwaysUnlocked = true; }}; @@ -2021,11 +6312,38 @@ public class Blocks implements ContentList{ alwaysUnlocked = true; }}; + payloadSource = new PayloadSource("payload-source"){{ + requirements(Category.units, BuildVisibility.sandboxOnly, with()); + size = 5; + alwaysUnlocked = true; + }}; + + payloadVoid = new PayloadVoid("payload-void"){{ + requirements(Category.units, BuildVisibility.sandboxOnly, with()); + size = 5; + alwaysUnlocked = true; + }}; + + heatSource = new HeatProducer("heat-source"){{ + requirements(Category.crafting, BuildVisibility.sandboxOnly, with()); + drawer = new DrawMulti(new DrawDefault(), new DrawHeatOutput()); + rotateDraw = false; + size = 1; + heatOutput = 1000f; + warmupRate = 1000f; + regionRotated1 = 1; + itemCapacity = 0; + alwaysUnlocked = true; + ambientSound = Sounds.none; + allDatabaseTabs = true; + }}; + + //TODO move illuminator = new LightBlock("illuminator"){{ - requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8)); + requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8, Items.lead, 8)); brightness = 0.75f; - radius = 120f; - consumes.power(0.05f); + radius = 140f; + consumePower(0.05f); }}; //endregion @@ -2041,87 +6359,102 @@ public class Blocks implements ContentList{ replacement = Blocks.groundFactory; }}; + new LegacyCommandCenter("command-center"){{ + size = 2; + }}; + //endregion //region campaign launchPad = new LaunchPad("launch-pad"){{ - requirements(Category.effect, BuildVisibility.campaignOnly, with(Items.copper, 350, Items.silicon, 140, Items.lead, 200, Items.titanium, 150)); + requirements(Category.effect, BuildVisibility.legacyLaunchPadOnly, with(Items.copper, 350, Items.silicon, 140, Items.lead, 200, Items.titanium, 150)); size = 3; itemCapacity = 100; launchTime = 60f * 20; hasPower = true; - consumes.power(4f); + acceptMultipleItems = true; + consumePower(4f); }}; - //TODO remove - launchPadLarge = new LaunchPad("launch-pad-large"){{ - requirements(Category.effect, BuildVisibility.debugOnly, ItemStack.with(Items.titanium, 200, Items.silicon, 150, Items.lead, 250, Items.plastanium, 75)); + advancedLaunchPad = new LaunchPad("advanced-launch-pad"){{ + requirements(Category.effect, BuildVisibility.notLegacyLaunchPadOnly, with(Items.copper, 350, Items.silicon, 250, Items.lead, 300, Items.titanium, 200)); size = 4; - itemCapacity = 300; - launchTime = 60f * 35; + itemCapacity = 100; + launchTime = 60f * 30; + liquidCapacity = 40f; hasPower = true; - consumes.power(6f); + drawLiquid = Liquids.oil; + consumeLiquid(Liquids.oil, 9f/60f); + consumePower(8f); + }}; + + landingPad = new LandingPad("landing-pad"){{ + requirements(Category.effect, BuildVisibility.notLegacyLaunchPadOnly, with(Items.copper, 200, Items.graphite, 100, Items.titanium, 100)); + size = 4; + + itemCapacity = 100; + + coolingEffect = new RadialEffect(Fx.steamCoolSmoke, 4, 90f, 9.5f, 180f); + liquidCapacity = 3000f; + consumeLiquidAmount = 1500f; }}; interplanetaryAccelerator = new Accelerator("interplanetary-accelerator"){{ requirements(Category.effect, BuildVisibility.campaignOnly, with(Items.copper, 16000, Items.silicon, 11000, Items.thorium, 13000, Items.titanium, 12000, Items.surgeAlloy, 6000, Items.phaseFabric, 5000)); researchCostMultiplier = 0.1f; + powerBufferRequirement = 1_000_000f; size = 7; hasPower = true; - consumes.power(10f); + consumePower(10f); buildCostMultiplier = 0.5f; + scaledHealth = 80; }}; //endregion campaign //region logic message = new MessageBlock("message"){{ - requirements(Category.logic, with(Items.graphite, 5)); + requirements(Category.logic, with(Items.graphite, 5, Items.copper, 5)); }}; switchBlock = new SwitchBlock("switch"){{ - requirements(Category.logic, with(Items.graphite, 5)); + requirements(Category.logic, with(Items.graphite, 5, Items.copper, 5)); }}; microProcessor = new LogicBlock("micro-processor"){{ - requirements(Category.logic, with(Items.copper, 80, Items.lead, 50, Items.silicon, 30)); + requirements(Category.logic, with(Items.copper, 90, Items.lead, 50, Items.silicon, 50)); instructionsPerTick = 2; - size = 1; }}; logicProcessor = new LogicBlock("logic-processor"){{ - requirements(Category.logic, with(Items.lead, 320, Items.silicon, 60, Items.graphite, 60, Items.thorium, 50)); + requirements(Category.logic, with(Items.lead, 320, Items.silicon, 80, Items.graphite, 60, Items.thorium, 50)); instructionsPerTick = 8; - range = 8 * 22; - size = 2; }}; hyperProcessor = new LogicBlock("hyper-processor"){{ - requirements(Category.logic, with(Items.lead, 450, Items.silicon, 130, Items.thorium, 75, Items.surgeAlloy, 50)); + requirements(Category.logic, with(Items.lead, 450, Items.silicon, 150, Items.thorium, 75, Items.surgeAlloy, 50)); - consumes.liquid(Liquids.cryofluid, 0.08f); + consumeLiquid(Liquids.cryofluid, 0.08f); hasLiquids = true; instructionsPerTick = 25; - range = 8 * 42; - size = 3; }}; memoryCell = new MemoryBlock("memory-cell"){{ - requirements(Category.logic, with(Items.graphite, 30, Items.silicon, 30)); + requirements(Category.logic, with(Items.graphite, 30, Items.silicon, 30, Items.copper, 30)); memoryCapacity = 64; }}; memoryBank = new MemoryBlock("memory-bank"){{ - requirements(Category.logic, with(Items.graphite, 80, Items.silicon, 80, Items.phaseFabric, 30)); + requirements(Category.logic, with(Items.graphite, 80, Items.silicon, 80, Items.phaseFabric, 30, Items.copper, 30)); memoryCapacity = 512; size = 2; @@ -2143,28 +6476,54 @@ public class Blocks implements ContentList{ size = 6; }}; - //endregion - //region experimental + canvas = new CanvasBlock("canvas"){{ + requirements(Category.logic, BuildVisibility.shown, with(Items.silicon, 10, Items.beryllium, 10)); - blockForge = new BlockForge("block-forge"){{ - requirements(Category.crafting, BuildVisibility.debugOnly, with(Items.thorium, 100)); - hasPower = true; - consumes.power(2f); - size = 3; + canvasSize = 12; + padding = 7f / 4f * 2f; + + size = 2; }}; - blockLoader = new BlockLoader("block-loader"){{ - requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.thorium, 100)); - hasPower = true; - consumes.power(2f); - size = 3; + reinforcedMessage = new MessageBlock("reinforced-message"){{ + requirements(Category.logic, with(Items.graphite, 10, Items.beryllium, 5)); + health = 100; }}; - blockUnloader = new BlockUnloader("block-unloader"){{ - requirements(Category.distribution, BuildVisibility.debugOnly, with(Items.thorium, 100)); - hasPower = true; - consumes.power(2f); - size = 3; + worldProcessor = new LogicBlock("world-processor"){{ + requirements(Category.logic, BuildVisibility.worldProcessorOnly, with()); + + canOverdrive = false; + targetable = false; + instructionsPerTick = 8; + forceDark = true; + privileged = true; + size = 1; + maxInstructionsPerTick = 1000; + range = Float.MAX_VALUE; + }}; + + worldCell = new MemoryBlock("world-cell"){{ + requirements(Category.logic, BuildVisibility.worldProcessorOnly, with()); + + targetable = false; + privileged = true; + memoryCapacity = 512; + forceDark = true; + }}; + + worldMessage = new MessageBlock("world-message"){{ + requirements(Category.logic, BuildVisibility.worldProcessorOnly, with()); + + targetable = false; + privileged = true; + }}; + + worldSwitch = new SwitchBlock("world-switch"){{ + requirements(Category.logic, BuildVisibility.worldProcessorOnly, with()); + + targetable = false; + privileged = true; }}; //endregion diff --git a/core/src/mindustry/content/Bullets.java b/core/src/mindustry/content/Bullets.java index dbed9cc7ac..4536a3b826 100644 --- a/core/src/mindustry/content/Bullets.java +++ b/core/src/mindustry/content/Bullets.java @@ -1,46 +1,26 @@ package mindustry.content; import arc.graphics.*; -import arc.graphics.g2d.*; -import arc.math.*; -import arc.util.*; -import mindustry.ctype.*; -import mindustry.entities.*; import mindustry.entities.bullet.*; -import mindustry.gen.*; -import mindustry.graphics.*; -import mindustry.io.*; -import mindustry.world.*; -import static mindustry.Vars.*; - -public class Bullets implements ContentList{ +/** + * Class for holding special internal bullets. + * Formerly used to define preset bullets for turrets; as of v7, these have been inlined at the source. + * */ +public class Bullets{ public static BulletType - //artillery - artilleryDense, artilleryPlastic, artilleryPlasticFrag, artilleryHoming, artilleryIncendiary, artilleryExplosive, + placeholder, spaceLiquid, damageLightning, damageLightningGround, damageLightningAir, fireball; - //flak - flakScrap, flakLead, flakGlass, flakGlassFrag, + public static void load(){ - //frag (flak-like but hits ground) - fragGlass, fragExplosive, fragPlastic, fragSurge, fragGlassFrag, fragPlasticFrag, - - //missiles - missileExplosive, missileIncendiary, missileSurge, - - //standard - standardCopper, standardDense, standardThorium, standardHoming, standardIncendiary, - standardDenseBig, standardThoriumBig, standardIncendiaryBig, - - //liquid - waterShot, cryoShot, slagShot, oilShot, heavyWaterShot, heavyCryoShot, heavySlagShot, heavyOilShot, - - //environment, misc. - damageLightning, damageLightningGround, fireball, basicFlame, pyraFlame, driverBolt; - - @Override - public void load(){ + //not allowed in weapons - used only to prevent NullPointerExceptions + placeholder = new BasicBulletType(2.5f, 9, "ohno"){{ + width = 7f; + height = 9f; + lifetime = 60f; + ammoMultiplier = 2; + }}; //lightning bullets need to be initialized first. damageLightning = new BulletType(0.0001f, 0f){{ @@ -50,464 +30,24 @@ public class Bullets implements ContentList{ status = StatusEffects.shocked; statusDuration = 10f; hittable = false; + lightColor = Color.white; }}; //this is just a copy of the damage lightning bullet that doesn't damage air units - damageLightningGround = new BulletType(0.0001f, 0f){}; - JsonIO.copy(damageLightning, damageLightningGround); + damageLightningGround = damageLightning.copy(); damageLightningGround.collidesAir = false; - artilleryDense = new ArtilleryBulletType(3f, 20, "shell"){{ - hitEffect = Fx.flakExplosion; - knockback = 0.8f; - lifetime = 80f; - width = height = 11f; - collidesTiles = false; - splashDamageRadius = 25f; - splashDamage = 33f; - }}; + damageLightningAir = damageLightning.copy(); + damageLightningAir.collidesGround = false; + damageLightningAir.collidesTiles = false; - artilleryPlasticFrag = new BasicBulletType(2.5f, 10, "bullet"){{ - width = 10f; - height = 12f; - shrinkY = 1f; - lifetime = 15f; - backColor = Pal.plastaniumBack; - frontColor = Pal.plastaniumFront; - despawnEffect = Fx.none; - collidesAir = false; - }}; - - artilleryPlastic = new ArtilleryBulletType(3.4f, 20, "shell"){{ - hitEffect = Fx.plasticExplosion; - knockback = 1f; - lifetime = 80f; - width = height = 13f; - collidesTiles = false; - splashDamageRadius = 35f; - splashDamage = 45f; - fragBullet = artilleryPlasticFrag; - fragBullets = 10; - backColor = Pal.plastaniumBack; - frontColor = Pal.plastaniumFront; - }}; - - artilleryHoming = new ArtilleryBulletType(3f, 20, "shell"){{ - hitEffect = Fx.flakExplosion; - knockback = 0.8f; - lifetime = 80f; - width = height = 11f; - collidesTiles = false; - splashDamageRadius = 25f; - splashDamage = 33f; - reloadMultiplier = 1.2f; - ammoMultiplier = 3f; - homingPower = 0.08f; - homingRange = 50f; - }}; - - artilleryIncendiary = new ArtilleryBulletType(3f, 20, "shell"){{ - hitEffect = Fx.blastExplosion; - knockback = 0.8f; - lifetime = 80f; - width = height = 13f; - collidesTiles = false; - splashDamageRadius = 25f; - splashDamage = 35f; - status = StatusEffects.burning; - frontColor = Pal.lightishOrange; - backColor = Pal.lightOrange; - makeFire = true; - trailEffect = Fx.incendTrail; - }}; - - artilleryExplosive = new ArtilleryBulletType(2f, 20, "shell"){{ - hitEffect = Fx.blastExplosion; - knockback = 0.8f; - lifetime = 80f; - width = height = 14f; - collidesTiles = false; - ammoMultiplier = 4f; - splashDamageRadius = 45f; - splashDamage = 50f; - backColor = Pal.missileYellowBack; - frontColor = Pal.missileYellow; - - status = StatusEffects.blasted; - statusDuration = 60f; - }}; - - flakGlassFrag = new BasicBulletType(3f, 5, "bullet"){{ - width = 5f; - height = 12f; - shrinkY = 1f; - lifetime = 20f; - backColor = Pal.gray; - frontColor = Color.white; - despawnEffect = Fx.none; - collidesGround = false; - }}; - - flakLead = new FlakBulletType(4.2f, 3){{ - lifetime = 60f; - ammoMultiplier = 4f; - shootEffect = Fx.shootSmall; - width = 6f; - height = 8f; - hitEffect = Fx.flakExplosion; - splashDamage = 27f; - splashDamageRadius = 15f; - }}; - - flakScrap = new FlakBulletType(4f, 3){{ - lifetime = 60f; - ammoMultiplier = 5f; - shootEffect = Fx.shootSmall; - reloadMultiplier = 0.5f; - width = 6f; - height = 8f; - hitEffect = Fx.flakExplosion; - splashDamage = 22f; - splashDamageRadius = 24f; - }}; - - flakGlass = new FlakBulletType(4f, 3){{ - lifetime = 60f; - ammoMultiplier = 5f; - shootEffect = Fx.shootSmall; - reloadMultiplier = 0.8f; - width = 6f; - height = 8f; - hitEffect = Fx.flakExplosion; - splashDamage = 22f; - splashDamageRadius = 20f; - fragBullet = flakGlassFrag; - fragBullets = 5; - }}; - - fragGlassFrag = new BasicBulletType(3f, 5, "bullet"){{ - width = 5f; - height = 12f; - shrinkY = 1f; - lifetime = 20f; - backColor = Pal.gray; - frontColor = Color.white; - despawnEffect = Fx.none; - }}; - - fragPlasticFrag = new BasicBulletType(2.5f, 10, "bullet"){{ - width = 10f; - height = 12f; - shrinkY = 1f; - lifetime = 15f; - backColor = Pal.plastaniumBack; - frontColor = Pal.plastaniumFront; - despawnEffect = Fx.none; - }}; - - fragGlass = new FlakBulletType(4f, 3){{ - ammoMultiplier = 3f; - shootEffect = Fx.shootSmall; - reloadMultiplier = 0.8f; - width = 6f; - height = 8f; - hitEffect = Fx.flakExplosion; - splashDamage = 18f; - splashDamageRadius = 16f; - fragBullet = fragGlassFrag; - fragBullets = 3; - explodeRange = 20f; - collidesGround = true; - }}; - - fragPlastic = new FlakBulletType(4f, 6){{ - splashDamageRadius = 40f; - splashDamage = 25f; - fragBullet = fragPlasticFrag; - fragBullets = 5; - hitEffect = Fx.plasticExplosion; - frontColor = Pal.plastaniumFront; - backColor = Pal.plastaniumBack; - shootEffect = Fx.shootBig; - collidesGround = true; - explodeRange = 20f; - }}; - - fragExplosive = new FlakBulletType(4f, 5){{ - shootEffect = Fx.shootBig; - ammoMultiplier = 4f; - splashDamage = 18f; - splashDamageRadius = 55f; - collidesGround = true; - - status = StatusEffects.blasted; - statusDuration = 60f; - }}; - - fragSurge = new FlakBulletType(4.5f, 13){{ - ammoMultiplier = 4f; - splashDamage = 50f; - splashDamageRadius = 40f; - lightning = 2; - lightningLength = 7; - shootEffect = Fx.shootBig; - collidesGround = true; - explodeRange = 20f; - }}; - - missileExplosive = new MissileBulletType(3.7f, 10){{ - width = 8f; - height = 8f; - shrinkY = 0f; - drag = -0.01f; - splashDamageRadius = 30f; - splashDamage = 30f; - ammoMultiplier = 4f; - hitEffect = Fx.blastExplosion; - despawnEffect = Fx.blastExplosion; - - status = StatusEffects.blasted; - statusDuration = 60f; - }}; - - missileIncendiary = new MissileBulletType(3.7f, 12){{ - frontColor = Pal.lightishOrange; - backColor = Pal.lightOrange; - width = 7f; - height = 8f; - shrinkY = 0f; - drag = -0.01f; - homingPower = 0.08f; - splashDamageRadius = 20f; - splashDamage = 20f; - makeFire = true; - hitEffect = Fx.blastExplosion; - status = StatusEffects.burning; - }}; - - missileSurge = new MissileBulletType(3.7f, 18){{ - width = 8f; - height = 8f; - shrinkY = 0f; - drag = -0.01f; - splashDamageRadius = 25f; - splashDamage = 25f; - hitEffect = Fx.blastExplosion; - despawnEffect = Fx.blastExplosion; - lightningDamage = 10; - lightning = 2; - lightningLength = 10; - }}; - - standardCopper = new BasicBulletType(2.5f, 9){{ - width = 7f; - height = 9f; - lifetime = 60f; - shootEffect = Fx.shootSmall; - smokeEffect = Fx.shootSmallSmoke; - ammoMultiplier = 2; - }}; - - standardDense = new BasicBulletType(3.5f, 18){{ - width = 9f; - height = 12f; - reloadMultiplier = 0.6f; - ammoMultiplier = 4; - lifetime = 60f; - }}; - - standardThorium = new BasicBulletType(4f, 29, "bullet"){{ - width = 10f; - height = 13f; - shootEffect = Fx.shootBig; - smokeEffect = Fx.shootBigSmoke; - ammoMultiplier = 4; - lifetime = 60f; - }}; - - standardHoming = new BasicBulletType(3f, 12, "bullet"){{ - width = 7f; - height = 9f; - homingPower = 0.08f; - reloadMultiplier = 1.5f; - ammoMultiplier = 5; - lifetime = 60f; - }}; - - standardIncendiary = new BasicBulletType(3.2f, 11, "bullet"){{ - width = 10f; - height = 12f; - frontColor = Pal.lightishOrange; - backColor = Pal.lightOrange; - status = StatusEffects.burning; - makeFire = true; - inaccuracy = 3f; - lifetime = 60f; - }}; - - standardDenseBig = new BasicBulletType(7f, 55, "bullet"){{ - width = 15f; - height = 21f; - shootEffect = Fx.shootBig; - }}; - - standardThoriumBig = new BasicBulletType(8f, 80, "bullet"){{ - width = 16f; - height = 23f; - shootEffect = Fx.shootBig; - pierceCap = 2; - pierceBuilding = true; - knockback = 0.7f; - }}; - - standardIncendiaryBig = new BasicBulletType(7f, 60, "bullet"){{ - width = 16f; - height = 21f; - frontColor = Pal.lightishOrange; - backColor = Pal.lightOrange; - status = StatusEffects.burning; - shootEffect = Fx.shootBig; - makeFire = true; - pierceCap = 2; - pierceBuilding = true; - knockback = 0.7f; - }}; - - fireball = new BulletType(1f, 4){ - { - pierce = true; - collidesTiles = false; - collides = false; - drag = 0.03f; - hitEffect = despawnEffect = Fx.none; - } - - @Override - public void init(Bullet b){ - b.vel.setLength(0.6f + Mathf.random(2f)); - } - - @Override - public void draw(Bullet b){ - Draw.color(Pal.lightFlame, Pal.darkFlame, Color.gray, b.fin()); - Fill.circle(b.x, b.y, 3f * b.fout()); - Draw.reset(); - } - - @Override - public void update(Bullet b){ - if(Mathf.chance(0.04 * Time.delta)){ - Tile tile = world.tileWorld(b.x, b.y); - if(tile != null){ - Fires.create(tile); - } - } - - if(Mathf.chance(0.1 * Time.delta)){ - Fx.fireballsmoke.at(b.x, b.y); - } - - if(Mathf.chance(0.1 * Time.delta)){ - Fx.ballfire.at(b.x, b.y); - } - } - }; - - basicFlame = new BulletType(3.35f, 16f){{ - ammoMultiplier = 3f; - hitSize = 7f; - lifetime = 18f; - pierce = true; - collidesAir = false; - statusDuration = 60f * 4; - shootEffect = Fx.shootSmallFlame; - hitEffect = Fx.hitFlameSmall; - despawnEffect = Fx.none; - status = StatusEffects.burning; - keepVelocity = false; + fireball = new FireBulletType(1f, 4){{ hittable = false; }}; - pyraFlame = new BulletType(3.35f, 25f){{ - ammoMultiplier = 4f; - hitSize = 7f; - lifetime = 18f; - pierce = true; - collidesAir = false; - statusDuration = 60f * 6; - shootEffect = Fx.shootPyraFlame; - hitEffect = Fx.hitFlameSmall; - despawnEffect = Fx.none; - status = StatusEffects.burning; - hittable = false; - }}; - - waterShot = new LiquidBulletType(Liquids.water){{ + spaceLiquid = new SpaceLiquidBulletType(){{ knockback = 0.7f; drag = 0.01f; }}; - - cryoShot = new LiquidBulletType(Liquids.cryofluid){{ - drag = 0.01f; - }}; - - slagShot = new LiquidBulletType(Liquids.slag){{ - damage = 4; - drag = 0.01f; - }}; - - oilShot = new LiquidBulletType(Liquids.oil){{ - drag = 0.01f; - }}; - - heavyWaterShot = new LiquidBulletType(Liquids.water){{ - lifetime = 49f; - speed = 4f; - knockback = 1.7f; - puddleSize = 8f; - orbSize = 4f; - drag = 0.001f; - ammoMultiplier = 0.4f; - statusDuration = 60f * 4f; - damage = 0.2f; - }}; - - heavyCryoShot = new LiquidBulletType(Liquids.cryofluid){{ - lifetime = 49f; - speed = 4f; - knockback = 1.3f; - puddleSize = 8f; - orbSize = 4f; - drag = 0.001f; - ammoMultiplier = 0.4f; - statusDuration = 60f * 4f; - damage = 0.2f; - }}; - - heavySlagShot = new LiquidBulletType(Liquids.slag){{ - lifetime = 49f; - speed = 4f; - knockback = 1.3f; - puddleSize = 8f; - orbSize = 4f; - damage = 4.75f; - drag = 0.001f; - ammoMultiplier = 0.4f; - statusDuration = 60f * 4f; - }}; - - heavyOilShot = new LiquidBulletType(Liquids.oil){{ - lifetime = 49f; - speed = 4f; - knockback = 1.3f; - puddleSize = 8f; - orbSize = 4f; - drag = 0.001f; - ammoMultiplier = 0.4f; - statusDuration = 60f * 4f; - damage = 0.2f; - }}; - - driverBolt = new MassDriverBolt(); } } diff --git a/core/src/mindustry/content/ErekirTechTree.java b/core/src/mindustry/content/ErekirTechTree.java new file mode 100644 index 0000000000..680c0194dd --- /dev/null +++ b/core/src/mindustry/content/ErekirTechTree.java @@ -0,0 +1,468 @@ +package mindustry.content; + +import arc.struct.*; +import arc.util.*; +import mindustry.entities.bullet.*; +import mindustry.game.Objectives.*; +import mindustry.type.*; +import mindustry.type.unit.*; +import mindustry.world.blocks.defense.turrets.*; + +import static mindustry.Vars.*; +import static mindustry.content.Blocks.*; +import static mindustry.content.SectorPresets.*; +import static mindustry.content.TechTree.*; + +public class ErekirTechTree{ + static IntSet balanced = new IntSet(); + + static void rebalanceBullet(BulletType bullet){ + if(balanced.add(bullet.id)){ + bullet.damage *= 0.75f; + } + } + + //TODO remove this + public static void rebalance(){ + for(var unit : content.units().select(u -> u instanceof ErekirUnitType)){ + for(var weapon : unit.weapons){ + rebalanceBullet(weapon.bullet); + } + } + + for(var block : content.blocks()){ + if(block instanceof Turret turret && Structs.contains(block.requirements, i -> !Items.serpuloItems.contains(i.item))){ + if(turret instanceof ItemTurret item){ + for(var bullet : item.ammoTypes.values()){ + rebalanceBullet(bullet); + } + }else if(turret instanceof ContinuousLiquidTurret cont){ + for(var bullet : cont.ammoTypes.values()){ + rebalanceBullet(bullet); + } + }else if(turret instanceof ContinuousTurret cont){ + rebalanceBullet(cont.shootType); + } + } + } + } + + public static void load(){ + rebalance(); + + //TODO might be unnecessary with no asteroids + Seq erekirSector = Seq.with(new OnPlanet(Planets.erekir)); + + var costMultipliers = new ObjectFloatMap(); + for(var item : content.items()) costMultipliers.put(item, 0.9f); + + //these are hard to make + costMultipliers.put(Items.oxide, 0.5f); + costMultipliers.put(Items.surgeAlloy, 0.7f); + costMultipliers.put(Items.carbide, 0.3f); + costMultipliers.put(Items.phaseFabric, 0.2f); + + Planets.erekir.techTree = nodeRoot("erekir", coreBastion, true, () -> { + context().researchCostMultipliers = costMultipliers; + + node(duct, erekirSector, () -> { + node(ductRouter, () -> { + node(ductBridge, () -> { + node(armoredDuct, () -> { + node(surgeConveyor, () -> { + node(surgeRouter); + }); + }); + + node(unitCargoLoader, () -> { + node(unitCargoUnloadPoint, () -> { + + }); + }); + }); + + node(overflowDuct, Seq.with(new OnSector(aegis)), () -> { + node(underflowDuct); + node(reinforcedContainer, () -> { + node(ductUnloader, () -> { + + }); + + node(reinforcedVault, () -> { + + }); + }); + }); + + node(reinforcedMessage, Seq.with(new OnSector(aegis)), () -> { + node(canvas); + }); + }); + + node(reinforcedPayloadConveyor, Seq.with(new OnSector(atlas)), () -> { + //TODO should only be unlocked in unit sector + node(payloadMassDriver, Seq.with(new Research(siliconArcFurnace), new OnSector(split)), () -> { + //TODO further limitations + node(payloadLoader, () -> { + node(payloadUnloader, () -> { + node(largePayloadMassDriver, () -> { + + }); + }); + }); + + node(constructor, Seq.with(new OnSector(split)), () -> { + node(smallDeconstructor, Seq.with(new OnSector(peaks)), () -> { + node(largeConstructor, Seq.with(new OnSector(siege)), () -> { + + }); + + node(deconstructor, Seq.with(new OnSector(siege)), () -> { + + }); + }); + }); + }); + + node(reinforcedPayloadRouter, () -> { + + }); + }); + }); + + //TODO move into turbine condenser? + node(plasmaBore, () -> { + node(impactDrill, Seq.with(new OnSector(aegis)), () -> { + node(largePlasmaBore, Seq.with(new OnSector(caldera)), () -> { + node(eruptionDrill, Seq.with(new OnSector(stronghold)), () -> { + + }); + + node(largeCliffCrusher, Seq.with(new OnSector(stronghold)), () -> { + + }); + }); + }); + }); + + node(turbineCondenser, () -> { + node(beamNode, () -> { + node(ventCondenser, Seq.with(new OnSector(aegis)), () -> { + node(chemicalCombustionChamber, Seq.with(new OnSector(basin)), () -> { + node(pyrolysisGenerator, Seq.with(new OnSector(crevice)), () -> { + node(fluxReactor, Seq.with(new OnSector(crossroads), new Research(cyanogenSynthesizer)), () -> { + node(neoplasiaReactor, Seq.with(new OnSector(karst)), () -> { + + }); + }); + }); + }); + }); + + node(beamTower, Seq.with(new OnSector(peaks)), () -> { + + }); + + + node(regenProjector, Seq.with(new OnSector(peaks)), () -> { + //TODO more tiers of build tower or "support" structures like overdrive projectors + node(buildTower, Seq.with(new OnSector(stronghold)), () -> { + node(shockwaveTower, Seq.with(new OnSector(siege)), () -> { + + }); + }); + }); + }); + + node(reinforcedConduit, Seq.with(new OnSector(aegis)), () -> { + //TODO maybe should be even later + node(reinforcedPump, Seq.with(new OnSector(basin)), () -> { + //TODO T2 pump, consume cyanogen or similar + }); + + node(reinforcedLiquidJunction, () -> { + node(reinforcedBridgeConduit, () -> { + + }); + + node(reinforcedLiquidRouter, () -> { + node(reinforcedLiquidContainer, () -> { + node(reinforcedLiquidTank, Seq.with(new SectorComplete(intersect)), () -> { + + }); + }); + }); + }); + }); + + node(cliffCrusher, () -> { + node(siliconArcFurnace, () -> { + node(electrolyzer, Seq.with(new OnSector(atlas)), () -> { + node(oxidationChamber, Seq.with(new Research(tankRefabricator), new OnSector(marsh)), () -> { + + node(surgeCrucible, Seq.with(new OnSector(ravine)), () -> { + + }); + node(heatRedirector, Seq.with(new OnSector(ravine)), () -> { + node(electricHeater, Seq.with(new OnSector(ravine), new Research(afflict)), () -> { + node(slagHeater, Seq.with(new OnSector(caldera)), () -> { + + }); + + node(atmosphericConcentrator, Seq.with(new OnSector(caldera)), () -> { + node(cyanogenSynthesizer, Seq.with(new OnSector(siege)), () -> { + + }); + }); + + node(carbideCrucible, Seq.with(new OnSector(crevice)), () -> { + node(phaseSynthesizer, Seq.with(new OnSector(karst)), () -> { + node(phaseHeater, Seq.with(new Research(phaseSynthesizer)), () -> { + + }); + }); + }); + + node(heatRouter, () -> { + node(smallHeatRedirector, () -> { + + }); + }); + }); + }); + }); + + node(slagIncinerator, Seq.with(new OnSector(basin)), () -> { + + //TODO these are unused. + //node(slagCentrifuge, () -> {}); + //node(heatReactor, () -> {}); + }); + }); + }); + }); + }); + + + node(breach, Seq.with(new Research(siliconArcFurnace), new Research(tankFabricator)), () -> { + node(berylliumWall, () -> { + node(berylliumWallLarge, () -> { + + }); + + node(tungstenWall, () -> { + node(tungstenWallLarge, () -> { + node(blastDoor, () -> { + + }); + }); + + node(reinforcedSurgeWall, () -> { + node(reinforcedSurgeWallLarge, () -> { + node(shieldedWall, () -> { + + }); + }); + }); + + node(carbideWall, () -> { + node(carbideWallLarge, () -> { + + }); + }); + }); + }); + + node(diffuse, Seq.with(new OnSector(lake)), () -> { + node(sublimate, Seq.with(new OnSector(marsh)), () -> { + node(afflict, Seq.with(new OnSector(ravine)), () -> { + node(titan, Seq.with(new OnSector(stronghold)), () -> { + node(lustre, Seq.with(new OnSector(crevice)), () -> { + node(smite, Seq.with(new OnSector(karst)), () -> { + + }); + }); + }); + }); + }); + + node(disperse, Seq.with(new OnSector(stronghold)), () -> { + node(scathe, Seq.with(new OnSector(siege)), () -> { + node(malign, Seq.with(new SectorComplete(karst)), () -> { + + }); + }); + }); + }); + + + node(radar, Seq.with(new Research(beamNode), new Research(turbineCondenser), new Research(tankFabricator), new OnSector(SectorPresets.aegis)), () -> { + + }); + }); + + node(coreCitadel, Seq.with(new SectorComplete(peaks)), () -> { + node(coreAcropolis, Seq.with(new SectorComplete(siege)), () -> { + + }); + }); + + node(tankFabricator, Seq.with(new Research(siliconArcFurnace), new Research(plasmaBore), new Research(turbineCondenser)), () -> { + node(UnitTypes.stell); + + node(unitRepairTower, Seq.with(new OnSector(ravine), new Research(mechRefabricator)), () -> { + + }); + + node(shipFabricator, Seq.with(new OnSector(lake)), () -> { + node(UnitTypes.elude); + + node(mechFabricator, Seq.with(new OnSector(intersect)), () -> { + node(UnitTypes.merui); + + node(tankRefabricator, Seq.with(new OnSector(atlas)), () -> { + node(UnitTypes.locus); + + node(mechRefabricator, Seq.with(new OnSector(basin)), () -> { + node(UnitTypes.cleroi); + + node(shipRefabricator, Seq.with(new OnSector(peaks)), () -> { + node(UnitTypes.avert); + + //TODO + node(primeRefabricator, Seq.with(new OnSector(stronghold)), () -> { + node(UnitTypes.precept); + node(UnitTypes.anthicus); + node(UnitTypes.obviate); + }); + + node(tankAssembler, Seq.with(new OnSector(siege), new Research(constructor), new Research(atmosphericConcentrator)), () -> { + + node(UnitTypes.vanquish, () -> { + node(UnitTypes.conquer, Seq.with(new OnSector(karst)), () -> { + + }); + }); + + node(shipAssembler, Seq.with(new OnSector(crossroads)), () -> { + node(UnitTypes.quell, () -> { + node(UnitTypes.disrupt, Seq.with(new OnSector(karst)), () -> { + + }); + }); + }); + + node(mechAssembler, Seq.with(new OnSector(crossroads)), () -> { + node(UnitTypes.tecta, () -> { + node(UnitTypes.collaris, Seq.with(new OnSector(karst)), () -> { + + }); + }); + }); + + node(basicAssemblerModule, Seq.with(new SectorComplete(karst)), () -> { + + }); + }); + }); + }); + }); + }); + }); + }); + + node(onset, () -> { + node(aegis, Seq.with(new SectorComplete(onset), new Research(ductRouter), new Research(ductBridge)), () -> { + node(lake, Seq.with(new SectorComplete(aegis)), () -> { + + }); + + node(intersect, Seq.with(new SectorComplete(aegis), new SectorComplete(lake), new Research(ventCondenser), new Research(shipFabricator)), () -> { + node(atlas, Seq.with(new SectorComplete(intersect), new Research(mechFabricator)), () -> { + node(split, Seq.with(new SectorComplete(atlas), new Research(reinforcedPayloadConveyor), new Research(reinforcedContainer)), () -> { + + }); + + node(basin, Seq.with(new SectorComplete(atlas)), () -> { + node(marsh, Seq.with(new SectorComplete(basin)), () -> { + node(ravine, Seq.with(new SectorComplete(marsh), new Research(Liquids.slag)), () -> { + node(caldera, Seq.with(new SectorComplete(peaks), new Research(heatRedirector)), () -> { + node(stronghold, Seq.with(new SectorComplete(caldera), new Research(coreCitadel)), () -> { + node(crevice, Seq.with(new SectorComplete(stronghold)), () -> { + node(siege, Seq.with(new SectorComplete(crevice)), () -> { + node(crossroads, Seq.with(new SectorComplete(siege)), () -> { + node(karst, Seq.with(new SectorComplete(crossroads), new Research(coreAcropolis)), () -> { + node(origin, Seq.with(new SectorComplete(karst), new Research(coreAcropolis), new Research(UnitTypes.vanquish), new Research(UnitTypes.disrupt), new Research(UnitTypes.collaris), new Research(malign), new Research(basicAssemblerModule), new Research(neoplasiaReactor)), () -> { + + }); + }); + }); + }); + }); + }); + }); + }); + + node(peaks, Seq.with(new SectorComplete(marsh), new SectorComplete(split)), () -> { + + }); + }); + }); + }); + }); + }); + }); + + nodeProduce(Items.beryllium, () -> { + nodeProduce(Items.sand, () -> { + nodeProduce(Items.silicon, () -> { + nodeProduce(Items.oxide, () -> { + //nodeProduce(Items.fissileMatter, () -> {}); + }); + }); + }); + + nodeProduce(Liquids.water, () -> { + nodeProduce(Liquids.ozone, () -> { + nodeProduce(Liquids.hydrogen, () -> { + nodeProduce(Liquids.nitrogen, () -> { + + }); + + nodeProduce(Liquids.cyanogen, () -> { + nodeProduce(Liquids.neoplasm, () -> { + + }); + }); + }); + }); + }); + + nodeProduce(Items.graphite, () -> { + nodeProduce(Items.tungsten, () -> { + nodeProduce(Liquids.slag, () -> { + + }); + + nodeProduce(Liquids.arkycite, () -> { + + }); + + nodeProduce(Items.thorium, () -> { + nodeProduce(Items.carbide, () -> { + + //nodeProduce(Liquids.gallium, () -> {}); + }); + }); + + nodeProduce(Items.surgeAlloy, () -> { + nodeProduce(Items.phaseFabric, () -> { + + }); + }); + }); + }); + }); + }); + } +} diff --git a/core/src/mindustry/content/Fx.java b/core/src/mindustry/content/Fx.java index 7688108ebe..25c604c986 100644 --- a/core/src/mindustry/content/Fx.java +++ b/core/src/mindustry/content/Fx.java @@ -8,11 +8,12 @@ import arc.math.geom.*; import arc.struct.*; import arc.util.*; import mindustry.entities.*; -import mindustry.game.*; +import mindustry.entities.abilities.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; -import mindustry.ui.*; +import mindustry.world.*; +import mindustry.world.blocks.units.UnitAssembler.*; import static arc.graphics.g2d.Draw.rect; import static arc.graphics.g2d.Draw.*; @@ -21,23 +22,53 @@ import static arc.math.Angles.*; import static mindustry.Vars.*; public class Fx{ + public static final Rand rand = new Rand(); + public static final Vec2 v = new Vec2(); + public static final Effect none = new Effect(0, 0f, e -> {}), + blockCrash = new Effect(90f, e -> { + if(!(e.data instanceof Block block)) return; + + alpha(e.fin() + 0.5f); + float offset = Mathf.lerp(0f, 180f, e.fout()); + color(0f, 0f, 0f, 0.44f); + rect(block.fullIcon, e.x - offset * 4f, e.y, (float)block.size * 8f, (float)block.size * 8f); + color(Color.white); + rect(block.fullIcon, e.x + offset, e.y + offset * 5f, (float)block.size * 8f, (float)block.size * 8f); + }), + + trailFade = new Effect(400f, e -> { + if(!(e.data instanceof Trail trail)) return; + //lifetime is how many frames it takes to fade out the trail + e.lifetime = trail.length * 1.4f; + + if(!state.isPaused()){ + trail.shorten(); + } + trail.drawCap(e.color, e.rotation); + trail.draw(e.color, e.rotation); + }), + unitSpawn = new Effect(30f, e -> { - if(!(e.data instanceof UnitType)) return; + if(!(e.data instanceof UnitType unit)) return; + + TextureRegion region = unit.fullIcon; + + float scl = (1f + e.fout() * 2f) * region.scl(); + + alpha(e.fout()); + mixcol(Color.white, e.fin()); + + rect(region, e.x, e.y, 180f); + + reset(); alpha(e.fin()); - float scl = 1f + e.fout() * 2f; - - UnitType unit = e.data(); - TextureRegion region = unit.icon(Cicon.full); - - rect(region, e.x, e.y, - region.width * Draw.scl * scl, region.height * Draw.scl * scl, 180f); - + rect(region, e.x, e.y, region.width * scl, region.height * scl, e.rotation - 90); }), unitCapKill = new Effect(80f, e -> { @@ -48,15 +79,22 @@ public class Fx{ Draw.rect(Icon.warning.getRegion(), e.x, e.y, size, size); }), + unitEnvKill = new Effect(80f, e -> { + color(Color.scarlet); + alpha(e.fout(Interp.pow4Out)); + + float size = 10f + e.fout(Interp.pow10In) * 25f; + Draw.rect(Icon.cancel.getRegion(), e.x, e.y, size, size); + }), + unitControl = new Effect(30f, e -> { - if(!(e.data instanceof Unit)) return; + if(!(e.data instanceof Unit select)) return; - Unit select = e.data(); boolean block = select instanceof BlockUnitc; mixcol(Pal.accent, 1f); alpha(e.fout()); - rect(block ? ((BlockUnitc)select).tile().block.icon(Cicon.full) : select.type.icon(Cicon.full), select.x, select.y, block ? 0f : select.rotation - 90f); + rect(block ? ((BlockUnitc)select).tile().block.fullIcon : select.type.fullIcon, select.x, select.y, block ? 0f : select.rotation - 90f); alpha(1f); Lines.stroke(e.fslope()); Lines.square(select.x, select.y, e.fout() * select.hitSize * 2f, 45); @@ -66,23 +104,21 @@ public class Fx{ }), unitDespawn = new Effect(100f, e -> { - if(!(e.data instanceof Unit) || e.data().type == null) return; + if(!(e.data instanceof Unit select) || select.type == null) return; - Unit select = e.data(); float scl = e.fout(Interp.pow2Out); float p = Draw.scl; Draw.scl *= scl; mixcol(Pal.accent, 1f); - rect(select.type.icon(Cicon.full), select.x, select.y, select.rotation - 90f); + rect(select.type.fullIcon, select.x, select.y, select.rotation - 90f); reset(); Draw.scl = p; }), unitSpirit = new Effect(17f, e -> { - if(!(e.data instanceof Position)) return; - Position to = e.data(); + if(!(e.data instanceof Position to)) return; color(Pal.accent); @@ -100,29 +136,26 @@ public class Fx{ }), itemTransfer = new Effect(12f, e -> { - if(!(e.data instanceof Position)) return; - Position to = e.data(); + if(!(e.data instanceof Position to)) return; Tmp.v1.set(e.x, e.y).interpolate(Tmp.v2.set(to), e.fin(), Interp.pow3) .add(Tmp.v2.sub(e.x, e.y).nor().rotate90(1).scl(Mathf.randomSeedRange(e.id, 1f) * e.fslope() * 10f)); float x = Tmp.v1.x, y = Tmp.v1.y; float size = 1f; - stroke(e.fslope() * 2f * size, Pal.accent); - Lines.circle(x, y, e.fslope() * 2f * size); + color(Pal.accent); + Fill.circle(x, y, e.fslope() * 3f * size); color(e.color); Fill.circle(x, y, e.fslope() * 1.5f * size); }), - pointBeam = new Effect(25f, e -> { - if(!(e.data instanceof Position)) return; + pointBeam = new Effect(25f, 300f, e -> { + if(!(e.data instanceof Position pos)) return; - Position pos = e.data(); - - Draw.color(e.color); - Draw.alpha(e.fout()); + Draw.color(e.color, e.fout()); Lines.stroke(1.5f); Lines.line(e.x, e.y, pos.getX(), pos.getY()); + Drawf.light(e.x, e.y, pos.getX(), pos.getY(), 20f, e.color, 0.6f * e.fout()); }), pointHit = new Effect(8f, e -> { @@ -150,16 +183,60 @@ public class Fx{ } }), + coreBuildShockwave = new Effect(120, 500f, e -> { + e.lifetime = e.rotation; + + color(Pal.command); + stroke(e.fout(Interp.pow5Out) * 4f); + Lines.circle(e.x, e.y, e.fin() * e.rotation * 2f); + }), + + coreBuildBlock = new Effect(80f, e -> { + if(!(e.data instanceof Block block)) return; + + mixcol(Pal.accent, 1f); + alpha(e.fout()); + rect(block.fullIcon, e.x, e.y); + }).layer(Layer.turret - 5f), + + pointShockwave = new Effect(20, e -> { + color(e.color); + stroke(e.fout() * 2f); + Lines.circle(e.x, e.y, e.finpow() * e.rotation); + randLenVectors(e.id + 1, 8, 1f + 23f * e.finpow(), (x, y) -> + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f)); + }), + + moveCommand = new Effect(20, e -> { + color(Pal.command); + stroke(e.fout() * 5f); + Lines.circle(e.x, e.y, 6f + e.fin() * 2f); + }).layer(Layer.overlayUI), + + attackCommand = new Effect(20, e -> { + color(Pal.remove); + stroke(e.fout() * 5f); + poly(e.x, e.y, 4, 7f + e.fin() * 2f); + }).layer(Layer.overlayUI), + commandSend = new Effect(28, e -> { color(Pal.command); stroke(e.fout() * 2f); - Lines.circle(e.x, e.y, 4f + e.finpow() * 120f); + Lines.circle(e.x, e.y, 4f + e.finpow() * e.rotation); }), upgradeCore = new Effect(120f, e -> { - color(Color.white, Pal.accent, e.fin()); + if(!(e.data instanceof Block block)) return; + + mixcol(Tmp.c1.set(Color.white).lerp(Pal.accent, e.fin()), 1f); alpha(e.fout()); - Fill.square(e.x, e.y, tilesize / 2f * e.rotation); + rect(block.fullIcon, e.x, e.y); + }).layer(Layer.turret - 5f), + + upgradeCoreBloom = new Effect(80f, e -> { + color(Pal.accent); + stroke(4f * e.fout()); + Lines.square(e.x, e.y, tilesize / 2f * e.rotation + 2f); }), placeBlock = new Effect(16, e -> { @@ -168,6 +245,16 @@ public class Fx{ Lines.square(e.x, e.y, tilesize / 2f * e.rotation + e.fin() * 3f); }), + coreLaunchConstruct = new Effect(35, e -> { + color(Pal.accent); + stroke(4f - e.fin() * 3f); + Lines.square(e.x, e.y, tilesize / 2f * e.rotation * 1.2f + e.fin() * 5f); + + randLenVectors(e.id, 5 + (int)(e.rotation * 5), e.rotation * 3f + (tilesize * e.rotation) * e.finpow() * 1.5f, (x, y) -> { + Lines.lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * (4f + e.rotation)); + }); + }), + tapBlock = new Effect(12, e -> { color(Pal.accent); stroke(3f - e.fin() * 2f); @@ -184,6 +271,22 @@ public class Fx{ }); }), + payloadDeposit = new Effect(30f, e -> { + if(!(e.data instanceof YeetData data)) return; + Tmp.v1.set(e.x, e.y).lerp(data.target, e.finpow()); + float x = Tmp.v1.x, y = Tmp.v1.y; + + scl(e.fout(Interp.pow3Out) * 1.05f); + if(data.item instanceof Block block){ + Drawf.squareShadow(x, y, block.size * tilesize * 1.85f, 1f); + }else if(data.item instanceof UnitType unit){ + unit.drawSoftShadow(e.x, e.y, e.rotation, 1f); + } + + mixcol(Pal.accent, e.fin()); + rect(data.item.fullIcon, x, y, data.item instanceof Block ? 0f : e.rotation - 90f); + }).layer(Layer.flyingUnitLow - 5f), + select = new Effect(23, e -> { color(Pal.accent); stroke(e.fout() * 3f); @@ -201,11 +304,10 @@ public class Fx{ }), unitWreck = new Effect(200f, e -> { - if(!(e.data instanceof TextureRegion)) return; + if(!(e.data instanceof TextureRegion reg)) return; Draw.mixcol(Pal.rubble, 1f); - TextureRegion reg = e.data(); float vel = e.fin(Interp.pow5Out) * 2f * Mathf.randomSeed(e.id, 1f); float totalRot = Mathf.randomSeed(e.id + 1, 10f); Tmp.v1.trns(Mathf.randomSeed(e.id + 2, 360f), vel); @@ -239,18 +341,27 @@ public class Fx{ Lines.poly(e.x, e.y, 4, 5f + e.fin() * 12f); }), + unitAssemble = new Effect(70, e -> { + if(!(e.data instanceof UnitType type)) return; + + alpha(e.fout()); + mixcol(Pal.accent, e.fout()); + rect(type.fullIcon, e.x, e.y, e.rotation); + }).layer(Layer.flyingUnit + 5f), + padlaunch = new Effect(10, e -> { stroke(4f * e.fout()); color(Pal.accent); Lines.poly(e.x, e.y, 4, 5f + e.fin() * 60f); }), - vtolHover = new Effect(40f, e -> { - float len = e.finpow() * 10f; - float ang = e.rotation + Mathf.randomSeedRange(e.id, 30f); - color(Pal.lightFlame, Pal.lightOrange, e.fin()); - Fill.circle(e.x + trnsx(ang, len), e.y + trnsy(ang, len), 2f * e.fout()); - }), + breakProp = new Effect(23, e -> { + float scl = Math.max(e.rotation, 1); + color(Tmp.c1.set(e.color).mul(1.1f)); + randLenVectors(e.id, 6, 19f * e.finpow() * scl, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() * 3.5f * scl + 0.3f); + }); + }).layer(Layer.debris), unitDrop = new Effect(30, e -> { color(Pal.lightishGray); @@ -261,11 +372,19 @@ public class Fx{ unitLand = new Effect(30, e -> { color(Tmp.c1.set(e.color).mul(1.1f)); + //TODO doesn't respect rotation / size randLenVectors(e.id, 6, 17f * e.finpow(), (x, y) -> { Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.3f); }); }).layer(Layer.debris), + unitDust = new Effect(30, e -> { + color(Tmp.c1.set(e.color).mul(1.3f)); + randLenVectors(e.id, 3, 8f * e.finpow(), e.rotation, 30f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.3f); + }); + }).layer(Layer.debris), + unitLandSmall = new Effect(30, e -> { color(Tmp.c1.set(e.color).mul(1.1f)); randLenVectors(e.id, (int)(6 * e.rotation), 12f * e.finpow() * e.rotation, (x, y) -> { @@ -279,6 +398,13 @@ public class Fx{ Lines.poly(e.x, e.y, 4, 13f * e.fout()); }).layer(Layer.debris), + crawlDust = new Effect(35, e -> { + color(Tmp.c1.set(e.color).mul(1.6f)); + randLenVectors(e.id, 2, 10f * e.finpow(), (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fslope() * 4f + 0.3f); + }); + }).layer(Layer.debris), + landShock = new Effect(12, e -> { color(Pal.lancerLaser); stroke(e.fout() * 3f); @@ -291,10 +417,236 @@ public class Fx{ Lines.spikes(e.x, e.y, 1f + e.fin() * 6f, e.fout() * 4f, 6); }), + sparkExplosion = new Effect(30f, 160f, e -> { + color(e.color); + stroke(e.fout() * 3f); + float circleRad = 6f + e.finpow() * e.rotation; + Lines.circle(e.x, e.y, circleRad); + + rand.setSeed(e.id); + for(int i = 0; i < 16; i++){ + float angle = rand.random(360f); + float lenRand = rand.random(0.5f, 1f); + Lines.lineAngle(e.x, e.y, angle, e.foutpow() * e.rotation * 0.8f * rand.random(1f, 0.6f) + 2f, e.finpow() * e.rotation * 1.2f * lenRand + 6f); + } + }), + + titanExplosion = new Effect(30f, 160f, e -> { + color(e.color); + stroke(e.fout() * 3f); + float circleRad = 6f + e.finpow() * 60f; + Lines.circle(e.x, e.y, circleRad); + + rand.setSeed(e.id); + for(int i = 0; i < 16; i++){ + float angle = rand.random(360f); + float lenRand = rand.random(0.5f, 1f); + Lines.lineAngle(e.x, e.y, angle, e.foutpow() * 50f * rand.random(1f, 0.6f) + 2f, e.finpow() * 70f * lenRand + 6f); + } + }), + + titanExplosionLarge = new Effect(45f, 220f, e -> { + color(e.color); + stroke(e.fout() * 3f); + float circleRad = 6f + e.finpow() * 110f; + Lines.circle(e.x, e.y, circleRad); + + rand.setSeed(e.id); + for(int i = 0; i < 21; i++){ + float angle = rand.random(360f); + float lenRand = rand.random(0.5f, 1f); + Lines.lineAngle(e.x, e.y, angle, e.foutpow() * 50f * rand.random(1f, 0.6f) + 2f, e.finpow() * 100f * lenRand + 6f); + } + }), + + titanSmoke = new Effect(300f, 300f, b -> { + float intensity = 3f; + + color(b.color, 0.7f); + for(int i = 0; i < 4; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.5f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.9f * intensity), 22f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 2.35f); + + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.5f, b.color, 0.5f); + }); + }); + } + }), + + titanSmokeLarge = new Effect(400f, 400f, b -> { + float intensity = 4f; + + color(b.color, 0.65f); + for(int i = 0; i < 4; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.5f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.9f * intensity), 26f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 2.35f); + + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.5f, b.color, 0.5f); + }); + }); + } + }), + + smokeAoeCloud = new Effect(60f * 3f, 250f, e -> { + color(e.color, 0.65f); + + randLenVectors(e.id, 80, 90f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 6f * Mathf.clamp(e.fin() / 0.1f) * Mathf.clamp(e.fout() / 0.1f)); + }); + }), + + missileTrailSmoke = new Effect(180f, 300f, b -> { + float intensity = 2f; + + color(b.color, 0.7f); + for(int i = 0; i < 4; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.5f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.9f * intensity), 13f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 2.35f); + + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.5f, b.color, 0.5f); + }); + }); + } + }).layer(Layer.bullet - 1f), + + missileTrailSmokeSmall = new Effect(120f, 200f, b -> { + float intensity = 1.3f; + + color(b.color, 0.7f); + for(int i = 0; i < 3; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.5f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.9f * intensity), 13f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 2.35f); + + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.5f, b.color, 0.5f); + }); + }); + } + }).layer(Layer.bullet - 1f), + + neoplasmSplat = new Effect(400f, 300f, b -> { + float intensity = 3f; + + color(Pal.neoplasm1); + for(int i = 0; i < 4; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.5f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(5f * intensity), 22f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 1.35f); + + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.5f, b.color, 0.5f); + }); + }); + } + }).layer(Layer.bullet - 2f), + + scatheExplosion = new Effect(60f, 160f, e -> { + color(e.color); + stroke(e.fout() * 5f); + float circleRad = 6f + e.finpow() * 60f; + Lines.circle(e.x, e.y, circleRad); + + rand.setSeed(e.id); + for(int i = 0; i < 16; i++){ + float angle = rand.random(360f); + float lenRand = rand.random(0.5f, 1f); + Tmp.v1.trns(angle, circleRad); + + for(int s : Mathf.signs){ + Drawf.tri(e.x + Tmp.v1.x, e.y + Tmp.v1.y, e.foutpow() * 40f, e.fout() * 30f * lenRand + 6f, angle + 90f + s * 90f); + } + } + }), + + scatheExplosionSmall = new Effect(40f, 160f, e -> { + color(e.color); + stroke(e.fout() * 4f); + float circleRad = 6f + e.finpow() * 40f; + Lines.circle(e.x, e.y, circleRad); + + rand.setSeed(e.id); + for(int i = 0; i < 16; i++){ + float angle = rand.random(360f); + float lenRand = rand.random(0.5f, 1f); + Tmp.v1.trns(angle, circleRad); + + for(int s : Mathf.signs){ + Drawf.tri(e.x + Tmp.v1.x, e.y + Tmp.v1.y, e.foutpow() * 30f, e.fout() * 25f * lenRand + 6f, angle + 90f + s * 90f); + } + } + }), + + scatheLight = new Effect(60f, 160f, e -> { + float circleRad = 6f + e.finpow() * 60f; + + color(e.color, e.foutpow()); + Fill.circle(e.x, e.y, circleRad); + }).layer(Layer.bullet + 2f), + + scatheLightSmall = new Effect(60f, 160f, e -> { + float circleRad = 6f + e.finpow() * 40f; + + color(e.color, e.foutpow()); + Fill.circle(e.x, e.y, circleRad); + }).layer(Layer.bullet + 2f), + + scatheSlash = new Effect(40f, 160f, e -> { + Draw.color(e.color); + for(int s : Mathf.signs){ + Drawf.tri(e.x, e.y, e.fout() * 25f, e.foutpow() * 66f + 6f, e.rotation + s * 90f); + } + }), + + dynamicSpikes = new Effect(40f, 100f, e -> { + color(e.color); + stroke(e.fout() * 2f); + float circleRad = 4f + e.finpow() * e.rotation; + Lines.circle(e.x, e.y, circleRad); + + for(int i = 0; i < 4; i++){ + Drawf.tri(e.x, e.y, 6f, e.rotation * 1.5f * e.fout(), i*90); + } + + color(); + for(int i = 0; i < 4; i++){ + Drawf.tri(e.x, e.y, 3f, e.rotation * 1.45f / 3f * e.fout(), i*90); + } + + Drawf.light(e.x, e.y, circleRad * 1.6f, Pal.heal, e.fout()); + }), + greenBomb = new Effect(40f, 100f, e -> { color(Pal.heal); stroke(e.fout() * 2f); - Lines.circle(e.x, e.y, 4f + e.finpow() * 65f); + float circleRad = 4f + e.finpow() * 65f; + Lines.circle(e.x, e.y, circleRad); color(Pal.heal); for(int i = 0; i < 4; i++){ @@ -305,6 +657,8 @@ public class Fx{ for(int i = 0; i < 4; i++){ Drawf.tri(e.x, e.y, 3f, 35f * e.fout(), i*90); } + + Drawf.light(e.x, e.y, circleRad * 1.6f, Pal.heal, e.fout()); }), greenLaserCharge = new Effect(80f, 100f, e -> { @@ -316,17 +670,26 @@ public class Fx{ randLenVectors(e.id, 20, 40f * e.fout(), (x, y) -> { Fill.circle(e.x + x, e.y + y, e.fin() * 5f); + Drawf.light(e.x + x, e.y + y, e.fin() * 15f, Pal.heal, 0.7f); }); color(); Fill.circle(e.x, e.y, e.fin() * 10); - }), + Drawf.light(e.x, e.y, e.fin() * 20f, Pal.heal, 0.7f); + }).followParent(true).rotWithParent(true), greenLaserChargeSmall = new Effect(40f, 100f, e -> { color(Pal.heal); stroke(e.fin() * 2f); Lines.circle(e.x, e.y, e.fout() * 50f); + }).followParent(true).rotWithParent(true), + + greenCloud = new Effect(80f, e -> { + color(Pal.heal); + randLenVectors(e.id, e.fin(), 7, 9f, (x, y, fin, fout) -> { + Fill.circle(e.x + x, e.y + y, 5f * fout); + }); }), healWaveDynamic = new Effect(22, e -> { @@ -347,18 +710,37 @@ public class Fx{ Lines.circle(e.x, e.y, 2f + e.finpow() * 7f); }), + dynamicWave = new Effect(22, e -> { + color(e.color, 0.7f); + stroke(e.fout() * 2f); + Lines.circle(e.x, e.y, 4f + e.finpow() * e.rotation); + }), + shieldWave = new Effect(22, e -> { - color(Pal.shield); + color(e.color, 0.7f); stroke(e.fout() * 2f); Lines.circle(e.x, e.y, 4f + e.finpow() * 60f); }), shieldApply = new Effect(11, e -> { - color(Pal.shield); + color(e.color, 0.7f); stroke(e.fout() * 2f); Lines.circle(e.x, e.y, 2f + e.finpow() * 7f); }), + disperseTrail = new Effect(13, e -> { + color(Color.white, e.color, e.fin()); + stroke(0.6f + e.fout() * 1.7f); + rand.setSeed(e.id); + + for(int i = 0; i < 2; i++){ + float rot = e.rotation + rand.range(15f) + 180f; + v.trns(rot, rand.random(e.fin() * 27f)); + lineAngle(e.x + v.x, e.y + v.y, rot, e.fout() * rand.random(2f, 7f) + 1.5f); + } + }), + + hitBulletSmall = new Effect(14, e -> { color(Color.white, Pal.lightOrange, e.fin()); @@ -373,6 +755,44 @@ public class Fx{ float ang = Mathf.angle(x, y); lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); }); + + Drawf.light(e.x, e.y, 20f, Pal.lightOrange, 0.6f * e.fout()); + }), + + hitBulletColor = new Effect(14, e -> { + color(Color.white, e.color, e.fin()); + + e.scaled(7f, s -> { + stroke(0.5f + s.fout()); + Lines.circle(e.x, e.y, s.fin() * 5f); + }); + + stroke(0.5f + e.fout()); + + randLenVectors(e.id, 5, e.fin() * 15f, (x, y) -> { + float ang = Mathf.angle(x, y); + lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); + }); + + Drawf.light(e.x, e.y, 20f, e.color, 0.6f * e.fout()); + }), + + hitSquaresColor = new Effect(14, e -> { + color(Color.white, e.color, e.fin()); + + e.scaled(7f, s -> { + stroke(0.5f + s.fout()); + Lines.circle(e.x, e.y, s.fin() * 5f); + }); + + stroke(0.5f + e.fout()); + + randLenVectors(e.id, 5, e.fin() * 17f, (x, y) -> { + float ang = Mathf.angle(x, y); + Fill.square(e.x + x, e.y + y, e.fout() * 3.2f, ang); + }); + + Drawf.light(e.x, e.y, 20f, e.color, 0.6f * e.fout()); }), hitFuse = new Effect(14, e -> { @@ -405,7 +825,17 @@ public class Fx{ color(Pal.lightFlame, Pal.darkFlame, e.fin()); stroke(0.5f + e.fout()); - randLenVectors(e.id, 2, e.fin() * 15f, e.rotation, 50f, (x, y) -> { + randLenVectors(e.id, 2, 1f + e.fin() * 15f, e.rotation, 50f, (x, y) -> { + float ang = Mathf.angle(x, y); + lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); + }); + }), + + hitFlamePlasma = new Effect(14, e -> { + color(Color.white, Pal.heal, e.fin()); + stroke(0.5f + e.fout()); + + randLenVectors(e.id, 2, 1f + e.fin() * 15f, e.rotation, 50f, (x, y) -> { float ang = Mathf.angle(x, y); lineAngle(e.x + x, e.y + y, ang, e.fout() * 3 + 1f); }); @@ -414,26 +844,64 @@ public class Fx{ hitLiquid = new Effect(16, e -> { color(e.color); - randLenVectors(e.id, 5, e.fin() * 15f, e.rotation, 60f, (x, y) -> { + randLenVectors(e.id, 5, 1f + e.fin() * 15f, e.rotation, 60f, (x, y) -> { Fill.circle(e.x + x, e.y + y, e.fout() * 2f); }); }), + hitLaserBlast = new Effect(12, e -> { + color(e.color); + stroke(e.fout() * 1.5f); + + randLenVectors(e.id, 8, e.finpow() * 17f, (x, y) -> { + float ang = Mathf.angle(x, y); + lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); + }); + }), + + hitEmpSpark = new Effect(40, e -> { + color(Pal.heal); + stroke(e.fout() * 1.6f); + + randLenVectors(e.id, 18, e.finpow() * 27f, e.rotation, 360f, (x, y) -> { + float ang = Mathf.angle(x, y); + lineAngle(e.x + x, e.y + y, ang, e.fout() * 6 + 1f); + }); + }), + hitLancer = new Effect(12, e -> { color(Color.white); stroke(e.fout() * 1.5f); - randLenVectors(e.id, 8, e.finpow() * 17f, e.rotation, 360f, (x, y) -> { + randLenVectors(e.id, 8, e.finpow() * 17f, (x, y) -> { float ang = Mathf.angle(x, y); lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); }); }), + hitBeam = new Effect(12, e -> { + color(e.color); + stroke(e.fout() * 2f); + + randLenVectors(e.id, 6, e.finpow() * 18f, (x, y) -> { + float ang = Mathf.angle(x, y); + lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); + }); + }), + + hitFlameBeam = new Effect(19, e -> { + color(e.color); + + randLenVectors(e.id, 7, e.finpow() * 11f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() * 2 + 0.5f); + }); + }), + hitMeltdown = new Effect(12, e -> { color(Pal.meltdownHit); stroke(e.fout() * 2f); - randLenVectors(e.id, 6, e.finpow() * 18f, e.rotation, 360f, (x, y) -> { + randLenVectors(e.id, 6, e.finpow() * 18f, (x, y) -> { float ang = Mathf.angle(x, y); lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); }); @@ -443,7 +911,7 @@ public class Fx{ color(Pal.heal); stroke(e.fout() * 2f); - randLenVectors(e.id, 6, e.finpow() * 18f, e.rotation, 360f, (x, y) -> { + randLenVectors(e.id, 6, e.finpow() * 18f, (x, y) -> { float ang = Mathf.angle(x, y); lineAngle(e.x + x, e.y + y, ang, e.fout() * 4 + 1f); }); @@ -462,6 +930,8 @@ public class Fx{ for(int i = 0; i < 4; i++){ Drawf.tri(e.x, e.y, 3f, 30f * e.fout(), i*90 + 45); } + + Drawf.light(e.x, e.y, 150f, Pal.bulletYellowBack, 0.9f * e.fout()); }), instTrail = new Effect(30, e -> { @@ -475,6 +945,8 @@ public class Fx{ Drawf.tri(e.x, e.y, w, (30f + Mathf.randomSeedRange(e.id, 15f)) * m, rot); Drawf.tri(e.x, e.y, w, 10f * m, rot + 180f); } + + Drawf.light(e.x, e.y, 60f, Pal.bulletYellowBack, 0.6f * e.fout()); }), instShoot = new Effect(24f, e -> { @@ -490,6 +962,8 @@ public class Fx{ Drawf.tri(e.x, e.y, 13f * e.fout(), 85f, e.rotation + 90f * i); Drawf.tri(e.x, e.y, 13f * e.fout(), 50f, e.rotation + 20f * i); } + + Drawf.light(e.x, e.y, 180f, Pal.bulletYellowBack, 0.9f * e.fout()); }), instHit = new Effect(20f, 200f, e -> { @@ -526,12 +1000,16 @@ public class Fx{ color(Color.white, Pal.heal, e.fin()); stroke(0.5f + e.fout()); Lines.circle(e.x, e.y, e.fin() * 5f); + + Drawf.light(e.x, e.y, 23f, Pal.heal, e.fout() * 0.7f); }), - hitYellowLaser = new Effect(8, e -> { - color(Color.white, Pal.lightTrail, e.fin()); + hitLaserColor = new Effect(8, e -> { + color(Color.white, e.color, e.fin()); stroke(0.5f + e.fout()); Lines.circle(e.x, e.y, e.fin() * 5f); + + Drawf.light(e.x, e.y, 23f, e.color, e.fout() * 0.7f); }), despawn = new Effect(12, e -> { @@ -545,6 +1023,12 @@ public class Fx{ }), + airBubble = new Effect(100f, e -> { + randLenVectors(e.id, 1, e.fin() * 12f, (x, y) -> { + rect(renderer.bubbles[Math.min((int)(renderer.bubbles.length * Mathf.curveMargin(e.fin(), 0.11f, 0.06f)), renderer.bubbles.length - 1)], e.x + x, e.y + y); + }); + }).layer(Layer.flyingUnitLow + 1), + flakExplosion = new Effect(20, e -> { color(Pal.bulletYellow); @@ -565,6 +1049,8 @@ public class Fx{ randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); + + Drawf.light(e.x, e.y, 50f, Pal.lighterOrange, 0.8f * e.fout()); }), plasticExplosion = new Effect(24, e -> { @@ -587,6 +1073,8 @@ public class Fx{ randLenVectors(e.id + 1, 4, 1f + 25f * e.finpow(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); + + Drawf.light(e.x, e.y, 50f, Pal.plastaniumBack, 0.8f * e.fout()); }), plasticExplosionFlak = new Effect(28, e -> { @@ -631,6 +1119,8 @@ public class Fx{ randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); + + Drawf.light(e.x, e.y, 45f, Pal.missileYellowBack, 0.8f * e.fout()); }), sapExplosion = new Effect(25, e -> { @@ -653,6 +1143,8 @@ public class Fx{ randLenVectors(e.id + 1, 8, 1f + 60f * e.finpow(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); + + Drawf.light(e.x, e.y, 90f, Pal.sapBulletBack, 0.8f * e.fout()); }), massiveExplosion = new Effect(30, e -> { @@ -675,6 +1167,8 @@ public class Fx{ randLenVectors(e.id + 1, 6, 1f + 29f * e.finpow(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 4f); }); + + Drawf.light(e.x, e.y, 50f, Pal.missileYellowBack, 0.8f * e.fout()); }), artilleryTrail = new Effect(50, e -> { @@ -690,6 +1184,16 @@ public class Fx{ missileTrail = new Effect(50, e -> { color(e.color); Fill.circle(e.x, e.y, e.rotation * e.fout()); + }).layer(Layer.bullet - 0.001f), //below bullets + + missileTrailShort = new Effect(22, e -> { + color(e.color); + Fill.circle(e.x, e.y, e.rotation * e.fout()); + }).layer(Layer.bullet - 0.001f), + + colorTrail = new Effect(50, e -> { + color(e.color); + Fill.circle(e.x, e.y, e.rotation * e.fout()); }), absorb = new Effect(12, e -> { @@ -698,6 +1202,19 @@ public class Fx{ Lines.circle(e.x, e.y, 5f * e.fout()); }), + forceShrink = new Effect(20, e -> { + color(e.color, e.fout()); + if(renderer.animateShields){ + Fill.poly(e.x, e.y, 6, e.rotation * e.fout()); + }else{ + stroke(1.5f); + Draw.alpha(0.09f); + Fill.poly(e.x, e.y, 6, e.rotation * e.fout()); + Draw.alpha(1f); + Lines.poly(e.x, e.y, 6, e.rotation * e.fout()); + } + }).layer(Layer.shields), + flakExplosionBig = new Effect(30, e -> { color(Pal.bulletYellowBack); @@ -718,6 +1235,8 @@ public class Fx{ randLenVectors(e.id + 1, 4, 1f + 23f * e.finpow(), (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); }); + + Drawf.light(e.x, e.y, 60f, Pal.bulletYellowBack, 0.7f * e.fout()); }), burning = new Effect(35f, e -> { @@ -728,6 +1247,13 @@ public class Fx{ }); }), + fireRemove = new Effect(70f, e -> { + if(Fire.regions[0] == null) return; + alpha(e.fout()); + rect(Fire.regions[((int)(e.rotation + e.fin() * Fire.frames)) % Fire.frames], e.x + Mathf.randomSeedRange((int)e.y, 2), e.y + Mathf.randomSeedRange((int)e.x, 2)); + Drawf.light(e.x, e.y, 50f + Mathf.absin(5f, 5f), Pal.lightFlame, 0.6f * e.fout()); + }), + fire = new Effect(50f, e -> { color(Pal.lightFlame, Pal.darkFlame, e.fin()); @@ -737,7 +1263,17 @@ public class Fx{ color(); - Drawf.light(Team.derelict, e.x, e.y, 20f * e.fslope(), Pal.lightFlame, 0.5f); + Drawf.light(e.x, e.y, 20f * e.fslope(), Pal.lightFlame, 0.5f); + }), + + fireHit = new Effect(35f, e -> { + color(Pal.lightFlame, Pal.darkFlame, e.fin()); + + randLenVectors(e.id, 3, 2f + e.fin() * 10f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 0.2f + e.fout() * 1.6f); + }); + + color(); }), fireSmoke = new Effect(35f, e -> { @@ -748,6 +1284,15 @@ public class Fx{ }); }), + //TODO needs a lot of work + neoplasmHeal = new Effect(120f, e -> { + color(Pal.neoplasm1, Pal.neoplasm2, e.fin()); + + randLenVectors(e.id, 1, e.fin() * 3f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 0.2f + e.fslope() * 2f); + }); + }).followParent(true).rotWithParent(true).layer(Layer.bullet - 2), + steam = new Effect(35f, e -> { color(Color.lightGray); @@ -756,6 +1301,62 @@ public class Fx{ }); }), + ventSteam = new Effect(140f, e -> { + color(e.color, Pal.vent2, e.fin()); + + alpha(e.fslope() * 0.78f); + + float length = 3f + e.finpow() * 10f; + rand.setSeed(e.id); + for(int i = 0; i < rand.random(3, 5); i++){ + v.trns(rand.random(360f), rand.random(length)); + Fill.circle(e.x + v.x, e.y + v.y, rand.random(1.2f, 3.5f) + e.fslope() * 1.1f); + } + }).layer(Layer.darkness - 1), + + drillSteam = new Effect(220f, e -> { + + float length = 3f + e.finpow() * 20f; + rand.setSeed(e.id); + for(int i = 0; i < 13; i++){ + v.trns(rand.random(360f), rand.random(length)); + float sizer = rand.random(1.3f, 3.7f); + + e.scaled(e.lifetime * rand.random(0.5f, 1f), b -> { + color(Color.gray, b.fslope() * 0.93f); + + Fill.circle(e.x + v.x, e.y + v.y, sizer + b.fslope() * 1.2f); + }); + } + }).startDelay(30f), + + fluxVapor = new Effect(140f, e -> { + color(e.color); + alpha(e.fout() * 0.7f); + + randLenVectors(e.id, 2, 3f + e.finpow() * 10f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 0.6f + e.fin() * 5f); + }); + }).layer(Layer.bullet - 1f), + + vapor = new Effect(110f, e -> { + color(e.color); + alpha(e.fout()); + + randLenVectors(e.id, 3, 2f + e.finpow() * 11f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 0.6f + e.fin() * 5f); + }); + }), + + vaporSmall = new Effect(50f, e -> { + color(e.color); + alpha(e.fout()); + + randLenVectors(e.id, 4, 2f + e.finpow() * 5f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 1f + e.fin() * 4f); + }); + }), + fireballsmoke = new Effect(25f, e -> { color(Color.gray); @@ -796,7 +1397,7 @@ public class Fx{ }), muddy = new Effect(80f, e -> { - color(Color.valueOf("432722")); + color(Pal.muddy); alpha(Mathf.clamp(e.fin() * 2f)); Fill.circle(e.x, e.y, e.fout()); @@ -810,6 +1411,14 @@ public class Fx{ }); }), + electrified = new Effect(40f, e -> { + color(Pal.heal); + + randLenVectors(e.id, 2, 1f + e.fin() * 2f, (x, y) -> { + Fill.square(e.x + x, e.y + y, e.fslope() * 1.1f, 45f); + }); + }), + sporeSlowed = new Effect(40f, e -> { color(Pal.spore); @@ -825,7 +1434,7 @@ public class Fx{ }), overdriven = new Effect(20f, e -> { - color(Pal.accent); + color(e.color); randLenVectors(e.id, 2, 1f + e.fin() * 2f, (x, y) -> { Fill.square(e.x + x, e.y + y, e.fout() * 2.3f + 0.5f); @@ -833,7 +1442,7 @@ public class Fx{ }), overclocked = new Effect(50f, e -> { - color(Pal.accent); + color(e.color); Fill.square(e.x, e.y, e.fslope() * 2f, 45f); }), @@ -842,7 +1451,9 @@ public class Fx{ float length = 20f * e.finpow(); float size = 7f * e.fout(); - rect(((Item)e.data).icon(Cicon.medium), e.x + trnsx(e.rotation, length), e.y + trnsy(e.rotation, length), size, size); + if(!(e.data instanceof Item item)) return; + + rect(item.fullIcon, e.x + trnsx(e.rotation, length), e.y + trnsy(e.rotation, length), size, size); }), shockwave = new Effect(10f, 80f, e -> { @@ -857,24 +1468,18 @@ public class Fx{ Lines.circle(e.x, e.y, e.fin() * 50f); }), - nuclearShockwave = new Effect(10f, 200f, e -> { - color(Color.white, Color.lightGray, e.fin()); - stroke(e.fout() * 3f + 0.2f); - Lines.circle(e.x, e.y, e.fin() * 140f); - }), - - impactShockwave = new Effect(13f, 300f, e -> { - color(Pal.lighterOrange, Color.lightGray, e.fin()); - stroke(e.fout() * 4f + 0.2f); - Lines.circle(e.x, e.y, e.fin() * 200f); - }), - spawnShockwave = new Effect(20f, 400f, e -> { color(Color.white, Color.lightGray, e.fin()); stroke(e.fout() * 3f + 0.5f); Lines.circle(e.x, e.y, e.fin() * (e.rotation + 50f)); }), + podLandShockwave = new Effect(12f, 80f, e -> { + color(Pal.accent); + stroke(e.fout() * 2f + 0.2f); + Lines.circle(e.x, e.y, e.fin() * 26f); + }), + explosion = new Effect(30, e -> { e.scaled(7, i -> { stroke(3f * i.fout()); @@ -896,47 +1501,123 @@ public class Fx{ }); }), - dynamicExplosion = new Effect(30, e -> { - float intensity = e.rotation; - - e.scaled(5 + intensity * 2, i -> { - stroke(3.1f * i.fout()); - Lines.circle(e.x, e.y, (3f + i.fin() * 14f) * intensity); - }); + dynamicExplosion = new Effect(30, 500f, b -> { + float intensity = b.rotation; + float baseLifetime = 26f + intensity * 15f; + b.lifetime = 43f + intensity * 35f; color(Color.gray); + //TODO awful borders with linear filtering here + alpha(0.9f); + for(int i = 0; i < 4; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.4f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(3f * intensity), 14f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + Fill.circle(e.x + x, e.y + y, fout * ((2f + intensity) * 1.8f)); + }); + }); + } - randLenVectors(e.id, e.finpow(), (int)(6 * intensity), 21f * intensity, (x, y, in, out) -> { - Fill.circle(e.x + x, e.y + y, out * (2f + intensity) * 3 + 0.5f); - Fill.circle(e.x + x / 2f, e.y + y / 2f, out * (intensity) * 3); - }); + b.scaled(baseLifetime, e -> { + e.scaled(5 + intensity * 2.5f, i -> { + stroke((3.1f + intensity/5f) * i.fout()); + Lines.circle(e.x, e.y, (3f + i.fin() * 14f) * intensity); + Drawf.light(e.x, e.y, i.fin() * 14f * 2f * intensity, Color.white, 0.9f * e.fout()); + }); - color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin()); - stroke((1.7f * e.fout()) * (1f + (intensity - 1f) / 2f)); + color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin()); + stroke((1.7f * e.fout()) * (1f + (intensity - 1f) / 2f)); - randLenVectors(e.id + 1, e.finpow(), (int)(9 * intensity), 40f * intensity, (x, y, in, out) -> { - lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + out * 4 * (3f + intensity)); + Draw.z(Layer.effect + 0.001f); + randLenVectors(e.id + 1, e.finpow() + 0.001f, (int)(9 * intensity), 40f * intensity, (x, y, in, out) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + out * 4 * (3f + intensity)); + Drawf.light(e.x + x, e.y + y, (out * 4 * (3f + intensity)) * 3.5f, Draw.getColor(), 0.8f); + }); }); }), - blockExplosion = new Effect(30, e -> { - e.scaled(7, i -> { - stroke(3.1f * i.fout()); - Lines.circle(e.x, e.y, 3f + i.fin() * 14f); + reactorExplosion = new Effect(30, 500f, b -> { + float intensity = 6.8f; + float baseLifetime = 25f + intensity * 11f; + b.lifetime = 50f + intensity * 65f; + + color(Pal.reactorPurple2); + alpha(0.7f); + for(int i = 0; i < 4; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.4f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.9f * intensity), 22f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 2.35f); + + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.5f, Pal.reactorPurple, 0.5f); + }); + }); + } + + b.scaled(baseLifetime, e -> { + Draw.color(); + e.scaled(5 + intensity * 2f, i -> { + stroke((3.1f + intensity/5f) * i.fout()); + Lines.circle(e.x, e.y, (3f + i.fin() * 14f) * intensity); + Drawf.light(e.x, e.y, i.fin() * 14f * 2f * intensity, Color.white, 0.9f * e.fout()); + }); + + color(Pal.lighterOrange, Pal.reactorPurple, e.fin()); + stroke((2f * e.fout())); + + Draw.z(Layer.effect + 0.001f); + randLenVectors(e.id + 1, e.finpow() + 0.001f, (int)(8 * intensity), 28f * intensity, (x, y, in, out) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + out * 4 * (4f + intensity)); + Drawf.light(e.x + x, e.y + y, (out * 4 * (3f + intensity)) * 3.5f, Draw.getColor(), 0.8f); + }); }); + }), - color(Color.gray); + impactReactorExplosion = new Effect(30, 500f, b -> { + float intensity = 8f; + float baseLifetime = 25f + intensity * 15f; + b.lifetime = 50f + intensity * 64f; - randLenVectors(e.id, 6, 2f + 19f * e.finpow(), (x, y) -> { - Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.5f); - Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout()); - }); + color(Pal.lighterOrange); + alpha(0.8f); + for(int i = 0; i < 5; i++){ + rand.setSeed(b.id*2 + i); + float lenScl = rand.random(0.25f, 1f); + int fi = i; + b.scaled(b.lifetime * lenScl, e -> { + randLenVectors(e.id + fi - 1, e.fin(Interp.pow10Out), (int)(2.8f * intensity), 25f * intensity, (x, y, in, out) -> { + float fout = e.fout(Interp.pow5Out) * rand.random(0.5f, 1f); + float rad = fout * ((2f + intensity) * 2.35f); - color(Pal.lighterOrange, Pal.lightOrange, Color.gray, e.fin()); - stroke(1.7f * e.fout()); + Fill.circle(e.x + x, e.y + y, rad); + Drawf.light(e.x + x, e.y + y, rad * 2.6f, Pal.lighterOrange, 0.7f); + }); + }); + } - randLenVectors(e.id + 1, 9, 1f + 23f * e.finpow(), (x, y) -> { - lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + e.fout() * 3f); + b.scaled(baseLifetime, e -> { + Draw.color(); + e.scaled(5 + intensity * 2f, i -> { + stroke((3.1f + intensity/5f) * i.fout()); + Lines.circle(e.x, e.y, (3f + i.fin() * 14f) * intensity); + Drawf.light(e.x, e.y, i.fin() * 14f * 2f * intensity, Color.white, 0.9f * e.fout()); + }); + + color(Color.white, Pal.lighterOrange, e.fin()); + stroke((2f * e.fout())); + + Draw.z(Layer.effect + 0.001f); + randLenVectors(e.id + 1, e.finpow() + 0.001f, (int)(8 * intensity), 30f * intensity, (x, y, in, out) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), 1f + out * 4 * (4f + intensity)); + Drawf.light(e.x + x, e.y + y, (out * 4 * (3f + intensity)) * 3.5f, Draw.getColor(), 0.8f); + }); }); }), @@ -949,6 +1630,24 @@ public class Fx{ }); }), + steamCoolSmoke = new Effect(35f, e -> { + color(Pal.water, Color.lightGray, e.fin(Interp.pow2Out)); + alpha(e.fout(Interp.pow3Out)); + + randLenVectors(e.id, 4, e.finpow() * 7f, e.rotation, 30f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, Math.max(e.fout(), Math.min(1f, e.fin() * 8f)) * 2.8f); + }); + }), + + smokePuff = new Effect(30, e -> { + color(e.color); + + randLenVectors(e.id, 6, 4f + 30f * e.finpow(), (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() * 3f); + Fill.circle(e.x + x / 2f, e.y + y / 2f, e.fout()); + }); + }), + shootSmall = new Effect(8, e -> { color(Pal.lighterOrange, Pal.lightOrange, e.fin()); float w = 1f + 5 * e.fout(); @@ -956,6 +1655,13 @@ public class Fx{ Drawf.tri(e.x, e.y, w, 3f * e.fout(), e.rotation + 180f); }), + shootSmallColor = new Effect(8, e -> { + color(e.color, Color.gray, e.fin()); + float w = 1f + 5 * e.fout(); + Drawf.tri(e.x, e.y, w, 15f * e.fout(), e.rotation); + Drawf.tri(e.x, e.y, w, 3f * e.fout(), e.rotation + 180f); + }), + shootHeal = new Effect(8, e -> { color(Pal.heal); float w = 1f + 5 * e.fout(); @@ -992,6 +1698,20 @@ public class Fx{ Drawf.tri(e.x, e.y, w, 5f * e.fout(), e.rotation + 180f); }), + shootBigColor = new Effect(11, e -> { + color(e.color, Color.gray, e.fin()); + float w = 1.2f +9 * e.fout(); + Drawf.tri(e.x, e.y, w, 32f * e.fout(), e.rotation); + Drawf.tri(e.x, e.y, w, 3f * e.fout(), e.rotation + 180f); + }), + + shootTitan = new Effect(10, e -> { + color(Pal.lightOrange, e.color, e.fin()); + float w = 1.3f + 10 * e.fout(); + Drawf.tri(e.x, e.y, w, 35f * e.fout(), e.rotation); + Drawf.tri(e.x, e.y, w, 6f * e.fout(), e.rotation + 180f); + }), + shootBigSmoke = new Effect(17f, e -> { color(Pal.lighterOrange, Color.lightGray, Color.gray, e.fin()); @@ -1008,6 +1728,224 @@ public class Fx{ }); }), + shootSmokeDisperse = new Effect(25f, e -> { + color(Pal.lightOrange, Color.white, Color.gray, e.fin()); + + randLenVectors(e.id, 9, e.finpow() * 29f, e.rotation, 18f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() * 2.2f + 0.1f); + }); + }), + + shootSmokeSquare = new Effect(20f, e -> { + color(Color.white, e.color, e.fin()); + + rand.setSeed(e.id); + for(int i = 0; i < 6; i++){ + float rot = e.rotation + rand.range(22f); + v.trns(rot, rand.random(e.finpow() * 21f)); + Fill.poly(e.x + v.x, e.y + v.y, 4, e.fout() * 2f + 0.2f, rand.random(360f)); + } + }), + + shootSmokeSquareSparse = new Effect(30f, e -> { + color(Color.white, e.color, e.fin()); + + rand.setSeed(e.id); + for(int i = 0; i < 2; i++){ + float rot = e.rotation + rand.range(30f); + v.trns(rot, rand.random(e.finpow() * 27f)); + Fill.poly(e.x + v.x, e.y + v.y, 4, e.fout() * 3.8f + 0.2f, rand.random(360f)); + } + }), + + shootSmokeSquareBig = new Effect(32f, e -> { + color(Color.white, e.color, e.fin()); + + rand.setSeed(e.id); + for(int i = 0; i < 13; i++){ + float rot = e.rotation + rand.range(26f); + v.trns(rot, rand.random(e.finpow() * 30f)); + Fill.poly(e.x + v.x, e.y + v.y, 4, e.fout() * 4f + 0.2f, rand.random(360f)); + } + }), + + shootSmokeTitan = new Effect(70f, e -> { + rand.setSeed(e.id); + for(int i = 0; i < 13; i++){ + v.trns(e.rotation + rand.range(30f), rand.random(e.finpow() * 40f)); + e.scaled(e.lifetime * rand.random(0.3f, 1f), b -> { + color(e.color, Pal.lightishGray, b.fin()); + Fill.circle(e.x + v.x, e.y + v.y, b.fout() * 3.4f + 0.3f); + }); + } + }), + + shootSmokeSmite = new Effect(70f, e -> { + rand.setSeed(e.id); + for(int i = 0; i < 13; i++){ + float a = e.rotation + rand.range(30f); + v.trns(a, rand.random(e.finpow() * 50f)); + e.scaled(e.lifetime * rand.random(0.3f, 1f), b -> { + color(e.color); + Lines.stroke(b.fout() * 3f + 0.5f); + Lines.lineAngle(e.x + v.x, e.y + v.y, a, b.fout() * 8f + 0.4f); + }); + } + }), + + shootSmokeMissile = new Effect(130f, 300f, e -> { + color(Pal.redLight); + alpha(0.5f); + rand.setSeed(e.id); + for(int i = 0; i < 35; i++){ + v.trns(e.rotation + 180f + rand.range(21f), rand.random(e.finpow() * 90f)).add(rand.range(3f), rand.range(3f)); + e.scaled(e.lifetime * rand.random(0.2f, 1f), b -> { + Fill.circle(e.x + v.x, e.y + v.y, b.fout() * 9f + 0.3f); + }); + } + }), + + shootSmokeMissileColor = new Effect(130f, 300f, e -> { + color(e.color); + alpha(0.5f); + rand.setSeed(e.id); + for(int i = 0; i < 35; i++){ + v.trns(e.rotation + 180f + rand.range(21f), rand.random(e.finpow() * 90f)).add(rand.range(3f), rand.range(3f)); + e.scaled(e.lifetime * rand.random(0.2f, 1f), b -> { + Fill.circle(e.x + v.x, e.y + v.y, b.fout() * 9f + 0.3f); + }); + } + }), + + regenParticle = new Effect(100f, e -> { + color(Pal.regen); + + Fill.square(e.x, e.y, e.fslope() * 1.5f + 0.14f, 45f); + }), + + regenSuppressParticle = new Effect(35f, e -> { + color(e.color, Color.white, e.fin()); + stroke(e.fout() * 1.4f + 0.5f); + + randLenVectors(e.id, 4, 17f * e.fin(), (x, y) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 3f + 0.5f); + }); + }), + + regenSuppressSeek = new Effect(140f, e -> { + e.lifetime = Mathf.randomSeed(e.id, 120f, 200f); + + if(!(e.data instanceof Position to)) return; + + Tmp.v2.set(to).sub(e.x, e.y).nor().rotate90(1).scl(Mathf.randomSeedRange(e.id, 1f) * 50f); + + Tmp.bz2.set(Tmp.v1.set(e.x, e.y), Tmp.v2.add(e.x, e.y), Tmp.v3.set(to)); + + Tmp.bz2.valueAt(Tmp.v4, e.fout()); + + color(e.color); + Fill.circle(Tmp.v4.x, Tmp.v4.y, e.fslope() * 2f + 0.1f); + }).followParent(false).rotWithParent(false), + + surgeCruciSmoke = new Effect(160f, e -> { + color(Pal.slagOrange); + alpha(0.6f); + + rand.setSeed(e.id); + for(int i = 0; i < 3; i++){ + float len = rand.random(6f), rot = rand.range(40f) + e.rotation; + + e.scaled(e.lifetime * rand.random(0.3f, 1f), b -> { + v.trns(rot, len * b.finpow()); + Fill.circle(e.x + v.x, e.y + v.y, 2f * b.fslope() + 0.2f); + }); + } + }), + + neoplasiaSmoke = new Effect(280f, e -> { + color(Pal.neoplasmMid); + alpha(0.6f); + + rand.setSeed(e.id); + for(int i = 0; i < 6; i++){ + float len = rand.random(10f), rot = rand.range(120f) + e.rotation; + + e.scaled(e.lifetime * rand.random(0.3f, 1f), b -> { + v.trns(rot, len * b.finpow()); + Fill.circle(e.x + v.x, e.y + v.y, 3.3f * b.fslope() + 0.2f); + }); + } + }), + + heatReactorSmoke = new Effect(180f, e -> { + color(Color.gray); + + rand.setSeed(e.id); + for(int i = 0; i < 5; i++){ + float len = rand.random(6f), rot = rand.range(50f) + e.rotation; + + e.scaled(e.lifetime * rand.random(0.3f, 1f), b -> { + alpha(0.9f * b.fout()); + v.trns(rot, len * b.finpow()); + Fill.circle(e.x + v.x, e.y + v.y, 2.4f * b.fin() + 0.6f); + }); + } + }), + + circleColorSpark = new Effect(21f, e -> { + color(Color.white, e.color, e.fin()); + stroke(e.fout() * 1.1f + 0.5f); + + randLenVectors(e.id, 9, 27f * e.fin(), 9f, (x, y) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 5f + 0.5f); + }); + }), + + colorSpark = new Effect(21f, e -> { + color(Color.white, e.color, e.fin()); + stroke(e.fout() * 1.1f + 0.5f); + + randLenVectors(e.id, 5, 27f * e.fin(), e.rotation, 9f, (x, y) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 5f + 0.5f); + }); + }), + + colorSparkBig = new Effect(25f, e -> { + color(Color.white, e.color, e.fin()); + stroke(e.fout() * 1.3f + 0.7f); + + randLenVectors(e.id, 8, 41f * e.fin(), e.rotation, 10f, (x, y) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 6f + 0.5f); + }); + }), + + randLifeSpark = new Effect(24f, e -> { + color(Color.white, e.color, e.fin()); + stroke(e.fout() * 1.5f + 0.5f); + + rand.setSeed(e.id); + for(int i = 0; i < 15; i++){ + float ang = e.rotation + rand.range(9f), len = rand.random(90f * e.finpow()); + e.scaled(e.lifetime * rand.random(0.5f, 1f), p -> { + v.trns(ang, len); + lineAngle(e.x + v.x, e.y + v.y, ang, p.fout() * 7f + 0.5f); + }); + } + }), + + shootPayloadDriver = new Effect(30f, e -> { + color(Pal.accent); + Lines.stroke(0.5f + 0.5f*e.fout()); + float spread = 9f; + + rand.setSeed(e.id); + for(int i = 0; i < 20; i++){ + float ang = e.rotation + rand.range(17f); + v.trns(ang, rand.random(e.fin() * 55f)); + Lines.lineAngle(e.x + v.x + rand.range(spread), e.y + v.y + rand.range(spread), ang, e.fout() * 5f * rand.random(1f) + 1f); + } + }), + shootSmallFlame = new Effect(32f, 80f, e -> { color(Pal.lightFlame, Pal.darkFlame, Color.gray, e.fin()); @@ -1024,10 +1962,10 @@ public class Fx{ }); }), - shootLiquid = new Effect(40f, 80f, e -> { - color(e.color, Color.white, e.fout() / 6f + Mathf.randomSeedRange(e.id, 0.1f)); + shootLiquid = new Effect(15f, 80f, e -> { + color(e.color); - randLenVectors(e.id, 6, e.finpow() * 60f, e.rotation, 11f, (x, y) -> { + randLenVectors(e.id, 2, e.finpow() * 15f, e.rotation, 11f, (x, y) -> { Fill.circle(e.x + x, e.y + y, 0.5f + e.fout() * 2.5f); }); }), @@ -1149,6 +2087,8 @@ public class Fx{ for(int i : Mathf.signs){ Drawf.tri(e.x, e.y, 10f * e.fout(), 24f, e.rotation + 90 + 90f * i); } + + Drawf.light(e.x, e.y, 60f * e.fout(), Pal.orangeSpark, 0.5f); }), railHit = new Effect(18f, 200f, e -> { @@ -1179,17 +2119,20 @@ public class Fx{ lancerLaserCharge = new Effect(38f, e -> { color(Pal.lancerLaser); - randLenVectors(e.id, 2, 1f + 20f * e.fout(), e.rotation, 120f, (x, y) -> { + randLenVectors(e.id, 14, 1f + 20f * e.fout(), e.rotation, 120f, (x, y) -> { lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fslope() * 3f + 1f); }); }), lancerLaserChargeBegin = new Effect(60f, e -> { + float margin = 1f - Mathf.curve(e.fin(), 0.9f); + float fin = Math.min(margin, e.fin()); + color(Pal.lancerLaser); - Fill.circle(e.x, e.y, e.fin() * 3f); + Fill.circle(e.x, e.y, fin * 3f); color(); - Fill.circle(e.x, e.y, e.fin() * 2f); + Fill.circle(e.x, e.y, fin * 2f); }), lightningCharge = new Effect(38f, e -> { @@ -1235,68 +2178,46 @@ public class Fx{ }); }), - nuclearsmoke = new Effect(40, e -> { - randLenVectors(e.id, 4, e.fin() * 13f, (x, y) -> { - float size = e.fslope() * 4f; - color(Color.lightGray, Color.gray, e.fin()); - Fill.circle(e.x + x, e.y + y, size/2f); - }); - }), + redgeneratespark = new Effect(90, e -> { + color(Pal.redSpark); + alpha(e.fslope()); - cloudsmoke = new Effect(70, e -> { - randLenVectors(e.id, 12, 15f + e.fin() * 45f, (x, y) -> { - float size = e.fslope() * 2f; - color(Color.gray); - alpha(e.fslope()); - Fill.circle(e.x + x, e.y + y, size); - }); - }), + rand.setSeed(e.id); + for(int i = 0; i < 2; i++){ + v.trns(rand.random(360f), rand.random(e.finpow() * 9f)).add(e.x, e.y); + Fill.circle(v.x, v.y, rand.random(1.4f, 2.4f)); + } + }).layer(Layer.bullet - 1f), - nuclearcloud = new Effect(90, 200f, e -> { - randLenVectors(e.id, 10, e.finpow() * 90f, (x, y) -> { - float size = e.fout() * 14f; - color(Color.lime, Color.gray, e.fin()); - Fill.circle(e.x + x, e.y + y, size/2f); - }); - }), + turbinegenerate = new Effect(100, e -> { + color(Pal.vent); + alpha(e.fslope() * 0.8f); - impactsmoke = new Effect(60, e -> { - randLenVectors(e.id, 7, e.fin() * 20f, (x, y) -> { - float size = e.fslope() * 4f; - color(Color.lightGray, Color.gray, e.fin()); - Fill.circle(e.x + x, e.y + y, size/2f); - }); - }), - - impactcloud = new Effect(140, 400f, e -> { - randLenVectors(e.id, 20, e.finpow() * 160f, (x, y) -> { - float size = e.fout() * 15f; - color(Pal.lighterOrange, Color.lightGray, e.fin()); - Fill.circle(e.x + x, e.y + y, size/2f); - }); - }), - - redgeneratespark = new Effect(18, e -> { - randLenVectors(e.id, 5, e.fin() * 8f, (x, y) -> { - float len = e.fout() * 4f; - color(Pal.redSpark, Color.gray, e.fin()); - Fill.circle(e.x + x, e.y + y, len/2f); - }); - }), + rand.setSeed(e.id); + for(int i = 0; i < 3; i++){ + v.trns(rand.random(360f), rand.random(e.finpow() * 14f)).add(e.x, e.y); + Fill.circle(v.x, v.y, rand.random(1.4f, 3.4f)); + } + }).layer(Layer.bullet - 1f), generatespark = new Effect(18, e -> { randLenVectors(e.id, 5, e.fin() * 8f, (x, y) -> { - float len = e.fout() * 4f; color(Pal.orangeSpark, Color.gray, e.fin()); - Fill.circle(e.x + x, e.y + y, len/2f); + Fill.circle(e.x + x, e.y + y, e.fout() * 4f /2f); }); }), fuelburn = new Effect(23, e -> { randLenVectors(e.id, 5, e.fin() * 9f, (x, y) -> { - float len = e.fout() * 4f; color(Color.lightGray, Color.gray, e.fin()); - Fill.circle(e.x + x, e.y + y, len/2f); + Fill.circle(e.x + x, e.y + y, e.fout() * 2f); + }); + }), + + incinerateSlag = new Effect(34, e -> { + randLenVectors(e.id, 4, e.finpow() * 5f, (x, y) -> { + color(Pal.slagOrange, Color.gray, e.fin()); + Fill.circle(e.x + x, e.y + y, e.fout() * 1.7f); }); }), @@ -1310,11 +2231,18 @@ public class Fx{ plasticburn = new Effect(40, e -> { randLenVectors(e.id, 5, 3f + e.fin() * 5f, (x, y) -> { - color(Color.valueOf("e9ead3"), Color.gray, e.fin()); + color(Pal.plasticBurn, Color.gray, e.fin()); Fill.circle(e.x + x, e.y + y, e.fout()); }); }), + conveyorPoof = new Effect(35, e -> { + color(Pal.plasticBurn, Color.gray, e.fin()); + randLenVectors(e.id, 4, 3f + e.fin() * 4f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() * 1.11f); + }); + }), + pulverize = new Effect(40, e -> { randLenVectors(e.id, 5, 3f + e.fin() * 8f, (x, y) -> { color(Pal.stoneGray); @@ -1329,13 +2257,6 @@ public class Fx{ }); }), - pulverizeRedder = new Effect(40, e -> { - randLenVectors(e.id, 5, 3f + e.fin() * 9f, (x, y) -> { - color(Pal.redderDust, Pal.stoneGray, e.fin()); - Fill.square(e.x + x, e.y + y, e.fout() * 2.5f + 0.5f, 45); - }); - }), - pulverizeSmall = new Effect(30, e -> { randLenVectors(e.id, 3, e.fin() * 5f, (x, y) -> { color(Pal.stoneGray); @@ -1357,6 +2278,21 @@ public class Fx{ }); }), + artilleryTrailSmoke = new Effect(50, e -> { + color(e.color); + rand.setSeed(e.id); + for(int i = 0; i < 13; i++){ + float fin = e.fin() / rand.random(0.5f, 1f), fout = 1f - fin, angle = rand.random(360f), len = rand.random(0.5f, 1f); + + if(fin <= 1f){ + Tmp.v1.trns(angle, fin * 24f * len); + + alpha((0.5f - Math.abs(fin - 0.5f)) * 2f); + Fill.circle(e.x + Tmp.v1.x, e.y + Tmp.v1.y, 0.5f + fout * 4f); + } + } + }), + smokeCloud = new Effect(70, e -> { randLenVectors(e.id, e.fin(), 30, 30f, (x, y, fin, fout) -> { color(Color.gray); @@ -1372,6 +2308,13 @@ public class Fx{ }); }), + coalSmeltsmoke = new Effect(40f, e -> { + randLenVectors(e.id, 0.2f + e.fin(), 4, 6.3f, (x, y, fin, out) -> { + color(Color.darkGray, Pal.coalBlack, e.finpowdown()); + Fill.circle(e.x + x, e.y + y, out * 2f + 0.35f); + }); + }), + formsmoke = new Effect(40, e -> { randLenVectors(e.id, 6, 5f + e.fin() * 8f, (x, y) -> { color(Pal.plasticSmoke, Color.lightGray, e.fin()); @@ -1397,12 +2340,12 @@ public class Fx{ dooropen = new Effect(10, e -> { stroke(e.fout() * 1.6f); - Lines.square(e.x, e.y, tilesize / 2f + e.fin() * 2f); + Lines.square(e.x, e.y, e.rotation * tilesize / 2f + e.fin() * 2f); }), doorclose = new Effect(10, e -> { stroke(e.fout() * 1.6f); - Lines.square(e.x, e.y, tilesize / 2f + e.fout() * 2f); + Lines.square(e.x, e.y, e.rotation * tilesize / 2f + e.fout() * 2f); }), dooropenlarge = new Effect(10, e -> { @@ -1415,55 +2358,73 @@ public class Fx{ Lines.square(e.x, e.y, tilesize + e.fout() * 2f); }), - purify = new Effect(10, e -> { - color(Color.royal, Color.gray, e.fin()); - stroke(2f); - Lines.spikes(e.x, e.y, e.fin() * 4f, 2, 6); - }), - - purifyoil = new Effect(10, e -> { - color(Color.black, Color.gray, e.fin()); - stroke(2f); - Lines.spikes(e.x, e.y, e.fin() * 4f, 2, 6); - }), - - purifystone = new Effect(10, e -> { - color(Color.orange, Color.gray, e.fin()); - stroke(2f); - Lines.spikes(e.x, e.y, e.fin() * 4f, 2, 6); - }), - generate = new Effect(11, e -> { color(Color.orange, Color.yellow, e.fin()); stroke(1f); Lines.spikes(e.x, e.y, e.fin() * 5f, 2, 8); }), + mineWallSmall = new Effect(50, e -> { + color(e.color, Color.darkGray, e.fin()); + randLenVectors(e.id, 2, e.fin() * 6f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, e.fout() + 0.5f); + }); + }), + + mineSmall = new Effect(30, e -> { + color(e.color, Color.lightGray, e.fin()); + randLenVectors(e.id, 3, e.fin() * 5f, (x, y) -> { + Fill.square(e.x + x, e.y + y, e.fout() + 0.5f, 45); + }); + }), + mine = new Effect(20, e -> { + color(e.color, Color.lightGray, e.fin()); randLenVectors(e.id, 6, 3f + e.fin() * 6f, (x, y) -> { - color(e.color, Color.lightGray, e.fin()); Fill.square(e.x + x, e.y + y, e.fout() * 2f, 45); }); }), mineBig = new Effect(30, e -> { + color(e.color, Color.lightGray, e.fin()); randLenVectors(e.id, 6, 4f + e.fin() * 8f, (x, y) -> { - color(e.color, Color.lightGray, e.fin()); Fill.square(e.x + x, e.y + y, e.fout() * 2f + 0.2f, 45); }); }), mineHuge = new Effect(40, e -> { + color(e.color, Color.lightGray, e.fin()); randLenVectors(e.id, 8, 5f + e.fin() * 10f, (x, y) -> { - color(e.color, Color.lightGray, e.fin()); Fill.square(e.x + x, e.y + y, e.fout() * 2f + 0.5f, 45); }); }), - smelt = new Effect(20, e -> { - randLenVectors(e.id, 6, 2f + e.fin() * 5f, (x, y) -> { - color(Color.white, e.color, e.fin()); - Fill.square(e.x + x, e.y + y, 0.5f + e.fout() * 2f, 45); + mineImpact = new Effect(90, e -> { + color(e.color, Color.lightGray, e.fin()); + randLenVectors(e.id, 12, 5f + e.finpow() * 22f, (x, y) -> { + Fill.square(e.x + x, e.y + y, e.fout() * 2.5f + 0.5f, 45); + }); + }), + + mineImpactWave = new Effect(50f, e -> { + color(e.color); + + stroke(e.fout() * 1.5f); + + randLenVectors(e.id, 12, 4f + e.finpow() * e.rotation, (x, y) -> { + lineAngle(e.x + x, e.y + y, Mathf.angle(x, y), e.fout() * 5 + 1f); + }); + + e.scaled(30f, b -> { + Lines.stroke(5f * b.fout()); + Lines.circle(e.x, e.y, b.finpow() * 28f); + }); + }), + + payloadReceive = new Effect(30, e -> { + color(Color.white, Pal.accent, e.fin()); + randLenVectors(e.id, 12, 7f + e.fin() * 13f, (x, y) -> { + Fill.square(e.x + x, e.y + y, e.fout() * 2.1f + 0.5f, 45); }); }), @@ -1513,11 +2474,17 @@ public class Fx{ bubble = new Effect(20, e -> { color(Tmp.c1.set(e.color).shiftValue(0.1f)); stroke(e.fout() + 0.2f); - randLenVectors(e.id, 2, 8f, (x, y) -> { + randLenVectors(e.id, 2, e.rotation * 0.9f, (x, y) -> { Lines.circle(e.x + x, e.y + y, 1f + e.fin() * 3f); }); }), + launchAccelerator = new Effect(22, e -> { + color(Pal.accent); + stroke(e.fout() * 2f); + Lines.circle(e.x, e.y, 4f + e.finpow() * 160f); + }), + launch = new Effect(28, e -> { color(Pal.command); stroke(e.fout() * 2f); @@ -1559,8 +2526,22 @@ public class Fx{ }), healBlockFull = new Effect(20, e -> { - color(e.color); + if(!(e.data instanceof Block block)) return; + + mixcol(e.color, 1f); alpha(e.fout()); + Draw.rect(block.fullIcon, e.x, e.y); + }), + + rotateBlock = new Effect(30, e -> { + color(Pal.accent); + alpha(e.fout() * 1); + Fill.square(e.x, e.y, e.rotation * tilesize / 2f); + }), + + lightBlock = new Effect(60, e -> { + color(e.color); + alpha(e.fout() * 1); Fill.square(e.x, e.y, e.rotation * tilesize / 2f); }), @@ -1573,18 +2554,55 @@ public class Fx{ shieldBreak = new Effect(40, e -> { color(e.color); stroke(3f * e.fout()); + if(e.data instanceof ForceFieldAbility ab){ + Lines.poly(e.x, e.y, ab.sides, e.rotation + e.fin(), ab.rotation); + return; + } + Lines.poly(e.x, e.y, 6, e.rotation + e.fin()); - }), + }).followParent(true), + + arcShieldBreak = new Effect(40, e -> { + Lines.stroke(3 * e.fout(), e.color); + if(e.data instanceof Unit u){ + ShieldArcAbility ab = (ShieldArcAbility) Structs.find(u.abilities, a -> a instanceof ShieldArcAbility); + if(ab != null){ + Vec2 pos = Tmp.v1.set(ab.x, ab.y).rotate(u.rotation - 90f).add(u); + Lines.arc(pos.x, pos.y, ab.radius + ab.width/2, ab.angle / 360f, u.rotation + ab.angleOffset - ab.angle / 2f); + Lines.arc(pos.x, pos.y, ab.radius - ab.width/2, ab.angle / 360f, u.rotation + ab.angleOffset - ab.angle / 2f); + for(int i : Mathf.signs){ + float + px = pos.x + Angles.trnsx(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius + ab.width / 2), + py = pos.y + Angles.trnsy(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius + ab.width / 2), + px1 = pos.x + Angles.trnsx(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius - ab.width / 2), + py1 = pos.y + Angles.trnsy(u.rotation + ab.angleOffset - ab.angle / 2f * i, ab.radius - ab.width / 2); + Lines.line(px, py, px1, py1); + } + } + } + }).followParent(true), + + coreLandDust = new Effect(100f, e -> { + color(e.color, e.fout(0.1f)); + rand.setSeed(e.id); + Tmp.v1.trns(e.rotation, e.finpow() * 90f * rand.random(0.2f, 1f)); + Fill.circle(e.x + Tmp.v1.x, e.y + Tmp.v1.y, 8f * rand.random(0.6f, 1f) * e.fout(0.2f)); + }).layer(Layer.groundUnit + 1f), + + podLandDust = new Effect(70f, e -> { + color(e.color, e.fout(0.1f)); + rand.setSeed(e.id); + Tmp.v1.trns(e.rotation, e.finpow() * 35f * rand.random(0.2f, 1f)); + Fill.circle(e.x + Tmp.v1.x, e.y + Tmp.v1.y, 5f * rand.random(0.6f, 1f) * e.fout(0.2f)); + }).layer(Layer.groundUnit + 1f), unitShieldBreak = new Effect(35, e -> { - if(!(e.data instanceof Unitc)) return; - - Unit unit = e.data(); + if(!(e.data instanceof Unit unit)) return; float radius = unit.hitSize() * 1.3f; e.scaled(16f, c -> { - color(Pal.shield); + color(e.color, 0.9f); stroke(c.fout() * 2f + 0.1f); randLenVectors(e.id, (int)(radius * 1.2f), radius/2f + c.finpow() * radius*1.25f, (x, y) -> { @@ -1592,11 +2610,125 @@ public class Fx{ }); }); - color(Pal.shield, e.fout()); + color(e.color, e.fout() * 0.9f); stroke(e.fout()); Lines.circle(e.x, e.y, radius); }), - coreLand = new Effect(120f, e -> { + chainLightning = new Effect(20f, 300f, e -> { + if(!(e.data instanceof Position p)) return; + float tx = p.getX(), ty = p.getY(), dst = Mathf.dst(e.x, e.y, tx, ty); + Tmp.v1.set(p).sub(e.x, e.y).nor(); + + float normx = Tmp.v1.x, normy = Tmp.v1.y; + float range = 6f; + int links = Mathf.ceil(dst / range); + float spacing = dst / links; + + Lines.stroke(2.5f * e.fout()); + Draw.color(Color.white, e.color, e.fin()); + + Lines.beginLine(); + + Lines.linePoint(e.x, e.y); + + rand.setSeed(e.id); + + for(int i = 0; i < links; i++){ + float nx, ny; + if(i == links - 1){ + nx = tx; + ny = ty; + }else{ + float len = (i + 1) * spacing; + Tmp.v1.setToRandomDirection(rand).scl(range/2f); + nx = e.x + normx * len + Tmp.v1.x; + ny = e.y + normy * len + Tmp.v1.y; + } + + Lines.linePoint(nx, ny); + } + + Lines.endLine(); + }).followParent(false).rotWithParent(false), + + chainEmp = new Effect(30f, 300f, e -> { + if(!(e.data instanceof Position p)) return; + float tx = p.getX(), ty = p.getY(), dst = Mathf.dst(e.x, e.y, tx, ty); + Tmp.v1.set(p).sub(e.x, e.y).nor(); + + float normx = Tmp.v1.x, normy = Tmp.v1.y; + float range = 6f; + int links = Mathf.ceil(dst / range); + float spacing = dst / links; + + Lines.stroke(4f * e.fout()); + Draw.color(Color.white, e.color, e.fin()); + + Lines.beginLine(); + + Lines.linePoint(e.x, e.y); + + rand.setSeed(e.id); + + for(int i = 0; i < links; i++){ + float nx, ny; + if(i == links - 1){ + nx = tx; + ny = ty; + }else{ + float len = (i + 1) * spacing; + Tmp.v1.setToRandomDirection(rand).scl(range/2f); + nx = e.x + normx * len + Tmp.v1.x; + ny = e.y + normy * len + Tmp.v1.y; + } + + Lines.linePoint(nx, ny); + } + + Lines.endLine(); + }).followParent(false).rotWithParent(false), + + legDestroy = new Effect(90f, 100f, e -> { + if(!(e.data instanceof LegDestroyData data)) return; + rand.setSeed(e.id); + + e.lifetime = rand.random(70f, 130f); + + Tmp.v1.trns(rand.random(360f), rand.random(data.region.width / 8f) * e.finpow()); + float ox = Tmp.v1.x, oy = Tmp.v1.y; + + alpha(e.foutpowdown()); + + stroke(data.region.height * scl); + line(data.region, data.a.x + ox, data.a.y + oy, data.b.x + ox, data.b.y + oy, false); + }).layer(Layer.groundUnit + 5f), + + debugLine = new Effect(90f, 1000000000000f, e -> { + if(!(e.data instanceof Vec2[] vec)) return; + + Draw.color(e.color); + Lines.stroke(2f); + + if(vec.length == 2){ + Lines.line(vec[0].x, vec[0].y, vec[1].x, vec[1].y); + }else{ + Lines.beginLine(); + for(Vec2 v : vec) + Lines.linePoint(v.x, v.y); + Lines.endLine(); + } + + Draw.reset(); + }), + debugRect = new Effect(90f, 1000000000000f, e -> { + if(!(e.data instanceof Rect rect)) return; + + Draw.color(e.color); + Lines.stroke(2f); + + Lines.rect(rect); + + Draw.reset(); }); } diff --git a/core/src/mindustry/content/Items.java b/core/src/mindustry/content/Items.java index 65c464a249..00cc3cc5d5 100644 --- a/core/src/mindustry/content/Items.java +++ b/core/src/mindustry/content/Items.java @@ -1,15 +1,18 @@ package mindustry.content; import arc.graphics.*; -import mindustry.ctype.*; +import arc.struct.*; import mindustry.type.*; -public class Items implements ContentList{ - public static Item scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium, phaseFabric, surgeAlloy, - sporePod, sand, blastCompound, pyratite, metaglass; +public class Items{ + public static Item + scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium, + phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass, + beryllium, tungsten, oxide, carbide, fissileMatter, dormantCyst; - @Override - public void load(){ + public static final Seq serpuloItems = new Seq<>(), erekirItems = new Seq<>(), erekirOnlyItems = new Seq<>(); + + public static void load(){ copper = new Item("copper", Color.valueOf("d99d73")){{ hardness = 1; cost = 0.5f; @@ -19,7 +22,6 @@ public class Items implements ContentList{ lead = new Item("lead", Color.valueOf("8c7fa9")){{ hardness = 1; cost = 0.7f; - alwaysUnlocked = true; }}; metaglass = new Item("metaglass", Color.valueOf("ebeef5")){{ @@ -31,14 +33,17 @@ public class Items implements ContentList{ }}; sand = new Item("sand", Color.valueOf("f7cba4")){{ - alwaysUnlocked = true; lowPriority = true; + buildable = false; + //needed to show up as requirement + alwaysUnlocked = true; }}; coal = new Item("coal", Color.valueOf("272727")){{ explosiveness = 0.2f; flammability = 1f; hardness = 2; + buildable = false; }}; titanium = new Item("titanium", Color.valueOf("8da1e3")){{ @@ -51,10 +56,11 @@ public class Items implements ContentList{ hardness = 4; radioactivity = 1f; cost = 1.1f; + healthScaling = 0.2f; }}; scrap = new Item("scrap", Color.valueOf("777777")){{ - + cost = 0.5f; }}; silicon = new Item("silicon", Color.valueOf("53565c")){{ @@ -65,29 +71,81 @@ public class Items implements ContentList{ flammability = 0.1f; explosiveness = 0.2f; cost = 1.3f; + healthScaling = 0.1f; }}; phaseFabric = new Item("phase-fabric", Color.valueOf("f4ba6e")){{ cost = 1.3f; radioactivity = 0.6f; + healthScaling = 0.25f; }}; surgeAlloy = new Item("surge-alloy", Color.valueOf("f3e979")){{ cost = 1.2f; + charge = 0.75f; + healthScaling = 0.25f; }}; sporePod = new Item("spore-pod", Color.valueOf("7457ce")){{ flammability = 1.15f; + buildable = false; }}; blastCompound = new Item("blast-compound", Color.valueOf("ff795e")){{ flammability = 0.4f; explosiveness = 1.2f; + buildable = false; }}; pyratite = new Item("pyratite", Color.valueOf("ffaa5f")){{ flammability = 1.4f; explosiveness = 0.4f; + buildable = false; }}; + + beryllium = new Item("beryllium", Color.valueOf("3a8f64")){{ + hardness = 3; + cost = 1.2f; + healthScaling = 0.6f; + }}; + + tungsten = new Item("tungsten", Color.valueOf("768a9a")){{ + hardness = 5; + cost = 1.5f; + healthScaling = 0.8f; + }}; + + oxide = new Item("oxide", Color.valueOf("e4ffd6")){{ + cost = 1.2f; + healthScaling = 0.5f; + }}; + + carbide = new Item("carbide", Color.valueOf("89769a")){{ + cost = 1.4f; + healthScaling = 1.1f; + }}; + + fissileMatter = new Item("fissile-matter", Color.valueOf("5e988d")){{ + radioactivity = 1.5f; + hidden = true; + }}; + + dormantCyst = new Item("dormant-cyst", Color.valueOf("df824d")){{ + flammability = 0.1f; + hidden = true; + }}; + + serpuloItems.addAll( + scrap, copper, lead, graphite, coal, titanium, thorium, silicon, plastanium, + phaseFabric, surgeAlloy, sporePod, sand, blastCompound, pyratite, metaglass + ); + + erekirItems.addAll( + graphite, thorium, silicon, phaseFabric, surgeAlloy, sand, + beryllium, tungsten, oxide, carbide, fissileMatter, dormantCyst + ); + + erekirOnlyItems.addAll(erekirItems).removeAll(serpuloItems); + } } diff --git a/core/src/mindustry/content/Liquids.java b/core/src/mindustry/content/Liquids.java index 7ff39522f1..432b4463cc 100644 --- a/core/src/mindustry/content/Liquids.java +++ b/core/src/mindustry/content/Liquids.java @@ -1,19 +1,21 @@ package mindustry.content; import arc.graphics.*; -import mindustry.ctype.*; import mindustry.type.*; -public class Liquids implements ContentList{ - public static Liquid water, slag, oil, cryofluid; +public class Liquids{ + public static Liquid water, slag, oil, cryofluid, + arkycite, gallium, neoplasm, + ozone, hydrogen, nitrogen, cyanogen; - @Override - public void load(){ + public static void load(){ water = new Liquid("water", Color.valueOf("596ab8")){{ heatCapacity = 0.4f; - alwaysUnlocked = true; effect = StatusEffects.wet; + boilPoint = 0.5f; + gasColor = Color.grays(0.9f); + alwaysUnlocked = true; }}; slag = new Liquid("slag", Color.valueOf("ffa166")){{ @@ -24,12 +26,15 @@ public class Liquids implements ContentList{ }}; oil = new Liquid("oil", Color.valueOf("313131")){{ - viscosity = 0.7f; + viscosity = 0.75f; flammability = 1.2f; explosiveness = 1.2f; heatCapacity = 0.7f; barColor = Color.valueOf("6b675f"); effect = StatusEffects.tarred; + boilPoint = 0.65f; + gasColor = Color.grays(0.4f); + canStayOn.add(water); }}; cryofluid = new Liquid("cryofluid", Color.valueOf("6ecdec")){{ @@ -37,6 +42,56 @@ public class Liquids implements ContentList{ temperature = 0.25f; effect = StatusEffects.freezing; lightColor = Color.valueOf("0097f5").a(0.2f); + boilPoint = 0.55f; + gasColor = Color.valueOf("c1e8f5"); + }}; + + neoplasm = new CellLiquid("neoplasm", Color.valueOf("c33e2b")){{ + heatCapacity = 0.4f; + temperature = 0.54f; + viscosity = 0.85f; + flammability = 0f; + capPuddles = false; + spreadTarget = Liquids.water; + moveThroughBlocks = true; + incinerable = false; + blockReactive = false; + canStayOn.addAll(water, oil, cryofluid); + + colorFrom = Color.valueOf("e8803f"); + colorTo = Color.valueOf("8c1225"); + }}; + + arkycite = new Liquid("arkycite", Color.valueOf("84a94b")){{ + flammability = 0.4f; + viscosity = 0.7f; + neoplasm.canStayOn.add(this); + }}; + + gallium = new Liquid("gallium", Color.valueOf("9a9dbf")){{ + coolant = false; + hidden = true; + }}; + + ozone = new Liquid("ozone", Color.valueOf("fc81dd")){{ + gas = true; + barColor = Color.valueOf("d699f0"); + explosiveness = 1f; + flammability = 1f; + }}; + + hydrogen = new Liquid("hydrogen", Color.valueOf("9eabf7")){{ + gas = true; + flammability = 1f; + }}; + + nitrogen = new Liquid("nitrogen", Color.valueOf("efe3ff")){{ + gas = true; + }}; + + cyanogen = new Liquid("cyanogen", Color.valueOf("89e8b6")){{ + gas = true; + flammability = 2f; }}; } } diff --git a/core/src/mindustry/content/Loadouts.java b/core/src/mindustry/content/Loadouts.java index 2a7c4435db..7724c89b6f 100644 --- a/core/src/mindustry/content/Loadouts.java +++ b/core/src/mindustry/content/Loadouts.java @@ -1,18 +1,18 @@ package mindustry.content; -import mindustry.ctype.*; import mindustry.game.*; -public class Loadouts implements ContentList{ +public class Loadouts{ public static Schematic basicShard, basicFoundation, - basicNucleus; + basicNucleus, + basicBastion; - @Override - public void load(){ - basicShard = Schematics.readBase64("bXNjaAB4nD2K2wqAIBiD5ymibnoRn6YnEP1BwUMoBL19FuJ2sbFvUFgYZDaJsLeQrkinN9UJHImsNzlYE7WrIUastuSbnlKx2VJJt+8IQGGKdfO/8J5yrGJSMegLg+YUIA=="); - basicFoundation = Schematics.readBase64("bXNjaAB4nD1OSQ6DMBBzFhVu8BG+0X8MQyoiJTNSukj8nlCi2Adbtg/GA4OBF8oB00rvyE/9ykafqOIw58A7SWRKy1ZiShhZ5RcOLZhYS1hefQ1gRIeptH9jq/qW2lvc1d2tgWsOfVX/tOwE86AYBA=="); - basicNucleus = Schematics.readBase64("bXNjaAB4nD2MUQqAIBBEJy0s6qOLdJXuYNtCgikYBd2+LNmdj308hkGHtkId7M4YFns4mk/yfB4a48602eDI+mlNznu0FMPFd0wYKCaewl8F0EOueqM+yKSLVfJrNKWnSw/FZGzEGXFG9sy/px4gEBW1"); + public static void load(){ + basicShard = Schematics.readBase64("bXNjaAF4nGNgZmBmZmDJS8xNZZDJKCkpKLbS16/MLy0p1UtK1XcNi/Q3cKwwyqkyYOBOSS1OLsosKMnMz2NgYGDLSUxKzSlmYIqOZWTgSs4vStUtzkgsSgFKMYIQkAAAhSEXTA=="); + basicFoundation = Schematics.readBase64("bXNjaAF4nGNgYWBhZmDJS8xNZWBNSk3MK2bgTkktTi7KLCjJzM9jYGBgy0lMSs0pZmCKjmVk4E/OL0rVTcsvzUtJhMozghCQAACx6RHB"); + basicNucleus = Schematics.readBase64("bXNjaAF4nA3CwQ2AIBAEwAXFjxRBA1ZkfCDcgwh3BiTG7iUzMDATZvaFYGOK7pPuLpYXa6QWarqfJAxVsGR/Um7Q+6Fgg1TauIdMvQFQgB7wAza8E4M="); + basicBastion = Schematics.readBase64("bXNjaAF4nGNgYWBhZmDJS8xNZWBNzMsEUtwpqcXJRZkFJZn5eQyClfmlCin5Cnn5JQqpFZnFJVwMbDmJSak5xQxM0bGMDDzJ+UWpukmJxWDVDAyMIAQkACMdFqE="); } } diff --git a/core/src/mindustry/content/Planets.java b/core/src/mindustry/content/Planets.java index 9450c441da..def60e56d6 100644 --- a/core/src/mindustry/content/Planets.java +++ b/core/src/mindustry/content/Planets.java @@ -1,25 +1,35 @@ package mindustry.content; +import arc.func.*; import arc.graphics.*; -import mindustry.ctype.*; +import arc.math.*; +import arc.math.geom.*; +import arc.struct.*; +import arc.util.*; +import mindustry.game.*; +import mindustry.graphics.*; import mindustry.graphics.g3d.*; +import mindustry.graphics.g3d.PlanetGrid.*; import mindustry.maps.planet.*; import mindustry.type.*; +import mindustry.world.*; +import mindustry.world.meta.*; -public class Planets implements ContentList{ +public class Planets{ public static Planet sun, - //tantros, - serpulo; + erekir, + tantros, + serpulo, + gier, + notva, + verilus; - @Override - public void load(){ - sun = new Planet("sun", null, 0, 2){{ + public static void load(){ + sun = new Planet("sun", null, 4f){{ bloom = true; accessible = false; - //lightColor = Color.valueOf("f4ee8e"); - meshLoader = () -> new SunMesh( this, 4, 5, 0.3, 1.7, 1.2, 1, @@ -33,22 +43,167 @@ public class Planets implements ContentList{ ); }}; - /*tantros = new Planet("tantros", sun, 2, 0.8f){{ + erekir = new Planet("erekir", sun, 1f, 2){{ + generator = new ErekirPlanetGenerator(); + meshLoader = () -> new HexMesh(this, 5); + cloudMeshLoader = () -> new MultiMesh( + new HexSkyMesh(this, 2, 0.15f, 0.14f, 5, Color.valueOf("eba768").a(0.75f), 2, 0.42f, 1f, 0.43f), + new HexSkyMesh(this, 3, 0.6f, 0.15f, 5, Color.valueOf("eea293").a(0.75f), 2, 0.42f, 1.2f, 0.45f) + ); + alwaysUnlocked = true; + landCloudColor = Color.valueOf("ed6542"); + atmosphereColor = Color.valueOf("f07218"); + defaultEnv = Env.scorching | Env.terrestrial; + startSector = 10; + atmosphereRadIn = 0.02f; + atmosphereRadOut = 0.3f; + tidalLock = true; + orbitSpacing = 2f; + totalRadius += 2.6f; + lightSrcTo = 0.5f; + lightDstFrom = 0.2f; + clearSectorOnLose = true; + defaultCore = Blocks.coreBastion; + iconColor = Color.valueOf("ff9266"); + enemyBuildSpeedMultiplier = 0.4f; + + //TODO disallowed for now + allowLaunchToNumbered = false; + + //TODO SHOULD there be lighting? + updateLighting = false; + + defaultAttributes.set(Attribute.heat, 0.8f); + + ruleSetter = r -> { + r.waveTeam = Team.malis; + r.placeRangeCheck = false; + r.showSpawns = true; + r.fog = true; + r.staticFog = true; + r.lighting = false; + r.coreDestroyClear = true; + r.onlyDepositCore = true; + }; + campaignRuleDefaults.fog = true; + campaignRuleDefaults.showSpawns = true; + + unlockedOnLand.add(Blocks.coreBastion); + }}; + + //TODO names + gier = makeAsteroid("gier", erekir, Blocks.ferricStoneWall, Blocks.carbonWall, -5, 0.4f, 7, 1f, gen -> { + gen.min = 25; + gen.max = 35; + gen.carbonChance = 0.6f; + gen.iceChance = 0f; + gen.berylChance = 0.1f; + }); + + notva = makeAsteroid("notva", sun, Blocks.ferricStoneWall, Blocks.beryllicStoneWall, -4, 0.55f, 9, 1.3f, gen -> { + gen.berylChance = 0.8f; + gen.iceChance = 0f; + gen.carbonChance = 0.01f; + gen.max += 2; + }); + + tantros = new Planet("tantros", sun, 1f, 2){{ generator = new TantrosPlanetGenerator(); meshLoader = () -> new HexMesh(this, 4); + accessible = false; + visible = false; atmosphereColor = Color.valueOf("3db899"); + iconColor = Color.valueOf("597be3"); startSector = 10; atmosphereRadIn = -0.01f; atmosphereRadOut = 0.3f; - }};*/ + defaultEnv = Env.underwater | Env.terrestrial; + ruleSetter = r -> { - serpulo = new Planet("serpulo", sun, 3, 1){{ + }; + }}; + + serpulo = new Planet("serpulo", sun, 1f, 3){{ generator = new SerpuloPlanetGenerator(); meshLoader = () -> new HexMesh(this, 6); + cloudMeshLoader = () -> new MultiMesh( + new HexSkyMesh(this, 11, 0.15f, 0.13f, 5, new Color().set(Pal.spore).mul(0.9f).a(0.75f), 2, 0.45f, 0.9f, 0.38f), + new HexSkyMesh(this, 1, 0.6f, 0.16f, 5, Color.white.cpy().lerp(Pal.spore, 0.55f).a(0.75f), 2, 0.45f, 1f, 0.41f) + ); + + launchCapacityMultiplier = 0.5f; + sectorSeed = 2; + allowWaves = true; + allowLegacyLaunchPads = true; + allowWaveSimulation = true; + allowSectorInvasion = true; + allowLaunchSchematics = true; + enemyCoreSpawnReplace = true; + allowLaunchLoadout = true; + //doesn't play well with configs + prebuildBase = false; + ruleSetter = r -> { + r.waveTeam = Team.crux; + r.placeRangeCheck = false; + r.showSpawns = false; + r.coreDestroyClear = true; + }; + iconColor = Color.valueOf("7d4dff"); atmosphereColor = Color.valueOf("3c1b8f"); atmosphereRadIn = 0.02f; atmosphereRadOut = 0.3f; startSector = 15; + alwaysUnlocked = true; + allowSelfSectorLaunch = true; + landCloudColor = Pal.spore.cpy().a(0.5f); + }}; + + verilus = makeAsteroid("verlius", sun, Blocks.stoneWall, Blocks.iceWall, -1, 0.5f, 12, 2f, gen -> { + gen.berylChance = 0f; + gen.iceChance = 0.6f; + gen.carbonChance = 0.1f; + gen.ferricChance = 0f; + }); + } + + private static Planet makeAsteroid(String name, Planet parent, Block base, Block tint, int seed, float tintThresh, int pieces, float scale, Cons cgen){ + return new Planet(name, parent, 0.12f){{ + hasAtmosphere = false; + updateLighting = false; + sectors.add(new Sector(this, Ptile.empty)); + camRadius = 0.68f * scale; + minZoom = 0.6f; + drawOrbit = false; + accessible = false; + clipRadius = 2f; + defaultEnv = Env.space; + icon = "commandRally"; + generator = new AsteroidGenerator(); + cgen.get((AsteroidGenerator)generator); + + meshLoader = () -> { + iconColor = tint.mapColor; + Color tinted = tint.mapColor.cpy().a(1f - tint.mapColor.a); + Seq meshes = new Seq<>(); + Color color = base.mapColor; + Rand rand = new Rand(id + 2); + + meshes.add(new NoiseMesh( + this, seed, 2, radius, 2, 0.55f, 0.45f, 14f, + color, tinted, 3, 0.6f, 0.38f, tintThresh + )); + + for(int j = 0; j < pieces; j++){ + meshes.add(new MatMesh( + new NoiseMesh(this, seed + j + 1, 1, 0.022f + rand.random(0.039f) * scale, 2, 0.6f, 0.38f, 20f, + color, tinted, 3, 0.6f, 0.38f, tintThresh), + new Mat3D().setToTranslation(Tmp.v31.setToRandomDirection(rand).setLength(rand.random(0.44f, 1.4f) * scale))) + ); + } + + return new MultiMesh(meshes.toArray(GenericMesh.class)); + }; }}; } + } diff --git a/core/src/mindustry/content/SectorPresets.java b/core/src/mindustry/content/SectorPresets.java index e84547dd5f..af9a2bc53e 100644 --- a/core/src/mindustry/content/SectorPresets.java +++ b/core/src/mindustry/content/SectorPresets.java @@ -1,30 +1,42 @@ package mindustry.content; -import mindustry.ctype.*; import mindustry.type.*; import static mindustry.content.Planets.*; -public class SectorPresets implements ContentList{ +public class SectorPresets{ public static SectorPreset groundZero, - craters, biomassFacility, frozenForest, ruinousShores, windsweptIslands, stainedMountains, tarFields, - fungalPass, extractionOutpost, saltFlats, overgrowth, - impact0078, desolateRift, nuclearComplex, planetaryTerminal; + craters, biomassFacility, taintedWoods, frozenForest, ruinousShores, facility32m, windsweptIslands, stainedMountains, tarFields, + frontier, fungalPass, infestedCanyons, atolls, mycelialBastion, extractionOutpost, saltFlats, testingGrounds, overgrowth, //polarAerodrome, + impact0078, desolateRift, nuclearComplex, planetaryTerminal, + coastline, navalFortress, weatheredChannels, seaPort, - @Override - public void load(){ + geothermalStronghold, cruxscape, + + onset, aegis, lake, intersect, basin, atlas, split, marsh, peaks, ravine, caldera, + stronghold, crevice, siege, crossroads, karst, origin; + + public static void load(){ + //region serpulo groundZero = new SectorPreset("groundZero", serpulo, 15){{ alwaysUnlocked = true; addStartingItems = true; captureWave = 10; difficulty = 1; + overrideLaunchDefaults = true; + noLighting = true; + startWaveTimeMultiplier = 3f; }}; saltFlats = new SectorPreset("saltFlats", serpulo, 101){{ difficulty = 5; - useAI = false; + }}; + + testingGrounds = new SectorPreset("testingGrounds", serpulo, 3){{ + difficulty = 7; + captureWave = 33; }}; frozenForest = new SectorPreset("frozenForest", serpulo, 86){{ @@ -37,6 +49,11 @@ public class SectorPresets implements ContentList{ difficulty = 3; }}; + taintedWoods = new SectorPreset("taintedWoods", serpulo, 221){{ + captureWave = 33; + difficulty = 5; + }}; + craters = new SectorPreset("craters", serpulo, 18){{ captureWave = 20; difficulty = 2; @@ -47,6 +64,15 @@ public class SectorPresets implements ContentList{ difficulty = 3; }}; + seaPort = new SectorPreset("seaPort", serpulo, 47){{ + difficulty = 4; + }}; + + facility32m = new SectorPreset("facility32m", serpulo, 64){{ + captureWave = 25; + difficulty = 4; + }}; + windsweptIslands = new SectorPreset("windsweptIslands", serpulo, 246){{ captureWave = 30; difficulty = 4; @@ -59,17 +85,49 @@ public class SectorPresets implements ContentList{ extractionOutpost = new SectorPreset("extractionOutpost", serpulo, 165){{ difficulty = 5; - useAI = false; + }}; + + //TODO: removed for now + //polarAerodrome = new SectorPreset("polarAerodrome", serpulo, 68){{ + // difficulty = 7; + //}}; + + coastline = new SectorPreset("coastline", serpulo, 108){{ + captureWave = 30; + difficulty = 5; + }}; + + weatheredChannels = new SectorPreset("weatheredChannels", serpulo, 39){{ + captureWave = 40; + difficulty = 9; + }}; + + navalFortress = new SectorPreset("navalFortress", serpulo, 216){{ + difficulty = 8; + }}; + + frontier = new SectorPreset("frontier", serpulo, 203){{ + difficulty = 4; }}; fungalPass = new SectorPreset("fungalPass", serpulo, 21){{ difficulty = 4; - useAI = false; + }}; + + infestedCanyons = new SectorPreset("infestedCanyons", serpulo, 210){{ + difficulty = 4; + }}; + + atolls = new SectorPreset("atolls", serpulo, 1){{ + difficulty = 7; + }}; + + mycelialBastion = new SectorPreset("mycelialBastion", serpulo, 260){{ + difficulty = 8; }}; overgrowth = new SectorPreset("overgrowth", serpulo, 134){{ difficulty = 5; - useAI = false; }}; tarFields = new SectorPreset("tarFields", serpulo, 23){{ @@ -94,6 +152,96 @@ public class SectorPresets implements ContentList{ planetaryTerminal = new SectorPreset("planetaryTerminal", serpulo, 93){{ difficulty = 10; + isLastSector = true; }}; + + geothermalStronghold = new SectorPreset("geothermalStronghold", serpulo, 264){{ + difficulty = 10; + }}; + + cruxscape = new SectorPreset("cruxscape", serpulo, 54){{ + difficulty = 10; + }}; + + //endregion + //region erekir + + onset = new SectorPreset("onset", erekir, 10){{ + addStartingItems = true; + alwaysUnlocked = true; + difficulty = 1; + }}; + + aegis = new SectorPreset("aegis", erekir, 88){{ + difficulty = 3; + }}; + + lake = new SectorPreset("lake", erekir, 41){{ + difficulty = 4; + }}; + + intersect = new SectorPreset("intersect", erekir, 36){{ + difficulty = 5; + captureWave = 9; + attackAfterWaves = true; + }}; + + atlas = new SectorPreset("atlas", erekir, 14){{ //TODO random sector, pick a better one + difficulty = 5; + }}; + + split = new SectorPreset("split", erekir, 19){{ //TODO random sector, pick a better one + difficulty = 2; + }}; + + basin = new SectorPreset("basin", erekir, 29){{ + difficulty = 6; + }}; + + marsh = new SectorPreset("marsh", erekir, 25){{ + difficulty = 4; + }}; + + peaks = new SectorPreset("peaks", erekir, 30){{ + difficulty = 3; + }}; + + ravine = new SectorPreset("ravine", erekir, 39){{ + difficulty = 4; + captureWave = 24; + }}; + + caldera = new SectorPreset("caldera-erekir", erekir, 43){{ + difficulty = 4; + }}; + + stronghold = new SectorPreset("stronghold", erekir, 18){{ + difficulty = 7; + }}; + + crevice = new SectorPreset("crevice", erekir, 3){{ + difficulty = 6; + captureWave = 46; + }}; + + siege = new SectorPreset("siege", erekir, 58){{ + difficulty = 8; + }}; + + crossroads = new SectorPreset("crossroads", erekir, 37){{ + difficulty = 7; + }}; + + karst = new SectorPreset("karst", erekir, 5){{ + difficulty = 9; + captureWave = 10; + }}; + + origin = new SectorPreset("origin", erekir, 12){{ + difficulty = 10; + isLastSector = true; + }}; + + //endregion } } diff --git a/core/src/mindustry/content/SerpuloTechTree.java b/core/src/mindustry/content/SerpuloTechTree.java new file mode 100644 index 0000000000..e791f67680 --- /dev/null +++ b/core/src/mindustry/content/SerpuloTechTree.java @@ -0,0 +1,780 @@ +package mindustry.content; + +import arc.struct.*; +import mindustry.game.Objectives.*; +import mindustry.type.*; + +import static mindustry.content.Blocks.*; +import static mindustry.content.SectorPresets.craters; +import static mindustry.content.SectorPresets.*; +import static mindustry.content.TechTree.*; +import static mindustry.content.UnitTypes.*; + +public class SerpuloTechTree{ + + public static void load(){ + Planets.serpulo.techTree = nodeRoot("serpulo", coreShard, () -> { + + node(conveyor, () -> { + + node(junction, () -> { + node(router, () -> { + node(advancedLaunchPad, Seq.with(new SectorComplete(extractionOutpost)), () -> { + node(landingPad, () -> { + node(interplanetaryAccelerator, Seq.with(new SectorComplete(planetaryTerminal)), () -> { + + }); + }); + }); + + node(distributor); + node(sorter, () -> { + node(invertedSorter); + node(overflowGate, () -> { + node(underflowGate); + }); + }); + node(container, Seq.with(new SectorComplete(biomassFacility)), () -> { + node(unloader); + node(vault, Seq.with(new SectorComplete(stainedMountains)), () -> { + + }); + }); + + node(itemBridge, () -> { + node(titaniumConveyor, Seq.with(new SectorComplete(craters)), () -> { + node(phaseConveyor, () -> { + node(massDriver, () -> { + + }); + }); + + node(payloadConveyor, () -> { + node(payloadRouter, () -> { + + }); + }); + + node(armoredConveyor, () -> { + node(plastaniumConveyor, () -> { + + }); + }); + }); + }); + }); + }); + }); + + node(coreFoundation, () -> { + node(coreNucleus, () -> { + + }); + }); + + node(mechanicalDrill, () -> { + + node(mechanicalPump, () -> { + node(conduit, () -> { + node(liquidJunction, () -> { + node(liquidRouter, () -> { + node(liquidContainer, () -> { + node(liquidTank); + }); + + node(bridgeConduit); + + node(pulseConduit, Seq.with(new SectorComplete(windsweptIslands)), () -> { + node(phaseConduit, () -> { + + }); + + node(platedConduit, () -> { + + }); + + node(rotaryPump, () -> { + node(impulsePump, () -> { + + }); + }); + }); + }); + }); + }); + }); + + node(graphitePress, () -> { + node(pneumaticDrill, Seq.with(new SectorComplete(frozenForest)), () -> { + node(cultivator, Seq.with(new SectorComplete(biomassFacility)), () -> { + + }); + + node(laserDrill, () -> { + node(blastDrill, Seq.with(new SectorComplete(nuclearComplex)), () -> { + + }); + + node(waterExtractor, Seq.with(new SectorComplete(saltFlats)), () -> { + node(oilExtractor, () -> { + + }); + }); + }); + }); + + node(pyratiteMixer, () -> { + node(blastMixer, Seq.with(new SectorComplete(facility32m)), () -> { + + }); + }); + + node(siliconSmelter, () -> { + + node(sporePress, () -> { + node(coalCentrifuge, () -> { + node(multiPress, () -> { + node(siliconCrucible, () -> { + + }); + }); + }); + + node(plastaniumCompressor, Seq.with(new SectorComplete(windsweptIslands), new OnSector(tarFields)), () -> { + node(phaseWeaver, Seq.with(new SectorComplete(tarFields)), () -> { + + }); + }); + }); + + node(kiln, Seq.with(new SectorComplete(craters)), () -> { + node(pulverizer, () -> { + node(incinerator, () -> { + node(melter, () -> { + node(surgeSmelter, () -> { + + }); + + node(separator, () -> { + node(disassembler, () -> { + + }); + }); + + node(cryofluidMixer, () -> { + + }); + }); + }); + }); + }); + + //logic disabled until further notice + node(microProcessor, () -> { + node(switchBlock, () -> { + node(message, () -> { + node(logicDisplay, () -> { + node(largeLogicDisplay, () -> { + + }); + }); + + node(memoryCell, () -> { + node(memoryBank, () -> { + + }); + }); + }); + + node(logicProcessor, () -> { + node(hyperProcessor, () -> { + + }); + }); + }); + }); + + node(illuminator, () -> { + + }); + }); + }); + + + node(combustionGenerator, Seq.with(new Research(Items.coal)), () -> { + node(powerNode, () -> { + node(powerNodeLarge, () -> { + node(diode, () -> { + node(surgeTower, () -> { + + }); + }); + }); + + node(battery, () -> { + node(batteryLarge, () -> { + + }); + }); + + node(mender, () -> { + node(mendProjector, () -> { + node(forceProjector, Seq.with(new SectorComplete(impact0078)), () -> { + node(overdriveProjector, Seq.with(new SectorComplete(impact0078)), () -> { + node(overdriveDome, Seq.with(new SectorComplete(impact0078)), () -> { + + }); + }); + }); + + node(repairPoint, () -> { + node(repairTurret, () -> { + + }); + }); + }); + }); + + node(steamGenerator, Seq.with(new SectorComplete(craters)), () -> { + node(thermalGenerator, () -> { + node(differentialGenerator, () -> { + node(thoriumReactor, Seq.with(new Research(Liquids.cryofluid)), () -> { + node(impactReactor, () -> { + + }); + + node(rtgGenerator, () -> { + + }); + }); + }); + }); + }); + + node(solarPanel, () -> { + node(largeSolarPanel, () -> { + + }); + }); + }); + }); + }); + + node(duo, () -> { + node(copperWall, () -> { + node(copperWallLarge, () -> { + node(scrapWall, () -> { + node(scrapWallLarge, () -> { + node(scrapWallHuge, () -> { + node(scrapWallGigantic); + }); + }); + }); + + node(titaniumWall, () -> { + node(titaniumWallLarge); + + node(door, () -> { + node(doorLarge); + }); + + node(plastaniumWall, () -> { + node(plastaniumWallLarge, () -> { + + }); + }); + node(thoriumWall, () -> { + node(thoriumWallLarge); + node(surgeWall, () -> { + node(surgeWallLarge); + node(phaseWall, () -> { + node(phaseWallLarge); + }); + }); + }); + }); + }); + }); + + node(scatter, () -> { + node(hail, Seq.with(new SectorComplete(craters)), () -> { + node(salvo, () -> { + node(swarmer, () -> { + node(cyclone, () -> { + node(spectre, Seq.with(new SectorComplete(nuclearComplex)), () -> { + + }); + }); + }); + + node(ripple, () -> { + node(fuse, () -> { + + }); + }); + }); + }); + }); + + node(scorch, () -> { + node(arc, () -> { + node(wave, () -> { + node(parallax, () -> { + node(segment, () -> { + + }); + }); + + node(tsunami, () -> { + + }); + }); + + node(lancer, () -> { + node(meltdown, () -> { + node(foreshadow, () -> { + + }); + }); + + node(shockMine, () -> { + + }); + }); + }); + }); + }); + + node(groundFactory, () -> { + + node(dagger, () -> { + node(mace, () -> { + node(fortress, () -> { + node(scepter, () -> { + node(reign, () -> { + + }); + }); + }); + }); + + node(nova, () -> { + node(pulsar, () -> { + node(quasar, () -> { + node(vela, () -> { + node(corvus, () -> { + + }); + }); + }); + }); + }); + + //override research requirements to have graphite, not coal + node(crawler, ItemStack.with(Items.silicon, 400, Items.graphite, 400), () -> { + node(atrax, () -> { + node(spiroct, () -> { + node(arkyid, () -> { + node(toxopid, Seq.with(new SectorComplete(mycelialBastion)), () -> { + + }); + }); + }); + }); + }); + }); + + node(airFactory, () -> { + node(flare, () -> { + node(horizon, () -> { + node(zenith, () -> { + node(antumbra, () -> { + node(eclipse, () -> { + + }); + }); + }); + }); + + node(mono, () -> { + node(poly, () -> { + node(mega, () -> { + node(quad, () -> { + node(oct, () -> { + + }); + }); + }); + }); + }); + }); + + node(navalFactory, Seq.with(new OnSector(windsweptIslands)), () -> { + node(risso, () -> { + node(minke, () -> { + node(bryde, () -> { + node(sei, () -> { + node(omura, () -> { + + }); + }); + }); + }); + + node(retusa, Seq.with(new SectorComplete(windsweptIslands)), () -> { + node(oxynoe, Seq.with(new SectorComplete(coastline)), () -> { + node(cyerce, () -> { + node(aegires, () -> { + node(navanax, Seq.with(new SectorComplete(navalFortress)), () -> { + + }); + }); + }); + }); + }); + }); + }); + }); + + node(additiveReconstructor, Seq.with(new SectorComplete(biomassFacility)), () -> { + node(multiplicativeReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> { + node(exponentialReconstructor, () -> { + node(tetrativeReconstructor, () -> { + + }); + }); + }); + }); + }); + + node(groundZero, () -> { + node(frozenForest, Seq.with( + new SectorComplete(groundZero), + new Research(junction), + new Research(router) + ), () -> { + node(craters, Seq.with( + new SectorComplete(frozenForest), + new Research(mender), + new Research(combustionGenerator) + ), () -> { + node(frontier, Seq.with( + new Research(groundFactory), + new Research(airFactory), + new Research(thermalGenerator), + new Research(dagger), + new Research(mono) + ), () -> { + + }); + + node(ruinousShores, Seq.with( + new SectorComplete(craters), + new Research(graphitePress), + new Research(kiln), + new Research(mechanicalPump) + ), () -> { + node(windsweptIslands, Seq.with( + new SectorComplete(ruinousShores), + new Research(pneumaticDrill), + new Research(hail), + new Research(siliconSmelter), + new Research(steamGenerator) + ), () -> { + node(seaPort, Seq.with( + new SectorComplete(biomassFacility), + new Research(navalFactory), + new Research(risso), + new Research(retusa), + new Research(steamGenerator), + new Research(cultivator), + new Research(coalCentrifuge) + ), () -> { + + }); + + node(tarFields, Seq.with( + new SectorComplete(windsweptIslands), + new Research(coalCentrifuge), + new Research(conduit), + new Research(wave) + ), () -> { + node(impact0078, Seq.with( + new SectorComplete(tarFields), + new Research(Items.thorium), + new Research(lancer), + new Research(salvo), + new Research(coreFoundation) + ), () -> { + node(desolateRift, Seq.with( + new SectorComplete(impact0078), + new Research(thermalGenerator), + new Research(thoriumReactor), + new Research(coreNucleus) + ), () -> { + node(planetaryTerminal, Seq.with( + new SectorComplete(desolateRift), + new SectorComplete(nuclearComplex), + new SectorComplete(overgrowth), + new SectorComplete(extractionOutpost), + new SectorComplete(saltFlats), + new Research(risso), + new Research(minke), + new Research(bryde), + new Research(sei), + new Research(omura), + new Research(spectre), + new Research(advancedLaunchPad), + new Research(massDriver), + new Research(impactReactor), + new Research(additiveReconstructor), + new Research(exponentialReconstructor), + new Research(tetrativeReconstructor) + ), () -> { + node(geothermalStronghold, Seq.with( + new Research(omura), + new Research(navanax), + new Research(eclipse), + new Research(oct), + new Research(reign), + new Research(corvus), + new Research(toxopid) + ), () -> { + + }); + + node(cruxscape, Seq.with( + new Research(omura), + new Research(navanax), + new Research(eclipse), + new Research(oct), + new Research(reign), + new Research(corvus), + new Research(toxopid) + ), () -> { + + }); + }); + }); + }); + }); + + node(facility32m, Seq.with( + new Research(pneumaticDrill), + new SectorComplete(stainedMountains) + ), () -> { + node(extractionOutpost, Seq.with( + new SectorComplete(windsweptIslands), + new SectorComplete(facility32m), + new Research(groundFactory), + new Research(nova), + new Research(airFactory), + new Research(mono) + ), () -> { + //TODO: removed for now + /*node(polarAerodrome, Seq.with( + new SectorComplete(fungalPass), + new SectorComplete(desolateRift), + new SectorComplete(overgrowth), + new Research(multiplicativeReconstructor), + new Research(zenith), + new Research(swarmer), + new Research(cyclone), + new Research(blastDrill), + new Research(blastDrill), + new Research(massDriver) + ), () -> { + + }); + */ + }); + }); + + node(saltFlats, Seq.with( + new SectorComplete(windsweptIslands), + new Research(groundFactory), + new Research(additiveReconstructor), + new Research(airFactory), + new Research(door) + ), () -> { + node(testingGrounds, Seq.with( + new Research(cryofluidMixer), + new Research(Liquids.cryofluid), + new Research(waterExtractor), + new Research(ripple) + ), () -> { + + }); + + node(coastline, Seq.with( + new SectorComplete(windsweptIslands), + new SectorComplete(saltFlats), + new Research(navalFactory), + new Research(payloadConveyor) + ), () -> { + + node(navalFortress, Seq.with( + new SectorComplete(coastline), + new SectorComplete(extractionOutpost), + new Research(coreNucleus), + new Research(massDriver), + new Research(oxynoe), + new Research(minke), + new Research(bryde), + new Research(cyclone), + new Research(ripple) + ), () -> { + node(weatheredChannels, Seq.with( + new SectorComplete(impact0078), + new Research(bryde), + new Research(surgeSmelter), + new Research(overdriveProjector) + ), () -> { + + }); + }); + }); + }); + }); + }); + + node(overgrowth, Seq.with( + new SectorComplete(craters), + new SectorComplete(fungalPass), + new Research(cultivator), + new Research(sporePress), + new Research(additiveReconstructor), + new Research(UnitTypes.mace), + new Research(UnitTypes.flare) + ), () -> { + node(mycelialBastion, Seq.with( + new Research(atrax), + new Research(spiroct), + new Research(multiplicativeReconstructor), + new Research(exponentialReconstructor) + ), () -> { + + }); + + node(atolls, Seq.with( + new SectorComplete(windsweptIslands), + new Research(multiplicativeReconstructor), + new Research(mega) + ), () -> { + + }); + }); + }); + + node(biomassFacility, Seq.with( + new SectorComplete(frozenForest), + new Research(powerNode), + new Research(steamGenerator), + new Research(scatter), + new Research(graphitePress) + ), () -> { + node(taintedWoods, Seq.with( + new SectorComplete(biomassFacility), + new Research(Items.sporePod), + new Research(wave) + ), () -> { + + }); + + node(stainedMountains, Seq.with( + new SectorComplete(biomassFacility), + new Research(pneumaticDrill), + new Research(siliconSmelter) + ), () -> { + node(fungalPass, Seq.with( + new SectorComplete(stainedMountains), + new Research(groundFactory), + new Research(door) + ), () -> { + node(infestedCanyons, Seq.with( + new SectorComplete(fungalPass), + new Research(navalFactory), + new Research(risso), + new Research(minke), + new Research(additiveReconstructor) + ), () -> { + + }); + + node(nuclearComplex, Seq.with( + new SectorComplete(fungalPass), + new Research(thermalGenerator), + new Research(laserDrill), + new Research(Items.plastanium), + new Research(swarmer) + ), () -> { + + }); + }); + }); + }); + }); + }); + + nodeProduce(Items.copper, () -> { + nodeProduce(Liquids.water, () -> { + + }); + + nodeProduce(Items.lead, () -> { + nodeProduce(Items.titanium, () -> { + nodeProduce(Liquids.cryofluid, () -> { + + }); + + nodeProduce(Items.thorium, () -> { + nodeProduce(Items.surgeAlloy, () -> { + + }); + + nodeProduce(Items.phaseFabric, () -> { + + }); + }); + }); + + nodeProduce(Items.metaglass, () -> { + + }); + }); + + nodeProduce(Items.sand, () -> { + nodeProduce(Items.scrap, () -> { + nodeProduce(Liquids.slag, () -> { + + }); + }); + + nodeProduce(Items.coal, () -> { + nodeProduce(Items.graphite, () -> { + nodeProduce(Items.silicon, () -> { + + }); + }); + + nodeProduce(Items.pyratite, () -> { + nodeProduce(Items.blastCompound, () -> { + + }); + }); + + nodeProduce(Items.sporePod, () -> { + + }); + + nodeProduce(Liquids.oil, () -> { + nodeProduce(Items.plastanium, () -> { + + }); + }); + }); + }); + }); + }); + } +} diff --git a/core/src/mindustry/content/StatusEffects.java b/core/src/mindustry/content/StatusEffects.java index b20463a65f..1ccaabc80f 100644 --- a/core/src/mindustry/content/StatusEffects.java +++ b/core/src/mindustry/content/StatusEffects.java @@ -3,34 +3,33 @@ package mindustry.content; import arc.*; import arc.graphics.*; import arc.math.*; -import mindustry.ctype.*; import mindustry.game.EventType.*; -import mindustry.type.*; +import mindustry.game.*; import mindustry.graphics.*; - +import mindustry.type.*; import static mindustry.Vars.*; -public class StatusEffects implements ContentList{ - public static StatusEffect none, burning, freezing, unmoving, slow, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed; +public class StatusEffects{ + public static StatusEffect none, burning, freezing, unmoving, slow, fast, wet, muddy, melting, sapped, tarred, overdrive, overclock, shielded, shocked, blasted, corroded, boss, sporeSlowed, disarmed, electrified, invincible, dynamic; - @Override - public void load(){ + public static void load(){ none = new StatusEffect("none"); burning = new StatusEffect("burning"){{ - color = Pal.lightFlame; - damage = 0.12f; //over 8 seconds, this would be 60 damage + color = Color.valueOf("ffc455"); + damage = 0.167f; effect = Fx.burning; + transitionDamage = 8f; init(() -> { opposite(wet, freezing); - trans(tarred, ((unit, time, newTime, result) -> { - unit.damagePierce(8f); + affinity(tarred, (unit, result, time) -> { + unit.damagePierce(transitionDamage); Fx.burning.at(unit.x + Mathf.range(unit.bounds() / 2f), unit.y + Mathf.range(unit.bounds() / 2f)); - result.set(this, Math.min(time + newTime, 300f)); - })); + result.set(burning, Math.min(time + result.time, 300f)); + }); }); }}; @@ -39,25 +38,37 @@ public class StatusEffects implements ContentList{ speedMultiplier = 0.6f; healthMultiplier = 0.8f; effect = Fx.freezing; + transitionDamage = 18f; init(() -> { opposite(melting, burning); - trans(blasted, ((unit, time, newTime, result) -> { - unit.damagePierce(18f); - result.set(this, time); - })); + affinity(blasted, (unit, result, time) -> { + unit.damagePierce(transitionDamage); + if(unit.team == state.rules.waveTeam){ + Events.fire(Trigger.blastFreeze); + } + }); }); }}; unmoving = new StatusEffect("unmoving"){{ color = Pal.gray; - speedMultiplier = 0.001f; + speedMultiplier = 0f; }}; slow = new StatusEffect("slow"){{ color = Pal.lightishGray; speedMultiplier = 0.4f; + + init(() -> opposite(fast)); + }}; + + fast = new StatusEffect("fast"){{ + color = Pal.boostTo; + speedMultiplier = 1.6f; + + init(() -> opposite(slow)); }}; wet = new StatusEffect("wet"){{ @@ -65,24 +76,26 @@ public class StatusEffects implements ContentList{ speedMultiplier = 0.94f; effect = Fx.wet; effectChance = 0.09f; + transitionDamage = 14; init(() -> { - trans(shocked, ((unit, time, newTime, result) -> { - unit.damagePierce(14f); + affinity(shocked, (unit, result, time) -> { + unit.damage(transitionDamage); + if(unit.team == state.rules.waveTeam){ Events.fire(Trigger.shock); } - result.set(this, time); - })); - opposite(burning); + }); + opposite(burning, melting); }); }}; - + muddy = new StatusEffect("muddy"){{ color = Color.valueOf("46382a"); speedMultiplier = 0.94f; effect = Fx.muddy; effectChance = 0.09f; + show = false; }}; melting = new StatusEffect("melting"){{ @@ -94,11 +107,11 @@ public class StatusEffects implements ContentList{ init(() -> { opposite(wet, freezing); - trans(tarred, ((unit, time, newTime, result) -> { + affinity(tarred, (unit, result, time) -> { unit.damagePierce(8f); Fx.burning.at(unit.x + Mathf.range(unit.bounds() / 2f), unit.y + Mathf.range(unit.bounds() / 2f)); - result.set(this, Math.min(time + newTime, 200f)); - })); + result.set(melting, Math.min(time + result.time, 200f)); + }); }); }}; @@ -110,6 +123,14 @@ public class StatusEffects implements ContentList{ effectChance = 0.1f; }}; + electrified = new StatusEffect("electrified"){{ + color = Pal.heal; + speedMultiplier = 0.7f; + reloadMultiplier = 0.6f; + effect = Fx.electrified; + effectChance = 0.1f; + }}; + sporeSlowed = new StatusEffect("spore-slowed"){{ color = Pal.spore; speedMultiplier = 0.8f; @@ -123,8 +144,8 @@ public class StatusEffects implements ContentList{ effect = Fx.oily; init(() -> { - trans(melting, ((unit, time, newTime, result) -> result.set(melting, newTime + time))); - trans(burning, ((unit, time, newTime, result) -> result.set(burning, newTime + time))); + affinity(melting, (unit, result, time) -> result.set(melting, result.time + time)); + affinity(burning, (unit, result, time) -> result.set(burning, result.time + time)); }); }}; @@ -153,7 +174,7 @@ public class StatusEffects implements ContentList{ }}; boss = new StatusEffect("boss"){{ - color = Pal.health; + color = Team.crux.color; permanent = true; damageMultiplier = 1.3f; healthMultiplier = 1.5f; @@ -161,15 +182,32 @@ public class StatusEffects implements ContentList{ shocked = new StatusEffect("shocked"){{ color = Pal.lancerLaser; + reactive = true; }}; blasted = new StatusEffect("blasted"){{ color = Color.valueOf("ff795e"); + reactive = true; }}; corroded = new StatusEffect("corroded"){{ color = Pal.plastanium; damage = 0.1f; }}; + + disarmed = new StatusEffect("disarmed"){{ + color = Color.valueOf("e9ead3"); + disarm = true; + }}; + + invincible = new StatusEffect("invincible"){{ + healthMultiplier = Float.POSITIVE_INFINITY; + }}; + + dynamic = new StatusEffect("dynamic"){{ + show = false; + dynamic = true; + permanent = true; + }}; } } diff --git a/core/src/mindustry/content/TeamEntries.java b/core/src/mindustry/content/TeamEntries.java new file mode 100644 index 0000000000..0d4be79241 --- /dev/null +++ b/core/src/mindustry/content/TeamEntries.java @@ -0,0 +1,14 @@ +package mindustry.content; + +public class TeamEntries{ + + public static void load(){ + //more will be added later - do these need references? + + //TODO + //new TeamEntry(Team.derelict); + //new TeamEntry(Team.sharded); + //new TeamEntry(Team.malis); + //new TeamEntry(Team.crux); + } +} diff --git a/core/src/mindustry/content/TechTree.java b/core/src/mindustry/content/TechTree.java index 2e0a0f3646..eade391c03 100644 --- a/core/src/mindustry/content/TechTree.java +++ b/core/src/mindustry/content/TechTree.java @@ -1,652 +1,42 @@ package mindustry.content; import arc.*; +import arc.func.*; +import arc.scene.style.*; import arc.struct.*; import arc.util.*; import mindustry.ctype.*; import mindustry.game.Objectives.*; import mindustry.type.*; -import static mindustry.content.Blocks.*; -import static mindustry.content.SectorPresets.craters; -import static mindustry.content.SectorPresets.*; -import static mindustry.content.UnitTypes.*; +/** Class for storing a list of TechNodes with some utility tree builder methods; context dependent. See {@link SerpuloTechTree#load} source for example usage. */ +public class TechTree{ + private static TechNode context = null; -public class TechTree implements ContentList{ - static ObjectMap map = new ObjectMap<>(); - static TechNode context = null; + public static Seq all = new Seq<>(); + public static Seq roots = new Seq<>(); - public static Seq all; - public static TechNode root; - - @Override - public void load(){ - setup(); - - root = node(coreShard, () -> { - - node(conveyor, () -> { - - node(junction, () -> { - node(router, () -> { - node(launchPad, Seq.with(new SectorComplete(extractionOutpost)), () -> { - node(interplanetaryAccelerator, Seq.with(new SectorComplete(planetaryTerminal)), () -> { - - }); - }); - - node(distributor); - node(sorter, () -> { - node(invertedSorter); - node(overflowGate, () -> { - node(underflowGate); - }); - }); - node(container, Seq.with(new SectorComplete(biomassFacility)), () -> { - node(unloader); - node(vault, Seq.with(new SectorComplete(stainedMountains)), () -> { - - }); - }); - - node(itemBridge, () -> { - node(titaniumConveyor, Seq.with(new SectorComplete(craters)), () -> { - node(phaseConveyor, () -> { - node(massDriver, () -> { - - }); - }); - - node(payloadConveyor, () -> { - node(payloadRouter, () -> { - - }); - }); - - node(armoredConveyor, () -> { - node(plastaniumConveyor, () -> { - - }); - }); - }); - }); - }); - }); - }); - - node(coreFoundation, () -> { - node(coreNucleus, () -> { - - }); - }); - - node(mechanicalDrill, () -> { - - node(mechanicalPump, () -> { - node(conduit, () -> { - node(liquidJunction, () -> { - node(liquidRouter, () -> { - node(liquidTank); - - node(bridgeConduit); - - node(pulseConduit, Seq.with(new SectorComplete(windsweptIslands)), () -> { - node(phaseConduit, () -> { - - }); - - node(platedConduit, () -> { - - }); - - node(rotaryPump, () -> { - node(thermalPump, () -> { - - }); - }); - }); - }); - }); - }); - }); - - node(graphitePress, () -> { - node(pneumaticDrill, Seq.with(new SectorComplete(frozenForest)), () -> { - node(cultivator, Seq.with(new SectorComplete(biomassFacility)), () -> { - - }); - - node(laserDrill, () -> { - node(blastDrill, Seq.with(new SectorComplete(nuclearComplex)), () -> { - - }); - - node(waterExtractor, Seq.with(new SectorComplete(saltFlats)), () -> { - node(oilExtractor, () -> { - - }); - }); - }); - }); - - node(pyratiteMixer, () -> { - node(blastMixer, () -> { - - }); - }); - - node(siliconSmelter, () -> { - - node(sporePress, () -> { - node(coalCentrifuge, () -> { - node(multiPress, () -> { - node(siliconCrucible, () -> { - - }); - }); - }); - - node(plastaniumCompressor, Seq.with(new SectorComplete(windsweptIslands)), () -> { - node(phaseWeaver, Seq.with(new SectorComplete(tarFields)), () -> { - - }); - }); - }); - - node(kiln, Seq.with(new SectorComplete(craters)), () -> { - node(pulverizer, () -> { - node(incinerator, () -> { - node(melter, () -> { - node(surgeSmelter, () -> { - - }); - - node(separator, () -> { - node(disassembler, () -> { - - }); - }); - - node(cryofluidMixer, () -> { - - }); - }); - }); - }); - }); - - node(microProcessor, () -> { - node(switchBlock, () -> { - node(message, () -> { - node(logicDisplay, () -> { - node(largeLogicDisplay, () -> { - - }); - }); - - node(memoryCell, () -> { - node(memoryBank, () -> { - - }); - }); - }); - - node(logicProcessor, () -> { - node(hyperProcessor, () -> { - - }); - }); - }); - }); - - node(illuminator, () -> { - - }); - }); - }); - - - node(combustionGenerator, Seq.with(new Research(Items.coal)), () -> { - node(powerNode, () -> { - node(powerNodeLarge, () -> { - node(diode, () -> { - node(surgeTower, () -> { - - }); - }); - }); - - node(battery, () -> { - node(batteryLarge, () -> { - - }); - }); - - node(mender, () -> { - node(mendProjector, () -> { - node(forceProjector, Seq.with(new SectorComplete(impact0078)), () -> { - node(overdriveProjector, Seq.with(new SectorComplete(impact0078)), () -> { - node(overdriveDome, Seq.with(new SectorComplete(impact0078)), () -> { - - }); - }); - }); - - node(repairPoint, () -> { - - }); - }); - }); - - node(steamGenerator, Seq.with(new SectorComplete(craters)), () -> { - node(thermalGenerator, () -> { - node(differentialGenerator, () -> { - node(thoriumReactor, Seq.with(new Research(Liquids.cryofluid)), () -> { - node(impactReactor, () -> { - - }); - - node(rtgGenerator, () -> { - - }); - }); - }); - }); - }); - - node(solarPanel, () -> { - node(largeSolarPanel, () -> { - - }); - }); - }); - }); - }); - - node(duo, () -> { - node(copperWall, () -> { - node(copperWallLarge, () -> { - node(titaniumWall, () -> { - node(titaniumWallLarge); - - node(door, () -> { - node(doorLarge); - }); - node(plastaniumWall, () -> { - node(plastaniumWallLarge, () -> { - - }); - }); - node(thoriumWall, () -> { - node(thoriumWallLarge); - node(surgeWall, () -> { - node(surgeWallLarge); - node(phaseWall, () -> { - node(phaseWallLarge); - }); - }); - }); - }); - }); - }); - - node(scatter, () -> { - node(hail, Seq.with(new SectorComplete(craters)), () -> { - node(salvo, () -> { - node(swarmer, () -> { - node(cyclone, () -> { - node(spectre, Seq.with(new SectorComplete(nuclearComplex)), () -> { - - }); - }); - }); - - node(ripple, () -> { - node(fuse, () -> { - - }); - }); - }); - }); - }); - - node(scorch, () -> { - node(arc, () -> { - node(wave, () -> { - node(parallax, () -> { - node(segment, () -> { - - }); - }); - - node(tsunami, () -> { - - }); - }); - - node(lancer, () -> { - node(meltdown, () -> { - node(foreshadow, () -> { - - }); - }); - - node(shockMine, () -> { - - }); - }); - }); - }); - }); - - node(groundFactory, () -> { - node(commandCenter, () -> { - - }); - - node(dagger, () -> { - node(mace, () -> { - node(fortress, () -> { - node(scepter, () -> { - node(reign, () -> { - - }); - }); - }); - }); - - node(nova, () -> { - node(pulsar, () -> { - node(quasar, () -> { - node(vela, () -> { - node(corvus, () -> { - - }); - }); - }); - }); - }); - - node(crawler, () -> { - node(atrax, () -> { - node(spiroct, () -> { - node(arkyid, () -> { - node(toxopid, () -> { - - }); - }); - }); - }); - }); - }); - - node(airFactory, () -> { - node(flare, () -> { - node(horizon, () -> { - node(zenith, () -> { - node(antumbra, () -> { - node(eclipse, () -> { - - }); - }); - }); - }); - - node(mono, () -> { - node(poly, () -> { - node(mega, () -> { - node(quad, () -> { - node(oct, () -> { - - }); - }); - }); - }); - }); - }); - - node(navalFactory, Seq.with(new SectorComplete(ruinousShores)), () -> { - node(risso, () -> { - node(minke, () -> { - node(bryde, () -> { - node(sei, () -> { - node(omura, () -> { - - }); - }); - }); - }); - }); - }); - }); - - node(additiveReconstructor, Seq.with(new SectorComplete(biomassFacility)), () -> { - node(multiplicativeReconstructor, () -> { - node(exponentialReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> { - node(tetrativeReconstructor, () -> { - - }); - }); - }); - }); - }); - - node(groundZero, () -> { - node(frozenForest, Seq.with( - new SectorComplete(groundZero), - new Research(junction), - new Research(router) - ), () -> { - node(craters, Seq.with( - new SectorComplete(frozenForest), - new Research(mender), - new Research(combustionGenerator) - ), () -> { - node(ruinousShores, Seq.with( - new SectorComplete(craters), - new Research(graphitePress), - new Research(combustionGenerator), - new Research(kiln), - new Research(mechanicalPump) - ), () -> { - node(windsweptIslands, Seq.with( - new SectorComplete(ruinousShores), - new Research(pneumaticDrill), - new Research(hail), - new Research(siliconSmelter), - new Research(steamGenerator) - ), () -> { - node(tarFields, Seq.with( - new SectorComplete(windsweptIslands), - new Research(coalCentrifuge), - new Research(conduit), - new Research(wave) - ), () -> { - node(impact0078, Seq.with( - new SectorComplete(tarFields), - new Research(Items.thorium), - new Research(lancer), - new Research(salvo), - new Research(coreFoundation) - ), () -> { - node(desolateRift, Seq.with( - new SectorComplete(impact0078), - new Research(thermalGenerator), - new Research(thoriumReactor), - new Research(coreNucleus) - ), () -> { - node(planetaryTerminal, Seq.with( - new SectorComplete(desolateRift), - new SectorComplete(nuclearComplex), - new SectorComplete(overgrowth), - new SectorComplete(extractionOutpost), - new SectorComplete(saltFlats), - new Research(risso), - new Research(minke), - new Research(bryde), - new Research(spectre), - new Research(launchPad), - new Research(massDriver), - new Research(impactReactor), - new Research(additiveReconstructor), - new Research(exponentialReconstructor) - ), () -> { - - }); - }); - }); - }); - - node(extractionOutpost, Seq.with( - new SectorComplete(stainedMountains), - new SectorComplete(windsweptIslands), - new Research(groundFactory), - new Research(nova), - new Research(airFactory), - new Research(mono) - ), () -> { - - }); - - node(saltFlats, Seq.with( - new SectorComplete(windsweptIslands), - new Research(commandCenter), - new Research(groundFactory), - new Research(additiveReconstructor), - new Research(airFactory), - new Research(door) - ), () -> { - - }); - }); - }); - - node(overgrowth, Seq.with( - new SectorComplete(craters), - new SectorComplete(fungalPass), - new Research(cultivator), - new Research(sporePress), - new Research(additiveReconstructor), - new Research(UnitTypes.mace), - new Research(UnitTypes.flare) - ), () -> { - - }); - }); - - node(biomassFacility, Seq.with( - new SectorComplete(frozenForest), - new Research(powerNode), - new Research(steamGenerator), - new Research(scatter), - new Research(graphitePress) - ), () -> { - node(stainedMountains, Seq.with( - new SectorComplete(biomassFacility), - new Research(pneumaticDrill), - new Research(siliconSmelter) - ), () -> { - node(fungalPass, Seq.with( - new SectorComplete(stainedMountains), - new Research(groundFactory), - new Research(door), - new Research(siliconSmelter) - ), () -> { - node(nuclearComplex, Seq.with( - new SectorComplete(fungalPass), - new Research(thermalGenerator), - new Research(laserDrill), - new Research(Items.plastanium), - new Research(swarmer) - ), () -> { - - }); - }); - }); - }); - }); - }); - - nodeProduce(Items.copper, () -> { - nodeProduce(Liquids.water, () -> { - - }); - - nodeProduce(Items.lead, () -> { - nodeProduce(Items.titanium, () -> { - nodeProduce(Liquids.cryofluid, () -> { - - }); - - nodeProduce(Items.thorium, () -> { - nodeProduce(Items.surgeAlloy, () -> { - - }); - - nodeProduce(Items.phaseFabric, () -> { - - }); - }); - }); - - nodeProduce(Items.metaglass, () -> { - - }); - }); - - nodeProduce(Items.sand, () -> { - nodeProduce(Items.scrap, () -> { - nodeProduce(Liquids.slag, () -> { - - }); - }); - - nodeProduce(Items.coal, () -> { - nodeProduce(Items.graphite, () -> { - nodeProduce(Items.silicon, () -> { - - }); - }); - - nodeProduce(Items.pyratite, () -> { - nodeProduce(Items.blastCompound, () -> { - - }); - }); - - nodeProduce(Items.sporePod, () -> { - - }); - - nodeProduce(Liquids.oil, () -> { - nodeProduce(Items.plastanium, () -> { - - }); - }); - }); - }); - }); - }); + public static TechNode nodeRoot(String name, UnlockableContent content, Runnable children){ + return nodeRoot(name, content, false, children); } - public static void setup(){ - context = null; - map = new ObjectMap<>(); - all = new Seq<>(); + public static TechNode nodeRoot(String name, UnlockableContent content, boolean requireUnlock, Runnable children){ + var root = node(content, content.researchRequirements(), children); + root.name = name; + root.requiresUnlock = requireUnlock; + roots.add(root); + return root; } - //all the "node" methods are hidden, because they are for internal context-dependent use only - //for custom research, just use the TechNode constructor - - static TechNode node(UnlockableContent content, Runnable children){ + public static TechNode node(UnlockableContent content, Runnable children){ return node(content, content.researchRequirements(), children); } - static TechNode node(UnlockableContent content, ItemStack[] requirements, Runnable children){ + public static TechNode node(UnlockableContent content, ItemStack[] requirements, Runnable children){ return node(content, requirements, null, children); } - static TechNode node(UnlockableContent content, ItemStack[] requirements, Seq objectives, Runnable children){ + public static TechNode node(UnlockableContent content, ItemStack[] requirements, Seq objectives, Runnable children){ TechNode node = new TechNode(context, content, requirements); if(objectives != null){ node.objectives.addAll(objectives); @@ -660,61 +50,74 @@ public class TechTree implements ContentList{ return node; } - static TechNode node(UnlockableContent content, Seq objectives, Runnable children){ + public static TechNode node(UnlockableContent content, Seq objectives, Runnable children){ return node(content, content.researchRequirements(), objectives, children); } - static TechNode node(UnlockableContent block){ + public static TechNode node(UnlockableContent block){ return node(block, () -> {}); } - static TechNode nodeProduce(UnlockableContent content, Seq objectives, Runnable children){ - return node(content, content.researchRequirements(), objectives.and(new Produce(content)), children); + public static TechNode nodeProduce(UnlockableContent content, Seq objectives, Runnable children){ + return node(content, content.researchRequirements(), objectives.add(new Produce(content)), children); } - static TechNode nodeProduce(UnlockableContent content, Runnable children){ + public static TechNode nodeProduce(UnlockableContent content, Runnable children){ return nodeProduce(content, new Seq<>(), children); } - @Nullable - public static TechNode get(UnlockableContent content){ - return map.get(content); - } - - public static TechNode getNotNull(UnlockableContent content){ - return map.getThrow(content, () -> new RuntimeException(content + " does not have a tech node")); + public static @Nullable TechNode context(){ + return context; } public static class TechNode{ /** Depth in tech tree. */ public int depth; + /** Icon displayed in tech tree selector. */ + public @Nullable Drawable icon; + /** Name for root node - used in tech tree selector. */ + public @Nullable String name; + /** For roots only. If true, this needs to be unlocked before it is selectable in the research dialog. Does not apply when you are on the planet itself. */ + public boolean requiresUnlock = false; /** Requirement node. */ public @Nullable TechNode parent; + /** Multipliers for research costs on a per-item basis. Inherits from parent. */ + public @Nullable ObjectFloatMap researchCostMultipliers; /** Content to be researched. */ public UnlockableContent content; /** Item requirements for this content. */ public ItemStack[] requirements; /** Requirements that have been fulfilled. Always the same length as the requirement array. */ - public final ItemStack[] finishedRequirements; + public ItemStack[] finishedRequirements; /** Extra objectives needed to research this. */ public Seq objectives = new Seq<>(); /** Nodes that depend on this node. */ public final Seq children = new Seq<>(); + /** Planet associated with this tech node. Null to auto-detect, or use Serpulo if no associated planet is found. */ + public @Nullable Planet planet; public TechNode(@Nullable TechNode parent, UnlockableContent content, ItemStack[] requirements){ - if(parent != null) parent.children.add(this); + if(parent != null){ + parent.children.add(this); + planet = parent.planet; + researchCostMultipliers = parent.researchCostMultipliers; + }else if(researchCostMultipliers == null){ + researchCostMultipliers = new ObjectFloatMap<>(); + } this.parent = parent; this.content = content; - this.requirements = requirements; this.depth = parent == null ? 0 : parent.depth + 1; - this.finishedRequirements = new ItemStack[requirements.length]; - //load up the requirements that have been finished if settings are available - for(int i = 0; i < requirements.length; i++){ - finishedRequirements[i] = new ItemStack(requirements[i].item, Core.settings == null ? 0 : Core.settings.getInt("req-" + content.name + "-" + requirements[i].item.name)); + if(researchCostMultipliers.size > 0){ + requirements = ItemStack.copy(requirements); + for(ItemStack requirement : requirements){ + requirement.amount = (int)(requirement.amount * researchCostMultipliers.get(requirement.item, 1)); + } } + setupRequirements(requirements); + var used = new ObjectSet(); //add dependencies as objectives. @@ -724,10 +127,47 @@ public class TechTree implements ContentList{ } }); - map.put(content, this); + content.techNode = this; + content.techNodes.add(this); all.add(this); } + /** Recursively iterates through everything that is a child of this node. Includes itself. */ + public void each(Cons consumer){ + consumer.get(this); + for(var child : children){ + child.each(consumer); + } + } + + /** Adds the specified database tab to all the content in this tree. */ + public void addDatabaseTab(UnlockableContent tab){ + each(node -> node.content.databaseTabs.add(tab)); + } + + /** Adds the specified planet to the shownPlanets of all the content in this tree. */ + public void addPlanet(Planet planet){ + each(node -> node.content.shownPlanets.add(planet)); + } + + public Drawable icon(){ + return icon == null ? new TextureRegionDrawable(content.uiIcon) : icon; + } + + public String localizedName(){ + return Core.bundle.get("techtree." + name, name); + } + + public void setupRequirements(ItemStack[] requirements){ + this.requirements = requirements; + this.finishedRequirements = new ItemStack[requirements.length]; + + //load up the requirements that have been finished if settings are available + for(int i = 0; i < requirements.length; i++){ + finishedRequirements[i] = new ItemStack(requirements[i].item, Core.settings == null ? 0 : Core.settings.getInt("req-" + content.name + "-" + requirements[i].item.name)); + } + } + /** Resets finished requirements and saves. */ public void reset(){ for(ItemStack stack : finishedRequirements){ diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index 99895be719..6e3514620c 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -1,91 +1,126 @@ package mindustry.content; import arc.graphics.*; +import arc.graphics.g2d.*; +import arc.math.*; +import arc.math.geom.*; import arc.struct.*; +import arc.util.*; +import mindustry.ai.*; import mindustry.ai.types.*; import mindustry.annotations.Annotations.*; -import mindustry.ctype.*; +import mindustry.entities.*; import mindustry.entities.abilities.*; import mindustry.entities.bullet.*; +import mindustry.entities.effect.*; +import mindustry.entities.part.*; +import mindustry.entities.pattern.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; +import mindustry.type.ammo.*; +import mindustry.type.unit.*; +import mindustry.type.weapons.*; import mindustry.world.meta.*; +import static arc.graphics.g2d.Draw.*; +import static arc.graphics.g2d.Lines.*; +import static arc.math.Angles.*; import static mindustry.Vars.*; -public class UnitTypes implements ContentList{ - //region definitions - - //(the wall of shame - should fix the legacy stuff eventually...) +public class UnitTypes{ + //region standard //mech - public static @EntityDef({Unitc.class, Mechc.class}) UnitType mace, dagger, crawler, fortress, scepter, reign; + public static @EntityDef({Unitc.class, Mechc.class}) UnitType mace, dagger, crawler, fortress, scepter, reign, vela; - //mech + //mech, legacy public static @EntityDef(value = {Unitc.class, Mechc.class}, legacy = true) UnitType nova, pulsar, quasar; - //mech - public static @EntityDef({Unitc.class, Mechc.class}) UnitType vela; - //legs - public static @EntityDef({Unitc.class, Legsc.class}) UnitType corvus, atrax; + public static @EntityDef({Unitc.class, Legsc.class}) UnitType corvus, atrax, + merui, cleroi, anthicus, + tecta, collaris; - //legs + //legs, legacy public static @EntityDef(value = {Unitc.class, Legsc.class}, legacy = true) UnitType spiroct, arkyid, toxopid; - //air - public static @EntityDef({Unitc.class}) UnitType flare, eclipse, horizon, zenith, antumbra; + //hover + public static @EntityDef({Unitc.class, ElevationMovec.class}) UnitType elude; //air + public static @EntityDef({Unitc.class}) UnitType flare, eclipse, horizon, zenith, antumbra, + avert, obviate; + + //air, legacy public static @EntityDef(value = {Unitc.class}, legacy = true) UnitType mono; - //air + //air, legacy public static @EntityDef(value = {Unitc.class}, legacy = true) UnitType poly; //air + payload - public static @EntityDef({Unitc.class, Payloadc.class}) UnitType mega; + public static @EntityDef({Unitc.class, Payloadc.class}) UnitType mega, + evoke, incite, emanate, quell, disrupt; - //air + payload + //air + payload, legacy public static @EntityDef(value = {Unitc.class, Payloadc.class}, legacy = true) UnitType quad; - //air + payload + ammo distribution - public static @EntityDef({Unitc.class, Payloadc.class, AmmoDistributec.class}) UnitType oct; + //air + payload + legacy (different branch) + public static @EntityDef(value = {Unitc.class, Payloadc.class}, legacy = true) UnitType oct; - //air + //air, legacy public static @EntityDef(value = {Unitc.class}, legacy = true) UnitType alpha, beta, gamma; - //water - public static @EntityDef({Unitc.class, WaterMovec.class}) UnitType risso, minke, bryde, sei, omura; + //naval + public static @EntityDef({Unitc.class, WaterMovec.class}) UnitType risso, minke, bryde, sei, omura, retusa, oxynoe, cyerce, aegires, navanax; //special block unit type public static @EntityDef({Unitc.class, BlockUnitc.class}) UnitType block; + //special building tethered (has payload capability, because it's necessary sometimes) + public static @EntityDef({Unitc.class, BuildingTetherc.class, Payloadc.class}) UnitType manifold, assemblyDrone; + + //tank + public static @EntityDef({Unitc.class, Tankc.class}) UnitType stell, locus, precept, vanquish, conquer; + //endregion - @Override - public void load(){ + //missile definition, unused here but needed for codegen + public static @EntityDef({Unitc.class, TimedKillc.class}) UnitType missile; + + //region neoplasm + + public static @EntityDef({Unitc.class, Crawlc.class}) UnitType latum, renale; + + //endregion + + public static void load(){ //region ground attack dagger = new UnitType("dagger"){{ speed = 0.5f; hitSize = 8f; - health = 140; + health = 150; weapons.add(new Weapon("large-weapon"){{ - reload = 14f; + reload = 13f; x = 4f; y = 2f; top = false; ejectEffect = Fx.casing1; - bullet = Bullets.standardCopper; + bullet = new BasicBulletType(2.5f, 9){{ + width = 7f; + height = 9f; + lifetime = 60f; + }}; }}); }}; mace = new UnitType("mace"){{ - speed = 0.4f; - hitSize = 9f; - health = 500; + speed = 0.5f; + hitSize = 10f; + health = 550; armor = 4f; + ammoType = new ItemAmmoType(Items.coal); immunities.add(StatusEffects.burning); @@ -93,14 +128,16 @@ public class UnitTypes implements ContentList{ top = false; shootSound = Sounds.flame; shootY = 2f; - reload = 14f; + reload = 11f; recoil = 1f; ejectEffect = Fx.none; - bullet = new BulletType(3.9f, 30f){{ + bullet = new BulletType(4.2f, 37f){{ ammoMultiplier = 3f; hitSize = 7f; - lifetime = 12f; + lifetime = 13f; pierce = true; + pierceBuilding = true; + pierceCap = 2; statusDuration = 60f * 4; shootEffect = Fx.shootSmallFlame; hitEffect = Fx.hitFlameSmall; @@ -113,13 +150,14 @@ public class UnitTypes implements ContentList{ }}; fortress = new UnitType("fortress"){{ - speed = 0.39f; + speed = 0.43f; hitSize = 13f; rotateSpeed = 3f; targetAir = false; - health = 790; + health = 900; armor = 9f; mechFrontSway = 0.55f; + ammoType = new ItemAmmoType(Items.graphite); weapons.add(new Weapon("artillery"){{ top = false; @@ -130,15 +168,15 @@ public class UnitTypes implements ContentList{ shake = 2f; ejectEffect = Fx.casing2; shootSound = Sounds.artillery; - bullet = new ArtilleryBulletType(2f, 8, "shell"){{ + bullet = new ArtilleryBulletType(2f, 20, "shell"){{ hitEffect = Fx.blastExplosion; knockback = 0.8f; - lifetime = 110f; + lifetime = 120f; width = height = 14f; collides = true; collidesTiles = true; - splashDamageRadius = 24f; - splashDamage = 45f; + splashDamageRadius = 35f; + splashDamage = 80f; backColor = Pal.bulletYellowBack; frontColor = Pal.bulletYellow; }}; @@ -146,17 +184,26 @@ public class UnitTypes implements ContentList{ }}; scepter = new UnitType("scepter"){{ - speed = 0.35f; - hitSize = 20f; + speed = 0.36f; + hitSize = 22f; rotateSpeed = 2.1f; health = 9000; - armor = 11f; - canDrown = false; + armor = 10f; mechFrontSway = 1f; + ammoType = new ItemAmmoType(Items.thorium); mechStepParticles = true; - mechStepShake = 0.15f; + stepShake = 0.15f; singleTarget = true; + drownTimeMultiplier = 4f; + + abilities.add(new ShieldRegenFieldAbility(25f, 250f, 60f * 1, 60f)); + + BulletType smallBullet = new BasicBulletType(3f, 10){{ + width = 7f; + height = 9f; + lifetime = 50f; + }}; weapons.add( new Weapon("scepter-weapon"){{ @@ -169,14 +216,15 @@ public class UnitTypes implements ContentList{ shake = 2f; ejectEffect = Fx.casing3; shootSound = Sounds.bang; - shots = 3; inaccuracy = 3f; - shotDelay = 4f; - bullet = new BasicBulletType(7f, 50){{ + shoot.shots = 3; + shoot.shotDelay = 4f; + + bullet = new BasicBulletType(8f, 80){{ width = 11f; height = 20f; - lifetime = 25f; + lifetime = 27f; shootEffect = Fx.shootBig; lightning = 2; lightningLength = 6; @@ -192,7 +240,7 @@ public class UnitTypes implements ContentList{ y = 6f; rotate = true; ejectEffect = Fx.casing1; - bullet = Bullets.standardCopper; + bullet = smallBullet; }}, new Weapon("mount-weapon"){{ reload = 16f; @@ -200,23 +248,23 @@ public class UnitTypes implements ContentList{ y = -7f; rotate = true; ejectEffect = Fx.casing1; - bullet = Bullets.standardCopper; + bullet = smallBullet; }} - ); }}; reign = new UnitType("reign"){{ - speed = 0.35f; - hitSize = 26f; + speed = 0.4f; + hitSize = 30f; rotateSpeed = 1.65f; health = 24000; - armor = 14f; + armor = 18f; mechStepParticles = true; - mechStepShake = 0.75f; - canDrown = false; + stepShake = 0.75f; + drownTimeMultiplier = 6f; mechFrontSway = 1.9f; mechSideSway = 0.6f; + ammoType = new ItemAmmoType(Items.thorium); weapons.add( new Weapon("reign-weapon"){{ @@ -230,7 +278,7 @@ public class UnitTypes implements ContentList{ ejectEffect = Fx.casing4; shootSound = Sounds.bang; - bullet = new BasicBulletType(13f, 60){{ + bullet = new BasicBulletType(13f, 80){{ pierce = true; pierceCap = 10; width = 14f; @@ -241,13 +289,13 @@ public class UnitTypes implements ContentList{ hitEffect = Fx.blastExplosion; splashDamage = 18f; - splashDamageRadius = 30f; + splashDamageRadius = 13f; - fragBullets = 2; + fragBullets = 3; fragLifeMin = 0f; - fragCone = 30f; + fragRandomSpread = 30f; - fragBullet = new BasicBulletType(9f, 15){{ + fragBullet = new BasicBulletType(9f, 20){{ width = 10f; height = 10f; pierce = true; @@ -257,7 +305,7 @@ public class UnitTypes implements ContentList{ lifetime = 20f; hitEffect = Fx.flakExplosion; splashDamage = 15f; - splashDamageRadius = 15f; + splashDamageRadius = 10f; }}; }}; }} @@ -274,12 +322,11 @@ public class UnitTypes implements ContentList{ speed = 0.55f; hitSize = 8f; health = 120f; - buildSpeed = 0.8f; + buildSpeed = 0.3f; armor = 1f; - commandLimit = 8; abilities.add(new RepairFieldAbility(10f, 60f * 4, 60f)); - ammoType = AmmoTypes.power; + ammoType = new PowerAmmoType(1000); weapons.add(new Weapon("heal-weapon"){{ top = false; @@ -291,8 +338,8 @@ public class UnitTypes implements ContentList{ recoil = 2f; shootSound = Sounds.lasershoot; - bullet = new LaserBoltBulletType(5.2f, 14){{ - lifetime = 37f; + bullet = new LaserBoltBulletType(5.2f, 13){{ + lifetime = 30f; healPercent = 5f; collidesTeam = true; backColor = Pal.heal; @@ -305,38 +352,38 @@ public class UnitTypes implements ContentList{ canBoost = true; boostMultiplier = 1.6f; speed = 0.7f; - hitSize = 10f; + hitSize = 11f; health = 320f; - buildSpeed = 0.9f; + buildSpeed = 0.5f; armor = 4f; + riseSpeed = 0.07f; mineTier = 2; mineSpeed = 5f; - commandLimit = 9; abilities.add(new ShieldRegenFieldAbility(20f, 40f, 60f * 5, 60f)); - ammoType = AmmoTypes.power; + ammoType = new PowerAmmoType(1300); weapons.add(new Weapon("heal-shotgun-weapon"){{ top = false; x = 5f; shake = 2.2f; y = 0.5f; - shootY = 5f; - shootY = 2.5f; - reload = 38f; - shots = 3; + + reload = 36f; inaccuracy = 35; - shotDelay = 0.5f; - spacing = 0f; + + shoot.shots = 3; + shoot.shotDelay = 0.5f; + ejectEffect = Fx.none; recoil = 2.5f; shootSound = Sounds.spark; bullet = new LightningBulletType(){{ lightningColor = hitColor = Pal.heal; - damage = 12f; + damage = 14f; lightningLength = 7; lightningLengthRand = 7; shootEffect = Fx.shootHeal; @@ -350,7 +397,7 @@ public class UnitTypes implements ContentList{ status = StatusEffects.shocked; statusDuration = 10f; hittable = false; - healPercent = 2f; + healPercent = 1.6f; collidesTeam = true; }}; }}; @@ -359,20 +406,19 @@ public class UnitTypes implements ContentList{ quasar = new UnitType("quasar"){{ mineTier = 3; - hitSize = 12f; boostMultiplier = 2f; - health = 650f; - buildSpeed = 1.7f; + health = 640f; + buildSpeed = 1.1f; canBoost = true; armor = 9f; - landShake = 2f; + mechLandShake = 2f; + riseSpeed = 0.05f; - commandLimit = 10; mechFrontSway = 0.55f; - ammoType = AmmoTypes.power; + ammoType = new PowerAmmoType(1500); speed = 0.4f; - hitSize = 10f; + hitSize = 13f; mineSpeed = 6f; drawShields = false; @@ -384,7 +430,7 @@ public class UnitTypes implements ContentList{ shake = 2f; shootY = 4f; x = 6.5f; - reload = 50f; + reload = 55f; recoil = 4f; shootSound = Sounds.laser; @@ -396,46 +442,50 @@ public class UnitTypes implements ContentList{ sideLength = 70f; healPercent = 10f; collidesTeam = true; + length = 135f; colors = new Color[]{Pal.heal.cpy().a(0.4f), Pal.heal, Color.white}; }}; }}); }}; vela = new UnitType("vela"){{ - hitSize = 23f; + hitSize = 24f; - rotateSpeed = 1.6f; - canDrown = false; + rotateSpeed = 1.8f; mechFrontSway = 1f; + buildSpeed = 3f; mechStepParticles = true; - mechStepShake = 0.15f; - ammoType = AmmoTypes.powerHigh; + stepShake = 0.15f; + ammoType = new PowerAmmoType(2500); + drownTimeMultiplier = 4f; - speed = 0.35f; - boostMultiplier = 2.1f; + speed = 0.44f; + boostMultiplier = 2.4f; engineOffset = 12f; engineSize = 6f; lowAltitude = true; + riseSpeed = 0.02f; - health = 7000f; - armor = 7f; + health = 8200f; + armor = 9f; canBoost = true; - landShake = 4f; + mechLandShake = 4f; immunities = ObjectSet.with(StatusEffects.burning); - commandLimit = 8; + singleTarget = true; weapons.add(new Weapon("vela-weapon"){{ mirror = false; top = false; shake = 4f; - shootY = 13f; + shootY = 14f; x = y = 0f; - firstShotDelay = Fx.greenLaserChargeSmall.lifetime - 1f; + shoot.firstShotDelay = Fx.greenLaserChargeSmall.lifetime - 1f; + parentizeEffects = true; - reload = 160f; + reload = 155f; recoil = 0f; chargeSound = Sounds.lasercharge2; shootSound = Sounds.beam; @@ -443,8 +493,8 @@ public class UnitTypes implements ContentList{ cooldownTime = 200f; bullet = new ContinuousLaserBulletType(){{ - damage = 23f; - length = 160f; + damage = 35f; + length = 180f; hitEffect = Fx.hitMeltHeal; drawSize = 420f; lifetime = 160f; @@ -452,9 +502,9 @@ public class UnitTypes implements ContentList{ despawnEffect = Fx.smokeCloud; smokeEffect = Fx.none; - shootEffect = Fx.greenLaserChargeSmall; + chargeEffect = Fx.greenLaserChargeSmall; - incendChance = 0.075f; + incendChance = 0.1f; incendSpread = 5f; incendAmount = 1; @@ -466,35 +516,42 @@ public class UnitTypes implements ContentList{ }}; shootStatus = StatusEffects.slow; - shootStatusDuration = bullet.lifetime + firstShotDelay; + shootStatusDuration = bullet.lifetime + shoot.firstShotDelay; + }}); + + weapons.add(new RepairBeamWeapon("repair-beam-weapon-center-large"){{ + x = 44 / 4f; + y = -30f / 4f; + shootY = 6f; + beamWidth = 0.8f; + repairSpeed = 1.4f; + + bullet = new BulletType(){{ + maxRange = 120f; + }}; }}); }}; corvus = new UnitType("corvus"){{ - mineTier = 1; hitSize = 29f; health = 18000f; armor = 9f; - landShake = 1.5f; + stepShake = 1.5f; rotateSpeed = 1.5f; - - commandLimit = 8; + drownTimeMultiplier = 6f; legCount = 4; legLength = 14f; legBaseOffset = 11f; legMoveSpace = 1.5f; - legTrns = 0.58f; + legForwardScl = 0.58f; hovering = true; - visualElevation = 0.2f; - allowLegStep = true; - ammoType = AmmoTypes.powerHigh; + shadowElevation = 0.2f; + ammoType = new PowerAmmoType(4000); groundLayer = Layer.legUnit; speed = 0.3f; - mineTier = 2; - mineSpeed = 7f; drawShields = false; weapons.add(new Weapon("corvus-weapon"){{ @@ -513,7 +570,8 @@ public class UnitTypes implements ContentList{ shootStatusDuration = 60f * 2f; shootStatus = StatusEffects.unmoving; - firstShotDelay = Fx.greenLaserCharge.lifetime; + shoot.firstShotDelay = Fx.greenLaserCharge.lifetime; + parentizeEffects = true; bullet = new LaserBulletType(){{ length = 460f; @@ -531,7 +589,7 @@ public class UnitTypes implements ContentList{ largeHit = true; lightColor = lightningColor = Pal.heal; - shootEffect = Fx.greenLaserCharge; + chargeEffect = Fx.greenLaserCharge; healPercent = 25f; collidesTeam = true; @@ -548,24 +606,33 @@ public class UnitTypes implements ContentList{ //region ground legs crawler = new UnitType("crawler"){{ - defaultController = SuicideAI::new; + aiController = SuicideAI::new; speed = 1f; hitSize = 8f; - health = 180; + health = 150; mechSideSway = 0.25f; range = 40f; + ammoType = new ItemAmmoType(Items.coal); weapons.add(new Weapon(){{ + shootOnDeath = true; + targetUnderBlocks = false; reload = 24f; shootCone = 180f; ejectEffect = Fx.none; shootSound = Sounds.explosion; - bullet = new BombBulletType(0f, 0f, "clear"){{ + x = shootY = 0f; + mirror = false; + bullet = new BulletType(){{ + collidesTiles = false; + collides = false; + hitSound = Sounds.explosion; + + rangeOverride = 25f; hitEffect = Fx.pulverize; - lifetime = 10f; - speed = 1f; - splashDamageRadius = 70f; + speed = 0f; + splashDamageRadius = 44f; instantDisappear = true; splashDamage = 80f; killShooter = true; @@ -576,9 +643,9 @@ public class UnitTypes implements ContentList{ }}; atrax = new UnitType("atrax"){{ - speed = 0.5f; + speed = 0.6f; drag = 0.4f; - hitSize = 10f; + hitSize = 13f; rotateSpeed = 3f; targetAir = false; health = 600; @@ -586,60 +653,56 @@ public class UnitTypes implements ContentList{ legCount = 4; legLength = 9f; - legTrns = 0.6f; + legForwardScl = 0.6f; legMoveSpace = 1.4f; hovering = true; armor = 3f; + ammoType = new ItemAmmoType(Items.coal); - allowLegStep = true; - visualElevation = 0.2f; + shadowElevation = 0.2f; groundLayer = Layer.legUnit - 1f; - weapons.add(new Weapon("eruption"){{ + weapons.add(new Weapon("atrax-weapon"){{ top = false; shootY = 3f; - reload = 10f; + reload = 9f; ejectEffect = Fx.none; recoil = 1f; x = 7f; shootSound = Sounds.flame; bullet = new LiquidBulletType(Liquids.slag){{ - damage = 11; - speed = 2.3f; - drag = 0.01f; + damage = 13; + speed = 2.5f; + drag = 0.009f; shootEffect = Fx.shootSmall; - lifetime = 56f; + lifetime = 57f; collidesAir = false; }}; }}); }}; spiroct = new UnitType("spiroct"){{ - speed = 0.4f; + speed = 0.54f; drag = 0.4f; - hitSize = 12f; + hitSize = 15f; rotateSpeed = 3f; - health = 900; - immunities = ObjectSet.with(StatusEffects.burning, StatusEffects.melting); + health = 1000; legCount = 6; legLength = 13f; - legTrns = 0.8f; + legForwardScl = 0.8f; legMoveSpace = 1.4f; legBaseOffset = 2f; hovering = true; armor = 5f; - ammoType = AmmoTypes.power; + ammoType = new PowerAmmoType(1000); - buildSpeed = 0.75f; - - allowLegStep = true; - visualElevation = 0.3f; + shadowElevation = 0.3f; groundLayer = Layer.legUnit; weapons.add(new Weapon("spiroct-weapon"){{ shootY = 4f; - reload = 15f; + reload = 14f; ejectEffect = Fx.none; recoil = 2f; rotate = true; @@ -649,9 +712,9 @@ public class UnitTypes implements ContentList{ y = -1.5f; bullet = new SapBulletType(){{ - sapStrength = 0.4f; + sapStrength = 0.5f; length = 75f; - damage = 20; + damage = 23; shootEffect = Fx.shootSmall; hitColor = color = Color.valueOf("bf92f9"); despawnEffect = Fx.none; @@ -662,7 +725,7 @@ public class UnitTypes implements ContentList{ }}); weapons.add(new Weapon("mount-purple-weapon"){{ - reload = 20f; + reload = 18f; rotate = true; x = 4f; y = 3f; @@ -671,7 +734,7 @@ public class UnitTypes implements ContentList{ bullet = new SapBulletType(){{ sapStrength = 0.8f; length = 40f; - damage = 16; + damage = 18; shootEffect = Fx.shootSmall; hitColor = color = Color.valueOf("bf92f9"); despawnEffect = Fx.none; @@ -684,8 +747,8 @@ public class UnitTypes implements ContentList{ arkyid = new UnitType("arkyid"){{ drag = 0.1f; - speed = 0.5f; - hitSize = 21f; + speed = 0.62f; + hitSize = 23f; health = 8000; armor = 6f; @@ -697,25 +760,24 @@ public class UnitTypes implements ContentList{ legLength = 30f; legExtension = -15; legBaseOffset = 10f; - landShake = 1f; + stepShake = 1f; legLengthScl = 0.96f; rippleScale = 2f; legSpeed = 0.2f; - ammoType = AmmoTypes.power; - buildSpeed = 1f; + ammoType = new PowerAmmoType(2000); legSplashDamage = 32; legSplashRange = 30; + drownTimeMultiplier = 2f; hovering = true; - allowLegStep = true; - visualElevation = 0.65f; + shadowElevation = 0.65f; groundLayer = Layer.legUnit; BulletType sapper = new SapBulletType(){{ sapStrength = 0.85f; length = 55f; - damage = 37; + damage = 40; shootEffect = Fx.shootSmall; hitColor = color = Color.valueOf("bf92f9"); despawnEffect = Fx.none; @@ -734,7 +796,7 @@ public class UnitTypes implements ContentList{ shootSound = Sounds.sap; }}, new Weapon("spiroct-weapon"){{ - reload = 15f; + reload = 14f; x = 9f; y = 6f; rotate = true; @@ -742,7 +804,7 @@ public class UnitTypes implements ContentList{ shootSound = Sounds.sap; }}, new Weapon("spiroct-weapon"){{ - reload = 23f; + reload = 22f; x = 14f; y = 0f; rotate = true; @@ -769,7 +831,7 @@ public class UnitTypes implements ContentList{ width = height = 19f; collidesTiles = true; ammoMultiplier = 4f; - splashDamageRadius = 95f; + splashDamageRadius = 70f; splashDamage = 65f; backColor = Pal.sapBulletBack; frontColor = lightningColor = Pal.sapBullet; @@ -787,11 +849,13 @@ public class UnitTypes implements ContentList{ toxopid = new UnitType("toxopid"){{ drag = 0.1f; speed = 0.5f; - hitSize = 21f; + hitSize = 26f; health = 22000; armor = 13f; + lightRadius = 140f; rotateSpeed = 1.9f; + drownTimeMultiplier = 3f; legCount = 8; legMoveSpace = 0.8f; @@ -799,20 +863,17 @@ public class UnitTypes implements ContentList{ legLength = 75f; legExtension = -20; legBaseOffset = 8f; - landShake = 1f; - legSpeed = 0.1f; + stepShake = 1f; legLengthScl = 0.93f; rippleScale = 3f; legSpeed = 0.19f; - ammoType = AmmoTypes.powerHigh; - buildSpeed = 1f; + ammoType = new ItemAmmoType(Items.graphite, 8); legSplashDamage = 80; legSplashRange = 60; hovering = true; - allowLegStep = true; - visualElevation = 0.95f; + shadowElevation = 0.95f; groundLayer = Layer.legUnit; weapons.add( @@ -828,8 +889,8 @@ public class UnitTypes implements ContentList{ rotate = true; shadow = 12f; recoil = 3f; - shots = 2; - spacing = 17f; + + shoot = new ShootSpread(2, 17f); bullet = new ShrapnelBulletType(){{ length = 90f; @@ -860,6 +921,8 @@ public class UnitTypes implements ContentList{ rotate = true; shadow = 30f; + rotationLimit = 80f; + bullet = new ArtilleryBulletType(3f, 50){{ hitEffect = Fx.sapExplosion; knockback = 0.8f; @@ -867,7 +930,7 @@ public class UnitTypes implements ContentList{ width = height = 25f; collidesTiles = collides = true; ammoMultiplier = 4f; - splashDamageRadius = 90f; + splashDamageRadius = 80f; splashDamage = 75f; backColor = Pal.sapBulletBack; frontColor = lightningColor = Pal.sapBullet; @@ -875,6 +938,9 @@ public class UnitTypes implements ContentList{ lightningLength = 20; smokeEffect = Fx.shootBigSmoke2; hitShake = 10f; + lightRadius = 40f; + lightColor = Pal.sap; + lightOpacity = 0.6f; status = StatusEffects.sapped; statusDuration = 60f * 10; @@ -888,7 +954,7 @@ public class UnitTypes implements ContentList{ lifetime = 90f; width = height = 20f; collidesTiles = false; - splashDamageRadius = 80f; + splashDamageRadius = 70f; splashDamage = 40f; backColor = Pal.sapBulletBack; frontColor = lightningColor = Pal.sapBullet; @@ -896,6 +962,9 @@ public class UnitTypes implements ContentList{ lightningLength = 5; smokeEffect = Fx.shootBigSmoke2; hitShake = 5f; + lightRadius = 30f; + lightColor = Pal.sap; + lightOpacity = 0.5f; status = StatusEffects.sapped; statusDuration = 60f * 10; @@ -908,21 +977,22 @@ public class UnitTypes implements ContentList{ //region air attack flare = new UnitType("flare"){{ - speed = 3f; + speed = 2.7f; accel = 0.08f; - drag = 0.01f; + drag = 0.04f; flying = true; - health = 75; - engineOffset = 5.5f; - range = 140f; - targetAir = false; - commandLimit = 4; - circleTarget = true; + health = 70; + engineOffset = 5.75f; + //TODO balance + //targetAir = false; + targetFlags = new BlockFlag[]{BlockFlag.generator, null}; + hitSize = 9; + itemCapacity = 10; weapons.add(new Weapon(){{ y = 0f; x = 2f; - reload = 13f; + reload = 20f; ejectEffect = Fx.casing1; bullet = new BasicBulletType(2.5f, 9){{ width = 7f; @@ -938,19 +1008,20 @@ public class UnitTypes implements ContentList{ horizon = new UnitType("horizon"){{ health = 340; - speed = 1.7f; + speed = 1.65f; accel = 0.08f; drag = 0.016f; flying = true; - hitSize = 9f; + hitSize = 11f; targetAir = false; engineOffset = 7.8f; range = 140f; faceTarget = false; armor = 3f; - targetFlag = BlockFlag.factory; - commandLimit = 5; + itemCapacity = 0; + targetFlags = new BlockFlag[]{BlockFlag.factory, null}; circleTarget = true; + ammoType = new ItemAmmoType(Items.graphite); weapons.add(new Weapon(){{ minShootVelocity = 0.75f; @@ -971,30 +1042,34 @@ public class UnitTypes implements ContentList{ status = StatusEffects.blasted; statusDuration = 60f; + damage = splashDamage * 0.5f; }}; }}); }}; zenith = new UnitType("zenith"){{ health = 700; - speed = 1.8f; + speed = 1.7f; accel = 0.04f; drag = 0.016f; flying = true; range = 140f; hitSize = 20f; lowAltitude = true; + forceMultiTarget = true; armor = 5f; + targetFlags = new BlockFlag[]{BlockFlag.launchPad, BlockFlag.storage, BlockFlag.battery, null}; engineOffset = 12f; engineSize = 3f; + ammoType = new ItemAmmoType(Items.graphite); weapons.add(new Weapon("zenith-missiles"){{ reload = 40f; x = 7f; rotate = true; shake = 1f; - shots = 2; + shoot.shots = 2; inaccuracy = 5f; velocityRnd = 0.2f; shootSound = Sounds.missile; @@ -1007,8 +1082,8 @@ public class UnitTypes implements ContentList{ homingRange = 60f; keepVelocity = false; splashDamageRadius = 25f; - splashDamage = 16f; - lifetime = 60f; + splashDamage = 15f; + lifetime = 50f; trailColor = Pal.unitBack; backColor = Pal.unitBack; frontColor = Pal.unitFront; @@ -1027,20 +1102,21 @@ public class UnitTypes implements ContentList{ rotateSpeed = 1.9f; flying = true; lowAltitude = true; - health = 7000; + health = 7200; armor = 9f; engineOffset = 21; engineSize = 5.3f; - hitSize = 56f; - targetFlag = BlockFlag.battery; + hitSize = 46f; + targetFlags = new BlockFlag[]{BlockFlag.generator, BlockFlag.core, null}; + ammoType = new ItemAmmoType(Items.thorium); - BulletType missiles = new MissileBulletType(2.7f, 10){{ + BulletType missiles = new MissileBulletType(2.7f, 18){{ width = 8f; height = 8f; shrinkY = 0f; drag = -0.01f; splashDamageRadius = 20f; - splashDamage = 30f; + splashDamage = 37f; ammoMultiplier = 4f; lifetime = 50f; hitEffect = Fx.blastExplosion; @@ -1084,7 +1160,7 @@ public class UnitTypes implements ContentList{ shootSound = Sounds.shootBig; rotate = true; shadow = 8f; - bullet = new BasicBulletType(7f, 50){{ + bullet = new BasicBulletType(7f, 55){{ width = 12f; height = 18f; lifetime = 25f; @@ -1095,27 +1171,27 @@ public class UnitTypes implements ContentList{ }}; eclipse = new UnitType("eclipse"){{ - speed = 0.52f; + speed = 0.54f; accel = 0.04f; drag = 0.04f; rotateSpeed = 1f; flying = true; lowAltitude = true; - health = 20000; + health = 22000; engineOffset = 38; engineSize = 7.3f; hitSize = 58f; - destructibleWreck = false; armor = 13f; - targetFlag = BlockFlag.reactor; + targetFlags = new BlockFlag[]{BlockFlag.reactor, BlockFlag.battery, BlockFlag.core, null}; + ammoType = new ItemAmmoType(Items.thorium); - BulletType fragBullet = new FlakBulletType(4f, 5){{ + BulletType fragBullet = new FlakBulletType(4f, 15){{ shootEffect = Fx.shootBig; ammoMultiplier = 4f; - splashDamage = 42f; + splashDamage = 65f; splashDamageRadius = 25f; collidesGround = true; - lifetime = 38f; + lifetime = 47f; status = StatusEffects.blasted; statusDuration = 60f; @@ -1135,12 +1211,12 @@ public class UnitTypes implements ContentList{ rotate = true; bullet = new LaserBulletType(){{ - damage = 90f; + damage = 115f; sideAngle = 20f; sideWidth = 1.5f; sideLength = 80f; width = 25f; - length = 200f; + length = 230f; shootEffect = Fx.shockwave; colors = new Color[]{Color.valueOf("ec7458aa"), Color.valueOf("ff9c5a"), Color.white}; }}; @@ -1154,7 +1230,7 @@ public class UnitTypes implements ContentList{ shadow = 7f; rotate = true; recoil = 0.5f; - + shootY = 7.25f; bullet = fragBullet; }}, new Weapon("large-artillery"){{ @@ -1167,6 +1243,7 @@ public class UnitTypes implements ContentList{ shootSound = Sounds.shoot; rotate = true; shadow = 12f; + shootY = 7.25f; bullet = fragBullet; }}); }}; @@ -1175,7 +1252,11 @@ public class UnitTypes implements ContentList{ //region air support mono = new UnitType("mono"){{ - defaultController = MinerAI::new; + //there's no reason to command monos anywhere. it's just annoying. + controller = u -> new MinerAI(); + + defaultCommand = UnitCommand.mineCommand; + allowChangeCommands = false; flying = true; drag = 0.06f; @@ -1185,16 +1266,16 @@ public class UnitTypes implements ContentList{ engineSize = 1.8f; engineOffset = 5.7f; range = 50f; - isCounted = false; + isEnemy = false; - ammoType = AmmoTypes.powerLow; + ammoType = new PowerAmmoType(500); mineTier = 1; mineSpeed = 2.5f; }}; poly = new UnitType("poly"){{ - defaultController = BuilderAI::new; + defaultCommand = UnitCommand.rebuildCommand; flying = true; drag = 0.05f; @@ -1205,25 +1286,23 @@ public class UnitTypes implements ContentList{ health = 400; buildSpeed = 0.5f; engineOffset = 6.5f; - hitSize = 8f; + hitSize = 9f; lowAltitude = true; - ammoType = AmmoTypes.power; - + ammoType = new PowerAmmoType(900); mineTier = 2; mineSpeed = 3.5f; - abilities.add(new RepairFieldAbility(5f, 60f * 5, 50f)); + abilities.add(new RepairFieldAbility(5f, 60f * 8, 50f)); - weapons.add(new Weapon("heal-weapon-mount"){{ + weapons.add(new Weapon("poly-weapon"){{ top = false; y = -2.5f; - x = 3.5f; + x = 3.75f; reload = 30f; ejectEffect = Fx.none; recoil = 2f; shootSound = Sounds.missile; - shots = 1; velocityRnd = 0.5f; inaccuracy = 15f; alternate = true; @@ -1232,7 +1311,7 @@ public class UnitTypes implements ContentList{ homingPower = 0.08f; weaveMag = 4; weaveScale = 4; - lifetime = 56f; + lifetime = 50f; keepVelocity = false; shootEffect = Fx.shootHeal; smokeEffect = Fx.hitLaser; @@ -1242,6 +1321,7 @@ public class UnitTypes implements ContentList{ healPercent = 5.5f; collidesTeam = true; + reflectable = false; backColor = Pal.heal; trailColor = Pal.heal; }}; @@ -1249,7 +1329,7 @@ public class UnitTypes implements ContentList{ }}; mega = new UnitType("mega"){{ - defaultController = RepairAI::new; + defaultCommand = UnitCommand.repairCommand; mineTier = 3; mineSpeed = 4f; @@ -1261,19 +1341,19 @@ public class UnitTypes implements ContentList{ lowAltitude = true; flying = true; engineOffset = 10.5f; - rotateShooting = false; - hitSize = 15f; + faceTarget = false; + hitSize = 16.05f; engineSize = 3f; payloadCapacity = (2 * 2) * tilePayload; buildSpeed = 2.6f; - isCounted = false; + isEnemy = false; - ammoType = AmmoTypes.power; + ammoType = new PowerAmmoType(1100); weapons.add( new Weapon("heal-weapon-mount"){{ shootSound = Sounds.lasershoot; - reload = 25f; + reload = 24f; x = 8f; y = -6f; rotate = true; @@ -1304,25 +1384,25 @@ public class UnitTypes implements ContentList{ quad = new UnitType("quad"){{ armor = 8f; health = 6000; - speed = 1.4f; + speed = 1.2f; rotateSpeed = 2f; accel = 0.05f; drag = 0.017f; lowAltitude = false; flying = true; circleTarget = true; - engineOffset = 12f; - engineSize = 6f; - rotateShooting = false; - hitSize = 32f; + engineOffset = 13f; + engineSize = 7f; + faceTarget = false; + hitSize = 36f; payloadCapacity = (3 * 3) * tilePayload; buildSpeed = 2.5f; buildBeamOffset = 23; range = 140f; targetAir = false; - targetFlag = BlockFlag.battery; + targetFlags = new BlockFlag[]{BlockFlag.battery, BlockFlag.factory, null}; - ammoType = AmmoTypes.powerHigh; + ammoType = new PowerAmmoType(3000); weapons.add( new Weapon(){{ @@ -1349,7 +1429,7 @@ public class UnitTypes implements ContentList{ shootCone = 180f; ejectEffect = Fx.none; - despawnShake = 4f; + hitShake = 4f; collidesAir = false; @@ -1362,17 +1442,20 @@ public class UnitTypes implements ContentList{ shrinkX = shrinkY = 0.7f; - speed = 0.001f; + speed = 0f; collides = false; healPercent = 15f; - splashDamage = 230f; - splashDamageRadius = 120f; + splashDamage = 220f; + splashDamageRadius = 80f; + damage = splashDamage * 0.7f; }}; }}); }}; oct = new UnitType("oct"){{ + aiController = DefenderAI::new; + armor = 16f; health = 24000; speed = 0.8f; @@ -1382,19 +1465,16 @@ public class UnitTypes implements ContentList{ flying = true; engineOffset = 46f; engineSize = 7.8f; - rotateShooting = false; - hitSize = 60f; - payloadCapacity = (5.3f * 5.3f) * tilePayload; + faceTarget = false; + hitSize = 66f; + payloadCapacity = (5.5f * 5.5f) * tilePayload; buildSpeed = 4f; drawShields = false; - commandLimit = 6; lowAltitude = true; buildBeamOffset = 43; + ammoCapacity = 1; - ammoCapacity = 1300; - ammoResupplyAmount = 20; - - abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8), new RepairFieldAbility(130f, 60f * 2, 140f)); + abilities.add(new ForceFieldAbility(140f, 4f, 7000f, 60f * 8, 8, 0f), new RepairFieldAbility(130f, 60f * 2, 140f)); }}; //endregion @@ -1403,28 +1483,32 @@ public class UnitTypes implements ContentList{ risso = new UnitType("risso"){{ speed = 1.1f; drag = 0.13f; - hitSize = 9f; + hitSize = 10f; health = 280; accel = 0.4f; rotateSpeed = 3.3f; - trailLength = 20; - rotateShooting = false; + faceTarget = false; armor = 2f; weapons.add(new Weapon("mount-weapon"){{ - reload = 12f; + reload = 13f; x = 4f; shootY = 4f; y = 1.5f; rotate = true; ejectEffect = Fx.casing1; - bullet = Bullets.standardCopper; + bullet = new BasicBulletType(2.5f, 9){{ + width = 7f; + height = 9f; + lifetime = 60f; + ammoMultiplier = 2; + }}; }}); weapons.add(new Weapon("missiles-mount"){{ mirror = false; - reload = 20f; + reload = 25f; x = 0f; y = -5f; rotate = true; @@ -1439,7 +1523,7 @@ public class UnitTypes implements ContentList{ homingRange = 60f; splashDamageRadius = 25f; splashDamage = 10f; - lifetime = 80f; + lifetime = 65f; trailColor = Color.gray; backColor = Pal.bulletYellowBack; frontColor = Pal.bulletYellow; @@ -1455,29 +1539,37 @@ public class UnitTypes implements ContentList{ health = 600; speed = 0.9f; drag = 0.15f; - hitSize = 11f; + hitSize = 13f; armor = 4f; accel = 0.3f; rotateSpeed = 2.6f; - rotateShooting = false; + faceTarget = false; + ammoType = new ItemAmmoType(Items.graphite); trailLength = 20; - trailX = 5.5f; - trailY = -4f; + waveTrailX = 5.5f; + waveTrailY = -4f; trailScl = 1.9f; - abilities.add(new StatusFieldAbility(StatusEffects.overclock, 60f * 6, 60f * 6f, 60f)); - weapons.add(new Weapon("mount-weapon"){{ - reload = 15f; + reload = 10f; x = 5f; y = 3.5f; rotate = true; rotateSpeed = 5f; - inaccuracy = 10f; + inaccuracy = 8f; ejectEffect = Fx.casing1; shootSound = Sounds.shoot; - bullet = Bullets.flakLead; + bullet = new FlakBulletType(4.2f, 3){{ + lifetime = 60f; + ammoMultiplier = 4f; + shootEffect = Fx.shootSmall; + width = 6f; + height = 8f; + hitEffect = Fx.flakExplosion; + splashDamage = 27f * 1.5f; + splashDamageRadius = 15f; + }}; }}); weapons.add(new Weapon("artillery-mount"){{ @@ -1490,23 +1582,32 @@ public class UnitTypes implements ContentList{ shake = 1.5f; ejectEffect = Fx.casing2; shootSound = Sounds.bang; - bullet = Bullets.artilleryDense; + bullet = new ArtilleryBulletType(3f, 20, "shell"){{ + hitEffect = Fx.flakExplosion; + knockback = 0.8f; + lifetime = 80f; + width = height = 11f; + collidesTiles = false; + splashDamageRadius = 30f * 0.75f; + splashDamage = 40f; + }}; }}); }}; bryde = new UnitType("bryde"){{ - health = 900; + health = 910; speed = 0.85f; accel = 0.2f; rotateSpeed = 1.8f; drag = 0.17f; - hitSize = 16f; + hitSize = 20f; armor = 7f; - rotateShooting = false; + faceTarget = false; + ammoType = new ItemAmmoType(Items.graphite); trailLength = 22; - trailX = 7f; - trailY = -9f; + waveTrailX = 7f; + waveTrailY = -9f; trailScl = 1.5f; abilities.add(new ShieldRegenFieldAbility(20f, 40f, 60f * 4, 60f)); @@ -1523,22 +1624,20 @@ public class UnitTypes implements ContentList{ recoil = 4f; shadow = 12f; - shots = 1; inaccuracy = 3f; ejectEffect = Fx.casing3; shootSound = Sounds.artillery; - bullet = new ArtilleryBulletType(3.2f, 12){{ + bullet = new ArtilleryBulletType(3.2f, 15){{ trailMult = 0.8f; hitEffect = Fx.massiveExplosion; knockback = 1.5f; - lifetime = 100f; + lifetime = 84f; height = 15.5f; width = 15f; collidesTiles = false; - ammoMultiplier = 4f; - splashDamageRadius = 60f; - splashDamage = 80f; + splashDamageRadius = 40f; + splashDamage = 70f; backColor = Pal.missileYellowBack; frontColor = Pal.missileYellow; trailEffect = Fx.artilleryTrail; @@ -1561,11 +1660,13 @@ public class UnitTypes implements ContentList{ rotateSpeed = 4f; rotate = true; - shots = 2; - shotDelay = 3f; + shoot.shots = 2; + shoot.shotDelay = 3f; + inaccuracy = 5f; velocityRnd = 0.1f; shootSound = Sounds.missile; + ammoType = new ItemAmmoType(Items.thorium); ejectEffect = Fx.none; bullet = new MissileBulletType(2.7f, 12){{ @@ -1577,7 +1678,7 @@ public class UnitTypes implements ContentList{ keepVelocity = false; splashDamageRadius = 25f; splashDamage = 10f; - lifetime = 80f; + lifetime = 70f; trailColor = Color.gray; backColor = Pal.bulletYellowBack; frontColor = Pal.bulletYellow; @@ -1590,7 +1691,7 @@ public class UnitTypes implements ContentList{ }}; sei = new UnitType("sei"){{ - health = 10000; + health = 11000; armor = 12f; speed = 0.73f; @@ -1598,11 +1699,12 @@ public class UnitTypes implements ContentList{ hitSize = 39f; accel = 0.2f; rotateSpeed = 1.3f; - rotateShooting = false; + faceTarget = false; + ammoType = new ItemAmmoType(Items.thorium); trailLength = 50; - trailX = 18f; - trailY = -21f; + waveTrailX = 18f; + waveTrailY = -21f; trailScl = 3f; weapons.add(new Weapon("sei-launcher"){{ @@ -1615,18 +1717,21 @@ public class UnitTypes implements ContentList{ shadow = 20f; - shootY = 2f; + shootY = 4.5f; recoil = 4f; reload = 45f; - shots = 6; - spacing = 10f; velocityRnd = 0.4f; inaccuracy = 7f; ejectEffect = Fx.none; - shake = 3f; + shake = 1f; shootSound = Sounds.missile; - xRand = 8f; - shotDelay = 1f; + + shoot = new ShootAlternate(){{ + shots = 6; + shotDelay = 1.5f; + spread = 4f; + barrels = 3; + }}; bullet = new MissileBulletType(4.2f, 42){{ homingPower = 0.12f; @@ -1663,8 +1768,9 @@ public class UnitTypes implements ContentList{ ejectEffect = Fx.casing3; shootSound = Sounds.shootBig; - shots = 3; - shotDelay = 4f; + shoot.shots = 3; + shoot.shotDelay = 4f; + inaccuracy = 1f; bullet = new BasicBulletType(7f, 57){{ width = 13f; @@ -1679,19 +1785,20 @@ public class UnitTypes implements ContentList{ health = 22000; speed = 0.62f; drag = 0.18f; - hitSize = 50f; + hitSize = 58f; armor = 16f; accel = 0.19f; rotateSpeed = 0.9f; - rotateShooting = false; + faceTarget = false; + ammoType = new PowerAmmoType(4000); float spawnTime = 60f * 15f; abilities.add(new UnitSpawnAbility(flare, spawnTime, 19.25f, -31.75f), new UnitSpawnAbility(flare, spawnTime, -19.25f, -31.75f)); trailLength = 70; - trailX = 23f; - trailY = -32f; + waveTrailX = 23f; + waveTrailY = -32f; trailScl = 3.5f; weapons.add(new Weapon("omura-cannon"){{ @@ -1708,15 +1815,14 @@ public class UnitTypes implements ContentList{ shadow = 50f; shootSound = Sounds.railgun; - shots = 1; ejectEffect = Fx.none; bullet = new RailBulletType(){{ shootEffect = Fx.railShoot; length = 500; - updateEffectSeg = 60f; + pointEffectSpace = 60f; pierceEffect = Fx.railHit; - updateEffect = Fx.railTrail; + pointEffect = Fx.railTrail; hitEffect = Fx.massiveExplosion; smokeEffect = Fx.shootBig2; damage = 1250; @@ -1725,13 +1831,546 @@ public class UnitTypes implements ContentList{ }}); }}; + //endregion + //region naval support + retusa = new UnitType("retusa"){{ + speed = 0.9f; + drag = 0.14f; + hitSize = 11f; + health = 270; + accel = 0.4f; + rotateSpeed = 5f; + trailLength = 20; + waveTrailX = 5f; + trailScl = 1.3f; + faceTarget = false; + range = 100f; + ammoType = new PowerAmmoType(900); + armor = 3f; + + buildSpeed = 1.5f; + rotateToBuilding = false; + + weapons.add(new RepairBeamWeapon("repair-beam-weapon-center"){{ + x = 0f; + y = -5.5f; + shootY = 6f; + beamWidth = 0.8f; + mirror = false; + repairSpeed = 0.75f; + + bullet = new BulletType(){{ + maxRange = 120f; + }}; + }}); + + weapons.add(new Weapon("retusa-weapon"){{ + shootSound = Sounds.lasershoot; + reload = 22f; + x = 4.5f; + y = -3.5f; + rotateSpeed = 5f; + mirror = true; + rotate = true; + bullet = new LaserBoltBulletType(5.2f, 12){{ + lifetime = 30f; + healPercent = 5.5f; + collidesTeam = true; + backColor = Pal.heal; + frontColor = Color.white; + }}; + }}); + + weapons.add(new Weapon(){{ + mirror = false; + rotate = true; + reload = 90f; + x = y = shootX = shootY = 0f; + shootSound = Sounds.mineDeploy; + rotateSpeed = 180f; + targetAir = false; + + shoot.shots = 3; + shoot.shotDelay = 7f; + + bullet = new BasicBulletType(){{ + sprite = "mine-bullet"; + width = height = 8f; + layer = Layer.scorch; + shootEffect = smokeEffect = Fx.none; + + maxRange = 50f; + ignoreRotation = true; + healPercent = 4f; + + backColor = Pal.heal; + frontColor = Color.white; + mixColorTo = Color.white; + + hitSound = Sounds.plasmaboom; + + ejectEffect = Fx.none; + hitSize = 22f; + + collidesAir = false; + + lifetime = 87f; + + hitEffect = new MultiEffect(Fx.blastExplosion, Fx.greenCloud); + keepVelocity = false; + + shrinkX = shrinkY = 0f; + + inaccuracy = 2f; + weaveMag = 5f; + weaveScale = 4f; + speed = 0.7f; + drag = -0.017f; + homingPower = 0.05f; + collideFloor = true; + trailColor = Pal.heal; + trailWidth = 3f; + trailLength = 8; + + splashDamage = 40f; + splashDamageRadius = 32f; + }}; + }}); + }}; + + oxynoe = new UnitType("oxynoe"){{ + health = 560; + speed = 0.83f; + drag = 0.14f; + hitSize = 14f; + armor = 4f; + accel = 0.4f; + rotateSpeed = 4f; + faceTarget = false; + + trailLength = 22; + waveTrailX = 5.5f; + waveTrailY = -4f; + trailScl = 1.9f; + ammoType = new ItemAmmoType(Items.coal); + + abilities.add(new StatusFieldAbility(StatusEffects.overclock, 60f * 6, 60f * 6f, 60f)); + + buildSpeed = 2f; + rotateToBuilding = false; + + weapons.add(new Weapon("plasma-mount-weapon"){{ + + reload = 5f; + x = 4.5f; + y = 6.5f; + rotate = true; + rotateSpeed = 5f; + inaccuracy = 10f; + ejectEffect = Fx.casing1; + shootSound = Sounds.flame; + shootCone = 30f; + + bullet = new BulletType(3.4f, 23f){{ + healPercent = 1.5f; + collidesTeam = true; + ammoMultiplier = 3f; + hitSize = 7f; + lifetime = 18f; + pierce = true; + collidesAir = false; + statusDuration = 60f * 4; + hitEffect = Fx.hitFlamePlasma; + ejectEffect = Fx.none; + despawnEffect = Fx.none; + status = StatusEffects.burning; + keepVelocity = false; + hittable = false; + shootEffect = new Effect(32f, 80f, e -> { + color(Color.white, Pal.heal, Color.gray, e.fin()); + + randLenVectors(e.id, 8, e.finpow() * 60f, e.rotation, 10f, (x, y) -> { + Fill.circle(e.x + x, e.y + y, 0.65f + e.fout() * 1.5f); + Drawf.light(e.x + x, e.y + y, 16f * e.fout(), Pal.heal, 0.6f); + }); + }); + }}; + }}); + + weapons.add(new PointDefenseWeapon("point-defense-mount"){{ + mirror = false; + x = 0f; + y = 1f; + reload = 9f; + targetInterval = 10f; + targetSwitchInterval = 15f; + + bullet = new BulletType(){{ + shootEffect = Fx.sparkShoot; + hitEffect = Fx.pointHit; + maxRange = 100f; + damage = 17f; + }}; + }}); + + }}; + + cyerce = new UnitType("cyerce"){{ + health = 870; + speed = 0.86f; + accel = 0.22f; + rotateSpeed = 2.6f; + drag = 0.16f; + hitSize = 20f; + armor = 6f; + faceTarget = false; + ammoType = new ItemAmmoType(Items.graphite); + + trailLength = 23; + waveTrailX = 9f; + waveTrailY = -9f; + trailScl = 2f; + + buildSpeed = 2f; + rotateToBuilding = false; + + weapons.add(new RepairBeamWeapon("repair-beam-weapon-center"){{ + x = 11f; + y = -10f; + shootY = 6f; + beamWidth = 0.8f; + repairSpeed = 0.7f; + + bullet = new BulletType(){{ + maxRange = 130f; + }}; + }}); + + weapons.add(new Weapon("plasma-missile-mount"){{ + reload = 60f; + x = 9f; + y = 3f; + + shadow = 5f; + + rotateSpeed = 4f; + rotate = true; + inaccuracy = 1f; + velocityRnd = 0.1f; + shootSound = Sounds.missile; + + ejectEffect = Fx.none; + bullet = new FlakBulletType(2.5f, 25){{ + sprite = "missile-large"; + //for targeting + collidesGround = collidesAir = true; + explodeRange = 40f; + width = height = 12f; + shrinkY = 0f; + drag = -0.003f; + homingRange = 60f; + keepVelocity = false; + lightRadius = 60f; + lightOpacity = 0.7f; + lightColor = Pal.heal; + + splashDamageRadius = 30f; + splashDamage = 25f; + + lifetime = 80f; + backColor = Pal.heal; + frontColor = Color.white; + + hitEffect = new ExplosionEffect(){{ + lifetime = 28f; + waveStroke = 6f; + waveLife = 10f; + waveRadBase = 7f; + waveColor = Pal.heal; + waveRad = 30f; + smokes = 6; + smokeColor = Color.white; + sparkColor = Pal.heal; + sparks = 6; + sparkRad = 35f; + sparkStroke = 1.5f; + sparkLen = 4f; + }}; + + weaveScale = 8f; + weaveMag = 1f; + + trailColor = Pal.heal; + trailWidth = 4.5f; + trailLength = 29; + + fragBullets = 7; + fragVelocityMin = 0.3f; + + fragBullet = new MissileBulletType(3.9f, 11){{ + homingPower = 0.2f; + weaveMag = 4; + weaveScale = 4; + lifetime = 60f; + keepVelocity = false; + shootEffect = Fx.shootHeal; + smokeEffect = Fx.hitLaser; + splashDamage = 13f; + splashDamageRadius = 20f; + frontColor = Color.white; + hitSound = Sounds.none; + + lightColor = Pal.heal; + lightRadius = 40f; + lightOpacity = 0.7f; + + trailColor = Pal.heal; + trailWidth = 2.5f; + trailLength = 20; + trailChance = -1f; + + healPercent = 2.8f; + collidesTeam = true; + backColor = Pal.heal; + + despawnEffect = Fx.none; + hitEffect = new ExplosionEffect(){{ + lifetime = 20f; + waveStroke = 2f; + waveColor = Pal.heal; + waveRad = 12f; + smokeSize = 0f; + smokeSizeBase = 0f; + sparkColor = Pal.heal; + sparks = 9; + sparkRad = 35f; + sparkLen = 4f; + sparkStroke = 1.5f; + }}; + }}; + }}; + }}); + }}; + + aegires = new UnitType("aegires"){{ + health = 12000; + armor = 12f; + + speed = 0.7f; + drag = 0.17f; + hitSize = 44f; + accel = 0.2f; + rotateSpeed = 1.4f; + faceTarget = false; + ammoType = new PowerAmmoType(3500); + ammoCapacity = 40; + + //clip size is massive due to energy field + clipSize = 250f; + + trailLength = 50; + waveTrailX = 18f; + waveTrailY = -17f; + trailScl = 3.2f; + + buildSpeed = 3f; + rotateToBuilding = false; + + abilities.add(new EnergyFieldAbility(40f, 65f, 180f){{ + statusDuration = 60f * 6f; + maxTargets = 25; + healPercent = 1.5f; + sameTypeHealMult = 0.5f; + }}); + + for(float mountY : new float[]{-18f, 14}){ + weapons.add(new PointDefenseWeapon("point-defense-mount"){{ + x = 12.5f; + y = mountY; + reload = 4f; + targetInterval = 8f; + targetSwitchInterval = 8f; + + bullet = new BulletType(){{ + shootEffect = Fx.sparkShoot; + hitEffect = Fx.pointHit; + maxRange = 180f; + damage = 30f; + }}; + }}); + } + }}; + + navanax = new UnitType("navanax"){{ + health = 20000; + speed = 0.65f; + drag = 0.17f; + hitSize = 58f; + armor = 16f; + accel = 0.2f; + rotateSpeed = 1.1f; + faceTarget = false; + ammoType = new PowerAmmoType(4500); + + trailLength = 70; + waveTrailX = 23f; + waveTrailY = -32f; + trailScl = 3.5f; + + buildSpeed = 3.5f; + rotateToBuilding = false; + + for(float mountY : new float[]{-117/4f, 50/4f}){ + for(float sign : Mathf.signs){ + weapons.add(new Weapon("plasma-laser-mount"){{ + shadow = 20f; + controllable = false; + autoTarget = true; + mirror = false; + shake = 3f; + shootY = 7f; + rotate = true; + x = 84f/4f * sign; + y = mountY; + + targetInterval = 20f; + targetSwitchInterval = 35f; + + rotateSpeed = 3.5f; + reload = 170f; + recoil = 1f; + shootSound = Sounds.beam; + continuous = true; + cooldownTime = reload; + immunities.add(StatusEffects.burning); + + bullet = new ContinuousLaserBulletType(){{ + maxRange = 90f; + damage = 27f; + length = 95f; + hitEffect = Fx.hitMeltHeal; + drawSize = 200f; + lifetime = 155f; + shake = 1f; + + shootEffect = Fx.shootHeal; + smokeEffect = Fx.none; + width = 4f; + largeHit = false; + + incendChance = 0.03f; + incendSpread = 5f; + incendAmount = 1; + + healPercent = 0.4f; + collidesTeam = true; + + colors = new Color[]{Pal.heal.cpy().a(.2f), Pal.heal.cpy().a(.5f), Pal.heal.cpy().mul(1.2f), Color.white}; + }}; + }}); + } + } + abilities.add(new SuppressionFieldAbility(){{ + orbRadius = 5; + particleSize = 3; + y = -10f; + particles = 10; + color = particleColor = effectColor = Pal.heal; + }}); + weapons.add(new Weapon("emp-cannon-mount"){{ + rotate = true; + + x = 70f/4f; + y = -26f/4f; + + reload = 65f; + shake = 3f; + rotateSpeed = 2f; + shadow = 30f; + shootY = 7f; + recoil = 4f; + cooldownTime = reload - 10f; + //TODO better sound + shootSound = Sounds.laser; + + bullet = new EmpBulletType(){{ + float rad = 100f; + + scaleLife = true; + lightOpacity = 0.7f; + unitDamageScl = 0.8f; + healPercent = 20f; + timeIncrease = 3f; + timeDuration = 60f * 20f; + powerDamageScl = 3f; + damage = 60; + hitColor = lightColor = Pal.heal; + lightRadius = 70f; + clipSize = 250f; + shootEffect = Fx.hitEmpSpark; + smokeEffect = Fx.shootBigSmoke2; + lifetime = 60f; + sprite = "circle-bullet"; + backColor = Pal.heal; + frontColor = Color.white; + width = height = 12f; + shrinkY = 0f; + speed = 5f; + trailLength = 20; + trailWidth = 6f; + trailColor = Pal.heal; + trailInterval = 3f; + splashDamage = 70f; + splashDamageRadius = rad; + hitShake = 4f; + trailRotation = true; + status = StatusEffects.electrified; + hitSound = Sounds.plasmaboom; + + trailEffect = new Effect(16f, e -> { + color(Pal.heal); + for(int s : Mathf.signs){ + Drawf.tri(e.x, e.y, 4f, 30f * e.fslope(), e.rotation + 90f*s); + } + }); + + hitEffect = new Effect(50f, 100f, e -> { + e.scaled(7f, b -> { + color(Pal.heal, b.fout()); + Fill.circle(e.x, e.y, rad); + }); + + color(Pal.heal); + stroke(e.fout() * 3f); + Lines.circle(e.x, e.y, rad); + + int points = 10; + float offset = Mathf.randomSeed(e.id, 360f); + for(int i = 0; i < points; i++){ + float angle = i* 360f / points + offset; + //for(int s : Mathf.zeroOne){ + Drawf.tri(e.x + Angles.trnsx(angle, rad), e.y + Angles.trnsy(angle, rad), 6f, 50f * e.fout(), angle/* + s*180f*/); + //} + } + + Fill.circle(e.x, e.y, 12f * e.fout()); + color(); + Fill.circle(e.x, e.y, 6f * e.fout()); + Drawf.light(e.x, e.y, rad * 1.6f, Pal.heal, e.fout()); + }); + }}; + }}); + }}; + //endregion //region core alpha = new UnitType("alpha"){{ - defaultController = BuilderAI::new; - isCounted = false; + aiController = () -> new BuilderAI(true, 400f); + controller = u -> u.team.isAI() ? aiController.get() : new CommandAI(); + isEnemy = false; + lowAltitude = true; flying = true; mineSpeed = 6.5f; mineTier = 1; @@ -1740,11 +2379,11 @@ public class UnitTypes implements ContentList{ speed = 3f; rotateSpeed = 15f; accel = 0.1f; + fogRadius = 0f; itemCapacity = 30; health = 150f; engineOffset = 6f; hitSize = 8f; - commandLimit = 3; alwaysUnlocked = true; weapons.add(new Weapon("small-basic-weapon"){{ @@ -1766,8 +2405,9 @@ public class UnitTypes implements ContentList{ }}; beta = new UnitType("beta"){{ - defaultController = BuilderAI::new; - isCounted = false; + aiController = () -> new BuilderAI(true, 400f); + controller = u -> u.team.isAI() ? aiController.get() : new CommandAI(); + isEnemy = false; flying = true; mineSpeed = 7f; @@ -1777,13 +2417,13 @@ public class UnitTypes implements ContentList{ speed = 3.3f; rotateSpeed = 17f; accel = 0.1f; + fogRadius = 0f; itemCapacity = 50; health = 170f; engineOffset = 6f; hitSize = 9f; - rotateShooting = false; + faceTarget = false; lowAltitude = true; - commandLimit = 4; weapons.add(new Weapon("small-mount-weapon"){{ top = false; @@ -1791,9 +2431,8 @@ public class UnitTypes implements ContentList{ x = 3f; y = 0.5f; rotate = true; - shots = 2; - shotDelay = 4f; - spacing = 0f; + shoot.shots = 2; + shoot.shotDelay = 4f; ejectEffect = Fx.casing1; bullet = new BasicBulletType(3f, 11){{ @@ -1808,9 +2447,11 @@ public class UnitTypes implements ContentList{ }}; gamma = new UnitType("gamma"){{ - defaultController = BuilderAI::new; - isCounted = false; + aiController = () -> new BuilderAI(true, 400f); + controller = u -> u.team.isAI() ? aiController.get() : new CommandAI(); + isEnemy = false; + lowAltitude = true; flying = true; mineSpeed = 8f; mineTier = 2; @@ -1819,21 +2460,24 @@ public class UnitTypes implements ContentList{ speed = 3.55f; rotateSpeed = 19f; accel = 0.11f; + fogRadius = 0f; itemCapacity = 70; health = 220f; engineOffset = 6f; hitSize = 11f; - commandLimit = 5; weapons.add(new Weapon("small-mount-weapon"){{ top = false; reload = 15f; x = 1f; y = 2f; - shots = 2; - spacing = 2f; + shoot = new ShootSpread(){{ + shots = 2; + shotDelay = 3f; + spread = 2f; + }}; + inaccuracy = 3f; - shotDelay = 3f; ejectEffect = Fx.casing1; bullet = new BasicBulletType(3.5f, 11){{ @@ -1849,23 +2493,1874 @@ public class UnitTypes implements ContentList{ }}; //endregion - //region internal + //region erekir - tank - block = new UnitType("block"){ - { - speed = 0f; - hitSize = 0f; - health = 1; - rotateSpeed = 360f; - itemCapacity = 0; - commandLimit = 0; + stell = new TankUnitType("stell"){{ + hitSize = 12f; + treadPullOffset = 3; + speed = 0.75f; + rotateSpeed = 3.5f; + health = 850; + armor = 6f; + itemCapacity = 0; + treadRects = new Rect[]{new Rect(12 - 32f, 7 - 32f, 14, 51)}; + researchCostMultiplier = 0f; + + weapons.add(new Weapon("stell-weapon"){{ + layerOffset = 0.0001f; + reload = 50f; + shootY = 4.5f; + recoil = 1f; + rotate = true; + rotateSpeed = 2.2f; + mirror = false; + x = 0f; + y = -0.75f; + heatColor = Color.valueOf("f9350f"); + cooldownTime = 30f; + + bullet = new BasicBulletType(4f, 40){{ + sprite = "missile-large"; + smokeEffect = Fx.shootBigSmoke; + shootEffect = Fx.shootBigColor; + width = 5f; + height = 7f; + lifetime = 40f; + hitSize = 4f; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 1.7f; + trailLength = 5; + despawnEffect = hitEffect = Fx.hitBulletColor; + }}; + }}); + }}; + + locus = new TankUnitType("locus"){{ + hitSize = 18f; + treadPullOffset = 5; + speed = 0.7f; + rotateSpeed = 2.6f; + health = 2100; + armor = 8f; + itemCapacity = 0; + treadRects = new Rect[]{new Rect(17 - 96f/2f, 10 - 96f/2f, 19, 76)}; + researchCostMultiplier = 0f; + + weapons.add(new Weapon("locus-weapon"){{ + shootSound = Sounds.bolt; + layerOffset = 0.0001f; + reload = 18f; + shootY = 10f; + recoil = 1f; + rotate = true; + rotateSpeed = 1.4f; + mirror = false; + shootCone = 2f; + x = 0f; + y = 0f; + heatColor = Color.valueOf("f9350f"); + cooldownTime = 30f; + + shoot = new ShootAlternate(3.5f); + + bullet = new RailBulletType(){{ + length = 160f; + damage = 48f; + hitColor = Color.valueOf("feb380"); + hitEffect = endEffect = Fx.hitBulletColor; + pierceDamageFactor = 0.8f; + + smokeEffect = Fx.colorSpark; + + endEffect = new Effect(14f, e -> { + color(e.color); + Drawf.tri(e.x, e.y, e.fout() * 1.5f, 5f, e.rotation); + }); + + shootEffect = new Effect(10, e -> { + color(e.color); + float w = 1.2f + 7 * e.fout(); + + Drawf.tri(e.x, e.y, w, 30f * e.fout(), e.rotation); + color(e.color); + + for(int i : Mathf.signs){ + Drawf.tri(e.x, e.y, w * 0.9f, 18f * e.fout(), e.rotation + i * 90f); + } + + Drawf.tri(e.x, e.y, w, 4f * e.fout(), e.rotation + 180f); + }); + + lineEffect = new Effect(20f, e -> { + if(!(e.data instanceof Vec2 v)) return; + + color(e.color); + stroke(e.fout() * 0.9f + 0.6f); + + Fx.rand.setSeed(e.id); + for(int i = 0; i < 7; i++){ + Fx.v.trns(e.rotation, Fx.rand.random(8f, v.dst(e.x, e.y) - 8f)); + Lines.lineAngleCenter(e.x + Fx.v.x, e.y + Fx.v.y, e.rotation + e.finpow(), e.foutpowdown() * 20f * Fx.rand.random(0.5f, 1f) + 0.3f); + } + + e.scaled(14f, b -> { + stroke(b.fout() * 1.5f); + color(e.color); + Lines.line(e.x, e.y, v.x, v.y); + }); + }); + }}; + }}); + }}; + + precept = new TankUnitType("precept"){{ + hitSize = 26f; + treadPullOffset = 5; + speed = 0.64f; + rotateSpeed = 1.5f; + health = 5000; + armor = 11f; + itemCapacity = 0; + treadRects = new Rect[]{new Rect(16 - 60f, 48 - 70f, 30, 75), new Rect(44 - 60f, 17 - 70f, 17, 60)}; + researchCostMultiplier = 0f; + + weapons.add(new Weapon("precept-weapon"){{ + shootSound = Sounds.dullExplosion; + layerOffset = 0.0001f; + reload = 80f; + shootY = 16f; + recoil = 3f; + rotate = true; + rotateSpeed = 1.3f; + mirror = false; + shootCone = 2f; + x = 0f; + y = -1f; + heatColor = Color.valueOf("f9350f"); + cooldownTime = 30f; + bullet = new BasicBulletType(7f, 120){{ + sprite = "missile-large"; + width = 7.5f; + height = 13f; + lifetime = 28f; + hitSize = 6f; + pierceCap = 2; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 2.8f; + trailLength = 8; + hitEffect = despawnEffect = Fx.blastExplosion; + shootEffect = Fx.shootTitan; + smokeEffect = Fx.shootSmokeTitan; + splashDamageRadius = 20f; + splashDamage = 50f; + + trailEffect = Fx.hitSquaresColor; + trailRotation = true; + trailInterval = 3f; + + fragBullets = 4; + + fragBullet = new BasicBulletType(5f, 35){{ + sprite = "missile-large"; + width = 5f; + height = 7f; + lifetime = 15f; + hitSize = 4f; + pierceCap = 3; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 1.7f; + trailLength = 3; + drag = 0.01f; + despawnEffect = hitEffect = Fx.hitBulletColor; + }}; + }}; + }}); + }}; + + vanquish = new TankUnitType("vanquish"){{ + hitSize = 28f; + treadPullOffset = 4; + speed = 0.63f; + health = 11000; + armor = 20f; + itemCapacity = 0; + crushDamage = 13f / 5f; + treadRects = new Rect[]{new Rect(22 - 154f/2f, 16 - 154f/2f, 28, 130)}; + + weapons.add(new Weapon("vanquish-weapon"){{ + shootSound = Sounds.mediumCannon; + layerOffset = 0.0001f; + reload = 70f; + shootY = 71f / 4f; + shake = 5f; + recoil = 4f; + rotate = true; + rotateSpeed = 1f; + mirror = false; + x = 0f; + y = 0; + shadow = 28f; + heatColor = Color.valueOf("f9350f"); + cooldownTime = 80f; + + bullet = new BasicBulletType(8f, 190){{ + sprite = "missile-large"; + width = 9.5f; + height = 13f; + lifetime = 18f; + hitSize = 6f; + shootEffect = Fx.shootTitan; + smokeEffect = Fx.shootSmokeTitan; + pierceCap = 2; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 3.1f; + trailLength = 8; + hitEffect = despawnEffect = Fx.blastExplosion; + splashDamageRadius = 20f; + splashDamage = 50f; + + fragOnHit = false; + fragRandomSpread = 0f; + fragSpread = 10f; + fragBullets = 5; + fragVelocityMin = 1f; + despawnSound = Sounds.dullExplosion; + + fragBullet = new BasicBulletType(8f, 35){{ + sprite = "missile-large"; + width = 8f; + height = 12f; + lifetime = 15f; + hitSize = 4f; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 2.8f; + trailLength = 6; + hitEffect = despawnEffect = Fx.blastExplosion; + splashDamageRadius = 10f; + splashDamage = 20f; + }}; + }}; + }}); + + int i = 0; + for(float f : new float[]{34f / 4f, -36f / 4f}){ + int fi = i ++; + weapons.add(new Weapon("vanquish-point-weapon"){{ + reload = 35f + fi * 5; + x = 48f / 4f; + y = f; + shootY = 5.5f; + recoil = 2f; + rotate = true; + rotateSpeed = 2f; + + bullet = new BasicBulletType(4.5f, 25){{ + width = 6.5f; + height = 11f; + shootEffect = Fx.sparkShoot; + smokeEffect = Fx.shootBigSmoke; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 1.5f; + trailLength = 4; + hitEffect = despawnEffect = Fx.hitBulletColor; + }}; + }}); + } + }}; + + conquer = new TankUnitType("conquer"){{ + hitSize = 46f; + treadPullOffset = 1; + speed = 0.48f; + health = 22000; + armor = 26f; + crushDamage = 25f / 5f; + rotateSpeed = 0.8f; + + float xo = 231f/2f, yo = 231f/2f; + treadRects = new Rect[]{new Rect(27 - xo, 152 - yo, 56, 73), new Rect(24 - xo, 51 - 9 - yo, 29, 17), new Rect(59 - xo, 18 - 9 - yo, 39, 19)}; + + weapons.add(new Weapon("conquer-weapon"){{ + shootSound = Sounds.largeCannon; + layerOffset = 0.1f; + reload = 100f; + shootY = 32.5f; + shake = 5f; + recoil = 5f; + rotate = true; + rotateSpeed = 0.6f; + mirror = false; + x = 0f; + y = -2f; + shadow = 50f; + heatColor = Color.valueOf("f9350f"); + shootWarmupSpeed = 0.06f; + cooldownTime = 110f; + heatColor = Color.valueOf("f9350f"); + minWarmup = 0.9f; + + parts.addAll( + new RegionPart("-glow"){{ + color = Color.red; + blending = Blending.additive; + outline = mirror = false; + }}, + new RegionPart("-sides"){{ + progress = PartProgress.warmup; + mirror = true; + under = true; + moveX = 0.75f; + moveY = 0.75f; + moveRot = 82f; + x = 37 / 4f; + y = 8 / 4f; + }}, + new RegionPart("-sinks"){{ + progress = PartProgress.warmup; + mirror = true; + under = true; + heatColor = new Color(1f, 0.1f, 0.1f); + moveX = 17f / 4f; + moveY = -15f / 4f; + x = 32 / 4f; + y = -34 / 4f; + }}, + new RegionPart("-sinks-heat"){{ + blending = Blending.additive; + progress = PartProgress.warmup; + mirror = true; + outline = false; + colorTo = new Color(1f, 0f, 0f, 0.5f); + color = colorTo.cpy().a(0f); + moveX = 17f / 4f; + moveY = -15f / 4f; + x = 32 / 4f; + y = -34 / 4f; + }} + ); + + for(int i = 1; i <= 3; i++){ + int fi = i; + parts.add(new RegionPart("-blade"){{ + progress = PartProgress.warmup.delay((3 - fi) * 0.3f).blend(PartProgress.reload, 0.3f); + heatProgress = PartProgress.heat.add(0.3f).min(PartProgress.warmup); + heatColor = new Color(1f, 0.1f, 0.1f); + mirror = true; + under = true; + moveRot = -40f * fi; + moveX = 3f; + layerOffset = -0.002f; + + x = 11 / 4f; + }}); + } + + bullet = new BasicBulletType(8f, 360f){{ + sprite = "missile-large"; + width = 12f; + height = 20f; + lifetime = 35f; + hitSize = 6f; + + smokeEffect = Fx.shootSmokeTitan; + pierceCap = 3; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 4f; + trailLength = 9; + hitEffect = despawnEffect = Fx.massiveExplosion; + + shootEffect = new ExplosionEffect(){{ + lifetime = 40f; + waveStroke = 4f; + waveColor = sparkColor = trailColor; + waveRad = 15f; + smokeSize = 5f; + smokes = 8; + smokeSizeBase = 0f; + smokeColor = trailColor; + sparks = 8; + sparkRad = 40f; + sparkLen = 4f; + sparkStroke = 3f; + }}; + + int count = 6; + for(int j = 0; j < count; j++){ + int s = j; + for(int i : Mathf.signs){ + float fin = 0.05f + (j + 1) / (float)count; + float spd = speed; + float life = lifetime / Mathf.lerp(fin, 1f, 0.5f); + spawnBullets.add(new BasicBulletType(spd * fin, 60){{ + drag = 0.002f; + width = 12f; + height = 11f; + lifetime = life + 5f; + weaveRandom = false; + hitSize = 5f; + pierceCap = 2; + pierce = true; + pierceBuilding = true; + hitColor = backColor = trailColor = Color.valueOf("feb380"); + frontColor = Color.white; + trailWidth = 2.5f; + trailLength = 7; + weaveScale = (3f + s/2f) / 1.2f; + weaveMag = i * (4f - fin * 2f); + + splashDamage = 65f; + splashDamageRadius = 30f; + despawnEffect = new ExplosionEffect(){{ + lifetime = 50f; + waveStroke = 4f; + waveColor = sparkColor = trailColor; + waveRad = 30f; + smokeSize = 7f; + smokes = 6; + smokeSizeBase = 0f; + smokeColor = trailColor; + sparks = 5; + sparkRad = 30f; + sparkLen = 3f; + sparkStroke = 1.5f; + }}; + }}); + } + } + }}; + }}); + + parts.add(new RegionPart("-glow"){{ + color = Color.red; + blending = Blending.additive; + layer = -1f; + outline = false; + }}); + }}; + + //endregion + //region erekir - mech + + merui = new ErekirUnitType("merui"){{ + speed = 0.72f; + drag = 0.11f; + hitSize = 9f; + rotateSpeed = 3f; + health = 680; + armor = 4f; + legStraightness = 0.3f; + stepShake = 0f; + + legCount = 6; + legLength = 8f; + lockLegBase = true; + legContinuousMove = true; + legExtension = -2f; + legBaseOffset = 3f; + legMaxLength = 1.1f; + legMinLength = 0.2f; + legLengthScl = 0.96f; + legForwardScl = 1.1f; + legGroupSize = 3; + rippleScale = 0.2f; + + legMoveSpace = 1f; + allowLegStep = true; + hovering = true; + legPhysicsLayer = false; + + shadowElevation = 0.1f; + groundLayer = Layer.legUnit - 1f; + targetAir = false; + researchCostMultiplier = 0f; + + weapons.add(new Weapon("merui-weapon"){{ + shootSound = Sounds.missile; + mirror = false; + showStatSprite = false; + x = 0f; + y = 1f; + shootY = 4f; + reload = 60f; + cooldownTime = 42f; + heatColor = Pal.turretHeat; + + bullet = new ArtilleryBulletType(3f, 40){{ + shootEffect = new MultiEffect(Fx.shootSmallColor, new Effect(9, e -> { + color(Color.white, e.color, e.fin()); + stroke(0.7f + e.fout()); + Lines.square(e.x, e.y, e.fin() * 5f, e.rotation + 45f); + + Drawf.light(e.x, e.y, 23f, e.color, e.fout() * 0.7f); + })); + + collidesTiles = true; + backColor = hitColor = Pal.techBlue; + frontColor = Color.white; + + knockback = 0.8f; + lifetime = 50f; + width = height = 9f; + splashDamageRadius = 19f; + splashDamage = 30f; + + trailLength = 27; + trailWidth = 2.5f; + trailEffect = Fx.none; + trailColor = backColor; + + trailInterp = Interp.slope; + + shrinkX = 0.6f; + shrinkY = 0.2f; + + hitEffect = despawnEffect = new MultiEffect(Fx.hitSquaresColor, new WaveEffect(){{ + colorFrom = colorTo = Pal.techBlue; + sizeTo = splashDamageRadius + 2f; + lifetime = 9f; + strokeFrom = 2f; + }}); + }}; + }}); + + }}; + + cleroi = new ErekirUnitType("cleroi"){{ + speed = 0.7f; + drag = 0.1f; + hitSize = 14f; + rotateSpeed = 3f; + health = 1100; + armor = 5f; + stepShake = 0f; + + legCount = 4; + legLength = 14f; + lockLegBase = true; + legContinuousMove = true; + legExtension = -3f; + legBaseOffset = 5f; + legMaxLength = 1.1f; + legMinLength = 0.2f; + legLengthScl = 0.95f; + legForwardScl = 0.7f; + + legMoveSpace = 1f; + hovering = true; + + shadowElevation = 0.2f; + groundLayer = Layer.legUnit - 1f; + + for(int i = 0; i < 5; i++){ + int fi = i; + parts.add(new RegionPart("-spine"){{ + y = 21f / 4f - 45f / 4f * fi / 4f; + moveX = 21f / 4f + Mathf.slope(fi / 4f) * 1.25f; + moveRot = 10f - fi * 14f; + float fin = fi / 4f; + progress = PartProgress.reload.inv().mul(1.3f).add(0.1f).sustain(fin * 0.34f, 0.14f, 0.14f); + layerOffset = -0.001f; + mirror = true; + }}); } - @Override - public boolean isHidden(){ - return true; + weapons.add(new Weapon("cleroi-weapon"){{ + shootSound = Sounds.blaster; + x = 14f / 4f; + y = 33f / 4f; + reload = 30f; + layerOffset = -0.002f; + alternate = false; + heatColor = Color.red; + cooldownTime = 25f; + smoothReloadSpeed = 0.15f; + recoil = 2f; + + bullet = new BasicBulletType(3.5f, 30){{ + backColor = trailColor = hitColor = Pal.techBlue; + frontColor = Color.white; + width = 7.5f; + height = 10f; + lifetime = 40f; + trailWidth = 2f; + trailLength = 4; + shake = 1f; + + trailEffect = Fx.missileTrail; + trailParam = 1.8f; + trailInterval = 6f; + + splashDamageRadius = 30f; + splashDamage = 43f; + + hitEffect = despawnEffect = new MultiEffect(Fx.hitBulletColor, new WaveEffect(){{ + colorFrom = colorTo = Pal.techBlue; + sizeTo = splashDamageRadius + 3f; + lifetime = 9f; + strokeFrom = 3f; + }}); + + shootEffect = new MultiEffect(Fx.shootBigColor, new Effect(9, e -> { + color(Color.white, e.color, e.fin()); + stroke(0.7f + e.fout()); + Lines.square(e.x, e.y, e.fin() * 5f, e.rotation + 45f); + + Drawf.light(e.x, e.y, 23f, e.color, e.fout() * 0.7f); + })); + smokeEffect = Fx.shootSmokeSquare; + ammoMultiplier = 2; + }}; + }}); + + weapons.add(new PointDefenseWeapon("cleroi-point-defense"){{ + x = 16f / 4f; + y = -20f / 4f; + reload = 9f; + + targetInterval = 9f; + targetSwitchInterval = 12f; + recoil = 0.5f; + + bullet = new BulletType(){{ + shootSound = Sounds.lasershoot; + shootEffect = Fx.sparkShoot; + hitEffect = Fx.pointHit; + maxRange = 100f; + damage = 38f; + }}; + }}); + }}; + + anthicus = new ErekirUnitType("anthicus"){{ + speed = 0.65f; + drag = 0.1f; + hitSize = 21f; + rotateSpeed = 3f; + health = 2900; + armor = 7f; + fogRadius = 40f; + stepShake = 0f; + + legCount = 6; + legLength = 18f; + legGroupSize = 3; + lockLegBase = true; + legContinuousMove = true; + legExtension = -3f; + legBaseOffset = 7f; + legMaxLength = 1.1f; + legMinLength = 0.2f; + legLengthScl = 0.95f; + legForwardScl = 0.9f; + + legMoveSpace = 1f; + hovering = true; + + shadowElevation = 0.2f; + groundLayer = Layer.legUnit - 1f; + + for(int j = 0; j < 3; j++){ + int i = j; + parts.add(new RegionPart("-blade"){{ + layerOffset = -0.01f; + heatLayerOffset = 0.005f; + x = 2f; + moveX = 6f + i * 1.9f; + moveY = 8f + -4f * i; + moveRot = 40f - i * 25f; + mirror = true; + progress = PartProgress.warmup.delay(i * 0.2f); + heatProgress = p -> Mathf.absin(Time.time + i * 14f, 7f, 1f); + + heatColor = Pal.techBlue; + }}); } - }; + + weapons.add(new Weapon("anthicus-weapon"){{ + shootSound = Sounds.missileLarge; + x = 29f / 4f; + y = -11f / 4f; + shootY = 1.5f; + showStatSprite = false; + reload = 130f; + layerOffset = 0.01f; + heatColor = Color.red; + cooldownTime = 60f; + smoothReloadSpeed = 0.15f; + shootWarmupSpeed = 0.05f; + minWarmup = 0.9f; + rotationLimit = 70f; + rotateSpeed = 2f; + inaccuracy = 20f; + shootStatus = StatusEffects.slow; + alwaysShootWhenMoving = true; + + rotate = true; + + shoot = new ShootPattern(){{ + shots = 2; + shotDelay = 6f; + }}; + + parts.add(new RegionPart("-blade"){{ + mirror = true; + moveRot = -25f; + under = true; + moves.add(new PartMove(PartProgress.reload, 1f, 0f, 0f)); + + heatColor = Color.red; + cooldownTime = 60f; + }}); + + parts.add(new RegionPart("-blade"){{ + mirror = true; + moveRot = -50f; + moveY = -2f; + moves.add(new PartMove(PartProgress.reload.shorten(0.5f), 1f, 0f, -15f)); + under = true; + + heatColor = Color.red; + cooldownTime = 60f; + }}); + + bullet = new BulletType(){{ + shootEffect = new MultiEffect(Fx.shootBigColor, new Effect(9, e -> { + color(Color.white, e.color, e.fin()); + stroke(0.7f + e.fout()); + Lines.square(e.x, e.y, e.fin() * 5f, e.rotation + 45f); + + Drawf.light(e.x, e.y, 23f, e.color, e.fout() * 0.7f); + }), new WaveEffect(){{ + colorFrom = colorTo = Pal.techBlue; + sizeTo = 15f; + lifetime = 12f; + strokeFrom = 3f; + }}); + + smokeEffect = Fx.shootBigSmoke2; + shake = 2f; + speed = 0f; + keepVelocity = false; + inaccuracy = 2f; + + spawnUnit = new MissileUnitType("anthicus-missile"){{ + trailColor = engineColor = Pal.techBlue; + engineSize = 1.75f; + engineLayer = Layer.effect; + speed = 3.7f; + maxRange = 6f; + lifetime = 60f * 1.5f; + outlineColor = Pal.darkOutline; + health = 55; + lowAltitude = true; + + parts.add(new FlarePart(){{ + progress = PartProgress.life.slope().curve(Interp.pow2In); + radius = 0f; + radiusTo = 35f; + stroke = 3f; + rotation = 45f; + y = -5f; + followRotation = true; + }}); + + weapons.add(new Weapon(){{ + shootCone = 360f; + mirror = false; + reload = 1f; + shootOnDeath = true; + bullet = new ExplosionBulletType(140f, 25f){{ + shootEffect = new MultiEffect(Fx.massiveExplosion, new WrapEffect(Fx.dynamicSpikes, Pal.techBlue, 24f), new WaveEffect(){{ + colorFrom = colorTo = Pal.techBlue; + sizeTo = 40f; + lifetime = 12f; + strokeFrom = 4f; + }}); + }}; + }}); + }}; + }}; + }}); + }}; + + tecta = new ErekirUnitType("tecta"){{ + drag = 0.1f; + speed = 0.6f; + hitSize = 23f; + health = 7300; + armor = 5f; + + lockLegBase = true; + legContinuousMove = true; + legGroupSize = 3; + legStraightness = 0.4f; + baseLegStraightness = 0.5f; + legMaxLength = 1.3f; + researchCostMultiplier = 0f; + + abilities.add(new ShieldArcAbility(){{ + region = "tecta-shield"; + radius = 36f; + angle = 82f; + regen = 0.6f; + cooldown = 60f * 8f; + max = 2000f; + y = -20f; + width = 6f; + whenShooting = false; + }}); + + rotateSpeed = 2.1f; + + legCount = 6; + legLength = 15f; + legForwardScl = 0.45f; + legMoveSpace = 1.4f; + rippleScale = 2f; + stepShake = 0.5f; + legExtension = -5f; + legBaseOffset = 5f; + + ammoType = new PowerAmmoType(2000); + + legSplashDamage = 32; + legSplashRange = 30; + drownTimeMultiplier = 2f; + + hovering = true; + shadowElevation = 0.4f; + groundLayer = Layer.legUnit; + + weapons.add(new Weapon("tecta-weapon"){{ + shootSound = Sounds.malignShoot; + mirror = true; + top = false; + + x = 62/4f; + y = 1f; + shootY = 47 / 4f; + recoil = 3f; + reload = 40f; + shake = 3f; + cooldownTime = 40f; + + shoot.shots = 3; + inaccuracy = 3f; + velocityRnd = 0.33f; + heatColor = Color.red; + + bullet = new MissileBulletType(4.2f, 60){{ + homingPower = 0.2f; + weaveMag = 4; + weaveScale = 4; + lifetime = 55f; + shootEffect = Fx.shootBig2; + smokeEffect = Fx.shootSmokeTitan; + splashDamage = 70f; + splashDamageRadius = 30f; + frontColor = Color.white; + hitSound = Sounds.none; + width = height = 10f; + + lightColor = trailColor = backColor = Pal.techBlue; + lightRadius = 40f; + lightOpacity = 0.7f; + + trailWidth = 2.8f; + trailLength = 20; + trailChance = -1f; + despawnSound = Sounds.dullExplosion; + + despawnEffect = Fx.none; + hitEffect = new ExplosionEffect(){{ + lifetime = 20f; + waveStroke = 2f; + waveColor = sparkColor = trailColor; + waveRad = 12f; + smokeSize = 0f; + smokeSizeBase = 0f; + sparks = 10; + sparkRad = 35f; + sparkLen = 4f; + sparkStroke = 1.5f; + }}; + }}; + }}); + }}; + + collaris = new ErekirUnitType("collaris"){{ + drag = 0.1f; + speed = 1.1f; + hitSize = 44f; + health = 18000; + armor = 9f; + rotateSpeed = 1.6f; + lockLegBase = true; + legContinuousMove = true; + legStraightness = 0.6f; + baseLegStraightness = 0.5f; + + legCount = 8; + legLength = 30f; + legForwardScl = 2.1f; + legMoveSpace = 1.05f; + rippleScale = 1.2f; + stepShake = 0.5f; + legGroupSize = 2; + legExtension = -6f; + legBaseOffset = 19f; + legStraightLength = 0.9f; + legMaxLength = 1.2f; + + ammoType = new PowerAmmoType(2000); + + legSplashDamage = 32; + legSplashRange = 32; + drownTimeMultiplier = 2f; + + hovering = true; + shadowElevation = 0.4f; + groundLayer = Layer.legUnit; + + targetAir = false; + alwaysShootWhenMoving = true; + + weapons.add(new Weapon("collaris-weapon"){{ + shootSound = Sounds.pulseBlast; + mirror = true; + rotationLimit = 30f; + rotateSpeed = 0.4f; + rotate = true; + + x = 48 / 4f; + y = -28f / 4f; + shootY = 64f / 4f; + recoil = 4f; + reload = 130f; + cooldownTime = reload * 1.2f; + shake = 7f; + layerOffset = 0.02f; + shadow = 10f; + + shootStatus = StatusEffects.slow; + shootStatusDuration = reload + 1f; + + shoot.shots = 1; + heatColor = Color.red; + + for(int i = 0; i < 5; i++){ + int fi = i; + parts.add(new RegionPart("-blade"){{ + under = true; + layerOffset = -0.001f; + heatColor = Pal.techBlue; + heatProgress = PartProgress.heat.add(0.2f).min(PartProgress.warmup); + progress = PartProgress.warmup.blend(PartProgress.reload, 0.1f); + x = 13.5f / 4f; + y = 10f / 4f - fi * 2f; + moveY = 1f - fi * 1f; + moveX = fi * 0.3f; + moveRot = -45f - fi * 17f; + + moves.add(new PartMove(PartProgress.reload.inv().mul(1.8f).inv().curve(fi / 5f, 0.2f), 0f, 0f, 36f)); + }}); + } + + bullet = new ArtilleryBulletType(5.5f, 260){{ + collidesTiles = collides = true; + lifetime = 70f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareBig; + frontColor = Color.white; + trailEffect = new MultiEffect(Fx.artilleryTrail, Fx.artilleryTrailSmoke); + hitSound = Sounds.none; + width = 18f; + height = 24f; + + lightColor = trailColor = hitColor = backColor = Pal.techBlue; + lightRadius = 40f; + lightOpacity = 0.7f; + + trailWidth = 4.5f; + trailLength = 19; + trailChance = -1f; + + despawnEffect = Fx.none; + despawnSound = Sounds.dullExplosion; + + hitEffect = despawnEffect = new ExplosionEffect(){{ + lifetime = 34f; + waveStroke = 4f; + waveColor = sparkColor = trailColor; + waveRad = 25f; + smokeSize = 0f; + smokeSizeBase = 0f; + sparks = 10; + sparkRad = 25f; + sparkLen = 8f; + sparkStroke = 3f; + }}; + + splashDamage = 85f; + splashDamageRadius = 20f; + + fragBullets = 15; + fragVelocityMin = 0.5f; + fragRandomSpread = 130f; + fragLifeMin = 0.3f; + despawnShake = 5f; + + fragBullet = new BasicBulletType(5.5f, 50){{ + pierceCap = 2; + pierceBuilding = true; + + homingPower = 0.09f; + homingRange = 150f; + + lifetime = 50f; + shootEffect = Fx.shootBigColor; + smokeEffect = Fx.shootSmokeSquareBig; + frontColor = Color.white; + hitSound = Sounds.none; + width = 12f; + height = 20f; + + lightColor = trailColor = hitColor = backColor = Pal.techBlue; + lightRadius = 40f; + lightOpacity = 0.7f; + + trailWidth = 2.2f; + trailLength = 7; + trailChance = -1f; + + collidesAir = false; + + despawnEffect = Fx.none; + splashDamage = 46f; + splashDamageRadius = 30f; + + hitEffect = despawnEffect = new MultiEffect(new ExplosionEffect(){{ + lifetime = 30f; + waveStroke = 2f; + waveColor = sparkColor = trailColor; + waveRad = 5f; + smokeSize = 0f; + smokeSizeBase = 0f; + sparks = 5; + sparkRad = 20f; + sparkLen = 6f; + sparkStroke = 2f; + }}, Fx.blastExplosion); + }}; + }}; + }}); + }}; + + //endregion + //region erekir - flying + + elude = new ErekirUnitType("elude"){{ + hovering = true; + shadowElevation = 0.1f; + + drag = 0.07f; + speed = 1.8f; + rotateSpeed = 5f; + + accel = 0.09f; + health = 600f; + armor = 1f; + hitSize = 11f; + engineOffset = 7f; + engineSize = 2f; + itemCapacity = 0; + useEngineElevation = false; + researchCostMultiplier = 0f; + + abilities.add(new MoveEffectAbility(0f, -7f, Pal.sapBulletBack, Fx.missileTrailShort, 4f){{ + teamColor = true; + }}); + + for(float f : new float[]{-3f, 3f}){ + parts.add(new HoverPart(){{ + x = 3.9f; + y = f; + mirror = true; + radius = 6f; + phase = 90f; + stroke = 2f; + layerOffset = -0.001f; + color = Color.valueOf("bf92f9"); + }}); + } + + weapons.add(new Weapon("elude-weapon"){{ + shootSound = Sounds.blaster; + y = -2f; + x = 4f; + top = true; + mirror = true; + reload = 40f; + baseRotation = -35f; + shootCone = 360f; + + shoot = new ShootSpread(2, 11f); + + bullet = new BasicBulletType(5f, 16){{ + homingPower = 0.19f; + homingDelay = 4f; + width = 7f; + height = 12f; + lifetime = 30f; + shootEffect = Fx.sparkShoot; + smokeEffect = Fx.shootBigSmoke; + hitColor = backColor = trailColor = Pal.suppress; + frontColor = Color.white; + trailWidth = 1.5f; + trailLength = 5; + hitEffect = despawnEffect = Fx.hitBulletColor; + }}; + }}); + }}; + + avert = new ErekirUnitType("avert"){{ + lowAltitude = false; + flying = true; + drag = 0.08f; + speed = 2f; + rotateSpeed = 4f; + accel = 0.09f; + health = 1100f; + armor = 3f; + hitSize = 12f; + engineSize = 0; + fogRadius = 25; + itemCapacity = 0; + + setEnginesMirror( + new UnitEngine(35 / 4f, -38 / 4f, 3f, 315f), + new UnitEngine(39 / 4f, -16 / 4f, 3f, 315f) + ); + + weapons.add(new Weapon("avert-weapon"){{ + shootSound = Sounds.blaster; + reload = 35f; + x = 0f; + y = 6.5f; + shootY = 5f; + recoil = 1f; + top = false; + layerOffset = -0.01f; + rotate = false; + mirror = false; + shoot = new ShootHelix(); + + bullet = new BasicBulletType(5f, 34){{ + width = 7f; + height = 12f; + lifetime = 18f; + shootEffect = Fx.sparkShoot; + smokeEffect = Fx.shootBigSmoke; + hitColor = backColor = trailColor = Pal.suppress; + frontColor = Color.white; + trailWidth = 1.5f; + trailLength = 5; + hitEffect = despawnEffect = Fx.hitBulletColor; + }}; + }}); + }}; + + obviate = new ErekirUnitType("obviate"){{ + flying = true; + drag = 0.08f; + speed = 1.8f; + rotateSpeed = 2.5f; + accel = 0.09f; + health = 2300f; + armor = 6f; + hitSize = 25f; + engineSize = 4.3f; + engineOffset = 54f / 4f; + fogRadius = 25; + itemCapacity = 0; + lowAltitude = true; + + setEnginesMirror( + new UnitEngine(38 / 4f, -46 / 4f, 3.1f, 315f) + ); + + parts.add( + new RegionPart("-blade"){{ + moveRot = -10f; + moveX = -1f; + moves.add(new PartMove(PartProgress.reload, 2f, 1f, -5f)); + progress = PartProgress.warmup; + mirror = true; + + children.add(new RegionPart("-side"){{ + moveX = 2f; + moveY = -2f; + progress = PartProgress.warmup; + under = true; + mirror = true; + moves.add(new PartMove(PartProgress.reload, -2f, 2f, 0f)); + }}); + }}); + + weapons.add(new Weapon(){{ + shootSound = Sounds.shockBlast; + x = 0f; + y = -2f; + shootY = 0f; + reload = 140f; + mirror = false; + minWarmup = 0.95f; + shake = 3f; + cooldownTime = reload - 10f; + + bullet = new BasicBulletType(){{ + shoot = new ShootHelix(){{ + mag = 1f; + scl = 5f; + }}; + + shootEffect = new MultiEffect(Fx.shootTitan, new WaveEffect(){{ + colorTo = Pal.sapBulletBack; + sizeTo = 26f; + lifetime = 14f; + strokeFrom = 4f; + }}); + smokeEffect = Fx.shootSmokeTitan; + hitColor = Pal.sapBullet; + despawnSound = Sounds.spark; + + sprite = "large-orb"; + trailEffect = Fx.missileTrail; + trailInterval = 3f; + trailParam = 4f; + speed = 3f; + damage = 75f; + lifetime = 60f; + width = height = 15f; + backColor = Pal.sapBulletBack; + frontColor = Pal.sapBullet; + shrinkX = shrinkY = 0f; + trailColor = Pal.sapBulletBack; + trailLength = 12; + trailWidth = 2.2f; + despawnEffect = hitEffect = new ExplosionEffect(){{ + waveColor = Pal.sapBullet; + smokeColor = Color.gray; + sparkColor = Pal.sap; + waveStroke = 4f; + waveRad = 40f; + }}; + + intervalBullet = new LightningBulletType(){{ + damage = 16; + collidesAir = false; + ammoMultiplier = 1f; + lightningColor = Pal.sapBullet; + lightningLength = 3; + lightningLengthRand = 6; + + //for visual stats only. + buildingDamageMultiplier = 0.25f; + + lightningType = new BulletType(0.0001f, 0f){{ + lifetime = Fx.lightning.lifetime; + hitEffect = Fx.hitLancer; + despawnEffect = Fx.none; + status = StatusEffects.shocked; + statusDuration = 10f; + hittable = false; + lightColor = Color.white; + buildingDamageMultiplier = 0.25f; + }}; + }}; + + bulletInterval = 4f; + + lightningColor = Pal.sapBullet; + lightningDamage = 17; + lightning = 8; + lightningLength = 2; + lightningLengthRand = 8; + }}; + + }}); + }}; + + quell = new ErekirUnitType("quell"){{ + aiController = FlyingFollowAI::new; + envDisabled = 0; + + lowAltitude = false; + flying = true; + drag = 0.06f; + speed = 1.1f; + rotateSpeed = 3.2f; + accel = 0.1f; + health = 6000f; + armor = 4f; + hitSize = 36f; + payloadCapacity = Mathf.sqr(3f) * tilePayload; + researchCostMultiplier = 0f; + targetAir = false; + + engineSize = 4.8f; + engineOffset = 61 / 4f; + + abilities.add(new SuppressionFieldAbility(){{ + orbRadius = 5.3f; + y = 1f; + }}); + + weapons.add(new Weapon("quell-weapon"){{ + shootSound = Sounds.missileSmall; + x = 51 / 4f; + y = 5 / 4f; + rotate = true; + rotateSpeed = 2f; + reload = 55f; + layerOffset = -0.001f; + recoil = 1f; + rotationLimit = 60f; + + bullet = new BulletType(){{ + shootEffect = Fx.shootBig; + smokeEffect = Fx.shootBigSmoke2; + shake = 1f; + speed = 0f; + keepVelocity = false; + collidesAir = false; + + spawnUnit = new MissileUnitType("quell-missile"){{ + targetAir = false; + speed = 4.3f; + maxRange = 6f; + lifetime = 60f * 1.4f; + outlineColor = Pal.darkOutline; + engineColor = trailColor = Pal.sapBulletBack; + engineLayer = Layer.effect; + health = 45; + loopSoundVolume = 0.1f; + + weapons.add(new Weapon(){{ + shootCone = 360f; + mirror = false; + reload = 1f; + shootOnDeath = true; + bullet = new ExplosionBulletType(110f, 25f){{ + shootEffect = Fx.massiveExplosion; + collidesAir = false; + }}; + }}); + }}; + }}; + }}); + + setEnginesMirror( + new UnitEngine(62 / 4f, -60 / 4f, 3.9f, 315f), + new UnitEngine(72 / 4f, -29 / 4f, 3f, 315f) + ); + }}; + + disrupt = new ErekirUnitType("disrupt"){{ + aiController = FlyingFollowAI::new; + envDisabled = 0; + + lowAltitude = false; + flying = true; + drag = 0.07f; + speed = 1f; + rotateSpeed = 2f; + accel = 0.1f; + health = 12000f; + armor = 9f; + hitSize = 46f; + payloadCapacity = Mathf.sqr(6f) * tilePayload; + targetAir = false; + + engineSize = 6f; + engineOffset = 25.25f; + + float orbRad = 5f, partRad = 3f; + int parts = 10; + + abilities.add(new SuppressionFieldAbility(){{ + orbRadius = orbRad; + particleSize = partRad; + y = 10f; + particles = parts; + }}); + + for(int i : Mathf.signs){ + abilities.add(new SuppressionFieldAbility(){{ + orbRadius = orbRad; + particleSize = partRad; + y = -32f / 4f; + x = 43f * i / 4f; + particles = parts; + //visual only, the middle one does the actual suppressing + active = false; + }}); + } + + weapons.add(new Weapon("disrupt-weapon"){{ + shootSound = Sounds.missileLarge; + x = 78f / 4f; + y = -10f / 4f; + mirror = true; + rotate = true; + rotateSpeed = 0.4f; + reload = 70f; + layerOffset = -20f; + recoil = 1f; + rotationLimit = 22f; + minWarmup = 0.95f; + shootWarmupSpeed = 0.1f; + shootY = 2f; + shootCone = 40f; + shoot.shots = 3; + shoot.shotDelay = 5f; + inaccuracy = 28f; + + parts.add(new RegionPart("-blade"){{ + heatProgress = PartProgress.warmup; + progress = PartProgress.warmup.blend(PartProgress.reload, 0.15f); + heatColor = Color.valueOf("9c50ff"); + x = 5 / 4f; + y = 0f; + moveRot = -33f; + moveY = -1f; + moveX = -1f; + under = true; + mirror = true; + }}); + + bullet = new BulletType(){{ + shootEffect = Fx.sparkShoot; + smokeEffect = Fx.shootSmokeTitan; + hitColor = Pal.suppress; + shake = 1f; + speed = 0f; + keepVelocity = false; + collidesAir = false; + + spawnUnit = new MissileUnitType("disrupt-missile"){{ + targetAir = false; + speed = 4.6f; + maxRange = 5f; + outlineColor = Pal.darkOutline; + health = 70; + homingDelay = 10f; + lowAltitude = true; + engineSize = 3f; + engineColor = trailColor = Pal.sapBulletBack; + engineLayer = Layer.effect; + deathExplosionEffect = Fx.none; + loopSoundVolume = 0.1f; + + parts.add(new ShapePart(){{ + layer = Layer.effect; + circle = true; + y = -0.25f; + radius = 1.5f; + color = Pal.suppress; + colorTo = Color.white; + progress = PartProgress.life.curve(Interp.pow5In); + }}); + + parts.add(new RegionPart("-fin"){{ + mirror = true; + progress = PartProgress.life.mul(3f).curve(Interp.pow5In); + moveRot = 32f; + rotation = -6f; + moveY = 1.5f; + x = 3f / 4f; + y = -6f / 4f; + }}); + + weapons.add(new Weapon(){{ + shootCone = 360f; + mirror = false; + reload = 1f; + shootOnDeath = true; + bullet = new ExplosionBulletType(140f, 25f){{ + collidesAir = false; + suppressionRange = 140f; + shootEffect = new ExplosionEffect(){{ + lifetime = 50f; + waveStroke = 5f; + waveLife = 8f; + waveColor = Color.white; + sparkColor = smokeColor = Pal.suppress; + waveRad = 40f; + smokeSize = 4f; + smokes = 7; + smokeSizeBase = 0f; + sparks = 10; + sparkRad = 40f; + sparkLen = 6f; + sparkStroke = 2f; + }}; + }}; + }}); + }}; + }}; + }}); + + setEnginesMirror( + new UnitEngine(95 / 4f, -56 / 4f, 5f, 330f), + new UnitEngine(89 / 4f, -95 / 4f, 4f, 315f) + ); + }}; + + //endregion + //region erekir - neoplasm + + renale = new NeoplasmUnitType("renale"){{ + health = 500; + armor = 2; + hitSize = 9f; + omniMovement = false; + rotateSpeed = 2.5f; + drownTimeMultiplier = 2f; + segments = 3; + drawBody = false; + hidden = true; + crushDamage = 0.5f; + aiController = HugAI::new; + targetAir = false; + + segmentScl = 3f; + segmentPhase = 5f; + segmentMag = 0.5f; + speed = 1.2f; + }}; + + latum = new NeoplasmUnitType("latum"){{ + health = 20000; + armor = 12; + hitSize = 48f; + omniMovement = false; + rotateSpeed = 1.7f; + drownTimeMultiplier = 4f; + segments = 4; + drawBody = false; + hidden = true; + crushDamage = 2f; + aiController = HugAI::new; + targetAir = false; + + segmentScl = 4f; + segmentPhase = 5f; + speed = 1f; + + abilities.add(new SpawnDeathAbility(renale, 5, 11f)); + }}; + + //endregion + //region erekir - core + + float coreFleeRange = 500f; + + evoke = new ErekirUnitType("evoke"){{ + coreUnitDock = true; + controller = u -> new BuilderAI(true, coreFleeRange); + isEnemy = false; + envDisabled = 0; + + range = 60f; + faceTarget = true; + targetPriority = -2; + lowAltitude = false; + mineWalls = true; + mineFloor = false; + mineHardnessScaling = false; + flying = true; + mineSpeed = 6f; + mineTier = 3; + buildSpeed = 1.2f; + drag = 0.08f; + speed = 5.6f; + rotateSpeed = 7f; + accel = 0.09f; + itemCapacity = 60; + health = 300f; + armor = 1f; + hitSize = 9f; + engineSize = 0; + payloadCapacity = 2f * 2f * tilesize * tilesize; + pickupUnits = false; + vulnerableWithPayloads = true; + + fogRadius = 0f; + targetable = false; + hittable = false; + + setEnginesMirror( + new UnitEngine(21 / 4f, 19 / 4f, 2.2f, 45f), + new UnitEngine(23 / 4f, -22 / 4f, 2.2f, 315f) + ); + + weapons.add(new RepairBeamWeapon(){{ + widthSinMag = 0.11f; + reload = 20f; + x = 0f; + y = 6.5f; + rotate = false; + shootY = 0f; + beamWidth = 0.7f; + repairSpeed = 3.1f; + fractionRepairSpeed = 0.06f; + aimDst = 0f; + shootCone = 15f; + mirror = false; + + targetUnits = false; + targetBuildings = true; + autoTarget = false; + controllable = true; + laserColor = Pal.accent; + healColor = Pal.accent; + + bullet = new BulletType(){{ + maxRange = 60f; + }}; + }}); + }}; + + incite = new ErekirUnitType("incite"){{ + coreUnitDock = true; + controller = u -> new BuilderAI(true, coreFleeRange); + isEnemy = false; + envDisabled = 0; + + range = 60f; + targetPriority = -2; + lowAltitude = false; + faceTarget = true; + mineWalls = true; + mineFloor = false; + mineHardnessScaling = false; + flying = true; + mineSpeed = 8f; + mineTier = 3; + buildSpeed = 1.4f; + drag = 0.08f; + speed = 7f; + rotateSpeed = 8f; + accel = 0.09f; + itemCapacity = 90; + health = 500f; + armor = 2f; + hitSize = 11f; + payloadCapacity = 2f * 2f * tilesize * tilesize; + pickupUnits = false; + vulnerableWithPayloads = true; + + fogRadius = 0f; + targetable = false; + hittable = false; + + engineOffset = 7.2f; + engineSize = 3.1f; + + setEnginesMirror( + new UnitEngine(25 / 4f, -1 / 4f, 2.4f, 300f) + ); + + weapons.add(new RepairBeamWeapon(){{ + widthSinMag = 0.11f; + reload = 20f; + x = 0f; + y = 7.5f; + rotate = false; + shootY = 0f; + beamWidth = 0.7f; + aimDst = 0f; + shootCone = 15f; + mirror = false; + + repairSpeed = 3.3f; + fractionRepairSpeed = 0.06f; + + targetUnits = false; + targetBuildings = true; + autoTarget = false; + controllable = true; + laserColor = Pal.accent; + healColor = Pal.accent; + + bullet = new BulletType(){{ + maxRange = 60f; + }}; + }}); + + drawBuildBeam = false; + + weapons.add(new BuildWeapon("build-weapon"){{ + rotate = true; + rotateSpeed = 7f; + x = 14/4f; + y = 15/4f; + layerOffset = -0.001f; + shootY = 3f; + }}); + }}; + + emanate = new ErekirUnitType("emanate"){{ + coreUnitDock = true; + controller = u -> new BuilderAI(true, coreFleeRange); + isEnemy = false; + envDisabled = 0; + + range = 65f; + faceTarget = true; + targetPriority = -2; + lowAltitude = false; + mineWalls = true; + mineFloor = false; + mineHardnessScaling = false; + flying = true; + mineSpeed = 9f; + mineTier = 3; + buildSpeed = 1.5f; + drag = 0.08f; + speed = 7.5f; + rotateSpeed = 8f; + accel = 0.08f; + itemCapacity = 110; + health = 700f; + armor = 3f; + hitSize = 12f; + buildBeamOffset = 8f; + payloadCapacity = 2f * 2f * tilesize * tilesize; + pickupUnits = false; + vulnerableWithPayloads = true; + + fogRadius = 0f; + targetable = false; + hittable = false; + + engineOffset = 7.5f; + engineSize = 3.4f; + + setEnginesMirror( + new UnitEngine(35 / 4f, -13 / 4f, 2.7f, 315f), + new UnitEngine(28 / 4f, -35 / 4f, 2.7f, 315f) + ); + + weapons.add(new RepairBeamWeapon(){{ + widthSinMag = 0.11f; + reload = 20f; + x = 19f/4f; + y = 19f/4f; + rotate = false; + shootY = 0f; + beamWidth = 0.7f; + aimDst = 0f; + shootCone = 40f; + mirror = true; + + repairSpeed = 3.6f / 2f; + fractionRepairSpeed = 0.03f; + + targetUnits = false; + targetBuildings = true; + autoTarget = false; + controllable = true; + laserColor = Pal.accent; + healColor = Pal.accent; + + bullet = new BulletType(){{ + maxRange = 65f; + }}; + }}); + }}; + + //endregion + //region internal + special + + block = new UnitType("block"){{ + speed = 0f; + hitSize = 0f; + health = 1; + rotateSpeed = 360f; + itemCapacity = 0; + hidden = true; + internal = true; + }}; + + manifold = new ErekirUnitType("manifold"){{ + controller = u -> new CargoAI(); + isEnemy = false; + allowedInPayloads = false; + logicControllable = false; + playerControllable = false; + envDisabled = 0; + payloadCapacity = 0f; + + lowAltitude = false; + flying = true; + drag = 0.06f; + speed = 3.5f; + rotateSpeed = 9f; + accel = 0.1f; + itemCapacity = 100; + health = 200f; + hitSize = 11f; + engineSize = 2.3f; + engineOffset = 6.5f; + hidden = true; + + setEnginesMirror( + new UnitEngine(24 / 4f, -24 / 4f, 2.3f, 315f) + ); + }}; + + assemblyDrone = new ErekirUnitType("assembly-drone"){{ + controller = u -> new AssemblerAI(); + + flying = true; + drag = 0.06f; + accel = 0.11f; + speed = 1.3f; + health = 90; + engineSize = 2f; + engineOffset = 6.5f; + payloadCapacity = 0f; + targetable = false; + bounded = false; + + outlineColor = Pal.darkOutline; + isEnemy = false; + hidden = true; + useUnitCap = false; + logicControllable = false; + playerControllable = false; + allowedInPayloads = false; + createWreck = false; + envEnabled = Env.any; + envDisabled = Env.none; + }}; //endregion } diff --git a/core/src/mindustry/content/Weathers.java b/core/src/mindustry/content/Weathers.java index 8e3ea38a92..d69a6b4b43 100644 --- a/core/src/mindustry/content/Weathers.java +++ b/core/src/mindustry/content/Weathers.java @@ -2,23 +2,22 @@ package mindustry.content; import arc.graphics.*; import arc.util.*; -import mindustry.ctype.*; import mindustry.gen.*; import mindustry.type.*; import mindustry.type.weather.*; import mindustry.world.meta.*; -public class Weathers implements ContentList{ +public class Weathers{ public static Weather rain, snow, sandstorm, sporestorm, - fog; + fog, + suspendParticles; - @Override - public void load(){ - snow = new ParticleWeather("snow"){{ + public static void load(){ + snow = new ParticleWeather("snowing"){{ particleRegion = "particle"; sizeMax = 13f; sizeMin = 2.6f; @@ -102,5 +101,19 @@ public class Weathers implements ContentList{ attrs.set(Attribute.water, 0.05f); opacityMultiplier = 0.47f; }}; + + suspendParticles = new ParticleWeather("suspend-particles"){{ + color = noiseColor = Color.valueOf("a7c1fa"); + particleRegion = "particle"; + statusGround = false; + useWindVector = true; + hidden = true; + sizeMax = 4f; + sizeMin = 1.4f; + minAlpha = 0.5f; + maxAlpha = 1f; + density = 10000f; + baseSpeed = 0.03f; + }}; } } diff --git a/core/src/mindustry/core/ContentLoader.java b/core/src/mindustry/core/ContentLoader.java index fef7cc528b..4e2f86410a 100644 --- a/core/src/mindustry/core/ContentLoader.java +++ b/core/src/mindustry/core/ContentLoader.java @@ -6,10 +6,12 @@ import arc.func.*; import arc.graphics.*; import arc.struct.*; import arc.util.*; +import mindustry.ai.*; import mindustry.content.*; import mindustry.ctype.*; -import mindustry.game.EventType.*; import mindustry.entities.bullet.*; +import mindustry.game.EventType.*; +import mindustry.io.*; import mindustry.mod.Mods.*; import mindustry.type.*; import mindustry.world.*; @@ -25,47 +27,36 @@ import static mindustry.Vars.*; public class ContentLoader{ private ObjectMap[] contentNameMap = new ObjectMap[ContentType.all.length]; private Seq[] contentMap = new Seq[ContentType.all.length]; + private ObjectMap nameMap = new ObjectMap<>(); private MappableContent[][] temporaryMapper; private @Nullable LoadedMod currentMod; private @Nullable Content lastAdded; private ObjectSet> initialization = new ObjectSet<>(); - private ContentList[] content = { - new Items(), - new StatusEffects(), - new Liquids(), - new Bullets(), - new AmmoTypes(), - new UnitTypes(), - new Blocks(), - new Loadouts(), - new Weathers(), - new Planets(), - new SectorPresets(), - new TechTree(), - }; public ContentLoader(){ - clear(); - } - - /** Clears all initialized content.*/ - public void clear(){ - contentNameMap = new ObjectMap[ContentType.all.length]; - contentMap = new Seq[ContentType.all.length]; - initialization = new ObjectSet<>(); - for(ContentType type : ContentType.all){ contentMap[type.ordinal()] = new Seq<>(); contentNameMap[type.ordinal()] = new ObjectMap<>(); } } - /** Creates all base types. */ public void createBaseContent(){ - for(ContentList list : content){ - list.load(); - } + UnitCommand.loadAll(); + UnitStance.loadAll(); + TeamEntries.load(); + Items.load(); + StatusEffects.load(); + Liquids.load(); + Bullets.load(); + UnitTypes.load(); + Blocks.load(); + Loadouts.load(); + Weathers.load(); + Planets.load(); + SectorPresets.load(); + SerpuloTechTree.load(); + ErekirTechTree.load(); } /** Creates mod content, if applicable. */ @@ -75,7 +66,7 @@ public class ContentLoader{ } } - /** Logs content statistics.*/ + /** Logs content statistics. */ public void logContent(){ //check up ID mapping, make sure it's linear (debug only) for(Seq arr : contentMap){ @@ -91,19 +82,21 @@ public class ContentLoader{ for(int k = 0; k < contentMap.length; k++){ Log.debug("[@]: loaded @", ContentType.all[k].name(), contentMap[k].size); } - Log.debug("Total content loaded: @", Seq.with(ContentType.all).mapInt(c -> contentMap[c.ordinal()].size).sum()); + Log.debug("Total content loaded: @", Seq.with(ContentType.all).sum(c -> contentMap[c.ordinal()].size)); Log.debug("-------------------"); } - /** Calls Content#init() on everything. Use only after all modules have been created.*/ + /** Calls Content#init() on everything. Use only after all modules have been created. */ public void init(){ initialize(Content::init); - if(constants != null) constants.init(); + initialize(Content::postInit); + if(logicVars != null) logicVars.init(); Events.fire(new ContentInitEvent()); } - /** Calls Content#load() on everything. Use only after all modules have been created on the client.*/ + /** Calls Content#loadIcon() and Content#load() on everything. Use only after all modules have been created on the client. */ public void load(){ + initialize(Content::loadIcon); initialize(Content::load); } @@ -132,9 +125,9 @@ public class ContentLoader{ /** Loads block colors. */ public void loadColors(){ Pixmap pixmap = new Pixmap(files.internal("sprites/block_colors.png")); - for(int i = 0; i < pixmap.getWidth(); i++){ + for(int i = 0; i < pixmap.width; i++){ if(blocks().size > i){ - int color = pixmap.getPixel(i, 0); + int color = pixmap.get(i, 0); if(color == 0 || color == 255) continue; @@ -150,11 +143,6 @@ public class ContentLoader{ ColorMapper.load(); } - public void dispose(){ - initialize(Content::dispose); - clear(); - } - /** Get last piece of content created for error-handling purposes. */ public @Nullable Content getLastAdded(){ return lastAdded; @@ -185,6 +173,13 @@ public class ContentLoader{ public void handleMappableContent(MappableContent content){ if(contentNameMap[content.getContentType().ordinal()].containsKey(content.name)){ + var list = contentMap[content.getContentType().ordinal()]; + + //this method is only called when registering content, and after handleContent. + //If this is the last registered content, and it is invalid, make sure to remove it from the list to prevent invalid stuff from being registered + if(list.size > 0 && list.peek() == content){ + list.pop(); + } throw new IllegalArgumentException("Two content objects cannot have the same name! (issue: '" + content.name + "')"); } if(currentMod != null){ @@ -194,12 +189,18 @@ public class ContentLoader{ } } contentNameMap[content.getContentType().ordinal()].put(content.name, content); + nameMap.put(content.name, content); } public void setTemporaryMapper(MappableContent[][] temporaryMapper){ this.temporaryMapper = temporaryMapper; } + /** @return the last registered content with the specified name. Note that the content loader makes no attempt to resolve name conflicts. This method can be unreliable. */ + public @Nullable MappableContent byName(String name){ + return nameMap.get(name); + } + public Seq[] getContentMap(){ return contentMap; } @@ -211,10 +212,16 @@ public class ContentLoader{ } public T getByName(ContentType type, String name){ - if(contentNameMap[type.ordinal()] == null){ - return null; + var map = contentNameMap[type.ordinal()]; + + if(map == null) return null; + + //load fallbacks + if(type == ContentType.block){ + name = SaveVersion.modContentNameMap.get(name, name); } - return (T)contentNameMap[type.ordinal()].get(name); + + return (T)map.get(name); } public T getByID(ContentType type, int id){ @@ -262,6 +269,10 @@ public class ContentLoader{ return getByID(ContentType.item, id); } + public Item item(String name){ + return getByName(ContentType.item, name); + } + public Seq liquids(){ return getBy(ContentType.liquid); } @@ -270,6 +281,10 @@ public class ContentLoader{ return getByID(ContentType.liquid, id); } + public Liquid liquid(String name){ + return getByName(ContentType.liquid, name); + } + public Seq bullets(){ return getBy(ContentType.bullet); } @@ -278,15 +293,71 @@ public class ContentLoader{ return getByID(ContentType.bullet, id); } + public Seq statusEffects(){ + return getBy(ContentType.status); + } + + public StatusEffect statusEffect(String name){ + return getByName(ContentType.status, name); + } + public Seq sectors(){ return getBy(ContentType.sector); } + public SectorPreset sector(String name){ + return getByName(ContentType.sector, name); + } + public Seq units(){ return getBy(ContentType.unit); } + public UnitType unit(int id){ + return getByID(ContentType.unit, id); + } + + public UnitType unit(String name){ + return getByName(ContentType.unit, name); + } + public Seq planets(){ return getBy(ContentType.planet); } + + public Planet planet(String name){ + return getByName(ContentType.planet, name); + } + + public Seq weathers(){ + return getBy(ContentType.weather); + } + + public Weather weather(String name){ + return getByName(ContentType.weather, name); + } + + public Seq unitStances(){ + return getBy(ContentType.unitStance); + } + + public UnitStance unitStance(int id){ + return getByID(ContentType.unitStance, id); + } + + public UnitStance unitStance(String name){ + return getByName(ContentType.unitStance, name); + } + + public Seq unitCommands(){ + return getBy(ContentType.unitCommand); + } + + public UnitCommand unitCommand(int id){ + return getByID(ContentType.unitCommand, id); + } + + public UnitCommand unitCommand(String name){ + return getByName(ContentType.unitCommand, name); + } } diff --git a/core/src/mindustry/core/Control.java b/core/src/mindustry/core/Control.java index 8dd487034b..dd49e90f88 100644 --- a/core/src/mindustry/core/Control.java +++ b/core/src/mindustry/core/Control.java @@ -16,9 +16,9 @@ import mindustry.content.*; import mindustry.content.TechTree.*; import mindustry.core.GameState.*; import mindustry.entities.*; +import mindustry.game.*; import mindustry.game.EventType.*; import mindustry.game.Objectives.*; -import mindustry.game.*; import mindustry.game.Saves.*; import mindustry.gen.*; import mindustry.input.*; @@ -28,16 +28,15 @@ import mindustry.maps.Map; import mindustry.maps.*; import mindustry.net.*; import mindustry.type.*; -import mindustry.ui.*; import mindustry.ui.dialogs.*; import mindustry.world.*; +import mindustry.world.blocks.storage.CoreBlock.*; import java.io.*; import java.text.*; import java.util.*; import static arc.Core.*; -import static mindustry.Vars.net; import static mindustry.Vars.*; /** @@ -50,14 +49,33 @@ public class Control implements ApplicationListener, Loadable{ public Saves saves; public SoundControl sound; public InputHandler input; + public AttackIndicators indicators; private Interval timer = new Interval(2); private boolean hiscore = false; - private boolean wasPaused = false; + private boolean wasPaused = false, backgroundPaused = false; + private Seq toBePlaced = new Seq<>(false); public Control(){ saves = new Saves(); sound = new SoundControl(); + indicators = new AttackIndicators(); + + Events.on(BuildDamageEvent.class, e -> { + if(e.build.team == Vars.player.team()){ + indicators.add(e.build.tileX(), e.build.tileY()); + } + }); + + //show dialog saying that mod loading was skipped. + Events.on(ClientLoadEvent.class, e -> { + if(Vars.mods.skipModLoading() && Vars.mods.list().any()){ + Time.runTask(4f, () -> { + ui.showInfo("@mods.initfailed"); + }); + } + checkAutoUnlocks(); + }); Events.on(StateChangeEvent.class, event -> { if((event.from == State.playing && event.to == State.menu) || (event.from == State.menu && event.to != State.menu)){ @@ -74,7 +92,7 @@ public class Control implements ApplicationListener, Loadable{ Events.on(WorldLoadEvent.class, event -> { if(Mathf.zero(player.x) && Mathf.zero(player.y)){ - Building core = state.teams.closestCore(0, 0, player.team()); + Building core = player.bestCore(); if(core != null){ player.set(core); camera.position.set(core); @@ -90,6 +108,8 @@ public class Control implements ApplicationListener, Loadable{ Events.on(ResetEvent.class, event -> { player.reset(); + toBePlaced.clear(); + indicators.clear(); hiscore = false; saves.resetSave(); @@ -114,6 +134,10 @@ public class Control implements ApplicationListener, Loadable{ //add player when world loads regardless Events.on(WorldLoadEvent.class, e -> { player.add(); + //make player admin on any load when hosting + if(net.active() && net.server()){ + player.admin = true; + } }); //autohost for pvp maps @@ -121,7 +145,7 @@ public class Control implements ApplicationListener, Loadable{ if(state.rules.pvp && !net.active()){ try{ net.host(port); - player.admin(true); + player.admin = true; }catch(IOException e){ ui.showException("@server.error", e); state.set(State.menu); @@ -130,42 +154,28 @@ public class Control implements ApplicationListener, Loadable{ })); Events.on(UnlockEvent.class, e -> { - ui.hudfrag.showUnlock(e.content); + if(e.content.showUnlock()){ + ui.hudfrag.showUnlock(e.content); + } checkAutoUnlocks(); if(e.content instanceof SectorPreset){ for(TechNode node : TechTree.all){ if(!node.content.unlocked() && node.objectives.contains(o -> o instanceof SectorComplete sec && sec.preset == e.content) && !node.objectives.contains(o -> !o.complete())){ - ui.hudfrag.showToast(new TextureRegionDrawable(node.content.icon(Cicon.large)), bundle.get("available")); + ui.hudfrag.showToast(new TextureRegionDrawable(node.content.uiIcon), iconLarge, bundle.get("available")); } } } }); Events.on(SectorCaptureEvent.class, e -> { - checkAutoUnlocks(); - }); + app.post(this::checkAutoUnlocks); - Events.on(BlockBuildEndEvent.class, e -> { - if(e.team == player.team()){ - if(e.breaking){ - state.stats.buildingsDeconstructed++; - }else{ - state.stats.buildingsBuilt++; - } - } - }); - - Events.on(BlockDestroyEvent.class, e -> { - if(e.tile.team() == player.team()){ - state.stats.buildingsDestroyed++; - } - }); - - Events.on(UnitDestroyEvent.class, e -> { - if(e.unit.team() != player.team()){ - state.stats.enemyUnitsDestroyed++; + if(!net.client() && e.sector.preset != null && e.sector.preset.isLastSector && e.initialCapture){ + Time.run(60f * 2f, () -> { + ui.campaignComplete.show(e.sector.planet); + }); } }); @@ -181,35 +191,104 @@ public class Control implements ApplicationListener, Loadable{ }); Events.run(Trigger.newGame, () -> { - Building core = player.closestCore(); - + var core = player.bestCore(); if(core == null) return; - //TODO this sounds pretty bad due to conflict - if(settings.getInt("musicvol") > 0){ - Musics.land.stop(); - Musics.land.play(); - Musics.land.setVolume(settings.getInt("musicvol") / 100f); - } - - app.post(() -> ui.hudfrag.showLand()); - renderer.zoomIn(Fx.coreLand.lifetime); - app.post(() -> Fx.coreLand.at(core.getX(), core.getY(), 0, core.block)); camera.position.set(core); player.set(core); - Time.run(Fx.coreLand.lifetime, () -> { - Fx.launch.at(core); - Effect.shake(5f, 5f, core); - - if(state.isCampaign()){ - ui.announce("[accent]" + state.rules.sector.name() + "\n" + - (state.rules.sector.info.resources.any() ? "[lightgray]" + bundle.get("sectors.resources") + "[white] " + - state.rules.sector.info.resources.toString(" ", u -> u.emoji()) : ""), 5); + float coreDelay = 0f; + if(!settings.getBool("skipcoreanimation") && !state.rules.pvp){ + coreDelay = core.launchDuration(); + //delay player respawn so animation can play. + player.deathTimer = Player.deathDelay - core.launchDuration(); + //TODO this sounds pretty bad due to conflict + if(settings.getInt("musicvol") > 0){ + //TODO what to do if another core with different music is already playing? + Music music = core.landMusic(); + music.stop(); + music.play(); + music.setVolume(settings.getInt("musicvol") / 100f); } - }); + + renderer.showLanding(core); + } + + if(state.isCampaign()){ + if(state.rules.sector.info.importRateCache != null){ + state.rules.sector.info.refreshImportRates(state.rules.sector.planet); + } + + //don't run when hosting, that doesn't really work. + if(state.rules.sector.planet.prebuildBase){ + toBePlaced.clear(); + float unitsPerTick = 2f; + float buildRadius = state.rules.enemyCoreBuildRadius * 1.5f; + + //TODO if the save is unloaded or map is hosted, these blocks do not get built. + boolean anyBuilds = false; + for(var build : state.rules.defaultTeam.data().buildings.copy()){ + if(!(build instanceof CoreBuild) && !build.block.privileged){ + var ccore = build.closestCore(); + + if(ccore != null){ + anyBuilds = true; + + if(!net.active()){ + build.pickedUp(); + build.tile.remove(); + + toBePlaced.add(build); + + Time.run(build.dst(ccore) / unitsPerTick + coreDelay, () -> { + if(build.tile.build != build){ + placeLandBuild(build); + + toBePlaced.remove(build); + } + }); + }else{ + //when already hosting, instantly build everything. this looks bad but it's better than a desync + Fx.coreBuildBlock.at(build.x, build.y, 0f, build.block); + build.block.placeEffect.at(build.x, build.y, build.block.size); + } + } + } + } + + if(anyBuilds){ + for(var ccore : state.rules.defaultTeam.data().cores){ + Time.run(coreDelay, () -> { + Fx.coreBuildShockwave.at(ccore.x, ccore.y, buildRadius); + }); + } + } + } + } }); + Events.on(SaveWriteEvent.class, e -> forcePlaceAll()); + Events.on(HostEvent.class, e -> forcePlaceAll()); + Events.on(HostEvent.class, e -> { + state.set(State.playing); + }); + } + + private void forcePlaceAll(){ + //force set buildings when a save is done or map is hosted, to prevent desyncs + for(var build : toBePlaced){ + placeLandBuild(build); + } + + toBePlaced.clear(); + } + + private void placeLandBuild(Building build){ + build.tile.setBlock(build.block, build.team, build.rotation, () -> build); + build.dropped(); + + Fx.coreBuildBlock.at(build.x, build.y, 0f, build.block); + build.block.placeEffect.at(build.x, build.y, build.block.size); } @Override @@ -230,12 +309,12 @@ public class Control implements ApplicationListener, Loadable{ saves.load(); } - /** Automatically unlocks things with no requirements. */ - void checkAutoUnlocks(){ + /** Automatically unlocks things with no requirements and no locked parents. */ + public void checkAutoUnlocks(){ if(net.client()) return; for(TechNode node : TechTree.all){ - if(!node.content.unlocked() && node.requirements.length == 0 && !node.objectives.contains(o -> !o.complete())){ + if(!node.content.unlocked() && (node.parent == null || node.parent.content.unlocked()) && node.requirements.length == 0 && !node.objectives.contains(o -> !o.complete())){ node.content.unlock(); } } @@ -244,6 +323,13 @@ public class Control implements ApplicationListener, Loadable{ void createPlayer(){ player = Player.create(); player.name = Core.settings.getString("name"); + + String locale = Core.settings.getString("locale"); + if(locale.equals("default")){ + locale = Locale.getDefault().toString(); + } + player.locale = locale; + player.color.set(Core.settings.getInt("color-0")); if(mobile){ @@ -271,17 +357,31 @@ public class Control implements ApplicationListener, Loadable{ } public void playMap(Map map, Rules rules){ + playMap(map, rules, false); + } + + public void playMap(Map map, Rules rules, boolean playtest){ ui.loadAnd(() -> { logic.reset(); world.loadMap(map, rules); state.rules = rules; + if(playtest) state.playtestingMap = map; state.rules.sector = null; state.rules.editor = false; logic.play(); - if(settings.getBool("savecreate") && !world.isInvalidMap()){ + if(settings.getBool("savecreate") && !world.isInvalidMap() && !playtest){ control.saves.addSave(map.name() + " " + new SimpleDateFormat("MMM dd h:mm", Locale.getDefault()).format(new Date())); } Events.fire(Trigger.newGame); + + //booted out of map, resume editing + if(world.isInvalidMap() && playtest){ + Dialog current = scene.getDialog(); + ui.editor.resumeAfterPlaytest(map); + if(current != null){ + current.update(current::toFront); + } + } }); } @@ -300,82 +400,101 @@ public class Control implements ApplicationListener, Loadable{ control.saves.resetSave(); } + //for planet launches, mostly + if(sector.preset != null){ + sector.preset.quietUnlock(); + } + ui.planet.hide(); SaveSlot slot = sector.save; sector.planet.setLastSector(sector); - if(slot != null && !clearSectors){ + if(slot != null && !clearSectors && (!(sector.planet.clearSectorOnLose || sector.info.hasWorldProcessor) || sector.info.hasCore)){ try{ + boolean hadNoCore = !sector.info.hasCore; reloader.begin(); slot.load(); slot.setAutosave(true); state.rules.sector = sector; + state.rules.cloudColor = sector.planet.landCloudColor; //if there is no base, simulate a new game and place the right loadout at the spawn position - if(state.rules.defaultTeam.cores().isEmpty()){ + if(state.rules.defaultTeam.cores().isEmpty() || hadNoCore){ - //no spawn set -> delete the sector save - if(sector.info.spawnPosition == 0){ - //delete old save - sector.save = null; - slot.delete(); - //play again - playSector(origin, sector, reloader); - return; - } + if(sector.planet.clearSectorOnLose || sector.info.hasWorldProcessor){ + playNewSector(origin, sector, reloader); + }else{ + //no spawn set -> delete the sector save + if(sector.info.spawnPosition == 0){ + //delete old save + sector.save = null; + slot.delete(); + //play again + playSector(origin, sector, reloader); + return; + } - //set spawn for sector damage to use - Tile spawn = world.tile(sector.info.spawnPosition); - spawn.setBlock(Blocks.coreShard, state.rules.defaultTeam); + //set spawn for sector damage to use + Tile spawn = world.tile(sector.info.spawnPosition); + spawn.setBlock(sector.planet.defaultCore, state.rules.defaultTeam); - //add extra damage. - SectorDamage.apply(1f); + //add extra damage. + SectorDamage.apply(1f); - //reset wave so things are more fair - state.wave = 1; - //set up default wave time - state.wavetime = state.rules.waveSpacing * 2f; - //reset captured state - sector.info.wasCaptured = false; - //re-enable waves - state.rules.waves = true; + //reset wave so things are more fair + state.wave = 1; + //set up default wave time + state.wavetime = state.rules.initialWaveSpacing <= 0f ? (state.rules.waveSpacing * (sector.preset == null ? 2f : sector.preset.startWaveTimeMultiplier)) : state.rules.initialWaveSpacing; + state.wavetime *= sector.planet.campaignRules.difficulty.waveTimeMultiplier; + //reset captured state + sector.info.wasCaptured = false; - //reset win wave?? - state.rules.winWave = state.rules.attackMode ? -1 : sector.preset != null && sector.preset.captureWave > 0 ? sector.preset.captureWave : state.rules.winWave > state.wave ? state.rules.winWave : 30; + if(state.rules.sector.planet.allowWaves){ + //re-enable waves + state.rules.waves = true; + //reset win wave?? + state.rules.winWave = state.rules.attackMode ? -1 : sector.preset != null && sector.preset.captureWave > 0 ? sector.preset.captureWave : state.rules.winWave > state.wave ? state.rules.winWave : 30; + } - //if there's still an enemy base left, fix it - if(state.rules.attackMode){ - //replace all broken blocks - for(var plan : state.rules.waveTeam.data().blocks){ - Tile tile = world.tile(plan.x, plan.y); - if(tile != null){ - tile.setBlock(content.block(plan.block), state.rules.waveTeam, plan.rotation); - if(plan.config != null && tile.build != null){ - tile.build.configureAny(plan.config); + //if there's still an enemy base left, fix it + if(state.rules.attackMode){ + //replace all broken blocks + for(var plan : state.rules.waveTeam.data().plans){ + Tile tile = world.tile(plan.x, plan.y); + if(tile != null){ + tile.setBlock(plan.block, state.rules.waveTeam, plan.rotation); + if(plan.config != null && tile.build != null){ + tile.build.configureAny(plan.config); + } } } + state.rules.waveTeam.data().plans.clear(); } - state.rules.waveTeam.data().blocks.clear(); + + //kill all units, since they should be dead anyway + Groups.unit.clear(); + Groups.fire.clear(); + Groups.puddle.clear(); + + //reset to 0, so replaced cores don't count + state.rules.defaultTeam.data().unitCap = 0; + Schematics.placeLaunchLoadout(spawn.x, spawn.y); + + //set up camera/player locations + player.set(spawn.x * tilesize, spawn.y * tilesize); + camera.position.set(player); + + Events.fire(new SectorLaunchEvent(sector)); + Events.fire(Trigger.newGame); + + state.set(State.playing); + reloader.end(); } - - //kill all units, since they should be dead anyway - Groups.unit.clear(); - Groups.fire.clear(); - Groups.puddle.clear(); - - Schematics.placeLaunchLoadout(spawn.x, spawn.y); - - //set up camera/player locations - player.set(spawn.x * tilesize, spawn.y * tilesize); - camera.position.set(player); - - Events.fire(new SectorLaunchEvent(sector)); - Events.fire(Trigger.newGame); + }else{ + state.set(State.playing); + reloader.end(); } - state.set(State.playing); - reloader.end(); - }catch(SaveException e){ Log.err(e); sector.save = null; @@ -385,21 +504,26 @@ public class Control implements ApplicationListener, Loadable{ } ui.planet.hide(); }else{ - reloader.begin(); - world.loadSector(sector); - state.rules.sector = sector; - //assign origin when launching - sector.info.origin = origin; - sector.info.destination = origin; - logic.play(); - control.saves.saveSector(sector); - Events.fire(new SectorLaunchEvent(sector)); - Events.fire(Trigger.newGame); - reloader.end(); + playNewSector(origin, sector, reloader); } }); } + public void playNewSector(@Nullable Sector origin, Sector sector, WorldReloader reloader){ + reloader.begin(); + world.loadSector(sector); + state.rules.sector = sector; + //assign origin when launching + sector.info.origin = origin; + sector.info.destination = origin; + logic.play(); + control.saves.saveSector(sector); + Events.fire(new SectorLaunchEvent(sector)); + Events.fire(Trigger.newGame); + reloader.end(); + state.set(State.playing); + } + public boolean isHighScore(){ return hiscore; } @@ -407,7 +531,7 @@ public class Control implements ApplicationListener, Loadable{ @Override public void dispose(){ //try to save when exiting - if(saves != null && saves.getCurrent() != null && saves.getCurrent().isAutosave() && !net.client() && !state.isMenu()){ + if(saves != null && saves.getCurrent() != null && saves.getCurrent().isAutosave() && !net.client() && !state.isMenu() && !state.gameOver){ try{ SaveIO.save(control.saves.getCurrent().file); Log.info("Saved on exit."); @@ -420,16 +544,13 @@ public class Control implements ApplicationListener, Loadable{ music.stop(); } - content.dispose(); net.dispose(); - Musics.dispose(); - Sounds.dispose(); - if(ui != null && ui.editor != null) ui.editor.dispose(); } @Override public void pause(){ - if(settings.getBool("backgroundpause", true)){ + if(settings.getBool("backgroundpause", true) && !net.active()){ + backgroundPaused = true; wasPaused = state.is(State.paused); if(state.is(State.playing)) state.set(State.paused); } @@ -437,9 +558,10 @@ public class Control implements ApplicationListener, Loadable{ @Override public void resume(){ - if(state.is(State.paused) && !wasPaused && settings.getBool("backgroundpause", true)){ + if(state.is(State.paused) && !wasPaused && settings.getBool("backgroundpause", true) && !net.active()){ state.set(State.playing); } + backgroundPaused = false; } @Override @@ -502,7 +624,7 @@ public class Control implements ApplicationListener, Loadable{ if(full){ graphics.setWindowedMode(graphics.getWidth(), graphics.getHeight()); }else{ - graphics.setFullscreenMode(graphics.getDisplayMode()); + graphics.setFullscreen(); } settings.put("fullscreen", !full); } @@ -516,6 +638,9 @@ public class Control implements ApplicationListener, Loadable{ if(state.isGame()){ input.update(); + if(!state.isPaused()){ + indicators.update(); + } //auto-update rpc every 5 seconds if(timer.get(0, 60 * 5)){ @@ -528,8 +653,17 @@ public class Control implements ApplicationListener, Loadable{ core.items.each((i, a) -> i.unlock()); } - if(Core.input.keyTap(Binding.pause) && !scene.hasDialog() && !scene.hasKeyboard() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){ - state.set(state.is(State.playing) ? State.paused : State.playing); + if(backgroundPaused && settings.getBool("backgroundpause") && !net.active()){ + state.set(State.paused); + } + + //cannot launch while paused + if(state.isPaused() && renderer.isCutscene()){ + state.set(State.playing); + } + + if(!net.client() && Core.input.keyTap(Binding.pause) && !renderer.isCutscene() && !scene.hasDialog() && !scene.hasKeyboard() && !ui.restart.isShown() && (state.is(State.paused) || state.is(State.playing))){ + state.set(state.isPaused() ? State.playing : State.paused); } if(Core.input.keyTap(Binding.menu) && !ui.restart.isShown() && !ui.minimapfrag.shown()){ @@ -537,11 +671,13 @@ public class Control implements ApplicationListener, Loadable{ ui.chatfrag.hide(); }else if(!ui.paused.isShown() && !scene.hasDialog()){ ui.paused.show(); - state.set(State.paused); + if(!net.active()){ + state.set(State.paused); + } } } - if(!mobile && Core.input.keyTap(Binding.screenshot) && !(scene.getKeyboardFocus() instanceof TextField) && !scene.hasKeyboard()){ + if(!mobile && Core.input.keyTap(Binding.screenshot) && !scene.hasField() && !scene.hasKeyboard()){ renderer.takeMapScreenshot(); } diff --git a/core/src/mindustry/core/FileTree.java b/core/src/mindustry/core/FileTree.java index d9ca5694c1..06c6c3f96d 100644 --- a/core/src/mindustry/core/FileTree.java +++ b/core/src/mindustry/core/FileTree.java @@ -2,15 +2,22 @@ package mindustry.core; import arc.*; import arc.assets.loaders.*; +import arc.assets.loaders.MusicLoader.*; +import arc.assets.loaders.SoundLoader.*; +import arc.audio.*; import arc.files.*; import arc.struct.*; +import mindustry.*; +import mindustry.gen.*; /** Handles files in a modded context. */ public class FileTree implements FileHandleResolver{ private ObjectMap files = new ObjectMap<>(); + private ObjectMap loadedSounds = new ObjectMap<>(); + private ObjectMap loadedMusic = new ObjectMap<>(); public void addFile(String path, Fi f){ - files.put(path, f); + files.put(path.replace('\\', '/'), f); } /** Gets an asset file.*/ @@ -40,4 +47,42 @@ public class FileTree implements FileHandleResolver{ public Fi resolve(String fileName){ return get(fileName); } + + /** + * Loads a sound by name from the sounds/ folder. OGG and MP3 are supported; the extension is automatically added to the end of the file name. + * Results are cached; consecutive calls to this method with the same name will return the same sound instance. + * */ + public Sound loadSound(String soundName){ + if(Vars.headless) return Sounds.none; + + return loadedSounds.get(soundName, () -> { + String name = "sounds/" + soundName; + String path = Vars.tree.get(name + ".ogg").exists() ? name + ".ogg" : name + ".mp3"; + + var sound = new Sound(); + var desc = Core.assets.load(path, Sound.class, new SoundParameter(sound)); + desc.errored = Throwable::printStackTrace; + + return sound; + }); + } + + /** + * Loads a music file by name from the music/ folder. OGG and MP3 are supported; the extension is automatically added to the end of the file name. + * Results are cached; consecutive calls to this method with the same name will return the same music instance. + * */ + public Music loadMusic(String musicName){ + if(Vars.headless) return new Music(); + + return loadedMusic.get(musicName, () -> { + String name = "music/" + musicName; + String path = Vars.tree.get(name + ".ogg").exists() ? name + ".ogg" : name + ".mp3"; + + var music = new Music(); + var desc = Core.assets.load(path, Music.class, new MusicParameter(music)); + desc.errored = Throwable::printStackTrace; + + return music; + }); + } } diff --git a/core/src/mindustry/core/GameState.java b/core/src/mindustry/core/GameState.java index de7cf6f60c..1066e6d2a6 100644 --- a/core/src/mindustry/core/GameState.java +++ b/core/src/mindustry/core/GameState.java @@ -16,37 +16,52 @@ public class GameState{ public int wave = 1; /** Wave countdown in ticks. */ public float wavetime; + /** Logic tick. */ + public double tick; + /** Continuously ticks up every non-paused update. */ + public long updateId; /** Whether the game is in game over state. */ - public boolean gameOver = false, serverPaused = false, wasTimeout; + public boolean gameOver = false; + /** Whether the player's team won the match. */ + public boolean won = false; + /** Server ticks/second. Only valid in multiplayer. */ + public int serverTps = -1; /** Map that is currently being played on. */ public Map map = emptyMap; /** The current game rules. */ public Rules rules = new Rules(); /** Statistics for this save/game. Displayed after game over. */ public GameStats stats = new GameStats(); + /** Markers not linked to objectives. Controlled by world processors. */ + public MapMarkers markers = new MapMarkers(); + /** Locale-specific string bundles of current map */ + public MapLocales mapLocales = new MapLocales(); /** Global attributes of the environment, calculated by weather. */ public Attributes envAttrs = new Attributes(); /** Team data. Gets reset every new game. */ public Teams teams = new Teams(); /** Number of enemies in the game; only used clientside in servers. */ public int enemies; + /** Map being playtested (not edited!) */ + public @Nullable Map playtestingMap; /** Current game state. */ private State state = State.menu; + @Nullable public Unit boss(){ - return teams.boss; + return teams.bosses.firstOpt(); } public void set(State astate){ - //cannot pause when in multiplayer - if(astate == State.paused && net.active()) return; + //nothing to change. + if(state == astate) return; Events.fire(new StateChangeEvent(state, astate)); state = astate; } public boolean hasSpawns(){ - return rules.waves && !(isCampaign() && rules.attackMode); + return rules.waves && ((rules.waveTeam.cores().size > 0 && rules.attackMode) || rules.spawns.size > 0); } /** Note that being in a campaign does not necessarily mean having a sector. */ @@ -58,21 +73,25 @@ public class GameState{ return rules.sector != null; } - @Nullable - public Sector getSector(){ + public @Nullable Sector getSector(){ return rules.sector; } + public @Nullable Planet getPlanet(){ + return rules.sector != null ? rules.sector.planet : rules.planet; + } + public boolean isEditor(){ return rules.editor; } public boolean isPaused(){ - return (is(State.paused) && !net.active()) || (gameOver && (!net.active() || isCampaign())) || (serverPaused && !isMenu()); + return state == State.paused; } + /** @return whether there is an unpaused game in progress. */ public boolean isPlaying(){ - return (state == State.playing) || (state == State.paused && !isPaused()); + return state == State.playing; } /** @return whether the current state is *not* the menu. */ diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index 91a0c410c1..328d838c4c 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -3,6 +3,7 @@ package mindustry.core; import arc.*; import arc.math.*; import arc.util.*; +import mindustry.ai.*; import mindustry.annotations.Annotations.*; import mindustry.core.GameState.*; import mindustry.ctype.*; @@ -14,6 +15,7 @@ import mindustry.maps.*; import mindustry.type.*; import mindustry.type.Weather.*; import mindustry.world.*; +import mindustry.world.blocks.storage.CoreBlock.*; import java.util.*; @@ -32,85 +34,108 @@ public class Logic implements ApplicationListener{ public Logic(){ Events.on(BlockDestroyEvent.class, event -> { + //skip if rule is off + if(!state.rules.ghostBlocks) return; + //blocks that get broken are appended to the team's broken block queue Tile tile = event.tile; - //skip null entities or un-rebuildables, for obvious reasons; also skip client since they can't modify these requests - if(tile.build == null || !tile.block().rebuildable || net.client()) return; + //skip null entities or un-rebuildables, for obvious reasons + if(tile.build == null || !tile.block().rebuildable) return; tile.build.addPlan(true); }); Events.on(BlockBuildEndEvent.class, event -> { if(!event.breaking){ - TeamData data = state.teams.get(event.team); - Iterator it = data.blocks.iterator(); - while(it.hasNext()){ - BlockPlan b = it.next(); - Block block = content.block(b.block); - if(event.tile.block().bounds(event.tile.x, event.tile.y, Tmp.r1).overlaps(block.bounds(b.x, b.y, Tmp.r2))){ - it.remove(); - } + checkOverlappingPlans(event.team, event.tile); + + if(event.team == state.rules.defaultTeam){ + state.stats.placedBlockCount.increment(event.tile.block()); } } }); + Events.on(PayloadDropEvent.class, e -> { + if(e.build != null){ + checkOverlappingPlans(e.build.team, e.build.tile); + } + }); + //when loading a 'damaged' sector, propagate the damage Events.on(SaveLoadEvent.class, e -> { if(state.isCampaign()){ - SectorInfo info = state.rules.sector.info; - info.write(); + state.rules.coreIncinerates = true; - //how much wave time has passed - int wavesPassed = info.wavesPassed; + //TODO why is this even a thing? + state.rules.canGameOver = true; - //wave has passed, remove all enemies, they are assumed to be dead - if(wavesPassed > 0){ - Groups.unit.each(u -> { - if(u.team == state.rules.waveTeam){ - u.remove(); + //fresh map has no sector info + if(!e.isMap){ + SectorInfo info = state.rules.sector.info; + info.write(); + + //only simulate waves if the planet allows it + if(state.rules.sector.planet.allowWaveSimulation){ + //how much wave time has passed + int wavesPassed = info.wavesPassed; + + //wave has passed, remove all enemies, they are assumed to be dead + if(wavesPassed > 0){ + Groups.unit.each(u -> { + if(u.team == state.rules.waveTeam){ + u.remove(); + } + }); } - }); - } - //simulate passing of waves - if(wavesPassed > 0){ - //simulate wave counter moving forward - state.wave += wavesPassed; - state.wavetime = state.rules.waveSpacing; + //simulate passing of waves + if(wavesPassed > 0){ + //simulate wave counter moving forward + state.wave += wavesPassed; + state.wavetime = state.rules.waveSpacing * state.getPlanet().campaignRules.difficulty.waveTimeMultiplier; - SectorDamage.applyCalculatedDamage(); - - //make sure damaged buildings are counted - for(Tile tile : world.tiles){ - if(tile.build != null && tile.build.damaged()){ - indexer.notifyTileDamaged(tile.build); + SectorDamage.applyCalculatedDamage(); } } + + state.getSector().planet.applyRules(state.rules); + + //reset values + info.damage = 0f; + info.wavesPassed = 0; + info.hasCore = true; + info.secondsPassed = 0; + + state.rules.sector.saveInfo(); } - - //reset values - info.damage = 0f; - info.wavesPassed = 0; - info.hasCore = true; - info.secondsPassed = 0; - - state.rules.sector.saveInfo(); } }); + Events.on(PlayEvent.class, e -> { + //reset weather on play + var randomWeather = state.rules.weather.copy().shuffle(); + float sum = 0f; + for(var weather : randomWeather){ + weather.cooldown = sum + Mathf.random(weather.maxFrequency); + sum += weather.cooldown; + } + //tick resets on new save play + state.tick = 0f; + }); + Events.on(WorldLoadEvent.class, e -> { //enable infinite ammo for wave team by default state.rules.waveTeam.rules().infiniteAmmo = true; if(state.isCampaign()){ //enable building AI on campaign unless the preset disables it - if(!(state.getSector().preset != null && !state.getSector().preset.useAI)){ - state.rules.waveTeam.rules().ai = true; - } - state.rules.waveTeam.rules().aiTier = state.getSector().threat * 0.8f; - state.rules.waveTeam.rules().infiniteResources = true; - //fill enemy cores by default. + state.rules.coreIncinerates = true; + state.rules.allowEditWorldProcessors = false; + state.rules.waveTeam.rules().infiniteResources = true; + state.rules.waveTeam.rules().buildSpeedMultiplier *= state.getPlanet().enemyBuildSpeedMultiplier; + + //fill enemy cores by default? TODO decide for(var core : state.rules.waveTeam.cores()){ for(Item item : content.items()){ core.items.set(item, core.block.itemCapacity); @@ -131,61 +156,95 @@ public class Logic implements ApplicationListener{ Events.on(SectorCaptureEvent.class, e -> { if(!net.client() && e.sector == state.getSector() && e.sector.isBeingPlayed()){ - for(Tile tile : world.tiles){ - //convert all blocks to neutral, randomly killing them - if(tile.isCenter() && tile.build != null && tile.build.team == state.rules.waveTeam){ - Building b = tile.build; - Call.setTeam(b, Team.derelict); - Time.run(Mathf.random(0f, 60f * 6f), () -> { - if(Mathf.chance(0.25)){ - b.kill(); - } - }); - } + state.rules.waveTeam.data().destroyToDerelict(); + } + }); + + Events.on(BlockDestroyEvent.class, e -> { + if(e.tile.build instanceof CoreBuild core && core.team.isAI() && state.rules.coreDestroyClear){ + Core.app.post(() -> { + core.team.data().timeDestroy(core.x, core.y, state.rules.enemyCoreBuildRadius); + }); + } + }); + + //listen to core changes; if all cores have been destroyed, set to derelict. + Events.on(CoreChangeEvent.class, e -> Core.app.post(() -> { + if(state.rules.cleanupDeadTeams && state.rules.pvp && !e.core.isAdded() && e.core.team != Team.derelict && e.core.team.cores().isEmpty()){ + e.core.team.data().destroyToDerelict(); + } + })); + + Events.on(BlockBuildEndEvent.class, e -> { + if(e.team == state.rules.defaultTeam){ + if(e.breaking){ + state.stats.buildingsDeconstructed++; + }else{ + state.stats.buildingsBuilt++; } - - //kill all units - Groups.unit.each(u -> { - if(u.team == state.rules.waveTeam){ - Time.run(Mathf.random(0f, 60f * 5f), u::kill); - } - }); } }); - //send out items to each client - Events.on(TurnEvent.class, e -> { - if(net.server() && state.isCampaign()){ - int[] out = new int[content.items().size]; - state.getSector().info.production.each((item, stat) -> { - out[item.id] = Math.max(0, (int)(stat.mean * turnDuration / 60)); - }); - - Call.sectorProduced(out); + Events.on(BlockDestroyEvent.class, e -> { + if(e.tile.team() == state.rules.defaultTeam){ + state.stats.buildingsDestroyed ++; } }); + Events.on(UnitDestroyEvent.class, e -> { + if(e.unit.team() != state.rules.defaultTeam){ + state.stats.enemyUnitsDestroyed ++; + } + }); + + Events.on(UnitCreateEvent.class, e -> { + if(e.unit.team == state.rules.defaultTeam){ + state.stats.unitsCreated++; + } + }); + } + + private void checkOverlappingPlans(Team team, Tile tile){ + TeamData data = team.data(); + Iterator it = data.plans.iterator(); + var bounds = tile.block().bounds(tile.x, tile.y, Tmp.r1); + while(it.hasNext()){ + BlockPlan b = it.next(); + if(bounds.overlaps(b.block.bounds(b.x, b.y, Tmp.r2))){ + b.removed = true; + it.remove(); + } + } } /** Adds starting items, resets wave time, and sets state to playing. */ public void play(){ state.set(State.playing); //grace period of 2x wave time before game starts - state.wavetime = state.rules.waveSpacing * 2; + state.wavetime = (state.rules.initialWaveSpacing <= 0 ? state.rules.waveSpacing * 2 : state.rules.initialWaveSpacing) * (state.isCampaign() ? state.getPlanet().campaignRules.difficulty.waveTimeMultiplier : 1f);; Events.fire(new PlayEvent()); //add starting items - if(!state.isCampaign()){ + if(!state.isCampaign() || !state.rules.sector.planet.allowLaunchLoadout || (state.rules.sector.preset != null && state.rules.sector.preset.addStartingItems)){ for(TeamData team : state.teams.getActive()){ if(team.hasCore()){ - Building entity = team.core(); + CoreBuild entity = team.core(); entity.items.clear(); + for(ItemStack stack : state.rules.loadout){ - entity.items.add(stack.item, stack.amount); + //make sure to cap storage + entity.items.add(stack.item, Math.min(stack.amount, entity.storageCapacity - entity.items.get(stack.item))); } } } } + + //heal all cores on game start + for(TeamData team : state.teams.getActive()){ + for(var entity : team.cores){ + entity.heal(); + } + } } public void reset(){ @@ -198,19 +257,20 @@ public class Logic implements ApplicationListener{ Groups.clear(); Time.clear(); Events.fire(new ResetEvent()); + world.tiles = new Tiles(0, 0); //save settings on reset Core.settings.manualSave(); } public void skipWave(){ - state.wavetime = 0; + runWave(); } public void runWave(){ spawner.spawnEnemies(); state.wave++; - state.wavetime = state.rules.waveSpacing; + state.wavetime = state.rules.waveSpacing * (state.isCampaign() ? state.getPlanet().campaignRules.difficulty.waveTimeMultiplier : 1f); Events.fire(new WaveEvent()); } @@ -234,7 +294,14 @@ public class Logic implements ApplicationListener{ if(state.rules.waves && (state.enemies == 0 && state.rules.winWave > 0 && state.wave >= state.rules.winWave && !spawner.isSpawning()) || (state.rules.attackMode && state.rules.waveTeam.cores().isEmpty())){ - Call.sectorCapture(); + if(state.rules.sector.preset != null && state.rules.sector.preset.attackAfterWaves && !state.rules.attackMode){ + //activate attack mode to destroy cores after waves are done. + state.rules.attackMode = true; + state.rules.waves = false; + Call.setRules(state.rules); + }else{ + Call.sectorCapture(); + } } }else{ if(!state.rules.attackMode && state.teams.playerCores().size == 0 && !state.gameOver){ @@ -242,19 +309,22 @@ public class Logic implements ApplicationListener{ Events.fire(new GameOverEvent(state.rules.waveTeam)); }else if(state.rules.attackMode){ //count # of teams alive - int countAlive = state.teams.getActive().count(TeamData::hasCore); + int countAlive = state.teams.getActive().count(t -> t.hasCore() && t.team != Team.derelict); if((countAlive <= 1 || (!state.rules.pvp && state.rules.defaultTeam.core() == null)) && !state.gameOver){ //find team that won - TeamData left = state.teams.getActive().find(TeamData::hasCore); + TeamData left = state.teams.getActive().find(t -> t.hasCore() && t.team != Team.derelict); Events.fire(new GameOverEvent(left == null ? Team.derelict : left.team)); state.gameOver = true; } + }else if(!state.gameOver && state.rules.waves && (state.enemies == 0 && state.rules.winWave > 0 && state.wave >= state.rules.winWave && !spawner.isSpawning())){ + state.gameOver = true; + Events.fire(new GameOverEvent(state.rules.defaultTeam)); } } } - private void updateWeather(){ + protected void updateWeather(){ state.rules.weather.removeAll(w -> w.weather == null); for(WeatherEntry entry : state.rules.weather){ @@ -282,14 +352,21 @@ public class Logic implements ApplicationListener{ return; } + boolean initial = !state.rules.sector.info.wasCaptured; + state.rules.sector.info.wasCaptured = true; //fire capture event - Events.fire(new SectorCaptureEvent(state.rules.sector)); + Events.fire(new SectorCaptureEvent(state.rules.sector, initial)); //disable attack mode state.rules.attackMode = false; + //map is over, no more world processor objective stuff + state.rules.disableWorldProcessors = true; + + Call.clearObjectives(); + //save, just in case if(!headless && !net.client()){ control.saves.saveSector(state.rules.sector); @@ -299,12 +376,16 @@ public class Logic implements ApplicationListener{ @Remote(called = Loc.both) public static void updateGameOver(Team winner){ state.gameOver = true; + if(!headless){ + state.won = player.team() == winner; + } } @Remote(called = Loc.both) public static void gameOver(Team winner){ state.stats.wavesLasted = state.wave; - ui.restart.show(winner); + state.won = player.team() == winner; + Time.run(60f * 3f, () -> ui.restart.show(winner)); netClient.setQuiet(); } @@ -313,51 +394,20 @@ public class Logic implements ApplicationListener{ public static void researched(Content content){ if(!(content instanceof UnlockableContent u)) return; - var node = u.node(); + boolean was = u.unlockedNowHost(); + state.rules.researched.add(u); - //unlock all direct dependencies on client, permanently - while(node != null){ - node.content.unlock(); - node = node.parent; - } - - state.rules.researched.add(u.name); - } - - //called when the remote server runs a turn and produces something - @Remote - public static void sectorProduced(int[] amounts){ - if(!state.isCampaign()) return; - Planet planet = state.rules.sector.planet; - boolean any = false; - - for(Item item : content.items()){ - int am = amounts[item.id]; - if(am > 0){ - int sumMissing = planet.sectors.sum(s -> s.hasBase() ? s.info.storageCapacity - s.info.items.get(item) : 0); - if(sumMissing == 0) continue; - //how much % to add - double percent = Math.min((double)am / sumMissing, 1); - for(Sector sec : planet.sectors){ - if(sec.hasBase()){ - int added = (int)Math.ceil(((sec.info.storageCapacity - sec.info.items.get(item)) * percent)); - sec.info.items.add(item, added); - any = true; - } - } - } - } - - if(any){ - for(Sector sec : planet.sectors){ - sec.saveInfo(); - } + if(!was){ + Events.fire(new UnlockEvent(u)); } } @Override public void dispose(){ //save the settings before quitting + if(netServer != null){ + netServer.admins.forceSave(); + } Core.settings.manualSave(); } @@ -367,16 +417,29 @@ public class Logic implements ApplicationListener{ universe.updateGlobal(); if(Core.settings.modified() && !state.isPlaying()){ + netServer.admins.forceSave(); Core.settings.forceSave(); } + boolean runStateCheck = !net.client() && !world.isInvalidMap() && !state.isEditor() && state.rules.canGameOver; + if(state.isGame()){ if(!net.client()){ - state.enemies = Groups.unit.count(u -> u.team() == state.rules.waveTeam && u.type.isCounted); + state.enemies = Groups.unit.count(u -> u.team() == state.rules.waveTeam && u.isEnemy()); } if(!state.isPaused()){ + Events.fire(Trigger.beforeGameUpdate); + + float delta = Core.graphics.getDeltaTime(); + state.tick += Float.isNaN(delta) || Float.isInfinite(delta) ? 0f : delta * 60f; + state.updateId ++; state.teams.updateTeamStats(); + MapPreviewLoader.checkPreviews(); + + if(state.rules.fog){ + fogControl.update(); + } if(state.isCampaign()){ state.rules.sector.info.update(); @@ -387,17 +450,30 @@ public class Logic implements ApplicationListener{ } Time.update(); + logicVars.update(); + //weather is serverside if(!net.client() && !state.isEditor()){ updateWeather(); for(TeamData data : state.teams.getActive()){ - if(data.hasAI()){ - data.ai.update(); + //does not work on PvP so built-in attack maps can have it on by default without issues + if(data.team.rules().buildAi && !state.rules.pvp){ + if(data.buildAi == null) data.buildAi = new BaseBuilderAI(data); + data.buildAi.update(); + } + + if(data.team.rules().rtsAi){ + if(data.rtsAi == null) data.rtsAi = new RtsAI(data); + data.rtsAi.update(); } } } + if(!state.isEditor()){ + state.rules.objectives.update(); + } + if(state.rules.waves && state.rules.waveTimer && !state.gameOver){ if(!isWaitingWave()){ state.wavetime = Math.max(state.wavetime - Time.delta, 0); @@ -410,14 +486,19 @@ public class Logic implements ApplicationListener{ //apply weather attributes state.envAttrs.clear(); + state.envAttrs.add(state.rules.attributes); Groups.weather.each(w -> state.envAttrs.add(w.weather.attrs, w.opacity)); Groups.update(); + + Events.fire(Trigger.afterGameUpdate); } - if(!net.client() && !world.isInvalidMap() && !state.isEditor() && state.rules.canGameOver){ + if(runStateCheck){ checkGameState(); } + }else if(netServer.isWaitingForPlayers() && runStateCheck){ + checkGameState(); } } diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index 32b058997b..32c4543043 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -1,6 +1,7 @@ package mindustry.core; import arc.*; +import arc.audio.*; import arc.func.*; import arc.graphics.*; import arc.math.*; @@ -9,31 +10,36 @@ import arc.util.*; import arc.util.CommandHandler.*; import arc.util.io.*; import arc.util.serialization.*; +import arc.util.serialization.JsonValue.*; import mindustry.*; import mindustry.annotations.Annotations.*; import mindustry.core.GameState.*; import mindustry.entities.*; -import mindustry.entities.units.*; import mindustry.game.EventType.*; import mindustry.game.*; +import mindustry.game.Teams.*; import mindustry.gen.*; +import mindustry.io.*; +import mindustry.logic.*; import mindustry.net.Administration.*; -import mindustry.net.Net.*; import mindustry.net.*; import mindustry.net.Packets.*; -import mindustry.ui.*; import mindustry.world.*; import mindustry.world.modules.*; import java.io.*; +import java.util.*; import java.util.zip.*; import static mindustry.Vars.*; public class NetClient implements ApplicationListener{ - private static final float dataTimeout = 60 * 18; - private static final float playerSyncTime = 2; - public static final float viewScale = 2f; + private static final long entitySnapshotTimeout = 1000 * 20; + private static final float dataTimeout = 60 * 30; + /** ticks between syncs, e.g. 5 means 60/5 = 12 syncs/sec*/ + private static final float playerSyncTime = 4; + private static final Reads dataReads = new Reads(null); + private static final JsonValue tmpJsonMap = new JsonValue(ValueType.object); private long ping; private Interval timer = new Interval(5); @@ -45,6 +51,8 @@ public class NetClient implements ApplicationListener{ private boolean quietReset = false; /** Counter for data timeout. */ private float timeoutTime = 0f; + /** Timestamp for last UDP state snapshot received. */ + private long lastSnapshotTimestamp; /** Last sent client snapshot ID. */ private int lastSent; @@ -55,16 +63,25 @@ public class NetClient implements ApplicationListener{ private DataInputStream dataStream = new DataInputStream(byteStream); /** Packet handlers for custom types of messages. */ private ObjectMap>> customPacketHandlers = new ObjectMap<>(); + /** Packet handlers for custom types of messages, in binary. */ + private ObjectMap>> customBinaryPacketHandlers = new ObjectMap<>(); public NetClient(){ net.handleClient(Connect.class, packet -> { Log.info("Connecting to server: @", packet.addressTCP); - player.admin(false); + player.admin = false; reset(); + //connection after reset + if(!net.client()){ + Log.info("Connection canceled."); + disconnectQuietly(); + return; + } + ui.loadfrag.hide(); ui.loadfrag.show("@connecting.data"); @@ -73,12 +90,18 @@ public class NetClient implements ApplicationListener{ disconnectQuietly(); }); - ConnectPacket c = new ConnectPacket(); + String locale = Core.settings.getString("locale"); + if(locale.equals("default")){ + locale = Locale.getDefault().toString(); + } + + var c = new ConnectPacket(); c.name = player.name; + c.locale = locale; c.mods = mods.getModStrings(); c.mobile = mobile; c.versionType = Version.type; - c.color = player.color().rgba(); + c.color = player.color.rgba(); c.usid = getUsid(packet.addressTCP); c.uuid = platform.getUUID(); @@ -89,7 +112,7 @@ public class NetClient implements ApplicationListener{ return; } - net.send(c, SendMode.tcp); + net.send(c, true); }); net.handleClient(Disconnect.class, packet -> { @@ -98,19 +121,19 @@ public class NetClient implements ApplicationListener{ connecting = false; logic.reset(); platform.updateRPC(); - player.name(Core.settings.getString("name")); - player.color().set(Core.settings.getInt("color-0")); + player.name = Core.settings.getString("name"); + player.color.set(Core.settings.getInt("color-0")); if(quiet) return; Time.runTask(3f, ui.loadfrag::hide); if(packet.reason != null){ - switch(packet.reason){ - case "closed" -> ui.showSmall("@disconnect", "@disconnect.closed"); - case "timeout" -> ui.showSmall("@disconnect", "@disconnect.timeout"); - case "error" -> ui.showSmall("@disconnect", "@disconnect.error"); - } + ui.showSmall(switch(packet.reason){ + case "closed" -> "@disconnect.closed"; + case "timeout" -> "@disconnect.timeout"; + default -> "@disconnect.error"; + }, "@disconnect.closed"); }else{ ui.showErrorMessage("@disconnect"); } @@ -122,10 +145,6 @@ public class NetClient implements ApplicationListener{ finishConnecting(); }); - - net.handleClient(InvokePacket.class, packet -> { - RemoteReadClient.readPacket(packet.reader(), packet.type); - }); } public void addPacketHandler(String type, Cons handler){ @@ -136,10 +155,34 @@ public class NetClient implements ApplicationListener{ return customPacketHandlers.get(type, Seq::new); } + public void addBinaryPacketHandler(String type, Cons handler){ + customBinaryPacketHandlers.get(type, Seq::new).add(handler); + } + + public Seq> getBinaryPacketHandlers(String type){ + return customBinaryPacketHandlers.get(type, Seq::new); + } + + @Remote(targets = Loc.server, variants = Variant.both) + public static void clientBinaryPacketReliable(String type, byte[] contents){ + var arr = netClient.customBinaryPacketHandlers.get(type); + if(arr != null){ + for(var c : arr){ + c.get(contents); + } + } + } + + @Remote(targets = Loc.server, variants = Variant.both, unreliable = true) + public static void clientBinaryPacketUnreliable(String type, byte[] contents){ + clientBinaryPacketReliable(type, contents); + } + @Remote(targets = Loc.server, variants = Variant.both) public static void clientPacketReliable(String type, String contents){ - if(netClient.customPacketHandlers.containsKey(type)){ - for(Cons c : netClient.customPacketHandlers.get(type)){ + var arr = netClient.customPacketHandlers.get(type); + if(arr != null){ + for(Cons c : arr){ c.get(contents); } } @@ -150,16 +193,52 @@ public class NetClient implements ApplicationListener{ clientPacketReliable(type, contents); } - //called on all clients + @Remote(variants = Variant.both, unreliable = true, called = Loc.server) + public static void sound(Sound sound, float volume, float pitch, float pan){ + if(sound == null || headless) return; + + sound.play(Mathf.clamp(volume, 0, 8f) * Core.settings.getInt("sfxvol") / 100f, Mathf.clamp(pitch, 0f, 20f), pan, false, false); + } + + @Remote(variants = Variant.both, unreliable = true, called = Loc.server) + public static void soundAt(Sound sound, float x, float y, float volume, float pitch){ + if(sound == null || headless) return; + + sound.at(x, y, Mathf.clamp(pitch, 0f, 20f), Mathf.clamp(volume, 0, 4f)); + } + + @Remote(variants = Variant.both, unreliable = true) + public static void effect(Effect effect, float x, float y, float rotation, Color color){ + if(effect == null) return; + + effect.at(x, y, rotation, color); + } + + @Remote(variants = Variant.both, unreliable = true) + public static void effect(Effect effect, float x, float y, float rotation, Color color, Object data){ + if(effect == null) return; + + effect.at(x, y, rotation, color, data); + } + + @Remote(variants = Variant.both) + public static void effectReliable(Effect effect, float x, float y, float rotation, Color color){ + effect(effect, x, y, rotation, color); + } + @Remote(targets = Loc.server, variants = Variant.both) - public static void sendMessage(String message, String sender, Player playersender){ + public static void sendMessage(String message, @Nullable String unformatted, @Nullable Player playersender){ if(Vars.ui != null){ - Vars.ui.chatfrag.addMessage(message, sender); + Vars.ui.chatfrag.addMessage(message); + Sounds.chatMessage.play(); } - if(playersender != null){ - playersender.lastText(message); + if(playersender != null && unformatted != null){ + //display raw unformatted text above player head + playersender.lastText(unformatted); playersender.textFadeTime(1f); + + Events.fire(new PlayerChatEvent(playersender, unformatted)); } } @@ -167,76 +246,83 @@ public class NetClient implements ApplicationListener{ @Remote(called = Loc.server, targets = Loc.server) public static void sendMessage(String message){ if(Vars.ui != null){ - Vars.ui.chatfrag.addMessage(message, null); + Vars.ui.chatfrag.addMessage(message); + Sounds.chatMessage.play(); } } //called when a server receives a chat message from a player @Remote(called = Loc.server, targets = Loc.client) public static void sendChatMessage(Player player, String message){ + + //do not receive chat messages from clients that are too young or not registered + if(net.server() && player != null && player.con != null && (Time.timeSinceMillis(player.con.connectTime) < 500 || !player.con.hasConnected || !player.isAdded())) return; + + //detect and kick for foul play + if(player != null && player.con != null && !player.con.chatRate.allow(2000, Config.chatSpamLimit.num())){ + player.con.kick(KickReason.kick); + netServer.admins.blacklistDos(player.con.address); + return; + } + + if(message == null) return; + if(message.length() > maxTextLength){ throw new ValidateException(player, "Player has sent a message above the text limit."); } + message = message.replace("\n", ""); + Events.fire(new PlayerChatEvent(player, message)); + //log commands before they are handled + if(message.startsWith(netServer.clientCommands.getPrefix())){ + //log with brackets + Log.info("<&fi@: @&fr>", "&lk" + player.plainName(), "&lw" + message); + } + //check if it's a command CommandResponse response = netServer.clientCommands.handleMessage(message, player); if(response.type == ResponseType.noCommand){ //no command to handle message = netServer.admins.filterMessage(player, message); - //supress chat message if it's filtered out + //suppress chat message if it's filtered out if(message == null){ return; } //special case; graphical server needs to see its message if(!headless){ - sendMessage(message, colorizeName(player.id(), player.name), player); + sendMessage(netServer.chatFormatter.format(player, message), message, player); } //server console logging - Log.info("&fi@: @", "&lc" + player.name, "&lw" + message); + Log.info("&fi@: @", "&lc" + player.plainName(), "&lw" + message); //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 - Call.sendMessage(message, colorizeName(player.id(), player.name), player); + Call.sendMessage(netServer.chatFormatter.format(player, message), message, player); }else{ - //log command to console but with brackets - Log.info("<&fi@: @&fr>", "&lk" + player.name, "&lw" + 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]."; + String text = netServer.invalidHandler.handle(player, response); + if(text != null){ + player.sendMessage(text); } - - player.sendMessage(text); } } } - public static String colorizeName(int id, String name){ - Player player = Groups.player.getByID(id); - if(name == null || player == null) return null; - return "[#" + player.color().toString().toUpperCase() + "]" + name; - } - @Remote(called = Loc.client, variants = Variant.one) public static void connect(String ip, int port){ + if(!steam && ip.startsWith("steam:")) return; netClient.disconnectQuietly(); logic.reset(); ui.join.connect(ip, port); } - @Remote(targets = Loc.client) + @Remote(targets = Loc.client, priority = PacketPriority.high) public static void ping(Player player, long time){ Call.pingResponse(player.con, time); } @@ -257,7 +343,7 @@ public class NetClient implements ApplicationListener{ public static void kick(KickReason reason){ netClient.disconnectQuietly(); logic.reset(); - + if(reason == KickReason.serverRestarting){ ui.join.reconnect(); return; @@ -281,83 +367,42 @@ public class NetClient implements ApplicationListener{ ui.loadfrag.hide(); } - @Remote(variants = Variant.both, unreliable = true) - public static void setHudText(String message){ - if(message == null) return; - - ui.hudfrag.setHudText(message); - } - - @Remote(variants = Variant.both) - public static void hideHudText(){ - ui.hudfrag.toggleHudText(false); - } - - /** TCP version */ - @Remote(variants = Variant.both) - public static void setHudTextReliable(String message){ - setHudText(message); - } - - @Remote(variants = Variant.both) - public static void announce(String message){ - if(message == null) return; - - ui.announce(message); - } - - @Remote(variants = Variant.both) - public static void infoMessage(String message){ - if(message == null) return; - - ui.showText("", message); - } - - @Remote(variants = Variant.both) - public static void infoPopup(String message, float duration, int align, int top, int left, int bottom, int right){ - if(message == null) return; - - ui.showInfoPopup(message, duration, align, top, left, bottom, right); - } - - @Remote(variants = Variant.both) - public static void label(String message, float duration, float worldx, float worldy){ - if(message == null) return; - - ui.showLabel(message, duration, worldx, worldy); - } - - @Remote(variants = Variant.both, unreliable = true) - public static void effect(Effect effect, float x, float y, float rotation, Color color){ - if(effect == null) return; - - effect.at(x, y, rotation, color); - } - - @Remote(variants = Variant.both) - public static void effectReliable(Effect effect, float x, float y, float rotation, Color color){ - effect(effect, x, y, rotation, color); - } - - @Remote(variants = Variant.both) - public static void infoToast(String message, float duration){ - if(message == null) return; - - ui.showInfoToast(message, duration); - } - - @Remote(variants = Variant.both) - public static void warningToast(int unicode, String text){ - if(text == null || Fonts.icon.getData().getGlyph((char)unicode) == null) return; - - ui.hudfrag.showToast(Fonts.getGlyph(Fonts.icon, (char)unicode), text); - } - @Remote(variants = Variant.both) public static void setRules(Rules rules){ state.rules = rules; } + @Remote(variants = Variant.both) + public static void setRule(String rule, String jsonData){ + try{ + //readField searches for the specified value, so create a fake parent for it. + tmpJsonMap.child = null; + tmpJsonMap.addChild(rule, new JsonReader().parse(jsonData)); + JsonIO.json.readField(state.rules, rule, tmpJsonMap); + }catch(Throwable error){ + Log.err("Failed to read rule", error); + } + } + + //NOTE: avoid using this, runs into packet/buffer size limitations + @Remote(variants = Variant.both) + public static void setObjectives(MapObjectives executor){ + state.rules.objectives = executor; + } + + @Remote(variants = Variant.both, called = Loc.server) + public static void clearObjectives(){ + state.rules.objectives.clear(); + } + + @Remote(variants = Variant.both, called = Loc.server) + public static void completeObjective(int index){ + var obj = state.rules.objectives.get(index); + if(obj != null){ + obj.done(); + } + } + @Remote(variants = Variant.both) public static void worldDataBegin(){ Groups.clear(); @@ -382,6 +427,13 @@ public class NetClient implements ApplicationListener{ player.set(x, y); } + @Remote(variants = Variant.both, unreliable = true) + public static void setCameraPosition(float x, float y){ + if(Core.camera != null){ + Core.camera.position.set(x, y); + } + } + @Remote public static void playerDisconnect(int playerid){ if(netClient != null){ @@ -390,67 +442,88 @@ public class NetClient implements ApplicationListener{ Groups.player.removeByID(playerid); } + public static void readSyncEntity(DataInputStream input, Reads read) throws IOException{ + int id = input.readInt(); + byte typeID = input.readByte(); + + Syncc entity = Groups.sync.getByID(id); + boolean add = false, created = false; + + if(entity == null && id == player.id()){ + entity = player; + add = true; + } + + //entity must not be added yet, so create it + if(entity == null){ + entity = (Syncc)EntityMapping.map(typeID & 0xFF).get(); + entity.id(id); + if(!netClient.isEntityUsed(entity.id())){ + add = true; + } + created = true; + } + + //read the entity + entity.readSync(read); + + if(created){ + //snap initial starting position + entity.snapSync(); + } + + if(add){ + entity.add(); + netClient.addRemovedEntity(entity.id()); + } + } + @Remote(variants = Variant.one, priority = PacketPriority.low, unreliable = true) - public static void entitySnapshot(short amount, short dataLen, byte[] data){ + public static void entitySnapshot(short amount, byte[] data){ try{ - netClient.byteStream.setBytes(net.decompressSnapshot(data, dataLen)); + netClient.lastSnapshotTimestamp = Time.millis(); + netClient.byteStream.setBytes(data); DataInputStream input = netClient.dataStream; - //go through each entity for(int j = 0; j < amount; j++){ - int id = input.readInt(); - byte typeID = input.readByte(); - - Syncc entity = Groups.sync.getByID(id); - boolean add = false, created = false; - - if(entity == null && id == player.id()){ - entity = player; - add = true; - } - - //entity must not be added yet, so create it - if(entity == null){ - entity = (Syncc)EntityMapping.map(typeID).get(); - entity.id(id); - if(!netClient.isEntityUsed(entity.id())){ - add = true; - } - created = true; - } - - //read the entity - entity.readSync(Reads.get(input)); - - if(created){ - //snap initial starting position - entity.snapSync(); - } - - if(add){ - entity.add(); - netClient.addRemovedEntity(entity.id()); - } + readSyncEntity(input, Reads.get(input)); + } + }catch(Exception e){ + //don't disconnect, just log it + Log.err("Error reading entity snapshot", e); + } + } + + @Remote(variants = Variant.one, priority = PacketPriority.low, unreliable = true) + public static void hiddenSnapshot(IntSeq ids){ + for(int i = 0; i < ids.size; i++){ + int id = ids.items[i]; + var entity = Groups.sync.getByID(id); + if(entity != null){ + entity.handleSyncHidden(); } - }catch(IOException e){ - throw new RuntimeException(e); } } @Remote(variants = Variant.both, priority = PacketPriority.low, unreliable = true) - public static void blockSnapshot(short amount, short dataLen, byte[] data){ + public static void blockSnapshot(short amount, byte[] data){ try{ - netClient.byteStream.setBytes(net.decompressSnapshot(data, dataLen)); + netClient.byteStream.setBytes(data); DataInputStream input = netClient.dataStream; for(int i = 0; i < amount; i++){ int pos = input.readInt(); + short block = input.readShort(); Tile tile = world.tile(pos); if(tile == null || tile.build == null){ Log.warn("Missing entity at @. Skipping block snapshot.", tile); break; } - tile.build.readAll(Reads.get(input), tile.build.version()); + if(tile.build.block.id != block){ + Log.warn("Block ID mismatch at @: @ != @. Skipping block snapshot.", tile, tile.build.block.id, block); + break; + } + tile.build.readSync(Reads.get(input), tile.build.version()); } }catch(Exception e){ Log.err(e); @@ -458,7 +531,7 @@ public class NetClient implements ApplicationListener{ } @Remote(variants = Variant.one, priority = PacketPriority.low, unreliable = true) - public static void stateSnapshot(float waveTime, int wave, int enemies, boolean paused, boolean gameOver, int timeData, short coreDataLen, byte[] coreData){ + public static void stateSnapshot(float waveTime, int wave, int enemies, boolean paused, boolean gameOver, int timeData, byte tps, long rand0, long rand1, byte[] coreData){ try{ if(wave > state.wave){ state.wave = wave; @@ -469,22 +542,30 @@ public class NetClient implements ApplicationListener{ state.wavetime = waveTime; state.wave = wave; state.enemies = enemies; - state.serverPaused = paused; + if(!state.isMenu()){ + state.set(paused ? State.paused : State.playing); + } + state.serverTps = tps & 0xff; + + //note that this is far from a guarantee that random state is synced - tiny changes in delta and ping can throw everything off again. + //syncing will only make much of a difference when rand() is called infrequently + GlobalVars.rand.seed0 = rand0; + GlobalVars.rand.seed1 = rand1; universe.updateNetSeconds(timeData); - netClient.byteStream.setBytes(net.decompressSnapshot(coreData, coreDataLen)); + netClient.byteStream.setBytes(coreData); DataInputStream input = netClient.dataStream; + dataReads.input = input; - byte cores = input.readByte(); - for(int i = 0; i < cores; i++){ - int pos = input.readInt(); - Tile tile = world.tile(pos); - - if(tile != null && tile.build != null){ - tile.build.items.read(Reads.get(input)); + int teams = input.readUnsignedByte(); + for(int i = 0; i < teams; i++){ + int team = input.readUnsignedByte(); + TeamData data = Team.all[team].data(); + if(data.cores.any()){ + data.cores.first().items.read(dataReads); }else{ - new ItemModule().read(Reads.get(input)); + new ItemModule().read(dataReads); } } @@ -498,7 +579,18 @@ public class NetClient implements ApplicationListener{ if(!net.client()) return; if(state.isGame()){ - if(!connecting) sync(); + if(!connecting){ + sync(); + + //timeout if UDP snapshot packets are not received for a while + if(lastSnapshotTimestamp > 0 && Time.timeSinceMillis(lastSnapshotTimestamp) > entitySnapshotTimeout){ + Log.err("Timed out after not received UDP snapshots."); + quiet = true; + ui.showErrorMessage("@disconnect.snapshottimeout"); + net.disconnect(); + lastSnapshotTimestamp = 0; + } + } }else if(!connecting){ net.disconnect(); }else{ //...must be connecting @@ -514,6 +606,11 @@ public class NetClient implements ApplicationListener{ } } + /** Resets the world data timeout counter. */ + public void resetTimeout(){ + timeoutTime = 0f; + } + public boolean isConnecting(){ return connecting; } @@ -530,6 +627,7 @@ public class NetClient implements ApplicationListener{ Core.app.post(Call::connectConfirm); Time.runTask(40f, platform::updateRPC); Core.app.post(ui.loadfrag::hide); + lastSnapshotTimestamp = Time.millis(); } private void reset(){ @@ -540,6 +638,7 @@ public class NetClient implements ApplicationListener{ quietReset = false; quiet = false; lastSent = 0; + lastSnapshotTimestamp = 0; Groups.clear(); ui.chatfrag.clearMessages(); @@ -581,50 +680,24 @@ public class NetClient implements ApplicationListener{ void sync(){ if(timer.get(0, playerSyncTime)){ - BuildPlan[] requests = null; - if(player.isBuilder()){ - //limit to 10 to prevent buffer overflows - int usedRequests = Math.min(player.unit().plans().size, 10); - - int totalLength = 0; - - //prevent buffer overflow by checking config length - for(int i = 0; i < usedRequests; i++){ - BuildPlan plan = player.unit().plans().get(i); - if(plan.config instanceof byte[] b){ - int length = b.length; - totalLength += length; - } - - if(totalLength > 1024){ - usedRequests = i + 1; - break; - } - } - - requests = new BuildPlan[usedRequests]; - for(int i = 0; i < usedRequests; i++){ - requests[i] = player.unit().plans().get(i); - } - } - - Unit unit = player.dead() ? Nulls.unit : player.unit(); - int uid = player.dead() ? -1 : unit.id; + boolean dead = player.dead(); + Unit unit = dead ? null : player.unit(); + int uid = dead || unit == null ? -1 : unit.id; Call.clientSnapshot( lastSent++, uid, - player.dead(), - unit.x, unit.y, - player.unit().aimX(), player.unit().aimY(), - unit.rotation, + dead, + dead ? player.x : unit.x, dead ? player.y : unit.y, + dead ? 0f : unit.aimX(), dead ? 0f : unit.aimY(), + unit == null ? 0f : unit.rotation, unit instanceof Mechc m ? m.baseRotation() : 0, - unit.vel.x, unit.vel.y, - player.unit().mineTile, + unit == null ? 0f : unit.vel.x, unit == null ? 0f : unit.vel.y, + dead ? null : unit.mineTile, player.boosting, player.shooting, ui.chatfrag.shown(), control.input.isBuilding, - requests, + player.isBuilder() && unit != null ? unit.plans : null, Core.camera.position.x, Core.camera.position.y, - Core.camera.width * viewScale, Core.camera.height * viewScale + Core.camera.width, Core.camera.height ); } diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index da801cc454..b882706e83 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -9,21 +9,20 @@ import arc.struct.*; import arc.util.*; import arc.util.CommandHandler.*; import arc.util.io.*; -import arc.util.serialization.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; import mindustry.core.GameState.*; import mindustry.entities.units.*; -import mindustry.game.EventType.*; import mindustry.game.*; +import mindustry.game.EventType.*; import mindustry.game.Teams.*; import mindustry.gen.*; import mindustry.graphics.*; +import mindustry.logic.*; import mindustry.net.*; import mindustry.net.Administration.*; import mindustry.net.Packets.*; import mindustry.world.*; -import mindustry.world.blocks.storage.CoreBlock.*; import java.io.*; import java.net.*; @@ -35,21 +34,24 @@ import static mindustry.Vars.*; public class NetServer implements ApplicationListener{ /** note that snapshots are compressed, so the max snapshot size here is above the typical UDP safe limit */ - private static final int maxSnapshotSize = 800, timerBlockSync = 0; - private static final float serverSyncTime = 12, blockSyncTime = 60 * 6; + private static final int maxSnapshotSize = 800; + private static final int timerBlockSync = 0, timerHealthSync = 1; + private static final float blockSyncTime = 60 * 6, healthSyncTime = 30; private static final FloatBuffer fbuffer = FloatBuffer.allocate(20); + private static final Writes dataWrites = new Writes(null); + private static final IntSeq hiddenIds = new IntSeq(); + private static final IntSeq healthSeq = new IntSeq(maxSnapshotSize / 4 + 1); private static final Vec2 vector = new Vec2(); - private static final Rect viewport = new Rect(); /** If a player goes away of their server-side coordinates by this distance, they get teleported back. */ - private static final float correctDist = tilesize * 12f; + private static final float correctDist = tilesize * 14f; - public final Administration admins = new Administration(); - public final CommandHandler clientCommands = new CommandHandler("/"); + public Administration admins = new Administration(); + public CommandHandler clientCommands = new CommandHandler("/"); public TeamAssigner assigner = (player, players) -> { if(state.rules.pvp){ //find team with minimum amount of players and auto-assign player to that. TeamData re = state.teams.getActive().min(data -> { - if((state.rules.waveTeam == data.team && state.rules.waves) || !data.team.active()) return Integer.MAX_VALUE; + if((state.rules.waveTeam == data.team && state.rules.waves) || !data.team.active() || data.team == Team.derelict) return Integer.MAX_VALUE; int count = 0; for(Player other : players){ @@ -57,16 +59,54 @@ public class NetServer implements ApplicationListener{ count++; } } - return count; + return (float)count + Mathf.random(-0.1f, 0.1f); //if several have the same playercount pick random }); return re == null ? null : re.team; } return state.rules.defaultTeam; }; + /** Converts a message + NULLABLE player sender into a single string. Override for custom prefixes/suffixes. */ + public ChatFormatter chatFormatter = (player, message) -> player == null ? message : "[coral][[" + player.coloredName() + "[coral]]:[white] " + message; - private boolean closing = false; - private Interval timer = new Interval(); + /** Handles an incorrect command response. Returns text that will be sent to player. Override for customisation. */ + public InvalidCommandHandler invalidHandler = (player, response) -> { + if(response.type == ResponseType.manyArguments){ + return "[scarlet]Too many arguments. Usage:[lightgray] " + response.command.text + "[gray] " + response.command.paramText; + }else if(response.type == ResponseType.fewArguments){ + return "[scarlet]Too few arguments. Usage:[lightgray] " + response.command.text + "[gray] " + response.command.paramText; + }else{ //unknown command + int minDst = 0; + Command closest = null; + + for(Command command : netServer.clientCommands.getCommandList()){ + int dst = Strings.levenshtein(command.text, response.runCommand); + if(dst < 3 && (closest == null || dst < minDst)){ + minDst = dst; + closest = command; + } + } + + if(closest != null){ + return "[scarlet]Unknown command. Did you mean \"[lightgray]" + closest.text + "[]\"?"; + }else{ + return "[scarlet]Unknown command. Check [lightgray]/help[scarlet]."; + } + } + }; + + private boolean closing = false, pvpAutoPaused = true; + private Interval timer = new Interval(10); + private IntSet buildHealthChanged = new IntSet(); + + /** Current kick session. */ + public @Nullable VoteSession currentlyKicking = null; + /** Duration of a kick in seconds. */ + public static int kickDuration = 60 * 60; + /** Voting round duration in seconds. */ + public static float voteDuration = 0.5f * 60; + /** Cooldown between votes in seconds. */ + public static int voteCooldown = 60 * 5; private ReusableByteOutStream writeBuffer = new ReusableByteOutStream(127); private Writes outputBuffer = new Writes(new DataOutputStream(writeBuffer)); @@ -77,10 +117,16 @@ public class NetServer implements ApplicationListener{ private DataOutputStream dataStream = new DataOutputStream(syncStream); /** Packet handlers for custom types of messages. */ private ObjectMap>> customPacketHandlers = new ObjectMap<>(); + /** Packet handlers for custom types of messages - binary version. */ + private ObjectMap>> customBinaryPacketHandlers = new ObjectMap<>(); + /** Packet handlers for logic client data */ + private ObjectMap>> logicClientDataHandlers = new ObjectMap<>(); public NetServer(){ net.handleServer(Connect.class, (con, connect) -> { + Events.fire(new ConnectionEvent(con)); + if(admins.isIPBanned(connect.addressTCP) || admins.isSubnetBanned(connect.addressTCP)){ con.kick(KickReason.banned); } @@ -93,23 +139,19 @@ public class NetServer implements ApplicationListener{ }); net.handleServer(ConnectPacket.class, (con, packet) -> { + if(con.kicked) return; + if(con.address.startsWith("steam:")){ packet.uuid = con.address.substring("steam:".length()); } - String uuid = packet.uuid; - byte[] buuid = Base64Coder.decode(uuid); - CRC32 crc = new CRC32(); - crc.update(buuid, 0, 8); - ByteBuffer buff = ByteBuffer.allocate(8); - buff.put(buuid, 8, 8); - buff.position(0); - if(crc.getValue() != buff.getLong()){ - con.kick(KickReason.clientOutdated); - return; - } + Events.fire(new ConnectPacketEvent(con, packet)); - if(admins.isIPBanned(con.address) || admins.isSubnetBanned(con.address)) return; + con.connectTime = Time.millis(); + + String uuid = packet.uuid; + + if(admins.isIPBanned(con.address) || admins.isSubnetBanned(con.address) || con.kicked || !con.isConnected()) return; if(con.hasBegunConnecting){ con.kick(KickReason.idInUse); @@ -155,7 +197,8 @@ public class NetServer implements ApplicationListener{ if(!extraMods.isEmpty()){ result.append("Unnecessary mods:[lightgray]\n").append("> ").append(extraMods.toString("\n> ")); } - con.kick(result.toString()); + con.kick(result.toString(), 0); + return; } if(!admins.isWhitelisted(packet.uuid, packet.usid)){ @@ -164,7 +207,7 @@ public class NetServer implements ApplicationListener{ info.id = packet.uuid; admins.save(); Call.infoMessage(con, "You are not whitelisted here."); - info("&lcDo &lywhitelist-add @&lc to whitelist the player &lb'@'", packet.uuid, packet.name); + info("&lcDo &lywhitelist add @&lc to whitelist the player &lb'@'", packet.uuid, packet.name); con.kick(KickReason.whitelist); return; } @@ -177,15 +220,24 @@ public class NetServer implements ApplicationListener{ boolean preventDuplicates = headless && netServer.admins.isStrict(); if(preventDuplicates){ - if(Groups.player.contains(p -> p.name.trim().equalsIgnoreCase(packet.name.trim()))){ + if(Groups.player.contains(p -> Strings.stripColors(p.name).trim().equalsIgnoreCase(Strings.stripColors(packet.name).trim()))){ con.kick(KickReason.nameInUse); return; } if(Groups.player.contains(player -> player.uuid().equals(packet.uuid) || player.usid().equals(packet.usid))){ + con.uuid = packet.uuid; con.kick(KickReason.idInUse); return; } + + for(var otherCon : net.getConnections()){ + if(otherCon != con && uuid.equals(otherCon.uuid)){ + con.uuid = packet.uuid; + con.kick(KickReason.idInUse); + return; + } + } } packet.name = fixName(packet.name); @@ -195,6 +247,10 @@ public class NetServer implements ApplicationListener{ return; } + if(packet.locale == null){ + packet.locale = "en"; + } + String ip = con.address; admins.updatePlayerJoined(uuid, ip, packet.name); @@ -215,6 +271,7 @@ public class NetServer implements ApplicationListener{ player.con.uuid = uuid; player.con.mobile = packet.mobile; player.name = packet.name; + player.locale = packet.locale; player.color.set(packet.color).a(1f); //save admin ID but don't overwrite it @@ -243,21 +300,6 @@ public class NetServer implements ApplicationListener{ Events.fire(new PlayerConnect(player)); }); - net.handleServer(InvokePacket.class, (con, packet) -> { - if(con.player == null) return; - try{ - RemoteReadServer.readPacket(packet.reader(), packet.type, con.player); - }catch(ValidateException e){ - debug("Validation failed for '@': @", e.player, e.getMessage()); - }catch(RuntimeException e){ - if(e.getCause() instanceof ValidateException v){ - debug("Validation failed for '@': @", v.player, v.getMessage()); - }else{ - throw e; - } - } - }); - registerCommands(); } @@ -276,7 +318,7 @@ public class NetServer implements ApplicationListener{ int page = args.length > 0 ? Strings.parseInt(args[0]) : 1; int pages = Mathf.ceil((float)clientCommands.getCommandList().size / commandsPerPage); - page --; + page--; if(page >= pages || page < 0){ player.sendMessage("[scarlet]'page' must be a number between[orange] 1[] and[orange] " + pages + "[scarlet]."); @@ -296,74 +338,25 @@ public class NetServer implements ApplicationListener{ clientCommands.register("t", "", "Send a message only to your teammates.", (args, player) -> { String message = admins.filterMessage(player, args[0]); if(message != null){ - Groups.player.each(p -> p.team() == player.team(), o -> o.sendMessage(message, player, "[#" + player.team().color.toString() + "]" + NetClient.colorizeName(player.id(), player.name))); + String raw = "[#" + player.team().color.toString() + "] " + chatFormatter.format(player, message); + Groups.player.each(p -> p.team() == player.team(), o -> o.sendMessage(raw, player, message)); } }); clientCommands.register("a", "", "Send a message only to admins.", (args, player) -> { if(!player.admin){ - player.sendMessage("[scarlet]You must be admin to use this command."); + player.sendMessage("[scarlet]You must be an admin to use this command."); return; } - Groups.player.each(Player::admin, a -> a.sendMessage(args[0], player, "[#" + Pal.adminChat.toString() + "]" + NetClient.colorizeName(player.id, player.name))); + String raw = "[#" + Pal.adminChat.toString() + "] " + chatFormatter.format(player, args[0]); + Groups.player.each(Player::admin, a -> a.sendMessage(raw, player, args[0])); }); - //duration of a a kick in seconds - int kickDuration = 60 * 60; - //voting round duration in seconds - float voteDuration = 0.5f * 60; - //cooldown between votes in seconds - int voteCooldown = 60 * 5; - - class VoteSession{ - Player target; - ObjectSet voted = new ObjectSet<>(); - VoteSession[] map; - Timer.Task task; - int votes; - - public VoteSession(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] @[lightgray].", target.name)); - map[0] = null; - task.cancel(); - } - }, voteDuration); - } - - void vote(Player player, int d){ - votes += d; - voted.addAll(player.uuid(), admins.getInfo(player.uuid()).lastIP); - - Call.sendMessage(Strings.format("[lightgray]@[lightgray] has voted on kicking[orange] @[].[accent] (@/@)\n[lightgray]Type[orange] /vote [] to agree.", - player.name, target.name, votes, votesRequired())); - - checkPass(); - } - - boolean checkPass(){ - if(votes >= votesRequired()){ - Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] @[orange] will be banned from the server for @ minutes.", target.name, (kickDuration / 60))); - target.getInfo().lastKicked = Time.millis() + kickDuration * 1000; - Groups.player.each(p -> p.uuid().equals(target.uuid()), p -> p.kick(KickReason.vote)); - map[0] = null; - task.cancel(); - return true; - } - return false; - } - } - //cooldowns per player ObjectMap cooldowns = new ObjectMap<>(); - //current kick sessions - VoteSession[] currentlyKicking = {null}; - clientCommands.register("votekick", "[player...]", "Vote to kick a player.", (args, player) -> { + clientCommands.register("votekick", "[player] [reason...]", "Vote to kick a player with a valid reason.", (args, player) -> { if(!Config.enableVotekick.bool()){ player.sendMessage("[scarlet]Vote-kick is disabled on this server."); return; @@ -379,7 +372,7 @@ public class NetServer implements ApplicationListener{ return; } - if(currentlyKicking[0] != null){ + if(currentlyKicking != null){ player.sendMessage("[scarlet]A vote is already in progress."); return; } @@ -392,6 +385,8 @@ public class NetServer implements ApplicationListener{ builder.append("[lightgray] ").append(p.name).append("[accent] (#").append(p.id()).append(")\n"); }); player.sendMessage(builder.toString()); + }else if(args.length == 1){ + player.sendMessage("[orange]You need a valid reason to kick the player. Add a reason after the player name."); }else{ Player found; if(args[0].length() > 1 && args[0].startsWith("#") && Strings.canParseInt(args[0].substring(1))){ @@ -402,7 +397,9 @@ public class NetServer implements ApplicationListener{ } if(found != null){ - if(found.admin){ + if(found == player){ + player.sendMessage("[scarlet]You can't vote to kick yourself."); + }else if(found.admin){ player.sendMessage("[scarlet]Did you really expect to be able to kick an admin?"); }else if(found.isLocal()){ player.sendMessage("[scarlet]Local players cannot be kicked."); @@ -416,10 +413,11 @@ public class NetServer implements ApplicationListener{ return; } - VoteSession session = new VoteSession(currentlyKicking, found); + VoteSession session = new VoteSession(found); session.vote(player, 1); + Call.sendMessage(Strings.format("[lightgray]Reason:[orange] @[lightgray].", args[1])); vtime.reset(); - currentlyKicking[0] = session; + currentlyKicking = session; } }else{ player.sendMessage("[scarlet]No player [orange]'" + args[0] + "'[scarlet] found."); @@ -427,38 +425,50 @@ public class NetServer implements ApplicationListener{ } }); - clientCommands.register("vote", "", "Vote to kick the current player.", (arg, player) -> { - if(currentlyKicking[0] == null){ + clientCommands.register("vote", "", "Vote to kick the current player. Admins can cancel the voting with 'c'.", (arg, player) -> { + if(currentlyKicking == null){ player.sendMessage("[scarlet]Nobody is being voted on."); }else{ - if(player.isLocal()){ - player.sendMessage("Local players can't vote. Kick the player yourself instead."); + if(player.admin && arg[0].equalsIgnoreCase("c")){ + Call.sendMessage(Strings.format("[lightgray]Vote canceled by admin[orange] @[lightgray].", player.name)); + currentlyKicking.task.cancel(); + currentlyKicking = null; return; } + if(player.isLocal()){ + player.sendMessage("[scarlet]Local players can't vote. Kick the player yourself instead."); + return; + } + + int sign = switch(arg[0].toLowerCase()){ + case "y", "yes" -> 1; + case "n", "no" -> -1; + default -> 0; + }; + //hosts can vote all they want - if((currentlyKicking[0].voted.contains(player.uuid()) || currentlyKicking[0].voted.contains(admins.getInfo(player.uuid()).lastIP))){ - player.sendMessage("[scarlet]You've already voted. Sit down."); + if((currentlyKicking.voted.get(player.uuid(), 2) == sign || currentlyKicking.voted.get(admins.getInfo(player.uuid()).lastIP, 2) == sign)){ + player.sendMessage(Strings.format("[scarlet]You've already voted @. Sit down.", arg[0].toLowerCase())); return; } - if(currentlyKicking[0].target == player){ + if(currentlyKicking.target == player){ player.sendMessage("[scarlet]You can't vote on your own trial."); return; } - if(currentlyKicking[0].target.team() != player.team()){ + if(currentlyKicking.target.team() != player.team()){ player.sendMessage("[scarlet]You can't vote for other teams."); return; } - if(!arg[0].equalsIgnoreCase("y") && !arg[0].equalsIgnoreCase("n")){ + if(sign == 0){ player.sendMessage("[scarlet]Vote either 'y' (yes) or 'n' (no)."); return; } - int sign = arg[0].equalsIgnoreCase("y") ? 1 : -1; - currentlyKicking[0].vote(player, sign); + currentlyKicking.vote(player, sign); } }); @@ -509,6 +519,18 @@ public class NetServer implements ApplicationListener{ return customPacketHandlers.get(type, Seq::new); } + public void addBinaryPacketHandler(String type, Cons2 handler){ + customBinaryPacketHandlers.get(type, Seq::new).add(handler); + } + + public Seq> getBinaryPacketHandlers(String type){ + return customBinaryPacketHandlers.get(type, Seq::new); + } + + public void addLogicDataHandler(String type, Cons2 handler){ + logicClientDataHandlers.get(type, Seq::new).add(handler); + } + public static void onDisconnect(Player player, String reason){ //singleplayer multiplayer weirdness if(player.con == null){ @@ -523,7 +545,7 @@ public class NetServer implements ApplicationListener{ Call.playerDisconnect(player.id()); } - String message = Strings.format("&lb@&fi&lk has disconnected. &fi&lk[&lb@&fi&lk] (@)", player.name, player.uuid(), reason); + String message = Strings.format("&lb@&fi&lk has disconnected. [&lb@&fi&lk] (@)", player.plainName(), player.uuid(), reason); if(Config.showConnectMessages.bool()) info(message); } @@ -531,6 +553,38 @@ public class NetServer implements ApplicationListener{ player.con.hasDisconnected = true; } + //these functions are for debugging only, and will be removed! + + @Remote(targets = Loc.client, variants = Variant.one) + public static void requestDebugStatus(Player player){ + int flags = + (player.con.hasDisconnected ? 1 : 0) | + (player.con.hasConnected ? 2 : 0) | + (player.isAdded() ? 4 : 0) | + (player.con.hasBegunConnecting ? 8 : 0); + + Call.debugStatusClient(player.con, flags, player.con.lastReceivedClientSnapshot, player.con.snapshotsSent); + Call.debugStatusClientUnreliable(player.con, flags, player.con.lastReceivedClientSnapshot, player.con.snapshotsSent); + } + + @Remote(variants = Variant.both, priority = PacketPriority.high) + public static void debugStatusClient(int value, int lastClientSnapshot, int snapshotsSent){ + logClientStatus(true, value, lastClientSnapshot, snapshotsSent); + } + + @Remote(variants = Variant.both, priority = PacketPriority.high, unreliable = true) + public static void debugStatusClientUnreliable(int value, int lastClientSnapshot, int snapshotsSent){ + logClientStatus(false, value, lastClientSnapshot, snapshotsSent); + } + + static void logClientStatus(boolean reliable, int value, int lastClientSnapshot, int snapshotsSent){ + Log.info("@ Debug status received. disconnected = @, connected = @, added = @, begunConnecting = @ lastClientSnapshot = @, snapshotsSent = @", + reliable ? "[RELIABLE]" : "[UNRELIABLE]", + (value & 1) != 0, (value & 2) != 0, (value & 4) != 0, (value & 8) != 0, + lastClientSnapshot, snapshotsSent + ); + } + @Remote(targets = Loc.client) public static void serverPacketReliable(Player player, String type, String contents){ if(netServer.customPacketHandlers.containsKey(type)){ @@ -545,24 +599,53 @@ public class NetServer implements ApplicationListener{ serverPacketReliable(player, type, contents); } + @Remote(targets = Loc.client) + public static void serverBinaryPacketReliable(Player player, String type, byte[] contents){ + if(netServer.customPacketHandlers.containsKey(type)){ + for(var c : netServer.customBinaryPacketHandlers.get(type)){ + c.get(player, contents); + } + } + } + + @Remote(targets = Loc.client, unreliable = true) + public static void serverBinaryPacketUnreliable(Player player, String type, byte[] contents){ + serverBinaryPacketReliable(player, type, contents); + } + + @Remote(targets = Loc.client) + public static void clientLogicDataReliable(Player player, String channel, Object value){ + Seq> handlers = netServer.logicClientDataHandlers.get(channel); + if(handlers != null){ + for(Cons2 handler : handlers){ + handler.get(player, value); + } + } + } + + @Remote(targets = Loc.client, unreliable = true) + public static void clientLogicDataUnreliable(Player player, String channel, Object value){ + clientLogicDataReliable(player, channel, value); + } + private static boolean invalid(float f){ return Float.isInfinite(f) || Float.isNaN(f); } - @Remote(targets = Loc.client, unreliable = true) + @Remote(targets = Loc.client, unreliable = true, priority = PacketPriority.high) public static void clientSnapshot( - Player player, - int snapshotID, - int unitID, - boolean dead, - float x, float y, - float pointerX, float pointerY, - float rotation, float baseRotation, - float xVelocity, float yVelocity, - Tile mining, - boolean boosting, boolean shooting, boolean chatting, boolean building, - @Nullable BuildPlan[] requests, - float viewX, float viewY, float viewWidth, float viewHeight + Player player, + int snapshotID, + int unitID, + boolean dead, + float x, float y, + float pointerX, float pointerY, + float rotation, float baseRotation, + float xVelocity, float yVelocity, + Tile mining, + boolean boosting, boolean shooting, boolean chatting, boolean building, + @Nullable Queue plans, + float viewX, float viewY, float viewWidth, float viewHeight ){ NetConnection con = player.con; if(con == null || snapshotID < con.lastReceivedClientSnapshot) return; @@ -601,22 +684,21 @@ public class NetServer implements ApplicationListener{ player.shooting = shooting; player.boosting = boosting; - player.unit().controlWeapons(shooting, shooting); - player.unit().aim(pointerX, pointerY); + @Nullable var unit = player.unit(); if(player.isBuilder()){ - player.unit().clearBuilding(); - player.unit().updateBuilding(building); + unit.clearBuilding(); + unit.updateBuilding(building); - if(requests != null){ - for(BuildPlan req : requests){ + if(plans != null){ + for(BuildPlan req : plans){ if(req == null) continue; Tile tile = world.tile(req.x, req.y); if(tile == null || (!req.breaking && req.block == null)) continue; //auto-skip done requests if(req.breaking && tile.block() == Blocks.air){ continue; - }else if(!req.breaking && tile.block() == req.block && (!req.block.rotate || (tile.build != null && tile.build.rotation == req.rotation))){ + }else if(!req.breaking && tile.block() == req.block && tile.team() != Team.derelict && (!req.block.rotate || (tile.build != null && tile.build.rotation == req.rotation))){ continue; }else if(con.rejectedRequests.contains(r -> r.breaking == req.breaking && r.x == req.x && r.y == req.y)){ //check if request was recently rejected, and skip it if so continue; @@ -635,18 +717,15 @@ public class NetServer implements ApplicationListener{ } } - player.unit().mineTile = mining; - con.rejectedRequests.clear(); if(!player.dead()){ - Unit unit = player.unit(); + unit.controlWeapons(shooting, shooting); + unit.aim(pointerX, pointerY); + unit.mineTile = mining; - long elapsed = Time.timeSinceMillis(con.lastReceivedClientTime); - float maxSpeed = unit.realSpeed(); - if(unit.isGrounded()){ - maxSpeed *= unit.floorSpeedMultiplier(); - } + long elapsed = Math.min(Time.timeSinceMillis(con.lastReceivedClientTime), 1500); + float maxSpeed = unit.speed(); float maxMove = elapsed / 1000f * 60f * maxSpeed * 1.2f; @@ -661,7 +740,6 @@ public class NetServer implements ApplicationListener{ vector.limit(maxMove); float prevx = unit.x, prevy = unit.y; - //unit.set(con.lastPosition); if(!unit.isFlying()){ unit.move(vector.x, vector.y); }else{ @@ -704,52 +782,69 @@ public class NetServer implements ApplicationListener{ } @Remote(targets = Loc.client, called = Loc.server) - public static void adminRequest(Player player, Player other, AdminAction action){ + public static void adminRequest(Player player, Player other, AdminAction action, Object params){ if(!player.admin && !player.isLocal()){ warn("ACCESS DENIED: Player @ / @ attempted to perform admin action '@' on '@' without proper security access.", - player.name, player.con == null ? "null" : player.con.address, action.name(), other == null ? null : other.name); + player.plainName(), player.con == null ? "null" : player.con.address, action.name(), other == null ? null : other.plainName()); return; } if(other == null || ((other.admin && !player.isLocal()) && other != player)){ - warn("@ attempted to perform admin action on nonexistant or admin player.", player.name); + warn("@ &fi&lk[&lb@&fi&lk]&fb attempted to perform admin action on nonexistant or admin player.", player.plainName(), player.uuid()); return; } - if(action == AdminAction.wave){ - //no verification is done, so admins can hypothetically spam waves - //not a real issue, because server owners may want to do just that - logic.skipWave(); - }else if(action == AdminAction.ban){ - netServer.admins.banPlayerIP(other.con.address); - netServer.admins.banPlayerID(other.con.uuid); - other.kick(KickReason.banned); - info("&lc@ has banned @.", player.name, other.name); - }else if(action == AdminAction.kick){ - other.kick(KickReason.kick); - info("&lc@ has kicked @.", player.name, other.name); - }else if(action == AdminAction.trace){ - TraceInfo info = new TraceInfo(other.con.address, other.uuid(), other.con.modclient, other.con.mobile); - if(player.con != null){ - Call.traceInfo(player.con, other, info); - }else{ - NetClient.traceInfo(other, info); + Events.fire(new EventType.AdminRequestEvent(player, other, action)); + + switch(action){ + case wave -> { + //no verification is done, so admins can hypothetically spam waves + //not a real issue, because server owners may want to do just that + logic.skipWave(); + info("&lc@ &fi&lk[&lb@&fi&lk]&fb has skipped the wave.", player.plainName(), player.uuid()); + } + case ban -> { + netServer.admins.banPlayerID(other.con.uuid); + netServer.admins.banPlayerIP(other.con.address); + other.kick(KickReason.banned); + info("&lc@ &fi&lk[&lb@&fi&lk]&fb has banned @ &fi&lk[&lb@&fi&lk]&fb.", player.plainName(), player.uuid(), other.plainName(), other.uuid()); + } + case kick -> { + other.kick(KickReason.kick); + info("&lc@ &fi&lk[&lb@&fi&lk]&fb has kicked @ &fi&lk[&lb@&fi&lk]&fb.", player.plainName(), player.uuid(), other.plainName(), other.uuid()); + } + case trace -> { + PlayerInfo stats = netServer.admins.getInfo(other.uuid()); + TraceInfo info = new TraceInfo(other.con.address, other.uuid(), other.locale, other.con.modclient, other.con.mobile, stats.timesJoined, stats.timesKicked, stats.ips.toArray(String.class), stats.names.toArray(String.class)); + if(player.con != null){ + Call.traceInfo(player.con, other, info); + }else{ + NetClient.traceInfo(other, info); + } + } + case switchTeam -> { + if(params instanceof Team team){ + other.team(team); + } } - info("&lc@ has requested trace info of @.", player.name, other.name); } } - @Remote(targets = Loc.client) + @Remote(targets = Loc.client, priority = PacketPriority.high) public static void connectConfirm(Player player){ + if(player.con.kicked) return; + player.add(); + Events.fire(new PlayerConnectionConfirmed(player)); + if(player.con == null || player.con.hasConnected) return; player.con.hasConnected = true; if(Config.showConnectMessages.bool()){ Call.sendMessage("[accent]" + player.name + "[accent] has connected."); - String message = Strings.format("&lb@&fi&lk has connected. &fi&lk[&lb@&fi&lk]", player.name, player.uuid()); + String message = Strings.format("&lb@&fi&lk has connected. &fi&lk[&lb@&fi&lk]", player.plainName(), player.uuid()); info(message); } @@ -786,21 +881,38 @@ public class NetServer implements ApplicationListener{ } if(state.isGame() && net.server()){ - if(state.rules.pvp){ - state.serverPaused = isWaitingForPlayers(); + if(state.rules.pvp && state.rules.pvpAutoPause){ + boolean waiting = isWaitingForPlayers(), paused = state.isPaused(); + if(waiting != paused){ + if(waiting){ + //is now waiting, enable pausing, flag it correctly + pvpAutoPaused = true; + state.set(State.paused); + }else if(pvpAutoPaused){ + //no longer waiting, stop pausing + state.set(State.playing); + pvpAutoPaused = false; + } + } } sync(); } } + //TODO I don't like where this is, move somewhere else? + /** Queues a building health update. This will be sent in a Call.buildHealthUpdate packet later. */ + public void buildHealthUpdate(Building build){ + buildHealthChanged.add(build.pos()); + } + /** Should only be used on the headless backend. */ public void openServer(){ try{ net.host(Config.port.num()); info("Opened a server on port @.", Config.port.num()); }catch(BindException e){ - err("Unable to host: Port already in use! Make sure no other servers are running on the same port in your network."); + err("Unable to host: Port " + Config.port.num() + " already in use! Make sure no other servers are running on the same port in your network."); state.set(State.menu); }catch(IOException e){ err(e); @@ -821,15 +933,15 @@ public class NetServer implements ApplicationListener{ short sent = 0; for(Building entity : Groups.build){ if(!entity.block.sync) continue; - sent ++; + sent++; dataStream.writeInt(entity.pos()); - entity.writeAll(Writes.get(dataStream)); + dataStream.writeShort(entity.block.id); + entity.writeSync(Writes.get(dataStream)); if(syncStream.size() > maxSnapshotSize){ dataStream.close(); - byte[] stateBytes = syncStream.toByteArray(); - Call.blockSnapshot(sent, (short)stateBytes.length, net.compressSnapshot(stateBytes)); + Call.blockSnapshot(sent, syncStream.toByteArray()); sent = 0; syncStream.reset(); } @@ -837,46 +949,54 @@ public class NetServer implements ApplicationListener{ if(sent > 0){ dataStream.close(); - byte[] stateBytes = syncStream.toByteArray(); - Call.blockSnapshot(sent, (short)stateBytes.length, net.compressSnapshot(stateBytes)); + Call.blockSnapshot(sent, syncStream.toByteArray()); } } public void writeEntitySnapshot(Player player) throws IOException{ + byte tps = (byte)Math.min(Core.graphics.getFramesPerSecond(), 255); syncStream.reset(); - Seq cores = state.teams.cores(player.team()); + int activeTeams = (byte)state.teams.present.count(t -> t.cores.size > 0); - dataStream.writeByte(cores.size); + dataStream.writeByte(activeTeams); + dataWrites.output = dataStream; - for(CoreBuild entity : cores){ - dataStream.writeInt(entity.tile.pos()); - entity.items.write(Writes.get(dataStream)); + //block data isn't important, just send the items for each team, they're synced across cores + for(TeamData data : state.teams.present){ + if(data.cores.size > 0){ + dataStream.writeByte(data.team.id); + data.cores.first().items.write(dataWrites); + } } dataStream.close(); - byte[] stateBytes = syncStream.toByteArray(); //write basic state data. - Call.stateSnapshot(player.con, state.wavetime, state.wave, state.enemies, state.serverPaused, state.gameOver, universe.seconds(), (short)stateBytes.length, net.compressSnapshot(stateBytes)); - - viewport.setSize(player.con.viewWidth, player.con.viewHeight).setCenter(player.con.viewX, player.con.viewY); + Call.stateSnapshot(player.con, state.wavetime, state.wave, state.enemies, state.isPaused(), state.gameOver, + universe.seconds(), tps, GlobalVars.rand.seed0, GlobalVars.rand.seed1, syncStream.toByteArray()); syncStream.reset(); + hiddenIds.clear(); int sent = 0; for(Syncc entity : Groups.sync){ + //TODO write to special list + if(entity.isSyncHidden(player)){ + hiddenIds.add(entity.id()); + continue; + } + //write all entities now dataStream.writeInt(entity.id()); //write id - dataStream.writeByte(entity.classId()); //write type ID + dataStream.writeByte(entity.classId() & 0xFF); //write type ID entity.writeSync(Writes.get(dataStream)); //write entity sent++; if(syncStream.size() > maxSnapshotSize){ dataStream.close(); - byte[] syncBytes = syncStream.toByteArray(); - Call.entitySnapshot(player.con, (short)sent, (short)syncBytes.length, net.compressSnapshot(syncBytes)); + Call.entitySnapshot(player.con, (short)sent, syncStream.toByteArray()); sent = 0; syncStream.reset(); } @@ -885,14 +1005,18 @@ public class NetServer implements ApplicationListener{ if(sent > 0){ dataStream.close(); - byte[] syncBytes = syncStream.toByteArray(); - Call.entitySnapshot(player.con, (short)sent, (short)syncBytes.length, net.compressSnapshot(syncBytes)); + Call.entitySnapshot(player.con, (short)sent, syncStream.toByteArray()); } + if(hiddenIds.size > 0){ + Call.hiddenSnapshot(player.con, hiddenIds); + } + + player.con.snapshotsSent++; } - String fixName(String name){ - name = name.trim(); + public String fixName(String name){ + name = name.trim().replace("\n", "").replace("\t", ""); if(name.equals("[") || name.equals("]")){ return ""; } @@ -915,20 +1039,20 @@ public class NetServer implements ApplicationListener{ return result.toString(); } - String checkColor(String str){ + public String checkColor(String str){ for(int i = 1; i < str.length(); i++){ if(str.charAt(i) == ']'){ String color = str.substring(1, i); if(Colors.get(color.toUpperCase()) != null || Colors.get(color.toLowerCase()) != null){ Color result = (Colors.get(color.toLowerCase()) == null ? Colors.get(color.toUpperCase()) : Colors.get(color.toLowerCase())); - if(result.a <= 0.8f){ + if(result.a < 1f){ return str.substring(i + 1); } }else{ try{ Color result = Color.valueOf(color); - if(result.a <= 0.8f){ + if(result.a < 1f){ return str.substring(i + 1); } }catch(Exception e){ @@ -942,20 +1066,23 @@ public class NetServer implements ApplicationListener{ void sync(){ try{ + int interval = Config.snapshotInterval.num(); Groups.player.each(p -> !p.isLocal(), player -> { if(player.con == null || !player.con.isConnected()){ onDisconnect(player, "disappeared"); return; } - NetConnection connection = player.con; + var connection = player.con; - if(!player.timer(0, serverSyncTime) || !connection.hasConnected) return; + if(Time.timeSinceMillis(connection.syncTime) < interval || !connection.hasConnected) return; + + connection.syncTime = Time.millis(); try{ writeEntitySnapshot(player); }catch(IOException e){ - e.printStackTrace(); + Log.err(e); } }); @@ -963,12 +1090,91 @@ public class NetServer implements ApplicationListener{ writeBlockSnapshots(); } + if(Groups.player.size() > 0 && buildHealthChanged.size > 0 && timer.get(timerHealthSync, healthSyncTime)){ + healthSeq.clear(); + + var iter = buildHealthChanged.iterator(); + while(iter.hasNext){ + int next = iter.next(); + var build = world.build(next); + + //pack pos + health into update list + if(build != null){ + healthSeq.add(next, Float.floatToRawIntBits(build.health)); + } + + //if size exceeds snapshot limit, send it out and begin building it up again + if(healthSeq.size * 4 >= maxSnapshotSize){ + Call.buildHealthUpdate(healthSeq); + healthSeq.clear(); + } + } + + //send any residual health updates + if(healthSeq.size > 0){ + Call.buildHealthUpdate(healthSeq); + } + + buildHealthChanged.clear(); + } }catch(IOException e){ Log.err(e); } } + public class VoteSession{ + Player target; + ObjectIntMap voted = new ObjectIntMap<>(); + Timer.Task task; + int votes; + + public VoteSession(Player target){ + this.target = target; + this.task = Timer.schedule(() -> { + if(!checkPass()){ + Call.sendMessage(Strings.format("[lightgray]Vote failed. Not enough votes to kick[orange] @[lightgray].", target.name)); + currentlyKicking = null; + task.cancel(); + } + }, voteDuration); + } + + void vote(Player player, int d){ + int lastVote = voted.get(player.uuid(), 0) | voted.get(admins.getInfo(player.uuid()).lastIP, 0); + votes -= lastVote; + + votes += d; + voted.put(player.uuid(), d); + voted.put(admins.getInfo(player.uuid()).lastIP, d); + + Call.sendMessage(Strings.format("[lightgray]@[lightgray] has voted on kicking[orange] @[lightgray].[accent] (@/@)\n[lightgray]Type[orange] /vote [] to agree.", + player.name, target.name, votes, votesRequired())); + + checkPass(); + } + + boolean checkPass(){ + if(votes >= votesRequired()){ + Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] @[orange] will be banned from the server for @ minutes.", target.name, (kickDuration / 60))); + Groups.player.each(p -> p.uuid().equals(target.uuid()), p -> p.kick(KickReason.vote, kickDuration * 1000)); + currentlyKicking = null; + task.cancel(); + return true; + } + return false; + } + } + public interface TeamAssigner{ Team assign(Player player, Iterable players); } + + public interface ChatFormatter{ + /** @return text to be placed before player name */ + String format(@Nullable Player player, String message); + } + + public interface InvalidCommandHandler{ + String handle(Player player, CommandResponse response); + } } diff --git a/core/src/mindustry/core/Platform.java b/core/src/mindustry/core/Platform.java index bddcd3d749..e395d82412 100644 --- a/core/src/mindustry/core/Platform.java +++ b/core/src/mindustry/core/Platform.java @@ -1,6 +1,7 @@ package mindustry.core; import arc.*; +import arc.filedialogs.*; import arc.files.*; import arc.func.*; import arc.math.*; @@ -14,16 +15,36 @@ import mindustry.type.*; import mindustry.ui.dialogs.*; import rhino.*; +import java.io.*; import java.net.*; import static mindustry.Vars.*; public interface Platform{ - /** Dynamically loads a jar file. */ - default Class loadJar(Fi jar, String mainClass) throws Exception{ - URLClassLoader classLoader = new URLClassLoader(new URL[]{jar.file().toURI().toURL()}, getClass().getClassLoader()); - return Class.forName(mainClass, true, classLoader); + /** Dynamically creates a class loader for a jar file. This loader must be child-first. */ + default ClassLoader loadJar(Fi jar, ClassLoader parent) throws Exception{ + return new URLClassLoader(new URL[]{jar.file().toURI().toURL()}, parent){ + @Override + protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException{ + //check for loaded state + Class loadedClass = findLoadedClass(name); + if(loadedClass == null){ + try{ + //try to load own class first + loadedClass = findClass(name); + }catch(ClassNotFoundException e){ + //use parent if not found + return parent.loadClass(name); + } + } + + if(resolve){ + resolveClass(loadedClass); + } + return loadedClass; + } + }; } /** Steam: Update lobby visibility.*/ @@ -60,9 +81,10 @@ public interface Platform{ } default Context getScriptContext(){ - Context c = Context.enter(); - c.setOptimizationLevel(9); - return c; + Context context = Context.getCurrentContext(); + if(context == null) context = Context.enter(); + context.setOptimizationLevel(9); + return context; } /** Update discord RPC. */ @@ -101,7 +123,7 @@ public interface Platform{ }else{ ui.loadAnd(() -> { try{ - Fi result = Core.files.local(name+ "." + extension); + Fi result = Core.files.local(name + "." + extension); writer.write(result); platform.shareFile(result); }catch(Throwable e){ @@ -120,6 +142,69 @@ public interface Platform{ * @param title The title of the native dialog */ default void showFileChooser(boolean open, String title, String extension, Cons cons){ + if(OS.isWindows || OS.isMac){ + showNativeFileChooser(open, title, cons, extension); + }else if(OS.isLinux && !OS.isAndroid){ + showZenity(open, title, new String[]{extension}, cons, () -> defaultFileDialog(open, title, extension, cons)); + }else{ + defaultFileDialog(open, title, extension, cons); + } + } + + /** attempt to use the native file picker with zenity, or runs the fallback Runnable if the operation fails */ + static void showZenity(boolean open, String title, String[] extensions, Cons cons, Runnable fallback){ + Threads.daemon(() -> { + try{ + String formatted = (title.startsWith("@") ? Core.bundle.get(title.substring(1)) : title).replaceAll("\"", "'"); + + String last = FileChooser.getLastDirectory().absolutePath(); + if(!last.endsWith("/")) last += "/"; + + //zenity doesn't support filtering by extension + Seq args = Seq.with("zenity", + "--file-selection", + "--title=" + formatted, + "--filename=" + last, + "--confirm-overwrite", + "--file-filter=" + Seq.with(extensions).toString(" ", s -> "*." + s), + "--file-filter=All files | *" //allow anything if the user wants + ); + + if(!open){ + args.add("--save"); + } + + String result = OS.exec(args.toArray(String.class)); + //first line. + if(result.length() > 1 && result.contains("\n")){ + result = result.split("\n")[0]; + } + + //cancelled selection, ignore result + if(result.isEmpty() || result.equals("\n")) return; + + if(result.endsWith("\n")) result = result.substring(0, result.length() - 1); + if(result.contains("\n")) throw new IOException("invalid input: \"" + result + "\""); + + Fi file = Core.files.absolute(result); + Core.app.post(() -> { + FileChooser.setLastDirectory(file.isDirectory() ? file : file.parent()); + + if(!open){ + cons.get(file.parent().child(file.nameWithoutExtension() + "." + extensions[0])); + }else{ + cons.get(file); + } + }); + }catch(Exception e){ + Log.err(e); + Log.warn("zenity not found, using non-native file dialog. Consider installing `zenity` for native file dialogs."); + Core.app.post(fallback); + } + }); + } + + static void defaultFileDialog(boolean open, String title, String extension, Cons cons){ new FileChooser(title, file -> file.extEquals(extension), open, file -> { if(!open){ cons.get(file.parent().child(file.nameWithoutExtension() + "." + extension)); @@ -141,11 +226,81 @@ public interface Platform{ default void showMultiFileChooser(Cons cons, String... extensions){ if(mobile){ showFileChooser(true, extensions[0], cons); + }else if(OS.isWindows || OS.isMac){ + showNativeFileChooser(true, "@open", cons, extensions); + }else if(OS.isLinux && !OS.isAndroid){ + showZenity(true, "@open", extensions, cons, () -> defaultMultiFileChooser(cons, extensions)); }else{ - new FileChooser("@open", file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + defaultMultiFileChooser(cons, extensions); } } + static void defaultMultiFileChooser(Cons cons, String... extensions){ + new FileChooser("@open", file -> Structs.contains(extensions, file.extension().toLowerCase()), true, cons).show(); + } + + default void showNativeFileChooser(boolean open, String title, Cons cons, String... shownExtensions){ + String formatted = (title.startsWith("@") ? Core.bundle.get(title.substring(1)) : title).replaceAll("\"", "'"); + + //this should never happen unless someone is being dumb with the parameters + String[] ext = shownExtensions == null || shownExtensions.length == 0 ? new String[]{""} : shownExtensions; + + //native file dialog + Threads.daemon(() -> { + try{ + FileDialogs.loadNatives(); + + String result; + String[] patterns = new String[ext.length]; + for(int i = 0; i < ext.length; i++){ + patterns[i] = "*." + ext[i]; + } + + //on MacOS, .msav is not properly recognized until I put garbage into the array? + if(patterns.length == 1 && OS.isMac && open){ + patterns = new String[]{"", "*." + ext[0]}; + } + + if(open){ + result = FileDialogs.openFileDialog(formatted, FileChooser.getLastDirectory().absolutePath(), patterns, "." + ext[0] + " files", false); + }else{ + result = FileDialogs.saveFileDialog(formatted, FileChooser.getLastDirectory().child("file." + ext[0]).absolutePath(), patterns, "." + ext[0] + " files"); + } + + if(result == null) return; + + if(result.length() > 1 && result.contains("\n")){ + result = result.split("\n")[0]; + } + + //cancelled selection, ignore result + if(result.isEmpty() || result.equals("\n")) return; + if(result.endsWith("\n")) result = result.substring(0, result.length() - 1); + if(result.contains("\n")) throw new IOException("invalid input: \"" + result + "\""); + + Fi file = Core.files.absolute(result); + Core.app.post(() -> { + FileChooser.setLastDirectory(file.isDirectory() ? file : file.parent()); + + if(!open){ + cons.get(file.parent().child(file.nameWithoutExtension() + "." + ext[0])); + }else{ + cons.get(file); + } + }); + }catch(Throwable error){ + Log.err("Failure to execute native file chooser", error); + Core.app.post(() -> { + if(ext.length > 1){ + defaultMultiFileChooser(cons, ext); + }else{ + defaultFileDialog(open, title, ext[0], cons); + } + }); + } + }); + } + /** Hide the app. Android only. */ default void hide(){ } diff --git a/core/src/mindustry/core/Renderer.java b/core/src/mindustry/core/Renderer.java index 8f5423cbc1..00fb77bfaf 100644 --- a/core/src/mindustry/core/Renderer.java +++ b/core/src/mindustry/core/Renderer.java @@ -1,29 +1,36 @@ package mindustry.core; import arc.*; +import arc.assets.loaders.TextureLoader.*; +import arc.audio.*; import arc.files.*; -import arc.fx.*; import arc.graphics.*; +import arc.graphics.Texture.*; import arc.graphics.g2d.*; import arc.graphics.gl.*; import arc.math.*; +import arc.math.geom.*; import arc.scene.ui.layout.*; +import arc.struct.*; import arc.util.*; -import mindustry.content.*; +import mindustry.*; import mindustry.game.EventType.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.graphics.g3d.*; -import mindustry.ui.*; +import mindustry.maps.*; +import mindustry.type.*; +import mindustry.world.blocks.*; import static arc.Core.*; import static mindustry.Vars.*; public class Renderer implements ApplicationListener{ /** These are global variables, for headless access. Cached. */ - public static float laserOpacity = 0.5f, bridgeOpacity = 0.75f; + public static float laserOpacity = 0.5f, unitLaserOpacity = 1f, bridgeOpacity = 0.75f; public final BlockRenderer blocks = new BlockRenderer(); + public final FogRenderer fog = new FogRenderer(); public final MinimapRenderer minimap = new MinimapRenderer(); public final OverlayRenderer overlays = new OverlayRenderer(); public final LightRenderer lights = new LightRenderer(); @@ -31,28 +38,59 @@ public class Renderer implements ApplicationListener{ public PlanetRenderer planets; public @Nullable Bloom bloom; + public @Nullable FrameBuffer backgroundBuffer; public FrameBuffer effectBuffer = new FrameBuffer(); - public boolean animateShields, drawWeather = true; + public boolean animateShields, drawWeather = true, drawStatus, enableEffects, drawDisplays = true, drawLight = true, pixelate = false; + public float weatherAlpha; /** minZoom = zooming out, maxZoom = zooming in */ public float minZoom = 1.5f, maxZoom = 6f; + public Seq envRenderers = new Seq<>(); + public ObjectMap customBackgrounds = new ObjectMap<>(); + public TextureRegion[] bubbles = new TextureRegion[16], splashes = new TextureRegion[12]; + public TextureRegion[][] fluidFrames; - //TODO unused - private FxProcessor fx = new FxProcessor(); + //currently landing core, null if there are no cores or it has finished landing. + private @Nullable LaunchAnimator launchAnimator; private Color clearColor = new Color(0f, 0f, 0f, 1f); - private float targetscale = Scl.scl(4); - private float camerascale = targetscale; - private float landscale = 0f, landTime, weatherAlpha; - private float minZoomScl = Scl.scl(0.01f); - private float shakeIntensity, shaketime; + private float + //target camera scale that is lerp-ed to + targetscale = Scl.scl(4), + //current actual camera scale + camerascale = targetscale, + //starts at coreLandDuration, ends at 0. if positive, core is landing. + landTime, + //intensity for screen shake + shakeIntensity, + //reduction rate of screen shake + shakeReduction, + //current duration of screen shake + shakeTime; + //for landTime > 0: if true, core is currently *launching*, otherwise landing. + private boolean launching; + private Vec2 camShakeOffset = new Vec2(); public Renderer(){ camera = new Camera(); Shaders.init(); + + Events.on(ResetEvent.class, e -> { + shakeTime = shakeIntensity = shakeReduction = 0f; + camShakeOffset.setZero(); + }); } public void shake(float intensity, float duration){ - shakeIntensity = Math.max(shakeIntensity, intensity); - shaketime = Math.max(shaketime, duration); + shakeIntensity = Math.max(shakeIntensity, Mathf.clamp(intensity, 0, 100)); + shakeTime = Math.max(shakeTime, duration); + shakeReduction = shakeIntensity / shakeTime; + } + + public void addEnvRenderer(int mask, Runnable render){ + envRenderers.add(new EnvRenderer(mask, render)); + } + + public void addCustomBackground(String name, Runnable render){ + customBackgrounds.put(name, render); } @Override @@ -62,29 +100,92 @@ public class Renderer implements ApplicationListener{ if(settings.getBool("bloom", !ios)){ setupBloom(); } + + EnvRenderers.init(); + for(int i = 0; i < bubbles.length; i++) bubbles[i] = atlas.find("bubble-" + i); + for(int i = 0; i < splashes.length; i++) splashes[i] = atlas.find("splash-" + i); + + loadFluidFrames(); + + Events.on(ClientLoadEvent.class, e -> { + loadFluidFrames(); + }); + + assets.load("sprites/clouds.png", Texture.class).loaded = t -> { + t.setWrap(TextureWrap.repeat); + t.setFilter(TextureFilter.linear); + }; + + Events.on(WorldLoadEvent.class, e -> { + //reset background buffer on every world load, so it can be re-cached first render + if(backgroundBuffer != null){ + backgroundBuffer.dispose(); + backgroundBuffer = null; + } + }); + } + + public void loadFluidFrames(){ + fluidFrames = new TextureRegion[2][Liquid.animationFrames]; + + String[] fluidTypes = {"liquid", "gas"}; + + for(int i = 0; i < fluidTypes.length; i++){ + + for(int j = 0; j < Liquid.animationFrames; j++){ + fluidFrames[i][j] = atlas.find("fluid-" + fluidTypes[i] + "-" + j); + } + } + } + + public TextureRegion[][] getFluidFrames(){ + if(fluidFrames == null || fluidFrames[0][0].texture.isDisposed()){ + loadFluidFrames(); + } + return fluidFrames; } @Override public void update(){ Color.white.set(1f, 1f, 1f, 1f); - Gl.clear(Gl.stencilBufferBit); - float dest = Mathf.round(targetscale, 0.5f); + float baseTarget = targetscale; + + if(control.input.logicCutscene){ + baseTarget = Mathf.lerp(minZoom, maxZoom, control.input.logicCutsceneZoom); + } + + float dest = Mathf.clamp(Mathf.round(baseTarget, 0.5f), minScale(), maxScale()); camerascale = Mathf.lerpDelta(camerascale, dest, 0.1f); if(Mathf.equal(camerascale, dest, 0.001f)) camerascale = dest; + unitLaserOpacity = settings.getInt("unitlaseropacity") / 100f; laserOpacity = settings.getInt("lasersopacity") / 100f; bridgeOpacity = settings.getInt("bridgeopacity") / 100f; animateShields = settings.getBool("animatedshields"); + drawStatus = settings.getBool("blockstatus"); + enableEffects = settings.getBool("effects"); + drawDisplays = !settings.getBool("hidedisplays"); + drawLight = settings.getBool("drawlight", true); + pixelate = settings.getBool("pixelate"); + //don't bother drawing landing animation if core is null + if(launchAnimator == null) landTime = 0f; if(landTime > 0){ - landTime -= Time.delta; - landscale = Interp.pow5In.apply(minZoomScl, Scl.scl(4f), 1f - landTime / Fx.coreLand.lifetime); - camerascale = landscale; + if(!state.isPaused()) launchAnimator.updateLaunch(); + weatherAlpha = 0f; + camerascale = launchAnimator.zoomLaunch(); + + if(!state.isPaused()) landTime -= Time.delta; }else{ weatherAlpha = Mathf.lerpDelta(weatherAlpha, 1f, 0.08f); } + if(launchAnimator != null && landTime <= 0f){ + launchAnimator.endLaunch(); + launchAnimator = null; + } + camera.width = graphics.getWidth() / camerascale; camera.height = graphics.getHeight() / camerascale; @@ -92,48 +193,49 @@ public class Renderer implements ApplicationListener{ landTime = 0f; graphics.clear(Color.black); }else{ - updateShake(0.75f); - if(pixelator.enabled()){ + minimap.update(); + + if(shakeTime > 0){ + float intensity = shakeIntensity * (settings.getInt("screenshake", 4) / 4f) * 0.75f; + camShakeOffset.setToRandomDirection().scl(Mathf.random(intensity)); + camera.position.add(camShakeOffset); + shakeIntensity -= shakeReduction * Time.delta; + shakeTime -= Time.delta; + shakeIntensity = Mathf.clamp(shakeIntensity, 0f, 100f); + }else{ + camShakeOffset.setZero(); + shakeIntensity = 0f; + } + + if(renderer.pixelate){ pixelator.drawPixelate(); }else{ draw(); } + + camera.position.sub(camShakeOffset); } } - public boolean isLanding(){ + public void updateAllDarkness(){ + blocks.updateDarkness(); + minimap.updateAll(); + } + + /** @return whether a launch/land cutscene is playing. */ + public boolean isCutscene(){ return landTime > 0; } - public float weatherAlpha(){ - return weatherAlpha; - } - public float landScale(){ - return landTime > 0 ? landscale : 1f; + return landTime > 0 ? camerascale : 1f; } @Override public void dispose(){ - minimap.dispose(); - effectBuffer.dispose(); - blocks.dispose(); - if(planets != null){ - planets.dispose(); - planets = null; - } - if(bloom != null){ - bloom.dispose(); - bloom = null; - } Events.fire(new DisposeEvent()); } - @Override - public void resize(int width, int height){ - fx.resize(width, height); - } - @Override public void resume(){ if(settings.getBool("bloom") && bloom != null){ @@ -168,37 +270,9 @@ public class Renderer implements ApplicationListener{ } } - void beginFx(){ - if(!fx.hasEnabledEffects()) return; - - Draw.flush(); - fx.clear(); - fx.begin(); - } - - void endFx(){ - if(!fx.hasEnabledEffects()) return; - - Draw.flush(); - fx.end(); - fx.applyEffects(); - fx.render(0, 0, fx.getWidth(), fx.getHeight()); - } - - void updateShake(float scale){ - if(shaketime > 0){ - float intensity = shakeIntensity * (settings.getInt("screenshake", 4) / 4f) * scale; - camera.position.add(Mathf.range(intensity), Mathf.range(intensity)); - shakeIntensity -= 0.25f * Time.delta; - shaketime -= Time.delta; - shakeIntensity = Mathf.clamp(shakeIntensity, 0f, 100f); - }else{ - shakeIntensity = 0f; - } - } - public void draw(){ Events.fire(Trigger.preDraw); + MapPreviewLoader.checkPreviews(); camera.update(); @@ -209,27 +283,29 @@ public class Renderer implements ApplicationListener{ graphics.clear(clearColor); Draw.reset(); - if(Core.settings.getBool("animatedwater") || animateShields){ + if(settings.getBool("animatedwater") || animateShields){ effectBuffer.resize(graphics.getWidth(), graphics.getHeight()); } Draw.proj(camera); + blocks.checkChanges(); blocks.floor.checkChanges(); blocks.processBlocks(); Draw.sort(true); Events.fire(Trigger.draw); + MapPreviewLoader.checkPreviews(); - if(pixelator.enabled()){ + if(renderer.pixelate){ pixelator.register(); } Draw.draw(Layer.background, this::drawBackground); Draw.draw(Layer.floor, blocks.floor::drawFloor); Draw.draw(Layer.block - 1, blocks::drawShadows); - Draw.draw(Layer.block, () -> { + Draw.draw(Layer.block - 0.09f, () -> { blocks.floor.beginDraw(); blocks.floor.drawLayer(CacheLayer.walls); blocks.floor.endDraw(); @@ -237,7 +313,14 @@ public class Renderer implements ApplicationListener{ Draw.drawRange(Layer.blockBuilding, () -> Draw.shader(Shaders.blockbuild, true), Draw::shader); - if(state.rules.lighting){ + //render all matching environments + for(var renderer : envRenderers){ + if((renderer.env & state.rules.env) == renderer.env){ + renderer.renderer.run(); + } + } + + if(state.rules.lighting && drawLight){ Draw.draw(Layer.light, lights::draw); } @@ -246,14 +329,19 @@ public class Renderer implements ApplicationListener{ } if(bloom != null){ - bloom.resize(graphics.getWidth() / 4, graphics.getHeight() / 4); - Draw.draw(Layer.bullet - 0.01f, bloom::capture); - Draw.draw(Layer.effect + 0.01f, bloom::render); + bloom.resize(graphics.getWidth(), graphics.getHeight()); + bloom.setBloomIntensity(settings.getInt("bloomintensity", 6) / 4f + 1f); + bloom.blurPasses = settings.getInt("bloomblur", 1); + Draw.draw(Layer.bullet - 0.02f, bloom::capture); + Draw.draw(Layer.effect + 0.02f, bloom::render); } + control.input.drawCommanded(); + Draw.draw(Layer.plans, overlays::drawBottom); if(animateShields && Shaders.shield != null){ + //TODO would be nice if there were a way to detect if any shields or build beams actually *exist* before beginning/ending buffers, otherwise you're just blitting and swapping shaders for nothing Draw.drawRange(Layer.shields, 1f, () -> effectBuffer.begin(Color.clear), () -> { effectBuffer.end(); effectBuffer.blit(Shaders.shield); @@ -265,9 +353,38 @@ public class Renderer implements ApplicationListener{ }); } - Draw.draw(Layer.overlayUI, overlays::drawTop); - Draw.draw(Layer.space, this::drawLanding); + float scaleFactor = 4f / renderer.getDisplayScale(); + //draw objective markers + state.rules.objectives.eachRunning(obj -> { + for(var marker : obj.markers){ + if(marker.world){ + marker.draw(marker.autoscale ? scaleFactor : 1); + } + } + }); + + for(var marker : state.markers){ + if(marker.world){ + marker.draw(marker.autoscale ? scaleFactor : 1); + } + } + + Draw.reset(); + + Draw.draw(Layer.overlayUI, overlays::drawTop); + if(state.rules.fog) Draw.draw(Layer.fogOfWar, fog::drawFog); + Draw.draw(Layer.space, () -> { + if(launchAnimator == null || landTime <= 0f) return; + launchAnimator.drawLaunch(); + }); + if(launchAnimator != null){ + Draw.z(Layer.space); + launchAnimator.drawLaunchGlobalZ(); + Draw.reset(); + } + + Events.fire(Trigger.drawOver); blocks.drawBlocks(); Groups.draw.draw(Drawc::draw); @@ -279,32 +396,79 @@ public class Renderer implements ApplicationListener{ Events.fire(Trigger.postDraw); } - private void drawBackground(){ + protected void drawBackground(){ + //draw background only if there is no planet background with a skybox + if(state.rules.backgroundTexture != null && (state.rules.planetBackground == null || !state.rules.planetBackground.drawSkybox)){ + if(!assets.isLoaded(state.rules.backgroundTexture, Texture.class)){ + var file = assets.getFileHandleResolver().resolve(state.rules.backgroundTexture); - } + //don't draw invalid/non-existent backgrounds. + if(!file.exists() || !file.extEquals("png")){ + return; + } - private void drawLanding(){ - if(landTime > 0 && player.closestCore() != null){ - float fract = landTime / Fx.coreLand.lifetime; - Building entity = player.closestCore(); + var desc = assets.load(state.rules.backgroundTexture, Texture.class, new TextureParameter(){{ + wrapU = wrapV = TextureWrap.mirroredRepeat; + magFilter = minFilter = TextureFilter.linear; + }}); - TextureRegion reg = entity.block.icon(Cicon.full); - float scl = Scl.scl(4f) / camerascale; - float s = reg.width * Draw.scl * scl * 4f * fract; + assets.finishLoadingAsset(desc); + } - Draw.color(Pal.lightTrail); - Draw.rect("circle-shadow", entity.getX(), entity.getY(), s, s); + Texture tex = assets.get(state.rules.backgroundTexture, Texture.class); + Tmp.tr1.set(tex); + Tmp.tr1.u = 0f; + Tmp.tr1.v = 0f; - Angles.randLenVectors(1, (1f- fract), 100, 1000f * scl * (1f-fract), (x, y, fin, fout) -> { - Lines.stroke(scl * fin); - Lines.lineAngle(entity.getX() + x, entity.getY() + y, Mathf.angle(x, y), (fin * 20 + 1f) * scl); - }); + float ratio = camera.width / camera.height; + float size = state.rules.backgroundScl; - Draw.color(); - Draw.mixcol(Color.white, fract); - Draw.rect(reg, entity.getX(), entity.getY(), reg.width * Draw.scl * scl, reg.height * Draw.scl * scl, fract * 135f); + Tmp.tr1.u2 = size; + Tmp.tr1.v2 = size / ratio; - Draw.reset(); + float sx = 0f, sy = 0f; + + if(!Mathf.zero(state.rules.backgroundSpeed)){ + sx = (camera.position.x) / state.rules.backgroundSpeed; + sy = (camera.position.y) / state.rules.backgroundSpeed; + } + + Tmp.tr1.scroll(sx + state.rules.backgroundOffsetX, -sy + state.rules.backgroundOffsetY); + + Draw.rect(Tmp.tr1, camera.position.x, camera.position.y, camera.width, camera.height); + } + + if(state.rules.planetBackground != null){ + int size = Math.max(graphics.getWidth(), graphics.getHeight()); + + boolean resized = false; + if(backgroundBuffer == null){ + resized = true; + backgroundBuffer = new FrameBuffer(size, size); + } + + if(resized || backgroundBuffer.resizeCheck(size, size)){ + backgroundBuffer.begin(Color.clear); + + var params = state.rules.planetBackground; + + //override some values + params.viewW = size; + params.viewH = size; + params.alwaysDrawAtmosphere = true; + params.drawUi = false; + + planets.render(params); + + backgroundBuffer.end(); + } + + float drawSize = Math.max(camera.width, camera.height); + Draw.rect(Draw.wrap(backgroundBuffer.getTexture()), camera.position.x, camera.position.y, drawSize, -drawSize); + } + + if(state.rules.customBackgroundCallback != null && customBackgrounds.containsKey(state.rules.customBackgroundCallback)){ + customBackgrounds.get(state.rules.customBackgroundCallback).run(); } } @@ -338,16 +502,52 @@ public class Renderer implements ApplicationListener{ clampScale(); } - public void zoomIn(float duration){ - landscale = minZoomScl; - landTime = duration; + public boolean isLaunching(){ + return launching; + } + + public float getLandTime(){ + return landTime; + } + + public float getLandTimeIn(){ + if(launchAnimator == null) return 0f; + float fin = landTime / launchAnimator.launchDuration(); + if(!launching) fin = 1f - fin; + return fin; + } + + public void showLanding(LaunchAnimator landCore){ + this.launchAnimator = landCore; + launching = false; + landTime = landCore.launchDuration(); + + landCore.beginLaunch(false); + camerascale = landCore.zoomLaunch(); + } + + public void showLaunch(LaunchAnimator landCore){ + control.input.config.hideConfig(); + control.input.planConfig.hide(); + control.input.inv.hide(); + + this.launchAnimator = landCore; + launching = true; + landTime = landCore.launchDuration(); + + Music music = landCore.launchMusic(); + music.stop(); + music.play(); + music.setVolume(settings.getInt("musicvol") / 100f); + + landCore.beginLaunch(true); } public void takeMapScreenshot(){ int w = world.width() * tilesize, h = world.height() * tilesize; int memory = w * h * 4 / 1024 / 1024; - if(memory >= 65){ + if(Vars.checkScreenshotMemory && memory >= (mobile ? 65 : 120)){ ui.showInfo("@screenshot.invalid"); return; } @@ -363,25 +563,39 @@ public class Renderer implements ApplicationListener{ camera.position.y = h / 2f + tilesize / 2f; buffer.begin(); draw(); + Draw.flush(); + byte[] lines = ScreenUtils.getFrameBufferPixels(0, 0, w, h, true); buffer.end(); disableUI = false; camera.width = vpW; camera.height = vpH; camera.position.set(px, py); - buffer.begin(); - byte[] lines = ScreenUtils.getFrameBufferPixels(0, 0, w, h, true); - for(int i = 0; i < lines.length; i += 4){ - lines[i + 3] = (byte)255; - } - buffer.end(); - Pixmap fullPixmap = new Pixmap(w, h, Pixmap.Format.rgba8888); - Buffers.copy(lines, 0, fullPixmap.getPixels(), lines.length); - Fi file = screenshotDirectory.child("screenshot-" + Time.millis() + ".png"); - PixmapIO.writePNG(file, fullPixmap); - fullPixmap.dispose(); - ui.showInfoFade(Core.bundle.format("screenshot", file.toString())); drawWeather = true; - buffer.dispose(); + + Threads.thread(() -> { + for(int i = 0; i < lines.length; i += 4){ + lines[i + 3] = (byte)255; + } + Pixmap fullPixmap = new Pixmap(w, h); + Buffers.copy(lines, 0, fullPixmap.pixels, lines.length); + Fi file = screenshotDirectory.child("screenshot-" + Time.millis() + ".png"); + PixmapIO.writePng(file, fullPixmap); + fullPixmap.dispose(); + app.post(() -> ui.showInfoFade(bundle.format("screenshot", file.toString()))); + }); } + + public static class EnvRenderer{ + /** Environment bitmask; must match env exactly when and-ed. */ + public final int env; + /** Rendering callback. */ + public final Runnable renderer; + + public EnvRenderer(int env, Runnable renderer){ + this.env = env; + this.renderer = renderer; + } + } + } diff --git a/core/src/mindustry/core/UI.java b/core/src/mindustry/core/UI.java index 1eddb7b8fc..1eb38240d1 100644 --- a/core/src/mindustry/core/UI.java +++ b/core/src/mindustry/core/UI.java @@ -33,12 +33,14 @@ import static arc.scene.actions.Actions.*; import static mindustry.Vars.*; public class UI implements ApplicationListener, Loadable{ + public static String billions, millions, thousands; + public static PixmapPacker packer; public MenuFragment menufrag; public HudFragment hudfrag; public ChatFragment chatfrag; - public ScriptConsoleFragment scriptfrag; + public ConsoleFragment consolefrag; public MinimapFragment minimapfrag; public PlayerListFragment listfrag; public LoadingFragment loadfrag; @@ -49,14 +51,14 @@ public class UI implements ApplicationListener, Loadable{ public AboutDialog about; public GameOverDialog restart; public CustomGameDialog custom; - public MapsDialog maps; + public EditorMapsDialog maps; public LoadDialog load; public DiscordDialog discord; public JoinDialog join; public HostDialog host; public PausedDialog paused; public SettingsMenuDialog settings; - public ControlsDialog controls; + public KeybindDialog controls; public MapEditorDialog editor; public LanguageDialog language; public BansDialog bans; @@ -69,14 +71,29 @@ public class UI implements ApplicationListener, Loadable{ public SchematicsDialog schematics; public ModsDialog mods; public ColorPicker picker; + public EffectsDialog effects; public LogicDialog logic; + public FullTextDialog fullText; + public CampaignCompleteDialog campaignComplete; - public Cursor drillCursor, unloadCursor; + public IntMap followUpMenus; + + public Cursor drillCursor, unloadCursor, targetCursor, repairCursor; + + private @Nullable Element lastAnnouncement; public UI(){ Fonts.loadFonts(); } + public static void loadColors(){ + Colors.put("accent", Pal.accent); + Colors.put("unlaunched", Color.valueOf("8982ed")); + Colors.put("highlight", Pal.accent.cpy().lerp(Color.white, 0.3f)); + Colors.put("stat", Pal.stat); + Colors.put("negstat", Pal.negativeStat); + } + @Override public void loadAsync(){ @@ -108,7 +125,10 @@ public class UI implements ApplicationListener, Loadable{ Dialog.setHideAction(() -> sequence(fadeOut(0.1f))); Tooltips.getInstance().animations = false; - Tooltips.getInstance().textProvider = text -> new Tooltip(t -> t.background(Styles.black5).margin(4f).add(text)); + Tooltips.getInstance().textProvider = text -> new Tooltip(t -> t.background(Styles.black6).margin(4f).add(text)); + if(mobile){ + Tooltips.getInstance().offsetY += Scl.scl(60f); + } Core.settings.setErrorHandler(e -> { Log.err(e); @@ -117,18 +137,15 @@ public class UI implements ApplicationListener, Loadable{ ClickListener.clicked = () -> Sounds.press.play(); - Colors.put("accent", Pal.accent); - Colors.put("unlaunched", Color.valueOf("8982ed")); - Colors.put("highlight", Pal.accent.cpy().lerp(Color.white, 0.3f)); - Colors.put("stat", Pal.stat); - drillCursor = Core.graphics.newCursor("drill", Fonts.cursorScale()); unloadCursor = Core.graphics.newCursor("unload", Fonts.cursorScale()); + targetCursor = Core.graphics.newCursor("target", Fonts.cursorScale()); + repairCursor = Core.graphics.newCursor("repair", Fonts.cursorScale()); } @Override public Seq getDependencies(){ - return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class), new AssetDescriptor<>("chat", Font.class)); + return Seq.with(new AssetDescriptor<>(Control.class), new AssetDescriptor<>("outline", Font.class), new AssetDescriptor<>("default", Font.class)); } @Override @@ -140,8 +157,8 @@ public class UI implements ApplicationListener, Loadable{ Core.scene.act(); Core.scene.draw(); - if(Core.input.keyTap(KeyCode.mouseLeft) && Core.scene.getKeyboardFocus() instanceof TextField){ - Element e = Core.scene.hit(Core.input.mouseX(), Core.input.mouseY(), true); + if(Core.input.keyTap(KeyCode.mouseLeft) && Core.scene.hasField()){ + Element e = Core.scene.getHoverElement(); if(!(e instanceof TextField)){ Core.scene.setKeyboardFocus(null); } @@ -152,6 +169,10 @@ public class UI implements ApplicationListener, Loadable{ @Override public void init(){ + billions = Core.bundle.get("unit.billions"); + millions = Core.bundle.get("unit.millions"); + thousands = Core.bundle.get("unit.thousands"); + menuGroup = new WidgetGroup(); hudGroup = new WidgetGroup(); @@ -162,11 +183,12 @@ public class UI implements ApplicationListener, Loadable{ minimapfrag = new MinimapFragment(); listfrag = new PlayerListFragment(); loadfrag = new LoadingFragment(); - scriptfrag = new ScriptConsoleFragment(); + consolefrag = new ConsoleFragment(); picker = new ColorPicker(); + effects = new EffectsDialog(); editor = new MapEditorDialog(); - controls = new ControlsDialog(); + controls = new KeybindDialog(); restart = new GameOverDialog(); join = new JoinDialog(); discord = new DiscordDialog(); @@ -181,13 +203,16 @@ public class UI implements ApplicationListener, Loadable{ bans = new BansDialog(); admins = new AdminsDialog(); traces = new TraceDialog(); - maps = new MapsDialog(); + maps = new EditorMapsDialog(); content = new ContentInfoDialog(); planet = new PlanetDialog(); research = new ResearchDialog(); mods = new ModsDialog(); schematics = new SchematicsDialog(); logic = new LogicDialog(); + fullText = new FullTextDialog(); + campaignComplete = new CampaignCompleteDialog(); + followUpMenus = new IntMap<>(); Group group = Core.scene.root; @@ -203,10 +228,10 @@ public class UI implements ApplicationListener, Loadable{ hudfrag.build(hudGroup); menufrag.build(menuGroup); - chatfrag.container().build(hudGroup); + chatfrag.build(hudGroup); minimapfrag.build(hudGroup); listfrag.build(hudGroup); - scriptfrag.container().build(hudGroup); + consolefrag.build(hudGroup); loadfrag.build(group); new FadeInFragment().build(group); } @@ -214,18 +239,17 @@ public class UI implements ApplicationListener, Loadable{ @Override public void resize(int width, int height){ if(Core.scene == null) return; + + int[] insets = Core.graphics.getSafeInsets(); + Core.scene.marginLeft = insets[0]; + Core.scene.marginRight = insets[1]; + Core.scene.marginTop = insets[2]; + Core.scene.marginBottom = insets[3]; + Core.scene.resize(width, height); Events.fire(new ResizeEvent()); } - @Override - public void dispose(){ - if(packer != null){ - packer.dispose(); - packer = null; - } - } - public TextureRegionDrawable getIcon(String name){ if(Icon.icons.containsKey(name)) return Icon.icons.get(name); return Core.atlas.getDrawable("error"); @@ -248,37 +272,53 @@ public class UI implements ApplicationListener, Loadable{ }); } - public void showTextInput(String titleText, String dtext, int textLength, String def, boolean inumeric, Cons confirmed){ + + public void showTextInput(String titleText, String text, int textLength, String def, boolean numbers, Cons confirmed, Runnable closed) { + showTextInput(titleText, text, textLength, def, numbers, false, confirmed, closed); + } + + public void showTextInput(String titleText, String text, int textLength, String def, boolean numbers, boolean allowEmpty, Cons confirmed, Runnable closed){ if(mobile){ + var description = (text.startsWith("@") ? Core.bundle.get(text.substring(1)) : text); + var empty = allowEmpty; Core.input.getTextInput(new TextInput(){{ this.title = (titleText.startsWith("@") ? Core.bundle.get(titleText.substring(1)) : titleText); this.text = def; - this.numeric = inumeric; + this.numeric = numbers; this.maxLength = textLength; this.accepted = confirmed; + this.canceled = closed; + this.allowEmpty = empty; + this.message = description; }}); }else{ new Dialog(titleText){{ - cont.margin(30).add(dtext).padRight(6f); - TextFieldFilter filter = inumeric ? TextFieldFilter.digitsOnly : (f, c) -> true; + cont.margin(30).add(text).padRight(6f); + TextFieldFilter filter = numbers ? TextFieldFilter.digitsOnly : (f, c) -> true; TextField field = cont.field(def, t -> {}).size(330f, 50f).get(); - field.setFilter((f, c) -> field.getText().length() < textLength && filter.acceptChar(f, c)); + field.setMaxLength(textLength); + field.setFilter(filter); buttons.defaults().size(120, 54).pad(4); - buttons.button("@cancel", this::hide); + buttons.button("@cancel", () -> { + closed.run(); + hide(); + }); buttons.button("@ok", () -> { confirmed.get(field.getText()); hide(); - }).disabled(b -> field.getText().isEmpty()); + }).disabled(b -> !allowEmpty && field.getText().isEmpty()); + keyDown(KeyCode.enter, () -> { String text = field.getText(); - if(!text.isEmpty()){ + if(allowEmpty || !text.isEmpty()){ confirmed.get(text); hide(); } }); - keyDown(KeyCode.escape, this::hide); - keyDown(KeyCode.back, this::hide); + + closeOnBack(closed); show(); + Core.scene.setKeyboardFocus(field); field.setCursorPosition(def.length()); }}; @@ -289,30 +329,61 @@ public class UI implements ApplicationListener, Loadable{ showTextInput(title, text, 32, def, confirmed); } - public void showTextInput(String titleText, String text, int textLength, String def, Cons confirmed){ - showTextInput(titleText, text, textLength, def, false, confirmed); + public void showTextInput(String title, String text, int textLength, String def, Cons confirmed){ + showTextInput(title, text, textLength, def, false, confirmed); + } + + public void showTextInput(String title, String text, int textLength, String def, boolean numeric, Cons confirmed){ + showTextInput(title, text, textLength, def, numeric, confirmed, () -> {}); } public void showInfoFade(String info){ + showInfoFade(info, 7f); + } + + public void showInfoFade(String info, float duration){ + var cinfo = Core.scene.find("coreinfo"); Table table = new Table(); table.touchable = Touchable.disabled; table.setFillParent(true); - table.actions(Actions.fadeOut(7f, Interp.fade), Actions.remove()); + if(cinfo.visible && !state.isMenu()) table.marginTop(cinfo.getPrefHeight() / Scl.scl() / 2); + table.actions(Actions.fadeOut(duration, Interp.fade), Actions.remove()); table.top().add(info).style(Styles.outlineLabel).padTop(10); Core.scene.add(table); } + public void addDescTooltip(Element elem, String description){ + if(description == null) return; + + elem.addListener(new Tooltip(t -> t.background(Styles.black8).margin(4f).add(description).color(Color.lightGray)){ + { + allowMobile = true; + } + @Override + protected void setContainerPosition(Element element, float x, float y){ + this.targetActor = element; + Vec2 pos = element.localToStageCoordinates(Tmp.v1.set(0, 0)); + container.pack(); + container.setPosition(pos.x, pos.y, Align.topLeft); + container.setOrigin(0, element.getHeight()); + } + }); + } + /** Shows a fading label at the top of the screen. */ public void showInfoToast(String info, float duration){ + var cinfo = Core.scene.find("coreinfo"); Table table = new Table(); - table.setFillParent(true); table.touchable = Touchable.disabled; + table.setFillParent(true); + if(cinfo.visible && !state.isMenu()) table.marginTop(cinfo.getPrefHeight() / Scl.scl() / 2); table.update(() -> { if(state.isMenu()) table.remove(); }); table.actions(Actions.delay(duration * 0.9f), Actions.fadeOut(duration * 0.1f, Interp.fade), Actions.remove()); table.top().table(Styles.black3, t -> t.margin(4).add(info).style(Styles.outlineLabel)).padTop(10); Core.scene.add(table); + lastAnnouncement = table; } /** Shows a label at some position on the screen. Does not fade. */ @@ -348,17 +419,21 @@ public class UI implements ApplicationListener, Loadable{ } public void showInfo(String info){ - showInfo(info, () -> {}); - } - - public void showInfo(String info, Runnable listener){ new Dialog(""){{ getCell(cont).growX(); cont.margin(15).add(info).width(400f).wrap().get().setAlignment(Align.center, Align.center); - buttons.button("@ok", () -> { - hide(); - listener.run(); - }).size(110, 50).pad(4); + buttons.button("@ok", this::hide).size(110, 50).pad(4); + keyDown(KeyCode.enter, this::hide); + closeOnBack(); + }}.show(); + } + + public void showInfoOnHidden(String info, Runnable listener){ + new Dialog(""){{ + getCell(cont).growX(); + cont.margin(15).add(info).width(400f).wrap().get().setAlignment(Align.center, Align.center); + buttons.button("@ok", this::hide).size(110, 50).pad(4); + hidden(listener); closeOnBack(); }}.show(); } @@ -392,6 +467,8 @@ public class UI implements ApplicationListener, Loadable{ } public void showException(String text, Throwable exc){ + if(loadfrag == null) return; + loadfrag.hide(); new Dialog(""){{ String message = Strings.getFinalMessage(exc); @@ -449,6 +526,10 @@ public class UI implements ApplicationListener, Loadable{ }}.show(); } + public void showConfirm(String text, Runnable confirmed){ + showConfirm("@confirm", text, null, confirmed); + } + public void showConfirm(String title, String text, Runnable confirmed){ showConfirm(title, text, null, confirmed); } @@ -458,8 +539,8 @@ public class UI implements ApplicationListener, Loadable{ dialog.cont.add(text).width(mobile ? 400f : 500f).wrap().pad(4f).get().setAlignment(Align.center, Align.center); dialog.buttons.defaults().size(200f, 54f).pad(2f); dialog.setFillParent(false); - dialog.buttons.button("@cancel", dialog::hide); - dialog.buttons.button("@ok", () -> { + dialog.buttons.button("@cancel", Icon.cancel, dialog::hide); + dialog.buttons.button("@ok", Icon.ok, () -> { dialog.hide(); confirmed.run(); }); @@ -497,6 +578,10 @@ public class UI implements ApplicationListener, Loadable{ dialog.show(); } + public boolean hasAnnouncement(){ + return lastAnnouncement != null && lastAnnouncement.parent != null; + } + /** Display text in the middle of the screen, then fade out. */ public void announce(String text){ announce(text, 3); @@ -512,6 +597,7 @@ public class UI implements ApplicationListener, Loadable{ t.pack(); t.act(0.1f); Core.scene.add(t); + lastAnnouncement = t; } public void showOkText(String title, String text, Runnable confirmed){ @@ -526,17 +612,106 @@ public class UI implements ApplicationListener, Loadable{ dialog.show(); } - //TODO move? + // TODO REPLACE INTEGER WITH arc.fun.IntCons(int, T) or something like that. + public Dialog newMenuDialog(String title, String message, String[][] options, Cons2 buttonListener){ + return new Dialog(title){{ + setFillParent(true); + removeChild(titleTable); + cont.add(titleTable).width(400f); - public static String formatAmount(int number){ - if(number >= 1_000_000_000){ - return Strings.fixed(number / 1_000_000_000f, 1) + "[gray]" + Core.bundle.get("unit.billions") + "[]"; - }else if(number >= 1_000_000){ - return Strings.fixed(number / 1_000_000f, 1) + "[gray]" + Core.bundle.get("unit.millions") + "[]"; - }else if(number >= 10_000){ - return number / 1000 + "[gray]" + Core.bundle.get("unit.thousands") + "[]"; - }else if(number >= 1000){ - return Strings.fixed(number / 1000f, 1) + "[gray]" + Core.bundle.get("unit.thousands") + "[]"; + cont.row(); + cont.image().width(400f).pad(2).colspan(2).height(4f).color(Pal.accent).bottom(); + cont.row(); + cont.pane(table -> { + table.add(message).width(400f).wrap().get().setAlignment(Align.center); + table.row(); + + int option = 0; + for(var optionsRow : options){ + if(optionsRow.length == 0) continue; + Table buttonRow = table.row().table().get().row(); + int fullWidth = 400 - (optionsRow.length - 1) * 8; // adjust to count padding as well + int width = fullWidth / optionsRow.length; + int lastWidth = fullWidth - width * (optionsRow.length - 1); // take the rest of space for uneven table + + for(int i = 0; i < optionsRow.length; i++){ + if(optionsRow[i] == null) continue; + + String optionName = optionsRow[i]; + int finalOption = option; + buttonRow.button(optionName, () -> buttonListener.get(finalOption, this)) + .size(i == optionsRow.length - 1 ? lastWidth : width, 50).pad(4); + option++; + } + } + }).growX(); + }}; + } + + /** Shows a menu that fires a callback when an option is selected. If nothing is selected, -1 is returned. */ + public void showMenu(String title, String message, String[][] options, Intc callback){ + Dialog dialog = newMenuDialog(title, message, options, (option, myself) -> { + callback.get(option); + myself.hide(); + }); + dialog.closeOnBack(() -> callback.get(-1)); + dialog.show(); + } + + /** Shows a menu that hides when another followUp-menu is shown or when nothing is selected. + * @see UI#showMenu(String, String, String[][], Intc) */ + public void showFollowUpMenu(int menuId, String title, String message, String[][] options, Intc callback) { + Dialog dialog = newMenuDialog(title, message, options, (option, myself) -> callback.get(option)); + dialog.closeOnBack(() -> { + followUpMenus.remove(menuId); + callback.get(-1); + }); + + Dialog oldDialog = followUpMenus.remove(menuId); + if(oldDialog != null){ + dialog.show(Core.scene, null); + oldDialog.hide(null); + }else{ + dialog.show(); + } + followUpMenus.put(menuId, dialog); + } + + public void hideFollowUpMenu(int menuId) { + if(!followUpMenus.containsKey(menuId)) return; + followUpMenus.remove(menuId).hide(); + } + + /** Formats time with hours:minutes:seconds. */ + public static String formatTime(float ticks){ + int seconds = (int)(ticks / 60); + if(seconds < 60) return "0:" + (seconds < 10 ? "0" : "") + seconds; + + int minutes = seconds / 60; + int modSec = seconds % 60; + if(minutes < 60) return minutes + ":" + (modSec < 10 ? "0" : "") + modSec; + + int hours = minutes / 60; + int modMinute = minutes % 60; + + return hours + ":" + (modMinute < 10 ? "0" : "") + modMinute + ":" + (modSec < 10 ? "0" : "") + modSec; + } + + public static String formatAmount(long number){ + //prevent things like bars displaying erroneous representations of casted infinities + if(number == Long.MAX_VALUE) return "∞"; + if(number == Long.MIN_VALUE) return "-∞"; + + long mag = Math.abs(number); + String sign = number < 0 ? "-" : ""; + if(mag >= 1_000_000_000){ + return sign + Strings.fixed(mag / 1_000_000_000f, 1) + "[gray]" + billions + "[]"; + }else if(mag >= 1_000_000){ + return sign + Strings.fixed(mag / 1_000_000f, 1) + "[gray]" + millions + "[]"; + }else if(mag >= 10_000){ + return number / 1000 + "[gray]" + thousands + "[]"; + }else if(mag >= 1000){ + return sign + Strings.fixed(mag / 1000f, 1) + "[gray]" + thousands + "[]"; }else{ return number + ""; } diff --git a/core/src/mindustry/core/Version.java b/core/src/mindustry/core/Version.java index f5b3d2fd6b..c79594eebd 100644 --- a/core/src/mindustry/core/Version.java +++ b/core/src/mindustry/core/Version.java @@ -12,6 +12,8 @@ public class Version{ public static String type = "unknown"; /** Build modifier, e.g. 'alpha' or 'release' */ public static String modifier = "unknown"; + /** Git commit hash (short) */ + public static String commitHash = "unknown"; /** Number specifying the major version, e.g. '4' */ public static int number; /** Build number, e.g. '43'. set to '-1' for custom builds. */ @@ -32,6 +34,7 @@ public class Version{ type = map.get("type"); number = Integer.parseInt(map.get("number", "4")); modifier = map.get("modifier"); + commitHash = map.get("commitHash"); if(map.get("build").contains(".")){ String[] split = map.get("build").split("\\."); try{ @@ -46,8 +49,13 @@ public class Version{ } } - /** @return whether the version is greater than the specified version string, e.g. "120.1"*/ + /** @return whether the current game version is greater than the specified version string, e.g. "120.1"*/ public static boolean isAtLeast(String str){ + return isAtLeast(build, revision, str); + } + + /** @return whether the version numbers are greater than the specified version string, e.g. "120.1"*/ + public static boolean isAtLeast(int build, int revision, String str){ if(build <= 0 || str == null || str.isEmpty()) return true; int dot = str.indexOf('.'); @@ -68,6 +76,6 @@ public class Version{ if(build == -1){ return "custom build"; } - return (type.equals("official") ? modifier : type) + " build " + build + (revision == 0 ? "" : "." + revision); + return (type.equals("official") ? modifier : type) + " build " + build + (revision == 0 ? "" : "." + revision) + (commitHash.equals("unknown") ? "" : " (" + commitHash + ")"); } } diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 9751a3cd0d..a9e858a0c7 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -4,10 +4,11 @@ import arc.*; import arc.func.*; import arc.math.*; import arc.math.geom.*; +import arc.math.geom.Geometry.*; import arc.struct.*; -import arc.struct.ObjectIntMap.*; import arc.util.*; import arc.util.noise.*; +import mindustry.*; import mindustry.content.*; import mindustry.core.GameState.*; import mindustry.ctype.*; @@ -20,7 +21,6 @@ import mindustry.maps.*; import mindustry.maps.filters.*; import mindustry.maps.filters.GenerateFilter.*; import mindustry.type.*; -import mindustry.type.Weather.*; import mindustry.world.*; import mindustry.world.blocks.environment.*; import mindustry.world.blocks.legacy.*; @@ -31,12 +31,20 @@ public class World{ public final Context context = new Context(); public Tiles tiles = new Tiles(0, 0); + /** The number of times tiles have changed in this session. Used for blocks that need to poll world state, but not frequently. */ + public int tileChanges = -1; private boolean generating, invalidMap; private ObjectMap customMapLoaders = new ObjectMap<>(); public World(){ + Events.on(TileChangeEvent.class, e -> { + tileChanges ++; + }); + Events.on(WorldLoadEvent.class, e -> { + tileChanges = -1; + }); } /** Adds a custom handler function for loading a custom map - usually a generated one. */ @@ -162,7 +170,11 @@ public class World{ return Math.round(coord / tilesize); } - private void clearTileEntities(){ + public int packArray(int x, int y){ + return x + y * tiles.width; + } + + public void clearBuildings(){ for(Tile tile : tiles){ if(tile != null && tile.build != null){ tile.build.remove(); @@ -175,7 +187,7 @@ public class World{ * Only use for loading saves! */ public Tiles resize(int width, int height){ - clearTileEntities(); + clearBuildings(); if(tiles.width != width || tiles.height != height){ tiles = new Tiles(width, height); @@ -190,6 +202,7 @@ public class World{ */ public void beginMapLoad(){ generating = true; + Events.fire(new WorldLoadBeginEvent()); } /** @@ -197,6 +210,7 @@ public class World{ * A WorldLoadEvent will be fire. */ public void endMapLoad(){ + Events.fire(new WorldLoadEndEvent()); for(Tile tile : tiles){ //remove legacy blocks; they need to stop existing @@ -219,7 +233,7 @@ public class World{ } public Rect getQuadBounds(Rect in){ - return in.set(-finalWorldBounds, -finalWorldBounds, world.width() * tilesize + finalWorldBounds * 2, world.height() * tilesize + finalWorldBounds * 2); + return in.set(-finalWorldBounds, -finalWorldBounds, width() * tilesize + finalWorldBounds * 2, height() * tilesize + finalWorldBounds * 2); } public void setGenerating(boolean gen){ @@ -240,98 +254,80 @@ public class World{ } public void loadSector(Sector sector){ - setSectorRules(sector); + loadSector(sector, 0, true); + } + + public void loadSector(Sector sector, int seedOffset, boolean saveInfo){ + setSectorRules(sector, saveInfo); int size = sector.getSize(); loadGenerator(size, size, tiles -> { if(sector.preset != null){ sector.preset.generator.generate(tiles); sector.preset.rules.get(state.rules); //apply extra rules + }else if(sector.planet.generator != null){ + sector.planet.generator.generate(tiles, sector, seedOffset); }else{ - sector.planet.generator.generate(tiles, sector); + throw new RuntimeException("Sector " + sector.id + " on planet " + sector.planet.name + " has no generator or preset defined. Provide a planet generator or preset map."); } //just in case state.rules.sector = sector; }); + if(saveInfo && state.rules.waves){ + sector.info.waves = state.rules.waves; + } + //postgenerate for bases - if(sector.preset == null){ + if(sector.preset == null && sector.planet.generator != null){ sector.planet.generator.postGenerate(tiles); } //reset rules - setSectorRules(sector); + setSectorRules(sector, saveInfo); if(state.rules.defaultTeam.core() != null){ sector.info.spawnPosition = state.rules.defaultTeam.core().pos(); } } - private void setSectorRules(Sector sector){ + private void setSectorRules(Sector sector, boolean saveInfo){ state.map = new Map(StringMap.of("name", sector.preset == null ? sector.planet.localizedName + "; Sector " + sector.id : sector.preset.localizedName)); state.rules.sector = sector; - state.rules.weather.clear(); - //apply weather based on terrain - ObjectIntMap floorc = new ObjectIntMap<>(); + sector.planet.generator.addWeather(sector, state.rules); + ObjectSet content = new ObjectSet<>(); - for(Tile tile : world.tiles){ - if(world.getDarkness(tile.x, tile.y) >= 3){ + //resources can be outside area + boolean border = state.rules.limitMapArea; + state.rules.limitMapArea = false; + + //TODO duplicate code? + for(Tile tile : tiles){ + if(getDarkness(tile.x, tile.y) >= 3){ continue; } Liquid liquid = tile.floor().liquidDrop; - if(tile.floor().itemDrop != null) content.add(tile.floor().itemDrop); - if(tile.overlay().itemDrop != null) content.add(tile.overlay().itemDrop); + if(tile.floor().itemDrop != null && tile.block() == Blocks.air) content.add(tile.floor().itemDrop); + if(tile.overlay().itemDrop != null && tile.block() == Blocks.air) content.add(tile.overlay().itemDrop); + if(tile.wallDrop() != null) content.add(tile.wallDrop()); if(liquid != null) content.add(liquid); - - if(!tile.block().isStatic()){ - floorc.increment(tile.floor()); - if(tile.overlay() != Blocks.air){ - floorc.increment(tile.overlay()); - } - } } + state.rules.limitMapArea = border; - //sort counts in descending order - Seq> entries = floorc.entries().toArray(); - entries.sort(e -> -e.value); - //remove all blocks occuring < 30 times - unimportant - entries.removeAll(e -> e.value < 30); - - Block[] floors = new Block[entries.size]; - for(int i = 0; i < entries.size; i++){ - floors[i] = entries.get(i).key; - } - - //TODO bad code - boolean hasSnow = floors[0].name.contains("ice") || floors[0].name.contains("snow"); - boolean hasRain = !hasSnow && content.contains(Liquids.water) && !floors[0].name.contains("sand"); - boolean hasDesert = !hasSnow && !hasRain && floors[0] == Blocks.sand; - boolean hasSpores = floors[0].name.contains("spore") || floors[0].name.contains("moss") || floors[0].name.contains("tainted"); - - if(hasSnow){ - state.rules.weather.add(new WeatherEntry(Weathers.snow)); - } - - if(hasRain){ - state.rules.weather.add(new WeatherEntry(Weathers.rain)); - state.rules.weather.add(new WeatherEntry(Weathers.fog)); - } - - if(hasDesert){ - state.rules.weather.add(new WeatherEntry(Weathers.sandstorm)); - } - - if(hasSpores){ - state.rules.weather.add(new WeatherEntry(Weathers.sporestorm)); - } - - sector.info.resources = content.asArray(); + state.rules.cloudColor = sector.planet.landCloudColor; + state.rules.env = sector.planet.defaultEnv; + state.rules.planet = sector.planet; + sector.planet.applyRules(state.rules); + sector.info.resources = content.toSeq(); sector.info.resources.sort(Structs.comps(Structs.comparing(Content::getContentType), Structs.comparingInt(c -> c.id))); - sector.saveInfo(); + + if(saveInfo){ + sector.saveInfo(); + } } public Context filterContext(Map map){ @@ -367,18 +363,18 @@ public class World{ invalidMap = false; if(!headless){ - if(state.teams.playerCores().size == 0 && !checkRules.pvp){ - ui.showErrorMessage("@map.nospawn"); + if(state.teams.cores(checkRules.defaultTeam).size == 0 && !checkRules.pvp){ invalidMap = true; + ui.showErrorMessage(Core.bundle.format("map.nospawn", checkRules.defaultTeam.coloredName())); }else if(checkRules.pvp){ //pvp maps need two cores to be valid if(state.teams.getActive().count(TeamData::hasCore) < 2){ invalidMap = true; ui.showErrorMessage("@map.nospawn.pvp"); } }else if(checkRules.attackMode){ //attack maps need two cores to be valid - invalidMap = state.teams.get(state.rules.waveTeam).noCores(); + invalidMap = state.rules.waveTeam.data().noCores(); if(invalidMap){ - ui.showErrorMessage("@map.nospawn.attack"); + ui.showErrorMessage(Core.bundle.format("map.nospawn.attack", checkRules.waveTeam.coloredName())); } } }else{ @@ -392,78 +388,11 @@ public class World{ if(invalidMap) Core.app.post(() -> state.set(State.menu)); } - public void notifyChanged(Tile tile){ - if(!generating){ - Core.app.post(() -> Events.fire(new TileChangeEvent(tile))); - } - } - - public void raycastEachWorld(float x0, float y0, float x1, float y1, Raycaster cons){ - raycastEach(toTile(x0), toTile(y0), toTile(x1), toTile(y1), cons); - } - - public void raycastEach(int x0f, int y0f, int x1, int y1, Raycaster cons){ - int x0 = x0f; - int y0 = y0f; - int dx = Math.abs(x1 - x0); - int dy = Math.abs(y1 - y0); - - int sx = x0 < x1 ? 1 : -1; - int sy = y0 < y1 ? 1 : -1; - - int err = dx - dy; - int e2; - while(true){ - - if(cons.accept(x0, y0)) break; - if(x0 == x1 && y0 == y1) break; - - e2 = 2 * err; - if(e2 > -dy){ - err = err - dy; - x0 = x0 + sx; - } - - if(e2 < dx){ - err = err + dx; - y0 = y0 + sy; - } - } - } - - public boolean raycast(int x0f, int y0f, int x1, int y1, Raycaster cons){ - int x0 = x0f; - int y0 = y0f; - int dx = Math.abs(x1 - x0); - int dy = Math.abs(y1 - y0); - - int sx = x0 < x1 ? 1 : -1; - int sy = y0 < y1 ? 1 : -1; - - int err = dx - dy; - int e2; - while(true){ - if(cons.accept(x0, y0)) return true; - if(x0 == x1 && y0 == y1) return false; - - e2 = 2 * err; - if(e2 > -dy){ - err = err - dy; - x0 = x0 + sx; - } - - if(e2 < dx){ - err = err + dx; - y0 = y0 + sy; - } - } - } - public void addDarkness(Tiles tiles){ byte[] dark = new byte[tiles.width * tiles.height]; byte[] writeBuffer = new byte[tiles.width * tiles.height]; - byte darkIterations = 4; + byte darkIterations = darkRadius; for(int i = 0; i < dark.length; i++){ Tile tile = tiles.geti(i); @@ -497,7 +426,7 @@ public class World{ tile.data = dark[idx]; } - if(dark[idx] == 4){ + if(dark[idx] == darkRadius){ boolean full = true; for(Point2 p : Geometry.d4){ int px = p.x + tile.x, py = p.y + tile.y; @@ -508,22 +437,60 @@ public class World{ } } - if(full) tile.data = 5; + if(full) tile.data = darkRadius + 1; } } } - public float getDarkness(int x, int y){ - int edgeBlend = 2; + public byte getWallDarkness(Tile tile){ + if(tile.isDarkened()){ + int minDst = darkRadius + 1; + for(int cx = tile.x - darkRadius; cx <= tile.x + darkRadius; cx++){ + for(int cy = tile.y - darkRadius; cy <= tile.y + darkRadius; cy++){ + if(tiles.in(cx, cy) && !rawTile(cx, cy).isDarkened()){ + minDst = Math.min(minDst, Math.abs(cx - tile.x) + Math.abs(cy - tile.y)); + } + } + } + return (byte)Math.max((minDst - 1), 0); + } + return 0; + } + + public void checkMapArea(){ + for(var build : Groups.build){ + //reset map-area-based disabled blocks. + if(!build.enabled && build.block.autoResetEnabled){ + build.enabled = true; + } + } + } + + //TODO optimize; this is very slow and called too often! + public float getDarkness(int x, int y){ float dark = 0; - int edgeDst = Math.min(x, Math.min(y, Math.min(Math.abs(x - (tiles.width - 1)), Math.abs(y - (tiles.height - 1))))); - if(edgeDst <= edgeBlend){ - dark = Math.max((edgeBlend - edgeDst) * (4f / edgeBlend), dark); + + if(Vars.state.rules.borderDarkness){ + int edgeBlend = 2; + int edgeDst; + + if(!state.rules.limitMapArea){ + edgeDst = Math.min(x, Math.min(y, Math.min(-(x - (tiles.width - 1)), -(y - (tiles.height - 1))))); + }else{ + edgeDst = + Math.min(x - state.rules.limitX, + Math.min(y - state.rules.limitY, + Math.min(-(x - (state.rules.limitX + state.rules.limitWidth - 1)), -(y - (state.rules.limitY + state.rules.limitHeight - 1))))); + } + + if(edgeDst <= edgeBlend){ + dark = Math.max((edgeBlend - edgeDst) * (4f / edgeBlend), dark); + } } if(state.hasSector() && state.getSector().preset == null){ - int circleBlend = 14; + int circleBlend = 5; //quantized angle float offset = state.getSector().rect.rotation + 90; float angle = Angles.angle(x, y, tiles.width/2, tiles.height/2) + offset; @@ -546,22 +513,65 @@ public class World{ } } - Tile tile = world.tile(x, y); - if(tile != null && tile.block().solid && tile.block().fillsTile && !tile.block().synthetic()){ + Tile tile = tile(x, y); + if(tile != null && tile.isDarkened()){ dark = Math.max(dark, tile.data); } return dark; } - public interface Raycaster{ - boolean accept(int x, int y); + public static void raycastEachWorld(float x0, float y0, float x1, float y1, Raycaster cons){ + raycastEach(toTile(x0), toTile(y0), toTile(x1), toTile(y1), cons); + } + + public static void raycastEach(int x1, int y1, int x2, int y2, Raycaster cons){ + int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1; + int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1; + int e2, err = dx - dy; + + while(true){ + if(cons.accept(x, y)) break; + if(x == x2 && y == y2) break; + + e2 = 2 * err; + if(e2 > -dy){ + err -= dy; + x += sx; + } + + if(e2 < dx){ + err += dx; + y += sy; + } + } + } + + public static boolean raycast(int x1, int y1, int x2, int y2, Raycaster cons){ + int x = x1, dx = Math.abs(x2 - x), sx = x < x2 ? 1 : -1; + int y = y1, dy = Math.abs(y2 - y), sy = y < y2 ? 1 : -1; + int e2, err = dx - dy; + + while(true){ + if(cons.accept(x, y)) return true; + if(x == x2 && y == y2) return false; + + e2 = 2 * err; + if(e2 > -dy){ + err = err - dy; + x = x + sx; + } + + if(e2 < dx){ + err = err + dx; + y = y + sy; + } + } } private class Context implements WorldContext{ - Context(){ - } + Context(){} @Override public Tile tile(int index){ @@ -597,15 +607,21 @@ public class World{ } /** World context that applies filters after generation end. */ - private class FilterContext extends Context{ + public class FilterContext extends Context{ final Map map; - FilterContext(Map map){ + public FilterContext(Map map){ this.map = map; } @Override public void end(){ + applyFilters(); + + super.end(); + } + + public void applyFilters(){ Seq filters = map.filters(); if(!filters.isEmpty()){ @@ -614,12 +630,10 @@ public class World{ for(GenerateFilter filter : filters){ filter.randomize(); - input.begin(filter, width(), height(), (x, y) -> tiles.getn(x, y)); + input.begin(width(), height(), (x, y) -> tiles.getn(x, y)); filter.apply(tiles, input); } } - - super.end(); } } } diff --git a/core/src/mindustry/ctype/Content.java b/core/src/mindustry/ctype/Content.java index 71bf965e3f..97816377e2 100644 --- a/core/src/mindustry/ctype/Content.java +++ b/core/src/mindustry/ctype/Content.java @@ -6,8 +6,8 @@ import mindustry.*; import mindustry.mod.Mods.*; /** Base class for a content type that is loaded in {@link mindustry.core.ContentLoader}. */ -public abstract class Content implements Comparable, Disposable{ - public final short id; +public abstract class Content implements Comparable{ + public short id; /** Info on which mod this content was loaded from. */ public ModContentInfo minfo = new ModContentInfo(); @@ -25,20 +25,31 @@ public abstract class Content implements Comparable, Disposable{ /** Called after all content and modules are created. Do not use to load regions or texture data! */ public void init(){} + /** Called after init(). */ + public void postInit(){} + /** * Called after all content is created, only on non-headless versions. * Use for loading regions or other image data. */ public void load(){} + /** Called right before load(). */ + public void loadIcon(){} + /** @return whether an error occurred during mod loading. */ public boolean hasErrored(){ return minfo.error != null; } - @Override - public void dispose(){ - //does nothing by default + /** @return whether this is content from the base game. */ + public boolean isVanilla(){ + return minfo.mod == null; + } + + /** @return whether this content is from a mod. */ + public boolean isModded(){ + return !isVanilla(); } @Override diff --git a/core/src/mindustry/ctype/ContentList.java b/core/src/mindustry/ctype/ContentList.java deleted file mode 100644 index efe1588f31..0000000000 --- a/core/src/mindustry/ctype/ContentList.java +++ /dev/null @@ -1,7 +0,0 @@ -package mindustry.ctype; - -/** Interface for a list of content to be loaded in {@link mindustry.core.ContentLoader}. */ -public interface ContentList{ - /** This method should create all the content. */ - void load(); -} diff --git a/core/src/mindustry/ctype/ContentType.java b/core/src/mindustry/ctype/ContentType.java index e62377628c..136e5257e0 100644 --- a/core/src/mindustry/ctype/ContentType.java +++ b/core/src/mindustry/ctype/ContentType.java @@ -1,22 +1,37 @@ package mindustry.ctype; +import arc.util.*; +import mindustry.ai.*; +import mindustry.entities.bullet.*; +import mindustry.type.*; +import mindustry.world.*; + /** Do not rearrange, ever! */ public enum ContentType{ - item, - block, - mech_UNUSED, - bullet, - liquid, - status, - unit, - weather, - effect_UNUSED, - sector, - loadout_UNUSED, - typeid_UNUSED, - error, - planet, - ammo; + item(Item.class), + block(Block.class), + mech_UNUSED(null), + bullet(BulletType.class), + liquid(Liquid.class), + status(StatusEffect.class), + unit(UnitType.class), + weather(Weather.class), + effect_UNUSED(null), + sector(SectorPreset.class), + loadout_UNUSED(null), + typeid_UNUSED(null), + error(null), + planet(Planet.class), + ammo_UNUSED(null), + team(TeamEntry.class), + unitCommand(UnitCommand.class), + unitStance(UnitStance.class); public static final ContentType[] all = values(); + + public final @Nullable Class contentClass; + + ContentType(Class contentClass){ + this.contentClass = contentClass; + } } diff --git a/core/src/mindustry/ctype/UnlockableContent.java b/core/src/mindustry/ctype/UnlockableContent.java index a08dab1b67..f8fdc28679 100644 --- a/core/src/mindustry/ctype/UnlockableContent.java +++ b/core/src/mindustry/ctype/UnlockableContent.java @@ -2,14 +2,18 @@ package mindustry.ctype; import arc.*; import arc.func.*; +import arc.graphics.*; import arc.graphics.g2d.*; +import arc.graphics.g2d.TextureAtlas.*; import arc.scene.ui.layout.*; +import arc.struct.*; import arc.util.*; import mindustry.annotations.Annotations.*; import mindustry.content.*; import mindustry.content.TechTree.*; import mindustry.game.EventType.*; import mindustry.graphics.*; +import mindustry.graphics.MultiPacker.*; import mindustry.type.*; import mindustry.ui.*; import mindustry.world.meta.*; @@ -28,11 +32,38 @@ public abstract class UnlockableContent extends MappableContent{ public boolean alwaysUnlocked = false; /** Whether to show the description in the research dialog preview. */ public boolean inlineDescription = true; - /** Special logic icon ID. */ - public int iconId = 0; - /** Icons by Cicon ID.*/ - protected TextureRegion[] cicons = new TextureRegion[Cicon.all.length]; - /** Unlock state. Loaded from settings. Do not modify outside of the constructor. */ + /** Whether details are hidden in custom games if this hasn't been unlocked in campaign mode. */ + public boolean hideDetails = true; + /** Whether this is hidden from the Core Database. */ + public boolean hideDatabase = false; + /** If false, all icon generation is disabled for this content; createIcons is not called. */ + public boolean generateIcons = true; + /** How big the content appears in certain selection menus */ + public float selectionSize = 24f; + /** Icon of the content to use in UI. */ + public TextureRegion uiIcon; + /** Icon of the full content. Unscaled.*/ + public TextureRegion fullIcon; + /** Override for the full icon. Useful for mod content with duplicate icons. Overrides any other full icon.*/ + public String fullOverride = ""; + /** If true, this content will appear in all database tabs. */ + public boolean allDatabaseTabs = false; + /** + * Planets that this content is made for. If empty, a planet is decided based on item requirements. + * Currently, this is only meaningful for blocks. + * */ + public ObjectSet shownPlanets = new ObjectSet<>(); + /** + * Content - usually a planet - that dictates which database tab(s) this content will appear in. + * If nothing is defined, it will use the values in shownPlanets. + * If shownPlanets is also empty, it will use Serpulo as the "default" tab. + * */ + public ObjectSet databaseTabs = new ObjectSet<>(); + /** The tech tree node for this content, if applicable. Null if not part of a tech tree. */ + public @Nullable TechNode techNode; + /** Tech nodes for all trees that this content is part of. */ + public Seq techNodes = new Seq<>(); + /** Unlock state. Loaded from settings. Do not modify outside the constructor. */ protected boolean unlocked; public UnlockableContent(String name){ @@ -44,13 +75,36 @@ public abstract class UnlockableContent extends MappableContent{ this.unlocked = Core.settings != null && Core.settings.getBool(this.name + "-unlocked", false); } - /** @return the tech node for this content. may be null. */ - public @Nullable TechNode node(){ - return TechTree.get(this); + @Override + public void postInit(){ + super.postInit(); + + databaseTabs.addAll(shownPlanets); + } + + @Override + public void loadIcon(){ + fullIcon = + Core.atlas.find(fullOverride == null ? "" : fullOverride, + Core.atlas.find(getContentType().name() + "-" + name + "-full", + Core.atlas.find(name + "-full", + Core.atlas.find(name, + Core.atlas.find(getContentType().name() + "-" + name, + Core.atlas.find(name + "1")))))); + + uiIcon = Core.atlas.find(getContentType().name() + "-" + name + "-ui", fullIcon); + } + + public boolean isOnPlanet(@Nullable Planet planet){ + return planet == null || planet == Planets.sun || shownPlanets.isEmpty() || shownPlanets.contains(planet); + } + + public int getLogicId(){ + return logicVars.lookupLogicId(this); } public String displayDescription(){ - return minfo.mod == null ? description : description + "\n" + Core.bundle.format("mod.display", minfo.mod.meta.displayName()); + return minfo.mod == null ? description : description + "\n" + Core.bundle.format("mod.display", minfo.mod.meta.displayName); } /** Checks stat initialization state. Call before displaying stats. */ @@ -65,12 +119,50 @@ public abstract class UnlockableContent extends MappableContent{ public void setStats(){ } - /** Generate any special icons for this content. Called asynchronously.*/ + /** Display any extra info after details. */ + public void displayExtra(Table table){ + + } + + /** + * Generate any special icons for this content. Called synchronously. + * No regions are loaded at this point; grab pixmaps from the packer. + * */ @CallSuper public void createIcons(MultiPacker packer){ } + protected void makeOutline(PageType page, MultiPacker packer, TextureRegion region, boolean makeNew, Color outlineColor, int outlineRadius){ + if(region instanceof AtlasRegion at && region.found()){ + String name = at.name; + if(!makeNew || !packer.has(name + "-outline")){ + String regName = name + (makeNew ? "-outline" : ""); + if(packer.registerOutlined(regName)){ + PixmapRegion base = Core.atlas.getPixmap(region); + var result = Pixmaps.outline(base, outlineColor, outlineRadius); + Drawf.checkBleed(result); + packer.add(page, regName, result); + result.dispose(); + } + } + } + } + + protected void makeOutline(MultiPacker packer, TextureRegion region, String name, Color outlineColor, int outlineRadius){ + if(region.found() && packer.registerOutlined(name)){ + PixmapRegion base = Core.atlas.getPixmap(region); + var result = Pixmaps.outline(base, outlineColor, outlineRadius); + Drawf.checkBleed(result); + packer.add(PageType.main, name, result); + result.dispose(); + } + } + + protected void makeOutline(MultiPacker packer, TextureRegion region, String name, Color outlineColor){ + makeOutline(packer, region, name, outlineColor, 4); + } + /** @return items needed to research this content */ public ItemStack[] researchRequirements(){ return ItemStack.empty; @@ -80,19 +172,13 @@ public abstract class UnlockableContent extends MappableContent{ return Fonts.getUnicodeStr(name); } - /** Returns a specific content icon, or the region {contentType}-{name} if not found.*/ - public TextureRegion icon(Cicon icon){ - if(cicons[icon.ordinal()] == null){ - cicons[icon.ordinal()] = - Core.atlas.find(getContentType().name() + "-" + name + "-" + icon.name(), - Core.atlas.find(getContentType().name() + "-" + name + "-full", - Core.atlas.find(name + "-" + icon.name(), - Core.atlas.find(name + "-full", - Core.atlas.find(name, - Core.atlas.find(getContentType().name() + "-" + name, - Core.atlas.find(name + "1"))))))); - } - return cicons[icon.ordinal()]; + public int emojiChar(){ + return Fonts.getUnicode(name); + } + + + public boolean hasEmoji(){ + return Fonts.hasUnicodeStr(name); } /** Iterates through any implicit dependencies of this content. @@ -101,11 +187,6 @@ public abstract class UnlockableContent extends MappableContent{ } - /** This should show all necessary info about this content in the specified table. */ - public void display(Table table){ - - } - /** Called when this content is unlocked. Use this to unlock other related content. */ public void onUnlock(){ } @@ -115,6 +196,15 @@ public abstract class UnlockableContent extends MappableContent{ return false; } + /** @return whether to show a notification toast when this is unlocked */ + public boolean showUnlock(){ + return true; + } + + public boolean logicVisible(){ + return !isHidden(); + } + /** Makes this piece of content unlocked; if it already unlocked, nothing happens. */ public void unlock(){ if(!unlocked && !alwaysUnlocked){ @@ -134,9 +224,26 @@ public abstract class UnlockableContent extends MappableContent{ } } + public boolean unlockedNowHost(){ + return !state.isCampaign() || unlockedHost(); + } + + /** @return in multiplayer, whether this is unlocked for the host player, otherwise, whether it is unlocked for the local player (same as unlocked()) */ + public boolean unlockedHost(){ + return net != null && net.client() ? + alwaysUnlocked || state.rules.researched.contains(this) : + unlocked || alwaysUnlocked; + } + + /** @return whether this content is unlocked, or the player is in a custom (non-campaign) game. */ + public boolean unlockedNow(){ + return unlocked() || !state.isCampaign(); + } + public boolean unlocked(){ - if(net != null && net.client()) return unlocked || alwaysUnlocked || state.rules.researched.contains(name); - return unlocked || alwaysUnlocked; + return net != null && net.client() ? + alwaysUnlocked || unlocked || state.rules.researched.contains(this) : + unlocked || alwaysUnlocked; } /** Locks this content again. */ @@ -147,11 +254,6 @@ public abstract class UnlockableContent extends MappableContent{ } } - /** @return whether this content is unlocked, or the player is in a custom (non-campaign) game. */ - public boolean unlockedNow(){ - return unlocked() || !state.isCampaign(); - } - public boolean locked(){ return !unlocked(); } diff --git a/core/src/mindustry/editor/BannedContentDialog.java b/core/src/mindustry/editor/BannedContentDialog.java new file mode 100644 index 0000000000..2a15742195 --- /dev/null +++ b/core/src/mindustry/editor/BannedContentDialog.java @@ -0,0 +1,210 @@ +package mindustry.editor; + +import arc.*; +import arc.func.*; +import arc.graphics.*; +import arc.graphics.g2d.*; +import arc.scene.style.*; +import arc.scene.ui.*; +import arc.scene.ui.layout.*; +import arc.struct.*; +import arc.util.*; +import mindustry.ctype.*; +import mindustry.gen.*; +import mindustry.graphics.*; +import mindustry.type.*; +import mindustry.ui.*; +import mindustry.ui.dialogs.*; +import mindustry.world.*; + +import static mindustry.Vars.*; + +public class BannedContentDialog extends BaseDialog{ + private final ContentType type; + private Table selectedTable; + private Table deselectedTable; + private ObjectSet contentSet; + private final Boolf pred; + private String contentSearch; + private Category selectedCategory; + private Seq filteredContent; + + public BannedContentDialog(String title, ContentType type, Boolf pred){ + super(title); + this.type = type; + this.pred = pred; + contentSearch = ""; + + selectedTable = new Table(); + deselectedTable = new Table(); + + addCloseButton(); + + shown(this::build); + resized(this::build); + } + + public void show(ObjectSet contentSet){ + this.contentSet = contentSet; + show(); + } + + public void build(){ + cont.clear(); + + var cell = cont.table(t -> { + t.table(s -> { + s.label(() -> "@search").padRight(10); + var field = s.field(contentSearch, value -> { + contentSearch = value; + rebuildTables(); + }).get(); + s.button(Icon.cancel, Styles.emptyi, () -> { + contentSearch = ""; + field.setText(""); + rebuildTables(); + }).padLeft(10f).size(35f); + }); + if(type == ContentType.block){ + t.row(); + t.table(c -> { + c.marginTop(8f); + c.defaults().marginRight(4f); + for(Category category : Category.values()){ + c.button(ui.getIcon(category.name()), Styles.squareTogglei, () -> { + if(selectedCategory == category){ + selectedCategory = null; + }else{ + selectedCategory = category; + } + rebuildTables(); + }).size(45f).update(i -> i.setChecked(selectedCategory == category)).padLeft(4f); + } + c.add("").padRight(4f); + }).center(); + } + }); + cont.row(); + if(!Core.graphics.isPortrait()) cell.colspan(2); + + filteredContent = content.getBy(type).select(pred); + if(!contentSearch.isEmpty()) filteredContent.removeAll(content -> !content.localizedName.toLowerCase().contains(contentSearch.toLowerCase())); + + cont.table(table -> { + if(type == ContentType.block){ + table.add("@bannedblocks").color(Color.valueOf("f25555")).padBottom(-1).top().row(); + }else{ + table.add("@bannedunits").color(Color.valueOf("f25555")).padBottom(-1).top().row(); + } + + table.image().color(Color.valueOf("f25555")).height(3f).padBottom(5f).fillX().expandX().top().row(); + table.pane(table2 -> selectedTable = table2).fill().expand().row(); + table.button("@addall", Icon.add, () -> { + contentSet.addAll(filteredContent); + rebuildTables(); + }).disabled(button -> contentSet.toSeq().containsAll(filteredContent)).padTop(10f).bottom().fillX(); + }).fill().expandY().uniform(); + + if(Core.graphics.isPortrait()) cont.row(); + + var cell2 = cont.table(table -> { + if(type == ContentType.block){ + table.add("@unbannedblocks").color(Pal.accent).padBottom(-1).top().row(); + }else{ + table.add("@unbannedunits").color(Pal.accent).padBottom(-1).top().row(); + } + + table.image().color(Pal.accent).height(3f).padBottom(5f).fillX().top().row(); + table.pane(table2 -> deselectedTable = table2).fill().expand().row(); + table.button("@addall", Icon.add, () -> { + contentSet.removeAll(filteredContent); + rebuildTables(); + }).disabled(button -> { + Seq array = content.getBy(type); + array = array.copy(); + array.removeAll(contentSet.toSeq()); + return array.containsAll(filteredContent); + }).padTop(10f).bottom().fillX(); + }).fill().expandY().uniform(); + if(Core.graphics.isPortrait()){ + cell2.padTop(10f); + }else{ + cell2.padLeft(10f); + } + + rebuildTables(); + } + + private void rebuildTables(){ + filteredContent.clear(); + filteredContent = content.getBy(type); + filteredContent = filteredContent.select(pred); + + if(!contentSearch.isEmpty()) filteredContent.removeAll(content -> !content.localizedName.toLowerCase().contains(contentSearch.toLowerCase())); + if(type == ContentType.block){ + filteredContent.removeAll(content -> selectedCategory != null && ((Block)content).category != selectedCategory); + } + + rebuildTable(selectedTable, true); + rebuildTable(deselectedTable, false); + } + + private void rebuildTable(Table table, boolean isSelected){ + table.clear(); + + int cols; + if(Core.graphics.isPortrait()){ + cols = Math.max(4, (int)((Core.graphics.getWidth() / Scl.scl() - 100f) / 50f)); + }else{ + cols = Math.max(4, (int)((Core.graphics.getWidth() / Scl.scl() - 300f) / 50f / 2)); + } + + if((isSelected && contentSet.isEmpty()) || (!isSelected && contentSet.size == content.getBy(type).count(pred))){ + table.add("@empty").width(50f * cols).padBottom(5f).get().setAlignment(Align.center); + }else{ + Seq array; + if(!isSelected){ + array = content.getBy(type); + array = array.copy(); + array.removeAll(contentSet.toSeq()); + }else{ + array = contentSet.toSeq(); + } + array.sort(); + array.removeAll(content -> !filteredContent.contains(content)); + + if(array.isEmpty()){ + table.add("@empty").width(50f * cols).padBottom(5f).get().setAlignment(Align.center); + return; + } + int i = 0; + boolean requiresPad = true; + + for(T content : array){ + TextureRegion region = content.uiIcon; + + ImageButton button = new ImageButton(Tex.whiteui, Styles.clearNonei); + button.getStyle().imageUp = new TextureRegionDrawable(region); + button.resizeImage(8 * 4f); + if(isSelected) button.clicked(() -> { + contentSet.remove(content); + rebuildTables(); + }); + else button.clicked(() -> { + contentSet.add(content); + rebuildTables(); + }); + table.add(button).size(50f).tooltip(content.localizedName); + + if(++i % cols == 0){ + table.row(); + requiresPad = false; + } + } + + if(requiresPad){ + table.add("").padRight(50f * (cols - i)); + } + } + } +} diff --git a/core/src/mindustry/editor/DrawOperation.java b/core/src/mindustry/editor/DrawOperation.java index 53134663ea..a49b09525e 100755 --- a/core/src/mindustry/editor/DrawOperation.java +++ b/core/src/mindustry/editor/DrawOperation.java @@ -10,13 +10,8 @@ import mindustry.world.blocks.environment.*; import static mindustry.Vars.*; public class DrawOperation{ - private MapEditor editor; private LongSeq array = new LongSeq(); - public DrawOperation(MapEditor editor){ - this.editor = editor; - } - public boolean isEmpty(){ return array.isEmpty(); } @@ -61,7 +56,9 @@ public class DrawOperation{ void setTile(Tile tile, byte type, short to){ editor.load(() -> { if(type == OpType.floor.ordinal()){ - tile.setFloor((Floor)content.block(to)); + if(content.block(to) instanceof Floor floor){ + tile.setFloor(floor); + } }else if(type == OpType.block.ordinal()){ tile.getLinkedTiles(t -> editor.renderer.updatePoint(t.x, t.y)); diff --git a/core/src/mindustry/editor/EditorTile.java b/core/src/mindustry/editor/EditorTile.java index e4be334888..68272ce8d1 100644 --- a/core/src/mindustry/editor/EditorTile.java +++ b/core/src/mindustry/editor/EditorTile.java @@ -39,9 +39,14 @@ public class EditorTile extends Tile{ } @Override - public void setBlock(Block type, Team team, int rotation){ + public boolean isEditorTile(){ + return true; + } + + @Override + public void setBlock(Block type, Team team, int rotation, Prov entityprov){ if(skip()){ - super.setBlock(type, team, rotation); + super.setBlock(type, team, rotation, entityprov); return; } @@ -63,7 +68,7 @@ public class EditorTile extends Tile{ } - super.setBlock(type, team, rotation); + super.setBlock(type, team, rotation, entityprov); } @Override @@ -77,7 +82,7 @@ public class EditorTile extends Tile{ op(OpType.team, (byte)getTeamID()); super.setTeam(team); - getLinkedTiles(t -> ui.editor.editor.renderer.updatePoint(t.x, t.y)); + getLinkedTiles(t -> editor.renderer.updatePoint(t.x, t.y)); } @Override @@ -87,7 +92,7 @@ public class EditorTile extends Tile{ return; } - if(!floor.hasSurface() && overlay.asFloor().needsSurface) return; + if(!floor.hasSurface() && overlay.asFloor().needsSurface && (overlay instanceof OreBlock || !floor.supportsOverlay)) return; if(overlay() == overlay) return; op(OpType.overlay, this.overlay.id); super.setOverlay(overlay); @@ -102,6 +107,15 @@ public class EditorTile extends Tile{ } } + @Override + protected void firePreChanged(){ + if(skip()){ + super.firePreChanged(); + }else{ + update(); + } + } + @Override public void recache(){ if(skip()){ @@ -132,7 +146,6 @@ public class EditorTile extends Tile{ if(block.hasBuilding()){ build = entityprov.get().init(this, team, false, rotation); - build.cons = new ConsumeModule(build); if(block.hasItems) build.items = new ItemModule(); if(block.hasLiquids) build.liquids(new LiquidModule()); if(block.hasPower) build.power(new PowerModule()); @@ -140,14 +153,14 @@ public class EditorTile extends Tile{ } private void update(){ - ui.editor.editor.renderer.updatePoint(x, y); + editor.renderer.updatePoint(x, y); } private boolean skip(){ - return state.isGame() || ui.editor.editor.isLoading(); + return state.isGame() || editor.isLoading() || world.isGenerating(); } private void op(OpType type, short value){ - ui.editor.editor.addTileOp(TileOp.get(x, y, (byte)type.ordinal(), value)); + editor.addTileOp(TileOp.get(x, y, (byte)type.ordinal(), value)); } } diff --git a/core/src/mindustry/editor/EditorTool.java b/core/src/mindustry/editor/EditorTool.java index cd4b63935e..50c7a2aca9 100644 --- a/core/src/mindustry/editor/EditorTool.java +++ b/core/src/mindustry/editor/EditorTool.java @@ -10,10 +10,12 @@ import mindustry.content.*; import mindustry.game.*; import mindustry.world.*; +import static mindustry.Vars.*; + public enum EditorTool{ zoom(KeyCode.v), pick(KeyCode.i){ - public void touched(MapEditor editor, int x, int y){ + public void touched(int x, int y){ if(!Structs.inBounds(x, y, editor.width(), editor.height())) return; Tile tile = editor.tile(x, y); @@ -23,7 +25,7 @@ public enum EditorTool{ line(KeyCode.l, "replace", "orthogonal"){ @Override - public void touchedLine(MapEditor editor, int x1, int y1, int x2, int y2){ + public void touchedLine(int x1, int y1, int x2, int y2){ //straight if(mode == 1){ if(Math.abs(x2 - x1) > Math.abs(y2 - y1)){ @@ -44,14 +46,15 @@ public enum EditorTool{ }); } }, - pencil(KeyCode.b, "replace", "square", "drawteams"){ + //the "under liquid" rendering is too buggy to make public + pencil(KeyCode.b, "replace", "square", "drawteams"/*, "underliquid"*/){ { edit = true; draggable = true; } @Override - public void touched(MapEditor editor, int x, int y){ + public void touched(int x, int y){ if(mode == -1){ //normal mode editor.drawBlocks(x, y); @@ -60,10 +63,12 @@ public enum EditorTool{ editor.drawBlocksReplace(x, y); }else if(mode == 1){ //square mode - editor.drawBlocks(x, y, true, tile -> true); + editor.drawBlocks(x, y, true, false, tile -> true); }else if(mode == 2){ //draw teams editor.drawCircle(x, y, tile -> tile.setTeam(editor.drawTeam)); + }else if(mode == 3){ + editor.drawBlocks(x, y, false, true, tile -> tile.floor().isLiquid); } } @@ -75,7 +80,7 @@ public enum EditorTool{ } @Override - public void touched(MapEditor editor, int x, int y){ + public void touched(int x, int y){ editor.drawCircle(x, y, tile -> { if(mode == -1){ //erase block @@ -87,7 +92,7 @@ public enum EditorTool{ }); } }, - fill(KeyCode.g, "replaceall", "fillteams"){ + fill(KeyCode.g, "replaceall", "fillteams", "fillerase"){ { edit = true; } @@ -95,17 +100,19 @@ public enum EditorTool{ IntSeq stack = new IntSeq(); @Override - public void touched(MapEditor editor, int x, int y){ + public void touched(int x, int y){ if(!Structs.inBounds(x, y, editor.width(), editor.height())) return; Tile tile = editor.tile(x, y); - if(editor.drawBlock.isMultiblock()){ + if(tile == null) return; + + if(editor.drawBlock.isMultiblock() && (mode == 0 || mode == -1)){ //don't fill multiblocks, thanks - pencil.touched(editor, x, y); + pencil.touched(x, y); return; } - //mode 0 or 1, fill everything with the floor/tile or replace it + //mode 0 or standard, fill everything with the floor/tile or replace it if(mode == 0 || mode == -1){ //can't fill parts or multiblocks if(tile.block().isMultiblock()){ @@ -133,19 +140,40 @@ public enum EditorTool{ } //replace only when the mode is 0 using the specified functions - fill(editor, x, y, mode == 0, tester, setter); + fill(x, y, mode == 0, tester, setter); }else if(mode == 1){ //mode 1 is team fill //only fill synthetic blocks, it's meaningless otherwise if(tile.synthetic()){ Team dest = tile.team(); if(dest == editor.drawTeam) return; - fill(editor, x, y, false, t -> t.getTeamID() == dest.id && t.synthetic(), t -> t.setTeam(editor.drawTeam)); + fill(x, y, true, t -> t.getTeamID() == dest.id && t.synthetic(), t -> t.setTeam(editor.drawTeam)); + } + }else if(mode == 2){ //erase mode + Boolf tester; + Cons setter; + + if(tile.block() != Blocks.air){ + Block dest = tile.block(); + tester = t -> t.block() == dest; + setter = t -> t.setBlock(Blocks.air); + }else if(tile.overlay() != Blocks.air){ + Block dest = tile.overlay(); + tester = t -> t.overlay() == dest; + setter = t -> t.setOverlay(Blocks.air); + }else{ + //trying to erase floor (no) + tester = null; + setter = null; + } + + if(setter != null){ + fill(x, y, false, tester, setter); } } } - void fill(MapEditor editor, int x, int y, boolean replace, Boolf tester, Cons filler){ + void fill(int x, int y, boolean replace, Boolf tester, Cons filler){ int width = editor.width(), height = editor.height(); if(replace){ @@ -215,7 +243,7 @@ public enum EditorTool{ } @Override - public void touched(MapEditor editor, int x, int y){ + public void touched(int x, int y){ //floor spray if(editor.drawBlock.isFloor()){ @@ -263,7 +291,7 @@ public enum EditorTool{ this.key = code; } - public void touched(MapEditor editor, int x, int y){} + public void touched(int x, int y){} - public void touchedLine(MapEditor editor, int x1, int y1, int x2, int y2){} + public void touchedLine(int x1, int y1, int x2, int y2){} } diff --git a/core/src/mindustry/editor/MapEditor.java b/core/src/mindustry/editor/MapEditor.java index c460d7c042..38839e6108 100644 --- a/core/src/mindustry/editor/MapEditor.java +++ b/core/src/mindustry/editor/MapEditor.java @@ -8,6 +8,7 @@ import arc.math.geom.*; import arc.struct.*; import mindustry.content.*; import mindustry.editor.DrawOperation.*; +import mindustry.entities.units.*; import mindustry.game.*; import mindustry.gen.*; import mindustry.io.*; @@ -17,17 +18,17 @@ import mindustry.world.*; import static mindustry.Vars.*; public class MapEditor{ - public static final int[] brushSizes = {1, 2, 3, 4, 5, 9, 15, 20}; + public static final float[] brushSizes = {1, 1.5f, 2, 3, 4, 5, 9, 15, 20}; public StringMap tags = new StringMap(); - public MapRenderer renderer = new MapRenderer(this); + public MapRenderer renderer = new MapRenderer(); private final Context context = new Context(); private OperationStack stack = new OperationStack(); private DrawOperation currentOp; private boolean loading; - public int brushSize = 1; + public float brushSize = 1; public int rotation; public Block drawBlock = Blocks.stone; public Team drawTeam = Team.sharded; @@ -61,11 +62,31 @@ public class MapEditor{ public void beginEdit(Pixmap pixmap){ reset(); - createTiles(pixmap.getWidth(), pixmap.getHeight()); + createTiles(pixmap.width, pixmap.height); load(() -> MapIO.readImage(pixmap, tiles())); renderer.resize(width(), height()); } + public void updateRenderer(){ + Tiles tiles = world.tiles; + Seq builds = new Seq<>(); + + for(int i = 0; i < tiles.width * tiles.height; i++){ + Tile tile = tiles.geti(i); + var build = tile.build; + if(build != null && tile.isCenter()){ + builds.add(build); + } + tiles.seti(i, new EditorTile(tile.x, tile.y, tile.floorID(), tile.overlayID(), build == null ? tile.blockID() : 0)); + } + + for(var build : builds){ + tiles.get(build.tileX(), build.tileY()).setBlock(build.block, build.team, build.rotation, () -> build); + } + + renderer.resize(width(), height()); + } + public void load(Runnable r){ loading = true; r.run(); @@ -115,14 +136,14 @@ public class MapEditor{ } public void drawBlocks(int x, int y){ - drawBlocks(x, y, false, tile -> true); + drawBlocks(x, y, false, false, tile -> true); } public void drawBlocks(int x, int y, Boolf tester){ - drawBlocks(x, y, false, tester); + drawBlocks(x, y, false, false, tester); } - public void drawBlocks(int x, int y, boolean square, Boolf tester){ + public void drawBlocks(int x, int y, boolean square, boolean forceOverlay, Boolf tester){ if(drawBlock.isMultiblock()){ x = Mathf.clamp(x, (drawBlock.size - 1) / 2, width() - drawBlock.size / 2 - 1); y = Mathf.clamp(y, (drawBlock.size - 1) / 2, height() - drawBlock.size / 2 - 1); @@ -136,7 +157,13 @@ public class MapEditor{ if(!tester.get(tile)) return; if(isFloor){ - tile.setFloor(drawBlock.asFloor()); + if(forceOverlay){ + tile.setOverlay(drawBlock.asFloor()); + }else{ + if(!(drawBlock.asFloor().wallOre && !tile.block().solid)){ + tile.setFloor(drawBlock.asFloor()); + } + } }else if(!(tile.block().isMultiblock() && !drawBlock.isMultiblock())){ if(drawBlock.rotate && tile.build != null && tile.build.rotation != rotation){ addTileOp(TileOp.get(tile.x, tile.y, (byte)OpType.rotation.ordinal(), (byte)rotation)); @@ -226,8 +253,9 @@ public class MapEditor{ } public void drawCircle(int x, int y, Cons drawer){ - for(int rx = -brushSize; rx <= brushSize; rx++){ - for(int ry = -brushSize; ry <= brushSize; ry++){ + int clamped = (int)brushSize; + for(int rx = -clamped; rx <= clamped; rx++){ + for(int ry = -clamped; ry <= clamped; ry++){ if(Mathf.within(rx, ry, brushSize - 0.5f + 0.0001f)){ int wx = x + rx, wy = y + ry; @@ -242,8 +270,9 @@ public class MapEditor{ } public void drawSquare(int x, int y, Cons drawer){ - for(int rx = -brushSize; rx <= brushSize; rx++){ - for(int ry = -brushSize; ry <= brushSize; ry++){ + int clamped = (int)brushSize; + for(int rx = -clamped; rx <= clamped; rx++){ + for(int ry = -clamped; ry <= clamped; ry++){ int wx = x + rx, wy = y + ry; if(wx < 0 || wy < 0 || wx >= width() || wy >= height()){ @@ -255,27 +284,51 @@ public class MapEditor{ } } - public void resize(int width, int height){ + public void resize(int width, int height, int shiftX, int shiftY){ clearOp(); Tiles previous = world.tiles; - int offsetX = -(width - width()) / 2, offsetY = -(height - height()) / 2; + int offsetX = (width() - width) / 2 - shiftX, offsetY = (height() - height) / 2 - shiftY; loading = true; - Tiles tiles = world.resize(width, height); + world.clearBuildings(); + + Tiles tiles = world.tiles = new Tiles(width, height); + for(int x = 0; x < width; x++){ for(int y = 0; y < height; y++){ int px = offsetX + x, py = offsetY + y; if(previous.in(px, py)){ tiles.set(x, y, previous.getn(px, py)); Tile tile = tiles.getn(x, y); + + Object config = null; + + //fetch the old config first, configs can be relative to block position (tileX/tileY) before those are reassigned + if(tile.build != null && tile.isCenter()){ + config = tile.build.config(); + } + tile.x = (short)x; tile.y = (short)y; if(tile.build != null && tile.isCenter()){ tile.build.x = x * tilesize + tile.block().offset; tile.build.y = y * tilesize + tile.block().offset; + + //shift links to account for map resize + if(config != null){ + Object out = BuildPlan.pointConfig(tile.block(), config, p -> { + if(!tile.build.block.ignoreResizeConfig){ + p.sub(offsetX, offsetY); + } + }); + if(out != config){ + tile.build.configureAny(out); + } + } } + }else{ tiles.set(x, y, new EditorTile(x, y, Blocks.stone.id, (short)0, (short)0)); } @@ -319,7 +372,7 @@ public class MapEditor{ public void addTileOp(long data){ if(loading) return; - if(currentOp == null) currentOp = new DrawOperation(this); + if(currentOp == null) currentOp = new DrawOperation(); currentOp.addOperation(data); renderer.updatePoint(TileOp.x(data), TileOp.y(data)); diff --git a/core/src/mindustry/editor/MapEditorDialog.java b/core/src/mindustry/editor/MapEditorDialog.java index 316d29f5e6..ad35a4a45f 100644 --- a/core/src/mindustry/editor/MapEditorDialog.java +++ b/core/src/mindustry/editor/MapEditorDialog.java @@ -19,6 +19,7 @@ import mindustry.*; import mindustry.content.*; import mindustry.core.GameState.*; import mindustry.game.*; +import mindustry.game.MapObjectives.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.io.*; @@ -33,18 +34,18 @@ import mindustry.world.meta.*; import static mindustry.Vars.*; public class MapEditorDialog extends Dialog implements Disposable{ - public final MapEditor editor; - private MapView view; private MapInfoDialog infoDialog; private MapLoadDialog loadDialog; private MapResizeDialog resizeDialog; private MapGenerateDialog generateDialog; + private SectorGenerateDialog sectorGenDialog; + private MapPlayDialog playtestDialog; private ScrollPane pane; private BaseDialog menu; private Table blockSelection; private Rules lastSavedRules; - private boolean saved = false; + private boolean saved = false; //currently never read private boolean shownWithMap = false; private Seq blocksOut = new Seq<>(); @@ -53,10 +54,11 @@ public class MapEditorDialog extends Dialog implements Disposable{ background(Styles.black); - editor = new MapEditor(); - view = new MapView(editor); - infoDialog = new MapInfoDialog(editor); - generateDialog = new MapGenerateDialog(editor, true); + view = new MapView(); + infoDialog = new MapInfoDialog(); + generateDialog = new MapGenerateDialog(true); + sectorGenDialog = new SectorGenerateDialog(); + playtestDialog = new MapPlayDialog(); menu = new BaseDialog("@menu"); menu.addCloseButton(); @@ -120,9 +122,15 @@ public class MapEditorDialog extends Dialog implements Disposable{ "@editor.exportimage", "@editor.exportimage.description", Icon.fileImage, (Runnable)() -> platform.export(editor.tags.get("name", "unknown"), "png", file -> { Pixmap out = MapIO.writeImage(editor.tiles()); - file.writePNG(out); + file.writePng(out); out.dispose(); }))); + + t.row(); + + t.button("@editor.ingame", Icon.right, this::editInGame); + + t.button("@editor.playtest", Icon.play, this::playtest); }); menu.cont.row(); @@ -156,24 +164,31 @@ public class MapEditorDialog extends Dialog implements Disposable{ } platform.publish(map); - }).padTop(-3).size(swidth * 2f + 10, 60f).update(b -> b.setText(editor.tags.containsKey("steamid") ? editor.tags.get("author").equals(player.name) ? "@workshop.listing" : "@view.workshop" : "@editor.publish.workshop")); + }).padTop(-3).size(swidth * 2f + 10, 60f).update(b -> + b.setText(editor.tags.containsKey("steamid") ? + editor.tags.get("author", "").equals(steamPlayerName) ? "@workshop.listing" : "@view.workshop" : + "@editor.publish.workshop")); menu.cont.row(); } - menu.cont.button("@editor.ingame", Icon.right, this::playtest).padTop(!steam ? -3 : 1).size(swidth * 2f + 10, 60f); + menu.cont.button("@editor.sectorgenerate", Icon.terrain, () -> { + menu.hide(); + sectorGenDialog.show(); + }).padTop(!steam ? -3 : 1).size(swidth * 2f + 10, 60f); + menu.cont.row(); menu.cont.row(); menu.cont.button("@quit", Icon.exit, () -> { tryExit(); menu.hide(); - }).size(swidth * 2f + 10, 60f); + }).padTop(1).size(swidth * 2f + 10, 60f); - resizeDialog = new MapResizeDialog(editor, (x, y) -> { - if(!(editor.width() == x && editor.height() == y)){ + resizeDialog = new MapResizeDialog((width, height, shiftX, shiftY) -> { + if(!(editor.width() == width && editor.height() == height && shiftX == 0 && shiftY == 0)){ ui.loadAnd(() -> { - editor.resize(x, y); + editor.resize(width, height, shiftX, shiftY); }); } }); @@ -193,11 +208,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ margin(0); update(() -> { - if(Core.scene.getKeyboardFocus() instanceof Dialog && Core.scene.getKeyboardFocus() != this){ - return; - } - - if(Core.scene != null && Core.scene.getKeyboardFocus() == this){ + if(hasKeyboard()){ doInput(); } }); @@ -238,7 +249,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ editor.renderer.updateAll(); } - private void playtest(){ + private void editInGame(){ menu.hide(); ui.loadAnd(() -> { lastSavedRules = state.rules; @@ -247,7 +258,9 @@ public class MapEditorDialog extends Dialog implements Disposable{ state.teams = new Teams(); player.reset(); state.rules = Gamemode.editor.apply(lastSavedRules.copy()); + state.rules.limitMapArea = false; state.rules.sector = null; + state.rules.fog = false; state.map = new Map(StringMap.of( "name", "Editor Playtesting", "width", editor.width(), @@ -255,22 +268,60 @@ public class MapEditorDialog extends Dialog implements Disposable{ )); world.endMapLoad(); player.set(world.width() * tilesize/2f, world.height() * tilesize/2f); + Core.camera.position.set(player); player.clearUnit(); - Groups.unit.clear(); + + for(var unit : Groups.unit){ + if(unit.spawnedByCore){ + unit.remove(); + } + } + Groups.build.clear(); Groups.weather.clear(); logic.play(); if(player.team().core() == null){ player.set(world.width() * tilesize/2f, world.height() * tilesize/2f); - player.unit(UnitTypes.alpha.spawn(player.team(), player.x, player.y)); + var unit = (state.rules.hasEnv(Env.scorching) ? UnitTypes.evoke : UnitTypes.alpha).spawn(player.team(), player.x, player.y); + unit.spawnedByCore = true; + player.unit(unit); } + + player.checkSpawn(); }); } + public void resumeAfterPlaytest(Map map){ + beginEditMap(map.file); + } + + private void playtest(){ + menu.hide(); + Map map = save(); + + if(map != null){ + //skip dialog, play immediately when shift clicked + if(Core.input.shift()){ + hide(); + //auto pick best fit + control.playMap(map, map.applyRules( + Gamemode.survival.valid(map) ? Gamemode.survival : + Gamemode.attack.valid(map) ? Gamemode.attack : + Gamemode.sandbox), true + ); + }else{ + playtestDialog.playListener = this::hide; + playtestDialog.show(map, true); + } + } + } + public @Nullable Map save(){ boolean isEditor = state.rules.editor; state.rules.editor = false; + state.rules.objectiveFlags.clear(); + state.rules.objectives.each(MapObjective::reset); String name = editor.tags.get("name", "").trim(); editor.tags.put("rules", JsonIO.write(state.rules)); editor.tags.remove("width"); @@ -278,6 +329,12 @@ public class MapEditorDialog extends Dialog implements Disposable{ player.clearUnit(); + //remove player unit + Unit unit = Groups.unit.find(u -> u.spawnedByCore); + if(unit != null){ + unit.remove(); + } + Map returned = null; if(name.isEmpty()){ @@ -285,10 +342,19 @@ public class MapEditorDialog extends Dialog implements Disposable{ Core.app.post(() -> ui.showErrorMessage("@editor.save.noname")); }else{ Map map = maps.all().find(m -> m.name().equals(name)); - if(map != null && !map.custom){ + if(map != null && !map.custom && !map.workshop){ handleSaveBuiltin(map); }else{ + boolean workshop = false; + //try to preserve Steam ID + if(map != null && map.tags.containsKey("steamid")){ + editor.tags.put("steamid", map.tags.get("steamid")); + workshop = true; + } returned = maps.saveMap(editor.tags); + if(workshop){ + returned.workshop = workshop; + } ui.showInfoFade("@editor.saved"); } } @@ -392,7 +458,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ } public void build(){ - float size = 58f; + float size = mobile ? 50f : 58f; clearChildren(); table(cont -> { @@ -408,7 +474,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ Cons addTool = tool -> { - ImageButton button = new ImageButton(ui.getIcon(tool.name()), Styles.clearTogglei); + ImageButton button = new ImageButton(ui.getIcon(tool.name()), Styles.squareTogglei); button.clicked(() -> { view.setTool(tool); if(lastTable[0] != null){ @@ -444,7 +510,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ table.button(b -> { b.left(); b.marginLeft(6); - b.setStyle(Styles.clearTogglet); + b.setStyle(Styles.flatTogglet); b.add(Core.bundle.get("toolmode." + name)).left(); b.row(); b.add(Core.bundle.get("toolmode." + name + ".description")).color(Color.lightGray).left(); @@ -484,16 +550,16 @@ public class MapEditorDialog extends Dialog implements Disposable{ tools.defaults().size(size, size); - tools.button(Icon.menu, Styles.cleari, menu::show); + tools.button(Icon.menu, Styles.flati, menu::show); - ImageButton grid = tools.button(Icon.grid, Styles.clearTogglei, () -> view.setGrid(!view.isGrid())).get(); + ImageButton grid = tools.button(Icon.grid, Styles.squareTogglei, () -> view.setGrid(!view.isGrid())).get(); addTool.get(EditorTool.zoom); tools.row(); - ImageButton undo = tools.button(Icon.undo, Styles.cleari, editor::undo).get(); - ImageButton redo = tools.button(Icon.redo, Styles.cleari, editor::redo).get(); + ImageButton undo = tools.button(Icon.undo, Styles.flati, editor::undo).get(); + ImageButton redo = tools.button(Icon.redo, Styles.flati, editor::redo).get(); addTool.get(EditorTool.pick); @@ -515,7 +581,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ addTool.get(EditorTool.fill); addTool.get(EditorTool.spray); - ImageButton rotate = tools.button(Icon.right, Styles.cleari, () -> editor.rotation = (editor.rotation + 1) % 4).get(); + ImageButton rotate = tools.button(Icon.right, Styles.flati, () -> editor.rotation = (editor.rotation + 1) % 4).get(); rotate.getImage().update(() -> { rotate.getImage().setRotation(editor.rotation * 90); rotate.getImage().setOrigin(Align.center); @@ -533,7 +599,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ int i = 0; for(Team team : Team.baseTeams){ - ImageButton button = new ImageButton(Tex.whiteui, Styles.clearTogglePartiali); + ImageButton button = new ImageButton(Tex.whiteui, Styles.clearNoneTogglei); button.margin(4f); button.getImageCell().grow(); button.getStyle().imageUpColor = team.color; @@ -558,27 +624,27 @@ public class MapEditorDialog extends Dialog implements Disposable{ } } - t.top(); - t.add("@editor.brush"); + var label = new Label("@editor.brush"); + label.setAlignment(Align.center); + label.touchable = Touchable.disabled; + + t.top().stack(slider, label).width(size * 3f - 20).padTop(4f); t.row(); - t.add(slider).width(size * 3f - 20).padTop(4f); }).padTop(5).growX().top(); mid.row(); if(!mobile){ mid.table(t -> { - t.button("@editor.center", Icon.move, Styles.cleart, view::center).growX().margin(9f); + t.button("@editor.center", Icon.move, Styles.flatt, view::center).growX().margin(9f); }).growX().top(); } - if(experimental){ - mid.row(); + mid.row(); - mid.table(t -> { - t.button("Cliffs", Icon.terrain, Styles.cleart, editor::addCliffs).growX().margin(9f); - }).growX().top(); - } + mid.table(t -> { + t.button("@editor.cliffs", Icon.terrain, Styles.flatt, editor::addCliffs).growX().margin(9f); + }).growX().top(); }).margin(0).left().growY(); @@ -627,28 +693,6 @@ public class MapEditorDialog extends Dialog implements Disposable{ editor.undo(); } - //more undocumented features, fantastic - if(Core.input.keyTap(KeyCode.t)){ - - //clears all 'decoration' from the map - for(int x = 0; x < editor.width(); x++){ - for(int y = 0; y < editor.height(); y++){ - Tile tile = editor.tile(x, y); - if(tile.block().breakable && tile.block() instanceof Boulder){ - tile.setBlock(Blocks.air); - editor.renderer.updatePoint(x, y); - } - - if(tile.overlay() != Blocks.air && tile.overlay() != Blocks.spawn){ - tile.setOverlay(Blocks.air); - editor.renderer.updatePoint(x, y); - } - } - } - - editor.flushOp(); - } - if(Core.input.keyTap(KeyCode.y)){ editor.redo(); } @@ -669,7 +713,7 @@ public class MapEditorDialog extends Dialog implements Disposable{ private void addBlockSelection(Table cont){ blockSelection = new Table(); - pane = new ScrollPane(blockSelection); + pane = new ScrollPane(blockSelection, Styles.smallPane); pane.setFadeScrollBars(false); pane.setOverscroll(true, false); pane.exited(() -> { @@ -680,13 +724,13 @@ public class MapEditorDialog extends Dialog implements Disposable{ cont.table(search -> { search.image(Icon.zoom).padRight(8); - search.field("", this::rebuildBlockSelection) + search.field("", this::rebuildBlockSelection).growX() .name("editor/search").maxTextLength(maxNameLength).get().setMessageText("@players.search"); - }).pad(-2); + }).growX().pad(-2).padLeft(6f); cont.row(); cont.table(Tex.underline, extra -> extra.labelWrap(() -> editor.drawBlock.localizedName).width(200f).center()).growX(); cont.row(); - cont.add(pane).expandY().top().left(); + cont.add(pane).expandY().growX().top().left(); rebuildBlockSelection(""); } @@ -709,14 +753,14 @@ public class MapEditorDialog extends Dialog implements Disposable{ int i = 0; for(Block block : blocksOut){ - TextureRegion region = block.icon(Cicon.medium); + TextureRegion region = block.uiIcon; if(!Core.atlas.isFound(region) || !block.inEditor || block.buildVisibility == BuildVisibility.debugOnly || (!searchText.isEmpty() && !block.localizedName.toLowerCase().contains(searchText.toLowerCase())) ) continue; - ImageButton button = new ImageButton(Tex.whiteui, Styles.clearTogglei); + ImageButton button = new ImageButton(Tex.whiteui, Styles.clearNoneTogglei); button.getStyle().imageUp = new TextureRegionDrawable(region); button.clicked(() -> editor.drawBlock = block); button.resizeImage(8 * 4f); @@ -725,13 +769,13 @@ public class MapEditorDialog extends Dialog implements Disposable{ if(i == 0) editor.drawBlock = block; - if(++i % 4 == 0){ + if(++i % 6 == 0){ blockSelection.row(); } } if(i == 0){ - blockSelection.add("@none").color(Color.lightGray).padLeft(80f).padTop(10f); + blockSelection.add("@none.found").padLeft(54f).padTop(10f); } } } diff --git a/core/src/mindustry/editor/MapGenerateDialog.java b/core/src/mindustry/editor/MapGenerateDialog.java index f6a87f77b1..bb04261baf 100644 --- a/core/src/mindustry/editor/MapGenerateDialog.java +++ b/core/src/mindustry/editor/MapGenerateDialog.java @@ -10,11 +10,11 @@ import arc.scene.ui.ImageButton.*; import arc.scene.ui.layout.*; import arc.struct.*; import arc.util.*; -import arc.util.async.*; import mindustry.game.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.io.*; +import mindustry.maps.*; import mindustry.maps.filters.*; import mindustry.maps.filters.GenerateFilter.*; import mindustry.ui.*; @@ -22,32 +22,26 @@ import mindustry.ui.dialogs.*; import mindustry.world.*; import mindustry.world.blocks.environment.*; +import java.util.concurrent.*; + import static mindustry.Vars.*; @SuppressWarnings("unchecked") public class MapGenerateDialog extends BaseDialog{ - private final Prov[] filterTypes = new Prov[]{ - NoiseFilter::new, ScatterFilter::new, TerrainFilter::new, DistortFilter::new, - RiverNoiseFilter::new, OreFilter::new, OreMedianFilter::new, MedianFilter::new, - BlendFilter::new, MirrorFilter::new, ClearFilter::new, CoreSpawnFilter::new, - EnemySpawnFilter::new, SpawnPathFilter::new - }; - private final MapEditor editor; - private final boolean applied; + final boolean applied; - private Pixmap pixmap; - private Texture texture; - private GenerateInput input = new GenerateInput(); + Pixmap pixmap; + Texture texture; + GenerateInput input = new GenerateInput(); Seq filters = new Seq<>(); - private int scaling = mobile ? 3 : 1; - private Table filterTable; + int scaling = mobile ? 3 : 1; + Table filterTable; - private AsyncExecutor executor = new AsyncExecutor(1); - private AsyncResult result; + Future result; boolean generating; - private long[] buffer1, buffer2; - private Cons> applier; + long[] buffer1, buffer2; + Cons> applier; CachedTile ctile = new CachedTile(){ //nothing. @Override @@ -62,35 +56,79 @@ public class MapGenerateDialog extends BaseDialog{ }; /** @param applied whether or not to use the applied in-game mode. */ - public MapGenerateDialog(MapEditor editor, boolean applied){ + public MapGenerateDialog(boolean applied){ super("@editor.generate"); - this.editor = editor; this.applied = applied; shown(this::setup); - addCloseButton(); + addCloseListener(); + + var style = Styles.flatt; + + buttons.defaults().size(180f, 64f).pad(2f); + buttons.button("@back", Icon.left, this::hide); + if(applied){ buttons.button("@editor.apply", Icon.ok, () -> { ui.loadAnd(() -> { apply(); hide(); }); - }).size(160f, 64f); - }else{ - buttons.button("@settings.reset", () -> { - filters.set(maps.readFilters("")); - rebuildFilters(); - update(); - }).size(160f, 64f); + }); } + buttons.button("@editor.randomize", Icon.refresh, () -> { for(GenerateFilter filter : filters){ filter.randomize(); } update(); - }).size(160f, 64f); + }); - buttons.button("@add", Icon.add, this::showAdd).height(64f).width(150f); + buttons.button("@edit", Icon.edit, () -> { + BaseDialog dialog = new BaseDialog("@editor.export"); + dialog.cont.pane(p -> { + p.margin(10f); + p.table(Tex.button, in -> { + in.defaults().size(280f, 60f).left(); + + in.button("@waves.copy", Icon.copy, style, () -> { + dialog.hide(); + + Core.app.setClipboardText(JsonIO.write(filters)); + }).marginLeft(12f).row(); + in.button("@waves.load", Icon.download, style, () -> { + dialog.hide(); + try{ + filters.set(JsonIO.read(Seq.class, Core.app.getClipboardText())); + + rebuildFilters(); + update(); + }catch(Throwable e){ + ui.showException(e); + } + }).marginLeft(12f).disabled(b -> Core.app.getClipboardText() == null).row(); + in.button("@clear", Icon.none, style, () -> { + dialog.hide(); + filters.clear(); + rebuildFilters(); + update(); + }).marginLeft(12f).row(); + if(!applied){ + in.button("@settings.reset", Icon.refresh, style, () -> { + dialog.hide(); + filters.set(maps.readFilters("")); + rebuildFilters(); + update(); + }).marginLeft(12f).row(); + } + }); + }); + + dialog.addCloseButton(); + dialog.show(); + }); + + buttons.button("@add", Icon.add, this::showAdd); if(!applied){ hidden(this::apply); @@ -115,13 +153,13 @@ public class MapGenerateDialog extends BaseDialog{ long[] writeTiles = new long[editor.width() * editor.height()]; for(GenerateFilter filter : filters){ - input.begin(filter, editor.width(), editor.height(), editor::tile); + input.begin(editor.width(), editor.height(), editor::tile); //write to buffer for(int x = 0; x < editor.width(); x++){ for(int y = 0; y < editor.height(); y++){ Tile tile = editor.tile(x, y); - input.apply(x, y, tile.block(), tile.floor(), tile.overlay()); + input.set(x, y, tile.block(), tile.floor(), tile.overlay()); filter.apply(input); writeTiles[x + y*world.width()] = PackTile.get(input.block.id, input.floor.id, input.overlay.id); } @@ -173,7 +211,7 @@ public class MapGenerateDialog extends BaseDialog{ @Override public void draw(){ super.draw(); - for(GenerateFilter filter : filters){ + for(var filter : filters){ filter.draw(this); } } @@ -194,7 +232,7 @@ public class MapGenerateDialog extends BaseDialog{ }else{ Core.scene.setScrollFocus(null); } - }).grow().uniformX().get().setScrollingDisabled(true, false); + }).grow().uniformX().scrollX(false); }).grow(); buffer1 = create(); @@ -214,7 +252,7 @@ public class MapGenerateDialog extends BaseDialog{ filterTable.top().left(); int i = 0; - for(GenerateFilter filter : filters){ + for(var filter : filters){ //main container filterTable.table(Tex.pane, c -> { @@ -230,30 +268,44 @@ public class MapGenerateDialog extends BaseDialog{ t.add().growX(); ImageButtonStyle style = Styles.geni; - t.defaults().size(42f); + t.defaults().size(42f).padLeft(-5f); t.button(Icon.refresh, style, () -> { filter.randomize(); update(); - }); + }).padLeft(-16f).tooltip("@editor.randomize"); - t.button(Icon.upOpen, style, () -> { - int idx = filters.indexOf(filter); - filters.swap(idx, Math.max(0, idx - 1)); + if(filter != filters.first()){ + t.button(Icon.upOpen, style, () -> { + int idx = filters.indexOf(filter); + filters.swap(idx, Math.max(0, idx - 1)); + rebuildFilters(); + update(); + }).tooltip("@editor.moveup"); + } + + if(filter != filters.peek()){ + t.button(Icon.downOpen, style, () -> { + int idx = filters.indexOf(filter); + filters.swap(idx, Math.min(filters.size - 1, idx + 1)); + rebuildFilters(); + update(); + }).tooltip("@editor.movedown"); + } + + t.button(Icon.copy, style, () -> { + GenerateFilter copy = filter.copy(); + copy.randomize(); + filters.insert(filters.indexOf(filter) + 1, copy); rebuildFilters(); update(); - }); - t.button(Icon.downOpen, style, () -> { - int idx = filters.indexOf(filter); - filters.swap(idx, Math.min(filters.size - 1, idx + 1)); - rebuildFilters(); - update(); - }); + }).tooltip("@editor.copy"); + t.button(Icon.cancel, style, () -> { filters.remove(filter); rebuildFilters(); update(); - }); + }).tooltip("@waves.remove"); }).growX(); c.row(); @@ -272,7 +324,6 @@ public class MapGenerateDialog extends BaseDialog{ }).grow().left().pad(6).top(); }).width(280f).pad(3).top().left().fillY(); - if(++i % cols == 0){ filterTable.row(); } @@ -284,30 +335,35 @@ public class MapGenerateDialog extends BaseDialog{ } void showAdd(){ - BaseDialog selection = new BaseDialog("@add"); - selection.setFillParent(false); - selection.cont.defaults().size(210f, 60f); - int i = 0; - for(Prov gen : filterTypes){ - GenerateFilter filter = gen.get(); + var selection = new BaseDialog("@add"); + selection.cont.pane(p -> { + p.background(Tex.button); + p.marginRight(14); + p.defaults().size(195f, 56f); + int i = 0; + for(var gen : Maps.allFilterTypes){ + var filter = gen.get(); + var icon = filter.icon(); - if((filter.isPost() && applied)) continue; + if(filter.isPost() && applied) continue; - selection.cont.button(filter.name(), () -> { - filters.add(filter); + p.button((icon == '\0' ? "" : icon + " ") + filter.name(), Styles.flatt, () -> { + filter.randomize(); + filters.add(filter); + rebuildFilters(); + update(); + selection.hide(); + }).with(Table::left).get().getLabelCell().growX().left().padLeft(5).labelAlign(Align.left); + if(++i % 3 == 0) p.row(); + } + + p.button(Iconc.refresh + " " + Core.bundle.get("filter.defaultores"), Styles.flatt, () -> { + maps.addDefaultOres(filters); rebuildFilters(); update(); selection.hide(); - }); - if(++i % 2 == 0) selection.cont.row(); - } - - selection.cont.button("@filter.defaultores", () -> { - maps.addDefaultOres(filters); - rebuildFilters(); - update(); - selection.hide(); - }); + }).with(Table::left).get().getLabelCell().growX().left().padLeft(5).labelAlign(Align.left); + }).scrollX(false); selection.addCloseButton(); selection.show(); @@ -326,7 +382,10 @@ public class MapGenerateDialog extends BaseDialog{ void apply(){ if(result != null){ - result.get(); + //ignore errors yay + try{ + result.get(); + }catch(Exception e){} } buffer1 = null; @@ -348,31 +407,31 @@ public class MapGenerateDialog extends BaseDialog{ return; } - Seq copy = new Seq<>(filters); + var copy = filters.copy(); - result = executor.submit(() -> { + result = mainExecutor.submit(() -> { try{ - int w = pixmap.getWidth(); + int w = pixmap.width; world.setGenerating(true); generating = true; if(!filters.isEmpty()){ //write to buffer1 for reading - for(int px = 0; px < pixmap.getWidth(); px++){ - for(int py = 0; py < pixmap.getHeight(); py++){ + for(int px = 0; px < pixmap.width; px++){ + for(int py = 0; py < pixmap.height; py++){ buffer1[px + py*w] = pack(editor.tile(px * scaling, py * scaling)); } } } - for(GenerateFilter filter : copy){ - input.begin(filter, editor.width(), editor.height(), (x, y) -> unpack(buffer1[Mathf.clamp(x / scaling, 0, pixmap.getWidth()-1) + w* Mathf.clamp(y / scaling, 0, pixmap.getHeight()-1)])); + for(var filter : copy){ + input.begin(editor.width(), editor.height(), (x, y) -> unpack(buffer1[Mathf.clamp(x / scaling, 0, pixmap.width -1) + w* Mathf.clamp(y / scaling, 0, pixmap.height -1)])); //read from buffer1 and write to buffer2 pixmap.each((px, py) -> { int x = px * scaling, y = py * scaling; long tile = buffer1[px + py * w]; - input.apply(x, y, content.block(PackTile.block(tile)), content.block(PackTile.floor(tile)), content.block(PackTile.overlay(tile))); + input.set(x, y, content.block(PackTile.block(tile)), content.block(PackTile.floor(tile)), content.block(PackTile.overlay(tile))); filter.apply(input); buffer2[px + py * w] = PackTile.get(input.block.id, input.floor.id, input.overlay.id); }); @@ -380,8 +439,8 @@ public class MapGenerateDialog extends BaseDialog{ pixmap.each((px, py) -> buffer1[px + py*w] = buffer2[px + py*w]); } - for(int px = 0; px < pixmap.getWidth(); px++){ - for(int py = 0; py < pixmap.getHeight(); py++){ + for(int px = 0; px < pixmap.width; px++){ + for(int py = 0; py < pixmap.height; py++){ int color; //get result from buffer1 if there's filters left, otherwise get from editor directly if(filters.isEmpty()){ @@ -391,7 +450,7 @@ public class MapGenerateDialog extends BaseDialog{ long tile = buffer1[px + py*w]; color = MapIO.colorFor(content.block(PackTile.block(tile)), content.block(PackTile.floor(tile)), content.block(PackTile.overlay(tile)), Team.derelict); } - pixmap.draw(px, pixmap.getHeight() - 1 - py, color); + pixmap.set(px, pixmap.height - 1 - py, color); } } diff --git a/core/src/mindustry/editor/MapInfoDialog.java b/core/src/mindustry/editor/MapInfoDialog.java index dd9959b199..ebc1f0b300 100644 --- a/core/src/mindustry/editor/MapInfoDialog.java +++ b/core/src/mindustry/editor/MapInfoDialog.java @@ -1,25 +1,28 @@ package mindustry.editor; -import arc.*; import arc.scene.ui.*; import arc.struct.*; import mindustry.*; import mindustry.game.*; +import mindustry.gen.*; import mindustry.io.*; +import mindustry.maps.filters.*; +import mindustry.type.*; import mindustry.ui.*; import mindustry.ui.dialogs.*; -public class MapInfoDialog extends BaseDialog{ - private final MapEditor editor; - private final WaveInfoDialog waveInfo; - private final MapGenerateDialog generate; - private final CustomRulesDialog ruleInfo = new CustomRulesDialog(); +import static mindustry.Vars.*; - public MapInfoDialog(MapEditor editor){ +public class MapInfoDialog extends BaseDialog{ + private WaveInfoDialog waveInfo = new WaveInfoDialog(); + private MapGenerateDialog generate = new MapGenerateDialog(false); + private CustomRulesDialog ruleInfo = new CustomRulesDialog(); + private MapObjectivesDialog objectives = new MapObjectivesDialog(); + private MapLocalesDialog locales = new MapLocalesDialog(); + private MapProcessorsDialog processors = new MapProcessorsDialog(); + + public MapInfoDialog(){ super("@editor.mapinfo"); - this.editor = editor; - this.waveInfo = new WaveInfoDialog(editor); - this.generate = new MapGenerateDialog(editor, false); addCloseButton(); @@ -37,7 +40,7 @@ public class MapInfoDialog extends BaseDialog{ TextField name = t.field(tags.get("name", ""), text -> { tags.put("name", text); - }).size(400, 55f).addInputDialog(50).get(); + }).size(400, 55f).maxTextLength(50).get(); name.setMessageText("@unknown"); t.row(); @@ -45,38 +48,72 @@ public class MapInfoDialog extends BaseDialog{ TextArea description = t.area(tags.get("description", ""), Styles.areaField, text -> { tags.put("description", text); - }).size(400f, 140f).addInputDialog(1000).get(); + }).size(400f, 140f).maxTextLength(1000).get(); t.row(); t.add("@editor.author").padRight(8).left(); - TextField author = t.field(tags.get("author", Core.settings.getString("mapAuthor", "")), text -> { + TextField author = t.field(tags.get("author", ""), text -> { tags.put("author", text); - Core.settings.put("mapAuthor", text); - }).size(400, 55f).addInputDialog(50).get(); + }).size(400, 55f).maxTextLength(50).get(); author.setMessageText("@unknown"); t.row(); - t.add("@editor.rules").padRight(8).left(); - t.button("@edit", () -> { - ruleInfo.show(Vars.state.rules, () -> Vars.state.rules = new Rules()); - hide(); - }).left().width(200f); - t.row(); - t.add("@editor.waves").padRight(8).left(); - t.button("@edit", () -> { - waveInfo.show(); - hide(); - }).left().width(200f); + t.table(Tex.button, r -> { + r.defaults().width(230f).height(60f); - t.row(); - t.add("@editor.generation").padRight(8).left(); - t.button("@edit", () -> { - generate.show(Vars.maps.readFilters(editor.tags.get("genfilters", "")), - filters -> editor.tags.put("genfilters", JsonIO.write(filters))); - hide(); - }).left().width(200f); + var style = Styles.flatt; + + r.button("@editor.rules", Icon.list, style, () -> { + ruleInfo.show(Vars.state.rules, () -> Vars.state.rules = new Rules()); + hide(); + }).marginLeft(10f); + + r.button("@editor.waves", Icon.units, style, () -> { + waveInfo.show(); + hide(); + }).marginLeft(10f); + + r.row(); + + r.button("@editor.objectives", Icon.info, style, () -> { + objectives.show(state.rules.objectives.all, state.rules.objectives.all::set); + hide(); + }).marginLeft(10f); + + r.button("@editor.generation", Icon.terrain, style, () -> { + //randomize so they're not all the same seed + var res = maps.readFilters(editor.tags.get("genfilters", "")); + res.each(GenerateFilter::randomize); + + generate.show(res, + filters -> { + //reset seed to 0 so it is not written + filters.each(f -> f.seed = 0); + editor.tags.put("genfilters", JsonIO.write(filters)); + }); + hide(); + }).marginLeft(10f); + + r.row(); + + r.button("@editor.locales", Icon.fileText, style, () -> { + try{ + MapLocales res = JsonIO.read(MapLocales.class, editor.tags.get("locales", "{}")); + locales.show(res); + }catch(Throwable e){ + locales.show(new MapLocales()); + ui.showException(e); + } + hide(); + }).marginLeft(10f); + + r.button("@editor.worldprocessors", Icon.logic, style, () -> { + hide(); + processors.show(); + }).marginLeft(10f); + }).colspan(2).center(); name.change(); description.change(); diff --git a/core/src/mindustry/editor/MapLoadDialog.java b/core/src/mindustry/editor/MapLoadDialog.java index 4ed63a1a7f..69acd8ed00 100644 --- a/core/src/mindustry/editor/MapLoadDialog.java +++ b/core/src/mindustry/editor/MapLoadDialog.java @@ -1,9 +1,11 @@ package mindustry.editor; +import arc.*; import arc.func.*; import arc.scene.ui.*; import arc.scene.ui.layout.*; import arc.util.*; +import mindustry.gen.*; import mindustry.maps.*; import mindustry.ui.*; import mindustry.ui.dialogs.*; @@ -11,66 +13,60 @@ import mindustry.ui.dialogs.*; import static mindustry.Vars.*; public class MapLoadDialog extends BaseDialog{ - private Map selected = null; + private @Nullable Map selected = null; public MapLoadDialog(Cons loader){ super("@editor.loadmap"); shown(this::rebuild); + hidden(() -> selected = null); + onResize(this::rebuild); - TextButton button = new TextButton("@load"); - button.setDisabled(() -> selected == null); - button.clicked(() -> { + buttons.defaults().size(210f, 64f); + buttons.button("@cancel", Icon.cancel, this::hide); + buttons.button("@load", Icon.ok, () -> { if(selected != null){ loader.get(selected); hide(); } - }); - - buttons.defaults().size(200f, 50f); - buttons.button("@cancel", this::hide); - buttons.add(button); + }).disabled(b -> selected == null); + addCloseListener(); + makeButtonOverlay(); } public void rebuild(){ cont.clear(); - if(maps.all().size > 0){ - selected = maps.all().first(); - } - - ButtonGroup group = new ButtonGroup<>(); - - int maxcol = 3; + ButtonGroup