Merge remote-tracking branch 'origin/master' into patch-4
4
.gitpod.Dockerfile
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
FROM gitpod/workspace-full
|
||||||
|
|
||||||
|
RUN sudo apt-get update \
|
||||||
|
&& sudo apt install ffmpeg -yq
|
||||||
10
.gitpod.yml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
image:
|
||||||
|
file: .gitpod.Dockerfile
|
||||||
|
tasks:
|
||||||
|
- init: yarn && gp sync-done boot
|
||||||
|
- before: cd gulp
|
||||||
|
init: gp sync-await boot && yarn
|
||||||
|
command: yarn gulp
|
||||||
|
ports:
|
||||||
|
- port: 3005
|
||||||
|
onOpen: open-preview
|
||||||
10
README.md
@ -31,6 +31,16 @@ Your goal is to produce shapes by cutting, rotating, merging and painting parts
|
|||||||
|
|
||||||
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify [`src/js/core/config.js`](src/js/core/config.js).
|
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify [`src/js/core/config.js`](src/js/core/config.js).
|
||||||
|
|
||||||
|
## Build Online with one-click setup
|
||||||
|
|
||||||
|
You can use [Gitpod](https://www.gitpod.io/) (an Online Open Source VS Code-like IDE which is free for Open Source) for working on issues and making PRs to this project. With a single click it will start a workspace and automatically:
|
||||||
|
|
||||||
|
- clone the `shapez.io` repo.
|
||||||
|
- install all of the dependencies.
|
||||||
|
- start `gulp` in `gulp/` directory.
|
||||||
|
|
||||||
|
[](https://gitpod.io/from-referrer/)
|
||||||
|
|
||||||
## Helping translate
|
## Helping translate
|
||||||
|
|
||||||
Please checkout the [Translations readme](translations/).
|
Please checkout the [Translations readme](translations/).
|
||||||
|
|||||||
@ -71,10 +71,6 @@ releaseUploader.gulptasksReleaseUploader($, gulp, buildFolder);
|
|||||||
const translations = require("./translations");
|
const translations = require("./translations");
|
||||||
translations.gulptasksTranslations($, gulp, buildFolder);
|
translations.gulptasksTranslations($, gulp, buildFolder);
|
||||||
|
|
||||||
// FIXME
|
|
||||||
// const cordova = require("./cordova");
|
|
||||||
// cordova.gulptasksCordova($, gulp, buildFolder);
|
|
||||||
|
|
||||||
///////////////////// BUILD TASKS /////////////////////
|
///////////////////// BUILD TASKS /////////////////////
|
||||||
|
|
||||||
// Cleans up everything
|
// Cleans up everything
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 132 KiB |
BIN
res/ui/interactive_tutorial.noinline/21_1_place_quad_painter.gif
Normal file
|
After Width: | Height: | Size: 809 KiB |
BIN
res/ui/interactive_tutorial.noinline/21_2_switch_to_wires.gif
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
res/ui/interactive_tutorial.noinline/21_3_place_button.gif
Normal file
|
After Width: | Height: | Size: 531 KiB |
BIN
res/ui/interactive_tutorial.noinline/21_4_press_button.gif
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
res/ui/interactive_tutorial.noinline/2_1_place_cutter.gif
Normal file
|
After Width: | Height: | Size: 502 KiB |
BIN
res/ui/interactive_tutorial.noinline/2_2_place_trash.gif
Normal file
|
After Width: | Height: | Size: 575 KiB |
BIN
res/ui/interactive_tutorial.noinline/2_3_more_cutters.gif
Normal file
|
After Width: | Height: | Size: 776 KiB |
BIN
res/ui/interactive_tutorial.noinline/3_1_rectangles.gif
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
@ -1,36 +1,38 @@
|
|||||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
<path style="fill:#FF4B55;" d="M400,0H112C50.144,0,0,50.144,0,112v288c0,61.856,50.144,112,112,112h288 c61.856,0,112-50.144,112-112V112C512,50.144,461.856,0,400,0z"/>
|
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||||
<polygon style="fill:#F5F5F5;" points="512,229.517 211.862,229.517 211.862,0 158.897,0 158.897,229.517 0,229.517 0,282.483 158.897,282.483 158.897,512 211.862,512 211.862,282.483 512,282.483 "/>
|
<rect style="fill:#FF4B55;" width="512" height="512"/>
|
||||||
<g>
|
<polygon style="fill:#F5F5F5;" points="512,229.517 211.862,229.517 211.862,0 158.897,0 158.897,229.517 0,229.517 0,282.483
|
||||||
</g>
|
158.897,282.483 158.897,512 211.862,512 211.862,282.483 512,282.483 "/>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
<g>
|
<g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
<g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 858 B After Width: | Height: | Size: 786 B |
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
@ -27,7 +27,7 @@
|
|||||||
@include S(border-radius, $globalBorderRadius);
|
@include S(border-radius, $globalBorderRadius);
|
||||||
|
|
||||||
@include DarkThemeOverride {
|
@include DarkThemeOverride {
|
||||||
background-color: rgba(darken($darkModeGameBackground, 15), 0.4);
|
background-color: rgba(darken($darkModeGameBackground, 15), 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.secondary {
|
&.secondary {
|
||||||
|
|||||||
@ -56,8 +56,9 @@
|
|||||||
|
|
||||||
.helperGif {
|
.helperGif {
|
||||||
@include S(margin-top, 5px);
|
@include S(margin-top, 5px);
|
||||||
|
@include S(width, 150px);
|
||||||
@include S(height, 150px);
|
@include S(height, 150px);
|
||||||
background: center center / contain no-repeat;
|
background: center center / cover no-repeat;
|
||||||
transition: opacity 0.1s ease-out;
|
transition: opacity 0.1s ease-out;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,9 +4,7 @@
|
|||||||
left: 0;
|
left: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
display: flex;
|
overflow: auto;
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
pointer-events: all;
|
pointer-events: all;
|
||||||
|
|
||||||
& {
|
& {
|
||||||
@ -33,7 +31,6 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
max-height: 100vh;
|
|
||||||
|
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|||||||
@ -73,8 +73,8 @@ ingame_HUD_KeybindingOverlay,
|
|||||||
ingame_HUD_Notifications,
|
ingame_HUD_Notifications,
|
||||||
ingame_HUD_DebugInfo,
|
ingame_HUD_DebugInfo,
|
||||||
ingame_HUD_EntityDebugger,
|
ingame_HUD_EntityDebugger,
|
||||||
ingame_HUD_InteractiveTutorial,
|
|
||||||
ingame_HUD_TutorialHints,
|
ingame_HUD_TutorialHints,
|
||||||
|
ingame_HUD_InteractiveTutorial,
|
||||||
ingame_HUD_BuildingsToolbar,
|
ingame_HUD_BuildingsToolbar,
|
||||||
ingame_HUD_wires_toolbar,
|
ingame_HUD_wires_toolbar,
|
||||||
ingame_HUD_BlueprintPlacer,
|
ingame_HUD_BlueprintPlacer,
|
||||||
|
|||||||
@ -1,4 +1,13 @@
|
|||||||
export const CHANGELOG = [
|
export const CHANGELOG = [
|
||||||
|
{
|
||||||
|
version: "1.2.1",
|
||||||
|
date: "unreleased",
|
||||||
|
entries: [
|
||||||
|
"Fixed stacking bug for level 26 which required restarting the game",
|
||||||
|
"Fix reward notification being too long sometimes (by LeopoldTal)",
|
||||||
|
"Updated translations",
|
||||||
|
],
|
||||||
|
},
|
||||||
{
|
{
|
||||||
version: "1.2.0",
|
version: "1.2.0",
|
||||||
date: "09.10.2020",
|
date: "09.10.2020",
|
||||||
|
|||||||
@ -1,467 +1,465 @@
|
|||||||
import { createLogger } from "../core/logging";
|
import { createLogger } from "../core/logging";
|
||||||
import { Signal } from "../core/signal";
|
import { Signal } from "../core/signal";
|
||||||
import { fastArrayDelete, fastArrayDeleteValueIfContained } from "./utils";
|
import { fastArrayDelete, fastArrayDeleteValueIfContained } from "./utils";
|
||||||
import { Vector } from "./vector";
|
import { Vector } from "./vector";
|
||||||
import { IS_MOBILE, SUPPORT_TOUCH } from "./config";
|
import { IS_MOBILE, SUPPORT_TOUCH } from "./config";
|
||||||
import { SOUNDS } from "../platform/sound";
|
import { SOUNDS } from "../platform/sound";
|
||||||
import { GLOBAL_APP } from "./globals";
|
import { GLOBAL_APP } from "./globals";
|
||||||
|
|
||||||
const logger = createLogger("click_detector");
|
const logger = createLogger("click_detector");
|
||||||
|
|
||||||
export const MAX_MOVE_DISTANCE_PX = IS_MOBILE ? 20 : 80;
|
export const MAX_MOVE_DISTANCE_PX = IS_MOBILE ? 20 : 80;
|
||||||
|
|
||||||
// For debugging
|
// For debugging
|
||||||
const registerClickDetectors = G_IS_DEV && true;
|
const registerClickDetectors = G_IS_DEV && true;
|
||||||
if (registerClickDetectors) {
|
if (registerClickDetectors) {
|
||||||
/** @type {Array<ClickDetector>} */
|
/** @type {Array<ClickDetector>} */
|
||||||
window.activeClickDetectors = [];
|
window.activeClickDetectors = [];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store active click detectors so we can cancel them
|
// Store active click detectors so we can cancel them
|
||||||
/** @type {Array<ClickDetector>} */
|
/** @type {Array<ClickDetector>} */
|
||||||
const ongoingClickDetectors = [];
|
const ongoingClickDetectors = [];
|
||||||
|
|
||||||
// Store when the last touch event was registered, to avoid accepting a touch *and* a click event
|
// Store when the last touch event was registered, to avoid accepting a touch *and* a click event
|
||||||
|
|
||||||
export let clickDetectorGlobals = {
|
export let clickDetectorGlobals = {
|
||||||
lastTouchTime: -1000,
|
lastTouchTime: -1000,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Click detector creation payload typehints
|
* Click detector creation payload typehints
|
||||||
* @typedef {{
|
* @typedef {{
|
||||||
* consumeEvents?: boolean,
|
* consumeEvents?: boolean,
|
||||||
* preventDefault?: boolean,
|
* preventDefault?: boolean,
|
||||||
* applyCssClass?: string,
|
* applyCssClass?: string,
|
||||||
* captureTouchmove?: boolean,
|
* captureTouchmove?: boolean,
|
||||||
* targetOnly?: boolean,
|
* targetOnly?: boolean,
|
||||||
* maxDistance?: number,
|
* maxDistance?: number,
|
||||||
* clickSound?: string,
|
* clickSound?: string,
|
||||||
* preventClick?: boolean,
|
* preventClick?: boolean,
|
||||||
* }} ClickDetectorConstructorArgs
|
* }} ClickDetectorConstructorArgs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Detects clicks
|
// Detects clicks
|
||||||
export class ClickDetector {
|
export class ClickDetector {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {Element} element
|
* @param {Element} element
|
||||||
* @param {object} param1
|
* @param {object} param1
|
||||||
* @param {boolean=} param1.consumeEvents Whether to call stopPropagation
|
* @param {boolean=} param1.consumeEvents Whether to call stopPropagation
|
||||||
* (Useful for nested elements where the parent has a click handler as wel)
|
* (Useful for nested elements where the parent has a click handler as wel)
|
||||||
* @param {boolean=} param1.preventDefault Whether to call preventDefault (Usually makes the handler faster)
|
* @param {boolean=} param1.preventDefault Whether to call preventDefault (Usually makes the handler faster)
|
||||||
* @param {string=} param1.applyCssClass The css class to add while the element is pressed
|
* @param {string=} param1.applyCssClass The css class to add while the element is pressed
|
||||||
* @param {boolean=} param1.captureTouchmove Whether to capture touchmove events as well
|
* @param {boolean=} param1.captureTouchmove Whether to capture touchmove events as well
|
||||||
* @param {boolean=} param1.targetOnly Whether to also accept clicks on child elements (e.target !== element)
|
* @param {boolean=} param1.targetOnly Whether to also accept clicks on child elements (e.target !== element)
|
||||||
* @param {number=} param1.maxDistance The maximum distance in pixels to accept clicks
|
* @param {number=} param1.maxDistance The maximum distance in pixels to accept clicks
|
||||||
* @param {string=} param1.clickSound Sound key to play on touchdown
|
* @param {string=} param1.clickSound Sound key to play on touchdown
|
||||||
* @param {boolean=} param1.preventClick Whether to prevent click events
|
* @param {boolean=} param1.preventClick Whether to prevent click events
|
||||||
*/
|
*/
|
||||||
constructor(
|
constructor(
|
||||||
element,
|
element,
|
||||||
{
|
{
|
||||||
consumeEvents = false,
|
consumeEvents = false,
|
||||||
preventDefault = true,
|
preventDefault = true,
|
||||||
applyCssClass = "pressed",
|
applyCssClass = "pressed",
|
||||||
captureTouchmove = false,
|
captureTouchmove = false,
|
||||||
targetOnly = false,
|
targetOnly = false,
|
||||||
maxDistance = MAX_MOVE_DISTANCE_PX,
|
maxDistance = MAX_MOVE_DISTANCE_PX,
|
||||||
clickSound = SOUNDS.uiClick,
|
clickSound = SOUNDS.uiClick,
|
||||||
preventClick = false,
|
preventClick = false,
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
assert(element, "No element given!");
|
assert(element, "No element given!");
|
||||||
this.clickDownPosition = null;
|
this.clickDownPosition = null;
|
||||||
|
|
||||||
this.consumeEvents = consumeEvents;
|
this.consumeEvents = consumeEvents;
|
||||||
this.preventDefault = preventDefault;
|
this.preventDefault = preventDefault;
|
||||||
this.applyCssClass = applyCssClass;
|
this.applyCssClass = applyCssClass;
|
||||||
this.captureTouchmove = captureTouchmove;
|
this.captureTouchmove = captureTouchmove;
|
||||||
this.targetOnly = targetOnly;
|
this.targetOnly = targetOnly;
|
||||||
this.clickSound = clickSound;
|
this.clickSound = clickSound;
|
||||||
this.maxDistance = maxDistance;
|
this.maxDistance = maxDistance;
|
||||||
this.preventClick = preventClick;
|
this.preventClick = preventClick;
|
||||||
|
|
||||||
// Signals
|
// Signals
|
||||||
this.click = new Signal();
|
this.click = new Signal();
|
||||||
this.rightClick = new Signal();
|
this.rightClick = new Signal();
|
||||||
this.touchstart = new Signal();
|
this.touchstart = new Signal();
|
||||||
this.touchmove = new Signal();
|
this.touchmove = new Signal();
|
||||||
this.touchend = new Signal();
|
this.touchend = new Signal();
|
||||||
this.touchcancel = new Signal();
|
this.touchcancel = new Signal();
|
||||||
|
|
||||||
// Simple signals which just receive the touch position
|
// Simple signals which just receive the touch position
|
||||||
this.touchstartSimple = new Signal();
|
this.touchstartSimple = new Signal();
|
||||||
this.touchmoveSimple = new Signal();
|
this.touchmoveSimple = new Signal();
|
||||||
this.touchendSimple = new Signal();
|
this.touchendSimple = new Signal();
|
||||||
|
|
||||||
// Store time of touch start
|
// Store time of touch start
|
||||||
this.clickStartTime = null;
|
this.clickStartTime = null;
|
||||||
|
|
||||||
// A click can be cancelled if another detector registers a click
|
// A click can be cancelled if another detector registers a click
|
||||||
this.cancelled = false;
|
this.cancelled = false;
|
||||||
|
|
||||||
this.internalBindTo(/** @type {HTMLElement} */ (element));
|
this.internalBindTo(/** @type {HTMLElement} */ (element));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cleans up all event listeners of this detector
|
* Cleans up all event listeners of this detector
|
||||||
*/
|
*/
|
||||||
cleanup() {
|
cleanup() {
|
||||||
if (this.element) {
|
if (this.element) {
|
||||||
if (registerClickDetectors) {
|
if (registerClickDetectors) {
|
||||||
const index = window.activeClickDetectors.indexOf(this);
|
const index = window.activeClickDetectors.indexOf(this);
|
||||||
if (index < 0) {
|
if (index < 0) {
|
||||||
logger.error("Click detector cleanup but is not active");
|
logger.error("Click detector cleanup but is not active");
|
||||||
} else {
|
} else {
|
||||||
window.activeClickDetectors.splice(index, 1);
|
window.activeClickDetectors.splice(index, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const options = this.internalGetEventListenerOptions();
|
const options = this.internalGetEventListenerOptions();
|
||||||
|
|
||||||
if (SUPPORT_TOUCH) {
|
if (SUPPORT_TOUCH) {
|
||||||
this.element.removeEventListener("touchstart", this.handlerTouchStart, options);
|
this.element.removeEventListener("touchstart", this.handlerTouchStart, options);
|
||||||
this.element.removeEventListener("touchend", this.handlerTouchEnd, options);
|
this.element.removeEventListener("touchend", this.handlerTouchEnd, options);
|
||||||
this.element.removeEventListener("touchcancel", this.handlerTouchCancel, options);
|
this.element.removeEventListener("touchcancel", this.handlerTouchCancel, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.element.removeEventListener("mouseup", this.handlerTouchStart, options);
|
this.element.removeEventListener("mouseup", this.handlerTouchStart, options);
|
||||||
this.element.removeEventListener("mousedown", this.handlerTouchEnd, options);
|
this.element.removeEventListener("mousedown", this.handlerTouchEnd, options);
|
||||||
this.element.removeEventListener("mouseout", this.handlerTouchCancel, options);
|
this.element.removeEventListener("mouseout", this.handlerTouchCancel, options);
|
||||||
|
|
||||||
if (this.captureTouchmove) {
|
if (this.captureTouchmove) {
|
||||||
if (SUPPORT_TOUCH) {
|
if (SUPPORT_TOUCH) {
|
||||||
this.element.removeEventListener("touchmove", this.handlerTouchMove, options);
|
this.element.removeEventListener("touchmove", this.handlerTouchMove, options);
|
||||||
}
|
}
|
||||||
this.element.removeEventListener("mousemove", this.handlerTouchMove, options);
|
this.element.removeEventListener("mousemove", this.handlerTouchMove, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.preventClick) {
|
if (this.preventClick) {
|
||||||
this.element.removeEventListener("click", this.handlerPreventClick, options);
|
this.element.removeEventListener("click", this.handlerPreventClick, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.click.removeAll();
|
this.click.removeAll();
|
||||||
this.touchstart.removeAll();
|
this.touchstart.removeAll();
|
||||||
this.touchmove.removeAll();
|
this.touchmove.removeAll();
|
||||||
this.touchend.removeAll();
|
this.touchend.removeAll();
|
||||||
this.touchcancel.removeAll();
|
this.touchcancel.removeAll();
|
||||||
|
|
||||||
// TODO: Remove pointer captures
|
this.element = null;
|
||||||
|
}
|
||||||
this.element = null;
|
}
|
||||||
}
|
|
||||||
}
|
// INTERNAL METHODS
|
||||||
|
|
||||||
// INTERNAL METHODS
|
/**
|
||||||
|
*
|
||||||
/**
|
* @param {Event} event
|
||||||
*
|
*/
|
||||||
* @param {Event} event
|
internalPreventClick(event) {
|
||||||
*/
|
window.focus();
|
||||||
internalPreventClick(event) {
|
event.preventDefault();
|
||||||
window.focus();
|
}
|
||||||
event.preventDefault();
|
|
||||||
}
|
/**
|
||||||
|
* Internal method to get the options to pass to an event listener
|
||||||
/**
|
*/
|
||||||
* Internal method to get the options to pass to an event listener
|
internalGetEventListenerOptions() {
|
||||||
*/
|
return {
|
||||||
internalGetEventListenerOptions() {
|
capture: this.consumeEvents,
|
||||||
return {
|
passive: !this.preventDefault,
|
||||||
capture: this.consumeEvents,
|
};
|
||||||
passive: !this.preventDefault,
|
}
|
||||||
};
|
|
||||||
}
|
/**
|
||||||
|
* Binds the click detector to an element
|
||||||
/**
|
* @param {HTMLElement} element
|
||||||
* Binds the click detector to an element
|
*/
|
||||||
* @param {HTMLElement} element
|
internalBindTo(element) {
|
||||||
*/
|
const options = this.internalGetEventListenerOptions();
|
||||||
internalBindTo(element) {
|
|
||||||
const options = this.internalGetEventListenerOptions();
|
this.handlerTouchStart = this.internalOnPointerDown.bind(this);
|
||||||
|
this.handlerTouchEnd = this.internalOnPointerEnd.bind(this);
|
||||||
this.handlerTouchStart = this.internalOnPointerDown.bind(this);
|
this.handlerTouchMove = this.internalOnPointerMove.bind(this);
|
||||||
this.handlerTouchEnd = this.internalOnPointerEnd.bind(this);
|
this.handlerTouchCancel = this.internalOnTouchCancel.bind(this);
|
||||||
this.handlerTouchMove = this.internalOnPointerMove.bind(this);
|
|
||||||
this.handlerTouchCancel = this.internalOnTouchCancel.bind(this);
|
if (this.preventClick) {
|
||||||
|
this.handlerPreventClick = this.internalPreventClick.bind(this);
|
||||||
if (this.preventClick) {
|
element.addEventListener("click", this.handlerPreventClick, options);
|
||||||
this.handlerPreventClick = this.internalPreventClick.bind(this);
|
}
|
||||||
element.addEventListener("click", this.handlerPreventClick, options);
|
|
||||||
}
|
if (SUPPORT_TOUCH) {
|
||||||
|
element.addEventListener("touchstart", this.handlerTouchStart, options);
|
||||||
if (SUPPORT_TOUCH) {
|
element.addEventListener("touchend", this.handlerTouchEnd, options);
|
||||||
element.addEventListener("touchstart", this.handlerTouchStart, options);
|
element.addEventListener("touchcancel", this.handlerTouchCancel, options);
|
||||||
element.addEventListener("touchend", this.handlerTouchEnd, options);
|
}
|
||||||
element.addEventListener("touchcancel", this.handlerTouchCancel, options);
|
|
||||||
}
|
element.addEventListener("mousedown", this.handlerTouchStart, options);
|
||||||
|
element.addEventListener("mouseup", this.handlerTouchEnd, options);
|
||||||
element.addEventListener("mousedown", this.handlerTouchStart, options);
|
element.addEventListener("mouseout", this.handlerTouchCancel, options);
|
||||||
element.addEventListener("mouseup", this.handlerTouchEnd, options);
|
|
||||||
element.addEventListener("mouseout", this.handlerTouchCancel, options);
|
if (this.captureTouchmove) {
|
||||||
|
if (SUPPORT_TOUCH) {
|
||||||
if (this.captureTouchmove) {
|
element.addEventListener("touchmove", this.handlerTouchMove, options);
|
||||||
if (SUPPORT_TOUCH) {
|
}
|
||||||
element.addEventListener("touchmove", this.handlerTouchMove, options);
|
element.addEventListener("mousemove", this.handlerTouchMove, options);
|
||||||
}
|
}
|
||||||
element.addEventListener("mousemove", this.handlerTouchMove, options);
|
|
||||||
}
|
if (registerClickDetectors) {
|
||||||
|
window.activeClickDetectors.push(this);
|
||||||
if (registerClickDetectors) {
|
}
|
||||||
window.activeClickDetectors.push(this);
|
this.element = element;
|
||||||
}
|
}
|
||||||
this.element = element;
|
|
||||||
}
|
/**
|
||||||
|
* Returns if the bound element is currently in the DOM.
|
||||||
/**
|
*/
|
||||||
* Returns if the bound element is currently in the DOM.
|
internalIsDomElementAttached() {
|
||||||
*/
|
return this.element && document.documentElement.contains(this.element);
|
||||||
internalIsDomElementAttached() {
|
}
|
||||||
return this.element && document.documentElement.contains(this.element);
|
|
||||||
}
|
/**
|
||||||
|
* Checks if the given event is relevant for this detector
|
||||||
/**
|
* @param {TouchEvent|MouseEvent} event
|
||||||
* Checks if the given event is relevant for this detector
|
*/
|
||||||
* @param {TouchEvent|MouseEvent} event
|
internalEventPreHandler(event, expectedRemainingTouches = 1) {
|
||||||
*/
|
if (!this.element) {
|
||||||
internalEventPreHandler(event, expectedRemainingTouches = 1) {
|
// Already cleaned up
|
||||||
if (!this.element) {
|
return false;
|
||||||
// Already cleaned up
|
}
|
||||||
return false;
|
|
||||||
}
|
if (this.targetOnly && event.target !== this.element) {
|
||||||
|
// Clicked a child element
|
||||||
if (this.targetOnly && event.target !== this.element) {
|
return false;
|
||||||
// Clicked a child element
|
}
|
||||||
return false;
|
|
||||||
}
|
// Stop any propagation and defaults if configured
|
||||||
|
if (this.consumeEvents && event.cancelable) {
|
||||||
// Stop any propagation and defaults if configured
|
event.stopPropagation();
|
||||||
if (this.consumeEvents && event.cancelable) {
|
}
|
||||||
event.stopPropagation();
|
|
||||||
}
|
if (this.preventDefault && event.cancelable) {
|
||||||
|
event.preventDefault();
|
||||||
if (this.preventDefault && event.cancelable) {
|
}
|
||||||
event.preventDefault();
|
|
||||||
}
|
if (window.TouchEvent && event instanceof TouchEvent) {
|
||||||
|
clickDetectorGlobals.lastTouchTime = performance.now();
|
||||||
if (window.TouchEvent && event instanceof TouchEvent) {
|
|
||||||
clickDetectorGlobals.lastTouchTime = performance.now();
|
// console.log("Got touches", event.targetTouches.length, "vs", expectedRemainingTouches);
|
||||||
|
if (event.targetTouches.length !== expectedRemainingTouches) {
|
||||||
// console.log("Got touches", event.targetTouches.length, "vs", expectedRemainingTouches);
|
return false;
|
||||||
if (event.targetTouches.length !== expectedRemainingTouches) {
|
}
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
}
|
if (event instanceof MouseEvent) {
|
||||||
|
if (performance.now() - clickDetectorGlobals.lastTouchTime < 1000.0) {
|
||||||
if (event instanceof MouseEvent) {
|
return false;
|
||||||
if (performance.now() - clickDetectorGlobals.lastTouchTime < 1000.0) {
|
}
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
return true;
|
|
||||||
}
|
/**
|
||||||
|
* Extracts the mous position from an event
|
||||||
/**
|
* @param {TouchEvent|MouseEvent} event
|
||||||
* Extracts the mous position from an event
|
* @returns {Vector} The client space position
|
||||||
* @param {TouchEvent|MouseEvent} event
|
*/
|
||||||
* @returns {Vector} The client space position
|
static extractPointerPosition(event) {
|
||||||
*/
|
if (window.TouchEvent && event instanceof TouchEvent) {
|
||||||
static extractPointerPosition(event) {
|
if (event.changedTouches.length !== 1) {
|
||||||
if (window.TouchEvent && event instanceof TouchEvent) {
|
logger.warn(
|
||||||
if (event.changedTouches.length !== 1) {
|
"Got unexpected target touches:",
|
||||||
logger.warn(
|
event.targetTouches.length,
|
||||||
"Got unexpected target touches:",
|
"->",
|
||||||
event.targetTouches.length,
|
event.targetTouches
|
||||||
"->",
|
);
|
||||||
event.targetTouches
|
return new Vector(0, 0);
|
||||||
);
|
}
|
||||||
return new Vector(0, 0);
|
|
||||||
}
|
const touch = event.changedTouches[0];
|
||||||
|
return new Vector(touch.clientX, touch.clientY);
|
||||||
const touch = event.changedTouches[0];
|
}
|
||||||
return new Vector(touch.clientX, touch.clientY);
|
|
||||||
}
|
if (event instanceof MouseEvent) {
|
||||||
|
return new Vector(event.clientX, event.clientY);
|
||||||
if (event instanceof MouseEvent) {
|
}
|
||||||
return new Vector(event.clientX, event.clientY);
|
|
||||||
}
|
assertAlways(false, "Got unknown event: " + event);
|
||||||
|
|
||||||
assertAlways(false, "Got unknown event: " + event);
|
return new Vector(0, 0);
|
||||||
|
}
|
||||||
return new Vector(0, 0);
|
|
||||||
}
|
/**
|
||||||
|
* Cacnels all ongoing events on this detector
|
||||||
/**
|
*/
|
||||||
* Cacnels all ongoing events on this detector
|
cancelOngoingEvents() {
|
||||||
*/
|
if (this.applyCssClass && this.element) {
|
||||||
cancelOngoingEvents() {
|
this.element.classList.remove(this.applyCssClass);
|
||||||
if (this.applyCssClass && this.element) {
|
}
|
||||||
this.element.classList.remove(this.applyCssClass);
|
this.clickDownPosition = null;
|
||||||
}
|
this.clickStartTime = null;
|
||||||
this.clickDownPosition = null;
|
this.cancelled = true;
|
||||||
this.clickStartTime = null;
|
fastArrayDeleteValueIfContained(ongoingClickDetectors, this);
|
||||||
this.cancelled = true;
|
}
|
||||||
fastArrayDeleteValueIfContained(ongoingClickDetectors, this);
|
|
||||||
}
|
/**
|
||||||
|
* Internal pointer down handler
|
||||||
/**
|
* @param {TouchEvent|MouseEvent} event
|
||||||
* Internal pointer down handler
|
*/
|
||||||
* @param {TouchEvent|MouseEvent} event
|
internalOnPointerDown(event) {
|
||||||
*/
|
window.focus();
|
||||||
internalOnPointerDown(event) {
|
|
||||||
window.focus();
|
if (!this.internalEventPreHandler(event, 1)) {
|
||||||
|
return false;
|
||||||
if (!this.internalEventPreHandler(event, 1)) {
|
}
|
||||||
return false;
|
|
||||||
}
|
const position = /** @type {typeof ClickDetector} */ (this.constructor).extractPointerPosition(event);
|
||||||
|
|
||||||
const position = /** @type {typeof ClickDetector} */ (this.constructor).extractPointerPosition(event);
|
if (event instanceof MouseEvent) {
|
||||||
|
const isRightClick = event.button === 2;
|
||||||
if (event instanceof MouseEvent) {
|
if (isRightClick) {
|
||||||
const isRightClick = event.button === 2;
|
// Ignore right clicks
|
||||||
if (isRightClick) {
|
this.rightClick.dispatch(position, event);
|
||||||
// Ignore right clicks
|
this.cancelled = true;
|
||||||
this.rightClick.dispatch(position, event);
|
this.clickDownPosition = null;
|
||||||
this.cancelled = true;
|
return;
|
||||||
this.clickDownPosition = null;
|
}
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
}
|
if (this.clickDownPosition) {
|
||||||
|
logger.warn("Ignoring double click");
|
||||||
if (this.clickDownPosition) {
|
return false;
|
||||||
logger.warn("Ignoring double click");
|
}
|
||||||
return false;
|
|
||||||
}
|
this.cancelled = false;
|
||||||
|
this.touchstart.dispatch(event);
|
||||||
this.cancelled = false;
|
|
||||||
this.touchstart.dispatch(event);
|
// Store where the touch started
|
||||||
|
this.clickDownPosition = position;
|
||||||
// Store where the touch started
|
this.clickStartTime = performance.now();
|
||||||
this.clickDownPosition = position;
|
this.touchstartSimple.dispatch(this.clickDownPosition.x, this.clickDownPosition.y);
|
||||||
this.clickStartTime = performance.now();
|
|
||||||
this.touchstartSimple.dispatch(this.clickDownPosition.x, this.clickDownPosition.y);
|
// If we are not currently within a click, register it
|
||||||
|
if (ongoingClickDetectors.indexOf(this) < 0) {
|
||||||
// If we are not currently within a click, register it
|
ongoingClickDetectors.push(this);
|
||||||
if (ongoingClickDetectors.indexOf(this) < 0) {
|
} else {
|
||||||
ongoingClickDetectors.push(this);
|
logger.warn("Click detector got pointer down of active pointer twice");
|
||||||
} else {
|
}
|
||||||
logger.warn("Click detector got pointer down of active pointer twice");
|
|
||||||
}
|
// If we should apply any classes, do this now
|
||||||
|
if (this.applyCssClass) {
|
||||||
// If we should apply any classes, do this now
|
this.element.classList.add(this.applyCssClass);
|
||||||
if (this.applyCssClass) {
|
}
|
||||||
this.element.classList.add(this.applyCssClass);
|
|
||||||
}
|
// If we should play any sound, do this
|
||||||
|
if (this.clickSound) {
|
||||||
// If we should play any sound, do this
|
GLOBAL_APP.sound.playUiSound(this.clickSound);
|
||||||
if (this.clickSound) {
|
}
|
||||||
GLOBAL_APP.sound.playUiSound(this.clickSound);
|
|
||||||
}
|
return false;
|
||||||
|
}
|
||||||
return false;
|
|
||||||
}
|
/**
|
||||||
|
* Internal pointer move handler
|
||||||
/**
|
* @param {TouchEvent|MouseEvent} event
|
||||||
* Internal pointer move handler
|
*/
|
||||||
* @param {TouchEvent|MouseEvent} event
|
internalOnPointerMove(event) {
|
||||||
*/
|
if (!this.internalEventPreHandler(event, 1)) {
|
||||||
internalOnPointerMove(event) {
|
return false;
|
||||||
if (!this.internalEventPreHandler(event, 1)) {
|
}
|
||||||
return false;
|
this.touchmove.dispatch(event);
|
||||||
}
|
const pos = /** @type {typeof ClickDetector} */ (this.constructor).extractPointerPosition(event);
|
||||||
this.touchmove.dispatch(event);
|
this.touchmoveSimple.dispatch(pos.x, pos.y);
|
||||||
const pos = /** @type {typeof ClickDetector} */ (this.constructor).extractPointerPosition(event);
|
return false;
|
||||||
this.touchmoveSimple.dispatch(pos.x, pos.y);
|
}
|
||||||
return false;
|
|
||||||
}
|
/**
|
||||||
|
* Internal pointer end handler
|
||||||
/**
|
* @param {TouchEvent|MouseEvent} event
|
||||||
* Internal pointer end handler
|
*/
|
||||||
* @param {TouchEvent|MouseEvent} event
|
internalOnPointerEnd(event) {
|
||||||
*/
|
window.focus();
|
||||||
internalOnPointerEnd(event) {
|
|
||||||
window.focus();
|
if (!this.internalEventPreHandler(event, 0)) {
|
||||||
|
return false;
|
||||||
if (!this.internalEventPreHandler(event, 0)) {
|
}
|
||||||
return false;
|
|
||||||
}
|
if (this.cancelled) {
|
||||||
|
// warn(this, "Not dispatching touchend on cancelled listener");
|
||||||
if (this.cancelled) {
|
return false;
|
||||||
// warn(this, "Not dispatching touchend on cancelled listener");
|
}
|
||||||
return false;
|
|
||||||
}
|
if (event instanceof MouseEvent) {
|
||||||
|
const isRightClick = event.button === 2;
|
||||||
if (event instanceof MouseEvent) {
|
if (isRightClick) {
|
||||||
const isRightClick = event.button === 2;
|
return;
|
||||||
if (isRightClick) {
|
}
|
||||||
return;
|
}
|
||||||
}
|
|
||||||
}
|
const index = ongoingClickDetectors.indexOf(this);
|
||||||
|
if (index < 0) {
|
||||||
const index = ongoingClickDetectors.indexOf(this);
|
logger.warn("Got pointer end but click detector is not in pressed state");
|
||||||
if (index < 0) {
|
} else {
|
||||||
logger.warn("Got pointer end but click detector is not in pressed state");
|
fastArrayDelete(ongoingClickDetectors, index);
|
||||||
} else {
|
}
|
||||||
fastArrayDelete(ongoingClickDetectors, index);
|
|
||||||
}
|
let dispatchClick = false;
|
||||||
|
let dispatchClickPos = null;
|
||||||
let dispatchClick = false;
|
|
||||||
let dispatchClickPos = null;
|
// Check for correct down position, otherwise must have pinched or so
|
||||||
|
if (this.clickDownPosition) {
|
||||||
// Check for correct down position, otherwise must have pinched or so
|
const pos = /** @type {typeof ClickDetector} */ (this.constructor).extractPointerPosition(event);
|
||||||
if (this.clickDownPosition) {
|
const distance = pos.distance(this.clickDownPosition);
|
||||||
const pos = /** @type {typeof ClickDetector} */ (this.constructor).extractPointerPosition(event);
|
if (!IS_MOBILE || distance <= this.maxDistance) {
|
||||||
const distance = pos.distance(this.clickDownPosition);
|
dispatchClick = true;
|
||||||
if (!IS_MOBILE || distance <= this.maxDistance) {
|
dispatchClickPos = pos;
|
||||||
dispatchClick = true;
|
} else {
|
||||||
dispatchClickPos = pos;
|
console.warn("[ClickDetector] Touch does not count as click:", "(was", distance, ")");
|
||||||
} else {
|
}
|
||||||
console.warn("[ClickDetector] Touch does not count as click:", "(was", distance, ")");
|
}
|
||||||
}
|
|
||||||
}
|
this.clickDownPosition = null;
|
||||||
|
this.clickStartTime = null;
|
||||||
this.clickDownPosition = null;
|
|
||||||
this.clickStartTime = null;
|
if (this.applyCssClass) {
|
||||||
|
this.element.classList.remove(this.applyCssClass);
|
||||||
if (this.applyCssClass) {
|
}
|
||||||
this.element.classList.remove(this.applyCssClass);
|
|
||||||
}
|
// Dispatch in the end to avoid the element getting invalidated
|
||||||
|
// Also make sure that the element is still in the dom
|
||||||
// Dispatch in the end to avoid the element getting invalidated
|
if (this.internalIsDomElementAttached()) {
|
||||||
// Also make sure that the element is still in the dom
|
this.touchend.dispatch(event);
|
||||||
if (this.internalIsDomElementAttached()) {
|
this.touchendSimple.dispatch();
|
||||||
this.touchend.dispatch(event);
|
|
||||||
this.touchendSimple.dispatch();
|
if (dispatchClick) {
|
||||||
|
const detectors = ongoingClickDetectors.slice();
|
||||||
if (dispatchClick) {
|
for (let i = 0; i < detectors.length; ++i) {
|
||||||
const detectors = ongoingClickDetectors.slice();
|
detectors[i].cancelOngoingEvents();
|
||||||
for (let i = 0; i < detectors.length; ++i) {
|
}
|
||||||
detectors[i].cancelOngoingEvents();
|
this.click.dispatch(dispatchClickPos, event);
|
||||||
}
|
}
|
||||||
this.click.dispatch(dispatchClickPos, event);
|
}
|
||||||
}
|
return false;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
}
|
/**
|
||||||
|
* Internal touch cancel handler
|
||||||
/**
|
* @param {TouchEvent|MouseEvent} event
|
||||||
* Internal touch cancel handler
|
*/
|
||||||
* @param {TouchEvent|MouseEvent} event
|
internalOnTouchCancel(event) {
|
||||||
*/
|
if (!this.internalEventPreHandler(event, 0)) {
|
||||||
internalOnTouchCancel(event) {
|
return false;
|
||||||
if (!this.internalEventPreHandler(event, 0)) {
|
}
|
||||||
return false;
|
|
||||||
}
|
if (this.cancelled) {
|
||||||
|
// warn(this, "Not dispatching touchcancel on cancelled listener");
|
||||||
if (this.cancelled) {
|
return false;
|
||||||
// warn(this, "Not dispatching touchcancel on cancelled listener");
|
}
|
||||||
return false;
|
|
||||||
}
|
this.cancelOngoingEvents();
|
||||||
|
this.touchcancel.dispatch(event);
|
||||||
this.cancelOngoingEvents();
|
this.touchendSimple.dispatch(event);
|
||||||
this.touchcancel.dispatch(event);
|
return false;
|
||||||
this.touchendSimple.dispatch(event);
|
}
|
||||||
return false;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -18,6 +18,12 @@ export const THIRDPARTY_URLS = {
|
|||||||
shapeViewer: "https://viewer.shapez.io",
|
shapeViewer: "https://viewer.shapez.io",
|
||||||
|
|
||||||
standaloneStorePage: "https://store.steampowered.com/app/1318690/shapezio/",
|
standaloneStorePage: "https://store.steampowered.com/app/1318690/shapezio/",
|
||||||
|
|
||||||
|
levelTutorialVideos: {
|
||||||
|
21: "https://www.youtube.com/watch?v=0nUfRLMCcgo&",
|
||||||
|
25: "https://www.youtube.com/watch?v=7OCV1g40Iew&",
|
||||||
|
26: "https://www.youtube.com/watch?v=gfm6dS1dCoY",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export const A_B_TESTING_LINK_TYPE = Math.random() > 0.5 ? "steam_1_pr" : "steam_2_npr";
|
export const A_B_TESTING_LINK_TYPE = Math.random() > 0.5 ? "steam_1_pr" : "steam_2_npr";
|
||||||
@ -132,3 +138,8 @@ if (G_IS_DEV && globalConfig.debug.renderForTrailer) {
|
|||||||
if (globalConfig.debug.fastGameEnter) {
|
if (globalConfig.debug.fastGameEnter) {
|
||||||
globalConfig.debug.noArtificialDelays = true;
|
globalConfig.debug.noArtificialDelays = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (G_IS_DEV && globalConfig.debug.noArtificialDelays) {
|
||||||
|
globalConfig.warmupTimeSecondsFast = 0;
|
||||||
|
globalConfig.warmupTimeSecondsRegular = 0;
|
||||||
|
}
|
||||||
|
|||||||
@ -1,26 +1,25 @@
|
|||||||
import { globalConfig } from "./config";
|
import { globalConfig } from "./config";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @typedef {import("../game/root").GameRoot} GameRoot
|
* @typedef {import("../game/root").GameRoot} GameRoot
|
||||||
* @typedef {import("./rectangle").Rectangle} Rectangle
|
* @typedef {import("./rectangle").Rectangle} Rectangle
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export class DrawParameters {
|
export class DrawParameters {
|
||||||
constructor({ context, visibleRect, desiredAtlasScale, zoomLevel, root }) {
|
constructor({ context, visibleRect, desiredAtlasScale, zoomLevel, root }) {
|
||||||
/** @type {CanvasRenderingContext2D} */
|
/** @type {CanvasRenderingContext2D} */
|
||||||
this.context = context;
|
this.context = context;
|
||||||
|
|
||||||
/** @type {Rectangle} */
|
/** @type {Rectangle} */
|
||||||
this.visibleRect = visibleRect;
|
this.visibleRect = visibleRect;
|
||||||
|
|
||||||
/** @type {string} */
|
/** @type {string} */
|
||||||
this.desiredAtlasScale = desiredAtlasScale;
|
this.desiredAtlasScale = desiredAtlasScale;
|
||||||
|
|
||||||
/** @type {number} */
|
/** @type {number} */
|
||||||
this.zoomLevel = zoomLevel;
|
this.zoomLevel = zoomLevel;
|
||||||
|
|
||||||
// FIXME: Not really nice
|
/** @type {GameRoot} */
|
||||||
/** @type {GameRoot} */
|
this.root = root;
|
||||||
this.root = root;
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|||||||
@ -13,6 +13,17 @@ import { getStringForKeyCode } from "../game/key_action_mapper";
|
|||||||
import { createLogger } from "./logging";
|
import { createLogger } from "./logging";
|
||||||
import { T } from "../translations";
|
import { T } from "../translations";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ***************************************************
|
||||||
|
*
|
||||||
|
* LEGACY CODE WARNING
|
||||||
|
*
|
||||||
|
* This is old code from yorg3.io and needs to be refactored
|
||||||
|
* @TODO
|
||||||
|
*
|
||||||
|
* ***************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
const kbEnter = 13;
|
const kbEnter = 13;
|
||||||
const kbCancel = 27;
|
const kbCancel = 27;
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,17 @@ import { BaseItem } from "../game/base_item";
|
|||||||
import { ClickDetector } from "./click_detector";
|
import { ClickDetector } from "./click_detector";
|
||||||
import { Signal } from "./signal";
|
import { Signal } from "./signal";
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ***************************************************
|
||||||
|
*
|
||||||
|
* LEGACY CODE WARNING
|
||||||
|
*
|
||||||
|
* This is old code from yorg3.io and needs to be refactored
|
||||||
|
* @TODO
|
||||||
|
*
|
||||||
|
* ***************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
export class FormElement {
|
export class FormElement {
|
||||||
constructor(id, label) {
|
constructor(id, label) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
|
|||||||
@ -44,7 +44,6 @@ export class RestrictionManager extends ReadWriteProxy {
|
|||||||
* @param {any} data
|
* @param {any} data
|
||||||
*/
|
*/
|
||||||
migrate(data) {
|
migrate(data) {
|
||||||
// Todo
|
|
||||||
return ExplainedResult.good();
|
return ExplainedResult.good();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -108,17 +108,6 @@ export class RandomNumberGenerator {
|
|||||||
assert(max > min, "rng: max <= min");
|
assert(max > min, "rng: max <= min");
|
||||||
return Math.floor(this.next() * (max - min) + min);
|
return Math.floor(this.next() * (max - min) + min);
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* @param {number} min
|
|
||||||
* @param {number} max
|
|
||||||
* @returns {number} Integer in range [min, max]
|
|
||||||
*/
|
|
||||||
nextIntRangeInclusive(min, max) {
|
|
||||||
assert(Number.isFinite(min), "Minimum is no integer");
|
|
||||||
assert(Number.isFinite(max), "Maximum is no integer");
|
|
||||||
assert(max > min, "rng: max <= min");
|
|
||||||
return Math.round(this.next() * (max - min) + min);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {number} min
|
* @param {number} min
|
||||||
|
|||||||
@ -41,7 +41,7 @@ const variantsCache = new Map();
|
|||||||
export function registerBuildingVariant(
|
export function registerBuildingVariant(
|
||||||
code,
|
code,
|
||||||
meta,
|
meta,
|
||||||
variant = "default" /* FIXME: Circular dependency, actually its defaultBuildingVariant */,
|
variant = "default" /* @TODO: Circular dependency, actually its defaultBuildingVariant */,
|
||||||
rotationVariant = 0
|
rotationVariant = 0
|
||||||
) {
|
) {
|
||||||
assert(!gBuildingVariants[code], "Duplicate id: " + code);
|
assert(!gBuildingVariants[code], "Duplicate id: " + code);
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import { BeltComponent } from "../components/belt";
|
|||||||
import { Entity } from "../entity";
|
import { Entity } from "../entity";
|
||||||
import { MetaBuilding } from "../meta_building";
|
import { MetaBuilding } from "../meta_building";
|
||||||
import { GameRoot } from "../root";
|
import { GameRoot } from "../root";
|
||||||
|
import { THEME } from "../theme";
|
||||||
|
|
||||||
export const arrayBeltVariantToRotation = [enumDirection.top, enumDirection.left, enumDirection.right];
|
export const arrayBeltVariantToRotation = [enumDirection.top, enumDirection.left, enumDirection.right];
|
||||||
|
|
||||||
@ -22,7 +23,7 @@ export class MetaBeltBuilding extends MetaBuilding {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getSilhouetteColor() {
|
getSilhouetteColor() {
|
||||||
return "#777";
|
return THEME.map.chunkOverview.beltColor;
|
||||||
}
|
}
|
||||||
|
|
||||||
getPlacementSound() {
|
getPlacementSound() {
|
||||||
|
|||||||
@ -191,7 +191,6 @@ export class MetaUndergroundBeltBuilding extends MetaBuilding {
|
|||||||
) {
|
) {
|
||||||
tile = tile.addScalars(searchVector.x, searchVector.y);
|
tile = tile.addScalars(searchVector.x, searchVector.y);
|
||||||
|
|
||||||
/* WIRES: FIXME */
|
|
||||||
const contents = root.map.getTileContent(tile, "regular");
|
const contents = root.map.getTileContent(tile, "regular");
|
||||||
if (contents) {
|
if (contents) {
|
||||||
const undergroundComp = contents.components.UndergroundBelt;
|
const undergroundComp = contents.components.UndergroundBelt;
|
||||||
|
|||||||
@ -26,7 +26,7 @@ export class ItemEjectorComponent extends Component {
|
|||||||
static getSchema() {
|
static getSchema() {
|
||||||
// The cachedDestSlot, cachedTargetEntity fields are not serialized.
|
// The cachedDestSlot, cachedTargetEntity fields are not serialized.
|
||||||
return {
|
return {
|
||||||
slots: types.array(
|
slots: types.fixedSizeArray(
|
||||||
types.structured({
|
types.structured({
|
||||||
item: types.nullable(typeItemSingleton),
|
item: types.nullable(typeItemSingleton),
|
||||||
progress: types.float,
|
progress: types.float,
|
||||||
|
|||||||
@ -31,7 +31,7 @@ export class WiredPinsComponent extends Component {
|
|||||||
|
|
||||||
static getSchema() {
|
static getSchema() {
|
||||||
return {
|
return {
|
||||||
slots: types.array(
|
slots: types.fixedSizeArray(
|
||||||
types.structured({
|
types.structured({
|
||||||
value: types.nullable(typeItemSingleton),
|
value: types.nullable(typeItemSingleton),
|
||||||
})
|
})
|
||||||
|
|||||||
@ -182,23 +182,6 @@ export class EntityManager extends BasicSerializableObject {
|
|||||||
return this.componentToEntity[componentHandle.getId()] || [];
|
return this.componentToEntity[componentHandle.getId()] || [];
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Return all of a given class. This is SLOW!
|
|
||||||
* @param {object} entityClass
|
|
||||||
* @returns {Array<Entity>} entities
|
|
||||||
*/
|
|
||||||
getAllOfClass(entityClass) {
|
|
||||||
// FIXME: Slow
|
|
||||||
const result = [];
|
|
||||||
for (let i = 0; i < this.entities.length; ++i) {
|
|
||||||
const entity = this.entities[i];
|
|
||||||
if (entity instanceof entityClass) {
|
|
||||||
result.push(entity);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregisters all components of an entity from the component to entity mapping
|
* Unregisters all components of an entity from the component to entity mapping
|
||||||
* @param {Entity} entity
|
* @param {Entity} entity
|
||||||
|
|||||||
@ -369,7 +369,7 @@ export class HubGoals extends BasicSerializableObject {
|
|||||||
if (allowUncolored) {
|
if (allowUncolored) {
|
||||||
universalColors.push(enumColors.uncolored);
|
universalColors.push(enumColors.uncolored);
|
||||||
}
|
}
|
||||||
const index = rng.nextIntRangeInclusive(0, colorWheel.length - 3);
|
const index = rng.nextIntRange(0, colorWheel.length - 2);
|
||||||
const pickedColors = colorWheel.slice(index, index + 3);
|
const pickedColors = colorWheel.slice(index, index + 3);
|
||||||
pickedColors.push(rng.choice(universalColors));
|
pickedColors.push(rng.choice(universalColors));
|
||||||
return pickedColors;
|
return pickedColors;
|
||||||
|
|||||||
@ -47,6 +47,7 @@ import { HUDMinerHighlight } from "./parts/miner_highlight";
|
|||||||
import { HUDBetaOverlay } from "./parts/beta_overlay";
|
import { HUDBetaOverlay } from "./parts/beta_overlay";
|
||||||
import { HUDStandaloneAdvantages } from "./parts/standalone_advantages";
|
import { HUDStandaloneAdvantages } from "./parts/standalone_advantages";
|
||||||
import { HUDCatMemes } from "./parts/cat_memes";
|
import { HUDCatMemes } from "./parts/cat_memes";
|
||||||
|
import { HUDTutorialVideoOffer } from "./parts/tutorial_video_offer";
|
||||||
|
|
||||||
export class GameHUD {
|
export class GameHUD {
|
||||||
/**
|
/**
|
||||||
@ -60,6 +61,18 @@ export class GameHUD {
|
|||||||
* Initializes the hud parts
|
* Initializes the hud parts
|
||||||
*/
|
*/
|
||||||
initialize() {
|
initialize() {
|
||||||
|
this.signals = {
|
||||||
|
buildingSelectedForPlacement: /** @type {TypedSignal<[MetaBuilding|null]>} */ (new Signal()),
|
||||||
|
selectedPlacementBuildingChanged: /** @type {TypedSignal<[MetaBuilding|null]>} */ (new Signal()),
|
||||||
|
shapePinRequested: /** @type {TypedSignal<[ShapeDefinition]>} */ (new Signal()),
|
||||||
|
shapeUnpinRequested: /** @type {TypedSignal<[string]>} */ (new Signal()),
|
||||||
|
notification: /** @type {TypedSignal<[string, enumNotificationType]>} */ (new Signal()),
|
||||||
|
buildingsSelectedForCopy: /** @type {TypedSignal<[Array<number>]>} */ (new Signal()),
|
||||||
|
pasteBlueprintRequested: /** @type {TypedSignal<[]>} */ (new Signal()),
|
||||||
|
viewShapeDetailsRequested: /** @type {TypedSignal<[ShapeDefinition]>} */ (new Signal()),
|
||||||
|
unlockNotificationFinished: /** @type {TypedSignal<[]>} */ (new Signal()),
|
||||||
|
};
|
||||||
|
|
||||||
this.parts = {
|
this.parts = {
|
||||||
buildingsToolbar: new HUDBuildingsToolbar(this.root),
|
buildingsToolbar: new HUDBuildingsToolbar(this.root),
|
||||||
wiresToolbar: new HUDWiresToolbar(this.root),
|
wiresToolbar: new HUDWiresToolbar(this.root),
|
||||||
@ -87,6 +100,7 @@ export class GameHUD {
|
|||||||
layerPreview: new HUDLayerPreview(this.root),
|
layerPreview: new HUDLayerPreview(this.root),
|
||||||
|
|
||||||
minerHighlight: new HUDMinerHighlight(this.root),
|
minerHighlight: new HUDMinerHighlight(this.root),
|
||||||
|
tutorialVideoOffer: new HUDTutorialVideoOffer(this.root),
|
||||||
|
|
||||||
// Typing hints
|
// Typing hints
|
||||||
/* typehints:start */
|
/* typehints:start */
|
||||||
@ -95,17 +109,6 @@ export class GameHUD {
|
|||||||
/* typehints:end */
|
/* typehints:end */
|
||||||
};
|
};
|
||||||
|
|
||||||
this.signals = {
|
|
||||||
buildingSelectedForPlacement: /** @type {TypedSignal<[MetaBuilding|null]>} */ (new Signal()),
|
|
||||||
selectedPlacementBuildingChanged: /** @type {TypedSignal<[MetaBuilding|null]>} */ (new Signal()),
|
|
||||||
shapePinRequested: /** @type {TypedSignal<[ShapeDefinition]>} */ (new Signal()),
|
|
||||||
shapeUnpinRequested: /** @type {TypedSignal<[string]>} */ (new Signal()),
|
|
||||||
notification: /** @type {TypedSignal<[string, enumNotificationType]>} */ (new Signal()),
|
|
||||||
buildingsSelectedForCopy: /** @type {TypedSignal<[Array<number>]>} */ (new Signal()),
|
|
||||||
pasteBlueprintRequested: /** @type {TypedSignal<[]>} */ (new Signal()),
|
|
||||||
viewShapeDetailsRequested: /** @type {TypedSignal<[ShapeDefinition]>} */ (new Signal()),
|
|
||||||
};
|
|
||||||
|
|
||||||
if (!IS_MOBILE) {
|
if (!IS_MOBILE) {
|
||||||
this.parts.keybindingOverlay = new HUDKeybindingOverlay(this.root);
|
this.parts.keybindingOverlay = new HUDKeybindingOverlay(this.root);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,23 +6,25 @@ import { DynamicDomAttach } from "../dynamic_dom_attach";
|
|||||||
import { TrackedState } from "../../../core/tracked_state";
|
import { TrackedState } from "../../../core/tracked_state";
|
||||||
import { cachebust } from "../../../core/cachebust";
|
import { cachebust } from "../../../core/cachebust";
|
||||||
import { T } from "../../../translations";
|
import { T } from "../../../translations";
|
||||||
|
import { enumItemProcessorTypes, ItemProcessorComponent } from "../../components/item_processor";
|
||||||
|
import { ShapeItem } from "../../items/shape_item";
|
||||||
|
import { WireComponent } from "../../components/wire";
|
||||||
|
import { LeverComponent } from "../../components/lever";
|
||||||
|
|
||||||
|
// @todo: Make dictionary
|
||||||
const tutorialsByLevel = [
|
const tutorialsByLevel = [
|
||||||
// Level 1
|
// Level 1
|
||||||
[
|
[
|
||||||
// 1.1. place an extractor
|
// 1.1. place an extractor
|
||||||
{
|
{
|
||||||
id: "1_1_extractor",
|
id: "1_1_extractor",
|
||||||
condition: /** @param {GameRoot} root */ root => {
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
return root.entityMgr.getAllWithComponent(MinerComponent).length === 0;
|
root.entityMgr.getAllWithComponent(MinerComponent).length === 0,
|
||||||
},
|
|
||||||
},
|
},
|
||||||
// 1.2. connect to hub
|
// 1.2. connect to hub
|
||||||
{
|
{
|
||||||
id: "1_2_conveyor",
|
id: "1_2_conveyor",
|
||||||
condition: /** @param {GameRoot} root */ root => {
|
condition: /** @param {GameRoot} root */ root => root.hubGoals.getCurrentGoalDelivered() === 0,
|
||||||
return root.hubGoals.getCurrentGoalDelivered() === 0;
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
// 1.3 wait for completion
|
// 1.3 wait for completion
|
||||||
{
|
{
|
||||||
@ -30,6 +32,108 @@ const tutorialsByLevel = [
|
|||||||
condition: () => true,
|
condition: () => true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
// Level 2
|
||||||
|
[
|
||||||
|
// 2.1 place a cutter
|
||||||
|
{
|
||||||
|
id: "2_1_place_cutter",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr
|
||||||
|
.getAllWithComponent(ItemProcessorComponent)
|
||||||
|
.filter(e => e.components.ItemProcessor.type === enumItemProcessorTypes.cutter).length ===
|
||||||
|
0,
|
||||||
|
},
|
||||||
|
// 2.2 place trash
|
||||||
|
{
|
||||||
|
id: "2_2_place_trash",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr
|
||||||
|
.getAllWithComponent(ItemProcessorComponent)
|
||||||
|
.filter(e => e.components.ItemProcessor.type === enumItemProcessorTypes.trash).length ===
|
||||||
|
0,
|
||||||
|
},
|
||||||
|
// 2.3 place more cutters
|
||||||
|
{
|
||||||
|
id: "2_3_more_cutters",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr
|
||||||
|
.getAllWithComponent(ItemProcessorComponent)
|
||||||
|
.filter(e => e.components.ItemProcessor.type === enumItemProcessorTypes.cutter).length <
|
||||||
|
3,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
// Level 3
|
||||||
|
[
|
||||||
|
// 3.1. rectangles
|
||||||
|
{
|
||||||
|
id: "3_1_rectangles",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
// 4 miners placed above rectangles and 10 delivered
|
||||||
|
root.hubGoals.getCurrentGoalDelivered() < 10 ||
|
||||||
|
root.entityMgr.getAllWithComponent(MinerComponent).filter(entity => {
|
||||||
|
const tile = entity.components.StaticMapEntity.origin;
|
||||||
|
const below = root.map.getLowerLayerContentXY(tile.x, tile.y);
|
||||||
|
if (below && below.getItemType() === "shape") {
|
||||||
|
const shape = /** @type {ShapeItem} */ (below).definition.getHash();
|
||||||
|
return shape === "RuRuRuRu";
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}).length < 4,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
|
||||||
|
[], // Level 4
|
||||||
|
[], // Level 5
|
||||||
|
[], // Level 6
|
||||||
|
[], // Level 7
|
||||||
|
[], // Level 8
|
||||||
|
[], // Level 9
|
||||||
|
[], // Level 10
|
||||||
|
[], // Level 11
|
||||||
|
[], // Level 12
|
||||||
|
[], // Level 13
|
||||||
|
[], // Level 14
|
||||||
|
[], // Level 15
|
||||||
|
[], // Level 16
|
||||||
|
[], // Level 17
|
||||||
|
[], // Level 18
|
||||||
|
[], // Level 19
|
||||||
|
[], // Level 20
|
||||||
|
|
||||||
|
// Level 21
|
||||||
|
[
|
||||||
|
// 21.1 place quad painter
|
||||||
|
{
|
||||||
|
id: "21_1_place_quad_painter",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr
|
||||||
|
.getAllWithComponent(ItemProcessorComponent)
|
||||||
|
.filter(e => e.components.ItemProcessor.type === enumItemProcessorTypes.painterQuad)
|
||||||
|
.length === 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
// 21.2 switch to wires layer
|
||||||
|
{
|
||||||
|
id: "21_2_switch_to_wires",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr.getAllWithComponent(WireComponent).length < 5,
|
||||||
|
},
|
||||||
|
|
||||||
|
// 21.3 place button
|
||||||
|
{
|
||||||
|
id: "21_3_place_button",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr.getAllWithComponent(LeverComponent).length === 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
// 21.4 activate button
|
||||||
|
{
|
||||||
|
id: "21_4_press_button",
|
||||||
|
condition: /** @param {GameRoot} root */ root =>
|
||||||
|
root.entityMgr.getAllWithComponent(LeverComponent).some(e => !e.components.Lever.toggled),
|
||||||
|
},
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
export class HUDInteractiveTutorial extends BaseHUDPart {
|
export class HUDInteractiveTutorial extends BaseHUDPart {
|
||||||
|
|||||||
34
src/js/game/hud/parts/tutorial_video_offer.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { THIRDPARTY_URLS } from "../../../core/config";
|
||||||
|
import { T } from "../../../translations";
|
||||||
|
import { BaseHUDPart } from "../base_hud_part";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Offers to open the tutorial video after completing a level
|
||||||
|
*/
|
||||||
|
export class HUDTutorialVideoOffer extends BaseHUDPart {
|
||||||
|
createElements() {}
|
||||||
|
|
||||||
|
initialize() {
|
||||||
|
this.root.hud.signals.unlockNotificationFinished.add(() => {
|
||||||
|
const level = this.root.hubGoals.level;
|
||||||
|
const tutorialVideoLink = THIRDPARTY_URLS.levelTutorialVideos[level];
|
||||||
|
if (tutorialVideoLink) {
|
||||||
|
const isForeign = this.root.app.settings.getLanguage() !== "en";
|
||||||
|
const dialogData = isForeign
|
||||||
|
? T.dialogs.tutorialVideoAvailableForeignLanguage
|
||||||
|
: T.dialogs.tutorialVideoAvailable;
|
||||||
|
|
||||||
|
const { ok } = this.root.hud.parts.dialogs.showInfo(dialogData.title, dialogData.desc, [
|
||||||
|
"cancel:bad",
|
||||||
|
"ok:good",
|
||||||
|
]);
|
||||||
|
|
||||||
|
this.root.app.analytics.trackUiClick("ingame_video_link_show_" + level);
|
||||||
|
ok.add(() => {
|
||||||
|
this.root.app.platformWrapper.openExternalLink(tutorialVideoLink);
|
||||||
|
this.root.app.analytics.trackUiClick("ingame_video_link_open_" + level);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -129,6 +129,8 @@ export class HUDUnlockNotification extends BaseHUDPart {
|
|||||||
this.root.app.adProvider.showVideoAd().then(() => {
|
this.root.app.adProvider.showVideoAd().then(() => {
|
||||||
this.close();
|
this.close();
|
||||||
|
|
||||||
|
this.root.hud.signals.unlockNotificationFinished.dispatch();
|
||||||
|
|
||||||
if (!this.root.app.settings.getAllSettings().offerHints) {
|
if (!this.root.app.settings.getAllSettings().offerHints) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import { MetaComparatorBuilding } from "../../buildings/comparator";
|
|||||||
import { MetaReaderBuilding } from "../../buildings/reader";
|
import { MetaReaderBuilding } from "../../buildings/reader";
|
||||||
import { MetaFilterBuilding } from "../../buildings/filter";
|
import { MetaFilterBuilding } from "../../buildings/filter";
|
||||||
import { MetaDisplayBuilding } from "../../buildings/display";
|
import { MetaDisplayBuilding } from "../../buildings/display";
|
||||||
|
import { MetaStorageBuilding } from "../../buildings/storage";
|
||||||
|
|
||||||
export class HUDWiresToolbar extends HUDBaseToolbar {
|
export class HUDWiresToolbar extends HUDBaseToolbar {
|
||||||
constructor(root) {
|
constructor(root) {
|
||||||
@ -26,6 +27,7 @@ export class HUDWiresToolbar extends HUDBaseToolbar {
|
|||||||
MetaTransistorBuilding,
|
MetaTransistorBuilding,
|
||||||
],
|
],
|
||||||
secondaryBuildings: [
|
secondaryBuildings: [
|
||||||
|
MetaStorageBuilding,
|
||||||
MetaReaderBuilding,
|
MetaReaderBuilding,
|
||||||
MetaLeverBuilding,
|
MetaLeverBuilding,
|
||||||
MetaFilterBuilding,
|
MetaFilterBuilding,
|
||||||
|
|||||||
@ -122,6 +122,7 @@ export const KEYCODE_RMB = 3;
|
|||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
export function getStringForKeyCode(code) {
|
export function getStringForKeyCode(code) {
|
||||||
|
// @todo: Refactor into dictionary
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case KEYCODE_LMB:
|
case KEYCODE_LMB:
|
||||||
return "LMB";
|
return "LMB";
|
||||||
|
|||||||
@ -104,15 +104,17 @@ export class MapChunkView extends MapChunk {
|
|||||||
});
|
});
|
||||||
|
|
||||||
parameters.context.imageSmoothingEnabled = true;
|
parameters.context.imageSmoothingEnabled = true;
|
||||||
|
const resourcesScale = this.root.app.settings.getAllSettings().mapResourcesScale;
|
||||||
|
|
||||||
// Draw patch items
|
// Draw patch items
|
||||||
if (this.root.currentLayer === "regular") {
|
if (this.root.currentLayer === "regular" && resourcesScale > 0.05) {
|
||||||
|
const diameter = (70 / Math.pow(parameters.zoomLevel, 0.35)) * (0.2 + 2 * resourcesScale);
|
||||||
|
|
||||||
for (let i = 0; i < this.patches.length; ++i) {
|
for (let i = 0; i < this.patches.length; ++i) {
|
||||||
const patch = this.patches[i];
|
const patch = this.patches[i];
|
||||||
if (patch.item.getItemType() === "shape") {
|
if (patch.item.getItemType() === "shape") {
|
||||||
const destX = this.x * dims + patch.pos.x * globalConfig.tileSize;
|
const destX = this.x * dims + patch.pos.x * globalConfig.tileSize;
|
||||||
const destY = this.y * dims + patch.pos.y * globalConfig.tileSize;
|
const destY = this.y * dims + patch.pos.y * globalConfig.tileSize;
|
||||||
const diameter = 80 / Math.pow(parameters.zoomLevel, 0.35);
|
|
||||||
patch.item.drawItemCenteredClipped(destX, destY, parameters, diameter);
|
patch.item.drawItemCenteredClipped(destX, destY, parameters, diameter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -45,7 +45,7 @@ function generateUpgrades(limitedVersion = false) {
|
|||||||
const upgrades = {
|
const upgrades = {
|
||||||
belt: [
|
belt: [
|
||||||
{
|
{
|
||||||
required: [{ shape: "CuCuCuCu", amount: 60 }],
|
required: [{ shape: "CuCuCuCu", amount: 30 }],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
required: [{ shape: "--CuCu--", amount: 500 }],
|
required: [{ shape: "--CuCu--", amount: 500 }],
|
||||||
@ -334,7 +334,7 @@ export function generateLevelDefinitions(limitedVersion = false) {
|
|||||||
// Belt reader
|
// Belt reader
|
||||||
{
|
{
|
||||||
shape: "--Cg----:--Cr----", // unused
|
shape: "--Cg----:--Cr----", // unused
|
||||||
required: 16, // Per second!
|
required: 8, // Per second!
|
||||||
reward: enumHubGoalRewards.reward_belt_reader,
|
reward: enumHubGoalRewards.reward_belt_reader,
|
||||||
throughputOnly: true,
|
throughputOnly: true,
|
||||||
},
|
},
|
||||||
|
|||||||
@ -31,7 +31,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
*/
|
*/
|
||||||
this.shapeKeyToItem = {};
|
this.shapeKeyToItem = {};
|
||||||
|
|
||||||
// Caches operations in the form of 'operation:def1[:def2]'
|
// Caches operations in the form of 'operation/def1[/def2]'
|
||||||
/** @type {Object.<string, Array<ShapeDefinition>|ShapeDefinition>} */
|
/** @type {Object.<string, Array<ShapeDefinition>|ShapeDefinition>} */
|
||||||
this.operationCache = {};
|
this.operationCache = {};
|
||||||
}
|
}
|
||||||
@ -89,7 +89,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {[ShapeDefinition, ShapeDefinition]}
|
* @returns {[ShapeDefinition, ShapeDefinition]}
|
||||||
*/
|
*/
|
||||||
shapeActionCutHalf(definition) {
|
shapeActionCutHalf(definition) {
|
||||||
const key = "cut:" + definition.getHash();
|
const key = "cut/" + definition.getHash();
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {[ShapeDefinition, ShapeDefinition]} */ (this.operationCache[key]);
|
return /** @type {[ShapeDefinition, ShapeDefinition]} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
@ -108,7 +108,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {[ShapeDefinition, ShapeDefinition, ShapeDefinition, ShapeDefinition]}
|
* @returns {[ShapeDefinition, ShapeDefinition, ShapeDefinition, ShapeDefinition]}
|
||||||
*/
|
*/
|
||||||
shapeActionCutQuad(definition) {
|
shapeActionCutQuad(definition) {
|
||||||
const key = "cut-quad:" + definition.getHash();
|
const key = "cut-quad/" + definition.getHash();
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {[ShapeDefinition, ShapeDefinition, ShapeDefinition, ShapeDefinition]} */ (this
|
return /** @type {[ShapeDefinition, ShapeDefinition, ShapeDefinition, ShapeDefinition]} */ (this
|
||||||
.operationCache[key]);
|
.operationCache[key]);
|
||||||
@ -130,7 +130,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {ShapeDefinition}
|
* @returns {ShapeDefinition}
|
||||||
*/
|
*/
|
||||||
shapeActionRotateCW(definition) {
|
shapeActionRotateCW(definition) {
|
||||||
const key = "rotate-cw:" + definition.getHash();
|
const key = "rotate-cw/" + definition.getHash();
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
@ -148,7 +148,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {ShapeDefinition}
|
* @returns {ShapeDefinition}
|
||||||
*/
|
*/
|
||||||
shapeActionRotateCCW(definition) {
|
shapeActionRotateCCW(definition) {
|
||||||
const key = "rotate-ccw:" + definition.getHash();
|
const key = "rotate-ccw/" + definition.getHash();
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
@ -166,7 +166,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {ShapeDefinition}
|
* @returns {ShapeDefinition}
|
||||||
*/
|
*/
|
||||||
shapeActionRotate180(definition) {
|
shapeActionRotate180(definition) {
|
||||||
const key = "rotate-fl:" + definition.getHash();
|
const key = "rotate-fl/" + definition.getHash();
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {ShapeDefinition}
|
* @returns {ShapeDefinition}
|
||||||
*/
|
*/
|
||||||
shapeActionStack(lowerDefinition, upperDefinition) {
|
shapeActionStack(lowerDefinition, upperDefinition) {
|
||||||
const key = "stack:" + lowerDefinition.getHash() + ":" + upperDefinition.getHash();
|
const key = "stack/" + lowerDefinition.getHash() + "/" + upperDefinition.getHash();
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
@ -202,7 +202,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {ShapeDefinition}
|
* @returns {ShapeDefinition}
|
||||||
*/
|
*/
|
||||||
shapeActionPaintWith(definition, color) {
|
shapeActionPaintWith(definition, color) {
|
||||||
const key = "paint:" + definition.getHash() + ":" + color;
|
const key = "paint/" + definition.getHash() + "/" + color;
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
@ -219,7 +219,7 @@ export class ShapeDefinitionManager extends BasicSerializableObject {
|
|||||||
* @returns {ShapeDefinition}
|
* @returns {ShapeDefinition}
|
||||||
*/
|
*/
|
||||||
shapeActionPaintWith4Colors(definition, colors) {
|
shapeActionPaintWith4Colors(definition, colors) {
|
||||||
const key = "paint4:" + definition.getHash() + ":" + colors.join(",");
|
const key = "paint4/" + definition.getHash() + "/" + colors.join(",");
|
||||||
if (this.operationCache[key]) {
|
if (this.operationCache[key]) {
|
||||||
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
return /** @type {ShapeDefinition} */ (this.operationCache[key]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -48,7 +48,7 @@ export class BeltReaderSystem extends GameSystemWithFilter {
|
|||||||
throughput = 1 / (averageSpacing / averageSpacingNum);
|
throughput = 1 / (averageSpacing / averageSpacingNum);
|
||||||
}
|
}
|
||||||
|
|
||||||
readerComp.lastThroughput = Math.min(30, throughput);
|
readerComp.lastThroughput = Math.min(globalConfig.beltSpeedItemsPerSecond * 23.9, throughput);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -225,8 +225,7 @@ export class ItemEjectorSystem extends GameSystemWithFilter {
|
|||||||
*/
|
*/
|
||||||
tryPassOverItem(item, receiver, slotIndex) {
|
tryPassOverItem(item, receiver, slotIndex) {
|
||||||
// Try figuring out how what to do with the item
|
// Try figuring out how what to do with the item
|
||||||
// TODO: Kinda hacky. How to solve this properly? Don't want to go through inheritance hell.
|
// @TODO: Kinda hacky. How to solve this properly? Don't want to go through inheritance hell.
|
||||||
// Also its just a few cases (hope it stays like this .. :x).
|
|
||||||
|
|
||||||
const beltComp = receiver.components.Belt;
|
const beltComp = receiver.components.Belt;
|
||||||
if (beltComp) {
|
if (beltComp) {
|
||||||
|
|||||||
@ -32,7 +32,8 @@
|
|||||||
},
|
},
|
||||||
"chunkOverview": {
|
"chunkOverview": {
|
||||||
"empty": "#444856",
|
"empty": "#444856",
|
||||||
"filled": "#646b7d"
|
"filled": "#646b7d",
|
||||||
|
"beltColor": "#9096a3"
|
||||||
},
|
},
|
||||||
|
|
||||||
"wires": {
|
"wires": {
|
||||||
|
|||||||
@ -33,7 +33,8 @@
|
|||||||
|
|
||||||
"chunkOverview": {
|
"chunkOverview": {
|
||||||
"empty": "#a6afbb",
|
"empty": "#a6afbb",
|
||||||
"filled": "#c5ccd6"
|
"filled": "#c5ccd6",
|
||||||
|
"beltColor": "#777"
|
||||||
},
|
},
|
||||||
|
|
||||||
"wires": {
|
"wires": {
|
||||||
|
|||||||
@ -55,7 +55,7 @@ export const enumHubGoalRewardsToContentUnlocked = {
|
|||||||
]),
|
]),
|
||||||
[enumHubGoalRewards.reward_logic_gates]: typed([[MetaLogicGateBuilding, defaultBuildingVariant]]),
|
[enumHubGoalRewards.reward_logic_gates]: typed([[MetaLogicGateBuilding, defaultBuildingVariant]]),
|
||||||
[enumHubGoalRewards.reward_filter]: typed([[MetaFilterBuilding, defaultBuildingVariant]]),
|
[enumHubGoalRewards.reward_filter]: typed([[MetaFilterBuilding, defaultBuildingVariant]]),
|
||||||
[enumHubGoalRewards.reward_virtual_processing]: null, // @TODO!
|
[enumHubGoalRewards.reward_virtual_processing]: null,
|
||||||
|
|
||||||
[enumHubGoalRewards.reward_wires_painter_and_levers]: typed([
|
[enumHubGoalRewards.reward_wires_painter_and_levers]: typed([
|
||||||
[MetaPainterBuilding, enumPainterVariants.quad],
|
[MetaPainterBuilding, enumPainterVariants.quad],
|
||||||
|
|||||||
@ -1,113 +1,120 @@
|
|||||||
/**
|
/**
|
||||||
* @type {Object<string, {name: string, data: any, code: string, region: string}>}
|
* @type {Object<string, {name: string, data: any, code: string, region: string}>}
|
||||||
*/
|
*/
|
||||||
export const LANGUAGES = {
|
export const LANGUAGES = {
|
||||||
"en": {
|
"en": {
|
||||||
name: "English",
|
name: "English",
|
||||||
data: null,
|
data: null,
|
||||||
code: "en",
|
code: "en",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"de": {
|
"de": {
|
||||||
name: "Deutsch",
|
name: "Deutsch",
|
||||||
data: require("./built-temp/base-de.json"),
|
data: require("./built-temp/base-de.json"),
|
||||||
code: "de",
|
code: "de",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"fr": {
|
"fr": {
|
||||||
name: "Français",
|
name: "Français",
|
||||||
data: require("./built-temp/base-fr.json"),
|
data: require("./built-temp/base-fr.json"),
|
||||||
code: "fr",
|
code: "fr",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"ja": {
|
"ja": {
|
||||||
name: "日本語",
|
name: "日本語",
|
||||||
data: require("./built-temp/base-ja.json"),
|
data: require("./built-temp/base-ja.json"),
|
||||||
code: "ja",
|
code: "ja",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"pt-PT": {
|
"pt-PT": {
|
||||||
name: "Português (Portugal)",
|
name: "Português (Portugal)",
|
||||||
data: require("./built-temp/base-pt-PT.json"),
|
data: require("./built-temp/base-pt-PT.json"),
|
||||||
code: "pt",
|
code: "pt",
|
||||||
region: "PT",
|
region: "PT",
|
||||||
},
|
},
|
||||||
"pt-BR": {
|
"pt-BR": {
|
||||||
name: "Português (Brasil)",
|
name: "Português (Brasil)",
|
||||||
data: require("./built-temp/base-pt-BR.json"),
|
data: require("./built-temp/base-pt-BR.json"),
|
||||||
code: "pt",
|
code: "pt",
|
||||||
region: "BR",
|
region: "BR",
|
||||||
},
|
},
|
||||||
"ru": {
|
"ru": {
|
||||||
name: "Русский",
|
name: "Русский",
|
||||||
data: require("./built-temp/base-ru.json"),
|
data: require("./built-temp/base-ru.json"),
|
||||||
code: "ru",
|
code: "ru",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"cs": {
|
"cs": {
|
||||||
name: "Čeština",
|
name: "Čeština",
|
||||||
data: require("./built-temp/base-cz.json"),
|
data: require("./built-temp/base-cz.json"),
|
||||||
code: "cs",
|
code: "cs",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"es-419": {
|
"es-419": {
|
||||||
name: "Español",
|
name: "Español",
|
||||||
data: require("./built-temp/base-es.json"),
|
data: require("./built-temp/base-es.json"),
|
||||||
code: "es",
|
code: "es",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"pl": {
|
"pl": {
|
||||||
name: "Polski",
|
name: "Polski",
|
||||||
data: require("./built-temp/base-pl.json"),
|
data: require("./built-temp/base-pl.json"),
|
||||||
code: "pl",
|
code: "pl",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"kor": {
|
"kor": {
|
||||||
name: "한국어",
|
name: "한국어",
|
||||||
data: require("./built-temp/base-kor.json"),
|
data: require("./built-temp/base-kor.json"),
|
||||||
code: "kor",
|
code: "kor",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"nl": {
|
"nl": {
|
||||||
name: "Nederlands",
|
name: "Nederlands",
|
||||||
data: require("./built-temp/base-nl.json"),
|
data: require("./built-temp/base-nl.json"),
|
||||||
code: "nl",
|
code: "nl",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
"no": {
|
"no": {
|
||||||
name: "Norsk",
|
name: "Norsk",
|
||||||
data: require("./built-temp/base-no.json"),
|
data: require("./built-temp/base-no.json"),
|
||||||
code: "no",
|
code: "no",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
|
|
||||||
"tr": {
|
"tr": {
|
||||||
name: "Türkçe",
|
name: "Türkçe",
|
||||||
data: require("./built-temp/base-tr.json"),
|
data: require("./built-temp/base-tr.json"),
|
||||||
code: "tr",
|
code: "tr",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
|
|
||||||
"zh-CN": {
|
"zh-CN": {
|
||||||
// simplified
|
// simplified
|
||||||
name: "中文简体",
|
name: "中文简体",
|
||||||
data: require("./built-temp/base-zh-CN.json"),
|
data: require("./built-temp/base-zh-CN.json"),
|
||||||
code: "zh",
|
code: "zh",
|
||||||
region: "CN",
|
region: "CN",
|
||||||
},
|
},
|
||||||
|
|
||||||
"zh-TW": {
|
"zh-TW": {
|
||||||
// traditional
|
// traditional
|
||||||
name: "中文繁體",
|
name: "中文繁體",
|
||||||
data: require("./built-temp/base-zh-TW.json"),
|
data: require("./built-temp/base-zh-TW.json"),
|
||||||
code: "zh",
|
code: "zh",
|
||||||
region: "TW",
|
region: "TW",
|
||||||
},
|
},
|
||||||
|
|
||||||
"sv": {
|
"sv": {
|
||||||
name: "Svenska",
|
name: "Svenska",
|
||||||
data: require("./built-temp/base-sv.json"),
|
data: require("./built-temp/base-sv.json"),
|
||||||
code: "sv",
|
code: "sv",
|
||||||
region: "",
|
region: "",
|
||||||
},
|
},
|
||||||
};
|
|
||||||
|
"da": {
|
||||||
|
name: "Dansk",
|
||||||
|
data: require("./built-temp/base-da.json"),
|
||||||
|
code: "da",
|
||||||
|
region: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|||||||
@ -267,6 +267,7 @@ export const allApplicationSettings = [
|
|||||||
new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}),
|
new BoolSetting("rotationByBuilding", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("displayChunkBorders", enumCategories.advanced, (app, value) => {}),
|
new BoolSetting("displayChunkBorders", enumCategories.advanced, (app, value) => {}),
|
||||||
new BoolSetting("pickMinerOnPatch", enumCategories.advanced, (app, value) => {}),
|
new BoolSetting("pickMinerOnPatch", enumCategories.advanced, (app, value) => {}),
|
||||||
|
new RangeSetting("mapResourcesScale", enumCategories.advanced, () => null),
|
||||||
|
|
||||||
new EnumSetting("refreshRate", {
|
new EnumSetting("refreshRate", {
|
||||||
options: refreshRateOptions,
|
options: refreshRateOptions,
|
||||||
@ -324,6 +325,7 @@ class SettingsStorage {
|
|||||||
this.lowQualityTextures = false;
|
this.lowQualityTextures = false;
|
||||||
this.simplifiedBelts = false;
|
this.simplifiedBelts = false;
|
||||||
this.zoomToCursor = true;
|
this.zoomToCursor = true;
|
||||||
|
this.mapResourcesScale = 0.5;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {Object.<string, number>}
|
* @type {Object.<string, number>}
|
||||||
@ -534,7 +536,7 @@ export class ApplicationSettings extends ReadWriteProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getCurrentVersion() {
|
getCurrentVersion() {
|
||||||
return 29;
|
return 30;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @param {{settings: SettingsStorage, version: number}} data */
|
/** @param {{settings: SettingsStorage, version: number}} data */
|
||||||
@ -672,6 +674,15 @@ export class ApplicationSettings extends ReadWriteProxy {
|
|||||||
data.version = 29;
|
data.version = 29;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.version < 30) {
|
||||||
|
data.settings.mapResourcesScale = 0.5;
|
||||||
|
|
||||||
|
// Re-enable hints as well
|
||||||
|
data.settings.offerHints = true;
|
||||||
|
|
||||||
|
data.version = 30;
|
||||||
|
}
|
||||||
|
|
||||||
return ExplainedResult.good();
|
return ExplainedResult.good();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,17 @@ import { T } from "../translations";
|
|||||||
|
|
||||||
const logger = createLogger("setting_types");
|
const logger = createLogger("setting_types");
|
||||||
|
|
||||||
|
/*
|
||||||
|
* ***************************************************
|
||||||
|
*
|
||||||
|
* LEGACY CODE WARNING
|
||||||
|
*
|
||||||
|
* This is old code from yorg3.io and needs to be refactored
|
||||||
|
* @TODO
|
||||||
|
*
|
||||||
|
* ***************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
export class BaseSetting {
|
export class BaseSetting {
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|||||||
@ -41,7 +41,7 @@ export class SavegameManager extends ReadWriteProxy {
|
|||||||
}
|
}
|
||||||
|
|
||||||
verify(data) {
|
verify(data) {
|
||||||
// TODO / FIXME!!!!
|
// @TODO
|
||||||
return ExplainedResult.good();
|
return ExplainedResult.good();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -248,7 +248,7 @@ export class SavegameInterface_V1006 extends SavegameInterface_V1005 {
|
|||||||
if (components.Storage) {
|
if (components.Storage) {
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
components.Storage = {
|
components.Storage = {
|
||||||
storedCount: 0,
|
storedCount: rebalance(components.Storage.storedCount),
|
||||||
storedItem: null,
|
storedItem: null,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,344 +1,351 @@
|
|||||||
import { createLogger } from "../core/logging";
|
import { createLogger } from "../core/logging";
|
||||||
import {
|
import {
|
||||||
BaseDataType,
|
BaseDataType,
|
||||||
TypeArray,
|
TypeArray,
|
||||||
TypeBoolean,
|
TypeBoolean,
|
||||||
TypeClass,
|
TypeClass,
|
||||||
TypeClassData,
|
TypeClassData,
|
||||||
TypeClassFromMetaclass,
|
TypeClassFromMetaclass,
|
||||||
TypeClassId,
|
TypeClassId,
|
||||||
TypeEntity,
|
TypeEntity,
|
||||||
TypeEntityWeakref,
|
TypeEntityWeakref,
|
||||||
TypeEnum,
|
TypeEnum,
|
||||||
TypeFixedClass,
|
TypeFixedClass,
|
||||||
TypeInteger,
|
TypeInteger,
|
||||||
TypeKeyValueMap,
|
TypeKeyValueMap,
|
||||||
TypeMetaClass,
|
TypeMetaClass,
|
||||||
TypeNullable,
|
TypeNullable,
|
||||||
TypeNumber,
|
TypeNumber,
|
||||||
TypePair,
|
TypePair,
|
||||||
TypePositiveInteger,
|
TypePositiveInteger,
|
||||||
TypePositiveNumber,
|
TypePositiveNumber,
|
||||||
TypeString,
|
TypeString,
|
||||||
TypeStructuredObject,
|
TypeStructuredObject,
|
||||||
TypeVector,
|
TypeVector,
|
||||||
} from "./serialization_data_types";
|
} from "./serialization_data_types";
|
||||||
|
|
||||||
const logger = createLogger("serialization");
|
const logger = createLogger("serialization");
|
||||||
|
|
||||||
// Schema declarations
|
// Schema declarations
|
||||||
export const types = {
|
export const types = {
|
||||||
int: new TypeInteger(),
|
int: new TypeInteger(),
|
||||||
uint: new TypePositiveInteger(),
|
uint: new TypePositiveInteger(),
|
||||||
float: new TypeNumber(),
|
float: new TypeNumber(),
|
||||||
ufloat: new TypePositiveNumber(),
|
ufloat: new TypePositiveNumber(),
|
||||||
string: new TypeString(),
|
string: new TypeString(),
|
||||||
entity: new TypeEntity(),
|
entity: new TypeEntity(),
|
||||||
weakEntityRef: new TypeEntityWeakref(),
|
weakEntityRef: new TypeEntityWeakref(),
|
||||||
vector: new TypeVector(),
|
vector: new TypeVector(),
|
||||||
tileVector: new TypeVector(),
|
tileVector: new TypeVector(),
|
||||||
bool: new TypeBoolean(),
|
bool: new TypeBoolean(),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {BaseDataType} wrapped
|
* @param {BaseDataType} wrapped
|
||||||
*/
|
*/
|
||||||
nullable(wrapped) {
|
nullable(wrapped) {
|
||||||
return new TypeNullable(wrapped);
|
return new TypeNullable(wrapped);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {FactoryTemplate<*>|SingletonFactoryTemplate<*>} registry
|
* @param {FactoryTemplate<*>|SingletonFactoryTemplate<*>} registry
|
||||||
*/
|
*/
|
||||||
classId(registry) {
|
classId(registry) {
|
||||||
return new TypeClassId(registry);
|
return new TypeClassId(registry);
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* @param {BaseDataType} valueType
|
* @param {BaseDataType} valueType
|
||||||
* @param {boolean=} includeEmptyValues
|
* @param {boolean=} includeEmptyValues
|
||||||
*/
|
*/
|
||||||
keyValueMap(valueType, includeEmptyValues = true) {
|
keyValueMap(valueType, includeEmptyValues = true) {
|
||||||
return new TypeKeyValueMap(valueType, includeEmptyValues);
|
return new TypeKeyValueMap(valueType, includeEmptyValues);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Object<string, any>} values
|
* @param {Object<string, any>} values
|
||||||
*/
|
*/
|
||||||
enum(values) {
|
enum(values) {
|
||||||
return new TypeEnum(values);
|
return new TypeEnum(values);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {FactoryTemplate<*>} registry
|
* @param {FactoryTemplate<*>} registry
|
||||||
* @param {(GameRoot, any) => object=} resolver
|
* @param {(GameRoot, any) => object=} resolver
|
||||||
*/
|
*/
|
||||||
obj(registry, resolver = null) {
|
obj(registry, resolver = null) {
|
||||||
return new TypeClass(registry, resolver);
|
return new TypeClass(registry, resolver);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {FactoryTemplate<*>} registry
|
* @param {FactoryTemplate<*>} registry
|
||||||
*/
|
*/
|
||||||
objData(registry) {
|
objData(registry) {
|
||||||
return new TypeClassData(registry);
|
return new TypeClassData(registry);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {typeof BasicSerializableObject} cls
|
* @param {typeof BasicSerializableObject} cls
|
||||||
*/
|
*/
|
||||||
knownType(cls) {
|
knownType(cls) {
|
||||||
return new TypeFixedClass(cls);
|
return new TypeFixedClass(cls);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {BaseDataType} innerType
|
* @param {BaseDataType} innerType
|
||||||
*/
|
*/
|
||||||
array(innerType) {
|
array(innerType) {
|
||||||
return new TypeArray(innerType);
|
return new TypeArray(innerType);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {SingletonFactoryTemplate<*>} innerType
|
* @param {BaseDataType} innerType
|
||||||
*/
|
*/
|
||||||
classRef(registry) {
|
fixedSizeArray(innerType) {
|
||||||
return new TypeMetaClass(registry);
|
return new TypeArray(innerType, true);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {Object.<string, BaseDataType>} descriptor
|
* @param {SingletonFactoryTemplate<*>} innerType
|
||||||
*/
|
*/
|
||||||
structured(descriptor) {
|
classRef(registry) {
|
||||||
return new TypeStructuredObject(descriptor);
|
return new TypeMetaClass(registry);
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {BaseDataType} a
|
* @param {Object.<string, BaseDataType>} descriptor
|
||||||
* @param {BaseDataType} b
|
*/
|
||||||
*/
|
structured(descriptor) {
|
||||||
pair(a, b) {
|
return new TypeStructuredObject(descriptor);
|
||||||
return new TypePair(a, b);
|
},
|
||||||
},
|
|
||||||
|
/**
|
||||||
/**
|
* @param {BaseDataType} a
|
||||||
* @param {typeof BasicSerializableObject} classHandle
|
* @param {BaseDataType} b
|
||||||
* @param {SingletonFactoryTemplate<*>} registry
|
*/
|
||||||
*/
|
pair(a, b) {
|
||||||
classWithMetaclass(classHandle, registry) {
|
return new TypePair(a, b);
|
||||||
return new TypeClassFromMetaclass(classHandle, registry);
|
},
|
||||||
},
|
|
||||||
};
|
/**
|
||||||
|
* @param {typeof BasicSerializableObject} classHandle
|
||||||
/**
|
* @param {SingletonFactoryTemplate<*>} registry
|
||||||
* A full schema declaration
|
*/
|
||||||
* @typedef {Object.<string, BaseDataType>} Schema
|
classWithMetaclass(classHandle, registry) {
|
||||||
*/
|
return new TypeClassFromMetaclass(classHandle, registry);
|
||||||
|
},
|
||||||
const globalSchemaCache = {};
|
};
|
||||||
|
|
||||||
/* dev:start */
|
/**
|
||||||
const classnamesCache = {};
|
* A full schema declaration
|
||||||
/* dev:end*/
|
* @typedef {Object.<string, BaseDataType>} Schema
|
||||||
|
*/
|
||||||
export class BasicSerializableObject {
|
|
||||||
/* dev:start */
|
const globalSchemaCache = {};
|
||||||
/**
|
|
||||||
* Fixes typeof DerivedComponent is not assignable to typeof Component, compiled out
|
/* dev:start */
|
||||||
* in non-dev builds
|
const classnamesCache = {};
|
||||||
*/
|
/* dev:end*/
|
||||||
constructor(...args) {}
|
|
||||||
|
export class BasicSerializableObject {
|
||||||
/* dev:end */
|
/* dev:start */
|
||||||
|
/**
|
||||||
static getId() {
|
* Fixes typeof DerivedComponent is not assignable to typeof Component, compiled out
|
||||||
abstract;
|
* in non-dev builds
|
||||||
}
|
*/
|
||||||
|
constructor(...args) {}
|
||||||
/**
|
|
||||||
* Should return the serialization schema
|
/* dev:end */
|
||||||
* @returns {Schema}
|
|
||||||
*/
|
static getId() {
|
||||||
static getSchema() {
|
abstract;
|
||||||
return {};
|
}
|
||||||
}
|
|
||||||
|
/**
|
||||||
// Implementation
|
* Should return the serialization schema
|
||||||
/** @returns {Schema} */
|
* @returns {Schema}
|
||||||
static getCachedSchema() {
|
*/
|
||||||
const id = this.getId();
|
static getSchema() {
|
||||||
|
return {};
|
||||||
/* dev:start */
|
}
|
||||||
assert(
|
|
||||||
classnamesCache[id] === this || classnamesCache[id] === undefined,
|
// Implementation
|
||||||
"Class name taken twice: " + id + " (from " + this.name + ")"
|
/** @returns {Schema} */
|
||||||
);
|
static getCachedSchema() {
|
||||||
classnamesCache[id] = this;
|
const id = this.getId();
|
||||||
/* dev:end */
|
|
||||||
|
/* dev:start */
|
||||||
const entry = globalSchemaCache[id];
|
assert(
|
||||||
if (entry) {
|
classnamesCache[id] === this || classnamesCache[id] === undefined,
|
||||||
return entry;
|
"Class name taken twice: " + id + " (from " + this.name + ")"
|
||||||
}
|
);
|
||||||
|
classnamesCache[id] = this;
|
||||||
const schema = this.getSchema();
|
/* dev:end */
|
||||||
globalSchemaCache[id] = schema;
|
|
||||||
return schema;
|
const entry = globalSchemaCache[id];
|
||||||
}
|
if (entry) {
|
||||||
|
return entry;
|
||||||
/** @returns {object} */
|
}
|
||||||
serialize() {
|
|
||||||
return serializeSchema(
|
const schema = this.getSchema();
|
||||||
this,
|
globalSchemaCache[id] = schema;
|
||||||
/** @type {typeof BasicSerializableObject} */ (this.constructor).getCachedSchema()
|
return schema;
|
||||||
);
|
}
|
||||||
}
|
|
||||||
|
/** @returns {object} */
|
||||||
/**
|
serialize() {
|
||||||
* @param {any} data
|
return serializeSchema(
|
||||||
* @param {import("./savegame_serializer").GameRoot} root
|
this,
|
||||||
* @returns {string|void}
|
/** @type {typeof BasicSerializableObject} */ (this.constructor).getCachedSchema()
|
||||||
*/
|
);
|
||||||
deserialize(data, root = null) {
|
}
|
||||||
return deserializeSchema(
|
|
||||||
this,
|
/**
|
||||||
/** @type {typeof BasicSerializableObject} */ (this.constructor).getCachedSchema(),
|
* @param {any} data
|
||||||
data,
|
* @param {import("./savegame_serializer").GameRoot} root
|
||||||
null,
|
* @returns {string|void}
|
||||||
root
|
*/
|
||||||
);
|
deserialize(data, root = null) {
|
||||||
}
|
return deserializeSchema(
|
||||||
|
this,
|
||||||
/** @returns {string|void} */
|
/** @type {typeof BasicSerializableObject} */ (this.constructor).getCachedSchema(),
|
||||||
static verify(data) {
|
data,
|
||||||
return verifySchema(this.getCachedSchema(), data);
|
null,
|
||||||
}
|
root
|
||||||
}
|
);
|
||||||
|
}
|
||||||
/**
|
|
||||||
* Serializes an object using the given schema, mergin with the given properties
|
/** @returns {string|void} */
|
||||||
* @param {object} obj The object to serialize
|
static verify(data) {
|
||||||
* @param {Schema} schema The schema to use
|
return verifySchema(this.getCachedSchema(), data);
|
||||||
* @param {object=} mergeWith Any additional properties to merge with the schema, useful for super calls
|
}
|
||||||
* @returns {object} Serialized data object
|
}
|
||||||
*/
|
|
||||||
export function serializeSchema(obj, schema, mergeWith = {}) {
|
/**
|
||||||
for (const key in schema) {
|
* Serializes an object using the given schema, mergin with the given properties
|
||||||
if (!obj.hasOwnProperty(key)) {
|
* @param {object} obj The object to serialize
|
||||||
logger.error("Invalid schema, property", key, "does not exist on", obj, "(schema=", schema, ")");
|
* @param {Schema} schema The schema to use
|
||||||
assert(
|
* @param {object=} mergeWith Any additional properties to merge with the schema, useful for super calls
|
||||||
obj.hasOwnProperty(key),
|
* @returns {object} Serialized data object
|
||||||
"serialization: invalid schema, property does not exist on object: " + key
|
*/
|
||||||
);
|
export function serializeSchema(obj, schema, mergeWith = {}) {
|
||||||
}
|
for (const key in schema) {
|
||||||
if (!schema[key]) {
|
if (!obj.hasOwnProperty(key)) {
|
||||||
assert(false, "Invalid schema (bad key '" + key + "'): " + JSON.stringify(schema));
|
logger.error("Invalid schema, property", key, "does not exist on", obj, "(schema=", schema, ")");
|
||||||
}
|
assert(
|
||||||
|
obj.hasOwnProperty(key),
|
||||||
if (G_IS_DEV) {
|
"serialization: invalid schema, property does not exist on object: " + key
|
||||||
try {
|
);
|
||||||
mergeWith[key] = schema[key].serialize(obj[key]);
|
}
|
||||||
} catch (ex) {
|
if (!schema[key]) {
|
||||||
logger.error(
|
assert(false, "Invalid schema (bad key '" + key + "'): " + JSON.stringify(schema));
|
||||||
"Serialization of",
|
}
|
||||||
obj,
|
|
||||||
"failed on key '" + key + "' ->",
|
if (G_IS_DEV) {
|
||||||
ex,
|
try {
|
||||||
"(schema was",
|
mergeWith[key] = schema[key].serialize(obj[key]);
|
||||||
schema,
|
} catch (ex) {
|
||||||
")"
|
logger.error(
|
||||||
);
|
"Serialization of",
|
||||||
throw ex;
|
obj,
|
||||||
}
|
"failed on key '" + key + "' ->",
|
||||||
} else {
|
ex,
|
||||||
mergeWith[key] = schema[key].serialize(obj[key]);
|
"(schema was",
|
||||||
}
|
schema,
|
||||||
}
|
")"
|
||||||
return mergeWith;
|
);
|
||||||
}
|
throw ex;
|
||||||
|
}
|
||||||
/**
|
} else {
|
||||||
* Deserializes data into an object
|
mergeWith[key] = schema[key].serialize(obj[key]);
|
||||||
* @param {object} obj The object to store the deserialized data into
|
}
|
||||||
* @param {Schema} schema The schema to use
|
}
|
||||||
* @param {object} data The serialized data
|
return mergeWith;
|
||||||
* @param {string|void|null=} baseclassErrorResult Convenience, if this is a string error code, do nothing and return it
|
}
|
||||||
* @param {import("../game/root").GameRoot=} root Optional game root reference
|
|
||||||
* @returns {string|void} String error code or nothing on success
|
/**
|
||||||
*/
|
* Deserializes data into an object
|
||||||
export function deserializeSchema(obj, schema, data, baseclassErrorResult = null, root) {
|
* @param {object} obj The object to store the deserialized data into
|
||||||
if (baseclassErrorResult) {
|
* @param {Schema} schema The schema to use
|
||||||
return baseclassErrorResult;
|
* @param {object} data The serialized data
|
||||||
}
|
* @param {string|void|null=} baseclassErrorResult Convenience, if this is a string error code, do nothing and return it
|
||||||
|
* @param {import("../game/root").GameRoot=} root Optional game root reference
|
||||||
if (!data) {
|
* @returns {string|void} String error code or nothing on success
|
||||||
logger.error("Got 'NULL' data for", obj, "and schema", schema, "!");
|
*/
|
||||||
return "Got null data";
|
export function deserializeSchema(obj, schema, data, baseclassErrorResult = null, root) {
|
||||||
}
|
if (baseclassErrorResult) {
|
||||||
|
return baseclassErrorResult;
|
||||||
for (const key in schema) {
|
}
|
||||||
if (!data.hasOwnProperty(key)) {
|
|
||||||
logger.error("Data", data, "does not contain", key, "(schema:", schema, ")");
|
if (!data) {
|
||||||
return "Missing key in schema: " + key + " of class " + obj.constructor.name;
|
logger.error("Got 'NULL' data for", obj, "and schema", schema, "!");
|
||||||
}
|
return "Got null data";
|
||||||
if (!schema[key].allowNull() && (data[key] === null || data[key] === undefined)) {
|
}
|
||||||
logger.error("Data", data, "has null value for", key, "(schema:", schema, ")");
|
|
||||||
return "Non-nullable entry is null: " + key + " of class " + obj.constructor.name;
|
for (const key in schema) {
|
||||||
}
|
if (!data.hasOwnProperty(key)) {
|
||||||
|
logger.error("Data", data, "does not contain", key, "(schema:", schema, ")");
|
||||||
const errorStatus = schema[key].deserializeWithVerify(data[key], obj, key, obj.root || root);
|
return "Missing key in schema: " + key + " of class " + obj.constructor.name;
|
||||||
if (errorStatus) {
|
}
|
||||||
logger.error(
|
if (!schema[key].allowNull() && (data[key] === null || data[key] === undefined)) {
|
||||||
"Deserialization failed with error '" + errorStatus + "' on object",
|
logger.error("Data", data, "has null value for", key, "(schema:", schema, ")");
|
||||||
obj,
|
return "Non-nullable entry is null: " + key + " of class " + obj.constructor.name;
|
||||||
"and key",
|
}
|
||||||
key,
|
|
||||||
"(root? =",
|
const errorStatus = schema[key].deserializeWithVerify(data[key], obj, key, obj.root || root);
|
||||||
obj.root ? "y" : "n",
|
if (errorStatus) {
|
||||||
")"
|
logger.error(
|
||||||
);
|
"Deserialization failed with error '" + errorStatus + "' on object",
|
||||||
return errorStatus;
|
obj,
|
||||||
}
|
"and key",
|
||||||
}
|
key,
|
||||||
}
|
"(root? =",
|
||||||
|
obj.root ? "y" : "n",
|
||||||
/**
|
")"
|
||||||
* Verifies stored data using the given schema
|
);
|
||||||
* @param {Schema} schema The schema to use
|
return errorStatus;
|
||||||
* @param {object} data The data to verify
|
}
|
||||||
* @returns {string|void} String error code or nothing on success
|
}
|
||||||
*/
|
}
|
||||||
export function verifySchema(schema, data) {
|
|
||||||
for (const key in schema) {
|
/**
|
||||||
if (!data.hasOwnProperty(key)) {
|
* Verifies stored data using the given schema
|
||||||
logger.error("Data", data, "does not contain", key, "(schema:", schema, ")");
|
* @param {Schema} schema The schema to use
|
||||||
return "verify: missing key required by schema in stored data: " + key;
|
* @param {object} data The data to verify
|
||||||
}
|
* @returns {string|void} String error code or nothing on success
|
||||||
if (!schema[key].allowNull() && (data[key] === null || data[key] === undefined)) {
|
*/
|
||||||
logger.error("Data", data, "has null value for", key, "(schema:", schema, ")");
|
export function verifySchema(schema, data) {
|
||||||
return "verify: non-nullable entry is null: " + key;
|
for (const key in schema) {
|
||||||
}
|
if (!data.hasOwnProperty(key)) {
|
||||||
|
logger.error("Data", data, "does not contain", key, "(schema:", schema, ")");
|
||||||
const errorStatus = schema[key].verifySerializedValue(data[key]);
|
return "verify: missing key required by schema in stored data: " + key;
|
||||||
if (errorStatus) {
|
}
|
||||||
logger.error(errorStatus);
|
if (!schema[key].allowNull() && (data[key] === null || data[key] === undefined)) {
|
||||||
return "verify: " + errorStatus;
|
logger.error("Data", data, "has null value for", key, "(schema:", schema, ")");
|
||||||
}
|
return "verify: non-nullable entry is null: " + key;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
const errorStatus = schema[key].verifySerializedValue(data[key]);
|
||||||
/**
|
if (errorStatus) {
|
||||||
* Extends a schema by adding the properties from the new schema to the existing base schema
|
logger.error(errorStatus);
|
||||||
* @param {Schema} base
|
return "verify: " + errorStatus;
|
||||||
* @param {Schema} newOne
|
}
|
||||||
* @returns {Schema}
|
}
|
||||||
*/
|
}
|
||||||
export function extendSchema(base, newOne) {
|
|
||||||
/** @type {Schema} */
|
/**
|
||||||
const result = Object.assign({}, base);
|
* Extends a schema by adding the properties from the new schema to the existing base schema
|
||||||
for (const key in newOne) {
|
* @param {Schema} base
|
||||||
if (result.hasOwnProperty(key)) {
|
* @param {Schema} newOne
|
||||||
logger.error("Extend schema got duplicate key:", key);
|
* @returns {Schema}
|
||||||
continue;
|
*/
|
||||||
}
|
export function extendSchema(base, newOne) {
|
||||||
result[key] = newOne[key];
|
/** @type {Schema} */
|
||||||
}
|
const result = Object.assign({}, base);
|
||||||
return result;
|
for (const key in newOne) {
|
||||||
}
|
if (result.hasOwnProperty(key)) {
|
||||||
|
logger.error("Extend schema got duplicate key:", key);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
result[key] = newOne[key];
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|||||||
@ -80,7 +80,10 @@ export class SerializerInternal {
|
|||||||
for (const componentId in data) {
|
for (const componentId in data) {
|
||||||
if (!entity.components[componentId]) {
|
if (!entity.components[componentId]) {
|
||||||
if (G_IS_DEV && !globalConfig.debug.disableSlowAsserts) {
|
if (G_IS_DEV && !globalConfig.debug.disableSlowAsserts) {
|
||||||
logger.warn("Entity no longer has component:", componentId);
|
// @ts-ignore
|
||||||
|
if (++window.componentWarningsShown < 100) {
|
||||||
|
logger.warn("Entity no longer has component:", componentId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -285,14 +285,10 @@ export class InGameState extends GameState {
|
|||||||
*/
|
*/
|
||||||
stage7Warmup() {
|
stage7Warmup() {
|
||||||
if (this.switchStage(stages.s7_warmup)) {
|
if (this.switchStage(stages.s7_warmup)) {
|
||||||
if (G_IS_DEV && globalConfig.debug.noArtificialDelays) {
|
if (this.creationPayload.fastEnter) {
|
||||||
this.warmupTimeSeconds = 0.05;
|
this.warmupTimeSeconds = globalConfig.warmupTimeSecondsFast;
|
||||||
} else {
|
} else {
|
||||||
if (this.creationPayload.fastEnter) {
|
this.warmupTimeSeconds = globalConfig.warmupTimeSecondsRegular;
|
||||||
this.warmupTimeSeconds = globalConfig.warmupTimeSecondsFast;
|
|
||||||
} else {
|
|
||||||
this.warmupTimeSeconds = globalConfig.warmupTimeSecondsRegular;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -320,20 +320,23 @@ export class MainMenuState extends GameState {
|
|||||||
});
|
});
|
||||||
|
|
||||||
optionSelected.add(value => {
|
optionSelected.add(value => {
|
||||||
this.app.settings.updateLanguage(value);
|
this.app.settings.updateLanguage(value).then(() => {
|
||||||
if (setting.restartRequired) {
|
if (setting.restartRequired) {
|
||||||
if (this.app.platformWrapper.getSupportsRestart()) {
|
if (this.app.platformWrapper.getSupportsRestart()) {
|
||||||
this.app.platformWrapper.performRestart();
|
this.app.platformWrapper.performRestart();
|
||||||
} else {
|
} else {
|
||||||
this.dialogs.showInfo(T.dialogs.restartRequired.title, T.dialogs.restartRequired.text, [
|
this.dialogs.showInfo(
|
||||||
"ok:good",
|
T.dialogs.restartRequired.title,
|
||||||
]);
|
T.dialogs.restartRequired.text,
|
||||||
|
["ok:good"]
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (setting.changeCb) {
|
if (setting.changeCb) {
|
||||||
setting.changeCb(this.app, value);
|
setting.changeCb(this.app, value);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// Update current icon
|
// Update current icon
|
||||||
this.htmlElement.querySelector("button.languageChoose").setAttribute("data-languageIcon", value);
|
this.htmlElement.querySelector("button.languageChoose").setAttribute("data-languageIcon", value);
|
||||||
|
|||||||
@ -21,10 +21,6 @@ export class PreloadState extends GameState {
|
|||||||
<div class="loadingImage"></div>
|
<div class="loadingImage"></div>
|
||||||
<div class="loadingStatus">
|
<div class="loadingStatus">
|
||||||
<span class="desc">Booting</span>
|
<span class="desc">Booting</span>
|
||||||
<span class="bar">
|
|
||||||
<span class="inner" style="width: 0%"></span>
|
|
||||||
<span class="status">0%</span>
|
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<span class="prefab_GameHint"></span>
|
<span class="prefab_GameHint"></span>
|
||||||
@ -56,10 +52,6 @@ export class PreloadState extends GameState {
|
|||||||
|
|
||||||
/** @type {HTMLElement} */
|
/** @type {HTMLElement} */
|
||||||
this.statusText = this.htmlElement.querySelector(".loadingStatus > .desc");
|
this.statusText = this.htmlElement.querySelector(".loadingStatus > .desc");
|
||||||
/** @type {HTMLElement} */
|
|
||||||
this.statusBar = this.htmlElement.querySelector(".loadingStatus > .bar > .inner");
|
|
||||||
/** @type {HTMLElement} */
|
|
||||||
this.statusBarText = this.htmlElement.querySelector(".loadingStatus > .bar > .status");
|
|
||||||
|
|
||||||
/** @type {HTMLElement} */
|
/** @type {HTMLElement} */
|
||||||
this.hintsText = this.htmlElement.querySelector(".prefab_GameHint");
|
this.hintsText = this.htmlElement.querySelector(".prefab_GameHint");
|
||||||
@ -67,7 +59,6 @@ export class PreloadState extends GameState {
|
|||||||
this.nextHintDuration = 0;
|
this.nextHintDuration = 0;
|
||||||
|
|
||||||
this.currentStatus = "booting";
|
this.currentStatus = "booting";
|
||||||
this.currentIndex = 0;
|
|
||||||
|
|
||||||
this.startLoading();
|
this.startLoading();
|
||||||
}
|
}
|
||||||
@ -259,16 +250,8 @@ export class PreloadState extends GameState {
|
|||||||
*/
|
*/
|
||||||
setStatus(text) {
|
setStatus(text) {
|
||||||
logger.log("✅ " + text);
|
logger.log("✅ " + text);
|
||||||
this.currentIndex += 1;
|
|
||||||
this.currentStatus = text;
|
this.currentStatus = text;
|
||||||
this.statusText.innerText = text;
|
this.statusText.innerText = text;
|
||||||
|
|
||||||
const numSteps = 10; // FIXME
|
|
||||||
|
|
||||||
const percentage = (this.currentIndex / numSteps) * 100.0;
|
|
||||||
this.statusBar.style.width = percentage + "%";
|
|
||||||
this.statusBarText.innerText = findNiceValue(percentage) + "%";
|
|
||||||
|
|
||||||
return Promise.resolve();
|
return Promise.resolve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -36,7 +36,7 @@ function match(originalObj, translatedObj, path = "/") {
|
|||||||
if (typeof valueOriginal === "object") {
|
if (typeof valueOriginal === "object") {
|
||||||
match(valueOriginal, valueMatching, path + key + "/");
|
match(valueOriginal, valueMatching, path + key + "/");
|
||||||
} else if (typeof valueOriginal === "string") {
|
} else if (typeof valueOriginal === "string") {
|
||||||
// todo
|
// @todo
|
||||||
const originalPlaceholders = matchAll(valueOriginal, placeholderRegexp).toArray();
|
const originalPlaceholders = matchAll(valueOriginal, placeholderRegexp).toArray();
|
||||||
const translatedPlaceholders = matchAll(valueMatching, placeholderRegexp).toArray();
|
const translatedPlaceholders = matchAll(valueMatching, placeholderRegexp).toArray();
|
||||||
|
|
||||||
|
|||||||
@ -196,6 +196,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Move
|
moveMap: Move
|
||||||
@ -304,6 +312,30 @@ ingame:
|
|||||||
and belts to finish the goal quicker.<br><br>Tip: Hold
|
and belts to finish the goal quicker.<br><br>Tip: Hold
|
||||||
<strong>SHIFT</strong> to place multiple extractors, and use
|
<strong>SHIFT</strong> to place multiple extractors, and use
|
||||||
<strong>R</strong> to rotate them."
|
<strong>R</strong> to rotate them."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -694,7 +726,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -864,6 +897,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
|
|||||||
@ -93,9 +93,9 @@ mainMenu:
|
|||||||
discordLink: Servidor Discord oficial
|
discordLink: Servidor Discord oficial
|
||||||
helpTranslate: Ajuda a traduir-lo!
|
helpTranslate: Ajuda a traduir-lo!
|
||||||
madeBy: Creat per <author-link>
|
madeBy: Creat per <author-link>
|
||||||
browserWarning: >-
|
browserWarning: Disculpa, però el joc funcionarà lent al teu navegador!
|
||||||
|
Aconsegueix el joc complet o descarrega't chrome per una millor
|
||||||
Disculpa, però el joc funcionarà lent al teu navegador! Aconsegueix el joc complet o descarrega't chrome per una millor experiència.
|
experiència.
|
||||||
savegameLevel: Nivell <x>
|
savegameLevel: Nivell <x>
|
||||||
savegameLevelUnknown: Nivell desconegut
|
savegameLevelUnknown: Nivell desconegut
|
||||||
savegameUnnamed: Unnamed
|
savegameUnnamed: Unnamed
|
||||||
@ -205,6 +205,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Canviar el nom.
|
title: Canviar el nom.
|
||||||
desc: Canviar el nom de la partida guardada.
|
desc: Canviar el nom de la partida guardada.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Moure
|
moveMap: Moure
|
||||||
@ -315,6 +323,30 @@ ingame:
|
|||||||
ràpidament.<br><br>Pista: Manté pressionat
|
ràpidament.<br><br>Pista: Manté pressionat
|
||||||
<strong>SHIFT</strong> per a col·locar més extractors, i
|
<strong>SHIFT</strong> per a col·locar més extractors, i
|
||||||
utilitza <strong>R</strong> per a rotar-los."
|
utilitza <strong>R</strong> per a rotar-los."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -712,12 +744,13 @@ storyRewards:
|
|||||||
passar-ho bé!
|
passar-ho bé!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Cables i Pintador Quàdruple
|
title: Cables i Pintador Quàdruple
|
||||||
desc: "\"Has desbloquejat la <strong>Capa de Cables</strong>: És una capa
|
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||||
separada damunt la capa normal i introdueix moltes mecàniques
|
layer on top of the regular layer and introduces a lot of new
|
||||||
noves!<br><br> Per començar t'he desbloquejat el <strong>Pintador
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Quàdruple</strong>. Conecta les ranures que vols pintar a la capa de
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
Cables!<br><br> Per canviar a la capa de Cables, prem
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>.\""
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Filtre d'Ítems
|
title: Filtre d'Ítems
|
||||||
desc: Has desbloquejat el <strong>Filtre d'Ítems</strong>! Filtrarà els ítems a
|
desc: Has desbloquejat el <strong>Filtre d'Ítems</strong>! Filtrarà els ítems a
|
||||||
@ -892,6 +925,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Combinacions de tecles
|
title: Combinacions de tecles
|
||||||
|
|||||||
@ -1,56 +1,53 @@
|
|||||||
steamPage:
|
steamPage:
|
||||||
shortText: shapez.io je hra o stavbě továren pro automatizaci výroby a
|
shortText: shapez.io je hra o stavbě továren na automatizaci výroby a
|
||||||
kombinování čím dál složitějších tvarů na nekonečné mapě.
|
kombinování čím dál složitějších tvarů na nekonečné mapě.
|
||||||
discordLinkShort: Oficiální Discord
|
discordLinkShort: Oficiální Discord
|
||||||
intro: >-
|
intro: >-
|
||||||
Shapez.io je relaxační hra, ve které musíte stavět továrny pro
|
Máte rádi automatizaci? Tak to jste na správném místě!
|
||||||
automatizaci výroby geometrických tvarů.
|
|
||||||
|
|
||||||
Jak se zvyšuje úroveň, tvary se stávají stále složitějšími a vy se musíte rozšířit po nekonečné mapě.
|
shapez.io je relaxační hra, ve které musíte stavět továrny na automatizaci výroby geometrických tvarů. Jak se zvyšuje úroveň, tvary se stávají stále složitějšími a vy se musíte rozšířit po nekonečné mapě.
|
||||||
|
|
||||||
A jako by to nestačilo, musíte také produkovat exponenciálně více, abyste uspokojili požadavky - jediná věc, která pomáhá, je škálování!
|
A jako by to nestačilo, musíte také produkovat exponenciálně více, abyste uspokojili požadavky - jediná věc, která pomáhá, je škálování! Zatímco na začátku tvary pouze zpracováváte, později je musíte obarvit - těžbou a mícháním barev!
|
||||||
|
|
||||||
Zatímco tvary zpracováváte pouze na začátku, musíte je později obarvit - k tomu musíte těžit a míchat barvy!
|
Koupením hry na platformě Steam získáte přístup k plné verzi hry, ale také můžete nejdříve hrát demo verzi na shapez.io a až potom se rozhodnout!
|
||||||
|
|
||||||
Koupením hry na platformě Steam vám dá přístup k plné verzi hry, ale také můžete hrát demo verzi na shapez.io a potom se můžete rozhodnou jestli hru koupíte!
|
|
||||||
title_advantages: Výhody samostatné verze hry
|
title_advantages: Výhody samostatné verze hry
|
||||||
advantages:
|
advantages:
|
||||||
- <b>12 Nových úrovní</b> celkem 26 úrovní
|
- <b>12 Nových úrovní</b> z celkových 26 úrovní
|
||||||
- <b>18 Nových budov</b> pro plně automatizovanou továrnu!
|
- <b>18 Nových budov</b> pro plně automatizovanou továrnu!
|
||||||
- <b>20 vylepšení</b> pro mnoho hodin zábavy!
|
- <b>20 Řad vylepšení</b> pro mnoho hodin zábavy!
|
||||||
- <b>Wires Update</b> pro zcela nové rozměry!
|
- <b>Wires Update</b> pro zcela novou dimenzi!
|
||||||
- <b>Dark Mode</b>!
|
- <b>Tmavý mód</b>!
|
||||||
- Neomezený počet uložených her
|
- Neomezený počet uložených her
|
||||||
- Neomezené značky
|
- Neomezené značky
|
||||||
- Podpořte mě! ❤️
|
- Podpořte mě! ❤️
|
||||||
title_future: Plánovaný kontent
|
title_future: Plánovaný obsah
|
||||||
planned:
|
planned:
|
||||||
- Blueprintová knihovna
|
- Blueprintová knihovna
|
||||||
- Steam Achievements
|
- Steam Achievements
|
||||||
- Puzzle Mód
|
- Puzzle mód
|
||||||
- Minimapa
|
- Minimapa
|
||||||
- Módy
|
- Módy
|
||||||
- Sandbox Mód
|
- Sandbox mód
|
||||||
- ... a o hodně víc!
|
- ... a mnohem více!
|
||||||
title_open_source: Tato hra je open source!
|
title_open_source: Tato hra je open source!
|
||||||
|
text_open_source: >-
|
||||||
|
Kdokoli může přispět, jsem aktivně zapojený do komunity, pokouším se
|
||||||
|
zkontrolovat všechny návrhy a vzít v úvahu zpětnou vazbu všude, kde je
|
||||||
|
to možné.
|
||||||
|
|
||||||
|
Nezapomeňte se podívat na můj trello board pro kompletní plán!
|
||||||
title_links: Odkazy
|
title_links: Odkazy
|
||||||
links:
|
links:
|
||||||
discord: Oficiální Discord
|
discord: Oficiální Discord
|
||||||
roadmap: Roadmap
|
roadmap: Roadmap
|
||||||
subreddit: Subreddit
|
subreddit: Subreddit
|
||||||
source_code: Source code (GitHub)
|
source_code: Zdrojový kód (GitHub)
|
||||||
translate: Pomozte přeložit hru!
|
translate: Pomozte přeložit hru!
|
||||||
text_open_source: >-
|
|
||||||
Kdokoli může přispět, jsem aktivně zapojený do komunity,
|
|
||||||
pokouším se zkontrolovat všechny návrhy a vzít v úvahu zpětnou vazbu všude,
|
|
||||||
kde je to možné.
|
|
||||||
|
|
||||||
Nezapomeňte se podívat na můj trello board, kde najdete kompletní plán!
|
|
||||||
global:
|
global:
|
||||||
loading: Načítám
|
loading: Načítání
|
||||||
error: Chyba
|
error: Chyba
|
||||||
thousandsDivider: " "
|
thousandsDivider: " "
|
||||||
decimalSeparator: .
|
decimalSeparator: ","
|
||||||
suffix:
|
suffix:
|
||||||
thousands: k
|
thousands: k
|
||||||
millions: M
|
millions: M
|
||||||
@ -79,23 +76,23 @@ global:
|
|||||||
space: SPACE
|
space: SPACE
|
||||||
demoBanners:
|
demoBanners:
|
||||||
title: Demo verze
|
title: Demo verze
|
||||||
intro: Získejte plnou verzi pro odemknutí všech funkcí!
|
intro: Získejte plnou verzi pro odemknutí všech funkcí a obsahu!
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: Hrát
|
play: Hrát
|
||||||
changelog: Změny
|
continue: Pokračovat
|
||||||
|
newGame: Nová hra
|
||||||
|
changelog: Seznam změn
|
||||||
|
subreddit: Reddit
|
||||||
importSavegame: Importovat
|
importSavegame: Importovat
|
||||||
openSourceHint: Tato hra je open source!
|
openSourceHint: Tato hra je open source!
|
||||||
discordLink: Oficiální Discord Server
|
discordLink: Oficiální Discord Server
|
||||||
helpTranslate: Pomozte přeložit hru!
|
helpTranslate: Pomozte přeložit hru!
|
||||||
browserWarning: Hrajete v nepodporovaném prohlížeči, je možné že hra poběží
|
madeBy: Vytvořil <author-link>
|
||||||
pomalu! Pořiďte si samostatnou verzi nebo vyzkoušejte prohlížeč Chrome
|
browserWarning: Promiňte, ale víme, že hra poběží pomalu ve vašem prohlížeči!
|
||||||
pro plnohodnotný zážitek.
|
Pořiďte si samostatnou verzi nebo si stáhněte Google Chrome pro
|
||||||
|
plnohodnotný zážitek.
|
||||||
savegameLevel: Úroveň <x>
|
savegameLevel: Úroveň <x>
|
||||||
savegameLevelUnknown: Neznámá úroveň
|
savegameLevelUnknown: Neznámá úroveň
|
||||||
continue: Pokračovat
|
|
||||||
newGame: Nová hra
|
|
||||||
madeBy: Vytvořil <author-link>
|
|
||||||
subreddit: Reddit
|
|
||||||
savegameUnnamed: Nepojmenovaný
|
savegameUnnamed: Nepojmenovaný
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
@ -105,8 +102,8 @@ dialogs:
|
|||||||
later: Později
|
later: Později
|
||||||
restart: Restart
|
restart: Restart
|
||||||
reset: Reset
|
reset: Reset
|
||||||
getStandalone: Získejte Plnou verzi
|
getStandalone: Získejte plnou verzi
|
||||||
deleteGame: Vím co dělám
|
deleteGame: Vím, co dělám
|
||||||
viewUpdate: Zobrazit aktualizaci
|
viewUpdate: Zobrazit aktualizaci
|
||||||
showUpgrades: Zobrazit vylepšení
|
showUpgrades: Zobrazit vylepšení
|
||||||
showKeybindings: Zobrazit klávesové zkratky
|
showKeybindings: Zobrazit klávesové zkratky
|
||||||
@ -132,73 +129,81 @@ dialogs:
|
|||||||
text: Pro aplikování nastavení musíte restartovat hru.
|
text: Pro aplikování nastavení musíte restartovat hru.
|
||||||
editKeybinding:
|
editKeybinding:
|
||||||
title: Změna klávesové zkratky
|
title: Změna klávesové zkratky
|
||||||
desc: Zmáčkněte klávesu nebo tlačítko na myši pro přiřazení nebo Escape pro
|
desc: Zmáčkněte klávesu nebo tlačítko myši pro přiřazení nebo Escape pro
|
||||||
zrušení.
|
zrušení.
|
||||||
resetKeybindingsConfirmation:
|
resetKeybindingsConfirmation:
|
||||||
title: Reset klávesových zkratek
|
title: Reset klávesových zkratek
|
||||||
desc: Opravdu chcete vrátit klávesové zkratky zpět do původního nastavení?
|
desc: Toto vrátí všechny klávesové zkratky do původního nastavení. Prosím
|
||||||
|
potvrďte.
|
||||||
keybindingsResetOk:
|
keybindingsResetOk:
|
||||||
title: Reset klávesových zkratek
|
title: Reset klávesových zkratek
|
||||||
desc: Vaše klávesové zkratky byly resetovány do původního nastavení!
|
desc: Všechny klávesové zkratky byly vráceny do původního nastavení!
|
||||||
featureRestriction:
|
featureRestriction:
|
||||||
title: Demo verze
|
title: Demo verze
|
||||||
desc: Zkoušíte použít funkci (<feature>), která není v demo verzi. Pořiďte si
|
desc: Zkoušíte použít funkci (<feature>), která není v demo verzi. Zvažte
|
||||||
plnou verzi pro lepší zážitek!
|
pořízení plné verze pro kompletní zážitek!
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: Omezené ukládání
|
title: Omezené ukládání
|
||||||
desc: Ve zkušební verzi můžete mít pouze jednu uloženou hru. Odstraňte stávající
|
desc: Ve demo verzi můžete mít pouze jednu uloženou hru. Odstraňte stávající
|
||||||
uloženou hru nebo si pořiďte plnou verzi!
|
uloženou hru nebo si pořiďte plnou verzi!
|
||||||
updateSummary:
|
updateSummary:
|
||||||
title: Nová aktualizace!
|
title: Nová aktualizace!
|
||||||
desc: "Tady jsou změny od posledně:"
|
desc: "Zde jsou změny od doby, kdy jste naposledy hráli:"
|
||||||
upgradesIntroduction:
|
upgradesIntroduction:
|
||||||
title: Odemknout vylepšení
|
title: Odemknout vylepšení
|
||||||
desc: Všechny tvary, které vytvoříte, lze použít k odemčení vylepšení -
|
desc: Všechny tvary, které vytvoříte, lze použít k odemčení vylepšení -
|
||||||
<strong>Neničte své staré továrny!</strong> Karta vylepšení se
|
<strong>Neničte své staré továrny!</strong> Kartu vylepšení lze
|
||||||
nachází v pravém horním rohu obrazovky.
|
najít v pravém horním rohu obrazovky.
|
||||||
massDeleteConfirm:
|
massDeleteConfirm:
|
||||||
title: Potvrdit smazání
|
title: Potvrdit smazání
|
||||||
desc: Odstraňujete spoustu budov (přesněji <count>)! Opravdu je chcete smazat?
|
desc: Odstraňujete spoustu budov (přesněji <count>)! Opravdu je chcete smazat?
|
||||||
|
massCutConfirm:
|
||||||
|
title: Potvrdit vyjmutí
|
||||||
|
desc: Vyjímáte spoustu budov (přesněji <count>)! Opravdu je chcete vyjmout?
|
||||||
|
massCutInsufficientConfirm:
|
||||||
|
title: Potvrdit vyjmutí
|
||||||
|
desc: Nemůžete si dovolit vložení této oblasti! Opravdu ji chcete vyjmout?
|
||||||
blueprintsNotUnlocked:
|
blueprintsNotUnlocked:
|
||||||
title: Zatím neodemčeno
|
title: Zatím neodemčeno
|
||||||
desc: Plány ještě nebyly odemčeny! Chcete-li je odemknout, dokončete úroveň 12.
|
desc: Dokončete úroveň 12 pro odemčení Plánů!
|
||||||
keybindingsIntroduction:
|
keybindingsIntroduction:
|
||||||
title: Užitečné klávesové zkratky
|
title: Užitečné klávesové zkratky
|
||||||
desc: "Hra má spoustu klávesových zkratek, které usnadňují stavbu velkých
|
desc: "Tato hra má spoustu klávesových zkratek, které usnadňují stavbu velkých
|
||||||
továren. Zde jsou některé, ale nezapomeňte se podívat i na
|
továren. Zde jsou některé, ale nezapomeňte se podívat i na
|
||||||
<strong>ostatní klávesové zkratky</strong>!<br><br> <code
|
<strong>ostatní klávesové zkratky</strong>!<br><br> <code
|
||||||
class='keybinding'>CTRL</code> + Táhnout: Vybrání oblasti.<br> <code
|
class='keybinding'>CTRL</code> + Táhnout: Vybrání oblasti.<br> <code
|
||||||
class='keybinding'>SHIFT</code>: Podržením můžete umístit více budov
|
class='keybinding'>SHIFT</code>: Podržením můžete umístit více budov
|
||||||
za sebout.<br> <code class='keybinding'>ALT</code>: Změnit orientaci
|
za sebou.<br> <code class='keybinding'>ALT</code>: Změnit orientaci
|
||||||
umístěných pásů.<br>"
|
umístěných pásů.<br>"
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Nová značka
|
title: Nová značka
|
||||||
desc: Použijte smysluplný název, můžete také zahrnout <strong>krátký
|
|
||||||
klíč</strong> tvaru (který můžete vygenerovat <link>zde</link>)
|
|
||||||
titleEdit: Upravit značku
|
titleEdit: Upravit značku
|
||||||
markerDemoLimit:
|
desc: Použijte smysluplný název, můžete také zahrnout <strong>krátký
|
||||||
desc: V ukázce můžete vytvořit pouze dvě značky. Získejte plnou verzi pro
|
klíč</strong> tvaru (Ten můžete vygenerovat <link>zde</link>)
|
||||||
neomezený počet značek!
|
|
||||||
massCutConfirm:
|
|
||||||
title: Potvrdit vyjmutí
|
|
||||||
desc: Chceš vyjmout spoustu budov (přesněji řečeno <count>)! Vážně to chceš
|
|
||||||
udělat?
|
|
||||||
exportScreenshotWarning:
|
|
||||||
title: Exportuj snímek obrazovky
|
|
||||||
desc: Zažádal jsi o exportování své základny jako obrázek. Měj prosím na paměti,
|
|
||||||
že to může zejména u větších základen dlouho trvat, nebo dokonce
|
|
||||||
shodit hru!
|
|
||||||
massCutInsufficientConfirm:
|
|
||||||
title: Potvrdit vyjmutí
|
|
||||||
desc: Nemůžeš si dovolit vložení této oblasti! Skutečně ji chceš vyjmout?
|
|
||||||
editSignal:
|
editSignal:
|
||||||
title: Nastavte signál
|
title: Nastavte signál
|
||||||
descItems: "Vyberte předdefinovanou položku:"
|
descItems: "Vyberte předdefinovanou položku:"
|
||||||
descShortKey: ... nebo zadejte <strong>krátký klíč</strong> tvaru (který můžete
|
descShortKey: ... nebo zadejte <strong>krátký klíč</strong> tvaru (Ten můžete
|
||||||
vygenerovat <link>zde</link>)
|
vygenerovat <link>zde</link>)
|
||||||
|
markerDemoLimit:
|
||||||
|
desc: V demo verzi můžete vytvořit pouze dvě značky. Pořiďte si plnou verzi pro
|
||||||
|
neomezený počet značek!
|
||||||
|
exportScreenshotWarning:
|
||||||
|
title: Exportuj snímek obrazovky
|
||||||
|
desc: Chcete exportovat svou základnu jako snímek obrazovky. Mějte prosím na
|
||||||
|
paměti, že to bude docela pomalé u větších základen a může dokonce
|
||||||
|
dojít k pádu hry!
|
||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Přejmenovat uloženou hru
|
title: Přejmenovat uloženou hru
|
||||||
desc: Zde můžeš přejmenovat svoji uloženou hru.
|
desc: Zde můžete přejmenovat svoji uloženou hru.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Dostupný tutoriál
|
||||||
|
desc: Pro tuto úroveň je k dispozici tutoriál! Chtěli byste se na
|
||||||
|
něj podívat?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Dostupný tutoriál
|
||||||
|
desc: Pro tuto úroveň je k dispozici tutoriál, ale je dostupný
|
||||||
|
pouze v angličtině. Chtěli byste se na něj podívat?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Posun mapy
|
moveMap: Posun mapy
|
||||||
@ -237,7 +242,7 @@ ingame:
|
|||||||
unlockText: "Odemčeno: <reward>!"
|
unlockText: "Odemčeno: <reward>!"
|
||||||
buttonNextLevel: Další úroveň
|
buttonNextLevel: Další úroveň
|
||||||
notifications:
|
notifications:
|
||||||
newUpgrade: Nová aktualizace je k dispozici!
|
newUpgrade: Nové vylepšení je k dispozici!
|
||||||
gameSaved: Hra byla uložena.
|
gameSaved: Hra byla uložena.
|
||||||
freeplayLevelComplete: Level <level> byl dokončen!
|
freeplayLevelComplete: Level <level> byl dokončen!
|
||||||
shop:
|
shop:
|
||||||
@ -253,10 +258,10 @@ ingame:
|
|||||||
description: Tvary uložené ve vaší centrální budově.
|
description: Tvary uložené ve vaší centrální budově.
|
||||||
produced:
|
produced:
|
||||||
title: Vyprodukováno
|
title: Vyprodukováno
|
||||||
description: Tvary která vaše továrna produkuje, včetně meziproduktů.
|
description: Tvary, která vaše továrna produkuje, včetně meziproduktů.
|
||||||
delivered:
|
delivered:
|
||||||
title: Dodáno
|
title: Dodáno
|
||||||
description: Tvary které jsou dodávány do vaší centrální budovy.
|
description: Tvary, které jsou dodávány do vaší centrální budovy.
|
||||||
noShapesProduced: Žádné tvary zatím nebyly vyprodukovány.
|
noShapesProduced: Žádné tvary zatím nebyly vyprodukovány.
|
||||||
shapesDisplayUnits:
|
shapesDisplayUnits:
|
||||||
second: <shapes> / s
|
second: <shapes> / s
|
||||||
@ -289,10 +294,34 @@ ingame:
|
|||||||
1_2_conveyor: "Připojte extraktor pomocí <strong>dopravníkového pásu</strong> k
|
1_2_conveyor: "Připojte extraktor pomocí <strong>dopravníkového pásu</strong> k
|
||||||
vašemu HUBu!<br><br>Tip: <strong>Klikněte a táhněte</strong>
|
vašemu HUBu!<br><br>Tip: <strong>Klikněte a táhněte</strong>
|
||||||
myší pro položení více pásů!"
|
myší pro položení více pásů!"
|
||||||
1_3_expand: "Toto <strong>NENÍ</strong> hra o čekání! Sestavte další extraktory
|
1_3_expand: "Toto <strong>NENÍ</strong> hra o čekání! Postavte další extraktory
|
||||||
a pásy, abyste dosáhli cíle rychleji.<br><br>Tip: Chcete-li
|
a pásy, abyste dosáhli cíle rychleji.<br><br>Tip: Chcete-li
|
||||||
umístit více extraktorů, podržte <strong>SHIFT</strong>. Pomocí
|
umístit více extraktorů, podržte <strong>SHIFT</strong>. Pomocí
|
||||||
<strong>R</strong> je můžete otočit."
|
<strong>R</strong> je můžete otočit."
|
||||||
|
2_1_place_cutter: "Teď umístěte <strong>pilu</strong> k rozřezání kruhového tvaru na dvě
|
||||||
|
poloviny!<br><br> PS: Pila řeže tvary vždy <strong>svisle na
|
||||||
|
poloviny</strong> bez ohledu na její orientaci."
|
||||||
|
2_2_place_trash: Pila se může <strong>zaseknout a zastavit vaši produkci</strong>!<br><br> Použijte
|
||||||
|
<strong>koš</strong> ke smazání (!) nepotřebných
|
||||||
|
částí tvarů.
|
||||||
|
2_3_more_cutters: "Dobrá práce! Teď postavte <strong>více pil</strong> pro zrychlení
|
||||||
|
tohoto pomalého procesu!<br><br> PS: Použijte <strong>0-9
|
||||||
|
na klávesnici</strong> pro rychlejší přístup k budovám!"
|
||||||
|
3_1_rectangles: "Teď vytěžte nějaké obdelníkové tvary! <strong>Postavte 4
|
||||||
|
extraktory</strong> a připojte je k HUBu.<br><br> PS:
|
||||||
|
Podržením klávesy <strong>SHIFT</strong> a tažením pásu aktivujete
|
||||||
|
plánovač pásů!"
|
||||||
|
21_1_place_quad_painter: Postavte <strong>čtyřnásobný barvič</strong> a získejte nějaké
|
||||||
|
<strong>kruhové tvary</strong>, <strong>bílou</strong> a
|
||||||
|
<strong>červenou</strong> barvu!
|
||||||
|
21_2_switch_to_wires: Změňte vrstvy na vrstvu kabelů stisknutím klávesy
|
||||||
|
<strong>E</strong>!<br><br> Pak <strong>připojte všechny čtyři
|
||||||
|
vstupy</strong> barviče s pomocí kabelů!
|
||||||
|
21_3_place_button: Úžasné! Teď postavte <strong>přepínač</strong> a připojte ho
|
||||||
|
pomocí kabelů!
|
||||||
|
21_4_press_button: "Stiskněte přepínač pro změnu <strong>vysílaného logického
|
||||||
|
signálu</strong> a tím aktivujte barvič.<br><br> PS: Nemusíte
|
||||||
|
připojit veškeré vstupy! Zkuste spojit pouze dva."
|
||||||
colors:
|
colors:
|
||||||
red: Červená
|
red: Červená
|
||||||
green: Zelená
|
green: Zelená
|
||||||
@ -306,7 +335,7 @@ ingame:
|
|||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Vrstvy
|
title: Vrstvy
|
||||||
empty: Prázdné
|
empty: Prázdné
|
||||||
copyKey: Copy Key
|
copyKey: Zkopírovat klíč
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Extraktor
|
one_miner: 1 Extraktor
|
||||||
n_miners: <amount> Extraktorů
|
n_miners: <amount> Extraktorů
|
||||||
@ -316,7 +345,7 @@ ingame:
|
|||||||
desc: Kliknutím sem zobrazíte výhody Steam verze!
|
desc: Kliknutím sem zobrazíte výhody Steam verze!
|
||||||
get_on_steam: Získejte na steamu
|
get_on_steam: Získejte na steamu
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: Získejte plnou verzy!
|
title: Získejte plnou verzi!
|
||||||
no_thanks: Ne, děkuji!
|
no_thanks: Ne, děkuji!
|
||||||
points:
|
points:
|
||||||
levels:
|
levels:
|
||||||
@ -345,7 +374,7 @@ ingame:
|
|||||||
desc: Vyvíjím to ve svém volném čase!
|
desc: Vyvíjím to ve svém volném čase!
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
belt:
|
belt:
|
||||||
name: Pásy, distribuce & tunely
|
name: Pásy, distribuce a tunely
|
||||||
description: Rychlost x<currentMult> → x<newMult>
|
description: Rychlost x<currentMult> → x<newMult>
|
||||||
miner:
|
miner:
|
||||||
name: Extrakce
|
name: Extrakce
|
||||||
@ -370,10 +399,10 @@ buildings:
|
|||||||
miner:
|
miner:
|
||||||
default:
|
default:
|
||||||
name: Extraktor
|
name: Extraktor
|
||||||
description: Umístěte na náleziště tvaru nebo barvy pro zahájení těžby.
|
description: Umístěte na naleziště tvaru nebo barvy pro zahájení těžby.
|
||||||
chainable:
|
chainable:
|
||||||
name: Extraktor (Navazující)
|
name: Extraktor (Navazující)
|
||||||
description: Umístěte na náleziště tvaru nebo barvy pro zahájení těžby. Lze
|
description: Umístěte na naleziště tvaru nebo barvy pro zahájení těžby. Lze
|
||||||
zapojit po skupinách.
|
zapojit po skupinách.
|
||||||
underground_belt:
|
underground_belt:
|
||||||
default:
|
default:
|
||||||
@ -441,7 +470,7 @@ buildings:
|
|||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
name: Vyvažovač
|
name: Vyvažovač
|
||||||
description: Multifunkční - Rozděluje vstupy do výstupy.
|
description: Multifunkční - Rovnoměrně rozděluje vstupy na výstupech.
|
||||||
merger:
|
merger:
|
||||||
name: Spojovač (kompaktní)
|
name: Spojovač (kompaktní)
|
||||||
description: Spojí dva pásy do jednoho.
|
description: Spojí dva pásy do jednoho.
|
||||||
@ -506,7 +535,7 @@ buildings:
|
|||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Čtečka pásů
|
name: Čtečka pásů
|
||||||
description: Umožňuje měřit průměrnou propustnost pásu. Výstup čte poslední
|
description: Umožňuje změřit průměrnou propustnost pásu. Výstup čte poslední
|
||||||
položku ve vrstvě kabelů.
|
položku ve vrstvě kabelů.
|
||||||
analyzer:
|
analyzer:
|
||||||
default:
|
default:
|
||||||
@ -569,7 +598,7 @@ storyRewards:
|
|||||||
jde, oba tvary se <strong>slepí</strong> k sobě. Pokud ne, tvar
|
jde, oba tvary se <strong>slepí</strong> k sobě. Pokud ne, tvar
|
||||||
vpravo se <strong>nalepí na</strong> tvar vlevo!
|
vpravo se <strong>nalepí na</strong> tvar vlevo!
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Rozřazování/Spojování pásu
|
title: Kompaktní rozdělovač
|
||||||
desc: Právě jste odemkli <strong>rozdělovací</strong> variantu
|
desc: Právě jste odemkli <strong>rozdělovací</strong> variantu
|
||||||
<strong>vyvažovače</strong> - Přijímá jeden vstup a rozdělí ho na
|
<strong>vyvažovače</strong> - Přijímá jeden vstup a rozdělí ho na
|
||||||
dva!
|
dva!
|
||||||
@ -633,9 +662,9 @@ storyRewards:
|
|||||||
desc: Gratuluji! Mimochodem, více obsahu najdete v plné verzi!
|
desc: Gratuluji! Mimochodem, více obsahu najdete v plné verzi!
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Vyvažovač
|
title: Vyvažovač
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: Multifunkční <strong>vyvažovač</strong> byl odemknut - Může
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
být použit ke zvětšení vašich továren <strong>rozdělováním a spojováním
|
||||||
items</strong> onto multiple belts!
|
předmětů</strong> na několik pásu!
|
||||||
reward_merger:
|
reward_merger:
|
||||||
title: Kompaktní spojovač
|
title: Kompaktní spojovač
|
||||||
desc: Právě jste odemkli <strong>spojovací</strong> variantu
|
desc: Právě jste odemkli <strong>spojovací</strong> variantu
|
||||||
@ -681,13 +710,14 @@ storyRewards:
|
|||||||
kabelů.<br><br> - Pokračovat ve hře pravidelně.<br><br> Bez ohledu
|
kabelů.<br><br> - Pokračovat ve hře pravidelně.<br><br> Bez ohledu
|
||||||
na tvou volbu, nezapomeň si svou hru užít!
|
na tvou volbu, nezapomeň si svou hru užít!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Kabely a čtyřnásobný barvič
|
title: Kabely a 4x-barvič
|
||||||
desc: "Právě jste odemkli <strong>vrstvu kabelů</strong>: Je to samostatná
|
desc: "Právě jste odemkli <strong>vrstvu kabelů</strong>: Je to samostatná
|
||||||
vrstva navíc oproti běžné vrstvě a představuje spoustu nových
|
vrstva navíc oproti běžné vrstvě a představuje spoustu nových
|
||||||
možností!<br><br> Do začátku jsem zpřístupnil <strong>čtyřnásobný
|
možností!<br><br> Do začátku jsem zpřístupnil <strong>čtyřnásobný
|
||||||
barvič</strong> - Připojte vstupy, které byste chtěli obarvit na
|
barvič</strong> - Připojte vstupy, které byste chtěli obarvit
|
||||||
vrstvě kabelů!<br><br> Pro přepnutí mezi vrstvami stiskněte klávesu
|
na vrstvě kabelů!<br><br> Pro přepnutí mezi vrstvami stiskněte klávesu
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Aktivujte nápovědy</strong> v
|
||||||
|
nastavení pro spuštění tutoriálu o kabelech!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Filtr předmětů
|
title: Filtr předmětů
|
||||||
desc: Právě jste odemkli <strong>filtr předmětů</strong>! Nasměruje předměty buď
|
desc: Právě jste odemkli <strong>filtr předmětů</strong>! Nasměruje předměty buď
|
||||||
@ -703,7 +733,7 @@ settings:
|
|||||||
general: Obecné
|
general: Obecné
|
||||||
userInterface: Uživatelské rozhraní
|
userInterface: Uživatelské rozhraní
|
||||||
advanced: Rozšířené
|
advanced: Rozšířené
|
||||||
performance: Performance
|
performance: Výkon
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Vývojová verze
|
dev: Vývojová verze
|
||||||
staging: Testovací verze
|
staging: Testovací verze
|
||||||
@ -713,7 +743,7 @@ settings:
|
|||||||
uiScale:
|
uiScale:
|
||||||
title: Škálování UI
|
title: Škálování UI
|
||||||
description: Změní velikost uživatelského rozhraní. Rozhraní se bude stále
|
description: Změní velikost uživatelského rozhraní. Rozhraní se bude stále
|
||||||
přizpůsobovoat rozlišení vaší obrazovky, toto nastavení pouze
|
přizpůsobovat rozlišení vaší obrazovky, toto nastavení pouze
|
||||||
mění jeho škálu.
|
mění jeho škálu.
|
||||||
scales:
|
scales:
|
||||||
super_small: Velmi malé
|
super_small: Velmi malé
|
||||||
@ -722,7 +752,7 @@ settings:
|
|||||||
large: Velké
|
large: Velké
|
||||||
huge: Obrovské
|
huge: Obrovské
|
||||||
scrollWheelSensitivity:
|
scrollWheelSensitivity:
|
||||||
title: Citlivost přibížení
|
title: Citlivost přiblížení
|
||||||
description: Změní citlivost přiblížení (kolečkem myši nebo trackpadem).
|
description: Změní citlivost přiblížení (kolečkem myši nebo trackpadem).
|
||||||
sensitivity:
|
sensitivity:
|
||||||
super_slow: Hodně pomalé
|
super_slow: Hodně pomalé
|
||||||
@ -757,7 +787,7 @@ settings:
|
|||||||
alwaysMultiplace:
|
alwaysMultiplace:
|
||||||
title: Několikanásobné pokládání
|
title: Několikanásobné pokládání
|
||||||
description: Pokud bude zapnuté, zůstanou budovy vybrané i po postavení do té
|
description: Pokud bude zapnuté, zůstanou budovy vybrané i po postavení do té
|
||||||
doby než je zrušíte. Má to stejný efekt jako držení klávesy
|
doby, než je zrušíte. Má to stejný efekt jako držení klávesy
|
||||||
SHIFT.
|
SHIFT.
|
||||||
offerHints:
|
offerHints:
|
||||||
title: Tipy & Nápovědy
|
title: Tipy & Nápovědy
|
||||||
@ -772,8 +802,8 @@ settings:
|
|||||||
slow: Pomalá
|
slow: Pomalá
|
||||||
regular: Normální
|
regular: Normální
|
||||||
fast: Rychlá
|
fast: Rychlá
|
||||||
super_fast: Hodně Rychlá
|
super_fast: Hodně rychlá
|
||||||
extremely_fast: Extrémně Rychlá
|
extremely_fast: Extrémně rychlá
|
||||||
enableTunnelSmartplace:
|
enableTunnelSmartplace:
|
||||||
title: Chytré tunely
|
title: Chytré tunely
|
||||||
description: Pokládání tunelů po zapnutí bude samo odstraňovat nepotřebné pásy.
|
description: Pokládání tunelů po zapnutí bude samo odstraňovat nepotřebné pásy.
|
||||||
@ -800,11 +830,11 @@ settings:
|
|||||||
koeficient. V opačném případě zobrazí popis a obrázek.
|
koeficient. V opačném případě zobrazí popis a obrázek.
|
||||||
disableCutDeleteWarnings:
|
disableCutDeleteWarnings:
|
||||||
title: Zakázat upozornění o vyjmutí nebo odstranění
|
title: Zakázat upozornění o vyjmutí nebo odstranění
|
||||||
description: Deaktivujte varovná dialogová okna vyvolaná při vymutí/mazání více
|
description: Deaktivujte varovná dialogová okna vyvolaná při vyjmutí/mazání více
|
||||||
než 100 entit.
|
než 100 entit.
|
||||||
enableColorBlindHelper:
|
enableColorBlindHelper:
|
||||||
title: Režim pro barvoslepé
|
title: Režim pro barvoslepé
|
||||||
description: Zapné různé nástroje, které vám umožní hrát hru i pokud jste
|
description: Zapne různé nástroje, které vám umožní hrát hru i pokud jste
|
||||||
barvoslepí.
|
barvoslepí.
|
||||||
rotationByBuilding:
|
rotationByBuilding:
|
||||||
title: Rotace dle typu budov
|
title: Rotace dle typu budov
|
||||||
@ -854,9 +884,13 @@ settings:
|
|||||||
description: Umožnuje posouvání po mapě, pokud myší přejedete na okraj
|
description: Umožnuje posouvání po mapě, pokud myší přejedete na okraj
|
||||||
obrazovky. Rychlost žáleží na nastavení rychlosti pohybu.
|
obrazovky. Rychlost žáleží na nastavení rychlosti pohybu.
|
||||||
zoomToCursor:
|
zoomToCursor:
|
||||||
title: Zoom towards Cursor
|
title: Přiblížení ke kurzoru
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: Při zapnutí dojde k přibližování ve směru polohy
|
||||||
position, otherwise in the middle of the screen.
|
kurzoru, jinak ve středu obrazovky.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Velikost zdrojů na mapě
|
||||||
|
description: Určuje velikost ikon tvarů na náhledu mapy (při
|
||||||
|
oddálení).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Klávesové zkratky
|
title: Klávesové zkratky
|
||||||
@ -934,13 +968,13 @@ keybindings:
|
|||||||
about:
|
about:
|
||||||
title: O hře
|
title: O hře
|
||||||
body: >-
|
body: >-
|
||||||
Tato hra je open source a je vyvíjená <a
|
Tato hra je open source. Je vyvíjená <a
|
||||||
href="https://github.com/tobspr" target="_blank">Tobiasem Springerem</a>
|
href="https://github.com/tobspr" target="_blank">Tobiasem Springerem</a>
|
||||||
(česky neumí, ale je to fakt frajer :) ).<br><br>
|
(česky neumí, ale je fakt frajer :) ).<br><br>
|
||||||
|
|
||||||
Pokud se chceš na hře podílet, podívej se na <a href="<githublink>" target="_blank">shapez.io na githubu</a>.<br><br>
|
Pokud se chceš na hře podílet, podívej se na <a href="<githublink>" target="_blank">shapez.io na githubu</a>.<br><br>
|
||||||
|
|
||||||
Tato hra by nebyla ani možná bez skvělé Discord komunity okolo Tobiasových her - Vážně by ses měl přijít mrknout na <a href="<discordlink>" target="_blank">Discord server</a>!<br><br>
|
Tato hra by nebyla možná ani bez skvělé Discord komunity okolo Tobiasových her - Vážně by ses měl přijít mrknout na <a href="<discordlink>" target="_blank">Discord server</a>!<br><br>
|
||||||
|
|
||||||
Soundtrack udělal <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Je úžasnej.<br><br>
|
Soundtrack udělal <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Je úžasnej.<br><br>
|
||||||
|
|
||||||
|
|||||||
@ -201,6 +201,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Bevæg dig
|
moveMap: Bevæg dig
|
||||||
@ -309,6 +317,30 @@ ingame:
|
|||||||
bælter for at færdiggøre målet hurtigere.<br><br>Tip: Hold
|
bælter for at færdiggøre målet hurtigere.<br><br>Tip: Hold
|
||||||
<strong>SKIFT</strong> for at sætte flere udvindere, og tryk
|
<strong>SKIFT</strong> for at sætte flere udvindere, og tryk
|
||||||
<strong>R</strong> for at rotere dem."
|
<strong>R</strong> for at rotere dem."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -699,7 +731,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -872,6 +905,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
|
|||||||
@ -2,17 +2,14 @@ steamPage:
|
|||||||
shortText: In shapez.io nutzt du die vorhandenen Ressourcen, um mit deinen
|
shortText: In shapez.io nutzt du die vorhandenen Ressourcen, um mit deinen
|
||||||
Maschinen durch Kombination immer komplexere Formen zu erschaffen.
|
Maschinen durch Kombination immer komplexere Formen zu erschaffen.
|
||||||
discordLinkShort: Offizieller Discord
|
discordLinkShort: Offizieller Discord
|
||||||
intro: Du magst Automatisierungsspiele? Dann bist du hier genau richtig!
|
intro: >-
|
||||||
shapez.io ist ein ruhiges Spiel, in dem du Fabriken zur automatisierten
|
Du magst Automatisierungsspiele? Dann bist du hier genau richtig!
|
||||||
Produktion von geometrischen Formen bauen musst. Mit steigendem Level
|
|
||||||
werden die Formen immer komplexer, und du musst dich auf der unendlich
|
shapez.io ist ein entspanntes Spiel, in dem du Fabriken zur automatisierten Produktion von geometrischen Formen bauen musst.
|
||||||
großen Karte ausbreiten. Das ist noch nicht alles, denn du musst
|
|
||||||
exponentiell mehr produzieren, um die Anforderungen zu erfüllen - Da
|
Mit steigendem Level werden die Formen immer komplexer, und du musst dich auf der unendlich großen Karte ausbreiten. Das ist noch nicht alles, denn du musst exponentiell mehr produzieren, um die Anforderungen zu erfüllen - Da hilft nur skalieren!
|
||||||
hilft nur skalieren! Während du am Anfang nur Formen verarbeitest, musst
|
|
||||||
du diese später auch einfärben - Dafür musst du Farben extrahieren und
|
Während du am Anfang nur Formen verarbeitest, musst du diese später auch einfärben - Dafür musst du Farben extrahieren und mischen! Der Kauf des Spiels auf Steam gibt dir Zugriff auf die Vollversion, aber du kannst auch zuerst die Demo auf shapez.io spielen und dich später entscheiden!
|
||||||
mischen! Der Kauf des Spiels auf Steam gibt dir Zugriff auf die
|
|
||||||
Vollversion, aber du kannst auch zuerst die Demo auf shapez.io spielen
|
|
||||||
und dich später entscheiden!
|
|
||||||
title_advantages: Vorteile der Vollversion
|
title_advantages: Vorteile der Vollversion
|
||||||
advantages:
|
advantages:
|
||||||
- <b>12 Neue Level</b> für insgesamt 26 Level
|
- <b>12 Neue Level</b> für insgesamt 26 Level
|
||||||
@ -88,7 +85,7 @@ mainMenu:
|
|||||||
discordLink: Offizieller Discord Server
|
discordLink: Offizieller Discord Server
|
||||||
helpTranslate: Hilf beim Übersetzen!
|
helpTranslate: Hilf beim Übersetzen!
|
||||||
madeBy: Ein Spiel von <author-link>
|
madeBy: Ein Spiel von <author-link>
|
||||||
browserWarning: Sorry, aber das Spiel wird in deinem Browser langsam laufen!
|
browserWarning: Sorry, aber das Spiel wird in deinem Browser langsamer laufen!
|
||||||
Kaufe die Vollversion oder verwende Google Chrome für die beste
|
Kaufe die Vollversion oder verwende Google Chrome für die beste
|
||||||
Erfahrung!
|
Erfahrung!
|
||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
@ -174,9 +171,9 @@ dialogs:
|
|||||||
vereinfachen und beschleunigen. Hier sind ein paar Beispiele, aber
|
vereinfachen und beschleunigen. Hier sind ein paar Beispiele, aber
|
||||||
prüfe am besten die
|
prüfe am besten die
|
||||||
<strong>Tastenbelegung-Einstellungen</strong>!<br><br>
|
<strong>Tastenbelegung-Einstellungen</strong>!<br><br>
|
||||||
<code class='keybinding'>STRG</code> + Ziehen: Wähle Areal aus.<br>
|
<code class='keybinding'>STRG</code> + Ziehen: Wähle Bereich aus.<br>
|
||||||
<code class='keybinding'>UMSCH</code>: Halten, um mehrere Gebäude zu platzieren.<br>
|
<code class='keybinding'>UMSCH</code>: Halten, um mehrere Gebäude zu platzieren.<br>
|
||||||
<code class='keybinding'>ALT</code>: Invertiere die Platzierungsrichtung der Förderbänder.<br>
|
<code class='keybinding'>ALT</code>: Invertiere die Platzierungsrichtung der Fließbänder.<br>
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Neuer Marker
|
title: Neuer Marker
|
||||||
titleEdit: Marker bearbeiten
|
titleEdit: Marker bearbeiten
|
||||||
@ -199,6 +196,13 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Speicherstand umbenennen
|
title: Speicherstand umbenennen
|
||||||
desc: Hier kannst du deinen Speicherstand umbenennen.
|
desc: Hier kannst du deinen Speicherstand umbenennen.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial verfügbar
|
||||||
|
desc: Für dieses Level ist ein Tutorial-Video verfügbar. Willst du es anschauen?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial verfügbar
|
||||||
|
desc: Für dieses Level ist ein Tutorial-Video verfügbar, allerdings nur auf
|
||||||
|
Englisch. Willst du es trotzdem anschauen?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Bewegen
|
moveMap: Bewegen
|
||||||
@ -275,7 +279,7 @@ ingame:
|
|||||||
settingsMenu:
|
settingsMenu:
|
||||||
playtime: Spielzeit
|
playtime: Spielzeit
|
||||||
buildingsPlaced: Gebäude
|
buildingsPlaced: Gebäude
|
||||||
beltsPlaced: Förderbänder
|
beltsPlaced: Fließbänder
|
||||||
tutorialHints:
|
tutorialHints:
|
||||||
title: Brauchst du Hilfe?
|
title: Brauchst du Hilfe?
|
||||||
showHint: Hinweis
|
showHint: Hinweis
|
||||||
@ -303,9 +307,35 @@ ingame:
|
|||||||
schließe ihn am Hub an!<br><br>Tipp: <strong>Drücke und
|
schließe ihn am Hub an!<br><br>Tipp: <strong>Drücke und
|
||||||
ziehe</strong> das Fließband mit der Maus!"
|
ziehe</strong> das Fließband mit der Maus!"
|
||||||
1_3_expand: "Dies ist <strong>KEIN</strong> Idle-Game! Baue mehr Extrahierer und
|
1_3_expand: "Dies ist <strong>KEIN</strong> Idle-Game! Baue mehr Extrahierer und
|
||||||
Förderbänder, um das Ziel schneller zu erreichen.<br><br>Tipp:
|
Fließbänder, um das Ziel schneller zu erreichen.<br><br>Tipp:
|
||||||
Halte <strong>UMSCH</strong>, um mehrere Gebäude zu platzieren
|
Halte <strong>UMSCH</strong>, um mehrere Gebäude zu platzieren
|
||||||
und nutze <strong>R</strong>, um sie zu rotieren."
|
und nutze <strong>R</strong>, um sie zu rotieren."
|
||||||
|
2_1_place_cutter: "Platziere nun einen <strong>Schneider</strong> um die Kreise
|
||||||
|
in zwei Hälften zu zerteilen.<br><br> Übrigens: Der Schneider
|
||||||
|
schneidet immer von <strong>oben nach unten</strong>, unabhängig
|
||||||
|
seiner Orientierung!"
|
||||||
|
2_2_place_trash: Der Schneider kann <strong>verstopfen</strong>!<br><br>Benutze
|
||||||
|
einen <strong>Mülleimer</strong> um den aktuell (!) nicht
|
||||||
|
benötigten Rest loszuwerden.
|
||||||
|
2_3_more_cutters: "Gut gemacht! Platziere noch <strong>2 mehr Schneider</strong>
|
||||||
|
um das ganze zu beschleunigen.<br><br> Übrigens: Benutze die
|
||||||
|
<strong>Tasten 0-9</strong> um Gebäude schneller auszuwählen!"
|
||||||
|
3_1_rectangles: "Lass uns ein paar Quadrate extrahieren! <strong>Baue 4
|
||||||
|
Extrahierer</strong> und verbinde sie mit deinem HUB.<br><br>
|
||||||
|
PS: Halte <strong>SHIFT</strong> während du ein Fließband
|
||||||
|
ziehst, um den Fließbandplaner zu aktivieren!"
|
||||||
|
21_1_place_quad_painter: Platzier den <strong>Vierfach-Färber</strong> und
|
||||||
|
organisier ein paar <strong>Kreise</strong>,
|
||||||
|
<strong>weiße</strong> und <strong>rote</strong> Farbe!
|
||||||
|
21_2_switch_to_wires: Wechsle in die Wires-Ebene indem du <strong>E</strong>
|
||||||
|
drückst!<br><br> Verbinde danach <strong>alle vier
|
||||||
|
Eingänge</strong> mit Signalkabeln!
|
||||||
|
21_3_place_button: Perfekt! Platziere jetzt einen <strong>Schalter</strong> und
|
||||||
|
verbinde ihn mit Signalkabeln.
|
||||||
|
21_4_press_button: "Drücke den Schalter damit er ein <strong>wahres
|
||||||
|
Signal</strong> ausgibt, und damit den Färber aktiviert.<br><br>
|
||||||
|
PS: Du musst nicht alle Eingänge verbinden! Probiere mal nur 2
|
||||||
|
aus."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: Ein Extrahierer
|
one_miner: Ein Extrahierer
|
||||||
n_miners: <amount> Extrahierer
|
n_miners: <amount> Extrahierer
|
||||||
@ -334,7 +364,7 @@ ingame:
|
|||||||
title: ∞ Marker
|
title: ∞ Marker
|
||||||
desc: Verliere nie den Überblick!
|
desc: Verliere nie den Überblick!
|
||||||
wires:
|
wires:
|
||||||
title: Wires
|
title: Wires-Ebene
|
||||||
desc: Eine ganz neue Dimension!
|
desc: Eine ganz neue Dimension!
|
||||||
darkmode:
|
darkmode:
|
||||||
title: Dark-Mode
|
title: Dark-Mode
|
||||||
@ -344,7 +374,7 @@ ingame:
|
|||||||
desc: Ich entwickle in meiner Freizeit!
|
desc: Ich entwickle in meiner Freizeit!
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
belt:
|
belt:
|
||||||
name: Förderbänder, Verteiler & Tunnel
|
name: Fließbänder, Verteiler & Tunnel
|
||||||
description: Geschw. x<currentMult> → x<newMult>
|
description: Geschw. x<currentMult> → x<newMult>
|
||||||
miner:
|
miner:
|
||||||
name: Extrahierer
|
name: Extrahierer
|
||||||
@ -376,11 +406,11 @@ buildings:
|
|||||||
underground_belt:
|
underground_belt:
|
||||||
default:
|
default:
|
||||||
name: Tunnel
|
name: Tunnel
|
||||||
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern
|
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Fließbändern
|
||||||
durchzuleiten.
|
durchzuleiten.
|
||||||
tier2:
|
tier2:
|
||||||
name: Tunnel Stufe II
|
name: Tunnel Stufe II
|
||||||
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Förderbändern
|
description: Erlaubt dir, Formen und Farbe unter Gebäuden und Fließbändern
|
||||||
durchzuleiten. Höhere Reichweite.
|
durchzuleiten. Höhere Reichweite.
|
||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
@ -389,16 +419,16 @@ buildings:
|
|||||||
Ausgänge.
|
Ausgänge.
|
||||||
merger:
|
merger:
|
||||||
name: Kombinierer (kompakt)
|
name: Kombinierer (kompakt)
|
||||||
description: Kombiniert zwei Fließbänder zu einem.
|
description: Kombiniert zwei Eingänge gleichmäßig zu einem Ausgang.
|
||||||
merger-inverse:
|
merger-inverse:
|
||||||
name: Kombinierer (kompakt)
|
name: Kombinierer (kompakt)
|
||||||
description: Kombiniert zwei Fließbänder zu einem.
|
description: Kombiniert zwei Eingänge gleichmäßig zu einem Ausgang.
|
||||||
splitter:
|
splitter:
|
||||||
name: Aufteiler (kompakt)
|
name: Aufteiler (kompakt)
|
||||||
description: Teilt ein Fließband in zwei.
|
description: Teilt einen Eingang gleichmäßig in zwei Ausgänge auf.
|
||||||
splitter-inverse:
|
splitter-inverse:
|
||||||
name: Aufteiler (kompakt)
|
name: Aufteiler (kompakt)
|
||||||
description: Teilt ein Fließband in zwei.
|
description: Teilt einen Eingang gleichmäßig in zwei Ausgänge auf.
|
||||||
cutter:
|
cutter:
|
||||||
default:
|
default:
|
||||||
name: Schneider
|
name: Schneider
|
||||||
@ -443,8 +473,8 @@ buildings:
|
|||||||
quad:
|
quad:
|
||||||
name: Färber (vierfach)
|
name: Färber (vierfach)
|
||||||
description: Erlaubt dir, jeden Quadranten der Form individuell zu färben. Nur
|
description: Erlaubt dir, jeden Quadranten der Form individuell zu färben. Nur
|
||||||
Quadranten mit einem <strong>wahren Signal</strong> auf der
|
Quadranten mit einem <strong>wahren Signal</strong> (Form, Farbe
|
||||||
Wires-Ebene werden angemalt!
|
oder "1") auf der Wires-Ebene werden angemalt!
|
||||||
trash:
|
trash:
|
||||||
default:
|
default:
|
||||||
name: Mülleimer
|
name: Mülleimer
|
||||||
@ -474,8 +504,8 @@ buildings:
|
|||||||
constant_signal:
|
constant_signal:
|
||||||
default:
|
default:
|
||||||
name: Signalgeber
|
name: Signalgeber
|
||||||
description: Sendet ein konstantes Signal. Du wählst zwischen Formen, Farben
|
description: Sendet ein konstantes Signal. Du wählst zwischen Formen, Farben und
|
||||||
oder Wahrheitswerten (1 oder 0).
|
Wahrheitswerten (1 oder 0).
|
||||||
lever:
|
lever:
|
||||||
default:
|
default:
|
||||||
name: Schalter
|
name: Schalter
|
||||||
@ -484,36 +514,36 @@ buildings:
|
|||||||
Filters verwendet werden kann.
|
Filters verwendet werden kann.
|
||||||
logic_gate:
|
logic_gate:
|
||||||
default:
|
default:
|
||||||
name: UND Gatter
|
name: UND-Gatter
|
||||||
description: Gibt eine "1" aus, wenn beide Eingänge wahr sind (wahr bedeutet
|
description: Gibt eine "1" aus, wenn beide Eingänge wahr (Form, Farbe oder "1")
|
||||||
Form, Farbe oder "1").
|
sind.
|
||||||
not:
|
not:
|
||||||
name: NICHT Gatter
|
name: NICHT-Gatter
|
||||||
description: Gibt eine "1" aus, wenn der Eingang nicht wahr ist (wahr bedeutet
|
description: Gibt eine "1" aus, wenn beide Eingänge nicht wahr (kein Signal oder
|
||||||
Form, Farbe oder "1").
|
"0") sind.
|
||||||
xor:
|
xor:
|
||||||
name: XOR Gatter
|
name: XODER-Gatter
|
||||||
description: Gibt eine "1" aus, wenn einer der Eingänge wahr ist, aber nicht
|
description: Gibt eine "1" aus, wenn genau einer der Eingänge wahr (Form, Farbe
|
||||||
beide (wahr bedeutet Form, Farbe oder "1").
|
oder "1") ist.
|
||||||
or:
|
or:
|
||||||
name: ODER Gatter
|
name: ODER-Gatter
|
||||||
description: Gibt eine "1" aus, wenn einer der Eingänge wahr ist (wahr bedeutet
|
description: Gibt eine "1" aus, wenn mindestens einer der Eingänge wahr (Form,
|
||||||
Form, Farbe oder "1").
|
Farbe oder "1") ist.
|
||||||
transistor:
|
transistor:
|
||||||
default:
|
default:
|
||||||
name: Transistor
|
name: Transistor
|
||||||
description: Leitet den unteren Eingang weiter, wenn der seitliche Eingang wahr
|
description: Lässt den unteren Eingang passieren, wenn der seitliche Eingang
|
||||||
ist (eine Form, Farbe oder "1").
|
wahr (Form, Farbe oder "1") ist.
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Transistor
|
name: Transistor
|
||||||
description: Leitet den unteren Eingang weiter, wenn der seitliche Eingang wahr
|
description: Lässt den unteren Eingang passieren, wenn der seitliche Eingang
|
||||||
ist (eine Form, Farbe oder "1").
|
wahr (Form, Farbe oder "1") ist.
|
||||||
filter:
|
filter:
|
||||||
default:
|
default:
|
||||||
name: Filter
|
name: Itemfilter
|
||||||
description: Verbinde ein Signal, um alle passenden Gegenstände nach oben zu
|
description: Lässt nur die Items durch, die dem eingespeisten Signal entsprechen
|
||||||
leiten und die restlichen nach rechts. Kann auch mit
|
und sortiert die restlichen aus. Mit Wahrheitswerten
|
||||||
Wahrheitswerten gesteuert werden.
|
konfiguriert fungiert er als Schranke.
|
||||||
display:
|
display:
|
||||||
default:
|
default:
|
||||||
name: Anzeige
|
name: Anzeige
|
||||||
@ -522,14 +552,14 @@ buildings:
|
|||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Fließbandkontrolle
|
name: Fließbandkontrolle
|
||||||
description: Ermöglicht es, den durchschnittlichen Durchsatz des Fließbandes zu
|
description: Misst den gemittelten Durchsatz des Fließbandes. Gibt zuätzlich den
|
||||||
messen. Gibt den letzten Gegenstand auf der Wires-Ebene aus
|
zuletzt passierten Gegenstand auf der Wires-Ebene aus (sobald
|
||||||
(sobald freigeschaltet).
|
freigeschaltet).
|
||||||
analyzer:
|
analyzer:
|
||||||
default:
|
default:
|
||||||
name: Formanalyse
|
name: Formanalyse
|
||||||
description: Analysiert den oberen rechten Quadranten der untersten Schicht der
|
description: Analysiert den oberen rechten Quadranten der untersten Schicht
|
||||||
Form und gibt seine Form und Farbe zurück.
|
einer Form und gibt sowohl Form als auch Farbe aus.
|
||||||
comparator:
|
comparator:
|
||||||
default:
|
default:
|
||||||
name: Vergleich
|
name: Vergleich
|
||||||
@ -541,11 +571,10 @@ buildings:
|
|||||||
description: Schneidet die Form virtuell in zwei Hälften.
|
description: Schneidet die Form virtuell in zwei Hälften.
|
||||||
rotater:
|
rotater:
|
||||||
name: Virtueller Rotierer
|
name: Virtueller Rotierer
|
||||||
description: Dreht die Form virtuell, sowohl im als auch gegen den
|
description: Dreht die Form virtuell im Uhrzeigersinn.
|
||||||
Uhrzeigersinn.
|
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Virtueller Entstapler
|
name: Virtueller Entstapler
|
||||||
description: Extrahiert virtuell die oberste Ebene nach rechts und die die
|
description: Extrahiert virtuell die oberste Ebene nach rechts und die
|
||||||
restlichen Ebenen nach links.
|
restlichen Ebenen nach links.
|
||||||
stacker:
|
stacker:
|
||||||
name: Virtueller Stapler
|
name: Virtueller Stapler
|
||||||
@ -558,7 +587,7 @@ buildings:
|
|||||||
default:
|
default:
|
||||||
name: Item-Produzent
|
name: Item-Produzent
|
||||||
description: Nur im Sandkastenmodus verfügbar. Gibt das Signal aus der
|
description: Nur im Sandkastenmodus verfügbar. Gibt das Signal aus der
|
||||||
Wires-Ebene auf der regulären Ebene aus.
|
Wires-Ebene als Item aus.
|
||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Formen zerschneiden
|
title: Formen zerschneiden
|
||||||
@ -574,9 +603,9 @@ storyRewards:
|
|||||||
Uhrzeigersinn um 90 Grad.
|
Uhrzeigersinn um 90 Grad.
|
||||||
reward_painter:
|
reward_painter:
|
||||||
title: Färben
|
title: Färben
|
||||||
desc: "Der <strong>Färber</strong> wurde freigeschaltet. Extrahiere ein paar
|
desc: "Der <strong>Färber</strong> wurde freigeschaltet! Extrahiere ein paar
|
||||||
Farben (genauso wie bei Formen) und färbe damit eine Form im
|
Farben (genauso wie bei Formen) und lasse damit eine Form im Färber
|
||||||
Färber.<br><br>PS: Falls du Farbenblind bist, gibt es einen
|
bemalen.<br><br>PS: Falls du farbenblind bist, gibt es einen
|
||||||
<strong>Modus für Farbenblinde</strong> in den Einstellungen!"
|
<strong>Modus für Farbenblinde</strong> in den Einstellungen!"
|
||||||
reward_mixer:
|
reward_mixer:
|
||||||
title: Farben mischen
|
title: Farben mischen
|
||||||
@ -591,13 +620,13 @@ storyRewards:
|
|||||||
<strong>gestapelt</strong>.
|
<strong>gestapelt</strong>.
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Verteiler
|
title: Verteiler
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: Der multifunktionale <strong>Verteiler</strong> wurde freigeschaltet! Er
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
kann benutzt werden, um größere Fabriken zu bauen, indem Fließbänder
|
||||||
items</strong> onto multiple belts!
|
<strong>aufgeteilt oder zusammengelegt</strong> werden!
|
||||||
reward_tunnel:
|
reward_tunnel:
|
||||||
title: Tunnel
|
title: Tunnel
|
||||||
desc: Der <strong>Tunnel</strong> wurde freigeschaltet! Du kannst Items nun
|
desc: Der <strong>Tunnel</strong> wurde freigeschaltet! Du kannst Items nun
|
||||||
unter Gebäuden oder Förderbändern hindurchleiten.
|
unter Gebäuden oder Fließbändern hindurchleiten.
|
||||||
reward_rotater_ccw:
|
reward_rotater_ccw:
|
||||||
title: Gegen UZS Rotieren
|
title: Gegen UZS Rotieren
|
||||||
desc: Du hast eine zweite Variante des <strong>Rotierers</strong>
|
desc: Du hast eine zweite Variante des <strong>Rotierers</strong>
|
||||||
@ -607,9 +636,9 @@ storyRewards:
|
|||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: Extrahierer (Kette)
|
title: Extrahierer (Kette)
|
||||||
desc: "Du hast den <strong>Kettenextrahierer</strong> freigeschaltet! Er kann
|
desc: "Du hast den <strong>Kettenextrahierer</strong> freigeschaltet! Er kann
|
||||||
seine Resourcen an andere Extrahierer <strong>weiterleiten</strong>!
|
seine Ressourcen an andere Extrahierer
|
||||||
<br><br> PS: Die alten Extrahierer wurde jetzt in deiner
|
<strong>weiterleiten</strong>. <br><br> PS: Der alte Extrahierer
|
||||||
Symbolleiste ersetzt!"
|
wurde jetzt in deiner Symbolleiste ersetzt!"
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: Tunnel Stufe II
|
title: Tunnel Stufe II
|
||||||
desc: Du hast eine neue Variante des <strong>Tunnels</strong> freigeschaltet!
|
desc: Du hast eine neue Variante des <strong>Tunnels</strong> freigeschaltet!
|
||||||
@ -619,7 +648,7 @@ storyRewards:
|
|||||||
title: Kompakter Kombinierer
|
title: Kompakter Kombinierer
|
||||||
desc: Du hast eine <strong>kompakte Variante</strong> des
|
desc: Du hast eine <strong>kompakte Variante</strong> des
|
||||||
<strong>Verteilers</strong> freigeschaltet! Der Kombinierer vereint
|
<strong>Verteilers</strong> freigeschaltet! Der Kombinierer vereint
|
||||||
zwei Eingäge zu einem Ausgang.
|
zwei Eingänge zu einem Ausgang.
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Kompakter Aufteiler
|
title: Kompakter Aufteiler
|
||||||
desc: Du hast eine <strong>kompakte Variante</strong> des
|
desc: Du hast eine <strong>kompakte Variante</strong> des
|
||||||
@ -632,12 +661,12 @@ storyRewards:
|
|||||||
lassen.<br><br>Wenn du Stromkabel freischaltest, wird er um eine
|
lassen.<br><br>Wenn du Stromkabel freischaltest, wird er um eine
|
||||||
sehr nützliche Funktion ergänzt!
|
sehr nützliche Funktion ergänzt!
|
||||||
reward_cutter_quad:
|
reward_cutter_quad:
|
||||||
title: Schneider (4-fach)
|
title: Schneider (vierfach)
|
||||||
desc: Du hast eine neue Variante des <strong>Schneiders</strong> freigeschaltet!
|
desc: Du hast eine neue Variante des <strong>Schneiders</strong> freigeschaltet!
|
||||||
Damit kannst du Formen in alle <strong>vier Teile</strong>
|
Damit kannst du Formen in alle <strong>vier Teile</strong>
|
||||||
zerschneiden.
|
zerschneiden.
|
||||||
reward_painter_double:
|
reward_painter_double:
|
||||||
title: Färber (2-fach)
|
title: Färber (zweifach)
|
||||||
desc: Du hast eine neue Variante des <strong>Färbers</strong> freigeschaltet!
|
desc: Du hast eine neue Variante des <strong>Färbers</strong> freigeschaltet!
|
||||||
Hiermit kannst du <strong>zwei Formen auf einmal</strong> färben und
|
Hiermit kannst du <strong>zwei Formen auf einmal</strong> färben und
|
||||||
verbrauchst nur eine Farbe.
|
verbrauchst nur eine Farbe.
|
||||||
@ -650,59 +679,69 @@ storyRewards:
|
|||||||
reward_blueprints:
|
reward_blueprints:
|
||||||
title: Blaupausen
|
title: Blaupausen
|
||||||
desc: Jetzt kannst du Teile deiner Fabrik <strong>kopieren und
|
desc: Jetzt kannst du Teile deiner Fabrik <strong>kopieren und
|
||||||
einfügen</strong>! Wähle ein Areal aus (Halte STRG und ziehe mit
|
einfügen</strong>! Wähle einen Bereich aus (Halte STRG und ziehe mit
|
||||||
deiner Maus) und drücke 'C', um zu kopieren.<br><br>Einfügen ist
|
deiner Maus) und drücke 'C', um zu kopieren.<br><br>Einfügen ist
|
||||||
<strong>nicht kostenlos</strong>! Du musst
|
<strong>nicht kostenlos</strong>! Du musst
|
||||||
<strong>Blaupausenformen</strong> produzieren, um die Kopierkosten
|
<strong>Blaupausenformen</strong> produzieren, um die Kopierkosten
|
||||||
zu decken (Welche du gerade produziert hast)!
|
zu decken (Welche du gerade produziert hast).
|
||||||
reward_rotater_180:
|
reward_rotater_180:
|
||||||
title: Rotierer (180°)
|
title: Rotierer (180°)
|
||||||
desc: Du hast eine weitere Variante des <strong>Rotierers</strong>
|
desc: Du hast eine weitere Variante des <strong>Rotierers</strong>
|
||||||
freigeschaltet! Mit ihm kannst du Formen um 180° drehen
|
freigeschaltet! Mit ihm kannst du Formen um 180° drehen
|
||||||
(Überraschung! :D).
|
(Überraschung! :D).
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Wires & Quad Painter
|
title: Wires-Ebene & vierfacher Färber
|
||||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
desc: "Du hast soeben die <strong>Wires-Ebene</strong> freigeschaltet! Diese
|
||||||
layer on top of the regular layer and introduces a lot of new
|
separate Ebene befindet sich unter deinen Gebäuden und gibt dir
|
||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
viele neue Möglichkeiten.<br><br> Für den Anfang bekommst du einen
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
<strong>vierfachen Färber</strong>. Schließe die Eingänge, mit denen
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
du die Quadranten färben möchtest, an ein Signalkabel auf der
|
||||||
<strong>E</strong>."
|
Wires-Ebene an!<br><br> Mit <strong>E</strong> wechselst du zwischen
|
||||||
|
den Ebenen. <br><br>PS: <strong>Aktiviere Hinweise</strong> in den
|
||||||
|
Einstellungen um das Tutorial anzuzeigen!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Itemfilter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: Du hast den <strong>Itemfilter</strong> freigeschaltet! Items, die dem
|
||||||
to the top or the right output depending on whether they match the
|
eingespeisten Signal entsprechen, lässt er passieren. Den Rest
|
||||||
signal from the wires layer or not.<br><br> You can also pass in a
|
zweigt er nach rechts ab.<br><br> Du kannst z.B. nach Farbe und Form
|
||||||
boolean signal (1 / 0) to entirely activate or disable it.
|
sortieren oder mit Wahrheitswerten (1 oder 0) Items nur auf
|
||||||
|
Knopfdruck passieren lassen.
|
||||||
reward_display:
|
reward_display:
|
||||||
title: Display
|
title: Anzeige
|
||||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
desc: Du hast die <strong>Anzeige</strong> freigeschaltet! Jedes eingespeiste
|
||||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
Signal kann damit dargestellt werden.<br><br>Apropos, ist dir schon
|
||||||
reader and storage output their last read item? Try showing it on a
|
aufgefallen, dass Fließbandkontrolle und Lager das zuletzt passierte
|
||||||
display!"
|
Item ausgeben können? Lasse es dir doch gleich mal anzeigen!
|
||||||
reward_constant_signal:
|
reward_constant_signal:
|
||||||
title: Constant Signal
|
title: Signalgeber
|
||||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
desc: Du hast den <strong>Signalgeber</strong> freigeschaltet! Du kannst das
|
||||||
layer! This is useful to connect it to <strong>item filters</strong>
|
Gebäude auf der Wires-Ebene platzieren und z.B. mit einem
|
||||||
for example.<br><br> The constant signal can emit a
|
<strong>Itemfilter</strong> verbinden.<br><br> Der Signalgeber kann
|
||||||
<strong>shape</strong>, <strong>color</strong> or
|
dir <strong>Formen</strong>, <strong>Farben</strong> oder
|
||||||
<strong>boolean</strong> (1 / 0).
|
<strong>Wahrheitswerte</strong> (1 oder 0) zur Verfügung stellen.
|
||||||
reward_logic_gates:
|
reward_logic_gates:
|
||||||
title: Logic Gates
|
title: Logikgatter
|
||||||
desc: You unlocked <strong>logic gates</strong>! You don't have to be excited
|
desc: Du hast nun eine Reihe an <strong>Logikgattern</strong> freigeschaltet!
|
||||||
about this, but it's actually super cool!<br><br> With those gates
|
Das muss dich jetzt nicht nervös machen, die Funktionsweise ist
|
||||||
you can now compute AND, OR, XOR and NOT operations.<br><br> As a
|
simpel und ziemlich cool.<br><br> Mit Logikgattern kannst du UND-,
|
||||||
bonus on top I also just gave you a <strong>transistor</strong>!
|
ODER-, XODER- und NICHT-Operationen ausführen.<br><br> Als
|
||||||
|
Sahnehäubchen obendrauf stelle ich dir noch einen
|
||||||
|
<strong>Transistor</strong> zur Verfügung. Houston, wir sind
|
||||||
|
Turing-vollständig!
|
||||||
reward_virtual_processing:
|
reward_virtual_processing:
|
||||||
title: Virtual Processing
|
title: Virtuelle Verarbeitung
|
||||||
desc: I just gave a whole bunch of new buildings which allow you to
|
desc: "Du hast gerade eine Menge neue Gebäude freigeschaltet! Mit ihnen kannst
|
||||||
<strong>simulate the processing of shapes</strong>!<br><br> You can
|
du die <strong>Verarbeitung von Formen komplett
|
||||||
now simulate a cutter, rotater, stacker and more on the wires layer!
|
simulieren</strong>.<br><br> Das beinhaltet einen Schneider,
|
||||||
With this you now have three options to continue the game:<br><br> -
|
Rotierer, Stapler und mehr für die Wires-Ebene! Damit bleiben dir ab
|
||||||
Build an <strong>automated machine</strong> to create any possible
|
jetzt drei Optionen offen:<br><br> - Ich empfehle dir, eine
|
||||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
<strong>automatisierte Maschine</strong> zu bauen, die jede
|
||||||
something cool with wires.<br><br> - Continue to play
|
beliebige Form am Hub abgreift und herstellt. (Probiere es
|
||||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
wenigstens!)<br><br> - Werde kreativ und lasse dir etwas Cooles
|
||||||
|
einfallen, das du auf der Wires-Ebene umsetzen kannst. (Und teile es
|
||||||
|
auf dem Discord!)<br><br> - Spiele dich weiter durch die Level. Auf
|
||||||
|
deine Art!<br><br> Das Wichstigste an deiner Entscheidung ist:
|
||||||
|
Vergiss nicht, dabei Spaß zu haben!"
|
||||||
no_reward:
|
no_reward:
|
||||||
title: Nächstes Level
|
title: Nächstes Level
|
||||||
desc: "Dieses Level hat dir keine Belohnung gegeben, aber im Nächsten gibt es
|
desc: "Dieses Level hat dir keine Belohnung gegeben, aber im Nächsten gibt es
|
||||||
@ -714,8 +753,8 @@ storyRewards:
|
|||||||
desc: Du hast das nächste Level freigeschaltet!
|
desc: Du hast das nächste Level freigeschaltet!
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: Freies Spiel
|
title: Freies Spiel
|
||||||
desc: Du hast es geschafft! Du hast den <strong>Freispiel-Modus</strong>
|
desc: Du hast es geschafft! Du bist im <strong>Freispiel-Modus</strong>
|
||||||
freigeschaltet! Das bedeutet, dass die abzuliefernden Formen jetzt
|
angekommen! Das bedeutet, dass die abzuliefernden Formen jetzt
|
||||||
<strong>zufällig</strong> erzeugt werden!<br><br> Da der Hub ab
|
<strong>zufällig</strong> erzeugt werden!<br><br> Da der Hub ab
|
||||||
jetzt einen bestimmten <strong>Durchsatz</strong> benötigt, empfehle
|
jetzt einen bestimmten <strong>Durchsatz</strong> benötigt, empfehle
|
||||||
ich dringend, eine Maschine zu bauen, die automatisch die gewünschte
|
ich dringend, eine Maschine zu bauen, die automatisch die gewünschte
|
||||||
@ -830,10 +869,9 @@ settings:
|
|||||||
die den Einstieg erleichtern sollen.
|
die den Einstieg erleichtern sollen.
|
||||||
enableTunnelSmartplace:
|
enableTunnelSmartplace:
|
||||||
title: Intelligente Tunnel
|
title: Intelligente Tunnel
|
||||||
description: Aktiviert das automatische Entfernen von überflüssigen
|
description: Aktiviert das automatische Entfernen von überflüssigen Fließbändern
|
||||||
Förderbändern bei der Platzierung von Tunneln. Außerdem
|
bei der Platzierung von Tunneln. Außerdem funktioniert das
|
||||||
funktioniert das Ziehen von Tunneln und überschüssige werden
|
Ziehen von Tunneln und überschüssige werden ebenfalls entfernt.
|
||||||
ebenfalls entfernt.
|
|
||||||
vignette:
|
vignette:
|
||||||
title: Vignette
|
title: Vignette
|
||||||
description: Aktiviert den Vignetteneffekt, der den Rand des Bildschirms
|
description: Aktiviert den Vignetteneffekt, der den Rand des Bildschirms
|
||||||
@ -881,9 +919,9 @@ settings:
|
|||||||
description: Standardmäßig eingeschaltet, wählst du automatisch den Extrahierer,
|
description: Standardmäßig eingeschaltet, wählst du automatisch den Extrahierer,
|
||||||
wenn du mit der Pipette auf einen Ressourcenfleck zeigst
|
wenn du mit der Pipette auf einen Ressourcenfleck zeigst
|
||||||
simplifiedBelts:
|
simplifiedBelts:
|
||||||
title: Minimalistische Förderbänder (Unschön)
|
title: Minimalistische Fließbänder (Unschön)
|
||||||
description: Zur Verbesserung der Leistung werden die Items auf Förderbändern
|
description: Zur Verbesserung der Leistung werden die Items auf Fließbändern nur
|
||||||
nur angezeigt, wenn du deine Maus darüber bewegst. Hier leidet
|
angezeigt, wenn du deine Maus darüber bewegst. Hier leidet
|
||||||
sowohl die Grafik, also auch dein Spielerlebnis. Benutze die
|
sowohl die Grafik, also auch dein Spielerlebnis. Benutze die
|
||||||
Funktion nur, wenn du auf die Leistung wirklich angewiesen bist!
|
Funktion nur, wenn du auf die Leistung wirklich angewiesen bist!
|
||||||
enableMousePan:
|
enableMousePan:
|
||||||
@ -895,6 +933,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Tastenbelegung
|
title: Tastenbelegung
|
||||||
hint: "Tipp: Benutze STRG, UMSCH and ALT! Sie aktivieren verschiedene
|
hint: "Tipp: Benutze STRG, UMSCH and ALT! Sie aktivieren verschiedene
|
||||||
@ -1001,7 +1043,7 @@ tips:
|
|||||||
- Wenn der Stapler nicht die richtige Form ausspuckt, wechsle doch mal die
|
- Wenn der Stapler nicht die richtige Form ausspuckt, wechsle doch mal die
|
||||||
Eingänge.
|
Eingänge.
|
||||||
- Du kannst mit <b>R</b> die Richtung des Bandplaners umkehren.
|
- Du kannst mit <b>R</b> die Richtung des Bandplaners umkehren.
|
||||||
- Halte <b>STRG</b>, um die Förderbänder ohne automatische Orientierung zu
|
- Halte <b>STRG</b>, um die Fließbänder ohne automatische Orientierung zu
|
||||||
platzieren.
|
platzieren.
|
||||||
- Die Verhältnisse der Maschinen bleiben gleich, wenn du die Upgrades
|
- Die Verhältnisse der Maschinen bleiben gleich, wenn du die Upgrades
|
||||||
gleichmäßig kaufst.
|
gleichmäßig kaufst.
|
||||||
@ -1020,13 +1062,13 @@ tips:
|
|||||||
- Vergiss die Tunnel nicht!
|
- Vergiss die Tunnel nicht!
|
||||||
- Für maximale Effizienz musst du die Items nicht gleichmässig aufteilen.
|
- Für maximale Effizienz musst du die Items nicht gleichmässig aufteilen.
|
||||||
- Das Halten von <b>UMSCH</b> aktiviert den Bandplaner, der lange
|
- Das Halten von <b>UMSCH</b> aktiviert den Bandplaner, der lange
|
||||||
Förderbänder ganz einfach platziert.
|
Fließbänder ganz einfach platziert.
|
||||||
- Schneider teilen die Form immer vertikal, unabhängig von der Orientierung.
|
- Schneider teilen die Form immer vertikal, unabhängig von der Orientierung.
|
||||||
- Weiß erhälst du aus der Kombination aller 3 Grundfarben.
|
- Weiß erhälst du aus der Kombination aller 3 Grundfarben.
|
||||||
- Das Lager gibt Items immer zuerst am linken Ausgang ab.
|
- Das Lager gibt Items immer zuerst am linken Ausgang ab.
|
||||||
- Es lohnt sich, Zeit in den Bau von wiederverwendbaren Designs zu stecken!
|
- Es lohnt sich, Zeit in den Bau von wiederverwendbaren Designs zu stecken!
|
||||||
- Das Halten von <b>STRG</b> ermöglicht dir, mehrere Gebäude zu platzieren.
|
- Das Halten von <b>STRG</b> ermöglicht dir, mehrere Gebäude zu platzieren.
|
||||||
- Du kanst <b>ALT</b> gedrückt halten, um die Richtung der Förderbänder
|
- Du kanst <b>ALT</b> gedrückt halten, um die Richtung der Fließbänder
|
||||||
umzukehren.
|
umzukehren.
|
||||||
- Effizienz ist entscheidend!
|
- Effizienz ist entscheidend!
|
||||||
- Abbaubare Formen werden komplexer, je weiter sie vom Hub entfernt sind.
|
- Abbaubare Formen werden komplexer, je weiter sie vom Hub entfernt sind.
|
||||||
@ -1034,7 +1076,7 @@ tips:
|
|||||||
mehreren auf.
|
mehreren auf.
|
||||||
- Benutze Aufteiler, um deine Effizienz zu maximieren.
|
- Benutze Aufteiler, um deine Effizienz zu maximieren.
|
||||||
- Organisation ist wichtig! Verheddere dich nicht in einem Gewirr aus
|
- Organisation ist wichtig! Verheddere dich nicht in einem Gewirr aus
|
||||||
Förderbändern.
|
Fließbändern.
|
||||||
- Plane vorher und lasse dir Platz für Reserven, oder es gibt ein riesiges
|
- Plane vorher und lasse dir Platz für Reserven, oder es gibt ein riesiges
|
||||||
Chaos!
|
Chaos!
|
||||||
- Lösche deine alten Fabriken nicht! Du benötigst sie um Upgrades
|
- Lösche deine alten Fabriken nicht! Du benötigst sie um Upgrades
|
||||||
@ -1065,7 +1107,7 @@ tips:
|
|||||||
- Dieses Spiel hat eine Menge Einstellungen, schaue sie dir einmal an!
|
- Dieses Spiel hat eine Menge Einstellungen, schaue sie dir einmal an!
|
||||||
- Die Richtung zu deinem Hub ist oben rechts mit einer kleinen Kompassnadel
|
- Die Richtung zu deinem Hub ist oben rechts mit einer kleinen Kompassnadel
|
||||||
markiert!
|
markiert!
|
||||||
- Um alle Förderbänder zu leeren, schneide den Bereich aus und füge ihn auf
|
- Um alle Fließbänder zu leeren, schneide den Bereich aus und füge ihn auf
|
||||||
der selben Position wieder ein.
|
der selben Position wieder ein.
|
||||||
- Drücke F4 um deine FPS und Tickrate anzuzeigen.
|
- Drücke F4 um deine FPS und Tickrate anzuzeigen.
|
||||||
- Drücke doppelt F4 um den Standort des Mauszeigers und der Kamera zu
|
- Drücke doppelt F4 um den Standort des Mauszeigers und der Kamera zu
|
||||||
|
|||||||
@ -209,6 +209,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Κίνηση
|
moveMap: Κίνηση
|
||||||
@ -306,6 +314,30 @@ ingame:
|
|||||||
<strong>SHIFT</strong> για να τοποθετήσεις πολλούς αποσπαστές
|
<strong>SHIFT</strong> για να τοποθετήσεις πολλούς αποσπαστές
|
||||||
και χρησιμοποιήστε το <strong>R</strong> για να τους
|
και χρησιμοποιήστε το <strong>R</strong> για να τους
|
||||||
περιστρέψεις."
|
περιστρέψεις."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: Κόκκινο
|
red: Κόκκινο
|
||||||
green: Πράσινο
|
green: Πράσινο
|
||||||
@ -721,7 +753,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -896,6 +929,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Συνδιασμοί πλήκτρων
|
title: Συνδιασμοί πλήκτρων
|
||||||
|
|||||||
@ -28,7 +28,7 @@ steamPage:
|
|||||||
discordLinkShort: Official Discord
|
discordLinkShort: Official Discord
|
||||||
|
|
||||||
intro: >-
|
intro: >-
|
||||||
You like automation games? Then you are in the right place!
|
Do you like automation games? Then you are in the right place!
|
||||||
|
|
||||||
shapez.io is a relaxed game in which you have to build factories for the automated production of geometric shapes. As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
shapez.io is a relaxed game in which you have to build factories for the automated production of geometric shapes. As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
||||||
|
|
||||||
@ -272,6 +272,14 @@ dialogs:
|
|||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to watch it?
|
||||||
|
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only available in English. Would you like to watch it?
|
||||||
|
|
||||||
ingame:
|
ingame:
|
||||||
# This is shown in the top left corner and displays useful keybindings in
|
# This is shown in the top left corner and displays useful keybindings in
|
||||||
# every situation
|
# every situation
|
||||||
@ -414,6 +422,36 @@ ingame:
|
|||||||
1_3_expand: >-
|
1_3_expand: >-
|
||||||
This is <strong>NOT</strong> an idle game! Build more extractors and belts to finish the goal quicker.<br><br>Tip: Hold <strong>SHIFT</strong> to place multiple extractors, and use <strong>R</strong> to rotate them.
|
This is <strong>NOT</strong> an idle game! Build more extractors and belts to finish the goal quicker.<br><br>Tip: Hold <strong>SHIFT</strong> to place multiple extractors, and use <strong>R</strong> to rotate them.
|
||||||
|
|
||||||
|
2_1_place_cutter: >-
|
||||||
|
Now place a <strong>Cutter</strong> to cut the circles in two halves!<br><br>
|
||||||
|
PS: The cutter always cuts from <strong>top to bottom</strong> regardless of its orientation.
|
||||||
|
|
||||||
|
2_2_place_trash: >-
|
||||||
|
The cutter can <strong>clog and stall</strong>!<br><br>
|
||||||
|
Use a <strong>trash</strong> to get rid of the currently (!) not needed waste.
|
||||||
|
|
||||||
|
2_3_more_cutters: >-
|
||||||
|
Good job! Now place <strong>2 more cutters</strong> to speed up this slow process!<br><br>
|
||||||
|
PS: Use the <strong>0-9 hotkeys</strong> to access buildings faster!
|
||||||
|
|
||||||
|
3_1_rectangles: >-
|
||||||
|
Now let's extract some rectangles! <strong>Build 4 extractors</strong> and connect them to the hub.<br><br>
|
||||||
|
PS: Hold <strong>SHIFT</strong> while dragging a belt to activate the belt planner!
|
||||||
|
|
||||||
|
21_1_place_quad_painter: >-
|
||||||
|
Place the <strong>quad painter</strong> and get some <strong>circles</strong>, <strong>white</strong> and <strong>red</strong> color!
|
||||||
|
|
||||||
|
21_2_switch_to_wires: >-
|
||||||
|
Switch to the wires layer by pressing <strong>E</strong>!<br><br>
|
||||||
|
Then <strong>connect all four inputs</strong> of the painter with cables!
|
||||||
|
|
||||||
|
21_3_place_button: >-
|
||||||
|
Awesome! Now place a <strong>Switch</strong> and connect it with wires!
|
||||||
|
|
||||||
|
21_4_press_button: >-
|
||||||
|
Press the switch to make it <strong>emit a truthy signal</strong> and thus activate the painter.<br><br>
|
||||||
|
PS: You don't have to connect all inputs! Try wiring only two.
|
||||||
|
|
||||||
# Connected miners
|
# Connected miners
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Extractor
|
one_miner: 1 Extractor
|
||||||
@ -668,7 +706,7 @@ buildings:
|
|||||||
|
|
||||||
rotater:
|
rotater:
|
||||||
name: Virtual Rotater
|
name: Virtual Rotater
|
||||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
description: Virtually rotates the shape clockwise.
|
||||||
|
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Virtual Unstacker
|
name: Virtual Unstacker
|
||||||
@ -775,7 +813,8 @@ storyRewards:
|
|||||||
desc: >-
|
desc: >-
|
||||||
You just unlocked the <strong>Wires Layer</strong>: It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
|
You just unlocked the <strong>Wires Layer</strong>: It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
|
||||||
For the beginning I unlocked you the <strong>Quad Painter</strong> - Connect the slots you would like to paint with on the wires layer!<br><br>
|
For the beginning I unlocked you the <strong>Quad Painter</strong> - Connect the slots you would like to paint with on the wires layer!<br><br>
|
||||||
To switch to the wires layer, press <strong>E</strong>.
|
To switch to the wires layer, press <strong>E</strong>. <br><br>
|
||||||
|
PS: <strong>Enable hints</strong> in the settings to activate the wires tutorial!
|
||||||
|
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: >-
|
title: >-
|
||||||
@ -1030,6 +1069,11 @@ settings:
|
|||||||
description: >-
|
description: >-
|
||||||
If activated the zoom will happen in the direction of your mouse position, otherwise in the middle of the screen.
|
If activated the zoom will happen in the direction of your mouse position, otherwise in the middle of the screen.
|
||||||
|
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: >-
|
||||||
|
Controls the size of the shapes on the map overview (when zooming out).
|
||||||
|
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
hint: >-
|
hint: >-
|
||||||
@ -1145,9 +1189,9 @@ demo:
|
|||||||
settingNotAvailable: Not available in the demo.
|
settingNotAvailable: Not available in the demo.
|
||||||
|
|
||||||
tips:
|
tips:
|
||||||
- The hub accepts input of any kind, not just the current shape!
|
- The hub will accept any input, not just the current shape!
|
||||||
- Make sure your factories are modular - it will pay out!
|
- Make sure your factories are modular - it will pay out!
|
||||||
- Don't build too close to the hub, or it will be a huge chaos!
|
- Don't build too close to the hub, or it will be a mess!
|
||||||
- If stacking does not work, try switching the inputs.
|
- If stacking does not work, try switching the inputs.
|
||||||
- You can toggle the belt planner direction by pressing <b>R</b>.
|
- You can toggle the belt planner direction by pressing <b>R</b>.
|
||||||
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
||||||
@ -1165,21 +1209,20 @@ tips:
|
|||||||
- You don't need to divide up items evenly for full efficiency.
|
- You don't need to divide up items evenly for full efficiency.
|
||||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place long lines of belts easily.
|
- Holding <b>SHIFT</b> will activate the belt planner, letting you place long lines of belts easily.
|
||||||
- Cutters always cut vertically, regardless of their orientation.
|
- Cutters always cut vertically, regardless of their orientation.
|
||||||
- To get white mix all three colors.
|
|
||||||
- The storage buffer prioritises the left output.
|
- The storage buffer prioritises the left output.
|
||||||
- Invest time to build repeatable designs - it's worth it!
|
- Invest time to build repeatable designs - it's worth it!
|
||||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
- Holding <b>SHIFT</b> lets you place multiple buildings in one click.
|
||||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
||||||
- Efficiency is key!
|
- Efficiency is key!
|
||||||
- Shape patches that are further away from the hub are more complex.
|
- Shape patches that are further away from the hub are more complex.
|
||||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
- Machines have a limited speed, divide them up for maximum efficiency.
|
||||||
- Use balancers to maximize your efficiency.
|
- Use balancers to maximize your efficiency.
|
||||||
- Organization is important. Try not to cross conveyors too much.
|
- Organization is important. Try not to cross conveyors too much.
|
||||||
- Plan in advance, or it will be a huge chaos!
|
- Plan in advance, or it will be a mess!
|
||||||
- Don't remove your old factories! You'll need them to unlock upgrades.
|
- Don't remove your old factories! You'll need them to unlock upgrades.
|
||||||
- Try beating level 20 on your own before seeking for help!
|
- Try beating level 20 or 26 on your own before seeking for help!
|
||||||
- Don't complicate things, try to stay simple and you'll go far.
|
- Don't complicate things, try to stay simple and you'll go far.
|
||||||
- You may need to re-use factories later in the game. Plan your factories to be re-usable.
|
- You may need to reuse factories later in the game. Build your factories to be reusable.
|
||||||
- Sometimes, you can find a needed shape in the map without creating it with stackers.
|
- Sometimes, you can find a needed shape in the map without creating it with stackers.
|
||||||
- Full windmills/pinwheels can never spawn naturally.
|
- Full windmills/pinwheels can never spawn naturally.
|
||||||
- Color your shapes before cutting for maximum efficiency.
|
- Color your shapes before cutting for maximum efficiency.
|
||||||
@ -1190,13 +1233,13 @@ tips:
|
|||||||
- Building too close to the hub can get in the way of later projects.
|
- Building too close to the hub can get in the way of later projects.
|
||||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
||||||
- Mix all three primary colors to make white!
|
- Mix all three primary colors to make white!
|
||||||
- You have an infinite map, don't cramp your factory, expand!
|
- You have an infinite map. Don't cramp your factory, expand!
|
||||||
- Also try Factorio! It's my favorite game.
|
- Also try Factorio! It's my favorite game.
|
||||||
- The quad cutter cuts clockwise starting from the top right!
|
- The quad cutter cuts clockwise, starting from the top right.
|
||||||
- You can download your savegames in the main menu!
|
- You can download your savegames in the main menu!
|
||||||
- This game has a lot of useful keybindings! Be sure to check out the settings page.
|
- This game has a lot of useful keybindings! Be sure to check out the settings page.
|
||||||
- This game has a lot of settings, be sure to check them out!
|
- This game has a lot of settings, be sure to check them out!
|
||||||
- The marker to your hub has a small compass to indicate its direction!
|
- Your hub marker has a small compass that shows which direction it is in!
|
||||||
- To clear belts, cut the area and then paste it at the same location.
|
- To clear belts, cut the area and then paste it at the same location.
|
||||||
- Press F4 to show your FPS and Tick Rate.
|
- Press F4 to show your FPS and Tick Rate.
|
||||||
- Press F4 twice to show the tile of your mouse and camera.
|
- Press F4 twice to show the tile of your mouse and camera.
|
||||||
|
|||||||
@ -23,30 +23,30 @@ steamPage:
|
|||||||
- <b>Modo oscuro</b>!
|
- <b>Modo oscuro</b>!
|
||||||
- Partidad guardadas ilimitadas
|
- Partidad guardadas ilimitadas
|
||||||
- Marcadores ilimitados
|
- Marcadores ilimitados
|
||||||
- Support me! ❤️
|
- Me apoyarás! ❤️
|
||||||
title_future: Contenido futuro
|
title_future: Contenido futuro
|
||||||
planned:
|
planned:
|
||||||
- Blueprint Library (Standalone Exclusive)
|
- Librería de planos (Exclusivo de Standalone)
|
||||||
- Steam Achievements
|
- Logros de Steam
|
||||||
- Puzzle Mode
|
- Modo Puzzle
|
||||||
- Minimap
|
- Minimapa
|
||||||
- Mods
|
- Mods
|
||||||
- Sandbox mode
|
- Modo libre
|
||||||
- ... and a lot more!
|
- ... y mucho más!
|
||||||
title_open_source: This game is open source!
|
title_open_source: Este juego es de código abierto!
|
||||||
title_links: Links
|
title_links: Links
|
||||||
links:
|
links:
|
||||||
discord: Official Discord
|
discord: Discord oficial
|
||||||
roadmap: Roadmap
|
roadmap: Roadmap
|
||||||
subreddit: Subreddit
|
subreddit: Subreddit
|
||||||
source_code: Source code (GitHub)
|
source_code: Código fuente (GitHub)
|
||||||
translate: Help translate
|
translate: Ayuda a traducír
|
||||||
text_open_source: >-
|
text_open_source: >-
|
||||||
Anybody can contribute, I'm actively involved in the community and
|
Cualquiera puede contribuír, Estoy activamete involucrado en la comunidad y
|
||||||
attempt to review all suggestions and take feedback into consideration
|
trato de revisar todas las sugerencias además de tomar en cuenta los consejos
|
||||||
where possible.
|
siempre que sea posible.
|
||||||
|
|
||||||
Be sure to check out my trello board for the full roadmap!
|
Asegurate de revisar mi página de Trello donde podrás encontrar el Roadmap!
|
||||||
global:
|
global:
|
||||||
loading: Cargando
|
loading: Cargando
|
||||||
error: Error
|
error: Error
|
||||||
@ -96,7 +96,7 @@ mainMenu:
|
|||||||
Obtén el juego completo o descarga Chrome para la experiencia completa.
|
Obtén el juego completo o descarga Chrome para la experiencia completa.
|
||||||
savegameLevel: Nivel <x>
|
savegameLevel: Nivel <x>
|
||||||
savegameLevelUnknown: Nivel desconocido
|
savegameLevelUnknown: Nivel desconocido
|
||||||
savegameUnnamed: Unnamed
|
savegameUnnamed: Sin nombre
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: OK
|
||||||
@ -121,9 +121,8 @@ dialogs:
|
|||||||
text: "No se ha podido cargar la partida guardada:"
|
text: "No se ha podido cargar la partida guardada:"
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: Confirmar borrado
|
title: Confirmar borrado
|
||||||
text: Are you sure you want to delete the following game?<br><br>
|
text: Estás seguro de querér borrar el siguiente guardado?<br><br>
|
||||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
'<savegameName>' que está en el nivel <savegameLevel><br><br> Esto no se puede deshacer!
|
||||||
undone!
|
|
||||||
savegameDeletionError:
|
savegameDeletionError:
|
||||||
title: Fallo al borrar
|
title: Fallo al borrar
|
||||||
text: "Fallo al borrar la partida guardada:"
|
text: "Fallo al borrar la partida guardada:"
|
||||||
@ -186,8 +185,7 @@ dialogs:
|
|||||||
createMarker:
|
createMarker:
|
||||||
title: Nuevo marcador
|
title: Nuevo marcador
|
||||||
titleEdit: Editar marcador
|
titleEdit: Editar marcador
|
||||||
desc: Give it a meaningful name, you can also include a <strong>short
|
desc: Dale un nombre significativo, tambien puedes incluir la <strong>clave</strong> de una forma (La cual puedes generar <link>aquí</link>)
|
||||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: Solo puedes crear dos marcadores en la versión de prueba. ¡Obtén el juego
|
desc: Solo puedes crear dos marcadores en la versión de prueba. ¡Obtén el juego
|
||||||
completo para marcadores ilimitados!
|
completo para marcadores ilimitados!
|
||||||
@ -197,13 +195,19 @@ dialogs:
|
|||||||
cuenta que puede tardar bastante en las bases grandes. ¡E incluso
|
cuenta que puede tardar bastante en las bases grandes. ¡E incluso
|
||||||
crashear tu juego!
|
crashear tu juego!
|
||||||
editSignal:
|
editSignal:
|
||||||
title: Set Signal
|
title: Establecer señal
|
||||||
descItems: "Choose a pre-defined item:"
|
descItems: "Elige un item pre-definido:"
|
||||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
descShortKey: ... o escribe la <strong>calve</strong> de una forma (La cual
|
||||||
can generate <link>here</link>)
|
puedes generar <link>aquí</link>)
|
||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Renombrar archivo de guardado
|
||||||
desc: You can rename your savegame here.
|
desc: Aquí puedes cambiarle el nombre a tu archivo de guardado.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial disponible
|
||||||
|
desc: ¡Hay un video tutorial disponible para este nivel! ¿Te gustaría verlo?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Disponible
|
||||||
|
desc: Hay un video tutorial disponible para este nivel, pero solo está disponible en inglés ¿Te gustaría verlo?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Mover
|
moveMap: Mover
|
||||||
@ -314,42 +318,66 @@ ingame:
|
|||||||
más rápido.<br><br> Pista: Mantén pulsado <strong>SHIFT</strong>
|
más rápido.<br><br> Pista: Mantén pulsado <strong>SHIFT</strong>
|
||||||
para colocar varios extractores y usa <strong>R</strong> para
|
para colocar varios extractores y usa <strong>R</strong> para
|
||||||
rotarlos.'
|
rotarlos.'
|
||||||
|
2_1_place_cutter: "¡Ahora pon un <strong>Cortador</strong> para dividir los circulos en dos
|
||||||
|
mitades!<br><br> PD: El cortador siempre corta de <strong>de arriba a
|
||||||
|
abajo</strong> independientemente de su orientación."
|
||||||
|
2_2_place_trash: ¡El cortador se puede <strong>tabar y atorar</strong>!<br><br> Usa un
|
||||||
|
<strong>basurero</strong> para deshacerse de la actualmente (!) no
|
||||||
|
necesitada basura.
|
||||||
|
2_3_more_cutters: "¡Buen trabajo! ¡Ahora pon <strong>2 cortadores más</strong> para acelerar
|
||||||
|
este lento proceso!<br><br> PD: Usa las teclas <strong>0-9
|
||||||
|
</strong> para acceder a los edificios más rápido!"
|
||||||
|
3_1_rectangles: "¡Ahora consigamos unos rectangulos! <strong>construye 4
|
||||||
|
extractores</strong> y conectalos a el edificio central.<br><br> PD:
|
||||||
|
Manten apretado <strong>SHIFT</strong> mientrás pones cintas transportadoras para activar
|
||||||
|
el planeador de cintas!"
|
||||||
|
21_1_place_quad_painter: ¡Pon el <strong>pintaor cuadruple</strong> y consigue unos
|
||||||
|
<strong>circulos</strong>, el color <strong>blanco</strong> y el color
|
||||||
|
<strong>rojo</strong>!
|
||||||
|
21_2_switch_to_wires: ¡Cambia a la capa de cables apretando la técla
|
||||||
|
<strong>E</strong>!<br><br> Luego <strong>conecta las cuatro
|
||||||
|
entradas</strong> de el pintador con cables!
|
||||||
|
21_3_place_button: ¡Genial! ¡Ahora pon un <strong>Interruptor</strong> y conectalo
|
||||||
|
con cables!
|
||||||
|
21_4_press_button: "Presioa el interruptor para hacer que <strong>emita una señal
|
||||||
|
verdadera</strong> lo cual activa el piintador.<br><br> PD: ¡No necesitas
|
||||||
|
conectar todas las entradas! Intenta conectando solo dos."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Minero
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Mineros
|
||||||
limited_items: Limited to <max_throughput>
|
limited_items: Limitado a <max_throughput>
|
||||||
watermark:
|
watermark:
|
||||||
title: Demo version
|
title: Versión demo
|
||||||
desc: Click here to see the Steam version advantages!
|
desc: Presiona aquí para ver que tiene la versión de Steam!
|
||||||
get_on_steam: Get on steam
|
get_on_steam: Consiguelo en Steam
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: Get the full version!
|
title: ¡Consigue la versión completa!
|
||||||
no_thanks: No, thanks!
|
no_thanks: ¡No grácias!
|
||||||
points:
|
points:
|
||||||
levels:
|
levels:
|
||||||
title: 12 New Levels
|
title: 12 nuevos niveles
|
||||||
desc: For a total of 26 levels!
|
desc: ¡Para un total de 26 niveles!
|
||||||
buildings:
|
buildings:
|
||||||
title: 18 New Buildings
|
title: 18 nuevos edificios
|
||||||
desc: Fully automate your factory!
|
desc: ¡Automatiza completamente tu fabrica!
|
||||||
savegames:
|
savegames:
|
||||||
title: ∞ Savegames
|
title: Archivos de guardado infinitos
|
||||||
desc: As many as your heart desires!
|
desc: ¡Tantos como desees!
|
||||||
upgrades:
|
upgrades:
|
||||||
title: 20 Upgrade Tiers
|
title: 20 niveles de mejoras
|
||||||
desc: This demo version has only 5!
|
desc: ¡Esta demo solo tiene 5!
|
||||||
markers:
|
markers:
|
||||||
title: ∞ Markers
|
title: Marcadores infinitos
|
||||||
desc: Never get lost in your factory!
|
desc: ¡Nunca te pierdas en tu propia fabrica!
|
||||||
wires:
|
wires:
|
||||||
title: Wires
|
title: Cables
|
||||||
desc: An entirely new dimension!
|
desc: ¡Una dimension completamente nueva!
|
||||||
darkmode:
|
darkmode:
|
||||||
title: Dark Mode
|
title: Modo oscuro
|
||||||
desc: Stop hurting your eyes!
|
desc: ¡Deja de lastimar tus ojos!
|
||||||
support:
|
support:
|
||||||
title: Support me
|
title: Apoyame
|
||||||
desc: I develop it in my spare time!
|
desc: ¡Desarrollo este juego en mi tiempo libre!
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
belt:
|
belt:
|
||||||
name: Cintas transportadoras, Distribuidores y Túneles
|
name: Cintas transportadoras, Distribuidores y Túneles
|
||||||
@ -379,9 +407,9 @@ buildings:
|
|||||||
name: Cable
|
name: Cable
|
||||||
description: Te permite transportar energía
|
description: Te permite transportar energía
|
||||||
second:
|
second:
|
||||||
name: Wire
|
name: Cable
|
||||||
description: Transfers signals, which can be items, colors or booleans (1 / 0).
|
description: Transfiere señales, que pueden ser items, colores o valores booleanos (1 / 0).
|
||||||
Different colored wires do not connect.
|
Cables de diferentes colores no se conectan.
|
||||||
miner:
|
miner:
|
||||||
default:
|
default:
|
||||||
name: Extractor
|
name: Extractor
|
||||||
@ -417,8 +445,8 @@ buildings:
|
|||||||
name: Rotador (Inverso)
|
name: Rotador (Inverso)
|
||||||
description: Rota las figuras en sentido antihorario 90 grados.
|
description: Rota las figuras en sentido antihorario 90 grados.
|
||||||
rotate180:
|
rotate180:
|
||||||
name: Rotate (180)
|
name: Rotador (180)
|
||||||
description: Rotates shapes by 180 degrees.
|
description: Rota formas en 180 grados.
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
name: Apilador
|
name: Apilador
|
||||||
@ -443,132 +471,131 @@ buildings:
|
|||||||
la entrada de arriba.
|
la entrada de arriba.
|
||||||
quad:
|
quad:
|
||||||
name: Pintor (Cuádruple)
|
name: Pintor (Cuádruple)
|
||||||
description: Allows you to color each quadrant of the shape individually. Only
|
description: Te permite colorear cada cuadrante de la forma individualemte. ¡Solo las
|
||||||
slots with a <strong>truthy signal</strong> on the wires layer
|
ranuras con una <strong>señal verdadera</strong> en la capa de cables
|
||||||
will be painted!
|
seran pintadas!
|
||||||
trash:
|
trash:
|
||||||
default:
|
default:
|
||||||
name: Basurero
|
name: Basurero
|
||||||
description: Acepta formas desde todos los lados y las destruye. Para siempre.
|
description: Acepta formas desde todos los lados y las destruye. Para siempre.
|
||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
name: Balancer
|
name: Balanceador
|
||||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
description: Multifuncional - Distribuye igualmente todas las entradas en las salidas.
|
||||||
merger:
|
merger:
|
||||||
name: Merger (compact)
|
name: Unión (compacta)
|
||||||
description: Merges two conveyor belts into one.
|
description: Junta dos cintas transportadoras en una.
|
||||||
merger-inverse:
|
merger-inverse:
|
||||||
name: Merger (compact)
|
name: Unión (compacta)
|
||||||
description: Merges two conveyor belts into one.
|
description: Junta dos cintas transportadoras en una.
|
||||||
splitter:
|
splitter:
|
||||||
name: Splitter (compact)
|
name: Separador (compacto)
|
||||||
description: Splits one conveyor belt into two.
|
description: Separa una cinta trasportadora en dos.
|
||||||
splitter-inverse:
|
splitter-inverse:
|
||||||
name: Splitter (compact)
|
name: Separador (compacto)
|
||||||
description: Splits one conveyor belt into two.
|
description: Separa una cinta trasportadora en dos.
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
name: Storage
|
name: Almacén
|
||||||
description: Stores excess items, up to a given capacity. Prioritizes the left
|
description: Guarda items en exceso, hasta una dada capacidad. Prioritiza la salida
|
||||||
output and can be used as an overflow gate.
|
de la izquierda y puede ser usada como una puerta de desbordamiento.
|
||||||
wire_tunnel:
|
wire_tunnel:
|
||||||
default:
|
default:
|
||||||
name: Wire Crossing
|
name: Cruze de cables
|
||||||
description: Allows to cross two wires without connecting them.
|
description: Permite que dos cables se cruzen sin conectarse.
|
||||||
constant_signal:
|
constant_signal:
|
||||||
default:
|
default:
|
||||||
name: Constant Signal
|
name: Señal costante
|
||||||
description: Emits a constant signal, which can be either a shape, color or
|
description: Emite una señal constante, que puede ser una forma, color o valor booleano (1 / 0).
|
||||||
boolean (1 / 0).
|
|
||||||
lever:
|
lever:
|
||||||
default:
|
default:
|
||||||
name: Switch
|
name: Interruptor
|
||||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
description: Puede ser activado para emitir una señal booleana (1 / 0) en la capa de cables,
|
||||||
which can then be used to control for example an item filter.
|
la cual puede ser usada por ejemplo para un filtro de items.
|
||||||
logic_gate:
|
logic_gate:
|
||||||
default:
|
default:
|
||||||
name: AND Gate
|
name: Puerta AND
|
||||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
description: Emite el valor booleano "1" si ambas entradas son verdaderas. (Verdadeas significa una forma,
|
||||||
color or boolean "1")
|
color o valor booleano "1")
|
||||||
not:
|
not:
|
||||||
name: NOT Gate
|
name: Puerta NOT
|
||||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
description: Emite el valor booleano "1" si ambas entradas no son verdaderas. (Verdadeas significa una forma,
|
||||||
shape, color or boolean "1")
|
color o valor booleano "1")
|
||||||
xor:
|
xor:
|
||||||
name: XOR Gate
|
name: Puerta XOR
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
description: Emite el valor booleano "1" si una de las entradas es verdadera, pero no si ambas lo son.
|
||||||
(Truthy means shape, color or boolean "1")
|
(Verdadeas significa una forma,
|
||||||
|
color o valor booleano "1")
|
||||||
or:
|
or:
|
||||||
name: OR Gate
|
name: Puerta OR
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
description: Emite el valor booleano "1" Si una de las entradas es verdadera. (Verdadeas significa una forma,
|
||||||
shape, color or boolean "1")
|
color o valor booleano "1")
|
||||||
transistor:
|
transistor:
|
||||||
default:
|
default:
|
||||||
name: Transistor
|
name: Transistor
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
description: Envia la señal de abajo si la señal del costado es verdadera (Verdadeas significa una forma,
|
||||||
color or "1").
|
color o valor booleano "1").
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Transistor
|
name: Transistor
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
description: Envia la señal de abajo si la señal del costado es verdadera (Verdadeas significa una forma,
|
||||||
color or "1").
|
color o valor booleano "1").
|
||||||
filter:
|
filter:
|
||||||
default:
|
default:
|
||||||
name: Filter
|
name: Filtro
|
||||||
description: Connect a signal to route all matching items to the top and the
|
description: Conecta una señal para enviar todas las que coincidan hacia arriba y las demás
|
||||||
remaining to the right. Can be controlled with boolean signals
|
hacia la derecha. También puede ser controlada por señales booleanas.
|
||||||
too.
|
|
||||||
display:
|
display:
|
||||||
default:
|
default:
|
||||||
name: Display
|
name: Monitor
|
||||||
description: Connect a signal to show it on the display - It can be a shape,
|
description: Conecta una señal para mostrarla en el monitor - Puede ser una forma,
|
||||||
color or boolean.
|
color o valor booleano.
|
||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Belt Reader
|
name: Lector de cinta
|
||||||
description: Allows to measure the average belt throughput. Outputs the last
|
description: Te permite medir la cantidad media de items que pasan por la cinta. Emite el último
|
||||||
read item on the wires layer (once unlocked).
|
item leído en la capa de cables (una vez desbloquada).
|
||||||
analyzer:
|
analyzer:
|
||||||
default:
|
default:
|
||||||
name: Shape Analyzer
|
name: Analizador de formas
|
||||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
description: analiza el cuadrante de arriba a la derecha de la capa más baja de la forma
|
||||||
and returns its shape and color.
|
y devuelve su figura y color.
|
||||||
comparator:
|
comparator:
|
||||||
default:
|
default:
|
||||||
name: Compare
|
name: Comparador
|
||||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
description: Devuelve el valor booleano "1" Si ambas señales son exactamente iguales. Puede comparar
|
||||||
shapes, items and booleans.
|
formas, items y valores booleanos.
|
||||||
virtual_processor:
|
virtual_processor:
|
||||||
default:
|
default:
|
||||||
name: Virtual Cutter
|
name: Cortador virtual
|
||||||
description: Virtually cuts the shape into two halves.
|
description: Corta virtualmente la forma en dos.
|
||||||
rotater:
|
rotater:
|
||||||
name: Virtual Rotater
|
name: Rotador virtual
|
||||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
description: Rota virtualmente la forma, tanto en sentido del horario como sentido anti-horario.
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Virtual Unstacker
|
name: Desapilador virtual
|
||||||
description: Virtually extracts the topmost layer to the right output and the
|
description: Extrae virtualmente la capa más alta en la salida a la derecha y
|
||||||
remaining ones to the left.
|
las que quedan en la izquierda.
|
||||||
stacker:
|
stacker:
|
||||||
name: Virtual Stacker
|
name: Apilador virtual
|
||||||
description: Virtually stacks the right shape onto the left.
|
description: Apila virtualmente la forma de la derecha en la de la izquierda.
|
||||||
painter:
|
painter:
|
||||||
name: Virtual Painter
|
name: Pintor virtual
|
||||||
description: Virtually paints the shape from the bottom input with the shape on
|
description: Pinta virtualmente la forma de la entrada de abajo con la forma de
|
||||||
the right input.
|
la entrada de la derecha.
|
||||||
item_producer:
|
item_producer:
|
||||||
default:
|
default:
|
||||||
name: Item Producer
|
name: Productor de items
|
||||||
description: Available in sandbox mode only, outputs the given signal from the
|
description: Solo disponible en modo libre, envía la señal recivida de la
|
||||||
wires layer on the regular layer.
|
capa de cables en la capa regular.
|
||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Cortador de figuras
|
title: Cortador de figuras
|
||||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
desc: ¡Acabas de desbloquear el <strong>cortador</strong>, el cual corta formas por la mitad
|
||||||
from top to bottom <strong>regardless of its
|
de arriba a abajo <strong>independientemente de su
|
||||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
orientacion</strong>!<br><br>Asegurate de deshacerte de la basura, o
|
||||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
sino <strong>se trabará y parará</strong> - Por este proposite
|
||||||
I have given you the <strong>trash</strong>, which destroys
|
Te he dado el <strong>basurero</strong>, el cual destruye
|
||||||
everything you put into it!
|
todo lo que pongas dentro de él!
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: Rotador
|
title: Rotador
|
||||||
desc: ¡El <strong>rotador</strong> se ha desbloqueado! Rota figuras en sentido
|
desc: ¡El <strong>rotador</strong> se ha desbloqueado! Rota figuras en sentido
|
||||||
@ -592,9 +619,9 @@ storyRewards:
|
|||||||
será <strong>apilada encima</strong> de la entrada izquierda!
|
será <strong>apilada encima</strong> de la entrada izquierda!
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Separador/Fusionador
|
title: Separador/Fusionador
|
||||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
desc: Has desbloqueado el <strong>separador</strong> , una variante de el
|
||||||
<strong>balancer</strong> - It accepts one input and splits them
|
<strong>balanceador</strong> - Acepta una entrada y la separa
|
||||||
into two!
|
en dos!
|
||||||
reward_tunnel:
|
reward_tunnel:
|
||||||
title: Túnel
|
title: Túnel
|
||||||
desc: El <strong>túnel</strong> se ha desbloqueado - ¡Ahora puedes transportar
|
desc: El <strong>túnel</strong> se ha desbloqueado - ¡Ahora puedes transportar
|
||||||
@ -606,10 +633,10 @@ storyRewards:
|
|||||||
y <strong>pulsa 'T' para ciclar por sus variantes</strong>
|
y <strong>pulsa 'T' para ciclar por sus variantes</strong>
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: Extractor en cadena
|
title: Extractor en cadena
|
||||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
desc: "¡Has desbloqueado el <strong>extractor en cadena</strong>! ¡Este puede
|
||||||
<strong>forward its resources</strong> to other extractors so you
|
<strong>enviar sus recursos</strong> a otros extractores así puedes
|
||||||
can more efficiently extract resources!<br><br> PS: The old
|
extraer recursos más eficientemente!<br><br> PD: ¡El extractor
|
||||||
extractor has been replaced in your toolbar now!"
|
viejo ha sido reemplazado en tu barra de herramientas!"
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: Túnel nivel II
|
title: Túnel nivel II
|
||||||
desc: Has desbloqueado una nueva variante del <strong>túnel</strong> - ¡Tiene un
|
desc: Has desbloqueado una nueva variante del <strong>túnel</strong> - ¡Tiene un
|
||||||
@ -626,13 +653,13 @@ storyRewards:
|
|||||||
consumiendo solo un color en vez de dos!
|
consumiendo solo un color en vez de dos!
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: Almacenamiento intermedio
|
title: Almacenamiento intermedio
|
||||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
desc: Haz desbloquado el edificio de <strong>almacenamiento</strong> - ¡Te permite
|
||||||
store items up to a given capacity!<br><br> It priorities the left
|
guardar items hasta una capacidad determinada!<br><br> Prioriza la salida
|
||||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
de la izquierda, por lo que tambien puedes suarlo como una <strong>puerta de desbordamiento</strong>!
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: Juego libre
|
title: Juego libre
|
||||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
desc: ¡Lo hiciste! Haz desbloqueado el <strong>modo de juego libre</strong>! ¡Esto significa
|
||||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
que las formas ahora son <strong>aleatoriamente</strong> generadas!<br><br>
|
||||||
Since the hub will require a <strong>throughput</strong> from now
|
Since the hub will require a <strong>throughput</strong> from now
|
||||||
on, I highly recommend to build a machine which automatically
|
on, I highly recommend to build a machine which automatically
|
||||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||||
@ -657,77 +684,78 @@ storyRewards:
|
|||||||
desc: ¡Felicidades! ¡Por cierto, hay más contenido planeado para el juego
|
desc: ¡Felicidades! ¡Por cierto, hay más contenido planeado para el juego
|
||||||
completo!
|
completo!
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Balancer
|
title: Balanceador
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: El <strong>balanceador</strong> multifuncional ha sido desbloqueado - ¡Este puede
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
ser usado para construir fabricas más grandes al <strong>separar y mezclar
|
||||||
items</strong> onto multiple belts!
|
items</strong> hacia múltiples cintas!
|
||||||
reward_merger:
|
reward_merger:
|
||||||
title: Compact Merger
|
title: Unión compacta
|
||||||
desc: You have unlocked a <strong>merger</strong> variant of the
|
desc: Has desbloqueado la variante <strong>unión</strong> de el
|
||||||
<strong>balancer</strong> - It accepts two inputs and merges them
|
<strong>balanceador</strong> - ¡Acepta dos entradas y las une en
|
||||||
into one belt!
|
una sola cinta!
|
||||||
reward_belt_reader:
|
reward_belt_reader:
|
||||||
title: Belt reader
|
title: Lector de cinta
|
||||||
desc: You have now unlocked the <strong>belt reader</strong>! It allows you to
|
desc: ¡Has desbloqueado el <strong>lector de cinta</strong>! Este te permite
|
||||||
measure the throughput of a belt.<br><br>And wait until you unlock
|
medir la cantidad de items que pasan por esta.<br><brY tan solo espera hasta debloquear
|
||||||
wires - then it gets really useful!
|
los cables - ¡Ahí si que se vuelve útil!
|
||||||
reward_rotater_180:
|
reward_rotater_180:
|
||||||
title: Rotater (180 degrees)
|
title: Rotador (180 grados)
|
||||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
desc: ¡Has desbloqueado el <strong>rotador</strong> de 180 grados! - Te permite
|
||||||
you to rotate a shape by 180 degress (Surprise! :D)
|
rotar una forma en 180 grados (¡Sorpresa! :D)
|
||||||
reward_display:
|
reward_display:
|
||||||
title: Display
|
title: Monitor
|
||||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
desc: "Has desbloqueado el <strong>Monitor</strong> - ¡Conecta una señal dentro de
|
||||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
la capa de cables para visualizarla!<br><br> PD: ¿Te has dado cuenta que el lector
|
||||||
reader and storage output their last read item? Try showing it on a
|
de cinta y el almacenador emiten su último item leído? ¡Trata de conectarlo
|
||||||
display!"
|
al monitor!"
|
||||||
reward_constant_signal:
|
reward_constant_signal:
|
||||||
title: Constant Signal
|
title: Señal constante
|
||||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
desc: ¡Has desbloqueado la <strong>señal constante</strong> en la capa de
|
||||||
layer! This is useful to connect it to <strong>item filters</strong>
|
cables! Esto es muy útil para conectar a el <strong>filtro de items</strong>
|
||||||
for example.<br><br> The constant signal can emit a
|
por ejemplo.<br><br> La señal constante puede emitir
|
||||||
<strong>shape</strong>, <strong>color</strong> or
|
<strong>formas</strong>, <strong>colores</strong> o
|
||||||
<strong>boolean</strong> (1 / 0).
|
<strong>valores booleanos</strong> (1 / 0).
|
||||||
reward_logic_gates:
|
reward_logic_gates:
|
||||||
title: Logic Gates
|
title: Puertas lógicas
|
||||||
desc: You unlocked <strong>logic gates</strong>! You don't have to be excited
|
desc: ¡Has desbloqueado las <strong>puertas lógicas</strong>! No es necesario que te emociones
|
||||||
about this, but it's actually super cool!<br><br> With those gates
|
por esto ¡Pero en realidad es super geniall!<br><br> Con estas puertas
|
||||||
you can now compute AND, OR, XOR and NOT operations.<br><br> As a
|
ahora puedes computar operaciones AND, OR, XOR y NOT.<br><br> Como bonus
|
||||||
bonus on top I also just gave you a <strong>transistor</strong>!
|
también te he dado el <strong>transistor</strong>!
|
||||||
reward_virtual_processing:
|
reward_virtual_processing:
|
||||||
title: Virtual Processing
|
title: Procesamiento virtual
|
||||||
desc: I just gave a whole bunch of new buildings which allow you to
|
desc: ¡Acabo de darte un monton de nuevos edificios los cuales te permiten
|
||||||
<strong>simulate the processing of shapes</strong>!<br><br> You can
|
<strong>simular el procesamiento de las formas</strong>!<br><br> ¡Ahora puedes
|
||||||
now simulate a cutter, rotater, stacker and more on the wires layer!
|
simular un cortador, rotador, apilador y más dentro de la capa de cables!
|
||||||
With this you now have three options to continue the game:<br><br> -
|
Con esto ahora tienes tres opciones para continuar el juego:<br><br> -
|
||||||
Build an <strong>automated machine</strong> to create any possible
|
Construir una <strong>maquina automatizada</strong> para crear cualquier
|
||||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
forma que te pida el HUB (¡Te recomiendo que lo intentes!).<br><br> - Construir
|
||||||
something cool with wires.<br><br> - Continue to play
|
algo genial con los cables.<br><br> - Continuar jugando de
|
||||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
la manera regular.<br><br> ¡Cualquiera que eligas, recuerda divertirte!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Wires & Quad Painter
|
title: Cables y pintor cuádruple
|
||||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
desc: "Has desbloqueado la <strong>Capa de cables</strong>: ¡Es una capa
|
||||||
layer on top of the regular layer and introduces a lot of new
|
separada a la capa regular e introduce un montón de mecanicas
|
||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
nuevas!<br><br> Para empezar te he dado el <strong>Pintor
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Cuádruple</strong> - ¡Conecta las ranuras que quieras pintar usando
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
la capa de cables!<br><br> Para cambiar a la capa de cables, presiona la tecla
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PD: ¡Activa las <strong>pistas</strong> en
|
||||||
|
las opciones para activar el tutorial de cables!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Filtro de items
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: Has desbloqueado el <strong>Filtro de Items</strong>! Este enviará los items tanto
|
||||||
to the top or the right output depending on whether they match the
|
arriaba como a la derecha dependiendo en si coinciden con la
|
||||||
signal from the wires layer or not.<br><br> You can also pass in a
|
señal de la capa de cables o no.<br><br> Tambien puedes enviar una señal
|
||||||
boolean signal (1 / 0) to entirely activate or disable it.
|
booleana (1 / 0) para activarlo o desactivarlo completamente.
|
||||||
reward_demo_end:
|
reward_demo_end:
|
||||||
title: End of Demo
|
title: Fin de la demo
|
||||||
desc: You have reached the end of the demo version!
|
desc: ¡Has llegado al final de la demo!
|
||||||
settings:
|
settings:
|
||||||
title: Opciones
|
title: Opciones
|
||||||
categories:
|
categories:
|
||||||
general: General
|
general: General
|
||||||
userInterface: User Interface
|
userInterface: Interfaz de Usuario
|
||||||
advanced: Avanzado
|
advanced: Avanzado
|
||||||
performance: Performance
|
performance: Rendimiento
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Desarrollo
|
dev: Desarrollo
|
||||||
staging: Escenificación
|
staging: Escenificación
|
||||||
@ -839,51 +867,54 @@ settings:
|
|||||||
description: Deshabilita los diálogos de advertencia que se muestran cuando se
|
description: Deshabilita los diálogos de advertencia que se muestran cuando se
|
||||||
cortan/eliminan más de 100 elementos.
|
cortan/eliminan más de 100 elementos.
|
||||||
soundVolume:
|
soundVolume:
|
||||||
title: Sound Volume
|
title: Volumen de efectos
|
||||||
description: Set the volume for sound effects
|
description: Establece el volumen para los efectos de sonido
|
||||||
musicVolume:
|
musicVolume:
|
||||||
title: Music Volume
|
title: Volumen de música
|
||||||
description: Set the volume for music
|
description: Establece el volumen para la música
|
||||||
lowQualityMapResources:
|
lowQualityMapResources:
|
||||||
title: Low Quality Map Resources
|
title: Recursos del mapa de baja calidad
|
||||||
description: Simplifies the rendering of resources on the map when zoomed in to
|
description: Simplifica el renderizado de los recusos en el mapa al ser vistos desde cerca,
|
||||||
improve performance. It even looks cleaner, so be sure to try it
|
mejorando el rendimiento. ¡Incluso se ve más limpio, asi que asegurate de probarlo!
|
||||||
out!
|
|
||||||
disableTileGrid:
|
disableTileGrid:
|
||||||
title: Disable Grid
|
title: Deshabilitar grilla
|
||||||
description: Disabling the tile grid can help with the performance. This also
|
description: Deshabilitar la grilla puede ayudar con el rendimiento. ¡También hace
|
||||||
makes the game look cleaner!
|
que el juego se vea más limpio!
|
||||||
clearCursorOnDeleteWhilePlacing:
|
clearCursorOnDeleteWhilePlacing:
|
||||||
title: Clear Cursor on Right Click
|
title: Limpiar el cursos al apretar click derecho
|
||||||
description: Enabled by default, clears the cursor whenever you right click
|
description: Activado por defecto, Limpia el cursor al hacer click derecho
|
||||||
while you have a building selected for placement. If disabled,
|
mientras tengas un un edificio seleccionado. Si se deshabilita,
|
||||||
you can delete buildings by right-clicking while placing a
|
puedes eliminar edificios al hacer click derecho mientras pones
|
||||||
building.
|
un edificio.
|
||||||
lowQualityTextures:
|
lowQualityTextures:
|
||||||
title: Low quality textures (Ugly)
|
title: Texturas de baja calidad (Feo)
|
||||||
description: Uses low quality textures to save performance. This will make the
|
description: Usa texturas de baja calidad para mejorar el rendimiento. ¡Esto hará que el
|
||||||
game look very ugly!
|
juego se vea muy feo!
|
||||||
displayChunkBorders:
|
displayChunkBorders:
|
||||||
title: Display Chunk Borders
|
title: Mostrar bordes de chunk
|
||||||
description: The game is divided into chunks of 16x16 tiles, if this setting is
|
description: Este juego está dividido en chunks de 16x16 cuadrados, si esta opción es
|
||||||
enabled the borders of each chunk are displayed.
|
habilitada los bordes de cada chunk serán mostrados.
|
||||||
pickMinerOnPatch:
|
pickMinerOnPatch:
|
||||||
title: Pick miner on resource patch
|
title: Elegír el minero en la veta de recursos
|
||||||
description: Enabled by default, selects the miner if you use the pipette when
|
description: Activado pir defecto, selecciona el minero si usas el cuentagotas sobre
|
||||||
hovering a resource patch.
|
una veta de recursos.
|
||||||
simplifiedBelts:
|
simplifiedBelts:
|
||||||
title: Simplified Belts (Ugly)
|
title: Cintas trasportadoras simplificadas (Feo)
|
||||||
description: Does not render belt items except when hovering the belt to save
|
description: No rederiza los items en las cintas trasportadoras exceptuando al pasar el cursor sobre la cinta para mejorar
|
||||||
performance. I do not recommend to play with this setting if you
|
el rendimiento. No recomiendo jugar con esta opcion activada
|
||||||
do not absolutely need the performance.
|
a menos que necesites fuertemente mejorar el rendimiento.
|
||||||
enableMousePan:
|
enableMousePan:
|
||||||
title: Enable Mouse Pan
|
title: Habilitar movimiento con mouse
|
||||||
description: Allows to move the map by moving the cursor to the edges of the
|
description: Te permite mover el mapa moviendo el cursor hacia los bordes de la
|
||||||
screen. The speed depends on the Movement Speed setting.
|
pantalla. La velocidad depende de la opción de velocidad de movimiento.
|
||||||
zoomToCursor:
|
zoomToCursor:
|
||||||
title: Zoom towards Cursor
|
title: Hacer zoom donde está el cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: Si se activa, se hará zoom en al dirección donde esté tu cursor,
|
||||||
position, otherwise in the middle of the screen.
|
a diferencia de hacer zoom en el centro de la pantalla.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Tamaño de recursos en el mapa
|
||||||
|
description: Controla el tamaño de los recursos en la vista de aerea del mapa (Al hacer zoom
|
||||||
|
minimo).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Atajos de teclado
|
title: Atajos de teclado
|
||||||
@ -942,21 +973,21 @@ keybindings:
|
|||||||
placementDisableAutoOrientation: Desactivar orientación automática
|
placementDisableAutoOrientation: Desactivar orientación automática
|
||||||
placeMultiple: Permanecer en modo de construcción
|
placeMultiple: Permanecer en modo de construcción
|
||||||
placeInverse: Invierte automáticamente la orientación de las cintas transportadoras
|
placeInverse: Invierte automáticamente la orientación de las cintas transportadoras
|
||||||
balancer: Balancer
|
balancer: Balanceador
|
||||||
storage: Storage
|
storage: Almacenamiento
|
||||||
constant_signal: Constant Signal
|
constant_signal: Señal constante
|
||||||
logic_gate: Logic Gate
|
logic_gate: Puerta lógica
|
||||||
lever: Switch (regular)
|
lever: Interruptor (regular)
|
||||||
filter: Filter
|
filter: Filtro
|
||||||
wire_tunnel: Wire Crossing
|
wire_tunnel: Cruze de cables
|
||||||
display: Display
|
display: Monitor
|
||||||
reader: Belt Reader
|
reader: Lector de cinta
|
||||||
virtual_processor: Virtual Cutter
|
virtual_processor: Cortador virtual
|
||||||
transistor: Transistor
|
transistor: Transistor
|
||||||
analyzer: Shape Analyzer
|
analyzer: Analizador de formas
|
||||||
comparator: Compare
|
comparator: Comparador
|
||||||
item_producer: Item Producer (Sandbox)
|
item_producer: Productor de items (Sandbox)
|
||||||
copyWireValue: "Wires: Copy value below cursor"
|
copyWireValue: "Cables: Copiar valor bajo el cursos"
|
||||||
backwardsModifier: "Modifier: Cycle backwards"
|
backwardsModifier: "Modifier: Cycle backwards"
|
||||||
about:
|
about:
|
||||||
title: Sobre el juego
|
title: Sobre el juego
|
||||||
|
|||||||
@ -2,51 +2,51 @@ steamPage:
|
|||||||
shortText: shapez.io on peli tehtaiden rakentamisesta, joiden avulla
|
shortText: shapez.io on peli tehtaiden rakentamisesta, joiden avulla
|
||||||
automatisoidaan yhä monimutkaisempien muotojen luonti and yhdisteleminen
|
automatisoidaan yhä monimutkaisempien muotojen luonti and yhdisteleminen
|
||||||
loputtomassa maailmassa.
|
loputtomassa maailmassa.
|
||||||
discordLinkShort: Official Discord
|
discordLinkShort: Virallinen Discord
|
||||||
intro: >-
|
intro: >-
|
||||||
Shapez.io is a relaxed game in which you have to build factories for the
|
Shapez.io on rento peli, jossa sinun täytyy rakentaa tehtaita geometristen muotojen
|
||||||
automated production of geometric shapes.
|
automatisoituun tuotantoon.
|
||||||
|
|
||||||
As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
Kun taso kasvaa, muodot tulevat entistä vaikeammaksi sekä sinun täytyy laajentua loputtomassa kartassa.
|
||||||
|
|
||||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling!
|
Ja jos tämä ei ollut tarpeeksi, niin sinun täytyy tuottaa eksponentiaalisesti enemmän täyttääksesi tarpeet - ainut asia mikä auttaa on skaalautuminen!
|
||||||
|
|
||||||
While you only process shapes at the beginning, you have to color them later - for this you have to extract and mix colors!
|
Vaikka alussa vain prosessoit muotoja, myöhemmin niitä pitää maalata - tätä varten täytyy sinun kaivaa ja sekoittaa värejä
|
||||||
|
|
||||||
Buying the game on Steam gives you access to the full version, but you can also play a demo on shapez.io first and decide later!
|
Pelin ostaminen Steamista antaa sinulle pääsyn pelin kokoversioon, mutta voit myös pelata kokeiluversiota esin sivuillamme shapez.io ja päättää myöhemmin!
|
||||||
title_advantages: Standalone Advantages
|
title_advantages: Kokoversion hyödyt
|
||||||
advantages:
|
advantages:
|
||||||
- <b>12 New Level</b> for a total of 26 levels
|
- <b>12 uutta tasoa</b> nostaen tasojen määrän 26 tasoon!
|
||||||
- <b>18 New Buildings</b> for a fully automated factory!
|
- <b>18 uutta rakennusta</b> täysin automatisoidulle tehtaalle!
|
||||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
- <b>20 päivitystasoa</b> monelle hauskalle pelitunnille!
|
||||||
- <b>Wires Update</b> for an entirely new dimension!
|
- <b>Johdot -päivitys</b> tuoden täyden uuden ulottuvuuden!
|
||||||
- <b>Dark Mode</b>!
|
- <b>Tumma teema</b>!
|
||||||
- Unlimited Savegames
|
- Rajattomat tallennukset
|
||||||
- Unlimited Markers
|
- Rajattomat merkit
|
||||||
- Support me! ❤️
|
- Tue minua! ❤️
|
||||||
title_future: Planned Content
|
title_future: Suunniteltu sisältö
|
||||||
planned:
|
planned:
|
||||||
- Blueprint Library (Standalone Exclusive)
|
- Pohjapiirustus kirjasto (Standalone Exclusive)
|
||||||
- Steam Achievements
|
- Steam Achievements
|
||||||
- Puzzle Mode
|
- Palapelitila
|
||||||
- Minimap
|
- Minikartta
|
||||||
- Mods
|
- Modit
|
||||||
- Sandbox mode
|
- Hiekkalaatikko -tila
|
||||||
- ... and a lot more!
|
- ... ja paljon muuta!
|
||||||
title_open_source: This game is open source!
|
title_open_source: Tämä peli on avointa lähdekoodia!
|
||||||
title_links: Links
|
title_links: Linkit
|
||||||
links:
|
links:
|
||||||
discord: Official Discord
|
discord: Virallinen Discord
|
||||||
roadmap: Roadmap
|
roadmap: Roadmap
|
||||||
subreddit: Subreddit
|
subreddit: Subreddit
|
||||||
source_code: Source code (GitHub)
|
source_code: Lähdekoodi (GitHub)
|
||||||
translate: Help translate
|
translate: Auta kääntämään
|
||||||
text_open_source: >-
|
text_open_source: >-
|
||||||
Anybody can contribute, I'm actively involved in the community and
|
Kuka tahansa voi osallistua. Olen aktiivisesti mukana yhteisössä ja
|
||||||
attempt to review all suggestions and take feedback into consideration
|
yritän tarkistaa kaikki ehdotukset ja ottaa palautteen huomioon missä
|
||||||
where possible.
|
mahdollista.
|
||||||
|
|
||||||
Be sure to check out my trello board for the full roadmap!
|
Muista tarkistaa Trello -lautani, jossa löytyy koko roadmap!
|
||||||
global:
|
global:
|
||||||
loading: Ladataan
|
loading: Ladataan
|
||||||
error: Virhe
|
error: Virhe
|
||||||
@ -60,7 +60,7 @@ global:
|
|||||||
infinite: ∞
|
infinite: ∞
|
||||||
time:
|
time:
|
||||||
oneSecondAgo: yksi sekunti sitten
|
oneSecondAgo: yksi sekunti sitten
|
||||||
xSecondsAgo: <x> sekunttia sitten
|
xSecondsAgo: <x> sekuntia sitten
|
||||||
oneMinuteAgo: yksi minuutti sitten
|
oneMinuteAgo: yksi minuutti sitten
|
||||||
xMinutesAgo: <x> minuuttia sitten
|
xMinutesAgo: <x> minuuttia sitten
|
||||||
oneHourAgo: yksi tunti sitten
|
oneHourAgo: yksi tunti sitten
|
||||||
@ -76,11 +76,11 @@ global:
|
|||||||
control: CTRL
|
control: CTRL
|
||||||
alt: ALT
|
alt: ALT
|
||||||
escape: ESC
|
escape: ESC
|
||||||
shift: VAIHTO
|
shift: SHIFT
|
||||||
space: VÄLILYÖNTI
|
space: VÄLILYÖNTI
|
||||||
demoBanners:
|
demoBanners:
|
||||||
title: Demoversio
|
title: Demoversio
|
||||||
intro: Hanki itsenäinen peli avataksesi kaikki omunaisuudet!
|
intro: Hanki pelin kokoversio avataksesi kaikki ominaisuudet!
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: Pelaa
|
play: Pelaa
|
||||||
continue: Jatka
|
continue: Jatka
|
||||||
@ -89,13 +89,13 @@ mainMenu:
|
|||||||
subreddit: Reddit
|
subreddit: Reddit
|
||||||
importSavegame: Tuo peli
|
importSavegame: Tuo peli
|
||||||
openSourceHint: Tämä on avoimen lähdekoodin peli!
|
openSourceHint: Tämä on avoimen lähdekoodin peli!
|
||||||
discordLink: Virallinen Discord Palvelin
|
discordLink: Virallinen Discord -palvelin
|
||||||
helpTranslate: Auta kääntämään!
|
helpTranslate: Auta kääntämään!
|
||||||
madeBy: Pelin on tehnyt <author-link>
|
madeBy: Pelin on tehnyt <author-link>
|
||||||
browserWarning: Anteeksi, mutta pelin tiedetään toimivan huonosti selaimellasi!
|
browserWarning: Anteeksi, mutta pelin tiedetään toimivan huonosti selaimellasi!
|
||||||
Hanki itsenäinen versio tai lataa Chrome täyttä tukea varten.
|
Hanki pelin kokoversio tai lataa Google Chrome täyttä tukea varten.
|
||||||
savegameLevel: Taso <x>
|
savegameLevel: Taso <x>
|
||||||
savegameLevelUnknown: Tuntematon Taso
|
savegameLevelUnknown: Tuntematon taso
|
||||||
savegameUnnamed: Unnamed
|
savegameUnnamed: Unnamed
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
@ -105,13 +105,13 @@ dialogs:
|
|||||||
later: Myöhemmin
|
later: Myöhemmin
|
||||||
restart: Käynnistä uudelleen
|
restart: Käynnistä uudelleen
|
||||||
reset: Nollaa
|
reset: Nollaa
|
||||||
getStandalone: Hanki itsenäinen peli
|
getStandalone: Hanki kokoversio
|
||||||
deleteGame: Tiedän mitä olen tekemässä
|
deleteGame: Tiedän mitä olen tekemässä
|
||||||
viewUpdate: Näytä päivitys
|
viewUpdate: Näytä päivitys
|
||||||
showUpgrades: Näytä Päivitykset
|
showUpgrades: Näytä päivitykset
|
||||||
showKeybindings: Näytä pikanäppäimet
|
showKeybindings: Näytä pikanäppäimet
|
||||||
importSavegameError:
|
importSavegameError:
|
||||||
title: Tuonti Virhe
|
title: Tuontivirhe
|
||||||
text: "Tallennuksen tuonti epäonnistui:"
|
text: "Tallennuksen tuonti epäonnistui:"
|
||||||
importSavegameSuccess:
|
importSavegameSuccess:
|
||||||
title: Tallennus tuotiin
|
title: Tallennus tuotiin
|
||||||
@ -121,9 +121,9 @@ dialogs:
|
|||||||
text: "Tallennuksen lataus epäonnistui:"
|
text: "Tallennuksen lataus epäonnistui:"
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: Varmista poisto
|
title: Varmista poisto
|
||||||
text: Are you sure you want to delete the following game?<br><br>
|
text: Oletko varma, että haluat poistaa valitun pelin?<br><br>
|
||||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
'<savegameName>' tasossa <savegameLevel><br><br> Tätä toimintoa ei
|
||||||
undone!
|
voida peruuttaa!
|
||||||
savegameDeletionError:
|
savegameDeletionError:
|
||||||
title: Poisto epäonnistui
|
title: Poisto epäonnistui
|
||||||
text: "Tallennuksen poisto epäonnistui:"
|
text: "Tallennuksen poisto epäonnistui:"
|
||||||
@ -132,8 +132,8 @@ dialogs:
|
|||||||
text: Käynnistä peli uudelleen ottaaksesi asetukset käyttöön.
|
text: Käynnistä peli uudelleen ottaaksesi asetukset käyttöön.
|
||||||
editKeybinding:
|
editKeybinding:
|
||||||
title: Vaihda pikanäppäin
|
title: Vaihda pikanäppäin
|
||||||
desc: Paina näppäintä tai hiiren nappia jonka haluat asettaa tai paina escape
|
desc: Paina näppäintä tai hiiren nappia, jonka haluat asettaa tai paina
|
||||||
peruuttaaksesi.
|
escape peruuttaaksesi.
|
||||||
resetKeybindingsConfirmation:
|
resetKeybindingsConfirmation:
|
||||||
title: Nollaa pikanäppäimet
|
title: Nollaa pikanäppäimet
|
||||||
desc: Tämä nollaa kaikki pikanäppäimet oletusarvoihin. Vahvista.
|
desc: Tämä nollaa kaikki pikanäppäimet oletusarvoihin. Vahvista.
|
||||||
@ -142,32 +142,32 @@ dialogs:
|
|||||||
desc: Pikanäppäimet nollattiin oletusarvoihin!
|
desc: Pikanäppäimet nollattiin oletusarvoihin!
|
||||||
featureRestriction:
|
featureRestriction:
|
||||||
title: Demoversio
|
title: Demoversio
|
||||||
desc: Yritit käyttää ominaisuutta (<feature>) joka ei ole saatavilla
|
desc: Yritit käyttää ominaisuutta (<feature>), joka ei ole saatavilla
|
||||||
demoversiossa. Harkitse itsenäisen version hankkimista avataksesi
|
demoversiossa. Harkitse kokoversio avataksesi
|
||||||
kaikki ominaisuudet!
|
kaikki ominaisuudet!
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: Rajoitetut tallennukset
|
title: Rajoitetut tallennukset
|
||||||
desc: Sinulla voi olla vain yksi tallennus kerrallaan demoversiossa. Poista
|
desc: Sinulla voi olla vain yksi tallennus kerrallaan demoversiossa. Poista
|
||||||
vanha tallennus tai hanki itsenäinen versio!
|
vanha tallennus tai hanki kokoversio pelistä!
|
||||||
updateSummary:
|
updateSummary:
|
||||||
title: Uusi päivitys!
|
title: Uusi päivitys!
|
||||||
desc: "Tässä on tulleet muutokset sen jälkeen kun viimeksi pelasit:"
|
desc: "Tässä uudet muutokset sen jälkeen kun viimeksi pelasit:"
|
||||||
upgradesIntroduction:
|
upgradesIntroduction:
|
||||||
title: Avaa Päivitykset
|
title: Avaa päivitykset
|
||||||
desc: Kaikkia muodoja joita tuotat voi käyttää päivitysten avaamiseen -
|
desc: Kaikkia muotoja joita tuotat voidaan käyttää päivitysten avaamiseen -
|
||||||
<strong>Älä tuhoa vanhoja tehtaitasi!</strong> Löydät
|
<strong>Älä tuhoa vanhoja tehtaitasi!</strong> Löydät
|
||||||
päivitysikkunan näytön oikeasta yläkulmasta.
|
päivitysikkunan näytön oikeasta yläkulmasta.
|
||||||
massDeleteConfirm:
|
massDeleteConfirm:
|
||||||
title: Vahvista poisto
|
title: Vahvista poisto
|
||||||
desc: Olet poistamassa paljon rakennuksia (tasan <count>)! Oletko varma että
|
desc: Olet poistamassa paljon rakennuksia (<count> tarkalleen)! Oletko varma, että
|
||||||
haluat jatkaa?
|
haluat jatkaa?
|
||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
title: Vahtista leikkaus
|
title: Vahvista leikkaus
|
||||||
desc: Olet leikkaamassa paljon rakennuksia (tasan <count>)! Oletko varma että
|
desc: Olet leikkaamassa paljon rakennuksia (<count> tarkalleen)! Oletko varma, että
|
||||||
haluat jatkaa?
|
haluat jatkaa?
|
||||||
blueprintsNotUnlocked:
|
blueprintsNotUnlocked:
|
||||||
title: Ei vielä avattu
|
title: Ei vielä avattu
|
||||||
desc: Suorita taso 12 avataksesi Piirustukset!
|
desc: Suorita taso 12 avataksesi piirustukset!
|
||||||
keybindingsIntroduction:
|
keybindingsIntroduction:
|
||||||
title: Hyödyllisiä pikanäppäimiä
|
title: Hyödyllisiä pikanäppäimiä
|
||||||
desc: "Tässä pelissä on paljon pikanäppäimiä, jotka tekevät isojen tehtaiden
|
desc: "Tässä pelissä on paljon pikanäppäimiä, jotka tekevät isojen tehtaiden
|
||||||
@ -178,13 +178,13 @@ dialogs:
|
|||||||
useita samoja rakennuksia.<br> <code class='keybinding'>ALT</code>:
|
useita samoja rakennuksia.<br> <code class='keybinding'>ALT</code>:
|
||||||
Käännä sijoitettavien hihnojen suunta.<br>"
|
Käännä sijoitettavien hihnojen suunta.<br>"
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Uusi Merkki
|
title: Uusi merkki
|
||||||
desc: Give it a meaningful name, you can also include a <strong>short
|
desc: Anna merkille merkitsevä nimi. Voit myös liittää <strong>lyhyen koodin</strong>
|
||||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
muodosta. (Jonka voit luoda <link>täällä</link>.)
|
||||||
titleEdit: Muokkaa merkkiä
|
titleEdit: Muokkaa merkkiä
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: Voit tehdä vain kaksi mukautettua merkkiä demoversiossa. Hanki itsenäinen
|
desc: Voit tehdä vain kaksi mukautettua merkkiä demoversiossa. Hanki kokoversio
|
||||||
versio saadaksesi loputtoman määrän merkkejä!
|
saadaksesi loputtoman määrän merkkejä!
|
||||||
exportScreenshotWarning:
|
exportScreenshotWarning:
|
||||||
title: Vie kuvakaappaus
|
title: Vie kuvakaappaus
|
||||||
desc: Pyysit tukikohtasi viemistä kuvakaappauksena. Huomaa, että tämä voi olla
|
desc: Pyysit tukikohtasi viemistä kuvakaappauksena. Huomaa, että tämä voi olla
|
||||||
@ -199,8 +199,14 @@ dialogs:
|
|||||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
||||||
can generate <link>here</link>)
|
can generate <link>here</link>)
|
||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Nimeä tallennus uudelleen
|
||||||
desc: You can rename your savegame here.
|
desc: Voit nimetä tallennuksesi uudelleen täällä.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Ohjevideo saatavilla
|
||||||
|
desc: Tästä tasosta on saatavilla ohjevideo! Haluaisitko katsoa sen?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Ohjevideo saatavilla
|
||||||
|
desc: Tästä tasosta on saatavilla ohjevideo! Haluaisitko katsoa sen?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Liiku
|
moveMap: Liiku
|
||||||
@ -219,9 +225,9 @@ ingame:
|
|||||||
plannerSwitchSide: Käännä suunnittelijan puoli
|
plannerSwitchSide: Käännä suunnittelijan puoli
|
||||||
cutSelection: Leikkaa
|
cutSelection: Leikkaa
|
||||||
copySelection: Kopioi
|
copySelection: Kopioi
|
||||||
clearSelection: Tyhjennä Valinta
|
clearSelection: Tyhjennä valinta
|
||||||
pipette: Pipetti
|
pipette: Pipetti
|
||||||
switchLayers: Vaihda Tasoa
|
switchLayers: Vaihda tasoa
|
||||||
colors:
|
colors:
|
||||||
red: Punainen
|
red: Punainen
|
||||||
green: Vihreä
|
green: Vihreä
|
||||||
@ -233,7 +239,7 @@ ingame:
|
|||||||
uncolored: Väritön
|
uncolored: Väritön
|
||||||
black: Musta
|
black: Musta
|
||||||
buildingPlacement:
|
buildingPlacement:
|
||||||
cycleBuildingVariants: Paina <key> kiertääksesi muunnoksia.
|
cycleBuildingVariants: Paina <key> selataksesi vaihtoehtoja.
|
||||||
hotkeyLabel: "Pikanäppäin: <key>"
|
hotkeyLabel: "Pikanäppäin: <key>"
|
||||||
infoTexts:
|
infoTexts:
|
||||||
speed: Nopeus
|
speed: Nopeus
|
||||||
@ -251,7 +257,7 @@ ingame:
|
|||||||
notifications:
|
notifications:
|
||||||
newUpgrade: Uusi päivitys on saatavilla!
|
newUpgrade: Uusi päivitys on saatavilla!
|
||||||
gameSaved: Peli on tallennettu.
|
gameSaved: Peli on tallennettu.
|
||||||
freeplayLevelComplete: Level <level> has been completed!
|
freeplayLevelComplete: Taso <level> on saavutettu!
|
||||||
shop:
|
shop:
|
||||||
title: Päivitykset
|
title: Päivitykset
|
||||||
buttonUnlock: Päivitä
|
buttonUnlock: Päivitä
|
||||||
@ -269,7 +275,7 @@ ingame:
|
|||||||
välituotteet.
|
välituotteet.
|
||||||
delivered:
|
delivered:
|
||||||
title: Toimitettu
|
title: Toimitettu
|
||||||
description: Näyttää muodot jotka on toimitettu keskusrakennukseen.
|
description: Näyttää muodot, jotka on toimitettu keskusrakennukseen.
|
||||||
noShapesProduced: Toistaiseksi ei muotoja tuotettu.
|
noShapesProduced: Toistaiseksi ei muotoja tuotettu.
|
||||||
shapesDisplayUnits:
|
shapesDisplayUnits:
|
||||||
second: <shapes> / s
|
second: <shapes> / s
|
||||||
@ -288,9 +294,9 @@ ingame:
|
|||||||
waypoints:
|
waypoints:
|
||||||
waypoints: Merkit
|
waypoints: Merkit
|
||||||
hub: Keskusrakennus
|
hub: Keskusrakennus
|
||||||
description: Paina merkkia hiiren vasemmalla mennäksesi siihen, paina oikeaa
|
description: Paina merkkiä hiiren vasemmalla mennäksesi siihen, paina oikeaa
|
||||||
nappia poistaaksesi sen.<br><br>Paina <keybinding> luodaksesi merkin
|
nappia poistaaksesi sen.<br><br>Paina <keybinding> luodaksesi merkin
|
||||||
nykyisestä näkymästä tai <strong>varen nappi</strong> luodaksesi
|
nykyisestä näkymästä tai <strong>vasen nappi</strong> luodaksesi
|
||||||
merkin valittuun paikkaan.
|
merkin valittuun paikkaan.
|
||||||
creationSuccessNotification: Merkki luotiin onnistuneesti.
|
creationSuccessNotification: Merkki luotiin onnistuneesti.
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
@ -310,73 +316,97 @@ ingame:
|
|||||||
valmiiksi.<br><br>Vihje: Pidä pohjassa <strong>VAIHTO</strong>
|
valmiiksi.<br><br>Vihje: Pidä pohjassa <strong>VAIHTO</strong>
|
||||||
laittaaksesi useampia kaivajia ja käytä <strong>R</strong>
|
laittaaksesi useampia kaivajia ja käytä <strong>R</strong>
|
||||||
kääntääksesi niitä."
|
kääntääksesi niitä."
|
||||||
|
2_1_place_cutter: "Nyt aseta <strong>Leikkuri</strong> leikataksesi ympyrä
|
||||||
|
puoliksi!<br><br> PS: Leikkuri aina leikkaa <strong>ylhäältä alaspäin</strong>
|
||||||
|
riippumatta sen asennosta."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 kaivaja
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> kaivajaa
|
||||||
limited_items: Limited to <max_throughput>
|
limited_items: Rajoitettu <max_throughput>
|
||||||
watermark:
|
watermark:
|
||||||
title: Demo version
|
title: Kokeiluversio
|
||||||
desc: Click here to see the Steam version advantages!
|
desc: Napsauta tästä nähdäksesi Steam version edut!
|
||||||
get_on_steam: Get on steam
|
get_on_steam: Hanki Steamista
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: Get the full version!
|
title: Hanki kokoversio!
|
||||||
no_thanks: No, thanks!
|
no_thanks: Ei kiitos!
|
||||||
points:
|
points:
|
||||||
levels:
|
levels:
|
||||||
title: 12 New Levels
|
title: 12 Uutta tasoa
|
||||||
desc: For a total of 26 levels!
|
desc: Yhteensä 26 tasoa!
|
||||||
buildings:
|
buildings:
|
||||||
title: 18 New Buildings
|
title: 18 Uutta rakennusta
|
||||||
desc: Fully automate your factory!
|
desc: Automatisoi tehtaasi täysin!
|
||||||
savegames:
|
savegames:
|
||||||
title: ∞ Savegames
|
title: ∞ Tallennukset
|
||||||
desc: As many as your heart desires!
|
desc: Niin paljon kuin sielusi kaipaa!
|
||||||
upgrades:
|
upgrades:
|
||||||
title: 20 Upgrade Tiers
|
title: 20 päivitystasoa
|
||||||
desc: This demo version has only 5!
|
desc: Kokeiluversiossa on vain viisi!
|
||||||
markers:
|
markers:
|
||||||
title: ∞ Markers
|
title: ∞ Merkit
|
||||||
desc: Never get lost in your factory!
|
desc: Älä koskaan eksy tehtaassasi!
|
||||||
wires:
|
wires:
|
||||||
title: Wires
|
title: Johdot
|
||||||
desc: An entirely new dimension!
|
desc: Täysin uusi ulottuvuus!
|
||||||
darkmode:
|
darkmode:
|
||||||
title: Dark Mode
|
title: Tumma teema
|
||||||
desc: Stop hurting your eyes!
|
desc: Jotta silmiisi ei sattuisi!
|
||||||
support:
|
support:
|
||||||
title: Support me
|
title: Tue minua
|
||||||
desc: I develop it in my spare time!
|
desc: Kehitän peliä vapaa-ajallani!
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
belt:
|
belt:
|
||||||
name: Hihnat, Jakelija & Tunneli
|
name: Hihnat, jakelija & tunneli
|
||||||
description: Nopeus x<currentMult> → x<newMult>
|
description: Nopeus x<currentMult> → x<newMult>
|
||||||
miner:
|
miner:
|
||||||
name: Kaivuu
|
name: Kaivuu
|
||||||
description: Nopeus x<currentMult> → x<newMult>
|
description: Nopeus x<currentMult> → x<newMult>
|
||||||
processors:
|
processors:
|
||||||
name: Leikkaus, Kääntö & Pinoaminen
|
name: Leikkaus, kääntö & pinoaminen
|
||||||
description: Nopeus x<currentMult> → x<newMult>
|
description: Nopeus x<currentMult> → x<newMult>
|
||||||
painting:
|
painting:
|
||||||
name: Sekoitus & Värjäys
|
name: Sekoitus & värjäys
|
||||||
description: Nopeus x<currentMult> → x<newMult>
|
description: Nopeus x<currentMult> → x<newMult>
|
||||||
buildings:
|
buildings:
|
||||||
hub:
|
hub:
|
||||||
deliver: Toimita
|
deliver: Toimita
|
||||||
toUnlock: avataksesi
|
toUnlock: avataksesi
|
||||||
levelShortcut: LVL
|
levelShortcut: LVL
|
||||||
endOfDemo: End of Demo
|
endOfDemo: Kokeiluversion loppu!
|
||||||
belt:
|
belt:
|
||||||
default:
|
default:
|
||||||
name: Liukuhihna
|
name: Liukuhihna
|
||||||
description: Kuljettaa esineitä, pidä pohjassa ja raahaa laittaaksesi useampia.
|
description: Kuljettaa esineitä. Pidä pohjassa ja raahaa laittaaksesi useampia.
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Johto
|
name: Johto
|
||||||
description: Sallii sähkön kuljetuksen
|
description: Sallii sähkönkuljetuksen
|
||||||
second:
|
second:
|
||||||
name: Wire
|
name: Johto
|
||||||
description: Transfers signals, which can be items, colors or booleans (1 / 0).
|
description: Siirtää signaaleja, jotka voivat olla muotoja, värejä, taikka binääriarvoja (1 / 0).
|
||||||
Different colored wires do not connect.
|
Eriväriset johdot eivät yhdisty toisiinsa.
|
||||||
miner:
|
miner:
|
||||||
default:
|
default:
|
||||||
name: Kaivaja
|
name: Kaivaja
|
||||||
@ -390,7 +420,7 @@ buildings:
|
|||||||
name: Tunneli
|
name: Tunneli
|
||||||
description: Sallii resurssien kuljetuksen rakennuksien ja hihnojen alta.
|
description: Sallii resurssien kuljetuksen rakennuksien ja hihnojen alta.
|
||||||
tier2:
|
tier2:
|
||||||
name: Tunneli Taso II
|
name: Tunneli taso II
|
||||||
description: Sallii resurssien kuljetuksen rakennuksien ja hihnojen alta
|
description: Sallii resurssien kuljetuksen rakennuksien ja hihnojen alta
|
||||||
pidemmältä kantamalta.
|
pidemmältä kantamalta.
|
||||||
cutter:
|
cutter:
|
||||||
@ -409,11 +439,11 @@ buildings:
|
|||||||
name: Kääntäjä
|
name: Kääntäjä
|
||||||
description: Kääntää muotoja 90 astetta myötäpäivään.
|
description: Kääntää muotoja 90 astetta myötäpäivään.
|
||||||
ccw:
|
ccw:
|
||||||
name: Kääntäjä (Vastapäivään)
|
name: Kääntäjä (vastapäivään)
|
||||||
description: Kääntää muotoja 90 astetta vastapäivään.
|
description: Kääntää muotoja 90 astetta vastapäivään.
|
||||||
rotate180:
|
rotate180:
|
||||||
name: Rotate (180)
|
name: Kääntäjä (180)
|
||||||
description: Rotates shapes by 180 degrees.
|
description: Kääntää muotoja 180 astetta.
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
name: Pinoaja
|
name: Pinoaja
|
||||||
@ -425,19 +455,19 @@ buildings:
|
|||||||
description: Sekoittaa kaksi väriä lisäaineiden avulla.
|
description: Sekoittaa kaksi väriä lisäaineiden avulla.
|
||||||
painter:
|
painter:
|
||||||
default:
|
default:
|
||||||
name: Värjääjä
|
name: Maalari
|
||||||
description: Värjää vasemmasta sisääntulosta tulevan muodon ylemmästä
|
description: Maalaa vasemmasta sisääntulosta tulevan muodon ylemmästä
|
||||||
sisääntulosta tulevalla värillä.
|
sisääntulosta tulevalla värillä.
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Värjääjä
|
name: Maalari
|
||||||
description: Värjää vasemmasta sisääntulosta tulevan muodon ylemmästä
|
description: Maalaa vasemmasta sisääntulosta tulevan muodon alemmasta
|
||||||
sisääntulosta tulevalla värillä.
|
sisääntulosta tulevalla värillä.
|
||||||
double:
|
double:
|
||||||
name: Värjääjä (Kaksinkertainen)
|
name: Maalari (kaksinkertainen)
|
||||||
description: Värjää vasemmasta sisääntulosta tulevan muodon ylemmästä
|
description: Värjää vasemmasta sisääntulosta tulevat muodot ylemmästä
|
||||||
sisääntulosta tulevalla värillä.
|
sisääntulosta tulevalla värillä.
|
||||||
quad:
|
quad:
|
||||||
name: Painter (Neljännes)
|
name: Maalari (neljännes)
|
||||||
description: Allows you to color each quadrant of the shape individually. Only
|
description: Allows you to color each quadrant of the shape individually. Only
|
||||||
slots with a <strong>truthy signal</strong> on the wires layer
|
slots with a <strong>truthy signal</strong> on the wires layer
|
||||||
will be painted!
|
will be painted!
|
||||||
@ -447,114 +477,111 @@ buildings:
|
|||||||
description: Sallii sisääntulot kaikilta sivuilta ja tuhoaa ne. Lopullisesti.
|
description: Sallii sisääntulot kaikilta sivuilta ja tuhoaa ne. Lopullisesti.
|
||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
name: Balancer
|
name: Tasaaja
|
||||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
description: Monikäyttöinen - Jaa sisääntulot tasaisesti kaikkiin ulostuloihin.
|
||||||
merger:
|
merger:
|
||||||
name: Merger (compact)
|
name: Yhdistäjä (compact)
|
||||||
description: Merges two conveyor belts into one.
|
description: Yhdistää kaksi hihnaa yhteen.
|
||||||
merger-inverse:
|
merger-inverse:
|
||||||
name: Merger (compact)
|
name: Yhdistäjä (compact)
|
||||||
description: Merges two conveyor belts into one.
|
description: Yhdistää kaksi hihnaa yhteen.
|
||||||
splitter:
|
splitter:
|
||||||
name: Splitter (compact)
|
name: Erottaja (compact)
|
||||||
description: Splits one conveyor belt into two.
|
description: Erottaa hihnan kahteen hihnaan.
|
||||||
splitter-inverse:
|
splitter-inverse:
|
||||||
name: Splitter (compact)
|
name: Erottaja (compact)
|
||||||
description: Splits one conveyor belt into two.
|
description: Erottaa hihnan kahteen hihnaan.
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
name: Storage
|
name: Varasto
|
||||||
description: Stores excess items, up to a given capacity. Prioritizes the left
|
description: Varasotoi ylijäämätavarat tiettyyn kapasiteettiin asti. Priorisoi vasemman ulostulon
|
||||||
output and can be used as an overflow gate.
|
ja voidaan käyttää ylivuotoporttina.
|
||||||
wire_tunnel:
|
wire_tunnel:
|
||||||
default:
|
default:
|
||||||
name: Wire Crossing
|
name: Johdon ylitys
|
||||||
description: Allows to cross two wires without connecting them.
|
description: Antaa johdon ylittää toisen liittämättä niitä.
|
||||||
constant_signal:
|
constant_signal:
|
||||||
default:
|
default:
|
||||||
name: Constant Signal
|
name: Jatkuva signaali
|
||||||
description: Emits a constant signal, which can be either a shape, color or
|
description: Lähettää vakiosignaalin, joka voi olla muoto, väri, taikka binääriarvo (1 / 0).
|
||||||
boolean (1 / 0).
|
|
||||||
lever:
|
lever:
|
||||||
default:
|
default:
|
||||||
name: Switch
|
name: Kytkin
|
||||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
description: Voidaan kytkeä lähettämään binääriarvoa (1 / 0) johtotasolla,
|
||||||
which can then be used to control for example an item filter.
|
jota voidaan sitten käyttää esimerkiksi tavarasuodattimen ohjaukseen.
|
||||||
logic_gate:
|
logic_gate:
|
||||||
default:
|
default:
|
||||||
name: AND Gate
|
name: AND portti
|
||||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
description: Lähettää totuusarvon "1", jos molemmat sisääntulot ovat totta. (Totuus tarkoittaa,
|
||||||
color or boolean "1")
|
että muoto, väri tai totuusarvo "1")
|
||||||
not:
|
not:
|
||||||
name: NOT Gate
|
name: NOT portti
|
||||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
description: Lähettää totuusarvon "1", jos sisääntulot eivät ole totta.
|
||||||
shape, color or boolean "1")
|
(Totuus tarkoittaa, että muoto, väri tai totuusarvo "1")
|
||||||
xor:
|
xor:
|
||||||
name: XOR Gate
|
name: XOR portti
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
description: Lähettää totuusarvon "1", jos yksi sisääntuloista on totta, mutta kaikki eivät.
|
||||||
(Truthy means shape, color or boolean "1")
|
(Totuus tarkoittaa, että muoto, väri tai totuusarvo "1")
|
||||||
or:
|
or:
|
||||||
name: OR Gate
|
name: OR portti
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
description: Lähettää totuusarvon "1", jos yksi sisääntuloista on totta.
|
||||||
shape, color or boolean "1")
|
(Totuus tarkoittaa, että muoto, väri tai totuusarvo "1")
|
||||||
transistor:
|
transistor:
|
||||||
default:
|
default:
|
||||||
name: Transistor
|
name: Transistori
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
description: Lähettää pohjasignaalin eteenpäin, jos sivusisääntulo on totta.
|
||||||
color or "1").
|
(Totuus tarkoittaa, että muoto, väri tai totuusarvo "1")
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Transistor
|
name: Transistori
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
description: Lähettää pohjasignaalin eteenpäin, jos sivusisääntulo on totta.
|
||||||
color or "1").
|
(Totuus tarkoittaa, että muoto, väri tai totuusarvo "1")
|
||||||
filter:
|
filter:
|
||||||
default:
|
default:
|
||||||
name: Filter
|
name: Suodatin
|
||||||
description: Connect a signal to route all matching items to the top and the
|
description: Yhdistä signaali reitittääksesi kaikki vastaavat tavarat ylös,
|
||||||
remaining to the right. Can be controlled with boolean signals
|
ja jäljelle jäämät vasemmalle. Voidaan ohjata myös binääriarvoilla.
|
||||||
too.
|
|
||||||
display:
|
display:
|
||||||
default:
|
default:
|
||||||
name: Display
|
name: Näyttö
|
||||||
description: Connect a signal to show it on the display - It can be a shape,
|
description: Yhdistö signaali näyttääksesi sen näytöllä. Voi olla muoto,
|
||||||
color or boolean.
|
väri tai binääriarvo.
|
||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Belt Reader
|
name: Hihnanlukija
|
||||||
description: Allows to measure the average belt throughput. Outputs the last
|
description: Mittaa hihnan keskiarvosuorituskyky. Antaa viimeksi luetun
|
||||||
read item on the wires layer (once unlocked).
|
tavaran signaalin johtotasolla (kun saavutettu).
|
||||||
analyzer:
|
analyzer:
|
||||||
default:
|
default:
|
||||||
name: Shape Analyzer
|
name: Tutkija
|
||||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
description: Analysoi ylä oikean neljänneksen alimmasta tavaran tasosta ja
|
||||||
and returns its shape and color.
|
palauttaa sen muodon ja värin.
|
||||||
comparator:
|
comparator:
|
||||||
default:
|
default:
|
||||||
name: Compare
|
name: Vertain
|
||||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
description: Palauttaa binääriarvon "1", jos molemmat signaalit ovat täysin samat.
|
||||||
shapes, items and booleans.
|
Voi verrata värejä, tavaroita, ja binääriarvoja.
|
||||||
virtual_processor:
|
virtual_processor:
|
||||||
default:
|
default:
|
||||||
name: Virtual Cutter
|
name: Virtuaalileikkuri
|
||||||
description: Virtually cuts the shape into two halves.
|
description: Virtuaalisesti leikkaa tavara kahteen puoliskoon.
|
||||||
rotater:
|
rotater:
|
||||||
name: Virtual Rotater
|
name: Virtuaalikääntäjä Rotater
|
||||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
description: Virtuaalisesti käännä tavara, sekä myötäpäivään että vastapäivään.
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Virtual Unstacker
|
name: Virtuaalierottaja
|
||||||
description: Virtually extracts the topmost layer to the right output and the
|
description: Virtuaalisesti erota ylin taso oikeaan ulostuloon ja jäljelle jäävät
|
||||||
remaining ones to the left.
|
vasempaan ulostuloon.
|
||||||
stacker:
|
stacker:
|
||||||
name: Virtual Stacker
|
name: Virtuaaliyhdistäjä
|
||||||
description: Virtually stacks the right shape onto the left.
|
description: Virtuaalisesti yhdistä oikea tavara vasempaan.
|
||||||
painter:
|
painter:
|
||||||
name: Virtual Painter
|
name: Virtuaalimaalaaja
|
||||||
description: Virtually paints the shape from the bottom input with the shape on
|
description: Virtuaalisesti maalaa tavara alhaalta sisääntulosta oikean sisääntulon värillä.
|
||||||
the right input.
|
|
||||||
item_producer:
|
item_producer:
|
||||||
default:
|
default:
|
||||||
name: Item Producer
|
name: Item Producer
|
||||||
description: Available in sandbox mode only, outputs the given signal from the
|
description: Saatavilla vain hiekkalaatikkotilassa. Palauttaa
|
||||||
wires layer on the regular layer.
|
johtotasolla annetun signaalin normaaliin tasoon.
|
||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Muotojen Leikkaus
|
title: Muotojen Leikkaus
|
||||||
@ -703,7 +730,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -711,26 +739,25 @@ storyRewards:
|
|||||||
signal from the wires layer or not.<br><br> You can also pass in a
|
signal from the wires layer or not.<br><br> You can also pass in a
|
||||||
boolean signal (1 / 0) to entirely activate or disable it.
|
boolean signal (1 / 0) to entirely activate or disable it.
|
||||||
reward_demo_end:
|
reward_demo_end:
|
||||||
title: End of Demo
|
title: Kokeiluversion loppu!
|
||||||
desc: You have reached the end of the demo version!
|
desc: Olet läpäissyt kokeiluversion!
|
||||||
settings:
|
settings:
|
||||||
title: Asetukset
|
title: Asetukset
|
||||||
categories:
|
categories:
|
||||||
general: Yleinen
|
general: Yleinen
|
||||||
userInterface: Käyttöliittyma
|
userInterface: Käyttöliittymä
|
||||||
advanced: Kehittynyt
|
advanced: Lisäasetukset
|
||||||
performance: Performance
|
performance: Suorityskyky
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Kehitys
|
dev: Kehitys
|
||||||
staging: Näyttämö
|
staging: Testaus
|
||||||
prod: Tuotanto
|
prod: Tuotanto
|
||||||
buildDate: Rakennettu <at-date>
|
buildDate: Koottu <at-date>
|
||||||
labels:
|
labels:
|
||||||
uiScale:
|
uiScale:
|
||||||
title: Käyttöliittymän Koko
|
title: Käyttöliittymän koko
|
||||||
description: Muuttaa käyttöliittymän kokoa. Käyttöliittymä skaalataan silti
|
description: Muuttaa käyttöliittymän kokoa. Käyttöliittymä skaalataan silti
|
||||||
laitteen resoluution perusteella based on your device
|
laitteen resoluution perusteella, mutta tämä asetus määrittää skaalauksen määrän.
|
||||||
resolution, mutta tämä asetus määrittää skaalauksen määrän.
|
|
||||||
scales:
|
scales:
|
||||||
super_small: Erittäin pieni
|
super_small: Erittäin pieni
|
||||||
small: Pieni
|
small: Pieni
|
||||||
@ -738,7 +765,7 @@ settings:
|
|||||||
large: Iso
|
large: Iso
|
||||||
huge: Valtava
|
huge: Valtava
|
||||||
autosaveInterval:
|
autosaveInterval:
|
||||||
title: Automaattitallennuksen Aikaväli
|
title: Automaattitallennuksen aikaväli
|
||||||
description: Määrittää kuinka usein peli tallentaa automaattisesti. Voit myös
|
description: Määrittää kuinka usein peli tallentaa automaattisesti. Voit myös
|
||||||
poistaa automaattisen tallennuksen kokonaan käytöstä täällä.
|
poistaa automaattisen tallennuksen kokonaan käytöstä täällä.
|
||||||
intervals:
|
intervals:
|
||||||
@ -749,8 +776,8 @@ settings:
|
|||||||
twenty_minutes: 20 Minuutin välein
|
twenty_minutes: 20 Minuutin välein
|
||||||
disabled: Pois käytöstä
|
disabled: Pois käytöstä
|
||||||
scrollWheelSensitivity:
|
scrollWheelSensitivity:
|
||||||
title: Zoomausherkkyys
|
title: Suurennusherkkyys
|
||||||
description: Vaihtaa kuinka herkkä zoomi on (Joko hiiren rulla tai ohjauslevy).
|
description: Vaihtaa kuinka herkkä suurennus on (Joko hiiren rulla tai ohjauslevy).
|
||||||
sensitivity:
|
sensitivity:
|
||||||
super_slow: Erittäin hidas
|
super_slow: Erittäin hidas
|
||||||
slow: Hidas
|
slow: Hidas
|
||||||
@ -758,7 +785,7 @@ settings:
|
|||||||
fast: Nopea
|
fast: Nopea
|
||||||
super_fast: Erittäin nopea
|
super_fast: Erittäin nopea
|
||||||
movementSpeed:
|
movementSpeed:
|
||||||
title: Liikkumis nopeus
|
title: Liikkumisnopeus
|
||||||
description: Muuttaa kuinka nopeasti näkymä liikkuu kun käytetään näppäimistöä.
|
description: Muuttaa kuinka nopeasti näkymä liikkuu kun käytetään näppäimistöä.
|
||||||
speeds:
|
speeds:
|
||||||
super_slow: Erittäin hidas
|
super_slow: Erittäin hidas
|
||||||
@ -766,7 +793,7 @@ settings:
|
|||||||
regular: Normaali
|
regular: Normaali
|
||||||
fast: Nopea
|
fast: Nopea
|
||||||
super_fast: Erittäin nopea
|
super_fast: Erittäin nopea
|
||||||
extremely_fast: Hyper nopea
|
extremely_fast: Supernopea
|
||||||
language:
|
language:
|
||||||
title: Kieli
|
title: Kieli
|
||||||
description: Vaihda kieltä. Kaikki käännökset ovat käyttäjien tekemiä ja
|
description: Vaihda kieltä. Kaikki käännökset ovat käyttäjien tekemiä ja
|
||||||
@ -780,19 +807,19 @@ settings:
|
|||||||
description: On suositeltava pelata tätä peliä kokonäytön tilassa saadaksesi
|
description: On suositeltava pelata tätä peliä kokonäytön tilassa saadaksesi
|
||||||
parhaan kokemuksen. Saatavilla vain itsenäisessä versiossa.
|
parhaan kokemuksen. Saatavilla vain itsenäisessä versiossa.
|
||||||
soundsMuted:
|
soundsMuted:
|
||||||
title: Mykistä Äänet
|
title: Mykistä äänet
|
||||||
description: Jos käytössä, mykistää kaikki ääniefektit.
|
description: Jos käytössä, mykistää kaikki ääniefektit.
|
||||||
musicMuted:
|
musicMuted:
|
||||||
title: Mykistä Musiikki
|
title: Mykistä musiikki
|
||||||
description: Jos käytössä, mykistää musiikin.
|
description: Jos käytössä, mykistää musiikin.
|
||||||
theme:
|
theme:
|
||||||
title: Pelin Teema
|
title: Pelin teema
|
||||||
description: Valitse pelin teema (vaalea / tumma).
|
description: Valitse pelin teema (vaalea / tumma).
|
||||||
themes:
|
themes:
|
||||||
dark: Tumma
|
dark: Tumma
|
||||||
light: Kirkas
|
light: Vaalea
|
||||||
refreshRate:
|
refreshRate:
|
||||||
title: Simulaatiotavoite
|
title: Virkistystaajuus
|
||||||
description: Jos sinulla on 144hz näyttö, muuta virkistystaajuus täällä jotta
|
description: Jos sinulla on 144hz näyttö, muuta virkistystaajuus täällä jotta
|
||||||
pelin simulaatio toimii oikein isommilla virkistystaajuuksilla.
|
pelin simulaatio toimii oikein isommilla virkistystaajuuksilla.
|
||||||
Tämä voi laskea FPS nopeutta, jos tietokoneesi on liian hidas.
|
Tämä voi laskea FPS nopeutta, jos tietokoneesi on liian hidas.
|
||||||
@ -802,18 +829,18 @@ settings:
|
|||||||
jälkeen kunnes peruutat sen. Tämä vastaa SHIFT:in pitämistä
|
jälkeen kunnes peruutat sen. Tämä vastaa SHIFT:in pitämistä
|
||||||
pohjassa ikuisesti.
|
pohjassa ikuisesti.
|
||||||
offerHints:
|
offerHints:
|
||||||
title: Vihjeet & Oppaat
|
title: Vihjeet & oppaat
|
||||||
description: Tarjoaa pelaamisen aikana vihjeitä ja oppaita. Myös piilottaa
|
description: Tarjoaa pelaamisen aikana vihjeitä ja oppaita. Myös piilottaa
|
||||||
tietyt käyttöliittymäelementit tietyn tason mukaan, jotta
|
tietyt käyttöliittymäelementit tietyn tason mukaan, jotta
|
||||||
alkuunpääseminen olisi helpompaa.
|
alkuunpääseminen olisi helpompaa.
|
||||||
enableTunnelSmartplace:
|
enableTunnelSmartplace:
|
||||||
title: Älykkäät Tunnelit
|
title: Älykkäät tunnelit
|
||||||
description: Kun käytössä, tunnelin sijoittaminen automaattisesti poistaa
|
description: Kun käytössä, tunnelin sijoittaminen automaattisesti poistaa
|
||||||
tarpeettomat liukuhihnat. Tämä myös ottaa käyttöön tunnelien
|
tarpeettomat liukuhihnat. Tämä myös ottaa käyttöön tunnelien
|
||||||
raahaamisen ja ylimääräiset tunnelit poistetaan.
|
raahaamisen ja ylimääräiset tunnelit poistetaan.
|
||||||
vignette:
|
vignette:
|
||||||
title: Vignetti
|
title: Vinjetointi
|
||||||
description: Ottaa käyttöön vignetin, joka tummentaa näytön kulmia ja tekee
|
description: Ottaa käyttöön vinjetoinnin, joka tummentaa näytön kulmia ja tekee
|
||||||
tekstin lukemisesta helpompaa.
|
tekstin lukemisesta helpompaa.
|
||||||
rotationByBuilding:
|
rotationByBuilding:
|
||||||
title: Kiertäminen rakennustyypin mukaan
|
title: Kiertäminen rakennustyypin mukaan
|
||||||
@ -821,26 +848,26 @@ settings:
|
|||||||
yksilöllisesti. Tämä voi olla mukavampi vaihtoehto jos usein
|
yksilöllisesti. Tämä voi olla mukavampi vaihtoehto jos usein
|
||||||
sijoitat eri rakennustyyppejä.
|
sijoitat eri rakennustyyppejä.
|
||||||
compactBuildingInfo:
|
compactBuildingInfo:
|
||||||
title: Kompaktit Rakennusten Tiedot
|
title: Kompaktit rakennusten tiedot
|
||||||
description: Lyhentää rakennusten tietolaatikoita näyttämällä vain niiden
|
description: Lyhentää rakennusten tietolaatikoita näyttämällä vain niiden
|
||||||
suhteet. Muuten rakennuksen kuvaus ja kuva näytetään.
|
suhteet. Muuten rakennuksen kuvaus ja kuva näytetään.
|
||||||
disableCutDeleteWarnings:
|
disableCutDeleteWarnings:
|
||||||
title: Poista Leikkaus/Poisto Varoitukset
|
title: Poista leikkaus/poisto -varoitukset
|
||||||
description: Poista varoitusikkunat jotka ilmestyy kun leikkaat/poistat enemmän
|
description: Poista varoitusikkunat jotka ilmestyy kun leikkaat/poistat enemmän
|
||||||
kuin 100 entiteettiä
|
kuin 100 entiteettiä
|
||||||
soundVolume:
|
soundVolume:
|
||||||
title: Sound Volume
|
title: Efektien äänenvoimakkuus
|
||||||
description: Set the volume for sound effects
|
description: Aseta äänenvoimakkuus efekteille
|
||||||
musicVolume:
|
musicVolume:
|
||||||
title: Music Volume
|
title: Musiikin äänenvoimakkuus
|
||||||
description: Set the volume for music
|
description: Aseta äänenvoimakkuus musiikille
|
||||||
lowQualityMapResources:
|
lowQualityMapResources:
|
||||||
title: Low Quality Map Resources
|
title: Low Quality Map Resources
|
||||||
description: Simplifies the rendering of resources on the map when zoomed in to
|
description: Simplifies the rendering of resources on the map when zoomed in to
|
||||||
improve performance. It even looks cleaner, so be sure to try it
|
improve performance. It even looks cleaner, so be sure to try it
|
||||||
out!
|
out!
|
||||||
disableTileGrid:
|
disableTileGrid:
|
||||||
title: Disable Grid
|
title: Poista ruudukko
|
||||||
description: Disabling the tile grid can help with the performance. This also
|
description: Disabling the tile grid can help with the performance. This also
|
||||||
makes the game look cleaner!
|
makes the game look cleaner!
|
||||||
clearCursorOnDeleteWhilePlacing:
|
clearCursorOnDeleteWhilePlacing:
|
||||||
@ -850,13 +877,13 @@ settings:
|
|||||||
you can delete buildings by right-clicking while placing a
|
you can delete buildings by right-clicking while placing a
|
||||||
building.
|
building.
|
||||||
lowQualityTextures:
|
lowQualityTextures:
|
||||||
title: Low quality textures (Ugly)
|
title: Alhaisen tason tekstuurit (ruma)
|
||||||
description: Uses low quality textures to save performance. This will make the
|
description: Käyttää alhaisen tason tekstuureja tehojen säästämiseksi. Tämä
|
||||||
game look very ugly!
|
muutta pelin rumaksi!
|
||||||
displayChunkBorders:
|
displayChunkBorders:
|
||||||
title: Display Chunk Borders
|
title: Näytä kimpaleiden reunus Display Chunk Borders
|
||||||
description: The game is divided into chunks of 16x16 tiles, if this setting is
|
description: Pel on jaettu 16x16 kimpaleisiin. Jos tämä asetus on käytössä,
|
||||||
enabled the borders of each chunk are displayed.
|
reunat jokaiselle kimpaleelle näytetään.
|
||||||
pickMinerOnPatch:
|
pickMinerOnPatch:
|
||||||
title: Pick miner on resource patch
|
title: Pick miner on resource patch
|
||||||
description: Enabled by default, selects the miner if you use the pipette when
|
description: Enabled by default, selects the miner if you use the pipette when
|
||||||
@ -874,18 +901,22 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Pikanäppäimet
|
title: Pikanäppäimet
|
||||||
hint: "Tip: Muista käyttää CTRL, VAIHTO ja ALT! Ne ottavat käyttöön erilaisia
|
hint: "Tip: Muista käyttää CTRL, SHIFT ja ALT! Ne ottavat käyttöön erilaisia
|
||||||
sijoitteluvaihtoehtoja."
|
sijoitteluvaihtoehtoja."
|
||||||
resetKeybindings: Nollaa Pikanäppäimet
|
resetKeybindings: Nollaa pikanäppäimet
|
||||||
categoryLabels:
|
categoryLabels:
|
||||||
general: Sovellus
|
general: Sovellus
|
||||||
ingame: Peli
|
ingame: Peli
|
||||||
navigation: Navigointi
|
navigation: Navigointi
|
||||||
placement: Sijoitus
|
placement: Sijoitus
|
||||||
massSelect: Massa Valinta
|
massSelect: Massavalinta
|
||||||
buildings: Rakennus Pikanäppäimet
|
buildings: Rakennus Pikanäppäimet
|
||||||
placementModifiers: Sijoittelu Muokkaajat
|
placementModifiers: Sijoittelu Muokkaajat
|
||||||
mappings:
|
mappings:
|
||||||
@ -955,9 +986,9 @@ about:
|
|||||||
href="https://github.com/tobspr" target="_blank">Tobias Springer</a>
|
href="https://github.com/tobspr" target="_blank">Tobias Springer</a>
|
||||||
(tämä on minä).<br><br>
|
(tämä on minä).<br><br>
|
||||||
|
|
||||||
Jos haluat osallistua, tarkista <a href="<githublink>" target="_blank">shapez.io githubissa</a>.<br><br>
|
Jos haluat osallistua, tarkista <a href="<githublink>" target="_blank">shapez.io GitHubissa</a>.<br><br>
|
||||||
|
|
||||||
Tämä peli ei olisi ollut mahdollinen ilman suurta Discord yhteisöä pelini ympärillä - Sinun kannattaisi liittyä <a href="<discordlink>" target="_blank">Discord palvelimelleni</a>!<br><br>
|
Tämä peli ei olisi ollut mahdollista ilman suurta Discord -yhteisöä pelini ympärillä - Sinun kannattaisi liittyä <a href="<discordlink>" target="_blank">Discord palvelimelleni</a>!<br><br>
|
||||||
|
|
||||||
Ääniraidan on tehnyt <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Hän on mahtava.<br><br>
|
Ääniraidan on tehnyt <a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a> - Hän on mahtava.<br><br>
|
||||||
|
|
||||||
@ -983,7 +1014,7 @@ tips:
|
|||||||
- Serial execution is more efficient than parallel.
|
- Serial execution is more efficient than parallel.
|
||||||
- You will unlock more variants of buildings later in the game!
|
- You will unlock more variants of buildings later in the game!
|
||||||
- You can use <b>T</b> to switch between different variants.
|
- You can use <b>T</b> to switch between different variants.
|
||||||
- Symmetry is key!
|
- Symmetria on keskeistä!
|
||||||
- You can weave different tiers of tunnels.
|
- You can weave different tiers of tunnels.
|
||||||
- Try to build compact factories - it will pay out!
|
- Try to build compact factories - it will pay out!
|
||||||
- The painter has a mirrored variant which you can select with <b>T</b>
|
- The painter has a mirrored variant which you can select with <b>T</b>
|
||||||
@ -994,12 +1025,12 @@ tips:
|
|||||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
||||||
long lines of belts easily.
|
long lines of belts easily.
|
||||||
- Cutters always cut vertically, regardless of their orientation.
|
- Cutters always cut vertically, regardless of their orientation.
|
||||||
- To get white mix all three colors.
|
- Sekoita kolmea väriä saadaksesi valkoista.
|
||||||
- The storage buffer priorities the first output.
|
- The storage buffer priorities the first output.
|
||||||
- Invest time to build repeatable designs - it's worth it!
|
- Invest time to build repeatable designs - it's worth it!
|
||||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
- Holding <b>CTRL</b> allows to place multiple buildings.
|
||||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
||||||
- Efficiency is key!
|
- Tehokkuus on keskeistä!
|
||||||
- Shape patches that are further away from the hub are more complex.
|
- Shape patches that are further away from the hub are more complex.
|
||||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
- Machines have a limited speed, divide them up for maximum efficiency.
|
||||||
- Use balancers to maximize your efficiency.
|
- Use balancers to maximize your efficiency.
|
||||||
@ -1030,6 +1061,6 @@ tips:
|
|||||||
- This game has a lot of settings, be sure to check them out!
|
- This game has a lot of settings, be sure to check them out!
|
||||||
- The marker to your hub has a small compass to indicate its direction!
|
- The marker to your hub has a small compass to indicate its direction!
|
||||||
- To clear belts, cut the area and then paste it at the same location.
|
- To clear belts, cut the area and then paste it at the same location.
|
||||||
- Press F4 to show your FPS and Tick Rate.
|
- Paina F4 nähdäksesi FPS laskurin ja virkistystaajuuden.
|
||||||
- Press F4 twice to show the tile of your mouse and camera.
|
- Press F4 twice to show the tile of your mouse and camera.
|
||||||
- You can click a pinned shape on the left side to unpin it.
|
- You can click a pinned shape on the left side to unpin it.
|
||||||
|
|||||||
@ -198,6 +198,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Kretanje
|
moveMap: Kretanje
|
||||||
@ -306,6 +314,30 @@ ingame:
|
|||||||
traka će ubrzati napredak do cilja.<br><br>Savjet: Drži
|
traka će ubrzati napredak do cilja.<br><br>Savjet: Drži
|
||||||
<strong>SHIFT</strong> za postavljanje više rudara istovremeno,
|
<strong>SHIFT</strong> za postavljanje više rudara istovremeno,
|
||||||
a pritisni <strong>R</strong> za rotaciju."
|
a pritisni <strong>R</strong> za rotaciju."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -691,7 +723,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -859,6 +892,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Tipka
|
title: Tipka
|
||||||
|
|||||||
@ -204,6 +204,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Mozgatás
|
moveMap: Mozgatás
|
||||||
@ -312,6 +320,30 @@ ingame:
|
|||||||
futószalagot, hogy hamarabb elérd a célt.<br><br>Tipp: Tartsd
|
futószalagot, hogy hamarabb elérd a célt.<br><br>Tipp: Tartsd
|
||||||
lenyomva a <strong>SHIFT</strong>-et, hogy egyszerre több bányát
|
lenyomva a <strong>SHIFT</strong>-et, hogy egyszerre több bányát
|
||||||
helyezz le, és nyomj <strong>R</strong>-t a forgatáshoz."
|
helyezz le, és nyomj <strong>R</strong>-t a forgatáshoz."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -705,7 +737,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -875,6 +908,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
|
|||||||
@ -22,7 +22,7 @@ steamPage:
|
|||||||
- <b>L'aggiornamento dei Cavi</b> per una dimensione completamente nuova!
|
- <b>L'aggiornamento dei Cavi</b> per una dimensione completamente nuova!
|
||||||
- <b>Modalità scura</b>!
|
- <b>Modalità scura</b>!
|
||||||
- Salvataggi illimitati
|
- Salvataggi illimitati
|
||||||
- Segnapunti illimitati
|
- Etichette illimitate
|
||||||
- Mi sostieni! ❤️
|
- Mi sostieni! ❤️
|
||||||
title_future: Contenuti pianificati
|
title_future: Contenuti pianificati
|
||||||
planned:
|
planned:
|
||||||
@ -82,8 +82,8 @@ demoBanners:
|
|||||||
title: Versione Demo
|
title: Versione Demo
|
||||||
intro: Ottieni la versione completa per sbloccare tutte le funzioni!
|
intro: Ottieni la versione completa per sbloccare tutte le funzioni!
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: Play
|
play: Gioca
|
||||||
changelog: Changelog
|
changelog: Registro modifiche
|
||||||
importSavegame: Importa
|
importSavegame: Importa
|
||||||
openSourceHint: Questo gioco è open source!
|
openSourceHint: Questo gioco è open source!
|
||||||
discordLink: Server ufficiale Discord
|
discordLink: Server ufficiale Discord
|
||||||
@ -121,9 +121,9 @@ dialogs:
|
|||||||
text: "Impossibile caricare il salvataggio:"
|
text: "Impossibile caricare il salvataggio:"
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: Conferma eliminazione
|
title: Conferma eliminazione
|
||||||
text: Are you sure you want to delete the following game?<br><br>
|
text: Sei sicuro di voler eliminare la partita seguente?<br><br>
|
||||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
'<savegameName>' al livello <savegameLevel><br><br> Da qui in poi
|
||||||
undone!
|
non si può più tornare indietro!
|
||||||
savegameDeletionError:
|
savegameDeletionError:
|
||||||
title: Impossibile eliminare
|
title: Impossibile eliminare
|
||||||
text: "Impossibile eliminare il salvataggio:"
|
text: "Impossibile eliminare il salvataggio:"
|
||||||
@ -177,13 +177,14 @@ dialogs:
|
|||||||
class='keybinding'>ALT</code>: Inverti l'orientamento dei nastri
|
class='keybinding'>ALT</code>: Inverti l'orientamento dei nastri
|
||||||
trasportatori.<br>"
|
trasportatori.<br>"
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Nuovo segnapunto
|
title: Nuova etichetta
|
||||||
desc: Give it a meaningful name, you can also include a <strong>short
|
desc: Dagli un nome significativo, puoi anche inserire un
|
||||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
<strong>codice</strong> di una forma (Che puoi generare
|
||||||
titleEdit: Modifica segnapunto
|
<link>qui</link>)
|
||||||
|
titleEdit: Modifica etichetta
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: Puoi creare solo due segnapunti personalizzati nella Demo. Ottieni la
|
desc: Puoi creare solo due etichette personalizzate nella Demo. Ottieni la
|
||||||
versione completa per avere segnapunti personalizzati illimitati!
|
versione completa per avere etichette personalizzate illimitati!
|
||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
title: Conferma taglio
|
title: Conferma taglio
|
||||||
desc: Stai tagliando molte strutture (<count> per essere precisi)! Sei sicuro di
|
desc: Stai tagliando molte strutture (<count> per essere precisi)! Sei sicuro di
|
||||||
@ -205,6 +206,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rinomina salvataggio.
|
title: Rinomina salvataggio.
|
||||||
desc: Qui puoi cambiare il nome del salvataggio.
|
desc: Qui puoi cambiare il nome del salvataggio.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Sposta
|
moveMap: Sposta
|
||||||
@ -234,7 +243,7 @@ ingame:
|
|||||||
range: Raggio
|
range: Raggio
|
||||||
storage: Spazio
|
storage: Spazio
|
||||||
oneItemPerSecond: 1 oggetto / secondo
|
oneItemPerSecond: 1 oggetto / secondo
|
||||||
itemsPerSecond: <x> oggetti / s
|
itemsPerSecond: <x> oggetti / secondo
|
||||||
itemsPerSecondDouble: (x2)
|
itemsPerSecondDouble: (x2)
|
||||||
tiles: <x> caselle
|
tiles: <x> caselle
|
||||||
levelCompleteNotification:
|
levelCompleteNotification:
|
||||||
@ -245,7 +254,7 @@ ingame:
|
|||||||
notifications:
|
notifications:
|
||||||
newUpgrade: È disponibile un nuovo aggiornamento!
|
newUpgrade: È disponibile un nuovo aggiornamento!
|
||||||
gameSaved: Partita salvata.
|
gameSaved: Partita salvata.
|
||||||
freeplayLevelComplete: Level <level> has been completed!
|
freeplayLevelComplete: Il livello <level> è stato completato!
|
||||||
shop:
|
shop:
|
||||||
title: Miglioramenti
|
title: Miglioramenti
|
||||||
buttonUnlock: Sblocca
|
buttonUnlock: Sblocca
|
||||||
@ -256,7 +265,7 @@ ingame:
|
|||||||
dataSources:
|
dataSources:
|
||||||
stored:
|
stored:
|
||||||
title: Immagazzinate
|
title: Immagazzinate
|
||||||
description: Mostra il numero di forme immagizzinate nell'edificio centrale.
|
description: Mostra il numero di forme immagazzinate nell'Edificio centrale.
|
||||||
produced:
|
produced:
|
||||||
title: Prodotte
|
title: Prodotte
|
||||||
description: Mostra tutte le forme prodotte dalla tua fabbrica, inclusi i
|
description: Mostra tutte le forme prodotte dalla tua fabbrica, inclusi i
|
||||||
@ -280,19 +289,19 @@ ingame:
|
|||||||
blueprintPlacer:
|
blueprintPlacer:
|
||||||
cost: Costo
|
cost: Costo
|
||||||
waypoints:
|
waypoints:
|
||||||
waypoints: Segnapunti
|
waypoints: Punti di interesse
|
||||||
hub: HUB
|
hub: HUB
|
||||||
description: Clic sinistro su un segnapunto per raggiungerlo, clic destro per
|
description: Clic sinistro su un etichetta per raggiungerla, clic destro per
|
||||||
cancellarlo. <br><br>Premi <keybinding> per creare un segnapunto
|
cancellarla. <br><br>Premi <keybinding> per creare un etichetta
|
||||||
dalla visuale corrente, oppure <strong>click destro</strong> per
|
dalla visuale corrente, oppure <strong>click destro</strong> per
|
||||||
creare un segnapunto nella posizione selezionata.
|
creare un etichetta nella posizione selezionata.
|
||||||
creationSuccessNotification: Il segnapunto è stato creato.
|
creationSuccessNotification: L'etichetta è stata creata.
|
||||||
interactiveTutorial:
|
interactiveTutorial:
|
||||||
title: Tutorial
|
title: Tutorial
|
||||||
hints:
|
hints:
|
||||||
1_1_extractor: Posiziona un <strong>estrattore</strong> sopra una <strong>forma
|
1_1_extractor: Posiziona un <strong>estrattore</strong> sopra una <strong>forma
|
||||||
circolare</strong> per estrarla!
|
circolare</strong> per estrarla!
|
||||||
1_2_conveyor: "Connetti l'estrattore all'Hub centrale utilizzando un
|
1_2_conveyor: "Connetti l'estrattore all'Edificio centrale utilizzando un
|
||||||
<strong>nastro trasportatore</strong>!<br><br>Suggerimento:
|
<strong>nastro trasportatore</strong>!<br><br>Suggerimento:
|
||||||
<strong>Clicca e trascina</strong> il nastro con il mouse!"
|
<strong>Clicca e trascina</strong> il nastro con il mouse!"
|
||||||
1_3_expand: "Questo <strong>NON</strong> è un idle game! Costruisci più
|
1_3_expand: "Questo <strong>NON</strong> è un idle game! Costruisci più
|
||||||
@ -300,6 +309,30 @@ ingame:
|
|||||||
velocemente.<br><br>Suggerimento: Tieni premuto
|
velocemente.<br><br>Suggerimento: Tieni premuto
|
||||||
<strong>MAIUSC</strong> per piazzare estrattori multipli, e usa
|
<strong>MAIUSC</strong> per piazzare estrattori multipli, e usa
|
||||||
<strong>R</strong> per ruotarli."
|
<strong>R</strong> per ruotarli."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: Rosso
|
red: Rosso
|
||||||
green: Verde
|
green: Verde
|
||||||
@ -308,7 +341,7 @@ ingame:
|
|||||||
purple: Magenta
|
purple: Magenta
|
||||||
cyan: Azzurro
|
cyan: Azzurro
|
||||||
white: Bianco
|
white: Bianco
|
||||||
uncolored: No colore
|
uncolored: Senza colore
|
||||||
black: Nero
|
black: Nero
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: Strati
|
title: Strati
|
||||||
@ -320,7 +353,7 @@ ingame:
|
|||||||
limited_items: Limitato a <max_throughput>
|
limited_items: Limitato a <max_throughput>
|
||||||
watermark:
|
watermark:
|
||||||
title: Versione demo
|
title: Versione demo
|
||||||
desc: Clicca qui per vedere i vantaggi della versione Steam!
|
desc: Clicca qui per vedere i vantaggi della versione Completa!
|
||||||
get_on_steam: Ottieni su Steam
|
get_on_steam: Ottieni su Steam
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: Ottieni la versione completa!
|
title: Ottieni la versione completa!
|
||||||
@ -339,7 +372,7 @@ ingame:
|
|||||||
title: 20 gradi di miglioramenti
|
title: 20 gradi di miglioramenti
|
||||||
desc: Questa demo ne ha solo 5!
|
desc: Questa demo ne ha solo 5!
|
||||||
markers:
|
markers:
|
||||||
title: ∞ segnapunti
|
title: ∞ etichette
|
||||||
desc: Non perderti nella tua fabbrica!
|
desc: Non perderti nella tua fabbrica!
|
||||||
wires:
|
wires:
|
||||||
title: Cavi
|
title: Cavi
|
||||||
@ -367,43 +400,43 @@ buildings:
|
|||||||
belt:
|
belt:
|
||||||
default:
|
default:
|
||||||
name: Nastro Trasportatore
|
name: Nastro Trasportatore
|
||||||
description: Trasporta oggetti, clicca e trascina per posizionare in sequenza.
|
description: Trasporta oggetti, clicca e trascina per posizionarli in sequenza.
|
||||||
miner:
|
miner:
|
||||||
default:
|
default:
|
||||||
name: Estrattore
|
name: Estrattore
|
||||||
description: Posiziona sopra una forma o un colore per estrarlo.
|
description: Posizionalo sopra una forma o un colore per estrarlo.
|
||||||
chainable:
|
chainable:
|
||||||
name: Estrattore (Catena)
|
name: Estrattore (Catena)
|
||||||
description: Posiziona sopra una forma o un colore per estrarlo. Puoi combinarlo
|
description: Posizionalo sopra una forma o un colore per estrarlo. Puoi
|
||||||
con altri estrattori.
|
combinarlo con altri estrattori.
|
||||||
underground_belt:
|
underground_belt:
|
||||||
default:
|
default:
|
||||||
name: Tunnel
|
name: Tunnel
|
||||||
description: Permette di far passare delle risorse sotto a costruzioni e nastri
|
description: Permette di far passare le risorse sotto alle costruzioni e ai
|
||||||
trasportatori.
|
nastri trasportatori.
|
||||||
tier2:
|
tier2:
|
||||||
name: Tunnel Grado II
|
name: Tunnel Grado II
|
||||||
description: Permette di far passare delle risorse sotto a costruzioni e nastri
|
description: Permette di far passare le risorse sotto alle costruzioni e ai
|
||||||
trasportatori.
|
nastri trasportatori.
|
||||||
cutter:
|
cutter:
|
||||||
default:
|
default:
|
||||||
name: Tagliatrice
|
name: Taglierino
|
||||||
description: Taglia le forme verticalmente e restituisce le metà destra e
|
description: Taglia le forme verticalmente e restituisce le due metà a destra e
|
||||||
sinistra. <strong>Se usi solo una parte, distruggi l'altra o la
|
a sinistra. <strong>Se usi solo una parte, distruggi l'altra o
|
||||||
macchina si fermerà!</strong>
|
la macchina si fermerà!</strong>
|
||||||
quad:
|
quad:
|
||||||
name: Tagliatrice (4x)
|
name: Taglierino (4x)
|
||||||
description: Taglia le forme in quattro parti. <strong>Se usi solo una parte,
|
description: Taglia le forme in quattro parti. <strong>Se usi meno di quattro
|
||||||
distruggi le altre o la macchina si fermerà!</strong>
|
parti, distruggi le altre o la macchina si fermerà!</strong>
|
||||||
rotater:
|
rotater:
|
||||||
default:
|
default:
|
||||||
name: Ruotatrice
|
name: Ruotatore
|
||||||
description: Ruota le forme di 90 gradi in senso orario.
|
description: Ruota le forme di 90 gradi in senso orario.
|
||||||
ccw:
|
ccw:
|
||||||
name: Ruotatrice (Ant.)
|
name: Ruotatore (Ant.)
|
||||||
description: Ruota le forme di 90 gradi in senso antiorario.
|
description: Ruota le forme di 90 gradi in senso antiorario.
|
||||||
rotate180:
|
rotate180:
|
||||||
name: Ruotatrice (180)
|
name: Ruotatore (180°)
|
||||||
description: Ruota le forme di 180 gradi.
|
description: Ruota le forme di 180 gradi.
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -412,26 +445,26 @@ buildings:
|
|||||||
uniti, l'oggetto destro è posizionato sopra il sinstro.
|
uniti, l'oggetto destro è posizionato sopra il sinstro.
|
||||||
mixer:
|
mixer:
|
||||||
default:
|
default:
|
||||||
name: Mixer Colori
|
name: Miscelatore di vernice
|
||||||
description: Mescola due colori mediante sintesi additiva.
|
description: Mescola due colori mediante sintesi additiva.
|
||||||
painter:
|
painter:
|
||||||
default:
|
default:
|
||||||
name: Verniciatrice
|
name: Verniciatore
|
||||||
description: Colora l'intera forma dall'ingresso sinistro con il colore
|
description: Colora l'intera forma dall'ingresso sinistro con il colore
|
||||||
dall'ingresso destro.
|
dall'ingresso superiore.
|
||||||
double:
|
double:
|
||||||
name: Verniciatrice (2x)
|
name: Verniciatore (2x)
|
||||||
description: Colora le forme dagli ingressi sinistri con il colore dall'ingresso
|
description: Colora le forme dagli ingressi sinistri con il colore dall'ingresso
|
||||||
destro.
|
superiore.
|
||||||
quad:
|
quad:
|
||||||
name: Verniciatrice (4x)
|
name: Verniciatore (4x)
|
||||||
description: Allows you to color each quadrant of the shape individually. Only
|
description: Ti permette di colorare ogni quadrante della forma individualmente.
|
||||||
slots with a <strong>truthy signal</strong> on the wires layer
|
Solo gli spazi con un <strong>Vero</strong> sul livello
|
||||||
will be painted!
|
elettrico saranno colorati!
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Verniciatrice
|
name: Verniciatore
|
||||||
description: Colora l'intera forma dall'ingresso sinistro con il colore
|
description: Colora l'intera forma dall'ingresso sinistro con il colore
|
||||||
dall'ingresso destro.
|
dall'ingresso inferiore.
|
||||||
trash:
|
trash:
|
||||||
default:
|
default:
|
||||||
name: Cestino
|
name: Cestino
|
||||||
@ -452,7 +485,7 @@ buildings:
|
|||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
name: Bilanciatore
|
name: Bilanciatore
|
||||||
description: Multifunzionale, distribuisce equamente gli ogetti in ingresso tra
|
description: Multifunzione, distribuisce equamente gli oggetti in ingresso tra
|
||||||
tutte le uscite.
|
tutte le uscite.
|
||||||
merger:
|
merger:
|
||||||
name: Aggregatore (compatto)
|
name: Aggregatore (compatto)
|
||||||
@ -468,13 +501,13 @@ buildings:
|
|||||||
description: Divide un nastro in due.
|
description: Divide un nastro in due.
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
name: Stoccaggio
|
name: Magazzino
|
||||||
description: Immagazzina gli oggetti in eccesso, fino ad una capacità massima.
|
description: Immagazzina gli oggetti in eccesso, fino ad una capacità massima.
|
||||||
Prioritizza l'uscita sinistra e può quindi essere usato per
|
Dà priorità all'uscita sinistra e può quindi essere usato per
|
||||||
gestire le eccedenze.
|
gestire le eccedenze.
|
||||||
wire_tunnel:
|
wire_tunnel:
|
||||||
default:
|
default:
|
||||||
name: Incrocio cavi
|
name: Incrocio fra cavi
|
||||||
description: Consente a due cavi di attraversarsi senza connettersi.
|
description: Consente a due cavi di attraversarsi senza connettersi.
|
||||||
constant_signal:
|
constant_signal:
|
||||||
default:
|
default:
|
||||||
@ -483,15 +516,15 @@ buildings:
|
|||||||
un booleano (1 / 0).
|
un booleano (1 / 0).
|
||||||
lever:
|
lever:
|
||||||
default:
|
default:
|
||||||
name: Bottone
|
name: Interruttore
|
||||||
description: Può essere azionato per emettere un segnale booleano (1 / 0) nel
|
description: Può essere azionato per emettere un segnale booleano (1 / 0) nel
|
||||||
livello dei cavi, che può essere usato per controllare, per
|
livello elettrico, che può essere usato per controllare, per
|
||||||
esempio, un filtro.
|
esempio, un filtro.
|
||||||
logic_gate:
|
logic_gate:
|
||||||
default:
|
default:
|
||||||
name: Porta AND
|
name: Porta AND
|
||||||
description: Emette un "1" booleano se entrambi gli ingressi sono veri. (Vero
|
description: Emette un "1" booleano se entrambi gli ingressi sono veri. (Vero
|
||||||
significa forma, colore o "1" boolean)
|
significa forma, colore o "1" booleano)
|
||||||
not:
|
not:
|
||||||
name: Porta NOT
|
name: Porta NOT
|
||||||
description: Emette un "1" booleano se l'ingresso è falso. (Vero significa
|
description: Emette un "1" booleano se l'ingresso è falso. (Vero significa
|
||||||
@ -506,11 +539,11 @@ buildings:
|
|||||||
significa forma, colore o "1" booleano)
|
significa forma, colore o "1" booleano)
|
||||||
transistor:
|
transistor:
|
||||||
default:
|
default:
|
||||||
name: Transistor
|
name: Transistore
|
||||||
description: Inoltra il segnale dall'ingresso inferiore se l'ingresso laterale è
|
description: Inoltra il segnale dall'ingresso inferiore se l'ingresso laterale è
|
||||||
vero (una forma, un colore o "1").
|
vero (una forma, un colore o "1").
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Transistor
|
name: Transistore
|
||||||
description: Inoltra il segnale dall'ingresso inferiore se l'ingresso laterale è
|
description: Inoltra il segnale dall'ingresso inferiore se l'ingresso laterale è
|
||||||
vero (una forma, un colore o "1").
|
vero (una forma, un colore o "1").
|
||||||
filter:
|
filter:
|
||||||
@ -542,105 +575,107 @@ buildings:
|
|||||||
comparare forme, colori e booleani.
|
comparare forme, colori e booleani.
|
||||||
virtual_processor:
|
virtual_processor:
|
||||||
default:
|
default:
|
||||||
name: Tagliatrice virtuale
|
name: Taglierino virtuale
|
||||||
description: Taglia virtualmente la forma in due metà.
|
description: Taglia virtualmente la forma in due metà.
|
||||||
rotater:
|
rotater:
|
||||||
name: Ruotatrice virtuale
|
name: Ruotatore virtuale
|
||||||
description: Ruota virtualmente la forma, sia in senso orario che antiorario.
|
description: Ruota virtualmente la forma, sia in senso orario sia antiorario.
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Disimpilatrice virtuale
|
name: Disimpilatrice virtuale
|
||||||
description: Estrae virtualmente lo strato più alto e lo emette a destra, i
|
description: Estrae virtualmente lo strato più alto e lo emette a destra, i
|
||||||
restanti sono emessi a sinistra.
|
restanti sono emessi a sinistra.
|
||||||
stacker:
|
stacker:
|
||||||
name: Impilatrice virtuale
|
name: Impilatrice virtuale
|
||||||
description: Impila visrtualmente la forma destra sulla sinistra.
|
description: Impila virtualmente la forma destra sulla sinistra.
|
||||||
painter:
|
painter:
|
||||||
name: Verniciatrice virtuale
|
name: Verniciatore virtuale
|
||||||
description: Vernicia virtualmente la forma dall'ingresso inferiore con il
|
description: Vernicia virtualmente la forma dall'ingresso inferiore con il
|
||||||
colore dall'ingresso destro.
|
colore dall'ingresso destro.
|
||||||
item_producer:
|
item_producer:
|
||||||
default:
|
default:
|
||||||
name: Generatore di oggetti
|
name: Generatore di oggetti
|
||||||
description: Disponibile solo nella modalità sandbox, emette il segnale dal
|
description: Disponibile solo nella modalità sandbox, emette il segnale dal
|
||||||
livello dei cavi come oggetti sul livello normale.
|
livello elettrico come oggetti sul livello normale.
|
||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Taglio forme
|
title: Taglio forme
|
||||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
desc: Il <strong>taglierino</strong> è stato bloccato! Taglia le forme a metà da
|
||||||
from top to bottom <strong>regardless of its
|
sopra a sotto <strong>indipendentemente dal suo
|
||||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
orientamento</strong>!<br><br> Assicurati di buttare via lo scarto,
|
||||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
sennò <strong>si intaserà e andrà in stallo </strong> - Per questo
|
||||||
I have given you the <strong>trash</strong>, which destroys
|
ti ho dato il <strong>certino</strong>, che distrugge tutto quello
|
||||||
everything you put into it!
|
che riceve!
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: Rotazione
|
title: Rotazione
|
||||||
desc: La <strong>ruotatrice</strong> è stata sbloccata! Ruota le forme di 90
|
desc: Il <strong>ruotatore</strong> è stato sbloccato! Ruota le forme di 90
|
||||||
gradi in senso orario.
|
gradi in senso orario.
|
||||||
reward_painter:
|
reward_painter:
|
||||||
title: Verniciatura
|
title: Verniciatura
|
||||||
desc: "La <strong>verniciatrice</strong> è stata sbloccata - Estrai dalle vene
|
desc: "Il <strong>verniciatore</strong> è stato sbloccato! Estrai dalle vene
|
||||||
colorate (esattamente come fai con le forme) e combina il colore con
|
colorate (esattamente come fai con le forme) e combina il colore con
|
||||||
una forma nella veniciatrice per colorarla!<br><br>PS: Se sei
|
una forma nella veniciatrice per colorarla!<br><br>PS: Se sei
|
||||||
daltonico, c'è la <strong>modalità daltonici </strong> nelle
|
daltonico, c'è la <strong>modalità daltonici </strong> nelle
|
||||||
opzioni!"
|
impostazion!"
|
||||||
reward_mixer:
|
reward_mixer:
|
||||||
title: Mix colori
|
title: Mix colori
|
||||||
desc: Il <strong>mixer</strong> è stato sbloccato - Con questo edificio, puoi
|
desc: Il <strong>miscelatore</strong> è stato sbloccato! Con questo edificio,
|
||||||
combinare due colori mediante <strong>sintesi additiva</strong>!
|
puoi combinare due colori mediante la <strong>sintesi
|
||||||
|
additiva</strong>!
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Separatore/Agrregatore
|
title: Separatore/Agrregatore
|
||||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
desc: Il <strong>separatore</strong> è stato sbloccato! è una variante del
|
||||||
<strong>balancer</strong> - It accepts one input and splits them
|
<strong>bilanciatore</strong> - Accetta un imput e lo divide in due!
|
||||||
into two!
|
|
||||||
reward_tunnel:
|
reward_tunnel:
|
||||||
title: Tunnel
|
title: Tunnel
|
||||||
desc: Il <strong>tunnel</strong> è stato sbloccato. In questo modo puoi
|
desc: Il <strong>tunnel</strong> è stato sbloccato! In questo modo puoi
|
||||||
trasportare oggetti al di sotto di nastri ed edifici!
|
trasportare oggetti al di sotto di nastri ed edifici!
|
||||||
reward_rotater_ccw:
|
reward_rotater_ccw:
|
||||||
title: Rotazione antioraria
|
title: Rotazione antioraria
|
||||||
desc: Hai sbloccato una variante della <strong>ruotatrice</strong>. Consente di
|
desc: Hai sbloccato una variante del <strong>ruotatore</strong>! Consente di
|
||||||
ruotare in senso antiorario! Per costruirla, seleziona la ruotatrice
|
ruotare in senso antiorario! Per costruirla, seleziona la ruotatrice
|
||||||
e <strong>premi 'T' per cambiare variante</strong>!
|
e <strong>premi 'T' per cambiare variante</strong>!
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: Estrattore a catena
|
title: Estrattore a catena
|
||||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
desc: "L'<strong>estrattore a catena</strong> è stato sbloccato! Può
|
||||||
<strong>forward its resources</strong> to other extractors so you
|
<strong>passare le sue risorse</strong> agli altri estrattori, così
|
||||||
can more efficiently extract resources!<br><br> PS: The old
|
tu puoi estrarre le risorse in modo più efficiente!<br><br> PS: Il
|
||||||
extractor has been replaced in your toolbar now!"
|
primo estrattore è stato rimpiazzato nel tuo inventario!"
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: Tunnel grado II
|
title: Tunnel grado II
|
||||||
desc: Hai sbloccato una nuova variante del <strong>tunnel</strong>. Ha un
|
desc: Hai sbloccato una variante del <strong>tunnel</strong>! Ha un
|
||||||
<strong>raggio più ampio</strong> e puoi anche mischiare le due
|
<strong>raggio più ampio</strong> e puoi anche mischiare le due
|
||||||
varianti ora!
|
varianti ora!
|
||||||
reward_cutter_quad:
|
reward_cutter_quad:
|
||||||
title: Taglio quadruplo
|
title: Taglio quadruplo
|
||||||
desc: Hai sbloccato una variante della <strong>tagliatrice</strong>. Cconsente
|
desc: Hai sbloccato una variante del <strong>taglierino</strong>! Consente di
|
||||||
di tagliare le forme in <strong>quattro parti</strong> invece che in
|
tagliare le forme in <strong>quattro parti</strong> invece che in
|
||||||
due!
|
due!
|
||||||
reward_painter_double:
|
reward_painter_double:
|
||||||
title: Verniciatura doppia
|
title: Verniciatura doppia
|
||||||
desc: Hai sbloccato una variante della <strong>verniciatrice</strong>. Funziona
|
desc: Hai sbloccato una variante del <strong>verniciatore</strong>! Funziona
|
||||||
come una normale verniciatrice, ma processa <strong>due forme alla
|
come un normale verniciatore, ma processa <strong>due forme alla
|
||||||
volta</strong> consumando solo un'unità di colore invece che due!
|
volta</strong> consumando solo un'unità di colore invece che due!
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: Unità di stoccaggio
|
title: Unità di stoccaggio
|
||||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
desc: Hai sbloccato il <strong>magazzino</strong>! Ti permette di immagazzinare
|
||||||
store items up to a given capacity!<br><br> It priorities the left
|
le forme fino a un certo limite!<br><br> Dà priorità all'uscita a
|
||||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
sinistra, puoi quindi usarlo per gestire le
|
||||||
|
<strong>eccedenze</strong>!
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: Modalità libera
|
title: Modalità libera
|
||||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
desc: Ce l'hai fatta! Hai sbloccato la <strong>modalità libera</strong>! Questo
|
||||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
significa che le forme da adesso in poi sono generate
|
||||||
Since the hub will require a <strong>throughput</strong> from now
|
<strong>casualmente</strong>!<br><br> Visto che la HUB avrà bisogno
|
||||||
on, I highly recommend to build a machine which automatically
|
di una <strong>portata maggiore</strong> Ti consiglio vivamente di
|
||||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
costruire un macchinario che consegna automaticamente la forma
|
||||||
shape on the wires layer, so all you have to do is to analyze it and
|
richiesta!<br><br> La HUB da come output la forma richiesta sul
|
||||||
automatically configure your factory based on that.
|
livello elettrico, quindi ti basta solo analizzarla e configurare
|
||||||
|
automaticamente la tua fabbrica in base a quei dati.
|
||||||
reward_blueprints:
|
reward_blueprints:
|
||||||
title: Progetti
|
title: Progetti
|
||||||
desc: Ora puoi <strong>copiare ed incollare</strong> parti della tua fabbrica!
|
desc: Ora puoi <strong>copiare ed incollare</strong> componenti della tua
|
||||||
Seleziona un'area (Tieni premuto CTRL e trascina con il mouse) e
|
fabbrica! Seleziona un'area (Tieni premuto CTRL e trascina con il
|
||||||
premi 'C' per copiarla.<br><br>Incollarla <strong>non è
|
mouse) e premi 'C' per copiarla.<br><br>Incollarla <strong>non è
|
||||||
gratis</strong>, devi produrre <strong>forme progetto</strong> per
|
gratis</strong>, devi produrre <strong>forme progetto</strong> per
|
||||||
potertelo permettere! (Quelle che hai appena consegnato).
|
potertelo permettere! (Quelle che hai appena consegnato).
|
||||||
no_reward:
|
no_reward:
|
||||||
@ -667,7 +702,7 @@ storyRewards:
|
|||||||
reward_merger:
|
reward_merger:
|
||||||
title: Aggregatore compatto
|
title: Aggregatore compatto
|
||||||
desc: Hai sbloccato un <strong>aggregatore</strong>, variante del
|
desc: Hai sbloccato un <strong>aggregatore</strong>, variante del
|
||||||
<strong>bilanciatore</strong>. Acetta due ingressi e li aggrega su
|
<strong>bilanciatore</strong>! Acetta due ingressi e li aggrega su
|
||||||
un unico nastro!
|
un unico nastro!
|
||||||
reward_belt_reader:
|
reward_belt_reader:
|
||||||
title: Lettore di nastri
|
title: Lettore di nastri
|
||||||
@ -676,19 +711,19 @@ storyRewards:
|
|||||||
allora sì che sarà molto utile!
|
allora sì che sarà molto utile!
|
||||||
reward_rotater_180:
|
reward_rotater_180:
|
||||||
title: Ruotatrice (180 gradi)
|
title: Ruotatrice (180 gradi)
|
||||||
desc: Hai appena sbloccato la <strong>ruotatrice</strong> a 180 gradi! Consente
|
desc: Hai appena sbloccato il <strong>ruotatore</strong> a 180 gradi! Consente
|
||||||
di ruotare una forma di 180 gradi (Sorpresa! :D)
|
di ruotare una forma di 180 gradi (Sorpresa! :D)
|
||||||
reward_display:
|
reward_display:
|
||||||
title: Display
|
title: Display
|
||||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
desc: "Hai sbloccato il <strong>Display</strong>! Connetti un segnale sul
|
||||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
livello elettrico per visualizzarlo!<br><br> PS: Hai notato che il
|
||||||
reader and storage output their last read item? Try showing it on a
|
lettore di nastri e il magazzino mostrano l'ultimo oggetto da loro
|
||||||
display!"
|
letto? Prova a mostrarlo su di un display!"
|
||||||
reward_constant_signal:
|
reward_constant_signal:
|
||||||
title: Sengale costante
|
title: Sengale costante
|
||||||
desc: Hai sblocatto l'edificio <strong>segnale costante</strong> sul livello dei
|
desc: Hai sblocatto l'edificio <strong>segnale costante</strong> sul livello
|
||||||
cavi! È utile collegarlo ai <strong>filtri oggetti</strong> per
|
elettrico! È utile collegarlo ai <strong>filtri di oggetti</strong>
|
||||||
esempio.<br><br> Il segnale costante può emettere una
|
per esempio.<br><br> Il segnale costante può emettere una
|
||||||
<strong>forma</strong>, un <strong>colore</strong> o un
|
<strong>forma</strong>, un <strong>colore</strong> o un
|
||||||
<strong>booleano</strong> (1 / 0).
|
<strong>booleano</strong> (1 / 0).
|
||||||
reward_logic_gates:
|
reward_logic_gates:
|
||||||
@ -697,33 +732,34 @@ storyRewards:
|
|||||||
entusiasta, ma in realtà sono fantastiche!<br><br> Con quelle porte
|
entusiasta, ma in realtà sono fantastiche!<br><br> Con quelle porte
|
||||||
ora puoi eseguire le operazioni logiche di AND, OR, XOR e
|
ora puoi eseguire le operazioni logiche di AND, OR, XOR e
|
||||||
NOT.<br><br> Come bonus extra ti ho anche regalato un
|
NOT.<br><br> Come bonus extra ti ho anche regalato un
|
||||||
<strong>transistor</strong>!
|
<strong>transistore</strong>!
|
||||||
reward_virtual_processing:
|
reward_virtual_processing:
|
||||||
title: Lavorazione virtuale
|
title: Lavorazione virtuale
|
||||||
desc: Ti ho appena dato un bel po' di nuovi edifici che ti consentono di
|
desc: Ti ho appena dato un bel po' di nuovi edifici che ti consentono di
|
||||||
<strong>simulare la lavorazione delle forme</strong>!<br><br> Ora
|
<strong>simulare la lavorazione delle forme</strong>!<br><br> Ora
|
||||||
puoi simulare una tagliatrice, una ruotatrice, un'impilatrice e
|
puoi simulare un taglierino, un ruotatore, un'impilatrice e molto
|
||||||
molto altro sul livello dei cavi! In questo modo hai tre opzioni per
|
altro sul livello elettrico! In questo modo hai tre opzioni per
|
||||||
continuare il gioco:<br><br> -Costruisci una <strong>macchina
|
continuare il gioco:<br><br> -Costruisci una <strong>macchina
|
||||||
automatica</strong> per creare ogni possibile forma richiesta
|
automatica</strong> per creare ogni possibile forma richiesta
|
||||||
dall'HUB (ti consiglio di provarci!).<br><br> - Costruisci qualcosa
|
dall'HUB (ti consiglio di provarci!).<br><br> - Costruisci qualcosa
|
||||||
di interessante con i cavi.<br><br> - Continua a giocare
|
di interessante con i cavi.<br><br> - Continua a giocare
|
||||||
normalmente. <br><br> Qualsiasi cosa tu scelga, riordati di
|
normalmente. <br><br> Qualsiasi cosa tu scelga, ricordati di
|
||||||
divertirti!
|
divertirti!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Cavi e Verniciatrice quadrupla
|
title: Cavi e Verniciatrice quadrupla
|
||||||
desc: "Hai appena sbloccato il <strong>livello dei cavi</strong>: È un livello
|
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||||
separato al di sopra di quello normale e introduce un sacco di nuove
|
layer on top of the regular layer and introduces a lot of new
|
||||||
meccaniche!<br><br> Per il momento ti ho sbloccato la
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
<strong>Verniciatrice quadrupla</strong>. Collega gli ingressi con i
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
quali vuoi dipingere nel livello dei cavi!<br><br> Per passare al
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
livello dei cavi, premi <strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Filtro oggetti
|
title: Filtro oggetti
|
||||||
desc: Hai sbloccato il <strong>filtro oggetti</strong>! Smisterà gli oggetti
|
desc: Hai sbloccato il <strong>filtro oggetti</strong>! Smisterà gli oggetti
|
||||||
verso l'alto o verso destra a seconda che corrispondano al sengale
|
verso l'alto o verso destra a seconda del segnale dal livello
|
||||||
dal livello dei cavi o no.<br><br> Puoi anche mandargli un segnale
|
elettrico o meno.<br><br> Puoi anche mandargli un segnale booleano
|
||||||
booleano (1 / 0) per attivarlo o disattivarlo completamente.
|
(1 / 0) per attivarlo o disattivarlo completamente.
|
||||||
reward_demo_end:
|
reward_demo_end:
|
||||||
title: Fine della demo
|
title: Fine della demo
|
||||||
desc: Hai raggiunto la fine della demo!
|
desc: Hai raggiunto la fine della demo!
|
||||||
@ -733,7 +769,7 @@ settings:
|
|||||||
general: Generali
|
general: Generali
|
||||||
userInterface: Interfaccia utente
|
userInterface: Interfaccia utente
|
||||||
advanced: Avanzate
|
advanced: Avanzate
|
||||||
performance: Performance
|
performance: Prestazioni
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Sviluppo
|
dev: Sviluppo
|
||||||
staging: Staging
|
staging: Staging
|
||||||
@ -894,6 +930,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Comandi
|
title: Comandi
|
||||||
@ -918,7 +958,7 @@ keybindings:
|
|||||||
centerMap: Centra mappa
|
centerMap: Centra mappa
|
||||||
mapZoomIn: Aumenta zoom
|
mapZoomIn: Aumenta zoom
|
||||||
mapZoomOut: Riduci zoom
|
mapZoomOut: Riduci zoom
|
||||||
createMarker: Crea segnapunto
|
createMarker: Crea Etichetta
|
||||||
menuOpenShop: Miglioramenti
|
menuOpenShop: Miglioramenti
|
||||||
menuOpenStats: Statistiche
|
menuOpenStats: Statistiche
|
||||||
toggleHud: Mostra/Nascondi HUD
|
toggleHud: Mostra/Nascondi HUD
|
||||||
@ -926,16 +966,16 @@ keybindings:
|
|||||||
belt: Nastro Trasportatore
|
belt: Nastro Trasportatore
|
||||||
underground_belt: Tunnel
|
underground_belt: Tunnel
|
||||||
miner: Estrattore
|
miner: Estrattore
|
||||||
cutter: Tagliatrice
|
cutter: Taglierino
|
||||||
rotater: Ruotatrice
|
rotater: Ruotatore
|
||||||
stacker: Impilatrice
|
stacker: Impilatrice
|
||||||
mixer: Mixer Colori
|
mixer: Miscelatore di vernice
|
||||||
painter: Verniciatrice
|
painter: Verniciatore
|
||||||
trash: Cestino
|
trash: Cestino
|
||||||
rotateWhilePlacing: Ruota
|
rotateWhilePlacing: Ruota
|
||||||
cycleBuildingVariants: Cicla varianti
|
cycleBuildingVariants: Cicla varianti
|
||||||
confirmMassDelete: Conferma eliminazione di massa
|
confirmMassDelete: Conferma eliminazione di massa
|
||||||
cycleBuildings: Cicla edifici
|
cycleBuildings: Cambia variante
|
||||||
massSelectStart: Clicca e trascina per cominciare
|
massSelectStart: Clicca e trascina per cominciare
|
||||||
massSelectSelectMultiple: Seleziona aree multiple
|
massSelectSelectMultiple: Seleziona aree multiple
|
||||||
massSelectCopy: Copia area
|
massSelectCopy: Copia area
|
||||||
@ -953,16 +993,16 @@ keybindings:
|
|||||||
switchLayers: Cambia livello
|
switchLayers: Cambia livello
|
||||||
wire: Cavo
|
wire: Cavo
|
||||||
balancer: Bilanciatore
|
balancer: Bilanciatore
|
||||||
storage: Stoccaggio
|
storage: Magazzino
|
||||||
constant_signal: Segnale costante
|
constant_signal: Segnale costante
|
||||||
logic_gate: Porta logica
|
logic_gate: Porta logica
|
||||||
lever: Bottone (normale)
|
lever: Interruttore (normale)
|
||||||
filter: Filtro
|
filter: Filtro
|
||||||
wire_tunnel: Incrocio cavi
|
wire_tunnel: Incrocio cavi
|
||||||
display: Display
|
display: Display
|
||||||
reader: Lettore nastri
|
reader: Lettore nastri
|
||||||
virtual_processor: Tagliatrice virtuale
|
virtual_processor: Taglierino virtuale
|
||||||
transistor: Transistor
|
transistor: Transistore
|
||||||
analyzer: Analizzatore forme
|
analyzer: Analizzatore forme
|
||||||
comparator: Comparatore
|
comparator: Comparatore
|
||||||
item_producer: Generatore di oggetti (Sandbox)
|
item_producer: Generatore di oggetti (Sandbox)
|
||||||
@ -983,7 +1023,7 @@ about:
|
|||||||
|
|
||||||
Per finire, grazie di cuore al mio migliore amico <a href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Senza le nostre sessioni su factorio questo gioco non sarebbe mai esistito.
|
Per finire, grazie di cuore al mio migliore amico <a href="https://github.com/niklas-dahl" target="_blank">Niklas</a> - Senza le nostre sessioni su factorio questo gioco non sarebbe mai esistito.
|
||||||
changelog:
|
changelog:
|
||||||
title: Changelog
|
title: Registro modifiche
|
||||||
demo:
|
demo:
|
||||||
features:
|
features:
|
||||||
restoringGames: Recupero salvataggi
|
restoringGames: Recupero salvataggi
|
||||||
@ -1008,8 +1048,7 @@ tips:
|
|||||||
- La simmetria è la chiave!
|
- La simmetria è la chiave!
|
||||||
- Puoi intrecciare gradi diversi del tunnel.
|
- Puoi intrecciare gradi diversi del tunnel.
|
||||||
- Cerca di costruire fabbriche compatte, sarai ricompensato!
|
- Cerca di costruire fabbriche compatte, sarai ricompensato!
|
||||||
- La verniciatrice ha una variante speculare che puoi selezionare con
|
- Il verniciatore ha una variante speculare che puoi selezionare con <b>T</b>
|
||||||
<b>T</b>
|
|
||||||
- Avere i giusti rapporti tra gli edifici massimizzerà l'efficienza.
|
- Avere i giusti rapporti tra gli edifici massimizzerà l'efficienza.
|
||||||
- Al massimo livello, 5 estrattori saturano un singolo nastro.
|
- Al massimo livello, 5 estrattori saturano un singolo nastro.
|
||||||
- Non dimenticare i tunnel!
|
- Non dimenticare i tunnel!
|
||||||
@ -1017,10 +1056,10 @@ tips:
|
|||||||
efficienza.
|
efficienza.
|
||||||
- Tenere premuto <b>SHIFT</b> attiva il pianificatore nastri, facilitando il
|
- Tenere premuto <b>SHIFT</b> attiva il pianificatore nastri, facilitando il
|
||||||
posizionamento dei nastri più lunghi
|
posizionamento dei nastri più lunghi
|
||||||
- Le tagliatrici tagliano sempre in verticale, indipendentemente dalla
|
- I taglierini tagliano sempre in verticale, indipendentemente
|
||||||
direzione.
|
dall'orientamento.
|
||||||
- Mischia tutti i tre colori per fare il bianco.
|
- Mischia tutti i tre colori per fare il bianco.
|
||||||
- L'unità di stoccaggio prioritizza la prima uscita.
|
- Il magazzino prioritizza la prima uscita.
|
||||||
- Impiega tempo per costruire design replicabili, ne vale la pena!
|
- Impiega tempo per costruire design replicabili, ne vale la pena!
|
||||||
- Tenere premuto <b>CTRL</b> ti consente di piazzare multipli edifici.
|
- Tenere premuto <b>CTRL</b> ti consente di piazzare multipli edifici.
|
||||||
- Puoi tenere premuto <b>ALT</b> per invertire la direzione dei nastri
|
- Puoi tenere premuto <b>ALT</b> per invertire la direzione dei nastri
|
||||||
@ -1046,23 +1085,24 @@ tips:
|
|||||||
mortali.
|
mortali.
|
||||||
- Costruisci una fabbrica dedicata per i progetti. Sono importanti per i
|
- Costruisci una fabbrica dedicata per i progetti. Sono importanti per i
|
||||||
moduli.
|
moduli.
|
||||||
- Guarda da vicino il mixer dei colori, e le tue domande avranno risposta.
|
- Guarda da vicino il miscelatore di colori, e le tue domande avranno
|
||||||
|
risposta.
|
||||||
- Usa <b>CTRL</b> + Clic per selezionare un'area.
|
- Usa <b>CTRL</b> + Clic per selezionare un'area.
|
||||||
- Costruire troppo vicino all'hub potrebbe intralciare progetti futuri.
|
- Costruire troppo vicino all'hub potrebbe intralciare progetti futuri.
|
||||||
- Premere la puntina vicino a ogni forma nel menù miglioramenti la farà
|
- Premere la puntina vicino a ogni forma nel menù miglioramenti la farà
|
||||||
visualizzare sempre a schermo
|
visualizzare sempre a schermo
|
||||||
- Mescola tutti i colori primari per fare il bianco!
|
- Mescola tutti i colori primari per fare il bianco!
|
||||||
- Hai una mappa finita, non incastrare la tua fabbrica, espanditi!
|
- Hai una mappa infinita, non incastrare la tua fabbrica, espanditi!
|
||||||
- Prova anhe factorio! È il mio gioco preferito.
|
- Prova anche factorio! È il mio gioco preferito.
|
||||||
- La tagliatrice quadrupla taglia in senso orario a partire dal quadrante in
|
- Il taglierino quadruplo taglia in senso orario a partire dal quadrante in
|
||||||
alto a destra!
|
alto a destra!
|
||||||
- Puoi scaricare i salvataggi dal menù principale!
|
- Puoi scaricare i salvataggi dal menù principale!
|
||||||
- Questo gioco ha molti tasti di scelta rapida! Dai un'occhiata alla pagina
|
- Questo gioco ha molti tasti di scelta rapida! Dai un'occhiata alla pagina
|
||||||
delle impostazioni
|
delle impostazioni
|
||||||
- Questo gioco ha molte impostazioni, dai un'occhiata!
|
- Questo gioco ha molte impostazioni, dai un'occhiata!
|
||||||
- Il segnapunto dell'hub ha una piccola bussola per indicarne la direzione!
|
- L'etichetta dell'hub ha una piccola bussola per indicarne la direzione!
|
||||||
- Per svutare i nastri, taglia e re-incolla l'area nello stesso punto.
|
- Per svuotare i nastri, taglia e re-incolla l'area nello stesso punto.
|
||||||
- Premi F4 per mostrare FPS e Tick al secondo.
|
- Premi F4 per mostrare FPS e Tick al secondo.
|
||||||
- Press F4 due volte per mostrare la casella del cursore e della telecamera.
|
- Press F4 due volte per mostrare la casella del cursore e della telecamera.
|
||||||
- Puoi cliccare a sinistra di una forma fermata a schermo per rimuoverla
|
- Puoi cliccare a sinistra di una forma fermata a schermo per rimuoverla
|
||||||
dalla lisata.
|
dalla lista.
|
||||||
|
|||||||
@ -176,6 +176,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: セーブデータの名前を変更
|
title: セーブデータの名前を変更
|
||||||
desc: セーブデータの名前を変更することができます
|
desc: セーブデータの名前を変更することができます
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: マップ移動
|
moveMap: マップ移動
|
||||||
@ -279,6 +287,30 @@ ingame:
|
|||||||
もっと早く要件を満たせるように、追加の抽出機とベルトを設置しましょう。<br><br>Tip:
|
もっと早く要件を満たせるように、追加の抽出機とベルトを設置しましょう。<br><br>Tip:
|
||||||
<strong>SHIFT</strong>
|
<strong>SHIFT</strong>
|
||||||
キーを押し続けると抽出機を連続配置できます。<strong>R</strong>キーで設置方向を回転できます。"
|
キーを押し続けると抽出機を連続配置できます。<strong>R</strong>キーで設置方向を回転できます。"
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1個の抽出機
|
one_miner: 1個の抽出機
|
||||||
n_miners: <amount>個の抽出機
|
n_miners: <amount>個の抽出機
|
||||||
@ -568,10 +600,13 @@ storyRewards:
|
|||||||
desc: <strong>回転機</strong>のバリエーションが利用可能になりました! 180度の回転ができるようになります!(サプライズ! :D)
|
desc: <strong>回転機</strong>のバリエーションが利用可能になりました! 180度の回転ができるようになります!(サプライズ! :D)
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: ワイヤ&着色機(四分割)
|
title: ワイヤ&着色機(四分割)
|
||||||
desc: "<strong>ワイヤレイヤ</strong>が利用可能になりました!:
|
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||||
通常レイヤとは別のレイヤーであり、異なる機能が使用できます!<br><br>
|
layer on top of the regular layer and introduces a lot of new
|
||||||
最初に、<strong>着色機(四分割)</strong>が利用可能です。着色したいスロットを、ワイヤレイヤで接続します。<br><b\
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
r> ワイヤレイヤに切り替えるには、<strong>E</strong>を押します。"
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: アイテムフィルタ
|
title: アイテムフィルタ
|
||||||
desc: <strong>アイテムフィルタ</strong>が利用可能になりました! ワイヤレイヤの信号と一致するかどうかに応じて、
|
desc: <strong>アイテムフィルタ</strong>が利用可能になりました! ワイヤレイヤの信号と一致するかどうかに応じて、
|
||||||
@ -753,6 +788,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
keybindings:
|
keybindings:
|
||||||
title: キー設定
|
title: キー設定
|
||||||
hint: "Tip: CTRL, SHIFT, ALTを利用するようにしてください。これらはそれぞれ建造物配置の際の機能があります。"
|
hint: "Tip: CTRL, SHIFT, ALTを利用するようにしてください。これらはそれぞれ建造物配置の際の機能があります。"
|
||||||
|
|||||||
@ -77,7 +77,7 @@ demoBanners:
|
|||||||
mainMenu:
|
mainMenu:
|
||||||
play: 시작
|
play: 시작
|
||||||
changelog: 버전 기록
|
changelog: 버전 기록
|
||||||
importSavegame: 불러오기
|
importSavegame: 가져오기
|
||||||
openSourceHint: 이 게임은 오픈 소스입니다!
|
openSourceHint: 이 게임은 오픈 소스입니다!
|
||||||
discordLink: 공식 디스코드 서버
|
discordLink: 공식 디스코드 서버
|
||||||
helpTranslate: 번역을 도와주세요!
|
helpTranslate: 번역을 도와주세요!
|
||||||
@ -104,14 +104,14 @@ dialogs:
|
|||||||
showUpgrades: 업그레이드 보기
|
showUpgrades: 업그레이드 보기
|
||||||
showKeybindings: 조작법 보기
|
showKeybindings: 조작법 보기
|
||||||
importSavegameError:
|
importSavegameError:
|
||||||
title: 불러오기 오류
|
title: 가져오기 오류
|
||||||
text: "Failed to import your savegame:"
|
text: "세이브 파일을 가져오지 못했습니다:"
|
||||||
importSavegameSuccess:
|
importSavegameSuccess:
|
||||||
title: 세이브 파일 불러오기 성공
|
title: 세이브 파일 가져오기 성공
|
||||||
text: 세이브 파일을 성공적으로 불러왔습니다.
|
text: 세이브 파일을 성공적으로 불러왔습니다.
|
||||||
gameLoadFailure:
|
gameLoadFailure:
|
||||||
title: 세이브 파일 에러
|
title: 세이브 파일 에러
|
||||||
text: "Failed to load your savegame:"
|
text: "세이브 파일을 불러오지 못했습니다:"
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: 삭제 확인
|
title: 삭제 확인
|
||||||
text: 이 세이브 파일을 정말로 삭제하시겠습니까?<br><br> '<savegameName>' <savegameLevel>
|
text: 이 세이브 파일을 정말로 삭제하시겠습니까?<br><br> '<savegameName>' <savegameLevel>
|
||||||
@ -176,11 +176,18 @@ dialogs:
|
|||||||
desc: 이 영역에는 붙여넣기를 할 수 없습니다! 정말 자르시겠습니까?
|
desc: 이 영역에는 붙여넣기를 할 수 없습니다! 정말 자르시겠습니까?
|
||||||
editSignal:
|
editSignal:
|
||||||
title: 신호 설정
|
title: 신호 설정
|
||||||
descItems: "Choose a pre-defined item:"
|
descItems: "미리 정의된 아이템을 선택합니다:"
|
||||||
descShortKey: ... 또는 도형 <strong>단축키</strong>를 사용합니다 (<link>여기</link>에서 만드실 수 있습니다).
|
descShortKey: ... 또는 도형 <strong>단축키</strong>를 사용합니다 (<link>여기</link>에서 만드실 수 있습니다).
|
||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: 세이브 파일 이름 설정
|
title: 세이브 파일 이름 설정
|
||||||
desc: 여기에서 세이브 파일의 이름을 바꿀 수 있습니다.
|
desc: 여기에서 세이브 파일의 이름을 바꿀 수 있습니다.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: 활성화된 튜토리얼
|
||||||
|
desc: 현재 레벨에서 사용할 수 있는 튜토리얼 비디오가 있습니다! 보시겠습니까?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: 활성화된 튜토리얼
|
||||||
|
desc: 현재 레벨에서 사용할 수 있는 튜토리얼 비디오가 있습니다! 허나 영어로만
|
||||||
|
제공될 것입니다. 보시겠습니까?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: 이동
|
moveMap: 이동
|
||||||
@ -204,7 +211,7 @@ ingame:
|
|||||||
switchLayers: 레이어 전환
|
switchLayers: 레이어 전환
|
||||||
buildingPlacement:
|
buildingPlacement:
|
||||||
cycleBuildingVariants: <key> 키를 눌러 변형 전환
|
cycleBuildingVariants: <key> 키를 눌러 변형 전환
|
||||||
hotkeyLabel: "Hotkey: <key>"
|
hotkeyLabel: "단축키: <key>"
|
||||||
infoTexts:
|
infoTexts:
|
||||||
speed: 속도
|
speed: 속도
|
||||||
range: 최대 거리
|
range: 최대 거리
|
||||||
@ -266,13 +273,33 @@ ingame:
|
|||||||
hints:
|
hints:
|
||||||
1_1_extractor: <strong>원형 도형</strong>을 추출하기 위해 그 위에 <strong>추출기</strong>를 선택한 뒤
|
1_1_extractor: <strong>원형 도형</strong>을 추출하기 위해 그 위에 <strong>추출기</strong>를 선택한 뒤
|
||||||
배치하여 추출하세요!
|
배치하여 추출하세요!
|
||||||
1_2_conveyor: "Connect the extractor with a <strong>conveyor belt</strong> to
|
1_2_conveyor: "이제 <strong>컨베이어 벨트</strong>를 추출기와 허브를 서로 연결하세요!<br><br> 팁: 벨트를
|
||||||
your hub!<br><br>Tip: <strong>Click and drag</strong> the belt
|
마우스로 <strong>클릭한 뒤 드래그</strong>하세요!"
|
||||||
with your mouse!"
|
1_3_expand: "이 게임은 방치형 게임이 <strong>아닙니다</strong>! 더 많은 추출기와 벨트를 만들어 지정된 목표를 빨리
|
||||||
1_3_expand: "This is <strong>NOT</strong> an idle game! Build more extractors
|
달성하세요.<br><br> 팁: <strong>SHIFT</strong> 키를 누른 상태에서는 빠르게 배치할 수
|
||||||
and belts to finish the goal quicker.<br><br>Tip: Hold
|
있고, <strong>R</strong> 키를 눌러 회전할 수 있습니다."
|
||||||
<strong>SHIFT</strong> to place multiple extractors, and use
|
2_1_place_cutter: "이제 <strong>절단기</strong>를 배치하여 원형 도형을 둘로 자르세요!<br><br>
|
||||||
<strong>R</strong> to rotate them."
|
추신: 절단기는 방향에 관계 없이 항상 수직으로 자릅니다."
|
||||||
|
2_2_place_trash: 절단기가 <strong>막히거나 멈출 수 있습니다</strong>!<br><br>
|
||||||
|
<strong>휴지통</strong>을 사용하여 현재 필요없는 쓰레기 도형 (!)을
|
||||||
|
제거하세요.
|
||||||
|
2_3_more_cutters: "잘하셨습니다! 느린 처리 속도를 보완하기 위해 <strong>절단기를 두 개</strong>
|
||||||
|
이상 배치해보세요!<br><br> 추신: <strong>상단 숫자 단축키 (0~9)</strong>를 사용하여
|
||||||
|
건물을 빠르게 선택할 수 있습니다!"
|
||||||
|
3_1_rectangles: "이제 사각형 도형을 추출해 볼까요! <strong>추출기 네 개를
|
||||||
|
배치</strong>하고 허브와 연결하세요.<br><br> 추신: 긴 벨트 한 줄을
|
||||||
|
간단히 만들려면 <strong>SHIFT 키</strong>를 누른 채 드래그하세요!"
|
||||||
|
21_1_place_quad_painter: <strong>4단 색칠기</strong>를 배치하여 <strong>흰색</strong>과
|
||||||
|
<strong>빨간색</strong>이 칠해진 <strong>원형
|
||||||
|
도형</strong>을 만들어보세요!
|
||||||
|
21_2_switch_to_wires: <strong>E 키</strong>를 눌러 전선 레이어
|
||||||
|
로 전환하세요!<br><br> 그 후 색칠기의 <strong>네 입력 부분</strong>을
|
||||||
|
모두 케이블로 연결하세요!
|
||||||
|
21_3_place_button: 훌륭해요! 이제 <strong>스위치</strong>를 배치하고 전선으로
|
||||||
|
연결하세요!
|
||||||
|
21_4_press_button: "스위치를 눌러 </strong>참 신호를 내보내<strong>
|
||||||
|
색칠기를 활성화하세요. 추신: 모든 입력을 연결할 필요는 없습니다!
|
||||||
|
지금은 두 개만 연결하세요."
|
||||||
colors:
|
colors:
|
||||||
red: 빨간색
|
red: 빨간색
|
||||||
green: 초록색
|
green: 초록색
|
||||||
@ -284,13 +311,13 @@ ingame:
|
|||||||
black: 검은색
|
black: 검은색
|
||||||
uncolored: 회색
|
uncolored: 회색
|
||||||
shapeViewer:
|
shapeViewer:
|
||||||
title: 층
|
title: 레이어
|
||||||
empty: 비었음
|
empty: 비었음
|
||||||
copyKey: 키 복사하기
|
copyKey: 키 복사하기
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 추출기 1 개
|
one_miner: 추출기 1 개
|
||||||
n_miners: 추출기 <amount>개
|
n_miners: 추출기 <amount>개
|
||||||
limited_items: <max_throughput>개로 제한됨
|
limited_items: <max_throughput>까지가 한계임
|
||||||
watermark:
|
watermark:
|
||||||
title: 체험판 버전
|
title: 체험판 버전
|
||||||
desc: 정식 버전의 장점을 보려면 여기를 클릭하세요!
|
desc: 정식 버전의 장점을 보려면 여기를 클릭하세요!
|
||||||
@ -510,12 +537,10 @@ buildings:
|
|||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: 절단기
|
title: 절단기
|
||||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
desc: <strong>절단기</strong>가 잠금 해제되었습니다! 절단기는 들어오는 도형이 어떤 모양을 하고 있던 수직으로 잘라
|
||||||
from top to bottom <strong>regardless of its
|
<strong>반으로 나눕니다</strong>!<br><br> 쓰지 않는 도형은 쓰레기로 처리하세요, 그렇지 않으면
|
||||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
<strong>작동을 멈출 것입니다</strong>! 이러한 목적을 위해 <strong>휴지통</strong>도 함께
|
||||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
지급되었습니다. 휴지통에 들어간 것은 모두 파괴됩니다!
|
||||||
I have given you the <strong>trash</strong>, which destroys
|
|
||||||
everything you put into it!
|
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: 회전기
|
title: 회전기
|
||||||
desc: <strong>회전기</strong>가 잠금 해제되었습니다! 회전기는 들어오는 도형을 시계 방향으로 90도 회전시켜줍니다.
|
desc: <strong>회전기</strong>가 잠금 해제되었습니다! 회전기는 들어오는 도형을 시계 방향으로 90도 회전시켜줍니다.
|
||||||
@ -580,9 +605,8 @@ storyRewards:
|
|||||||
기능을 사용할 수 있습니다! (방금 당신이 만든 것입니다.)
|
기능을 사용할 수 있습니다! (방금 당신이 만든 것입니다.)
|
||||||
no_reward:
|
no_reward:
|
||||||
title: 다음 레벨
|
title: 다음 레벨
|
||||||
desc: "This level gave you no reward, but the next one will! <br><br> PS: Better
|
desc: "이번 레벨의 보상은 없네요. 대신 다음 레벨에서 줄겁니다!<br><br> 추신: 기존 공장을 파괴하지는 마세요. 후에
|
||||||
not destroy your existing factory - You'll need <strong>all</strong>
|
<strong>업그레이드 잠금 해제</strong>되면 <strong>기존의 모든</strong> 도형이 필요합니다!"
|
||||||
those shapes later to <strong>unlock upgrades</strong>!"
|
|
||||||
no_reward_freeplay:
|
no_reward_freeplay:
|
||||||
title: 다음 레벨
|
title: 다음 레벨
|
||||||
desc: 축하드립니다!
|
desc: 축하드립니다!
|
||||||
@ -625,12 +649,12 @@ storyRewards:
|
|||||||
- 평소처럼 게임을 진행합니다.<br><br> 어떤 방식으로든, 재미있게 게임을 플레이해주시길 바랍니다!
|
- 평소처럼 게임을 진행합니다.<br><br> 어떤 방식으로든, 재미있게 게임을 플레이해주시길 바랍니다!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: 전선과 4단 색칠기
|
title: 전선과 4단 색칠기
|
||||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
desc: "<strong>전선 레이어</strong>가 잠금 해제되었습니다! 전선 레이어는
|
||||||
layer on top of the regular layer and introduces a lot of new
|
일반 레이어 위에 존재하는 별도의 레이어로, 이를 통한 다양하고 새로운
|
||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
메커니즘을 소개하겠습니다!<br><br> 우선 <strong>4단 색칠기</strong>가
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
잠금 해제되었습니다. 전선 레이어에서 색칠하고 싶은 슬롯에 전선을 연결하세요!
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
전선 레이어로 전환하려면 <strong>E</strong> 키를 누르세요. <br><br>
|
||||||
<strong>E</strong>."
|
추신: 설정에서 <strong>힌트를 활성화</strong>하여 전선 튜토리얼을 활성화하세요!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: 아이템 선별기
|
title: 아이템 선별기
|
||||||
desc: <strong>아이템 선별기</strong>가 잠금 해제되었습니다! 전선 레이어의 신호와 일치하는지에 대한 여부로 아이템을 위쪽
|
desc: <strong>아이템 선별기</strong>가 잠금 해제되었습니다! 전선 레이어의 신호와 일치하는지에 대한 여부로 아이템을 위쪽
|
||||||
@ -773,14 +797,15 @@ settings:
|
|||||||
title: 화면 가장자리 패닝
|
title: 화면 가장자리 패닝
|
||||||
description: 커서를 화면 가장자리로 옮기면 스크롤되어 지도를 이동할 수 있습니다. 스크롤 속도는 이동 속도 설정에 따릅니다.
|
description: 커서를 화면 가장자리로 옮기면 스크롤되어 지도를 이동할 수 있습니다. 스크롤 속도는 이동 속도 설정에 따릅니다.
|
||||||
zoomToCursor:
|
zoomToCursor:
|
||||||
title: Zoom towards Cursor
|
title: 커서를 기준으로 줌
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: 활성화할 경우 화면 줌 인 아웃이 마우스 커서가 있는 지점을 기준이 되며, 아닐 경우 화면 중앙이 기준이 됩니다.
|
||||||
position, otherwise in the middle of the screen.
|
mapResourcesScale:
|
||||||
|
title: 지도 자원 크기
|
||||||
|
description: 지도를 축소할 때 나타나는 도형의 크기를 제어합니다.
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: 조작법
|
title: 조작법
|
||||||
hint: "Tip: Be sure to make use of CTRL, SHIFT and ALT! They enable different
|
hint: "팁: CTRL, SHIFT, ALT를 적절히 사용하세요! 건물을 배치할 때 유용합니다."
|
||||||
placement options."
|
|
||||||
resetKeybindings: 초기화
|
resetKeybindings: 초기화
|
||||||
categoryLabels:
|
categoryLabels:
|
||||||
general: 애플리케이션
|
general: 애플리케이션
|
||||||
@ -829,7 +854,7 @@ keybindings:
|
|||||||
exportScreenshot: 공장 전체를 이미지로 내보내기
|
exportScreenshot: 공장 전체를 이미지로 내보내기
|
||||||
mapMoveFaster: 더 빠르게 움직이기
|
mapMoveFaster: 더 빠르게 움직이기
|
||||||
lockBeltDirection: 벨트 계획기 활성화
|
lockBeltDirection: 벨트 계획기 활성화
|
||||||
switchDirectionLockSide: "Planner: Switch side"
|
switchDirectionLockSide: "계획기: 방향 바꾸기"
|
||||||
pipette: 피펫
|
pipette: 피펫
|
||||||
menuClose: 메뉴 닫기
|
menuClose: 메뉴 닫기
|
||||||
switchLayers: 레이어 전환
|
switchLayers: 레이어 전환
|
||||||
@ -848,7 +873,7 @@ keybindings:
|
|||||||
analyzer: 도형 분석기
|
analyzer: 도형 분석기
|
||||||
comparator: 비교기
|
comparator: 비교기
|
||||||
item_producer: 아이템 생성기 (샌드박스)
|
item_producer: 아이템 생성기 (샌드박스)
|
||||||
copyWireValue: "Wires: Copy value below cursor"
|
copyWireValue: "전선: 커서 아래 값 복사"
|
||||||
backwardsModifier: "Modifier: Cycle backwards"
|
backwardsModifier: "Modifier: Cycle backwards"
|
||||||
about:
|
about:
|
||||||
title: 게임 정보
|
title: 게임 정보
|
||||||
@ -868,7 +893,7 @@ changelog:
|
|||||||
demo:
|
demo:
|
||||||
features:
|
features:
|
||||||
restoringGames: 게임 세이브 파일 복원 하기
|
restoringGames: 게임 세이브 파일 복원 하기
|
||||||
importingGames: 게임 세이브 파일 불러오기
|
importingGames: 게임 세이브 파일 가져오기
|
||||||
oneGameLimit: 게임 세이브 파일 최대 1개
|
oneGameLimit: 게임 세이브 파일 최대 1개
|
||||||
customizeKeybindings: 조작법 설정하기
|
customizeKeybindings: 조작법 설정하기
|
||||||
exportingBase: 공장 전체를 이미지로 내보내기
|
exportingBase: 공장 전체를 이미지로 내보내기
|
||||||
@ -892,8 +917,7 @@ tips:
|
|||||||
- 최대 레벨에서, 한 줄의 벨트를 채우기 위해 다섯 개의 추출기가 필요합니다.
|
- 최대 레벨에서, 한 줄의 벨트를 채우기 위해 다섯 개의 추출기가 필요합니다.
|
||||||
- 터널을 잊지 마세요!
|
- 터널을 잊지 마세요!
|
||||||
- 완벽한 효율성을 위해 굳이 아이템을 균등하게 배분할 필요는 없습니다.
|
- 완벽한 효율성을 위해 굳이 아이템을 균등하게 배분할 필요는 없습니다.
|
||||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
- <b>SHIFT</b>키를 누르면 벨트 계획기가 활성화되어 긴 길이의 벨트 한 줄을 쉽게 배치할 수 있습니다.
|
||||||
long lines of belts easily.
|
|
||||||
- 절단기는 들어오는 도형과 배치된 절단기의 방향에 관계 없이, 언제나 수직으로 자릅니다.
|
- 절단기는 들어오는 도형과 배치된 절단기의 방향에 관계 없이, 언제나 수직으로 자릅니다.
|
||||||
- 흰색은 세 가지의 색소를 혼합해야 합니다.
|
- 흰색은 세 가지의 색소를 혼합해야 합니다.
|
||||||
- 저장고의 양쪽 출력 중 왼쪽 출력이 가장 우선됩니다.
|
- 저장고의 양쪽 출력 중 왼쪽 출력이 가장 우선됩니다.
|
||||||
|
|||||||
@ -197,6 +197,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Move
|
moveMap: Move
|
||||||
@ -291,6 +299,30 @@ ingame:
|
|||||||
and belts to finish the goal quicker.<br><br>Tip: Hold
|
and belts to finish the goal quicker.<br><br>Tip: Hold
|
||||||
<strong>SHIFT</strong> to place multiple extractors, and use
|
<strong>SHIFT</strong> to place multiple extractors, and use
|
||||||
<strong>R</strong> to rotate them."
|
<strong>R</strong> to rotate them."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: Red
|
red: Red
|
||||||
green: Green
|
green: Green
|
||||||
@ -694,7 +726,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -864,6 +897,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
|
|||||||
@ -2,27 +2,28 @@ steamPage:
|
|||||||
shortText: shapez.io is een spel dat draait om het bouwen van fabrieken voor het
|
shortText: shapez.io is een spel dat draait om het bouwen van fabrieken voor het
|
||||||
produceren en automatiseren van steeds complexere vormen in een oneindig
|
produceren en automatiseren van steeds complexere vormen in een oneindig
|
||||||
groot speelveld.
|
groot speelveld.
|
||||||
discordLinkShort: Officiële Discord
|
discordLinkShort: Officiële Discord server
|
||||||
intro: >-
|
intro: >-
|
||||||
Shapez.io is een spel waarin je fabrieken moet bouwen voor de
|
Shapez.io is een spel waarin je fabrieken moet bouwen voor de
|
||||||
automatische productie van geometrische vormen.
|
automatische productie van geometrische vormen.
|
||||||
|
|
||||||
Naarmate het spel vordert, worden de vormen complexer, en moet je uitbreiden in het oneindige speelveld.
|
Naarmate het spel vordert, worden de vormen complexer, en moet je uitbreiden in het oneindige speelveld.
|
||||||
|
|
||||||
En als dat nog niet genoeg is moet je ook nog eens steeds me produceren om aan de vraag te kunnen voldoen. Het enige dat helpt is uitbreiden!
|
En als dat nog niet genoeg is moet je ook nog eens steeds meer produceren om aan de vraag te kunnen voldoen. Het enige dat helpt is uitbreiden!
|
||||||
|
|
||||||
Ondanks het feit dat je in het begin alleen vormen maakt, komt er het punt waarop je ze moet kleuren. Deze kleuren moet je vinden en mengen!
|
Ondanks het feit dat je in het begin alleen vormen maakt, komt er het punt waarop je ze moet kleuren. Deze kleuren moet je vinden en mengen!
|
||||||
|
|
||||||
Door het spel op Steam te kopen kun je de volledige versie spelen. Je kunt echter ook een demo versie spelen op shapez.io en later beslissen.
|
Door het spel op Steam te kopen kun je de volledige versie spelen. Je kunt echter ook een demo versie spelen op shapez.io en later beslissen
|
||||||
|
om over te schakelen zonder voortgang te verliezen.
|
||||||
title_advantages: Standalone Voordelen
|
title_advantages: Standalone Voordelen
|
||||||
advantages:
|
advantages:
|
||||||
- <b>12 Nieuwe Levels</b> met een totaal van 26 levels
|
- <b>12 Nieuwe Levels</b> met een totaal van 26 levels
|
||||||
- <b>18 Nieuwe Gebouwen</b> voor een volledig geautomatiseerde fabriek!
|
- <b>18 Nieuwe Gebouwen</b> voor een volledig geautomatiseerde fabriek!
|
||||||
- <b>20 Upgrade Levels</b> voor vele speeluren!
|
- <b>20 Upgrade Levels</b> voor vele speeluren!
|
||||||
- <b>Draden Update</b> voor een volledig nieuwe dimensie!
|
- <b>Draden Update</b> voor een volledig nieuwe dimensie!
|
||||||
- <b>Dark Mode</b>!
|
- <b>Dark Mode</b> Donkere modus!
|
||||||
- Ongelimiteerde Saves
|
- Oneindig veel werelden.
|
||||||
- Ongelimiteerde Markers
|
- Oneindig veel Markers
|
||||||
- Help mij! ❤️
|
- Help mij! ❤️
|
||||||
title_future: Geplande Content
|
title_future: Geplande Content
|
||||||
planned:
|
planned:
|
||||||
@ -40,7 +41,7 @@ steamPage:
|
|||||||
roadmap: Roadmap
|
roadmap: Roadmap
|
||||||
subreddit: Subreddit
|
subreddit: Subreddit
|
||||||
source_code: Source code (GitHub)
|
source_code: Source code (GitHub)
|
||||||
translate: Help vertalen
|
translate: Hulp met vertalen
|
||||||
text_open_source: >-
|
text_open_source: >-
|
||||||
Iedereen mag meewerken. Ik ben actief betrokken in de community en
|
Iedereen mag meewerken. Ik ben actief betrokken in de community en
|
||||||
probeer alle suggesties en feedback te beoordelen als dat nodig is.
|
probeer alle suggesties en feedback te beoordelen als dat nodig is.
|
||||||
@ -56,9 +57,9 @@ global:
|
|||||||
millions: M
|
millions: M
|
||||||
billions: B
|
billions: B
|
||||||
trillions: T
|
trillions: T
|
||||||
infinite: inf
|
infinite: ∞
|
||||||
time:
|
time:
|
||||||
oneSecondAgo: één seconde geleden
|
oneSecondAgo: een seconde geleden
|
||||||
xSecondsAgo: <x> seconden geleden
|
xSecondsAgo: <x> seconden geleden
|
||||||
oneMinuteAgo: een minuut geleden
|
oneMinuteAgo: een minuut geleden
|
||||||
xMinutesAgo: <x> minuten geleden
|
xMinutesAgo: <x> minuten geleden
|
||||||
@ -86,12 +87,12 @@ mainMenu:
|
|||||||
importSavegame: Importeren
|
importSavegame: Importeren
|
||||||
openSourceHint: Dit spel is open source!
|
openSourceHint: Dit spel is open source!
|
||||||
discordLink: Officiële Discord-server (Engelstalig)
|
discordLink: Officiële Discord-server (Engelstalig)
|
||||||
helpTranslate: Help met vertalen!
|
helpTranslate: Help ons met vertalen!
|
||||||
browserWarning: Sorry, maar dit spel draait langzaam in je huidige browser! Koop
|
browserWarning: Sorry, maar dit spel draait langzaam in je huidige browser! Koop
|
||||||
de standalone versie of download chrome voor de volledige ervaring.
|
de standalone versie of download chrome voor de volledige ervaring.
|
||||||
savegameLevel: Level <x>
|
savegameLevel: Level <x>
|
||||||
savegameLevelUnknown: Onbekend Level
|
savegameLevelUnknown: Onbekend Level
|
||||||
continue: Verder
|
continue: Ga verder
|
||||||
newGame: Nieuw Spel
|
newGame: Nieuw Spel
|
||||||
madeBy: Gemaakt door <author-link>
|
madeBy: Gemaakt door <author-link>
|
||||||
subreddit: Reddit
|
subreddit: Reddit
|
||||||
@ -119,10 +120,10 @@ dialogs:
|
|||||||
title: Het spel is kapot
|
title: Het spel is kapot
|
||||||
text: "Het laden van je savegame is mislukt:"
|
text: "Het laden van je savegame is mislukt:"
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: Bevestig verwijderen
|
title: Bevestig het verwijderen
|
||||||
text: Are you sure you want to delete the following game?<br><br>
|
text: Ben je zeker dat je het volgende spel wil verwijderen?<br><br>
|
||||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
'<savegameName>' op niveau <savegameLevel><br><br> Dit kan niet ongedaan worden
|
||||||
undone!
|
gemaakt!
|
||||||
savegameDeletionError:
|
savegameDeletionError:
|
||||||
title: Verwijderen mislukt
|
title: Verwijderen mislukt
|
||||||
text: "Het verwijderen van de savegame is mislukt:"
|
text: "Het verwijderen van de savegame is mislukt:"
|
||||||
@ -177,9 +178,9 @@ dialogs:
|
|||||||
van lopende banden om te draaien wanneer je ze plaatst.<br>"
|
van lopende banden om te draaien wanneer je ze plaatst.<br>"
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Nieuwe markering
|
title: Nieuwe markering
|
||||||
desc: Give it a meaningful name, you can also include a <strong>short
|
desc: Geef het een nuttige naam, Je kan ook een <strong>snel
|
||||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
toets</strong> van een vorm gebruiken (die je <link>here</link> kan genereren).
|
||||||
titleEdit: Edit Marker
|
titleEdit: Bewerk markering
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: Je kunt maar twee markeringen plaatsen in de demo. Koop de standalone voor
|
desc: Je kunt maar twee markeringen plaatsen in de demo. Koop de standalone voor
|
||||||
een ongelimiteerde hoeveelheid markeringen!
|
een ongelimiteerde hoeveelheid markeringen!
|
||||||
@ -197,13 +198,20 @@ dialogs:
|
|||||||
desc: Je kunt het je niet veroorloven om de selectie te plakken! Weet je zeker
|
desc: Je kunt het je niet veroorloven om de selectie te plakken! Weet je zeker
|
||||||
dat je het wil knippen?
|
dat je het wil knippen?
|
||||||
editSignal:
|
editSignal:
|
||||||
title: Set Signal
|
title: Stel het signaal in.
|
||||||
descItems: "Kies een ingesteld item:"
|
descItems: "Kies een ingesteld item:"
|
||||||
descShortKey: ... of voer de <strong>short key</strong> van een vorm (Die je
|
descShortKey: ... of voer de <strong>hotkey</strong> in van een vorm (Die je
|
||||||
<link>hier</link> kunt vinden) in.
|
<link>hier</link> kunt vinden).
|
||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Hernoem opgeslagen spel
|
title: Hernoem opgeslagen spel
|
||||||
desc: Geef je opgeslagen spel een nieuwe naam.
|
desc: Geef je opgeslagen spel een nieuwe naam.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Beschikbaar
|
||||||
|
desc: Er is een tutorial video beschikbaar voor dit level! Zou je het willen bekijken?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: Er is een tutorial beschikbaar voor dit level, maar het is alleen
|
||||||
|
beschikbaar in het Engels. Zou je het toch graag kijken?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Beweeg speelveld
|
moveMap: Beweeg speelveld
|
||||||
@ -232,8 +240,8 @@ ingame:
|
|||||||
speed: Snelheid
|
speed: Snelheid
|
||||||
range: Bereik
|
range: Bereik
|
||||||
storage: Opslag
|
storage: Opslag
|
||||||
oneItemPerSecond: 1 voorwerp / s
|
oneItemPerSecond: 1 voorwerp/s
|
||||||
itemsPerSecond: <x> voorwerpen / s
|
itemsPerSecond: <x> voorwerpen/s
|
||||||
itemsPerSecondDouble: (x2)
|
itemsPerSecondDouble: (x2)
|
||||||
tiles: <x> tegels
|
tiles: <x> tegels
|
||||||
levelCompleteNotification:
|
levelCompleteNotification:
|
||||||
@ -265,9 +273,9 @@ ingame:
|
|||||||
description: Geeft alle vormen weer die in de HUB worden bezorgd.
|
description: Geeft alle vormen weer die in de HUB worden bezorgd.
|
||||||
noShapesProduced: Er zijn nog geen vormen geproduceerd.
|
noShapesProduced: Er zijn nog geen vormen geproduceerd.
|
||||||
shapesDisplayUnits:
|
shapesDisplayUnits:
|
||||||
second: <shapes> / s
|
second: <shapes>/s
|
||||||
minute: <shapes> / m
|
minute: <shapes>/m
|
||||||
hour: <shapes> / h
|
hour: <shapes>/h
|
||||||
settingsMenu:
|
settingsMenu:
|
||||||
playtime: Speeltijd
|
playtime: Speeltijd
|
||||||
buildingsPlaced: Gebouwen
|
buildingsPlaced: Gebouwen
|
||||||
@ -299,6 +307,30 @@ ingame:
|
|||||||
en lopende banden om het doel sneller te behalen.<br><br>Tip:
|
en lopende banden om het doel sneller te behalen.<br><br>Tip:
|
||||||
Houd <strong>SHIFT</strong> ingedrukt om meerdere ontginners te
|
Houd <strong>SHIFT</strong> ingedrukt om meerdere ontginners te
|
||||||
plaatsen en gebruik <strong>R</strong> om ze te draaien."
|
plaatsen en gebruik <strong>R</strong> om ze te draaien."
|
||||||
|
2_1_place_cutter: "Plaats nu een <strong>Knipper</strong> om de cirkels in twee te knippen
|
||||||
|
halves!<br><br> PS: De knipper knipt altijd van <strong>boven naar
|
||||||
|
onder</strong> ongeacht zijn oriëntatie."
|
||||||
|
2_2_place_trash: De knipper kan vormen <strong>verstoppen en bijhouden</strong>!<br><br> Gebruik een
|
||||||
|
<strong>vuilbak</strong> om van het (!) niet
|
||||||
|
nodige afval vanaf te geraken.
|
||||||
|
2_3_more_cutters: "Goed gedaan! Plaats nu <strong>2 extra knippers</strong> om dit traag
|
||||||
|
process te versnellen! <br><br> PS: Gebruik de <strong>0-9
|
||||||
|
sneltoetsen</strong> om gebouwen sneller te selecteren."
|
||||||
|
3_1_rectangles: "Laten we nu rechthoeken ontginnen! <strong>Bouw 4
|
||||||
|
ontginners</strong> en verbind ze met de lever.<br><br> PS:
|
||||||
|
Houd <strong>SHIFT</strong> Ingedrukt terwijl je lopende banden plaats
|
||||||
|
om ze te plannen!"
|
||||||
|
21_1_place_quad_painter: Plaats de <strong>quad painter</strong> en krijg een paar
|
||||||
|
<strong>cirkels</strong> in <strong>witte</strong> en
|
||||||
|
<strong>rode</strong> kleur!
|
||||||
|
21_2_switch_to_wires: Schakel naar de draden laag door te duwen op
|
||||||
|
<strong>E</strong>!<br><br> <strong>verbind daarna alle
|
||||||
|
inputs</strong> van de verver met kabels!
|
||||||
|
21_3_place_button: Mooi! Plaats nu een <strong>schakelaar</strong> en verbind het
|
||||||
|
met draden!
|
||||||
|
21_4_press_button: "Druk op de schakelaar om het een <strong>Juist signaal door
|
||||||
|
te geven</strong> en de verver te activeren.<br><br> PS: Je
|
||||||
|
moet niet alle inputs verbinden! Probeer er eens 2."
|
||||||
colors:
|
colors:
|
||||||
red: Rood
|
red: Rood
|
||||||
green: Groen
|
green: Groen
|
||||||
@ -320,7 +352,7 @@ ingame:
|
|||||||
watermark:
|
watermark:
|
||||||
title: Demo versie
|
title: Demo versie
|
||||||
desc: Klik hier om het spel op Steam te bekijken!
|
desc: Klik hier om het spel op Steam te bekijken!
|
||||||
get_on_steam: Get on steam
|
get_on_steam: Krijg het op Steam
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: Koop de volledige versie!
|
title: Koop de volledige versie!
|
||||||
no_thanks: Nee, bedankt!
|
no_thanks: Nee, bedankt!
|
||||||
@ -398,10 +430,10 @@ buildings:
|
|||||||
name: Roteerder
|
name: Roteerder
|
||||||
description: Draait vormen 90 graden met de klok mee.
|
description: Draait vormen 90 graden met de klok mee.
|
||||||
ccw:
|
ccw:
|
||||||
name: Roteerder (andersom)
|
name: Roteerder (omgekeerd)
|
||||||
description: Draait vormen 90 graden tegen de klok in.
|
description: Draait vormen 90 graden tegen de klok in.
|
||||||
rotate180:
|
rotate180:
|
||||||
name: Roteerder (180)
|
name: Roteerder (180°)
|
||||||
description: Draait vormen 180 graden.
|
description: Draait vormen 180 graden.
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
@ -435,7 +467,7 @@ buildings:
|
|||||||
name: Vuilnisbak
|
name: Vuilnisbak
|
||||||
description: Accepteert input van alle kanten en vernietigt het. Voor altijd.
|
description: Accepteert input van alle kanten en vernietigt het. Voor altijd.
|
||||||
hub:
|
hub:
|
||||||
deliver: Lever
|
deliver: Lever in
|
||||||
toUnlock: om te ontgrendelen
|
toUnlock: om te ontgrendelen
|
||||||
levelShortcut: LVL
|
levelShortcut: LVL
|
||||||
endOfDemo: End of Demo
|
endOfDemo: End of Demo
|
||||||
@ -458,11 +490,11 @@ buildings:
|
|||||||
name: Samenvoeger
|
name: Samenvoeger
|
||||||
description: Voeg 2 lopende banden samen.
|
description: Voeg 2 lopende banden samen.
|
||||||
splitter:
|
splitter:
|
||||||
name: Splitter (compact)
|
name: Splitser (compact)
|
||||||
description: Split een lopende band in tweeën.
|
description: Splits een lopende band in tweeën.
|
||||||
splitter-inverse:
|
splitter-inverse:
|
||||||
name: Splitter
|
name: Splitser
|
||||||
description: Split een lopende band in tweeën.
|
description: Splits een lopende band in tweeën.
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
name: Opslag
|
name: Opslag
|
||||||
@ -485,18 +517,18 @@ buildings:
|
|||||||
default:
|
default:
|
||||||
name: AND poort
|
name: AND poort
|
||||||
description: Zend een 1 uit als beide invoeren hetzelfde zijn. (Kan een vorm,
|
description: Zend een 1 uit als beide invoeren hetzelfde zijn. (Kan een vorm,
|
||||||
kleur of boolean (1 / 0) zijn)
|
kleur of boolean (1/0) zijn)
|
||||||
not:
|
not:
|
||||||
name: NOT poort
|
name: NOT poort
|
||||||
description: Zend een 1 uit als de invoer een 0 is.
|
description: Zend een 1 uit als de invoer een 0 is.
|
||||||
xor:
|
xor:
|
||||||
name: XOR poort
|
name: XOR poort
|
||||||
description: Zend een 1 uit als de invoeren niet hetzelfde zijn. (Kan een vorm,
|
description: Zend een 1 uit als de invoeren niet hetzelfde zijn. (Kan een vorm,
|
||||||
kleur of boolean (1 / 0) zijn)
|
kleur of boolean (1/0) zijn)
|
||||||
or:
|
or:
|
||||||
name: OR gate
|
name: OR poort
|
||||||
description: Zend een 1 uit als de invoeren wel of niet hetzelfde zijn, maar
|
description: Zend een 1 uit als de invoeren wel of niet hetzelfde zijn, maar
|
||||||
niet uit zijn. (Kan een vorm, kleur of boolean (1 / 0) zijn)
|
niet uit zijn. (Kan een vorm, kleur of boolean (1/0) zijn)
|
||||||
transistor:
|
transistor:
|
||||||
default:
|
default:
|
||||||
name: Transistor
|
name: Transistor
|
||||||
@ -513,7 +545,7 @@ buildings:
|
|||||||
default:
|
default:
|
||||||
name: Scherm
|
name: Scherm
|
||||||
description: Verbind een signaal met het scherm om de soort weer te geven. Kan
|
description: Verbind een signaal met het scherm om de soort weer te geven. Kan
|
||||||
een vorm, kleur of boolean (1 / 0) zijn.
|
een vorm, kleur of boolean (1/0) zijn.
|
||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Lopende band lezer
|
name: Lopende band lezer
|
||||||
@ -528,7 +560,7 @@ buildings:
|
|||||||
default:
|
default:
|
||||||
name: Vergelijker
|
name: Vergelijker
|
||||||
description: Zend 1 uit als beiden invoeren gelijk zijn, kunnen vormen, kleuren
|
description: Zend 1 uit als beiden invoeren gelijk zijn, kunnen vormen, kleuren
|
||||||
of booleans (1 / 0) zijn
|
of booleans (1/0) zijn
|
||||||
virtual_processor:
|
virtual_processor:
|
||||||
default:
|
default:
|
||||||
name: Virtuele Snijder
|
name: Virtuele Snijder
|
||||||
@ -555,12 +587,12 @@ buildings:
|
|||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Vormen Knippen
|
title: Vormen Knippen
|
||||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
desc: Je hebt juist de <strong>knipper</strong> ontgrendeld, die vormen in de helft
|
||||||
from top to bottom <strong>regardless of its
|
kan knippen van boven naar onder <strong>ongeacht zijn rotatie
|
||||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
</strong>!<br><br>Wees zeker dat je het afval weggooit, want
|
||||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
anders <strong>zal het vastlopen</strong> - Voor deze reden
|
||||||
I have given you the <strong>trash</strong>, which destroys
|
heb ik je de <strong>vuilbak</strong> gegeven, die alles
|
||||||
everything you put into it!
|
vernietigd wat je erin laat stromen!
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: Roteren
|
title: Roteren
|
||||||
desc: De <strong>roteerder</strong> is ontgrendeld - Het draait vormen 90 graden
|
desc: De <strong>roteerder</strong> is ontgrendeld - Het draait vormen 90 graden
|
||||||
@ -585,10 +617,10 @@ storyRewards:
|
|||||||
worden dan wordt het rechtervoorwerp <strong>boven op</strong> het
|
worden dan wordt het rechtervoorwerp <strong>boven op</strong> het
|
||||||
linker geplaatst!
|
linker geplaatst!
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Splitter/samenvoeger
|
title: Splitser/samenvoeger
|
||||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
desc: Je hebt de <strong>splitser</strong> ontgrendeld, een variant van de
|
||||||
<strong>balancer</strong> - It accepts one input and splits them
|
<strong>samenvoeger</strong> - Het accepteert 1 input en verdeelt het
|
||||||
into two!
|
in 2!
|
||||||
reward_tunnel:
|
reward_tunnel:
|
||||||
title: Tunnel
|
title: Tunnel
|
||||||
desc: De <strong>tunnel</strong> is ontgrendeld - Je kunt nu voorwerpen onder
|
desc: De <strong>tunnel</strong> is ontgrendeld - Je kunt nu voorwerpen onder
|
||||||
@ -601,15 +633,15 @@ storyRewards:
|
|||||||
wisselen</strong>!
|
wisselen</strong>!
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: Ketting-ontginner
|
title: Ketting-ontginner
|
||||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
desc: "Je hebt de <strong>Ketting-ontginner</strong> ontgrendeld! Het kan
|
||||||
<strong>forward its resources</strong> to other extractors so you
|
<strong>zijn materialen ontginnen</strong> via andere ontginners zodat je
|
||||||
can more efficiently extract resources!<br><br> PS: The old
|
meer materialen tegelijkertijd kan ontginnen!<br><br> PS: De oude
|
||||||
extractor has been replaced in your toolbar now!"
|
ontginner is vervangen in je toolbar!"
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: Tunnel Niveau II
|
title: Tunnel Niveau II
|
||||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a
|
desc: Je hebt een nieuwe variant van de <strong>tunnel</strong> ontgrendeld. - Het heeft een
|
||||||
<strong>bigger range</strong>, and you can also mix-n-match those
|
<strong>groter bereik</strong>, en je kan nu ook die tunnels mixen
|
||||||
tunnels now!
|
over en onder elkaar!
|
||||||
reward_cutter_quad:
|
reward_cutter_quad:
|
||||||
title: Quad Knippen
|
title: Quad Knippen
|
||||||
desc: Je hebt een variant van de <strong>knipper</strong> ontgrendeld - Dit
|
desc: Je hebt een variant van de <strong>knipper</strong> ontgrendeld - Dit
|
||||||
@ -621,18 +653,18 @@ storyRewards:
|
|||||||
tegelijk</strong> met één kleur in plaats van twee!
|
tegelijk</strong> met één kleur in plaats van twee!
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: Opslagbuffer
|
title: Opslagbuffer
|
||||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
desc: Je hebt een variant van de <strong>opslag</strong> ontgrendeld - Het laat je toe om
|
||||||
store items up to a given capacity!<br><br> It priorities the left
|
vormen op te slagen tot een bepaalde capaciteit!<br><br> Het verkiest de linkse
|
||||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
output, dus je kan het altijd gebruiken als een <strong>overloop poort</strong>!
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: Vrij spel
|
title: Vrij spel
|
||||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
desc: Je hebt het gedaan! Je hebt de <strong>free-play modus</strong> ontgrendeld! Dit betekend
|
||||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
dat vormen nu <strong>willekeurig</strong> gegenereerd worden!<br><br>
|
||||||
Since the hub will require a <strong>throughput</strong> from now
|
Omdat de hub vanaf nu een <strong>bepaald aantal vormen per seconden</strong> nodig heeft,
|
||||||
on, I highly recommend to build a machine which automatically
|
Raad ik echt aan een machine te maken die automatisch
|
||||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
de juiste vormen genereert!<br><br> De HUB geeft de vorm die je nodig hebt
|
||||||
shape on the wires layer, so all you have to do is to analyze it and
|
op de tweede laag met draden, dus alles wat je moet doen is dat analyseren
|
||||||
automatically configure your factory based on that.
|
en je fabriek dat automatisch laten maken op basis van dat.
|
||||||
reward_blueprints:
|
reward_blueprints:
|
||||||
title: Blauwdrukken
|
title: Blauwdrukken
|
||||||
desc: Je kunt nu delen van je fabriek <strong>kopiëren en plakken</strong>!
|
desc: Je kunt nu delen van je fabriek <strong>kopiëren en plakken</strong>!
|
||||||
@ -653,9 +685,9 @@ storyRewards:
|
|||||||
uitgebereid in de standalone!
|
uitgebereid in de standalone!
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Verdeler
|
title: Verdeler
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: De multifunctionele <strong>verdeler</strong> is nu ontgrendeld - Het kan
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
gebruikt worden om grotere <strong>te knippen en plakken</strong> vormen op meerdere
|
||||||
items</strong> onto multiple belts!
|
lopende banden te zetten
|
||||||
reward_merger:
|
reward_merger:
|
||||||
title: Compacte samenvoeger
|
title: Compacte samenvoeger
|
||||||
desc: Je hebt een variant op de <strong>samenvoeger</strong> van de
|
desc: Je hebt een variant op de <strong>samenvoeger</strong> van de
|
||||||
@ -672,17 +704,17 @@ storyRewards:
|
|||||||
je een item op de band 180 graden draaien!
|
je een item op de band 180 graden draaien!
|
||||||
reward_display:
|
reward_display:
|
||||||
title: Scherm
|
title: Scherm
|
||||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
desc: "Je hebt het <strong>scherm</strong> ontgrendeld - Verbind een signaal met de
|
||||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
laag van draden om het te visualiseren!<br><br> PS: Heb je gezien dat de lopende band
|
||||||
reader and storage output their last read item? Try showing it on a
|
lezer en opslag hun laatste vorm weergeven? Probeer het te tonen op
|
||||||
display!"
|
een scherm!"
|
||||||
reward_constant_signal:
|
reward_constant_signal:
|
||||||
title: Constante Signaal
|
title: Constante Signaal
|
||||||
desc: Je hebt het <strong>constante signaal</strong> vrijgespeeld op de kabel
|
desc: Je hebt het <strong>constante signaal</strong> vrijgespeeld op de kabel
|
||||||
dimensie! Dit gebouw is handig in samenwerking met <strong>item
|
dimensie! Dit gebouw is handig in samenwerking met <strong>item
|
||||||
filters</strong>.<br><br> Het constante signaal kan een
|
filters</strong>.<br><br> Het constante signaal kan een
|
||||||
<strong>vorm</strong>, <strong>kleur</strong> of
|
<strong>vorm</strong>, <strong>kleur</strong> of
|
||||||
<strong>boolean</strong> (1 / 0) zijn.
|
<strong>boolean</strong> (1/0) zijn.
|
||||||
reward_logic_gates:
|
reward_logic_gates:
|
||||||
title: Logische poorten
|
title: Logische poorten
|
||||||
desc: Je hebt de <strong>logische poorten</strong> vrijgespeeld! Misschien word
|
desc: Je hebt de <strong>logische poorten</strong> vrijgespeeld! Misschien word
|
||||||
@ -691,28 +723,29 @@ storyRewards:
|
|||||||
uitvoeren.<br><br> Als bonus krijg je ook nog een
|
uitvoeren.<br><br> Als bonus krijg je ook nog een
|
||||||
<strong>transistor</strong> van mij!
|
<strong>transistor</strong> van mij!
|
||||||
reward_virtual_processing:
|
reward_virtual_processing:
|
||||||
title: Virtual Processing
|
title: VIrtuele verwerking
|
||||||
desc: I just gave a whole bunch of new buildings which allow you to
|
desc: Ik heb juist een hele hoop nieuwe gebouwen toegevoegd die je toetstaan om
|
||||||
<strong>simulate the processing of shapes</strong>!<br><br> You can
|
<strong>het process van vormen te stimuleren</strong>!<br><br> Je kan
|
||||||
now simulate a cutter, rotater, stacker and more on the wires layer!
|
nu de knipper, draaier, stapelaar en meer op de dradenlaag stimuleren!
|
||||||
With this you now have three options to continue the game:<br><br> -
|
Met dit heb je nu 3 opties om verder te gaan met het spel:<br><br> -
|
||||||
Build an <strong>automated machine</strong> to create any possible
|
Bouw een <strong>automatische fabriek</strong> om eender welke mogelijke
|
||||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
vorm te maken gebraagd door de HUB (Ik raad aan dit te proberen!).<br><br> - Bouw
|
||||||
something cool with wires.<br><br> - Continue to play
|
iets cool met draden.<br><br> - Ga verder met normaal
|
||||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
spelen.<br><br> Wat je ook kiest, onthoud dat je plezier hoort te hebben!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Wires & Quad Painter
|
title: Wires & Quad Painter
|
||||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
desc: "Je hebt juist de <strong>draden laag</strong> ontgrendeld: Het is een aparte
|
||||||
layer on top of the regular layer and introduces a lot of new
|
laag boven op de huidige laag en introduceert heel veel nieuwe
|
||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
manieren om te spelen!<br><br> Voor het begin heb ik voor jou de <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> ontgrendeld - Verbind de gleuf waarin je wilt verven op
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
de draden laag!<br><br> Om over te schakelen naar de draden laag, Duw op
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Zet hints aan</strong> in
|
||||||
|
de instellingen om de draden tutorial te activeren!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: Je hebt de <strong>Item Filter</strong> vrijgespeeld! Items worden naar
|
desc: Je hebt de <strong>Item Filter</strong> vrijgespeeld! Items worden naar
|
||||||
rechts of naar boven gestuurd, afhankelijk van de invoer.<br><br> Er
|
rechts of naar boven gestuurd, afhankelijk van de invoer.<br><br> Er
|
||||||
kan ook een boolean (1 / 0) worden ingevoerd om de filter in en uit
|
kan ook een boolean (1/0) worden ingevoerd om de filter in en uit
|
||||||
te schakelen.
|
te schakelen.
|
||||||
reward_demo_end:
|
reward_demo_end:
|
||||||
title: Einde van de Demo
|
title: Einde van de Demo
|
||||||
@ -723,10 +756,10 @@ settings:
|
|||||||
general: Algemeen
|
general: Algemeen
|
||||||
userInterface: Opmaak
|
userInterface: Opmaak
|
||||||
advanced: Geavanceerd
|
advanced: Geavanceerd
|
||||||
performance: Performance
|
performance: Prestatie
|
||||||
versionBadges:
|
versionBadges:
|
||||||
dev: Ontwikkeling
|
dev: Ontwikkeling
|
||||||
staging: Staging
|
staging: Positie
|
||||||
prod: Productie
|
prod: Productie
|
||||||
buildDate: <at-date> gebouwd
|
buildDate: <at-date> gebouwd
|
||||||
labels:
|
labels:
|
||||||
@ -766,12 +799,12 @@ settings:
|
|||||||
description: Wanneer dit aan staat wordt alle muziek uitgeschakeld.
|
description: Wanneer dit aan staat wordt alle muziek uitgeschakeld.
|
||||||
theme:
|
theme:
|
||||||
title: Donkere modus
|
title: Donkere modus
|
||||||
description: Kies de gewenste weergave (licht / donker).
|
description: Kies de gewenste weergave (licht/donker).
|
||||||
themes:
|
themes:
|
||||||
dark: Donker
|
dark: Donker
|
||||||
light: Licht
|
light: Licht
|
||||||
refreshRate:
|
refreshRate:
|
||||||
title: Simulation Target
|
title: Simulatie doel
|
||||||
description: Wanneer je een 144 hz monitor hebt, verander de refresh rate hier
|
description: Wanneer je een 144 hz monitor hebt, verander de refresh rate hier
|
||||||
zodat het spel naar behoren weer blijft geven. Dit verlaagt
|
zodat het spel naar behoren weer blijft geven. Dit verlaagt
|
||||||
mogelijk de FPS als je computer te traag is.
|
mogelijk de FPS als je computer te traag is.
|
||||||
@ -835,11 +868,11 @@ settings:
|
|||||||
laatst geplaatst hebt. Dit kan handig zijn wanneer je vaak
|
laatst geplaatst hebt. Dit kan handig zijn wanneer je vaak
|
||||||
tussen verschillende soorten gebouwen wisselt.
|
tussen verschillende soorten gebouwen wisselt.
|
||||||
soundVolume:
|
soundVolume:
|
||||||
title: Sound Volume
|
title: Geluidsvolume
|
||||||
description: Set the volume for sound effects
|
description: Stel het volume voor geluidseffecten in.
|
||||||
musicVolume:
|
musicVolume:
|
||||||
title: Music Volume
|
title: Muziekvolume
|
||||||
description: Set the volume for music
|
description: Stel het volume voor muziek in.
|
||||||
lowQualityMapResources:
|
lowQualityMapResources:
|
||||||
title: Lage kwaliteit van resources
|
title: Lage kwaliteit van resources
|
||||||
description: Versimpeldde resources op de wereld wanneer ingezoomd om de
|
description: Versimpeldde resources op de wereld wanneer ingezoomd om de
|
||||||
@ -878,9 +911,13 @@ settings:
|
|||||||
Plaats de cursor boven, rechts, links of onder om daar naartoe
|
Plaats de cursor boven, rechts, links of onder om daar naartoe
|
||||||
te bewegen.
|
te bewegen.
|
||||||
zoomToCursor:
|
zoomToCursor:
|
||||||
title: Zoom towards Cursor
|
title: Zoom naar de Muis
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: "Wanneer geactiveert: de zoom zal gebeuren in de richting van je
|
||||||
position, otherwise in the middle of the screen.
|
muispositie, anders in het midden van het scherm."
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Kaartbronnen schaal
|
||||||
|
description: Controleert de grote van de vormen op het map overzicht (wanneer je
|
||||||
|
uitzoomt).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Sneltoetsen
|
title: Sneltoetsen
|
||||||
@ -976,7 +1013,7 @@ demo:
|
|||||||
restoringGames: Savegames terughalen
|
restoringGames: Savegames terughalen
|
||||||
importingGames: Savegames importeren
|
importingGames: Savegames importeren
|
||||||
oneGameLimit: Gelimiteerd tot één savegame
|
oneGameLimit: Gelimiteerd tot één savegame
|
||||||
customizeKeybindings: Custom sneltoetsen
|
customizeKeybindings: Aangepaste sneltoetsen
|
||||||
exportingBase: Exporteer volledige basis als afbeelding
|
exportingBase: Exporteer volledige basis als afbeelding
|
||||||
settingNotAvailable: Niet beschikbaar in de demo.
|
settingNotAvailable: Niet beschikbaar in de demo.
|
||||||
tips:
|
tips:
|
||||||
|
|||||||
@ -203,6 +203,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Beveg
|
moveMap: Beveg
|
||||||
@ -297,6 +305,30 @@ ingame:
|
|||||||
og belter for å nå målet raskere.<br><br>Tips: Hold
|
og belter for å nå målet raskere.<br><br>Tips: Hold
|
||||||
<strong>SHIFT</strong> for å plassere flere utdragere, og bruk
|
<strong>SHIFT</strong> for å plassere flere utdragere, og bruk
|
||||||
<strong>R</strong> for å rotere dem."
|
<strong>R</strong> for å rotere dem."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: Rød
|
red: Rød
|
||||||
green: Grønn
|
green: Grønn
|
||||||
@ -708,7 +740,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -880,6 +913,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Hurtigtaster
|
title: Hurtigtaster
|
||||||
|
|||||||
@ -206,6 +206,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Zmień nazwę zapisu gry
|
title: Zmień nazwę zapisu gry
|
||||||
desc: Tutaj możesz zmienić nazwę zapisu gry.
|
desc: Tutaj możesz zmienić nazwę zapisu gry.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Ruch
|
moveMap: Ruch
|
||||||
@ -315,6 +323,30 @@ ingame:
|
|||||||
szybciej.<br><br>Porada: Przytrzymaj <strong>SHIFT</strong>, by
|
szybciej.<br><br>Porada: Przytrzymaj <strong>SHIFT</strong>, by
|
||||||
postawić wiele ekstraktorów. Naciśnij <strong>R</strong>, by je
|
postawić wiele ekstraktorów. Naciśnij <strong>R</strong>, by je
|
||||||
obracać.'
|
obracać.'
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 ekstraktor
|
one_miner: 1 ekstraktor
|
||||||
n_miners: <amount> ekstraktorów
|
n_miners: <amount> ekstraktorów
|
||||||
@ -717,12 +749,13 @@ storyRewards:
|
|||||||
bawić!
|
bawić!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Przewody i poczwórny malarz
|
title: Przewody i poczwórny malarz
|
||||||
desc: "Właśnie odblokowałeś <strong>Warstwę przewodów</strong>: Jest to osobna
|
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||||
warstwa położnoa na istniejącej, która wprowadza wiele nowych
|
layer on top of the regular layer and introduces a lot of new
|
||||||
mechanik! <br><br> Na początek dałem ci <strong>Poczwórnego
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Malarza</strong> - Podłącz ćwiartki, które chcesz pomalować na
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
warstwie przewodów!<br><br> By przełączyć się na warstwę przewodów,
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
wciśnij <strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Filtr przedmiotów
|
title: Filtr przedmiotów
|
||||||
desc: Właśnie odblokowałeś <strong>Filtr Przedmiotów</strong>! Będzie on
|
desc: Właśnie odblokowałeś <strong>Filtr Przedmiotów</strong>! Będzie on
|
||||||
@ -892,6 +925,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Klawiszologia
|
title: Klawiszologia
|
||||||
|
|||||||
@ -198,6 +198,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Renomear Save
|
title: Renomear Save
|
||||||
desc: Você pode renomear seu save aqui.
|
desc: Você pode renomear seu save aqui.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Mover
|
moveMap: Mover
|
||||||
@ -307,6 +315,30 @@ ingame:
|
|||||||
esteiras para concluir o objetivo mais rapidamente.<br><br>Dica,
|
esteiras para concluir o objetivo mais rapidamente.<br><br>Dica,
|
||||||
segure <strong>SHIFT</strong> para colocar vários extratores e
|
segure <strong>SHIFT</strong> para colocar vários extratores e
|
||||||
use <strong>R</strong> para girá-los.
|
use <strong>R</strong> para girá-los.
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Extrator
|
one_miner: 1 Extrator
|
||||||
n_miners: <amount> Extratores
|
n_miners: <amount> Extratores
|
||||||
@ -707,12 +739,13 @@ storyRewards:
|
|||||||
lembre de se divertir!
|
lembre de se divertir!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Fios e Pintor Quádruplo
|
title: Fios e Pintor Quádruplo
|
||||||
desc: "Você acabou de desbloquear o <strong>Plano de Fiação</strong>: Ele é um
|
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||||
plano separado no topo do plano comum e introduz um monte de novas
|
layer on top of the regular layer and introduces a lot of new
|
||||||
mecânicas!<br><br> Para começar eu te dou o <strong>Pintor
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Quádruplo</strong> - Conecte a entrada que você quer que seja
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
colorida com o plano da fiação!<br><br> Para mudar de plano, aperte
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Filtro de Itens
|
title: Filtro de Itens
|
||||||
desc: Você desbloqueou o <strong>Filtro de Itens</strong>! Ele irá rotear os
|
desc: Você desbloqueou o <strong>Filtro de Itens</strong>! Ele irá rotear os
|
||||||
@ -889,6 +922,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Controles
|
title: Controles
|
||||||
|
|||||||
@ -206,6 +206,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Renomear Savegame
|
title: Renomear Savegame
|
||||||
desc: Podes renomear o teu savegame aqui.
|
desc: Podes renomear o teu savegame aqui.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Disponível
|
||||||
|
desc: Existe um vídeo de tutorial disponível para este nível! Gostarias de
|
||||||
|
o ver?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Disponível
|
||||||
|
desc: Existe um vídeo de tutorial disponível para este nível, mas apenas
|
||||||
|
está disponível em Inglês. Gostarias de o ver?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Mover
|
moveMap: Mover
|
||||||
@ -300,6 +308,30 @@ ingame:
|
|||||||
e tapetes para atingir o objetivo mais rapidamente.<br><br>Dica:
|
e tapetes para atingir o objetivo mais rapidamente.<br><br>Dica:
|
||||||
Pressiona <strong>SHIFT</strong> para colocar vários extratores,
|
Pressiona <strong>SHIFT</strong> para colocar vários extratores,
|
||||||
e usa <strong>R</strong> para os rodar."
|
e usa <strong>R</strong> para os rodar."
|
||||||
|
2_1_place_cutter: "Agora coloca um <strong>Cortador</strong> para cortares os circulos
|
||||||
|
em duas metades!<br><br> PS: O cortador corta sempre <strong>de cima para
|
||||||
|
baixo</strong> independentemente da sua orientação"
|
||||||
|
2_2_place_trash: O cortador pode <strong>encravar e parar</strong>!<br><br> Usa
|
||||||
|
um <strong>lixo</strong> para de livrares do atual (!) não
|
||||||
|
é necessário desperdício.
|
||||||
|
2_3_more_cutters: "Bom trabalho! Agora coloca<strong>mais 2 cortadores</strong> para acelerades
|
||||||
|
este progresso lento!<br><br> PS: Usa os <strong>atalhos
|
||||||
|
0-9</strong> para acederes às contruções mais rapidamente!"
|
||||||
|
3_1_rectangles: "Agora vamos extrair alguns retângulos! <strong>Constrói 4
|
||||||
|
extratores</strong> e conecta-os ao edifício central.<br><br> PS:
|
||||||
|
Pressiona <strong>SHIFT</strong> enquanto arrastas um tapete rolante
|
||||||
|
para ativares o planeador de tapetes!"
|
||||||
|
21_1_place_quad_painter: Coloca o <strong>pintor quádruplo</strong> e arranja alguns
|
||||||
|
<strong>círculos</strong>, cores <strong>branca</strong> e
|
||||||
|
<strong>vermelha</strong>!
|
||||||
|
21_2_switch_to_wires: Troca para a camada de fios pressionando
|
||||||
|
<strong>E</strong>!<br><br> A seguir <strong>conecta todas as quatro
|
||||||
|
entradas</strong> do pintor com fios!
|
||||||
|
21_3_place_button: Fantástico! Agora coloca o <strong>Interruptor</strong> e conecta-o
|
||||||
|
com os fios!
|
||||||
|
21_4_press_button: "Pressiona o interruptor para que ele <strong>emita um
|
||||||
|
sinal verdadeiro</strong>, isso irá ativar o pintor.<br><br> PS: Tu
|
||||||
|
não tens de conectar todas as entradas! Tenta conectar apenas duas."
|
||||||
colors:
|
colors:
|
||||||
red: Vermelho
|
red: Vermelho
|
||||||
green: Verde
|
green: Verde
|
||||||
@ -719,9 +751,10 @@ storyRewards:
|
|||||||
desc: "Desbloquaste a <strong>Camada de Fios</strong>: É uma camada separada no
|
desc: "Desbloquaste a <strong>Camada de Fios</strong>: É uma camada separada no
|
||||||
topo da camada normal e introduz um monte de novas
|
topo da camada normal e introduz um monte de novas
|
||||||
mecânicas!<br><br> Para o inicio eu dei-te o <strong>Pintor
|
mecânicas!<br><br> Para o inicio eu dei-te o <strong>Pintor
|
||||||
Quádruplo</strong> - Conecta as entradasque queres pintar na camada
|
Quádruplo</strong> - Conecta as entradas que queres pintar na camada
|
||||||
de fios!<br><br> Para trocares para a camada de fios, pressiona a
|
de fios!<br><br> Para trocares para a camada de fios, pressiona a
|
||||||
tecla <strong>E</strong>."
|
tecla <strong>E</strong>. <br><br> PS: <strong>Ativa as dicas</strong> nas
|
||||||
|
definições para ativares o tutorial de fios!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Filtro de Itens
|
title: Filtro de Itens
|
||||||
desc: Desbloquaste o <strong>Filtro de Itens</strong>! Vai mandar itens ou para
|
desc: Desbloquaste o <strong>Filtro de Itens</strong>! Vai mandar itens ou para
|
||||||
@ -897,6 +930,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Atalhos
|
title: Atalhos
|
||||||
@ -996,22 +1033,22 @@ demo:
|
|||||||
exportingBase: Exportar base como uma imagem
|
exportingBase: Exportar base como uma imagem
|
||||||
settingNotAvailable: Não disponível no Demo.
|
settingNotAvailable: Não disponível no Demo.
|
||||||
tips:
|
tips:
|
||||||
- O edifício central aceita qualquer entrada, não apenas a forma atual!
|
- O edifício central aceita qualquer entrada, não apenas a da forma atual!
|
||||||
- Tem a certeza que as tuas fábricas são modulares - vai valer a pena!
|
- Tem a certeza que as tuas fábricas são modulares - vai valer a pena!
|
||||||
- Não construas demasiado perto do edifício, ou vai ser um grande caos!
|
- Não construas demasiado perto do edifício, ou será um grande caos!
|
||||||
- Se empilhar não funciona, tenta trocar as entradas.
|
- Se empilhar não funciona, tenta trocar as entradas.
|
||||||
- Podes alternar a direção do planeador de tapete rolante ao pressionar
|
- Podes alternar a direção do planeador de tapete rolante ao pressionar
|
||||||
<b>R</b>.
|
<b>R</b>.
|
||||||
- Ao segurar <b>CTRL</b> podes arrastar tapetes rolantes sem auto-orientação.
|
- Ao pressionares <b>CTRL</b> podes arrastar tapetes rolantes sem auto-orientação.
|
||||||
- Os rácios continuam os mesmos, desde que todos os upgrades estejam no
|
- Os rácios continuam os mesmos, desde que todos os upgrades estejam no
|
||||||
mesmo Nível.
|
mesmo Nível.
|
||||||
- Execução em série é mais eficiente que em paralelo.
|
- Execução em série é mais eficiente que em paralelo.
|
||||||
- Vais desbloquear mais variações de edifícios mais tarde no jogo!
|
- Vais desbloquear mais variações de edifícios, mais tarde no jogo!
|
||||||
- Podes usar <b>T</b> para trocar entre as diferentes variantes.
|
- Podes usar <b>T</b> para trocares entre as diferentes variantes.
|
||||||
- Simetria é a solução!
|
- Simetria é a solução!
|
||||||
- Podes entrelaçar diferentes níveis de túneis.
|
- Podes entrelaçar diferentes tipos de túneis.
|
||||||
- Tenta construir fábricas compactas - vai valer a pena!
|
- Tenta construir fábricas compactas - vai valer a pena!
|
||||||
- O pintor tem uma variante espelhada que podes selectionar com <b>T</b>
|
- O pintor tem uma variante espelhada que podes selecionar com <b>T</b>
|
||||||
- Ter os rácios de edifícios corretos vai maximizar a eficiência.
|
- Ter os rácios de edifícios corretos vai maximizar a eficiência.
|
||||||
- No nível máximo, 5 extratores vão encher um tapete.
|
- No nível máximo, 5 extratores vão encher um tapete.
|
||||||
- Não te esqueças dos túneis!
|
- Não te esqueças dos túneis!
|
||||||
@ -1029,31 +1066,31 @@ tips:
|
|||||||
- As formas que estão mais longes do edifício central são mais complexas.
|
- As formas que estão mais longes do edifício central são mais complexas.
|
||||||
- As Máquinas têm uma velocidade limitada, divide-as para eficiência máxima.
|
- As Máquinas têm uma velocidade limitada, divide-as para eficiência máxima.
|
||||||
- Usa balanceadores para maximizar a tua eficiência.
|
- Usa balanceadores para maximizar a tua eficiência.
|
||||||
- Organização é importante. Tenta não cruzar tapetes demasiado.
|
- Organização é importante. Tenta não cruzar demasiados tapetes.
|
||||||
- Planeja antecipadamente, ou vai ser um grande caos!
|
- Planeia antecipadamente, ou vai ser um grande caos!
|
||||||
- Não removas as tuas fábricas antigas! Vais precisar delas para desbloquear
|
- Não removas as tuas fábricas antigas! Vais precisar delas para desbloqueares
|
||||||
upgrades.
|
upgrades.
|
||||||
- Tenta superar o nível 18 sozinho sem procurar ajuda!
|
- Tenta superar o nível 20 sozinho sem procurar ajuda!
|
||||||
- Não complicas as coisas, tenta continuar simples e irás muito longe.
|
- Não complicas as coisas, tenta continuar simples e irás muito longe.
|
||||||
- Talvez precises de reusar fábricas mais tarde no jogo. Planeia as tuas
|
- Talvez precises de reutilizar fábricas, mais tarde no jogo. Planeia as tuas
|
||||||
fábricas para serem reutilizáveis.
|
fábricas para serem reutilizáveis.
|
||||||
- Às vezes, podes encontrar uma forma necessária no mapa sem criar-la com
|
- Às vezes, podes encontrar uma forma necessária no mapa sem criar-la com
|
||||||
empilhadoras.
|
empilhadoras.
|
||||||
- Moinhos de vento e cataventos completos nunca aparecem naturalmente.
|
- Moinhos de vento e cataventos completos nunca aparecem naturalmente.
|
||||||
- Pinta as tuas formas antes de cortar-las para eficiência máxima.
|
- Pinta as tuas formas antes de as cortares para eficiência máxima.
|
||||||
- Com módulos, o espaço é apenas uma percepção; uma preocupação para pessoas
|
- Com módulos, o espaço é apenas uma perceção; uma preocupação para pessoas
|
||||||
mortais.
|
mortais.
|
||||||
- Faz uma fábrica de diagramas separada. São importantes para módulos.
|
- Faz uma fábrica de diagramas separada. São importantes para módulos.
|
||||||
- Dá uma olhada ao misturador de cores, e as tuas questões serão respondidas.
|
- Dá uma olhada ao misturador de cores, e as tuas questões serão respondidas.
|
||||||
- Use <b>CTRL</b> + Clique para selecionar uma área.
|
- Usa <b>CTRL</b> + Clique para selecionar uma área.
|
||||||
- Construir demasiado perto do edifício central pode ficar no caminho de
|
- Construir demasiado perto do edifício central pode ficar no caminho de
|
||||||
projetos futuros.
|
projetos futuros.
|
||||||
- O ícone de alfinete perto duma forma na lista de upgrades vai afixar-la ao
|
- O ícone de alfinete perto duma forma na lista de upgrades vai afixa-la ao
|
||||||
ecrã.
|
ecrã.
|
||||||
- Junta todas as cores primárias juntas para fazer branco!
|
- Junta todas as cores primárias para fazeres branco!
|
||||||
- Tu tens um mapa infinito, não limites a tua fábrica, expande!
|
- Tu tens um mapa infinito, não limites a tua fábrica, expande!
|
||||||
- Tenta também Factorio! É o meu jogo favorito.
|
- Tenta também Factorio! É o meu jogo favorito.
|
||||||
- O cortador quádruplo corta no sentido dos ponteiros começando no canto
|
- O cortador quádruplo corta no sentido dos ponteiros do relógio começando no canto
|
||||||
superior direito!
|
superior direito!
|
||||||
- Podes fazer download dos teus savegames no menu principal!
|
- Podes fazer download dos teus savegames no menu principal!
|
||||||
- Este jogo tem muitos atalhos de teclado úteis! Não te esqueças de
|
- Este jogo tem muitos atalhos de teclado úteis! Não te esqueças de
|
||||||
@ -1064,4 +1101,4 @@ tips:
|
|||||||
- Para limpar tapetes, corta a área e cola-a na mesma localização.
|
- Para limpar tapetes, corta a área e cola-a na mesma localização.
|
||||||
- Pressiona F4 para mostrar os teus FPS e Tick Rate.
|
- Pressiona F4 para mostrar os teus FPS e Tick Rate.
|
||||||
- Pressiona F4 duas vezes para mostrar a tile do teu rato e câmara.
|
- Pressiona F4 duas vezes para mostrar a tile do teu rato e câmara.
|
||||||
- Podes clicar numa forma afixada no lado direito para desafixar-la.
|
- Podes clicar numa forma afixada no lado direito para desafixa-la.
|
||||||
|
|||||||
@ -204,6 +204,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Move
|
moveMap: Move
|
||||||
@ -299,6 +307,30 @@ ingame:
|
|||||||
rapid.<br><br>Sfat: Ține apăsat <strong>SHIFT</strong> pentru a
|
rapid.<br><br>Sfat: Ține apăsat <strong>SHIFT</strong> pentru a
|
||||||
plasa mai multe extractoare, și flosește <strong>R</strong>
|
plasa mai multe extractoare, și flosește <strong>R</strong>
|
||||||
pentru a le roti."
|
pentru a le roti."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: Roșu
|
red: Roșu
|
||||||
green: Verde
|
green: Verde
|
||||||
@ -710,7 +742,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -884,6 +917,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Tastele setate
|
title: Tastele setate
|
||||||
|
|||||||
@ -1,51 +1,51 @@
|
|||||||
steamPage:
|
steamPage:
|
||||||
shortText: shapez.io — это игра о строительстве фабрик для автоматизации
|
shortText: shapez.io — это игра о строительстве фабрик для автоматизации
|
||||||
создания и объединения все более сложных фигур на бесконечной карте.
|
создания и объединения все более сложных фигур на бесконечной карте.
|
||||||
discordLinkShort: Official Discord
|
discordLinkShort: Официальный Discord сервер
|
||||||
intro: >-
|
intro: >-
|
||||||
Shapez.io is a relaxed game in which you have to build factories for the
|
Shapez.io - это спокойная игра о создании фабрик для автоматизации
|
||||||
automated production of geometric shapes.
|
создания сложных геометрических фигур.
|
||||||
|
|
||||||
As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
По мере управления уровня, фигуры становятся все сложнее, так что придется расширять фабрику засчет бесконечной карты.
|
||||||
|
|
||||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling!
|
Если этого мало, то Вам так же придется экспоненциально производить все больше и больше фигур, чтобы удовлетворить потребности Вашей фабрики. Ключ к успеху - расширение!
|
||||||
|
|
||||||
While you only process shapes at the beginning, you have to color them later - for this you have to extract and mix colors!
|
Вначале игры Вам понадобится производить только фигуры, однако позже фигуры надо будет окрашивать. Для этого добывайте и смешивайте краски!
|
||||||
|
|
||||||
Buying the game on Steam gives you access to the full version, but you can also play a demo on shapez.io first and decide later!
|
Приобретение игры в Steam предоставляет доступ к полной версии игры, но вы можете опробовать демоверсию игры на shapez.io и принять решение позже!
|
||||||
title_advantages: Standalone Advantages
|
title_advantages: Преимущества полной версии
|
||||||
advantages:
|
advantages:
|
||||||
- <b>12 New Level</b> for a total of 26 levels
|
- <b>12 новых уровней</b> - всего 26 уровней!
|
||||||
- <b>18 New Buildings</b> for a fully automated factory!
|
- <b>18 новых построек</b> для полностью автоматизированной фабрики!
|
||||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
- <b>20 стадий улучшения</b> для долгих часов веселья!
|
||||||
- <b>Wires Update</b> for an entirely new dimension!
|
- <b>Провода</b> - открывает полноценное новое измерение!
|
||||||
- <b>Dark Mode</b>!
|
- <b>Темная тема</b>!
|
||||||
- Unlimited Savegames
|
- Неограниченные сохранения
|
||||||
- Unlimited Markers
|
- Неограниченные маркеры
|
||||||
- Support me! ❤️
|
- Поддержите меня! ❤️
|
||||||
title_future: Planned Content
|
title_future: Запланированный контент
|
||||||
planned:
|
planned:
|
||||||
- Blueprint Library (Standalone Exclusive)
|
- Библиотека чертежей (только для Полной версии)
|
||||||
- Steam Achievements
|
- Достижения Steam
|
||||||
- Puzzle Mode
|
- Режим головоломок
|
||||||
- Minimap
|
- Мини-карта
|
||||||
- Mods
|
- Моды
|
||||||
- Sandbox mode
|
- Режим песочницы
|
||||||
- ... and a lot more!
|
- ... и многое другое!
|
||||||
title_open_source: This game is open source!
|
title_open_source: Эта игра находится в открытом доступе!
|
||||||
title_links: Links
|
title_links: Ссылки
|
||||||
links:
|
links:
|
||||||
discord: Official Discord
|
discord: Официальный Discord сервер
|
||||||
roadmap: Roadmap
|
roadmap: Планы
|
||||||
subreddit: Subreddit
|
subreddit: Subreddit
|
||||||
source_code: Source code (GitHub)
|
source_code: Исходный код (GitHub)
|
||||||
translate: Help translate
|
translate: Помочь с переводом
|
||||||
text_open_source: >-
|
text_open_source: >-
|
||||||
Anybody can contribute, I'm actively involved in the community and
|
Кто угодно может внести свой вклад в разработку игры - я активно
|
||||||
attempt to review all suggestions and take feedback into consideration
|
вовлечен в сообщество и стараюсь просмотреть все предложения и по
|
||||||
where possible.
|
возможности прислушиваться к отзывам.
|
||||||
|
|
||||||
Be sure to check out my trello board for the full roadmap!
|
Не забудьте заглянуть на мой Trello board, чтобы ознакомиться с планами на будущее!
|
||||||
global:
|
global:
|
||||||
loading: Загрузка
|
loading: Загрузка
|
||||||
error: Ошибка
|
error: Ошибка
|
||||||
@ -78,7 +78,7 @@ global:
|
|||||||
shift: SHIFT
|
shift: SHIFT
|
||||||
space: ПРОБЕЛ
|
space: ПРОБЕЛ
|
||||||
demoBanners:
|
demoBanners:
|
||||||
title: Демо-версия
|
title: Демоверсия
|
||||||
intro: Приобретите полную версию, чтобы разблокировать все возможности!
|
intro: Приобретите полную версию, чтобы разблокировать все возможности!
|
||||||
mainMenu:
|
mainMenu:
|
||||||
play: Играть
|
play: Играть
|
||||||
@ -96,7 +96,7 @@ mainMenu:
|
|||||||
newGame: Новая Игра
|
newGame: Новая Игра
|
||||||
madeBy: Создал <author-link>
|
madeBy: Создал <author-link>
|
||||||
subreddit: Reddit
|
subreddit: Reddit
|
||||||
savegameUnnamed: Unnamed
|
savegameUnnamed: Без названия
|
||||||
dialogs:
|
dialogs:
|
||||||
buttons:
|
buttons:
|
||||||
ok: OK
|
ok: OK
|
||||||
@ -121,9 +121,8 @@ dialogs:
|
|||||||
text: Не удалось загрузить сохранение игры.
|
text: Не удалось загрузить сохранение игры.
|
||||||
confirmSavegameDelete:
|
confirmSavegameDelete:
|
||||||
title: Подтвердите удаление.
|
title: Подтвердите удаление.
|
||||||
text: Are you sure you want to delete the following game?<br><br>
|
text: Вы уверены, что хотите удалить это сохранение?<br><br> '<savegameName>' на
|
||||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
уровне <savegameLevel><br><br> Это не может быть отменено!
|
||||||
undone!
|
|
||||||
savegameDeletionError:
|
savegameDeletionError:
|
||||||
title: Ошибка удаления
|
title: Ошибка удаления
|
||||||
text: Не удалось удалить сохранение игры.
|
text: Не удалось удалить сохранение игры.
|
||||||
@ -142,13 +141,13 @@ dialogs:
|
|||||||
title: Сброс управления
|
title: Сброс управления
|
||||||
desc: Настройки управления сброшены до соответствующих значений по умолчанию!
|
desc: Настройки управления сброшены до соответствующих значений по умолчанию!
|
||||||
featureRestriction:
|
featureRestriction:
|
||||||
title: Демо-версия
|
title: Демоверсия
|
||||||
desc: Вы попытались получить доступ к функции (<feature>), которая недоступна в
|
desc: Вы попытались получить доступ к функции (<feature>), которая недоступна в
|
||||||
демо-версии. Вы можете приобрести полную версию чтобы пользоваться
|
демоверсии. Вы можете приобрести полную версию чтобы пользоваться
|
||||||
всеми функциями!
|
всеми функциями!
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: Лимит сохранений
|
title: Лимит сохранений
|
||||||
desc: Вы можете иметь только одно сохранение игры в демо-версии. Пожалуйста,
|
desc: Вы можете иметь только одно сохранение игры в демоверсии. Пожалуйста,
|
||||||
удалите существующее или приобретите полную версию!
|
удалите существующее или приобретите полную версию!
|
||||||
updateSummary:
|
updateSummary:
|
||||||
title: Новое обновление!
|
title: Новое обновление!
|
||||||
@ -177,11 +176,12 @@ dialogs:
|
|||||||
Инвертировать направление размещаемых конвейерных лент.<br>"
|
Инвертировать направление размещаемых конвейерных лент.<br>"
|
||||||
createMarker:
|
createMarker:
|
||||||
title: Новый маркер
|
title: Новый маркер
|
||||||
desc: Give it a meaningful name, you can also include a <strong>short
|
desc: Дайте ему значимое название, вы также можете добавить <strong>короткий
|
||||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
ключ</strong> фигуры (Который можно сгенерировать
|
||||||
|
<link>здесь</link>)
|
||||||
titleEdit: Редактирование маркера
|
titleEdit: Редактирование маркера
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: Вы можете создать только 2 своих маркера в демо-версии. Приобретите полную
|
desc: Вы можете создать только 2 своих маркера в демоверсии. Приобретите полную
|
||||||
версию для безлимитных маркеров.
|
версию для безлимитных маркеров.
|
||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
title: Подтвердите вырезку
|
title: Подтвердите вырезку
|
||||||
@ -197,13 +197,19 @@ dialogs:
|
|||||||
desc: Вы не можете позволить себе вставить эту область! Вы уверены, что хотите
|
desc: Вы не можете позволить себе вставить эту область! Вы уверены, что хотите
|
||||||
вырезать ее?
|
вырезать ее?
|
||||||
editSignal:
|
editSignal:
|
||||||
title: Set Signal
|
title: Установить Сигнал
|
||||||
descItems: "Choose a pre-defined item:"
|
descItems: "Выберите объект:"
|
||||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
descShortKey: ... или введите <strong>короткий ключ</strong> фигуры (Который
|
||||||
can generate <link>here</link>)
|
можно сгенерировать <link>здесь</link>)
|
||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Переименовать Сохранение
|
||||||
desc: You can rename your savegame here.
|
desc: Здесь вы можете изменить название своего сохранения.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Доступно обучение
|
||||||
|
desc: Для этого уровня доступно видео-обучение! Посмотрите его?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Доступно обучение
|
||||||
|
desc: Для этого уровня доступно видео-обучение, но только на английском языке. Посмотрите его?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Передвижение
|
moveMap: Передвижение
|
||||||
@ -212,7 +218,7 @@ ingame:
|
|||||||
rotateBuilding: Повернуть постройку
|
rotateBuilding: Повернуть постройку
|
||||||
placeMultiple: Поставить несколько
|
placeMultiple: Поставить несколько
|
||||||
reverseOrientation: Реверсировать направление
|
reverseOrientation: Реверсировать направление
|
||||||
disableAutoOrientation: Отключить авто-определение направления
|
disableAutoOrientation: Отключить автоопределение направления
|
||||||
toggleHud: Переключить HUD
|
toggleHud: Переключить HUD
|
||||||
placeBuilding: Разместить постройку
|
placeBuilding: Разместить постройку
|
||||||
createMarker: Создать маркер
|
createMarker: Создать маркер
|
||||||
@ -244,7 +250,7 @@ ingame:
|
|||||||
notifications:
|
notifications:
|
||||||
newUpgrade: Новое улучшение доступно!
|
newUpgrade: Новое улучшение доступно!
|
||||||
gameSaved: Игра сохранена.
|
gameSaved: Игра сохранена.
|
||||||
freeplayLevelComplete: Level <level> has been completed!
|
freeplayLevelComplete: Уровень <level> завершён!
|
||||||
shop:
|
shop:
|
||||||
title: Улучшения
|
title: Улучшения
|
||||||
buttonUnlock: Улучшить
|
buttonUnlock: Улучшить
|
||||||
@ -265,9 +271,9 @@ ingame:
|
|||||||
description: Показывает фигуры, которые доставляются в хаб.
|
description: Показывает фигуры, которые доставляются в хаб.
|
||||||
noShapesProduced: Фигуры еще не произведены.
|
noShapesProduced: Фигуры еще не произведены.
|
||||||
shapesDisplayUnits:
|
shapesDisplayUnits:
|
||||||
second: <shapes> / s
|
second: <shapes> / с
|
||||||
minute: <shapes> / m
|
minute: <shapes> / м
|
||||||
hour: <shapes> / h
|
hour: <shapes> / ч
|
||||||
settingsMenu:
|
settingsMenu:
|
||||||
playtime: Игровое время
|
playtime: Игровое время
|
||||||
buildingsPlaced: Постройки
|
buildingsPlaced: Постройки
|
||||||
@ -298,6 +304,26 @@ ingame:
|
|||||||
конвейеров, чтобы достичь цели быстрее.<br><br>Подсказка:
|
конвейеров, чтобы достичь цели быстрее.<br><br>Подсказка:
|
||||||
Удерживайте <strong>SHIFT</strong> чтобы разместить несколько
|
Удерживайте <strong>SHIFT</strong> чтобы разместить несколько
|
||||||
экстракторов, а <strong>R</strong> чтобы вращать их."
|
экстракторов, а <strong>R</strong> чтобы вращать их."
|
||||||
|
2_1_place_cutter: "Разместите <strong>Резак</strong> для разрезания кругов на две половины!
|
||||||
|
<br><br> PS: Резак всегда разрезает <strong>сверху вниз</strong> независимо от ориентации."
|
||||||
|
2_2_place_trash: Резак может <strong>засориться и остановиться</strong>!<br><br> Используйте
|
||||||
|
<strong>мусорку</strong> что бы избавиться от в данный момент (!) ненужных частей.
|
||||||
|
2_3_more_cutters: "Хорошая работа! Теперь разместите <strong>ещё 2 резака</strong> что бы ускорить
|
||||||
|
этот медленный процесс!<br><br> PS: Используйте <strong>клавиши 0-9
|
||||||
|
</strong> для быстрого доступа к постройкам!"
|
||||||
|
3_1_rectangles: "Теперь давайте извлечём немного прямоугольников! <strong>Постройте 4
|
||||||
|
экстрактора</strong>и соедините их с хабом.<br><br> PS:
|
||||||
|
Удерживайте <strong>SHIFT</strong> во время удерживания конвейера для активации планировщика
|
||||||
|
конвейеров!"
|
||||||
|
21_1_place_quad_painter: Разместите <strong>покрасчик для 4 предметов</strong> и получите
|
||||||
|
<strong>круги</strong>, <strong>белого</strong> и
|
||||||
|
<strong>красного</strong> цветов!
|
||||||
|
21_2_switch_to_wires: Переключите слой проводов нажатием клавиши
|
||||||
|
<strong>E</strong>!<br><br> Потом <strong>соедините все входы</strong> покрасчика кабелями!
|
||||||
|
21_3_place_button: Отлично! Теперь разместите <strong>Переключатель</strong> и присоедини его проводами!
|
||||||
|
21_4_press_button: "Нажмите на переключатель что бы заставить его <strong>выдавать истинный сигнал
|
||||||
|
</strong> и активировать этим покрасчика.<br><br> PS: Не обязательно
|
||||||
|
соединять все входы! Достаточно двух."
|
||||||
colors:
|
colors:
|
||||||
red: Красный
|
red: Красный
|
||||||
green: Зеленый
|
green: Зеленый
|
||||||
@ -313,41 +339,41 @@ ingame:
|
|||||||
empty: Пусто
|
empty: Пусто
|
||||||
copyKey: Копировать
|
copyKey: Копировать
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Экстрактор
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Экстрактора(-ов)
|
||||||
limited_items: Limited to <max_throughput>
|
limited_items: Ограничено до <max_throughput>
|
||||||
watermark:
|
watermark:
|
||||||
title: Demo version
|
title: Демоверсия
|
||||||
desc: Click here to see the Steam version advantages!
|
desc: Нажмите сюда, чтобы узнать о преимуществах Steam версии!
|
||||||
get_on_steam: Get on steam
|
get_on_steam: Приобрести в Steam
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: Get the full version!
|
title: Приобретите полную версию!
|
||||||
no_thanks: No, thanks!
|
no_thanks: Нет, спасибо!
|
||||||
points:
|
points:
|
||||||
levels:
|
levels:
|
||||||
title: 12 New Levels
|
title: 12 Новых Уровней!
|
||||||
desc: For a total of 26 levels!
|
desc: Всего 26 уровней!
|
||||||
buildings:
|
buildings:
|
||||||
title: 18 New Buildings
|
title: 18 новых Построек!
|
||||||
desc: Fully automate your factory!
|
desc: Полностью автоматизируйте свою фабрику!
|
||||||
savegames:
|
savegames:
|
||||||
title: ∞ Savegames
|
title: ∞ Сохранений
|
||||||
desc: As many as your heart desires!
|
desc: Сколько Вашей душе угодно!
|
||||||
upgrades:
|
upgrades:
|
||||||
title: 20 Upgrade Tiers
|
title: 20 стадий улучшений!
|
||||||
desc: This demo version has only 5!
|
desc: В демоверсии всего 5!
|
||||||
markers:
|
markers:
|
||||||
title: ∞ Markers
|
title: ∞ Маркеров!
|
||||||
desc: Never get lost in your factory!
|
desc: Никогда не теряйтесь в своей фабрике!
|
||||||
wires:
|
wires:
|
||||||
title: Wires
|
title: Провода!
|
||||||
desc: An entirely new dimension!
|
desc: Полноценное дополнительное измерение!
|
||||||
darkmode:
|
darkmode:
|
||||||
title: Dark Mode
|
title: Темная Тема!
|
||||||
desc: Stop hurting your eyes!
|
desc: Дайте глазам отдохнуть!
|
||||||
support:
|
support:
|
||||||
title: Support me
|
title: Поддержите меня
|
||||||
desc: I develop it in my spare time!
|
desc: Я занимаюсь разработкой в свободное время!
|
||||||
shopUpgrades:
|
shopUpgrades:
|
||||||
belt:
|
belt:
|
||||||
name: Конвейеры, Разделители & Туннели
|
name: Конвейеры, Разделители & Туннели
|
||||||
@ -387,11 +413,11 @@ buildings:
|
|||||||
default:
|
default:
|
||||||
name: Резак
|
name: Резак
|
||||||
description: Разрезает фигуры сверху вниз и выводит обе половины. <strong>Если
|
description: Разрезает фигуры сверху вниз и выводит обе половины. <strong>Если
|
||||||
Вы собираетесь использовать только одну часть, уничтожьте
|
вы собираетесь использовать только одну часть, уничтожьте
|
||||||
другую, иначе производство остановится!</strong>
|
другую, иначе производство остановится!</strong>
|
||||||
quad:
|
quad:
|
||||||
name: Резак (4Вых.)
|
name: Резак (4Вых.)
|
||||||
description: Разрезает фигуры на четыре части. <strong>Если Вы собираетесь
|
description: Разрезает фигуры на четыре части. <strong>Если вы собираетесь
|
||||||
использовать не все части - уничтожьте оставшиеся, иначе
|
использовать не все части - уничтожьте оставшиеся, иначе
|
||||||
производство остановится!</strong>
|
производство остановится!</strong>
|
||||||
rotater:
|
rotater:
|
||||||
@ -402,8 +428,8 @@ buildings:
|
|||||||
name: Вращатель (Обр.)
|
name: Вращатель (Обр.)
|
||||||
description: Поворачивает фигуры против часовой стрелки на 90 градусов.
|
description: Поворачивает фигуры против часовой стрелки на 90 градусов.
|
||||||
rotate180:
|
rotate180:
|
||||||
name: Rotate (180)
|
name: Вращатель (180)
|
||||||
description: Rotates shapes by 180 degrees.
|
description: Поворачивает фигуры на 180 градусов.
|
||||||
stacker:
|
stacker:
|
||||||
default:
|
default:
|
||||||
name: Объединитель
|
name: Объединитель
|
||||||
@ -422,9 +448,9 @@ buildings:
|
|||||||
description: Красит фигуру из левых входов красителем из перпендикулярного.
|
description: Красит фигуру из левых входов красителем из перпендикулярного.
|
||||||
quad:
|
quad:
|
||||||
name: Покрасчик (4Вх.)
|
name: Покрасчик (4Вх.)
|
||||||
description: Allows you to color each quadrant of the shape individually. Only
|
description: Позволяет отдельно окрашивать каждую часть фигуры. Только ячейки с
|
||||||
slots with a <strong>truthy signal</strong> on the wires layer
|
<strong>положительным сигналом</strong> на слое с проводами
|
||||||
will be painted!
|
будут окрашены!
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Покрасчик
|
name: Покрасчик
|
||||||
description: Красит всю фигуру из левого входа красителем из перпендикулярного.
|
description: Красит всю фигуру из левого входа красителем из перпендикулярного.
|
||||||
@ -436,134 +462,139 @@ buildings:
|
|||||||
deliver: Доставить
|
deliver: Доставить
|
||||||
toUnlock: чтобы открыть
|
toUnlock: чтобы открыть
|
||||||
levelShortcut: Ур.
|
levelShortcut: Ур.
|
||||||
endOfDemo: End of Demo
|
endOfDemo: Конец Демо
|
||||||
wire:
|
wire:
|
||||||
default:
|
default:
|
||||||
name: Энерг. провод
|
name: Энерг. провод
|
||||||
description: Позволяет транспортировать энергию.
|
description: Позволяет транспортировать энергию.
|
||||||
second:
|
second:
|
||||||
name: Wire
|
name: Энерг. провод
|
||||||
description: Transfers signals, which can be items, colors or booleans (1 / 0).
|
description: Передает сигналы, которые могут быть ресурсами, цветами или
|
||||||
Different colored wires do not connect.
|
логическими значениями (1 / 0). Провода разных цветов не
|
||||||
|
соединяются.
|
||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
name: Balancer
|
name: Балансер
|
||||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
description: Многофункциональный - равномерно распределяет все входы на выходы.
|
||||||
merger:
|
merger:
|
||||||
name: Merger (compact)
|
name: Соединитель (компактный)
|
||||||
description: Merges two conveyor belts into one.
|
description: Соединяет две линии ковейера в одну.
|
||||||
merger-inverse:
|
merger-inverse:
|
||||||
name: Merger (compact)
|
name: Соединитель (компактный)
|
||||||
description: Merges two conveyor belts into one.
|
description: Соединяет две линии ковейера в одну.
|
||||||
splitter:
|
splitter:
|
||||||
name: Splitter (compact)
|
name: Разделитель (компактный)
|
||||||
description: Splits one conveyor belt into two.
|
description: Разделяет одну линию конвейера на две.
|
||||||
splitter-inverse:
|
splitter-inverse:
|
||||||
name: Splitter (compact)
|
name: Разделитель (компактный)
|
||||||
description: Splits one conveyor belt into two.
|
description: Разделяет одну линию конвейера на две.
|
||||||
storage:
|
storage:
|
||||||
default:
|
default:
|
||||||
name: Storage
|
name: Буферное Хранилище
|
||||||
description: Stores excess items, up to a given capacity. Prioritizes the left
|
description: Хранит излишние ресурсы пока есть место. Левый выход в приоритете,
|
||||||
output and can be used as an overflow gate.
|
может быть использован как буфер.
|
||||||
wire_tunnel:
|
wire_tunnel:
|
||||||
default:
|
default:
|
||||||
name: Wire Crossing
|
name: Пересечение Проводов
|
||||||
description: Allows to cross two wires without connecting them.
|
description: Позволяет пересекать провода при этом их не соединяя.
|
||||||
constant_signal:
|
constant_signal:
|
||||||
default:
|
default:
|
||||||
name: Constant Signal
|
name: Постоянный Сигнал
|
||||||
description: Emits a constant signal, which can be either a shape, color or
|
description: Издает постоянный сигнал, который может быть ресурсом, цветом или
|
||||||
boolean (1 / 0).
|
логическим значением (1 / 0).
|
||||||
lever:
|
lever:
|
||||||
default:
|
default:
|
||||||
name: Switch
|
name: Переключатель
|
||||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
description: Может быть переключен, чтобы издавать логический сигнал (1 / 0) на
|
||||||
which can then be used to control for example an item filter.
|
слое с проводами, который может быть использован для управления
|
||||||
|
Фильтром, например.
|
||||||
logic_gate:
|
logic_gate:
|
||||||
default:
|
default:
|
||||||
name: AND Gate
|
name: AND Gate
|
||||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
description: Издает значение "1" если оба входа положительны. (Положительный -
|
||||||
color or boolean "1")
|
значит ресурс, цвет или логическое значение "1")
|
||||||
not:
|
not:
|
||||||
name: NOT Gate
|
name: NOT Gate
|
||||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
description: Издает значение "1" если вход не положительный. (Положительный -
|
||||||
shape, color or boolean "1")
|
значит ресурс, цвет или логическое значение "1")
|
||||||
xor:
|
xor:
|
||||||
name: XOR Gate
|
name: XOR Gate
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
description: Издает значение "1" только один из входов положительный.
|
||||||
(Truthy means shape, color or boolean "1")
|
(Положительный - значит ресурс, цвет или логическое значение
|
||||||
|
"1")
|
||||||
or:
|
or:
|
||||||
name: OR Gate
|
name: OR Gate
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
description: Издает значение "1" если хотя бы один вход положительный.
|
||||||
shape, color or boolean "1")
|
(Положительный - значит ресурс, цвет или логическое значение
|
||||||
transistor:
|
"1").
|
||||||
default:
|
|
||||||
name: Transistor
|
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
|
||||||
color or "1").
|
|
||||||
mirrored:
|
|
||||||
name: Transistor
|
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
|
||||||
color or "1").
|
|
||||||
filter:
|
filter:
|
||||||
default:
|
default:
|
||||||
name: Filter
|
name: Фильтр
|
||||||
description: Connect a signal to route all matching items to the top and the
|
description: Подключите сигнал, чтобы направить все подходящие ресурсы наверх, а
|
||||||
remaining to the right. Can be controlled with boolean signals
|
остальные направо. Также контролируемо логическими сигналами.
|
||||||
too.
|
|
||||||
display:
|
display:
|
||||||
default:
|
default:
|
||||||
name: Display
|
name: Экран
|
||||||
description: Connect a signal to show it on the display - It can be a shape,
|
description: Подключите сигнал, чтобы отобразить его на экране. Это может
|
||||||
color or boolean.
|
ресурс, цвет или логическое значение (1 / 0).
|
||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Belt Reader
|
name: Измеритель
|
||||||
description: Allows to measure the average belt throughput. Outputs the last
|
description: Позволяет измерять среднюю пропускную способность конвейера.
|
||||||
read item on the wires layer (once unlocked).
|
Отображает последний прошедший ресурс на слое с проводами (когда
|
||||||
|
разблокировано).
|
||||||
analyzer:
|
analyzer:
|
||||||
default:
|
default:
|
||||||
name: Shape Analyzer
|
name: Анализатор Фигур
|
||||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
description: Анализирует правую верхнюю часть низшего слоя фигуры и возвращает
|
||||||
and returns its shape and color.
|
ее форму и цвет.
|
||||||
comparator:
|
comparator:
|
||||||
default:
|
default:
|
||||||
name: Compare
|
name: Сравнить
|
||||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
description: Возвращает значение "1" если оба сигнала полностью одинаковы. Может
|
||||||
shapes, items and booleans.
|
сравнивать фигуры, цвета и логические значения.
|
||||||
virtual_processor:
|
virtual_processor:
|
||||||
default:
|
default:
|
||||||
name: Virtual Cutter
|
name: Виртуальный Резак
|
||||||
description: Virtually cuts the shape into two halves.
|
description: Виртуально разрезает фигуру пополам.
|
||||||
rotater:
|
rotater:
|
||||||
name: Virtual Rotater
|
name: Виртуальный Вращатель
|
||||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
description: Виртуально вращает фигуру как по часовой стрелке, так и против
|
||||||
|
часовой стрелки.
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Virtual Unstacker
|
name: Виртуальный Разъединитель
|
||||||
description: Virtually extracts the topmost layer to the right output and the
|
description: Виртуально извлекает самый верхний слой фигуры направо, а все
|
||||||
remaining ones to the left.
|
остальное направо.
|
||||||
stacker:
|
stacker:
|
||||||
name: Virtual Stacker
|
name: Виртуальный Объединитель
|
||||||
description: Virtually stacks the right shape onto the left.
|
description: Виртуально помещает правый предмет поверх левого.
|
||||||
painter:
|
painter:
|
||||||
name: Virtual Painter
|
name: Виртуальный Покрасчик
|
||||||
description: Virtually paints the shape from the bottom input with the shape on
|
description: Виртуально окрашивает фигуру из нижнего входа цветом из правого
|
||||||
the right input.
|
входа.
|
||||||
item_producer:
|
item_producer:
|
||||||
default:
|
default:
|
||||||
name: Item Producer
|
name: Генератор Ресурсов
|
||||||
description: Available in sandbox mode only, outputs the given signal from the
|
description: Доступен только в режиме песочницы, производит заданный на слое с
|
||||||
wires layer on the regular layer.
|
проводами сигнал на обычном слое.
|
||||||
|
transistor:
|
||||||
|
default:
|
||||||
|
name: Транзистор
|
||||||
|
description: Пропускает предметы только если вход сбоку имеет истинноре значение (фигура,
|
||||||
|
цвет или "1").
|
||||||
|
mirrored:
|
||||||
|
name: Транзистор
|
||||||
|
description: Пропускает предметы только если вход сбоку имеет истинноре значение (фигура,
|
||||||
|
цвет или "1").
|
||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: Разрезание Фигур
|
title: Разрезание Фигур
|
||||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
desc: Разблокирован <strong>резак</strong>, который разрезает фигуры пополам по
|
||||||
from top to bottom <strong>regardless of its
|
вертикали <strong>независимо от ориентации</strong>!<br><br>Не
|
||||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
забудьте избавляться от излишков, иначе <strong>он забьется и
|
||||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
остановится</strong> - для этого я также открыл для Вас
|
||||||
I have given you the <strong>trash</strong>, which destroys
|
<strong>мусорку</strong>, которая уничтожает все, что в нее
|
||||||
everything you put into it!
|
попадает!
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: Вращение
|
title: Вращение
|
||||||
desc: Разблокирован <strong>вращатель</strong>! Он поворачивает фигуры по
|
desc: Разблокирован <strong>вращатель</strong>! Он поворачивает фигуры по
|
||||||
@ -586,9 +617,9 @@ storyRewards:
|
|||||||
правого входа <strong>наложится</strong> на фигуру из левого!
|
правого входа <strong>наложится</strong> на фигуру из левого!
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: Разделитель / Соединитель
|
title: Разделитель / Соединитель
|
||||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
desc: Разблокирован <strong>разделитель</strong> один из вариантов
|
||||||
<strong>balancer</strong> - It accepts one input and splits them
|
<strong>балансера</strong> - он принимает один вход и разделяет его
|
||||||
into two!
|
на два!
|
||||||
reward_tunnel:
|
reward_tunnel:
|
||||||
title: Туннель
|
title: Туннель
|
||||||
desc: Разблокирован <strong>туннель</strong>! Теперь вы можете транспортировать
|
desc: Разблокирован <strong>туннель</strong>! Теперь вы можете транспортировать
|
||||||
@ -600,10 +631,10 @@ storyRewards:
|
|||||||
<strong>нажмите 'T', чтобы переключить вариант</strong>!
|
<strong>нажмите 'T', чтобы переключить вариант</strong>!
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: Цепной Экстрактор
|
title: Цепной Экстрактор
|
||||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
desc: "Разблокирован <strong>цепной экстрактор</strong>! Он может
|
||||||
<strong>forward its resources</strong> to other extractors so you
|
<strong>передавать свои ресурсы</strong> другим экстракторам, чтобы
|
||||||
can more efficiently extract resources!<br><br> PS: The old
|
вы могли эффективнее извлекать ресурсы!<br><br> PS: Старый
|
||||||
extractor has been replaced in your toolbar now!"
|
экстрактор был заменен в панели инструментов!"
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: Туннель II
|
title: Туннель II
|
||||||
desc: Разблокирован новый вариант <strong>туннеля</strong> с <strong>большей
|
desc: Разблокирован новый вариант <strong>туннеля</strong> с <strong>большей
|
||||||
@ -619,18 +650,19 @@ storyRewards:
|
|||||||
одновременно</strong>, потребляя только один краситель вместо двух!
|
одновременно</strong>, потребляя только один краситель вместо двух!
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: Буферное Хранилище
|
title: Буферное Хранилище
|
||||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
desc: Разблокировано <strong>буферное хранилище</strong> - оно позволяет хранить
|
||||||
store items up to a given capacity!<br><br> It priorities the left
|
в нем ресурсы пока есть место! <br><br> Левый выход в приоритете,
|
||||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
может быть использован как <strong>буфер</strong>!
|
||||||
reward_freeplay:
|
reward_freeplay:
|
||||||
title: Свободная игра
|
title: Свободная игра
|
||||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
desc: У Вас получилось! Разблокирован <strong>свободный режим</strong>! Это
|
||||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
означает что теперь фигуры будут генерироваться
|
||||||
Since the hub will require a <strong>throughput</strong> from now
|
<strong>случайно</strong>!<br><br> Так как ХАБ отныне будет
|
||||||
on, I highly recommend to build a machine which automatically
|
требовать определенную <strong>пропускную способность</strong>, я
|
||||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
настоятельно рекомендую построить механизм, автоматически
|
||||||
shape on the wires layer, so all you have to do is to analyze it and
|
доставляющий запрашиваемую фигуру!<br><br> ХАБ выводит запрашиваемую
|
||||||
automatically configure your factory based on that.
|
фигуру на слое с проводами, так что все, что необходимо сделать, -
|
||||||
|
это проанализировать ее и автоматически настроить вашу фабрику.
|
||||||
reward_blueprints:
|
reward_blueprints:
|
||||||
title: Чертежи
|
title: Чертежи
|
||||||
desc: Теперь вы можете <strong>копировать и вставлять</strong> части вашей
|
desc: Теперь вы можете <strong>копировать и вставлять</strong> части вашей
|
||||||
@ -648,70 +680,71 @@ storyRewards:
|
|||||||
title: Следующий уровень
|
title: Следующий уровень
|
||||||
desc: Поздравляем! Кстати, больше контента планируется для полной версии!
|
desc: Поздравляем! Кстати, больше контента планируется для полной версии!
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Balancer
|
title: Балансер
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: Многофункциональный <strong>банансер</strong> разблокирован - Он используется для <strong>разделения и обьединения
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
потора предметов</strong> на несколько конвейеров!
|
||||||
items</strong> onto multiple belts!
|
|
||||||
reward_merger:
|
reward_merger:
|
||||||
title: Compact Merger
|
title: Компактный Соединитель
|
||||||
desc: You have unlocked a <strong>merger</strong> variant of the
|
desc: Разблокирован <strong>соединитель</strong> - вариант
|
||||||
<strong>balancer</strong> - It accepts two inputs and merges them
|
<strong>балансера</strong> - он принимает два входа и объединяет их
|
||||||
into one belt!
|
в один конвейер.
|
||||||
reward_belt_reader:
|
reward_belt_reader:
|
||||||
title: Belt reader
|
title: Измеритель
|
||||||
desc: You have now unlocked the <strong>belt reader</strong>! It allows you to
|
desc: Разблокирован <strong>измеритель</strong>! Он позволяет измерять
|
||||||
measure the throughput of a belt.<br><br>And wait until you unlock
|
пропускную способность конвейера.<br><br>А как полезен он будет,
|
||||||
wires - then it gets really useful!
|
когда вы разблокируете провода!
|
||||||
reward_rotater_180:
|
reward_rotater_180:
|
||||||
title: Rotater (180 degrees)
|
title: Вращатель (180 градусов)
|
||||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
desc: Разблокирован <strong>вращатель</strong> на 180 градусов! - Он позволяет
|
||||||
you to rotate a shape by 180 degress (Surprise! :D)
|
вращать фигур на 180 градусов (Сюрприз! :D)
|
||||||
reward_display:
|
reward_display:
|
||||||
title: Display
|
title: Экран
|
||||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
desc: "Разблокирован <strong>Экран</strong> - Подключите сигнал на слое с
|
||||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
проводами чтобы отобразить его!<br><br> PS: Заметили ли вы, что
|
||||||
reader and storage output their last read item? Try showing it on a
|
измеритель и буферное хранилище отображают последний ресурс,
|
||||||
display!"
|
прошедший через них? Попробуйте отобразить его на экране!"
|
||||||
reward_constant_signal:
|
reward_constant_signal:
|
||||||
title: Constant Signal
|
title: Постоянный Сигнал
|
||||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
desc: Разблокирован <strong>постоянный сигнал</strong> на слое с проводами! Он
|
||||||
layer! This is useful to connect it to <strong>item filters</strong>
|
полезен для подключения к <strong>фильтрам</strong>,
|
||||||
for example.<br><br> The constant signal can emit a
|
например.<br><br> Постоянный сигнал может издавать
|
||||||
<strong>shape</strong>, <strong>color</strong> or
|
<strong>фигуру</strong>, <strong>цвет</strong> или
|
||||||
<strong>boolean</strong> (1 / 0).
|
<strong>логическое значение</strong> (1 / 0).
|
||||||
reward_logic_gates:
|
reward_logic_gates:
|
||||||
title: Logic Gates
|
title: Логические Элементы
|
||||||
desc: You unlocked <strong>logic gates</strong>! You don't have to be excited
|
desc: Разблокированы <strong>логические элементы</strong>! Вы не обязаны
|
||||||
about this, but it's actually super cool!<br><br> With those gates
|
радоваться по этому поводу, но вообще это очень круто!<br><br> С
|
||||||
you can now compute AND, OR, XOR and NOT operations.<br><br> As a
|
этими элементами теперь вы можете производить И, ИЛИ, исключающее
|
||||||
bonus on top I also just gave you a <strong>transistor</strong>!
|
ИЛИ и НЕ операции.<br><br> Как бонус, я также дал вам
|
||||||
|
<strong>транзистор</strong>!
|
||||||
reward_virtual_processing:
|
reward_virtual_processing:
|
||||||
title: Virtual Processing
|
title: Виртуальное Производство
|
||||||
desc: I just gave a whole bunch of new buildings which allow you to
|
desc: Только что я открыл вам множество новых построек, которые позволят
|
||||||
<strong>simulate the processing of shapes</strong>!<br><br> You can
|
<strong>симулировать производство фигур</strong>!<br><br> Теперь вы
|
||||||
now simulate a cutter, rotater, stacker and more on the wires layer!
|
можете симулировать резак, вращатель, объединитель и др. на слое с
|
||||||
With this you now have three options to continue the game:<br><br> -
|
проводами! Теперь у вас есть три варианта продолжения игры:<br><br>
|
||||||
Build an <strong>automated machine</strong> to create any possible
|
- Построить <strong>автоматический механизм</strong> для
|
||||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
производства любой фигуры, запрашиваемой ХАБ (рекомендую
|
||||||
something cool with wires.<br><br> - Continue to play
|
попробовать!).<br><br> - Построить что-то клевое, используя
|
||||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
провода.<br><br> - Продолжить обычную игру. <br><br> Что бы вы не
|
||||||
|
выбрали, не забывайте хорошо проводить время!
|
||||||
reward_wires_painter_and_levers:
|
reward_wires_painter_and_levers:
|
||||||
title: Wires & Quad Painter
|
title: Провода & Покрасчик (4 входа)
|
||||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
desc: "Вы разблокировали <strong>Слой проводов</strong>: Это отдельный
|
||||||
layer on top of the regular layer and introduces a lot of new
|
слой выше обычного слоя и он предоставляет много новых
|
||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
механик!<br><br> Для начала я разблокировал тебе <strong>Покрасчик на 4 входа
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
</strong> - Соедини слоты которые нужно покрасить на слое проводов!<br><br> Для переключения видимости слоя проводов, нажми
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
<strong>E</strong>. <br><br> PS: <strong>Включи подсказки</strong> в
|
||||||
<strong>E</strong>."
|
настройках что бы активировать обучение по проводам!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Фильтр
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: Разблокирован <strong>Фильтр</strong>! Он направит ресурсы наверх или
|
||||||
to the top or the right output depending on whether they match the
|
направо в зависмости от того, совпадают ли они с установленным
|
||||||
signal from the wires layer or not.<br><br> You can also pass in a
|
сигналом. <br><br> Вы также можете передавать логические значения (1
|
||||||
boolean signal (1 / 0) to entirely activate or disable it.
|
/ 0), чтобы полностью отключить или включить его.
|
||||||
reward_demo_end:
|
reward_demo_end:
|
||||||
title: End of Demo
|
title: Конец Демо
|
||||||
desc: You have reached the end of the demo version!
|
desc: Вы достигли конца демоверсии игры!
|
||||||
settings:
|
settings:
|
||||||
title: Настройки
|
title: Настройки
|
||||||
categories:
|
categories:
|
||||||
@ -805,9 +838,9 @@ settings:
|
|||||||
description: Включает виньетирование, которое затемняет углы экрана и облегчает
|
description: Включает виньетирование, которое затемняет углы экрана и облегчает
|
||||||
чтение текста.
|
чтение текста.
|
||||||
autosaveInterval:
|
autosaveInterval:
|
||||||
title: Интервал авто-сохранения
|
title: Интервал автосохранения
|
||||||
description: Управляет тем, как часто игра автоматически сохраняется. Также
|
description: Управляет тем, как часто игра автоматически сохраняется. Также
|
||||||
здесь можно полностью отключить авто-сохранение.
|
здесь можно полностью отключить автосохранение.
|
||||||
intervals:
|
intervals:
|
||||||
one_minute: 1 Минута
|
one_minute: 1 Минута
|
||||||
two_minutes: 2 Минуты
|
two_minutes: 2 Минуты
|
||||||
@ -834,51 +867,53 @@ settings:
|
|||||||
установлен. С этой настройкой может быть удобнее, при частом
|
установлен. С этой настройкой может быть удобнее, при частом
|
||||||
переключении между различными типами зданий.
|
переключении между различными типами зданий.
|
||||||
soundVolume:
|
soundVolume:
|
||||||
title: Sound Volume
|
title: Громкость Звука
|
||||||
description: Set the volume for sound effects
|
description: Задает громкость звуковых эффектов.
|
||||||
musicVolume:
|
musicVolume:
|
||||||
title: Music Volume
|
title: Music Volume
|
||||||
description: Set the volume for music
|
description: Задает громкость музыки.
|
||||||
lowQualityMapResources:
|
lowQualityMapResources:
|
||||||
title: Low Quality Map Resources
|
title: Низкое качество ресурсов на карте
|
||||||
description: Simplifies the rendering of resources on the map when zoomed in to
|
description: Упрощает отображение ресурсов на карте при приближении для
|
||||||
improve performance. It even looks cleaner, so be sure to try it
|
улучшения производительности. Оно даже выглядит аккуратнее,
|
||||||
out!
|
поэтому обязательно попробуйте!
|
||||||
disableTileGrid:
|
disableTileGrid:
|
||||||
title: Disable Grid
|
title: Отключить Сетку
|
||||||
description: Disabling the tile grid can help with the performance. This also
|
description: Отключение разделительной сетки может помочь улучшить
|
||||||
makes the game look cleaner!
|
производительность. Кроме того, делает игру визуально проще!
|
||||||
clearCursorOnDeleteWhilePlacing:
|
clearCursorOnDeleteWhilePlacing:
|
||||||
title: Clear Cursor on Right Click
|
title: Очистить Курсор на ПКМ
|
||||||
description: Enabled by default, clears the cursor whenever you right click
|
description: Включено по умолчанию, очищает курсор от выбранной постройки при
|
||||||
while you have a building selected for placement. If disabled,
|
нажатии на ПКМ. Если отключено, вы можете удалять постройки при
|
||||||
you can delete buildings by right-clicking while placing a
|
нажатии на ПКМ во время строительства.
|
||||||
building.
|
|
||||||
lowQualityTextures:
|
lowQualityTextures:
|
||||||
title: Low quality textures (Ugly)
|
title: Низкое качество текстур (Некрасиво)
|
||||||
description: Uses low quality textures to save performance. This will make the
|
description: Использует низкое качество текстур, чтобы улучшить
|
||||||
game look very ugly!
|
производительность. Это сделает игру очень некрасивой!
|
||||||
displayChunkBorders:
|
displayChunkBorders:
|
||||||
title: Display Chunk Borders
|
title: Отображать границы чанков
|
||||||
description: The game is divided into chunks of 16x16 tiles, if this setting is
|
description: Эта игра разделена на чанки, состоящие из 16x16 ячеек, если эта
|
||||||
enabled the borders of each chunk are displayed.
|
настройка включена, границы чанков будут отображаться.
|
||||||
pickMinerOnPatch:
|
pickMinerOnPatch:
|
||||||
title: Pick miner on resource patch
|
title: Выбрать Экстрактор над Жилой
|
||||||
description: Enabled by default, selects the miner if you use the pipette when
|
description: Включено по умолчанию, выбирает экстрактор, если использовать
|
||||||
hovering a resource patch.
|
пипетку над жилой с ресурсами.
|
||||||
simplifiedBelts:
|
simplifiedBelts:
|
||||||
title: Simplified Belts (Ugly)
|
title: Упрощенные Конвейеры (Некрасиво)
|
||||||
description: Does not render belt items except when hovering the belt to save
|
description: Не отображает ресурсы, находящиеся на конвейере, если не навести
|
||||||
performance. I do not recommend to play with this setting if you
|
курсор для улучшения производительности. Не рекомендую играть с
|
||||||
do not absolutely need the performance.
|
этой настройкой, если вас устраивает производительность.
|
||||||
enableMousePan:
|
enableMousePan:
|
||||||
title: Enable Mouse Pan
|
title: Включить Перемещение Мышкой
|
||||||
description: Allows to move the map by moving the cursor to the edges of the
|
description: Позволяет двигать карту, перемещая курсор к краям экрана. Скорость
|
||||||
screen. The speed depends on the Movement Speed setting.
|
зависит от настройки Скорости движения.
|
||||||
zoomToCursor:
|
zoomToCursor:
|
||||||
title: Zoom towards Cursor
|
title: Приближение в точку курсора
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: Если включено, приближение будет в направлении курсора мыши,
|
||||||
position, otherwise in the middle of the screen.
|
иначе в центр экрана.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Размер ресурсов на карте
|
||||||
|
description: Устанавливает размер фигур на карте (когда вид достаточно отдалён).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Настройки управления
|
title: Настройки управления
|
||||||
@ -924,9 +959,9 @@ keybindings:
|
|||||||
massSelectStart: Модификатор для выделения области
|
massSelectStart: Модификатор для выделения области
|
||||||
massSelectSelectMultiple: Выбрать несколько областей
|
massSelectSelectMultiple: Выбрать несколько областей
|
||||||
massSelectCopy: Копировать область
|
massSelectCopy: Копировать область
|
||||||
placementDisableAutoOrientation: Отключить авто-определение направления
|
placementDisableAutoOrientation: Отключить автоопределение направления
|
||||||
placeMultiple: Оставаться в режиме размещения
|
placeMultiple: Оставаться в режиме размещения
|
||||||
placeInverse: Инвертировать авто-определение направления конвейеров
|
placeInverse: Инвертировать автоопределение направления конвейеров
|
||||||
pasteLastBlueprint: Вставить последний чертеж
|
pasteLastBlueprint: Вставить последний чертеж
|
||||||
massSelectCut: Вырезать область
|
massSelectCut: Вырезать область
|
||||||
exportScreenshot: Экспорт всей Базы в виде Изображения
|
exportScreenshot: Экспорт всей Базы в виде Изображения
|
||||||
@ -937,21 +972,21 @@ keybindings:
|
|||||||
menuClose: Закрыть меню
|
menuClose: Закрыть меню
|
||||||
switchLayers: Переключить слои
|
switchLayers: Переключить слои
|
||||||
wire: Энергетический провод
|
wire: Энергетический провод
|
||||||
balancer: Balancer
|
balancer: Балансер
|
||||||
storage: Storage
|
storage: Буферное Хранилище
|
||||||
constant_signal: Constant Signal
|
constant_signal: Постоянный Сигнал
|
||||||
logic_gate: Logic Gate
|
logic_gate: Логический Элемент
|
||||||
lever: Switch (regular)
|
lever: Переключатель (обычный)
|
||||||
filter: Filter
|
filter: Фильтр
|
||||||
wire_tunnel: Wire Crossing
|
wire_tunnel: Пересечение Проводов
|
||||||
display: Display
|
display: Экран
|
||||||
reader: Belt Reader
|
reader: Измеритель
|
||||||
virtual_processor: Virtual Cutter
|
virtual_processor: Виртуальный Резак
|
||||||
transistor: Transistor
|
transistor: Транзистор
|
||||||
analyzer: Shape Analyzer
|
analyzer: Анализатор Фигур
|
||||||
comparator: Compare
|
comparator: Сравнить
|
||||||
item_producer: Item Producer (Sandbox)
|
item_producer: Генератор Ресурсов (Песочница)
|
||||||
copyWireValue: "Wires: Copy value below cursor"
|
copyWireValue: "Провода: скопировать значение под курсором"
|
||||||
backwardsModifier: "Modifier: Cycle backwards"
|
backwardsModifier: "Modifier: Cycle backwards"
|
||||||
about:
|
about:
|
||||||
title: Об игре
|
title: Об игре
|
||||||
@ -976,65 +1011,67 @@ demo:
|
|||||||
oneGameLimit: Ограниченность одним сохранением игры
|
oneGameLimit: Ограниченность одним сохранением игры
|
||||||
customizeKeybindings: Пользовательская настройка Управления
|
customizeKeybindings: Пользовательская настройка Управления
|
||||||
exportingBase: Экспорт всей Базы в виде Изображения
|
exportingBase: Экспорт всей Базы в виде Изображения
|
||||||
settingNotAvailable: Не доступно в демо-версии.
|
settingNotAvailable: Недоступно в демоверсии.
|
||||||
tips:
|
tips:
|
||||||
- The hub accepts input of any kind, not just the current shape!
|
- ХАБ принимает любые ресурсы, не только текущую фигуру!
|
||||||
- Make sure your factories are modular - it will pay out!
|
- Старайтесь создавать модульные фабрики - вы не пожалеете!
|
||||||
- Don't build too close to the hub, or it will be a huge chaos!
|
- Не стройте слишком близко к ХАБ-у, иначе начнется ужасный хаос!
|
||||||
- If stacking does not work, try switching the inputs.
|
- Если не получается объединить фигуры, попробуйте поменять входы местами!
|
||||||
- You can toggle the belt planner direction by pressing <b>R</b>.
|
- Вы можете изменить направление конвейера при строительстве, нажав <b>R</b>.
|
||||||
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
- Удерживая <b>CTRL</b>, вы можете перемещать конвейеры без авто ориентации.
|
||||||
- Ratios stay the same, as long as all upgrades are on the same Tier.
|
- Соотношения всегда одинаковы, если уровни улучшений равны.
|
||||||
- Serial execution is more efficient than parallel.
|
- Последовательное выполнение эффективнее, чем параллельное.
|
||||||
- You will unlock more variants of buildings later in the game!
|
- Вам будут открываться новые варианты построек по мере прохождения!
|
||||||
- You can use <b>T</b> to switch between different variants.
|
- Нажмите <b>T</b>, чтобы переключаться между различными вариантами.
|
||||||
- Symmetry is key!
|
- Симметрия - ключ к успеху!
|
||||||
- You can weave different tiers of tunnels.
|
- Вы можете переплетать между собой туннели разных уровней.
|
||||||
- Try to build compact factories - it will pay out!
|
- Попробуйте строить компактные фабрики - вы не пожалеете!
|
||||||
- The painter has a mirrored variant which you can select with <b>T</b>
|
- Покрасчик имеет зеркальный вариант, который может быть выбран, нажав
|
||||||
- Having the right building ratios will maximize efficiency.
|
<b>T</b>.
|
||||||
- At maximum level, 5 extractors will fill a single belt.
|
- Правильные соотношения построек позволяет улучшить эффективность фабрики.
|
||||||
- Don't forget about tunnels!
|
- На максимальном уровне, 5 экстракторов заполняют один конвейер.
|
||||||
- You don't need to divide up items evenly for full efficiency.
|
- Резаки всегда разрезают пополам по вертикали вне зависимости от ориентации.
|
||||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
- Чтобы получить белый цвет, смешайте все три цвета.
|
||||||
long lines of belts easily.
|
- Удерживание <b>SHIFT</b> активирует планировщик конвейеров, что упрощает простройку длинных конвейеров.
|
||||||
- Cutters always cut vertically, regardless of their orientation.
|
- Вкладывайте время в строительство повторяемых механизмов - оно того стоит!
|
||||||
- To get white mix all three colors.
|
- Смешайте все три цвета для получения булого.
|
||||||
- The storage buffer priorities the first output.
|
- Буффер хранилища с большим приоритетом выдаёт на левый выход.
|
||||||
- Invest time to build repeatable designs - it's worth it!
|
- Эффективность - ключ к успеху!
|
||||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
- Удерживание <b>CTRL</b> даёт возможность размещения нескольких построек.
|
||||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
- Можно зажать <b>ALT</b> для инвертирования направления размещаемых конвейеров.
|
||||||
- Efficiency is key!
|
- Используйте балансеры, чтобы максимизировать эффективность.
|
||||||
- Shape patches that are further away from the hub are more complex.
|
- Организация очень важна, старайтесь не пересекать конвейеры слишком часто.
|
||||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
- Планируйте заранее, иначе начнется ужасный хаос!
|
||||||
- Use balancers to maximize your efficiency.
|
- Не удаляйте свои старые фабрики! Они понадобятся вам, чтобы открывать
|
||||||
- Organization is important. Try not to cross conveyors too much.
|
улучшения.
|
||||||
- Plan in advance, or it will be a huge chaos!
|
- Попробуйте пройти 20-ый уровень самостоятельно, прежде чем искать помощи!
|
||||||
- Don't remove your old factories! You'll need them to unlock upgrades.
|
- Не усложняйте себе жизнь, старайтесь думать проще и вы достигните больших
|
||||||
- Try beating level 20 on your own before seeking for help!
|
высот.
|
||||||
- Don't complicate things, try to stay simple and you'll go far.
|
- Вам может снова понадобиться ваша старая фабрика позже в игре. Старайтесь
|
||||||
- You may need to re-use factories later in the game. Plan your factories to
|
планировать фабрику, чтобы она могла быть повторно использована.
|
||||||
be re-usable.
|
- Иногда, вы можете найти необходимую фигуру на карте, вместо того, чтобы
|
||||||
- Sometimes, you can find a needed shape in the map without creating it with
|
создавать ее самостоятельно.
|
||||||
stackers.
|
- Полноценные мельницы/вертушки никогда не генерируются натурально.
|
||||||
- Full windmills / pinwheels can never spawn naturally.
|
- Окрашивайте свои фигуры, прежде чем разрезать для максимальной
|
||||||
- Color your shapes before cutting for maximum efficiency.
|
эффективности.
|
||||||
|
- С модулями теряется восприятие пространства; забота смертных.
|
||||||
|
- Создайте отдельную фабрику чертежей. Они очень важны для модулей.
|
||||||
|
- Взгляните внимательнее на смешиватель и вы найдете ответы на свои вопросы.
|
||||||
- With modules, space is merely a perception; a concern for mortal men.
|
- With modules, space is merely a perception; a concern for mortal men.
|
||||||
- Make a separate blueprint factory. They're important for modules.
|
- Строительство вблизи ХАБ-а может помешать будущим проектам.
|
||||||
- Have a closer look on the color mixer, and your questions will be answered.
|
- Иконка булавки на каждой фигуре закрепляет ее на экране.
|
||||||
- Use <b>CTRL</b> + Click to select an area.
|
- Используйте <b>CTRL</b> + ЛКМ для выбора области.
|
||||||
- Building too close to the hub can get in the way of later projects.
|
- В вашем распоряжении бесконечная карта! Не загромождайте вашу фабрику,
|
||||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
расширяйтесь!
|
||||||
- Mix all primary colors together to make white!
|
- Также попробуйте Factorio. Это моя любимая игра.
|
||||||
- You have an infinite map, don't cramp your factory, expand!
|
- Резак(4 входа) разрезает по часовой стрелке, начиная с правой верхней
|
||||||
- Also try Factorio! It's my favorite game.
|
части!
|
||||||
- The quad cutter cuts clockwise starting from the top right!
|
- Вы можете скачать свои сохранения в главном меню!
|
||||||
- You can download your savegames in the main menu!
|
- В этой игре множество полезных комбинаций клавиш. Загляните в настройки,
|
||||||
- This game has a lot of useful keybindings! Be sure to check out the
|
чтобы ознакомиться с ними.
|
||||||
settings page.
|
- В этой игре множество настроек, не забудьте с ними ознакомиться.
|
||||||
- This game has a lot of settings, be sure to check them out!
|
- Маркер ХАБ-а имеет небольшой компас, указывающий его направление.
|
||||||
- The marker to your hub has a small compass to indicate its direction!
|
- Нажмите F4, чтобы показать FPS и Частоту Обновления.
|
||||||
- To clear belts, cut the area and then paste it at the same location.
|
- Нажмите F4 дважды, чтобы показать координаты курсора и камеры.
|
||||||
- Press F4 to show your FPS and Tick Rate.
|
- Вы можете нажать на закрепленную фигуру слева, чтобы открепить ее.
|
||||||
- Press F4 twice to show the tile of your mouse and camera.
|
- Для очистки конвейеров, вырежьте область и вставьте её в то же место.
|
||||||
- You can click a pinned shape on the left side to unpin it.
|
|
||||||
|
|||||||
@ -199,6 +199,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Move
|
moveMap: Move
|
||||||
@ -307,6 +315,30 @@ ingame:
|
|||||||
and belts to finish the goal quicker.<br><br>Tip: Hold
|
and belts to finish the goal quicker.<br><br>Tip: Hold
|
||||||
<strong>SHIFT</strong> to place multiple extractors, and use
|
<strong>SHIFT</strong> to place multiple extractors, and use
|
||||||
<strong>R</strong> to rotate them."
|
<strong>R</strong> to rotate them."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -697,7 +729,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -867,6 +900,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Keybindings
|
title: Keybindings
|
||||||
|
|||||||
@ -199,6 +199,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Kretanje
|
moveMap: Kretanje
|
||||||
@ -307,6 +315,30 @@ ingame:
|
|||||||
pokretnih traka će ubrzati napredak do cilja.<br><br>Savet: Drži
|
pokretnih traka će ubrzati napredak do cilja.<br><br>Savet: Drži
|
||||||
<strong>SHIFT</strong> za postavljanje više rudara istovremeno,
|
<strong>SHIFT</strong> za postavljanje više rudara istovremeno,
|
||||||
a pritisni <strong>R</strong> za okretanje."
|
a pritisni <strong>R</strong> za okretanje."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -695,7 +727,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -865,6 +898,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Tasteri
|
title: Tasteri
|
||||||
|
|||||||
@ -203,6 +203,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Byt namn på sparfil
|
title: Byt namn på sparfil
|
||||||
desc: Du kan byta namn på din sparfil här.
|
desc: Du kan byta namn på din sparfil här.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Flytta
|
moveMap: Flytta
|
||||||
@ -297,6 +305,30 @@ ingame:
|
|||||||
för att klara målet snabbare.<br><br>Tips: Håll
|
för att klara målet snabbare.<br><br>Tips: Håll
|
||||||
<strong>SKIFT</strong> för att placera flera extraktörer, och
|
<strong>SKIFT</strong> för att placera flera extraktörer, och
|
||||||
använd <strong>R</strong> för att rotera dem."
|
använd <strong>R</strong> för att rotera dem."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: Röd
|
red: Röd
|
||||||
green: Grön
|
green: Grön
|
||||||
@ -637,7 +669,7 @@ storyRewards:
|
|||||||
title: Ritningar
|
title: Ritningar
|
||||||
desc: Du kan nu <strong>kopiera och klistra in</strong> delar av din fabrik!
|
desc: Du kan nu <strong>kopiera och klistra in</strong> delar av din fabrik!
|
||||||
Välj ett område (håll in CTRL, dra sedan med musen), och tryck 'C'
|
Välj ett område (håll in CTRL, dra sedan med musen), och tryck 'C'
|
||||||
för att kopiera det. <br><br>Att klistra in är<strong>inte
|
för att kopiera det. <br><br>Att klistra in är <strong>inte
|
||||||
gratis</strong>, du behöver producera
|
gratis</strong>, du behöver producera
|
||||||
<strong>ritningsformer</strong> för att ha råd med det! (De du just
|
<strong>ritningsformer</strong> för att ha råd med det! (De du just
|
||||||
levererade).
|
levererade).
|
||||||
@ -706,7 +738,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -877,6 +910,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Snabbtangenter
|
title: Snabbtangenter
|
||||||
|
|||||||
@ -201,6 +201,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Oyun Kaydının Yeniden Adlandır
|
title: Oyun Kaydının Yeniden Adlandır
|
||||||
desc: Oyun kaydını buradan adlandırabilirsiniz.
|
desc: Oyun kaydını buradan adlandırabilirsiniz.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Eğitim Mevcut
|
||||||
|
desc: Bu seviye için eğitim vidyosu mevcut! İzlemek
|
||||||
|
ister misin?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Eğitim Mevcut
|
||||||
|
desc: Bu seviye için eğitim vidyosu mevcut, ama İngilizce dilinde.
|
||||||
|
İzlemek ister misin?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Hareket Et
|
moveMap: Hareket Et
|
||||||
@ -261,9 +269,9 @@ ingame:
|
|||||||
description: Merkez binanıza giden bütün şekilleri gösterir.
|
description: Merkez binanıza giden bütün şekilleri gösterir.
|
||||||
noShapesProduced: Henüz hiçbir şekil üretilmedi.
|
noShapesProduced: Henüz hiçbir şekil üretilmedi.
|
||||||
shapesDisplayUnits:
|
shapesDisplayUnits:
|
||||||
second: <shapes> / s
|
second: <shapes> / sn
|
||||||
minute: <shapes> / m
|
minute: <shapes> / dk
|
||||||
hour: <shapes> / h
|
hour: <shapes> / sa
|
||||||
settingsMenu:
|
settingsMenu:
|
||||||
playtime: Oynama zamanı
|
playtime: Oynama zamanı
|
||||||
buildingsPlaced: Yapılar
|
buildingsPlaced: Yapılar
|
||||||
@ -294,6 +302,30 @@ ingame:
|
|||||||
yerleştir.<br><br>İpucu: Birden fazla üretici yerleştirmek için
|
yerleştir.<br><br>İpucu: Birden fazla üretici yerleştirmek için
|
||||||
<strong>SHIFT</strong> tuşuna basılı tut, ve <strong>R</strong>
|
<strong>SHIFT</strong> tuşuna basılı tut, ve <strong>R</strong>
|
||||||
tuşuyla taşıma bandının yönünü döndür."
|
tuşuyla taşıma bandının yönünü döndür."
|
||||||
|
2_1_place_cutter: "Şimdi daireleri yarıya bölmek için bir <strong>Kesici</strong> yerleştir!<br><br>
|
||||||
|
Not: Kesici şekilleri yönünden bağımsız olarak her zaman <strong>yukarıdan aşağıya</strong>
|
||||||
|
keser."
|
||||||
|
2_2_place_trash: Kesicinin çıkış hatları doluysa <strong>durabilir</strong>!<br><br>
|
||||||
|
Bunun için kullanılmayan çıktılara <strong>çöp</strong>
|
||||||
|
yerleştirin.
|
||||||
|
2_3_more_cutters: "İyi iş çıkardın! Şimdi işleri hızlandırmak için <strong>iki kesici daha</strong>
|
||||||
|
yerleştir.<br><br> Not: <strong>0-9 tuşlarını</strong> kullanarak yapılara
|
||||||
|
daha hızlı ulaşabilirsin!"
|
||||||
|
3_1_rectangles: "Şimdi biraz dikdörtgen üretelim! <strong>4 Üretici yerleştir</strong> ve
|
||||||
|
bunları merkeze bağla.<br><br> Not: <strong>SHIFT tuşuna</strong>
|
||||||
|
basılı tutarak bant planlayıcıyı
|
||||||
|
etkinleştir!"
|
||||||
|
21_1_place_quad_painter: <strong>Dörtlü boyayıcıyı</strong> yerleştirin ve <strong>daireyi</strong>,
|
||||||
|
<strong>beyaz</strong> ve <strong>kırmızı</strong> renkleri
|
||||||
|
elde edin!
|
||||||
|
21_2_switch_to_wires: Kablo katmanına <strong>E tuşuna</strong> basarak geçiş yapın!<br><br>
|
||||||
|
Sonra boyayıcının <strong>dört girişini kablolara
|
||||||
|
bağlayın</strong>!
|
||||||
|
21_3_place_button: Harika! Şimdi bir <strong>Anahtar</strong> yerleştirin ve onu
|
||||||
|
kablolarla bağlayın!
|
||||||
|
21_4_press_button: "Anahtara basarak <strong>gerçekçi sinyal(1) gönderin</strong> ve bununla
|
||||||
|
boyayıcıyı aktifleştirin.<br><br> Not: Bütün girişleri bağlamanıza gerek yok!
|
||||||
|
Sadece iki tanesini kabloyla bağlamayı deneyin."
|
||||||
colors:
|
colors:
|
||||||
red: Kırmızı
|
red: Kırmızı
|
||||||
green: Yeşil
|
green: Yeşil
|
||||||
@ -562,7 +594,7 @@ storyRewards:
|
|||||||
eden <strong>çöpü</strong> de verdim!
|
eden <strong>çöpü</strong> de verdim!
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: Döndürme
|
title: Döndürme
|
||||||
desc: <strong>Döndürücü</strong> açıldı! Döndürücü şekilleri saat yönüne 90
|
desc: <strong>Döndürücü</strong> açıldı! Döndürücü şekilleri saat yönünde 90
|
||||||
derece döndürür.
|
derece döndürür.
|
||||||
reward_painter:
|
reward_painter:
|
||||||
title: Boyama
|
title: Boyama
|
||||||
@ -653,9 +685,9 @@ storyRewards:
|
|||||||
desc: Deneme sürümünün sonuna geldin!
|
desc: Deneme sürümünün sonuna geldin!
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Dengeleyici
|
title: Dengeleyici
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: Çok fonksiyonlu <strong>dengeleyici</strong> açıldı. - <strong>Eşyaları
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
bantlara ayırarak ve bantları birleştirerek</strong> daha büyük
|
||||||
items</strong> onto multiple belts!
|
fabrikalar kurmak için kullanılabilir!
|
||||||
reward_merger:
|
reward_merger:
|
||||||
title: Tekil Birleştirici
|
title: Tekil Birleştirici
|
||||||
desc: <strong>Birleştiriciyi</strong> açtın ! <strong>dengeleyecinin</strong>
|
desc: <strong>Birleştiriciyi</strong> açtın ! <strong>dengeleyecinin</strong>
|
||||||
@ -671,17 +703,17 @@ storyRewards:
|
|||||||
döndürür (Süpriz! :D)
|
döndürür (Süpriz! :D)
|
||||||
reward_display:
|
reward_display:
|
||||||
title: Ekran
|
title: Ekran
|
||||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
desc: "<strong>Ekranı</strong> açtın. - Kablo katmanında bir sinyal bağla ve onu
|
||||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
ekranda göster! <br><br> Not: Bant okuyucunun ve deponun son
|
||||||
reader and storage output their last read item? Try showing it on a
|
okudukları eşyayı çıkardığını fark ettin mi? Bunu ekranda göstermeyi
|
||||||
display!"
|
dene!"
|
||||||
reward_constant_signal:
|
reward_constant_signal:
|
||||||
title: Sabit Sinyal
|
title: Sabit Sinyal
|
||||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
desc: Kablo katmanında inşa edilebilen <strong>sabit sinyal'i</strong> açtın!
|
||||||
layer! This is useful to connect it to <strong>item filters</strong>
|
Bu yapı örneğin <strong>eşya filtrelerine</strong> bağlanabilir.<br><br>
|
||||||
for example.<br><br> The constant signal can emit a
|
Sabit sinyal <strong>şekil</strong>, <strong>renk</strong> veya
|
||||||
<strong>shape</strong>, <strong>color</strong> or
|
<strong>ikili değer</strong> (1 veya 0)
|
||||||
<strong>boolean</strong> (1 or 0).
|
gönderelebilir.
|
||||||
reward_logic_gates:
|
reward_logic_gates:
|
||||||
title: Mantık Kapıları
|
title: Mantık Kapıları
|
||||||
desc: <strong>Mantık kapıları</strong> açıldı! Çok heyecanlanmana gerek yok, ama
|
desc: <strong>Mantık kapıları</strong> açıldı! Çok heyecanlanmana gerek yok, ama
|
||||||
@ -706,7 +738,8 @@ storyRewards:
|
|||||||
vardır!<br><br> Başlangıç olarak senin için <strong>Dörtlü
|
vardır!<br><br> Başlangıç olarak senin için <strong>Dörtlü
|
||||||
Boyayıcıyı</strong> açıyorum. - Kablo katmanında boyamak için
|
Boyayıcıyı</strong> açıyorum. - Kablo katmanında boyamak için
|
||||||
istediğin hatları bağla! <br><br> Kablo katmanına geçiş yapmak için
|
istediğin hatları bağla! <br><br> Kablo katmanına geçiş yapmak için
|
||||||
<strong>E</strong> tuşunu kullan."
|
<strong>E tuşunu </strong> kullan. <br><br> Not: İpuçlarını kablo eğitimlerini
|
||||||
|
görmek için ayarlarda aktifleştirmeyi unutma."
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Eşya Filtresi
|
title: Eşya Filtresi
|
||||||
desc: <strong>Eşya filtresini</strong> açtın! Kablo katmanından gelen sinyalle
|
desc: <strong>Eşya filtresini</strong> açtın! Kablo katmanından gelen sinyalle
|
||||||
@ -725,6 +758,7 @@ settings:
|
|||||||
staging: Yükseltme
|
staging: Yükseltme
|
||||||
prod: Üretim
|
prod: Üretim
|
||||||
buildDate: <at-date> derlendi
|
buildDate: <at-date> derlendi
|
||||||
|
rangeSliderPercentage: <amount> %
|
||||||
labels:
|
labels:
|
||||||
uiScale:
|
uiScale:
|
||||||
title: Arayüz Ölçeğİ
|
title: Arayüz Ölçeğİ
|
||||||
@ -872,10 +906,14 @@ settings:
|
|||||||
title: Fare Kaydırarak Hareket Etme
|
title: Fare Kaydırarak Hareket Etme
|
||||||
description: Fareyi ekranın köşelerine getirerek hareket ettirmeyi sağlar.
|
description: Fareyi ekranın köşelerine getirerek hareket ettirmeyi sağlar.
|
||||||
zoomToCursor:
|
zoomToCursor:
|
||||||
title: Zoom towards Cursor
|
title: Farenin Konumuna Yakınlaştırma
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: Eğer etkinleştirilirse zaman ekran yakınlaştırılması fare imlecinin
|
||||||
position, otherwise in the middle of the screen.
|
bulunduğu yere doğru olur. Etkinleştirilmezse yakınlaştırma
|
||||||
rangeSliderPercentage: <amount> %
|
ekranın ortasına doğru olur.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Uzak Bakışta Kaynakların Büyüklüğü
|
||||||
|
description: Haritaya uzaktan bakıldığında, haritadaki şekillerin büyüklüğünü
|
||||||
|
ayarlar.
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Tuş Atamaları
|
title: Tuş Atamaları
|
||||||
hint: "İpucu: CTRL, SHIFT ve ALT tuşlarından yararlanın! Farklı yerleştirme
|
hint: "İpucu: CTRL, SHIFT ve ALT tuşlarından yararlanın! Farklı yerleştirme
|
||||||
|
|||||||
@ -202,6 +202,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: Rename Savegame
|
title: Rename Savegame
|
||||||
desc: You can rename your savegame here.
|
desc: You can rename your savegame here.
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: Рухатися
|
moveMap: Рухатися
|
||||||
@ -311,6 +319,30 @@ ingame:
|
|||||||
швидше.<br><br>Підказка: Утримуйте <strong>SHIFT</strong>, щоб
|
швидше.<br><br>Підказка: Утримуйте <strong>SHIFT</strong>, щоб
|
||||||
розмістити багато екстракторів, і використовуйте
|
розмістити багато екстракторів, і використовуйте
|
||||||
<strong>R</strong>, щоб обертати їх."
|
<strong>R</strong>, щоб обертати їх."
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 Miner
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> Miners
|
||||||
@ -705,7 +737,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -878,6 +911,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: Гарячі клавіши
|
title: Гарячі клавіши
|
||||||
|
|||||||
@ -176,6 +176,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: 重命名存档
|
title: 重命名存档
|
||||||
desc: 您可以在此重命名存档。
|
desc: 您可以在此重命名存档。
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: 移动地图
|
moveMap: 移动地图
|
||||||
@ -262,6 +270,30 @@ ingame:
|
|||||||
1_2_conveyor: 用<strong>传送带</strong>将你的开采机连接到基地上!<br><br>提示:用你的鼠标<strong>按下并拖动</strong>传送带!
|
1_2_conveyor: 用<strong>传送带</strong>将你的开采机连接到基地上!<br><br>提示:用你的鼠标<strong>按下并拖动</strong>传送带!
|
||||||
1_3_expand: 这<strong>不是</strong>一个挂机游戏!建造更多的开采机和传送带来更快地完成目标。<br><br> 提示:按住
|
1_3_expand: 这<strong>不是</strong>一个挂机游戏!建造更多的开采机和传送带来更快地完成目标。<br><br> 提示:按住
|
||||||
<strong>SHIFT</strong> 键来放置多个开采机,用 <strong>R</strong> 键旋转它们。
|
<strong>SHIFT</strong> 键来放置多个开采机,用 <strong>R</strong> 键旋转它们。
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: 红色
|
red: 红色
|
||||||
green: 绿色
|
green: 绿色
|
||||||
@ -638,7 +670,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -791,6 +824,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: 按键设置
|
title: 按键设置
|
||||||
|
|||||||
@ -18,7 +18,7 @@ steamPage:
|
|||||||
- 無限存檔
|
- 無限存檔
|
||||||
- 無限標記
|
- 無限標記
|
||||||
- 支持我! ❤️
|
- 支持我! ❤️
|
||||||
title_future: Planned Content
|
title_future: 未來計劃
|
||||||
planned:
|
planned:
|
||||||
- 藍圖圖庫(單機版獨有)
|
- 藍圖圖庫(單機版獨有)
|
||||||
- Steam 成就
|
- Steam 成就
|
||||||
@ -79,8 +79,8 @@ mainMenu:
|
|||||||
openSourceHint: 本遊戲已開源!
|
openSourceHint: 本遊戲已開源!
|
||||||
discordLink: 官方 Discord 伺服器
|
discordLink: 官方 Discord 伺服器
|
||||||
helpTranslate: 幫助我們翻譯!
|
helpTranslate: 幫助我們翻譯!
|
||||||
browserWarning: 很抱歉, 本遊戲在當前瀏覽器上可能運行緩慢! 使用chrome或者獲取獨立版以得到更好的體驗。
|
browserWarning: 很抱歉, 本遊戲在當前瀏覽器上可能運行緩慢! 使用chrome或者獲取單機版以得到更好的體驗。
|
||||||
savegameLevel: Level <x>
|
savegameLevel: <x>級
|
||||||
savegameLevelUnknown: 未知關卡
|
savegameLevelUnknown: 未知關卡
|
||||||
continue: 繼續
|
continue: 繼續
|
||||||
newGame: 新遊戲
|
newGame: 新遊戲
|
||||||
@ -95,7 +95,7 @@ dialogs:
|
|||||||
later: 之後
|
later: 之後
|
||||||
restart: 重啟
|
restart: 重啟
|
||||||
reset: 重置
|
reset: 重置
|
||||||
getStandalone: 獲得獨立版
|
getStandalone: 獲得單機版
|
||||||
deleteGame: 我知道我在做什麼
|
deleteGame: 我知道我在做什麼
|
||||||
viewUpdate: 查看更新
|
viewUpdate: 查看更新
|
||||||
showUpgrades: 顯示建築升級
|
showUpgrades: 顯示建築升級
|
||||||
@ -129,10 +129,10 @@ dialogs:
|
|||||||
desc: 成功重置了所有按鍵!
|
desc: 成功重置了所有按鍵!
|
||||||
featureRestriction:
|
featureRestriction:
|
||||||
title: 演示版
|
title: 演示版
|
||||||
desc: 你嘗試使用了 <feature> 功能。該功能在演示版中不可用。請考慮購買獨立版以獲得更好的體驗。
|
desc: 你嘗試使用了 <feature> 功能。該功能在演示版中不可用。請考慮購買單機版以獲得更好的體驗。
|
||||||
oneSavegameLimit:
|
oneSavegameLimit:
|
||||||
title: 存檔數量限制
|
title: 存檔數量限制
|
||||||
desc: 演示版中只能保存一份存檔。請刪除舊存檔或者獲取獨立版!
|
desc: 演示版中只能保存一份存檔。請刪除舊存檔或者獲取單機版!
|
||||||
updateSummary:
|
updateSummary:
|
||||||
title: 更新了!
|
title: 更新了!
|
||||||
desc: "以下為自上次遊戲以來更新的內容:"
|
desc: "以下為自上次遊戲以來更新的內容:"
|
||||||
@ -153,9 +153,9 @@ dialogs:
|
|||||||
class='keybinding'>ALT</code>: 反向放置傳送帶。 <br>"
|
class='keybinding'>ALT</code>: 反向放置傳送帶。 <br>"
|
||||||
createMarker:
|
createMarker:
|
||||||
title: 創建標記
|
title: 創建標記
|
||||||
desc: Give it a meaningful name, you can also include a <strong>short
|
desc: 給地圖標記起一個的名字。 你可以在名字中加入一個<strong>短代碼</strong>以加入圖形。 (你可以在 <link>here</link>
|
||||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
生成短代碼。)
|
||||||
titleEdit: Edit Marker
|
titleEdit: 修改標記
|
||||||
markerDemoLimit:
|
markerDemoLimit:
|
||||||
desc: 在演示版中你只能創建兩個地圖標記。請獲取單機版以創建更多標記。
|
desc: 在演示版中你只能創建兩個地圖標記。請獲取單機版以創建更多標記。
|
||||||
massCutConfirm:
|
massCutConfirm:
|
||||||
@ -175,6 +175,14 @@ dialogs:
|
|||||||
renameSavegame:
|
renameSavegame:
|
||||||
title: 重新命名存檔
|
title: 重新命名存檔
|
||||||
desc: 你可以在這裡重新命名存檔
|
desc: 你可以在這裡重新命名存檔
|
||||||
|
tutorialVideoAvailable:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level! Would you like to
|
||||||
|
watch it?
|
||||||
|
tutorialVideoAvailableForeignLanguage:
|
||||||
|
title: Tutorial Available
|
||||||
|
desc: There is a tutorial video available for this level, but it is only
|
||||||
|
available in English. Would you like to watch it?
|
||||||
ingame:
|
ingame:
|
||||||
keybindingsOverlay:
|
keybindingsOverlay:
|
||||||
moveMap: 移動
|
moveMap: 移動
|
||||||
@ -262,6 +270,30 @@ ingame:
|
|||||||
<br><br>提示:用你的游標<strong>按下並拖動</strong>傳送帶!
|
<br><br>提示:用你的游標<strong>按下並拖動</strong>傳送帶!
|
||||||
1_3_expand: 這<strong>不是</strong>一個放置型遊戲!建造更多的開採機和傳送帶來更快地完成目標。 <br><br>
|
1_3_expand: 這<strong>不是</strong>一個放置型遊戲!建造更多的開採機和傳送帶來更快地完成目標。 <br><br>
|
||||||
提示:按住<strong>SHIFT</strong>鍵來放置多個開採機,用<strong>R</strong>鍵旋轉它們。
|
提示:按住<strong>SHIFT</strong>鍵來放置多個開採機,用<strong>R</strong>鍵旋轉它們。
|
||||||
|
2_1_place_cutter: "Now place a <strong>Cutter</strong> to cut the circles in two
|
||||||
|
halves!<br><br> PS: The cutter always cuts from <strong>top to
|
||||||
|
bottom</strong> regardless of its orientation."
|
||||||
|
2_2_place_trash: The cutter can <strong>clog and stall</strong>!<br><br> Use a
|
||||||
|
<strong>trash</strong> to get rid of the currently (!) not
|
||||||
|
needed waste.
|
||||||
|
2_3_more_cutters: "Good job! Now place <strong>2 more cutters</strong> to speed
|
||||||
|
up this slow process!<br><br> PS: Use the <strong>0-9
|
||||||
|
hotkeys</strong> to access buildings faster!"
|
||||||
|
3_1_rectangles: "Now let's extract some rectangles! <strong>Build 4
|
||||||
|
extractors</strong> and connect them to the hub.<br><br> PS:
|
||||||
|
Hold <strong>SHIFT</strong> while dragging a belt to activate
|
||||||
|
the belt planner!"
|
||||||
|
21_1_place_quad_painter: Place the <strong>quad painter</strong> and get some
|
||||||
|
<strong>circles</strong>, <strong>white</strong> and
|
||||||
|
<strong>red</strong> color!
|
||||||
|
21_2_switch_to_wires: Switch to the wires layer by pressing
|
||||||
|
<strong>E</strong>!<br><br> Then <strong>connect all four
|
||||||
|
inputs</strong> of the painter with cables!
|
||||||
|
21_3_place_button: Awesome! Now place a <strong>Switch</strong> and connect it
|
||||||
|
with wires!
|
||||||
|
21_4_press_button: "Press the switch to make it <strong>emit a truthy
|
||||||
|
signal</strong> and thus activate the painter.<br><br> PS: You
|
||||||
|
don't have to connect all inputs! Try wiring only two."
|
||||||
colors:
|
colors:
|
||||||
red: 紅
|
red: 紅
|
||||||
green: 綠
|
green: 綠
|
||||||
@ -277,13 +309,13 @@ ingame:
|
|||||||
empty: 空
|
empty: 空
|
||||||
copyKey: Copy Key
|
copyKey: Copy Key
|
||||||
connectedMiners:
|
connectedMiners:
|
||||||
one_miner: 1 Miner
|
one_miner: 1 個開採機
|
||||||
n_miners: <amount> Miners
|
n_miners: <amount> 個開採機
|
||||||
limited_items: Limited to <max_throughput>
|
limited_items: Limited to <max_throughput>
|
||||||
watermark:
|
watermark:
|
||||||
title: Demo version
|
title: Demo version
|
||||||
desc: Click here to see the Steam version advantages!
|
desc: Click here to see the Steam version advantages!
|
||||||
get_on_steam: Get on steam
|
get_on_steam: 在 Steam 上取得
|
||||||
standaloneAdvantages:
|
standaloneAdvantages:
|
||||||
title: 取得單機版!
|
title: 取得單機版!
|
||||||
no_thanks: 不用了,謝謝!
|
no_thanks: 不用了,謝謝!
|
||||||
@ -296,7 +328,7 @@ ingame:
|
|||||||
desc: 邁向完全自動化!
|
desc: 邁向完全自動化!
|
||||||
savegames:
|
savegames:
|
||||||
title: ∞ 個存檔
|
title: ∞ 個存檔
|
||||||
desc: As many as your heart desires!
|
desc: 隨心所欲!
|
||||||
upgrades:
|
upgrades:
|
||||||
title: 20 個等級
|
title: 20 個等級
|
||||||
desc: 試玩版只有 5 個。
|
desc: 試玩版只有 5 個。
|
||||||
@ -401,7 +433,7 @@ buildings:
|
|||||||
balancer:
|
balancer:
|
||||||
default:
|
default:
|
||||||
name: 平衡機
|
name: 平衡機
|
||||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
description: 多功能——將所有輸入平均分配到所有輸出。
|
||||||
merger:
|
merger:
|
||||||
name: 合流機(右)
|
name: 合流機(右)
|
||||||
description: 將兩個傳送帶整合成一個。
|
description: 將兩個傳送帶整合成一個。
|
||||||
@ -429,35 +461,31 @@ buildings:
|
|||||||
boolean (1 / 0).
|
boolean (1 / 0).
|
||||||
lever:
|
lever:
|
||||||
default:
|
default:
|
||||||
name: Switch
|
name: 信號切換器
|
||||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
||||||
which can then be used to control for example an item filter.
|
which can then be used to control for example an item filter.
|
||||||
logic_gate:
|
logic_gate:
|
||||||
default:
|
default:
|
||||||
name: AND Gate
|
name: AND 邏輯閘
|
||||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
description: 當輸入均為「真」時,輸出才為1。 (「真」值代表:形狀正確、顏色正確或布林值為1)
|
||||||
color or boolean "1")
|
|
||||||
not:
|
not:
|
||||||
name: NOT Gate
|
name: NOT 邏輯閘
|
||||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
description: 當輸入之ㄧ為「假」時,輸出才為1。 (「假」值代表:形狀不正確、顏色不正確或布林值為0)
|
||||||
shape, color or boolean "1")
|
|
||||||
xor:
|
xor:
|
||||||
name: XOR Gate
|
name: XOR 邏輯閘
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
description: 當輸入均為「假」時,輸出才為1。 (「假」值代表:形狀不正確、顏色不正確或布林值為0)
|
||||||
(Truthy means shape, color or boolean "1")
|
|
||||||
or:
|
or:
|
||||||
name: OR Gate
|
name: OR 邏輯閘
|
||||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
description: 當輸入之ㄧ為「真」時,輸出才為1。 (「真」值代表:形狀正確、顏色正確或布林值為1)
|
||||||
shape, color or boolean "1")
|
|
||||||
transistor:
|
transistor:
|
||||||
default:
|
default:
|
||||||
name: Transistor
|
name: 電晶體
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
description: 如果基極(側面)的輸入訊號為「真」,則把射極(底部)輸入的真假值複製到集極(頂部)的輸出。
|
||||||
color or "1").
|
(「真」值代表:形狀正確、顏色正確或布林值為1)
|
||||||
mirrored:
|
mirrored:
|
||||||
name: Transistor
|
name: 電晶體
|
||||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
description: 如果基極(側面)的輸入訊號為「真」,則把射極(底部)輸入的真假值複製到集極(頂部)的輸出。
|
||||||
color or "1").
|
(「真」值代表:形狀正確、顏色正確或布林值為1)
|
||||||
filter:
|
filter:
|
||||||
default:
|
default:
|
||||||
name: Filter
|
name: Filter
|
||||||
@ -471,54 +499,48 @@ buildings:
|
|||||||
color or boolean.
|
color or boolean.
|
||||||
reader:
|
reader:
|
||||||
default:
|
default:
|
||||||
name: Belt Reader
|
name: 傳送帶讀取機
|
||||||
description: Allows to measure the average belt throughput. Outputs the last
|
description: Allows to measure the average belt throughput. Outputs the last
|
||||||
read item on the wires layer (once unlocked).
|
read item on the wires layer (once unlocked).
|
||||||
analyzer:
|
analyzer:
|
||||||
default:
|
default:
|
||||||
name: Shape Analyzer
|
name: 形狀分析機
|
||||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
description: Analyzes the top right quadrant of the lowest layer of the shape
|
||||||
and returns its shape and color.
|
and returns its shape and color.
|
||||||
comparator:
|
comparator:
|
||||||
default:
|
default:
|
||||||
name: Compare
|
name: 比較機
|
||||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
||||||
shapes, items and booleans.
|
shapes, items and booleans.
|
||||||
virtual_processor:
|
virtual_processor:
|
||||||
default:
|
default:
|
||||||
name: Virtual Cutter
|
name: 虛擬切割機
|
||||||
description: Virtually cuts the shape into two halves.
|
description: 虛擬地將圖形從上到下切開並輸出。
|
||||||
rotater:
|
rotater:
|
||||||
name: Virtual Rotater
|
name: 虛擬旋轉機
|
||||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
description: 虛擬地將圖形順時針或逆時針旋轉。
|
||||||
unstacker:
|
unstacker:
|
||||||
name: Virtual Unstacker
|
name: 虛擬提取機
|
||||||
description: Virtually extracts the topmost layer to the right output and the
|
description: 虛擬地提取最上層的圖形到右方輸出,剩下的圖形由左方輸出。
|
||||||
remaining ones to the left.
|
|
||||||
stacker:
|
stacker:
|
||||||
name: Virtual Stacker
|
name: 虛擬堆疊機
|
||||||
description: Virtually stacks the right shape onto the left.
|
description: 虛擬地將輸入的圖形拼貼在一起。如果不能被直接拼貼,右邊的圖形會被疊在左邊的圖形上面。
|
||||||
painter:
|
painter:
|
||||||
name: Virtual Painter
|
name: 虛擬上色機
|
||||||
description: Virtually paints the shape from the bottom input with the shape on
|
description: 虛擬地將整個圖形塗上輸入的顏色。
|
||||||
the right input.
|
|
||||||
item_producer:
|
item_producer:
|
||||||
default:
|
default:
|
||||||
name: Item Producer
|
name: 物品製造機
|
||||||
description: Available in sandbox mode only, outputs the given signal from the
|
description: 沙盒模式專有,將電路層的輸入轉化成一般層的輸出。
|
||||||
wires layer on the regular layer.
|
|
||||||
storyRewards:
|
storyRewards:
|
||||||
reward_cutter_and_trash:
|
reward_cutter_and_trash:
|
||||||
title: 切割圖形
|
title: 切割圖形
|
||||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
desc: <strong>切割機</strong>已解鎖。不論切割機的方向,它都會把圖形<strong>垂直地</strong>切成兩半。
|
||||||
from top to bottom <strong>regardless of its
|
<br><br>記得把不需要的部分處理掉,否則這個這個建築會<strong>停止運作</strong>。
|
||||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
為此我給你準備了<strong>垃圾桶</strong>,它會把所有放進去的物品銷毀掉。
|
||||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
|
||||||
I have given you the <strong>trash</strong>, which destroys
|
|
||||||
everything you put into it!
|
|
||||||
reward_rotater:
|
reward_rotater:
|
||||||
title: 順時針旋轉
|
title: 順時針旋轉
|
||||||
desc: <strong>旋轉機</strong>已解鎖。它會順時針旋轉輸入的圖形90度。
|
desc: <strong>順時針旋轉機</strong>已解鎖。它會順時針旋轉輸入的圖形90度。
|
||||||
reward_painter:
|
reward_painter:
|
||||||
title: 上色
|
title: 上色
|
||||||
desc: <strong>上色機</strong>已解鎖。開採一些顏色,用上色機把顏色和圖形混合,就可以為圖形著色。<br><br>備註:如果你是色盲,設置中有<strong>色盲模式</strong>可以選。
|
desc: <strong>上色機</strong>已解鎖。開採一些顏色,用上色機把顏色和圖形混合,就可以為圖形著色。<br><br>備註:如果你是色盲,設置中有<strong>色盲模式</strong>可以選。
|
||||||
@ -529,7 +551,7 @@ storyRewards:
|
|||||||
title: 混合
|
title: 混合
|
||||||
desc: <strong>混合機</strong>已解鎖。如果沒有重疊的部分,混合機會嘗試把兩個輸入的圖形<strong>拼貼</strong>在一起。如果有重疊的部分,右邊的輸入會被<strong>疊</strong>到左邊的輸入上方!
|
desc: <strong>混合機</strong>已解鎖。如果沒有重疊的部分,混合機會嘗試把兩個輸入的圖形<strong>拼貼</strong>在一起。如果有重疊的部分,右邊的輸入會被<strong>疊</strong>到左邊的輸入上方!
|
||||||
reward_splitter:
|
reward_splitter:
|
||||||
title: 分離/合併
|
title: 分流
|
||||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||||
<strong>balancer</strong> - It accepts one input and splits them
|
<strong>balancer</strong> - It accepts one input and splits them
|
||||||
into two!
|
into two!
|
||||||
@ -538,28 +560,24 @@ storyRewards:
|
|||||||
desc: <strong>隧道</strong>已解鎖。你現在可以從其他傳送帶或建築底下運送物品了!
|
desc: <strong>隧道</strong>已解鎖。你現在可以從其他傳送帶或建築底下運送物品了!
|
||||||
reward_rotater_ccw:
|
reward_rotater_ccw:
|
||||||
title: 逆時針旋轉
|
title: 逆時針旋轉
|
||||||
desc: You have unlocked a variant of the <strong>rotater</strong> - It allows
|
desc: <strong>逆時針旋轉機</strong>已解鎖。它會逆時針旋轉輸入的圖形90度。
|
||||||
you to rotate shapes counter-clockwise! To build it, select the
|
逆時針旋轉機是順時針旋轉機的變體。選擇「順時針旋轉機」並<strong>按「T」來切換變體</strong>就能創建。
|
||||||
rotater and <strong>press 'T' to cycle through its
|
|
||||||
variants</strong>!
|
|
||||||
reward_miner_chainable:
|
reward_miner_chainable:
|
||||||
title: 鏈式開採機
|
title: 鏈式開採
|
||||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
desc: "<strong>鏈式開採機</strong>變體已解鎖。它是開採機的一個變體。
|
||||||
<strong>forward its resources</strong> to other extractors so you
|
它可以將開採出來的資源<strong>傳遞</strong>給其他的開採機,使得資源提取更加高效!<br><br> PS:
|
||||||
can more efficiently extract resources!<br><br> PS: The old
|
工具列中舊的開採機已被取代。"
|
||||||
extractor has been replaced in your toolbar now!"
|
|
||||||
reward_underground_belt_tier_2:
|
reward_underground_belt_tier_2:
|
||||||
title: 貳級隧道
|
title: 貳級隧道
|
||||||
desc: <strong>貳級隧道</strong>變體已解鎖。這個隧道有<strong>更長的傳輸距離</strong>。你還可以混用不同的隧道變體!
|
desc: <strong>貳級隧道</strong>變體已解鎖。這個隧道有<strong>更長的傳輸距離</strong>。你還可以混用不同的隧道變體!
|
||||||
reward_cutter_quad:
|
reward_cutter_quad:
|
||||||
title: 四分切割機
|
title: 四分切割
|
||||||
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you
|
desc: 您已解鎖了<strong>切割機</strong>的變體:四分切割機。
|
||||||
to cut shapes in <strong>four parts</strong> instead of just two!
|
它允許您將形狀直接切割為<strong>四個部分</strong>,而不是兩個!
|
||||||
reward_painter_double:
|
reward_painter_double:
|
||||||
title: 雙倍上色機
|
title: 雙倍上色
|
||||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works
|
desc: 您已經解鎖了<strong>上色機</strong>的變體:雙倍上色機。
|
||||||
similar to the regular painter but processes <strong>two shapes at
|
它的運作方式跟上色機類似,但一次能處理<strong>兩個形狀</strong>,而且只消耗一種顏色而不是兩種顏色!
|
||||||
once</strong>, consuming just one color instead of two!
|
|
||||||
reward_storage:
|
reward_storage:
|
||||||
title: 倉庫
|
title: 倉庫
|
||||||
desc: <strong>倉庫</strong> 已解鎖:
|
desc: <strong>倉庫</strong> 已解鎖:
|
||||||
@ -582,14 +600,12 @@ storyRewards:
|
|||||||
你生產過的<strong>所有</strong>圖形都會被用來<strong>升級建築</strong>。"
|
你生產過的<strong>所有</strong>圖形都會被用來<strong>升級建築</strong>。"
|
||||||
no_reward_freeplay:
|
no_reward_freeplay:
|
||||||
title: 下一關
|
title: 下一關
|
||||||
desc: 恭喜你!另外,我們已經計劃在獨立版中加入更多內容!
|
desc: 恭喜你!另外,我們已經計劃在單機版中加入更多內容!
|
||||||
reward_balancer:
|
reward_balancer:
|
||||||
title: Balancer
|
title: 平衡物流
|
||||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
desc: <strong>平衡機</strong>已解鎖。在大型工廠中,平衡機負責<strong>合流或分流</strong>多個傳送帶上的物品。
|
||||||
be used to build bigger factories by <strong>splitting and merging
|
|
||||||
items</strong> onto multiple belts!
|
|
||||||
reward_merger:
|
reward_merger:
|
||||||
title: Compact Merger
|
title: 合流
|
||||||
desc: You have unlocked a <strong>merger</strong> variant of the
|
desc: You have unlocked a <strong>merger</strong> variant of the
|
||||||
<strong>balancer</strong> - It accepts two inputs and merges them
|
<strong>balancer</strong> - It accepts two inputs and merges them
|
||||||
into one belt!
|
into one belt!
|
||||||
@ -638,7 +654,8 @@ storyRewards:
|
|||||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||||
Painter</strong> - Connect the slots you would like to paint with on
|
Painter</strong> - Connect the slots you would like to paint with on
|
||||||
the wires layer!<br><br> To switch to the wires layer, press
|
the wires layer!<br><br> To switch to the wires layer, press
|
||||||
<strong>E</strong>."
|
<strong>E</strong>. <br><br> PS: <strong>Enable hints</strong> in
|
||||||
|
the settings to activate the wires tutorial!"
|
||||||
reward_filter:
|
reward_filter:
|
||||||
title: Item Filter
|
title: Item Filter
|
||||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||||
@ -684,7 +701,7 @@ settings:
|
|||||||
description: 改變語言。所有的翻譯皆由玩家提供,且有可能正在施工中!
|
description: 改變語言。所有的翻譯皆由玩家提供,且有可能正在施工中!
|
||||||
fullscreen:
|
fullscreen:
|
||||||
title: 全螢幕
|
title: 全螢幕
|
||||||
description: 全螢幕以獲得更好的遊戲體驗。僅在獨立版中可用。
|
description: 全螢幕以獲得更好的遊戲體驗。僅在單機版中可用。
|
||||||
soundsMuted:
|
soundsMuted:
|
||||||
title: 關閉音效
|
title: 關閉音效
|
||||||
description: 關閉所有音效。
|
description: 關閉所有音效。
|
||||||
@ -747,11 +764,11 @@ settings:
|
|||||||
title: 依建築類型旋轉
|
title: 依建築類型旋轉
|
||||||
description: 每個建築類型,將會分別記住您最後一次使用的旋轉方向。 如果您常常切換不同類型的建築,這樣可能會更方便。
|
description: 每個建築類型,將會分別記住您最後一次使用的旋轉方向。 如果您常常切換不同類型的建築,這樣可能會更方便。
|
||||||
soundVolume:
|
soundVolume:
|
||||||
title: Sound Volume
|
title: 音效
|
||||||
description: Set the volume for sound effects
|
description: 音效設定
|
||||||
musicVolume:
|
musicVolume:
|
||||||
title: Music Volume
|
title: 音樂
|
||||||
description: Set the volume for music
|
description: 音樂設定
|
||||||
lowQualityMapResources:
|
lowQualityMapResources:
|
||||||
title: Low Quality Map Resources
|
title: Low Quality Map Resources
|
||||||
description: Simplifies the rendering of resources on the map when zoomed in to
|
description: Simplifies the rendering of resources on the map when zoomed in to
|
||||||
@ -792,6 +809,10 @@ settings:
|
|||||||
title: Zoom towards Cursor
|
title: Zoom towards Cursor
|
||||||
description: If activated the zoom will happen in the direction of your mouse
|
description: If activated the zoom will happen in the direction of your mouse
|
||||||
position, otherwise in the middle of the screen.
|
position, otherwise in the middle of the screen.
|
||||||
|
mapResourcesScale:
|
||||||
|
title: Map Resources Size
|
||||||
|
description: Controls the size of the shapes on the map overview (when zooming
|
||||||
|
out).
|
||||||
rangeSliderPercentage: <amount> %
|
rangeSliderPercentage: <amount> %
|
||||||
keybindings:
|
keybindings:
|
||||||
title: 按鍵設置
|
title: 按鍵設置
|
||||||
@ -847,12 +868,12 @@ keybindings:
|
|||||||
switchDirectionLockSide: 規劃器:換邊
|
switchDirectionLockSide: 規劃器:換邊
|
||||||
pipette: Pipette
|
pipette: Pipette
|
||||||
menuClose: Close Menu
|
menuClose: Close Menu
|
||||||
switchLayers: Switch layers
|
switchLayers: 更換層
|
||||||
wire: Energy Wire
|
wire: 電線
|
||||||
balancer: Balancer
|
balancer: 平衡機
|
||||||
storage: Storage
|
storage: Storage
|
||||||
constant_signal: Constant Signal
|
constant_signal: Constant Signal
|
||||||
logic_gate: Logic Gate
|
logic_gate: 邏輯閘
|
||||||
lever: Switch (regular)
|
lever: Switch (regular)
|
||||||
filter: Filter
|
filter: Filter
|
||||||
wire_tunnel: Wire Crossing
|
wire_tunnel: Wire Crossing
|
||||||
@ -860,9 +881,9 @@ keybindings:
|
|||||||
reader: Belt Reader
|
reader: Belt Reader
|
||||||
virtual_processor: Virtual Cutter
|
virtual_processor: Virtual Cutter
|
||||||
transistor: Transistor
|
transistor: Transistor
|
||||||
analyzer: Shape Analyzer
|
analyzer: 形狀分析機
|
||||||
comparator: Compare
|
comparator: 比對機
|
||||||
item_producer: Item Producer (Sandbox)
|
item_producer: 物品生產機(沙盒模式)
|
||||||
copyWireValue: "Wires: Copy value below cursor"
|
copyWireValue: "Wires: Copy value below cursor"
|
||||||
backwardsModifier: "Modifier: Cycle backwards"
|
backwardsModifier: "Modifier: Cycle backwards"
|
||||||
about:
|
about:
|
||||||
@ -873,7 +894,7 @@ about:
|
|||||||
|
|
||||||
如果你想參與開發,請查看<a href="<githublink>" target="_blank">shapez.io on github</a>。 <br><br>
|
如果你想參與開發,請查看<a href="<githublink>" target="_blank">shapez.io on github</a>。 <br><br>
|
||||||
|
|
||||||
這個遊戲的開發少不了熱情的Discord社區。請加入我們的<a href="<discordlink>" target="_blank">Discord 服務器</a>! <br><br>
|
這個遊戲的開發少不了熱情的 Discord 社區。請加入我們的<a href="<discordlink>" target="_blank">Discord 伺服器</a>! <br><br>
|
||||||
|
|
||||||
本遊戲的音樂由<a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a>製作——他是個很棒的伙伴。 <br><br>
|
本遊戲的音樂由<a href="https://soundcloud.com/pettersumelius" target="_blank">Peppsen</a>製作——他是個很棒的伙伴。 <br><br>
|
||||||
|
|
||||||
@ -889,63 +910,59 @@ demo:
|
|||||||
exportingBase: 匯出工廠截圖
|
exportingBase: 匯出工廠截圖
|
||||||
settingNotAvailable: 在演示版中不可用。
|
settingNotAvailable: 在演示版中不可用。
|
||||||
tips:
|
tips:
|
||||||
- The hub accepts input of any kind, not just the current shape!
|
- 基地接受任何輸入,不只是當前要求的圖形!
|
||||||
- Make sure your factories are modular - it will pay out!
|
- 盡量讓工廠模組化,會有回報的!
|
||||||
- Don't build too close to the hub, or it will be a huge chaos!
|
- 建築不要距離基地太近,否則容易混亂!
|
||||||
- If stacking does not work, try switching the inputs.
|
- 如果堆疊不如預期,嘗試將輸入端互換。
|
||||||
- You can toggle the belt planner direction by pressing <b>R</b>.
|
- 輸送帶的方向可以按 <b>R</b> 更換。
|
||||||
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
- 按住 <b>CTRL</b> 來防止輸送帶自動轉向。
|
||||||
- Ratios stay the same, as long as all upgrades are on the same Tier.
|
- 同等級的生產比例會是一樣的。
|
||||||
- Serial execution is more efficient than parallel.
|
- 串聯比並聯更有效率。
|
||||||
- You will unlock more variants of buildings later in the game!
|
- 遊戲後期可以解鎖更多建築變體!
|
||||||
- You can use <b>T</b> to switch between different variants.
|
- 玩家可以按 <b>T</b> 來選擇不同變體。
|
||||||
- Symmetry is key!
|
- 對稱是關鍵!
|
||||||
- You can weave different tiers of tunnels.
|
- 不同等級的隧道可以相互交織。
|
||||||
- Try to build compact factories - it will pay out!
|
- 盡量讓工廠保持緊密,會有回報的!
|
||||||
- The painter has a mirrored variant which you can select with <b>T</b>
|
- 上色機有對稱的變體。按 <b>T</b> 來選擇不同變體。
|
||||||
- Having the right building ratios will maximize efficiency.
|
- 正確的建築比例可以將效率最大化。
|
||||||
- At maximum level, 5 extractors will fill a single belt.
|
- 最高級時,五個開採機可填滿一個輸送帶。
|
||||||
- Don't forget about tunnels!
|
- 別忘記使用隧道!
|
||||||
- You don't need to divide up items evenly for full efficiency.
|
- 最高效率不一定來自均勻切割。
|
||||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
- 按住 <b>SHIFT</b> 輕鬆規劃長距離輸送帶。
|
||||||
long lines of belts easily.
|
- 不論擺放方向,切割機永遠做垂直切割。
|
||||||
- Cutters always cut vertically, regardless of their orientation.
|
- 白 = 紅 + 綠 + 藍。
|
||||||
- To get white mix all three colors.
|
- 倉庫優先從左側輸出。
|
||||||
- The storage buffer priorities the first output.
|
- 花點時間研究可以重複利用的設計,會有回報的!
|
||||||
- Invest time to build repeatable designs - it's worth it!
|
- 按住 <b>CTRL</b> 可以一次放置多個建築。
|
||||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
- 按住 <b>ALT</b> 以反轉輸送帶的放置方向。
|
||||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
- 效率是關鍵!
|
||||||
- Efficiency is key!
|
- 離基地越遠得圖形叢越複雜。
|
||||||
- Shape patches that are further away from the hub are more complex.
|
- 機器的運作速度有上限,多放幾個增加生產效率。
|
||||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
- 用平衡機讓效率最大化。
|
||||||
- Use balancers to maximize your efficiency.
|
- 規劃很重要,盡量別讓輸送帶錯綜複雜。
|
||||||
- Organization is important. Try not to cross conveyors too much.
|
- 預先規劃,不然會混亂不堪!
|
||||||
- Plan in advance, or it will be a huge chaos!
|
- 不要刪除舊的工廠,解鎖更新能會需要它們。
|
||||||
- Don't remove your old factories! You'll need them to unlock upgrades.
|
- 先試著靠自己破第20關再去尋求幫助。
|
||||||
- Try beating level 20 on your own before seeking for help!
|
- 不要讓東西複雜化,保持簡單則行的遠。
|
||||||
- Don't complicate things, try to stay simple and you'll go far.
|
- 遊戲中有時需要重複利用工廠,設計時記得考量重複利用性。
|
||||||
- You may need to re-use factories later in the game. Plan your factories to
|
- 有些圖形地圖上就找的到,不必自行堆疊。
|
||||||
be re-usable.
|
- 地圖永遠部會自然生成完整的風車圖形。
|
||||||
- Sometimes, you can find a needed shape in the map without creating it with
|
- 先上色再切割會比較有效率。
|
||||||
stackers.
|
- 有了模組,空間淪為假議題、凡夫俗子的憂思。
|
||||||
- Full windmills / pinwheels can never spawn naturally.
|
- 創建一個藍圖工廠,這對模組化很有幫助。
|
||||||
- Color your shapes before cutting for maximum efficiency.
|
- 靠近一點看混色機,你會找到解答。
|
||||||
- With modules, space is merely a perception; a concern for mortal men.
|
- 按 <b>CTRL</b> + 點選想選取的區域。
|
||||||
- Make a separate blueprint factory. They're important for modules.
|
- 離基地太近的建築可能在未來會礙事。
|
||||||
- Have a closer look on the color mixer, and your questions will be answered.
|
- 更新目錄的每個圖形旁都有圖釘,點選即可把圖形釘在螢幕上(目標圖形旁)。
|
||||||
- Use <b>CTRL</b> + Click to select an area.
|
- 混合所有基本色就會得到白色!
|
||||||
- Building too close to the hub can get in the way of later projects.
|
- 地圖是無限延展的,別執著,擴張吧!
|
||||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
- Factorio 是我最喜歡的遊戲,非常推薦!
|
||||||
- Mix all primary colors together to make white!
|
- 四分切割機從右上角順時鐘地輸出圖形的四個區塊。
|
||||||
- You have an infinite map, don't cramp your factory, expand!
|
- 你可以從主畫面下載存檔。
|
||||||
- Also try Factorio! It's my favorite game.
|
- 去設定頁看看,有很多有用的按鍵組合!
|
||||||
- The quad cutter cuts clockwise starting from the top right!
|
- 有很多東西都可以設定,有空的話去設定頁看看。
|
||||||
- You can download your savegames in the main menu!
|
- 看不見基地時,基地的標示左側有個小指南針會提醒你它的方位。
|
||||||
- This game has a lot of useful keybindings! Be sure to check out the
|
- 清除輸送帶有個方法:複製它再原地貼上。
|
||||||
settings page.
|
- 按 F4 來顯示螢幕的幀數(FPS)與刷新率(Tick Rate)。
|
||||||
- This game has a lot of settings, be sure to check them out!
|
- 按 F4 兩次來顯示相機和游標的絕對位置。
|
||||||
- The marker to your hub has a small compass to indicate its direction!
|
- 在已標記的圖形上按左鍵去除標記。
|
||||||
- To clear belts, cut the area and then paste it at the same location.
|
|
||||||
- Press F4 to show your FPS and Tick Rate.
|
|
||||||
- Press F4 twice to show the tile of your mouse and camera.
|
|
||||||
- You can click a pinned shape on the left side to unpin it.
|
|
||||||
|
|||||||