Compare commits

..
Author SHA1 Message Date
Github Actions b70ea8afd6 Automatic class mapping update 2026-06-17 17:09:10 +00:00
Anuken fe6e3b03ba it works but it's bad 2026-06-17 13:06:59 -04:00
Anuken 0849ed8cfc progress 2026-06-17 13:01:14 -04:00
Anuken 715c099dcc progress 2026-06-17 12:48:04 -04:00
Anuken f9da9a3fe1 progress 2026-06-17 12:47:21 -04:00
Anuken d4449289a8 it actually works 2026-06-17 12:36:28 -04:00
Anuken adaf3112ed progress 2026-06-17 12:18:58 -04:00
Anuken 6524fc07a7 Merge branch 'master' of https://github.com/Anuken/Mindustry into liquid-thread-test 2026-06-17 12:02:25 -04:00
Anuken 5c224a49b6 progress 2026-06-17 11:45:17 -04:00
217 changed files with 2943 additions and 3783 deletions
+20 -3
View File
@@ -14,11 +14,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@v1
with:
distribution: 'temurin'
java-version: 17
- name: Set env
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
@@ -31,6 +30,24 @@ jobs:
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 tag ${RELEASE_VERSION}
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/MindustryJitpack ${RELEASE_VERSION}
cd ../Mindustry
- name: Create artifacts
run: |
./gradlew desktop:dist server:dist core:depsJar core:assetsJar core:mergedJavadoc -Pbuildversion=${RELEASE_VERSION:1}
@@ -6,5 +6,5 @@ jobs:
name: "Validation"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v4
- uses: gradle/wrapper-validation-action@v2
+5 -7
View File
@@ -10,23 +10,21 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v5
uses: actions/setup-java@v1
with:
distribution: 'temurin'
java-version: 17
- name: Fetch latest Arc
run: git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
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 desktop:dist
- name: Upload desktop JAR for testing
uses: actions/upload-artifact@v7
uses: actions/upload-artifact@v4
with:
name: Desktop JAR
archive: false
name: Desktop JAR (zipped)
path: desktop/build/libs/Mindustry.jar
+24 -8
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/checkout@v2
- name: Trigger BE build
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
@@ -22,14 +22,13 @@ jobs:
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@v5
uses: actions/setup-java@v1
with:
distribution: 'temurin'
java-version: 17
- name: Fetch latest Arc
run: git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v6
uses: gradle/gradle-build-action@v2
- name: Update bundles
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
@@ -42,18 +41,35 @@ jobs:
git commit -m "Automatic bundle update"
git push
fi
- name: Update scripts, class mappings and map names
- name: Update scripts and class mappings
if: ${{ github.repository == 'Anuken/Mindustry' }}
run: |
./gradlew updateScripts fixMaps
./gradlew updateScripts
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/scripts/* core/src/mindustry/mod/ClassMap.java
git add core/assets/maps/*
git commit -m "Automatic class mapping and map name update"
git commit -m "Automatic class mapping 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
+1 -1
View File
@@ -34,7 +34,7 @@ This means:
- Same-line braces.
- 4 spaces indentation
- `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.
- 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 whenever possible
- Short method/variable names (multipleLongWords should be avoided if it's possible to do so reasonably, especially for variables)
-8
View File
@@ -8,7 +8,6 @@
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:enableOnBackInvokedCallback="false"
android:resizeableActivity="true"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
@@ -32,13 +31,6 @@
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mindustry"/>
</intent-filter>
</activity>
</application>
+1 -1
View File
@@ -60,7 +60,7 @@ android{
def versionNameResult = "$versionNumber-$versionType-${getBuildVersion().replace(" ", "-")}"
applicationId "io.anuke.mindustry"
minSdkVersion 21
minSdkVersion 14
targetSdkVersion 36
versionName versionNameResult
@@ -173,15 +173,6 @@ public class AndroidLauncher extends AndroidApplication{
throw new ArcRuntimeException(e);
}
}
@Override
public Writer writer(boolean append, String charset){
try{
return new OutputStreamWriter(write(append), charset);
}catch(IOException ex){
throw new ArcRuntimeException(ex);
}
}
}).toArray(Fi.class);
Core.app.post(() -> Core.app.post(() -> params.handleChooseResult(files)));
@@ -85,7 +85,6 @@ public class Annotations{
@Retention(RetentionPolicy.SOURCE)
public @interface GroupDef{
Class[] value();
Class[] exclude() default {};
boolean collide() default false;
boolean spatial() default false;
boolean mapping() default false;
@@ -234,12 +234,6 @@ public class EntityProcess extends BaseProcessor{
return result;
});
Seq<Stype> exclusions = types(an, GroupDef::exclude).map(stype -> {
Stype result = interfaceToComp(stype);
if(result == null) throw new IllegalArgumentException("Interface " + stype + " does not have an associated component!");
return result;
});
//representative component type
Stype repr = types.first();
String groupType = repr.annotation(Component.class).base() ? baseName(repr) : interfaceName(repr);
@@ -248,7 +242,7 @@ public class EntityProcess extends BaseProcessor{
boolean collides = an.collide();
groupDefs.add(new GroupDefinition(name,
ClassName.bestGuess(packageName + "." + groupType), types, exclusions, an.spatial(), an.mapping(), collides, an.update()));
ClassName.bestGuess(packageName + "." + groupType), types, an.spatial(), an.mapping(), collides, an.update()));
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());
@@ -264,9 +258,7 @@ public class EntityProcess extends BaseProcessor{
//all component classes (not interfaces)
Seq<Stype> components = allComponents(type);
Seq<GroupDefinition> groups = groupDefs.select(g -> (!g.components.isEmpty() && !Structs.contains(ann.excludeGroups(), g.name)
&& !g.components.contains(s -> !components.contains(s)) && !g.excludedComponents.contains(s -> components.contains(s))));
Seq<GroupDefinition> groups = groupDefs.select(g -> (!g.components.isEmpty() && !Structs.contains(ann.excludeGroups(), g.name) && !g.components.contains(s -> !components.contains(s))) || g.manualInclusions.contains(type));
ObjectMap<String, Seq<Smethod>> methods = new ObjectMap<>();
ObjectMap<FieldSpec, Svar> specVariables = new ObjectMap<>();
ObjectSet<String> usedFields = new ObjectSet<>();
@@ -693,18 +685,13 @@ public class EntityProcess extends BaseProcessor{
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder groupUpdate = MethodSpec.methodBuilder("update")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
MethodSpec.Builder groupPoolUpdate = MethodSpec.methodBuilder("updatePooling")
.addModifiers(Modifier.PUBLIC, Modifier.STATIC);
//free everything pooled at the start of each updaet
groupPoolUpdate
groupUpdate
.addStatement("for($T p : freeQueue) $T.free(p)", Poolable.class, Pools.class)
.addStatement("freeQueue.clear()");
groupUpdate.addStatement("updatePooling()");
//method resize
for(GroupDefinition group : groupDefs){
if(group.spatial){
@@ -726,7 +713,6 @@ public class EntityProcess extends BaseProcessor{
}
groupsBuilder.addMethod(groupResize.build());
groupsBuilder.addMethod(groupPoolUpdate.build());
groupsBuilder.addMethod(groupUpdate.build());
write(groupsBuilder);
@@ -1002,13 +988,13 @@ public class EntityProcess extends BaseProcessor{
class GroupDefinition{
final String name;
final ClassName baseType;
final Seq<Stype> components, excludedComponents;
final Seq<Stype> components;
final boolean spatial, mapping, collides, updates;
final ObjectSet<Selement> manualInclusions = new ObjectSet<>();
public GroupDefinition(String name, ClassName bestType, Seq<Stype> components, Seq<Stype> excludedComponents, boolean spatial, boolean mapping, boolean collides, boolean updates){
public GroupDefinition(String name, ClassName bestType, Seq<Stype> components, boolean spatial, boolean mapping, boolean collides, boolean updates){
this.baseType = bestType;
this.components = components;
this.excludedComponents = excludedComponents;
this.name = name;
this.spatial = spatial;
this.mapping = mapping;
+2 -4
View File
@@ -43,7 +43,7 @@ allprojects{
if(!project.hasProperty("versionType")) versionType = 'official'
appName = 'Mindustry'
steamworksVersion = '0b86023401880bb5e586bc404bedbaae9b1f1c94'
rhinoVersion = 'e74ac129d2bff72c1deb536d7d99a0dbb7046d2e'
rhinoVersion = '54b75cbd1207ef1fd5cff517cbd188e763c85baa'
loadVersionProps = {
return new Properties().with{p -> p.load(file('../core/assets/version.properties').newReader()); return p }
@@ -77,8 +77,7 @@ allprojects{
}
hasSprites = {
def file = new File(rootDir, "core/build/last_pack_version")
return new File(rootDir, "core/assets/sprites/sprites.aatls").exists() && file.exists() && file.text == versionNumber
return new File(rootDir, "core/assets/sprites/sprites.aatls").exists()
}
getModifierString = {
@@ -347,7 +346,6 @@ project(":core"){
}
task assetsJar(type: Jar){
dependsOn ":tools:pack"
archiveClassifier = 'assets'
into('assets'){
Binary file not shown.

Before

Width:  |  Height:  |  Size: 273 B

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

+8 -14
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sort by stars
export.file = Export File
import.file = Import File
copy.clipboard = Copy to Clipboard
load.clipboard = Load from Clipboard
import.clipboard = Import from Clipboard
workshop.browse = Browse Workshop
workshop.share = Share on Workshop
@@ -151,7 +151,7 @@ mods.viewcontent = View Content
mods.reload = Reload
mods.reloadexit = To reload mods, the game will now exit.
mod.installed = [[Installed]
mod.display = [gray]Mod:[accent] {0}
mod.display = [gray]Mod:[orange] {0}
mod.enabled = [lightgray]Enabled
mod.disabled = [red]Disabled
mod.multiplayer.compatible = [gray]Multiplayer Compatible
@@ -536,6 +536,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Data Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets found.
patch.errors = Patchset Errors
@@ -547,7 +548,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -567,7 +567,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -609,6 +608,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Preview
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.
@@ -998,6 +999,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\n\nGather as much lead and copper as possible.\nMove on.
@@ -1095,7 +1097,6 @@ settings.resetKey = Reset
settings.controls = Controls
settings.game = Game
settings.sound = Sound
settings.dev = Developer Options
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!
@@ -1424,10 +1425,6 @@ setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Fullscreen
setting.fps.name = Show FPS & Ping
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1457,8 +1454,7 @@ 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 = Steam Friends Only
steam.friendsonly = Friends Only
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
setting.minmagnificationmultiplierpercent.name = Max Camera Distance
@@ -1570,9 +1566,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Drop Unit
keybind.zoom_minimap.name = Zoom Minimap
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
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.
@@ -2317,7 +2311,7 @@ ff.arc = :arc: [accent]Arc[] turrets require power to function. Research and pla
fungalpass.tutorial1 = Use [accent]units[] to defend buildings and attack the enemy.\nResearch and place a :ground-factory: [accent]ground factory[].
fungalpass.tutorial2 = Select :dagger: [accent]Dagger[] units in the factory.\nProduce 3 units.
frontier.tutorial1 = The :additive-reconstructor: [accent]Additive Reconstructor[]\nupgrades tier 1 units to tier 2\nusing :silicon: silicon and :graphite: graphite.\n\n[accent]Reconstruct a []:dagger:[accent] dagger\nto a []:mace:[accent] mace.
frontier.tutorial1 = The :additive-reconstructor: [accent]Additive Reconstructor[]\nupgrades tier 1 units to tier 2\nusing :silicon: silicon and :graphite: graphite.\n\n[accent]Research and reconstruct\na []:dagger:[accent] dagger to a []:mace:[accent] mace.
frontier.tutorial2 = Enemy waves send [accent]infinitely[] until all enemy cores are [unlaunched]destroyed.
frontier.tutorial3 = [accent]Attack the enemy base fast to prevent waves from getting too high[].
File diff suppressed because it is too large Load Diff
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Сортирай по рейтинг
export.file = Изнасяне във файл
import.file = Внасяне от файл
copy.clipboard = Копирай в Клипборда
load.clipboard = Внеси от Клипборда
import.clipboard = Внеси от Клипборда
workshop.browse = Browse Workshop
workshop.share = Сподели в Работилницата
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = макс. единици
waves.guardian = Пазител
waves.preview = Преглед
waves.random = Случаен брой
waves.copy = Кобирай в Клипборд
waves.load = Зареди от Клипборда
waves.invalid = Клипборда съдържа невалидна информация за вълни.
waves.copied = Вълните бяха копирани.
waves.none = Няма дефинирани врагове.\nАко оставите описанието на вълните празно играта ще използва стандартния шаблон.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
sector.groundZero.description = Перфектното място за започване отначало. Ниска заплаха. Малко ресурси.\nСъберете колкото се може повече мед и олово.\nПродължете напред.
@@ -1090,7 +1092,6 @@ settings.resetKey = Нулирай
settings.controls = Управление
settings.game = Игра
settings.sound = Звук
settings.dev = Developer Options
settings.graphics = Графики
settings.cleardata = Изчисти данните на играта...
settings.clear.confirm = Сигурни ли сте, че искате да изтриете данните на играта?\nСтореното не може да бъде отменено!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} милисекунди
setting.fullscreen.name = Цял екран
setting.fps.name = Показвай FPS & пинг
setting.console.name = Включване на конзолата
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Гладка камера
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Показвай графики за климата
setting.hidedisplays.name = Скрий логическите екрани
setting.macnotch.name = Адаптирайте интерфейса за показване на прорез
setting.macnotch.description = За прилагане на промените е необходимо рестартиране
steam.friendsonly = Само приятели
steam.friendsonly.tooltip = Дали вашите приятели от Steam ще могат да се включат в играта ви.\nИзключването на тази опция ще направи играта Ви публична и всеки ще може да се присъедини.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Смени режим на чат
keybind.drop_unit.name = Остави единица
keybind.zoom_minimap.name = Увеличи мини-карта
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Описание на режими
mode.survival.name = Survival
mode.survival.description = Нормалният режим на играта. Ограничени ресурси и автоматични вълни от нападатели.\n[gray]Картата трябва да съдържа начална точка за враговете.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Ordena per valoració
export.file = Exporta un fitxer
import.file = Importa un fitxer
copy.clipboard = Copia al porta-retalls
load.clipboard = Importa del porta-retalls
import.clipboard = Importa del porta-retalls
workshop.browse = Browse Workshop
workshop.share = Comparteix al Workshop de l’Steam
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Pedaços de continguts
patch.set = Patchset: {0}
patch.none = [lightgray]No s’han carregat pedaços.
patch.errors = Errors del conjunt de pedaços
@@ -542,7 +543,6 @@ patch.fields = {0} camps
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = nombre màxim d’unitats
waves.guardian = Guardià
waves.preview = Previsualització
waves.random = Aleatori
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Bastió micelial
sector.frontier.name = La frontera
sector.sunkenPier.name = Moll afonat
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscapada
sector.geothermalStronghold.name = Fortalesa geotèrmica
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Restableix
settings.controls = Controls
settings.game = Joc
settings.sound = So
settings.dev = Developer Options
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.
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} ms
setting.fullscreen.name = Pantalla completa
setting.fps.name = Mostra els FPS i el ping
setting.console.name = Activa la consola
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Moviment de càmera suau
setting.detach-camera.name = Càmera lliure
setting.detach-camera.description = Si s’activa, la càmera es mou independentment de la unitat del jugador.\nA aquesta opció se li pot assignar una tecla de drecera.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Distància mín. de la càmera
@@ -1565,9 +1561,7 @@ 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
keybind.detach_camera.name = Commuta la càmera lliure
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Commuta les caixes de xoc de depuració
keybind.performance_metrics.name = Toggle Performance Metrics
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.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Řadit podle hvězd
export.file = Exportovat soubor
import.file = Importovat soubor
copy.clipboard = Zkopírovat do schránky
load.clipboard = Importovat ze schránky
import.clipboard = Importovat ze schránky
workshop.browse = Browse Workshop
workshop.share = Sdílet skrze Workshop na Steamu
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Záplaty obsahu
patch.set = Patchset: {0}
patch.none = [lightgray]Nejsou načteny žádné sady záplat.
patch.errors = Chyby sady záplat
@@ -542,7 +543,6 @@ patch.fields = {0} polí
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max. jednotek
waves.guardian = Strážce
waves.preview = Náhled
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í.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Pevnost podhoubí
sector.frontier.name = Fronta
sector.sunkenPier.name = Potopené molo
sector.littoralShipyard.name = Pobřežní loděnice
sector.cruxscape.name = Krajina Cruxu
sector.geothermalStronghold.name = Geotermální pevnost
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Původní
settings.controls = Ovládání
settings.game = Hra
settings.sound = Zvuky
settings.dev = Developer Options
settings.graphics = Grafika
settings.cleardata = Vymazat data hry...
settings.clear.confirm = Jsi si jistý, že chceš vymazat svá data ve hře?\nTento krok je nevratný!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisekund
setting.fullscreen.name = Celá obrazovka
setting.fps.name = Ukázat FPS a ping
setting.console.name = Povolit Konzoli
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Plynulá kamera
setting.detach-camera.name = Volná kamera
setting.detach-camera.description = Pokud je zapnuto, kamera se pohybuje nezávisle na hráčově jednotce.\nTomuto nastavení lze přiřadit klávesovou zkratku.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Zobrazit Grafiku Počasí
setting.hidedisplays.name = Skrýt displeje logiky
setting.macnotch.name = Přizpůsobte rozhraní zobrazení zářezu
setting.macnotch.description = Pro aplikování změn je potřeba restart
steam.friendsonly = Pouze pro přátele
steam.friendsonly.tooltip = Určuje, zda bude hra přístupná jen tvým přátelům na Steamu, nebo všem. Odškrtnutí udělá hru veřejnou - připojit se bude moci každý.
setting.maxmagnificationmultiplierpercent.name = Minimální vzdálenost kamery
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Změnit Chat režim
keybind.drop_unit.name = Zahodit jednotku
keybind.zoom_minimap.name = Přiblížit mapu
keybind.detach_camera.name = Přepnout volnou kameru
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Přepnout ladicí kolizní oblasti
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Popis režimů
mode.survival.name = Hra o přežití
mode.survival.description = Klasický režim. Zdroje jsou limitované a vlny nepřátel přicházejí automaticky.\n[gray]Vyžaduje, aby v mapě bylo místo pro líhnutí nepřátel.[]
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sort by stars
export.file = Exporter fil
import.file = Importer fil
copy.clipboard = Kopier til udklipsholder
load.clipboard = Importer fra udklipsholder
import.clipboard = Importer fra udklipsholder
workshop.browse = Browse Workshop
workshop.share = Del på Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Vogter
waves.preview = Forhåndsvisning
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Nulstil
settings.controls = Styring
settings.game = Spil
settings.sound = Lyd
settings.dev = Developer Options
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!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millesekunder
setting.fullscreen.name = Fuldskærm
setting.fps.name = Vis FPS & Ping
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Blødt kamera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Smid enhed
keybind.zoom_minimap.name = Zoom Minikort
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
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.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Nach Sternen sortieren
export.file = Datei exportieren
import.file = Datei importieren
copy.clipboard = In Zwischenablage kopieren
load.clipboard = Aus Zwischenablage importieren
import.clipboard = Aus Zwischenablage importieren
workshop.browse = Browse Workshop
workshop.share = Im Workshop teilen
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = maximale Einheiten
waves.guardian = Boss
waves.preview = Vorschau
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Myzel-Festung
sector.frontier.name = Frontlinie
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
sector.groundZero.description = Der optimale Ort, um anzufangen. Schwache Gegner und weniger Ressourcen.\nSammele so viel Kupfer und Blei wie möglich.\nGeh weiter.
@@ -1090,7 +1092,6 @@ settings.resetKey = Zurücksetzen
settings.controls = Steuerung
settings.game = Spiel
settings.sound = Audio
settings.dev = Developer Options
settings.graphics = Grafik
settings.cleardata = Spieldaten zurücksetzen...
settings.clear.confirm = Bist du sicher, dass du die Spieldaten zurücksetzen willst?\n Diese Aktion kann nicht rückgängig gemacht werden!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} Millisekunden
setting.fullscreen.name = Vollbild
setting.fps.name = FPS anzeigen
setting.console.name = Konsole freigeben
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Sanfte Kamerabewegungen
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Wetter anzeigen
setting.hidedisplays.name = Logik-Bildschirme verdecken
setting.macnotch.name = Benutzeroberfläche an Aussparung anpassen
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.
setting.maxmagnificationmultiplierpercent.name = Min Kameradistanz
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Chatmodus ändern
keybind.drop_unit.name = Einheit absetzen
keybind.zoom_minimap.name = Minimap-Zoom
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Beschreibung der Modi
mode.survival.name = Überleben
mode.survival.description = Der normale Modus. Ressourcen sind limitiert und Wellen kommen automatisch.\n[gray]Gegnerische Spawns auf der Karte sind erforderlich.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Mejor valorados
export.file = Exportar archivo
import.file = Importar archivo
copy.clipboard = Copiar al portapapeles
load.clipboard = Importar desde el portapapeles
import.clipboard = Importar desde el portapapeles
workshop.browse = Browse Workshop
workshop.share = Compartir en Steam Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Parches de datos
patch.set = Patchset: {0}
patch.none = [lightgray]No hay conjuntos de parches cargados.
patch.errors = Errores del conjunto de parches
@@ -542,7 +543,6 @@ patch.fields = {0} campos
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = máximo de unidades
waves.guardian = Guardián
waves.preview = Vista previa
waves.random = Aleatorizadas
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 se han definido enemigos.\nLas listas de oleadas vacías se sustituirán automáticamente por el esquema por defecto.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Bastión Infestado
sector.frontier.name = Frontera
sector.sunkenPier.name = Muelle Hundido
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Fortaleza Geotérmica
sector.groundZero.description = La ubicación adecuada para empezar una vez más. Baja amenaza enemiga. Pocos recursos.\n\nReúne la mayor cantidad de plomo y cobre posible.\nSigue adelante.
@@ -1090,7 +1092,6 @@ settings.resetKey = Reiniciar
settings.controls = Controles
settings.game = Juego
settings.sound = Sonido
settings.dev = Developer Options
settings.graphics = Gráficos
settings.cleardata = Eliminar datos del juego...
settings.clear.confirm = ¿Quieres eliminar estos datos?\n¡Esta acción no se puede deshacer!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisegundos
setting.fullscreen.name = Pantalla completa
setting.fps.name = Mostrar FPS y ping
setting.console.name = Activar consola
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Movimiento de cámara suave
setting.detach-camera.name = Cámara libre
setting.detach-camera.description = Si se habilita, la cámara se mueve independientemente de la unidad del jugador.\nEsta configuración puede ser asignada a una tecla.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Efectos visuales climáticos
setting.hidedisplays.name = Ocultar pantallas lógicas
setting.macnotch.name = Adaptar la interfaz para mostrar la muesca
setting.macnotch.description = Es necesario reiniciar para aplicar los cambios
steam.friendsonly = Solo amigos
steam.friendsonly.tooltip = Si solo los amigos de Steam podrán unirse a tu partida.\nDesmarcar esta opción hará tu partida pública - cualquiera podrá unirse.
setting.maxmagnificationmultiplierpercent.name = Distancia de cámara mínima
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Cambiar modo de chat
keybind.drop_unit.name = Soltar unidad
keybind.zoom_minimap.name = Zoom del minimapa
keybind.detach_camera.name = Alternar cámara libre
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Alternar hitboxes en modo debug
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Descripción
mode.survival.name = Supervivencia
mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas.\n[gray]Requiere puntos de aterrizaje enemigos en el mapa.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sorteeri tähtede järgi
export.file = Ekspordi Fail
import.file = Impordi Fail
copy.clipboard = Kopeeri Lõikelauale
load.clipboard = Impordi Lõikelaualt
import.clipboard = Impordi Lõikelaualt
workshop.browse = Browse Workshop
workshop.share = Jaga Workshop'is
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Eelvaade
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Reset
settings.controls = Juhtnupud
settings.game = Mäng
settings.sound = Heli
settings.dev = Developer Options
settings.graphics = Graafika
settings.cleardata = Kustuta mänguandmed...
settings.clear.confirm = Oled kindel, et soovid olemasolevad\nsätted kustutada?\n[accent]Seda ei saa tagasi võtta!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Täisekraan
setting.fps.name = Näita kaadrite arvu sekundis
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Heida väeüksus
keybind.zoom_minimap.name = Suumi kaarti
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Mänguviiside kirjeldused
mode.survival.name = Ellujäämine
mode.survival.description = Tavaline mänguviis. Piiratud ressursid. Lahingulainetena lähenevad vaenlased.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Ordenatu izarren arabera
export.file = Esportatu fitxategia
import.file = Inportatu fitxategia
copy.clipboard = Kopiatu arbelera
load.clipboard = Inportatu arbeletik
import.clipboard = Inportatu arbeletik
workshop.browse = Browse Workshop
workshop.share = Partekatu tailerrean
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Eduki adabakiak
patch.set = Patchset: {0}
patch.none = [lightgray]Ez dago adabaki multzorik kargatuta.
patch.errors = Adabaki multzoen erroreak
@@ -542,7 +543,6 @@ patch.fields = {0} eremuak
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = unitate maximoa
waves.guardian = Zaindaria
waves.preview = Aurrebista
waves.random = Ausaz
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
sector.groundZero.description = Kokapen ezin hobea berriro hasteko. Etsaiaren mehatxu txikia. Baliabide gutxi.\nAhalik eta berun eta kobre gehien bildu.\nAurrera.
@@ -1090,7 +1092,6 @@ settings.resetKey = Berrezarri
settings.controls = Kontrolak
settings.game = Jolasa
settings.sound = Soinua
settings.dev = Developer Options
settings.graphics = Grafikoak
settings.cleardata = Garbitu jolasaren datuak...
settings.clear.confirm = Ziur datu hauek garbitu nahi dituzula?\nEgindakoa ezin da desegin!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisegundo
setting.fullscreen.name = Pantaila osoa
setting.fps.name = Erakutsi FPS
setting.console.name = Gaitu kontsola
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Kamera leuna
setting.detach-camera.name = Kamera librea
setting.detach-camera.description = Gaituta badago, kamera jokalari unitatearekiko independenteki mugitzen da.\nEzarpen honi laster-tekla bat esleitu dakioke.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Erakutsi eguraldi grafikoak
setting.hidedisplays.name = Ezkutatu pantaila logikoak
setting.macnotch.name = Egokitu interfazea bistaratzeko
setting.macnotch.description = Berrabiarazi behar da aldaketak aplikatzeko
steam.friendsonly = Lagunak bakarrik
steam.friendsonly.tooltip = Bai, Steam lagunak bakarrik sartu ahal izango dira zure jokoan.\nKutxa hau desblokeatzeak zure jokoa publiko egingo du. Edonork bat egin dezake.
setting.maxmagnificationmultiplierpercent.name = Kameraren distantzia minimoa
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Txat modua aldatu
keybind.drop_unit.name = Lurreratu unitatea
keybind.zoom_minimap.name = Mapatxoaren zooma
keybind.detach_camera.name = Aktibatu/Desaktibatu kamara librea
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Aktibatu/Desaktibatu araztu hiboxak
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Moduen deskripzioa
mode.survival.name = Biziraupena
mode.survival.description = Modu arrunta. Baliabide mugatuak eta bolada automatikoak.\n[gray]Jolasteko etsaien sortze puntuak behar dira mapan.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Järjestä tähtien määrän perusteella
export.file = Vie tiedosto
import.file = Tuo tiedosto
copy.clipboard = Kopioi leikepöydälle
load.clipboard = Tuo leikepöydältä
import.clipboard = Tuo leikepöydältä
workshop.browse = Browse Workshop
workshop.share = Jaa Workshoppiin
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = maksimijoukot
waves.guardian = Vartija
waves.preview = Esikatselu
waves.random = Random
waves.copy = Kopioi leikepöydälle
waves.load = Lataa leikepöydältä
waves.invalid = Kelvottomia tasoja leikepöydällä.
waves.copied = Tasot kopioitu.
waves.none = Ei määriteltyjä vihollisia.\nHuomaa, että tyhjät tasopohjat korvataan automaattisesti oletuspohjalla.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Aseta Uudelleen
settings.controls = Kontrollit
settings.game = Peli
settings.sound = Ääni
settings.dev = Developer Options
settings.graphics = Grafiikat
settings.cleardata = Tyhjennä Pelin Data...
settings.clear.confirm = Oletko varma että haluat tyhjentää pelin datan?\nTätä ei voi peruuttaa!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millisekuntia
setting.fullscreen.name = Täysnäyttö
setting.fps.name = Näytä FPS
setting.console.name = Salli konsoli
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Pehmeä kamera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Vaihda keskustelutilaa
keybind.drop_unit.name = Pudota yksikkö
keybind.zoom_minimap.name = Zoomaa pienoiskarttaa
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
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.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Uriin sa kasikatan
export.file = Mag-export ng File
import.file = Kumuha ng File
copy.clipboard = Kopyahin sa Clipboard
load.clipboard = Kunin mula sa Clipboard
import.clipboard = Kunin mula sa Clipboard
workshop.browse = Browse Workshop
workshop.share = Ibahagi sa Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Preview
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 = Walang tinukoy na mga kaaway.\nTandaan na ang mga walang laman na wave layout ay awtomatikong papalitan ng default na layout.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Tanggulang Sanghiblayanin
sector.frontier.name = Unahan
sector.sunkenPier.name = Lumubog Na Pantalan
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Kruskapaligiran
sector.geothermalStronghold.name = Tanggulang Heotermal
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = I-Reset
settings.controls = Mga Controls
settings.game = Game
settings.sound = Sound
settings.dev = Developer Options
settings.graphics = Graphics
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!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millisegundo
setting.fullscreen.name = Fullscreen
setting.fps.name = Ipakita ang FPS & Ping
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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 = Mga Kaibigan lang
steam.friendsonly.tooltip = Whether only Steam friends will be able to join your game.\nUnchecking this box will make your game public - anyone can join.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Drop Unit
keybind.zoom_minimap.name = Zoom Minimap
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Description of modes
mode.survival.name = Survival
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.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Classer par étoiles
export.file = Exporter le fichier
import.file = Importer un fichier
copy.clipboard = Copier dans le presse-papier
load.clipboard = Importer depuis presse-papier
import.clipboard = Importer depuis presse-papier
workshop.browse = Browse Workshop
workshop.share = Partager sur le Steam Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Ensembles de patchs
patch.set = Patchset: {0}
patch.none = [lightgray]Aucun ensemble de patchs chargé.
patch.errors = Erreurs dans l'ensemble de patchs
@@ -542,7 +543,6 @@ patch.fields = {0} champs
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = unités maximum
waves.guardian = Gardien
waves.preview = Prévisualiser
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 les vagues par défaut.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontière
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Litorral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Réinitialiser
settings.controls = Contrôles
settings.game = Jeu
settings.sound = Son
settings.dev = Developer Options
settings.graphics = Graphismes
settings.cleardata = Effacer les données du jeu...
settings.clear.confirm = Êtes-vous sûr de vouloir effacer ces données?\nAucun retour en arrière n'est possible !
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millisecondes
setting.fullscreen.name = Plein Écran
setting.fps.name = Afficher les FPS et le Ping
setting.console.name = Activer la Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Lissage de la Caméra
setting.detach-camera.name = Caméra libre
setting.detach-camera.description = Si activée, la caméra se déplace indépendamment de l'unité du joueur.\nCette option peut être associée à une touche.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Distance min de la caméra
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Changer le mode du Tchat
keybind.drop_unit.name = Larguer une Unité
keybind.zoom_minimap.name = Zoomer la Mini-carte
keybind.detach_camera.name = Activer/Désactiver la caméra libre
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Activer/Désactiver les hitboxes de débogage
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Description des modes de jeux
mode.survival.name = Survie
mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques.\n[gray]Requiert des points d'apparition ennemis pour pouvoir jouer à ce mode.
+92 -98
View File
@@ -19,7 +19,7 @@ clipboardcopy = Ez a kiszolgáló szöveget szeretne másolni a vágólapra. Biz
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 = A pálya túl nagy és nem áll rendelkezésre elegendő memória a képernyőkép elkészítéséhez.
screenshot.error = Nem sikerült képernyőképet készíteni. Valószínűleg ez az eszköz nem támogat ilyen nagy méretű képernyőképeket.
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = A játéknak vége
gameover.disconnect = A kapcsolat megszakadt
gameover.pvp = A(z)[accent] {0}[] csapat nyert!
@@ -61,7 +61,7 @@ mods.browser.sortstars = Legjobbra értékeltek
export.file = Exportálás fájlba
import.file = Importálás fájlból
copy.clipboard = Másolás a vágólapra
load.clipboard = Betöltés a vágólapról
import.clipboard = Importálás a vágólapról
workshop.browse = Browse Workshop
workshop.share = Megosztás a Steam Műhelyben
@@ -179,7 +179,7 @@ mod.incompletedependencies.details = Ez a mod nem tölthető be az érvénytelen
mod.requiresversion = Szükséges játékverzió: [red]{0}[]
mod.errors = Hiba történt a tartalom betöltésekor.
mod.errors.map = mod.errors.map = [scarlet]Hiba történt a pálya tartalmának betöltésekor. Minden egyéni tartalom le lett tiltva.[]\nEz a pálya valószínűleg nem fog megfelelően működni.
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
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.enable = Engedélyezés
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.
@@ -331,10 +331,10 @@ cantconnect = Nem sikerült kapcsolódni a(z) ([accent]{0}[]) játékhoz.
connecting = [accent]Kapcsolódás…
reconnecting = [accent]Újrakapcsolódás…
connecting.establish = [accent]Kapcsolat létrehozása…
receiving.world = [accent]Világadatok fogadása ({0})…
receiving.assets = [accent]Összetevők fogadása ({0})…
receiving.assets.fail = Hiba történt az összetevők fogadásakor.
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = Port:
server.invalidport = Érvénytelen port!
@@ -352,10 +352,10 @@ save.export = Mentés exportálása
save.import.invalid = [accent]Ez a mentés érvénytelen!
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.export.needsload = [scarlet]⚠ Ez a mentés beágyazott összetevőket tartalmaz.[]\nTöltsd be ezt a mentést az exportálás előtt.
save.assets.missing = Hiányzó összetevők
save.assets.missing.list = Összetevők listája…
save.assets.missing.info = [scarlet]⚠ Ebből a mentésből több összetevő is hiányzik![]\n\n[lightgray]Ennek valószínűleg az az oka, hogy a mentési fájl nem lett megfelelően exportálva.\n[lightgray]Mentések megosztásakor csak a játékon belüli felületen keresztül exportálj. Ne másold közvetlenül a mentési fájlokat.\n[lightgray]Ha a fájlok áthelyezése elengedhetetlen, győződj meg arról, hogy az [accent]assetCache[] mappa is át lett másolva.
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = Mentés importálása
save.newslot = Mentés neve:
save.rename = Átnevezés
@@ -462,7 +462,7 @@ 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, máskü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 = Elem adatai
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
@@ -482,7 +482,7 @@ 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álya adatai
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.
@@ -516,74 +516,73 @@ editor.filters.planetselect = Bolygóválasztás
editor.shiftx = X-eltolás
editor.shifty = Y-eltolás
asset.patch = Javítócsomag
asset.content = Tartalom
asset.bundle = Fordítási csomag
asset.image = Kép
asset.sound = Hang
asset.music = Zene
asset.patch = Patch
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = Egység
content.item = Tárgy
content.liquid = Folyadék
content.block = Blokk
content.planet = Bolygó
content.weather = Időjárás
content.status = Állapothatás
content.unit = Unit
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Weather
content.status = Status Effect
patch.set = Javítócsomag-készlet: {0}
patches = Javítócsomag-adatok
patch.set = Patchset: {0}
patch.none = [lightgray]Nincsenek javítócsomagok betöltve.
patch.errors = Javítócsomag-hibák
patch.importerror = Nem sikerült importálni a javítócsomagot
patch.delete.confirm = Biztosan törölni szeretnéd ezt a javítócsomagot?
patch.path = Útvonal:
patch.path = Path:
patch.fields = {0} mező
bundle.lines = {0} sor
bundle.lines = {0} lines
images = Képek
asset.title = Javítócsomag-adatok és összetevők
asset.guide = Használati útmutató
asset.bundle.exists = Már létezik csomag a(z) „{0}” útvonalon.
asset.importzip = Összetevő importálása ZIP-fájlból
asset.exportzip = Összetevő exportálása ZIP-fájlba
asset.image.importzip = Importálás ZIP-fájlból
asset.image.exportzip = Exportálás ZIP-fájlba
asset.clearall = Összes törlése
asset.clearall.confirm = Biztosan törölni szeretnél [red]minden[] összetevőt erről a pályáról?\nEbbe beletartoznak a képek, a hangok, a tartalmak stb.
asset.imports = Importálás eredménye
asset.imported = [accent]{0} összetevő importálva.
asset.import.none = Nem találhatók érvényes összetevő-fájlok a ZIP-archívumban.
asset.content.errors = Tartalmi hibák
asset.content.add = Tartalom hozzáadása
asset.content.type = Típus:
asset.content.exists = [red]Már létezik tartalom ezzel a névvel!
asset.content.badname = [red]Érvénytelen név! A legtöbb szimbólum nem engedélyezett.
asset.content.import.file = Fájl importálása
asset.content.import.clipboard = Importálás a vágólapról
asset.exists = Már létezik egy ilyen típusú, azonos útvonalú/nevű összetevő:\n[lightgray]{0}
asset.exists.audio = Egy ilyen nevű hang- vagy zeneösszetevő már be lett töltve:\n[lightgray]{0}
asset.broken = Nem található ez az összetevőfájl.\nEzt az adatok helytelen importálása vagy egy hibásan exportált mentés okozhatja.
asset.audio.invalid = Nem sikerült betölteni a hangfájlt.\nGyőződj meg arról, hogy érvényes OGG- vagy MP3-fájlt adtál meg.
asset.delete.confirm = Biztosan törölni szeretnéd ezt az összetevőt?
asset.images = Javítócsomag-adatok képei
asset.image.imports = Importálás eredménye
asset.image.imported = [accent]{0} kép importálva.
asset.image.none = Nem találhatók érvényes PNG-fájlok a ZIP-archívumban.
asset.image.error = [red]A következő hibák léptek fel:[]
asset.image.clearall.confirm = Biztosan törölni szeretnéd az összes képet?
asset.image.info = Kép adatai
asset.image.toolarge = A kép mérete ([lightgray]{0}x{1}[]) túl nagy. A megengedett legnagyobb méret: {2}x{3}.
asset.image.exists = Már létezik kép ezzel az útvonallal/névvel:\n[lightgray]{0}
asset.image.delete.confirm = Biztosan törölni szeretnéd ezt a képet?
asset.image.name = [accent]Fájl neve: [lightgray]{0}
asset.image.region.name = [accent]Terület neve: [lightgray]{0}
asset.image.path = [accent]Útvonal: [lightgray]{0}
asset.image.env = [accent]Környezeti atlaszt használ: [lightgray]{0}
asset.image.size = [accent]Méret: [lightgray]{0}x{1}
asset.image.filesize = [accent]Fájl mérete: [lightgray]{0}
asset.image.packfailed = [red]⚠ Nem sikerült a grafikus képelemet becsomagolni![]
asset.image.packfailed.env = Ennek valószínűleg a környezeti atlasz helyhiánya az oka.\nNe feledd, hogy a környezeti grafikus képelemek korlátozva vannak egy 512x512-es területre.
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = Steam Műhely
waves.title = Hullámok
@@ -604,6 +603,8 @@ waves.max = egységkorlát
waves.guardian = Őrző
waves.preview = Előnézet
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ámelrendezések automatikusan le lesznek cserélve az alapértelmezett elrendezésre.
@@ -627,7 +628,7 @@ all = Összes
editor.default = [lightgray]<Alapértelmezett>
details = Részletek…
edit = Szerkesztés
edit.menu = Szerkesztés…
edit.menu = Edit...
variables = Változók
logic.error.toolong = A processzorkód túl hosszú (Korlát: {0} tömörített bájt, tényleges hossz: {1} bájt)
logic.clear.confirm = Biztosan törölni akarod az összes kódot ebből a processzorból?
@@ -659,8 +660,8 @@ 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 menteni őket?
editor.saved = Mentve!
editor.save.noname = A pályádnak nincs neve! Állíts be egyet a „pálya adatai” 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álya adatai” menüben.
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
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Micéliumbástya
sector.frontier.name = Frontvidék
sector.sunkenPier.name = Elsüllyedt móló
sector.littoralShipyard.name = Part menti hajógyár
sector.cruxscape.name = Crux-vidék
sector.geothermalStronghold.name = Geotermikus erődítmény
sector.groundZero.description = Az ideális helyszín, hogy ismét belekezdjünk. Alacsony ellenséges ellenállás. Kevés nyersanyag.\nGyűjts annyi rezet és ólmot, amennyit csak tudsz.\nFolytasd a küldetést.
@@ -1090,7 +1092,6 @@ settings.resetKey = Vissza-\nállítás
settings.controls = Irányítás
settings.game = Játék
settings.sound = Hangok
settings.dev = Fejlesztői beállítások
settings.graphics = Grafika
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!
@@ -1114,7 +1115,7 @@ banned = [scarlet]Kitiltva
unsupported.environment = [scarlet]Nem támogatott környezet
yes = Igen
no = Nem
info.title = Adatok
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
@@ -1140,7 +1141,7 @@ stat.targetsground = Földi célpontok
stat.crushdamage = Zúzó sebzés
stat.legsplashdamage = Lábbal okozott területi sebzés
stat.itemsmoved = Szállítási sebesség
stat.itemsmoved.info = Az áteresztőképesség gyakran nem lineáris, és szorosan összefügg a képkockasebességgel (FPS) és a tiksebességgel (TPS).
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = Kilövések közötti idő
stat.shootrange = Hatótávolság
stat.size = Méret
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} ezredmásodperc
setting.fullscreen.name = Teljes képernyő
setting.fps.name = FPS, memóriahasználat és ping megjelenítése
setting.console.name = Konzol engedélyezése
setting.drawhitboxes.name = Ütközési dobozok megjelenítése
setting.showperformance.name = Teljesítményadatok megjelenítése
setting.buildingtimestep.name = Épületek rögzített időlépése
setting.buildingtimestep.description = Épületek frissítésének futtatása rögzített időlépésben, állandó delta értékkel,\nnem pedig minden képkockánként, változó delta értékkel.\nHa az épületeket nem sikerül elég gyorsan frissíteni, a játék lelassul.nHa az épületek frissítése nem történik elég gyorsan, a játék lelassul.\nHa nem tudod, mit jelent ez, ne nyúlj ehhez a beállításhoz.
setting.smoothcamera.name = Egyenletes kamera
setting.detach-camera.name = Szabad kamera
setting.detach-camera.description = Ha engedélyezve van, akkor a kamera a játékos által irányított egységtől (drón) függetlenül mozog.\nEz a beállítás hozzárendelhető egy gyorsbillentyűhöz.
@@ -1452,8 +1449,7 @@ 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 Steam barátok
steam.friendsonly = Csak barátok
steam.friendsonly.tooltip = Meghatározza, hogy csak a Steam-barátok kapcsolódhassanak-e a játékodhoz.\nHa kikapcsolod, a játékod nyilvános lesz és bárki kapcsolódhat hozzá.
setting.maxmagnificationmultiplierpercent.name = Legkisebb kameratávolság
setting.minmagnificationmultiplierpercent.name = Legnagyobb kameratávolság
@@ -1551,7 +1547,7 @@ 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 adatai
keybind.block_info.name = Blokkinformáció
keybind.chat.name = Csevegés
keybind.player_list.name = Játékosok listája
keybind.console.name = Konzol
@@ -1565,9 +1561,7 @@ 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
keybind.detach_camera.name = Szabad kamera be/ki
keybind.teleport_cursor.name = Teleportálás a kurzorhoz (homokozó)
keybind.debug_hitboxes.name = Hibakereső ütközési doboz be/ki
keybind.performance_metrics.name = Teljesítményadatok be/ki
keybind.debug_hitboxes.name = Hibakereső találati zóna be/ki
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.
@@ -1625,7 +1619,7 @@ rules.enemyCheat = Végtelen ellenséges csapaterőforrások
rules.blockhealthmultiplier = Épületek életpontszorzója
rules.blockdamagemultiplier = Épületek sebzésszorzója
rules.unitfactoryactivation = Egységgyár aktiválásának késleltetése
rules.unitfactoryactivation.objective = Egységgyárak aktiválása: {0}
rules.unitfactoryactivation.objective = Unit Factories Activating: {0}
rules.unitbuildspeedmultiplier = Egységek gyártási sebességszorzója
rules.unitcostmultiplier = Egységek költségszorzója
rules.unithealthmultiplier = Egységek életpontszorzója
@@ -1667,7 +1661,7 @@ 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.hidespawns = Ellenséges kezdőpontok elrejtése a minitérképről
rules.hidespawns = Hide Enemy Spawns
rules.randomwaveai = Kiszámíthatatlan ellenséges támadások (MI)
rules.pauseDisabled = Szüneteltetés letiltása
rules.fire = Tűz
@@ -2312,9 +2306,9 @@ ff.arc = Az :arc: [accent]Arc lövegtornyoknak[] áramra van szükségük a műk
fungalpass.tutorial1 = Használj [accent]egységeket[] az épületek védelmére és az ellenség megtámadására.\nFejleszd ki és helyezz el egy :ground-factory: [accent]földiegységgyárat[].
fungalpass.tutorial2 = Válaszd ki a :dagger: [accent]Dagger[] egységeket a gyárban.\nGyárts 3 db egységet.
frontier.tutorial1 = Az :additive-reconstructor: [accent]additív újratervező[]\naz 1. szintű egységeket 2. szintűvé fejleszti\n:silicon: szilícium és :graphite: grafit felhasználásával.\n\n[accent]Alakíts át egy []:dagger:[accent] Dagger egységet\n[]:mace:[accent] Mace egységgé.
frontier.tutorial2 = Az ellenséges hullámok [accent]a végtelenségig[] érkeznek, amíg minden ellenséges támaszpont [unlaunched]meg nem semmisül.
frontier.tutorial3 = [accent]Támadd meg gyorsan az ellenséges bázist, hogy a hullámok száma ne emelkedjen túl magasra.[]
frontier.tutorial1 = Az :additive-reconstructor: [accent]additív újratervező[]\naz 1. szintű egységeket 2. szintűvé fejleszti\n:silicon: szilícium és :graphite: grafit felhasználásával.\n\n[accent]Fejleszd ki és alakíts át\negy []:dagger:[accent] Dagger egységet []:mace:[accent] Mace[] egységgé.
frontier.tutorial2 = Az ellenséges hullámok [accent]végtelenül[] érkeznek, amíg minden ellenséges támaszpont meg nem [unlaunched]semmisül.
frontier.tutorial3 = [accent]Támadd meg gyorsan az ellenséges bázist, hogy megelőzd a hullámok túl magasra szökését[].
atolls.destroy1 = Először pusztítsd el a 2 ellenséges [accent]alapítvány-támaszpontot[].\n[accent]Szerezz hozzáférést a tóriumhoz[].
atolls.mega1 = Lépj be a [accent]parancsmódba[], és válaszd ki a :mega:[accent]Mega[] egységeket.
@@ -2561,8 +2555,8 @@ block.switch.description = Kétállású kapcsoló. Az állapota logikai process
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 = Adatokat tárol egy logikai processzor számára.
block.memory-bank.description = Adatokat tárol egy logikai processzor számára. Nagy kapacitású.
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.tile-logic-display.description = Tetszőleges grafikát jelenít meg.\nGördülékenyen kapcsolódik a közeli csempézett logikai kijelzőblokkokhoz.
@@ -2772,10 +2766,10 @@ lst.setprop = Egy egység vagy épület tulajdonságainak beállítása.
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.playmusic = Egy zeneszám lejátszása név alapján, például: [accent]„játék1”[].\nHa az [accent]interrupt[] értéke igaz, akkor a korábban lejátszott zene leáll.\nHa nem adsz meg zenét és az interrupt igaz, akkor a jelenlegi szám lejátszása leáll.\nNe feledd, hogy a javítócsomag-adatokból származó zenék elé a [accent]dp-[] előtagot kell tenni.
lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent]interrupt[] is true, the previously playing music will be stopped.\nPlaying with null music and interrupt set to true will stop the current track.\nNote that music from data patches must be prefixed with [accent]dp-[].
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álya adatai > 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.
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.
lst.query = lst.query = Lekérdez egységeket/épületeket egy megadott területen.\nAz eredmények a [accent]@queries[] tömbbe íródnak.\nAz [accent]@queries[] elemeit a [accent]Read[] utasítással és egy indexszel lehet beolvasni.\nA [accent]@queries[] hossza a [accent]@size[] paraméterrel érzékelhető.
lglobal.false = 0
@@ -2984,7 +2978,7 @@ 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úra-atlaszából (úgynevezett „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.texture = A textúra neve közvetlenül a játék textúraatlaszából (úgynevezett „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 = Meghatározza, hogy a jelölő a játékos nagyítási szintjéhez igazodik-e.
lenum.posi = Indexelt pozíció, vonal- és négyszögjelzőkhöz használatos, ahol a nulla az első pozíció.
+117 -123
View File
@@ -19,7 +19,7 @@ clipboardcopy = Server ini ingin menyalin teks ke papan klip Anda. Apakah Anda y
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.
screenshot.error = Gagal mengambil tangkapan layar. Kemungkinan karena perangkat Anda tidak mendukung tangkapan layar sebesar ini.
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = Permainan Selesai
gameover.disconnect = Jaringan Terputus
gameover.pvp = Tim[accent] {0}[] menang!
@@ -58,11 +58,11 @@ mods.github.open-release = Laman Rilis
mods.browser.sortdate = Urut berdasarkan waktu
mods.browser.sortstars = Urut berdasarkan bintang
export.file = Ekspor File
import.file = Impor File
export.file = Ekspor Berkas
import.file = Impor Berkas
copy.clipboard = Salin ke papan klip
load.clipboard = Impor dari papan klip
workshop.browse = Cari di Workshop
import.clipboard = Impor dari papan klip
workshop.browse = Browse Workshop
workshop.share = Bagikan di Workshop
schematic = Skematik
@@ -89,11 +89,11 @@ schematic.tagdelconfirm = Ingin menghapus tanda ini?
schematic.tagexists = Tanda tersebut sudah ada.
stats = Statistik
stats.wave = Gelombang yang Dikalahkan
stats.unitsCreated = Unit yang Diproduksi
stats.wave = Gelombang Terkalahkan
stats.unitsCreated = Unit Terbentuk
stats.enemiesDestroyed = Musuh yang Dihancurkan
stats.built = Jumlah Blok yang Dibangun
stats.destroyed = Jumlah Blok yang Dihancurkan Musuh
stats.destroyed = Jumlah Blok Dihancurkan Musuh
stats.deconstructed = Jumlah Blok yang Dihancurkan Pemain
stats.playtime = Waktu Bermain
@@ -164,7 +164,7 @@ 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 Bermasalah
mod.erroredcontent = [scarlet]Konten Mengalami Kesalahan
mod.circulardependencies = [red]Dependensi Sirkular
mod.incompletedependencies = [red]Dependensi Tidak Lengkap
@@ -174,13 +174,13 @@ mod.blacklisted.details = Mod ini telah dimasukkan ke dalam daftar blacklist kar
mod.missingdependencies.details = Mod ini kekurangan dependensi: {0}
mod.erroredcontent.details = Mod ini menimbulkan masalah pada saat proses memuat. Tanyakan pencipta mod untuk memperbaikinya.
mod.circulardependencies.details = Mod ini memiliki dependensi yang memerlukan satu sama lain.
mod.incompletedependencies.details = Mod ini gagal dimuat karena kekurangan dependensi atau tidak valid: {0}.
mod.incompletedependencies.details = Mod ini gagal memuat karena kekurangan dependensi atau tidak valid: {0}.
mod.requiresversion = Memerlukan versi game: [red]{0}
mod.errors = Terjadi kesalahan saat memuat konten.
mod.errors.map = [scarlet]Terjadi kesalahan saat memuat konten peta. Semua konten kustom telah dinonaktifkan.[]\nPeta ini kemungkinan besar tidak akan berfungsi dengan benar.
mod.noerrorplay = [scarlet]Anda memiliki mod yang bermasalah.[] Nonaktifkan mod tersebut atau perbaiki kesalahannya sebelum bermain.
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
mod.noerrorplay = [scarlet]Anda memiliki mod dengan suatu kesalahan.[] Nonaktifkan mod yang bersangkutan atau perbaiki kesalahan tersebut sebelum bermain.
mod.enable = Aktifkan
mod.requiresrestart = Game akan ditutup untuk mengaktifkan perubahan mod.
mod.reloadrequired = [scarlet]Mulai Ulang Diperlukan
@@ -218,8 +218,8 @@ available = Teknologi 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; lebih berkualitas. Proses kampanye yang lebih mulus.\n\nLebih sulit. Peta berkualitas lebih tinggi dan pengalaman keseluruhan yang lebih baik.
campaign.serpulo = Konten lawas; pengalaman klasik. Lebih terbuka, lebih banyak konten.\n\nPeta dan mekanisme kampanye yang berpotensi tidak seimbang. Konten kurang berkualitas.
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 = Tingkat Kesulitan
campaign.rework.title = Pemberitahuan Perubahan Kampanye
campaign.rework.serpulo = [accent]⚠ Kampanye Serpulo telah dikerjakan ulang.[]\n\nPosisi sektor dan tingkat kesulitan telah berubah. Anda mungkin mengalami masalah terkait dengan data simpanan kampanye yang tersisa dari tata letak sektor yang lama.\n\nUntuk pengalaman yang lebih mulus, pertimbangkan untuk menghapus simpanan kampanye Anda di pengaturan.
@@ -287,7 +287,7 @@ trace.playername = Nama pemain: [accent]{0}
trace.ip = IP: [accent]{0}
trace.id = ID: [accent]{0}
trace.language = Bahasa: [accent]{0}
trace.mobile = Klien Seluler: [accent]{0}
trace.mobile = Klien Mobile: [accent]{0}
trace.modclient = Klien Kustom: [accent]{0}
trace.times.joined = Total Bergabung: [accent]{0}
trace.times.kicked = Total Dikeluarkan: [accent]{0}
@@ -331,10 +331,10 @@ cantconnect = Gagal bergabung ke permainan ([accent]{0}[]).
connecting = [accent]Menghubungkan...
reconnecting = [accent]Menghubungkan kembali...
connecting.establish = [accent]Membangun koneksi...
receiving.world = [accent]Menerima data dunia ({0})...
receiving.assets = [accent]Menerima aset ({0})...
receiving.assets.fail = Terjadi kesalahan saat menerima aset.
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = Port:
server.invalidport = Nomor port tidak valid!
@@ -352,10 +352,10 @@ 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.export.needsload = [scarlet]⚠ File simpanan ini berisi aset yang terintegrasi.[]\nMuat file simpanan ini sebelum mengekspornya.
save.assets.missing = Aset Hilang
save.assets.missing.list = Daftar Aset...
save.assets.missing.info = [scarlet]⚠ File simpanan ini berisi aset yang hilang![]\n\n[lightgray]Hal ini kemungkinan besar terjadi karena file simpanan tidak diekspor dengan benar.\n[lightgray]Saat berbagi file simpanan, ekspor file simpanan hanya melalui antarmuka pengguna dalam game. Jangan menyalin file simpanan dari folder mindusty secara langsung.\n[lightgray]Jika pemindahan file diperlukan, pastikan folder [accent]assetCache[] juga disalin.
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = Impor Simpanan
save.newslot = Simpan nama:
save.rename = Ganti nama
@@ -436,7 +436,7 @@ commandmode.name = [accent]Mode Perintah
commandmode.nounits = [unit kosong]
wave = [accent]Gelombang {0}
wave.cap = [accent]Gelombang {0}/{1}
wave.waiting = [lightgray]Gelombang berikutnya dalam {0}
wave.waiting = [lightgray]Gelombang di {0}
wave.waveInProgress = [lightgray]Gelombang sedang berlangsung
waiting = [lightgray]Menunggu...
waiting.players = Menunggu pemain lainnya...
@@ -517,73 +517,72 @@ editor.shiftx = Shift X
editor.shifty = Shift Y
asset.patch = Patch
asset.content = Konten
asset.bundle = Paket Terjemahan
asset.image = Gambar
asset.sound = Suara
asset.music = Musik
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = Unit
content.item = Bahan
content.liquid = Zat Cair
content.block = Blok
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Cuaca
content.status = Efek Status
content.weather = Weather
content.status = Status Effect
patches = Patch Data
patch.set = Patchset: {0}
patch.none = [lightgray]Tidak ada patchset yang ditemukan.
patch.errors = Patchset Error
patch.none = [lightgray]Tidak ada patchset yang dimuat.
patch.errors = Daftar Patchset Error
patch.importerror = Gagal mengimpor patchset
patch.delete.confirm = Apakah Anda yakin ingin menghapus patchset ini?
patch.path = Jalur:
patch.path = Path:
patch.fields = {0} bidang
bundle.lines = {0} baris
bundle.lines = {0} lines
images = Gambar
asset.title = Patch Data & Aset
asset.guide = Panduan Penggunaan
asset.bundle.exists = Paket terjemahan dengan jalur '{0}' sudah ada.
asset.importzip = Impor Aset Zip
asset.exportzip = Ekspor Aset Zip
asset.image.importzip = Impor Zip
asset.image.exportzip = Ekspor Zip
asset.clearall = Hapus Semua
asset.clearall.confirm = Apakah Anda yakin ingin menghapus [red]semua[] aset dari peta ini?\nTermasuk gambar, audio, konten, dll.
asset.imports = Impor Hasil
asset.imported = [accent]{0} aset diimpor.
asset.import.none = Tidak ada file aset yang valid di dalam arsip zip.
asset.content.errors = Konten Bermasalah
asset.content.add = Tambahkan Konten
asset.content.type = Tipe:
asset.content.exists = [red]Konten dengan nama tersebut sudah ada!
asset.content.badname = [red]Nama tidak valid! Penggunaan simbol tidak diizinkan.
asset.content.import.file = Impor File
asset.content.import.clipboard = Impor Dari Papan Klip
asset.exists = Tipe aset tersebut dengan jalur/nama yang sama sudah ada:\n[lightgray]{0}
asset.exists.audio = Aset suara/musik dengan nama tersebut sudah dimuat:\n[lightgray]{0}
asset.broken = File aset ini tidak dapat ditemukan.\nHal ini mungkin disebabkan oleh data yang diimpor tidak tepat, atau simpanan yang diekspor telah rusak.
asset.audio.invalid = File audio tidak dapat dimuat.\nPastikan formatnya adalah OGG atau MP3 yang valid.
asset.delete.confirm = Apakah Anda yakin ingin menghapus aset ini?
asset.images = Gambar Patch Data
asset.image.imports = Impor Hasil
asset.image.imported = [accent]{0} gambar diimpor.
asset.image.none = Tidak ada file PNG yang valid di dalam arsip zip.
asset.image.error = [red]Berikut kesalahan yang ditemukan:[]
asset.image.clearall.confirm = Apakah Anda yakin ingin menghapus semua gambar?
asset.image.info = Info Gambar
asset.image.toolarge = Gambar ([lightgray]{0}x{1}[]) terlalu besar. Ukuran maksimum {2}x{3}.
asset.image.exists = Gambar dengan jalur/nama tersebut sudah ada:\n[lightgray]{0}
asset.image.delete.confirm = Apakah Anda yakin ingin menghapus gambar ini?
asset.image.name = [accent]Nama File: [lightgray]{0}
asset.image.region.name = [accent]Nama Wilayah: [lightgray]{0}
asset.image.path = [accent]Jalur: [lightgray]{0}
asset.image.env = [accent]Penggunaan Atlas lingkungan: [lightgray]{0}
asset.image.size = [accent]Ukuran: [lightgray]{0}x{1}
asset.image.filesize = [accent]Ukuran File: [lightgray]{0}
asset.image.packfailed = [red]⚠ Gagal mengemas sprite![]
asset.image.packfailed.env = Hal ini kemungkinan disebabkan oleh kurangnya ruang dalam atlas lingkungan.\nPerlu dicatat bahwa total area untuk sprite lingkungan dibatasi sebesar 512x512.
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = Workshop
waves.title = Gelombang
@@ -604,6 +603,8 @@ waves.max = unit maksimum
waves.guardian = Penjaga
waves.preview = Pratinjau
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.
@@ -627,7 +628,7 @@ all = Semua
editor.default = [lightgray]<Standar>
details = Detail...
edit = Sunting
edit.menu = Sunting...
edit.menu = Edit...
variables = Variabel
logic.error.toolong = Kode prosesor terlalu panjang (Batas: {0} byte terkompresi, panjang sebenarnya: {1} byte)
logic.clear.confirm = Apakah Anda yakin ingin menghapus semua kode dari prosesor ini?
@@ -770,8 +771,8 @@ locales.showsame = Tampilkan properti yang memiliki nilai yang sama di lokasi be
locales.viewproperty = Lihat di semua paket lokal
locales.viewing = Melihat properti "{0}"
locales.addicon = Tambahkan Ikon
locales.property.name = 'nama string'
locales.property.text = 'isi teks'
locales.property.name = nama
locales.property.text = teks
width = Lebar:
height = Tinggi:
@@ -793,7 +794,7 @@ editor = Penyunting
mapeditor = Penyunting Peta
abandon = Tinggalkan
abandon.text = Sektor ini dan semua sumber daya di dalamnya akan berada di tangan musuh.
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}
@@ -897,7 +898,7 @@ campaign.complete = [accent]Selamat.\n\nMusuh di {0} telah dikalahkan.\n[lightgr
sectorlist = Sektor
sectorlist.attacked = {0} sedang diserang
sectors.unexplored = [lightgray]Belum Ditelusuri
sectors.attempts = Percobaan ke:
sectors.attempts = Percobaan:
sectors.resources = Sumber Daya:
sectors.production = Produksi:
sectors.export = Ekspor:
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Benteng Miselium
sector.frontier.name = Perbatasan
sector.sunkenPier.name = Dermaga Karam
sector.littoralShipyard.name = Galangan Kapal Pesisir
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Benteng Geotermal
sector.groundZero.description = Lokasi yang optimal untuk bermain satu kali lagi. Sangat sedikit musuh. Sedikit sumber daya.\n\nKumpulkan timah dan tembaga sebanyak yang Anda bisa.\nMulai dari sini.
@@ -1025,7 +1027,7 @@ sector.weatheredChannels.description = [gray][tujuan opsional][]\nSistem selat i
sector.mycelialBastion.description = Kompleks benteng ini terletak jauh di dalam wilayah spora, mengancam sektor-sektor tetangga dengan unit-unit yang canggih.\n\nSerang kompleks tersebut. Dapatkan teknologi di dalamnya. Manfaatkan unit yang dapat melewati semua medan.
sector.littoralShipyard.description = Terletak di ujung terjauh laut tengah, fasilitas produksi unit laut ini memiliki teknologi untuk membangun unit-unit canggih.\n\nHancurkan fasilitas ini, dan gunakan teknologinya untuk membantu penyelesaian tujuan akhir.
sector.onset.name = Awal
sector.onset.name = Serangan Awal
sector.aegis.name = Aegis
sector.lake.name = Danau
sector.intersect.name = Perempatan
@@ -1090,11 +1092,10 @@ settings.resetKey = Atur Ulang
settings.controls = Kontrol
settings.game = Permainan
settings.sound = Suara
settings.dev = Opsi Pengembang
settings.graphics = Grafik
settings.cleardata = Bersihkan Data Game...
settings.cleardata = Bersihkan Data Permainan...
settings.clear.confirm = Apakah Anda yakin ingin membersihkan data ini?\nApa yang sudah dilakukan tidak dapat dibatalkan!
settings.clearall.confirm = [scarlet]PERINGATAN![]\nIni akan membersihkan semua data game, termasuk simpanan, peta, teknologi yang terbuka, dan keybind.\nSetelah Anda menekan 'ok', game akan membersihkan semua data dan keluar secara otomatis.
settings.clearall.confirm = [scarlet]PERINGATAN![]\nIni akan membersihkan semua data permainan, termasuk simpanan, peta, teknologi yang terbuka, dan keybind.\nSetelah Anda menekan 'ok', permainan akan membersihkan semua data dan keluar secara otomatis.
settings.clearsaves.confirm = Apakah Anda yakin ingin membersihkan semua simpanan?
settings.clearsaves = Bersihkan Simpanan
settings.clearresearch = Bersihkan Riset Kampanye
@@ -1140,7 +1141,7 @@ stat.targetsground = Target Darat
stat.crushdamage = Damage Benturan
stat.legsplashdamage = Damage Percikan Kaki
stat.itemsmoved = Kecepatan Barang
stat.itemsmoved.info = Kecepatan barang seringkali tidak mulus dan berpengaruh dengan FPS.
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = Selang Waktu Peluncuran
stat.shootrange = Jarak
stat.size = Ukuran
@@ -1254,10 +1255,10 @@ ability.stat.repairspeed = [stat]{0}/dtk[lightgray] kecepatan perbaikan
ability.stat.deflectchance = [stat]{0}%[lightgray] peluang defleksi
ability.stat.slurpheal = [stat]{0}[lightgray] nyawa/unit cair
ability.stat.cooldown = [stat]{0} dtk[lightgray] waktu pendinginan
ability.stat.maxtargets = [stat]{0}[lightgray] target maksimum
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 damage
ability.stat.minspeed = [stat]{0} ubin/dtk[lightgray] kecepatan minimum
ability.stat.minspeed = [stat]{0} ubin/dtk[lightgray] kecepatan minimal
ability.stat.duration = [stat]{0} dtk[lightgray] durasi
ability.stat.buildtime = [stat]{0} dtk[lightgray] waktu membangun
@@ -1375,7 +1376,7 @@ 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.\nSaat dinonaktifkan, musik hanya diputar secara acak.
setting.alwaysmusic.description = Saat diaktifkan, musik akan selalu diputar berulang-ulang di dalam game. \nSaat dinonaktifkan, musik hanya diputar secara acak.
setting.skipcoreanimation.name = Lewati Animasi Peluncuran atau Pendaratan Inti
setting.landscape.name = Kunci Pemandangan
setting.shadows.name = Bayangan
@@ -1418,11 +1419,7 @@ setting.seconds = {0} detik
setting.milliseconds = {0} milidetik
setting.fullscreen.name = Layar Penuh
setting.fps.name = Tampilkan FPS & Ping
setting.console.name = Aktifkan Konsol
setting.drawhitboxes.name = Tampilkan Hitbox
setting.showperformance.name = Tampilkan Metrik Performa
setting.buildingtimestep.name = Interval Waktu Pembangunan Tetap
setting.buildingtimestep.description = Menjalankan pembangunan pada interval waktu tetap dengan delta konstan,\nberbeda dengan setiap frame dengan delta variabel.\nJika bangunan tidak dapat diperbarui dengan cukup cepat, permainan akan melambat.\nJika Anda tidak tahu apa artinya, jangan aktifkan opsi ini.
setting.console.name = Hidupkan Konsol
setting.smoothcamera.name = Kamera Halus
setting.detach-camera.name = Kamera Bebas
setting.detach-camera.description = Jika diaktifkan, kamera tidak akan mengikuti unit pemain.\nPengaturan ini dapat ditautkan ke keybind.
@@ -1437,7 +1434,7 @@ setting.atmosphere.name = Tampilkan Atmosfer Planet
setting.drawlight.name = Gambar Kegelapan atau Pencahayaan
setting.ambientvol.name = Volume Sekeliling
setting.mutemusic.name = Bisukan Musik
setting.sfxvol.name = Volume Efek Suara
setting.sfxvol.name = Volume Suara Efek
setting.mutesound.name = Bisukan Suara
setting.communityservers.name = Ambil Daftar Server Komunitas
setting.savecreate.name = Otomatis Menyimpan
@@ -1452,11 +1449,10 @@ setting.showweather.name = Tampilkan 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
steam.friendsonly.tooltip = Hanya teman Steam yang dapat bergabung ke permainan Anda.\nDengan menghapus centang pada kotak ini, permainan Anda akan menjadi publik - siapa pun dapat bergabung.
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.
setting.maxmagnificationmultiplierpercent.name = Jarak Kamera Minimum
setting.minmagnificationmultiplierpercent.name = Jarak Kamera Maksimum
setting.minmagnificationmultiplierpercent.name = Jarak Kamera Maksimal
setting.minmagnificationmultiplierpercent.description = Nilai yang tinggi dapat menyebabkan masalah performa.
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...
@@ -1510,7 +1506,7 @@ 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 Ulang Wilayah
keybind.schematic_select.name = Pilih Wilayah
keybind.schematic_select.name = Pilih Daerah
keybind.schematic_menu.name = Menu Skematik
keybind.schematic_flip_x.name = Balik Skematik Horizontal
keybind.schematic_flip_y.name = Balik Skematik Vertikal
@@ -1554,7 +1550,7 @@ keybind.research.name = Riset
keybind.block_info.name = Info Blok
keybind.chat.name = Pesan
keybind.player_list.name = Daftar Pemain
keybind.console.name = Konsol
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
@@ -1564,10 +1560,8 @@ 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
keybind.detach_camera.name = Aktifkan Kamera Bebas
keybind.teleport_cursor.name = Teleportasi ke Kursor (Khusus Mode Sandbox)
keybind.debug_hitboxes.name = Aktifkan Debug Hitbox
keybind.performance_metrics.name = Aktifkan Metrik Performa
keybind.detach_camera.name = Atur Kamera Bebas
keybind.debug_hitboxes.name = Atur Debug Hitbox
mode.help.title = Deskripsi mode permainan
mode.survival.name = Bertahan Hidup
mode.survival.description = Mode normal. Sumber daya terbatas dan gelombang otomatis.\n[gray]Memerlukan zona pendaratan musuh di dalam peta untuk bermain.
@@ -1625,7 +1619,7 @@ rules.enemyCheat = Sumber Daya Musuh Tak Terbatas
rules.blockhealthmultiplier = Penggandaan Nyawa Blok
rules.blockdamagemultiplier = Penggandaan Damage Blok
rules.unitfactoryactivation = Penundaan Aktivasi Pabrik Unit
rules.unitfactoryactivation.objective = Pabrik Unit Aktif dalam: {0}
rules.unitfactoryactivation.objective = Unit Factories Activating: {0}
rules.unitbuildspeedmultiplier = Penggandaan Kecepatan Produksi Unit
rules.unitcostmultiplier = Penggandaan Bahan Produksi Unit
rules.unithealthmultiplier = Penggandaan Nyawa Unit
@@ -1667,7 +1661,7 @@ 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.hidespawns = Sembunyikan Zona Pendaratan Musuh
rules.hidespawns = Hide Enemy Spawns
rules.randomwaveai = Gelombang AI yang Tak Terduga
rules.pauseDisabled = Nonaktifkan Jeda
rules.fire = Api
@@ -1680,14 +1674,14 @@ rules.weather.always = Selalu
rules.weather.duration = Durasi:
rules.randomwaveai.info = Membuat unit yang muncul dalam gelombang menargetkan struktur bangunan secara acak\nalih-alih menyerang inti atau generator pembangkit listrik secara langsung.
rules.placerangecheck.info = Mencegah pemain menempatkan apa pun di dekat bangunan musuh.\nKetika mencoba membangun menara, jangkauannya akan ditingkatkan sehingga menara tidak akan bisa menjangkau bangunan musuh.
rules.placerangecheck.info = Mencegah pemain menempatkan apa pun di dekat bangunan musuh.\nKetika 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.
database-category.item = Bahan
database-category.liquid = Zat Cair
database-category.unit = Unit
database-category.block = Blok
database-category.status = Efek Status
database-category.status = Status Efek
database-category.sector = Sektor
database-category.team = Faksi
@@ -2246,7 +2240,7 @@ 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 unit inti, [accent]ketuk avatar di kiri atas[].
hint.desktopPause = Tekan [accent][[Spasi][] untuk menjeda dan menghentikan jeda permainan.
hint.breaking = [accent]Klik Kanan[] dan seret untuk menghancurkan blok.
hint.breaking.mobile = Gunakan :hammer: [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.breaking.mobile = Aktifkan :hammer: [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, atau diperbaiki.
hint.research = Gunakan tombol :tree: [accent]Pohon Teknologi[] untuk meriset teknologi baru.
@@ -2754,7 +2748,7 @@ 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.spawnbullet = Munculkan peluru pada tempat yang ditentukan.
lst.applystatus = Menerapkan atau menghapus efek status dari sebuah unit.
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.
@@ -2771,10 +2765,10 @@ 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.playmusic = Memutar musik berdasarkan nama, misalnya [accent]"game1"[].\nJika [accent]interrupt[] bernilai true, musik yang sedang diputar sebelumnya akan dihentikan.\nMemutar dengan musik [accent]null[] dan [accent]interrupt[] diatur ke true akan menghentikan musik yang sedang diputar saat ini.\nPerhatikan bahwa penamaan musik dari patch data harus diawali dengan [accent]dp-[].
lst.playsound = Memutar suara. \nVolume dan kontrol suara dapat berupa nilai global, atau dihitung berdasarkan posisi.
lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent]interrupt[] is true, the previously playing music will be stopped.\nPlaying with null music and interrupt set to true will stop the current track.\nNote that music from data patches must be prefixed with [accent]dp-[].
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 [accent]Make Marker[].\nNilai [accent]null[] diabaikan.
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.
lst.query = Memerintahkan unit/bangunan di area yang ditentukan.\nHasil dikeluarkan ke [accent]@queries[].\nHasil dapat dibaca dari [accent]@queries[] menggunakan instruksi [accent]Read[] dan sebuah indeks.\nPanjang [accent]@queries[] dapat diukur menggunakan [accent]@size[] sebagai parameter.
@@ -2807,10 +2801,10 @@ 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 permainan; digunakan dengan intruksi pencarian
lglobal.@blockCount = Jumlah total dari tipe pada konten blok di dalam permainan; digunakan dengan intruksi pencarian
lglobal.@itemCount = Jumlah total dari tipe pada konten item di dalam permainan; digunakan dengan intruksi pencarian
lglobal.@liquidCount = Jumlah total dari tipe pada konten cairan di dalam permainan; digunakan dengan intruksi pencarian
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
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Ordinato per stelle
export.file = Esporta File
import.file = Importa File
copy.clipboard = Copia negli Appunti
load.clipboard = Importa dagli Appunti
import.clipboard = Importa dagli Appunti
workshop.browse = Browse Workshop
workshop.share = Condividi nel Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = numero massimo unità
waves.guardian = Guardiano
waves.preview = Anteprima
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Bastione del Micelio
sector.frontier.name = Frontiera
sector.sunkenPier.name = Molo Sommerso
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Roccaforte Geotermica
sector.groundZero.description = La posizione ottimale per ricominciare. Bassa minaccia nemica. Poche risorse.\nRaccogli quanto più piombo e rame possibile.\nParti.
@@ -1090,7 +1092,6 @@ settings.resetKey = Ripristina
settings.controls = Controlli
settings.game = Gioco
settings.sound = Suoni
settings.dev = Developer Options
settings.graphics = Grafica
settings.cleardata = Elimina Dati di Gioco
settings.clear.confirm = Sei sicuro di voler cancellare i dati?\nQuesta operazione non può essere annullata!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millisecondi
setting.fullscreen.name = Schermo Intero
setting.fps.name = Mostra FPS e Ping
setting.console.name = Attiva Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Visuale fluida
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Cambia modalità chat
keybind.drop_unit.name = Lascia Materiali
keybind.zoom_minimap.name = Esegui Zoom Minimappa
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Descrizione delle Modalità
mode.survival.name = Sopravvivenza
mode.survival.description = Modalità normale. Risorse limitate ed ondate in entrata automatiche.
+66 -72
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = お気に入り数で並べる
export.file = ファイルに出力する
import.file = ファイルから読み込む
copy.clipboard = クリップボードにコピーする
load.clipboard = クリップボードから読み込む
import.clipboard = クリップボードから読み込む
workshop.browse = Browse Workshop
workshop.share = ワークショップで共有する
@@ -331,10 +331,10 @@ cantconnect = ゲームに参加できませんでした。 ([accent]{0}[])
connecting = [accent]接続中...
reconnecting = [accent]再接続中...
connecting.establish = [accent]接続を確立中...
receiving.world = [accent]ワールドデータを受信中 ({0})...
receiving.assets = [accent]アセットを受信中 ({0})...
receiving.assets.fail = アセットの受信中にエラーが発生しました。
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = ポート:
server.invalidport = 無効なポート番号です!
@@ -352,10 +352,10 @@ save.export = エクスポート
save.import.invalid = [accent]無効なセーブデータです!
save.import.fail = [crimson]セーブデータのインポートに失敗しました: [accent]{0}
save.export.fail = [crimson]セーブデータのエクスポートに失敗しました: [accent]{0}
save.export.needsload = [scarlet]⚠ このセーブには埋め込みアセットがあります。[]\nこのセーブに読み込んでからエクスポートしてください。
save.assets.missing = 欠落アセット
save.assets.missing.list = アセット一覧...
save.assets.missing.info = [scarlet]⚠ このセーブには欠落しているアセットがあります![]\n\n[lightgray]これは、セーブファイルが正しくエクスポートされていないことが原因の可能性があります。\n[lightgray]セーブを共有する際は、必ずゲーム内UIからエクスポートしてください。セーブファイルを直接コピーしないでください。\n[lightgray]ファイルの転送が必要な場合は、[accent]assetCache[] フォルダも必ずコピーしてください。
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = インポート
save.newslot = セーブ名:
save.rename = 名前を変更
@@ -402,7 +402,7 @@ stance.shoot = 指示:発砲
stance.holdfire = 指示:発砲控え
stance.pursuetarget = 指示:追撃
stance.patrol = 指示:偵察経路
stance.holdposition = 指示:位置を保持
stance.holdposition = 指示:位置を保持
stance.ram = 指示: 突撃\n[lightgray]直線、経路捜索無し
stance.boost = ブースト
stance.mineauto = 自採掘掘
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = コンテンツパッチ
patch.set = Patchset: {0}
patch.none = [lightgray]パッチセットは読み込みされていません
patch.errors = パッチセットのエラー
@@ -541,49 +542,47 @@ patch.fields = {0} フィールド
bundle.lines = {0} lines
images = 画像
asset.title = Data Patches & Assets
asset.guide = 使用ガイド
asset.bundle.exists = パスが'{0}'のバンドルはすでに存在します。
asset.importzip = ZIPアセットをインポート
asset.exportzip = ZIPアセットをエクスポート
asset.image.importzip = ZIPをインポート
asset.image.exportzip = ZIPをエクスポート
asset.clearall = すべてを消去
asset.clearall.confirm = このマップから[red]すべて[]のアセットを消去してもよろしいですか?\nこれには画像、音声、コンテンツなどが含まれます。
asset.imports = インポート結果
asset.imported = [accent]{0} 個のアセットをインポートしました。
asset.import.none = ZIPアーカイブ内に有効なアセットファイルが見つかりませんでした。
asset.content.errors = コンテンツエラー
asset.content.add = コンテンツを追加
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]その名前のコンテンツはすでに存在します!
asset.content.badname = [red]無効な名前です!ほとんどの符号は許可されていません。
asset.content.import.file = ファイルをインポート
asset.content.import.clipboard = クリップボードからインポート
asset.exists = そのタイプのアセットで、同じパス/名前のものが既に存在します:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = アセットファイルが見つかりませんでした。\nデータの不適切なインポート、または正しくエクスポートされていない保存ファイルが原因である可能性があります。
asset.audio.invalid = 音声ファイルを読み込めませんでした。\n有効な OGG または MP3 ファイルであることを確認してください。
asset.delete.confirm = このアセットを削除してもよろしいですか?
asset.images = データパッチ画像:
asset.image.imports = インポート結果
asset.image.imported = [accent]{0} 枚の画像をインポートしました。
asset.image.none = ZIP アーカイブ内に有効な PNG ファイルが見つかりませんでした。
asset.image.error = [red]以下のエラーが発生しました:[]
asset.image.clearall.confirm = すべての画像を消去してもよろしいですか?
asset.image.info = 画像情報
asset.image.toolarge = 画像 ([lightgray]{0}x{1}[]) が大きすぎます。最大サイズは {2}x{3}です。
asset.image.exists = 同じパス/名前の画像が既に存在します:\n[lightgray]{0}
asset.image.delete.confirm = この画像を削除してもよろしいですか?
asset.image.name = [accent]ファイル名: [lightgray]{0}
asset.image.region.name = [accent]リージョン名: [lightgray]{0}
asset.image.path = [accent]パス: [lightgray]{0}
asset.image.env = [accent]環境アトラスの使用: [lightgray]{0}
asset.image.size = [accent]サイズ: [lightgray]{0}x{1}
asset.image.filesize = [accent]ファイルサイズ: [lightgray]{0}
asset.image.packfailed = [red]⚠ スプライトのパックに失敗しました![]
asset.image.packfailed.env = おそらく環境アトラスの空き容量不足が原因です。\n環境スプライトは合計512x512の制限があります。
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = ワークショップ
waves.title = ウェーブ
@@ -604,6 +603,8 @@ waves.max = 最大ユニット数
waves.guardian = ガーディアン
waves.preview = プレビュー
waves.random = ランダム
waves.copy = クリップボードにコピー
waves.load = クリップボードから読み込む
waves.invalid = クリップボードのウェーブは無効なウェーブです。
waves.copied = ウェーブをコピーしました。
waves.none = 敵が定義されていません。\n空のウェーブレイアウトはデフォルトのレイアウトに自動的に置き換えられます。
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = 菌糸の要塞
sector.frontier.name = 辺境辺境
sector.sunkenPier.name = 沈んだ桟橋
sector.littoralShipyard.name = 沿岸造船所
sector.cruxscape.name = クラックス・スケープ
sector.geothermalStronghold.name = 地熱要塞
sector.groundZero.description = 奪回を始めるには最適な場所です。敵の脅威は少ないが、資源が乏しい。\nできるだけ多くの銅と鉛を集めろ。\n開始せよ。
@@ -1090,7 +1092,6 @@ settings.resetKey = リセット
settings.controls = コントロール
settings.game = ゲーム
settings.sound = サウンド
settings.dev = Developer Options
settings.graphics = グラフィック
settings.cleardata = データを削除...
settings.clear.confirm = データを削除してもよろしいですか?\nこれを元に戻すことはできません!
@@ -1140,7 +1141,7 @@ stat.targetsground = 対地攻撃
stat.crushdamage = クラッシュダメージ
stat.legsplashdamage = 踏みつぶしダメージ
stat.itemsmoved = 輸送速度
stat.itemsmoved.info = スループットは線形とは限らず、FPS/TPSに依存することが多い。
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = 発射の待機時間
stat.shootrange = 範囲
stat.size = 大きさ
@@ -1163,8 +1164,8 @@ stat.weapons = 武器
stat.bullet = 弾丸
stat.moduletier = モジュールレベル
stat.unittype = ユニット種
stat.receiverate = 受信速度
stat.receiverate.info = オーバードライブの影響を受ける。スループットは追加の搬出機を設置することで増加できる。
stat.receiverate = Receiving Rate
stat.receiverate.info = Affected by overdrive. Throughput can be increased by placing additional unloaders.
stat.speedincrease = 速度向上
stat.range = 範囲
stat.drilltier = ドリル
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} ミリ秒
setting.fullscreen.name = フルスクリーン
setting.fps.name = FPSを表示
setting.console.name = コンソールを有効にする
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = スムーズなカメラ
setting.detach-camera.name = フリーカメラ
setting.detach-camera.description = 有効にすると、カメラがプレイヤーユニットから独立して移動します。\nこの設定はホットキーに割り当て可能です。
@@ -1452,7 +1449,6 @@ setting.showweather.name = 天気のグラフィックを表示
setting.hidedisplays.name = 描画されているロジックディスプレイを非表示
setting.macnotch.name = インターフェイスをノッチ表示に適応させる
setting.macnotch.description = 再起動が必要です。
steam.friendsonly = フレンドのみ
steam.friendsonly.tooltip = Steamのフレンドのみがゲームに参加できるようにします。\nこの設定を無効にするとゲームは公開され、誰でも参加できます。
setting.maxmagnificationmultiplierpercent.name = 最低描写距離
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = チャットモードの変更
keybind.drop_unit.name = ユニット投下
keybind.zoom_minimap.name = ミニマップのズーム
keybind.detach_camera.name = フリーカメラの切り替え
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = デバッグヒットボックスの切り替え
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = モード説明
mode.survival.name = サバイバル
mode.survival.description = 通常のモードです。資源も限られる中、自動的にウェーブが進行していきます。\n[gray]マップに敵の出現設定が必要です。
@@ -2191,9 +2185,9 @@ block.disperse.name = ディスパーズ
block.afflict.name = アフリクト
block.lustre.name = ラストル
block.scathe.name = スケース
block.scathe.carbide.info = かなり高速で移動する。\nどの距離でも中程度のダメージ。
block.scathe.surge-alloy.info = 微小ミサイルに分裂する。\n近距離で高ダメージ。
block.scathe.phase-fabric.info = フォースフィールドを搭載している。\nダメージは低いが、最大の範囲を持つ。
block.scathe.carbide.info = Travels significantly faster.\nModerate damage at any range.
block.scathe.surge-alloy.info = Splits into micro missiles.\nHeavy damage at close distance.
block.scathe.phase-fabric.info = Equipped with a force field.\nLow damage, largest radius.
block.tank-refabricator.name = 戦車再加工工場
block.mech-refabricator.name = メカ再加工工場
block.ship-refabricator.name = 戦艦再加工工場
@@ -2772,7 +2766,7 @@ lst.setprop = ユニットまたは建物のプロパティを設定します。
lst.effect = パーティクルエフェクトを作成します。
lst.sync = ネットワーク経由で変数を同期します。\n最大で1秒間に10回まで呼び出されます。
lst.playsound = サウンドを再生します。\n音量とパンはグローバル値として設定するか、位置に基づいて計算できます。
lst.playmusic = 名前で音楽トラックを再生する。例: [accent]"game1"[]。\n[accent]interrupt[] が true の場合、再生中の音楽は停止される。\nnull の音楽を再生し、interrupt を true にすると現在のトラックを停止できる。\ndata patch の音楽を再生する場合は、[accent]dp-[] を接頭辞として付ける必要がある。
lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent]interrupt[] is true, the previously playing music will be stopped.\nPlaying with null music and interrupt set to true will stop the current track.\nNote that music from data patches must be prefixed with [accent]dp-[].
lst.makemarker = ワールドに新しいロジックマーカーを作成します。\nこのマーカーを識別するためのIDを指定する必要があります。\nマーカーは現在、1ワールドにつき最大20,000個までです。
lst.setmarker = マーカーのプロパティを設定します。\n使用するIDは"Make Marker"命令で指定したものと同じである必要があります。
lst.localeprint = マップのロケールプロパティの値をテキストバッファに追加します。\nマップエディタでロケールバンドルを設定するには、[accent]Map Info > Locale Bundles[] を確認してください。\nクライアントがモバイルの場合、末尾が ".mobile" のプロパティを優先して出力します。
@@ -2781,8 +2775,8 @@ lst.query = 指定した範囲内のユニット/建物を検索します。結
lglobal.false = 0
lglobal.true = 1
lglobal.null = null
lglobal.@pi = 円周率(π:3.141...)という数学定数
lglobal.@e = ネイピア数(e:2.718...)という数学定数
lglobal.@pi = 円周率(π:3.141...)という数学定数
lglobal.@e = ネイピア数(e:2.718...)という数学定数
lglobal.@degToRad = 度をラジアンに変換するための乗算係数
lglobal.@radToDeg = ラジアンを度に変換するための乗算係数
@@ -2815,13 +2809,13 @@ lglobal.@liquidCount = ゲーム内液体種類数(lookup命令で使用)
lglobal.@server = サーバーまたはシングルプレイで実行中なら true、それ以外は false
lglobal.@client = クライアント接続中なら true
lglobal.@clientLocale = クライアントの言語設定(例: en_US)
lglobal.@clientLocale = クライアントの言語設定(例:en_US)
lglobal.@clientUnit = クライアントが操作しているユニット
lglobal.@clientName = クライアントのプレイヤー名
lglobal.@clientTeam = クライアントのチームID
lglobal.@clientMobile = クライアントがモバイルなら true、それ以外は false
lenum.type = ユニットや建物の種類を取得します。\n例: 任意のルーターに対して、 [accent]@router[] を返します。\n文字列ではありません。
lenum.type = ユニットや建物の種類を取得します。\n例:任意のルーターに対して、 [accent]@router[] を返します。\n文字列ではありません。
lenum.shoot = 指定した座標に向かって撃ちます。
lenum.shootp = 任意のユニットや建物を撃ちます。
lenum.config = 建物の設定を取得します。\n例:ソーターに設定されているアイテムなど
@@ -2834,7 +2828,7 @@ laccess.controller = ユニットを制御しているものを取得します
laccess.dead = ユニットや建物が機能しているかどうか、またはもう有効でないかどうか。
laccess.controlled = ユニットや建物がどのように制御されているのかを取得します。\nプロセッサ制御の場合、 [accent]@ctrlProcessor[] を返します。\nプレイヤー制御の場合、 [accent]@ctrlPlayer[] を返します。\n隊列を組んでいる場合、 [accent]@ctrlFormation[] を返します。\nそれ以外は 0 を返します。
laccess.progress = アクションの進行状況を0〜1で取得します。\n生産、リロード、または建設の進捗状況を返します。
laccess.speed = ユニットの最高速度を返します。(単位: タイル/秒)
laccess.speed = ユニットの最高速度を返します。(単位:タイル/秒)
laccess.size = ユニット/建物の大きさ、または紐の長さ。
laccess.id = ユニット/ブロック/アイテム/液体のID。\nこれは検索操作の逆です。
laccess.displaywidth = 表示ブロックの幅(ピクセル単位)
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = 추천(스타) 수
export.file = 파일 내보내기
import.file = 파일 가져오기
copy.clipboard = 클립보드에 복사
load.clipboard = 클립보드에서 가져오기
import.clipboard = 클립보드에서 가져오기
workshop.browse = Browse Workshop
workshop.share = 창작마당에 공유
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = 데이터 패치
patch.set = Patchset: {0}
patch.none = [lightgray]패치셋이 로드되지 않음.
patch.errors = 패치셋 에러
@@ -542,7 +543,6 @@ patch.fields = {0} 필드
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = 기까지
waves.guardian = 수호자
waves.preview = 미리보기
waves.random = 무작위
waves.copy = 클립보드로 복사하기
waves.load = 클립보드에서 불러오기
waves.invalid = 클립보드에 잘못된 단계 데이터가 있습니다.
waves.copied = 단계 복사됨
waves.none = 적 단계가 설정되지 않았습니다.\n비어있을 시 자동으로 기본 적 단계 데이터로 설정됩니다.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = 균사 성채
sector.frontier.name = 국경 지방
sector.sunkenPier.name = 가라앉은 부두
sector.littoralShipyard.name = 연안 조선소
sector.cruxscape.name = 크럭스케이프
sector.geothermalStronghold.name = 지열 요새
sector.groundZero.description = 이 장소는 다시 시작하기에 최적의 환경을 지녔습니다. 적은 위협적이지 않지만, 자원도 풍부하진 않습니다.\n\n가능한 한 많은 양의 구리와 납을 수집하십시오.\n이제 출격할 시간입니다.
@@ -1090,7 +1092,6 @@ settings.resetKey = 초기화
settings.controls = 조작
settings.game = 게임
settings.sound = 소리
settings.dev = Developer Options
settings.graphics = 그래픽
settings.cleardata = 게임 데이터 초기화
settings.clear.confirm = 정말로 이 데이터를 지우시겠습니까?\n되돌릴 수 없습니다!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} 밀리초
setting.fullscreen.name = 전체 화면
setting.fps.name = FPS와 핑 표시
setting.console.name = 콘솔 활성화
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = 부드러운 시점
setting.detach-camera.name = 자유 카메라
setting.detach-camera.description = 이 기능을 활성화하면 카메라가 플레이어 유닛과 독립적으로 움직입니다.\n이 설정에는 단축키를 지정할 수 있습니다.
@@ -1452,7 +1449,6 @@ setting.showweather.name = 날씨 그래픽 표시
setting.hidedisplays.name = 로직 디스플레이 숨김
setting.macnotch.name = 노치를 표시하도록 인터페이스 조정
setting.macnotch.description = 적용하려면 재시작이 필요합니다.
steam.friendsonly = 친구 전용
steam.friendsonly.tooltip = 스팀 친구만 게임에 접속할 수 있을지 정합니다.\n체크를 해제하면 누구나 접속할 수 있습니다.
setting.maxmagnificationmultiplierpercent.name = 최소 카메라 거리
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = 채팅 모드 변경
keybind.drop_unit.name = 유닛 내려놓기
keybind.zoom_minimap.name = 미니맵 확대
keybind.detach_camera.name = 자유 카메라 전환
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = 히트박스 디버그 보이기/숨기기
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = 모드 설명
mode.survival.name = 생존
mode.survival.description = 기본 모드. 제한된 자원이 있으며, 단계가 자동으로 시작합니다.\n[gray]플레이하려면 맵에 적 스폰지점이 필요합니다.
+66 -72
View File
@@ -18,8 +18,8 @@ linkopen = Šis serveris atsiuntė jums nuorodą. Ar jūs norite atidaryti ją?\
clipboardcopy = This server wants to copy text to your clipboard. Are you sure you want to continue?\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, galimai nepakanka vietos išsaugoti ekrano kopijai.
screenshot.error = Nepavyko padaryti ekrano nuotraukos. Jūsų įrenginys galimai nepalaiko tokio dydžio ekranvaizdžio.
screenshot.invalid = Žemėlapis yra per didelis, potencialiai nepakanka vietos išsaugoti ekrano kopiją.
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = Žaidimas Baigtas
gameover.disconnect = Atsijungti
gameover.pvp = [accent] {0}[] komanda laimėjo!
@@ -27,7 +27,7 @@ gameover.waiting = [accent]Laukiama kito žemėlapio...
highscore = [accent]Naujas rekordas!
copied = Nukopijuota.
indev.notready = Ši žaidimo dalis dar neparuošta
bundle.external = Pastaba: Sėkmingai įkėlėte išorinį vertimų rinkinį.\n[accent]{0}
bundle.external = Note: You have successfully loaded an external translation bundle.\n[accent]{0}
load.sound = Garsai
load.map = Žemėlapiai
@@ -52,7 +52,7 @@ 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 = <Naujausia>
mods.browser.releases = Leidimai
mods.browser.fetching = Ieškoma Leidimų...
mods.browser.fetching = Fetching Releases...
mods.github.open = Repo
mods.github.open-release = Leidimų puslapis
mods.browser.sortdate = Rūšioti pagal naujausius
@@ -61,8 +61,8 @@ mods.browser.sortstars = Rūšiuoti pagal žvaigždes
export.file = Eksportuoti failą
import.file = Importuoti failą
copy.clipboard = Kopijuoti į iškarpinę
load.clipboard = Importuoti iš iškarpinės
workshop.browse = Naršyti Dirbtuves
import.clipboard = Importuoti iš iškarpinės
workshop.browse = Browse Workshop
workshop.share = Dalintis Dirbtuvėje
schematic = Schema
@@ -89,15 +89,15 @@ schematic.tagdelconfirm = Visiškai ištrinti šią žymę?
schematic.tagexists = Ši žymė jau egzistuoja.
stats = Statistikos
stats.wave = Bangų Įveikta
stats.unitsCreated = Vienetų Sukurta
stats.enemiesDestroyed = Priešų sunaikinta
stats.built = Pastatų Pastatyta
stats.destroyed = Pastatų Sugriauta
stats.deconstructed = Pastatų Iškonstruota
stats.playtime = Laiko Žaista
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
globalitems = [accent]Globalūs Resursai
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
@@ -114,8 +114,8 @@ joingame = Įeiti į žaidimą
customgame = Pasirinktinis žaidimas
newgame = Naujas žaidimas
none = <niekas>
none.found = [lightgray]<nerasta>
none.inmap = [lightgray]<žemėlapyje nerasta>
none.found = [lightgray]<none found>
none.inmap = [lightgray]<none in map>
minimap = Mini žemėlapis
position = Pozicija
close = Uždaryti
@@ -128,9 +128,9 @@ continue = Tęsti
maps.none = [lightgray]Nerasta žemėlapių!
invalid = Klaidingas
pickcolor = Pasirinkti spalvą
color = Spalva
import = Importuoti
export = Eksportuoti
color = Color
import = Import
export = Export
preparingconfig = Ruošiamos konfiguracijos
preparingcontent = Ruošiamas turinys
uploadingcontent = Talpinamas turinys
@@ -140,7 +140,7 @@ committingchanges = Daromi pakeitimai
done = Baigta
feature.unsupported = Jūsų įrenginys nepalaiko šios funkcijos.
mods.initfailed = [red]⚠[] Praitas Mindustry paleidimas nepavyko. Tikėtina, kad tai sukėlė netinkamai veikiančios modifikacijos.\n\nSiekiant išvengti strigimo pasikartojimo, [red]visos modifijacijos išjungtos.[]
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.name = Mod:
mods.none = [lightgray]Modifikacijos nerastos
@@ -149,8 +149,8 @@ mods.report = Pranešti apie klaidas
mods.openfolder = Atidaryti modifikacijų aplanką
mods.viewcontent = Peržiūrėti turinį
mods.reload = Perkrauti
mods.reloadexit = Žaidimas išsijungs modifikacijoms perkrauti.
mod.installed = [[Įdiegta]
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
@@ -168,9 +168,9 @@ mod.erroredcontent = [scarlet]Turinio klaidos.
mod.circulardependencies = [red]Circular Dependencies
mod.incompletedependencies = [red]Nebaigtos Priklausomybės
mod.requiresversion.details = Reikalinga žaidimo versija: [accent]{0}[]\nJūsų žaidimo versija yra pasenusi. Šiai modifikacijai veikti reikalinga naujesnė žaidimo versija (gali būti beta/alpha leidimas).
mod.incompatiblemod.details = Ši modifikacija yra nesuderinama su naujausia žaidimo versija. Autoriui reikia ją atnaujinti ir pridėti [accent]minGameVersion: 154[] į jos [accent]mod.json[] failą.
mod.blacklisted.details = Ši modifikacija buvo rankiniu būdu uždrausta, nes sukelia gedimus ar kitas problemas su šia žaidimo versija. Nenaudokite jos.
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.incompatiblemod.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 154[] 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.
@@ -179,7 +179,7 @@ mod.incompletedependencies.details = Šios modifikacijos negalima užkrauti dėl
mod.requiresversion = Reikia žaidimo versijos: [red]{0}
mod.errors = Įvyko klaida kraunant turinį.
mod.errors.map = [scarlet]Iškilo klaidų kraunant žemėlapio turinį. Visas modifikuotas turinys išjungas.[]\nŠis žemėlapis, tikėtina, neveiks tinkamai.
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
mod.noerrorplay = [scarlet]Turite modifikacijas su klaidomis.[] Išjunkite modifikacijas su klaidomis arba patasykite jas prieš žaidžiant.
mod.enable = Įjungti
mod.requiresrestart = Žaidimas dabar išsijungs modifikacijų perkrovimui.
@@ -196,15 +196,15 @@ mod.preview.missing = Prieš publikuojant šią modifikaciją workshop'e, jūs p
mod.folder.missing = Tik modifikacijos aplanko formoje gali būti publikuojamos workshop'e.\nNorint konvertuoti bet kurią modifikaciją į aplanką, paprasčiausiai išpakuokite jos failą į aplanką ir ištrinkite senąją zip versiją, po to, perkraukite žaidimą arba modifikacijas.
mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game.
mod.dependencies.error = [scarlet]Modifikacijos turi neišpildytų priklausomybių
mod.dependencies.soft = (neprivaloma)
mod.dependencies.download = Importuoti
mod.dependencies.downloadreq = Importuoti privalomus
mod.dependencies.downloadall = Importuoti viską
mod.dependencies.status = Importavimo Rezultatai
mod.dependencies.success = Sėkmingai parsisiųsta:
mod.dependencies.failure = Nepavyko parsisiųsti:
mod.dependencies.imported = Šiai modifikacijai reikalingos priklausomybės. Atsisiųsti?
mod.dependencies.error = [scarlet]Mods are missing dependencies
mod.dependencies.soft = (optional)
mod.dependencies.download = Import
mod.dependencies.downloadreq = Import Required
mod.dependencies.downloadall = Import All
mod.dependencies.status = Import Results
mod.dependencies.success = Successfully downloaded:
mod.dependencies.failure = Failed to download:
mod.dependencies.imported = This mod requires dependencies. Download?
about.button = Apie
name = Vardas:
@@ -218,14 +218,14 @@ 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 nuosekli kampanijos eiga.\n\nAukštesnės kokybės žemėlapiai ir bendra patirtis.
campaign.serpulo = Senesnis turinys; klasikinė versija. Atviresnis.\n\nPotencialiai nebalansuoti žemelapiai ir kampanijos mechanika. Mažiau tobulinta.
campaign.difficulty = Sudėtingumas
campaign.rework.title = Kampanijos Pakeitimų Įspėjimas
campaign.rework.serpulo = [accent]⚠ Serpulo kampanija buvo perdirba.[]\n\nSektorių pozicijos ir sudėtingumas pasikeitė. Galite susidurti su problemomis, susijusiomis su kampanijos išsaugojimais senesniu formatu.\n\nDėl geresnės patirties, apsvarstykite kampanijos išsaugojimų atstatymą nustatymuose.
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
campaign.rework.title = Campaign Changes Notice
campaign.rework.serpulo = [accent]⚠ The Serpulo campaign has been reworked.[]\n\nSector positions and difficulty have changed. You may encounter issues relating to leftover campaign saves from the old layout.\n\nFor a cleaner experience, consider resetting your campaign saves in the settings.
completed = [accent]Išrasta
techtree = Technologijų Medis
techtree.select = Technologijų Medžio Pasirinkimas
techtree.select = Technologijų Medį parinkti
techtree.serpulo = Serpulo
techtree.erekir = Erekir
research.load = Load
@@ -272,7 +272,7 @@ hosts.none = [lightgray]Žaidimų vietiniame tinkle nerasta!
host.invalid = [scarlet]Negalima prisijungti prie serverio.
servers.local = Vietinio Tinklo Serveriai
servers.local.steam = Atviri Žaidimai ir Vietiniai Serveriai
servers.local.steam = Open Games & Local Servers
servers.remote = Nuotoliniai Serveriai
servers.global = Globalūs Serveriai
@@ -286,7 +286,7 @@ trace = Sekti Žaidėją
trace.playername = Žaidėjo vardas: [accent]{0}
trace.ip = IP: [accent]{0}
trace.id = Unikalus ID: [accent]{0}
trace.language = Kalba: [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}
@@ -295,18 +295,18 @@ trace.ips = IPs:
trace.names = Vardai:
invalidid = Netaisyklingas kliento ID! Praneškite apie klaidą.
player.ban = Užblokuoti
player.ban = Baninti
player.kick = Išmesti
player.trace = Sekti
player.admin = Perjungti admininistratorių
player.team = Keisti Komandą
player.team = Keisti komandą
server.bans = Užblokavimai
server.bans.none = Nerasta užblokuotų žaidėjų!
server.admins = Administratoriai
server.admins.none = Nerasta administratorių!
server.add = Pridėti Serverį
server.delete = Ar tikrai norite panaikinti serverį?
server.delete = Ar esate tikras jog norite panaikinti serverį?
server.edit = Redaguoti Serverį
server.outdated = [crimson]Pasenęs serveris![]
server.outdated.client = [crimson]Pasenęs Klientas![]
@@ -329,7 +329,7 @@ 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]Jungiamasi iš naujo...
reconnecting = [accent]Reconnecting...
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
@@ -338,7 +338,7 @@ receiving.assets.fail = Error occurred while receiving assets.
server.port = Prievadas:
server.invalidport = Negaliams prievado numeris!
server.error.addressinuse = [scarlet]Nepavyko atidaryti serverio 6567 prievade.[]\n\nĮsitikinkite, kad jūsų įrenginyje, ar tinkle, nėra kitų Mindustry serverių!
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ą?
@@ -363,29 +363,29 @@ save.rename.text = Naujas pavadinimas:
selectslot = Pasirinkite išsaugojimą.
slot = [accent]Elementas {0}
editmessage = Redaguoti žinutę
save.corrupted = Išsaugojimo failas yra sugadintas arba netinkamas!
empty = <tuščia>
save.corrupted = Išsaugojimo failas yra sugadintas arba !
empty = <empty>
on = Įjungta
off = Išjungta
save.search = Ieškoti išsaugotų žaidimų...
save.search = Search saved games...
save.autosave = Automatinis išsaugojimas: {0}
save.map = Žemėlapis: {0}
save.wave = Banga {0}
save.mode = Žaidimo Režimas: {0}
save.date = Paskutinis Išsaugojimas: {0}
save.playtime = Žaidimo laikas: {0}
dontshowagain = Daugiau nerodyti
dontshowagain = Don't show again
warning = Perspėjimas.
confirm = Priimti
delete = Šalinti
view.workshop = Apžiūrėti Workshop'e
workshop.listing = Edit Workshop Listing
hide = Paslėpti
hide = Hide
ok = Gerai
open = Atidaryti
customize = Keisti Taisykles
cancel = Atšaukti
command = Valdyti
command = Command
command.queue = [lightgray][Queuing]
command.mine = Mine
command.repair = Repair
@@ -411,7 +411,7 @@ openlink = Atidaryti Nuorodą
copylink = Kopijuoti Nuorodą
back = Sugrįžti
max = Max
objective = Žemėlapio Tikslas
objective = Map Objective
crash.export = Export Crash Logs
crash.none = No crash logs found.
crash.exported = Crash logs exported.
@@ -423,7 +423,7 @@ data.invalid = Tai nėra veikiantys žaidimo duomenys.
data.import.confirm = Importuojant išorinius duomenis bus pašalinti[scarlet] visi esami duomenys[]
quit.confirm = Ar tikrai norite išeiti?
loading = [accent]Kraunama...
downloading = [accent]Atisiunčiama...
downloading = [accent]Downloading...
saving = [accent]Išsaugoma...
respawn = [accent][[{0}][] to respawn in core
cancelbuilding = [accent][[{0}][] plano išvalymui
@@ -432,15 +432,15 @@ 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]Valdymo Režimas
commandmode.name = [accent]Command Mode
commandmode.nounits = [no units]
wave = [accent]Banga {0}
wave.cap = [accent]Banga {0}/{1}
wave.waiting = [lightgray]Banga už {0}
wave.cap = [accent]Wave {0}/{1}
wave.waiting = [lightgray]Banga po {0}
wave.waveInProgress = [lightgray]Vyksta banga
waiting = [lightgray]Laukiama...
waiting.players = Laukiama žaidėjų...
wave.enemies = [lightgray]{0} Likę priešų
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
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Apžiūra
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.
@@ -957,11 +958,11 @@ difficulty.enemySpawnMultiplier = Enemy Amount: {0}
difficulty.waveTimeMultiplier = Wave Timer: {0}
difficulty.nomodifiers = [lightgray](No modifiers)
planets = Planetos
planets = Planets
planet.serpulo.name = Serpulo
planet.erekir.name = Erekir
planet.sun.name = Saulė
planet.sun.name = Sun
sector.impact0078.name = Impact 0078
sector.groundZero.name = Ground Zero
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Atkuri
settings.controls = Valdymas
settings.game = Žaidimas
settings.sound = Garsai
settings.dev = Developer Options
settings.graphics = Grafikos
settings.cleardata = Išvalyti žaidimo duomenis...
settings.clear.confirm = Ar tikrai norite ištrinti šiuos duomenis?\nTai negali būti atkurta!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisekundžių
setting.fullscreen.name = Fullscreen
setting.fps.name = Rodyti FPS ir Ping
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Išmesti Vienetą
keybind.zoom_minimap.name = Keisti Mini Žemėlapio Mastelį
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Modifikacijų Aprašymai
mode.survival.name = Išgyvenimas
mode.survival.description = Normalus režimas. Riboti resursai ir automatinės priešų bangos.\n[gray]Privalomos priešų atsiradimo zonos žemėlapyje.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sorteer op sterren
export.file = Exporteer bestand
import.file = Importeer bestand
copy.clipboard = Kopi�ren naar Klembord
load.clipboard = Importeren van Klembord
import.clipboard = Importeren van Klembord
workshop.browse = Browse Workshop
workshop.share = Delen op de Werkplaats
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = maximale eenheden
waves.guardian = Bewaker
waves.preview = Voorvertoning
waves.random = Random
waves.copy = Kopieer naar klembord
waves.load = Laad van klembord
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Reset
settings.controls = Bediening
settings.game = Spel
settings.sound = Geluid
settings.dev = Developer Options
settings.graphics = Grafisch
settings.cleardata = Wis Spelgegevens...
settings.clear.confirm = Weet je zeker dat je deze gegevens wilt verwijderen?\nDit is niet terug te draaien!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millisecondes
setting.fullscreen.name = Volledig Scherm
setting.fps.name = Toon FPS
setting.console.name = Console Inschakelen
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Vloeiende Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Verander Chatmodus
keybind.drop_unit.name = Laat Eenheid Vallen
keybind.zoom_minimap.name = Zoom Minimap
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Beschrijving van Modi
mode.survival.name = Overleving
mode.survival.description = De normale modus. Standaard grondstoffen en automatisch inkomende golven van vijanden.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sort by stars
export.file = Exporteer Bestand
import.file = Exporteer Bestand
copy.clipboard = Kopieer naar Klembord
load.clipboard = Importeer vanaf Klembord
import.clipboard = Importeer vanaf Klembord
workshop.browse = Browse Workshop
workshop.share = Deel op Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Preview
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Reset
settings.controls = Controls
settings.game = Game
settings.sound = Sound
settings.dev = Developer Options
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!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Fullscreen
setting.fps.name = Show FPS
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Drop Unit
keybind.zoom_minimap.name = Zoom minimap
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Description of modes
mode.survival.name = Survival
mode.survival.description = The normal mode. Limited resources and automatic incoming waves.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sortuj wg gwiazdek
export.file = Eksportuj plik
import.file = Importuj plik
copy.clipboard = Kopiuj do schowka
load.clipboard = Importuj ze schowka
import.clipboard = Importuj ze schowka
workshop.browse = Browse Workshop
workshop.share = Podziel się na Warsztacie
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Łatki danych
patch.set = Patchset: {0}
patch.none = [lightgray]Brak załadowanych zestawów łatek.
patch.errors = Błędy zestawu łatek
@@ -542,7 +543,6 @@ patch.fields = {0} pola
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = maks. jednostek
waves.guardian = Strażnik
waves.preview = Podgląd
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Baszta Grzybni
sector.frontier.name = Granica
sector.sunkenPier.name = Zatopione Molo
sector.littoralShipyard.name = Nabrzeżna Stocznia
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geotermalna Twierdza
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Resetuj
settings.controls = Sterowanie
settings.game = Gra
settings.sound = Dźwięk
settings.dev = Developer Options
settings.graphics = Grafika
settings.cleardata = Wyczyść Dane Gry...
settings.clear.confirm = Czy jesteś pewien, że chcesz usunąć te dane?\nPo tym nie ma powrotu!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisekund
setting.fullscreen.name = Pełny ekran
setting.fps.name = Pokazuj FPS oraz ping
setting.console.name = Włącz konsolę
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Płynna kamera
setting.detach-camera.name = Wolna Kamera
setting.detach-camera.description = Gdy włączone, kamera porusza się niezależnie od jednostki gracza.\nTo ustawienie można przypisać do skrótu klawiszowego.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Pokaż pogodę
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ć.
setting.maxmagnificationmultiplierpercent.name = Min. odległość kamery
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Zmień tryb czatu
keybind.drop_unit.name = Wyrzucanie przedmiot
keybind.zoom_minimap.name = Powiększenie mapy
keybind.detach_camera.name = Przełącz wolną kamerę
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Przełącz hitboksy debugowania
keybind.performance_metrics.name = Toggle Performance Metrics
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 punktów spawnu wroga na mapie, aby móc grać w tym trybie.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Ordenar por estrelas
export.file = Exportar Arquivo
import.file = Importar Arquivo
copy.clipboard = Copiar para a área de transferência
load.clipboard = Importar da área de transferência
import.clipboard = Importar da área de transferência
workshop.browse = Browse Workshop
workshop.share = Compartilhar na Oficina
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]Nenhum conjunto de patches carregado.
patch.errors = Erros no Conjunto de Patches
@@ -542,7 +543,6 @@ patch.fields = {0} campos
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = quantidade máxima
waves.guardian = Guardião
waves.preview = Pré-visualizar
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Bastião Micelial
sector.frontier.name = Fronteira
sector.sunkenPier.name = Píer Afundado
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Fortaleza Geotérmica
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Resetar
settings.controls = Controles
settings.game = Jogo
settings.sound = Som
settings.dev = Developer Options
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!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milissegundos
setting.fullscreen.name = Tela Cheia
setting.fps.name = Mostrar FPS e Ping
setting.console.name = Ativar console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Suavizar movimentos da câmera
setting.detach-camera.name = Câmera Livre
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Distância Mínima da Câmera
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Mudar modo do chat
keybind.drop_unit.name = Soltar unidade
keybind.zoom_minimap.name = Ampliar minimapa
keybind.detach_camera.name = Alternar Câmera Livre
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Alternar Hitboxes de Depuração
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Descrição dos modos
mode.survival.name = Sobrevivência
mode.survival.description = O modo normal. Recursos limitados e hordas automáticas.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Ordenar por estrelas
export.file = Exportar Ficheiro
import.file = Importar Ficheiro
copy.clipboard = Copiar para a área de transferência
load.clipboard = Importar da área de transferência
import.clipboard = Importar da área de transferência
workshop.browse = Browse Workshop
workshop.share = Partilhar na Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = quantidade máxima de unidades
waves.guardian = Guardião
waves.preview = Pré-visualizar
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 esquemas de hordas vazios serão automaticamente substituídos pelo esquema padrão.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Repor
settings.controls = Controlos
settings.game = Jogo
settings.sound = Som
settings.dev = Developer Options
settings.graphics = Gráficos
settings.cleardata = Apagar dados...
settings.clear.confirm = Tens a certeza que queres limpar os dados?\nOque é feito não pode ser desfeito!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milissegundos
setting.fullscreen.name = Ecrã Inteiro
setting.fps.name = Mostrar FPS e Ping
setting.console.name = Ativar Consola
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Câmara Suave
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Mudar Modo de Chat
keybind.drop_unit.name = Largar Unidade
keybind.zoom_minimap.name = Zoom do Minimapa
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Descrição dos mods
mode.survival.name = Sobrevivência
mode.survival.description = O modo padrão. Recursos limitados e hordas automáticas.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Cele mai multe stele
export.file = Exportă Fișier
import.file = Importă Fișier
copy.clipboard = Copiază în Clipboard
load.clipboard = Importă din Clipboard
import.clipboard = Importă din Clipboard
workshop.browse = Browse Workshop
workshop.share = Partajează pe Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = unități maxime
waves.guardian = Gardian
waves.preview = Previzualizare
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ă.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Resetează
settings.controls = Controale
settings.game = Joc
settings.sound = Sunet
settings.dev = Developer Options
settings.graphics = Grafică
settings.cleardata = Șterge Datele Jocului...
settings.clear.confirm = Sigur vrei să ștergi datele?\nCe e făcut nu poate fi desfăcut!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} millisecunde
setting.fullscreen.name = Ecran Complet
setting.fps.name = Vezi FPS & Ping
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Cameră Graduală
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Vezi Vremea
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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Schimbă Modul Chatului
keybind.drop_unit.name = Lasă Unitatea
keybind.zoom_minimap.name = Zoom Minihartă
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Descrierea modurilor
mode.survival.name = Supraviețuire
mode.survival.description = Modul normal. Resurse limitate și valuri automate.\n[gray]E nevoie de locuri de lansare a inamicilor pt a juca.
+127 -133
View File
@@ -19,7 +19,7 @@ clipboardcopy = Этот сервер хочет скопировать текс
linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
screenshot = Скриншот сохранён в {0}
screenshot.invalid = Карта слишком большая, возможно, не хватает памяти для скриншота.
screenshot.error = Не удалось сделать скриншот. Ваше устройство скорее всего не поддерживает настолько большие скриншоты.
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = Игра окончена
gameover.disconnect = Отключение
gameover.pvp = Команда [accent]{0}[] победила!
@@ -61,7 +61,7 @@ mods.browser.sortstars = Сортировка по количеству звёз
export.file = Экспортировать файл
import.file = Импортировать файл
copy.clipboard = Скопировать в буфер обмена
load.clipboard = Вставить из буфера обмена
import.clipboard = Вставить из буфера обмена
workshop.browse = Browse Workshop
workshop.share = Поделиться в Мастерской
@@ -121,7 +121,7 @@ position = Координаты
close = Закрыть
website = Веб-сайт
quit = Выход
save.quit = Сохранить и выйти
save.quit = Сохранить & Выйти
maps = Карты
maps.browse = Просмотр карт
continue = Продолжить
@@ -240,18 +240,18 @@ players.search = поиск
players.notfound = [gray]игроки не найдены
server.closing = [accent]Закрытие сервера...
server.kicked.kick = Вас выгнали с сервера!
server.kicked.whitelist = Вас нет в белом списке сервера.
server.kicked.whitelist = Вы не в белом списке сервера.
server.kicked.serverClose = Сервер закрыт.
server.kicked.vote = Вы были выгнаны с помощью голосования. Прощайте.
server.kicked.clientOutdated = Устаревший клиент! Обновите игру!
server.kicked.serverOutdated = Устаревший сервер! Попросите администратора сервера обновить сервер/игру!
server.kicked.banned = Вы заблокированы на этом сервере.
server.kicked.steamBanned = Хватит людям игры портить.
server.kicked.steamBanned = Хватит людям игри портить.
server.kicked.typeMismatch = Этот сервер не совместим с вашим типом сборки.
server.kicked.playerLimit = Этот сервер заполнен. Дождитесь свободного слота.
server.kicked.recentKick = Вас недавно выгнали.\nПодождите немного перед следующим подключением.
server.kicked.nameInUse = На этом сервере есть кто-то с этим именем.
server.kicked.nameEmpty = Выбранное вами имя недопустимо.
server.kicked.nameEmpty = Выбранное Вами имя недопустимо.
server.kicked.idInUse = Вы уже на этом сервере! Соединение с двумя учетными записями не разрешено.
server.kicked.customClient = Этот сервер не поддерживает пользовательские сборки. Загрузите официальную версию.
server.kicked.gameover = Игра окончена!
@@ -331,10 +331,10 @@ cantconnect = Не удаётся присоединиться к игре ([acc
connecting = [accent]Подключение...
reconnecting = [accent]Переподключение...
connecting.establish = [accent]Установка соединения...
receiving.world = [accent]Получение данных мира ({0})...
receiving.assets = [accent]Получение ресурсов ({0})...
receiving.assets.fail = Произошла ошибка при получении ресурсов мира.
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = Порт:
server.invalidport = Неверный номер порта!
@@ -352,10 +352,10 @@ save.export = Экспортировать сохранение
save.import.invalid = [accent]Это сохранение недействительно!
save.import.fail = [scarlet]Не удалось импортировать сохранение: [accent]{0}
save.export.fail = [scarlet]Не удалось экспортировать сохранение: [accent]{0}
save.export.needsload = [scarlet]⚠ Это сохранение имеет встроенные ресурсы.[]\nЗагрузите это сохранение перед экспортом.
save.assets.missing = Недостающие ресурсы
save.assets.missing.list = Список ресурсов...
save.assets.missing.info = [scarlet]⚠ В сохранении отсутствует часть ресурсов![]\n\n[lightgray]Это скорее всего произошло из-за некорректного экспорта.\n[lightgray]Если вы делитесь сохранениями, экспортируйте их только через внутриигровой интерфейс. Не копируйте файлы напрямую.\n[lightgray]Если перенос файлов обязателен, убедитесь, что папка [accent]assetCache[] тоже скопирована.
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = Импортировать сохранение
save.newslot = Имя сохранения:
save.rename = Переименовать
@@ -472,9 +472,9 @@ publish.confirm = Вы уверены, что хотите опубликова
publish.error = Ошибка отправки предмета: {0}
steam.error = Не удалось инициализировать сервисы Steam.\nОшибка: {0}
editor.showblocks = Показывать \nблоки
editor.showterrain = Показывать \nландшафт
editor.showfloor = Показывать \nпол
editor.showblocks = Показывать блоки
editor.showterrain = Показывать ландшафт
editor.showfloor = Показывать покрытия
editor.planet = Планета:
editor.sector = Сектор:
editor.seed = Сид:
@@ -486,9 +486,9 @@ editor.mapinfo = Информация о карте
editor.author = Автор:
editor.description = Описание:
editor.nodescription = Чтобы опубликовать карту, она должна содержать по крайней мере 4 символа в описании.
editor.waves = Волны
editor.rules = Правила
editor.generation = Генерация
editor.waves = Волны:
editor.rules = Правила:
editor.generation = Генерация:
editor.objectives = Цели
editor.locales = Наборы локалей
editor.worldprocessors = Мировые процессоры
@@ -512,78 +512,77 @@ editor.filters.description = Описанию
editor.filters.modname = Название модификации
editor.filters.prioritizemod = Приоритет модификации
editor.filters.prioritizecustom = Пользовательский приоритет
editor.filters.planetselect = Выбор планеты
editor.filters.planetselect = Planet Selection
editor.shiftx = Сдвиг по X
editor.shifty = Сдвиг по Y
asset.patch = Патчи
asset.content = Контент
asset.bundle = Переводы
asset.image = Изображения
asset.sound = Звуки
asset.music = Музыка
asset.patch = Patch
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = Боевая единица
content.item = Предмет
content.liquid = Жидкость
content.block = Блок
content.planet = Планета
content.weather = Погода
content.status = Статусный эффект
content.unit = Unit
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Weather
content.status = Status Effect
patch.set = Набор патчей: {0}
patches = Патчи контента
patch.set = Patchset: {0}
patch.none = [lightgray]Ни одного набора патчей не загружено.
patch.errors = Ошибки набора патчей
patch.importerror = Не удалось импортировать набор патчей
patch.delete.confirm = Вы уверены, что хотите удалить этот набор патчей?
patch.path = Путь файла:
patch.path = Path:
patch.fields = Параметров: {0}
bundle.lines = {0} строк
bundle.lines = {0} lines
images = Изображения
asset.title = Патчи контента и ресурсы
asset.guide = Руководство
asset.bundle.exists = Перевод с путём файла '{0}' уже существует.
asset.importzip = Импортировать архив с ресурсами
asset.exportzip = Экспортировать архив с ресурсами
asset.image.importzip = Импортировать архив с изображениями
asset.image.exportzip = Экспортировать архив с изображениями
asset.clearall = Очистить всё
asset.clearall.confirm = Вы точно хотите удалить [red]все[] ресурсы из этой карты?\nБудут удалены изображения, звуки, контент, и т.д.
asset.imports = Результаты импорта
asset.imported = [accent]Ресурсов импортировано: {0}.
asset.import.none = Нет подходящих файлов ресурсов в архиве.
asset.content.errors = Ошибки контента
asset.content.add = Добавить контент
asset.content.type = Тип:
asset.content.exists = [red]Контент с этим именем уже существует!
asset.content.badname = [red]Неверное имя! Большинство символов не разрешены.
asset.content.import.file = Импортировать файл
asset.content.import.clipboard = Импортировать из буфера обмена
asset.exists = Ресурс этого типа с таким путём/именем уже существует:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = Не удалось обнаружить файл ресурса.\nЭто скорее всего произошло из-за некорректного импорта данных или экспорта сохранения.
asset.audio.invalid = Аудио не удалось загрузить.\nУбедитесь, что это рабочий файл OGG или MP3.
asset.delete.confirm = Вы уверены, что хотите удалить этот ресурс?
asset.images = Изображения патчей контента
asset.image.imports = Результаты импорта
asset.image.imported = [accent]Изображений импортировано: {0}.
asset.image.none = Нет подходящих файлов PNG в архиве.
asset.image.error = [red]Обнаруженные ошибки:[]
asset.image.clearall.confirm = Вы уверены, что хотите удалить все изображения?
asset.image.info = Информация
asset.image.toolarge = Изображение ([lightgray]{0}x{1}[]) слишком большое. Максимальный размер - {2}x{3}.
asset.image.exists = Изображение с таким путём/именем уже существует:\n[lightgray]{0}
asset.image.delete.confirm = Вы уверены, что хотите удалить это изображение?
asset.image.name = [accent]Имя файла: [lightgray]{0}
asset.image.region.name = [accent]Имя региона: [lightgray]{0}
asset.image.path = [accent]Путь файла: [lightgray]{0}
asset.image.env = [accent]Использует атлас ландшафта: [lightgray]{0}
asset.image.size = [accent]Размер: [lightgray]{0}x{1}
asset.image.filesize = [accent]Размер файла: [lightgray]{0}
asset.image.packfailed = [red]⚠ Не удалось обработать спрайт![]
asset.image.packfailed.env = Это скорее всего произошло из-за нехватки места в атласе ландшафта.\nСпрайты ландшафта ограничены общей зоной 512x512.
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = Мастерская
waves.title = Волны
@@ -599,14 +598,16 @@ waves.spawn = точка появления:
waves.spawn.all = <везде>
waves.spawn.select = Выбрать точку появления
waves.spawn.none = [scarlet]не обнаружено точек появления на карте!
waves.spawn.first = [lightgray](первые {0})
waves.spawn.first = [lightgray](first {0})
waves.max = максимум единиц
waves.guardian = Страж
waves.preview = Предварительный просмотр
waves.random = Случайно
waves.copy = Копировать в буфер обмена
waves.load = Загрузить из буфера обмена
waves.invalid = Неверные волны в буфере обмена.
waves.copied = Волны скопированы.
waves.none = Враги не были определены.\nОбратите внимание, что пустые волны будут автоматически заменены обычным набором волн.
waves.none = Враги не были определены.\nОбратите внимание, что пустые волны будут автоматически заменены обычной волной.
waves.sort = Сортировать по
waves.sort.reverse = Обратная сортировка
waves.sort.begin = Начало
@@ -627,9 +628,9 @@ all = всего
editor.default = [lightgray]<По умолчанию>
details = Подробности...
edit = Редактировать...
edit.menu = Редактировать...
edit.menu = Edit...
variables = Переменные
logic.error.toolong = Код процессора слишком длинный (Лимит: {0} сжатых байтов, текущая длина: {1} байтов)
logic.error.toolong = Processor code too long (Limit: {0} compressed bytes, actual length: {1} bytes)
logic.clear.confirm = Вы уверены, что хотите удалить весь код из этого процессора?
logic.restart = Перезапустить
logic.globals = Встроенные переменные
@@ -699,14 +700,14 @@ toolmode.fillteams.description = Изменяет принадлежность\n
toolmode.fillerase = Стереть заливкой
toolmode.fillerase.description = Стирает все блоки\nодного типа.
toolmode.fillcliffs = Заполнить скалами
toolmode.fillcliffs.description = Заменяет выбранные\nстены скалами.
toolmode.fillcliffs.description = Заменяет выбранные стены скалами.
toolmode.drawteams = Изменить команду блока
toolmode.drawteams.description = Изменяет принадлежность\nблока к команде.
#unused
toolmode.underliquid = Под жидкостями
toolmode.underliquid.description = Рисует пол под плитками\nжидкости.
toolmode.fillunderliquid = Заливка под жидкостями
toolmode.fillunderliquid.description = Заполняет пол под плитками\nжидкости.
toolmode.underliquid.description = Рисует пол под плитками жидкости.
toolmode.fillunderliquid = Fill Under Liquids
toolmode.fillunderliquid.description = Fill floors under liquid tiles.
filters.empty = [lightgray]Нет фильтров! Добавьте один при помощи кнопки ниже.
@@ -770,8 +771,8 @@ locales.showsame = Показать свойства, которые имеют
locales.viewproperty = Смотреть во всех локалях
locales.viewing = Просмотр свойства "{0}"
locales.addicon = Добавить иконку
locales.property.name = имя
locales.property.text = текст
locales.property.name = name
locales.property.text = text
width = Ширина:
height = Высота:
@@ -783,8 +784,8 @@ save = Сохранить
fps = FPS: {0}
ping = Пинг: {0}мс
tps = TPS: {0}
memory = Память: {0}МБ
memory2 = Память:\n {0}МБ +\n {1}МБ
memory = Mem: {0}МБ
memory2 = Mem:\n {0}МБ +\n {1}МБ
language.restart = Перезагрузите игру, чтобы языковые настройки вступили в силу.
settings = Настройки
tutorial = Обучение
@@ -917,7 +918,7 @@ sectors.redirect = Перенаправить пусковые площадки
sectors.rename = Переименовать сектор
sectors.enemybase = [scarlet]Вражеская база
sectors.vulnerable = [scarlet]Уязвим
sectors.underattack = [scarlet]Атакован!
sectors.underattack = [scarlet]Атакован! [accent]{0}% повреждений
sectors.go = Перейти
sector.abandon = Покинуть
sector.abandon.confirm = Все ядра данного сектора будут самоуничтожены.\nПродолжить?
@@ -934,7 +935,7 @@ sector.noswitch.title = Перемещение между секторами
sector.noswitch = Вы не можете переключаться между секторами, пока существующий сектор находится под атакой.\n\nСектор: [accent]{0}[] на [accent]{1}[]
sector.view = Просмотр сектора
sector.foundationrequired = [lightgray] Требуется Ядро: «Штаб»
sector.shielded = [lightgray] Защищён
sector.shielded = [lightgray] Shielded
threat.low = Низкая
threat.medium = Средняя
@@ -944,7 +945,7 @@ threat.eradication = Истребляющая
difficulty.guide.title = Примечание
difficulty.guide = Если сектор слишком тяжелый, сложность кампании может быть изменена для упрощения.
difficulty.guide.confirm = Отрегулировать сложность
difficulty.guide.confirm = Отрегулируйте сложность
difficulty.casual = Казуальная
difficulty.easy = Лёгкая
@@ -993,10 +994,11 @@ sector.mycelialBastion.name = Мицелиальный бастион
sector.frontier.name = Граница
sector.sunkenPier.name = Затонувший пирс
sector.littoralShipyard.name = Прибрежная верфь
sector.cruxscape.name = Оплот Агрессоров
sector.geothermalStronghold.name = Геотермальная крепость
sector.groundZero.description = Оптимальная локация чтобы начать сначала. Низкая вражеская угроза. Немного ресурсов.\nСоберите как можно больше свинца и меди.\nДвигайтесь дальше.
sector.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Низкие температуры не могут сдерживать их вечно.\n\nНачните вкладываться в энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором.
sector.frozenForest.description = Даже здесь, ближе к горам, споры распространились. Холодные температуры не могут сдерживать их вечно.\n\nНачните вкладываться в энергию. Постройте генераторы внутреннего сгорания. Научитесь пользоваться регенератором.
sector.saltFlats.description = На окраине пустыни лежат соляные равнины. В этой местности можно найти немного ресурсов.\n\nВраги возвели здесь комплекс хранения ресурсов. Искорените их ядро. Не оставьте камня на камне.
sector.crateredBattleground.description = В этом кратере, оставшемся со времён старых войн, скопилась вода.\nВерните эту территорию под контроль. Собирайте песок. Выплавляйте метастекло.\nКачайте воду для охлаждения турелей и буров.
sector.ruinousShores.description = Мимо пустошей проходит береговая линия. Когда-то здесь располагался массив береговой обороны. Не так много от него осталось. Только самые базовые оборонительные сооружения остались невредимыми, всё остальное превратилось в металлолом.\nПродолжайте экспансию вовне. Переоткройте для себя технологии.
@@ -1090,7 +1092,6 @@ settings.resetKey = Сбросить
settings.controls = Управление
settings.game = Игра
settings.sound = Звук
settings.dev = Настройки разработчика
settings.graphics = Графика
settings.cleardata = Очистить игровые данные...
settings.clear.confirm = Вы действительно хотите очистить свои данные?\nЭто нельзя отменить!
@@ -1101,12 +1102,12 @@ settings.clearresearch = Сбросить исследования
settings.clearresearch.confirm = Вы уверены, что хотите сбросить все ваши исследования кампании?
settings.clearcampaignsaves = Очистить сохранения кампании
settings.clearcampaignsaves.confirm = Вы уверены, что хотите очистить все ваши сохранения кампании?
settings.clearplanetdata = Очистить данные планеты
settings.planetselect = Планета: {0}
settings.clearplanetresearch = Сбросить исследования планеты
settings.clearplanetresearch.confirm = Вы уверены, что хотите сбросить все ваши исследования {0}?
settings.clearplanetcampaignsaves = Очистить сохранения планеты
settings.clearplanetcampaignsaves.confirm = Вы уверены, что хотите очистить сохранения планеты {0}?
settings.clearplanetdata = Clear Planet Data
settings.planetselect = Planet: {0}
settings.clearplanetresearch = Clear Planet Research
settings.clearplanetresearch.confirm = Are you sure you want to clear {0}'s research?
settings.clearplanetcampaignsaves = Clear Planet Campaign Saves
settings.clearplanetcampaignsaves.confirm = Are you sure you want to clear {0}'s campaign saves?
paused = [accent]< Пауза >
clear = Очистить
@@ -1137,10 +1138,10 @@ stat.damage = Урон
stat.frequency = Частота
stat.targetsair = Воздушные цели
stat.targetsground = Наземные цели
stat.crushdamage = Урон от давки гусеницами
stat.crushdamage = Урон от падения
stat.legsplashdamage = Урон по области от ног
stat.itemsmoved = Скорость перемещения
stat.itemsmoved.info = Пропускная способность часто нелинейна и зависит от FPS/TPS.
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = Интервал запусков
stat.shootrange = Радиус действия
stat.size = Размер
@@ -1163,8 +1164,8 @@ stat.weapons = Орудия
stat.bullet = Снаряд
stat.moduletier = Уровень модуля
stat.unittype = Боевая единица
stat.receiverate = Скорость получения
stat.receiverate.info = Может быть увеличена сверхприводными проекторами. Пропускная способность может быть увеличена дополнительными выходами.
stat.receiverate = Receiving Rate
stat.receiverate.info = Affected by overdrive. Throughput can be increased by placing additional unloaders.
stat.speedincrease = Увеличение скорости
stat.range = Радиус действия
stat.drilltier = Бурит
@@ -1222,7 +1223,7 @@ ability.repairfield = Ремонтирующее поле
ability.repairfield.description = Ремонтирует близлежащие единицы
ability.statusfield = Усиливающее поле
ability.statusfield.description = Накладывает эффект на ближайшие единицы
ability.unitspawn = Завод единиц
ability.unitspawn = Завод единиц �
ability.unitspawn.description = Конструирует единицы
ability.shieldregenfield = Поле восстановления щита
ability.shieldregenfield.description = Восстанавливает щиты ближайших единиц
@@ -1295,7 +1296,7 @@ bar.launchcooldown = Лимит высадки
bar.input = Ввод
bar.output = Вывод
bar.strength = [stat]{0}[lightgray]x эффективность
bar.regenerationrate = [stat]{0}/сек[lightgray] скорость регенерации
bar.regenerationrate = [stat]{0}/sec[lightgray] скорость регенерации
bar.activationtimer = Активируется через {0}
bar.activated = Активировано
@@ -1311,9 +1312,9 @@ bullet.armorpierce = [stat]бронебойный
bullet.armorweakness = [red]{0}x[lightgray] слабость к броне
bullet.partialarmorpierce = [stat]{0}%[lightgray] пробитие брони
bullet.antiarmor = [stat]{0}x[lightgray] анти-броня
bullet.blockarmorweakness = [red]{0}x[lightgray] слабость к броне блоков
bullet.blockpartialarmorpierce = [stat]{0}%[lightgray] пробитие брони блоков
bullet.blockantiarmor = [stat]{0}x[lightgray] анти-броня блоков
bullet.blockarmorweakness = [red]{0}x[lightgray] building armor weakness
bullet.blockpartialarmorpierce = [stat]{0}%[lightgray] building armor pierce
bullet.blockantiarmor = [stat]{0}x[lightgray] building anti-armor
bullet.maxdamagefraction = [stat]{0}%[lightgray] предел урона
bullet.suppression = [stat]{0} сек[lightgray] подавления регенерации в радиусе ~ [stat]{1}[lightgray] блоков
bullet.empradius = [stat]{0}[lightgray] плиток радиус подавления
@@ -1403,7 +1404,7 @@ setting.fpscap.text = {0} FPS
setting.uiscale.name = Масштаб пользовательского интерфейса
setting.uiscale.description = Для вступления изменений в силу может потребоваться перезагрузка игры.
setting.uiEdgePadding.name = Отступ от краев интерфейса
setting.uiEdgePadding.description = Добавляет отступы к краям пользовательского интерфейса. \nПолезно для дисплеев с закругленными углами или выемками.
setting.uiEdgePadding.description = Добавляет отступы к краям пользовательского интерфейса. Полезно для дисплеев с закругленными углами или выемками.
setting.swapdiagonal.name = Всегда диагональное размещение
setting.screenshake.name = Тряска экрана
setting.bloomintensity.name = Интенсивность свечения
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} миллисекунд
setting.fullscreen.name = Полноэкранный режим
setting.fps.name = Показывать FPS и пинг
setting.console.name = Включить консоль
setting.drawhitboxes.name = Отображать хитбоксы
setting.showperformance.name = Отображать метрики производительности
setting.buildingtimestep.name = Фиксированное обновление построек
setting.buildingtimestep.description = Обновляет постройки с фиксированным промежутком и постоянной дельтой, вместо обновления каждый кадр и переменной дельтой.\nЕсли постройки не могут быть обновлены достаточно быстро, игра замедлится.\nЕсли вы не знаете, что это значит, не трогайте эту настройку.
setting.smoothcamera.name = Плавная камера
setting.detach-camera.name = Свободная камера
setting.detach-camera.description = При включении, вместо единицы можно будет двигать камеру.\nМожно быстро переключать через горячую клавишу.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Отображать погоду
setting.hidedisplays.name = Скрыть логические дисплеи
setting.macnotch.name = Адаптировать интерфейс к вырезу на экране
setting.macnotch.description = Для вступления изменений в силу требуется перезагрузка игры
steam.friendsonly = Только друзья
steam.friendsonly.tooltip = Только ли друзья из Steam могут присоединяться к вашей игре.\nУбрав эту галочку, вы сделаете вашу игру публичной - присоединиться сможет любой желающий.
setting.maxmagnificationmultiplierpercent.name = Минимальная дистанция камеры
@@ -1460,13 +1456,13 @@ setting.minmagnificationmultiplierpercent.name = Максимальная дис
setting.minmagnificationmultiplierpercent.description = Высокие значения могут повлиять на производительность.
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.command.name = Командование единицой
category.multiplayer.name = Сетевая игра
category.blocks.name = Выбор блока
placement.blockselectkeys = \n[lightgray]Клавиша: [{0},
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Изменить режим чата
keybind.drop_unit.name = Сбросить боев. ед.
keybind.zoom_minimap.name = Масштабировать мини-карту
keybind.detach_camera.name = Переключение свободной камеры
keybind.teleport_cursor.name = Телепорт к курсору (Песочница)
keybind.debug_hitboxes.name = Переключение отладочных хитбоксов
keybind.performance_metrics.name = Переключение метрик производительности
mode.help.title = Описание режимов
mode.survival.name = Выживание
mode.survival.description = Обычный режим. Необходимо добывать ресурсы, а волны наступают автоматически.\n[gray]Требуются точки появления врагов на карте для игры.
@@ -1624,8 +1618,8 @@ rules.checkplacement.info = При отключении, постройки эт
rules.enemyCheat = Бесконечные ресурсы у ИИ
rules.blockhealthmultiplier = Множитель прочности блоков
rules.blockdamagemultiplier = Множитель урона блоков
rules.unitfactoryactivation = Задержка активации производства боевых единиц
rules.unitfactoryactivation.objective = До активации производства боевых единиц: {0}
rules.unitfactoryactivation = Unit Factory Activation Delay
rules.unitfactoryactivation.objective = Unit Factories Activating: {0}
rules.unitbuildspeedmultiplier = Множитель скорости производства боев. ед.
rules.unitcostmultiplier = Множитель стоимости боев. ед.
rules.unithealthmultiplier = Множитель прочности боев. ед.
@@ -1654,7 +1648,7 @@ rules.unitammo = Боев. ед. требуют боеприпасы
rules.enemyteam = Команда Врагов
rules.playerteam = Команда Игрока
rules.title.waves = Волны
rules.title.resourcesbuilding = Ресурсы и строительство
rules.title.resourcesbuilding = Ресурсы & строительство
rules.title.enemy = Враги
rules.title.unit = Боевые единицы
rules.title.experimental = Экспериментально
@@ -1667,7 +1661,7 @@ rules.invasions = Вторжения врагов на сектора
rules.legacylaunchpads = Старые пусковые площадки
rules.legacylaunchpads.info = Позволяет использовать старые пусковые площадки из версии 7.0.
landingpad.legacy.disabled = [scarlet]\ue815 Выключено[lightgray] ("Старые пусковые площадки" включены)
rules.hidespawns = Скрыть точки появления врагов
rules.hidespawns = Hide Enemy Spawns
rules.randomwaveai = Непредсказуемый ИИ волн
rules.pauseDisabled = Отключить паузы
rules.fire = Огонь
@@ -2191,9 +2185,9 @@ block.disperse.name = Диапазон
block.afflict.name = Бедствие
block.lustre.name = Сияние
block.scathe.name = Погибель
block.scathe.carbide.info = Летит быстрее.\nСредний урон на любой дистанции.
block.scathe.surge-alloy.info = Разделяется на мини-ракеты.\nБольшой урон на близкой дистанции.
block.scathe.phase-fabric.info = Оснащён щитом.\nНизкий урон, наибольшая дистанция.
block.scathe.carbide.info = Travels significantly faster.\nModerate damage at any range.
block.scathe.surge-alloy.info = Splits into micro missiles.\nHeavy damage at close distance.
block.scathe.phase-fabric.info = Equipped with a force field.\nLow damage, largest radius.
block.tank-refabricator.name = Рефабрикатор танков
block.mech-refabricator.name = Рефабрикатор мехов
block.ship-refabricator.name = Рефабрикатор кораблей
@@ -2312,7 +2306,7 @@ ff.arc = Турели :arc: [accent]«Дуга»[] требуют энергии
fungalpass.tutorial1 = Используйте [accent]единицы[] для защиты построек и атаки на врага.\nИсследуйте и разместите :ground-factory: [accent]Наземную фабрику[].
fungalpass.tutorial2 = Выберите единицу :dagger: [accent]«Кинжал»[] на фабрике.\nПроизведите 3 единицы.
frontier.tutorial1 = :additive-reconstructor: [accent]Добавляющий реконструктор[]\nулучшает единицы 1-го уровня до 2-го\nс использованием :silicon: кремния и :graphite: графита.\n\n[accent]Реконструируйте []:dagger:[accent] Кинжал \nв []:mace:[accent] Булаву.
frontier.tutorial1 = :additive-reconstructor: [accent]Добавляющий реконструктор[]\nулучшает единицы 1-го уровня до 2-го\nс использованием :silicon: кремния и :graphite: графита.\n\n[accent]Исследуйте и реконструируйте\n[]:dagger:[accent] Кинжал в []:mace:[accent] Булаву.
frontier.tutorial2 = Волны врагов приходят [accent]бесконечно[] до тех пор, пока все вражеские ядра не будут [unlaunched]уничтожены[].
frontier.tutorial3 = [accent]Атакуйте базу врага быстро, чтобы предотвратить усиление волн[].
@@ -2740,7 +2734,7 @@ lst.radar = Обнаруживает единицы вокруг построй
lst.sensor = Получает данные из постройки или единицы.
lst.set = Задаёт значение переменной.
lst.operation = Совершает операцию над 1-2 переменными.
lst.select = Условно устанавливает значение переменной.
lst.select = Conditionally set a variable to one of two values.
lst.end = Переходит к началу стека операций.
lst.wait = Ждёт определённое количество секунд.
lst.stop = Останавливает работу данного процессора.
@@ -2753,7 +2747,7 @@ lst.unitlocate = Обнаруживает позицию/постройку оп
lst.getblock = Получает данные о плитке в любом месте.
lst.setblock = Устанавливает плитку в любом месте.
lst.spawnunit = Создает боевую единицу на локации.
lst.spawnbullet = Создаёт пулю на локации.
lst.spawnbullet = Spawns a bullet at a location.
lst.applystatus = Применяет или снимает эффект статуса с боевой единицы.
lst.weathersense = Проверяет состояние погоды.
lst.weatherset = Устанавливает погоду.
@@ -2776,7 +2770,7 @@ lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent
lst.makemarker = Создать новый логический маркер.\nНужно указать ID маркера.\nМаксимум 20000 маркеров.
lst.setmarker = Установить значение маркера.\nID маркера должен соответствовать указанному в строке создания маркера.
lst.localeprint = Добавляет данные локалей в текстовый буфер.\nЧтобы добавить локали, зайдите в [accent]Информация о карте > Наборы локалей[].\nЕсли клиент на мобильном устройсте, сначала попытается найти строку с окончанием ".mobile".
lst.query = Проверяет единицы/постройки в области.\nРезультаты попадают в [accent]@queries[].\nРезультаты из [accent]@queries[] можно прочитать с помощью инструкции [accent]Read[] и индекса.\nДлина [accent]@queries[] может быть прочитана с использованием [accent]@size[] как параметра.
lst.query = Queries units/buildings in a specified area.\nResults are outputted into [accent]@queries[].\nResults can be read from [accent]@queries[] using the [accent]Read[] instruction and an index.\nLength of [accent]@queries[] can be sensed using [accent]@size[] as a parameter.
lglobal.false = 0
lglobal.true = 1
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sortiraj po broju "zvezdica"
export.file = Izvezi dokument
import.file = Uvezi dokument
copy.clipboard = Iskopiraj u privremenu memoriju
load.clipboard = Uvezi is privremene memoriju
import.clipboard = Uvezi is privremene memoriju
workshop.browse = Browse Workshop
workshop.share = Podeli na radionici
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = maksimalno jedinica
waves.guardian = Čuvar
waves.preview = Prikaz
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Resetuj
settings.controls = Kontrole
settings.game = Igra
settings.sound = Zvuk
settings.dev = Developer Options
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!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisekundi
setting.fullscreen.name = Ceo Ekran
setting.fps.name = Prikazuj FPS i Ping
setting.console.name = Osposobi Konzolu
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Glatka Kamera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Menjaj Tip Četa
keybind.drop_unit.name = Spusti Jedinicu
keybind.zoom_minimap.name = Zumiraj Minimapu
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
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.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sortera efter stjärnor
export.file = Exportera Fil
import.file = Importera Fil
copy.clipboard = Kopiera till urklipp
load.clipboard = Importera från urklipp
import.clipboard = Importera från urklipp
workshop.browse = Browse Workshop
workshop.share = Dela på Workshoppen
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Förhandsvisning
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Reset
settings.controls = Kontroller
settings.game = Spel
settings.sound = Ljud
settings.dev = Developer Options
settings.graphics = Grafik
settings.cleardata = Rensa Data...
settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Fullskärm
setting.fps.name = Show FPS
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Drop Unit
keybind.zoom_minimap.name = Zoom minimap
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Description of modes
mode.survival.name = Överlevnad
mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play.
+94 -100
View File
@@ -19,7 +19,7 @@ clipboardcopy = เซิร์ฟเวอร์นี้ต้องการ
linkfail = ไม่สามารถเปิดลิ้งค์ได้\nได้ทำการคัดลอก URL ลงในคลิปบอร์ดแล้ว
screenshot = ภาพหน้าจอได้ถูกบันทึกไปที่ {0}
screenshot.invalid = แมพใหญ่เกินไป หน่วยความจำอาจจะไม่พอสำหรับภาพหน้าจอ
screenshot.error = ไม่สามารถถ่ายภาพหน้าจอได้ เครื่องของคุณอาจไม่รองรับภาพหน้าจอที่มีขนาดใหญ่เช่นนี้
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = จบเกม
gameover.disconnect = ออก
gameover.pvp = ทีมที่ชนะคือทีม [accent]{0}[]!
@@ -61,8 +61,8 @@ mods.browser.sortstars = เรียงตามคะแนนดาว
export.file = ส่งออกไฟล์
import.file = นำเข้าไฟล์
copy.clipboard = คัดลอกไปที่คลิปบอร์ด
load.clipboard = นำเข้าจากคลิปบอร์ด
workshop.browse = ค้นหาในเวิร์กช็อป
import.clipboard = นำเข้าจากคลิปบอร์ด
workshop.browse = Browse Workshop
workshop.share = แชร์บนเวิร์กช็อป
schematic = แผนผัง
@@ -179,7 +179,7 @@ mod.incompletedependencies.details = ม็อดนี้ไม่สามา
mod.requiresversion = ต้องการเวอร์ชั่นเกม: [red]{0}
mod.errors = มีข้อผิดพลาดเกิดขึ้นระหว่างโหลดเนื้อหา
mod.errors.map = [scarlet]มีข้อผิดพลาดเกิดขึ้นระหว่างโหลดเนื้อหาของแมพ เนื้อหาปรับแต่งทั้งหมดได้ถูกปิดใช้งาน[]\nแมพนี้อาจไม่สามารถทำงานได้อย่างถูกต้อง
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
mod.noerrorplay = [scarlet]คุณมีม็อดที่มีข้อผิดพลาด[] กรุณาปิดม็อดนั้นๆ หรือแก้ไขข้อผิดพลาดก่อนที่จะเล่น
mod.enable = เปิดใช้งาน
mod.requiresrestart = เกมจะปิดตัวลงเพื่อติดตั้งม็อด
@@ -331,10 +331,10 @@ cantconnect = ไม่สามารถเข้าร่วมเซิร์
connecting = [accent]กำลังเชื่อมต่อ...
reconnecting = [accent]กำลังเชื่อมต่อใหม่...
connecting.establish = [accent]กำลังเชื่อมต่อ...
receiving.world = [accent]กำลังรับข้อมูลของโลก ({0})...
receiving.assets = [accent]กำลังรับแอสเสท ({0})...
receiving.assets.fail = เกิดข้อผิดพลาดทาง I/O ขึ้นขณะรับแอสเสท
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = พอร์ต:
server.invalidport = เลขพอร์ตไม่ถูกต้อง!
@@ -352,10 +352,10 @@ save.export = ส่งออกเซฟ
save.import.invalid = [accent]เซฟนี้ไม่ถูกต้อง!
save.import.fail = [crimson]ไม่สามารถนำเข้าเซฟ: [accent]{0}
save.export.fail = [crimson]ไม่สามารถส่งออกเซฟ: [accent]{0}
save.export.needsload = [scarlet]⚠ เซฟนี้มีแอสเสทเนื้อหาแนบมาด้วย[]\nโปรดโหลดเซฟนี้ขึ้นมาก่อนที่จะส่งออก
save.assets.missing = แอสเซทขาดหาย
save.assets.missing.list = รายชื่อแอสเซท...
save.assets.missing.info = [scarlet]⚠ เซฟนี้มีแอสเซทเนื้อหาที่ขาดหาย![]\n\n[lightgray]อาจเกิดจากไฟล์เซฟไม่ได้ถูกส่งออกอย่างถูกต้อง\n[lightgray]เวลาจะแชร์เซฟ ควรที่จะส่งออกผ่าน UI ภายในเกมเท่านั้น ห้ามคัดลอกไฟล์เซฟโดยตรง\n[lightgray]หากจำเป็นต้องถ่ายโอนไฟล์ ควรตรวจสอบให้แน่ใจว่าโฟลเดอร์ [accent]assetCache[] นั้นถูกคัดลอกมาด้วย
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = นำเข้าเซฟ
save.newslot = ชื่อเซฟ:
save.rename = เปลี่ยนชื่อ
@@ -380,7 +380,7 @@ confirm = ตกลง
delete = ลบ
view.workshop = เปิดในเวิร์กช็อป
workshop.listing = แก้ไขหน้ารายการเวิร์กช็อป
hide = ซ่อน
hide = Hide
ok = โอเค
open = เปิด
customize = ตั้งค่ากฎ
@@ -516,74 +516,73 @@ editor.filters.planetselect = เลือกดาวเคราะห์
editor.shiftx = เลื่อน X
editor.shifty = เลื่อน Y
asset.patch = แพตช์
asset.content = เนื้อหา
asset.bundle = ชุดแปลภาษา
asset.image = รูปภาพ
asset.sound = เสียง
asset.music = เพลง
asset.patch = Patch
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = ยูนิต
content.item = ไอเท็ม
content.liquid = ของเหลว
content.block = บล็อก
content.planet = ดาว
content.weather = สภาพอากาศ
content.status = เอฟเฟกต์สถานะ
content.unit = Unit
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Weather
content.status = Status Effect
patch.set = ชุดแพตช์: {0}
patches = แพตช์เนื้อหา
patch.set = Patchset: {0}
patch.none = [lightgray]ไม่มีชุดแพตช์ที่โหลดมา
patch.errors = ข้อผิดพลาดชุดแพตช์
patch.importerror = เกิดข้อผิดพลาดในการนำเข้าชุดแพตช์
patch.delete.confirm = คุณแน่ใจหรือว่าจะลบชุดแพตช์นี้?
patch.path = เส้นทาง:
patch.path = Path:
patch.fields = {0} ฟิลด์
bundle.lines = {0} บรรทัด
bundle.lines = {0} lines
images = รูปภาพ
asset.title = แพตช์เนื้อหา & แอสเซท
asset.guide = คู่มือการใช้งาน
asset.bundle.exists = มีชุดภาษาที่ใช้เส้นทาง '{0}' อยู่แล้ว
asset.importzip = นำเข้าแอสเซท Zip
asset.exportzip = ส่งออกแอสเซท Zip
asset.image.importzip = นำเข้า Zip
asset.image.exportzip = ส่งออก Zip
asset.clearall = เคลียร์ทั้งหมด
asset.clearall.confirm = คุณแน่ใจหรือว่าจะเคลียร์แอสเซท[red]ทุกอัน[]บนแมพนี้?\nซึ่งรวมไปถึง รูปภาพ เสียง ชุดเนื้อหา ฯลฯ
asset.imports = ผลลัพธ์การนำเข้า
asset.imported = [accent]นำเข้าแล้ว {0} แอสเซท
asset.import.none = ไม่พบไฟล์แอสเซทที่ถูกต้องในไฟล์ Zip
asset.content.errors = ข้อผิดพลาดชุดเนื้อหา
asset.content.add = เพิ่มเนื้อหา
asset.content.type = ชนิด:
asset.content.exists = [red]มีเนื้อหาที่ใช้ชื่อนี้อยู่แล้ว!
asset.content.badname = [red]ไม่สามารถใช้ชื่อนี้ได้! สัญลักษณ์ส่วนใหญ่ไม่สามารถใช้ได้
asset.content.import.file = นำเข้าไฟล์
asset.content.import.clipboard = นำเข้าจากคลิปบอร์ด
asset.exists = มีแอสเซทชนิดเดียวกันที่ใช้เส้นทาง/ชื่อนี้อยู่แล้ว:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = ไม่อาจพบไฟล์แอสเซทนี้ได้\nอาจเกิดจากการนำเข้าข้อมูลที่ผิดพลาด หรือการส่งออกไฟล์เซฟที่ไม่ถูกต้อง
asset.audio.invalid = ไม่สามารถโหลดไฟล์เสียงได้\nโปรดตรวจสอบให้แน่ใจว่าเป็นไฟล์ประเภท OGG หรือ MP3 ที่ถูกต้อง
asset.delete.confirm = คุณแน่ใจหรือว่าจะลบแอสเซทนี้?
asset.images = แพตช์ข้อมูลรูป
asset.image.imports = ผลลัพธ์การนำเข้า
asset.image.imported = [accent]นำเข้าแล้ว {0} รูปภาพ
asset.image.none = ไม่พบไฟล์ PNG ที่ถูกต้องในไฟล์ Zip
asset.image.error = [red]พบข้อผิดพลาดดังต่อไปนี้:[]
asset.image.clearall.confirm = คุณแน่ใจหรือว่าจะเคลียร์รูปภาพทั้งหมด?
asset.image.info = ข้อมูลรูปภาพ
asset.image.toolarge = รูปภาพ ([lightgray]{0}x{1}[]) มีขนาดใหญ่เกินไป ขนาดสูงสุดที่รองรับคือ {2}x{3}
asset.image.exists = มีรูปภาพที่ใช้เส้นทาง/ชื่อนี้อยู่แล้ว:\n[lightgray]{0}
asset.image.delete.confirm = คุณแน่ใจหรือว่าจะลบรูปภาพนี้?
asset.image.name = [accent]ชื่อไฟล์: [lightgray]{0}
asset.image.region.name = [accent]ชื่อภูมิภาค: [lightgray]{0}
asset.image.path = [accent]เส้นทาง: [lightgray]{0}
asset.image.env = [accent]ใช้แอตลาสสิ่งแวดล้อม: [lightgray]{0}
asset.image.size = [accent]ขนาด: [lightgray]{0}x{1}
asset.image.filesize = [accent]ขนาดไฟล์: [lightgray]{0}
asset.image.packfailed = [red]⚠ ไม่สามารถแพ็คสไปรท์ได้![]
asset.image.packfailed.env = ปัญหานี้อาจเกิดจากพื้นที่ในแอตลาสสิ่งแวดล้อมไม่พอ\nโปรดทราบว่าแอตลาสสิ่งแวดล้อมมีพื้นที่จำกัดที่ 512x512
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = เวิร์กช็อป
waves.title = คลื่น
@@ -604,6 +603,8 @@ waves.max = ยูนิตสูงสุด
waves.guardian = ผู้พิทักษ์
waves.preview = พรีวิว
waves.random = สุ่ม
waves.copy = คัดลอกไปยังคลิปบอร์ด
waves.load = โหลดจากคลิปบอร์ด
waves.invalid = แบบคลื่นในคลิปบอร์ดไม่ถูกต้อง
waves.copied = คัดลอกแบบคลื่นแล้ว
waves.none = ไม่ได้กำหนดคลื่นศัตรู\nแบบคลื่นเปล่าจะถูกแทนที่โดยแบบคลื่นค่าเริ่มต้นของเกม
@@ -626,8 +627,8 @@ wavemode.health = พลังชีวิต
all = ทั้งหมด
editor.default = [lightgray]<ค่าเริ่มต้น>
details = รายละเอียด...
edit = แก้ไข
edit.menu = แก้ไข...
edit = แก้ไข...
edit.menu = Edit...
variables = ตัวแปร
logic.error.toolong = โค้ดตัวประมวลผลยาวเกินไป (ความยาวจำกัด: {0} ไบต์บีบอัด ความยาวจริง: {1} ไบต์)
logic.clear.confirm = คุณแน่ใจหรือว่าจะเคลียร์โค้ดทั้งหมดของตัวประมวลผลนี้?
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = ปราการไมซีเลียล
sector.frontier.name = เขตชายแดน
sector.sunkenPier.name = ท่าเรือบาดาล
sector.littoralShipyard.name = อู่เรือชายฝั่ง
sector.cruxscape.name = ครักซ์สเคป
sector.geothermalStronghold.name = ปราการแห่งอัคคี
sector.groundZero.description = จุดที่ดีที่สุดในการตั้งต้นใหม่อีกครั้งนึง ศัตรูน้อย ทรัพยากรน้อย\n\nเก็บตะกั่วและทองแดงให้ได้มากที่สุด\nแล้วลุยต่อ
@@ -1028,7 +1030,7 @@ sector.littoralShipyard.description = ณ สุดขอบไกลโพ้
sector.onset.name = การเริ่มต้น
sector.aegis.name = อีจีส
sector.lake.name = ทะเลสาบสีชาด
sector.intersect.name = อินเตอร์เซก
sector.intersect.name = อินเตอร์เซค
sector.atlas.name = แอตลาส
sector.split.name = สองฝั่ง
sector.basin.name = แอ่งยุบ
@@ -1068,7 +1070,7 @@ status.muddy.name = เปื้อนเปรอะ
status.melting.name = หลอมเหลว
status.sapped.name = อ่อนกำลัง
status.electrified.name = ช็อตไฟฟ้า
status.spore-slowed.name = เฉื่อยสปอร์
status.spore-slowed.name = สปอร์สโลว์
status.tarred.name = เปื้อนน้ำมัน
status.overdrive.name = โอเวอร์ไดรฟ์
status.overclock.name = โอเวอร์คล็อก
@@ -1090,7 +1092,6 @@ settings.resetKey = รีเซ็ต
settings.controls = การควบคุม
settings.game = เกม
settings.sound = เสียง
settings.dev = การตั้งค่าผู้พัฒนา
settings.graphics = กราฟิก
settings.cleardata = เคลียร์ข้อมูลเกม...
settings.clear.confirm = คุณแน่ใจหรือว่าจะเคลียร์ข้อมูลนี้?\nสิ่งที่ทำไปแล้วจะไม่สามารถย้อนกลับได้นะ!
@@ -1140,7 +1141,7 @@ stat.targetsground = ยิงพื้นดิน
stat.crushdamage = ดาเมจบดขยี้
stat.legsplashdamage = ดาเมจกระจายจากขา
stat.itemsmoved = ความเร็วการเคลื่อนย้าย
stat.itemsmoved.info = ความเร็วการเคลื่อนย้ายโดยทั่วไปจะไม่คงที่และจะขึ้นอยู่กับ FPS/TPS
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = เวลาระหว่างการส่ง
stat.shootrange = ระยะยิง
stat.size = ขนาด
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} มิลลิวินาที
setting.fullscreen.name = เต็มจอ
setting.fps.name = แสดง FPS และ Ping
setting.console.name = เปิดใช้งานคอนโซล
setting.drawhitboxes.name = แสดงฮิตบ็อกซ์
setting.showperformance.name = แสดงตัวชี้วัดประสิทธิภาพ
setting.buildingtimestep.name = ช่วงเวลาคำนวณสิ่งก่อสร้างแบบคงที่
setting.buildingtimestep.description = ประมวลผลสิ่งก่อสร้างโดยใช้ช่วงเวลาคำนวณ (timestep) แบบคงที่ ที่มีค่า delta ที่คงที่\nแทนที่จะประมวลผลทุกเฟรมด้วยค่า delta ที่แปรผัน\nถ้าหากว่าสิ่งก่อสร้างไม่สามารถอัปเดตได้เร็วพอ เกมจะทำงานช้าลง\nถ้าคุณไม่รู้ว่าทั้งหมดนี่คืออะไร อย่าแตะการตั้งค่านี้เลย
setting.smoothcamera.name = กล้องแบบลื่นไหล
setting.detach-camera.name = กล้องอิสระ
setting.detach-camera.description = หากเปิดใช้งาน กล้องจะขยับแบบอิสระโดยไม่ตามยูนิตผู้เล่น\nการตั้งค่านี้สามารถตั้งปุ่มลัดได้
@@ -1452,7 +1449,6 @@ setting.showweather.name = แสดงกราฟิกสภาพอาก
setting.hidedisplays.name = ซ่อนหน้าจอลอจิก
setting.macnotch.name = ปรับอินเตอร์เฟซให้เข้ากับติ่งหน้าจอ
setting.macnotch.description = อาจจะต้องรีสตาร์ทเพื่อใช้งานการเปลี่ยนแปลง
steam.friendsonly = เพื่อนเท่านั้น
steam.friendsonly.tooltip = ว่าจะให้แค่เพื่อนเท่านั้นหรือไม่ที่จะสามารถเข้าร่วมเกมของคุณได้\nหากคุณติ๊กช่องนี้ออกนั้นจะทำให้เกมของคุณเปิดเป็นสาธารณะ - ใครๆก็จะสามารถเข้าร่วมเกมของคุณได้
setting.maxmagnificationmultiplierpercent.name = ระยะห่างกล้องต่ำสุด
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = เปลี่ยนโหมดแชท
keybind.drop_unit.name = วางยูนิต
keybind.zoom_minimap.name = ซูมมินิแมพ
keybind.detach_camera.name = เปิด/ปิด กล้องอิสระ
keybind.teleport_cursor.name = วาร์ปไปยังตำแหน่งเคอร์เซอร์ (โหมดอิสระ)
keybind.debug_hitboxes.name = เปิด/ปิด ดีบักช่องฮิตบ็อกซ์
keybind.performance_metrics.name = เปิด/ปิด ตัวชี้วัดประสิทธิภาพ
mode.help.title = คำอธิบายโหมด
mode.survival.name = เอาชีวิตรอด
mode.survival.description = โหมดปกติ ทรัพยากรมีจำกัดและคลื่นมาโดยอัตโนมัติ\n[gray]ต้องมีจุดเกิดของศัตรูเพื่อที่จะเล่น
@@ -1625,7 +1619,7 @@ rules.enemyCheat = ทีมศัตรูมีทรัพยากรไม
rules.blockhealthmultiplier = พหุคูณพลังชีวิตของบล็อก
rules.blockdamagemultiplier = พหุคูณดาเมจของบล็อก
rules.unitfactoryactivation = ดีเลย์การเปิดใช้งานโรงงานยูนิต
rules.unitfactoryactivation.objective = โรงงานยูนิตเปิดใช้งาน: {0}
rules.unitfactoryactivation.objective = Unit Factories Activating: {0}
rules.unitbuildspeedmultiplier = พหุคูณความเร็วในการสร้างยูนิต
rules.unitcostmultiplier = พหุคูณราคาทรัพยากรของยูนิต
rules.unithealthmultiplier = พหุคูณพลังชีวิตของยูนิต
@@ -1667,7 +1661,7 @@ rules.invasions = การรุกรานของฐานทัพศั
rules.legacylaunchpads = กลไกฐานส่งทรัพยากรแบบเก่า
rules.legacylaunchpads.info = อนุญาตการใช้ฐานส่งทรัพยากรรุ่นเก่า (เวอร์ชั่น 7.0) โดยไม่ต้องใช้ฐานลงจอดทรัพยากร
landingpad.legacy.disabled = [scarlet]\ue815 ปิดใช้งาน[lightgray] (เปิดใช้งานกลไกฐานส่งทรัพยากรแบบเก่าอยู่)
rules.hidespawns = ซ่อนจุดเกิดศัตรู
rules.hidespawns = Hide Enemy Spawns
rules.randomwaveai = AI คลื่นแบบคาดเดาไม่ได้
rules.pauseDisabled = ปิดการหยุดชั่วคราว
rules.fire = ไฟ
@@ -1699,7 +1693,7 @@ database-tag.power = พลังงาน
database-tag.defense = การป้องกัน
database-tag.crafting = โรงงาน
database-tag.units = ยูนิต
database-tag.effect = อรรถประโยชน์
database-tag.effect = สารประโยชน์
database-tag.logic = ลอจิก
database-tag.unit-air = อากาศ
database-tag.unit-naval = เรือ
@@ -1749,10 +1743,10 @@ 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 = เซนิธ
@@ -1764,14 +1758,14 @@ unit.mega.name = เมก้า
unit.quad.name = ควอด
unit.oct.name = อ็อคท์
unit.risso.name = ริสโซ่
unit.minke.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.retusa.name = เรธูซ่า
unit.oxynoe.name = อ๊อกซิโนอ์
unit.cyerce.name = เซียรส์
unit.aegires.name = เอเกียเรส
unit.navanax.name = นาวาแน็คซ์
unit.alpha.name = อัลฟ่า
unit.beta.name = เบต้า
@@ -1983,7 +1977,7 @@ 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 = เครื่องอัดพลาสตาเนี่ยม
@@ -2020,7 +2014,7 @@ 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 = ฟอร์ชาโดว์
block.container.name = ตู้เก็บของ
@@ -2186,7 +2180,7 @@ block.reinforced-container.name = ตู้เก็บของเสริม
block.reinforced-vault.name = ตู้นิรภัยเสริมกำลัง
block.breach.name = บรีช
block.sublimate.name = ซับลิเมต
block.titan.name = ไททัน
block.titan.name = ไททั่น
block.disperse.name = ดิสเพิร์ส
block.afflict.name = อัฟฟลิกต์
block.lustre.name = ลัสเตอร์
@@ -2772,7 +2766,7 @@ lst.setprop = ตั้งค่าคุณสมบัติของยูน
lst.effect = เสกเอฟเฟกต์อนุภาค
lst.sync = ซิงค์หนึ่งตัวแปรทั่วทั้งเครือข่าย\nสามารถเรียกใช้คำสั่งได้แค่ 10 ครั้งต่อวินาทีอย่างมาก
lst.playsound = เล่นเสียง\nระดับเสียงและการแพนสามารถใช้เป็นค่าสากลได้ หรือคำนวณเอาจากตำแหน่งก็ได้
lst.playmusic = เล่นเพลงตามชื่อที่ใส่ เช่น [accent]"game1"[]\nหาก [accent]interrupt[] เป็นจริง เพลงที่กำลังเล่นก่อนหน้าจะหยุดเล่น\nการเล่นโดยที่ค่าเพลงเป็น null และตั้งค่า interrupt เป็นจริงจะหยุดเพลงที่กำลังเล่นอยู่\nโปรดจำว่าเพลงจากแพตช์เนื้อหาจะต้องเติมคำนำหน้าด้วย [accent]dp-[]
lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent]interrupt[] is true, the previously playing music will be stopped.\nPlaying with null music and interrupt set to true will stop the current track.\nNote that music from data patches must be prefixed with [accent]dp-[].
lst.makemarker = สร้างเครื่องหมายลอจิกใหม่ขึ้นมาในแมพ\nจะต้องเพิ่ม ID เข้าไปเพื่อบ่งชี้เครื่องหมายนี้\nเครื่องหมายจำกัดได้แค่ 20,000 ต่อแมพในตอนนี้
lst.setmarker = ตั้งค่าคุณสมบัติให้กับเครื่องหมาย\nID ของเครื่องหมายที่ใช้จะต้องเป็น ID เดียวกันกับในคำสั่ง Make Marker\nค่า[accent]ว่างเปล่า[]จะถูกข้าม
lst.localeprint = เพิ่มค่าชุดภาษาท้องถิ่นของแมพลงไปยังคิวข้อความเพื่อตั้งค่าชุดภาษาของแมพในตัวแก้ไข ให้เปิด [accent]ข้อมูลแมพ > ชุดภาษาท้องถิ่น[].\nถ้าหากผู้เล่นอยู่ในมือถือ ให้ลองปริ้นค่าโดยลงท้ายด้วย ".mobile" ก่อน
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Sort by stars
export.file = Export File
import.file = Import File
copy.clipboard = Copy to Clipboard
load.clipboard = Import from Clipboard
import.clipboard = Import from Clipboard
workshop.browse = Browse Workshop
workshop.share = Share on Workshop
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset Errors
@@ -542,7 +543,6 @@ patch.fields = {0} fields
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = max units
waves.guardian = Guardian
waves.preview = Preview
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.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Reset
settings.controls = Kontroller
settings.game = Oyun
settings.sound = Ses
settings.dev = Developer Options
settings.graphics = Grafikler
settings.cleardata = Clear Game Data...
settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milliseconds
setting.fullscreen.name = Tam ekran
setting.fps.name = FPS'i goster
setting.console.name = Enable Console
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Smooth Camera
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Change Chat Mode
keybind.drop_unit.name = Unit birak
keybind.zoom_minimap.name = Haritayi yaklastir
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Modlarin aciklamalari
mode.survival.name = Survival
mode.survival.description = The normal mode. Limited resources and automatic incoming waves.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Yıldız sayısına göre sırala
export.file = Dışarı Aktar
import.file = İçeri Aktar
copy.clipboard = Panoya Kopyala
load.clipboard = Panodan Yapıştır
import.clipboard = Panodan Yapıştır
workshop.browse = Browse Workshop
workshop.share = Atölyede paylaş
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = İçerik Yamaları
patch.set = Patchset: {0}
patch.none = [lightgray]Yama bulunamadı.
patch.errors = Yama Hataları
@@ -542,7 +543,6 @@ patch.fields = {0} alanlar
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = maks birim
waves.guardian = Gardiyan
waves.preview = Önizleme
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
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mantar Kale
sector.frontier.name = Öncü Üs
sector.sunkenPier.name = Batık Öncü
sector.littoralShipyard.name = Kıyı Tersane
sector.cruxscape.name = Crux Düzlüğü
sector.geothermalStronghold.name = Jeotermal Sığınağı
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.
@@ -1090,7 +1092,6 @@ settings.resetKey = Tuşu Sıfırla
settings.controls = Kontroller
settings.game = Oyun
settings.sound = Ses
settings.dev = Developer Options
settings.graphics = Grafikler
settings.cleardata = ⚠ Tüm Oyun Verisini Sil ⚠
settings.clear.confirm = Verileri silmek istediğinizden emin misiniz?\nBu işlemi geri alamazsınız!!!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} milisaniye
setting.fullscreen.name = Tam Ekran
setting.fps.name = FPS Göster
setting.console.name = Konsolu Aktifleştir
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Yumuşak Geçişli Kamera
setting.detach-camera.name = Özgür Kamera
setting.detach-camera.description = Etkinleştirilirse, kamera oyuncu biriminden bağımsız hareket eder.\nBu ayara bir kısayol tuşu atanabilir.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Hava Durumu 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.
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ 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
keybind.detach_camera.name = Serbest Kamerayı Aktifleştir
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Debug Temas Kutularını Aktifleştir
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Oyun Modlarının açıklamaları
mode.survival.name = Hayatta Kalma
mode.survival.description = Normal 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.
+5 -11
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = Сортувати за популярністю
export.file = Експортувати файл
import.file = Імпортувати файл
copy.clipboard = Копіювати в буфер обміну
load.clipboard = Імпортувати з клавіатури
import.clipboard = Імпортувати з клавіатури
workshop.browse = Browse Workshop
workshop.share = Поширити в Майстерню
@@ -531,6 +531,7 @@ content.planet = Planet
content.weather = Weather
content.status = Status Effect
patches = Набір патчів вмісту
patch.set = Patchset: {0}
patch.none = [lightgray]Набір патчів вмісту не завантажено.
patch.errors = Помилки набору патчу
@@ -542,7 +543,6 @@ patch.fields = Кількість полів: {0}
bundle.lines = {0} lines
images = Images
asset.title = Data Patches & Assets
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
@@ -562,7 +562,6 @@ asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
@@ -604,6 +603,8 @@ waves.max = макс. одиниць
waves.guardian = Вартовий
waves.preview = Попередній перегляд
waves.random = Випадково
waves.copy = Копіювати в буфер обміну
waves.load = Завантажити з буфера обміну
waves.invalid = Недійсні хвилі в буфері обміну.
waves.copied = Хвилі скопійовані.
waves.none = Противники не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею.
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
sector.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів.\nЗберіть якомога більше свинцю та міді.\nНе затримуйтесь і йдіть далі.
@@ -1090,7 +1092,6 @@ settings.resetKey = Скинути
settings.controls = Керування
settings.game = Гра
settings.sound = Звук
settings.dev = Developer Options
settings.graphics = Графіка
settings.cleardata = Очистити всі дані…
settings.clear.confirm = Ви дійсно хочете очистити ці дані?\nЦю дію не можна скасувати!
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} мілісекунд
setting.fullscreen.name = Повноекранний режим
setting.fps.name = Показувати FPS і затримку до сервера
setting.console.name = Увімкнути консоль
setting.drawhitboxes.name = Display Hitboxes
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = Гладка камера
setting.detach-camera.name = Вільна камера
setting.detach-camera.description = Якщо увімкнено, камера рухається незалежно від одиниці гравця.\nДля цього параметра можна призначити гарячу клавішу.
@@ -1452,7 +1449,6 @@ setting.showweather.name = Показувати погоду
setting.hidedisplays.name = Приховувати логічні дисплеї
setting.macnotch.name = Адаптувати інтерфейс для показу виїмки
setting.macnotch.description = Потрібен перезапуск для застосування змін
steam.friendsonly = Лише друзі
steam.friendsonly.tooltip = Чи лише друзі Steam зможуть приєднатися до вашої гри. Якщо зняти цей прапорець, ваша гра стане загальнодоступною – будь-хто зможе приєднатися.
setting.maxmagnificationmultiplierpercent.name = Мінімальна відстань камери
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = Змінити режим чату
keybind.drop_unit.name = Скинути бойову одиницю
keybind.zoom_minimap.name = Збільшити мінімапу
keybind.detach_camera.name = Перемкнути вільну камеру
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Перемкнути область влучання
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = Опис режимів гри
mode.survival.name = Виживання
mode.survival.description = Звичайний режим. У цьому режимі треба самим видобувати ресурси та хвилі йдуть автоматично.\n[gray]Потребуються точки появи противників для гри.
+84 -90
View File
@@ -19,7 +19,7 @@ clipboardcopy = Máy chủ này muốn sao chép văn bản vào bảng tạm c
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.
screenshot.error = Chụp ảnh màn hình thất bại. Thiết bị của bạn hình như không hỗ trợ ảnh chụp lớn cỡ này.
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = Trò chơi kết thúc
gameover.disconnect = Ngắt kết nối
gameover.pvp = Đội[accent] {0}[] chiến thắng!
@@ -58,11 +58,11 @@ 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
export.file = Xuất Tệp
import.file = Nhập Tệp
export.file = Xuất tệp
import.file = Nhập tệp
copy.clipboard = Sao chép vào Bộ nhớ tạm
load.clipboard = Nhập từ Bộ nhớ tạm
workshop.browse = Duyệt qua Workshop
import.clipboard = Thêm từ Bộ nhớ tạm
workshop.browse = Browse Workshop
workshop.share = Chia sẻ lên Workshop
schematic = Bản thiết kế
@@ -179,7 +179,7 @@ mod.incompletedependencies.details = Mod này không thể tải được do kh
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.errors.map = [scarlet]Có lỗi xảy ra khi nạp nội dung bản đồ. Tất cả nội dung tùy chỉnh đã bị vô hiệu.[]\nBản đồ này sẽ có thể không hoạt động chính xác.
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
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.enable = Bật
mod.requiresrestart = Trò chơi sẽ đóng để áp dụng các thay đổi của mod.
@@ -331,10 +331,10 @@ 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.establish = [accent]Đang thiết lập kết nối...
receiving.world = [accent]Đang nhận dữ liệu thế giới ({0})...
receiving.assets = [accent]Đang nhận các tài sản ({0})...
receiving.assets.fail = Lỗi Nhập/Xuất xảy ra khi đang nhận các tài sản.
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = Cổng:
server.invalidport = Số cổng không hợp lệ!
@@ -352,10 +352,10 @@ save.export = Xuất bản lưu
save.import.invalid = [accent]Bản lưu này không hợp lệ!
save.import.fail = [scarlet]Không thể nhập bản lưu: [accent]{0}
save.export.fail = [scarlet]Không thể xuất bản lưu: [accent]{0}
save.export.needsload = [scarlet]⚠ Bản lưu này chứa các tài sản nhúng.[]\nNạp vào bản lưu này trước khi xuất nó.
save.assets.missing = Tài Sản Bị Thiếu
save.assets.missing.list = Danh Sách Tài Sản...
save.assets.missing.info = [scarlet]⚠ Bản lưu này chứa các tài sản bị thiếu![]\n\n[lightgray]Điều này có thể do tập tin bản lưu không được xuất đúng cách.\n[lightgray]Khi chia sẻ bản lưu, chỉ nên xuất thông qua giao diện trong trò chơi. Không nên sao chép tập tin lưu trực tiếp.\n[lightgray]Nếu thực sự cần chuyển tập tin, chắc rằng bạn cũng sao chép thư mục [accent]assetCache[].
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = Nhập bản lưu
save.newslot = Tên bản lưu:
save.rename = Đổi tên
@@ -516,74 +516,73 @@ editor.filters.planetselect = Chọn Hành Tinh
editor.shiftx = Dịch theo X
editor.shifty = Dịch theo Y
asset.patch = Bản Vá
asset.content = Nội Dung
asset.bundle = Gói Ngôn Ngữ Dịch
asset.image = Hình Ảnh
asset.sound = Âm Thanh
asset.music = Âm Nhạc
asset.patch = Patch
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = Đơn Vị
content.item = Vật Phẩm
content.liquid = Chất Lỏng
content.block = Khối
content.planet = Hành Tinh
content.weather = Thời Tiết
content.status = Hiệu Ứng Trạng Thái
content.unit = Unit
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Weather
content.status = Status Effect
patch.set = Bộ vá: {0}
patch.none = [lightgray]Không tìm thấy bộ vá.
patches = Bản Vá Dữ Liệu
patch.set = Patchset: {0}
patch.none = [lightgray]Không có bản vá nào được nạp.
patch.errors = Lỗi Bộ Vá
patch.importerror = Nhập bộ vá thất bại
patch.delete.confirm = Bạn có chắc chắn muốn xóa bộ vá này không?
patch.path = Đường Dẫn‎:
patch.path = Path:
patch.fields = {0} trường
bundle.lines = {0} dòng
bundle.lines = {0} lines
images = Hình Ảnh
asset.title = Bản Vá Dữ Liệu & Tài Sản
asset.guide = Hướng Dẫn Sử Dụng
asset.bundle.exists = Một gói ngôn ngữ với đường dẫn '{0}' đã có rồi.
asset.importzip = Nhập Gói Zip Tài Sản
asset.exportzip = Xuất Gói Zip Tài Sản
asset.image.importzip = Nhập Gói Zip Hình Ảnh
asset.image.exportzip = Xuất Gói Zip Hình Ảnh
asset.clearall = Xóa Tất Cả
asset.clearall.confirm = Bạn có chắc rằng bạn muốn xóa [red]tất cả[] tài sản khỏi bản đồ này?\nBao gồm cả hình ảnh, âm thanh, nội dung, v.v...
asset.imports = Kết Quả Nhập
asset.imported = [accent]{0} tài sản đã nhập.
asset.import.none = Không tìn thấy tập tin tài sản hợp lệ trong lưu trữ zip.
asset.content.errors = Lỗi Nội Dung
asset.content.add = Thêm Nội Dung
asset.content.type = Kiểu:
asset.content.exists = [red]Nội dung với tên đó đã có rồi!
asset.content.badname = [red]Tên không hợp lệ! Hầu hết các biểu tượng không được phép.
asset.content.import.file = Nhập Tệp
asset.content.import.clipboard = Nhập Từ Bộ Nhớ Tạm
asset.exists = Một tài sản có kiểu đó với đường dẫn/tên giống nhau đã có rồi:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = Tài sản này không thể định vị được.\nĐiều này có thể do nhập sai dữ liệu, hoặc một bản lưu đã xuất không hợp lệ.
asset.audio.invalid = Không thể nạp âm thanh.\nChắc rằng đó là tập tin OGG hoặc MP3 hợp lệ.
asset.delete.confirm = Bạn có chắc chắn muốn xóa tài sản này không?
asset.images = Hình Ảnh Bản Vá Dữ Liệu
asset.image.imports = Kết Quả Nhập
asset.image.imported = [accent]{0} hình ảnh đã nhập.
asset.image.none = Không tìn thấy tập tin PNG hợp lệ trong lưu trữ zip.
asset.image.error = [red]Đã gặp phải những lỗi sau:[]
asset.image.clearall.confirm = Bạn có chắc chắn muốn xóa tất cả hình ảnh không?
asset.image.info = Thông Tin Hình Ảnh
asset.image.toolarge = Hình ảnh ([lightgray]{0}x{1}[]) quá lớn. Kích thước tối đa là {2}x{3}.
asset.image.exists = Một hình ảnh với đường dẫn/tên đã có rồi:\n[lightgray]{0}
asset.image.delete.confirm = Bạn có chắc chắn muốn xóa hình ảnh này không?
asset.image.name = [accent]Tên Tập Tin: [lightgray]{0}
asset.image.region.name = [accent]Tên Vùng: [lightgray]{0}
asset.image.path = [accent]Đường Dẫn: [lightgray]{0}
asset.image.env = [accent]Dùng Bản Khung Môi Trường: [lightgray]{0}
asset.image.size = [accent]Kích Thước: [lightgray]{0}x{1}
asset.image.filesize = [accent]Kích Thước Tập Tin: [lightgray]{0}
asset.image.packfailed = [red]⚠ Đóng gói bản đồ ảnh thất bại![]
asset.image.packfailed.env = Điều này thường do là thiếu không gian trong bản khung môi trường.\nLưu ý rằng bản đồ môi trường bị giới hạn diện tích tổng thể 512x512.
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = Workshop
waves.title = Đợt
@@ -604,6 +603,8 @@ waves.max = đơn vị tối đa
waves.guardian = Trùm
waves.preview = Xem trước
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.
@@ -627,7 +628,7 @@ all = Tất cả
editor.default = [lightgray]<Mặc định>
details = Chi tiết...
edit = Chỉnh sửa
edit.menu = Chỉnh sửa...
edit.menu = Edit...
variables = Biến số
logic.error.toolong = Mã bộ xử lý quá dài (Giới hạn: {0} byte đã nén, độ dài thực sự: {1} byte)
logic.clear.confirm = Bạn có muốn xóa sạch tất cả mã khỏi bộ xử lý này?
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = Pháo Đài Sợi Nấm
sector.frontier.name = Biên Giới
sector.sunkenPier.name = Đê Tàu Chìm
sector.littoralShipyard.name = Xưởng Tàu Duyên Hải
sector.cruxscape.name = Địa Thế Hiểm Yếu
sector.geothermalStronghold.name = Thành Trì Địa Nhiệt
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.\n\nThu thập càng nhiều đồng và chì càng tốt.\nTiến lên.
@@ -1090,7 +1092,6 @@ settings.resetKey = Đặt lại
settings.controls = Điều Khiển
settings.game = Trò Chơi
settings.sound = Âm Thanh
settings.dev = Tùy Chọn Nhà Phát Triển
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?\nThực hiện xong không thể hoàn tác!
@@ -1140,7 +1141,7 @@ stat.targetsground = Mục tiêu mặt đất
stat.crushdamage = Sát thương nghiền nát
stat.legsplashdamage = Sát Thương Lan Tỏa Từ Chân
stat.itemsmoved = Tốc độ dịch chuyển
stat.itemsmoved.info = Lưu lượng thường không tuyến tính và phụ thuộc vào FPS/TPS.
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = Thời gian giữa các lần phóng
stat.shootrange = Phạm vi
stat.size = Kích thước
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} mili-giây
setting.fullscreen.name = Toàn màn hình
setting.fps.name = Hiện FPS & Ping
setting.console.name = Bật Bảng điều khiển
setting.drawhitboxes.name = Hiển Thị Khung Va Chạm
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Bước Thời Gian Công Trình Cố Định
setting.buildingtimestep.description = Thực hiện công trình trong bước thời gian cố định với hằng số thời gian,\nngược lại mỗi khung hình với biến số thời gian.\nNếu công trình không thể cập nhật đủ nhanh, trò chơi sẽ chậm xuống.\nNếu bạn không biết nó có nghĩa gì, đừng đụng vào tùy chọn này.
setting.smoothcamera.name = Khung quay mượt mà
setting.detach-camera.name = Máy quay tự do
setting.detach-camera.description = Nếu bật, máy quay di chuyển độc lập với đơn vị người chơi.\nCài đặt này có thể gán vào một phím nóng.
@@ -1452,8 +1449,7 @@ 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ỏ
setting.macnotch.description = Cần khởi động lại để áp dụng các thay đổi
steam.friendsonly = Chỉ Bạn Bè Trên Steam
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.
setting.maxmagnificationmultiplierpercent.name = Tầm xa tối thiểu của máy quay
setting.minmagnificationmultiplierpercent.name = Tầm xa tối đa của máy quay
@@ -1565,9 +1561,7 @@ 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ỏ
keybind.detach_camera.name = Hoán chuyển máy quay tự do
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Hoán chuyển Hộp va chạm gỡ lỗi
keybind.performance_metrics.name = Toggle Performance Metrics
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à 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.
@@ -1625,7 +1619,7 @@ 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.unitfactoryactivation = Trễ Kích Hoạt Nhà Máy Chế Tạo Đơn Vị
rules.unitfactoryactivation.objective = Kích Hoạt Nhà Máy Đơn Vị: {0}
rules.unitfactoryactivation.objective = Unit Factories Activating: {0}
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ị
@@ -1667,7 +1661,7 @@ rules.invasions = Kẻ Địch Xâm Lược Phân Khu
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.hidespawns = Ẩn Khu Kẻ Địch Xuất Hiện
rules.hidespawns = Hide Enemy Spawns
rules.randomwaveai = Đợt Tấn Công AI Không Đoán Trước
rules.pauseDisabled = Tắt Tạm Dừng
rules.fire = Lửa
@@ -2312,7 +2306,7 @@ ff.arc = Bệ súng :arc: [accent]Arc[] cần có năng lượng để hoạt đ
fungalpass.tutorial1 = Dùng [accent]các đơn vị[] để phòng thủ công trình và tấn công kẻ địch.\nNghiên cứu và đặt một :ground-factory: [accent]nhà máy lục quân[].
fungalpass.tutorial2 = Chọn đơn vị :dagger: [accent]Dagger[] trong nhà máy.\nSản xuất 3 đơn vị.
frontier.tutorial1 = :additive-reconstructor: [accent]Máy tái thiết cấp cộng[]\nnâng cấp đơn vị bậc 1 thành bậc 2\ndùng :silicon: silicon và :graphite: than chì.\n\n[accent]Tái thiết\nmột []:dagger:[accent] dagger thành một []:mace:[accent] mace.
frontier.tutorial1 = :additive-reconstructor: [accent]Máy tái thiết cấp cộng[]\nnâng cấp đơn vị bậc 1 thành bậc 2\ndùng :silicon: silicon và :graphite: than chì.\n\n[accent]Nghiên cứu và và tái thiết\nmột []:dagger:[accent] dagger thành một []:mace:[accent] mace.
frontier.tutorial2 = Các đợt được gửi [accent]vô hạn[] đến khi tất cả lõi kẻ địch [unlaunched]bị tiêu diệt.
frontier.tutorial3 = [accent]Tấn công căn cứ kẻ địch nhanh chóng để ngăn việc các đợt lên cao[].
@@ -2466,7 +2460,7 @@ block.force-projector.description = Tạo ra một trường lực lục giác x
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ó lưu lượng cao nhất.
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.
@@ -2772,7 +2766,7 @@ lst.setprop = Thiết đặt một thuộc tính của đơn vị hoặc công t
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.playmusic = Phát một bản nhạc theo tên, vd: [accent]"game1"[].\nNếu [accent]interrupt[] là [accent]true[], nhạc đang phát trước đó sẽ bị dừng lại.\nPhát nhạc tên [accent]null[] và [accent]interrupt[] là [accent]true[] sẽ dừng bản phát hiện tại.\nLưu ý rằng nhạc từ bản vá dữ liệu phải bắt đầu với [accent]dp-[].
lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent]interrupt[] is true, the previously playing music will be stopped.\nPlaying with null music and interrupt set to true will stop the current track.\nNote that music from data patches must be prefixed with [accent]dp-[].
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.
+81 -87
View File
@@ -19,7 +19,7 @@ clipboardcopy = 这个服务器想要将文本复制到你的剪贴板。你确
linkfail = 无法打开链接!\n链接已复制到你的剪贴板。
screenshot = 截图已保存到 {0}
screenshot.invalid = 地图太大了,可能没有足够的内存进行截图。
screenshot.error = 未能截图。你的设备可能不支持这么大的截图。
screenshot.error = Failed to take screenshot. Your device likely does not support screenshots this large.
gameover = 游戏结束
gameover.disconnect = 断开连接
gameover.pvp = [accent]{0}[] 队获胜!
@@ -61,7 +61,7 @@ mods.browser.sortstars = 按星标数排序
export.file = 导出文件
import.file = 导入文件
copy.clipboard = 复制到剪贴板
load.clipboard = 从剪贴板导入
import.clipboard = 从剪贴板导入
workshop.browse = Browse Workshop
workshop.share = 分享到创意工坊
@@ -179,7 +179,7 @@ mod.incompletedependencies.details = 此模组无法加载,因为缺少或无
mod.requiresversion = 需要游戏版本:[red]{0}
mod.errors = 加载内容时发生错误。
mod.errors.map = [scarlet]加载地图内容时发生错误。自定义内容已经全部禁用。[]\n地图可能发生异常。
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
mod.noerrorplay = [red]你的模组发生了错误。[] 请禁用受影响的模组或修复错误后再进行游戏。
mod.enable = 启用
mod.requiresrestart = 游戏将关闭以应用模组更改。
@@ -331,10 +331,10 @@ cantconnect = 无法加入游戏([accent]{0}[])。
connecting = [accent]连接中…
reconnecting = [accent]重新连接…
connecting.establish = [accent]建立连接中...
receiving.world = [accent]接收世界数据中 ({0})...
receiving.assets = [accent]接收资源中 ({0})...
receiving.assets.fail = 接收资源时发生错误。
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = 端口:
server.invalidport = 端口号无效!
@@ -352,10 +352,10 @@ save.export = 导出存档
save.import.invalid = [accent]此存档无效!
save.import.fail = [scarlet]导入存档失败:[accent]{0}
save.export.fail = [scarlet]导出存档失败:[accent]{0}
save.export.needsload = [scarlet]⚠ 此地图内嵌有资源文件。[]\n在导出地图前先加载它们。
save.assets.missing = 缺失资源
save.assets.missing.list = 资源列表...
save.assets.missing.info = [scarlet]⚠ 这个地图缺失资源![]\n\n[lightgray]这可能是导出不当导致的。\n[lightgray]分享存档需要通过游戏内界面,不应直接复制文件。\n[lightgray]如果有必要传输文件,确保 [accent]assetCache[] 文件夹也被复制。
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = 导入存档
save.newslot = 存档名称:
save.rename = 重命名
@@ -516,74 +516,73 @@ editor.filters.planetselect = 选择星球
editor.shiftx = X 轴平移
editor.shifty = Y 轴平移
asset.patch = 补丁
asset.content = 内容
asset.bundle = 语言包
asset.image = 图像
asset.sound = 音效
asset.music = 音乐
asset.patch = Patch
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = 单位
content.item = 物品
content.liquid = 流体
content.block = 方块
content.planet = 行星
content.weather = 天气
content.status = 状态效果
content.unit = Unit
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Weather
content.status = Status Effect
patch.set = 补丁集:{0}
patches = 数据包
patch.set = Patchset: {0}
patch.none = [lightgray]未加载补丁集。
patch.errors = 补丁集出错
patch.importerror = 导入补丁集失败
patch.delete.confirm = 您确定要删除此补丁集吗?
patch.path = 路径:
patch.path = Path:
patch.fields = {0} 处变动
bundle.lines = {0} 行
bundle.lines = {0} lines
images = 图像
asset.title = 补丁与资源
asset.guide = 用法指南
asset.bundle.exists = 已有路径为'{0}'的文件存在。
asset.importzip = 导入资源压缩包
asset.exportzip = 导出资源压缩包
asset.image.importzip = 导入压缩包
asset.image.exportzip = 导出压缩包
asset.clearall = 全部清除
asset.clearall.confirm = 你确定要清除此地图[red]所有[]的资源文件吗?\n这包括图像,音频和内容等。
asset.imports = 导入结果
asset.imported = [accent]导入 {0} 个资源
asset.import.none = 在压缩包归档中未找到有效资源文件。
asset.content.errors = 内容错误
asset.content.add = 添加内容
asset.content.type = 类型:
asset.content.exists = [red]已有同名内容!
asset.content.badname = [red]无效名称!大部分保留字都无法使用。
asset.content.import.file = 导入文件
asset.content.import.clipboard = 从剪贴板导入
asset.exists = 已有此类资源文件:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = 无法找到此资源文件。\n这可能是导入或导出不当引起的。
asset.audio.invalid = 无法加载音频文件。\n确保其为有效的 OGG 或 MP3 文件。
asset.delete.confirm = 你确定要删除此资源吗?
asset.images = 数据补丁图像
asset.image.imports = 导入结果
asset.image.imported = [accent]导入了 {0} 张图像
asset.image.none = 在压缩包归档中没有有效的 PNG 文件。
asset.image.error = [red]遇到了以下错误:[]
asset.image.clearall.confirm = 你确定要删除所有图像吗?
asset.image.info = 图像信息
asset.image.toolarge = 图像 ([lightgray]{0}x{1}[]) 过大,最大尺寸为 {2}x{3}.
asset.image.exists = 已有相同图像:\n[lightgray]{0}
asset.image.delete.confirm = 你确定要删除此图像吗?
asset.image.name = [accent]文件名:[lightgray]{0}
asset.image.region.name = [accent]贴图名:[lightgray]{0}
asset.image.path = [accent]路径: [lightgray]{0}
asset.image.env = [accent]使用环境图集: [lightgray]{0}
asset.image.size = [accent]尺寸: [lightgray]{0}x{1}
asset.image.filesize = [accent]文件大小: [lightgray]{0}
asset.image.packfailed = [red]⚠无法打包图像:[]
asset.image.packfailed.env = 这可能是环境图集空间不足导致的。\n注意,环境贴图最大为 512x512。
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
asset.image.size = [accent]Size: [lightgray]{0}x{1}
asset.image.filesize = [accent]File Size: [lightgray]{0}
asset.image.packfailed = [red]⚠ Failed to pack sprite![]
asset.image.packfailed.env = This is likely caused by a lack of space in the environment atlas.\nNote that environment sprites are limited to a 512x512 total area.
workshop = 创意工坊
waves.title = 波次
@@ -604,6 +603,8 @@ waves.max = 最大单位数
waves.guardian = Boss
waves.preview = 预览
waves.random = 随机
waves.copy = 复制到剪贴板
waves.load = 从剪贴板读取
waves.invalid = 剪贴板中的波次信息无效。
waves.copied = 波次信息已复制。
waves.none = 没有定义敌人波次。\n注意,这将自动替换为默认的波次列表。
@@ -993,6 +994,7 @@ sector.mycelialBastion.name = 菌丝堡垒
sector.frontier.name = 边陲哨站
sector.sunkenPier.name = 沉没码头
sector.littoralShipyard.name = 海滨船厂
sector.cruxscape.name = 赤色总部
sector.geothermalStronghold.name = 熔石要塞
sector.groundZero.description = 这是最佳起点。敌人威胁较低,资源稀少。\n尽量收集铅和铜。\n然后继续前进。
@@ -1090,7 +1092,6 @@ settings.resetKey = 恢复默认
settings.controls = 控制
settings.game = 游戏
settings.sound = 声音
settings.dev = 开发者选项
settings.graphics = 图形
settings.cleardata = 清除游戏数据
settings.clear.confirm = 确认要清除该数据吗?\n此操作无法撤销!
@@ -1140,7 +1141,7 @@ stat.targetsground = 攻击地面单位
stat.crushdamage = 碾压伤害
stat.legsplashdamage = 践踏伤害
stat.itemsmoved = 移动速度
stat.itemsmoved.info = 吞吐量与时间并不是线性关系,易受FPS/TPS影响。
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = 发射间隔
stat.shootrange = 范围
stat.size = 尺寸
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0} 毫秒
setting.fullscreen.name = 全屏
setting.fps.name = 显示帧数和网络延迟
setting.console.name = 启用控制台
setting.drawhitboxes.name = 显示碰撞箱
setting.showperformance.name = 显示性能表现
setting.buildingtimestep.name = 固定建筑时间步进
setting.buildingtimestep.description = 以固定的时间间隔更新建筑实体,\n与原有的每帧时间间隔可变相反。\n如果建筑更新过慢,则会拖慢游戏。\n如果你不知道这意味着什么,不要改变这个选项。
setting.smoothcamera.name = 平滑镜头
setting.detach-camera.name = 自由视角
setting.detach-camera.description = 启用后,视角可独立于玩家单位自由移动。\n此设置可绑定快捷键。
@@ -1452,7 +1449,6 @@ setting.showweather.name = 显示天气效果
setting.hidedisplays.name = 不显示逻辑绘图
setting.macnotch.name = 适应刘海显示
setting.macnotch.description = 需要重启才能应用更改
steam.friendsonly = 仅限好友
steam.friendsonly.tooltip = 是否只有 Steam 好友才能加入你的游戏。\n取消选中该选项将使你的游戏公开 - 任何人都可以加入。
setting.maxmagnificationmultiplierpercent.name = 最小视距
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = 切换聊天模式
keybind.drop_unit.name = 释放单位
keybind.zoom_minimap.name = 小地图缩放
keybind.detach_camera.name = 切换自由视角
keybind.teleport_cursor.name = 传送到指针位置(沙盒模式)
keybind.debug_hitboxes.name = 切换调试碰撞箱
keybind.performance_metrics.name = 切换性能表现显示
mode.help.title = 游戏模式说明
mode.survival.name = 生存
mode.survival.description = 通常的游戏模式,资源有限,自动生成敌人波次。\n[gray]需要地图中有敌方出生点和己方核心。
@@ -1625,7 +1619,7 @@ rules.enemyCheat = 敌人无限资源
rules.blockhealthmultiplier = 建筑生命倍率
rules.blockdamagemultiplier = 建筑伤害倍率
rules.unitfactoryactivation = 单位工厂延迟激活
rules.unitfactoryactivation.objective = 单位工厂激活时间: {0}
rules.unitfactoryactivation.objective = Unit Factories Activating: {0}
rules.unitbuildspeedmultiplier = 单位生产速度倍率
rules.unitcostmultiplier = 单位生产花费倍率
rules.unithealthmultiplier = 单位生命倍率
@@ -1667,7 +1661,7 @@ rules.invasions = 敌方入侵区块
rules.legacylaunchpads = 旧版发射台机制
rules.legacylaunchpads.info = 允许使用没有接收台的发射台(与 7.0 版本一致)。
landingpad.legacy.disabled = [scarlet]\ue815 禁用[lightgray] (旧版发射台已启用)
rules.hidespawns = 隐藏敌人出生点
rules.hidespawns = Hide Enemy Spawns
rules.randomwaveai = 不可预测的 AI 波次
rules.pauseDisabled = 禁用暂停
rules.fire = 允许火焰产生并蔓延
@@ -2300,10 +2294,10 @@ gz.zone3 = 波次即将开始。\n做好准备。
gz.finish = 建造更多炮塔,挖掘更多资源,\n击退所有波次以[accent]占领区块[]。
ff.coal = 使用 :mechanical-drill: [accent]机械钻头[]来开采:ore-coal: [accent]煤炭[]、
ff.graphitepress = :tree: 研究并放置 :graphite-press: [accent]石墨压缩机[]。
ff.graphitepress = :tree: 研究并放置 :graphite-press: [accent]石墨压缩机[]、
ff.craft = 将 :coal: 煤炭放入 :graphite-press: [accent]石墨压缩机[]。\n它将会向邻近传送带输出 :graphite: 石墨。\n将 :graphite: 石墨从 :graphite-press: [accent]石墨压缩机[]中移至核心。
ff.generator = :coal: 煤炭也可以充当 :combustion-generator: [accent]火力发电机[]的燃料。\n研究并放置一个 :combustion-generator: [accent]火力发电机[]。
ff.coalpower = 将 :coal: 煤炭放入发电机中产出[accent]:power: 电力[]。
ff.generator = :coal: 煤炭也可以作为 :combustion-generator: [accent]火力发电机[]的燃料。\n研究并放置一个 :combustion-generator: [accent]火力发电机[]。
ff.coalpower = 将 :coal: 煤炭放至发电机中产出[accent]:power: 电力[]。
ff.coalpower.objective = :combustion-generator: 产出电力
ff.node = :power-node: [accent]电力节点[]可以将电力传输到附近的方块。\n研究并在发电机旁放置一个 :power-node: [accent]电力节点[]。
ff.battery = :battery: [accent]电池[]可以存储电力。\n研究并在电力节点旁放置一个 :battery: [accent]电池[]。
@@ -2332,7 +2326,7 @@ atolls.carry2 = 1:命令巨像单位移动到地面单位[accent]上方[]。
atolls.carry3 = 2:选择 \ue87b [accent]拾取单位[]命令,来让巨像拾起地面单位。
atolls.carry4 = 3:指挥并移动[accent]携有单位[]的巨像。
atolls.carry5 = 4:选择 \ue879 [accent]卸载载荷[]命令,来让巨像放下它携带的单位。
atolls.carry6 = 可以再[accent]回顾这些步骤[]。
atolls.carry6 = 可以在[accent]回顾这些步骤。
atolls.carry7 = 跟随指示,在敌人基地旁空降单位。
atolls.noairunit = 这座基地防守森严,无法用空军单位攻破。
atolls.2strategies = 有两种策略可以摧毁这座基地。
@@ -2679,7 +2673,7 @@ unit.vela.description = 发射巨大的持续激光束攻击敌人并引起燃
unit.corvus.description = 发射巨大的爆发激光束,摧毁敌人并修复己方建筑。可以跨越大多数地形。
unit.crawler.description = 冲向敌人并自毁,造成大范围爆炸。
unit.atrax.description = 向地面目标发射削弱性的球状矿渣液。可以跨越大多数地形。
unit.spiroct.description = 向敌人发射弱化性的激光束,并在该过程中自我修复。可以跨越大多数地形。
unit.spiroct.description = 向敌人发射较弱的激光束,并在该过程中自我修复。可以跨越大多数地形。
unit.arkyid.description = 向敌人发射大型激光束,并在该过程中自我修复。可以跨越大多数地形。
unit.toxopid.description = 向敌人发射大型带电集束炮弹和穿透性激光。可以跨越大多数地形。
unit.flare.description = 向敌人发射标准子弹。
@@ -2772,7 +2766,7 @@ lst.setprop = 设置单位或建筑物的属性。
lst.effect = 创建一个粒子效果。
lst.sync = 在网络中同步一个变量。\n最多每秒调用 10 次。
lst.playsound = 播放声音。\n音量和声场位置可以是全局值,也可以根据位置计算得出。
lst.playmusic = 按名称播放音乐,如[accent]"game1"[].\n如果[accent]interrupt[]设置为 true ,先前播放的音乐将会中止\n播放 null 并把 interrupt 设置为 true 可以停止音乐。\n注意,数据补丁中的音乐需加上[accent]dp-[]前缀。
lst.playmusic = Plays a music track by name, e.g. [accent]"game1"[].\nIf [accent]interrupt[] is true, the previously playing music will be stopped.\nPlaying with null music and interrupt set to true will stop the current track.\nNote that music from data patches must be prefixed with [accent]dp-[].
lst.makemarker = 在世界中创建一个新的逻辑标记。\n必须提供一个用于标识该标记的 ID。\n目前每个世界限制最多 20000 个标记。
lst.setmarker = 为标记设置属性。\n使用的 ID 必须与制作标记指令中的相同。
lst.localeprint = 将地图本地化文本属性值添加到文本缓冲区中。\n要在地图编辑器中设置地图本地化包,请检查 [accent]地图信息 > 本地化包[]。\n如果客户端是移动设备,则尝试首先打印以 “.mobile” 结尾的属性。
+151 -157
View File
@@ -61,7 +61,7 @@ mods.browser.sortstars = 以星數篩選
export.file = 匯出檔案
import.file = 匯入檔案
copy.clipboard = 複製到剪貼簿
load.clipboard = 從剪貼簿匯入
import.clipboard = 從剪貼簿匯入
workshop.browse = Browse Workshop
workshop.share = 分享到工作坊
@@ -125,7 +125,7 @@ save.quit = 儲存並退出
maps = 地圖
maps.browse = 瀏覽地圖
continue = 繼續
maps.none = [lightgray]找不到地圖!
maps.none = [lightgray]找不到地圖!
invalid = 無效
pickcolor = 選擇顏色
color = Color
@@ -134,7 +134,7 @@ export = Export
preparingconfig = 設定準備中
preparingcontent = 內容準備中
uploadingcontent = 內容上傳中
content.createdby = 由 {0} 製作
content.createdby = Created by: {0}
uploadingpreviewfile = 上傳預覽文件
committingchanges = 遞交變更
done = 完成
@@ -142,8 +142,8 @@ feature.unsupported = 您的裝置不支援此功能。
mods.initfailed = [red]⚠[] Mindustry 無法啟動。這可能是因模組造成。\n\n為了避免不斷閃退,[red]所有的模組已被停用。[]
mods = 模組
mods.name = 模組:
mods.none = [lightgray]找不到模組!
mods.name = Mod:
mods.none = [lightgray]找不到模組!
mods.guide = 模組指南
mods.report = 回報錯誤
mods.openfolder = 開啟模組資料夾
@@ -156,7 +156,7 @@ mod.enabled = [lightgray]已啟用
mod.disabled = [scarlet]已禁用
mod.multiplayer.compatible = [gray]與多人模式相容
mod.disable = 禁用
mod.version = 版本:
mod.version = Version:
mod.content = 內容:
mod.delete.error = 無法刪除模組,檔案可能在使用中。
@@ -169,7 +169,7 @@ mod.circulardependencies = [red]循環依賴錯誤
mod.incompletedependencies = [red]依賴項缺失
mod.requiresversion.details = 所需最低遊戲版本: [accent]{0}[]\n您的遊戲版本過低。此模組需要更新的遊戲版本(通常是beta/alpha版本)才能運作
mod.incompatiblemod.details = 此模組和遊戲的最新版本不相容。模組作者必須更新模組,並將[accent]minGameVersion: 154[]添加到[accent]mod.json[]檔案當中。
mod.incompatiblemod.details = This mod is incompatible with the latest version of the game. The author must update it, and add [accent]minGameVersion: 154[] to its [accent]mod.json[] file.
mod.blacklisted.details = 這個模組已被手動列入黑名單,因為它在此版本的遊戲中引起崩潰或其他問題。請勿使用。
mod.missingdependencies.details = 此模組缺少依賴項:{0}
mod.erroredcontent.details = 此模組在加載時引發錯誤。請求模組作者修復它們。
@@ -179,7 +179,7 @@ mod.incompletedependencies.details = 由於無效或缺失的依賴項,此模
mod.requiresversion = 需要遊戲版本:[red]{0}
mod.errors = 載入內容時發生錯誤
mod.errors.map = [scarlet]載入地圖資料時發生了錯誤,所有自定義內容已停用。[]\n此地圖可能無法正常運作。
mod.errors.map = [scarlet]Errors have occurred loading map content. All custom content has been disabled.[]\nThis map will likely not function correctly.
mod.noerrorplay = [scarlet]您使用了有問題的模組。[] 遊戲前請先停用相關模組或修正問題。
mod.enable = 啟用
mod.requiresrestart = 遊戲將立即關閉以套用模組變更。
@@ -201,15 +201,15 @@ mod.dependencies.soft = (optional)
mod.dependencies.download = 導入
mod.dependencies.downloadreq = 導入需求
mod.dependencies.downloadall = 全部導入
mod.dependencies.status = 載入結果
mod.dependencies.success = 下載成功:
mod.dependencies.failure = 下載失敗:
mod.dependencies.imported = 下載模組需要的依賴項?
mod.dependencies.status = Import Results
mod.dependencies.success = 下載成功:
mod.dependencies.failure = 下載失敗:
mod.dependencies.imported = 下載模組需要的依賴項?
about.button = 關於
name = 名稱:
noname = 請先選擇一個[accent]玩家名稱[]。
search = 搜尋:
search = 搜尋:
planetmap = 星球地圖
launchcore = 發射核心
filename = 檔案名稱︰
@@ -220,9 +220,9 @@ campaign.select = 選擇戰役出發點
campaign.none = [lightgray]選擇初始星球。\n星球隨時都可以切換。
campaign.erekir = 更新、更精緻的內容。戰役大部分都是連貫性的。\n\n難度更高,但有高品質的地圖和整體的經驗。
campaign.serpulo = 較舊的內容,經典的體驗。更加開放且有更多內容。\n\n有可能會有不平衡的地圖以及戰役機制,較不完美。
campaign.difficulty = 難易度
campaign.rework.title = 重大更新通知
campaign.rework.serpulo = [accent]⚠ 蕈孢星經歷了重大更新,其內容已被完全重製。[]\n\n關卡位置和難易度已被更改,來自舊版本的存檔可能會導致問題。\n\n為達到更順暢的遊戲體驗,建議您在「設定」中重置存檔資料。
campaign.difficulty = Difficulty
campaign.rework.title = Campaign Changes Notice
campaign.rework.serpulo = [accent]⚠ The Serpulo campaign has been reworked.[]\n\nSector positions and difficulty have changed. You may encounter issues relating to leftover campaign saves from the old layout.\n\nFor a cleaner experience, consider resetting your campaign saves in the settings.
completed = [accent]完成
techtree = 科技樹
techtree.select = 選擇科技樹
@@ -240,15 +240,15 @@ players.search = 搜尋
players.notfound = [gray]沒有找到玩家
server.closing = [accent]正在關閉伺服器……
server.kicked.kick = 您已被踢出伺服器!
server.kicked.whitelist = 您不在這裡的白名單內。
server.kicked.whitelist = 您不在這裡的白名單內.
server.kicked.serverClose = 伺服器已關閉。
server.kicked.vote = 您已被投票踢出伺服器,再見。
server.kicked.clientOutdated = 客戶端版本過舊!請更新遊戲!
server.kicked.serverOutdated = 伺服器版本過舊!請聯絡伺服器管理員更新伺服器!
server.kicked.banned = 您已經在這個伺服器中被封鎖。
server.kicked.steamBanned = 有鑑於您的不良行為,您已被從Steam大廳封鎖。
server.kicked.steamBanned = You have been banned from Steam lobbies for disruptive and shameful behavior.
server.kicked.typeMismatch = 該伺服器與您的版本不相容。
server.kicked.playerLimit = 該伺服器已滿,請等待玩家離開。
server.kicked.playerLimit = 該伺服器已滿。請等待玩家離開。
server.kicked.recentKick = 您最近曾被踢出伺服器。\n請稍後再進行連線。
server.kicked.nameInUse = 伺服器中已經\n有人有相同的名稱了。
server.kicked.nameEmpty = 您的名稱必須至少包含一個字母或數字。
@@ -286,14 +286,14 @@ trace = 追蹤玩家
trace.playername = 玩家名稱:[accent]{0}
trace.ip = IP:[accent]{0}
trace.id = ID:[accent]{0}
trace.language = 語言:[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!請遞交錯誤回報。
trace.ips = IP:
trace.names = 名字:
invalidid = 無效的客戶端 ID!請遞交錯誤回報。
player.ban = 封鎖
player.kick = 踢除
@@ -326,19 +326,19 @@ disconnect.error = 連線錯誤。
disconnect.closed = 連線關閉。
disconnect.timeout = 連線逾時。
disconnect.data = 無法載入地圖資料!
disconnect.snapshottimeout = 接收UDP快照的過程逾時。\n這可能由不穩定的網路連線所導致。
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.establish = [accent]連接中……
receiving.world = [accent]接收世界資料 ({0})……
receiving.assets = [accent]接收資源 ({0})……
receiving.assets.fail = 接收資源過程中發生錯誤。
connecting.establish = [accent]Establishing connection...
receiving.world = [accent]Receiving world data ({0})...
receiving.assets = [accent]Receiving assets ({0})...
receiving.assets.fail = Error occurred while receiving assets.
server.port = 連接埠:
server.invalidport = 無效的連接埠!
server.error.addressinuse = [scarlet]無法在 6567 埠開啟伺服器。[]\n\n請確認您的設備或網路上沒有其他正在運行的 Mindustry 伺服器!
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 = 您確定要覆寫存檔嗎?
@@ -352,10 +352,10 @@ save.export = 匯出存檔
save.import.invalid = [accent]這是個無效的存檔!
save.import.fail = [crimson]無法匯入存檔:[accent]{0}
save.export.fail = [crimson]無法匯出存檔:[accent]{0}
save.export.needsload = [scarlet]⚠ 此存檔包含嵌入資源。[]\n在導出此存檔前,請先將其載入。
save.assets.missing = 找不到部分資源
save.assets.missing.list = 資源清單……
save.assets.missing.info = [scarlet]⚠ 找不到此存檔的部分資源![]\n\n[lightgray]這很可能是因為存檔導出過程中發生了問題。\n[lightgray]導出存檔時,請只透過遊戲內的 UI 導出,不要直接複製存檔。\n[lightgray]如果有轉移資料的需求,請確認[accent]assetCache[]資料夾有被複製到。
save.export.needsload = [scarlet]⚠ This save contains embedded assets.[]\nLoad into this save before exporting it.
save.assets.missing = Missing Assets
save.assets.missing.list = Asset List...
save.assets.missing.info = [scarlet]⚠ This save contains missing assets![]\n\n[lightgray]This is likely because the save file was not properly exported.\n[lightgray]When sharing saves, only export through the in-game UI. Do not copy save files directly.\n[lightgray]If transferring files is necessary, make sure the [accent]assetCache[] folder is copied as well.
save.import = 匯入存檔
save.newslot = 存檔名稱:
save.rename = 重新命名
@@ -374,13 +374,13 @@ save.wave = 波次:{0}
save.mode = 遊戲模式:{0}
save.date = 最後存檔時間:{0}
save.playtime = 遊玩時間:{0}
dontshowagain = 不要再顯示
dontshowagain = Don't show again
warning = 警告。
confirm = 確認
delete = 刪除
view.workshop = 在工作坊中查看
workshop.listing = 編輯工作坊清單
hide = 隱藏
hide = Hide
ok = 確定
open = 開啟
customize = 自訂
@@ -396,17 +396,17 @@ command.enterPayload = 進入負荷方塊
command.loadUnits = 拾取單位
command.loadBlocks = 拾取方塊
command.unloadPayload = 卸下負載
command.loopPayload = 使單位傳輸循環
command.loopPayload = Loop Unit Transfer
stance.stop = 取消指令
stance.shoot = 狀態:射擊
stance.holdfire = 狀態: 停火
stance.pursuetarget = 狀態:追逐目標
stance.patrol = 狀態:路徑巡邏
stance.holdposition = 狀態:停在原地
stance.holdposition = Stance: Hold Position
stance.ram = 狀態:衝鋒\n[lightgray]直線移動,不進行尋路。
stance.boost = Boost
stance.mineauto = 自動挖礦中
stance.mine = 獲取資源:{0}
stance.mineauto = Automatic Mining
stance.mine = Mine Item: {0}
openlink = 開啟連結
copylink = 複製連結
back = 返回
@@ -472,9 +472,9 @@ publish.confirm = 您確定要發布嗎?\n\n[lightgray]首先確定您同意 W
publish.error = 發佈項目時發生問題:{0}
steam.error = Steam 服務初始化失敗。\n錯誤:{0}
editor.showblocks = 顯示方塊
editor.showterrain = 顯示地形
editor.showfloor = 顯示地板
editor.showblocks = Show Blocks
editor.showterrain = Show Terrain
editor.showfloor = Show Floor
editor.planet = 行星:
editor.sector = 地區:
editor.seed = 種子:
@@ -490,12 +490,12 @@ editor.waves = 波次:
editor.rules = 規則:
editor.generation = 自動生成:
editor.objectives = 目標
editor.locales = 本地封包
editor.locales = Locale Bundles
editor.worldprocessors = World Processors
editor.worldprocessors.editname = 編輯名稱
editor.worldprocessors.none = [lightgray]找不到 world processor blocks!\n在地圖編輯器裡新增一個,或者使用下方的 \ue813 新增按鈕。
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 = 確定要刪除這個 world processor 嗎?\n\nIf it is surrounded by walls, it will be replaced by an environmental wall.
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 = 在工作坊上發佈
@@ -504,79 +504,78 @@ editor.center = 中心
editor.search = 尋找地圖…
editor.filters = 篩選地圖
editor.filters.mode = 遊戲模式:
editor.filters.priorities = 優先級:
editor.filters.priorities = Priorities:
editor.filters.type = 地圖種類:
editor.filters.search = 搜尋的資料夾:
editor.filters.author = 作者
editor.filters.description = 描述
editor.filters.modname = 模組名稱:
editor.filters.prioritizemod = 模組優先級
editor.filters.prioritizecustom = 自定義優先級
editor.filters.planetselect = 星球選擇
editor.filters.modname = Mod Name
editor.filters.prioritizemod = Mod Priority
editor.filters.prioritizecustom = Custom Priority
editor.filters.planetselect = Planet Selection
editor.shiftx = X位移
editor.shifty = Y位移
asset.patch = 補丁
asset.content = 內容
asset.bundle = 翻譯封包
asset.image = 圖片
asset.sound = 音效
asset.music = 音樂
asset.patch = Patch
asset.content = Content
asset.bundle = Translation Bundle
asset.image = Image
asset.sound = Sound
asset.music = Music
content.unit = 單位
content.item = 物品
content.liquid = 液體
content.block = 方塊
content.planet = 星球
content.weather = 天氣
content.status = 狀態效果
content.unit = Unit
content.item = Item
content.liquid = Liquid
content.block = Block
content.planet = Planet
content.weather = Weather
content.status = Status Effect
patch.set = 補丁:{0}
patches = Content Patches
patch.set = Patchset: {0}
patch.none = [lightgray]No patchsets loaded.
patch.errors = Patchset 錯誤
patch.errors = Patchset Errors
patch.importerror = Failed to import patchset
patch.delete.confirm = Are you sure you want to delete this patchset?
patch.path = 路徑:
patch.path = Path:
patch.fields = {0} fields
bundle.lines = {0} lines
images = 圖片
asset.title = Data Patches & Assets
images = Images
asset.guide = Usage Guide
asset.bundle.exists = A bundle with path '{0}' already exists.
asset.importzip = 導入 Asset Zip
asset.exportzip = 導出 Asset Zip
asset.image.importzip = 導入 Zip
asset.image.exportzip = 導出 Zip
asset.clearall = 全部清楚
asset.clearall.confirm = 確定要清除此地圖中的[red]所有[]資源嗎?\n這包含圖片、音訊、內容等。
asset.imports = 導入 Results
asset.imported = [accent]{0} assets 已導入.
asset.importzip = Import Asset Zip
asset.exportzip = Export Asset Zip
asset.image.importzip = Import Zip
asset.image.exportzip = Export Zip
asset.clearall = Clear All
asset.clearall.confirm = Are you sure that you want to clear [red]all[] assets from this map?\nThis includes images, audio, content, etc.
asset.imports = Import Results
asset.imported = [accent]{0} assets imported.
asset.import.none = No valid asset files found in zip archive.
asset.content.errors = Content Errors
asset.content.add = Add Content
asset.content.type = 類型:
asset.content.type = Type:
asset.content.exists = [red]Content with that name already exists!
asset.content.badname = [red]Invalid name! Most symbols are not allowed.
asset.content.import.file = 導入檔案
asset.content.import.file = Import File
asset.content.import.clipboard = Import From Clipboard
asset.exists = An asset of that type with the same path/name already exists:\n[lightgray]{0}
asset.exists.audio = A sound/music asset with that name is already loaded:\n[lightgray]{0}
asset.broken = This asset file could not be located.\nThis can be caused by improper import of data, or an incorrectly exported save.
asset.audio.invalid = Audio file could not be loaded.\nEnsure that it is a valid OGG or MP3 file.
asset.delete.confirm = Are you sure you want to delete this asset?
asset.images = Data Patch Images
asset.image.imports = 導入 Results
asset.image.imports = Import Results
asset.image.imported = [accent]{0} images imported.
asset.image.none = No valid PNG files found in zip archive.
asset.image.error = [red]The following errors were encountered:[]
asset.image.clearall.confirm = Are you certain that you wish to clear all images?
asset.image.info = 圖片資訊
asset.image.info = Image Info
asset.image.toolarge = Image ([lightgray]{0}x{1}[]) is too large. Maximum size is {2}x{3}.
asset.image.exists = An image with that path/name already exists:\n[lightgray]{0}
asset.image.delete.confirm = Are you certain that you wish to delete this image?
asset.image.name = [accent]檔案名稱:[lightgray]{0}
asset.image.name = [accent]File Name: [lightgray]{0}
asset.image.region.name = [accent]Region Name: [lightgray]{0}
asset.image.path = [accent]Path: [lightgray]{0}
asset.image.env = [accent]Uses Environment Atlas: [lightgray]{0}
@@ -587,7 +586,7 @@ asset.image.packfailed.env = This is likely caused by a lack of space in the env
workshop = 工作坊
waves.title = 波次
waves.team = 團隊
waves.team = Team
waves.remove = 移除
waves.every = 每
waves.waves = 波次
@@ -595,15 +594,17 @@ waves.health = 血量:{0}%
waves.perspawn = 每次生成
waves.shields = 護盾/波次
waves.to = 至
waves.spawn = 生成點:
waves.spawn = spawn:
waves.spawn.all = <all>
waves.spawn.select = 生成點選擇
waves.spawn.none = [scarlet]地圖中找不到敵方生成點
waves.spawn.select = Spawn Select
waves.spawn.none = [scarlet]地圖中找不到降落區
waves.spawn.first = [lightgray](first {0})
waves.max = 最大單位數
waves.guardian = 守衛者
waves.preview = 預覽
waves.random = 隨機
waves.copy = 複製到剪貼簿
waves.load = 從剪貼簿載入
waves.invalid = 剪貼簿中的波次無效。
waves.copied = 波次已複製。
waves.none = 無自訂敵人。\n請注意,若沒有波次佈局將自動替換為預設佈局。
@@ -612,26 +613,26 @@ waves.sort.reverse = 反向排序
waves.sort.begin = 開始
waves.sort.health = 血量
waves.sort.type = 兵種
waves.search = 搜尋波……
waves.search = 搜尋波...
waves.filter = 單位過濾
waves.units.hide = 全部隱藏
waves.units.show = 全部顯示
pause.disabled = [scarlet]已禁用暫停
pause.disabled = [scarlet]Pause is disabled
#these are intentionally in lower case
wavemode.counts = 數量
wavemode.totals = 總數
wavemode.health = 生命值
all = 所有
all = All
editor.default = [lightgray](預設)
details = 詳細資訊……
edit = 編輯……
edit.menu = 編輯……
edit.menu = Edit...
variables = 變數
logic.error.toolong = Processor code too long (Limit: {0} compressed bytes, actual length: {1} bytes)
logic.clear.confirm = Are you sure you want to clear all code from this processor?
logic.restart = 重啟
logic.restart = Restart
logic.globals = 內建變數
editor.name = 名稱:
@@ -759,9 +760,9 @@ 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 = 搜尋 name...
locales.searchvalue = 搜尋 value...
locales.searchlocale = 搜尋 locale...
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
@@ -769,7 +770,7 @@ 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 = 新增 Icon
locales.addicon = Add Icon
locales.property.name = name
locales.property.text = text
@@ -826,9 +827,9 @@ marker.shapetext.name = 稜框+文字標示
marker.point.name = Point
marker.shape.name = 稜框標示
marker.text.name = 文字標示
marker.line.name = 線
marker.line.name = Line
marker.quad.name = Quad
marker.texture.name = 材質
marker.texture.name = Texture
marker.background = 反黑背景
marker.outline = 描邊
@@ -838,7 +839,7 @@ 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.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 單位
@@ -846,7 +847,7 @@ objective.enemiesapproaching = [accent]的人在 [lightgray]{0} 到達[]
#TODO: fix the typo (escelating -> escalating) and update every objective that uses it
objective.enemyescelating = [accent]敵人在[lightgray]{0}[]後擴大單位生產
objective.enemyairunits = [accent]敵人在[lightgray]{0}[]後產生空軍單位
objective.enemyunitproduction = [accent]敵方單位將在[lightgray]{0}[]後開始生成
objective.enemyunitproduction = [accent]Enemy unit production begins in [lightgray]{0}[]
objective.destroycore = [accent]摧毀敵人核心
objective.command = [accent]指揮單位
objective.nuclearlaunch = [accent]⚠ 偵測到核彈打擊: [lightgray]{0}
@@ -857,17 +858,17 @@ loadout = 裝載
resources = 資源
resources.max = 最大
bannedblocks = 禁用方塊
unbannedblocks = Unbanned 方塊
unbannedblocks = Unbanned Blocks
objectives = 目標
bannedunits = 禁用單位
unbannedunits = Unbanned 單位
bannedunits.whitelist = Banned 單位 As Whitelist
bannedblocks.whitelist = Banned 方塊 As Whitelist
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 = 來源地:[accent]{0}[]
landing.sources = Source Sectors: [accent]{0}[]
landing.import = Max Total Import: {0}[accent]{1}[lightgray]/min
configure.invalid = 數值必須介於 0 到 {0}。
add = 新增……
@@ -883,7 +884,7 @@ error.mapnotfound = 找不到地圖!
error.io = 網路錯誤。
error.any = 未知網路錯誤。
error.bloom = 初始化特效失敗。\n您的裝置可能不支援
error.moddex = Mindustry 無法載入此模組。\nYour device is blocking import of Java mods due to recent changes in Android.\nThere is no known workaround to this issue.
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 = 降雪
@@ -892,12 +893,12 @@ weather.sporestorm.name = 孢子風暴
weather.fog.name = 霧
campaign.playtime = \uf129 [lightgray]地區遊玩時間: {0}
campaign.complete = [accent]恭喜!\n\n{0}處盤據的敵人已被打倒。\n[lightgray]最後一個區域完成佔領了。
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.attempts = 嘗試次數:
sectors.attempts = Attempts:
sectors.resources = 資源:
sectors.production = 生產:
sectors.export = 輸出:
@@ -908,12 +909,12 @@ sectors.wave = 波次:
sectors.stored = 儲存:
sectors.resume = 繼續
sectors.launch = 發射
sectors.nolaunchcandidate = 沒有發射起點
sectors.viewsubmission = \ue80d 檢視 Submissions
sectors.nolaunchcandidate = No Launch Sector
sectors.viewsubmission = \ue80d View Submissions
sectors.select = 選取
sectors.launchselect = 選擇降落處
sectors.launchselect = Select Launch Destination
sectors.nonelaunch = [lightgray]無(太陽)
sectors.redirect = 重新定向發射平台
sectors.redirect = Redirect Launch Pads
sectors.rename = 重新命名區域
sectors.enemybase = [scarlet]敵方基地
sectors.vulnerable = [scarlet]易受攻擊
@@ -922,7 +923,7 @@ sectors.go = 進入
sector.abandon = 放棄
sector.abandon.confirm = 此地區的核心將會自我銷毀\n是否繼續?
sector.curcapture = 已佔領地區
sector.lockdown = [red]:warning:[accent] 區域正受到攻擊!\n[lightgray]生產、研究、導出和導入已被禁用。
sector.lockdown = [red]:warning:[accent] Sector currently under attack\n[lightgray]production, research, export and import disabled
sector.curlost = 已失去該地區
sector.missingresources = [scarlet]核心資源不足
sector.attacked = 地區 [accent]{0}[white] 遭受攻擊!
@@ -933,7 +934,7 @@ sector.changeicon = 更改圖標
sector.noswitch.title = 無法切換地區
sector.noswitch = 當前地區遭受攻擊時,無法切換地區\n\n地區: [accent]{0}[] 於 [accent]{1}[]
sector.view = 檢視地區
sector.foundationrequired = [lightgray] 需要核心:Foundation
sector.foundationrequired = [lightgray] Core: Foundation Required
sector.shielded = [lightgray] Shielded
threat.low = 低
@@ -942,9 +943,9 @@ threat.high = 高
threat.extreme = 極高
threat.eradication = 毀滅性
difficulty.guide.title = 提示
difficulty.guide = 如果碰上太難的關卡,可以調整遊戲難度,讓遊戲體驗變得更容易。
difficulty.guide.confirm = 調整難易度
difficulty.guide.title = Notice
difficulty.guide = If a sector poses too much of a challenge, campaign difficulty can be adjusted for an easier experience.
difficulty.guide.confirm = Adjust Difficulty
difficulty.casual = 休閒模式
difficulty.easy = 簡單模式
@@ -952,10 +953,10 @@ difficulty.normal = 普通模式
difficulty.hard = 困難模式
difficulty.eradication = 滅絕模式
difficulty.enemyHealthMultiplier = 敵方生命:{0}
difficulty.enemySpawnMultiplier = 敵方數量:{0}
difficulty.waveTimeMultiplier = 波次時長:{0}
difficulty.nomodifiers = [lightgray](沒有更動)
difficulty.enemyHealthMultiplier = Enemy Health: {0}
difficulty.enemySpawnMultiplier = Enemy Amount: {0}
difficulty.waveTimeMultiplier = Wave Timer: {0}
difficulty.nomodifiers = [lightgray](No modifiers)
planets = 行星
@@ -965,7 +966,7 @@ planet.sun.name = 太陽
sector.impact0078.name = 衝擊0078
sector.groundZero.name = 原點
sector.crateredBattleground.name = 隕石坑戰場
sector.crateredBattleground.name = Cratered Battleground
sector.frozenForest.name = 冰封森林
sector.ruinousShores.name = 廢墟海岸
sector.stainedMountains.name = 多色山脈
@@ -978,27 +979,28 @@ sector.fungalPass.name = 真菌廊道
sector.biomassFacility.name = 生物質合成工廠
sector.windsweptIslands.name = 風之島
sector.extractionOutpost.name = 萃取哨站
sector.facility32m.name = 設施 32 M
sector.taintedWoods.name = 被玷污的林地
sector.infestedCanyons.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.atolls.name = Atolls
sector.testingGrounds.name = 測試場地
sector.perilousHarbor.name = Perilous 港口
sector.weatheredChannels.name = 風化 Channels
sector.testingGrounds.name = Testing Grounds
sector.perilousHarbor.name = Perilous Harbor
sector.weatheredChannels.name = Weathered Channels
sector.fallenVessel.name = Fallen Vessel
sector.mycelialBastion.name = Mycelial Bastion
sector.frontier.name = Frontier
sector.sunkenPier.name = 沉沒的 Pier
sector.sunkenPier.name = Sunken Pier
sector.littoralShipyard.name = Littoral Shipyard
sector.cruxscape.name = Cruxscape
sector.geothermalStronghold.name = Geothermal Stronghold
sector.groundZero.description = 再次開始的最佳位置。敵人威脅程度低。資源少。\n盡可能地採集鉛與銅。\n繼續前進。
sector.frozenForest.description = 即使是在如此靠近山脈的地方,孢子也已經擴散了。低溫無法永遠遏止它們。\n\n開始探索電力。建造火力發電機。學習如何修理方塊。
sector.saltFlats.description = 鹽灘在沙漠的外圍。此處資源不多。\n\n敵人已在此建立了一座資源倉庫。剷除他們的核心。不要留下任何東西。
sector.crateredBattleground.description = 隕石坑內積著深水與過去的戰役所留下的遺物。重新佔領此地。收集沙。熔製強化玻璃。抽水以冷卻炮台和鑽頭。
sector.crateredBattleground.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 = 越過廢棄物就是海岸線。此處曾設有海岸防禦陣線。但剩下的不多。只有最基本的防禦結構沒有損毀,其他的一切都已然變為廢墟。\n繼續向外擴展。重新發現技術。
sector.stainedMountains.description = 還未受孢子污染的山脈向內陸延伸。\n在此區域開採鈦金屬。學習如何使用它。\n\n這裡的敵人更為強大。不要讓他們有以最強大武力攻擊的機會。
sector.overgrowth.description = 此區域雜草叢生,離孢子的源頭很近。\n敵人在此建立了前哨站。建造重槌機甲,把這夷為平地。
@@ -1013,8 +1015,8 @@ sector.impact0078.description = 沉睡在此的是第一個進入本星系的星
sector.planetaryTerminal.description = 最終目標。\n\n這麼濱海基地具有能夠發射核心到其他行星的建築。 其防禦非常嚴密。\n\n生產海上單位。盡速摧毀敵人。研究該發射建築。
sector.coastline.description = 偵測到海軍單位科技的遺跡。擊退敵人的進攻,佔領地區,並獲得科技。
sector.navalFortress.description = 敵人已在這個有天然防禦屏障的偏遠島嶼設置了一座海軍基地。摧毀它。獲得海上科技的進階科技。
sector.facility32m.description = 此區域 contains the moldering remnants of an explosives 建造設施.\n\n佔領這個區域。研究 the Blast Mixer. 製造 Blast Compound for use as 炮台子彈。
sector.taintedWoods.description = [gray][optional objective][]\nRich in oil reserves, this sector contains large masses of 真菌 growth, making it difficult to traverse.\n\nUtilize its resources to produce Plastanium. Fend off the enemy.
sector.facility32m.description = This sector contains the moldering remnants of an explosives production facility.\n\nCapture this area. Research the Blast Mixer. Produce Blast Compound for use as turret ammunition.
sector.taintedWoods.description = [gray][optional objective][]\nRich in oil reserves, this sector contains large masses of fungal growth, making it difficult to traverse.\n\nUtilize its resources to produce Plastanium. Fend off the enemy.
sector.sunkenPier.description = [gray][optional objective][]\nOnce an offshore oil platform, this facility has long-since fallen into disrepair.\n\nHigh amounts of enemy naval units detected. Be prepared for attacks from multiple directions.
sector.atolls.description = [gray][optional objective][]\nMultiple enemy naval bases have been detected at this location.\n\nUtilize Mega payload units to transport ground forces into attack positions. Build naval units to destroy the peripheral outposts.
sector.frontier.description = A small enemy outpost has been detected here.\n\nBuild Mono units in order to harvest resources more effectively. Utilize the Additive Reconstructor to construct stronger units.
@@ -1077,8 +1079,8 @@ status.blasted.name = 爆炸
status.corroded.name = Corroded
status.unmoving.name = 靜止
status.boss.name = 守衛者
status.slow.name = 慢速
status.fast.name = 快速
status.slow.name = Slow
status.fast.name = Fast
status.shielded.name = Shielded
status.disarmed.name = Disarmed
@@ -1090,7 +1092,6 @@ settings.resetKey = 重設按鍵
settings.controls = 控制
settings.game = 遊戲
settings.sound = 音效
settings.dev = 開發者選項
settings.graphics = 圖形
settings.cleardata = 清除遊戲資料……
settings.clear.confirm = 您確定要清除資料嗎?\n此動作無法復原!
@@ -1134,11 +1135,11 @@ stat.opposites = 衝突狀態
stat.powercapacity = 蓄電量
stat.powershot = 能量/射擊
stat.damage = 傷害
stat.frequency = 頻率
stat.frequency = Frequency
stat.targetsair = 攻擊空中目標
stat.targetsground = 攻擊地面目標
stat.crushdamage = Crush 傷害
stat.legsplashdamage = Leg Splash 傷害
stat.crushdamage = Crush Damage
stat.legsplashdamage = Leg Splash Damage
stat.itemsmoved = 移動速度
stat.itemsmoved.info = Throughput is often not linear and tied to FPS/TPS.
stat.launchtime = 發射間隔
@@ -1156,7 +1157,7 @@ stat.itemcapacity = 物品容量
stat.memorycapacity = 記憶體容量
stat.basepowergeneration = 基礎能量生產
stat.productiontime = 生產時間
stat.warmuptime = 暖機時間
stat.warmuptime = Warmup Time
stat.repairtime = 方塊完全修復時間
stat.repairspeed = 修復速度
stat.weapons = 武器
@@ -1183,8 +1184,8 @@ stat.reload = 射擊速率
stat.ammo = 彈藥
stat.shieldhealth = 護盾生命值
stat.cooldowntime = 冷確時間
stat.regenerationrate = 回復速度
stat.activationtime = 發動時間
stat.regenerationrate = Regeneration Rate
stat.activationtime = Activation Time
stat.explosiveness = 爆炸性
stat.basedeflectchance = 基礎偏移量
stat.lightningchance = 燃燒機率
@@ -1214,7 +1215,7 @@ stat.buildspeedmultiplier = 建造速度加成
stat.reactive = 狀態傷害加成
stat.immunities = 免疫
stat.healing = 治癒
stat.efficiency = [stat]{0}% 效率
stat.efficiency = [stat]{0}% Efficiency
ability.forcefield = 防護力場
ability.forcefield.description = 投射一個可以吸收子彈的防護力場
@@ -1248,7 +1249,7 @@ ability.liquidexplode.description = 在死亡時產生液體
ability.stat.firingrate = [stat]{0}/秒[lightgray] 射擊速度
ability.stat.regen = [stat]{0}[lightgray]生命恢復/秒
ability.stat.pulseregen = [stat]{0}[lightgray] 生命/pulse
ability.stat.pulseregen = [stat]{0}[lightgray] health/pulse
ability.stat.shield = [stat]{0}[lightgray]護盾
ability.stat.repairspeed = [stat]{0}/秒[lightgray]修復速度
ability.stat.deflectchance = [stat]{0}%[lightgray] deflect chance
@@ -1264,7 +1265,7 @@ ability.stat.buildtime = [stat]{0} 秒[lightgray]建造時間
bar.displaytoolarge = Dimensions too large\n(Max: {0}x{0})
bar.onlycoredeposit = 僅允許向核心放置物品
bar.drilltierreq = 需要更好的鑽頭
bar.nobatterypower = 電池能量不足
bar.nobatterypower = Insufficieny Battery Power
bar.noresources = 缺少資源
bar.corereq = 需由核心升級
bar.corefloor = 需要核心地塊
@@ -1273,7 +1274,7 @@ bar.drillspeed = 鑽頭速度:{0}/秒
bar.pumpspeed = 液體泵送速度:{0}/秒
bar.efficiency = 效率:{0}%
bar.boost = 速度加成:+{0}%
bar.powerbuffer = 電池能量:{0}/{1}
bar.powerbuffer = Battery Power: {0}/{1}
bar.powerbalance = 能量變化:{0}
bar.powerstored = 能量存量:{0}/{1}
bar.poweramount = 能量:{0}
@@ -1284,7 +1285,7 @@ bar.capacity = 容量:{0}
bar.unitcap = {0} {1}/{2}
bar.liquid = 液體
bar.heat = 熱
bar.cooldown = 冷卻
bar.cooldown = Cooldown
bar.instability = 不穩定度
bar.heatamount = 熱: {0}
bar.heatpercent = 熱: {0} ({1}%)
@@ -1374,8 +1375,8 @@ category.items = 物品
category.crafting = 需求
category.function = 功能
category.optional = 額外的強化效果
setting.alwaysmusic.name = 一直播放音樂
setting.alwaysmusic.description = 開啟時,音樂會一直循環播放。\n關閉時,音樂會隨機開始播放,並間隔隨機長度的時間。
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 = 陰影
@@ -1391,8 +1392,8 @@ setting.modcrashdisable.name = 閃退後停用模組
setting.animatedwater.name = 顯示液面動畫
setting.animatedshields.name = 顯示護盾動畫
setting.playerindicators.name = 盟友標示
setting.showpings.name = 顯示 Pings
setting.showotherbuildplans.name = 顯示其他玩家的建造計劃
setting.showpings.name = Show Pings
setting.showotherbuildplans.name = Show Other Player's Build Plans
setting.indicators.name = 敵方標示
setting.autotarget.name = 自動射擊
setting.keyboard.name = 滑鼠及鍵盤控制
@@ -1419,10 +1420,6 @@ setting.milliseconds = {0}毫秒
setting.fullscreen.name = 全螢幕
setting.fps.name = 顯示FPS與延遲
setting.console.name = 啟用搖桿
setting.drawhitboxes.name = 顯示碰撞箱
setting.showperformance.name = Display Performance Metrics
setting.buildingtimestep.name = Fixed Building Timestep
setting.buildingtimestep.description = Runs buildings on a fixed timestep with constant delta,\nas opposed to every frame with variable delta.\nIf buildings cannot be updated fast enough, the game will slow down.\nIf you don't know what that means, don't touch this option.
setting.smoothcamera.name = 平滑攝影機
setting.detach-camera.name = Free Camera
setting.detach-camera.description = If enabled, the camera moves independently of the player unit.\nThis setting can be assigned a hotkey.
@@ -1452,7 +1449,6 @@ setting.showweather.name = 顯示天氣動畫
setting.hidedisplays.name = 隱藏邏輯顯示
setting.macnotch.name = 使界面適應顯示槽口
setting.macnotch.description = 需要重新啟動遊戲以更改大小
steam.friendsonly = 僅限好友
steam.friendsonly.tooltip = 是否只有 Steam 好友可以加入您的遊戲。\n取消勾選後,遊戲為公開的,任何人都可以加入。
setting.maxmagnificationmultiplierpercent.name = Min Camera Distance
@@ -1565,9 +1561,7 @@ keybind.chat_mode.name = 變更聊天模式
keybind.drop_unit.name = 放下單位
keybind.zoom_minimap.name = 縮放小地圖
keybind.detach_camera.name = Toggle Free Camera
keybind.teleport_cursor.name = Teleport To Cursor (Sandbox)
keybind.debug_hitboxes.name = Toggle Debug Hitboxes
keybind.performance_metrics.name = Toggle Performance Metrics
mode.help.title = 模式說明
mode.survival.name = 生存
mode.survival.description = 一般模式。有限的資源與自動來襲的波次。\n[gray]地圖中需要敵人生成點。
+1 -2
View File
@@ -37,5 +37,4 @@ sector.siege.credit = hhh i 17
sector.ravine.credit = Bepis
#megabase center
sector.sector-serpulo-27.name = ᒆᐴᑫᑈᐴᐾᐶᒅᑜᒆ
threat.unreasonable = ᐰᐬᑀᐲᑚᑓᐭ
sector.sector-serpulo-27.name = ᒆᐴᑫᑈᐴᐾᐶᒅᑜᒆ
+1 -2
View File
@@ -194,5 +194,4 @@ TheCuber
Jovinull
Alon
硫缺铅/PyratiteNoLead
Space
NeilGreenFly
Space
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
-10
View File
@@ -269,16 +269,6 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
}
PerfCounter.update.end();
long rawUpdate = PerfCounter.update.latestValueNs();
for(var other : PerfCounter.displayedCounters){
if(other != PerfCounter.other) rawUpdate -= other.latestValueNs();
}
PerfCounter.other.add(rawUpdate);
for(var counter : PerfCounter.all){
counter.checkUpdate();
}
}
@Override
+8 -6
View File
@@ -85,17 +85,17 @@ public class Vars implements Loadable{
public static final String patchesGuideURL = "https://mindustrygame.github.io/wiki/datapatches/";
/** 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. */
/** 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. */
/** 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"};
/** URLs to the JSON file containing players banned from Steam. */
/** URLs to the JSON file containing players banned from Steam. */
public static final String[] steamBansURLs = {"https://raw.githubusercontent.com/Anuken/MindustrySteamBans/master/data.json", "https://cdn.jsdelivr.net/gh/anuken/mindustrysteambans/data.json"};
/** URL of the github issue report template. */
/** 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.*/
public static final Seq<ServerGroup> defaultServers = Seq.with();
/** cached server list - only used if defaultServers have not been fetched */
/** cached server list - only used if defaultServers have not been fetched*/
public static final Seq<ServerGroup> cachedServers = Seq.with();
/** maximum openGL errors logged */
public static final int maxGlErrors = 100;
@@ -178,7 +178,7 @@ public class Vars implements Loadable{
/** 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 = 4f, maxDeltaServer = 4f;
public static float maxDeltaClient = 6f, maxDeltaServer = 10f;
/** whether the graphical game client has loaded */
public static boolean clientLoaded = false;
/** whether the serpulo campaign sectors were remapped (older save) */
@@ -216,6 +216,8 @@ public class Vars implements Loadable{
/** Whether to draw shadows of blocks at map edges and static blocks.
* Do not change unless you know exactly what you are doing.*/
public static boolean enableDarkness = true;
/** Whether to draw debug lines for collisions. */
public static boolean drawDebugHitboxes = false;
/** Whether to draw avoidance fields. */
public static boolean debugDrawAvoidance = false;
/** Whether the on-disk server file cache has been loaded. */
+15 -47
View File
@@ -83,7 +83,6 @@ public class ControlPathfinder implements Runnable{
private static final int updateStepInterval = 200;
private static final int updateFPS = 30;
private static final int updateInterval = 1000 / updateFPS, invalidateCheckInterval = 1000;
private static final PathfindResult pathResult = new PathfindResult();
static final int clusterSize = 12;
@@ -1087,42 +1086,14 @@ public class ControlPathfinder implements Runnable{
return raycast(unit.team().id, unit.type.pathCost, x1, y1, x2, y2);
}
public static class PathfindResult{
/** If true, the request cannot be satisfied. */
public boolean unreachable;
/** If true, the request is ready to execute. */
public boolean move;
/** If move is true, this is the next tile to move on. Don't use this unless you know what you are doing. */
public @Nullable Tile next;
/** Destination vector. Only valid if move is true. */
public Vec2 dest = new Vec2();
}
@Deprecated
public boolean getPathPosition(Unit unit, Vec2 destination, Vec2 out, @Nullable boolean[] noResultFound){
var result = getPathPosition(unit, destination, destination);
out.set(result.dest);
if(noResultFound != null) noResultFound[0] = result.unreachable;
return result.move;
return getPathPosition(unit, destination, destination, out, noResultFound);
}
@Deprecated
public boolean getPathPosition(Unit unit, Vec2 destination, Vec2 mainDestination, Vec2 out, @Nullable boolean[] noResultFound){
var result = getPathPosition(unit, destination, mainDestination);
out.set(result.dest);
if(noResultFound != null) noResultFound[0] = result.unreachable;
return result.move;
}
public PathfindResult getPathPosition(Unit unit, Vec2 destination){
return getPathPosition(unit, destination, destination);
}
public PathfindResult getPathPosition(Unit unit, Vec2 destination, Vec2 mainDestination){
pathResult.unreachable = false;
pathResult.move = false;
pathResult.next = null;
pathResult.dest.setZero();
if(noResultFound != null){
noResultFound[0] = false;
}
int costId = unit.type.pathCostId;
PathCost cost = idToCost(costId);
@@ -1166,9 +1137,8 @@ public class ControlPathfinder implements Runnable{
//if the destination can be trivially reached in a straight line, do that.
if(raycastResult){
pathResult.dest.set(destination);
pathResult.move = true;
return pathResult;
out.set(destination);
return true;
}
boolean any = false;
@@ -1184,7 +1154,7 @@ public class ControlPathfinder implements Runnable{
FieldCache fieldCache = null;
try{
fieldCache = fields.get(fieldKey);
}catch(Exception ignored){ //TODO fix this, rare crash due to remove() elsewhere
}catch(ArrayIndexOutOfBoundsException ignored){ //TODO fix this, rare crash due to remove() elsewhere
}
if(fieldCache == null) fieldCache = request.oldCache;
@@ -1251,7 +1221,6 @@ public class ControlPathfinder implements Runnable{
recalc = true;
any = true;
}
pathResult.next = current;
break;
}else{
@@ -1281,10 +1250,9 @@ public class ControlPathfinder implements Runnable{
if(showDebug && Core.graphics.getFrameId() % 30 == 0){
Fx.breakBlock.at(request.lastTargetTile.worldx(), request.lastTargetTile.worldy(), 1);
}
pathResult.dest.set(request.lastTargetTile.worldx(), request.lastTargetTile.worldy());
pathResult.move = true;
out.set(request.lastTargetTile.worldx(), request.lastTargetTile.worldy());
request.lastTile = recalc ? -1 : initialTileOn.pos();
return pathResult;
return true;
}
}
}else{
@@ -1304,16 +1272,16 @@ public class ControlPathfinder implements Runnable{
recalculatePath(f);
});
pathResult.move = false;
return pathResult;
return false;
}
pathResult.move = false;
pathResult.unreachable = request.notFound;
return pathResult;
if(noResultFound != null){
noResultFound[0] = request.notFound;
}
return false;
}
private void recalculatePath(ControlPathfinder.PathRequest request){
private void recalculatePath(PathRequest request){
initializePathRequest(request, request.team, request.costId, request.unit.tileX(), request.unit.tileY(), request.destination % wwidth, request.destination / wwidth);
}
+2 -1
View File
@@ -69,7 +69,8 @@ public class Pathfinder implements Runnable{
//water
(team, tile) ->
(!PathTile.liquid(tile) || (PathTile.solid(tile) && (PathTile.team(tile) == team || PathTile.team(tile) == 0)) ? 7000 : 1 + PathTile.health(tile) * 5) +
(!PathTile.liquid(tile) || (PathTile.solid(tile) && (PathTile.team(tile) == team || PathTile.team(tile) == 0)) ? 7000 : 1) +
PathTile.health(tile) * 5 +
(PathTile.nearGround(tile) || PathTile.nearSolid(tile) ? 14 : 0) +
(PathTile.deep(tile) ? 0 : 1) +
(PathTile.damages(tile) ? 35 : 0),
+2 -3
View File
@@ -11,7 +11,6 @@ import mindustry.ai.types.*;
import mindustry.content.*;
import mindustry.core.*;
import mindustry.entities.*;
import mindustry.entities.comp.*;
import mindustry.game.EventType.*;
import mindustry.game.Teams.*;
import mindustry.gen.*;
@@ -161,7 +160,7 @@ public class RtsAI{
ay /= units.size;
if(debug){
Vars.ui.showLabel("Squad: " + units.size, -1, 2f, ax, ay, WorldLabel.flagBackground | WorldLabel.flagAutoscale);
Vars.ui.showLabel("Squad: " + units.size, -1, 2f, ax, ay);
}
Building defend = null;
@@ -193,7 +192,7 @@ public class RtsAI{
defend = best;
if(debug){
Vars.ui.showLabel("Defend, dst = " + (int)(best.dst(ax, ay)), -1, 8f, best.x, best.y, WorldLabel.flagBackground | WorldLabel.flagAutoscale);
Vars.ui.showLabel("Defend, dst = " + (int)(best.dst(ax, ay)), -1, 8f, best.x, best.y);
}
if(best instanceof CoreBuild){
+12 -9
View File
@@ -18,6 +18,7 @@ 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;
@@ -321,22 +322,24 @@ public class CommandAI extends AIController{
timeSpentBlocked = 0f;
}
boolean unreachable = false;
//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{
var result = controlPath.getPathPosition(unit, vecMovePos, targetPos);
move &= controlPath.getPathPosition(unit, vecMovePos, targetPos, vecOut, noFound) && (!blockingUnit || timeSpentBlocked > maxBlockTime);
unreachable = result.unreachable;
move &= result.move && (!blockingUnit || timeSpentBlocked > maxBlockTime);
if(result.move) vecOut.set(result.dest);
//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);
}*/
//do not wiggle in place
if(unit.type.naval && result.next != null && !unit.canPass(result.next.x, result.next.y) && move && unit.tileOn() == world.tileWorld(vecOut.x, vecOut.y)){
if(unit.type.naval && move && unit.tileOn() == world.tileWorld(vecOut.x, vecOut.y)){
move = false;
}
}
@@ -347,7 +350,7 @@ public class CommandAI extends AIController{
isFinalPoint &= vecMovePos.epsilonEquals(vecOut, 4.1f);
//if the path is invalid, stop trying and record the end as unreachable
if(unit.team.isAI() && (unreachable || unit.isPathImpassable(World.toTile(vecMovePos.x), World.toTile(vecMovePos.y)))){
if(unit.team.isAI() && (noFound[0] || unit.isPathImpassable(World.toTile(vecMovePos.x), World.toTile(vecMovePos.y)))){
if(attackTarget instanceof Building build){
unreachableBuildings.addUnique(build.pos());
}
@@ -390,7 +393,7 @@ public class CommandAI extends AIController{
//reached destination, end pathfinding
if(attackTarget == null && (unit.within(vecMovePos, command.exactArrival && commandQueue.size == 0 ? 1f : Math.max(5f, unit.hitSize / 2f)) ||
//for circling units, it doesn't need to reach the exact waypoint.
(!unit.type.omniMovement && unit.type.flying && !unit.type.rotateMoveFirst && !command.exactArrival && Angles.angleDist(unit.angleTo(vecMovePos), unit.rotation) > 60f &&
(!unit.type.omniMovement && !unit.type.rotateMoveFirst && !command.exactArrival && Angles.angleDist(unit.angleTo(vecMovePos), unit.rotation) > 60f &&
unit.within(vecMovePos, Math.min(50f, 360f / unit.type.rotateSpeed * unit.type.speed / (Mathf.pi * 2f)))))){
finishPath();
}
+2 -3
View File
@@ -74,9 +74,8 @@ public class LogicAI extends AIController{
if(unit.isFlying()){
moveTo(Tmp.v1.set(moveX, moveY), 1f, 30f);
}else{
var result = controlPath.getPathPosition(unit, Tmp.v2.set(moveX, moveY));
if(result.move){
moveTo(result.dest, 1f, Tmp.v2.epsilonEquals(result.dest, 4.1f) ? 30f : 0f);
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);
}
}
}
@@ -1,11 +0,0 @@
package mindustry.audio;
import arc.audio.*;
import arc.math.geom.*;
public interface AmbientSource extends Position{
boolean isValid();
boolean shouldAmbientSound();
float getAmbientVolume();
Sound getAmbientSound();
}
+76 -242
View File
@@ -13,8 +13,6 @@ import mindustry.content.*;
import mindustry.game.EventType.*;
import mindustry.gen.*;
import java.util.concurrent.*;
import static mindustry.Vars.*;
/** Controls playback of multiple audio tracks.*/
@@ -37,10 +35,6 @@ public class SoundControl{
protected float fade;
protected boolean silenced, keepSilent;
protected @Nullable AudioThread ambientThread;
protected boolean launchingAmbientThread;
protected Seq<SoundData> localData = new Seq<>();
protected boolean wasPlaying;
protected AudioFilter filter = new BiquadFilter(){{
set(0, 500, 1);
@@ -70,13 +64,6 @@ public class SoundControl{
//stop all in-game voices
Core.audio.soundBus.stop();
Core.audio.soundBus.play();
launchingAmbientThread = false;
if(ambientThread != null){
ambientThread.running = false;
ambientThread.interrupt();
ambientThread = null;
}
});
}
@@ -103,6 +90,31 @@ public class SoundControl{
Events.fire(new MusicRegisterEvent());
}
public void loop(Sound sound, float volume){
if(Vars.headless) return;
loop(sound, Core.camera.position, volume);
}
public void loop(Sound sound, Position pos, float volume){
loop(sound, pos, volume, 1f);
}
public void loop(Sound sound, Position pos, float volume, float pitch){
if(Vars.headless || sound == Sounds.none || volume <= 0.00001f) return;
float baseVol = sound.calcFalloff(pos.getX(), pos.getY());
float vol = baseVol * volume;
SoundData data = sounds.get(sound, SoundData::new);
data.volume += vol;
data.pitch += pitch * vol;
data.volume = Mathf.clamp(data.volume, 0f, 1f);
data.total += baseVol;
data.totalVolume += vol;
data.sum.add(pos.getX() * baseVol, pos.getY() * baseVol);
}
public void stop(){
silenced = true;
if(current != null){
@@ -186,6 +198,48 @@ public class SoundControl{
keepSilent = true;
}
protected void updateLoops(){
//clear loops when in menu
if(!state.isGame()){
sounds.clear();
return;
}
if(state.isPaused()) return;
float avol = Core.settings.getInt("ambientvol", 100) / 100f;
sounds.each((sound, data) -> {
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);
float pitch = Mathf.zero(data.totalVolume, 0.0001f) ? 1f : data.pitch / data.totalVolume;
if(data.soundID <= 0 || !Core.audio.isPlaying(data.soundID)){
if(play){
data.soundID = sound.loop(data.curVolume, pitch, pan);
Core.audio.protect(data.soundID, true);
}
}else{
if(data.curVolume <= 0.001f){
sound.stop();
data.soundID = -1;
return;
}
Core.audio.set(data.soundID, pan, data.curVolume);
if(!Mathf.equal(pitch, 1f, 0.001f)){
Core.audio.setPitch(data.soundID, pitch);
}
}
data.pitch = 0f;
data.volume = 0f;
data.total = 0f;
data.totalVolume = 0f;
data.sum.setZero();
});
}
public void playMusic(@Nullable Music music, boolean interrupt){
if(interrupt && current != null){
current.stop();
@@ -321,6 +375,15 @@ public class SoundControl{
play(null);
}
protected static class SoundData{
float volume, pitch;
float total;
Vec2 sum = new Vec2();
int soundID;
float curVolume, totalVolume;
}
public static @Nullable Music findMusic(String name){
if(name == null) return null;
Music cached = Core.assets.getOrNull(name, Music.class);
@@ -330,233 +393,4 @@ public class SoundControl{
if(cached == null) cached = Core.assets.getOrNull("music/" + name + ".mp3", Music.class);
return cached;
}
//loop system
public void loop(Sound sound, float volume){
if(Vars.headless) return;
loop(sound, Core.camera.position, volume);
}
public void loop(Sound sound, Position pos, float volume){
loop(sound, pos, volume, 1f);
}
public void loop(Sound sound, Position pos, float volume, float pitch){
if(Vars.headless || sound == Sounds.none || volume <= 0.00001f) return;
loop(sounds.get(sound, SoundData::new), sound, pos, volume, pitch);
}
static void loop(SoundData data, Sound sound, Position pos, float volume, float pitch){
float baseVol = sound.calcFalloff(pos.getX(), pos.getY());
float vol = baseVol * volume;
data.volume += vol;
data.pitch += pitch * vol;
data.volume = Mathf.clamp(data.volume, 0f, 1f);
data.total += baseVol;
data.totalVolume += vol;
data.sumX += pos.getX() * baseVol;
data.sumY += pos.getY() * baseVol;
}
public void addAmbientSource(AmbientSource source){
if(headless) return;
if(launchingAmbientThread && ambientThread != null){
ambientThread.sources.add(source); //directly add to buffer while thread is launching; this prevents a million add calls to the queue during map load
}else if(ambientThread != null){
ambientThread.inputSources.add(source);
}else{
launchingAmbientThread = true;
ambientThread = new AudioThread();
ambientThread.setDaemon(true);
//start thread with all the sources that were added during launch
Core.app.post(() -> {
if(ambientThread != null){
if(!ambientThread.isAlive()) ambientThread.start();
launchingAmbientThread = false;
}
});
}
}
protected void updateLoops(){
//clear loops when in menu
if(!state.isGame()){
sounds.clear();
return;
}
if(state.isPaused()) return;
float avol = Core.settings.getInt("ambientvol", 100) / 100f;
sounds.each((sound, data) -> {
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.sumX / data.total, data.sumY / data.total);
float pitch = Mathf.zero(data.totalVolume, 0.0001f) ? 1f : data.pitch / data.totalVolume;
if(data.soundID <= 0 || !Core.audio.isPlaying(data.soundID)){
if(play){
data.soundID = sound.loop(data.curVolume, pitch, pan);
Core.audio.protect(data.soundID, true);
}
}else{
if(data.curVolume <= 0.001f){
sound.stop();
data.soundID = -1;
return;
}
Core.audio.set(data.soundID, pan, data.curVolume);
if(!Mathf.equal(pitch, 1f, 0.001f)){
Core.audio.setPitch(data.soundID, pitch);
}
}
data.pitch = 0f;
data.volume = 0f;
data.total = 0f;
data.totalVolume = 0f;
data.sumX = 0f;
data.sumY = 0f;
});
//grab data from ambient thread
if(ambientThread != null){
synchronized(ambientThread.outputData){
localData.set(ambientThread.outputData);
}
for(var data : localData){
var target = sounds.get(data.sound, SoundData::new);
target.pitch = data.pitch;
target.volume = data.volume;
target.total = data.total;
target.totalVolume = data.totalVolume;
target.sumX = data.sumX;
target.sumY = data.sumY;
}
}
}
protected static class SoundData implements Cloneable{
float volume, pitch;
float total;
float sumX, sumY;
int soundID;
float curVolume, totalVolume;
Sound sound;
@Override
public SoundData clone(){
try{
return (SoundData)super.clone();
}catch(CloneNotSupportedException e){
throw new AssertionError("death");
}
}
}
static class AudioThread extends Thread{
static final int targetFps = 20;
static final long targetNanos = Time.millisToNanos(1000) / targetFps;
volatile boolean running = true;
Seq<AmbientSource> sources = new Seq<>(false, 16, AmbientSource.class);
LinkedBlockingQueue<AmbientSource> inputSources = new LinkedBlockingQueue<>();
ObjectMap<Sound, SoundData> sounds = new ObjectMap<>();
//buffer that is built up on the audio thread
final Seq<SoundData> localData = new Seq<>();
//buffer for output sound data
final Seq<SoundData> outputData = new Seq<>();
void doLoop(){
var items = sources.items;
int size = sources.size;
localData.size = 0;
AmbientSource source;
while((source = inputSources.poll()) != null){
sources.add(source);
}
for(int i = 0; i < size; i++){
var item = items[i];
if(item.isValid()){
if(item.shouldAmbientSound()){
float volume = item.getAmbientVolume();
if(volume > 0.00001f){
Sound sound = item.getAmbientSound();
var data = sounds.get(sound, SoundData::new);
data.sound = sound;
boolean silent = data.volume == 0f;
loop(data, sound, item, volume, 1f);
if(silent && data.volume > 0f){
localData.add(data);
}
}
}
}else{
sources.remove(i); //unordered swap
i --;
size --;
}
}
//copy built-up data to output buffer
synchronized(outputData){
outputData.size = 0;
for(var data : localData){
//this allocates, which is bad, but it only happens at 20fps with a few audio types at most
outputData.add(data.clone());
}
}
//reset data for next iteration
sounds.each((sound, data) -> {
data.pitch = 0f;
data.volume = 0f;
data.total = 0f;
data.totalVolume = 0f;
data.sumX = 0f;
data.sumY = 0f;
});
}
@Override
public void run(){
try{
while(running){
long nanos = Time.nanos();
if(state.isMenu()) break;
if(state.isPlaying()){
doLoop();
}
long elapsed = Time.timeSinceNanos(nanos);
if(elapsed < targetNanos){
long remaining = targetNanos - elapsed;
Thread.sleep(remaining / Time.nanosPerMilli, (int)(remaining % Time.nanosPerMilli));
}
}
}catch(InterruptedException e){
//exit
}
}
}
}
+20 -8
View File
@@ -110,7 +110,7 @@ public class Blocks{
//defense - erekir
radar,
buildTower,
regenProjector, shockwaveTower,
regenProjector, barrierProjector, shockwaveTower,
//campaign only
shieldProjector,
largeShieldProjector,
@@ -1503,7 +1503,7 @@ public class Blocks{
}};
smallHeatRedirector = new HeatConductor("small-heat-redirector"){{
requirements(Category.crafting, with(Items.surgeAlloy, 3, Items.graphite, 8));
requirements(Category.crafting, with(Items.surgeAlloy, 8, Items.graphite, 8));
researchCostMultiplier = 2f;
researchCostMultipliers.put(Items.graphite, 7f);
@@ -2034,6 +2034,19 @@ public class Blocks{
}});
}};
//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));
@@ -2068,15 +2081,16 @@ public class Blocks{
conveyor = new Conveyor("conveyor"){{
requirements(Category.distribution, with(Items.copper, 1));
health = 45;
speed = 0.046f;
displayedSpeed = 6.5f;
speed = 0.03f;
displayedSpeed = 4.2f;
buildCostMultiplier = 2f;
researchCost = with(Items.copper, 5);
}};
titaniumConveyor = new Conveyor("titanium-conveyor"){{
requirements(Category.distribution, with(Items.copper, 1, Items.lead, 1, Items.titanium, 1));
health = 65;
speed = 0.0801f;
speed = 0.08f;
displayedSpeed = 10f;
}};
@@ -2099,7 +2113,7 @@ public class Blocks{
speed = 26;
capacity = 6;
health = 30;
buildCostMultiplier = 3f;
buildCostMultiplier = 6f;
}};
itemBridge = new BufferedItemBridge("bridge-conveyor"){{
@@ -2437,7 +2451,6 @@ public class Blocks{
underBullets = true;
health = 250;
explosivenessScale = flammabilityScale = 20f/120f;
floating = true;
((Conduit)reinforcedConduit).rotBridgeReplacement = this;
}};
@@ -2680,7 +2693,6 @@ public class Blocks{
laserColor2 = Color.valueOf("ffd9c2");
laserScale = 0.8f;
scaledHealth = 130;
useLod = false;
}};
turbineCondenser = new ThermalGenerator("turbine-condenser"){{
-1
View File
@@ -142,7 +142,6 @@ public class Planets{
r.waveTeam = Team.crux;
r.placeRangeCheck = false;
r.hideSpawns = true;
r.derelictRepair = true;
r.coreDestroyClear = true;
};
showRtsAIRule = true;
@@ -41,8 +41,8 @@ public class SerpuloTechTree{
node(itemBridge, () -> {
node(titaniumConveyor, Seq.with(new SectorComplete(crateredBattleground)), () -> {
node(massDriver, Seq.with(new SectorComplete(tarFields)), () -> {
node(phaseConveyor, () -> {
node(phaseConveyor, () -> {
node(massDriver, Seq.with(new SectorComplete(tarFields)), () -> {
});
});
@@ -53,8 +53,8 @@ public class SerpuloTechTree{
});
});
node(plastaniumConveyor, () -> {
node(armoredConveyor, () -> {
node(armoredConveyor, () -> {
node(plastaniumConveyor, () -> {
});
});
-6
View File
@@ -401,8 +401,6 @@ public class Control implements ApplicationListener, Loadable{
ui.loadAnd(() -> {
logic.reset();
world.loadMap(map, rules);
var oldRules = state.rules;
rules.retainContentFields(oldRules);
state.rules = rules;
if(playtest) state.playtestingMap = map;
state.rules.sector = null;
@@ -697,10 +695,6 @@ public class Control implements ApplicationListener, Loadable{
if(Float.isNaN(camera.position.x)) camera.position.x = world.unitWidth()/2f;
if(Float.isNaN(camera.position.y)) camera.position.y = world.unitHeight()/2f;
if(!scene.hasKeyboard()){
if(Core.input.keyTap(Binding.performanceMetrics)) Core.settings.toggle("showperformance");
}
if(state.isGame()){
input.update();
input.updateSelectQuadtree();
+3
View File
@@ -8,6 +8,7 @@ import mindustry.gen.*;
import mindustry.maps.*;
import mindustry.mod.*;
import mindustry.type.*;
import mindustry.world.*;
import mindustry.world.blocks.*;
import static mindustry.Vars.*;
@@ -43,6 +44,8 @@ public class GameState{
public Attributes envAttrs = new Attributes();
/** Team data. Gets reset every new game. */
public Teams teams = new Teams();
/** Runs liquids in a new thread. */
public LiquidManager liquids = new LiquidManager();
/** Handles JSON edits of game content. */
public DataManager data = new DataManager();
/** Number of enemies in the game; only used clientside in servers. */
+6 -36
View File
@@ -302,6 +302,7 @@ public class Logic implements ApplicationListener{
Events.fire(new ResetEvent());
world.tiles = new Tiles(0, 0);
state.liquids.stop();
state.data.unload();
State prev = state.getState();
//recreate gamestate - sets state to menu
@@ -460,44 +461,11 @@ public class Logic implements ApplicationListener{
Core.settings.manualSave();
}
protected void updateEntities(){
PerfCounter.entityUpdate.begin();
PerfCounter.entityMisc.begin();
Groups.updatePooling();
Groups.bullet.updatePhysics();
Groups.unit.updatePhysics();
Groups.all.update();
PerfCounter.entityMisc.end();
PerfCounter.unitUpdate.begin();
Groups.unit.update();
PerfCounter.unitUpdate.end();
PerfCounter.powerUpdate.begin();
if(!state.isEditor()) Groups.powerGraph.update();
PerfCounter.powerUpdate.end();
PerfCounter.buildingUpdate.begin();
if(!state.isEditor()) Groups.build.update();
PerfCounter.buildingUpdate.end();
PerfCounter.bulletUpdate.begin();
Groups.bullet.update();
Groups.bullet.collide();
PerfCounter.bulletUpdate.end();
PerfCounter.entityUpdate.end();
}
@Override
public void update(){
PerfCounter.frame.end();
PerfCounter.frame.begin();
PerfCounter.stateUpdate.begin();
Events.fire(Trigger.update);
universe.updateGlobal();
@@ -592,12 +560,16 @@ public class Logic implements ApplicationListener{
runWave();
}
state.liquids.checkUpdate();
//apply weather attributes
state.envAttrs.clear();
state.envAttrs.add(state.rules.attributes);
Groups.weather.each(w -> state.envAttrs.add(w.weather.attrs, w.opacity));
updateEntities();
PerfCounter.entityUpdate.begin();
Groups.update();
PerfCounter.entityUpdate.end();
Events.fire(Trigger.afterGameUpdate);
}
@@ -608,8 +580,6 @@ public class Logic implements ApplicationListener{
}else if(netServer.isWaitingForPlayers() && runStateCheck){
checkGameState();
}
PerfCounter.stateUpdate.end(PerfCounter.entityUpdate.latestValueNs());
}
/** @return whether the wave timer is paused due to enemies */
+4 -4
View File
@@ -319,7 +319,7 @@ public class NetClient implements ApplicationListener{
//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);
player.con.blacklist();
netServer.admins.blacklistDos(player.con.address);
return;
}
@@ -373,7 +373,7 @@ public class NetClient implements ApplicationListener{
@Remote(called = Loc.client, variants = Variant.one)
public static void connect(String ip, int port){
if(!steam && (ip.startsWith("steam:") || ip.startsWith("steamserver:"))) return;
if(!steam && ip.startsWith("steam:")) return;
netClient.disconnectQuietly();
logic.reset();
@@ -537,7 +537,7 @@ public class NetClient implements ApplicationListener{
}
}
@Remote(variants = Variant.both, priority = PacketPriority.low, unreliable = true)
@Remote(variants = Variant.one, priority = PacketPriority.low, unreliable = true)
public static void entitySnapshot(short amount, byte[] data){
try{
netClient.lastSnapshotTimestamp = Time.millis();
@@ -591,7 +591,7 @@ public class NetClient implements ApplicationListener{
}
}
@Remote(priority = PacketPriority.low, unreliable = true)
@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, byte tps, long rand0, long rand1, byte[] coreData){
try{
if(wave > state.wave){
+37 -131
View File
@@ -129,11 +129,6 @@ public class NetServer implements ApplicationListener{
private ObjectMap<String, Seq<Cons2<Player, byte[]>>> customBinaryPacketHandlers = new ObjectMap<>();
/** Packet handlers for logic client data */
private ObjectMap<String, Seq<Cons2<Player, Object>>> logicClientDataHandlers = new ObjectMap<>();
/** Reused Seq<Player> for writing entity snapshots per team. */
private Seq<Player> playersToSend = new Seq<>(false);
private Seq<NetConnection> tempConnections = new Seq<>(false);
/** Used for entity snapshot timing. */
public long snapshotSyncTime;
public NetServer(){
@@ -170,12 +165,6 @@ public class NetServer implements ApplicationListener{
if(admins.isIPBanned(con.address) || admins.isSubnetBanned(con.address) || con.kicked || !con.isConnected()) return;
if(admins.checkUuidChanges(con.address, packet.uuid)){
Log.info("Banning IP @ due to more than @ ID changes in @ hour(s).", con.address, Config.uuidChangeLimit.num(), Config.uuidChangeTimePeriod.num());
con.kick(KickReason.banned);
return;
}
if(con.hasBegunConnecting){
con.kick(KickReason.idInUse);
return;
@@ -610,25 +599,25 @@ public class NetServer implements ApplicationListener{
(player.isAdded() ? 4 : 0) |
(player.con.hasBegunConnecting ? 8 : 0);
Call.debugStatusClient(player.con, flags, player.con.lastReceivedClientSnapshot);
Call.debugStatusClientUnreliable(player.con, flags, player.con.lastReceivedClientSnapshot);
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){
logClientStatus(true, value, lastClientSnapshot);
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){
logClientStatus(false, value, lastClientSnapshot);
public static void debugStatusClientUnreliable(int value, int lastClientSnapshot, int snapshotsSent){
logClientStatus(false, value, lastClientSnapshot, snapshotsSent);
}
static void logClientStatus(boolean reliable, int value, int lastClientSnapshot){
Log.info("@ Debug status received. disconnected = @, connected = @, added = @, begunConnecting = @ lastClientSnapshot = @",
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
lastClientSnapshot, snapshotsSent
);
}
@@ -1090,7 +1079,7 @@ public class NetServer implements ApplicationListener{
}
}
public void writeStateSnapshot() throws IOException{
public void writeEntitySnapshot(Player player) throws IOException{
byte tps = (byte)Math.min(Core.graphics.getFramesPerSecond(), 255);
syncStream.reset();
int activeTeams = (byte)state.teams.present.count(t -> t.cores.size > 0);
@@ -1108,94 +1097,27 @@ public class NetServer implements ApplicationListener{
dataStream.close();
Call.stateSnapshot(state.wavetime, state.wave, state.enemies, state.isPaused(), state.gameOver,
//write basic state data.
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());
}
/** Does not check isSyncHidden. Call this if no entities are hidden. */
public void writeEntitySnapshotsAll() throws IOException{
syncStream.reset();
int sent = 0;
for(Syncc entity : Groups.sync){
writeEntity(entity, dataStream);
sent++;
if(syncStream.size() > maxSnapshotSize){
dataStream.close();
Call.entitySnapshot((short)sent, syncStream.toByteArray());
sent = 0;
syncStream.reset();
}
}
if(sent > 0){
dataStream.close();
Call.entitySnapshot((short)sent, syncStream.toByteArray());
}
}
/** Checks isSyncHidden for only one player per team. Called if FoW is enabled. */
public void writeEntitySnapshotsTeam(Team team, Seq<Player> players) throws IOException{
syncStream.reset();
hiddenIds.clear();
int sent = 0;
tempConnections.clear();
for(Player player : players){
//player.con must not be null here (the players seq must ONLY contain non-local connected clients)
tempConnections.add(player.con);
}
for(Syncc entity : Groups.sync){
if(entity.isSyncHidden(team)){
//TODO write to special list
if(entity.isSyncHidden(player)){
hiddenIds.add(entity.id());
continue;
}
writeEntity(entity, dataStream);
sent++;
if(syncStream.size() > maxSnapshotSize){
dataStream.close();
sendEntitySnapshots(tempConnections, (short)sent, syncStream.toByteArray());
sent = 0;
syncStream.reset();
}
}
if(sent > 0){
dataStream.close();
sendEntitySnapshots(tempConnections, (short)sent, syncStream.toByteArray());
}
if(hiddenIds.size > 0){
var packet = new HiddenSnapshotCallPacket();
packet.ids = hiddenIds;
net.send(packet, tempConnections, false);
}
}
protected void sendEntitySnapshots(Seq<NetConnection> connections, short amount, byte[] data){
var packet = new EntitySnapshotCallPacket();
packet.amount = amount;
packet.data = data;
net.send(packet, connections, false);
}
/** Writes a custom snapshot containing player-local entities; this is for entities other players don't see. */
public void writeCustomEntitySnapshot(Player player, Iterable<Syncc> entities) throws IOException{
syncStream.reset();
int sent = 0;
for(Syncc entity : entities){
writeEntity(entity, dataStream);
//write all entities now
dataStream.writeInt(entity.id()); //write id
dataStream.writeByte(entity.classId() & 0xFF); //write type ID
entity.beforeWrite();
entity.writeSync(dataStreamWrites); //write entity itself
sent++;
@@ -1212,13 +1134,12 @@ public class NetServer implements ApplicationListener{
Call.entitySnapshot(player.con, (short)sent, syncStream.toByteArray());
}
}
protected void writeEntity(Syncc entity, DataOutputStream dataStream) throws IOException{
dataStream.writeInt(entity.id());
dataStream.writeByte(entity.classId() & 0xFF);
entity.beforeWrite();
entity.writeSync(dataStreamWrites);
if(hiddenIds.size > 0){
Call.hiddenSnapshot(player.con, hiddenIds);
}
player.con.snapshotsSent++;
}
public String fixName(String name){
@@ -1276,37 +1197,22 @@ public class NetServer implements ApplicationListener{
Groups.player.each(p -> !p.isLocal(), player -> {
if(player.con == null || !player.con.isConnected()){
onDisconnect(player, "disappeared");
return;
}
var connection = player.con;
if(Time.timeSinceMillis(connection.syncTime) < interval || !connection.hasConnected) return;
connection.syncTime = Time.millis();
try{
writeEntitySnapshot(player);
}catch(IOException e){
Log.err(e);
}
});
if(Time.timeSinceMillis(snapshotSyncTime) >= interval){
snapshotSyncTime = Time.millis();
writeStateSnapshot();
if(Vars.state.rules.fog){
//Serialize by teams
for(Team team : Team.all){ //Not Teams.active, because players can be on inactive teams
var tdata = team.data();
playersToSend.selectFrom(tdata.players, p -> !p.isLocal() && p.con.hasConnected);
if(!playersToSend.isEmpty()){
writeEntitySnapshotsTeam(team, playersToSend);
}
}
}else{
//Serialize once for all players
writeEntitySnapshotsAll();
}
//write custom player-specific entities (usually labels)
for(Player player : Groups.player){
if(player.con != null && player.con.hasConnected && player.con.localEntities.size > 0){
writeCustomEntitySnapshot(player, player.con.localEntities);
}
}
}
if(Groups.player.size() > 0 && Core.settings.getBool("blocksync") && blockSyncTime.poll()){
writeBlockSnapshots();
}
+1 -61
View File
@@ -1,6 +1,5 @@
package mindustry.core;
import arc.*;
import arc.math.*;
import arc.util.*;
@@ -8,86 +7,31 @@ import arc.util.*;
public enum PerfCounter{
frame,
update,
other,
stateUpdate,
entityMisc,
entityUpdate,
buildingUpdate,
powerUpdate,
unitUpdate,
bulletUpdate,
ui,
render;
public static final PerfCounter[] all = values();
public static final PerfCounter[] displayedCounters = {
powerUpdate,
buildingUpdate,
entityMisc,
bulletUpdate,
unitUpdate,
render,
ui,
stateUpdate,
other
};
static final int meanWindow = 120;
static final int refreshTimeMillis = 100;
private long lastUpdateFrame = -1;
private long valueRefreshTime;
private float refreshValue;
private long beginTime;
private long partValue;
private boolean began = false;
private WindowedMean mean = new WindowedMean(meanWindow);
public void add(long nanos){
mean.add(nanos);
lastUpdateFrame = Core.graphics.getFrameId();
}
public void begin(){
lastUpdateFrame = Core.graphics.getFrameId();
began = true;
beginTime = Time.nanos();
}
public void end(){
end(0);
}
public void end(long subtract){
if(!began) return;
lastUpdateFrame = Core.graphics.getFrameId();
began = false;
mean.add(Time.timeSinceNanos(beginTime) - subtract);
}
public void checkUpdate(){
if(lastUpdateFrame < Core.graphics.getFrameId()){
mean.add(0f);
}
}
public void beginPart(){
began = true;
beginTime = Time.nanos();
}
public void endPart(){
if(!began) return;
began = false;
partValue += Time.timeSinceNanos(beginTime);
}
public void finishParts(){
lastUpdateFrame = Core.graphics.getFrameId();
mean.add(partValue);
partValue = 0;
mean.add(Time.timeSinceNanos(beginTime));
}
/** Value with a periodic refresh interval applied, to prevent jittery UI. */
@@ -99,10 +43,6 @@ public enum PerfCounter{
return refreshValue;
}
public long latestValueNs(){
return (long)mean.latest();
}
/** Raw value without a refresh interval. This will be unstable. */
public float rawValueMs(){
return mean.rawMean() / Time.nanosPerMilli;
+1 -1
View File
@@ -98,7 +98,7 @@ public interface Platform{
return uuid;
}
/** Only used for iOS: open the share menu for a map or save. */
/** Only used for iOS or android: open the share menu for a map or save. */
default void shareFile(Fi file){
}
+6 -4
View File
@@ -159,7 +159,7 @@ public class Renderer implements ApplicationListener{
baseTarget = Mathf.lerp(minZoom, maxZoom, control.input.logicCutsceneZoom);
}
float dest = Mathf.clamp(baseTarget, minScale(), maxScale());
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;
@@ -418,7 +418,7 @@ public class Renderer implements ApplicationListener{
Groups.draw.draw(Drawc::draw);
if(settings.getBool("drawhitboxes")){
if(drawDebugHitboxes){
DebugCollisionRenderer.draw();
}
@@ -519,11 +519,13 @@ public class Renderer implements ApplicationListener{
}
public float minScale(){
return control.input.logicCutscene ? Scl.scl(minZoom) : Scl.scl(minZoomInGame);
if(control.input.logicCutscene) return Scl.scl(minZoom);
return Scl.scl(minZoomInGame);
}
public float maxScale(){
return (float)(control.input.logicCutscene ? Mathf.round(Scl.scl(maxZoom)) : Mathf.round(Scl.scl(maxZoomInGame)));
if(control.input.logicCutscene) return Mathf.round(Scl.scl(maxZoom));
return Mathf.round(Scl.scl(maxZoomInGame));
}
public float getScale(){
+25 -21
View File
@@ -48,7 +48,6 @@ public class UI implements ApplicationListener, Loadable{
public PlayerListFragment listfrag;
public LoadingFragment loadfrag;
public HintsFragment hints;
public PerformanceFragment perffrag;
public WidgetGroup menuGroup, hudGroup;
@@ -90,14 +89,9 @@ public class UI implements ApplicationListener, Loadable{
/** Maps popups to ids so that they can be removed or updated by id. */
private final ObjectMap<String, Table> popups = new ObjectMap<>();
/** Maps labels to ids so that they can be removed or updated by id. */
private final IntMap<WorldLabel> labels = new IntMap<>();
private final IntMap<Table> labels = new IntMap<>();
public UI(){
Events.on(ResetEvent.class, e -> {
labels.clear();
popups.clear();
});
Fonts.loadFonts();
}
@@ -199,7 +193,6 @@ public class UI implements ApplicationListener, Loadable{
listfrag = new PlayerListFragment();
loadfrag = new LoadingFragment();
consolefrag = new ConsoleFragment();
perffrag = new PerformanceFragment();
picker = new ColorPicker();
effects = new EffectsDialog();
@@ -250,7 +243,6 @@ public class UI implements ApplicationListener, Loadable{
listfrag.build(hudGroup);
consolefrag.build(hudGroup);
loadfrag.build(group);
perffrag.build(group);
new FadeInFragment().build(group);
}
@@ -445,22 +437,34 @@ public class UI implements ApplicationListener, Loadable{
}
/** Shows a label in the world. This label is behind everything. Does not fade. */
public void showLabel(@Nullable String info, int id, float duration, float worldx, float worldy, int flags){
public void showLabel(@Nullable String info, int id, float duration, float worldx, float worldy){
if(info == null){ // null info allows deletion of old labels provided they have ids
var label = labels.remove(id);
if(label != null) label.remove();
var table = labels.remove(id);
if(table != null) table.remove();
return;
}
var table = new Table(Styles.black3).margin(4);
if(id != -1){
Table old = labels.put(id, table);
if(old != null) old.remove();
}
table.touchable = Touchable.disabled;
table.update(() -> {
if(state.isMenu()){
table.remove();
if(id != -1) labels.remove(id);
}
Vec2 v = Core.camera.project(worldx, worldy);
table.setPosition(v.x, v.y, Align.center);
});
table.actions(Actions.delay(duration), Actions.remove(), Actions.run(() -> { if(id != -1) labels.remove(id); }));
table.add(info).style(Styles.outlineLabel);
table.pack();
table.act(0f);
//make sure it's at the back
Core.scene.root.addChildAt(0, table);
var label = id == -1 ? WorldLabel.create() : labels.get(id, WorldLabel::create); // todo: pool?
label.id = Integer.MIN_VALUE; //arbitrary value that won't be synced to, it's fine if IDs conflict
label.x = worldx;
label.y = worldy;
label.text = info;
label.flags = (byte)flags; // flag | flag2 at call site turns it into an int so the flags param here has to be int or casting has to be done at every call site
label.duration = duration == Float.MAX_VALUE ? -1 : duration; // prefer -1 to Float.MAX_VALUE so that the update() function isn't called every tick
if(id != -1 && label.duration >= 0 && label.expired == null) label.expired = () -> labels.remove(id); // only set once to prevent extra garbage for updated labels
label.add();
table.getChildren().first().act(0f);
}
public void showInfo(String info){
+4 -3
View File
@@ -308,16 +308,17 @@ public class World{
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 && !tile.block().isStatic()) content.add(tile.floor().itemDrop);
if(tile.overlay().itemDrop != null && !tile.block().isStatic()) 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 && !tile.block().isStatic()) content.add(liquid);
if(liquid != null && tile.block() == Blocks.air) content.add(liquid);
}
state.rules.limitMapArea = border;
-5
View File
@@ -65,11 +65,6 @@ public abstract class Content implements Comparable<Content>{
return !isVanilla();
}
/** @return whether this content is from a map data patch. */
public boolean isPatchContent(){
return minfo.mod == DataPatcher.dpMod;
}
@Override
public int compareTo(Content c){
return Integer.compare(id, c.id);
@@ -138,7 +138,7 @@ public abstract class UnlockableContent extends MappableContent{
}
public String displayDescription(){
return minfo.mod == null || isPatchContent() ? 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. */
+1 -1
View File
@@ -188,7 +188,7 @@ public class EditorTile extends Tile{
}
private void updateStatic(){
if(!headless) editor.renderer.updateStatic(x, y);
editor.renderer.updateStatic(x, y);
}
private boolean skip(){
+2 -2
View File
@@ -56,7 +56,7 @@ public class MapEditor{
tags.put("steamid", map.file.parent().name());
}
load(() -> MapIO.loadMap(map, context));
if(!headless) renderer.resize(width(), height());
renderer.resize(width(), height());
loading = false;
}
@@ -65,7 +65,7 @@ public class MapEditor{
createTiles(pixmap.width, pixmap.height);
load(() -> MapIO.readImage(pixmap, tiles()));
if(!headless) renderer.resize(width(), height());
renderer.resize(width(), height());
}
public void updateRenderer(){
@@ -350,6 +350,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
}
}
Groups.build.clear();
Groups.weather.clear();
logic.play();
@@ -428,7 +429,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
editor.tags.put("steamid", map.tags.get("steamid"));
workshop = true;
}
returned = maps.saveMap(editor.tags, false);
returned = maps.saveMap(editor.tags);
if(workshop){
returned.workshop = workshop;
}
@@ -787,11 +788,7 @@ public class MapEditorDialog extends Dialog implements Disposable{
}
private void tryExit(){
ui.showConfirm("@confirm", "@editor.unsaved", () -> {
//clears data patches
logic.reset();
hide();
});
ui.showConfirm("@confirm", "@editor.unsaved", this::hide);
}
private void addBlockSelection(Table cont){
@@ -91,12 +91,12 @@ public class MapGenerateDialog extends BaseDialog{
p.table(Tex.button, in -> {
in.defaults().size(280f, 60f).left();
in.button("@copy.clipboard", Icon.copy, style, () -> {
in.button("@waves.copy", Icon.copy, style, () -> {
dialog.hide();
Core.app.setClipboardText(JsonIO.write(filters));
}).marginLeft(12f).row();
in.button("@load.clipboard", Icon.download, style, () -> {
in.button("@waves.load", Icon.download, style, () -> {
dialog.hide();
try{
filters.set(JsonIO.read(Seq.class, Core.app.getClipboardText()));
+6 -3
View File
@@ -118,10 +118,13 @@ public class MapInfoDialog extends BaseDialog{
r.row();
r.button("@asset.title", Icon.fileCode, style, () -> {
r.button("@patches", Icon.file, style, () -> {
hide();
patches.show();
}).marginLeft(10f).colspan(2).width(460f).row();
}).marginLeft(10f);
//empty space
r.add().marginLeft(10f);
}).colspan(2).center();
name.change();
@@ -129,6 +132,6 @@ public class MapInfoDialog extends BaseDialog{
author.change();
t.margin(16f);
}).growX().scrollX(false);
});
}
}
@@ -430,12 +430,12 @@ public class MapLocalesDialog extends BaseDialog{
p.table(Tex.button, t -> {
t.defaults().size(350f, 60f).left();
t.button("@copy.clipboard", Icon.copy, Styles.flatt, () -> {
t.button("@waves.copy", Icon.copy, Styles.flatt, () -> {
Core.app.setClipboardText(writeLocale(locale));
ui.showInfoFade("@copied");
dialog.hide();
}).marginLeft(12f).row();
t.button("@load.clipboard", Icon.download, Styles.flatt, () -> {
t.button("@waves.load", Icon.download, Styles.flatt, () -> {
locales.put(locale, readLocale(Core.app.getClipboardText()));
buildTables();
saved = false;
@@ -456,12 +456,12 @@ public class MapLocalesDialog extends BaseDialog{
p.table(Tex.button, t -> {
t.defaults().size(450f, 60f).left();
t.button("@copy.clipboard", Icon.copy, Styles.flatt, () -> {
t.button("@waves.copy", Icon.copy, Styles.flatt, () -> {
Core.app.setClipboardText(writeBundles());
ui.showInfoFade("@copied");
dialog.hide();
}).marginLeft(12f).row();
t.button("@load.clipboard", Icon.download, Styles.flatt, () -> {
t.button("@waves.load", Icon.download, Styles.flatt, () -> {
locales = readBundles(Core.app.getClipboardText());
buildTables();
saved = false;
@@ -414,7 +414,7 @@ public class MapObjectivesDialog extends BaseDialog{
t.left();
t.margin(10f);
if(name.length() > 0) t.add(name).color(Pal.accent);
if(name.length() > 0) t.add(name + ":").color(Pal.accent);
t.add().growX();
Cell<ImageButton> remove = null;
@@ -494,13 +494,13 @@ public class MapObjectivesDialog extends BaseDialog{
var style = Styles.cleart;
t.defaults().size(280f, 64f).pad(2f);
t.button("@copy.clipboard", Icon.copy, style, () -> {
t.button("@waves.copy", Icon.copy, style, () -> {
ui.showInfoFade("@copied");
Core.app.setClipboardText(JsonIO.write(new MapObjectives(canvas.objectives)));
dialog.hide();
}).disabled(b -> canvas.objectives.isEmpty()).marginLeft(12f).row();
t.button("@load.clipboard", Icon.download, style, () -> {
t.button("@waves.load", Icon.download, style, () -> {
try{
rebuildObjectives(new Seq<>(JsonIO.read(MapObjectives.class, Core.app.getClipboardText()).all));
}catch(Exception e){
-3
View File
@@ -233,9 +233,6 @@ public class MapView extends Element implements GestureListener{
@Override
public void draw(){
//can cause NaN
if(editor.width() == 0 || editor.height() == 0) return;
float ratio = 1f / ((float)editor.width() / editor.height());
float size = Math.min(width, height);
float sclwidth = size * zoom;
@@ -57,13 +57,13 @@ public class WaveInfoDialog extends BaseDialog{
var style = Styles.cleart;
t.defaults().size(280f, 64f).pad(2f);
t.button("@copy.clipboard", Icon.copy, style, () -> {
t.button("@waves.copy", Icon.copy, style, () -> {
ui.showInfoFade("@waves.copied");
Core.app.setClipboardText(maps.writeWaves(groups));
dialog.hide();
}).disabled(b -> groups == null || groups.isEmpty()).marginLeft(12f).row();
t.button("@load.clipboard", Icon.download, style, () -> {
t.button("@waves.load", Icon.download, style, () -> {
try{
groups = maps.readWaves(Core.app.getClipboardText());
buildGroups();
@@ -48,7 +48,7 @@ public class MapAssetsDialog extends BaseDialog{
private DataAssetType currentType = DataAssetType.music;
public MapAssetsDialog(){
super(""); //title is not displayed
super("@patches");
shown(() -> {
searchString = null;
@@ -94,8 +94,10 @@ public class MapAudioView implements AssetView{
list.button(Icon.trash, Styles.graySquarei, iconMed, () -> {
ui.showConfirm("@asset.delete.confirm", () -> {
if(audioSource != null){
audioSource.dispose();
}
assets.remove(asset);
state.data.reloadAudio();
diag.rebuild();
});
}).size(h);
@@ -104,7 +106,7 @@ public class MapAudioView implements AssetView{
}
if(list.getChildren().isEmpty()){
list.add("@none.found");
list.add("@patch.none");
}
list.add(new Element(){
@@ -140,9 +142,6 @@ public class MapAudioView implements AssetView{
if(other != null){
ui.showErrorMessage(Core.bundle.format("asset.exists", other.name + " (" + other.path + ")"));
return;
}else if(Core.assets.getOrNull("dp-" + name, Music.class) != null || Core.assets.getOrNull("dp-" + name, Sound.class) != null){
ui.showErrorMessage(Core.bundle.format("asset.exists.audio", name));
return;
}
DataAsset asset = (type == DataAssetType.music ? new MusicAsset() : new SoundAsset());
@@ -71,7 +71,7 @@ public class MapBundlesView implements AssetView{
TextButtonStyle style = Styles.flatt;
t.defaults().size(280f, 60f).left();
t.row();
t.button("@load.clipboard", Icon.copy, style, () -> {
t.button("@import.clipboard", Icon.copy, style, () -> {
dialog.hide();
handler.get(Core.app.getClipboardText());
}).marginLeft(12f).disabled(b -> Core.app.getClipboardText() == null);
@@ -82,7 +82,7 @@ public class MapContentView implements AssetView{
list.add().size(h);
}
list.button(content.content instanceof UnlockableContent u && u.uiIcon != null && (u.uiIcon.found() || u.fullIcon.found()) ? new TextureRegionDrawable(u.uiIcon.found() ? u.uiIcon : u.fullIcon) :
list.button(content.content instanceof UnlockableContent u && (u.uiIcon.found() || u.fullIcon.found()) ? new TextureRegionDrawable(u.uiIcon.found() ? u.uiIcon : u.fullIcon) :
contentIcons.get(content.type, Icon.warning), Styles.graySquarei, iconMed, () -> {}).touchable(Touchable.disabled).size(h);
list.button(("[accent]" + content.name + "\n") + "[lightgray]" + Core.bundle.get("content." + content.type), Styles.grayt, () -> {
@@ -116,7 +116,7 @@ public class MapContentView implements AssetView{
TextButtonStyle style = Styles.flatt;
t.defaults().size(280f, 60f).left();
t.row();
t.button("@load.clipboard", Icon.copy, style, () -> {
t.button("@import.clipboard", Icon.copy, style, () -> {
dialog.hide();
handler.get(Core.app.getClipboardText());
}).marginLeft(12f).disabled(b -> Core.app.getClipboardText() == null);
@@ -45,7 +45,7 @@ public class MapImagesView implements AssetView{
if(width > DataPatcher.maxImageSize || height > DataPatcher.maxImageSize){
ui.showErrorMessage(Core.bundle.format("asset.image.toolarge", width, height, DataPatcher.maxImageSize, DataPatcher.maxImageSize));
continue;
return;
}
String name = result.nameWithoutExtension();
@@ -53,7 +53,7 @@ public class MapImagesView implements AssetView{
var other = images.find(p -> p.path.equalsIgnoreCase(path) || p.name.equalsIgnoreCase(name));
if(other != null){
ui.showErrorMessage(Core.bundle.format("asset.image.exists", other.name + " (" + other.path + ")"));
continue;
return;
}
byte[] hash = assetCache.add(bytes);
@@ -212,7 +212,7 @@ public class MapImagesView implements AssetView{
inner.top().left();
float size = 200f;
int cols = (int)Math.max(1, (Core.graphics.getWidth() - Scl.scl(20f)) * 0.9f / Scl.scl(size + 14f));
int cols = (int)Math.max(1, Core.graphics.getWidth() / Scl.scl(size + 12f));
int i = 0;
for(var image : getImages()){
//showing generated images is confusing, so don't.

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